From 739edbd1051ea4247b111e7d44f195eb5e6541e8 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 12 Oct 2021 18:25:04 +1000 Subject: [PATCH] Disassemble func00047550 --- src/lib/lib_47550.c | 349 -------------------------------------------- src/lib/lib_47550.s | 348 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 348 insertions(+), 349 deletions(-) delete mode 100644 src/lib/lib_47550.c create mode 100644 src/lib/lib_47550.s diff --git a/src/lib/lib_47550.c b/src/lib/lib_47550.c deleted file mode 100644 index d85ce56d0..000000000 --- a/src/lib/lib_47550.c +++ /dev/null @@ -1,349 +0,0 @@ -#include -#include "constants.h" -#include "bss.h" -#include "data.h" -#include "types.h" - -GLOBAL_ASM( -glabel func00047550 -/* 47550: 27bdff30 */ addiu $sp,$sp,-208 -/* 47554: 03a04025 */ or $t0,$sp,$zero -/* 47558: 250900d0 */ addiu $t1,$t0,0xd0 -.L0004755c: -/* 4755c: ad000000 */ sw $zero,0x0($t0) -/* 47560: ad000004 */ sw $zero,0x4($t0) -/* 47564: ad000008 */ sw $zero,0x8($t0) -/* 47568: ad00000c */ sw $zero,0xc($t0) -/* 4756c: 25080010 */ addiu $t0,$t0,0x10 -/* 47570: 1509fffa */ bne $t0,$t1,.L0004755c -/* 47574: 00000000 */ nop -/* 47578: 00805025 */ or $t2,$a0,$zero -/* 4757c: 03a05825 */ or $t3,$sp,$zero -/* 47580: 256c0040 */ addiu $t4,$t3,0x40 -/* 47584: 01807025 */ or $t6,$t4,$zero -/* 47588: 240d0003 */ addiu $t5,$zero,0x3 -.L0004758c: -/* 4758c: c5440014 */ lwc1 $f4,0x14($t2) -/* 47590: c5460010 */ lwc1 $f6,0x10($t2) -/* 47594: 46062100 */ add.s $f4,$f4,$f6 -/* 47598: c5480010 */ lwc1 $f8,0x10($t2) -/* 4759c: c54a000c */ lwc1 $f10,0xc($t2) -/* 475a0: 460a4200 */ add.s $f8,$f8,$f10 -/* 475a4: e5440014 */ swc1 $f4,0x14($t2) -/* 475a8: e5480010 */ swc1 $f8,0x10($t2) -/* 475ac: c544000c */ lwc1 $f4,0xc($t2) -/* 475b0: c5460008 */ lwc1 $f6,0x8($t2) -/* 475b4: 46062100 */ add.s $f4,$f4,$f6 -/* 475b8: c5480008 */ lwc1 $f8,0x8($t2) -/* 475bc: c54a0004 */ lwc1 $f10,0x4($t2) -/* 475c0: 460a4200 */ add.s $f8,$f8,$f10 -/* 475c4: e544000c */ swc1 $f4,0xc($t2) -/* 475c8: e5480008 */ swc1 $f8,0x8($t2) -/* 475cc: c5440004 */ lwc1 $f4,0x4($t2) -/* 475d0: c5460000 */ lwc1 $f6,0x0($t2) -/* 475d4: 46062100 */ add.s $f4,$f4,$f6 -/* 475d8: c5480014 */ lwc1 $f8,0x14($t2) -/* 475dc: c54a000c */ lwc1 $f10,0xc($t2) -/* 475e0: 460a4200 */ add.s $f8,$f8,$f10 -/* 475e4: e5440004 */ swc1 $f4,0x4($t2) -/* 475e8: e5480014 */ swc1 $f8,0x14($t2) -/* 475ec: c544000c */ lwc1 $f4,0xc($t2) -/* 475f0: c5460004 */ lwc1 $f6,0x4($t2) -/* 475f4: 46062100 */ add.s $f4,$f4,$f6 -/* 475f8: e544000c */ swc1 $f4,0xc($t2) -/* 475fc: c5440008 */ lwc1 $f4,0x8($t2) -/* 47600: 3c017006 */ lui $at,%hi(var70059d9c) -/* 47604: c4269d9c */ lwc1 $f6,%lo(var70059d9c)($at) -/* 47608: 46062182 */ mul.s $f6,$f4,$f6 -/* 4760c: 00000000 */ nop -/* 47610: c5480010 */ lwc1 $f8,0x10($t2) -/* 47614: 3c013f00 */ lui $at,0x3f00 -/* 47618: 44815000 */ mtc1 $at,$f10 -/* 4761c: 00000000 */ nop -/* 47620: c5500000 */ lwc1 $f16,0x0($t2) -/* 47624: 460a4282 */ mul.s $f10,$f8,$f10 -/* 47628: 00000000 */ nop -/* 4762c: 460a8480 */ add.s $f18,$f16,$f10 -/* 47630: 46088001 */ sub.s $f0,$f16,$f8 -/* 47634: e5600004 */ swc1 $f0,0x4($t3) -/* 47638: 46069000 */ add.s $f0,$f18,$f6 -/* 4763c: e5600000 */ swc1 $f0,0x0($t3) -/* 47640: 46069001 */ sub.s $f0,$f18,$f6 -/* 47644: e5600008 */ swc1 $f0,0x8($t3) -/* 47648: c544000c */ lwc1 $f4,0xc($t2) -/* 4764c: 3c017006 */ lui $at,%hi(var70059da0) -/* 47650: c4269da0 */ lwc1 $f6,%lo(var70059da0)($at) -/* 47654: 46062182 */ mul.s $f6,$f4,$f6 -/* 47658: 00000000 */ nop -/* 4765c: c5480014 */ lwc1 $f8,0x14($t2) -/* 47660: 3c013f00 */ lui $at,0x3f00 -/* 47664: 44815000 */ mtc1 $at,$f10 -/* 47668: 00000000 */ nop -/* 4766c: c5500004 */ lwc1 $f16,0x4($t2) -/* 47670: 460a4282 */ mul.s $f10,$f8,$f10 -/* 47674: 00000000 */ nop -/* 47678: 460a8480 */ add.s $f18,$f16,$f10 -/* 4767c: 46088001 */ sub.s $f0,$f16,$f8 -/* 47680: e5600010 */ swc1 $f0,0x10($t3) -/* 47684: 46069000 */ add.s $f0,$f18,$f6 -/* 47688: e5600014 */ swc1 $f0,0x14($t3) -/* 4768c: 46069001 */ sub.s $f0,$f18,$f6 -/* 47690: e560000c */ swc1 $f0,0xc($t3) -/* 47694: c564000c */ lwc1 $f4,0xc($t3) -/* 47698: 3c017006 */ lui $at,%hi(var70059da4) -/* 4769c: c4269da4 */ lwc1 $f6,%lo(var70059da4)($at) -/* 476a0: 46062102 */ mul.s $f4,$f4,$f6 -/* 476a4: 00000000 */ nop -/* 476a8: c5680010 */ lwc1 $f8,0x10($t3) -/* 476ac: 3c017006 */ lui $at,%hi(var70059da8) -/* 476b0: c42a9da8 */ lwc1 $f10,%lo(var70059da8)($at) -/* 476b4: 460a4202 */ mul.s $f8,$f8,$f10 -/* 476b8: 00000000 */ nop -/* 476bc: e564000c */ swc1 $f4,0xc($t3) -/* 476c0: e5680010 */ swc1 $f8,0x10($t3) -/* 476c4: c5640014 */ lwc1 $f4,0x14($t3) -/* 476c8: 3c017006 */ lui $at,%hi(var70059dac) -/* 476cc: c4269dac */ lwc1 $f6,%lo(var70059dac)($at) -/* 476d0: 46062102 */ mul.s $f4,$f4,$f6 -/* 476d4: 00000000 */ nop -/* 476d8: e5640014 */ swc1 $f4,0x14($t3) -/* 476dc: c5640000 */ lwc1 $f4,0x0($t3) -/* 476e0: c5660014 */ lwc1 $f6,0x14($t3) -/* 476e4: 46062200 */ add.s $f8,$f4,$f6 -/* 476e8: e5680000 */ swc1 $f8,0x0($t3) -/* 476ec: 46062281 */ sub.s $f10,$f4,$f6 -/* 476f0: e56a0014 */ swc1 $f10,0x14($t3) -/* 476f4: c5640004 */ lwc1 $f4,0x4($t3) -/* 476f8: c5660010 */ lwc1 $f6,0x10($t3) -/* 476fc: 46062200 */ add.s $f8,$f4,$f6 -/* 47700: e5680004 */ swc1 $f8,0x4($t3) -/* 47704: 46062201 */ sub.s $f8,$f4,$f6 -/* 47708: e5680010 */ swc1 $f8,0x10($t3) -/* 4770c: c5640008 */ lwc1 $f4,0x8($t3) -/* 47710: c566000c */ lwc1 $f6,0xc($t3) -/* 47714: 46062200 */ add.s $f8,$f4,$f6 -/* 47718: e5680008 */ swc1 $f8,0x8($t3) -/* 4771c: 46062201 */ sub.s $f8,$f4,$f6 -/* 47720: e568000c */ swc1 $f8,0xc($t3) -/* 47724: c5640000 */ lwc1 $f4,0x0($t3) -/* 47728: 3c017006 */ lui $at,%hi(var70059db0) -/* 4772c: c4269db0 */ lwc1 $f6,%lo(var70059db0)($at) -/* 47730: 46062102 */ mul.s $f4,$f4,$f6 -/* 47734: 00000000 */ nop -/* 47738: c5680004 */ lwc1 $f8,0x4($t3) -/* 4773c: 3c017006 */ lui $at,%hi(var70059db4) -/* 47740: c42a9db4 */ lwc1 $f10,%lo(var70059db4)($at) -/* 47744: 460a4202 */ mul.s $f8,$f8,$f10 -/* 47748: 00000000 */ nop -/* 4774c: e5640000 */ swc1 $f4,0x0($t3) -/* 47750: e5680004 */ swc1 $f8,0x4($t3) -/* 47754: c5640008 */ lwc1 $f4,0x8($t3) -/* 47758: 3c017006 */ lui $at,%hi(var70059db8) -/* 4775c: c4269db8 */ lwc1 $f6,%lo(var70059db8)($at) -/* 47760: 46062102 */ mul.s $f4,$f4,$f6 -/* 47764: 00000000 */ nop -/* 47768: c568000c */ lwc1 $f8,0xc($t3) -/* 4776c: 3c017006 */ lui $at,%hi(var70059dbc) -/* 47770: c42a9dbc */ lwc1 $f10,%lo(var70059dbc)($at) -/* 47774: 460a4202 */ mul.s $f8,$f8,$f10 -/* 47778: 00000000 */ nop -/* 4777c: e5640008 */ swc1 $f4,0x8($t3) -/* 47780: e568000c */ swc1 $f8,0xc($t3) -/* 47784: c5640010 */ lwc1 $f4,0x10($t3) -/* 47788: 3c017006 */ lui $at,%hi(var70059dc0) -/* 4778c: c4269dc0 */ lwc1 $f6,%lo(var70059dc0)($at) -/* 47790: 46062102 */ mul.s $f4,$f4,$f6 -/* 47794: 00000000 */ nop -/* 47798: c5680014 */ lwc1 $f8,0x14($t3) -/* 4779c: 3c017006 */ lui $at,%hi(var70059dc4) -/* 477a0: c42a9dc4 */ lwc1 $f10,%lo(var70059dc4)($at) -/* 477a4: 460a4202 */ mul.s $f8,$f8,$f10 -/* 477a8: 00000000 */ nop -/* 477ac: e5640010 */ swc1 $f4,0x10($t3) -/* 477b0: e5680014 */ swc1 $f8,0x14($t3) -/* 477b4: c5640000 */ lwc1 $f4,0x0($t3) -/* 477b8: 3c017006 */ lui $at,%hi(var70059dc8) -/* 477bc: c4269dc8 */ lwc1 $f6,%lo(var70059dc8)($at) -/* 477c0: 46062102 */ mul.s $f4,$f4,$f6 -/* 477c4: 00000000 */ nop -/* 477c8: c5680000 */ lwc1 $f8,0x0($t3) -/* 477cc: 3c017006 */ lui $at,%hi(var70059dcc) -/* 477d0: c42a9dcc */ lwc1 $f10,%lo(var70059dcc)($at) -/* 477d4: 460a4202 */ mul.s $f8,$f8,$f10 -/* 477d8: 00000000 */ nop -/* 477dc: e5640020 */ swc1 $f4,0x20($t3) -/* 477e0: e5680024 */ swc1 $f8,0x24($t3) -/* 477e4: c5640004 */ lwc1 $f4,0x4($t3) -/* 477e8: 3c017006 */ lui $at,%hi(var70059dd0) -/* 477ec: c4269dd0 */ lwc1 $f6,%lo(var70059dd0)($at) -/* 477f0: 46062102 */ mul.s $f4,$f4,$f6 -/* 477f4: 00000000 */ nop -/* 477f8: c5680004 */ lwc1 $f8,0x4($t3) -/* 477fc: 3c017006 */ lui $at,%hi(var70059dd4) -/* 47800: c42a9dd4 */ lwc1 $f10,%lo(var70059dd4)($at) -/* 47804: 460a4202 */ mul.s $f8,$f8,$f10 -/* 47808: 00000000 */ nop -/* 4780c: e564001c */ swc1 $f4,0x1c($t3) -/* 47810: e5680028 */ swc1 $f8,0x28($t3) -/* 47814: c5640008 */ lwc1 $f4,0x8($t3) -/* 47818: 3c017006 */ lui $at,%hi(var70059dd8) -/* 4781c: c4269dd8 */ lwc1 $f6,%lo(var70059dd8)($at) -/* 47820: 46062102 */ mul.s $f4,$f4,$f6 -/* 47824: 00000000 */ nop -/* 47828: c5680008 */ lwc1 $f8,0x8($t3) -/* 4782c: 3c017006 */ lui $at,%hi(var70059ddc) -/* 47830: c42a9ddc */ lwc1 $f10,%lo(var70059ddc)($at) -/* 47834: 460a4202 */ mul.s $f8,$f8,$f10 -/* 47838: 00000000 */ nop -/* 4783c: e5640018 */ swc1 $f4,0x18($t3) -/* 47840: e568002c */ swc1 $f8,0x2c($t3) -/* 47844: c564000c */ lwc1 $f4,0xc($t3) -/* 47848: 3c013f80 */ lui $at,0x3f80 -/* 4784c: 44813000 */ mtc1 $at,$f6 -/* 47850: 00000000 */ nop -/* 47854: 46062102 */ mul.s $f4,$f4,$f6 -/* 47858: 00000000 */ nop -/* 4785c: c5680010 */ lwc1 $f8,0x10($t3) -/* 47860: 3c017006 */ lui $at,%hi(var70059de0) -/* 47864: c42a9de0 */ lwc1 $f10,%lo(var70059de0)($at) -/* 47868: 460a4202 */ mul.s $f8,$f8,$f10 -/* 4786c: 00000000 */ nop -/* 47870: e5640000 */ swc1 $f4,0x0($t3) -/* 47874: e5680004 */ swc1 $f8,0x4($t3) -/* 47878: c5640014 */ lwc1 $f4,0x14($t3) -/* 4787c: 3c017006 */ lui $at,%hi(var70059de4) -/* 47880: c4269de4 */ lwc1 $f6,%lo(var70059de4)($at) -/* 47884: 46062102 */ mul.s $f4,$f4,$f6 -/* 47888: 00000000 */ nop -/* 4788c: c5680014 */ lwc1 $f8,0x14($t3) -/* 47890: 3c017006 */ lui $at,%hi(var70059de8) -/* 47894: c42a9de8 */ lwc1 $f10,%lo(var70059de8)($at) -/* 47898: 460a4202 */ mul.s $f8,$f8,$f10 -/* 4789c: 00000000 */ nop -/* 478a0: e5640008 */ swc1 $f4,0x8($t3) -/* 478a4: e568000c */ swc1 $f8,0xc($t3) -/* 478a8: c5640010 */ lwc1 $f4,0x10($t3) -/* 478ac: 3c017006 */ lui $at,%hi(var70059dec) -/* 478b0: c4269dec */ lwc1 $f6,%lo(var70059dec)($at) -/* 478b4: 46062102 */ mul.s $f4,$f4,$f6 -/* 478b8: 00000000 */ nop -/* 478bc: c5680000 */ lwc1 $f8,0x0($t3) -/* 478c0: 3c017006 */ lui $at,%hi(var70059df0) -/* 478c4: c42a9df0 */ lwc1 $f10,%lo(var70059df0)($at) -/* 478c8: 460a4202 */ mul.s $f8,$f8,$f10 -/* 478cc: 00000000 */ nop -/* 478d0: e5640010 */ swc1 $f4,0x10($t3) -/* 478d4: e5680014 */ swc1 $f8,0x14($t3) -/* 478d8: c5640000 */ lwc1 $f4,0x0($t3) -/* 478dc: 3c017006 */ lui $at,%hi(var70059df4) -/* 478e0: c4269df4 */ lwc1 $f6,%lo(var70059df4)($at) -/* 478e4: 46062102 */ mul.s $f4,$f4,$f6 -/* 478e8: 00000000 */ nop -/* 478ec: e5640000 */ swc1 $f4,0x0($t3) -/* 478f0: c5840018 */ lwc1 $f4,0x18($t4) -/* 478f4: c5660000 */ lwc1 $f6,0x0($t3) -/* 478f8: 46062100 */ add.s $f4,$f4,$f6 -/* 478fc: c588001c */ lwc1 $f8,0x1c($t4) -/* 47900: c56a0004 */ lwc1 $f10,0x4($t3) -/* 47904: 460a4200 */ add.s $f8,$f8,$f10 -/* 47908: e5840018 */ swc1 $f4,0x18($t4) -/* 4790c: e588001c */ swc1 $f8,0x1c($t4) -/* 47910: c5840020 */ lwc1 $f4,0x20($t4) -/* 47914: c5660008 */ lwc1 $f6,0x8($t3) -/* 47918: 46062100 */ add.s $f4,$f4,$f6 -/* 4791c: c5880024 */ lwc1 $f8,0x24($t4) -/* 47920: c56a000c */ lwc1 $f10,0xc($t3) -/* 47924: 460a4200 */ add.s $f8,$f8,$f10 -/* 47928: e5840020 */ swc1 $f4,0x20($t4) -/* 4792c: e5880024 */ swc1 $f8,0x24($t4) -/* 47930: c5840028 */ lwc1 $f4,0x28($t4) -/* 47934: c5660010 */ lwc1 $f6,0x10($t3) -/* 47938: 46062100 */ add.s $f4,$f4,$f6 -/* 4793c: c588002c */ lwc1 $f8,0x2c($t4) -/* 47940: c56a0014 */ lwc1 $f10,0x14($t3) -/* 47944: 460a4200 */ add.s $f8,$f8,$f10 -/* 47948: e5840028 */ swc1 $f4,0x28($t4) -/* 4794c: e588002c */ swc1 $f8,0x2c($t4) -/* 47950: c5840030 */ lwc1 $f4,0x30($t4) -/* 47954: c5660018 */ lwc1 $f6,0x18($t3) -/* 47958: 46062100 */ add.s $f4,$f4,$f6 -/* 4795c: c5880034 */ lwc1 $f8,0x34($t4) -/* 47960: c56a001c */ lwc1 $f10,0x1c($t3) -/* 47964: 460a4200 */ add.s $f8,$f8,$f10 -/* 47968: e5840030 */ swc1 $f4,0x30($t4) -/* 4796c: e5880034 */ swc1 $f8,0x34($t4) -/* 47970: c5840038 */ lwc1 $f4,0x38($t4) -/* 47974: c5660020 */ lwc1 $f6,0x20($t3) -/* 47978: 46062100 */ add.s $f4,$f4,$f6 -/* 4797c: c588003c */ lwc1 $f8,0x3c($t4) -/* 47980: c56a0024 */ lwc1 $f10,0x24($t3) -/* 47984: 460a4200 */ add.s $f8,$f8,$f10 -/* 47988: e5840038 */ swc1 $f4,0x38($t4) -/* 4798c: e588003c */ swc1 $f8,0x3c($t4) -/* 47990: c5840040 */ lwc1 $f4,0x40($t4) -/* 47994: c5660028 */ lwc1 $f6,0x28($t3) -/* 47998: 46062100 */ add.s $f4,$f4,$f6 -/* 4799c: c5880044 */ lwc1 $f8,0x44($t4) -/* 479a0: c56a002c */ lwc1 $f10,0x2c($t3) -/* 479a4: 460a4200 */ add.s $f8,$f8,$f10 -/* 479a8: e5840040 */ swc1 $f4,0x40($t4) -/* 479ac: e5880044 */ swc1 $f8,0x44($t4) -/* 479b0: 214a0018 */ addi $t2,$t2,0x18 -/* 479b4: 218c0018 */ addi $t4,$t4,0x18 -/* 479b8: 21adffff */ addi $t5,$t5,-1 -/* 479bc: 15a0fef3 */ bnez $t5,.L0004758c -/* 479c0: 00000000 */ nop -/* 479c4: 00c04025 */ or $t0,$a2,$zero -/* 479c8: 00e04825 */ or $t1,$a3,$zero -/* 479cc: 01c06025 */ or $t4,$t6,$zero -/* 479d0: 30a50001 */ andi $a1,$a1,0x1 -/* 479d4: 10a00013 */ beqz $a1,.L00047a24 -/* 479d8: 00000000 */ nop -/* 479dc: 240d0009 */ addiu $t5,$zero,0x9 -.L000479e0: -/* 479e0: c5840000 */ lwc1 $f4,0x0($t4) -/* 479e4: c5260000 */ lwc1 $f6,0x0($t1) -/* 479e8: 46062180 */ add.s $f6,$f4,$f6 -/* 479ec: c5880004 */ lwc1 $f8,0x4($t4) -/* 479f0: 46004207 */ neg.s $f8,$f8 -/* 479f4: c52a0004 */ lwc1 $f10,0x4($t1) -/* 479f8: 460a4281 */ sub.s $f10,$f8,$f10 -/* 479fc: e5060000 */ swc1 $f6,0x0($t0) -/* 47a00: e50a0004 */ swc1 $f10,0x4($t0) -/* 47a04: 21080008 */ addi $t0,$t0,0x8 -/* 47a08: 21290008 */ addi $t1,$t1,0x8 -/* 47a0c: 218c0008 */ addi $t4,$t4,0x8 -/* 47a10: 21adffff */ addi $t5,$t5,-1 -/* 47a14: 15a0fff2 */ bnez $t5,.L000479e0 -/* 47a18: 00000000 */ nop -/* 47a1c: 1000000c */ b .L00047a50 -/* 47a20: 00000000 */ nop -.L00047a24: -/* 47a24: 240d0012 */ addiu $t5,$zero,0x12 -.L00047a28: -/* 47a28: c5840000 */ lwc1 $f4,0x0($t4) -/* 47a2c: c5260000 */ lwc1 $f6,0x0($t1) -/* 47a30: 46062100 */ add.s $f4,$f4,$f6 -/* 47a34: e5040000 */ swc1 $f4,0x0($t0) -/* 47a38: 21080004 */ addi $t0,$t0,0x4 -/* 47a3c: 21290004 */ addi $t1,$t1,0x4 -/* 47a40: 218c0004 */ addi $t4,$t4,0x4 -/* 47a44: 21adffff */ addi $t5,$t5,-1 -/* 47a48: 15a0fff7 */ bnez $t5,.L00047a28 -/* 47a4c: 00000000 */ nop -.L00047a50: -/* 47a50: 00e04825 */ or $t1,$a3,$zero -/* 47a54: 21cc0048 */ addi $t4,$t6,0x48 -/* 47a58: 240d0012 */ addiu $t5,$zero,0x12 -.L00047a5c: -/* 47a5c: c5840000 */ lwc1 $f4,0x0($t4) -/* 47a60: e5240000 */ swc1 $f4,0x0($t1) -/* 47a64: 21290004 */ addi $t1,$t1,0x4 -/* 47a68: 218c0004 */ addi $t4,$t4,0x4 -/* 47a6c: 21adffff */ addi $t5,$t5,-1 -/* 47a70: 15a0fffa */ bnez $t5,.L00047a5c -/* 47a74: 00000000 */ nop -/* 47a78: 27bd00d0 */ addiu $sp,$sp,0xd0 -/* 47a7c: 03e00008 */ jr $ra -/* 47a80: 00000000 */ nop -); diff --git a/src/lib/lib_47550.s b/src/lib/lib_47550.s new file mode 100644 index 000000000..c3e7b1c74 --- /dev/null +++ b/src/lib/lib_47550.s @@ -0,0 +1,348 @@ +#include "asm_helper.h" +#include "macros.inc" +.set noat +.set noreorder + +.text + +glabel func00047550 + addiu $sp, $sp, -0xd0 + or $t0, $sp, $zero + addiu $t1, $t0, 0xd0 +.L0004755c: + sw $zero, 0x0($t0) + sw $zero, 0x4($t0) + sw $zero, 0x8($t0) + sw $zero, 0xc($t0) + addiu $t0, $t0, 0x10 + bne $t0, $t1, .L0004755c + nop + or $t2, $a0, $zero + or $t3, $sp, $zero + addiu $t4, $t3, 0x40 + or $t6, $t4, $zero + addiu $t5, $zero, 0x3 +.L0004758c: + lwc1 $f4, 0x14($t2) + lwc1 $f6, 0x10($t2) + add.s $f4, $f4, $f6 + lwc1 $f8, 0x10($t2) + lwc1 $f10, 0xc($t2) + add.s $f8, $f8, $f10 + swc1 $f4, 0x14($t2) + swc1 $f8, 0x10($t2) + lwc1 $f4, 0xc($t2) + lwc1 $f6, 0x8($t2) + add.s $f4, $f4, $f6 + lwc1 $f8, 0x8($t2) + lwc1 $f10, 0x4($t2) + add.s $f8, $f8, $f10 + swc1 $f4, 0xc($t2) + swc1 $f8, 0x8($t2) + lwc1 $f4, 0x4($t2) + lwc1 $f6, 0x0($t2) + add.s $f4, $f4, $f6 + lwc1 $f8, 0x14($t2) + lwc1 $f10, 0xc($t2) + add.s $f8, $f8, $f10 + swc1 $f4, 0x4($t2) + swc1 $f8, 0x14($t2) + lwc1 $f4, 0xc($t2) + lwc1 $f6, 0x4($t2) + add.s $f4, $f4, $f6 + swc1 $f4, 0xc($t2) + lwc1 $f4, 0x8($t2) + lui $at, %hi(var70059d9c) + lwc1 $f6, %lo(var70059d9c)($at) + mul.s $f6, $f4, $f6 + nop + lwc1 $f8, 0x10($t2) + lui $at, 0x3f00 + mtc1 $at, $f10 + nop + lwc1 $f16, 0x0($t2) + mul.s $f10, $f8, $f10 + nop + add.s $f18, $f16, $f10 + sub.s $f0, $f16, $f8 + swc1 $f0, 0x4($t3) + add.s $f0, $f18, $f6 + swc1 $f0, 0x0($t3) + sub.s $f0, $f18, $f6 + swc1 $f0, 0x8($t3) + lwc1 $f4, 0xc($t2) + lui $at, %hi(var70059da0) + lwc1 $f6, %lo(var70059da0)($at) + mul.s $f6, $f4, $f6 + nop + lwc1 $f8, 0x14($t2) + lui $at, 0x3f00 + mtc1 $at, $f10 + nop + lwc1 $f16, 0x4($t2) + mul.s $f10, $f8, $f10 + nop + add.s $f18, $f16, $f10 + sub.s $f0, $f16, $f8 + swc1 $f0, 0x10($t3) + add.s $f0, $f18, $f6 + swc1 $f0, 0x14($t3) + sub.s $f0, $f18, $f6 + swc1 $f0, 0xc($t3) + lwc1 $f4, 0xc($t3) + lui $at, %hi(var70059da4) + lwc1 $f6, %lo(var70059da4)($at) + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0x10($t3) + lui $at, %hi(var70059da8) + lwc1 $f10, %lo(var70059da8)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0xc($t3) + swc1 $f8, 0x10($t3) + lwc1 $f4, 0x14($t3) + lui $at, %hi(var70059dac) + lwc1 $f6, %lo(var70059dac)($at) + mul.s $f4, $f4, $f6 + nop + swc1 $f4, 0x14($t3) + lwc1 $f4, 0x0($t3) + lwc1 $f6, 0x14($t3) + add.s $f8, $f4, $f6 + swc1 $f8, 0x0($t3) + sub.s $f10, $f4, $f6 + swc1 $f10, 0x14($t3) + lwc1 $f4, 0x4($t3) + lwc1 $f6, 0x10($t3) + add.s $f8, $f4, $f6 + swc1 $f8, 0x4($t3) + sub.s $f8, $f4, $f6 + swc1 $f8, 0x10($t3) + lwc1 $f4, 0x8($t3) + lwc1 $f6, 0xc($t3) + add.s $f8, $f4, $f6 + swc1 $f8, 0x8($t3) + sub.s $f8, $f4, $f6 + swc1 $f8, 0xc($t3) + lwc1 $f4, 0x0($t3) + lui $at, %hi(var70059db0) + lwc1 $f6, %lo(var70059db0)($at) + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0x4($t3) + lui $at, %hi(var70059db4) + lwc1 $f10, %lo(var70059db4)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0x0($t3) + swc1 $f8, 0x4($t3) + lwc1 $f4, 0x8($t3) + lui $at, %hi(var70059db8) + lwc1 $f6, %lo(var70059db8)($at) + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0xc($t3) + lui $at, %hi(var70059dbc) + lwc1 $f10, %lo(var70059dbc)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0x8($t3) + swc1 $f8, 0xc($t3) + lwc1 $f4, 0x10($t3) + lui $at, %hi(var70059dc0) + lwc1 $f6, %lo(var70059dc0)($at) + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0x14($t3) + lui $at, %hi(var70059dc4) + lwc1 $f10, %lo(var70059dc4)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0x10($t3) + swc1 $f8, 0x14($t3) + lwc1 $f4, 0x0($t3) + lui $at, %hi(var70059dc8) + lwc1 $f6, %lo(var70059dc8)($at) + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0x0($t3) + lui $at, %hi(var70059dcc) + lwc1 $f10, %lo(var70059dcc)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0x20($t3) + swc1 $f8, 0x24($t3) + lwc1 $f4, 0x4($t3) + lui $at, %hi(var70059dd0) + lwc1 $f6, %lo(var70059dd0)($at) + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0x4($t3) + lui $at, %hi(var70059dd4) + lwc1 $f10, %lo(var70059dd4)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0x1c($t3) + swc1 $f8, 0x28($t3) + lwc1 $f4, 0x8($t3) + lui $at, %hi(var70059dd8) + lwc1 $f6, %lo(var70059dd8)($at) + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0x8($t3) + lui $at, %hi(var70059ddc) + lwc1 $f10, %lo(var70059ddc)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0x18($t3) + swc1 $f8, 0x2c($t3) + lwc1 $f4, 0xc($t3) + lui $at, 0x3f80 + mtc1 $at, $f6 + nop + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0x10($t3) + lui $at, %hi(var70059de0) + lwc1 $f10, %lo(var70059de0)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0x0($t3) + swc1 $f8, 0x4($t3) + lwc1 $f4, 0x14($t3) + lui $at, %hi(var70059de4) + lwc1 $f6, %lo(var70059de4)($at) + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0x14($t3) + lui $at, %hi(var70059de8) + lwc1 $f10, %lo(var70059de8)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0x8($t3) + swc1 $f8, 0xc($t3) + lwc1 $f4, 0x10($t3) + lui $at, %hi(var70059dec) + lwc1 $f6, %lo(var70059dec)($at) + mul.s $f4, $f4, $f6 + nop + lwc1 $f8, 0x0($t3) + lui $at, %hi(var70059df0) + lwc1 $f10, %lo(var70059df0)($at) + mul.s $f8, $f8, $f10 + nop + swc1 $f4, 0x10($t3) + swc1 $f8, 0x14($t3) + lwc1 $f4, 0x0($t3) + lui $at, %hi(var70059df4) + lwc1 $f6, %lo(var70059df4)($at) + mul.s $f4, $f4, $f6 + nop + swc1 $f4, 0x0($t3) + lwc1 $f4, 0x18($t4) + lwc1 $f6, 0x0($t3) + add.s $f4, $f4, $f6 + lwc1 $f8, 0x1c($t4) + lwc1 $f10, 0x4($t3) + add.s $f8, $f8, $f10 + swc1 $f4, 0x18($t4) + swc1 $f8, 0x1c($t4) + lwc1 $f4, 0x20($t4) + lwc1 $f6, 0x8($t3) + add.s $f4, $f4, $f6 + lwc1 $f8, 0x24($t4) + lwc1 $f10, 0xc($t3) + add.s $f8, $f8, $f10 + swc1 $f4, 0x20($t4) + swc1 $f8, 0x24($t4) + lwc1 $f4, 0x28($t4) + lwc1 $f6, 0x10($t3) + add.s $f4, $f4, $f6 + lwc1 $f8, 0x2c($t4) + lwc1 $f10, 0x14($t3) + add.s $f8, $f8, $f10 + swc1 $f4, 0x28($t4) + swc1 $f8, 0x2c($t4) + lwc1 $f4, 0x30($t4) + lwc1 $f6, 0x18($t3) + add.s $f4, $f4, $f6 + lwc1 $f8, 0x34($t4) + lwc1 $f10, 0x1c($t3) + add.s $f8, $f8, $f10 + swc1 $f4, 0x30($t4) + swc1 $f8, 0x34($t4) + lwc1 $f4, 0x38($t4) + lwc1 $f6, 0x20($t3) + add.s $f4, $f4, $f6 + lwc1 $f8, 0x3c($t4) + lwc1 $f10, 0x24($t3) + add.s $f8, $f8, $f10 + swc1 $f4, 0x38($t4) + swc1 $f8, 0x3c($t4) + lwc1 $f4, 0x40($t4) + lwc1 $f6, 0x28($t3) + add.s $f4, $f4, $f6 + lwc1 $f8, 0x44($t4) + lwc1 $f10, 0x2c($t3) + add.s $f8, $f8, $f10 + swc1 $f4, 0x40($t4) + swc1 $f8, 0x44($t4) + addi $t2, $t2, 0x18 + addi $t4, $t4, 0x18 + addi $t5, $t5, -1 + bnez $t5, .L0004758c + nop + or $t0, $a2, $zero + or $t1, $a3, $zero + or $t4, $t6, $zero + andi $a1, $a1, 0x1 + beqz $a1, .L00047a24 + nop + addiu $t5, $zero, 0x9 +.L000479e0: + lwc1 $f4, 0x0($t4) + lwc1 $f6, 0x0($t1) + add.s $f6, $f4, $f6 + lwc1 $f8, 0x4($t4) + neg.s $f8, $f8 + lwc1 $f10, 0x4($t1) + sub.s $f10, $f8, $f10 + swc1 $f6, 0x0($t0) + swc1 $f10, 0x4($t0) + addi $t0, $t0, 0x8 + addi $t1, $t1, 0x8 + addi $t4, $t4, 0x8 + addi $t5, $t5, -1 + bnez $t5, .L000479e0 + nop + b .L00047a50 + nop +.L00047a24: + addiu $t5, $zero, 0x12 +.L00047a28: + lwc1 $f4, 0x0($t4) + lwc1 $f6, 0x0($t1) + add.s $f4, $f4, $f6 + swc1 $f4, 0x0($t0) + addi $t0, $t0, 0x4 + addi $t1, $t1, 0x4 + addi $t4, $t4, 0x4 + addi $t5, $t5, -1 + bnez $t5, .L00047a28 + nop +.L00047a50: + or $t1, $a3, $zero + addi $t4, $t6, 0x48 + addiu $t5, $zero, 0x12 +.L00047a5c: + lwc1 $f4, 0x0($t4) + swc1 $f4, 0x0($t1) + addi $t1, $t1, 0x4 + addi $t4, $t4, 0x4 + addi $t5, $t5, -1 + bnez $t5, .L00047a5c + nop + addiu $sp, $sp, 0xd0 + jr $ra + nop