split unknown_0255E0

This commit is contained in:
David Benepe
2020-06-30 19:25:25 -05:00
parent 0ea4c6b450
commit 233e9f71a1
75 changed files with 14416 additions and 14355 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,233 @@
glabel func_800249F0
/* 0255F0 800249F0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0255F4 800249F4 AFBF0024 */ sw $ra, 0x24($sp)
/* 0255F8 800249F8 AFB2001C */ sw $s2, 0x1c($sp)
/* 0255FC 800249FC AFB10018 */ sw $s1, 0x18($sp)
/* 025600 80024A00 00808825 */ move $s1, $a0
/* 025604 80024A04 00A09025 */ move $s2, $a1
/* 025608 80024A08 AFB30020 */ sw $s3, 0x20($sp)
/* 02560C 80024A0C AFB00014 */ sw $s0, 0x14($sp)
/* 025610 80024A10 AFA60030 */ sw $a2, 0x30($sp)
/* 025614 80024A14 0C01AF6C */ jal func_8006BDB0
/* 025618 80024A18 AFA70034 */ sw $a3, 0x34($sp)
/* 02561C 80024A1C 3C048012 */ lui $a0, %hi(D_8011B0F8) # $a0, 0x8012
/* 025620 80024A20 3C05800E */ lui $a1, %hi(D_800DC91C) # $a1, 0x800e
/* 025624 80024A24 24A5C91C */ addiu $a1, %lo(D_800DC91C) # addiu $a1, $a1, -0x36e4
/* 025628 80024A28 2484B0F8 */ addiu $a0, %lo(D_8011B0F8) # addiu $a0, $a0, -0x4f08
/* 02562C 80024A2C ACA20000 */ sw $v0, ($a1)
/* 025630 80024A30 AC800000 */ sw $zero, ($a0)
/* 025634 80024A34 3C018012 */ lui $at, %hi(D_8011B100) # $at, 0x8012
/* 025638 80024A38 AC20B100 */ sw $zero, %lo(D_8011B100)($at)
/* 02563C 80024A3C 3C018012 */ lui $at, %hi(D_8011B104) # $at, 0x8012
/* 025640 80024A40 AC20B104 */ sw $zero, %lo(D_8011B104)($at)
/* 025644 80024A44 3C018012 */ lui $at, %hi(D_8011B108) # $at, 0x8012
/* 025648 80024A48 AC20B108 */ sw $zero, %lo(D_8011B108)($at)
/* 02564C 80024A4C 3C018012 */ lui $at, %hi(D_8011B10C) # $at, 0x8012
/* 025650 80024A50 AC20B10C */ sw $zero, %lo(D_8011B10C)($at)
/* 025654 80024A54 8CAE0000 */ lw $t6, ($a1)
/* 025658 80024A58 24010006 */ li $at, 6
/* 02565C 80024A5C 81C3004C */ lb $v1, 0x4c($t6)
/* 025660 80024A60 00000000 */ nop
/* 025664 80024A64 10610002 */ beq $v1, $at, .L80024A70
/* 025668 80024A68 24010007 */ li $at, 7
/* 02566C 80024A6C 14610002 */ bne $v1, $at, .L80024A78
.L80024A70:
/* 025670 80024A70 240F0001 */ li $t7, 1
/* 025674 80024A74 AC8F0000 */ sw $t7, ($a0)
.L80024A78:
/* 025678 80024A78 0C00B031 */ jal func_8002C0C4
/* 02567C 80024A7C 02202025 */ move $a0, $s1
/* 025680 80024A80 8FB80030 */ lw $t8, 0x30($sp)
/* 025684 80024A84 3C108012 */ lui $s0, %hi(D_8011D384) # $s0, 0x8012
/* 025688 80024A88 2610D384 */ addiu $s0, %lo(D_8011D384) # addiu $s0, $s0, -0x2c7c
/* 02568C 80024A8C 2B010002 */ slti $at, $t8, 2
/* 025690 80024A90 1020001E */ beqz $at, .L80024B0C
/* 025694 80024A94 AE000000 */ sw $zero, ($s0)
/* 025698 80024A98 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e
/* 02569C 80024A9C 8C42C918 */ lw $v0, %lo(D_800DC918)($v0)
/* 0256A0 80024AA0 00003025 */ move $a2, $zero
/* 0256A4 80024AA4 8444001A */ lh $a0, 0x1a($v0)
/* 0256A8 80024AA8 00001825 */ move $v1, $zero
/* 0256AC 80024AAC 18800017 */ blez $a0, .L80024B0C
/* 0256B0 80024AB0 24050001 */ li $a1, 1
.L80024AB4:
/* 0256B4 80024AB4 8C590004 */ lw $t9, 4($v0)
/* 0256B8 80024AB8 24C60001 */ addiu $a2, $a2, 1
/* 0256BC 80024ABC 03234021 */ addu $t0, $t9, $v1
/* 0256C0 80024AC0 8109002B */ lb $t1, 0x2b($t0)
/* 0256C4 80024AC4 00000000 */ nop
/* 0256C8 80024AC8 1120000E */ beqz $t1, .L80024B04
/* 0256CC 80024ACC 00C4082A */ slt $at, $a2, $a0
/* 0256D0 80024AD0 8E0A0000 */ lw $t2, ($s0)
/* 0256D4 80024AD4 00000000 */ nop
/* 0256D8 80024AD8 254B0001 */ addiu $t3, $t2, 1
/* 0256DC 80024ADC AE0B0000 */ sw $t3, ($s0)
/* 0256E0 80024AE0 8C4C0004 */ lw $t4, 4($v0)
/* 0256E4 80024AE4 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e
/* 0256E8 80024AE8 01836821 */ addu $t5, $t4, $v1
/* 0256EC 80024AEC A1A5002B */ sb $a1, 0x2b($t5)
/* 0256F0 80024AF0 8C42C918 */ lw $v0, %lo(D_800DC918)($v0)
/* 0256F4 80024AF4 00000000 */ nop
/* 0256F8 80024AF8 8444001A */ lh $a0, 0x1a($v0)
/* 0256FC 80024AFC 00000000 */ nop
/* 025700 80024B00 00C4082A */ slt $at, $a2, $a0
.L80024B04:
/* 025704 80024B04 1420FFEB */ bnez $at, .L80024AB4
/* 025708 80024B08 24630044 */ addiu $v1, $v1, 0x44
.L80024B0C:
/* 02570C 80024B0C 0C027B20 */ jal func_8009EC80
/* 025710 80024B10 00000000 */ nop
/* 025714 80024B14 1040000B */ beqz $v0, .L80024B44
/* 025718 80024B18 3C0E800E */ lui $t6, %hi(D_800DC91C) # $t6, 0x800e
/* 02571C 80024B1C 8DCEC91C */ lw $t6, %lo(D_800DC91C)($t6)
/* 025720 80024B20 00000000 */ nop
/* 025724 80024B24 81C3004C */ lb $v1, 0x4c($t6)
/* 025728 80024B28 00000000 */ nop
/* 02572C 80024B2C 10600003 */ beqz $v1, .L80024B3C
/* 025730 80024B30 306F0040 */ andi $t7, $v1, 0x40
/* 025734 80024B34 11E00004 */ beqz $t7, .L80024B48
/* 025738 80024B38 8FA60030 */ lw $a2, 0x30($sp)
.L80024B3C:
/* 02573C 80024B3C 10000004 */ b .L80024B50
/* 025740 80024B40 24060002 */ li $a2, 2
.L80024B44:
/* 025744 80024B44 8FA60030 */ lw $a2, 0x30($sp)
.L80024B48:
/* 025748 80024B48 00000000 */ nop
/* 02574C 80024B4C 24C60001 */ addiu $a2, $a2, 1
.L80024B50:
/* 025750 80024B50 8E180000 */ lw $t8, ($s0)
/* 025754 80024B54 00000000 */ nop
/* 025758 80024B58 13000006 */ beqz $t8, .L80024B74
/* 02575C 80024B5C 3C04800E */ lui $a0, %hi(D_800DC918) # $a0, 0x800e
/* 025760 80024B60 3C05800E */ lui $a1, %hi(D_800DC91C) # $a1, 0x800e
/* 025764 80024B64 8CA5C91C */ lw $a1, %lo(D_800DC91C)($a1)
/* 025768 80024B68 8C84C918 */ lw $a0, %lo(D_800DC918)($a0)
/* 02576C 80024B6C 0C02E0AD */ jal func_800B82B4
/* 025770 80024B70 00000000 */ nop
.L80024B74:
/* 025774 80024B74 8FA40030 */ lw $a0, 0x30($sp)
/* 025778 80024B78 0C01994B */ jal func_8006652C
/* 02577C 80024B7C 00000000 */ nop
/* 025780 80024B80 0C009FF1 */ jal func_80027FC4
/* 025784 80024B84 02402025 */ move $a0, $s2
/* 025788 80024B88 3C018012 */ lui $at, %hi(D_8011B110) # $at, 0x8012
/* 02578C 80024B8C AC20B110 */ sw $zero, %lo(D_8011B110)($at)
/* 025790 80024B90 3C018012 */ lui $at, %hi(D_8011B114) # $at, 0x8012
/* 025794 80024B94 3C190001 */ lui $t9, 1
/* 025798 80024B98 0C0044E4 */ jal func_80011390
/* 02579C 80024B9C AC39B114 */ sw $t9, %lo(D_8011B114)($at)
/* 0257A0 80024BA0 8FA40040 */ lw $a0, 0x40($sp)
/* 0257A4 80024BA4 0C00323E */ jal func_8000C8F8
/* 0257A8 80024BA8 00002825 */ move $a1, $zero
/* 0257AC 80024BAC 8FA4003C */ lw $a0, 0x3c($sp)
/* 0257B0 80024BB0 0C00323E */ jal func_8000C8F8
/* 0257B4 80024BB4 24050001 */ li $a1, 1
/* 0257B8 80024BB8 8FB00038 */ lw $s0, 0x38($sp)
/* 0257BC 80024BBC 8FA80030 */ lw $t0, 0x30($sp)
/* 0257C0 80024BC0 3C138012 */ lui $s3, %hi(D_8011D37C) # $s3, 0x8012
/* 0257C4 80024BC4 2673D37C */ addiu $s3, %lo(D_8011D37C) # addiu $s3, $s3, -0x2c84
/* 0257C8 80024BC8 8FA40034 */ lw $a0, 0x34($sp)
/* 0257CC 80024BCC 8FA60030 */ lw $a2, 0x30($sp)
/* 0257D0 80024BD0 02002825 */ move $a1, $s0
/* 0257D4 80024BD4 0C00331F */ jal func_8000CC7C
/* 0257D8 80024BD8 AE680000 */ sw $t0, ($s3)
/* 0257DC 80024BDC 24040048 */ li $a0, 72
/* 0257E0 80024BE0 0C002C08 */ jal func_8000B020
/* 0257E4 80024BE4 24050040 */ li $a1, 64
/* 0257E8 80024BE8 16200008 */ bnez $s1, .L80024C0C
/* 0257EC 80024BEC 3C04800E */ lui $a0, 0x800e
/* 0257F0 80024BF0 16000006 */ bnez $s0, .L80024C0C
/* 0257F4 80024BF4 00000000 */ nop
/* 0257F8 80024BF8 3C04800E */ lui $a0, %hi(D_800DC87C) # $a0, 0x800e
/* 0257FC 80024BFC 0C030076 */ jal func_800C01D8
/* 025800 80024C00 2484C87C */ addiu $a0, %lo(D_800DC87C) # addiu $a0, $a0, -0x3784
/* 025804 80024C04 10000004 */ b .L80024C18
/* 025808 80024C08 8E640000 */ lw $a0, ($s3)
.L80024C0C:
/* 02580C 80024C0C 0C030076 */ jal func_800C01D8
/* 025810 80024C10 2484C874 */ addiu $a0, $a0, -0x378c
/* 025814 80024C14 8E640000 */ lw $a0, ($s3)
.L80024C18:
/* 025818 80024C18 0C01994B */ jal func_8006652C
/* 02581C 80024C1C 00000000 */ nop
/* 025820 80024C20 8E690000 */ lw $t1, ($s3)
/* 025824 80024C24 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012
/* 025828 80024C28 3C13FFFF */ lui $s3, (0xFFFF00FF >> 16) # lui $s3, 0xffff
/* 02582C 80024C2C 3C118012 */ lui $s1, %hi(D_8011D350) # $s1, 0x8012
/* 025830 80024C30 3C128012 */ lui $s2, %hi(D_8011D320) # $s2, 0x8012
/* 025834 80024C34 3C108012 */ lui $s0, %hi(D_8011D338) # $s0, 0x8012
/* 025838 80024C38 AC20B0FC */ sw $zero, %lo(D_8011B0FC)($at)
/* 02583C 80024C3C 2610D338 */ addiu $s0, %lo(D_8011D338) # addiu $s0, $s0, -0x2cc8
/* 025840 80024C40 2652D320 */ addiu $s2, %lo(D_8011D320) # addiu $s2, $s2, -0x2ce0
/* 025844 80024C44 2631D350 */ addiu $s1, %lo(D_8011D350) # addiu $s1, $s1, -0x2cb0
/* 025848 80024C48 367300FF */ ori $s3, (0xFFFF00FF & 0xFFFF) # ori $s3, $s3, 0xff
/* 02584C 80024C4C AFA90030 */ sw $t1, 0x30($sp)
.L80024C50:
/* 025850 80024C50 24040C80 */ li $a0, 3200
/* 025854 80024C54 0C01C327 */ jal func_80070C9C
/* 025858 80024C58 02602825 */ move $a1, $s3
/* 02585C 80024C5C AE220000 */ sw $v0, ($s1)
/* 025860 80024C60 24043200 */ li $a0, 12800
/* 025864 80024C64 0C01C327 */ jal func_80070C9C
/* 025868 80024C68 02602825 */ move $a1, $s3
/* 02586C 80024C6C AE420000 */ sw $v0, ($s2)
/* 025870 80024C70 24044E20 */ li $a0, 20000
/* 025874 80024C74 0C01C327 */ jal func_80070C9C
/* 025878 80024C78 02602825 */ move $a1, $s3
/* 02587C 80024C7C 3C0A8012 */ lui $t2, %hi(D_8011D348) # $t2, 0x8012
/* 025880 80024C80 254AD348 */ addiu $t2, %lo(D_8011D348) # addiu $t2, $t2, -0x2cb8
/* 025884 80024C84 26100004 */ addiu $s0, $s0, 4
/* 025888 80024C88 26310004 */ addiu $s1, $s1, 4
/* 02588C 80024C8C 26520004 */ addiu $s2, $s2, 4
/* 025890 80024C90 160AFFEF */ bne $s0, $t2, .L80024C50
/* 025894 80024C94 AE02FFFC */ sw $v0, -4($s0)
/* 025898 80024C98 3C108012 */ lui $s0, %hi(D_8011B0C8) # $s0, 0x8012
/* 02589C 80024C9C 2610B0C8 */ addiu $s0, %lo(D_8011B0C8) # addiu $s0, $s0, -0x4f38
/* 0258A0 80024CA0 AE000000 */ sw $zero, ($s0)
/* 0258A4 80024CA4 24040001 */ li $a0, 1
/* 0258A8 80024CA8 24050001 */ li $a1, 1
/* 0258AC 80024CAC 0C00B637 */ jal func_8002D8DC
/* 0258B0 80024CB0 00003025 */ move $a2, $zero
/* 0258B4 80024CB4 24040002 */ li $a0, 2
/* 0258B8 80024CB8 24050002 */ li $a1, 2
/* 0258BC 80024CBC 0C00B637 */ jal func_8002D8DC
/* 0258C0 80024CC0 00003025 */ move $a2, $zero
/* 0258C4 80024CC4 240B0001 */ li $t3, 1
/* 0258C8 80024CC8 AE0B0000 */ sw $t3, ($s0)
/* 0258CC 80024CCC 24040001 */ li $a0, 1
/* 0258D0 80024CD0 24050001 */ li $a1, 1
/* 0258D4 80024CD4 0C00B637 */ jal func_8002D8DC
/* 0258D8 80024CD8 00003025 */ move $a2, $zero
/* 0258DC 80024CDC 24040002 */ li $a0, 2
/* 0258E0 80024CE0 24050002 */ li $a1, 2
/* 0258E4 80024CE4 0C00B637 */ jal func_8002D8DC
/* 0258E8 80024CE8 00003025 */ move $a2, $zero
/* 0258EC 80024CEC AE000000 */ sw $zero, ($s0)
/* 0258F0 80024CF0 3C02800E */ lui $v0, %hi(D_800DC91C) # $v0, 0x800e
/* 0258F4 80024CF4 8C42C91C */ lw $v0, %lo(D_800DC91C)($v0)
/* 0258F8 80024CF8 3C018012 */ lui $at, %hi(D_8011B0E1) # $at, 0x8012
/* 0258FC 80024CFC 904C00B7 */ lbu $t4, 0xb7($v0)
/* 025900 80024D00 00000000 */ nop
/* 025904 80024D04 1180000D */ beqz $t4, .L80024D3C
/* 025908 80024D08 8FBF0024 */ lw $ra, 0x24($sp)
/* 02590C 80024D0C 904D00B4 */ lbu $t5, 0xb4($v0)
/* 025910 80024D10 8FA40030 */ lw $a0, 0x30($sp)
/* 025914 80024D14 A02DB0E1 */ sb $t5, %lo(D_8011B0E1)($at)
/* 025918 80024D18 904E00B5 */ lbu $t6, 0xb5($v0)
/* 02591C 80024D1C 3C018012 */ lui $at, %hi(D_8011B0E2) # $at, 0x8012
/* 025920 80024D20 A02EB0E2 */ sb $t6, %lo(D_8011B0E2)($at)
/* 025924 80024D24 904F00B6 */ lbu $t7, 0xb6($v0)
/* 025928 80024D28 3C018012 */ lui $at, %hi(D_8011B0E3) # $at, 0x8012
/* 02592C 80024D2C 24840001 */ addiu $a0, $a0, 1
/* 025930 80024D30 0C009544 */ jal func_80025510
/* 025934 80024D34 A02FB0E3 */ sb $t7, %lo(D_8011B0E3)($at)
/* 025938 80024D38 8FBF0024 */ lw $ra, 0x24($sp)
.L80024D3C:
/* 02593C 80024D3C 8FB00014 */ lw $s0, 0x14($sp)
/* 025940 80024D40 8FB10018 */ lw $s1, 0x18($sp)
/* 025944 80024D44 8FB2001C */ lw $s2, 0x1c($sp)
/* 025948 80024D48 8FB30020 */ lw $s3, 0x20($sp)
/* 02594C 80024D4C 03E00008 */ jr $ra
/* 025950 80024D50 27BD0028 */ addiu $sp, $sp, 0x28
@@ -0,0 +1,183 @@
glabel func_80025510
/* 026110 80025510 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 026114 80025514 3C068012 */ lui $a2, %hi(D_8011D4BC) # $a2, 0x8012
/* 026118 80025518 3C098012 */ lui $t1, %hi(D_8011D4BA) # $t1, 0x8012
/* 02611C 8002551C 2529D4BA */ addiu $t1, %lo(D_8011D4BA) # addiu $t1, $t1, -0x2b46
/* 026120 80025520 24C6D4BC */ addiu $a2, %lo(D_8011D4BC) # addiu $a2, $a2, -0x2b44
/* 026124 80025524 AFB00018 */ sw $s0, 0x18($sp)
/* 026128 80025528 240E00AF */ li $t6, 175
/* 02612C 8002552C 240F002D */ li $t7, 45
/* 026130 80025530 28810002 */ slti $at, $a0, 2
/* 026134 80025534 00808025 */ move $s0, $a0
/* 026138 80025538 AFBF001C */ sw $ra, 0x1c($sp)
/* 02613C 8002553C A52E0000 */ sh $t6, ($t1)
/* 026140 80025540 14200005 */ bnez $at, .L80025558
/* 026144 80025544 A4CF0000 */ sh $t7, ($a2)
/* 026148 80025548 84D80000 */ lh $t8, ($a2)
/* 02614C 8002554C 00000000 */ nop
/* 026150 80025550 0018C843 */ sra $t9, $t8, 1
/* 026154 80025554 A4D90000 */ sh $t9, ($a2)
.L80025558:
/* 026158 80025558 84C80000 */ lh $t0, ($a2)
/* 02615C 8002555C 85230000 */ lh $v1, ($t1)
/* 026160 80025560 00083880 */ sll $a3, $t0, 2
/* 026164 80025564 00076880 */ sll $t5, $a3, 2
/* 026168 80025568 01A76821 */ addu $t5, $t5, $a3
/* 02616C 8002556C 000D6840 */ sll $t5, $t5, 1
/* 026170 80025570 00087140 */ sll $t6, $t0, 5
/* 026174 80025574 000350C0 */ sll $t2, $v1, 3
/* 026178 80025578 254B0030 */ addiu $t3, $t2, 0x30
/* 02617C 8002557C 25A700C8 */ addiu $a3, $t5, 0xc8
/* 026180 80025580 25C800A0 */ addiu $t0, $t6, 0xa0
/* 026184 80025584 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff
/* 026188 80025588 246C0005 */ addiu $t4, $v1, 5
/* 02618C 8002558C AFAB0030 */ sw $t3, 0x30($sp)
/* 026190 80025590 AFAC002C */ sw $t4, 0x2c($sp)
/* 026194 80025594 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff
/* 026198 80025598 AFA80024 */ sw $t0, 0x24($sp)
/* 02619C 8002559C AFA70028 */ sw $a3, 0x28($sp)
/* 0261A0 800255A0 0C01C327 */ jal func_80070C9C
/* 0261A4 800255A4 00102100 */ sll $a0, $s0, 4
/* 0261A8 800255A8 8FA70028 */ lw $a3, 0x28($sp)
/* 0261AC 800255AC 8FA80024 */ lw $t0, 0x24($sp)
/* 0261B0 800255B0 8FAF0030 */ lw $t7, 0x30($sp)
/* 0261B4 800255B4 00E85021 */ addu $t2, $a3, $t0
/* 0261B8 800255B8 000A5840 */ sll $t3, $t2, 1
/* 0261BC 800255BC 01700019 */ multu $t3, $s0
/* 0261C0 800255C0 8FB8002C */ lw $t8, 0x2c($sp)
/* 0261C4 800255C4 3C068012 */ lui $a2, %hi(D_8011D474) # $a2, 0x8012
/* 0261C8 800255C8 24C6D474 */ addiu $a2, %lo(D_8011D474) # addiu $a2, $a2, -0x2b8c
/* 0261CC 800255CC 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff
/* 0261D0 800255D0 01F8C821 */ addu $t9, $t7, $t8
/* 0261D4 800255D4 ACC20000 */ sw $v0, ($a2)
/* 0261D8 800255D8 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff
/* 0261DC 800255DC 00006012 */ mflo $t4
/* 0261E0 800255E0 032C2021 */ addu $a0, $t9, $t4
/* 0261E4 800255E4 0C01C327 */ jal func_80070C9C
/* 0261E8 800255E8 00000000 */ nop
/* 0261EC 800255EC 3C04800E */ lui $a0, %hi(D_800DC924) # $a0, 0x800e
/* 0261F0 800255F0 2484C924 */ addiu $a0, %lo(D_800DC924) # addiu $a0, $a0, -0x36dc
/* 0261F4 800255F4 3C068012 */ lui $a2, %hi(D_8011D474) # $a2, 0x8012
/* 0261F8 800255F8 8FA70028 */ lw $a3, 0x28($sp)
/* 0261FC 800255FC 8FA80024 */ lw $t0, 0x24($sp)
/* 026200 80025600 24C6D474 */ addiu $a2, %lo(D_8011D474) # addiu $a2, $a2, -0x2b8c
/* 026204 80025604 1040006C */ beqz $v0, .L800257B8
/* 026208 80025608 AC820000 */ sw $v0, ($a0)
/* 02620C 8002560C 8FAD0030 */ lw $t5, 0x30($sp)
/* 026210 80025610 3C018012 */ lui $at, %hi(D_8011D478) # $at, 0x8012
/* 026214 80025614 AC22D478 */ sw $v0, %lo(D_8011D478)($at)
/* 026218 80025618 8FAE002C */ lw $t6, 0x2c($sp)
/* 02621C 8002561C 3C018012 */ lui $at, %hi(D_8011D47C) # $at, 0x8012
/* 026220 80025620 004D1821 */ addu $v1, $v0, $t5
/* 026224 80025624 AC23D47C */ sw $v1, %lo(D_8011D47C)($at)
/* 026228 80025628 006E1821 */ addu $v1, $v1, $t6
/* 02622C 8002562C 24630008 */ addiu $v1, $v1, 8
/* 026230 80025630 2401FFF8 */ li $at, -8
/* 026234 80025634 00617824 */ and $t7, $v1, $at
/* 026238 80025638 01E01825 */ move $v1, $t7
/* 02623C 8002563C 1A00005E */ blez $s0, .L800257B8
/* 026240 80025640 00002025 */ move $a0, $zero
/* 026244 80025644 32090003 */ andi $t1, $s0, 3
/* 026248 80025648 11200016 */ beqz $t1, .L800256A4
/* 02624C 8002564C 01202825 */ move $a1, $t1
/* 026250 80025650 00001100 */ sll $v0, $zero, 4
.L80025654:
/* 026254 80025654 8CD80000 */ lw $t8, ($a2)
/* 026258 80025658 24840001 */ addiu $a0, $a0, 1
/* 02625C 8002565C 03025021 */ addu $t2, $t8, $v0
/* 026260 80025660 AD430000 */ sw $v1, ($t2)
/* 026264 80025664 8CCB0000 */ lw $t3, ($a2)
/* 026268 80025668 00681821 */ addu $v1, $v1, $t0
/* 02626C 8002566C 0162C821 */ addu $t9, $t3, $v0
/* 026270 80025670 AF230004 */ sw $v1, 4($t9)
/* 026274 80025674 8CCC0000 */ lw $t4, ($a2)
/* 026278 80025678 00681821 */ addu $v1, $v1, $t0
/* 02627C 8002567C 01826821 */ addu $t5, $t4, $v0
/* 026280 80025680 ADA30008 */ sw $v1, 8($t5)
/* 026284 80025684 8CCE0000 */ lw $t6, ($a2)
/* 026288 80025688 00671821 */ addu $v1, $v1, $a3
/* 02628C 8002568C 01C27821 */ addu $t7, $t6, $v0
/* 026290 80025690 ADE3000C */ sw $v1, 0xc($t7)
/* 026294 80025694 00671821 */ addu $v1, $v1, $a3
/* 026298 80025698 14A4FFEE */ bne $a1, $a0, .L80025654
/* 02629C 8002569C 24420010 */ addiu $v0, $v0, 0x10
/* 0262A0 800256A0 10900045 */ beq $a0, $s0, .L800257B8
.L800256A4:
/* 0262A4 800256A4 00041100 */ sll $v0, $a0, 4
/* 0262A8 800256A8 00102900 */ sll $a1, $s0, 4
.L800256AC:
/* 0262AC 800256AC 8CD80000 */ lw $t8, ($a2)
/* 0262B0 800256B0 00000000 */ nop
/* 0262B4 800256B4 03025021 */ addu $t2, $t8, $v0
/* 0262B8 800256B8 AD430000 */ sw $v1, ($t2)
/* 0262BC 800256BC 8CCB0000 */ lw $t3, ($a2)
/* 0262C0 800256C0 00681821 */ addu $v1, $v1, $t0
/* 0262C4 800256C4 0162C821 */ addu $t9, $t3, $v0
/* 0262C8 800256C8 AF230004 */ sw $v1, 4($t9)
/* 0262CC 800256CC 8CCC0000 */ lw $t4, ($a2)
/* 0262D0 800256D0 00681821 */ addu $v1, $v1, $t0
/* 0262D4 800256D4 01826821 */ addu $t5, $t4, $v0
/* 0262D8 800256D8 ADA30008 */ sw $v1, 8($t5)
/* 0262DC 800256DC 8CCE0000 */ lw $t6, ($a2)
/* 0262E0 800256E0 00671821 */ addu $v1, $v1, $a3
/* 0262E4 800256E4 01C27821 */ addu $t7, $t6, $v0
/* 0262E8 800256E8 ADE3000C */ sw $v1, 0xc($t7)
/* 0262EC 800256EC 8CD80000 */ lw $t8, ($a2)
/* 0262F0 800256F0 00671821 */ addu $v1, $v1, $a3
/* 0262F4 800256F4 03025021 */ addu $t2, $t8, $v0
/* 0262F8 800256F8 AD430010 */ sw $v1, 0x10($t2)
/* 0262FC 800256FC 8CCB0000 */ lw $t3, ($a2)
/* 026300 80025700 00681821 */ addu $v1, $v1, $t0
/* 026304 80025704 0162C821 */ addu $t9, $t3, $v0
/* 026308 80025708 AF230014 */ sw $v1, 0x14($t9)
/* 02630C 8002570C 8CCC0000 */ lw $t4, ($a2)
/* 026310 80025710 00681821 */ addu $v1, $v1, $t0
/* 026314 80025714 01826821 */ addu $t5, $t4, $v0
/* 026318 80025718 ADA30018 */ sw $v1, 0x18($t5)
/* 02631C 8002571C 8CCE0000 */ lw $t6, ($a2)
/* 026320 80025720 00671821 */ addu $v1, $v1, $a3
/* 026324 80025724 01C27821 */ addu $t7, $t6, $v0
/* 026328 80025728 ADE3001C */ sw $v1, 0x1c($t7)
/* 02632C 8002572C 8CD80000 */ lw $t8, ($a2)
/* 026330 80025730 00671821 */ addu $v1, $v1, $a3
/* 026334 80025734 03025021 */ addu $t2, $t8, $v0
/* 026338 80025738 AD430020 */ sw $v1, 0x20($t2)
/* 02633C 8002573C 8CCB0000 */ lw $t3, ($a2)
/* 026340 80025740 00681821 */ addu $v1, $v1, $t0
/* 026344 80025744 0162C821 */ addu $t9, $t3, $v0
/* 026348 80025748 AF230024 */ sw $v1, 0x24($t9)
/* 02634C 8002574C 8CCC0000 */ lw $t4, ($a2)
/* 026350 80025750 00681821 */ addu $v1, $v1, $t0
/* 026354 80025754 01826821 */ addu $t5, $t4, $v0
/* 026358 80025758 ADA30028 */ sw $v1, 0x28($t5)
/* 02635C 8002575C 8CCE0000 */ lw $t6, ($a2)
/* 026360 80025760 00671821 */ addu $v1, $v1, $a3
/* 026364 80025764 01C27821 */ addu $t7, $t6, $v0
/* 026368 80025768 ADE3002C */ sw $v1, 0x2c($t7)
/* 02636C 8002576C 8CD80000 */ lw $t8, ($a2)
/* 026370 80025770 00671821 */ addu $v1, $v1, $a3
/* 026374 80025774 03025021 */ addu $t2, $t8, $v0
/* 026378 80025778 AD430030 */ sw $v1, 0x30($t2)
/* 02637C 8002577C 8CCB0000 */ lw $t3, ($a2)
/* 026380 80025780 00681821 */ addu $v1, $v1, $t0
/* 026384 80025784 0162C821 */ addu $t9, $t3, $v0
/* 026388 80025788 AF230034 */ sw $v1, 0x34($t9)
/* 02638C 8002578C 8CCC0000 */ lw $t4, ($a2)
/* 026390 80025790 00681821 */ addu $v1, $v1, $t0
/* 026394 80025794 01826821 */ addu $t5, $t4, $v0
/* 026398 80025798 ADA30038 */ sw $v1, 0x38($t5)
/* 02639C 8002579C 8CCE0000 */ lw $t6, ($a2)
/* 0263A0 800257A0 00671821 */ addu $v1, $v1, $a3
/* 0263A4 800257A4 01C27821 */ addu $t7, $t6, $v0
/* 0263A8 800257A8 ADE3003C */ sw $v1, 0x3c($t7)
/* 0263AC 800257AC 24420040 */ addiu $v0, $v0, 0x40
/* 0263B0 800257B0 1445FFBE */ bne $v0, $a1, .L800256AC
/* 0263B4 800257B4 00671821 */ addu $v1, $v1, $a3
.L800257B8:
/* 0263B8 800257B8 8FBF001C */ lw $ra, 0x1c($sp)
/* 0263BC 800257BC 3C018012 */ lui $at, %hi(D_8011D4B4) # $at, 0x8012
/* 0263C0 800257C0 8FB00018 */ lw $s0, 0x18($sp)
/* 0263C4 800257C4 A020D4B4 */ sb $zero, %lo(D_8011D4B4)($at)
/* 0263C8 800257C8 03E00008 */ jr $ra
/* 0263CC 800257CC 27BD0038 */ addiu $sp, $sp, 0x38
@@ -0,0 +1,22 @@
glabel func_800257D0
/* 0263D0 800257D0 3C0E800E */ lui $t6, %hi(D_800DC924) # $t6, 0x800e
/* 0263D4 800257D4 8DCEC924 */ lw $t6, %lo(D_800DC924)($t6)
/* 0263D8 800257D8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0263DC 800257DC 11C0000B */ beqz $t6, .L8002580C
/* 0263E0 800257E0 AFBF0014 */ sw $ra, 0x14($sp)
/* 0263E4 800257E4 3C048012 */ lui $a0, %hi(D_8011D474) # $a0, 0x8012
/* 0263E8 800257E8 8C84D474 */ lw $a0, %lo(D_8011D474)($a0)
/* 0263EC 800257EC 0C01C450 */ jal func_80071140
/* 0263F0 800257F0 00000000 */ nop
/* 0263F4 800257F4 3C04800E */ lui $a0, %hi(D_800DC924) # $a0, 0x800e
/* 0263F8 800257F8 8C84C924 */ lw $a0, %lo(D_800DC924)($a0)
/* 0263FC 800257FC 0C01C450 */ jal func_80071140
/* 026400 80025800 00000000 */ nop
/* 026404 80025804 3C01800E */ lui $at, %hi(D_800DC924) # $at, 0x800e
/* 026408 80025808 AC20C924 */ sw $zero, %lo(D_800DC924)($at)
.L8002580C:
/* 02640C 8002580C 8FBF0014 */ lw $ra, 0x14($sp)
/* 026410 80025810 27BD0018 */ addiu $sp, $sp, 0x18
/* 026414 80025814 03E00008 */ jr $ra
/* 026418 80025818 00000000 */ nop
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,251 @@
glabel func_80026070
/* 026C70 80026070 27BDFF70 */ addiu $sp, $sp, -0x90
/* 026C74 80026074 AFBF001C */ sw $ra, 0x1c($sp)
/* 026C78 80026078 E7B50010 */ swc1 $f21, 0x10($sp)
/* 026C7C 8002607C E7B40014 */ swc1 $f20, 0x14($sp)
/* 026C80 80026080 848E0000 */ lh $t6, ($a0)
/* 026C84 80026084 44857000 */ mtc1 $a1, $f14
/* 026C88 80026088 448E2000 */ mtc1 $t6, $f4
/* 026C8C 8002608C 44866000 */ mtc1 $a2, $f12
/* 026C90 80026090 468021A0 */ cvt.s.w $f6, $f4
/* 026C94 80026094 4487A000 */ mtc1 $a3, $f20
/* 026C98 80026098 44801800 */ mtc1 $zero, $f3
/* 026C9C 8002609C E7A60080 */ swc1 $f6, 0x80($sp)
/* 026CA0 800260A0 848F0004 */ lh $t7, 4($a0)
/* 026CA4 800260A4 44801000 */ mtc1 $zero, $f2
/* 026CA8 800260A8 448F4000 */ mtc1 $t7, $f8
/* 026CAC 800260AC 00003025 */ move $a2, $zero
/* 026CB0 800260B0 468042A0 */ cvt.s.w $f10, $f8
/* 026CB4 800260B4 00002825 */ move $a1, $zero
/* 026CB8 800260B8 27AC0040 */ addiu $t4, $sp, 0x40
/* 026CBC 800260BC E7AA0070 */ swc1 $f10, 0x70($sp)
/* 026CC0 800260C0 84980006 */ lh $t8, 6($a0)
/* 026CC4 800260C4 27AB0080 */ addiu $t3, $sp, 0x80
/* 026CC8 800260C8 44982000 */ mtc1 $t8, $f4
/* 026CCC 800260CC 27AA0070 */ addiu $t2, $sp, 0x70
/* 026CD0 800260D0 468021A0 */ cvt.s.w $f6, $f4
/* 026CD4 800260D4 27A90060 */ addiu $t1, $sp, 0x60
/* 026CD8 800260D8 E7A60084 */ swc1 $f6, 0x84($sp)
/* 026CDC 800260DC 84990004 */ lh $t9, 4($a0)
/* 026CE0 800260E0 00000000 */ nop
/* 026CE4 800260E4 44994000 */ mtc1 $t9, $f8
/* 026CE8 800260E8 00000000 */ nop
/* 026CEC 800260EC 468042A0 */ cvt.s.w $f10, $f8
/* 026CF0 800260F0 E7AA0074 */ swc1 $f10, 0x74($sp)
/* 026CF4 800260F4 848E0006 */ lh $t6, 6($a0)
/* 026CF8 800260F8 00000000 */ nop
/* 026CFC 800260FC 448E2000 */ mtc1 $t6, $f4
/* 026D00 80026100 00000000 */ nop
/* 026D04 80026104 468021A0 */ cvt.s.w $f6, $f4
/* 026D08 80026108 E7A60088 */ swc1 $f6, 0x88($sp)
/* 026D0C 8002610C 848F000A */ lh $t7, 0xa($a0)
/* 026D10 80026110 00000000 */ nop
/* 026D14 80026114 448F4000 */ mtc1 $t7, $f8
/* 026D18 80026118 00000000 */ nop
/* 026D1C 8002611C 468042A0 */ cvt.s.w $f10, $f8
/* 026D20 80026120 E7AA0078 */ swc1 $f10, 0x78($sp)
/* 026D24 80026124 84980000 */ lh $t8, ($a0)
/* 026D28 80026128 00000000 */ nop
/* 026D2C 8002612C 44982000 */ mtc1 $t8, $f4
/* 026D30 80026130 00000000 */ nop
/* 026D34 80026134 468021A0 */ cvt.s.w $f6, $f4
/* 026D38 80026138 E7A6008C */ swc1 $f6, 0x8c($sp)
/* 026D3C 8002613C 8499000A */ lh $t9, 0xa($a0)
/* 026D40 80026140 00000000 */ nop
/* 026D44 80026144 44994000 */ mtc1 $t9, $f8
/* 026D48 80026148 00000000 */ nop
/* 026D4C 8002614C 468042A0 */ cvt.s.w $f10, $f8
/* 026D50 80026150 E7AA007C */ swc1 $f10, 0x7c($sp)
.L80026154:
/* 026D54 80026154 00051080 */ sll $v0, $a1, 2
/* 026D58 80026158 01427021 */ addu $t6, $t2, $v0
/* 026D5C 8002615C C5C40000 */ lwc1 $f4, ($t6)
/* 026D60 80026160 01627821 */ addu $t7, $t3, $v0
/* 026D64 80026164 460C2182 */ mul.s $f6, $f4, $f12
/* 026D68 80026168 C5E80000 */ lwc1 $f8, ($t7)
/* 026D6C 8002616C 0122C021 */ addu $t8, $t1, $v0
/* 026D70 80026170 0005C840 */ sll $t9, $a1, 1
/* 026D74 80026174 46087282 */ mul.s $f10, $f14, $f8
/* 026D78 80026178 24A50001 */ addiu $a1, $a1, 1
/* 026D7C 8002617C 01991821 */ addu $v1, $t4, $t9
/* 026D80 80026180 00007025 */ move $t6, $zero
/* 026D84 80026184 460A3100 */ add.s $f4, $f6, $f10
/* 026D88 80026188 46142000 */ add.s $f0, $f4, $f20
/* 026D8C 8002618C 46000221 */ cvt.d.s $f8, $f0
/* 026D90 80026190 4622403E */ c.le.d $f8, $f2
/* 026D94 80026194 E7000000 */ swc1 $f0, ($t8)
/* 026D98 80026198 45000002 */ bc1f .L800261A4
/* 026D9C 8002619C 00000000 */ nop
/* 026DA0 800261A0 240E0001 */ li $t6, 1
.L800261A4:
/* 026DA4 800261A4 A46E0000 */ sh $t6, ($v1)
/* 026DA8 800261A8 846F0000 */ lh $t7, ($v1)
/* 026DAC 800261AC 00057400 */ sll $t6, $a1, 0x10
/* 026DB0 800261B0 00CF3021 */ addu $a2, $a2, $t7
/* 026DB4 800261B4 000E2C03 */ sra $a1, $t6, 0x10
/* 026DB8 800261B8 0006C400 */ sll $t8, $a2, 0x10
/* 026DBC 800261BC 28A10004 */ slti $at, $a1, 4
/* 026DC0 800261C0 0018CC03 */ sra $t9, $t8, 0x10
/* 026DC4 800261C4 1420FFE3 */ bnez $at, .L80026154
/* 026DC8 800261C8 03203025 */ move $a2, $t9
/* 026DCC 800261CC 13200093 */ beqz $t9, .L8002641C
/* 026DD0 800261D0 24010004 */ li $at, 4
/* 026DD4 800261D4 13210091 */ beq $t9, $at, .L8002641C
/* 026DD8 800261D8 00004025 */ move $t0, $zero
/* 026DDC 800261DC 00002825 */ move $a1, $zero
/* 026DE0 800261E0 27BF004C */ addiu $ra, $sp, 0x4c
/* 026DE4 800261E4 27AD0054 */ addiu $t5, $sp, 0x54
.L800261E8:
/* 026DE8 800261E8 24A60001 */ addiu $a2, $a1, 1
/* 026DEC 800261EC 0006CC00 */ sll $t9, $a2, 0x10
/* 026DF0 800261F0 00063C00 */ sll $a3, $a2, 0x10
/* 026DF4 800261F4 00197403 */ sra $t6, $t9, 0x10
/* 026DF8 800261F8 0007C403 */ sra $t8, $a3, 0x10
/* 026DFC 800261FC 29C10004 */ slti $at, $t6, 4
/* 026E00 80026200 14200002 */ bnez $at, .L8002620C
/* 026E04 80026204 03003825 */ move $a3, $t8
/* 026E08 80026208 00003825 */ move $a3, $zero
.L8002620C:
/* 026E0C 8002620C 00077840 */ sll $t7, $a3, 1
/* 026E10 80026210 018FC021 */ addu $t8, $t4, $t7
/* 026E14 80026214 00057040 */ sll $t6, $a1, 1
/* 026E18 80026218 87190000 */ lh $t9, ($t8)
/* 026E1C 8002621C 018E7821 */ addu $t7, $t4, $t6
/* 026E20 80026220 85F80000 */ lh $t8, ($t7)
/* 026E24 80026224 00051080 */ sll $v0, $a1, 2
/* 026E28 80026228 1338001D */ beq $t9, $t8, .L800262A0
/* 026E2C 8002622C 01227821 */ addu $t7, $t1, $v0
/* 026E30 80026230 00071880 */ sll $v1, $a3, 2
/* 026E34 80026234 0123C821 */ addu $t9, $t1, $v1
/* 026E38 80026238 C7260000 */ lwc1 $f6, ($t9)
/* 026E3C 8002623C C5EC0000 */ lwc1 $f12, ($t7)
/* 026E40 80026240 01637021 */ addu $t6, $t3, $v1
/* 026E44 80026244 46066281 */ sub.s $f10, $f12, $f6
/* 026E48 80026248 0162C021 */ addu $t8, $t3, $v0
/* 026E4C 8002624C 460A6383 */ div.s $f14, $f12, $f10
/* 026E50 80026250 C7020000 */ lwc1 $f2, ($t8)
/* 026E54 80026254 C5C40000 */ lwc1 $f4, ($t6)
/* 026E58 80026258 00082080 */ sll $a0, $t0, 2
/* 026E5C 8002625C 46022201 */ sub.s $f8, $f4, $f2
/* 026E60 80026260 01A47821 */ addu $t7, $t5, $a0
/* 026E64 80026264 0143C021 */ addu $t8, $t2, $v1
/* 026E68 80026268 0142C821 */ addu $t9, $t2, $v0
/* 026E6C 8002626C 25080001 */ addiu $t0, $t0, 1
/* 026E70 80026270 03E47021 */ addu $t6, $ra, $a0
/* 026E74 80026274 460E4182 */ mul.s $f6, $f8, $f14
/* 026E78 80026278 46023280 */ add.s $f10, $f6, $f2
/* 026E7C 8002627C E5EA0000 */ swc1 $f10, ($t7)
/* 026E80 80026280 C7040000 */ lwc1 $f4, ($t8)
/* 026E84 80026284 C7200000 */ lwc1 $f0, ($t9)
/* 026E88 80026288 00087C00 */ sll $t7, $t0, 0x10
/* 026E8C 8002628C 46002201 */ sub.s $f8, $f4, $f0
/* 026E90 80026290 000F4403 */ sra $t0, $t7, 0x10
/* 026E94 80026294 460E4182 */ mul.s $f6, $f8, $f14
/* 026E98 80026298 46003280 */ add.s $f10, $f6, $f0
/* 026E9C 8002629C E5CA0000 */ swc1 $f10, ($t6)
.L800262A0:
/* 026EA0 800262A0 00062C00 */ sll $a1, $a2, 0x10
/* 026EA4 800262A4 0005C403 */ sra $t8, $a1, 0x10
/* 026EA8 800262A8 2B010004 */ slti $at, $t8, 4
/* 026EAC 800262AC 1420FFCE */ bnez $at, .L800261E8
/* 026EB0 800262B0 03002825 */ move $a1, $t8
/* 026EB4 800262B4 24010002 */ li $at, 2
/* 026EB8 800262B8 15010058 */ bne $t0, $at, .L8002641C
/* 026EBC 800262BC 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012
/* 026EC0 800262C0 C420D4A4 */ lwc1 $f0, %lo(D_8011D4A4)($at)
/* 026EC4 800262C4 C7A4004C */ lwc1 $f4, 0x4c($sp)
/* 026EC8 800262C8 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012
/* 026ECC 800262CC 46002202 */ mul.s $f8, $f4, $f0
/* 026ED0 800262D0 C422D4A0 */ lwc1 $f2, %lo(D_8011D4A0)($at)
/* 026ED4 800262D4 C7A60054 */ lwc1 $f6, 0x54($sp)
/* 026ED8 800262D8 3C018012 */ lui $at, %hi(D_8011D4A8) # $at, 0x8012
/* 026EDC 800262DC 46061282 */ mul.s $f10, $f2, $f6
/* 026EE0 800262E0 C7A60050 */ lwc1 $f6, 0x50($sp)
/* 026EE4 800262E4 C42CD4A8 */ lwc1 $f12, %lo(D_8011D4A8)($at)
/* 026EE8 800262E8 3C01800E */ lui $at, %hi(D_800E5E6C) # $at, 0x800e
/* 026EEC 800262EC 460A4100 */ add.s $f4, $f8, $f10
/* 026EF0 800262F0 C7AA0058 */ lwc1 $f10, 0x58($sp)
/* 026EF4 800262F4 46003202 */ mul.s $f8, $f6, $f0
/* 026EF8 800262F8 460C2400 */ add.s $f16, $f4, $f12
/* 026EFC 800262FC 460A1102 */ mul.s $f4, $f2, $f10
/* 026F00 80026300 46044180 */ add.s $f6, $f8, $f4
/* 026F04 80026304 460C3480 */ add.s $f18, $f6, $f12
/* 026F08 80026308 4610903C */ c.lt.s $f18, $f16
/* 026F0C 8002630C 00000000 */ nop
/* 026F10 80026310 45000004 */ bc1f .L80026324
/* 026F14 80026314 00000000 */ nop
/* 026F18 80026318 46008386 */ mov.s $f14, $f16
/* 026F1C 8002631C 46009406 */ mov.s $f16, $f18
/* 026F20 80026320 46007486 */ mov.s $f18, $f14
.L80026324:
/* 026F24 80026324 C42D5E68 */ lwc1 $f13, %lo(D_800E5E68)($at)
/* 026F28 80026328 C42C5E6C */ lwc1 $f12, %lo(D_800E5E6C)($at)
/* 026F2C 8002632C 46009021 */ cvt.d.s $f0, $f18
/* 026F30 80026330 462C003C */ c.lt.d $f0, $f12
/* 026F34 80026334 3C01800E */ lui $at, %hi(D_800E5E74) # $at, 0x800e
/* 026F38 80026338 45010038 */ bc1t .L8002641C
/* 026F3C 8002633C E7B20064 */ swc1 $f18, 0x64($sp)
/* 026F40 80026340 C42F5E70 */ lwc1 $f15, %lo(D_800E5E70)($at)
/* 026F44 80026344 C42E5E74 */ lwc1 $f14, %lo(D_800E5E74)($at)
/* 026F48 80026348 460080A1 */ cvt.d.s $f2, $f16
/* 026F4C 8002634C 4622703C */ c.lt.d $f14, $f2
/* 026F50 80026350 E7B00060 */ swc1 $f16, 0x60($sp)
/* 026F54 80026354 45010031 */ bc1t .L8002641C
/* 026F58 80026358 3C18800E */ lui $t8, %hi(D_800DC918) # $t8, 0x800e
/* 026F5C 8002635C 462C103C */ c.lt.d $f2, $f12
/* 026F60 80026360 3C01C396 */ li $at, 0xC3960000 # -300.000000
/* 026F64 80026364 45000004 */ bc1f .L80026378
/* 026F68 80026368 00003025 */ move $a2, $zero
/* 026F6C 8002636C 44818000 */ mtc1 $at, $f16
/* 026F70 80026370 00000000 */ nop
/* 026F74 80026374 E7B00060 */ swc1 $f16, 0x60($sp)
.L80026378:
/* 026F78 80026378 4620703C */ c.lt.d $f14, $f0
/* 026F7C 8002637C 3C014396 */ li $at, 0x43960000 # 300.000000
/* 026F80 80026380 45000004 */ bc1f .L80026394
/* 026F84 80026384 00000000 */ nop
/* 026F88 80026388 44819000 */ mtc1 $at, $f18
/* 026F8C 8002638C 00000000 */ nop
/* 026F90 80026390 E7B20064 */ swc1 $f18, 0x64($sp)
.L80026394:
/* 026F94 80026394 444EF800 */ cfc1 $t6, $31
/* 026F98 80026398 C7AA0064 */ lwc1 $f10, 0x64($sp)
/* 026F9C 8002639C 35C10003 */ ori $at, $t6, 3
/* 026FA0 800263A0 38210002 */ xori $at, $at, 2
/* 026FA4 800263A4 44C1F800 */ ctc1 $at, $31
/* 026FA8 800263A8 8F18C918 */ lw $t8, %lo(D_800DC918)($t8)
/* 026FAC 800263AC 46005224 */ cvt.w.s $f8, $f10
/* 026FB0 800263B0 87050040 */ lh $a1, 0x40($t8)
/* 026FB4 800263B4 44044000 */ mfc1 $a0, $f8
/* 026FB8 800263B8 44CEF800 */ ctc1 $t6, $31
/* 026FBC 800263BC 24A5FF3D */ addiu $a1, $a1, -0xc3
/* 026FC0 800263C0 00057400 */ sll $t6, $a1, 0x10
/* 026FC4 800263C4 00047C00 */ sll $t7, $a0, 0x10
/* 026FC8 800263C8 000F2403 */ sra $a0, $t7, 0x10
/* 026FCC 800263CC 0C009B05 */ jal func_80026C14
/* 026FD0 800263D0 000E2C03 */ sra $a1, $t6, 0x10
/* 026FD4 800263D4 4459F800 */ cfc1 $t9, $31
/* 026FD8 800263D8 C7A40060 */ lwc1 $f4, 0x60($sp)
/* 026FDC 800263DC 37210003 */ ori $at, $t9, 3
/* 026FE0 800263E0 38210002 */ xori $at, $at, 2
/* 026FE4 800263E4 44C1F800 */ ctc1 $at, $31
/* 026FE8 800263E8 3C0F800E */ lui $t7, %hi(D_800DC918) # $t7, 0x800e
/* 026FEC 800263EC 8DEFC918 */ lw $t7, %lo(D_800DC918)($t7)
/* 026FF0 800263F0 460021A4 */ cvt.w.s $f6, $f4
/* 026FF4 800263F4 85E50040 */ lh $a1, 0x40($t7)
/* 026FF8 800263F8 44043000 */ mfc1 $a0, $f6
/* 026FFC 800263FC 44D9F800 */ ctc1 $t9, $31
/* 027000 80026400 24A5FF3D */ addiu $a1, $a1, -0xc3
/* 027004 80026404 0005CC00 */ sll $t9, $a1, 0x10
/* 027008 80026408 0004C400 */ sll $t8, $a0, 0x10
/* 02700C 8002640C 00182403 */ sra $a0, $t8, 0x10
/* 027010 80026410 00192C03 */ sra $a1, $t9, 0x10
/* 027014 80026414 0C009B05 */ jal func_80026C14
/* 027018 80026418 00003025 */ move $a2, $zero
.L8002641C:
/* 02701C 8002641C 8FBF001C */ lw $ra, 0x1c($sp)
/* 027020 80026420 C7B50010 */ lwc1 $f21, 0x10($sp)
/* 027024 80026424 C7B40014 */ lwc1 $f20, 0x14($sp)
/* 027028 80026428 03E00008 */ jr $ra
/* 02702C 8002642C 27BD0090 */ addiu $sp, $sp, 0x90
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,155 @@
glabel func_80026C14
/* 027814 80026C14 3C088012 */ lui $t0, %hi(D_8011D49E) # $t0, 0x8012
/* 027818 80026C18 2508D49E */ addiu $t0, %lo(D_8011D49E) # addiu $t0, $t0, -0x2b62
/* 02781C 80026C1C 27BDFFF8 */ addiu $sp, $sp, -8
/* 027820 80026C20 3C188012 */ lui $t8, %hi(D_8011D4BA) # $t8, 0x8012
/* 027824 80026C24 8718D4BA */ lh $t8, %lo(D_8011D4BA)($t8)
/* 027828 80026C28 85020000 */ lh $v0, ($t0)
/* 02782C 80026C2C AFB00004 */ sw $s0, 4($sp)
/* 027830 80026C30 00058400 */ sll $s0, $a1, 0x10
/* 027834 80026C34 00043C00 */ sll $a3, $a0, 0x10
/* 027838 80026C38 00077403 */ sra $t6, $a3, 0x10
/* 02783C 80026C3C 00107C03 */ sra $t7, $s0, 0x10
/* 027840 80026C40 0058082A */ slt $at, $v0, $t8
/* 027844 80026C44 01E08025 */ move $s0, $t7
/* 027848 80026C48 01C03825 */ move $a3, $t6
/* 02784C 80026C4C AFA40008 */ sw $a0, 8($sp)
/* 027850 80026C50 AFA5000C */ sw $a1, 0xc($sp)
/* 027854 80026C54 1020007C */ beqz $at, .L80026E48
/* 027858 80026C58 AFA60010 */ sw $a2, 0x10($sp)
/* 02785C 80026C5C 18400017 */ blez $v0, .L80026CBC
/* 027860 80026C60 00001825 */ move $v1, $zero
/* 027864 80026C64 3C098012 */ lui $t1, %hi(D_8011D478) # $t1, 0x8012
/* 027868 80026C68 2529D478 */ addiu $t1, %lo(D_8011D478) # addiu $t1, $t1, -0x2b88
/* 02786C 80026C6C 8D240000 */ lw $a0, ($t1)
/* 027870 80026C70 00000000 */ nop
/* 027874 80026C74 84990000 */ lh $t9, ($a0)
/* 027878 80026C78 00000000 */ nop
/* 02787C 80026C7C 032E082A */ slt $at, $t9, $t6
/* 027880 80026C80 1020000E */ beqz $at, .L80026CBC
/* 027884 80026C84 00000000 */ nop
.L80026C88:
/* 027888 80026C88 24630001 */ addiu $v1, $v1, 1
/* 02788C 80026C8C 00035400 */ sll $t2, $v1, 0x10
/* 027890 80026C90 000A5C03 */ sra $t3, $t2, 0x10
/* 027894 80026C94 0162082A */ slt $at, $t3, $v0
/* 027898 80026C98 10200008 */ beqz $at, .L80026CBC
/* 02789C 80026C9C 01601825 */ move $v1, $t3
/* 0278A0 80026CA0 000B60C0 */ sll $t4, $t3, 3
/* 0278A4 80026CA4 008C6821 */ addu $t5, $a0, $t4
/* 0278A8 80026CA8 85AE0000 */ lh $t6, ($t5)
/* 0278AC 80026CAC 00000000 */ nop
/* 0278B0 80026CB0 01C7082A */ slt $at, $t6, $a3
/* 0278B4 80026CB4 1420FFF4 */ bnez $at, .L80026C88
/* 0278B8 80026CB8 00000000 */ nop
.L80026CBC:
/* 0278BC 80026CBC 3C098012 */ lui $t1, %hi(D_8011D478) # $t1, 0x8012
/* 0278C0 80026CC0 0062082A */ slt $at, $v1, $v0
/* 0278C4 80026CC4 1020001E */ beqz $at, .L80026D40
/* 0278C8 80026CC8 2529D478 */ addiu $t1, %lo(D_8011D478) # addiu $t1, $t1, -0x2b88
/* 0278CC 80026CCC 8D240000 */ lw $a0, ($t1)
/* 0278D0 80026CD0 000378C0 */ sll $t7, $v1, 3
/* 0278D4 80026CD4 008F2821 */ addu $a1, $a0, $t7
/* 0278D8 80026CD8 84B80000 */ lh $t8, ($a1)
/* 0278DC 80026CDC 00000000 */ nop
/* 0278E0 80026CE0 14F80017 */ bne $a3, $t8, .L80026D40
/* 0278E4 80026CE4 00000000 */ nop
/* 0278E8 80026CE8 84B90002 */ lh $t9, 2($a1)
/* 0278EC 80026CEC 00000000 */ nop
/* 0278F0 80026CF0 0330082A */ slt $at, $t9, $s0
/* 0278F4 80026CF4 10200013 */ beqz $at, .L80026D44
/* 0278F8 80026CF8 00022C00 */ sll $a1, $v0, 0x10
.L80026CFC:
/* 0278FC 80026CFC 24630001 */ addiu $v1, $v1, 1
/* 027900 80026D00 00035400 */ sll $t2, $v1, 0x10
/* 027904 80026D04 000A5C03 */ sra $t3, $t2, 0x10
/* 027908 80026D08 0162082A */ slt $at, $t3, $v0
/* 02790C 80026D0C 1020000C */ beqz $at, .L80026D40
/* 027910 80026D10 01601825 */ move $v1, $t3
/* 027914 80026D14 000B60C0 */ sll $t4, $t3, 3
/* 027918 80026D18 008C2821 */ addu $a1, $a0, $t4
/* 02791C 80026D1C 84AD0000 */ lh $t5, ($a1)
/* 027920 80026D20 00000000 */ nop
/* 027924 80026D24 14ED0006 */ bne $a3, $t5, .L80026D40
/* 027928 80026D28 00000000 */ nop
/* 02792C 80026D2C 84AE0002 */ lh $t6, 2($a1)
/* 027930 80026D30 00000000 */ nop
/* 027934 80026D34 01D0082A */ slt $at, $t6, $s0
/* 027938 80026D38 1420FFF0 */ bnez $at, .L80026CFC
/* 02793C 80026D3C 00000000 */ nop
.L80026D40:
/* 027940 80026D40 00022C00 */ sll $a1, $v0, 0x10
.L80026D44:
/* 027944 80026D44 00057C03 */ sra $t7, $a1, 0x10
/* 027948 80026D48 006F082A */ slt $at, $v1, $t7
/* 02794C 80026D4C 01E02825 */ move $a1, $t7
/* 027950 80026D50 10200019 */ beqz $at, .L80026DB8
/* 027954 80026D54 000320C0 */ sll $a0, $v1, 3
.L80026D58:
/* 027958 80026D58 8D380000 */ lw $t8, ($t1)
/* 02795C 80026D5C 000510C0 */ sll $v0, $a1, 3
/* 027960 80026D60 03023021 */ addu $a2, $t8, $v0
/* 027964 80026D64 84D9FFF8 */ lh $t9, -8($a2)
/* 027968 80026D68 24A5FFFF */ addiu $a1, $a1, -1
/* 02796C 80026D6C A4D90000 */ sh $t9, ($a2)
/* 027970 80026D70 8D2A0000 */ lw $t2, ($t1)
/* 027974 80026D74 0005C400 */ sll $t8, $a1, 0x10
/* 027978 80026D78 01423021 */ addu $a2, $t2, $v0
/* 02797C 80026D7C 84CBFFFA */ lh $t3, -6($a2)
/* 027980 80026D80 00182C03 */ sra $a1, $t8, 0x10
/* 027984 80026D84 A4CB0002 */ sh $t3, 2($a2)
/* 027988 80026D88 8D2C0000 */ lw $t4, ($t1)
/* 02798C 80026D8C 0065082A */ slt $at, $v1, $a1
/* 027990 80026D90 01823021 */ addu $a2, $t4, $v0
/* 027994 80026D94 80CDFFFF */ lb $t5, -1($a2)
/* 027998 80026D98 00000000 */ nop
/* 02799C 80026D9C A0CD0007 */ sb $t5, 7($a2)
/* 0279A0 80026DA0 8D2E0000 */ lw $t6, ($t1)
/* 0279A4 80026DA4 00000000 */ nop
/* 0279A8 80026DA8 01C23021 */ addu $a2, $t6, $v0
/* 0279AC 80026DAC 80CFFFFE */ lb $t7, -2($a2)
/* 0279B0 80026DB0 1420FFE9 */ bnez $at, .L80026D58
/* 0279B4 80026DB4 A0CF0006 */ sb $t7, 6($a2)
.L80026DB8:
/* 0279B8 80026DB8 8D2A0000 */ lw $t2, ($t1)
/* 0279BC 80026DBC 3C038012 */ lui $v1, %hi(D_8011D49C) # $v1, 0x8012
/* 0279C0 80026DC0 01445821 */ addu $t3, $t2, $a0
/* 0279C4 80026DC4 A5670000 */ sh $a3, ($t3)
/* 0279C8 80026DC8 8D2C0000 */ lw $t4, ($t1)
/* 0279CC 80026DCC 2463D49C */ addiu $v1, %lo(D_8011D49C) # addiu $v1, $v1, -0x2b64
/* 0279D0 80026DD0 01846821 */ addu $t5, $t4, $a0
/* 0279D4 80026DD4 A5B00002 */ sh $s0, 2($t5)
/* 0279D8 80026DD8 8D2E0000 */ lw $t6, ($t1)
/* 0279DC 80026DDC 00000000 */ nop
/* 0279E0 80026DE0 01C47821 */ addu $t7, $t6, $a0
/* 0279E4 80026DE4 A5E00004 */ sh $zero, 4($t7)
/* 0279E8 80026DE8 8D390000 */ lw $t9, ($t1)
/* 0279EC 80026DEC 84780000 */ lh $t8, ($v1)
/* 0279F0 80026DF0 03245021 */ addu $t2, $t9, $a0
/* 0279F4 80026DF4 A1580007 */ sb $t8, 7($t2)
/* 0279F8 80026DF8 8D2C0000 */ lw $t4, ($t1)
/* 0279FC 80026DFC 8FAB0010 */ lw $t3, 0x10($sp)
/* 027A00 80026E00 01846821 */ addu $t5, $t4, $a0
/* 027A04 80026E04 A1AB0006 */ sb $t3, 6($t5)
/* 027A08 80026E08 3C0F8012 */ lui $t7, %hi(D_8011D47C) # $t7, 0x8012
/* 027A0C 80026E0C 8DEFD47C */ lw $t7, %lo(D_8011D47C)($t7)
/* 027A10 80026E10 85190000 */ lh $t9, ($t0)
/* 027A14 80026E14 240EFFFF */ li $t6, -1
/* 027A18 80026E18 01F9C021 */ addu $t8, $t7, $t9
/* 027A1C 80026E1C A30E0000 */ sb $t6, ($t8)
/* 027A20 80026E20 85020000 */ lh $v0, ($t0)
/* 027A24 80026E24 00000000 */ nop
/* 027A28 80026E28 304A0001 */ andi $t2, $v0, 1
/* 027A2C 80026E2C 11400005 */ beqz $t2, .L80026E44
/* 027A30 80026E30 244D0001 */ addiu $t5, $v0, 1
/* 027A34 80026E34 846C0000 */ lh $t4, ($v1)
/* 027A38 80026E38 00000000 */ nop
/* 027A3C 80026E3C 258B0001 */ addiu $t3, $t4, 1
/* 027A40 80026E40 A46B0000 */ sh $t3, ($v1)
.L80026E44:
/* 027A44 80026E44 A50D0000 */ sh $t5, ($t0)
.L80026E48:
/* 027A48 80026E48 8FB00004 */ lw $s0, 4($sp)
/* 027A4C 80026E4C 03E00008 */ jr $ra
/* 027A50 80026E50 27BD0008 */ addiu $sp, $sp, 8
@@ -0,0 +1,215 @@
glabel func_80026E54
/* 027A54 80026E54 27BDFEF8 */ addiu $sp, $sp, -0x108
/* 027A58 80026E58 AFB5003C */ sw $s5, 0x3c($sp)
/* 027A5C 80026E5C 0004AC00 */ sll $s5, $a0, 0x10
/* 027A60 80026E60 00157403 */ sra $t6, $s5, 0x10
/* 027A64 80026E64 E7B60024 */ swc1 $f22, 0x24($sp)
/* 027A68 80026E68 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 027A6C 80026E6C 4487A000 */ mtc1 $a3, $f20
/* 027A70 80026E70 4486B000 */ mtc1 $a2, $f22
/* 027A74 80026E74 AFB30034 */ sw $s3, 0x34($sp)
/* 027A78 80026E78 29C1000A */ slti $at, $t6, 0xa
/* 027A7C 80026E7C 00A09825 */ move $s3, $a1
/* 027A80 80026E80 01C0A825 */ move $s5, $t6
/* 027A84 80026E84 AFBF0044 */ sw $ra, 0x44($sp)
/* 027A88 80026E88 AFB60040 */ sw $s6, 0x40($sp)
/* 027A8C 80026E8C AFB40038 */ sw $s4, 0x38($sp)
/* 027A90 80026E90 AFB20030 */ sw $s2, 0x30($sp)
/* 027A94 80026E94 AFB1002C */ sw $s1, 0x2c($sp)
/* 027A98 80026E98 AFB00028 */ sw $s0, 0x28($sp)
/* 027A9C 80026E9C E7B70020 */ swc1 $f23, 0x20($sp)
/* 027AA0 80026EA0 E7B50018 */ swc1 $f21, 0x18($sp)
/* 027AA4 80026EA4 102000A9 */ beqz $at, .L8002714C
/* 027AA8 80026EA8 AFA40108 */ sw $a0, 0x108($sp)
/* 027AAC 80026EAC 11C000A7 */ beqz $t6, .L8002714C
/* 027AB0 80026EB0 00001025 */ move $v0, $zero
/* 027AB4 80026EB4 19C0004D */ blez $t6, .L80026FEC
/* 027AB8 80026EB8 00008025 */ move $s0, $zero
/* 027ABC 80026EBC 3C088012 */ lui $t0, %hi(D_8011D47C) # $t0, 0x8012
/* 027AC0 80026EC0 3C078012 */ lui $a3, %hi(D_8011D478) # $a3, 0x8012
/* 027AC4 80026EC4 8CE7D478 */ lw $a3, %lo(D_8011D478)($a3)
/* 027AC8 80026EC8 8D08D47C */ lw $t0, %lo(D_8011D47C)($t0)
/* 027ACC 80026ECC 27B40094 */ addiu $s4, $sp, 0x94
/* 027AD0 80026ED0 27B20060 */ addiu $s2, $sp, 0x60
/* 027AD4 80026ED4 27A5006C */ addiu $a1, $sp, 0x6c
.L80026ED8:
/* 027AD8 80026ED8 02137821 */ addu $t7, $s0, $s3
/* 027ADC 80026EDC 81F80000 */ lb $t8, ($t7)
/* 027AE0 80026EE0 00000000 */ nop
/* 027AE4 80026EE4 0018CC40 */ sll $t9, $t8, 0x11
/* 027AE8 80026EE8 00195403 */ sra $t2, $t9, 0x10
/* 027AEC 80026EEC 01482021 */ addu $a0, $t2, $t0
/* 027AF0 80026EF0 808B0000 */ lb $t3, ($a0)
/* 027AF4 80026EF4 808D0001 */ lb $t5, 1($a0)
/* 027AF8 80026EF8 000B60C0 */ sll $t4, $t3, 3
/* 027AFC 80026EFC 000D70C0 */ sll $t6, $t5, 3
/* 027B00 80026F00 01871821 */ addu $v1, $t4, $a3
/* 027B04 80026F04 01C73021 */ addu $a2, $t6, $a3
/* 027B08 80026F08 846F0000 */ lh $t7, ($v1)
/* 027B0C 80026F0C 84D90000 */ lh $t9, ($a2)
/* 027B10 80026F10 448F2000 */ mtc1 $t7, $f4
/* 027B14 80026F14 44994000 */ mtc1 $t9, $f8
/* 027B18 80026F18 468020A0 */ cvt.s.w $f2, $f4
/* 027B1C 80026F1C 84780002 */ lh $t8, 2($v1)
/* 027B20 80026F20 84CA0002 */ lh $t2, 2($a2)
/* 027B24 80026F24 468043A0 */ cvt.s.w $f14, $f8
/* 027B28 80026F28 44983000 */ mtc1 $t8, $f6
/* 027B2C 80026F2C 448A5000 */ mtc1 $t2, $f10
/* 027B30 80026F30 460E1032 */ c.eq.s $f2, $f14
/* 027B34 80026F34 46803320 */ cvt.s.w $f12, $f6
/* 027B38 80026F38 45010084 */ bc1t .L8002714C
/* 027B3C 80026F3C 46805420 */ cvt.s.w $f16, $f10
/* 027B40 80026F40 460E1001 */ sub.s $f0, $f2, $f14
/* 027B44 80026F44 00025880 */ sll $t3, $v0, 2
/* 027B48 80026F48 46141101 */ sub.s $f4, $f2, $f20
/* 027B4C 80026F4C 24420001 */ addiu $v0, $v0, 1
/* 027B50 80026F50 46002183 */ div.s $f6, $f4, $f0
/* 027B54 80026F54 460C8481 */ sub.s $f18, $f16, $f12
/* 027B58 80026F58 00026C00 */ sll $t5, $v0, 0x10
/* 027B5C 80026F5C 000D7403 */ sra $t6, $t5, 0x10
/* 027B60 80026F60 028B6021 */ addu $t4, $s4, $t3
/* 027B64 80026F64 000EC080 */ sll $t8, $t6, 2
/* 027B68 80026F68 02981821 */ addu $v1, $s4, $t8
/* 027B6C 80026F6C 00107880 */ sll $t7, $s0, 2
/* 027B70 80026F70 00AF2021 */ addu $a0, $a1, $t7
/* 027B74 80026F74 0250C821 */ addu $t9, $s2, $s0
/* 027B78 80026F78 25C20001 */ addiu $v0, $t6, 1
/* 027B7C 80026F7C 00025400 */ sll $t2, $v0, 0x10
/* 027B80 80026F80 46069202 */ mul.s $f8, $f18, $f6
/* 027B84 80026F84 460EB181 */ sub.s $f6, $f22, $f14
/* 027B88 80026F88 000A1403 */ sra $v0, $t2, 0x10
/* 027B8C 80026F8C 460C4280 */ add.s $f10, $f8, $f12
/* 027B90 80026F90 00000000 */ nop
/* 027B94 80026F94 46003203 */ div.s $f8, $f6, $f0
/* 027B98 80026F98 46106481 */ sub.s $f18, $f12, $f16
/* 027B9C 80026F9C E58A0000 */ swc1 $f10, ($t4)
/* 027BA0 80026FA0 C464FFFC */ lwc1 $f4, -4($v1)
/* 027BA4 80026FA4 A3300000 */ sb $s0, ($t9)
/* 027BA8 80026FA8 E4840000 */ swc1 $f4, ($a0)
/* 027BAC 80026FAC 00026080 */ sll $t4, $v0, 2
/* 027BB0 80026FB0 028C6821 */ addu $t5, $s4, $t4
/* 027BB4 80026FB4 26100001 */ addiu $s0, $s0, 1
/* 027BB8 80026FB8 00107400 */ sll $t6, $s0, 0x10
/* 027BBC 80026FBC 000E8403 */ sra $s0, $t6, 0x10
/* 027BC0 80026FC0 0215082A */ slt $at, $s0, $s5
/* 027BC4 80026FC4 46089282 */ mul.s $f10, $f18, $f8
/* 027BC8 80026FC8 46105100 */ add.s $f4, $f10, $f16
/* 027BCC 80026FCC E4640000 */ swc1 $f4, ($v1)
/* 027BD0 80026FD0 C4860000 */ lwc1 $f6, ($a0)
/* 027BD4 80026FD4 C5B2FFFC */ lwc1 $f18, -4($t5)
/* 027BD8 80026FD8 00000000 */ nop
/* 027BDC 80026FDC 46123200 */ add.s $f8, $f6, $f18
/* 027BE0 80026FE0 1420FFBD */ bnez $at, .L80026ED8
/* 027BE4 80026FE4 E4880000 */ swc1 $f8, ($a0)
/* 027BE8 80026FE8 00008025 */ move $s0, $zero
.L80026FEC:
/* 027BEC 80026FEC 27A5006C */ addiu $a1, $sp, 0x6c
/* 027BF0 80026FF0 27B20060 */ addiu $s2, $sp, 0x60
/* 027BF4 80026FF4 27B40094 */ addiu $s4, $sp, 0x94
/* 027BF8 80026FF8 26B1FFFF */ addiu $s1, $s5, -1
.L80026FFC:
/* 027BFC 80026FFC 1A20001F */ blez $s1, .L8002707C
/* 027C00 80027000 24060001 */ li $a2, 1
/* 027C04 80027004 02501821 */ addu $v1, $s2, $s0
.L80027008:
/* 027C08 80027008 80780001 */ lb $t8, 1($v1)
/* 027C0C 8002700C 806B0000 */ lb $t3, ($v1)
/* 027C10 80027010 0018C880 */ sll $t9, $t8, 2
/* 027C14 80027014 000B6080 */ sll $t4, $t3, 2
/* 027C18 80027018 00AC6821 */ addu $t5, $a1, $t4
/* 027C1C 8002701C 00B95021 */ addu $t2, $a1, $t9
/* 027C20 80027020 C54A0000 */ lwc1 $f10, ($t2)
/* 027C24 80027024 C5A40000 */ lwc1 $f4, ($t5)
/* 027C28 80027028 02132021 */ addu $a0, $s0, $s3
/* 027C2C 8002702C 4604503C */ c.lt.s $f10, $f4
/* 027C30 80027030 00000000 */ nop
/* 027C34 80027034 4500000A */ bc1f .L80027060
/* 027C38 80027038 00000000 */ nop
/* 027C3C 8002703C 80820000 */ lb $v0, ($a0)
/* 027C40 80027040 808E0001 */ lb $t6, 1($a0)
/* 027C44 80027044 A0820001 */ sb $v0, 1($a0)
/* 027C48 80027048 A08E0000 */ sb $t6, ($a0)
/* 027C4C 8002704C 80620000 */ lb $v0, ($v1)
/* 027C50 80027050 806F0001 */ lb $t7, 1($v1)
/* 027C54 80027054 00003025 */ move $a2, $zero
/* 027C58 80027058 A0620001 */ sb $v0, 1($v1)
/* 027C5C 8002705C A06F0000 */ sb $t7, ($v1)
.L80027060:
/* 027C60 80027060 26100001 */ addiu $s0, $s0, 1
/* 027C64 80027064 0010C400 */ sll $t8, $s0, 0x10
/* 027C68 80027068 00188403 */ sra $s0, $t8, 0x10
/* 027C6C 8002706C 0211082A */ slt $at, $s0, $s1
/* 027C70 80027070 1420FFE5 */ bnez $at, .L80027008
/* 027C74 80027074 02501821 */ addu $v1, $s2, $s0
/* 027C78 80027078 00008025 */ move $s0, $zero
.L8002707C:
/* 027C7C 8002707C 10C0FFDF */ beqz $a2, .L80026FFC
/* 027C80 80027080 00000000 */ nop
/* 027C84 80027084 1A200031 */ blez $s1, .L8002714C
/* 027C88 80027088 3C168012 */ lui $s6, %hi(D_8011D47C) # $s6, 0x8012
/* 027C8C 8002708C 3C158012 */ lui $s5, %hi(D_8011D478) # $s5, 0x8012
/* 027C90 80027090 26B5D478 */ addiu $s5, %lo(D_8011D478) # addiu $s5, $s5, -0x2b88
/* 027C94 80027094 26D6D47C */ addiu $s6, %lo(D_8011D47C) # addiu $s6, $s6, -0x2b84
/* 027C98 80027098 02132021 */ addu $a0, $s0, $s3
.L8002709C:
/* 027C9C 8002709C 808A0000 */ lb $t2, ($a0)
/* 027CA0 800270A0 8EC80000 */ lw $t0, ($s6)
/* 027CA4 800270A4 000A5840 */ sll $t3, $t2, 1
/* 027CA8 800270A8 01686021 */ addu $t4, $t3, $t0
/* 027CAC 800270AC 818D0000 */ lb $t5, ($t4)
/* 027CB0 800270B0 8EA70000 */ lw $a3, ($s5)
/* 027CB4 800270B4 808B0001 */ lb $t3, 1($a0)
/* 027CB8 800270B8 000D70C0 */ sll $t6, $t5, 3
/* 027CBC 800270BC 00EE7821 */ addu $t7, $a3, $t6
/* 027CC0 800270C0 000B6040 */ sll $t4, $t3, 1
/* 027CC4 800270C4 81E20006 */ lb $v0, 6($t7)
/* 027CC8 800270C8 01886821 */ addu $t5, $t4, $t0
/* 027CCC 800270CC 81AE0000 */ lb $t6, ($t5)
/* 027CD0 800270D0 30580001 */ andi $t8, $v0, 1
/* 027CD4 800270D4 0018CE00 */ sll $t9, $t8, 0x18
/* 027CD8 800270D8 000E78C0 */ sll $t7, $t6, 3
/* 027CDC 800270DC 00EFC021 */ addu $t8, $a3, $t7
/* 027CE0 800270E0 83030006 */ lb $v1, 6($t8)
/* 027CE4 800270E4 00191603 */ sra $v0, $t9, 0x18
/* 027CE8 800270E8 30790001 */ andi $t9, $v1, 1
/* 027CEC 800270EC 00195600 */ sll $t2, $t9, 0x18
/* 027CF0 800270F0 10400010 */ beqz $v0, .L80027134
/* 027CF4 800270F4 000A5E03 */ sra $t3, $t2, 0x18
/* 027CF8 800270F8 1560000E */ bnez $t3, .L80027134
/* 027CFC 800270FC 02501821 */ addu $v1, $s2, $s0
/* 027D00 80027100 806C0000 */ lb $t4, ($v1)
/* 027D04 80027104 806F0001 */ lb $t7, 1($v1)
/* 027D08 80027108 000C6C40 */ sll $t5, $t4, 0x11
/* 027D0C 8002710C 000FC440 */ sll $t8, $t7, 0x11
/* 027D10 80027110 000D7403 */ sra $t6, $t5, 0x10
/* 027D14 80027114 0018CC03 */ sra $t9, $t8, 0x10
/* 027D18 80027118 00195880 */ sll $t3, $t9, 2
/* 027D1C 8002711C 000E5080 */ sll $t2, $t6, 2
/* 027D20 80027120 4406A000 */ mfc1 $a2, $f20
/* 027D24 80027124 4407B000 */ mfc1 $a3, $f22
/* 027D28 80027128 028A2021 */ addu $a0, $s4, $t2
/* 027D2C 8002712C 0C009C61 */ jal func_80027184
/* 027D30 80027130 028B2821 */ addu $a1, $s4, $t3
.L80027134:
/* 027D34 80027134 26100001 */ addiu $s0, $s0, 1
/* 027D38 80027138 00106400 */ sll $t4, $s0, 0x10
/* 027D3C 8002713C 000C8403 */ sra $s0, $t4, 0x10
/* 027D40 80027140 0211082A */ slt $at, $s0, $s1
/* 027D44 80027144 1420FFD5 */ bnez $at, .L8002709C
/* 027D48 80027148 02132021 */ addu $a0, $s0, $s3
.L8002714C:
/* 027D4C 8002714C 8FBF0044 */ lw $ra, 0x44($sp)
/* 027D50 80027150 C7B50018 */ lwc1 $f21, 0x18($sp)
/* 027D54 80027154 C7B4001C */ lwc1 $f20, 0x1c($sp)
/* 027D58 80027158 C7B70020 */ lwc1 $f23, 0x20($sp)
/* 027D5C 8002715C C7B60024 */ lwc1 $f22, 0x24($sp)
/* 027D60 80027160 8FB00028 */ lw $s0, 0x28($sp)
/* 027D64 80027164 8FB1002C */ lw $s1, 0x2c($sp)
/* 027D68 80027168 8FB20030 */ lw $s2, 0x30($sp)
/* 027D6C 8002716C 8FB30034 */ lw $s3, 0x34($sp)
/* 027D70 80027170 8FB40038 */ lw $s4, 0x38($sp)
/* 027D74 80027174 8FB5003C */ lw $s5, 0x3c($sp)
/* 027D78 80027178 8FB60040 */ lw $s6, 0x40($sp)
/* 027D7C 8002717C 03E00008 */ jr $ra
/* 027D80 80027180 27BD0108 */ addiu $sp, $sp, 0x108
@@ -0,0 +1,254 @@
glabel func_80027184
/* 027D84 80027184 44866000 */ mtc1 $a2, $f12
/* 027D88 80027188 3C068012 */ lui $a2, %hi(D_8011D4B8) # $a2, 0x8012
/* 027D8C 8002718C 24C6D4B8 */ addiu $a2, %lo(D_8011D4B8) # addiu $a2, $a2, -0x2b48
/* 027D90 80027190 3C0F8012 */ lui $t7, %hi(D_8011D4BC) # $t7, 0x8012
/* 027D94 80027194 85EFD4BC */ lh $t7, %lo(D_8011D4BC)($t7)
/* 027D98 80027198 84CE0000 */ lh $t6, ($a2)
/* 027D9C 8002719C 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 027DA0 800271A0 01CF082A */ slt $at, $t6, $t7
/* 027DA4 800271A4 AFB1000C */ sw $s1, 0xc($sp)
/* 027DA8 800271A8 AFB00008 */ sw $s0, 8($sp)
/* 027DAC 800271AC 14200003 */ bnez $at, .L800271BC
/* 027DB0 800271B0 AFA7001C */ sw $a3, 0x1c($sp)
/* 027DB4 800271B4 100000E8 */ b .L80027558
/* 027DB8 800271B8 00001025 */ move $v0, $zero
.L800271BC:
/* 027DBC 800271BC 3C038012 */ lui $v1, %hi(D_8011D4B6) # $v1, 0x8012
/* 027DC0 800271C0 2463D4B6 */ addiu $v1, %lo(D_8011D4B6) # addiu $v1, $v1, -0x2b4a
/* 027DC4 800271C4 84620000 */ lh $v0, ($v1)
/* 027DC8 800271C8 24010018 */ li $at, 24
/* 027DCC 800271CC 1441003A */ bne $v0, $at, .L800272B8
/* 027DD0 800271D0 3C078012 */ lui $a3, %hi(D_8011B0A8) # $a3, 0x8012
/* 027DD4 800271D4 3C0D8012 */ lui $t5, %hi(D_8011B0A0) # $t5, 0x8012
/* 027DD8 800271D8 25ADB0A0 */ addiu $t5, %lo(D_8011B0A0) # addiu $t5, $t5, -0x4f60
/* 027DDC 800271DC 8DAA0000 */ lw $t2, ($t5)
/* 027DE0 800271E0 3C108012 */ lui $s0, %hi(D_8011D488) # $s0, 0x8012
/* 027DE4 800271E4 2610D488 */ addiu $s0, %lo(D_8011D488) # addiu $s0, $s0, -0x2b78
/* 027DE8 800271E8 8E0F0000 */ lw $t7, ($s0)
/* 027DEC 800271EC 25580008 */ addiu $t8, $t2, 8
/* 027DF0 800271F0 3C118000 */ lui $s1, 0x8000
/* 027DF4 800271F4 ADB80000 */ sw $t8, ($t5)
/* 027DF8 800271F8 2459FFFF */ addiu $t9, $v0, -1
/* 027DFC 800271FC 001970C0 */ sll $t6, $t9, 3
/* 027E00 80027200 01F1C021 */ addu $t8, $t7, $s1
/* 027E04 80027204 33190006 */ andi $t9, $t8, 6
/* 027E08 80027208 01D97825 */ or $t7, $t6, $t9
/* 027E0C 8002720C 31F800FF */ andi $t8, $t7, 0xff
/* 027E10 80027210 00187400 */ sll $t6, $t8, 0x10
/* 027E14 80027214 000278C0 */ sll $t7, $v0, 3
/* 027E18 80027218 3C010400 */ lui $at, 0x400
/* 027E1C 8002721C 01C1C825 */ or $t9, $t6, $at
/* 027E20 80027220 01E2C021 */ addu $t8, $t7, $v0
/* 027E24 80027224 00187040 */ sll $t6, $t8, 1
/* 027E28 80027228 25CF0008 */ addiu $t7, $t6, 8
/* 027E2C 8002722C 31F8FFFF */ andi $t8, $t7, 0xffff
/* 027E30 80027230 03387025 */ or $t6, $t9, $t8
/* 027E34 80027234 AD4E0000 */ sw $t6, ($t2)
/* 027E38 80027238 8E0F0000 */ lw $t7, ($s0)
/* 027E3C 8002723C 3C010500 */ lui $at, 0x500
/* 027E40 80027240 01F1C821 */ addu $t9, $t7, $s1
/* 027E44 80027244 AD590004 */ sw $t9, 4($t2)
/* 027E48 80027248 846C0000 */ lh $t4, ($v1)
/* 027E4C 8002724C 8DAA0000 */ lw $t2, ($t5)
/* 027E50 80027250 000C7043 */ sra $t6, $t4, 1
/* 027E54 80027254 25CFFFFF */ addiu $t7, $t6, -1
/* 027E58 80027258 25580008 */ addiu $t8, $t2, 8
/* 027E5C 8002725C ADB80000 */ sw $t8, ($t5)
/* 027E60 80027260 000FC900 */ sll $t9, $t7, 4
/* 027E64 80027264 333800FF */ andi $t8, $t9, 0xff
/* 027E68 80027268 01C06025 */ move $t4, $t6
/* 027E6C 8002726C 00187400 */ sll $t6, $t8, 0x10
/* 027E70 80027270 000CC900 */ sll $t9, $t4, 4
/* 027E74 80027274 3338FFFF */ andi $t8, $t9, 0xffff
/* 027E78 80027278 01C17825 */ or $t7, $t6, $at
/* 027E7C 8002727C 01F87025 */ or $t6, $t7, $t8
/* 027E80 80027280 3C198012 */ lui $t9, %hi(D_8011D498) # $t9, 0x8012
/* 027E84 80027284 AD4E0000 */ sw $t6, ($t2)
/* 027E88 80027288 8F39D498 */ lw $t9, %lo(D_8011D498)($t9)
/* 027E8C 8002728C 24E7B0A8 */ addiu $a3, %lo(D_8011B0A8) # addiu $a3, $a3, -0x4f58
/* 027E90 80027290 03317821 */ addu $t7, $t9, $s1
/* 027E94 80027294 AD4F0004 */ sw $t7, 4($t2)
/* 027E98 80027298 3C088012 */ lui $t0, %hi(D_8011B0AC) # $t0, 0x8012
/* 027E9C 8002729C 8CF80000 */ lw $t8, ($a3)
/* 027EA0 800272A0 2508B0AC */ addiu $t0, %lo(D_8011B0AC) # addiu $t0, $t0, -0x4f54
/* 027EA4 800272A4 8D0E0000 */ lw $t6, ($t0)
/* 027EA8 800272A8 A4600000 */ sh $zero, ($v1)
/* 027EAC 800272AC 3C018012 */ lui $at, %hi(D_8011D498) # $at, 0x8012
/* 027EB0 800272B0 AE180000 */ sw $t8, ($s0)
/* 027EB4 800272B4 AC2ED498 */ sw $t6, %lo(D_8011D498)($at)
.L800272B8:
/* 027EB8 800272B8 3C014000 */ li $at, 0x40000000 # 2.000000
/* 027EBC 800272BC 44819000 */ mtc1 $at, $f18
/* 027EC0 800272C0 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012
/* 027EC4 800272C4 C420D4A0 */ lwc1 $f0, %lo(D_8011D4A0)($at)
/* 027EC8 800272C8 3C018012 */ lui $at, %hi(D_8011D4AC) # $at, 0x8012
/* 027ECC 800272CC 46006102 */ mul.s $f4, $f12, $f0
/* 027ED0 800272D0 C422D4AC */ lwc1 $f2, %lo(D_8011D4AC)($at)
/* 027ED4 800272D4 3C078012 */ lui $a3, %hi(D_8011B0A8) # $a3, 0x8012
/* 027ED8 800272D8 24E7B0A8 */ addiu $a3, %lo(D_8011B0A8) # addiu $a3, $a3, -0x4f58
/* 027EDC 800272DC 46022180 */ add.s $f6, $f4, $f2
/* 027EE0 800272E0 8CE20000 */ lw $v0, ($a3)
/* 027EE4 800272E4 4459F800 */ cfc1 $t9, $31
/* 027EE8 800272E8 3C0D8012 */ lui $t5, %hi(D_8011B0E1) # $t5, 0x8012
/* 027EEC 800272EC 37210003 */ ori $at, $t9, 3
/* 027EF0 800272F0 38210002 */ xori $at, $at, 2
/* 027EF4 800272F4 44C1F800 */ ctc1 $at, $31
/* 027EF8 800272F8 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012
/* 027EFC 800272FC 46003224 */ cvt.w.s $f8, $f6
/* 027F00 80027300 C42ED4A4 */ lwc1 $f14, %lo(D_8011D4A4)($at)
/* 027F04 80027304 44D9F800 */ ctc1 $t9, $31
/* 027F08 80027308 3C018012 */ lui $at, %hi(D_8011D4B0) # $at, 0x8012
/* 027F0C 8002730C 460E6282 */ mul.s $f10, $f12, $f14
/* 027F10 80027310 C430D4B0 */ lwc1 $f16, %lo(D_8011D4B0)($at)
/* 027F14 80027314 44094000 */ mfc1 $t1, $f8
/* 027F18 80027318 C7A8001C */ lwc1 $f8, 0x1c($sp)
/* 027F1C 8002731C 46105100 */ add.s $f4, $f10, $f16
/* 027F20 80027320 3C108012 */ lui $s0, %hi(D_8011B0E2) # $s0, 0x8012
/* 027F24 80027324 444EF800 */ cfc1 $t6, $31
/* 027F28 80027328 3C118012 */ lui $s1, %hi(D_8011B0E3) # $s1, 0x8012
/* 027F2C 8002732C 35C10003 */ ori $at, $t6, 3
/* 027F30 80027330 38210002 */ xori $at, $at, 2
/* 027F34 80027334 44C1F800 */ ctc1 $at, $31
/* 027F38 80027338 91ADB0E1 */ lbu $t5, %lo(D_8011B0E1)($t5)
/* 027F3C 8002733C 460021A4 */ cvt.w.s $f6, $f4
/* 027F40 80027340 9210B0E2 */ lbu $s0, %lo(D_8011B0E2)($s0)
/* 027F44 80027344 44CEF800 */ ctc1 $t6, $31
/* 027F48 80027348 440A3000 */ mfc1 $t2, $f6
/* 027F4C 8002734C 46004282 */ mul.s $f10, $f8, $f0
/* 027F50 80027350 9231B0E3 */ lbu $s1, %lo(D_8011B0E3)($s1)
/* 027F54 80027354 A4490000 */ sh $t1, ($v0)
/* 027F58 80027358 3C088012 */ lui $t0, %hi(D_8011B0AC) # $t0, 0x8012
/* 027F5C 8002735C 46025100 */ add.s $f4, $f10, $f2
/* 027F60 80027360 2508B0AC */ addiu $t0, %lo(D_8011B0AC) # addiu $t0, $t0, -0x4f54
/* 027F64 80027364 4458F800 */ cfc1 $t8, $31
/* 027F68 80027368 24420028 */ addiu $v0, $v0, 0x28
/* 027F6C 8002736C 37010003 */ ori $at, $t8, 3
/* 027F70 80027370 38210002 */ xori $at, $at, 2
/* 027F74 80027374 44C1F800 */ ctc1 $at, $31
/* 027F78 80027378 00000000 */ nop
/* 027F7C 8002737C 460021A4 */ cvt.w.s $f6, $f4
/* 027F80 80027380 44D8F800 */ ctc1 $t8, $31
/* 027F84 80027384 440B3000 */ mfc1 $t3, $f6
/* 027F88 80027388 460E4282 */ mul.s $f10, $f8, $f14
/* 027F8C 8002738C C4880000 */ lwc1 $f8, ($a0)
/* 027F90 80027390 241800FF */ li $t8, 255
/* 027F94 80027394 A058FFE1 */ sb $t8, -0x1f($v0)
/* 027F98 80027398 46105100 */ add.s $f4, $f10, $f16
/* 027F9C 8002739C A04DFFDE */ sb $t5, -0x22($v0)
/* 027FA0 800273A0 444FF800 */ cfc1 $t7, $31
/* 027FA4 800273A4 A050FFDF */ sb $s0, -0x21($v0)
/* 027FA8 800273A8 35E10003 */ ori $at, $t7, 3
/* 027FAC 800273AC 38210002 */ xori $at, $at, 2
/* 027FB0 800273B0 44C1F800 */ ctc1 $at, $31
/* 027FB4 800273B4 A44AFFDC */ sh $t2, -0x24($v0)
/* 027FB8 800273B8 460021A4 */ cvt.w.s $f6, $f4
/* 027FBC 800273BC A051FFE0 */ sb $s1, -0x20($v0)
/* 027FC0 800273C0 44CFF800 */ ctc1 $t7, $31
/* 027FC4 800273C4 440C3000 */ mfc1 $t4, $f6
/* 027FC8 800273C8 46124280 */ add.s $f10, $f8, $f18
/* 027FCC 800273CC A44BFFE2 */ sh $t3, -0x1e($v0)
/* 027FD0 800273D0 4459F800 */ cfc1 $t9, $31
/* 027FD4 800273D4 00000000 */ nop
/* 027FD8 800273D8 37210003 */ ori $at, $t9, 3
/* 027FDC 800273DC 38210002 */ xori $at, $at, 2
/* 027FE0 800273E0 44C1F800 */ ctc1 $at, $31
/* 027FE4 800273E4 00000000 */ nop
/* 027FE8 800273E8 46005124 */ cvt.w.s $f4, $f10
/* 027FEC 800273EC 440F2000 */ mfc1 $t7, $f4
/* 027FF0 800273F0 44D9F800 */ ctc1 $t9, $31
/* 027FF4 800273F4 A44FFFDA */ sh $t7, -0x26($v0)
/* 027FF8 800273F8 C4860004 */ lwc1 $f6, 4($a0)
/* 027FFC 800273FC 240F00FF */ li $t7, 255
/* 028000 80027400 46123200 */ add.s $f8, $f6, $f18
/* 028004 80027404 A04FFFEB */ sb $t7, -0x15($v0)
/* 028008 80027408 444EF800 */ cfc1 $t6, $31
/* 02800C 8002740C A449FFEC */ sh $t1, -0x14($v0)
/* 028010 80027410 35C10003 */ ori $at, $t6, 3
/* 028014 80027414 38210002 */ xori $at, $at, 2
/* 028018 80027418 44C1F800 */ ctc1 $at, $31
/* 02801C 8002741C A04DFFE8 */ sb $t5, -0x18($v0)
/* 028020 80027420 460042A4 */ cvt.w.s $f10, $f8
/* 028024 80027424 A050FFE9 */ sb $s0, -0x17($v0)
/* 028028 80027428 44195000 */ mfc1 $t9, $f10
/* 02802C 8002742C A051FFEA */ sb $s1, -0x16($v0)
/* 028030 80027430 A44CFFE6 */ sh $t4, -0x1a($v0)
/* 028034 80027434 A459FFE4 */ sh $t9, -0x1c($v0)
/* 028038 80027438 44CEF800 */ ctc1 $t6, $31
/* 02803C 8002743C C4A40000 */ lwc1 $f4, ($a1)
/* 028040 80027440 241900FF */ li $t9, 255
/* 028044 80027444 46122181 */ sub.s $f6, $f4, $f18
/* 028048 80027448 A059FFF5 */ sb $t9, -0xb($v0)
/* 02804C 8002744C 4458F800 */ cfc1 $t8, $31
/* 028050 80027450 A04DFFF2 */ sb $t5, -0xe($v0)
/* 028054 80027454 37010003 */ ori $at, $t8, 3
/* 028058 80027458 38210002 */ xori $at, $at, 2
/* 02805C 8002745C 44C1F800 */ ctc1 $at, $31
/* 028060 80027460 A050FFF3 */ sb $s0, -0xd($v0)
/* 028064 80027464 46003224 */ cvt.w.s $f8, $f6
/* 028068 80027468 A44AFFF0 */ sh $t2, -0x10($v0)
/* 02806C 8002746C 440E4000 */ mfc1 $t6, $f8
/* 028070 80027470 A051FFF4 */ sb $s1, -0xc($v0)
/* 028074 80027474 A44BFFF6 */ sh $t3, -0xa($v0)
/* 028078 80027478 A44EFFEE */ sh $t6, -0x12($v0)
/* 02807C 8002747C 44D8F800 */ ctc1 $t8, $31
/* 028080 80027480 C4AA0004 */ lwc1 $f10, 4($a1)
/* 028084 80027484 240E00FF */ li $t6, 255
/* 028088 80027488 46125101 */ sub.s $f4, $f10, $f18
/* 02808C 8002748C A04DFFFC */ sb $t5, -4($v0)
/* 028090 80027490 444FF800 */ cfc1 $t7, $31
/* 028094 80027494 A050FFFD */ sb $s0, -3($v0)
/* 028098 80027498 35E10003 */ ori $at, $t7, 3
/* 02809C 8002749C 38210002 */ xori $at, $at, 2
/* 0280A0 800274A0 44C1F800 */ ctc1 $at, $31
/* 0280A4 800274A4 A44CFFFA */ sh $t4, -6($v0)
/* 0280A8 800274A8 460021A4 */ cvt.w.s $f6, $f4
/* 0280AC 800274AC A04EFFFF */ sb $t6, -1($v0)
/* 0280B0 800274B0 44183000 */ mfc1 $t8, $f6
/* 0280B4 800274B4 A051FFFE */ sb $s1, -2($v0)
/* 0280B8 800274B8 A458FFF8 */ sh $t8, -8($v0)
/* 0280BC 800274BC 90650001 */ lbu $a1, 1($v1)
/* 0280C0 800274C0 8D040000 */ lw $a0, ($t0)
/* 0280C4 800274C4 ACE20000 */ sw $v0, ($a3)
/* 0280C8 800274C8 240D03E0 */ li $t5, 992
/* 0280CC 800274CC 24100001 */ li $s0, 1
/* 0280D0 800274D0 240C0040 */ li $t4, 64
/* 0280D4 800274D4 24AA0002 */ addiu $t2, $a1, 2
/* 0280D8 800274D8 24AB0001 */ addiu $t3, $a1, 1
/* 0280DC 800274DC 24B90003 */ addiu $t9, $a1, 3
/* 0280E0 800274E0 A0990011 */ sb $t9, 0x11($a0)
/* 0280E4 800274E4 A08C0000 */ sb $t4, ($a0)
/* 0280E8 800274E8 A08A0001 */ sb $t2, 1($a0)
/* 0280EC 800274EC A08B0002 */ sb $t3, 2($a0)
/* 0280F0 800274F0 A0850003 */ sb $a1, 3($a0)
/* 0280F4 800274F4 A48D0004 */ sh $t5, 4($a0)
/* 0280F8 800274F8 A48D0006 */ sh $t5, 6($a0)
/* 0280FC 800274FC A48D0008 */ sh $t5, 8($a0)
/* 028100 80027500 A480000A */ sh $zero, 0xa($a0)
/* 028104 80027504 A490000C */ sh $s0, 0xc($a0)
/* 028108 80027508 A480000E */ sh $zero, 0xe($a0)
/* 02810C 8002750C A08C0010 */ sb $t4, 0x10($a0)
/* 028110 80027510 A08B0012 */ sb $t3, 0x12($a0)
/* 028114 80027514 A08A0013 */ sb $t2, 0x13($a0)
/* 028118 80027518 A4900014 */ sh $s0, 0x14($a0)
/* 02811C 8002751C A48D0016 */ sh $t5, 0x16($a0)
/* 028120 80027520 A48D0018 */ sh $t5, 0x18($a0)
/* 028124 80027524 A48D001A */ sh $t5, 0x1a($a0)
/* 028128 80027528 A490001C */ sh $s0, 0x1c($a0)
/* 02812C 8002752C A480001E */ sh $zero, 0x1e($a0)
/* 028130 80027530 44CFF800 */ ctc1 $t7, $31
/* 028134 80027534 846F0000 */ lh $t7, ($v1)
/* 028138 80027538 84CE0000 */ lh $t6, ($a2)
/* 02813C 8002753C 24840020 */ addiu $a0, $a0, 0x20
/* 028140 80027540 25F80004 */ addiu $t8, $t7, 4
/* 028144 80027544 25D90001 */ addiu $t9, $t6, 1
/* 028148 80027548 AD040000 */ sw $a0, ($t0)
/* 02814C 8002754C A4780000 */ sh $t8, ($v1)
/* 028150 80027550 A4D90000 */ sh $t9, ($a2)
/* 028154 80027554 00001025 */ move $v0, $zero
.L80027558:
/* 028158 80027558 8FB00008 */ lw $s0, 8($sp)
/* 02815C 8002755C 8FB1000C */ lw $s1, 0xc($sp)
/* 028160 80027560 03E00008 */ jr $ra
/* 028164 80027564 27BD0010 */ addiu $sp, $sp, 0x10
@@ -0,0 +1,245 @@
glabel func_80027568
/* 028168 80027568 27BDFF18 */ addiu $sp, $sp, -0xe8
/* 02816C 8002756C AFBF0044 */ sw $ra, 0x44($sp)
/* 028170 80027570 E7BF0038 */ swc1 $f31, 0x38($sp)
/* 028174 80027574 E7BE003C */ swc1 $f30, 0x3c($sp)
/* 028178 80027578 E7BD0030 */ swc1 $f29, 0x30($sp)
/* 02817C 8002757C E7BC0034 */ swc1 $f28, 0x34($sp)
/* 028180 80027580 E7BB0028 */ swc1 $f27, 0x28($sp)
/* 028184 80027584 E7BA002C */ swc1 $f26, 0x2c($sp)
/* 028188 80027588 E7B90020 */ swc1 $f25, 0x20($sp)
/* 02818C 8002758C E7B80024 */ swc1 $f24, 0x24($sp)
/* 028190 80027590 E7B70018 */ swc1 $f23, 0x18($sp)
/* 028194 80027594 E7B6001C */ swc1 $f22, 0x1c($sp)
/* 028198 80027598 E7B50010 */ swc1 $f21, 0x10($sp)
/* 02819C 8002759C E7B40014 */ swc1 $f20, 0x14($sp)
/* 0281A0 800275A0 0C006E9D */ jal func_8001BA74
/* 0281A4 800275A4 27A400C4 */ addiu $a0, $sp, 0xc4
/* 0281A8 800275A8 8FAE00C4 */ lw $t6, 0xc4($sp)
/* 0281AC 800275AC 00403025 */ move $a2, $v0
/* 0281B0 800275B0 15C00003 */ bnez $t6, .L800275C0
/* 0281B4 800275B4 00000000 */ nop
/* 0281B8 800275B8 100000BC */ b .L800278AC
/* 0281BC 800275BC 00001025 */ move $v0, $zero
.L800275C0:
/* 0281C0 800275C0 0C019944 */ jal func_80066510
/* 0281C4 800275C4 AFA60080 */ sw $a2, 0x80($sp)
/* 0281C8 800275C8 8FA60080 */ lw $a2, 0x80($sp)
/* 0281CC 800275CC 1440000A */ bnez $v0, .L800275F8
/* 0281D0 800275D0 3C0F8012 */ lui $t7, %hi(D_8011B0B0) # $t7, 0x8012
/* 0281D4 800275D4 8DEFB0B0 */ lw $t7, %lo(D_8011B0B0)($t7)
/* 0281D8 800275D8 00000000 */ nop
/* 0281DC 800275DC 85E20036 */ lh $v0, 0x36($t7)
/* 0281E0 800275E0 00000000 */ nop
/* 0281E4 800275E4 28410005 */ slti $at, $v0, 5
/* 0281E8 800275E8 10200003 */ beqz $at, .L800275F8
/* 0281EC 800275EC 24010003 */ li $at, 3
/* 0281F0 800275F0 14410003 */ bne $v0, $at, .L80027600
/* 0281F4 800275F4 00000000 */ nop
.L800275F8:
/* 0281F8 800275F8 100000AC */ b .L800278AC
/* 0281FC 800275FC 00001025 */ move $v0, $zero
.L80027600:
/* 028200 80027600 0C019888 */ jal func_80066220
/* 028204 80027604 AFA60080 */ sw $a2, 0x80($sp)
/* 028208 80027608 8FB800C4 */ lw $t8, 0xc4($sp)
/* 02820C 8002760C 8FA60080 */ lw $a2, 0x80($sp)
/* 028210 80027610 00005825 */ move $t3, $zero
/* 028214 80027614 1B000011 */ blez $t8, .L8002765C
/* 028218 80027618 00001825 */ move $v1, $zero
/* 02821C 8002761C 0003C880 */ sll $t9, $v1, 2
.L80027620:
/* 028220 80027620 00D97021 */ addu $t6, $a2, $t9
/* 028224 80027624 8DC50000 */ lw $a1, ($t6)
/* 028228 80027628 8FB800C4 */ lw $t8, 0xc4($sp)
/* 02822C 8002762C 8CA40064 */ lw $a0, 0x64($a1)
/* 028230 80027630 00000000 */ nop
/* 028234 80027634 848F0000 */ lh $t7, ($a0)
/* 028238 80027638 00000000 */ nop
/* 02823C 8002763C 144F0004 */ bne $v0, $t7, .L80027650
/* 028240 80027640 24630001 */ addiu $v1, $v1, 1
/* 028244 80027644 8FA300C4 */ lw $v1, 0xc4($sp)
/* 028248 80027648 00A05825 */ move $t3, $a1
/* 02824C 8002764C 24630001 */ addiu $v1, $v1, 1
.L80027650:
/* 028250 80027650 0078082A */ slt $at, $v1, $t8
/* 028254 80027654 1420FFF2 */ bnez $at, .L80027620
/* 028258 80027658 0003C880 */ sll $t9, $v1, 2
.L8002765C:
/* 02825C 8002765C 15600003 */ bnez $t3, .L8002766C
/* 028260 80027660 24040001 */ li $a0, 1
/* 028264 80027664 10000091 */ b .L800278AC
/* 028268 80027668 00001025 */ move $v0, $zero
.L8002766C:
/* 02826C 8002766C 3C068012 */ lui $a2, %hi(D_8011B0B0) # $a2, 0x8012
/* 028270 80027670 8CC6B0B0 */ lw $a2, %lo(D_8011B0B0)($a2)
/* 028274 80027674 2565000C */ addiu $a1, $t3, 0xc
/* 028278 80027678 2407FFFF */ li $a3, -1
/* 02827C 8002767C AFAB007C */ sw $t3, 0x7c($sp)
/* 028280 80027680 0C00C44C */ jal func_80031130
/* 028284 80027684 24C6000C */ addiu $a2, $a2, 0xc
/* 028288 80027688 3C038012 */ lui $v1, %hi(D_8011D378) # $v1, 0x8012
/* 02828C 8002768C 8C63D378 */ lw $v1, %lo(D_8011D378)($v1)
/* 028290 80027690 8FAB007C */ lw $t3, 0x7c($sp)
/* 028294 80027694 18600084 */ blez $v1, .L800278A8
/* 028298 80027698 00003825 */ move $a3, $zero
/* 02829C 8002769C 3C198012 */ lui $t9, %hi(D_8011D370) # $t9, 0x8012
/* 0282A0 800276A0 8F39D370 */ lw $t9, %lo(D_8011D370)($t9)
/* 0282A4 800276A4 3C014080 */ li $at, 0x40800000 # 4.000000
/* 0282A8 800276A8 00006080 */ sll $t4, $zero, 2
/* 0282AC 800276AC 00037080 */ sll $t6, $v1, 2
/* 0282B0 800276B0 4481D000 */ mtc1 $at, $f26
/* 0282B4 800276B4 8FBF00E4 */ lw $ra, 0xe4($sp)
/* 0282B8 800276B8 AFAE004C */ sw $t6, 0x4c($sp)
/* 0282BC 800276BC 24090001 */ li $t1, 1
/* 0282C0 800276C0 032C6821 */ addu $t5, $t9, $t4
.L800276C4:
/* 0282C4 800276C4 8DA40000 */ lw $a0, ($t5)
/* 0282C8 800276C8 3C018000 */ lui $at, 0x8000
/* 0282CC 800276CC 18800003 */ blez $a0, .L800276DC
/* 0282D0 800276D0 3C058012 */ lui $a1, %hi(D_8011B0B0) # $a1, 0x8012
/* 0282D4 800276D4 1000006C */ b .L80027888
/* 0282D8 800276D8 0081F825 */ or $ra, $a0, $at
.L800276DC:
/* 0282DC 800276DC 948F0000 */ lhu $t7, ($a0)
/* 0282E0 800276E0 8FE80018 */ lw $t0, 0x18($ra)
/* 0282E4 800276E4 8CA5B0B0 */ lw $a1, %lo(D_8011B0B0)($a1)
/* 0282E8 800276E8 000FC100 */ sll $t8, $t7, 4
/* 0282EC 800276EC 01181821 */ addu $v1, $t0, $t8
/* 0282F0 800276F0 C4620000 */ lwc1 $f2, ($v1)
/* 0282F4 800276F4 C4BC000C */ lwc1 $f28, 0xc($a1)
/* 0282F8 800276F8 C4740004 */ lwc1 $f20, 4($v1)
/* 0282FC 800276FC 4602E102 */ mul.s $f4, $f28, $f2
/* 028300 80027700 C4BE0010 */ lwc1 $f30, 0x10($a1)
/* 028304 80027704 C4760008 */ lwc1 $f22, 8($v1)
/* 028308 80027708 C4A00014 */ lwc1 $f0, 0x14($a1)
/* 02830C 8002770C 461EA182 */ mul.s $f6, $f20, $f30
/* 028310 80027710 C478000C */ lwc1 $f24, 0xc($v1)
/* 028314 80027714 3C01402C */ li $at, 0x402C0000 # 2.687500
/* 028318 80027718 00805025 */ move $t2, $a0
/* 02831C 8002771C 4600B282 */ mul.s $f10, $f22, $f0
/* 028320 80027720 46062200 */ add.s $f8, $f4, $f6
/* 028324 80027724 44815800 */ mtc1 $at, $f11
/* 028328 80027728 3C01800E */ lui $at, %hi(D_800E5E90) # $at, 0x800e
/* 02832C 8002772C 460A4100 */ add.s $f4, $f8, $f10
/* 028330 80027730 44805000 */ mtc1 $zero, $f10
/* 028334 80027734 46182180 */ add.s $f6, $f4, $f24
/* 028338 80027738 E7A0005C */ swc1 $f0, 0x5c($sp)
/* 02833C 8002773C 46003221 */ cvt.d.s $f8, $f6
/* 028340 80027740 462A4101 */ sub.d $f4, $f8, $f10
/* 028344 80027744 C4285E94 */ lwc1 $f8, %lo(D_800E5E94)($at)
/* 028348 80027748 46202320 */ cvt.s.d $f12, $f4
/* 02834C 8002774C C4295E90 */ lwc1 $f9, %lo(D_800E5E90)($at)
/* 028350 80027750 460061A1 */ cvt.d.s $f6, $f12
/* 028354 80027754 4628303C */ c.lt.d $f6, $f8
/* 028358 80027758 00000000 */ nop
/* 02835C 8002775C 4500004B */ bc1f .L8002788C
/* 028360 80027760 8FB9004C */ lw $t9, 0x4c($sp)
/* 028364 80027764 C56E000C */ lwc1 $f14, 0xc($t3)
/* 028368 80027768 C5700010 */ lwc1 $f16, 0x10($t3)
/* 02836C 8002776C 46027282 */ mul.s $f10, $f14, $f2
/* 028370 80027770 C5720014 */ lwc1 $f18, 0x14($t3)
/* 028374 80027774 3C01800E */ lui $at, %hi(D_800E5E9C) # $at, 0x800e
/* 028378 80027778 00001025 */ move $v0, $zero
/* 02837C 8002777C 4610A102 */ mul.s $f4, $f20, $f16
/* 028380 80027780 00000000 */ nop
/* 028384 80027784 4612B202 */ mul.s $f8, $f22, $f18
/* 028388 80027788 46045180 */ add.s $f6, $f10, $f4
/* 02838C 8002778C C4275E98 */ lwc1 $f7, %lo(D_800E5E98)($at)
/* 028390 80027790 46083280 */ add.s $f10, $f6, $f8
/* 028394 80027794 C4265E9C */ lwc1 $f6, %lo(D_800E5E9C)($at)
/* 028398 80027798 46185000 */ add.s $f0, $f10, $f24
/* 02839C 8002779C C7A8005C */ lwc1 $f8, 0x5c($sp)
/* 0283A0 800277A0 46000121 */ cvt.d.s $f4, $f0
/* 0283A4 800277A4 4624303E */ c.le.d $f6, $f4
/* 0283A8 800277A8 00000000 */ nop
/* 0283AC 800277AC 45000036 */ bc1f .L80027888
/* 0283B0 800277B0 00000000 */ nop
/* 0283B4 800277B4 460C0032 */ c.eq.s $f0, $f12
/* 0283B8 800277B8 460EE501 */ sub.s $f20, $f28, $f14
/* 0283BC 800277BC 24070001 */ li $a3, 1
/* 0283C0 800277C0 4610F581 */ sub.s $f22, $f30, $f16
/* 0283C4 800277C4 45010004 */ bc1t .L800277D8
/* 0283C8 800277C8 46124601 */ sub.s $f24, $f8, $f18
/* 0283CC 800277CC 460C0281 */ sub.s $f10, $f0, $f12
/* 0283D0 800277D0 10000003 */ b .L800277E0
/* 0283D4 800277D4 460A0083 */ div.s $f2, $f0, $f10
.L800277D8:
/* 0283D8 800277D8 44801000 */ mtc1 $zero, $f2
/* 0283DC 800277DC 00000000 */ nop
.L800277E0:
/* 0283E0 800277E0 4602A102 */ mul.s $f4, $f20, $f2
/* 0283E4 800277E4 00022840 */ sll $a1, $v0, 1
/* 0283E8 800277E8 01453021 */ addu $a2, $t2, $a1
/* 0283EC 800277EC 4602B182 */ mul.s $f6, $f22, $f2
/* 0283F0 800277F0 46047500 */ add.s $f20, $f14, $f4
/* 0283F4 800277F4 4602C202 */ mul.s $f8, $f24, $f2
/* 0283F8 800277F8 46068580 */ add.s $f22, $f16, $f6
/* 0283FC 800277FC 46089600 */ add.s $f24, $f18, $f8
.L80027800:
/* 028400 80027800 94C20002 */ lhu $v0, 2($a2)
/* 028404 80027804 24A50002 */ addiu $a1, $a1, 2
/* 028408 80027808 30598000 */ andi $t9, $v0, 0x8000
/* 02840C 8002780C 13200004 */ beqz $t9, .L80027820
/* 028410 80027810 00002025 */ move $a0, $zero
/* 028414 80027814 304E7FFF */ andi $t6, $v0, 0x7fff
/* 028418 80027818 01C01025 */ move $v0, $t6
/* 02841C 8002781C 01202025 */ move $a0, $t1
.L80027820:
/* 028420 80027820 0002C100 */ sll $t8, $v0, 4
/* 028424 80027824 01181821 */ addu $v1, $t0, $t8
/* 028428 80027828 C4600000 */ lwc1 $f0, ($v1)
/* 02842C 8002782C C4620004 */ lwc1 $f2, 4($v1)
/* 028430 80027830 46140282 */ mul.s $f10, $f0, $f20
/* 028434 80027834 C46C0008 */ lwc1 $f12, 8($v1)
/* 028438 80027838 C46E000C */ lwc1 $f14, 0xc($v1)
/* 02843C 8002783C 28A10006 */ slti $at, $a1, 6
/* 028440 80027840 46161102 */ mul.s $f4, $f2, $f22
/* 028444 80027844 00000000 */ nop
/* 028448 80027848 46186202 */ mul.s $f8, $f12, $f24
/* 02844C 8002784C 46045180 */ add.s $f6, $f10, $f4
/* 028450 80027850 46083280 */ add.s $f10, $f6, $f8
/* 028454 80027854 460E5480 */ add.s $f18, $f10, $f14
/* 028458 80027858 10800002 */ beqz $a0, .L80027864
/* 02845C 8002785C 46009406 */ mov.s $f16, $f18
/* 028460 80027860 46009407 */ neg.s $f16, $f18
.L80027864:
/* 028464 80027864 4610D03C */ c.lt.s $f26, $f16
/* 028468 80027868 00000000 */ nop
/* 02846C 8002786C 45000002 */ bc1f .L80027878
/* 028470 80027870 00000000 */ nop
/* 028474 80027874 00003825 */ move $a3, $zero
.L80027878:
/* 028478 80027878 10200003 */ beqz $at, .L80027888
/* 02847C 8002787C 24C60002 */ addiu $a2, $a2, 2
/* 028480 80027880 10E9FFDF */ beq $a3, $t1, .L80027800
/* 028484 80027884 00000000 */ nop
.L80027888:
/* 028488 80027888 8FB9004C */ lw $t9, 0x4c($sp)
.L8002788C:
/* 02848C 8002788C 258C0004 */ addiu $t4, $t4, 4
/* 028490 80027890 0199082A */ slt $at, $t4, $t9
/* 028494 80027894 10200004 */ beqz $at, .L800278A8
/* 028498 80027898 25AD0004 */ addiu $t5, $t5, 4
/* 02849C 8002789C 10E0FF89 */ beqz $a3, .L800276C4
/* 0284A0 800278A0 00000000 */ nop
/* 0284A4 800278A4 AFBF00E4 */ sw $ra, 0xe4($sp)
.L800278A8:
/* 0284A8 800278A8 00E01025 */ move $v0, $a3
.L800278AC:
/* 0284AC 800278AC 8FBF0044 */ lw $ra, 0x44($sp)
/* 0284B0 800278B0 C7B50010 */ lwc1 $f21, 0x10($sp)
/* 0284B4 800278B4 C7B40014 */ lwc1 $f20, 0x14($sp)
/* 0284B8 800278B8 C7B70018 */ lwc1 $f23, 0x18($sp)
/* 0284BC 800278BC C7B6001C */ lwc1 $f22, 0x1c($sp)
/* 0284C0 800278C0 C7B90020 */ lwc1 $f25, 0x20($sp)
/* 0284C4 800278C4 C7B80024 */ lwc1 $f24, 0x24($sp)
/* 0284C8 800278C8 C7BB0028 */ lwc1 $f27, 0x28($sp)
/* 0284CC 800278CC C7BA002C */ lwc1 $f26, 0x2c($sp)
/* 0284D0 800278D0 C7BD0030 */ lwc1 $f29, 0x30($sp)
/* 0284D4 800278D4 C7BC0034 */ lwc1 $f28, 0x34($sp)
/* 0284D8 800278D8 C7BF0038 */ lwc1 $f31, 0x38($sp)
/* 0284DC 800278DC C7BE003C */ lwc1 $f30, 0x3c($sp)
/* 0284E0 800278E0 03E00008 */ jr $ra
/* 0284E4 800278E4 27BD00E8 */ addiu $sp, $sp, 0xe8
@@ -0,0 +1,352 @@
glabel func_800278E8
/* 0284E8 800278E8 27BDFF90 */ addiu $sp, $sp, -0x70
/* 0284EC 800278EC AFBF001C */ sw $ra, 0x1c($sp)
/* 0284F0 800278F0 AFA40070 */ sw $a0, 0x70($sp)
/* 0284F4 800278F4 AFB10018 */ sw $s1, 0x18($sp)
/* 0284F8 800278F8 AFB00014 */ sw $s0, 0x14($sp)
/* 0284FC 800278FC 0C006E9D */ jal func_8001BA74
/* 028500 80027900 27A40038 */ addiu $a0, $sp, 0x38
/* 028504 80027904 8FAE0038 */ lw $t6, 0x38($sp)
/* 028508 80027908 00001825 */ move $v1, $zero
/* 02850C 8002790C 19C00031 */ blez $t6, .L800279D4
/* 028510 80027910 00003025 */ move $a2, $zero
/* 028514 80027914 00408025 */ move $s0, $v0
.L80027918:
/* 028518 80027918 8E020000 */ lw $v0, ($s0)
/* 02851C 8002791C 00000000 */ nop
/* 028520 80027920 10400028 */ beqz $v0, .L800279C4
/* 028524 80027924 8FAE0038 */ lw $t6, 0x38($sp)
/* 028528 80027928 8C510064 */ lw $s1, 0x64($v0)
/* 02852C 8002792C 27A50030 */ addiu $a1, $sp, 0x30
/* 028530 80027930 822F01FD */ lb $t7, 0x1fd($s1)
/* 028534 80027934 00000000 */ nop
/* 028538 80027938 AFAF0030 */ sw $t7, 0x30($sp)
/* 02853C 8002793C 8E040000 */ lw $a0, ($s0)
/* 028540 80027940 AFA60034 */ sw $a2, 0x34($sp)
/* 028544 80027944 0C006F75 */ jal func_8001BDD4
/* 028548 80027948 AFA30040 */ sw $v1, 0x40($sp)
/* 02854C 8002794C 8FB80030 */ lw $t8, 0x30($sp)
/* 028550 80027950 823901D8 */ lb $t9, 0x1d8($s1)
/* 028554 80027954 8FA30040 */ lw $v1, 0x40($sp)
/* 028558 80027958 8FA60034 */ lw $a2, 0x34($sp)
/* 02855C 8002795C 13200009 */ beqz $t9, .L80027984
/* 028560 80027960 A23801FD */ sb $t8, 0x1fd($s1)
/* 028564 80027964 862801AC */ lh $t0, 0x1ac($s1)
/* 028568 80027968 24010001 */ li $at, 1
/* 02856C 8002796C 15010015 */ bne $t0, $at, .L800279C4
/* 028570 80027970 8FAE0038 */ lw $t6, 0x38($sp)
/* 028574 80027974 AFB1003C */ sw $s1, 0x3c($sp)
/* 028578 80027978 8E090000 */ lw $t1, ($s0)
/* 02857C 8002797C 10000010 */ b .L800279C0
/* 028580 80027980 AFA90048 */ sw $t1, 0x48($sp)
.L80027984:
/* 028584 80027984 14600005 */ bnez $v1, .L8002799C
/* 028588 80027988 00000000 */ nop
/* 02858C 8002798C 8E0A0000 */ lw $t2, ($s0)
/* 028590 80027990 02201825 */ move $v1, $s1
/* 028594 80027994 1000000A */ b .L800279C0
/* 028598 80027998 AFAA004C */ sw $t2, 0x4c($sp)
.L8002799C:
/* 02859C 8002799C 862B01AE */ lh $t3, 0x1ae($s1)
/* 0285A0 800279A0 846C01AE */ lh $t4, 0x1ae($v1)
/* 0285A4 800279A4 00000000 */ nop
/* 0285A8 800279A8 016C082A */ slt $at, $t3, $t4
/* 0285AC 800279AC 10200005 */ beqz $at, .L800279C4
/* 0285B0 800279B0 8FAE0038 */ lw $t6, 0x38($sp)
/* 0285B4 800279B4 8E0D0000 */ lw $t5, ($s0)
/* 0285B8 800279B8 02201825 */ move $v1, $s1
/* 0285BC 800279BC AFAD004C */ sw $t5, 0x4c($sp)
.L800279C0:
/* 0285C0 800279C0 8FAE0038 */ lw $t6, 0x38($sp)
.L800279C4:
/* 0285C4 800279C4 24C60001 */ addiu $a2, $a2, 1
/* 0285C8 800279C8 00CE082A */ slt $at, $a2, $t6
/* 0285CC 800279CC 1420FFD2 */ bnez $at, .L80027918
/* 0285D0 800279D0 26100004 */ addiu $s0, $s0, 4
.L800279D4:
/* 0285D4 800279D4 10600005 */ beqz $v1, .L800279EC
/* 0285D8 800279D8 8FB1003C */ lw $s1, 0x3c($sp)
/* 0285DC 800279DC 8FA5004C */ lw $a1, 0x4c($sp)
/* 0285E0 800279E0 10000004 */ b .L800279F4
/* 0285E4 800279E4 00608825 */ move $s1, $v1
/* 0285E8 800279E8 8FB1003C */ lw $s1, 0x3c($sp)
.L800279EC:
/* 0285EC 800279EC 8FA50048 */ lw $a1, 0x48($sp)
/* 0285F0 800279F0 00000000 */ nop
.L800279F4:
/* 0285F4 800279F4 822401FD */ lb $a0, 0x1fd($s1)
/* 0285F8 800279F8 0C006F65 */ jal func_8001BD94
/* 0285FC 800279FC AFA50054 */ sw $a1, 0x54($sp)
/* 028600 80027A00 3C0F8012 */ lui $t7, %hi(D_8011B104) # $t7, 0x8012
/* 028604 80027A04 8DEFB104 */ lw $t7, %lo(D_8011B104)($t7)
/* 028608 80027A08 823801FD */ lb $t8, 0x1fd($s1)
/* 02860C 80027A0C 8FA50054 */ lw $a1, 0x54($sp)
/* 028610 80027A10 11F80005 */ beq $t7, $t8, .L80027A28
/* 028614 80027A14 00408025 */ move $s0, $v0
/* 028618 80027A18 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012
/* 02861C 80027A1C 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8
/* 028620 80027A20 1000000E */ b .L80027A5C
/* 028624 80027A24 ACE00000 */ sw $zero, ($a3)
.L80027A28:
/* 028628 80027A28 3C038012 */ lui $v1, %hi(D_8011B100) # $v1, 0x8012
/* 02862C 80027A2C 2463B100 */ addiu $v1, %lo(D_8011B100) # addiu $v1, $v1, -0x4f00
/* 028630 80027A30 8C790000 */ lw $t9, ($v1)
/* 028634 80027A34 86280000 */ lh $t0, ($s1)
/* 028638 80027A38 00000000 */ nop
/* 02863C 80027A3C 13280007 */ beq $t9, $t0, .L80027A5C
/* 028640 80027A40 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012
/* 028644 80027A44 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8
/* 028648 80027A48 240900B4 */ li $t1, 180
/* 02864C 80027A4C ACE90000 */ sw $t1, ($a3)
/* 028650 80027A50 862A0000 */ lh $t2, ($s1)
/* 028654 80027A54 00000000 */ nop
/* 028658 80027A58 AC6A0000 */ sw $t2, ($v1)
.L80027A5C:
/* 02865C 80027A5C 104000ED */ beqz $v0, .L80027E14
/* 028660 80027A60 8FBF001C */ lw $ra, 0x1c($sp)
/* 028664 80027A64 0C01A73F */ jal func_80069CFC
/* 028668 80027A68 AFA50054 */ sw $a1, 0x54($sp)
/* 02866C 80027A6C C604000C */ lwc1 $f4, 0xc($s0)
/* 028670 80027A70 8FA50054 */ lw $a1, 0x54($sp)
/* 028674 80027A74 E444000C */ swc1 $f4, 0xc($v0)
/* 028678 80027A78 C6060010 */ lwc1 $f6, 0x10($s0)
/* 02867C 80027A7C C44A000C */ lwc1 $f10, 0xc($v0)
/* 028680 80027A80 E4460010 */ swc1 $f6, 0x10($v0)
/* 028684 80027A84 C6080014 */ lwc1 $f8, 0x14($s0)
/* 028688 80027A88 C4520010 */ lwc1 $f18, 0x10($v0)
/* 02868C 80027A8C E4480014 */ swc1 $f8, 0x14($v0)
/* 028690 80027A90 C4A40010 */ lwc1 $f4, 0x10($a1)
/* 028694 80027A94 C4B0000C */ lwc1 $f16, 0xc($a1)
/* 028698 80027A98 46049181 */ sub.s $f6, $f18, $f4
/* 02869C 80027A9C 46105081 */ sub.s $f2, $f10, $f16
/* 0286A0 80027AA0 E7A60064 */ swc1 $f6, 0x64($sp)
/* 0286A4 80027AA4 C4480014 */ lwc1 $f8, 0x14($v0)
/* 0286A8 80027AA8 C4AA0014 */ lwc1 $f10, 0x14($a1)
/* 0286AC 80027AAC 46021402 */ mul.s $f16, $f2, $f2
/* 0286B0 80027AB0 460A4381 */ sub.s $f14, $f8, $f10
/* 0286B4 80027AB4 E7A20068 */ swc1 $f2, 0x68($sp)
/* 0286B8 80027AB8 E7AE0060 */ swc1 $f14, 0x60($sp)
/* 0286BC 80027ABC 460E7482 */ mul.s $f18, $f14, $f14
/* 0286C0 80027AC0 AFA20058 */ sw $v0, 0x58($sp)
/* 0286C4 80027AC4 0C0326B4 */ jal sqrtf
/* 0286C8 80027AC8 46128300 */ add.s $f12, $f16, $f18
/* 0286CC 80027ACC 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012
/* 0286D0 80027AD0 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8
/* 0286D4 80027AD4 8CEB0000 */ lw $t3, ($a3)
/* 0286D8 80027AD8 8FA30058 */ lw $v1, 0x58($sp)
/* 0286DC 80027ADC C7A20068 */ lwc1 $f2, 0x68($sp)
/* 0286E0 80027AE0 C7AE0060 */ lwc1 $f14, 0x60($sp)
/* 0286E4 80027AE4 1160008C */ beqz $t3, .L80027D18
/* 0286E8 80027AE8 46000306 */ mov.s $f12, $f0
/* 0286EC 80027AEC 444CF800 */ cfc1 $t4, $31
/* 0286F0 80027AF0 AFA30058 */ sw $v1, 0x58($sp)
/* 0286F4 80027AF4 35810003 */ ori $at, $t4, 3
/* 0286F8 80027AF8 38210002 */ xori $at, $at, 2
/* 0286FC 80027AFC 44C1F800 */ ctc1 $at, $31
/* 028700 80027B00 E7AC005C */ swc1 $f12, 0x5c($sp)
/* 028704 80027B04 46001124 */ cvt.w.s $f4, $f2
/* 028708 80027B08 44CCF800 */ ctc1 $t4, $31
/* 02870C 80027B0C 44042000 */ mfc1 $a0, $f4
/* 028710 80027B10 00000000 */ nop
/* 028714 80027B14 444DF800 */ cfc1 $t5, $31
/* 028718 80027B18 00000000 */ nop
/* 02871C 80027B1C 35A10003 */ ori $at, $t5, 3
/* 028720 80027B20 38210002 */ xori $at, $at, 2
/* 028724 80027B24 44C1F800 */ ctc1 $at, $31
/* 028728 80027B28 00000000 */ nop
/* 02872C 80027B2C 460071A4 */ cvt.w.s $f6, $f14
/* 028730 80027B30 44053000 */ mfc1 $a1, $f6
/* 028734 80027B34 44CDF800 */ ctc1 $t5, $31
/* 028738 80027B38 0C01C19B */ jal func_8007066C
/* 02873C 80027B3C 00000000 */ nop
/* 028740 80027B40 8FA30058 */ lw $v1, 0x58($sp)
/* 028744 80027B44 00027023 */ negu $t6, $v0
/* 028748 80027B48 84660000 */ lh $a2, ($v1)
/* 02874C 80027B4C 34018000 */ li $at, 32768
/* 028750 80027B50 01C68023 */ subu $s0, $t6, $a2
/* 028754 80027B54 02018021 */ addu $s0, $s0, $at
/* 028758 80027B58 00107C00 */ sll $t7, $s0, 0x10
/* 02875C 80027B5C 000FC403 */ sra $t8, $t7, 0x10
/* 028760 80027B60 34018001 */ li $at, 32769
/* 028764 80027B64 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012
/* 028768 80027B68 C7AC005C */ lwc1 $f12, 0x5c($sp)
/* 02876C 80027B6C 0301082A */ slt $at, $t8, $at
/* 028770 80027B70 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8
/* 028774 80027B74 14200007 */ bnez $at, .L80027B94
/* 028778 80027B78 03008025 */ move $s0, $t8
/* 02877C 80027B7C 3C08FFFF */ lui $t0, (0xFFFF0001 >> 16) # lui $t0, 0xffff
/* 028780 80027B80 35080001 */ ori $t0, (0xFFFF0001 & 0xFFFF) # ori $t0, $t0, 1
/* 028784 80027B84 0018C823 */ negu $t9, $t8
/* 028788 80027B88 01198023 */ subu $s0, $t0, $t9
/* 02878C 80027B8C 00104C00 */ sll $t1, $s0, 0x10
/* 028790 80027B90 00098403 */ sra $s0, $t1, 0x10
.L80027B94:
/* 028794 80027B94 8CEB0000 */ lw $t3, ($a3)
/* 028798 80027B98 3C014334 */ li $at, 0x43340000 # 180.000000
/* 02879C 80027B9C 448B4000 */ mtc1 $t3, $f8
/* 0287A0 80027BA0 44818000 */ mtc1 $at, $f16
/* 0287A4 80027BA4 468042A0 */ cvt.s.w $f10, $f8
/* 0287A8 80027BA8 3C014180 */ li $at, 0x41800000 # 16.000000
/* 0287AC 80027BAC 44812000 */ mtc1 $at, $f4
/* 0287B0 80027BB0 46105483 */ div.s $f18, $f10, $f16
/* 0287B4 80027BB4 44904000 */ mtc1 $s0, $f8
/* 0287B8 80027BB8 00000000 */ nop
/* 0287BC 80027BBC 468042A0 */ cvt.s.w $f10, $f8
/* 0287C0 80027BC0 46122182 */ mul.s $f6, $f4, $f18
/* 0287C4 80027BC4 00000000 */ nop
/* 0287C8 80027BC8 46065403 */ div.s $f16, $f10, $f6
/* 0287CC 80027BCC 444CF800 */ cfc1 $t4, $31
/* 0287D0 80027BD0 00000000 */ nop
/* 0287D4 80027BD4 35810003 */ ori $at, $t4, 3
/* 0287D8 80027BD8 38210002 */ xori $at, $at, 2
/* 0287DC 80027BDC 44C1F800 */ ctc1 $at, $31
/* 0287E0 80027BE0 00000000 */ nop
/* 0287E4 80027BE4 46008124 */ cvt.w.s $f4, $f16
/* 0287E8 80027BE8 44CCF800 */ ctc1 $t4, $31
/* 0287EC 80027BEC 440E2000 */ mfc1 $t6, $f4
/* 0287F0 80027BF0 00000000 */ nop
/* 0287F4 80027BF4 4458F800 */ cfc1 $t8, $31
/* 0287F8 80027BF8 00CE7821 */ addu $t7, $a2, $t6
/* 0287FC 80027BFC 37010003 */ ori $at, $t8, 3
/* 028800 80027C00 A46F0000 */ sh $t7, ($v1)
/* 028804 80027C04 38210002 */ xori $at, $at, 2
/* 028808 80027C08 44C1F800 */ ctc1 $at, $31
/* 02880C 80027C0C C7B20064 */ lwc1 $f18, 0x64($sp)
/* 028810 80027C10 AFA30058 */ sw $v1, 0x58($sp)
/* 028814 80027C14 46009224 */ cvt.w.s $f8, $f18
/* 028818 80027C18 44D8F800 */ ctc1 $t8, $31
/* 02881C 80027C1C 44044000 */ mfc1 $a0, $f8
/* 028820 80027C20 00000000 */ nop
/* 028824 80027C24 4448F800 */ cfc1 $t0, $31
/* 028828 80027C28 00000000 */ nop
/* 02882C 80027C2C 35010003 */ ori $at, $t0, 3
/* 028830 80027C30 38210002 */ xori $at, $at, 2
/* 028834 80027C34 44C1F800 */ ctc1 $at, $31
/* 028838 80027C38 00000000 */ nop
/* 02883C 80027C3C 460062A4 */ cvt.w.s $f10, $f12
/* 028840 80027C40 44055000 */ mfc1 $a1, $f10
/* 028844 80027C44 44C8F800 */ ctc1 $t0, $31
/* 028848 80027C48 0C01C19B */ jal func_8007066C
/* 02884C 80027C4C 00000000 */ nop
/* 028850 80027C50 8FA30058 */ lw $v1, 0x58($sp)
/* 028854 80027C54 34018001 */ li $at, 32769
/* 028858 80027C58 84640002 */ lh $a0, 2($v1)
/* 02885C 80027C5C 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012
/* 028860 80027C60 00448023 */ subu $s0, $v0, $a0
/* 028864 80027C64 0010CC00 */ sll $t9, $s0, 0x10
/* 028868 80027C68 00194C03 */ sra $t1, $t9, 0x10
/* 02886C 80027C6C 0121082A */ slt $at, $t1, $at
/* 028870 80027C70 01208025 */ move $s0, $t1
/* 028874 80027C74 14200007 */ bnez $at, .L80027C94
/* 028878 80027C78 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8
/* 02887C 80027C7C 3C0BFFFF */ lui $t3, (0xFFFF0001 >> 16) # lui $t3, 0xffff
/* 028880 80027C80 356B0001 */ ori $t3, (0xFFFF0001 & 0xFFFF) # ori $t3, $t3, 1
/* 028884 80027C84 00095023 */ negu $t2, $t1
/* 028888 80027C88 016A8023 */ subu $s0, $t3, $t2
/* 02888C 80027C8C 00106400 */ sll $t4, $s0, 0x10
/* 028890 80027C90 000C8403 */ sra $s0, $t4, 0x10
.L80027C94:
/* 028894 80027C94 8CEE0000 */ lw $t6, ($a3)
/* 028898 80027C98 3C014334 */ li $at, 0x43340000 # 180.000000
/* 02889C 80027C9C 448E3000 */ mtc1 $t6, $f6
/* 0288A0 80027CA0 44812000 */ mtc1 $at, $f4
/* 0288A4 80027CA4 46803420 */ cvt.s.w $f16, $f6
/* 0288A8 80027CA8 3C014180 */ li $at, 0x41800000 # 16.000000
/* 0288AC 80027CAC 44814000 */ mtc1 $at, $f8
/* 0288B0 80027CB0 46048483 */ div.s $f18, $f16, $f4
/* 0288B4 80027CB4 44903000 */ mtc1 $s0, $f6
/* 0288B8 80027CB8 00000000 */ nop
/* 0288BC 80027CBC 46803420 */ cvt.s.w $f16, $f6
/* 0288C0 80027CC0 46124282 */ mul.s $f10, $f8, $f18
/* 0288C4 80027CC4 00000000 */ nop
/* 0288C8 80027CC8 460A8103 */ div.s $f4, $f16, $f10
/* 0288CC 80027CCC 444FF800 */ cfc1 $t7, $31
/* 0288D0 80027CD0 00000000 */ nop
/* 0288D4 80027CD4 35E10003 */ ori $at, $t7, 3
/* 0288D8 80027CD8 38210002 */ xori $at, $at, 2
/* 0288DC 80027CDC 44C1F800 */ ctc1 $at, $31
/* 0288E0 80027CE0 00000000 */ nop
/* 0288E4 80027CE4 46002224 */ cvt.w.s $f8, $f4
/* 0288E8 80027CE8 44084000 */ mfc1 $t0, $f8
/* 0288EC 80027CEC 44CFF800 */ ctc1 $t7, $31
/* 0288F0 80027CF0 0088C821 */ addu $t9, $a0, $t0
/* 0288F4 80027CF4 A4790002 */ sh $t9, 2($v1)
/* 0288F8 80027CF8 8CE90000 */ lw $t1, ($a3)
/* 0288FC 80027CFC 8FAB0070 */ lw $t3, 0x70($sp)
/* 028900 80027D00 00000000 */ nop
/* 028904 80027D04 012B5023 */ subu $t2, $t1, $t3
/* 028908 80027D08 05410035 */ bgez $t2, .L80027DE0
/* 02890C 80027D0C ACEA0000 */ sw $t2, ($a3)
/* 028910 80027D10 10000033 */ b .L80027DE0
/* 028914 80027D14 ACE00000 */ sw $zero, ($a3)
.L80027D18:
/* 028918 80027D18 444DF800 */ cfc1 $t5, $31
/* 02891C 80027D1C AFA30058 */ sw $v1, 0x58($sp)
/* 028920 80027D20 35A10003 */ ori $at, $t5, 3
/* 028924 80027D24 38210002 */ xori $at, $at, 2
/* 028928 80027D28 44C1F800 */ ctc1 $at, $31
/* 02892C 80027D2C E7AC005C */ swc1 $f12, 0x5c($sp)
/* 028930 80027D30 460014A4 */ cvt.w.s $f18, $f2
/* 028934 80027D34 44CDF800 */ ctc1 $t5, $31
/* 028938 80027D38 44049000 */ mfc1 $a0, $f18
/* 02893C 80027D3C 00000000 */ nop
/* 028940 80027D40 444EF800 */ cfc1 $t6, $31
/* 028944 80027D44 00000000 */ nop
/* 028948 80027D48 35C10003 */ ori $at, $t6, 3
/* 02894C 80027D4C 38210002 */ xori $at, $at, 2
/* 028950 80027D50 44C1F800 */ ctc1 $at, $31
/* 028954 80027D54 00000000 */ nop
/* 028958 80027D58 460071A4 */ cvt.w.s $f6, $f14
/* 02895C 80027D5C 44053000 */ mfc1 $a1, $f6
/* 028960 80027D60 44CEF800 */ ctc1 $t6, $31
/* 028964 80027D64 0C01C19B */ jal func_8007066C
/* 028968 80027D68 00000000 */ nop
/* 02896C 80027D6C 4448F800 */ cfc1 $t0, $31
/* 028970 80027D70 8FA30058 */ lw $v1, 0x58($sp)
/* 028974 80027D74 340F8000 */ li $t7, 32768
/* 028978 80027D78 C7AC005C */ lwc1 $f12, 0x5c($sp)
/* 02897C 80027D7C 01E2C023 */ subu $t8, $t7, $v0
/* 028980 80027D80 35010003 */ ori $at, $t0, 3
/* 028984 80027D84 38210002 */ xori $at, $at, 2
/* 028988 80027D88 A4780000 */ sh $t8, ($v1)
/* 02898C 80027D8C C7B00064 */ lwc1 $f16, 0x64($sp)
/* 028990 80027D90 44C1F800 */ ctc1 $at, $31
/* 028994 80027D94 00000000 */ nop
/* 028998 80027D98 460082A4 */ cvt.w.s $f10, $f16
/* 02899C 80027D9C 44C8F800 */ ctc1 $t0, $31
/* 0289A0 80027DA0 44045000 */ mfc1 $a0, $f10
/* 0289A4 80027DA4 00000000 */ nop
/* 0289A8 80027DA8 4459F800 */ cfc1 $t9, $31
/* 0289AC 80027DAC 00000000 */ nop
/* 0289B0 80027DB0 37210003 */ ori $at, $t9, 3
/* 0289B4 80027DB4 38210002 */ xori $at, $at, 2
/* 0289B8 80027DB8 44C1F800 */ ctc1 $at, $31
/* 0289BC 80027DBC 00000000 */ nop
/* 0289C0 80027DC0 46006124 */ cvt.w.s $f4, $f12
/* 0289C4 80027DC4 44052000 */ mfc1 $a1, $f4
/* 0289C8 80027DC8 44D9F800 */ ctc1 $t9, $31
/* 0289CC 80027DCC 0C01C19B */ jal func_8007066C
/* 0289D0 80027DD0 00000000 */ nop
/* 0289D4 80027DD4 8FA30058 */ lw $v1, 0x58($sp)
/* 0289D8 80027DD8 00000000 */ nop
/* 0289DC 80027DDC A4620002 */ sh $v0, 2($v1)
.L80027DE0:
/* 0289E0 80027DE0 A4600004 */ sh $zero, 4($v1)
/* 0289E4 80027DE4 C62E003C */ lwc1 $f14, 0x3c($s1)
/* 0289E8 80027DE8 C46C000C */ lwc1 $f12, 0xc($v1)
/* 0289EC 80027DEC 8C660014 */ lw $a2, 0x14($v1)
/* 0289F0 80027DF0 0C00A7C6 */ jal func_80029F18
/* 0289F4 80027DF4 AFA30058 */ sw $v1, 0x58($sp)
/* 0289F8 80027DF8 8FA30058 */ lw $v1, 0x58($sp)
/* 0289FC 80027DFC 3C018012 */ lui $at, %hi(D_8011B104) # $at, 0x8012
/* 028A00 80027E00 A4620034 */ sh $v0, 0x34($v1)
/* 028A04 80027E04 822901FD */ lb $t1, 0x1fd($s1)
/* 028A08 80027E08 00000000 */ nop
/* 028A0C 80027E0C AC29B104 */ sw $t1, %lo(D_8011B104)($at)
/* 028A10 80027E10 8FBF001C */ lw $ra, 0x1c($sp)
.L80027E14:
/* 028A14 80027E14 8FB00014 */ lw $s0, 0x14($sp)
/* 028A18 80027E18 8FB10018 */ lw $s1, 0x18($sp)
/* 028A1C 80027E1C 03E00008 */ jr $ra
/* 028A20 80027E20 27BD0070 */ addiu $sp, $sp, 0x70
@@ -0,0 +1,113 @@
glabel func_80027E24
/* 028A24 80027E24 27BDFF90 */ addiu $sp, $sp, -0x70
/* 028A28 80027E28 3C05800E */ lui $a1, %hi(D_800DC918) # $a1, 0x800e
/* 028A2C 80027E2C 8CA5C918 */ lw $a1, %lo(D_800DC918)($a1)
/* 028A30 80027E30 AFBF003C */ sw $ra, 0x3c($sp)
/* 028A34 80027E34 AFBE0038 */ sw $fp, 0x38($sp)
/* 028A38 80027E38 AFB70034 */ sw $s7, 0x34($sp)
/* 028A3C 80027E3C AFB60030 */ sw $s6, 0x30($sp)
/* 028A40 80027E40 AFB5002C */ sw $s5, 0x2c($sp)
/* 028A44 80027E44 AFB40028 */ sw $s4, 0x28($sp)
/* 028A48 80027E48 AFB30024 */ sw $s3, 0x24($sp)
/* 028A4C 80027E4C AFB20020 */ sw $s2, 0x20($sp)
/* 028A50 80027E50 AFB1001C */ sw $s1, 0x1c($sp)
/* 028A54 80027E54 AFB00018 */ sw $s0, 0x18($sp)
/* 028A58 80027E58 8CA30004 */ lw $v1, 4($a1)
/* 028A5C 80027E5C AFA0006C */ sw $zero, 0x6c($sp)
/* 028A60 80027E60 84A2001A */ lh $v0, 0x1a($a1)
/* 028A64 80027E64 00809825 */ move $s3, $a0
/* 028A68 80027E68 1840004A */ blez $v0, .L80027F94
/* 028A6C 80027E6C 0060B025 */ move $s6, $v1
/* 028A70 80027E70 241E00FF */ li $fp, 255
/* 028A74 80027E74 3C170001 */ lui $s7, 1
/* 028A78 80027E78 27B40058 */ addiu $s4, $sp, 0x58
.L80027E7C:
/* 028A7C 80027E7C 86C30020 */ lh $v1, 0x20($s6)
/* 028A80 80027E80 8ED5000C */ lw $s5, 0xc($s6)
/* 028A84 80027E84 1860003D */ blez $v1, .L80027F7C
/* 028A88 80027E88 00008825 */ move $s1, $zero
/* 028A8C 80027E8C 00009025 */ move $s2, $zero
/* 028A90 80027E90 02A08025 */ move $s0, $s5
.L80027E94:
/* 028A94 80027E94 8E0E0008 */ lw $t6, 8($s0)
/* 028A98 80027E98 00000000 */ nop
/* 028A9C 80027E9C 01D77824 */ and $t7, $t6, $s7
/* 028AA0 80027EA0 11E0002F */ beqz $t7, .L80027F60
/* 028AA4 80027EA4 00000000 */ nop
/* 028AA8 80027EA8 92020000 */ lbu $v0, ($s0)
/* 028AAC 80027EAC 00000000 */ nop
/* 028AB0 80027EB0 13C2002B */ beq $fp, $v0, .L80027F60
/* 028AB4 80027EB4 00000000 */ nop
/* 028AB8 80027EB8 8CB80000 */ lw $t8, ($a1)
/* 028ABC 80027EBC 0002C8C0 */ sll $t9, $v0, 3
/* 028AC0 80027EC0 03194021 */ addu $t0, $t8, $t9
/* 028AC4 80027EC4 8D040000 */ lw $a0, ($t0)
/* 028AC8 80027EC8 24010100 */ li $at, 256
/* 028ACC 80027ECC 94890012 */ lhu $t1, 0x12($a0)
/* 028AD0 80027ED0 00000000 */ nop
/* 028AD4 80027ED4 11210022 */ beq $t1, $at, .L80027F60
/* 028AD8 80027ED8 00000000 */ nop
/* 028ADC 80027EDC 948A0014 */ lhu $t2, 0x14($a0)
/* 028AE0 80027EE0 00000000 */ nop
/* 028AE4 80027EE4 1140001E */ beqz $t2, .L80027F60
/* 028AE8 80027EE8 00000000 */ nop
/* 028AEC 80027EEC 920B0007 */ lbu $t3, 7($s0)
/* 028AF0 80027EF0 02552821 */ addu $a1, $s2, $s5
/* 028AF4 80027EF4 000B6180 */ sll $t4, $t3, 6
/* 028AF8 80027EF8 AFAC0058 */ sw $t4, 0x58($sp)
/* 028AFC 80027EFC 8E0D0008 */ lw $t5, 8($s0)
/* 028B00 80027F00 24A50008 */ addiu $a1, $a1, 8
/* 028B04 80027F04 000D7000 */ sll $t6, $t5, 0
/* 028B08 80027F08 05C1000C */ bgez $t6, .L80027F3C
/* 028B0C 80027F0C 02803025 */ move $a2, $s4
/* 028B10 80027F10 92180006 */ lbu $t8, 6($s0)
/* 028B14 80027F14 02803025 */ move $a2, $s4
/* 028B18 80027F18 0198C825 */ or $t9, $t4, $t8
/* 028B1C 80027F1C AFB90058 */ sw $t9, 0x58($sp)
/* 028B20 80027F20 0C01FBE0 */ jal func_8007EF80
/* 028B24 80027F24 02603825 */ move $a3, $s3
/* 028B28 80027F28 8FA80058 */ lw $t0, 0x58($sp)
/* 028B2C 80027F2C 00000000 */ nop
/* 028B30 80027F30 3109003F */ andi $t1, $t0, 0x3f
/* 028B34 80027F34 10000003 */ b .L80027F44
/* 028B38 80027F38 A2090006 */ sb $t1, 6($s0)
.L80027F3C:
/* 028B3C 80027F3C 0C01FBE0 */ jal func_8007EF80
/* 028B40 80027F40 02603825 */ move $a3, $s3
.L80027F44:
/* 028B44 80027F44 8FAA0058 */ lw $t2, 0x58($sp)
/* 028B48 80027F48 3C05800E */ lui $a1, %hi(D_800DC918) # $a1, 0x800e
/* 028B4C 80027F4C 000A6183 */ sra $t4, $t2, 6
/* 028B50 80027F50 A20C0007 */ sb $t4, 7($s0)
/* 028B54 80027F54 86C30020 */ lh $v1, 0x20($s6)
/* 028B58 80027F58 8CA5C918 */ lw $a1, %lo(D_800DC918)($a1)
/* 028B5C 80027F5C 00000000 */ nop
.L80027F60:
/* 028B60 80027F60 26310001 */ addiu $s1, $s1, 1
/* 028B64 80027F64 0223082A */ slt $at, $s1, $v1
/* 028B68 80027F68 2652000C */ addiu $s2, $s2, 0xc
/* 028B6C 80027F6C 1420FFC9 */ bnez $at, .L80027E94
/* 028B70 80027F70 2610000C */ addiu $s0, $s0, 0xc
/* 028B74 80027F74 84A2001A */ lh $v0, 0x1a($a1)
/* 028B78 80027F78 00000000 */ nop
.L80027F7C:
/* 028B7C 80027F7C 8FAD006C */ lw $t5, 0x6c($sp)
/* 028B80 80027F80 26D60044 */ addiu $s6, $s6, 0x44
/* 028B84 80027F84 25AE0001 */ addiu $t6, $t5, 1
/* 028B88 80027F88 01C2082A */ slt $at, $t6, $v0
/* 028B8C 80027F8C 1420FFBB */ bnez $at, .L80027E7C
/* 028B90 80027F90 AFAE006C */ sw $t6, 0x6c($sp)
.L80027F94:
/* 028B94 80027F94 8FBF003C */ lw $ra, 0x3c($sp)
/* 028B98 80027F98 8FB00018 */ lw $s0, 0x18($sp)
/* 028B9C 80027F9C 8FB1001C */ lw $s1, 0x1c($sp)
/* 028BA0 80027FA0 8FB20020 */ lw $s2, 0x20($sp)
/* 028BA4 80027FA4 8FB30024 */ lw $s3, 0x24($sp)
/* 028BA8 80027FA8 8FB40028 */ lw $s4, 0x28($sp)
/* 028BAC 80027FAC 8FB5002C */ lw $s5, 0x2c($sp)
/* 028BB0 80027FB0 8FB60030 */ lw $s6, 0x30($sp)
/* 028BB4 80027FB4 8FB70034 */ lw $s7, 0x34($sp)
/* 028BB8 80027FB8 8FBE0038 */ lw $fp, 0x38($sp)
/* 028BBC 80027FBC 03E00008 */ jr $ra
/* 028BC0 80027FC0 27BD0070 */ addiu $sp, $sp, 0x70
@@ -0,0 +1,36 @@
glabel func_80027FC4
/* 028BC4 80027FC4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 028BC8 80027FC8 AFBF0014 */ sw $ra, 0x14($sp)
/* 028BCC 80027FCC 0C0168F4 */ jal func_8005A3D0
/* 028BD0 80027FD0 AFA40028 */ sw $a0, 0x28($sp)
/* 028BD4 80027FD4 8FA20028 */ lw $v0, 0x28($sp)
/* 028BD8 80027FD8 2401FFFF */ li $at, -1
/* 028BDC 80027FDC 14410004 */ bne $v0, $at, .L80027FF0
/* 028BE0 80027FE0 3C048012 */ lui $a0, %hi(D_8011B0B8) # $a0, 0x8012
/* 028BE4 80027FE4 2484B0B8 */ addiu $a0, %lo(D_8011B0B8) # addiu $a0, $a0, -0x4f48
/* 028BE8 80027FE8 10000012 */ b .L80028034
/* 028BEC 80027FEC AC800000 */ sw $zero, ($a0)
.L80027FF0:
/* 028BF0 80027FF0 240E0008 */ li $t6, 8
/* 028BF4 80027FF4 A7A00022 */ sh $zero, 0x22($sp)
/* 028BF8 80027FF8 A7A00024 */ sh $zero, 0x24($sp)
/* 028BFC 80027FFC A7A00026 */ sh $zero, 0x26($sp)
/* 028C00 80028000 A3AE0021 */ sb $t6, 0x21($sp)
/* 028C04 80028004 A3A20020 */ sb $v0, 0x20($sp)
/* 028C08 80028008 27A40020 */ addiu $a0, $sp, 0x20
/* 028C0C 8002800C 0C003A95 */ jal func_8000EA54
/* 028C10 80028010 24050002 */ li $a1, 2
/* 028C14 80028014 3C048012 */ lui $a0, %hi(D_8011B0B8) # $a0, 0x8012
/* 028C18 80028018 2484B0B8 */ addiu $a0, %lo(D_8011B0B8) # addiu $a0, $a0, -0x4f48
/* 028C1C 8002801C 10400005 */ beqz $v0, .L80028034
/* 028C20 80028020 AC820000 */ sw $v0, ($a0)
/* 028C24 80028024 AC40003C */ sw $zero, 0x3c($v0)
/* 028C28 80028028 8C980000 */ lw $t8, ($a0)
/* 028C2C 8002802C 240FFFFF */ li $t7, -1
/* 028C30 80028030 A70F004A */ sh $t7, 0x4a($t8)
.L80028034:
/* 028C34 80028034 8FBF0014 */ lw $ra, 0x14($sp)
/* 028C38 80028038 27BD0028 */ addiu $sp, $sp, 0x28
/* 028C3C 8002803C 03E00008 */ jr $ra
/* 028C40 80028040 00000000 */ nop
@@ -0,0 +1,5 @@
glabel func_80028044
/* 028C44 80028044 3C018012 */ lui $at, 0x8012
/* 028C48 80028048 03E00008 */ jr $ra
/* 028C4C 8002804C AC24B0DC */ sw $a0, -0x4f24($at)
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,154 @@
glabel func_800289B8
/* 0295B8 800289B8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0295BC 800289BC 3C02800E */ lui $v0, %hi(D_800DC91C) # $v0, 0x800e
/* 0295C0 800289C0 8C42C91C */ lw $v0, %lo(D_800DC91C)($v0)
/* 0295C4 800289C4 AFBF001C */ sw $ra, 0x1c($sp)
/* 0295C8 800289C8 AFB00018 */ sw $s0, 0x18($sp)
/* 0295CC 800289CC 904E00C1 */ lbu $t6, 0xc1($v0)
/* 0295D0 800289D0 3C038012 */ lui $v1, %hi(D_8011B0A8) # $v1, 0x8012
/* 0295D4 800289D4 A3AE002F */ sb $t6, 0x2f($sp)
/* 0295D8 800289D8 904F00C2 */ lbu $t7, 0xc2($v0)
/* 0295DC 800289DC 3C078012 */ lui $a3, %hi(D_8011B0AC) # $a3, 0x8012
/* 0295E0 800289E0 A3AF002E */ sb $t7, 0x2e($sp)
/* 0295E4 800289E4 905800C3 */ lbu $t8, 0xc3($v0)
/* 0295E8 800289E8 8C63B0A8 */ lw $v1, %lo(D_8011B0A8)($v1)
/* 0295EC 800289EC A3B8002D */ sb $t8, 0x2d($sp)
/* 0295F0 800289F0 905900BE */ lbu $t9, 0xbe($v0)
/* 0295F4 800289F4 8CE7B0AC */ lw $a3, %lo(D_8011B0AC)($a3)
/* 0295F8 800289F8 A3B9002C */ sb $t9, 0x2c($sp)
/* 0295FC 800289FC 904E00BF */ lbu $t6, 0xbf($v0)
/* 029600 80028A00 3C108012 */ lui $s0, %hi(D_8011B0A0) # $s0, 0x8012
/* 029604 80028A04 A3AE002B */ sb $t6, 0x2b($sp)
/* 029608 80028A08 904F00C0 */ lbu $t7, 0xc0($v0)
/* 02960C 80028A0C 2610B0A0 */ addiu $s0, %lo(D_8011B0A0) # addiu $s0, $s0, -0x4f60
/* 029610 80028A10 02002025 */ move $a0, $s0
/* 029614 80028A14 AFA30024 */ sw $v1, 0x24($sp)
/* 029618 80028A18 AFA70020 */ sw $a3, 0x20($sp)
/* 02961C 80028A1C 0C01ECF4 */ jal func_8007B3D0
/* 029620 80028A20 A3AF002A */ sb $t7, 0x2a($sp)
/* 029624 80028A24 02002025 */ move $a0, $s0
/* 029628 80028A28 00002825 */ move $a1, $zero
/* 02962C 80028A2C 0C01ED32 */ jal func_8007B4C8
/* 029630 80028A30 24060008 */ li $a2, 8
/* 029634 80028A34 8FA30024 */ lw $v1, 0x24($sp)
/* 029638 80028A38 3C088000 */ lui $t0, 0x8000
/* 02963C 80028A3C 8E020000 */ lw $v0, ($s0)
/* 029640 80028A40 00682821 */ addu $a1, $v1, $t0
/* 029644 80028A44 30B90006 */ andi $t9, $a1, 6
/* 029648 80028A48 372E0018 */ ori $t6, $t9, 0x18
/* 02964C 80028A4C 24580008 */ addiu $t8, $v0, 8
/* 029650 80028A50 AE180000 */ sw $t8, ($s0)
/* 029654 80028A54 31CF00FF */ andi $t7, $t6, 0xff
/* 029658 80028A58 000FC400 */ sll $t8, $t7, 0x10
/* 02965C 80028A5C 3C010400 */ lui $at, 0x400
/* 029660 80028A60 8FA70020 */ lw $a3, 0x20($sp)
/* 029664 80028A64 0301C825 */ or $t9, $t8, $at
/* 029668 80028A68 372E0050 */ ori $t6, $t9, 0x50
/* 02966C 80028A6C AC4E0000 */ sw $t6, ($v0)
/* 029670 80028A70 AC450004 */ sw $a1, 4($v0)
/* 029674 80028A74 8E020000 */ lw $v0, ($s0)
/* 029678 80028A78 3C180510 */ lui $t8, (0x05100020 >> 16) # lui $t8, 0x510
/* 02967C 80028A7C 244F0008 */ addiu $t7, $v0, 8
/* 029680 80028A80 AE0F0000 */ sw $t7, ($s0)
/* 029684 80028A84 37180020 */ ori $t8, (0x05100020 & 0xFFFF) # ori $t8, $t8, 0x20
/* 029688 80028A88 00E8C821 */ addu $t9, $a3, $t0
/* 02968C 80028A8C 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000
/* 029690 80028A90 AC590004 */ sw $t9, 4($v0)
/* 029694 80028A94 AC580000 */ sw $t8, ($v0)
/* 029698 80028A98 8DCE0300 */ lw $t6, %lo(D_80000300)($t6)
/* 02969C 80028A9C 2410FF6A */ li $s0, -150
/* 0296A0 80028AA0 15C00004 */ bnez $t6, .L80028AB4
/* 0296A4 80028AA4 24040096 */ li $a0, 150
/* 0296A8 80028AA8 2410FF4C */ li $s0, -180
/* 0296AC 80028AAC 10000001 */ b .L80028AB4
/* 0296B0 80028AB0 240400B4 */ li $a0, 180
.L80028AB4:
/* 0296B4 80028AB4 AFA30024 */ sw $v1, 0x24($sp)
/* 0296B8 80028AB8 A7A40030 */ sh $a0, 0x30($sp)
/* 0296BC 80028ABC 0C019884 */ jal func_80066210
/* 0296C0 80028AC0 AFA70020 */ sw $a3, 0x20($sp)
/* 0296C4 80028AC4 8FA30024 */ lw $v1, 0x24($sp)
/* 0296C8 80028AC8 87A40030 */ lh $a0, 0x30($sp)
/* 0296CC 80028ACC 8FA70020 */ lw $a3, 0x20($sp)
/* 0296D0 80028AD0 24010001 */ li $at, 1
/* 0296D4 80028AD4 14410007 */ bne $v0, $at, .L80028AF4
/* 0296D8 80028AD8 240500FF */ li $a1, 255
/* 0296DC 80028ADC 00107843 */ sra $t7, $s0, 1
/* 0296E0 80028AE0 000FC400 */ sll $t8, $t7, 0x10
/* 0296E4 80028AE4 00047043 */ sra $t6, $a0, 1
/* 0296E8 80028AE8 000E7C00 */ sll $t7, $t6, 0x10
/* 0296EC 80028AEC 00188403 */ sra $s0, $t8, 0x10
/* 0296F0 80028AF0 000F2403 */ sra $a0, $t7, 0x10
.L80028AF4:
/* 0296F4 80028AF4 93A9002F */ lbu $t1, 0x2f($sp)
/* 0296F8 80028AF8 93AA002E */ lbu $t2, 0x2e($sp)
/* 0296FC 80028AFC 93AB002D */ lbu $t3, 0x2d($sp)
/* 029700 80028B00 24020014 */ li $v0, 20
/* 029704 80028B04 2406FF38 */ li $a2, -200
/* 029708 80028B08 240800C8 */ li $t0, 200
/* 02970C 80028B0C A4660000 */ sh $a2, ($v1)
/* 029710 80028B10 A4700002 */ sh $s0, 2($v1)
/* 029714 80028B14 A4620004 */ sh $v0, 4($v1)
/* 029718 80028B18 A0650009 */ sb $a1, 9($v1)
/* 02971C 80028B1C A468000A */ sh $t0, 0xa($v1)
/* 029720 80028B20 A470000C */ sh $s0, 0xc($v1)
/* 029724 80028B24 A462000E */ sh $v0, 0xe($v1)
/* 029728 80028B28 A0690006 */ sb $t1, 6($v1)
/* 02972C 80028B2C A0690010 */ sb $t1, 0x10($v1)
/* 029730 80028B30 A06A0007 */ sb $t2, 7($v1)
/* 029734 80028B34 A06B0008 */ sb $t3, 8($v1)
/* 029738 80028B38 93BF002A */ lbu $ra, 0x2a($sp)
/* 02973C 80028B3C 93AD002B */ lbu $t5, 0x2b($sp)
/* 029740 80028B40 93AC002C */ lbu $t4, 0x2c($sp)
/* 029744 80028B44 A4660014 */ sh $a2, 0x14($v1)
/* 029748 80028B48 A468001E */ sh $t0, 0x1e($v1)
/* 02974C 80028B4C A0650013 */ sb $a1, 0x13($v1)
/* 029750 80028B50 A4640016 */ sh $a0, 0x16($v1)
/* 029754 80028B54 A4620018 */ sh $v0, 0x18($v1)
/* 029758 80028B58 A065001D */ sb $a1, 0x1d($v1)
/* 02975C 80028B5C A4640020 */ sh $a0, 0x20($v1)
/* 029760 80028B60 A4620022 */ sh $v0, 0x22($v1)
/* 029764 80028B64 A0650027 */ sb $a1, 0x27($v1)
/* 029768 80028B68 A06A0011 */ sb $t2, 0x11($v1)
/* 02976C 80028B6C A06B0012 */ sb $t3, 0x12($v1)
/* 029770 80028B70 A07F001C */ sb $ra, 0x1c($v1)
/* 029774 80028B74 A07F0026 */ sb $ra, 0x26($v1)
/* 029778 80028B78 A06D001B */ sb $t5, 0x1b($v1)
/* 02977C 80028B7C A06D0025 */ sb $t5, 0x25($v1)
/* 029780 80028B80 A06C001A */ sb $t4, 0x1a($v1)
/* 029784 80028B84 A06C0024 */ sb $t4, 0x24($v1)
/* 029788 80028B88 24080002 */ li $t0, 2
/* 02978C 80028B8C 24060040 */ li $a2, 64
/* 029790 80028B90 24090001 */ li $t1, 1
/* 029794 80028B94 24190003 */ li $t9, 3
/* 029798 80028B98 A0E60000 */ sb $a2, ($a3)
/* 02979C 80028B9C A0E80001 */ sb $t0, 1($a3)
/* 0297A0 80028BA0 A0E90002 */ sb $t1, 2($a3)
/* 0297A4 80028BA4 A0E00003 */ sb $zero, 3($a3)
/* 0297A8 80028BA8 A4E00004 */ sh $zero, 4($a3)
/* 0297AC 80028BAC A4E00006 */ sh $zero, 6($a3)
/* 0297B0 80028BB0 A4E00008 */ sh $zero, 8($a3)
/* 0297B4 80028BB4 A4E0000A */ sh $zero, 0xa($a3)
/* 0297B8 80028BB8 A4E0000C */ sh $zero, 0xc($a3)
/* 0297BC 80028BBC A4E0000E */ sh $zero, 0xe($a3)
/* 0297C0 80028BC0 A0E60010 */ sb $a2, 0x10($a3)
/* 0297C4 80028BC4 A0F90011 */ sb $t9, 0x11($a3)
/* 0297C8 80028BC8 A0E80012 */ sb $t0, 0x12($a3)
/* 0297CC 80028BCC A0E90013 */ sb $t1, 0x13($a3)
/* 0297D0 80028BD0 A4E00014 */ sh $zero, 0x14($a3)
/* 0297D4 80028BD4 A4E00016 */ sh $zero, 0x16($a3)
/* 0297D8 80028BD8 A4E00018 */ sh $zero, 0x18($a3)
/* 0297DC 80028BDC A4E0001A */ sh $zero, 0x1a($a3)
/* 0297E0 80028BE0 A4E0001C */ sh $zero, 0x1c($a3)
/* 0297E4 80028BE4 A4E0001E */ sh $zero, 0x1e($a3)
/* 0297E8 80028BE8 24630028 */ addiu $v1, $v1, 0x28
/* 0297EC 80028BEC 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012
/* 0297F0 80028BF0 8FBF001C */ lw $ra, 0x1c($sp)
/* 0297F4 80028BF4 AC23B0A8 */ sw $v1, %lo(D_8011B0A8)($at)
/* 0297F8 80028BF8 24E70020 */ addiu $a3, $a3, 0x20
/* 0297FC 80028BFC 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012
/* 029800 80028C00 8FB00018 */ lw $s0, 0x18($sp)
/* 029804 80028C04 AC27B0AC */ sw $a3, %lo(D_8011B0AC)($at)
/* 029808 80028C08 03E00008 */ jr $ra
/* 02980C 80028C0C 27BD0038 */ addiu $sp, $sp, 0x38
@@ -0,0 +1,52 @@
glabel func_80028C10
/* 029810 80028C10 3C038012 */ lui $v1, %hi(D_8011B0B8) # $v1, 0x8012
/* 029814 80028C14 2463B0B8 */ addiu $v1, %lo(D_8011B0B8) # addiu $v1, $v1, -0x4f48
/* 029818 80028C18 8C6E0000 */ lw $t6, ($v1)
/* 02981C 80028C1C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 029820 80028C20 11C00027 */ beqz $t6, .L80028CC0
/* 029824 80028C24 AFBF0014 */ sw $ra, 0x14($sp)
/* 029828 80028C28 0C01A748 */ jal func_80069D20
/* 02982C 80028C2C 00000000 */ nop
/* 029830 80028C30 3C0F800E */ lui $t7, %hi(D_800DC91C) # $t7, 0x800e
/* 029834 80028C34 8DEFC91C */ lw $t7, %lo(D_800DC91C)($t7)
/* 029838 80028C38 3C038012 */ lui $v1, %hi(D_8011B0B8) # $v1, 0x8012
/* 02983C 80028C3C 81F80049 */ lb $t8, 0x49($t7)
/* 029840 80028C40 2463B0B8 */ addiu $v1, %lo(D_8011B0B8) # addiu $v1, $v1, -0x4f48
/* 029844 80028C44 1700000D */ bnez $t8, .L80028C7C
/* 029848 80028C48 3C048012 */ lui $a0, %hi(D_8011B0A0) # $a0, 0x8012
/* 02984C 80028C4C C444000C */ lwc1 $f4, 0xc($v0)
/* 029850 80028C50 8C790000 */ lw $t9, ($v1)
/* 029854 80028C54 00000000 */ nop
/* 029858 80028C58 E724000C */ swc1 $f4, 0xc($t9)
/* 02985C 80028C5C 8C680000 */ lw $t0, ($v1)
/* 029860 80028C60 C4460010 */ lwc1 $f6, 0x10($v0)
/* 029864 80028C64 00000000 */ nop
/* 029868 80028C68 E5060010 */ swc1 $f6, 0x10($t0)
/* 02986C 80028C6C 8C690000 */ lw $t1, ($v1)
/* 029870 80028C70 C4480014 */ lwc1 $f8, 0x14($v0)
/* 029874 80028C74 00000000 */ nop
/* 029878 80028C78 E5280014 */ swc1 $f8, 0x14($t1)
.L80028C7C:
/* 02987C 80028C7C 3C058012 */ lui $a1, %hi(D_8011B0A4) # $a1, 0x8012
/* 029880 80028C80 24A5B0A4 */ addiu $a1, %lo(D_8011B0A4) # addiu $a1, $a1, -0x4f5c
/* 029884 80028C84 0C01A102 */ jal func_80068408
/* 029888 80028C88 2484B0A0 */ addiu $a0, %lo(D_8011B0A0) # addiu $a0, $a0, -0x4f60
/* 02988C 80028C8C 3C0A8012 */ lui $t2, %hi(D_8011B0DC) # $t2, 0x8012
/* 029890 80028C90 8D4AB0DC */ lw $t2, %lo(D_8011B0DC)($t2)
/* 029894 80028C94 3C038012 */ lui $v1, %hi(D_8011B0B8) # $v1, 0x8012
/* 029898 80028C98 11400009 */ beqz $t2, .L80028CC0
/* 02989C 80028C9C 2463B0B8 */ addiu $v1, %lo(D_8011B0B8) # addiu $v1, $v1, -0x4f48
/* 0298A0 80028CA0 3C048012 */ lui $a0, %hi(D_8011B0A0) # $a0, 0x8012
/* 0298A4 80028CA4 3C058012 */ lui $a1, %hi(D_8011B0A4) # $a1, 0x8012
/* 0298A8 80028CA8 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012
/* 0298AC 80028CAC 8C670000 */ lw $a3, ($v1)
/* 0298B0 80028CB0 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58
/* 0298B4 80028CB4 24A5B0A4 */ addiu $a1, %lo(D_8011B0A4) # addiu $a1, $a1, -0x4f5c
/* 0298B8 80028CB8 0C004B57 */ jal func_80012D5C
/* 0298BC 80028CBC 2484B0A0 */ addiu $a0, %lo(D_8011B0A0) # addiu $a0, $a0, -0x4f60
.L80028CC0:
/* 0298C0 80028CC0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0298C4 80028CC4 27BD0018 */ addiu $sp, $sp, 0x18
/* 0298C8 80028CC8 03E00008 */ jr $ra
/* 0298CC 80028CCC 00000000 */ nop
@@ -0,0 +1,188 @@
glabel func_80028CD0
/* 0298D0 80028CD0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0298D4 80028CD4 AFBF001C */ sw $ra, 0x1c($sp)
/* 0298D8 80028CD8 0C01A748 */ jal func_80069D20
/* 0298DC 80028CDC AFA40048 */ sw $a0, 0x48($sp)
/* 0298E0 80028CE0 3C018012 */ lui $at, %hi(D_8011B0B0) # $at, 0x8012
/* 0298E4 80028CE4 0C019888 */ jal func_80066220
/* 0298E8 80028CE8 AC22B0B0 */ sw $v0, %lo(D_8011B0B0)($at)
/* 0298EC 80028CEC 0C00C406 */ jal func_80031018
/* 0298F0 80028CF0 AFA2003C */ sw $v0, 0x3c($sp)
/* 0298F4 80028CF4 3C028012 */ lui $v0, %hi(D_8011D468) # $v0, 0x8012
/* 0298F8 80028CF8 2442D468 */ addiu $v0, %lo(D_8011D468) # addiu $v0, $v0, -0x2b98
/* 0298FC 80028CFC 8C580008 */ lw $t8, 8($v0)
/* 029900 80028D00 8C4E0000 */ lw $t6, ($v0)
/* 029904 80028D04 44988000 */ mtc1 $t8, $f16
/* 029908 80028D08 448E2000 */ mtc1 $t6, $f4
/* 02990C 80028D0C 468084A0 */ cvt.s.w $f18, $f16
/* 029910 80028D10 3C014780 */ li $at, 0x47800000 # 65536.000000
/* 029914 80028D14 44810000 */ mtc1 $at, $f0
/* 029918 80028D18 468021A0 */ cvt.s.w $f6, $f4
/* 02991C 80028D1C 8C4F0004 */ lw $t7, 4($v0)
/* 029920 80028D20 46009103 */ div.s $f4, $f18, $f0
/* 029924 80028D24 448F4000 */ mtc1 $t7, $f8
/* 029928 80028D28 00000000 */ nop
/* 02992C 80028D2C 468042A0 */ cvt.s.w $f10, $f8
/* 029930 80028D30 44062000 */ mfc1 $a2, $f4
/* 029934 80028D34 46005383 */ div.s $f14, $f10, $f0
/* 029938 80028D38 0C007578 */ jal func_8001D5E0
/* 02993C 80028D3C 46003303 */ div.s $f12, $f6, $f0
/* 029940 80028D40 3C038012 */ lui $v1, %hi(D_8011B0B0) # $v1, 0x8012
/* 029944 80028D44 8C63B0B0 */ lw $v1, %lo(D_8011B0B0)($v1)
/* 029948 80028D48 8FA7003C */ lw $a3, 0x3c($sp)
/* 02994C 80028D4C 84620034 */ lh $v0, 0x34($v1)
/* 029950 80028D50 3C04800E */ lui $a0, %hi(D_800DC918) # $a0, 0x800e
/* 029954 80028D54 0440000E */ bltz $v0, .L80028D90
/* 029958 80028D58 3C0E8012 */ lui $t6, %hi(D_8011D384) # $t6, 0x8012
/* 02995C 80028D5C 8C84C918 */ lw $a0, %lo(D_800DC918)($a0)
/* 029960 80028D60 00025100 */ sll $t2, $v0, 4
/* 029964 80028D64 8499001A */ lh $t9, 0x1a($a0)
/* 029968 80028D68 01425021 */ addu $t2, $t2, $v0
/* 02996C 80028D6C 0059082A */ slt $at, $v0, $t9
/* 029970 80028D70 10200007 */ beqz $at, .L80028D90
/* 029974 80028D74 000A5080 */ sll $t2, $t2, 2
/* 029978 80028D78 8C890004 */ lw $t1, 4($a0)
/* 02997C 80028D7C 3C018012 */ lui $at, %hi(D_8011B0D4) # $at, 0x8012
/* 029980 80028D80 012A5821 */ addu $t3, $t1, $t2
/* 029984 80028D84 856C0028 */ lh $t4, 0x28($t3)
/* 029988 80028D88 10000004 */ b .L80028D9C
/* 02998C 80028D8C AC2CB0D4 */ sw $t4, %lo(D_8011B0D4)($at)
.L80028D90:
/* 029990 80028D90 240DFFFF */ li $t5, -1
/* 029994 80028D94 3C018012 */ lui $at, %hi(D_8011B0D4) # $at, 0x8012
/* 029998 80028D98 AC2DB0D4 */ sw $t5, %lo(D_8011B0D4)($at)
.L80028D9C:
/* 02999C 80028D9C C466000C */ lwc1 $f6, 0xc($v1)
/* 0299A0 80028DA0 3C018012 */ lui $at, %hi(D_8011D314) # $at, 0x8012
/* 0299A4 80028DA4 E426D314 */ swc1 $f6, %lo(D_8011D314)($at)
/* 0299A8 80028DA8 C4680010 */ lwc1 $f8, 0x10($v1)
/* 0299AC 80028DAC 3C018012 */ lui $at, %hi(D_8011D318) # $at, 0x8012
/* 0299B0 80028DB0 E428D318 */ swc1 $f8, %lo(D_8011D318)($at)
/* 0299B4 80028DB4 C46A0014 */ lwc1 $f10, 0x14($v1)
/* 0299B8 80028DB8 8DCED384 */ lw $t6, %lo(D_8011D384)($t6)
/* 0299BC 80028DBC 3C018012 */ lui $at, %hi(D_8011D31C) # $at, 0x8012
/* 0299C0 80028DC0 11C0006E */ beqz $t6, .L80028F7C
/* 0299C4 80028DC4 E42AD31C */ swc1 $f10, %lo(D_8011D31C)($at)
/* 0299C8 80028DC8 0C02E2E3 */ jal func_800B8B8C
/* 0299CC 80028DCC AFA7003C */ sw $a3, 0x3c($sp)
/* 0299D0 80028DD0 0C006E9D */ jal func_8001BA74
/* 0299D4 80028DD4 27A40040 */ addiu $a0, $sp, 0x40
/* 0299D8 80028DD8 3C0F8012 */ lui $t7, %hi(D_8011B0B0) # $t7, 0x8012
/* 0299DC 80028DDC 8DEFB0B0 */ lw $t7, %lo(D_8011B0B0)($t7)
/* 0299E0 80028DE0 8FA7003C */ lw $a3, 0x3c($sp)
/* 0299E4 80028DE4 85F80036 */ lh $t8, 0x36($t7)
/* 0299E8 80028DE8 24010007 */ li $at, 7
/* 0299EC 80028DEC 1301003F */ beq $t8, $at, .L80028EEC
/* 0299F0 80028DF0 00000000 */ nop
/* 0299F4 80028DF4 8FB90040 */ lw $t9, 0x40($sp)
/* 0299F8 80028DF8 00000000 */ nop
/* 0299FC 80028DFC 1B20003B */ blez $t9, .L80028EEC
/* 029A00 80028E00 00000000 */ nop
/* 029A04 80028E04 AFA20038 */ sw $v0, 0x38($sp)
/* 029A08 80028E08 0C019944 */ jal func_80066510
/* 029A0C 80028E0C AFA7003C */ sw $a3, 0x3c($sp)
/* 029A10 80028E10 8FA40038 */ lw $a0, 0x38($sp)
/* 029A14 80028E14 8FA7003C */ lw $a3, 0x3c($sp)
/* 029A18 80028E18 14400034 */ bnez $v0, .L80028EEC
/* 029A1C 80028E1C 2483FFFC */ addiu $v1, $a0, -4
/* 029A20 80028E20 8FA50040 */ lw $a1, 0x40($sp)
/* 029A24 80028E24 2402FFFF */ li $v0, -1
/* 029A28 80028E28 24A5FFFF */ addiu $a1, $a1, -1
.L80028E2C:
/* 029A2C 80028E2C 8C690004 */ lw $t1, 4($v1)
/* 029A30 80028E30 24420001 */ addiu $v0, $v0, 1
/* 029A34 80028E34 0045082A */ slt $at, $v0, $a1
/* 029A38 80028E38 8D240064 */ lw $a0, 0x64($t1)
/* 029A3C 80028E3C 10200005 */ beqz $at, .L80028E54
/* 029A40 80028E40 24630004 */ addiu $v1, $v1, 4
/* 029A44 80028E44 848A0000 */ lh $t2, ($a0)
/* 029A48 80028E48 00000000 */ nop
/* 029A4C 80028E4C 14EAFFF7 */ bne $a3, $t2, .L80028E2C
/* 029A50 80028E50 00000000 */ nop
.L80028E54:
/* 029A54 80028E54 0C019888 */ jal func_80066220
/* 029A58 80028E58 AFA30028 */ sw $v1, 0x28($sp)
/* 029A5C 80028E5C 8FA30028 */ lw $v1, 0x28($sp)
/* 029A60 80028E60 444BF800 */ cfc1 $t3, $31
/* 029A64 80028E64 8C680000 */ lw $t0, ($v1)
/* 029A68 80028E68 35610003 */ ori $at, $t3, 3
/* 029A6C 80028E6C 38210002 */ xori $at, $at, 2
/* 029A70 80028E70 44C1F800 */ ctc1 $at, $31
/* 029A74 80028E74 C510000C */ lwc1 $f16, 0xc($t0)
/* 029A78 80028E78 C5040010 */ lwc1 $f4, 0x10($t0)
/* 029A7C 80028E7C 460084A4 */ cvt.w.s $f18, $f16
/* 029A80 80028E80 C5080014 */ lwc1 $f8, 0x14($t0)
/* 029A84 80028E84 44CBF800 */ ctc1 $t3, $31
/* 029A88 80028E88 8FAE0048 */ lw $t6, 0x48($sp)
/* 029A8C 80028E8C 44049000 */ mfc1 $a0, $f18
/* 029A90 80028E90 444CF800 */ cfc1 $t4, $31
/* 029A94 80028E94 00403825 */ move $a3, $v0
/* 029A98 80028E98 35810003 */ ori $at, $t4, 3
/* 029A9C 80028E9C 38210002 */ xori $at, $at, 2
/* 029AA0 80028EA0 44C1F800 */ ctc1 $at, $31
/* 029AA4 80028EA4 AFAE0010 */ sw $t6, 0x10($sp)
/* 029AA8 80028EA8 460021A4 */ cvt.w.s $f6, $f4
/* 029AAC 80028EAC 44CCF800 */ ctc1 $t4, $31
/* 029AB0 80028EB0 44053000 */ mfc1 $a1, $f6
/* 029AB4 80028EB4 00000000 */ nop
/* 029AB8 80028EB8 444DF800 */ cfc1 $t5, $31
/* 029ABC 80028EBC 00000000 */ nop
/* 029AC0 80028EC0 35A10003 */ ori $at, $t5, 3
/* 029AC4 80028EC4 38210002 */ xori $at, $at, 2
/* 029AC8 80028EC8 44C1F800 */ ctc1 $at, $31
/* 029ACC 80028ECC 00000000 */ nop
/* 029AD0 80028ED0 460042A4 */ cvt.w.s $f10, $f8
/* 029AD4 80028ED4 44065000 */ mfc1 $a2, $f10
/* 029AD8 80028ED8 44CDF800 */ ctc1 $t5, $31
/* 029ADC 80028EDC 0C02E301 */ jal func_800B8C04
/* 029AE0 80028EE0 00000000 */ nop
/* 029AE4 80028EE4 10000025 */ b .L80028F7C
/* 029AE8 80028EE8 00000000 */ nop
.L80028EEC:
/* 029AEC 80028EEC 0C019888 */ jal func_80066220
/* 029AF0 80028EF0 00000000 */ nop
/* 029AF4 80028EF4 444FF800 */ cfc1 $t7, $31
/* 029AF8 80028EF8 3C038012 */ lui $v1, %hi(D_8011B0B0) # $v1, 0x8012
/* 029AFC 80028EFC 8C63B0B0 */ lw $v1, %lo(D_8011B0B0)($v1)
/* 029B00 80028F00 35E10003 */ ori $at, $t7, 3
/* 029B04 80028F04 38210002 */ xori $at, $at, 2
/* 029B08 80028F08 44C1F800 */ ctc1 $at, $31
/* 029B0C 80028F0C C470000C */ lwc1 $f16, 0xc($v1)
/* 029B10 80028F10 C4640010 */ lwc1 $f4, 0x10($v1)
/* 029B14 80028F14 460084A4 */ cvt.w.s $f18, $f16
/* 029B18 80028F18 C4680014 */ lwc1 $f8, 0x14($v1)
/* 029B1C 80028F1C 44CFF800 */ ctc1 $t7, $31
/* 029B20 80028F20 8FA90048 */ lw $t1, 0x48($sp)
/* 029B24 80028F24 44049000 */ mfc1 $a0, $f18
/* 029B28 80028F28 4458F800 */ cfc1 $t8, $31
/* 029B2C 80028F2C 00403825 */ move $a3, $v0
/* 029B30 80028F30 37010003 */ ori $at, $t8, 3
/* 029B34 80028F34 38210002 */ xori $at, $at, 2
/* 029B38 80028F38 44C1F800 */ ctc1 $at, $31
/* 029B3C 80028F3C AFA90010 */ sw $t1, 0x10($sp)
/* 029B40 80028F40 460021A4 */ cvt.w.s $f6, $f4
/* 029B44 80028F44 44D8F800 */ ctc1 $t8, $31
/* 029B48 80028F48 44053000 */ mfc1 $a1, $f6
/* 029B4C 80028F4C 00000000 */ nop
/* 029B50 80028F50 4459F800 */ cfc1 $t9, $31
/* 029B54 80028F54 00000000 */ nop
/* 029B58 80028F58 37210003 */ ori $at, $t9, 3
/* 029B5C 80028F5C 38210002 */ xori $at, $at, 2
/* 029B60 80028F60 44C1F800 */ ctc1 $at, $31
/* 029B64 80028F64 00000000 */ nop
/* 029B68 80028F68 460042A4 */ cvt.w.s $f10, $f8
/* 029B6C 80028F6C 44065000 */ mfc1 $a2, $f10
/* 029B70 80028F70 44D9F800 */ ctc1 $t9, $31
/* 029B74 80028F74 0C02E301 */ jal func_800B8C04
/* 029B78 80028F78 00000000 */ nop
.L80028F7C:
/* 029B7C 80028F7C 0C01AF6C */ jal func_8006BDB0
/* 029B80 80028F80 00000000 */ nop
/* 029B84 80028F84 240A0001 */ li $t2, 1
/* 029B88 80028F88 0C00A3EB */ jal func_80028FAC
/* 029B8C 80028F8C A04A0003 */ sb $t2, 3($v0)
/* 029B90 80028F90 8FBF001C */ lw $ra, 0x1c($sp)
/* 029B94 80028F94 27BD0048 */ addiu $sp, $sp, 0x48
/* 029B98 80028F98 03E00008 */ jr $ra
/* 029B9C 80028F9C 00000000 */ nop
@@ -0,0 +1,5 @@
glabel func_80028FA0
/* 029BA0 80028FA0 3C018012 */ lui $at, 0x8012
/* 029BA4 80028FA4 03E00008 */ jr $ra
/* 029BA8 80028FA8 AC24B0FC */ sw $a0, -0x4f04($at)

Some files were not shown because too many files have changed in this diff Show More