diff --git a/asm/non_matchings/ovl0/ovl0/func_800019BC.s b/asm/non_matchings/ovl0/ovl0/func_800019BC.s index 90c4073f..243b7f6b 100644 --- a/asm/non_matchings/ovl0/ovl0/func_800019BC.s +++ b/asm/non_matchings/ovl0/ovl0/func_800019BC.s @@ -9,11 +9,12 @@ glabel func_800019BC /* 0025D8 800019D8 2DE1000B */ sltiu $at, $t7, 0xb /* 0025DC 800019DC 1020010B */ beqz $at, .L80001E0C_ovl0 /* 0025E0 800019E0 000F7880 */ sll $t7, $t7, 2 -/* 0025E4 800019E4 3C018004 */ lui $at, 0x8004 +/* 0025E4 800019E4 3C018004 */ lui $at, %hi(jtbl_8003FECC) /* 0025E8 800019E8 002F0821 */ addu $at, $at, $t7 -/* 0025EC 800019EC 8C2FFECC */ lw $t7, -0x134($at) +/* 0025EC 800019EC 8C2FFECC */ lw $t7, %lo(jtbl_8003FECC)($at) /* 0025F0 800019F0 01E00008 */ jr $t7 /* 0025F4 800019F4 00000000 */ nop +glabel L800019F8_ovl0 /* 0025F8 800019F8 8E020068 */ lw $v0, 0x68($s0) /* 0025FC 800019FC 3C198005 */ lui $t9, %hi(D_80048C5C) # $t9, 0x8005 /* 002600 80001A00 50400009 */ beql $v0, $zero, .L80001A28_ovl0 @@ -52,6 +53,7 @@ glabel func_800019BC /* 002678 80001A78 240E0001 */ li $t6, 1 /* 00267C 80001A7C 100000E3 */ b .L80001E0C_ovl0 /* 002680 80001A80 AFAE004C */ sw $t6, 0x4c($sp) +glabel L80001A84_ovl0 /* 002684 80001A84 0C00E328 */ jal osWritebackDCacheAll /* 002688 80001A88 00000000 */ nop /* 00268C 80001A8C 0C000649 */ jal func_80001924 @@ -59,6 +61,7 @@ glabel func_800019BC /* 002694 80001A94 240F0001 */ li $t7, 1 /* 002698 80001A98 100000DC */ b .L80001E0C_ovl0 /* 00269C 80001A9C AFAF004C */ sw $t7, 0x4c($sp) +glabel L80001AA0_ovl0 /* 0026A0 80001AA0 3C038005 */ lui $v1, %hi(D_80048B80) # $v1, 0x8005 /* 0026A4 80001AA4 24638B80 */ addiu $v1, %lo(D_80048B80) # addiu $v1, $v1, -0x7480 /* 0026A8 80001AA8 8E020024 */ lw $v0, 0x24($s0) @@ -73,6 +76,7 @@ glabel func_800019BC /* 0026CC 80001ACC 8E05001C */ lw $a1, 0x1c($s0) /* 0026D0 80001AD0 100000CF */ b .L80001E10_ovl0 /* 0026D4 80001AD4 8FBF002C */ lw $ra, 0x2c($sp) +glabel L80001AD8_ovl0 /* 0026D8 80001AD8 86190032 */ lh $t9, 0x32($s0) /* 0026DC 80001ADC 8E040024 */ lw $a0, 0x24($s0) /* 0026E0 80001AE0 8E050028 */ lw $a1, 0x28($s0) @@ -92,6 +96,7 @@ glabel func_800019BC /* 002718 80001B18 8E05001C */ lw $a1, 0x1c($s0) /* 00271C 80001B1C 100000BC */ b .L80001E10_ovl0 /* 002720 80001B20 8FBF002C */ lw $ra, 0x2c($sp) +glabel L80001B24_ovl0 /* 002724 80001B24 3C028005 */ lui $v0, %hi(D_80048C50) # $v0, 0x8005 /* 002728 80001B28 3C048005 */ lui $a0, %hi(D_80048C5C) # $a0, 0x8005 /* 00272C 80001B2C 24848C5C */ addiu $a0, %lo(D_80048C5C) # addiu $a0, $a0, -0x73a4 @@ -111,6 +116,7 @@ glabel func_800019BC /* 002760 80001B60 8E05001C */ lw $a1, 0x1c($s0) /* 002764 80001B64 100000AA */ b .L80001E10_ovl0 /* 002768 80001B68 8FBF002C */ lw $ra, 0x2c($sp) +glabel L80001B6C_ovl0 /* 00276C 80001B6C 3C048005 */ lui $a0, %hi(D_80048B8C) # $a0, 0x8005 /* 002770 80001B70 8C848B8C */ lw $a0, %lo(D_80048B8C)($a0) /* 002774 80001B74 00001825 */ move $v1, $zero @@ -218,6 +224,7 @@ glabel func_800019BC /* 0028D8 80001CD8 8E05001C */ lw $a1, 0x1c($s0) /* 0028DC 80001CDC 1000004C */ b .L80001E10_ovl0 /* 0028E0 80001CE0 8FBF002C */ lw $ra, 0x2c($sp) +glabel L80001CE4_ovl0 /* 0028E4 80001CE4 8E040020 */ lw $a0, 0x20($s0) /* 0028E8 80001CE8 00003025 */ move $a2, $zero /* 0028EC 80001CEC 50800048 */ beql $a0, $zero, .L80001E10_ovl0 @@ -226,6 +233,7 @@ glabel func_800019BC /* 0028F8 80001CF8 8E05001C */ lw $a1, 0x1c($s0) /* 0028FC 80001CFC 10000044 */ b .L80001E10_ovl0 /* 002900 80001D00 8FBF002C */ lw $ra, 0x2c($sp) +glabel L80001D04_ovl0 /* 002904 80001D04 8E090024 */ lw $t1, 0x24($s0) /* 002908 80001D08 3C018005 */ lui $at, %hi(D_80048C8C) # $at, 0x8005 /* 00290C 80001D0C 00003025 */ move $a2, $zero @@ -240,6 +248,7 @@ glabel func_800019BC /* 002930 80001D30 8E05001C */ lw $a1, 0x1c($s0) /* 002934 80001D34 10000036 */ b .L80001E10_ovl0 /* 002938 80001D38 8FBF002C */ lw $ra, 0x2c($sp) +glabel L80001D3C_ovl0 /* 00293C 80001D3C 24050001 */ li $a1, 1 /* 002940 80001D40 3C018005 */ lui $at, %hi(D_80048CD0) # $at, 0x8005 /* 002944 80001D44 AC258CD0 */ sw $a1, %lo(D_80048CD0)($at) @@ -254,6 +263,7 @@ glabel func_800019BC /* 002968 80001D68 8E05001C */ lw $a1, 0x1c($s0) /* 00296C 80001D6C 10000028 */ b .L80001E10_ovl0 /* 002970 80001D70 8FBF002C */ lw $ra, 0x2c($sp) +glabel L80001D74_ovl0 /* 002974 80001D74 3C018005 */ lui $at, %hi(D_80048CD0) # $at, 0x8005 /* 002978 80001D78 AC208CD0 */ sw $zero, %lo(D_80048CD0)($at) /* 00297C 80001D7C 8E040020 */ lw $a0, 0x20($s0) @@ -264,6 +274,7 @@ glabel func_800019BC /* 002990 80001D90 8E05001C */ lw $a1, 0x1c($s0) /* 002994 80001D94 1000001E */ b .L80001E10_ovl0 /* 002998 80001D98 8FBF002C */ lw $ra, 0x2c($sp) +glabel L80001D9C_ovl0 /* 00299C 80001D9C 3C048005 */ lui $a0, %hi(D_80048B84) # $a0, 0x8005 /* 0029A0 80001DA0 8C848B84 */ lw $a0, %lo(D_80048B84)($a0) /* 0029A4 80001DA4 24050001 */ li $a1, 1 diff --git a/asm/non_matchings/ovl0/ovl0_2/func_80004250.s b/asm/non_matchings/ovl0/ovl0_2/func_80004250.s index 19cc48a3..10e1326c 100644 --- a/asm/non_matchings/ovl0/ovl0_2/func_80004250.s +++ b/asm/non_matchings/ovl0/ovl0_2/func_80004250.s @@ -20,7 +20,7 @@ glabel func_80004250 /* 004E98 80004298 3C068005 */ lui $a2, %hi(D_80048E70) # $a2, 0x8005 /* 004E9C 8000429C 24C68E70 */ addiu $a2, %lo(D_80048E70) # addiu $a2, $a2, -0x7190 /* 004EA0 800042A0 02802025 */ move $a0, $s4 -/* 004EA4 800042A4 0C00BD34 */ jal osContReset +/* 004EA4 800042A4 0C00BD34 */ jal osContInit /* 004EA8 800042A8 27A50043 */ addiu $a1, $sp, 0x43 /* 004EAC 800042AC 3C118005 */ lui $s1, %hi(D_80048E70) # $s1, 0x8005 /* 004EB0 800042B0 3C128005 */ lui $s2, %hi(D_800490F0) # $s2, 0x8005 diff --git a/asm/non_matchings/ovl0/ovl0_8/func_80021618.s b/asm/non_matchings/ovl0/ovl0_8/func_80021618.s index bee42721..6e9b07db 100644 --- a/asm/non_matchings/ovl0/ovl0_8/func_80021618.s +++ b/asm/non_matchings/ovl0/ovl0_8/func_80021618.s @@ -1,11 +1,11 @@ glabel func_80021618 /* 022218 80021618 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 02221C 8002161C 8FAE0030 */ lw $t6, 0x30($sp) -/* 022220 80021620 3C018004 */ lui $at, 0x8004 +/* 022220 80021620 3C018004 */ lui $at, %hi(D_8003F660) /* 022224 80021624 44866000 */ mtc1 $a2, $f12 /* 022228 80021628 000E7880 */ sll $t7, $t6, 2 /* 02222C 8002162C 002F0821 */ addu $at, $at, $t7 -/* 022230 80021630 C424F660 */ lwc1 $f4, -0x9a0($at) +/* 022230 80021630 C424F660 */ lwc1 $f4, %lo(D_8003F660)($at) /* 022234 80021634 8FB90034 */ lw $t9, 0x34($sp) /* 022238 80021638 AFBF001C */ sw $ra, 0x1c($sp) /* 02223C 8002163C 460C2182 */ mul.s $f6, $f4, $f12 diff --git a/asm/non_matchings/ovl0/ovl0_8/func_80021FA4.s b/asm/non_matchings/ovl0/ovl0_8/func_80021FA4.s index 325616f0..42d63daf 100644 --- a/asm/non_matchings/ovl0/ovl0_8/func_80021FA4.s +++ b/asm/non_matchings/ovl0/ovl0_8/func_80021FA4.s @@ -24,8 +24,8 @@ glabel crash_screen_print /* 022BFC 80021FFC 00408025 */ move $s0, $v0 /* 022C00 80022000 18400011 */ blez $v0, .L80022048_ovl0 /* 022C04 80022004 02608825 */ move $s1, $s3 -/* 022C08 80022008 3C138004 */ lui $s3, %hi(D_8003F68C) # $s3, 0x8004 -/* 022C0C 8002200C 2673F68C */ addiu $s3, %lo(D_8003F68C) # addiu $s3, $s3, -0x974 +/* 022C08 80022008 3C138004 */ lui $s3, %hi(crashScreenGlyphTable) # $s3, 0x8004 +/* 022C0C 8002200C 2673F68C */ addiu $s3, %lo(crashScreenGlyphTable) # addiu $s3, $s3, -0x974 /* 022C10 80022010 241400FF */ li $s4, 255 .L80022014_ovl0: /* 022C14 80022014 922E0000 */ lbu $t6, ($s1) diff --git a/asm/non_matchings/ovl0/ovl0_8/func_800222C4.s b/asm/non_matchings/ovl0/ovl0_8/func_800222C4.s index 48b659af..7797b1cd 100644 --- a/asm/non_matchings/ovl0/ovl0_8/func_800222C4.s +++ b/asm/non_matchings/ovl0/ovl0_8/func_800222C4.s @@ -36,9 +36,9 @@ glabel func_800222C4 /* 022F44 80022344 11E1000E */ beq $t7, $at, .L80022380_ovl0 /* 022F48 80022348 24050019 */ li $a1, 25 /* 022F4C 8002234C 0012C080 */ sll $t8, $s2, 2 -/* 022F50 80022350 3C198004 */ lui $t9, 0x8004 +/* 022F50 80022350 3C198004 */ lui $t9, %hi(D_8003F80C) /* 022F54 80022354 0338C821 */ addu $t9, $t9, $t8 -/* 022F58 80022358 8F39F80C */ lw $t9, -0x7f4($t9) +/* 022F58 80022358 8F39F80C */ lw $t9, %lo(D_8003F80C)($t9) /* 022F5C 8002235C 3C068004 */ lui $a2, %hi(D_80040F40) # $a2, 0x8004 /* 022F60 80022360 8E070014 */ lw $a3, 0x14($s0) /* 022F64 80022364 24C60F40 */ addiu $a2, %lo(D_80040F40) # addiu $a2, $a2, 0xf40 @@ -104,9 +104,9 @@ glabel func_800222C4 /* 023044 80022444 24010002 */ li $at, 2 /* 023048 80022448 1161000D */ beq $t3, $at, .L80022480_ovl0 /* 02304C 8002244C 00126080 */ sll $t4, $s2, 2 -/* 023050 80022450 3C0D8004 */ lui $t5, 0x8004 +/* 023050 80022450 3C0D8004 */ lui $t5, %hi(D_8003F80C) /* 023054 80022454 01AC6821 */ addu $t5, $t5, $t4 -/* 023058 80022458 8DADF80C */ lw $t5, -0x7f4($t5) +/* 023058 80022458 8DADF80C */ lw $t5, %lo(D_8003F80C)($t5) /* 02305C 8002245C 3C068004 */ lui $a2, %hi(D_80040FA4) # $a2, 0x8004 /* 023060 80022460 8E070014 */ lw $a3, 0x14($s0) /* 023064 80022464 24C60FA4 */ addiu $a2, %lo(D_80040FA4) # addiu $a2, $a2, 0xfa4 diff --git a/asm/non_matchings/ovl0/ovl0_8/func_80022A58.s b/asm/non_matchings/ovl0/ovl0_8/func_80022A58.s index a2eb8735..91bb97e5 100644 --- a/asm/non_matchings/ovl0/ovl0_8/func_80022A58.s +++ b/asm/non_matchings/ovl0/ovl0_8/func_80022A58.s @@ -21,12 +21,12 @@ glabel func_80022A58 /* 0236A4 80022AA4 00409825 */ move $s3, $v0 /* 0236A8 80022AA8 18400029 */ blez $v0, .L80022B50_ovl0 /* 0236AC 80022AAC 0200A025 */ move $s4, $s0 -/* 0236B0 80022AB0 3C168004 */ lui $s6, %hi(D_8003F68C) # $s6, 0x8004 +/* 0236B0 80022AB0 3C168004 */ lui $s6, %hi(crashScreenGlyphTable) # $s6, 0x8004 /* 0236B4 80022AB4 3C128004 */ lui $s2, %hi(D_8003F86C) # $s2, 0x8004 /* 0236B8 80022AB8 3C118004 */ lui $s1, %hi(D_8003F870) # $s1, 0x8004 /* 0236BC 80022ABC 2631F870 */ addiu $s1, %lo(D_8003F870) # addiu $s1, $s1, -0x790 /* 0236C0 80022AC0 2652F86C */ addiu $s2, %lo(D_8003F86C) # addiu $s2, $s2, -0x794 -/* 0236C4 80022AC4 26D6F68C */ addiu $s6, %lo(D_8003F68C) # addiu $s6, $s6, -0x974 +/* 0236C4 80022AC4 26D6F68C */ addiu $s6, %lo(crashScreenGlyphTable) # addiu $s6, $s6, -0x974 /* 0236C8 80022AC8 241E00FF */ li $fp, 255 /* 0236CC 80022ACC 2417000A */ li $s7, 10 /* 0236D0 80022AD0 2415001E */ li $s5, 30 diff --git a/asm/ovl0/bss_after_leointerrupt.s b/asm/ovl0/bss_after_leointerrupt.s index 87776c0b..d386d8bd 100644 --- a/asm/ovl0/bss_after_leointerrupt.s +++ b/asm/ovl0/bss_after_leointerrupt.s @@ -193,13 +193,13 @@ glabel D_80098A88 glabel D_80098A8C .word 0x00000000 -glabel D_80098A90 +glabel siAccessBuf .word 0x00000000 glabel D_80098A94 .word 0x00000000 -glabel D_80098A98 +glabel __osSiAccessQueue .word 0x00000000 glabel D_80098A9C diff --git a/asm/ovl0/exception.s b/asm/ovl0/exception.s index a1f4b222..3ed400fd 100644 --- a/asm/ovl0/exception.s +++ b/asm/ovl0/exception.s @@ -2,6 +2,12 @@ .set noreorder .set gp=64 .include "macros.inc" + +.section .data + +glabel __osHwIntTable +.word 0x0, 0x0, 0x0, 0x0, 0x0 + .section .text,"ax" glabel __osExceptionPreamble /* 02EB60 8002DF60 3C1A8003 */ lui $k0, %hi(__osException) # $k0, 0x8003 diff --git a/asm/ovl0/func_80038F60.s b/asm/ovl0/func_80038F60.s.old similarity index 88% rename from asm/ovl0/func_80038F60.s rename to asm/ovl0/func_80038F60.s.old index dc2808d0..5f35ec59 100644 --- a/asm/ovl0/func_80038F60.s +++ b/asm/ovl0/func_80038F60.s.old @@ -11,12 +11,12 @@ glabel osEepromRead /* 039B68 80038F68 AFBF0024 */ sw $ra, 0x24($sp) /* 039B6C 80038F6C AFB20020 */ sw $s2, 0x20($sp) /* 039B70 80038F70 AFB00018 */ sw $s0, 0x18($sp) -/* 039B74 80038F74 3C11800A */ lui $s1, %hi(D_8009B500) # $s1, 0x800a +/* 039B74 80038F74 3C11800A */ lui $s1, %hi(__osEepPifRam) # $s1, 0x800a /* 039B78 80038F78 00C08025 */ move $s0, $a2 /* 039B7C 80038F7C 00809025 */ move $s2, $a0 /* 039B80 80038F80 AFA50054 */ sw $a1, 0x54($sp) /* 039B84 80038F84 0C00BD18 */ jal __osSiGetAccess -/* 039B88 80038F88 2631B500 */ addiu $s1, %lo(D_8009B500) # addiu $s1, $s1, -0x4b00 +/* 039B88 80038F88 2631B500 */ addiu $s1, %lo(__osEepPifRam) # addiu $s1, $s1, -0x4b00 /* 039B8C 80038F8C 02402025 */ move $a0, $s2 /* 039B90 80038F90 0C00BE8D */ jal __osEepStatus /* 039B94 80038F94 27A5003C */ addiu $a1, $sp, 0x3c @@ -65,16 +65,16 @@ glabel osEepromRead .L8003902C_ovl0: /* 039C2C 8003902C 0C00E449 */ jal __osPackEepReadData /* 039C30 80039030 93A40057 */ lbu $a0, 0x57($sp) -/* 039C34 80039034 3C05800A */ lui $a1, %hi(D_8009B500) # $a1, 0x800a -/* 039C38 80039038 24A5B500 */ addiu $a1, %lo(D_8009B500) # addiu $a1, $a1, -0x4b00 +/* 039C34 80039034 3C05800A */ lui $a1, %hi(__osEepPifRam) # $a1, 0x800a +/* 039C38 80039038 24A5B500 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, -0x4b00 /* 039C3C 8003903C 0C00C138 */ jal __osSiRawStartDma /* 039C40 80039040 24040001 */ li $a0, 1 /* 039C44 80039044 02402025 */ move $a0, $s2 /* 039C48 80039048 00002825 */ move $a1, $zero /* 039C4C 8003904C 0C00B540 */ jal osRecvMesg /* 039C50 80039050 24060001 */ li $a2, 1 -/* 039C54 80039054 3C05800A */ lui $a1, %hi(D_8009B500) # $a1, 0x800a -/* 039C58 80039058 24A5B500 */ addiu $a1, %lo(D_8009B500) # addiu $a1, $a1, -0x4b00 +/* 039C54 80039054 3C05800A */ lui $a1, %hi(__osEepPifRam) # $a1, 0x800a +/* 039C58 80039058 24A5B500 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, -0x4b00 /* 039C5C 8003905C 0C00C138 */ jal __osSiRawStartDma /* 039C60 80039060 00002025 */ move $a0, $zero /* 039C64 80039064 240C0004 */ li $t4, 4 @@ -132,22 +132,22 @@ glabel osEepromRead glabel __osPackEepReadData /* 039D24 80039124 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 039D28 80039128 3C03800A */ lui $v1, %hi(D_8009B500) # $v1, 0x800a -/* 039D2C 8003912C 2463B500 */ addiu $v1, %lo(D_8009B500) # addiu $v1, $v1, -0x4b00 +/* 039D28 80039128 3C03800A */ lui $v1, %hi(__osEepPifRam) # $v1, 0x800a +/* 039D2C 8003912C 2463B500 */ addiu $v1, %lo(__osEepPifRam) # addiu $v1, $v1, -0x4b00 /* 039D30 80039130 240F0001 */ li $t7, 1 /* 039D34 80039134 AC6F003C */ sw $t7, 0x3c($v1) /* 039D38 80039138 24180002 */ li $t8, 2 /* 039D3C 8003913C 24190008 */ li $t9, 8 /* 039D40 80039140 24080004 */ li $t0, 4 -/* 039D44 80039144 3C01800A */ lui $at, %hi(D_8009B500) # $at, 0x800a -/* 039D48 80039148 3C02800A */ lui $v0, %hi(D_8009B501) # $v0, 0x800a +/* 039D44 80039144 3C01800A */ lui $at, %hi(__osEepPifRam) # $at, 0x800a +/* 039D48 80039148 3C02800A */ lui $v0, %hi(__osMaxControllers) # $v0, 0x800a /* 039D4C 8003914C AFA40018 */ sw $a0, 0x18($sp) /* 039D50 80039150 A3B80008 */ sb $t8, 8($sp) /* 039D54 80039154 A3B90009 */ sb $t9, 9($sp) /* 039D58 80039158 A3A8000A */ sb $t0, 0xa($sp) /* 039D5C 8003915C A3A4000B */ sb $a0, 0xb($sp) -/* 039D60 80039160 2442B501 */ addiu $v0, %lo(D_8009B501) # addiu $v0, $v0, -0x4aff -/* 039D64 80039164 A020B500 */ sb $zero, %lo(D_8009B500)($at) +/* 039D60 80039160 2442B501 */ addiu $v0, %lo(__osMaxControllers) # addiu $v0, $v0, -0x4aff +/* 039D64 80039164 A020B500 */ sb $zero, %lo(__osEepPifRam)($at) /* 039D68 80039168 A0400002 */ sb $zero, 2($v0) /* 039D6C 8003916C A0400001 */ sb $zero, 1($v0) /* 039D70 80039170 A0400000 */ sb $zero, ($v0) diff --git a/asm/ovl0/ovl0_9.s b/asm/ovl0/ovl0_9.s index a6dd151b..baca8142 100644 --- a/asm/ovl0/ovl0_9.s +++ b/asm/ovl0/ovl0_9.s @@ -1,12167 +1,12167 @@ -.set noat -.set noreorder -.set gp=64 - -.include "macros.inc" - -.section .text, "ax" - -glabel func_800232AC -/* 023EB0 800232B0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 023EB4 800232B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 023EB8 800232B8 AFA5002C */ sw $a1, 0x2c($sp) -/* 023EBC 800232BC AFA60030 */ sw $a2, 0x30($sp) -/* 023EC0 800232C0 00A03825 */ move $a3, $a1 -/* 023EC4 800232C4 00C04025 */ move $t0, $a2 -/* 023EC8 800232C8 240E000C */ li $t6, 12 -/* 023ECC 800232CC A7AE0018 */ sh $t6, 0x18($sp) -/* 023ED0 800232D0 A3A7001C */ sb $a3, 0x1c($sp) -/* 023ED4 800232D4 A3A8001D */ sb $t0, 0x1d($sp) -/* 023ED8 800232D8 00003025 */ move $a2, $zero -/* 023EDC 800232DC 27A50018 */ addiu $a1, $sp, 0x18 -/* 023EE0 800232E0 0C009818 */ jal func_80026060 -/* 023EE4 800232E4 24840050 */ addiu $a0, $a0, 0x50 -/* 023EE8 800232E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 023EEC 800232EC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 023EF0 800232F0 03E00008 */ jr $ra -/* 023EF4 800232F4 00000000 */ nop - -glabel func_800232F8 -/* 023EF8 800232F8 00000000 */ nop -/* 023EFC 800232FC 00000000 */ nop -/* 023F00 80023300 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 023F04 80023304 00A03825 */ move $a3, $a1 -/* 023F08 80023308 AFBF0014 */ sw $ra, 0x14($sp) -/* 023F0C 8002330C AFA5002C */ sw $a1, 0x2c($sp) -/* 023F10 80023310 AFA60030 */ sw $a2, 0x30($sp) -/* 023F14 80023314 00C04025 */ move $t0, $a2 -/* 023F18 80023318 240E0002 */ li $t6, 2 -/* 023F1C 8002331C 34EF00B0 */ ori $t7, $a3, 0xb0 -/* 023F20 80023320 2418005B */ li $t8, 91 -/* 023F24 80023324 A7AE0018 */ sh $t6, 0x18($sp) -/* 023F28 80023328 AFA0001C */ sw $zero, 0x1c($sp) -/* 023F2C 8002332C A3AF0020 */ sb $t7, 0x20($sp) -/* 023F30 80023330 A3B80021 */ sb $t8, 0x21($sp) -/* 023F34 80023334 A3A80022 */ sb $t0, 0x22($sp) -/* 023F38 80023338 00003025 */ move $a2, $zero -/* 023F3C 8002333C 27A50018 */ addiu $a1, $sp, 0x18 -/* 023F40 80023340 0C009818 */ jal func_80026060 -/* 023F44 80023344 24840050 */ addiu $a0, $a0, 0x50 -/* 023F48 80023348 8FBF0014 */ lw $ra, 0x14($sp) -/* 023F4C 8002334C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 023F50 80023350 03E00008 */ jr $ra -/* 023F54 80023354 00000000 */ nop - -glabel func_80023358 -/* 023F58 80023358 00000000 */ nop -/* 023F5C 8002335C 00000000 */ nop -/* 023F60 80023360 AFA40000 */ sw $a0, ($sp) -/* 023F64 80023364 308400FF */ andi $a0, $a0, 0xff -/* 023F68 80023368 28810080 */ slti $at, $a0, 0x80 -/* 023F6C 8002336C 14200002 */ bnez $at, .L80023378_ovl0 -/* 023F70 80023370 00000000 */ nop -/* 023F74 80023374 2404007F */ li $a0, 127 -.L80023378_ovl0: -/* 023F78 80023378 3C018009 */ lui $at, 0x8009 -/* 023F7C 8002337C 03E00008 */ jr $ra -/* 023F80 80023380 A024793A */ sb $a0, 0x793a($at) - -glabel func_80023384 -/* 023F84 80023384 AFA50004 */ sw $a1, 4($sp) -/* 023F88 80023388 30A500FF */ andi $a1, $a1, 0xff -/* 023F8C 8002338C 28A10080 */ slti $at, $a1, 0x80 -/* 023F90 80023390 54200003 */ bnezl $at, .L800233A0_ovl0 -/* 023F94 80023394 8C820028 */ lw $v0, 0x28($a0) -/* 023F98 80023398 2405007F */ li $a1, 127 -/* 023F9C 8002339C 8C820028 */ lw $v0, 0x28($a0) -.L800233A0_ovl0: -/* 023FA0 800233A0 A0850030 */ sb $a1, 0x30($a0) -/* 023FA4 800233A4 10400002 */ beqz $v0, .L800233B0_ovl0 -/* 023FA8 800233A8 00000000 */ nop -/* 023FAC 800233AC A045003C */ sb $a1, 0x3c($v0) -.L800233B0_ovl0: -/* 023FB0 800233B0 3C028009 */ lui $v0, %hi(D_80097920) # $v0, 0x8009 -/* 023FB4 800233B4 8C427920 */ lw $v0, %lo(D_80097920)($v0) -/* 023FB8 800233B8 1040000C */ beqz $v0, .L800233EC_ovl0 -/* 023FBC 800233BC 00000000 */ nop -.L800233C0_ovl0: -/* 023FC0 800233C0 8C4F0004 */ lw $t7, 4($v0) -/* 023FC4 800233C4 8C430000 */ lw $v1, ($v0) -/* 023FC8 800233C8 148F0006 */ bne $a0, $t7, .L800233E4_ovl0 -/* 023FCC 800233CC 00000000 */ nop -/* 023FD0 800233D0 8C460028 */ lw $a2, 0x28($v0) -/* 023FD4 800233D4 A0450030 */ sb $a1, 0x30($v0) -/* 023FD8 800233D8 10C00002 */ beqz $a2, .L800233E4_ovl0 -/* 023FDC 800233DC 00000000 */ nop -/* 023FE0 800233E0 A0C5003C */ sb $a1, 0x3c($a2) -.L800233E4_ovl0: -/* 023FE4 800233E4 1460FFF6 */ bnez $v1, .L800233C0_ovl0 -/* 023FE8 800233E8 00601025 */ move $v0, $v1 -.L800233EC_ovl0: -/* 023FEC 800233EC 03E00008 */ jr $ra -/* 023FF0 800233F0 00000000 */ nop - -glabel func_800233F4 -/* 023FF4 800233F4 AFA50004 */ sw $a1, 4($sp) -/* 023FF8 800233F8 30A500FF */ andi $a1, $a1, 0xff -/* 023FFC 800233FC 28A10080 */ slti $at, $a1, 0x80 -/* 024000 80023400 54200003 */ bnezl $at, .L80023410_ovl0 -/* 024004 80023404 8C820028 */ lw $v0, 0x28($a0) -/* 024008 80023408 2405007F */ li $a1, 127 -/* 02400C 8002340C 8C820028 */ lw $v0, 0x28($a0) -.L80023410_ovl0: -/* 024010 80023410 A085002F */ sb $a1, 0x2f($a0) -/* 024014 80023414 10400002 */ beqz $v0, .L80023420_ovl0 -/* 024018 80023418 00000000 */ nop -/* 02401C 8002341C A045003A */ sb $a1, 0x3a($v0) -.L80023420_ovl0: -/* 024020 80023420 3C028009 */ lui $v0, %hi(D_80097920) # $v0, 0x8009 -/* 024024 80023424 8C427920 */ lw $v0, %lo(D_80097920)($v0) -/* 024028 80023428 1040000C */ beqz $v0, .L8002345C_ovl0 -/* 02402C 8002342C 00000000 */ nop -.L80023430_ovl0: -/* 024030 80023430 8C4F0004 */ lw $t7, 4($v0) -/* 024034 80023434 8C430000 */ lw $v1, ($v0) -/* 024038 80023438 148F0006 */ bne $a0, $t7, .L80023454_ovl0 -/* 02403C 8002343C 00000000 */ nop -/* 024040 80023440 8C460028 */ lw $a2, 0x28($v0) -/* 024044 80023444 A045002F */ sb $a1, 0x2f($v0) -/* 024048 80023448 10C00002 */ beqz $a2, .L80023454_ovl0 -/* 02404C 8002344C 00000000 */ nop -/* 024050 80023450 A0C5003A */ sb $a1, 0x3a($a2) -.L80023454_ovl0: -/* 024054 80023454 1460FFF6 */ bnez $v1, .L80023430_ovl0 -/* 024058 80023458 00601025 */ move $v0, $v1 -.L8002345C_ovl0: -/* 02405C 8002345C 03E00008 */ jr $ra -/* 024060 80023460 00000000 */ nop - -glabel func_80023464 -/* 024064 80023464 AFA50004 */ sw $a1, 4($sp) -/* 024068 80023468 30A500FF */ andi $a1, $a1, 0xff -/* 02406C 8002346C 28A10080 */ slti $at, $a1, 0x80 -/* 024070 80023470 54200003 */ bnezl $at, .L80023480_ovl0 -/* 024074 80023474 8C820028 */ lw $v0, 0x28($a0) -/* 024078 80023478 2405007F */ li $a1, 127 -/* 02407C 8002347C 8C820028 */ lw $v0, 0x28($a0) -.L80023480_ovl0: -/* 024080 80023480 A085002E */ sb $a1, 0x2e($a0) -/* 024084 80023484 10400006 */ beqz $v0, .L800234A0_ovl0 -/* 024088 80023488 00000000 */ nop -/* 02408C 8002348C 908E0022 */ lbu $t6, 0x22($a0) -/* 024090 80023490 01C50019 */ multu $t6, $a1 -/* 024094 80023494 00007812 */ mflo $t7 -/* 024098 80023498 000FC1C3 */ sra $t8, $t7, 7 -/* 02409C 8002349C A0580038 */ sb $t8, 0x38($v0) -.L800234A0_ovl0: -/* 0240A0 800234A0 3C028009 */ lui $v0, %hi(D_80097920) # $v0, 0x8009 -/* 0240A4 800234A4 8C427920 */ lw $v0, %lo(D_80097920)($v0) -/* 0240A8 800234A8 10400010 */ beqz $v0, .L800234EC_ovl0 -/* 0240AC 800234AC 00000000 */ nop -.L800234B0_ovl0: -/* 0240B0 800234B0 8C590004 */ lw $t9, 4($v0) -/* 0240B4 800234B4 8C430000 */ lw $v1, ($v0) -/* 0240B8 800234B8 1499000A */ bne $a0, $t9, .L800234E4_ovl0 -/* 0240BC 800234BC 00000000 */ nop -/* 0240C0 800234C0 8C460028 */ lw $a2, 0x28($v0) -/* 0240C4 800234C4 A045002E */ sb $a1, 0x2e($v0) -/* 0240C8 800234C8 10C00006 */ beqz $a2, .L800234E4_ovl0 -/* 0240CC 800234CC 00000000 */ nop -/* 0240D0 800234D0 90880022 */ lbu $t0, 0x22($a0) -/* 0240D4 800234D4 01050019 */ multu $t0, $a1 -/* 0240D8 800234D8 00004812 */ mflo $t1 -/* 0240DC 800234DC 000951C3 */ sra $t2, $t1, 7 -/* 0240E0 800234E0 A0CA0038 */ sb $t2, 0x38($a2) -.L800234E4_ovl0: -/* 0240E4 800234E4 1460FFF2 */ bnez $v1, .L800234B0_ovl0 -/* 0240E8 800234E8 00601025 */ move $v0, $v1 -.L800234EC_ovl0: -/* 0240EC 800234EC 03E00008 */ jr $ra -/* 0240F0 800234F0 00000000 */ nop - -glabel func_800234F4 -/* 0240F4 800234F4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0240F8 800234F8 AFB00020 */ sw $s0, 0x20($sp) -/* 0240FC 800234FC 00808025 */ move $s0, $a0 -/* 024100 80023500 AFBF0024 */ sw $ra, 0x24($sp) -/* 024104 80023504 960E0000 */ lhu $t6, ($s0) -/* 024108 80023508 8E060020 */ lw $a2, 0x20($s0) -/* 02410C 8002350C 00002025 */ move $a0, $zero -/* 024110 80023510 00002825 */ move $a1, $zero -/* 024114 80023514 24070024 */ li $a3, 36 -/* 024118 80023518 0C0078F5 */ jal func_8001E3D4 -/* 02411C 8002351C AFAE0010 */ sw $t6, 0x10($sp) -/* 024120 80023520 3C098009 */ lui $t1, %hi(D_800978E0) # $t1, 0x8009 -/* 024124 80023524 252978E0 */ addiu $t1, %lo(D_800978E0) # addiu $t1, $t1, 0x78e0 -/* 024128 80023528 AD220030 */ sw $v0, 0x30($t1) -/* 02412C 8002352C 960F0000 */ lhu $t7, ($s0) -/* 024130 80023530 00004025 */ move $t0, $zero -/* 024134 80023534 00002025 */ move $a0, $zero -/* 024138 80023538 25F8FFFF */ addiu $t8, $t7, -1 -/* 02413C 8002353C 1B00000E */ blez $t8, .L80023578_ovl0 -/* 024140 80023540 00002825 */ move $a1, $zero -/* 024144 80023544 00001825 */ move $v1, $zero -/* 024148 80023548 8D220030 */ lw $v0, 0x30($t1) -.L8002354C_ovl0: -/* 02414C 8002354C 25080001 */ addiu $t0, $t0, 1 -/* 024150 80023550 0062C821 */ addu $t9, $v1, $v0 -/* 024154 80023554 272A0024 */ addiu $t2, $t9, 0x24 -/* 024158 80023558 00435821 */ addu $t3, $v0, $v1 -/* 02415C 8002355C AD6A0000 */ sw $t2, ($t3) -/* 024160 80023560 960C0000 */ lhu $t4, ($s0) -/* 024164 80023564 24630024 */ addiu $v1, $v1, 0x24 -/* 024168 80023568 258DFFFF */ addiu $t5, $t4, -1 -/* 02416C 8002356C 010D082A */ slt $at, $t0, $t5 -/* 024170 80023570 5420FFF6 */ bnezl $at, .L8002354C_ovl0 -/* 024174 80023574 8D220030 */ lw $v0, 0x30($t1) -.L80023578_ovl0: -/* 024178 80023578 8D2E0030 */ lw $t6, 0x30($t1) -/* 02417C 8002357C 000878C0 */ sll $t7, $t0, 3 -/* 024180 80023580 01E87821 */ addu $t7, $t7, $t0 -/* 024184 80023584 000F7880 */ sll $t7, $t7, 2 -/* 024188 80023588 01CFC021 */ addu $t8, $t6, $t7 -/* 02418C 8002358C AF000000 */ sw $zero, ($t8) -/* 024190 80023590 96190002 */ lhu $t9, 2($s0) -/* 024194 80023594 8E060020 */ lw $a2, 0x20($s0) -/* 024198 80023598 AFA0002C */ sw $zero, 0x2c($sp) -/* 02419C 8002359C 00004025 */ move $t0, $zero -/* 0241A0 800235A0 2407004C */ li $a3, 76 -/* 0241A4 800235A4 0C0078F5 */ jal func_8001E3D4 -/* 0241A8 800235A8 AFB90010 */ sw $t9, 0x10($sp) -/* 0241AC 800235AC 3C098009 */ lui $t1, %hi(D_800978E0) # $t1, 0x8009 -/* 0241B0 800235B0 252978E0 */ addiu $t1, %lo(D_800978E0) # addiu $t1, $t1, 0x78e0 -/* 0241B4 800235B4 AD220034 */ sw $v0, 0x34($t1) -/* 0241B8 800235B8 AD20003C */ sw $zero, 0x3c($t1) -/* 0241BC 800235BC 960A0002 */ lhu $t2, 2($s0) -/* 0241C0 800235C0 8FA8002C */ lw $t0, 0x2c($sp) -/* 0241C4 800235C4 00002025 */ move $a0, $zero -/* 0241C8 800235C8 254BFFFF */ addiu $t3, $t2, -1 -/* 0241CC 800235CC 1960000E */ blez $t3, .L80023608_ovl0 -/* 0241D0 800235D0 00002825 */ move $a1, $zero -/* 0241D4 800235D4 00001825 */ move $v1, $zero -/* 0241D8 800235D8 8D220034 */ lw $v0, 0x34($t1) -.L800235DC_ovl0: -/* 0241DC 800235DC 25080001 */ addiu $t0, $t0, 1 -/* 0241E0 800235E0 00626021 */ addu $t4, $v1, $v0 -/* 0241E4 800235E4 258D004C */ addiu $t5, $t4, 0x4c -/* 0241E8 800235E8 00437021 */ addu $t6, $v0, $v1 -/* 0241EC 800235EC ADCD0000 */ sw $t5, ($t6) -/* 0241F0 800235F0 960F0002 */ lhu $t7, 2($s0) -/* 0241F4 800235F4 2463004C */ addiu $v1, $v1, 0x4c -/* 0241F8 800235F8 25F8FFFF */ addiu $t8, $t7, -1 -/* 0241FC 800235FC 0118082A */ slt $at, $t0, $t8 -/* 024200 80023600 5420FFF6 */ bnezl $at, .L800235DC_ovl0 -/* 024204 80023604 8D220034 */ lw $v0, 0x34($t1) -.L80023608_ovl0: -/* 024208 80023608 00085080 */ sll $t2, $t0, 2 -/* 02420C 8002360C 01485021 */ addu $t2, $t2, $t0 -/* 024210 80023610 8D390034 */ lw $t9, 0x34($t1) -/* 024214 80023614 000A5080 */ sll $t2, $t2, 2 -/* 024218 80023618 01485023 */ subu $t2, $t2, $t0 -/* 02421C 8002361C 000A5080 */ sll $t2, $t2, 2 -/* 024220 80023620 032A5821 */ addu $t3, $t9, $t2 -/* 024224 80023624 AD600000 */ sw $zero, ($t3) -/* 024228 80023628 A5200048 */ sh $zero, 0x48($t1) -/* 02422C 8002362C 960C0004 */ lhu $t4, 4($s0) -/* 024230 80023630 8E060020 */ lw $a2, 0x20($s0) -/* 024234 80023634 AFA0002C */ sw $zero, 0x2c($sp) -/* 024238 80023638 00004025 */ move $t0, $zero -/* 02423C 8002363C 24070034 */ li $a3, 52 -/* 024240 80023640 0C0078F5 */ jal func_8001E3D4 -/* 024244 80023644 AFAC0010 */ sw $t4, 0x10($sp) -/* 024248 80023648 3C098009 */ lui $t1, %hi(D_800978E0) # $t1, 0x8009 -/* 02424C 8002364C 252978E0 */ addiu $t1, %lo(D_800978E0) # addiu $t1, $t1, 0x78e0 -/* 024250 80023650 AD220038 */ sw $v0, 0x38($t1) -/* 024254 80023654 AD200040 */ sw $zero, 0x40($t1) -/* 024258 80023658 960D0004 */ lhu $t5, 4($s0) -/* 02425C 8002365C 8FA8002C */ lw $t0, 0x2c($sp) -/* 024260 80023660 25AEFFFF */ addiu $t6, $t5, -1 -/* 024264 80023664 59C00012 */ blezl $t6, .L800236B0_ovl0 -/* 024268 80023668 00087880 */ sll $t7, $t0, 2 -/* 02426C 8002366C 00001825 */ move $v1, $zero -/* 024270 80023670 8D2F0038 */ lw $t7, 0x38($t1) -.L80023674_ovl0: -/* 024274 80023674 25080001 */ addiu $t0, $t0, 1 -/* 024278 80023678 01E3C021 */ addu $t8, $t7, $v1 -/* 02427C 8002367C A7000010 */ sh $zero, 0x10($t8) -/* 024280 80023680 8D220038 */ lw $v0, 0x38($t1) -/* 024284 80023684 0062C821 */ addu $t9, $v1, $v0 -/* 024288 80023688 272A0034 */ addiu $t2, $t9, 0x34 -/* 02428C 8002368C 00435821 */ addu $t3, $v0, $v1 -/* 024290 80023690 AD6A0000 */ sw $t2, ($t3) -/* 024294 80023694 960C0004 */ lhu $t4, 4($s0) -/* 024298 80023698 24630034 */ addiu $v1, $v1, 0x34 -/* 02429C 8002369C 258DFFFF */ addiu $t5, $t4, -1 -/* 0242A0 800236A0 010D082A */ slt $at, $t0, $t5 -/* 0242A4 800236A4 5420FFF3 */ bnezl $at, .L80023674_ovl0 -/* 0242A8 800236A8 8D2F0038 */ lw $t7, 0x38($t1) -/* 0242AC 800236AC 00087880 */ sll $t7, $t0, 2 -.L800236B0_ovl0: -/* 0242B0 800236B0 01E87823 */ subu $t7, $t7, $t0 -/* 0242B4 800236B4 8D2E0038 */ lw $t6, 0x38($t1) -/* 0242B8 800236B8 000F7880 */ sll $t7, $t7, 2 -/* 0242BC 800236BC 01E87821 */ addu $t7, $t7, $t0 -/* 0242C0 800236C0 000F7880 */ sll $t7, $t7, 2 -/* 0242C4 800236C4 01CFC021 */ addu $t8, $t6, $t7 -/* 0242C8 800236C8 AF000000 */ sw $zero, ($t8) -/* 0242CC 800236CC A520004A */ sh $zero, 0x4a($t1) -/* 0242D0 800236D0 8E190014 */ lw $t9, 0x14($s0) -/* 0242D4 800236D4 01202025 */ move $a0, $t1 -/* 0242D8 800236D8 AD39001C */ sw $t9, 0x1c($t1) -/* 0242DC 800236DC 960A0008 */ lhu $t2, 8($s0) -/* 0242E0 800236E0 3C198004 */ lui $t9, %hi(D_8003FB14) # $t9, 0x8004 -/* 0242E4 800236E4 A52A0028 */ sh $t2, 0x28($t1) -/* 0242E8 800236E8 8E0B0018 */ lw $t3, 0x18($s0) -/* 0242EC 800236EC AD2B0020 */ sw $t3, 0x20($t1) -/* 0242F0 800236F0 960C000A */ lhu $t4, 0xa($s0) -/* 0242F4 800236F4 3C0B0AF7 */ lui $t3, (0x0AF79E00 >> 16) # lui $t3, 0xaf7 -/* 0242F8 800236F8 356B9E00 */ ori $t3, (0x0AF79E00 & 0xFFFF) # ori $t3, $t3, 0x9e00 -/* 0242FC 800236FC A52C002A */ sh $t4, 0x2a($t1) -/* 024300 80023700 8E0D001C */ lw $t5, 0x1c($s0) -/* 024304 80023704 AD2D0024 */ sw $t5, 0x24($t1) -/* 024308 80023708 960E000C */ lhu $t6, 0xc($s0) -/* 02430C 8002370C 240D007F */ li $t5, 127 -/* 024310 80023710 A52E002C */ sh $t6, 0x2c($t1) -/* 024314 80023714 960F0006 */ lhu $t7, 6($s0) -/* 024318 80023718 3C0E8002 */ lui $t6, %hi(D_80026698) # $t6, 0x8002 -/* 02431C 8002371C 25CE6698 */ addiu $t6, %lo(D_80026698) # addiu $t6, $t6, 0x6698 -/* 024320 80023720 A52F0014 */ sh $t7, 0x14($t1) -/* 024324 80023724 8E180010 */ lw $t8, 0x10($s0) -/* 024328 80023728 AD380018 */ sw $t8, 0x18($t1) -/* 02432C 8002372C 8F39FB14 */ lw $t9, %lo(D_8003FB14)($t9) -/* 024330 80023730 8F2A004C */ lw $t2, 0x4c($t9) -/* 024334 80023734 A12D005A */ sb $t5, 0x5a($t1) -/* 024338 80023738 AD200000 */ sw $zero, ($t1) -/* 02433C 8002373C 016A001A */ div $zero, $t3, $t2 -/* 024340 80023740 00006012 */ mflo $t4 -/* 024344 80023744 AD2C0044 */ sw $t4, 0x44($t1) -/* 024348 80023748 15400002 */ bnez $t2, .L80023754_ovl0 -/* 02434C 8002374C 00000000 */ nop -/* 024350 80023750 0007000D */ break 7 -.L80023754_ovl0: -/* 024354 80023754 2401FFFF */ li $at, -1 -/* 024358 80023758 15410004 */ bne $t2, $at, .L8002376C_ovl0 -/* 02435C 8002375C 3C018000 */ lui $at, 0x8000 -/* 024360 80023760 15610002 */ bne $t3, $at, .L8002376C_ovl0 -/* 024364 80023764 00000000 */ nop -/* 024368 80023768 0006000D */ break 6 -.L8002376C_ovl0: -/* 02436C 8002376C AD2E0008 */ sw $t6, 8($t1) -/* 024370 80023770 0C00AA66 */ jal func_8002A998 -/* 024374 80023774 AD200004 */ sw $zero, 4($t1) -/* 024378 80023778 8FBF0024 */ lw $ra, 0x24($sp) -/* 02437C 8002377C 240F0001 */ li $t7, 1 -/* 024380 80023780 3C018004 */ lui $at, %hi(D_8003FB20) # $at, 0x8004 -/* 024384 80023784 8FB00020 */ lw $s0, 0x20($sp) -/* 024388 80023788 AC2FFB20 */ sw $t7, %lo(D_8003FB20)($at) -/* 02438C 8002378C 03E00008 */ jr $ra -/* 024390 80023790 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_80023794 -/* 024394 80023794 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 024398 80023798 AFBF0014 */ sw $ra, 0x14($sp) -/* 02439C 8002379C 0C00B590 */ jal osSetIntMask -/* 0243A0 800237A0 24040001 */ li $a0, 1 -/* 0243A4 800237A4 3C068009 */ lui $a2, %hi(D_800978E0) # $a2, 0x8009 -/* 0243A8 800237A8 24C678E0 */ addiu $a2, %lo(D_800978E0) # addiu $a2, $a2, 0x78e0 -/* 0243AC 800237AC 8CC3005C */ lw $v1, 0x5c($a2) -/* 0243B0 800237B0 00403825 */ move $a3, $v0 -/* 0243B4 800237B4 5060001F */ beql $v1, $zero, .L80023834_ovl0 -/* 0243B8 800237B8 8CC30060 */ lw $v1, 0x60($a2) -/* 0243BC 800237BC 8C640000 */ lw $a0, ($v1) -/* 0243C0 800237C0 24050001 */ li $a1, 1 -/* 0243C4 800237C4 5080000E */ beql $a0, $zero, .L80023800_ovl0 -/* 0243C8 800237C8 906F002A */ lbu $t7, 0x2a($v1) -/* 0243CC 800237CC 906E002A */ lbu $t6, 0x2a($v1) -.L800237D0_ovl0: -/* 0243D0 800237D0 54AE0007 */ bnel $a1, $t6, .L800237F0_ovl0 -/* 0243D4 800237D4 00801825 */ move $v1, $a0 -/* 0243D8 800237D8 8C62000C */ lw $v0, 0xc($v1) -/* 0243DC 800237DC 50400004 */ beql $v0, $zero, .L800237F0_ovl0 -/* 0243E0 800237E0 00801825 */ move $v1, $a0 -/* 0243E4 800237E4 AC450084 */ sw $a1, 0x84($v0) -/* 0243E8 800237E8 8C640000 */ lw $a0, ($v1) -/* 0243EC 800237EC 00801825 */ move $v1, $a0 -.L800237F0_ovl0: -/* 0243F0 800237F0 8C840000 */ lw $a0, ($a0) -/* 0243F4 800237F4 5480FFF6 */ bnezl $a0, .L800237D0_ovl0 -/* 0243F8 800237F8 906E002A */ lbu $t6, 0x2a($v1) -/* 0243FC 800237FC 906F002A */ lbu $t7, 0x2a($v1) -.L80023800_ovl0: -/* 024400 80023800 24050001 */ li $a1, 1 -/* 024404 80023804 54AF0006 */ bnel $a1, $t7, .L80023820_ovl0 -/* 024408 80023808 8CD8003C */ lw $t8, 0x3c($a2) -/* 02440C 8002380C 8C62000C */ lw $v0, 0xc($v1) -/* 024410 80023810 50400003 */ beql $v0, $zero, .L80023820_ovl0 -/* 024414 80023814 8CD8003C */ lw $t8, 0x3c($a2) -/* 024418 80023818 AC450084 */ sw $a1, 0x84($v0) -/* 02441C 8002381C 8CD8003C */ lw $t8, 0x3c($a2) -.L80023820_ovl0: -/* 024420 80023820 AC780000 */ sw $t8, ($v1) -/* 024424 80023824 8CD9005C */ lw $t9, 0x5c($a2) -/* 024428 80023828 ACC0005C */ sw $zero, 0x5c($a2) -/* 02442C 8002382C ACD9003C */ sw $t9, 0x3c($a2) -/* 024430 80023830 8CC30060 */ lw $v1, 0x60($a2) -.L80023834_ovl0: -/* 024434 80023834 1060000D */ beqz $v1, .L8002386C_ovl0 -/* 024438 80023838 00000000 */ nop -/* 02443C 8002383C 8C620000 */ lw $v0, ($v1) -/* 024440 80023840 50400006 */ beql $v0, $zero, .L8002385C_ovl0 -/* 024444 80023844 8CC80040 */ lw $t0, 0x40($a2) -/* 024448 80023848 00401825 */ move $v1, $v0 -.L8002384C_ovl0: -/* 02444C 8002384C 8C420000 */ lw $v0, ($v0) -/* 024450 80023850 5440FFFE */ bnezl $v0, .L8002384C_ovl0 -/* 024454 80023854 00401825 */ move $v1, $v0 -/* 024458 80023858 8CC80040 */ lw $t0, 0x40($a2) -.L8002385C_ovl0: -/* 02445C 8002385C AC680000 */ sw $t0, ($v1) -/* 024460 80023860 8CC90060 */ lw $t1, 0x60($a2) -/* 024464 80023864 ACC00060 */ sw $zero, 0x60($a2) -/* 024468 80023868 ACC90040 */ sw $t1, 0x40($a2) -.L8002386C_ovl0: -/* 02446C 8002386C 0C00B590 */ jal osSetIntMask -/* 024470 80023870 00E02025 */ move $a0, $a3 -/* 024474 80023874 8FBF0014 */ lw $ra, 0x14($sp) -/* 024478 80023878 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02447C 8002387C 03E00008 */ jr $ra -/* 024480 80023880 00000000 */ nop - -glabel func_80023884 -/* 024484 80023884 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 024488 80023888 AFBF0014 */ sw $ra, 0x14($sp) -/* 02448C 8002388C 0C00B590 */ jal osSetIntMask -/* 024490 80023890 24040001 */ li $a0, 1 -/* 024494 80023894 3C068009 */ lui $a2, %hi(D_800978E0) # $a2, 0x8009 -/* 024498 80023898 24C678E0 */ addiu $a2, %lo(D_800978E0) # addiu $a2, $a2, 0x78e0 -/* 02449C 8002389C 8CC3003C */ lw $v1, 0x3c($a2) -/* 0244A0 800238A0 00404025 */ move $t0, $v0 -/* 0244A4 800238A4 00002025 */ move $a0, $zero -/* 0244A8 800238A8 10600019 */ beqz $v1, .L80023910_ovl0 -/* 0244AC 800238AC 24070001 */ li $a3, 1 -.L800238B0_ovl0: -/* 0244B0 800238B0 906E002B */ lbu $t6, 0x2b($v1) -/* 0244B4 800238B4 8C620000 */ lw $v0, ($v1) -/* 0244B8 800238B8 31CF0080 */ andi $t7, $t6, 0x80 -/* 0244BC 800238BC 11E00011 */ beqz $t7, .L80023904_ovl0 -/* 0244C0 800238C0 00402825 */ move $a1, $v0 -/* 0244C4 800238C4 50800004 */ beql $a0, $zero, .L800238D8_ovl0 -/* 0244C8 800238C8 ACC2003C */ sw $v0, 0x3c($a2) -/* 0244CC 800238CC 10000002 */ b .L800238D8_ovl0 -/* 0244D0 800238D0 AC820000 */ sw $v0, ($a0) -/* 0244D4 800238D4 ACC2003C */ sw $v0, 0x3c($a2) -.L800238D8_ovl0: -/* 0244D8 800238D8 9078002A */ lbu $t8, 0x2a($v1) -/* 0244DC 800238DC 54F80006 */ bnel $a3, $t8, .L800238F8_ovl0 -/* 0244E0 800238E0 8CD9005C */ lw $t9, 0x5c($a2) -/* 0244E4 800238E4 8C62000C */ lw $v0, 0xc($v1) -/* 0244E8 800238E8 50400003 */ beql $v0, $zero, .L800238F8_ovl0 -/* 0244EC 800238EC 8CD9005C */ lw $t9, 0x5c($a2) -/* 0244F0 800238F0 AC400084 */ sw $zero, 0x84($v0) -/* 0244F4 800238F4 8CD9005C */ lw $t9, 0x5c($a2) -.L800238F8_ovl0: -/* 0244F8 800238F8 AC790000 */ sw $t9, ($v1) -/* 0244FC 800238FC 10000002 */ b .L80023908_ovl0 -/* 024500 80023900 ACC3005C */ sw $v1, 0x5c($a2) -.L80023904_ovl0: -/* 024504 80023904 00602025 */ move $a0, $v1 -.L80023908_ovl0: -/* 024508 80023908 14A0FFE9 */ bnez $a1, .L800238B0_ovl0 -/* 02450C 8002390C 00A01825 */ move $v1, $a1 -.L80023910_ovl0: -/* 024510 80023910 8CC20040 */ lw $v0, 0x40($a2) -/* 024514 80023914 00002025 */ move $a0, $zero -/* 024518 80023918 10400012 */ beqz $v0, .L80023964_ovl0 -/* 02451C 8002391C 00000000 */ nop -.L80023920_ovl0: -/* 024520 80023920 9049001F */ lbu $t1, 0x1f($v0) -/* 024524 80023924 8C430000 */ lw $v1, ($v0) -/* 024528 80023928 312A0080 */ andi $t2, $t1, 0x80 -/* 02452C 8002392C 1140000A */ beqz $t2, .L80023958_ovl0 -/* 024530 80023930 00602825 */ move $a1, $v1 -/* 024534 80023934 50800004 */ beql $a0, $zero, .L80023948_ovl0 -/* 024538 80023938 ACC30040 */ sw $v1, 0x40($a2) -/* 02453C 8002393C 10000002 */ b .L80023948_ovl0 -/* 024540 80023940 AC830000 */ sw $v1, ($a0) -/* 024544 80023944 ACC30040 */ sw $v1, 0x40($a2) -.L80023948_ovl0: -/* 024548 80023948 8CCB0060 */ lw $t3, 0x60($a2) -/* 02454C 8002394C AC4B0000 */ sw $t3, ($v0) -/* 024550 80023950 10000002 */ b .L8002395C_ovl0 -/* 024554 80023954 ACC20060 */ sw $v0, 0x60($a2) -.L80023958_ovl0: -/* 024558 80023958 00402025 */ move $a0, $v0 -.L8002395C_ovl0: -/* 02455C 8002395C 14A0FFF0 */ bnez $a1, .L80023920_ovl0 -/* 024560 80023960 00A01025 */ move $v0, $a1 -.L80023964_ovl0: -/* 024564 80023964 0C00B590 */ jal osSetIntMask -/* 024568 80023968 01002025 */ move $a0, $t0 -/* 02456C 8002396C 8FBF0014 */ lw $ra, 0x14($sp) -/* 024570 80023970 27BD0018 */ addiu $sp, $sp, 0x18 -/* 024574 80023974 03E00008 */ jr $ra -/* 024578 80023978 00000000 */ nop - -glabel func_8002397C -/* 02457C 8002397C 240E0002 */ li $t6, 2 -/* 024580 80023980 A4800028 */ sh $zero, 0x28($a0) -/* 024584 80023984 A08E002A */ sb $t6, 0x2a($a0) -/* 024588 80023988 03E00008 */ jr $ra -/* 02458C 8002398C A4800048 */ sh $zero, 0x48($a0) - -glabel func_80023990 -/* 024590 80023990 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 024594 80023994 AFBF0014 */ sw $ra, 0x14($sp) -/* 024598 80023998 0C00B590 */ jal osSetIntMask -/* 02459C 8002399C 24040001 */ li $a0, 1 -/* 0245A0 800239A0 0C008DE5 */ jal func_80023794 -/* 0245A4 800239A4 AFA2001C */ sw $v0, 0x1c($sp) -/* 0245A8 800239A8 3C068009 */ lui $a2, %hi(D_800978E0) # $a2, 0x8009 -/* 0245AC 800239AC 24C678E0 */ addiu $a2, %lo(D_800978E0) # addiu $a2, $a2, 0x78e0 -/* 0245B0 800239B0 8CC40040 */ lw $a0, 0x40($a2) -/* 0245B4 800239B4 24050002 */ li $a1, 2 -/* 0245B8 800239B8 1080000E */ beqz $a0, .L800239F4_ovl0 -/* 0245BC 800239BC 00801825 */ move $v1, $a0 -/* 0245C0 800239C0 8C640028 */ lw $a0, 0x28($v1) -.L800239C4_ovl0: -/* 0245C4 800239C4 A4600010 */ sh $zero, 0x10($v1) -/* 0245C8 800239C8 A4600026 */ sh $zero, 0x26($v1) -/* 0245CC 800239CC 10800004 */ beqz $a0, .L800239E0_ovl0 -/* 0245D0 800239D0 00601025 */ move $v0, $v1 -/* 0245D4 800239D4 A4800028 */ sh $zero, 0x28($a0) -/* 0245D8 800239D8 A085002A */ sb $a1, 0x2a($a0) -/* 0245DC 800239DC A4800048 */ sh $zero, 0x48($a0) -.L800239E0_ovl0: -/* 0245E0 800239E0 8C630000 */ lw $v1, ($v1) -/* 0245E4 800239E4 5460FFF7 */ bnezl $v1, .L800239C4_ovl0 -/* 0245E8 800239E8 8C640028 */ lw $a0, 0x28($v1) -/* 0245EC 800239EC 8CC40040 */ lw $a0, 0x40($a2) -/* 0245F0 800239F0 AFA20020 */ sw $v0, 0x20($sp) -.L800239F4_ovl0: -/* 0245F4 800239F4 10800006 */ beqz $a0, .L80023A10_ovl0 -/* 0245F8 800239F8 8FA20020 */ lw $v0, 0x20($sp) -/* 0245FC 800239FC 8CCE0038 */ lw $t6, 0x38($a2) -/* 024600 80023A00 AC4E0000 */ sw $t6, ($v0) -/* 024604 80023A04 8CCF0040 */ lw $t7, 0x40($a2) -/* 024608 80023A08 ACC00040 */ sw $zero, 0x40($a2) -/* 02460C 80023A0C ACCF0038 */ sw $t7, 0x38($a2) -.L80023A10_ovl0: -/* 024610 80023A10 0C00B590 */ jal osSetIntMask -/* 024614 80023A14 8FA4001C */ lw $a0, 0x1c($sp) -/* 024618 80023A18 8FBF0014 */ lw $ra, 0x14($sp) -/* 02461C 80023A1C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 024620 80023A20 03E00008 */ jr $ra -/* 024624 80023A24 00000000 */ nop - -glabel func_80023A28 -/* 024628 80023A28 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02462C 80023A2C AFBF0014 */ sw $ra, 0x14($sp) -/* 024630 80023A30 00804025 */ move $t0, $a0 -/* 024634 80023A34 AFA80018 */ sw $t0, 0x18($sp) -/* 024638 80023A38 0C00B590 */ jal osSetIntMask -/* 02463C 80023A3C 24040001 */ li $a0, 1 -/* 024640 80023A40 3C078009 */ lui $a3, %hi(D_800978E0) # $a3, 0x8009 -/* 024644 80023A44 24E778E0 */ addiu $a3, %lo(D_800978E0) # addiu $a3, $a3, 0x78e0 -/* 024648 80023A48 8CE30040 */ lw $v1, 0x40($a3) -/* 02464C 80023A4C 8FA80018 */ lw $t0, 0x18($sp) -/* 024650 80023A50 00405025 */ move $t2, $v0 -/* 024654 80023A54 1060001D */ beqz $v1, .L80023ACC_ovl0 -/* 024658 80023A58 00002825 */ move $a1, $zero -/* 02465C 80023A5C 24090002 */ li $t1, 2 -.L80023A60_ovl0: -/* 024660 80023A60 10680004 */ beq $v1, $t0, .L80023A74_ovl0 -/* 024664 80023A64 8C660000 */ lw $a2, ($v1) -/* 024668 80023A68 8C6E0004 */ lw $t6, 4($v1) -/* 02466C 80023A6C 550E0015 */ bnel $t0, $t6, .L80023AC4_ovl0 -/* 024670 80023A70 00602825 */ move $a1, $v1 -.L80023A74_ovl0: -/* 024674 80023A74 8C640028 */ lw $a0, 0x28($v1) -/* 024678 80023A78 A4600010 */ sh $zero, 0x10($v1) -/* 02467C 80023A7C A4600026 */ sh $zero, 0x26($v1) -/* 024680 80023A80 10800004 */ beqz $a0, .L80023A94_ovl0 -/* 024684 80023A84 00000000 */ nop -/* 024688 80023A88 A4800028 */ sh $zero, 0x28($a0) -/* 02468C 80023A8C A089002A */ sb $t1, 0x2a($a0) -/* 024690 80023A90 A4800048 */ sh $zero, 0x48($a0) -.L80023A94_ovl0: -/* 024694 80023A94 50A00005 */ beql $a1, $zero, .L80023AAC_ovl0 -/* 024698 80023A98 8C780000 */ lw $t8, ($v1) -/* 02469C 80023A9C 8C6F0000 */ lw $t7, ($v1) -/* 0246A0 80023AA0 10000003 */ b .L80023AB0_ovl0 -/* 0246A4 80023AA4 ACAF0000 */ sw $t7, ($a1) -/* 0246A8 80023AA8 8C780000 */ lw $t8, ($v1) -.L80023AAC_ovl0: -/* 0246AC 80023AAC ACF80040 */ sw $t8, 0x40($a3) -.L80023AB0_ovl0: -/* 0246B0 80023AB0 8CF90038 */ lw $t9, 0x38($a3) -/* 0246B4 80023AB4 AC790000 */ sw $t9, ($v1) -/* 0246B8 80023AB8 10000002 */ b .L80023AC4_ovl0 -/* 0246BC 80023ABC ACE30038 */ sw $v1, 0x38($a3) -/* 0246C0 80023AC0 00602825 */ move $a1, $v1 -.L80023AC4_ovl0: -/* 0246C4 80023AC4 14C0FFE6 */ bnez $a2, .L80023A60_ovl0 -/* 0246C8 80023AC8 00C01825 */ move $v1, $a2 -.L80023ACC_ovl0: -/* 0246CC 80023ACC 0C00B590 */ jal osSetIntMask -/* 0246D0 80023AD0 01402025 */ move $a0, $t2 -/* 0246D4 80023AD4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0246D8 80023AD8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0246DC 80023ADC 03E00008 */ jr $ra -/* 0246E0 80023AE0 00000000 */ nop - -glabel func_80023AE4 -/* 0246E4 80023AE4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0246E8 80023AE8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0246EC 80023AEC 00802825 */ move $a1, $a0 -/* 0246F0 80023AF0 AFA50018 */ sw $a1, 0x18($sp) -/* 0246F4 80023AF4 0C00B590 */ jal osSetIntMask -/* 0246F8 80023AF8 24040001 */ li $a0, 1 -/* 0246FC 80023AFC 8FA50018 */ lw $a1, 0x18($sp) -/* 024700 80023B00 00402025 */ move $a0, $v0 -/* 024704 80023B04 3C028009 */ lui $v0, %hi(D_800978E0) # $v0, 0x8009 -/* 024708 80023B08 10A00004 */ beqz $a1, .L80023B1C_ovl0 -/* 02470C 80023B0C 244278E0 */ addiu $v0, %lo(D_800978E0) # addiu $v0, $v0, 0x78e0 -/* 024710 80023B10 8C4E0040 */ lw $t6, 0x40($v0) -/* 024714 80023B14 ACAE0000 */ sw $t6, ($a1) -/* 024718 80023B18 AC450040 */ sw $a1, 0x40($v0) -.L80023B1C_ovl0: -/* 02471C 80023B1C 0C00B590 */ jal osSetIntMask -/* 024720 80023B20 00000000 */ nop -/* 024724 80023B24 8FBF0014 */ lw $ra, 0x14($sp) -/* 024728 80023B28 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02472C 80023B2C 03E00008 */ jr $ra -/* 024730 80023B30 00000000 */ nop - -glabel func_80023B34 -/* 024734 80023B34 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 024738 80023B38 AFBF0014 */ sw $ra, 0x14($sp) -/* 02473C 80023B3C 0C00B590 */ jal osSetIntMask -/* 024740 80023B40 24040001 */ li $a0, 1 -/* 024744 80023B44 3C068009 */ lui $a2, %hi(D_800978E0) # $a2, 0x8009 -/* 024748 80023B48 24C678E0 */ addiu $a2, %lo(D_800978E0) # addiu $a2, $a2, 0x78e0 -/* 02474C 80023B4C 8CD00038 */ lw $s0, 0x38($a2) -/* 024750 80023B50 00403825 */ move $a3, $v0 -/* 024754 80023B54 12000035 */ beqz $s0, .L80023C2C_ovl0 -/* 024758 80023B58 00000000 */ nop -/* 02475C 80023B5C 8E0E0000 */ lw $t6, ($s0) -/* 024760 80023B60 240F0001 */ li $t7, 1 -/* 024764 80023B64 24180030 */ li $t8, 48 -/* 024768 80023B68 ACCE0038 */ sw $t6, 0x38($a2) -/* 02476C 80023B6C A60F0010 */ sh $t7, 0x10($s0) -/* 024770 80023B70 AE110008 */ sw $s1, 8($s0) -/* 024774 80023B74 AE11000C */ sw $s1, 0xc($s0) -/* 024778 80023B78 A218001E */ sb $t8, 0x1e($s0) -/* 02477C 80023B7C 90D9004C */ lbu $t9, 0x4c($a2) -/* 024780 80023B80 3C0E8009 */ lui $t6, %hi(D_8009792E) # $t6, 0x8009 -/* 024784 80023B84 3C0F8009 */ lui $t7, %hi(D_80097930) # $t7, 0x8009 -/* 024788 80023B88 A219001F */ sb $t9, 0x1f($s0) -/* 02478C 80023B8C 95CE792E */ lhu $t6, %lo(D_8009792E)($t6) -/* 024790 80023B90 24050002 */ li $a1, 2 -/* 024794 80023B94 00052040 */ sll $a0, $a1, 1 -/* 024798 80023B98 A60E0012 */ sh $t6, 0x12($s0) -/* 02479C 80023B9C 95EF7930 */ lhu $t7, %lo(D_80097930)($t7) -/* 0247A0 80023BA0 00C41821 */ addu $v1, $a2, $a0 -/* 0247A4 80023BA4 02041021 */ addu $v0, $s0, $a0 -/* 0247A8 80023BA8 A60F0014 */ sh $t7, 0x14($s0) -/* 0247AC 80023BAC 9478004E */ lhu $t8, 0x4e($v1) -/* 0247B0 80023BB0 24040080 */ li $a0, 128 -/* 0247B4 80023BB4 A4580012 */ sh $t8, 0x12($v0) -/* 0247B8 80023BB8 94790050 */ lhu $t9, 0x50($v1) -/* 0247BC 80023BBC A4590014 */ sh $t9, 0x14($v0) -/* 0247C0 80023BC0 946E0052 */ lhu $t6, 0x52($v1) -/* 0247C4 80023BC4 241900FF */ li $t9, 255 -/* 0247C8 80023BC8 A44E0016 */ sh $t6, 0x16($v0) -/* 0247CC 80023BCC 946F0054 */ lhu $t7, 0x54($v1) -/* 0247D0 80023BD0 24030040 */ li $v1, 64 -/* 0247D4 80023BD4 240E007F */ li $t6, 127 -/* 0247D8 80023BD8 A44F0018 */ sh $t7, 0x18($v0) -/* 0247DC 80023BDC A2000020 */ sb $zero, 0x20($s0) -/* 0247E0 80023BE0 A2000021 */ sb $zero, 0x21($s0) -/* 0247E4 80023BE4 AE000028 */ sw $zero, 0x28($s0) -/* 0247E8 80023BE8 AE000004 */ sw $zero, 4($s0) -/* 0247EC 80023BEC A2190022 */ sb $t9, 0x22($s0) -/* 0247F0 80023BF0 A2030023 */ sb $v1, 0x23($s0) -/* 0247F4 80023BF4 A203002C */ sb $v1, 0x2c($s0) -/* 0247F8 80023BF8 A20E002E */ sb $t6, 0x2e($s0) -/* 0247FC 80023BFC A204002F */ sb $a0, 0x2f($s0) -/* 024800 80023C00 A2040030 */ sb $a0, 0x30($s0) -/* 024804 80023C04 94CF004A */ lhu $t7, 0x4a($a2) -/* 024808 80023C08 25F80001 */ addiu $t8, $t7, 1 -/* 02480C 80023C0C 3302FFFF */ andi $v0, $t8, 0xffff -/* 024810 80023C10 14400004 */ bnez $v0, .L80023C24_ovl0 -/* 024814 80023C14 A4D8004A */ sh $t8, 0x4a($a2) -/* 024818 80023C18 24590001 */ addiu $t9, $v0, 1 -/* 02481C 80023C1C A4D9004A */ sh $t9, 0x4a($a2) -/* 024820 80023C20 3322FFFF */ andi $v0, $t9, 0xffff -.L80023C24_ovl0: -/* 024824 80023C24 A6020026 */ sh $v0, 0x26($s0) -/* 024828 80023C28 A200002D */ sb $zero, 0x2d($s0) -.L80023C2C_ovl0: -/* 02482C 80023C2C 0C00B590 */ jal osSetIntMask -/* 024830 80023C30 00E02025 */ move $a0, $a3 -/* 024834 80023C34 8FBF0014 */ lw $ra, 0x14($sp) -/* 024838 80023C38 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02483C 80023C3C 02001025 */ move $v0, $s0 -/* 024840 80023C40 03E00008 */ jr $ra -/* 024844 80023C44 00000000 */ nop - -glabel func_80023C48 -/* 024848 80023C48 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02484C 80023C4C AFBF001C */ sw $ra, 0x1c($sp) -/* 024850 80023C50 AFA40030 */ sw $a0, 0x30($sp) -/* 024854 80023C54 AFB10018 */ sw $s1, 0x18($sp) -/* 024858 80023C58 AFB00014 */ sw $s0, 0x14($sp) -/* 02485C 80023C5C 0C00B590 */ jal osSetIntMask -/* 024860 80023C60 24040001 */ li $a0, 1 -/* 024864 80023C64 AFA20024 */ sw $v0, 0x24($sp) -/* 024868 80023C68 0C008ECD */ jal func_80023B34 -/* 02486C 80023C6C 8FB10030 */ lw $s1, 0x30($sp) -/* 024870 80023C70 10400006 */ beqz $v0, .L80023C8C_ovl0 -/* 024874 80023C74 00401825 */ move $v1, $v0 -/* 024878 80023C78 3C0E8009 */ lui $t6, %hi(D_80097920) # $t6, 0x8009 -/* 02487C 80023C7C 8DCE7920 */ lw $t6, %lo(D_80097920)($t6) -/* 024880 80023C80 3C018009 */ lui $at, %hi(D_80097920) # $at, 0x8009 -/* 024884 80023C84 AC4E0000 */ sw $t6, ($v0) -/* 024888 80023C88 AC227920 */ sw $v0, %lo(D_80097920)($at) -.L80023C8C_ovl0: -/* 02488C 80023C8C 8FA40024 */ lw $a0, 0x24($sp) -/* 024890 80023C90 0C00B590 */ jal osSetIntMask -/* 024894 80023C94 AFA3002C */ sw $v1, 0x2c($sp) -/* 024898 80023C98 8FBF001C */ lw $ra, 0x1c($sp) -/* 02489C 80023C9C 8FA2002C */ lw $v0, 0x2c($sp) -/* 0248A0 80023CA0 8FB00014 */ lw $s0, 0x14($sp) -/* 0248A4 80023CA4 8FB10018 */ lw $s1, 0x18($sp) -/* 0248A8 80023CA8 03E00008 */ jr $ra -/* 0248AC 80023CAC 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_80023CB0 -/* 0248B0 80023CB0 3C028009 */ lui $v0, %hi(D_800978E0) # $v0, 0x8009 -/* 0248B4 80023CB4 244278E0 */ addiu $v0, %lo(D_800978E0) # addiu $v0, $v0, 0x78e0 -/* 0248B8 80023CB8 944E0028 */ lhu $t6, 0x28($v0) -/* 0248BC 80023CBC 3085FFFF */ andi $a1, $a0, 0xffff -/* 0248C0 80023CC0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0248C4 80023CC4 00AE082A */ slt $at, $a1, $t6 -/* 0248C8 80023CC8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0248CC 80023CCC 14200003 */ bnez $at, .L80023CDC_ovl0 -/* 0248D0 80023CD0 AFA40018 */ sw $a0, 0x18($sp) -/* 0248D4 80023CD4 10000006 */ b .L80023CF0_ovl0 -/* 0248D8 80023CD8 00001025 */ move $v0, $zero -.L80023CDC_ovl0: -/* 0248DC 80023CDC 8C4F001C */ lw $t7, 0x1c($v0) -/* 0248E0 80023CE0 0005C080 */ sll $t8, $a1, 2 -/* 0248E4 80023CE4 01F8C821 */ addu $t9, $t7, $t8 -/* 0248E8 80023CE8 0C008F12 */ jal func_80023C48 -/* 0248EC 80023CEC 8F240000 */ lw $a0, ($t9) -.L80023CF0_ovl0: -/* 0248F0 80023CF0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0248F4 80023CF4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0248F8 80023CF8 03E00008 */ jr $ra -/* 0248FC 80023CFC 00000000 */ nop - -glabel func_80023D00 -/* 024900 80023D00 3C028009 */ lui $v0, %hi(D_800978E0) # $v0, 0x8009 -/* 024904 80023D04 244278E0 */ addiu $v0, %lo(D_800978E0) # addiu $v0, $v0, 0x78e0 -/* 024908 80023D08 944E0028 */ lhu $t6, 0x28($v0) -/* 02490C 80023D0C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 024910 80023D10 AFA40020 */ sw $a0, 0x20($sp) -/* 024914 80023D14 3084FFFF */ andi $a0, $a0, 0xffff -/* 024918 80023D18 008E082A */ slt $at, $a0, $t6 -/* 02491C 80023D1C AFBF001C */ sw $ra, 0x1c($sp) -/* 024920 80023D20 AFB10018 */ sw $s1, 0x18($sp) -/* 024924 80023D24 14200003 */ bnez $at, .L80023D34_ovl0 -/* 024928 80023D28 AFB00014 */ sw $s0, 0x14($sp) -/* 02492C 80023D2C 10000006 */ b .L80023D48_ovl0 -/* 024930 80023D30 00001025 */ move $v0, $zero -.L80023D34_ovl0: -/* 024934 80023D34 8C4F001C */ lw $t7, 0x1c($v0) -/* 024938 80023D38 0004C080 */ sll $t8, $a0, 2 -/* 02493C 80023D3C 01F8C821 */ addu $t9, $t7, $t8 -/* 024940 80023D40 0C008ECD */ jal func_80023B34 -/* 024944 80023D44 8F310000 */ lw $s1, ($t9) -.L80023D48_ovl0: -/* 024948 80023D48 8FBF001C */ lw $ra, 0x1c($sp) -/* 02494C 80023D4C 8FB00014 */ lw $s0, 0x14($sp) -/* 024950 80023D50 8FB10018 */ lw $s1, 0x18($sp) -/* 024954 80023D54 03E00008 */ jr $ra -/* 024958 80023D58 27BD0020 */ addiu $sp, $sp, 0x20 - -glabel func_80023D5C -/* 02495C 80023D5C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 024960 80023D60 AFBF0014 */ sw $ra, 0x14($sp) -/* 024964 80023D64 AFA40020 */ sw $a0, 0x20($sp) -/* 024968 80023D68 0C00B590 */ jal osSetIntMask -/* 02496C 80023D6C 24040001 */ li $a0, 1 -/* 024970 80023D70 3C048009 */ lui $a0, %hi(D_800978E0) # $a0, 0x8009 -/* 024974 80023D74 248478E0 */ addiu $a0, %lo(D_800978E0) # addiu $a0, $a0, 0x78e0 -/* 024978 80023D78 8C830034 */ lw $v1, 0x34($a0) -/* 02497C 80023D7C 8FA70020 */ lw $a3, 0x20($sp) -/* 024980 80023D80 00402825 */ move $a1, $v0 -/* 024984 80023D84 10600022 */ beqz $v1, .L80023E10_ovl0 -/* 024988 80023D88 24060040 */ li $a2, 64 -/* 02498C 80023D8C 8C6E0000 */ lw $t6, ($v1) -/* 024990 80023D90 8C8F003C */ lw $t7, 0x3c($a0) -/* 024994 80023D94 24180001 */ li $t8, 1 -/* 024998 80023D98 AC8E0034 */ sw $t6, 0x34($a0) -/* 02499C 80023D9C AC6F0000 */ sw $t7, ($v1) -/* 0249A0 80023DA0 AC83003C */ sw $v1, 0x3c($a0) -/* 0249A4 80023DA4 24190003 */ li $t9, 3 -/* 0249A8 80023DA8 2408007F */ li $t0, 127 -/* 0249AC 80023DAC A4780028 */ sh $t8, 0x28($v1) -/* 0249B0 80023DB0 AC670020 */ sw $a3, 0x20($v1) -/* 0249B4 80023DB4 AC670024 */ sw $a3, 0x24($v1) -/* 0249B8 80023DB8 A079002A */ sb $t9, 0x2a($v1) -/* 0249BC 80023DBC A0680032 */ sb $t0, 0x32($v1) -/* 0249C0 80023DC0 A0660034 */ sb $a2, 0x34($v1) -/* 0249C4 80023DC4 A0600036 */ sb $zero, 0x36($v1) -/* 0249C8 80023DC8 A460002C */ sh $zero, 0x2c($v1) -/* 0249CC 80023DCC 9089004C */ lbu $t1, 0x4c($a0) -/* 0249D0 80023DD0 240A00FF */ li $t2, 255 -/* 0249D4 80023DD4 AC600044 */ sw $zero, 0x44($v1) -/* 0249D8 80023DD8 A4600030 */ sh $zero, 0x30($v1) -/* 0249DC 80023DDC A06A0038 */ sb $t2, 0x38($v1) -/* 0249E0 80023DE0 A066003A */ sb $a2, 0x3a($v1) -/* 0249E4 80023DE4 A060003C */ sb $zero, 0x3c($v1) -/* 0249E8 80023DE8 A069002B */ sb $t1, 0x2b($v1) -/* 0249EC 80023DEC 948B0048 */ lhu $t3, 0x48($a0) -/* 0249F0 80023DF0 256C0001 */ addiu $t4, $t3, 1 -/* 0249F4 80023DF4 3182FFFF */ andi $v0, $t4, 0xffff -/* 0249F8 80023DF8 14400004 */ bnez $v0, .L80023E0C_ovl0 -/* 0249FC 80023DFC A48C0048 */ sh $t4, 0x48($a0) -/* 024A00 80023E00 244D0001 */ addiu $t5, $v0, 1 -/* 024A04 80023E04 A48D0048 */ sh $t5, 0x48($a0) -/* 024A08 80023E08 31A2FFFF */ andi $v0, $t5, 0xffff -.L80023E0C_ovl0: -/* 024A0C 80023E0C A4620048 */ sh $v0, 0x48($v1) -.L80023E10_ovl0: -/* 024A10 80023E10 00A02025 */ move $a0, $a1 -/* 024A14 80023E14 0C00B590 */ jal osSetIntMask -/* 024A18 80023E18 AFA3001C */ sw $v1, 0x1c($sp) -/* 024A1C 80023E1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 024A20 80023E20 8FA2001C */ lw $v0, 0x1c($sp) -/* 024A24 80023E24 27BD0020 */ addiu $sp, $sp, 0x20 -/* 024A28 80023E28 03E00008 */ jr $ra -/* 024A2C 80023E2C 00000000 */ nop - -glabel func_80023E30 -/* 024A30 80023E30 3C028009 */ lui $v0, %hi(D_800978E0) # $v0, 0x8009 -/* 024A34 80023E34 244278E0 */ addiu $v0, %lo(D_800978E0) # addiu $v0, $v0, 0x78e0 -/* 024A38 80023E38 944E002A */ lhu $t6, 0x2a($v0) -/* 024A3C 80023E3C 3085FFFF */ andi $a1, $a0, 0xffff -/* 024A40 80023E40 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 024A44 80023E44 00AE082A */ slt $at, $a1, $t6 -/* 024A48 80023E48 AFBF0014 */ sw $ra, 0x14($sp) -/* 024A4C 80023E4C 14200003 */ bnez $at, .L80023E5C_ovl0 -/* 024A50 80023E50 AFA40018 */ sw $a0, 0x18($sp) -/* 024A54 80023E54 10000006 */ b .L80023E70_ovl0 -/* 024A58 80023E58 00001025 */ move $v0, $zero -.L80023E5C_ovl0: -/* 024A5C 80023E5C 8C4F0020 */ lw $t7, 0x20($v0) -/* 024A60 80023E60 0005C080 */ sll $t8, $a1, 2 -/* 024A64 80023E64 01F8C821 */ addu $t9, $t7, $t8 -/* 024A68 80023E68 0C008F57 */ jal func_80023D5C -/* 024A6C 80023E6C 8F240000 */ lw $a0, ($t9) -.L80023E70_ovl0: -/* 024A70 80023E70 8FBF0014 */ lw $ra, 0x14($sp) -/* 024A74 80023E74 27BD0018 */ addiu $sp, $sp, 0x18 -/* 024A78 80023E78 03E00008 */ jr $ra -/* 024A7C 80023E7C 00000000 */ nop - -glabel func_80023E80 -/* 024A80 80023E80 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 024A84 80023E84 AFBF0014 */ sw $ra, 0x14($sp) -/* 024A88 80023E88 94820010 */ lhu $v0, 0x10($a0) -/* 024A8C 80023E8C 3401FFFF */ li $at, 65535 -/* 024A90 80023E90 00803825 */ move $a3, $a0 -/* 024A94 80023E94 00006825 */ move $t5, $zero -/* 024A98 80023E98 104101DF */ beq $v0, $at, .L80024618_ovl0 -/* 024A9C 80023E9C 00401825 */ move $v1, $v0 -/* 024AA0 80023EA0 104001DD */ beqz $v0, .L80024618_ovl0 -/* 024AA4 80023EA4 244EFFFF */ addiu $t6, $v0, -1 -/* 024AA8 80023EA8 31CFFFFF */ andi $t7, $t6, 0xffff -/* 024AAC 80023EAC 15E001DA */ bnez $t7, .L80024618_ovl0 -/* 024AB0 80023EB0 A48E0010 */ sh $t6, 0x10($a0) -/* 024AB4 80023EB4 90980021 */ lbu $t8, 0x21($a0) -/* 024AB8 80023EB8 3C0C8009 */ lui $t4, %hi(D_800978E0) # $t4, 0x8009 -/* 024ABC 80023EBC 258C78E0 */ addiu $t4, %lo(D_800978E0) # addiu $t4, $t4, 0x78e0 -/* 024AC0 80023EC0 1300000C */ beqz $t8, .L80023EF4_ovl0 -/* 024AC4 80023EC4 241F0001 */ li $ra, 1 -/* 024AC8 80023EC8 8CE40028 */ lw $a0, 0x28($a3) -/* 024ACC 80023ECC A0E00021 */ sb $zero, 0x21($a3) -/* 024AD0 80023ED0 24090002 */ li $t1, 2 -/* 024AD4 80023ED4 10800005 */ beqz $a0, .L80023EEC_ovl0 -/* 024AD8 80023ED8 241F0001 */ li $ra, 1 -/* 024ADC 80023EDC A4800028 */ sh $zero, 0x28($a0) -/* 024AE0 80023EE0 A089002A */ sb $t1, 0x2a($a0) -/* 024AE4 80023EE4 A4800048 */ sh $zero, 0x48($a0) -/* 024AE8 80023EE8 ACE00028 */ sw $zero, 0x28($a3) -.L80023EEC_ovl0: -/* 024AEC 80023EEC 100001CA */ b .L80024618_ovl0 -/* 024AF0 80023EF0 A4FF0010 */ sh $ra, 0x10($a3) -.L80023EF4_ovl0: -/* 024AF4 80023EF4 8CE50008 */ lw $a1, 8($a3) -/* 024AF8 80023EF8 340BFFFF */ li $t3, 65535 -/* 024AFC 80023EFC 24090002 */ li $t1, 2 -/* 024B00 80023F00 90A20000 */ lbu $v0, ($a1) -.L80023F04_ovl0: -/* 024B04 80023F04 24A50001 */ addiu $a1, $a1, 1 -/* 024B08 80023F08 304A00F8 */ andi $t2, $v0, 0xf8 -/* 024B0C 80023F0C 294100D0 */ slti $at, $t2, 0xd0 -/* 024B10 80023F10 1420013F */ bnez $at, .L80024410_ovl0 -/* 024B14 80023F14 00403025 */ move $a2, $v0 -/* 024B18 80023F18 2459FF30 */ addiu $t9, $v0, -0xd0 -/* 024B1C 80023F1C 2F210011 */ sltiu $at, $t9, 0x11 -/* 024B20 80023F20 10200139 */ beqz $at, .L80024408_ovl0 -/* 024B24 80023F24 00004025 */ move $t0, $zero -/* 024B28 80023F28 0019C880 */ sll $t9, $t9, 2 -/* 024B2C 80023F2C 3C018004 */ lui $at, 0x8004 -/* 024B30 80023F30 00390821 */ addu $at, $at, $t9 -/* 024B34 80023F34 8C3911C0 */ lw $t9, 0x11c0($at) -/* 024B38 80023F38 03200008 */ jr $t9 -/* 024B3C 80023F3C 00000000 */ nop -/* 024B40 80023F40 8CE40028 */ lw $a0, 0x28($a3) -/* 024B44 80023F44 3168FFFF */ andi $t0, $t3, 0xffff -/* 024B48 80023F48 01001825 */ move $v1, $t0 -/* 024B4C 80023F4C 1080012E */ beqz $a0, .L80024408_ovl0 -/* 024B50 80023F50 00000000 */ nop -/* 024B54 80023F54 A4800028 */ sh $zero, 0x28($a0) -/* 024B58 80023F58 A089002A */ sb $t1, 0x2a($a0) -/* 024B5C 80023F5C A4800048 */ sh $zero, 0x48($a0) -/* 024B60 80023F60 100001A9 */ b .L80024608_ovl0 -/* 024B64 80023F64 ACE00028 */ sw $zero, 0x28($a3) -/* 024B68 80023F68 90A40000 */ lbu $a0, ($a1) -/* 024B6C 80023F6C 24A50001 */ addiu $a1, $a1, 1 -/* 024B70 80023F70 01001825 */ move $v1, $t0 -/* 024B74 80023F74 308E0080 */ andi $t6, $a0, 0x80 -/* 024B78 80023F78 11C00007 */ beqz $t6, .L80023F98_ovl0 -/* 024B7C 80023F7C 00801025 */ move $v0, $a0 -/* 024B80 80023F80 90AF0000 */ lbu $t7, ($a1) -/* 024B84 80023F84 3058007F */ andi $t8, $v0, 0x7f -/* 024B88 80023F88 0018CA00 */ sll $t9, $t8, 8 -/* 024B8C 80023F8C 01F92021 */ addu $a0, $t7, $t9 -/* 024B90 80023F90 3084FFFF */ andi $a0, $a0, 0xffff -/* 024B94 80023F94 24A50001 */ addiu $a1, $a1, 1 -.L80023F98_ovl0: -/* 024B98 80023F98 1000019B */ b .L80024608_ovl0 -/* 024B9C 80023F9C A4E40024 */ sh $a0, 0x24($a3) -/* 024BA0 80023FA0 90A40000 */ lbu $a0, ($a1) -/* 024BA4 80023FA4 24A50001 */ addiu $a1, $a1, 1 -/* 024BA8 80023FA8 01001825 */ move $v1, $t0 -/* 024BAC 80023FAC 308E007F */ andi $t6, $a0, 0x7f -/* 024BB0 80023FB0 30980080 */ andi $t8, $a0, 0x80 -/* 024BB4 80023FB4 13000004 */ beqz $t8, .L80023FC8_ovl0 -/* 024BB8 80023FB8 A0EE001E */ sb $t6, 0x1e($a3) -/* 024BBC 80023FBC A0FF0020 */ sb $ra, 0x20($a3) -/* 024BC0 80023FC0 10000191 */ b .L80024608_ovl0 -/* 024BC4 80023FC4 01001825 */ move $v1, $t0 -.L80023FC8_ovl0: -/* 024BC8 80023FC8 1000018F */ b .L80024608_ovl0 -/* 024BCC 80023FCC A0E00020 */ sb $zero, 0x20($a3) -/* 024BD0 80023FD0 90AF0000 */ lbu $t7, ($a1) -/* 024BD4 80023FD4 24A50001 */ addiu $a1, $a1, 1 -/* 024BD8 80023FD8 01001825 */ move $v1, $t0 -/* 024BDC 80023FDC 1000018A */ b .L80024608_ovl0 -/* 024BE0 80023FE0 A0EF001F */ sb $t7, 0x1f($a3) -/* 024BE4 80023FE4 90A40000 */ lbu $a0, ($a1) -/* 024BE8 80023FE8 00E01825 */ move $v1, $a3 -/* 024BEC 80023FEC 24A50001 */ addiu $a1, $a1, 1 -/* 024BF0 80023FF0 30990080 */ andi $t9, $a0, 0x80 -/* 024BF4 80023FF4 13200007 */ beqz $t9, .L80024014_ovl0 -/* 024BF8 80023FF8 00801025 */ move $v0, $a0 -/* 024BFC 80023FFC 90AE0000 */ lbu $t6, ($a1) -/* 024C00 80024000 3058007F */ andi $t8, $v0, 0x7f -/* 024C04 80024004 00187A00 */ sll $t7, $t8, 8 -/* 024C08 80024008 01CF2021 */ addu $a0, $t6, $t7 -/* 024C0C 8002400C 3084FFFF */ andi $a0, $a0, 0xffff -/* 024C10 80024010 24A50001 */ addiu $a1, $a1, 1 -.L80024014_ovl0: -/* 024C14 80024014 A4640012 */ sh $a0, 0x12($v1) -/* 024C18 80024018 90A40000 */ lbu $a0, ($a1) -/* 024C1C 8002401C 24A50001 */ addiu $a1, $a1, 1 -/* 024C20 80024020 30990080 */ andi $t9, $a0, 0x80 -/* 024C24 80024024 13200007 */ beqz $t9, .L80024044_ovl0 -/* 024C28 80024028 00801025 */ move $v0, $a0 -/* 024C2C 8002402C 90B80000 */ lbu $t8, ($a1) -/* 024C30 80024030 304E007F */ andi $t6, $v0, 0x7f -/* 024C34 80024034 000E7A00 */ sll $t7, $t6, 8 -/* 024C38 80024038 030F2021 */ addu $a0, $t8, $t7 -/* 024C3C 8002403C 3084FFFF */ andi $a0, $a0, 0xffff -/* 024C40 80024040 24A50001 */ addiu $a1, $a1, 1 -.L80024044_ovl0: -/* 024C44 80024044 A4640014 */ sh $a0, 0x14($v1) -/* 024C48 80024048 90A40000 */ lbu $a0, ($a1) -/* 024C4C 8002404C 24060002 */ li $a2, 2 -/* 024C50 80024050 24A50001 */ addiu $a1, $a1, 1 -/* 024C54 80024054 30990080 */ andi $t9, $a0, 0x80 -/* 024C58 80024058 13200007 */ beqz $t9, .L80024078_ovl0 -/* 024C5C 8002405C 00801025 */ move $v0, $a0 -/* 024C60 80024060 90AE0000 */ lbu $t6, ($a1) -/* 024C64 80024064 3058007F */ andi $t8, $v0, 0x7f -/* 024C68 80024068 00187A00 */ sll $t7, $t8, 8 -/* 024C6C 8002406C 01CF2021 */ addu $a0, $t6, $t7 -/* 024C70 80024070 3084FFFF */ andi $a0, $a0, 0xffff -/* 024C74 80024074 24A50001 */ addiu $a1, $a1, 1 -.L80024078_ovl0: -/* 024C78 80024078 0006C840 */ sll $t9, $a2, 1 -/* 024C7C 8002407C 00F91821 */ addu $v1, $a3, $t9 -/* 024C80 80024080 A4640012 */ sh $a0, 0x12($v1) -/* 024C84 80024084 90A40000 */ lbu $a0, ($a1) -/* 024C88 80024088 24A50001 */ addiu $a1, $a1, 1 -/* 024C8C 8002408C 30980080 */ andi $t8, $a0, 0x80 -/* 024C90 80024090 13000007 */ beqz $t8, .L800240B0_ovl0 -/* 024C94 80024094 00801025 */ move $v0, $a0 -/* 024C98 80024098 90AE0000 */ lbu $t6, ($a1) -/* 024C9C 8002409C 304F007F */ andi $t7, $v0, 0x7f -/* 024CA0 800240A0 000FCA00 */ sll $t9, $t7, 8 -/* 024CA4 800240A4 01D92021 */ addu $a0, $t6, $t9 -/* 024CA8 800240A8 3084FFFF */ andi $a0, $a0, 0xffff -/* 024CAC 800240AC 24A50001 */ addiu $a1, $a1, 1 -.L800240B0_ovl0: -/* 024CB0 800240B0 A4640014 */ sh $a0, 0x14($v1) -/* 024CB4 800240B4 90A40000 */ lbu $a0, ($a1) -/* 024CB8 800240B8 24A50001 */ addiu $a1, $a1, 1 -/* 024CBC 800240BC 30980080 */ andi $t8, $a0, 0x80 -/* 024CC0 800240C0 13000007 */ beqz $t8, .L800240E0_ovl0 -/* 024CC4 800240C4 00801025 */ move $v0, $a0 -/* 024CC8 800240C8 90AF0000 */ lbu $t7, ($a1) -/* 024CCC 800240CC 304E007F */ andi $t6, $v0, 0x7f -/* 024CD0 800240D0 000ECA00 */ sll $t9, $t6, 8 -/* 024CD4 800240D4 01F92021 */ addu $a0, $t7, $t9 -/* 024CD8 800240D8 3084FFFF */ andi $a0, $a0, 0xffff -/* 024CDC 800240DC 24A50001 */ addiu $a1, $a1, 1 -.L800240E0_ovl0: -/* 024CE0 800240E0 A4640016 */ sh $a0, 0x16($v1) -/* 024CE4 800240E4 90A40000 */ lbu $a0, ($a1) -/* 024CE8 800240E8 24A50001 */ addiu $a1, $a1, 1 -/* 024CEC 800240EC 30980080 */ andi $t8, $a0, 0x80 -/* 024CF0 800240F0 13000007 */ beqz $t8, .L80024110_ovl0 -/* 024CF4 800240F4 00801025 */ move $v0, $a0 -/* 024CF8 800240F8 90AE0000 */ lbu $t6, ($a1) -/* 024CFC 800240FC 304F007F */ andi $t7, $v0, 0x7f -/* 024D00 80024100 000FCA00 */ sll $t9, $t7, 8 -/* 024D04 80024104 01D92021 */ addu $a0, $t6, $t9 -/* 024D08 80024108 3084FFFF */ andi $a0, $a0, 0xffff -/* 024D0C 8002410C 24A50001 */ addiu $a1, $a1, 1 -.L80024110_ovl0: -/* 024D10 80024110 A4640018 */ sh $a0, 0x18($v1) -/* 024D14 80024114 1000013C */ b .L80024608_ovl0 -/* 024D18 80024118 01001825 */ move $v1, $t0 -/* 024D1C 8002411C 90B80000 */ lbu $t8, ($a1) -/* 024D20 80024120 24A50001 */ addiu $a1, $a1, 1 -/* 024D24 80024124 01001825 */ move $v1, $t0 -/* 024D28 80024128 10000137 */ b .L80024608_ovl0 -/* 024D2C 8002412C A0F80022 */ sb $t8, 0x22($a3) -/* 024D30 80024130 80AF0000 */ lb $t7, ($a1) -/* 024D34 80024134 90EE0022 */ lbu $t6, 0x22($a3) -/* 024D38 80024138 24A50001 */ addiu $a1, $a1, 1 -/* 024D3C 8002413C 01001825 */ move $v1, $t0 -/* 024D40 80024140 01EE1021 */ addu $v0, $t7, $t6 -/* 024D44 80024144 00021400 */ sll $v0, $v0, 0x10 -/* 024D48 80024148 00021403 */ sra $v0, $v0, 0x10 -/* 024D4C 8002414C 04430003 */ bgezl $v0, .L8002415C_ovl0 -/* 024D50 80024150 28410100 */ slti $at, $v0, 0x100 -/* 024D54 80024154 00001025 */ move $v0, $zero -/* 024D58 80024158 28410100 */ slti $at, $v0, 0x100 -.L8002415C_ovl0: -/* 024D5C 8002415C 14200002 */ bnez $at, .L80024168_ovl0 -/* 024D60 80024160 00000000 */ nop -/* 024D64 80024164 240200FF */ li $v0, 255 -.L80024168_ovl0: -/* 024D68 80024168 10000127 */ b .L80024608_ovl0 -/* 024D6C 8002416C A0E20022 */ sb $v0, 0x22($a3) -/* 024D70 80024170 90B90000 */ lbu $t9, ($a1) -/* 024D74 80024174 24A50001 */ addiu $a1, $a1, 1 -/* 024D78 80024178 01001825 */ move $v1, $t0 -/* 024D7C 8002417C 10000122 */ b .L80024608_ovl0 -/* 024D80 80024180 A0F90023 */ sb $t9, 0x23($a3) -/* 024D84 80024184 80B80000 */ lb $t8, ($a1) -/* 024D88 80024188 90EF0023 */ lbu $t7, 0x23($a3) -/* 024D8C 8002418C 24A50001 */ addiu $a1, $a1, 1 -/* 024D90 80024190 01001825 */ move $v1, $t0 -/* 024D94 80024194 030F1021 */ addu $v0, $t8, $t7 -/* 024D98 80024198 00021400 */ sll $v0, $v0, 0x10 -/* 024D9C 8002419C 00021403 */ sra $v0, $v0, 0x10 -/* 024DA0 800241A0 04430003 */ bgezl $v0, .L800241B0_ovl0 -/* 024DA4 800241A4 28410080 */ slti $at, $v0, 0x80 -/* 024DA8 800241A8 00001025 */ move $v0, $zero -/* 024DAC 800241AC 28410080 */ slti $at, $v0, 0x80 -.L800241B0_ovl0: -/* 024DB0 800241B0 14200002 */ bnez $at, .L800241BC_ovl0 -/* 024DB4 800241B4 00000000 */ nop -/* 024DB8 800241B8 2402007F */ li $v0, 127 -.L800241BC_ovl0: -/* 024DBC 800241BC 10000112 */ b .L80024608_ovl0 -/* 024DC0 800241C0 A0E20023 */ sb $v0, 0x23($a3) -/* 024DC4 800241C4 90A40000 */ lbu $a0, ($a1) -/* 024DC8 800241C8 24A50001 */ addiu $a1, $a1, 1 -/* 024DCC 800241CC 95830028 */ lhu $v1, 0x28($t4) -/* 024DD0 800241D0 308E0080 */ andi $t6, $a0, 0x80 -/* 024DD4 800241D4 11C00008 */ beqz $t6, .L800241F8_ovl0 -/* 024DD8 800241D8 00801025 */ move $v0, $a0 -/* 024DDC 800241DC 90B90000 */ lbu $t9, ($a1) -/* 024DE0 800241E0 3058007F */ andi $t8, $v0, 0x7f -/* 024DE4 800241E4 00187A00 */ sll $t7, $t8, 8 -/* 024DE8 800241E8 032F2021 */ addu $a0, $t9, $t7 -/* 024DEC 800241EC 3084FFFF */ andi $a0, $a0, 0xffff -/* 024DF0 800241F0 00801025 */ move $v0, $a0 -/* 024DF4 800241F4 24A50001 */ addiu $a1, $a1, 1 -.L800241F8_ovl0: -/* 024DF8 800241F8 0043082A */ slt $at, $v0, $v1 -/* 024DFC 800241FC 54200004 */ bnezl $at, .L80024210_ovl0 -/* 024E00 80024200 8D860038 */ lw $a2, 0x38($t4) -/* 024E04 80024204 10000002 */ b .L80024210_ovl0 -/* 024E08 80024208 00003025 */ move $a2, $zero -/* 024E0C 8002420C 8D860038 */ lw $a2, 0x38($t4) -.L80024210_ovl0: -/* 024E10 80024210 10C0007D */ beqz $a2, .L80024408_ovl0 -/* 024E14 80024214 00000000 */ nop -/* 024E18 80024218 8CCE0000 */ lw $t6, ($a2) -/* 024E1C 8002421C 00E07825 */ move $t7, $a3 -/* 024E20 80024220 24E10030 */ addiu $at, $a3, 0x30 -/* 024E24 80024224 AD8E0038 */ sw $t6, 0x38($t4) -/* 024E28 80024228 00C07025 */ move $t6, $a2 -.L8002422C_ovl0: -/* 024E2C 8002422C 8DF90000 */ lw $t9, ($t7) -/* 024E30 80024230 25EF000C */ addiu $t7, $t7, 0xc -/* 024E34 80024234 25CE000C */ addiu $t6, $t6, 0xc -/* 024E38 80024238 ADD9FFF4 */ sw $t9, -0xc($t6) -/* 024E3C 8002423C 8DF8FFF8 */ lw $t8, -8($t7) -/* 024E40 80024240 ADD8FFF8 */ sw $t8, -8($t6) -/* 024E44 80024244 8DF9FFFC */ lw $t9, -4($t7) -/* 024E48 80024248 15E1FFF8 */ bne $t7, $at, .L8002422C_ovl0 -/* 024E4C 8002424C ADD9FFFC */ sw $t9, -4($t6) -/* 024E50 80024250 8DF90000 */ lw $t9, ($t7) -/* 024E54 80024254 00E01825 */ move $v1, $a3 -/* 024E58 80024258 ADD90000 */ sw $t9, ($t6) -/* 024E5C 8002425C ACC00000 */ sw $zero, ($a2) -/* 024E60 80024260 8CEF0000 */ lw $t7, ($a3) -/* 024E64 80024264 51E00007 */ beql $t7, $zero, .L80024284_ovl0 -/* 024E68 80024268 AC660000 */ sw $a2, ($v1) -/* 024E6C 8002426C 8C620000 */ lw $v0, ($v1) -/* 024E70 80024270 00401825 */ move $v1, $v0 -.L80024274_ovl0: -/* 024E74 80024274 8C420000 */ lw $v0, ($v0) -/* 024E78 80024278 5440FFFE */ bnezl $v0, .L80024274_ovl0 -/* 024E7C 8002427C 00401825 */ move $v1, $v0 -/* 024E80 80024280 AC660000 */ sw $a2, ($v1) -.L80024284_ovl0: -/* 024E84 80024284 A4DF0010 */ sh $ra, 0x10($a2) -/* 024E88 80024288 8D8E001C */ lw $t6, 0x1c($t4) -/* 024E8C 8002428C 0004C080 */ sll $t8, $a0, 2 -/* 024E90 80024290 01001825 */ move $v1, $t0 -/* 024E94 80024294 01D8C821 */ addu $t9, $t6, $t8 -/* 024E98 80024298 8F2F0000 */ lw $t7, ($t9) -/* 024E9C 8002429C ACCF0008 */ sw $t7, 8($a2) -/* 024EA0 800242A0 ACCF000C */ sw $t7, 0xc($a2) -/* 024EA4 800242A4 9598004A */ lhu $t8, 0x4a($t4) -/* 024EA8 800242A8 27190001 */ addiu $t9, $t8, 1 -/* 024EAC 800242AC 3322FFFF */ andi $v0, $t9, 0xffff -/* 024EB0 800242B0 14400004 */ bnez $v0, .L800242C4_ovl0 -/* 024EB4 800242B4 A599004A */ sh $t9, 0x4a($t4) -/* 024EB8 800242B8 244F0001 */ addiu $t7, $v0, 1 -/* 024EBC 800242BC A58F004A */ sh $t7, 0x4a($t4) -/* 024EC0 800242C0 31E2FFFF */ andi $v0, $t7, 0xffff -.L800242C4_ovl0: -/* 024EC4 800242C4 8CCE0004 */ lw $t6, 4($a2) -/* 024EC8 800242C8 A4C20026 */ sh $v0, 0x26($a2) -/* 024ECC 800242CC ACC00028 */ sw $zero, 0x28($a2) -/* 024ED0 800242D0 15C0004D */ bnez $t6, .L80024408_ovl0 -/* 024ED4 800242D4 00000000 */ nop -/* 024ED8 800242D8 100000CB */ b .L80024608_ovl0 -/* 024EDC 800242DC ACC70004 */ sw $a3, 4($a2) -/* 024EE0 800242E0 ACE5000C */ sw $a1, 0xc($a3) -/* 024EE4 800242E4 100000C8 */ b .L80024608_ovl0 -/* 024EE8 800242E8 01001825 */ move $v1, $t0 -/* 024EEC 800242EC 8CE5000C */ lw $a1, 0xc($a3) -/* 024EF0 800242F0 100000C5 */ b .L80024608_ovl0 -/* 024EF4 800242F4 01001825 */ move $v1, $t0 -/* 024EF8 800242F8 90B80000 */ lbu $t8, ($a1) -/* 024EFC 800242FC 24A50001 */ addiu $a1, $a1, 1 -/* 024F00 80024300 01001825 */ move $v1, $t0 -/* 024F04 80024304 100000C0 */ b .L80024608_ovl0 -/* 024F08 80024308 A0F8002C */ sb $t8, 0x2c($a3) -/* 024F0C 8002430C 80B90000 */ lb $t9, ($a1) -/* 024F10 80024310 90EF002C */ lbu $t7, 0x2c($a3) -/* 024F14 80024314 24A50001 */ addiu $a1, $a1, 1 -/* 024F18 80024318 01001825 */ move $v1, $t0 -/* 024F1C 8002431C 032F1021 */ addu $v0, $t9, $t7 -/* 024F20 80024320 00021400 */ sll $v0, $v0, 0x10 -/* 024F24 80024324 00021403 */ sra $v0, $v0, 0x10 -/* 024F28 80024328 04430003 */ bgezl $v0, .L80024338_ovl0 -/* 024F2C 8002432C 28410080 */ slti $at, $v0, 0x80 -/* 024F30 80024330 00001025 */ move $v0, $zero -/* 024F34 80024334 28410080 */ slti $at, $v0, 0x80 -.L80024338_ovl0: -/* 024F38 80024338 14200002 */ bnez $at, .L80024344_ovl0 -/* 024F3C 8002433C 00000000 */ nop -/* 024F40 80024340 2402007F */ li $v0, 127 -.L80024344_ovl0: -/* 024F44 80024344 100000B0 */ b .L80024608_ovl0 -/* 024F48 80024348 A0E2002C */ sb $v0, 0x2c($a3) -/* 024F4C 8002434C 90AE0000 */ lbu $t6, ($a1) -/* 024F50 80024350 24A50001 */ addiu $a1, $a1, 1 -/* 024F54 80024354 31D800FF */ andi $t8, $t6, 0xff -/* 024F58 80024358 1300002B */ beqz $t8, .L80024408_ovl0 -/* 024F5C 8002435C A0EE002D */ sb $t6, 0x2d($a3) -/* 024F60 80024360 8D830040 */ lw $v1, 0x40($t4) -/* 024F64 80024364 10600028 */ beqz $v1, .L80024408_ovl0 -/* 024F68 80024368 00000000 */ nop -.L8002436C_ovl0: -/* 024F6C 8002436C 5067001E */ beql $v1, $a3, .L800243E8_ovl0 -/* 024F70 80024370 8C630000 */ lw $v1, ($v1) -/* 024F74 80024374 9079002D */ lbu $t9, 0x2d($v1) -/* 024F78 80024378 90EF002D */ lbu $t7, 0x2d($a3) -/* 024F7C 8002437C 572F001A */ bnel $t9, $t7, .L800243E8_ovl0 -/* 024F80 80024380 8C630000 */ lw $v1, ($v1) -/* 024F84 80024384 90EE001F */ lbu $t6, 0x1f($a3) -/* 024F88 80024388 9079001F */ lbu $t9, 0x1f($v1) -/* 024F8C 8002438C 31D8007F */ andi $t8, $t6, 0x7f -/* 024F90 80024390 332F007F */ andi $t7, $t9, 0x7f -/* 024F94 80024394 030F082A */ slt $at, $t8, $t7 -/* 024F98 80024398 5420000B */ bnezl $at, .L800243C8_ovl0 -/* 024F9C 8002439C 8CE40028 */ lw $a0, 0x28($a3) -/* 024FA0 800243A0 8C640028 */ lw $a0, 0x28($v1) -/* 024FA4 800243A4 A46B0010 */ sh $t3, 0x10($v1) -/* 024FA8 800243A8 5080000F */ beql $a0, $zero, .L800243E8_ovl0 -/* 024FAC 800243AC 8C630000 */ lw $v1, ($v1) -/* 024FB0 800243B0 A4800028 */ sh $zero, 0x28($a0) -/* 024FB4 800243B4 A089002A */ sb $t1, 0x2a($a0) -/* 024FB8 800243B8 A4800048 */ sh $zero, 0x48($a0) -/* 024FBC 800243BC 10000009 */ b .L800243E4_ovl0 -/* 024FC0 800243C0 AC600028 */ sw $zero, 0x28($v1) -/* 024FC4 800243C4 8CE40028 */ lw $a0, 0x28($a3) -.L800243C8_ovl0: -/* 024FC8 800243C8 3168FFFF */ andi $t0, $t3, 0xffff -/* 024FCC 800243CC 50800006 */ beql $a0, $zero, .L800243E8_ovl0 -/* 024FD0 800243D0 8C630000 */ lw $v1, ($v1) -/* 024FD4 800243D4 A4800028 */ sh $zero, 0x28($a0) -/* 024FD8 800243D8 A089002A */ sb $t1, 0x2a($a0) -/* 024FDC 800243DC A4800048 */ sh $zero, 0x48($a0) -/* 024FE0 800243E0 ACE00028 */ sw $zero, 0x28($a3) -.L800243E4_ovl0: -/* 024FE4 800243E4 8C630000 */ lw $v1, ($v1) -.L800243E8_ovl0: -/* 024FE8 800243E8 1460FFE0 */ bnez $v1, .L8002436C_ovl0 -/* 024FEC 800243EC 00000000 */ nop -/* 024FF0 800243F0 10000085 */ b .L80024608_ovl0 -/* 024FF4 800243F4 01001825 */ move $v1, $t0 -/* 024FF8 800243F8 240DF6A0 */ li $t5, -2400 -/* 024FFC 800243FC 10000082 */ b .L80024608_ovl0 -/* 025000 80024400 01001825 */ move $v1, $t0 -/* 025004 80024404 240DED40 */ li $t5, -4800 -.L80024408_ovl0: -/* 025008 80024408 1000007F */ b .L80024608_ovl0 -/* 02500C 8002440C 01001825 */ move $v1, $t0 -.L80024410_ovl0: -/* 025010 80024410 30C20007 */ andi $v0, $a2, 7 -/* 025014 80024414 3043FFFF */ andi $v1, $v0, 0xffff -/* 025018 80024418 2C610008 */ sltiu $at, $v1, 8 -/* 02501C 8002441C 3048FFFF */ andi $t0, $v0, 0xffff -/* 025020 80024420 10200018 */ beqz $at, .L80024484_ovl0 -/* 025024 80024424 8CE40028 */ lw $a0, 0x28($a3) -/* 025028 80024428 00037080 */ sll $t6, $v1, 2 -/* 02502C 8002442C 3C018004 */ lui $at, 0x8004 -/* 025030 80024430 002E0821 */ addu $at, $at, $t6 -/* 025034 80024434 8C2E1204 */ lw $t6, 0x1204($at) -/* 025038 80024438 01C00008 */ jr $t6 -/* 02503C 8002443C 00000000 */ nop -/* 025040 80024440 10000010 */ b .L80024484_ovl0 -/* 025044 80024444 00004025 */ move $t0, $zero -/* 025048 80024448 0003C840 */ sll $t9, $v1, 1 -/* 02504C 8002444C 00F9C021 */ addu $t8, $a3, $t9 -/* 025050 80024450 1000000C */ b .L80024484_ovl0 -/* 025054 80024454 97080010 */ lhu $t0, 0x10($t8) -/* 025058 80024458 90A80000 */ lbu $t0, ($a1) -/* 02505C 8002445C 24A50001 */ addiu $a1, $a1, 1 -/* 025060 80024460 310F0080 */ andi $t7, $t0, 0x80 -/* 025064 80024464 11E00007 */ beqz $t7, .L80024484_ovl0 -/* 025068 80024468 01001825 */ move $v1, $t0 -/* 02506C 8002446C 90AE0000 */ lbu $t6, ($a1) -/* 025070 80024470 3079007F */ andi $t9, $v1, 0x7f -/* 025074 80024474 0019C200 */ sll $t8, $t9, 8 -/* 025078 80024478 01D84021 */ addu $t0, $t6, $t8 -/* 02507C 8002447C 3108FFFF */ andi $t0, $t0, 0xffff -/* 025080 80024480 24A50001 */ addiu $a1, $a1, 1 -.L80024484_ovl0: -/* 025084 80024484 15400008 */ bnez $t2, .L800244A8_ovl0 -/* 025088 80024488 01001825 */ move $v1, $t0 -/* 02508C 8002448C 1080005E */ beqz $a0, .L80024608_ovl0 -/* 025090 80024490 00000000 */ nop -/* 025094 80024494 A4800028 */ sh $zero, 0x28($a0) -/* 025098 80024498 A089002A */ sb $t1, 0x2a($a0) -/* 02509C 8002449C A4800048 */ sh $zero, 0x48($a0) -/* 0250A0 800244A0 10000059 */ b .L80024608_ovl0 -/* 0250A4 800244A4 ACE00028 */ sw $zero, 0x28($a3) -.L800244A8_ovl0: -/* 0250A8 800244A8 1080000F */ beqz $a0, .L800244E8_ovl0 -/* 0250AC 800244AC 000678C3 */ sra $t7, $a2, 3 -/* 0250B0 800244B0 000FC880 */ sll $t9, $t7, 2 -/* 0250B4 800244B4 032FC823 */ subu $t9, $t9, $t7 -/* 0250B8 800244B8 0019C8C0 */ sll $t9, $t9, 3 -/* 0250BC 800244BC 032FC821 */ addu $t9, $t9, $t7 -/* 0250C0 800244C0 0019C880 */ sll $t9, $t9, 2 -/* 0250C4 800244C4 272FFAEC */ addiu $t7, $t9, -0x514 -/* 0250C8 800244C8 01EDC821 */ addu $t9, $t7, $t5 -/* 0250CC 800244CC A4990030 */ sh $t9, 0x30($a0) -/* 0250D0 800244D0 8CE40028 */ lw $a0, 0x28($a3) -/* 0250D4 800244D4 00006825 */ move $t5, $zero -/* 0250D8 800244D8 848E002C */ lh $t6, 0x2c($a0) -/* 0250DC 800244DC 25D80001 */ addiu $t8, $t6, 1 -/* 0250E0 800244E0 1000003F */ b .L800245E0_ovl0 -/* 0250E4 800244E4 A498002E */ sh $t8, 0x2e($a0) -.L800244E8_ovl0: -/* 0250E8 800244E8 94E40024 */ lhu $a0, 0x24($a3) -/* 0250EC 800244EC A7AD0052 */ sh $t5, 0x52($sp) -/* 0250F0 800244F0 A7A80068 */ sh $t0, 0x68($sp) -/* 0250F4 800244F4 AFA70070 */ sw $a3, 0x70($sp) -/* 0250F8 800244F8 AFA60020 */ sw $a2, 0x20($sp) -/* 0250FC 800244FC AFA5006C */ sw $a1, 0x6c($sp) -/* 025100 80024500 0C008F8C */ jal func_80023E30 -/* 025104 80024504 AFA30018 */ sw $v1, 0x18($sp) -/* 025108 80024508 8FA70070 */ lw $a3, 0x70($sp) -/* 02510C 8002450C 8FA30018 */ lw $v1, 0x18($sp) -/* 025110 80024510 8FA5006C */ lw $a1, 0x6c($sp) -/* 025114 80024514 8FA60020 */ lw $a2, 0x20($sp) -/* 025118 80024518 97A80068 */ lhu $t0, 0x68($sp) -/* 02511C 8002451C 3C0C8009 */ lui $t4, %hi(D_800978E0) # $t4, 0x8009 -/* 025120 80024520 87AD0052 */ lh $t5, 0x52($sp) -/* 025124 80024524 258C78E0 */ addiu $t4, %lo(D_800978E0) # addiu $t4, $t4, 0x78e0 -/* 025128 80024528 24090002 */ li $t1, 2 -/* 02512C 8002452C 340BFFFF */ li $t3, 65535 -/* 025130 80024530 241F0001 */ li $ra, 1 -/* 025134 80024534 1040002A */ beqz $v0, .L800245E0_ovl0 -/* 025138 80024538 ACE20028 */ sw $v0, 0x28($a3) -/* 02513C 8002453C 000670C3 */ sra $t6, $a2, 3 -/* 025140 80024540 90EF001F */ lbu $t7, 0x1f($a3) -/* 025144 80024544 000EC080 */ sll $t8, $t6, 2 -/* 025148 80024548 030EC023 */ subu $t8, $t8, $t6 -/* 02514C 8002454C 0018C0C0 */ sll $t8, $t8, 3 -/* 025150 80024550 030EC021 */ addu $t8, $t8, $t6 -/* 025154 80024554 A04F002B */ sb $t7, 0x2b($v0) -/* 025158 80024558 8CEF0028 */ lw $t7, 0x28($a3) -/* 02515C 8002455C 0018C080 */ sll $t8, $t8, 2 -/* 025160 80024560 270EFAEC */ addiu $t6, $t8, -0x514 -/* 025164 80024564 01CDC021 */ addu $t8, $t6, $t5 -/* 025168 80024568 A5F80030 */ sh $t8, 0x30($t7) -/* 02516C 8002456C 90EE002E */ lbu $t6, 0x2e($a3) -/* 025170 80024570 90F90022 */ lbu $t9, 0x22($a3) -/* 025174 80024574 24010080 */ li $at, 128 -/* 025178 80024578 00006825 */ move $t5, $zero -/* 02517C 8002457C 032E0019 */ multu $t9, $t6 -/* 025180 80024580 8CF90028 */ lw $t9, 0x28($a3) -/* 025184 80024584 0000C012 */ mflo $t8 -/* 025188 80024588 001879C3 */ sra $t7, $t8, 7 -/* 02518C 8002458C A32F0038 */ sb $t7, 0x38($t9) -/* 025190 80024590 90E2002F */ lbu $v0, 0x2f($a3) -/* 025194 80024594 50410005 */ beql $v0, $at, .L800245AC_ovl0 -/* 025198 80024598 90F80023 */ lbu $t8, 0x23($a3) -/* 02519C 8002459C 8CEE0028 */ lw $t6, 0x28($a3) -/* 0251A0 800245A0 10000004 */ b .L800245B4_ovl0 -/* 0251A4 800245A4 A1C2003A */ sb $v0, 0x3a($t6) -/* 0251A8 800245A8 90F80023 */ lbu $t8, 0x23($a3) -.L800245AC_ovl0: -/* 0251AC 800245AC 8CEF0028 */ lw $t7, 0x28($a3) -/* 0251B0 800245B0 A1F8003A */ sb $t8, 0x3a($t7) -.L800245B4_ovl0: -/* 0251B4 800245B4 90E20030 */ lbu $v0, 0x30($a3) -/* 0251B8 800245B8 24010080 */ li $at, 128 -/* 0251BC 800245BC 50410006 */ beql $v0, $at, .L800245D8_ovl0 -/* 0251C0 800245C0 90F8002C */ lbu $t8, 0x2c($a3) -/* 0251C4 800245C4 8CEE0028 */ lw $t6, 0x28($a3) -/* 0251C8 800245C8 0002C840 */ sll $t9, $v0, 1 -/* 0251CC 800245CC 10000004 */ b .L800245E0_ovl0 -/* 0251D0 800245D0 A1D9003C */ sb $t9, 0x3c($t6) -/* 0251D4 800245D4 90F8002C */ lbu $t8, 0x2c($a3) -.L800245D8_ovl0: -/* 0251D8 800245D8 8CEF0028 */ lw $t7, 0x28($a3) -/* 0251DC 800245DC A1F8003C */ sb $t8, 0x3c($t7) -.L800245E0_ovl0: -/* 0251E0 800245E0 28610002 */ slti $at, $v1, 2 -/* 0251E4 800245E4 14200008 */ bnez $at, .L80024608_ovl0 -/* 0251E8 800245E8 00000000 */ nop -/* 0251EC 800245EC 90F90020 */ lbu $t9, 0x20($a3) -/* 0251F0 800245F0 13200005 */ beqz $t9, .L80024608_ovl0 -/* 0251F4 800245F4 00000000 */ nop -/* 0251F8 800245F8 2508FFFF */ addiu $t0, $t0, -1 -/* 0251FC 800245FC 3108FFFF */ andi $t0, $t0, 0xffff -/* 025200 80024600 01001825 */ move $v1, $t0 -/* 025204 80024604 A0FF0021 */ sb $ra, 0x21($a3) -.L80024608_ovl0: -/* 025208 80024608 5060FE3E */ beql $v1, $zero, .L80023F04_ovl0 -/* 02520C 8002460C 90A20000 */ lbu $v0, ($a1) -/* 025210 80024610 ACE50008 */ sw $a1, 8($a3) -/* 025214 80024614 A4E80010 */ sh $t0, 0x10($a3) -.L80024618_ovl0: -/* 025218 80024618 8FBF0014 */ lw $ra, 0x14($sp) -/* 02521C 8002461C 27BD0070 */ addiu $sp, $sp, 0x70 -/* 025220 80024620 03E00008 */ jr $ra -/* 025224 80024624 00000000 */ nop - -glabel func_80024628 -/* 025228 80024628 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02522C 8002462C AFBF0014 */ sw $ra, 0x14($sp) -/* 025230 80024630 0C00B590 */ jal osSetIntMask -/* 025234 80024634 24040001 */ li $a0, 1 -/* 025238 80024638 3C038009 */ lui $v1, %hi(D_8009791C) # $v1, 0x8009 -/* 02523C 8002463C 8C63791C */ lw $v1, %lo(D_8009791C)($v1) -/* 025240 80024640 00402025 */ move $a0, $v0 -/* 025244 80024644 24020002 */ li $v0, 2 -/* 025248 80024648 10600007 */ beqz $v1, .L80024668_ovl0 -/* 02524C 8002464C 00000000 */ nop -/* 025250 80024650 A4600028 */ sh $zero, 0x28($v1) -.L80024654_ovl0: -/* 025254 80024654 A062002A */ sb $v0, 0x2a($v1) -/* 025258 80024658 A4600048 */ sh $zero, 0x48($v1) -/* 02525C 8002465C 8C630000 */ lw $v1, ($v1) -/* 025260 80024660 5460FFFC */ bnezl $v1, .L80024654_ovl0 -/* 025264 80024664 A4600028 */ sh $zero, 0x28($v1) -.L80024668_ovl0: -/* 025268 80024668 0C00B590 */ jal osSetIntMask -/* 02526C 8002466C 00000000 */ nop -/* 025270 80024670 8FBF0014 */ lw $ra, 0x14($sp) -/* 025274 80024674 27BD0018 */ addiu $sp, $sp, 0x18 -/* 025278 80024678 03E00008 */ jr $ra -/* 02527C 8002467C 00000000 */ nop - -glabel func_80024680 -/* 025280 80024680 3C028004 */ lui $v0, %hi(D_8003FB24) # $v0, 0x8004 -/* 025284 80024684 2442FB24 */ addiu $v0, %lo(D_8003FB24) # addiu $v0, $v0, -0x4dc -/* 025288 80024688 8C4E0000 */ lw $t6, ($v0) -/* 02528C 8002468C 3C010026 */ lui $at, (0x00269EC3 >> 16) # lui $at, 0x26 -/* 025290 80024690 34219EC3 */ ori $at, (0x00269EC3 & 0xFFFF) # ori $at, $at, 0x9ec3 -/* 025294 80024694 000E7880 */ sll $t7, $t6, 2 -/* 025298 80024698 01EE7823 */ subu $t7, $t7, $t6 -/* 02529C 8002469C 000F7880 */ sll $t7, $t7, 2 -/* 0252A0 800246A0 01EE7821 */ addu $t7, $t7, $t6 -/* 0252A4 800246A4 000F7900 */ sll $t7, $t7, 4 -/* 0252A8 800246A8 01EE7821 */ addu $t7, $t7, $t6 -/* 0252AC 800246AC 000F7A00 */ sll $t7, $t7, 8 -/* 0252B0 800246B0 01EE7823 */ subu $t7, $t7, $t6 -/* 0252B4 800246B4 000F7880 */ sll $t7, $t7, 2 -/* 0252B8 800246B8 01EE7821 */ addu $t7, $t7, $t6 -/* 0252BC 800246BC 01E1C021 */ addu $t8, $t7, $at -/* 0252C0 800246C0 00184403 */ sra $t0, $t8, 0x10 -/* 0252C4 800246C4 3109FFFF */ andi $t1, $t0, 0xffff -/* 0252C8 800246C8 44892000 */ mtc1 $t1, $f4 -/* 0252CC 800246CC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0252D0 800246D0 44814000 */ mtc1 $at, $f8 -/* 0252D4 800246D4 468021A0 */ cvt.s.w $f6, $f4 -/* 0252D8 800246D8 AC580000 */ sw $t8, ($v0) -/* 0252DC 800246DC 03E00008 */ jr $ra -/* 0252E0 800246E0 46083003 */ div.s $f0, $f6, $f8 - -glabel func_800246E4 -/* 0252E4 800246E4 3C028004 */ lui $v0, %hi(D_8003FB20) # $v0, 0x8004 -/* 0252E8 800246E8 2442FB20 */ addiu $v0, %lo(D_8003FB20) # addiu $v0, $v0, -0x4e0 -/* 0252EC 800246EC 8C4E0000 */ lw $t6, ($v0) -/* 0252F0 800246F0 3C010026 */ lui $at, (0x00269EC3 >> 16) # lui $at, 0x26 -/* 0252F4 800246F4 34219EC3 */ ori $at, (0x00269EC3 & 0xFFFF) # ori $at, $at, 0x9ec3 -/* 0252F8 800246F8 000E7880 */ sll $t7, $t6, 2 -/* 0252FC 800246FC 01EE7823 */ subu $t7, $t7, $t6 -/* 025300 80024700 000F7880 */ sll $t7, $t7, 2 -/* 025304 80024704 01EE7821 */ addu $t7, $t7, $t6 -/* 025308 80024708 000F7900 */ sll $t7, $t7, 4 -/* 02530C 8002470C 01EE7821 */ addu $t7, $t7, $t6 -/* 025310 80024710 000F7A00 */ sll $t7, $t7, 8 -/* 025314 80024714 01EE7823 */ subu $t7, $t7, $t6 -/* 025318 80024718 000F7880 */ sll $t7, $t7, 2 -/* 02531C 8002471C 01EE7821 */ addu $t7, $t7, $t6 -/* 025320 80024720 01E1C021 */ addu $t8, $t7, $at -/* 025324 80024724 00184403 */ sra $t0, $t8, 0x10 -/* 025328 80024728 3109FFFF */ andi $t1, $t0, 0xffff -/* 02532C 8002472C 44892000 */ mtc1 $t1, $f4 -/* 025330 80024730 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 025334 80024734 44814000 */ mtc1 $at, $f8 -/* 025338 80024738 468021A0 */ cvt.s.w $f6, $f4 -/* 02533C 8002473C AC580000 */ sw $t8, ($v0) -/* 025340 80024740 03E00008 */ jr $ra -/* 025344 80024744 46083003 */ div.s $f0, $f6, $f8 - -glabel func_80024748 -/* 025348 80024748 03E00008 */ jr $ra -/* 02534C 8002474C 00000000 */ nop - -glabel func_80024750 -/* 025350 80024750 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 025354 80024754 AFBF004C */ sw $ra, 0x4c($sp) -/* 025358 80024758 AFB40048 */ sw $s4, 0x48($sp) -/* 02535C 8002475C AFB30044 */ sw $s3, 0x44($sp) -/* 025360 80024760 AFB20040 */ sw $s2, 0x40($sp) -/* 025364 80024764 AFB1003C */ sw $s1, 0x3c($sp) -/* 025368 80024768 AFB00038 */ sw $s0, 0x38($sp) -/* 02536C 8002476C F7B60030 */ sdc1 $f22, 0x30($sp) -/* 025370 80024770 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 025374 80024774 94820028 */ lhu $v0, 0x28($a0) -/* 025378 80024778 00809025 */ move $s2, $a0 -/* 02537C 8002477C 1040015D */ beqz $v0, .L80024CF4_ovl0 -/* 025380 80024780 244EFFFF */ addiu $t6, $v0, -1 -/* 025384 80024784 31CFFFFF */ andi $t7, $t6, 0xffff -/* 025388 80024788 15E0015A */ bnez $t7, .L80024CF4_ovl0 -/* 02538C 8002478C A48E0028 */ sh $t6, 0x28($a0) -/* 025390 80024790 3C013B80 */ li $at, 0x3B800000 # 0.003906 -/* 025394 80024794 3C148009 */ lui $s4, %hi(D_800978E0) # $s4, 0x8009 -/* 025398 80024798 4481A000 */ mtc1 $at, $f20 -/* 02539C 8002479C 4480B000 */ mtc1 $zero, $f22 -/* 0253A0 800247A0 8C910020 */ lw $s1, 0x20($a0) -/* 0253A4 800247A4 269478E0 */ addiu $s4, %lo(D_800978E0) # addiu $s4, $s4, 0x78e0 -/* 0253A8 800247A8 92230000 */ lbu $v1, ($s1) -.L800247AC_ovl0: -/* 0253AC 800247AC 26310001 */ addiu $s1, $s1, 1 -/* 0253B0 800247B0 3062000F */ andi $v0, $v1, 0xf -/* 0253B4 800247B4 3046FFFF */ andi $a2, $v0, 0xffff -/* 0253B8 800247B8 30D80008 */ andi $t8, $a2, 8 -/* 0253BC 800247BC 3053FFFF */ andi $s3, $v0, 0xffff -/* 0253C0 800247C0 1300000F */ beqz $t8, .L80024800_ovl0 -/* 0253C4 800247C4 00602825 */ move $a1, $v1 -/* 0253C8 800247C8 92240000 */ lbu $a0, ($s1) -/* 0253CC 800247CC 30D30007 */ andi $s3, $a2, 7 -/* 0253D0 800247D0 0013C9C0 */ sll $t9, $s3, 7 -/* 0253D4 800247D4 308A007F */ andi $t2, $a0, 0x7f -/* 0253D8 800247D8 032A9821 */ addu $s3, $t9, $t2 -/* 0253DC 800247DC 308B0080 */ andi $t3, $a0, 0x80 -/* 0253E0 800247E0 26310001 */ addiu $s1, $s1, 1 -/* 0253E4 800247E4 11600006 */ beqz $t3, .L80024800_ovl0 -/* 0253E8 800247E8 3273FFFF */ andi $s3, $s3, 0xffff -/* 0253EC 800247EC 922C0000 */ lbu $t4, ($s1) -/* 0253F0 800247F0 00136A00 */ sll $t5, $s3, 8 -/* 0253F4 800247F4 26310001 */ addiu $s1, $s1, 1 -/* 0253F8 800247F8 018D9821 */ addu $s3, $t4, $t5 -/* 0253FC 800247FC 3273FFFF */ andi $s3, $s3, 0xffff -.L80024800_ovl0: -/* 025400 80024800 30AE00F0 */ andi $t6, $a1, 0xf0 -/* 025404 80024804 2DC10091 */ sltiu $at, $t6, 0x91 -/* 025408 80024808 10200136 */ beqz $at, .L80024CE4_ovl0 -/* 02540C 8002480C 000E7080 */ sll $t6, $t6, 2 -/* 025410 80024810 3C018004 */ lui $at, 0x8004 -/* 025414 80024814 002E0821 */ addu $at, $at, $t6 -/* 025418 80024818 8C2E1224 */ lw $t6, 0x1224($at) -/* 02541C 8002481C 01C00008 */ jr $t6 -/* 025420 80024820 00000000 */ nop -/* 025424 80024824 92240000 */ lbu $a0, ($s1) -/* 025428 80024828 26310001 */ addiu $s1, $s1, 1 -/* 02542C 8002482C 28810080 */ slti $at, $a0, 0x80 -/* 025430 80024830 10200003 */ beqz $at, .L80024840_ovl0 -/* 025434 80024834 00801025 */ move $v0, $a0 -/* 025438 80024838 1000012A */ b .L80024CE4_ovl0 -/* 02543C 8002483C A2440032 */ sb $a0, 0x32($s2) -.L80024840_ovl0: -/* 025440 80024840 924C0032 */ lbu $t4, 0x32($s2) -/* 025444 80024844 244BFF40 */ addiu $t3, $v0, -0xc0 -/* 025448 80024848 016C8021 */ addu $s0, $t3, $t4 -/* 02544C 8002484C 00108400 */ sll $s0, $s0, 0x10 -/* 025450 80024850 00108403 */ sra $s0, $s0, 0x10 -/* 025454 80024854 06030003 */ bgezl $s0, .L80024864_ovl0 -/* 025458 80024858 2A010080 */ slti $at, $s0, 0x80 -/* 02545C 8002485C 00008025 */ move $s0, $zero -/* 025460 80024860 2A010080 */ slti $at, $s0, 0x80 -.L80024864_ovl0: -/* 025464 80024864 14200002 */ bnez $at, .L80024870_ovl0 -/* 025468 80024868 00000000 */ nop -/* 02546C 8002486C 2410007F */ li $s0, 127 -.L80024870_ovl0: -/* 025470 80024870 1000011C */ b .L80024CE4_ovl0 -/* 025474 80024874 A2500032 */ sb $s0, 0x32($s2) -/* 025478 80024878 92240000 */ lbu $a0, ($s1) -/* 02547C 8002487C 26310001 */ addiu $s1, $s1, 1 -/* 025480 80024880 28810080 */ slti $at, $a0, 0x80 -/* 025484 80024884 10200003 */ beqz $at, .L80024894_ovl0 -/* 025488 80024888 00801025 */ move $v0, $a0 -/* 02548C 8002488C 10000115 */ b .L80024CE4_ovl0 -/* 025490 80024890 A2440034 */ sb $a0, 0x34($s2) -.L80024894_ovl0: -/* 025494 80024894 924A0034 */ lbu $t2, 0x34($s2) -/* 025498 80024898 2459FF40 */ addiu $t9, $v0, -0xc0 -/* 02549C 8002489C 032A8021 */ addu $s0, $t9, $t2 -/* 0254A0 800248A0 00108400 */ sll $s0, $s0, 0x10 -/* 0254A4 800248A4 00108403 */ sra $s0, $s0, 0x10 -/* 0254A8 800248A8 06030003 */ bgezl $s0, .L800248B8_ovl0 -/* 0254AC 800248AC 2A010080 */ slti $at, $s0, 0x80 -/* 0254B0 800248B0 00008025 */ move $s0, $zero -/* 0254B4 800248B4 2A010080 */ slti $at, $s0, 0x80 -.L800248B8_ovl0: -/* 0254B8 800248B8 14200002 */ bnez $at, .L800248C4_ovl0 -/* 0254BC 800248BC 00000000 */ nop -/* 0254C0 800248C0 2410007F */ li $s0, 127 -.L800248C4_ovl0: -/* 0254C4 800248C4 10000107 */ b .L80024CE4_ovl0 -/* 0254C8 800248C8 A2500034 */ sb $s0, 0x34($s2) -/* 0254CC 800248CC 92240000 */ lbu $a0, ($s1) -/* 0254D0 800248D0 922B0001 */ lbu $t3, 1($s1) -/* 0254D4 800248D4 26310002 */ addiu $s1, $s1, 2 -/* 0254D8 800248D8 00042200 */ sll $a0, $a0, 8 -/* 0254DC 800248DC 008B2025 */ or $a0, $a0, $t3 -/* 0254E0 800248E0 00041C00 */ sll $v1, $a0, 0x10 -/* 0254E4 800248E4 00031C03 */ sra $v1, $v1, 0x10 -/* 0254E8 800248E8 00048400 */ sll $s0, $a0, 0x10 -/* 0254EC 800248EC 286104B1 */ slti $at, $v1, 0x4b1 -/* 0254F0 800248F0 10200007 */ beqz $at, .L80024910_ovl0 -/* 0254F4 800248F4 00108403 */ sra $s0, $s0, 0x10 -/* 0254F8 800248F8 2861FB50 */ slti $at, $v1, -0x4b0 -/* 0254FC 800248FC 10200002 */ beqz $at, .L80024908_ovl0 -/* 025500 80024900 00000000 */ nop -/* 025504 80024904 2410FB50 */ li $s0, -1200 -.L80024908_ovl0: -/* 025508 80024908 100000F6 */ b .L80024CE4_ovl0 -/* 02550C 8002490C A650002C */ sh $s0, 0x2c($s2) -.L80024910_ovl0: -/* 025510 80024910 864C002C */ lh $t4, 0x2c($s2) -/* 025514 80024914 2470F6A0 */ addiu $s0, $v1, -0x960 -/* 025518 80024918 00108400 */ sll $s0, $s0, 0x10 -/* 02551C 8002491C 00108403 */ sra $s0, $s0, 0x10 -/* 025520 80024920 020C8021 */ addu $s0, $s0, $t4 -/* 025524 80024924 00108400 */ sll $s0, $s0, 0x10 -/* 025528 80024928 00108403 */ sra $s0, $s0, 0x10 -/* 02552C 8002492C 2A01FB50 */ slti $at, $s0, -0x4b0 -/* 025530 80024930 50200003 */ beql $at, $zero, .L80024940_ovl0 -/* 025534 80024934 2A0104B1 */ slti $at, $s0, 0x4b1 -/* 025538 80024938 2410FB50 */ li $s0, -1200 -/* 02553C 8002493C 2A0104B1 */ slti $at, $s0, 0x4b1 -.L80024940_ovl0: -/* 025540 80024940 14200002 */ bnez $at, .L8002494C_ovl0 -/* 025544 80024944 00000000 */ nop -/* 025548 80024948 241004B0 */ li $s0, 1200 -.L8002494C_ovl0: -/* 02554C 8002494C 100000E5 */ b .L80024CE4_ovl0 -/* 025550 80024950 A650002C */ sh $s0, 0x2c($s2) -/* 025554 80024954 92240000 */ lbu $a0, ($s1) -/* 025558 80024958 26310001 */ addiu $s1, $s1, 1 -/* 02555C 8002495C 28810080 */ slti $at, $a0, 0x80 -/* 025560 80024960 10200003 */ beqz $at, .L80024970_ovl0 -/* 025564 80024964 00801025 */ move $v0, $a0 -/* 025568 80024968 100000DE */ b .L80024CE4_ovl0 -/* 02556C 8002496C A2440036 */ sb $a0, 0x36($s2) -.L80024970_ovl0: -/* 025570 80024970 924A0036 */ lbu $t2, 0x36($s2) -/* 025574 80024974 2459FF40 */ addiu $t9, $v0, -0xc0 -/* 025578 80024978 032A8021 */ addu $s0, $t9, $t2 -/* 02557C 8002497C 00108400 */ sll $s0, $s0, 0x10 -/* 025580 80024980 00108403 */ sra $s0, $s0, 0x10 -/* 025584 80024984 06030003 */ bgezl $s0, .L80024994_ovl0 -/* 025588 80024988 2A010080 */ slti $at, $s0, 0x80 -/* 02558C 8002498C 00008025 */ move $s0, $zero -/* 025590 80024990 2A010080 */ slti $at, $s0, 0x80 -.L80024994_ovl0: -/* 025594 80024994 14200002 */ bnez $at, .L800249A0_ovl0 -/* 025598 80024998 00000000 */ nop -/* 02559C 8002499C 2410007F */ li $s0, 127 -.L800249A0_ovl0: -/* 0255A0 800249A0 100000D0 */ b .L80024CE4_ovl0 -/* 0255A4 800249A4 A2500036 */ sb $s0, 0x36($s2) -/* 0255A8 800249A8 92240001 */ lbu $a0, 1($s1) -/* 0255AC 800249AC 92260000 */ lbu $a2, ($s1) -/* 0255B0 800249B0 26310002 */ addiu $s1, $s1, 2 -/* 0255B4 800249B4 308B0080 */ andi $t3, $a0, 0x80 -/* 0255B8 800249B8 9683002C */ lhu $v1, 0x2c($s4) -/* 0255BC 800249BC 11600008 */ beqz $t3, .L800249E0_ovl0 -/* 0255C0 800249C0 00801025 */ move $v0, $a0 -/* 0255C4 800249C4 922C0000 */ lbu $t4, ($s1) -/* 0255C8 800249C8 304D007F */ andi $t5, $v0, 0x7f -/* 0255CC 800249CC 000D7200 */ sll $t6, $t5, 8 -/* 0255D0 800249D0 018E2021 */ addu $a0, $t4, $t6 -/* 0255D4 800249D4 3084FFFF */ andi $a0, $a0, 0xffff -/* 0255D8 800249D8 00801025 */ move $v0, $a0 -/* 0255DC 800249DC 26310001 */ addiu $s1, $s1, 1 -.L800249E0_ovl0: -/* 0255E0 800249E0 0043082A */ slt $at, $v0, $v1 -/* 0255E4 800249E4 102000BF */ beqz $at, .L80024CE4_ovl0 -/* 0255E8 800249E8 00002825 */ move $a1, $zero -/* 0255EC 800249EC 8E8F0024 */ lw $t7, 0x24($s4) -/* 0255F0 800249F0 0004C100 */ sll $t8, $a0, 4 -/* 0255F4 800249F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0255F8 800249F8 01F81021 */ addu $v0, $t7, $t8 -/* 0255FC 800249FC 90590003 */ lbu $t9, 3($v0) -/* 025600 80024A00 90470000 */ lbu $a3, ($v0) -/* 025604 80024A04 90480001 */ lbu $t0, 1($v0) -/* 025608 80024A08 44992000 */ mtc1 $t9, $f4 -/* 02560C 80024A0C 90490002 */ lbu $t1, 2($v0) -/* 025610 80024A10 07210004 */ bgez $t9, .L80024A24_ovl0 -/* 025614 80024A14 468021A0 */ cvt.s.w $f6, $f4 -/* 025618 80024A18 44814000 */ mtc1 $at, $f8 -/* 02561C 80024A1C 00000000 */ nop -/* 025620 80024A20 46083180 */ add.s $f6, $f6, $f8 -.L80024A24_ovl0: -/* 025624 80024A24 E7A6009C */ swc1 $f6, 0x9c($sp) -/* 025628 80024A28 C4400004 */ lwc1 $f0, 4($v0) -/* 02562C 80024A2C C4420008 */ lwc1 $f2, 8($v0) -/* 025630 80024A30 C44C000C */ lwc1 $f12, 0xc($v0) -/* 025634 80024A34 8E430044 */ lw $v1, 0x44($s2) -.L80024A38_ovl0: -/* 025638 80024A38 5460000D */ bnezl $v1, .L80024A70_ovl0 -/* 02563C 80024A3C 90640004 */ lbu $a0, 4($v1) -/* 025640 80024A40 8E900030 */ lw $s0, 0x30($s4) -/* 025644 80024A44 12000022 */ beqz $s0, .L80024AD0_ovl0 -/* 025648 80024A48 00000000 */ nop -/* 02564C 80024A4C 8E0A0000 */ lw $t2, ($s0) -/* 025650 80024A50 AE8A0030 */ sw $t2, 0x30($s4) -/* 025654 80024A54 10A00003 */ beqz $a1, .L80024A64_ovl0 -/* 025658 80024A58 AE000000 */ sw $zero, ($s0) -/* 02565C 80024A5C 1000001C */ b .L80024AD0_ovl0 -/* 025660 80024A60 ACB00000 */ sw $s0, ($a1) -.L80024A64_ovl0: -/* 025664 80024A64 1000001A */ b .L80024AD0_ovl0 -/* 025668 80024A68 AE500044 */ sw $s0, 0x44($s2) -/* 02566C 80024A6C 90640004 */ lbu $a0, 4($v1) -.L80024A70_ovl0: -/* 025670 80024A70 00C01025 */ move $v0, $a2 -/* 025674 80024A74 14860003 */ bne $a0, $a2, .L80024A84_ovl0 -/* 025678 80024A78 0044082A */ slt $at, $v0, $a0 -/* 02567C 80024A7C 10000014 */ b .L80024AD0_ovl0 -/* 025680 80024A80 00608025 */ move $s0, $v1 -.L80024A84_ovl0: -/* 025684 80024A84 50200010 */ beql $at, $zero, .L80024AC8_ovl0 -/* 025688 80024A88 00602825 */ move $a1, $v1 -/* 02568C 80024A8C 8E900030 */ lw $s0, 0x30($s4) -/* 025690 80024A90 1200000F */ beqz $s0, .L80024AD0_ovl0 -/* 025694 80024A94 00000000 */ nop -/* 025698 80024A98 8E0B0000 */ lw $t3, ($s0) -/* 02569C 80024A9C 10A00005 */ beqz $a1, .L80024AB4_ovl0 -/* 0256A0 80024AA0 AE8B0030 */ sw $t3, 0x30($s4) -/* 0256A4 80024AA4 8CAD0000 */ lw $t5, ($a1) -/* 0256A8 80024AA8 AE0D0000 */ sw $t5, ($s0) -/* 0256AC 80024AAC 10000008 */ b .L80024AD0_ovl0 -/* 0256B0 80024AB0 ACB00000 */ sw $s0, ($a1) -.L80024AB4_ovl0: -/* 0256B4 80024AB4 8E4C0044 */ lw $t4, 0x44($s2) -/* 0256B8 80024AB8 AE0C0000 */ sw $t4, ($s0) -/* 0256BC 80024ABC 10000004 */ b .L80024AD0_ovl0 -/* 0256C0 80024AC0 AE500044 */ sw $s0, 0x44($s2) -/* 0256C4 80024AC4 00602825 */ move $a1, $v1 -.L80024AC8_ovl0: -/* 0256C8 80024AC8 1000FFDB */ b .L80024A38_ovl0 -/* 0256CC 80024ACC 8C630000 */ lw $v1, ($v1) -.L80024AD0_ovl0: -/* 0256D0 80024AD0 12000084 */ beqz $s0, .L80024CE4_ovl0 -/* 0256D4 80024AD4 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 0256D8 80024AD8 460A0482 */ mul.s $f18, $f0, $f10 -/* 0256DC 80024ADC 24010004 */ li $at, 4 -/* 0256E0 80024AE0 A2060004 */ sb $a2, 4($s0) -/* 0256E4 80024AE4 A2070005 */ sb $a3, 5($s0) -/* 0256E8 80024AE8 A2080006 */ sb $t0, 6($s0) -/* 0256EC 80024AEC A2090007 */ sb $t1, 7($s0) -/* 0256F0 80024AF0 E6000008 */ swc1 $f0, 8($s0) -/* 0256F4 80024AF4 46149102 */ mul.s $f4, $f18, $f20 -/* 0256F8 80024AF8 E602000C */ swc1 $f2, 0xc($s0) -/* 0256FC 80024AFC E60C0010 */ swc1 $f12, 0x10($s0) -/* 025700 80024B00 10E10008 */ beq $a3, $at, .L80024B24_ovl0 -/* 025704 80024B04 E6040014 */ swc1 $f4, 0x14($s0) -/* 025708 80024B08 24010005 */ li $at, 5 -/* 02570C 80024B0C 10E10016 */ beq $a3, $at, .L80024B68_ovl0 -/* 025710 80024B10 24010008 */ li $at, 8 -/* 025714 80024B14 10E10028 */ beq $a3, $at, .L80024BB8_ovl0 -/* 025718 80024B18 00000000 */ nop -/* 02571C 80024B1C 10000071 */ b .L80024CE4_ovl0 -/* 025720 80024B20 00000000 */ nop -.L80024B24_ovl0: -/* 025724 80024B24 0C0091B9 */ jal func_800246E4 -/* 025728 80024B28 00000000 */ nop -/* 02572C 80024B2C C608000C */ lwc1 $f8, 0xc($s0) -/* 025730 80024B30 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 025734 80024B34 46080182 */ mul.s $f6, $f0, $f8 -/* 025738 80024B38 460A3480 */ add.s $f18, $f6, $f10 -/* 02573C 80024B3C 0C0091B9 */ jal func_800246E4 -/* 025740 80024B40 E6120020 */ swc1 $f18, 0x20($s0) -/* 025744 80024B44 C6040008 */ lwc1 $f4, 8($s0) -/* 025748 80024B48 46040082 */ mul.s $f2, $f0, $f4 -/* 02574C 80024B4C E6020018 */ swc1 $f2, 0x18($s0) -/* 025750 80024B50 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 025754 80024B54 46081182 */ mul.s $f6, $f2, $f8 -/* 025758 80024B58 00000000 */ nop -/* 02575C 80024B5C 46143282 */ mul.s $f10, $f6, $f20 -/* 025760 80024B60 10000060 */ b .L80024CE4_ovl0 -/* 025764 80024B64 E60A0014 */ swc1 $f10, 0x14($s0) -.L80024B68_ovl0: -/* 025768 80024B68 0C0091B9 */ jal func_800246E4 -/* 02576C 80024B6C E616001C */ swc1 $f22, 0x1c($s0) -/* 025770 80024B70 C612000C */ lwc1 $f18, 0xc($s0) -/* 025774 80024B74 C6080010 */ lwc1 $f8, 0x10($s0) -/* 025778 80024B78 46120102 */ mul.s $f4, $f0, $f18 -/* 02577C 80024B7C 46082180 */ add.s $f6, $f4, $f8 -/* 025780 80024B80 0C0091B9 */ jal func_800246E4 -/* 025784 80024B84 E6060020 */ swc1 $f6, 0x20($s0) -/* 025788 80024B88 C60A0008 */ lwc1 $f10, 8($s0) -/* 02578C 80024B8C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 025790 80024B90 44812000 */ mtc1 $at, $f4 -/* 025794 80024B94 460A0482 */ mul.s $f18, $f0, $f10 -/* 025798 80024B98 46049080 */ add.s $f2, $f18, $f4 -/* 02579C 80024B9C E6020018 */ swc1 $f2, 0x18($s0) -/* 0257A0 80024BA0 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 0257A4 80024BA4 46081182 */ mul.s $f6, $f2, $f8 -/* 0257A8 80024BA8 00000000 */ nop -/* 0257AC 80024BAC 46143282 */ mul.s $f10, $f6, $f20 -/* 0257B0 80024BB0 1000004C */ b .L80024CE4_ovl0 -/* 0257B4 80024BB4 E60A0014 */ swc1 $f10, 0x14($s0) -.L80024BB8_ovl0: -/* 0257B8 80024BB8 0C0091A0 */ jal func_80024680 -/* 0257BC 80024BBC 00000000 */ nop -/* 0257C0 80024BC0 C612000C */ lwc1 $f18, 0xc($s0) -/* 0257C4 80024BC4 C6080010 */ lwc1 $f8, 0x10($s0) -/* 0257C8 80024BC8 46120102 */ mul.s $f4, $f0, $f18 -/* 0257CC 80024BCC 46082180 */ add.s $f6, $f4, $f8 -/* 0257D0 80024BD0 0C0091A0 */ jal func_80024680 -/* 0257D4 80024BD4 E6060020 */ swc1 $f6, 0x20($s0) -/* 0257D8 80024BD8 C60A0008 */ lwc1 $f10, 8($s0) -/* 0257DC 80024BDC 460A0082 */ mul.s $f2, $f0, $f10 -/* 0257E0 80024BE0 E6020018 */ swc1 $f2, 0x18($s0) -/* 0257E4 80024BE4 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 0257E8 80024BE8 46121102 */ mul.s $f4, $f2, $f18 -/* 0257EC 80024BEC 00000000 */ nop -/* 0257F0 80024BF0 46142202 */ mul.s $f8, $f4, $f20 -/* 0257F4 80024BF4 1000003B */ b .L80024CE4_ovl0 -/* 0257F8 80024BF8 E6080014 */ swc1 $f8, 0x14($s0) -/* 0257FC 80024BFC 8E430044 */ lw $v1, 0x44($s2) -/* 025800 80024C00 92260000 */ lbu $a2, ($s1) -/* 025804 80024C04 26310001 */ addiu $s1, $s1, 1 -/* 025808 80024C08 10600036 */ beqz $v1, .L80024CE4_ovl0 -/* 02580C 80024C0C 00002825 */ move $a1, $zero -/* 025810 80024C10 00C01025 */ move $v0, $a2 -/* 025814 80024C14 906E0004 */ lbu $t6, 4($v1) -.L80024C18_ovl0: -/* 025818 80024C18 55C2000D */ bnel $t6, $v0, .L80024C50_ovl0 -/* 02581C 80024C1C 00602825 */ move $a1, $v1 -/* 025820 80024C20 54A00005 */ bnezl $a1, .L80024C38_ovl0 -/* 025824 80024C24 8C780000 */ lw $t8, ($v1) -/* 025828 80024C28 8C6F0000 */ lw $t7, ($v1) -/* 02582C 80024C2C 10000003 */ b .L80024C3C_ovl0 -/* 025830 80024C30 AE4F0044 */ sw $t7, 0x44($s2) -/* 025834 80024C34 8C780000 */ lw $t8, ($v1) -.L80024C38_ovl0: -/* 025838 80024C38 ACB80000 */ sw $t8, ($a1) -.L80024C3C_ovl0: -/* 02583C 80024C3C 8E990030 */ lw $t9, 0x30($s4) -/* 025840 80024C40 AC790000 */ sw $t9, ($v1) -/* 025844 80024C44 10000027 */ b .L80024CE4_ovl0 -/* 025848 80024C48 AE830030 */ sw $v1, 0x30($s4) -/* 02584C 80024C4C 00602825 */ move $a1, $v1 -.L80024C50_ovl0: -/* 025850 80024C50 8C630000 */ lw $v1, ($v1) -/* 025854 80024C54 5460FFF0 */ bnezl $v1, .L80024C18_ovl0 -/* 025858 80024C58 906E0004 */ lbu $t6, 4($v1) -/* 02585C 80024C5C 10000021 */ b .L80024CE4_ovl0 -/* 025860 80024C60 00000000 */ nop -/* 025864 80024C64 92240000 */ lbu $a0, ($s1) -/* 025868 80024C68 26310001 */ addiu $s1, $s1, 1 -/* 02586C 80024C6C 96830014 */ lhu $v1, 0x14($s4) -/* 025870 80024C70 308A0080 */ andi $t2, $a0, 0x80 -/* 025874 80024C74 11400008 */ beqz $t2, .L80024C98_ovl0 -/* 025878 80024C78 00801025 */ move $v0, $a0 -/* 02587C 80024C7C 922B0000 */ lbu $t3, ($s1) -/* 025880 80024C80 304D007F */ andi $t5, $v0, 0x7f -/* 025884 80024C84 000D6200 */ sll $t4, $t5, 8 -/* 025888 80024C88 016C2021 */ addu $a0, $t3, $t4 -/* 02588C 80024C8C 3084FFFF */ andi $a0, $a0, 0xffff -/* 025890 80024C90 00801025 */ move $v0, $a0 -/* 025894 80024C94 26310001 */ addiu $s1, $s1, 1 -.L80024C98_ovl0: -/* 025898 80024C98 0043082A */ slt $at, $v0, $v1 -/* 02589C 80024C9C 10200011 */ beqz $at, .L80024CE4_ovl0 -/* 0258A0 80024CA0 00000000 */ nop -/* 0258A4 80024CA4 8E8E0018 */ lw $t6, 0x18($s4) -/* 0258A8 80024CA8 00047880 */ sll $t7, $a0, 2 -/* 0258AC 80024CAC 240D0003 */ li $t5, 3 -/* 0258B0 80024CB0 01CFC021 */ addu $t8, $t6, $t7 -/* 0258B4 80024CB4 8F190000 */ lw $t9, ($t8) -/* 0258B8 80024CB8 8F2A0008 */ lw $t2, 8($t9) -/* 0258BC 80024CBC A24D002A */ sb $t5, 0x2a($s2) -/* 0258C0 80024CC0 10000008 */ b .L80024CE4_ovl0 -/* 0258C4 80024CC4 AE4A0040 */ sw $t2, 0x40($s2) -/* 0258C8 80024CC8 240B0002 */ li $t3, 2 -/* 0258CC 80024CCC A24B002A */ sb $t3, 0x2a($s2) -/* 0258D0 80024CD0 10000004 */ b .L80024CE4_ovl0 -/* 0258D4 80024CD4 24132710 */ li $s3, 10000 -/* 0258D8 80024CD8 10000002 */ b .L80024CE4_ovl0 -/* 0258DC 80024CDC AE510024 */ sw $s1, 0x24($s2) -/* 0258E0 80024CE0 8E510024 */ lw $s1, 0x24($s2) -.L80024CE4_ovl0: -/* 0258E4 80024CE4 5260FEB1 */ beql $s3, $zero, .L800247AC_ovl0 -/* 0258E8 80024CE8 92230000 */ lbu $v1, ($s1) -/* 0258EC 80024CEC AE510020 */ sw $s1, 0x20($s2) -/* 0258F0 80024CF0 A6530028 */ sh $s3, 0x28($s2) -.L80024CF4_ovl0: -/* 0258F4 80024CF4 8E500044 */ lw $s0, 0x44($s2) -/* 0258F8 80024CF8 3C148009 */ lui $s4, %hi(D_800978E0) # $s4, 0x8009 -/* 0258FC 80024CFC 269478E0 */ addiu $s4, %lo(D_800978E0) # addiu $s4, $s4, 0x78e0 -/* 025900 80024D00 120001BA */ beqz $s0, .L800253EC_ovl0 -/* 025904 80024D04 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 025908 80024D08 4481B000 */ mtc1 $at, $f22 -/* 02590C 80024D0C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 025910 80024D10 3C138004 */ lui $s3, %hi(D_8003E330) # $s3, 0x8004 -/* 025914 80024D14 44818000 */ mtc1 $at, $f16 -/* 025918 80024D18 4480A000 */ mtc1 $zero, $f20 -/* 02591C 80024D1C 2673E330 */ addiu $s3, %lo(D_8003E330) # addiu $s3, $s3, -0x1cd0 -/* 025920 80024D20 27B100C0 */ addiu $s1, $sp, 0xc0 -/* 025924 80024D24 920C0005 */ lbu $t4, 5($s0) -.L80024D28_ovl0: -/* 025928 80024D28 29810004 */ slti $at, $t4, 4 -/* 02592C 80024D2C 5020000D */ beql $at, $zero, .L80024D64_ovl0 -/* 025930 80024D30 920E0005 */ lbu $t6, 5($s0) -/* 025934 80024D34 C6060014 */ lwc1 $f6, 0x14($s0) -/* 025938 80024D38 C6000008 */ lwc1 $f0, 8($s0) -/* 02593C 80024D3C 46163280 */ add.s $f10, $f6, $f22 -/* 025940 80024D40 E60A0014 */ swc1 $f10, 0x14($s0) -/* 025944 80024D44 C6020014 */ lwc1 $f2, 0x14($s0) -/* 025948 80024D48 4602003C */ c.lt.s $f0, $f2 -/* 02594C 80024D4C 00000000 */ nop -/* 025950 80024D50 45020004 */ bc1fl .L80024D64_ovl0 -/* 025954 80024D54 920E0005 */ lbu $t6, 5($s0) -/* 025958 80024D58 46001481 */ sub.s $f18, $f2, $f0 -/* 02595C 80024D5C E6120014 */ swc1 $f18, 0x14($s0) -/* 025960 80024D60 920E0005 */ lbu $t6, 5($s0) -.L80024D64_ovl0: -/* 025964 80024D64 2DC10009 */ sltiu $at, $t6, 9 -/* 025968 80024D68 102000C2 */ beqz $at, .L80025074_ovl0 -/* 02596C 80024D6C 000E7080 */ sll $t6, $t6, 2 -/* 025970 80024D70 3C018004 */ lui $at, 0x8004 -/* 025974 80024D74 002E0821 */ addu $at, $at, $t6 -/* 025978 80024D78 8C2E1468 */ lw $t6, 0x1468($at) -/* 02597C 80024D7C 01C00008 */ jr $t6 -/* 025980 80024D80 00000000 */ nop -/* 025984 80024D84 C6040014 */ lwc1 $f4, 0x14($s0) -/* 025988 80024D88 C6080008 */ lwc1 $f8, 8($s0) -/* 02598C 80024D8C 3C014580 */ li $at, 0x45800000 # 4096.000000 -/* 025990 80024D90 44813000 */ mtc1 $at, $f6 -/* 025994 80024D94 46082003 */ div.s $f0, $f4, $f8 -/* 025998 80024D98 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 02599C 80024D9C 46060282 */ mul.s $f10, $f0, $f6 -/* 0259A0 80024DA0 4600548D */ trunc.w.s $f18, $f10 -/* 0259A4 80024DA4 44029000 */ mfc1 $v0, $f18 -/* 0259A8 80024DA8 00000000 */ nop -/* 0259AC 80024DAC 30420FFF */ andi $v0, $v0, 0xfff -/* 0259B0 80024DB0 3042FFFF */ andi $v0, $v0, 0xffff -/* 0259B4 80024DB4 305807FF */ andi $t8, $v0, 0x7ff -/* 0259B8 80024DB8 0018C840 */ sll $t9, $t8, 1 -/* 0259BC 80024DBC 02795021 */ addu $t2, $s3, $t9 -/* 0259C0 80024DC0 954D0000 */ lhu $t5, ($t2) -/* 0259C4 80024DC4 448D2000 */ mtc1 $t5, $f4 -/* 0259C8 80024DC8 05A10004 */ bgez $t5, .L80024DDC_ovl0 -/* 0259CC 80024DCC 46802220 */ cvt.s.w $f8, $f4 -/* 0259D0 80024DD0 44813000 */ mtc1 $at, $f6 -/* 0259D4 80024DD4 00000000 */ nop -/* 0259D8 80024DD8 46064200 */ add.s $f8, $f8, $f6 -.L80024DDC_ovl0: -/* 0259DC 80024DDC 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0259E0 80024DE0 44815000 */ mtc1 $at, $f10 -/* 0259E4 80024DE4 304B0800 */ andi $t3, $v0, 0x800 -/* 0259E8 80024DE8 11600003 */ beqz $t3, .L80024DF8_ovl0 -/* 0259EC 80024DEC 460A4083 */ div.s $f2, $f8, $f10 -/* 0259F0 80024DF0 10000002 */ b .L80024DFC_ovl0 -/* 0259F4 80024DF4 46001007 */ neg.s $f0, $f2 -.L80024DF8_ovl0: -/* 0259F8 80024DF8 46001006 */ mov.s $f0, $f2 -.L80024DFC_ovl0: -/* 0259FC 80024DFC C612000C */ lwc1 $f18, 0xc($s0) -/* 025A00 80024E00 C6060010 */ lwc1 $f6, 0x10($s0) -/* 025A04 80024E04 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 025A08 80024E08 46120102 */ mul.s $f4, $f0, $f18 -/* 025A0C 80024E0C 44818000 */ mtc1 $at, $f16 -/* 025A10 80024E10 10000099 */ b .L80025078_ovl0 -/* 025A14 80024E14 46062300 */ add.s $f12, $f4, $f6 -/* 025A18 80024E18 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 025A1C 80024E1C 44815000 */ mtc1 $at, $f10 -/* 025A20 80024E20 C6080008 */ lwc1 $f8, 8($s0) -/* 025A24 80024E24 C6040014 */ lwc1 $f4, 0x14($s0) -/* 025A28 80024E28 460A4483 */ div.s $f18, $f8, $f10 -/* 025A2C 80024E2C 4604903C */ c.lt.s $f18, $f4 -/* 025A30 80024E30 00000000 */ nop -/* 025A34 80024E34 45000003 */ bc1f .L80024E44_ovl0 -/* 025A38 80024E38 00000000 */ nop -/* 025A3C 80024E3C 1000008E */ b .L80025078_ovl0 -/* 025A40 80024E40 C60C000C */ lwc1 $f12, 0xc($s0) -.L80024E44_ovl0: -/* 025A44 80024E44 1000008C */ b .L80025078_ovl0 -/* 025A48 80024E48 C60C0010 */ lwc1 $f12, 0x10($s0) -/* 025A4C 80024E4C C606000C */ lwc1 $f6, 0xc($s0) -/* 025A50 80024E50 C6080014 */ lwc1 $f8, 0x14($s0) -/* 025A54 80024E54 C6120008 */ lwc1 $f18, 8($s0) -/* 025A58 80024E58 46083282 */ mul.s $f10, $f6, $f8 -/* 025A5C 80024E5C C6060010 */ lwc1 $f6, 0x10($s0) -/* 025A60 80024E60 46125103 */ div.s $f4, $f10, $f18 -/* 025A64 80024E64 10000084 */ b .L80025078_ovl0 -/* 025A68 80024E68 46062300 */ add.s $f12, $f4, $f6 -/* 025A6C 80024E6C C6000008 */ lwc1 $f0, 8($s0) -/* 025A70 80024E70 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 025A74 80024E74 C608000C */ lwc1 $f8, 0xc($s0) -/* 025A78 80024E78 460A0481 */ sub.s $f18, $f0, $f10 -/* 025A7C 80024E7C C60A0010 */ lwc1 $f10, 0x10($s0) -/* 025A80 80024E80 46124102 */ mul.s $f4, $f8, $f18 -/* 025A84 80024E84 46002183 */ div.s $f6, $f4, $f0 -/* 025A88 80024E88 1000007B */ b .L80025078_ovl0 -/* 025A8C 80024E8C 460A3300 */ add.s $f12, $f6, $f10 -/* 025A90 80024E90 C6080014 */ lwc1 $f8, 0x14($s0) -/* 025A94 80024E94 C6040018 */ lwc1 $f4, 0x18($s0) -/* 025A98 80024E98 46164480 */ add.s $f18, $f8, $f22 -/* 025A9C 80024E9C E6120014 */ swc1 $f18, 0x14($s0) -/* 025AA0 80024EA0 C6060014 */ lwc1 $f6, 0x14($s0) -/* 025AA4 80024EA4 4606203C */ c.lt.s $f4, $f6 -/* 025AA8 80024EA8 00000000 */ nop -/* 025AAC 80024EAC 4500000F */ bc1f .L80024EEC_ovl0 -/* 025AB0 80024EB0 00000000 */ nop -/* 025AB4 80024EB4 0C0091B9 */ jal func_800246E4 -/* 025AB8 80024EB8 00000000 */ nop -/* 025ABC 80024EBC C60A000C */ lwc1 $f10, 0xc($s0) -/* 025AC0 80024EC0 C6120010 */ lwc1 $f18, 0x10($s0) -/* 025AC4 80024EC4 460A0202 */ mul.s $f8, $f0, $f10 -/* 025AC8 80024EC8 46124100 */ add.s $f4, $f8, $f18 -/* 025ACC 80024ECC 0C0091B9 */ jal func_800246E4 -/* 025AD0 80024ED0 E6040020 */ swc1 $f4, 0x20($s0) -/* 025AD4 80024ED4 C6060008 */ lwc1 $f6, 8($s0) -/* 025AD8 80024ED8 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 025ADC 80024EDC 44818000 */ mtc1 $at, $f16 -/* 025AE0 80024EE0 46060282 */ mul.s $f10, $f0, $f6 -/* 025AE4 80024EE4 E6140014 */ swc1 $f20, 0x14($s0) -/* 025AE8 80024EE8 E60A0018 */ swc1 $f10, 0x18($s0) -.L80024EEC_ovl0: -/* 025AEC 80024EEC 10000062 */ b .L80025078_ovl0 -/* 025AF0 80024EF0 C60C0020 */ lwc1 $f12, 0x20($s0) -/* 025AF4 80024EF4 C6080014 */ lwc1 $f8, 0x14($s0) -/* 025AF8 80024EF8 C60E0018 */ lwc1 $f14, 0x18($s0) -/* 025AFC 80024EFC 46164480 */ add.s $f18, $f8, $f22 -/* 025B00 80024F00 E6120014 */ swc1 $f18, 0x14($s0) -/* 025B04 80024F04 C6020014 */ lwc1 $f2, 0x14($s0) -/* 025B08 80024F08 4602703C */ c.lt.s $f14, $f2 -/* 025B0C 80024F0C 00000000 */ nop -/* 025B10 80024F10 45020014 */ bc1fl .L80024F64_ovl0 -/* 025B14 80024F14 C600001C */ lwc1 $f0, 0x1c($s0) -/* 025B18 80024F18 C6040020 */ lwc1 $f4, 0x20($s0) -/* 025B1C 80024F1C 0C0091B9 */ jal func_800246E4 -/* 025B20 80024F20 E604001C */ swc1 $f4, 0x1c($s0) -/* 025B24 80024F24 C606000C */ lwc1 $f6, 0xc($s0) -/* 025B28 80024F28 C6080010 */ lwc1 $f8, 0x10($s0) -/* 025B2C 80024F2C 46060282 */ mul.s $f10, $f0, $f6 -/* 025B30 80024F30 46085480 */ add.s $f18, $f10, $f8 -/* 025B34 80024F34 0C0091B9 */ jal func_800246E4 -/* 025B38 80024F38 E6120020 */ swc1 $f18, 0x20($s0) -/* 025B3C 80024F3C C6040008 */ lwc1 $f4, 8($s0) -/* 025B40 80024F40 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 025B44 80024F44 44815000 */ mtc1 $at, $f10 -/* 025B48 80024F48 46040182 */ mul.s $f6, $f0, $f4 -/* 025B4C 80024F4C E6140014 */ swc1 $f20, 0x14($s0) -/* 025B50 80024F50 C6020014 */ lwc1 $f2, 0x14($s0) -/* 025B54 80024F54 460A3200 */ add.s $f8, $f6, $f10 -/* 025B58 80024F58 E6080018 */ swc1 $f8, 0x18($s0) -/* 025B5C 80024F5C C60E0018 */ lwc1 $f14, 0x18($s0) -/* 025B60 80024F60 C600001C */ lwc1 $f0, 0x1c($s0) -.L80024F64_ovl0: -/* 025B64 80024F64 C6120020 */ lwc1 $f18, 0x20($s0) -/* 025B68 80024F68 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 025B6C 80024F6C 44818000 */ mtc1 $at, $f16 -/* 025B70 80024F70 46009101 */ sub.s $f4, $f18, $f0 -/* 025B74 80024F74 46022182 */ mul.s $f6, $f4, $f2 -/* 025B78 80024F78 460E3283 */ div.s $f10, $f6, $f14 -/* 025B7C 80024F7C 1000003E */ b .L80025078_ovl0 -/* 025B80 80024F80 46005300 */ add.s $f12, $f10, $f0 -/* 025B84 80024F84 C6080014 */ lwc1 $f8, 0x14($s0) -/* 025B88 80024F88 C6000008 */ lwc1 $f0, 8($s0) -/* 025B8C 80024F8C 46164480 */ add.s $f18, $f8, $f22 -/* 025B90 80024F90 E6120014 */ swc1 $f18, 0x14($s0) -/* 025B94 80024F94 C6020014 */ lwc1 $f2, 0x14($s0) -/* 025B98 80024F98 4602003C */ c.lt.s $f0, $f2 -/* 025B9C 80024F9C 00000000 */ nop -/* 025BA0 80024FA0 45020004 */ bc1fl .L80024FB4_ovl0 -/* 025BA4 80024FA4 C604000C */ lwc1 $f4, 0xc($s0) -/* 025BA8 80024FA8 E6000014 */ swc1 $f0, 0x14($s0) -/* 025BAC 80024FAC C6020014 */ lwc1 $f2, 0x14($s0) -/* 025BB0 80024FB0 C604000C */ lwc1 $f4, 0xc($s0) -.L80024FB4_ovl0: -/* 025BB4 80024FB4 C6080010 */ lwc1 $f8, 0x10($s0) -/* 025BB8 80024FB8 46022182 */ mul.s $f6, $f4, $f2 -/* 025BBC 80024FBC 46003283 */ div.s $f10, $f6, $f0 -/* 025BC0 80024FC0 1000002D */ b .L80025078_ovl0 -/* 025BC4 80024FC4 46085300 */ add.s $f12, $f10, $f8 -/* 025BC8 80024FC8 C6120014 */ lwc1 $f18, 0x14($s0) -/* 025BCC 80024FCC C6000008 */ lwc1 $f0, 8($s0) -/* 025BD0 80024FD0 46169100 */ add.s $f4, $f18, $f22 -/* 025BD4 80024FD4 E6040014 */ swc1 $f4, 0x14($s0) -/* 025BD8 80024FD8 C6020014 */ lwc1 $f2, 0x14($s0) -/* 025BDC 80024FDC 4602003C */ c.lt.s $f0, $f2 -/* 025BE0 80024FE0 00000000 */ nop -/* 025BE4 80024FE4 45020004 */ bc1fl .L80024FF8_ovl0 -/* 025BE8 80024FE8 46020281 */ sub.s $f10, $f0, $f2 -/* 025BEC 80024FEC E6000014 */ swc1 $f0, 0x14($s0) -/* 025BF0 80024FF0 C6020014 */ lwc1 $f2, 0x14($s0) -/* 025BF4 80024FF4 46020281 */ sub.s $f10, $f0, $f2 -.L80024FF8_ovl0: -/* 025BF8 80024FF8 C606000C */ lwc1 $f6, 0xc($s0) -/* 025BFC 80024FFC C6040010 */ lwc1 $f4, 0x10($s0) -/* 025C00 80025000 460A3202 */ mul.s $f8, $f6, $f10 -/* 025C04 80025004 46004483 */ div.s $f18, $f8, $f0 -/* 025C08 80025008 1000001B */ b .L80025078_ovl0 -/* 025C0C 8002500C 46049300 */ add.s $f12, $f18, $f4 -/* 025C10 80025010 C6060014 */ lwc1 $f6, 0x14($s0) -/* 025C14 80025014 C6080018 */ lwc1 $f8, 0x18($s0) -/* 025C18 80025018 46163280 */ add.s $f10, $f6, $f22 -/* 025C1C 8002501C E60A0014 */ swc1 $f10, 0x14($s0) -/* 025C20 80025020 C6120014 */ lwc1 $f18, 0x14($s0) -/* 025C24 80025024 4612403C */ c.lt.s $f8, $f18 -/* 025C28 80025028 00000000 */ nop -/* 025C2C 8002502C 4500000F */ bc1f .L8002506C_ovl0 -/* 025C30 80025030 00000000 */ nop -/* 025C34 80025034 0C0091A0 */ jal func_80024680 -/* 025C38 80025038 00000000 */ nop -/* 025C3C 8002503C C604000C */ lwc1 $f4, 0xc($s0) -/* 025C40 80025040 C60A0010 */ lwc1 $f10, 0x10($s0) -/* 025C44 80025044 46040182 */ mul.s $f6, $f0, $f4 -/* 025C48 80025048 460A3200 */ add.s $f8, $f6, $f10 -/* 025C4C 8002504C 0C0091A0 */ jal func_80024680 -/* 025C50 80025050 E6080020 */ swc1 $f8, 0x20($s0) -/* 025C54 80025054 C6120008 */ lwc1 $f18, 8($s0) -/* 025C58 80025058 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 025C5C 8002505C 44818000 */ mtc1 $at, $f16 -/* 025C60 80025060 46120102 */ mul.s $f4, $f0, $f18 -/* 025C64 80025064 E6140014 */ swc1 $f20, 0x14($s0) -/* 025C68 80025068 E6040018 */ swc1 $f4, 0x18($s0) -.L8002506C_ovl0: -/* 025C6C 8002506C 10000002 */ b .L80025078_ovl0 -/* 025C70 80025070 C60C0020 */ lwc1 $f12, 0x20($s0) -.L80025074_ovl0: -/* 025C74 80025074 4600A306 */ mov.s $f12, $f20 -.L80025078_ovl0: -/* 025C78 80025078 92020007 */ lbu $v0, 7($s0) -/* 025C7C 8002507C 24010001 */ li $at, 1 -/* 025C80 80025080 00021903 */ sra $v1, $v0, 4 -/* 025C84 80025084 10610006 */ beq $v1, $at, .L800250A0_ovl0 -/* 025C88 80025088 304C000F */ andi $t4, $v0, 0xf -/* 025C8C 8002508C 24010002 */ li $at, 2 -/* 025C90 80025090 10610008 */ beq $v1, $at, .L800250B4_ovl0 -/* 025C94 80025094 3058000F */ andi $t8, $v0, 0xf -/* 025C98 80025098 1000000C */ b .L800250CC_ovl0 -/* 025C9C 8002509C 92040006 */ lbu $a0, 6($s0) -.L800250A0_ovl0: -/* 025CA0 800250A0 000C7080 */ sll $t6, $t4, 2 -/* 025CA4 800250A4 022E7821 */ addu $t7, $s1, $t6 -/* 025CA8 800250A8 C5E60000 */ lwc1 $f6, ($t7) -/* 025CAC 800250AC 10000006 */ b .L800250C8_ovl0 -/* 025CB0 800250B0 46066300 */ add.s $f12, $f12, $f6 -.L800250B4_ovl0: -/* 025CB4 800250B4 0018C880 */ sll $t9, $t8, 2 -/* 025CB8 800250B8 02395021 */ addu $t2, $s1, $t9 -/* 025CBC 800250BC C54A0000 */ lwc1 $f10, ($t2) -/* 025CC0 800250C0 460A6302 */ mul.s $f12, $f12, $f10 -/* 025CC4 800250C4 00000000 */ nop -.L800250C8_ovl0: -/* 025CC8 800250C8 92040006 */ lbu $a0, 6($s0) -.L800250CC_ovl0: -/* 025CCC 800250CC 248DFFF6 */ addiu $t5, $a0, -0xa -/* 025CD0 800250D0 2DA10006 */ sltiu $at, $t5, 6 -/* 025CD4 800250D4 1020008B */ beqz $at, .L80025304_ovl0 -/* 025CD8 800250D8 000D6880 */ sll $t5, $t5, 2 -/* 025CDC 800250DC 3C018004 */ lui $at, 0x8004 -/* 025CE0 800250E0 002D0821 */ addu $at, $at, $t5 -/* 025CE4 800250E4 8C2D148C */ lw $t5, 0x148c($at) -/* 025CE8 800250E8 01A00008 */ jr $t5 -/* 025CEC 800250EC 00000000 */ nop -/* 025CF0 800250F0 924B0032 */ lbu $t3, 0x32($s2) -/* 025CF4 800250F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 025CF8 800250F8 448B4000 */ mtc1 $t3, $f8 -/* 025CFC 800250FC 05610004 */ bgez $t3, .L80025110_ovl0 -/* 025D00 80025100 468044A0 */ cvt.s.w $f18, $f8 -/* 025D04 80025104 44812000 */ mtc1 $at, $f4 -/* 025D08 80025108 00000000 */ nop -/* 025D0C 8002510C 46049480 */ add.s $f18, $f18, $f4 -.L80025110_ovl0: -/* 025D10 80025110 46126300 */ add.s $f12, $f12, $f18 -/* 025D14 80025114 4614603C */ c.lt.s $f12, $f20 -/* 025D18 80025118 240E0001 */ li $t6, 1 -/* 025D1C 8002511C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 025D20 80025120 45020003 */ bc1fl .L80025130_ovl0 -/* 025D24 80025124 460C803C */ c.lt.s $f16, $f12 -/* 025D28 80025128 4600A306 */ mov.s $f12, $f20 -/* 025D2C 8002512C 460C803C */ c.lt.s $f16, $f12 -.L80025130_ovl0: -/* 025D30 80025130 00000000 */ nop -/* 025D34 80025134 45020003 */ bc1fl .L80025144_ovl0 -/* 025D38 80025138 444CF800 */ cfc1 $t4, $31 -/* 025D3C 8002513C 46008306 */ mov.s $f12, $f16 -/* 025D40 80025140 444CF800 */ cfc1 $t4, $31 -.L80025144_ovl0: -/* 025D44 80025144 44CEF800 */ ctc1 $t6, $31 -/* 025D48 80025148 00000000 */ nop -/* 025D4C 8002514C 460061A4 */ cvt.w.s $f6, $f12 -/* 025D50 80025150 444EF800 */ cfc1 $t6, $31 -/* 025D54 80025154 00000000 */ nop -/* 025D58 80025158 31CE0078 */ andi $t6, $t6, 0x78 -/* 025D5C 8002515C 51C00013 */ beql $t6, $zero, .L800251AC_ovl0 -/* 025D60 80025160 440E3000 */ mfc1 $t6, $f6 -/* 025D64 80025164 44813000 */ mtc1 $at, $f6 -/* 025D68 80025168 240E0001 */ li $t6, 1 -/* 025D6C 8002516C 46066181 */ sub.s $f6, $f12, $f6 -/* 025D70 80025170 44CEF800 */ ctc1 $t6, $31 -/* 025D74 80025174 00000000 */ nop -/* 025D78 80025178 460031A4 */ cvt.w.s $f6, $f6 -/* 025D7C 8002517C 444EF800 */ cfc1 $t6, $31 -/* 025D80 80025180 00000000 */ nop -/* 025D84 80025184 31CE0078 */ andi $t6, $t6, 0x78 -/* 025D88 80025188 15C00005 */ bnez $t6, .L800251A0_ovl0 -/* 025D8C 8002518C 00000000 */ nop -/* 025D90 80025190 440E3000 */ mfc1 $t6, $f6 -/* 025D94 80025194 3C018000 */ lui $at, 0x8000 -/* 025D98 80025198 10000007 */ b .L800251B8_ovl0 -/* 025D9C 8002519C 01C17025 */ or $t6, $t6, $at -.L800251A0_ovl0: -/* 025DA0 800251A0 10000005 */ b .L800251B8_ovl0 -/* 025DA4 800251A4 240EFFFF */ li $t6, -1 -/* 025DA8 800251A8 440E3000 */ mfc1 $t6, $f6 -.L800251AC_ovl0: -/* 025DAC 800251AC 00000000 */ nop -/* 025DB0 800251B0 05C0FFFB */ bltz $t6, .L800251A0_ovl0 -/* 025DB4 800251B4 00000000 */ nop -.L800251B8_ovl0: -/* 025DB8 800251B8 44CCF800 */ ctc1 $t4, $31 -/* 025DBC 800251BC 10000088 */ b .L800253E0_ovl0 -/* 025DC0 800251C0 A24E0032 */ sb $t6, 0x32($s2) -/* 025DC4 800251C4 864F002C */ lh $t7, 0x2c($s2) -/* 025DC8 800251C8 448F5000 */ mtc1 $t7, $f10 -/* 025DCC 800251CC 00000000 */ nop -/* 025DD0 800251D0 46805220 */ cvt.s.w $f8, $f10 -/* 025DD4 800251D4 46086300 */ add.s $f12, $f12, $f8 -/* 025DD8 800251D8 3C01C496 */ li $at, 0xC4960000 # -1200.000000 -/* 025DDC 800251DC 44812000 */ mtc1 $at, $f4 -/* 025DE0 800251E0 3C01C496 */ lui $at, 0xc496 -/* 025DE4 800251E4 4604603C */ c.lt.s $f12, $f4 -/* 025DE8 800251E8 00000000 */ nop -/* 025DEC 800251EC 45020004 */ bc1fl .L80025200_ovl0 -/* 025DF0 800251F0 3C014496 */ li $at, 0x44960000 # 1200.000000 -/* 025DF4 800251F4 44816000 */ mtc1 $at, $f12 -/* 025DF8 800251F8 00000000 */ nop -/* 025DFC 800251FC 3C014496 */ li $at, 0x44960000 # 1200.000000 -.L80025200_ovl0: -/* 025E00 80025200 44819000 */ mtc1 $at, $f18 -/* 025E04 80025204 3C014496 */ li $at, 0x44960000 # 1200.000000 -/* 025E08 80025208 460C903C */ c.lt.s $f18, $f12 -/* 025E0C 8002520C 00000000 */ nop -/* 025E10 80025210 45020004 */ bc1fl .L80025224_ovl0 -/* 025E14 80025214 4600618D */ trunc.w.s $f6, $f12 -/* 025E18 80025218 44816000 */ mtc1 $at, $f12 -/* 025E1C 8002521C 00000000 */ nop -/* 025E20 80025220 4600618D */ trunc.w.s $f6, $f12 -.L80025224_ovl0: -/* 025E24 80025224 44193000 */ mfc1 $t9, $f6 -/* 025E28 80025228 1000006D */ b .L800253E0_ovl0 -/* 025E2C 8002522C A659002C */ sh $t9, 0x2c($s2) -/* 025E30 80025230 924A0034 */ lbu $t2, 0x34($s2) -/* 025E34 80025234 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 025E38 80025238 448A5000 */ mtc1 $t2, $f10 -/* 025E3C 8002523C 05410004 */ bgez $t2, .L80025250_ovl0 -/* 025E40 80025240 46805220 */ cvt.s.w $f8, $f10 -/* 025E44 80025244 44812000 */ mtc1 $at, $f4 -/* 025E48 80025248 00000000 */ nop -/* 025E4C 8002524C 46044200 */ add.s $f8, $f8, $f4 -.L80025250_ovl0: -/* 025E50 80025250 46086300 */ add.s $f12, $f12, $f8 -/* 025E54 80025254 4614603C */ c.lt.s $f12, $f20 -/* 025E58 80025258 240B0001 */ li $t3, 1 -/* 025E5C 8002525C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 025E60 80025260 45020003 */ bc1fl .L80025270_ovl0 -/* 025E64 80025264 460C803C */ c.lt.s $f16, $f12 -/* 025E68 80025268 4600A306 */ mov.s $f12, $f20 -/* 025E6C 8002526C 460C803C */ c.lt.s $f16, $f12 -.L80025270_ovl0: -/* 025E70 80025270 00000000 */ nop -/* 025E74 80025274 45020003 */ bc1fl .L80025284_ovl0 -/* 025E78 80025278 444DF800 */ cfc1 $t5, $31 -/* 025E7C 8002527C 46008306 */ mov.s $f12, $f16 -/* 025E80 80025280 444DF800 */ cfc1 $t5, $31 -.L80025284_ovl0: -/* 025E84 80025284 44CBF800 */ ctc1 $t3, $31 -/* 025E88 80025288 00000000 */ nop -/* 025E8C 8002528C 460064A4 */ cvt.w.s $f18, $f12 -/* 025E90 80025290 444BF800 */ cfc1 $t3, $31 -/* 025E94 80025294 00000000 */ nop -/* 025E98 80025298 316B0078 */ andi $t3, $t3, 0x78 -/* 025E9C 8002529C 51600013 */ beql $t3, $zero, .L800252EC_ovl0 -/* 025EA0 800252A0 440B9000 */ mfc1 $t3, $f18 -/* 025EA4 800252A4 44819000 */ mtc1 $at, $f18 -/* 025EA8 800252A8 240B0001 */ li $t3, 1 -/* 025EAC 800252AC 46126481 */ sub.s $f18, $f12, $f18 -/* 025EB0 800252B0 44CBF800 */ ctc1 $t3, $31 -/* 025EB4 800252B4 00000000 */ nop -/* 025EB8 800252B8 460094A4 */ cvt.w.s $f18, $f18 -/* 025EBC 800252BC 444BF800 */ cfc1 $t3, $31 -/* 025EC0 800252C0 00000000 */ nop -/* 025EC4 800252C4 316B0078 */ andi $t3, $t3, 0x78 -/* 025EC8 800252C8 15600005 */ bnez $t3, .L800252E0_ovl0 -/* 025ECC 800252CC 00000000 */ nop -/* 025ED0 800252D0 440B9000 */ mfc1 $t3, $f18 -/* 025ED4 800252D4 3C018000 */ lui $at, 0x8000 -/* 025ED8 800252D8 10000007 */ b .L800252F8_ovl0 -/* 025EDC 800252DC 01615825 */ or $t3, $t3, $at -.L800252E0_ovl0: -/* 025EE0 800252E0 10000005 */ b .L800252F8_ovl0 -/* 025EE4 800252E4 240BFFFF */ li $t3, -1 -/* 025EE8 800252E8 440B9000 */ mfc1 $t3, $f18 -.L800252EC_ovl0: -/* 025EEC 800252EC 00000000 */ nop -/* 025EF0 800252F0 0560FFFB */ bltz $t3, .L800252E0_ovl0 -/* 025EF4 800252F4 00000000 */ nop -.L800252F8_ovl0: -/* 025EF8 800252F8 44CDF800 */ ctc1 $t5, $31 -/* 025EFC 800252FC 10000038 */ b .L800253E0_ovl0 -/* 025F00 80025300 A24B0034 */ sb $t3, 0x34($s2) -.L80025304_ovl0: -/* 025F04 80025304 2881000A */ slti $at, $a0, 0xa -/* 025F08 80025308 10200004 */ beqz $at, .L8002531C_ovl0 -/* 025F0C 8002530C 00046080 */ sll $t4, $a0, 2 -/* 025F10 80025310 022C7021 */ addu $t6, $s1, $t4 -/* 025F14 80025314 10000032 */ b .L800253E0_ovl0 -/* 025F18 80025318 E5CC0000 */ swc1 $f12, ($t6) -.L8002531C_ovl0: -/* 025F1C 8002531C 28810018 */ slti $at, $a0, 0x18 -/* 025F20 80025320 10200004 */ beqz $at, .L80025334_ovl0 -/* 025F24 80025324 2485FFE8 */ addiu $a1, $a0, -0x18 -/* 025F28 80025328 02001825 */ move $v1, $s0 -/* 025F2C 8002532C 10000014 */ b .L80025380_ovl0 -/* 025F30 80025330 00802825 */ move $a1, $a0 -.L80025334_ovl0: -/* 025F34 80025334 8E430044 */ lw $v1, 0x44($s2) -/* 025F38 80025338 04A10003 */ bgez $a1, .L80025348_ovl0 -/* 025F3C 8002533C 000510C3 */ sra $v0, $a1, 3 -/* 025F40 80025340 24A10007 */ addiu $at, $a1, 7 -/* 025F44 80025344 000110C3 */ sra $v0, $at, 3 -.L80025348_ovl0: -/* 025F48 80025348 04A10004 */ bgez $a1, .L8002535C_ovl0 -/* 025F4C 8002534C 30A50007 */ andi $a1, $a1, 7 -/* 025F50 80025350 10A00002 */ beqz $a1, .L8002535C_ovl0 -/* 025F54 80025354 00000000 */ nop -/* 025F58 80025358 24A5FFF8 */ addiu $a1, $a1, -8 -.L8002535C_ovl0: -/* 025F5C 8002535C 10600007 */ beqz $v1, .L8002537C_ovl0 -/* 025F60 80025360 24A50010 */ addiu $a1, $a1, 0x10 -/* 025F64 80025364 906F0004 */ lbu $t7, 4($v1) -.L80025368_ovl0: -/* 025F68 80025368 104F0004 */ beq $v0, $t7, .L8002537C_ovl0 -/* 025F6C 8002536C 00000000 */ nop -/* 025F70 80025370 8C630000 */ lw $v1, ($v1) -/* 025F74 80025374 5460FFFC */ bnezl $v1, .L80025368_ovl0 -/* 025F78 80025378 906F0004 */ lbu $t7, 4($v1) -.L8002537C_ovl0: -/* 025F7C 8002537C 10600018 */ beqz $v1, .L800253E0_ovl0 -.L80025380_ovl0: -/* 025F80 80025380 24B8FFF0 */ addiu $t8, $a1, -0x10 -/* 025F84 80025384 2F010008 */ sltiu $at, $t8, 8 -/* 025F88 80025388 10200015 */ beqz $at, .L800253E0_ovl0 -/* 025F8C 8002538C 0018C080 */ sll $t8, $t8, 2 -/* 025F90 80025390 3C018004 */ lui $at, 0x8004 -/* 025F94 80025394 00380821 */ addu $at, $at, $t8 -/* 025F98 80025398 8C3814A4 */ lw $t8, 0x14a4($at) -/* 025F9C 8002539C 03000008 */ jr $t8 -/* 025FA0 800253A0 00000000 */ nop -/* 025FA4 800253A4 C4660008 */ lwc1 $f6, 8($v1) -/* 025FA8 800253A8 46066300 */ add.s $f12, $f12, $f6 -/* 025FAC 800253AC 1000000C */ b .L800253E0_ovl0 -/* 025FB0 800253B0 E46C0008 */ swc1 $f12, 8($v1) -/* 025FB4 800253B4 C46A000C */ lwc1 $f10, 0xc($v1) -/* 025FB8 800253B8 460A6300 */ add.s $f12, $f12, $f10 -/* 025FBC 800253BC 10000008 */ b .L800253E0_ovl0 -/* 025FC0 800253C0 E46C000C */ swc1 $f12, 0xc($v1) -/* 025FC4 800253C4 C4640010 */ lwc1 $f4, 0x10($v1) -/* 025FC8 800253C8 46046300 */ add.s $f12, $f12, $f4 -/* 025FCC 800253CC 10000004 */ b .L800253E0_ovl0 -/* 025FD0 800253D0 E46C0010 */ swc1 $f12, 0x10($v1) -/* 025FD4 800253D4 C4680014 */ lwc1 $f8, 0x14($v1) -/* 025FD8 800253D8 46086300 */ add.s $f12, $f12, $f8 -/* 025FDC 800253DC E46C0014 */ swc1 $f12, 0x14($v1) -.L800253E0_ovl0: -/* 025FE0 800253E0 8E100000 */ lw $s0, ($s0) -/* 025FE4 800253E4 5600FE50 */ bnezl $s0, .L80024D28_ovl0 -/* 025FE8 800253E8 920C0005 */ lbu $t4, 5($s0) -.L800253EC_ovl0: -/* 025FEC 800253EC 9243002A */ lbu $v1, 0x2a($s2) -/* 025FF0 800253F0 24010001 */ li $at, 1 -/* 025FF4 800253F4 50600011 */ beql $v1, $zero, .L8002543C_ovl0 -/* 025FF8 800253F8 92450032 */ lbu $a1, 0x32($s2) -/* 025FFC 800253FC 10610016 */ beq $v1, $at, .L80025458_ovl0 -/* 026000 80025400 24010002 */ li $at, 2 -/* 026004 80025404 1061006F */ beq $v1, $at, .L800255C4_ovl0 -/* 026008 80025408 26440004 */ addiu $a0, $s2, 4 -/* 02600C 8002540C 24010003 */ li $at, 3 -/* 026010 80025410 10610078 */ beq $v1, $at, .L800255F4_ovl0 -/* 026014 80025414 26530004 */ addiu $s3, $s2, 4 -/* 026018 80025418 92450032 */ lbu $a1, 0x32($s2) -/* 02601C 8002541C 92460034 */ lbu $a2, 0x34($s2) -/* 026020 80025420 8642002C */ lh $v0, 0x2c($s2) -/* 026024 80025424 92430036 */ lbu $v1, 0x36($s2) -/* 026028 80025428 92470038 */ lbu $a3, 0x38($s2) -/* 02602C 8002542C 9248003A */ lbu $t0, 0x3a($s2) -/* 026030 80025430 100000B8 */ b .L80025714_ovl0 -/* 026034 80025434 9244003C */ lbu $a0, 0x3c($s2) -/* 026038 80025438 92450032 */ lbu $a1, 0x32($s2) -.L8002543C_ovl0: -/* 02603C 8002543C 92460034 */ lbu $a2, 0x34($s2) -/* 026040 80025440 8642002C */ lh $v0, 0x2c($s2) -/* 026044 80025444 92430036 */ lbu $v1, 0x36($s2) -/* 026048 80025448 92470038 */ lbu $a3, 0x38($s2) -/* 02604C 8002544C 9248003A */ lbu $t0, 0x3a($s2) -/* 026050 80025450 100000B0 */ b .L80025714_ovl0 -/* 026054 80025454 9244003C */ lbu $a0, 0x3c($s2) -.L80025458_ovl0: -/* 026058 80025458 8642002C */ lh $v0, 0x2c($s2) -/* 02605C 8002545C 8659002E */ lh $t9, 0x2e($s2) -/* 026060 80025460 53220008 */ beql $t9, $v0, .L80025484_ovl0 -/* 026064 80025464 92420032 */ lbu $v0, 0x32($s2) -/* 026068 80025468 864A0030 */ lh $t2, 0x30($s2) -/* 02606C 8002546C 0C00DC20 */ jal func_80037080 -/* 026070 80025470 004A2021 */ addu $a0, $v0, $t2 -/* 026074 80025474 44050000 */ mfc1 $a1, $f0 -/* 026078 80025478 0C00B368 */ jal func_8002CDA0 -/* 02607C 8002547C 26440004 */ addiu $a0, $s2, 4 -/* 026080 80025480 92420032 */ lbu $v0, 0x32($s2) -.L80025484_ovl0: -/* 026084 80025484 924D0033 */ lbu $t5, 0x33($s2) -/* 026088 80025488 55A20006 */ bnel $t5, $v0, .L800254A4_ovl0 -/* 02608C 8002548C 924E0038 */ lbu $t6, 0x38($s2) -/* 026090 80025490 924B0039 */ lbu $t3, 0x39($s2) -/* 026094 80025494 924C0038 */ lbu $t4, 0x38($s2) -/* 026098 80025498 516C0010 */ beql $t3, $t4, .L800254DC_ovl0 -/* 02609C 8002549C 92420034 */ lbu $v0, 0x34($s2) -/* 0260A0 800254A0 924E0038 */ lbu $t6, 0x38($s2) -.L800254A4_ovl0: -/* 0260A4 800254A4 9298005A */ lbu $t8, 0x5a($s4) -/* 0260A8 800254A8 26440004 */ addiu $a0, $s2, 4 -/* 0260AC 800254AC 004E0019 */ multu $v0, $t6 -/* 0260B0 800254B0 8E860044 */ lw $a2, 0x44($s4) -/* 0260B4 800254B4 00007812 */ mflo $t7 -/* 0260B8 800254B8 00000000 */ nop -/* 0260BC 800254BC 00000000 */ nop -/* 0260C0 800254C0 01F80019 */ multu $t7, $t8 -/* 0260C4 800254C4 00002812 */ mflo $a1 -/* 0260C8 800254C8 000529C3 */ sra $a1, $a1, 7 -/* 0260CC 800254CC 00052C00 */ sll $a1, $a1, 0x10 -/* 0260D0 800254D0 0C00B494 */ jal func_8002D250 -/* 0260D4 800254D4 00052C03 */ sra $a1, $a1, 0x10 -/* 0260D8 800254D8 92420034 */ lbu $v0, 0x34($s2) -.L800254DC_ovl0: -/* 0260DC 800254DC 92590035 */ lbu $t9, 0x35($s2) -/* 0260E0 800254E0 57220006 */ bnel $t9, $v0, .L800254FC_ovl0 -/* 0260E4 800254E4 924E003A */ lbu $t6, 0x3a($s2) -/* 0260E8 800254E8 924A003B */ lbu $t2, 0x3b($s2) -/* 0260EC 800254EC 924D003A */ lbu $t5, 0x3a($s2) -/* 0260F0 800254F0 514D0012 */ beql $t2, $t5, .L8002553C_ovl0 -/* 0260F4 800254F4 92430036 */ lbu $v1, 0x36($s2) -/* 0260F8 800254F8 924E003A */ lbu $t6, 0x3a($s2) -.L800254FC_ovl0: -/* 0260FC 800254FC 26530004 */ addiu $s3, $s2, 4 -/* 026100 80025500 02602025 */ move $a0, $s3 -/* 026104 80025504 004E8021 */ addu $s0, $v0, $t6 -/* 026108 80025508 2610FFC0 */ addiu $s0, $s0, -0x40 -/* 02610C 8002550C 00108400 */ sll $s0, $s0, 0x10 -/* 026110 80025510 00108403 */ sra $s0, $s0, 0x10 -/* 026114 80025514 06030003 */ bgezl $s0, .L80025524_ovl0 -/* 026118 80025518 2A010080 */ slti $at, $s0, 0x80 -/* 02611C 8002551C 00008025 */ move $s0, $zero -/* 026120 80025520 2A010080 */ slti $at, $s0, 0x80 -.L80025524_ovl0: -/* 026124 80025524 14200002 */ bnez $at, .L80025530_ovl0 -/* 026128 80025528 00000000 */ nop -/* 02612C 8002552C 2410007F */ li $s0, 127 -.L80025530_ovl0: -/* 026130 80025530 0C00AB44 */ jal func_8002AD10 -/* 026134 80025534 320500FF */ andi $a1, $s0, 0xff -/* 026138 80025538 92430036 */ lbu $v1, 0x36($s2) -.L8002553C_ovl0: -/* 02613C 8002553C 924F0037 */ lbu $t7, 0x37($s2) -/* 026140 80025540 00601025 */ move $v0, $v1 -/* 026144 80025544 55E30006 */ bnel $t7, $v1, .L80025560_ovl0 -/* 026148 80025548 9259003C */ lbu $t9, 0x3c($s2) -/* 02614C 8002554C 9244003C */ lbu $a0, 0x3c($s2) -/* 026150 80025550 9258003D */ lbu $t8, 0x3d($s2) -/* 026154 80025554 53040016 */ beql $t8, $a0, .L800255B0_ovl0 -/* 026158 80025558 92450032 */ lbu $a1, 0x32($s2) -/* 02615C 8002555C 9259003C */ lbu $t9, 0x3c($s2) -.L80025560_ovl0: -/* 026160 80025560 26530004 */ addiu $s3, $s2, 4 -/* 026164 80025564 02602025 */ move $a0, $s3 -/* 026168 80025568 00195043 */ sra $t2, $t9, 1 -/* 02616C 8002556C 004A0019 */ multu $v0, $t2 -/* 026170 80025570 00008012 */ mflo $s0 -/* 026174 80025574 001081C3 */ sra $s0, $s0, 7 -/* 026178 80025578 00108400 */ sll $s0, $s0, 0x10 -/* 02617C 8002557C 00108403 */ sra $s0, $s0, 0x10 -/* 026180 80025580 06030003 */ bgezl $s0, .L80025590_ovl0 -/* 026184 80025584 2A010080 */ slti $at, $s0, 0x80 -/* 026188 80025588 00008025 */ move $s0, $zero -/* 02618C 8002558C 2A010080 */ slti $at, $s0, 0x80 -.L80025590_ovl0: -/* 026190 80025590 14200002 */ bnez $at, .L8002559C_ovl0 -/* 026194 80025594 00000000 */ nop -/* 026198 80025598 2410007F */ li $s0, 127 -.L8002559C_ovl0: -/* 02619C 8002559C 0C00B3F9 */ jal func_8002CFE4 -/* 0261A0 800255A0 320500FF */ andi $a1, $s0, 0xff -/* 0261A4 800255A4 92430036 */ lbu $v1, 0x36($s2) -/* 0261A8 800255A8 9244003C */ lbu $a0, 0x3c($s2) -/* 0261AC 800255AC 92450032 */ lbu $a1, 0x32($s2) -.L800255B0_ovl0: -/* 0261B0 800255B0 92460034 */ lbu $a2, 0x34($s2) -/* 0261B4 800255B4 8642002C */ lh $v0, 0x2c($s2) -/* 0261B8 800255B8 92470038 */ lbu $a3, 0x38($s2) -/* 0261BC 800255BC 10000055 */ b .L80025714_ovl0 -/* 0261C0 800255C0 9248003A */ lbu $t0, 0x3a($s2) -.L800255C4_ovl0: -/* 0261C4 800255C4 00002825 */ move $a1, $zero -/* 0261C8 800255C8 0C00B494 */ jal func_8002D250 -/* 0261CC 800255CC 8E860044 */ lw $a2, 0x44($s4) -/* 0261D0 800255D0 A240002A */ sb $zero, 0x2a($s2) -/* 0261D4 800255D4 92450032 */ lbu $a1, 0x32($s2) -/* 0261D8 800255D8 92460034 */ lbu $a2, 0x34($s2) -/* 0261DC 800255DC 8642002C */ lh $v0, 0x2c($s2) -/* 0261E0 800255E0 92430036 */ lbu $v1, 0x36($s2) -/* 0261E4 800255E4 92470038 */ lbu $a3, 0x38($s2) -/* 0261E8 800255E8 9248003A */ lbu $t0, 0x3a($s2) -/* 0261EC 800255EC 10000049 */ b .L80025714_ovl0 -/* 0261F0 800255F0 9244003C */ lbu $a0, 0x3c($s2) -.L800255F4_ovl0: -/* 0261F4 800255F4 A7A00096 */ sh $zero, 0x96($sp) -/* 0261F8 800255F8 924D002B */ lbu $t5, 0x2b($s2) -/* 0261FC 800255FC A3A00098 */ sb $zero, 0x98($sp) -/* 026200 80025600 02602025 */ move $a0, $s3 -/* 026204 80025604 31AB007F */ andi $t3, $t5, 0x7f -/* 026208 80025608 A7AB0094 */ sh $t3, 0x94($sp) -/* 02620C 8002560C 0C00AAF4 */ jal func_8002ABD0 -/* 026210 80025610 27A50094 */ addiu $a1, $sp, 0x94 -/* 026214 80025614 50400038 */ beql $v0, $zero, .L800256F8_ovl0 -/* 026218 80025618 A240002A */ sb $zero, 0x2a($s2) -/* 02621C 8002561C 924C0034 */ lbu $t4, 0x34($s2) -/* 026220 80025620 924E003A */ lbu $t6, 0x3a($s2) -/* 026224 80025624 018E8021 */ addu $s0, $t4, $t6 -/* 026228 80025628 2610FFC0 */ addiu $s0, $s0, -0x40 -/* 02622C 8002562C 00108400 */ sll $s0, $s0, 0x10 -/* 026230 80025630 00108403 */ sra $s0, $s0, 0x10 -/* 026234 80025634 06030003 */ bgezl $s0, .L80025644_ovl0 -/* 026238 80025638 2A010080 */ slti $at, $s0, 0x80 -/* 02623C 8002563C 00008025 */ move $s0, $zero -/* 026240 80025640 2A010080 */ slti $at, $s0, 0x80 -.L80025644_ovl0: -/* 026244 80025644 54200003 */ bnezl $at, .L80025654_ovl0 -/* 026248 80025648 9258003C */ lbu $t8, 0x3c($s2) -/* 02624C 8002564C 2410007F */ li $s0, 127 -/* 026250 80025650 9258003C */ lbu $t8, 0x3c($s2) -.L80025654_ovl0: -/* 026254 80025654 924F0036 */ lbu $t7, 0x36($s2) -/* 026258 80025658 0018C843 */ sra $t9, $t8, 1 -/* 02625C 8002565C 01F90019 */ multu $t7, $t9 -/* 026260 80025660 00008812 */ mflo $s1 -/* 026264 80025664 001189C3 */ sra $s1, $s1, 7 -/* 026268 80025668 00118C00 */ sll $s1, $s1, 0x10 -/* 02626C 8002566C 00118C03 */ sra $s1, $s1, 0x10 -/* 026270 80025670 06230003 */ bgezl $s1, .L80025680_ovl0 -/* 026274 80025674 2A210080 */ slti $at, $s1, 0x80 -/* 026278 80025678 00008825 */ move $s1, $zero -/* 02627C 8002567C 2A210080 */ slti $at, $s1, 0x80 -.L80025680_ovl0: -/* 026280 80025680 54200003 */ bnezl $at, .L80025690_ovl0 -/* 026284 80025684 864A002C */ lh $t2, 0x2c($s2) -/* 026288 80025688 2411007F */ li $s1, 127 -/* 02628C 8002568C 864A002C */ lh $t2, 0x2c($s2) -.L80025690_ovl0: -/* 026290 80025690 864D0030 */ lh $t5, 0x30($s2) -/* 026294 80025694 0C00DC20 */ jal func_80037080 -/* 026298 80025698 014D2021 */ addu $a0, $t2, $t5 -/* 02629C 8002569C 924B0032 */ lbu $t3, 0x32($s2) -/* 0262A0 800256A0 924C0038 */ lbu $t4, 0x38($s2) -/* 0262A4 800256A4 9298005A */ lbu $t8, 0x5a($s4) -/* 0262A8 800256A8 8E450040 */ lw $a1, 0x40($s2) -/* 0262AC 800256AC 016C0019 */ multu $t3, $t4 -/* 0262B0 800256B0 44060000 */ mfc1 $a2, $f0 -/* 0262B4 800256B4 AFA00018 */ sw $zero, 0x18($sp) -/* 0262B8 800256B8 AFB10014 */ sw $s1, 0x14($sp) -/* 0262BC 800256BC AFB00010 */ sw $s0, 0x10($sp) -/* 0262C0 800256C0 02602025 */ move $a0, $s3 -/* 0262C4 800256C4 00007012 */ mflo $t6 -/* 0262C8 800256C8 00000000 */ nop -/* 0262CC 800256CC 00000000 */ nop -/* 0262D0 800256D0 01D80019 */ multu $t6, $t8 -/* 0262D4 800256D4 00003812 */ mflo $a3 -/* 0262D8 800256D8 000739C3 */ sra $a3, $a3, 7 -/* 0262DC 800256DC 00073C00 */ sll $a3, $a3, 0x10 -/* 0262E0 800256E0 0C00AB9D */ jal func_8002AE74 -/* 0262E4 800256E4 00073C03 */ sra $a3, $a3, 0x10 -/* 0262E8 800256E8 240F0001 */ li $t7, 1 -/* 0262EC 800256EC 10000002 */ b .L800256F8_ovl0 -/* 0262F0 800256F0 A24F002A */ sb $t7, 0x2a($s2) -/* 0262F4 800256F4 A240002A */ sb $zero, 0x2a($s2) -.L800256F8_ovl0: -/* 0262F8 800256F8 92450032 */ lbu $a1, 0x32($s2) -/* 0262FC 800256FC 92460034 */ lbu $a2, 0x34($s2) -/* 026300 80025700 8642002C */ lh $v0, 0x2c($s2) -/* 026304 80025704 92430036 */ lbu $v1, 0x36($s2) -/* 026308 80025708 92470038 */ lbu $a3, 0x38($s2) -/* 02630C 8002570C 9248003A */ lbu $t0, 0x3a($s2) -/* 026310 80025710 9244003C */ lbu $a0, 0x3c($s2) -.L80025714_ovl0: -/* 026314 80025714 A642002E */ sh $v0, 0x2e($s2) -/* 026318 80025718 A2450033 */ sb $a1, 0x33($s2) -/* 02631C 8002571C A2460035 */ sb $a2, 0x35($s2) -/* 026320 80025720 A2430037 */ sb $v1, 0x37($s2) -/* 026324 80025724 A2470039 */ sb $a3, 0x39($s2) -/* 026328 80025728 A248003B */ sb $t0, 0x3b($s2) -/* 02632C 8002572C A244003D */ sb $a0, 0x3d($s2) -/* 026330 80025730 8FBF004C */ lw $ra, 0x4c($sp) -/* 026334 80025734 8FB40048 */ lw $s4, 0x48($sp) -/* 026338 80025738 8FB30044 */ lw $s3, 0x44($sp) -/* 02633C 8002573C 8FB20040 */ lw $s2, 0x40($sp) -/* 026340 80025740 8FB1003C */ lw $s1, 0x3c($sp) -/* 026344 80025744 8FB00038 */ lw $s0, 0x38($sp) -/* 026348 80025748 D7B60030 */ ldc1 $f22, 0x30($sp) -/* 02634C 8002574C D7B40028 */ ldc1 $f20, 0x28($sp) -/* 026350 80025750 03E00008 */ jr $ra -/* 026354 80025754 27BD00F8 */ addiu $sp, $sp, 0xf8 - -glabel func_80025758 -/* 026358 80025758 00851021 */ addu $v0, $a0, $a1 -/* 02635C 8002575C 904E0098 */ lbu $t6, 0x98($v0) -/* 026360 80025760 00057880 */ sll $t7, $a1, 2 -/* 026364 80025764 008F3021 */ addu $a2, $a0, $t7 -/* 026368 80025768 51C0000D */ beql $t6, $zero, .L800257A0_ovl0 -/* 02636C 8002576C 8CC70018 */ lw $a3, 0x18($a2) -/* 026370 80025770 00057880 */ sll $t7, $a1, 2 -/* 026374 80025774 008F3021 */ addu $a2, $a0, $t7 -/* 026378 80025778 8CC70058 */ lw $a3, 0x58($a2) -/* 02637C 8002577C 90E30000 */ lbu $v1, ($a3) -/* 026380 80025780 24F80001 */ addiu $t8, $a3, 1 -/* 026384 80025784 ACD80058 */ sw $t8, 0x58($a2) -/* 026388 80025788 90590098 */ lbu $t9, 0x98($v0) -/* 02638C 8002578C 272EFFFF */ addiu $t6, $t9, -1 -/* 026390 80025790 A04E0098 */ sb $t6, 0x98($v0) -/* 026394 80025794 03E00008 */ jr $ra -/* 026398 80025798 00601025 */ move $v0, $v1 - -glabel func_8002579C -/* 02639C 8002579C 8CC70018 */ lw $a3, 0x18($a2) -.L800257A0_ovl0: -/* 0263A0 800257A0 240800FE */ li $t0, 254 -/* 0263A4 800257A4 90E30000 */ lbu $v1, ($a3) -/* 0263A8 800257A8 24F80001 */ addiu $t8, $a3, 1 -/* 0263AC 800257AC ACD80018 */ sw $t8, 0x18($a2) -/* 0263B0 800257B0 15030018 */ bne $t0, $v1, .L80025814_ovl0 -/* 0263B4 800257B4 00000000 */ nop -/* 0263B8 800257B8 93040000 */ lbu $a0, ($t8) -/* 0263BC 800257BC 27190001 */ addiu $t9, $t8, 1 -/* 0263C0 800257C0 ACD90018 */ sw $t9, 0x18($a2) -/* 0263C4 800257C4 11040013 */ beq $t0, $a0, .L80025814_ovl0 -/* 0263C8 800257C8 272E0001 */ addiu $t6, $t9, 1 -/* 0263CC 800257CC 93230000 */ lbu $v1, ($t9) -/* 0263D0 800257D0 ACCE0018 */ sw $t6, 0x18($a2) -/* 0263D4 800257D4 91C50000 */ lbu $a1, ($t6) -/* 0263D8 800257D8 25CF0001 */ addiu $t7, $t6, 1 -/* 0263DC 800257DC 0004CA00 */ sll $t9, $a0, 8 -/* 0263E0 800257E0 ACCF0018 */ sw $t7, 0x18($a2) -/* 0263E4 800257E4 03237021 */ addu $t6, $t9, $v1 -/* 0263E8 800257E8 01EE7823 */ subu $t7, $t7, $t6 -/* 0263EC 800257EC 25F9FFFC */ addiu $t9, $t7, -4 -/* 0263F0 800257F0 ACD90058 */ sw $t9, 0x58($a2) -/* 0263F4 800257F4 A0450098 */ sb $a1, 0x98($v0) -/* 0263F8 800257F8 8CC70058 */ lw $a3, 0x58($a2) -/* 0263FC 800257FC 90E30000 */ lbu $v1, ($a3) -/* 026400 80025800 24F80001 */ addiu $t8, $a3, 1 -/* 026404 80025804 ACD80058 */ sw $t8, 0x58($a2) -/* 026408 80025808 904E0098 */ lbu $t6, 0x98($v0) -/* 02640C 8002580C 25CFFFFF */ addiu $t7, $t6, -1 -/* 026410 80025810 A04F0098 */ sb $t7, 0x98($v0) -.L80025814_ovl0: -/* 026414 80025814 03E00008 */ jr $ra -/* 026418 80025818 00601025 */ move $v0, $v1 - -glabel func_8002581C -/* 02641C 8002581C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 026420 80025820 AFBF0014 */ sw $ra, 0x14($sp) -/* 026424 80025824 01402025 */ move $a0, $t2 -/* 026428 80025828 0C0095D6 */ jal func_80025758 -/* 02642C 8002582C 01602825 */ move $a1, $t3 -/* 026430 80025830 304E0080 */ andi $t6, $v0, 0x80 -/* 026434 80025834 11C0000A */ beqz $t6, .L80025860_ovl0 -/* 026438 80025838 00404825 */ move $t1, $v0 -/* 02643C 8002583C 3049007F */ andi $t1, $v0, 0x7f -.L80025840_ovl0: -/* 026440 80025840 01402025 */ move $a0, $t2 -/* 026444 80025844 0C0095D6 */ jal func_80025758 -/* 026448 80025848 01602825 */ move $a1, $t3 -/* 02644C 8002584C 000979C0 */ sll $t7, $t1, 7 -/* 026450 80025850 3058007F */ andi $t8, $v0, 0x7f -/* 026454 80025854 30590080 */ andi $t9, $v0, 0x80 -/* 026458 80025858 1720FFF9 */ bnez $t9, .L80025840_ovl0 -/* 02645C 8002585C 01F84821 */ addu $t1, $t7, $t8 -.L80025860_ovl0: -/* 026460 80025860 8FBF0014 */ lw $ra, 0x14($sp) -/* 026464 80025864 27BD0018 */ addiu $sp, $sp, 0x18 -/* 026468 80025868 01201025 */ move $v0, $t1 -/* 02646C 8002586C 03E00008 */ jr $ra -/* 026470 80025870 00000000 */ nop - -glabel func_80025874 -/* 026474 80025874 03E00008 */ jr $ra -/* 026478 80025878 00000000 */ nop - -glabel func_8002587C -/* 02647C 8002587C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 026480 80025880 AFB00018 */ sw $s0, 0x18($sp) -/* 026484 80025884 00A08025 */ move $s0, $a1 -/* 026488 80025888 AFBF001C */ sw $ra, 0x1c($sp) -/* 02648C 8002588C 00806025 */ move $t4, $a0 -/* 026490 80025890 2409FFFF */ li $t1, -1 -/* 026494 80025894 8C860010 */ lw $a2, 0x10($a0) -/* 026498 80025898 24050010 */ li $a1, 16 -/* 02649C 8002589C 8FAB0024 */ lw $t3, 0x24($sp) -/* 0264A0 800258A0 00001025 */ move $v0, $zero -/* 0264A4 800258A4 8D8E0004 */ lw $t6, 4($t4) -.L800258A8_ovl0: -/* 0264A8 800258A8 004E7806 */ srlv $t7, $t6, $v0 -/* 0264AC 800258AC 31F80001 */ andi $t8, $t7, 1 -/* 0264B0 800258B0 53000010 */ beql $t8, $zero, .L800258F4_ovl0 -/* 0264B4 800258B4 24420001 */ addiu $v0, $v0, 1 -/* 0264B8 800258B8 8D8E0014 */ lw $t6, 0x14($t4) -/* 0264BC 800258BC 0002C880 */ sll $t9, $v0, 2 -/* 0264C0 800258C0 01991821 */ addu $v1, $t4, $t9 -/* 0264C4 800258C4 51C00005 */ beql $t6, $zero, .L800258DC_ovl0 -/* 0264C8 800258C8 8C6400B8 */ lw $a0, 0xb8($v1) -/* 0264CC 800258CC 8C6F00B8 */ lw $t7, 0xb8($v1) -/* 0264D0 800258D0 01E6C023 */ subu $t8, $t7, $a2 -/* 0264D4 800258D4 AC7800B8 */ sw $t8, 0xb8($v1) -/* 0264D8 800258D8 8C6400B8 */ lw $a0, 0xb8($v1) -.L800258DC_ovl0: -/* 0264DC 800258DC 0089082B */ sltu $at, $a0, $t1 -/* 0264E0 800258E0 50200004 */ beql $at, $zero, .L800258F4_ovl0 -/* 0264E4 800258E4 24420001 */ addiu $v0, $v0, 1 -/* 0264E8 800258E8 00804825 */ move $t1, $a0 -/* 0264EC 800258EC 00405825 */ move $t3, $v0 -/* 0264F0 800258F0 24420001 */ addiu $v0, $v0, 1 -.L800258F4_ovl0: -/* 0264F4 800258F4 5445FFEC */ bnel $v0, $a1, .L800258A8_ovl0 -/* 0264F8 800258F8 8D8E0004 */ lw $t6, 4($t4) -/* 0264FC 800258FC 01802025 */ move $a0, $t4 -/* 026500 80025900 0C0095D6 */ jal func_80025758 -/* 026504 80025904 01602825 */ move $a1, $t3 -/* 026508 80025908 240100FF */ li $at, 255 -/* 02650C 8002590C 304A00FF */ andi $t2, $v0, 0xff -/* 026510 80025910 1441005A */ bne $v0, $at, .L80025A7C_ovl0 -/* 026514 80025914 00401825 */ move $v1, $v0 -/* 026518 80025918 01802025 */ move $a0, $t4 -/* 02651C 8002591C 0C0095D6 */ jal func_80025758 -/* 026520 80025920 01602825 */ move $a1, $t3 -/* 026524 80025924 24010051 */ li $at, 81 -/* 026528 80025928 304600FF */ andi $a2, $v0, 0xff -/* 02652C 8002592C 14410014 */ bne $v0, $at, .L80025980_ovl0 -/* 026530 80025930 00401825 */ move $v1, $v0 -/* 026534 80025934 24190003 */ li $t9, 3 -/* 026538 80025938 A6190000 */ sh $t9, ($s0) -/* 02653C 8002593C A20A0008 */ sb $t2, 8($s0) -/* 026540 80025940 A2060009 */ sb $a2, 9($s0) -/* 026544 80025944 01802025 */ move $a0, $t4 -/* 026548 80025948 0C0095D6 */ jal func_80025758 -/* 02654C 8002594C 01602825 */ move $a1, $t3 -/* 026550 80025950 A202000B */ sb $v0, 0xb($s0) -/* 026554 80025954 01802025 */ move $a0, $t4 -/* 026558 80025958 0C0095D6 */ jal func_80025758 -/* 02655C 8002595C 01602825 */ move $a1, $t3 -/* 026560 80025960 A202000C */ sb $v0, 0xc($s0) -/* 026564 80025964 01802025 */ move $a0, $t4 -/* 026568 80025968 0C0095D6 */ jal func_80025758 -/* 02656C 8002596C 01602825 */ move $a1, $t3 -/* 026570 80025970 A202000D */ sb $v0, 0xd($s0) -/* 026574 80025974 018B7021 */ addu $t6, $t4, $t3 -/* 026578 80025978 10000067 */ b .L80025B18_ovl0 -/* 02657C 8002597C A1C000A8 */ sb $zero, 0xa8($t6) -.L80025980_ovl0: -/* 026580 80025980 2401002F */ li $at, 47 -/* 026584 80025984 5461000E */ bnel $v1, $at, .L800259C0_ovl0 -/* 026588 80025988 2401002E */ li $at, 46 -/* 02658C 8002598C 8D8F0004 */ lw $t7, 4($t4) -/* 026590 80025990 24180001 */ li $t8, 1 -/* 026594 80025994 0178C804 */ sllv $t9, $t8, $t3 -/* 026598 80025998 01F97026 */ xor $t6, $t7, $t9 -/* 02659C 8002599C 11C00004 */ beqz $t6, .L800259B0_ovl0 -/* 0265A0 800259A0 AD8E0004 */ sw $t6, 4($t4) -/* 0265A4 800259A4 240F0012 */ li $t7, 18 -/* 0265A8 800259A8 1000005B */ b .L80025B18_ovl0 -/* 0265AC 800259AC A60F0000 */ sh $t7, ($s0) -.L800259B0_ovl0: -/* 0265B0 800259B0 24190004 */ li $t9, 4 -/* 0265B4 800259B4 10000058 */ b .L80025B18_ovl0 -/* 0265B8 800259B8 A6190000 */ sh $t9, ($s0) -/* 0265BC 800259BC 2401002E */ li $at, 46 -.L800259C0_ovl0: -/* 0265C0 800259C0 1461000B */ bne $v1, $at, .L800259F0_ovl0 -/* 0265C4 800259C4 01802025 */ move $a0, $t4 -/* 0265C8 800259C8 0C0095D6 */ jal func_80025758 -/* 0265CC 800259CC 01602825 */ move $a1, $t3 -/* 0265D0 800259D0 01802025 */ move $a0, $t4 -/* 0265D4 800259D4 0C0095D6 */ jal func_80025758 -/* 0265D8 800259D8 01602825 */ move $a1, $t3 -/* 0265DC 800259DC 018B7021 */ addu $t6, $t4, $t3 -/* 0265E0 800259E0 A1C000A8 */ sb $zero, 0xa8($t6) -/* 0265E4 800259E4 24180013 */ li $t8, 19 -/* 0265E8 800259E8 1000004B */ b .L80025B18_ovl0 -/* 0265EC 800259EC A6180000 */ sh $t8, ($s0) -.L800259F0_ovl0: -/* 0265F0 800259F0 2401002D */ li $at, 45 -/* 0265F4 800259F4 14610048 */ bne $v1, $at, .L80025B18_ovl0 -/* 0265F8 800259F8 000B7880 */ sll $t7, $t3, 2 -/* 0265FC 800259FC 018F6821 */ addu $t5, $t4, $t7 -/* 026600 80025A00 8DA20018 */ lw $v0, 0x18($t5) -/* 026604 80025A04 240100FF */ li $at, 255 -/* 026608 80025A08 90440001 */ lbu $a0, 1($v0) -/* 02660C 80025A0C 24420001 */ addiu $v0, $v0, 1 -/* 026610 80025A10 24590005 */ addiu $t9, $v0, 5 -/* 026614 80025A14 14800004 */ bnez $a0, .L80025A28_ovl0 -/* 026618 80025A18 9045FFFF */ lbu $a1, -1($v0) -/* 02661C 80025A1C A0450000 */ sb $a1, ($v0) -/* 026620 80025A20 10000011 */ b .L80025A68_ovl0 -/* 026624 80025A24 ADB90018 */ sw $t9, 0x18($t5) -.L80025A28_ovl0: -/* 026628 80025A28 10810002 */ beq $a0, $at, .L80025A34_ovl0 -/* 02662C 80025A2C 248EFFFF */ addiu $t6, $a0, -1 -/* 026630 80025A30 A04E0000 */ sb $t6, ($v0) -.L80025A34_ovl0: -/* 026634 80025A34 90580002 */ lbu $t8, 2($v0) -/* 026638 80025A38 90430001 */ lbu $v1, 1($v0) -/* 02663C 80025A3C 90590003 */ lbu $t9, 3($v0) -/* 026640 80025A40 00187C00 */ sll $t7, $t8, 0x10 -/* 026644 80025A44 90580004 */ lbu $t8, 4($v0) -/* 026648 80025A48 00031E00 */ sll $v1, $v1, 0x18 -/* 02664C 80025A4C 006F1821 */ addu $v1, $v1, $t7 -/* 026650 80025A50 00197200 */ sll $t6, $t9, 8 -/* 026654 80025A54 006E1821 */ addu $v1, $v1, $t6 -/* 026658 80025A58 24420005 */ addiu $v0, $v0, 5 -/* 02665C 80025A5C 00781821 */ addu $v1, $v1, $t8 -/* 026660 80025A60 00437823 */ subu $t7, $v0, $v1 -/* 026664 80025A64 ADAF0018 */ sw $t7, 0x18($t5) -.L80025A68_ovl0: -/* 026668 80025A68 018BC821 */ addu $t9, $t4, $t3 -/* 02666C 80025A6C A32000A8 */ sb $zero, 0xa8($t9) -/* 026670 80025A70 240E0014 */ li $t6, 20 -/* 026674 80025A74 10000028 */ b .L80025B18_ovl0 -/* 026678 80025A78 A60E0000 */ sh $t6, ($s0) -.L80025A7C_ovl0: -/* 02667C 80025A7C 24180001 */ li $t8, 1 -/* 026680 80025A80 306F0080 */ andi $t7, $v1, 0x80 -/* 026684 80025A84 11E00009 */ beqz $t7, .L80025AAC_ovl0 -/* 026688 80025A88 A6180000 */ sh $t8, ($s0) -/* 02668C 80025A8C A20A0008 */ sb $t2, 8($s0) -/* 026690 80025A90 01802025 */ move $a0, $t4 -/* 026694 80025A94 0C0095D6 */ jal func_80025758 -/* 026698 80025A98 01602825 */ move $a1, $t3 -/* 02669C 80025A9C A2020009 */ sb $v0, 9($s0) -/* 0266A0 80025AA0 018BC821 */ addu $t9, $t4, $t3 -/* 0266A4 80025AA4 10000005 */ b .L80025ABC_ovl0 -/* 0266A8 80025AA8 A32A00A8 */ sb $t2, 0xa8($t9) -.L80025AAC_ovl0: -/* 0266AC 80025AAC 018B7021 */ addu $t6, $t4, $t3 -/* 0266B0 80025AB0 91D800A8 */ lbu $t8, 0xa8($t6) -/* 0266B4 80025AB4 A2020009 */ sb $v0, 9($s0) -/* 0266B8 80025AB8 A2180008 */ sb $t8, 8($s0) -.L80025ABC_ovl0: -/* 0266BC 80025ABC 92020008 */ lbu $v0, 8($s0) -/* 0266C0 80025AC0 240100C0 */ li $at, 192 -/* 0266C4 80025AC4 304200F0 */ andi $v0, $v0, 0xf0 -/* 0266C8 80025AC8 10410012 */ beq $v0, $at, .L80025B14_ovl0 -/* 0266CC 80025ACC 240100D0 */ li $at, 208 -/* 0266D0 80025AD0 10410010 */ beq $v0, $at, .L80025B14_ovl0 -/* 0266D4 80025AD4 01802025 */ move $a0, $t4 -/* 0266D8 80025AD8 0C0095D6 */ jal func_80025758 -/* 0266DC 80025ADC 01602825 */ move $a1, $t3 -/* 0266E0 80025AE0 920F0008 */ lbu $t7, 8($s0) -/* 0266E4 80025AE4 24010090 */ li $at, 144 -/* 0266E8 80025AE8 A202000A */ sb $v0, 0xa($s0) -/* 0266EC 80025AEC 31F900F0 */ andi $t9, $t7, 0xf0 -/* 0266F0 80025AF0 17210009 */ bne $t9, $at, .L80025B18_ovl0 -/* 0266F4 80025AF4 01805025 */ move $t2, $t4 -/* 0266F8 80025AF8 AFA90028 */ sw $t1, 0x28($sp) -/* 0266FC 80025AFC 0C009607 */ jal func_8002581C -/* 026700 80025B00 AFAB0024 */ sw $t3, 0x24($sp) -/* 026704 80025B04 8FA90028 */ lw $t1, 0x28($sp) -/* 026708 80025B08 8FAB0024 */ lw $t3, 0x24($sp) -/* 02670C 80025B0C 10000002 */ b .L80025B18_ovl0 -/* 026710 80025B10 AE02000C */ sw $v0, 0xc($s0) -.L80025B14_ovl0: -/* 026714 80025B14 A200000A */ sb $zero, 0xa($s0) -.L80025B18_ovl0: -/* 026718 80025B18 AE090004 */ sw $t1, 4($s0) -/* 02671C 80025B1C 8D8E000C */ lw $t6, 0xc($t4) -/* 026720 80025B20 AD890010 */ sw $t1, 0x10($t4) -/* 026724 80025B24 24010012 */ li $at, 18 -/* 026728 80025B28 01C9C021 */ addu $t8, $t6, $t1 -/* 02672C 80025B2C AD98000C */ sw $t8, 0xc($t4) -/* 026730 80025B30 860F0000 */ lh $t7, ($s0) -/* 026734 80025B34 01805025 */ move $t2, $t4 -/* 026738 80025B38 000BC880 */ sll $t9, $t3, 2 -/* 02673C 80025B3C 51E10007 */ beql $t7, $at, .L80025B5C_ovl0 -/* 026740 80025B40 240F0001 */ li $t7, 1 -/* 026744 80025B44 0C009607 */ jal func_8002581C -/* 026748 80025B48 01996821 */ addu $t5, $t4, $t9 -/* 02674C 80025B4C 8DAE00B8 */ lw $t6, 0xb8($t5) -/* 026750 80025B50 01C2C021 */ addu $t8, $t6, $v0 -/* 026754 80025B54 ADB800B8 */ sw $t8, 0xb8($t5) -/* 026758 80025B58 240F0001 */ li $t7, 1 -.L80025B5C_ovl0: -/* 02675C 80025B5C AD8F0014 */ sw $t7, 0x14($t4) -/* 026760 80025B60 8FBF001C */ lw $ra, 0x1c($sp) -/* 026764 80025B64 8FB00018 */ lw $s0, 0x18($sp) -/* 026768 80025B68 27BD0030 */ addiu $sp, $sp, 0x30 -/* 02676C 80025B6C 03E00008 */ jr $ra -/* 026770 80025B70 00000000 */ nop - -glabel func_80025B74 -/* 026774 80025B74 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 026778 80025B78 AFB40028 */ sw $s4, 0x28($sp) -/* 02677C 80025B7C AFB30024 */ sw $s3, 0x24($sp) -/* 026780 80025B80 AFB20020 */ sw $s2, 0x20($sp) -/* 026784 80025B84 AFB1001C */ sw $s1, 0x1c($sp) -/* 026788 80025B88 AFB00018 */ sw $s0, 0x18($sp) -/* 02678C 80025B8C AFBF002C */ sw $ra, 0x2c($sp) -/* 026790 80025B90 240E0001 */ li $t6, 1 -/* 026794 80025B94 00808025 */ move $s0, $a0 -/* 026798 80025B98 00A0A025 */ move $s4, $a1 -/* 02679C 80025B9C AC850000 */ sw $a1, ($a0) -/* 0267A0 80025BA0 AC800004 */ sw $zero, 4($a0) -/* 0267A4 80025BA4 AC800010 */ sw $zero, 0x10($a0) -/* 0267A8 80025BA8 AC80000C */ sw $zero, 0xc($a0) -/* 0267AC 80025BAC AC8E0014 */ sw $t6, 0x14($a0) -/* 0267B0 80025BB0 00808825 */ move $s1, $a0 -/* 0267B4 80025BB4 00009025 */ move $s2, $zero -/* 0267B8 80025BB8 24130010 */ li $s3, 16 -/* 0267BC 80025BBC 00006825 */ move $t5, $zero -/* 0267C0 80025BC0 00806025 */ move $t4, $a0 -.L80025BC4_ovl0: -/* 0267C4 80025BC4 A22000A8 */ sb $zero, 0xa8($s1) -/* 0267C8 80025BC8 AD800058 */ sw $zero, 0x58($t4) -/* 0267CC 80025BCC A2200098 */ sb $zero, 0x98($s1) -/* 0267D0 80025BD0 8E0F0000 */ lw $t7, ($s0) -/* 0267D4 80025BD4 240E0001 */ li $t6, 1 -/* 0267D8 80025BD8 01F2C021 */ addu $t8, $t7, $s2 -/* 0267DC 80025BDC 8F020000 */ lw $v0, ($t8) -/* 0267E0 80025BE0 01AE7804 */ sllv $t7, $t6, $t5 -/* 0267E4 80025BE4 1040000A */ beqz $v0, .L80025C10_ovl0 -/* 0267E8 80025BE8 02827021 */ addu $t6, $s4, $v0 -/* 0267EC 80025BEC 8E190004 */ lw $t9, 4($s0) -/* 0267F0 80025BF0 02005025 */ move $t2, $s0 -/* 0267F4 80025BF4 01A05825 */ move $t3, $t5 -/* 0267F8 80025BF8 032FC025 */ or $t8, $t9, $t7 -/* 0267FC 80025BFC AE180004 */ sw $t8, 4($s0) -/* 026800 80025C00 0C009607 */ jal func_8002581C -/* 026804 80025C04 AD8E0018 */ sw $t6, 0x18($t4) -/* 026808 80025C08 10000002 */ b .L80025C14_ovl0 -/* 02680C 80025C0C AD8200B8 */ sw $v0, 0xb8($t4) -.L80025C10_ovl0: -/* 026810 80025C10 AD800018 */ sw $zero, 0x18($t4) -.L80025C14_ovl0: -/* 026814 80025C14 25AD0001 */ addiu $t5, $t5, 1 -/* 026818 80025C18 26310001 */ addiu $s1, $s1, 1 -/* 02681C 80025C1C 26520004 */ addiu $s2, $s2, 4 -/* 026820 80025C20 15B3FFE8 */ bne $t5, $s3, .L80025BC4_ovl0 -/* 026824 80025C24 258C0004 */ addiu $t4, $t4, 4 -/* 026828 80025C28 8E190000 */ lw $t9, ($s0) -/* 02682C 80025C2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 026830 80025C30 44812000 */ mtc1 $at, $f4 -/* 026834 80025C34 8F2F0040 */ lw $t7, 0x40($t9) -/* 026838 80025C38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 02683C 80025C3C 448F3000 */ mtc1 $t7, $f6 -/* 026840 80025C40 05E10004 */ bgez $t7, .L80025C54_ovl0 -/* 026844 80025C44 46803220 */ cvt.s.w $f8, $f6 -/* 026848 80025C48 44815000 */ mtc1 $at, $f10 -/* 02684C 80025C4C 00000000 */ nop -/* 026850 80025C50 460A4200 */ add.s $f8, $f8, $f10 -.L80025C54_ovl0: -/* 026854 80025C54 46082183 */ div.s $f6, $f4, $f8 -/* 026858 80025C58 E6060008 */ swc1 $f6, 8($s0) -/* 02685C 80025C5C 8FBF002C */ lw $ra, 0x2c($sp) -/* 026860 80025C60 8FB40028 */ lw $s4, 0x28($sp) -/* 026864 80025C64 8FB30024 */ lw $s3, 0x24($sp) -/* 026868 80025C68 8FB20020 */ lw $s2, 0x20($sp) -/* 02686C 80025C6C 8FB1001C */ lw $s1, 0x1c($sp) -/* 026870 80025C70 8FB00018 */ lw $s0, 0x18($sp) -/* 026874 80025C74 03E00008 */ jr $ra -/* 026878 80025C78 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_80025C7C -/* 02687C 80025C7C 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* 026880 80025C80 AFB30020 */ sw $s3, 0x20($sp) -/* 026884 80025C84 AFB10018 */ sw $s1, 0x18($sp) -/* 026888 80025C88 00A08825 */ move $s1, $a1 -/* 02688C 80025C8C 27B30048 */ addiu $s3, $sp, 0x48 -/* 026890 80025C90 AFBF002C */ sw $ra, 0x2c($sp) -/* 026894 80025C94 AFB50028 */ sw $s5, 0x28($sp) -/* 026898 80025C98 AFB40024 */ sw $s4, 0x24($sp) -/* 02689C 80025C9C AFB2001C */ sw $s2, 0x1c($sp) -/* 0268A0 80025CA0 AFB00014 */ sw $s0, 0x14($sp) -/* 0268A4 80025CA4 00803825 */ move $a3, $a0 -/* 0268A8 80025CA8 00C09025 */ move $s2, $a2 -/* 0268AC 80025CAC 8CE50000 */ lw $a1, ($a3) -/* 0268B0 80025CB0 0C0096DD */ jal func_80025B74 -/* 0268B4 80025CB4 02602025 */ move $a0, $s3 -/* 0268B8 80025CB8 24150004 */ li $s5, 4 -/* 0268BC 80025CBC 27B40140 */ addiu $s4, $sp, 0x140 -/* 0268C0 80025CC0 27B00058 */ addiu $s0, $sp, 0x58 -/* 0268C4 80025CC4 8FAE004C */ lw $t6, 0x4c($sp) -.L80025CC8_ovl0: -/* 0268C8 80025CC8 27A40048 */ addiu $a0, $sp, 0x48 -/* 0268CC 80025CCC 00801825 */ move $v1, $a0 -/* 0268D0 80025CD0 AE2E0000 */ sw $t6, ($s1) -/* 0268D4 80025CD4 8FAF0054 */ lw $t7, 0x54($sp) -/* 0268D8 80025CD8 02201025 */ move $v0, $s1 -/* 0268DC 80025CDC 02202825 */ move $a1, $s1 -/* 0268E0 80025CE0 AE2F0004 */ sw $t7, 4($s1) -/* 0268E4 80025CE4 8FB80058 */ lw $t8, 0x58($sp) -/* 0268E8 80025CE8 AE380008 */ sw $t8, 8($s1) -.L80025CEC_ovl0: -/* 0268EC 80025CEC 8C680018 */ lw $t0, 0x18($v1) -/* 0268F0 80025CF0 24840004 */ addiu $a0, $a0, 4 -/* 0268F4 80025CF4 24420010 */ addiu $v0, $v0, 0x10 -/* 0268F8 80025CF8 AC48FFFC */ sw $t0, -4($v0) -/* 0268FC 80025CFC 8C690058 */ lw $t1, 0x58($v1) -/* 026900 80025D00 24630010 */ addiu $v1, $v1, 0x10 -/* 026904 80025D04 24A50004 */ addiu $a1, $a1, 4 -/* 026908 80025D08 AC49003C */ sw $t1, 0x3c($v0) -/* 02690C 80025D0C 908A0094 */ lbu $t2, 0x94($a0) -/* 026910 80025D10 A0AA0088 */ sb $t2, 0x88($a1) -/* 026914 80025D14 908B00A4 */ lbu $t3, 0xa4($a0) -/* 026918 80025D18 A0AB0098 */ sb $t3, 0x98($a1) -/* 02691C 80025D1C 8C6C00A8 */ lw $t4, 0xa8($v1) -/* 026920 80025D20 AC4C009C */ sw $t4, 0x9c($v0) -/* 026924 80025D24 8C6D000C */ lw $t5, 0xc($v1) -/* 026928 80025D28 AC4D0000 */ sw $t5, ($v0) -/* 02692C 80025D2C 8C6E004C */ lw $t6, 0x4c($v1) -/* 026930 80025D30 AC4E0040 */ sw $t6, 0x40($v0) -/* 026934 80025D34 908F0095 */ lbu $t7, 0x95($a0) -/* 026938 80025D38 A0AF0089 */ sb $t7, 0x89($a1) -/* 02693C 80025D3C 909800A5 */ lbu $t8, 0xa5($a0) -/* 026940 80025D40 A0B80099 */ sb $t8, 0x99($a1) -/* 026944 80025D44 8C7900AC */ lw $t9, 0xac($v1) -/* 026948 80025D48 AC5900A0 */ sw $t9, 0xa0($v0) -/* 02694C 80025D4C 8C680010 */ lw $t0, 0x10($v1) -/* 026950 80025D50 AC480004 */ sw $t0, 4($v0) -/* 026954 80025D54 8C690050 */ lw $t1, 0x50($v1) -/* 026958 80025D58 AC490044 */ sw $t1, 0x44($v0) -/* 02695C 80025D5C 908A0096 */ lbu $t2, 0x96($a0) -/* 026960 80025D60 A0AA008A */ sb $t2, 0x8a($a1) -/* 026964 80025D64 908B00A6 */ lbu $t3, 0xa6($a0) -/* 026968 80025D68 A0AB009A */ sb $t3, 0x9a($a1) -/* 02696C 80025D6C 8C6C00B0 */ lw $t4, 0xb0($v1) -/* 026970 80025D70 AC4C00A4 */ sw $t4, 0xa4($v0) -/* 026974 80025D74 8C6D0014 */ lw $t5, 0x14($v1) -/* 026978 80025D78 AC4D0008 */ sw $t5, 8($v0) -/* 02697C 80025D7C 8C6E0054 */ lw $t6, 0x54($v1) -/* 026980 80025D80 AC4E0048 */ sw $t6, 0x48($v0) -/* 026984 80025D84 908F0097 */ lbu $t7, 0x97($a0) -/* 026988 80025D88 A0AF008B */ sb $t7, 0x8b($a1) -/* 02698C 80025D8C 909800A7 */ lbu $t8, 0xa7($a0) -/* 026990 80025D90 A0B8009B */ sb $t8, 0x9b($a1) -/* 026994 80025D94 8C7900B4 */ lw $t9, 0xb4($v1) -/* 026998 80025D98 1490FFD4 */ bne $a0, $s0, .L80025CEC_ovl0 -/* 02699C 80025D9C AC5900A8 */ sw $t9, 0xa8($v0) -/* 0269A0 80025DA0 02602025 */ move $a0, $s3 -/* 0269A4 80025DA4 0C00961F */ jal func_8002587C -/* 0269A8 80025DA8 02802825 */ move $a1, $s4 -/* 0269AC 80025DAC 87A80140 */ lh $t0, 0x140($sp) -/* 0269B0 80025DB0 8FA90054 */ lw $t1, 0x54($sp) -/* 0269B4 80025DB4 11150003 */ beq $t0, $s5, .L80025DC4_ovl0 -/* 0269B8 80025DB8 0132082B */ sltu $at, $t1, $s2 -/* 0269BC 80025DBC 5420FFC2 */ bnezl $at, .L80025CC8_ovl0 -/* 0269C0 80025DC0 8FAE004C */ lw $t6, 0x4c($sp) -.L80025DC4_ovl0: -/* 0269C4 80025DC4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0269C8 80025DC8 8FB00014 */ lw $s0, 0x14($sp) -/* 0269CC 80025DCC 8FB10018 */ lw $s1, 0x18($sp) -/* 0269D0 80025DD0 8FB2001C */ lw $s2, 0x1c($sp) -/* 0269D4 80025DD4 8FB30020 */ lw $s3, 0x20($sp) -/* 0269D8 80025DD8 8FB40024 */ lw $s4, 0x24($sp) -/* 0269DC 80025DDC 8FB50028 */ lw $s5, 0x28($sp) -/* 0269E0 80025DE0 03E00008 */ jr $ra -/* 0269E4 80025DE4 27BD0150 */ addiu $sp, $sp, 0x150 - -glabel func_80025DE8 -/* 0269E8 80025DE8 8C8E0004 */ lw $t6, 4($a0) -/* 0269EC 80025DEC 00A04825 */ move $t1, $a1 -/* 0269F0 80025DF0 2403FFFF */ li $v1, -1 -/* 0269F4 80025DF4 15C00003 */ bnez $t6, .L80025E04_ovl0 -/* 0269F8 80025DF8 8C820010 */ lw $v0, 0x10($a0) -/* 0269FC 80025DFC 03E00008 */ jr $ra -/* 026A00 80025E00 00001025 */ move $v0, $zero - -.L80025E04_ovl0: -/* 026A04 80025E04 00003025 */ move $a2, $zero -/* 026A08 80025E08 240A0010 */ li $t2, 16 -/* 026A0C 80025E0C 8C850004 */ lw $a1, 4($a0) -.L80025E10_ovl0: -/* 026A10 80025E10 24CE0001 */ addiu $t6, $a2, 1 -/* 026A14 80025E14 00C57806 */ srlv $t7, $a1, $a2 -/* 026A18 80025E18 31F80001 */ andi $t8, $t7, 1 -/* 026A1C 80025E1C 53000010 */ beql $t8, $zero, .L80025E60_ovl0 -/* 026A20 80025E20 01C57806 */ srlv $t7, $a1, $t6 -/* 026A24 80025E24 8C8B0014 */ lw $t3, 0x14($a0) -/* 026A28 80025E28 0006C880 */ sll $t9, $a2, 2 -/* 026A2C 80025E2C 00993821 */ addu $a3, $a0, $t9 -/* 026A30 80025E30 51600006 */ beql $t3, $zero, .L80025E4C_ovl0 -/* 026A34 80025E34 8CE800B8 */ lw $t0, 0xb8($a3) -/* 026A38 80025E38 8CEC00B8 */ lw $t4, 0xb8($a3) -/* 026A3C 80025E3C 01826823 */ subu $t5, $t4, $v0 -/* 026A40 80025E40 ACED00B8 */ sw $t5, 0xb8($a3) -/* 026A44 80025E44 8C850004 */ lw $a1, 4($a0) -/* 026A48 80025E48 8CE800B8 */ lw $t0, 0xb8($a3) -.L80025E4C_ovl0: -/* 026A4C 80025E4C 0103082B */ sltu $at, $t0, $v1 -/* 026A50 80025E50 50200003 */ beql $at, $zero, .L80025E60_ovl0 -/* 026A54 80025E54 01C57806 */ srlv $t7, $a1, $t6 -/* 026A58 80025E58 01001825 */ move $v1, $t0 -/* 026A5C 80025E5C 01C57806 */ srlv $t7, $a1, $t6 -.L80025E60_ovl0: -/* 026A60 80025E60 31F80001 */ andi $t8, $t7, 1 -/* 026A64 80025E64 1300000F */ beqz $t8, .L80025EA4_ovl0 -/* 026A68 80025E68 24CE0002 */ addiu $t6, $a2, 2 -/* 026A6C 80025E6C 8C8B0014 */ lw $t3, 0x14($a0) -/* 026A70 80025E70 0006C880 */ sll $t9, $a2, 2 -/* 026A74 80025E74 00993821 */ addu $a3, $a0, $t9 -/* 026A78 80025E78 51600006 */ beql $t3, $zero, .L80025E94_ovl0 -/* 026A7C 80025E7C 8CE800BC */ lw $t0, 0xbc($a3) -/* 026A80 80025E80 8CEC00BC */ lw $t4, 0xbc($a3) -/* 026A84 80025E84 01826823 */ subu $t5, $t4, $v0 -/* 026A88 80025E88 ACED00BC */ sw $t5, 0xbc($a3) -/* 026A8C 80025E8C 8C850004 */ lw $a1, 4($a0) -/* 026A90 80025E90 8CE800BC */ lw $t0, 0xbc($a3) -.L80025E94_ovl0: -/* 026A94 80025E94 0103082B */ sltu $at, $t0, $v1 -/* 026A98 80025E98 50200003 */ beql $at, $zero, .L80025EA8_ovl0 -/* 026A9C 80025E9C 01C57806 */ srlv $t7, $a1, $t6 -/* 026AA0 80025EA0 01001825 */ move $v1, $t0 -.L80025EA4_ovl0: -/* 026AA4 80025EA4 01C57806 */ srlv $t7, $a1, $t6 -.L80025EA8_ovl0: -/* 026AA8 80025EA8 31F80001 */ andi $t8, $t7, 1 -/* 026AAC 80025EAC 1300000F */ beqz $t8, .L80025EEC_ovl0 -/* 026AB0 80025EB0 24CE0003 */ addiu $t6, $a2, 3 -/* 026AB4 80025EB4 8C8B0014 */ lw $t3, 0x14($a0) -/* 026AB8 80025EB8 0006C880 */ sll $t9, $a2, 2 -/* 026ABC 80025EBC 00993821 */ addu $a3, $a0, $t9 -/* 026AC0 80025EC0 51600006 */ beql $t3, $zero, .L80025EDC_ovl0 -/* 026AC4 80025EC4 8CE800C0 */ lw $t0, 0xc0($a3) -/* 026AC8 80025EC8 8CEC00C0 */ lw $t4, 0xc0($a3) -/* 026ACC 80025ECC 01826823 */ subu $t5, $t4, $v0 -/* 026AD0 80025ED0 ACED00C0 */ sw $t5, 0xc0($a3) -/* 026AD4 80025ED4 8C850004 */ lw $a1, 4($a0) -/* 026AD8 80025ED8 8CE800C0 */ lw $t0, 0xc0($a3) -.L80025EDC_ovl0: -/* 026ADC 80025EDC 0103082B */ sltu $at, $t0, $v1 -/* 026AE0 80025EE0 50200003 */ beql $at, $zero, .L80025EF0_ovl0 -/* 026AE4 80025EE4 01C57806 */ srlv $t7, $a1, $t6 -/* 026AE8 80025EE8 01001825 */ move $v1, $t0 -.L80025EEC_ovl0: -/* 026AEC 80025EEC 01C57806 */ srlv $t7, $a1, $t6 -.L80025EF0_ovl0: -/* 026AF0 80025EF0 31F80001 */ andi $t8, $t7, 1 -/* 026AF4 80025EF4 5300000F */ beql $t8, $zero, .L80025F34_ovl0 -/* 026AF8 80025EF8 24C60004 */ addiu $a2, $a2, 4 -/* 026AFC 80025EFC 8C8B0014 */ lw $t3, 0x14($a0) -/* 026B00 80025F00 0006C880 */ sll $t9, $a2, 2 -/* 026B04 80025F04 00993821 */ addu $a3, $a0, $t9 -/* 026B08 80025F08 51600005 */ beql $t3, $zero, .L80025F20_ovl0 -/* 026B0C 80025F0C 8CE500C4 */ lw $a1, 0xc4($a3) -/* 026B10 80025F10 8CEC00C4 */ lw $t4, 0xc4($a3) -/* 026B14 80025F14 01826823 */ subu $t5, $t4, $v0 -/* 026B18 80025F18 ACED00C4 */ sw $t5, 0xc4($a3) -/* 026B1C 80025F1C 8CE500C4 */ lw $a1, 0xc4($a3) -.L80025F20_ovl0: -/* 026B20 80025F20 00A3082B */ sltu $at, $a1, $v1 -/* 026B24 80025F24 50200003 */ beql $at, $zero, .L80025F34_ovl0 -/* 026B28 80025F28 24C60004 */ addiu $a2, $a2, 4 -/* 026B2C 80025F2C 00A01825 */ move $v1, $a1 -/* 026B30 80025F30 24C60004 */ addiu $a2, $a2, 4 -.L80025F34_ovl0: -/* 026B34 80025F34 54CAFFB6 */ bnel $a2, $t2, .L80025E10_ovl0 -/* 026B38 80025F38 8C850004 */ lw $a1, 4($a0) -/* 026B3C 80025F3C AC800014 */ sw $zero, 0x14($a0) -/* 026B40 80025F40 AD230000 */ sw $v1, ($t1) -/* 026B44 80025F44 24020001 */ li $v0, 1 -/* 026B48 80025F48 03E00008 */ jr $ra -/* 026B4C 80025F4C 00000000 */ nop - -glabel func_80025F50 -/* 026B50 80025F50 8CAE0000 */ lw $t6, ($a1) -/* 026B54 80025F54 AC850004 */ sw $a1, 4($a0) -/* 026B58 80025F58 AC8E0000 */ sw $t6, ($a0) -/* 026B5C 80025F5C 8CA20000 */ lw $v0, ($a1) -/* 026B60 80025F60 10400002 */ beqz $v0, .L80025F6C_ovl0 -/* 026B64 80025F64 00000000 */ nop -/* 026B68 80025F68 AC440004 */ sw $a0, 4($v0) -.L80025F6C_ovl0: -/* 026B6C 80025F6C 03E00008 */ jr $ra -/* 026B70 80025F70 ACA40000 */ sw $a0, ($a1) - -glabel func_80025F74 -/* 026B74 80025F74 8C820000 */ lw $v0, ($a0) -/* 026B78 80025F78 50400004 */ beql $v0, $zero, .L80025F8C_ovl0 -/* 026B7C 80025F7C 8C820004 */ lw $v0, 4($a0) -/* 026B80 80025F80 8C8E0004 */ lw $t6, 4($a0) -/* 026B84 80025F84 AC4E0004 */ sw $t6, 4($v0) -/* 026B88 80025F88 8C820004 */ lw $v0, 4($a0) -.L80025F8C_ovl0: -/* 026B8C 80025F8C 10400003 */ beqz $v0, .L80025F9C_ovl0 -/* 026B90 80025F90 00000000 */ nop -/* 026B94 80025F94 8C8F0000 */ lw $t7, ($a0) -/* 026B98 80025F98 AC4F0000 */ sw $t7, ($v0) -.L80025F9C_ovl0: -/* 026B9C 80025F9C 03E00008 */ jr $ra -/* 026BA0 80025FA0 00000000 */ nop - -glabel func_80025FA4 -/* 026BA4 80025FA4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 026BA8 80025FA8 AFB30020 */ sw $s3, 0x20($sp) -/* 026BAC 80025FAC AFB2001C */ sw $s2, 0x1c($sp) -/* 026BB0 80025FB0 00809025 */ move $s2, $a0 -/* 026BB4 80025FB4 00059C00 */ sll $s3, $a1, 0x10 -/* 026BB8 80025FB8 AFBF0024 */ sw $ra, 0x24($sp) -/* 026BBC 80025FBC 00139C03 */ sra $s3, $s3, 0x10 -/* 026BC0 80025FC0 AFB10018 */ sw $s1, 0x18($sp) -/* 026BC4 80025FC4 AFB00014 */ sw $s0, 0x14($sp) -/* 026BC8 80025FC8 AFA50044 */ sw $a1, 0x44($sp) -/* 026BCC 80025FCC 0C00B590 */ jal osSetIntMask -/* 026BD0 80025FD0 24040001 */ li $a0, 1 -/* 026BD4 80025FD4 AFA2002C */ sw $v0, 0x2c($sp) -/* 026BD8 80025FD8 8E500008 */ lw $s0, 8($s2) -/* 026BDC 80025FDC 12000017 */ beqz $s0, .L8002603C_ovl0 -/* 026BE0 80025FE0 00000000 */ nop -.L80025FE4_ovl0: -/* 026BE4 80025FE4 860E000C */ lh $t6, 0xc($s0) -/* 026BE8 80025FE8 8E110000 */ lw $s1, ($s0) -/* 026BEC 80025FEC 166E0011 */ bne $s3, $t6, .L80026034_ovl0 -/* 026BF0 80025FF0 00000000 */ nop -/* 026BF4 80025FF4 12200005 */ beqz $s1, .L8002600C_ovl0 -/* 026BF8 80025FF8 00000000 */ nop -/* 026BFC 80025FFC 8E2F0008 */ lw $t7, 8($s1) -/* 026C00 80026000 8E180008 */ lw $t8, 8($s0) -/* 026C04 80026004 01F8C821 */ addu $t9, $t7, $t8 -/* 026C08 80026008 AE390008 */ sw $t9, 8($s1) -.L8002600C_ovl0: -/* 026C0C 8002600C 0C0097DD */ jal func_80025F74 -/* 026C10 80026010 02002025 */ move $a0, $s0 -/* 026C14 80026014 8E480000 */ lw $t0, ($s2) -/* 026C18 80026018 AE120004 */ sw $s2, 4($s0) -/* 026C1C 8002601C AE080000 */ sw $t0, ($s0) -/* 026C20 80026020 8E420000 */ lw $v0, ($s2) -/* 026C24 80026024 50400003 */ beql $v0, $zero, .L80026034_ovl0 -/* 026C28 80026028 AE500000 */ sw $s0, ($s2) -/* 026C2C 8002602C AC500004 */ sw $s0, 4($v0) -/* 026C30 80026030 AE500000 */ sw $s0, ($s2) -.L80026034_ovl0: -/* 026C34 80026034 1620FFEB */ bnez $s1, .L80025FE4_ovl0 -/* 026C38 80026038 02208025 */ move $s0, $s1 -.L8002603C_ovl0: -/* 026C3C 8002603C 0C00B590 */ jal osSetIntMask -/* 026C40 80026040 8FA4002C */ lw $a0, 0x2c($sp) -/* 026C44 80026044 8FBF0024 */ lw $ra, 0x24($sp) -/* 026C48 80026048 8FB00014 */ lw $s0, 0x14($sp) -/* 026C4C 8002604C 8FB10018 */ lw $s1, 0x18($sp) -/* 026C50 80026050 8FB2001C */ lw $s2, 0x1c($sp) -/* 026C54 80026054 8FB30020 */ lw $s3, 0x20($sp) -/* 026C58 80026058 03E00008 */ jr $ra -/* 026C5C 8002605C 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_80026060 -/* 026C60 80026060 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 026C64 80026064 AFBF0014 */ sw $ra, 0x14($sp) -/* 026C68 80026068 AFA40030 */ sw $a0, 0x30($sp) -/* 026C6C 8002606C AFA50034 */ sw $a1, 0x34($sp) -/* 026C70 80026070 AFA00020 */ sw $zero, 0x20($sp) -/* 026C74 80026074 24040001 */ li $a0, 1 -/* 026C78 80026078 0C00B590 */ jal osSetIntMask -/* 026C7C 8002607C AFA60038 */ sw $a2, 0x38($sp) -/* 026C80 80026080 8FAE0030 */ lw $t6, 0x30($sp) -/* 026C84 80026084 8FA70038 */ lw $a3, 0x38($sp) -/* 026C88 80026088 00404825 */ move $t1, $v0 -/* 026C8C 8002608C 8DC80000 */ lw $t0, ($t6) -/* 026C90 80026090 15000005 */ bnez $t0, .L800260A8_ovl0 -/* 026C94 80026094 01002025 */ move $a0, $t0 -/* 026C98 80026098 0C00B590 */ jal osSetIntMask -/* 026C9C 8002609C 00402025 */ move $a0, $v0 -/* 026CA0 800260A0 10000040 */ b .L800261A4_ovl0 -/* 026CA4 800260A4 8FBF0014 */ lw $ra, 0x14($sp) -.L800260A8_ovl0: -/* 026CA8 800260A8 AFA70038 */ sw $a3, 0x38($sp) -/* 026CAC 800260AC AFA8002C */ sw $t0, 0x2c($sp) -/* 026CB0 800260B0 0C0097DD */ jal func_80025F74 -/* 026CB4 800260B4 AFA9001C */ sw $t1, 0x1c($sp) -/* 026CB8 800260B8 8FA8002C */ lw $t0, 0x2c($sp) -/* 026CBC 800260BC 8FA40034 */ lw $a0, 0x34($sp) -/* 026CC0 800260C0 24060010 */ li $a2, 16 -/* 026CC4 800260C4 0C00D404 */ jal alCopy -/* 026CC8 800260C8 2505000C */ addiu $a1, $t0, 0xc -/* 026CCC 800260CC 8FA70038 */ lw $a3, 0x38($sp) -/* 026CD0 800260D0 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff -/* 026CD4 800260D4 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 026CD8 800260D8 8FA8002C */ lw $t0, 0x2c($sp) -/* 026CDC 800260DC 14E10003 */ bne $a3, $at, .L800260EC_ovl0 -/* 026CE0 800260E0 8FA9001C */ lw $t1, 0x1c($sp) -/* 026CE4 800260E4 240FFFFF */ li $t7, -1 -/* 026CE8 800260E8 AFAF0020 */ sw $t7, 0x20($sp) -.L800260EC_ovl0: -/* 026CEC 800260EC 8FA20030 */ lw $v0, 0x30($sp) -/* 026CF0 800260F0 2401FFF8 */ li $at, -8 -/* 026CF4 800260F4 8FB80020 */ lw $t8, 0x20($sp) -/* 026CF8 800260F8 10410027 */ beq $v0, $at, .L80026198_ovl0 -/* 026CFC 800260FC 24450008 */ addiu $a1, $v0, 8 -.L80026100_ovl0: -/* 026D00 80026100 8CA20000 */ lw $v0, ($a1) -/* 026D04 80026104 54400010 */ bnezl $v0, .L80026148_ovl0 -/* 026D08 80026108 8C430008 */ lw $v1, 8($v0) -/* 026D0C 8002610C 53000004 */ beql $t8, $zero, .L80026120_ovl0 -/* 026D10 80026110 AD070008 */ sw $a3, 8($t0) -/* 026D14 80026114 10000002 */ b .L80026120_ovl0 -/* 026D18 80026118 AD000008 */ sw $zero, 8($t0) -/* 026D1C 8002611C AD070008 */ sw $a3, 8($t0) -.L80026120_ovl0: -/* 026D20 80026120 8CB90000 */ lw $t9, ($a1) -/* 026D24 80026124 AD050004 */ sw $a1, 4($t0) -/* 026D28 80026128 AD190000 */ sw $t9, ($t0) -/* 026D2C 8002612C 8CA20000 */ lw $v0, ($a1) -/* 026D30 80026130 10400002 */ beqz $v0, .L8002613C_ovl0 -/* 026D34 80026134 00000000 */ nop -/* 026D38 80026138 AC480004 */ sw $t0, 4($v0) -.L8002613C_ovl0: -/* 026D3C 8002613C 10000016 */ b .L80026198_ovl0 -/* 026D40 80026140 ACA80000 */ sw $t0, ($a1) -/* 026D44 80026144 8C430008 */ lw $v1, 8($v0) -.L80026148_ovl0: -/* 026D48 80026148 00402025 */ move $a0, $v0 -/* 026D4C 8002614C 00E3082A */ slt $at, $a3, $v1 -/* 026D50 80026150 5020000F */ beql $at, $zero, .L80026190_ovl0 -/* 026D54 80026154 00402825 */ move $a1, $v0 -/* 026D58 80026158 AD070008 */ sw $a3, 8($t0) -/* 026D5C 8002615C 8C8A0008 */ lw $t2, 8($a0) -/* 026D60 80026160 01475823 */ subu $t3, $t2, $a3 -/* 026D64 80026164 AC8B0008 */ sw $t3, 8($a0) -/* 026D68 80026168 8CAC0000 */ lw $t4, ($a1) -/* 026D6C 8002616C AD050004 */ sw $a1, 4($t0) -/* 026D70 80026170 AD0C0000 */ sw $t4, ($t0) -/* 026D74 80026174 8CA20000 */ lw $v0, ($a1) -/* 026D78 80026178 10400002 */ beqz $v0, .L80026184_ovl0 -/* 026D7C 8002617C 00000000 */ nop -/* 026D80 80026180 AC480004 */ sw $t0, 4($v0) -.L80026184_ovl0: -/* 026D84 80026184 10000004 */ b .L80026198_ovl0 -/* 026D88 80026188 ACA80000 */ sw $t0, ($a1) -/* 026D8C 8002618C 00402825 */ move $a1, $v0 -.L80026190_ovl0: -/* 026D90 80026190 1440FFDB */ bnez $v0, .L80026100_ovl0 -/* 026D94 80026194 00E33823 */ subu $a3, $a3, $v1 -.L80026198_ovl0: -/* 026D98 80026198 0C00B590 */ jal osSetIntMask -/* 026D9C 8002619C 01202025 */ move $a0, $t1 -/* 026DA0 800261A0 8FBF0014 */ lw $ra, 0x14($sp) -.L800261A4_ovl0: -/* 026DA4 800261A4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 026DA8 800261A8 03E00008 */ jr $ra -/* 026DAC 800261AC 00000000 */ nop - -glabel func_800261B0 -/* 026DB0 800261B0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 026DB4 800261B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 026DB8 800261B8 00804025 */ move $t0, $a0 -/* 026DBC 800261BC AFA5002C */ sw $a1, 0x2c($sp) -/* 026DC0 800261C0 AFA80028 */ sw $t0, 0x28($sp) -/* 026DC4 800261C4 0C00B590 */ jal osSetIntMask -/* 026DC8 800261C8 24040001 */ li $a0, 1 -/* 026DCC 800261CC 8FA80028 */ lw $t0, 0x28($sp) -/* 026DD0 800261D0 AFA2001C */ sw $v0, 0x1c($sp) -/* 026DD4 800261D4 8FB8002C */ lw $t8, 0x2c($sp) -/* 026DD8 800261D8 8D070008 */ lw $a3, 8($t0) -/* 026DDC 800261DC 00001825 */ move $v1, $zero -/* 026DE0 800261E0 10E00015 */ beqz $a3, .L80026238_ovl0 -/* 026DE4 800261E4 00E02025 */ move $a0, $a3 -/* 026DE8 800261E8 AFA70024 */ sw $a3, 0x24($sp) -/* 026DEC 800261EC 0C0097DD */ jal func_80025F74 -/* 026DF0 800261F0 AFA80028 */ sw $t0, 0x28($sp) -/* 026DF4 800261F4 8FA70024 */ lw $a3, 0x24($sp) -/* 026DF8 800261F8 8FA5002C */ lw $a1, 0x2c($sp) -/* 026DFC 800261FC 24060010 */ li $a2, 16 -/* 026E00 80026200 0C00D404 */ jal alCopy -/* 026E04 80026204 24E4000C */ addiu $a0, $a3, 0xc -/* 026E08 80026208 8FA80028 */ lw $t0, 0x28($sp) -/* 026E0C 8002620C 8FA70024 */ lw $a3, 0x24($sp) -/* 026E10 80026210 8D0E0000 */ lw $t6, ($t0) -/* 026E14 80026214 ACE80004 */ sw $t0, 4($a3) -/* 026E18 80026218 ACEE0000 */ sw $t6, ($a3) -/* 026E1C 8002621C 8D020000 */ lw $v0, ($t0) -/* 026E20 80026220 50400003 */ beql $v0, $zero, .L80026230_ovl0 -/* 026E24 80026224 AD070000 */ sw $a3, ($t0) -/* 026E28 80026228 AC470004 */ sw $a3, 4($v0) -/* 026E2C 8002622C AD070000 */ sw $a3, ($t0) -.L80026230_ovl0: -/* 026E30 80026230 10000003 */ b .L80026240_ovl0 -/* 026E34 80026234 8CE30008 */ lw $v1, 8($a3) -.L80026238_ovl0: -/* 026E38 80026238 240FFFFF */ li $t7, -1 -/* 026E3C 8002623C A70F0000 */ sh $t7, ($t8) -.L80026240_ovl0: -/* 026E40 80026240 8FA4001C */ lw $a0, 0x1c($sp) -/* 026E44 80026244 0C00B590 */ jal osSetIntMask -/* 026E48 80026248 AFA30020 */ sw $v1, 0x20($sp) -/* 026E4C 8002624C 8FBF0014 */ lw $ra, 0x14($sp) -/* 026E50 80026250 8FA20020 */ lw $v0, 0x20($sp) -/* 026E54 80026254 27BD0028 */ addiu $sp, $sp, 0x28 -/* 026E58 80026258 03E00008 */ jr $ra -/* 026E5C 8002625C 00000000 */ nop - -glabel func_80026260 -/* 026E60 80026260 00A03825 */ move $a3, $a1 -/* 026E64 80026264 AC800010 */ sw $zero, 0x10($a0) -/* 026E68 80026268 AC800008 */ sw $zero, 8($a0) -/* 026E6C 8002626C AC80000C */ sw $zero, 0xc($a0) -/* 026E70 80026270 AC800000 */ sw $zero, ($a0) -/* 026E74 80026274 AC800004 */ sw $zero, 4($a0) -/* 026E78 80026278 18C00042 */ blez $a2, .L80026384_ovl0 -/* 026E7C 8002627C 00001025 */ move $v0, $zero -/* 026E80 80026280 30C30003 */ andi $v1, $a2, 3 -/* 026E84 80026284 10600012 */ beqz $v1, .L800262D0_ovl0 -/* 026E88 80026288 00602825 */ move $a1, $v1 -/* 026E8C 8002628C 000070C0 */ sll $t6, $zero, 3 -/* 026E90 80026290 01C07023 */ subu $t6, $t6, $zero -/* 026E94 80026294 000E7080 */ sll $t6, $t6, 2 -/* 026E98 80026298 01C74021 */ addu $t0, $t6, $a3 -.L8002629C_ovl0: -/* 026E9C 8002629C 8C8F0000 */ lw $t7, ($a0) -/* 026EA0 800262A0 AD040004 */ sw $a0, 4($t0) -/* 026EA4 800262A4 01001825 */ move $v1, $t0 -/* 026EA8 800262A8 AD0F0000 */ sw $t7, ($t0) -/* 026EAC 800262AC 8C890000 */ lw $t1, ($a0) -/* 026EB0 800262B0 24420001 */ addiu $v0, $v0, 1 -/* 026EB4 800262B4 51200003 */ beql $t1, $zero, .L800262C4_ovl0 -/* 026EB8 800262B8 AC830000 */ sw $v1, ($a0) -/* 026EBC 800262BC AD280004 */ sw $t0, 4($t1) -/* 026EC0 800262C0 AC830000 */ sw $v1, ($a0) -.L800262C4_ovl0: -/* 026EC4 800262C4 14A2FFF5 */ bne $a1, $v0, .L8002629C_ovl0 -/* 026EC8 800262C8 2508001C */ addiu $t0, $t0, 0x1c -/* 026ECC 800262CC 1046002D */ beq $v0, $a2, .L80026384_ovl0 -.L800262D0_ovl0: -/* 026ED0 800262D0 000228C0 */ sll $a1, $v0, 3 -/* 026ED4 800262D4 00A22823 */ subu $a1, $a1, $v0 -/* 026ED8 800262D8 00052880 */ sll $a1, $a1, 2 -/* 026EDC 800262DC 00A74021 */ addu $t0, $a1, $a3 -/* 026EE0 800262E0 000668C0 */ sll $t5, $a2, 3 -/* 026EE4 800262E4 01A66823 */ subu $t5, $t5, $a2 -/* 026EE8 800262E8 000D6880 */ sll $t5, $t5, 2 -/* 026EEC 800262EC 250A001C */ addiu $t2, $t0, 0x1c -/* 026EF0 800262F0 250B0038 */ addiu $t3, $t0, 0x38 -/* 026EF4 800262F4 250C0054 */ addiu $t4, $t0, 0x54 -.L800262F8_ovl0: -/* 026EF8 800262F8 8C980000 */ lw $t8, ($a0) -/* 026EFC 800262FC AD040004 */ sw $a0, 4($t0) -/* 026F00 80026300 24A50070 */ addiu $a1, $a1, 0x70 -/* 026F04 80026304 AD180000 */ sw $t8, ($t0) -/* 026F08 80026308 8C890000 */ lw $t1, ($a0) -/* 026F0C 8002630C 51200003 */ beql $t1, $zero, .L8002631C_ovl0 -/* 026F10 80026310 AC880000 */ sw $t0, ($a0) -/* 026F14 80026314 AD280004 */ sw $t0, 4($t1) -/* 026F18 80026318 AC880000 */ sw $t0, ($a0) -.L8002631C_ovl0: -/* 026F1C 8002631C AD040020 */ sw $a0, 0x20($t0) -/* 026F20 80026320 AD08001C */ sw $t0, 0x1c($t0) -/* 026F24 80026324 8C890000 */ lw $t1, ($a0) -/* 026F28 80026328 51200003 */ beql $t1, $zero, .L80026338_ovl0 -/* 026F2C 8002632C AC8A0000 */ sw $t2, ($a0) -/* 026F30 80026330 AD2A0004 */ sw $t2, 4($t1) -/* 026F34 80026334 AC8A0000 */ sw $t2, ($a0) -.L80026338_ovl0: -/* 026F38 80026338 AD04003C */ sw $a0, 0x3c($t0) -/* 026F3C 8002633C AD0A0038 */ sw $t2, 0x38($t0) -/* 026F40 80026340 8C890000 */ lw $t1, ($a0) -/* 026F44 80026344 254A0070 */ addiu $t2, $t2, 0x70 -/* 026F48 80026348 51200003 */ beql $t1, $zero, .L80026358_ovl0 -/* 026F4C 8002634C AC8B0000 */ sw $t3, ($a0) -/* 026F50 80026350 AD2B0004 */ sw $t3, 4($t1) -/* 026F54 80026354 AC8B0000 */ sw $t3, ($a0) -.L80026358_ovl0: -/* 026F58 80026358 AD040058 */ sw $a0, 0x58($t0) -/* 026F5C 8002635C AD0B0054 */ sw $t3, 0x54($t0) -/* 026F60 80026360 8C890000 */ lw $t1, ($a0) -/* 026F64 80026364 256B0070 */ addiu $t3, $t3, 0x70 -/* 026F68 80026368 01801825 */ move $v1, $t4 -/* 026F6C 8002636C 11200002 */ beqz $t1, .L80026378_ovl0 -/* 026F70 80026370 25080070 */ addiu $t0, $t0, 0x70 -/* 026F74 80026374 AD2C0004 */ sw $t4, 4($t1) -.L80026378_ovl0: -/* 026F78 80026378 AC830000 */ sw $v1, ($a0) -/* 026F7C 8002637C 14ADFFDE */ bne $a1, $t5, .L800262F8_ovl0 -/* 026F80 80026380 258C0070 */ addiu $t4, $t4, 0x70 -.L80026384_ovl0: -/* 026F84 80026384 03E00008 */ jr $ra -/* 026F88 80026388 00000000 */ nop - -glabel func_8002638C -/* 026F8C 8002638C 3C018004 */ lui $at, 0x8004 -/* 026F90 80026390 AFA40000 */ sw $a0, ($sp) -/* 026F94 80026394 03E00008 */ jr $ra -/* 026F98 80026398 A424FB1C */ sh $a0, -0x4e4($at) - -glabel func_8002639C -/* 026F9C 8002639C 44802000 */ mtc1 $zero, $f4 -/* 026FA0 800263A0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 026FA4 800263A4 4604603E */ c.le.s $f12, $f4 -/* 026FA8 800263A8 00000000 */ nop -/* 026FAC 800263AC 45020006 */ bc1fl .L800263C8_ovl0 -/* 026FB0 800263B0 44813000 */ mtc1 $at, $f6 -/* 026FB4 800263B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 026FB8 800263B8 44816000 */ mtc1 $at, $f12 -/* 026FBC 800263BC 10000009 */ b .L800263E4_ovl0 -/* 026FC0 800263C0 00000000 */ nop -/* 026FC4 800263C4 44813000 */ mtc1 $at, $f6 -.L800263C8_ovl0: -/* 026FC8 800263C8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 026FCC 800263CC 460C303C */ c.lt.s $f6, $f12 -/* 026FD0 800263D0 00000000 */ nop -/* 026FD4 800263D4 45000003 */ bc1f .L800263E4_ovl0 -/* 026FD8 800263D8 00000000 */ nop -/* 026FDC 800263DC 44816000 */ mtc1 $at, $f12 -/* 026FE0 800263E0 00000000 */ nop -.L800263E4_ovl0: -/* 026FE4 800263E4 3C018004 */ lui $at, 0x8004 -/* 026FE8 800263E8 03E00008 */ jr $ra -/* 026FEC 800263EC E42CFB18 */ swc1 $f12, -0x4e8($at) - -glabel func_800263F0 -/* 026FF0 800263F0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 026FF4 800263F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 026FF8 800263F8 8C8E0034 */ lw $t6, 0x34($a0) -/* 026FFC 800263FC 24010001 */ li $at, 1 -/* 027000 80026400 00803825 */ move $a3, $a0 -/* 027004 80026404 55C10013 */ bnel $t6, $at, .L80026454_ovl0 -/* 027008 80026408 8FBF0014 */ lw $ra, 0x14($sp) -/* 02700C 8002640C 8C840018 */ lw $a0, 0x18($a0) -/* 027010 80026410 27A5001C */ addiu $a1, $sp, 0x1c -/* 027014 80026414 5080000F */ beql $a0, $zero, .L80026454_ovl0 -/* 027018 80026418 8FBF0014 */ lw $ra, 0x14($sp) -/* 02701C 8002641C 0C00977A */ jal func_80025DE8 -/* 027020 80026420 AFA70030 */ sw $a3, 0x30($sp) -/* 027024 80026424 1040000A */ beqz $v0, .L80026450_ovl0 -/* 027028 80026428 8FA70030 */ lw $a3, 0x30($sp) -/* 02702C 8002642C A7A00020 */ sh $zero, 0x20($sp) -/* 027030 80026430 8CEF002C */ lw $t7, 0x2c($a3) -/* 027034 80026434 8FB8001C */ lw $t8, 0x1c($sp) -/* 027038 80026438 24E40050 */ addiu $a0, $a3, 0x50 -/* 02703C 8002643C 27A50020 */ addiu $a1, $sp, 0x20 -/* 027040 80026440 01F80019 */ multu $t7, $t8 -/* 027044 80026444 00003012 */ mflo $a2 -/* 027048 80026448 0C009818 */ jal func_80026060 -/* 02704C 8002644C 00000000 */ nop -.L80026450_ovl0: -/* 027050 80026450 8FBF0014 */ lw $ra, 0x14($sp) -.L80026454_ovl0: -/* 027054 80026454 27BD0030 */ addiu $sp, $sp, 0x30 -/* 027058 80026458 03E00008 */ jr $ra -/* 02705C 8002645C 00000000 */ nop - -glabel func_80026460 -/* 027060 80026460 8C820018 */ lw $v0, 0x18($a0) -/* 027064 80026464 241801E8 */ li $t8, 488 -/* 027068 80026468 50400008 */ beql $v0, $zero, .L8002648C_ovl0 -/* 02706C 8002646C AC98002C */ sw $t8, 0x2c($a0) -/* 027070 80026470 C4440008 */ lwc1 $f4, 8($v0) -/* 027074 80026474 46046182 */ mul.s $f6, $f12, $f4 -/* 027078 80026478 4600320D */ trunc.w.s $f8, $f6 -/* 02707C 8002647C 440F4000 */ mfc1 $t7, $f8 -/* 027080 80026480 03E00008 */ jr $ra -/* 027084 80026484 AC8F002C */ sw $t7, 0x2c($a0) - -glabel func_80026488 -/* 027088 80026488 AC98002C */ sw $t8, 0x2c($a0) -.L8002648C_ovl0: -/* 02708C 8002648C 03E00008 */ jr $ra -/* 027090 80026490 00000000 */ nop - -glabel func_80026494 -/* 027094 80026494 03E00008 */ jr $ra -/* 027098 80026498 00000000 */ nop - -glabel func_8002649C -/* 02709C 8002649C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0270A0 800264A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0270A4 800264A4 90AE0008 */ lbu $t6, 8($a1) -/* 0270A8 800264A8 240100FF */ li $at, 255 -/* 0270AC 800264AC 00009825 */ move $s3, $zero -/* 0270B0 800264B0 15C10075 */ bne $t6, $at, .L80026688_ovl0 -/* 0270B4 800264B4 00008025 */ move $s0, $zero -/* 0270B8 800264B8 90AF0009 */ lbu $t7, 9($a1) -/* 0270BC 800264BC 24010051 */ li $at, 81 -/* 0270C0 800264C0 24A20004 */ addiu $v0, $a1, 4 -/* 0270C4 800264C4 55E10071 */ bnel $t7, $at, .L8002668C_ovl0 -/* 0270C8 800264C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0270CC 800264CC 904E0008 */ lbu $t6, 8($v0) -/* 0270D0 800264D0 90580007 */ lbu $t8, 7($v0) -/* 0270D4 800264D4 8ED7002C */ lw $s7, 0x2c($s6) -/* 0270D8 800264D8 000E7A00 */ sll $t7, $t6, 8 -/* 0270DC 800264DC 904E0009 */ lbu $t6, 9($v0) -/* 0270E0 800264E0 0018CC00 */ sll $t9, $t8, 0x10 -/* 0270E4 800264E4 032FC025 */ or $t8, $t9, $t7 -/* 0270E8 800264E8 030E1825 */ or $v1, $t8, $t6 -/* 0270EC 800264EC 44832000 */ mtc1 $v1, $f4 -/* 0270F0 800264F0 02C02025 */ move $a0, $s6 -/* 0270F4 800264F4 0C009918 */ jal func_80026460 -/* 0270F8 800264F8 46802320 */ cvt.s.w $f12, $f4 -/* 0270FC 800264FC 8ED10058 */ lw $s1, 0x58($s6) -/* 027100 80026500 12200021 */ beqz $s1, .L80026588_ovl0 -/* 027104 80026504 00000000 */ nop -/* 027108 80026508 24140015 */ li $s4, 21 -.L8002650C_ovl0: -/* 02710C 8002650C 862F000C */ lh $t7, 0xc($s1) -/* 027110 80026510 8E390008 */ lw $t9, 8($s1) -/* 027114 80026514 8E320000 */ lw $s2, ($s1) -/* 027118 80026518 168F0019 */ bne $s4, $t7, .L80026580_ovl0 -/* 02711C 8002651C 02799821 */ addu $s3, $s3, $t9 -/* 027120 80026520 0C0097DD */ jal func_80025F74 -/* 027124 80026524 02202025 */ move $a0, $s1 -/* 027128 80026528 5200000B */ beql $s0, $zero, .L80026558_ovl0 -/* 02712C 8002652C AE200000 */ sw $zero, ($s1) -/* 027130 80026530 8E180000 */ lw $t8, ($s0) -/* 027134 80026534 AE300004 */ sw $s0, 4($s1) -/* 027138 80026538 AE380000 */ sw $t8, ($s1) -/* 02713C 8002653C 8E020000 */ lw $v0, ($s0) -/* 027140 80026540 10400002 */ beqz $v0, .L8002654C_ovl0 -/* 027144 80026544 00000000 */ nop -/* 027148 80026548 AC510004 */ sw $s1, 4($v0) -.L8002654C_ovl0: -/* 02714C 8002654C 10000004 */ b .L80026560_ovl0 -/* 027150 80026550 AE110000 */ sw $s1, ($s0) -/* 027154 80026554 AE200000 */ sw $zero, ($s1) -.L80026558_ovl0: -/* 027158 80026558 AE200004 */ sw $zero, 4($s1) -/* 02715C 8002655C 02208025 */ move $s0, $s1 -.L80026560_ovl0: -/* 027160 80026560 12400006 */ beqz $s2, .L8002657C_ovl0 -/* 027164 80026564 02601825 */ move $v1, $s3 -/* 027168 80026568 8E220008 */ lw $v0, 8($s1) -/* 02716C 8002656C 8E4E0008 */ lw $t6, 8($s2) -/* 027170 80026570 02629823 */ subu $s3, $s3, $v0 -/* 027174 80026574 01C2C821 */ addu $t9, $t6, $v0 -/* 027178 80026578 AE590008 */ sw $t9, 8($s2) -.L8002657C_ovl0: -/* 02717C 8002657C AE230008 */ sw $v1, 8($s1) -.L80026580_ovl0: -/* 027180 80026580 1640FFE2 */ bnez $s2, .L8002650C_ovl0 -/* 027184 80026584 02408825 */ move $s1, $s2 -.L80026588_ovl0: -/* 027188 80026588 1200003F */ beqz $s0, .L80026688_ovl0 -/* 02718C 8002658C 02008825 */ move $s1, $s0 -/* 027190 80026590 26D30050 */ addiu $s3, $s6, 0x50 -/* 027194 80026594 26740008 */ addiu $s4, $s3, 8 -/* 027198 80026598 2415FFF8 */ li $s5, -8 -.L8002659C_ovl0: -/* 02719C 8002659C 8E2F0008 */ lw $t7, 8($s1) -/* 0271A0 800265A0 8ED8002C */ lw $t8, 0x2c($s6) -/* 0271A4 800265A4 8E320000 */ lw $s2, ($s1) -/* 0271A8 800265A8 01F7001A */ div $zero, $t7, $s7 -/* 0271AC 800265AC 00001012 */ mflo $v0 -/* 0271B0 800265B0 24040001 */ li $a0, 1 -/* 0271B4 800265B4 16E00002 */ bnez $s7, .L800265C0_ovl0 -/* 0271B8 800265B8 00000000 */ nop -/* 0271BC 800265BC 0007000D */ break 7 -.L800265C0_ovl0: -/* 0271C0 800265C0 2401FFFF */ li $at, -1 -/* 0271C4 800265C4 16E10004 */ bne $s7, $at, .L800265D8_ovl0 -/* 0271C8 800265C8 3C018000 */ lui $at, 0x8000 -/* 0271CC 800265CC 15E10002 */ bne $t7, $at, .L800265D8_ovl0 -/* 0271D0 800265D0 00000000 */ nop -/* 0271D4 800265D4 0006000D */ break 6 -.L800265D8_ovl0: -/* 0271D8 800265D8 03020019 */ multu $t8, $v0 -/* 0271DC 800265DC 02808025 */ move $s0, $s4 -/* 0271E0 800265E0 00007012 */ mflo $t6 -/* 0271E4 800265E4 AE2E0008 */ sw $t6, 8($s1) -/* 0271E8 800265E8 0C00B590 */ jal osSetIntMask -/* 0271EC 800265EC 00000000 */ nop -/* 0271F0 800265F0 12750021 */ beq $s3, $s5, .L80026678_ovl0 -/* 0271F4 800265F4 00403025 */ move $a2, $v0 -/* 0271F8 800265F8 8E040000 */ lw $a0, ($s0) -.L800265FC_ovl0: -/* 0271FC 800265FC 5480000A */ bnezl $a0, .L80026628_ovl0 -/* 027200 80026600 8E220008 */ lw $v0, 8($s1) -/* 027204 80026604 AE240000 */ sw $a0, ($s1) -/* 027208 80026608 AE300004 */ sw $s0, 4($s1) -/* 02720C 8002660C 8E040000 */ lw $a0, ($s0) -/* 027210 80026610 10800002 */ beqz $a0, .L8002661C_ovl0 -/* 027214 80026614 00000000 */ nop -/* 027218 80026618 AC910004 */ sw $s1, 4($a0) -.L8002661C_ovl0: -/* 02721C 8002661C 10000016 */ b .L80026678_ovl0 -/* 027220 80026620 AE110000 */ sw $s1, ($s0) -/* 027224 80026624 8E220008 */ lw $v0, 8($s1) -.L80026628_ovl0: -/* 027228 80026628 8C830008 */ lw $v1, 8($a0) -/* 02722C 8002662C 00802825 */ move $a1, $a0 -/* 027230 80026630 0043082A */ slt $at, $v0, $v1 -/* 027234 80026634 1020000C */ beqz $at, .L80026668_ovl0 -/* 027238 80026638 0043C023 */ subu $t8, $v0, $v1 -/* 02723C 8002663C 0062C823 */ subu $t9, $v1, $v0 -/* 027240 80026640 AC990008 */ sw $t9, 8($a0) -/* 027244 80026644 8E0F0000 */ lw $t7, ($s0) -/* 027248 80026648 AE300004 */ sw $s0, 4($s1) -/* 02724C 8002664C AE2F0000 */ sw $t7, ($s1) -/* 027250 80026650 8E040000 */ lw $a0, ($s0) -/* 027254 80026654 10800002 */ beqz $a0, .L80026660_ovl0 -/* 027258 80026658 00000000 */ nop -/* 02725C 8002665C AC910004 */ sw $s1, 4($a0) -.L80026660_ovl0: -/* 027260 80026660 10000005 */ b .L80026678_ovl0 -/* 027264 80026664 AE110000 */ sw $s1, ($s0) -.L80026668_ovl0: -/* 027268 80026668 AE380008 */ sw $t8, 8($s1) -/* 02726C 8002666C 8E100000 */ lw $s0, ($s0) -/* 027270 80026670 5600FFE2 */ bnezl $s0, .L800265FC_ovl0 -/* 027274 80026674 8E040000 */ lw $a0, ($s0) -.L80026678_ovl0: -/* 027278 80026678 0C00B590 */ jal osSetIntMask -/* 02727C 8002667C 00C02025 */ move $a0, $a2 -/* 027280 80026680 1640FFC6 */ bnez $s2, .L8002659C_ovl0 -/* 027284 80026684 02408825 */ move $s1, $s2 -.L80026688_ovl0: -/* 027288 80026688 8FBF0014 */ lw $ra, 0x14($sp) -.L8002668C_ovl0: -/* 02728C 8002668C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 027290 80026690 03E00008 */ jr $ra -/* 027294 80026694 00000000 */ nop - -glabel func_80026698 -/* 027298 80026698 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02729C 8002669C AFB20020 */ sw $s2, 0x20($sp) -/* 0272A0 800266A0 3C128009 */ lui $s2, %hi(D_800978E0) # $s2, 0x8009 -/* 0272A4 800266A4 265278E0 */ addiu $s2, %lo(D_800978E0) # addiu $s2, $s2, 0x78e0 -/* 0272A8 800266A8 AFB1001C */ sw $s1, 0x1c($sp) -/* 0272AC 800266AC 8E51003C */ lw $s1, 0x3c($s2) -/* 0272B0 800266B0 AFB40028 */ sw $s4, 0x28($sp) -/* 0272B4 800266B4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0272B8 800266B8 AFB30024 */ sw $s3, 0x24($sp) -/* 0272BC 800266BC AFB00018 */ sw $s0, 0x18($sp) -/* 0272C0 800266C0 AFA40030 */ sw $a0, 0x30($sp) -/* 0272C4 800266C4 12200032 */ beqz $s1, .L80026790_ovl0 -/* 0272C8 800266C8 0000A025 */ move $s4, $zero -.L800266CC_ovl0: -/* 0272CC 800266CC 922E002A */ lbu $t6, 0x2a($s1) -/* 0272D0 800266D0 8E330000 */ lw $s3, ($s1) -/* 0272D4 800266D4 26300004 */ addiu $s0, $s1, 4 -/* 0272D8 800266D8 55C0002B */ bnezl $t6, .L80026788_ovl0 -/* 0272DC 800266DC 0220A025 */ move $s4, $s1 -/* 0272E0 800266E0 0C00AA9C */ jal func_8002AA70 -/* 0272E4 800266E4 02002025 */ move $a0, $s0 -/* 0272E8 800266E8 0C00B46C */ jal func_8002D1B0 -/* 0272EC 800266EC 02002025 */ move $a0, $s0 -/* 0272F0 800266F0 8E500040 */ lw $s0, 0x40($s2) -/* 0272F4 800266F4 52000009 */ beql $s0, $zero, .L8002671C_ovl0 -/* 0272F8 800266F8 8E240044 */ lw $a0, 0x44($s1) -/* 0272FC 800266FC 8E0F0028 */ lw $t7, 0x28($s0) -.L80026700_ovl0: -/* 027300 80026700 562F0003 */ bnel $s1, $t7, .L80026710_ovl0 -/* 027304 80026704 8E100000 */ lw $s0, ($s0) -/* 027308 80026708 AE000028 */ sw $zero, 0x28($s0) -/* 02730C 8002670C 8E100000 */ lw $s0, ($s0) -.L80026710_ovl0: -/* 027310 80026710 5600FFFB */ bnezl $s0, .L80026700_ovl0 -/* 027314 80026714 8E0F0028 */ lw $t7, 0x28($s0) -/* 027318 80026718 8E240044 */ lw $a0, 0x44($s1) -.L8002671C_ovl0: -/* 02731C 8002671C 1080000E */ beqz $a0, .L80026758_ovl0 -/* 027320 80026720 00000000 */ nop -/* 027324 80026724 8C820000 */ lw $v0, ($a0) -/* 027328 80026728 00801825 */ move $v1, $a0 -/* 02732C 8002672C 50400006 */ beql $v0, $zero, .L80026748_ovl0 -/* 027330 80026730 8E580030 */ lw $t8, 0x30($s2) -/* 027334 80026734 00401825 */ move $v1, $v0 -.L80026738_ovl0: -/* 027338 80026738 8C420000 */ lw $v0, ($v0) -/* 02733C 8002673C 5440FFFE */ bnezl $v0, .L80026738_ovl0 -/* 027340 80026740 00401825 */ move $v1, $v0 -/* 027344 80026744 8E580030 */ lw $t8, 0x30($s2) -.L80026748_ovl0: -/* 027348 80026748 AC780000 */ sw $t8, ($v1) -/* 02734C 8002674C 8E390044 */ lw $t9, 0x44($s1) -/* 027350 80026750 AE590030 */ sw $t9, 0x30($s2) -/* 027354 80026754 AE200044 */ sw $zero, 0x44($s1) -.L80026758_ovl0: -/* 027358 80026758 12800004 */ beqz $s4, .L8002676C_ovl0 -/* 02735C 8002675C A6200048 */ sh $zero, 0x48($s1) -/* 027360 80026760 8E280000 */ lw $t0, ($s1) -/* 027364 80026764 10000003 */ b .L80026774_ovl0 -/* 027368 80026768 AE880000 */ sw $t0, ($s4) -.L8002676C_ovl0: -/* 02736C 8002676C 8E290000 */ lw $t1, ($s1) -/* 027370 80026770 AE49003C */ sw $t1, 0x3c($s2) -.L80026774_ovl0: -/* 027374 80026774 8E4A0034 */ lw $t2, 0x34($s2) -/* 027378 80026778 AE2A0000 */ sw $t2, ($s1) -/* 02737C 8002677C 10000002 */ b .L80026788_ovl0 -/* 027380 80026780 AE510034 */ sw $s1, 0x34($s2) -/* 027384 80026784 0220A025 */ move $s4, $s1 -.L80026788_ovl0: -/* 027388 80026788 1660FFD0 */ bnez $s3, .L800266CC_ovl0 -/* 02738C 8002678C 02608825 */ move $s1, $s3 -.L80026790_ovl0: -/* 027390 80026790 8E500040 */ lw $s0, 0x40($s2) -/* 027394 80026794 52000007 */ beql $s0, $zero, .L800267B4_ovl0 -/* 027398 80026798 8E51003C */ lw $s1, 0x3c($s2) -.L8002679C_ovl0: -/* 02739C 8002679C 0C008FA0 */ jal func_80023E80 -/* 0273A0 800267A0 02002025 */ move $a0, $s0 -/* 0273A4 800267A4 8E100000 */ lw $s0, ($s0) -/* 0273A8 800267A8 1600FFFC */ bnez $s0, .L8002679C_ovl0 -/* 0273AC 800267AC 00000000 */ nop -/* 0273B0 800267B0 8E51003C */ lw $s1, 0x3c($s2) -.L800267B4_ovl0: -/* 0273B4 800267B4 52200007 */ beql $s1, $zero, .L800267D4_ovl0 -/* 0273B8 800267B8 8E500040 */ lw $s0, 0x40($s2) -.L800267BC_ovl0: -/* 0273BC 800267BC 0C0091D4 */ jal func_80024750 -/* 0273C0 800267C0 02202025 */ move $a0, $s1 -/* 0273C4 800267C4 8E310000 */ lw $s1, ($s1) -/* 0273C8 800267C8 1620FFFC */ bnez $s1, .L800267BC_ovl0 -/* 0273CC 800267CC 00000000 */ nop -/* 0273D0 800267D0 8E500040 */ lw $s0, 0x40($s2) -.L800267D4_ovl0: -/* 0273D4 800267D4 00001025 */ move $v0, $zero -/* 0273D8 800267D8 3404FFFF */ li $a0, 65535 -/* 0273DC 800267DC 12000014 */ beqz $s0, .L80026830_ovl0 -/* 0273E0 800267E0 00000000 */ nop -.L800267E4_ovl0: -/* 0273E4 800267E4 960B0010 */ lhu $t3, 0x10($s0) -/* 0273E8 800267E8 8E030000 */ lw $v1, ($s0) -/* 0273EC 800267EC 548B000E */ bnel $a0, $t3, .L80026828_ovl0 -/* 0273F0 800267F0 02001025 */ move $v0, $s0 -/* 0273F4 800267F4 A6000010 */ sh $zero, 0x10($s0) -/* 0273F8 800267F8 10400004 */ beqz $v0, .L8002680C_ovl0 -/* 0273FC 800267FC A6000026 */ sh $zero, 0x26($s0) -/* 027400 80026800 8E0C0000 */ lw $t4, ($s0) -/* 027404 80026804 10000003 */ b .L80026814_ovl0 -/* 027408 80026808 AC4C0000 */ sw $t4, ($v0) -.L8002680C_ovl0: -/* 02740C 8002680C 8E0D0000 */ lw $t5, ($s0) -/* 027410 80026810 AE4D0040 */ sw $t5, 0x40($s2) -.L80026814_ovl0: -/* 027414 80026814 8E4E0038 */ lw $t6, 0x38($s2) -/* 027418 80026818 AE0E0000 */ sw $t6, ($s0) -/* 02741C 8002681C 10000002 */ b .L80026828_ovl0 -/* 027420 80026820 AE500038 */ sw $s0, 0x38($s2) -/* 027424 80026824 02001025 */ move $v0, $s0 -.L80026828_ovl0: -/* 027428 80026828 1460FFEE */ bnez $v1, .L800267E4_ovl0 -/* 02742C 8002682C 00608025 */ move $s0, $v1 -.L80026830_ovl0: -/* 027430 80026830 3C028004 */ lui $v0, %hi(D_8003FB24) # $v0, 0x8004 -/* 027434 80026834 2442FB24 */ addiu $v0, %lo(D_8003FB24) # addiu $v0, $v0, -0x4dc -/* 027438 80026838 8C4F0000 */ lw $t7, ($v0) -/* 02743C 8002683C 3C010026 */ lui $at, (0x00269EC3 >> 16) # lui $at, 0x26 -/* 027440 80026840 34219EC3 */ ori $at, (0x00269EC3 & 0xFFFF) # ori $at, $at, 0x9ec3 -/* 027444 80026844 000FC080 */ sll $t8, $t7, 2 -/* 027448 80026848 030FC023 */ subu $t8, $t8, $t7 -/* 02744C 8002684C 0018C080 */ sll $t8, $t8, 2 -/* 027450 80026850 030FC021 */ addu $t8, $t8, $t7 -/* 027454 80026854 0018C100 */ sll $t8, $t8, 4 -/* 027458 80026858 030FC021 */ addu $t8, $t8, $t7 -/* 02745C 8002685C 0018C200 */ sll $t8, $t8, 8 -/* 027460 80026860 030FC023 */ subu $t8, $t8, $t7 -/* 027464 80026864 0018C080 */ sll $t8, $t8, 2 -/* 027468 80026868 030FC021 */ addu $t8, $t8, $t7 -/* 02746C 8002686C 0301C821 */ addu $t9, $t8, $at -/* 027470 80026870 AC590000 */ sw $t9, ($v0) -/* 027474 80026874 8FBF002C */ lw $ra, 0x2c($sp) -/* 027478 80026878 8E420044 */ lw $v0, 0x44($s2) -/* 02747C 8002687C 8FB20020 */ lw $s2, 0x20($sp) -/* 027480 80026880 8FB40028 */ lw $s4, 0x28($sp) -/* 027484 80026884 8FB30024 */ lw $s3, 0x24($sp) -/* 027488 80026888 8FB1001C */ lw $s1, 0x1c($sp) -/* 02748C 8002688C 8FB00018 */ lw $s0, 0x18($sp) -/* 027490 80026890 03E00008 */ jr $ra -/* 027494 80026894 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_80026898 -/* 027498 80026898 5480000C */ bnezl $a0, .L800268CC_ovl0 -/* 02749C 8002689C 44842000 */ mtc1 $a0, $f4 -/* 0274A0 800268A0 460C703E */ c.le.s $f14, $f12 -/* 0274A4 800268A4 340EFFFF */ li $t6, 65535 -/* 0274A8 800268A8 00001025 */ move $v0, $zero -/* 0274AC 800268AC 45000004 */ bc1f .L800268C0_ovl0 -/* 0274B0 800268B0 00000000 */ nop -/* 0274B4 800268B4 A4AE0000 */ sh $t6, ($a1) -/* 0274B8 800268B8 03E00008 */ jr $ra -/* 0274BC 800268BC 24027FFF */ li $v0, 32767 - -.L800268C0_ovl0: -/* 0274C0 800268C0 03E00008 */ jr $ra -/* 0274C4 800268C4 A4A00000 */ sh $zero, ($a1) - -glabel func_800268C8 -/* 0274C8 800268C8 44842000 */ mtc1 $a0, $f4 -.L800268CC_ovl0: -/* 0274CC 800268CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0274D0 800268D0 44819000 */ mtc1 $at, $f18 -/* 0274D4 800268D4 468021A0 */ cvt.s.w $f6, $f4 -/* 0274D8 800268D8 44804000 */ mtc1 $zero, $f8 -/* 0274DC 800268DC 4612603C */ c.lt.s $f12, $f18 -/* 0274E0 800268E0 46069003 */ div.s $f0, $f18, $f6 -/* 0274E4 800268E4 45020003 */ bc1fl .L800268F4_ovl0 -/* 0274E8 800268E8 4608703E */ c.le.s $f14, $f8 -/* 0274EC 800268EC 46009306 */ mov.s $f12, $f18 -/* 0274F0 800268F0 4608703E */ c.le.s $f14, $f8 -.L800268F4_ovl0: -/* 0274F4 800268F4 00000000 */ nop -/* 0274F8 800268F8 45020003 */ bc1fl .L80026908_ovl0 -/* 0274FC 800268FC 460E6281 */ sub.s $f10, $f12, $f14 -/* 027500 80026900 46009386 */ mov.s $f14, $f18 -/* 027504 80026904 460E6281 */ sub.s $f10, $f12, $f14 -.L80026908_ovl0: -/* 027508 80026908 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 02750C 8002690C 44813000 */ mtc1 $at, $f6 -/* 027510 80026910 3C018004 */ lui $at, %hi(D_800414C4) # $at, 0x8004 -/* 027514 80026914 46005102 */ mul.s $f4, $f10, $f0 -/* 027518 80026918 240E0001 */ li $t6, 1 -/* 02751C 8002691C 46062082 */ mul.s $f2, $f4, $f6 -/* 027520 80026920 4600120D */ trunc.w.s $f8, $f2 -/* 027524 80026924 44034000 */ mfc1 $v1, $f8 -/* 027528 80026928 00000000 */ nop -/* 02752C 8002692C 00031C00 */ sll $v1, $v1, 0x10 -/* 027530 80026930 00031C03 */ sra $v1, $v1, 0x10 -/* 027534 80026934 44835000 */ mtc1 $v1, $f10 -/* 027538 80026938 00000000 */ nop -/* 02753C 8002693C 46805120 */ cvt.s.w $f4, $f10 -/* 027540 80026940 C42A14C4 */ lwc1 $f10, %lo(D_800414C4)($at) -/* 027544 80026944 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 027548 80026948 46041181 */ sub.s $f6, $f2, $f4 -/* 02754C 8002694C 46123400 */ add.s $f16, $f6, $f18 -/* 027550 80026950 4600820D */ trunc.w.s $f8, $f16 -/* 027554 80026954 44044000 */ mfc1 $a0, $f8 -/* 027558 80026958 00000000 */ nop -/* 02755C 8002695C 00042400 */ sll $a0, $a0, 0x10 -/* 027560 80026960 00042403 */ sra $a0, $a0, 0x10 -/* 027564 80026964 44842000 */ mtc1 $a0, $f4 -/* 027568 80026968 00000000 */ nop -/* 02756C 8002696C 468021A0 */ cvt.s.w $f6, $f4 -/* 027570 80026970 46068201 */ sub.s $f8, $f16, $f6 -/* 027574 80026974 46085102 */ mul.s $f4, $f10, $f8 -/* 027578 80026978 4459F800 */ cfc1 $t9, $31 -/* 02757C 8002697C 44CEF800 */ ctc1 $t6, $31 -/* 027580 80026980 00000000 */ nop -/* 027584 80026984 460021A4 */ cvt.w.s $f6, $f4 -/* 027588 80026988 444EF800 */ cfc1 $t6, $31 -/* 02758C 8002698C 00000000 */ nop -/* 027590 80026990 31CE0078 */ andi $t6, $t6, 0x78 -/* 027594 80026994 51C00013 */ beql $t6, $zero, .L800269E4_ovl0 -/* 027598 80026998 440E3000 */ mfc1 $t6, $f6 -/* 02759C 8002699C 44813000 */ mtc1 $at, $f6 -/* 0275A0 800269A0 240E0001 */ li $t6, 1 -/* 0275A4 800269A4 46062181 */ sub.s $f6, $f4, $f6 -/* 0275A8 800269A8 44CEF800 */ ctc1 $t6, $31 -/* 0275AC 800269AC 00000000 */ nop -/* 0275B0 800269B0 460031A4 */ cvt.w.s $f6, $f6 -/* 0275B4 800269B4 444EF800 */ cfc1 $t6, $31 -/* 0275B8 800269B8 00000000 */ nop -/* 0275BC 800269BC 31CE0078 */ andi $t6, $t6, 0x78 -/* 0275C0 800269C0 15C00005 */ bnez $t6, .L800269D8_ovl0 -/* 0275C4 800269C4 00000000 */ nop -/* 0275C8 800269C8 440E3000 */ mfc1 $t6, $f6 -/* 0275CC 800269CC 3C018000 */ lui $at, 0x8000 -/* 0275D0 800269D0 10000007 */ b .L800269F0_ovl0 -/* 0275D4 800269D4 01C17025 */ or $t6, $t6, $at -.L800269D8_ovl0: -/* 0275D8 800269D8 10000005 */ b .L800269F0_ovl0 -/* 0275DC 800269DC 240EFFFF */ li $t6, -1 -/* 0275E0 800269E0 440E3000 */ mfc1 $t6, $f6 -.L800269E4_ovl0: -/* 0275E4 800269E4 00000000 */ nop -/* 0275E8 800269E8 05C0FFFB */ bltz $t6, .L800269D8_ovl0 -/* 0275EC 800269EC 00000000 */ nop -.L800269F0_ovl0: -/* 0275F0 800269F0 44D9F800 */ ctc1 $t9, $31 -/* 0275F4 800269F4 2479FFFF */ addiu $t9, $v1, -1 -/* 0275F8 800269F8 03241021 */ addu $v0, $t9, $a0 -/* 0275FC 800269FC 00021400 */ sll $v0, $v0, 0x10 -/* 027600 80026A00 A4AE0000 */ sh $t6, ($a1) -/* 027604 80026A04 00021403 */ sra $v0, $v0, 0x10 -/* 027608 80026A08 03E00008 */ jr $ra -/* 02760C 80026A0C 00000000 */ nop - -glabel func_80026A10 -/* 027610 80026A10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 027614 80026A14 AFB4002C */ sw $s4, 0x2c($sp) -/* 027618 80026A18 AFB60028 */ sw $s6, 0x28($sp) -/* 02761C 80026A1C 0016B400 */ sll $s6, $s6, 0x10 -/* 027620 80026A20 0014A400 */ sll $s4, $s4, 0x10 -/* 027624 80026A24 0014A403 */ sra $s4, $s4, 0x10 -/* 027628 80026A28 0016B403 */ sra $s6, $s6, 0x10 -/* 02762C 80026A2C 1A200017 */ blez $s1, .L80026A8C_ovl0 -/* 027630 80026A30 AFBF0014 */ sw $ra, 0x14($sp) -/* 027634 80026A34 8E590028 */ lw $t9, 0x28($s2) -/* 027638 80026A38 8E44003C */ lw $a0, 0x3c($s2) -/* 02763C 80026A3C 02202825 */ move $a1, $s1 -/* 027640 80026A40 0320F809 */ jalr $t9 -/* 027644 80026A44 8E46002C */ lw $a2, 0x2c($s2) -/* 027648 80026A48 30450007 */ andi $a1, $v0, 7 -/* 02764C 80026A4C 02258821 */ addu $s1, $s1, $a1 -/* 027650 80026A50 322E0007 */ andi $t6, $s1, 7 -/* 027654 80026A54 022E7823 */ subu $t7, $s1, $t6 -/* 027658 80026A58 25F80008 */ addiu $t8, $t7, 8 -/* 02765C 80026A5C 33190FFF */ andi $t9, $t8, 0xfff -/* 027660 80026A60 00197300 */ sll $t6, $t9, 0xc -/* 027664 80026A64 3C010400 */ lui $at, 0x400 -/* 027668 80026A68 01C17825 */ or $t7, $t6, $at -/* 02766C 80026A6C 32980FFF */ andi $t8, $s4, 0xfff -/* 027670 80026A70 02002025 */ move $a0, $s0 -/* 027674 80026A74 01F8C825 */ or $t9, $t7, $t8 -/* 027678 80026A78 00457023 */ subu $t6, $v0, $a1 -/* 02767C 80026A7C AC8E0004 */ sw $t6, 4($a0) -/* 027680 80026A80 AC990000 */ sw $t9, ($a0) -/* 027684 80026A84 10000002 */ b .L80026A90_ovl0 -/* 027688 80026A88 26100008 */ addiu $s0, $s0, 8 -.L80026A8C_ovl0: -/* 02768C 80026A8C 00002825 */ move $a1, $zero -.L80026A90_ovl0: -/* 027690 80026A90 326F0002 */ andi $t7, $s3, 2 -/* 027694 80026A94 11E00009 */ beqz $t7, .L80026ABC_ovl0 -/* 027698 80026A98 02001025 */ move $v0, $s0 -/* 02769C 80026A9C 3C180F00 */ lui $t8, 0xf00 -/* 0276A0 80026AA0 AC580000 */ sw $t8, ($v0) -/* 0276A4 80026AA4 8E590010 */ lw $t9, 0x10($s2) -/* 0276A8 80026AA8 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 0276AC 80026AAC 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0276B0 80026AB0 03217024 */ and $t6, $t9, $at -/* 0276B4 80026AB4 AC4E0004 */ sw $t6, 4($v0) -/* 0276B8 80026AB8 26100008 */ addiu $s0, $s0, 8 -.L80026ABC_ovl0: -/* 0276BC 80026ABC 8E4F000C */ lw $t7, 0xc($s2) -/* 0276C0 80026AC0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 0276C4 80026AC4 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0276C8 80026AC8 01E1C024 */ and $t8, $t7, $at -/* 0276CC 80026ACC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0276D0 80026AD0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0276D4 80026AD4 0301C824 */ and $t9, $t8, $at -/* 0276D8 80026AD8 3C010100 */ lui $at, 0x100 -/* 0276DC 80026ADC 03217025 */ or $t6, $t9, $at -/* 0276E0 80026AE0 02001825 */ move $v1, $s0 -/* 0276E4 80026AE4 AC6E0000 */ sw $t6, ($v1) -/* 0276E8 80026AE8 0015C840 */ sll $t9, $s5, 1 -/* 0276EC 80026AEC 332E0FFF */ andi $t6, $t9, 0xfff -/* 0276F0 80026AF0 000E7C00 */ sll $t7, $t6, 0x10 -/* 0276F4 80026AF4 0013C700 */ sll $t8, $s3, 0x1c -/* 0276F8 80026AF8 030FC825 */ or $t9, $t8, $t7 -/* 0276FC 80026AFC 30AE000F */ andi $t6, $a1, 0xf -/* 027700 80026B00 000EC300 */ sll $t8, $t6, 0xc -/* 027704 80026B04 03387825 */ or $t7, $t9, $t8 -/* 027708 80026B08 32CE0FFF */ andi $t6, $s6, 0xfff -/* 02770C 80026B0C 01EEC825 */ or $t9, $t7, $t6 -/* 027710 80026B10 AC790004 */ sw $t9, 4($v1) -/* 027714 80026B14 AE400038 */ sw $zero, 0x38($s2) -/* 027718 80026B18 8FBF0014 */ lw $ra, 0x14($sp) -/* 02771C 80026B1C 26100008 */ addiu $s0, $s0, 8 -/* 027720 80026B20 02001025 */ move $v0, $s0 -/* 027724 80026B24 03E00008 */ jr $ra -/* 027728 80026B28 27BD0018 */ addiu $sp, $sp, 0x18 - -glabel func_80026B2C -/* 02772C 80026B2C 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 027730 80026B30 AFB70044 */ sw $s7, 0x44($sp) -/* 027734 80026B34 0080B825 */ move $s7, $a0 -/* 027738 80026B38 AFBF004C */ sw $ra, 0x4c($sp) -/* 02773C 80026B3C AFBE0048 */ sw $fp, 0x48($sp) -/* 027740 80026B40 AFB60040 */ sw $s6, 0x40($sp) -/* 027744 80026B44 AFB5003C */ sw $s5, 0x3c($sp) -/* 027748 80026B48 AFB40038 */ sw $s4, 0x38($sp) -/* 02774C 80026B4C AFB30034 */ sw $s3, 0x34($sp) -/* 027750 80026B50 AFB20030 */ sw $s2, 0x30($sp) -/* 027754 80026B54 AFB1002C */ sw $s1, 0x2c($sp) -/* 027758 80026B58 AFB00028 */ sw $s0, 0x28($sp) -/* 02775C 80026B5C 00A05825 */ move $t3, $a1 -/* 027760 80026B60 00C04025 */ move $t0, $a2 -/* 027764 80026B64 14C00003 */ bnez $a2, .L80026B74_ovl0 -/* 027768 80026B68 00006825 */ move $t5, $zero -/* 02776C 80026B6C 10000102 */ b .L80026F78_ovl0 -/* 027770 80026B70 00E01025 */ move $v0, $a3 -.L80026B74_ovl0: -/* 027774 80026B74 8EEE0024 */ lw $t6, 0x24($s7) -/* 027778 80026B78 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 02777C 80026B7C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 027780 80026B80 01C17824 */ and $t7, $t6, $at -/* 027784 80026B84 3C010B00 */ lui $at, 0xb00 -/* 027788 80026B88 01E1C025 */ or $t8, $t7, $at -/* 02778C 80026B8C ACF80000 */ sw $t8, ($a3) -/* 027790 80026B90 8EF90020 */ lw $t9, 0x20($s7) -/* 027794 80026B94 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 027798 80026B98 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 02779C 80026B9C 8F2E0010 */ lw $t6, 0x10($t9) -/* 0277A0 80026BA0 24EA0008 */ addiu $t2, $a3, 8 -/* 0277A4 80026BA4 01002825 */ move $a1, $t0 -/* 0277A8 80026BA8 25CF0008 */ addiu $t7, $t6, 8 -/* 0277AC 80026BAC 01E1C024 */ and $t8, $t7, $at -/* 0277B0 80026BB0 ACF80004 */ sw $t8, 4($a3) -/* 0277B4 80026BB4 8EE30030 */ lw $v1, 0x30($s7) -/* 0277B8 80026BB8 8EE40018 */ lw $a0, 0x18($s7) -/* 0277BC 80026BBC 240E0010 */ li $t6, 16 -/* 0277C0 80026BC0 0068C821 */ addu $t9, $v1, $t0 -/* 0277C4 80026BC4 0099482B */ sltu $t1, $a0, $t9 -/* 0277C8 80026BC8 11200003 */ beqz $t1, .L80026BD8_ovl0 -/* 0277CC 80026BCC 00003025 */ move $a2, $zero -/* 0277D0 80026BD0 8EE9001C */ lw $t1, 0x1c($s7) -/* 0277D4 80026BD4 0009482B */ sltu $t1, $zero, $t1 -.L80026BD8_ovl0: -/* 0277D8 80026BD8 11200003 */ beqz $t1, .L80026BE8_ovl0 -/* 0277DC 80026BDC 24010009 */ li $at, 9 -/* 0277E0 80026BE0 10000001 */ b .L80026BE8_ovl0 -/* 0277E4 80026BE4 00832823 */ subu $a1, $a0, $v1 -.L80026BE8_ovl0: -/* 0277E8 80026BE8 8EE30034 */ lw $v1, 0x34($s7) -/* 0277EC 80026BEC 01408025 */ move $s0, $t2 -/* 0277F0 80026BF0 02E09025 */ move $s2, $s7 -/* 0277F4 80026BF4 10600003 */ beqz $v1, .L80026C04_ovl0 -/* 0277F8 80026BF8 0000A025 */ move $s4, $zero -/* 0277FC 80026BFC 10000001 */ b .L80026C04_ovl0 -/* 027800 80026C00 01C33023 */ subu $a2, $t6, $v1 -.L80026C04_ovl0: -/* 027804 80026C04 00A62023 */ subu $a0, $a1, $a2 -/* 027808 80026C08 04810002 */ bgez $a0, .L80026C14_ovl0 -/* 02780C 80026C0C 00000000 */ nop -/* 027810 80026C10 00002025 */ move $a0, $zero -.L80026C14_ovl0: -/* 027814 80026C14 1120007E */ beqz $t1, .L80026E10_ovl0 -/* 027818 80026C18 249E000F */ addiu $fp, $a0, 0xf -/* 02781C 80026C1C 249E000F */ addiu $fp, $a0, 0xf -/* 027820 80026C20 001EF103 */ sra $fp, $fp, 4 -/* 027824 80026C24 85760000 */ lh $s6, ($t3) -/* 027828 80026C28 8EF30038 */ lw $s3, 0x38($s7) -/* 02782C 80026C2C 001E48C0 */ sll $t1, $fp, 3 -/* 027830 80026C30 013E4821 */ addu $t1, $t1, $fp -/* 027834 80026C34 01208825 */ move $s1, $t1 -/* 027838 80026C38 AFA9005C */ sw $t1, 0x5c($sp) -/* 02783C 80026C3C AFAB00B4 */ sw $t3, 0xb4($sp) -/* 027840 80026C40 AFA800B8 */ sw $t0, 0xb8($sp) -/* 027844 80026C44 AFA5008C */ sw $a1, 0x8c($sp) -/* 027848 80026C48 0C009A84 */ jal func_80026A10 -/* 02784C 80026C4C 0080A825 */ move $s5, $a0 -/* 027850 80026C50 8EE30034 */ lw $v1, 0x34($s7) -/* 027854 80026C54 8FA5008C */ lw $a1, 0x8c($sp) -/* 027858 80026C58 8FA800B8 */ lw $t0, 0xb8($sp) -/* 02785C 80026C5C 8FA9005C */ lw $t1, 0x5c($sp) -/* 027860 80026C60 8FAB00B4 */ lw $t3, 0xb4($sp) -/* 027864 80026C64 10600006 */ beqz $v1, .L80026C80_ovl0 -/* 027868 80026C68 00405025 */ move $t2, $v0 -/* 02786C 80026C6C 856F0000 */ lh $t7, ($t3) -/* 027870 80026C70 0003C040 */ sll $t8, $v1, 1 -/* 027874 80026C74 01F8C821 */ addu $t9, $t7, $t8 -/* 027878 80026C78 10000004 */ b .L80026C8C_ovl0 -/* 02787C 80026C7C A5790000 */ sh $t9, ($t3) -.L80026C80_ovl0: -/* 027880 80026C80 856E0000 */ lh $t6, ($t3) -/* 027884 80026C84 25CF0020 */ addiu $t7, $t6, 0x20 -/* 027888 80026C88 A56F0000 */ sh $t7, ($t3) -.L80026C8C_ovl0: -/* 02788C 80026C8C 8EE20014 */ lw $v0, 0x14($s7) -/* 027890 80026C90 8EF90020 */ lw $t9, 0x20($s7) -/* 027894 80026C94 00A8082A */ slt $at, $a1, $t0 -/* 027898 80026C98 3058000F */ andi $t8, $v0, 0xf -/* 02789C 80026C9C AEF80034 */ sw $t8, 0x34($s7) -/* 0278A0 80026CA0 8F2E0000 */ lw $t6, ($t9) -/* 0278A4 80026CA4 00027902 */ srl $t7, $v0, 4 -/* 0278A8 80026CA8 000FC0C0 */ sll $t8, $t7, 3 -/* 0278AC 80026CAC 030FC021 */ addu $t8, $t8, $t7 -/* 0278B0 80026CB0 01D8C821 */ addu $t9, $t6, $t8 -/* 0278B4 80026CB4 272F0009 */ addiu $t7, $t9, 9 -/* 0278B8 80026CB8 AEEF003C */ sw $t7, 0x3c($s7) -/* 0278BC 80026CBC AEE20030 */ sw $v0, 0x30($s7) -/* 0278C0 80026CC0 10200047 */ beqz $at, .L80026DE0_ovl0 -/* 0278C4 80026CC4 85660000 */ lh $a2, ($t3) -/* 0278C8 80026CC8 00051840 */ sll $v1, $a1, 1 -.L80026CCC_ovl0: -/* 0278CC 80026CCC 27CE0001 */ addiu $t6, $fp, 1 -/* 0278D0 80026CD0 000EC140 */ sll $t8, $t6, 5 -/* 0278D4 80026CD4 03063821 */ addu $a3, $t8, $a2 -/* 0278D8 80026CD8 8EE2001C */ lw $v0, 0x1c($s7) -/* 0278DC 80026CDC 24E70010 */ addiu $a3, $a3, 0x10 -/* 0278E0 80026CE0 2401FFE0 */ li $at, -32 -/* 0278E4 80026CE4 00E13824 */ and $a3, $a3, $at -/* 0278E8 80026CE8 2401FFFF */ li $at, -1 -/* 0278EC 80026CEC 01054023 */ subu $t0, $t0, $a1 -/* 0278F0 80026CF0 10410004 */ beq $v0, $at, .L80026D04_ovl0 -/* 0278F4 80026CF4 00C33021 */ addu $a2, $a2, $v1 -/* 0278F8 80026CF8 10400002 */ beqz $v0, .L80026D04_ovl0 -/* 0278FC 80026CFC 2459FFFF */ addiu $t9, $v0, -1 -/* 027900 80026D00 AEF9001C */ sw $t9, 0x1c($s7) -.L80026D04_ovl0: -/* 027904 80026D04 8EEF0018 */ lw $t7, 0x18($s7) -/* 027908 80026D08 8EEE0014 */ lw $t6, 0x14($s7) -/* 02790C 80026D0C 01408025 */ move $s0, $t2 -/* 027910 80026D10 02E09025 */ move $s2, $s7 -/* 027914 80026D14 01EE1023 */ subu $v0, $t7, $t6 -/* 027918 80026D18 0102082B */ sltu $at, $t0, $v0 -/* 02791C 80026D1C 10200003 */ beqz $at, .L80026D2C_ovl0 -/* 027920 80026D20 0007B400 */ sll $s6, $a3, 0x10 -/* 027924 80026D24 10000002 */ b .L80026D30_ovl0 -/* 027928 80026D28 01002825 */ move $a1, $t0 -.L80026D2C_ovl0: -/* 02792C 80026D2C 00402825 */ move $a1, $v0 -.L80026D30_ovl0: -/* 027930 80026D30 8EF80034 */ lw $t8, 0x34($s7) -/* 027934 80026D34 0016B403 */ sra $s6, $s6, 0x10 -/* 027938 80026D38 0000A025 */ move $s4, $zero -/* 02793C 80026D3C 00B82021 */ addu $a0, $a1, $t8 -/* 027940 80026D40 2484FFF0 */ addiu $a0, $a0, -0x10 -/* 027944 80026D44 04830003 */ bgezl $a0, .L80026D54_ovl0 -/* 027948 80026D48 8EF30038 */ lw $s3, 0x38($s7) -/* 02794C 80026D4C 00002025 */ move $a0, $zero -/* 027950 80026D50 8EF30038 */ lw $s3, 0x38($s7) -.L80026D54_ovl0: -/* 027954 80026D54 249E000F */ addiu $fp, $a0, 0xf -/* 027958 80026D58 001EF103 */ sra $fp, $fp, 4 -/* 02795C 80026D5C 001E48C0 */ sll $t1, $fp, 3 -/* 027960 80026D60 013E4821 */ addu $t1, $t1, $fp -/* 027964 80026D64 01208825 */ move $s1, $t1 -/* 027968 80026D68 AFA9005C */ sw $t1, 0x5c($sp) -/* 02796C 80026D6C AFA800B8 */ sw $t0, 0xb8($sp) -/* 027970 80026D70 AFA70088 */ sw $a3, 0x88($sp) -/* 027974 80026D74 AFA60080 */ sw $a2, 0x80($sp) -/* 027978 80026D78 AFA5008C */ sw $a1, 0x8c($sp) -/* 02797C 80026D7C 0080A825 */ move $s5, $a0 -/* 027980 80026D80 0C009A84 */ jal func_80026A10 -/* 027984 80026D84 36730002 */ ori $s3, $s3, 2 -/* 027988 80026D88 8EF90034 */ lw $t9, 0x34($s7) -/* 02798C 80026D8C 8FA70088 */ lw $a3, 0x88($sp) -/* 027990 80026D90 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 027994 80026D94 00197840 */ sll $t7, $t9, 1 -/* 027998 80026D98 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 02799C 80026D9C 01E77021 */ addu $t6, $t7, $a3 -/* 0279A0 80026DA0 01C1C024 */ and $t8, $t6, $at -/* 0279A4 80026DA4 8FA5008C */ lw $a1, 0x8c($sp) -/* 0279A8 80026DA8 3C010A00 */ lui $at, 0xa00 -/* 0279AC 80026DAC 8FA60080 */ lw $a2, 0x80($sp) -/* 0279B0 80026DB0 0301C825 */ or $t9, $t8, $at -/* 0279B4 80026DB4 8FA800B8 */ lw $t0, 0xb8($sp) -/* 0279B8 80026DB8 8FA9005C */ lw $t1, 0x5c($sp) -/* 0279BC 80026DBC 00051840 */ sll $v1, $a1, 1 -/* 0279C0 80026DC0 3078FFFF */ andi $t8, $v1, 0xffff -/* 0279C4 80026DC4 AC590000 */ sw $t9, ($v0) -/* 0279C8 80026DC8 00067400 */ sll $t6, $a2, 0x10 -/* 0279CC 80026DCC 01D8C825 */ or $t9, $t6, $t8 -/* 0279D0 80026DD0 00A8082A */ slt $at, $a1, $t0 -/* 0279D4 80026DD4 AC590004 */ sw $t9, 4($v0) -/* 0279D8 80026DD8 1420FFBC */ bnez $at, .L80026CCC_ovl0 -/* 0279DC 80026DDC 244A0008 */ addiu $t2, $v0, 8 -.L80026DE0_ovl0: -/* 0279E0 80026DE0 8EEF0034 */ lw $t7, 0x34($s7) -/* 0279E4 80026DE4 8EF90030 */ lw $t9, 0x30($s7) -/* 0279E8 80026DE8 01401025 */ move $v0, $t2 -/* 0279EC 80026DEC 01E87021 */ addu $t6, $t7, $t0 -/* 0279F0 80026DF0 31D8000F */ andi $t8, $t6, 0xf -/* 0279F4 80026DF4 8EEE003C */ lw $t6, 0x3c($s7) -/* 0279F8 80026DF8 AEF80034 */ sw $t8, 0x34($s7) -/* 0279FC 80026DFC 03287821 */ addu $t7, $t9, $t0 -/* 027A00 80026E00 01C9C021 */ addu $t8, $t6, $t1 -/* 027A04 80026E04 AEEF0030 */ sw $t7, 0x30($s7) -/* 027A08 80026E08 1000005B */ b .L80026F78_ovl0 -/* 027A0C 80026E0C AEF8003C */ sw $t8, 0x3c($s7) -.L80026E10_ovl0: -/* 027A10 80026E10 8EE20020 */ lw $v0, 0x20($s7) -/* 027A14 80026E14 8EF9003C */ lw $t9, 0x3c($s7) -/* 027A18 80026E18 001EF103 */ sra $fp, $fp, 4 -/* 027A1C 80026E1C 8C4F0000 */ lw $t7, ($v0) -/* 027A20 80026E20 001E48C0 */ sll $t1, $fp, 3 -/* 027A24 80026E24 8C580004 */ lw $t8, 4($v0) -/* 027A28 80026E28 013E4821 */ addu $t1, $t1, $fp -/* 027A2C 80026E2C 03293821 */ addu $a3, $t9, $t1 -/* 027A30 80026E30 00EF7023 */ subu $t6, $a3, $t7 -/* 027A34 80026E34 01D81823 */ subu $v1, $t6, $t8 -/* 027A38 80026E38 04610002 */ bgez $v1, .L80026E44_ovl0 -/* 027A3C 80026E3C 001E2900 */ sll $a1, $fp, 4 -/* 027A40 80026E40 00001825 */ move $v1, $zero -.L80026E44_ovl0: -/* 027A44 80026E44 0061001A */ div $zero, $v1, $at -/* 027A48 80026E48 00001012 */ mflo $v0 -/* 027A4C 80026E4C 00022100 */ sll $a0, $v0, 4 -/* 027A50 80026E50 00A66021 */ addu $t4, $a1, $a2 -/* 027A54 80026E54 0184082A */ slt $at, $t4, $a0 -/* 027A58 80026E58 10200002 */ beqz $at, .L80026E64_ovl0 -/* 027A5C 80026E5C 01408025 */ move $s0, $t2 -/* 027A60 80026E60 01802025 */ move $a0, $t4 -.L80026E64_ovl0: -/* 027A64 80026E64 3099000F */ andi $t9, $a0, 0xf -/* 027A68 80026E68 00997823 */ subu $t7, $a0, $t9 -/* 027A6C 80026E6C 01E8082A */ slt $at, $t7, $t0 -/* 027A70 80026E70 1020002B */ beqz $at, .L80026F20_ovl0 -/* 027A74 80026E74 01233023 */ subu $a2, $t1, $v1 -/* 027A78 80026E78 85760000 */ lh $s6, ($t3) -/* 027A7C 80026E7C 8EF30038 */ lw $s3, 0x38($s7) -/* 027A80 80026E80 240D0001 */ li $t5, 1 -/* 027A84 80026E84 AFAD007C */ sw $t5, 0x7c($sp) -/* 027A88 80026E88 AFAC0050 */ sw $t4, 0x50($sp) -/* 027A8C 80026E8C AFAB00B4 */ sw $t3, 0xb4($sp) -/* 027A90 80026E90 AFA9005C */ sw $t1, 0x5c($sp) -/* 027A94 80026E94 AFA800B8 */ sw $t0, 0xb8($sp) -/* 027A98 80026E98 AFA40090 */ sw $a0, 0x90($sp) -/* 027A9C 80026E9C 02E09025 */ move $s2, $s7 -/* 027AA0 80026EA0 00A4A823 */ subu $s5, $a1, $a0 -/* 027AA4 80026EA4 00C08825 */ move $s1, $a2 -/* 027AA8 80026EA8 0C009A84 */ jal func_80026A10 -/* 027AAC 80026EAC 0000A025 */ move $s4, $zero -/* 027AB0 80026EB0 8EE30034 */ lw $v1, 0x34($s7) -/* 027AB4 80026EB4 8FA40090 */ lw $a0, 0x90($sp) -/* 027AB8 80026EB8 8FA800B8 */ lw $t0, 0xb8($sp) -/* 027ABC 80026EBC 8FA9005C */ lw $t1, 0x5c($sp) -/* 027AC0 80026EC0 8FAB00B4 */ lw $t3, 0xb4($sp) -/* 027AC4 80026EC4 8FAC0050 */ lw $t4, 0x50($sp) -/* 027AC8 80026EC8 8FAD007C */ lw $t5, 0x7c($sp) -/* 027ACC 80026ECC 10600006 */ beqz $v1, .L80026EE8_ovl0 -/* 027AD0 80026ED0 00405025 */ move $t2, $v0 -/* 027AD4 80026ED4 856E0000 */ lh $t6, ($t3) -/* 027AD8 80026ED8 0003C040 */ sll $t8, $v1, 1 -/* 027ADC 80026EDC 01D8C821 */ addu $t9, $t6, $t8 -/* 027AE0 80026EE0 10000004 */ b .L80026EF4_ovl0 -/* 027AE4 80026EE4 A5790000 */ sh $t9, ($t3) -.L80026EE8_ovl0: -/* 027AE8 80026EE8 856F0000 */ lh $t7, ($t3) -/* 027AEC 80026EEC 25EE0020 */ addiu $t6, $t7, 0x20 -/* 027AF0 80026EF0 A56E0000 */ sh $t6, ($t3) -.L80026EF4_ovl0: -/* 027AF4 80026EF4 8EF80034 */ lw $t8, 0x34($s7) -/* 027AF8 80026EF8 8EEE0030 */ lw $t6, 0x30($s7) -/* 027AFC 80026EFC 0308C821 */ addu $t9, $t8, $t0 -/* 027B00 80026F00 332F000F */ andi $t7, $t9, 0xf -/* 027B04 80026F04 8EF9003C */ lw $t9, 0x3c($s7) -/* 027B08 80026F08 AEEF0034 */ sw $t7, 0x34($s7) -/* 027B0C 80026F0C 01C8C021 */ addu $t8, $t6, $t0 -/* 027B10 80026F10 03297821 */ addu $t7, $t9, $t1 -/* 027B14 80026F14 AEF80030 */ sw $t8, 0x30($s7) -/* 027B18 80026F18 10000003 */ b .L80026F28_ovl0 -/* 027B1C 80026F1C AEEF003C */ sw $t7, 0x3c($s7) -.L80026F20_ovl0: -/* 027B20 80026F20 AEE00034 */ sw $zero, 0x34($s7) -/* 027B24 80026F24 AEE7003C */ sw $a3, 0x3c($s7) -.L80026F28_ovl0: -/* 027B28 80026F28 10800012 */ beqz $a0, .L80026F74_ovl0 -/* 027B2C 80026F2C 01401025 */ move $v0, $t2 -/* 027B30 80026F30 11A00004 */ beqz $t5, .L80026F44_ovl0 -/* 027B34 80026F34 AEE00034 */ sw $zero, 0x34($s7) -/* 027B38 80026F38 01841823 */ subu $v1, $t4, $a0 -/* 027B3C 80026F3C 10000002 */ b .L80026F48_ovl0 -/* 027B40 80026F40 00031840 */ sll $v1, $v1, 1 -.L80026F44_ovl0: -/* 027B44 80026F44 00001825 */ move $v1, $zero -.L80026F48_ovl0: -/* 027B48 80026F48 856E0000 */ lh $t6, ($t3) -/* 027B4C 80026F4C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 027B50 80026F50 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 027B54 80026F54 01C3C021 */ addu $t8, $t6, $v1 -/* 027B58 80026F58 0301C824 */ and $t9, $t8, $at -/* 027B5C 80026F5C 3C010200 */ lui $at, 0x200 -/* 027B60 80026F60 03217825 */ or $t7, $t9, $at -/* 027B64 80026F64 00047040 */ sll $t6, $a0, 1 -/* 027B68 80026F68 AC4E0004 */ sw $t6, 4($v0) -/* 027B6C 80026F6C AC4F0000 */ sw $t7, ($v0) -/* 027B70 80026F70 254A0008 */ addiu $t2, $t2, 8 -.L80026F74_ovl0: -/* 027B74 80026F74 01401025 */ move $v0, $t2 -.L80026F78_ovl0: -/* 027B78 80026F78 8FBF004C */ lw $ra, 0x4c($sp) -/* 027B7C 80026F7C 8FB00028 */ lw $s0, 0x28($sp) -/* 027B80 80026F80 8FB1002C */ lw $s1, 0x2c($sp) -/* 027B84 80026F84 8FB20030 */ lw $s2, 0x30($sp) -/* 027B88 80026F88 8FB30034 */ lw $s3, 0x34($sp) -/* 027B8C 80026F8C 8FB40038 */ lw $s4, 0x38($sp) -/* 027B90 80026F90 8FB5003C */ lw $s5, 0x3c($sp) -/* 027B94 80026F94 8FB60040 */ lw $s6, 0x40($sp) -/* 027B98 80026F98 8FB70044 */ lw $s7, 0x44($sp) -/* 027B9C 80026F9C 8FBE0048 */ lw $fp, 0x48($sp) -/* 027BA0 80026FA0 03E00008 */ jr $ra -/* 027BA4 80026FA4 27BD00B0 */ addiu $sp, $sp, 0xb0 - -glabel func_80026FA8 -/* 027BA8 80026FA8 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 027BAC 80026FAC 240E0170 */ li $t6, 368 -/* 027BB0 80026FB0 AFBF0014 */ sw $ra, 0x14($sp) -/* 027BB4 80026FB4 AFA50044 */ sw $a1, 0x44($sp) -/* 027BB8 80026FB8 A7AE003A */ sh $t6, 0x3a($sp) -/* 027BBC 80026FBC 8C8F0048 */ lw $t7, 0x48($a0) -/* 027BC0 80026FC0 00804025 */ move $t0, $a0 -/* 027BC4 80026FC4 00C03825 */ move $a3, $a2 -/* 027BC8 80026FC8 11E00012 */ beqz $t7, .L80027014_ovl0 -/* 027BCC 80026FCC 3C018004 */ lui $at, 0x8004 -/* 027BD0 80026FD0 27A5003A */ addiu $a1, $sp, 0x3a -/* 027BD4 80026FD4 0C009ACB */ jal func_80026B2C -/* 027BD8 80026FD8 240600B8 */ li $a2, 184 -/* 027BDC 80026FDC 87B8003A */ lh $t8, 0x3a($sp) -/* 027BE0 80026FE0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 027BE4 80026FE4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 027BE8 80026FE8 0301C824 */ and $t9, $t8, $at -/* 027BEC 80026FEC 3C010A00 */ lui $at, %hi(D_0A0014C8) # $at, 0xa00 -/* 027BF0 80026FF0 03214825 */ or $t1, $t9, $at -/* 027BF4 80026FF4 AC490000 */ sw $t1, ($v0) -/* 027BF8 80026FF8 8FAA0044 */ lw $t2, 0x44($sp) -/* 027BFC 80026FFC 24430008 */ addiu $v1, $v0, 8 -/* 027C00 80027000 854C0000 */ lh $t4, ($t2) -/* 027C04 80027004 000C6C00 */ sll $t5, $t4, 0x10 -/* 027C08 80027008 35AE0170 */ ori $t6, $t5, 0x170 -/* 027C0C 8002700C 1000004A */ b .L80027138_ovl0 -/* 027C10 80027010 AC4E0004 */ sw $t6, 4($v0) -.L80027014_ovl0: -/* 027C14 80027014 C42014C8 */ lwc1 $f0, %lo(D_0A0014C8)($at) -/* 027C18 80027018 C5020044 */ lwc1 $f2, 0x44($t0) -/* 027C1C 8002701C 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 027C20 80027020 44816000 */ mtc1 $at, $f12 -/* 027C24 80027024 4602003C */ c.lt.s $f0, $f2 -/* 027C28 80027028 00000000 */ nop -/* 027C2C 8002702C 45000003 */ bc1f .L8002703C_ovl0 -/* 027C30 80027030 00000000 */ nop -/* 027C34 80027034 E5000044 */ swc1 $f0, 0x44($t0) -/* 027C38 80027038 C5020044 */ lwc1 $f2, 0x44($t0) -.L8002703C_ovl0: -/* 027C3C 8002703C 460C1102 */ mul.s $f4, $f2, $f12 -/* 027C40 80027040 3C014338 */ li $at, 0x43380000 # 184.000000 -/* 027C44 80027044 01002025 */ move $a0, $t0 -/* 027C48 80027048 27A5003A */ addiu $a1, $sp, 0x3a -/* 027C4C 8002704C 4600218D */ trunc.w.s $f6, $f4 -/* 027C50 80027050 44183000 */ mfc1 $t8, $f6 -/* 027C54 80027054 44813000 */ mtc1 $at, $f6 -/* 027C58 80027058 44984000 */ mtc1 $t8, $f8 -/* 027C5C 8002705C 00000000 */ nop -/* 027C60 80027060 468042A0 */ cvt.s.w $f10, $f8 -/* 027C64 80027064 E50A0044 */ swc1 $f10, 0x44($t0) -/* 027C68 80027068 C5100044 */ lwc1 $f16, 0x44($t0) -/* 027C6C 8002706C C50A004C */ lwc1 $f10, 0x4c($t0) -/* 027C70 80027070 460C8483 */ div.s $f18, $f16, $f12 -/* 027C74 80027074 E5120044 */ swc1 $f18, 0x44($t0) -/* 027C78 80027078 C5040044 */ lwc1 $f4, 0x44($t0) -/* 027C7C 8002707C 46062202 */ mul.s $f8, $f4, $f6 -/* 027C80 80027080 46085000 */ add.s $f0, $f10, $f8 -/* 027C84 80027084 4600040D */ trunc.w.s $f16, $f0 -/* 027C88 80027088 44068000 */ mfc1 $a2, $f16 -/* 027C8C 8002708C 00000000 */ nop -/* 027C90 80027090 44869000 */ mtc1 $a2, $f18 -/* 027C94 80027094 00000000 */ nop -/* 027C98 80027098 46809120 */ cvt.s.w $f4, $f18 -/* 027C9C 8002709C 46040181 */ sub.s $f6, $f0, $f4 -/* 027CA0 800270A0 E506004C */ swc1 $f6, 0x4c($t0) -/* 027CA4 800270A4 0C009ACB */ jal func_80026B2C -/* 027CA8 800270A8 AFA80040 */ sw $t0, 0x40($sp) -/* 027CAC 800270AC 8FA80040 */ lw $t0, 0x40($sp) -/* 027CB0 800270B0 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 027CB4 800270B4 44814000 */ mtc1 $at, $f8 -/* 027CB8 800270B8 C50A0044 */ lwc1 $f10, 0x44($t0) -/* 027CBC 800270BC 24430008 */ addiu $v1, $v0, 8 -/* 027CC0 800270C0 46085402 */ mul.s $f16, $f10, $f8 -/* 027CC4 800270C4 4600848D */ trunc.w.s $f18, $f16 -/* 027CC8 800270C8 440A9000 */ mfc1 $t2, $f18 -/* 027CCC 800270CC 00000000 */ nop -/* 027CD0 800270D0 AFAA0030 */ sw $t2, 0x30($sp) -/* 027CD4 800270D4 8D040040 */ lw $a0, 0x40($t0) -/* 027CD8 800270D8 AFA20024 */ sw $v0, 0x24($sp) -/* 027CDC 800270DC 0C00BFE8 */ jal osVirtualToPhysical -/* 027CE0 800270E0 AFA3003C */ sw $v1, 0x3c($sp) -/* 027CE4 800270E4 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 027CE8 800270E8 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 027CEC 800270EC 8FA50024 */ lw $a1, 0x24($sp) -/* 027CF0 800270F0 00415824 */ and $t3, $v0, $at -/* 027CF4 800270F4 3C010500 */ lui $at, 0x500 -/* 027CF8 800270F8 8FA80040 */ lw $t0, 0x40($sp) -/* 027CFC 800270FC 01616025 */ or $t4, $t3, $at -/* 027D00 80027100 8FA3003C */ lw $v1, 0x3c($sp) -/* 027D04 80027104 ACAC0000 */ sw $t4, ($a1) -/* 027D08 80027108 8FB80030 */ lw $t8, 0x30($sp) -/* 027D0C 8002710C 87AB003A */ lh $t3, 0x3a($sp) -/* 027D10 80027110 8D0E0050 */ lw $t6, 0x50($t0) -/* 027D14 80027114 3319FFFF */ andi $t9, $t8, 0xffff -/* 027D18 80027118 00194B80 */ sll $t1, $t9, 0xe -/* 027D1C 8002711C 316C0FFF */ andi $t4, $t3, 0xfff -/* 027D20 80027120 000E7F80 */ sll $t7, $t6, 0x1e -/* 027D24 80027124 01E95025 */ or $t2, $t7, $t1 -/* 027D28 80027128 000C6880 */ sll $t5, $t4, 2 -/* 027D2C 8002712C 014D7025 */ or $t6, $t2, $t5 -/* 027D30 80027130 ACAE0004 */ sw $t6, 4($a1) -/* 027D34 80027134 AD000050 */ sw $zero, 0x50($t0) -.L80027138_ovl0: -/* 027D38 80027138 8FBF0014 */ lw $ra, 0x14($sp) -/* 027D3C 8002713C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 027D40 80027140 00601025 */ move $v0, $v1 -/* 027D44 80027144 03E00008 */ jr $ra -/* 027D48 80027148 00000000 */ nop - -glabel func_8002714C -/* 027D4C 8002714C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 027D50 80027150 AFBF0014 */ sw $ra, 0x14($sp) -/* 027D54 80027154 8E0E0084 */ lw $t6, 0x84($s0) -/* 027D58 80027158 24010001 */ li $at, 1 -/* 027D5C 8002715C 15C10003 */ bne $t6, $at, .L8002716C_ovl0 -/* 027D60 80027160 00000000 */ nop -/* 027D64 80027164 14800003 */ bnez $a0, .L80027174_ovl0 -/* 027D68 80027168 02602825 */ move $a1, $s3 -.L8002716C_ovl0: -/* 027D6C 8002716C 10000070 */ b .L80027330_ovl0 -/* 027D70 80027170 00C01025 */ move $v0, $a2 -.L80027174_ovl0: -/* 027D74 80027174 0C009BEA */ jal func_80026FA8 -/* 027D78 80027178 02002025 */ move $a0, $s0 -/* 027D7C 8002717C 8E0F0078 */ lw $t7, 0x78($s0) -/* 027D80 80027180 00408825 */ move $s1, $v0 -/* 027D84 80027184 02209025 */ move $s2, $s1 -/* 027D88 80027188 11E0005D */ beqz $t7, .L80027300_ovl0 -/* 027D8C 8002718C 3C180300 */ lui $t8, 0x300 -/* 027D90 80027190 86180058 */ lh $t8, 0x58($s0) -/* 027D94 80027194 3C0E8004 */ lui $t6, 0x8004 -/* 027D98 80027198 AE000078 */ sw $zero, 0x78($s0) -/* 027D9C 8002719C 0018C840 */ sll $t9, $t8, 1 -/* 027DA0 800271A0 01D97021 */ addu $t6, $t6, $t9 -/* 027DA4 800271A4 85CEFA10 */ lh $t6, -0x5f0($t6) -/* 027DA8 800271A8 860F005A */ lh $t7, 0x5a($s0) -/* 027DAC 800271AC 8E040074 */ lw $a0, 0x74($s0) -/* 027DB0 800271B0 26050064 */ addiu $a1, $s0, 0x64 -/* 027DB4 800271B4 01CF0019 */ multu $t6, $t7 -/* 027DB8 800271B8 860E005C */ lh $t6, 0x5c($s0) -/* 027DBC 800271BC 448E2000 */ mtc1 $t6, $f4 -/* 027DC0 800271C0 00000000 */ nop -/* 027DC4 800271C4 468023A0 */ cvt.s.w $f14, $f4 -/* 027DC8 800271C8 0000C012 */ mflo $t8 -/* 027DCC 800271CC 0018CBC3 */ sra $t9, $t8, 0xf -/* 027DD0 800271D0 A6190068 */ sh $t9, 0x68($s0) -/* 027DD4 800271D4 860F0068 */ lh $t7, 0x68($s0) -/* 027DD8 800271D8 448F3000 */ mtc1 $t7, $f6 -/* 027DDC 800271DC 0C009A26 */ jal func_80026898 -/* 027DE0 800271E0 46803320 */ cvt.s.w $f12, $f6 -/* 027DE4 800271E4 86180058 */ lh $t8, 0x58($s0) -/* 027DE8 800271E8 3C0F8004 */ lui $t7, 0x8004 -/* 027DEC 800271EC A6020066 */ sh $v0, 0x66($s0) -/* 027DF0 800271F0 0018C840 */ sll $t9, $t8, 1 -/* 027DF4 800271F4 00197023 */ negu $t6, $t9 -/* 027DF8 800271F8 01EE7821 */ addu $t7, $t7, $t6 -/* 027DFC 800271FC 85EFFB0E */ lh $t7, -0x4f2($t7) -/* 027E00 80027200 8618005A */ lh $t8, 0x5a($s0) -/* 027E04 80027204 8E040074 */ lw $a0, 0x74($s0) -/* 027E08 80027208 2605006A */ addiu $a1, $s0, 0x6a -/* 027E0C 8002720C 01F80019 */ multu $t7, $t8 -/* 027E10 80027210 860F005E */ lh $t7, 0x5e($s0) -/* 027E14 80027214 448F4000 */ mtc1 $t7, $f8 -/* 027E18 80027218 00000000 */ nop -/* 027E1C 8002721C 468043A0 */ cvt.s.w $f14, $f8 -/* 027E20 80027220 0000C812 */ mflo $t9 -/* 027E24 80027224 001973C3 */ sra $t6, $t9, 0xf -/* 027E28 80027228 A60E006E */ sh $t6, 0x6e($s0) -/* 027E2C 8002722C 8618006E */ lh $t8, 0x6e($s0) -/* 027E30 80027230 44985000 */ mtc1 $t8, $f10 -/* 027E34 80027234 0C009A26 */ jal func_80026898 -/* 027E38 80027238 46805320 */ cvt.s.w $f12, $f10 -/* 027E3C 8002723C 86190068 */ lh $t9, 0x68($s0) -/* 027E40 80027240 3C010900 */ lui $at, 0x900 -/* 027E44 80027244 A602006C */ sh $v0, 0x6c($s0) -/* 027E48 80027248 332EFFFF */ andi $t6, $t9, 0xffff -/* 027E4C 8002724C 01C17825 */ or $t7, $t6, $at -/* 027E50 80027250 02201825 */ move $v1, $s1 -/* 027E54 80027254 AC6F0000 */ sw $t7, ($v1) -/* 027E58 80027258 86190066 */ lh $t9, 0x66($s0) -/* 027E5C 8002725C 96180064 */ lhu $t8, 0x64($s0) -/* 027E60 80027260 26310008 */ addiu $s1, $s1, 8 -/* 027E64 80027264 00197400 */ sll $t6, $t9, 0x10 -/* 027E68 80027268 01D8C825 */ or $t9, $t6, $t8 -/* 027E6C 8002726C AC790004 */ sw $t9, 4($v1) -/* 027E70 80027270 860F005C */ lh $t7, 0x5c($s0) -/* 027E74 80027274 3C010906 */ lui $at, 0x906 -/* 027E78 80027278 02202025 */ move $a0, $s1 -/* 027E7C 8002727C 31EEFFFF */ andi $t6, $t7, 0xffff -/* 027E80 80027280 01C1C025 */ or $t8, $t6, $at -/* 027E84 80027284 AC980000 */ sw $t8, ($a0) -/* 027E88 80027288 86180062 */ lh $t8, 0x62($s0) -/* 027E8C 8002728C 860F0060 */ lh $t7, 0x60($s0) -/* 027E90 80027290 3C010904 */ lui $at, 0x904 -/* 027E94 80027294 3319FFFF */ andi $t9, $t8, 0xffff -/* 027E98 80027298 000F7400 */ sll $t6, $t7, 0x10 -/* 027E9C 8002729C 01D97825 */ or $t7, $t6, $t9 -/* 027EA0 800272A0 AC8F0004 */ sw $t7, 4($a0) -/* 027EA4 800272A4 8618006E */ lh $t8, 0x6e($s0) -/* 027EA8 800272A8 26310008 */ addiu $s1, $s1, 8 -/* 027EAC 800272AC 02202825 */ move $a1, $s1 -/* 027EB0 800272B0 330EFFFF */ andi $t6, $t8, 0xffff -/* 027EB4 800272B4 01C1C825 */ or $t9, $t6, $at -/* 027EB8 800272B8 ACB90000 */ sw $t9, ($a1) -/* 027EBC 800272BC 8618006C */ lh $t8, 0x6c($s0) -/* 027EC0 800272C0 960F006A */ lhu $t7, 0x6a($s0) -/* 027EC4 800272C4 3C010301 */ lui $at, 0x301 -/* 027EC8 800272C8 00187400 */ sll $t6, $t8, 0x10 -/* 027ECC 800272CC 01CFC025 */ or $t8, $t6, $t7 -/* 027ED0 800272D0 ACB80004 */ sw $t8, 4($a1) -/* 027ED4 800272D4 8619005E */ lh $t9, 0x5e($s0) -/* 027ED8 800272D8 26310008 */ addiu $s1, $s1, 8 -/* 027EDC 800272DC 02209025 */ move $s2, $s1 -/* 027EE0 800272E0 332EFFFF */ andi $t6, $t9, 0xffff -/* 027EE4 800272E4 01C17825 */ or $t7, $t6, $at -/* 027EE8 800272E8 AE4F0000 */ sw $t7, ($s2) -/* 027EEC 800272EC 8E040054 */ lw $a0, 0x54($s0) -/* 027EF0 800272F0 0C00BFE8 */ jal osVirtualToPhysical -/* 027EF4 800272F4 26310008 */ addiu $s1, $s1, 8 -/* 027EF8 800272F8 10000006 */ b .L80027314_ovl0 -/* 027EFC 800272FC AE420004 */ sw $v0, 4($s2) -.L80027300_ovl0: -/* 027F00 80027300 AE580000 */ sw $t8, ($s2) -/* 027F04 80027304 8E040054 */ lw $a0, 0x54($s0) -/* 027F08 80027308 0C00BFE8 */ jal osVirtualToPhysical -/* 027F0C 8002730C 26310008 */ addiu $s1, $s1, 8 -/* 027F10 80027310 AE420004 */ sw $v0, 4($s2) -.L80027314_ovl0: -/* 027F14 80027314 86790000 */ lh $t9, ($s3) -/* 027F18 80027318 02201025 */ move $v0, $s1 -/* 027F1C 8002731C 272E0170 */ addiu $t6, $t9, 0x170 -/* 027F20 80027320 A66E0000 */ sh $t6, ($s3) -/* 027F24 80027324 8E0F0070 */ lw $t7, 0x70($s0) -/* 027F28 80027328 25F800B8 */ addiu $t8, $t7, 0xb8 -/* 027F2C 8002732C AE180070 */ sw $t8, 0x70($s0) -.L80027330_ovl0: -/* 027F30 80027330 8FBF0014 */ lw $ra, 0x14($sp) -/* 027F34 80027334 27BD0018 */ addiu $sp, $sp, 0x18 -/* 027F38 80027338 03E00008 */ jr $ra -/* 027F3C 8002733C 00000000 */ nop - -glabel func_80027340 -/* 027F40 80027340 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 -/* 027F44 80027344 2442FB14 */ addiu $v0, %lo(D_8003FB14) # addiu $v0, $v0, -0x4ec -/* 027F48 80027348 8C4E0000 */ lw $t6, ($v0) -/* 027F4C 8002734C 8DCF0038 */ lw $t7, 0x38($t6) -/* 027F50 80027350 AC8F0000 */ sw $t7, ($a0) -/* 027F54 80027354 8C580000 */ lw $t8, ($v0) -/* 027F58 80027358 03E00008 */ jr $ra -/* 027F5C 8002735C AF040038 */ sw $a0, 0x38($t8) - -glabel func_80027360 -/* 027F60 80027360 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 027F64 80027364 24010004 */ li $at, 4 -/* 027F68 80027368 AFBF0014 */ sw $ra, 0x14($sp) -/* 027F6C 8002736C 10A10050 */ beq $a1, $at, .L800274B0_ovl0 -/* 027F70 80027370 00803825 */ move $a3, $a0 -/* 027F74 80027374 24010005 */ li $at, 5 -/* 027F78 80027378 54A10066 */ bnel $a1, $at, .L80027514_ovl0 -/* 027F7C 8002737C 8FBF0014 */ lw $ra, 0x14($sp) -/* 027F80 80027380 AC860020 */ sw $a2, 0x20($a0) -/* 027F84 80027384 8CCE0000 */ lw $t6, ($a2) -/* 027F88 80027388 AC800030 */ sw $zero, 0x30($a0) -/* 027F8C 8002738C AC8E003C */ sw $t6, 0x3c($a0) -/* 027F90 80027390 90C20008 */ lbu $v0, 8($a2) -/* 027F94 80027394 50400007 */ beql $v0, $zero, .L800273B4_ovl0 -/* 027F98 80027398 8CE20020 */ lw $v0, 0x20($a3) -/* 027F9C 8002739C 24040001 */ li $a0, 1 -/* 027FA0 800273A0 50440033 */ beql $v0, $a0, .L80027470_ovl0 -/* 027FA4 800273A4 8CE20020 */ lw $v0, 0x20($a3) -/* 027FA8 800273A8 1000005A */ b .L80027514_ovl0 -/* 027FAC 800273AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 027FB0 800273B0 8CE20020 */ lw $v0, 0x20($a3) -.L800273B4_ovl0: -/* 027FB4 800273B4 24050009 */ li $a1, 9 -/* 027FB8 800273B8 8C4F0004 */ lw $t7, 4($v0) -/* 027FBC 800273BC 01E5001A */ div $zero, $t7, $a1 -/* 027FC0 800273C0 0000C012 */ mflo $t8 -/* 027FC4 800273C4 14A00002 */ bnez $a1, .L800273D0_ovl0 -/* 027FC8 800273C8 00000000 */ nop -/* 027FCC 800273CC 0007000D */ break 7 -.L800273D0_ovl0: -/* 027FD0 800273D0 2401FFFF */ li $at, -1 -/* 027FD4 800273D4 14A10004 */ bne $a1, $at, .L800273E8_ovl0 -/* 027FD8 800273D8 3C018000 */ lui $at, 0x8000 -/* 027FDC 800273DC 15E10002 */ bne $t7, $at, .L800273E8_ovl0 -/* 027FE0 800273E0 00000000 */ nop -/* 027FE4 800273E4 0006000D */ break 6 -.L800273E8_ovl0: -/* 027FE8 800273E8 03050019 */ multu $t8, $a1 -/* 027FEC 800273EC 0000C812 */ mflo $t9 -/* 027FF0 800273F0 AC590004 */ sw $t9, 4($v0) -/* 027FF4 800273F4 8CE20020 */ lw $v0, 0x20($a3) -/* 027FF8 800273F8 8C440010 */ lw $a0, 0x10($v0) -/* 027FFC 800273FC 8C880000 */ lw $t0, ($a0) -/* 028000 80027400 8C8A0004 */ lw $t2, 4($a0) -/* 028004 80027404 00084900 */ sll $t1, $t0, 4 -/* 028008 80027408 012A0019 */ multu $t1, $t2 -/* 02800C 8002740C 00005812 */ mflo $t3 -/* 028010 80027410 ACEB0024 */ sw $t3, 0x24($a3) -/* 028014 80027414 8C43000C */ lw $v1, 0xc($v0) -/* 028018 80027418 50600011 */ beql $v1, $zero, .L80027460_ovl0 -/* 02801C 8002741C ACE0001C */ sw $zero, 0x1c($a3) -/* 028020 80027420 8C6C0000 */ lw $t4, ($v1) -/* 028024 80027424 8CE50010 */ lw $a1, 0x10($a3) -/* 028028 80027428 24060020 */ li $a2, 32 -/* 02802C 8002742C ACEC0014 */ sw $t4, 0x14($a3) -/* 028030 80027430 8C4D000C */ lw $t5, 0xc($v0) -/* 028034 80027434 8DAE0004 */ lw $t6, 4($t5) -/* 028038 80027438 ACEE0018 */ sw $t6, 0x18($a3) -/* 02803C 8002743C 8C4F000C */ lw $t7, 0xc($v0) -/* 028040 80027440 8DF80008 */ lw $t8, 8($t7) -/* 028044 80027444 ACF8001C */ sw $t8, 0x1c($a3) -/* 028048 80027448 8C44000C */ lw $a0, 0xc($v0) -/* 02804C 8002744C 0C00D404 */ jal alCopy -/* 028050 80027450 2484000C */ addiu $a0, $a0, 0xc -/* 028054 80027454 1000002F */ b .L80027514_ovl0 -/* 028058 80027458 8FBF0014 */ lw $ra, 0x14($sp) -/* 02805C 8002745C ACE0001C */ sw $zero, 0x1c($a3) -.L80027460_ovl0: -/* 028060 80027460 ACE00018 */ sw $zero, 0x18($a3) -/* 028064 80027464 1000002A */ b .L80027510_ovl0 -/* 028068 80027468 ACE00014 */ sw $zero, 0x14($a3) -/* 02806C 8002746C 8CE20020 */ lw $v0, 0x20($a3) -.L80027470_ovl0: -/* 028070 80027470 8C43000C */ lw $v1, 0xc($v0) -/* 028074 80027474 5060000B */ beql $v1, $zero, .L800274A4_ovl0 -/* 028078 80027478 ACE0001C */ sw $zero, 0x1c($a3) -/* 02807C 8002747C 8C790000 */ lw $t9, ($v1) -/* 028080 80027480 ACF90014 */ sw $t9, 0x14($a3) -/* 028084 80027484 8C48000C */ lw $t0, 0xc($v0) -/* 028088 80027488 8D090004 */ lw $t1, 4($t0) -/* 02808C 8002748C ACE90018 */ sw $t1, 0x18($a3) -/* 028090 80027490 8C4A000C */ lw $t2, 0xc($v0) -/* 028094 80027494 8D4B0008 */ lw $t3, 8($t2) -/* 028098 80027498 1000001D */ b .L80027510_ovl0 -/* 02809C 8002749C ACEB001C */ sw $t3, 0x1c($a3) -/* 0280A0 800274A0 ACE0001C */ sw $zero, 0x1c($a3) -.L800274A4_ovl0: -/* 0280A4 800274A4 ACE00018 */ sw $zero, 0x18($a3) -/* 0280A8 800274A8 10000019 */ b .L80027510_ovl0 -/* 0280AC 800274AC ACE00014 */ sw $zero, 0x14($a3) -.L800274B0_ovl0: -/* 0280B0 800274B0 8CE20020 */ lw $v0, 0x20($a3) -/* 0280B4 800274B4 24040001 */ li $a0, 1 -/* 0280B8 800274B8 ACE00034 */ sw $zero, 0x34($a3) -/* 0280BC 800274BC ACE40038 */ sw $a0, 0x38($a3) -/* 0280C0 800274C0 10400013 */ beqz $v0, .L80027510_ovl0 -/* 0280C4 800274C4 ACE00030 */ sw $zero, 0x30($a3) -/* 0280C8 800274C8 8C4C0000 */ lw $t4, ($v0) -/* 0280CC 800274CC ACEC003C */ sw $t4, 0x3c($a3) -/* 0280D0 800274D0 90430008 */ lbu $v1, 8($v0) -/* 0280D4 800274D4 14600007 */ bnez $v1, .L800274F4_ovl0 -/* 0280D8 800274D8 00000000 */ nop -/* 0280DC 800274DC 8C43000C */ lw $v1, 0xc($v0) -/* 0280E0 800274E0 5060000C */ beql $v1, $zero, .L80027514_ovl0 -/* 0280E4 800274E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0280E8 800274E8 8C6D0008 */ lw $t5, 8($v1) -/* 0280EC 800274EC 10000008 */ b .L80027510_ovl0 -/* 0280F0 800274F0 ACED001C */ sw $t5, 0x1c($a3) -.L800274F4_ovl0: -/* 0280F4 800274F4 54830007 */ bnel $a0, $v1, .L80027514_ovl0 -/* 0280F8 800274F8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0280FC 800274FC 8C43000C */ lw $v1, 0xc($v0) -/* 028100 80027500 50600004 */ beql $v1, $zero, .L80027514_ovl0 -/* 028104 80027504 8FBF0014 */ lw $ra, 0x14($sp) -/* 028108 80027508 8C6E0008 */ lw $t6, 8($v1) -/* 02810C 8002750C ACEE001C */ sw $t6, 0x1c($a3) -.L80027510_ovl0: -/* 028110 80027510 8FBF0014 */ lw $ra, 0x14($sp) -.L80027514_ovl0: -/* 028114 80027514 27BD0018 */ addiu $sp, $sp, 0x18 -/* 028118 80027518 03E00008 */ jr $ra -/* 02811C 8002751C 00000000 */ nop - -glabel func_80027520 -/* 028120 80027520 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 028124 80027524 24010003 */ li $at, 3 -/* 028128 80027528 10A10009 */ beq $a1, $at, .L80027550_ovl0 -/* 02812C 8002752C AFBF0014 */ sw $ra, 0x14($sp) -/* 028130 80027530 24010004 */ li $at, 4 -/* 028134 80027534 10A1000E */ beq $a1, $at, .L80027570_ovl0 -/* 028138 80027538 24020001 */ li $v0, 1 -/* 02813C 8002753C 24010009 */ li $at, 9 -/* 028140 80027540 10A10016 */ beq $a1, $at, .L8002759C_ovl0 -/* 028144 80027544 24020001 */ li $v0, 1 -/* 028148 80027548 10000016 */ b .L800275A4_ovl0 -/* 02814C 8002754C 00000000 */ nop -.L80027550_ovl0: -/* 028150 80027550 8C820080 */ lw $v0, 0x80($a0) -/* 028154 80027554 50400004 */ beql $v0, $zero, .L80027568_ovl0 -/* 028158 80027558 AC86007C */ sw $a2, 0x7c($a0) -/* 02815C 8002755C 10000002 */ b .L80027568_ovl0 -/* 028160 80027560 AC460000 */ sw $a2, ($v0) -/* 028164 80027564 AC86007C */ sw $a2, 0x7c($a0) -.L80027568_ovl0: -/* 028168 80027568 10000010 */ b .L800275AC_ovl0 -/* 02816C 8002756C AC860080 */ sw $a2, 0x80($a0) -.L80027570_ovl0: -/* 028170 80027570 44802000 */ mtc1 $zero, $f4 -/* 028174 80027574 AC820078 */ sw $v0, 0x78($a0) -/* 028178 80027578 AC800084 */ sw $zero, 0x84($a0) -/* 02817C 8002757C A482005A */ sh $v0, 0x5a($a0) -/* 028180 80027580 AC820050 */ sw $v0, 0x50($a0) -/* 028184 80027584 AC800048 */ sw $zero, 0x48($a0) -/* 028188 80027588 24050004 */ li $a1, 4 -/* 02818C 8002758C 0C009CD8 */ jal func_80027360 -/* 028190 80027590 E484004C */ swc1 $f4, 0x4c($a0) -/* 028194 80027594 10000006 */ b .L800275B0_ovl0 -/* 028198 80027598 8FBF0014 */ lw $ra, 0x14($sp) -.L8002759C_ovl0: -/* 02819C 8002759C 10000003 */ b .L800275AC_ovl0 -/* 0281A0 800275A0 AC820084 */ sw $v0, 0x84($a0) -.L800275A4_ovl0: -/* 0281A4 800275A4 0C009CD8 */ jal func_80027360 -/* 0281A8 800275A8 00000000 */ nop -.L800275AC_ovl0: -/* 0281AC 800275AC 8FBF0014 */ lw $ra, 0x14($sp) -.L800275B0_ovl0: -/* 0281B0 800275B0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0281B4 800275B4 00001025 */ move $v0, $zero -/* 0281B8 800275B8 03E00008 */ jr $ra -/* 0281BC 800275BC 00000000 */ nop - -glabel func_800275C0 -/* 0281C0 800275C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0281C4 800275C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0281C8 800275C8 0C0097DD */ jal func_80025F74 -/* 0281CC 800275CC AFA40018 */ sw $a0, 0x18($sp) -/* 0281D0 800275D0 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 -/* 0281D4 800275D4 8C42FB14 */ lw $v0, %lo(D_8003FB14)($v0) -/* 0281D8 800275D8 8FA40018 */ lw $a0, 0x18($sp) -/* 0281DC 800275DC 8C4E0020 */ lw $t6, 0x20($v0) -/* 0281E0 800275E0 24420020 */ addiu $v0, $v0, 0x20 -/* 0281E4 800275E4 AC820004 */ sw $v0, 4($a0) -/* 0281E8 800275E8 AC8E0000 */ sw $t6, ($a0) -/* 0281EC 800275EC 8C430000 */ lw $v1, ($v0) -/* 0281F0 800275F0 50600003 */ beql $v1, $zero, .L80027600_ovl0 -/* 0281F4 800275F4 AC440000 */ sw $a0, ($v0) -/* 0281F8 800275F8 AC640004 */ sw $a0, 4($v1) -/* 0281FC 800275FC AC440000 */ sw $a0, ($v0) -.L80027600_ovl0: -/* 028200 80027600 8FBF0014 */ lw $ra, 0x14($sp) -/* 028204 80027604 27BD0018 */ addiu $sp, $sp, 0x18 -/* 028208 80027608 03E00008 */ jr $ra -/* 02820C 8002760C 00000000 */ nop - -glabel func_80027610 -/* 028210 80027610 AFA50000 */ sw $a1, ($sp) -/* 028214 80027614 AFA70008 */ sw $a3, 8($sp) -/* 028218 80027618 00073C00 */ sll $a3, $a3, 0x10 -/* 02821C 8002761C 00052C00 */ sll $a1, $a1, 0x10 -/* 028220 80027620 AFA6000C */ sw $a2, 0xc($sp) -/* 028224 80027624 000420C3 */ sra $a0, $a0, 3 -/* 028228 80027628 30C6FFFF */ andi $a2, $a2, 0xffff -/* 02822C 8002762C 00052C03 */ sra $a1, $a1, 0x10 -/* 028230 80027630 14800003 */ bnez $a0, .L80027640_ovl0 -/* 028234 80027634 00073C03 */ sra $a3, $a3, 0x10 -/* 028238 80027638 03E00008 */ jr $ra -/* 02823C 8002763C 00A01025 */ move $v0, $a1 - -.L80027640_ovl0: -/* 028240 80027640 00C40019 */ multu $a2, $a0 -/* 028244 80027644 00007012 */ mflo $t6 -/* 028248 80027648 000E7C03 */ sra $t7, $t6, 0x10 -/* 02824C 8002764C 00000000 */ nop -/* 028250 80027650 00E40019 */ multu $a3, $a0 -/* 028254 80027654 0000C012 */ mflo $t8 -/* 028258 80027658 01F8C821 */ addu $t9, $t7, $t8 -/* 02825C 8002765C 00B92821 */ addu $a1, $a1, $t9 -/* 028260 80027660 00052C00 */ sll $a1, $a1, 0x10 -/* 028264 80027664 00051403 */ sra $v0, $a1, 0x10 -/* 028268 80027668 03E00008 */ jr $ra -/* 02826C 8002766C 00000000 */ nop - -glabel func_80027670 -/* 028270 80027670 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 028274 80027674 240E00B8 */ li $t6, 184 -/* 028278 80027678 AFBF0044 */ sw $ra, 0x44($sp) -/* 02827C 8002767C AFBE0040 */ sw $fp, 0x40($sp) -/* 028280 80027680 AFB7003C */ sw $s7, 0x3c($sp) -/* 028284 80027684 AFB60038 */ sw $s6, 0x38($sp) -/* 028288 80027688 AFB50034 */ sw $s5, 0x34($sp) -/* 02828C 8002768C AFB40030 */ sw $s4, 0x30($sp) -/* 028290 80027690 AFB3002C */ sw $s3, 0x2c($sp) -/* 028294 80027694 AFB20028 */ sw $s2, 0x28($sp) -/* 028298 80027698 AFB10024 */ sw $s1, 0x24($sp) -/* 02829C 8002769C AFB00020 */ sw $s0, 0x20($sp) -/* 0282A0 800276A0 AFA400A0 */ sw $a0, 0xa0($sp) -/* 0282A4 800276A4 AFA50094 */ sw $a1, 0x94($sp) -/* 0282A8 800276A8 A7A0008E */ sh $zero, 0x8e($sp) -/* 0282AC 800276AC AFAE0080 */ sw $t6, 0x80($sp) -/* 0282B0 800276B0 A7A0009E */ sh $zero, 0x9e($sp) -/* 0282B4 800276B4 8C8F007C */ lw $t7, 0x7c($a0) -/* 0282B8 800276B8 0080A025 */ move $s4, $a0 -/* 0282BC 800276BC 00C0A825 */ move $s5, $a2 -/* 0282C0 800276C0 11E00161 */ beqz $t7, .L80027C48_ovl0 -/* 0282C4 800276C4 24160001 */ li $s6, 1 -/* 0282C8 800276C8 3C1E8004 */ lui $fp, %hi(D_8003FB10) # $fp, 0x8004 -/* 0282CC 800276CC 3C078004 */ lui $a3, %hi(D_8003FB14) # $a3, 0x8004 -/* 0282D0 800276D0 24E7FB14 */ addiu $a3, %lo(D_8003FB14) # addiu $a3, $a3, -0x4ec -/* 0282D4 800276D4 27DEFB10 */ addiu $fp, %lo(D_8003FB10) # addiu $fp, $fp, -0x4f0 -/* 0282D8 800276D8 8E83007C */ lw $v1, 0x7c($s4) -.L800276DC_ovl0: -/* 0282DC 800276DC 240500B8 */ li $a1, 184 -/* 0282E0 800276E0 8FA20094 */ lw $v0, 0x94($sp) -/* 0282E4 800276E4 8C780004 */ lw $t8, 4($v1) -/* 0282E8 800276E8 2719005C */ addiu $t9, $t8, 0x5c -/* 0282EC 800276EC 0325001A */ div $zero, $t9, $a1 -/* 0282F0 800276F0 00007012 */ mflo $t6 -/* 0282F4 800276F4 8FB80080 */ lw $t8, 0x80($sp) -/* 0282F8 800276F8 14A00002 */ bnez $a1, .L80027704_ovl0 -/* 0282FC 800276FC 00000000 */ nop -/* 028300 80027700 0007000D */ break 7 -.L80027704_ovl0: -/* 028304 80027704 2401FFFF */ li $at, -1 -/* 028308 80027708 14A10004 */ bne $a1, $at, .L8002771C_ovl0 -/* 02830C 8002770C 3C018000 */ lui $at, 0x8000 -/* 028310 80027710 17210002 */ bne $t9, $at, .L8002771C_ovl0 -/* 028314 80027714 00000000 */ nop -/* 028318 80027718 0006000D */ break 6 -.L8002771C_ovl0: -/* 02831C 8002771C 01C50019 */ multu $t6, $a1 -/* 028320 80027720 00007812 */ mflo $t7 -/* 028324 80027724 01E2B823 */ subu $s7, $t7, $v0 -/* 028328 80027728 0317082A */ slt $at, $t8, $s7 -/* 02832C 8002772C 14200146 */ bnez $at, .L80027C48_ovl0 -/* 028330 80027730 AFAF0094 */ sw $t7, 0x94($sp) -/* 028334 80027734 94790008 */ lhu $t9, 8($v1) -/* 028338 80027738 2F210012 */ sltiu $at, $t9, 0x12 -/* 02833C 8002773C 1020011E */ beqz $at, .L80027BB8_ovl0 -/* 028340 80027740 0019C880 */ sll $t9, $t9, 2 -/* 028344 80027744 3C018004 */ lui $at, 0x8004 -/* 028348 80027748 00390821 */ addu $at, $at, $t9 -/* 02834C 8002774C 8C3914CC */ lw $t9, 0x14cc($at) -/* 028350 80027750 03200008 */ jr $t9 -/* 028354 80027754 00000000 */ nop -/* 028358 80027758 846E000A */ lh $t6, 0xa($v1) -/* 02835C 8002775C 00608025 */ move $s0, $v1 -/* 028360 80027760 02802025 */ move $a0, $s4 -/* 028364 80027764 11C00002 */ beqz $t6, .L80027770_ovl0 -/* 028368 80027768 24050005 */ li $a1, 5 -/* 02836C 8002776C AE960048 */ sw $s6, 0x48($s4) -.L80027770_ovl0: -/* 028370 80027770 0C009CD8 */ jal func_80027360 -/* 028374 80027774 8E060018 */ lw $a2, 0x18($s0) -/* 028378 80027778 AE960084 */ sw $s6, 0x84($s4) -/* 02837C 8002777C AE960078 */ sw $s6, 0x78($s4) -/* 028380 80027780 AE800070 */ sw $zero, 0x70($s4) -/* 028384 80027784 8E0F0014 */ lw $t7, 0x14($s0) -/* 028388 80027788 240100B8 */ li $at, 184 -/* 02838C 8002778C 25F8005C */ addiu $t8, $t7, 0x5c -/* 028390 80027790 0301001A */ div $zero, $t8, $at -/* 028394 80027794 0000C812 */ mflo $t9 -/* 028398 80027798 00197080 */ sll $t6, $t9, 2 -/* 02839C 8002779C 01D97023 */ subu $t6, $t6, $t9 -/* 0283A0 800277A0 000E70C0 */ sll $t6, $t6, 3 -/* 0283A4 800277A4 01D97023 */ subu $t6, $t6, $t9 -/* 0283A8 800277A8 000E70C0 */ sll $t6, $t6, 3 -/* 0283AC 800277AC AE8E0074 */ sw $t6, 0x74($s4) -/* 0283B0 800277B0 86030010 */ lh $v1, 0x10($s0) -/* 0283B4 800277B4 00630019 */ multu $v1, $v1 -/* 0283B8 800277B8 00002012 */ mflo $a0 -/* 0283BC 800277BC 000423C3 */ sra $a0, $a0, 0xf -/* 0283C0 800277C0 A684005A */ sh $a0, 0x5a($s4) -/* 0283C4 800277C4 920F0012 */ lbu $t7, 0x12($s0) -/* 0283C8 800277C8 A68F0058 */ sh $t7, 0x58($s4) -/* 0283CC 800277CC 9205001C */ lbu $a1, 0x1c($s0) -/* 0283D0 800277D0 14A00004 */ bnez $a1, .L800277E4_ovl0 -/* 0283D4 800277D4 0005C840 */ sll $t9, $a1, 1 -/* 0283D8 800277D8 9218001D */ lbu $t8, 0x1d($s0) -/* 0283DC 800277DC 2401005F */ li $at, 95 -/* 0283E0 800277E0 1301000B */ beq $t8, $at, .L80027810_ovl0 -.L800277E4_ovl0: -/* 0283E4 800277E4 00197023 */ negu $t6, $t9 -/* 0283E8 800277E8 03CE7821 */ addu $t7, $fp, $t6 -/* 0283EC 800277EC 85F8FFFE */ lh $t8, -2($t7) -/* 0283F0 800277F0 A6980062 */ sh $t8, 0x62($s4) -/* 0283F4 800277F4 9219001D */ lbu $t9, 0x1d($s0) -/* 0283F8 800277F8 00197040 */ sll $t6, $t9, 1 -/* 0283FC 800277FC 000E7823 */ negu $t7, $t6 -/* 028400 80027800 03CFC021 */ addu $t8, $fp, $t7 -/* 028404 80027804 8719FFFE */ lh $t9, -2($t8) -/* 028408 80027808 1000000D */ b .L80027840_ovl0 -/* 02840C 8002780C A6990060 */ sh $t9, 0x60($s4) -.L80027810_ovl0: -/* 028410 80027810 920E0013 */ lbu $t6, 0x13($s0) -/* 028414 80027814 3C188004 */ lui $t8, 0x8004 -/* 028418 80027818 000E7840 */ sll $t7, $t6, 1 -/* 02841C 8002781C 030FC021 */ addu $t8, $t8, $t7 -/* 028420 80027820 8718FA10 */ lh $t8, -0x5f0($t8) -/* 028424 80027824 A6980060 */ sh $t8, 0x60($s4) -/* 028428 80027828 92190013 */ lbu $t9, 0x13($s0) -/* 02842C 8002782C 00197040 */ sll $t6, $t9, 1 -/* 028430 80027830 000E7823 */ negu $t7, $t6 -/* 028434 80027834 03CFC021 */ addu $t8, $fp, $t7 -/* 028438 80027838 8719FFFE */ lh $t9, -2($t8) -/* 02843C 8002783C A6990062 */ sh $t9, 0x62($s4) -.L80027840_ovl0: -/* 028440 80027840 8E0E0014 */ lw $t6, 0x14($s0) -/* 028444 80027844 51C00005 */ beql $t6, $zero, .L8002785C_ovl0 -/* 028448 80027848 86820058 */ lh $v0, 0x58($s4) -/* 02844C 8002784C A696005C */ sh $s6, 0x5c($s4) -/* 028450 80027850 10000012 */ b .L8002789C_ovl0 -/* 028454 80027854 A696005E */ sh $s6, 0x5e($s4) -/* 028458 80027858 86820058 */ lh $v0, 0x58($s4) -.L8002785C_ovl0: -/* 02845C 8002785C 3C0F8004 */ lui $t7, 0x8004 -/* 028460 80027860 8683005A */ lh $v1, 0x5a($s4) -/* 028464 80027864 00021040 */ sll $v0, $v0, 1 -/* 028468 80027868 01E27821 */ addu $t7, $t7, $v0 -/* 02846C 8002786C 85EFFA10 */ lh $t7, -0x5f0($t7) -/* 028470 80027870 00027023 */ negu $t6, $v0 -/* 028474 80027874 01E30019 */ multu $t7, $v1 -/* 028478 80027878 03CE7821 */ addu $t7, $fp, $t6 -/* 02847C 8002787C 0000C012 */ mflo $t8 -/* 028480 80027880 0018CBC3 */ sra $t9, $t8, 0xf -/* 028484 80027884 A699005C */ sh $t9, 0x5c($s4) -/* 028488 80027888 85F8FFFE */ lh $t8, -2($t7) -/* 02848C 8002788C 03030019 */ multu $t8, $v1 -/* 028490 80027890 0000C812 */ mflo $t9 -/* 028494 80027894 001973C3 */ sra $t6, $t9, 0xf -/* 028498 80027898 A68E005E */ sh $t6, 0x5e($s4) -.L8002789C_ovl0: -/* 02849C 8002789C C604000C */ lwc1 $f4, 0xc($s0) -/* 0284A0 800278A0 100000D2 */ b .L80027BEC_ovl0 -/* 0284A4 800278A4 E6840044 */ swc1 $f4, 0x44($s4) -/* 0284A8 800278A8 27AF008E */ addiu $t7, $sp, 0x8e -/* 0284AC 800278AC AFAF0008 */ sw $t7, 8($sp) -/* 0284B0 800278B0 02808025 */ move $s0, $s4 -/* 0284B4 800278B4 27B3009E */ addiu $s3, $sp, 0x9e -/* 0284B8 800278B8 02E02025 */ move $a0, $s7 -/* 0284BC 800278BC 0C009C53 */ jal func_8002714C -/* 0284C0 800278C0 02A03025 */ move $a2, $s5 -/* 0284C4 800278C4 8E880070 */ lw $t0, 0x70($s4) -/* 0284C8 800278C8 8E840074 */ lw $a0, 0x74($s4) -/* 0284CC 800278CC 0040A825 */ move $s5, $v0 -/* 0284D0 800278D0 0104082A */ slt $at, $t0, $a0 -/* 0284D4 800278D4 54200019 */ bnezl $at, .L8002793C_ovl0 -/* 0284D8 800278D8 8685005C */ lh $a1, 0x5c($s4) -/* 0284DC 800278DC 86820058 */ lh $v0, 0x58($s4) -/* 0284E0 800278E0 3C188004 */ lui $t8, 0x8004 -/* 0284E4 800278E4 8683005A */ lh $v1, 0x5a($s4) -/* 0284E8 800278E8 00021040 */ sll $v0, $v0, 1 -/* 0284EC 800278EC 0302C021 */ addu $t8, $t8, $v0 -/* 0284F0 800278F0 8718FA10 */ lh $t8, -0x5f0($t8) -/* 0284F4 800278F4 00027823 */ negu $t7, $v0 -/* 0284F8 800278F8 03030019 */ multu $t8, $v1 -/* 0284FC 800278FC 03CFC021 */ addu $t8, $fp, $t7 -/* 028500 80027900 0000C812 */ mflo $t9 -/* 028504 80027904 001973C3 */ sra $t6, $t9, 0xf -/* 028508 80027908 A68E0068 */ sh $t6, 0x68($s4) -/* 02850C 8002790C 8719FFFE */ lh $t9, -2($t8) -/* 028510 80027910 86980068 */ lh $t8, 0x68($s4) -/* 028514 80027914 AE840070 */ sw $a0, 0x70($s4) -/* 028518 80027918 03230019 */ multu $t9, $v1 -/* 02851C 8002791C A698005C */ sh $t8, 0x5c($s4) -/* 028520 80027920 00007012 */ mflo $t6 -/* 028524 80027924 000E7BC3 */ sra $t7, $t6, 0xf -/* 028528 80027928 A68F006E */ sh $t7, 0x6e($s4) -/* 02852C 8002792C 8699006E */ lh $t9, 0x6e($s4) -/* 028530 80027930 1000000D */ b .L80027968_ovl0 -/* 028534 80027934 A699005E */ sh $t9, 0x5e($s4) -/* 028538 80027938 8685005C */ lh $a1, 0x5c($s4) -.L8002793C_ovl0: -/* 02853C 8002793C 01002025 */ move $a0, $t0 -/* 028540 80027940 86870066 */ lh $a3, 0x66($s4) -/* 028544 80027944 0C009D84 */ jal func_80027610 -/* 028548 80027948 96860064 */ lhu $a2, 0x64($s4) -/* 02854C 8002794C A682005C */ sh $v0, 0x5c($s4) -/* 028550 80027950 8685005E */ lh $a1, 0x5e($s4) -/* 028554 80027954 8E840070 */ lw $a0, 0x70($s4) -/* 028558 80027958 8687006C */ lh $a3, 0x6c($s4) -/* 02855C 8002795C 0C009D84 */ jal func_80027610 -/* 028560 80027960 9686006A */ lhu $a2, 0x6a($s4) -/* 028564 80027964 A682005E */ sh $v0, 0x5e($s4) -.L80027968_ovl0: -/* 028568 80027968 868E005C */ lh $t6, 0x5c($s4) -/* 02856C 8002796C 55C00003 */ bnezl $t6, .L8002797C_ovl0 -/* 028570 80027970 868F005E */ lh $t7, 0x5e($s4) -/* 028574 80027974 A696005C */ sh $s6, 0x5c($s4) -/* 028578 80027978 868F005E */ lh $t7, 0x5e($s4) -.L8002797C_ovl0: -/* 02857C 8002797C 55E00003 */ bnezl $t7, .L8002798C_ovl0 -/* 028580 80027980 8E83007C */ lw $v1, 0x7c($s4) -/* 028584 80027984 A696005E */ sh $s6, 0x5e($s4) -/* 028588 80027988 8E83007C */ lw $v1, 0x7c($s4) -.L8002798C_ovl0: -/* 02858C 8002798C 2401000C */ li $at, 12 -/* 028590 80027990 84640008 */ lh $a0, 8($v1) -/* 028594 80027994 54810005 */ bnel $a0, $at, .L800279AC_ovl0 -/* 028598 80027998 2401000B */ li $at, 11 -/* 02859C 8002799C 8C78000C */ lw $t8, 0xc($v1) -/* 0285A0 800279A0 A6980058 */ sh $t8, 0x58($s4) -/* 0285A4 800279A4 84640008 */ lh $a0, 8($v1) -/* 0285A8 800279A8 2401000B */ li $at, 11 -.L800279AC_ovl0: -/* 0285AC 800279AC 54810014 */ bnel $a0, $at, .L80027A00_ovl0 -/* 0285B0 800279B0 24010010 */ li $at, 16 -/* 0285B4 800279B4 AE800070 */ sw $zero, 0x70($s4) -/* 0285B8 800279B8 8C62000C */ lw $v0, 0xc($v1) -/* 0285BC 800279BC 240100B8 */ li $at, 184 -/* 0285C0 800279C0 00420019 */ multu $v0, $v0 -/* 0285C4 800279C4 00001012 */ mflo $v0 -/* 0285C8 800279C8 000213C3 */ sra $v0, $v0, 0xf -/* 0285CC 800279CC A682005A */ sh $v0, 0x5a($s4) -/* 0285D0 800279D0 8C790010 */ lw $t9, 0x10($v1) -/* 0285D4 800279D4 272E005C */ addiu $t6, $t9, 0x5c -/* 0285D8 800279D8 01C1001A */ div $zero, $t6, $at -/* 0285DC 800279DC 00007812 */ mflo $t7 -/* 0285E0 800279E0 000FC080 */ sll $t8, $t7, 2 -/* 0285E4 800279E4 030FC023 */ subu $t8, $t8, $t7 -/* 0285E8 800279E8 0018C0C0 */ sll $t8, $t8, 3 -/* 0285EC 800279EC 030FC023 */ subu $t8, $t8, $t7 -/* 0285F0 800279F0 0018C0C0 */ sll $t8, $t8, 3 -/* 0285F4 800279F4 AE980074 */ sw $t8, 0x74($s4) -/* 0285F8 800279F8 84640008 */ lh $a0, 8($v1) -/* 0285FC 800279FC 24010010 */ li $at, 16 -.L80027A00_ovl0: -/* 028600 80027A00 5481000F */ bnel $a0, $at, .L80027A40_ovl0 -/* 028604 80027A04 24010011 */ li $at, 17 -/* 028608 80027A08 8C79000C */ lw $t9, 0xc($v1) -/* 02860C 80027A0C 3C0F8004 */ lui $t7, 0x8004 -/* 028610 80027A10 00197040 */ sll $t6, $t9, 1 -/* 028614 80027A14 01EE7821 */ addu $t7, $t7, $t6 -/* 028618 80027A18 85EFFA10 */ lh $t7, -0x5f0($t7) -/* 02861C 80027A1C A68F0060 */ sh $t7, 0x60($s4) -/* 028620 80027A20 8C78000C */ lw $t8, 0xc($v1) -/* 028624 80027A24 0018C840 */ sll $t9, $t8, 1 -/* 028628 80027A28 00197023 */ negu $t6, $t9 -/* 02862C 80027A2C 03CE7821 */ addu $t7, $fp, $t6 -/* 028630 80027A30 85F8FFFE */ lh $t8, -2($t7) -/* 028634 80027A34 A6980062 */ sh $t8, 0x62($s4) -/* 028638 80027A38 84640008 */ lh $a0, 8($v1) -/* 02863C 80027A3C 24010011 */ li $at, 17 -.L80027A40_ovl0: -/* 028640 80027A40 1481000D */ bne $a0, $at, .L80027A78_ovl0 -/* 028644 80027A44 00000000 */ nop -/* 028648 80027A48 8C790010 */ lw $t9, 0x10($v1) -/* 02864C 80027A4C 00197040 */ sll $t6, $t9, 1 -/* 028650 80027A50 000E7823 */ negu $t7, $t6 -/* 028654 80027A54 03CFC021 */ addu $t8, $fp, $t7 -/* 028658 80027A58 87190000 */ lh $t9, ($t8) -/* 02865C 80027A5C A6990060 */ sh $t9, 0x60($s4) -/* 028660 80027A60 8C6E000C */ lw $t6, 0xc($v1) -/* 028664 80027A64 000E7840 */ sll $t7, $t6, 1 -/* 028668 80027A68 000FC023 */ negu $t8, $t7 -/* 02866C 80027A6C 03D8C821 */ addu $t9, $fp, $t8 -/* 028670 80027A70 872EFFFE */ lh $t6, -2($t9) -/* 028674 80027A74 A68E0062 */ sh $t6, 0x62($s4) -.L80027A78_ovl0: -/* 028678 80027A78 1000005C */ b .L80027BEC_ovl0 -/* 02867C 80027A7C AE960078 */ sw $s6, 0x78($s4) -/* 028680 80027A80 846F000A */ lh $t7, 0xa($v1) -/* 028684 80027A84 00601025 */ move $v0, $v1 -/* 028688 80027A88 02802025 */ move $a0, $s4 -/* 02868C 80027A8C 11E00002 */ beqz $t7, .L80027A98_ovl0 -/* 028690 80027A90 24050005 */ li $a1, 5 -/* 028694 80027A94 AE960048 */ sw $s6, 0x48($s4) -.L80027A98_ovl0: -/* 028698 80027A98 0C009CD8 */ jal func_80027360 -/* 02869C 80027A9C 8C46000C */ lw $a2, 0xc($v0) -/* 0286A0 80027AA0 10000052 */ b .L80027BEC_ovl0 -/* 0286A4 80027AA4 AE960084 */ sw $s6, 0x84($s4) -/* 0286A8 80027AA8 27B8008E */ addiu $t8, $sp, 0x8e -/* 0286AC 80027AAC AFB80008 */ sw $t8, 8($sp) -/* 0286B0 80027AB0 02808025 */ move $s0, $s4 -/* 0286B4 80027AB4 27B3009E */ addiu $s3, $sp, 0x9e -/* 0286B8 80027AB8 02E02025 */ move $a0, $s7 -/* 0286BC 80027ABC 0C009C53 */ jal func_8002714C -/* 0286C0 80027AC0 02A03025 */ move $a2, $s5 -/* 0286C4 80027AC4 0040A825 */ move $s5, $v0 -/* 0286C8 80027AC8 02802025 */ move $a0, $s4 -/* 0286CC 80027ACC 24050004 */ li $a1, 4 -/* 0286D0 80027AD0 0C009D48 */ jal func_80027520 -/* 0286D4 80027AD4 00003025 */ move $a2, $zero -/* 0286D8 80027AD8 10000045 */ b .L80027BF0_ovl0 -/* 0286DC 80027ADC 87B9008E */ lh $t9, 0x8e($sp) -/* 0286E0 80027AE0 8C79000C */ lw $t9, 0xc($v1) -/* 0286E4 80027AE4 AF200088 */ sw $zero, 0x88($t9) -/* 0286E8 80027AE8 8C70000C */ lw $s0, 0xc($v1) -/* 0286EC 80027AEC 0C0097DD */ jal func_80025F74 -/* 0286F0 80027AF0 02002025 */ move $a0, $s0 -/* 0286F4 80027AF4 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 -/* 0286F8 80027AF8 8C42FB14 */ lw $v0, %lo(D_8003FB14)($v0) -/* 0286FC 80027AFC 8C4E0020 */ lw $t6, 0x20($v0) -/* 028700 80027B00 24420020 */ addiu $v0, $v0, 0x20 -/* 028704 80027B04 AE020004 */ sw $v0, 4($s0) -/* 028708 80027B08 AE0E0000 */ sw $t6, ($s0) -/* 02870C 80027B0C 8C430000 */ lw $v1, ($v0) -/* 028710 80027B10 10600002 */ beqz $v1, .L80027B1C_ovl0 -/* 028714 80027B14 00000000 */ nop -/* 028718 80027B18 AC700004 */ sw $s0, 4($v1) -.L80027B1C_ovl0: -/* 02871C 80027B1C 10000033 */ b .L80027BEC_ovl0 -/* 028720 80027B20 AC500000 */ sw $s0, ($v0) -/* 028724 80027B24 27AF008E */ addiu $t7, $sp, 0x8e -/* 028728 80027B28 AFAF0008 */ sw $t7, 8($sp) -/* 02872C 80027B2C 02808025 */ move $s0, $s4 -/* 028730 80027B30 27B3009E */ addiu $s3, $sp, 0x9e -/* 028734 80027B34 02E02025 */ move $a0, $s7 -/* 028738 80027B38 0C009C53 */ jal func_8002714C -/* 02873C 80027B3C 02A03025 */ move $a2, $s5 -/* 028740 80027B40 8E98007C */ lw $t8, 0x7c($s4) -/* 028744 80027B44 0040A825 */ move $s5, $v0 -/* 028748 80027B48 C706000C */ lwc1 $f6, 0xc($t8) -/* 02874C 80027B4C 10000027 */ b .L80027BEC_ovl0 -/* 028750 80027B50 E6860044 */ swc1 $f6, 0x44($s4) -/* 028754 80027B54 27B9008E */ addiu $t9, $sp, 0x8e -/* 028758 80027B58 AFB90008 */ sw $t9, 8($sp) -/* 02875C 80027B5C 02808025 */ move $s0, $s4 -/* 028760 80027B60 27B3009E */ addiu $s3, $sp, 0x9e -/* 028764 80027B64 02E02025 */ move $a0, $s7 -/* 028768 80027B68 0C009C53 */ jal func_8002714C -/* 02876C 80027B6C 02A03025 */ move $a2, $s5 -/* 028770 80027B70 0040A825 */ move $s5, $v0 -/* 028774 80027B74 1000001D */ b .L80027BEC_ovl0 -/* 028778 80027B78 AE960048 */ sw $s6, 0x48($s4) -/* 02877C 80027B7C 27AE008E */ addiu $t6, $sp, 0x8e -/* 028780 80027B80 AFAE0008 */ sw $t6, 8($sp) -/* 028784 80027B84 02808025 */ move $s0, $s4 -/* 028788 80027B88 27B3009E */ addiu $s3, $sp, 0x9e -/* 02878C 80027B8C 02E02025 */ move $a0, $s7 -/* 028790 80027B90 0C009C53 */ jal func_8002714C -/* 028794 80027B94 02A03025 */ move $a2, $s5 -/* 028798 80027B98 8E8F007C */ lw $t7, 0x7c($s4) -/* 02879C 80027B9C 0040A825 */ move $s5, $v0 -/* 0287A0 80027BA0 02802025 */ move $a0, $s4 -/* 0287A4 80027BA4 24050005 */ li $a1, 5 -/* 0287A8 80027BA8 0C009CD8 */ jal func_80027360 -/* 0287AC 80027BAC 8DE6000C */ lw $a2, 0xc($t7) -/* 0287B0 80027BB0 1000000F */ b .L80027BF0_ovl0 -/* 0287B4 80027BB4 87B9008E */ lh $t9, 0x8e($sp) -.L80027BB8_ovl0: -/* 0287B8 80027BB8 27B8008E */ addiu $t8, $sp, 0x8e -/* 0287BC 80027BBC AFB80008 */ sw $t8, 8($sp) -/* 0287C0 80027BC0 02808025 */ move $s0, $s4 -/* 0287C4 80027BC4 27B3009E */ addiu $s3, $sp, 0x9e -/* 0287C8 80027BC8 02E02025 */ move $a0, $s7 -/* 0287CC 80027BCC 0C009C53 */ jal func_8002714C -/* 0287D0 80027BD0 02A03025 */ move $a2, $s5 -/* 0287D4 80027BD4 8E83007C */ lw $v1, 0x7c($s4) -/* 0287D8 80027BD8 0040A825 */ move $s5, $v0 -/* 0287DC 80027BDC 02802025 */ move $a0, $s4 -/* 0287E0 80027BE0 84650008 */ lh $a1, 8($v1) -/* 0287E4 80027BE4 0C009D48 */ jal func_80027520 -/* 0287E8 80027BE8 8C66000C */ lw $a2, 0xc($v1) -.L80027BEC_ovl0: -/* 0287EC 80027BEC 87B9008E */ lh $t9, 0x8e($sp) -.L80027BF0_ovl0: -/* 0287F0 80027BF0 8FB80080 */ lw $t8, 0x80($sp) -/* 0287F4 80027BF4 00177040 */ sll $t6, $s7, 1 -/* 0287F8 80027BF8 032E7821 */ addu $t7, $t9, $t6 -/* 0287FC 80027BFC 0317C823 */ subu $t9, $t8, $s7 -/* 028800 80027C00 A7AF008E */ sh $t7, 0x8e($sp) -/* 028804 80027C04 AFB90080 */ sw $t9, 0x80($sp) -/* 028808 80027C08 8E82007C */ lw $v0, 0x7c($s4) -/* 02880C 80027C0C 3C078004 */ lui $a3, %hi(D_8003FB14) # $a3, 0x8004 -/* 028810 80027C10 24E7FB14 */ addiu $a3, %lo(D_8003FB14) # addiu $a3, $a3, -0x4ec -/* 028814 80027C14 8C4E0000 */ lw $t6, ($v0) -/* 028818 80027C18 15C00002 */ bnez $t6, .L80027C24_ovl0 -/* 02881C 80027C1C AE8E007C */ sw $t6, 0x7c($s4) -/* 028820 80027C20 AE800080 */ sw $zero, 0x80($s4) -.L80027C24_ovl0: -/* 028824 80027C24 8CF80000 */ lw $t8, ($a3) -/* 028828 80027C28 8F190038 */ lw $t9, 0x38($t8) -/* 02882C 80027C2C AC590000 */ sw $t9, ($v0) -/* 028830 80027C30 8CEE0000 */ lw $t6, ($a3) -/* 028834 80027C34 ADC20038 */ sw $v0, 0x38($t6) -/* 028838 80027C38 8FAF00A0 */ lw $t7, 0xa0($sp) -/* 02883C 80027C3C 8DF8007C */ lw $t8, 0x7c($t7) -/* 028840 80027C40 5700FEA6 */ bnezl $t8, .L800276DC_ovl0 -/* 028844 80027C44 8E83007C */ lw $v1, 0x7c($s4) -.L80027C48_ovl0: -/* 028848 80027C48 27B9008E */ addiu $t9, $sp, 0x8e -/* 02884C 80027C4C AFB90008 */ sw $t9, 8($sp) -/* 028850 80027C50 02808025 */ move $s0, $s4 -/* 028854 80027C54 27B3009E */ addiu $s3, $sp, 0x9e -/* 028858 80027C58 8FA40080 */ lw $a0, 0x80($sp) -/* 02885C 80027C5C 0C009C53 */ jal func_8002714C -/* 028860 80027C60 02A03025 */ move $a2, $s5 -/* 028864 80027C64 8E840074 */ lw $a0, 0x74($s4) -/* 028868 80027C68 8E8E0070 */ lw $t6, 0x70($s4) -/* 02886C 80027C6C 0040A825 */ move $s5, $v0 -/* 028870 80027C70 02A01025 */ move $v0, $s5 -/* 028874 80027C74 008E082A */ slt $at, $a0, $t6 -/* 028878 80027C78 50200003 */ beql $at, $zero, .L80027C88_ovl0 -/* 02887C 80027C7C 8FBF0044 */ lw $ra, 0x44($sp) -/* 028880 80027C80 AE840070 */ sw $a0, 0x70($s4) -/* 028884 80027C84 8FBF0044 */ lw $ra, 0x44($sp) -.L80027C88_ovl0: -/* 028888 80027C88 8FB00020 */ lw $s0, 0x20($sp) -/* 02888C 80027C8C 8FB10024 */ lw $s1, 0x24($sp) -/* 028890 80027C90 8FB20028 */ lw $s2, 0x28($sp) -/* 028894 80027C94 8FB3002C */ lw $s3, 0x2c($sp) -/* 028898 80027C98 8FB40030 */ lw $s4, 0x30($sp) -/* 02889C 80027C9C 8FB50034 */ lw $s5, 0x34($sp) -/* 0288A0 80027CA0 8FB60038 */ lw $s6, 0x38($sp) -/* 0288A4 80027CA4 8FB7003C */ lw $s7, 0x3c($sp) -/* 0288A8 80027CA8 8FBE0040 */ lw $fp, 0x40($sp) -/* 0288AC 80027CAC 03E00008 */ jr $ra -/* 0288B0 80027CB0 27BD00A8 */ addiu $sp, $sp, 0xa8 - -glabel func_80027CB4 -/* 0288B4 80027CB4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0288B8 80027CB8 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 -/* 0288BC 80027CBC 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) -/* 0288C0 80027CC0 AFBF002C */ sw $ra, 0x2c($sp) -/* 0288C4 80027CC4 AFB40028 */ sw $s4, 0x28($sp) -/* 0288C8 80027CC8 AFB30024 */ sw $s3, 0x24($sp) -/* 0288CC 80027CCC AFB20020 */ sw $s2, 0x20($sp) -/* 0288D0 80027CD0 AFB1001C */ sw $s1, 0x1c($sp) -/* 0288D4 80027CD4 AFB00018 */ sw $s0, 0x18($sp) -/* 0288D8 80027CD8 8DD30040 */ lw $s3, 0x40($t6) -/* 0288DC 80027CDC 3C0F0200 */ lui $t7, (0x020007C0 >> 16) # lui $t7, 0x200 -/* 0288E0 80027CE0 35EF07C0 */ ori $t7, (0x020007C0 & 0xFFFF) # ori $t7, $t7, 0x7c0 -/* 0288E4 80027CE4 8E62001C */ lw $v0, 0x1c($s3) -/* 0288E8 80027CE8 241802E0 */ li $t8, 736 -/* 0288EC 80027CEC ACB80004 */ sw $t8, 4($a1) -/* 0288F0 80027CF0 ACAF0000 */ sw $t7, ($a1) -/* 0288F4 80027CF4 8E790014 */ lw $t9, 0x14($s3) -/* 0288F8 80027CF8 0080A025 */ move $s4, $a0 -/* 0288FC 80027CFC 24B20008 */ addiu $s2, $a1, 8 -/* 028900 80027D00 1B20000C */ blez $t9, .L80027D34_ovl0 -/* 028904 80027D04 00008025 */ move $s0, $zero -/* 028908 80027D08 00408825 */ move $s1, $v0 -.L80027D0C_ovl0: -/* 02890C 80027D0C 8E240000 */ lw $a0, ($s1) -/* 028910 80027D10 02802825 */ move $a1, $s4 -/* 028914 80027D14 0C009D9C */ jal func_80027670 -/* 028918 80027D18 02403025 */ move $a2, $s2 -/* 02891C 80027D1C 8E680014 */ lw $t0, 0x14($s3) -/* 028920 80027D20 26100001 */ addiu $s0, $s0, 1 -/* 028924 80027D24 26310004 */ addiu $s1, $s1, 4 -/* 028928 80027D28 0208082A */ slt $at, $s0, $t0 -/* 02892C 80027D2C 1420FFF7 */ bnez $at, .L80027D0C_ovl0 -/* 028930 80027D30 00409025 */ move $s2, $v0 -.L80027D34_ovl0: -/* 028934 80027D34 8FBF002C */ lw $ra, 0x2c($sp) -/* 028938 80027D38 02401025 */ move $v0, $s2 -/* 02893C 80027D3C 8FB20020 */ lw $s2, 0x20($sp) -/* 028940 80027D40 8FB00018 */ lw $s0, 0x18($sp) -/* 028944 80027D44 8FB1001C */ lw $s1, 0x1c($sp) -/* 028948 80027D48 8FB30024 */ lw $s3, 0x24($sp) -/* 02894C 80027D4C 8FB40028 */ lw $s4, 0x28($sp) -/* 028950 80027D50 03E00008 */ jr $ra -/* 028954 80027D54 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_80027D58 -/* 028958 80027D58 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 02895C 80027D5C AFBF001C */ sw $ra, 0x1c($sp) -/* 028960 80027D60 AFB00018 */ sw $s0, 0x18($sp) -/* 028964 80027D64 8C89001C */ lw $t1, 0x1c($a0) -/* 028968 80027D68 8C820014 */ lw $v0, 0x14($a0) -/* 02896C 80027D6C 00804025 */ move $t0, $a0 -/* 028970 80027D70 00094840 */ sll $t1, $t1, 1 -/* 028974 80027D74 00A2082B */ sltu $at, $a1, $v0 -/* 028978 80027D78 00C05825 */ move $t3, $a2 -/* 02897C 80027D7C 10200002 */ beqz $at, .L80027D88_ovl0 -/* 028980 80027D80 00491821 */ addu $v1, $v0, $t1 -/* 028984 80027D84 00A92821 */ addu $a1, $a1, $t1 -.L80027D88_ovl0: -/* 028988 80027D88 24A60170 */ addiu $a2, $a1, 0x170 -/* 02898C 80027D8C 0066082B */ sltu $at, $v1, $a2 -/* 028990 80027D90 1020002E */ beqz $at, .L80027E4C_ovl0 -/* 028994 80027D94 24F00008 */ addiu $s0, $a3, 8 -/* 028998 80027D98 00655023 */ subu $t2, $v1, $a1 -/* 02899C 80027D9C 000A5043 */ sra $t2, $t2, 1 -/* 0289A0 80027DA0 000A5040 */ sll $t2, $t2, 1 -/* 0289A4 80027DA4 314E0FFF */ andi $t6, $t2, 0xfff -/* 0289A8 80027DA8 000E7B00 */ sll $t7, $t6, 0xc -/* 0289AC 80027DAC 3C010600 */ lui $at, 0x600 -/* 0289B0 80027DB0 01E1C025 */ or $t8, $t7, $at -/* 0289B4 80027DB4 31790FFF */ andi $t9, $t3, 0xfff -/* 0289B8 80027DB8 03196025 */ or $t4, $t8, $t9 -/* 0289BC 80027DBC ACEC0000 */ sw $t4, ($a3) -/* 0289C0 80027DC0 AFAB0050 */ sw $t3, 0x50($sp) -/* 0289C4 80027DC4 AFAA0020 */ sw $t2, 0x20($sp) -/* 0289C8 80027DC8 AFA70030 */ sw $a3, 0x30($sp) -/* 0289CC 80027DCC AFA80048 */ sw $t0, 0x48($sp) -/* 0289D0 80027DD0 AFA60024 */ sw $a2, 0x24($sp) -/* 0289D4 80027DD4 AFA30034 */ sw $v1, 0x34($sp) -/* 0289D8 80027DD8 24F00008 */ addiu $s0, $a3, 8 -/* 0289DC 80027DDC 0C00BFE8 */ jal osVirtualToPhysical -/* 0289E0 80027DE0 00A02025 */ move $a0, $a1 -/* 0289E4 80027DE4 8FA30034 */ lw $v1, 0x34($sp) -/* 0289E8 80027DE8 8FA60024 */ lw $a2, 0x24($sp) -/* 0289EC 80027DEC 8FAA0020 */ lw $t2, 0x20($sp) -/* 0289F0 80027DF0 8FAB0050 */ lw $t3, 0x50($sp) -/* 0289F4 80027DF4 00C36823 */ subu $t5, $a2, $v1 -/* 0289F8 80027DF8 000D7043 */ sra $t6, $t5, 1 -/* 0289FC 80027DFC 000E7840 */ sll $t7, $t6, 1 -/* 028A00 80027E00 8FA90030 */ lw $t1, 0x30($sp) -/* 028A04 80027E04 31F80FFF */ andi $t8, $t7, 0xfff -/* 028A08 80027E08 8FA80048 */ lw $t0, 0x48($sp) -/* 028A0C 80027E0C 0018CB00 */ sll $t9, $t8, 0xc -/* 028A10 80027E10 3C010600 */ lui $at, 0x600 -/* 028A14 80027E14 016A6821 */ addu $t5, $t3, $t2 -/* 028A18 80027E18 31AE0FFF */ andi $t6, $t5, 0xfff -/* 028A1C 80027E1C 03216025 */ or $t4, $t9, $at -/* 028A20 80027E20 018E7825 */ or $t7, $t4, $t6 -/* 028A24 80027E24 02002825 */ move $a1, $s0 -/* 028A28 80027E28 AD220004 */ sw $v0, 4($t1) -/* 028A2C 80027E2C ACAF0000 */ sw $t7, ($a1) -/* 028A30 80027E30 8D040014 */ lw $a0, 0x14($t0) -/* 028A34 80027E34 AFA5002C */ sw $a1, 0x2c($sp) -/* 028A38 80027E38 0C00BFE8 */ jal osVirtualToPhysical -/* 028A3C 80027E3C 26100008 */ addiu $s0, $s0, 8 -/* 028A40 80027E40 8FA5002C */ lw $a1, 0x2c($sp) -/* 028A44 80027E44 1000000A */ b .L80027E70_ovl0 -/* 028A48 80027E48 ACA20004 */ sw $v0, 4($a1) -.L80027E4C_ovl0: -/* 028A4C 80027E4C 31780FFF */ andi $t8, $t3, 0xfff -/* 028A50 80027E50 3C010617 */ lui $at, 0x617 -/* 028A54 80027E54 0301C825 */ or $t9, $t8, $at -/* 028A58 80027E58 ACF90000 */ sw $t9, ($a3) -/* 028A5C 80027E5C AFA70028 */ sw $a3, 0x28($sp) -/* 028A60 80027E60 0C00BFE8 */ jal osVirtualToPhysical -/* 028A64 80027E64 00A02025 */ move $a0, $a1 -/* 028A68 80027E68 8FA30028 */ lw $v1, 0x28($sp) -/* 028A6C 80027E6C AC620004 */ sw $v0, 4($v1) -.L80027E70_ovl0: -/* 028A70 80027E70 8FBF001C */ lw $ra, 0x1c($sp) -/* 028A74 80027E74 02001025 */ move $v0, $s0 -/* 028A78 80027E78 8FB00018 */ lw $s0, 0x18($sp) -/* 028A7C 80027E7C 03E00008 */ jr $ra -/* 028A80 80027E80 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel func_80027E84 -/* 028A84 80027E84 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 028A88 80027E88 3C0E0B00 */ lui $t6, (0x0B000020 >> 16) # lui $t6, 0xb00 -/* 028A8C 80027E8C AFBF0014 */ sw $ra, 0x14($sp) -/* 028A90 80027E90 AFA5002C */ sw $a1, 0x2c($sp) -/* 028A94 80027E94 35CE0020 */ ori $t6, (0x0B000020 & 0xFFFF) # ori $t6, $t6, 0x20 -/* 028A98 80027E98 00803825 */ move $a3, $a0 -/* 028A9C 80027E9C ACCE0000 */ sw $t6, ($a2) -/* 028AA0 80027EA0 AFA70028 */ sw $a3, 0x28($sp) -/* 028AA4 80027EA4 AFA60030 */ sw $a2, 0x30($sp) -/* 028AA8 80027EA8 0C00BFE8 */ jal osVirtualToPhysical -/* 028AAC 80027EAC 24840008 */ addiu $a0, $a0, 8 -/* 028AB0 80027EB0 8FA60030 */ lw $a2, 0x30($sp) -/* 028AB4 80027EB4 8FA70028 */ lw $a3, 0x28($sp) -/* 028AB8 80027EB8 3C010E00 */ lui $at, 0xe00 -/* 028ABC 80027EBC 24C30008 */ addiu $v1, $a2, 8 -/* 028AC0 80027EC0 246F0008 */ addiu $t7, $v1, 8 -/* 028AC4 80027EC4 ACC20004 */ sw $v0, 4($a2) -/* 028AC8 80027EC8 AFAF0024 */ sw $t7, 0x24($sp) -/* 028ACC 80027ECC 8CF8002C */ lw $t8, 0x2c($a3) -/* 028AD0 80027ED0 84EA0002 */ lh $t2, 2($a3) -/* 028AD4 80027ED4 331900FF */ andi $t9, $t8, 0xff -/* 028AD8 80027ED8 00194400 */ sll $t0, $t9, 0x10 -/* 028ADC 80027EDC 01014825 */ or $t1, $t0, $at -/* 028AE0 80027EE0 314BFFFF */ andi $t3, $t2, 0xffff -/* 028AE4 80027EE4 012B6025 */ or $t4, $t1, $t3 -/* 028AE8 80027EE8 AC6C0000 */ sw $t4, ($v1) -/* 028AEC 80027EEC 8CE40028 */ lw $a0, 0x28($a3) -/* 028AF0 80027EF0 0C00BFE8 */ jal osVirtualToPhysical -/* 028AF4 80027EF4 AFA30018 */ sw $v1, 0x18($sp) -/* 028AF8 80027EF8 8FAE002C */ lw $t6, 0x2c($sp) -/* 028AFC 80027EFC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 028B00 80027F00 8FA50018 */ lw $a1, 0x18($sp) -/* 028B04 80027F04 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 028B08 80027F08 000E4203 */ sra $t0, $t6, 8 -/* 028B0C 80027F0C 8FA70028 */ lw $a3, 0x28($sp) -/* 028B10 80027F10 00085600 */ sll $t2, $t0, 0x18 -/* 028B14 80027F14 00416824 */ and $t5, $v0, $at -/* 028B18 80027F18 01AA4825 */ or $t1, $t5, $t2 -/* 028B1C 80027F1C ACA90004 */ sw $t1, 4($a1) -/* 028B20 80027F20 ACE0002C */ sw $zero, 0x2c($a3) -/* 028B24 80027F24 8FBF0014 */ lw $ra, 0x14($sp) -/* 028B28 80027F28 8FA20024 */ lw $v0, 0x24($sp) -/* 028B2C 80027F2C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 028B30 80027F30 03E00008 */ jr $ra -/* 028B34 80027F34 00000000 */ nop - -glabel func_80027F38 -/* 028B38 80027F38 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 028B3C 80027F3C AFBF001C */ sw $ra, 0x1c($sp) -/* 028B40 80027F40 AFB00018 */ sw $s0, 0x18($sp) -/* 028B44 80027F44 8C89001C */ lw $t1, 0x1c($a0) -/* 028B48 80027F48 8C820014 */ lw $v0, 0x14($a0) -/* 028B4C 80027F4C 00804025 */ move $t0, $a0 -/* 028B50 80027F50 00094840 */ sll $t1, $t1, 1 -/* 028B54 80027F54 00A2082B */ sltu $at, $a1, $v0 -/* 028B58 80027F58 00C05025 */ move $t2, $a2 -/* 028B5C 80027F5C 10200002 */ beqz $at, .L80027F68_ovl0 -/* 028B60 80027F60 00491821 */ addu $v1, $v0, $t1 -/* 028B64 80027F64 00A92821 */ addu $a1, $a1, $t1 -.L80027F68_ovl0: -/* 028B68 80027F68 00077040 */ sll $t6, $a3, 1 -/* 028B6C 80027F6C 01C53021 */ addu $a2, $t6, $a1 -/* 028B70 80027F70 0066082B */ sltu $at, $v1, $a2 -/* 028B74 80027F74 1020002F */ beqz $at, .L80028034_ovl0 -/* 028B78 80027F78 8FA20058 */ lw $v0, 0x58($sp) -/* 028B7C 80027F7C 00654823 */ subu $t1, $v1, $a1 -/* 028B80 80027F80 00094843 */ sra $t1, $t1, 1 -/* 028B84 80027F84 00094840 */ sll $t1, $t1, 1 -/* 028B88 80027F88 312F0FFF */ andi $t7, $t1, 0xfff -/* 028B8C 80027F8C 8FA20058 */ lw $v0, 0x58($sp) -/* 028B90 80027F90 000FC300 */ sll $t8, $t7, 0xc -/* 028B94 80027F94 3C010400 */ lui $at, 0x400 -/* 028B98 80027F98 0301C825 */ or $t9, $t8, $at -/* 028B9C 80027F9C 314B0FFF */ andi $t3, $t2, 0xfff -/* 028BA0 80027FA0 032B6025 */ or $t4, $t9, $t3 -/* 028BA4 80027FA4 AC4C0000 */ sw $t4, ($v0) -/* 028BA8 80027FA8 AFAA0050 */ sw $t2, 0x50($sp) -/* 028BAC 80027FAC AFA90020 */ sw $t1, 0x20($sp) -/* 028BB0 80027FB0 AFA80048 */ sw $t0, 0x48($sp) -/* 028BB4 80027FB4 AFA60024 */ sw $a2, 0x24($sp) -/* 028BB8 80027FB8 AFA30034 */ sw $v1, 0x34($sp) -/* 028BBC 80027FBC 00A02025 */ move $a0, $a1 -/* 028BC0 80027FC0 AFA20030 */ sw $v0, 0x30($sp) -/* 028BC4 80027FC4 0C00BFE8 */ jal osVirtualToPhysical -/* 028BC8 80027FC8 24500008 */ addiu $s0, $v0, 8 -/* 028BCC 80027FCC 8FA30034 */ lw $v1, 0x34($sp) -/* 028BD0 80027FD0 8FA60024 */ lw $a2, 0x24($sp) -/* 028BD4 80027FD4 8FA90020 */ lw $t1, 0x20($sp) -/* 028BD8 80027FD8 8FAA0050 */ lw $t2, 0x50($sp) -/* 028BDC 80027FDC 00C36823 */ subu $t5, $a2, $v1 -/* 028BE0 80027FE0 000D7043 */ sra $t6, $t5, 1 -/* 028BE4 80027FE4 000E7840 */ sll $t7, $t6, 1 -/* 028BE8 80027FE8 8FA70030 */ lw $a3, 0x30($sp) -/* 028BEC 80027FEC 31F80FFF */ andi $t8, $t7, 0xfff -/* 028BF0 80027FF0 8FA80048 */ lw $t0, 0x48($sp) -/* 028BF4 80027FF4 0018CB00 */ sll $t9, $t8, 0xc -/* 028BF8 80027FF8 3C010400 */ lui $at, 0x400 -/* 028BFC 80027FFC 01496021 */ addu $t4, $t2, $t1 -/* 028C00 80028000 318D0FFF */ andi $t5, $t4, 0xfff -/* 028C04 80028004 03215825 */ or $t3, $t9, $at -/* 028C08 80028008 016D7025 */ or $t6, $t3, $t5 -/* 028C0C 8002800C 02002825 */ move $a1, $s0 -/* 028C10 80028010 ACE20004 */ sw $v0, 4($a3) -/* 028C14 80028014 ACAE0000 */ sw $t6, ($a1) -/* 028C18 80028018 8D040014 */ lw $a0, 0x14($t0) -/* 028C1C 8002801C AFA5002C */ sw $a1, 0x2c($sp) -/* 028C20 80028020 0C00BFE8 */ jal osVirtualToPhysical -/* 028C24 80028024 26100008 */ addiu $s0, $s0, 8 -/* 028C28 80028028 8FA5002C */ lw $a1, 0x2c($sp) -/* 028C2C 8002802C 1000000F */ b .L8002806C_ovl0 -/* 028C30 80028030 ACA20004 */ sw $v0, 4($a1) -.L80028034_ovl0: -/* 028C34 80028034 00077840 */ sll $t7, $a3, 1 -/* 028C38 80028038 31F80FFF */ andi $t8, $t7, 0xfff -/* 028C3C 8002803C 0018CB00 */ sll $t9, $t8, 0xc -/* 028C40 80028040 3C010400 */ lui $at, 0x400 -/* 028C44 80028044 03216025 */ or $t4, $t9, $at -/* 028C48 80028048 314B0FFF */ andi $t3, $t2, 0xfff -/* 028C4C 8002804C 018B6825 */ or $t5, $t4, $t3 -/* 028C50 80028050 AC4D0000 */ sw $t5, ($v0) -/* 028C54 80028054 AFA20028 */ sw $v0, 0x28($sp) -/* 028C58 80028058 24500008 */ addiu $s0, $v0, 8 -/* 028C5C 8002805C 0C00BFE8 */ jal osVirtualToPhysical -/* 028C60 80028060 00A02025 */ move $a0, $a1 -/* 028C64 80028064 8FA30028 */ lw $v1, 0x28($sp) -/* 028C68 80028068 AC620004 */ sw $v0, 4($v1) -.L8002806C_ovl0: -/* 028C6C 8002806C 8FBF001C */ lw $ra, 0x1c($sp) -/* 028C70 80028070 02001025 */ move $v0, $s0 -/* 028C74 80028074 8FB00018 */ lw $s0, 0x18($sp) -/* 028C78 80028078 03E00008 */ jr $ra -/* 028C7C 8002807C 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel func_80028080 -/* 028C80 80028080 44853000 */ mtc1 $a1, $f6 -/* 028C84 80028084 C4840010 */ lwc1 $f4, 0x10($a0) -/* 028C88 80028088 C4900014 */ lwc1 $f16, 0x14($a0) -/* 028C8C 8002808C 46803220 */ cvt.s.w $f8, $f6 -/* 028C90 80028090 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 028C94 80028094 44813000 */ mtc1 $at, $f6 -/* 028C98 80028098 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 028C9C 8002809C 46082282 */ mul.s $f10, $f4, $f8 -/* 028CA0 800280A0 460A8480 */ add.s $f18, $f16, $f10 -/* 028CA4 800280A4 44808000 */ mtc1 $zero, $f16 -/* 028CA8 800280A8 E4920014 */ swc1 $f18, 0x14($a0) -/* 028CAC 800280AC C4800014 */ lwc1 $f0, 0x14($a0) -/* 028CB0 800280B0 4600303C */ c.lt.s $f6, $f0 -/* 028CB4 800280B4 00000000 */ nop -/* 028CB8 800280B8 45020007 */ bc1fl .L800280D8_ovl0 -/* 028CBC 800280BC E4800014 */ swc1 $f0, 0x14($a0) -/* 028CC0 800280C0 44812000 */ mtc1 $at, $f4 -/* 028CC4 800280C4 00000000 */ nop -/* 028CC8 800280C8 46040201 */ sub.s $f8, $f0, $f4 -/* 028CCC 800280CC 10000002 */ b .L800280D8_ovl0 -/* 028CD0 800280D0 E4880014 */ swc1 $f8, 0x14($a0) -/* 028CD4 800280D4 E4800014 */ swc1 $f0, 0x14($a0) -.L800280D8_ovl0: -/* 028CD8 800280D8 C4820014 */ lwc1 $f2, 0x14($a0) -/* 028CDC 800280DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 028CE0 800280E0 44815000 */ mtc1 $at, $f10 -/* 028CE4 800280E4 4610103C */ c.lt.s $f2, $f16 -/* 028CE8 800280E8 00000000 */ nop -/* 028CEC 800280EC 45020003 */ bc1fl .L800280FC_ovl0 -/* 028CF0 800280F0 460A1081 */ sub.s $f2, $f2, $f10 -/* 028CF4 800280F4 46001087 */ neg.s $f2, $f2 -/* 028CF8 800280F8 460A1081 */ sub.s $f2, $f2, $f10 -.L800280FC_ovl0: -/* 028CFC 800280FC C492001C */ lwc1 $f18, 0x1c($a0) -/* 028D00 80028100 46029002 */ mul.s $f0, $f18, $f2 -/* 028D04 80028104 03E00008 */ jr $ra -/* 028D08 80028108 00000000 */ nop - -glabel func_8002810C -/* 028D0C 8002810C 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 028D10 80028110 AFBF0024 */ sw $ra, 0x24($sp) -/* 028D14 80028114 AFB00020 */ sw $s0, 0x20($sp) -/* 028D18 80028118 AFA60070 */ sw $a2, 0x70($sp) -/* 028D1C 8002811C 8CAE0024 */ lw $t6, 0x24($a1) -/* 028D20 80028120 00A08025 */ move $s0, $a1 -/* 028D24 80028124 00804825 */ move $t1, $a0 -/* 028D28 80028128 11C0006B */ beqz $t6, .L800282D8_ovl0 -/* 028D2C 8002812C 00E05825 */ move $t3, $a3 -/* 028D30 80028130 8CAF0004 */ lw $t7, 4($a1) -/* 028D34 80028134 8CB80000 */ lw $t8, ($a1) -/* 028D38 80028138 00A02025 */ move $a0, $a1 -/* 028D3C 8002813C 240500B8 */ li $a1, 184 -/* 028D40 80028140 01F8C823 */ subu $t9, $t7, $t8 -/* 028D44 80028144 AFB90040 */ sw $t9, 0x40($sp) -/* 028D48 80028148 AFA70074 */ sw $a3, 0x74($sp) -/* 028D4C 8002814C 0C00A020 */ jal func_80028080 -/* 028D50 80028150 AFA90068 */ sw $t1, 0x68($sp) -/* 028D54 80028154 8FAC0040 */ lw $t4, 0x40($sp) -/* 028D58 80028158 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 028D5C 8002815C 44817000 */ mtc1 $at, $f14 -/* 028D60 80028160 448C3000 */ mtc1 $t4, $f6 -/* 028D64 80028164 240F00B8 */ li $t7, 184 -/* 028D68 80028168 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 028D6C 8002816C 46803220 */ cvt.s.w $f8, $f6 -/* 028D70 80028170 44812000 */ mtc1 $at, $f4 -/* 028D74 80028174 8FA40068 */ lw $a0, 0x68($sp) -/* 028D78 80028178 8FAB0074 */ lw $t3, 0x74($sp) -/* 028D7C 8002817C 240602E0 */ li $a2, 736 -/* 028D80 80028180 46080283 */ div.s $f10, $f0, $f8 -/* 028D84 80028184 460E5402 */ mul.s $f16, $f10, $f14 -/* 028D88 80028188 4600848D */ trunc.w.s $f18, $f16 -/* 028D8C 8002818C 440E9000 */ mfc1 $t6, $f18 -/* 028D90 80028190 448F9000 */ mtc1 $t7, $f18 -/* 028D94 80028194 448E3000 */ mtc1 $t6, $f6 -/* 028D98 80028198 00000000 */ nop -/* 028D9C 8002819C 46803220 */ cvt.s.w $f8, $f6 -/* 028DA0 800281A0 468091A0 */ cvt.s.w $f6, $f18 -/* 028DA4 800281A4 460E4283 */ div.s $f10, $f8, $f14 -/* 028DA8 800281A8 460A2081 */ sub.s $f2, $f4, $f10 -/* 028DAC 800281AC 46061202 */ mul.s $f8, $f2, $f6 -/* 028DB0 800281B0 E7A2004C */ swc1 $f2, 0x4c($sp) -/* 028DB4 800281B4 8E020024 */ lw $v0, 0x24($s0) -/* 028DB8 800281B8 C4500020 */ lwc1 $f16, 0x20($v0) -/* 028DBC 800281BC 46088300 */ add.s $f12, $f16, $f8 -/* 028DC0 800281C0 4600610D */ trunc.w.s $f4, $f12 -/* 028DC4 800281C4 44032000 */ mfc1 $v1, $f4 -/* 028DC8 800281C8 00000000 */ nop -/* 028DCC 800281CC 44835000 */ mtc1 $v1, $f10 -/* 028DD0 800281D0 00000000 */ nop -/* 028DD4 800281D4 468054A0 */ cvt.s.w $f18, $f10 -/* 028DD8 800281D8 46126181 */ sub.s $f6, $f12, $f18 -/* 028DDC 800281DC E4460020 */ swc1 $f6, 0x20($v0) -/* 028DE0 800281E0 8E0C0018 */ lw $t4, 0x18($s0) -/* 028DE4 800281E4 8E190004 */ lw $t9, 4($s0) -/* 028DE8 800281E8 8C980018 */ lw $t8, 0x18($a0) -/* 028DEC 800281EC AFAB0010 */ sw $t3, 0x10($sp) -/* 028DF0 800281F0 032C6823 */ subu $t5, $t9, $t4 -/* 028DF4 800281F4 000D7023 */ negu $t6, $t5 -/* 028DF8 800281F8 000E7840 */ sll $t7, $t6, 1 -/* 028DFC 800281FC 030F4021 */ addu $t0, $t8, $t7 -/* 028E00 80028200 310A0007 */ andi $t2, $t0, 7 -/* 028E04 80028204 000A5043 */ sra $t2, $t2, 1 -/* 028E08 80028208 000AC840 */ sll $t9, $t2, 1 -/* 028E0C 8002820C 01192823 */ subu $a1, $t0, $t9 -/* 028E10 80028210 AFAA002C */ sw $t2, 0x2c($sp) -/* 028E14 80028214 006A3821 */ addu $a3, $v1, $t2 -/* 028E18 80028218 0C009FCE */ jal func_80027F38 -/* 028E1C 8002821C AFA30030 */ sw $v1, 0x30($sp) -/* 028E20 80028220 8E0C0024 */ lw $t4, 0x24($s0) -/* 028E24 80028224 24450008 */ addiu $a1, $v0, 8 -/* 028E28 80028228 8D840014 */ lw $a0, 0x14($t4) -/* 028E2C 8002822C AFA20034 */ sw $v0, 0x34($sp) -/* 028E30 80028230 0C00BFE8 */ jal osVirtualToPhysical -/* 028E34 80028234 AFA50064 */ sw $a1, 0x64($sp) -/* 028E38 80028238 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 028E3C 8002823C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 028E40 80028240 00416824 */ and $t5, $v0, $at -/* 028E44 80028244 8FA60034 */ lw $a2, 0x34($sp) -/* 028E48 80028248 3C010500 */ lui $at, 0x500 -/* 028E4C 8002824C 01A17025 */ or $t6, $t5, $at -/* 028E50 80028250 8FA30030 */ lw $v1, 0x30($sp) -/* 028E54 80028254 8FAA002C */ lw $t2, 0x2c($sp) -/* 028E58 80028258 8FA50064 */ lw $a1, 0x64($sp) -/* 028E5C 8002825C 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 028E60 80028260 ACCE0000 */ sw $t6, ($a2) -/* 028E64 80028264 C7B0004C */ lwc1 $f16, 0x4c($sp) -/* 028E68 80028268 44814000 */ mtc1 $at, $f8 -/* 028E6C 8002826C 8E0D0024 */ lw $t5, 0x24($s0) -/* 028E70 80028270 46088102 */ mul.s $f4, $f16, $f8 -/* 028E74 80028274 8DB80024 */ lw $t8, 0x24($t5) -/* 028E78 80028278 000A6840 */ sll $t5, $t2, 1 -/* 028E7C 8002827C 25AE02E0 */ addiu $t6, $t5, 0x2e0 -/* 028E80 80028280 8FAD0070 */ lw $t5, 0x70($sp) -/* 028E84 80028284 4600228D */ trunc.w.s $f10, $f4 -/* 028E88 80028288 440F5000 */ mfc1 $t7, $f10 -/* 028E8C 8002828C 00000000 */ nop -/* 028E90 80028290 31F9FFFF */ andi $t9, $t7, 0xffff -/* 028E94 80028294 00187F80 */ sll $t7, $t8, 0x1e -/* 028E98 80028298 00196380 */ sll $t4, $t9, 0xe -/* 028E9C 8002829C 01ECC825 */ or $t9, $t7, $t4 -/* 028EA0 800282A0 31D80FFF */ andi $t8, $t6, 0xfff -/* 028EA4 800282A4 00187880 */ sll $t7, $t8, 2 -/* 028EA8 800282A8 032F6025 */ or $t4, $t9, $t7 -/* 028EAC 800282AC 000DCA03 */ sra $t9, $t5, 8 -/* 028EB0 800282B0 332F0003 */ andi $t7, $t9, 3 -/* 028EB4 800282B4 018F6825 */ or $t5, $t4, $t7 -/* 028EB8 800282B8 ACCD0004 */ sw $t5, 4($a2) -/* 028EBC 800282BC 8E0E0024 */ lw $t6, 0x24($s0) -/* 028EC0 800282C0 ADC00024 */ sw $zero, 0x24($t6) -/* 028EC4 800282C4 8E180018 */ lw $t8, 0x18($s0) -/* 028EC8 800282C8 0303C821 */ addu $t9, $t8, $v1 -/* 028ECC 800282CC 272CFF48 */ addiu $t4, $t9, -0xb8 -/* 028ED0 800282D0 1000000C */ b .L80028304_ovl0 -/* 028ED4 800282D4 AE0C0018 */ sw $t4, 0x18($s0) -.L800282D8_ovl0: -/* 028ED8 800282D8 8E0D0004 */ lw $t5, 4($s0) -/* 028EDC 800282DC 8D2F0018 */ lw $t7, 0x18($t1) -/* 028EE0 800282E0 AFAB0010 */ sw $t3, 0x10($sp) -/* 028EE4 800282E4 000D7023 */ negu $t6, $t5 -/* 028EE8 800282E8 000EC040 */ sll $t8, $t6, 1 -/* 028EEC 800282EC 01202025 */ move $a0, $t1 -/* 028EF0 800282F0 8FA60070 */ lw $a2, 0x70($sp) -/* 028EF4 800282F4 240700B8 */ li $a3, 184 -/* 028EF8 800282F8 0C009FCE */ jal func_80027F38 -/* 028EFC 800282FC 01F82821 */ addu $a1, $t7, $t8 -/* 028F00 80028300 00402825 */ move $a1, $v0 -.L80028304_ovl0: -/* 028F04 80028304 8FBF0024 */ lw $ra, 0x24($sp) -/* 028F08 80028308 8FB00020 */ lw $s0, 0x20($sp) -/* 028F0C 8002830C 27BD0068 */ addiu $sp, $sp, 0x68 -/* 028F10 80028310 03E00008 */ jr $ra -/* 028F14 80028314 00A01025 */ move $v0, $a1 - -glabel func_80028318 -/* 028F18 80028318 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 028F1C 8002831C 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 -/* 028F20 80028320 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) -/* 028F24 80028324 AFBF0044 */ sw $ra, 0x44($sp) -/* 028F28 80028328 AFBE0040 */ sw $fp, 0x40($sp) -/* 028F2C 8002832C AFB7003C */ sw $s7, 0x3c($sp) -/* 028F30 80028330 AFB60038 */ sw $s6, 0x38($sp) -/* 028F34 80028334 AFB50034 */ sw $s5, 0x34($sp) -/* 028F38 80028338 AFB40030 */ sw $s4, 0x30($sp) -/* 028F3C 8002833C AFB3002C */ sw $s3, 0x2c($sp) -/* 028F40 80028340 AFB20028 */ sw $s2, 0x28($sp) -/* 028F44 80028344 AFB10024 */ sw $s1, 0x24($sp) -/* 028F48 80028348 AFB00020 */ sw $s0, 0x20($sp) -/* 028F4C 8002834C 8DCF0040 */ lw $t7, 0x40($t6) -/* 028F50 80028350 8DF30020 */ lw $s3, 0x20($t7) -/* 028F54 80028354 0C009F2D */ jal func_80027CB4 -/* 028F58 80028358 AFA0004C */ sw $zero, 0x4c($sp) -/* 028F5C 8002835C 3C180C00 */ lui $t8, (0x0C00DA83 >> 16) # lui $t8, 0xc00 -/* 028F60 80028360 3C1907C0 */ lui $t9, (0x07C007C0 >> 16) # lui $t9, 0x7c0 -/* 028F64 80028364 3C080C00 */ lui $t0, (0x0C005A82 >> 16) # lui $t0, 0xc00 -/* 028F68 80028368 3C090930 */ lui $t1, (0x093007C0 >> 16) # lui $t1, 0x930 -/* 028F6C 8002836C 373907C0 */ ori $t9, (0x07C007C0 & 0xFFFF) # ori $t9, $t9, 0x7c0 -/* 028F70 80028370 3718DA83 */ ori $t8, (0x0C00DA83 & 0xFFFF) # ori $t8, $t8, 0xda83 -/* 028F74 80028374 352907C0 */ ori $t1, (0x093007C0 & 0xFFFF) # ori $t1, $t1, 0x7c0 -/* 028F78 80028378 35085A82 */ ori $t0, (0x0C005A82 & 0xFFFF) # ori $t0, $t0, 0x5a82 -/* 028F7C 8002837C AC580000 */ sw $t8, ($v0) -/* 028F80 80028380 AC590004 */ sw $t9, 4($v0) -/* 028F84 80028384 AC480008 */ sw $t0, 8($v0) -/* 028F88 80028388 AC49000C */ sw $t1, 0xc($v0) -/* 028F8C 8002838C 0000A825 */ move $s5, $zero -/* 028F90 80028390 24120170 */ li $s2, 368 -/* 028F94 80028394 8E650018 */ lw $a1, 0x18($s3) -/* 028F98 80028398 02602025 */ move $a0, $s3 -/* 028F9C 8002839C 240607C0 */ li $a2, 1984 -/* 028FA0 800283A0 0C009F56 */ jal func_80027D58 -/* 028FA4 800283A4 24470010 */ addiu $a3, $v0, 0x10 -/* 028FA8 800283A8 8FA3004C */ lw $v1, 0x4c($sp) -/* 028FAC 800283AC 3C0A0200 */ lui $t2, (0x02000930 >> 16) # lui $t2, 0x200 -/* 028FB0 800283B0 354A0930 */ ori $t2, (0x02000930 & 0xFFFF) # ori $t2, $t2, 0x930 -/* 028FB4 800283B4 240B0170 */ li $t3, 368 -/* 028FB8 800283B8 AC4B0004 */ sw $t3, 4($v0) -/* 028FBC 800283BC AC4A0000 */ sw $t2, ($v0) -/* 028FC0 800283C0 926C0024 */ lbu $t4, 0x24($s3) -/* 028FC4 800283C4 24500008 */ addiu $s0, $v0, 8 -/* 028FC8 800283C8 0000B025 */ move $s6, $zero -/* 028FCC 800283CC 1980006B */ blez $t4, .L8002857C_ovl0 -/* 028FD0 800283D0 3C1E0C00 */ lui $fp, 0xc00 -/* 028FD4 800283D4 8E620018 */ lw $v0, 0x18($s3) -.L800283D8_ovl0: -/* 028FD8 800283D8 8E6D0020 */ lw $t5, 0x20($s3) -/* 028FDC 800283DC 00167080 */ sll $t6, $s6, 2 -/* 028FE0 800283E0 01D67021 */ addu $t6, $t6, $s6 -/* 028FE4 800283E4 000E70C0 */ sll $t6, $t6, 3 -/* 028FE8 800283E8 01AE8821 */ addu $s1, $t5, $t6 -/* 028FEC 800283EC 8E2F0000 */ lw $t7, ($s1) -/* 028FF0 800283F0 8E280004 */ lw $t0, 4($s1) -/* 028FF4 800283F4 02602025 */ move $a0, $s3 -/* 028FF8 800283F8 000FC023 */ negu $t8, $t7 -/* 028FFC 800283FC 0018C840 */ sll $t9, $t8, 1 -/* 029000 80028400 00084823 */ negu $t1, $t0 -/* 029004 80028404 0059A021 */ addu $s4, $v0, $t9 -/* 029008 80028408 00095040 */ sll $t2, $t1, 1 -/* 02900C 8002840C 16830007 */ bne $s4, $v1, .L8002842C_ovl0 -/* 029010 80028410 004AB821 */ addu $s7, $v0, $t2 -/* 029014 80028414 02401025 */ move $v0, $s2 -/* 029018 80028418 00159400 */ sll $s2, $s5, 0x10 -/* 02901C 8002841C 0002AC00 */ sll $s5, $v0, 0x10 -/* 029020 80028420 0015AC03 */ sra $s5, $s5, 0x10 -/* 029024 80028424 10000007 */ b .L80028444_ovl0 -/* 029028 80028428 00129403 */ sra $s2, $s2, 0x10 -.L8002842C_ovl0: -/* 02902C 8002842C 02802825 */ move $a1, $s4 -/* 029030 80028430 02A03025 */ move $a2, $s5 -/* 029034 80028434 240700B8 */ li $a3, 184 -/* 029038 80028438 0C009FCE */ jal func_80027F38 -/* 02903C 8002843C AFB00010 */ sw $s0, 0x10($sp) -/* 029040 80028440 00408025 */ move $s0, $v0 -.L80028444_ovl0: -/* 029044 80028444 02602025 */ move $a0, $s3 -/* 029048 80028448 02202825 */ move $a1, $s1 -/* 02904C 8002844C 02403025 */ move $a2, $s2 -/* 029050 80028450 0C00A043 */ jal func_8002810C -/* 029054 80028454 02003825 */ move $a3, $s0 -/* 029058 80028458 86240008 */ lh $a0, 8($s1) -/* 02905C 8002845C 00408025 */ move $s0, $v0 -/* 029060 80028460 00157C00 */ sll $t7, $s5, 0x10 -/* 029064 80028464 10800012 */ beqz $a0, .L800284B0_ovl0 -/* 029068 80028468 308CFFFF */ andi $t4, $a0, 0xffff -/* 02906C 8002846C 3258FFFF */ andi $t8, $s2, 0xffff -/* 029070 80028470 01F8C825 */ or $t9, $t7, $t8 -/* 029074 80028474 019E6825 */ or $t5, $t4, $fp -/* 029078 80028478 AC4D0000 */ sw $t5, ($v0) -/* 02907C 8002847C AC590004 */ sw $t9, 4($v0) -/* 029080 80028480 8E280024 */ lw $t0, 0x24($s1) -/* 029084 80028484 24500008 */ addiu $s0, $v0, 8 -/* 029088 80028488 5500000A */ bnezl $t0, .L800284B4_ovl0 -/* 02908C 8002848C 8623000A */ lh $v1, 0xa($s1) -/* 029090 80028490 8E290020 */ lw $t1, 0x20($s1) -/* 029094 80028494 02602025 */ move $a0, $s3 -/* 029098 80028498 02E02825 */ move $a1, $s7 -/* 02909C 8002849C 15200004 */ bnez $t1, .L800284B0_ovl0 -/* 0290A0 800284A0 02403025 */ move $a2, $s2 -/* 0290A4 800284A4 0C009F56 */ jal func_80027D58 -/* 0290A8 800284A8 02003825 */ move $a3, $s0 -/* 0290AC 800284AC 00408025 */ move $s0, $v0 -.L800284B0_ovl0: -/* 0290B0 800284B0 8623000A */ lh $v1, 0xa($s1) -.L800284B4_ovl0: -/* 0290B4 800284B4 02001025 */ move $v0, $s0 -/* 0290B8 800284B8 26070008 */ addiu $a3, $s0, 8 -/* 0290BC 800284BC 1060000C */ beqz $v1, .L800284F0_ovl0 -/* 0290C0 800284C0 306BFFFF */ andi $t3, $v1, 0xffff -/* 0290C4 800284C4 00127400 */ sll $t6, $s2, 0x10 -/* 0290C8 800284C8 32AFFFFF */ andi $t7, $s5, 0xffff -/* 0290CC 800284CC 01CFC025 */ or $t8, $t6, $t7 -/* 0290D0 800284D0 017E6025 */ or $t4, $t3, $fp -/* 0290D4 800284D4 AC4C0000 */ sw $t4, ($v0) -/* 0290D8 800284D8 AC580004 */ sw $t8, 4($v0) -/* 0290DC 800284DC 02602025 */ move $a0, $s3 -/* 0290E0 800284E0 02802825 */ move $a1, $s4 -/* 0290E4 800284E4 0C009F56 */ jal func_80027D58 -/* 0290E8 800284E8 02A03025 */ move $a2, $s5 -/* 0290EC 800284EC 00408025 */ move $s0, $v0 -.L800284F0_ovl0: -/* 0290F0 800284F0 8E240020 */ lw $a0, 0x20($s1) -/* 0290F4 800284F4 02402825 */ move $a1, $s2 -/* 0290F8 800284F8 50800005 */ beql $a0, $zero, .L80028510_ovl0 -/* 0290FC 800284FC 8E390024 */ lw $t9, 0x24($s1) -/* 029100 80028500 0C009FA1 */ jal func_80027E84 -/* 029104 80028504 02003025 */ move $a2, $s0 -/* 029108 80028508 00408025 */ move $s0, $v0 -/* 02910C 8002850C 8E390024 */ lw $t9, 0x24($s1) -.L80028510_ovl0: -/* 029110 80028510 02602025 */ move $a0, $s3 -/* 029114 80028514 02E02825 */ move $a1, $s7 -/* 029118 80028518 17200004 */ bnez $t9, .L8002852C_ovl0 -/* 02911C 8002851C 02403025 */ move $a2, $s2 -/* 029120 80028520 0C009F56 */ jal func_80027D58 -/* 029124 80028524 02003825 */ move $a3, $s0 -/* 029128 80028528 00408025 */ move $s0, $v0 -.L8002852C_ovl0: -/* 02912C 8002852C 8623000C */ lh $v1, 0xc($s1) -/* 029130 80028530 26D60001 */ addiu $s6, $s6, 1 -/* 029134 80028534 0016B400 */ sll $s6, $s6, 0x10 -/* 029138 80028538 10600009 */ beqz $v1, .L80028560_ovl0 -/* 02913C 8002853C 0016B403 */ sra $s6, $s6, 0x10 -/* 029140 80028540 02001025 */ move $v0, $s0 -/* 029144 80028544 3069FFFF */ andi $t1, $v1, 0xffff -/* 029148 80028548 00126400 */ sll $t4, $s2, 0x10 -/* 02914C 8002854C 358D0930 */ ori $t5, $t4, 0x930 -/* 029150 80028550 013E5025 */ or $t2, $t1, $fp -/* 029154 80028554 AC4A0000 */ sw $t2, ($v0) -/* 029158 80028558 AC4D0004 */ sw $t5, 4($v0) -/* 02915C 8002855C 26100008 */ addiu $s0, $s0, 8 -.L80028560_ovl0: -/* 029160 80028560 92780024 */ lbu $t8, 0x24($s3) -/* 029164 80028564 8E2E0004 */ lw $t6, 4($s1) -/* 029168 80028568 8E620018 */ lw $v0, 0x18($s3) -/* 02916C 8002856C 02D8082A */ slt $at, $s6, $t8 -/* 029170 80028570 000E7840 */ sll $t7, $t6, 1 -/* 029174 80028574 1420FF98 */ bnez $at, .L800283D8_ovl0 -/* 029178 80028578 004F1821 */ addu $v1, $v0, $t7 -.L8002857C_ovl0: -/* 02917C 8002857C 8E63001C */ lw $v1, 0x1c($s3) -/* 029180 80028580 8E790018 */ lw $t9, 0x18($s3) -/* 029184 80028584 8E690014 */ lw $t1, 0x14($s3) -/* 029188 80028588 00031840 */ sll $v1, $v1, 1 -/* 02918C 8002858C 27280170 */ addiu $t0, $t9, 0x170 -/* 029190 80028590 01235021 */ addu $t2, $t1, $v1 -/* 029194 80028594 0148082B */ sltu $at, $t2, $t0 -/* 029198 80028598 10200003 */ beqz $at, .L800285A8_ovl0 -/* 02919C 8002859C AE680018 */ sw $t0, 0x18($s3) -/* 0291A0 800285A0 01035823 */ subu $t3, $t0, $v1 -/* 0291A4 800285A4 AE6B0018 */ sw $t3, 0x18($s3) -.L800285A8_ovl0: -/* 0291A8 800285A8 02001825 */ move $v1, $s0 -/* 0291AC 800285AC 3C0C0A00 */ lui $t4, (0x0A000930 >> 16) # lui $t4, 0xa00 -/* 0291B0 800285B0 3C0D07C0 */ lui $t5, (0x07C00170 >> 16) # lui $t5, 0x7c0 -/* 0291B4 800285B4 35AD0170 */ ori $t5, (0x07C00170 & 0xFFFF) # ori $t5, $t5, 0x170 -/* 0291B8 800285B8 358C0930 */ ori $t4, (0x0A000930 & 0xFFFF) # ori $t4, $t4, 0x930 -/* 0291BC 800285BC AC6C0000 */ sw $t4, ($v1) -/* 0291C0 800285C0 AC6D0004 */ sw $t5, 4($v1) -/* 0291C4 800285C4 8FBF0044 */ lw $ra, 0x44($sp) -/* 0291C8 800285C8 26020008 */ addiu $v0, $s0, 8 -/* 0291CC 800285CC 8FB00020 */ lw $s0, 0x20($sp) -/* 0291D0 800285D0 8FBE0040 */ lw $fp, 0x40($sp) -/* 0291D4 800285D4 8FB7003C */ lw $s7, 0x3c($sp) -/* 0291D8 800285D8 8FB60038 */ lw $s6, 0x38($sp) -/* 0291DC 800285DC 8FB50034 */ lw $s5, 0x34($sp) -/* 0291E0 800285E0 8FB40030 */ lw $s4, 0x30($sp) -/* 0291E4 800285E4 8FB3002C */ lw $s3, 0x2c($sp) -/* 0291E8 800285E8 8FB20028 */ lw $s2, 0x28($sp) -/* 0291EC 800285EC 8FB10024 */ lw $s1, 0x24($sp) -/* 0291F0 800285F0 03E00008 */ jr $ra -/* 0291F4 800285F4 27BD0070 */ addiu $sp, $sp, 0x70 - -glabel func_800285F8 -/* 0291F8 800285F8 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0291FC 800285FC AFBF002C */ sw $ra, 0x2c($sp) -/* 029200 80028600 91170008 */ lbu $s7, 8($t0) -/* 029204 80028604 911E0009 */ lbu $fp, 9($t0) -/* 029208 80028608 9114000A */ lbu $s4, 0xa($t0) -/* 02920C 8002860C 32E300F0 */ andi $v1, $s7, 0xf0 -/* 029210 80028610 246EFF80 */ addiu $t6, $v1, -0x80 -/* 029214 80028614 2DC10061 */ sltiu $at, $t6, 0x61 -/* 029218 80028618 1020027A */ beqz $at, .L80029004_ovl0 -/* 02921C 8002861C 32F7000F */ andi $s7, $s7, 0xf -/* 029220 80028620 000E7080 */ sll $t6, $t6, 2 -/* 029224 80028624 3C018004 */ lui $at, 0x8004 -/* 029228 80028628 002E0821 */ addu $at, $at, $t6 -/* 02922C 8002862C 8C2E1514 */ lw $t6, 0x1514($at) -/* 029230 80028630 01C00008 */ jr $t6 -/* 029234 80028634 00000000 */ nop -/* 029238 80028638 528000FB */ beql $s4, $zero, .L80028A28_ovl0 -/* 02923C 8002863C 02402025 */ move $a0, $s2 -/* 029240 80028640 8E4F0034 */ lw $t7, 0x34($s2) -/* 029244 80028644 24010001 */ li $at, 1 -/* 029248 80028648 3C188004 */ lui $t8, %hi(D_8003FB1C) # $t8, 0x8004 -/* 02924C 8002864C 55E1026E */ bnel $t7, $at, .L80029008_ovl0 -/* 029250 80028650 8FBF002C */ lw $ra, 0x2c($sp) -/* 029254 80028654 9718FB1C */ lhu $t8, %lo(D_8003FB1C)($t8) -/* 029258 80028658 24190001 */ li $t9, 1 -/* 02925C 8002865C 02F97004 */ sllv $t6, $t9, $s7 -/* 029260 80028660 030E7824 */ and $t7, $t8, $t6 -/* 029264 80028664 11E00267 */ beqz $t7, .L80029004_ovl0 -/* 029268 80028668 02E09825 */ move $s3, $s7 -/* 02926C 8002866C 02402025 */ move $a0, $s2 -/* 029270 80028670 33C500FF */ andi $a1, $fp, 0xff -/* 029274 80028674 328600FF */ andi $a2, $s4, 0xff -/* 029278 80028678 32E700FF */ andi $a3, $s7, 0xff -/* 02927C 8002867C 0C00ADC3 */ jal func_8002B70C -/* 029280 80028680 AFA800C4 */ sw $t0, 0xc4($sp) -/* 029284 80028684 1040025F */ beqz $v0, .L80029004_ovl0 -/* 029288 80028688 AFA20078 */ sw $v0, 0x78($sp) -/* 02928C 8002868C 8E590068 */ lw $t9, 0x68($s2) -/* 029290 80028690 00178880 */ sll $s1, $s7, 2 -/* 029294 80028694 02378823 */ subu $s1, $s1, $s7 -/* 029298 80028698 001188C0 */ sll $s1, $s1, 3 -/* 02929C 8002869C 0331C021 */ addu $t8, $t9, $s1 -/* 0292A0 800286A0 930E0008 */ lbu $t6, 8($t8) -/* 0292A4 800286A4 A7A0007E */ sh $zero, 0x7e($sp) -/* 0292A8 800286A8 A3A00080 */ sb $zero, 0x80($sp) -/* 0292AC 800286AC 02402025 */ move $a0, $s2 -/* 0292B0 800286B0 33C500FF */ andi $a1, $fp, 0xff -/* 0292B4 800286B4 328600FF */ andi $a2, $s4, 0xff -/* 0292B8 800286B8 32E700FF */ andi $a3, $s7, 0xff -/* 0292BC 800286BC 0C00ADAA */ jal func_8002B6A8 -/* 0292C0 800286C0 A7AE007C */ sh $t6, 0x7c($sp) -/* 0292C4 800286C4 1040024F */ beqz $v0, .L80029004_ovl0 -/* 0292C8 800286C8 00408025 */ move $s0, $v0 -/* 0292CC 800286CC 24440004 */ addiu $a0, $v0, 4 -/* 0292D0 800286D0 AFA4003C */ sw $a0, 0x3c($sp) -/* 0292D4 800286D4 0C00AAF4 */ jal func_8002ABD0 -/* 0292D8 800286D8 27A5007C */ addiu $a1, $sp, 0x7c -/* 0292DC 800286DC 8FA30078 */ lw $v1, 0x78($sp) -/* 0292E0 800286E0 A2000034 */ sb $zero, 0x34($s0) -/* 0292E4 800286E4 24160002 */ li $s6, 2 -/* 0292E8 800286E8 AE030020 */ sw $v1, 0x20($s0) -/* 0292EC 800286EC 8E4F0068 */ lw $t7, 0x68($s2) -/* 0292F0 800286F0 01F1C821 */ addu $t9, $t7, $s1 -/* 0292F4 800286F4 9338000B */ lbu $t8, 0xb($t9) -/* 0292F8 800286F8 2B010040 */ slti $at, $t8, 0x40 -/* 0292FC 800286FC 54200004 */ bnezl $at, .L80028710_ovl0 -/* 029300 80028700 A2000035 */ sb $zero, 0x35($s0) -/* 029304 80028704 10000002 */ b .L80028710_ovl0 -/* 029308 80028708 A2160035 */ sb $s6, 0x35($s0) -/* 02930C 8002870C A2000035 */ sb $zero, 0x35($s0) -.L80028710_ovl0: -/* 029310 80028710 8C620004 */ lw $v0, 4($v1) -/* 029314 80028714 904E0004 */ lbu $t6, 4($v0) -/* 029318 80028718 80580005 */ lb $t8, 5($v0) -/* 02931C 8002871C 03CE7823 */ subu $t7, $fp, $t6 -/* 029320 80028720 000FC880 */ sll $t9, $t7, 2 -/* 029324 80028724 032FC823 */ subu $t9, $t9, $t7 -/* 029328 80028728 0019C8C0 */ sll $t9, $t9, 3 -/* 02932C 8002872C 032FC821 */ addu $t9, $t9, $t7 -/* 029330 80028730 0019C880 */ sll $t9, $t9, 2 -/* 029334 80028734 03382021 */ addu $a0, $t9, $t8 -/* 029338 80028738 00042400 */ sll $a0, $a0, 0x10 -/* 02933C 8002873C 0C00DC20 */ jal func_80037080 -/* 029340 80028740 00042403 */ sra $a0, $a0, 0x10 -/* 029344 80028744 E6000028 */ swc1 $f0, 0x28($s0) -/* 029348 80028748 8FAE0078 */ lw $t6, 0x78($sp) -/* 02934C 8002874C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 029350 80028750 4481B000 */ mtc1 $at, $f22 -/* 029354 80028754 8DCF0000 */ lw $t7, ($t6) -/* 029358 80028758 91F9000C */ lbu $t9, 0xc($t7) -/* 02935C 8002875C A2190030 */ sb $t9, 0x30($s0) -/* 029360 80028760 8FAE0078 */ lw $t6, 0x78($sp) -/* 029364 80028764 8E58001C */ lw $t8, 0x1c($s2) -/* 029368 80028768 8DCF0000 */ lw $t7, ($t6) -/* 02936C 8002876C 8DF90000 */ lw $t9, ($t7) -/* 029370 80028770 A2000037 */ sb $zero, 0x37($s0) -/* 029374 80028774 03197021 */ addu $t6, $t8, $t9 -/* 029378 80028778 AE0E0024 */ sw $t6, 0x24($s0) -/* 02937C 8002877C 8E4F0068 */ lw $t7, 0x68($s2) -/* 029380 80028780 01F1C021 */ addu $t8, $t7, $s1 -/* 029384 80028784 8F140000 */ lw $s4, ($t8) -/* 029388 80028788 E7B6006C */ swc1 $f22, 0x6c($sp) -/* 02938C 8002878C 92860004 */ lbu $a2, 4($s4) -/* 029390 80028790 50C0001A */ beql $a2, $zero, .L800287FC_ovl0 -/* 029394 80028794 444FF800 */ cfc1 $t7, $31 -/* 029398 80028798 8E42007C */ lw $v0, 0x7c($s2) -/* 02939C 8002879C 50400017 */ beql $v0, $zero, .L800287FC_ovl0 -/* 0293A0 800287A0 444FF800 */ cfc1 $t7, $31 -/* 0293A4 800287A4 92990006 */ lbu $t9, 6($s4) -/* 0293A8 800287A8 92870005 */ lbu $a3, 5($s4) -/* 0293AC 800287AC 27A40064 */ addiu $a0, $sp, 0x64 -/* 0293B0 800287B0 AFB90010 */ sw $t9, 0x10($sp) -/* 0293B4 800287B4 928E0007 */ lbu $t6, 7($s4) -/* 0293B8 800287B8 27A5006C */ addiu $a1, $sp, 0x6c -/* 0293BC 800287BC 0040F809 */ jalr $v0 -/* 0293C0 800287C0 AFAE0014 */ sw $t6, 0x14($sp) -/* 0293C4 800287C4 1040000C */ beqz $v0, .L800287F8_ovl0 -/* 0293C8 800287C8 240F0016 */ li $t7, 22 -/* 0293CC 800287CC 8FB80064 */ lw $t8, 0x64($sp) -/* 0293D0 800287D0 A7AF0094 */ sh $t7, 0x94($sp) -/* 0293D4 800287D4 AFB00098 */ sw $s0, 0x98($sp) -/* 0293D8 800287D8 26440050 */ addiu $a0, $s2, 0x50 -/* 0293DC 800287DC 27A50094 */ addiu $a1, $sp, 0x94 -/* 0293E0 800287E0 00403025 */ move $a2, $v0 -/* 0293E4 800287E4 0C009818 */ jal func_80026060 -/* 0293E8 800287E8 AFB8009C */ sw $t8, 0x9c($sp) -/* 0293EC 800287EC 92190037 */ lbu $t9, 0x37($s0) -/* 0293F0 800287F0 372E0001 */ ori $t6, $t9, 1 -/* 0293F4 800287F4 A20E0037 */ sb $t6, 0x37($s0) -.L800287F8_ovl0: -/* 0293F8 800287F8 444FF800 */ cfc1 $t7, $31 -.L800287FC_ovl0: -/* 0293FC 800287FC 24180001 */ li $t8, 1 -/* 029400 80028800 44D8F800 */ ctc1 $t8, $31 -/* 029404 80028804 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 029408 80028808 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 02940C 8002880C 460021A4 */ cvt.w.s $f6, $f4 -/* 029410 80028810 4458F800 */ cfc1 $t8, $31 -/* 029414 80028814 00000000 */ nop -/* 029418 80028818 33180078 */ andi $t8, $t8, 0x78 -/* 02941C 8002881C 53000013 */ beql $t8, $zero, .L8002886C_ovl0 -/* 029420 80028820 44183000 */ mfc1 $t8, $f6 -/* 029424 80028824 44813000 */ mtc1 $at, $f6 -/* 029428 80028828 24180001 */ li $t8, 1 -/* 02942C 8002882C 46062181 */ sub.s $f6, $f4, $f6 -/* 029430 80028830 44D8F800 */ ctc1 $t8, $31 -/* 029434 80028834 00000000 */ nop -/* 029438 80028838 460031A4 */ cvt.w.s $f6, $f6 -/* 02943C 8002883C 4458F800 */ cfc1 $t8, $31 -/* 029440 80028840 00000000 */ nop -/* 029444 80028844 33180078 */ andi $t8, $t8, 0x78 -/* 029448 80028848 17000005 */ bnez $t8, .L80028860_ovl0 -/* 02944C 8002884C 00000000 */ nop -/* 029450 80028850 44183000 */ mfc1 $t8, $f6 -/* 029454 80028854 3C018000 */ lui $at, 0x8000 -/* 029458 80028858 10000007 */ b .L80028878_ovl0 -/* 02945C 8002885C 0301C025 */ or $t8, $t8, $at -.L80028860_ovl0: -/* 029460 80028860 10000005 */ b .L80028878_ovl0 -/* 029464 80028864 2418FFFF */ li $t8, -1 -/* 029468 80028868 44183000 */ mfc1 $t8, $f6 -.L8002886C_ovl0: -/* 02946C 8002886C 00000000 */ nop -/* 029470 80028870 0700FFFB */ bltz $t8, .L80028860_ovl0 -/* 029474 80028874 00000000 */ nop -.L80028878_ovl0: -/* 029478 80028878 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02947C 8002887C 44814000 */ mtc1 $at, $f8 -/* 029480 80028880 A2180036 */ sb $t8, 0x36($s0) -/* 029484 80028884 44CFF800 */ ctc1 $t7, $31 -/* 029488 80028888 E7A8006C */ swc1 $f8, 0x6c($sp) -/* 02948C 8002888C 92860008 */ lbu $a2, 8($s4) -/* 029490 80028890 26560050 */ addiu $s6, $s2, 0x50 -/* 029494 80028894 50C0001B */ beql $a2, $zero, .L80028904_ovl0 -/* 029498 80028898 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 02949C 8002889C 8E42007C */ lw $v0, 0x7c($s2) -/* 0294A0 800288A0 50400018 */ beql $v0, $zero, .L80028904_ovl0 -/* 0294A4 800288A4 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 0294A8 800288A8 9299000A */ lbu $t9, 0xa($s4) -/* 0294AC 800288AC 92870009 */ lbu $a3, 9($s4) -/* 0294B0 800288B0 27A40064 */ addiu $a0, $sp, 0x64 -/* 0294B4 800288B4 AFB90010 */ sw $t9, 0x10($sp) -/* 0294B8 800288B8 928E000B */ lbu $t6, 0xb($s4) -/* 0294BC 800288BC 27A5006C */ addiu $a1, $sp, 0x6c -/* 0294C0 800288C0 0040F809 */ jalr $v0 -/* 0294C4 800288C4 AFAE0014 */ sw $t6, 0x14($sp) -/* 0294C8 800288C8 1040000D */ beqz $v0, .L80028900_ovl0 -/* 0294CC 800288CC 240F0017 */ li $t7, 23 -/* 0294D0 800288D0 8FB80064 */ lw $t8, 0x64($sp) -/* 0294D4 800288D4 A7AF0094 */ sh $t7, 0x94($sp) -/* 0294D8 800288D8 AFB00098 */ sw $s0, 0x98($sp) -/* 0294DC 800288DC A3B700A0 */ sb $s7, 0xa0($sp) -/* 0294E0 800288E0 02C02025 */ move $a0, $s6 -/* 0294E4 800288E4 27A50094 */ addiu $a1, $sp, 0x94 -/* 0294E8 800288E8 00403025 */ move $a2, $v0 -/* 0294EC 800288EC 0C009818 */ jal func_80026060 -/* 0294F0 800288F0 AFB8009C */ sw $t8, 0x9c($sp) -/* 0294F4 800288F4 92190037 */ lbu $t9, 0x37($s0) -/* 0294F8 800288F8 372E0002 */ ori $t6, $t9, 2 -/* 0294FC 800288FC A20E0037 */ sb $t6, 0x37($s0) -.L80028900_ovl0: -/* 029500 80028900 C7AA006C */ lwc1 $f10, 0x6c($sp) -.L80028904_ovl0: -/* 029504 80028904 C6060028 */ lwc1 $f6, 0x28($s0) -/* 029508 80028908 02002025 */ move $a0, $s0 -/* 02950C 8002890C E60A002C */ swc1 $f10, 0x2c($s0) -/* 029510 80028910 8E4F0068 */ lw $t7, 0x68($s2) -/* 029514 80028914 C60A002C */ lwc1 $f10, 0x2c($s0) -/* 029518 80028918 02402825 */ move $a1, $s2 -/* 02951C 8002891C 01F11021 */ addu $v0, $t7, $s1 -/* 029520 80028920 C444000C */ lwc1 $f4, 0xc($v0) -/* 029524 80028924 90580013 */ lbu $t8, 0x13($v0) -/* 029528 80028928 9054000A */ lbu $s4, 0xa($v0) -/* 02952C 8002892C 46062202 */ mul.s $f8, $f4, $f6 -/* 029530 80028930 90570012 */ lbu $s7, 0x12($v0) -/* 029534 80028934 A3B80069 */ sb $t8, 0x69($sp) -/* 029538 80028938 460A4502 */ mul.s $f20, $f8, $f10 -/* 02953C 8002893C 0C00AD7A */ jal func_8002B5E8 -/* 029540 80028940 00000000 */ nop -/* 029544 80028944 305100FF */ andi $s1, $v0, 0xff -/* 029548 80028948 02002025 */ move $a0, $s0 -/* 02954C 8002894C 0C00AC8E */ jal func_8002B238 -/* 029550 80028950 02402825 */ move $a1, $s2 -/* 029554 80028954 8FB90078 */ lw $t9, 0x78($sp) -/* 029558 80028958 93AF0069 */ lbu $t7, 0x69($sp) -/* 02955C 8002895C 4406A000 */ mfc1 $a2, $f20 -/* 029560 80028960 8F2E0000 */ lw $t6, ($t9) -/* 029564 80028964 8F250008 */ lw $a1, 8($t9) -/* 029568 80028968 00023C00 */ sll $a3, $v0, 0x10 -/* 02956C 8002896C 8DD50000 */ lw $s5, ($t6) -/* 029570 80028970 AFB7001C */ sw $s7, 0x1c($sp) -/* 029574 80028974 AFB40014 */ sw $s4, 0x14($sp) -/* 029578 80028978 AFB10010 */ sw $s1, 0x10($sp) -/* 02957C 8002897C 00073C03 */ sra $a3, $a3, 0x10 -/* 029580 80028980 8FA4003C */ lw $a0, 0x3c($sp) -/* 029584 80028984 AFAF0020 */ sw $t7, 0x20($sp) -/* 029588 80028988 0C00AB64 */ jal func_8002AD90 -/* 02958C 8002898C AFB50018 */ sw $s5, 0x18($sp) -/* 029590 80028990 8FAE003C */ lw $t6, 0x3c($sp) -/* 029594 80028994 8FB90078 */ lw $t9, 0x78($sp) -/* 029598 80028998 24180006 */ li $t8, 6 -/* 02959C 8002899C A7B80094 */ sh $t8, 0x94($sp) -/* 0295A0 800289A0 AFAE0098 */ sw $t6, 0x98($sp) -/* 0295A4 800289A4 8F2F0000 */ lw $t7, ($t9) -/* 0295A8 800289A8 02C02025 */ move $a0, $s6 -/* 0295AC 800289AC 27A50094 */ addiu $a1, $sp, 0x94 -/* 0295B0 800289B0 91F8000D */ lbu $t8, 0xd($t7) -/* 0295B4 800289B4 02A03025 */ move $a2, $s5 -/* 0295B8 800289B8 A3B800A0 */ sb $t8, 0xa0($sp) -/* 0295BC 800289BC 8F2E0000 */ lw $t6, ($t9) -/* 0295C0 800289C0 8DCF0004 */ lw $t7, 4($t6) -/* 0295C4 800289C4 0C009818 */ jal func_80026060 -/* 0295C8 800289C8 AFAF009C */ sw $t7, 0x9c($sp) -/* 0295CC 800289CC 8FA200C4 */ lw $v0, 0xc4($sp) -/* 0295D0 800289D0 24190015 */ li $t9, 21 -/* 0295D4 800289D4 366E0080 */ ori $t6, $s3, 0x80 -/* 0295D8 800289D8 8C58000C */ lw $t8, 0xc($v0) -/* 0295DC 800289DC 24420004 */ addiu $v0, $v0, 4 -/* 0295E0 800289E0 53000189 */ beql $t8, $zero, .L80029008_ovl0 -/* 0295E4 800289E4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0295E8 800289E8 A7B90094 */ sh $t9, 0x94($sp) -/* 0295EC 800289EC A3AE009C */ sb $t6, 0x9c($sp) -/* 0295F0 800289F0 A3BE009D */ sb $fp, 0x9d($sp) -/* 0295F4 800289F4 A3A0009E */ sb $zero, 0x9e($sp) -/* 0295F8 800289F8 8C580008 */ lw $t8, 8($v0) -/* 0295FC 800289FC 8E4F002C */ lw $t7, 0x2c($s2) -/* 029600 80028A00 02C02025 */ move $a0, $s6 -/* 029604 80028A04 27A50094 */ addiu $a1, $sp, 0x94 -/* 029608 80028A08 01F80019 */ multu $t7, $t8 -/* 02960C 80028A0C 0000A812 */ mflo $s5 -/* 029610 80028A10 02A03025 */ move $a2, $s5 -/* 029614 80028A14 0C009818 */ jal func_80026060 -/* 029618 80028A18 00000000 */ nop -/* 02961C 80028A1C 1000017A */ b .L80029008_ovl0 -/* 029620 80028A20 8FBF002C */ lw $ra, 0x2c($sp) -/* 029624 80028A24 02402025 */ move $a0, $s2 -.L80028A28_ovl0: -/* 029628 80028A28 33C500FF */ andi $a1, $fp, 0xff -/* 02962C 80028A2C 0C00AD8E */ jal func_8002B638 -/* 029630 80028A30 32E600FF */ andi $a2, $s7, 0xff -/* 029634 80028A34 10400173 */ beqz $v0, .L80029004_ovl0 -/* 029638 80028A38 00408025 */ move $s0, $v0 -/* 02963C 80028A3C 90590035 */ lbu $t9, 0x35($v0) -/* 029640 80028A40 24110002 */ li $s1, 2 -/* 029644 80028A44 240E0004 */ li $t6, 4 -/* 029648 80028A48 16390003 */ bne $s1, $t9, .L80028A58_ovl0 -/* 02964C 80028A4C 02402025 */ move $a0, $s2 -/* 029650 80028A50 1000016C */ b .L80029004_ovl0 -/* 029654 80028A54 A04E0035 */ sb $t6, 0x35($v0) -.L80028A58_ovl0: -/* 029658 80028A58 8E0F0020 */ lw $t7, 0x20($s0) -/* 02965C 80028A5C 241E0003 */ li $fp, 3 -/* 029660 80028A60 A21E0035 */ sb $fp, 0x35($s0) -/* 029664 80028A64 8DF80000 */ lw $t8, ($t7) -/* 029668 80028A68 26050004 */ addiu $a1, $s0, 4 -/* 02966C 80028A6C 0C00ACBA */ jal func_8002B2E8 -/* 029670 80028A70 8F060008 */ lw $a2, 8($t8) -/* 029674 80028A74 10000164 */ b .L80029008_ovl0 -/* 029678 80028A78 8FBF002C */ lw $ra, 0x2c($sp) -/* 02967C 80028A7C 02402025 */ move $a0, $s2 -/* 029680 80028A80 33C500FF */ andi $a1, $fp, 0xff -/* 029684 80028A84 0C00AD8E */ jal func_8002B638 -/* 029688 80028A88 32E600FF */ andi $a2, $s7, 0xff -/* 02968C 80028A8C 1040015D */ beqz $v0, .L80029004_ovl0 -/* 029690 80028A90 00408025 */ move $s0, $v0 -/* 029694 80028A94 A0540033 */ sb $s4, 0x33($v0) -/* 029698 80028A98 00402025 */ move $a0, $v0 -/* 02969C 80028A9C 0C00AC8E */ jal func_8002B238 -/* 0296A0 80028AA0 02402825 */ move $a1, $s2 -/* 0296A4 80028AA4 00028C00 */ sll $s1, $v0, 0x10 -/* 0296A8 80028AA8 00118C03 */ sra $s1, $s1, 0x10 -/* 0296AC 80028AAC 02002025 */ move $a0, $s0 -/* 0296B0 80028AB0 0C00AC85 */ jal func_8002B214 -/* 0296B4 80028AB4 8E45001C */ lw $a1, 0x1c($s2) -/* 0296B8 80028AB8 00112C00 */ sll $a1, $s1, 0x10 -/* 0296BC 80028ABC 00052C03 */ sra $a1, $a1, 0x10 -/* 0296C0 80028AC0 26040004 */ addiu $a0, $s0, 4 -/* 0296C4 80028AC4 0C00B494 */ jal func_8002D250 -/* 0296C8 80028AC8 00403025 */ move $a2, $v0 -/* 0296CC 80028ACC 1000014E */ b .L80029008_ovl0 -/* 0296D0 80028AD0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0296D4 80028AD4 8E590068 */ lw $t9, 0x68($s2) -/* 0296D8 80028AD8 00177080 */ sll $t6, $s7, 2 -/* 0296DC 80028ADC 01D77023 */ subu $t6, $t6, $s7 -/* 0296E0 80028AE0 000E70C0 */ sll $t6, $t6, 3 -/* 0296E4 80028AE4 032E7821 */ addu $t7, $t9, $t6 -/* 0296E8 80028AE8 10000146 */ b .L80029004_ovl0 -/* 0296EC 80028AEC A1FE0010 */ sb $fp, 0x10($t7) -/* 0296F0 80028AF0 2BC10041 */ slti $at, $fp, 0x41 -/* 0296F4 80028AF4 14200006 */ bnez $at, .L80028B10_ovl0 -/* 0296F8 80028AF8 03C01025 */ move $v0, $fp -/* 0296FC 80028AFC 2401005B */ li $at, 91 -/* 029700 80028B00 10410082 */ beq $v0, $at, .L80028D0C_ovl0 -/* 029704 80028B04 0017C080 */ sll $t8, $s7, 2 -/* 029708 80028B08 1000013F */ b .L80029008_ovl0 -/* 02970C 80028B0C 8FBF002C */ lw $ra, 0x2c($sp) -.L80028B10_ovl0: -/* 029710 80028B10 2841001A */ slti $at, $v0, 0x1a -/* 029714 80028B14 14200006 */ bnez $at, .L80028B30_ovl0 -/* 029718 80028B18 2458FFF9 */ addiu $t8, $v0, -7 -/* 02971C 80028B1C 24010040 */ li $at, 64 -/* 029720 80028B20 1041004D */ beq $v0, $at, .L80028C58_ovl0 -/* 029724 80028B24 00177080 */ sll $t6, $s7, 2 -/* 029728 80028B28 10000137 */ b .L80029008_ovl0 -/* 02972C 80028B2C 8FBF002C */ lw $ra, 0x2c($sp) -.L80028B30_ovl0: -/* 029730 80028B30 2F010013 */ sltiu $at, $t8, 0x13 -/* 029734 80028B34 10200133 */ beqz $at, .L80029004_ovl0 -/* 029738 80028B38 0018C080 */ sll $t8, $t8, 2 -/* 02973C 80028B3C 3C018004 */ lui $at, 0x8004 -/* 029740 80028B40 00380821 */ addu $at, $at, $t8 -/* 029744 80028B44 8C381698 */ lw $t8, 0x1698($at) -/* 029748 80028B48 03000008 */ jr $t8 -/* 02974C 80028B4C 00000000 */ nop -/* 029750 80028B50 8E590068 */ lw $t9, 0x68($s2) -/* 029754 80028B54 00177080 */ sll $t6, $s7, 2 -/* 029758 80028B58 01D77023 */ subu $t6, $t6, $s7 -/* 02975C 80028B5C 000E70C0 */ sll $t6, $t6, 3 -/* 029760 80028B60 032E7821 */ addu $t7, $t9, $t6 -/* 029764 80028B64 A1F40007 */ sb $s4, 7($t7) -/* 029768 80028B68 8E50006C */ lw $s0, 0x6c($s2) -/* 02976C 80028B6C 52000126 */ beql $s0, $zero, .L80029008_ovl0 -/* 029770 80028B70 8FBF002C */ lw $ra, 0x2c($sp) -/* 029774 80028B74 02E09825 */ move $s3, $s7 -/* 029778 80028B78 92180031 */ lbu $t8, 0x31($s0) -.L80028B7C_ovl0: -/* 02977C 80028B7C 02002025 */ move $a0, $s0 -/* 029780 80028B80 56780007 */ bnel $s3, $t8, .L80028BA0_ovl0 -/* 029784 80028B84 8E100000 */ lw $s0, ($s0) -/* 029788 80028B88 0C00AD7A */ jal func_8002B5E8 -/* 02978C 80028B8C 02402825 */ move $a1, $s2 -/* 029790 80028B90 26040004 */ addiu $a0, $s0, 4 -/* 029794 80028B94 0C00AB44 */ jal func_8002AD10 -/* 029798 80028B98 304500FF */ andi $a1, $v0, 0xff -/* 02979C 80028B9C 8E100000 */ lw $s0, ($s0) -.L80028BA0_ovl0: -/* 0297A0 80028BA0 5600FFF6 */ bnezl $s0, .L80028B7C_ovl0 -/* 0297A4 80028BA4 92180031 */ lbu $t8, 0x31($s0) -/* 0297A8 80028BA8 10000117 */ b .L80029008_ovl0 -/* 0297AC 80028BAC 8FBF002C */ lw $ra, 0x2c($sp) -/* 0297B0 80028BB0 8E590068 */ lw $t9, 0x68($s2) -/* 0297B4 80028BB4 00177080 */ sll $t6, $s7, 2 -/* 0297B8 80028BB8 01D77023 */ subu $t6, $t6, $s7 -/* 0297BC 80028BBC 000E70C0 */ sll $t6, $t6, 3 -/* 0297C0 80028BC0 032E7821 */ addu $t7, $t9, $t6 -/* 0297C4 80028BC4 A1F40009 */ sb $s4, 9($t7) -/* 0297C8 80028BC8 8E50006C */ lw $s0, 0x6c($s2) -/* 0297CC 80028BCC 5200010E */ beql $s0, $zero, .L80029008_ovl0 -/* 0297D0 80028BD0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0297D4 80028BD4 02E09825 */ move $s3, $s7 -/* 0297D8 80028BD8 24150003 */ li $s5, 3 -/* 0297DC 80028BDC 92180031 */ lbu $t8, 0x31($s0) -.L80028BE0_ovl0: -/* 0297E0 80028BE0 56780012 */ bnel $s3, $t8, .L80028C2C_ovl0 -/* 0297E4 80028BE4 8E100000 */ lw $s0, ($s0) -/* 0297E8 80028BE8 92190034 */ lbu $t9, 0x34($s0) -/* 0297EC 80028BEC 02002025 */ move $a0, $s0 -/* 0297F0 80028BF0 52B9000E */ beql $s5, $t9, .L80028C2C_ovl0 -/* 0297F4 80028BF4 8E100000 */ lw $s0, ($s0) -/* 0297F8 80028BF8 0C00AC8E */ jal func_8002B238 -/* 0297FC 80028BFC 02402825 */ move $a1, $s2 -/* 029800 80028C00 00028C00 */ sll $s1, $v0, 0x10 -/* 029804 80028C04 00118C03 */ sra $s1, $s1, 0x10 -/* 029808 80028C08 02002025 */ move $a0, $s0 -/* 02980C 80028C0C 0C00AC85 */ jal func_8002B214 -/* 029810 80028C10 8E45001C */ lw $a1, 0x1c($s2) -/* 029814 80028C14 00112C00 */ sll $a1, $s1, 0x10 -/* 029818 80028C18 00052C03 */ sra $a1, $a1, 0x10 -/* 02981C 80028C1C 26040004 */ addiu $a0, $s0, 4 -/* 029820 80028C20 0C00B494 */ jal func_8002D250 -/* 029824 80028C24 00403025 */ move $a2, $v0 -/* 029828 80028C28 8E100000 */ lw $s0, ($s0) -.L80028C2C_ovl0: -/* 02982C 80028C2C 5600FFEC */ bnezl $s0, .L80028BE0_ovl0 -/* 029830 80028C30 92180031 */ lbu $t8, 0x31($s0) -/* 029834 80028C34 100000F4 */ b .L80029008_ovl0 -/* 029838 80028C38 8FBF002C */ lw $ra, 0x2c($sp) -/* 02983C 80028C3C 8E4E0068 */ lw $t6, 0x68($s2) -/* 029840 80028C40 00177880 */ sll $t7, $s7, 2 -/* 029844 80028C44 01F77823 */ subu $t7, $t7, $s7 -/* 029848 80028C48 000F78C0 */ sll $t7, $t7, 3 -/* 02984C 80028C4C 01CFC021 */ addu $t8, $t6, $t7 -/* 029850 80028C50 100000EC */ b .L80029004_ovl0 -/* 029854 80028C54 A3140008 */ sb $s4, 8($t8) -.L80028C58_ovl0: -/* 029858 80028C58 8E590068 */ lw $t9, 0x68($s2) -/* 02985C 80028C5C 01D77023 */ subu $t6, $t6, $s7 -/* 029860 80028C60 000E70C0 */ sll $t6, $t6, 3 -/* 029864 80028C64 032E7821 */ addu $t7, $t9, $t6 -/* 029868 80028C68 A1F4000B */ sb $s4, 0xb($t7) -/* 02986C 80028C6C 8E50006C */ lw $s0, 0x6c($s2) -/* 029870 80028C70 520000E5 */ beql $s0, $zero, .L80029008_ovl0 -/* 029874 80028C74 8FBF002C */ lw $ra, 0x2c($sp) -/* 029878 80028C78 02E09825 */ move $s3, $s7 -/* 02987C 80028C7C 24170004 */ li $s7, 4 -/* 029880 80028C80 241E0003 */ li $fp, 3 -/* 029884 80028C84 24160002 */ li $s6, 2 -/* 029888 80028C88 24150003 */ li $s5, 3 -/* 02988C 80028C8C 24110002 */ li $s1, 2 -/* 029890 80028C90 92180031 */ lbu $t8, 0x31($s0) -.L80028C94_ovl0: -/* 029894 80028C94 56780019 */ bnel $s3, $t8, .L80028CFC_ovl0 -/* 029898 80028C98 8E100000 */ lw $s0, ($s0) -/* 02989C 80028C9C 92020035 */ lbu $v0, 0x35($s0) -/* 0298A0 80028CA0 2A810040 */ slti $at, $s4, 0x40 -/* 0298A4 80028CA4 52A20015 */ beql $s5, $v0, .L80028CFC_ovl0 -/* 0298A8 80028CA8 8E100000 */ lw $s0, ($s0) -/* 0298AC 80028CAC 14200005 */ bnez $at, .L80028CC4_ovl0 -/* 0298B0 80028CB0 00000000 */ nop -/* 0298B4 80028CB4 54400011 */ bnezl $v0, .L80028CFC_ovl0 -/* 0298B8 80028CB8 8E100000 */ lw $s0, ($s0) -/* 0298BC 80028CBC 1000000E */ b .L80028CF8_ovl0 -/* 0298C0 80028CC0 A2160035 */ sb $s6, 0x35($s0) -.L80028CC4_ovl0: -/* 0298C4 80028CC4 16220003 */ bne $s1, $v0, .L80028CD4_ovl0 -/* 0298C8 80028CC8 00000000 */ nop -/* 0298CC 80028CCC 1000000A */ b .L80028CF8_ovl0 -/* 0298D0 80028CD0 A2000035 */ sb $zero, 0x35($s0) -.L80028CD4_ovl0: -/* 0298D4 80028CD4 56E20009 */ bnel $s7, $v0, .L80028CFC_ovl0 -/* 0298D8 80028CD8 8E100000 */ lw $s0, ($s0) -/* 0298DC 80028CDC 8E190020 */ lw $t9, 0x20($s0) -/* 0298E0 80028CE0 A21E0035 */ sb $fp, 0x35($s0) -/* 0298E4 80028CE4 02402025 */ move $a0, $s2 -/* 0298E8 80028CE8 8F2E0000 */ lw $t6, ($t9) -/* 0298EC 80028CEC 26050004 */ addiu $a1, $s0, 4 -/* 0298F0 80028CF0 0C00ACBA */ jal func_8002B2E8 -/* 0298F4 80028CF4 8DC60008 */ lw $a2, 8($t6) -.L80028CF8_ovl0: -/* 0298F8 80028CF8 8E100000 */ lw $s0, ($s0) -.L80028CFC_ovl0: -/* 0298FC 80028CFC 5600FFE5 */ bnezl $s0, .L80028C94_ovl0 -/* 029900 80028D00 92180031 */ lbu $t8, 0x31($s0) -/* 029904 80028D04 100000C0 */ b .L80029008_ovl0 -/* 029908 80028D08 8FBF002C */ lw $ra, 0x2c($sp) -.L80028D0C_ovl0: -/* 02990C 80028D0C 8E4F0068 */ lw $t7, 0x68($s2) -/* 029910 80028D10 0317C023 */ subu $t8, $t8, $s7 -/* 029914 80028D14 0018C0C0 */ sll $t8, $t8, 3 -/* 029918 80028D18 01F8C821 */ addu $t9, $t7, $t8 -/* 02991C 80028D1C A334000A */ sb $s4, 0xa($t9) -/* 029920 80028D20 8E50006C */ lw $s0, 0x6c($s2) -/* 029924 80028D24 520000B8 */ beql $s0, $zero, .L80029008_ovl0 -/* 029928 80028D28 8FBF002C */ lw $ra, 0x2c($sp) -/* 02992C 80028D2C 02E09825 */ move $s3, $s7 -/* 029930 80028D30 920E0031 */ lbu $t6, 0x31($s0) -.L80028D34_ovl0: -/* 029934 80028D34 26040004 */ addiu $a0, $s0, 4 -/* 029938 80028D38 566E0004 */ bnel $s3, $t6, .L80028D4C_ovl0 -/* 02993C 80028D3C 8E100000 */ lw $s0, ($s0) -/* 029940 80028D40 0C00B3F9 */ jal func_8002CFE4 -/* 029944 80028D44 328500FF */ andi $a1, $s4, 0xff -/* 029948 80028D48 8E100000 */ lw $s0, ($s0) -.L80028D4C_ovl0: -/* 02994C 80028D4C 5600FFF9 */ bnezl $s0, .L80028D34_ovl0 -/* 029950 80028D50 920E0031 */ lbu $t6, 0x31($s0) -/* 029954 80028D54 100000AC */ b .L80029008_ovl0 -/* 029958 80028D58 8FBF002C */ lw $ra, 0x2c($sp) -/* 02995C 80028D5C 2A810079 */ slti $at, $s4, 0x79 -/* 029960 80028D60 14200009 */ bnez $at, .L80028D88_ovl0 -/* 029964 80028D64 02801025 */ move $v0, $s4 -/* 029968 80028D68 8E580068 */ lw $t8, 0x68($s2) -/* 02996C 80028D6C 0017C880 */ sll $t9, $s7, 2 -/* 029970 80028D70 0337C823 */ subu $t9, $t9, $s7 -/* 029974 80028D74 0019C8C0 */ sll $t9, $t9, 3 -/* 029978 80028D78 240F04B0 */ li $t7, 1200 -/* 02997C 80028D7C 03197021 */ addu $t6, $t8, $t9 -/* 029980 80028D80 100000A0 */ b .L80029004_ovl0 -/* 029984 80028D84 A5CF0004 */ sh $t7, 4($t6) -.L80028D88_ovl0: -/* 029988 80028D88 8E590068 */ lw $t9, 0x68($s2) -/* 02998C 80028D8C 00177880 */ sll $t7, $s7, 2 -/* 029990 80028D90 01F77823 */ subu $t7, $t7, $s7 -/* 029994 80028D94 0002C080 */ sll $t8, $v0, 2 -/* 029998 80028D98 0302C021 */ addu $t8, $t8, $v0 -/* 02999C 80028D9C 000F78C0 */ sll $t7, $t7, 3 -/* 0299A0 80028DA0 0018C040 */ sll $t8, $t8, 1 -/* 0299A4 80028DA4 032F7021 */ addu $t6, $t9, $t7 -/* 0299A8 80028DA8 10000096 */ b .L80029004_ovl0 -/* 0299AC 80028DAC A5D80004 */ sh $t8, 4($t6) -/* 0299B0 80028DB0 10000094 */ b .L80029004_ovl0 -/* 0299B4 80028DB4 A2540078 */ sb $s4, 0x78($s2) -/* 0299B8 80028DB8 8E590068 */ lw $t9, 0x68($s2) -/* 0299BC 80028DBC 00178880 */ sll $s1, $s7, 2 -/* 0299C0 80028DC0 02378823 */ subu $s1, $s1, $s7 -/* 0299C4 80028DC4 001188C0 */ sll $s1, $s1, 3 -/* 0299C8 80028DC8 03317821 */ addu $t7, $t9, $s1 -/* 0299CC 80028DCC A1F40012 */ sb $s4, 0x12($t7) -/* 0299D0 80028DD0 8E50006C */ lw $s0, 0x6c($s2) -/* 0299D4 80028DD4 5200008C */ beql $s0, $zero, .L80029008_ovl0 -/* 0299D8 80028DD8 8FBF002C */ lw $ra, 0x2c($sp) -/* 0299DC 80028DDC 02E09825 */ move $s3, $s7 -/* 0299E0 80028DE0 92180031 */ lbu $t8, 0x31($s0) -.L80028DE4_ovl0: -/* 0299E4 80028DE4 56780008 */ bnel $s3, $t8, .L80028E08_ovl0 -/* 0299E8 80028DE8 8E100000 */ lw $s0, ($s0) -/* 0299EC 80028DEC 8E4E0068 */ lw $t6, 0x68($s2) -/* 0299F0 80028DF0 26040004 */ addiu $a0, $s0, 4 -/* 0299F4 80028DF4 328500FF */ andi $a1, $s4, 0xff -/* 0299F8 80028DF8 01D1C821 */ addu $t9, $t6, $s1 -/* 0299FC 80028DFC 0C00B3D0 */ jal func_8002CF40 -/* 029A00 80028E00 93260013 */ lbu $a2, 0x13($t9) -/* 029A04 80028E04 8E100000 */ lw $s0, ($s0) -.L80028E08_ovl0: -/* 029A08 80028E08 5600FFF6 */ bnezl $s0, .L80028DE4_ovl0 -/* 029A0C 80028E0C 92180031 */ lbu $t8, 0x31($s0) -/* 029A10 80028E10 1000007D */ b .L80029008_ovl0 -/* 029A14 80028E14 8FBF002C */ lw $ra, 0x2c($sp) -/* 029A18 80028E18 8E4F0068 */ lw $t7, 0x68($s2) -/* 029A1C 80028E1C 00178880 */ sll $s1, $s7, 2 -/* 029A20 80028E20 02378823 */ subu $s1, $s1, $s7 -/* 029A24 80028E24 001188C0 */ sll $s1, $s1, 3 -/* 029A28 80028E28 01F1C021 */ addu $t8, $t7, $s1 -/* 029A2C 80028E2C A3140013 */ sb $s4, 0x13($t8) -/* 029A30 80028E30 8E50006C */ lw $s0, 0x6c($s2) -/* 029A34 80028E34 52000074 */ beql $s0, $zero, .L80029008_ovl0 -/* 029A38 80028E38 8FBF002C */ lw $ra, 0x2c($sp) -/* 029A3C 80028E3C 02E09825 */ move $s3, $s7 -/* 029A40 80028E40 920E0031 */ lbu $t6, 0x31($s0) -.L80028E44_ovl0: -/* 029A44 80028E44 566E0008 */ bnel $s3, $t6, .L80028E68_ovl0 -/* 029A48 80028E48 8E100000 */ lw $s0, ($s0) -/* 029A4C 80028E4C 8E590068 */ lw $t9, 0x68($s2) -/* 029A50 80028E50 26040004 */ addiu $a0, $s0, 4 -/* 029A54 80028E54 328600FF */ andi $a2, $s4, 0xff -/* 029A58 80028E58 03317821 */ addu $t7, $t9, $s1 -/* 029A5C 80028E5C 0C00B3D0 */ jal func_8002CF40 -/* 029A60 80028E60 91E50012 */ lbu $a1, 0x12($t7) -/* 029A64 80028E64 8E100000 */ lw $s0, ($s0) -.L80028E68_ovl0: -/* 029A68 80028E68 5600FFF6 */ bnezl $s0, .L80028E44_ovl0 -/* 029A6C 80028E6C 920E0031 */ lbu $t6, 0x31($s0) -/* 029A70 80028E70 10000065 */ b .L80029008_ovl0 -/* 029A74 80028E74 8FBF002C */ lw $ra, 0x2c($sp) -/* 029A78 80028E78 2A810003 */ slti $at, $s4, 3 -/* 029A7C 80028E7C 10200061 */ beqz $at, .L80029004_ovl0 -/* 029A80 80028E80 0014C080 */ sll $t8, $s4, 2 -/* 029A84 80028E84 02587021 */ addu $t6, $s2, $t8 -/* 029A88 80028E88 8DD90020 */ lw $t9, 0x20($t6) -/* 029A8C 80028E8C 0017C080 */ sll $t8, $s7, 2 -/* 029A90 80028E90 5320005D */ beql $t9, $zero, .L80029008_ovl0 -/* 029A94 80028E94 8FBF002C */ lw $ra, 0x2c($sp) -/* 029A98 80028E98 8E4F0068 */ lw $t7, 0x68($s2) -/* 029A9C 80028E9C 0317C023 */ subu $t8, $t8, $s7 -/* 029AA0 80028EA0 0018C0C0 */ sll $t8, $t8, 3 -/* 029AA4 80028EA4 01F87021 */ addu $t6, $t7, $t8 -/* 029AA8 80028EA8 10000056 */ b .L80029004_ovl0 -/* 029AAC 80028EAC A1D40014 */ sb $s4, 0x14($t6) -/* 029AB0 80028EB0 8E590068 */ lw $t9, 0x68($s2) -/* 029AB4 80028EB4 00177880 */ sll $t7, $s7, 2 -/* 029AB8 80028EB8 01F77823 */ subu $t7, $t7, $s7 -/* 029ABC 80028EBC 000F78C0 */ sll $t7, $t7, 3 -/* 029AC0 80028EC0 032FC021 */ addu $t8, $t9, $t7 -/* 029AC4 80028EC4 1000004F */ b .L80029004_ovl0 -/* 029AC8 80028EC8 A3140008 */ sb $s4, 8($t8) -/* 029ACC 80028ECC 8E4E0068 */ lw $t6, 0x68($s2) -/* 029AD0 80028ED0 0017C880 */ sll $t9, $s7, 2 -/* 029AD4 80028ED4 0337C823 */ subu $t9, $t9, $s7 -/* 029AD8 80028ED8 0019C8C0 */ sll $t9, $t9, 3 -/* 029ADC 80028EDC 01D97821 */ addu $t7, $t6, $t9 -/* 029AE0 80028EE0 91F80014 */ lbu $t8, 0x14($t7) -/* 029AE4 80028EE4 02402025 */ move $a0, $s2 -/* 029AE8 80028EE8 02E03025 */ move $a2, $s7 -/* 029AEC 80028EEC 00187080 */ sll $t6, $t8, 2 -/* 029AF0 80028EF0 024EC821 */ addu $t9, $s2, $t6 -/* 029AF4 80028EF4 8F220020 */ lw $v0, 0x20($t9) -/* 029AF8 80028EF8 001EC080 */ sll $t8, $fp, 2 -/* 029AFC 80028EFC 844F0000 */ lh $t7, ($v0) -/* 029B00 80028F00 00587021 */ addu $t6, $v0, $t8 -/* 029B04 80028F04 03CF082A */ slt $at, $fp, $t7 -/* 029B08 80028F08 5020003F */ beql $at, $zero, .L80029008_ovl0 -/* 029B0C 80028F0C 8FBF002C */ lw $ra, 0x2c($sp) -/* 029B10 80028F10 0C00AD67 */ jal func_8002B59C -/* 029B14 80028F14 8DC5000C */ lw $a1, 0xc($t6) -/* 029B18 80028F18 1000003B */ b .L80029008_ovl0 -/* 029B1C 80028F1C 8FBF002C */ lw $ra, 0x2c($sp) -/* 029B20 80028F20 8E590068 */ lw $t9, 0x68($s2) -/* 029B24 80028F24 00178880 */ sll $s1, $s7, 2 -/* 029B28 80028F28 02378823 */ subu $s1, $s1, $s7 -/* 029B2C 80028F2C 001188C0 */ sll $s1, $s1, 3 -/* 029B30 80028F30 03317821 */ addu $t7, $t9, $s1 -/* 029B34 80028F34 85F80004 */ lh $t8, 4($t7) -/* 029B38 80028F38 001471C0 */ sll $t6, $s4, 7 -/* 029B3C 80028F3C 01DEC821 */ addu $t9, $t6, $fp -/* 029B40 80028F40 272FE000 */ addiu $t7, $t9, -0x2000 -/* 029B44 80028F44 030F0019 */ multu $t8, $t7 -/* 029B48 80028F48 00002012 */ mflo $a0 -/* 029B4C 80028F4C 04810002 */ bgez $a0, .L80028F58_ovl0 -/* 029B50 80028F50 00800821 */ addu $at, $a0, $zero -/* 029B54 80028F54 24811FFF */ addiu $at, $a0, 0x1fff -.L80028F58_ovl0: -/* 029B58 80028F58 00012343 */ sra $a0, $at, 0xd -/* 029B5C 80028F5C 0C00DC20 */ jal func_80037080 -/* 029B60 80028F60 00000000 */ nop -/* 029B64 80028F64 8E4E0068 */ lw $t6, 0x68($s2) -/* 029B68 80028F68 46000606 */ mov.s $f24, $f0 -/* 029B6C 80028F6C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 029B70 80028F70 01D1C821 */ addu $t9, $t6, $s1 -/* 029B74 80028F74 E720000C */ swc1 $f0, 0xc($t9) -/* 029B78 80028F78 8E50006C */ lw $s0, 0x6c($s2) -/* 029B7C 80028F7C 52000022 */ beql $s0, $zero, .L80029008_ovl0 -/* 029B80 80028F80 8FBF002C */ lw $ra, 0x2c($sp) -/* 029B84 80028F84 4481B000 */ mtc1 $at, $f22 -/* 029B88 80028F88 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 029B8C 80028F8C 4481A000 */ mtc1 $at, $f20 -/* 029B90 80028F90 02E09825 */ move $s3, $s7 -/* 029B94 80028F94 92180031 */ lbu $t8, 0x31($s0) -.L80028F98_ovl0: -/* 029B98 80028F98 56780018 */ bnel $s3, $t8, .L80028FFC_ovl0 -/* 029B9C 80028F9C 8E100000 */ lw $s0, ($s0) -/* 029BA0 80028FA0 8E4F0068 */ lw $t7, 0x68($s2) -/* 029BA4 80028FA4 26040004 */ addiu $a0, $s0, 4 -/* 029BA8 80028FA8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 029BAC 80028FAC 01F17021 */ addu $t6, $t7, $s1 -/* 029BB0 80028FB0 91D90010 */ lbu $t9, 0x10($t6) -/* 029BB4 80028FB4 44992000 */ mtc1 $t9, $f4 -/* 029BB8 80028FB8 07210004 */ bgez $t9, .L80028FCC_ovl0 -/* 029BBC 80028FBC 468021A0 */ cvt.s.w $f6, $f4 -/* 029BC0 80028FC0 44814000 */ mtc1 $at, $f8 -/* 029BC4 80028FC4 00000000 */ nop -/* 029BC8 80028FC8 46083180 */ add.s $f6, $f6, $f8 -.L80028FCC_ovl0: -/* 029BCC 80028FCC C60A002C */ lwc1 $f10, 0x2c($s0) -/* 029BD0 80028FD0 46145101 */ sub.s $f4, $f10, $f20 -/* 029BD4 80028FD4 46043202 */ mul.s $f8, $f6, $f4 -/* 029BD8 80028FD8 C6040028 */ lwc1 $f4, 0x28($s0) -/* 029BDC 80028FDC 46164283 */ div.s $f10, $f8, $f22 -/* 029BE0 80028FE0 46182202 */ mul.s $f8, $f4, $f24 -/* 029BE4 80028FE4 46145180 */ add.s $f6, $f10, $f20 -/* 029BE8 80028FE8 46083282 */ mul.s $f10, $f6, $f8 -/* 029BEC 80028FEC 44055000 */ mfc1 $a1, $f10 -/* 029BF0 80028FF0 0C00B368 */ jal func_8002CDA0 -/* 029BF4 80028FF4 00000000 */ nop -/* 029BF8 80028FF8 8E100000 */ lw $s0, ($s0) -.L80028FFC_ovl0: -/* 029BFC 80028FFC 5600FFE6 */ bnezl $s0, .L80028F98_ovl0 -/* 029C00 80029000 92180031 */ lbu $t8, 0x31($s0) -.L80029004_ovl0: -/* 029C04 80029004 8FBF002C */ lw $ra, 0x2c($sp) -.L80029008_ovl0: -/* 029C08 80029008 27BD00C0 */ addiu $sp, $sp, 0xc0 -/* 029C0C 8002900C 03E00008 */ jr $ra -/* 029C10 80029010 00000000 */ nop - -glabel func_80029014 -/* 029C14 80029014 03E00008 */ jr $ra -/* 029C18 80029018 00000000 */ nop - -glabel func_8002901C -/* 029C1C 8002901C 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 029C20 80029020 AFBE0050 */ sw $fp, 0x50($sp) -/* 029C24 80029024 AFB40040 */ sw $s4, 0x40($sp) -/* 029C28 80029028 248E0040 */ addiu $t6, $a0, 0x40 -/* 029C2C 8002902C 0080F025 */ move $fp, $a0 -/* 029C30 80029030 AFBF0054 */ sw $ra, 0x54($sp) -/* 029C34 80029034 AFB7004C */ sw $s7, 0x4c($sp) -/* 029C38 80029038 AFB60048 */ sw $s6, 0x48($sp) -/* 029C3C 8002903C AFB50044 */ sw $s5, 0x44($sp) -/* 029C40 80029040 AFB3003C */ sw $s3, 0x3c($sp) -/* 029C44 80029044 AFB20038 */ sw $s2, 0x38($sp) -/* 029C48 80029048 AFB10034 */ sw $s1, 0x34($sp) -/* 029C4C 8002904C AFB00030 */ sw $s0, 0x30($sp) -/* 029C50 80029050 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 029C54 80029054 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 029C58 80029058 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 029C5C 8002905C AFAE0060 */ sw $t6, 0x60($sp) -/* 029C60 80029060 24940050 */ addiu $s4, $a0, 0x50 -.L80029064_ovl0: -/* 029C64 80029064 97CF0040 */ lhu $t7, 0x40($fp) -/* 029C68 80029068 2DE1001A */ sltiu $at, $t7, 0x1a -/* 029C6C 8002906C 10200174 */ beqz $at, .L80029640_ovl0 -/* 029C70 80029070 000F7880 */ sll $t7, $t7, 2 -/* 029C74 80029074 3C018004 */ lui $at, 0x8004 -/* 029C78 80029078 002F0821 */ addu $at, $at, $t7 -/* 029C7C 8002907C 8C2F16E4 */ lw $t7, 0x16e4($at) -/* 029C80 80029080 01E00008 */ jr $t7 -/* 029C84 80029084 00000000 */ nop -/* 029C88 80029088 8FC40018 */ lw $a0, 0x18($fp) -/* 029C8C 8002908C 5080016D */ beql $a0, $zero, .L80029644_ovl0 -/* 029C90 80029090 02802025 */ move $a0, $s4 -/* 029C94 80029094 0C00961F */ jal func_8002587C -/* 029C98 80029098 27A50068 */ addiu $a1, $sp, 0x68 -/* 029C9C 8002909C 87B80068 */ lh $t8, 0x68($sp) -/* 029CA0 800290A0 2719FFFF */ addiu $t9, $t8, -1 -/* 029CA4 800290A4 2F210014 */ sltiu $at, $t9, 0x14 -/* 029CA8 800290A8 10200165 */ beqz $at, .L80029640_ovl0 -/* 029CAC 800290AC 0019C880 */ sll $t9, $t9, 2 -/* 029CB0 800290B0 3C018004 */ lui $at, 0x8004 -/* 029CB4 800290B4 00390821 */ addu $at, $at, $t9 -/* 029CB8 800290B8 8C39174C */ lw $t9, 0x174c($at) -/* 029CBC 800290BC 03200008 */ jr $t9 -/* 029CC0 800290C0 00000000 */ nop -/* 029CC4 800290C4 03C09025 */ move $s2, $fp -/* 029CC8 800290C8 27A80068 */ addiu $t0, $sp, 0x68 -/* 029CCC 800290CC AFB4005C */ sw $s4, 0x5c($sp) -/* 029CD0 800290D0 0C00A17E */ jal func_800285F8 -/* 029CD4 800290D4 AFBE00B0 */ sw $fp, 0xb0($sp) -/* 029CD8 800290D8 8FBE00B0 */ lw $fp, 0xb0($sp) -/* 029CDC 800290DC 8FB4005C */ lw $s4, 0x5c($sp) -/* 029CE0 800290E0 0C0098FC */ jal func_800263F0 -/* 029CE4 800290E4 03C02025 */ move $a0, $fp -/* 029CE8 800290E8 10000156 */ b .L80029644_ovl0 -/* 029CEC 800290EC 02802025 */ move $a0, $s4 -/* 029CF0 800290F0 03C0B025 */ move $s6, $fp -/* 029CF4 800290F4 27A50068 */ addiu $a1, $sp, 0x68 -/* 029CF8 800290F8 0C009927 */ jal func_8002649C -/* 029CFC 800290FC AFB4005C */ sw $s4, 0x5c($sp) -/* 029D00 80029100 8FB4005C */ lw $s4, 0x5c($sp) -/* 029D04 80029104 0C0098FC */ jal func_800263F0 -/* 029D08 80029108 03C02025 */ move $a0, $fp -/* 029D0C 8002910C 1000014D */ b .L80029644_ovl0 -/* 029D10 80029110 02802025 */ move $a0, $s4 -/* 029D14 80029114 240E0002 */ li $t6, 2 -/* 029D18 80029118 AFCE0034 */ sw $t6, 0x34($fp) -/* 029D1C 8002911C 240F0010 */ li $t7, 16 -/* 029D20 80029120 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 029D24 80029124 A7AF0068 */ sh $t7, 0x68($sp) -/* 029D28 80029128 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 029D2C 8002912C 02802025 */ move $a0, $s4 -/* 029D30 80029130 0C009818 */ jal func_80026060 -/* 029D34 80029134 27A50068 */ addiu $a1, $sp, 0x68 -/* 029D38 80029138 10000142 */ b .L80029644_ovl0 -/* 029D3C 8002913C 02802025 */ move $a0, $s4 -/* 029D40 80029140 0C0098FC */ jal func_800263F0 -/* 029D44 80029144 03C02025 */ move $a0, $fp -/* 029D48 80029148 1000013E */ b .L80029644_ovl0 -/* 029D4C 8002914C 02802025 */ move $a0, $s4 -/* 029D50 80029150 24180009 */ li $t8, 9 -/* 029D54 80029154 A7B8009C */ sh $t8, 0x9c($sp) -/* 029D58 80029158 8FC60064 */ lw $a2, 0x64($fp) -/* 029D5C 8002915C 02802025 */ move $a0, $s4 -/* 029D60 80029160 0C009818 */ jal func_80026060 -/* 029D64 80029164 27A5009C */ addiu $a1, $sp, 0x9c -/* 029D68 80029168 10000136 */ b .L80029644_ovl0 -/* 029D6C 8002916C 02802025 */ move $a0, $s4 -/* 029D70 80029170 8FD00044 */ lw $s0, 0x44($fp) -/* 029D74 80029174 0C00AA9C */ jal func_8002AA70 -/* 029D78 80029178 02002025 */ move $a0, $s0 -/* 029D7C 8002917C 0C00B46C */ jal func_8002D1B0 -/* 029D80 80029180 02002025 */ move $a0, $s0 -/* 029D84 80029184 8E110010 */ lw $s1, 0x10($s0) -/* 029D88 80029188 03C02025 */ move $a0, $fp -/* 029D8C 8002918C 92390037 */ lbu $t9, 0x37($s1) -/* 029D90 80029190 53200004 */ beql $t9, $zero, .L800291A4_ovl0 -/* 029D94 80029194 03C02025 */ move $a0, $fp -/* 029D98 80029198 0C00B1A3 */ jal func_8002C68C -/* 029D9C 8002919C 02202825 */ move $a1, $s1 -/* 029DA0 800291A0 03C02025 */ move $a0, $fp -.L800291A4_ovl0: -/* 029DA4 800291A4 0C00AD2D */ jal func_8002B4B4 -/* 029DA8 800291A8 02002825 */ move $a1, $s0 -/* 029DAC 800291AC 10000125 */ b .L80029644_ovl0 -/* 029DB0 800291B0 02802025 */ move $a0, $s4 -/* 029DB4 800291B4 8FD00044 */ lw $s0, 0x44($fp) -/* 029DB8 800291B8 240F0001 */ li $t7, 1 -/* 029DBC 800291BC 8E110010 */ lw $s1, 0x10($s0) -/* 029DC0 800291C0 922E0034 */ lbu $t6, 0x34($s1) -/* 029DC4 800291C4 55C00003 */ bnezl $t6, .L800291D4_ovl0 -/* 029DC8 800291C8 8FD20048 */ lw $s2, 0x48($fp) -/* 029DCC 800291CC A22F0034 */ sb $t7, 0x34($s1) -/* 029DD0 800291D0 8FD20048 */ lw $s2, 0x48($fp) -.L800291D4_ovl0: -/* 029DD4 800291D4 8FD8001C */ lw $t8, 0x1c($fp) -/* 029DD8 800291D8 02202025 */ move $a0, $s1 -/* 029DDC 800291DC 03C02825 */ move $a1, $fp -/* 029DE0 800291E0 0312C821 */ addu $t9, $t8, $s2 -/* 029DE4 800291E4 AE390024 */ sw $t9, 0x24($s1) -/* 029DE8 800291E8 93CE004C */ lbu $t6, 0x4c($fp) -/* 029DEC 800291EC 0C00AC8E */ jal func_8002B238 -/* 029DF0 800291F0 A22E0030 */ sb $t6, 0x30($s1) -/* 029DF4 800291F4 00022C00 */ sll $a1, $v0, 0x10 -/* 029DF8 800291F8 00052C03 */ sra $a1, $a1, 0x10 -/* 029DFC 800291FC 02002025 */ move $a0, $s0 -/* 029E00 80029200 0C00B494 */ jal func_8002D250 -/* 029E04 80029204 02403025 */ move $a2, $s2 -/* 029E08 80029208 1000010E */ b .L80029644_ovl0 -/* 029E0C 8002920C 02802025 */ move $a0, $s4 -/* 029E10 80029210 8FD90080 */ lw $t9, 0x80($fp) -/* 029E14 80029214 8FD30048 */ lw $s3, 0x48($fp) -/* 029E18 80029218 8FD10044 */ lw $s1, 0x44($fp) -/* 029E1C 8002921C 27A50088 */ addiu $a1, $sp, 0x88 -/* 029E20 80029220 0320F809 */ jalr $t9 -/* 029E24 80029224 02602025 */ move $a0, $s3 -/* 029E28 80029228 444FF800 */ cfc1 $t7, $31 -/* 029E2C 8002922C 24180001 */ li $t8, 1 -/* 029E30 80029230 44D8F800 */ ctc1 $t8, $31 -/* 029E34 80029234 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 029E38 80029238 00409025 */ move $s2, $v0 -/* 029E3C 8002923C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 029E40 80029240 460021A4 */ cvt.w.s $f6, $f4 -/* 029E44 80029244 02202025 */ move $a0, $s1 -/* 029E48 80029248 03C02825 */ move $a1, $fp -/* 029E4C 8002924C 4458F800 */ cfc1 $t8, $31 -/* 029E50 80029250 00000000 */ nop -/* 029E54 80029254 33180078 */ andi $t8, $t8, 0x78 -/* 029E58 80029258 53000013 */ beql $t8, $zero, .L800292A8_ovl0 -/* 029E5C 8002925C 44183000 */ mfc1 $t8, $f6 -/* 029E60 80029260 44813000 */ mtc1 $at, $f6 -/* 029E64 80029264 24180001 */ li $t8, 1 -/* 029E68 80029268 46062181 */ sub.s $f6, $f4, $f6 -/* 029E6C 8002926C 44D8F800 */ ctc1 $t8, $31 -/* 029E70 80029270 00000000 */ nop -/* 029E74 80029274 460031A4 */ cvt.w.s $f6, $f6 -/* 029E78 80029278 4458F800 */ cfc1 $t8, $31 -/* 029E7C 8002927C 00000000 */ nop -/* 029E80 80029280 33180078 */ andi $t8, $t8, 0x78 -/* 029E84 80029284 17000005 */ bnez $t8, .L8002929C_ovl0 -/* 029E88 80029288 00000000 */ nop -/* 029E8C 8002928C 44183000 */ mfc1 $t8, $f6 -/* 029E90 80029290 3C018000 */ lui $at, 0x8000 -/* 029E94 80029294 10000007 */ b .L800292B4_ovl0 -/* 029E98 80029298 0301C025 */ or $t8, $t8, $at -.L8002929C_ovl0: -/* 029E9C 8002929C 10000005 */ b .L800292B4_ovl0 -/* 029EA0 800292A0 2418FFFF */ li $t8, -1 -/* 029EA4 800292A4 44183000 */ mfc1 $t8, $f6 -.L800292A8_ovl0: -/* 029EA8 800292A8 00000000 */ nop -/* 029EAC 800292AC 0700FFFB */ bltz $t8, .L8002929C_ovl0 -/* 029EB0 800292B0 00000000 */ nop -.L800292B4_ovl0: -/* 029EB4 800292B4 44CFF800 */ ctc1 $t7, $31 -/* 029EB8 800292B8 0C00AC8E */ jal func_8002B238 -/* 029EBC 800292BC A2380036 */ sb $t8, 0x36($s1) -/* 029EC0 800292C0 00028400 */ sll $s0, $v0, 0x10 -/* 029EC4 800292C4 00108403 */ sra $s0, $s0, 0x10 -/* 029EC8 800292C8 02202025 */ move $a0, $s1 -/* 029ECC 800292CC 0C00AC85 */ jal func_8002B214 -/* 029ED0 800292D0 8FC5001C */ lw $a1, 0x1c($fp) -/* 029ED4 800292D4 00102C00 */ sll $a1, $s0, 0x10 -/* 029ED8 800292D8 00052C03 */ sra $a1, $a1, 0x10 -/* 029EDC 800292DC 26240004 */ addiu $a0, $s1, 4 -/* 029EE0 800292E0 0C00B494 */ jal func_8002D250 -/* 029EE4 800292E4 00403025 */ move $a2, $v0 -/* 029EE8 800292E8 240E0016 */ li $t6, 22 -/* 029EEC 800292EC A7AE009C */ sh $t6, 0x9c($sp) -/* 029EF0 800292F0 AFB100A0 */ sw $s1, 0xa0($sp) -/* 029EF4 800292F4 AFB300A4 */ sw $s3, 0xa4($sp) -/* 029EF8 800292F8 02802025 */ move $a0, $s4 -/* 029EFC 800292FC 27A5009C */ addiu $a1, $sp, 0x9c -/* 029F00 80029300 0C009818 */ jal func_80026060 -/* 029F04 80029304 02403025 */ move $a2, $s2 -/* 029F08 80029308 100000CE */ b .L80029644_ovl0 -/* 029F0C 8002930C 02802025 */ move $a0, $s4 -/* 029F10 80029310 8FD90080 */ lw $t9, 0x80($fp) -/* 029F14 80029314 8FD30048 */ lw $s3, 0x48($fp) -/* 029F18 80029318 8FD10044 */ lw $s1, 0x44($fp) -/* 029F1C 8002931C 93D0004C */ lbu $s0, 0x4c($fp) -/* 029F20 80029320 27A50088 */ addiu $a1, $sp, 0x88 -/* 029F24 80029324 0320F809 */ jalr $t9 -/* 029F28 80029328 02602025 */ move $a0, $s3 -/* 029F2C 8002932C C7A80088 */ lwc1 $f8, 0x88($sp) -/* 029F30 80029330 0010C080 */ sll $t8, $s0, 2 -/* 029F34 80029334 0310C023 */ subu $t8, $t8, $s0 -/* 029F38 80029338 E628002C */ swc1 $f8, 0x2c($s1) -/* 029F3C 8002933C 8FCF0068 */ lw $t7, 0x68($fp) -/* 029F40 80029340 C638002C */ lwc1 $f24, 0x2c($s1) -/* 029F44 80029344 0018C0C0 */ sll $t8, $t8, 3 -/* 029F48 80029348 01F81821 */ addu $v1, $t7, $t8 -/* 029F4C 8002934C 906E0010 */ lbu $t6, 0x10($v1) -/* 029F50 80029350 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 029F54 80029354 44810000 */ mtc1 $at, $f0 -/* 029F58 80029358 448EB000 */ mtc1 $t6, $f22 -/* 029F5C 8002935C 00409025 */ move $s2, $v0 -/* 029F60 80029360 4600C101 */ sub.s $f4, $f24, $f0 -/* 029F64 80029364 26240004 */ addiu $a0, $s1, 4 -/* 029F68 80029368 05C10005 */ bgez $t6, .L80029380_ovl0 -/* 029F6C 8002936C 4680B220 */ cvt.s.w $f8, $f22 -/* 029F70 80029370 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 029F74 80029374 44815000 */ mtc1 $at, $f10 -/* 029F78 80029378 00000000 */ nop -/* 029F7C 8002937C 460A4200 */ add.s $f8, $f8, $f10 -.L80029380_ovl0: -/* 029F80 80029380 46082182 */ mul.s $f6, $f4, $f8 -/* 029F84 80029384 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 029F88 80029388 44815000 */ mtc1 $at, $f10 -/* 029F8C 8002938C 00000000 */ nop -/* 029F90 80029390 460A3103 */ div.s $f4, $f6, $f10 -/* 029F94 80029394 C6260028 */ lwc1 $f6, 0x28($s1) -/* 029F98 80029398 46002200 */ add.s $f8, $f4, $f0 -/* 029F9C 8002939C C464000C */ lwc1 $f4, 0xc($v1) -/* 029FA0 800293A0 46083282 */ mul.s $f10, $f6, $f8 -/* 029FA4 800293A4 00000000 */ nop -/* 029FA8 800293A8 460A2182 */ mul.s $f6, $f4, $f10 -/* 029FAC 800293AC 44053000 */ mfc1 $a1, $f6 -/* 029FB0 800293B0 0C00B368 */ jal func_8002CDA0 -/* 029FB4 800293B4 00000000 */ nop -/* 029FB8 800293B8 24190017 */ li $t9, 23 -/* 029FBC 800293BC A7B9009C */ sh $t9, 0x9c($sp) -/* 029FC0 800293C0 AFB100A0 */ sw $s1, 0xa0($sp) -/* 029FC4 800293C4 AFB300A4 */ sw $s3, 0xa4($sp) -/* 029FC8 800293C8 A3B000A8 */ sb $s0, 0xa8($sp) -/* 029FCC 800293CC 02802025 */ move $a0, $s4 -/* 029FD0 800293D0 27A5009C */ addiu $a1, $sp, 0x9c -/* 029FD4 800293D4 0C009818 */ jal func_80026060 -/* 029FD8 800293D8 02403025 */ move $a2, $s2 -/* 029FDC 800293DC 10000099 */ b .L80029644_ovl0 -/* 029FE0 800293E0 02802025 */ move $a0, $s4 -/* 029FE4 800293E4 03C09025 */ move $s2, $fp -/* 029FE8 800293E8 8FA80060 */ lw $t0, 0x60($sp) -/* 029FEC 800293EC AFB4005C */ sw $s4, 0x5c($sp) -/* 029FF0 800293F0 0C00A17E */ jal func_800285F8 -/* 029FF4 800293F4 AFBE00B0 */ sw $fp, 0xb0($sp) -/* 029FF8 800293F8 8FB4005C */ lw $s4, 0x5c($sp) -/* 029FFC 800293FC 10000090 */ b .L80029640_ovl0 -/* 02A000 80029400 8FBE00B0 */ lw $fp, 0xb0($sp) -/* 02A004 80029404 03C0B025 */ move $s6, $fp -/* 02A008 80029408 8FA50060 */ lw $a1, 0x60($sp) -/* 02A00C 8002940C 0C009927 */ jal func_8002649C -/* 02A010 80029410 AFB4005C */ sw $s4, 0x5c($sp) -/* 02A014 80029414 1000008A */ b .L80029640_ovl0 -/* 02A018 80029418 8FB4005C */ lw $s4, 0x5c($sp) -/* 02A01C 8002941C 8FD1006C */ lw $s1, 0x6c($fp) -/* 02A020 80029420 87CF0044 */ lh $t7, 0x44($fp) -/* 02A024 80029424 12200086 */ beqz $s1, .L80029640_ovl0 -/* 02A028 80029428 A7CF003A */ sh $t7, 0x3a($fp) -/* 02A02C 8002942C 02202025 */ move $a0, $s1 -.L80029430_ovl0: -/* 02A030 80029430 0C00AC8E */ jal func_8002B238 -/* 02A034 80029434 03C02825 */ move $a1, $fp -/* 02A038 80029438 00028400 */ sll $s0, $v0, 0x10 -/* 02A03C 8002943C 00108403 */ sra $s0, $s0, 0x10 -/* 02A040 80029440 02202025 */ move $a0, $s1 -/* 02A044 80029444 0C00AC85 */ jal func_8002B214 -/* 02A048 80029448 8FC5001C */ lw $a1, 0x1c($fp) -/* 02A04C 8002944C 00102C00 */ sll $a1, $s0, 0x10 -/* 02A050 80029450 00052C03 */ sra $a1, $a1, 0x10 -/* 02A054 80029454 26240004 */ addiu $a0, $s1, 4 -/* 02A058 80029458 0C00B494 */ jal func_8002D250 -/* 02A05C 8002945C 00403025 */ move $a2, $v0 -/* 02A060 80029460 8E310000 */ lw $s1, ($s1) -/* 02A064 80029464 5620FFF2 */ bnezl $s1, .L80029430_ovl0 -/* 02A068 80029468 02202025 */ move $a0, $s1 -/* 02A06C 8002946C 10000075 */ b .L80029644_ovl0 -/* 02A070 80029470 02802025 */ move $a0, $s4 -/* 02A074 80029474 8FCE0034 */ lw $t6, 0x34($fp) -/* 02A078 80029478 24180064 */ li $t8, 100 -/* 02A07C 8002947C 24010001 */ li $at, 1 -/* 02A080 80029480 11C1006F */ beq $t6, $at, .L80029640_ovl0 -/* 02A084 80029484 A3D80078 */ sb $t8, 0x78($fp) -/* 02A088 80029488 24190001 */ li $t9, 1 -/* 02A08C 8002948C AFD90034 */ sw $t9, 0x34($fp) -/* 02A090 80029490 0C0098FC */ jal func_800263F0 -/* 02A094 80029494 03C02025 */ move $a0, $fp -/* 02A098 80029498 1000006A */ b .L80029644_ovl0 -/* 02A09C 8002949C 02802025 */ move $a0, $s4 -/* 02A0A0 800294A0 8FCF0034 */ lw $t7, 0x34($fp) -/* 02A0A4 800294A4 24010002 */ li $at, 2 -/* 02A0A8 800294A8 55E10066 */ bnel $t7, $at, .L80029644_ovl0 -/* 02A0AC 800294AC 02802025 */ move $a0, $s4 -/* 02A0B0 800294B0 8FD1006C */ lw $s1, 0x6c($fp) -/* 02A0B4 800294B4 12200011 */ beqz $s1, .L800294FC_ovl0 -/* 02A0B8 800294B8 26300004 */ addiu $s0, $s1, 4 -.L800294BC_ovl0: -/* 02A0BC 800294BC 0C00AA9C */ jal func_8002AA70 -/* 02A0C0 800294C0 02002025 */ move $a0, $s0 -/* 02A0C4 800294C4 0C00B46C */ jal func_8002D1B0 -/* 02A0C8 800294C8 02002025 */ move $a0, $s0 -/* 02A0CC 800294CC 92380037 */ lbu $t8, 0x37($s1) -/* 02A0D0 800294D0 03C02025 */ move $a0, $fp -/* 02A0D4 800294D4 53000004 */ beql $t8, $zero, .L800294E8_ovl0 -/* 02A0D8 800294D8 03C02025 */ move $a0, $fp -/* 02A0DC 800294DC 0C00B1A3 */ jal func_8002C68C -/* 02A0E0 800294E0 02202825 */ move $a1, $s1 -/* 02A0E4 800294E4 03C02025 */ move $a0, $fp -.L800294E8_ovl0: -/* 02A0E8 800294E8 0C00AD2D */ jal func_8002B4B4 -/* 02A0EC 800294EC 02002825 */ move $a1, $s0 -/* 02A0F0 800294F0 8FD1006C */ lw $s1, 0x6c($fp) -/* 02A0F4 800294F4 5620FFF1 */ bnezl $s1, .L800294BC_ovl0 -/* 02A0F8 800294F8 26300004 */ addiu $s0, $s1, 4 -.L800294FC_ovl0: -/* 02A0FC 800294FC 0C00B1E4 */ jal func_8002C790 -/* 02A100 80029500 03C02025 */ move $a0, $fp -/* 02A104 80029504 1000004E */ b .L80029640_ovl0 -/* 02A108 80029508 AFC00034 */ sw $zero, 0x34($fp) -/* 02A10C 8002950C 8FCE0034 */ lw $t6, 0x34($fp) -/* 02A110 80029510 24010001 */ li $at, 1 -/* 02A114 80029514 02802025 */ move $a0, $s4 -/* 02A118 80029518 55C1004A */ bnel $t6, $at, .L80029644_ovl0 -/* 02A11C 8002951C 02802025 */ move $a0, $s4 -/* 02A120 80029520 0C0097E9 */ jal func_80025FA4 -/* 02A124 80029524 00002825 */ move $a1, $zero -/* 02A128 80029528 02802025 */ move $a0, $s4 -/* 02A12C 8002952C 0C0097E9 */ jal func_80025FA4 -/* 02A130 80029530 24050015 */ li $a1, 21 -/* 02A134 80029534 02802025 */ move $a0, $s4 -/* 02A138 80029538 0C0097E9 */ jal func_80025FA4 -/* 02A13C 8002953C 24050002 */ li $a1, 2 -/* 02A140 80029540 8FD1006C */ lw $s1, 0x6c($fp) -/* 02A144 80029544 1220000D */ beqz $s1, .L8002957C_ovl0 -/* 02A148 80029548 26300004 */ addiu $s0, $s1, 4 -.L8002954C_ovl0: -/* 02A14C 8002954C 02002825 */ move $a1, $s0 -/* 02A150 80029550 03C02025 */ move $a0, $fp -/* 02A154 80029554 0C00AD03 */ jal func_8002B40C -/* 02A158 80029558 3406C350 */ li $a2, 50000 -/* 02A15C 8002955C 10400004 */ beqz $v0, .L80029570_ovl0 -/* 02A160 80029560 03C02025 */ move $a0, $fp -/* 02A164 80029564 02002825 */ move $a1, $s0 -/* 02A168 80029568 0C00ACBA */ jal func_8002B2E8 -/* 02A16C 8002956C 3406C350 */ li $a2, 50000 -.L80029570_ovl0: -/* 02A170 80029570 8E310000 */ lw $s1, ($s1) -/* 02A174 80029574 5620FFF5 */ bnezl $s1, .L8002954C_ovl0 -/* 02A178 80029578 26300004 */ addiu $s0, $s1, 4 -.L8002957C_ovl0: -/* 02A17C 8002957C 24190002 */ li $t9, 2 -/* 02A180 80029580 AFD90034 */ sw $t9, 0x34($fp) -/* 02A184 80029584 240F0010 */ li $t7, 16 -/* 02A188 80029588 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 02A18C 8002958C A7AF009C */ sh $t7, 0x9c($sp) -/* 02A190 80029590 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 02A194 80029594 02802025 */ move $a0, $s4 -/* 02A198 80029598 0C009818 */ jal func_80026060 -/* 02A19C 8002959C 27A5009C */ addiu $a1, $sp, 0x9c -/* 02A1A0 800295A0 10000028 */ b .L80029644_ovl0 -/* 02A1A4 800295A4 02802025 */ move $a0, $s4 -/* 02A1A8 800295A8 93D00044 */ lbu $s0, 0x44($fp) -/* 02A1AC 800295AC 8FCE0068 */ lw $t6, 0x68($fp) -/* 02A1B0 800295B0 93D80045 */ lbu $t8, 0x45($fp) -/* 02A1B4 800295B4 0010C880 */ sll $t9, $s0, 2 -/* 02A1B8 800295B8 0330C823 */ subu $t9, $t9, $s0 -/* 02A1BC 800295BC 0019C8C0 */ sll $t9, $t9, 3 -/* 02A1C0 800295C0 01D97821 */ addu $t7, $t6, $t9 -/* 02A1C4 800295C4 1000001E */ b .L80029640_ovl0 -/* 02A1C8 800295C8 A1F80008 */ sb $t8, 8($t7) -/* 02A1CC 800295CC 8FCE0044 */ lw $t6, 0x44($fp) -/* 02A1D0 800295D0 3C018004 */ lui $at, %hi(D_8004179C) # $at, 0x8004 -/* 02A1D4 800295D4 03C02025 */ move $a0, $fp -/* 02A1D8 800295D8 AFCE0018 */ sw $t6, 0x18($fp) -/* 02A1DC 800295DC 0C009918 */ jal func_80026460 -/* 02A1E0 800295E0 C42C179C */ lwc1 $f12, %lo(D_8004179C)($at) -/* 02A1E4 800295E4 8FC50020 */ lw $a1, 0x20($fp) -/* 02A1E8 800295E8 50A00016 */ beql $a1, $zero, .L80029644_ovl0 -/* 02A1EC 800295EC 02802025 */ move $a0, $s4 -/* 02A1F0 800295F0 0C00AC56 */ jal func_8002B158 -/* 02A1F4 800295F4 03C02025 */ move $a0, $fp -/* 02A1F8 800295F8 10000012 */ b .L80029644_ovl0 -/* 02A1FC 800295FC 02802025 */ move $a0, $s4 -/* 02A200 80029600 8FC50044 */ lw $a1, 0x44($fp) -/* 02A204 80029604 03C02025 */ move $a0, $fp -/* 02A208 80029608 0C00AC56 */ jal func_8002B158 -/* 02A20C 8002960C AFC50020 */ sw $a1, 0x20($fp) -/* 02A210 80029610 1000000C */ b .L80029644_ovl0 -/* 02A214 80029614 02802025 */ move $a0, $s4 -/* 02A218 80029618 8FC50044 */ lw $a1, 0x44($fp) -/* 02A21C 8002961C 03C02025 */ move $a0, $fp -/* 02A220 80029620 0C00AC56 */ jal func_8002B158 -/* 02A224 80029624 AFC50024 */ sw $a1, 0x24($fp) -/* 02A228 80029628 10000006 */ b .L80029644_ovl0 -/* 02A22C 8002962C 02802025 */ move $a0, $s4 -/* 02A230 80029630 8FC50044 */ lw $a1, 0x44($fp) -/* 02A234 80029634 03C02025 */ move $a0, $fp -/* 02A238 80029638 0C00AC56 */ jal func_8002B158 -/* 02A23C 8002963C AFC50028 */ sw $a1, 0x28($fp) -.L80029640_ovl0: -/* 02A240 80029640 02802025 */ move $a0, $s4 -.L80029644_ovl0: -/* 02A244 80029644 0C00986C */ jal func_800261B0 -/* 02A248 80029648 8FA50060 */ lw $a1, 0x60($sp) -/* 02A24C 8002964C 1040FE85 */ beqz $v0, .L80029064_ovl0 -/* 02A250 80029650 AFC20030 */ sw $v0, 0x30($fp) -/* 02A254 80029654 00401825 */ move $v1, $v0 -/* 02A258 80029658 44834000 */ mtc1 $v1, $f8 -/* 02A25C 8002965C 8FD9001C */ lw $t9, 0x1c($fp) -/* 02A260 80029660 3C018004 */ lui $at, %hi(D_8003FB18) # $at, 0x8004 -/* 02A264 80029664 46804120 */ cvt.s.w $f4, $f8 -/* 02A268 80029668 0322C021 */ addu $t8, $t9, $v0 -/* 02A26C 8002966C AFD8001C */ sw $t8, 0x1c($fp) -/* 02A270 80029670 C42AFB18 */ lwc1 $f10, %lo(D_8003FB18)($at) -/* 02A274 80029674 8FBF0054 */ lw $ra, 0x54($sp) -/* 02A278 80029678 8FBE0050 */ lw $fp, 0x50($sp) -/* 02A27C 8002967C 460A2183 */ div.s $f6, $f4, $f10 -/* 02A280 80029680 8FB7004C */ lw $s7, 0x4c($sp) -/* 02A284 80029684 8FB60048 */ lw $s6, 0x48($sp) -/* 02A288 80029688 8FB50044 */ lw $s5, 0x44($sp) -/* 02A28C 8002968C 8FB40040 */ lw $s4, 0x40($sp) -/* 02A290 80029690 8FB3003C */ lw $s3, 0x3c($sp) -/* 02A294 80029694 8FB20038 */ lw $s2, 0x38($sp) -/* 02A298 80029698 8FB10034 */ lw $s1, 0x34($sp) -/* 02A29C 8002969C 8FB00030 */ lw $s0, 0x30($sp) -/* 02A2A0 800296A0 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 02A2A4 800296A4 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 02A2A8 800296A8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 02A2AC 800296AC 27BD00B0 */ addiu $sp, $sp, 0xb0 -/* 02A2B0 800296B0 4600320D */ trunc.w.s $f8, $f6 -/* 02A2B4 800296B4 44024000 */ mfc1 $v0, $f8 -/* 02A2B8 800296B8 03E00008 */ jr $ra -/* 02A2BC 800296BC 00000000 */ nop - -glabel func_800296C0 -/* 02A2C0 800296C0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 02A2C4 800296C4 AFBF0024 */ sw $ra, 0x24($sp) -/* 02A2C8 800296C8 AFB10020 */ sw $s1, 0x20($sp) -/* 02A2CC 800296CC AFB0001C */ sw $s0, 0x1c($sp) -/* 02A2D0 800296D0 8CA6000C */ lw $a2, 0xc($a1) -/* 02A2D4 800296D4 AC800020 */ sw $zero, 0x20($a0) -/* 02A2D8 800296D8 AC800024 */ sw $zero, 0x24($a0) -/* 02A2DC 800296DC AC800028 */ sw $zero, 0x28($a0) -/* 02A2E0 800296E0 AC800018 */ sw $zero, 0x18($a0) -/* 02A2E4 800296E4 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 -/* 02A2E8 800296E8 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) -/* 02A2EC 800296EC 240F00FF */ li $t7, 255 -/* 02A2F0 800296F0 241801E8 */ li $t8, 488 -/* 02A2F4 800296F4 24197FFF */ li $t9, 32767 -/* 02A2F8 800296F8 A48F0038 */ sh $t7, 0x38($a0) -/* 02A2FC 800296FC AC98002C */ sw $t8, 0x2c($a0) -/* 02A300 80029700 AC800030 */ sw $zero, 0x30($a0) -/* 02A304 80029704 AC800034 */ sw $zero, 0x34($a0) -/* 02A308 80029708 A499003A */ sh $t9, 0x3a($a0) -/* 02A30C 8002970C AC8E0014 */ sw $t6, 0x14($a0) -/* 02A310 80029710 90A80009 */ lbu $t0, 9($a1) -/* 02A314 80029714 24093E80 */ li $t1, 16000 -/* 02A318 80029718 AC890064 */ sw $t1, 0x64($a0) -/* 02A31C 8002971C AC80001C */ sw $zero, 0x1c($a0) -/* 02A320 80029720 A088003D */ sb $t0, 0x3d($a0) -/* 02A324 80029724 8CAA0010 */ lw $t2, 0x10($a1) -/* 02A328 80029728 240D0009 */ li $t5, 9 -/* 02A32C 8002972C 00A08825 */ move $s1, $a1 -/* 02A330 80029730 AC8A007C */ sw $t2, 0x7c($a0) -/* 02A334 80029734 8CAB0014 */ lw $t3, 0x14($a1) -/* 02A338 80029738 00808025 */ move $s0, $a0 -/* 02A33C 8002973C 240F0018 */ li $t7, 24 -/* 02A340 80029740 AC8B0080 */ sw $t3, 0x80($a0) -/* 02A344 80029744 8CAC0018 */ lw $t4, 0x18($a1) -/* 02A348 80029748 A48D0040 */ sh $t5, 0x40($a0) -/* 02A34C 8002974C AC8C0084 */ sw $t4, 0x84($a0) -/* 02A350 80029750 90AE0008 */ lbu $t6, 8($a1) -/* 02A354 80029754 00002825 */ move $a1, $zero -/* 02A358 80029758 A08E003C */ sb $t6, 0x3c($a0) -/* 02A35C 8002975C 92270008 */ lbu $a3, 8($s1) -/* 02A360 80029760 AFAF0010 */ sw $t7, 0x10($sp) -/* 02A364 80029764 00002025 */ move $a0, $zero -/* 02A368 80029768 0C0078F5 */ jal func_8001E3D4 -/* 02A36C 8002976C AFA6002C */ sw $a2, 0x2c($sp) -/* 02A370 80029770 AE020068 */ sw $v0, 0x68($s0) -/* 02A374 80029774 0C00B1E4 */ jal func_8002C790 -/* 02A378 80029778 02002025 */ move $a0, $s0 -/* 02A37C 8002977C 8E270000 */ lw $a3, ($s1) -/* 02A380 80029780 24180038 */ li $t8, 56 -/* 02A384 80029784 AFB80010 */ sw $t8, 0x10($sp) -/* 02A388 80029788 00002025 */ move $a0, $zero -/* 02A38C 8002978C 00002825 */ move $a1, $zero -/* 02A390 80029790 0C0078F5 */ jal func_8001E3D4 -/* 02A394 80029794 8FA6002C */ lw $a2, 0x2c($sp) -/* 02A398 80029798 AE000074 */ sw $zero, 0x74($s0) -/* 02A39C 8002979C 8E390000 */ lw $t9, ($s1) -/* 02A3A0 800297A0 00002025 */ move $a0, $zero -/* 02A3A4 800297A4 00002825 */ move $a1, $zero -/* 02A3A8 800297A8 1B20000B */ blez $t9, .L800297D8_ovl0 -/* 02A3AC 800297AC 240A001C */ li $t2, 28 -/* 02A3B0 800297B0 00401825 */ move $v1, $v0 -/* 02A3B4 800297B4 8E080074 */ lw $t0, 0x74($s0) -.L800297B8_ovl0: -/* 02A3B8 800297B8 24840001 */ addiu $a0, $a0, 1 -/* 02A3BC 800297BC AC680000 */ sw $t0, ($v1) -/* 02A3C0 800297C0 AE030074 */ sw $v1, 0x74($s0) -/* 02A3C4 800297C4 8E290000 */ lw $t1, ($s1) -/* 02A3C8 800297C8 24630038 */ addiu $v1, $v1, 0x38 -/* 02A3CC 800297CC 0089082A */ slt $at, $a0, $t1 -/* 02A3D0 800297D0 5420FFF9 */ bnezl $at, .L800297B8_ovl0 -/* 02A3D4 800297D4 8E080074 */ lw $t0, 0x74($s0) -.L800297D8_ovl0: -/* 02A3D8 800297D8 AE00006C */ sw $zero, 0x6c($s0) -/* 02A3DC 800297DC AE000070 */ sw $zero, 0x70($s0) -/* 02A3E0 800297E0 8E270004 */ lw $a3, 4($s1) -/* 02A3E4 800297E4 AFAA0010 */ sw $t2, 0x10($sp) -/* 02A3E8 800297E8 8FA6002C */ lw $a2, 0x2c($sp) -/* 02A3EC 800297EC 0C0078F5 */ jal func_8001E3D4 -/* 02A3F0 800297F0 00002025 */ move $a0, $zero -/* 02A3F4 800297F4 26040050 */ addiu $a0, $s0, 0x50 -/* 02A3F8 800297F8 00402825 */ move $a1, $v0 -/* 02A3FC 800297FC 0C009898 */ jal func_80026260 -/* 02A400 80029800 8E260004 */ lw $a2, 4($s1) -/* 02A404 80029804 3C0B8003 */ lui $t3, %hi(D_8002901C) # $t3, 0x8003 -/* 02A408 80029808 256B901C */ addiu $t3, %lo(D_8002901C) # addiu $t3, $t3, -0x6fe4 -/* 02A40C 8002980C AE000000 */ sw $zero, ($s0) -/* 02A410 80029810 AE0B0008 */ sw $t3, 8($s0) -/* 02A414 80029814 AE100004 */ sw $s0, 4($s0) -/* 02A418 80029818 0C00AA44 */ jal func_8002A910 -/* 02A41C 8002981C 02002025 */ move $a0, $s0 -/* 02A420 80029820 8FBF0024 */ lw $ra, 0x24($sp) -/* 02A424 80029824 8FB0001C */ lw $s0, 0x1c($sp) -/* 02A428 80029828 8FB10020 */ lw $s1, 0x20($sp) -/* 02A42C 8002982C 03E00008 */ jr $ra -/* 02A430 80029830 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_80029834 -/* 02A434 80029834 03E00008 */ jr $ra -/* 02A438 80029838 00000000 */ nop - -glabel func_8002983C -/* 02A43C 8002983C 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 -/* 02A440 80029840 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) -/* 02A444 80029844 44842000 */ mtc1 $a0, $f4 -/* 02A448 80029848 3C018004 */ lui $at, %hi(D_800417A0) # $at, 0x8004 -/* 02A44C 8002984C 8DCF004C */ lw $t7, 0x4c($t6) -/* 02A450 80029850 468021A0 */ cvt.s.w $f6, $f4 -/* 02A454 80029854 C43217A0 */ lwc1 $f18, %lo(D_800417A0)($at) -/* 02A458 80029858 448F4000 */ mtc1 $t7, $f8 -/* 02A45C 8002985C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 02A460 80029860 468042A0 */ cvt.s.w $f10, $f8 -/* 02A464 80029864 44814000 */ mtc1 $at, $f8 -/* 02A468 80029868 2401FFF0 */ li $at, -16 -/* 02A46C 8002986C 460A3402 */ mul.s $f16, $f6, $f10 -/* 02A470 80029870 46128103 */ div.s $f4, $f16, $f18 -/* 02A474 80029874 46082000 */ add.s $f0, $f4, $f8 -/* 02A478 80029878 4600018D */ trunc.w.s $f6, $f0 -/* 02A47C 8002987C 44023000 */ mfc1 $v0, $f6 -/* 02A480 80029880 03E00008 */ jr $ra -/* 02A484 80029884 00411024 */ and $v0, $v0, $at - -glabel func_80029888 -/* 02A488 80029888 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02A48C 8002988C AFB10018 */ sw $s1, 0x18($sp) -/* 02A490 80029890 3C118004 */ lui $s1, %hi(D_8003FB14) # $s1, 0x8004 -/* 02A494 80029894 2631FB14 */ addiu $s1, %lo(D_8003FB14) # addiu $s1, $s1, -0x4ec -/* 02A498 80029898 8E2E0000 */ lw $t6, ($s1) -/* 02A49C 8002989C AFBF001C */ sw $ra, 0x1c($sp) -/* 02A4A0 800298A0 AFB00014 */ sw $s0, 0x14($sp) -/* 02A4A4 800298A4 8DD00020 */ lw $s0, 0x20($t6) -/* 02A4A8 800298A8 52000013 */ beql $s0, $zero, .L800298F8_ovl0 -/* 02A4AC 800298AC 8FBF001C */ lw $ra, 0x1c($sp) -.L800298B0_ovl0: -/* 02A4B0 800298B0 0C0097DD */ jal func_80025F74 -/* 02A4B4 800298B4 02002025 */ move $a0, $s0 -/* 02A4B8 800298B8 8E220000 */ lw $v0, ($s1) -/* 02A4BC 800298BC 02002025 */ move $a0, $s0 -/* 02A4C0 800298C0 8C4F0010 */ lw $t7, 0x10($v0) -/* 02A4C4 800298C4 24420010 */ addiu $v0, $v0, 0x10 -/* 02A4C8 800298C8 AE020004 */ sw $v0, 4($s0) -/* 02A4CC 800298CC AE0F0000 */ sw $t7, ($s0) -/* 02A4D0 800298D0 8C430000 */ lw $v1, ($v0) -/* 02A4D4 800298D4 50600003 */ beql $v1, $zero, .L800298E4_ovl0 -/* 02A4D8 800298D8 AC440000 */ sw $a0, ($v0) -/* 02A4DC 800298DC AC700004 */ sw $s0, 4($v1) -/* 02A4E0 800298E0 AC440000 */ sw $a0, ($v0) -.L800298E4_ovl0: -/* 02A4E4 800298E4 8E380000 */ lw $t8, ($s1) -/* 02A4E8 800298E8 8F100020 */ lw $s0, 0x20($t8) -/* 02A4EC 800298EC 1600FFF0 */ bnez $s0, .L800298B0_ovl0 -/* 02A4F0 800298F0 00000000 */ nop -/* 02A4F4 800298F4 8FBF001C */ lw $ra, 0x1c($sp) -.L800298F8_ovl0: -/* 02A4F8 800298F8 8FB00014 */ lw $s0, 0x14($sp) -/* 02A4FC 800298FC 8FB10018 */ lw $s1, 0x18($sp) -/* 02A500 80029900 03E00008 */ jr $ra -/* 02A504 80029904 27BD0020 */ addiu $sp, $sp, 0x20 - -glabel func_80029908 -/* 02A508 80029908 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 -/* 02A50C 8002990C 8C42FB14 */ lw $v0, %lo(D_8003FB14)($v0) -/* 02A510 80029910 00001825 */ move $v1, $zero -/* 02A514 80029914 8C440038 */ lw $a0, 0x38($v0) -/* 02A518 80029918 10800005 */ beqz $a0, .L80029930_ovl0 -/* 02A51C 8002991C 00000000 */ nop -/* 02A520 80029920 8C8E0000 */ lw $t6, ($a0) -/* 02A524 80029924 00801825 */ move $v1, $a0 -/* 02A528 80029928 AC4E0038 */ sw $t6, 0x38($v0) -/* 02A52C 8002992C AC800000 */ sw $zero, ($a0) -.L80029930_ovl0: -/* 02A530 80029930 03E00008 */ jr $ra -/* 02A534 80029934 00601025 */ move $v0, $v1 - -glabel func_80029938 -/* 02A538 80029938 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02A53C 8002993C AFBF0014 */ sw $ra, 0x14($sp) -/* 02A540 80029940 3C0E0200 */ lui $t6, (0x020004E0 >> 16) # lui $t6, 0x200 -/* 02A544 80029944 35CE04E0 */ ori $t6, (0x020004E0 & 0xFFFF) # ori $t6, $t6, 0x4e0 -/* 02A548 80029948 240F02E0 */ li $t7, 736 -/* 02A54C 8002994C ACAF0004 */ sw $t7, 4($a1) -/* 02A550 80029950 ACAE0000 */ sw $t6, ($a1) -/* 02A554 80029954 3C188004 */ lui $t8, %hi(D_8003FB14) # $t8, 0x8004 -/* 02A558 80029958 8F18FB14 */ lw $t8, %lo(D_8003FB14)($t8) -/* 02A55C 8002995C 24A50008 */ addiu $a1, $a1, 8 -/* 02A560 80029960 8F19003C */ lw $t9, 0x3c($t8) -/* 02A564 80029964 8F390004 */ lw $t9, 4($t9) -/* 02A568 80029968 0320F809 */ jalr $t9 -/* 02A56C 8002996C 00000000 */ nop -/* 02A570 80029970 3C030C00 */ lui $v1, (0x0C007FFF >> 16) # lui $v1, 0xc00 -/* 02A574 80029974 34637FFF */ ori $v1, (0x0C007FFF & 0xFFFF) # ori $v1, $v1, 0x7fff -/* 02A578 80029978 3C0807C0 */ lui $t0, (0x07C004E0 >> 16) # lui $t0, 0x7c0 -/* 02A57C 8002997C 3C090930 */ lui $t1, (0x09300650 >> 16) # lui $t1, 0x930 -/* 02A580 80029980 350804E0 */ ori $t0, (0x07C004E0 & 0xFFFF) # ori $t0, $t0, 0x4e0 -/* 02A584 80029984 35290650 */ ori $t1, (0x09300650 & 0xFFFF) # ori $t1, $t1, 0x650 -/* 02A588 80029988 AC480004 */ sw $t0, 4($v0) -/* 02A58C 8002998C AC430000 */ sw $v1, ($v0) -/* 02A590 80029990 AC49000C */ sw $t1, 0xc($v0) -/* 02A594 80029994 AC430008 */ sw $v1, 8($v0) -/* 02A598 80029998 8FBF0014 */ lw $ra, 0x14($sp) -/* 02A59C 8002999C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02A5A0 800299A0 24420010 */ addiu $v0, $v0, 0x10 -/* 02A5A4 800299A4 03E00008 */ jr $ra -/* 02A5A8 800299A8 00000000 */ nop - -glabel func_800299AC -/* 02A5AC 800299AC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02A5B0 800299B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 02A5B4 800299B4 0C00A64E */ jal func_80029938 -/* 02A5B8 800299B8 00000000 */ nop -/* 02A5BC 800299BC 3C0E0D00 */ lui $t6, 0xd00 -/* 02A5C0 800299C0 3C0F062E */ lui $t7, 0x62e -/* 02A5C4 800299C4 AC4F0008 */ sw $t7, 8($v0) -/* 02A5C8 800299C8 AC4E0000 */ sw $t6, ($v0) -/* 02A5CC 800299CC 3C188004 */ lui $t8, %hi(D_8003FB14) # $t8, 0x8004 -/* 02A5D0 800299D0 8F18FB14 */ lw $t8, %lo(D_8003FB14)($t8) -/* 02A5D4 800299D4 24420010 */ addiu $v0, $v0, 0x10 -/* 02A5D8 800299D8 8F190054 */ lw $t9, 0x54($t8) -/* 02A5DC 800299DC AC59FFFC */ sw $t9, -4($v0) -/* 02A5E0 800299E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 02A5E4 800299E4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02A5E8 800299E8 03E00008 */ jr $ra -/* 02A5EC 800299EC 00000000 */ nop - -glabel func_800299F0 -/* 02A5F0 800299F0 03E00008 */ jr $ra -/* 02A5F4 800299F4 00000000 */ nop - -glabel func_800299F8 -/* 02A5F8 800299F8 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 02A5FC 800299FC AFB30020 */ sw $s3, 0x20($sp) -/* 02A600 80029A00 3C138004 */ lui $s3, %hi(D_8003FB14) # $s3, 0x8004 -/* 02A604 80029A04 2673FB14 */ addiu $s3, %lo(D_8003FB14) # addiu $s3, $s3, -0x4ec -/* 02A608 80029A08 AFB00014 */ sw $s0, 0x14($sp) -/* 02A60C 80029A0C 8E700000 */ lw $s0, ($s3) -/* 02A610 80029A10 AFBF002C */ sw $ra, 0x2c($sp) -/* 02A614 80029A14 AFB50028 */ sw $s5, 0x28($sp) -/* 02A618 80029A18 AFB40024 */ sw $s4, 0x24($sp) -/* 02A61C 80029A1C AFB2001C */ sw $s2, 0x1c($sp) -/* 02A620 80029A20 AFB10018 */ sw $s1, 0x18($sp) -/* 02A624 80029A24 AFA40048 */ sw $a0, 0x48($sp) -/* 02A628 80029A28 AFA5004C */ sw $a1, 0x4c($sp) -/* 02A62C 80029A2C 8E0E0000 */ lw $t6, ($s0) -/* 02A630 80029A30 00E09025 */ move $s2, $a3 -/* 02A634 80029A34 0080A825 */ move $s5, $a0 -/* 02A638 80029A38 15C00004 */ bnez $t6, .L80029A4C_ovl0 -/* 02A63C 80029A3C 00C0A025 */ move $s4, $a2 -/* 02A640 80029A40 ACA00000 */ sw $zero, ($a1) -/* 02A644 80029A44 100000A9 */ b .L80029CEC_ovl0 -/* 02A648 80029A48 8FA20048 */ lw $v0, 0x48($sp) -.L80029A4C_ovl0: -/* 02A64C 80029A4C AFA00044 */ sw $zero, 0x44($sp) -/* 02A650 80029A50 8E03000C */ lw $v1, 0xc($s0) -/* 02A654 80029A54 3C057FFF */ lui $a1, (0x7FFFFFFF >> 16) # lui $a1, 0x7fff -/* 02A658 80029A58 34A5FFFF */ ori $a1, (0x7FFFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 02A65C 80029A5C 1060000A */ beqz $v1, .L80029A88_ovl0 -/* 02A660 80029A60 00A02025 */ move $a0, $a1 -/* 02A664 80029A64 8C780010 */ lw $t8, 0x10($v1) -/* 02A668 80029A68 8E19002C */ lw $t9, 0x2c($s0) -/* 02A66C 80029A6C 03191023 */ subu $v0, $t8, $t9 -/* 02A670 80029A70 0045082A */ slt $at, $v0, $a1 -/* 02A674 80029A74 50200005 */ beql $at, $zero, .L80029A8C_ovl0 -/* 02A678 80029A78 8E030004 */ lw $v1, 4($s0) -/* 02A67C 80029A7C AFA30044 */ sw $v1, 0x44($sp) -/* 02A680 80029A80 00402025 */ move $a0, $v0 -/* 02A684 80029A84 8E700000 */ lw $s0, ($s3) -.L80029A88_ovl0: -/* 02A688 80029A88 8E030004 */ lw $v1, 4($s0) -.L80029A8C_ovl0: -/* 02A68C 80029A8C 5060000B */ beql $v1, $zero, .L80029ABC_ovl0 -/* 02A690 80029A90 8E020008 */ lw $v0, 8($s0) -/* 02A694 80029A94 8C680010 */ lw $t0, 0x10($v1) -/* 02A698 80029A98 8E09002C */ lw $t1, 0x2c($s0) -/* 02A69C 80029A9C 01091023 */ subu $v0, $t0, $t1 -/* 02A6A0 80029AA0 0044082A */ slt $at, $v0, $a0 -/* 02A6A4 80029AA4 50200005 */ beql $at, $zero, .L80029ABC_ovl0 -/* 02A6A8 80029AA8 8E020008 */ lw $v0, 8($s0) -/* 02A6AC 80029AAC AFA30044 */ sw $v1, 0x44($sp) -/* 02A6B0 80029AB0 00402025 */ move $a0, $v0 -/* 02A6B4 80029AB4 8E700000 */ lw $s0, ($s3) -/* 02A6B8 80029AB8 8E020008 */ lw $v0, 8($s0) -.L80029ABC_ovl0: -/* 02A6BC 80029ABC 5040000A */ beql $v0, $zero, .L80029AE8_ovl0 -/* 02A6C0 80029AC0 8FAD0044 */ lw $t5, 0x44($sp) -/* 02A6C4 80029AC4 8C4A0010 */ lw $t2, 0x10($v0) -/* 02A6C8 80029AC8 8E0B002C */ lw $t3, 0x2c($s0) -/* 02A6CC 80029ACC 014B6023 */ subu $t4, $t2, $t3 -/* 02A6D0 80029AD0 0184082A */ slt $at, $t4, $a0 -/* 02A6D4 80029AD4 50200004 */ beql $at, $zero, .L80029AE8_ovl0 -/* 02A6D8 80029AD8 8FAD0044 */ lw $t5, 0x44($sp) -/* 02A6DC 80029ADC AFA20044 */ sw $v0, 0x44($sp) -/* 02A6E0 80029AE0 8E700000 */ lw $s0, ($s3) -/* 02A6E4 80029AE4 8FAD0044 */ lw $t5, 0x44($sp) -.L80029AE8_ovl0: -/* 02A6E8 80029AE8 8DA20010 */ lw $v0, 0x10($t5) -/* 02A6EC 80029AEC AE020028 */ sw $v0, 0x28($s0) -/* 02A6F0 80029AF0 8E700000 */ lw $s0, ($s3) -/* 02A6F4 80029AF4 8E030028 */ lw $v1, 0x28($s0) -/* 02A6F8 80029AF8 8E0E002C */ lw $t6, 0x2c($s0) -/* 02A6FC 80029AFC 006E7823 */ subu $t7, $v1, $t6 -/* 02A700 80029B00 01F2082A */ slt $at, $t7, $s2 -/* 02A704 80029B04 1020004D */ beqz $at, .L80029C3C_ovl0 -/* 02A708 80029B08 2401FFF0 */ li $at, -16 -.L80029B0C_ovl0: -/* 02A70C 80029B0C 0061C024 */ and $t8, $v1, $at -/* 02A710 80029B10 AE180028 */ sw $t8, 0x28($s0) -/* 02A714 80029B14 8FA40044 */ lw $a0, 0x44($sp) -/* 02A718 80029B18 00A08825 */ move $s1, $a1 -/* 02A71C 80029B1C 8C990008 */ lw $t9, 8($a0) -/* 02A720 80029B20 0320F809 */ jalr $t9 -/* 02A724 80029B24 00000000 */ nop -/* 02A728 80029B28 8E680000 */ lw $t0, ($s3) -/* 02A72C 80029B2C 44822000 */ mtc1 $v0, $f4 -/* 02A730 80029B30 3C018004 */ lui $at, %hi(D_800417A4) # $at, 0x8004 -/* 02A734 80029B34 8D09004C */ lw $t1, 0x4c($t0) -/* 02A738 80029B38 468021A0 */ cvt.s.w $f6, $f4 -/* 02A73C 80029B3C C43217A4 */ lwc1 $f18, %lo(D_800417A4)($at) -/* 02A740 80029B40 44894000 */ mtc1 $t1, $f8 -/* 02A744 80029B44 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 02A748 80029B48 8FAB0044 */ lw $t3, 0x44($sp) -/* 02A74C 80029B4C 468042A0 */ cvt.s.w $f10, $f8 -/* 02A750 80029B50 44814000 */ mtc1 $at, $f8 -/* 02A754 80029B54 8D6C0010 */ lw $t4, 0x10($t3) -/* 02A758 80029B58 3C057FFF */ lui $a1, (0x7FFFFFFF >> 16) # lui $a1, 0x7fff -/* 02A75C 80029B5C 34A5FFFF */ ori $a1, (0x7FFFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 02A760 80029B60 460A3402 */ mul.s $f16, $f6, $f10 -/* 02A764 80029B64 46128103 */ div.s $f4, $f16, $f18 -/* 02A768 80029B68 46082000 */ add.s $f0, $f4, $f8 -/* 02A76C 80029B6C 4600018D */ trunc.w.s $f6, $f0 -/* 02A770 80029B70 44023000 */ mfc1 $v0, $f6 -/* 02A774 80029B74 00000000 */ nop -/* 02A778 80029B78 01826821 */ addu $t5, $t4, $v0 -/* 02A77C 80029B7C AD6D0010 */ sw $t5, 0x10($t3) -/* 02A780 80029B80 8E700000 */ lw $s0, ($s3) -/* 02A784 80029B84 AFA00044 */ sw $zero, 0x44($sp) -/* 02A788 80029B88 8E03000C */ lw $v1, 0xc($s0) -/* 02A78C 80029B8C 5060000B */ beql $v1, $zero, .L80029BBC_ovl0 -/* 02A790 80029B90 8E030004 */ lw $v1, 4($s0) -/* 02A794 80029B94 8C6E0010 */ lw $t6, 0x10($v1) -/* 02A798 80029B98 8E0F002C */ lw $t7, 0x2c($s0) -/* 02A79C 80029B9C 01CF1023 */ subu $v0, $t6, $t7 -/* 02A7A0 80029BA0 0045082A */ slt $at, $v0, $a1 -/* 02A7A4 80029BA4 50200005 */ beql $at, $zero, .L80029BBC_ovl0 -/* 02A7A8 80029BA8 8E030004 */ lw $v1, 4($s0) -/* 02A7AC 80029BAC AFA30044 */ sw $v1, 0x44($sp) -/* 02A7B0 80029BB0 00408825 */ move $s1, $v0 -/* 02A7B4 80029BB4 8E700000 */ lw $s0, ($s3) -/* 02A7B8 80029BB8 8E030004 */ lw $v1, 4($s0) -.L80029BBC_ovl0: -/* 02A7BC 80029BBC 5060000B */ beql $v1, $zero, .L80029BEC_ovl0 -/* 02A7C0 80029BC0 8E020008 */ lw $v0, 8($s0) -/* 02A7C4 80029BC4 8C780010 */ lw $t8, 0x10($v1) -/* 02A7C8 80029BC8 8E19002C */ lw $t9, 0x2c($s0) -/* 02A7CC 80029BCC 03191023 */ subu $v0, $t8, $t9 -/* 02A7D0 80029BD0 0051082A */ slt $at, $v0, $s1 -/* 02A7D4 80029BD4 50200005 */ beql $at, $zero, .L80029BEC_ovl0 -/* 02A7D8 80029BD8 8E020008 */ lw $v0, 8($s0) -/* 02A7DC 80029BDC AFA30044 */ sw $v1, 0x44($sp) -/* 02A7E0 80029BE0 00408825 */ move $s1, $v0 -/* 02A7E4 80029BE4 8E700000 */ lw $s0, ($s3) -/* 02A7E8 80029BE8 8E020008 */ lw $v0, 8($s0) -.L80029BEC_ovl0: -/* 02A7EC 80029BEC 5040000A */ beql $v0, $zero, .L80029C18_ovl0 -/* 02A7F0 80029BF0 8FAC0044 */ lw $t4, 0x44($sp) -/* 02A7F4 80029BF4 8C480010 */ lw $t0, 0x10($v0) -/* 02A7F8 80029BF8 8E09002C */ lw $t1, 0x2c($s0) -/* 02A7FC 80029BFC 01095023 */ subu $t2, $t0, $t1 -/* 02A800 80029C00 0151082A */ slt $at, $t2, $s1 -/* 02A804 80029C04 50200004 */ beql $at, $zero, .L80029C18_ovl0 -/* 02A808 80029C08 8FAC0044 */ lw $t4, 0x44($sp) -/* 02A80C 80029C0C AFA20044 */ sw $v0, 0x44($sp) -/* 02A810 80029C10 8E700000 */ lw $s0, ($s3) -/* 02A814 80029C14 8FAC0044 */ lw $t4, 0x44($sp) -.L80029C18_ovl0: -/* 02A818 80029C18 8D820010 */ lw $v0, 0x10($t4) -/* 02A81C 80029C1C AE020028 */ sw $v0, 0x28($s0) -/* 02A820 80029C20 8E700000 */ lw $s0, ($s3) -/* 02A824 80029C24 8E030028 */ lw $v1, 0x28($s0) -/* 02A828 80029C28 8E0D002C */ lw $t5, 0x2c($s0) -/* 02A82C 80029C2C 006D5823 */ subu $t3, $v1, $t5 -/* 02A830 80029C30 0172082A */ slt $at, $t3, $s2 -/* 02A834 80029C34 5420FFB5 */ bnezl $at, .L80029B0C_ovl0 -/* 02A838 80029C38 2401FFF0 */ li $at, -16 -.L80029C3C_ovl0: -/* 02A83C 80029C3C 2401FFF0 */ li $at, -16 -/* 02A840 80029C40 00617024 */ and $t6, $v1, $at -/* 02A844 80029C44 1A400022 */ blez $s2, .L80029CD0_ovl0 -/* 02A848 80029C48 AE0E0028 */ sw $t6, 0x28($s0) -/* 02A84C 80029C4C 3C117FFF */ lui $s1, (0x7FFFFF47 >> 16) # lui $s1, 0x7fff -/* 02A850 80029C50 3631FF47 */ ori $s1, (0x7FFFFF47 & 0xFFFF) # ori $s1, $s1, 0xff47 -/* 02A854 80029C54 8E700000 */ lw $s0, ($s3) -.L80029C58_ovl0: -/* 02A858 80029C58 02401825 */ move $v1, $s2 -/* 02A85C 80029C5C 8E020050 */ lw $v0, 0x50($s0) -/* 02A860 80029C60 0052082A */ slt $at, $v0, $s2 -/* 02A864 80029C64 10200003 */ beqz $at, .L80029C74_ovl0 -/* 02A868 80029C68 00000000 */ nop -/* 02A86C 80029C6C 10000001 */ b .L80029C74_ovl0 -/* 02A870 80029C70 00401825 */ move $v1, $v0 -.L80029C74_ovl0: -/* 02A874 80029C74 AE140054 */ sw $s4, 0x54($s0) -/* 02A878 80029C78 8E6F0000 */ lw $t7, ($s3) -/* 02A87C 80029C7C 02A02825 */ move $a1, $s5 -/* 02A880 80029C80 8DE4002C */ lw $a0, 0x2c($t7) -/* 02A884 80029C84 0C00A66B */ jal func_800299AC -/* 02A888 80029C88 AFA30034 */ sw $v1, 0x34($sp) -/* 02A88C 80029C8C 8E700000 */ lw $s0, ($s3) -/* 02A890 80029C90 8FA30034 */ lw $v1, 0x34($sp) -/* 02A894 80029C94 0040A825 */ move $s5, $v0 -/* 02A898 80029C98 8E04002C */ lw $a0, 0x2c($s0) -/* 02A89C 80029C9C 0003C880 */ sll $t9, $v1, 2 -/* 02A8A0 80029CA0 0299A021 */ addu $s4, $s4, $t9 -/* 02A8A4 80029CA4 0091082A */ slt $at, $a0, $s1 -/* 02A8A8 80029CA8 10200004 */ beqz $at, .L80029CBC_ovl0 -/* 02A8AC 80029CAC 02439023 */ subu $s2, $s2, $v1 -/* 02A8B0 80029CB0 00834021 */ addu $t0, $a0, $v1 -/* 02A8B4 80029CB4 10000004 */ b .L80029CC8_ovl0 -/* 02A8B8 80029CB8 AE08002C */ sw $t0, 0x2c($s0) -.L80029CBC_ovl0: -/* 02A8BC 80029CBC 3C098000 */ lui $t1, (0x80000090 >> 16) # lui $t1, 0x8000 -/* 02A8C0 80029CC0 35290090 */ ori $t1, (0x80000090 & 0xFFFF) # ori $t1, $t1, 0x90 -/* 02A8C4 80029CC4 AE09002C */ sw $t1, 0x2c($s0) -.L80029CC8_ovl0: -/* 02A8C8 80029CC8 5E40FFE3 */ bgtzl $s2, .L80029C58_ovl0 -/* 02A8CC 80029CCC 8E700000 */ lw $s0, ($s3) -.L80029CD0_ovl0: -/* 02A8D0 80029CD0 8FAA0048 */ lw $t2, 0x48($sp) -/* 02A8D4 80029CD4 8FAB004C */ lw $t3, 0x4c($sp) -/* 02A8D8 80029CD8 02AA6023 */ subu $t4, $s5, $t2 -/* 02A8DC 80029CDC 000C68C3 */ sra $t5, $t4, 3 -/* 02A8E0 80029CE0 0C00A622 */ jal func_80029888 -/* 02A8E4 80029CE4 AD6D0000 */ sw $t5, ($t3) -/* 02A8E8 80029CE8 02A01025 */ move $v0, $s5 -.L80029CEC_ovl0: -/* 02A8EC 80029CEC 8FBF002C */ lw $ra, 0x2c($sp) -/* 02A8F0 80029CF0 8FB00014 */ lw $s0, 0x14($sp) -/* 02A8F4 80029CF4 8FB10018 */ lw $s1, 0x18($sp) -/* 02A8F8 80029CF8 8FB2001C */ lw $s2, 0x1c($sp) -/* 02A8FC 80029CFC 8FB30020 */ lw $s3, 0x20($sp) -/* 02A900 80029D00 8FB40024 */ lw $s4, 0x24($sp) -/* 02A904 80029D04 8FB50028 */ lw $s5, 0x28($sp) -/* 02A908 80029D08 03E00008 */ jr $ra -/* 02A90C 80029D0C 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel func_80029D10 -/* 02A910 80029D10 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02A914 80029D14 AFB00020 */ sw $s0, 0x20($sp) -/* 02A918 80029D18 00808025 */ move $s0, $a0 -/* 02A91C 80029D1C AFBF0024 */ sw $ra, 0x24($sp) -/* 02A920 80029D20 AFA5002C */ sw $a1, 0x2c($sp) -/* 02A924 80029D24 240E0020 */ li $t6, 32 -/* 02A928 80029D28 AFA60030 */ sw $a2, 0x30($sp) -/* 02A92C 80029D2C AFAE0010 */ sw $t6, 0x10($sp) -/* 02A930 80029D30 00002825 */ move $a1, $zero -/* 02A934 80029D34 00002025 */ move $a0, $zero -/* 02A938 80029D38 0C0078F5 */ jal func_8001E3D4 -/* 02A93C 80029D3C 24070001 */ li $a3, 1 -/* 02A940 80029D40 AE02000C */ sw $v0, 0xc($s0) -/* 02A944 80029D44 240F0020 */ li $t7, 32 -/* 02A948 80029D48 AFAF0010 */ sw $t7, 0x10($sp) -/* 02A94C 80029D4C 8FA60030 */ lw $a2, 0x30($sp) -/* 02A950 80029D50 00002025 */ move $a0, $zero -/* 02A954 80029D54 00002825 */ move $a1, $zero -/* 02A958 80029D58 0C0078F5 */ jal func_8001E3D4 -/* 02A95C 80029D5C 24070001 */ li $a3, 1 -/* 02A960 80029D60 AE020010 */ sw $v0, 0x10($s0) -/* 02A964 80029D64 8FB9002C */ lw $t9, 0x2c($sp) -/* 02A968 80029D68 2604002C */ addiu $a0, $s0, 0x2c -/* 02A96C 80029D6C 0320F809 */ jalr $t9 -/* 02A970 80029D70 00000000 */ nop -/* 02A974 80029D74 24070001 */ li $a3, 1 -/* 02A978 80029D78 AE020028 */ sw $v0, 0x28($s0) -/* 02A97C 80029D7C AE000034 */ sw $zero, 0x34($s0) -/* 02A980 80029D80 AE070038 */ sw $a3, 0x38($s0) -/* 02A984 80029D84 AE00003C */ sw $zero, 0x3c($s0) -/* 02A988 80029D88 24180020 */ li $t8, 32 -/* 02A98C 80029D8C AFB80010 */ sw $t8, 0x10($sp) -/* 02A990 80029D90 8FA60030 */ lw $a2, 0x30($sp) -/* 02A994 80029D94 00002025 */ move $a0, $zero -/* 02A998 80029D98 0C0078F5 */ jal func_8001E3D4 -/* 02A99C 80029D9C 00002825 */ move $a1, $zero -/* 02A9A0 80029DA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02A9A4 80029DA4 44802000 */ mtc1 $zero, $f4 -/* 02A9A8 80029DA8 44813000 */ mtc1 $at, $f6 -/* 02A9AC 80029DAC 24070001 */ li $a3, 1 -/* 02A9B0 80029DB0 AE020040 */ sw $v0, 0x40($s0) -/* 02A9B4 80029DB4 AE070050 */ sw $a3, 0x50($s0) -/* 02A9B8 80029DB8 AE000048 */ sw $zero, 0x48($s0) -/* 02A9BC 80029DBC 24080050 */ li $t0, 80 -/* 02A9C0 80029DC0 E604004C */ swc1 $f4, 0x4c($s0) -/* 02A9C4 80029DC4 E6060044 */ swc1 $f6, 0x44($s0) -/* 02A9C8 80029DC8 AFA80010 */ sw $t0, 0x10($sp) -/* 02A9CC 80029DCC 8FA60030 */ lw $a2, 0x30($sp) -/* 02A9D0 80029DD0 00002025 */ move $a0, $zero -/* 02A9D4 80029DD4 0C0078F5 */ jal func_8001E3D4 -/* 02A9D8 80029DD8 00002825 */ move $a1, $zero -/* 02A9DC 80029DDC 24030001 */ li $v1, 1 -/* 02A9E0 80029DE0 AE020054 */ sw $v0, 0x54($s0) -/* 02A9E4 80029DE4 AE030078 */ sw $v1, 0x78($s0) -/* 02A9E8 80029DE8 AE000084 */ sw $zero, 0x84($s0) -/* 02A9EC 80029DEC A603005A */ sh $v1, 0x5a($s0) -/* 02A9F0 80029DF0 A6030068 */ sh $v1, 0x68($s0) -/* 02A9F4 80029DF4 A603006E */ sh $v1, 0x6e($s0) -/* 02A9F8 80029DF8 A603005C */ sh $v1, 0x5c($s0) -/* 02A9FC 80029DFC A603005E */ sh $v1, 0x5e($s0) -/* 02AA00 80029E00 A6000060 */ sh $zero, 0x60($s0) -/* 02AA04 80029E04 A6000062 */ sh $zero, 0x62($s0) -/* 02AA08 80029E08 A6030066 */ sh $v1, 0x66($s0) -/* 02AA0C 80029E0C A6000064 */ sh $zero, 0x64($s0) -/* 02AA10 80029E10 AE000070 */ sw $zero, 0x70($s0) -/* 02AA14 80029E14 AE000074 */ sw $zero, 0x74($s0) -/* 02AA18 80029E18 A6000058 */ sh $zero, 0x58($s0) -/* 02AA1C 80029E1C AE00007C */ sw $zero, 0x7c($s0) -/* 02AA20 80029E20 AE000080 */ sw $zero, 0x80($s0) -/* 02AA24 80029E24 8FBF0024 */ lw $ra, 0x24($sp) -/* 02AA28 80029E28 8FB00020 */ lw $s0, 0x20($sp) -/* 02AA2C 80029E2C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 02AA30 80029E30 03E00008 */ jr $ra -/* 02AA34 80029E34 00000000 */ nop - -glabel func_80029E38 -/* 02AA38 80029E38 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 02AA3C 80029E3C AFB20024 */ sw $s2, 0x24($sp) -/* 02AA40 80029E40 3C128004 */ lui $s2, %hi(D_8003FB14) # $s2, 0x8004 -/* 02AA44 80029E44 2652FB14 */ addiu $s2, %lo(D_8003FB14) # addiu $s2, $s2, -0x4ec -/* 02AA48 80029E48 8E4E0000 */ lw $t6, ($s2) -/* 02AA4C 80029E4C AFBF0034 */ sw $ra, 0x34($sp) -/* 02AA50 80029E50 AFB50030 */ sw $s5, 0x30($sp) -/* 02AA54 80029E54 AFB4002C */ sw $s4, 0x2c($sp) -/* 02AA58 80029E58 AFB30028 */ sw $s3, 0x28($sp) -/* 02AA5C 80029E5C AFB10020 */ sw $s1, 0x20($sp) -/* 02AA60 80029E60 AFB0001C */ sw $s0, 0x1c($sp) -/* 02AA64 80029E64 8C950014 */ lw $s5, 0x14($a0) -/* 02AA68 80029E68 ADC00000 */ sw $zero, ($t6) -/* 02AA6C 80029E6C 8E4F0000 */ lw $t7, ($s2) -/* 02AA70 80029E70 240E00B8 */ li $t6, 184 -/* 02AA74 80029E74 0080A025 */ move $s4, $a0 -/* 02AA78 80029E78 ADE00004 */ sw $zero, 4($t7) -/* 02AA7C 80029E7C 8E580000 */ lw $t8, ($s2) -/* 02AA80 80029E80 00002825 */ move $a1, $zero -/* 02AA84 80029E84 24070001 */ li $a3, 1 -/* 02AA88 80029E88 AF000008 */ sw $zero, 8($t8) -/* 02AA8C 80029E8C 8E590000 */ lw $t9, ($s2) -/* 02AA90 80029E90 02A03025 */ move $a2, $s5 -/* 02AA94 80029E94 AF20000C */ sw $zero, 0xc($t9) -/* 02AA98 80029E98 8E490000 */ lw $t1, ($s2) -/* 02AA9C 80029E9C 8C880004 */ lw $t0, 4($a0) -/* 02AAA0 80029EA0 AD280044 */ sw $t0, 0x44($t1) -/* 02AAA4 80029EA4 8E4A0000 */ lw $t2, ($s2) -/* 02AAA8 80029EA8 24090001 */ li $t1, 1 -/* 02AAAC 80029EAC AD40002C */ sw $zero, 0x2c($t2) -/* 02AAB0 80029EB0 8E4B0000 */ lw $t3, ($s2) -/* 02AAB4 80029EB4 AD600028 */ sw $zero, 0x28($t3) -/* 02AAB8 80029EB8 8E4D0000 */ lw $t5, ($s2) -/* 02AABC 80029EBC 8C8C0018 */ lw $t4, 0x18($a0) -/* 02AAC0 80029EC0 240B0044 */ li $t3, 68 -/* 02AAC4 80029EC4 ADAC004C */ sw $t4, 0x4c($t5) -/* 02AAC8 80029EC8 8E4F0000 */ lw $t7, ($s2) -/* 02AACC 80029ECC ADEE0050 */ sw $t6, 0x50($t7) -/* 02AAD0 80029ED0 8E590000 */ lw $t9, ($s2) -/* 02AAD4 80029ED4 8C980010 */ lw $t8, 0x10($a0) -/* 02AAD8 80029ED8 00002025 */ move $a0, $zero -/* 02AADC 80029EDC AF380030 */ sw $t8, 0x30($t9) -/* 02AAE0 80029EE0 8E480000 */ lw $t0, ($s2) -/* 02AAE4 80029EE4 AD000054 */ sw $zero, 0x54($t0) -/* 02AAE8 80029EE8 8E4A0000 */ lw $t2, ($s2) -/* 02AAEC 80029EEC AD490058 */ sw $t1, 0x58($t2) -/* 02AAF0 80029EF0 0C0078F5 */ jal func_8001E3D4 -/* 02AAF4 80029EF4 AFAB0010 */ sw $t3, 0x10($sp) -/* 02AAF8 80029EF8 8E4C0000 */ lw $t4, ($s2) -/* 02AAFC 80029EFC 24080004 */ li $t0, 4 -/* 02AB00 80029F00 00002025 */ move $a0, $zero -/* 02AB04 80029F04 AD820040 */ sw $v0, 0x40($t4) -/* 02AB08 80029F08 8E4D0000 */ lw $t5, ($s2) -/* 02AB0C 80029F0C 00002825 */ move $a1, $zero -/* 02AB10 80029F10 02A03025 */ move $a2, $s5 -/* 02AB14 80029F14 8DAE0040 */ lw $t6, 0x40($t5) -/* 02AB18 80029F18 ADC00014 */ sw $zero, 0x14($t6) -/* 02AB1C 80029F1C 8E580000 */ lw $t8, ($s2) -/* 02AB20 80029F20 8E8F0004 */ lw $t7, 4($s4) -/* 02AB24 80029F24 8F190040 */ lw $t9, 0x40($t8) -/* 02AB28 80029F28 AF2F0018 */ sw $t7, 0x18($t9) -/* 02AB2C 80029F2C 8E870004 */ lw $a3, 4($s4) -/* 02AB30 80029F30 0C0078F5 */ jal func_8001E3D4 -/* 02AB34 80029F34 AFA80010 */ sw $t0, 0x10($sp) -/* 02AB38 80029F38 8E490000 */ lw $t1, ($s2) -/* 02AB3C 80029F3C 240B0014 */ li $t3, 20 -/* 02AB40 80029F40 00002025 */ move $a0, $zero -/* 02AB44 80029F44 8D2A0040 */ lw $t2, 0x40($t1) -/* 02AB48 80029F48 00002825 */ move $a1, $zero -/* 02AB4C 80029F4C 02A03025 */ move $a2, $s5 -/* 02AB50 80029F50 AD42001C */ sw $v0, 0x1c($t2) -/* 02AB54 80029F54 AFAB0010 */ sw $t3, 0x10($sp) -/* 02AB58 80029F58 0C0078F5 */ jal func_8001E3D4 -/* 02AB5C 80029F5C 24070001 */ li $a3, 1 -/* 02AB60 80029F60 8E4C0000 */ lw $t4, ($s2) -/* 02AB64 80029F64 00002025 */ move $a0, $zero -/* 02AB68 80029F68 02802825 */ move $a1, $s4 -/* 02AB6C 80029F6C AD82003C */ sw $v0, 0x3c($t4) -/* 02AB70 80029F70 928D001C */ lbu $t5, 0x1c($s4) -/* 02AB74 80029F74 51A0000D */ beql $t5, $zero, .L80029FAC_ovl0 -/* 02AB78 80029F78 8E4A0000 */ lw $t2, ($s2) -/* 02AB7C 80029F7C 0C00B448 */ jal func_8002D120 -/* 02AB80 80029F80 02A03025 */ move $a2, $s5 -/* 02AB84 80029F84 8E4E0000 */ lw $t6, ($s2) -/* 02AB88 80029F88 3C0F8003 */ lui $t7, %hi(D_80028318) # $t7, 0x8003 -/* 02AB8C 80029F8C 25EF8318 */ addiu $t7, %lo(D_80028318) # addiu $t7, $t7, -0x7ce8 -/* 02AB90 80029F90 8DD80040 */ lw $t8, 0x40($t6) -/* 02AB94 80029F94 AF020020 */ sw $v0, 0x20($t8) -/* 02AB98 80029F98 8E590000 */ lw $t9, ($s2) -/* 02AB9C 80029F9C 8F28003C */ lw $t0, 0x3c($t9) -/* 02ABA0 80029FA0 10000006 */ b .L80029FBC_ovl0 -/* 02ABA4 80029FA4 AD0F0004 */ sw $t7, 4($t0) -/* 02ABA8 80029FA8 8E4A0000 */ lw $t2, ($s2) -.L80029FAC_ovl0: -/* 02ABAC 80029FAC 3C098002 */ lui $t1, %hi(func_80027CB4) # $t1, 0x8002 -/* 02ABB0 80029FB0 25297CB4 */ addiu $t1, %lo(func_80027CB4) # addiu $t1, $t1, 0x7cb4 -/* 02ABB4 80029FB4 8D4B003C */ lw $t3, 0x3c($t2) -/* 02ABB8 80029FB8 AD690004 */ sw $t1, 4($t3) -.L80029FBC_ovl0: -/* 02ABBC 80029FBC 8E4C0000 */ lw $t4, ($s2) -/* 02ABC0 80029FC0 2408008C */ li $t0, 140 -/* 02ABC4 80029FC4 00002025 */ move $a0, $zero -/* 02ABC8 80029FC8 AD800010 */ sw $zero, 0x10($t4) -/* 02ABCC 80029FCC 8E4D0000 */ lw $t5, ($s2) -/* 02ABD0 80029FD0 00002825 */ move $a1, $zero -/* 02ABD4 80029FD4 02A03025 */ move $a2, $s5 -/* 02ABD8 80029FD8 ADA00014 */ sw $zero, 0x14($t5) -/* 02ABDC 80029FDC 8E4E0000 */ lw $t6, ($s2) -/* 02ABE0 80029FE0 ADC00020 */ sw $zero, 0x20($t6) -/* 02ABE4 80029FE4 8E580000 */ lw $t8, ($s2) -/* 02ABE8 80029FE8 AF000024 */ sw $zero, 0x24($t8) -/* 02ABEC 80029FEC 8E590000 */ lw $t9, ($s2) -/* 02ABF0 80029FF0 AF200018 */ sw $zero, 0x18($t9) -/* 02ABF4 80029FF4 8E4F0000 */ lw $t7, ($s2) -/* 02ABF8 80029FF8 ADE0001C */ sw $zero, 0x1c($t7) -/* 02ABFC 80029FFC 8E870004 */ lw $a3, 4($s4) -/* 02AC00 8002A000 0C0078F5 */ jal func_8001E3D4 -/* 02AC04 8002A004 AFA80010 */ sw $t0, 0x10($sp) -/* 02AC08 8002A008 8E8A0004 */ lw $t2, 4($s4) -/* 02AC0C 8002A00C 00008825 */ move $s1, $zero -/* 02AC10 8002A010 00408025 */ move $s0, $v0 -/* 02AC14 8002A014 59400026 */ blezl $t2, .L8002A0B0_ovl0 -/* 02AC18 8002A018 8E870008 */ lw $a3, 8($s4) -/* 02AC1C 8002A01C 8E420000 */ lw $v0, ($s2) -.L8002A020_ovl0: -/* 02AC20 8002A020 02009825 */ move $s3, $s0 -/* 02AC24 8002A024 02002025 */ move $a0, $s0 -/* 02AC28 8002A028 8C490010 */ lw $t1, 0x10($v0) -/* 02AC2C 8002A02C 24420010 */ addiu $v0, $v0, 0x10 -/* 02AC30 8002A030 AE020004 */ sw $v0, 4($s0) -/* 02AC34 8002A034 AE090000 */ sw $t1, ($s0) -/* 02AC38 8002A038 8C430000 */ lw $v1, ($v0) -/* 02AC3C 8002A03C 50600003 */ beql $v1, $zero, .L8002A04C_ovl0 -/* 02AC40 8002A040 AC500000 */ sw $s0, ($v0) -/* 02AC44 8002A044 AC700004 */ sw $s0, 4($v1) -/* 02AC48 8002A048 AC500000 */ sw $s0, ($v0) -.L8002A04C_ovl0: -/* 02AC4C 8002A04C AE000008 */ sw $zero, 8($s0) -/* 02AC50 8002A050 8E4B0000 */ lw $t3, ($s2) -/* 02AC54 8002A054 02A03025 */ move $a2, $s5 -/* 02AC58 8002A058 0C00A744 */ jal func_80029D10 -/* 02AC5C 8002A05C 8D650030 */ lw $a1, 0x30($t3) -/* 02AC60 8002A060 8E4C0000 */ lw $t4, ($s2) -/* 02AC64 8002A064 26310001 */ addiu $s1, $s1, 1 -/* 02AC68 8002A068 2610008C */ addiu $s0, $s0, 0x8c -/* 02AC6C 8002A06C 8D820040 */ lw $v0, 0x40($t4) -/* 02AC70 8002A070 8C4E0014 */ lw $t6, 0x14($v0) -/* 02AC74 8002A074 8C4D001C */ lw $t5, 0x1c($v0) -/* 02AC78 8002A078 000EC080 */ sll $t8, $t6, 2 -/* 02AC7C 8002A07C 01B8C821 */ addu $t9, $t5, $t8 -/* 02AC80 8002A080 AF330000 */ sw $s3, ($t9) -/* 02AC84 8002A084 8E4F0000 */ lw $t7, ($s2) -/* 02AC88 8002A088 8DE20040 */ lw $v0, 0x40($t7) -/* 02AC8C 8002A08C 8C480014 */ lw $t0, 0x14($v0) -/* 02AC90 8002A090 250A0001 */ addiu $t2, $t0, 1 -/* 02AC94 8002A094 AC4A0014 */ sw $t2, 0x14($v0) -/* 02AC98 8002A098 8E890004 */ lw $t1, 4($s4) -/* 02AC9C 8002A09C 0229082A */ slt $at, $s1, $t1 -/* 02ACA0 8002A0A0 5420FFDF */ bnezl $at, .L8002A020_ovl0 -/* 02ACA4 8002A0A4 8E420000 */ lw $v0, ($s2) -/* 02ACA8 8002A0A8 00008825 */ move $s1, $zero -/* 02ACAC 8002A0AC 8E870008 */ lw $a3, 8($s4) -.L8002A0B0_ovl0: -/* 02ACB0 8002A0B0 240B0020 */ li $t3, 32 -/* 02ACB4 8002A0B4 AFAB0010 */ sw $t3, 0x10($sp) -/* 02ACB8 8002A0B8 00002025 */ move $a0, $zero -/* 02ACBC 8002A0BC 00002825 */ move $a1, $zero -/* 02ACC0 8002A0C0 0C0078F5 */ jal func_8001E3D4 -/* 02ACC4 8002A0C4 02A03025 */ move $a2, $s5 -/* 02ACC8 8002A0C8 8E4C0000 */ lw $t4, ($s2) -/* 02ACCC 8002A0CC 00401825 */ move $v1, $v0 -/* 02ACD0 8002A0D0 AD800038 */ sw $zero, 0x38($t4) -/* 02ACD4 8002A0D4 8E8E0008 */ lw $t6, 8($s4) -/* 02ACD8 8002A0D8 59C0000D */ blezl $t6, .L8002A110_ovl0 -/* 02ACDC 8002A0DC 8E480000 */ lw $t0, ($s2) -/* 02ACE0 8002A0E0 8E4D0000 */ lw $t5, ($s2) -.L8002A0E4_ovl0: -/* 02ACE4 8002A0E4 26310001 */ addiu $s1, $s1, 1 -/* 02ACE8 8002A0E8 8DB80038 */ lw $t8, 0x38($t5) -/* 02ACEC 8002A0EC AC780000 */ sw $t8, ($v1) -/* 02ACF0 8002A0F0 8E590000 */ lw $t9, ($s2) -/* 02ACF4 8002A0F4 AF230038 */ sw $v1, 0x38($t9) -/* 02ACF8 8002A0F8 8E8F0008 */ lw $t7, 8($s4) -/* 02ACFC 8002A0FC 24630020 */ addiu $v1, $v1, 0x20 -/* 02AD00 8002A100 022F082A */ slt $at, $s1, $t7 -/* 02AD04 8002A104 5420FFF7 */ bnezl $at, .L8002A0E4_ovl0 -/* 02AD08 8002A108 8E4D0000 */ lw $t5, ($s2) -/* 02AD0C 8002A10C 8E480000 */ lw $t0, ($s2) -.L8002A110_ovl0: -/* 02AD10 8002A110 AD150034 */ sw $s5, 0x34($t0) -/* 02AD14 8002A114 8FBF0034 */ lw $ra, 0x34($sp) -/* 02AD18 8002A118 8FB50030 */ lw $s5, 0x30($sp) -/* 02AD1C 8002A11C 8FB4002C */ lw $s4, 0x2c($sp) -/* 02AD20 8002A120 8FB30028 */ lw $s3, 0x28($sp) -/* 02AD24 8002A124 8FB20024 */ lw $s2, 0x24($sp) -/* 02AD28 8002A128 8FB10020 */ lw $s1, 0x20($sp) -/* 02AD2C 8002A12C 8FB0001C */ lw $s0, 0x1c($sp) -/* 02AD30 8002A130 03E00008 */ jr $ra -/* 02AD34 8002A134 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_8002A138 -/* 02AD38 8002A138 3C0E8004 */ lui $t6, %hi(D_8003FB10) # $t6, 0x8004 -/* 02AD3C 8002A13C 8DCEFB10 */ lw $t6, %lo(D_8003FB10)($t6) -/* 02AD40 8002A140 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02AD44 8002A144 AFBF0014 */ sw $ra, 0x14($sp) -/* 02AD48 8002A148 11C00007 */ beqz $t6, .L8002A168_ovl0 -/* 02AD4C 8002A14C AFA40018 */ sw $a0, 0x18($sp) -/* 02AD50 8002A150 0C00B41C */ jal func_8002D070 -/* 02AD54 8002A154 00000000 */ nop -/* 02AD58 8002A158 3C018004 */ lui $at, %hi(D_8003FB10) # $at, 0x8004 -/* 02AD5C 8002A15C AC20FB10 */ sw $zero, %lo(D_8003FB10)($at) -/* 02AD60 8002A160 3C018004 */ lui $at, %hi(D_8003FB14) # $at, 0x8004 -/* 02AD64 8002A164 AC20FB14 */ sw $zero, %lo(D_8003FB14)($at) -.L8002A168_ovl0: -/* 02AD68 8002A168 8FBF0014 */ lw $ra, 0x14($sp) -/* 02AD6C 8002A16C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02AD70 8002A170 03E00008 */ jr $ra -/* 02AD74 8002A174 00000000 */ nop - -glabel func_8002A178 -/* 02AD78 8002A178 3C028004 */ lui $v0, %hi(D_8003FB10) # $v0, 0x8004 -/* 02AD7C 8002A17C 2442FB10 */ addiu $v0, %lo(D_8003FB10) # addiu $v0, $v0, -0x4f0 -/* 02AD80 8002A180 8C4E0000 */ lw $t6, ($v0) -/* 02AD84 8002A184 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02AD88 8002A188 AFBF0014 */ sw $ra, 0x14($sp) -/* 02AD8C 8002A18C 15C00009 */ bnez $t6, .L8002A1B4_ovl0 -/* 02AD90 8002A190 3C038004 */ lui $v1, %hi(D_8003FB14) # $v1, 0x8004 -/* 02AD94 8002A194 2463FB14 */ addiu $v1, %lo(D_8003FB14) # addiu $v1, $v1, -0x4ec -/* 02AD98 8002A198 8C6F0000 */ lw $t7, ($v1) -/* 02AD9C 8002A19C AC440000 */ sw $a0, ($v0) -/* 02ADA0 8002A1A0 55E00005 */ bnezl $t7, .L8002A1B8_ovl0 -/* 02ADA4 8002A1A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 02ADA8 8002A1A8 AC640000 */ sw $a0, ($v1) -/* 02ADAC 8002A1AC 0C00A78E */ jal func_80029E38 -/* 02ADB0 8002A1B0 00A02025 */ move $a0, $a1 -.L8002A1B4_ovl0: -/* 02ADB4 8002A1B4 8FBF0014 */ lw $ra, 0x14($sp) -.L8002A1B8_ovl0: -/* 02ADB8 8002A1B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02ADBC 8002A1BC 03E00008 */ jr $ra -/* 02ADC0 8002A1C0 00000000 */ nop - -glabel func_8002A1C4 -/* 02ADC4 8002A1C4 848E0000 */ lh $t6, ($a0) -/* 02ADC8 8002A1C8 3C014680 */ li $at, 0x46800000 # 16384.000000 -/* 02ADCC 8002A1CC 44810000 */ mtc1 $at, $f0 -/* 02ADD0 8002A1D0 448E2000 */ mtc1 $t6, $f4 -/* 02ADD4 8002A1D4 24080001 */ li $t0, 1 -/* 02ADD8 8002A1D8 AC88002C */ sw $t0, 0x2c($a0) -/* 02ADDC 8002A1DC 468021A0 */ cvt.s.w $f6, $f4 -/* 02ADE0 8002A1E0 00002825 */ move $a1, $zero -/* 02ADE4 8002A1E4 00803025 */ move $a2, $a0 -/* 02ADE8 8002A1E8 46003202 */ mul.s $f8, $f6, $f0 -/* 02ADEC 8002A1EC 4600428D */ trunc.w.s $f10, $f8 -/* 02ADF0 8002A1F0 44025000 */ mfc1 $v0, $f10 -/* 02ADF4 8002A1F4 00000000 */ nop -/* 02ADF8 8002A1F8 00021BC3 */ sra $v1, $v0, 0xf -/* 02ADFC 8002A1FC 00031C00 */ sll $v1, $v1, 0x10 -/* 02AE00 8002A200 00031C03 */ sra $v1, $v1, 0x10 -/* 02AE04 8002A204 44838000 */ mtc1 $v1, $f16 -/* 02AE08 8002A208 44834000 */ mtc1 $v1, $f8 -/* 02AE0C 8002A20C 468084A0 */ cvt.s.w $f18, $f16 -/* 02AE10 8002A210 46120101 */ sub.s $f4, $f0, $f18 -/* 02AE14 8002A214 4600218D */ trunc.w.s $f6, $f4 -/* 02AE18 8002A218 44193000 */ mfc1 $t9, $f6 -/* 02AE1C 8002A21C 00000000 */ nop -/* 02AE20 8002A220 A4990002 */ sh $t9, 2($a0) -.L8002A224_ovl0: -/* 02AE24 8002A224 24A50001 */ addiu $a1, $a1, 1 -/* 02AE28 8002A228 28A10008 */ slti $at, $a1, 8 -/* 02AE2C 8002A22C 24C60002 */ addiu $a2, $a2, 2 -/* 02AE30 8002A230 1420FFFC */ bnez $at, .L8002A224_ovl0 -/* 02AE34 8002A234 A4C00006 */ sh $zero, 6($a2) -/* 02AE38 8002A238 468042A1 */ cvt.d.w $f10, $f8 -/* 02AE3C 8002A23C 3C0140D0 */ li $at, 0x40D00000 # 6.500000 -/* 02AE40 8002A240 44816800 */ mtc1 $at, $f13 -/* 02AE44 8002A244 44806000 */ mtc1 $zero, $f12 -/* 02AE48 8002A248 24A50001 */ addiu $a1, $a1, 1 -/* 02AE4C 8002A24C 28A10010 */ slti $at, $a1, 0x10 -/* 02AE50 8002A250 462C5083 */ div.d $f2, $f10, $f12 -/* 02AE54 8002A254 A4C30008 */ sh $v1, 8($a2) -/* 02AE58 8002A258 24C60002 */ addiu $a2, $a2, 2 -/* 02AE5C 8002A25C 1020000A */ beqz $at, .L8002A288_ovl0 -/* 02AE60 8002A260 46201006 */ mov.d $f0, $f2 -.L8002A264_ovl0: -/* 02AE64 8002A264 46220002 */ mul.d $f0, $f0, $f2 -/* 02AE68 8002A268 24A50001 */ addiu $a1, $a1, 1 -/* 02AE6C 8002A26C 28A10010 */ slti $at, $a1, 0x10 -/* 02AE70 8002A270 24C60002 */ addiu $a2, $a2, 2 -/* 02AE74 8002A274 462C0402 */ mul.d $f16, $f0, $f12 -/* 02AE78 8002A278 4620848D */ trunc.w.d $f18, $f16 -/* 02AE7C 8002A27C 440A9000 */ mfc1 $t2, $f18 -/* 02AE80 8002A280 1420FFF8 */ bnez $at, .L8002A264_ovl0 -/* 02AE84 8002A284 A4CA0006 */ sh $t2, 6($a2) -.L8002A288_ovl0: -/* 02AE88 8002A288 03E00008 */ jr $ra -/* 02AE8C 8002A28C 00000000 */ nop - -glabel func_8002A290 -/* 02AE90 8002A290 24A3FFFE */ addiu $v1, $a1, -2 -/* 02AE94 8002A294 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02AE98 8002A298 306E0007 */ andi $t6, $v1, 7 -/* 02AE9C 8002A29C AFBF0014 */ sw $ra, 0x14($sp) -/* 02AEA0 8002A2A0 2DC10008 */ sltiu $at, $t6, 8 -/* 02AEA4 8002A2A4 00803825 */ move $a3, $a0 -/* 02AEA8 8002A2A8 10200089 */ beqz $at, .L8002A4D0_ovl0 -/* 02AEAC 8002A2AC 8CC80000 */ lw $t0, ($a2) -/* 02AEB0 8002A2B0 000E7080 */ sll $t6, $t6, 2 -/* 02AEB4 8002A2B4 3C018004 */ lui $at, 0x8004 -/* 02AEB8 8002A2B8 002E0821 */ addu $at, $at, $t6 -/* 02AEBC 8002A2BC 8C2E17A8 */ lw $t6, 0x17a8($at) -/* 02AEC0 8002A2C0 01C00008 */ jr $t6 -/* 02AEC4 8002A2C4 00000000 */ nop -/* 02AEC8 8002A2C8 2401FFF8 */ li $at, -8 -/* 02AECC 8002A2CC 01017824 */ and $t7, $t0, $at -/* 02AED0 8002A2D0 8CF80020 */ lw $t8, 0x20($a3) -/* 02AED4 8002A2D4 04610003 */ bgez $v1, .L8002A2E4_ovl0 -/* 02AED8 8002A2D8 0003C8C3 */ sra $t9, $v1, 3 -/* 02AEDC 8002A2DC 24610007 */ addiu $at, $v1, 7 -/* 02AEE0 8002A2E0 0001C8C3 */ sra $t9, $at, 3 -.L8002A2E4_ovl0: -/* 02AEE4 8002A2E4 00194880 */ sll $t1, $t9, 2 -/* 02AEE8 8002A2E8 01394821 */ addu $t1, $t1, $t9 -/* 02AEEC 8002A2EC 000948C0 */ sll $t1, $t1, 3 -/* 02AEF0 8002A2F0 03095021 */ addu $t2, $t8, $t1 -/* 02AEF4 8002A2F4 10000076 */ b .L8002A4D0_ovl0 -/* 02AEF8 8002A2F8 AD4F0000 */ sw $t7, ($t2) -/* 02AEFC 8002A2FC 2401FFF8 */ li $at, -8 -/* 02AF00 8002A300 01015824 */ and $t3, $t0, $at -/* 02AF04 8002A304 8CEC0020 */ lw $t4, 0x20($a3) -/* 02AF08 8002A308 04610003 */ bgez $v1, .L8002A318_ovl0 -/* 02AF0C 8002A30C 000368C3 */ sra $t5, $v1, 3 -/* 02AF10 8002A310 24610007 */ addiu $at, $v1, 7 -/* 02AF14 8002A314 000168C3 */ sra $t5, $at, 3 -.L8002A318_ovl0: -/* 02AF18 8002A318 000D7080 */ sll $t6, $t5, 2 -/* 02AF1C 8002A31C 01CD7021 */ addu $t6, $t6, $t5 -/* 02AF20 8002A320 000E70C0 */ sll $t6, $t6, 3 -/* 02AF24 8002A324 018EC821 */ addu $t9, $t4, $t6 -/* 02AF28 8002A328 10000069 */ b .L8002A4D0_ovl0 -/* 02AF2C 8002A32C AF2B0004 */ sw $t3, 4($t9) -/* 02AF30 8002A330 8CF80020 */ lw $t8, 0x20($a3) -/* 02AF34 8002A334 04610003 */ bgez $v1, .L8002A344_ovl0 -/* 02AF38 8002A338 000348C3 */ sra $t1, $v1, 3 -/* 02AF3C 8002A33C 24610007 */ addiu $at, $v1, 7 -/* 02AF40 8002A340 000148C3 */ sra $t1, $at, 3 -.L8002A344_ovl0: -/* 02AF44 8002A344 00097880 */ sll $t7, $t1, 2 -/* 02AF48 8002A348 01E97821 */ addu $t7, $t7, $t1 -/* 02AF4C 8002A34C 000F78C0 */ sll $t7, $t7, 3 -/* 02AF50 8002A350 030F5021 */ addu $t2, $t8, $t7 -/* 02AF54 8002A354 1000005E */ b .L8002A4D0_ovl0 -/* 02AF58 8002A358 A5480008 */ sh $t0, 8($t2) -/* 02AF5C 8002A35C 8CED0020 */ lw $t5, 0x20($a3) -/* 02AF60 8002A360 04610003 */ bgez $v1, .L8002A370_ovl0 -/* 02AF64 8002A364 000360C3 */ sra $t4, $v1, 3 -/* 02AF68 8002A368 24610007 */ addiu $at, $v1, 7 -/* 02AF6C 8002A36C 000160C3 */ sra $t4, $at, 3 -.L8002A370_ovl0: -/* 02AF70 8002A370 000C7080 */ sll $t6, $t4, 2 -/* 02AF74 8002A374 01CC7021 */ addu $t6, $t6, $t4 -/* 02AF78 8002A378 000E70C0 */ sll $t6, $t6, 3 -/* 02AF7C 8002A37C 01AE5821 */ addu $t3, $t5, $t6 -/* 02AF80 8002A380 10000053 */ b .L8002A4D0_ovl0 -/* 02AF84 8002A384 A568000A */ sh $t0, 0xa($t3) -/* 02AF88 8002A388 8CF90020 */ lw $t9, 0x20($a3) -/* 02AF8C 8002A38C 04610003 */ bgez $v1, .L8002A39C_ovl0 -/* 02AF90 8002A390 000348C3 */ sra $t1, $v1, 3 -/* 02AF94 8002A394 24610007 */ addiu $at, $v1, 7 -/* 02AF98 8002A398 000148C3 */ sra $t1, $at, 3 -.L8002A39C_ovl0: -/* 02AF9C 8002A39C 0009C080 */ sll $t8, $t1, 2 -/* 02AFA0 8002A3A0 0309C021 */ addu $t8, $t8, $t1 -/* 02AFA4 8002A3A4 0018C0C0 */ sll $t8, $t8, 3 -/* 02AFA8 8002A3A8 03387821 */ addu $t7, $t9, $t8 -/* 02AFAC 8002A3AC 10000048 */ b .L8002A4D0_ovl0 -/* 02AFB0 8002A3B0 A5E8000C */ sh $t0, 0xc($t7) -/* 02AFB4 8002A3B4 44882000 */ mtc1 $t0, $f4 -/* 02AFB8 8002A3B8 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 02AFBC 8002A3BC 44814000 */ mtc1 $at, $f8 -/* 02AFC0 8002A3C0 468021A0 */ cvt.s.w $f6, $f4 -/* 02AFC4 8002A3C4 3C0A8004 */ lui $t2, %hi(D_8003FB14) # $t2, 0x8004 -/* 02AFC8 8002A3C8 8D4AFB14 */ lw $t2, %lo(D_8003FB14)($t2) -/* 02AFCC 8002A3CC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 02AFD0 8002A3D0 44818000 */ mtc1 $at, $f16 -/* 02AFD4 8002A3D4 8D4C004C */ lw $t4, 0x4c($t2) -/* 02AFD8 8002A3D8 46083283 */ div.s $f10, $f6, $f8 -/* 02AFDC 8002A3DC 8CED0020 */ lw $t5, 0x20($a3) -/* 02AFE0 8002A3E0 448C2000 */ mtc1 $t4, $f4 -/* 02AFE4 8002A3E4 00000000 */ nop -/* 02AFE8 8002A3E8 468021A0 */ cvt.s.w $f6, $f4 -/* 02AFEC 8002A3EC 46105482 */ mul.s $f18, $f10, $f16 -/* 02AFF0 8002A3F0 46069203 */ div.s $f8, $f18, $f6 -/* 02AFF4 8002A3F4 04610003 */ bgez $v1, .L8002A404_ovl0 -/* 02AFF8 8002A3F8 000370C3 */ sra $t6, $v1, 3 -/* 02AFFC 8002A3FC 24610007 */ addiu $at, $v1, 7 -/* 02B000 8002A400 000170C3 */ sra $t6, $at, 3 -.L8002A404_ovl0: -/* 02B004 8002A404 000E5880 */ sll $t3, $t6, 2 -/* 02B008 8002A408 016E5821 */ addu $t3, $t3, $t6 -/* 02B00C 8002A40C 000B58C0 */ sll $t3, $t3, 3 -/* 02B010 8002A410 01AB4821 */ addu $t1, $t5, $t3 -/* 02B014 8002A414 1000002E */ b .L8002A4D0_ovl0 -/* 02B018 8002A418 E5280010 */ swc1 $f8, 0x10($t1) -/* 02B01C 8002A41C 8CF90020 */ lw $t9, 0x20($a3) -/* 02B020 8002A420 04610003 */ bgez $v1, .L8002A430_ovl0 -/* 02B024 8002A424 0003C0C3 */ sra $t8, $v1, 3 -/* 02B028 8002A428 24610007 */ addiu $at, $v1, 7 -/* 02B02C 8002A42C 0001C0C3 */ sra $t8, $at, 3 -.L8002A430_ovl0: -/* 02B030 8002A430 00187880 */ sll $t7, $t8, 2 -/* 02B034 8002A434 01F87821 */ addu $t7, $t7, $t8 -/* 02B038 8002A438 000F78C0 */ sll $t7, $t7, 3 -/* 02B03C 8002A43C 032F1021 */ addu $v0, $t9, $t7 -/* 02B040 8002A440 8C4A0004 */ lw $t2, 4($v0) -/* 02B044 8002A444 8C4C0000 */ lw $t4, ($v0) -/* 02B048 8002A448 44889000 */ mtc1 $t0, $f18 -/* 02B04C 8002A44C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 02B050 8002A450 014C7023 */ subu $t6, $t2, $t4 -/* 02B054 8002A454 448E5000 */ mtc1 $t6, $f10 -/* 02B058 8002A458 05C10004 */ bgez $t6, .L8002A46C_ovl0 -/* 02B05C 8002A45C 46805420 */ cvt.s.w $f16, $f10 -/* 02B060 8002A460 44812000 */ mtc1 $at, $f4 -/* 02B064 8002A464 00000000 */ nop -/* 02B068 8002A468 46048400 */ add.s $f16, $f16, $f4 -.L8002A46C_ovl0: -/* 02B06C 8002A46C 468091A0 */ cvt.s.w $f6, $f18 -/* 02B070 8002A470 3C018004 */ lui $at, %hi(D_800417C8) # $at, 0x8004 -/* 02B074 8002A474 C42817C8 */ lwc1 $f8, %lo(D_800417C8)($at) -/* 02B078 8002A478 46083283 */ div.s $f10, $f6, $f8 -/* 02B07C 8002A47C 460A8102 */ mul.s $f4, $f16, $f10 -/* 02B080 8002A480 10000013 */ b .L8002A4D0_ovl0 -/* 02B084 8002A484 E444001C */ swc1 $f4, 0x1c($v0) -/* 02B088 8002A488 04610003 */ bgez $v1, .L8002A498_ovl0 -/* 02B08C 8002A48C 000310C3 */ sra $v0, $v1, 3 -/* 02B090 8002A490 24610007 */ addiu $at, $v1, 7 -/* 02B094 8002A494 000110C3 */ sra $v0, $at, 3 -.L8002A498_ovl0: -/* 02B098 8002A498 00400821 */ addu $at, $v0, $zero -/* 02B09C 8002A49C 8CED0020 */ lw $t5, 0x20($a3) -/* 02B0A0 8002A4A0 00021080 */ sll $v0, $v0, 2 -/* 02B0A4 8002A4A4 00411021 */ addu $v0, $v0, $at -/* 02B0A8 8002A4A8 000210C0 */ sll $v0, $v0, 3 -/* 02B0AC 8002A4AC 01A25821 */ addu $t3, $t5, $v0 -/* 02B0B0 8002A4B0 8D650020 */ lw $a1, 0x20($t3) -/* 02B0B4 8002A4B4 50A00007 */ beql $a1, $zero, .L8002A4D4_ovl0 -/* 02B0B8 8002A4B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B0BC 8002A4BC A4A80000 */ sh $t0, ($a1) -/* 02B0C0 8002A4C0 8CE90020 */ lw $t1, 0x20($a3) -/* 02B0C4 8002A4C4 0122C021 */ addu $t8, $t1, $v0 -/* 02B0C8 8002A4C8 0C00A871 */ jal func_8002A1C4 -/* 02B0CC 8002A4CC 8F040020 */ lw $a0, 0x20($t8) -.L8002A4D0_ovl0: -/* 02B0D0 8002A4D0 8FBF0014 */ lw $ra, 0x14($sp) -.L8002A4D4_ovl0: -/* 02B0D4 8002A4D4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02B0D8 8002A4D8 00001025 */ move $v0, $zero -/* 02B0DC 8002A4DC 03E00008 */ jr $ra -/* 02B0E0 8002A4E0 00000000 */ nop - -glabel func_8002A4E4 -/* 02B0E4 8002A4E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02B0E8 8002A4E8 AFBF0014 */ sw $ra, 0x14($sp) -/* 02B0EC 8002A4EC 0C009CD8 */ jal func_80027360 -/* 02B0F0 8002A4F0 00000000 */ nop -/* 02B0F4 8002A4F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B0F8 8002A4F8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02B0FC 8002A4FC 00001025 */ move $v0, $zero -/* 02B100 8002A500 03E00008 */ jr $ra -/* 02B104 8002A504 00000000 */ nop - -glabel func_8002A508 -/* 02B108 8002A508 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 02B10C 8002A50C AFB00040 */ sw $s0, 0x40($sp) -/* 02B110 8002A510 00808025 */ move $s0, $a0 -/* 02B114 8002A514 AFBF0064 */ sw $ra, 0x64($sp) -/* 02B118 8002A518 AFB60058 */ sw $s6, 0x58($sp) -/* 02B11C 8002A51C AFA5006C */ sw $a1, 0x6c($sp) -/* 02B120 8002A520 240E002C */ li $t6, 44 -/* 02B124 8002A524 00C0B025 */ move $s6, $a2 -/* 02B128 8002A528 AFBE0060 */ sw $fp, 0x60($sp) -/* 02B12C 8002A52C AFB7005C */ sw $s7, 0x5c($sp) -/* 02B130 8002A530 AFB50054 */ sw $s5, 0x54($sp) -/* 02B134 8002A534 AFB40050 */ sw $s4, 0x50($sp) -/* 02B138 8002A538 AFB3004C */ sw $s3, 0x4c($sp) -/* 02B13C 8002A53C AFB20048 */ sw $s2, 0x48($sp) -/* 02B140 8002A540 AFB10044 */ sw $s1, 0x44($sp) -/* 02B144 8002A544 F7BA0038 */ sdc1 $f26, 0x38($sp) -/* 02B148 8002A548 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 02B14C 8002A54C F7B60028 */ sdc1 $f22, 0x28($sp) -/* 02B150 8002A550 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 02B154 8002A554 AFAE0010 */ sw $t6, 0x10($sp) -/* 02B158 8002A558 00002825 */ move $a1, $zero -/* 02B15C 8002A55C 00002025 */ move $a0, $zero -/* 02B160 8002A560 0C0078F5 */ jal func_8001E3D4 -/* 02B164 8002A564 24070001 */ li $a3, 1 -/* 02B168 8002A568 8FA3006C */ lw $v1, 0x6c($sp) -/* 02B16C 8002A56C AE020000 */ sw $v0, ($s0) -/* 02B170 8002A570 3C138004 */ lui $s3, %hi(D_8003F9E8) # $s3, 0x8004 -/* 02B174 8002A574 906F001C */ lbu $t7, 0x1c($v1) -/* 02B178 8002A578 0040A825 */ move $s5, $v0 -/* 02B17C 8002A57C 2673F9E8 */ addiu $s3, %lo(D_8003F9E8) # addiu $s3, $s3, -0x618 -/* 02B180 8002A580 25F8FFFF */ addiu $t8, $t7, -1 -/* 02B184 8002A584 2F010006 */ sltiu $at, $t8, 6 -/* 02B188 8002A588 10200017 */ beqz $at, .L8002A5E8_ovl0 -/* 02B18C 8002A58C 0018C080 */ sll $t8, $t8, 2 -/* 02B190 8002A590 3C018004 */ lui $at, 0x8004 -/* 02B194 8002A594 00380821 */ addu $at, $at, $t8 -/* 02B198 8002A598 8C3817CC */ lw $t8, 0x17cc($at) -/* 02B19C 8002A59C 03000008 */ jr $t8 -/* 02B1A0 8002A5A0 00000000 */ nop -/* 02B1A4 8002A5A4 3C138004 */ lui $s3, %hi(D_8003F880) # $s3, 0x8004 -/* 02B1A8 8002A5A8 1000000F */ b .L8002A5E8_ovl0 -/* 02B1AC 8002A5AC 2673F880 */ addiu $s3, %lo(D_8003F880) # addiu $s3, $s3, -0x780 -/* 02B1B0 8002A5B0 3C138004 */ lui $s3, %hi(D_8003F8E8) # $s3, 0x8004 -/* 02B1B4 8002A5B4 1000000C */ b .L8002A5E8_ovl0 -/* 02B1B8 8002A5B8 2673F8E8 */ addiu $s3, %lo(D_8003F8E8) # addiu $s3, $s3, -0x718 -/* 02B1BC 8002A5BC 3C138004 */ lui $s3, %hi(D_8003F970) # $s3, 0x8004 -/* 02B1C0 8002A5C0 10000009 */ b .L8002A5E8_ovl0 -/* 02B1C4 8002A5C4 2673F970 */ addiu $s3, %lo(D_8003F970) # addiu $s3, $s3, -0x690 -/* 02B1C8 8002A5C8 3C138004 */ lui $s3, %hi(D_8003F998) # $s3, 0x8004 -/* 02B1CC 8002A5CC 10000006 */ b .L8002A5E8_ovl0 -/* 02B1D0 8002A5D0 2673F998 */ addiu $s3, %lo(D_8003F998) # addiu $s3, $s3, -0x668 -/* 02B1D4 8002A5D4 3C138004 */ lui $s3, %hi(D_8003F9C0) # $s3, 0x8004 -/* 02B1D8 8002A5D8 10000003 */ b .L8002A5E8_ovl0 -/* 02B1DC 8002A5DC 2673F9C0 */ addiu $s3, %lo(D_8003F9C0) # addiu $s3, $s3, -0x640 -/* 02B1E0 8002A5E0 10000001 */ b .L8002A5E8_ovl0 -/* 02B1E4 8002A5E4 8C730020 */ lw $s3, 0x20($v1) -.L8002A5E8_ovl0: -/* 02B1E8 8002A5E8 8E790000 */ lw $t9, ($s3) -/* 02B1EC 8002A5EC 24090028 */ li $t1, 40 -/* 02B1F0 8002A5F0 24110002 */ li $s1, 2 -/* 02B1F4 8002A5F4 A2B90024 */ sb $t9, 0x24($s5) -/* 02B1F8 8002A5F8 8E680004 */ lw $t0, 4($s3) -/* 02B1FC 8002A5FC 00002025 */ move $a0, $zero -/* 02B200 8002A600 00002825 */ move $a1, $zero -/* 02B204 8002A604 AEA8001C */ sw $t0, 0x1c($s5) -/* 02B208 8002A608 AFA90010 */ sw $t1, 0x10($sp) -/* 02B20C 8002A60C 02C03025 */ move $a2, $s6 -/* 02B210 8002A610 0C0078F5 */ jal func_8001E3D4 -/* 02B214 8002A614 332700FF */ andi $a3, $t9, 0xff -/* 02B218 8002A618 AEA20020 */ sw $v0, 0x20($s5) -/* 02B21C 8002A61C 8EA7001C */ lw $a3, 0x1c($s5) -/* 02B220 8002A620 240A0002 */ li $t2, 2 -/* 02B224 8002A624 AFAA0010 */ sw $t2, 0x10($sp) -/* 02B228 8002A628 00002025 */ move $a0, $zero -/* 02B22C 8002A62C 00002825 */ move $a1, $zero -/* 02B230 8002A630 0C0078F5 */ jal func_8001E3D4 -/* 02B234 8002A634 02C03025 */ move $a2, $s6 -/* 02B238 8002A638 8EAB001C */ lw $t3, 0x1c($s5) -/* 02B23C 8002A63C AEA20014 */ sw $v0, 0x14($s5) -/* 02B240 8002A640 AEA20018 */ sw $v0, 0x18($s5) -/* 02B244 8002A644 1160000B */ beqz $t3, .L8002A674_ovl0 -/* 02B248 8002A648 00001825 */ move $v1, $zero -/* 02B24C 8002A64C 8EAC0014 */ lw $t4, 0x14($s5) -.L8002A650_ovl0: -/* 02B250 8002A650 00036840 */ sll $t5, $v1, 1 -/* 02B254 8002A654 24630001 */ addiu $v1, $v1, 1 -/* 02B258 8002A658 018D7021 */ addu $t6, $t4, $t5 -/* 02B25C 8002A65C A5C00000 */ sh $zero, ($t6) -/* 02B260 8002A660 8EAF001C */ lw $t7, 0x1c($s5) -/* 02B264 8002A664 3063FFFF */ andi $v1, $v1, 0xffff -/* 02B268 8002A668 006F082B */ sltu $at, $v1, $t7 -/* 02B26C 8002A66C 5420FFF8 */ bnezl $at, .L8002A650_ovl0 -/* 02B270 8002A670 8EAC0014 */ lw $t4, 0x14($s5) -.L8002A674_ovl0: -/* 02B274 8002A674 92B80024 */ lbu $t8, 0x24($s5) -/* 02B278 8002A678 0000A025 */ move $s4, $zero -/* 02B27C 8002A67C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02B280 8002A680 1B000091 */ blez $t8, .L8002A8C8_ovl0 -/* 02B284 8002A684 241E0001 */ li $fp, 1 -/* 02B288 8002A688 4481C000 */ mtc1 $at, $f24 -/* 02B28C 8002A68C 3C018004 */ lui $at, %hi(D_800417E4) # $at, 0x8004 -/* 02B290 8002A690 C43617E4 */ lwc1 $f22, %lo(D_800417E4)($at) -/* 02B294 8002A694 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 02B298 8002A698 4481A000 */ mtc1 $at, $f20 -/* 02B29C 8002A69C 4480D000 */ mtc1 $zero, $f26 -/* 02B2A0 8002A6A0 24170028 */ li $s7, 40 -.L8002A6A4_ovl0: -/* 02B2A4 8002A6A4 02970019 */ multu $s4, $s7 -/* 02B2A8 8002A6A8 00114880 */ sll $t1, $s1, 2 -/* 02B2AC 8002A6AC 8EB90020 */ lw $t9, 0x20($s5) -/* 02B2B0 8002A6B0 02695021 */ addu $t2, $s3, $t1 -/* 02B2B4 8002A6B4 8D4B0000 */ lw $t3, ($t2) -/* 02B2B8 8002A6B8 26310001 */ addiu $s1, $s1, 1 -/* 02B2BC 8002A6BC 3231FFFF */ andi $s1, $s1, 0xffff -/* 02B2C0 8002A6C0 00116080 */ sll $t4, $s1, 2 -/* 02B2C4 8002A6C4 026C6821 */ addu $t5, $s3, $t4 -/* 02B2C8 8002A6C8 26310001 */ addiu $s1, $s1, 1 -/* 02B2CC 8002A6CC 00004012 */ mflo $t0 -/* 02B2D0 8002A6D0 03288021 */ addu $s0, $t9, $t0 -/* 02B2D4 8002A6D4 AE0B0000 */ sw $t3, ($s0) -/* 02B2D8 8002A6D8 8DAE0000 */ lw $t6, ($t5) -/* 02B2DC 8002A6DC 3231FFFF */ andi $s1, $s1, 0xffff -/* 02B2E0 8002A6E0 00117880 */ sll $t7, $s1, 2 -/* 02B2E4 8002A6E4 026FC021 */ addu $t8, $s3, $t7 -/* 02B2E8 8002A6E8 AE0E0004 */ sw $t6, 4($s0) -/* 02B2EC 8002A6EC 8F190000 */ lw $t9, ($t8) -/* 02B2F0 8002A6F0 26310001 */ addiu $s1, $s1, 1 -/* 02B2F4 8002A6F4 3231FFFF */ andi $s1, $s1, 0xffff -/* 02B2F8 8002A6F8 00114080 */ sll $t0, $s1, 2 -/* 02B2FC 8002A6FC 02684821 */ addu $t1, $s3, $t0 -/* 02B300 8002A700 A619000A */ sh $t9, 0xa($s0) -/* 02B304 8002A704 8D2A0000 */ lw $t2, ($t1) -/* 02B308 8002A708 26310001 */ addiu $s1, $s1, 1 -/* 02B30C 8002A70C 3231FFFF */ andi $s1, $s1, 0xffff -/* 02B310 8002A710 00115880 */ sll $t3, $s1, 2 -/* 02B314 8002A714 026B6021 */ addu $t4, $s3, $t3 -/* 02B318 8002A718 A60A0008 */ sh $t2, 8($s0) -/* 02B31C 8002A71C 8D8D0000 */ lw $t5, ($t4) -/* 02B320 8002A720 26310001 */ addiu $s1, $s1, 1 -/* 02B324 8002A724 3231FFFF */ andi $s1, $s1, 0xffff -/* 02B328 8002A728 00117080 */ sll $t6, $s1, 2 -/* 02B32C 8002A72C 026E7821 */ addu $t7, $s3, $t6 -/* 02B330 8002A730 A60D000C */ sh $t5, 0xc($s0) -/* 02B334 8002A734 8DE20000 */ lw $v0, ($t7) -/* 02B338 8002A738 5040003A */ beql $v0, $zero, .L8002A824_ovl0 -/* 02B33C 8002A73C 26310002 */ addiu $s1, $s1, 2 -/* 02B340 8002A740 44822000 */ mtc1 $v0, $f4 -/* 02B344 8002A744 8FB8006C */ lw $t8, 0x6c($sp) -/* 02B348 8002A748 8E080004 */ lw $t0, 4($s0) -/* 02B34C 8002A74C 468021A0 */ cvt.s.w $f6, $f4 -/* 02B350 8002A750 8F190018 */ lw $t9, 0x18($t8) -/* 02B354 8002A754 8E090000 */ lw $t1, ($s0) -/* 02B358 8002A758 26310001 */ addiu $s1, $s1, 1 -/* 02B35C 8002A75C 44995000 */ mtc1 $t9, $f10 -/* 02B360 8002A760 01095023 */ subu $t2, $t0, $t1 -/* 02B364 8002A764 46143003 */ div.s $f0, $f6, $f20 -/* 02B368 8002A768 448A2000 */ mtc1 $t2, $f4 -/* 02B36C 8002A76C 3231FFFF */ andi $s1, $s1, 0xffff -/* 02B370 8002A770 00115880 */ sll $t3, $s1, 2 -/* 02B374 8002A774 46805420 */ cvt.s.w $f16, $f10 -/* 02B378 8002A778 026B6021 */ addu $t4, $s3, $t3 -/* 02B37C 8002A77C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 02B380 8002A780 468021A0 */ cvt.s.w $f6, $f4 -/* 02B384 8002A784 46000200 */ add.s $f8, $f0, $f0 -/* 02B388 8002A788 46104483 */ div.s $f18, $f8, $f16 -/* 02B38C 8002A78C 05410004 */ bgez $t2, .L8002A7A0_ovl0 -/* 02B390 8002A790 E6120010 */ swc1 $f18, 0x10($s0) -/* 02B394 8002A794 44815000 */ mtc1 $at, $f10 -/* 02B398 8002A798 00000000 */ nop -/* 02B39C 8002A79C 460A3180 */ add.s $f6, $f6, $f10 -.L8002A7A0_ovl0: -/* 02B3A0 8002A7A0 8D8D0000 */ lw $t5, ($t4) -/* 02B3A4 8002A7A4 26310001 */ addiu $s1, $s1, 1 -/* 02B3A8 8002A7A8 E6180014 */ swc1 $f24, 0x14($s0) -/* 02B3AC 8002A7AC 448D4000 */ mtc1 $t5, $f8 -/* 02B3B0 8002A7B0 AE000018 */ sw $zero, 0x18($s0) -/* 02B3B4 8002A7B4 240E0034 */ li $t6, 52 -/* 02B3B8 8002A7B8 46804420 */ cvt.s.w $f16, $f8 -/* 02B3BC 8002A7BC 3231FFFF */ andi $s1, $s1, 0xffff -/* 02B3C0 8002A7C0 00002025 */ move $a0, $zero -/* 02B3C4 8002A7C4 00002825 */ move $a1, $zero -/* 02B3C8 8002A7C8 02C03025 */ move $a2, $s6 -/* 02B3CC 8002A7CC 03C03825 */ move $a3, $fp -/* 02B3D0 8002A7D0 46168483 */ div.s $f18, $f16, $f22 -/* 02B3D4 8002A7D4 46069102 */ mul.s $f4, $f18, $f6 -/* 02B3D8 8002A7D8 E604001C */ swc1 $f4, 0x1c($s0) -/* 02B3DC 8002A7DC 0C0078F5 */ jal func_8001E3D4 -/* 02B3E0 8002A7E0 AFAE0010 */ sw $t6, 0x10($sp) -/* 02B3E4 8002A7E4 AE020024 */ sw $v0, 0x24($s0) -/* 02B3E8 8002A7E8 240F0020 */ li $t7, 32 -/* 02B3EC 8002A7EC AFAF0010 */ sw $t7, 0x10($sp) -/* 02B3F0 8002A7F0 00002025 */ move $a0, $zero -/* 02B3F4 8002A7F4 00002825 */ move $a1, $zero -/* 02B3F8 8002A7F8 02C03025 */ move $a2, $s6 -/* 02B3FC 8002A7FC 0C0078F5 */ jal func_8001E3D4 -/* 02B400 8002A800 03C03825 */ move $a3, $fp -/* 02B404 8002A804 8E180024 */ lw $t8, 0x24($s0) -/* 02B408 8002A808 AF020014 */ sw $v0, 0x14($t8) -/* 02B40C 8002A80C 8E190024 */ lw $t9, 0x24($s0) -/* 02B410 8002A810 E73A0020 */ swc1 $f26, 0x20($t9) -/* 02B414 8002A814 8E080024 */ lw $t0, 0x24($s0) -/* 02B418 8002A818 10000004 */ b .L8002A82C_ovl0 -/* 02B41C 8002A81C AD1E0024 */ sw $fp, 0x24($t0) -/* 02B420 8002A820 26310002 */ addiu $s1, $s1, 2 -.L8002A824_ovl0: -/* 02B424 8002A824 AE000024 */ sw $zero, 0x24($s0) -/* 02B428 8002A828 3231FFFF */ andi $s1, $s1, 0xffff -.L8002A82C_ovl0: -/* 02B42C 8002A82C 00114880 */ sll $t1, $s1, 2 -/* 02B430 8002A830 02699021 */ addu $s2, $s3, $t1 -/* 02B434 8002A834 8E4A0000 */ lw $t2, ($s2) -/* 02B438 8002A838 00002025 */ move $a0, $zero -/* 02B43C 8002A83C 00002825 */ move $a1, $zero -/* 02B440 8002A840 11400018 */ beqz $t2, .L8002A8A4_ovl0 -/* 02B444 8002A844 02C03025 */ move $a2, $s6 -/* 02B448 8002A848 240B0030 */ li $t3, 48 -/* 02B44C 8002A84C AFAB0010 */ sw $t3, 0x10($sp) -/* 02B450 8002A850 0C0078F5 */ jal func_8001E3D4 -/* 02B454 8002A854 03C03825 */ move $a3, $fp -/* 02B458 8002A858 AE020020 */ sw $v0, 0x20($s0) -/* 02B45C 8002A85C 240C0008 */ li $t4, 8 -/* 02B460 8002A860 AFAC0010 */ sw $t4, 0x10($sp) -/* 02B464 8002A864 00002025 */ move $a0, $zero -/* 02B468 8002A868 00002825 */ move $a1, $zero -/* 02B46C 8002A86C 02C03025 */ move $a2, $s6 -/* 02B470 8002A870 0C0078F5 */ jal func_8001E3D4 -/* 02B474 8002A874 03C03825 */ move $a3, $fp -/* 02B478 8002A878 8E0D0020 */ lw $t5, 0x20($s0) -/* 02B47C 8002A87C 26310001 */ addiu $s1, $s1, 1 -/* 02B480 8002A880 3231FFFF */ andi $s1, $s1, 0xffff -/* 02B484 8002A884 ADA20028 */ sw $v0, 0x28($t5) -/* 02B488 8002A888 8E0F0020 */ lw $t7, 0x20($s0) -/* 02B48C 8002A88C 8E4E0000 */ lw $t6, ($s2) -/* 02B490 8002A890 A5EE0000 */ sh $t6, ($t7) -/* 02B494 8002A894 0C00A871 */ jal func_8002A1C4 -/* 02B498 8002A898 8E040020 */ lw $a0, 0x20($s0) -/* 02B49C 8002A89C 10000005 */ b .L8002A8B4_ovl0 -/* 02B4A0 8002A8A0 92B80024 */ lbu $t8, 0x24($s5) -.L8002A8A4_ovl0: -/* 02B4A4 8002A8A4 26310001 */ addiu $s1, $s1, 1 -/* 02B4A8 8002A8A8 AE000020 */ sw $zero, 0x20($s0) -/* 02B4AC 8002A8AC 3231FFFF */ andi $s1, $s1, 0xffff -/* 02B4B0 8002A8B0 92B80024 */ lbu $t8, 0x24($s5) -.L8002A8B4_ovl0: -/* 02B4B4 8002A8B4 26940001 */ addiu $s4, $s4, 1 -/* 02B4B8 8002A8B8 3294FFFF */ andi $s4, $s4, 0xffff -/* 02B4BC 8002A8BC 0298082A */ slt $at, $s4, $t8 -/* 02B4C0 8002A8C0 1420FF78 */ bnez $at, .L8002A6A4_ovl0 -/* 02B4C4 8002A8C4 00000000 */ nop -.L8002A8C8_ovl0: -/* 02B4C8 8002A8C8 8FBF0064 */ lw $ra, 0x64($sp) -/* 02B4CC 8002A8CC D7B40020 */ ldc1 $f20, 0x20($sp) -/* 02B4D0 8002A8D0 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 02B4D4 8002A8D4 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 02B4D8 8002A8D8 D7BA0038 */ ldc1 $f26, 0x38($sp) -/* 02B4DC 8002A8DC 8FB00040 */ lw $s0, 0x40($sp) -/* 02B4E0 8002A8E0 8FB10044 */ lw $s1, 0x44($sp) -/* 02B4E4 8002A8E4 8FB20048 */ lw $s2, 0x48($sp) -/* 02B4E8 8002A8E8 8FB3004C */ lw $s3, 0x4c($sp) -/* 02B4EC 8002A8EC 8FB40050 */ lw $s4, 0x50($sp) -/* 02B4F0 8002A8F0 8FB50054 */ lw $s5, 0x54($sp) -/* 02B4F4 8002A8F4 8FB60058 */ lw $s6, 0x58($sp) -/* 02B4F8 8002A8F8 8FB7005C */ lw $s7, 0x5c($sp) -/* 02B4FC 8002A8FC 8FBE0060 */ lw $fp, 0x60($sp) -/* 02B500 8002A900 03E00008 */ jr $ra -/* 02B504 8002A904 27BD0068 */ addiu $sp, $sp, 0x68 - -glabel func_8002A908 -/* 02B508 8002A908 00000000 */ nop -/* 02B50C 8002A90C 00000000 */ nop -/* 02B510 8002A910 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02B514 8002A914 AFBF0014 */ sw $ra, 0x14($sp) -/* 02B518 8002A918 00802825 */ move $a1, $a0 -/* 02B51C 8002A91C AFA50018 */ sw $a1, 0x18($sp) -/* 02B520 8002A920 0C00B590 */ jal osSetIntMask -/* 02B524 8002A924 24040001 */ li $a0, 1 -/* 02B528 8002A928 3C038004 */ lui $v1, %hi(D_8003FB14) # $v1, 0x8004 -/* 02B52C 8002A92C 2463FB14 */ addiu $v1, %lo(D_8003FB14) # addiu $v1, $v1, -0x4ec -/* 02B530 8002A930 8C6E0000 */ lw $t6, ($v1) -/* 02B534 8002A934 8FA50018 */ lw $a1, 0x18($sp) -/* 02B538 8002A938 00403025 */ move $a2, $v0 -/* 02B53C 8002A93C 8DCF002C */ lw $t7, 0x2c($t6) -/* 02B540 8002A940 ACAF0010 */ sw $t7, 0x10($a1) -/* 02B544 8002A944 8C780000 */ lw $t8, ($v1) -/* 02B548 8002A948 8F190000 */ lw $t9, ($t8) -/* 02B54C 8002A94C ACB90000 */ sw $t9, ($a1) -/* 02B550 8002A950 8C680000 */ lw $t0, ($v1) -/* 02B554 8002A954 AD050000 */ sw $a1, ($t0) -/* 02B558 8002A958 8C640000 */ lw $a0, ($v1) -/* 02B55C 8002A95C 8C890004 */ lw $t1, 4($a0) -/* 02B560 8002A960 55200004 */ bnezl $t1, .L8002A974_ovl0 -/* 02B564 8002A964 8C8A0008 */ lw $t2, 8($a0) -/* 02B568 8002A968 10000005 */ b .L8002A980_ovl0 -/* 02B56C 8002A96C AC850004 */ sw $a1, 4($a0) -/* 02B570 8002A970 8C8A0008 */ lw $t2, 8($a0) -.L8002A974_ovl0: -/* 02B574 8002A974 15400002 */ bnez $t2, .L8002A980_ovl0 -/* 02B578 8002A978 00000000 */ nop -/* 02B57C 8002A97C AC850008 */ sw $a1, 8($a0) -.L8002A980_ovl0: -/* 02B580 8002A980 0C00B590 */ jal osSetIntMask -/* 02B584 8002A984 00C02025 */ move $a0, $a2 -/* 02B588 8002A988 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B58C 8002A98C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02B590 8002A990 03E00008 */ jr $ra -/* 02B594 8002A994 00000000 */ nop - -glabel func_8002A998 -/* 02B598 8002A998 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02B59C 8002A99C AFBF0014 */ sw $ra, 0x14($sp) -/* 02B5A0 8002A9A0 00802825 */ move $a1, $a0 -/* 02B5A4 8002A9A4 AFA50018 */ sw $a1, 0x18($sp) -/* 02B5A8 8002A9A8 0C00B590 */ jal osSetIntMask -/* 02B5AC 8002A9AC 24040001 */ li $a0, 1 -/* 02B5B0 8002A9B0 3C038004 */ lui $v1, %hi(D_8003FB14) # $v1, 0x8004 -/* 02B5B4 8002A9B4 2463FB14 */ addiu $v1, %lo(D_8003FB14) # addiu $v1, $v1, -0x4ec -/* 02B5B8 8002A9B8 8C6E0000 */ lw $t6, ($v1) -/* 02B5BC 8002A9BC 8FA50018 */ lw $a1, 0x18($sp) -/* 02B5C0 8002A9C0 00403025 */ move $a2, $v0 -/* 02B5C4 8002A9C4 8DCF002C */ lw $t7, 0x2c($t6) -/* 02B5C8 8002A9C8 ACAF0010 */ sw $t7, 0x10($a1) -/* 02B5CC 8002A9CC 8C780000 */ lw $t8, ($v1) -/* 02B5D0 8002A9D0 8F190000 */ lw $t9, ($t8) -/* 02B5D4 8002A9D4 ACB90000 */ sw $t9, ($a1) -/* 02B5D8 8002A9D8 8C680000 */ lw $t0, ($v1) -/* 02B5DC 8002A9DC AD050000 */ sw $a1, ($t0) -/* 02B5E0 8002A9E0 8C640000 */ lw $a0, ($v1) -/* 02B5E4 8002A9E4 8C89000C */ lw $t1, 0xc($a0) -/* 02B5E8 8002A9E8 15200002 */ bnez $t1, .L8002A9F4_ovl0 -/* 02B5EC 8002A9EC 00000000 */ nop -/* 02B5F0 8002A9F0 AC85000C */ sw $a1, 0xc($a0) -.L8002A9F4_ovl0: -/* 02B5F4 8002A9F4 0C00B590 */ jal osSetIntMask -/* 02B5F8 8002A9F8 00C02025 */ move $a0, $a2 -/* 02B5FC 8002A9FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B600 8002AA00 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02B604 8002AA04 03E00008 */ jr $ra -/* 02B608 8002AA08 00000000 */ nop - -glabel func_8002AA0C -/* 02B60C 8002AA0C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02B610 8002AA10 AFBF0014 */ sw $ra, 0x14($sp) -/* 02B614 8002AA14 00802825 */ move $a1, $a0 -/* 02B618 8002AA18 AFA50018 */ sw $a1, 0x18($sp) -/* 02B61C 8002AA1C 0C00B590 */ jal osSetIntMask -/* 02B620 8002AA20 24040001 */ li $a0, 1 -/* 02B624 8002AA24 3C038004 */ lui $v1, %hi(D_8003FB14) # $v1, 0x8004 -/* 02B628 8002AA28 2463FB14 */ addiu $v1, %lo(D_8003FB14) # addiu $v1, $v1, -0x4ec -/* 02B62C 8002AA2C 8C6E0000 */ lw $t6, ($v1) -/* 02B630 8002AA30 8FA50018 */ lw $a1, 0x18($sp) -/* 02B634 8002AA34 00402025 */ move $a0, $v0 -/* 02B638 8002AA38 8DCF002C */ lw $t7, 0x2c($t6) -/* 02B63C 8002AA3C ACAF0010 */ sw $t7, 0x10($a1) -/* 02B640 8002AA40 8C780000 */ lw $t8, ($v1) -/* 02B644 8002AA44 8F190000 */ lw $t9, ($t8) -/* 02B648 8002AA48 ACB90000 */ sw $t9, ($a1) -/* 02B64C 8002AA4C 8C680000 */ lw $t0, ($v1) -/* 02B650 8002AA50 0C00B590 */ jal osSetIntMask -/* 02B654 8002AA54 AD050000 */ sw $a1, ($t0) -/* 02B658 8002AA58 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B65C 8002AA5C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02B660 8002AA60 03E00008 */ jr $ra -/* 02B664 8002AA64 00000000 */ nop - -glabel func_8002AA68 -/* 02B668 8002AA68 00000000 */ nop -/* 02B66C 8002AA6C 00000000 */ nop -/* 02B670 8002AA70 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02B674 8002AA74 AFBF0014 */ sw $ra, 0x14($sp) -/* 02B678 8002AA78 8C8E0008 */ lw $t6, 8($a0) -/* 02B67C 8002AA7C 51C00014 */ beql $t6, $zero, .L8002AAD0_ovl0 -/* 02B680 8002AA80 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B684 8002AA84 0C00A642 */ jal func_80029908 -/* 02B688 8002AA88 AFA40018 */ sw $a0, 0x18($sp) -/* 02B68C 8002AA8C 8FA70018 */ lw $a3, 0x18($sp) -/* 02B690 8002AA90 1040000E */ beqz $v0, .L8002AACC_ovl0 -/* 02B694 8002AA94 00403025 */ move $a2, $v0 -/* 02B698 8002AA98 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 -/* 02B69C 8002AA9C 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) -/* 02B6A0 8002AAA0 8CF90008 */ lw $t9, 8($a3) -/* 02B6A4 8002AAA4 240A000F */ li $t2, 15 -/* 02B6A8 8002AAA8 8DF80028 */ lw $t8, 0x28($t7) -/* 02B6AC 8002AAAC 8F280088 */ lw $t0, 0x88($t9) -/* 02B6B0 8002AAB0 A44A0008 */ sh $t2, 8($v0) -/* 02B6B4 8002AAB4 AC400000 */ sw $zero, ($v0) -/* 02B6B8 8002AAB8 03084821 */ addu $t1, $t8, $t0 -/* 02B6BC 8002AABC AC490004 */ sw $t1, 4($v0) -/* 02B6C0 8002AAC0 8CE40008 */ lw $a0, 8($a3) -/* 02B6C4 8002AAC4 0C009D48 */ jal func_80027520 -/* 02B6C8 8002AAC8 24050003 */ li $a1, 3 -.L8002AACC_ovl0: -/* 02B6CC 8002AACC 8FBF0014 */ lw $ra, 0x14($sp) -.L8002AAD0_ovl0: -/* 02B6D0 8002AAD0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02B6D4 8002AAD4 03E00008 */ jr $ra -/* 02B6D8 8002AAD8 00000000 */ nop - -glabel func_8002AADC -/* 02B6DC 8002AADC 00000000 */ nop -/* 02B6E0 8002AAE0 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 -/* 02B6E4 8002AAE4 8C42FB14 */ lw $v0, %lo(D_8003FB14)($v0) -/* 02B6E8 8002AAE8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02B6EC 8002AAEC AFBF0014 */ sw $ra, 0x14($sp) -/* 02B6F0 8002AAF0 AFA5002C */ sw $a1, 0x2c($sp) -/* 02B6F4 8002AAF4 8C460020 */ lw $a2, 0x20($v0) -/* 02B6F8 8002AAF8 00052C00 */ sll $a1, $a1, 0x10 -/* 02B6FC 8002AAFC 00052C03 */ sra $a1, $a1, 0x10 -/* 02B700 8002AB00 00803825 */ move $a3, $a0 -/* 02B704 8002AB04 10C0000D */ beqz $a2, .L8002AB3C_ovl0 -/* 02B708 8002AB08 00001825 */ move $v1, $zero -/* 02B70C 8002AB0C AC860000 */ sw $a2, ($a0) -/* 02B710 8002AB10 AFA60024 */ sw $a2, 0x24($sp) -/* 02B714 8002AB14 AFA0001C */ sw $zero, 0x1c($sp) -/* 02B718 8002AB18 0C0097DD */ jal func_80025F74 -/* 02B71C 8002AB1C 00C02025 */ move $a0, $a2 -/* 02B720 8002AB20 3C058004 */ lui $a1, %hi(D_8003FB14) # $a1, 0x8004 -/* 02B724 8002AB24 8CA5FB14 */ lw $a1, %lo(D_8003FB14)($a1) -/* 02B728 8002AB28 8FA40024 */ lw $a0, 0x24($sp) -/* 02B72C 8002AB2C 0C0097D4 */ jal func_80025F50 -/* 02B730 8002AB30 24A50018 */ addiu $a1, $a1, 0x18 -/* 02B734 8002AB34 10000021 */ b .L8002ABBC_ovl0 -/* 02B738 8002AB38 8FA3001C */ lw $v1, 0x1c($sp) -.L8002AB3C_ovl0: -/* 02B73C 8002AB3C 8C460010 */ lw $a2, 0x10($v0) -/* 02B740 8002AB40 10C0000C */ beqz $a2, .L8002AB74_ovl0 -/* 02B744 8002AB44 00C02025 */ move $a0, $a2 -/* 02B748 8002AB48 ACE60000 */ sw $a2, ($a3) -/* 02B74C 8002AB4C AFA60024 */ sw $a2, 0x24($sp) -/* 02B750 8002AB50 0C0097DD */ jal func_80025F74 -/* 02B754 8002AB54 AFA3001C */ sw $v1, 0x1c($sp) -/* 02B758 8002AB58 3C058004 */ lui $a1, %hi(D_8003FB14) # $a1, 0x8004 -/* 02B75C 8002AB5C 8CA5FB14 */ lw $a1, %lo(D_8003FB14)($a1) -/* 02B760 8002AB60 8FA40024 */ lw $a0, 0x24($sp) -/* 02B764 8002AB64 0C0097D4 */ jal func_80025F50 -/* 02B768 8002AB68 24A50018 */ addiu $a1, $a1, 0x18 -/* 02B76C 8002AB6C 10000013 */ b .L8002ABBC_ovl0 -/* 02B770 8002AB70 8FA3001C */ lw $v1, 0x1c($sp) -.L8002AB74_ovl0: -/* 02B774 8002AB74 8C460018 */ lw $a2, 0x18($v0) -/* 02B778 8002AB78 50C00011 */ beql $a2, $zero, .L8002ABC0_ovl0 -/* 02B77C 8002AB7C 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B780 8002AB80 8CCE0008 */ lw $t6, 8($a2) -.L8002AB84_ovl0: -/* 02B784 8002AB84 85CF0016 */ lh $t7, 0x16($t6) -/* 02B788 8002AB88 00AF082A */ slt $at, $a1, $t7 -/* 02B78C 8002AB8C 54200009 */ bnezl $at, .L8002ABB4_ovl0 -/* 02B790 8002AB90 8CC60000 */ lw $a2, ($a2) -/* 02B794 8002AB94 8CD80088 */ lw $t8, 0x88($a2) -/* 02B798 8002AB98 57000006 */ bnezl $t8, .L8002ABB4_ovl0 -/* 02B79C 8002AB9C 8CC60000 */ lw $a2, ($a2) -/* 02B7A0 8002ABA0 ACE60000 */ sw $a2, ($a3) -/* 02B7A4 8002ABA4 8CD90008 */ lw $t9, 8($a2) -/* 02B7A8 8002ABA8 24030001 */ li $v1, 1 -/* 02B7AC 8002ABAC 87250016 */ lh $a1, 0x16($t9) -/* 02B7B0 8002ABB0 8CC60000 */ lw $a2, ($a2) -.L8002ABB4_ovl0: -/* 02B7B4 8002ABB4 54C0FFF3 */ bnezl $a2, .L8002AB84_ovl0 -/* 02B7B8 8002ABB8 8CCE0008 */ lw $t6, 8($a2) -.L8002ABBC_ovl0: -/* 02B7BC 8002ABBC 8FBF0014 */ lw $ra, 0x14($sp) -.L8002ABC0_ovl0: -/* 02B7C0 8002ABC0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 02B7C4 8002ABC4 00601025 */ move $v0, $v1 -/* 02B7C8 8002ABC8 03E00008 */ jr $ra -/* 02B7CC 8002ABCC 00000000 */ nop - -glabel func_8002ABD0 -/* 02B7D0 8002ABD0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02B7D4 8002ABD4 AFBF001C */ sw $ra, 0x1c($sp) -/* 02B7D8 8002ABD8 AFB00018 */ sw $s0, 0x18($sp) -/* 02B7DC 8002ABDC AFA0002C */ sw $zero, 0x2c($sp) -/* 02B7E0 8002ABE0 84AE0000 */ lh $t6, ($a1) -/* 02B7E4 8002ABE4 00808025 */ move $s0, $a0 -/* 02B7E8 8002ABE8 A48E0016 */ sh $t6, 0x16($a0) -/* 02B7EC 8002ABEC 90AF0004 */ lbu $t7, 4($a1) -/* 02B7F0 8002ABF0 AC80000C */ sw $zero, 0xc($a0) -/* 02B7F4 8002ABF4 A48F001A */ sh $t7, 0x1a($a0) -/* 02B7F8 8002ABF8 84B80002 */ lh $t8, 2($a1) -/* 02B7FC 8002ABFC A4800014 */ sh $zero, 0x14($a0) -/* 02B800 8002AC00 AC800008 */ sw $zero, 8($a0) -/* 02B804 8002AC04 A4980018 */ sh $t8, 0x18($a0) -/* 02B808 8002AC08 84A50000 */ lh $a1, ($a1) -/* 02B80C 8002AC0C 0C00AAB8 */ jal func_8002AAE0 -/* 02B810 8002AC10 27A4002C */ addiu $a0, $sp, 0x2c -/* 02B814 8002AC14 8FB9002C */ lw $t9, 0x2c($sp) -/* 02B818 8002AC18 53200036 */ beql $t9, $zero, .L8002ACF4_ovl0 -/* 02B81C 8002AC1C 8FBF001C */ lw $ra, 0x1c($sp) -/* 02B820 8002AC20 1040002E */ beqz $v0, .L8002ACDC_ovl0 -/* 02B824 8002AC24 8FAF002C */ lw $t7, 0x2c($sp) -/* 02B828 8002AC28 24080200 */ li $t0, 512 -/* 02B82C 8002AC2C AF280088 */ sw $t0, 0x88($t9) -/* 02B830 8002AC30 8FA9002C */ lw $t1, 0x2c($sp) -/* 02B834 8002AC34 8D2A0008 */ lw $t2, 8($t1) -/* 02B838 8002AC38 AD400008 */ sw $zero, 8($t2) -/* 02B83C 8002AC3C 8FAB002C */ lw $t3, 0x2c($sp) -/* 02B840 8002AC40 AD700008 */ sw $s0, 8($t3) -/* 02B844 8002AC44 8FAC002C */ lw $t4, 0x2c($sp) -/* 02B848 8002AC48 0C00A642 */ jal func_80029908 -/* 02B84C 8002AC4C AE0C0008 */ sw $t4, 8($s0) -/* 02B850 8002AC50 1040000F */ beqz $v0, .L8002AC90_ovl0 -/* 02B854 8002AC54 00403025 */ move $a2, $v0 -/* 02B858 8002AC58 3C0D8004 */ lui $t5, %hi(D_8003FB14) # $t5, 0x8004 -/* 02B85C 8002AC5C 8DADFB14 */ lw $t5, %lo(D_8003FB14)($t5) -/* 02B860 8002AC60 240F000B */ li $t7, 11 -/* 02B864 8002AC64 24050003 */ li $a1, 3 -/* 02B868 8002AC68 8DAE0028 */ lw $t6, 0x28($t5) -/* 02B86C 8002AC6C A44F0008 */ sh $t7, 8($v0) -/* 02B870 8002AC70 AC40000C */ sw $zero, 0xc($v0) -/* 02B874 8002AC74 AC4E0004 */ sw $t6, 4($v0) -/* 02B878 8002AC78 8FB8002C */ lw $t8, 0x2c($sp) -/* 02B87C 8002AC7C 8F080088 */ lw $t0, 0x88($t8) -/* 02B880 8002AC80 2519FFC0 */ addiu $t9, $t0, -0x40 -/* 02B884 8002AC84 AC590010 */ sw $t9, 0x10($v0) -/* 02B888 8002AC88 0C009D48 */ jal func_80027520 -/* 02B88C 8002AC8C 8E040008 */ lw $a0, 8($s0) -.L8002AC90_ovl0: -/* 02B890 8002AC90 0C00A642 */ jal func_80029908 -/* 02B894 8002AC94 00000000 */ nop -/* 02B898 8002AC98 10400015 */ beqz $v0, .L8002ACF0_ovl0 -/* 02B89C 8002AC9C 00403025 */ move $a2, $v0 -/* 02B8A0 8002ACA0 3C098004 */ lui $t1, %hi(D_8003FB14) # $t1, 0x8004 -/* 02B8A4 8002ACA4 8D29FB14 */ lw $t1, %lo(D_8003FB14)($t1) -/* 02B8A8 8002ACA8 8FAB002C */ lw $t3, 0x2c($sp) -/* 02B8AC 8002ACAC 240E000F */ li $t6, 15 -/* 02B8B0 8002ACB0 8D2A0028 */ lw $t2, 0x28($t1) -/* 02B8B4 8002ACB4 8D6C0088 */ lw $t4, 0x88($t3) -/* 02B8B8 8002ACB8 A44E0008 */ sh $t6, 8($v0) -/* 02B8BC 8002ACBC AC400000 */ sw $zero, ($v0) -/* 02B8C0 8002ACC0 014C6821 */ addu $t5, $t2, $t4 -/* 02B8C4 8002ACC4 AC4D0004 */ sw $t5, 4($v0) -/* 02B8C8 8002ACC8 8E040008 */ lw $a0, 8($s0) -/* 02B8CC 8002ACCC 0C009D48 */ jal func_80027520 -/* 02B8D0 8002ACD0 24050003 */ li $a1, 3 -/* 02B8D4 8002ACD4 10000007 */ b .L8002ACF4_ovl0 -/* 02B8D8 8002ACD8 8FBF001C */ lw $ra, 0x1c($sp) -.L8002ACDC_ovl0: -/* 02B8DC 8002ACDC ADE00088 */ sw $zero, 0x88($t7) -/* 02B8E0 8002ACE0 8FB8002C */ lw $t8, 0x2c($sp) -/* 02B8E4 8002ACE4 AF100008 */ sw $s0, 8($t8) -/* 02B8E8 8002ACE8 8FA8002C */ lw $t0, 0x2c($sp) -/* 02B8EC 8002ACEC AE080008 */ sw $t0, 8($s0) -.L8002ACF0_ovl0: -/* 02B8F0 8002ACF0 8FBF001C */ lw $ra, 0x1c($sp) -.L8002ACF4_ovl0: -/* 02B8F4 8002ACF4 8FA2002C */ lw $v0, 0x2c($sp) -/* 02B8F8 8002ACF8 8FB00018 */ lw $s0, 0x18($sp) -/* 02B8FC 8002ACFC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 02B900 8002AD00 03E00008 */ jr $ra -/* 02B904 8002AD04 0002102B */ sltu $v0, $zero, $v0 - -glabel func_8002AD08 -/* 02B908 8002AD08 00000000 */ nop -/* 02B90C 8002AD0C 00000000 */ nop -/* 02B910 8002AD10 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02B914 8002AD14 AFBF0014 */ sw $ra, 0x14($sp) -/* 02B918 8002AD18 AFA5001C */ sw $a1, 0x1c($sp) -/* 02B91C 8002AD1C 8C8E0008 */ lw $t6, 8($a0) -/* 02B920 8002AD20 51C00016 */ beql $t6, $zero, .L8002AD7C_ovl0 -/* 02B924 8002AD24 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B928 8002AD28 0C00A642 */ jal func_80029908 -/* 02B92C 8002AD2C AFA40018 */ sw $a0, 0x18($sp) -/* 02B930 8002AD30 8FA70018 */ lw $a3, 0x18($sp) -/* 02B934 8002AD34 10400010 */ beqz $v0, .L8002AD78_ovl0 -/* 02B938 8002AD38 00403025 */ move $a2, $v0 -/* 02B93C 8002AD3C 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 -/* 02B940 8002AD40 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) -/* 02B944 8002AD44 8CF90008 */ lw $t9, 8($a3) -/* 02B948 8002AD48 240A000C */ li $t2, 12 -/* 02B94C 8002AD4C 8DF80028 */ lw $t8, 0x28($t7) -/* 02B950 8002AD50 8F280088 */ lw $t0, 0x88($t9) -/* 02B954 8002AD54 A44A0008 */ sh $t2, 8($v0) -/* 02B958 8002AD58 24050003 */ li $a1, 3 -/* 02B95C 8002AD5C 03084821 */ addu $t1, $t8, $t0 -/* 02B960 8002AD60 AC490004 */ sw $t1, 4($v0) -/* 02B964 8002AD64 93AB001F */ lbu $t3, 0x1f($sp) -/* 02B968 8002AD68 AC400000 */ sw $zero, ($v0) -/* 02B96C 8002AD6C AC4B000C */ sw $t3, 0xc($v0) -/* 02B970 8002AD70 0C009D48 */ jal func_80027520 -/* 02B974 8002AD74 8CE40008 */ lw $a0, 8($a3) -.L8002AD78_ovl0: -/* 02B978 8002AD78 8FBF0014 */ lw $ra, 0x14($sp) -.L8002AD7C_ovl0: -/* 02B97C 8002AD7C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02B980 8002AD80 03E00008 */ jr $ra -/* 02B984 8002AD84 00000000 */ nop - -glabel func_8002AD88 -/* 02B988 8002AD88 00000000 */ nop -/* 02B98C 8002AD8C 00000000 */ nop -/* 02B990 8002AD90 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02B994 8002AD94 AFBF0014 */ sw $ra, 0x14($sp) -/* 02B998 8002AD98 AFA50024 */ sw $a1, 0x24($sp) -/* 02B99C 8002AD9C AFA60028 */ sw $a2, 0x28($sp) -/* 02B9A0 8002ADA0 AFA7002C */ sw $a3, 0x2c($sp) -/* 02B9A4 8002ADA4 8C8E0008 */ lw $t6, 8($a0) -/* 02B9A8 8002ADA8 51C0002F */ beql $t6, $zero, .L8002AE68_ovl0 -/* 02B9AC 8002ADAC 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B9B0 8002ADB0 0C00A642 */ jal func_80029908 -/* 02B9B4 8002ADB4 AFA40020 */ sw $a0, 0x20($sp) -/* 02B9B8 8002ADB8 93A50037 */ lbu $a1, 0x37($sp) -/* 02B9BC 8002ADBC 8FA80020 */ lw $t0, 0x20($sp) -/* 02B9C0 8002ADC0 00403025 */ move $a2, $v0 -/* 02B9C4 8002ADC4 04A10003 */ bgez $a1, .L8002ADD4_ovl0 -/* 02B9C8 8002ADC8 00A01825 */ move $v1, $a1 -/* 02B9CC 8002ADCC 00032823 */ negu $a1, $v1 -/* 02B9D0 8002ADD0 30A500FF */ andi $a1, $a1, 0xff -.L8002ADD4_ovl0: -/* 02B9D4 8002ADD4 10400023 */ beqz $v0, .L8002AE64_ovl0 -/* 02B9D8 8002ADD8 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 -/* 02B9DC 8002ADDC 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) -/* 02B9E0 8002ADE0 8D190008 */ lw $t9, 8($t0) -/* 02B9E4 8002ADE4 240B000D */ li $t3, 13 -/* 02B9E8 8002ADE8 8DF80028 */ lw $t8, 0x28($t7) -/* 02B9EC 8002ADEC 8F290088 */ lw $t1, 0x88($t9) -/* 02B9F0 8002ADF0 ACC00000 */ sw $zero, ($a2) -/* 02B9F4 8002ADF4 A4CB0008 */ sh $t3, 8($a2) -/* 02B9F8 8002ADF8 03095021 */ addu $t2, $t8, $t1 -/* 02B9FC 8002ADFC ACCA0004 */ sw $t2, 4($a2) -/* 02BA00 8002AE00 850C001A */ lh $t4, 0x1a($t0) -/* 02BA04 8002AE04 A4CC000A */ sh $t4, 0xa($a2) -/* 02BA08 8002AE08 93AD0033 */ lbu $t5, 0x33($sp) -/* 02BA0C 8002AE0C A0CD0012 */ sb $t5, 0x12($a2) -/* 02BA10 8002AE10 87AE002E */ lh $t6, 0x2e($sp) -/* 02BA14 8002AE14 A0C50013 */ sb $a1, 0x13($a2) -/* 02BA18 8002AE18 A4CE0010 */ sh $t6, 0x10($a2) -/* 02BA1C 8002AE1C 93AF003F */ lbu $t7, 0x3f($sp) -/* 02BA20 8002AE20 A0CF001C */ sb $t7, 0x1c($a2) -/* 02BA24 8002AE24 93B90043 */ lbu $t9, 0x43($sp) -/* 02BA28 8002AE28 A0D9001D */ sb $t9, 0x1d($a2) -/* 02BA2C 8002AE2C C7A40028 */ lwc1 $f4, 0x28($sp) -/* 02BA30 8002AE30 E4C4000C */ swc1 $f4, 0xc($a2) -/* 02BA34 8002AE34 AFA80020 */ sw $t0, 0x20($sp) -/* 02BA38 8002AE38 AFA6001C */ sw $a2, 0x1c($sp) -/* 02BA3C 8002AE3C 0C00A60F */ jal func_8002983C -/* 02BA40 8002AE40 8FA40038 */ lw $a0, 0x38($sp) -/* 02BA44 8002AE44 8FA6001C */ lw $a2, 0x1c($sp) -/* 02BA48 8002AE48 8FA80020 */ lw $t0, 0x20($sp) -/* 02BA4C 8002AE4C 24050003 */ li $a1, 3 -/* 02BA50 8002AE50 ACC20014 */ sw $v0, 0x14($a2) -/* 02BA54 8002AE54 8FB80024 */ lw $t8, 0x24($sp) -/* 02BA58 8002AE58 ACD80018 */ sw $t8, 0x18($a2) -/* 02BA5C 8002AE5C 0C009D48 */ jal func_80027520 -/* 02BA60 8002AE60 8D040008 */ lw $a0, 8($t0) -.L8002AE64_ovl0: -/* 02BA64 8002AE64 8FBF0014 */ lw $ra, 0x14($sp) -.L8002AE68_ovl0: -/* 02BA68 8002AE68 27BD0020 */ addiu $sp, $sp, 0x20 -/* 02BA6C 8002AE6C 03E00008 */ jr $ra -/* 02BA70 8002AE70 00000000 */ nop - -glabel func_8002AE74 -/* 02BA74 8002AE74 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02BA78 8002AE78 AFBF0014 */ sw $ra, 0x14($sp) -/* 02BA7C 8002AE7C AFA50024 */ sw $a1, 0x24($sp) -/* 02BA80 8002AE80 AFA60028 */ sw $a2, 0x28($sp) -/* 02BA84 8002AE84 AFA7002C */ sw $a3, 0x2c($sp) -/* 02BA88 8002AE88 8C8E0008 */ lw $t6, 8($a0) -/* 02BA8C 8002AE8C 51C0002E */ beql $t6, $zero, .L8002AF48_ovl0 -/* 02BA90 8002AE90 8FBF0014 */ lw $ra, 0x14($sp) -/* 02BA94 8002AE94 0C00A642 */ jal func_80029908 -/* 02BA98 8002AE98 AFA40020 */ sw $a0, 0x20($sp) -/* 02BA9C 8002AE9C 93A50037 */ lbu $a1, 0x37($sp) -/* 02BAA0 8002AEA0 8FA80020 */ lw $t0, 0x20($sp) -/* 02BAA4 8002AEA4 00403025 */ move $a2, $v0 -/* 02BAA8 8002AEA8 04A10003 */ bgez $a1, .L8002AEB8_ovl0 -/* 02BAAC 8002AEAC 00A01825 */ move $v1, $a1 -/* 02BAB0 8002AEB0 00032823 */ negu $a1, $v1 -/* 02BAB4 8002AEB4 30A500FF */ andi $a1, $a1, 0xff -.L8002AEB8_ovl0: -/* 02BAB8 8002AEB8 10400022 */ beqz $v0, .L8002AF44_ovl0 -/* 02BABC 8002AEBC 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 -/* 02BAC0 8002AEC0 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) -/* 02BAC4 8002AEC4 8D190008 */ lw $t9, 8($t0) -/* 02BAC8 8002AEC8 240B000D */ li $t3, 13 -/* 02BACC 8002AECC 8DF80028 */ lw $t8, 0x28($t7) -/* 02BAD0 8002AED0 8F290088 */ lw $t1, 0x88($t9) -/* 02BAD4 8002AED4 ACC00000 */ sw $zero, ($a2) -/* 02BAD8 8002AED8 A4CB0008 */ sh $t3, 8($a2) -/* 02BADC 8002AEDC 03095021 */ addu $t2, $t8, $t1 -/* 02BAE0 8002AEE0 ACCA0004 */ sw $t2, 4($a2) -/* 02BAE4 8002AEE4 850C001A */ lh $t4, 0x1a($t0) -/* 02BAE8 8002AEE8 240F005F */ li $t7, 95 -/* 02BAEC 8002AEEC A4CC000A */ sh $t4, 0xa($a2) -/* 02BAF0 8002AEF0 93AD0033 */ lbu $t5, 0x33($sp) -/* 02BAF4 8002AEF4 A0CD0012 */ sb $t5, 0x12($a2) -/* 02BAF8 8002AEF8 87AE002E */ lh $t6, 0x2e($sp) -/* 02BAFC 8002AEFC A0C50013 */ sb $a1, 0x13($a2) -/* 02BB00 8002AF00 A0C0001C */ sb $zero, 0x1c($a2) -/* 02BB04 8002AF04 A0CF001D */ sb $t7, 0x1d($a2) -/* 02BB08 8002AF08 A4CE0010 */ sh $t6, 0x10($a2) -/* 02BB0C 8002AF0C C7A40028 */ lwc1 $f4, 0x28($sp) -/* 02BB10 8002AF10 E4C4000C */ swc1 $f4, 0xc($a2) -/* 02BB14 8002AF14 AFA80020 */ sw $t0, 0x20($sp) -/* 02BB18 8002AF18 AFA6001C */ sw $a2, 0x1c($sp) -/* 02BB1C 8002AF1C 0C00A60F */ jal func_8002983C -/* 02BB20 8002AF20 8FA40038 */ lw $a0, 0x38($sp) -/* 02BB24 8002AF24 8FA6001C */ lw $a2, 0x1c($sp) -/* 02BB28 8002AF28 8FA80020 */ lw $t0, 0x20($sp) -/* 02BB2C 8002AF2C 24050003 */ li $a1, 3 -/* 02BB30 8002AF30 ACC20014 */ sw $v0, 0x14($a2) -/* 02BB34 8002AF34 8FB90024 */ lw $t9, 0x24($sp) -/* 02BB38 8002AF38 ACD90018 */ sw $t9, 0x18($a2) -/* 02BB3C 8002AF3C 0C009D48 */ jal func_80027520 -/* 02BB40 8002AF40 8D040008 */ lw $a0, 8($t0) -.L8002AF44_ovl0: -/* 02BB44 8002AF44 8FBF0014 */ lw $ra, 0x14($sp) -.L8002AF48_ovl0: -/* 02BB48 8002AF48 27BD0020 */ addiu $sp, $sp, 0x20 -/* 02BB4C 8002AF4C 03E00008 */ jr $ra -/* 02BB50 8002AF50 00000000 */ nop - -glabel func_8002AF54 -/* 02BB54 8002AF54 00000000 */ nop -/* 02BB58 8002AF58 00000000 */ nop -/* 02BB5C 8002AF5C 00000000 */ nop -/* 02BB60 8002AF60 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 02BB64 8002AF64 AFBF0014 */ sw $ra, 0x14($sp) -/* 02BB68 8002AF68 8C8E0034 */ lw $t6, 0x34($a0) -/* 02BB6C 8002AF6C 24010001 */ li $at, 1 -/* 02BB70 8002AF70 00803825 */ move $a3, $a0 -/* 02BB74 8002AF74 15C1002D */ bne $t6, $at, .L8002B02C_ovl0 -/* 02BB78 8002AF78 8C860018 */ lw $a2, 0x18($a0) -/* 02BB7C 8002AF7C 10C0002B */ beqz $a2, .L8002B02C_ovl0 -/* 02BB80 8002AF80 00C02025 */ move $a0, $a2 -/* 02BB84 8002AF84 27A50024 */ addiu $a1, $sp, 0x24 -/* 02BB88 8002AF88 AFA60020 */ sw $a2, 0x20($sp) -/* 02BB8C 8002AF8C 0C00B33B */ jal func_8002CCEC -/* 02BB90 8002AF90 AFA70038 */ sw $a3, 0x38($sp) -/* 02BB94 8002AF94 8FA60020 */ lw $a2, 0x20($sp) -/* 02BB98 8002AF98 10400024 */ beqz $v0, .L8002B02C_ovl0 -/* 02BB9C 8002AF9C 8FA70038 */ lw $a3, 0x38($sp) -/* 02BBA0 8002AFA0 8CEF0090 */ lw $t7, 0x90($a3) -/* 02BBA4 8002AFA4 00C02025 */ move $a0, $a2 -/* 02BBA8 8002AFA8 51E00018 */ beql $t7, $zero, .L8002B00C_ovl0 -/* 02BBAC 8002AFAC A7A00028 */ sh $zero, 0x28($sp) -/* 02BBB0 8002AFB0 AFA60020 */ sw $a2, 0x20($sp) -/* 02BBB4 8002AFB4 0C00B27B */ jal func_8002C9EC -/* 02BBB8 8002AFB8 AFA70038 */ sw $a3, 0x38($sp) -/* 02BBBC 8002AFBC 8FA70038 */ lw $a3, 0x38($sp) -/* 02BBC0 8002AFC0 8FB80024 */ lw $t8, 0x24($sp) -/* 02BBC4 8002AFC4 8FA60020 */ lw $a2, 0x20($sp) -/* 02BBC8 8002AFC8 8CE8008C */ lw $t0, 0x8c($a3) -/* 02BBCC 8002AFCC 0058C821 */ addu $t9, $v0, $t8 -/* 02BBD0 8002AFD0 00C02025 */ move $a0, $a2 -/* 02BBD4 8002AFD4 8D090008 */ lw $t1, 8($t0) -/* 02BBD8 8002AFD8 0329082A */ slt $at, $t9, $t1 -/* 02BBDC 8002AFDC 5420000B */ bnezl $at, .L8002B00C_ovl0 -/* 02BBE0 8002AFE0 A7A00028 */ sh $zero, 0x28($sp) -/* 02BBE4 8002AFE4 8CE50088 */ lw $a1, 0x88($a3) -/* 02BBE8 8002AFE8 0C00B274 */ jal func_8002C9D0 -/* 02BBEC 8002AFEC AFA70038 */ sw $a3, 0x38($sp) -/* 02BBF0 8002AFF0 8FA70038 */ lw $a3, 0x38($sp) -/* 02BBF4 8002AFF4 2401FFFF */ li $at, -1 -/* 02BBF8 8002AFF8 8CE20090 */ lw $v0, 0x90($a3) -/* 02BBFC 8002AFFC 10410002 */ beq $v0, $at, .L8002B008_ovl0 -/* 02BC00 8002B000 244AFFFF */ addiu $t2, $v0, -1 -/* 02BC04 8002B004 ACEA0090 */ sw $t2, 0x90($a3) -.L8002B008_ovl0: -/* 02BC08 8002B008 A7A00028 */ sh $zero, 0x28($sp) -.L8002B00C_ovl0: -/* 02BC0C 8002B00C 8CEB002C */ lw $t3, 0x2c($a3) -/* 02BC10 8002B010 8FAC0024 */ lw $t4, 0x24($sp) -/* 02BC14 8002B014 24E40050 */ addiu $a0, $a3, 0x50 -/* 02BC18 8002B018 27A50028 */ addiu $a1, $sp, 0x28 -/* 02BC1C 8002B01C 016C0019 */ multu $t3, $t4 -/* 02BC20 8002B020 00003012 */ mflo $a2 -/* 02BC24 8002B024 0C009818 */ jal func_80026060 -/* 02BC28 8002B028 00000000 */ nop -.L8002B02C_ovl0: -/* 02BC2C 8002B02C 8FBF0014 */ lw $ra, 0x14($sp) -/* 02BC30 8002B030 27BD0038 */ addiu $sp, $sp, 0x38 -/* 02BC34 8002B034 03E00008 */ jr $ra -/* 02BC38 8002B038 00000000 */ nop - -glabel func_8002B03C -/* 02BC3C 8002B03C 8C8E0068 */ lw $t6, 0x68($a0) -/* 02BC40 8002B040 00061080 */ sll $v0, $a2, 2 -/* 02BC44 8002B044 00461023 */ subu $v0, $v0, $a2 -/* 02BC48 8002B048 000210C0 */ sll $v0, $v0, 3 -/* 02BC4C 8002B04C 01C27821 */ addu $t7, $t6, $v0 -/* 02BC50 8002B050 ADE50000 */ sw $a1, ($t7) -/* 02BC54 8002B054 8C990068 */ lw $t9, 0x68($a0) -/* 02BC58 8002B058 90B80001 */ lbu $t8, 1($a1) -/* 02BC5C 8002B05C 2409007F */ li $t1, 127 -/* 02BC60 8002B060 03224021 */ addu $t0, $t9, $v0 -/* 02BC64 8002B064 A1180007 */ sb $t8, 7($t0) -/* 02BC68 8002B068 8C8A0068 */ lw $t2, 0x68($a0) -/* 02BC6C 8002B06C 01425821 */ addu $t3, $t2, $v0 -/* 02BC70 8002B070 A1690009 */ sb $t1, 9($t3) -/* 02BC74 8002B074 8C8D0068 */ lw $t5, 0x68($a0) -/* 02BC78 8002B078 90AC0002 */ lbu $t4, 2($a1) -/* 02BC7C 8002B07C 01A27021 */ addu $t6, $t5, $v0 -/* 02BC80 8002B080 A1CC0008 */ sb $t4, 8($t6) -/* 02BC84 8002B084 8C990068 */ lw $t9, 0x68($a0) -/* 02BC88 8002B088 84AF000C */ lh $t7, 0xc($a1) -/* 02BC8C 8002B08C 0322C021 */ addu $t8, $t9, $v0 -/* 02BC90 8002B090 A70F0004 */ sh $t7, 4($t8) -/* 02BC94 8002B094 8C8A0068 */ lw $t2, 0x68($a0) -/* 02BC98 8002B098 90A80000 */ lbu $t0, ($a1) -/* 02BC9C 8002B09C 01424821 */ addu $t1, $t2, $v0 -/* 02BCA0 8002B0A0 03E00008 */ jr $ra -/* 02BCA4 8002B0A4 A1280011 */ sb $t0, 0x11($t1) - -glabel func_8002B0A8 -/* 02BCA8 8002B0A8 8C8E0068 */ lw $t6, 0x68($a0) -/* 02BCAC 8002B0AC 00051080 */ sll $v0, $a1, 2 -/* 02BCB0 8002B0B0 00451023 */ subu $v0, $v0, $a1 -/* 02BCB4 8002B0B4 000210C0 */ sll $v0, $v0, 3 -/* 02BCB8 8002B0B8 01C27821 */ addu $t7, $t6, $v0 -/* 02BCBC 8002B0BC A1E00006 */ sb $zero, 6($t7) -/* 02BCC0 8002B0C0 8C980068 */ lw $t8, 0x68($a0) -/* 02BCC4 8002B0C4 24080040 */ li $t0, 64 -/* 02BCC8 8002B0C8 240B007F */ li $t3, 127 -/* 02BCCC 8002B0CC 0302C821 */ addu $t9, $t8, $v0 -/* 02BCD0 8002B0D0 A320000A */ sb $zero, 0xa($t9) -/* 02BCD4 8002B0D4 8C890068 */ lw $t1, 0x68($a0) -/* 02BCD8 8002B0D8 240E0005 */ li $t6, 5 -/* 02BCDC 8002B0DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02BCE0 8002B0E0 01225021 */ addu $t2, $t1, $v0 -/* 02BCE4 8002B0E4 A1480007 */ sb $t0, 7($t2) -/* 02BCE8 8002B0E8 8C8C0068 */ lw $t4, 0x68($a0) -/* 02BCEC 8002B0EC 240800C8 */ li $t0, 200 -/* 02BCF0 8002B0F0 44812000 */ mtc1 $at, $f4 -/* 02BCF4 8002B0F4 01826821 */ addu $t5, $t4, $v0 -/* 02BCF8 8002B0F8 A1AB0009 */ sb $t3, 9($t5) -/* 02BCFC 8002B0FC 8C8F0068 */ lw $t7, 0x68($a0) -/* 02BD00 8002B100 01E2C021 */ addu $t8, $t7, $v0 -/* 02BD04 8002B104 A30E0008 */ sb $t6, 8($t8) -/* 02BD08 8002B108 8C990068 */ lw $t9, 0x68($a0) -/* 02BD0C 8002B10C 2418005F */ li $t8, 95 -/* 02BD10 8002B110 03224821 */ addu $t1, $t9, $v0 -/* 02BD14 8002B114 A120000B */ sb $zero, 0xb($t1) -/* 02BD18 8002B118 8C8A0068 */ lw $t2, 0x68($a0) -/* 02BD1C 8002B11C 01426021 */ addu $t4, $t2, $v0 -/* 02BD20 8002B120 A5880004 */ sh $t0, 4($t4) -/* 02BD24 8002B124 8C8B0068 */ lw $t3, 0x68($a0) -/* 02BD28 8002B128 01626821 */ addu $t5, $t3, $v0 -/* 02BD2C 8002B12C E5A4000C */ swc1 $f4, 0xc($t5) -/* 02BD30 8002B130 8C8F0068 */ lw $t7, 0x68($a0) -/* 02BD34 8002B134 01E27021 */ addu $t6, $t7, $v0 -/* 02BD38 8002B138 A1C00012 */ sb $zero, 0x12($t6) -/* 02BD3C 8002B13C 8C990068 */ lw $t9, 0x68($a0) -/* 02BD40 8002B140 03224821 */ addu $t1, $t9, $v0 -/* 02BD44 8002B144 A1380013 */ sb $t8, 0x13($t1) -/* 02BD48 8002B148 8C8A0068 */ lw $t2, 0x68($a0) -/* 02BD4C 8002B14C 01424021 */ addu $t0, $t2, $v0 -/* 02BD50 8002B150 03E00008 */ jr $ra -/* 02BD54 8002B154 A1000014 */ sb $zero, 0x14($t0) - -glabel func_8002B158 -/* 02BD58 8002B158 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02BD5C 8002B15C AFB20020 */ sw $s2, 0x20($sp) -/* 02BD60 8002B160 00809025 */ move $s2, $a0 -/* 02BD64 8002B164 AFBF0024 */ sw $ra, 0x24($sp) -/* 02BD68 8002B168 AFB1001C */ sw $s1, 0x1c($sp) -/* 02BD6C 8002B16C AFB00018 */ sw $s0, 0x18($sp) -/* 02BD70 8002B170 AFA5002C */ sw $a1, 0x2c($sp) -/* 02BD74 8002B174 00A01025 */ move $v0, $a1 -/* 02BD78 8002B178 8C51000C */ lw $s1, 0xc($v0) -.L8002B17C_ovl0: -/* 02BD7C 8002B17C 24420004 */ addiu $v0, $v0, 4 -/* 02BD80 8002B180 5220FFFE */ beql $s1, $zero, .L8002B17C_ovl0 -/* 02BD84 8002B184 8C51000C */ lw $s1, 0xc($v0) -/* 02BD88 8002B188 924E003C */ lbu $t6, 0x3c($s2) -/* 02BD8C 8002B18C 00008025 */ move $s0, $zero -/* 02BD90 8002B190 19C0000C */ blez $t6, .L8002B1C4_ovl0 -/* 02BD94 8002B194 02402025 */ move $a0, $s2 -.L8002B198_ovl0: -/* 02BD98 8002B198 0C00AC2A */ jal func_8002B0A8 -/* 02BD9C 8002B19C 02002825 */ move $a1, $s0 -/* 02BDA0 8002B1A0 02402025 */ move $a0, $s2 -/* 02BDA4 8002B1A4 02202825 */ move $a1, $s1 -/* 02BDA8 8002B1A8 0C00AC0F */ jal func_8002B03C -/* 02BDAC 8002B1AC 02003025 */ move $a2, $s0 -/* 02BDB0 8002B1B0 924F003C */ lbu $t7, 0x3c($s2) -/* 02BDB4 8002B1B4 26100001 */ addiu $s0, $s0, 1 -/* 02BDB8 8002B1B8 020F082A */ slt $at, $s0, $t7 -/* 02BDBC 8002B1BC 5420FFF6 */ bnezl $at, .L8002B198_ovl0 -/* 02BDC0 8002B1C0 02402025 */ move $a0, $s2 -.L8002B1C4_ovl0: -/* 02BDC4 8002B1C4 8FB8002C */ lw $t8, 0x2c($sp) -/* 02BDC8 8002B1C8 02402025 */ move $a0, $s2 -/* 02BDCC 8002B1CC 8F190008 */ lw $t9, 8($t8) -/* 02BDD0 8002B1D0 53200009 */ beql $t9, $zero, .L8002B1F8_ovl0 -/* 02BDD4 8002B1D4 8FBF0024 */ lw $ra, 0x24($sp) -/* 02BDD8 8002B1D8 0C00AC2A */ jal func_8002B0A8 -/* 02BDDC 8002B1DC 02002825 */ move $a1, $s0 -/* 02BDE0 8002B1E0 8FA8002C */ lw $t0, 0x2c($sp) -/* 02BDE4 8002B1E4 02402025 */ move $a0, $s2 -/* 02BDE8 8002B1E8 24060009 */ li $a2, 9 -/* 02BDEC 8002B1EC 0C00AC0F */ jal func_8002B03C -/* 02BDF0 8002B1F0 8D050008 */ lw $a1, 8($t0) -/* 02BDF4 8002B1F4 8FBF0024 */ lw $ra, 0x24($sp) -.L8002B1F8_ovl0: -/* 02BDF8 8002B1F8 8FB00018 */ lw $s0, 0x18($sp) -/* 02BDFC 8002B1FC 8FB1001C */ lw $s1, 0x1c($sp) -/* 02BE00 8002B200 8FB20020 */ lw $s2, 0x20($sp) -/* 02BE04 8002B204 03E00008 */ jr $ra -/* 02BE08 8002B208 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_8002B20C -/* 02BE0C 8002B20C 03E00008 */ jr $ra -/* 02BE10 8002B210 00000000 */ nop - -glabel func_8002B214 -/* 02BE14 8002B214 8C8E0024 */ lw $t6, 0x24($a0) -/* 02BE18 8002B218 240203E8 */ li $v0, 1000 -/* 02BE1C 8002B21C 01C51823 */ subu $v1, $t6, $a1 -/* 02BE20 8002B220 04600003 */ bltz $v1, .L8002B230_ovl0 -/* 02BE24 8002B224 00000000 */ nop -/* 02BE28 8002B228 03E00008 */ jr $ra -/* 02BE2C 8002B22C 00601025 */ move $v0, $v1 - -.L8002B230_ovl0: -/* 02BE30 8002B230 03E00008 */ jr $ra -/* 02BE34 8002B234 00000000 */ nop - -glabel func_8002B238 -/* 02BE38 8002B238 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02BE3C 8002B23C AFBF0014 */ sw $ra, 0x14($sp) -/* 02BE40 8002B240 AFA5002C */ sw $a1, 0x2c($sp) -/* 02BE44 8002B244 908F0033 */ lbu $t7, 0x33($a0) -/* 02BE48 8002B248 908E0036 */ lbu $t6, 0x36($a0) -/* 02BE4C 8002B24C 90990030 */ lbu $t9, 0x30($a0) -/* 02BE50 8002B250 00803025 */ move $a2, $a0 -/* 02BE54 8002B254 01CF0019 */ multu $t6, $t7 -/* 02BE58 8002B258 AFA60028 */ sw $a2, 0x28($sp) -/* 02BE5C 8002B25C 00A02025 */ move $a0, $a1 -/* 02BE60 8002B260 0000C012 */ mflo $t8 -/* 02BE64 8002B264 00000000 */ nop -/* 02BE68 8002B268 00000000 */ nop -/* 02BE6C 8002B26C 03190019 */ multu $t8, $t9 -/* 02BE70 8002B270 00001812 */ mflo $v1 -/* 02BE74 8002B274 00031983 */ sra $v1, $v1, 6 -/* 02BE78 8002B278 0C00B26C */ jal func_8002C9B0 -/* 02BE7C 8002B27C AFA30024 */ sw $v1, 0x24($sp) -/* 02BE80 8002B280 8FA60028 */ lw $a2, 0x28($sp) -/* 02BE84 8002B284 A7A2001E */ sh $v0, 0x1e($sp) -/* 02BE88 8002B288 8FA4002C */ lw $a0, 0x2c($sp) -/* 02BE8C 8002B28C 0C00B434 */ jal func_8002D0D0 -/* 02BE90 8002B290 90C50031 */ lbu $a1, 0x31($a2) -/* 02BE94 8002B294 8FA60028 */ lw $a2, 0x28($sp) -/* 02BE98 8002B298 87AB001E */ lh $t3, 0x1e($sp) -/* 02BE9C 8002B29C 8FA30024 */ lw $v1, 0x24($sp) -/* 02BEA0 8002B2A0 8CC80020 */ lw $t0, 0x20($a2) -/* 02BEA4 8002B2A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 02BEA8 8002B2A8 9109000D */ lbu $t1, 0xd($t0) -/* 02BEAC 8002B2AC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 02BEB0 8002B2B0 00490019 */ multu $v0, $t1 -/* 02BEB4 8002B2B4 00005012 */ mflo $t2 -/* 02BEB8 8002B2B8 00000000 */ nop -/* 02BEBC 8002B2BC 00000000 */ nop -/* 02BEC0 8002B2C0 014B0019 */ multu $t2, $t3 -/* 02BEC4 8002B2C4 00002012 */ mflo $a0 -/* 02BEC8 8002B2C8 00042383 */ sra $a0, $a0, 0xe -/* 02BECC 8002B2CC 00000000 */ nop -/* 02BED0 8002B2D0 00640019 */ multu $v1, $a0 -/* 02BED4 8002B2D4 00001812 */ mflo $v1 -/* 02BED8 8002B2D8 00031BC2 */ srl $v1, $v1, 0xf -/* 02BEDC 8002B2DC 00031400 */ sll $v0, $v1, 0x10 -/* 02BEE0 8002B2E0 03E00008 */ jr $ra -/* 02BEE4 8002B2E4 00021403 */ sra $v0, $v0, 0x10 - -glabel func_8002B2E8 -/* 02BEE8 8002B2E8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 02BEEC 8002B2EC AFBF0034 */ sw $ra, 0x34($sp) -/* 02BEF0 8002B2F0 AFB60030 */ sw $s6, 0x30($sp) -/* 02BEF4 8002B2F4 AFB5002C */ sw $s5, 0x2c($sp) -/* 02BEF8 8002B2F8 AFB40028 */ sw $s4, 0x28($sp) -/* 02BEFC 8002B2FC AFB30024 */ sw $s3, 0x24($sp) -/* 02BF00 8002B300 AFB20020 */ sw $s2, 0x20($sp) -/* 02BF04 8002B304 AFB1001C */ sw $s1, 0x1c($sp) -/* 02BF08 8002B308 AFB00018 */ sw $s0, 0x18($sp) -/* 02BF0C 8002B30C AFA60068 */ sw $a2, 0x68($sp) -/* 02BF10 8002B310 8CB60010 */ lw $s6, 0x10($a1) -/* 02BF14 8002B314 0080A025 */ move $s4, $a0 -/* 02BF18 8002B318 00A0A825 */ move $s5, $a1 -/* 02BF1C 8002B31C 92CE0034 */ lbu $t6, 0x34($s6) -/* 02BF20 8002B320 55C0001A */ bnezl $t6, .L8002B38C_ovl0 -/* 02BF24 8002B324 240A0003 */ li $t2, 3 -/* 02BF28 8002B328 8C900058 */ lw $s0, 0x58($a0) -/* 02BF2C 8002B32C 24130006 */ li $s3, 6 -/* 02BF30 8002B330 52000016 */ beql $s0, $zero, .L8002B38C_ovl0 -/* 02BF34 8002B334 240A0003 */ li $t2, 3 -.L8002B338_ovl0: -/* 02BF38 8002B338 860F000C */ lh $t7, 0xc($s0) -/* 02BF3C 8002B33C 8E110000 */ lw $s1, ($s0) -/* 02BF40 8002B340 166F000F */ bne $s3, $t7, .L8002B380_ovl0 -/* 02BF44 8002B344 00000000 */ nop -/* 02BF48 8002B348 8E180010 */ lw $t8, 0x10($s0) -/* 02BF4C 8002B34C 16B8000C */ bne $s5, $t8, .L8002B380_ovl0 -/* 02BF50 8002B350 00000000 */ nop -/* 02BF54 8002B354 12200005 */ beqz $s1, .L8002B36C_ovl0 -/* 02BF58 8002B358 26920050 */ addiu $s2, $s4, 0x50 -/* 02BF5C 8002B35C 8E390008 */ lw $t9, 8($s1) -/* 02BF60 8002B360 8E080008 */ lw $t0, 8($s0) -/* 02BF64 8002B364 03284821 */ addu $t1, $t9, $t0 -/* 02BF68 8002B368 AE290008 */ sw $t1, 8($s1) -.L8002B36C_ovl0: -/* 02BF6C 8002B36C 0C0097DD */ jal func_80025F74 -/* 02BF70 8002B370 02002025 */ move $a0, $s0 -/* 02BF74 8002B374 02002025 */ move $a0, $s0 -/* 02BF78 8002B378 0C0097D4 */ jal func_80025F50 -/* 02BF7C 8002B37C 02402825 */ move $a1, $s2 -.L8002B380_ovl0: -/* 02BF80 8002B380 1620FFED */ bnez $s1, .L8002B338_ovl0 -/* 02BF84 8002B384 02208025 */ move $s0, $s1 -/* 02BF88 8002B388 240A0003 */ li $t2, 3 -.L8002B38C_ovl0: -/* 02BF8C 8002B38C A2C00033 */ sb $zero, 0x33($s6) -/* 02BF90 8002B390 A2CA0034 */ sb $t2, 0x34($s6) -/* 02BF94 8002B394 A2C00030 */ sb $zero, 0x30($s6) -/* 02BF98 8002B398 8FAC0068 */ lw $t4, 0x68($sp) -/* 02BF9C 8002B39C 8E8B001C */ lw $t3, 0x1c($s4) -/* 02BFA0 8002B3A0 02A02025 */ move $a0, $s5 -/* 02BFA4 8002B3A4 00002825 */ move $a1, $zero -/* 02BFA8 8002B3A8 016C6821 */ addu $t5, $t3, $t4 -/* 02BFAC 8002B3AC AECD0024 */ sw $t5, 0x24($s6) -/* 02BFB0 8002B3B0 0C00B264 */ jal func_8002C990 -/* 02BFB4 8002B3B4 26920050 */ addiu $s2, $s4, 0x50 -/* 02BFB8 8002B3B8 02A02025 */ move $a0, $s5 -/* 02BFBC 8002B3BC 00002825 */ move $a1, $zero -/* 02BFC0 8002B3C0 0C00B494 */ jal func_8002D250 -/* 02BFC4 8002B3C4 8FA60068 */ lw $a2, 0x68($sp) -/* 02BFC8 8002B3C8 240E0005 */ li $t6, 5 -/* 02BFCC 8002B3CC A7AE0050 */ sh $t6, 0x50($sp) -/* 02BFD0 8002B3D0 AFB50054 */ sw $s5, 0x54($sp) -/* 02BFD4 8002B3D4 02402025 */ move $a0, $s2 -/* 02BFD8 8002B3D8 27A50050 */ addiu $a1, $sp, 0x50 -/* 02BFDC 8002B3DC 0C009818 */ jal func_80026060 -/* 02BFE0 8002B3E0 8FA60068 */ lw $a2, 0x68($sp) -/* 02BFE4 8002B3E4 8FBF0034 */ lw $ra, 0x34($sp) -/* 02BFE8 8002B3E8 8FB00018 */ lw $s0, 0x18($sp) -/* 02BFEC 8002B3EC 8FB1001C */ lw $s1, 0x1c($sp) -/* 02BFF0 8002B3F0 8FB20020 */ lw $s2, 0x20($sp) -/* 02BFF4 8002B3F4 8FB30024 */ lw $s3, 0x24($sp) -/* 02BFF8 8002B3F8 8FB40028 */ lw $s4, 0x28($sp) -/* 02BFFC 8002B3FC 8FB5002C */ lw $s5, 0x2c($sp) -/* 02C000 8002B400 8FB60030 */ lw $s6, 0x30($sp) -/* 02C004 8002B404 03E00008 */ jr $ra -/* 02C008 8002B408 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel func_8002B40C -/* 02C00C 8002B40C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02C010 8002B410 AFBF0014 */ sw $ra, 0x14($sp) -/* 02C014 8002B414 8C870058 */ lw $a3, 0x58($a0) -/* 02C018 8002B418 00805025 */ move $t2, $a0 -/* 02C01C 8002B41C 00004025 */ move $t0, $zero -/* 02C020 8002B420 10E0001F */ beqz $a3, .L8002B4A0_ovl0 -/* 02C024 8002B424 24090001 */ li $t1, 1 -/* 02C028 8002B428 24040005 */ li $a0, 5 -.L8002B42C_ovl0: -/* 02C02C 8002B42C 84EE000C */ lh $t6, 0xc($a3) -/* 02C030 8002B430 8CE30008 */ lw $v1, 8($a3) -/* 02C034 8002B434 8CE20000 */ lw $v0, ($a3) -/* 02C038 8002B438 148E0017 */ bne $a0, $t6, .L8002B498_ovl0 -/* 02C03C 8002B43C 01034021 */ addu $t0, $t0, $v1 -/* 02C040 8002B440 8CEF0010 */ lw $t7, 0x10($a3) -/* 02C044 8002B444 14AF0014 */ bne $a1, $t7, .L8002B498_ovl0 -/* 02C048 8002B448 00C8082A */ slt $at, $a2, $t0 -/* 02C04C 8002B44C 10200010 */ beqz $at, .L8002B490_ovl0 -/* 02C050 8002B450 00E02025 */ move $a0, $a3 -/* 02C054 8002B454 50400005 */ beql $v0, $zero, .L8002B46C_ovl0 -/* 02C058 8002B458 AFA7002C */ sw $a3, 0x2c($sp) -/* 02C05C 8002B45C 8C580008 */ lw $t8, 8($v0) -/* 02C060 8002B460 0303C821 */ addu $t9, $t8, $v1 -/* 02C064 8002B464 AC590008 */ sw $t9, 8($v0) -/* 02C068 8002B468 AFA7002C */ sw $a3, 0x2c($sp) -.L8002B46C_ovl0: -/* 02C06C 8002B46C A3A9001F */ sb $t1, 0x1f($sp) -/* 02C070 8002B470 0C0097DD */ jal func_80025F74 -/* 02C074 8002B474 AFAA0030 */ sw $t2, 0x30($sp) -/* 02C078 8002B478 8FAA0030 */ lw $t2, 0x30($sp) -/* 02C07C 8002B47C 8FA4002C */ lw $a0, 0x2c($sp) -/* 02C080 8002B480 0C0097D4 */ jal func_80025F50 -/* 02C084 8002B484 25450050 */ addiu $a1, $t2, 0x50 -/* 02C088 8002B488 10000005 */ b .L8002B4A0_ovl0 -/* 02C08C 8002B48C 93A9001F */ lbu $t1, 0x1f($sp) -.L8002B490_ovl0: -/* 02C090 8002B490 10000003 */ b .L8002B4A0_ovl0 -/* 02C094 8002B494 00004825 */ move $t1, $zero -.L8002B498_ovl0: -/* 02C098 8002B498 1440FFE4 */ bnez $v0, .L8002B42C_ovl0 -/* 02C09C 8002B49C 00403825 */ move $a3, $v0 -.L8002B4A0_ovl0: -/* 02C0A0 8002B4A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 02C0A4 8002B4A4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 02C0A8 8002B4A8 01201025 */ move $v0, $t1 -/* 02C0AC 8002B4AC 03E00008 */ jr $ra -/* 02C0B0 8002B4B0 00000000 */ nop - -glabel func_8002B4B4 -/* 02C0B4 8002B4B4 8C83006C */ lw $v1, 0x6c($a0) -/* 02C0B8 8002B4B8 00001025 */ move $v0, $zero -/* 02C0BC 8002B4BC 24A6FFFC */ addiu $a2, $a1, -4 -/* 02C0C0 8002B4C0 10600016 */ beqz $v1, .L8002B51C_ovl0 -/* 02C0C4 8002B4C4 00000000 */ nop -.L8002B4C8_ovl0: -/* 02C0C8 8002B4C8 54660011 */ bnel $v1, $a2, .L8002B510_ovl0 -/* 02C0CC 8002B4CC 00601025 */ move $v0, $v1 -/* 02C0D0 8002B4D0 50400005 */ beql $v0, $zero, .L8002B4E8_ovl0 -/* 02C0D4 8002B4D4 8C6F0000 */ lw $t7, ($v1) -/* 02C0D8 8002B4D8 8C6E0000 */ lw $t6, ($v1) -/* 02C0DC 8002B4DC 10000003 */ b .L8002B4EC_ovl0 -/* 02C0E0 8002B4E0 AC4E0000 */ sw $t6, ($v0) -/* 02C0E4 8002B4E4 8C6F0000 */ lw $t7, ($v1) -.L8002B4E8_ovl0: -/* 02C0E8 8002B4E8 AC8F006C */ sw $t7, 0x6c($a0) -.L8002B4EC_ovl0: -/* 02C0EC 8002B4EC 8C980070 */ lw $t8, 0x70($a0) -/* 02C0F0 8002B4F0 54780003 */ bnel $v1, $t8, .L8002B500_ovl0 -/* 02C0F4 8002B4F4 8C990074 */ lw $t9, 0x74($a0) -/* 02C0F8 8002B4F8 AC820070 */ sw $v0, 0x70($a0) -/* 02C0FC 8002B4FC 8C990074 */ lw $t9, 0x74($a0) -.L8002B500_ovl0: -/* 02C100 8002B500 AC790000 */ sw $t9, ($v1) -/* 02C104 8002B504 03E00008 */ jr $ra -/* 02C108 8002B508 AC830074 */ sw $v1, 0x74($a0) - -glabel func_8002B50C -/* 02C10C 8002B50C 00601025 */ move $v0, $v1 -.L8002B510_ovl0: -/* 02C110 8002B510 8C630000 */ lw $v1, ($v1) -/* 02C114 8002B514 1460FFEC */ bnez $v1, .L8002B4C8_ovl0 -/* 02C118 8002B518 00000000 */ nop -.L8002B51C_ovl0: -/* 02C11C 8002B51C 03E00008 */ jr $ra -/* 02C120 8002B520 00000000 */ nop - -glabel func_8002B524 -/* 02C124 8002B524 908E0008 */ lbu $t6, 8($a0) -/* 02C128 8002B528 240100FF */ li $at, 255 -/* 02C12C 8002B52C 15C10019 */ bne $t6, $at, .L8002B594_ovl0 -/* 02C130 8002B530 00000000 */ nop -/* 02C134 8002B534 908F0009 */ lbu $t7, 9($a0) -/* 02C138 8002B538 24010051 */ li $at, 81 -/* 02C13C 8002B53C 24820004 */ addiu $v0, $a0, 4 -/* 02C140 8002B540 15E10014 */ bne $t7, $at, .L8002B594_ovl0 -/* 02C144 8002B544 00000000 */ nop -/* 02C148 8002B548 904E0008 */ lbu $t6, 8($v0) -/* 02C14C 8002B54C 90580007 */ lbu $t8, 7($v0) -/* 02C150 8002B550 8CA60018 */ lw $a2, 0x18($a1) -/* 02C154 8002B554 000E7A00 */ sll $t7, $t6, 8 -/* 02C158 8002B558 904E0009 */ lbu $t6, 9($v0) -/* 02C15C 8002B55C 0018CC00 */ sll $t9, $t8, 0x10 -/* 02C160 8002B560 032FC025 */ or $t8, $t9, $t7 -/* 02C164 8002B564 030E1825 */ or $v1, $t8, $t6 -/* 02C168 8002B568 44832000 */ mtc1 $v1, $f4 -/* 02C16C 8002B56C 241801E8 */ li $t8, 488 -/* 02C170 8002B570 10C00007 */ beqz $a2, .L8002B590_ovl0 -/* 02C174 8002B574 46802020 */ cvt.s.w $f0, $f4 -/* 02C178 8002B578 C4C60014 */ lwc1 $f6, 0x14($a2) -/* 02C17C 8002B57C 46060202 */ mul.s $f8, $f0, $f6 -/* 02C180 8002B580 4600428D */ trunc.w.s $f10, $f8 -/* 02C184 8002B584 440F5000 */ mfc1 $t7, $f10 -/* 02C188 8002B588 03E00008 */ jr $ra -/* 02C18C 8002B58C ACAF002C */ sw $t7, 0x2c($a1) - -.L8002B590_ovl0: -/* 02C190 8002B590 ACB8002C */ sw $t8, 0x2c($a1) -.L8002B594_ovl0: -/* 02C194 8002B594 03E00008 */ jr $ra -/* 02C198 8002B598 00000000 */ nop - -glabel func_8002B59C -/* 02C19C 8002B59C 8C8E0068 */ lw $t6, 0x68($a0) -/* 02C1A0 8002B5A0 00061080 */ sll $v0, $a2, 2 -/* 02C1A4 8002B5A4 00461023 */ subu $v0, $v0, $a2 -/* 02C1A8 8002B5A8 000210C0 */ sll $v0, $v0, 3 -/* 02C1AC 8002B5AC 01C27821 */ addu $t7, $t6, $v0 -/* 02C1B0 8002B5B0 ADE50000 */ sw $a1, ($t7) -/* 02C1B4 8002B5B4 8C990068 */ lw $t9, 0x68($a0) -/* 02C1B8 8002B5B8 90B80002 */ lbu $t8, 2($a1) -/* 02C1BC 8002B5BC 03224021 */ addu $t0, $t9, $v0 -/* 02C1C0 8002B5C0 A1180008 */ sb $t8, 8($t0) -/* 02C1C4 8002B5C4 8C8A0068 */ lw $t2, 0x68($a0) -/* 02C1C8 8002B5C8 84A9000C */ lh $t1, 0xc($a1) -/* 02C1CC 8002B5CC 01425821 */ addu $t3, $t2, $v0 -/* 02C1D0 8002B5D0 A5690004 */ sh $t1, 4($t3) -/* 02C1D4 8002B5D4 8C8D0068 */ lw $t5, 0x68($a0) -/* 02C1D8 8002B5D8 90AC0000 */ lbu $t4, ($a1) -/* 02C1DC 8002B5DC 01A27021 */ addu $t6, $t5, $v0 -/* 02C1E0 8002B5E0 03E00008 */ jr $ra -/* 02C1E4 8002B5E4 A1CC0011 */ sb $t4, 0x11($t6) - -glabel func_8002B5E8 -/* 02C1E8 8002B5E8 908F0031 */ lbu $t7, 0x31($a0) -/* 02C1EC 8002B5EC 8CAE0068 */ lw $t6, 0x68($a1) -/* 02C1F0 8002B5F0 8C890020 */ lw $t1, 0x20($a0) -/* 02C1F4 8002B5F4 000FC080 */ sll $t8, $t7, 2 -/* 02C1F8 8002B5F8 030FC023 */ subu $t8, $t8, $t7 -/* 02C1FC 8002B5FC 0018C0C0 */ sll $t8, $t8, 3 -/* 02C200 8002B600 01D8C821 */ addu $t9, $t6, $t8 -/* 02C204 8002B604 93280007 */ lbu $t0, 7($t9) -/* 02C208 8002B608 912A000C */ lbu $t2, 0xc($t1) -/* 02C20C 8002B60C 010A1821 */ addu $v1, $t0, $t2 -/* 02C210 8002B610 2463FFC0 */ addiu $v1, $v1, -0x40 -/* 02C214 8002B614 5C600003 */ bgtzl $v1, .L8002B624_ovl0 -/* 02C218 8002B618 2861007F */ slti $at, $v1, 0x7f -/* 02C21C 8002B61C 00001825 */ move $v1, $zero -/* 02C220 8002B620 2861007F */ slti $at, $v1, 0x7f -.L8002B624_ovl0: -/* 02C224 8002B624 14200002 */ bnez $at, .L8002B630_ovl0 -/* 02C228 8002B628 00000000 */ nop -/* 02C22C 8002B62C 2403007F */ li $v1, 127 -.L8002B630_ovl0: -/* 02C230 8002B630 03E00008 */ jr $ra -/* 02C234 8002B634 306200FF */ andi $v0, $v1, 0xff - -glabel func_8002B638 -/* 02C238 8002B638 AFA50004 */ sw $a1, 4($sp) -/* 02C23C 8002B63C AFA60008 */ sw $a2, 8($sp) -/* 02C240 8002B640 8C83006C */ lw $v1, 0x6c($a0) -/* 02C244 8002B644 30A500FF */ andi $a1, $a1, 0xff -/* 02C248 8002B648 30C600FF */ andi $a2, $a2, 0xff -/* 02C24C 8002B64C 10600013 */ beqz $v1, .L8002B69C_ovl0 -/* 02C250 8002B650 00A01025 */ move $v0, $a1 -/* 02C254 8002B654 24070004 */ li $a3, 4 -/* 02C258 8002B658 24050003 */ li $a1, 3 -/* 02C25C 8002B65C 906E0032 */ lbu $t6, 0x32($v1) -.L8002B660_ovl0: -/* 02C260 8002B660 544E000C */ bnel $v0, $t6, .L8002B694_ovl0 -/* 02C264 8002B664 8C630000 */ lw $v1, ($v1) -/* 02C268 8002B668 906F0031 */ lbu $t7, 0x31($v1) -/* 02C26C 8002B66C 54CF0009 */ bnel $a2, $t7, .L8002B694_ovl0 -/* 02C270 8002B670 8C630000 */ lw $v1, ($v1) -/* 02C274 8002B674 90640035 */ lbu $a0, 0x35($v1) -/* 02C278 8002B678 50A40006 */ beql $a1, $a0, .L8002B694_ovl0 -/* 02C27C 8002B67C 8C630000 */ lw $v1, ($v1) -/* 02C280 8002B680 50E40004 */ beql $a3, $a0, .L8002B694_ovl0 -/* 02C284 8002B684 8C630000 */ lw $v1, ($v1) -/* 02C288 8002B688 03E00008 */ jr $ra -/* 02C28C 8002B68C 00601025 */ move $v0, $v1 - -glabel func_8002B690 -/* 02C290 8002B690 8C630000 */ lw $v1, ($v1) -.L8002B694_ovl0: -/* 02C294 8002B694 5460FFF2 */ bnezl $v1, .L8002B660_ovl0 -/* 02C298 8002B698 906E0032 */ lbu $t6, 0x32($v1) -.L8002B69C_ovl0: -/* 02C29C 8002B69C 00001025 */ move $v0, $zero -/* 02C2A0 8002B6A0 03E00008 */ jr $ra -/* 02C2A4 8002B6A4 00000000 */ nop - -glabel func_8002B6A8 -/* 02C2A8 8002B6A8 AFA50004 */ sw $a1, 4($sp) -/* 02C2AC 8002B6AC AFA60008 */ sw $a2, 8($sp) -/* 02C2B0 8002B6B0 AFA7000C */ sw $a3, 0xc($sp) -/* 02C2B4 8002B6B4 8C830074 */ lw $v1, 0x74($a0) -/* 02C2B8 8002B6B8 30E700FF */ andi $a3, $a3, 0xff -/* 02C2BC 8002B6BC 30C600FF */ andi $a2, $a2, 0xff -/* 02C2C0 8002B6C0 10600010 */ beqz $v1, .L8002B704_ovl0 -/* 02C2C4 8002B6C4 30A500FF */ andi $a1, $a1, 0xff -/* 02C2C8 8002B6C8 8C6E0000 */ lw $t6, ($v1) -/* 02C2CC 8002B6CC AC8E0074 */ sw $t6, 0x74($a0) -/* 02C2D0 8002B6D0 AC600000 */ sw $zero, ($v1) -/* 02C2D4 8002B6D4 8C8F006C */ lw $t7, 0x6c($a0) -/* 02C2D8 8002B6D8 55E00004 */ bnezl $t7, .L8002B6EC_ovl0 -/* 02C2DC 8002B6DC 8C980070 */ lw $t8, 0x70($a0) -/* 02C2E0 8002B6E0 10000003 */ b .L8002B6F0_ovl0 -/* 02C2E4 8002B6E4 AC83006C */ sw $v1, 0x6c($a0) -/* 02C2E8 8002B6E8 8C980070 */ lw $t8, 0x70($a0) -.L8002B6EC_ovl0: -/* 02C2EC 8002B6EC AF030000 */ sw $v1, ($t8) -.L8002B6F0_ovl0: -/* 02C2F0 8002B6F0 AC830070 */ sw $v1, 0x70($a0) -/* 02C2F4 8002B6F4 A0670031 */ sb $a3, 0x31($v1) -/* 02C2F8 8002B6F8 A0650032 */ sb $a1, 0x32($v1) -/* 02C2FC 8002B6FC A0660033 */ sb $a2, 0x33($v1) -/* 02C300 8002B700 AC630014 */ sw $v1, 0x14($v1) -.L8002B704_ovl0: -/* 02C304 8002B704 03E00008 */ jr $ra -/* 02C308 8002B708 00601025 */ move $v0, $v1 - -glabel func_8002B70C -/* 02C30C 8002B70C AFA7000C */ sw $a3, 0xc($sp) -/* 02C310 8002B710 30E700FF */ andi $a3, $a3, 0xff -/* 02C314 8002B714 AFA50004 */ sw $a1, 4($sp) -/* 02C318 8002B718 AFA60008 */ sw $a2, 8($sp) -/* 02C31C 8002B71C 8C8E0068 */ lw $t6, 0x68($a0) -/* 02C320 8002B720 00077880 */ sll $t7, $a3, 2 -/* 02C324 8002B724 01E77823 */ subu $t7, $t7, $a3 -/* 02C328 8002B728 000F78C0 */ sll $t7, $t7, 3 -/* 02C32C 8002B72C 01CFC021 */ addu $t8, $t6, $t7 -/* 02C330 8002B730 8F020000 */ lw $v0, ($t8) -/* 02C334 8002B734 30A500FF */ andi $a1, $a1, 0xff -/* 02C338 8002B738 30CB00FF */ andi $t3, $a2, 0xff -/* 02C33C 8002B73C 8448000E */ lh $t0, 0xe($v0) -/* 02C340 8002B740 24030001 */ li $v1, 1 -/* 02C344 8002B744 00A04825 */ move $t1, $a1 -/* 02C348 8002B748 1900002E */ blez $t0, .L8002B804_ovl0 -/* 02C34C 8002B74C 00682821 */ addu $a1, $v1, $t0 -.L8002B750_ovl0: -/* 02C350 8002B750 04A10002 */ bgez $a1, .L8002B75C_ovl0 -/* 02C354 8002B754 00A00821 */ addu $at, $a1, $zero -/* 02C358 8002B758 24A10001 */ addiu $at, $a1, 1 -.L8002B75C_ovl0: -/* 02C35C 8002B75C 00012843 */ sra $a1, $at, 1 -/* 02C360 8002B760 0005C880 */ sll $t9, $a1, 2 -/* 02C364 8002B764 00596021 */ addu $t4, $v0, $t9 -/* 02C368 8002B768 8D87000C */ lw $a3, 0xc($t4) -/* 02C36C 8002B76C 00A02025 */ move $a0, $a1 -/* 02C370 8002B770 8CE60004 */ lw $a2, 4($a3) -/* 02C374 8002B774 90CA0002 */ lbu $t2, 2($a2) -/* 02C378 8002B778 012A082A */ slt $at, $t1, $t2 -/* 02C37C 8002B77C 54200011 */ bnezl $at, .L8002B7C4_ovl0 -/* 02C380 8002B780 012A082A */ slt $at, $t1, $t2 -/* 02C384 8002B784 90CD0003 */ lbu $t5, 3($a2) -/* 02C388 8002B788 01A9082A */ slt $at, $t5, $t1 -/* 02C38C 8002B78C 5420000D */ bnezl $at, .L8002B7C4_ovl0 -/* 02C390 8002B790 012A082A */ slt $at, $t1, $t2 -/* 02C394 8002B794 90CE0000 */ lbu $t6, ($a2) -/* 02C398 8002B798 01602825 */ move $a1, $t3 -/* 02C39C 8002B79C 016E082A */ slt $at, $t3, $t6 -/* 02C3A0 8002B7A0 54200008 */ bnezl $at, .L8002B7C4_ovl0 -/* 02C3A4 8002B7A4 012A082A */ slt $at, $t1, $t2 -/* 02C3A8 8002B7A8 90CF0001 */ lbu $t7, 1($a2) -/* 02C3AC 8002B7AC 01E5082A */ slt $at, $t7, $a1 -/* 02C3B0 8002B7B0 54200004 */ bnezl $at, .L8002B7C4_ovl0 -/* 02C3B4 8002B7B4 012A082A */ slt $at, $t1, $t2 -/* 02C3B8 8002B7B8 03E00008 */ jr $ra -/* 02C3BC 8002B7BC 00E01025 */ move $v0, $a3 - -glabel func_8002B7C0 -/* 02C3C0 8002B7C0 012A082A */ slt $at, $t1, $t2 -.L8002B7C4_ovl0: -/* 02C3C4 8002B7C4 14200009 */ bnez $at, .L8002B7EC_ovl0 -/* 02C3C8 8002B7C8 00000000 */ nop -/* 02C3CC 8002B7CC 90D80000 */ lbu $t8, ($a2) -/* 02C3D0 8002B7D0 0178082A */ slt $at, $t3, $t8 -/* 02C3D4 8002B7D4 50200008 */ beql $at, $zero, .L8002B7F8_ovl0 -/* 02C3D8 8002B7D8 24830001 */ addiu $v1, $a0, 1 -/* 02C3DC 8002B7DC 90D90003 */ lbu $t9, 3($a2) -/* 02C3E0 8002B7E0 0329082A */ slt $at, $t9, $t1 -/* 02C3E4 8002B7E4 54200004 */ bnezl $at, .L8002B7F8_ovl0 -/* 02C3E8 8002B7E8 24830001 */ addiu $v1, $a0, 1 -.L8002B7EC_ovl0: -/* 02C3EC 8002B7EC 10000002 */ b .L8002B7F8_ovl0 -/* 02C3F0 8002B7F0 2488FFFF */ addiu $t0, $a0, -1 -/* 02C3F4 8002B7F4 24830001 */ addiu $v1, $a0, 1 -.L8002B7F8_ovl0: -/* 02C3F8 8002B7F8 0103082A */ slt $at, $t0, $v1 -/* 02C3FC 8002B7FC 5020FFD4 */ beql $at, $zero, .L8002B750_ovl0 -/* 02C400 8002B800 00682821 */ addu $a1, $v1, $t0 -.L8002B804_ovl0: -/* 02C404 8002B804 00001025 */ move $v0, $zero -/* 02C408 8002B808 03E00008 */ jr $ra -/* 02C40C 8002B80C 00000000 */ nop - -glabel func_8002B810 -/* 02C410 8002B810 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 02C414 8002B814 AFBF0024 */ sw $ra, 0x24($sp) -/* 02C418 8002B818 90960008 */ lbu $s6, 8($a0) -/* 02C41C 8002B81C 90910009 */ lbu $s1, 9($a0) -/* 02C420 8002B820 9094000A */ lbu $s4, 0xa($a0) -/* 02C424 8002B824 32C300F0 */ andi $v1, $s6, 0xf0 -/* 02C428 8002B828 246EFF80 */ addiu $t6, $v1, -0x80 -/* 02C42C 8002B82C 2DC10061 */ sltiu $at, $t6, 0x61 -/* 02C430 8002B830 102001FE */ beqz $at, .L8002C02C_ovl0 -/* 02C434 8002B834 32D6000F */ andi $s6, $s6, 0xf -/* 02C438 8002B838 000E7080 */ sll $t6, $t6, 2 -/* 02C43C 8002B83C 3C018004 */ lui $at, 0x8004 -/* 02C440 8002B840 002E0821 */ addu $at, $at, $t6 -/* 02C444 8002B844 8C2E17F0 */ lw $t6, 0x17f0($at) -/* 02C448 8002B848 01C00008 */ jr $t6 -/* 02C44C 8002B84C 00000000 */ nop -/* 02C450 8002B850 528000D6 */ beql $s4, $zero, .L8002BBAC_ovl0 -/* 02C454 8002B854 02402025 */ move $a0, $s2 -/* 02C458 8002B858 8E4F0034 */ lw $t7, 0x34($s2) -/* 02C45C 8002B85C 24010001 */ li $at, 1 -/* 02C460 8002B860 02402025 */ move $a0, $s2 -/* 02C464 8002B864 15E101F1 */ bne $t7, $at, .L8002C02C_ovl0 -/* 02C468 8002B868 322500FF */ andi $a1, $s1, 0xff -/* 02C46C 8002B86C 328600FF */ andi $a2, $s4, 0xff -/* 02C470 8002B870 0C00ADC3 */ jal func_8002B70C -/* 02C474 8002B874 32C700FF */ andi $a3, $s6, 0xff -/* 02C478 8002B878 104001EC */ beqz $v0, .L8002C02C_ovl0 -/* 02C47C 8002B87C 0040B825 */ move $s7, $v0 -/* 02C480 8002B880 8E580068 */ lw $t8, 0x68($s2) -/* 02C484 8002B884 0016F080 */ sll $fp, $s6, 2 -/* 02C488 8002B888 03D6F023 */ subu $fp, $fp, $s6 -/* 02C48C 8002B88C 001EF0C0 */ sll $fp, $fp, 3 -/* 02C490 8002B890 031EC821 */ addu $t9, $t8, $fp -/* 02C494 8002B894 932E0008 */ lbu $t6, 8($t9) -/* 02C498 8002B898 A7A0008E */ sh $zero, 0x8e($sp) -/* 02C49C 8002B89C A3A00090 */ sb $zero, 0x90($sp) -/* 02C4A0 8002B8A0 02402025 */ move $a0, $s2 -/* 02C4A4 8002B8A4 322500FF */ andi $a1, $s1, 0xff -/* 02C4A8 8002B8A8 328600FF */ andi $a2, $s4, 0xff -/* 02C4AC 8002B8AC 32C700FF */ andi $a3, $s6, 0xff -/* 02C4B0 8002B8B0 0C00ADAA */ jal func_8002B6A8 -/* 02C4B4 8002B8B4 A7AE008C */ sh $t6, 0x8c($sp) -/* 02C4B8 8002B8B8 104001DC */ beqz $v0, .L8002C02C_ovl0 -/* 02C4BC 8002B8BC 00408025 */ move $s0, $v0 -/* 02C4C0 8002B8C0 24440004 */ addiu $a0, $v0, 4 -/* 02C4C4 8002B8C4 AFA40034 */ sw $a0, 0x34($sp) -/* 02C4C8 8002B8C8 0C00AAF4 */ jal func_8002ABD0 -/* 02C4CC 8002B8CC 27A5008C */ addiu $a1, $sp, 0x8c -/* 02C4D0 8002B8D0 AE170020 */ sw $s7, 0x20($s0) -/* 02C4D4 8002B8D4 A2000034 */ sb $zero, 0x34($s0) -/* 02C4D8 8002B8D8 8E4F0068 */ lw $t7, 0x68($s2) -/* 02C4DC 8002B8DC 24150002 */ li $s5, 2 -/* 02C4E0 8002B8E0 01FEC021 */ addu $t8, $t7, $fp -/* 02C4E4 8002B8E4 9319000B */ lbu $t9, 0xb($t8) -/* 02C4E8 8002B8E8 2B210040 */ slti $at, $t9, 0x40 -/* 02C4EC 8002B8EC 54200004 */ bnezl $at, .L8002B900_ovl0 -/* 02C4F0 8002B8F0 A2000035 */ sb $zero, 0x35($s0) -/* 02C4F4 8002B8F4 10000002 */ b .L8002B900_ovl0 -/* 02C4F8 8002B8F8 A2150035 */ sb $s5, 0x35($s0) -/* 02C4FC 8002B8FC A2000035 */ sb $zero, 0x35($s0) -.L8002B900_ovl0: -/* 02C500 8002B900 8EE20004 */ lw $v0, 4($s7) -/* 02C504 8002B904 904E0004 */ lbu $t6, 4($v0) -/* 02C508 8002B908 80590005 */ lb $t9, 5($v0) -/* 02C50C 8002B90C 022E7823 */ subu $t7, $s1, $t6 -/* 02C510 8002B910 000FC080 */ sll $t8, $t7, 2 -/* 02C514 8002B914 030FC023 */ subu $t8, $t8, $t7 -/* 02C518 8002B918 0018C0C0 */ sll $t8, $t8, 3 -/* 02C51C 8002B91C 030FC021 */ addu $t8, $t8, $t7 -/* 02C520 8002B920 0018C080 */ sll $t8, $t8, 2 -/* 02C524 8002B924 03192021 */ addu $a0, $t8, $t9 -/* 02C528 8002B928 00042400 */ sll $a0, $a0, 0x10 -/* 02C52C 8002B92C 0C00DC20 */ jal func_80037080 -/* 02C530 8002B930 00042403 */ sra $a0, $a0, 0x10 -/* 02C534 8002B934 E6000028 */ swc1 $f0, 0x28($s0) -/* 02C538 8002B938 8EEE0000 */ lw $t6, ($s7) -/* 02C53C 8002B93C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 02C540 8002B940 44812000 */ mtc1 $at, $f4 -/* 02C544 8002B944 91CF000C */ lbu $t7, 0xc($t6) -/* 02C548 8002B948 A20F0030 */ sb $t7, 0x30($s0) -/* 02C54C 8002B94C 8EF90000 */ lw $t9, ($s7) -/* 02C550 8002B950 8E58001C */ lw $t8, 0x1c($s2) -/* 02C554 8002B954 8F2E0000 */ lw $t6, ($t9) -/* 02C558 8002B958 A2000037 */ sb $zero, 0x37($s0) -/* 02C55C 8002B95C 030E7821 */ addu $t7, $t8, $t6 -/* 02C560 8002B960 AE0F0024 */ sw $t7, 0x24($s0) -/* 02C564 8002B964 8E590068 */ lw $t9, 0x68($s2) -/* 02C568 8002B968 033EC021 */ addu $t8, $t9, $fp -/* 02C56C 8002B96C 8F110000 */ lw $s1, ($t8) -/* 02C570 8002B970 E7A4007C */ swc1 $f4, 0x7c($sp) -/* 02C574 8002B974 92260004 */ lbu $a2, 4($s1) -/* 02C578 8002B978 50C0001A */ beql $a2, $zero, .L8002B9E4_ovl0 -/* 02C57C 8002B97C 4459F800 */ cfc1 $t9, $31 -/* 02C580 8002B980 8E42007C */ lw $v0, 0x7c($s2) -/* 02C584 8002B984 50400017 */ beql $v0, $zero, .L8002B9E4_ovl0 -/* 02C588 8002B988 4459F800 */ cfc1 $t9, $31 -/* 02C58C 8002B98C 922E0006 */ lbu $t6, 6($s1) -/* 02C590 8002B990 92270005 */ lbu $a3, 5($s1) -/* 02C594 8002B994 27A40074 */ addiu $a0, $sp, 0x74 -/* 02C598 8002B998 AFAE0010 */ sw $t6, 0x10($sp) -/* 02C59C 8002B99C 922F0007 */ lbu $t7, 7($s1) -/* 02C5A0 8002B9A0 27A5007C */ addiu $a1, $sp, 0x7c -/* 02C5A4 8002B9A4 0040F809 */ jalr $v0 -/* 02C5A8 8002B9A8 AFAF0014 */ sw $t7, 0x14($sp) -/* 02C5AC 8002B9AC 1040000C */ beqz $v0, .L8002B9E0_ovl0 -/* 02C5B0 8002B9B0 24190016 */ li $t9, 22 -/* 02C5B4 8002B9B4 8FB80074 */ lw $t8, 0x74($sp) -/* 02C5B8 8002B9B8 A7B900A4 */ sh $t9, 0xa4($sp) -/* 02C5BC 8002B9BC AFB000A8 */ sw $s0, 0xa8($sp) -/* 02C5C0 8002B9C0 26440050 */ addiu $a0, $s2, 0x50 -/* 02C5C4 8002B9C4 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 02C5C8 8002B9C8 00403025 */ move $a2, $v0 -/* 02C5CC 8002B9CC 0C009818 */ jal func_80026060 -/* 02C5D0 8002B9D0 AFB800AC */ sw $t8, 0xac($sp) -/* 02C5D4 8002B9D4 920E0037 */ lbu $t6, 0x37($s0) -/* 02C5D8 8002B9D8 35CF0001 */ ori $t7, $t6, 1 -/* 02C5DC 8002B9DC A20F0037 */ sb $t7, 0x37($s0) -.L8002B9E0_ovl0: -/* 02C5E0 8002B9E0 4459F800 */ cfc1 $t9, $31 -.L8002B9E4_ovl0: -/* 02C5E4 8002B9E4 24180001 */ li $t8, 1 -/* 02C5E8 8002B9E8 44D8F800 */ ctc1 $t8, $31 -/* 02C5EC 8002B9EC C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 02C5F0 8002B9F0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 02C5F4 8002B9F4 46003224 */ cvt.w.s $f8, $f6 -/* 02C5F8 8002B9F8 4458F800 */ cfc1 $t8, $31 -/* 02C5FC 8002B9FC 00000000 */ nop -/* 02C600 8002BA00 33180078 */ andi $t8, $t8, 0x78 -/* 02C604 8002BA04 53000013 */ beql $t8, $zero, .L8002BA54_ovl0 -/* 02C608 8002BA08 44184000 */ mfc1 $t8, $f8 -/* 02C60C 8002BA0C 44814000 */ mtc1 $at, $f8 -/* 02C610 8002BA10 24180001 */ li $t8, 1 -/* 02C614 8002BA14 46083201 */ sub.s $f8, $f6, $f8 -/* 02C618 8002BA18 44D8F800 */ ctc1 $t8, $31 -/* 02C61C 8002BA1C 00000000 */ nop -/* 02C620 8002BA20 46004224 */ cvt.w.s $f8, $f8 -/* 02C624 8002BA24 4458F800 */ cfc1 $t8, $31 -/* 02C628 8002BA28 00000000 */ nop -/* 02C62C 8002BA2C 33180078 */ andi $t8, $t8, 0x78 -/* 02C630 8002BA30 17000005 */ bnez $t8, .L8002BA48_ovl0 -/* 02C634 8002BA34 00000000 */ nop -/* 02C638 8002BA38 44184000 */ mfc1 $t8, $f8 -/* 02C63C 8002BA3C 3C018000 */ lui $at, 0x8000 -/* 02C640 8002BA40 10000007 */ b .L8002BA60_ovl0 -/* 02C644 8002BA44 0301C025 */ or $t8, $t8, $at -.L8002BA48_ovl0: -/* 02C648 8002BA48 10000005 */ b .L8002BA60_ovl0 -/* 02C64C 8002BA4C 2418FFFF */ li $t8, -1 -/* 02C650 8002BA50 44184000 */ mfc1 $t8, $f8 -.L8002BA54_ovl0: -/* 02C654 8002BA54 00000000 */ nop -/* 02C658 8002BA58 0700FFFB */ bltz $t8, .L8002BA48_ovl0 -/* 02C65C 8002BA5C 00000000 */ nop -.L8002BA60_ovl0: -/* 02C660 8002BA60 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02C664 8002BA64 44815000 */ mtc1 $at, $f10 -/* 02C668 8002BA68 A2180036 */ sb $t8, 0x36($s0) -/* 02C66C 8002BA6C 44D9F800 */ ctc1 $t9, $31 -/* 02C670 8002BA70 E7AA007C */ swc1 $f10, 0x7c($sp) -/* 02C674 8002BA74 92260008 */ lbu $a2, 8($s1) -/* 02C678 8002BA78 26550050 */ addiu $s5, $s2, 0x50 -/* 02C67C 8002BA7C 50C0001B */ beql $a2, $zero, .L8002BAEC_ovl0 -/* 02C680 8002BA80 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 02C684 8002BA84 8E42007C */ lw $v0, 0x7c($s2) -/* 02C688 8002BA88 50400018 */ beql $v0, $zero, .L8002BAEC_ovl0 -/* 02C68C 8002BA8C C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 02C690 8002BA90 922E000A */ lbu $t6, 0xa($s1) -/* 02C694 8002BA94 92270009 */ lbu $a3, 9($s1) -/* 02C698 8002BA98 27A40074 */ addiu $a0, $sp, 0x74 -/* 02C69C 8002BA9C AFAE0010 */ sw $t6, 0x10($sp) -/* 02C6A0 8002BAA0 922F000B */ lbu $t7, 0xb($s1) -/* 02C6A4 8002BAA4 27A5007C */ addiu $a1, $sp, 0x7c -/* 02C6A8 8002BAA8 0040F809 */ jalr $v0 -/* 02C6AC 8002BAAC AFAF0014 */ sw $t7, 0x14($sp) -/* 02C6B0 8002BAB0 1040000D */ beqz $v0, .L8002BAE8_ovl0 -/* 02C6B4 8002BAB4 24190017 */ li $t9, 23 -/* 02C6B8 8002BAB8 8FB80074 */ lw $t8, 0x74($sp) -/* 02C6BC 8002BABC A7B900A4 */ sh $t9, 0xa4($sp) -/* 02C6C0 8002BAC0 AFB000A8 */ sw $s0, 0xa8($sp) -/* 02C6C4 8002BAC4 A3B600B0 */ sb $s6, 0xb0($sp) -/* 02C6C8 8002BAC8 02A02025 */ move $a0, $s5 -/* 02C6CC 8002BACC 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 02C6D0 8002BAD0 00403025 */ move $a2, $v0 -/* 02C6D4 8002BAD4 0C009818 */ jal func_80026060 -/* 02C6D8 8002BAD8 AFB800AC */ sw $t8, 0xac($sp) -/* 02C6DC 8002BADC 920E0037 */ lbu $t6, 0x37($s0) -/* 02C6E0 8002BAE0 35CF0002 */ ori $t7, $t6, 2 -/* 02C6E4 8002BAE4 A20F0037 */ sb $t7, 0x37($s0) -.L8002BAE8_ovl0: -/* 02C6E8 8002BAE8 C7A4007C */ lwc1 $f4, 0x7c($sp) -.L8002BAEC_ovl0: -/* 02C6EC 8002BAEC C6080028 */ lwc1 $f8, 0x28($s0) -/* 02C6F0 8002BAF0 02002025 */ move $a0, $s0 -/* 02C6F4 8002BAF4 E604002C */ swc1 $f4, 0x2c($s0) -/* 02C6F8 8002BAF8 8E590068 */ lw $t9, 0x68($s2) -/* 02C6FC 8002BAFC C604002C */ lwc1 $f4, 0x2c($s0) -/* 02C700 8002BB00 02402825 */ move $a1, $s2 -/* 02C704 8002BB04 033E1021 */ addu $v0, $t9, $fp -/* 02C708 8002BB08 C446000C */ lwc1 $f6, 0xc($v0) -/* 02C70C 8002BB0C 9051000A */ lbu $s1, 0xa($v0) -/* 02C710 8002BB10 46083282 */ mul.s $f10, $f6, $f8 -/* 02C714 8002BB14 00000000 */ nop -/* 02C718 8002BB18 46045502 */ mul.s $f20, $f10, $f4 -/* 02C71C 8002BB1C 0C00AD7A */ jal func_8002B5E8 -/* 02C720 8002BB20 00000000 */ nop -/* 02C724 8002BB24 305400FF */ andi $s4, $v0, 0xff -/* 02C728 8002BB28 02002025 */ move $a0, $s0 -/* 02C72C 8002BB2C 0C00AC8E */ jal func_8002B238 -/* 02C730 8002BB30 02402825 */ move $a1, $s2 -/* 02C734 8002BB34 8EF80000 */ lw $t8, ($s7) -/* 02C738 8002BB38 8EE50008 */ lw $a1, 8($s7) -/* 02C73C 8002BB3C 4406A000 */ mfc1 $a2, $f20 -/* 02C740 8002BB40 8F130000 */ lw $s3, ($t8) -/* 02C744 8002BB44 00023C00 */ sll $a3, $v0, 0x10 -/* 02C748 8002BB48 00073C03 */ sra $a3, $a3, 0x10 -/* 02C74C 8002BB4C AFB10014 */ sw $s1, 0x14($sp) -/* 02C750 8002BB50 AFB40010 */ sw $s4, 0x10($sp) -/* 02C754 8002BB54 8FA40034 */ lw $a0, 0x34($sp) -/* 02C758 8002BB58 0C00AB9D */ jal func_8002AE74 -/* 02C75C 8002BB5C AFB30018 */ sw $s3, 0x18($sp) -/* 02C760 8002BB60 8FAF0034 */ lw $t7, 0x34($sp) -/* 02C764 8002BB64 240E0006 */ li $t6, 6 -/* 02C768 8002BB68 A7AE00A4 */ sh $t6, 0xa4($sp) -/* 02C76C 8002BB6C AFAF00A8 */ sw $t7, 0xa8($sp) -/* 02C770 8002BB70 8EF90000 */ lw $t9, ($s7) -/* 02C774 8002BB74 02A02025 */ move $a0, $s5 -/* 02C778 8002BB78 27A500A4 */ addiu $a1, $sp, 0xa4 -/* 02C77C 8002BB7C 9338000D */ lbu $t8, 0xd($t9) -/* 02C780 8002BB80 A3B800B0 */ sb $t8, 0xb0($sp) -/* 02C784 8002BB84 8EEE0000 */ lw $t6, ($s7) -/* 02C788 8002BB88 8DCF0004 */ lw $t7, 4($t6) -/* 02C78C 8002BB8C AFAF00AC */ sw $t7, 0xac($sp) -/* 02C790 8002BB90 8EF90000 */ lw $t9, ($s7) -/* 02C794 8002BB94 8F330000 */ lw $s3, ($t9) -/* 02C798 8002BB98 0C009818 */ jal func_80026060 -/* 02C79C 8002BB9C 02603025 */ move $a2, $s3 -/* 02C7A0 8002BBA0 10000123 */ b .L8002C030_ovl0 -/* 02C7A4 8002BBA4 8FBF0024 */ lw $ra, 0x24($sp) -/* 02C7A8 8002BBA8 02402025 */ move $a0, $s2 -.L8002BBAC_ovl0: -/* 02C7AC 8002BBAC 322500FF */ andi $a1, $s1, 0xff -/* 02C7B0 8002BBB0 0C00AD8E */ jal func_8002B638 -/* 02C7B4 8002BBB4 32C600FF */ andi $a2, $s6, 0xff -/* 02C7B8 8002BBB8 1040011C */ beqz $v0, .L8002C02C_ovl0 -/* 02C7BC 8002BBBC 00408025 */ move $s0, $v0 -/* 02C7C0 8002BBC0 90580035 */ lbu $t8, 0x35($v0) -/* 02C7C4 8002BBC4 24160002 */ li $s6, 2 -/* 02C7C8 8002BBC8 240E0004 */ li $t6, 4 -/* 02C7CC 8002BBCC 16D80003 */ bne $s6, $t8, .L8002BBDC_ovl0 -/* 02C7D0 8002BBD0 02402025 */ move $a0, $s2 -/* 02C7D4 8002BBD4 10000115 */ b .L8002C02C_ovl0 -/* 02C7D8 8002BBD8 A04E0035 */ sb $t6, 0x35($v0) -.L8002BBDC_ovl0: -/* 02C7DC 8002BBDC 8E0F0020 */ lw $t7, 0x20($s0) -/* 02C7E0 8002BBE0 241E0003 */ li $fp, 3 -/* 02C7E4 8002BBE4 A21E0035 */ sb $fp, 0x35($s0) -/* 02C7E8 8002BBE8 8DF90000 */ lw $t9, ($t7) -/* 02C7EC 8002BBEC 26050004 */ addiu $a1, $s0, 4 -/* 02C7F0 8002BBF0 0C00ACBA */ jal func_8002B2E8 -/* 02C7F4 8002BBF4 8F260008 */ lw $a2, 8($t9) -/* 02C7F8 8002BBF8 1000010D */ b .L8002C030_ovl0 -/* 02C7FC 8002BBFC 8FBF0024 */ lw $ra, 0x24($sp) -/* 02C800 8002BC00 02402025 */ move $a0, $s2 -/* 02C804 8002BC04 322500FF */ andi $a1, $s1, 0xff -/* 02C808 8002BC08 0C00AD8E */ jal func_8002B638 -/* 02C80C 8002BC0C 32C600FF */ andi $a2, $s6, 0xff -/* 02C810 8002BC10 10400106 */ beqz $v0, .L8002C02C_ovl0 -/* 02C814 8002BC14 00408025 */ move $s0, $v0 -/* 02C818 8002BC18 A0540033 */ sb $s4, 0x33($v0) -/* 02C81C 8002BC1C 00402025 */ move $a0, $v0 -/* 02C820 8002BC20 0C00AC8E */ jal func_8002B238 -/* 02C824 8002BC24 02402825 */ move $a1, $s2 -/* 02C828 8002BC28 8E43001C */ lw $v1, 0x1c($s2) -/* 02C82C 8002BC2C 8E180024 */ lw $t8, 0x24($s0) -/* 02C830 8002BC30 00022C00 */ sll $a1, $v0, 0x10 -/* 02C834 8002BC34 00052C03 */ sra $a1, $a1, 0x10 -/* 02C838 8002BC38 03032023 */ subu $a0, $t8, $v1 -/* 02C83C 8002BC3C 04800003 */ bltz $a0, .L8002BC4C_ovl0 -/* 02C840 8002BC40 240203E8 */ li $v0, 1000 -/* 02C844 8002BC44 10000001 */ b .L8002BC4C_ovl0 -/* 02C848 8002BC48 00801025 */ move $v0, $a0 -.L8002BC4C_ovl0: -/* 02C84C 8002BC4C 26040004 */ addiu $a0, $s0, 4 -/* 02C850 8002BC50 0C00B494 */ jal func_8002D250 -/* 02C854 8002BC54 00403025 */ move $a2, $v0 -/* 02C858 8002BC58 100000F5 */ b .L8002C030_ovl0 -/* 02C85C 8002BC5C 8FBF0024 */ lw $ra, 0x24($sp) -/* 02C860 8002BC60 8E4E0068 */ lw $t6, 0x68($s2) -/* 02C864 8002BC64 00167880 */ sll $t7, $s6, 2 -/* 02C868 8002BC68 01F67823 */ subu $t7, $t7, $s6 -/* 02C86C 8002BC6C 000F78C0 */ sll $t7, $t7, 3 -/* 02C870 8002BC70 01CFC821 */ addu $t9, $t6, $t7 -/* 02C874 8002BC74 100000ED */ b .L8002C02C_ovl0 -/* 02C878 8002BC78 A3310010 */ sb $s1, 0x10($t9) -/* 02C87C 8002BC7C 2A210041 */ slti $at, $s1, 0x41 -/* 02C880 8002BC80 14200009 */ bnez $at, .L8002BCA8_ovl0 -/* 02C884 8002BC84 02201025 */ move $v0, $s1 -/* 02C888 8002BC88 2401005B */ li $at, 91 -/* 02C88C 8002BC8C 10410087 */ beq $v0, $at, .L8002BEAC_ovl0 -/* 02C890 8002BC90 00167080 */ sll $t6, $s6, 2 -/* 02C894 8002BC94 2401005D */ li $at, 93 -/* 02C898 8002BC98 504100E5 */ beql $v0, $at, .L8002C030_ovl0 -/* 02C89C 8002BC9C 8FBF0024 */ lw $ra, 0x24($sp) -/* 02C8A0 8002BCA0 100000E3 */ b .L8002C030_ovl0 -/* 02C8A4 8002BCA4 8FBF0024 */ lw $ra, 0x24($sp) -.L8002BCA8_ovl0: -/* 02C8A8 8002BCA8 2841001C */ slti $at, $v0, 0x1c -/* 02C8AC 8002BCAC 14200006 */ bnez $at, .L8002BCC8_ovl0 -/* 02C8B0 8002BCB0 2458FFF9 */ addiu $t8, $v0, -7 -/* 02C8B4 8002BCB4 24010040 */ li $at, 64 -/* 02C8B8 8002BCB8 1041004F */ beq $v0, $at, .L8002BDF8_ovl0 -/* 02C8BC 8002BCBC 0016C880 */ sll $t9, $s6, 2 -/* 02C8C0 8002BCC0 100000DB */ b .L8002C030_ovl0 -/* 02C8C4 8002BCC4 8FBF0024 */ lw $ra, 0x24($sp) -.L8002BCC8_ovl0: -/* 02C8C8 8002BCC8 2F010015 */ sltiu $at, $t8, 0x15 -/* 02C8CC 8002BCCC 102000D7 */ beqz $at, .L8002C02C_ovl0 -/* 02C8D0 8002BCD0 0018C080 */ sll $t8, $t8, 2 -/* 02C8D4 8002BCD4 3C018004 */ lui $at, 0x8004 -/* 02C8D8 8002BCD8 00380821 */ addu $at, $at, $t8 -/* 02C8DC 8002BCDC 8C381974 */ lw $t8, 0x1974($at) -/* 02C8E0 8002BCE0 03000008 */ jr $t8 -/* 02C8E4 8002BCE4 00000000 */ nop -/* 02C8E8 8002BCE8 8E4E0068 */ lw $t6, 0x68($s2) -/* 02C8EC 8002BCEC 00167880 */ sll $t7, $s6, 2 -/* 02C8F0 8002BCF0 01F67823 */ subu $t7, $t7, $s6 -/* 02C8F4 8002BCF4 000F78C0 */ sll $t7, $t7, 3 -/* 02C8F8 8002BCF8 01CFC821 */ addu $t9, $t6, $t7 -/* 02C8FC 8002BCFC A3340007 */ sb $s4, 7($t9) -/* 02C900 8002BD00 8E50006C */ lw $s0, 0x6c($s2) -/* 02C904 8002BD04 520000CA */ beql $s0, $zero, .L8002C030_ovl0 -/* 02C908 8002BD08 8FBF0024 */ lw $ra, 0x24($sp) -/* 02C90C 8002BD0C 02C08825 */ move $s1, $s6 -/* 02C910 8002BD10 92180031 */ lbu $t8, 0x31($s0) -.L8002BD14_ovl0: -/* 02C914 8002BD14 02002025 */ move $a0, $s0 -/* 02C918 8002BD18 56380007 */ bnel $s1, $t8, .L8002BD38_ovl0 -/* 02C91C 8002BD1C 8E100000 */ lw $s0, ($s0) -/* 02C920 8002BD20 0C00AD7A */ jal func_8002B5E8 -/* 02C924 8002BD24 02402825 */ move $a1, $s2 -/* 02C928 8002BD28 26040004 */ addiu $a0, $s0, 4 -/* 02C92C 8002BD2C 0C00AB44 */ jal func_8002AD10 -/* 02C930 8002BD30 304500FF */ andi $a1, $v0, 0xff -/* 02C934 8002BD34 8E100000 */ lw $s0, ($s0) -.L8002BD38_ovl0: -/* 02C938 8002BD38 5600FFF6 */ bnezl $s0, .L8002BD14_ovl0 -/* 02C93C 8002BD3C 92180031 */ lbu $t8, 0x31($s0) -/* 02C940 8002BD40 100000BB */ b .L8002C030_ovl0 -/* 02C944 8002BD44 8FBF0024 */ lw $ra, 0x24($sp) -/* 02C948 8002BD48 8E4E0068 */ lw $t6, 0x68($s2) -/* 02C94C 8002BD4C 00167880 */ sll $t7, $s6, 2 -/* 02C950 8002BD50 01F67823 */ subu $t7, $t7, $s6 -/* 02C954 8002BD54 000F78C0 */ sll $t7, $t7, 3 -/* 02C958 8002BD58 01CFC821 */ addu $t9, $t6, $t7 -/* 02C95C 8002BD5C A3340009 */ sb $s4, 9($t9) -/* 02C960 8002BD60 8E50006C */ lw $s0, 0x6c($s2) -/* 02C964 8002BD64 520000B2 */ beql $s0, $zero, .L8002C030_ovl0 -/* 02C968 8002BD68 8FBF0024 */ lw $ra, 0x24($sp) -/* 02C96C 8002BD6C 02C08825 */ move $s1, $s6 -/* 02C970 8002BD70 24130003 */ li $s3, 3 -/* 02C974 8002BD74 92180031 */ lbu $t8, 0x31($s0) -.L8002BD78_ovl0: -/* 02C978 8002BD78 56380014 */ bnel $s1, $t8, .L8002BDCC_ovl0 -/* 02C97C 8002BD7C 8E100000 */ lw $s0, ($s0) -/* 02C980 8002BD80 920E0034 */ lbu $t6, 0x34($s0) -/* 02C984 8002BD84 02002025 */ move $a0, $s0 -/* 02C988 8002BD88 526E0010 */ beql $s3, $t6, .L8002BDCC_ovl0 -/* 02C98C 8002BD8C 8E100000 */ lw $s0, ($s0) -/* 02C990 8002BD90 0C00AC8E */ jal func_8002B238 -/* 02C994 8002BD94 02402825 */ move $a1, $s2 -/* 02C998 8002BD98 8E43001C */ lw $v1, 0x1c($s2) -/* 02C99C 8002BD9C 8E0F0024 */ lw $t7, 0x24($s0) -/* 02C9A0 8002BDA0 00022C00 */ sll $a1, $v0, 0x10 -/* 02C9A4 8002BDA4 00052C03 */ sra $a1, $a1, 0x10 -/* 02C9A8 8002BDA8 01E32023 */ subu $a0, $t7, $v1 -/* 02C9AC 8002BDAC 04800003 */ bltz $a0, .L8002BDBC_ovl0 -/* 02C9B0 8002BDB0 240203E8 */ li $v0, 1000 -/* 02C9B4 8002BDB4 10000001 */ b .L8002BDBC_ovl0 -/* 02C9B8 8002BDB8 00801025 */ move $v0, $a0 -.L8002BDBC_ovl0: -/* 02C9BC 8002BDBC 26040004 */ addiu $a0, $s0, 4 -/* 02C9C0 8002BDC0 0C00B494 */ jal func_8002D250 -/* 02C9C4 8002BDC4 00403025 */ move $a2, $v0 -/* 02C9C8 8002BDC8 8E100000 */ lw $s0, ($s0) -.L8002BDCC_ovl0: -/* 02C9CC 8002BDCC 5600FFEA */ bnezl $s0, .L8002BD78_ovl0 -/* 02C9D0 8002BDD0 92180031 */ lbu $t8, 0x31($s0) -/* 02C9D4 8002BDD4 10000096 */ b .L8002C030_ovl0 -/* 02C9D8 8002BDD8 8FBF0024 */ lw $ra, 0x24($sp) -/* 02C9DC 8002BDDC 8E590068 */ lw $t9, 0x68($s2) -/* 02C9E0 8002BDE0 0016C080 */ sll $t8, $s6, 2 -/* 02C9E4 8002BDE4 0316C023 */ subu $t8, $t8, $s6 -/* 02C9E8 8002BDE8 0018C0C0 */ sll $t8, $t8, 3 -/* 02C9EC 8002BDEC 03387021 */ addu $t6, $t9, $t8 -/* 02C9F0 8002BDF0 1000008E */ b .L8002C02C_ovl0 -/* 02C9F4 8002BDF4 A1D40008 */ sb $s4, 8($t6) -.L8002BDF8_ovl0: -/* 02C9F8 8002BDF8 8E4F0068 */ lw $t7, 0x68($s2) -/* 02C9FC 8002BDFC 0336C823 */ subu $t9, $t9, $s6 -/* 02CA00 8002BE00 0019C8C0 */ sll $t9, $t9, 3 -/* 02CA04 8002BE04 01F9C021 */ addu $t8, $t7, $t9 -/* 02CA08 8002BE08 A314000B */ sb $s4, 0xb($t8) -/* 02CA0C 8002BE0C 8E50006C */ lw $s0, 0x6c($s2) -/* 02CA10 8002BE10 52000087 */ beql $s0, $zero, .L8002C030_ovl0 -/* 02CA14 8002BE14 8FBF0024 */ lw $ra, 0x24($sp) -/* 02CA18 8002BE18 02C08825 */ move $s1, $s6 -/* 02CA1C 8002BE1C 24160002 */ li $s6, 2 -/* 02CA20 8002BE20 241E0003 */ li $fp, 3 -/* 02CA24 8002BE24 24170004 */ li $s7, 4 -/* 02CA28 8002BE28 24150002 */ li $s5, 2 -/* 02CA2C 8002BE2C 24130003 */ li $s3, 3 -/* 02CA30 8002BE30 920E0031 */ lbu $t6, 0x31($s0) -.L8002BE34_ovl0: -/* 02CA34 8002BE34 562E0019 */ bnel $s1, $t6, .L8002BE9C_ovl0 -/* 02CA38 8002BE38 8E100000 */ lw $s0, ($s0) -/* 02CA3C 8002BE3C 92020035 */ lbu $v0, 0x35($s0) -/* 02CA40 8002BE40 2A810040 */ slti $at, $s4, 0x40 -/* 02CA44 8002BE44 52620015 */ beql $s3, $v0, .L8002BE9C_ovl0 -/* 02CA48 8002BE48 8E100000 */ lw $s0, ($s0) -/* 02CA4C 8002BE4C 14200005 */ bnez $at, .L8002BE64_ovl0 -/* 02CA50 8002BE50 00000000 */ nop -/* 02CA54 8002BE54 54400011 */ bnezl $v0, .L8002BE9C_ovl0 -/* 02CA58 8002BE58 8E100000 */ lw $s0, ($s0) -/* 02CA5C 8002BE5C 1000000E */ b .L8002BE98_ovl0 -/* 02CA60 8002BE60 A2150035 */ sb $s5, 0x35($s0) -.L8002BE64_ovl0: -/* 02CA64 8002BE64 16C20003 */ bne $s6, $v0, .L8002BE74_ovl0 -/* 02CA68 8002BE68 00000000 */ nop -/* 02CA6C 8002BE6C 1000000A */ b .L8002BE98_ovl0 -/* 02CA70 8002BE70 A2000035 */ sb $zero, 0x35($s0) -.L8002BE74_ovl0: -/* 02CA74 8002BE74 56E20009 */ bnel $s7, $v0, .L8002BE9C_ovl0 -/* 02CA78 8002BE78 8E100000 */ lw $s0, ($s0) -/* 02CA7C 8002BE7C 8E0F0020 */ lw $t7, 0x20($s0) -/* 02CA80 8002BE80 A21E0035 */ sb $fp, 0x35($s0) -/* 02CA84 8002BE84 02402025 */ move $a0, $s2 -/* 02CA88 8002BE88 8DF90000 */ lw $t9, ($t7) -/* 02CA8C 8002BE8C 26050004 */ addiu $a1, $s0, 4 -/* 02CA90 8002BE90 0C00ACBA */ jal func_8002B2E8 -/* 02CA94 8002BE94 8F260008 */ lw $a2, 8($t9) -.L8002BE98_ovl0: -/* 02CA98 8002BE98 8E100000 */ lw $s0, ($s0) -.L8002BE9C_ovl0: -/* 02CA9C 8002BE9C 5600FFE5 */ bnezl $s0, .L8002BE34_ovl0 -/* 02CAA0 8002BEA0 920E0031 */ lbu $t6, 0x31($s0) -/* 02CAA4 8002BEA4 10000062 */ b .L8002C030_ovl0 -/* 02CAA8 8002BEA8 8FBF0024 */ lw $ra, 0x24($sp) -.L8002BEAC_ovl0: -/* 02CAAC 8002BEAC 8E580068 */ lw $t8, 0x68($s2) -/* 02CAB0 8002BEB0 01D67023 */ subu $t6, $t6, $s6 -/* 02CAB4 8002BEB4 000E70C0 */ sll $t6, $t6, 3 -/* 02CAB8 8002BEB8 030E7821 */ addu $t7, $t8, $t6 -/* 02CABC 8002BEBC A1F4000A */ sb $s4, 0xa($t7) -/* 02CAC0 8002BEC0 8E50006C */ lw $s0, 0x6c($s2) -/* 02CAC4 8002BEC4 5200005A */ beql $s0, $zero, .L8002C030_ovl0 -/* 02CAC8 8002BEC8 8FBF0024 */ lw $ra, 0x24($sp) -/* 02CACC 8002BECC 02C08825 */ move $s1, $s6 -/* 02CAD0 8002BED0 92190031 */ lbu $t9, 0x31($s0) -.L8002BED4_ovl0: -/* 02CAD4 8002BED4 26040004 */ addiu $a0, $s0, 4 -/* 02CAD8 8002BED8 56390004 */ bnel $s1, $t9, .L8002BEEC_ovl0 -/* 02CADC 8002BEDC 8E100000 */ lw $s0, ($s0) -/* 02CAE0 8002BEE0 0C00B3F9 */ jal func_8002CFE4 -/* 02CAE4 8002BEE4 328500FF */ andi $a1, $s4, 0xff -/* 02CAE8 8002BEE8 8E100000 */ lw $s0, ($s0) -.L8002BEEC_ovl0: -/* 02CAEC 8002BEEC 5600FFF9 */ bnezl $s0, .L8002BED4_ovl0 -/* 02CAF0 8002BEF0 92190031 */ lbu $t9, 0x31($s0) -/* 02CAF4 8002BEF4 1000004E */ b .L8002C030_ovl0 -/* 02CAF8 8002BEF8 8FBF0024 */ lw $ra, 0x24($sp) -/* 02CAFC 8002BEFC 2A810079 */ slti $at, $s4, 0x79 -/* 02CB00 8002BF00 14200009 */ bnez $at, .L8002BF28_ovl0 -/* 02CB04 8002BF04 02801025 */ move $v0, $s4 -/* 02CB08 8002BF08 8E4E0068 */ lw $t6, 0x68($s2) -/* 02CB0C 8002BF0C 00167880 */ sll $t7, $s6, 2 -/* 02CB10 8002BF10 01F67823 */ subu $t7, $t7, $s6 -/* 02CB14 8002BF14 000F78C0 */ sll $t7, $t7, 3 -/* 02CB18 8002BF18 241804B0 */ li $t8, 1200 -/* 02CB1C 8002BF1C 01CFC821 */ addu $t9, $t6, $t7 -/* 02CB20 8002BF20 10000042 */ b .L8002C02C_ovl0 -/* 02CB24 8002BF24 A7380004 */ sh $t8, 4($t9) -.L8002BF28_ovl0: -/* 02CB28 8002BF28 8E4F0068 */ lw $t7, 0x68($s2) -/* 02CB2C 8002BF2C 0016C080 */ sll $t8, $s6, 2 -/* 02CB30 8002BF30 0316C023 */ subu $t8, $t8, $s6 -/* 02CB34 8002BF34 00027080 */ sll $t6, $v0, 2 -/* 02CB38 8002BF38 01C27021 */ addu $t6, $t6, $v0 -/* 02CB3C 8002BF3C 0018C0C0 */ sll $t8, $t8, 3 -/* 02CB40 8002BF40 000E7040 */ sll $t6, $t6, 1 -/* 02CB44 8002BF44 01F8C821 */ addu $t9, $t7, $t8 -/* 02CB48 8002BF48 10000038 */ b .L8002C02C_ovl0 -/* 02CB4C 8002BF4C A72E0004 */ sh $t6, 4($t9) -/* 02CB50 8002BF50 10000036 */ b .L8002C02C_ovl0 -/* 02CB54 8002BF54 A2540078 */ sb $s4, 0x78($s2) -/* 02CB58 8002BF58 8E420020 */ lw $v0, 0x20($s2) -/* 02CB5C 8002BF5C 0011C080 */ sll $t8, $s1, 2 -/* 02CB60 8002BF60 02402025 */ move $a0, $s2 -/* 02CB64 8002BF64 844F0000 */ lh $t7, ($v0) -/* 02CB68 8002BF68 02C03025 */ move $a2, $s6 -/* 02CB6C 8002BF6C 00587021 */ addu $t6, $v0, $t8 -/* 02CB70 8002BF70 022F082A */ slt $at, $s1, $t7 -/* 02CB74 8002BF74 5020002E */ beql $at, $zero, .L8002C030_ovl0 -/* 02CB78 8002BF78 8FBF0024 */ lw $ra, 0x24($sp) -/* 02CB7C 8002BF7C 0C00AD67 */ jal func_8002B59C -/* 02CB80 8002BF80 8DC5000C */ lw $a1, 0xc($t6) -/* 02CB84 8002BF84 1000002A */ b .L8002C030_ovl0 -/* 02CB88 8002BF88 8FBF0024 */ lw $ra, 0x24($sp) -/* 02CB8C 8002BF8C 8E590068 */ lw $t9, 0x68($s2) -/* 02CB90 8002BF90 0016F080 */ sll $fp, $s6, 2 -/* 02CB94 8002BF94 03D6F023 */ subu $fp, $fp, $s6 -/* 02CB98 8002BF98 001EF0C0 */ sll $fp, $fp, 3 -/* 02CB9C 8002BF9C 033E7821 */ addu $t7, $t9, $fp -/* 02CBA0 8002BFA0 85F80004 */ lh $t8, 4($t7) -/* 02CBA4 8002BFA4 001471C0 */ sll $t6, $s4, 7 -/* 02CBA8 8002BFA8 01D1C821 */ addu $t9, $t6, $s1 -/* 02CBAC 8002BFAC 272FE000 */ addiu $t7, $t9, -0x2000 -/* 02CBB0 8002BFB0 030F0019 */ multu $t8, $t7 -/* 02CBB4 8002BFB4 00002012 */ mflo $a0 -/* 02CBB8 8002BFB8 04810002 */ bgez $a0, .L8002BFC4_ovl0 -/* 02CBBC 8002BFBC 00800821 */ addu $at, $a0, $zero -/* 02CBC0 8002BFC0 24811FFF */ addiu $at, $a0, 0x1fff -.L8002BFC4_ovl0: -/* 02CBC4 8002BFC4 00012343 */ sra $a0, $at, 0xd -/* 02CBC8 8002BFC8 0C00DC20 */ jal func_80037080 -/* 02CBCC 8002BFCC 00000000 */ nop -/* 02CBD0 8002BFD0 8E4E0068 */ lw $t6, 0x68($s2) -/* 02CBD4 8002BFD4 46000506 */ mov.s $f20, $f0 -/* 02CBD8 8002BFD8 01DEC821 */ addu $t9, $t6, $fp -/* 02CBDC 8002BFDC E720000C */ swc1 $f0, 0xc($t9) -/* 02CBE0 8002BFE0 8E50006C */ lw $s0, 0x6c($s2) -/* 02CBE4 8002BFE4 52000012 */ beql $s0, $zero, .L8002C030_ovl0 -/* 02CBE8 8002BFE8 8FBF0024 */ lw $ra, 0x24($sp) -/* 02CBEC 8002BFEC 02C08825 */ move $s1, $s6 -/* 02CBF0 8002BFF0 92180031 */ lbu $t8, 0x31($s0) -.L8002BFF4_ovl0: -/* 02CBF4 8002BFF4 5638000B */ bnel $s1, $t8, .L8002C024_ovl0 -/* 02CBF8 8002BFF8 8E100000 */ lw $s0, ($s0) -/* 02CBFC 8002BFFC C6060028 */ lwc1 $f6, 0x28($s0) -/* 02CC00 8002C000 C60A002C */ lwc1 $f10, 0x2c($s0) -/* 02CC04 8002C004 26040004 */ addiu $a0, $s0, 4 -/* 02CC08 8002C008 46143202 */ mul.s $f8, $f6, $f20 -/* 02CC0C 8002C00C 00000000 */ nop -/* 02CC10 8002C010 460A4102 */ mul.s $f4, $f8, $f10 -/* 02CC14 8002C014 44052000 */ mfc1 $a1, $f4 -/* 02CC18 8002C018 0C00B368 */ jal func_8002CDA0 -/* 02CC1C 8002C01C 00000000 */ nop -/* 02CC20 8002C020 8E100000 */ lw $s0, ($s0) -.L8002C024_ovl0: -/* 02CC24 8002C024 5600FFF3 */ bnezl $s0, .L8002BFF4_ovl0 -/* 02CC28 8002C028 92180031 */ lbu $t8, 0x31($s0) -.L8002C02C_ovl0: -/* 02CC2C 8002C02C 8FBF0024 */ lw $ra, 0x24($sp) -.L8002C030_ovl0: -/* 02CC30 8002C030 27BD00D0 */ addiu $sp, $sp, 0xd0 -/* 02CC34 8002C034 03E00008 */ jr $ra -/* 02CC38 8002C038 00000000 */ nop - -glabel func_8002C03C -/* 02CC3C 8002C03C 03E00008 */ jr $ra -/* 02CC40 8002C040 00000000 */ nop - -glabel func_8002C044 -/* 02CC44 8002C044 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 02CC48 8002C048 AFB50034 */ sw $s5, 0x34($sp) -/* 02CC4C 8002C04C AFB20028 */ sw $s2, 0x28($sp) -/* 02CC50 8002C050 248E0040 */ addiu $t6, $a0, 0x40 -/* 02CC54 8002C054 00809025 */ move $s2, $a0 -/* 02CC58 8002C058 AFBF0044 */ sw $ra, 0x44($sp) -/* 02CC5C 8002C05C AFBE0040 */ sw $fp, 0x40($sp) -/* 02CC60 8002C060 AFB7003C */ sw $s7, 0x3c($sp) -/* 02CC64 8002C064 AFB60038 */ sw $s6, 0x38($sp) -/* 02CC68 8002C068 AFB40030 */ sw $s4, 0x30($sp) -/* 02CC6C 8002C06C AFB3002C */ sw $s3, 0x2c($sp) -/* 02CC70 8002C070 AFB10024 */ sw $s1, 0x24($sp) -/* 02CC74 8002C074 AFB00020 */ sw $s0, 0x20($sp) -/* 02CC78 8002C078 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 02CC7C 8002C07C AFAE0050 */ sw $t6, 0x50($sp) -/* 02CC80 8002C080 24950050 */ addiu $s5, $a0, 0x50 -.L8002C084_ovl0: -/* 02CC84 8002C084 964F0040 */ lhu $t7, 0x40($s2) -/* 02CC88 8002C088 2DE10018 */ sltiu $at, $t7, 0x18 -/* 02CC8C 8002C08C 1020016A */ beqz $at, .L8002C638_ovl0 -/* 02CC90 8002C090 000F7880 */ sll $t7, $t7, 2 -/* 02CC94 8002C094 3C018004 */ lui $at, 0x8004 -/* 02CC98 8002C098 002F0821 */ addu $at, $at, $t7 -/* 02CC9C 8002C09C 8C2F19C8 */ lw $t7, 0x19c8($at) -/* 02CCA0 8002C0A0 01E00008 */ jr $t7 -/* 02CCA4 8002C0A4 00000000 */ nop -/* 02CCA8 8002C0A8 8E440018 */ lw $a0, 0x18($s2) -/* 02CCAC 8002C0AC 50800163 */ beql $a0, $zero, .L8002C63C_ovl0 -/* 02CCB0 8002C0B0 02A02025 */ move $a0, $s5 -/* 02CCB4 8002C0B4 0C00B292 */ jal func_8002CA48 -/* 02CCB8 8002C0B8 27A50088 */ addiu $a1, $sp, 0x88 -/* 02CCBC 8002C0BC 87A20088 */ lh $v0, 0x88($sp) -/* 02CCC0 8002C0C0 24010001 */ li $at, 1 -/* 02CCC4 8002C0C4 27A40088 */ addiu $a0, $sp, 0x88 -/* 02CCC8 8002C0C8 10410008 */ beq $v0, $at, .L8002C0EC_ovl0 -/* 02CCCC 8002C0CC 24010003 */ li $at, 3 -/* 02CCD0 8002C0D0 1041000F */ beq $v0, $at, .L8002C110_ovl0 -/* 02CCD4 8002C0D4 02402825 */ move $a1, $s2 -/* 02CCD8 8002C0D8 24010004 */ li $at, 4 -/* 02CCDC 8002C0DC 10410012 */ beq $v0, $at, .L8002C128_ovl0 -/* 02CCE0 8002C0E0 24180002 */ li $t8, 2 -/* 02CCE4 8002C0E4 10000155 */ b .L8002C63C_ovl0 -/* 02CCE8 8002C0E8 02A02025 */ move $a0, $s5 -.L8002C0EC_ovl0: -/* 02CCEC 8002C0EC AFB200D0 */ sw $s2, 0xd0($sp) -/* 02CCF0 8002C0F0 0C00AE04 */ jal func_8002B810 -/* 02CCF4 8002C0F4 AFB5004C */ sw $s5, 0x4c($sp) -/* 02CCF8 8002C0F8 8FB200D0 */ lw $s2, 0xd0($sp) -/* 02CCFC 8002C0FC 8FB5004C */ lw $s5, 0x4c($sp) -/* 02CD00 8002C100 0C00ABD8 */ jal func_8002AF60 -/* 02CD04 8002C104 02402025 */ move $a0, $s2 -/* 02CD08 8002C108 1000014C */ b .L8002C63C_ovl0 -/* 02CD0C 8002C10C 02A02025 */ move $a0, $s5 -.L8002C110_ovl0: -/* 02CD10 8002C110 0C00AD49 */ jal func_8002B524 -/* 02CD14 8002C114 27A40088 */ addiu $a0, $sp, 0x88 -/* 02CD18 8002C118 0C00ABD8 */ jal func_8002AF60 -/* 02CD1C 8002C11C 02402025 */ move $a0, $s2 -/* 02CD20 8002C120 10000146 */ b .L8002C63C_ovl0 -/* 02CD24 8002C124 02A02025 */ move $a0, $s5 -.L8002C128_ovl0: -/* 02CD28 8002C128 AE580034 */ sw $t8, 0x34($s2) -/* 02CD2C 8002C12C 24190010 */ li $t9, 16 -/* 02CD30 8002C130 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 02CD34 8002C134 A7B90088 */ sh $t9, 0x88($sp) -/* 02CD38 8002C138 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 02CD3C 8002C13C 02A02025 */ move $a0, $s5 -/* 02CD40 8002C140 0C009818 */ jal func_80026060 -/* 02CD44 8002C144 27A50088 */ addiu $a1, $sp, 0x88 -/* 02CD48 8002C148 1000013C */ b .L8002C63C_ovl0 -/* 02CD4C 8002C14C 02A02025 */ move $a0, $s5 -/* 02CD50 8002C150 240E0009 */ li $t6, 9 -/* 02CD54 8002C154 A7AE00BC */ sh $t6, 0xbc($sp) -/* 02CD58 8002C158 8E460064 */ lw $a2, 0x64($s2) -/* 02CD5C 8002C15C 02A02025 */ move $a0, $s5 -/* 02CD60 8002C160 0C009818 */ jal func_80026060 -/* 02CD64 8002C164 27A500BC */ addiu $a1, $sp, 0xbc -/* 02CD68 8002C168 10000134 */ b .L8002C63C_ovl0 -/* 02CD6C 8002C16C 02A02025 */ move $a0, $s5 -/* 02CD70 8002C170 8E500044 */ lw $s0, 0x44($s2) -/* 02CD74 8002C174 0C00AA9C */ jal func_8002AA70 -/* 02CD78 8002C178 02002025 */ move $a0, $s0 -/* 02CD7C 8002C17C 0C00B46C */ jal func_8002D1B0 -/* 02CD80 8002C180 02002025 */ move $a0, $s0 -/* 02CD84 8002C184 8E110010 */ lw $s1, 0x10($s0) -/* 02CD88 8002C188 02402025 */ move $a0, $s2 -/* 02CD8C 8002C18C 922F0037 */ lbu $t7, 0x37($s1) -/* 02CD90 8002C190 51E00004 */ beql $t7, $zero, .L8002C1A4_ovl0 -/* 02CD94 8002C194 02402025 */ move $a0, $s2 -/* 02CD98 8002C198 0C00B1A3 */ jal func_8002C68C -/* 02CD9C 8002C19C 02202825 */ move $a1, $s1 -/* 02CDA0 8002C1A0 02402025 */ move $a0, $s2 -.L8002C1A4_ovl0: -/* 02CDA4 8002C1A4 0C00AD2D */ jal func_8002B4B4 -/* 02CDA8 8002C1A8 02002825 */ move $a1, $s0 -/* 02CDAC 8002C1AC 10000123 */ b .L8002C63C_ovl0 -/* 02CDB0 8002C1B0 02A02025 */ move $a0, $s5 -/* 02CDB4 8002C1B4 8E500044 */ lw $s0, 0x44($s2) -/* 02CDB8 8002C1B8 24190001 */ li $t9, 1 -/* 02CDBC 8002C1BC 8E110010 */ lw $s1, 0x10($s0) -/* 02CDC0 8002C1C0 92380034 */ lbu $t8, 0x34($s1) -/* 02CDC4 8002C1C4 57000003 */ bnezl $t8, .L8002C1D4_ovl0 -/* 02CDC8 8002C1C8 924E004C */ lbu $t6, 0x4c($s2) -/* 02CDCC 8002C1CC A2390034 */ sb $t9, 0x34($s1) -/* 02CDD0 8002C1D0 924E004C */ lbu $t6, 0x4c($s2) -.L8002C1D4_ovl0: -/* 02CDD4 8002C1D4 8E530048 */ lw $s3, 0x48($s2) -/* 02CDD8 8002C1D8 02202025 */ move $a0, $s1 -/* 02CDDC 8002C1DC A22E0030 */ sb $t6, 0x30($s1) -/* 02CDE0 8002C1E0 8E4F001C */ lw $t7, 0x1c($s2) -/* 02CDE4 8002C1E4 02402825 */ move $a1, $s2 -/* 02CDE8 8002C1E8 01F3C021 */ addu $t8, $t7, $s3 -/* 02CDEC 8002C1EC 0C00AC8E */ jal func_8002B238 -/* 02CDF0 8002C1F0 AE380024 */ sw $t8, 0x24($s1) -/* 02CDF4 8002C1F4 00022C00 */ sll $a1, $v0, 0x10 -/* 02CDF8 8002C1F8 00052C03 */ sra $a1, $a1, 0x10 -/* 02CDFC 8002C1FC 02002025 */ move $a0, $s0 -/* 02CE00 8002C200 0C00B494 */ jal func_8002D250 -/* 02CE04 8002C204 02603025 */ move $a2, $s3 -/* 02CE08 8002C208 1000010C */ b .L8002C63C_ovl0 -/* 02CE0C 8002C20C 02A02025 */ move $a0, $s5 -/* 02CE10 8002C210 8E590080 */ lw $t9, 0x80($s2) -/* 02CE14 8002C214 8E540048 */ lw $s4, 0x48($s2) -/* 02CE18 8002C218 8E510044 */ lw $s1, 0x44($s2) -/* 02CE1C 8002C21C 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 02CE20 8002C220 0320F809 */ jalr $t9 -/* 02CE24 8002C224 02802025 */ move $a0, $s4 -/* 02CE28 8002C228 444EF800 */ cfc1 $t6, $31 -/* 02CE2C 8002C22C 240F0001 */ li $t7, 1 -/* 02CE30 8002C230 44CFF800 */ ctc1 $t7, $31 -/* 02CE34 8002C234 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 02CE38 8002C238 00409825 */ move $s3, $v0 -/* 02CE3C 8002C23C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 02CE40 8002C240 460021A4 */ cvt.w.s $f6, $f4 -/* 02CE44 8002C244 02202025 */ move $a0, $s1 -/* 02CE48 8002C248 02402825 */ move $a1, $s2 -/* 02CE4C 8002C24C 444FF800 */ cfc1 $t7, $31 -/* 02CE50 8002C250 00000000 */ nop -/* 02CE54 8002C254 31EF0078 */ andi $t7, $t7, 0x78 -/* 02CE58 8002C258 51E00013 */ beql $t7, $zero, .L8002C2A8_ovl0 -/* 02CE5C 8002C25C 440F3000 */ mfc1 $t7, $f6 -/* 02CE60 8002C260 44813000 */ mtc1 $at, $f6 -/* 02CE64 8002C264 240F0001 */ li $t7, 1 -/* 02CE68 8002C268 46062181 */ sub.s $f6, $f4, $f6 -/* 02CE6C 8002C26C 44CFF800 */ ctc1 $t7, $31 -/* 02CE70 8002C270 00000000 */ nop -/* 02CE74 8002C274 460031A4 */ cvt.w.s $f6, $f6 -/* 02CE78 8002C278 444FF800 */ cfc1 $t7, $31 -/* 02CE7C 8002C27C 00000000 */ nop -/* 02CE80 8002C280 31EF0078 */ andi $t7, $t7, 0x78 -/* 02CE84 8002C284 15E00005 */ bnez $t7, .L8002C29C_ovl0 -/* 02CE88 8002C288 00000000 */ nop -/* 02CE8C 8002C28C 440F3000 */ mfc1 $t7, $f6 -/* 02CE90 8002C290 3C018000 */ lui $at, 0x8000 -/* 02CE94 8002C294 10000007 */ b .L8002C2B4_ovl0 -/* 02CE98 8002C298 01E17825 */ or $t7, $t7, $at -.L8002C29C_ovl0: -/* 02CE9C 8002C29C 10000005 */ b .L8002C2B4_ovl0 -/* 02CEA0 8002C2A0 240FFFFF */ li $t7, -1 -/* 02CEA4 8002C2A4 440F3000 */ mfc1 $t7, $f6 -.L8002C2A8_ovl0: -/* 02CEA8 8002C2A8 00000000 */ nop -/* 02CEAC 8002C2AC 05E0FFFB */ bltz $t7, .L8002C29C_ovl0 -/* 02CEB0 8002C2B0 00000000 */ nop -.L8002C2B4_ovl0: -/* 02CEB4 8002C2B4 44CEF800 */ ctc1 $t6, $31 -/* 02CEB8 8002C2B8 0C00AC8E */ jal func_8002B238 -/* 02CEBC 8002C2BC A22F0036 */ sb $t7, 0x36($s1) -/* 02CEC0 8002C2C0 8E43001C */ lw $v1, 0x1c($s2) -/* 02CEC4 8002C2C4 8E380024 */ lw $t8, 0x24($s1) -/* 02CEC8 8002C2C8 00022C00 */ sll $a1, $v0, 0x10 -/* 02CECC 8002C2CC 00052C03 */ sra $a1, $a1, 0x10 -/* 02CED0 8002C2D0 03032023 */ subu $a0, $t8, $v1 -/* 02CED4 8002C2D4 04800003 */ bltz $a0, .L8002C2E4_ovl0 -/* 02CED8 8002C2D8 240203E8 */ li $v0, 1000 -/* 02CEDC 8002C2DC 10000001 */ b .L8002C2E4_ovl0 -/* 02CEE0 8002C2E0 00801025 */ move $v0, $a0 -.L8002C2E4_ovl0: -/* 02CEE4 8002C2E4 26240004 */ addiu $a0, $s1, 4 -/* 02CEE8 8002C2E8 0C00B494 */ jal func_8002D250 -/* 02CEEC 8002C2EC 00403025 */ move $a2, $v0 -/* 02CEF0 8002C2F0 24190016 */ li $t9, 22 -/* 02CEF4 8002C2F4 A7B900BC */ sh $t9, 0xbc($sp) -/* 02CEF8 8002C2F8 AFB100C0 */ sw $s1, 0xc0($sp) -/* 02CEFC 8002C2FC AFB400C4 */ sw $s4, 0xc4($sp) -/* 02CF00 8002C300 02A02025 */ move $a0, $s5 -/* 02CF04 8002C304 27A500BC */ addiu $a1, $sp, 0xbc -/* 02CF08 8002C308 0C009818 */ jal func_80026060 -/* 02CF0C 8002C30C 02603025 */ move $a2, $s3 -/* 02CF10 8002C310 100000CA */ b .L8002C63C_ovl0 -/* 02CF14 8002C314 02A02025 */ move $a0, $s5 -/* 02CF18 8002C318 8E590080 */ lw $t9, 0x80($s2) -/* 02CF1C 8002C31C 8E540048 */ lw $s4, 0x48($s2) -/* 02CF20 8002C320 8E510044 */ lw $s1, 0x44($s2) -/* 02CF24 8002C324 9250004C */ lbu $s0, 0x4c($s2) -/* 02CF28 8002C328 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 02CF2C 8002C32C 0320F809 */ jalr $t9 -/* 02CF30 8002C330 02802025 */ move $a0, $s4 -/* 02CF34 8002C334 C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 02CF38 8002C338 00107880 */ sll $t7, $s0, 2 -/* 02CF3C 8002C33C 01F07823 */ subu $t7, $t7, $s0 -/* 02CF40 8002C340 E628002C */ swc1 $f8, 0x2c($s1) -/* 02CF44 8002C344 8E4E0068 */ lw $t6, 0x68($s2) -/* 02CF48 8002C348 C634002C */ lwc1 $f20, 0x2c($s1) -/* 02CF4C 8002C34C 000F78C0 */ sll $t7, $t7, 3 -/* 02CF50 8002C350 01CF1821 */ addu $v1, $t6, $t7 -/* 02CF54 8002C354 90780010 */ lbu $t8, 0x10($v1) -/* 02CF58 8002C358 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02CF5C 8002C35C 44810000 */ mtc1 $at, $f0 -/* 02CF60 8002C360 44989000 */ mtc1 $t8, $f18 -/* 02CF64 8002C364 00409825 */ move $s3, $v0 -/* 02CF68 8002C368 4600A101 */ sub.s $f4, $f20, $f0 -/* 02CF6C 8002C36C 26240004 */ addiu $a0, $s1, 4 -/* 02CF70 8002C370 07010005 */ bgez $t8, .L8002C388_ovl0 -/* 02CF74 8002C374 46809220 */ cvt.s.w $f8, $f18 -/* 02CF78 8002C378 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 02CF7C 8002C37C 44815000 */ mtc1 $at, $f10 -/* 02CF80 8002C380 00000000 */ nop -/* 02CF84 8002C384 460A4200 */ add.s $f8, $f8, $f10 -.L8002C388_ovl0: -/* 02CF88 8002C388 46082182 */ mul.s $f6, $f4, $f8 -/* 02CF8C 8002C38C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 02CF90 8002C390 44815000 */ mtc1 $at, $f10 -/* 02CF94 8002C394 00000000 */ nop -/* 02CF98 8002C398 460A3103 */ div.s $f4, $f6, $f10 -/* 02CF9C 8002C39C C6260028 */ lwc1 $f6, 0x28($s1) -/* 02CFA0 8002C3A0 46002200 */ add.s $f8, $f4, $f0 -/* 02CFA4 8002C3A4 C464000C */ lwc1 $f4, 0xc($v1) -/* 02CFA8 8002C3A8 46083282 */ mul.s $f10, $f6, $f8 -/* 02CFAC 8002C3AC 00000000 */ nop -/* 02CFB0 8002C3B0 460A2182 */ mul.s $f6, $f4, $f10 -/* 02CFB4 8002C3B4 44053000 */ mfc1 $a1, $f6 -/* 02CFB8 8002C3B8 0C00B368 */ jal func_8002CDA0 -/* 02CFBC 8002C3BC 00000000 */ nop -/* 02CFC0 8002C3C0 24190017 */ li $t9, 23 -/* 02CFC4 8002C3C4 A7B900BC */ sh $t9, 0xbc($sp) -/* 02CFC8 8002C3C8 AFB100C0 */ sw $s1, 0xc0($sp) -/* 02CFCC 8002C3CC AFB400C4 */ sw $s4, 0xc4($sp) -/* 02CFD0 8002C3D0 A3B000C8 */ sb $s0, 0xc8($sp) -/* 02CFD4 8002C3D4 02A02025 */ move $a0, $s5 -/* 02CFD8 8002C3D8 27A500BC */ addiu $a1, $sp, 0xbc -/* 02CFDC 8002C3DC 0C009818 */ jal func_80026060 -/* 02CFE0 8002C3E0 02603025 */ move $a2, $s3 -/* 02CFE4 8002C3E4 10000095 */ b .L8002C63C_ovl0 -/* 02CFE8 8002C3E8 02A02025 */ move $a0, $s5 -/* 02CFEC 8002C3EC 8FA40050 */ lw $a0, 0x50($sp) -/* 02CFF0 8002C3F0 AFB200D0 */ sw $s2, 0xd0($sp) -/* 02CFF4 8002C3F4 0C00AE04 */ jal func_8002B810 -/* 02CFF8 8002C3F8 AFB5004C */ sw $s5, 0x4c($sp) -/* 02CFFC 8002C3FC 8FB200D0 */ lw $s2, 0xd0($sp) -/* 02D000 8002C400 1000008D */ b .L8002C638_ovl0 -/* 02D004 8002C404 8FB5004C */ lw $s5, 0x4c($sp) -/* 02D008 8002C408 02402825 */ move $a1, $s2 -/* 02D00C 8002C40C 0C00AD49 */ jal func_8002B524 -/* 02D010 8002C410 8FA40050 */ lw $a0, 0x50($sp) -/* 02D014 8002C414 10000089 */ b .L8002C63C_ovl0 -/* 02D018 8002C418 02A02025 */ move $a0, $s5 -/* 02D01C 8002C41C 8E4E0034 */ lw $t6, 0x34($s2) -/* 02D020 8002C420 24010001 */ li $at, 1 -/* 02D024 8002C424 240F0001 */ li $t7, 1 -/* 02D028 8002C428 11C10083 */ beq $t6, $at, .L8002C638_ovl0 -/* 02D02C 8002C42C 02402025 */ move $a0, $s2 -/* 02D030 8002C430 0C00ABD8 */ jal func_8002AF60 -/* 02D034 8002C434 AE4F0034 */ sw $t7, 0x34($s2) -/* 02D038 8002C438 10000080 */ b .L8002C63C_ovl0 -/* 02D03C 8002C43C 02A02025 */ move $a0, $s5 -/* 02D040 8002C440 8E580034 */ lw $t8, 0x34($s2) -/* 02D044 8002C444 24010002 */ li $at, 2 -/* 02D048 8002C448 5701007C */ bnel $t8, $at, .L8002C63C_ovl0 -/* 02D04C 8002C44C 02A02025 */ move $a0, $s5 -/* 02D050 8002C450 8E51006C */ lw $s1, 0x6c($s2) -/* 02D054 8002C454 12200011 */ beqz $s1, .L8002C49C_ovl0 -/* 02D058 8002C458 26300004 */ addiu $s0, $s1, 4 -.L8002C45C_ovl0: -/* 02D05C 8002C45C 0C00AA9C */ jal func_8002AA70 -/* 02D060 8002C460 02002025 */ move $a0, $s0 -/* 02D064 8002C464 0C00B46C */ jal func_8002D1B0 -/* 02D068 8002C468 02002025 */ move $a0, $s0 -/* 02D06C 8002C46C 92390037 */ lbu $t9, 0x37($s1) -/* 02D070 8002C470 02402025 */ move $a0, $s2 -/* 02D074 8002C474 53200004 */ beql $t9, $zero, .L8002C488_ovl0 -/* 02D078 8002C478 02402025 */ move $a0, $s2 -/* 02D07C 8002C47C 0C00B1A3 */ jal func_8002C68C -/* 02D080 8002C480 02202825 */ move $a1, $s1 -/* 02D084 8002C484 02402025 */ move $a0, $s2 -.L8002C488_ovl0: -/* 02D088 8002C488 0C00AD2D */ jal func_8002B4B4 -/* 02D08C 8002C48C 02002825 */ move $a1, $s0 -/* 02D090 8002C490 8E51006C */ lw $s1, 0x6c($s2) -/* 02D094 8002C494 5620FFF1 */ bnezl $s1, .L8002C45C_ovl0 -/* 02D098 8002C498 26300004 */ addiu $s0, $s1, 4 -.L8002C49C_ovl0: -/* 02D09C 8002C49C AE40001C */ sw $zero, 0x1c($s2) -/* 02D0A0 8002C4A0 10000065 */ b .L8002C638_ovl0 -/* 02D0A4 8002C4A4 AE400034 */ sw $zero, 0x34($s2) -/* 02D0A8 8002C4A8 8E4E0034 */ lw $t6, 0x34($s2) -/* 02D0AC 8002C4AC 24010001 */ li $at, 1 -/* 02D0B0 8002C4B0 02A02025 */ move $a0, $s5 -/* 02D0B4 8002C4B4 55C10061 */ bnel $t6, $at, .L8002C63C_ovl0 -/* 02D0B8 8002C4B8 02A02025 */ move $a0, $s5 -/* 02D0BC 8002C4BC 0C0097E9 */ jal func_80025FA4 -/* 02D0C0 8002C4C0 00002825 */ move $a1, $zero -/* 02D0C4 8002C4C4 02A02025 */ move $a0, $s5 -/* 02D0C8 8002C4C8 0C0097E9 */ jal func_80025FA4 -/* 02D0CC 8002C4CC 24050002 */ li $a1, 2 -/* 02D0D0 8002C4D0 8E51006C */ lw $s1, 0x6c($s2) -/* 02D0D4 8002C4D4 1220000D */ beqz $s1, .L8002C50C_ovl0 -/* 02D0D8 8002C4D8 26300004 */ addiu $s0, $s1, 4 -.L8002C4DC_ovl0: -/* 02D0DC 8002C4DC 02002825 */ move $a1, $s0 -/* 02D0E0 8002C4E0 02402025 */ move $a0, $s2 -/* 02D0E4 8002C4E4 0C00AD03 */ jal func_8002B40C -/* 02D0E8 8002C4E8 3406C350 */ li $a2, 50000 -/* 02D0EC 8002C4EC 10400004 */ beqz $v0, .L8002C500_ovl0 -/* 02D0F0 8002C4F0 02402025 */ move $a0, $s2 -/* 02D0F4 8002C4F4 02002825 */ move $a1, $s0 -/* 02D0F8 8002C4F8 0C00ACBA */ jal func_8002B2E8 -/* 02D0FC 8002C4FC 3406C350 */ li $a2, 50000 -.L8002C500_ovl0: -/* 02D100 8002C500 8E310000 */ lw $s1, ($s1) -/* 02D104 8002C504 5620FFF5 */ bnezl $s1, .L8002C4DC_ovl0 -/* 02D108 8002C508 26300004 */ addiu $s0, $s1, 4 -.L8002C50C_ovl0: -/* 02D10C 8002C50C 240F0002 */ li $t7, 2 -/* 02D110 8002C510 AE4F0034 */ sw $t7, 0x34($s2) -/* 02D114 8002C514 24180010 */ li $t8, 16 -/* 02D118 8002C518 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff -/* 02D11C 8002C51C A7B800BC */ sh $t8, 0xbc($sp) -/* 02D120 8002C520 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff -/* 02D124 8002C524 02A02025 */ move $a0, $s5 -/* 02D128 8002C528 0C009818 */ jal func_80026060 -/* 02D12C 8002C52C 27A500BC */ addiu $a1, $sp, 0xbc -/* 02D130 8002C530 10000042 */ b .L8002C63C_ovl0 -/* 02D134 8002C534 02A02025 */ move $a0, $s5 -/* 02D138 8002C538 8E51006C */ lw $s1, 0x6c($s2) -/* 02D13C 8002C53C 86590044 */ lh $t9, 0x44($s2) -/* 02D140 8002C540 1220003D */ beqz $s1, .L8002C638_ovl0 -/* 02D144 8002C544 A659003A */ sh $t9, 0x3a($s2) -/* 02D148 8002C548 02202025 */ move $a0, $s1 -.L8002C54C_ovl0: -/* 02D14C 8002C54C 0C00AC8E */ jal func_8002B238 -/* 02D150 8002C550 02402825 */ move $a1, $s2 -/* 02D154 8002C554 8E43001C */ lw $v1, 0x1c($s2) -/* 02D158 8002C558 8E2E0024 */ lw $t6, 0x24($s1) -/* 02D15C 8002C55C 00022C00 */ sll $a1, $v0, 0x10 -/* 02D160 8002C560 00052C03 */ sra $a1, $a1, 0x10 -/* 02D164 8002C564 01C32023 */ subu $a0, $t6, $v1 -/* 02D168 8002C568 04800003 */ bltz $a0, .L8002C578_ovl0 -/* 02D16C 8002C56C 240203E8 */ li $v0, 1000 -/* 02D170 8002C570 10000001 */ b .L8002C578_ovl0 -/* 02D174 8002C574 00801025 */ move $v0, $a0 -.L8002C578_ovl0: -/* 02D178 8002C578 26240004 */ addiu $a0, $s1, 4 -/* 02D17C 8002C57C 0C00B494 */ jal func_8002D250 -/* 02D180 8002C580 00403025 */ move $a2, $v0 -/* 02D184 8002C584 8E310000 */ lw $s1, ($s1) -/* 02D188 8002C588 5620FFF0 */ bnezl $s1, .L8002C54C_ovl0 -/* 02D18C 8002C58C 02202025 */ move $a0, $s1 -/* 02D190 8002C590 1000002A */ b .L8002C63C_ovl0 -/* 02D194 8002C594 02A02025 */ move $a0, $s5 -/* 02D198 8002C598 8E4F0044 */ lw $t7, 0x44($s2) -/* 02D19C 8002C59C 8E580048 */ lw $t8, 0x48($s2) -/* 02D1A0 8002C5A0 8E59004C */ lw $t9, 0x4c($s2) -/* 02D1A4 8002C5A4 AE4F0088 */ sw $t7, 0x88($s2) -/* 02D1A8 8002C5A8 AE58008C */ sw $t8, 0x8c($s2) -/* 02D1AC 8002C5AC 10000022 */ b .L8002C638_ovl0 -/* 02D1B0 8002C5B0 AE590090 */ sw $t9, 0x90($s2) -/* 02D1B4 8002C5B4 92500044 */ lbu $s0, 0x44($s2) -/* 02D1B8 8002C5B8 8E4F0068 */ lw $t7, 0x68($s2) -/* 02D1BC 8002C5BC 924E0045 */ lbu $t6, 0x45($s2) -/* 02D1C0 8002C5C0 0010C080 */ sll $t8, $s0, 2 -/* 02D1C4 8002C5C4 0310C023 */ subu $t8, $t8, $s0 -/* 02D1C8 8002C5C8 0018C0C0 */ sll $t8, $t8, 3 -/* 02D1CC 8002C5CC 01F8C821 */ addu $t9, $t7, $t8 -/* 02D1D0 8002C5D0 10000019 */ b .L8002C638_ovl0 -/* 02D1D4 8002C5D4 A32E0008 */ sb $t6, 8($t9) -/* 02D1D8 8002C5D8 8E450044 */ lw $a1, 0x44($s2) -/* 02D1DC 8002C5DC 241901E8 */ li $t9, 488 -/* 02D1E0 8002C5E0 3C018004 */ lui $at, %hi(D_80041A28) # $at, 0x8004 -/* 02D1E4 8002C5E4 10A00008 */ beqz $a1, .L8002C608_ovl0 -/* 02D1E8 8002C5E8 AE450018 */ sw $a1, 0x18($s2) -/* 02D1EC 8002C5EC C4281A28 */ lwc1 $f8, %lo(D_80041A28)($at) -/* 02D1F0 8002C5F0 C4A40014 */ lwc1 $f4, 0x14($a1) -/* 02D1F4 8002C5F4 46044282 */ mul.s $f10, $f8, $f4 -/* 02D1F8 8002C5F8 4600518D */ trunc.w.s $f6, $f10 -/* 02D1FC 8002C5FC 440E3000 */ mfc1 $t6, $f6 -/* 02D200 8002C600 10000002 */ b .L8002C60C_ovl0 -/* 02D204 8002C604 AE4E002C */ sw $t6, 0x2c($s2) -.L8002C608_ovl0: -/* 02D208 8002C608 AE59002C */ sw $t9, 0x2c($s2) -.L8002C60C_ovl0: -/* 02D20C 8002C60C 8E450020 */ lw $a1, 0x20($s2) -/* 02D210 8002C610 50A0000A */ beql $a1, $zero, .L8002C63C_ovl0 -/* 02D214 8002C614 02A02025 */ move $a0, $s5 -/* 02D218 8002C618 0C00AC56 */ jal func_8002B158 -/* 02D21C 8002C61C 02402025 */ move $a0, $s2 -/* 02D220 8002C620 10000006 */ b .L8002C63C_ovl0 -/* 02D224 8002C624 02A02025 */ move $a0, $s5 -/* 02D228 8002C628 8E450044 */ lw $a1, 0x44($s2) -/* 02D22C 8002C62C 02402025 */ move $a0, $s2 -/* 02D230 8002C630 0C00AC56 */ jal func_8002B158 -/* 02D234 8002C634 AE450020 */ sw $a1, 0x20($s2) -.L8002C638_ovl0: -/* 02D238 8002C638 02A02025 */ move $a0, $s5 -.L8002C63C_ovl0: -/* 02D23C 8002C63C 0C00986C */ jal func_800261B0 -/* 02D240 8002C640 8FA50050 */ lw $a1, 0x50($sp) -/* 02D244 8002C644 1040FE8F */ beqz $v0, .L8002C084_ovl0 -/* 02D248 8002C648 AE420030 */ sw $v0, 0x30($s2) -/* 02D24C 8002C64C 8E4F001C */ lw $t7, 0x1c($s2) -/* 02D250 8002C650 01E2C021 */ addu $t8, $t7, $v0 -/* 02D254 8002C654 AE58001C */ sw $t8, 0x1c($s2) -/* 02D258 8002C658 8FBF0044 */ lw $ra, 0x44($sp) -/* 02D25C 8002C65C 8FBE0040 */ lw $fp, 0x40($sp) -/* 02D260 8002C660 8FB7003C */ lw $s7, 0x3c($sp) -/* 02D264 8002C664 8FB60038 */ lw $s6, 0x38($sp) -/* 02D268 8002C668 8FB50034 */ lw $s5, 0x34($sp) -/* 02D26C 8002C66C 8FB40030 */ lw $s4, 0x30($sp) -/* 02D270 8002C670 8FB3002C */ lw $s3, 0x2c($sp) -/* 02D274 8002C674 8FB20028 */ lw $s2, 0x28($sp) -/* 02D278 8002C678 8FB10024 */ lw $s1, 0x24($sp) -/* 02D27C 8002C67C 8FB00020 */ lw $s0, 0x20($sp) -/* 02D280 8002C680 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 02D284 8002C684 03E00008 */ jr $ra -/* 02D288 8002C688 27BD00D0 */ addiu $sp, $sp, 0xd0 - -glabel func_8002C68C -/* 02D28C 8002C68C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 02D290 8002C690 AFBF0034 */ sw $ra, 0x34($sp) -/* 02D294 8002C694 AFB70030 */ sw $s7, 0x30($sp) -/* 02D298 8002C698 AFB6002C */ sw $s6, 0x2c($sp) -/* 02D29C 8002C69C AFB50028 */ sw $s5, 0x28($sp) -/* 02D2A0 8002C6A0 AFB40024 */ sw $s4, 0x24($sp) -/* 02D2A4 8002C6A4 AFB30020 */ sw $s3, 0x20($sp) -/* 02D2A8 8002C6A8 AFB2001C */ sw $s2, 0x1c($sp) -/* 02D2AC 8002C6AC AFB10018 */ sw $s1, 0x18($sp) -/* 02D2B0 8002C6B0 AFB00014 */ sw $s0, 0x14($sp) -/* 02D2B4 8002C6B4 8C900058 */ lw $s0, 0x58($a0) -/* 02D2B8 8002C6B8 00A09025 */ move $s2, $a1 -/* 02D2BC 8002C6BC 0080A825 */ move $s5, $a0 -/* 02D2C0 8002C6C0 12000028 */ beqz $s0, .L8002C764_ovl0 -/* 02D2C4 8002C6C4 24170017 */ li $s7, 23 -/* 02D2C8 8002C6C8 24160016 */ li $s6, 22 -.L8002C6CC_ovl0: -/* 02D2CC 8002C6CC 8613000C */ lh $s3, 0xc($s0) -/* 02D2D0 8002C6D0 8E110000 */ lw $s1, ($s0) -/* 02D2D4 8002C6D4 52760004 */ beql $s3, $s6, .L8002C6E8_ovl0 -/* 02D2D8 8002C6D8 8E0E0010 */ lw $t6, 0x10($s0) -/* 02D2DC 8002C6DC 1677001F */ bne $s3, $s7, .L8002C75C_ovl0 -/* 02D2E0 8002C6E0 00000000 */ nop -/* 02D2E4 8002C6E4 8E0E0010 */ lw $t6, 0x10($s0) -.L8002C6E8_ovl0: -/* 02D2E8 8002C6E8 164E001C */ bne $s2, $t6, .L8002C75C_ovl0 -/* 02D2EC 8002C6EC 00000000 */ nop -/* 02D2F0 8002C6F0 8EB90084 */ lw $t9, 0x84($s5) -/* 02D2F4 8002C6F4 8E040014 */ lw $a0, 0x14($s0) -/* 02D2F8 8002C6F8 26B40050 */ addiu $s4, $s5, 0x50 -/* 02D2FC 8002C6FC 0320F809 */ jalr $t9 -/* 02D300 8002C700 00000000 */ nop -/* 02D304 8002C704 0C0097DD */ jal func_80025F74 -/* 02D308 8002C708 02002025 */ move $a0, $s0 -/* 02D30C 8002C70C 12200005 */ beqz $s1, .L8002C724_ovl0 -/* 02D310 8002C710 02002025 */ move $a0, $s0 -/* 02D314 8002C714 8E2F0008 */ lw $t7, 8($s1) -/* 02D318 8002C718 8E180008 */ lw $t8, 8($s0) -/* 02D31C 8002C71C 01F84021 */ addu $t0, $t7, $t8 -/* 02D320 8002C720 AE280008 */ sw $t0, 8($s1) -.L8002C724_ovl0: -/* 02D324 8002C724 0C0097D4 */ jal func_80025F50 -/* 02D328 8002C728 02802825 */ move $a1, $s4 -/* 02D32C 8002C72C 56760006 */ bnel $s3, $s6, .L8002C748_ovl0 -/* 02D330 8002C730 924B0037 */ lbu $t3, 0x37($s2) -/* 02D334 8002C734 92490037 */ lbu $t1, 0x37($s2) -/* 02D338 8002C738 312A00FE */ andi $t2, $t1, 0xfe -/* 02D33C 8002C73C 10000004 */ b .L8002C750_ovl0 -/* 02D340 8002C740 A24A0037 */ sb $t2, 0x37($s2) -/* 02D344 8002C744 924B0037 */ lbu $t3, 0x37($s2) -.L8002C748_ovl0: -/* 02D348 8002C748 316C00FD */ andi $t4, $t3, 0xfd -/* 02D34C 8002C74C A24C0037 */ sb $t4, 0x37($s2) -.L8002C750_ovl0: -/* 02D350 8002C750 924D0037 */ lbu $t5, 0x37($s2) -/* 02D354 8002C754 51A00004 */ beql $t5, $zero, .L8002C768_ovl0 -/* 02D358 8002C758 8FBF0034 */ lw $ra, 0x34($sp) -.L8002C75C_ovl0: -/* 02D35C 8002C75C 1620FFDB */ bnez $s1, .L8002C6CC_ovl0 -/* 02D360 8002C760 02208025 */ move $s0, $s1 -.L8002C764_ovl0: -/* 02D364 8002C764 8FBF0034 */ lw $ra, 0x34($sp) -.L8002C768_ovl0: -/* 02D368 8002C768 8FB00014 */ lw $s0, 0x14($sp) -/* 02D36C 8002C76C 8FB10018 */ lw $s1, 0x18($sp) -/* 02D370 8002C770 8FB2001C */ lw $s2, 0x1c($sp) -/* 02D374 8002C774 8FB30020 */ lw $s3, 0x20($sp) -/* 02D378 8002C778 8FB40024 */ lw $s4, 0x24($sp) -/* 02D37C 8002C77C 8FB50028 */ lw $s5, 0x28($sp) -/* 02D380 8002C780 8FB6002C */ lw $s6, 0x2c($sp) -/* 02D384 8002C784 8FB70030 */ lw $s7, 0x30($sp) -/* 02D388 8002C788 03E00008 */ jr $ra -/* 02D38C 8002C78C 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_8002C790 -/* 02D390 8002C790 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02D394 8002C794 AFBF0024 */ sw $ra, 0x24($sp) -/* 02D398 8002C798 AFB20020 */ sw $s2, 0x20($sp) -/* 02D39C 8002C79C AFB1001C */ sw $s1, 0x1c($sp) -/* 02D3A0 8002C7A0 AFB00018 */ sw $s0, 0x18($sp) -/* 02D3A4 8002C7A4 908E003C */ lbu $t6, 0x3c($a0) -/* 02D3A8 8002C7A8 00808825 */ move $s1, $a0 -/* 02D3AC 8002C7AC 00008025 */ move $s0, $zero -/* 02D3B0 8002C7B0 19C00010 */ blez $t6, .L8002C7F4_ovl0 -/* 02D3B4 8002C7B4 00009025 */ move $s2, $zero -/* 02D3B8 8002C7B8 8E2F0068 */ lw $t7, 0x68($s1) -.L8002C7BC_ovl0: -/* 02D3BC 8002C7BC 02202025 */ move $a0, $s1 -/* 02D3C0 8002C7C0 02002825 */ move $a1, $s0 -/* 02D3C4 8002C7C4 01F2C021 */ addu $t8, $t7, $s2 -/* 02D3C8 8002C7C8 AF000000 */ sw $zero, ($t8) -/* 02D3CC 8002C7CC 8E390068 */ lw $t9, 0x68($s1) -/* 02D3D0 8002C7D0 03324021 */ addu $t0, $t9, $s2 -/* 02D3D4 8002C7D4 0C00AC2A */ jal func_8002B0A8 -/* 02D3D8 8002C7D8 A1000010 */ sb $zero, 0x10($t0) -/* 02D3DC 8002C7DC 9229003C */ lbu $t1, 0x3c($s1) -/* 02D3E0 8002C7E0 26100001 */ addiu $s0, $s0, 1 -/* 02D3E4 8002C7E4 26520018 */ addiu $s2, $s2, 0x18 -/* 02D3E8 8002C7E8 0209082A */ slt $at, $s0, $t1 -/* 02D3EC 8002C7EC 5420FFF3 */ bnezl $at, .L8002C7BC_ovl0 -/* 02D3F0 8002C7F0 8E2F0068 */ lw $t7, 0x68($s1) -.L8002C7F4_ovl0: -/* 02D3F4 8002C7F4 8FBF0024 */ lw $ra, 0x24($sp) -/* 02D3F8 8002C7F8 8FB00018 */ lw $s0, 0x18($sp) -/* 02D3FC 8002C7FC 8FB1001C */ lw $s1, 0x1c($sp) -/* 02D400 8002C800 8FB20020 */ lw $s2, 0x20($sp) -/* 02D404 8002C804 03E00008 */ jr $ra -/* 02D408 8002C808 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_8002C80C -/* 02D40C 8002C80C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 02D410 8002C810 AFBF0024 */ sw $ra, 0x24($sp) -/* 02D414 8002C814 AFB10020 */ sw $s1, 0x20($sp) -/* 02D418 8002C818 AFB0001C */ sw $s0, 0x1c($sp) -/* 02D41C 8002C81C 8CA6000C */ lw $a2, 0xc($a1) -/* 02D420 8002C820 AC800020 */ sw $zero, 0x20($a0) -/* 02D424 8002C824 AC800024 */ sw $zero, 0x24($a0) -/* 02D428 8002C828 AC800028 */ sw $zero, 0x28($a0) -/* 02D42C 8002C82C AC800018 */ sw $zero, 0x18($a0) -/* 02D430 8002C830 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 -/* 02D434 8002C834 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) -/* 02D438 8002C838 240F00FF */ li $t7, 255 -/* 02D43C 8002C83C 241801E8 */ li $t8, 488 -/* 02D440 8002C840 24197FFF */ li $t9, 32767 -/* 02D444 8002C844 A48F0038 */ sh $t7, 0x38($a0) -/* 02D448 8002C848 AC98002C */ sw $t8, 0x2c($a0) -/* 02D44C 8002C84C AC800030 */ sw $zero, 0x30($a0) -/* 02D450 8002C850 AC800034 */ sw $zero, 0x34($a0) -/* 02D454 8002C854 A499003A */ sh $t9, 0x3a($a0) -/* 02D458 8002C858 AC8E0014 */ sw $t6, 0x14($a0) -/* 02D45C 8002C85C 90A80009 */ lbu $t0, 9($a1) -/* 02D460 8002C860 24093E80 */ li $t1, 16000 -/* 02D464 8002C864 AC890064 */ sw $t1, 0x64($a0) -/* 02D468 8002C868 AC80001C */ sw $zero, 0x1c($a0) -/* 02D46C 8002C86C A088003D */ sb $t0, 0x3d($a0) -/* 02D470 8002C870 8CAA0010 */ lw $t2, 0x10($a1) -/* 02D474 8002C874 240D0009 */ li $t5, 9 -/* 02D478 8002C878 00A08825 */ move $s1, $a1 -/* 02D47C 8002C87C AC8A007C */ sw $t2, 0x7c($a0) -/* 02D480 8002C880 8CAB0014 */ lw $t3, 0x14($a1) -/* 02D484 8002C884 00808025 */ move $s0, $a0 -/* 02D488 8002C888 240F0018 */ li $t7, 24 -/* 02D48C 8002C88C AC8B0080 */ sw $t3, 0x80($a0) -/* 02D490 8002C890 8CAC0018 */ lw $t4, 0x18($a1) -/* 02D494 8002C894 AC800088 */ sw $zero, 0x88($a0) -/* 02D498 8002C898 AC80008C */ sw $zero, 0x8c($a0) -/* 02D49C 8002C89C AC800090 */ sw $zero, 0x90($a0) -/* 02D4A0 8002C8A0 A48D0040 */ sh $t5, 0x40($a0) -/* 02D4A4 8002C8A4 AC8C0084 */ sw $t4, 0x84($a0) -/* 02D4A8 8002C8A8 90AE0008 */ lbu $t6, 8($a1) -/* 02D4AC 8002C8AC 00002825 */ move $a1, $zero -/* 02D4B0 8002C8B0 A08E003C */ sb $t6, 0x3c($a0) -/* 02D4B4 8002C8B4 92270008 */ lbu $a3, 8($s1) -/* 02D4B8 8002C8B8 AFAF0010 */ sw $t7, 0x10($sp) -/* 02D4BC 8002C8BC 00002025 */ move $a0, $zero -/* 02D4C0 8002C8C0 0C0078F5 */ jal func_8001E3D4 -/* 02D4C4 8002C8C4 AFA6002C */ sw $a2, 0x2c($sp) -/* 02D4C8 8002C8C8 AE020068 */ sw $v0, 0x68($s0) -/* 02D4CC 8002C8CC 0C00B1E4 */ jal func_8002C790 -/* 02D4D0 8002C8D0 02002025 */ move $a0, $s0 -/* 02D4D4 8002C8D4 8E270000 */ lw $a3, ($s1) -/* 02D4D8 8002C8D8 24180038 */ li $t8, 56 -/* 02D4DC 8002C8DC AFB80010 */ sw $t8, 0x10($sp) -/* 02D4E0 8002C8E0 00002025 */ move $a0, $zero -/* 02D4E4 8002C8E4 00002825 */ move $a1, $zero -/* 02D4E8 8002C8E8 0C0078F5 */ jal func_8001E3D4 -/* 02D4EC 8002C8EC 8FA6002C */ lw $a2, 0x2c($sp) -/* 02D4F0 8002C8F0 AE000074 */ sw $zero, 0x74($s0) -/* 02D4F4 8002C8F4 8E390000 */ lw $t9, ($s1) -/* 02D4F8 8002C8F8 00002025 */ move $a0, $zero -/* 02D4FC 8002C8FC 00002825 */ move $a1, $zero -/* 02D500 8002C900 1B20000B */ blez $t9, .L8002C930_ovl0 -/* 02D504 8002C904 240A001C */ li $t2, 28 -/* 02D508 8002C908 00401825 */ move $v1, $v0 -/* 02D50C 8002C90C 8E080074 */ lw $t0, 0x74($s0) -.L8002C910_ovl0: -/* 02D510 8002C910 24840001 */ addiu $a0, $a0, 1 -/* 02D514 8002C914 AC680000 */ sw $t0, ($v1) -/* 02D518 8002C918 AE030074 */ sw $v1, 0x74($s0) -/* 02D51C 8002C91C 8E290000 */ lw $t1, ($s1) -/* 02D520 8002C920 24630038 */ addiu $v1, $v1, 0x38 -/* 02D524 8002C924 0089082A */ slt $at, $a0, $t1 -/* 02D528 8002C928 5420FFF9 */ bnezl $at, .L8002C910_ovl0 -/* 02D52C 8002C92C 8E080074 */ lw $t0, 0x74($s0) -.L8002C930_ovl0: -/* 02D530 8002C930 AE00006C */ sw $zero, 0x6c($s0) -/* 02D534 8002C934 AE000070 */ sw $zero, 0x70($s0) -/* 02D538 8002C938 8E270004 */ lw $a3, 4($s1) -/* 02D53C 8002C93C AFAA0010 */ sw $t2, 0x10($sp) -/* 02D540 8002C940 8FA6002C */ lw $a2, 0x2c($sp) -/* 02D544 8002C944 0C0078F5 */ jal func_8001E3D4 -/* 02D548 8002C948 00002025 */ move $a0, $zero -/* 02D54C 8002C94C 26040050 */ addiu $a0, $s0, 0x50 -/* 02D550 8002C950 00402825 */ move $a1, $v0 -/* 02D554 8002C954 0C009898 */ jal func_80026260 -/* 02D558 8002C958 8E260004 */ lw $a2, 4($s1) -/* 02D55C 8002C95C 3C0B8003 */ lui $t3, %hi(D_8002C044) # $t3, 0x8003 -/* 02D560 8002C960 256BC044 */ addiu $t3, %lo(D_8002C044) # addiu $t3, $t3, -0x3fbc -/* 02D564 8002C964 AE000000 */ sw $zero, ($s0) -/* 02D568 8002C968 AE0B0008 */ sw $t3, 8($s0) -/* 02D56C 8002C96C AE100004 */ sw $s0, 4($s0) -/* 02D570 8002C970 0C00AA44 */ jal func_8002A910 -/* 02D574 8002C974 02002025 */ move $a0, $s0 -/* 02D578 8002C978 8FBF0024 */ lw $ra, 0x24($sp) -/* 02D57C 8002C97C 8FB0001C */ lw $s0, 0x1c($sp) -/* 02D580 8002C980 8FB10020 */ lw $s1, 0x20($sp) -/* 02D584 8002C984 03E00008 */ jr $ra -/* 02D588 8002C988 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_8002C98C -/* 02D58C 8002C98C 00000000 */ nop -/* 02D590 8002C990 AFA50004 */ sw $a1, 4($sp) -/* 02D594 8002C994 00052C00 */ sll $a1, $a1, 0x10 -/* 02D598 8002C998 00052C03 */ sra $a1, $a1, 0x10 -/* 02D59C 8002C99C 03E00008 */ jr $ra -/* 02D5A0 8002C9A0 A4850016 */ sh $a1, 0x16($a0) - -glabel func_8002C9A4 -/* 02D5A4 8002C9A4 00000000 */ nop -/* 02D5A8 8002C9A8 00000000 */ nop -/* 02D5AC 8002C9AC 00000000 */ nop -/* 02D5B0 8002C9B0 848E003A */ lh $t6, 0x3a($a0) -/* 02D5B4 8002C9B4 908F0078 */ lbu $t7, 0x78($a0) -/* 02D5B8 8002C9B8 01CF0019 */ multu $t6, $t7 -/* 02D5BC 8002C9BC 00001012 */ mflo $v0 -/* 02D5C0 8002C9C0 000211C3 */ sra $v0, $v0, 7 -/* 02D5C4 8002C9C4 00021400 */ sll $v0, $v0, 0x10 -/* 02D5C8 8002C9C8 03E00008 */ jr $ra -/* 02D5CC 8002C9CC 00021403 */ sra $v0, $v0, 0x10 - -glabel func_8002C9D0 -/* 02D5D0 8002C9D0 8CAE0000 */ lw $t6, ($a1) -/* 02D5D4 8002C9D4 AC8E0008 */ sw $t6, 8($a0) -/* 02D5D8 8002C9D8 84AF000C */ lh $t7, 0xc($a1) -/* 02D5DC 8002C9DC A48F001A */ sh $t7, 0x1a($a0) -/* 02D5E0 8002C9E0 8CB80004 */ lw $t8, 4($a1) -/* 02D5E4 8002C9E4 03E00008 */ jr $ra -/* 02D5E8 8002C9E8 AC98000C */ sw $t8, 0xc($a0) - -glabel func_8002C9EC -/* 02D5EC 8002C9EC 03E00008 */ jr $ra -/* 02D5F0 8002C9F0 8C82000C */ lw $v0, 0xc($a0) - -glabel func_8002C9F4 -/* 02D5F4 8002C9F4 03E00008 */ jr $ra -/* 02D5F8 8002C9F8 00000000 */ nop - -glabel func_8002C9FC -/* 02D5FC 8002C9FC 8C830008 */ lw $v1, 8($a0) -/* 02D600 8002CA00 90620000 */ lbu $v0, ($v1) -/* 02D604 8002CA04 246E0001 */ addiu $t6, $v1, 1 -/* 02D608 8002CA08 AC8E0008 */ sw $t6, 8($a0) -/* 02D60C 8002CA0C 304F0080 */ andi $t7, $v0, 0x80 -/* 02D610 8002CA10 11E0000B */ beqz $t7, .L8002CA40_ovl0 -/* 02D614 8002CA14 00402825 */ move $a1, $v0 -/* 02D618 8002CA18 3045007F */ andi $a1, $v0, 0x7f -.L8002CA1C_ovl0: -/* 02D61C 8002CA1C 8C830008 */ lw $v1, 8($a0) -/* 02D620 8002CA20 0005C9C0 */ sll $t9, $a1, 7 -/* 02D624 8002CA24 90620000 */ lbu $v0, ($v1) -/* 02D628 8002CA28 24780001 */ addiu $t8, $v1, 1 -/* 02D62C 8002CA2C AC980008 */ sw $t8, 8($a0) -/* 02D630 8002CA30 304E007F */ andi $t6, $v0, 0x7f -/* 02D634 8002CA34 304F0080 */ andi $t7, $v0, 0x80 -/* 02D638 8002CA38 15E0FFF8 */ bnez $t7, .L8002CA1C_ovl0 -/* 02D63C 8002CA3C 032E2821 */ addu $a1, $t9, $t6 -.L8002CA40_ovl0: -/* 02D640 8002CA40 03E00008 */ jr $ra -/* 02D644 8002CA44 00A01025 */ move $v0, $a1 - -glabel func_8002CA48 -/* 02D648 8002CA48 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02D64C 8002CA4C AFBF0014 */ sw $ra, 0x14($sp) -/* 02D650 8002CA50 00803025 */ move $a2, $a0 -/* 02D654 8002CA54 0C00B27F */ jal func_8002C9FC -/* 02D658 8002CA58 00A03825 */ move $a3, $a1 -/* 02D65C 8002CA5C 8CCE000C */ lw $t6, 0xc($a2) -/* 02D660 8002CA60 8CC30008 */ lw $v1, 8($a2) -/* 02D664 8002CA64 00404825 */ move $t1, $v0 -/* 02D668 8002CA68 01C27821 */ addu $t7, $t6, $v0 -/* 02D66C 8002CA6C ACCF000C */ sw $t7, 0xc($a2) -/* 02D670 8002CA70 90640000 */ lbu $a0, ($v1) -/* 02D674 8002CA74 240100FF */ li $at, 255 -/* 02D678 8002CA78 24780001 */ addiu $t8, $v1, 1 -/* 02D67C 8002CA7C ACD80008 */ sw $t8, 8($a2) -/* 02D680 8002CA80 00801025 */ move $v0, $a0 -/* 02D684 8002CA84 1481002F */ bne $a0, $at, .L8002CB44_ovl0 -/* 02D688 8002CA88 308500FF */ andi $a1, $a0, 0xff -/* 02D68C 8002CA8C 93020000 */ lbu $v0, ($t8) -/* 02D690 8002CA90 27190001 */ addiu $t9, $t8, 1 -/* 02D694 8002CA94 24010051 */ li $at, 81 -/* 02D698 8002CA98 ACD90008 */ sw $t9, 8($a2) -/* 02D69C 8002CA9C 1441001B */ bne $v0, $at, .L8002CB0C_ovl0 -/* 02D6A0 8002CAA0 00404025 */ move $t0, $v0 -/* 02D6A4 8002CAA4 240E0003 */ li $t6, 3 -/* 02D6A8 8002CAA8 A4EE0000 */ sh $t6, ($a3) -/* 02D6AC 8002CAAC ACE90004 */ sw $t1, 4($a3) -/* 02D6B0 8002CAB0 A0E50008 */ sb $a1, 8($a3) -/* 02D6B4 8002CAB4 A0E80009 */ sb $t0, 9($a3) -/* 02D6B8 8002CAB8 8CC30008 */ lw $v1, 8($a2) -/* 02D6BC 8002CABC 90620000 */ lbu $v0, ($v1) -/* 02D6C0 8002CAC0 246F0001 */ addiu $t7, $v1, 1 -/* 02D6C4 8002CAC4 ACCF0008 */ sw $t7, 8($a2) -/* 02D6C8 8002CAC8 A0E2000A */ sb $v0, 0xa($a3) -/* 02D6CC 8002CACC 8CC30008 */ lw $v1, 8($a2) -/* 02D6D0 8002CAD0 90640000 */ lbu $a0, ($v1) -/* 02D6D4 8002CAD4 24780001 */ addiu $t8, $v1, 1 -/* 02D6D8 8002CAD8 ACD80008 */ sw $t8, 8($a2) -/* 02D6DC 8002CADC A0E4000B */ sb $a0, 0xb($a3) -/* 02D6E0 8002CAE0 8CC30008 */ lw $v1, 8($a2) -/* 02D6E4 8002CAE4 90650000 */ lbu $a1, ($v1) -/* 02D6E8 8002CAE8 24790001 */ addiu $t9, $v1, 1 -/* 02D6EC 8002CAEC ACD90008 */ sw $t9, 8($a2) -/* 02D6F0 8002CAF0 A0E5000C */ sb $a1, 0xc($a3) -/* 02D6F4 8002CAF4 8CC30008 */ lw $v1, 8($a2) -/* 02D6F8 8002CAF8 90640000 */ lbu $a0, ($v1) -/* 02D6FC 8002CAFC 246E0001 */ addiu $t6, $v1, 1 -/* 02D700 8002CB00 ACCE0008 */ sw $t6, 8($a2) -/* 02D704 8002CB04 1000000D */ b .L8002CB3C_ovl0 -/* 02D708 8002CB08 A0E4000D */ sb $a0, 0xd($a3) -.L8002CB0C_ovl0: -/* 02D70C 8002CB0C 2401002F */ li $at, 47 -/* 02D710 8002CB10 1441000A */ bne $v0, $at, .L8002CB3C_ovl0 -/* 02D714 8002CB14 240F0004 */ li $t7, 4 -/* 02D718 8002CB18 A4EF0000 */ sh $t7, ($a3) -/* 02D71C 8002CB1C ACE90004 */ sw $t1, 4($a3) -/* 02D720 8002CB20 A0E50008 */ sb $a1, 8($a3) -/* 02D724 8002CB24 A0E80009 */ sb $t0, 9($a3) -/* 02D728 8002CB28 8CC30008 */ lw $v1, 8($a2) -/* 02D72C 8002CB2C 90640000 */ lbu $a0, ($v1) -/* 02D730 8002CB30 24780001 */ addiu $t8, $v1, 1 -/* 02D734 8002CB34 ACD80008 */ sw $t8, 8($a2) -/* 02D738 8002CB38 A0E4000A */ sb $a0, 0xa($a3) -.L8002CB3C_ovl0: -/* 02D73C 8002CB3C 1000001F */ b .L8002CBBC_ovl0 -/* 02D740 8002CB40 A4C0001A */ sh $zero, 0x1a($a2) -.L8002CB44_ovl0: -/* 02D744 8002CB44 24190001 */ li $t9, 1 -/* 02D748 8002CB48 304E0080 */ andi $t6, $v0, 0x80 -/* 02D74C 8002CB4C A4F90000 */ sh $t9, ($a3) -/* 02D750 8002CB50 11C00009 */ beqz $t6, .L8002CB78_ovl0 -/* 02D754 8002CB54 ACE90004 */ sw $t1, 4($a3) -/* 02D758 8002CB58 A0E50008 */ sb $a1, 8($a3) -/* 02D75C 8002CB5C 8CC30008 */ lw $v1, 8($a2) -/* 02D760 8002CB60 90640000 */ lbu $a0, ($v1) -/* 02D764 8002CB64 246F0001 */ addiu $t7, $v1, 1 -/* 02D768 8002CB68 ACCF0008 */ sw $t7, 8($a2) -/* 02D76C 8002CB6C A0E40009 */ sb $a0, 9($a3) -/* 02D770 8002CB70 10000004 */ b .L8002CB84_ovl0 -/* 02D774 8002CB74 A4C5001A */ sh $a1, 0x1a($a2) -.L8002CB78_ovl0: -/* 02D778 8002CB78 84D8001A */ lh $t8, 0x1a($a2) -/* 02D77C 8002CB7C A0E40009 */ sb $a0, 9($a3) -/* 02D780 8002CB80 A0F80008 */ sb $t8, 8($a3) -.L8002CB84_ovl0: -/* 02D784 8002CB84 90E20008 */ lbu $v0, 8($a3) -/* 02D788 8002CB88 240100C0 */ li $at, 192 -/* 02D78C 8002CB8C 304200F0 */ andi $v0, $v0, 0xf0 -/* 02D790 8002CB90 10410009 */ beq $v0, $at, .L8002CBB8_ovl0 -/* 02D794 8002CB94 240100D0 */ li $at, 208 -/* 02D798 8002CB98 50410008 */ beql $v0, $at, .L8002CBBC_ovl0 -/* 02D79C 8002CB9C A0E0000A */ sb $zero, 0xa($a3) -/* 02D7A0 8002CBA0 8CC30008 */ lw $v1, 8($a2) -/* 02D7A4 8002CBA4 90640000 */ lbu $a0, ($v1) -/* 02D7A8 8002CBA8 24790001 */ addiu $t9, $v1, 1 -/* 02D7AC 8002CBAC ACD90008 */ sw $t9, 8($a2) -/* 02D7B0 8002CBB0 10000002 */ b .L8002CBBC_ovl0 -/* 02D7B4 8002CBB4 A0E4000A */ sb $a0, 0xa($a3) -.L8002CBB8_ovl0: -/* 02D7B8 8002CBB8 A0E0000A */ sb $zero, 0xa($a3) -.L8002CBBC_ovl0: -/* 02D7BC 8002CBBC 8FBF0014 */ lw $ra, 0x14($sp) -/* 02D7C0 8002CBC0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02D7C4 8002CBC4 03E00008 */ jr $ra -/* 02D7C8 8002CBC8 00000000 */ nop - -glabel func_8002CBCC -/* 02D7CC 8002CBCC 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 02D7D0 8002CBD0 AFB70030 */ sw $s7, 0x30($sp) -/* 02D7D4 8002CBD4 AFB10018 */ sw $s1, 0x18($sp) -/* 02D7D8 8002CBD8 AFB00014 */ sw $s0, 0x14($sp) -/* 02D7DC 8002CBDC 00808025 */ move $s0, $a0 -/* 02D7E0 8002CBE0 00C08825 */ move $s1, $a2 -/* 02D7E4 8002CBE4 00A0B825 */ move $s7, $a1 -/* 02D7E8 8002CBE8 AFBF0034 */ sw $ra, 0x34($sp) -/* 02D7EC 8002CBEC AFB6002C */ sw $s6, 0x2c($sp) -/* 02D7F0 8002CBF0 AFB50028 */ sw $s5, 0x28($sp) -/* 02D7F4 8002CBF4 AFB40024 */ sw $s4, 0x24($sp) -/* 02D7F8 8002CBF8 AFB30020 */ sw $s3, 0x20($sp) -/* 02D7FC 8002CBFC 14C00007 */ bnez $a2, .L8002CC1C_ovl0 -/* 02D800 8002CC00 AFB2001C */ sw $s2, 0x1c($sp) -/* 02D804 8002CC04 8C8E0004 */ lw $t6, 4($a0) -/* 02D808 8002CC08 A4A0000C */ sh $zero, 0xc($a1) -/* 02D80C 8002CC0C ACA00004 */ sw $zero, 4($a1) -/* 02D810 8002CC10 ACA00008 */ sw $zero, 8($a1) -/* 02D814 8002CC14 1000002A */ b .L8002CCC0_ovl0 -/* 02D818 8002CC18 ACAE0000 */ sw $t6, ($a1) -.L8002CC1C_ovl0: -/* 02D81C 8002CC1C 8E0F0008 */ lw $t7, 8($s0) -/* 02D820 8002CC20 00001025 */ move $v0, $zero -/* 02D824 8002CC24 24130004 */ li $s3, 4 -/* 02D828 8002CC28 AFAF004C */ sw $t7, 0x4c($sp) -/* 02D82C 8002CC2C 8618001A */ lh $t8, 0x1a($s0) -/* 02D830 8002CC30 27B20050 */ addiu $s2, $sp, 0x50 -/* 02D834 8002CC34 A7B8003E */ sh $t8, 0x3e($sp) -/* 02D838 8002CC38 8E19000C */ lw $t9, 0xc($s0) -/* 02D83C 8002CC3C AFB90044 */ sw $t9, 0x44($sp) -/* 02D840 8002CC40 8E080004 */ lw $t0, 4($s0) -/* 02D844 8002CC44 A600001A */ sh $zero, 0x1a($s0) -/* 02D848 8002CC48 AE00000C */ sw $zero, 0xc($s0) -/* 02D84C 8002CC4C AE080008 */ sw $t0, 8($s0) -/* 02D850 8002CC50 8E140008 */ lw $s4, 8($s0) -.L8002CC54_ovl0: -/* 02D854 8002CC54 8615001A */ lh $s5, 0x1a($s0) -/* 02D858 8002CC58 0040B025 */ move $s6, $v0 -/* 02D85C 8002CC5C 02002025 */ move $a0, $s0 -/* 02D860 8002CC60 0C00B292 */ jal func_8002CA48 -/* 02D864 8002CC64 02402825 */ move $a1, $s2 -/* 02D868 8002CC68 87A90050 */ lh $t1, 0x50($sp) -/* 02D86C 8002CC6C 55330006 */ bnel $t1, $s3, .L8002CC88_ovl0 -/* 02D870 8002CC70 8E02000C */ lw $v0, 0xc($s0) -/* 02D874 8002CC74 8E140008 */ lw $s4, 8($s0) -/* 02D878 8002CC78 8615001A */ lh $s5, 0x1a($s0) -/* 02D87C 8002CC7C 10000005 */ b .L8002CC94_ovl0 -/* 02D880 8002CC80 8E16000C */ lw $s6, 0xc($s0) -/* 02D884 8002CC84 8E02000C */ lw $v0, 0xc($s0) -.L8002CC88_ovl0: -/* 02D888 8002CC88 0051082B */ sltu $at, $v0, $s1 -/* 02D88C 8002CC8C 5420FFF1 */ bnezl $at, .L8002CC54_ovl0 -/* 02D890 8002CC90 8E140008 */ lw $s4, 8($s0) -.L8002CC94_ovl0: -/* 02D894 8002CC94 AEF40000 */ sw $s4, ($s7) -/* 02D898 8002CC98 A6F5000C */ sh $s5, 0xc($s7) -/* 02D89C 8002CC9C AEF60004 */ sw $s6, 4($s7) -/* 02D8A0 8002CCA0 8E0A000C */ lw $t2, 0xc($s0) -/* 02D8A4 8002CCA4 AEEA0008 */ sw $t2, 8($s7) -/* 02D8A8 8002CCA8 8FAB004C */ lw $t3, 0x4c($sp) -/* 02D8AC 8002CCAC AE0B0008 */ sw $t3, 8($s0) -/* 02D8B0 8002CCB0 87AC003E */ lh $t4, 0x3e($sp) -/* 02D8B4 8002CCB4 A60C001A */ sh $t4, 0x1a($s0) -/* 02D8B8 8002CCB8 8FAD0044 */ lw $t5, 0x44($sp) -/* 02D8BC 8002CCBC AE0D000C */ sw $t5, 0xc($s0) -.L8002CCC0_ovl0: -/* 02D8C0 8002CCC0 8FBF0034 */ lw $ra, 0x34($sp) -/* 02D8C4 8002CCC4 8FB00014 */ lw $s0, 0x14($sp) -/* 02D8C8 8002CCC8 8FB10018 */ lw $s1, 0x18($sp) -/* 02D8CC 8002CCCC 8FB2001C */ lw $s2, 0x1c($sp) -/* 02D8D0 8002CCD0 8FB30020 */ lw $s3, 0x20($sp) -/* 02D8D4 8002CCD4 8FB40024 */ lw $s4, 0x24($sp) -/* 02D8D8 8002CCD8 8FB50028 */ lw $s5, 0x28($sp) -/* 02D8DC 8002CCDC 8FB6002C */ lw $s6, 0x2c($sp) -/* 02D8E0 8002CCE0 8FB70030 */ lw $s7, 0x30($sp) -/* 02D8E4 8002CCE4 03E00008 */ jr $ra -/* 02D8E8 8002CCE8 27BD0060 */ addiu $sp, $sp, 0x60 - -glabel func_8002CCEC -/* 02D8EC 8002CCEC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02D8F0 8002CCF0 AFBF0014 */ sw $ra, 0x14($sp) -/* 02D8F4 8002CCF4 8C8F0010 */ lw $t7, 0x10($a0) -/* 02D8F8 8002CCF8 8C8E0000 */ lw $t6, ($a0) -/* 02D8FC 8002CCFC 8C820008 */ lw $v0, 8($a0) -/* 02D900 8002CD00 00803025 */ move $a2, $a0 -/* 02D904 8002CD04 01CFC021 */ addu $t8, $t6, $t7 -/* 02D908 8002CD08 0058082B */ sltu $at, $v0, $t8 -/* 02D90C 8002CD0C 14200003 */ bnez $at, .L8002CD1C_ovl0 -/* 02D910 8002CD10 00A04025 */ move $t0, $a1 -/* 02D914 8002CD14 10000007 */ b .L8002CD34_ovl0 -/* 02D918 8002CD18 00001025 */ move $v0, $zero -.L8002CD1C_ovl0: -/* 02D91C 8002CD1C 00403825 */ move $a3, $v0 -/* 02D920 8002CD20 0C00B27F */ jal func_8002C9FC -/* 02D924 8002CD24 00C02025 */ move $a0, $a2 -/* 02D928 8002CD28 AD020000 */ sw $v0, ($t0) -/* 02D92C 8002CD2C ACC70008 */ sw $a3, 8($a2) -/* 02D930 8002CD30 24020001 */ li $v0, 1 -.L8002CD34_ovl0: -/* 02D934 8002CD34 8FBF0014 */ lw $ra, 0x14($sp) -/* 02D938 8002CD38 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02D93C 8002CD3C 03E00008 */ jr $ra -/* 02D940 8002CD40 00000000 */ nop - -glabel func_8002CD44 -/* 02D944 8002CD44 03E00008 */ jr $ra -/* 02D948 8002CD48 00000000 */ nop - -glabel func_8002CD4C -/* 02D94C 8002CD4C 03E00008 */ jr $ra -/* 02D950 8002CD50 00000000 */ nop - -glabel func_8002CD54 -/* 02D954 8002CD54 00000000 */ nop -/* 02D958 8002CD58 00000000 */ nop -/* 02D95C 8002CD5C 00000000 */ nop -/* 02D960 8002CD60 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02D964 8002CD64 AFBF0014 */ sw $ra, 0x14($sp) -/* 02D968 8002CD68 240E000D */ li $t6, 13 -/* 02D96C 8002CD6C AFA5001C */ sw $a1, 0x1c($sp) -/* 02D970 8002CD70 A7AE0018 */ sh $t6, 0x18($sp) -/* 02D974 8002CD74 27A50018 */ addiu $a1, $sp, 0x18 -/* 02D978 8002CD78 24840050 */ addiu $a0, $a0, 0x50 -/* 02D97C 8002CD7C 0C009818 */ jal func_80026060 -/* 02D980 8002CD80 00003025 */ move $a2, $zero -/* 02D984 8002CD84 8FBF0014 */ lw $ra, 0x14($sp) -/* 02D988 8002CD88 27BD0028 */ addiu $sp, $sp, 0x28 -/* 02D98C 8002CD8C 03E00008 */ jr $ra -/* 02D990 8002CD90 00000000 */ nop - -glabel func_8002CD94 -/* 02D994 8002CD94 00000000 */ nop -/* 02D998 8002CD98 00000000 */ nop -/* 02D99C 8002CD9C 00000000 */ nop -/* 02D9A0 8002CDA0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02D9A4 8002CDA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 02D9A8 8002CDA8 AFA5001C */ sw $a1, 0x1c($sp) -/* 02D9AC 8002CDAC 8C8E0008 */ lw $t6, 8($a0) -/* 02D9B0 8002CDB0 51C00016 */ beql $t6, $zero, .L8002CE0C_ovl0 -/* 02D9B4 8002CDB4 8FBF0014 */ lw $ra, 0x14($sp) -/* 02D9B8 8002CDB8 0C00A642 */ jal func_80029908 -/* 02D9BC 8002CDBC AFA40018 */ sw $a0, 0x18($sp) -/* 02D9C0 8002CDC0 8FA70018 */ lw $a3, 0x18($sp) -/* 02D9C4 8002CDC4 10400010 */ beqz $v0, .L8002CE08_ovl0 -/* 02D9C8 8002CDC8 00403025 */ move $a2, $v0 -/* 02D9CC 8002CDCC 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 -/* 02D9D0 8002CDD0 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) -/* 02D9D4 8002CDD4 8CF90008 */ lw $t9, 8($a3) -/* 02D9D8 8002CDD8 240A0007 */ li $t2, 7 -/* 02D9DC 8002CDDC 8DF80028 */ lw $t8, 0x28($t7) -/* 02D9E0 8002CDE0 8F280088 */ lw $t0, 0x88($t9) -/* 02D9E4 8002CDE4 A44A0008 */ sh $t2, 8($v0) -/* 02D9E8 8002CDE8 24050003 */ li $a1, 3 -/* 02D9EC 8002CDEC 03084821 */ addu $t1, $t8, $t0 -/* 02D9F0 8002CDF0 AC490004 */ sw $t1, 4($v0) -/* 02D9F4 8002CDF4 C7A4001C */ lwc1 $f4, 0x1c($sp) -/* 02D9F8 8002CDF8 AC400000 */ sw $zero, ($v0) -/* 02D9FC 8002CDFC E444000C */ swc1 $f4, 0xc($v0) -/* 02DA00 8002CE00 0C009D48 */ jal func_80027520 -/* 02DA04 8002CE04 8CE40008 */ lw $a0, 8($a3) -.L8002CE08_ovl0: -/* 02DA08 8002CE08 8FBF0014 */ lw $ra, 0x14($sp) -.L8002CE0C_ovl0: -/* 02DA0C 8002CE0C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02DA10 8002CE10 03E00008 */ jr $ra -/* 02DA14 8002CE14 00000000 */ nop - -glabel func_8002CE18 -/* 02DA18 8002CE18 00000000 */ nop -/* 02DA1C 8002CE1C 00000000 */ nop -/* 02DA20 8002CE20 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02DA24 8002CE24 30C200FF */ andi $v0, $a2, 0xff -/* 02DA28 8002CE28 AFBF0014 */ sw $ra, 0x14($sp) -/* 02DA2C 8002CE2C AFA60038 */ sw $a2, 0x38($sp) -/* 02DA30 8002CE30 00804025 */ move $t0, $a0 -/* 02DA34 8002CE34 1440000A */ bnez $v0, .L8002CE60_ovl0 -/* 02DA38 8002CE38 00A03825 */ move $a3, $a1 -/* 02DA3C 8002CE3C 240E000E */ li $t6, 14 -/* 02DA40 8002CE40 AFA50024 */ sw $a1, 0x24($sp) -/* 02DA44 8002CE44 A7AE0020 */ sh $t6, 0x20($sp) -/* 02DA48 8002CE48 27A50020 */ addiu $a1, $sp, 0x20 -/* 02DA4C 8002CE4C 24840050 */ addiu $a0, $a0, 0x50 -/* 02DA50 8002CE50 0C009818 */ jal func_80026060 -/* 02DA54 8002CE54 00003025 */ move $a2, $zero -/* 02DA58 8002CE58 10000016 */ b .L8002CEB4_ovl0 -/* 02DA5C 8002CE5C 8FBF0014 */ lw $ra, 0x14($sp) -.L8002CE60_ovl0: -/* 02DA60 8002CE60 24010001 */ li $at, 1 -/* 02DA64 8002CE64 14410009 */ bne $v0, $at, .L8002CE8C_ovl0 -/* 02DA68 8002CE68 240F0018 */ li $t7, 24 -/* 02DA6C 8002CE6C A7AF0020 */ sh $t7, 0x20($sp) -/* 02DA70 8002CE70 AFA70024 */ sw $a3, 0x24($sp) -/* 02DA74 8002CE74 25040050 */ addiu $a0, $t0, 0x50 -/* 02DA78 8002CE78 27A50020 */ addiu $a1, $sp, 0x20 -/* 02DA7C 8002CE7C 0C009818 */ jal func_80026060 -/* 02DA80 8002CE80 00003025 */ move $a2, $zero -/* 02DA84 8002CE84 1000000B */ b .L8002CEB4_ovl0 -/* 02DA88 8002CE88 8FBF0014 */ lw $ra, 0x14($sp) -.L8002CE8C_ovl0: -/* 02DA8C 8002CE8C 24010002 */ li $at, 2 -/* 02DA90 8002CE90 14410007 */ bne $v0, $at, .L8002CEB0_ovl0 -/* 02DA94 8002CE94 24180019 */ li $t8, 25 -/* 02DA98 8002CE98 A7B80020 */ sh $t8, 0x20($sp) -/* 02DA9C 8002CE9C AFA70024 */ sw $a3, 0x24($sp) -/* 02DAA0 8002CEA0 25040050 */ addiu $a0, $t0, 0x50 -/* 02DAA4 8002CEA4 27A50020 */ addiu $a1, $sp, 0x20 -/* 02DAA8 8002CEA8 0C009818 */ jal func_80026060 -/* 02DAAC 8002CEAC 00003025 */ move $a2, $zero -.L8002CEB0_ovl0: -/* 02DAB0 8002CEB0 8FBF0014 */ lw $ra, 0x14($sp) -.L8002CEB4_ovl0: -/* 02DAB4 8002CEB4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 02DAB8 8002CEB8 03E00008 */ jr $ra -/* 02DABC 8002CEBC 00000000 */ nop - -glabel func_8002CEC0 -/* 02DAC0 8002CEC0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02DAC4 8002CEC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 02DAC8 8002CEC8 240E000E */ li $t6, 14 -/* 02DACC 8002CECC AFA5001C */ sw $a1, 0x1c($sp) -/* 02DAD0 8002CED0 A7AE0018 */ sh $t6, 0x18($sp) -/* 02DAD4 8002CED4 27A50018 */ addiu $a1, $sp, 0x18 -/* 02DAD8 8002CED8 24840050 */ addiu $a0, $a0, 0x50 -/* 02DADC 8002CEDC 0C009818 */ jal func_80026060 -/* 02DAE0 8002CEE0 00003025 */ move $a2, $zero -/* 02DAE4 8002CEE4 8FBF0014 */ lw $ra, 0x14($sp) -/* 02DAE8 8002CEE8 27BD0028 */ addiu $sp, $sp, 0x28 -/* 02DAEC 8002CEEC 03E00008 */ jr $ra -/* 02DAF0 8002CEF0 00000000 */ nop - -glabel func_8002CEF4 -/* 02DAF4 8002CEF4 00000000 */ nop -/* 02DAF8 8002CEF8 00000000 */ nop -/* 02DAFC 8002CEFC 00000000 */ nop -/* 02DB00 8002CF00 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02DB04 8002CF04 AFBF0014 */ sw $ra, 0x14($sp) -/* 02DB08 8002CF08 AFA5002C */ sw $a1, 0x2c($sp) -/* 02DB0C 8002CF0C 00A03825 */ move $a3, $a1 -/* 02DB10 8002CF10 240E000A */ li $t6, 10 -/* 02DB14 8002CF14 A7AE0018 */ sh $t6, 0x18($sp) -/* 02DB18 8002CF18 A7A7001C */ sh $a3, 0x1c($sp) -/* 02DB1C 8002CF1C 27A50018 */ addiu $a1, $sp, 0x18 -/* 02DB20 8002CF20 24840050 */ addiu $a0, $a0, 0x50 -/* 02DB24 8002CF24 0C009818 */ jal func_80026060 -/* 02DB28 8002CF28 00003025 */ move $a2, $zero -/* 02DB2C 8002CF2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 02DB30 8002CF30 27BD0028 */ addiu $sp, $sp, 0x28 -/* 02DB34 8002CF34 03E00008 */ jr $ra -/* 02DB38 8002CF38 00000000 */ nop - -glabel func_8002CF3C -/* 02DB3C 8002CF3C 00000000 */ nop -/* 02DB40 8002CF40 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02DB44 8002CF44 AFBF0014 */ sw $ra, 0x14($sp) -/* 02DB48 8002CF48 AFA5001C */ sw $a1, 0x1c($sp) -/* 02DB4C 8002CF4C AFA60020 */ sw $a2, 0x20($sp) -/* 02DB50 8002CF50 8C8E0008 */ lw $t6, 8($a0) -/* 02DB54 8002CF54 51C00020 */ beql $t6, $zero, .L8002CFD8_ovl0 -/* 02DB58 8002CF58 8FBF0014 */ lw $ra, 0x14($sp) -/* 02DB5C 8002CF5C 0C00A642 */ jal func_80029908 -/* 02DB60 8002CF60 AFA40018 */ sw $a0, 0x18($sp) -/* 02DB64 8002CF64 8FA70018 */ lw $a3, 0x18($sp) -/* 02DB68 8002CF68 1040001A */ beqz $v0, .L8002CFD4_ovl0 -/* 02DB6C 8002CF6C 00403025 */ move $a2, $v0 -/* 02DB70 8002CF70 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 -/* 02DB74 8002CF74 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) -/* 02DB78 8002CF78 8CF90008 */ lw $t9, 8($a3) -/* 02DB7C 8002CF7C 240A0011 */ li $t2, 17 -/* 02DB80 8002CF80 8DF80028 */ lw $t8, 0x28($t7) -/* 02DB84 8002CF84 8F280088 */ lw $t0, 0x88($t9) -/* 02DB88 8002CF88 A44A0008 */ sh $t2, 8($v0) -/* 02DB8C 8002CF8C 24050003 */ li $a1, 3 -/* 02DB90 8002CF90 03084821 */ addu $t1, $t8, $t0 -/* 02DB94 8002CF94 AC490004 */ sw $t1, 4($v0) -/* 02DB98 8002CF98 93A3001F */ lbu $v1, 0x1f($sp) -/* 02DB9C 8002CF9C 04610003 */ bgez $v1, .L8002CFAC_ovl0 -/* 02DBA0 8002CFA0 00035823 */ negu $t3, $v1 -/* 02DBA4 8002CFA4 10000002 */ b .L8002CFB0_ovl0 -/* 02DBA8 8002CFA8 AC4B000C */ sw $t3, 0xc($v0) -.L8002CFAC_ovl0: -/* 02DBAC 8002CFAC AC43000C */ sw $v1, 0xc($v0) -.L8002CFB0_ovl0: -/* 02DBB0 8002CFB0 93A30023 */ lbu $v1, 0x23($sp) -/* 02DBB4 8002CFB4 04610003 */ bgez $v1, .L8002CFC4_ovl0 -/* 02DBB8 8002CFB8 00036023 */ negu $t4, $v1 -/* 02DBBC 8002CFBC 10000002 */ b .L8002CFC8_ovl0 -/* 02DBC0 8002CFC0 AC4C0010 */ sw $t4, 0x10($v0) -.L8002CFC4_ovl0: -/* 02DBC4 8002CFC4 AC430010 */ sw $v1, 0x10($v0) -.L8002CFC8_ovl0: -/* 02DBC8 8002CFC8 ACC00000 */ sw $zero, ($a2) -/* 02DBCC 8002CFCC 0C009D48 */ jal func_80027520 -/* 02DBD0 8002CFD0 8CE40008 */ lw $a0, 8($a3) -.L8002CFD4_ovl0: -/* 02DBD4 8002CFD4 8FBF0014 */ lw $ra, 0x14($sp) -.L8002CFD8_ovl0: -/* 02DBD8 8002CFD8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02DBDC 8002CFDC 03E00008 */ jr $ra -/* 02DBE0 8002CFE0 00000000 */ nop - -glabel func_8002CFE4 -/* 02DBE4 8002CFE4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02DBE8 8002CFE8 AFBF0014 */ sw $ra, 0x14($sp) -/* 02DBEC 8002CFEC AFA5001C */ sw $a1, 0x1c($sp) -/* 02DBF0 8002CFF0 8C8E0008 */ lw $t6, 8($a0) -/* 02DBF4 8002CFF4 51C0001A */ beql $t6, $zero, .L8002D060_ovl0 -/* 02DBF8 8002CFF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 02DBFC 8002CFFC 0C00A642 */ jal func_80029908 -/* 02DC00 8002D000 AFA40018 */ sw $a0, 0x18($sp) -/* 02DC04 8002D004 8FA70018 */ lw $a3, 0x18($sp) -/* 02DC08 8002D008 10400014 */ beqz $v0, .L8002D05C_ovl0 -/* 02DC0C 8002D00C 00403025 */ move $a2, $v0 -/* 02DC10 8002D010 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 -/* 02DC14 8002D014 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) -/* 02DC18 8002D018 8CF90008 */ lw $t9, 8($a3) -/* 02DC1C 8002D01C 240A0010 */ li $t2, 16 -/* 02DC20 8002D020 8DF80028 */ lw $t8, 0x28($t7) -/* 02DC24 8002D024 8F280088 */ lw $t0, 0x88($t9) -/* 02DC28 8002D028 A44A0008 */ sh $t2, 8($v0) -/* 02DC2C 8002D02C 24050003 */ li $a1, 3 -/* 02DC30 8002D030 03084821 */ addu $t1, $t8, $t0 -/* 02DC34 8002D034 AC490004 */ sw $t1, 4($v0) -/* 02DC38 8002D038 93A3001F */ lbu $v1, 0x1f($sp) -/* 02DC3C 8002D03C 04610003 */ bgez $v1, .L8002D04C_ovl0 -/* 02DC40 8002D040 00035823 */ negu $t3, $v1 -/* 02DC44 8002D044 10000002 */ b .L8002D050_ovl0 -/* 02DC48 8002D048 AC4B000C */ sw $t3, 0xc($v0) -.L8002D04C_ovl0: -/* 02DC4C 8002D04C AC43000C */ sw $v1, 0xc($v0) -.L8002D050_ovl0: -/* 02DC50 8002D050 ACC00000 */ sw $zero, ($a2) -/* 02DC54 8002D054 0C009D48 */ jal func_80027520 -/* 02DC58 8002D058 8CE40008 */ lw $a0, 8($a3) -.L8002D05C_ovl0: -/* 02DC5C 8002D05C 8FBF0014 */ lw $ra, 0x14($sp) -.L8002D060_ovl0: -/* 02DC60 8002D060 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02DC64 8002D064 03E00008 */ jr $ra -/* 02DC68 8002D068 00000000 */ nop - -glabel func_8002D06C -/* 02DC6C 8002D06C 00000000 */ nop -/* 02DC70 8002D070 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 -/* 02DC74 8002D074 2442FB14 */ addiu $v0, %lo(D_8003FB14) # addiu $v0, $v0, -0x4ec -/* 02DC78 8002D078 8C4E0000 */ lw $t6, ($v0) -/* 02DC7C 8002D07C ADC00000 */ sw $zero, ($t6) -/* 02DC80 8002D080 8C4F0000 */ lw $t7, ($v0) -/* 02DC84 8002D084 ADE00004 */ sw $zero, 4($t7) -/* 02DC88 8002D088 8C580000 */ lw $t8, ($v0) -/* 02DC8C 8002D08C AF000008 */ sw $zero, 8($t8) -/* 02DC90 8002D090 8C590000 */ lw $t9, ($v0) -/* 02DC94 8002D094 03E00008 */ jr $ra -/* 02DC98 8002D098 AF20000C */ sw $zero, 0xc($t9) - -glabel func_8002D09C -/* 02DC9C 8002D09C 00000000 */ nop -/* 02DCA0 8002D0A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02DCA4 8002D0A4 AFBF0014 */ sw $ra, 0x14($sp) -/* 02DCA8 8002D0A8 240E000F */ li $t6, 15 -/* 02DCAC 8002D0AC A7AE0018 */ sh $t6, 0x18($sp) -/* 02DCB0 8002D0B0 27A50018 */ addiu $a1, $sp, 0x18 -/* 02DCB4 8002D0B4 24840050 */ addiu $a0, $a0, 0x50 -/* 02DCB8 8002D0B8 0C009818 */ jal func_80026060 -/* 02DCBC 8002D0BC 00003025 */ move $a2, $zero -/* 02DCC0 8002D0C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 02DCC4 8002D0C4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 02DCC8 8002D0C8 03E00008 */ jr $ra -/* 02DCCC 8002D0CC 00000000 */ nop - -glabel func_8002D0D0 -/* 02DCD0 8002D0D0 AFA50004 */ sw $a1, 4($sp) -/* 02DCD4 8002D0D4 30A500FF */ andi $a1, $a1, 0xff -/* 02DCD8 8002D0D8 8C8E0068 */ lw $t6, 0x68($a0) -/* 02DCDC 8002D0DC 00057880 */ sll $t7, $a1, 2 -/* 02DCE0 8002D0E0 01E57823 */ subu $t7, $t7, $a1 -/* 02DCE4 8002D0E4 000F78C0 */ sll $t7, $t7, 3 -/* 02DCE8 8002D0E8 01CF1821 */ addu $v1, $t6, $t7 -/* 02DCEC 8002D0EC 90780011 */ lbu $t8, 0x11($v1) -/* 02DCF0 8002D0F0 90790009 */ lbu $t9, 9($v1) -/* 02DCF4 8002D0F4 2401007F */ li $at, 127 -/* 02DCF8 8002D0F8 03190019 */ multu $t8, $t9 -/* 02DCFC 8002D0FC 00001012 */ mflo $v0 -/* 02DD00 8002D100 00000000 */ nop -/* 02DD04 8002D104 00000000 */ nop -/* 02DD08 8002D108 0041001A */ div $zero, $v0, $at -/* 02DD0C 8002D10C 00001012 */ mflo $v0 -/* 02DD10 8002D110 304200FF */ andi $v0, $v0, 0xff -/* 02DD14 8002D114 03E00008 */ jr $ra -/* 02DD18 8002D118 00000000 */ nop - -glabel func_8002D11C -/* 02DD1C 8002D11C 00000000 */ nop -/* 02DD20 8002D120 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 -/* 02DD24 8002D124 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) -/* 02DD28 8002D128 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02DD2C 8002D12C AFBF0014 */ sw $ra, 0x14($sp) -/* 02DD30 8002D130 AFA40020 */ sw $a0, 0x20($sp) -/* 02DD34 8002D134 8DCF0040 */ lw $t7, 0x40($t6) -/* 02DD38 8002D138 00043C00 */ sll $a3, $a0, 0x10 -/* 02DD3C 8002D13C 00073C03 */ sra $a3, $a3, 0x10 -/* 02DD40 8002D140 00071880 */ sll $v1, $a3, 2 -/* 02DD44 8002D144 01E32021 */ addu $a0, $t7, $v1 -/* 02DD48 8002D148 24840024 */ addiu $a0, $a0, 0x24 -/* 02DD4C 8002D14C 0C00A942 */ jal func_8002A508 -/* 02DD50 8002D150 AFA3001C */ sw $v1, 0x1c($sp) -/* 02DD54 8002D154 3C188004 */ lui $t8, %hi(D_8003FB14) # $t8, 0x8004 -/* 02DD58 8002D158 8F18FB14 */ lw $t8, %lo(D_8003FB14)($t8) -/* 02DD5C 8002D15C 8FA3001C */ lw $v1, 0x1c($sp) -/* 02DD60 8002D160 8FBF0014 */ lw $ra, 0x14($sp) -/* 02DD64 8002D164 8F190040 */ lw $t9, 0x40($t8) -/* 02DD68 8002D168 03234021 */ addu $t0, $t9, $v1 -/* 02DD6C 8002D16C 8D020024 */ lw $v0, 0x24($t0) -/* 02DD70 8002D170 03E00008 */ jr $ra -/* 02DD74 8002D174 27BD0020 */ addiu $sp, $sp, 0x20 - -glabel func_8002D178 -/* 02DD78 8002D178 00000000 */ nop -/* 02DD7C 8002D17C 00000000 */ nop -/* 02DD80 8002D180 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02DD84 8002D184 AFBF0014 */ sw $ra, 0x14($sp) -/* 02DD88 8002D188 240E0011 */ li $t6, 17 -/* 02DD8C 8002D18C A7AE0018 */ sh $t6, 0x18($sp) -/* 02DD90 8002D190 27A50018 */ addiu $a1, $sp, 0x18 -/* 02DD94 8002D194 24840050 */ addiu $a0, $a0, 0x50 -/* 02DD98 8002D198 0C009818 */ jal func_80026060 -/* 02DD9C 8002D19C 00003025 */ move $a2, $zero -/* 02DDA0 8002D1A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 02DDA4 8002D1A4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 02DDA8 8002D1A8 03E00008 */ jr $ra -/* 02DDAC 8002D1AC 00000000 */ nop - -glabel func_8002D1B0 -/* 02DDB0 8002D1B0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02DDB4 8002D1B4 AFBF0014 */ sw $ra, 0x14($sp) -/* 02DDB8 8002D1B8 8C850008 */ lw $a1, 8($a0) -/* 02DDBC 8002D1BC 00803825 */ move $a3, $a0 -/* 02DDC0 8002D1C0 50A0001F */ beql $a1, $zero, .L8002D240_ovl0 -/* 02DDC4 8002D1C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 02DDC8 8002D1C8 8CAE0088 */ lw $t6, 0x88($a1) -/* 02DDCC 8002D1CC 51C00017 */ beql $t6, $zero, .L8002D22C_ovl0 -/* 02DDD0 8002D1D0 00A02025 */ move $a0, $a1 -/* 02DDD4 8002D1D4 0C00A642 */ jal func_80029908 -/* 02DDD8 8002D1D8 AFA40018 */ sw $a0, 0x18($sp) -/* 02DDDC 8002D1DC 8FA70018 */ lw $a3, 0x18($sp) -/* 02DDE0 8002D1E0 10400015 */ beqz $v0, .L8002D238_ovl0 -/* 02DDE4 8002D1E4 00403025 */ move $a2, $v0 -/* 02DDE8 8002D1E8 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 -/* 02DDEC 8002D1EC 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) -/* 02DDF0 8002D1F0 8CF90008 */ lw $t9, 8($a3) -/* 02DDF4 8002D1F4 24050003 */ li $a1, 3 -/* 02DDF8 8002D1F8 8DF80028 */ lw $t8, 0x28($t7) -/* 02DDFC 8002D1FC 8F280088 */ lw $t0, 0x88($t9) -/* 02DE00 8002D200 A4400008 */ sh $zero, 8($v0) -/* 02DE04 8002D204 03084821 */ addu $t1, $t8, $t0 -/* 02DE08 8002D208 AC490004 */ sw $t1, 4($v0) -/* 02DE0C 8002D20C 8CEA0008 */ lw $t2, 8($a3) -/* 02DE10 8002D210 AC4A000C */ sw $t2, 0xc($v0) -/* 02DE14 8002D214 8CE40008 */ lw $a0, 8($a3) -/* 02DE18 8002D218 0C009D48 */ jal func_80027520 -/* 02DE1C 8002D21C AFA70018 */ sw $a3, 0x18($sp) -/* 02DE20 8002D220 10000005 */ b .L8002D238_ovl0 -/* 02DE24 8002D224 8FA70018 */ lw $a3, 0x18($sp) -/* 02DE28 8002D228 00A02025 */ move $a0, $a1 -.L8002D22C_ovl0: -/* 02DE2C 8002D22C 0C009D70 */ jal func_800275C0 -/* 02DE30 8002D230 AFA70018 */ sw $a3, 0x18($sp) -/* 02DE34 8002D234 8FA70018 */ lw $a3, 0x18($sp) -.L8002D238_ovl0: -/* 02DE38 8002D238 ACE00008 */ sw $zero, 8($a3) -/* 02DE3C 8002D23C 8FBF0014 */ lw $ra, 0x14($sp) -.L8002D240_ovl0: -/* 02DE40 8002D240 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02DE44 8002D244 03E00008 */ jr $ra -/* 02DE48 8002D248 00000000 */ nop - -glabel func_8002D24C -/* 02DE4C 8002D24C 00000000 */ nop -/* 02DE50 8002D250 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02DE54 8002D254 AFBF0014 */ sw $ra, 0x14($sp) -/* 02DE58 8002D258 AFA40020 */ sw $a0, 0x20($sp) -/* 02DE5C 8002D25C AFA50024 */ sw $a1, 0x24($sp) -/* 02DE60 8002D260 AFA60028 */ sw $a2, 0x28($sp) -/* 02DE64 8002D264 8C8F0008 */ lw $t7, 8($a0) -/* 02DE68 8002D268 51E0001B */ beql $t7, $zero, .L8002D2D8_ovl0 -/* 02DE6C 8002D26C 8FBF0014 */ lw $ra, 0x14($sp) -/* 02DE70 8002D270 0C00A642 */ jal func_80029908 -/* 02DE74 8002D274 00000000 */ nop -/* 02DE78 8002D278 10400016 */ beqz $v0, .L8002D2D4_ovl0 -/* 02DE7C 8002D27C 8FA80020 */ lw $t0, 0x20($sp) -/* 02DE80 8002D280 3C188004 */ lui $t8, %hi(D_8003FB14) # $t8, 0x8004 -/* 02DE84 8002D284 8F18FB14 */ lw $t8, %lo(D_8003FB14)($t8) -/* 02DE88 8002D288 8D090008 */ lw $t1, 8($t0) -/* 02DE8C 8002D28C 240C000B */ li $t4, 11 -/* 02DE90 8002D290 8F190028 */ lw $t9, 0x28($t8) -/* 02DE94 8002D294 8D2A0088 */ lw $t2, 0x88($t1) -/* 02DE98 8002D298 A44C0008 */ sh $t4, 8($v0) -/* 02DE9C 8002D29C 032A5821 */ addu $t3, $t9, $t2 -/* 02DEA0 8002D2A0 AC4B0004 */ sw $t3, 4($v0) -/* 02DEA4 8002D2A4 87AD0026 */ lh $t5, 0x26($sp) -/* 02DEA8 8002D2A8 AC4D000C */ sw $t5, 0xc($v0) -/* 02DEAC 8002D2AC AFA2001C */ sw $v0, 0x1c($sp) -/* 02DEB0 8002D2B0 0C00A60F */ jal func_8002983C -/* 02DEB4 8002D2B4 8FA40028 */ lw $a0, 0x28($sp) -/* 02DEB8 8002D2B8 8FA6001C */ lw $a2, 0x1c($sp) -/* 02DEBC 8002D2BC 24050003 */ li $a1, 3 -/* 02DEC0 8002D2C0 ACC20010 */ sw $v0, 0x10($a2) -/* 02DEC4 8002D2C4 ACC00000 */ sw $zero, ($a2) -/* 02DEC8 8002D2C8 8FAE0020 */ lw $t6, 0x20($sp) -/* 02DECC 8002D2CC 0C009D48 */ jal func_80027520 -/* 02DED0 8002D2D0 8DC40008 */ lw $a0, 8($t6) -.L8002D2D4_ovl0: -/* 02DED4 8002D2D4 8FBF0014 */ lw $ra, 0x14($sp) -.L8002D2D8_ovl0: -/* 02DED8 8002D2D8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 02DEDC 8002D2DC 03E00008 */ jr $ra -/* 02DEE0 8002D2E0 00000000 */ nop - -glabel func_8002D2E4 -/* 02DEE4 8002D2E4 00000000 */ nop -/* 02DEE8 8002D2E8 00000000 */ nop -/* 02DEEC 8002D2EC 00000000 */ nop -/* 02DEF0 8002D2F0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 02DEF4 8002D2F4 AFBF0024 */ sw $ra, 0x24($sp) -/* 02DEF8 8002D2F8 AFA40038 */ sw $a0, 0x38($sp) -/* 02DEFC 8002D2FC AFA5003C */ sw $a1, 0x3c($sp) -/* 02DF00 8002D300 AFA60040 */ sw $a2, 0x40($sp) -/* 02DF04 8002D304 AFB20020 */ sw $s2, 0x20($sp) -/* 02DF08 8002D308 AFB1001C */ sw $s1, 0x1c($sp) -/* 02DF0C 8002D30C 0C00D4D8 */ jal __osDisableInt -/* 02DF10 8002D310 AFB00018 */ sw $s0, 0x18($sp) -/* 02DF14 8002D314 8FAE0038 */ lw $t6, 0x38($sp) -/* 02DF18 8002D318 00408025 */ move $s0, $v0 -/* 02DF1C 8002D31C 8DCF0008 */ lw $t7, 8($t6) -/* 02DF20 8002D320 8DD80010 */ lw $t8, 0x10($t6) -/* 02DF24 8002D324 01F8082A */ slt $at, $t7, $t8 -/* 02DF28 8002D328 14200018 */ bnez $at, .L8002D38C_ovl0 -/* 02DF2C 8002D32C 00000000 */ nop -.L8002D330_ovl0: -/* 02DF30 8002D330 8FB90040 */ lw $t9, 0x40($sp) -/* 02DF34 8002D334 24010001 */ li $at, 1 -/* 02DF38 8002D338 1721000A */ bne $t9, $at, .L8002D364_ovl0 -/* 02DF3C 8002D33C 00000000 */ nop -/* 02DF40 8002D340 3C098004 */ lui $t1, %hi(__osRunningThread) # $t1, 0x8004 -/* 02DF44 8002D344 8D29FB60 */ lw $t1, %lo(__osRunningThread)($t1) -/* 02DF48 8002D348 24080008 */ li $t0, 8 -/* 02DF4C 8002D34C A5280010 */ sh $t0, 0x10($t1) -/* 02DF50 8002D350 8FA40038 */ lw $a0, 0x38($sp) -/* 02DF54 8002D354 0C00B963 */ jal __osEnqueueAndYield -/* 02DF58 8002D358 24840004 */ addiu $a0, $a0, 4 -/* 02DF5C 8002D35C 10000005 */ b .L8002D374_ovl0 -/* 02DF60 8002D360 00000000 */ nop -.L8002D364_ovl0: -/* 02DF64 8002D364 0C00D4E0 */ jal __osRestoreInt -/* 02DF68 8002D368 02002025 */ move $a0, $s0 -/* 02DF6C 8002D36C 1000002D */ b .L8002D424_ovl0 -/* 02DF70 8002D370 2402FFFF */ li $v0, -1 -.L8002D374_ovl0: -/* 02DF74 8002D374 8FAA0038 */ lw $t2, 0x38($sp) -/* 02DF78 8002D378 8D4B0008 */ lw $t3, 8($t2) -/* 02DF7C 8002D37C 8D4C0010 */ lw $t4, 0x10($t2) -/* 02DF80 8002D380 016C082A */ slt $at, $t3, $t4 -/* 02DF84 8002D384 1020FFEA */ beqz $at, .L8002D330_ovl0 -/* 02DF88 8002D388 00000000 */ nop -.L8002D38C_ovl0: -/* 02DF8C 8002D38C 8FAD0038 */ lw $t5, 0x38($sp) -/* 02DF90 8002D390 8FA8003C */ lw $t0, 0x3c($sp) -/* 02DF94 8002D394 8DAE000C */ lw $t6, 0xc($t5) -/* 02DF98 8002D398 8DAF0008 */ lw $t7, 8($t5) -/* 02DF9C 8002D39C 8DB90010 */ lw $t9, 0x10($t5) -/* 02DFA0 8002D3A0 8DA90014 */ lw $t1, 0x14($t5) -/* 02DFA4 8002D3A4 01CFC021 */ addu $t8, $t6, $t7 -/* 02DFA8 8002D3A8 0319001A */ div $zero, $t8, $t9 -/* 02DFAC 8002D3AC 00008810 */ mfhi $s1 -/* 02DFB0 8002D3B0 00115080 */ sll $t2, $s1, 2 -/* 02DFB4 8002D3B4 012A5821 */ addu $t3, $t1, $t2 -/* 02DFB8 8002D3B8 AD680000 */ sw $t0, ($t3) -/* 02DFBC 8002D3BC 8FAC0038 */ lw $t4, 0x38($sp) -/* 02DFC0 8002D3C0 17200002 */ bnez $t9, .L8002D3CC_ovl0 -/* 02DFC4 8002D3C4 00000000 */ nop -/* 02DFC8 8002D3C8 0007000D */ break 7 -.L8002D3CC_ovl0: -/* 02DFCC 8002D3CC 2401FFFF */ li $at, -1 -/* 02DFD0 8002D3D0 17210004 */ bne $t9, $at, .L8002D3E4_ovl0 -/* 02DFD4 8002D3D4 3C018000 */ lui $at, 0x8000 -/* 02DFD8 8002D3D8 17010002 */ bne $t8, $at, .L8002D3E4_ovl0 -/* 02DFDC 8002D3DC 00000000 */ nop -/* 02DFE0 8002D3E0 0006000D */ break 6 -.L8002D3E4_ovl0: -/* 02DFE4 8002D3E4 8D8E0008 */ lw $t6, 8($t4) -/* 02DFE8 8002D3E8 25CF0001 */ addiu $t7, $t6, 1 -/* 02DFEC 8002D3EC AD8F0008 */ sw $t7, 8($t4) -/* 02DFF0 8002D3F0 8FB80038 */ lw $t8, 0x38($sp) -/* 02DFF4 8002D3F4 8F190000 */ lw $t9, ($t8) -/* 02DFF8 8002D3F8 8F2D0000 */ lw $t5, ($t9) -/* 02DFFC 8002D3FC 11A00006 */ beqz $t5, .L8002D418_ovl0 -/* 02E000 8002D400 00000000 */ nop -/* 02E004 8002D404 0C00B9B5 */ jal __osPopThread -/* 02E008 8002D408 03002025 */ move $a0, $t8 -/* 02E00C 8002D40C 00409025 */ move $s2, $v0 -/* 02E010 8002D410 0C00E334 */ jal osStartThread -/* 02E014 8002D414 02402025 */ move $a0, $s2 -.L8002D418_ovl0: -/* 02E018 8002D418 0C00D4E0 */ jal __osRestoreInt -/* 02E01C 8002D41C 02002025 */ move $a0, $s0 -/* 02E020 8002D420 00001025 */ move $v0, $zero -.L8002D424_ovl0: -/* 02E024 8002D424 8FBF0024 */ lw $ra, 0x24($sp) -/* 02E028 8002D428 8FB00018 */ lw $s0, 0x18($sp) -/* 02E02C 8002D42C 8FB1001C */ lw $s1, 0x1c($sp) -/* 02E030 8002D430 8FB20020 */ lw $s2, 0x20($sp) -/* 02E034 8002D434 03E00008 */ jr $ra -/* 02E038 8002D438 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_8002D43C -/* 02E03C 8002D43C 00000000 */ nop -/* 02E040 8002D440 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 02E044 8002D444 AFBF0024 */ sw $ra, 0x24($sp) -/* 02E048 8002D448 AFA40038 */ sw $a0, 0x38($sp) -/* 02E04C 8002D44C AFB20020 */ sw $s2, 0x20($sp) -/* 02E050 8002D450 AFB1001C */ sw $s1, 0x1c($sp) -/* 02E054 8002D454 0C00D4D8 */ jal __osDisableInt -/* 02E058 8002D458 AFB00018 */ sw $s0, 0x18($sp) -/* 02E05C 8002D45C 8FAE0038 */ lw $t6, 0x38($sp) -/* 02E060 8002D460 00408025 */ move $s0, $v0 -/* 02E064 8002D464 15C00003 */ bnez $t6, .L8002D474_ovl0 -/* 02E068 8002D468 00000000 */ nop -/* 02E06C 8002D46C 10000003 */ b .L8002D47C_ovl0 -/* 02E070 8002D470 24110004 */ li $s1, 4 -.L8002D474_ovl0: -/* 02E074 8002D474 8FAF0038 */ lw $t7, 0x38($sp) -/* 02E078 8002D478 95F10010 */ lhu $s1, 0x10($t7) -.L8002D47C_ovl0: -/* 02E07C 8002D47C 02209025 */ move $s2, $s1 -/* 02E080 8002D480 24010002 */ li $at, 2 -/* 02E084 8002D484 1241000F */ beq $s2, $at, .L8002D4C4_ovl0 -/* 02E088 8002D488 24010004 */ li $at, 4 -/* 02E08C 8002D48C 12410005 */ beq $s2, $at, .L8002D4A4_ovl0 -/* 02E090 8002D490 24010008 */ li $at, 8 -/* 02E094 8002D494 1241000B */ beq $s2, $at, .L8002D4C4_ovl0 -/* 02E098 8002D498 00000000 */ nop -/* 02E09C 8002D49C 10000010 */ b .L8002D4E0_ovl0 -/* 02E0A0 8002D4A0 00000000 */ nop -.L8002D4A4_ovl0: -/* 02E0A4 8002D4A4 3C198004 */ lui $t9, %hi(__osRunningThread) # $t9, 0x8004 -/* 02E0A8 8002D4A8 8F39FB60 */ lw $t9, %lo(__osRunningThread)($t9) -/* 02E0AC 8002D4AC 24180001 */ li $t8, 1 -/* 02E0B0 8002D4B0 00002025 */ move $a0, $zero -/* 02E0B4 8002D4B4 0C00B963 */ jal __osEnqueueAndYield -/* 02E0B8 8002D4B8 A7380010 */ sh $t8, 0x10($t9) -/* 02E0BC 8002D4BC 10000008 */ b .L8002D4E0_ovl0 -/* 02E0C0 8002D4C0 00000000 */ nop -.L8002D4C4_ovl0: -/* 02E0C4 8002D4C4 8FA90038 */ lw $t1, 0x38($sp) -/* 02E0C8 8002D4C8 24080001 */ li $t0, 1 -/* 02E0CC 8002D4CC A5280010 */ sh $t0, 0x10($t1) -/* 02E0D0 8002D4D0 8FAA0038 */ lw $t2, 0x38($sp) -/* 02E0D4 8002D4D4 8D440008 */ lw $a0, 8($t2) -/* 02E0D8 8002D4D8 0C00BA1C */ jal __osDequeueThread -/* 02E0DC 8002D4DC 01402825 */ move $a1, $t2 -.L8002D4E0_ovl0: -/* 02E0E0 8002D4E0 0C00D4E0 */ jal __osRestoreInt -/* 02E0E4 8002D4E4 02002025 */ move $a0, $s0 -/* 02E0E8 8002D4E8 8FBF0024 */ lw $ra, 0x24($sp) -/* 02E0EC 8002D4EC 8FB00018 */ lw $s0, 0x18($sp) -/* 02E0F0 8002D4F0 8FB1001C */ lw $s1, 0x1c($sp) -/* 02E0F4 8002D4F4 8FB20020 */ lw $s2, 0x20($sp) -/* 02E0F8 8002D4F8 03E00008 */ jr $ra -/* 02E0FC 8002D4FC 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel osRecvMesg -/* 02E100 8002D500 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02E104 8002D504 AFBF001C */ sw $ra, 0x1c($sp) -/* 02E108 8002D508 AFA40028 */ sw $a0, 0x28($sp) -/* 02E10C 8002D50C AFA5002C */ sw $a1, 0x2c($sp) -/* 02E110 8002D510 AFA60030 */ sw $a2, 0x30($sp) -/* 02E114 8002D514 AFB10018 */ sw $s1, 0x18($sp) -/* 02E118 8002D518 0C00D4D8 */ jal __osDisableInt -/* 02E11C 8002D51C AFB00014 */ sw $s0, 0x14($sp) -/* 02E120 8002D520 8FAE0028 */ lw $t6, 0x28($sp) -/* 02E124 8002D524 00408025 */ move $s0, $v0 -/* 02E128 8002D528 8DCF0008 */ lw $t7, 8($t6) -/* 02E12C 8002D52C 15E00012 */ bnez $t7, .L8002D578_ovl0 -/* 02E130 8002D530 00000000 */ nop -.L8002D534_ovl0: -/* 02E134 8002D534 8FB80030 */ lw $t8, 0x30($sp) -/* 02E138 8002D538 17000005 */ bnez $t8, .L8002D550_ovl0 -/* 02E13C 8002D53C 00000000 */ nop -/* 02E140 8002D540 0C00D4E0 */ jal __osRestoreInt -/* 02E144 8002D544 02002025 */ move $a0, $s0 -/* 02E148 8002D548 10000036 */ b .L8002D624_ovl0 -/* 02E14C 8002D54C 2402FFFF */ li $v0, -1 -.L8002D550_ovl0: -/* 02E150 8002D550 3C088004 */ lui $t0, %hi(__osRunningThread) # $t0, 0x8004 -/* 02E154 8002D554 8D08FB60 */ lw $t0, %lo(__osRunningThread)($t0) -/* 02E158 8002D558 24190008 */ li $t9, 8 -/* 02E15C 8002D55C A5190010 */ sh $t9, 0x10($t0) -/* 02E160 8002D560 0C00B963 */ jal __osEnqueueAndYield -/* 02E164 8002D564 8FA40028 */ lw $a0, 0x28($sp) -/* 02E168 8002D568 8FA90028 */ lw $t1, 0x28($sp) -/* 02E16C 8002D56C 8D2A0008 */ lw $t2, 8($t1) -/* 02E170 8002D570 1140FFF0 */ beqz $t2, .L8002D534_ovl0 -/* 02E174 8002D574 00000000 */ nop -.L8002D578_ovl0: -/* 02E178 8002D578 8FAB002C */ lw $t3, 0x2c($sp) -/* 02E17C 8002D57C 11600008 */ beqz $t3, .L8002D5A0_ovl0 -/* 02E180 8002D580 00000000 */ nop -/* 02E184 8002D584 8FAC0028 */ lw $t4, 0x28($sp) -/* 02E188 8002D588 8D8E000C */ lw $t6, 0xc($t4) -/* 02E18C 8002D58C 8D8D0014 */ lw $t5, 0x14($t4) -/* 02E190 8002D590 000E7880 */ sll $t7, $t6, 2 -/* 02E194 8002D594 01AFC021 */ addu $t8, $t5, $t7 -/* 02E198 8002D598 8F190000 */ lw $t9, ($t8) -/* 02E19C 8002D59C AD790000 */ sw $t9, ($t3) -.L8002D5A0_ovl0: -/* 02E1A0 8002D5A0 8FA80028 */ lw $t0, 0x28($sp) -/* 02E1A4 8002D5A4 8D09000C */ lw $t1, 0xc($t0) -/* 02E1A8 8002D5A8 8D0C0010 */ lw $t4, 0x10($t0) -/* 02E1AC 8002D5AC 252A0001 */ addiu $t2, $t1, 1 -/* 02E1B0 8002D5B0 014C001A */ div $zero, $t2, $t4 -/* 02E1B4 8002D5B4 00007010 */ mfhi $t6 -/* 02E1B8 8002D5B8 AD0E000C */ sw $t6, 0xc($t0) -/* 02E1BC 8002D5BC 8FAD0028 */ lw $t5, 0x28($sp) -/* 02E1C0 8002D5C0 15800002 */ bnez $t4, .L8002D5CC_ovl0 -/* 02E1C4 8002D5C4 00000000 */ nop -/* 02E1C8 8002D5C8 0007000D */ break 7 -.L8002D5CC_ovl0: -/* 02E1CC 8002D5CC 2401FFFF */ li $at, -1 -/* 02E1D0 8002D5D0 15810004 */ bne $t4, $at, .L8002D5E4_ovl0 -/* 02E1D4 8002D5D4 3C018000 */ lui $at, 0x8000 -/* 02E1D8 8002D5D8 15410002 */ bne $t2, $at, .L8002D5E4_ovl0 -/* 02E1DC 8002D5DC 00000000 */ nop -/* 02E1E0 8002D5E0 0006000D */ break 6 -.L8002D5E4_ovl0: -/* 02E1E4 8002D5E4 8DAF0008 */ lw $t7, 8($t5) -/* 02E1E8 8002D5E8 25F8FFFF */ addiu $t8, $t7, -1 -/* 02E1EC 8002D5EC ADB80008 */ sw $t8, 8($t5) -/* 02E1F0 8002D5F0 8FB90028 */ lw $t9, 0x28($sp) -/* 02E1F4 8002D5F4 8F2B0004 */ lw $t3, 4($t9) -/* 02E1F8 8002D5F8 8D690000 */ lw $t1, ($t3) -/* 02E1FC 8002D5FC 11200006 */ beqz $t1, .L8002D618_ovl0 -/* 02E200 8002D600 00000000 */ nop -/* 02E204 8002D604 0C00B9B5 */ jal __osPopThread -/* 02E208 8002D608 27240004 */ addiu $a0, $t9, 4 -/* 02E20C 8002D60C 00408825 */ move $s1, $v0 -/* 02E210 8002D610 0C00E334 */ jal osStartThread -/* 02E214 8002D614 02202025 */ move $a0, $s1 -.L8002D618_ovl0: -/* 02E218 8002D618 0C00D4E0 */ jal __osRestoreInt -/* 02E21C 8002D61C 02002025 */ move $a0, $s0 -/* 02E220 8002D620 00001025 */ move $v0, $zero -.L8002D624_ovl0: -/* 02E224 8002D624 8FBF001C */ lw $ra, 0x1c($sp) -/* 02E228 8002D628 8FB00014 */ lw $s0, 0x14($sp) -/* 02E22C 8002D62C 8FB10018 */ lw $s1, 0x18($sp) -/* 02E230 8002D630 03E00008 */ jr $ra -/* 02E234 8002D634 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel func_8002D638 -/* 02E238 8002D638 00000000 */ nop -/* 02E23C 8002D63C 00000000 */ nop -/* 02E240 8002D640 400C6000 */ mfc0 $t4, $12 -/* 02E244 8002D644 3182FF01 */ andi $v0, $t4, 0xff01 -/* 02E248 8002D648 3C088004 */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x8004 -/* 02E24C 8002D64C 2508FBA0 */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, -0x460 -/* 02E250 8002D650 8D0B0000 */ lw $t3, ($t0) -/* 02E254 8002D654 2401FFFF */ li $at, -1 -/* 02E258 8002D658 01614026 */ xor $t0, $t3, $at -/* 02E25C 8002D65C 3108FF00 */ andi $t0, $t0, 0xff00 -/* 02E260 8002D660 00481025 */ or $v0, $v0, $t0 -/* 02E264 8002D664 3C0AA430 */ lui $t2, %hi(D_A430000C) # $t2, 0xa430 -/* 02E268 8002D668 8D4A000C */ lw $t2, %lo(D_A430000C)($t2) -/* 02E26C 8002D66C 11400005 */ beqz $t2, .L8002D684_ovl0 -/* 02E270 8002D670 000B4C02 */ srl $t1, $t3, 0x10 -/* 02E274 8002D674 2401FFFF */ li $at, -1 -/* 02E278 8002D678 01214826 */ xor $t1, $t1, $at -/* 02E27C 8002D67C 3129003F */ andi $t1, $t1, 0x3f -/* 02E280 8002D680 01495025 */ or $t2, $t2, $t1 -.L8002D684_ovl0: -/* 02E284 8002D684 000A5400 */ sll $t2, $t2, 0x10 -/* 02E288 8002D688 004A1025 */ or $v0, $v0, $t2 -/* 02E28C 8002D68C 3C01003F */ lui $at, 0x3f -/* 02E290 8002D690 00814024 */ and $t0, $a0, $at -/* 02E294 8002D694 010B4024 */ and $t0, $t0, $t3 -/* 02E298 8002D698 000843C2 */ srl $t0, $t0, 0xf -/* 02E29C 8002D69C 3C0A8004 */ lui $t2, 0x8004 -/* 02E2A0 8002D6A0 01485021 */ addu $t2, $t2, $t0 -/* 02E2A4 8002D6A4 954A1A30 */ lhu $t2, 0x1a30($t2) -/* 02E2A8 8002D6A8 3C01A430 */ lui $at, %hi(D_A430000C) # $at, 0xa430 -/* 02E2AC 8002D6AC AC2A000C */ sw $t2, %lo(D_A430000C)($at) -/* 02E2B0 8002D6B0 3088FF01 */ andi $t0, $a0, 0xff01 -/* 02E2B4 8002D6B4 3169FF00 */ andi $t1, $t3, 0xff00 -/* 02E2B8 8002D6B8 01094024 */ and $t0, $t0, $t1 -/* 02E2BC 8002D6BC 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff -/* 02E2C0 8002D6C0 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff -/* 02E2C4 8002D6C4 01816024 */ and $t4, $t4, $at -/* 02E2C8 8002D6C8 01886025 */ or $t4, $t4, $t0 -/* 02E2CC 8002D6CC 408C6000 */ mtc0 $t4, $12 -/* 02E2D0 8002D6D0 00000000 */ nop -/* 02E2D4 8002D6D4 00000000 */ nop -/* 02E2D8 8002D6D8 03E00008 */ jr $ra -/* 02E2DC 8002D6DC 00000000 */ nop - -glabel sinf -/* 02E2E0 8002D6E0 E7AC0000 */ swc1 $f12, ($sp) -/* 02E2E4 8002D6E4 8FA20000 */ lw $v0, ($sp) -/* 02E2E8 8002D6E8 C7A40000 */ lwc1 $f4, ($sp) -/* 02E2EC 8002D6EC 00021D83 */ sra $v1, $v0, 0x16 -/* 02E2F0 8002D6F0 306E01FF */ andi $t6, $v1, 0x1ff -/* 02E2F4 8002D6F4 29C100FF */ slti $at, $t6, 0xff -/* 02E2F8 8002D6F8 10200019 */ beqz $at, .L8002D760_ovl0 -/* 02E2FC 8002D6FC 01C01825 */ move $v1, $t6 -/* 02E300 8002D700 29C100E6 */ slti $at, $t6, 0xe6 -/* 02E304 8002D704 14200014 */ bnez $at, .L8002D758_ovl0 -/* 02E308 8002D708 460020A1 */ cvt.d.s $f2, $f4 -/* 02E30C 8002D70C 46221302 */ mul.d $f12, $f2, $f2 -/* 02E310 8002D710 3C038004 */ lui $v1, %hi(D_80041AB0) # $v1, 0x8004 -/* 02E314 8002D714 24631AB0 */ addiu $v1, %lo(D_80041AB0) # addiu $v1, $v1, 0x1ab0 -/* 02E318 8002D718 D4660020 */ ldc1 $f6, 0x20($v1) -/* 02E31C 8002D71C D46A0018 */ ldc1 $f10, 0x18($v1) -/* 02E320 8002D720 D4640010 */ ldc1 $f4, 0x10($v1) -/* 02E324 8002D724 462C3202 */ mul.d $f8, $f6, $f12 -/* 02E328 8002D728 462A4400 */ add.d $f16, $f8, $f10 -/* 02E32C 8002D72C D46A0008 */ ldc1 $f10, 8($v1) -/* 02E330 8002D730 462C8482 */ mul.d $f18, $f16, $f12 -/* 02E334 8002D734 46249180 */ add.d $f6, $f18, $f4 -/* 02E338 8002D738 462C3202 */ mul.d $f8, $f6, $f12 -/* 02E33C 8002D73C 46285380 */ add.d $f14, $f10, $f8 -/* 02E340 8002D740 462C1402 */ mul.d $f16, $f2, $f12 -/* 02E344 8002D744 00000000 */ nop -/* 02E348 8002D748 462E8482 */ mul.d $f18, $f16, $f14 -/* 02E34C 8002D74C 46229100 */ add.d $f4, $f18, $f2 -/* 02E350 8002D750 03E00008 */ jr $ra -/* 02E354 8002D754 46202020 */ cvt.s.d $f0, $f4 - -.L8002D758_ovl0: -/* 02E358 8002D758 03E00008 */ jr $ra -/* 02E35C 8002D75C C7A00000 */ lwc1 $f0, ($sp) - -.L8002D760_ovl0: -/* 02E360 8002D760 28610136 */ slti $at, $v1, 0x136 -/* 02E364 8002D764 10200044 */ beqz $at, .L8002D878_ovl0 -/* 02E368 8002D768 C7A40000 */ lwc1 $f4, ($sp) -/* 02E36C 8002D76C C7A60000 */ lwc1 $f6, ($sp) -/* 02E370 8002D770 3C018004 */ li $at, 0x80040000 # -0.000000 -/* 02E374 8002D774 D42A1AD8 */ ldc1 $f10, 0x1ad8($at) -/* 02E378 8002D778 460030A1 */ cvt.d.s $f2, $f6 -/* 02E37C 8002D77C 44804800 */ mtc1 $zero, $f9 -/* 02E380 8002D780 462A1002 */ mul.d $f0, $f2, $f10 -/* 02E384 8002D784 44804000 */ mtc1 $zero, $f8 -/* 02E388 8002D788 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 02E38C 8002D78C 4620403E */ c.le.d $f8, $f0 -/* 02E390 8002D790 00000000 */ nop -/* 02E394 8002D794 4502000B */ bc1fl .L8002D7C4_ovl0 -/* 02E398 8002D798 44813800 */ mtc1 $at, $f7 -/* 02E39C 8002D79C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 02E3A0 8002D7A0 44818800 */ mtc1 $at, $f17 -/* 02E3A4 8002D7A4 44808000 */ mtc1 $zero, $f16 -/* 02E3A8 8002D7A8 00000000 */ nop -/* 02E3AC 8002D7AC 46300480 */ add.d $f18, $f0, $f16 -/* 02E3B0 8002D7B0 4620910D */ trunc.w.d $f4, $f18 -/* 02E3B4 8002D7B4 44022000 */ mfc1 $v0, $f4 -/* 02E3B8 8002D7B8 10000009 */ b .L8002D7E0_ovl0 -/* 02E3BC 8002D7BC 44828000 */ mtc1 $v0, $f16 -/* 02E3C0 8002D7C0 44813800 */ mtc1 $at, $f7 -.L8002D7C4_ovl0: -/* 02E3C4 8002D7C4 44803000 */ mtc1 $zero, $f6 -/* 02E3C8 8002D7C8 00000000 */ nop -/* 02E3CC 8002D7CC 46260281 */ sub.d $f10, $f0, $f6 -/* 02E3D0 8002D7D0 4620520D */ trunc.w.d $f8, $f10 -/* 02E3D4 8002D7D4 44024000 */ mfc1 $v0, $f8 -/* 02E3D8 8002D7D8 00000000 */ nop -/* 02E3DC 8002D7DC 44828000 */ mtc1 $v0, $f16 -.L8002D7E0_ovl0: -/* 02E3E0 8002D7E0 3C018004 */ lui $at, 0x8004 -/* 02E3E4 8002D7E4 D4321AE0 */ ldc1 $f18, 0x1ae0($at) -/* 02E3E8 8002D7E8 46808021 */ cvt.d.w $f0, $f16 -/* 02E3EC 8002D7EC 3C018004 */ lui $at, 0x8004 -/* 02E3F0 8002D7F0 D4261AE8 */ ldc1 $f6, 0x1ae8($at) -/* 02E3F4 8002D7F4 3C038004 */ lui $v1, %hi(D_80041AB0) # $v1, 0x8004 -/* 02E3F8 8002D7F8 24631AB0 */ addiu $v1, %lo(D_80041AB0) # addiu $v1, $v1, 0x1ab0 -/* 02E3FC 8002D7FC 46320102 */ mul.d $f4, $f0, $f18 -/* 02E400 8002D800 D4680020 */ ldc1 $f8, 0x20($v1) -/* 02E404 8002D804 D4720018 */ ldc1 $f18, 0x18($v1) -/* 02E408 8002D808 30590001 */ andi $t9, $v0, 1 -/* 02E40C 8002D80C 46260282 */ mul.d $f10, $f0, $f6 -/* 02E410 8002D810 46241081 */ sub.d $f2, $f2, $f4 -/* 02E414 8002D814 462A1081 */ sub.d $f2, $f2, $f10 -/* 02E418 8002D818 D46A0010 */ ldc1 $f10, 0x10($v1) -/* 02E41C 8002D81C 46221302 */ mul.d $f12, $f2, $f2 -/* 02E420 8002D820 00000000 */ nop -/* 02E424 8002D824 462C4402 */ mul.d $f16, $f8, $f12 -/* 02E428 8002D828 46328100 */ add.d $f4, $f16, $f18 -/* 02E42C 8002D82C D4720008 */ ldc1 $f18, 8($v1) -/* 02E430 8002D830 462C2182 */ mul.d $f6, $f4, $f12 -/* 02E434 8002D834 462A3200 */ add.d $f8, $f6, $f10 -/* 02E438 8002D838 462C4402 */ mul.d $f16, $f8, $f12 -/* 02E43C 8002D83C 17200007 */ bnez $t9, .L8002D85C_ovl0 -/* 02E440 8002D840 46309380 */ add.d $f14, $f18, $f16 -/* 02E444 8002D844 462C1102 */ mul.d $f4, $f2, $f12 -/* 02E448 8002D848 00000000 */ nop -/* 02E44C 8002D84C 462E2182 */ mul.d $f6, $f4, $f14 -/* 02E450 8002D850 46223280 */ add.d $f10, $f6, $f2 -/* 02E454 8002D854 03E00008 */ jr $ra -/* 02E458 8002D858 46205020 */ cvt.s.d $f0, $f10 - -.L8002D85C_ovl0: -/* 02E45C 8002D85C 462C1202 */ mul.d $f8, $f2, $f12 -/* 02E460 8002D860 00000000 */ nop -/* 02E464 8002D864 462E4482 */ mul.d $f18, $f8, $f14 -/* 02E468 8002D868 46229400 */ add.d $f16, $f18, $f2 -/* 02E46C 8002D86C 46208020 */ cvt.s.d $f0, $f16 -/* 02E470 8002D870 03E00008 */ jr $ra -/* 02E474 8002D874 46000007 */ neg.s $f0, $f0 - -.L8002D878_ovl0: -/* 02E478 8002D878 46042032 */ c.eq.s $f4, $f4 -/* 02E47C 8002D87C 3C018004 */ lui $at, 0x8004 -/* 02E480 8002D880 45010004 */ bc1t .L8002D894_ovl0 -/* 02E484 8002D884 00000000 */ nop -/* 02E488 8002D888 3C018004 */ lui $at, 0x8004 -/* 02E48C 8002D88C 03E00008 */ jr $ra -/* 02E490 8002D890 C4201CC0 */ lwc1 $f0, 0x1cc0($at) - -.L8002D894_ovl0: -/* 02E494 8002D894 C4201AF0 */ lwc1 $f0, 0x1af0($at) -/* 02E498 8002D898 03E00008 */ jr $ra -/* 02E49C 8002D89C 00000000 */ nop - -glabel func_8002D8A0 -/* 02E4A0 8002D8A0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02E4A4 8002D8A4 3C0E8009 */ lui $t6, %hi(D_80097950) # $t6, 0x8009 -/* 02E4A8 8002D8A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 02E4AC 8002D8AC AFA40020 */ sw $a0, 0x20($sp) -/* 02E4B0 8002D8B0 25CE7950 */ addiu $t6, %lo(D_80097950) # addiu $t6, $t6, 0x7950 -/* 02E4B4 8002D8B4 AFAE001C */ sw $t6, 0x1c($sp) -/* 02E4B8 8002D8B8 01C02825 */ move $a1, $t6 -/* 02E4BC 8002D8BC 8FA40020 */ lw $a0, 0x20($sp) -/* 02E4C0 8002D8C0 0C00D340 */ jal bcopy -/* 02E4C4 8002D8C4 24060040 */ li $a2, 64 -/* 02E4C8 8002D8C8 8FAF001C */ lw $t7, 0x1c($sp) -/* 02E4CC 8002D8CC 8DF80010 */ lw $t8, 0x10($t7) -/* 02E4D0 8002D8D0 13000005 */ beqz $t8, .L8002D8E8_ovl0 -/* 02E4D4 8002D8D4 00000000 */ nop -/* 02E4D8 8002D8D8 0C00BFE8 */ jal osVirtualToPhysical -/* 02E4DC 8002D8DC 03002025 */ move $a0, $t8 -/* 02E4E0 8002D8E0 8FB9001C */ lw $t9, 0x1c($sp) -/* 02E4E4 8002D8E4 AF220010 */ sw $v0, 0x10($t9) -.L8002D8E8_ovl0: -/* 02E4E8 8002D8E8 8FA8001C */ lw $t0, 0x1c($sp) -/* 02E4EC 8002D8EC 8D090018 */ lw $t1, 0x18($t0) -/* 02E4F0 8002D8F0 11200005 */ beqz $t1, .L8002D908_ovl0 -/* 02E4F4 8002D8F4 00000000 */ nop -/* 02E4F8 8002D8F8 0C00BFE8 */ jal osVirtualToPhysical -/* 02E4FC 8002D8FC 01202025 */ move $a0, $t1 -/* 02E500 8002D900 8FAA001C */ lw $t2, 0x1c($sp) -/* 02E504 8002D904 AD420018 */ sw $v0, 0x18($t2) -.L8002D908_ovl0: -/* 02E508 8002D908 8FAB001C */ lw $t3, 0x1c($sp) -/* 02E50C 8002D90C 8D6C0020 */ lw $t4, 0x20($t3) -/* 02E510 8002D910 11800005 */ beqz $t4, .L8002D928_ovl0 -/* 02E514 8002D914 00000000 */ nop -/* 02E518 8002D918 0C00BFE8 */ jal osVirtualToPhysical -/* 02E51C 8002D91C 01802025 */ move $a0, $t4 -/* 02E520 8002D920 8FAD001C */ lw $t5, 0x1c($sp) -/* 02E524 8002D924 ADA20020 */ sw $v0, 0x20($t5) -.L8002D928_ovl0: -/* 02E528 8002D928 8FAE001C */ lw $t6, 0x1c($sp) -/* 02E52C 8002D92C 8DCF0028 */ lw $t7, 0x28($t6) -/* 02E530 8002D930 11E00005 */ beqz $t7, .L8002D948_ovl0 -/* 02E534 8002D934 00000000 */ nop -/* 02E538 8002D938 0C00BFE8 */ jal osVirtualToPhysical -/* 02E53C 8002D93C 01E02025 */ move $a0, $t7 -/* 02E540 8002D940 8FB8001C */ lw $t8, 0x1c($sp) -/* 02E544 8002D944 AF020028 */ sw $v0, 0x28($t8) -.L8002D948_ovl0: -/* 02E548 8002D948 8FB9001C */ lw $t9, 0x1c($sp) -/* 02E54C 8002D94C 8F28002C */ lw $t0, 0x2c($t9) -/* 02E550 8002D950 11000005 */ beqz $t0, .L8002D968_ovl0 -/* 02E554 8002D954 00000000 */ nop -/* 02E558 8002D958 0C00BFE8 */ jal osVirtualToPhysical -/* 02E55C 8002D95C 01002025 */ move $a0, $t0 -/* 02E560 8002D960 8FA9001C */ lw $t1, 0x1c($sp) -/* 02E564 8002D964 AD22002C */ sw $v0, 0x2c($t1) -.L8002D968_ovl0: -/* 02E568 8002D968 8FAA001C */ lw $t2, 0x1c($sp) -/* 02E56C 8002D96C 8D4B0030 */ lw $t3, 0x30($t2) -/* 02E570 8002D970 11600005 */ beqz $t3, .L8002D988_ovl0 -/* 02E574 8002D974 00000000 */ nop -/* 02E578 8002D978 0C00BFE8 */ jal osVirtualToPhysical -/* 02E57C 8002D97C 01602025 */ move $a0, $t3 -/* 02E580 8002D980 8FAC001C */ lw $t4, 0x1c($sp) -/* 02E584 8002D984 AD820030 */ sw $v0, 0x30($t4) -.L8002D988_ovl0: -/* 02E588 8002D988 8FAD001C */ lw $t5, 0x1c($sp) -/* 02E58C 8002D98C 8DAE0038 */ lw $t6, 0x38($t5) -/* 02E590 8002D990 11C00005 */ beqz $t6, .L8002D9A8_ovl0 -/* 02E594 8002D994 00000000 */ nop -/* 02E598 8002D998 0C00BFE8 */ jal osVirtualToPhysical -/* 02E59C 8002D99C 01C02025 */ move $a0, $t6 -/* 02E5A0 8002D9A0 8FAF001C */ lw $t7, 0x1c($sp) -/* 02E5A4 8002D9A4 ADE20038 */ sw $v0, 0x38($t7) -.L8002D9A8_ovl0: -/* 02E5A8 8002D9A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 02E5AC 8002D9AC 8FA2001C */ lw $v0, 0x1c($sp) -/* 02E5B0 8002D9B0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 02E5B4 8002D9B4 03E00008 */ jr $ra -/* 02E5B8 8002D9B8 00000000 */ nop - -glabel osSpTaskLoad -/* 02E5BC 8002D9BC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02E5C0 8002D9C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 02E5C4 8002D9C4 AFA40020 */ sw $a0, 0x20($sp) -/* 02E5C8 8002D9C8 0C00B628 */ jal func_8002D8A0 -/* 02E5CC 8002D9CC 8FA40020 */ lw $a0, 0x20($sp) -/* 02E5D0 8002D9D0 AFA2001C */ sw $v0, 0x1c($sp) -/* 02E5D4 8002D9D4 8FAE001C */ lw $t6, 0x1c($sp) -/* 02E5D8 8002D9D8 8DCF0004 */ lw $t7, 4($t6) -/* 02E5DC 8002D9DC 31F80001 */ andi $t8, $t7, 1 -/* 02E5E0 8002D9E0 13000017 */ beqz $t8, .L8002DA40_ovl0 -/* 02E5E4 8002D9E4 00000000 */ nop -/* 02E5E8 8002D9E8 8DD90038 */ lw $t9, 0x38($t6) -/* 02E5EC 8002D9EC 2401FFFE */ li $at, -2 -/* 02E5F0 8002D9F0 ADD90018 */ sw $t9, 0x18($t6) -/* 02E5F4 8002D9F4 8FA8001C */ lw $t0, 0x1c($sp) -/* 02E5F8 8002D9F8 8D09003C */ lw $t1, 0x3c($t0) -/* 02E5FC 8002D9FC AD09001C */ sw $t1, 0x1c($t0) -/* 02E600 8002DA00 8FAA0020 */ lw $t2, 0x20($sp) -/* 02E604 8002DA04 8D4B0004 */ lw $t3, 4($t2) -/* 02E608 8002DA08 01616024 */ and $t4, $t3, $at -/* 02E60C 8002DA0C AD4C0004 */ sw $t4, 4($t2) -/* 02E610 8002DA10 8FAD001C */ lw $t5, 0x1c($sp) -/* 02E614 8002DA14 8DAF0004 */ lw $t7, 4($t5) -/* 02E618 8002DA18 31F80004 */ andi $t8, $t7, 4 -/* 02E61C 8002DA1C 13000008 */ beqz $t8, .L8002DA40_ovl0 -/* 02E620 8002DA20 00000000 */ nop -/* 02E624 8002DA24 8FB90020 */ lw $t9, 0x20($sp) -/* 02E628 8002DA28 3C01A000 */ lui $at, 0xa000 -/* 02E62C 8002DA2C 8F2E0038 */ lw $t6, 0x38($t9) -/* 02E630 8002DA30 25C90BFC */ addiu $t1, $t6, 0xbfc -/* 02E634 8002DA34 01214025 */ or $t0, $t1, $at -/* 02E638 8002DA38 8D0B0000 */ lw $t3, ($t0) -/* 02E63C 8002DA3C ADAB0010 */ sw $t3, 0x10($t5) -.L8002DA40_ovl0: -/* 02E640 8002DA40 8FA4001C */ lw $a0, 0x1c($sp) -/* 02E644 8002DA44 0C00C008 */ jal osWritebackDCache -/* 02E648 8002DA48 24050040 */ li $a1, 64 -/* 02E64C 8002DA4C 0C00E258 */ jal __osSpSetStatus -/* 02E650 8002DA50 24042B00 */ li $a0, 11008 -/* 02E654 8002DA54 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 -/* 02E658 8002DA58 0C00E47C */ jal __osSpSetPc -/* 02E65C 8002DA5C 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 -/* 02E660 8002DA60 2401FFFF */ li $at, -1 -/* 02E664 8002DA64 14410007 */ bne $v0, $at, .L8002DA84_ovl0 -/* 02E668 8002DA68 00000000 */ nop -.L8002DA6C_ovl0: -/* 02E66C 8002DA6C 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 -/* 02E670 8002DA70 0C00E47C */ jal __osSpSetPc -/* 02E674 8002DA74 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 -/* 02E678 8002DA78 2401FFFF */ li $at, -1 -/* 02E67C 8002DA7C 1041FFFB */ beq $v0, $at, .L8002DA6C_ovl0 -/* 02E680 8002DA80 00000000 */ nop -.L8002DA84_ovl0: -/* 02E684 8002DA84 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 -/* 02E688 8002DA88 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 -/* 02E68C 8002DA8C 24040001 */ li $a0, 1 -/* 02E690 8002DA90 8FA6001C */ lw $a2, 0x1c($sp) -/* 02E694 8002DA94 0C00C114 */ jal __osSpRawStartDma -/* 02E698 8002DA98 24070040 */ li $a3, 64 -/* 02E69C 8002DA9C 2401FFFF */ li $at, -1 -/* 02E6A0 8002DAA0 1441000A */ bne $v0, $at, .L8002DACC_ovl0 -/* 02E6A4 8002DAA4 00000000 */ nop -.L8002DAA8_ovl0: -/* 02E6A8 8002DAA8 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 -/* 02E6AC 8002DAAC 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 -/* 02E6B0 8002DAB0 24040001 */ li $a0, 1 -/* 02E6B4 8002DAB4 8FA6001C */ lw $a2, 0x1c($sp) -/* 02E6B8 8002DAB8 0C00C114 */ jal __osSpRawStartDma -/* 02E6BC 8002DABC 24070040 */ li $a3, 64 -/* 02E6C0 8002DAC0 2401FFFF */ li $at, -1 -/* 02E6C4 8002DAC4 1041FFF8 */ beq $v0, $at, .L8002DAA8_ovl0 -/* 02E6C8 8002DAC8 00000000 */ nop -.L8002DACC_ovl0: -/* 02E6CC 8002DACC 0C00CF4C */ jal __osSpDeviceBusy -/* 02E6D0 8002DAD0 00000000 */ nop -/* 02E6D4 8002DAD4 10400005 */ beqz $v0, .L8002DAEC_ovl0 -/* 02E6D8 8002DAD8 00000000 */ nop -.L8002DADC_ovl0: -/* 02E6DC 8002DADC 0C00CF4C */ jal __osSpDeviceBusy -/* 02E6E0 8002DAE0 00000000 */ nop -/* 02E6E4 8002DAE4 1440FFFD */ bnez $v0, .L8002DADC_ovl0 -/* 02E6E8 8002DAE8 00000000 */ nop -.L8002DAEC_ovl0: -/* 02E6EC 8002DAEC 8FAC001C */ lw $t4, 0x1c($sp) -/* 02E6F0 8002DAF0 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 -/* 02E6F4 8002DAF4 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 -/* 02E6F8 8002DAF8 24040001 */ li $a0, 1 -/* 02E6FC 8002DAFC 8D860008 */ lw $a2, 8($t4) -/* 02E700 8002DB00 0C00C114 */ jal __osSpRawStartDma -/* 02E704 8002DB04 8D87000C */ lw $a3, 0xc($t4) -/* 02E708 8002DB08 2401FFFF */ li $at, -1 -/* 02E70C 8002DB0C 1441000B */ bne $v0, $at, .L8002DB3C_ovl0 -/* 02E710 8002DB10 00000000 */ nop -.L8002DB14_ovl0: -/* 02E714 8002DB14 8FAA001C */ lw $t2, 0x1c($sp) -/* 02E718 8002DB18 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 -/* 02E71C 8002DB1C 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 -/* 02E720 8002DB20 24040001 */ li $a0, 1 -/* 02E724 8002DB24 8D460008 */ lw $a2, 8($t2) -/* 02E728 8002DB28 0C00C114 */ jal __osSpRawStartDma -/* 02E72C 8002DB2C 8D47000C */ lw $a3, 0xc($t2) -/* 02E730 8002DB30 2401FFFF */ li $at, -1 -/* 02E734 8002DB34 1041FFF7 */ beq $v0, $at, .L8002DB14_ovl0 -/* 02E738 8002DB38 00000000 */ nop -.L8002DB3C_ovl0: -/* 02E73C 8002DB3C 8FBF0014 */ lw $ra, 0x14($sp) -/* 02E740 8002DB40 27BD0020 */ addiu $sp, $sp, 0x20 -/* 02E744 8002DB44 03E00008 */ jr $ra -/* 02E748 8002DB48 00000000 */ nop - -# osSPTaskLoad? - -glabel func_8002DB4C -/* 02E74C 8002DB4C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02E750 8002DB50 AFBF0014 */ sw $ra, 0x14($sp) -/* 02E754 8002DB54 0C00CF4C */ jal __osSpDeviceBusy -/* 02E758 8002DB58 AFA40018 */ sw $a0, 0x18($sp) -/* 02E75C 8002DB5C 10400005 */ beqz $v0, .L8002DB74_ovl0 -/* 02E760 8002DB60 00000000 */ nop -.L8002DB64_ovl0: -/* 02E764 8002DB64 0C00CF4C */ jal __osSpDeviceBusy -/* 02E768 8002DB68 00000000 */ nop -/* 02E76C 8002DB6C 1440FFFD */ bnez $v0, .L8002DB64_ovl0 -/* 02E770 8002DB70 00000000 */ nop -.L8002DB74_ovl0: -/* 02E774 8002DB74 0C00E258 */ jal __osSpSetStatus -/* 02E778 8002DB78 24040125 */ li $a0, 293 -/* 02E77C 8002DB7C 8FBF0014 */ lw $ra, 0x14($sp) -/* 02E780 8002DB80 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02E784 8002DB84 03E00008 */ jr $ra -/* 02E788 8002DB88 00000000 */ nop - -/* 02E78C 8002DB8C 00000000 */ nop - -/* NEWFILE */ - -glabel osDestroyThread -/* 02E790 8002DB90 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 02E794 8002DB94 AFBF0024 */ sw $ra, 0x24($sp) -/* 02E798 8002DB98 AFA40038 */ sw $a0, 0x38($sp) -/* 02E79C 8002DB9C AFB20020 */ sw $s2, 0x20($sp) -/* 02E7A0 8002DBA0 AFB1001C */ sw $s1, 0x1c($sp) -/* 02E7A4 8002DBA4 0C00D4D8 */ jal __osDisableInt -/* 02E7A8 8002DBA8 AFB00018 */ sw $s0, 0x18($sp) -/* 02E7AC 8002DBAC 8FAE0038 */ lw $t6, 0x38($sp) -/* 02E7B0 8002DBB0 00408025 */ move $s0, $v0 -/* 02E7B4 8002DBB4 15C00005 */ bnez $t6, .L8002DBCC_ovl0 -/* 02E7B8 8002DBB8 00000000 */ nop -/* 02E7BC 8002DBBC 3C0F8004 */ lui $t7, %hi(__osRunningThread) # $t7, 0x8004 -/* 02E7C0 8002DBC0 8DEFFB60 */ lw $t7, %lo(__osRunningThread)($t7) -/* 02E7C4 8002DBC4 10000009 */ b .L8002DBEC_ovl0 -/* 02E7C8 8002DBC8 AFAF0038 */ sw $t7, 0x38($sp) -.L8002DBCC_ovl0: -/* 02E7CC 8002DBCC 8FB80038 */ lw $t8, 0x38($sp) -/* 02E7D0 8002DBD0 24010001 */ li $at, 1 -/* 02E7D4 8002DBD4 97190010 */ lhu $t9, 0x10($t8) -/* 02E7D8 8002DBD8 13210004 */ beq $t9, $at, .L8002DBEC_ovl0 -/* 02E7DC 8002DBDC 00000000 */ nop -/* 02E7E0 8002DBE0 8F040008 */ lw $a0, 8($t8) -/* 02E7E4 8002DBE4 0C00BA1C */ jal __osDequeueThread -/* 02E7E8 8002DBE8 03002825 */ move $a1, $t8 -.L8002DBEC_ovl0: -/* 02E7EC 8002DBEC 3C088004 */ lui $t0, %hi(__osActiveQueue) # $t0, 0x8004 -/* 02E7F0 8002DBF0 8D08FB5C */ lw $t0, %lo(__osActiveQueue)($t0) -/* 02E7F4 8002DBF4 8FA90038 */ lw $t1, 0x38($sp) -/* 02E7F8 8002DBF8 15090005 */ bne $t0, $t1, .L8002DC10_ovl0 -/* 02E7FC 8002DBFC 00000000 */ nop -/* 02E800 8002DC00 8D0A000C */ lw $t2, 0xc($t0) -/* 02E804 8002DC04 3C018004 */ lui $at, %hi(__osActiveQueue) # $at, 0x8004 -/* 02E808 8002DC08 10000013 */ b .L8002DC58_ovl0 -/* 02E80C 8002DC0C AC2AFB5C */ sw $t2, %lo(__osActiveQueue)($at) -.L8002DC10_ovl0: -/* 02E810 8002DC10 3C118004 */ lui $s1, %hi(__osActiveQueue) # $s1, 0x8004 -/* 02E814 8002DC14 8E31FB5C */ lw $s1, %lo(__osActiveQueue)($s1) -/* 02E818 8002DC18 2401FFFF */ li $at, -1 -/* 02E81C 8002DC1C 8E2B0004 */ lw $t3, 4($s1) -/* 02E820 8002DC20 1161000D */ beq $t3, $at, .L8002DC58_ovl0 -/* 02E824 8002DC24 00000000 */ nop -.L8002DC28_ovl0: -/* 02E828 8002DC28 8E32000C */ lw $s2, 0xc($s1) -/* 02E82C 8002DC2C 8FAC0038 */ lw $t4, 0x38($sp) -/* 02E830 8002DC30 164C0004 */ bne $s2, $t4, .L8002DC44_ovl0 -/* 02E834 8002DC34 00000000 */ nop -/* 02E838 8002DC38 8D8D000C */ lw $t5, 0xc($t4) -/* 02E83C 8002DC3C 10000006 */ b .L8002DC58_ovl0 -/* 02E840 8002DC40 AE2D000C */ sw $t5, 0xc($s1) -.L8002DC44_ovl0: -/* 02E844 8002DC44 02408825 */ move $s1, $s2 -/* 02E848 8002DC48 8E2E0004 */ lw $t6, 4($s1) -/* 02E84C 8002DC4C 2401FFFF */ li $at, -1 -/* 02E850 8002DC50 15C1FFF5 */ bne $t6, $at, .L8002DC28_ovl0 -/* 02E854 8002DC54 00000000 */ nop -.L8002DC58_ovl0: -/* 02E858 8002DC58 3C198004 */ lui $t9, %hi(__osRunningThread) # $t9, 0x8004 -/* 02E85C 8002DC5C 8F39FB60 */ lw $t9, %lo(__osRunningThread)($t9) -/* 02E860 8002DC60 8FAF0038 */ lw $t7, 0x38($sp) -/* 02E864 8002DC64 15F90003 */ bne $t7, $t9, .L8002DC74_ovl0 -/* 02E868 8002DC68 00000000 */ nop -/* 02E86C 8002DC6C 0C00B9B9 */ jal __osDispatchThread -/* 02E870 8002DC70 00000000 */ nop -.L8002DC74_ovl0: -/* 02E874 8002DC74 0C00D4E0 */ jal __osRestoreInt -/* 02E878 8002DC78 02002025 */ move $a0, $s0 -/* 02E87C 8002DC7C 8FBF0024 */ lw $ra, 0x24($sp) -/* 02E880 8002DC80 8FB00018 */ lw $s0, 0x18($sp) -/* 02E884 8002DC84 8FB1001C */ lw $s1, 0x1c($sp) -/* 02E888 8002DC88 8FB20020 */ lw $s2, 0x20($sp) -/* 02E88C 8002DC8C 03E00008 */ jr $ra -/* 02E890 8002DC90 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_8002DC94 -/* 02E894 8002DC94 00000000 */ nop -/* 02E898 8002DC98 00000000 */ nop -/* 02E89C 8002DC9C 00000000 */ nop -/* 02E8A0 8002DCA0 AFA40000 */ sw $a0, ($sp) -/* 02E8A4 8002DCA4 AFA50004 */ sw $a1, 4($sp) -/* 02E8A8 8002DCA8 AFA60008 */ sw $a2, 8($sp) -/* 02E8AC 8002DCAC AFA7000C */ sw $a3, 0xc($sp) -/* 02E8B0 8002DCB0 DFAF0008 */ ld $t7, 8($sp) -/* 02E8B4 8002DCB4 DFAE0000 */ ld $t6, ($sp) -/* 02E8B8 8002DCB8 01EE1016 */ dsrlv $v0, $t6, $t7 -/* 02E8BC 8002DCBC 0002183C */ dsll32 $v1, $v0, 0 -/* 02E8C0 8002DCC0 0003183F */ dsra32 $v1, $v1, 0 -/* 02E8C4 8002DCC4 03E00008 */ jr $ra -/* 02E8C8 8002DCC8 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ull_rem -/* 02E8CC 8002DCCC AFA40000 */ sw $a0, ($sp) -/* 02E8D0 8002DCD0 AFA50004 */ sw $a1, 4($sp) -/* 02E8D4 8002DCD4 AFA60008 */ sw $a2, 8($sp) -/* 02E8D8 8002DCD8 AFA7000C */ sw $a3, 0xc($sp) -/* 02E8DC 8002DCDC DFAF0008 */ ld $t7, 8($sp) -/* 02E8E0 8002DCE0 DFAE0000 */ ld $t6, ($sp) -/* 02E8E4 8002DCE4 01CF001F */ ddivu $zero, $t6, $t7 -/* 02E8E8 8002DCE8 15E00002 */ bnez $t7, .L8002DCF4_ovl0 -/* 02E8EC 8002DCEC 00000000 */ nop -/* 02E8F0 8002DCF0 0007000D */ break 7 -.L8002DCF4_ovl0: -/* 02E8F4 8002DCF4 00001010 */ mfhi $v0 -/* 02E8F8 8002DCF8 0002183C */ dsll32 $v1, $v0, 0 -/* 02E8FC 8002DCFC 0003183F */ dsra32 $v1, $v1, 0 -/* 02E900 8002DD00 03E00008 */ jr $ra -/* 02E904 8002DD04 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ull_div -/* 02E908 8002DD08 AFA40000 */ sw $a0, ($sp) -/* 02E90C 8002DD0C AFA50004 */ sw $a1, 4($sp) -/* 02E910 8002DD10 AFA60008 */ sw $a2, 8($sp) -/* 02E914 8002DD14 AFA7000C */ sw $a3, 0xc($sp) -/* 02E918 8002DD18 DFAF0008 */ ld $t7, 8($sp) -/* 02E91C 8002DD1C DFAE0000 */ ld $t6, ($sp) -/* 02E920 8002DD20 01CF001F */ ddivu $zero, $t6, $t7 -/* 02E924 8002DD24 15E00002 */ bnez $t7, .L8002DD30_ovl0 -/* 02E928 8002DD28 00000000 */ nop -/* 02E92C 8002DD2C 0007000D */ break 7 -.L8002DD30_ovl0: -/* 02E930 8002DD30 00001012 */ mflo $v0 -/* 02E934 8002DD34 0002183C */ dsll32 $v1, $v0, 0 -/* 02E938 8002DD38 0003183F */ dsra32 $v1, $v1, 0 -/* 02E93C 8002DD3C 03E00008 */ jr $ra -/* 02E940 8002DD40 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_lshift -/* 02E944 8002DD44 AFA40000 */ sw $a0, ($sp) -/* 02E948 8002DD48 AFA50004 */ sw $a1, 4($sp) -/* 02E94C 8002DD4C AFA60008 */ sw $a2, 8($sp) -/* 02E950 8002DD50 AFA7000C */ sw $a3, 0xc($sp) -/* 02E954 8002DD54 DFAF0008 */ ld $t7, 8($sp) -/* 02E958 8002DD58 DFAE0000 */ ld $t6, ($sp) -/* 02E95C 8002DD5C 01EE1014 */ dsllv $v0, $t6, $t7 -/* 02E960 8002DD60 0002183C */ dsll32 $v1, $v0, 0 -/* 02E964 8002DD64 0003183F */ dsra32 $v1, $v1, 0 -/* 02E968 8002DD68 03E00008 */ jr $ra -/* 02E96C 8002DD6C 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_rem -/* 02E970 8002DD70 AFA40000 */ sw $a0, ($sp) -/* 02E974 8002DD74 AFA50004 */ sw $a1, 4($sp) -/* 02E978 8002DD78 AFA60008 */ sw $a2, 8($sp) -/* 02E97C 8002DD7C AFA7000C */ sw $a3, 0xc($sp) -/* 02E980 8002DD80 DFAF0008 */ ld $t7, 8($sp) -/* 02E984 8002DD84 DFAE0000 */ ld $t6, ($sp) -/* 02E988 8002DD88 01CF001F */ ddivu $zero, $t6, $t7 -/* 02E98C 8002DD8C 15E00002 */ bnez $t7, .L8002DD98_ovl0 -/* 02E990 8002DD90 00000000 */ nop -/* 02E994 8002DD94 0007000D */ break 7 -.L8002DD98_ovl0: -/* 02E998 8002DD98 00001010 */ mfhi $v0 -/* 02E99C 8002DD9C 0002183C */ dsll32 $v1, $v0, 0 -/* 02E9A0 8002DDA0 0003183F */ dsra32 $v1, $v1, 0 -/* 02E9A4 8002DDA4 03E00008 */ jr $ra -/* 02E9A8 8002DDA8 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_div -/* 02E9AC 8002DDAC AFA40000 */ sw $a0, ($sp) -/* 02E9B0 8002DDB0 AFA50004 */ sw $a1, 4($sp) -/* 02E9B4 8002DDB4 AFA60008 */ sw $a2, 8($sp) -/* 02E9B8 8002DDB8 AFA7000C */ sw $a3, 0xc($sp) -/* 02E9BC 8002DDBC DFAF0008 */ ld $t7, 8($sp) -/* 02E9C0 8002DDC0 DFAE0000 */ ld $t6, ($sp) -/* 02E9C4 8002DDC4 01CF001E */ ddiv $zero, $t6, $t7 -/* 02E9C8 8002DDC8 00000000 */ nop -/* 02E9CC 8002DDCC 15E00002 */ bnez $t7, .L8002DDD8_ovl0 -/* 02E9D0 8002DDD0 00000000 */ nop -/* 02E9D4 8002DDD4 0007000D */ break 7 -.L8002DDD8_ovl0: -/* 02E9D8 8002DDD8 6401FFFF */ daddiu $at, $zero, -1 -/* 02E9DC 8002DDDC 15E10005 */ bne $t7, $at, .L8002DDF4_ovl0 -/* 02E9E0 8002DDE0 64010001 */ daddiu $at, $zero, 1 -/* 02E9E4 8002DDE4 00010FFC */ dsll32 $at, $at, 0x1f -/* 02E9E8 8002DDE8 15C10002 */ bne $t6, $at, .L8002DDF4_ovl0 -/* 02E9EC 8002DDEC 00000000 */ nop -/* 02E9F0 8002DDF0 0006000D */ break 6 -.L8002DDF4_ovl0: -/* 02E9F4 8002DDF4 00001012 */ mflo $v0 -/* 02E9F8 8002DDF8 0002183C */ dsll32 $v1, $v0, 0 -/* 02E9FC 8002DDFC 0003183F */ dsra32 $v1, $v1, 0 -/* 02EA00 8002DE00 03E00008 */ jr $ra -/* 02EA04 8002DE04 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ll_mul -/* 02EA08 8002DE08 AFA40000 */ sw $a0, ($sp) -/* 02EA0C 8002DE0C AFA50004 */ sw $a1, 4($sp) -/* 02EA10 8002DE10 AFA60008 */ sw $a2, 8($sp) -/* 02EA14 8002DE14 AFA7000C */ sw $a3, 0xc($sp) -/* 02EA18 8002DE18 DFAF0008 */ ld $t7, 8($sp) -/* 02EA1C 8002DE1C DFAE0000 */ ld $t6, ($sp) -/* 02EA20 8002DE20 01CF001D */ dmultu $t6, $t7 -/* 02EA24 8002DE24 00001012 */ mflo $v0 -/* 02EA28 8002DE28 0002183C */ dsll32 $v1, $v0, 0 -/* 02EA2C 8002DE2C 0003183F */ dsra32 $v1, $v1, 0 -/* 02EA30 8002DE30 03E00008 */ jr $ra -/* 02EA34 8002DE34 0002103F */ dsra32 $v0, $v0, 0 - -glabel __ull_divremi -/* 02EA38 8002DE38 87AF0012 */ lh $t7, 0x12($sp) -/* 02EA3C 8002DE3C AFA60008 */ sw $a2, 8($sp) -/* 02EA40 8002DE40 AFA7000C */ sw $a3, 0xc($sp) -/* 02EA44 8002DE44 DFAE0008 */ ld $t6, 8($sp) -/* 02EA48 8002DE48 01E0C025 */ move $t8, $t7 -/* 02EA4C 8002DE4C 0300C825 */ move $t9, $t8 -/* 02EA50 8002DE50 01D9001F */ ddivu $zero, $t6, $t9 -/* 02EA54 8002DE54 17200002 */ bnez $t9, .L8002DE60_ovl0 -/* 02EA58 8002DE58 00000000 */ nop -/* 02EA5C 8002DE5C 0007000D */ break 7 -.L8002DE60_ovl0: -/* 02EA60 8002DE60 00004012 */ mflo $t0 -/* 02EA64 8002DE64 FC880000 */ sd $t0, ($a0) -/* 02EA68 8002DE68 87AA0012 */ lh $t2, 0x12($sp) -/* 02EA6C 8002DE6C DFA90008 */ ld $t1, 8($sp) -/* 02EA70 8002DE70 01405825 */ move $t3, $t2 -/* 02EA74 8002DE74 01606025 */ move $t4, $t3 -/* 02EA78 8002DE78 012C001F */ ddivu $zero, $t1, $t4 -/* 02EA7C 8002DE7C 15800002 */ bnez $t4, .L8002DE88_ovl0 -/* 02EA80 8002DE80 00000000 */ nop -/* 02EA84 8002DE84 0007000D */ break 7 -.L8002DE88_ovl0: -/* 02EA88 8002DE88 00006810 */ mfhi $t5 -/* 02EA8C 8002DE8C FCAD0000 */ sd $t5, ($a1) -/* 02EA90 8002DE90 03E00008 */ jr $ra -/* 02EA94 8002DE94 00000000 */ nop - -glabel __ll_mod -/* 02EA98 8002DE98 27BDFFF8 */ addiu $sp, $sp, -8 -/* 02EA9C 8002DE9C AFA40008 */ sw $a0, 8($sp) -/* 02EAA0 8002DEA0 AFA5000C */ sw $a1, 0xc($sp) -/* 02EAA4 8002DEA4 AFA60010 */ sw $a2, 0x10($sp) -/* 02EAA8 8002DEA8 AFA70014 */ sw $a3, 0x14($sp) -/* 02EAAC 8002DEAC DFAF0010 */ ld $t7, 0x10($sp) -/* 02EAB0 8002DEB0 DFAE0008 */ ld $t6, 8($sp) -/* 02EAB4 8002DEB4 01CF001E */ ddiv $zero, $t6, $t7 -/* 02EAB8 8002DEB8 00000000 */ nop -/* 02EABC 8002DEBC 15E00002 */ bnez $t7, .L8002DEC8_ovl0 -/* 02EAC0 8002DEC0 00000000 */ nop -/* 02EAC4 8002DEC4 0007000D */ break 7 -.L8002DEC8_ovl0: -/* 02EAC8 8002DEC8 6401FFFF */ daddiu $at, $zero, -1 -/* 02EACC 8002DECC 15E10005 */ bne $t7, $at, .L8002DEE4_ovl0 -/* 02EAD0 8002DED0 64010001 */ daddiu $at, $zero, 1 -/* 02EAD4 8002DED4 00010FFC */ dsll32 $at, $at, 0x1f -/* 02EAD8 8002DED8 15C10002 */ bne $t6, $at, .L8002DEE4_ovl0 -/* 02EADC 8002DEDC 00000000 */ nop -/* 02EAE0 8002DEE0 0006000D */ break 6 -.L8002DEE4_ovl0: -/* 02EAE4 8002DEE4 0000C010 */ mfhi $t8 -/* 02EAE8 8002DEE8 FFB80000 */ sd $t8, ($sp) -/* 02EAEC 8002DEEC 07010003 */ bgez $t8, .L8002DEFC_ovl0 -/* 02EAF0 8002DEF0 00000000 */ nop -/* 02EAF4 8002DEF4 1DE00007 */ bgtz $t7, .L8002DF14_ovl0 -/* 02EAF8 8002DEF8 00000000 */ nop -.L8002DEFC_ovl0: -/* 02EAFC 8002DEFC DFB90000 */ ld $t9, ($sp) -/* 02EB00 8002DF00 1B200008 */ blez $t9, .L8002DF24_ovl0 -/* 02EB04 8002DF04 00000000 */ nop -/* 02EB08 8002DF08 DFA80010 */ ld $t0, 0x10($sp) -/* 02EB0C 8002DF0C 05010005 */ bgez $t0, .L8002DF24_ovl0 -/* 02EB10 8002DF10 00000000 */ nop -.L8002DF14_ovl0: -/* 02EB14 8002DF14 DFA90000 */ ld $t1, ($sp) -/* 02EB18 8002DF18 DFAA0010 */ ld $t2, 0x10($sp) -/* 02EB1C 8002DF1C 012A582D */ daddu $t3, $t1, $t2 -/* 02EB20 8002DF20 FFAB0000 */ sd $t3, ($sp) -.L8002DF24_ovl0: -/* 02EB24 8002DF24 8FA20000 */ lw $v0, ($sp) -/* 02EB28 8002DF28 8FA30004 */ lw $v1, 4($sp) -/* 02EB2C 8002DF2C 03E00008 */ jr $ra -/* 02EB30 8002DF30 27BD0008 */ addiu $sp, $sp, 8 - -glabel __ll_rshift -/* 02EB34 8002DF34 AFA40000 */ sw $a0, ($sp) -/* 02EB38 8002DF38 AFA50004 */ sw $a1, 4($sp) -/* 02EB3C 8002DF3C AFA60008 */ sw $a2, 8($sp) -/* 02EB40 8002DF40 AFA7000C */ sw $a3, 0xc($sp) -/* 02EB44 8002DF44 DFAF0008 */ ld $t7, 8($sp) -/* 02EB48 8002DF48 DFAE0000 */ ld $t6, ($sp) -/* 02EB4C 8002DF4C 01EE1017 */ dsrav $v0, $t6, $t7 -/* 02EB50 8002DF50 0002183C */ dsll32 $v1, $v0, 0 -/* 02EB54 8002DF54 0003183F */ dsra32 $v1, $v1, 0 -/* 02EB58 8002DF58 03E00008 */ jr $ra -/* 02EB5C 8002DF5C 0002103F */ dsra32 $v0, $v0, 0 - - +.set noat +.set noreorder +.set gp=64 + +.include "macros.inc" + +.section .text, "ax" + +glabel func_800232AC +/* 023EB0 800232B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 023EB4 800232B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 023EB8 800232B8 AFA5002C */ sw $a1, 0x2c($sp) +/* 023EBC 800232BC AFA60030 */ sw $a2, 0x30($sp) +/* 023EC0 800232C0 00A03825 */ move $a3, $a1 +/* 023EC4 800232C4 00C04025 */ move $t0, $a2 +/* 023EC8 800232C8 240E000C */ li $t6, 12 +/* 023ECC 800232CC A7AE0018 */ sh $t6, 0x18($sp) +/* 023ED0 800232D0 A3A7001C */ sb $a3, 0x1c($sp) +/* 023ED4 800232D4 A3A8001D */ sb $t0, 0x1d($sp) +/* 023ED8 800232D8 00003025 */ move $a2, $zero +/* 023EDC 800232DC 27A50018 */ addiu $a1, $sp, 0x18 +/* 023EE0 800232E0 0C009818 */ jal func_80026060 +/* 023EE4 800232E4 24840050 */ addiu $a0, $a0, 0x50 +/* 023EE8 800232E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 023EEC 800232EC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 023EF0 800232F0 03E00008 */ jr $ra +/* 023EF4 800232F4 00000000 */ nop + +glabel func_800232F8 +/* 023EF8 800232F8 00000000 */ nop +/* 023EFC 800232FC 00000000 */ nop +/* 023F00 80023300 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 023F04 80023304 00A03825 */ move $a3, $a1 +/* 023F08 80023308 AFBF0014 */ sw $ra, 0x14($sp) +/* 023F0C 8002330C AFA5002C */ sw $a1, 0x2c($sp) +/* 023F10 80023310 AFA60030 */ sw $a2, 0x30($sp) +/* 023F14 80023314 00C04025 */ move $t0, $a2 +/* 023F18 80023318 240E0002 */ li $t6, 2 +/* 023F1C 8002331C 34EF00B0 */ ori $t7, $a3, 0xb0 +/* 023F20 80023320 2418005B */ li $t8, 91 +/* 023F24 80023324 A7AE0018 */ sh $t6, 0x18($sp) +/* 023F28 80023328 AFA0001C */ sw $zero, 0x1c($sp) +/* 023F2C 8002332C A3AF0020 */ sb $t7, 0x20($sp) +/* 023F30 80023330 A3B80021 */ sb $t8, 0x21($sp) +/* 023F34 80023334 A3A80022 */ sb $t0, 0x22($sp) +/* 023F38 80023338 00003025 */ move $a2, $zero +/* 023F3C 8002333C 27A50018 */ addiu $a1, $sp, 0x18 +/* 023F40 80023340 0C009818 */ jal func_80026060 +/* 023F44 80023344 24840050 */ addiu $a0, $a0, 0x50 +/* 023F48 80023348 8FBF0014 */ lw $ra, 0x14($sp) +/* 023F4C 8002334C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 023F50 80023350 03E00008 */ jr $ra +/* 023F54 80023354 00000000 */ nop + +glabel func_80023358 +/* 023F58 80023358 00000000 */ nop +/* 023F5C 8002335C 00000000 */ nop +/* 023F60 80023360 AFA40000 */ sw $a0, ($sp) +/* 023F64 80023364 308400FF */ andi $a0, $a0, 0xff +/* 023F68 80023368 28810080 */ slti $at, $a0, 0x80 +/* 023F6C 8002336C 14200002 */ bnez $at, .L80023378_ovl0 +/* 023F70 80023370 00000000 */ nop +/* 023F74 80023374 2404007F */ li $a0, 127 +.L80023378_ovl0: +/* 023F78 80023378 3C018009 */ lui $at, %hi(D_8009793A) +/* 023F7C 8002337C 03E00008 */ jr $ra +/* 023F80 80023380 A024793A */ sb $a0, %lo(D_8009793A)($at) + +glabel func_80023384 +/* 023F84 80023384 AFA50004 */ sw $a1, 4($sp) +/* 023F88 80023388 30A500FF */ andi $a1, $a1, 0xff +/* 023F8C 8002338C 28A10080 */ slti $at, $a1, 0x80 +/* 023F90 80023390 54200003 */ bnezl $at, .L800233A0_ovl0 +/* 023F94 80023394 8C820028 */ lw $v0, 0x28($a0) +/* 023F98 80023398 2405007F */ li $a1, 127 +/* 023F9C 8002339C 8C820028 */ lw $v0, 0x28($a0) +.L800233A0_ovl0: +/* 023FA0 800233A0 A0850030 */ sb $a1, 0x30($a0) +/* 023FA4 800233A4 10400002 */ beqz $v0, .L800233B0_ovl0 +/* 023FA8 800233A8 00000000 */ nop +/* 023FAC 800233AC A045003C */ sb $a1, 0x3c($v0) +.L800233B0_ovl0: +/* 023FB0 800233B0 3C028009 */ lui $v0, %hi(D_80097920) # $v0, 0x8009 +/* 023FB4 800233B4 8C427920 */ lw $v0, %lo(D_80097920)($v0) +/* 023FB8 800233B8 1040000C */ beqz $v0, .L800233EC_ovl0 +/* 023FBC 800233BC 00000000 */ nop +.L800233C0_ovl0: +/* 023FC0 800233C0 8C4F0004 */ lw $t7, 4($v0) +/* 023FC4 800233C4 8C430000 */ lw $v1, ($v0) +/* 023FC8 800233C8 148F0006 */ bne $a0, $t7, .L800233E4_ovl0 +/* 023FCC 800233CC 00000000 */ nop +/* 023FD0 800233D0 8C460028 */ lw $a2, 0x28($v0) +/* 023FD4 800233D4 A0450030 */ sb $a1, 0x30($v0) +/* 023FD8 800233D8 10C00002 */ beqz $a2, .L800233E4_ovl0 +/* 023FDC 800233DC 00000000 */ nop +/* 023FE0 800233E0 A0C5003C */ sb $a1, 0x3c($a2) +.L800233E4_ovl0: +/* 023FE4 800233E4 1460FFF6 */ bnez $v1, .L800233C0_ovl0 +/* 023FE8 800233E8 00601025 */ move $v0, $v1 +.L800233EC_ovl0: +/* 023FEC 800233EC 03E00008 */ jr $ra +/* 023FF0 800233F0 00000000 */ nop + +glabel func_800233F4 +/* 023FF4 800233F4 AFA50004 */ sw $a1, 4($sp) +/* 023FF8 800233F8 30A500FF */ andi $a1, $a1, 0xff +/* 023FFC 800233FC 28A10080 */ slti $at, $a1, 0x80 +/* 024000 80023400 54200003 */ bnezl $at, .L80023410_ovl0 +/* 024004 80023404 8C820028 */ lw $v0, 0x28($a0) +/* 024008 80023408 2405007F */ li $a1, 127 +/* 02400C 8002340C 8C820028 */ lw $v0, 0x28($a0) +.L80023410_ovl0: +/* 024010 80023410 A085002F */ sb $a1, 0x2f($a0) +/* 024014 80023414 10400002 */ beqz $v0, .L80023420_ovl0 +/* 024018 80023418 00000000 */ nop +/* 02401C 8002341C A045003A */ sb $a1, 0x3a($v0) +.L80023420_ovl0: +/* 024020 80023420 3C028009 */ lui $v0, %hi(D_80097920) # $v0, 0x8009 +/* 024024 80023424 8C427920 */ lw $v0, %lo(D_80097920)($v0) +/* 024028 80023428 1040000C */ beqz $v0, .L8002345C_ovl0 +/* 02402C 8002342C 00000000 */ nop +.L80023430_ovl0: +/* 024030 80023430 8C4F0004 */ lw $t7, 4($v0) +/* 024034 80023434 8C430000 */ lw $v1, ($v0) +/* 024038 80023438 148F0006 */ bne $a0, $t7, .L80023454_ovl0 +/* 02403C 8002343C 00000000 */ nop +/* 024040 80023440 8C460028 */ lw $a2, 0x28($v0) +/* 024044 80023444 A045002F */ sb $a1, 0x2f($v0) +/* 024048 80023448 10C00002 */ beqz $a2, .L80023454_ovl0 +/* 02404C 8002344C 00000000 */ nop +/* 024050 80023450 A0C5003A */ sb $a1, 0x3a($a2) +.L80023454_ovl0: +/* 024054 80023454 1460FFF6 */ bnez $v1, .L80023430_ovl0 +/* 024058 80023458 00601025 */ move $v0, $v1 +.L8002345C_ovl0: +/* 02405C 8002345C 03E00008 */ jr $ra +/* 024060 80023460 00000000 */ nop + +glabel func_80023464 +/* 024064 80023464 AFA50004 */ sw $a1, 4($sp) +/* 024068 80023468 30A500FF */ andi $a1, $a1, 0xff +/* 02406C 8002346C 28A10080 */ slti $at, $a1, 0x80 +/* 024070 80023470 54200003 */ bnezl $at, .L80023480_ovl0 +/* 024074 80023474 8C820028 */ lw $v0, 0x28($a0) +/* 024078 80023478 2405007F */ li $a1, 127 +/* 02407C 8002347C 8C820028 */ lw $v0, 0x28($a0) +.L80023480_ovl0: +/* 024080 80023480 A085002E */ sb $a1, 0x2e($a0) +/* 024084 80023484 10400006 */ beqz $v0, .L800234A0_ovl0 +/* 024088 80023488 00000000 */ nop +/* 02408C 8002348C 908E0022 */ lbu $t6, 0x22($a0) +/* 024090 80023490 01C50019 */ multu $t6, $a1 +/* 024094 80023494 00007812 */ mflo $t7 +/* 024098 80023498 000FC1C3 */ sra $t8, $t7, 7 +/* 02409C 8002349C A0580038 */ sb $t8, 0x38($v0) +.L800234A0_ovl0: +/* 0240A0 800234A0 3C028009 */ lui $v0, %hi(D_80097920) # $v0, 0x8009 +/* 0240A4 800234A4 8C427920 */ lw $v0, %lo(D_80097920)($v0) +/* 0240A8 800234A8 10400010 */ beqz $v0, .L800234EC_ovl0 +/* 0240AC 800234AC 00000000 */ nop +.L800234B0_ovl0: +/* 0240B0 800234B0 8C590004 */ lw $t9, 4($v0) +/* 0240B4 800234B4 8C430000 */ lw $v1, ($v0) +/* 0240B8 800234B8 1499000A */ bne $a0, $t9, .L800234E4_ovl0 +/* 0240BC 800234BC 00000000 */ nop +/* 0240C0 800234C0 8C460028 */ lw $a2, 0x28($v0) +/* 0240C4 800234C4 A045002E */ sb $a1, 0x2e($v0) +/* 0240C8 800234C8 10C00006 */ beqz $a2, .L800234E4_ovl0 +/* 0240CC 800234CC 00000000 */ nop +/* 0240D0 800234D0 90880022 */ lbu $t0, 0x22($a0) +/* 0240D4 800234D4 01050019 */ multu $t0, $a1 +/* 0240D8 800234D8 00004812 */ mflo $t1 +/* 0240DC 800234DC 000951C3 */ sra $t2, $t1, 7 +/* 0240E0 800234E0 A0CA0038 */ sb $t2, 0x38($a2) +.L800234E4_ovl0: +/* 0240E4 800234E4 1460FFF2 */ bnez $v1, .L800234B0_ovl0 +/* 0240E8 800234E8 00601025 */ move $v0, $v1 +.L800234EC_ovl0: +/* 0240EC 800234EC 03E00008 */ jr $ra +/* 0240F0 800234F0 00000000 */ nop + +glabel func_800234F4 +/* 0240F4 800234F4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0240F8 800234F8 AFB00020 */ sw $s0, 0x20($sp) +/* 0240FC 800234FC 00808025 */ move $s0, $a0 +/* 024100 80023500 AFBF0024 */ sw $ra, 0x24($sp) +/* 024104 80023504 960E0000 */ lhu $t6, ($s0) +/* 024108 80023508 8E060020 */ lw $a2, 0x20($s0) +/* 02410C 8002350C 00002025 */ move $a0, $zero +/* 024110 80023510 00002825 */ move $a1, $zero +/* 024114 80023514 24070024 */ li $a3, 36 +/* 024118 80023518 0C0078F5 */ jal func_8001E3D4 +/* 02411C 8002351C AFAE0010 */ sw $t6, 0x10($sp) +/* 024120 80023520 3C098009 */ lui $t1, %hi(D_800978E0) # $t1, 0x8009 +/* 024124 80023524 252978E0 */ addiu $t1, %lo(D_800978E0) # addiu $t1, $t1, 0x78e0 +/* 024128 80023528 AD220030 */ sw $v0, 0x30($t1) +/* 02412C 8002352C 960F0000 */ lhu $t7, ($s0) +/* 024130 80023530 00004025 */ move $t0, $zero +/* 024134 80023534 00002025 */ move $a0, $zero +/* 024138 80023538 25F8FFFF */ addiu $t8, $t7, -1 +/* 02413C 8002353C 1B00000E */ blez $t8, .L80023578_ovl0 +/* 024140 80023540 00002825 */ move $a1, $zero +/* 024144 80023544 00001825 */ move $v1, $zero +/* 024148 80023548 8D220030 */ lw $v0, 0x30($t1) +.L8002354C_ovl0: +/* 02414C 8002354C 25080001 */ addiu $t0, $t0, 1 +/* 024150 80023550 0062C821 */ addu $t9, $v1, $v0 +/* 024154 80023554 272A0024 */ addiu $t2, $t9, 0x24 +/* 024158 80023558 00435821 */ addu $t3, $v0, $v1 +/* 02415C 8002355C AD6A0000 */ sw $t2, ($t3) +/* 024160 80023560 960C0000 */ lhu $t4, ($s0) +/* 024164 80023564 24630024 */ addiu $v1, $v1, 0x24 +/* 024168 80023568 258DFFFF */ addiu $t5, $t4, -1 +/* 02416C 8002356C 010D082A */ slt $at, $t0, $t5 +/* 024170 80023570 5420FFF6 */ bnezl $at, .L8002354C_ovl0 +/* 024174 80023574 8D220030 */ lw $v0, 0x30($t1) +.L80023578_ovl0: +/* 024178 80023578 8D2E0030 */ lw $t6, 0x30($t1) +/* 02417C 8002357C 000878C0 */ sll $t7, $t0, 3 +/* 024180 80023580 01E87821 */ addu $t7, $t7, $t0 +/* 024184 80023584 000F7880 */ sll $t7, $t7, 2 +/* 024188 80023588 01CFC021 */ addu $t8, $t6, $t7 +/* 02418C 8002358C AF000000 */ sw $zero, ($t8) +/* 024190 80023590 96190002 */ lhu $t9, 2($s0) +/* 024194 80023594 8E060020 */ lw $a2, 0x20($s0) +/* 024198 80023598 AFA0002C */ sw $zero, 0x2c($sp) +/* 02419C 8002359C 00004025 */ move $t0, $zero +/* 0241A0 800235A0 2407004C */ li $a3, 76 +/* 0241A4 800235A4 0C0078F5 */ jal func_8001E3D4 +/* 0241A8 800235A8 AFB90010 */ sw $t9, 0x10($sp) +/* 0241AC 800235AC 3C098009 */ lui $t1, %hi(D_800978E0) # $t1, 0x8009 +/* 0241B0 800235B0 252978E0 */ addiu $t1, %lo(D_800978E0) # addiu $t1, $t1, 0x78e0 +/* 0241B4 800235B4 AD220034 */ sw $v0, 0x34($t1) +/* 0241B8 800235B8 AD20003C */ sw $zero, 0x3c($t1) +/* 0241BC 800235BC 960A0002 */ lhu $t2, 2($s0) +/* 0241C0 800235C0 8FA8002C */ lw $t0, 0x2c($sp) +/* 0241C4 800235C4 00002025 */ move $a0, $zero +/* 0241C8 800235C8 254BFFFF */ addiu $t3, $t2, -1 +/* 0241CC 800235CC 1960000E */ blez $t3, .L80023608_ovl0 +/* 0241D0 800235D0 00002825 */ move $a1, $zero +/* 0241D4 800235D4 00001825 */ move $v1, $zero +/* 0241D8 800235D8 8D220034 */ lw $v0, 0x34($t1) +.L800235DC_ovl0: +/* 0241DC 800235DC 25080001 */ addiu $t0, $t0, 1 +/* 0241E0 800235E0 00626021 */ addu $t4, $v1, $v0 +/* 0241E4 800235E4 258D004C */ addiu $t5, $t4, 0x4c +/* 0241E8 800235E8 00437021 */ addu $t6, $v0, $v1 +/* 0241EC 800235EC ADCD0000 */ sw $t5, ($t6) +/* 0241F0 800235F0 960F0002 */ lhu $t7, 2($s0) +/* 0241F4 800235F4 2463004C */ addiu $v1, $v1, 0x4c +/* 0241F8 800235F8 25F8FFFF */ addiu $t8, $t7, -1 +/* 0241FC 800235FC 0118082A */ slt $at, $t0, $t8 +/* 024200 80023600 5420FFF6 */ bnezl $at, .L800235DC_ovl0 +/* 024204 80023604 8D220034 */ lw $v0, 0x34($t1) +.L80023608_ovl0: +/* 024208 80023608 00085080 */ sll $t2, $t0, 2 +/* 02420C 8002360C 01485021 */ addu $t2, $t2, $t0 +/* 024210 80023610 8D390034 */ lw $t9, 0x34($t1) +/* 024214 80023614 000A5080 */ sll $t2, $t2, 2 +/* 024218 80023618 01485023 */ subu $t2, $t2, $t0 +/* 02421C 8002361C 000A5080 */ sll $t2, $t2, 2 +/* 024220 80023620 032A5821 */ addu $t3, $t9, $t2 +/* 024224 80023624 AD600000 */ sw $zero, ($t3) +/* 024228 80023628 A5200048 */ sh $zero, 0x48($t1) +/* 02422C 8002362C 960C0004 */ lhu $t4, 4($s0) +/* 024230 80023630 8E060020 */ lw $a2, 0x20($s0) +/* 024234 80023634 AFA0002C */ sw $zero, 0x2c($sp) +/* 024238 80023638 00004025 */ move $t0, $zero +/* 02423C 8002363C 24070034 */ li $a3, 52 +/* 024240 80023640 0C0078F5 */ jal func_8001E3D4 +/* 024244 80023644 AFAC0010 */ sw $t4, 0x10($sp) +/* 024248 80023648 3C098009 */ lui $t1, %hi(D_800978E0) # $t1, 0x8009 +/* 02424C 8002364C 252978E0 */ addiu $t1, %lo(D_800978E0) # addiu $t1, $t1, 0x78e0 +/* 024250 80023650 AD220038 */ sw $v0, 0x38($t1) +/* 024254 80023654 AD200040 */ sw $zero, 0x40($t1) +/* 024258 80023658 960D0004 */ lhu $t5, 4($s0) +/* 02425C 8002365C 8FA8002C */ lw $t0, 0x2c($sp) +/* 024260 80023660 25AEFFFF */ addiu $t6, $t5, -1 +/* 024264 80023664 59C00012 */ blezl $t6, .L800236B0_ovl0 +/* 024268 80023668 00087880 */ sll $t7, $t0, 2 +/* 02426C 8002366C 00001825 */ move $v1, $zero +/* 024270 80023670 8D2F0038 */ lw $t7, 0x38($t1) +.L80023674_ovl0: +/* 024274 80023674 25080001 */ addiu $t0, $t0, 1 +/* 024278 80023678 01E3C021 */ addu $t8, $t7, $v1 +/* 02427C 8002367C A7000010 */ sh $zero, 0x10($t8) +/* 024280 80023680 8D220038 */ lw $v0, 0x38($t1) +/* 024284 80023684 0062C821 */ addu $t9, $v1, $v0 +/* 024288 80023688 272A0034 */ addiu $t2, $t9, 0x34 +/* 02428C 8002368C 00435821 */ addu $t3, $v0, $v1 +/* 024290 80023690 AD6A0000 */ sw $t2, ($t3) +/* 024294 80023694 960C0004 */ lhu $t4, 4($s0) +/* 024298 80023698 24630034 */ addiu $v1, $v1, 0x34 +/* 02429C 8002369C 258DFFFF */ addiu $t5, $t4, -1 +/* 0242A0 800236A0 010D082A */ slt $at, $t0, $t5 +/* 0242A4 800236A4 5420FFF3 */ bnezl $at, .L80023674_ovl0 +/* 0242A8 800236A8 8D2F0038 */ lw $t7, 0x38($t1) +/* 0242AC 800236AC 00087880 */ sll $t7, $t0, 2 +.L800236B0_ovl0: +/* 0242B0 800236B0 01E87823 */ subu $t7, $t7, $t0 +/* 0242B4 800236B4 8D2E0038 */ lw $t6, 0x38($t1) +/* 0242B8 800236B8 000F7880 */ sll $t7, $t7, 2 +/* 0242BC 800236BC 01E87821 */ addu $t7, $t7, $t0 +/* 0242C0 800236C0 000F7880 */ sll $t7, $t7, 2 +/* 0242C4 800236C4 01CFC021 */ addu $t8, $t6, $t7 +/* 0242C8 800236C8 AF000000 */ sw $zero, ($t8) +/* 0242CC 800236CC A520004A */ sh $zero, 0x4a($t1) +/* 0242D0 800236D0 8E190014 */ lw $t9, 0x14($s0) +/* 0242D4 800236D4 01202025 */ move $a0, $t1 +/* 0242D8 800236D8 AD39001C */ sw $t9, 0x1c($t1) +/* 0242DC 800236DC 960A0008 */ lhu $t2, 8($s0) +/* 0242E0 800236E0 3C198004 */ lui $t9, %hi(D_8003FB14) # $t9, 0x8004 +/* 0242E4 800236E4 A52A0028 */ sh $t2, 0x28($t1) +/* 0242E8 800236E8 8E0B0018 */ lw $t3, 0x18($s0) +/* 0242EC 800236EC AD2B0020 */ sw $t3, 0x20($t1) +/* 0242F0 800236F0 960C000A */ lhu $t4, 0xa($s0) +/* 0242F4 800236F4 3C0B0AF7 */ lui $t3, (0x0AF79E00 >> 16) # lui $t3, 0xaf7 +/* 0242F8 800236F8 356B9E00 */ ori $t3, (0x0AF79E00 & 0xFFFF) # ori $t3, $t3, 0x9e00 +/* 0242FC 800236FC A52C002A */ sh $t4, 0x2a($t1) +/* 024300 80023700 8E0D001C */ lw $t5, 0x1c($s0) +/* 024304 80023704 AD2D0024 */ sw $t5, 0x24($t1) +/* 024308 80023708 960E000C */ lhu $t6, 0xc($s0) +/* 02430C 8002370C 240D007F */ li $t5, 127 +/* 024310 80023710 A52E002C */ sh $t6, 0x2c($t1) +/* 024314 80023714 960F0006 */ lhu $t7, 6($s0) +/* 024318 80023718 3C0E8002 */ lui $t6, %hi(D_80026698) # $t6, 0x8002 +/* 02431C 8002371C 25CE6698 */ addiu $t6, %lo(D_80026698) # addiu $t6, $t6, 0x6698 +/* 024320 80023720 A52F0014 */ sh $t7, 0x14($t1) +/* 024324 80023724 8E180010 */ lw $t8, 0x10($s0) +/* 024328 80023728 AD380018 */ sw $t8, 0x18($t1) +/* 02432C 8002372C 8F39FB14 */ lw $t9, %lo(D_8003FB14)($t9) +/* 024330 80023730 8F2A004C */ lw $t2, 0x4c($t9) +/* 024334 80023734 A12D005A */ sb $t5, 0x5a($t1) +/* 024338 80023738 AD200000 */ sw $zero, ($t1) +/* 02433C 8002373C 016A001A */ div $zero, $t3, $t2 +/* 024340 80023740 00006012 */ mflo $t4 +/* 024344 80023744 AD2C0044 */ sw $t4, 0x44($t1) +/* 024348 80023748 15400002 */ bnez $t2, .L80023754_ovl0 +/* 02434C 8002374C 00000000 */ nop +/* 024350 80023750 0007000D */ break 7 +.L80023754_ovl0: +/* 024354 80023754 2401FFFF */ li $at, -1 +/* 024358 80023758 15410004 */ bne $t2, $at, .L8002376C_ovl0 +/* 02435C 8002375C 3C018000 */ lui $at, 0x8000 +/* 024360 80023760 15610002 */ bne $t3, $at, .L8002376C_ovl0 +/* 024364 80023764 00000000 */ nop +/* 024368 80023768 0006000D */ break 6 +.L8002376C_ovl0: +/* 02436C 8002376C AD2E0008 */ sw $t6, 8($t1) +/* 024370 80023770 0C00AA66 */ jal func_8002A998 +/* 024374 80023774 AD200004 */ sw $zero, 4($t1) +/* 024378 80023778 8FBF0024 */ lw $ra, 0x24($sp) +/* 02437C 8002377C 240F0001 */ li $t7, 1 +/* 024380 80023780 3C018004 */ lui $at, %hi(D_8003FB20) # $at, 0x8004 +/* 024384 80023784 8FB00020 */ lw $s0, 0x20($sp) +/* 024388 80023788 AC2FFB20 */ sw $t7, %lo(D_8003FB20)($at) +/* 02438C 8002378C 03E00008 */ jr $ra +/* 024390 80023790 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80023794 +/* 024394 80023794 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 024398 80023798 AFBF0014 */ sw $ra, 0x14($sp) +/* 02439C 8002379C 0C00B590 */ jal osSetIntMask +/* 0243A0 800237A0 24040001 */ li $a0, 1 +/* 0243A4 800237A4 3C068009 */ lui $a2, %hi(D_800978E0) # $a2, 0x8009 +/* 0243A8 800237A8 24C678E0 */ addiu $a2, %lo(D_800978E0) # addiu $a2, $a2, 0x78e0 +/* 0243AC 800237AC 8CC3005C */ lw $v1, 0x5c($a2) +/* 0243B0 800237B0 00403825 */ move $a3, $v0 +/* 0243B4 800237B4 5060001F */ beql $v1, $zero, .L80023834_ovl0 +/* 0243B8 800237B8 8CC30060 */ lw $v1, 0x60($a2) +/* 0243BC 800237BC 8C640000 */ lw $a0, ($v1) +/* 0243C0 800237C0 24050001 */ li $a1, 1 +/* 0243C4 800237C4 5080000E */ beql $a0, $zero, .L80023800_ovl0 +/* 0243C8 800237C8 906F002A */ lbu $t7, 0x2a($v1) +/* 0243CC 800237CC 906E002A */ lbu $t6, 0x2a($v1) +.L800237D0_ovl0: +/* 0243D0 800237D0 54AE0007 */ bnel $a1, $t6, .L800237F0_ovl0 +/* 0243D4 800237D4 00801825 */ move $v1, $a0 +/* 0243D8 800237D8 8C62000C */ lw $v0, 0xc($v1) +/* 0243DC 800237DC 50400004 */ beql $v0, $zero, .L800237F0_ovl0 +/* 0243E0 800237E0 00801825 */ move $v1, $a0 +/* 0243E4 800237E4 AC450084 */ sw $a1, 0x84($v0) +/* 0243E8 800237E8 8C640000 */ lw $a0, ($v1) +/* 0243EC 800237EC 00801825 */ move $v1, $a0 +.L800237F0_ovl0: +/* 0243F0 800237F0 8C840000 */ lw $a0, ($a0) +/* 0243F4 800237F4 5480FFF6 */ bnezl $a0, .L800237D0_ovl0 +/* 0243F8 800237F8 906E002A */ lbu $t6, 0x2a($v1) +/* 0243FC 800237FC 906F002A */ lbu $t7, 0x2a($v1) +.L80023800_ovl0: +/* 024400 80023800 24050001 */ li $a1, 1 +/* 024404 80023804 54AF0006 */ bnel $a1, $t7, .L80023820_ovl0 +/* 024408 80023808 8CD8003C */ lw $t8, 0x3c($a2) +/* 02440C 8002380C 8C62000C */ lw $v0, 0xc($v1) +/* 024410 80023810 50400003 */ beql $v0, $zero, .L80023820_ovl0 +/* 024414 80023814 8CD8003C */ lw $t8, 0x3c($a2) +/* 024418 80023818 AC450084 */ sw $a1, 0x84($v0) +/* 02441C 8002381C 8CD8003C */ lw $t8, 0x3c($a2) +.L80023820_ovl0: +/* 024420 80023820 AC780000 */ sw $t8, ($v1) +/* 024424 80023824 8CD9005C */ lw $t9, 0x5c($a2) +/* 024428 80023828 ACC0005C */ sw $zero, 0x5c($a2) +/* 02442C 8002382C ACD9003C */ sw $t9, 0x3c($a2) +/* 024430 80023830 8CC30060 */ lw $v1, 0x60($a2) +.L80023834_ovl0: +/* 024434 80023834 1060000D */ beqz $v1, .L8002386C_ovl0 +/* 024438 80023838 00000000 */ nop +/* 02443C 8002383C 8C620000 */ lw $v0, ($v1) +/* 024440 80023840 50400006 */ beql $v0, $zero, .L8002385C_ovl0 +/* 024444 80023844 8CC80040 */ lw $t0, 0x40($a2) +/* 024448 80023848 00401825 */ move $v1, $v0 +.L8002384C_ovl0: +/* 02444C 8002384C 8C420000 */ lw $v0, ($v0) +/* 024450 80023850 5440FFFE */ bnezl $v0, .L8002384C_ovl0 +/* 024454 80023854 00401825 */ move $v1, $v0 +/* 024458 80023858 8CC80040 */ lw $t0, 0x40($a2) +.L8002385C_ovl0: +/* 02445C 8002385C AC680000 */ sw $t0, ($v1) +/* 024460 80023860 8CC90060 */ lw $t1, 0x60($a2) +/* 024464 80023864 ACC00060 */ sw $zero, 0x60($a2) +/* 024468 80023868 ACC90040 */ sw $t1, 0x40($a2) +.L8002386C_ovl0: +/* 02446C 8002386C 0C00B590 */ jal osSetIntMask +/* 024470 80023870 00E02025 */ move $a0, $a3 +/* 024474 80023874 8FBF0014 */ lw $ra, 0x14($sp) +/* 024478 80023878 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02447C 8002387C 03E00008 */ jr $ra +/* 024480 80023880 00000000 */ nop + +glabel func_80023884 +/* 024484 80023884 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 024488 80023888 AFBF0014 */ sw $ra, 0x14($sp) +/* 02448C 8002388C 0C00B590 */ jal osSetIntMask +/* 024490 80023890 24040001 */ li $a0, 1 +/* 024494 80023894 3C068009 */ lui $a2, %hi(D_800978E0) # $a2, 0x8009 +/* 024498 80023898 24C678E0 */ addiu $a2, %lo(D_800978E0) # addiu $a2, $a2, 0x78e0 +/* 02449C 8002389C 8CC3003C */ lw $v1, 0x3c($a2) +/* 0244A0 800238A0 00404025 */ move $t0, $v0 +/* 0244A4 800238A4 00002025 */ move $a0, $zero +/* 0244A8 800238A8 10600019 */ beqz $v1, .L80023910_ovl0 +/* 0244AC 800238AC 24070001 */ li $a3, 1 +.L800238B0_ovl0: +/* 0244B0 800238B0 906E002B */ lbu $t6, 0x2b($v1) +/* 0244B4 800238B4 8C620000 */ lw $v0, ($v1) +/* 0244B8 800238B8 31CF0080 */ andi $t7, $t6, 0x80 +/* 0244BC 800238BC 11E00011 */ beqz $t7, .L80023904_ovl0 +/* 0244C0 800238C0 00402825 */ move $a1, $v0 +/* 0244C4 800238C4 50800004 */ beql $a0, $zero, .L800238D8_ovl0 +/* 0244C8 800238C8 ACC2003C */ sw $v0, 0x3c($a2) +/* 0244CC 800238CC 10000002 */ b .L800238D8_ovl0 +/* 0244D0 800238D0 AC820000 */ sw $v0, ($a0) +/* 0244D4 800238D4 ACC2003C */ sw $v0, 0x3c($a2) +.L800238D8_ovl0: +/* 0244D8 800238D8 9078002A */ lbu $t8, 0x2a($v1) +/* 0244DC 800238DC 54F80006 */ bnel $a3, $t8, .L800238F8_ovl0 +/* 0244E0 800238E0 8CD9005C */ lw $t9, 0x5c($a2) +/* 0244E4 800238E4 8C62000C */ lw $v0, 0xc($v1) +/* 0244E8 800238E8 50400003 */ beql $v0, $zero, .L800238F8_ovl0 +/* 0244EC 800238EC 8CD9005C */ lw $t9, 0x5c($a2) +/* 0244F0 800238F0 AC400084 */ sw $zero, 0x84($v0) +/* 0244F4 800238F4 8CD9005C */ lw $t9, 0x5c($a2) +.L800238F8_ovl0: +/* 0244F8 800238F8 AC790000 */ sw $t9, ($v1) +/* 0244FC 800238FC 10000002 */ b .L80023908_ovl0 +/* 024500 80023900 ACC3005C */ sw $v1, 0x5c($a2) +.L80023904_ovl0: +/* 024504 80023904 00602025 */ move $a0, $v1 +.L80023908_ovl0: +/* 024508 80023908 14A0FFE9 */ bnez $a1, .L800238B0_ovl0 +/* 02450C 8002390C 00A01825 */ move $v1, $a1 +.L80023910_ovl0: +/* 024510 80023910 8CC20040 */ lw $v0, 0x40($a2) +/* 024514 80023914 00002025 */ move $a0, $zero +/* 024518 80023918 10400012 */ beqz $v0, .L80023964_ovl0 +/* 02451C 8002391C 00000000 */ nop +.L80023920_ovl0: +/* 024520 80023920 9049001F */ lbu $t1, 0x1f($v0) +/* 024524 80023924 8C430000 */ lw $v1, ($v0) +/* 024528 80023928 312A0080 */ andi $t2, $t1, 0x80 +/* 02452C 8002392C 1140000A */ beqz $t2, .L80023958_ovl0 +/* 024530 80023930 00602825 */ move $a1, $v1 +/* 024534 80023934 50800004 */ beql $a0, $zero, .L80023948_ovl0 +/* 024538 80023938 ACC30040 */ sw $v1, 0x40($a2) +/* 02453C 8002393C 10000002 */ b .L80023948_ovl0 +/* 024540 80023940 AC830000 */ sw $v1, ($a0) +/* 024544 80023944 ACC30040 */ sw $v1, 0x40($a2) +.L80023948_ovl0: +/* 024548 80023948 8CCB0060 */ lw $t3, 0x60($a2) +/* 02454C 8002394C AC4B0000 */ sw $t3, ($v0) +/* 024550 80023950 10000002 */ b .L8002395C_ovl0 +/* 024554 80023954 ACC20060 */ sw $v0, 0x60($a2) +.L80023958_ovl0: +/* 024558 80023958 00402025 */ move $a0, $v0 +.L8002395C_ovl0: +/* 02455C 8002395C 14A0FFF0 */ bnez $a1, .L80023920_ovl0 +/* 024560 80023960 00A01025 */ move $v0, $a1 +.L80023964_ovl0: +/* 024564 80023964 0C00B590 */ jal osSetIntMask +/* 024568 80023968 01002025 */ move $a0, $t0 +/* 02456C 8002396C 8FBF0014 */ lw $ra, 0x14($sp) +/* 024570 80023970 27BD0018 */ addiu $sp, $sp, 0x18 +/* 024574 80023974 03E00008 */ jr $ra +/* 024578 80023978 00000000 */ nop + +glabel func_8002397C +/* 02457C 8002397C 240E0002 */ li $t6, 2 +/* 024580 80023980 A4800028 */ sh $zero, 0x28($a0) +/* 024584 80023984 A08E002A */ sb $t6, 0x2a($a0) +/* 024588 80023988 03E00008 */ jr $ra +/* 02458C 8002398C A4800048 */ sh $zero, 0x48($a0) + +glabel func_80023990 +/* 024590 80023990 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 024594 80023994 AFBF0014 */ sw $ra, 0x14($sp) +/* 024598 80023998 0C00B590 */ jal osSetIntMask +/* 02459C 8002399C 24040001 */ li $a0, 1 +/* 0245A0 800239A0 0C008DE5 */ jal func_80023794 +/* 0245A4 800239A4 AFA2001C */ sw $v0, 0x1c($sp) +/* 0245A8 800239A8 3C068009 */ lui $a2, %hi(D_800978E0) # $a2, 0x8009 +/* 0245AC 800239AC 24C678E0 */ addiu $a2, %lo(D_800978E0) # addiu $a2, $a2, 0x78e0 +/* 0245B0 800239B0 8CC40040 */ lw $a0, 0x40($a2) +/* 0245B4 800239B4 24050002 */ li $a1, 2 +/* 0245B8 800239B8 1080000E */ beqz $a0, .L800239F4_ovl0 +/* 0245BC 800239BC 00801825 */ move $v1, $a0 +/* 0245C0 800239C0 8C640028 */ lw $a0, 0x28($v1) +.L800239C4_ovl0: +/* 0245C4 800239C4 A4600010 */ sh $zero, 0x10($v1) +/* 0245C8 800239C8 A4600026 */ sh $zero, 0x26($v1) +/* 0245CC 800239CC 10800004 */ beqz $a0, .L800239E0_ovl0 +/* 0245D0 800239D0 00601025 */ move $v0, $v1 +/* 0245D4 800239D4 A4800028 */ sh $zero, 0x28($a0) +/* 0245D8 800239D8 A085002A */ sb $a1, 0x2a($a0) +/* 0245DC 800239DC A4800048 */ sh $zero, 0x48($a0) +.L800239E0_ovl0: +/* 0245E0 800239E0 8C630000 */ lw $v1, ($v1) +/* 0245E4 800239E4 5460FFF7 */ bnezl $v1, .L800239C4_ovl0 +/* 0245E8 800239E8 8C640028 */ lw $a0, 0x28($v1) +/* 0245EC 800239EC 8CC40040 */ lw $a0, 0x40($a2) +/* 0245F0 800239F0 AFA20020 */ sw $v0, 0x20($sp) +.L800239F4_ovl0: +/* 0245F4 800239F4 10800006 */ beqz $a0, .L80023A10_ovl0 +/* 0245F8 800239F8 8FA20020 */ lw $v0, 0x20($sp) +/* 0245FC 800239FC 8CCE0038 */ lw $t6, 0x38($a2) +/* 024600 80023A00 AC4E0000 */ sw $t6, ($v0) +/* 024604 80023A04 8CCF0040 */ lw $t7, 0x40($a2) +/* 024608 80023A08 ACC00040 */ sw $zero, 0x40($a2) +/* 02460C 80023A0C ACCF0038 */ sw $t7, 0x38($a2) +.L80023A10_ovl0: +/* 024610 80023A10 0C00B590 */ jal osSetIntMask +/* 024614 80023A14 8FA4001C */ lw $a0, 0x1c($sp) +/* 024618 80023A18 8FBF0014 */ lw $ra, 0x14($sp) +/* 02461C 80023A1C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 024620 80023A20 03E00008 */ jr $ra +/* 024624 80023A24 00000000 */ nop + +glabel func_80023A28 +/* 024628 80023A28 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02462C 80023A2C AFBF0014 */ sw $ra, 0x14($sp) +/* 024630 80023A30 00804025 */ move $t0, $a0 +/* 024634 80023A34 AFA80018 */ sw $t0, 0x18($sp) +/* 024638 80023A38 0C00B590 */ jal osSetIntMask +/* 02463C 80023A3C 24040001 */ li $a0, 1 +/* 024640 80023A40 3C078009 */ lui $a3, %hi(D_800978E0) # $a3, 0x8009 +/* 024644 80023A44 24E778E0 */ addiu $a3, %lo(D_800978E0) # addiu $a3, $a3, 0x78e0 +/* 024648 80023A48 8CE30040 */ lw $v1, 0x40($a3) +/* 02464C 80023A4C 8FA80018 */ lw $t0, 0x18($sp) +/* 024650 80023A50 00405025 */ move $t2, $v0 +/* 024654 80023A54 1060001D */ beqz $v1, .L80023ACC_ovl0 +/* 024658 80023A58 00002825 */ move $a1, $zero +/* 02465C 80023A5C 24090002 */ li $t1, 2 +.L80023A60_ovl0: +/* 024660 80023A60 10680004 */ beq $v1, $t0, .L80023A74_ovl0 +/* 024664 80023A64 8C660000 */ lw $a2, ($v1) +/* 024668 80023A68 8C6E0004 */ lw $t6, 4($v1) +/* 02466C 80023A6C 550E0015 */ bnel $t0, $t6, .L80023AC4_ovl0 +/* 024670 80023A70 00602825 */ move $a1, $v1 +.L80023A74_ovl0: +/* 024674 80023A74 8C640028 */ lw $a0, 0x28($v1) +/* 024678 80023A78 A4600010 */ sh $zero, 0x10($v1) +/* 02467C 80023A7C A4600026 */ sh $zero, 0x26($v1) +/* 024680 80023A80 10800004 */ beqz $a0, .L80023A94_ovl0 +/* 024684 80023A84 00000000 */ nop +/* 024688 80023A88 A4800028 */ sh $zero, 0x28($a0) +/* 02468C 80023A8C A089002A */ sb $t1, 0x2a($a0) +/* 024690 80023A90 A4800048 */ sh $zero, 0x48($a0) +.L80023A94_ovl0: +/* 024694 80023A94 50A00005 */ beql $a1, $zero, .L80023AAC_ovl0 +/* 024698 80023A98 8C780000 */ lw $t8, ($v1) +/* 02469C 80023A9C 8C6F0000 */ lw $t7, ($v1) +/* 0246A0 80023AA0 10000003 */ b .L80023AB0_ovl0 +/* 0246A4 80023AA4 ACAF0000 */ sw $t7, ($a1) +/* 0246A8 80023AA8 8C780000 */ lw $t8, ($v1) +.L80023AAC_ovl0: +/* 0246AC 80023AAC ACF80040 */ sw $t8, 0x40($a3) +.L80023AB0_ovl0: +/* 0246B0 80023AB0 8CF90038 */ lw $t9, 0x38($a3) +/* 0246B4 80023AB4 AC790000 */ sw $t9, ($v1) +/* 0246B8 80023AB8 10000002 */ b .L80023AC4_ovl0 +/* 0246BC 80023ABC ACE30038 */ sw $v1, 0x38($a3) +/* 0246C0 80023AC0 00602825 */ move $a1, $v1 +.L80023AC4_ovl0: +/* 0246C4 80023AC4 14C0FFE6 */ bnez $a2, .L80023A60_ovl0 +/* 0246C8 80023AC8 00C01825 */ move $v1, $a2 +.L80023ACC_ovl0: +/* 0246CC 80023ACC 0C00B590 */ jal osSetIntMask +/* 0246D0 80023AD0 01402025 */ move $a0, $t2 +/* 0246D4 80023AD4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0246D8 80023AD8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0246DC 80023ADC 03E00008 */ jr $ra +/* 0246E0 80023AE0 00000000 */ nop + +glabel func_80023AE4 +/* 0246E4 80023AE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0246E8 80023AE8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0246EC 80023AEC 00802825 */ move $a1, $a0 +/* 0246F0 80023AF0 AFA50018 */ sw $a1, 0x18($sp) +/* 0246F4 80023AF4 0C00B590 */ jal osSetIntMask +/* 0246F8 80023AF8 24040001 */ li $a0, 1 +/* 0246FC 80023AFC 8FA50018 */ lw $a1, 0x18($sp) +/* 024700 80023B00 00402025 */ move $a0, $v0 +/* 024704 80023B04 3C028009 */ lui $v0, %hi(D_800978E0) # $v0, 0x8009 +/* 024708 80023B08 10A00004 */ beqz $a1, .L80023B1C_ovl0 +/* 02470C 80023B0C 244278E0 */ addiu $v0, %lo(D_800978E0) # addiu $v0, $v0, 0x78e0 +/* 024710 80023B10 8C4E0040 */ lw $t6, 0x40($v0) +/* 024714 80023B14 ACAE0000 */ sw $t6, ($a1) +/* 024718 80023B18 AC450040 */ sw $a1, 0x40($v0) +.L80023B1C_ovl0: +/* 02471C 80023B1C 0C00B590 */ jal osSetIntMask +/* 024720 80023B20 00000000 */ nop +/* 024724 80023B24 8FBF0014 */ lw $ra, 0x14($sp) +/* 024728 80023B28 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02472C 80023B2C 03E00008 */ jr $ra +/* 024730 80023B30 00000000 */ nop + +glabel func_80023B34 +/* 024734 80023B34 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 024738 80023B38 AFBF0014 */ sw $ra, 0x14($sp) +/* 02473C 80023B3C 0C00B590 */ jal osSetIntMask +/* 024740 80023B40 24040001 */ li $a0, 1 +/* 024744 80023B44 3C068009 */ lui $a2, %hi(D_800978E0) # $a2, 0x8009 +/* 024748 80023B48 24C678E0 */ addiu $a2, %lo(D_800978E0) # addiu $a2, $a2, 0x78e0 +/* 02474C 80023B4C 8CD00038 */ lw $s0, 0x38($a2) +/* 024750 80023B50 00403825 */ move $a3, $v0 +/* 024754 80023B54 12000035 */ beqz $s0, .L80023C2C_ovl0 +/* 024758 80023B58 00000000 */ nop +/* 02475C 80023B5C 8E0E0000 */ lw $t6, ($s0) +/* 024760 80023B60 240F0001 */ li $t7, 1 +/* 024764 80023B64 24180030 */ li $t8, 48 +/* 024768 80023B68 ACCE0038 */ sw $t6, 0x38($a2) +/* 02476C 80023B6C A60F0010 */ sh $t7, 0x10($s0) +/* 024770 80023B70 AE110008 */ sw $s1, 8($s0) +/* 024774 80023B74 AE11000C */ sw $s1, 0xc($s0) +/* 024778 80023B78 A218001E */ sb $t8, 0x1e($s0) +/* 02477C 80023B7C 90D9004C */ lbu $t9, 0x4c($a2) +/* 024780 80023B80 3C0E8009 */ lui $t6, %hi(D_8009792E) # $t6, 0x8009 +/* 024784 80023B84 3C0F8009 */ lui $t7, %hi(D_80097930) # $t7, 0x8009 +/* 024788 80023B88 A219001F */ sb $t9, 0x1f($s0) +/* 02478C 80023B8C 95CE792E */ lhu $t6, %lo(D_8009792E)($t6) +/* 024790 80023B90 24050002 */ li $a1, 2 +/* 024794 80023B94 00052040 */ sll $a0, $a1, 1 +/* 024798 80023B98 A60E0012 */ sh $t6, 0x12($s0) +/* 02479C 80023B9C 95EF7930 */ lhu $t7, %lo(D_80097930)($t7) +/* 0247A0 80023BA0 00C41821 */ addu $v1, $a2, $a0 +/* 0247A4 80023BA4 02041021 */ addu $v0, $s0, $a0 +/* 0247A8 80023BA8 A60F0014 */ sh $t7, 0x14($s0) +/* 0247AC 80023BAC 9478004E */ lhu $t8, 0x4e($v1) +/* 0247B0 80023BB0 24040080 */ li $a0, 128 +/* 0247B4 80023BB4 A4580012 */ sh $t8, 0x12($v0) +/* 0247B8 80023BB8 94790050 */ lhu $t9, 0x50($v1) +/* 0247BC 80023BBC A4590014 */ sh $t9, 0x14($v0) +/* 0247C0 80023BC0 946E0052 */ lhu $t6, 0x52($v1) +/* 0247C4 80023BC4 241900FF */ li $t9, 255 +/* 0247C8 80023BC8 A44E0016 */ sh $t6, 0x16($v0) +/* 0247CC 80023BCC 946F0054 */ lhu $t7, 0x54($v1) +/* 0247D0 80023BD0 24030040 */ li $v1, 64 +/* 0247D4 80023BD4 240E007F */ li $t6, 127 +/* 0247D8 80023BD8 A44F0018 */ sh $t7, 0x18($v0) +/* 0247DC 80023BDC A2000020 */ sb $zero, 0x20($s0) +/* 0247E0 80023BE0 A2000021 */ sb $zero, 0x21($s0) +/* 0247E4 80023BE4 AE000028 */ sw $zero, 0x28($s0) +/* 0247E8 80023BE8 AE000004 */ sw $zero, 4($s0) +/* 0247EC 80023BEC A2190022 */ sb $t9, 0x22($s0) +/* 0247F0 80023BF0 A2030023 */ sb $v1, 0x23($s0) +/* 0247F4 80023BF4 A203002C */ sb $v1, 0x2c($s0) +/* 0247F8 80023BF8 A20E002E */ sb $t6, 0x2e($s0) +/* 0247FC 80023BFC A204002F */ sb $a0, 0x2f($s0) +/* 024800 80023C00 A2040030 */ sb $a0, 0x30($s0) +/* 024804 80023C04 94CF004A */ lhu $t7, 0x4a($a2) +/* 024808 80023C08 25F80001 */ addiu $t8, $t7, 1 +/* 02480C 80023C0C 3302FFFF */ andi $v0, $t8, 0xffff +/* 024810 80023C10 14400004 */ bnez $v0, .L80023C24_ovl0 +/* 024814 80023C14 A4D8004A */ sh $t8, 0x4a($a2) +/* 024818 80023C18 24590001 */ addiu $t9, $v0, 1 +/* 02481C 80023C1C A4D9004A */ sh $t9, 0x4a($a2) +/* 024820 80023C20 3322FFFF */ andi $v0, $t9, 0xffff +.L80023C24_ovl0: +/* 024824 80023C24 A6020026 */ sh $v0, 0x26($s0) +/* 024828 80023C28 A200002D */ sb $zero, 0x2d($s0) +.L80023C2C_ovl0: +/* 02482C 80023C2C 0C00B590 */ jal osSetIntMask +/* 024830 80023C30 00E02025 */ move $a0, $a3 +/* 024834 80023C34 8FBF0014 */ lw $ra, 0x14($sp) +/* 024838 80023C38 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02483C 80023C3C 02001025 */ move $v0, $s0 +/* 024840 80023C40 03E00008 */ jr $ra +/* 024844 80023C44 00000000 */ nop + +glabel func_80023C48 +/* 024848 80023C48 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 02484C 80023C4C AFBF001C */ sw $ra, 0x1c($sp) +/* 024850 80023C50 AFA40030 */ sw $a0, 0x30($sp) +/* 024854 80023C54 AFB10018 */ sw $s1, 0x18($sp) +/* 024858 80023C58 AFB00014 */ sw $s0, 0x14($sp) +/* 02485C 80023C5C 0C00B590 */ jal osSetIntMask +/* 024860 80023C60 24040001 */ li $a0, 1 +/* 024864 80023C64 AFA20024 */ sw $v0, 0x24($sp) +/* 024868 80023C68 0C008ECD */ jal func_80023B34 +/* 02486C 80023C6C 8FB10030 */ lw $s1, 0x30($sp) +/* 024870 80023C70 10400006 */ beqz $v0, .L80023C8C_ovl0 +/* 024874 80023C74 00401825 */ move $v1, $v0 +/* 024878 80023C78 3C0E8009 */ lui $t6, %hi(D_80097920) # $t6, 0x8009 +/* 02487C 80023C7C 8DCE7920 */ lw $t6, %lo(D_80097920)($t6) +/* 024880 80023C80 3C018009 */ lui $at, %hi(D_80097920) # $at, 0x8009 +/* 024884 80023C84 AC4E0000 */ sw $t6, ($v0) +/* 024888 80023C88 AC227920 */ sw $v0, %lo(D_80097920)($at) +.L80023C8C_ovl0: +/* 02488C 80023C8C 8FA40024 */ lw $a0, 0x24($sp) +/* 024890 80023C90 0C00B590 */ jal osSetIntMask +/* 024894 80023C94 AFA3002C */ sw $v1, 0x2c($sp) +/* 024898 80023C98 8FBF001C */ lw $ra, 0x1c($sp) +/* 02489C 80023C9C 8FA2002C */ lw $v0, 0x2c($sp) +/* 0248A0 80023CA0 8FB00014 */ lw $s0, 0x14($sp) +/* 0248A4 80023CA4 8FB10018 */ lw $s1, 0x18($sp) +/* 0248A8 80023CA8 03E00008 */ jr $ra +/* 0248AC 80023CAC 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80023CB0 +/* 0248B0 80023CB0 3C028009 */ lui $v0, %hi(D_800978E0) # $v0, 0x8009 +/* 0248B4 80023CB4 244278E0 */ addiu $v0, %lo(D_800978E0) # addiu $v0, $v0, 0x78e0 +/* 0248B8 80023CB8 944E0028 */ lhu $t6, 0x28($v0) +/* 0248BC 80023CBC 3085FFFF */ andi $a1, $a0, 0xffff +/* 0248C0 80023CC0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0248C4 80023CC4 00AE082A */ slt $at, $a1, $t6 +/* 0248C8 80023CC8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0248CC 80023CCC 14200003 */ bnez $at, .L80023CDC_ovl0 +/* 0248D0 80023CD0 AFA40018 */ sw $a0, 0x18($sp) +/* 0248D4 80023CD4 10000006 */ b .L80023CF0_ovl0 +/* 0248D8 80023CD8 00001025 */ move $v0, $zero +.L80023CDC_ovl0: +/* 0248DC 80023CDC 8C4F001C */ lw $t7, 0x1c($v0) +/* 0248E0 80023CE0 0005C080 */ sll $t8, $a1, 2 +/* 0248E4 80023CE4 01F8C821 */ addu $t9, $t7, $t8 +/* 0248E8 80023CE8 0C008F12 */ jal func_80023C48 +/* 0248EC 80023CEC 8F240000 */ lw $a0, ($t9) +.L80023CF0_ovl0: +/* 0248F0 80023CF0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0248F4 80023CF4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0248F8 80023CF8 03E00008 */ jr $ra +/* 0248FC 80023CFC 00000000 */ nop + +glabel func_80023D00 +/* 024900 80023D00 3C028009 */ lui $v0, %hi(D_800978E0) # $v0, 0x8009 +/* 024904 80023D04 244278E0 */ addiu $v0, %lo(D_800978E0) # addiu $v0, $v0, 0x78e0 +/* 024908 80023D08 944E0028 */ lhu $t6, 0x28($v0) +/* 02490C 80023D0C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 024910 80023D10 AFA40020 */ sw $a0, 0x20($sp) +/* 024914 80023D14 3084FFFF */ andi $a0, $a0, 0xffff +/* 024918 80023D18 008E082A */ slt $at, $a0, $t6 +/* 02491C 80023D1C AFBF001C */ sw $ra, 0x1c($sp) +/* 024920 80023D20 AFB10018 */ sw $s1, 0x18($sp) +/* 024924 80023D24 14200003 */ bnez $at, .L80023D34_ovl0 +/* 024928 80023D28 AFB00014 */ sw $s0, 0x14($sp) +/* 02492C 80023D2C 10000006 */ b .L80023D48_ovl0 +/* 024930 80023D30 00001025 */ move $v0, $zero +.L80023D34_ovl0: +/* 024934 80023D34 8C4F001C */ lw $t7, 0x1c($v0) +/* 024938 80023D38 0004C080 */ sll $t8, $a0, 2 +/* 02493C 80023D3C 01F8C821 */ addu $t9, $t7, $t8 +/* 024940 80023D40 0C008ECD */ jal func_80023B34 +/* 024944 80023D44 8F310000 */ lw $s1, ($t9) +.L80023D48_ovl0: +/* 024948 80023D48 8FBF001C */ lw $ra, 0x1c($sp) +/* 02494C 80023D4C 8FB00014 */ lw $s0, 0x14($sp) +/* 024950 80023D50 8FB10018 */ lw $s1, 0x18($sp) +/* 024954 80023D54 03E00008 */ jr $ra +/* 024958 80023D58 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80023D5C +/* 02495C 80023D5C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 024960 80023D60 AFBF0014 */ sw $ra, 0x14($sp) +/* 024964 80023D64 AFA40020 */ sw $a0, 0x20($sp) +/* 024968 80023D68 0C00B590 */ jal osSetIntMask +/* 02496C 80023D6C 24040001 */ li $a0, 1 +/* 024970 80023D70 3C048009 */ lui $a0, %hi(D_800978E0) # $a0, 0x8009 +/* 024974 80023D74 248478E0 */ addiu $a0, %lo(D_800978E0) # addiu $a0, $a0, 0x78e0 +/* 024978 80023D78 8C830034 */ lw $v1, 0x34($a0) +/* 02497C 80023D7C 8FA70020 */ lw $a3, 0x20($sp) +/* 024980 80023D80 00402825 */ move $a1, $v0 +/* 024984 80023D84 10600022 */ beqz $v1, .L80023E10_ovl0 +/* 024988 80023D88 24060040 */ li $a2, 64 +/* 02498C 80023D8C 8C6E0000 */ lw $t6, ($v1) +/* 024990 80023D90 8C8F003C */ lw $t7, 0x3c($a0) +/* 024994 80023D94 24180001 */ li $t8, 1 +/* 024998 80023D98 AC8E0034 */ sw $t6, 0x34($a0) +/* 02499C 80023D9C AC6F0000 */ sw $t7, ($v1) +/* 0249A0 80023DA0 AC83003C */ sw $v1, 0x3c($a0) +/* 0249A4 80023DA4 24190003 */ li $t9, 3 +/* 0249A8 80023DA8 2408007F */ li $t0, 127 +/* 0249AC 80023DAC A4780028 */ sh $t8, 0x28($v1) +/* 0249B0 80023DB0 AC670020 */ sw $a3, 0x20($v1) +/* 0249B4 80023DB4 AC670024 */ sw $a3, 0x24($v1) +/* 0249B8 80023DB8 A079002A */ sb $t9, 0x2a($v1) +/* 0249BC 80023DBC A0680032 */ sb $t0, 0x32($v1) +/* 0249C0 80023DC0 A0660034 */ sb $a2, 0x34($v1) +/* 0249C4 80023DC4 A0600036 */ sb $zero, 0x36($v1) +/* 0249C8 80023DC8 A460002C */ sh $zero, 0x2c($v1) +/* 0249CC 80023DCC 9089004C */ lbu $t1, 0x4c($a0) +/* 0249D0 80023DD0 240A00FF */ li $t2, 255 +/* 0249D4 80023DD4 AC600044 */ sw $zero, 0x44($v1) +/* 0249D8 80023DD8 A4600030 */ sh $zero, 0x30($v1) +/* 0249DC 80023DDC A06A0038 */ sb $t2, 0x38($v1) +/* 0249E0 80023DE0 A066003A */ sb $a2, 0x3a($v1) +/* 0249E4 80023DE4 A060003C */ sb $zero, 0x3c($v1) +/* 0249E8 80023DE8 A069002B */ sb $t1, 0x2b($v1) +/* 0249EC 80023DEC 948B0048 */ lhu $t3, 0x48($a0) +/* 0249F0 80023DF0 256C0001 */ addiu $t4, $t3, 1 +/* 0249F4 80023DF4 3182FFFF */ andi $v0, $t4, 0xffff +/* 0249F8 80023DF8 14400004 */ bnez $v0, .L80023E0C_ovl0 +/* 0249FC 80023DFC A48C0048 */ sh $t4, 0x48($a0) +/* 024A00 80023E00 244D0001 */ addiu $t5, $v0, 1 +/* 024A04 80023E04 A48D0048 */ sh $t5, 0x48($a0) +/* 024A08 80023E08 31A2FFFF */ andi $v0, $t5, 0xffff +.L80023E0C_ovl0: +/* 024A0C 80023E0C A4620048 */ sh $v0, 0x48($v1) +.L80023E10_ovl0: +/* 024A10 80023E10 00A02025 */ move $a0, $a1 +/* 024A14 80023E14 0C00B590 */ jal osSetIntMask +/* 024A18 80023E18 AFA3001C */ sw $v1, 0x1c($sp) +/* 024A1C 80023E1C 8FBF0014 */ lw $ra, 0x14($sp) +/* 024A20 80023E20 8FA2001C */ lw $v0, 0x1c($sp) +/* 024A24 80023E24 27BD0020 */ addiu $sp, $sp, 0x20 +/* 024A28 80023E28 03E00008 */ jr $ra +/* 024A2C 80023E2C 00000000 */ nop + +glabel func_80023E30 +/* 024A30 80023E30 3C028009 */ lui $v0, %hi(D_800978E0) # $v0, 0x8009 +/* 024A34 80023E34 244278E0 */ addiu $v0, %lo(D_800978E0) # addiu $v0, $v0, 0x78e0 +/* 024A38 80023E38 944E002A */ lhu $t6, 0x2a($v0) +/* 024A3C 80023E3C 3085FFFF */ andi $a1, $a0, 0xffff +/* 024A40 80023E40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 024A44 80023E44 00AE082A */ slt $at, $a1, $t6 +/* 024A48 80023E48 AFBF0014 */ sw $ra, 0x14($sp) +/* 024A4C 80023E4C 14200003 */ bnez $at, .L80023E5C_ovl0 +/* 024A50 80023E50 AFA40018 */ sw $a0, 0x18($sp) +/* 024A54 80023E54 10000006 */ b .L80023E70_ovl0 +/* 024A58 80023E58 00001025 */ move $v0, $zero +.L80023E5C_ovl0: +/* 024A5C 80023E5C 8C4F0020 */ lw $t7, 0x20($v0) +/* 024A60 80023E60 0005C080 */ sll $t8, $a1, 2 +/* 024A64 80023E64 01F8C821 */ addu $t9, $t7, $t8 +/* 024A68 80023E68 0C008F57 */ jal func_80023D5C +/* 024A6C 80023E6C 8F240000 */ lw $a0, ($t9) +.L80023E70_ovl0: +/* 024A70 80023E70 8FBF0014 */ lw $ra, 0x14($sp) +/* 024A74 80023E74 27BD0018 */ addiu $sp, $sp, 0x18 +/* 024A78 80023E78 03E00008 */ jr $ra +/* 024A7C 80023E7C 00000000 */ nop + +glabel func_80023E80 +/* 024A80 80023E80 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 024A84 80023E84 AFBF0014 */ sw $ra, 0x14($sp) +/* 024A88 80023E88 94820010 */ lhu $v0, 0x10($a0) +/* 024A8C 80023E8C 3401FFFF */ li $at, 65535 +/* 024A90 80023E90 00803825 */ move $a3, $a0 +/* 024A94 80023E94 00006825 */ move $t5, $zero +/* 024A98 80023E98 104101DF */ beq $v0, $at, .L80024618_ovl0 +/* 024A9C 80023E9C 00401825 */ move $v1, $v0 +/* 024AA0 80023EA0 104001DD */ beqz $v0, .L80024618_ovl0 +/* 024AA4 80023EA4 244EFFFF */ addiu $t6, $v0, -1 +/* 024AA8 80023EA8 31CFFFFF */ andi $t7, $t6, 0xffff +/* 024AAC 80023EAC 15E001DA */ bnez $t7, .L80024618_ovl0 +/* 024AB0 80023EB0 A48E0010 */ sh $t6, 0x10($a0) +/* 024AB4 80023EB4 90980021 */ lbu $t8, 0x21($a0) +/* 024AB8 80023EB8 3C0C8009 */ lui $t4, %hi(D_800978E0) # $t4, 0x8009 +/* 024ABC 80023EBC 258C78E0 */ addiu $t4, %lo(D_800978E0) # addiu $t4, $t4, 0x78e0 +/* 024AC0 80023EC0 1300000C */ beqz $t8, .L80023EF4_ovl0 +/* 024AC4 80023EC4 241F0001 */ li $ra, 1 +/* 024AC8 80023EC8 8CE40028 */ lw $a0, 0x28($a3) +/* 024ACC 80023ECC A0E00021 */ sb $zero, 0x21($a3) +/* 024AD0 80023ED0 24090002 */ li $t1, 2 +/* 024AD4 80023ED4 10800005 */ beqz $a0, .L80023EEC_ovl0 +/* 024AD8 80023ED8 241F0001 */ li $ra, 1 +/* 024ADC 80023EDC A4800028 */ sh $zero, 0x28($a0) +/* 024AE0 80023EE0 A089002A */ sb $t1, 0x2a($a0) +/* 024AE4 80023EE4 A4800048 */ sh $zero, 0x48($a0) +/* 024AE8 80023EE8 ACE00028 */ sw $zero, 0x28($a3) +.L80023EEC_ovl0: +/* 024AEC 80023EEC 100001CA */ b .L80024618_ovl0 +/* 024AF0 80023EF0 A4FF0010 */ sh $ra, 0x10($a3) +.L80023EF4_ovl0: +/* 024AF4 80023EF4 8CE50008 */ lw $a1, 8($a3) +/* 024AF8 80023EF8 340BFFFF */ li $t3, 65535 +/* 024AFC 80023EFC 24090002 */ li $t1, 2 +/* 024B00 80023F00 90A20000 */ lbu $v0, ($a1) +.L80023F04_ovl0: +/* 024B04 80023F04 24A50001 */ addiu $a1, $a1, 1 +/* 024B08 80023F08 304A00F8 */ andi $t2, $v0, 0xf8 +/* 024B0C 80023F0C 294100D0 */ slti $at, $t2, 0xd0 +/* 024B10 80023F10 1420013F */ bnez $at, .L80024410_ovl0 +/* 024B14 80023F14 00403025 */ move $a2, $v0 +/* 024B18 80023F18 2459FF30 */ addiu $t9, $v0, -0xd0 +/* 024B1C 80023F1C 2F210011 */ sltiu $at, $t9, 0x11 +/* 024B20 80023F20 10200139 */ beqz $at, .L80024408_ovl0 +/* 024B24 80023F24 00004025 */ move $t0, $zero +/* 024B28 80023F28 0019C880 */ sll $t9, $t9, 2 +/* 024B2C 80023F2C 3C018004 */ lui $at, %hi(D_800411C0) +/* 024B30 80023F30 00390821 */ addu $at, $at, $t9 +/* 024B34 80023F34 8C3911C0 */ lw $t9, %lo(D_800411C0)($at) +/* 024B38 80023F38 03200008 */ jr $t9 +/* 024B3C 80023F3C 00000000 */ nop +/* 024B40 80023F40 8CE40028 */ lw $a0, 0x28($a3) +/* 024B44 80023F44 3168FFFF */ andi $t0, $t3, 0xffff +/* 024B48 80023F48 01001825 */ move $v1, $t0 +/* 024B4C 80023F4C 1080012E */ beqz $a0, .L80024408_ovl0 +/* 024B50 80023F50 00000000 */ nop +/* 024B54 80023F54 A4800028 */ sh $zero, 0x28($a0) +/* 024B58 80023F58 A089002A */ sb $t1, 0x2a($a0) +/* 024B5C 80023F5C A4800048 */ sh $zero, 0x48($a0) +/* 024B60 80023F60 100001A9 */ b .L80024608_ovl0 +/* 024B64 80023F64 ACE00028 */ sw $zero, 0x28($a3) +/* 024B68 80023F68 90A40000 */ lbu $a0, ($a1) +/* 024B6C 80023F6C 24A50001 */ addiu $a1, $a1, 1 +/* 024B70 80023F70 01001825 */ move $v1, $t0 +/* 024B74 80023F74 308E0080 */ andi $t6, $a0, 0x80 +/* 024B78 80023F78 11C00007 */ beqz $t6, .L80023F98_ovl0 +/* 024B7C 80023F7C 00801025 */ move $v0, $a0 +/* 024B80 80023F80 90AF0000 */ lbu $t7, ($a1) +/* 024B84 80023F84 3058007F */ andi $t8, $v0, 0x7f +/* 024B88 80023F88 0018CA00 */ sll $t9, $t8, 8 +/* 024B8C 80023F8C 01F92021 */ addu $a0, $t7, $t9 +/* 024B90 80023F90 3084FFFF */ andi $a0, $a0, 0xffff +/* 024B94 80023F94 24A50001 */ addiu $a1, $a1, 1 +.L80023F98_ovl0: +/* 024B98 80023F98 1000019B */ b .L80024608_ovl0 +/* 024B9C 80023F9C A4E40024 */ sh $a0, 0x24($a3) +/* 024BA0 80023FA0 90A40000 */ lbu $a0, ($a1) +/* 024BA4 80023FA4 24A50001 */ addiu $a1, $a1, 1 +/* 024BA8 80023FA8 01001825 */ move $v1, $t0 +/* 024BAC 80023FAC 308E007F */ andi $t6, $a0, 0x7f +/* 024BB0 80023FB0 30980080 */ andi $t8, $a0, 0x80 +/* 024BB4 80023FB4 13000004 */ beqz $t8, .L80023FC8_ovl0 +/* 024BB8 80023FB8 A0EE001E */ sb $t6, 0x1e($a3) +/* 024BBC 80023FBC A0FF0020 */ sb $ra, 0x20($a3) +/* 024BC0 80023FC0 10000191 */ b .L80024608_ovl0 +/* 024BC4 80023FC4 01001825 */ move $v1, $t0 +.L80023FC8_ovl0: +/* 024BC8 80023FC8 1000018F */ b .L80024608_ovl0 +/* 024BCC 80023FCC A0E00020 */ sb $zero, 0x20($a3) +/* 024BD0 80023FD0 90AF0000 */ lbu $t7, ($a1) +/* 024BD4 80023FD4 24A50001 */ addiu $a1, $a1, 1 +/* 024BD8 80023FD8 01001825 */ move $v1, $t0 +/* 024BDC 80023FDC 1000018A */ b .L80024608_ovl0 +/* 024BE0 80023FE0 A0EF001F */ sb $t7, 0x1f($a3) +/* 024BE4 80023FE4 90A40000 */ lbu $a0, ($a1) +/* 024BE8 80023FE8 00E01825 */ move $v1, $a3 +/* 024BEC 80023FEC 24A50001 */ addiu $a1, $a1, 1 +/* 024BF0 80023FF0 30990080 */ andi $t9, $a0, 0x80 +/* 024BF4 80023FF4 13200007 */ beqz $t9, .L80024014_ovl0 +/* 024BF8 80023FF8 00801025 */ move $v0, $a0 +/* 024BFC 80023FFC 90AE0000 */ lbu $t6, ($a1) +/* 024C00 80024000 3058007F */ andi $t8, $v0, 0x7f +/* 024C04 80024004 00187A00 */ sll $t7, $t8, 8 +/* 024C08 80024008 01CF2021 */ addu $a0, $t6, $t7 +/* 024C0C 8002400C 3084FFFF */ andi $a0, $a0, 0xffff +/* 024C10 80024010 24A50001 */ addiu $a1, $a1, 1 +.L80024014_ovl0: +/* 024C14 80024014 A4640012 */ sh $a0, 0x12($v1) +/* 024C18 80024018 90A40000 */ lbu $a0, ($a1) +/* 024C1C 8002401C 24A50001 */ addiu $a1, $a1, 1 +/* 024C20 80024020 30990080 */ andi $t9, $a0, 0x80 +/* 024C24 80024024 13200007 */ beqz $t9, .L80024044_ovl0 +/* 024C28 80024028 00801025 */ move $v0, $a0 +/* 024C2C 8002402C 90B80000 */ lbu $t8, ($a1) +/* 024C30 80024030 304E007F */ andi $t6, $v0, 0x7f +/* 024C34 80024034 000E7A00 */ sll $t7, $t6, 8 +/* 024C38 80024038 030F2021 */ addu $a0, $t8, $t7 +/* 024C3C 8002403C 3084FFFF */ andi $a0, $a0, 0xffff +/* 024C40 80024040 24A50001 */ addiu $a1, $a1, 1 +.L80024044_ovl0: +/* 024C44 80024044 A4640014 */ sh $a0, 0x14($v1) +/* 024C48 80024048 90A40000 */ lbu $a0, ($a1) +/* 024C4C 8002404C 24060002 */ li $a2, 2 +/* 024C50 80024050 24A50001 */ addiu $a1, $a1, 1 +/* 024C54 80024054 30990080 */ andi $t9, $a0, 0x80 +/* 024C58 80024058 13200007 */ beqz $t9, .L80024078_ovl0 +/* 024C5C 8002405C 00801025 */ move $v0, $a0 +/* 024C60 80024060 90AE0000 */ lbu $t6, ($a1) +/* 024C64 80024064 3058007F */ andi $t8, $v0, 0x7f +/* 024C68 80024068 00187A00 */ sll $t7, $t8, 8 +/* 024C6C 8002406C 01CF2021 */ addu $a0, $t6, $t7 +/* 024C70 80024070 3084FFFF */ andi $a0, $a0, 0xffff +/* 024C74 80024074 24A50001 */ addiu $a1, $a1, 1 +.L80024078_ovl0: +/* 024C78 80024078 0006C840 */ sll $t9, $a2, 1 +/* 024C7C 8002407C 00F91821 */ addu $v1, $a3, $t9 +/* 024C80 80024080 A4640012 */ sh $a0, 0x12($v1) +/* 024C84 80024084 90A40000 */ lbu $a0, ($a1) +/* 024C88 80024088 24A50001 */ addiu $a1, $a1, 1 +/* 024C8C 8002408C 30980080 */ andi $t8, $a0, 0x80 +/* 024C90 80024090 13000007 */ beqz $t8, .L800240B0_ovl0 +/* 024C94 80024094 00801025 */ move $v0, $a0 +/* 024C98 80024098 90AE0000 */ lbu $t6, ($a1) +/* 024C9C 8002409C 304F007F */ andi $t7, $v0, 0x7f +/* 024CA0 800240A0 000FCA00 */ sll $t9, $t7, 8 +/* 024CA4 800240A4 01D92021 */ addu $a0, $t6, $t9 +/* 024CA8 800240A8 3084FFFF */ andi $a0, $a0, 0xffff +/* 024CAC 800240AC 24A50001 */ addiu $a1, $a1, 1 +.L800240B0_ovl0: +/* 024CB0 800240B0 A4640014 */ sh $a0, 0x14($v1) +/* 024CB4 800240B4 90A40000 */ lbu $a0, ($a1) +/* 024CB8 800240B8 24A50001 */ addiu $a1, $a1, 1 +/* 024CBC 800240BC 30980080 */ andi $t8, $a0, 0x80 +/* 024CC0 800240C0 13000007 */ beqz $t8, .L800240E0_ovl0 +/* 024CC4 800240C4 00801025 */ move $v0, $a0 +/* 024CC8 800240C8 90AF0000 */ lbu $t7, ($a1) +/* 024CCC 800240CC 304E007F */ andi $t6, $v0, 0x7f +/* 024CD0 800240D0 000ECA00 */ sll $t9, $t6, 8 +/* 024CD4 800240D4 01F92021 */ addu $a0, $t7, $t9 +/* 024CD8 800240D8 3084FFFF */ andi $a0, $a0, 0xffff +/* 024CDC 800240DC 24A50001 */ addiu $a1, $a1, 1 +.L800240E0_ovl0: +/* 024CE0 800240E0 A4640016 */ sh $a0, 0x16($v1) +/* 024CE4 800240E4 90A40000 */ lbu $a0, ($a1) +/* 024CE8 800240E8 24A50001 */ addiu $a1, $a1, 1 +/* 024CEC 800240EC 30980080 */ andi $t8, $a0, 0x80 +/* 024CF0 800240F0 13000007 */ beqz $t8, .L80024110_ovl0 +/* 024CF4 800240F4 00801025 */ move $v0, $a0 +/* 024CF8 800240F8 90AE0000 */ lbu $t6, ($a1) +/* 024CFC 800240FC 304F007F */ andi $t7, $v0, 0x7f +/* 024D00 80024100 000FCA00 */ sll $t9, $t7, 8 +/* 024D04 80024104 01D92021 */ addu $a0, $t6, $t9 +/* 024D08 80024108 3084FFFF */ andi $a0, $a0, 0xffff +/* 024D0C 8002410C 24A50001 */ addiu $a1, $a1, 1 +.L80024110_ovl0: +/* 024D10 80024110 A4640018 */ sh $a0, 0x18($v1) +/* 024D14 80024114 1000013C */ b .L80024608_ovl0 +/* 024D18 80024118 01001825 */ move $v1, $t0 +/* 024D1C 8002411C 90B80000 */ lbu $t8, ($a1) +/* 024D20 80024120 24A50001 */ addiu $a1, $a1, 1 +/* 024D24 80024124 01001825 */ move $v1, $t0 +/* 024D28 80024128 10000137 */ b .L80024608_ovl0 +/* 024D2C 8002412C A0F80022 */ sb $t8, 0x22($a3) +/* 024D30 80024130 80AF0000 */ lb $t7, ($a1) +/* 024D34 80024134 90EE0022 */ lbu $t6, 0x22($a3) +/* 024D38 80024138 24A50001 */ addiu $a1, $a1, 1 +/* 024D3C 8002413C 01001825 */ move $v1, $t0 +/* 024D40 80024140 01EE1021 */ addu $v0, $t7, $t6 +/* 024D44 80024144 00021400 */ sll $v0, $v0, 0x10 +/* 024D48 80024148 00021403 */ sra $v0, $v0, 0x10 +/* 024D4C 8002414C 04430003 */ bgezl $v0, .L8002415C_ovl0 +/* 024D50 80024150 28410100 */ slti $at, $v0, 0x100 +/* 024D54 80024154 00001025 */ move $v0, $zero +/* 024D58 80024158 28410100 */ slti $at, $v0, 0x100 +.L8002415C_ovl0: +/* 024D5C 8002415C 14200002 */ bnez $at, .L80024168_ovl0 +/* 024D60 80024160 00000000 */ nop +/* 024D64 80024164 240200FF */ li $v0, 255 +.L80024168_ovl0: +/* 024D68 80024168 10000127 */ b .L80024608_ovl0 +/* 024D6C 8002416C A0E20022 */ sb $v0, 0x22($a3) +/* 024D70 80024170 90B90000 */ lbu $t9, ($a1) +/* 024D74 80024174 24A50001 */ addiu $a1, $a1, 1 +/* 024D78 80024178 01001825 */ move $v1, $t0 +/* 024D7C 8002417C 10000122 */ b .L80024608_ovl0 +/* 024D80 80024180 A0F90023 */ sb $t9, 0x23($a3) +/* 024D84 80024184 80B80000 */ lb $t8, ($a1) +/* 024D88 80024188 90EF0023 */ lbu $t7, 0x23($a3) +/* 024D8C 8002418C 24A50001 */ addiu $a1, $a1, 1 +/* 024D90 80024190 01001825 */ move $v1, $t0 +/* 024D94 80024194 030F1021 */ addu $v0, $t8, $t7 +/* 024D98 80024198 00021400 */ sll $v0, $v0, 0x10 +/* 024D9C 8002419C 00021403 */ sra $v0, $v0, 0x10 +/* 024DA0 800241A0 04430003 */ bgezl $v0, .L800241B0_ovl0 +/* 024DA4 800241A4 28410080 */ slti $at, $v0, 0x80 +/* 024DA8 800241A8 00001025 */ move $v0, $zero +/* 024DAC 800241AC 28410080 */ slti $at, $v0, 0x80 +.L800241B0_ovl0: +/* 024DB0 800241B0 14200002 */ bnez $at, .L800241BC_ovl0 +/* 024DB4 800241B4 00000000 */ nop +/* 024DB8 800241B8 2402007F */ li $v0, 127 +.L800241BC_ovl0: +/* 024DBC 800241BC 10000112 */ b .L80024608_ovl0 +/* 024DC0 800241C0 A0E20023 */ sb $v0, 0x23($a3) +/* 024DC4 800241C4 90A40000 */ lbu $a0, ($a1) +/* 024DC8 800241C8 24A50001 */ addiu $a1, $a1, 1 +/* 024DCC 800241CC 95830028 */ lhu $v1, 0x28($t4) +/* 024DD0 800241D0 308E0080 */ andi $t6, $a0, 0x80 +/* 024DD4 800241D4 11C00008 */ beqz $t6, .L800241F8_ovl0 +/* 024DD8 800241D8 00801025 */ move $v0, $a0 +/* 024DDC 800241DC 90B90000 */ lbu $t9, ($a1) +/* 024DE0 800241E0 3058007F */ andi $t8, $v0, 0x7f +/* 024DE4 800241E4 00187A00 */ sll $t7, $t8, 8 +/* 024DE8 800241E8 032F2021 */ addu $a0, $t9, $t7 +/* 024DEC 800241EC 3084FFFF */ andi $a0, $a0, 0xffff +/* 024DF0 800241F0 00801025 */ move $v0, $a0 +/* 024DF4 800241F4 24A50001 */ addiu $a1, $a1, 1 +.L800241F8_ovl0: +/* 024DF8 800241F8 0043082A */ slt $at, $v0, $v1 +/* 024DFC 800241FC 54200004 */ bnezl $at, .L80024210_ovl0 +/* 024E00 80024200 8D860038 */ lw $a2, 0x38($t4) +/* 024E04 80024204 10000002 */ b .L80024210_ovl0 +/* 024E08 80024208 00003025 */ move $a2, $zero +/* 024E0C 8002420C 8D860038 */ lw $a2, 0x38($t4) +.L80024210_ovl0: +/* 024E10 80024210 10C0007D */ beqz $a2, .L80024408_ovl0 +/* 024E14 80024214 00000000 */ nop +/* 024E18 80024218 8CCE0000 */ lw $t6, ($a2) +/* 024E1C 8002421C 00E07825 */ move $t7, $a3 +/* 024E20 80024220 24E10030 */ addiu $at, $a3, 0x30 +/* 024E24 80024224 AD8E0038 */ sw $t6, 0x38($t4) +/* 024E28 80024228 00C07025 */ move $t6, $a2 +.L8002422C_ovl0: +/* 024E2C 8002422C 8DF90000 */ lw $t9, ($t7) +/* 024E30 80024230 25EF000C */ addiu $t7, $t7, 0xc +/* 024E34 80024234 25CE000C */ addiu $t6, $t6, 0xc +/* 024E38 80024238 ADD9FFF4 */ sw $t9, -0xc($t6) +/* 024E3C 8002423C 8DF8FFF8 */ lw $t8, -8($t7) +/* 024E40 80024240 ADD8FFF8 */ sw $t8, -8($t6) +/* 024E44 80024244 8DF9FFFC */ lw $t9, -4($t7) +/* 024E48 80024248 15E1FFF8 */ bne $t7, $at, .L8002422C_ovl0 +/* 024E4C 8002424C ADD9FFFC */ sw $t9, -4($t6) +/* 024E50 80024250 8DF90000 */ lw $t9, ($t7) +/* 024E54 80024254 00E01825 */ move $v1, $a3 +/* 024E58 80024258 ADD90000 */ sw $t9, ($t6) +/* 024E5C 8002425C ACC00000 */ sw $zero, ($a2) +/* 024E60 80024260 8CEF0000 */ lw $t7, ($a3) +/* 024E64 80024264 51E00007 */ beql $t7, $zero, .L80024284_ovl0 +/* 024E68 80024268 AC660000 */ sw $a2, ($v1) +/* 024E6C 8002426C 8C620000 */ lw $v0, ($v1) +/* 024E70 80024270 00401825 */ move $v1, $v0 +.L80024274_ovl0: +/* 024E74 80024274 8C420000 */ lw $v0, ($v0) +/* 024E78 80024278 5440FFFE */ bnezl $v0, .L80024274_ovl0 +/* 024E7C 8002427C 00401825 */ move $v1, $v0 +/* 024E80 80024280 AC660000 */ sw $a2, ($v1) +.L80024284_ovl0: +/* 024E84 80024284 A4DF0010 */ sh $ra, 0x10($a2) +/* 024E88 80024288 8D8E001C */ lw $t6, 0x1c($t4) +/* 024E8C 8002428C 0004C080 */ sll $t8, $a0, 2 +/* 024E90 80024290 01001825 */ move $v1, $t0 +/* 024E94 80024294 01D8C821 */ addu $t9, $t6, $t8 +/* 024E98 80024298 8F2F0000 */ lw $t7, ($t9) +/* 024E9C 8002429C ACCF0008 */ sw $t7, 8($a2) +/* 024EA0 800242A0 ACCF000C */ sw $t7, 0xc($a2) +/* 024EA4 800242A4 9598004A */ lhu $t8, 0x4a($t4) +/* 024EA8 800242A8 27190001 */ addiu $t9, $t8, 1 +/* 024EAC 800242AC 3322FFFF */ andi $v0, $t9, 0xffff +/* 024EB0 800242B0 14400004 */ bnez $v0, .L800242C4_ovl0 +/* 024EB4 800242B4 A599004A */ sh $t9, 0x4a($t4) +/* 024EB8 800242B8 244F0001 */ addiu $t7, $v0, 1 +/* 024EBC 800242BC A58F004A */ sh $t7, 0x4a($t4) +/* 024EC0 800242C0 31E2FFFF */ andi $v0, $t7, 0xffff +.L800242C4_ovl0: +/* 024EC4 800242C4 8CCE0004 */ lw $t6, 4($a2) +/* 024EC8 800242C8 A4C20026 */ sh $v0, 0x26($a2) +/* 024ECC 800242CC ACC00028 */ sw $zero, 0x28($a2) +/* 024ED0 800242D0 15C0004D */ bnez $t6, .L80024408_ovl0 +/* 024ED4 800242D4 00000000 */ nop +/* 024ED8 800242D8 100000CB */ b .L80024608_ovl0 +/* 024EDC 800242DC ACC70004 */ sw $a3, 4($a2) +/* 024EE0 800242E0 ACE5000C */ sw $a1, 0xc($a3) +/* 024EE4 800242E4 100000C8 */ b .L80024608_ovl0 +/* 024EE8 800242E8 01001825 */ move $v1, $t0 +/* 024EEC 800242EC 8CE5000C */ lw $a1, 0xc($a3) +/* 024EF0 800242F0 100000C5 */ b .L80024608_ovl0 +/* 024EF4 800242F4 01001825 */ move $v1, $t0 +/* 024EF8 800242F8 90B80000 */ lbu $t8, ($a1) +/* 024EFC 800242FC 24A50001 */ addiu $a1, $a1, 1 +/* 024F00 80024300 01001825 */ move $v1, $t0 +/* 024F04 80024304 100000C0 */ b .L80024608_ovl0 +/* 024F08 80024308 A0F8002C */ sb $t8, 0x2c($a3) +/* 024F0C 8002430C 80B90000 */ lb $t9, ($a1) +/* 024F10 80024310 90EF002C */ lbu $t7, 0x2c($a3) +/* 024F14 80024314 24A50001 */ addiu $a1, $a1, 1 +/* 024F18 80024318 01001825 */ move $v1, $t0 +/* 024F1C 8002431C 032F1021 */ addu $v0, $t9, $t7 +/* 024F20 80024320 00021400 */ sll $v0, $v0, 0x10 +/* 024F24 80024324 00021403 */ sra $v0, $v0, 0x10 +/* 024F28 80024328 04430003 */ bgezl $v0, .L80024338_ovl0 +/* 024F2C 8002432C 28410080 */ slti $at, $v0, 0x80 +/* 024F30 80024330 00001025 */ move $v0, $zero +/* 024F34 80024334 28410080 */ slti $at, $v0, 0x80 +.L80024338_ovl0: +/* 024F38 80024338 14200002 */ bnez $at, .L80024344_ovl0 +/* 024F3C 8002433C 00000000 */ nop +/* 024F40 80024340 2402007F */ li $v0, 127 +.L80024344_ovl0: +/* 024F44 80024344 100000B0 */ b .L80024608_ovl0 +/* 024F48 80024348 A0E2002C */ sb $v0, 0x2c($a3) +/* 024F4C 8002434C 90AE0000 */ lbu $t6, ($a1) +/* 024F50 80024350 24A50001 */ addiu $a1, $a1, 1 +/* 024F54 80024354 31D800FF */ andi $t8, $t6, 0xff +/* 024F58 80024358 1300002B */ beqz $t8, .L80024408_ovl0 +/* 024F5C 8002435C A0EE002D */ sb $t6, 0x2d($a3) +/* 024F60 80024360 8D830040 */ lw $v1, 0x40($t4) +/* 024F64 80024364 10600028 */ beqz $v1, .L80024408_ovl0 +/* 024F68 80024368 00000000 */ nop +.L8002436C_ovl0: +/* 024F6C 8002436C 5067001E */ beql $v1, $a3, .L800243E8_ovl0 +/* 024F70 80024370 8C630000 */ lw $v1, ($v1) +/* 024F74 80024374 9079002D */ lbu $t9, 0x2d($v1) +/* 024F78 80024378 90EF002D */ lbu $t7, 0x2d($a3) +/* 024F7C 8002437C 572F001A */ bnel $t9, $t7, .L800243E8_ovl0 +/* 024F80 80024380 8C630000 */ lw $v1, ($v1) +/* 024F84 80024384 90EE001F */ lbu $t6, 0x1f($a3) +/* 024F88 80024388 9079001F */ lbu $t9, 0x1f($v1) +/* 024F8C 8002438C 31D8007F */ andi $t8, $t6, 0x7f +/* 024F90 80024390 332F007F */ andi $t7, $t9, 0x7f +/* 024F94 80024394 030F082A */ slt $at, $t8, $t7 +/* 024F98 80024398 5420000B */ bnezl $at, .L800243C8_ovl0 +/* 024F9C 8002439C 8CE40028 */ lw $a0, 0x28($a3) +/* 024FA0 800243A0 8C640028 */ lw $a0, 0x28($v1) +/* 024FA4 800243A4 A46B0010 */ sh $t3, 0x10($v1) +/* 024FA8 800243A8 5080000F */ beql $a0, $zero, .L800243E8_ovl0 +/* 024FAC 800243AC 8C630000 */ lw $v1, ($v1) +/* 024FB0 800243B0 A4800028 */ sh $zero, 0x28($a0) +/* 024FB4 800243B4 A089002A */ sb $t1, 0x2a($a0) +/* 024FB8 800243B8 A4800048 */ sh $zero, 0x48($a0) +/* 024FBC 800243BC 10000009 */ b .L800243E4_ovl0 +/* 024FC0 800243C0 AC600028 */ sw $zero, 0x28($v1) +/* 024FC4 800243C4 8CE40028 */ lw $a0, 0x28($a3) +.L800243C8_ovl0: +/* 024FC8 800243C8 3168FFFF */ andi $t0, $t3, 0xffff +/* 024FCC 800243CC 50800006 */ beql $a0, $zero, .L800243E8_ovl0 +/* 024FD0 800243D0 8C630000 */ lw $v1, ($v1) +/* 024FD4 800243D4 A4800028 */ sh $zero, 0x28($a0) +/* 024FD8 800243D8 A089002A */ sb $t1, 0x2a($a0) +/* 024FDC 800243DC A4800048 */ sh $zero, 0x48($a0) +/* 024FE0 800243E0 ACE00028 */ sw $zero, 0x28($a3) +.L800243E4_ovl0: +/* 024FE4 800243E4 8C630000 */ lw $v1, ($v1) +.L800243E8_ovl0: +/* 024FE8 800243E8 1460FFE0 */ bnez $v1, .L8002436C_ovl0 +/* 024FEC 800243EC 00000000 */ nop +/* 024FF0 800243F0 10000085 */ b .L80024608_ovl0 +/* 024FF4 800243F4 01001825 */ move $v1, $t0 +/* 024FF8 800243F8 240DF6A0 */ li $t5, -2400 +/* 024FFC 800243FC 10000082 */ b .L80024608_ovl0 +/* 025000 80024400 01001825 */ move $v1, $t0 +/* 025004 80024404 240DED40 */ li $t5, -4800 +.L80024408_ovl0: +/* 025008 80024408 1000007F */ b .L80024608_ovl0 +/* 02500C 8002440C 01001825 */ move $v1, $t0 +.L80024410_ovl0: +/* 025010 80024410 30C20007 */ andi $v0, $a2, 7 +/* 025014 80024414 3043FFFF */ andi $v1, $v0, 0xffff +/* 025018 80024418 2C610008 */ sltiu $at, $v1, 8 +/* 02501C 8002441C 3048FFFF */ andi $t0, $v0, 0xffff +/* 025020 80024420 10200018 */ beqz $at, .L80024484_ovl0 +/* 025024 80024424 8CE40028 */ lw $a0, 0x28($a3) +/* 025028 80024428 00037080 */ sll $t6, $v1, 2 +/* 02502C 8002442C 3C018004 */ lui $at, %hi(D_80041204) +/* 025030 80024430 002E0821 */ addu $at, $at, $t6 +/* 025034 80024434 8C2E1204 */ lw $t6, %lo(D_80041204)($at) +/* 025038 80024438 01C00008 */ jr $t6 +/* 02503C 8002443C 00000000 */ nop +/* 025040 80024440 10000010 */ b .L80024484_ovl0 +/* 025044 80024444 00004025 */ move $t0, $zero +/* 025048 80024448 0003C840 */ sll $t9, $v1, 1 +/* 02504C 8002444C 00F9C021 */ addu $t8, $a3, $t9 +/* 025050 80024450 1000000C */ b .L80024484_ovl0 +/* 025054 80024454 97080010 */ lhu $t0, 0x10($t8) +/* 025058 80024458 90A80000 */ lbu $t0, ($a1) +/* 02505C 8002445C 24A50001 */ addiu $a1, $a1, 1 +/* 025060 80024460 310F0080 */ andi $t7, $t0, 0x80 +/* 025064 80024464 11E00007 */ beqz $t7, .L80024484_ovl0 +/* 025068 80024468 01001825 */ move $v1, $t0 +/* 02506C 8002446C 90AE0000 */ lbu $t6, ($a1) +/* 025070 80024470 3079007F */ andi $t9, $v1, 0x7f +/* 025074 80024474 0019C200 */ sll $t8, $t9, 8 +/* 025078 80024478 01D84021 */ addu $t0, $t6, $t8 +/* 02507C 8002447C 3108FFFF */ andi $t0, $t0, 0xffff +/* 025080 80024480 24A50001 */ addiu $a1, $a1, 1 +.L80024484_ovl0: +/* 025084 80024484 15400008 */ bnez $t2, .L800244A8_ovl0 +/* 025088 80024488 01001825 */ move $v1, $t0 +/* 02508C 8002448C 1080005E */ beqz $a0, .L80024608_ovl0 +/* 025090 80024490 00000000 */ nop +/* 025094 80024494 A4800028 */ sh $zero, 0x28($a0) +/* 025098 80024498 A089002A */ sb $t1, 0x2a($a0) +/* 02509C 8002449C A4800048 */ sh $zero, 0x48($a0) +/* 0250A0 800244A0 10000059 */ b .L80024608_ovl0 +/* 0250A4 800244A4 ACE00028 */ sw $zero, 0x28($a3) +.L800244A8_ovl0: +/* 0250A8 800244A8 1080000F */ beqz $a0, .L800244E8_ovl0 +/* 0250AC 800244AC 000678C3 */ sra $t7, $a2, 3 +/* 0250B0 800244B0 000FC880 */ sll $t9, $t7, 2 +/* 0250B4 800244B4 032FC823 */ subu $t9, $t9, $t7 +/* 0250B8 800244B8 0019C8C0 */ sll $t9, $t9, 3 +/* 0250BC 800244BC 032FC821 */ addu $t9, $t9, $t7 +/* 0250C0 800244C0 0019C880 */ sll $t9, $t9, 2 +/* 0250C4 800244C4 272FFAEC */ addiu $t7, $t9, -0x514 +/* 0250C8 800244C8 01EDC821 */ addu $t9, $t7, $t5 +/* 0250CC 800244CC A4990030 */ sh $t9, 0x30($a0) +/* 0250D0 800244D0 8CE40028 */ lw $a0, 0x28($a3) +/* 0250D4 800244D4 00006825 */ move $t5, $zero +/* 0250D8 800244D8 848E002C */ lh $t6, 0x2c($a0) +/* 0250DC 800244DC 25D80001 */ addiu $t8, $t6, 1 +/* 0250E0 800244E0 1000003F */ b .L800245E0_ovl0 +/* 0250E4 800244E4 A498002E */ sh $t8, 0x2e($a0) +.L800244E8_ovl0: +/* 0250E8 800244E8 94E40024 */ lhu $a0, 0x24($a3) +/* 0250EC 800244EC A7AD0052 */ sh $t5, 0x52($sp) +/* 0250F0 800244F0 A7A80068 */ sh $t0, 0x68($sp) +/* 0250F4 800244F4 AFA70070 */ sw $a3, 0x70($sp) +/* 0250F8 800244F8 AFA60020 */ sw $a2, 0x20($sp) +/* 0250FC 800244FC AFA5006C */ sw $a1, 0x6c($sp) +/* 025100 80024500 0C008F8C */ jal func_80023E30 +/* 025104 80024504 AFA30018 */ sw $v1, 0x18($sp) +/* 025108 80024508 8FA70070 */ lw $a3, 0x70($sp) +/* 02510C 8002450C 8FA30018 */ lw $v1, 0x18($sp) +/* 025110 80024510 8FA5006C */ lw $a1, 0x6c($sp) +/* 025114 80024514 8FA60020 */ lw $a2, 0x20($sp) +/* 025118 80024518 97A80068 */ lhu $t0, 0x68($sp) +/* 02511C 8002451C 3C0C8009 */ lui $t4, %hi(D_800978E0) # $t4, 0x8009 +/* 025120 80024520 87AD0052 */ lh $t5, 0x52($sp) +/* 025124 80024524 258C78E0 */ addiu $t4, %lo(D_800978E0) # addiu $t4, $t4, 0x78e0 +/* 025128 80024528 24090002 */ li $t1, 2 +/* 02512C 8002452C 340BFFFF */ li $t3, 65535 +/* 025130 80024530 241F0001 */ li $ra, 1 +/* 025134 80024534 1040002A */ beqz $v0, .L800245E0_ovl0 +/* 025138 80024538 ACE20028 */ sw $v0, 0x28($a3) +/* 02513C 8002453C 000670C3 */ sra $t6, $a2, 3 +/* 025140 80024540 90EF001F */ lbu $t7, 0x1f($a3) +/* 025144 80024544 000EC080 */ sll $t8, $t6, 2 +/* 025148 80024548 030EC023 */ subu $t8, $t8, $t6 +/* 02514C 8002454C 0018C0C0 */ sll $t8, $t8, 3 +/* 025150 80024550 030EC021 */ addu $t8, $t8, $t6 +/* 025154 80024554 A04F002B */ sb $t7, 0x2b($v0) +/* 025158 80024558 8CEF0028 */ lw $t7, 0x28($a3) +/* 02515C 8002455C 0018C080 */ sll $t8, $t8, 2 +/* 025160 80024560 270EFAEC */ addiu $t6, $t8, -0x514 +/* 025164 80024564 01CDC021 */ addu $t8, $t6, $t5 +/* 025168 80024568 A5F80030 */ sh $t8, 0x30($t7) +/* 02516C 8002456C 90EE002E */ lbu $t6, 0x2e($a3) +/* 025170 80024570 90F90022 */ lbu $t9, 0x22($a3) +/* 025174 80024574 24010080 */ li $at, 128 +/* 025178 80024578 00006825 */ move $t5, $zero +/* 02517C 8002457C 032E0019 */ multu $t9, $t6 +/* 025180 80024580 8CF90028 */ lw $t9, 0x28($a3) +/* 025184 80024584 0000C012 */ mflo $t8 +/* 025188 80024588 001879C3 */ sra $t7, $t8, 7 +/* 02518C 8002458C A32F0038 */ sb $t7, 0x38($t9) +/* 025190 80024590 90E2002F */ lbu $v0, 0x2f($a3) +/* 025194 80024594 50410005 */ beql $v0, $at, .L800245AC_ovl0 +/* 025198 80024598 90F80023 */ lbu $t8, 0x23($a3) +/* 02519C 8002459C 8CEE0028 */ lw $t6, 0x28($a3) +/* 0251A0 800245A0 10000004 */ b .L800245B4_ovl0 +/* 0251A4 800245A4 A1C2003A */ sb $v0, 0x3a($t6) +/* 0251A8 800245A8 90F80023 */ lbu $t8, 0x23($a3) +.L800245AC_ovl0: +/* 0251AC 800245AC 8CEF0028 */ lw $t7, 0x28($a3) +/* 0251B0 800245B0 A1F8003A */ sb $t8, 0x3a($t7) +.L800245B4_ovl0: +/* 0251B4 800245B4 90E20030 */ lbu $v0, 0x30($a3) +/* 0251B8 800245B8 24010080 */ li $at, 128 +/* 0251BC 800245BC 50410006 */ beql $v0, $at, .L800245D8_ovl0 +/* 0251C0 800245C0 90F8002C */ lbu $t8, 0x2c($a3) +/* 0251C4 800245C4 8CEE0028 */ lw $t6, 0x28($a3) +/* 0251C8 800245C8 0002C840 */ sll $t9, $v0, 1 +/* 0251CC 800245CC 10000004 */ b .L800245E0_ovl0 +/* 0251D0 800245D0 A1D9003C */ sb $t9, 0x3c($t6) +/* 0251D4 800245D4 90F8002C */ lbu $t8, 0x2c($a3) +.L800245D8_ovl0: +/* 0251D8 800245D8 8CEF0028 */ lw $t7, 0x28($a3) +/* 0251DC 800245DC A1F8003C */ sb $t8, 0x3c($t7) +.L800245E0_ovl0: +/* 0251E0 800245E0 28610002 */ slti $at, $v1, 2 +/* 0251E4 800245E4 14200008 */ bnez $at, .L80024608_ovl0 +/* 0251E8 800245E8 00000000 */ nop +/* 0251EC 800245EC 90F90020 */ lbu $t9, 0x20($a3) +/* 0251F0 800245F0 13200005 */ beqz $t9, .L80024608_ovl0 +/* 0251F4 800245F4 00000000 */ nop +/* 0251F8 800245F8 2508FFFF */ addiu $t0, $t0, -1 +/* 0251FC 800245FC 3108FFFF */ andi $t0, $t0, 0xffff +/* 025200 80024600 01001825 */ move $v1, $t0 +/* 025204 80024604 A0FF0021 */ sb $ra, 0x21($a3) +.L80024608_ovl0: +/* 025208 80024608 5060FE3E */ beql $v1, $zero, .L80023F04_ovl0 +/* 02520C 8002460C 90A20000 */ lbu $v0, ($a1) +/* 025210 80024610 ACE50008 */ sw $a1, 8($a3) +/* 025214 80024614 A4E80010 */ sh $t0, 0x10($a3) +.L80024618_ovl0: +/* 025218 80024618 8FBF0014 */ lw $ra, 0x14($sp) +/* 02521C 8002461C 27BD0070 */ addiu $sp, $sp, 0x70 +/* 025220 80024620 03E00008 */ jr $ra +/* 025224 80024624 00000000 */ nop + +glabel func_80024628 +/* 025228 80024628 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02522C 8002462C AFBF0014 */ sw $ra, 0x14($sp) +/* 025230 80024630 0C00B590 */ jal osSetIntMask +/* 025234 80024634 24040001 */ li $a0, 1 +/* 025238 80024638 3C038009 */ lui $v1, %hi(D_8009791C) # $v1, 0x8009 +/* 02523C 8002463C 8C63791C */ lw $v1, %lo(D_8009791C)($v1) +/* 025240 80024640 00402025 */ move $a0, $v0 +/* 025244 80024644 24020002 */ li $v0, 2 +/* 025248 80024648 10600007 */ beqz $v1, .L80024668_ovl0 +/* 02524C 8002464C 00000000 */ nop +/* 025250 80024650 A4600028 */ sh $zero, 0x28($v1) +.L80024654_ovl0: +/* 025254 80024654 A062002A */ sb $v0, 0x2a($v1) +/* 025258 80024658 A4600048 */ sh $zero, 0x48($v1) +/* 02525C 8002465C 8C630000 */ lw $v1, ($v1) +/* 025260 80024660 5460FFFC */ bnezl $v1, .L80024654_ovl0 +/* 025264 80024664 A4600028 */ sh $zero, 0x28($v1) +.L80024668_ovl0: +/* 025268 80024668 0C00B590 */ jal osSetIntMask +/* 02526C 8002466C 00000000 */ nop +/* 025270 80024670 8FBF0014 */ lw $ra, 0x14($sp) +/* 025274 80024674 27BD0018 */ addiu $sp, $sp, 0x18 +/* 025278 80024678 03E00008 */ jr $ra +/* 02527C 8002467C 00000000 */ nop + +glabel func_80024680 +/* 025280 80024680 3C028004 */ lui $v0, %hi(D_8003FB24) # $v0, 0x8004 +/* 025284 80024684 2442FB24 */ addiu $v0, %lo(D_8003FB24) # addiu $v0, $v0, -0x4dc +/* 025288 80024688 8C4E0000 */ lw $t6, ($v0) +/* 02528C 8002468C 3C010026 */ lui $at, (0x00269EC3 >> 16) # lui $at, 0x26 +/* 025290 80024690 34219EC3 */ ori $at, (0x00269EC3 & 0xFFFF) # ori $at, $at, 0x9ec3 +/* 025294 80024694 000E7880 */ sll $t7, $t6, 2 +/* 025298 80024698 01EE7823 */ subu $t7, $t7, $t6 +/* 02529C 8002469C 000F7880 */ sll $t7, $t7, 2 +/* 0252A0 800246A0 01EE7821 */ addu $t7, $t7, $t6 +/* 0252A4 800246A4 000F7900 */ sll $t7, $t7, 4 +/* 0252A8 800246A8 01EE7821 */ addu $t7, $t7, $t6 +/* 0252AC 800246AC 000F7A00 */ sll $t7, $t7, 8 +/* 0252B0 800246B0 01EE7823 */ subu $t7, $t7, $t6 +/* 0252B4 800246B4 000F7880 */ sll $t7, $t7, 2 +/* 0252B8 800246B8 01EE7821 */ addu $t7, $t7, $t6 +/* 0252BC 800246BC 01E1C021 */ addu $t8, $t7, $at +/* 0252C0 800246C0 00184403 */ sra $t0, $t8, 0x10 +/* 0252C4 800246C4 3109FFFF */ andi $t1, $t0, 0xffff +/* 0252C8 800246C8 44892000 */ mtc1 $t1, $f4 +/* 0252CC 800246CC 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0252D0 800246D0 44814000 */ mtc1 $at, $f8 +/* 0252D4 800246D4 468021A0 */ cvt.s.w $f6, $f4 +/* 0252D8 800246D8 AC580000 */ sw $t8, ($v0) +/* 0252DC 800246DC 03E00008 */ jr $ra +/* 0252E0 800246E0 46083003 */ div.s $f0, $f6, $f8 + +glabel func_800246E4 +/* 0252E4 800246E4 3C028004 */ lui $v0, %hi(D_8003FB20) # $v0, 0x8004 +/* 0252E8 800246E8 2442FB20 */ addiu $v0, %lo(D_8003FB20) # addiu $v0, $v0, -0x4e0 +/* 0252EC 800246EC 8C4E0000 */ lw $t6, ($v0) +/* 0252F0 800246F0 3C010026 */ lui $at, (0x00269EC3 >> 16) # lui $at, 0x26 +/* 0252F4 800246F4 34219EC3 */ ori $at, (0x00269EC3 & 0xFFFF) # ori $at, $at, 0x9ec3 +/* 0252F8 800246F8 000E7880 */ sll $t7, $t6, 2 +/* 0252FC 800246FC 01EE7823 */ subu $t7, $t7, $t6 +/* 025300 80024700 000F7880 */ sll $t7, $t7, 2 +/* 025304 80024704 01EE7821 */ addu $t7, $t7, $t6 +/* 025308 80024708 000F7900 */ sll $t7, $t7, 4 +/* 02530C 8002470C 01EE7821 */ addu $t7, $t7, $t6 +/* 025310 80024710 000F7A00 */ sll $t7, $t7, 8 +/* 025314 80024714 01EE7823 */ subu $t7, $t7, $t6 +/* 025318 80024718 000F7880 */ sll $t7, $t7, 2 +/* 02531C 8002471C 01EE7821 */ addu $t7, $t7, $t6 +/* 025320 80024720 01E1C021 */ addu $t8, $t7, $at +/* 025324 80024724 00184403 */ sra $t0, $t8, 0x10 +/* 025328 80024728 3109FFFF */ andi $t1, $t0, 0xffff +/* 02532C 8002472C 44892000 */ mtc1 $t1, $f4 +/* 025330 80024730 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 025334 80024734 44814000 */ mtc1 $at, $f8 +/* 025338 80024738 468021A0 */ cvt.s.w $f6, $f4 +/* 02533C 8002473C AC580000 */ sw $t8, ($v0) +/* 025340 80024740 03E00008 */ jr $ra +/* 025344 80024744 46083003 */ div.s $f0, $f6, $f8 + +glabel func_80024748 +/* 025348 80024748 03E00008 */ jr $ra +/* 02534C 8002474C 00000000 */ nop + +glabel func_80024750 +/* 025350 80024750 27BDFF08 */ addiu $sp, $sp, -0xf8 +/* 025354 80024754 AFBF004C */ sw $ra, 0x4c($sp) +/* 025358 80024758 AFB40048 */ sw $s4, 0x48($sp) +/* 02535C 8002475C AFB30044 */ sw $s3, 0x44($sp) +/* 025360 80024760 AFB20040 */ sw $s2, 0x40($sp) +/* 025364 80024764 AFB1003C */ sw $s1, 0x3c($sp) +/* 025368 80024768 AFB00038 */ sw $s0, 0x38($sp) +/* 02536C 8002476C F7B60030 */ sdc1 $f22, 0x30($sp) +/* 025370 80024770 F7B40028 */ sdc1 $f20, 0x28($sp) +/* 025374 80024774 94820028 */ lhu $v0, 0x28($a0) +/* 025378 80024778 00809025 */ move $s2, $a0 +/* 02537C 8002477C 1040015D */ beqz $v0, .L80024CF4_ovl0 +/* 025380 80024780 244EFFFF */ addiu $t6, $v0, -1 +/* 025384 80024784 31CFFFFF */ andi $t7, $t6, 0xffff +/* 025388 80024788 15E0015A */ bnez $t7, .L80024CF4_ovl0 +/* 02538C 8002478C A48E0028 */ sh $t6, 0x28($a0) +/* 025390 80024790 3C013B80 */ li $at, 0x3B800000 # 0.003906 +/* 025394 80024794 3C148009 */ lui $s4, %hi(D_800978E0) # $s4, 0x8009 +/* 025398 80024798 4481A000 */ mtc1 $at, $f20 +/* 02539C 8002479C 4480B000 */ mtc1 $zero, $f22 +/* 0253A0 800247A0 8C910020 */ lw $s1, 0x20($a0) +/* 0253A4 800247A4 269478E0 */ addiu $s4, %lo(D_800978E0) # addiu $s4, $s4, 0x78e0 +/* 0253A8 800247A8 92230000 */ lbu $v1, ($s1) +.L800247AC_ovl0: +/* 0253AC 800247AC 26310001 */ addiu $s1, $s1, 1 +/* 0253B0 800247B0 3062000F */ andi $v0, $v1, 0xf +/* 0253B4 800247B4 3046FFFF */ andi $a2, $v0, 0xffff +/* 0253B8 800247B8 30D80008 */ andi $t8, $a2, 8 +/* 0253BC 800247BC 3053FFFF */ andi $s3, $v0, 0xffff +/* 0253C0 800247C0 1300000F */ beqz $t8, .L80024800_ovl0 +/* 0253C4 800247C4 00602825 */ move $a1, $v1 +/* 0253C8 800247C8 92240000 */ lbu $a0, ($s1) +/* 0253CC 800247CC 30D30007 */ andi $s3, $a2, 7 +/* 0253D0 800247D0 0013C9C0 */ sll $t9, $s3, 7 +/* 0253D4 800247D4 308A007F */ andi $t2, $a0, 0x7f +/* 0253D8 800247D8 032A9821 */ addu $s3, $t9, $t2 +/* 0253DC 800247DC 308B0080 */ andi $t3, $a0, 0x80 +/* 0253E0 800247E0 26310001 */ addiu $s1, $s1, 1 +/* 0253E4 800247E4 11600006 */ beqz $t3, .L80024800_ovl0 +/* 0253E8 800247E8 3273FFFF */ andi $s3, $s3, 0xffff +/* 0253EC 800247EC 922C0000 */ lbu $t4, ($s1) +/* 0253F0 800247F0 00136A00 */ sll $t5, $s3, 8 +/* 0253F4 800247F4 26310001 */ addiu $s1, $s1, 1 +/* 0253F8 800247F8 018D9821 */ addu $s3, $t4, $t5 +/* 0253FC 800247FC 3273FFFF */ andi $s3, $s3, 0xffff +.L80024800_ovl0: +/* 025400 80024800 30AE00F0 */ andi $t6, $a1, 0xf0 +/* 025404 80024804 2DC10091 */ sltiu $at, $t6, 0x91 +/* 025408 80024808 10200136 */ beqz $at, .L80024CE4_ovl0 +/* 02540C 8002480C 000E7080 */ sll $t6, $t6, 2 +/* 025410 80024810 3C018004 */ lui $at, %hi(D_80041224) +/* 025414 80024814 002E0821 */ addu $at, $at, $t6 +/* 025418 80024818 8C2E1224 */ lw $t6, %lo(D_80041224)($at) +/* 02541C 8002481C 01C00008 */ jr $t6 +/* 025420 80024820 00000000 */ nop +/* 025424 80024824 92240000 */ lbu $a0, ($s1) +/* 025428 80024828 26310001 */ addiu $s1, $s1, 1 +/* 02542C 8002482C 28810080 */ slti $at, $a0, 0x80 +/* 025430 80024830 10200003 */ beqz $at, .L80024840_ovl0 +/* 025434 80024834 00801025 */ move $v0, $a0 +/* 025438 80024838 1000012A */ b .L80024CE4_ovl0 +/* 02543C 8002483C A2440032 */ sb $a0, 0x32($s2) +.L80024840_ovl0: +/* 025440 80024840 924C0032 */ lbu $t4, 0x32($s2) +/* 025444 80024844 244BFF40 */ addiu $t3, $v0, -0xc0 +/* 025448 80024848 016C8021 */ addu $s0, $t3, $t4 +/* 02544C 8002484C 00108400 */ sll $s0, $s0, 0x10 +/* 025450 80024850 00108403 */ sra $s0, $s0, 0x10 +/* 025454 80024854 06030003 */ bgezl $s0, .L80024864_ovl0 +/* 025458 80024858 2A010080 */ slti $at, $s0, 0x80 +/* 02545C 8002485C 00008025 */ move $s0, $zero +/* 025460 80024860 2A010080 */ slti $at, $s0, 0x80 +.L80024864_ovl0: +/* 025464 80024864 14200002 */ bnez $at, .L80024870_ovl0 +/* 025468 80024868 00000000 */ nop +/* 02546C 8002486C 2410007F */ li $s0, 127 +.L80024870_ovl0: +/* 025470 80024870 1000011C */ b .L80024CE4_ovl0 +/* 025474 80024874 A2500032 */ sb $s0, 0x32($s2) +/* 025478 80024878 92240000 */ lbu $a0, ($s1) +/* 02547C 8002487C 26310001 */ addiu $s1, $s1, 1 +/* 025480 80024880 28810080 */ slti $at, $a0, 0x80 +/* 025484 80024884 10200003 */ beqz $at, .L80024894_ovl0 +/* 025488 80024888 00801025 */ move $v0, $a0 +/* 02548C 8002488C 10000115 */ b .L80024CE4_ovl0 +/* 025490 80024890 A2440034 */ sb $a0, 0x34($s2) +.L80024894_ovl0: +/* 025494 80024894 924A0034 */ lbu $t2, 0x34($s2) +/* 025498 80024898 2459FF40 */ addiu $t9, $v0, -0xc0 +/* 02549C 8002489C 032A8021 */ addu $s0, $t9, $t2 +/* 0254A0 800248A0 00108400 */ sll $s0, $s0, 0x10 +/* 0254A4 800248A4 00108403 */ sra $s0, $s0, 0x10 +/* 0254A8 800248A8 06030003 */ bgezl $s0, .L800248B8_ovl0 +/* 0254AC 800248AC 2A010080 */ slti $at, $s0, 0x80 +/* 0254B0 800248B0 00008025 */ move $s0, $zero +/* 0254B4 800248B4 2A010080 */ slti $at, $s0, 0x80 +.L800248B8_ovl0: +/* 0254B8 800248B8 14200002 */ bnez $at, .L800248C4_ovl0 +/* 0254BC 800248BC 00000000 */ nop +/* 0254C0 800248C0 2410007F */ li $s0, 127 +.L800248C4_ovl0: +/* 0254C4 800248C4 10000107 */ b .L80024CE4_ovl0 +/* 0254C8 800248C8 A2500034 */ sb $s0, 0x34($s2) +/* 0254CC 800248CC 92240000 */ lbu $a0, ($s1) +/* 0254D0 800248D0 922B0001 */ lbu $t3, 1($s1) +/* 0254D4 800248D4 26310002 */ addiu $s1, $s1, 2 +/* 0254D8 800248D8 00042200 */ sll $a0, $a0, 8 +/* 0254DC 800248DC 008B2025 */ or $a0, $a0, $t3 +/* 0254E0 800248E0 00041C00 */ sll $v1, $a0, 0x10 +/* 0254E4 800248E4 00031C03 */ sra $v1, $v1, 0x10 +/* 0254E8 800248E8 00048400 */ sll $s0, $a0, 0x10 +/* 0254EC 800248EC 286104B1 */ slti $at, $v1, 0x4b1 +/* 0254F0 800248F0 10200007 */ beqz $at, .L80024910_ovl0 +/* 0254F4 800248F4 00108403 */ sra $s0, $s0, 0x10 +/* 0254F8 800248F8 2861FB50 */ slti $at, $v1, -0x4b0 +/* 0254FC 800248FC 10200002 */ beqz $at, .L80024908_ovl0 +/* 025500 80024900 00000000 */ nop +/* 025504 80024904 2410FB50 */ li $s0, -1200 +.L80024908_ovl0: +/* 025508 80024908 100000F6 */ b .L80024CE4_ovl0 +/* 02550C 8002490C A650002C */ sh $s0, 0x2c($s2) +.L80024910_ovl0: +/* 025510 80024910 864C002C */ lh $t4, 0x2c($s2) +/* 025514 80024914 2470F6A0 */ addiu $s0, $v1, -0x960 +/* 025518 80024918 00108400 */ sll $s0, $s0, 0x10 +/* 02551C 8002491C 00108403 */ sra $s0, $s0, 0x10 +/* 025520 80024920 020C8021 */ addu $s0, $s0, $t4 +/* 025524 80024924 00108400 */ sll $s0, $s0, 0x10 +/* 025528 80024928 00108403 */ sra $s0, $s0, 0x10 +/* 02552C 8002492C 2A01FB50 */ slti $at, $s0, -0x4b0 +/* 025530 80024930 50200003 */ beql $at, $zero, .L80024940_ovl0 +/* 025534 80024934 2A0104B1 */ slti $at, $s0, 0x4b1 +/* 025538 80024938 2410FB50 */ li $s0, -1200 +/* 02553C 8002493C 2A0104B1 */ slti $at, $s0, 0x4b1 +.L80024940_ovl0: +/* 025540 80024940 14200002 */ bnez $at, .L8002494C_ovl0 +/* 025544 80024944 00000000 */ nop +/* 025548 80024948 241004B0 */ li $s0, 1200 +.L8002494C_ovl0: +/* 02554C 8002494C 100000E5 */ b .L80024CE4_ovl0 +/* 025550 80024950 A650002C */ sh $s0, 0x2c($s2) +/* 025554 80024954 92240000 */ lbu $a0, ($s1) +/* 025558 80024958 26310001 */ addiu $s1, $s1, 1 +/* 02555C 8002495C 28810080 */ slti $at, $a0, 0x80 +/* 025560 80024960 10200003 */ beqz $at, .L80024970_ovl0 +/* 025564 80024964 00801025 */ move $v0, $a0 +/* 025568 80024968 100000DE */ b .L80024CE4_ovl0 +/* 02556C 8002496C A2440036 */ sb $a0, 0x36($s2) +.L80024970_ovl0: +/* 025570 80024970 924A0036 */ lbu $t2, 0x36($s2) +/* 025574 80024974 2459FF40 */ addiu $t9, $v0, -0xc0 +/* 025578 80024978 032A8021 */ addu $s0, $t9, $t2 +/* 02557C 8002497C 00108400 */ sll $s0, $s0, 0x10 +/* 025580 80024980 00108403 */ sra $s0, $s0, 0x10 +/* 025584 80024984 06030003 */ bgezl $s0, .L80024994_ovl0 +/* 025588 80024988 2A010080 */ slti $at, $s0, 0x80 +/* 02558C 8002498C 00008025 */ move $s0, $zero +/* 025590 80024990 2A010080 */ slti $at, $s0, 0x80 +.L80024994_ovl0: +/* 025594 80024994 14200002 */ bnez $at, .L800249A0_ovl0 +/* 025598 80024998 00000000 */ nop +/* 02559C 8002499C 2410007F */ li $s0, 127 +.L800249A0_ovl0: +/* 0255A0 800249A0 100000D0 */ b .L80024CE4_ovl0 +/* 0255A4 800249A4 A2500036 */ sb $s0, 0x36($s2) +/* 0255A8 800249A8 92240001 */ lbu $a0, 1($s1) +/* 0255AC 800249AC 92260000 */ lbu $a2, ($s1) +/* 0255B0 800249B0 26310002 */ addiu $s1, $s1, 2 +/* 0255B4 800249B4 308B0080 */ andi $t3, $a0, 0x80 +/* 0255B8 800249B8 9683002C */ lhu $v1, 0x2c($s4) +/* 0255BC 800249BC 11600008 */ beqz $t3, .L800249E0_ovl0 +/* 0255C0 800249C0 00801025 */ move $v0, $a0 +/* 0255C4 800249C4 922C0000 */ lbu $t4, ($s1) +/* 0255C8 800249C8 304D007F */ andi $t5, $v0, 0x7f +/* 0255CC 800249CC 000D7200 */ sll $t6, $t5, 8 +/* 0255D0 800249D0 018E2021 */ addu $a0, $t4, $t6 +/* 0255D4 800249D4 3084FFFF */ andi $a0, $a0, 0xffff +/* 0255D8 800249D8 00801025 */ move $v0, $a0 +/* 0255DC 800249DC 26310001 */ addiu $s1, $s1, 1 +.L800249E0_ovl0: +/* 0255E0 800249E0 0043082A */ slt $at, $v0, $v1 +/* 0255E4 800249E4 102000BF */ beqz $at, .L80024CE4_ovl0 +/* 0255E8 800249E8 00002825 */ move $a1, $zero +/* 0255EC 800249EC 8E8F0024 */ lw $t7, 0x24($s4) +/* 0255F0 800249F0 0004C100 */ sll $t8, $a0, 4 +/* 0255F4 800249F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0255F8 800249F8 01F81021 */ addu $v0, $t7, $t8 +/* 0255FC 800249FC 90590003 */ lbu $t9, 3($v0) +/* 025600 80024A00 90470000 */ lbu $a3, ($v0) +/* 025604 80024A04 90480001 */ lbu $t0, 1($v0) +/* 025608 80024A08 44992000 */ mtc1 $t9, $f4 +/* 02560C 80024A0C 90490002 */ lbu $t1, 2($v0) +/* 025610 80024A10 07210004 */ bgez $t9, .L80024A24_ovl0 +/* 025614 80024A14 468021A0 */ cvt.s.w $f6, $f4 +/* 025618 80024A18 44814000 */ mtc1 $at, $f8 +/* 02561C 80024A1C 00000000 */ nop +/* 025620 80024A20 46083180 */ add.s $f6, $f6, $f8 +.L80024A24_ovl0: +/* 025624 80024A24 E7A6009C */ swc1 $f6, 0x9c($sp) +/* 025628 80024A28 C4400004 */ lwc1 $f0, 4($v0) +/* 02562C 80024A2C C4420008 */ lwc1 $f2, 8($v0) +/* 025630 80024A30 C44C000C */ lwc1 $f12, 0xc($v0) +/* 025634 80024A34 8E430044 */ lw $v1, 0x44($s2) +.L80024A38_ovl0: +/* 025638 80024A38 5460000D */ bnezl $v1, .L80024A70_ovl0 +/* 02563C 80024A3C 90640004 */ lbu $a0, 4($v1) +/* 025640 80024A40 8E900030 */ lw $s0, 0x30($s4) +/* 025644 80024A44 12000022 */ beqz $s0, .L80024AD0_ovl0 +/* 025648 80024A48 00000000 */ nop +/* 02564C 80024A4C 8E0A0000 */ lw $t2, ($s0) +/* 025650 80024A50 AE8A0030 */ sw $t2, 0x30($s4) +/* 025654 80024A54 10A00003 */ beqz $a1, .L80024A64_ovl0 +/* 025658 80024A58 AE000000 */ sw $zero, ($s0) +/* 02565C 80024A5C 1000001C */ b .L80024AD0_ovl0 +/* 025660 80024A60 ACB00000 */ sw $s0, ($a1) +.L80024A64_ovl0: +/* 025664 80024A64 1000001A */ b .L80024AD0_ovl0 +/* 025668 80024A68 AE500044 */ sw $s0, 0x44($s2) +/* 02566C 80024A6C 90640004 */ lbu $a0, 4($v1) +.L80024A70_ovl0: +/* 025670 80024A70 00C01025 */ move $v0, $a2 +/* 025674 80024A74 14860003 */ bne $a0, $a2, .L80024A84_ovl0 +/* 025678 80024A78 0044082A */ slt $at, $v0, $a0 +/* 02567C 80024A7C 10000014 */ b .L80024AD0_ovl0 +/* 025680 80024A80 00608025 */ move $s0, $v1 +.L80024A84_ovl0: +/* 025684 80024A84 50200010 */ beql $at, $zero, .L80024AC8_ovl0 +/* 025688 80024A88 00602825 */ move $a1, $v1 +/* 02568C 80024A8C 8E900030 */ lw $s0, 0x30($s4) +/* 025690 80024A90 1200000F */ beqz $s0, .L80024AD0_ovl0 +/* 025694 80024A94 00000000 */ nop +/* 025698 80024A98 8E0B0000 */ lw $t3, ($s0) +/* 02569C 80024A9C 10A00005 */ beqz $a1, .L80024AB4_ovl0 +/* 0256A0 80024AA0 AE8B0030 */ sw $t3, 0x30($s4) +/* 0256A4 80024AA4 8CAD0000 */ lw $t5, ($a1) +/* 0256A8 80024AA8 AE0D0000 */ sw $t5, ($s0) +/* 0256AC 80024AAC 10000008 */ b .L80024AD0_ovl0 +/* 0256B0 80024AB0 ACB00000 */ sw $s0, ($a1) +.L80024AB4_ovl0: +/* 0256B4 80024AB4 8E4C0044 */ lw $t4, 0x44($s2) +/* 0256B8 80024AB8 AE0C0000 */ sw $t4, ($s0) +/* 0256BC 80024ABC 10000004 */ b .L80024AD0_ovl0 +/* 0256C0 80024AC0 AE500044 */ sw $s0, 0x44($s2) +/* 0256C4 80024AC4 00602825 */ move $a1, $v1 +.L80024AC8_ovl0: +/* 0256C8 80024AC8 1000FFDB */ b .L80024A38_ovl0 +/* 0256CC 80024ACC 8C630000 */ lw $v1, ($v1) +.L80024AD0_ovl0: +/* 0256D0 80024AD0 12000084 */ beqz $s0, .L80024CE4_ovl0 +/* 0256D4 80024AD4 C7AA009C */ lwc1 $f10, 0x9c($sp) +/* 0256D8 80024AD8 460A0482 */ mul.s $f18, $f0, $f10 +/* 0256DC 80024ADC 24010004 */ li $at, 4 +/* 0256E0 80024AE0 A2060004 */ sb $a2, 4($s0) +/* 0256E4 80024AE4 A2070005 */ sb $a3, 5($s0) +/* 0256E8 80024AE8 A2080006 */ sb $t0, 6($s0) +/* 0256EC 80024AEC A2090007 */ sb $t1, 7($s0) +/* 0256F0 80024AF0 E6000008 */ swc1 $f0, 8($s0) +/* 0256F4 80024AF4 46149102 */ mul.s $f4, $f18, $f20 +/* 0256F8 80024AF8 E602000C */ swc1 $f2, 0xc($s0) +/* 0256FC 80024AFC E60C0010 */ swc1 $f12, 0x10($s0) +/* 025700 80024B00 10E10008 */ beq $a3, $at, .L80024B24_ovl0 +/* 025704 80024B04 E6040014 */ swc1 $f4, 0x14($s0) +/* 025708 80024B08 24010005 */ li $at, 5 +/* 02570C 80024B0C 10E10016 */ beq $a3, $at, .L80024B68_ovl0 +/* 025710 80024B10 24010008 */ li $at, 8 +/* 025714 80024B14 10E10028 */ beq $a3, $at, .L80024BB8_ovl0 +/* 025718 80024B18 00000000 */ nop +/* 02571C 80024B1C 10000071 */ b .L80024CE4_ovl0 +/* 025720 80024B20 00000000 */ nop +.L80024B24_ovl0: +/* 025724 80024B24 0C0091B9 */ jal func_800246E4 +/* 025728 80024B28 00000000 */ nop +/* 02572C 80024B2C C608000C */ lwc1 $f8, 0xc($s0) +/* 025730 80024B30 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 025734 80024B34 46080182 */ mul.s $f6, $f0, $f8 +/* 025738 80024B38 460A3480 */ add.s $f18, $f6, $f10 +/* 02573C 80024B3C 0C0091B9 */ jal func_800246E4 +/* 025740 80024B40 E6120020 */ swc1 $f18, 0x20($s0) +/* 025744 80024B44 C6040008 */ lwc1 $f4, 8($s0) +/* 025748 80024B48 46040082 */ mul.s $f2, $f0, $f4 +/* 02574C 80024B4C E6020018 */ swc1 $f2, 0x18($s0) +/* 025750 80024B50 C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 025754 80024B54 46081182 */ mul.s $f6, $f2, $f8 +/* 025758 80024B58 00000000 */ nop +/* 02575C 80024B5C 46143282 */ mul.s $f10, $f6, $f20 +/* 025760 80024B60 10000060 */ b .L80024CE4_ovl0 +/* 025764 80024B64 E60A0014 */ swc1 $f10, 0x14($s0) +.L80024B68_ovl0: +/* 025768 80024B68 0C0091B9 */ jal func_800246E4 +/* 02576C 80024B6C E616001C */ swc1 $f22, 0x1c($s0) +/* 025770 80024B70 C612000C */ lwc1 $f18, 0xc($s0) +/* 025774 80024B74 C6080010 */ lwc1 $f8, 0x10($s0) +/* 025778 80024B78 46120102 */ mul.s $f4, $f0, $f18 +/* 02577C 80024B7C 46082180 */ add.s $f6, $f4, $f8 +/* 025780 80024B80 0C0091B9 */ jal func_800246E4 +/* 025784 80024B84 E6060020 */ swc1 $f6, 0x20($s0) +/* 025788 80024B88 C60A0008 */ lwc1 $f10, 8($s0) +/* 02578C 80024B8C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 025790 80024B90 44812000 */ mtc1 $at, $f4 +/* 025794 80024B94 460A0482 */ mul.s $f18, $f0, $f10 +/* 025798 80024B98 46049080 */ add.s $f2, $f18, $f4 +/* 02579C 80024B9C E6020018 */ swc1 $f2, 0x18($s0) +/* 0257A0 80024BA0 C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 0257A4 80024BA4 46081182 */ mul.s $f6, $f2, $f8 +/* 0257A8 80024BA8 00000000 */ nop +/* 0257AC 80024BAC 46143282 */ mul.s $f10, $f6, $f20 +/* 0257B0 80024BB0 1000004C */ b .L80024CE4_ovl0 +/* 0257B4 80024BB4 E60A0014 */ swc1 $f10, 0x14($s0) +.L80024BB8_ovl0: +/* 0257B8 80024BB8 0C0091A0 */ jal func_80024680 +/* 0257BC 80024BBC 00000000 */ nop +/* 0257C0 80024BC0 C612000C */ lwc1 $f18, 0xc($s0) +/* 0257C4 80024BC4 C6080010 */ lwc1 $f8, 0x10($s0) +/* 0257C8 80024BC8 46120102 */ mul.s $f4, $f0, $f18 +/* 0257CC 80024BCC 46082180 */ add.s $f6, $f4, $f8 +/* 0257D0 80024BD0 0C0091A0 */ jal func_80024680 +/* 0257D4 80024BD4 E6060020 */ swc1 $f6, 0x20($s0) +/* 0257D8 80024BD8 C60A0008 */ lwc1 $f10, 8($s0) +/* 0257DC 80024BDC 460A0082 */ mul.s $f2, $f0, $f10 +/* 0257E0 80024BE0 E6020018 */ swc1 $f2, 0x18($s0) +/* 0257E4 80024BE4 C7B2009C */ lwc1 $f18, 0x9c($sp) +/* 0257E8 80024BE8 46121102 */ mul.s $f4, $f2, $f18 +/* 0257EC 80024BEC 00000000 */ nop +/* 0257F0 80024BF0 46142202 */ mul.s $f8, $f4, $f20 +/* 0257F4 80024BF4 1000003B */ b .L80024CE4_ovl0 +/* 0257F8 80024BF8 E6080014 */ swc1 $f8, 0x14($s0) +/* 0257FC 80024BFC 8E430044 */ lw $v1, 0x44($s2) +/* 025800 80024C00 92260000 */ lbu $a2, ($s1) +/* 025804 80024C04 26310001 */ addiu $s1, $s1, 1 +/* 025808 80024C08 10600036 */ beqz $v1, .L80024CE4_ovl0 +/* 02580C 80024C0C 00002825 */ move $a1, $zero +/* 025810 80024C10 00C01025 */ move $v0, $a2 +/* 025814 80024C14 906E0004 */ lbu $t6, 4($v1) +.L80024C18_ovl0: +/* 025818 80024C18 55C2000D */ bnel $t6, $v0, .L80024C50_ovl0 +/* 02581C 80024C1C 00602825 */ move $a1, $v1 +/* 025820 80024C20 54A00005 */ bnezl $a1, .L80024C38_ovl0 +/* 025824 80024C24 8C780000 */ lw $t8, ($v1) +/* 025828 80024C28 8C6F0000 */ lw $t7, ($v1) +/* 02582C 80024C2C 10000003 */ b .L80024C3C_ovl0 +/* 025830 80024C30 AE4F0044 */ sw $t7, 0x44($s2) +/* 025834 80024C34 8C780000 */ lw $t8, ($v1) +.L80024C38_ovl0: +/* 025838 80024C38 ACB80000 */ sw $t8, ($a1) +.L80024C3C_ovl0: +/* 02583C 80024C3C 8E990030 */ lw $t9, 0x30($s4) +/* 025840 80024C40 AC790000 */ sw $t9, ($v1) +/* 025844 80024C44 10000027 */ b .L80024CE4_ovl0 +/* 025848 80024C48 AE830030 */ sw $v1, 0x30($s4) +/* 02584C 80024C4C 00602825 */ move $a1, $v1 +.L80024C50_ovl0: +/* 025850 80024C50 8C630000 */ lw $v1, ($v1) +/* 025854 80024C54 5460FFF0 */ bnezl $v1, .L80024C18_ovl0 +/* 025858 80024C58 906E0004 */ lbu $t6, 4($v1) +/* 02585C 80024C5C 10000021 */ b .L80024CE4_ovl0 +/* 025860 80024C60 00000000 */ nop +/* 025864 80024C64 92240000 */ lbu $a0, ($s1) +/* 025868 80024C68 26310001 */ addiu $s1, $s1, 1 +/* 02586C 80024C6C 96830014 */ lhu $v1, 0x14($s4) +/* 025870 80024C70 308A0080 */ andi $t2, $a0, 0x80 +/* 025874 80024C74 11400008 */ beqz $t2, .L80024C98_ovl0 +/* 025878 80024C78 00801025 */ move $v0, $a0 +/* 02587C 80024C7C 922B0000 */ lbu $t3, ($s1) +/* 025880 80024C80 304D007F */ andi $t5, $v0, 0x7f +/* 025884 80024C84 000D6200 */ sll $t4, $t5, 8 +/* 025888 80024C88 016C2021 */ addu $a0, $t3, $t4 +/* 02588C 80024C8C 3084FFFF */ andi $a0, $a0, 0xffff +/* 025890 80024C90 00801025 */ move $v0, $a0 +/* 025894 80024C94 26310001 */ addiu $s1, $s1, 1 +.L80024C98_ovl0: +/* 025898 80024C98 0043082A */ slt $at, $v0, $v1 +/* 02589C 80024C9C 10200011 */ beqz $at, .L80024CE4_ovl0 +/* 0258A0 80024CA0 00000000 */ nop +/* 0258A4 80024CA4 8E8E0018 */ lw $t6, 0x18($s4) +/* 0258A8 80024CA8 00047880 */ sll $t7, $a0, 2 +/* 0258AC 80024CAC 240D0003 */ li $t5, 3 +/* 0258B0 80024CB0 01CFC021 */ addu $t8, $t6, $t7 +/* 0258B4 80024CB4 8F190000 */ lw $t9, ($t8) +/* 0258B8 80024CB8 8F2A0008 */ lw $t2, 8($t9) +/* 0258BC 80024CBC A24D002A */ sb $t5, 0x2a($s2) +/* 0258C0 80024CC0 10000008 */ b .L80024CE4_ovl0 +/* 0258C4 80024CC4 AE4A0040 */ sw $t2, 0x40($s2) +/* 0258C8 80024CC8 240B0002 */ li $t3, 2 +/* 0258CC 80024CCC A24B002A */ sb $t3, 0x2a($s2) +/* 0258D0 80024CD0 10000004 */ b .L80024CE4_ovl0 +/* 0258D4 80024CD4 24132710 */ li $s3, 10000 +/* 0258D8 80024CD8 10000002 */ b .L80024CE4_ovl0 +/* 0258DC 80024CDC AE510024 */ sw $s1, 0x24($s2) +/* 0258E0 80024CE0 8E510024 */ lw $s1, 0x24($s2) +.L80024CE4_ovl0: +/* 0258E4 80024CE4 5260FEB1 */ beql $s3, $zero, .L800247AC_ovl0 +/* 0258E8 80024CE8 92230000 */ lbu $v1, ($s1) +/* 0258EC 80024CEC AE510020 */ sw $s1, 0x20($s2) +/* 0258F0 80024CF0 A6530028 */ sh $s3, 0x28($s2) +.L80024CF4_ovl0: +/* 0258F4 80024CF4 8E500044 */ lw $s0, 0x44($s2) +/* 0258F8 80024CF8 3C148009 */ lui $s4, %hi(D_800978E0) # $s4, 0x8009 +/* 0258FC 80024CFC 269478E0 */ addiu $s4, %lo(D_800978E0) # addiu $s4, $s4, 0x78e0 +/* 025900 80024D00 120001BA */ beqz $s0, .L800253EC_ovl0 +/* 025904 80024D04 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 025908 80024D08 4481B000 */ mtc1 $at, $f22 +/* 02590C 80024D0C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 025910 80024D10 3C138004 */ lui $s3, %hi(D_8003E330) # $s3, 0x8004 +/* 025914 80024D14 44818000 */ mtc1 $at, $f16 +/* 025918 80024D18 4480A000 */ mtc1 $zero, $f20 +/* 02591C 80024D1C 2673E330 */ addiu $s3, %lo(D_8003E330) # addiu $s3, $s3, -0x1cd0 +/* 025920 80024D20 27B100C0 */ addiu $s1, $sp, 0xc0 +/* 025924 80024D24 920C0005 */ lbu $t4, 5($s0) +.L80024D28_ovl0: +/* 025928 80024D28 29810004 */ slti $at, $t4, 4 +/* 02592C 80024D2C 5020000D */ beql $at, $zero, .L80024D64_ovl0 +/* 025930 80024D30 920E0005 */ lbu $t6, 5($s0) +/* 025934 80024D34 C6060014 */ lwc1 $f6, 0x14($s0) +/* 025938 80024D38 C6000008 */ lwc1 $f0, 8($s0) +/* 02593C 80024D3C 46163280 */ add.s $f10, $f6, $f22 +/* 025940 80024D40 E60A0014 */ swc1 $f10, 0x14($s0) +/* 025944 80024D44 C6020014 */ lwc1 $f2, 0x14($s0) +/* 025948 80024D48 4602003C */ c.lt.s $f0, $f2 +/* 02594C 80024D4C 00000000 */ nop +/* 025950 80024D50 45020004 */ bc1fl .L80024D64_ovl0 +/* 025954 80024D54 920E0005 */ lbu $t6, 5($s0) +/* 025958 80024D58 46001481 */ sub.s $f18, $f2, $f0 +/* 02595C 80024D5C E6120014 */ swc1 $f18, 0x14($s0) +/* 025960 80024D60 920E0005 */ lbu $t6, 5($s0) +.L80024D64_ovl0: +/* 025964 80024D64 2DC10009 */ sltiu $at, $t6, 9 +/* 025968 80024D68 102000C2 */ beqz $at, .L80025074_ovl0 +/* 02596C 80024D6C 000E7080 */ sll $t6, $t6, 2 +/* 025970 80024D70 3C018004 */ lui $at, %hi(D_80041468) +/* 025974 80024D74 002E0821 */ addu $at, $at, $t6 +/* 025978 80024D78 8C2E1468 */ lw $t6, %lo(D_80041468)($at) +/* 02597C 80024D7C 01C00008 */ jr $t6 +/* 025980 80024D80 00000000 */ nop +/* 025984 80024D84 C6040014 */ lwc1 $f4, 0x14($s0) +/* 025988 80024D88 C6080008 */ lwc1 $f8, 8($s0) +/* 02598C 80024D8C 3C014580 */ li $at, 0x45800000 # 4096.000000 +/* 025990 80024D90 44813000 */ mtc1 $at, $f6 +/* 025994 80024D94 46082003 */ div.s $f0, $f4, $f8 +/* 025998 80024D98 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 02599C 80024D9C 46060282 */ mul.s $f10, $f0, $f6 +/* 0259A0 80024DA0 4600548D */ trunc.w.s $f18, $f10 +/* 0259A4 80024DA4 44029000 */ mfc1 $v0, $f18 +/* 0259A8 80024DA8 00000000 */ nop +/* 0259AC 80024DAC 30420FFF */ andi $v0, $v0, 0xfff +/* 0259B0 80024DB0 3042FFFF */ andi $v0, $v0, 0xffff +/* 0259B4 80024DB4 305807FF */ andi $t8, $v0, 0x7ff +/* 0259B8 80024DB8 0018C840 */ sll $t9, $t8, 1 +/* 0259BC 80024DBC 02795021 */ addu $t2, $s3, $t9 +/* 0259C0 80024DC0 954D0000 */ lhu $t5, ($t2) +/* 0259C4 80024DC4 448D2000 */ mtc1 $t5, $f4 +/* 0259C8 80024DC8 05A10004 */ bgez $t5, .L80024DDC_ovl0 +/* 0259CC 80024DCC 46802220 */ cvt.s.w $f8, $f4 +/* 0259D0 80024DD0 44813000 */ mtc1 $at, $f6 +/* 0259D4 80024DD4 00000000 */ nop +/* 0259D8 80024DD8 46064200 */ add.s $f8, $f8, $f6 +.L80024DDC_ovl0: +/* 0259DC 80024DDC 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0259E0 80024DE0 44815000 */ mtc1 $at, $f10 +/* 0259E4 80024DE4 304B0800 */ andi $t3, $v0, 0x800 +/* 0259E8 80024DE8 11600003 */ beqz $t3, .L80024DF8_ovl0 +/* 0259EC 80024DEC 460A4083 */ div.s $f2, $f8, $f10 +/* 0259F0 80024DF0 10000002 */ b .L80024DFC_ovl0 +/* 0259F4 80024DF4 46001007 */ neg.s $f0, $f2 +.L80024DF8_ovl0: +/* 0259F8 80024DF8 46001006 */ mov.s $f0, $f2 +.L80024DFC_ovl0: +/* 0259FC 80024DFC C612000C */ lwc1 $f18, 0xc($s0) +/* 025A00 80024E00 C6060010 */ lwc1 $f6, 0x10($s0) +/* 025A04 80024E04 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 025A08 80024E08 46120102 */ mul.s $f4, $f0, $f18 +/* 025A0C 80024E0C 44818000 */ mtc1 $at, $f16 +/* 025A10 80024E10 10000099 */ b .L80025078_ovl0 +/* 025A14 80024E14 46062300 */ add.s $f12, $f4, $f6 +/* 025A18 80024E18 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 025A1C 80024E1C 44815000 */ mtc1 $at, $f10 +/* 025A20 80024E20 C6080008 */ lwc1 $f8, 8($s0) +/* 025A24 80024E24 C6040014 */ lwc1 $f4, 0x14($s0) +/* 025A28 80024E28 460A4483 */ div.s $f18, $f8, $f10 +/* 025A2C 80024E2C 4604903C */ c.lt.s $f18, $f4 +/* 025A30 80024E30 00000000 */ nop +/* 025A34 80024E34 45000003 */ bc1f .L80024E44_ovl0 +/* 025A38 80024E38 00000000 */ nop +/* 025A3C 80024E3C 1000008E */ b .L80025078_ovl0 +/* 025A40 80024E40 C60C000C */ lwc1 $f12, 0xc($s0) +.L80024E44_ovl0: +/* 025A44 80024E44 1000008C */ b .L80025078_ovl0 +/* 025A48 80024E48 C60C0010 */ lwc1 $f12, 0x10($s0) +/* 025A4C 80024E4C C606000C */ lwc1 $f6, 0xc($s0) +/* 025A50 80024E50 C6080014 */ lwc1 $f8, 0x14($s0) +/* 025A54 80024E54 C6120008 */ lwc1 $f18, 8($s0) +/* 025A58 80024E58 46083282 */ mul.s $f10, $f6, $f8 +/* 025A5C 80024E5C C6060010 */ lwc1 $f6, 0x10($s0) +/* 025A60 80024E60 46125103 */ div.s $f4, $f10, $f18 +/* 025A64 80024E64 10000084 */ b .L80025078_ovl0 +/* 025A68 80024E68 46062300 */ add.s $f12, $f4, $f6 +/* 025A6C 80024E6C C6000008 */ lwc1 $f0, 8($s0) +/* 025A70 80024E70 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 025A74 80024E74 C608000C */ lwc1 $f8, 0xc($s0) +/* 025A78 80024E78 460A0481 */ sub.s $f18, $f0, $f10 +/* 025A7C 80024E7C C60A0010 */ lwc1 $f10, 0x10($s0) +/* 025A80 80024E80 46124102 */ mul.s $f4, $f8, $f18 +/* 025A84 80024E84 46002183 */ div.s $f6, $f4, $f0 +/* 025A88 80024E88 1000007B */ b .L80025078_ovl0 +/* 025A8C 80024E8C 460A3300 */ add.s $f12, $f6, $f10 +/* 025A90 80024E90 C6080014 */ lwc1 $f8, 0x14($s0) +/* 025A94 80024E94 C6040018 */ lwc1 $f4, 0x18($s0) +/* 025A98 80024E98 46164480 */ add.s $f18, $f8, $f22 +/* 025A9C 80024E9C E6120014 */ swc1 $f18, 0x14($s0) +/* 025AA0 80024EA0 C6060014 */ lwc1 $f6, 0x14($s0) +/* 025AA4 80024EA4 4606203C */ c.lt.s $f4, $f6 +/* 025AA8 80024EA8 00000000 */ nop +/* 025AAC 80024EAC 4500000F */ bc1f .L80024EEC_ovl0 +/* 025AB0 80024EB0 00000000 */ nop +/* 025AB4 80024EB4 0C0091B9 */ jal func_800246E4 +/* 025AB8 80024EB8 00000000 */ nop +/* 025ABC 80024EBC C60A000C */ lwc1 $f10, 0xc($s0) +/* 025AC0 80024EC0 C6120010 */ lwc1 $f18, 0x10($s0) +/* 025AC4 80024EC4 460A0202 */ mul.s $f8, $f0, $f10 +/* 025AC8 80024EC8 46124100 */ add.s $f4, $f8, $f18 +/* 025ACC 80024ECC 0C0091B9 */ jal func_800246E4 +/* 025AD0 80024ED0 E6040020 */ swc1 $f4, 0x20($s0) +/* 025AD4 80024ED4 C6060008 */ lwc1 $f6, 8($s0) +/* 025AD8 80024ED8 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 025ADC 80024EDC 44818000 */ mtc1 $at, $f16 +/* 025AE0 80024EE0 46060282 */ mul.s $f10, $f0, $f6 +/* 025AE4 80024EE4 E6140014 */ swc1 $f20, 0x14($s0) +/* 025AE8 80024EE8 E60A0018 */ swc1 $f10, 0x18($s0) +.L80024EEC_ovl0: +/* 025AEC 80024EEC 10000062 */ b .L80025078_ovl0 +/* 025AF0 80024EF0 C60C0020 */ lwc1 $f12, 0x20($s0) +/* 025AF4 80024EF4 C6080014 */ lwc1 $f8, 0x14($s0) +/* 025AF8 80024EF8 C60E0018 */ lwc1 $f14, 0x18($s0) +/* 025AFC 80024EFC 46164480 */ add.s $f18, $f8, $f22 +/* 025B00 80024F00 E6120014 */ swc1 $f18, 0x14($s0) +/* 025B04 80024F04 C6020014 */ lwc1 $f2, 0x14($s0) +/* 025B08 80024F08 4602703C */ c.lt.s $f14, $f2 +/* 025B0C 80024F0C 00000000 */ nop +/* 025B10 80024F10 45020014 */ bc1fl .L80024F64_ovl0 +/* 025B14 80024F14 C600001C */ lwc1 $f0, 0x1c($s0) +/* 025B18 80024F18 C6040020 */ lwc1 $f4, 0x20($s0) +/* 025B1C 80024F1C 0C0091B9 */ jal func_800246E4 +/* 025B20 80024F20 E604001C */ swc1 $f4, 0x1c($s0) +/* 025B24 80024F24 C606000C */ lwc1 $f6, 0xc($s0) +/* 025B28 80024F28 C6080010 */ lwc1 $f8, 0x10($s0) +/* 025B2C 80024F2C 46060282 */ mul.s $f10, $f0, $f6 +/* 025B30 80024F30 46085480 */ add.s $f18, $f10, $f8 +/* 025B34 80024F34 0C0091B9 */ jal func_800246E4 +/* 025B38 80024F38 E6120020 */ swc1 $f18, 0x20($s0) +/* 025B3C 80024F3C C6040008 */ lwc1 $f4, 8($s0) +/* 025B40 80024F40 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 025B44 80024F44 44815000 */ mtc1 $at, $f10 +/* 025B48 80024F48 46040182 */ mul.s $f6, $f0, $f4 +/* 025B4C 80024F4C E6140014 */ swc1 $f20, 0x14($s0) +/* 025B50 80024F50 C6020014 */ lwc1 $f2, 0x14($s0) +/* 025B54 80024F54 460A3200 */ add.s $f8, $f6, $f10 +/* 025B58 80024F58 E6080018 */ swc1 $f8, 0x18($s0) +/* 025B5C 80024F5C C60E0018 */ lwc1 $f14, 0x18($s0) +/* 025B60 80024F60 C600001C */ lwc1 $f0, 0x1c($s0) +.L80024F64_ovl0: +/* 025B64 80024F64 C6120020 */ lwc1 $f18, 0x20($s0) +/* 025B68 80024F68 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 025B6C 80024F6C 44818000 */ mtc1 $at, $f16 +/* 025B70 80024F70 46009101 */ sub.s $f4, $f18, $f0 +/* 025B74 80024F74 46022182 */ mul.s $f6, $f4, $f2 +/* 025B78 80024F78 460E3283 */ div.s $f10, $f6, $f14 +/* 025B7C 80024F7C 1000003E */ b .L80025078_ovl0 +/* 025B80 80024F80 46005300 */ add.s $f12, $f10, $f0 +/* 025B84 80024F84 C6080014 */ lwc1 $f8, 0x14($s0) +/* 025B88 80024F88 C6000008 */ lwc1 $f0, 8($s0) +/* 025B8C 80024F8C 46164480 */ add.s $f18, $f8, $f22 +/* 025B90 80024F90 E6120014 */ swc1 $f18, 0x14($s0) +/* 025B94 80024F94 C6020014 */ lwc1 $f2, 0x14($s0) +/* 025B98 80024F98 4602003C */ c.lt.s $f0, $f2 +/* 025B9C 80024F9C 00000000 */ nop +/* 025BA0 80024FA0 45020004 */ bc1fl .L80024FB4_ovl0 +/* 025BA4 80024FA4 C604000C */ lwc1 $f4, 0xc($s0) +/* 025BA8 80024FA8 E6000014 */ swc1 $f0, 0x14($s0) +/* 025BAC 80024FAC C6020014 */ lwc1 $f2, 0x14($s0) +/* 025BB0 80024FB0 C604000C */ lwc1 $f4, 0xc($s0) +.L80024FB4_ovl0: +/* 025BB4 80024FB4 C6080010 */ lwc1 $f8, 0x10($s0) +/* 025BB8 80024FB8 46022182 */ mul.s $f6, $f4, $f2 +/* 025BBC 80024FBC 46003283 */ div.s $f10, $f6, $f0 +/* 025BC0 80024FC0 1000002D */ b .L80025078_ovl0 +/* 025BC4 80024FC4 46085300 */ add.s $f12, $f10, $f8 +/* 025BC8 80024FC8 C6120014 */ lwc1 $f18, 0x14($s0) +/* 025BCC 80024FCC C6000008 */ lwc1 $f0, 8($s0) +/* 025BD0 80024FD0 46169100 */ add.s $f4, $f18, $f22 +/* 025BD4 80024FD4 E6040014 */ swc1 $f4, 0x14($s0) +/* 025BD8 80024FD8 C6020014 */ lwc1 $f2, 0x14($s0) +/* 025BDC 80024FDC 4602003C */ c.lt.s $f0, $f2 +/* 025BE0 80024FE0 00000000 */ nop +/* 025BE4 80024FE4 45020004 */ bc1fl .L80024FF8_ovl0 +/* 025BE8 80024FE8 46020281 */ sub.s $f10, $f0, $f2 +/* 025BEC 80024FEC E6000014 */ swc1 $f0, 0x14($s0) +/* 025BF0 80024FF0 C6020014 */ lwc1 $f2, 0x14($s0) +/* 025BF4 80024FF4 46020281 */ sub.s $f10, $f0, $f2 +.L80024FF8_ovl0: +/* 025BF8 80024FF8 C606000C */ lwc1 $f6, 0xc($s0) +/* 025BFC 80024FFC C6040010 */ lwc1 $f4, 0x10($s0) +/* 025C00 80025000 460A3202 */ mul.s $f8, $f6, $f10 +/* 025C04 80025004 46004483 */ div.s $f18, $f8, $f0 +/* 025C08 80025008 1000001B */ b .L80025078_ovl0 +/* 025C0C 8002500C 46049300 */ add.s $f12, $f18, $f4 +/* 025C10 80025010 C6060014 */ lwc1 $f6, 0x14($s0) +/* 025C14 80025014 C6080018 */ lwc1 $f8, 0x18($s0) +/* 025C18 80025018 46163280 */ add.s $f10, $f6, $f22 +/* 025C1C 8002501C E60A0014 */ swc1 $f10, 0x14($s0) +/* 025C20 80025020 C6120014 */ lwc1 $f18, 0x14($s0) +/* 025C24 80025024 4612403C */ c.lt.s $f8, $f18 +/* 025C28 80025028 00000000 */ nop +/* 025C2C 8002502C 4500000F */ bc1f .L8002506C_ovl0 +/* 025C30 80025030 00000000 */ nop +/* 025C34 80025034 0C0091A0 */ jal func_80024680 +/* 025C38 80025038 00000000 */ nop +/* 025C3C 8002503C C604000C */ lwc1 $f4, 0xc($s0) +/* 025C40 80025040 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 025C44 80025044 46040182 */ mul.s $f6, $f0, $f4 +/* 025C48 80025048 460A3200 */ add.s $f8, $f6, $f10 +/* 025C4C 8002504C 0C0091A0 */ jal func_80024680 +/* 025C50 80025050 E6080020 */ swc1 $f8, 0x20($s0) +/* 025C54 80025054 C6120008 */ lwc1 $f18, 8($s0) +/* 025C58 80025058 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 025C5C 8002505C 44818000 */ mtc1 $at, $f16 +/* 025C60 80025060 46120102 */ mul.s $f4, $f0, $f18 +/* 025C64 80025064 E6140014 */ swc1 $f20, 0x14($s0) +/* 025C68 80025068 E6040018 */ swc1 $f4, 0x18($s0) +.L8002506C_ovl0: +/* 025C6C 8002506C 10000002 */ b .L80025078_ovl0 +/* 025C70 80025070 C60C0020 */ lwc1 $f12, 0x20($s0) +.L80025074_ovl0: +/* 025C74 80025074 4600A306 */ mov.s $f12, $f20 +.L80025078_ovl0: +/* 025C78 80025078 92020007 */ lbu $v0, 7($s0) +/* 025C7C 8002507C 24010001 */ li $at, 1 +/* 025C80 80025080 00021903 */ sra $v1, $v0, 4 +/* 025C84 80025084 10610006 */ beq $v1, $at, .L800250A0_ovl0 +/* 025C88 80025088 304C000F */ andi $t4, $v0, 0xf +/* 025C8C 8002508C 24010002 */ li $at, 2 +/* 025C90 80025090 10610008 */ beq $v1, $at, .L800250B4_ovl0 +/* 025C94 80025094 3058000F */ andi $t8, $v0, 0xf +/* 025C98 80025098 1000000C */ b .L800250CC_ovl0 +/* 025C9C 8002509C 92040006 */ lbu $a0, 6($s0) +.L800250A0_ovl0: +/* 025CA0 800250A0 000C7080 */ sll $t6, $t4, 2 +/* 025CA4 800250A4 022E7821 */ addu $t7, $s1, $t6 +/* 025CA8 800250A8 C5E60000 */ lwc1 $f6, ($t7) +/* 025CAC 800250AC 10000006 */ b .L800250C8_ovl0 +/* 025CB0 800250B0 46066300 */ add.s $f12, $f12, $f6 +.L800250B4_ovl0: +/* 025CB4 800250B4 0018C880 */ sll $t9, $t8, 2 +/* 025CB8 800250B8 02395021 */ addu $t2, $s1, $t9 +/* 025CBC 800250BC C54A0000 */ lwc1 $f10, ($t2) +/* 025CC0 800250C0 460A6302 */ mul.s $f12, $f12, $f10 +/* 025CC4 800250C4 00000000 */ nop +.L800250C8_ovl0: +/* 025CC8 800250C8 92040006 */ lbu $a0, 6($s0) +.L800250CC_ovl0: +/* 025CCC 800250CC 248DFFF6 */ addiu $t5, $a0, -0xa +/* 025CD0 800250D0 2DA10006 */ sltiu $at, $t5, 6 +/* 025CD4 800250D4 1020008B */ beqz $at, .L80025304_ovl0 +/* 025CD8 800250D8 000D6880 */ sll $t5, $t5, 2 +/* 025CDC 800250DC 3C018004 */ lui $at, %hi(D_8004148C) +/* 025CE0 800250E0 002D0821 */ addu $at, $at, $t5 +/* 025CE4 800250E4 8C2D148C */ lw $t5, %lo(D_8004148C)($at) +/* 025CE8 800250E8 01A00008 */ jr $t5 +/* 025CEC 800250EC 00000000 */ nop +/* 025CF0 800250F0 924B0032 */ lbu $t3, 0x32($s2) +/* 025CF4 800250F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 025CF8 800250F8 448B4000 */ mtc1 $t3, $f8 +/* 025CFC 800250FC 05610004 */ bgez $t3, .L80025110_ovl0 +/* 025D00 80025100 468044A0 */ cvt.s.w $f18, $f8 +/* 025D04 80025104 44812000 */ mtc1 $at, $f4 +/* 025D08 80025108 00000000 */ nop +/* 025D0C 8002510C 46049480 */ add.s $f18, $f18, $f4 +.L80025110_ovl0: +/* 025D10 80025110 46126300 */ add.s $f12, $f12, $f18 +/* 025D14 80025114 4614603C */ c.lt.s $f12, $f20 +/* 025D18 80025118 240E0001 */ li $t6, 1 +/* 025D1C 8002511C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 025D20 80025120 45020003 */ bc1fl .L80025130_ovl0 +/* 025D24 80025124 460C803C */ c.lt.s $f16, $f12 +/* 025D28 80025128 4600A306 */ mov.s $f12, $f20 +/* 025D2C 8002512C 460C803C */ c.lt.s $f16, $f12 +.L80025130_ovl0: +/* 025D30 80025130 00000000 */ nop +/* 025D34 80025134 45020003 */ bc1fl .L80025144_ovl0 +/* 025D38 80025138 444CF800 */ cfc1 $t4, $31 +/* 025D3C 8002513C 46008306 */ mov.s $f12, $f16 +/* 025D40 80025140 444CF800 */ cfc1 $t4, $31 +.L80025144_ovl0: +/* 025D44 80025144 44CEF800 */ ctc1 $t6, $31 +/* 025D48 80025148 00000000 */ nop +/* 025D4C 8002514C 460061A4 */ cvt.w.s $f6, $f12 +/* 025D50 80025150 444EF800 */ cfc1 $t6, $31 +/* 025D54 80025154 00000000 */ nop +/* 025D58 80025158 31CE0078 */ andi $t6, $t6, 0x78 +/* 025D5C 8002515C 51C00013 */ beql $t6, $zero, .L800251AC_ovl0 +/* 025D60 80025160 440E3000 */ mfc1 $t6, $f6 +/* 025D64 80025164 44813000 */ mtc1 $at, $f6 +/* 025D68 80025168 240E0001 */ li $t6, 1 +/* 025D6C 8002516C 46066181 */ sub.s $f6, $f12, $f6 +/* 025D70 80025170 44CEF800 */ ctc1 $t6, $31 +/* 025D74 80025174 00000000 */ nop +/* 025D78 80025178 460031A4 */ cvt.w.s $f6, $f6 +/* 025D7C 8002517C 444EF800 */ cfc1 $t6, $31 +/* 025D80 80025180 00000000 */ nop +/* 025D84 80025184 31CE0078 */ andi $t6, $t6, 0x78 +/* 025D88 80025188 15C00005 */ bnez $t6, .L800251A0_ovl0 +/* 025D8C 8002518C 00000000 */ nop +/* 025D90 80025190 440E3000 */ mfc1 $t6, $f6 +/* 025D94 80025194 3C018000 */ lui $at, 0x8000 +/* 025D98 80025198 10000007 */ b .L800251B8_ovl0 +/* 025D9C 8002519C 01C17025 */ or $t6, $t6, $at +.L800251A0_ovl0: +/* 025DA0 800251A0 10000005 */ b .L800251B8_ovl0 +/* 025DA4 800251A4 240EFFFF */ li $t6, -1 +/* 025DA8 800251A8 440E3000 */ mfc1 $t6, $f6 +.L800251AC_ovl0: +/* 025DAC 800251AC 00000000 */ nop +/* 025DB0 800251B0 05C0FFFB */ bltz $t6, .L800251A0_ovl0 +/* 025DB4 800251B4 00000000 */ nop +.L800251B8_ovl0: +/* 025DB8 800251B8 44CCF800 */ ctc1 $t4, $31 +/* 025DBC 800251BC 10000088 */ b .L800253E0_ovl0 +/* 025DC0 800251C0 A24E0032 */ sb $t6, 0x32($s2) +/* 025DC4 800251C4 864F002C */ lh $t7, 0x2c($s2) +/* 025DC8 800251C8 448F5000 */ mtc1 $t7, $f10 +/* 025DCC 800251CC 00000000 */ nop +/* 025DD0 800251D0 46805220 */ cvt.s.w $f8, $f10 +/* 025DD4 800251D4 46086300 */ add.s $f12, $f12, $f8 +/* 025DD8 800251D8 3C01C496 */ li $at, 0xC4960000 # -1200.000000 +/* 025DDC 800251DC 44812000 */ mtc1 $at, $f4 +/* 025DE0 800251E0 3C01C496 */ lui $at, 0xc496 +/* 025DE4 800251E4 4604603C */ c.lt.s $f12, $f4 +/* 025DE8 800251E8 00000000 */ nop +/* 025DEC 800251EC 45020004 */ bc1fl .L80025200_ovl0 +/* 025DF0 800251F0 3C014496 */ li $at, 0x44960000 # 1200.000000 +/* 025DF4 800251F4 44816000 */ mtc1 $at, $f12 +/* 025DF8 800251F8 00000000 */ nop +/* 025DFC 800251FC 3C014496 */ li $at, 0x44960000 # 1200.000000 +.L80025200_ovl0: +/* 025E00 80025200 44819000 */ mtc1 $at, $f18 +/* 025E04 80025204 3C014496 */ li $at, 0x44960000 # 1200.000000 +/* 025E08 80025208 460C903C */ c.lt.s $f18, $f12 +/* 025E0C 8002520C 00000000 */ nop +/* 025E10 80025210 45020004 */ bc1fl .L80025224_ovl0 +/* 025E14 80025214 4600618D */ trunc.w.s $f6, $f12 +/* 025E18 80025218 44816000 */ mtc1 $at, $f12 +/* 025E1C 8002521C 00000000 */ nop +/* 025E20 80025220 4600618D */ trunc.w.s $f6, $f12 +.L80025224_ovl0: +/* 025E24 80025224 44193000 */ mfc1 $t9, $f6 +/* 025E28 80025228 1000006D */ b .L800253E0_ovl0 +/* 025E2C 8002522C A659002C */ sh $t9, 0x2c($s2) +/* 025E30 80025230 924A0034 */ lbu $t2, 0x34($s2) +/* 025E34 80025234 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 025E38 80025238 448A5000 */ mtc1 $t2, $f10 +/* 025E3C 8002523C 05410004 */ bgez $t2, .L80025250_ovl0 +/* 025E40 80025240 46805220 */ cvt.s.w $f8, $f10 +/* 025E44 80025244 44812000 */ mtc1 $at, $f4 +/* 025E48 80025248 00000000 */ nop +/* 025E4C 8002524C 46044200 */ add.s $f8, $f8, $f4 +.L80025250_ovl0: +/* 025E50 80025250 46086300 */ add.s $f12, $f12, $f8 +/* 025E54 80025254 4614603C */ c.lt.s $f12, $f20 +/* 025E58 80025258 240B0001 */ li $t3, 1 +/* 025E5C 8002525C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 025E60 80025260 45020003 */ bc1fl .L80025270_ovl0 +/* 025E64 80025264 460C803C */ c.lt.s $f16, $f12 +/* 025E68 80025268 4600A306 */ mov.s $f12, $f20 +/* 025E6C 8002526C 460C803C */ c.lt.s $f16, $f12 +.L80025270_ovl0: +/* 025E70 80025270 00000000 */ nop +/* 025E74 80025274 45020003 */ bc1fl .L80025284_ovl0 +/* 025E78 80025278 444DF800 */ cfc1 $t5, $31 +/* 025E7C 8002527C 46008306 */ mov.s $f12, $f16 +/* 025E80 80025280 444DF800 */ cfc1 $t5, $31 +.L80025284_ovl0: +/* 025E84 80025284 44CBF800 */ ctc1 $t3, $31 +/* 025E88 80025288 00000000 */ nop +/* 025E8C 8002528C 460064A4 */ cvt.w.s $f18, $f12 +/* 025E90 80025290 444BF800 */ cfc1 $t3, $31 +/* 025E94 80025294 00000000 */ nop +/* 025E98 80025298 316B0078 */ andi $t3, $t3, 0x78 +/* 025E9C 8002529C 51600013 */ beql $t3, $zero, .L800252EC_ovl0 +/* 025EA0 800252A0 440B9000 */ mfc1 $t3, $f18 +/* 025EA4 800252A4 44819000 */ mtc1 $at, $f18 +/* 025EA8 800252A8 240B0001 */ li $t3, 1 +/* 025EAC 800252AC 46126481 */ sub.s $f18, $f12, $f18 +/* 025EB0 800252B0 44CBF800 */ ctc1 $t3, $31 +/* 025EB4 800252B4 00000000 */ nop +/* 025EB8 800252B8 460094A4 */ cvt.w.s $f18, $f18 +/* 025EBC 800252BC 444BF800 */ cfc1 $t3, $31 +/* 025EC0 800252C0 00000000 */ nop +/* 025EC4 800252C4 316B0078 */ andi $t3, $t3, 0x78 +/* 025EC8 800252C8 15600005 */ bnez $t3, .L800252E0_ovl0 +/* 025ECC 800252CC 00000000 */ nop +/* 025ED0 800252D0 440B9000 */ mfc1 $t3, $f18 +/* 025ED4 800252D4 3C018000 */ lui $at, 0x8000 +/* 025ED8 800252D8 10000007 */ b .L800252F8_ovl0 +/* 025EDC 800252DC 01615825 */ or $t3, $t3, $at +.L800252E0_ovl0: +/* 025EE0 800252E0 10000005 */ b .L800252F8_ovl0 +/* 025EE4 800252E4 240BFFFF */ li $t3, -1 +/* 025EE8 800252E8 440B9000 */ mfc1 $t3, $f18 +.L800252EC_ovl0: +/* 025EEC 800252EC 00000000 */ nop +/* 025EF0 800252F0 0560FFFB */ bltz $t3, .L800252E0_ovl0 +/* 025EF4 800252F4 00000000 */ nop +.L800252F8_ovl0: +/* 025EF8 800252F8 44CDF800 */ ctc1 $t5, $31 +/* 025EFC 800252FC 10000038 */ b .L800253E0_ovl0 +/* 025F00 80025300 A24B0034 */ sb $t3, 0x34($s2) +.L80025304_ovl0: +/* 025F04 80025304 2881000A */ slti $at, $a0, 0xa +/* 025F08 80025308 10200004 */ beqz $at, .L8002531C_ovl0 +/* 025F0C 8002530C 00046080 */ sll $t4, $a0, 2 +/* 025F10 80025310 022C7021 */ addu $t6, $s1, $t4 +/* 025F14 80025314 10000032 */ b .L800253E0_ovl0 +/* 025F18 80025318 E5CC0000 */ swc1 $f12, ($t6) +.L8002531C_ovl0: +/* 025F1C 8002531C 28810018 */ slti $at, $a0, 0x18 +/* 025F20 80025320 10200004 */ beqz $at, .L80025334_ovl0 +/* 025F24 80025324 2485FFE8 */ addiu $a1, $a0, -0x18 +/* 025F28 80025328 02001825 */ move $v1, $s0 +/* 025F2C 8002532C 10000014 */ b .L80025380_ovl0 +/* 025F30 80025330 00802825 */ move $a1, $a0 +.L80025334_ovl0: +/* 025F34 80025334 8E430044 */ lw $v1, 0x44($s2) +/* 025F38 80025338 04A10003 */ bgez $a1, .L80025348_ovl0 +/* 025F3C 8002533C 000510C3 */ sra $v0, $a1, 3 +/* 025F40 80025340 24A10007 */ addiu $at, $a1, 7 +/* 025F44 80025344 000110C3 */ sra $v0, $at, 3 +.L80025348_ovl0: +/* 025F48 80025348 04A10004 */ bgez $a1, .L8002535C_ovl0 +/* 025F4C 8002534C 30A50007 */ andi $a1, $a1, 7 +/* 025F50 80025350 10A00002 */ beqz $a1, .L8002535C_ovl0 +/* 025F54 80025354 00000000 */ nop +/* 025F58 80025358 24A5FFF8 */ addiu $a1, $a1, -8 +.L8002535C_ovl0: +/* 025F5C 8002535C 10600007 */ beqz $v1, .L8002537C_ovl0 +/* 025F60 80025360 24A50010 */ addiu $a1, $a1, 0x10 +/* 025F64 80025364 906F0004 */ lbu $t7, 4($v1) +.L80025368_ovl0: +/* 025F68 80025368 104F0004 */ beq $v0, $t7, .L8002537C_ovl0 +/* 025F6C 8002536C 00000000 */ nop +/* 025F70 80025370 8C630000 */ lw $v1, ($v1) +/* 025F74 80025374 5460FFFC */ bnezl $v1, .L80025368_ovl0 +/* 025F78 80025378 906F0004 */ lbu $t7, 4($v1) +.L8002537C_ovl0: +/* 025F7C 8002537C 10600018 */ beqz $v1, .L800253E0_ovl0 +.L80025380_ovl0: +/* 025F80 80025380 24B8FFF0 */ addiu $t8, $a1, -0x10 +/* 025F84 80025384 2F010008 */ sltiu $at, $t8, 8 +/* 025F88 80025388 10200015 */ beqz $at, .L800253E0_ovl0 +/* 025F8C 8002538C 0018C080 */ sll $t8, $t8, 2 +/* 025F90 80025390 3C018004 */ lui $at, %hi(D_800414A4) +/* 025F94 80025394 00380821 */ addu $at, $at, $t8 +/* 025F98 80025398 8C3814A4 */ lw $t8, %lo(D_800414A4)($at) +/* 025F9C 8002539C 03000008 */ jr $t8 +/* 025FA0 800253A0 00000000 */ nop +/* 025FA4 800253A4 C4660008 */ lwc1 $f6, 8($v1) +/* 025FA8 800253A8 46066300 */ add.s $f12, $f12, $f6 +/* 025FAC 800253AC 1000000C */ b .L800253E0_ovl0 +/* 025FB0 800253B0 E46C0008 */ swc1 $f12, 8($v1) +/* 025FB4 800253B4 C46A000C */ lwc1 $f10, 0xc($v1) +/* 025FB8 800253B8 460A6300 */ add.s $f12, $f12, $f10 +/* 025FBC 800253BC 10000008 */ b .L800253E0_ovl0 +/* 025FC0 800253C0 E46C000C */ swc1 $f12, 0xc($v1) +/* 025FC4 800253C4 C4640010 */ lwc1 $f4, 0x10($v1) +/* 025FC8 800253C8 46046300 */ add.s $f12, $f12, $f4 +/* 025FCC 800253CC 10000004 */ b .L800253E0_ovl0 +/* 025FD0 800253D0 E46C0010 */ swc1 $f12, 0x10($v1) +/* 025FD4 800253D4 C4680014 */ lwc1 $f8, 0x14($v1) +/* 025FD8 800253D8 46086300 */ add.s $f12, $f12, $f8 +/* 025FDC 800253DC E46C0014 */ swc1 $f12, 0x14($v1) +.L800253E0_ovl0: +/* 025FE0 800253E0 8E100000 */ lw $s0, ($s0) +/* 025FE4 800253E4 5600FE50 */ bnezl $s0, .L80024D28_ovl0 +/* 025FE8 800253E8 920C0005 */ lbu $t4, 5($s0) +.L800253EC_ovl0: +/* 025FEC 800253EC 9243002A */ lbu $v1, 0x2a($s2) +/* 025FF0 800253F0 24010001 */ li $at, 1 +/* 025FF4 800253F4 50600011 */ beql $v1, $zero, .L8002543C_ovl0 +/* 025FF8 800253F8 92450032 */ lbu $a1, 0x32($s2) +/* 025FFC 800253FC 10610016 */ beq $v1, $at, .L80025458_ovl0 +/* 026000 80025400 24010002 */ li $at, 2 +/* 026004 80025404 1061006F */ beq $v1, $at, .L800255C4_ovl0 +/* 026008 80025408 26440004 */ addiu $a0, $s2, 4 +/* 02600C 8002540C 24010003 */ li $at, 3 +/* 026010 80025410 10610078 */ beq $v1, $at, .L800255F4_ovl0 +/* 026014 80025414 26530004 */ addiu $s3, $s2, 4 +/* 026018 80025418 92450032 */ lbu $a1, 0x32($s2) +/* 02601C 8002541C 92460034 */ lbu $a2, 0x34($s2) +/* 026020 80025420 8642002C */ lh $v0, 0x2c($s2) +/* 026024 80025424 92430036 */ lbu $v1, 0x36($s2) +/* 026028 80025428 92470038 */ lbu $a3, 0x38($s2) +/* 02602C 8002542C 9248003A */ lbu $t0, 0x3a($s2) +/* 026030 80025430 100000B8 */ b .L80025714_ovl0 +/* 026034 80025434 9244003C */ lbu $a0, 0x3c($s2) +/* 026038 80025438 92450032 */ lbu $a1, 0x32($s2) +.L8002543C_ovl0: +/* 02603C 8002543C 92460034 */ lbu $a2, 0x34($s2) +/* 026040 80025440 8642002C */ lh $v0, 0x2c($s2) +/* 026044 80025444 92430036 */ lbu $v1, 0x36($s2) +/* 026048 80025448 92470038 */ lbu $a3, 0x38($s2) +/* 02604C 8002544C 9248003A */ lbu $t0, 0x3a($s2) +/* 026050 80025450 100000B0 */ b .L80025714_ovl0 +/* 026054 80025454 9244003C */ lbu $a0, 0x3c($s2) +.L80025458_ovl0: +/* 026058 80025458 8642002C */ lh $v0, 0x2c($s2) +/* 02605C 8002545C 8659002E */ lh $t9, 0x2e($s2) +/* 026060 80025460 53220008 */ beql $t9, $v0, .L80025484_ovl0 +/* 026064 80025464 92420032 */ lbu $v0, 0x32($s2) +/* 026068 80025468 864A0030 */ lh $t2, 0x30($s2) +/* 02606C 8002546C 0C00DC20 */ jal func_80037080 +/* 026070 80025470 004A2021 */ addu $a0, $v0, $t2 +/* 026074 80025474 44050000 */ mfc1 $a1, $f0 +/* 026078 80025478 0C00B368 */ jal func_8002CDA0 +/* 02607C 8002547C 26440004 */ addiu $a0, $s2, 4 +/* 026080 80025480 92420032 */ lbu $v0, 0x32($s2) +.L80025484_ovl0: +/* 026084 80025484 924D0033 */ lbu $t5, 0x33($s2) +/* 026088 80025488 55A20006 */ bnel $t5, $v0, .L800254A4_ovl0 +/* 02608C 8002548C 924E0038 */ lbu $t6, 0x38($s2) +/* 026090 80025490 924B0039 */ lbu $t3, 0x39($s2) +/* 026094 80025494 924C0038 */ lbu $t4, 0x38($s2) +/* 026098 80025498 516C0010 */ beql $t3, $t4, .L800254DC_ovl0 +/* 02609C 8002549C 92420034 */ lbu $v0, 0x34($s2) +/* 0260A0 800254A0 924E0038 */ lbu $t6, 0x38($s2) +.L800254A4_ovl0: +/* 0260A4 800254A4 9298005A */ lbu $t8, 0x5a($s4) +/* 0260A8 800254A8 26440004 */ addiu $a0, $s2, 4 +/* 0260AC 800254AC 004E0019 */ multu $v0, $t6 +/* 0260B0 800254B0 8E860044 */ lw $a2, 0x44($s4) +/* 0260B4 800254B4 00007812 */ mflo $t7 +/* 0260B8 800254B8 00000000 */ nop +/* 0260BC 800254BC 00000000 */ nop +/* 0260C0 800254C0 01F80019 */ multu $t7, $t8 +/* 0260C4 800254C4 00002812 */ mflo $a1 +/* 0260C8 800254C8 000529C3 */ sra $a1, $a1, 7 +/* 0260CC 800254CC 00052C00 */ sll $a1, $a1, 0x10 +/* 0260D0 800254D0 0C00B494 */ jal func_8002D250 +/* 0260D4 800254D4 00052C03 */ sra $a1, $a1, 0x10 +/* 0260D8 800254D8 92420034 */ lbu $v0, 0x34($s2) +.L800254DC_ovl0: +/* 0260DC 800254DC 92590035 */ lbu $t9, 0x35($s2) +/* 0260E0 800254E0 57220006 */ bnel $t9, $v0, .L800254FC_ovl0 +/* 0260E4 800254E4 924E003A */ lbu $t6, 0x3a($s2) +/* 0260E8 800254E8 924A003B */ lbu $t2, 0x3b($s2) +/* 0260EC 800254EC 924D003A */ lbu $t5, 0x3a($s2) +/* 0260F0 800254F0 514D0012 */ beql $t2, $t5, .L8002553C_ovl0 +/* 0260F4 800254F4 92430036 */ lbu $v1, 0x36($s2) +/* 0260F8 800254F8 924E003A */ lbu $t6, 0x3a($s2) +.L800254FC_ovl0: +/* 0260FC 800254FC 26530004 */ addiu $s3, $s2, 4 +/* 026100 80025500 02602025 */ move $a0, $s3 +/* 026104 80025504 004E8021 */ addu $s0, $v0, $t6 +/* 026108 80025508 2610FFC0 */ addiu $s0, $s0, -0x40 +/* 02610C 8002550C 00108400 */ sll $s0, $s0, 0x10 +/* 026110 80025510 00108403 */ sra $s0, $s0, 0x10 +/* 026114 80025514 06030003 */ bgezl $s0, .L80025524_ovl0 +/* 026118 80025518 2A010080 */ slti $at, $s0, 0x80 +/* 02611C 8002551C 00008025 */ move $s0, $zero +/* 026120 80025520 2A010080 */ slti $at, $s0, 0x80 +.L80025524_ovl0: +/* 026124 80025524 14200002 */ bnez $at, .L80025530_ovl0 +/* 026128 80025528 00000000 */ nop +/* 02612C 8002552C 2410007F */ li $s0, 127 +.L80025530_ovl0: +/* 026130 80025530 0C00AB44 */ jal func_8002AD10 +/* 026134 80025534 320500FF */ andi $a1, $s0, 0xff +/* 026138 80025538 92430036 */ lbu $v1, 0x36($s2) +.L8002553C_ovl0: +/* 02613C 8002553C 924F0037 */ lbu $t7, 0x37($s2) +/* 026140 80025540 00601025 */ move $v0, $v1 +/* 026144 80025544 55E30006 */ bnel $t7, $v1, .L80025560_ovl0 +/* 026148 80025548 9259003C */ lbu $t9, 0x3c($s2) +/* 02614C 8002554C 9244003C */ lbu $a0, 0x3c($s2) +/* 026150 80025550 9258003D */ lbu $t8, 0x3d($s2) +/* 026154 80025554 53040016 */ beql $t8, $a0, .L800255B0_ovl0 +/* 026158 80025558 92450032 */ lbu $a1, 0x32($s2) +/* 02615C 8002555C 9259003C */ lbu $t9, 0x3c($s2) +.L80025560_ovl0: +/* 026160 80025560 26530004 */ addiu $s3, $s2, 4 +/* 026164 80025564 02602025 */ move $a0, $s3 +/* 026168 80025568 00195043 */ sra $t2, $t9, 1 +/* 02616C 8002556C 004A0019 */ multu $v0, $t2 +/* 026170 80025570 00008012 */ mflo $s0 +/* 026174 80025574 001081C3 */ sra $s0, $s0, 7 +/* 026178 80025578 00108400 */ sll $s0, $s0, 0x10 +/* 02617C 8002557C 00108403 */ sra $s0, $s0, 0x10 +/* 026180 80025580 06030003 */ bgezl $s0, .L80025590_ovl0 +/* 026184 80025584 2A010080 */ slti $at, $s0, 0x80 +/* 026188 80025588 00008025 */ move $s0, $zero +/* 02618C 8002558C 2A010080 */ slti $at, $s0, 0x80 +.L80025590_ovl0: +/* 026190 80025590 14200002 */ bnez $at, .L8002559C_ovl0 +/* 026194 80025594 00000000 */ nop +/* 026198 80025598 2410007F */ li $s0, 127 +.L8002559C_ovl0: +/* 02619C 8002559C 0C00B3F9 */ jal func_8002CFE4 +/* 0261A0 800255A0 320500FF */ andi $a1, $s0, 0xff +/* 0261A4 800255A4 92430036 */ lbu $v1, 0x36($s2) +/* 0261A8 800255A8 9244003C */ lbu $a0, 0x3c($s2) +/* 0261AC 800255AC 92450032 */ lbu $a1, 0x32($s2) +.L800255B0_ovl0: +/* 0261B0 800255B0 92460034 */ lbu $a2, 0x34($s2) +/* 0261B4 800255B4 8642002C */ lh $v0, 0x2c($s2) +/* 0261B8 800255B8 92470038 */ lbu $a3, 0x38($s2) +/* 0261BC 800255BC 10000055 */ b .L80025714_ovl0 +/* 0261C0 800255C0 9248003A */ lbu $t0, 0x3a($s2) +.L800255C4_ovl0: +/* 0261C4 800255C4 00002825 */ move $a1, $zero +/* 0261C8 800255C8 0C00B494 */ jal func_8002D250 +/* 0261CC 800255CC 8E860044 */ lw $a2, 0x44($s4) +/* 0261D0 800255D0 A240002A */ sb $zero, 0x2a($s2) +/* 0261D4 800255D4 92450032 */ lbu $a1, 0x32($s2) +/* 0261D8 800255D8 92460034 */ lbu $a2, 0x34($s2) +/* 0261DC 800255DC 8642002C */ lh $v0, 0x2c($s2) +/* 0261E0 800255E0 92430036 */ lbu $v1, 0x36($s2) +/* 0261E4 800255E4 92470038 */ lbu $a3, 0x38($s2) +/* 0261E8 800255E8 9248003A */ lbu $t0, 0x3a($s2) +/* 0261EC 800255EC 10000049 */ b .L80025714_ovl0 +/* 0261F0 800255F0 9244003C */ lbu $a0, 0x3c($s2) +.L800255F4_ovl0: +/* 0261F4 800255F4 A7A00096 */ sh $zero, 0x96($sp) +/* 0261F8 800255F8 924D002B */ lbu $t5, 0x2b($s2) +/* 0261FC 800255FC A3A00098 */ sb $zero, 0x98($sp) +/* 026200 80025600 02602025 */ move $a0, $s3 +/* 026204 80025604 31AB007F */ andi $t3, $t5, 0x7f +/* 026208 80025608 A7AB0094 */ sh $t3, 0x94($sp) +/* 02620C 8002560C 0C00AAF4 */ jal func_8002ABD0 +/* 026210 80025610 27A50094 */ addiu $a1, $sp, 0x94 +/* 026214 80025614 50400038 */ beql $v0, $zero, .L800256F8_ovl0 +/* 026218 80025618 A240002A */ sb $zero, 0x2a($s2) +/* 02621C 8002561C 924C0034 */ lbu $t4, 0x34($s2) +/* 026220 80025620 924E003A */ lbu $t6, 0x3a($s2) +/* 026224 80025624 018E8021 */ addu $s0, $t4, $t6 +/* 026228 80025628 2610FFC0 */ addiu $s0, $s0, -0x40 +/* 02622C 8002562C 00108400 */ sll $s0, $s0, 0x10 +/* 026230 80025630 00108403 */ sra $s0, $s0, 0x10 +/* 026234 80025634 06030003 */ bgezl $s0, .L80025644_ovl0 +/* 026238 80025638 2A010080 */ slti $at, $s0, 0x80 +/* 02623C 8002563C 00008025 */ move $s0, $zero +/* 026240 80025640 2A010080 */ slti $at, $s0, 0x80 +.L80025644_ovl0: +/* 026244 80025644 54200003 */ bnezl $at, .L80025654_ovl0 +/* 026248 80025648 9258003C */ lbu $t8, 0x3c($s2) +/* 02624C 8002564C 2410007F */ li $s0, 127 +/* 026250 80025650 9258003C */ lbu $t8, 0x3c($s2) +.L80025654_ovl0: +/* 026254 80025654 924F0036 */ lbu $t7, 0x36($s2) +/* 026258 80025658 0018C843 */ sra $t9, $t8, 1 +/* 02625C 8002565C 01F90019 */ multu $t7, $t9 +/* 026260 80025660 00008812 */ mflo $s1 +/* 026264 80025664 001189C3 */ sra $s1, $s1, 7 +/* 026268 80025668 00118C00 */ sll $s1, $s1, 0x10 +/* 02626C 8002566C 00118C03 */ sra $s1, $s1, 0x10 +/* 026270 80025670 06230003 */ bgezl $s1, .L80025680_ovl0 +/* 026274 80025674 2A210080 */ slti $at, $s1, 0x80 +/* 026278 80025678 00008825 */ move $s1, $zero +/* 02627C 8002567C 2A210080 */ slti $at, $s1, 0x80 +.L80025680_ovl0: +/* 026280 80025680 54200003 */ bnezl $at, .L80025690_ovl0 +/* 026284 80025684 864A002C */ lh $t2, 0x2c($s2) +/* 026288 80025688 2411007F */ li $s1, 127 +/* 02628C 8002568C 864A002C */ lh $t2, 0x2c($s2) +.L80025690_ovl0: +/* 026290 80025690 864D0030 */ lh $t5, 0x30($s2) +/* 026294 80025694 0C00DC20 */ jal func_80037080 +/* 026298 80025698 014D2021 */ addu $a0, $t2, $t5 +/* 02629C 8002569C 924B0032 */ lbu $t3, 0x32($s2) +/* 0262A0 800256A0 924C0038 */ lbu $t4, 0x38($s2) +/* 0262A4 800256A4 9298005A */ lbu $t8, 0x5a($s4) +/* 0262A8 800256A8 8E450040 */ lw $a1, 0x40($s2) +/* 0262AC 800256AC 016C0019 */ multu $t3, $t4 +/* 0262B0 800256B0 44060000 */ mfc1 $a2, $f0 +/* 0262B4 800256B4 AFA00018 */ sw $zero, 0x18($sp) +/* 0262B8 800256B8 AFB10014 */ sw $s1, 0x14($sp) +/* 0262BC 800256BC AFB00010 */ sw $s0, 0x10($sp) +/* 0262C0 800256C0 02602025 */ move $a0, $s3 +/* 0262C4 800256C4 00007012 */ mflo $t6 +/* 0262C8 800256C8 00000000 */ nop +/* 0262CC 800256CC 00000000 */ nop +/* 0262D0 800256D0 01D80019 */ multu $t6, $t8 +/* 0262D4 800256D4 00003812 */ mflo $a3 +/* 0262D8 800256D8 000739C3 */ sra $a3, $a3, 7 +/* 0262DC 800256DC 00073C00 */ sll $a3, $a3, 0x10 +/* 0262E0 800256E0 0C00AB9D */ jal func_8002AE74 +/* 0262E4 800256E4 00073C03 */ sra $a3, $a3, 0x10 +/* 0262E8 800256E8 240F0001 */ li $t7, 1 +/* 0262EC 800256EC 10000002 */ b .L800256F8_ovl0 +/* 0262F0 800256F0 A24F002A */ sb $t7, 0x2a($s2) +/* 0262F4 800256F4 A240002A */ sb $zero, 0x2a($s2) +.L800256F8_ovl0: +/* 0262F8 800256F8 92450032 */ lbu $a1, 0x32($s2) +/* 0262FC 800256FC 92460034 */ lbu $a2, 0x34($s2) +/* 026300 80025700 8642002C */ lh $v0, 0x2c($s2) +/* 026304 80025704 92430036 */ lbu $v1, 0x36($s2) +/* 026308 80025708 92470038 */ lbu $a3, 0x38($s2) +/* 02630C 8002570C 9248003A */ lbu $t0, 0x3a($s2) +/* 026310 80025710 9244003C */ lbu $a0, 0x3c($s2) +.L80025714_ovl0: +/* 026314 80025714 A642002E */ sh $v0, 0x2e($s2) +/* 026318 80025718 A2450033 */ sb $a1, 0x33($s2) +/* 02631C 8002571C A2460035 */ sb $a2, 0x35($s2) +/* 026320 80025720 A2430037 */ sb $v1, 0x37($s2) +/* 026324 80025724 A2470039 */ sb $a3, 0x39($s2) +/* 026328 80025728 A248003B */ sb $t0, 0x3b($s2) +/* 02632C 8002572C A244003D */ sb $a0, 0x3d($s2) +/* 026330 80025730 8FBF004C */ lw $ra, 0x4c($sp) +/* 026334 80025734 8FB40048 */ lw $s4, 0x48($sp) +/* 026338 80025738 8FB30044 */ lw $s3, 0x44($sp) +/* 02633C 8002573C 8FB20040 */ lw $s2, 0x40($sp) +/* 026340 80025740 8FB1003C */ lw $s1, 0x3c($sp) +/* 026344 80025744 8FB00038 */ lw $s0, 0x38($sp) +/* 026348 80025748 D7B60030 */ ldc1 $f22, 0x30($sp) +/* 02634C 8002574C D7B40028 */ ldc1 $f20, 0x28($sp) +/* 026350 80025750 03E00008 */ jr $ra +/* 026354 80025754 27BD00F8 */ addiu $sp, $sp, 0xf8 + +glabel func_80025758 +/* 026358 80025758 00851021 */ addu $v0, $a0, $a1 +/* 02635C 8002575C 904E0098 */ lbu $t6, 0x98($v0) +/* 026360 80025760 00057880 */ sll $t7, $a1, 2 +/* 026364 80025764 008F3021 */ addu $a2, $a0, $t7 +/* 026368 80025768 51C0000D */ beql $t6, $zero, .L800257A0_ovl0 +/* 02636C 8002576C 8CC70018 */ lw $a3, 0x18($a2) +/* 026370 80025770 00057880 */ sll $t7, $a1, 2 +/* 026374 80025774 008F3021 */ addu $a2, $a0, $t7 +/* 026378 80025778 8CC70058 */ lw $a3, 0x58($a2) +/* 02637C 8002577C 90E30000 */ lbu $v1, ($a3) +/* 026380 80025780 24F80001 */ addiu $t8, $a3, 1 +/* 026384 80025784 ACD80058 */ sw $t8, 0x58($a2) +/* 026388 80025788 90590098 */ lbu $t9, 0x98($v0) +/* 02638C 8002578C 272EFFFF */ addiu $t6, $t9, -1 +/* 026390 80025790 A04E0098 */ sb $t6, 0x98($v0) +/* 026394 80025794 03E00008 */ jr $ra +/* 026398 80025798 00601025 */ move $v0, $v1 + +glabel func_8002579C +/* 02639C 8002579C 8CC70018 */ lw $a3, 0x18($a2) +.L800257A0_ovl0: +/* 0263A0 800257A0 240800FE */ li $t0, 254 +/* 0263A4 800257A4 90E30000 */ lbu $v1, ($a3) +/* 0263A8 800257A8 24F80001 */ addiu $t8, $a3, 1 +/* 0263AC 800257AC ACD80018 */ sw $t8, 0x18($a2) +/* 0263B0 800257B0 15030018 */ bne $t0, $v1, .L80025814_ovl0 +/* 0263B4 800257B4 00000000 */ nop +/* 0263B8 800257B8 93040000 */ lbu $a0, ($t8) +/* 0263BC 800257BC 27190001 */ addiu $t9, $t8, 1 +/* 0263C0 800257C0 ACD90018 */ sw $t9, 0x18($a2) +/* 0263C4 800257C4 11040013 */ beq $t0, $a0, .L80025814_ovl0 +/* 0263C8 800257C8 272E0001 */ addiu $t6, $t9, 1 +/* 0263CC 800257CC 93230000 */ lbu $v1, ($t9) +/* 0263D0 800257D0 ACCE0018 */ sw $t6, 0x18($a2) +/* 0263D4 800257D4 91C50000 */ lbu $a1, ($t6) +/* 0263D8 800257D8 25CF0001 */ addiu $t7, $t6, 1 +/* 0263DC 800257DC 0004CA00 */ sll $t9, $a0, 8 +/* 0263E0 800257E0 ACCF0018 */ sw $t7, 0x18($a2) +/* 0263E4 800257E4 03237021 */ addu $t6, $t9, $v1 +/* 0263E8 800257E8 01EE7823 */ subu $t7, $t7, $t6 +/* 0263EC 800257EC 25F9FFFC */ addiu $t9, $t7, -4 +/* 0263F0 800257F0 ACD90058 */ sw $t9, 0x58($a2) +/* 0263F4 800257F4 A0450098 */ sb $a1, 0x98($v0) +/* 0263F8 800257F8 8CC70058 */ lw $a3, 0x58($a2) +/* 0263FC 800257FC 90E30000 */ lbu $v1, ($a3) +/* 026400 80025800 24F80001 */ addiu $t8, $a3, 1 +/* 026404 80025804 ACD80058 */ sw $t8, 0x58($a2) +/* 026408 80025808 904E0098 */ lbu $t6, 0x98($v0) +/* 02640C 8002580C 25CFFFFF */ addiu $t7, $t6, -1 +/* 026410 80025810 A04F0098 */ sb $t7, 0x98($v0) +.L80025814_ovl0: +/* 026414 80025814 03E00008 */ jr $ra +/* 026418 80025818 00601025 */ move $v0, $v1 + +glabel func_8002581C +/* 02641C 8002581C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 026420 80025820 AFBF0014 */ sw $ra, 0x14($sp) +/* 026424 80025824 01402025 */ move $a0, $t2 +/* 026428 80025828 0C0095D6 */ jal func_80025758 +/* 02642C 8002582C 01602825 */ move $a1, $t3 +/* 026430 80025830 304E0080 */ andi $t6, $v0, 0x80 +/* 026434 80025834 11C0000A */ beqz $t6, .L80025860_ovl0 +/* 026438 80025838 00404825 */ move $t1, $v0 +/* 02643C 8002583C 3049007F */ andi $t1, $v0, 0x7f +.L80025840_ovl0: +/* 026440 80025840 01402025 */ move $a0, $t2 +/* 026444 80025844 0C0095D6 */ jal func_80025758 +/* 026448 80025848 01602825 */ move $a1, $t3 +/* 02644C 8002584C 000979C0 */ sll $t7, $t1, 7 +/* 026450 80025850 3058007F */ andi $t8, $v0, 0x7f +/* 026454 80025854 30590080 */ andi $t9, $v0, 0x80 +/* 026458 80025858 1720FFF9 */ bnez $t9, .L80025840_ovl0 +/* 02645C 8002585C 01F84821 */ addu $t1, $t7, $t8 +.L80025860_ovl0: +/* 026460 80025860 8FBF0014 */ lw $ra, 0x14($sp) +/* 026464 80025864 27BD0018 */ addiu $sp, $sp, 0x18 +/* 026468 80025868 01201025 */ move $v0, $t1 +/* 02646C 8002586C 03E00008 */ jr $ra +/* 026470 80025870 00000000 */ nop + +glabel func_80025874 +/* 026474 80025874 03E00008 */ jr $ra +/* 026478 80025878 00000000 */ nop + +glabel func_8002587C +/* 02647C 8002587C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 026480 80025880 AFB00018 */ sw $s0, 0x18($sp) +/* 026484 80025884 00A08025 */ move $s0, $a1 +/* 026488 80025888 AFBF001C */ sw $ra, 0x1c($sp) +/* 02648C 8002588C 00806025 */ move $t4, $a0 +/* 026490 80025890 2409FFFF */ li $t1, -1 +/* 026494 80025894 8C860010 */ lw $a2, 0x10($a0) +/* 026498 80025898 24050010 */ li $a1, 16 +/* 02649C 8002589C 8FAB0024 */ lw $t3, 0x24($sp) +/* 0264A0 800258A0 00001025 */ move $v0, $zero +/* 0264A4 800258A4 8D8E0004 */ lw $t6, 4($t4) +.L800258A8_ovl0: +/* 0264A8 800258A8 004E7806 */ srlv $t7, $t6, $v0 +/* 0264AC 800258AC 31F80001 */ andi $t8, $t7, 1 +/* 0264B0 800258B0 53000010 */ beql $t8, $zero, .L800258F4_ovl0 +/* 0264B4 800258B4 24420001 */ addiu $v0, $v0, 1 +/* 0264B8 800258B8 8D8E0014 */ lw $t6, 0x14($t4) +/* 0264BC 800258BC 0002C880 */ sll $t9, $v0, 2 +/* 0264C0 800258C0 01991821 */ addu $v1, $t4, $t9 +/* 0264C4 800258C4 51C00005 */ beql $t6, $zero, .L800258DC_ovl0 +/* 0264C8 800258C8 8C6400B8 */ lw $a0, 0xb8($v1) +/* 0264CC 800258CC 8C6F00B8 */ lw $t7, 0xb8($v1) +/* 0264D0 800258D0 01E6C023 */ subu $t8, $t7, $a2 +/* 0264D4 800258D4 AC7800B8 */ sw $t8, 0xb8($v1) +/* 0264D8 800258D8 8C6400B8 */ lw $a0, 0xb8($v1) +.L800258DC_ovl0: +/* 0264DC 800258DC 0089082B */ sltu $at, $a0, $t1 +/* 0264E0 800258E0 50200004 */ beql $at, $zero, .L800258F4_ovl0 +/* 0264E4 800258E4 24420001 */ addiu $v0, $v0, 1 +/* 0264E8 800258E8 00804825 */ move $t1, $a0 +/* 0264EC 800258EC 00405825 */ move $t3, $v0 +/* 0264F0 800258F0 24420001 */ addiu $v0, $v0, 1 +.L800258F4_ovl0: +/* 0264F4 800258F4 5445FFEC */ bnel $v0, $a1, .L800258A8_ovl0 +/* 0264F8 800258F8 8D8E0004 */ lw $t6, 4($t4) +/* 0264FC 800258FC 01802025 */ move $a0, $t4 +/* 026500 80025900 0C0095D6 */ jal func_80025758 +/* 026504 80025904 01602825 */ move $a1, $t3 +/* 026508 80025908 240100FF */ li $at, 255 +/* 02650C 8002590C 304A00FF */ andi $t2, $v0, 0xff +/* 026510 80025910 1441005A */ bne $v0, $at, .L80025A7C_ovl0 +/* 026514 80025914 00401825 */ move $v1, $v0 +/* 026518 80025918 01802025 */ move $a0, $t4 +/* 02651C 8002591C 0C0095D6 */ jal func_80025758 +/* 026520 80025920 01602825 */ move $a1, $t3 +/* 026524 80025924 24010051 */ li $at, 81 +/* 026528 80025928 304600FF */ andi $a2, $v0, 0xff +/* 02652C 8002592C 14410014 */ bne $v0, $at, .L80025980_ovl0 +/* 026530 80025930 00401825 */ move $v1, $v0 +/* 026534 80025934 24190003 */ li $t9, 3 +/* 026538 80025938 A6190000 */ sh $t9, ($s0) +/* 02653C 8002593C A20A0008 */ sb $t2, 8($s0) +/* 026540 80025940 A2060009 */ sb $a2, 9($s0) +/* 026544 80025944 01802025 */ move $a0, $t4 +/* 026548 80025948 0C0095D6 */ jal func_80025758 +/* 02654C 8002594C 01602825 */ move $a1, $t3 +/* 026550 80025950 A202000B */ sb $v0, 0xb($s0) +/* 026554 80025954 01802025 */ move $a0, $t4 +/* 026558 80025958 0C0095D6 */ jal func_80025758 +/* 02655C 8002595C 01602825 */ move $a1, $t3 +/* 026560 80025960 A202000C */ sb $v0, 0xc($s0) +/* 026564 80025964 01802025 */ move $a0, $t4 +/* 026568 80025968 0C0095D6 */ jal func_80025758 +/* 02656C 8002596C 01602825 */ move $a1, $t3 +/* 026570 80025970 A202000D */ sb $v0, 0xd($s0) +/* 026574 80025974 018B7021 */ addu $t6, $t4, $t3 +/* 026578 80025978 10000067 */ b .L80025B18_ovl0 +/* 02657C 8002597C A1C000A8 */ sb $zero, 0xa8($t6) +.L80025980_ovl0: +/* 026580 80025980 2401002F */ li $at, 47 +/* 026584 80025984 5461000E */ bnel $v1, $at, .L800259C0_ovl0 +/* 026588 80025988 2401002E */ li $at, 46 +/* 02658C 8002598C 8D8F0004 */ lw $t7, 4($t4) +/* 026590 80025990 24180001 */ li $t8, 1 +/* 026594 80025994 0178C804 */ sllv $t9, $t8, $t3 +/* 026598 80025998 01F97026 */ xor $t6, $t7, $t9 +/* 02659C 8002599C 11C00004 */ beqz $t6, .L800259B0_ovl0 +/* 0265A0 800259A0 AD8E0004 */ sw $t6, 4($t4) +/* 0265A4 800259A4 240F0012 */ li $t7, 18 +/* 0265A8 800259A8 1000005B */ b .L80025B18_ovl0 +/* 0265AC 800259AC A60F0000 */ sh $t7, ($s0) +.L800259B0_ovl0: +/* 0265B0 800259B0 24190004 */ li $t9, 4 +/* 0265B4 800259B4 10000058 */ b .L80025B18_ovl0 +/* 0265B8 800259B8 A6190000 */ sh $t9, ($s0) +/* 0265BC 800259BC 2401002E */ li $at, 46 +.L800259C0_ovl0: +/* 0265C0 800259C0 1461000B */ bne $v1, $at, .L800259F0_ovl0 +/* 0265C4 800259C4 01802025 */ move $a0, $t4 +/* 0265C8 800259C8 0C0095D6 */ jal func_80025758 +/* 0265CC 800259CC 01602825 */ move $a1, $t3 +/* 0265D0 800259D0 01802025 */ move $a0, $t4 +/* 0265D4 800259D4 0C0095D6 */ jal func_80025758 +/* 0265D8 800259D8 01602825 */ move $a1, $t3 +/* 0265DC 800259DC 018B7021 */ addu $t6, $t4, $t3 +/* 0265E0 800259E0 A1C000A8 */ sb $zero, 0xa8($t6) +/* 0265E4 800259E4 24180013 */ li $t8, 19 +/* 0265E8 800259E8 1000004B */ b .L80025B18_ovl0 +/* 0265EC 800259EC A6180000 */ sh $t8, ($s0) +.L800259F0_ovl0: +/* 0265F0 800259F0 2401002D */ li $at, 45 +/* 0265F4 800259F4 14610048 */ bne $v1, $at, .L80025B18_ovl0 +/* 0265F8 800259F8 000B7880 */ sll $t7, $t3, 2 +/* 0265FC 800259FC 018F6821 */ addu $t5, $t4, $t7 +/* 026600 80025A00 8DA20018 */ lw $v0, 0x18($t5) +/* 026604 80025A04 240100FF */ li $at, 255 +/* 026608 80025A08 90440001 */ lbu $a0, 1($v0) +/* 02660C 80025A0C 24420001 */ addiu $v0, $v0, 1 +/* 026610 80025A10 24590005 */ addiu $t9, $v0, 5 +/* 026614 80025A14 14800004 */ bnez $a0, .L80025A28_ovl0 +/* 026618 80025A18 9045FFFF */ lbu $a1, -1($v0) +/* 02661C 80025A1C A0450000 */ sb $a1, ($v0) +/* 026620 80025A20 10000011 */ b .L80025A68_ovl0 +/* 026624 80025A24 ADB90018 */ sw $t9, 0x18($t5) +.L80025A28_ovl0: +/* 026628 80025A28 10810002 */ beq $a0, $at, .L80025A34_ovl0 +/* 02662C 80025A2C 248EFFFF */ addiu $t6, $a0, -1 +/* 026630 80025A30 A04E0000 */ sb $t6, ($v0) +.L80025A34_ovl0: +/* 026634 80025A34 90580002 */ lbu $t8, 2($v0) +/* 026638 80025A38 90430001 */ lbu $v1, 1($v0) +/* 02663C 80025A3C 90590003 */ lbu $t9, 3($v0) +/* 026640 80025A40 00187C00 */ sll $t7, $t8, 0x10 +/* 026644 80025A44 90580004 */ lbu $t8, 4($v0) +/* 026648 80025A48 00031E00 */ sll $v1, $v1, 0x18 +/* 02664C 80025A4C 006F1821 */ addu $v1, $v1, $t7 +/* 026650 80025A50 00197200 */ sll $t6, $t9, 8 +/* 026654 80025A54 006E1821 */ addu $v1, $v1, $t6 +/* 026658 80025A58 24420005 */ addiu $v0, $v0, 5 +/* 02665C 80025A5C 00781821 */ addu $v1, $v1, $t8 +/* 026660 80025A60 00437823 */ subu $t7, $v0, $v1 +/* 026664 80025A64 ADAF0018 */ sw $t7, 0x18($t5) +.L80025A68_ovl0: +/* 026668 80025A68 018BC821 */ addu $t9, $t4, $t3 +/* 02666C 80025A6C A32000A8 */ sb $zero, 0xa8($t9) +/* 026670 80025A70 240E0014 */ li $t6, 20 +/* 026674 80025A74 10000028 */ b .L80025B18_ovl0 +/* 026678 80025A78 A60E0000 */ sh $t6, ($s0) +.L80025A7C_ovl0: +/* 02667C 80025A7C 24180001 */ li $t8, 1 +/* 026680 80025A80 306F0080 */ andi $t7, $v1, 0x80 +/* 026684 80025A84 11E00009 */ beqz $t7, .L80025AAC_ovl0 +/* 026688 80025A88 A6180000 */ sh $t8, ($s0) +/* 02668C 80025A8C A20A0008 */ sb $t2, 8($s0) +/* 026690 80025A90 01802025 */ move $a0, $t4 +/* 026694 80025A94 0C0095D6 */ jal func_80025758 +/* 026698 80025A98 01602825 */ move $a1, $t3 +/* 02669C 80025A9C A2020009 */ sb $v0, 9($s0) +/* 0266A0 80025AA0 018BC821 */ addu $t9, $t4, $t3 +/* 0266A4 80025AA4 10000005 */ b .L80025ABC_ovl0 +/* 0266A8 80025AA8 A32A00A8 */ sb $t2, 0xa8($t9) +.L80025AAC_ovl0: +/* 0266AC 80025AAC 018B7021 */ addu $t6, $t4, $t3 +/* 0266B0 80025AB0 91D800A8 */ lbu $t8, 0xa8($t6) +/* 0266B4 80025AB4 A2020009 */ sb $v0, 9($s0) +/* 0266B8 80025AB8 A2180008 */ sb $t8, 8($s0) +.L80025ABC_ovl0: +/* 0266BC 80025ABC 92020008 */ lbu $v0, 8($s0) +/* 0266C0 80025AC0 240100C0 */ li $at, 192 +/* 0266C4 80025AC4 304200F0 */ andi $v0, $v0, 0xf0 +/* 0266C8 80025AC8 10410012 */ beq $v0, $at, .L80025B14_ovl0 +/* 0266CC 80025ACC 240100D0 */ li $at, 208 +/* 0266D0 80025AD0 10410010 */ beq $v0, $at, .L80025B14_ovl0 +/* 0266D4 80025AD4 01802025 */ move $a0, $t4 +/* 0266D8 80025AD8 0C0095D6 */ jal func_80025758 +/* 0266DC 80025ADC 01602825 */ move $a1, $t3 +/* 0266E0 80025AE0 920F0008 */ lbu $t7, 8($s0) +/* 0266E4 80025AE4 24010090 */ li $at, 144 +/* 0266E8 80025AE8 A202000A */ sb $v0, 0xa($s0) +/* 0266EC 80025AEC 31F900F0 */ andi $t9, $t7, 0xf0 +/* 0266F0 80025AF0 17210009 */ bne $t9, $at, .L80025B18_ovl0 +/* 0266F4 80025AF4 01805025 */ move $t2, $t4 +/* 0266F8 80025AF8 AFA90028 */ sw $t1, 0x28($sp) +/* 0266FC 80025AFC 0C009607 */ jal func_8002581C +/* 026700 80025B00 AFAB0024 */ sw $t3, 0x24($sp) +/* 026704 80025B04 8FA90028 */ lw $t1, 0x28($sp) +/* 026708 80025B08 8FAB0024 */ lw $t3, 0x24($sp) +/* 02670C 80025B0C 10000002 */ b .L80025B18_ovl0 +/* 026710 80025B10 AE02000C */ sw $v0, 0xc($s0) +.L80025B14_ovl0: +/* 026714 80025B14 A200000A */ sb $zero, 0xa($s0) +.L80025B18_ovl0: +/* 026718 80025B18 AE090004 */ sw $t1, 4($s0) +/* 02671C 80025B1C 8D8E000C */ lw $t6, 0xc($t4) +/* 026720 80025B20 AD890010 */ sw $t1, 0x10($t4) +/* 026724 80025B24 24010012 */ li $at, 18 +/* 026728 80025B28 01C9C021 */ addu $t8, $t6, $t1 +/* 02672C 80025B2C AD98000C */ sw $t8, 0xc($t4) +/* 026730 80025B30 860F0000 */ lh $t7, ($s0) +/* 026734 80025B34 01805025 */ move $t2, $t4 +/* 026738 80025B38 000BC880 */ sll $t9, $t3, 2 +/* 02673C 80025B3C 51E10007 */ beql $t7, $at, .L80025B5C_ovl0 +/* 026740 80025B40 240F0001 */ li $t7, 1 +/* 026744 80025B44 0C009607 */ jal func_8002581C +/* 026748 80025B48 01996821 */ addu $t5, $t4, $t9 +/* 02674C 80025B4C 8DAE00B8 */ lw $t6, 0xb8($t5) +/* 026750 80025B50 01C2C021 */ addu $t8, $t6, $v0 +/* 026754 80025B54 ADB800B8 */ sw $t8, 0xb8($t5) +/* 026758 80025B58 240F0001 */ li $t7, 1 +.L80025B5C_ovl0: +/* 02675C 80025B5C AD8F0014 */ sw $t7, 0x14($t4) +/* 026760 80025B60 8FBF001C */ lw $ra, 0x1c($sp) +/* 026764 80025B64 8FB00018 */ lw $s0, 0x18($sp) +/* 026768 80025B68 27BD0030 */ addiu $sp, $sp, 0x30 +/* 02676C 80025B6C 03E00008 */ jr $ra +/* 026770 80025B70 00000000 */ nop + +glabel func_80025B74 +/* 026774 80025B74 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 026778 80025B78 AFB40028 */ sw $s4, 0x28($sp) +/* 02677C 80025B7C AFB30024 */ sw $s3, 0x24($sp) +/* 026780 80025B80 AFB20020 */ sw $s2, 0x20($sp) +/* 026784 80025B84 AFB1001C */ sw $s1, 0x1c($sp) +/* 026788 80025B88 AFB00018 */ sw $s0, 0x18($sp) +/* 02678C 80025B8C AFBF002C */ sw $ra, 0x2c($sp) +/* 026790 80025B90 240E0001 */ li $t6, 1 +/* 026794 80025B94 00808025 */ move $s0, $a0 +/* 026798 80025B98 00A0A025 */ move $s4, $a1 +/* 02679C 80025B9C AC850000 */ sw $a1, ($a0) +/* 0267A0 80025BA0 AC800004 */ sw $zero, 4($a0) +/* 0267A4 80025BA4 AC800010 */ sw $zero, 0x10($a0) +/* 0267A8 80025BA8 AC80000C */ sw $zero, 0xc($a0) +/* 0267AC 80025BAC AC8E0014 */ sw $t6, 0x14($a0) +/* 0267B0 80025BB0 00808825 */ move $s1, $a0 +/* 0267B4 80025BB4 00009025 */ move $s2, $zero +/* 0267B8 80025BB8 24130010 */ li $s3, 16 +/* 0267BC 80025BBC 00006825 */ move $t5, $zero +/* 0267C0 80025BC0 00806025 */ move $t4, $a0 +.L80025BC4_ovl0: +/* 0267C4 80025BC4 A22000A8 */ sb $zero, 0xa8($s1) +/* 0267C8 80025BC8 AD800058 */ sw $zero, 0x58($t4) +/* 0267CC 80025BCC A2200098 */ sb $zero, 0x98($s1) +/* 0267D0 80025BD0 8E0F0000 */ lw $t7, ($s0) +/* 0267D4 80025BD4 240E0001 */ li $t6, 1 +/* 0267D8 80025BD8 01F2C021 */ addu $t8, $t7, $s2 +/* 0267DC 80025BDC 8F020000 */ lw $v0, ($t8) +/* 0267E0 80025BE0 01AE7804 */ sllv $t7, $t6, $t5 +/* 0267E4 80025BE4 1040000A */ beqz $v0, .L80025C10_ovl0 +/* 0267E8 80025BE8 02827021 */ addu $t6, $s4, $v0 +/* 0267EC 80025BEC 8E190004 */ lw $t9, 4($s0) +/* 0267F0 80025BF0 02005025 */ move $t2, $s0 +/* 0267F4 80025BF4 01A05825 */ move $t3, $t5 +/* 0267F8 80025BF8 032FC025 */ or $t8, $t9, $t7 +/* 0267FC 80025BFC AE180004 */ sw $t8, 4($s0) +/* 026800 80025C00 0C009607 */ jal func_8002581C +/* 026804 80025C04 AD8E0018 */ sw $t6, 0x18($t4) +/* 026808 80025C08 10000002 */ b .L80025C14_ovl0 +/* 02680C 80025C0C AD8200B8 */ sw $v0, 0xb8($t4) +.L80025C10_ovl0: +/* 026810 80025C10 AD800018 */ sw $zero, 0x18($t4) +.L80025C14_ovl0: +/* 026814 80025C14 25AD0001 */ addiu $t5, $t5, 1 +/* 026818 80025C18 26310001 */ addiu $s1, $s1, 1 +/* 02681C 80025C1C 26520004 */ addiu $s2, $s2, 4 +/* 026820 80025C20 15B3FFE8 */ bne $t5, $s3, .L80025BC4_ovl0 +/* 026824 80025C24 258C0004 */ addiu $t4, $t4, 4 +/* 026828 80025C28 8E190000 */ lw $t9, ($s0) +/* 02682C 80025C2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 026830 80025C30 44812000 */ mtc1 $at, $f4 +/* 026834 80025C34 8F2F0040 */ lw $t7, 0x40($t9) +/* 026838 80025C38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 02683C 80025C3C 448F3000 */ mtc1 $t7, $f6 +/* 026840 80025C40 05E10004 */ bgez $t7, .L80025C54_ovl0 +/* 026844 80025C44 46803220 */ cvt.s.w $f8, $f6 +/* 026848 80025C48 44815000 */ mtc1 $at, $f10 +/* 02684C 80025C4C 00000000 */ nop +/* 026850 80025C50 460A4200 */ add.s $f8, $f8, $f10 +.L80025C54_ovl0: +/* 026854 80025C54 46082183 */ div.s $f6, $f4, $f8 +/* 026858 80025C58 E6060008 */ swc1 $f6, 8($s0) +/* 02685C 80025C5C 8FBF002C */ lw $ra, 0x2c($sp) +/* 026860 80025C60 8FB40028 */ lw $s4, 0x28($sp) +/* 026864 80025C64 8FB30024 */ lw $s3, 0x24($sp) +/* 026868 80025C68 8FB20020 */ lw $s2, 0x20($sp) +/* 02686C 80025C6C 8FB1001C */ lw $s1, 0x1c($sp) +/* 026870 80025C70 8FB00018 */ lw $s0, 0x18($sp) +/* 026874 80025C74 03E00008 */ jr $ra +/* 026878 80025C78 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80025C7C +/* 02687C 80025C7C 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 026880 80025C80 AFB30020 */ sw $s3, 0x20($sp) +/* 026884 80025C84 AFB10018 */ sw $s1, 0x18($sp) +/* 026888 80025C88 00A08825 */ move $s1, $a1 +/* 02688C 80025C8C 27B30048 */ addiu $s3, $sp, 0x48 +/* 026890 80025C90 AFBF002C */ sw $ra, 0x2c($sp) +/* 026894 80025C94 AFB50028 */ sw $s5, 0x28($sp) +/* 026898 80025C98 AFB40024 */ sw $s4, 0x24($sp) +/* 02689C 80025C9C AFB2001C */ sw $s2, 0x1c($sp) +/* 0268A0 80025CA0 AFB00014 */ sw $s0, 0x14($sp) +/* 0268A4 80025CA4 00803825 */ move $a3, $a0 +/* 0268A8 80025CA8 00C09025 */ move $s2, $a2 +/* 0268AC 80025CAC 8CE50000 */ lw $a1, ($a3) +/* 0268B0 80025CB0 0C0096DD */ jal func_80025B74 +/* 0268B4 80025CB4 02602025 */ move $a0, $s3 +/* 0268B8 80025CB8 24150004 */ li $s5, 4 +/* 0268BC 80025CBC 27B40140 */ addiu $s4, $sp, 0x140 +/* 0268C0 80025CC0 27B00058 */ addiu $s0, $sp, 0x58 +/* 0268C4 80025CC4 8FAE004C */ lw $t6, 0x4c($sp) +.L80025CC8_ovl0: +/* 0268C8 80025CC8 27A40048 */ addiu $a0, $sp, 0x48 +/* 0268CC 80025CCC 00801825 */ move $v1, $a0 +/* 0268D0 80025CD0 AE2E0000 */ sw $t6, ($s1) +/* 0268D4 80025CD4 8FAF0054 */ lw $t7, 0x54($sp) +/* 0268D8 80025CD8 02201025 */ move $v0, $s1 +/* 0268DC 80025CDC 02202825 */ move $a1, $s1 +/* 0268E0 80025CE0 AE2F0004 */ sw $t7, 4($s1) +/* 0268E4 80025CE4 8FB80058 */ lw $t8, 0x58($sp) +/* 0268E8 80025CE8 AE380008 */ sw $t8, 8($s1) +.L80025CEC_ovl0: +/* 0268EC 80025CEC 8C680018 */ lw $t0, 0x18($v1) +/* 0268F0 80025CF0 24840004 */ addiu $a0, $a0, 4 +/* 0268F4 80025CF4 24420010 */ addiu $v0, $v0, 0x10 +/* 0268F8 80025CF8 AC48FFFC */ sw $t0, -4($v0) +/* 0268FC 80025CFC 8C690058 */ lw $t1, 0x58($v1) +/* 026900 80025D00 24630010 */ addiu $v1, $v1, 0x10 +/* 026904 80025D04 24A50004 */ addiu $a1, $a1, 4 +/* 026908 80025D08 AC49003C */ sw $t1, 0x3c($v0) +/* 02690C 80025D0C 908A0094 */ lbu $t2, 0x94($a0) +/* 026910 80025D10 A0AA0088 */ sb $t2, 0x88($a1) +/* 026914 80025D14 908B00A4 */ lbu $t3, 0xa4($a0) +/* 026918 80025D18 A0AB0098 */ sb $t3, 0x98($a1) +/* 02691C 80025D1C 8C6C00A8 */ lw $t4, 0xa8($v1) +/* 026920 80025D20 AC4C009C */ sw $t4, 0x9c($v0) +/* 026924 80025D24 8C6D000C */ lw $t5, 0xc($v1) +/* 026928 80025D28 AC4D0000 */ sw $t5, ($v0) +/* 02692C 80025D2C 8C6E004C */ lw $t6, 0x4c($v1) +/* 026930 80025D30 AC4E0040 */ sw $t6, 0x40($v0) +/* 026934 80025D34 908F0095 */ lbu $t7, 0x95($a0) +/* 026938 80025D38 A0AF0089 */ sb $t7, 0x89($a1) +/* 02693C 80025D3C 909800A5 */ lbu $t8, 0xa5($a0) +/* 026940 80025D40 A0B80099 */ sb $t8, 0x99($a1) +/* 026944 80025D44 8C7900AC */ lw $t9, 0xac($v1) +/* 026948 80025D48 AC5900A0 */ sw $t9, 0xa0($v0) +/* 02694C 80025D4C 8C680010 */ lw $t0, 0x10($v1) +/* 026950 80025D50 AC480004 */ sw $t0, 4($v0) +/* 026954 80025D54 8C690050 */ lw $t1, 0x50($v1) +/* 026958 80025D58 AC490044 */ sw $t1, 0x44($v0) +/* 02695C 80025D5C 908A0096 */ lbu $t2, 0x96($a0) +/* 026960 80025D60 A0AA008A */ sb $t2, 0x8a($a1) +/* 026964 80025D64 908B00A6 */ lbu $t3, 0xa6($a0) +/* 026968 80025D68 A0AB009A */ sb $t3, 0x9a($a1) +/* 02696C 80025D6C 8C6C00B0 */ lw $t4, 0xb0($v1) +/* 026970 80025D70 AC4C00A4 */ sw $t4, 0xa4($v0) +/* 026974 80025D74 8C6D0014 */ lw $t5, 0x14($v1) +/* 026978 80025D78 AC4D0008 */ sw $t5, 8($v0) +/* 02697C 80025D7C 8C6E0054 */ lw $t6, 0x54($v1) +/* 026980 80025D80 AC4E0048 */ sw $t6, 0x48($v0) +/* 026984 80025D84 908F0097 */ lbu $t7, 0x97($a0) +/* 026988 80025D88 A0AF008B */ sb $t7, 0x8b($a1) +/* 02698C 80025D8C 909800A7 */ lbu $t8, 0xa7($a0) +/* 026990 80025D90 A0B8009B */ sb $t8, 0x9b($a1) +/* 026994 80025D94 8C7900B4 */ lw $t9, 0xb4($v1) +/* 026998 80025D98 1490FFD4 */ bne $a0, $s0, .L80025CEC_ovl0 +/* 02699C 80025D9C AC5900A8 */ sw $t9, 0xa8($v0) +/* 0269A0 80025DA0 02602025 */ move $a0, $s3 +/* 0269A4 80025DA4 0C00961F */ jal func_8002587C +/* 0269A8 80025DA8 02802825 */ move $a1, $s4 +/* 0269AC 80025DAC 87A80140 */ lh $t0, 0x140($sp) +/* 0269B0 80025DB0 8FA90054 */ lw $t1, 0x54($sp) +/* 0269B4 80025DB4 11150003 */ beq $t0, $s5, .L80025DC4_ovl0 +/* 0269B8 80025DB8 0132082B */ sltu $at, $t1, $s2 +/* 0269BC 80025DBC 5420FFC2 */ bnezl $at, .L80025CC8_ovl0 +/* 0269C0 80025DC0 8FAE004C */ lw $t6, 0x4c($sp) +.L80025DC4_ovl0: +/* 0269C4 80025DC4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0269C8 80025DC8 8FB00014 */ lw $s0, 0x14($sp) +/* 0269CC 80025DCC 8FB10018 */ lw $s1, 0x18($sp) +/* 0269D0 80025DD0 8FB2001C */ lw $s2, 0x1c($sp) +/* 0269D4 80025DD4 8FB30020 */ lw $s3, 0x20($sp) +/* 0269D8 80025DD8 8FB40024 */ lw $s4, 0x24($sp) +/* 0269DC 80025DDC 8FB50028 */ lw $s5, 0x28($sp) +/* 0269E0 80025DE0 03E00008 */ jr $ra +/* 0269E4 80025DE4 27BD0150 */ addiu $sp, $sp, 0x150 + +glabel func_80025DE8 +/* 0269E8 80025DE8 8C8E0004 */ lw $t6, 4($a0) +/* 0269EC 80025DEC 00A04825 */ move $t1, $a1 +/* 0269F0 80025DF0 2403FFFF */ li $v1, -1 +/* 0269F4 80025DF4 15C00003 */ bnez $t6, .L80025E04_ovl0 +/* 0269F8 80025DF8 8C820010 */ lw $v0, 0x10($a0) +/* 0269FC 80025DFC 03E00008 */ jr $ra +/* 026A00 80025E00 00001025 */ move $v0, $zero + +.L80025E04_ovl0: +/* 026A04 80025E04 00003025 */ move $a2, $zero +/* 026A08 80025E08 240A0010 */ li $t2, 16 +/* 026A0C 80025E0C 8C850004 */ lw $a1, 4($a0) +.L80025E10_ovl0: +/* 026A10 80025E10 24CE0001 */ addiu $t6, $a2, 1 +/* 026A14 80025E14 00C57806 */ srlv $t7, $a1, $a2 +/* 026A18 80025E18 31F80001 */ andi $t8, $t7, 1 +/* 026A1C 80025E1C 53000010 */ beql $t8, $zero, .L80025E60_ovl0 +/* 026A20 80025E20 01C57806 */ srlv $t7, $a1, $t6 +/* 026A24 80025E24 8C8B0014 */ lw $t3, 0x14($a0) +/* 026A28 80025E28 0006C880 */ sll $t9, $a2, 2 +/* 026A2C 80025E2C 00993821 */ addu $a3, $a0, $t9 +/* 026A30 80025E30 51600006 */ beql $t3, $zero, .L80025E4C_ovl0 +/* 026A34 80025E34 8CE800B8 */ lw $t0, 0xb8($a3) +/* 026A38 80025E38 8CEC00B8 */ lw $t4, 0xb8($a3) +/* 026A3C 80025E3C 01826823 */ subu $t5, $t4, $v0 +/* 026A40 80025E40 ACED00B8 */ sw $t5, 0xb8($a3) +/* 026A44 80025E44 8C850004 */ lw $a1, 4($a0) +/* 026A48 80025E48 8CE800B8 */ lw $t0, 0xb8($a3) +.L80025E4C_ovl0: +/* 026A4C 80025E4C 0103082B */ sltu $at, $t0, $v1 +/* 026A50 80025E50 50200003 */ beql $at, $zero, .L80025E60_ovl0 +/* 026A54 80025E54 01C57806 */ srlv $t7, $a1, $t6 +/* 026A58 80025E58 01001825 */ move $v1, $t0 +/* 026A5C 80025E5C 01C57806 */ srlv $t7, $a1, $t6 +.L80025E60_ovl0: +/* 026A60 80025E60 31F80001 */ andi $t8, $t7, 1 +/* 026A64 80025E64 1300000F */ beqz $t8, .L80025EA4_ovl0 +/* 026A68 80025E68 24CE0002 */ addiu $t6, $a2, 2 +/* 026A6C 80025E6C 8C8B0014 */ lw $t3, 0x14($a0) +/* 026A70 80025E70 0006C880 */ sll $t9, $a2, 2 +/* 026A74 80025E74 00993821 */ addu $a3, $a0, $t9 +/* 026A78 80025E78 51600006 */ beql $t3, $zero, .L80025E94_ovl0 +/* 026A7C 80025E7C 8CE800BC */ lw $t0, 0xbc($a3) +/* 026A80 80025E80 8CEC00BC */ lw $t4, 0xbc($a3) +/* 026A84 80025E84 01826823 */ subu $t5, $t4, $v0 +/* 026A88 80025E88 ACED00BC */ sw $t5, 0xbc($a3) +/* 026A8C 80025E8C 8C850004 */ lw $a1, 4($a0) +/* 026A90 80025E90 8CE800BC */ lw $t0, 0xbc($a3) +.L80025E94_ovl0: +/* 026A94 80025E94 0103082B */ sltu $at, $t0, $v1 +/* 026A98 80025E98 50200003 */ beql $at, $zero, .L80025EA8_ovl0 +/* 026A9C 80025E9C 01C57806 */ srlv $t7, $a1, $t6 +/* 026AA0 80025EA0 01001825 */ move $v1, $t0 +.L80025EA4_ovl0: +/* 026AA4 80025EA4 01C57806 */ srlv $t7, $a1, $t6 +.L80025EA8_ovl0: +/* 026AA8 80025EA8 31F80001 */ andi $t8, $t7, 1 +/* 026AAC 80025EAC 1300000F */ beqz $t8, .L80025EEC_ovl0 +/* 026AB0 80025EB0 24CE0003 */ addiu $t6, $a2, 3 +/* 026AB4 80025EB4 8C8B0014 */ lw $t3, 0x14($a0) +/* 026AB8 80025EB8 0006C880 */ sll $t9, $a2, 2 +/* 026ABC 80025EBC 00993821 */ addu $a3, $a0, $t9 +/* 026AC0 80025EC0 51600006 */ beql $t3, $zero, .L80025EDC_ovl0 +/* 026AC4 80025EC4 8CE800C0 */ lw $t0, 0xc0($a3) +/* 026AC8 80025EC8 8CEC00C0 */ lw $t4, 0xc0($a3) +/* 026ACC 80025ECC 01826823 */ subu $t5, $t4, $v0 +/* 026AD0 80025ED0 ACED00C0 */ sw $t5, 0xc0($a3) +/* 026AD4 80025ED4 8C850004 */ lw $a1, 4($a0) +/* 026AD8 80025ED8 8CE800C0 */ lw $t0, 0xc0($a3) +.L80025EDC_ovl0: +/* 026ADC 80025EDC 0103082B */ sltu $at, $t0, $v1 +/* 026AE0 80025EE0 50200003 */ beql $at, $zero, .L80025EF0_ovl0 +/* 026AE4 80025EE4 01C57806 */ srlv $t7, $a1, $t6 +/* 026AE8 80025EE8 01001825 */ move $v1, $t0 +.L80025EEC_ovl0: +/* 026AEC 80025EEC 01C57806 */ srlv $t7, $a1, $t6 +.L80025EF0_ovl0: +/* 026AF0 80025EF0 31F80001 */ andi $t8, $t7, 1 +/* 026AF4 80025EF4 5300000F */ beql $t8, $zero, .L80025F34_ovl0 +/* 026AF8 80025EF8 24C60004 */ addiu $a2, $a2, 4 +/* 026AFC 80025EFC 8C8B0014 */ lw $t3, 0x14($a0) +/* 026B00 80025F00 0006C880 */ sll $t9, $a2, 2 +/* 026B04 80025F04 00993821 */ addu $a3, $a0, $t9 +/* 026B08 80025F08 51600005 */ beql $t3, $zero, .L80025F20_ovl0 +/* 026B0C 80025F0C 8CE500C4 */ lw $a1, 0xc4($a3) +/* 026B10 80025F10 8CEC00C4 */ lw $t4, 0xc4($a3) +/* 026B14 80025F14 01826823 */ subu $t5, $t4, $v0 +/* 026B18 80025F18 ACED00C4 */ sw $t5, 0xc4($a3) +/* 026B1C 80025F1C 8CE500C4 */ lw $a1, 0xc4($a3) +.L80025F20_ovl0: +/* 026B20 80025F20 00A3082B */ sltu $at, $a1, $v1 +/* 026B24 80025F24 50200003 */ beql $at, $zero, .L80025F34_ovl0 +/* 026B28 80025F28 24C60004 */ addiu $a2, $a2, 4 +/* 026B2C 80025F2C 00A01825 */ move $v1, $a1 +/* 026B30 80025F30 24C60004 */ addiu $a2, $a2, 4 +.L80025F34_ovl0: +/* 026B34 80025F34 54CAFFB6 */ bnel $a2, $t2, .L80025E10_ovl0 +/* 026B38 80025F38 8C850004 */ lw $a1, 4($a0) +/* 026B3C 80025F3C AC800014 */ sw $zero, 0x14($a0) +/* 026B40 80025F40 AD230000 */ sw $v1, ($t1) +/* 026B44 80025F44 24020001 */ li $v0, 1 +/* 026B48 80025F48 03E00008 */ jr $ra +/* 026B4C 80025F4C 00000000 */ nop + +glabel func_80025F50 +/* 026B50 80025F50 8CAE0000 */ lw $t6, ($a1) +/* 026B54 80025F54 AC850004 */ sw $a1, 4($a0) +/* 026B58 80025F58 AC8E0000 */ sw $t6, ($a0) +/* 026B5C 80025F5C 8CA20000 */ lw $v0, ($a1) +/* 026B60 80025F60 10400002 */ beqz $v0, .L80025F6C_ovl0 +/* 026B64 80025F64 00000000 */ nop +/* 026B68 80025F68 AC440004 */ sw $a0, 4($v0) +.L80025F6C_ovl0: +/* 026B6C 80025F6C 03E00008 */ jr $ra +/* 026B70 80025F70 ACA40000 */ sw $a0, ($a1) + +glabel func_80025F74 +/* 026B74 80025F74 8C820000 */ lw $v0, ($a0) +/* 026B78 80025F78 50400004 */ beql $v0, $zero, .L80025F8C_ovl0 +/* 026B7C 80025F7C 8C820004 */ lw $v0, 4($a0) +/* 026B80 80025F80 8C8E0004 */ lw $t6, 4($a0) +/* 026B84 80025F84 AC4E0004 */ sw $t6, 4($v0) +/* 026B88 80025F88 8C820004 */ lw $v0, 4($a0) +.L80025F8C_ovl0: +/* 026B8C 80025F8C 10400003 */ beqz $v0, .L80025F9C_ovl0 +/* 026B90 80025F90 00000000 */ nop +/* 026B94 80025F94 8C8F0000 */ lw $t7, ($a0) +/* 026B98 80025F98 AC4F0000 */ sw $t7, ($v0) +.L80025F9C_ovl0: +/* 026B9C 80025F9C 03E00008 */ jr $ra +/* 026BA0 80025FA0 00000000 */ nop + +glabel func_80025FA4 +/* 026BA4 80025FA4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 026BA8 80025FA8 AFB30020 */ sw $s3, 0x20($sp) +/* 026BAC 80025FAC AFB2001C */ sw $s2, 0x1c($sp) +/* 026BB0 80025FB0 00809025 */ move $s2, $a0 +/* 026BB4 80025FB4 00059C00 */ sll $s3, $a1, 0x10 +/* 026BB8 80025FB8 AFBF0024 */ sw $ra, 0x24($sp) +/* 026BBC 80025FBC 00139C03 */ sra $s3, $s3, 0x10 +/* 026BC0 80025FC0 AFB10018 */ sw $s1, 0x18($sp) +/* 026BC4 80025FC4 AFB00014 */ sw $s0, 0x14($sp) +/* 026BC8 80025FC8 AFA50044 */ sw $a1, 0x44($sp) +/* 026BCC 80025FCC 0C00B590 */ jal osSetIntMask +/* 026BD0 80025FD0 24040001 */ li $a0, 1 +/* 026BD4 80025FD4 AFA2002C */ sw $v0, 0x2c($sp) +/* 026BD8 80025FD8 8E500008 */ lw $s0, 8($s2) +/* 026BDC 80025FDC 12000017 */ beqz $s0, .L8002603C_ovl0 +/* 026BE0 80025FE0 00000000 */ nop +.L80025FE4_ovl0: +/* 026BE4 80025FE4 860E000C */ lh $t6, 0xc($s0) +/* 026BE8 80025FE8 8E110000 */ lw $s1, ($s0) +/* 026BEC 80025FEC 166E0011 */ bne $s3, $t6, .L80026034_ovl0 +/* 026BF0 80025FF0 00000000 */ nop +/* 026BF4 80025FF4 12200005 */ beqz $s1, .L8002600C_ovl0 +/* 026BF8 80025FF8 00000000 */ nop +/* 026BFC 80025FFC 8E2F0008 */ lw $t7, 8($s1) +/* 026C00 80026000 8E180008 */ lw $t8, 8($s0) +/* 026C04 80026004 01F8C821 */ addu $t9, $t7, $t8 +/* 026C08 80026008 AE390008 */ sw $t9, 8($s1) +.L8002600C_ovl0: +/* 026C0C 8002600C 0C0097DD */ jal func_80025F74 +/* 026C10 80026010 02002025 */ move $a0, $s0 +/* 026C14 80026014 8E480000 */ lw $t0, ($s2) +/* 026C18 80026018 AE120004 */ sw $s2, 4($s0) +/* 026C1C 8002601C AE080000 */ sw $t0, ($s0) +/* 026C20 80026020 8E420000 */ lw $v0, ($s2) +/* 026C24 80026024 50400003 */ beql $v0, $zero, .L80026034_ovl0 +/* 026C28 80026028 AE500000 */ sw $s0, ($s2) +/* 026C2C 8002602C AC500004 */ sw $s0, 4($v0) +/* 026C30 80026030 AE500000 */ sw $s0, ($s2) +.L80026034_ovl0: +/* 026C34 80026034 1620FFEB */ bnez $s1, .L80025FE4_ovl0 +/* 026C38 80026038 02208025 */ move $s0, $s1 +.L8002603C_ovl0: +/* 026C3C 8002603C 0C00B590 */ jal osSetIntMask +/* 026C40 80026040 8FA4002C */ lw $a0, 0x2c($sp) +/* 026C44 80026044 8FBF0024 */ lw $ra, 0x24($sp) +/* 026C48 80026048 8FB00014 */ lw $s0, 0x14($sp) +/* 026C4C 8002604C 8FB10018 */ lw $s1, 0x18($sp) +/* 026C50 80026050 8FB2001C */ lw $s2, 0x1c($sp) +/* 026C54 80026054 8FB30020 */ lw $s3, 0x20($sp) +/* 026C58 80026058 03E00008 */ jr $ra +/* 026C5C 8002605C 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_80026060 +/* 026C60 80026060 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 026C64 80026064 AFBF0014 */ sw $ra, 0x14($sp) +/* 026C68 80026068 AFA40030 */ sw $a0, 0x30($sp) +/* 026C6C 8002606C AFA50034 */ sw $a1, 0x34($sp) +/* 026C70 80026070 AFA00020 */ sw $zero, 0x20($sp) +/* 026C74 80026074 24040001 */ li $a0, 1 +/* 026C78 80026078 0C00B590 */ jal osSetIntMask +/* 026C7C 8002607C AFA60038 */ sw $a2, 0x38($sp) +/* 026C80 80026080 8FAE0030 */ lw $t6, 0x30($sp) +/* 026C84 80026084 8FA70038 */ lw $a3, 0x38($sp) +/* 026C88 80026088 00404825 */ move $t1, $v0 +/* 026C8C 8002608C 8DC80000 */ lw $t0, ($t6) +/* 026C90 80026090 15000005 */ bnez $t0, .L800260A8_ovl0 +/* 026C94 80026094 01002025 */ move $a0, $t0 +/* 026C98 80026098 0C00B590 */ jal osSetIntMask +/* 026C9C 8002609C 00402025 */ move $a0, $v0 +/* 026CA0 800260A0 10000040 */ b .L800261A4_ovl0 +/* 026CA4 800260A4 8FBF0014 */ lw $ra, 0x14($sp) +.L800260A8_ovl0: +/* 026CA8 800260A8 AFA70038 */ sw $a3, 0x38($sp) +/* 026CAC 800260AC AFA8002C */ sw $t0, 0x2c($sp) +/* 026CB0 800260B0 0C0097DD */ jal func_80025F74 +/* 026CB4 800260B4 AFA9001C */ sw $t1, 0x1c($sp) +/* 026CB8 800260B8 8FA8002C */ lw $t0, 0x2c($sp) +/* 026CBC 800260BC 8FA40034 */ lw $a0, 0x34($sp) +/* 026CC0 800260C0 24060010 */ li $a2, 16 +/* 026CC4 800260C4 0C00D404 */ jal alCopy +/* 026CC8 800260C8 2505000C */ addiu $a1, $t0, 0xc +/* 026CCC 800260CC 8FA70038 */ lw $a3, 0x38($sp) +/* 026CD0 800260D0 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff +/* 026CD4 800260D4 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 026CD8 800260D8 8FA8002C */ lw $t0, 0x2c($sp) +/* 026CDC 800260DC 14E10003 */ bne $a3, $at, .L800260EC_ovl0 +/* 026CE0 800260E0 8FA9001C */ lw $t1, 0x1c($sp) +/* 026CE4 800260E4 240FFFFF */ li $t7, -1 +/* 026CE8 800260E8 AFAF0020 */ sw $t7, 0x20($sp) +.L800260EC_ovl0: +/* 026CEC 800260EC 8FA20030 */ lw $v0, 0x30($sp) +/* 026CF0 800260F0 2401FFF8 */ li $at, -8 +/* 026CF4 800260F4 8FB80020 */ lw $t8, 0x20($sp) +/* 026CF8 800260F8 10410027 */ beq $v0, $at, .L80026198_ovl0 +/* 026CFC 800260FC 24450008 */ addiu $a1, $v0, 8 +.L80026100_ovl0: +/* 026D00 80026100 8CA20000 */ lw $v0, ($a1) +/* 026D04 80026104 54400010 */ bnezl $v0, .L80026148_ovl0 +/* 026D08 80026108 8C430008 */ lw $v1, 8($v0) +/* 026D0C 8002610C 53000004 */ beql $t8, $zero, .L80026120_ovl0 +/* 026D10 80026110 AD070008 */ sw $a3, 8($t0) +/* 026D14 80026114 10000002 */ b .L80026120_ovl0 +/* 026D18 80026118 AD000008 */ sw $zero, 8($t0) +/* 026D1C 8002611C AD070008 */ sw $a3, 8($t0) +.L80026120_ovl0: +/* 026D20 80026120 8CB90000 */ lw $t9, ($a1) +/* 026D24 80026124 AD050004 */ sw $a1, 4($t0) +/* 026D28 80026128 AD190000 */ sw $t9, ($t0) +/* 026D2C 8002612C 8CA20000 */ lw $v0, ($a1) +/* 026D30 80026130 10400002 */ beqz $v0, .L8002613C_ovl0 +/* 026D34 80026134 00000000 */ nop +/* 026D38 80026138 AC480004 */ sw $t0, 4($v0) +.L8002613C_ovl0: +/* 026D3C 8002613C 10000016 */ b .L80026198_ovl0 +/* 026D40 80026140 ACA80000 */ sw $t0, ($a1) +/* 026D44 80026144 8C430008 */ lw $v1, 8($v0) +.L80026148_ovl0: +/* 026D48 80026148 00402025 */ move $a0, $v0 +/* 026D4C 8002614C 00E3082A */ slt $at, $a3, $v1 +/* 026D50 80026150 5020000F */ beql $at, $zero, .L80026190_ovl0 +/* 026D54 80026154 00402825 */ move $a1, $v0 +/* 026D58 80026158 AD070008 */ sw $a3, 8($t0) +/* 026D5C 8002615C 8C8A0008 */ lw $t2, 8($a0) +/* 026D60 80026160 01475823 */ subu $t3, $t2, $a3 +/* 026D64 80026164 AC8B0008 */ sw $t3, 8($a0) +/* 026D68 80026168 8CAC0000 */ lw $t4, ($a1) +/* 026D6C 8002616C AD050004 */ sw $a1, 4($t0) +/* 026D70 80026170 AD0C0000 */ sw $t4, ($t0) +/* 026D74 80026174 8CA20000 */ lw $v0, ($a1) +/* 026D78 80026178 10400002 */ beqz $v0, .L80026184_ovl0 +/* 026D7C 8002617C 00000000 */ nop +/* 026D80 80026180 AC480004 */ sw $t0, 4($v0) +.L80026184_ovl0: +/* 026D84 80026184 10000004 */ b .L80026198_ovl0 +/* 026D88 80026188 ACA80000 */ sw $t0, ($a1) +/* 026D8C 8002618C 00402825 */ move $a1, $v0 +.L80026190_ovl0: +/* 026D90 80026190 1440FFDB */ bnez $v0, .L80026100_ovl0 +/* 026D94 80026194 00E33823 */ subu $a3, $a3, $v1 +.L80026198_ovl0: +/* 026D98 80026198 0C00B590 */ jal osSetIntMask +/* 026D9C 8002619C 01202025 */ move $a0, $t1 +/* 026DA0 800261A0 8FBF0014 */ lw $ra, 0x14($sp) +.L800261A4_ovl0: +/* 026DA4 800261A4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 026DA8 800261A8 03E00008 */ jr $ra +/* 026DAC 800261AC 00000000 */ nop + +glabel func_800261B0 +/* 026DB0 800261B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 026DB4 800261B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 026DB8 800261B8 00804025 */ move $t0, $a0 +/* 026DBC 800261BC AFA5002C */ sw $a1, 0x2c($sp) +/* 026DC0 800261C0 AFA80028 */ sw $t0, 0x28($sp) +/* 026DC4 800261C4 0C00B590 */ jal osSetIntMask +/* 026DC8 800261C8 24040001 */ li $a0, 1 +/* 026DCC 800261CC 8FA80028 */ lw $t0, 0x28($sp) +/* 026DD0 800261D0 AFA2001C */ sw $v0, 0x1c($sp) +/* 026DD4 800261D4 8FB8002C */ lw $t8, 0x2c($sp) +/* 026DD8 800261D8 8D070008 */ lw $a3, 8($t0) +/* 026DDC 800261DC 00001825 */ move $v1, $zero +/* 026DE0 800261E0 10E00015 */ beqz $a3, .L80026238_ovl0 +/* 026DE4 800261E4 00E02025 */ move $a0, $a3 +/* 026DE8 800261E8 AFA70024 */ sw $a3, 0x24($sp) +/* 026DEC 800261EC 0C0097DD */ jal func_80025F74 +/* 026DF0 800261F0 AFA80028 */ sw $t0, 0x28($sp) +/* 026DF4 800261F4 8FA70024 */ lw $a3, 0x24($sp) +/* 026DF8 800261F8 8FA5002C */ lw $a1, 0x2c($sp) +/* 026DFC 800261FC 24060010 */ li $a2, 16 +/* 026E00 80026200 0C00D404 */ jal alCopy +/* 026E04 80026204 24E4000C */ addiu $a0, $a3, 0xc +/* 026E08 80026208 8FA80028 */ lw $t0, 0x28($sp) +/* 026E0C 8002620C 8FA70024 */ lw $a3, 0x24($sp) +/* 026E10 80026210 8D0E0000 */ lw $t6, ($t0) +/* 026E14 80026214 ACE80004 */ sw $t0, 4($a3) +/* 026E18 80026218 ACEE0000 */ sw $t6, ($a3) +/* 026E1C 8002621C 8D020000 */ lw $v0, ($t0) +/* 026E20 80026220 50400003 */ beql $v0, $zero, .L80026230_ovl0 +/* 026E24 80026224 AD070000 */ sw $a3, ($t0) +/* 026E28 80026228 AC470004 */ sw $a3, 4($v0) +/* 026E2C 8002622C AD070000 */ sw $a3, ($t0) +.L80026230_ovl0: +/* 026E30 80026230 10000003 */ b .L80026240_ovl0 +/* 026E34 80026234 8CE30008 */ lw $v1, 8($a3) +.L80026238_ovl0: +/* 026E38 80026238 240FFFFF */ li $t7, -1 +/* 026E3C 8002623C A70F0000 */ sh $t7, ($t8) +.L80026240_ovl0: +/* 026E40 80026240 8FA4001C */ lw $a0, 0x1c($sp) +/* 026E44 80026244 0C00B590 */ jal osSetIntMask +/* 026E48 80026248 AFA30020 */ sw $v1, 0x20($sp) +/* 026E4C 8002624C 8FBF0014 */ lw $ra, 0x14($sp) +/* 026E50 80026250 8FA20020 */ lw $v0, 0x20($sp) +/* 026E54 80026254 27BD0028 */ addiu $sp, $sp, 0x28 +/* 026E58 80026258 03E00008 */ jr $ra +/* 026E5C 8002625C 00000000 */ nop + +glabel func_80026260 +/* 026E60 80026260 00A03825 */ move $a3, $a1 +/* 026E64 80026264 AC800010 */ sw $zero, 0x10($a0) +/* 026E68 80026268 AC800008 */ sw $zero, 8($a0) +/* 026E6C 8002626C AC80000C */ sw $zero, 0xc($a0) +/* 026E70 80026270 AC800000 */ sw $zero, ($a0) +/* 026E74 80026274 AC800004 */ sw $zero, 4($a0) +/* 026E78 80026278 18C00042 */ blez $a2, .L80026384_ovl0 +/* 026E7C 8002627C 00001025 */ move $v0, $zero +/* 026E80 80026280 30C30003 */ andi $v1, $a2, 3 +/* 026E84 80026284 10600012 */ beqz $v1, .L800262D0_ovl0 +/* 026E88 80026288 00602825 */ move $a1, $v1 +/* 026E8C 8002628C 000070C0 */ sll $t6, $zero, 3 +/* 026E90 80026290 01C07023 */ subu $t6, $t6, $zero +/* 026E94 80026294 000E7080 */ sll $t6, $t6, 2 +/* 026E98 80026298 01C74021 */ addu $t0, $t6, $a3 +.L8002629C_ovl0: +/* 026E9C 8002629C 8C8F0000 */ lw $t7, ($a0) +/* 026EA0 800262A0 AD040004 */ sw $a0, 4($t0) +/* 026EA4 800262A4 01001825 */ move $v1, $t0 +/* 026EA8 800262A8 AD0F0000 */ sw $t7, ($t0) +/* 026EAC 800262AC 8C890000 */ lw $t1, ($a0) +/* 026EB0 800262B0 24420001 */ addiu $v0, $v0, 1 +/* 026EB4 800262B4 51200003 */ beql $t1, $zero, .L800262C4_ovl0 +/* 026EB8 800262B8 AC830000 */ sw $v1, ($a0) +/* 026EBC 800262BC AD280004 */ sw $t0, 4($t1) +/* 026EC0 800262C0 AC830000 */ sw $v1, ($a0) +.L800262C4_ovl0: +/* 026EC4 800262C4 14A2FFF5 */ bne $a1, $v0, .L8002629C_ovl0 +/* 026EC8 800262C8 2508001C */ addiu $t0, $t0, 0x1c +/* 026ECC 800262CC 1046002D */ beq $v0, $a2, .L80026384_ovl0 +.L800262D0_ovl0: +/* 026ED0 800262D0 000228C0 */ sll $a1, $v0, 3 +/* 026ED4 800262D4 00A22823 */ subu $a1, $a1, $v0 +/* 026ED8 800262D8 00052880 */ sll $a1, $a1, 2 +/* 026EDC 800262DC 00A74021 */ addu $t0, $a1, $a3 +/* 026EE0 800262E0 000668C0 */ sll $t5, $a2, 3 +/* 026EE4 800262E4 01A66823 */ subu $t5, $t5, $a2 +/* 026EE8 800262E8 000D6880 */ sll $t5, $t5, 2 +/* 026EEC 800262EC 250A001C */ addiu $t2, $t0, 0x1c +/* 026EF0 800262F0 250B0038 */ addiu $t3, $t0, 0x38 +/* 026EF4 800262F4 250C0054 */ addiu $t4, $t0, 0x54 +.L800262F8_ovl0: +/* 026EF8 800262F8 8C980000 */ lw $t8, ($a0) +/* 026EFC 800262FC AD040004 */ sw $a0, 4($t0) +/* 026F00 80026300 24A50070 */ addiu $a1, $a1, 0x70 +/* 026F04 80026304 AD180000 */ sw $t8, ($t0) +/* 026F08 80026308 8C890000 */ lw $t1, ($a0) +/* 026F0C 8002630C 51200003 */ beql $t1, $zero, .L8002631C_ovl0 +/* 026F10 80026310 AC880000 */ sw $t0, ($a0) +/* 026F14 80026314 AD280004 */ sw $t0, 4($t1) +/* 026F18 80026318 AC880000 */ sw $t0, ($a0) +.L8002631C_ovl0: +/* 026F1C 8002631C AD040020 */ sw $a0, 0x20($t0) +/* 026F20 80026320 AD08001C */ sw $t0, 0x1c($t0) +/* 026F24 80026324 8C890000 */ lw $t1, ($a0) +/* 026F28 80026328 51200003 */ beql $t1, $zero, .L80026338_ovl0 +/* 026F2C 8002632C AC8A0000 */ sw $t2, ($a0) +/* 026F30 80026330 AD2A0004 */ sw $t2, 4($t1) +/* 026F34 80026334 AC8A0000 */ sw $t2, ($a0) +.L80026338_ovl0: +/* 026F38 80026338 AD04003C */ sw $a0, 0x3c($t0) +/* 026F3C 8002633C AD0A0038 */ sw $t2, 0x38($t0) +/* 026F40 80026340 8C890000 */ lw $t1, ($a0) +/* 026F44 80026344 254A0070 */ addiu $t2, $t2, 0x70 +/* 026F48 80026348 51200003 */ beql $t1, $zero, .L80026358_ovl0 +/* 026F4C 8002634C AC8B0000 */ sw $t3, ($a0) +/* 026F50 80026350 AD2B0004 */ sw $t3, 4($t1) +/* 026F54 80026354 AC8B0000 */ sw $t3, ($a0) +.L80026358_ovl0: +/* 026F58 80026358 AD040058 */ sw $a0, 0x58($t0) +/* 026F5C 8002635C AD0B0054 */ sw $t3, 0x54($t0) +/* 026F60 80026360 8C890000 */ lw $t1, ($a0) +/* 026F64 80026364 256B0070 */ addiu $t3, $t3, 0x70 +/* 026F68 80026368 01801825 */ move $v1, $t4 +/* 026F6C 8002636C 11200002 */ beqz $t1, .L80026378_ovl0 +/* 026F70 80026370 25080070 */ addiu $t0, $t0, 0x70 +/* 026F74 80026374 AD2C0004 */ sw $t4, 4($t1) +.L80026378_ovl0: +/* 026F78 80026378 AC830000 */ sw $v1, ($a0) +/* 026F7C 8002637C 14ADFFDE */ bne $a1, $t5, .L800262F8_ovl0 +/* 026F80 80026380 258C0070 */ addiu $t4, $t4, 0x70 +.L80026384_ovl0: +/* 026F84 80026384 03E00008 */ jr $ra +/* 026F88 80026388 00000000 */ nop + +glabel func_8002638C +/* 026F8C 8002638C 3C018004 */ lui $at, %hi(D_8003FB1C) +/* 026F90 80026390 AFA40000 */ sw $a0, ($sp) +/* 026F94 80026394 03E00008 */ jr $ra +/* 026F98 80026398 A424FB1C */ sh $a0, %lo(D_8003FB1C)($at) + +glabel func_8002639C +/* 026F9C 8002639C 44802000 */ mtc1 $zero, $f4 +/* 026FA0 800263A0 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 026FA4 800263A4 4604603E */ c.le.s $f12, $f4 +/* 026FA8 800263A8 00000000 */ nop +/* 026FAC 800263AC 45020006 */ bc1fl .L800263C8_ovl0 +/* 026FB0 800263B0 44813000 */ mtc1 $at, $f6 +/* 026FB4 800263B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 026FB8 800263B8 44816000 */ mtc1 $at, $f12 +/* 026FBC 800263BC 10000009 */ b .L800263E4_ovl0 +/* 026FC0 800263C0 00000000 */ nop +/* 026FC4 800263C4 44813000 */ mtc1 $at, $f6 +.L800263C8_ovl0: +/* 026FC8 800263C8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 026FCC 800263CC 460C303C */ c.lt.s $f6, $f12 +/* 026FD0 800263D0 00000000 */ nop +/* 026FD4 800263D4 45000003 */ bc1f .L800263E4_ovl0 +/* 026FD8 800263D8 00000000 */ nop +/* 026FDC 800263DC 44816000 */ mtc1 $at, $f12 +/* 026FE0 800263E0 00000000 */ nop +.L800263E4_ovl0: +/* 026FE4 800263E4 3C018004 */ lui $at, %hi(D_8003FB18) +/* 026FE8 800263E8 03E00008 */ jr $ra +/* 026FEC 800263EC E42CFB18 */ swc1 $f12, %lo(D_8003FB18)($at) + +glabel func_800263F0 +/* 026FF0 800263F0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 026FF4 800263F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 026FF8 800263F8 8C8E0034 */ lw $t6, 0x34($a0) +/* 026FFC 800263FC 24010001 */ li $at, 1 +/* 027000 80026400 00803825 */ move $a3, $a0 +/* 027004 80026404 55C10013 */ bnel $t6, $at, .L80026454_ovl0 +/* 027008 80026408 8FBF0014 */ lw $ra, 0x14($sp) +/* 02700C 8002640C 8C840018 */ lw $a0, 0x18($a0) +/* 027010 80026410 27A5001C */ addiu $a1, $sp, 0x1c +/* 027014 80026414 5080000F */ beql $a0, $zero, .L80026454_ovl0 +/* 027018 80026418 8FBF0014 */ lw $ra, 0x14($sp) +/* 02701C 8002641C 0C00977A */ jal func_80025DE8 +/* 027020 80026420 AFA70030 */ sw $a3, 0x30($sp) +/* 027024 80026424 1040000A */ beqz $v0, .L80026450_ovl0 +/* 027028 80026428 8FA70030 */ lw $a3, 0x30($sp) +/* 02702C 8002642C A7A00020 */ sh $zero, 0x20($sp) +/* 027030 80026430 8CEF002C */ lw $t7, 0x2c($a3) +/* 027034 80026434 8FB8001C */ lw $t8, 0x1c($sp) +/* 027038 80026438 24E40050 */ addiu $a0, $a3, 0x50 +/* 02703C 8002643C 27A50020 */ addiu $a1, $sp, 0x20 +/* 027040 80026440 01F80019 */ multu $t7, $t8 +/* 027044 80026444 00003012 */ mflo $a2 +/* 027048 80026448 0C009818 */ jal func_80026060 +/* 02704C 8002644C 00000000 */ nop +.L80026450_ovl0: +/* 027050 80026450 8FBF0014 */ lw $ra, 0x14($sp) +.L80026454_ovl0: +/* 027054 80026454 27BD0030 */ addiu $sp, $sp, 0x30 +/* 027058 80026458 03E00008 */ jr $ra +/* 02705C 8002645C 00000000 */ nop + +glabel func_80026460 +/* 027060 80026460 8C820018 */ lw $v0, 0x18($a0) +/* 027064 80026464 241801E8 */ li $t8, 488 +/* 027068 80026468 50400008 */ beql $v0, $zero, .L8002648C_ovl0 +/* 02706C 8002646C AC98002C */ sw $t8, 0x2c($a0) +/* 027070 80026470 C4440008 */ lwc1 $f4, 8($v0) +/* 027074 80026474 46046182 */ mul.s $f6, $f12, $f4 +/* 027078 80026478 4600320D */ trunc.w.s $f8, $f6 +/* 02707C 8002647C 440F4000 */ mfc1 $t7, $f8 +/* 027080 80026480 03E00008 */ jr $ra +/* 027084 80026484 AC8F002C */ sw $t7, 0x2c($a0) + +glabel func_80026488 +/* 027088 80026488 AC98002C */ sw $t8, 0x2c($a0) +.L8002648C_ovl0: +/* 02708C 8002648C 03E00008 */ jr $ra +/* 027090 80026490 00000000 */ nop + +glabel func_80026494 +/* 027094 80026494 03E00008 */ jr $ra +/* 027098 80026498 00000000 */ nop + +glabel func_8002649C +/* 02709C 8002649C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0270A0 800264A0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0270A4 800264A4 90AE0008 */ lbu $t6, 8($a1) +/* 0270A8 800264A8 240100FF */ li $at, 255 +/* 0270AC 800264AC 00009825 */ move $s3, $zero +/* 0270B0 800264B0 15C10075 */ bne $t6, $at, .L80026688_ovl0 +/* 0270B4 800264B4 00008025 */ move $s0, $zero +/* 0270B8 800264B8 90AF0009 */ lbu $t7, 9($a1) +/* 0270BC 800264BC 24010051 */ li $at, 81 +/* 0270C0 800264C0 24A20004 */ addiu $v0, $a1, 4 +/* 0270C4 800264C4 55E10071 */ bnel $t7, $at, .L8002668C_ovl0 +/* 0270C8 800264C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0270CC 800264CC 904E0008 */ lbu $t6, 8($v0) +/* 0270D0 800264D0 90580007 */ lbu $t8, 7($v0) +/* 0270D4 800264D4 8ED7002C */ lw $s7, 0x2c($s6) +/* 0270D8 800264D8 000E7A00 */ sll $t7, $t6, 8 +/* 0270DC 800264DC 904E0009 */ lbu $t6, 9($v0) +/* 0270E0 800264E0 0018CC00 */ sll $t9, $t8, 0x10 +/* 0270E4 800264E4 032FC025 */ or $t8, $t9, $t7 +/* 0270E8 800264E8 030E1825 */ or $v1, $t8, $t6 +/* 0270EC 800264EC 44832000 */ mtc1 $v1, $f4 +/* 0270F0 800264F0 02C02025 */ move $a0, $s6 +/* 0270F4 800264F4 0C009918 */ jal func_80026460 +/* 0270F8 800264F8 46802320 */ cvt.s.w $f12, $f4 +/* 0270FC 800264FC 8ED10058 */ lw $s1, 0x58($s6) +/* 027100 80026500 12200021 */ beqz $s1, .L80026588_ovl0 +/* 027104 80026504 00000000 */ nop +/* 027108 80026508 24140015 */ li $s4, 21 +.L8002650C_ovl0: +/* 02710C 8002650C 862F000C */ lh $t7, 0xc($s1) +/* 027110 80026510 8E390008 */ lw $t9, 8($s1) +/* 027114 80026514 8E320000 */ lw $s2, ($s1) +/* 027118 80026518 168F0019 */ bne $s4, $t7, .L80026580_ovl0 +/* 02711C 8002651C 02799821 */ addu $s3, $s3, $t9 +/* 027120 80026520 0C0097DD */ jal func_80025F74 +/* 027124 80026524 02202025 */ move $a0, $s1 +/* 027128 80026528 5200000B */ beql $s0, $zero, .L80026558_ovl0 +/* 02712C 8002652C AE200000 */ sw $zero, ($s1) +/* 027130 80026530 8E180000 */ lw $t8, ($s0) +/* 027134 80026534 AE300004 */ sw $s0, 4($s1) +/* 027138 80026538 AE380000 */ sw $t8, ($s1) +/* 02713C 8002653C 8E020000 */ lw $v0, ($s0) +/* 027140 80026540 10400002 */ beqz $v0, .L8002654C_ovl0 +/* 027144 80026544 00000000 */ nop +/* 027148 80026548 AC510004 */ sw $s1, 4($v0) +.L8002654C_ovl0: +/* 02714C 8002654C 10000004 */ b .L80026560_ovl0 +/* 027150 80026550 AE110000 */ sw $s1, ($s0) +/* 027154 80026554 AE200000 */ sw $zero, ($s1) +.L80026558_ovl0: +/* 027158 80026558 AE200004 */ sw $zero, 4($s1) +/* 02715C 8002655C 02208025 */ move $s0, $s1 +.L80026560_ovl0: +/* 027160 80026560 12400006 */ beqz $s2, .L8002657C_ovl0 +/* 027164 80026564 02601825 */ move $v1, $s3 +/* 027168 80026568 8E220008 */ lw $v0, 8($s1) +/* 02716C 8002656C 8E4E0008 */ lw $t6, 8($s2) +/* 027170 80026570 02629823 */ subu $s3, $s3, $v0 +/* 027174 80026574 01C2C821 */ addu $t9, $t6, $v0 +/* 027178 80026578 AE590008 */ sw $t9, 8($s2) +.L8002657C_ovl0: +/* 02717C 8002657C AE230008 */ sw $v1, 8($s1) +.L80026580_ovl0: +/* 027180 80026580 1640FFE2 */ bnez $s2, .L8002650C_ovl0 +/* 027184 80026584 02408825 */ move $s1, $s2 +.L80026588_ovl0: +/* 027188 80026588 1200003F */ beqz $s0, .L80026688_ovl0 +/* 02718C 8002658C 02008825 */ move $s1, $s0 +/* 027190 80026590 26D30050 */ addiu $s3, $s6, 0x50 +/* 027194 80026594 26740008 */ addiu $s4, $s3, 8 +/* 027198 80026598 2415FFF8 */ li $s5, -8 +.L8002659C_ovl0: +/* 02719C 8002659C 8E2F0008 */ lw $t7, 8($s1) +/* 0271A0 800265A0 8ED8002C */ lw $t8, 0x2c($s6) +/* 0271A4 800265A4 8E320000 */ lw $s2, ($s1) +/* 0271A8 800265A8 01F7001A */ div $zero, $t7, $s7 +/* 0271AC 800265AC 00001012 */ mflo $v0 +/* 0271B0 800265B0 24040001 */ li $a0, 1 +/* 0271B4 800265B4 16E00002 */ bnez $s7, .L800265C0_ovl0 +/* 0271B8 800265B8 00000000 */ nop +/* 0271BC 800265BC 0007000D */ break 7 +.L800265C0_ovl0: +/* 0271C0 800265C0 2401FFFF */ li $at, -1 +/* 0271C4 800265C4 16E10004 */ bne $s7, $at, .L800265D8_ovl0 +/* 0271C8 800265C8 3C018000 */ lui $at, 0x8000 +/* 0271CC 800265CC 15E10002 */ bne $t7, $at, .L800265D8_ovl0 +/* 0271D0 800265D0 00000000 */ nop +/* 0271D4 800265D4 0006000D */ break 6 +.L800265D8_ovl0: +/* 0271D8 800265D8 03020019 */ multu $t8, $v0 +/* 0271DC 800265DC 02808025 */ move $s0, $s4 +/* 0271E0 800265E0 00007012 */ mflo $t6 +/* 0271E4 800265E4 AE2E0008 */ sw $t6, 8($s1) +/* 0271E8 800265E8 0C00B590 */ jal osSetIntMask +/* 0271EC 800265EC 00000000 */ nop +/* 0271F0 800265F0 12750021 */ beq $s3, $s5, .L80026678_ovl0 +/* 0271F4 800265F4 00403025 */ move $a2, $v0 +/* 0271F8 800265F8 8E040000 */ lw $a0, ($s0) +.L800265FC_ovl0: +/* 0271FC 800265FC 5480000A */ bnezl $a0, .L80026628_ovl0 +/* 027200 80026600 8E220008 */ lw $v0, 8($s1) +/* 027204 80026604 AE240000 */ sw $a0, ($s1) +/* 027208 80026608 AE300004 */ sw $s0, 4($s1) +/* 02720C 8002660C 8E040000 */ lw $a0, ($s0) +/* 027210 80026610 10800002 */ beqz $a0, .L8002661C_ovl0 +/* 027214 80026614 00000000 */ nop +/* 027218 80026618 AC910004 */ sw $s1, 4($a0) +.L8002661C_ovl0: +/* 02721C 8002661C 10000016 */ b .L80026678_ovl0 +/* 027220 80026620 AE110000 */ sw $s1, ($s0) +/* 027224 80026624 8E220008 */ lw $v0, 8($s1) +.L80026628_ovl0: +/* 027228 80026628 8C830008 */ lw $v1, 8($a0) +/* 02722C 8002662C 00802825 */ move $a1, $a0 +/* 027230 80026630 0043082A */ slt $at, $v0, $v1 +/* 027234 80026634 1020000C */ beqz $at, .L80026668_ovl0 +/* 027238 80026638 0043C023 */ subu $t8, $v0, $v1 +/* 02723C 8002663C 0062C823 */ subu $t9, $v1, $v0 +/* 027240 80026640 AC990008 */ sw $t9, 8($a0) +/* 027244 80026644 8E0F0000 */ lw $t7, ($s0) +/* 027248 80026648 AE300004 */ sw $s0, 4($s1) +/* 02724C 8002664C AE2F0000 */ sw $t7, ($s1) +/* 027250 80026650 8E040000 */ lw $a0, ($s0) +/* 027254 80026654 10800002 */ beqz $a0, .L80026660_ovl0 +/* 027258 80026658 00000000 */ nop +/* 02725C 8002665C AC910004 */ sw $s1, 4($a0) +.L80026660_ovl0: +/* 027260 80026660 10000005 */ b .L80026678_ovl0 +/* 027264 80026664 AE110000 */ sw $s1, ($s0) +.L80026668_ovl0: +/* 027268 80026668 AE380008 */ sw $t8, 8($s1) +/* 02726C 8002666C 8E100000 */ lw $s0, ($s0) +/* 027270 80026670 5600FFE2 */ bnezl $s0, .L800265FC_ovl0 +/* 027274 80026674 8E040000 */ lw $a0, ($s0) +.L80026678_ovl0: +/* 027278 80026678 0C00B590 */ jal osSetIntMask +/* 02727C 8002667C 00C02025 */ move $a0, $a2 +/* 027280 80026680 1640FFC6 */ bnez $s2, .L8002659C_ovl0 +/* 027284 80026684 02408825 */ move $s1, $s2 +.L80026688_ovl0: +/* 027288 80026688 8FBF0014 */ lw $ra, 0x14($sp) +.L8002668C_ovl0: +/* 02728C 8002668C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 027290 80026690 03E00008 */ jr $ra +/* 027294 80026694 00000000 */ nop + +glabel func_80026698 +/* 027298 80026698 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 02729C 8002669C AFB20020 */ sw $s2, 0x20($sp) +/* 0272A0 800266A0 3C128009 */ lui $s2, %hi(D_800978E0) # $s2, 0x8009 +/* 0272A4 800266A4 265278E0 */ addiu $s2, %lo(D_800978E0) # addiu $s2, $s2, 0x78e0 +/* 0272A8 800266A8 AFB1001C */ sw $s1, 0x1c($sp) +/* 0272AC 800266AC 8E51003C */ lw $s1, 0x3c($s2) +/* 0272B0 800266B0 AFB40028 */ sw $s4, 0x28($sp) +/* 0272B4 800266B4 AFBF002C */ sw $ra, 0x2c($sp) +/* 0272B8 800266B8 AFB30024 */ sw $s3, 0x24($sp) +/* 0272BC 800266BC AFB00018 */ sw $s0, 0x18($sp) +/* 0272C0 800266C0 AFA40030 */ sw $a0, 0x30($sp) +/* 0272C4 800266C4 12200032 */ beqz $s1, .L80026790_ovl0 +/* 0272C8 800266C8 0000A025 */ move $s4, $zero +.L800266CC_ovl0: +/* 0272CC 800266CC 922E002A */ lbu $t6, 0x2a($s1) +/* 0272D0 800266D0 8E330000 */ lw $s3, ($s1) +/* 0272D4 800266D4 26300004 */ addiu $s0, $s1, 4 +/* 0272D8 800266D8 55C0002B */ bnezl $t6, .L80026788_ovl0 +/* 0272DC 800266DC 0220A025 */ move $s4, $s1 +/* 0272E0 800266E0 0C00AA9C */ jal func_8002AA70 +/* 0272E4 800266E4 02002025 */ move $a0, $s0 +/* 0272E8 800266E8 0C00B46C */ jal func_8002D1B0 +/* 0272EC 800266EC 02002025 */ move $a0, $s0 +/* 0272F0 800266F0 8E500040 */ lw $s0, 0x40($s2) +/* 0272F4 800266F4 52000009 */ beql $s0, $zero, .L8002671C_ovl0 +/* 0272F8 800266F8 8E240044 */ lw $a0, 0x44($s1) +/* 0272FC 800266FC 8E0F0028 */ lw $t7, 0x28($s0) +.L80026700_ovl0: +/* 027300 80026700 562F0003 */ bnel $s1, $t7, .L80026710_ovl0 +/* 027304 80026704 8E100000 */ lw $s0, ($s0) +/* 027308 80026708 AE000028 */ sw $zero, 0x28($s0) +/* 02730C 8002670C 8E100000 */ lw $s0, ($s0) +.L80026710_ovl0: +/* 027310 80026710 5600FFFB */ bnezl $s0, .L80026700_ovl0 +/* 027314 80026714 8E0F0028 */ lw $t7, 0x28($s0) +/* 027318 80026718 8E240044 */ lw $a0, 0x44($s1) +.L8002671C_ovl0: +/* 02731C 8002671C 1080000E */ beqz $a0, .L80026758_ovl0 +/* 027320 80026720 00000000 */ nop +/* 027324 80026724 8C820000 */ lw $v0, ($a0) +/* 027328 80026728 00801825 */ move $v1, $a0 +/* 02732C 8002672C 50400006 */ beql $v0, $zero, .L80026748_ovl0 +/* 027330 80026730 8E580030 */ lw $t8, 0x30($s2) +/* 027334 80026734 00401825 */ move $v1, $v0 +.L80026738_ovl0: +/* 027338 80026738 8C420000 */ lw $v0, ($v0) +/* 02733C 8002673C 5440FFFE */ bnezl $v0, .L80026738_ovl0 +/* 027340 80026740 00401825 */ move $v1, $v0 +/* 027344 80026744 8E580030 */ lw $t8, 0x30($s2) +.L80026748_ovl0: +/* 027348 80026748 AC780000 */ sw $t8, ($v1) +/* 02734C 8002674C 8E390044 */ lw $t9, 0x44($s1) +/* 027350 80026750 AE590030 */ sw $t9, 0x30($s2) +/* 027354 80026754 AE200044 */ sw $zero, 0x44($s1) +.L80026758_ovl0: +/* 027358 80026758 12800004 */ beqz $s4, .L8002676C_ovl0 +/* 02735C 8002675C A6200048 */ sh $zero, 0x48($s1) +/* 027360 80026760 8E280000 */ lw $t0, ($s1) +/* 027364 80026764 10000003 */ b .L80026774_ovl0 +/* 027368 80026768 AE880000 */ sw $t0, ($s4) +.L8002676C_ovl0: +/* 02736C 8002676C 8E290000 */ lw $t1, ($s1) +/* 027370 80026770 AE49003C */ sw $t1, 0x3c($s2) +.L80026774_ovl0: +/* 027374 80026774 8E4A0034 */ lw $t2, 0x34($s2) +/* 027378 80026778 AE2A0000 */ sw $t2, ($s1) +/* 02737C 8002677C 10000002 */ b .L80026788_ovl0 +/* 027380 80026780 AE510034 */ sw $s1, 0x34($s2) +/* 027384 80026784 0220A025 */ move $s4, $s1 +.L80026788_ovl0: +/* 027388 80026788 1660FFD0 */ bnez $s3, .L800266CC_ovl0 +/* 02738C 8002678C 02608825 */ move $s1, $s3 +.L80026790_ovl0: +/* 027390 80026790 8E500040 */ lw $s0, 0x40($s2) +/* 027394 80026794 52000007 */ beql $s0, $zero, .L800267B4_ovl0 +/* 027398 80026798 8E51003C */ lw $s1, 0x3c($s2) +.L8002679C_ovl0: +/* 02739C 8002679C 0C008FA0 */ jal func_80023E80 +/* 0273A0 800267A0 02002025 */ move $a0, $s0 +/* 0273A4 800267A4 8E100000 */ lw $s0, ($s0) +/* 0273A8 800267A8 1600FFFC */ bnez $s0, .L8002679C_ovl0 +/* 0273AC 800267AC 00000000 */ nop +/* 0273B0 800267B0 8E51003C */ lw $s1, 0x3c($s2) +.L800267B4_ovl0: +/* 0273B4 800267B4 52200007 */ beql $s1, $zero, .L800267D4_ovl0 +/* 0273B8 800267B8 8E500040 */ lw $s0, 0x40($s2) +.L800267BC_ovl0: +/* 0273BC 800267BC 0C0091D4 */ jal func_80024750 +/* 0273C0 800267C0 02202025 */ move $a0, $s1 +/* 0273C4 800267C4 8E310000 */ lw $s1, ($s1) +/* 0273C8 800267C8 1620FFFC */ bnez $s1, .L800267BC_ovl0 +/* 0273CC 800267CC 00000000 */ nop +/* 0273D0 800267D0 8E500040 */ lw $s0, 0x40($s2) +.L800267D4_ovl0: +/* 0273D4 800267D4 00001025 */ move $v0, $zero +/* 0273D8 800267D8 3404FFFF */ li $a0, 65535 +/* 0273DC 800267DC 12000014 */ beqz $s0, .L80026830_ovl0 +/* 0273E0 800267E0 00000000 */ nop +.L800267E4_ovl0: +/* 0273E4 800267E4 960B0010 */ lhu $t3, 0x10($s0) +/* 0273E8 800267E8 8E030000 */ lw $v1, ($s0) +/* 0273EC 800267EC 548B000E */ bnel $a0, $t3, .L80026828_ovl0 +/* 0273F0 800267F0 02001025 */ move $v0, $s0 +/* 0273F4 800267F4 A6000010 */ sh $zero, 0x10($s0) +/* 0273F8 800267F8 10400004 */ beqz $v0, .L8002680C_ovl0 +/* 0273FC 800267FC A6000026 */ sh $zero, 0x26($s0) +/* 027400 80026800 8E0C0000 */ lw $t4, ($s0) +/* 027404 80026804 10000003 */ b .L80026814_ovl0 +/* 027408 80026808 AC4C0000 */ sw $t4, ($v0) +.L8002680C_ovl0: +/* 02740C 8002680C 8E0D0000 */ lw $t5, ($s0) +/* 027410 80026810 AE4D0040 */ sw $t5, 0x40($s2) +.L80026814_ovl0: +/* 027414 80026814 8E4E0038 */ lw $t6, 0x38($s2) +/* 027418 80026818 AE0E0000 */ sw $t6, ($s0) +/* 02741C 8002681C 10000002 */ b .L80026828_ovl0 +/* 027420 80026820 AE500038 */ sw $s0, 0x38($s2) +/* 027424 80026824 02001025 */ move $v0, $s0 +.L80026828_ovl0: +/* 027428 80026828 1460FFEE */ bnez $v1, .L800267E4_ovl0 +/* 02742C 8002682C 00608025 */ move $s0, $v1 +.L80026830_ovl0: +/* 027430 80026830 3C028004 */ lui $v0, %hi(D_8003FB24) # $v0, 0x8004 +/* 027434 80026834 2442FB24 */ addiu $v0, %lo(D_8003FB24) # addiu $v0, $v0, -0x4dc +/* 027438 80026838 8C4F0000 */ lw $t7, ($v0) +/* 02743C 8002683C 3C010026 */ lui $at, (0x00269EC3 >> 16) # lui $at, 0x26 +/* 027440 80026840 34219EC3 */ ori $at, (0x00269EC3 & 0xFFFF) # ori $at, $at, 0x9ec3 +/* 027444 80026844 000FC080 */ sll $t8, $t7, 2 +/* 027448 80026848 030FC023 */ subu $t8, $t8, $t7 +/* 02744C 8002684C 0018C080 */ sll $t8, $t8, 2 +/* 027450 80026850 030FC021 */ addu $t8, $t8, $t7 +/* 027454 80026854 0018C100 */ sll $t8, $t8, 4 +/* 027458 80026858 030FC021 */ addu $t8, $t8, $t7 +/* 02745C 8002685C 0018C200 */ sll $t8, $t8, 8 +/* 027460 80026860 030FC023 */ subu $t8, $t8, $t7 +/* 027464 80026864 0018C080 */ sll $t8, $t8, 2 +/* 027468 80026868 030FC021 */ addu $t8, $t8, $t7 +/* 02746C 8002686C 0301C821 */ addu $t9, $t8, $at +/* 027470 80026870 AC590000 */ sw $t9, ($v0) +/* 027474 80026874 8FBF002C */ lw $ra, 0x2c($sp) +/* 027478 80026878 8E420044 */ lw $v0, 0x44($s2) +/* 02747C 8002687C 8FB20020 */ lw $s2, 0x20($sp) +/* 027480 80026880 8FB40028 */ lw $s4, 0x28($sp) +/* 027484 80026884 8FB30024 */ lw $s3, 0x24($sp) +/* 027488 80026888 8FB1001C */ lw $s1, 0x1c($sp) +/* 02748C 8002688C 8FB00018 */ lw $s0, 0x18($sp) +/* 027490 80026890 03E00008 */ jr $ra +/* 027494 80026894 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80026898 +/* 027498 80026898 5480000C */ bnezl $a0, .L800268CC_ovl0 +/* 02749C 8002689C 44842000 */ mtc1 $a0, $f4 +/* 0274A0 800268A0 460C703E */ c.le.s $f14, $f12 +/* 0274A4 800268A4 340EFFFF */ li $t6, 65535 +/* 0274A8 800268A8 00001025 */ move $v0, $zero +/* 0274AC 800268AC 45000004 */ bc1f .L800268C0_ovl0 +/* 0274B0 800268B0 00000000 */ nop +/* 0274B4 800268B4 A4AE0000 */ sh $t6, ($a1) +/* 0274B8 800268B8 03E00008 */ jr $ra +/* 0274BC 800268BC 24027FFF */ li $v0, 32767 + +.L800268C0_ovl0: +/* 0274C0 800268C0 03E00008 */ jr $ra +/* 0274C4 800268C4 A4A00000 */ sh $zero, ($a1) + +glabel func_800268C8 +/* 0274C8 800268C8 44842000 */ mtc1 $a0, $f4 +.L800268CC_ovl0: +/* 0274CC 800268CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0274D0 800268D0 44819000 */ mtc1 $at, $f18 +/* 0274D4 800268D4 468021A0 */ cvt.s.w $f6, $f4 +/* 0274D8 800268D8 44804000 */ mtc1 $zero, $f8 +/* 0274DC 800268DC 4612603C */ c.lt.s $f12, $f18 +/* 0274E0 800268E0 46069003 */ div.s $f0, $f18, $f6 +/* 0274E4 800268E4 45020003 */ bc1fl .L800268F4_ovl0 +/* 0274E8 800268E8 4608703E */ c.le.s $f14, $f8 +/* 0274EC 800268EC 46009306 */ mov.s $f12, $f18 +/* 0274F0 800268F0 4608703E */ c.le.s $f14, $f8 +.L800268F4_ovl0: +/* 0274F4 800268F4 00000000 */ nop +/* 0274F8 800268F8 45020003 */ bc1fl .L80026908_ovl0 +/* 0274FC 800268FC 460E6281 */ sub.s $f10, $f12, $f14 +/* 027500 80026900 46009386 */ mov.s $f14, $f18 +/* 027504 80026904 460E6281 */ sub.s $f10, $f12, $f14 +.L80026908_ovl0: +/* 027508 80026908 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 02750C 8002690C 44813000 */ mtc1 $at, $f6 +/* 027510 80026910 3C018004 */ lui $at, %hi(D_800414C4) # $at, 0x8004 +/* 027514 80026914 46005102 */ mul.s $f4, $f10, $f0 +/* 027518 80026918 240E0001 */ li $t6, 1 +/* 02751C 8002691C 46062082 */ mul.s $f2, $f4, $f6 +/* 027520 80026920 4600120D */ trunc.w.s $f8, $f2 +/* 027524 80026924 44034000 */ mfc1 $v1, $f8 +/* 027528 80026928 00000000 */ nop +/* 02752C 8002692C 00031C00 */ sll $v1, $v1, 0x10 +/* 027530 80026930 00031C03 */ sra $v1, $v1, 0x10 +/* 027534 80026934 44835000 */ mtc1 $v1, $f10 +/* 027538 80026938 00000000 */ nop +/* 02753C 8002693C 46805120 */ cvt.s.w $f4, $f10 +/* 027540 80026940 C42A14C4 */ lwc1 $f10, %lo(D_800414C4)($at) +/* 027544 80026944 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 027548 80026948 46041181 */ sub.s $f6, $f2, $f4 +/* 02754C 8002694C 46123400 */ add.s $f16, $f6, $f18 +/* 027550 80026950 4600820D */ trunc.w.s $f8, $f16 +/* 027554 80026954 44044000 */ mfc1 $a0, $f8 +/* 027558 80026958 00000000 */ nop +/* 02755C 8002695C 00042400 */ sll $a0, $a0, 0x10 +/* 027560 80026960 00042403 */ sra $a0, $a0, 0x10 +/* 027564 80026964 44842000 */ mtc1 $a0, $f4 +/* 027568 80026968 00000000 */ nop +/* 02756C 8002696C 468021A0 */ cvt.s.w $f6, $f4 +/* 027570 80026970 46068201 */ sub.s $f8, $f16, $f6 +/* 027574 80026974 46085102 */ mul.s $f4, $f10, $f8 +/* 027578 80026978 4459F800 */ cfc1 $t9, $31 +/* 02757C 8002697C 44CEF800 */ ctc1 $t6, $31 +/* 027580 80026980 00000000 */ nop +/* 027584 80026984 460021A4 */ cvt.w.s $f6, $f4 +/* 027588 80026988 444EF800 */ cfc1 $t6, $31 +/* 02758C 8002698C 00000000 */ nop +/* 027590 80026990 31CE0078 */ andi $t6, $t6, 0x78 +/* 027594 80026994 51C00013 */ beql $t6, $zero, .L800269E4_ovl0 +/* 027598 80026998 440E3000 */ mfc1 $t6, $f6 +/* 02759C 8002699C 44813000 */ mtc1 $at, $f6 +/* 0275A0 800269A0 240E0001 */ li $t6, 1 +/* 0275A4 800269A4 46062181 */ sub.s $f6, $f4, $f6 +/* 0275A8 800269A8 44CEF800 */ ctc1 $t6, $31 +/* 0275AC 800269AC 00000000 */ nop +/* 0275B0 800269B0 460031A4 */ cvt.w.s $f6, $f6 +/* 0275B4 800269B4 444EF800 */ cfc1 $t6, $31 +/* 0275B8 800269B8 00000000 */ nop +/* 0275BC 800269BC 31CE0078 */ andi $t6, $t6, 0x78 +/* 0275C0 800269C0 15C00005 */ bnez $t6, .L800269D8_ovl0 +/* 0275C4 800269C4 00000000 */ nop +/* 0275C8 800269C8 440E3000 */ mfc1 $t6, $f6 +/* 0275CC 800269CC 3C018000 */ lui $at, 0x8000 +/* 0275D0 800269D0 10000007 */ b .L800269F0_ovl0 +/* 0275D4 800269D4 01C17025 */ or $t6, $t6, $at +.L800269D8_ovl0: +/* 0275D8 800269D8 10000005 */ b .L800269F0_ovl0 +/* 0275DC 800269DC 240EFFFF */ li $t6, -1 +/* 0275E0 800269E0 440E3000 */ mfc1 $t6, $f6 +.L800269E4_ovl0: +/* 0275E4 800269E4 00000000 */ nop +/* 0275E8 800269E8 05C0FFFB */ bltz $t6, .L800269D8_ovl0 +/* 0275EC 800269EC 00000000 */ nop +.L800269F0_ovl0: +/* 0275F0 800269F0 44D9F800 */ ctc1 $t9, $31 +/* 0275F4 800269F4 2479FFFF */ addiu $t9, $v1, -1 +/* 0275F8 800269F8 03241021 */ addu $v0, $t9, $a0 +/* 0275FC 800269FC 00021400 */ sll $v0, $v0, 0x10 +/* 027600 80026A00 A4AE0000 */ sh $t6, ($a1) +/* 027604 80026A04 00021403 */ sra $v0, $v0, 0x10 +/* 027608 80026A08 03E00008 */ jr $ra +/* 02760C 80026A0C 00000000 */ nop + +glabel func_80026A10 +/* 027610 80026A10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 027614 80026A14 AFB4002C */ sw $s4, 0x2c($sp) +/* 027618 80026A18 AFB60028 */ sw $s6, 0x28($sp) +/* 02761C 80026A1C 0016B400 */ sll $s6, $s6, 0x10 +/* 027620 80026A20 0014A400 */ sll $s4, $s4, 0x10 +/* 027624 80026A24 0014A403 */ sra $s4, $s4, 0x10 +/* 027628 80026A28 0016B403 */ sra $s6, $s6, 0x10 +/* 02762C 80026A2C 1A200017 */ blez $s1, .L80026A8C_ovl0 +/* 027630 80026A30 AFBF0014 */ sw $ra, 0x14($sp) +/* 027634 80026A34 8E590028 */ lw $t9, 0x28($s2) +/* 027638 80026A38 8E44003C */ lw $a0, 0x3c($s2) +/* 02763C 80026A3C 02202825 */ move $a1, $s1 +/* 027640 80026A40 0320F809 */ jalr $t9 +/* 027644 80026A44 8E46002C */ lw $a2, 0x2c($s2) +/* 027648 80026A48 30450007 */ andi $a1, $v0, 7 +/* 02764C 80026A4C 02258821 */ addu $s1, $s1, $a1 +/* 027650 80026A50 322E0007 */ andi $t6, $s1, 7 +/* 027654 80026A54 022E7823 */ subu $t7, $s1, $t6 +/* 027658 80026A58 25F80008 */ addiu $t8, $t7, 8 +/* 02765C 80026A5C 33190FFF */ andi $t9, $t8, 0xfff +/* 027660 80026A60 00197300 */ sll $t6, $t9, 0xc +/* 027664 80026A64 3C010400 */ lui $at, 0x400 +/* 027668 80026A68 01C17825 */ or $t7, $t6, $at +/* 02766C 80026A6C 32980FFF */ andi $t8, $s4, 0xfff +/* 027670 80026A70 02002025 */ move $a0, $s0 +/* 027674 80026A74 01F8C825 */ or $t9, $t7, $t8 +/* 027678 80026A78 00457023 */ subu $t6, $v0, $a1 +/* 02767C 80026A7C AC8E0004 */ sw $t6, 4($a0) +/* 027680 80026A80 AC990000 */ sw $t9, ($a0) +/* 027684 80026A84 10000002 */ b .L80026A90_ovl0 +/* 027688 80026A88 26100008 */ addiu $s0, $s0, 8 +.L80026A8C_ovl0: +/* 02768C 80026A8C 00002825 */ move $a1, $zero +.L80026A90_ovl0: +/* 027690 80026A90 326F0002 */ andi $t7, $s3, 2 +/* 027694 80026A94 11E00009 */ beqz $t7, .L80026ABC_ovl0 +/* 027698 80026A98 02001025 */ move $v0, $s0 +/* 02769C 80026A9C 3C180F00 */ lui $t8, 0xf00 +/* 0276A0 80026AA0 AC580000 */ sw $t8, ($v0) +/* 0276A4 80026AA4 8E590010 */ lw $t9, 0x10($s2) +/* 0276A8 80026AA8 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 0276AC 80026AAC 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0276B0 80026AB0 03217024 */ and $t6, $t9, $at +/* 0276B4 80026AB4 AC4E0004 */ sw $t6, 4($v0) +/* 0276B8 80026AB8 26100008 */ addiu $s0, $s0, 8 +.L80026ABC_ovl0: +/* 0276BC 80026ABC 8E4F000C */ lw $t7, 0xc($s2) +/* 0276C0 80026AC0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 0276C4 80026AC4 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0276C8 80026AC8 01E1C024 */ and $t8, $t7, $at +/* 0276CC 80026ACC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 0276D0 80026AD0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0276D4 80026AD4 0301C824 */ and $t9, $t8, $at +/* 0276D8 80026AD8 3C010100 */ lui $at, 0x100 +/* 0276DC 80026ADC 03217025 */ or $t6, $t9, $at +/* 0276E0 80026AE0 02001825 */ move $v1, $s0 +/* 0276E4 80026AE4 AC6E0000 */ sw $t6, ($v1) +/* 0276E8 80026AE8 0015C840 */ sll $t9, $s5, 1 +/* 0276EC 80026AEC 332E0FFF */ andi $t6, $t9, 0xfff +/* 0276F0 80026AF0 000E7C00 */ sll $t7, $t6, 0x10 +/* 0276F4 80026AF4 0013C700 */ sll $t8, $s3, 0x1c +/* 0276F8 80026AF8 030FC825 */ or $t9, $t8, $t7 +/* 0276FC 80026AFC 30AE000F */ andi $t6, $a1, 0xf +/* 027700 80026B00 000EC300 */ sll $t8, $t6, 0xc +/* 027704 80026B04 03387825 */ or $t7, $t9, $t8 +/* 027708 80026B08 32CE0FFF */ andi $t6, $s6, 0xfff +/* 02770C 80026B0C 01EEC825 */ or $t9, $t7, $t6 +/* 027710 80026B10 AC790004 */ sw $t9, 4($v1) +/* 027714 80026B14 AE400038 */ sw $zero, 0x38($s2) +/* 027718 80026B18 8FBF0014 */ lw $ra, 0x14($sp) +/* 02771C 80026B1C 26100008 */ addiu $s0, $s0, 8 +/* 027720 80026B20 02001025 */ move $v0, $s0 +/* 027724 80026B24 03E00008 */ jr $ra +/* 027728 80026B28 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_80026B2C +/* 02772C 80026B2C 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 027730 80026B30 AFB70044 */ sw $s7, 0x44($sp) +/* 027734 80026B34 0080B825 */ move $s7, $a0 +/* 027738 80026B38 AFBF004C */ sw $ra, 0x4c($sp) +/* 02773C 80026B3C AFBE0048 */ sw $fp, 0x48($sp) +/* 027740 80026B40 AFB60040 */ sw $s6, 0x40($sp) +/* 027744 80026B44 AFB5003C */ sw $s5, 0x3c($sp) +/* 027748 80026B48 AFB40038 */ sw $s4, 0x38($sp) +/* 02774C 80026B4C AFB30034 */ sw $s3, 0x34($sp) +/* 027750 80026B50 AFB20030 */ sw $s2, 0x30($sp) +/* 027754 80026B54 AFB1002C */ sw $s1, 0x2c($sp) +/* 027758 80026B58 AFB00028 */ sw $s0, 0x28($sp) +/* 02775C 80026B5C 00A05825 */ move $t3, $a1 +/* 027760 80026B60 00C04025 */ move $t0, $a2 +/* 027764 80026B64 14C00003 */ bnez $a2, .L80026B74_ovl0 +/* 027768 80026B68 00006825 */ move $t5, $zero +/* 02776C 80026B6C 10000102 */ b .L80026F78_ovl0 +/* 027770 80026B70 00E01025 */ move $v0, $a3 +.L80026B74_ovl0: +/* 027774 80026B74 8EEE0024 */ lw $t6, 0x24($s7) +/* 027778 80026B78 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 02777C 80026B7C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 027780 80026B80 01C17824 */ and $t7, $t6, $at +/* 027784 80026B84 3C010B00 */ lui $at, 0xb00 +/* 027788 80026B88 01E1C025 */ or $t8, $t7, $at +/* 02778C 80026B8C ACF80000 */ sw $t8, ($a3) +/* 027790 80026B90 8EF90020 */ lw $t9, 0x20($s7) +/* 027794 80026B94 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 027798 80026B98 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 02779C 80026B9C 8F2E0010 */ lw $t6, 0x10($t9) +/* 0277A0 80026BA0 24EA0008 */ addiu $t2, $a3, 8 +/* 0277A4 80026BA4 01002825 */ move $a1, $t0 +/* 0277A8 80026BA8 25CF0008 */ addiu $t7, $t6, 8 +/* 0277AC 80026BAC 01E1C024 */ and $t8, $t7, $at +/* 0277B0 80026BB0 ACF80004 */ sw $t8, 4($a3) +/* 0277B4 80026BB4 8EE30030 */ lw $v1, 0x30($s7) +/* 0277B8 80026BB8 8EE40018 */ lw $a0, 0x18($s7) +/* 0277BC 80026BBC 240E0010 */ li $t6, 16 +/* 0277C0 80026BC0 0068C821 */ addu $t9, $v1, $t0 +/* 0277C4 80026BC4 0099482B */ sltu $t1, $a0, $t9 +/* 0277C8 80026BC8 11200003 */ beqz $t1, .L80026BD8_ovl0 +/* 0277CC 80026BCC 00003025 */ move $a2, $zero +/* 0277D0 80026BD0 8EE9001C */ lw $t1, 0x1c($s7) +/* 0277D4 80026BD4 0009482B */ sltu $t1, $zero, $t1 +.L80026BD8_ovl0: +/* 0277D8 80026BD8 11200003 */ beqz $t1, .L80026BE8_ovl0 +/* 0277DC 80026BDC 24010009 */ li $at, 9 +/* 0277E0 80026BE0 10000001 */ b .L80026BE8_ovl0 +/* 0277E4 80026BE4 00832823 */ subu $a1, $a0, $v1 +.L80026BE8_ovl0: +/* 0277E8 80026BE8 8EE30034 */ lw $v1, 0x34($s7) +/* 0277EC 80026BEC 01408025 */ move $s0, $t2 +/* 0277F0 80026BF0 02E09025 */ move $s2, $s7 +/* 0277F4 80026BF4 10600003 */ beqz $v1, .L80026C04_ovl0 +/* 0277F8 80026BF8 0000A025 */ move $s4, $zero +/* 0277FC 80026BFC 10000001 */ b .L80026C04_ovl0 +/* 027800 80026C00 01C33023 */ subu $a2, $t6, $v1 +.L80026C04_ovl0: +/* 027804 80026C04 00A62023 */ subu $a0, $a1, $a2 +/* 027808 80026C08 04810002 */ bgez $a0, .L80026C14_ovl0 +/* 02780C 80026C0C 00000000 */ nop +/* 027810 80026C10 00002025 */ move $a0, $zero +.L80026C14_ovl0: +/* 027814 80026C14 1120007E */ beqz $t1, .L80026E10_ovl0 +/* 027818 80026C18 249E000F */ addiu $fp, $a0, 0xf +/* 02781C 80026C1C 249E000F */ addiu $fp, $a0, 0xf +/* 027820 80026C20 001EF103 */ sra $fp, $fp, 4 +/* 027824 80026C24 85760000 */ lh $s6, ($t3) +/* 027828 80026C28 8EF30038 */ lw $s3, 0x38($s7) +/* 02782C 80026C2C 001E48C0 */ sll $t1, $fp, 3 +/* 027830 80026C30 013E4821 */ addu $t1, $t1, $fp +/* 027834 80026C34 01208825 */ move $s1, $t1 +/* 027838 80026C38 AFA9005C */ sw $t1, 0x5c($sp) +/* 02783C 80026C3C AFAB00B4 */ sw $t3, 0xb4($sp) +/* 027840 80026C40 AFA800B8 */ sw $t0, 0xb8($sp) +/* 027844 80026C44 AFA5008C */ sw $a1, 0x8c($sp) +/* 027848 80026C48 0C009A84 */ jal func_80026A10 +/* 02784C 80026C4C 0080A825 */ move $s5, $a0 +/* 027850 80026C50 8EE30034 */ lw $v1, 0x34($s7) +/* 027854 80026C54 8FA5008C */ lw $a1, 0x8c($sp) +/* 027858 80026C58 8FA800B8 */ lw $t0, 0xb8($sp) +/* 02785C 80026C5C 8FA9005C */ lw $t1, 0x5c($sp) +/* 027860 80026C60 8FAB00B4 */ lw $t3, 0xb4($sp) +/* 027864 80026C64 10600006 */ beqz $v1, .L80026C80_ovl0 +/* 027868 80026C68 00405025 */ move $t2, $v0 +/* 02786C 80026C6C 856F0000 */ lh $t7, ($t3) +/* 027870 80026C70 0003C040 */ sll $t8, $v1, 1 +/* 027874 80026C74 01F8C821 */ addu $t9, $t7, $t8 +/* 027878 80026C78 10000004 */ b .L80026C8C_ovl0 +/* 02787C 80026C7C A5790000 */ sh $t9, ($t3) +.L80026C80_ovl0: +/* 027880 80026C80 856E0000 */ lh $t6, ($t3) +/* 027884 80026C84 25CF0020 */ addiu $t7, $t6, 0x20 +/* 027888 80026C88 A56F0000 */ sh $t7, ($t3) +.L80026C8C_ovl0: +/* 02788C 80026C8C 8EE20014 */ lw $v0, 0x14($s7) +/* 027890 80026C90 8EF90020 */ lw $t9, 0x20($s7) +/* 027894 80026C94 00A8082A */ slt $at, $a1, $t0 +/* 027898 80026C98 3058000F */ andi $t8, $v0, 0xf +/* 02789C 80026C9C AEF80034 */ sw $t8, 0x34($s7) +/* 0278A0 80026CA0 8F2E0000 */ lw $t6, ($t9) +/* 0278A4 80026CA4 00027902 */ srl $t7, $v0, 4 +/* 0278A8 80026CA8 000FC0C0 */ sll $t8, $t7, 3 +/* 0278AC 80026CAC 030FC021 */ addu $t8, $t8, $t7 +/* 0278B0 80026CB0 01D8C821 */ addu $t9, $t6, $t8 +/* 0278B4 80026CB4 272F0009 */ addiu $t7, $t9, 9 +/* 0278B8 80026CB8 AEEF003C */ sw $t7, 0x3c($s7) +/* 0278BC 80026CBC AEE20030 */ sw $v0, 0x30($s7) +/* 0278C0 80026CC0 10200047 */ beqz $at, .L80026DE0_ovl0 +/* 0278C4 80026CC4 85660000 */ lh $a2, ($t3) +/* 0278C8 80026CC8 00051840 */ sll $v1, $a1, 1 +.L80026CCC_ovl0: +/* 0278CC 80026CCC 27CE0001 */ addiu $t6, $fp, 1 +/* 0278D0 80026CD0 000EC140 */ sll $t8, $t6, 5 +/* 0278D4 80026CD4 03063821 */ addu $a3, $t8, $a2 +/* 0278D8 80026CD8 8EE2001C */ lw $v0, 0x1c($s7) +/* 0278DC 80026CDC 24E70010 */ addiu $a3, $a3, 0x10 +/* 0278E0 80026CE0 2401FFE0 */ li $at, -32 +/* 0278E4 80026CE4 00E13824 */ and $a3, $a3, $at +/* 0278E8 80026CE8 2401FFFF */ li $at, -1 +/* 0278EC 80026CEC 01054023 */ subu $t0, $t0, $a1 +/* 0278F0 80026CF0 10410004 */ beq $v0, $at, .L80026D04_ovl0 +/* 0278F4 80026CF4 00C33021 */ addu $a2, $a2, $v1 +/* 0278F8 80026CF8 10400002 */ beqz $v0, .L80026D04_ovl0 +/* 0278FC 80026CFC 2459FFFF */ addiu $t9, $v0, -1 +/* 027900 80026D00 AEF9001C */ sw $t9, 0x1c($s7) +.L80026D04_ovl0: +/* 027904 80026D04 8EEF0018 */ lw $t7, 0x18($s7) +/* 027908 80026D08 8EEE0014 */ lw $t6, 0x14($s7) +/* 02790C 80026D0C 01408025 */ move $s0, $t2 +/* 027910 80026D10 02E09025 */ move $s2, $s7 +/* 027914 80026D14 01EE1023 */ subu $v0, $t7, $t6 +/* 027918 80026D18 0102082B */ sltu $at, $t0, $v0 +/* 02791C 80026D1C 10200003 */ beqz $at, .L80026D2C_ovl0 +/* 027920 80026D20 0007B400 */ sll $s6, $a3, 0x10 +/* 027924 80026D24 10000002 */ b .L80026D30_ovl0 +/* 027928 80026D28 01002825 */ move $a1, $t0 +.L80026D2C_ovl0: +/* 02792C 80026D2C 00402825 */ move $a1, $v0 +.L80026D30_ovl0: +/* 027930 80026D30 8EF80034 */ lw $t8, 0x34($s7) +/* 027934 80026D34 0016B403 */ sra $s6, $s6, 0x10 +/* 027938 80026D38 0000A025 */ move $s4, $zero +/* 02793C 80026D3C 00B82021 */ addu $a0, $a1, $t8 +/* 027940 80026D40 2484FFF0 */ addiu $a0, $a0, -0x10 +/* 027944 80026D44 04830003 */ bgezl $a0, .L80026D54_ovl0 +/* 027948 80026D48 8EF30038 */ lw $s3, 0x38($s7) +/* 02794C 80026D4C 00002025 */ move $a0, $zero +/* 027950 80026D50 8EF30038 */ lw $s3, 0x38($s7) +.L80026D54_ovl0: +/* 027954 80026D54 249E000F */ addiu $fp, $a0, 0xf +/* 027958 80026D58 001EF103 */ sra $fp, $fp, 4 +/* 02795C 80026D5C 001E48C0 */ sll $t1, $fp, 3 +/* 027960 80026D60 013E4821 */ addu $t1, $t1, $fp +/* 027964 80026D64 01208825 */ move $s1, $t1 +/* 027968 80026D68 AFA9005C */ sw $t1, 0x5c($sp) +/* 02796C 80026D6C AFA800B8 */ sw $t0, 0xb8($sp) +/* 027970 80026D70 AFA70088 */ sw $a3, 0x88($sp) +/* 027974 80026D74 AFA60080 */ sw $a2, 0x80($sp) +/* 027978 80026D78 AFA5008C */ sw $a1, 0x8c($sp) +/* 02797C 80026D7C 0080A825 */ move $s5, $a0 +/* 027980 80026D80 0C009A84 */ jal func_80026A10 +/* 027984 80026D84 36730002 */ ori $s3, $s3, 2 +/* 027988 80026D88 8EF90034 */ lw $t9, 0x34($s7) +/* 02798C 80026D8C 8FA70088 */ lw $a3, 0x88($sp) +/* 027990 80026D90 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 027994 80026D94 00197840 */ sll $t7, $t9, 1 +/* 027998 80026D98 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 02799C 80026D9C 01E77021 */ addu $t6, $t7, $a3 +/* 0279A0 80026DA0 01C1C024 */ and $t8, $t6, $at +/* 0279A4 80026DA4 8FA5008C */ lw $a1, 0x8c($sp) +/* 0279A8 80026DA8 3C010A00 */ lui $at, 0xa00 +/* 0279AC 80026DAC 8FA60080 */ lw $a2, 0x80($sp) +/* 0279B0 80026DB0 0301C825 */ or $t9, $t8, $at +/* 0279B4 80026DB4 8FA800B8 */ lw $t0, 0xb8($sp) +/* 0279B8 80026DB8 8FA9005C */ lw $t1, 0x5c($sp) +/* 0279BC 80026DBC 00051840 */ sll $v1, $a1, 1 +/* 0279C0 80026DC0 3078FFFF */ andi $t8, $v1, 0xffff +/* 0279C4 80026DC4 AC590000 */ sw $t9, ($v0) +/* 0279C8 80026DC8 00067400 */ sll $t6, $a2, 0x10 +/* 0279CC 80026DCC 01D8C825 */ or $t9, $t6, $t8 +/* 0279D0 80026DD0 00A8082A */ slt $at, $a1, $t0 +/* 0279D4 80026DD4 AC590004 */ sw $t9, 4($v0) +/* 0279D8 80026DD8 1420FFBC */ bnez $at, .L80026CCC_ovl0 +/* 0279DC 80026DDC 244A0008 */ addiu $t2, $v0, 8 +.L80026DE0_ovl0: +/* 0279E0 80026DE0 8EEF0034 */ lw $t7, 0x34($s7) +/* 0279E4 80026DE4 8EF90030 */ lw $t9, 0x30($s7) +/* 0279E8 80026DE8 01401025 */ move $v0, $t2 +/* 0279EC 80026DEC 01E87021 */ addu $t6, $t7, $t0 +/* 0279F0 80026DF0 31D8000F */ andi $t8, $t6, 0xf +/* 0279F4 80026DF4 8EEE003C */ lw $t6, 0x3c($s7) +/* 0279F8 80026DF8 AEF80034 */ sw $t8, 0x34($s7) +/* 0279FC 80026DFC 03287821 */ addu $t7, $t9, $t0 +/* 027A00 80026E00 01C9C021 */ addu $t8, $t6, $t1 +/* 027A04 80026E04 AEEF0030 */ sw $t7, 0x30($s7) +/* 027A08 80026E08 1000005B */ b .L80026F78_ovl0 +/* 027A0C 80026E0C AEF8003C */ sw $t8, 0x3c($s7) +.L80026E10_ovl0: +/* 027A10 80026E10 8EE20020 */ lw $v0, 0x20($s7) +/* 027A14 80026E14 8EF9003C */ lw $t9, 0x3c($s7) +/* 027A18 80026E18 001EF103 */ sra $fp, $fp, 4 +/* 027A1C 80026E1C 8C4F0000 */ lw $t7, ($v0) +/* 027A20 80026E20 001E48C0 */ sll $t1, $fp, 3 +/* 027A24 80026E24 8C580004 */ lw $t8, 4($v0) +/* 027A28 80026E28 013E4821 */ addu $t1, $t1, $fp +/* 027A2C 80026E2C 03293821 */ addu $a3, $t9, $t1 +/* 027A30 80026E30 00EF7023 */ subu $t6, $a3, $t7 +/* 027A34 80026E34 01D81823 */ subu $v1, $t6, $t8 +/* 027A38 80026E38 04610002 */ bgez $v1, .L80026E44_ovl0 +/* 027A3C 80026E3C 001E2900 */ sll $a1, $fp, 4 +/* 027A40 80026E40 00001825 */ move $v1, $zero +.L80026E44_ovl0: +/* 027A44 80026E44 0061001A */ div $zero, $v1, $at +/* 027A48 80026E48 00001012 */ mflo $v0 +/* 027A4C 80026E4C 00022100 */ sll $a0, $v0, 4 +/* 027A50 80026E50 00A66021 */ addu $t4, $a1, $a2 +/* 027A54 80026E54 0184082A */ slt $at, $t4, $a0 +/* 027A58 80026E58 10200002 */ beqz $at, .L80026E64_ovl0 +/* 027A5C 80026E5C 01408025 */ move $s0, $t2 +/* 027A60 80026E60 01802025 */ move $a0, $t4 +.L80026E64_ovl0: +/* 027A64 80026E64 3099000F */ andi $t9, $a0, 0xf +/* 027A68 80026E68 00997823 */ subu $t7, $a0, $t9 +/* 027A6C 80026E6C 01E8082A */ slt $at, $t7, $t0 +/* 027A70 80026E70 1020002B */ beqz $at, .L80026F20_ovl0 +/* 027A74 80026E74 01233023 */ subu $a2, $t1, $v1 +/* 027A78 80026E78 85760000 */ lh $s6, ($t3) +/* 027A7C 80026E7C 8EF30038 */ lw $s3, 0x38($s7) +/* 027A80 80026E80 240D0001 */ li $t5, 1 +/* 027A84 80026E84 AFAD007C */ sw $t5, 0x7c($sp) +/* 027A88 80026E88 AFAC0050 */ sw $t4, 0x50($sp) +/* 027A8C 80026E8C AFAB00B4 */ sw $t3, 0xb4($sp) +/* 027A90 80026E90 AFA9005C */ sw $t1, 0x5c($sp) +/* 027A94 80026E94 AFA800B8 */ sw $t0, 0xb8($sp) +/* 027A98 80026E98 AFA40090 */ sw $a0, 0x90($sp) +/* 027A9C 80026E9C 02E09025 */ move $s2, $s7 +/* 027AA0 80026EA0 00A4A823 */ subu $s5, $a1, $a0 +/* 027AA4 80026EA4 00C08825 */ move $s1, $a2 +/* 027AA8 80026EA8 0C009A84 */ jal func_80026A10 +/* 027AAC 80026EAC 0000A025 */ move $s4, $zero +/* 027AB0 80026EB0 8EE30034 */ lw $v1, 0x34($s7) +/* 027AB4 80026EB4 8FA40090 */ lw $a0, 0x90($sp) +/* 027AB8 80026EB8 8FA800B8 */ lw $t0, 0xb8($sp) +/* 027ABC 80026EBC 8FA9005C */ lw $t1, 0x5c($sp) +/* 027AC0 80026EC0 8FAB00B4 */ lw $t3, 0xb4($sp) +/* 027AC4 80026EC4 8FAC0050 */ lw $t4, 0x50($sp) +/* 027AC8 80026EC8 8FAD007C */ lw $t5, 0x7c($sp) +/* 027ACC 80026ECC 10600006 */ beqz $v1, .L80026EE8_ovl0 +/* 027AD0 80026ED0 00405025 */ move $t2, $v0 +/* 027AD4 80026ED4 856E0000 */ lh $t6, ($t3) +/* 027AD8 80026ED8 0003C040 */ sll $t8, $v1, 1 +/* 027ADC 80026EDC 01D8C821 */ addu $t9, $t6, $t8 +/* 027AE0 80026EE0 10000004 */ b .L80026EF4_ovl0 +/* 027AE4 80026EE4 A5790000 */ sh $t9, ($t3) +.L80026EE8_ovl0: +/* 027AE8 80026EE8 856F0000 */ lh $t7, ($t3) +/* 027AEC 80026EEC 25EE0020 */ addiu $t6, $t7, 0x20 +/* 027AF0 80026EF0 A56E0000 */ sh $t6, ($t3) +.L80026EF4_ovl0: +/* 027AF4 80026EF4 8EF80034 */ lw $t8, 0x34($s7) +/* 027AF8 80026EF8 8EEE0030 */ lw $t6, 0x30($s7) +/* 027AFC 80026EFC 0308C821 */ addu $t9, $t8, $t0 +/* 027B00 80026F00 332F000F */ andi $t7, $t9, 0xf +/* 027B04 80026F04 8EF9003C */ lw $t9, 0x3c($s7) +/* 027B08 80026F08 AEEF0034 */ sw $t7, 0x34($s7) +/* 027B0C 80026F0C 01C8C021 */ addu $t8, $t6, $t0 +/* 027B10 80026F10 03297821 */ addu $t7, $t9, $t1 +/* 027B14 80026F14 AEF80030 */ sw $t8, 0x30($s7) +/* 027B18 80026F18 10000003 */ b .L80026F28_ovl0 +/* 027B1C 80026F1C AEEF003C */ sw $t7, 0x3c($s7) +.L80026F20_ovl0: +/* 027B20 80026F20 AEE00034 */ sw $zero, 0x34($s7) +/* 027B24 80026F24 AEE7003C */ sw $a3, 0x3c($s7) +.L80026F28_ovl0: +/* 027B28 80026F28 10800012 */ beqz $a0, .L80026F74_ovl0 +/* 027B2C 80026F2C 01401025 */ move $v0, $t2 +/* 027B30 80026F30 11A00004 */ beqz $t5, .L80026F44_ovl0 +/* 027B34 80026F34 AEE00034 */ sw $zero, 0x34($s7) +/* 027B38 80026F38 01841823 */ subu $v1, $t4, $a0 +/* 027B3C 80026F3C 10000002 */ b .L80026F48_ovl0 +/* 027B40 80026F40 00031840 */ sll $v1, $v1, 1 +.L80026F44_ovl0: +/* 027B44 80026F44 00001825 */ move $v1, $zero +.L80026F48_ovl0: +/* 027B48 80026F48 856E0000 */ lh $t6, ($t3) +/* 027B4C 80026F4C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 027B50 80026F50 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 027B54 80026F54 01C3C021 */ addu $t8, $t6, $v1 +/* 027B58 80026F58 0301C824 */ and $t9, $t8, $at +/* 027B5C 80026F5C 3C010200 */ lui $at, 0x200 +/* 027B60 80026F60 03217825 */ or $t7, $t9, $at +/* 027B64 80026F64 00047040 */ sll $t6, $a0, 1 +/* 027B68 80026F68 AC4E0004 */ sw $t6, 4($v0) +/* 027B6C 80026F6C AC4F0000 */ sw $t7, ($v0) +/* 027B70 80026F70 254A0008 */ addiu $t2, $t2, 8 +.L80026F74_ovl0: +/* 027B74 80026F74 01401025 */ move $v0, $t2 +.L80026F78_ovl0: +/* 027B78 80026F78 8FBF004C */ lw $ra, 0x4c($sp) +/* 027B7C 80026F7C 8FB00028 */ lw $s0, 0x28($sp) +/* 027B80 80026F80 8FB1002C */ lw $s1, 0x2c($sp) +/* 027B84 80026F84 8FB20030 */ lw $s2, 0x30($sp) +/* 027B88 80026F88 8FB30034 */ lw $s3, 0x34($sp) +/* 027B8C 80026F8C 8FB40038 */ lw $s4, 0x38($sp) +/* 027B90 80026F90 8FB5003C */ lw $s5, 0x3c($sp) +/* 027B94 80026F94 8FB60040 */ lw $s6, 0x40($sp) +/* 027B98 80026F98 8FB70044 */ lw $s7, 0x44($sp) +/* 027B9C 80026F9C 8FBE0048 */ lw $fp, 0x48($sp) +/* 027BA0 80026FA0 03E00008 */ jr $ra +/* 027BA4 80026FA4 27BD00B0 */ addiu $sp, $sp, 0xb0 + +glabel func_80026FA8 +/* 027BA8 80026FA8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 027BAC 80026FAC 240E0170 */ li $t6, 368 +/* 027BB0 80026FB0 AFBF0014 */ sw $ra, 0x14($sp) +/* 027BB4 80026FB4 AFA50044 */ sw $a1, 0x44($sp) +/* 027BB8 80026FB8 A7AE003A */ sh $t6, 0x3a($sp) +/* 027BBC 80026FBC 8C8F0048 */ lw $t7, 0x48($a0) +/* 027BC0 80026FC0 00804025 */ move $t0, $a0 +/* 027BC4 80026FC4 00C03825 */ move $a3, $a2 +/* 027BC8 80026FC8 11E00012 */ beqz $t7, .L80027014_ovl0 +/* 027BCC 80026FCC 3C018004 */ lui $at, %hi(D_800414CC) +/* 027BD0 80026FD0 27A5003A */ addiu $a1, $sp, 0x3a +/* 027BD4 80026FD4 0C009ACB */ jal func_80026B2C +/* 027BD8 80026FD8 240600B8 */ li $a2, 184 +/* 027BDC 80026FDC 87B8003A */ lh $t8, 0x3a($sp) +/* 027BE0 80026FE0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 027BE4 80026FE4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 027BE8 80026FE8 0301C824 */ and $t9, $t8, $at +/* 027BEC 80026FEC 3C010A00 */ lui $at, %hi(D_0A0014C8) # $at, 0xa00 +/* 027BF0 80026FF0 03214825 */ or $t1, $t9, $at +/* 027BF4 80026FF4 AC490000 */ sw $t1, ($v0) +/* 027BF8 80026FF8 8FAA0044 */ lw $t2, 0x44($sp) +/* 027BFC 80026FFC 24430008 */ addiu $v1, $v0, 8 +/* 027C00 80027000 854C0000 */ lh $t4, ($t2) +/* 027C04 80027004 000C6C00 */ sll $t5, $t4, 0x10 +/* 027C08 80027008 35AE0170 */ ori $t6, $t5, 0x170 +/* 027C0C 8002700C 1000004A */ b .L80027138_ovl0 +/* 027C10 80027010 AC4E0004 */ sw $t6, 4($v0) +.L80027014_ovl0: +/* 027C14 80027014 C42014C8 */ lwc1 $f0, %lo(D_0A0014C8)($at) +/* 027C18 80027018 C5020044 */ lwc1 $f2, 0x44($t0) +/* 027C1C 8002701C 3C014700 */ li $at, 0x47000000 # 32768.000000 +/* 027C20 80027020 44816000 */ mtc1 $at, $f12 +/* 027C24 80027024 4602003C */ c.lt.s $f0, $f2 +/* 027C28 80027028 00000000 */ nop +/* 027C2C 8002702C 45000003 */ bc1f .L8002703C_ovl0 +/* 027C30 80027030 00000000 */ nop +/* 027C34 80027034 E5000044 */ swc1 $f0, 0x44($t0) +/* 027C38 80027038 C5020044 */ lwc1 $f2, 0x44($t0) +.L8002703C_ovl0: +/* 027C3C 8002703C 460C1102 */ mul.s $f4, $f2, $f12 +/* 027C40 80027040 3C014338 */ li $at, 0x43380000 # 184.000000 +/* 027C44 80027044 01002025 */ move $a0, $t0 +/* 027C48 80027048 27A5003A */ addiu $a1, $sp, 0x3a +/* 027C4C 8002704C 4600218D */ trunc.w.s $f6, $f4 +/* 027C50 80027050 44183000 */ mfc1 $t8, $f6 +/* 027C54 80027054 44813000 */ mtc1 $at, $f6 +/* 027C58 80027058 44984000 */ mtc1 $t8, $f8 +/* 027C5C 8002705C 00000000 */ nop +/* 027C60 80027060 468042A0 */ cvt.s.w $f10, $f8 +/* 027C64 80027064 E50A0044 */ swc1 $f10, 0x44($t0) +/* 027C68 80027068 C5100044 */ lwc1 $f16, 0x44($t0) +/* 027C6C 8002706C C50A004C */ lwc1 $f10, 0x4c($t0) +/* 027C70 80027070 460C8483 */ div.s $f18, $f16, $f12 +/* 027C74 80027074 E5120044 */ swc1 $f18, 0x44($t0) +/* 027C78 80027078 C5040044 */ lwc1 $f4, 0x44($t0) +/* 027C7C 8002707C 46062202 */ mul.s $f8, $f4, $f6 +/* 027C80 80027080 46085000 */ add.s $f0, $f10, $f8 +/* 027C84 80027084 4600040D */ trunc.w.s $f16, $f0 +/* 027C88 80027088 44068000 */ mfc1 $a2, $f16 +/* 027C8C 8002708C 00000000 */ nop +/* 027C90 80027090 44869000 */ mtc1 $a2, $f18 +/* 027C94 80027094 00000000 */ nop +/* 027C98 80027098 46809120 */ cvt.s.w $f4, $f18 +/* 027C9C 8002709C 46040181 */ sub.s $f6, $f0, $f4 +/* 027CA0 800270A0 E506004C */ swc1 $f6, 0x4c($t0) +/* 027CA4 800270A4 0C009ACB */ jal func_80026B2C +/* 027CA8 800270A8 AFA80040 */ sw $t0, 0x40($sp) +/* 027CAC 800270AC 8FA80040 */ lw $t0, 0x40($sp) +/* 027CB0 800270B0 3C014700 */ li $at, 0x47000000 # 32768.000000 +/* 027CB4 800270B4 44814000 */ mtc1 $at, $f8 +/* 027CB8 800270B8 C50A0044 */ lwc1 $f10, 0x44($t0) +/* 027CBC 800270BC 24430008 */ addiu $v1, $v0, 8 +/* 027CC0 800270C0 46085402 */ mul.s $f16, $f10, $f8 +/* 027CC4 800270C4 4600848D */ trunc.w.s $f18, $f16 +/* 027CC8 800270C8 440A9000 */ mfc1 $t2, $f18 +/* 027CCC 800270CC 00000000 */ nop +/* 027CD0 800270D0 AFAA0030 */ sw $t2, 0x30($sp) +/* 027CD4 800270D4 8D040040 */ lw $a0, 0x40($t0) +/* 027CD8 800270D8 AFA20024 */ sw $v0, 0x24($sp) +/* 027CDC 800270DC 0C00BFE8 */ jal osVirtualToPhysical +/* 027CE0 800270E0 AFA3003C */ sw $v1, 0x3c($sp) +/* 027CE4 800270E4 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 027CE8 800270E8 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 027CEC 800270EC 8FA50024 */ lw $a1, 0x24($sp) +/* 027CF0 800270F0 00415824 */ and $t3, $v0, $at +/* 027CF4 800270F4 3C010500 */ lui $at, 0x500 +/* 027CF8 800270F8 8FA80040 */ lw $t0, 0x40($sp) +/* 027CFC 800270FC 01616025 */ or $t4, $t3, $at +/* 027D00 80027100 8FA3003C */ lw $v1, 0x3c($sp) +/* 027D04 80027104 ACAC0000 */ sw $t4, ($a1) +/* 027D08 80027108 8FB80030 */ lw $t8, 0x30($sp) +/* 027D0C 8002710C 87AB003A */ lh $t3, 0x3a($sp) +/* 027D10 80027110 8D0E0050 */ lw $t6, 0x50($t0) +/* 027D14 80027114 3319FFFF */ andi $t9, $t8, 0xffff +/* 027D18 80027118 00194B80 */ sll $t1, $t9, 0xe +/* 027D1C 8002711C 316C0FFF */ andi $t4, $t3, 0xfff +/* 027D20 80027120 000E7F80 */ sll $t7, $t6, 0x1e +/* 027D24 80027124 01E95025 */ or $t2, $t7, $t1 +/* 027D28 80027128 000C6880 */ sll $t5, $t4, 2 +/* 027D2C 8002712C 014D7025 */ or $t6, $t2, $t5 +/* 027D30 80027130 ACAE0004 */ sw $t6, 4($a1) +/* 027D34 80027134 AD000050 */ sw $zero, 0x50($t0) +.L80027138_ovl0: +/* 027D38 80027138 8FBF0014 */ lw $ra, 0x14($sp) +/* 027D3C 8002713C 27BD0040 */ addiu $sp, $sp, 0x40 +/* 027D40 80027140 00601025 */ move $v0, $v1 +/* 027D44 80027144 03E00008 */ jr $ra +/* 027D48 80027148 00000000 */ nop + +glabel func_8002714C +/* 027D4C 8002714C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 027D50 80027150 AFBF0014 */ sw $ra, 0x14($sp) +/* 027D54 80027154 8E0E0084 */ lw $t6, 0x84($s0) +/* 027D58 80027158 24010001 */ li $at, 1 +/* 027D5C 8002715C 15C10003 */ bne $t6, $at, .L8002716C_ovl0 +/* 027D60 80027160 00000000 */ nop +/* 027D64 80027164 14800003 */ bnez $a0, .L80027174_ovl0 +/* 027D68 80027168 02602825 */ move $a1, $s3 +.L8002716C_ovl0: +/* 027D6C 8002716C 10000070 */ b .L80027330_ovl0 +/* 027D70 80027170 00C01025 */ move $v0, $a2 +.L80027174_ovl0: +/* 027D74 80027174 0C009BEA */ jal func_80026FA8 +/* 027D78 80027178 02002025 */ move $a0, $s0 +/* 027D7C 8002717C 8E0F0078 */ lw $t7, 0x78($s0) +/* 027D80 80027180 00408825 */ move $s1, $v0 +/* 027D84 80027184 02209025 */ move $s2, $s1 +/* 027D88 80027188 11E0005D */ beqz $t7, .L80027300_ovl0 +/* 027D8C 8002718C 3C180300 */ lui $t8, 0x300 +/* 027D90 80027190 86180058 */ lh $t8, 0x58($s0) +/* 027D94 80027194 3C0E8004 */ lui $t6, %hi(D_8003FA10) +/* 027D98 80027198 AE000078 */ sw $zero, 0x78($s0) +/* 027D9C 8002719C 0018C840 */ sll $t9, $t8, 1 +/* 027DA0 800271A0 01D97021 */ addu $t6, $t6, $t9 +/* 027DA4 800271A4 85CEFA10 */ lh $t6, %lo(D_8003FA10)($t6) +/* 027DA8 800271A8 860F005A */ lh $t7, 0x5a($s0) +/* 027DAC 800271AC 8E040074 */ lw $a0, 0x74($s0) +/* 027DB0 800271B0 26050064 */ addiu $a1, $s0, 0x64 +/* 027DB4 800271B4 01CF0019 */ multu $t6, $t7 +/* 027DB8 800271B8 860E005C */ lh $t6, 0x5c($s0) +/* 027DBC 800271BC 448E2000 */ mtc1 $t6, $f4 +/* 027DC0 800271C0 00000000 */ nop +/* 027DC4 800271C4 468023A0 */ cvt.s.w $f14, $f4 +/* 027DC8 800271C8 0000C012 */ mflo $t8 +/* 027DCC 800271CC 0018CBC3 */ sra $t9, $t8, 0xf +/* 027DD0 800271D0 A6190068 */ sh $t9, 0x68($s0) +/* 027DD4 800271D4 860F0068 */ lh $t7, 0x68($s0) +/* 027DD8 800271D8 448F3000 */ mtc1 $t7, $f6 +/* 027DDC 800271DC 0C009A26 */ jal func_80026898 +/* 027DE0 800271E0 46803320 */ cvt.s.w $f12, $f6 +/* 027DE4 800271E4 86180058 */ lh $t8, 0x58($s0) +/* 027DE8 800271E8 3C0F8004 */ lui $t7, %hi(D_8003FB0E) +/* 027DEC 800271EC A6020066 */ sh $v0, 0x66($s0) +/* 027DF0 800271F0 0018C840 */ sll $t9, $t8, 1 +/* 027DF4 800271F4 00197023 */ negu $t6, $t9 +/* 027DF8 800271F8 01EE7821 */ addu $t7, $t7, $t6 +/* 027DFC 800271FC 85EFFB0E */ lh $t7, %lo(D_8003FB0E)($t7) +/* 027E00 80027200 8618005A */ lh $t8, 0x5a($s0) +/* 027E04 80027204 8E040074 */ lw $a0, 0x74($s0) +/* 027E08 80027208 2605006A */ addiu $a1, $s0, 0x6a +/* 027E0C 8002720C 01F80019 */ multu $t7, $t8 +/* 027E10 80027210 860F005E */ lh $t7, 0x5e($s0) +/* 027E14 80027214 448F4000 */ mtc1 $t7, $f8 +/* 027E18 80027218 00000000 */ nop +/* 027E1C 8002721C 468043A0 */ cvt.s.w $f14, $f8 +/* 027E20 80027220 0000C812 */ mflo $t9 +/* 027E24 80027224 001973C3 */ sra $t6, $t9, 0xf +/* 027E28 80027228 A60E006E */ sh $t6, 0x6e($s0) +/* 027E2C 8002722C 8618006E */ lh $t8, 0x6e($s0) +/* 027E30 80027230 44985000 */ mtc1 $t8, $f10 +/* 027E34 80027234 0C009A26 */ jal func_80026898 +/* 027E38 80027238 46805320 */ cvt.s.w $f12, $f10 +/* 027E3C 8002723C 86190068 */ lh $t9, 0x68($s0) +/* 027E40 80027240 3C010900 */ lui $at, 0x900 +/* 027E44 80027244 A602006C */ sh $v0, 0x6c($s0) +/* 027E48 80027248 332EFFFF */ andi $t6, $t9, 0xffff +/* 027E4C 8002724C 01C17825 */ or $t7, $t6, $at +/* 027E50 80027250 02201825 */ move $v1, $s1 +/* 027E54 80027254 AC6F0000 */ sw $t7, ($v1) +/* 027E58 80027258 86190066 */ lh $t9, 0x66($s0) +/* 027E5C 8002725C 96180064 */ lhu $t8, 0x64($s0) +/* 027E60 80027260 26310008 */ addiu $s1, $s1, 8 +/* 027E64 80027264 00197400 */ sll $t6, $t9, 0x10 +/* 027E68 80027268 01D8C825 */ or $t9, $t6, $t8 +/* 027E6C 8002726C AC790004 */ sw $t9, 4($v1) +/* 027E70 80027270 860F005C */ lh $t7, 0x5c($s0) +/* 027E74 80027274 3C010906 */ lui $at, 0x906 +/* 027E78 80027278 02202025 */ move $a0, $s1 +/* 027E7C 8002727C 31EEFFFF */ andi $t6, $t7, 0xffff +/* 027E80 80027280 01C1C025 */ or $t8, $t6, $at +/* 027E84 80027284 AC980000 */ sw $t8, ($a0) +/* 027E88 80027288 86180062 */ lh $t8, 0x62($s0) +/* 027E8C 8002728C 860F0060 */ lh $t7, 0x60($s0) +/* 027E90 80027290 3C010904 */ lui $at, 0x904 +/* 027E94 80027294 3319FFFF */ andi $t9, $t8, 0xffff +/* 027E98 80027298 000F7400 */ sll $t6, $t7, 0x10 +/* 027E9C 8002729C 01D97825 */ or $t7, $t6, $t9 +/* 027EA0 800272A0 AC8F0004 */ sw $t7, 4($a0) +/* 027EA4 800272A4 8618006E */ lh $t8, 0x6e($s0) +/* 027EA8 800272A8 26310008 */ addiu $s1, $s1, 8 +/* 027EAC 800272AC 02202825 */ move $a1, $s1 +/* 027EB0 800272B0 330EFFFF */ andi $t6, $t8, 0xffff +/* 027EB4 800272B4 01C1C825 */ or $t9, $t6, $at +/* 027EB8 800272B8 ACB90000 */ sw $t9, ($a1) +/* 027EBC 800272BC 8618006C */ lh $t8, 0x6c($s0) +/* 027EC0 800272C0 960F006A */ lhu $t7, 0x6a($s0) +/* 027EC4 800272C4 3C010301 */ lui $at, 0x301 +/* 027EC8 800272C8 00187400 */ sll $t6, $t8, 0x10 +/* 027ECC 800272CC 01CFC025 */ or $t8, $t6, $t7 +/* 027ED0 800272D0 ACB80004 */ sw $t8, 4($a1) +/* 027ED4 800272D4 8619005E */ lh $t9, 0x5e($s0) +/* 027ED8 800272D8 26310008 */ addiu $s1, $s1, 8 +/* 027EDC 800272DC 02209025 */ move $s2, $s1 +/* 027EE0 800272E0 332EFFFF */ andi $t6, $t9, 0xffff +/* 027EE4 800272E4 01C17825 */ or $t7, $t6, $at +/* 027EE8 800272E8 AE4F0000 */ sw $t7, ($s2) +/* 027EEC 800272EC 8E040054 */ lw $a0, 0x54($s0) +/* 027EF0 800272F0 0C00BFE8 */ jal osVirtualToPhysical +/* 027EF4 800272F4 26310008 */ addiu $s1, $s1, 8 +/* 027EF8 800272F8 10000006 */ b .L80027314_ovl0 +/* 027EFC 800272FC AE420004 */ sw $v0, 4($s2) +.L80027300_ovl0: +/* 027F00 80027300 AE580000 */ sw $t8, ($s2) +/* 027F04 80027304 8E040054 */ lw $a0, 0x54($s0) +/* 027F08 80027308 0C00BFE8 */ jal osVirtualToPhysical +/* 027F0C 8002730C 26310008 */ addiu $s1, $s1, 8 +/* 027F10 80027310 AE420004 */ sw $v0, 4($s2) +.L80027314_ovl0: +/* 027F14 80027314 86790000 */ lh $t9, ($s3) +/* 027F18 80027318 02201025 */ move $v0, $s1 +/* 027F1C 8002731C 272E0170 */ addiu $t6, $t9, 0x170 +/* 027F20 80027320 A66E0000 */ sh $t6, ($s3) +/* 027F24 80027324 8E0F0070 */ lw $t7, 0x70($s0) +/* 027F28 80027328 25F800B8 */ addiu $t8, $t7, 0xb8 +/* 027F2C 8002732C AE180070 */ sw $t8, 0x70($s0) +.L80027330_ovl0: +/* 027F30 80027330 8FBF0014 */ lw $ra, 0x14($sp) +/* 027F34 80027334 27BD0018 */ addiu $sp, $sp, 0x18 +/* 027F38 80027338 03E00008 */ jr $ra +/* 027F3C 8002733C 00000000 */ nop + +glabel func_80027340 +/* 027F40 80027340 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 +/* 027F44 80027344 2442FB14 */ addiu $v0, %lo(D_8003FB14) # addiu $v0, $v0, -0x4ec +/* 027F48 80027348 8C4E0000 */ lw $t6, ($v0) +/* 027F4C 8002734C 8DCF0038 */ lw $t7, 0x38($t6) +/* 027F50 80027350 AC8F0000 */ sw $t7, ($a0) +/* 027F54 80027354 8C580000 */ lw $t8, ($v0) +/* 027F58 80027358 03E00008 */ jr $ra +/* 027F5C 8002735C AF040038 */ sw $a0, 0x38($t8) + +glabel func_80027360 +/* 027F60 80027360 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 027F64 80027364 24010004 */ li $at, 4 +/* 027F68 80027368 AFBF0014 */ sw $ra, 0x14($sp) +/* 027F6C 8002736C 10A10050 */ beq $a1, $at, .L800274B0_ovl0 +/* 027F70 80027370 00803825 */ move $a3, $a0 +/* 027F74 80027374 24010005 */ li $at, 5 +/* 027F78 80027378 54A10066 */ bnel $a1, $at, .L80027514_ovl0 +/* 027F7C 8002737C 8FBF0014 */ lw $ra, 0x14($sp) +/* 027F80 80027380 AC860020 */ sw $a2, 0x20($a0) +/* 027F84 80027384 8CCE0000 */ lw $t6, ($a2) +/* 027F88 80027388 AC800030 */ sw $zero, 0x30($a0) +/* 027F8C 8002738C AC8E003C */ sw $t6, 0x3c($a0) +/* 027F90 80027390 90C20008 */ lbu $v0, 8($a2) +/* 027F94 80027394 50400007 */ beql $v0, $zero, .L800273B4_ovl0 +/* 027F98 80027398 8CE20020 */ lw $v0, 0x20($a3) +/* 027F9C 8002739C 24040001 */ li $a0, 1 +/* 027FA0 800273A0 50440033 */ beql $v0, $a0, .L80027470_ovl0 +/* 027FA4 800273A4 8CE20020 */ lw $v0, 0x20($a3) +/* 027FA8 800273A8 1000005A */ b .L80027514_ovl0 +/* 027FAC 800273AC 8FBF0014 */ lw $ra, 0x14($sp) +/* 027FB0 800273B0 8CE20020 */ lw $v0, 0x20($a3) +.L800273B4_ovl0: +/* 027FB4 800273B4 24050009 */ li $a1, 9 +/* 027FB8 800273B8 8C4F0004 */ lw $t7, 4($v0) +/* 027FBC 800273BC 01E5001A */ div $zero, $t7, $a1 +/* 027FC0 800273C0 0000C012 */ mflo $t8 +/* 027FC4 800273C4 14A00002 */ bnez $a1, .L800273D0_ovl0 +/* 027FC8 800273C8 00000000 */ nop +/* 027FCC 800273CC 0007000D */ break 7 +.L800273D0_ovl0: +/* 027FD0 800273D0 2401FFFF */ li $at, -1 +/* 027FD4 800273D4 14A10004 */ bne $a1, $at, .L800273E8_ovl0 +/* 027FD8 800273D8 3C018000 */ lui $at, 0x8000 +/* 027FDC 800273DC 15E10002 */ bne $t7, $at, .L800273E8_ovl0 +/* 027FE0 800273E0 00000000 */ nop +/* 027FE4 800273E4 0006000D */ break 6 +.L800273E8_ovl0: +/* 027FE8 800273E8 03050019 */ multu $t8, $a1 +/* 027FEC 800273EC 0000C812 */ mflo $t9 +/* 027FF0 800273F0 AC590004 */ sw $t9, 4($v0) +/* 027FF4 800273F4 8CE20020 */ lw $v0, 0x20($a3) +/* 027FF8 800273F8 8C440010 */ lw $a0, 0x10($v0) +/* 027FFC 800273FC 8C880000 */ lw $t0, ($a0) +/* 028000 80027400 8C8A0004 */ lw $t2, 4($a0) +/* 028004 80027404 00084900 */ sll $t1, $t0, 4 +/* 028008 80027408 012A0019 */ multu $t1, $t2 +/* 02800C 8002740C 00005812 */ mflo $t3 +/* 028010 80027410 ACEB0024 */ sw $t3, 0x24($a3) +/* 028014 80027414 8C43000C */ lw $v1, 0xc($v0) +/* 028018 80027418 50600011 */ beql $v1, $zero, .L80027460_ovl0 +/* 02801C 8002741C ACE0001C */ sw $zero, 0x1c($a3) +/* 028020 80027420 8C6C0000 */ lw $t4, ($v1) +/* 028024 80027424 8CE50010 */ lw $a1, 0x10($a3) +/* 028028 80027428 24060020 */ li $a2, 32 +/* 02802C 8002742C ACEC0014 */ sw $t4, 0x14($a3) +/* 028030 80027430 8C4D000C */ lw $t5, 0xc($v0) +/* 028034 80027434 8DAE0004 */ lw $t6, 4($t5) +/* 028038 80027438 ACEE0018 */ sw $t6, 0x18($a3) +/* 02803C 8002743C 8C4F000C */ lw $t7, 0xc($v0) +/* 028040 80027440 8DF80008 */ lw $t8, 8($t7) +/* 028044 80027444 ACF8001C */ sw $t8, 0x1c($a3) +/* 028048 80027448 8C44000C */ lw $a0, 0xc($v0) +/* 02804C 8002744C 0C00D404 */ jal alCopy +/* 028050 80027450 2484000C */ addiu $a0, $a0, 0xc +/* 028054 80027454 1000002F */ b .L80027514_ovl0 +/* 028058 80027458 8FBF0014 */ lw $ra, 0x14($sp) +/* 02805C 8002745C ACE0001C */ sw $zero, 0x1c($a3) +.L80027460_ovl0: +/* 028060 80027460 ACE00018 */ sw $zero, 0x18($a3) +/* 028064 80027464 1000002A */ b .L80027510_ovl0 +/* 028068 80027468 ACE00014 */ sw $zero, 0x14($a3) +/* 02806C 8002746C 8CE20020 */ lw $v0, 0x20($a3) +.L80027470_ovl0: +/* 028070 80027470 8C43000C */ lw $v1, 0xc($v0) +/* 028074 80027474 5060000B */ beql $v1, $zero, .L800274A4_ovl0 +/* 028078 80027478 ACE0001C */ sw $zero, 0x1c($a3) +/* 02807C 8002747C 8C790000 */ lw $t9, ($v1) +/* 028080 80027480 ACF90014 */ sw $t9, 0x14($a3) +/* 028084 80027484 8C48000C */ lw $t0, 0xc($v0) +/* 028088 80027488 8D090004 */ lw $t1, 4($t0) +/* 02808C 8002748C ACE90018 */ sw $t1, 0x18($a3) +/* 028090 80027490 8C4A000C */ lw $t2, 0xc($v0) +/* 028094 80027494 8D4B0008 */ lw $t3, 8($t2) +/* 028098 80027498 1000001D */ b .L80027510_ovl0 +/* 02809C 8002749C ACEB001C */ sw $t3, 0x1c($a3) +/* 0280A0 800274A0 ACE0001C */ sw $zero, 0x1c($a3) +.L800274A4_ovl0: +/* 0280A4 800274A4 ACE00018 */ sw $zero, 0x18($a3) +/* 0280A8 800274A8 10000019 */ b .L80027510_ovl0 +/* 0280AC 800274AC ACE00014 */ sw $zero, 0x14($a3) +.L800274B0_ovl0: +/* 0280B0 800274B0 8CE20020 */ lw $v0, 0x20($a3) +/* 0280B4 800274B4 24040001 */ li $a0, 1 +/* 0280B8 800274B8 ACE00034 */ sw $zero, 0x34($a3) +/* 0280BC 800274BC ACE40038 */ sw $a0, 0x38($a3) +/* 0280C0 800274C0 10400013 */ beqz $v0, .L80027510_ovl0 +/* 0280C4 800274C4 ACE00030 */ sw $zero, 0x30($a3) +/* 0280C8 800274C8 8C4C0000 */ lw $t4, ($v0) +/* 0280CC 800274CC ACEC003C */ sw $t4, 0x3c($a3) +/* 0280D0 800274D0 90430008 */ lbu $v1, 8($v0) +/* 0280D4 800274D4 14600007 */ bnez $v1, .L800274F4_ovl0 +/* 0280D8 800274D8 00000000 */ nop +/* 0280DC 800274DC 8C43000C */ lw $v1, 0xc($v0) +/* 0280E0 800274E0 5060000C */ beql $v1, $zero, .L80027514_ovl0 +/* 0280E4 800274E4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0280E8 800274E8 8C6D0008 */ lw $t5, 8($v1) +/* 0280EC 800274EC 10000008 */ b .L80027510_ovl0 +/* 0280F0 800274F0 ACED001C */ sw $t5, 0x1c($a3) +.L800274F4_ovl0: +/* 0280F4 800274F4 54830007 */ bnel $a0, $v1, .L80027514_ovl0 +/* 0280F8 800274F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0280FC 800274FC 8C43000C */ lw $v1, 0xc($v0) +/* 028100 80027500 50600004 */ beql $v1, $zero, .L80027514_ovl0 +/* 028104 80027504 8FBF0014 */ lw $ra, 0x14($sp) +/* 028108 80027508 8C6E0008 */ lw $t6, 8($v1) +/* 02810C 8002750C ACEE001C */ sw $t6, 0x1c($a3) +.L80027510_ovl0: +/* 028110 80027510 8FBF0014 */ lw $ra, 0x14($sp) +.L80027514_ovl0: +/* 028114 80027514 27BD0018 */ addiu $sp, $sp, 0x18 +/* 028118 80027518 03E00008 */ jr $ra +/* 02811C 8002751C 00000000 */ nop + +glabel func_80027520 +/* 028120 80027520 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 028124 80027524 24010003 */ li $at, 3 +/* 028128 80027528 10A10009 */ beq $a1, $at, .L80027550_ovl0 +/* 02812C 8002752C AFBF0014 */ sw $ra, 0x14($sp) +/* 028130 80027530 24010004 */ li $at, 4 +/* 028134 80027534 10A1000E */ beq $a1, $at, .L80027570_ovl0 +/* 028138 80027538 24020001 */ li $v0, 1 +/* 02813C 8002753C 24010009 */ li $at, 9 +/* 028140 80027540 10A10016 */ beq $a1, $at, .L8002759C_ovl0 +/* 028144 80027544 24020001 */ li $v0, 1 +/* 028148 80027548 10000016 */ b .L800275A4_ovl0 +/* 02814C 8002754C 00000000 */ nop +.L80027550_ovl0: +/* 028150 80027550 8C820080 */ lw $v0, 0x80($a0) +/* 028154 80027554 50400004 */ beql $v0, $zero, .L80027568_ovl0 +/* 028158 80027558 AC86007C */ sw $a2, 0x7c($a0) +/* 02815C 8002755C 10000002 */ b .L80027568_ovl0 +/* 028160 80027560 AC460000 */ sw $a2, ($v0) +/* 028164 80027564 AC86007C */ sw $a2, 0x7c($a0) +.L80027568_ovl0: +/* 028168 80027568 10000010 */ b .L800275AC_ovl0 +/* 02816C 8002756C AC860080 */ sw $a2, 0x80($a0) +.L80027570_ovl0: +/* 028170 80027570 44802000 */ mtc1 $zero, $f4 +/* 028174 80027574 AC820078 */ sw $v0, 0x78($a0) +/* 028178 80027578 AC800084 */ sw $zero, 0x84($a0) +/* 02817C 8002757C A482005A */ sh $v0, 0x5a($a0) +/* 028180 80027580 AC820050 */ sw $v0, 0x50($a0) +/* 028184 80027584 AC800048 */ sw $zero, 0x48($a0) +/* 028188 80027588 24050004 */ li $a1, 4 +/* 02818C 8002758C 0C009CD8 */ jal func_80027360 +/* 028190 80027590 E484004C */ swc1 $f4, 0x4c($a0) +/* 028194 80027594 10000006 */ b .L800275B0_ovl0 +/* 028198 80027598 8FBF0014 */ lw $ra, 0x14($sp) +.L8002759C_ovl0: +/* 02819C 8002759C 10000003 */ b .L800275AC_ovl0 +/* 0281A0 800275A0 AC820084 */ sw $v0, 0x84($a0) +.L800275A4_ovl0: +/* 0281A4 800275A4 0C009CD8 */ jal func_80027360 +/* 0281A8 800275A8 00000000 */ nop +.L800275AC_ovl0: +/* 0281AC 800275AC 8FBF0014 */ lw $ra, 0x14($sp) +.L800275B0_ovl0: +/* 0281B0 800275B0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0281B4 800275B4 00001025 */ move $v0, $zero +/* 0281B8 800275B8 03E00008 */ jr $ra +/* 0281BC 800275BC 00000000 */ nop + +glabel func_800275C0 +/* 0281C0 800275C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0281C4 800275C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0281C8 800275C8 0C0097DD */ jal func_80025F74 +/* 0281CC 800275CC AFA40018 */ sw $a0, 0x18($sp) +/* 0281D0 800275D0 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 +/* 0281D4 800275D4 8C42FB14 */ lw $v0, %lo(D_8003FB14)($v0) +/* 0281D8 800275D8 8FA40018 */ lw $a0, 0x18($sp) +/* 0281DC 800275DC 8C4E0020 */ lw $t6, 0x20($v0) +/* 0281E0 800275E0 24420020 */ addiu $v0, $v0, 0x20 +/* 0281E4 800275E4 AC820004 */ sw $v0, 4($a0) +/* 0281E8 800275E8 AC8E0000 */ sw $t6, ($a0) +/* 0281EC 800275EC 8C430000 */ lw $v1, ($v0) +/* 0281F0 800275F0 50600003 */ beql $v1, $zero, .L80027600_ovl0 +/* 0281F4 800275F4 AC440000 */ sw $a0, ($v0) +/* 0281F8 800275F8 AC640004 */ sw $a0, 4($v1) +/* 0281FC 800275FC AC440000 */ sw $a0, ($v0) +.L80027600_ovl0: +/* 028200 80027600 8FBF0014 */ lw $ra, 0x14($sp) +/* 028204 80027604 27BD0018 */ addiu $sp, $sp, 0x18 +/* 028208 80027608 03E00008 */ jr $ra +/* 02820C 8002760C 00000000 */ nop + +glabel func_80027610 +/* 028210 80027610 AFA50000 */ sw $a1, ($sp) +/* 028214 80027614 AFA70008 */ sw $a3, 8($sp) +/* 028218 80027618 00073C00 */ sll $a3, $a3, 0x10 +/* 02821C 8002761C 00052C00 */ sll $a1, $a1, 0x10 +/* 028220 80027620 AFA6000C */ sw $a2, 0xc($sp) +/* 028224 80027624 000420C3 */ sra $a0, $a0, 3 +/* 028228 80027628 30C6FFFF */ andi $a2, $a2, 0xffff +/* 02822C 8002762C 00052C03 */ sra $a1, $a1, 0x10 +/* 028230 80027630 14800003 */ bnez $a0, .L80027640_ovl0 +/* 028234 80027634 00073C03 */ sra $a3, $a3, 0x10 +/* 028238 80027638 03E00008 */ jr $ra +/* 02823C 8002763C 00A01025 */ move $v0, $a1 + +.L80027640_ovl0: +/* 028240 80027640 00C40019 */ multu $a2, $a0 +/* 028244 80027644 00007012 */ mflo $t6 +/* 028248 80027648 000E7C03 */ sra $t7, $t6, 0x10 +/* 02824C 8002764C 00000000 */ nop +/* 028250 80027650 00E40019 */ multu $a3, $a0 +/* 028254 80027654 0000C012 */ mflo $t8 +/* 028258 80027658 01F8C821 */ addu $t9, $t7, $t8 +/* 02825C 8002765C 00B92821 */ addu $a1, $a1, $t9 +/* 028260 80027660 00052C00 */ sll $a1, $a1, 0x10 +/* 028264 80027664 00051403 */ sra $v0, $a1, 0x10 +/* 028268 80027668 03E00008 */ jr $ra +/* 02826C 8002766C 00000000 */ nop + +glabel func_80027670 +/* 028270 80027670 27BDFF58 */ addiu $sp, $sp, -0xa8 +/* 028274 80027674 240E00B8 */ li $t6, 184 +/* 028278 80027678 AFBF0044 */ sw $ra, 0x44($sp) +/* 02827C 8002767C AFBE0040 */ sw $fp, 0x40($sp) +/* 028280 80027680 AFB7003C */ sw $s7, 0x3c($sp) +/* 028284 80027684 AFB60038 */ sw $s6, 0x38($sp) +/* 028288 80027688 AFB50034 */ sw $s5, 0x34($sp) +/* 02828C 8002768C AFB40030 */ sw $s4, 0x30($sp) +/* 028290 80027690 AFB3002C */ sw $s3, 0x2c($sp) +/* 028294 80027694 AFB20028 */ sw $s2, 0x28($sp) +/* 028298 80027698 AFB10024 */ sw $s1, 0x24($sp) +/* 02829C 8002769C AFB00020 */ sw $s0, 0x20($sp) +/* 0282A0 800276A0 AFA400A0 */ sw $a0, 0xa0($sp) +/* 0282A4 800276A4 AFA50094 */ sw $a1, 0x94($sp) +/* 0282A8 800276A8 A7A0008E */ sh $zero, 0x8e($sp) +/* 0282AC 800276AC AFAE0080 */ sw $t6, 0x80($sp) +/* 0282B0 800276B0 A7A0009E */ sh $zero, 0x9e($sp) +/* 0282B4 800276B4 8C8F007C */ lw $t7, 0x7c($a0) +/* 0282B8 800276B8 0080A025 */ move $s4, $a0 +/* 0282BC 800276BC 00C0A825 */ move $s5, $a2 +/* 0282C0 800276C0 11E00161 */ beqz $t7, .L80027C48_ovl0 +/* 0282C4 800276C4 24160001 */ li $s6, 1 +/* 0282C8 800276C8 3C1E8004 */ lui $fp, %hi(D_8003FB10) # $fp, 0x8004 +/* 0282CC 800276CC 3C078004 */ lui $a3, %hi(D_8003FB14) # $a3, 0x8004 +/* 0282D0 800276D0 24E7FB14 */ addiu $a3, %lo(D_8003FB14) # addiu $a3, $a3, -0x4ec +/* 0282D4 800276D4 27DEFB10 */ addiu $fp, %lo(D_8003FB10) # addiu $fp, $fp, -0x4f0 +/* 0282D8 800276D8 8E83007C */ lw $v1, 0x7c($s4) +.L800276DC_ovl0: +/* 0282DC 800276DC 240500B8 */ li $a1, 184 +/* 0282E0 800276E0 8FA20094 */ lw $v0, 0x94($sp) +/* 0282E4 800276E4 8C780004 */ lw $t8, 4($v1) +/* 0282E8 800276E8 2719005C */ addiu $t9, $t8, 0x5c +/* 0282EC 800276EC 0325001A */ div $zero, $t9, $a1 +/* 0282F0 800276F0 00007012 */ mflo $t6 +/* 0282F4 800276F4 8FB80080 */ lw $t8, 0x80($sp) +/* 0282F8 800276F8 14A00002 */ bnez $a1, .L80027704_ovl0 +/* 0282FC 800276FC 00000000 */ nop +/* 028300 80027700 0007000D */ break 7 +.L80027704_ovl0: +/* 028304 80027704 2401FFFF */ li $at, -1 +/* 028308 80027708 14A10004 */ bne $a1, $at, .L8002771C_ovl0 +/* 02830C 8002770C 3C018000 */ lui $at, 0x8000 +/* 028310 80027710 17210002 */ bne $t9, $at, .L8002771C_ovl0 +/* 028314 80027714 00000000 */ nop +/* 028318 80027718 0006000D */ break 6 +.L8002771C_ovl0: +/* 02831C 8002771C 01C50019 */ multu $t6, $a1 +/* 028320 80027720 00007812 */ mflo $t7 +/* 028324 80027724 01E2B823 */ subu $s7, $t7, $v0 +/* 028328 80027728 0317082A */ slt $at, $t8, $s7 +/* 02832C 8002772C 14200146 */ bnez $at, .L80027C48_ovl0 +/* 028330 80027730 AFAF0094 */ sw $t7, 0x94($sp) +/* 028334 80027734 94790008 */ lhu $t9, 8($v1) +/* 028338 80027738 2F210012 */ sltiu $at, $t9, 0x12 +/* 02833C 8002773C 1020011E */ beqz $at, .L80027BB8_ovl0 +/* 028340 80027740 0019C880 */ sll $t9, $t9, 2 +/* 028344 80027744 3C018004 */ lui $at, %hi(D_800414CC) +/* 028348 80027748 00390821 */ addu $at, $at, $t9 +/* 02834C 8002774C 8C3914CC */ lw $t9, %lo(D_800414CC)($at) +/* 028350 80027750 03200008 */ jr $t9 +/* 028354 80027754 00000000 */ nop +/* 028358 80027758 846E000A */ lh $t6, 0xa($v1) +/* 02835C 8002775C 00608025 */ move $s0, $v1 +/* 028360 80027760 02802025 */ move $a0, $s4 +/* 028364 80027764 11C00002 */ beqz $t6, .L80027770_ovl0 +/* 028368 80027768 24050005 */ li $a1, 5 +/* 02836C 8002776C AE960048 */ sw $s6, 0x48($s4) +.L80027770_ovl0: +/* 028370 80027770 0C009CD8 */ jal func_80027360 +/* 028374 80027774 8E060018 */ lw $a2, 0x18($s0) +/* 028378 80027778 AE960084 */ sw $s6, 0x84($s4) +/* 02837C 8002777C AE960078 */ sw $s6, 0x78($s4) +/* 028380 80027780 AE800070 */ sw $zero, 0x70($s4) +/* 028384 80027784 8E0F0014 */ lw $t7, 0x14($s0) +/* 028388 80027788 240100B8 */ li $at, 184 +/* 02838C 8002778C 25F8005C */ addiu $t8, $t7, 0x5c +/* 028390 80027790 0301001A */ div $zero, $t8, $at +/* 028394 80027794 0000C812 */ mflo $t9 +/* 028398 80027798 00197080 */ sll $t6, $t9, 2 +/* 02839C 8002779C 01D97023 */ subu $t6, $t6, $t9 +/* 0283A0 800277A0 000E70C0 */ sll $t6, $t6, 3 +/* 0283A4 800277A4 01D97023 */ subu $t6, $t6, $t9 +/* 0283A8 800277A8 000E70C0 */ sll $t6, $t6, 3 +/* 0283AC 800277AC AE8E0074 */ sw $t6, 0x74($s4) +/* 0283B0 800277B0 86030010 */ lh $v1, 0x10($s0) +/* 0283B4 800277B4 00630019 */ multu $v1, $v1 +/* 0283B8 800277B8 00002012 */ mflo $a0 +/* 0283BC 800277BC 000423C3 */ sra $a0, $a0, 0xf +/* 0283C0 800277C0 A684005A */ sh $a0, 0x5a($s4) +/* 0283C4 800277C4 920F0012 */ lbu $t7, 0x12($s0) +/* 0283C8 800277C8 A68F0058 */ sh $t7, 0x58($s4) +/* 0283CC 800277CC 9205001C */ lbu $a1, 0x1c($s0) +/* 0283D0 800277D0 14A00004 */ bnez $a1, .L800277E4_ovl0 +/* 0283D4 800277D4 0005C840 */ sll $t9, $a1, 1 +/* 0283D8 800277D8 9218001D */ lbu $t8, 0x1d($s0) +/* 0283DC 800277DC 2401005F */ li $at, 95 +/* 0283E0 800277E0 1301000B */ beq $t8, $at, .L80027810_ovl0 +.L800277E4_ovl0: +/* 0283E4 800277E4 00197023 */ negu $t6, $t9 +/* 0283E8 800277E8 03CE7821 */ addu $t7, $fp, $t6 +/* 0283EC 800277EC 85F8FFFE */ lh $t8, -2($t7) +/* 0283F0 800277F0 A6980062 */ sh $t8, 0x62($s4) +/* 0283F4 800277F4 9219001D */ lbu $t9, 0x1d($s0) +/* 0283F8 800277F8 00197040 */ sll $t6, $t9, 1 +/* 0283FC 800277FC 000E7823 */ negu $t7, $t6 +/* 028400 80027800 03CFC021 */ addu $t8, $fp, $t7 +/* 028404 80027804 8719FFFE */ lh $t9, -2($t8) +/* 028408 80027808 1000000D */ b .L80027840_ovl0 +/* 02840C 8002780C A6990060 */ sh $t9, 0x60($s4) +.L80027810_ovl0: +/* 028410 80027810 920E0013 */ lbu $t6, 0x13($s0) +/* 028414 80027814 3C188004 */ lui $t8, %hi(D_8003FA10) +/* 028418 80027818 000E7840 */ sll $t7, $t6, 1 +/* 02841C 8002781C 030FC021 */ addu $t8, $t8, $t7 +/* 028420 80027820 8718FA10 */ lh $t8, %lo(D_8003FA10)($t8) +/* 028424 80027824 A6980060 */ sh $t8, 0x60($s4) +/* 028428 80027828 92190013 */ lbu $t9, 0x13($s0) +/* 02842C 8002782C 00197040 */ sll $t6, $t9, 1 +/* 028430 80027830 000E7823 */ negu $t7, $t6 +/* 028434 80027834 03CFC021 */ addu $t8, $fp, $t7 +/* 028438 80027838 8719FFFE */ lh $t9, -2($t8) +/* 02843C 8002783C A6990062 */ sh $t9, 0x62($s4) +.L80027840_ovl0: +/* 028440 80027840 8E0E0014 */ lw $t6, 0x14($s0) +/* 028444 80027844 51C00005 */ beql $t6, $zero, .L8002785C_ovl0 +/* 028448 80027848 86820058 */ lh $v0, 0x58($s4) +/* 02844C 8002784C A696005C */ sh $s6, 0x5c($s4) +/* 028450 80027850 10000012 */ b .L8002789C_ovl0 +/* 028454 80027854 A696005E */ sh $s6, 0x5e($s4) +/* 028458 80027858 86820058 */ lh $v0, 0x58($s4) +.L8002785C_ovl0: +/* 02845C 8002785C 3C0F8004 */ lui $t7, %hi(D_8003FA10) +/* 028460 80027860 8683005A */ lh $v1, 0x5a($s4) +/* 028464 80027864 00021040 */ sll $v0, $v0, 1 +/* 028468 80027868 01E27821 */ addu $t7, $t7, $v0 +/* 02846C 8002786C 85EFFA10 */ lh $t7, %lo(D_8003FA10)($t7) +/* 028470 80027870 00027023 */ negu $t6, $v0 +/* 028474 80027874 01E30019 */ multu $t7, $v1 +/* 028478 80027878 03CE7821 */ addu $t7, $fp, $t6 +/* 02847C 8002787C 0000C012 */ mflo $t8 +/* 028480 80027880 0018CBC3 */ sra $t9, $t8, 0xf +/* 028484 80027884 A699005C */ sh $t9, 0x5c($s4) +/* 028488 80027888 85F8FFFE */ lh $t8, -2($t7) +/* 02848C 8002788C 03030019 */ multu $t8, $v1 +/* 028490 80027890 0000C812 */ mflo $t9 +/* 028494 80027894 001973C3 */ sra $t6, $t9, 0xf +/* 028498 80027898 A68E005E */ sh $t6, 0x5e($s4) +.L8002789C_ovl0: +/* 02849C 8002789C C604000C */ lwc1 $f4, 0xc($s0) +/* 0284A0 800278A0 100000D2 */ b .L80027BEC_ovl0 +/* 0284A4 800278A4 E6840044 */ swc1 $f4, 0x44($s4) +/* 0284A8 800278A8 27AF008E */ addiu $t7, $sp, 0x8e +/* 0284AC 800278AC AFAF0008 */ sw $t7, 8($sp) +/* 0284B0 800278B0 02808025 */ move $s0, $s4 +/* 0284B4 800278B4 27B3009E */ addiu $s3, $sp, 0x9e +/* 0284B8 800278B8 02E02025 */ move $a0, $s7 +/* 0284BC 800278BC 0C009C53 */ jal func_8002714C +/* 0284C0 800278C0 02A03025 */ move $a2, $s5 +/* 0284C4 800278C4 8E880070 */ lw $t0, 0x70($s4) +/* 0284C8 800278C8 8E840074 */ lw $a0, 0x74($s4) +/* 0284CC 800278CC 0040A825 */ move $s5, $v0 +/* 0284D0 800278D0 0104082A */ slt $at, $t0, $a0 +/* 0284D4 800278D4 54200019 */ bnezl $at, .L8002793C_ovl0 +/* 0284D8 800278D8 8685005C */ lh $a1, 0x5c($s4) +/* 0284DC 800278DC 86820058 */ lh $v0, 0x58($s4) +/* 0284E0 800278E0 3C188004 */ lui $t8, %hi(D_8003FA10) +/* 0284E4 800278E4 8683005A */ lh $v1, 0x5a($s4) +/* 0284E8 800278E8 00021040 */ sll $v0, $v0, 1 +/* 0284EC 800278EC 0302C021 */ addu $t8, $t8, $v0 +/* 0284F0 800278F0 8718FA10 */ lh $t8, %lo(D_8003FA10)($t8) +/* 0284F4 800278F4 00027823 */ negu $t7, $v0 +/* 0284F8 800278F8 03030019 */ multu $t8, $v1 +/* 0284FC 800278FC 03CFC021 */ addu $t8, $fp, $t7 +/* 028500 80027900 0000C812 */ mflo $t9 +/* 028504 80027904 001973C3 */ sra $t6, $t9, 0xf +/* 028508 80027908 A68E0068 */ sh $t6, 0x68($s4) +/* 02850C 8002790C 8719FFFE */ lh $t9, -2($t8) +/* 028510 80027910 86980068 */ lh $t8, 0x68($s4) +/* 028514 80027914 AE840070 */ sw $a0, 0x70($s4) +/* 028518 80027918 03230019 */ multu $t9, $v1 +/* 02851C 8002791C A698005C */ sh $t8, 0x5c($s4) +/* 028520 80027920 00007012 */ mflo $t6 +/* 028524 80027924 000E7BC3 */ sra $t7, $t6, 0xf +/* 028528 80027928 A68F006E */ sh $t7, 0x6e($s4) +/* 02852C 8002792C 8699006E */ lh $t9, 0x6e($s4) +/* 028530 80027930 1000000D */ b .L80027968_ovl0 +/* 028534 80027934 A699005E */ sh $t9, 0x5e($s4) +/* 028538 80027938 8685005C */ lh $a1, 0x5c($s4) +.L8002793C_ovl0: +/* 02853C 8002793C 01002025 */ move $a0, $t0 +/* 028540 80027940 86870066 */ lh $a3, 0x66($s4) +/* 028544 80027944 0C009D84 */ jal func_80027610 +/* 028548 80027948 96860064 */ lhu $a2, 0x64($s4) +/* 02854C 8002794C A682005C */ sh $v0, 0x5c($s4) +/* 028550 80027950 8685005E */ lh $a1, 0x5e($s4) +/* 028554 80027954 8E840070 */ lw $a0, 0x70($s4) +/* 028558 80027958 8687006C */ lh $a3, 0x6c($s4) +/* 02855C 8002795C 0C009D84 */ jal func_80027610 +/* 028560 80027960 9686006A */ lhu $a2, 0x6a($s4) +/* 028564 80027964 A682005E */ sh $v0, 0x5e($s4) +.L80027968_ovl0: +/* 028568 80027968 868E005C */ lh $t6, 0x5c($s4) +/* 02856C 8002796C 55C00003 */ bnezl $t6, .L8002797C_ovl0 +/* 028570 80027970 868F005E */ lh $t7, 0x5e($s4) +/* 028574 80027974 A696005C */ sh $s6, 0x5c($s4) +/* 028578 80027978 868F005E */ lh $t7, 0x5e($s4) +.L8002797C_ovl0: +/* 02857C 8002797C 55E00003 */ bnezl $t7, .L8002798C_ovl0 +/* 028580 80027980 8E83007C */ lw $v1, 0x7c($s4) +/* 028584 80027984 A696005E */ sh $s6, 0x5e($s4) +/* 028588 80027988 8E83007C */ lw $v1, 0x7c($s4) +.L8002798C_ovl0: +/* 02858C 8002798C 2401000C */ li $at, 12 +/* 028590 80027990 84640008 */ lh $a0, 8($v1) +/* 028594 80027994 54810005 */ bnel $a0, $at, .L800279AC_ovl0 +/* 028598 80027998 2401000B */ li $at, 11 +/* 02859C 8002799C 8C78000C */ lw $t8, 0xc($v1) +/* 0285A0 800279A0 A6980058 */ sh $t8, 0x58($s4) +/* 0285A4 800279A4 84640008 */ lh $a0, 8($v1) +/* 0285A8 800279A8 2401000B */ li $at, 11 +.L800279AC_ovl0: +/* 0285AC 800279AC 54810014 */ bnel $a0, $at, .L80027A00_ovl0 +/* 0285B0 800279B0 24010010 */ li $at, 16 +/* 0285B4 800279B4 AE800070 */ sw $zero, 0x70($s4) +/* 0285B8 800279B8 8C62000C */ lw $v0, 0xc($v1) +/* 0285BC 800279BC 240100B8 */ li $at, 184 +/* 0285C0 800279C0 00420019 */ multu $v0, $v0 +/* 0285C4 800279C4 00001012 */ mflo $v0 +/* 0285C8 800279C8 000213C3 */ sra $v0, $v0, 0xf +/* 0285CC 800279CC A682005A */ sh $v0, 0x5a($s4) +/* 0285D0 800279D0 8C790010 */ lw $t9, 0x10($v1) +/* 0285D4 800279D4 272E005C */ addiu $t6, $t9, 0x5c +/* 0285D8 800279D8 01C1001A */ div $zero, $t6, $at +/* 0285DC 800279DC 00007812 */ mflo $t7 +/* 0285E0 800279E0 000FC080 */ sll $t8, $t7, 2 +/* 0285E4 800279E4 030FC023 */ subu $t8, $t8, $t7 +/* 0285E8 800279E8 0018C0C0 */ sll $t8, $t8, 3 +/* 0285EC 800279EC 030FC023 */ subu $t8, $t8, $t7 +/* 0285F0 800279F0 0018C0C0 */ sll $t8, $t8, 3 +/* 0285F4 800279F4 AE980074 */ sw $t8, 0x74($s4) +/* 0285F8 800279F8 84640008 */ lh $a0, 8($v1) +/* 0285FC 800279FC 24010010 */ li $at, 16 +.L80027A00_ovl0: +/* 028600 80027A00 5481000F */ bnel $a0, $at, .L80027A40_ovl0 +/* 028604 80027A04 24010011 */ li $at, 17 +/* 028608 80027A08 8C79000C */ lw $t9, 0xc($v1) +/* 02860C 80027A0C 3C0F8004 */ lui $t7, %hi(D_8003FA10) +/* 028610 80027A10 00197040 */ sll $t6, $t9, 1 +/* 028614 80027A14 01EE7821 */ addu $t7, $t7, $t6 +/* 028618 80027A18 85EFFA10 */ lh $t7, %lo(D_8003FA10)($t7) +/* 02861C 80027A1C A68F0060 */ sh $t7, 0x60($s4) +/* 028620 80027A20 8C78000C */ lw $t8, 0xc($v1) +/* 028624 80027A24 0018C840 */ sll $t9, $t8, 1 +/* 028628 80027A28 00197023 */ negu $t6, $t9 +/* 02862C 80027A2C 03CE7821 */ addu $t7, $fp, $t6 +/* 028630 80027A30 85F8FFFE */ lh $t8, -2($t7) +/* 028634 80027A34 A6980062 */ sh $t8, 0x62($s4) +/* 028638 80027A38 84640008 */ lh $a0, 8($v1) +/* 02863C 80027A3C 24010011 */ li $at, 17 +.L80027A40_ovl0: +/* 028640 80027A40 1481000D */ bne $a0, $at, .L80027A78_ovl0 +/* 028644 80027A44 00000000 */ nop +/* 028648 80027A48 8C790010 */ lw $t9, 0x10($v1) +/* 02864C 80027A4C 00197040 */ sll $t6, $t9, 1 +/* 028650 80027A50 000E7823 */ negu $t7, $t6 +/* 028654 80027A54 03CFC021 */ addu $t8, $fp, $t7 +/* 028658 80027A58 87190000 */ lh $t9, ($t8) +/* 02865C 80027A5C A6990060 */ sh $t9, 0x60($s4) +/* 028660 80027A60 8C6E000C */ lw $t6, 0xc($v1) +/* 028664 80027A64 000E7840 */ sll $t7, $t6, 1 +/* 028668 80027A68 000FC023 */ negu $t8, $t7 +/* 02866C 80027A6C 03D8C821 */ addu $t9, $fp, $t8 +/* 028670 80027A70 872EFFFE */ lh $t6, -2($t9) +/* 028674 80027A74 A68E0062 */ sh $t6, 0x62($s4) +.L80027A78_ovl0: +/* 028678 80027A78 1000005C */ b .L80027BEC_ovl0 +/* 02867C 80027A7C AE960078 */ sw $s6, 0x78($s4) +/* 028680 80027A80 846F000A */ lh $t7, 0xa($v1) +/* 028684 80027A84 00601025 */ move $v0, $v1 +/* 028688 80027A88 02802025 */ move $a0, $s4 +/* 02868C 80027A8C 11E00002 */ beqz $t7, .L80027A98_ovl0 +/* 028690 80027A90 24050005 */ li $a1, 5 +/* 028694 80027A94 AE960048 */ sw $s6, 0x48($s4) +.L80027A98_ovl0: +/* 028698 80027A98 0C009CD8 */ jal func_80027360 +/* 02869C 80027A9C 8C46000C */ lw $a2, 0xc($v0) +/* 0286A0 80027AA0 10000052 */ b .L80027BEC_ovl0 +/* 0286A4 80027AA4 AE960084 */ sw $s6, 0x84($s4) +/* 0286A8 80027AA8 27B8008E */ addiu $t8, $sp, 0x8e +/* 0286AC 80027AAC AFB80008 */ sw $t8, 8($sp) +/* 0286B0 80027AB0 02808025 */ move $s0, $s4 +/* 0286B4 80027AB4 27B3009E */ addiu $s3, $sp, 0x9e +/* 0286B8 80027AB8 02E02025 */ move $a0, $s7 +/* 0286BC 80027ABC 0C009C53 */ jal func_8002714C +/* 0286C0 80027AC0 02A03025 */ move $a2, $s5 +/* 0286C4 80027AC4 0040A825 */ move $s5, $v0 +/* 0286C8 80027AC8 02802025 */ move $a0, $s4 +/* 0286CC 80027ACC 24050004 */ li $a1, 4 +/* 0286D0 80027AD0 0C009D48 */ jal func_80027520 +/* 0286D4 80027AD4 00003025 */ move $a2, $zero +/* 0286D8 80027AD8 10000045 */ b .L80027BF0_ovl0 +/* 0286DC 80027ADC 87B9008E */ lh $t9, 0x8e($sp) +/* 0286E0 80027AE0 8C79000C */ lw $t9, 0xc($v1) +/* 0286E4 80027AE4 AF200088 */ sw $zero, 0x88($t9) +/* 0286E8 80027AE8 8C70000C */ lw $s0, 0xc($v1) +/* 0286EC 80027AEC 0C0097DD */ jal func_80025F74 +/* 0286F0 80027AF0 02002025 */ move $a0, $s0 +/* 0286F4 80027AF4 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 +/* 0286F8 80027AF8 8C42FB14 */ lw $v0, %lo(D_8003FB14)($v0) +/* 0286FC 80027AFC 8C4E0020 */ lw $t6, 0x20($v0) +/* 028700 80027B00 24420020 */ addiu $v0, $v0, 0x20 +/* 028704 80027B04 AE020004 */ sw $v0, 4($s0) +/* 028708 80027B08 AE0E0000 */ sw $t6, ($s0) +/* 02870C 80027B0C 8C430000 */ lw $v1, ($v0) +/* 028710 80027B10 10600002 */ beqz $v1, .L80027B1C_ovl0 +/* 028714 80027B14 00000000 */ nop +/* 028718 80027B18 AC700004 */ sw $s0, 4($v1) +.L80027B1C_ovl0: +/* 02871C 80027B1C 10000033 */ b .L80027BEC_ovl0 +/* 028720 80027B20 AC500000 */ sw $s0, ($v0) +/* 028724 80027B24 27AF008E */ addiu $t7, $sp, 0x8e +/* 028728 80027B28 AFAF0008 */ sw $t7, 8($sp) +/* 02872C 80027B2C 02808025 */ move $s0, $s4 +/* 028730 80027B30 27B3009E */ addiu $s3, $sp, 0x9e +/* 028734 80027B34 02E02025 */ move $a0, $s7 +/* 028738 80027B38 0C009C53 */ jal func_8002714C +/* 02873C 80027B3C 02A03025 */ move $a2, $s5 +/* 028740 80027B40 8E98007C */ lw $t8, 0x7c($s4) +/* 028744 80027B44 0040A825 */ move $s5, $v0 +/* 028748 80027B48 C706000C */ lwc1 $f6, 0xc($t8) +/* 02874C 80027B4C 10000027 */ b .L80027BEC_ovl0 +/* 028750 80027B50 E6860044 */ swc1 $f6, 0x44($s4) +/* 028754 80027B54 27B9008E */ addiu $t9, $sp, 0x8e +/* 028758 80027B58 AFB90008 */ sw $t9, 8($sp) +/* 02875C 80027B5C 02808025 */ move $s0, $s4 +/* 028760 80027B60 27B3009E */ addiu $s3, $sp, 0x9e +/* 028764 80027B64 02E02025 */ move $a0, $s7 +/* 028768 80027B68 0C009C53 */ jal func_8002714C +/* 02876C 80027B6C 02A03025 */ move $a2, $s5 +/* 028770 80027B70 0040A825 */ move $s5, $v0 +/* 028774 80027B74 1000001D */ b .L80027BEC_ovl0 +/* 028778 80027B78 AE960048 */ sw $s6, 0x48($s4) +/* 02877C 80027B7C 27AE008E */ addiu $t6, $sp, 0x8e +/* 028780 80027B80 AFAE0008 */ sw $t6, 8($sp) +/* 028784 80027B84 02808025 */ move $s0, $s4 +/* 028788 80027B88 27B3009E */ addiu $s3, $sp, 0x9e +/* 02878C 80027B8C 02E02025 */ move $a0, $s7 +/* 028790 80027B90 0C009C53 */ jal func_8002714C +/* 028794 80027B94 02A03025 */ move $a2, $s5 +/* 028798 80027B98 8E8F007C */ lw $t7, 0x7c($s4) +/* 02879C 80027B9C 0040A825 */ move $s5, $v0 +/* 0287A0 80027BA0 02802025 */ move $a0, $s4 +/* 0287A4 80027BA4 24050005 */ li $a1, 5 +/* 0287A8 80027BA8 0C009CD8 */ jal func_80027360 +/* 0287AC 80027BAC 8DE6000C */ lw $a2, 0xc($t7) +/* 0287B0 80027BB0 1000000F */ b .L80027BF0_ovl0 +/* 0287B4 80027BB4 87B9008E */ lh $t9, 0x8e($sp) +.L80027BB8_ovl0: +/* 0287B8 80027BB8 27B8008E */ addiu $t8, $sp, 0x8e +/* 0287BC 80027BBC AFB80008 */ sw $t8, 8($sp) +/* 0287C0 80027BC0 02808025 */ move $s0, $s4 +/* 0287C4 80027BC4 27B3009E */ addiu $s3, $sp, 0x9e +/* 0287C8 80027BC8 02E02025 */ move $a0, $s7 +/* 0287CC 80027BCC 0C009C53 */ jal func_8002714C +/* 0287D0 80027BD0 02A03025 */ move $a2, $s5 +/* 0287D4 80027BD4 8E83007C */ lw $v1, 0x7c($s4) +/* 0287D8 80027BD8 0040A825 */ move $s5, $v0 +/* 0287DC 80027BDC 02802025 */ move $a0, $s4 +/* 0287E0 80027BE0 84650008 */ lh $a1, 8($v1) +/* 0287E4 80027BE4 0C009D48 */ jal func_80027520 +/* 0287E8 80027BE8 8C66000C */ lw $a2, 0xc($v1) +.L80027BEC_ovl0: +/* 0287EC 80027BEC 87B9008E */ lh $t9, 0x8e($sp) +.L80027BF0_ovl0: +/* 0287F0 80027BF0 8FB80080 */ lw $t8, 0x80($sp) +/* 0287F4 80027BF4 00177040 */ sll $t6, $s7, 1 +/* 0287F8 80027BF8 032E7821 */ addu $t7, $t9, $t6 +/* 0287FC 80027BFC 0317C823 */ subu $t9, $t8, $s7 +/* 028800 80027C00 A7AF008E */ sh $t7, 0x8e($sp) +/* 028804 80027C04 AFB90080 */ sw $t9, 0x80($sp) +/* 028808 80027C08 8E82007C */ lw $v0, 0x7c($s4) +/* 02880C 80027C0C 3C078004 */ lui $a3, %hi(D_8003FB14) # $a3, 0x8004 +/* 028810 80027C10 24E7FB14 */ addiu $a3, %lo(D_8003FB14) # addiu $a3, $a3, -0x4ec +/* 028814 80027C14 8C4E0000 */ lw $t6, ($v0) +/* 028818 80027C18 15C00002 */ bnez $t6, .L80027C24_ovl0 +/* 02881C 80027C1C AE8E007C */ sw $t6, 0x7c($s4) +/* 028820 80027C20 AE800080 */ sw $zero, 0x80($s4) +.L80027C24_ovl0: +/* 028824 80027C24 8CF80000 */ lw $t8, ($a3) +/* 028828 80027C28 8F190038 */ lw $t9, 0x38($t8) +/* 02882C 80027C2C AC590000 */ sw $t9, ($v0) +/* 028830 80027C30 8CEE0000 */ lw $t6, ($a3) +/* 028834 80027C34 ADC20038 */ sw $v0, 0x38($t6) +/* 028838 80027C38 8FAF00A0 */ lw $t7, 0xa0($sp) +/* 02883C 80027C3C 8DF8007C */ lw $t8, 0x7c($t7) +/* 028840 80027C40 5700FEA6 */ bnezl $t8, .L800276DC_ovl0 +/* 028844 80027C44 8E83007C */ lw $v1, 0x7c($s4) +.L80027C48_ovl0: +/* 028848 80027C48 27B9008E */ addiu $t9, $sp, 0x8e +/* 02884C 80027C4C AFB90008 */ sw $t9, 8($sp) +/* 028850 80027C50 02808025 */ move $s0, $s4 +/* 028854 80027C54 27B3009E */ addiu $s3, $sp, 0x9e +/* 028858 80027C58 8FA40080 */ lw $a0, 0x80($sp) +/* 02885C 80027C5C 0C009C53 */ jal func_8002714C +/* 028860 80027C60 02A03025 */ move $a2, $s5 +/* 028864 80027C64 8E840074 */ lw $a0, 0x74($s4) +/* 028868 80027C68 8E8E0070 */ lw $t6, 0x70($s4) +/* 02886C 80027C6C 0040A825 */ move $s5, $v0 +/* 028870 80027C70 02A01025 */ move $v0, $s5 +/* 028874 80027C74 008E082A */ slt $at, $a0, $t6 +/* 028878 80027C78 50200003 */ beql $at, $zero, .L80027C88_ovl0 +/* 02887C 80027C7C 8FBF0044 */ lw $ra, 0x44($sp) +/* 028880 80027C80 AE840070 */ sw $a0, 0x70($s4) +/* 028884 80027C84 8FBF0044 */ lw $ra, 0x44($sp) +.L80027C88_ovl0: +/* 028888 80027C88 8FB00020 */ lw $s0, 0x20($sp) +/* 02888C 80027C8C 8FB10024 */ lw $s1, 0x24($sp) +/* 028890 80027C90 8FB20028 */ lw $s2, 0x28($sp) +/* 028894 80027C94 8FB3002C */ lw $s3, 0x2c($sp) +/* 028898 80027C98 8FB40030 */ lw $s4, 0x30($sp) +/* 02889C 80027C9C 8FB50034 */ lw $s5, 0x34($sp) +/* 0288A0 80027CA0 8FB60038 */ lw $s6, 0x38($sp) +/* 0288A4 80027CA4 8FB7003C */ lw $s7, 0x3c($sp) +/* 0288A8 80027CA8 8FBE0040 */ lw $fp, 0x40($sp) +/* 0288AC 80027CAC 03E00008 */ jr $ra +/* 0288B0 80027CB0 27BD00A8 */ addiu $sp, $sp, 0xa8 + +glabel func_80027CB4 +/* 0288B4 80027CB4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0288B8 80027CB8 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 +/* 0288BC 80027CBC 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) +/* 0288C0 80027CC0 AFBF002C */ sw $ra, 0x2c($sp) +/* 0288C4 80027CC4 AFB40028 */ sw $s4, 0x28($sp) +/* 0288C8 80027CC8 AFB30024 */ sw $s3, 0x24($sp) +/* 0288CC 80027CCC AFB20020 */ sw $s2, 0x20($sp) +/* 0288D0 80027CD0 AFB1001C */ sw $s1, 0x1c($sp) +/* 0288D4 80027CD4 AFB00018 */ sw $s0, 0x18($sp) +/* 0288D8 80027CD8 8DD30040 */ lw $s3, 0x40($t6) +/* 0288DC 80027CDC 3C0F0200 */ lui $t7, (0x020007C0 >> 16) # lui $t7, 0x200 +/* 0288E0 80027CE0 35EF07C0 */ ori $t7, (0x020007C0 & 0xFFFF) # ori $t7, $t7, 0x7c0 +/* 0288E4 80027CE4 8E62001C */ lw $v0, 0x1c($s3) +/* 0288E8 80027CE8 241802E0 */ li $t8, 736 +/* 0288EC 80027CEC ACB80004 */ sw $t8, 4($a1) +/* 0288F0 80027CF0 ACAF0000 */ sw $t7, ($a1) +/* 0288F4 80027CF4 8E790014 */ lw $t9, 0x14($s3) +/* 0288F8 80027CF8 0080A025 */ move $s4, $a0 +/* 0288FC 80027CFC 24B20008 */ addiu $s2, $a1, 8 +/* 028900 80027D00 1B20000C */ blez $t9, .L80027D34_ovl0 +/* 028904 80027D04 00008025 */ move $s0, $zero +/* 028908 80027D08 00408825 */ move $s1, $v0 +.L80027D0C_ovl0: +/* 02890C 80027D0C 8E240000 */ lw $a0, ($s1) +/* 028910 80027D10 02802825 */ move $a1, $s4 +/* 028914 80027D14 0C009D9C */ jal func_80027670 +/* 028918 80027D18 02403025 */ move $a2, $s2 +/* 02891C 80027D1C 8E680014 */ lw $t0, 0x14($s3) +/* 028920 80027D20 26100001 */ addiu $s0, $s0, 1 +/* 028924 80027D24 26310004 */ addiu $s1, $s1, 4 +/* 028928 80027D28 0208082A */ slt $at, $s0, $t0 +/* 02892C 80027D2C 1420FFF7 */ bnez $at, .L80027D0C_ovl0 +/* 028930 80027D30 00409025 */ move $s2, $v0 +.L80027D34_ovl0: +/* 028934 80027D34 8FBF002C */ lw $ra, 0x2c($sp) +/* 028938 80027D38 02401025 */ move $v0, $s2 +/* 02893C 80027D3C 8FB20020 */ lw $s2, 0x20($sp) +/* 028940 80027D40 8FB00018 */ lw $s0, 0x18($sp) +/* 028944 80027D44 8FB1001C */ lw $s1, 0x1c($sp) +/* 028948 80027D48 8FB30024 */ lw $s3, 0x24($sp) +/* 02894C 80027D4C 8FB40028 */ lw $s4, 0x28($sp) +/* 028950 80027D50 03E00008 */ jr $ra +/* 028954 80027D54 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80027D58 +/* 028958 80027D58 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 02895C 80027D5C AFBF001C */ sw $ra, 0x1c($sp) +/* 028960 80027D60 AFB00018 */ sw $s0, 0x18($sp) +/* 028964 80027D64 8C89001C */ lw $t1, 0x1c($a0) +/* 028968 80027D68 8C820014 */ lw $v0, 0x14($a0) +/* 02896C 80027D6C 00804025 */ move $t0, $a0 +/* 028970 80027D70 00094840 */ sll $t1, $t1, 1 +/* 028974 80027D74 00A2082B */ sltu $at, $a1, $v0 +/* 028978 80027D78 00C05825 */ move $t3, $a2 +/* 02897C 80027D7C 10200002 */ beqz $at, .L80027D88_ovl0 +/* 028980 80027D80 00491821 */ addu $v1, $v0, $t1 +/* 028984 80027D84 00A92821 */ addu $a1, $a1, $t1 +.L80027D88_ovl0: +/* 028988 80027D88 24A60170 */ addiu $a2, $a1, 0x170 +/* 02898C 80027D8C 0066082B */ sltu $at, $v1, $a2 +/* 028990 80027D90 1020002E */ beqz $at, .L80027E4C_ovl0 +/* 028994 80027D94 24F00008 */ addiu $s0, $a3, 8 +/* 028998 80027D98 00655023 */ subu $t2, $v1, $a1 +/* 02899C 80027D9C 000A5043 */ sra $t2, $t2, 1 +/* 0289A0 80027DA0 000A5040 */ sll $t2, $t2, 1 +/* 0289A4 80027DA4 314E0FFF */ andi $t6, $t2, 0xfff +/* 0289A8 80027DA8 000E7B00 */ sll $t7, $t6, 0xc +/* 0289AC 80027DAC 3C010600 */ lui $at, 0x600 +/* 0289B0 80027DB0 01E1C025 */ or $t8, $t7, $at +/* 0289B4 80027DB4 31790FFF */ andi $t9, $t3, 0xfff +/* 0289B8 80027DB8 03196025 */ or $t4, $t8, $t9 +/* 0289BC 80027DBC ACEC0000 */ sw $t4, ($a3) +/* 0289C0 80027DC0 AFAB0050 */ sw $t3, 0x50($sp) +/* 0289C4 80027DC4 AFAA0020 */ sw $t2, 0x20($sp) +/* 0289C8 80027DC8 AFA70030 */ sw $a3, 0x30($sp) +/* 0289CC 80027DCC AFA80048 */ sw $t0, 0x48($sp) +/* 0289D0 80027DD0 AFA60024 */ sw $a2, 0x24($sp) +/* 0289D4 80027DD4 AFA30034 */ sw $v1, 0x34($sp) +/* 0289D8 80027DD8 24F00008 */ addiu $s0, $a3, 8 +/* 0289DC 80027DDC 0C00BFE8 */ jal osVirtualToPhysical +/* 0289E0 80027DE0 00A02025 */ move $a0, $a1 +/* 0289E4 80027DE4 8FA30034 */ lw $v1, 0x34($sp) +/* 0289E8 80027DE8 8FA60024 */ lw $a2, 0x24($sp) +/* 0289EC 80027DEC 8FAA0020 */ lw $t2, 0x20($sp) +/* 0289F0 80027DF0 8FAB0050 */ lw $t3, 0x50($sp) +/* 0289F4 80027DF4 00C36823 */ subu $t5, $a2, $v1 +/* 0289F8 80027DF8 000D7043 */ sra $t6, $t5, 1 +/* 0289FC 80027DFC 000E7840 */ sll $t7, $t6, 1 +/* 028A00 80027E00 8FA90030 */ lw $t1, 0x30($sp) +/* 028A04 80027E04 31F80FFF */ andi $t8, $t7, 0xfff +/* 028A08 80027E08 8FA80048 */ lw $t0, 0x48($sp) +/* 028A0C 80027E0C 0018CB00 */ sll $t9, $t8, 0xc +/* 028A10 80027E10 3C010600 */ lui $at, 0x600 +/* 028A14 80027E14 016A6821 */ addu $t5, $t3, $t2 +/* 028A18 80027E18 31AE0FFF */ andi $t6, $t5, 0xfff +/* 028A1C 80027E1C 03216025 */ or $t4, $t9, $at +/* 028A20 80027E20 018E7825 */ or $t7, $t4, $t6 +/* 028A24 80027E24 02002825 */ move $a1, $s0 +/* 028A28 80027E28 AD220004 */ sw $v0, 4($t1) +/* 028A2C 80027E2C ACAF0000 */ sw $t7, ($a1) +/* 028A30 80027E30 8D040014 */ lw $a0, 0x14($t0) +/* 028A34 80027E34 AFA5002C */ sw $a1, 0x2c($sp) +/* 028A38 80027E38 0C00BFE8 */ jal osVirtualToPhysical +/* 028A3C 80027E3C 26100008 */ addiu $s0, $s0, 8 +/* 028A40 80027E40 8FA5002C */ lw $a1, 0x2c($sp) +/* 028A44 80027E44 1000000A */ b .L80027E70_ovl0 +/* 028A48 80027E48 ACA20004 */ sw $v0, 4($a1) +.L80027E4C_ovl0: +/* 028A4C 80027E4C 31780FFF */ andi $t8, $t3, 0xfff +/* 028A50 80027E50 3C010617 */ lui $at, 0x617 +/* 028A54 80027E54 0301C825 */ or $t9, $t8, $at +/* 028A58 80027E58 ACF90000 */ sw $t9, ($a3) +/* 028A5C 80027E5C AFA70028 */ sw $a3, 0x28($sp) +/* 028A60 80027E60 0C00BFE8 */ jal osVirtualToPhysical +/* 028A64 80027E64 00A02025 */ move $a0, $a1 +/* 028A68 80027E68 8FA30028 */ lw $v1, 0x28($sp) +/* 028A6C 80027E6C AC620004 */ sw $v0, 4($v1) +.L80027E70_ovl0: +/* 028A70 80027E70 8FBF001C */ lw $ra, 0x1c($sp) +/* 028A74 80027E74 02001025 */ move $v0, $s0 +/* 028A78 80027E78 8FB00018 */ lw $s0, 0x18($sp) +/* 028A7C 80027E7C 03E00008 */ jr $ra +/* 028A80 80027E80 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80027E84 +/* 028A84 80027E84 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 028A88 80027E88 3C0E0B00 */ lui $t6, (0x0B000020 >> 16) # lui $t6, 0xb00 +/* 028A8C 80027E8C AFBF0014 */ sw $ra, 0x14($sp) +/* 028A90 80027E90 AFA5002C */ sw $a1, 0x2c($sp) +/* 028A94 80027E94 35CE0020 */ ori $t6, (0x0B000020 & 0xFFFF) # ori $t6, $t6, 0x20 +/* 028A98 80027E98 00803825 */ move $a3, $a0 +/* 028A9C 80027E9C ACCE0000 */ sw $t6, ($a2) +/* 028AA0 80027EA0 AFA70028 */ sw $a3, 0x28($sp) +/* 028AA4 80027EA4 AFA60030 */ sw $a2, 0x30($sp) +/* 028AA8 80027EA8 0C00BFE8 */ jal osVirtualToPhysical +/* 028AAC 80027EAC 24840008 */ addiu $a0, $a0, 8 +/* 028AB0 80027EB0 8FA60030 */ lw $a2, 0x30($sp) +/* 028AB4 80027EB4 8FA70028 */ lw $a3, 0x28($sp) +/* 028AB8 80027EB8 3C010E00 */ lui $at, 0xe00 +/* 028ABC 80027EBC 24C30008 */ addiu $v1, $a2, 8 +/* 028AC0 80027EC0 246F0008 */ addiu $t7, $v1, 8 +/* 028AC4 80027EC4 ACC20004 */ sw $v0, 4($a2) +/* 028AC8 80027EC8 AFAF0024 */ sw $t7, 0x24($sp) +/* 028ACC 80027ECC 8CF8002C */ lw $t8, 0x2c($a3) +/* 028AD0 80027ED0 84EA0002 */ lh $t2, 2($a3) +/* 028AD4 80027ED4 331900FF */ andi $t9, $t8, 0xff +/* 028AD8 80027ED8 00194400 */ sll $t0, $t9, 0x10 +/* 028ADC 80027EDC 01014825 */ or $t1, $t0, $at +/* 028AE0 80027EE0 314BFFFF */ andi $t3, $t2, 0xffff +/* 028AE4 80027EE4 012B6025 */ or $t4, $t1, $t3 +/* 028AE8 80027EE8 AC6C0000 */ sw $t4, ($v1) +/* 028AEC 80027EEC 8CE40028 */ lw $a0, 0x28($a3) +/* 028AF0 80027EF0 0C00BFE8 */ jal osVirtualToPhysical +/* 028AF4 80027EF4 AFA30018 */ sw $v1, 0x18($sp) +/* 028AF8 80027EF8 8FAE002C */ lw $t6, 0x2c($sp) +/* 028AFC 80027EFC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 028B00 80027F00 8FA50018 */ lw $a1, 0x18($sp) +/* 028B04 80027F04 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 028B08 80027F08 000E4203 */ sra $t0, $t6, 8 +/* 028B0C 80027F0C 8FA70028 */ lw $a3, 0x28($sp) +/* 028B10 80027F10 00085600 */ sll $t2, $t0, 0x18 +/* 028B14 80027F14 00416824 */ and $t5, $v0, $at +/* 028B18 80027F18 01AA4825 */ or $t1, $t5, $t2 +/* 028B1C 80027F1C ACA90004 */ sw $t1, 4($a1) +/* 028B20 80027F20 ACE0002C */ sw $zero, 0x2c($a3) +/* 028B24 80027F24 8FBF0014 */ lw $ra, 0x14($sp) +/* 028B28 80027F28 8FA20024 */ lw $v0, 0x24($sp) +/* 028B2C 80027F2C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 028B30 80027F30 03E00008 */ jr $ra +/* 028B34 80027F34 00000000 */ nop + +glabel func_80027F38 +/* 028B38 80027F38 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 028B3C 80027F3C AFBF001C */ sw $ra, 0x1c($sp) +/* 028B40 80027F40 AFB00018 */ sw $s0, 0x18($sp) +/* 028B44 80027F44 8C89001C */ lw $t1, 0x1c($a0) +/* 028B48 80027F48 8C820014 */ lw $v0, 0x14($a0) +/* 028B4C 80027F4C 00804025 */ move $t0, $a0 +/* 028B50 80027F50 00094840 */ sll $t1, $t1, 1 +/* 028B54 80027F54 00A2082B */ sltu $at, $a1, $v0 +/* 028B58 80027F58 00C05025 */ move $t2, $a2 +/* 028B5C 80027F5C 10200002 */ beqz $at, .L80027F68_ovl0 +/* 028B60 80027F60 00491821 */ addu $v1, $v0, $t1 +/* 028B64 80027F64 00A92821 */ addu $a1, $a1, $t1 +.L80027F68_ovl0: +/* 028B68 80027F68 00077040 */ sll $t6, $a3, 1 +/* 028B6C 80027F6C 01C53021 */ addu $a2, $t6, $a1 +/* 028B70 80027F70 0066082B */ sltu $at, $v1, $a2 +/* 028B74 80027F74 1020002F */ beqz $at, .L80028034_ovl0 +/* 028B78 80027F78 8FA20058 */ lw $v0, 0x58($sp) +/* 028B7C 80027F7C 00654823 */ subu $t1, $v1, $a1 +/* 028B80 80027F80 00094843 */ sra $t1, $t1, 1 +/* 028B84 80027F84 00094840 */ sll $t1, $t1, 1 +/* 028B88 80027F88 312F0FFF */ andi $t7, $t1, 0xfff +/* 028B8C 80027F8C 8FA20058 */ lw $v0, 0x58($sp) +/* 028B90 80027F90 000FC300 */ sll $t8, $t7, 0xc +/* 028B94 80027F94 3C010400 */ lui $at, 0x400 +/* 028B98 80027F98 0301C825 */ or $t9, $t8, $at +/* 028B9C 80027F9C 314B0FFF */ andi $t3, $t2, 0xfff +/* 028BA0 80027FA0 032B6025 */ or $t4, $t9, $t3 +/* 028BA4 80027FA4 AC4C0000 */ sw $t4, ($v0) +/* 028BA8 80027FA8 AFAA0050 */ sw $t2, 0x50($sp) +/* 028BAC 80027FAC AFA90020 */ sw $t1, 0x20($sp) +/* 028BB0 80027FB0 AFA80048 */ sw $t0, 0x48($sp) +/* 028BB4 80027FB4 AFA60024 */ sw $a2, 0x24($sp) +/* 028BB8 80027FB8 AFA30034 */ sw $v1, 0x34($sp) +/* 028BBC 80027FBC 00A02025 */ move $a0, $a1 +/* 028BC0 80027FC0 AFA20030 */ sw $v0, 0x30($sp) +/* 028BC4 80027FC4 0C00BFE8 */ jal osVirtualToPhysical +/* 028BC8 80027FC8 24500008 */ addiu $s0, $v0, 8 +/* 028BCC 80027FCC 8FA30034 */ lw $v1, 0x34($sp) +/* 028BD0 80027FD0 8FA60024 */ lw $a2, 0x24($sp) +/* 028BD4 80027FD4 8FA90020 */ lw $t1, 0x20($sp) +/* 028BD8 80027FD8 8FAA0050 */ lw $t2, 0x50($sp) +/* 028BDC 80027FDC 00C36823 */ subu $t5, $a2, $v1 +/* 028BE0 80027FE0 000D7043 */ sra $t6, $t5, 1 +/* 028BE4 80027FE4 000E7840 */ sll $t7, $t6, 1 +/* 028BE8 80027FE8 8FA70030 */ lw $a3, 0x30($sp) +/* 028BEC 80027FEC 31F80FFF */ andi $t8, $t7, 0xfff +/* 028BF0 80027FF0 8FA80048 */ lw $t0, 0x48($sp) +/* 028BF4 80027FF4 0018CB00 */ sll $t9, $t8, 0xc +/* 028BF8 80027FF8 3C010400 */ lui $at, 0x400 +/* 028BFC 80027FFC 01496021 */ addu $t4, $t2, $t1 +/* 028C00 80028000 318D0FFF */ andi $t5, $t4, 0xfff +/* 028C04 80028004 03215825 */ or $t3, $t9, $at +/* 028C08 80028008 016D7025 */ or $t6, $t3, $t5 +/* 028C0C 8002800C 02002825 */ move $a1, $s0 +/* 028C10 80028010 ACE20004 */ sw $v0, 4($a3) +/* 028C14 80028014 ACAE0000 */ sw $t6, ($a1) +/* 028C18 80028018 8D040014 */ lw $a0, 0x14($t0) +/* 028C1C 8002801C AFA5002C */ sw $a1, 0x2c($sp) +/* 028C20 80028020 0C00BFE8 */ jal osVirtualToPhysical +/* 028C24 80028024 26100008 */ addiu $s0, $s0, 8 +/* 028C28 80028028 8FA5002C */ lw $a1, 0x2c($sp) +/* 028C2C 8002802C 1000000F */ b .L8002806C_ovl0 +/* 028C30 80028030 ACA20004 */ sw $v0, 4($a1) +.L80028034_ovl0: +/* 028C34 80028034 00077840 */ sll $t7, $a3, 1 +/* 028C38 80028038 31F80FFF */ andi $t8, $t7, 0xfff +/* 028C3C 8002803C 0018CB00 */ sll $t9, $t8, 0xc +/* 028C40 80028040 3C010400 */ lui $at, 0x400 +/* 028C44 80028044 03216025 */ or $t4, $t9, $at +/* 028C48 80028048 314B0FFF */ andi $t3, $t2, 0xfff +/* 028C4C 8002804C 018B6825 */ or $t5, $t4, $t3 +/* 028C50 80028050 AC4D0000 */ sw $t5, ($v0) +/* 028C54 80028054 AFA20028 */ sw $v0, 0x28($sp) +/* 028C58 80028058 24500008 */ addiu $s0, $v0, 8 +/* 028C5C 8002805C 0C00BFE8 */ jal osVirtualToPhysical +/* 028C60 80028060 00A02025 */ move $a0, $a1 +/* 028C64 80028064 8FA30028 */ lw $v1, 0x28($sp) +/* 028C68 80028068 AC620004 */ sw $v0, 4($v1) +.L8002806C_ovl0: +/* 028C6C 8002806C 8FBF001C */ lw $ra, 0x1c($sp) +/* 028C70 80028070 02001025 */ move $v0, $s0 +/* 028C74 80028074 8FB00018 */ lw $s0, 0x18($sp) +/* 028C78 80028078 03E00008 */ jr $ra +/* 028C7C 8002807C 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80028080 +/* 028C80 80028080 44853000 */ mtc1 $a1, $f6 +/* 028C84 80028084 C4840010 */ lwc1 $f4, 0x10($a0) +/* 028C88 80028088 C4900014 */ lwc1 $f16, 0x14($a0) +/* 028C8C 8002808C 46803220 */ cvt.s.w $f8, $f6 +/* 028C90 80028090 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 028C94 80028094 44813000 */ mtc1 $at, $f6 +/* 028C98 80028098 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 028C9C 8002809C 46082282 */ mul.s $f10, $f4, $f8 +/* 028CA0 800280A0 460A8480 */ add.s $f18, $f16, $f10 +/* 028CA4 800280A4 44808000 */ mtc1 $zero, $f16 +/* 028CA8 800280A8 E4920014 */ swc1 $f18, 0x14($a0) +/* 028CAC 800280AC C4800014 */ lwc1 $f0, 0x14($a0) +/* 028CB0 800280B0 4600303C */ c.lt.s $f6, $f0 +/* 028CB4 800280B4 00000000 */ nop +/* 028CB8 800280B8 45020007 */ bc1fl .L800280D8_ovl0 +/* 028CBC 800280BC E4800014 */ swc1 $f0, 0x14($a0) +/* 028CC0 800280C0 44812000 */ mtc1 $at, $f4 +/* 028CC4 800280C4 00000000 */ nop +/* 028CC8 800280C8 46040201 */ sub.s $f8, $f0, $f4 +/* 028CCC 800280CC 10000002 */ b .L800280D8_ovl0 +/* 028CD0 800280D0 E4880014 */ swc1 $f8, 0x14($a0) +/* 028CD4 800280D4 E4800014 */ swc1 $f0, 0x14($a0) +.L800280D8_ovl0: +/* 028CD8 800280D8 C4820014 */ lwc1 $f2, 0x14($a0) +/* 028CDC 800280DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 028CE0 800280E0 44815000 */ mtc1 $at, $f10 +/* 028CE4 800280E4 4610103C */ c.lt.s $f2, $f16 +/* 028CE8 800280E8 00000000 */ nop +/* 028CEC 800280EC 45020003 */ bc1fl .L800280FC_ovl0 +/* 028CF0 800280F0 460A1081 */ sub.s $f2, $f2, $f10 +/* 028CF4 800280F4 46001087 */ neg.s $f2, $f2 +/* 028CF8 800280F8 460A1081 */ sub.s $f2, $f2, $f10 +.L800280FC_ovl0: +/* 028CFC 800280FC C492001C */ lwc1 $f18, 0x1c($a0) +/* 028D00 80028100 46029002 */ mul.s $f0, $f18, $f2 +/* 028D04 80028104 03E00008 */ jr $ra +/* 028D08 80028108 00000000 */ nop + +glabel func_8002810C +/* 028D0C 8002810C 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 028D10 80028110 AFBF0024 */ sw $ra, 0x24($sp) +/* 028D14 80028114 AFB00020 */ sw $s0, 0x20($sp) +/* 028D18 80028118 AFA60070 */ sw $a2, 0x70($sp) +/* 028D1C 8002811C 8CAE0024 */ lw $t6, 0x24($a1) +/* 028D20 80028120 00A08025 */ move $s0, $a1 +/* 028D24 80028124 00804825 */ move $t1, $a0 +/* 028D28 80028128 11C0006B */ beqz $t6, .L800282D8_ovl0 +/* 028D2C 8002812C 00E05825 */ move $t3, $a3 +/* 028D30 80028130 8CAF0004 */ lw $t7, 4($a1) +/* 028D34 80028134 8CB80000 */ lw $t8, ($a1) +/* 028D38 80028138 00A02025 */ move $a0, $a1 +/* 028D3C 8002813C 240500B8 */ li $a1, 184 +/* 028D40 80028140 01F8C823 */ subu $t9, $t7, $t8 +/* 028D44 80028144 AFB90040 */ sw $t9, 0x40($sp) +/* 028D48 80028148 AFA70074 */ sw $a3, 0x74($sp) +/* 028D4C 8002814C 0C00A020 */ jal func_80028080 +/* 028D50 80028150 AFA90068 */ sw $t1, 0x68($sp) +/* 028D54 80028154 8FAC0040 */ lw $t4, 0x40($sp) +/* 028D58 80028158 3C014700 */ li $at, 0x47000000 # 32768.000000 +/* 028D5C 8002815C 44817000 */ mtc1 $at, $f14 +/* 028D60 80028160 448C3000 */ mtc1 $t4, $f6 +/* 028D64 80028164 240F00B8 */ li $t7, 184 +/* 028D68 80028168 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 028D6C 8002816C 46803220 */ cvt.s.w $f8, $f6 +/* 028D70 80028170 44812000 */ mtc1 $at, $f4 +/* 028D74 80028174 8FA40068 */ lw $a0, 0x68($sp) +/* 028D78 80028178 8FAB0074 */ lw $t3, 0x74($sp) +/* 028D7C 8002817C 240602E0 */ li $a2, 736 +/* 028D80 80028180 46080283 */ div.s $f10, $f0, $f8 +/* 028D84 80028184 460E5402 */ mul.s $f16, $f10, $f14 +/* 028D88 80028188 4600848D */ trunc.w.s $f18, $f16 +/* 028D8C 8002818C 440E9000 */ mfc1 $t6, $f18 +/* 028D90 80028190 448F9000 */ mtc1 $t7, $f18 +/* 028D94 80028194 448E3000 */ mtc1 $t6, $f6 +/* 028D98 80028198 00000000 */ nop +/* 028D9C 8002819C 46803220 */ cvt.s.w $f8, $f6 +/* 028DA0 800281A0 468091A0 */ cvt.s.w $f6, $f18 +/* 028DA4 800281A4 460E4283 */ div.s $f10, $f8, $f14 +/* 028DA8 800281A8 460A2081 */ sub.s $f2, $f4, $f10 +/* 028DAC 800281AC 46061202 */ mul.s $f8, $f2, $f6 +/* 028DB0 800281B0 E7A2004C */ swc1 $f2, 0x4c($sp) +/* 028DB4 800281B4 8E020024 */ lw $v0, 0x24($s0) +/* 028DB8 800281B8 C4500020 */ lwc1 $f16, 0x20($v0) +/* 028DBC 800281BC 46088300 */ add.s $f12, $f16, $f8 +/* 028DC0 800281C0 4600610D */ trunc.w.s $f4, $f12 +/* 028DC4 800281C4 44032000 */ mfc1 $v1, $f4 +/* 028DC8 800281C8 00000000 */ nop +/* 028DCC 800281CC 44835000 */ mtc1 $v1, $f10 +/* 028DD0 800281D0 00000000 */ nop +/* 028DD4 800281D4 468054A0 */ cvt.s.w $f18, $f10 +/* 028DD8 800281D8 46126181 */ sub.s $f6, $f12, $f18 +/* 028DDC 800281DC E4460020 */ swc1 $f6, 0x20($v0) +/* 028DE0 800281E0 8E0C0018 */ lw $t4, 0x18($s0) +/* 028DE4 800281E4 8E190004 */ lw $t9, 4($s0) +/* 028DE8 800281E8 8C980018 */ lw $t8, 0x18($a0) +/* 028DEC 800281EC AFAB0010 */ sw $t3, 0x10($sp) +/* 028DF0 800281F0 032C6823 */ subu $t5, $t9, $t4 +/* 028DF4 800281F4 000D7023 */ negu $t6, $t5 +/* 028DF8 800281F8 000E7840 */ sll $t7, $t6, 1 +/* 028DFC 800281FC 030F4021 */ addu $t0, $t8, $t7 +/* 028E00 80028200 310A0007 */ andi $t2, $t0, 7 +/* 028E04 80028204 000A5043 */ sra $t2, $t2, 1 +/* 028E08 80028208 000AC840 */ sll $t9, $t2, 1 +/* 028E0C 8002820C 01192823 */ subu $a1, $t0, $t9 +/* 028E10 80028210 AFAA002C */ sw $t2, 0x2c($sp) +/* 028E14 80028214 006A3821 */ addu $a3, $v1, $t2 +/* 028E18 80028218 0C009FCE */ jal func_80027F38 +/* 028E1C 8002821C AFA30030 */ sw $v1, 0x30($sp) +/* 028E20 80028220 8E0C0024 */ lw $t4, 0x24($s0) +/* 028E24 80028224 24450008 */ addiu $a1, $v0, 8 +/* 028E28 80028228 8D840014 */ lw $a0, 0x14($t4) +/* 028E2C 8002822C AFA20034 */ sw $v0, 0x34($sp) +/* 028E30 80028230 0C00BFE8 */ jal osVirtualToPhysical +/* 028E34 80028234 AFA50064 */ sw $a1, 0x64($sp) +/* 028E38 80028238 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 028E3C 8002823C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 028E40 80028240 00416824 */ and $t5, $v0, $at +/* 028E44 80028244 8FA60034 */ lw $a2, 0x34($sp) +/* 028E48 80028248 3C010500 */ lui $at, 0x500 +/* 028E4C 8002824C 01A17025 */ or $t6, $t5, $at +/* 028E50 80028250 8FA30030 */ lw $v1, 0x30($sp) +/* 028E54 80028254 8FAA002C */ lw $t2, 0x2c($sp) +/* 028E58 80028258 8FA50064 */ lw $a1, 0x64($sp) +/* 028E5C 8002825C 3C014700 */ li $at, 0x47000000 # 32768.000000 +/* 028E60 80028260 ACCE0000 */ sw $t6, ($a2) +/* 028E64 80028264 C7B0004C */ lwc1 $f16, 0x4c($sp) +/* 028E68 80028268 44814000 */ mtc1 $at, $f8 +/* 028E6C 8002826C 8E0D0024 */ lw $t5, 0x24($s0) +/* 028E70 80028270 46088102 */ mul.s $f4, $f16, $f8 +/* 028E74 80028274 8DB80024 */ lw $t8, 0x24($t5) +/* 028E78 80028278 000A6840 */ sll $t5, $t2, 1 +/* 028E7C 8002827C 25AE02E0 */ addiu $t6, $t5, 0x2e0 +/* 028E80 80028280 8FAD0070 */ lw $t5, 0x70($sp) +/* 028E84 80028284 4600228D */ trunc.w.s $f10, $f4 +/* 028E88 80028288 440F5000 */ mfc1 $t7, $f10 +/* 028E8C 8002828C 00000000 */ nop +/* 028E90 80028290 31F9FFFF */ andi $t9, $t7, 0xffff +/* 028E94 80028294 00187F80 */ sll $t7, $t8, 0x1e +/* 028E98 80028298 00196380 */ sll $t4, $t9, 0xe +/* 028E9C 8002829C 01ECC825 */ or $t9, $t7, $t4 +/* 028EA0 800282A0 31D80FFF */ andi $t8, $t6, 0xfff +/* 028EA4 800282A4 00187880 */ sll $t7, $t8, 2 +/* 028EA8 800282A8 032F6025 */ or $t4, $t9, $t7 +/* 028EAC 800282AC 000DCA03 */ sra $t9, $t5, 8 +/* 028EB0 800282B0 332F0003 */ andi $t7, $t9, 3 +/* 028EB4 800282B4 018F6825 */ or $t5, $t4, $t7 +/* 028EB8 800282B8 ACCD0004 */ sw $t5, 4($a2) +/* 028EBC 800282BC 8E0E0024 */ lw $t6, 0x24($s0) +/* 028EC0 800282C0 ADC00024 */ sw $zero, 0x24($t6) +/* 028EC4 800282C4 8E180018 */ lw $t8, 0x18($s0) +/* 028EC8 800282C8 0303C821 */ addu $t9, $t8, $v1 +/* 028ECC 800282CC 272CFF48 */ addiu $t4, $t9, -0xb8 +/* 028ED0 800282D0 1000000C */ b .L80028304_ovl0 +/* 028ED4 800282D4 AE0C0018 */ sw $t4, 0x18($s0) +.L800282D8_ovl0: +/* 028ED8 800282D8 8E0D0004 */ lw $t5, 4($s0) +/* 028EDC 800282DC 8D2F0018 */ lw $t7, 0x18($t1) +/* 028EE0 800282E0 AFAB0010 */ sw $t3, 0x10($sp) +/* 028EE4 800282E4 000D7023 */ negu $t6, $t5 +/* 028EE8 800282E8 000EC040 */ sll $t8, $t6, 1 +/* 028EEC 800282EC 01202025 */ move $a0, $t1 +/* 028EF0 800282F0 8FA60070 */ lw $a2, 0x70($sp) +/* 028EF4 800282F4 240700B8 */ li $a3, 184 +/* 028EF8 800282F8 0C009FCE */ jal func_80027F38 +/* 028EFC 800282FC 01F82821 */ addu $a1, $t7, $t8 +/* 028F00 80028300 00402825 */ move $a1, $v0 +.L80028304_ovl0: +/* 028F04 80028304 8FBF0024 */ lw $ra, 0x24($sp) +/* 028F08 80028308 8FB00020 */ lw $s0, 0x20($sp) +/* 028F0C 8002830C 27BD0068 */ addiu $sp, $sp, 0x68 +/* 028F10 80028310 03E00008 */ jr $ra +/* 028F14 80028314 00A01025 */ move $v0, $a1 + +glabel func_80028318 +/* 028F18 80028318 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 028F1C 8002831C 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 +/* 028F20 80028320 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) +/* 028F24 80028324 AFBF0044 */ sw $ra, 0x44($sp) +/* 028F28 80028328 AFBE0040 */ sw $fp, 0x40($sp) +/* 028F2C 8002832C AFB7003C */ sw $s7, 0x3c($sp) +/* 028F30 80028330 AFB60038 */ sw $s6, 0x38($sp) +/* 028F34 80028334 AFB50034 */ sw $s5, 0x34($sp) +/* 028F38 80028338 AFB40030 */ sw $s4, 0x30($sp) +/* 028F3C 8002833C AFB3002C */ sw $s3, 0x2c($sp) +/* 028F40 80028340 AFB20028 */ sw $s2, 0x28($sp) +/* 028F44 80028344 AFB10024 */ sw $s1, 0x24($sp) +/* 028F48 80028348 AFB00020 */ sw $s0, 0x20($sp) +/* 028F4C 8002834C 8DCF0040 */ lw $t7, 0x40($t6) +/* 028F50 80028350 8DF30020 */ lw $s3, 0x20($t7) +/* 028F54 80028354 0C009F2D */ jal func_80027CB4 +/* 028F58 80028358 AFA0004C */ sw $zero, 0x4c($sp) +/* 028F5C 8002835C 3C180C00 */ lui $t8, (0x0C00DA83 >> 16) # lui $t8, 0xc00 +/* 028F60 80028360 3C1907C0 */ lui $t9, (0x07C007C0 >> 16) # lui $t9, 0x7c0 +/* 028F64 80028364 3C080C00 */ lui $t0, (0x0C005A82 >> 16) # lui $t0, 0xc00 +/* 028F68 80028368 3C090930 */ lui $t1, (0x093007C0 >> 16) # lui $t1, 0x930 +/* 028F6C 8002836C 373907C0 */ ori $t9, (0x07C007C0 & 0xFFFF) # ori $t9, $t9, 0x7c0 +/* 028F70 80028370 3718DA83 */ ori $t8, (0x0C00DA83 & 0xFFFF) # ori $t8, $t8, 0xda83 +/* 028F74 80028374 352907C0 */ ori $t1, (0x093007C0 & 0xFFFF) # ori $t1, $t1, 0x7c0 +/* 028F78 80028378 35085A82 */ ori $t0, (0x0C005A82 & 0xFFFF) # ori $t0, $t0, 0x5a82 +/* 028F7C 8002837C AC580000 */ sw $t8, ($v0) +/* 028F80 80028380 AC590004 */ sw $t9, 4($v0) +/* 028F84 80028384 AC480008 */ sw $t0, 8($v0) +/* 028F88 80028388 AC49000C */ sw $t1, 0xc($v0) +/* 028F8C 8002838C 0000A825 */ move $s5, $zero +/* 028F90 80028390 24120170 */ li $s2, 368 +/* 028F94 80028394 8E650018 */ lw $a1, 0x18($s3) +/* 028F98 80028398 02602025 */ move $a0, $s3 +/* 028F9C 8002839C 240607C0 */ li $a2, 1984 +/* 028FA0 800283A0 0C009F56 */ jal func_80027D58 +/* 028FA4 800283A4 24470010 */ addiu $a3, $v0, 0x10 +/* 028FA8 800283A8 8FA3004C */ lw $v1, 0x4c($sp) +/* 028FAC 800283AC 3C0A0200 */ lui $t2, (0x02000930 >> 16) # lui $t2, 0x200 +/* 028FB0 800283B0 354A0930 */ ori $t2, (0x02000930 & 0xFFFF) # ori $t2, $t2, 0x930 +/* 028FB4 800283B4 240B0170 */ li $t3, 368 +/* 028FB8 800283B8 AC4B0004 */ sw $t3, 4($v0) +/* 028FBC 800283BC AC4A0000 */ sw $t2, ($v0) +/* 028FC0 800283C0 926C0024 */ lbu $t4, 0x24($s3) +/* 028FC4 800283C4 24500008 */ addiu $s0, $v0, 8 +/* 028FC8 800283C8 0000B025 */ move $s6, $zero +/* 028FCC 800283CC 1980006B */ blez $t4, .L8002857C_ovl0 +/* 028FD0 800283D0 3C1E0C00 */ lui $fp, 0xc00 +/* 028FD4 800283D4 8E620018 */ lw $v0, 0x18($s3) +.L800283D8_ovl0: +/* 028FD8 800283D8 8E6D0020 */ lw $t5, 0x20($s3) +/* 028FDC 800283DC 00167080 */ sll $t6, $s6, 2 +/* 028FE0 800283E0 01D67021 */ addu $t6, $t6, $s6 +/* 028FE4 800283E4 000E70C0 */ sll $t6, $t6, 3 +/* 028FE8 800283E8 01AE8821 */ addu $s1, $t5, $t6 +/* 028FEC 800283EC 8E2F0000 */ lw $t7, ($s1) +/* 028FF0 800283F0 8E280004 */ lw $t0, 4($s1) +/* 028FF4 800283F4 02602025 */ move $a0, $s3 +/* 028FF8 800283F8 000FC023 */ negu $t8, $t7 +/* 028FFC 800283FC 0018C840 */ sll $t9, $t8, 1 +/* 029000 80028400 00084823 */ negu $t1, $t0 +/* 029004 80028404 0059A021 */ addu $s4, $v0, $t9 +/* 029008 80028408 00095040 */ sll $t2, $t1, 1 +/* 02900C 8002840C 16830007 */ bne $s4, $v1, .L8002842C_ovl0 +/* 029010 80028410 004AB821 */ addu $s7, $v0, $t2 +/* 029014 80028414 02401025 */ move $v0, $s2 +/* 029018 80028418 00159400 */ sll $s2, $s5, 0x10 +/* 02901C 8002841C 0002AC00 */ sll $s5, $v0, 0x10 +/* 029020 80028420 0015AC03 */ sra $s5, $s5, 0x10 +/* 029024 80028424 10000007 */ b .L80028444_ovl0 +/* 029028 80028428 00129403 */ sra $s2, $s2, 0x10 +.L8002842C_ovl0: +/* 02902C 8002842C 02802825 */ move $a1, $s4 +/* 029030 80028430 02A03025 */ move $a2, $s5 +/* 029034 80028434 240700B8 */ li $a3, 184 +/* 029038 80028438 0C009FCE */ jal func_80027F38 +/* 02903C 8002843C AFB00010 */ sw $s0, 0x10($sp) +/* 029040 80028440 00408025 */ move $s0, $v0 +.L80028444_ovl0: +/* 029044 80028444 02602025 */ move $a0, $s3 +/* 029048 80028448 02202825 */ move $a1, $s1 +/* 02904C 8002844C 02403025 */ move $a2, $s2 +/* 029050 80028450 0C00A043 */ jal func_8002810C +/* 029054 80028454 02003825 */ move $a3, $s0 +/* 029058 80028458 86240008 */ lh $a0, 8($s1) +/* 02905C 8002845C 00408025 */ move $s0, $v0 +/* 029060 80028460 00157C00 */ sll $t7, $s5, 0x10 +/* 029064 80028464 10800012 */ beqz $a0, .L800284B0_ovl0 +/* 029068 80028468 308CFFFF */ andi $t4, $a0, 0xffff +/* 02906C 8002846C 3258FFFF */ andi $t8, $s2, 0xffff +/* 029070 80028470 01F8C825 */ or $t9, $t7, $t8 +/* 029074 80028474 019E6825 */ or $t5, $t4, $fp +/* 029078 80028478 AC4D0000 */ sw $t5, ($v0) +/* 02907C 8002847C AC590004 */ sw $t9, 4($v0) +/* 029080 80028480 8E280024 */ lw $t0, 0x24($s1) +/* 029084 80028484 24500008 */ addiu $s0, $v0, 8 +/* 029088 80028488 5500000A */ bnezl $t0, .L800284B4_ovl0 +/* 02908C 8002848C 8623000A */ lh $v1, 0xa($s1) +/* 029090 80028490 8E290020 */ lw $t1, 0x20($s1) +/* 029094 80028494 02602025 */ move $a0, $s3 +/* 029098 80028498 02E02825 */ move $a1, $s7 +/* 02909C 8002849C 15200004 */ bnez $t1, .L800284B0_ovl0 +/* 0290A0 800284A0 02403025 */ move $a2, $s2 +/* 0290A4 800284A4 0C009F56 */ jal func_80027D58 +/* 0290A8 800284A8 02003825 */ move $a3, $s0 +/* 0290AC 800284AC 00408025 */ move $s0, $v0 +.L800284B0_ovl0: +/* 0290B0 800284B0 8623000A */ lh $v1, 0xa($s1) +.L800284B4_ovl0: +/* 0290B4 800284B4 02001025 */ move $v0, $s0 +/* 0290B8 800284B8 26070008 */ addiu $a3, $s0, 8 +/* 0290BC 800284BC 1060000C */ beqz $v1, .L800284F0_ovl0 +/* 0290C0 800284C0 306BFFFF */ andi $t3, $v1, 0xffff +/* 0290C4 800284C4 00127400 */ sll $t6, $s2, 0x10 +/* 0290C8 800284C8 32AFFFFF */ andi $t7, $s5, 0xffff +/* 0290CC 800284CC 01CFC025 */ or $t8, $t6, $t7 +/* 0290D0 800284D0 017E6025 */ or $t4, $t3, $fp +/* 0290D4 800284D4 AC4C0000 */ sw $t4, ($v0) +/* 0290D8 800284D8 AC580004 */ sw $t8, 4($v0) +/* 0290DC 800284DC 02602025 */ move $a0, $s3 +/* 0290E0 800284E0 02802825 */ move $a1, $s4 +/* 0290E4 800284E4 0C009F56 */ jal func_80027D58 +/* 0290E8 800284E8 02A03025 */ move $a2, $s5 +/* 0290EC 800284EC 00408025 */ move $s0, $v0 +.L800284F0_ovl0: +/* 0290F0 800284F0 8E240020 */ lw $a0, 0x20($s1) +/* 0290F4 800284F4 02402825 */ move $a1, $s2 +/* 0290F8 800284F8 50800005 */ beql $a0, $zero, .L80028510_ovl0 +/* 0290FC 800284FC 8E390024 */ lw $t9, 0x24($s1) +/* 029100 80028500 0C009FA1 */ jal func_80027E84 +/* 029104 80028504 02003025 */ move $a2, $s0 +/* 029108 80028508 00408025 */ move $s0, $v0 +/* 02910C 8002850C 8E390024 */ lw $t9, 0x24($s1) +.L80028510_ovl0: +/* 029110 80028510 02602025 */ move $a0, $s3 +/* 029114 80028514 02E02825 */ move $a1, $s7 +/* 029118 80028518 17200004 */ bnez $t9, .L8002852C_ovl0 +/* 02911C 8002851C 02403025 */ move $a2, $s2 +/* 029120 80028520 0C009F56 */ jal func_80027D58 +/* 029124 80028524 02003825 */ move $a3, $s0 +/* 029128 80028528 00408025 */ move $s0, $v0 +.L8002852C_ovl0: +/* 02912C 8002852C 8623000C */ lh $v1, 0xc($s1) +/* 029130 80028530 26D60001 */ addiu $s6, $s6, 1 +/* 029134 80028534 0016B400 */ sll $s6, $s6, 0x10 +/* 029138 80028538 10600009 */ beqz $v1, .L80028560_ovl0 +/* 02913C 8002853C 0016B403 */ sra $s6, $s6, 0x10 +/* 029140 80028540 02001025 */ move $v0, $s0 +/* 029144 80028544 3069FFFF */ andi $t1, $v1, 0xffff +/* 029148 80028548 00126400 */ sll $t4, $s2, 0x10 +/* 02914C 8002854C 358D0930 */ ori $t5, $t4, 0x930 +/* 029150 80028550 013E5025 */ or $t2, $t1, $fp +/* 029154 80028554 AC4A0000 */ sw $t2, ($v0) +/* 029158 80028558 AC4D0004 */ sw $t5, 4($v0) +/* 02915C 8002855C 26100008 */ addiu $s0, $s0, 8 +.L80028560_ovl0: +/* 029160 80028560 92780024 */ lbu $t8, 0x24($s3) +/* 029164 80028564 8E2E0004 */ lw $t6, 4($s1) +/* 029168 80028568 8E620018 */ lw $v0, 0x18($s3) +/* 02916C 8002856C 02D8082A */ slt $at, $s6, $t8 +/* 029170 80028570 000E7840 */ sll $t7, $t6, 1 +/* 029174 80028574 1420FF98 */ bnez $at, .L800283D8_ovl0 +/* 029178 80028578 004F1821 */ addu $v1, $v0, $t7 +.L8002857C_ovl0: +/* 02917C 8002857C 8E63001C */ lw $v1, 0x1c($s3) +/* 029180 80028580 8E790018 */ lw $t9, 0x18($s3) +/* 029184 80028584 8E690014 */ lw $t1, 0x14($s3) +/* 029188 80028588 00031840 */ sll $v1, $v1, 1 +/* 02918C 8002858C 27280170 */ addiu $t0, $t9, 0x170 +/* 029190 80028590 01235021 */ addu $t2, $t1, $v1 +/* 029194 80028594 0148082B */ sltu $at, $t2, $t0 +/* 029198 80028598 10200003 */ beqz $at, .L800285A8_ovl0 +/* 02919C 8002859C AE680018 */ sw $t0, 0x18($s3) +/* 0291A0 800285A0 01035823 */ subu $t3, $t0, $v1 +/* 0291A4 800285A4 AE6B0018 */ sw $t3, 0x18($s3) +.L800285A8_ovl0: +/* 0291A8 800285A8 02001825 */ move $v1, $s0 +/* 0291AC 800285AC 3C0C0A00 */ lui $t4, (0x0A000930 >> 16) # lui $t4, 0xa00 +/* 0291B0 800285B0 3C0D07C0 */ lui $t5, (0x07C00170 >> 16) # lui $t5, 0x7c0 +/* 0291B4 800285B4 35AD0170 */ ori $t5, (0x07C00170 & 0xFFFF) # ori $t5, $t5, 0x170 +/* 0291B8 800285B8 358C0930 */ ori $t4, (0x0A000930 & 0xFFFF) # ori $t4, $t4, 0x930 +/* 0291BC 800285BC AC6C0000 */ sw $t4, ($v1) +/* 0291C0 800285C0 AC6D0004 */ sw $t5, 4($v1) +/* 0291C4 800285C4 8FBF0044 */ lw $ra, 0x44($sp) +/* 0291C8 800285C8 26020008 */ addiu $v0, $s0, 8 +/* 0291CC 800285CC 8FB00020 */ lw $s0, 0x20($sp) +/* 0291D0 800285D0 8FBE0040 */ lw $fp, 0x40($sp) +/* 0291D4 800285D4 8FB7003C */ lw $s7, 0x3c($sp) +/* 0291D8 800285D8 8FB60038 */ lw $s6, 0x38($sp) +/* 0291DC 800285DC 8FB50034 */ lw $s5, 0x34($sp) +/* 0291E0 800285E0 8FB40030 */ lw $s4, 0x30($sp) +/* 0291E4 800285E4 8FB3002C */ lw $s3, 0x2c($sp) +/* 0291E8 800285E8 8FB20028 */ lw $s2, 0x28($sp) +/* 0291EC 800285EC 8FB10024 */ lw $s1, 0x24($sp) +/* 0291F0 800285F0 03E00008 */ jr $ra +/* 0291F4 800285F4 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_800285F8 +/* 0291F8 800285F8 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0291FC 800285FC AFBF002C */ sw $ra, 0x2c($sp) +/* 029200 80028600 91170008 */ lbu $s7, 8($t0) +/* 029204 80028604 911E0009 */ lbu $fp, 9($t0) +/* 029208 80028608 9114000A */ lbu $s4, 0xa($t0) +/* 02920C 8002860C 32E300F0 */ andi $v1, $s7, 0xf0 +/* 029210 80028610 246EFF80 */ addiu $t6, $v1, -0x80 +/* 029214 80028614 2DC10061 */ sltiu $at, $t6, 0x61 +/* 029218 80028618 1020027A */ beqz $at, .L80029004_ovl0 +/* 02921C 8002861C 32F7000F */ andi $s7, $s7, 0xf +/* 029220 80028620 000E7080 */ sll $t6, $t6, 2 +/* 029224 80028624 3C018004 */ lui $at, %hi(D_80041514) +/* 029228 80028628 002E0821 */ addu $at, $at, $t6 +/* 02922C 8002862C 8C2E1514 */ lw $t6, %lo(D_80041514)($at) +/* 029230 80028630 01C00008 */ jr $t6 +/* 029234 80028634 00000000 */ nop +/* 029238 80028638 528000FB */ beql $s4, $zero, .L80028A28_ovl0 +/* 02923C 8002863C 02402025 */ move $a0, $s2 +/* 029240 80028640 8E4F0034 */ lw $t7, 0x34($s2) +/* 029244 80028644 24010001 */ li $at, 1 +/* 029248 80028648 3C188004 */ lui $t8, %hi(D_8003FB1C) # $t8, 0x8004 +/* 02924C 8002864C 55E1026E */ bnel $t7, $at, .L80029008_ovl0 +/* 029250 80028650 8FBF002C */ lw $ra, 0x2c($sp) +/* 029254 80028654 9718FB1C */ lhu $t8, %lo(D_8003FB1C)($t8) +/* 029258 80028658 24190001 */ li $t9, 1 +/* 02925C 8002865C 02F97004 */ sllv $t6, $t9, $s7 +/* 029260 80028660 030E7824 */ and $t7, $t8, $t6 +/* 029264 80028664 11E00267 */ beqz $t7, .L80029004_ovl0 +/* 029268 80028668 02E09825 */ move $s3, $s7 +/* 02926C 8002866C 02402025 */ move $a0, $s2 +/* 029270 80028670 33C500FF */ andi $a1, $fp, 0xff +/* 029274 80028674 328600FF */ andi $a2, $s4, 0xff +/* 029278 80028678 32E700FF */ andi $a3, $s7, 0xff +/* 02927C 8002867C 0C00ADC3 */ jal func_8002B70C +/* 029280 80028680 AFA800C4 */ sw $t0, 0xc4($sp) +/* 029284 80028684 1040025F */ beqz $v0, .L80029004_ovl0 +/* 029288 80028688 AFA20078 */ sw $v0, 0x78($sp) +/* 02928C 8002868C 8E590068 */ lw $t9, 0x68($s2) +/* 029290 80028690 00178880 */ sll $s1, $s7, 2 +/* 029294 80028694 02378823 */ subu $s1, $s1, $s7 +/* 029298 80028698 001188C0 */ sll $s1, $s1, 3 +/* 02929C 8002869C 0331C021 */ addu $t8, $t9, $s1 +/* 0292A0 800286A0 930E0008 */ lbu $t6, 8($t8) +/* 0292A4 800286A4 A7A0007E */ sh $zero, 0x7e($sp) +/* 0292A8 800286A8 A3A00080 */ sb $zero, 0x80($sp) +/* 0292AC 800286AC 02402025 */ move $a0, $s2 +/* 0292B0 800286B0 33C500FF */ andi $a1, $fp, 0xff +/* 0292B4 800286B4 328600FF */ andi $a2, $s4, 0xff +/* 0292B8 800286B8 32E700FF */ andi $a3, $s7, 0xff +/* 0292BC 800286BC 0C00ADAA */ jal func_8002B6A8 +/* 0292C0 800286C0 A7AE007C */ sh $t6, 0x7c($sp) +/* 0292C4 800286C4 1040024F */ beqz $v0, .L80029004_ovl0 +/* 0292C8 800286C8 00408025 */ move $s0, $v0 +/* 0292CC 800286CC 24440004 */ addiu $a0, $v0, 4 +/* 0292D0 800286D0 AFA4003C */ sw $a0, 0x3c($sp) +/* 0292D4 800286D4 0C00AAF4 */ jal func_8002ABD0 +/* 0292D8 800286D8 27A5007C */ addiu $a1, $sp, 0x7c +/* 0292DC 800286DC 8FA30078 */ lw $v1, 0x78($sp) +/* 0292E0 800286E0 A2000034 */ sb $zero, 0x34($s0) +/* 0292E4 800286E4 24160002 */ li $s6, 2 +/* 0292E8 800286E8 AE030020 */ sw $v1, 0x20($s0) +/* 0292EC 800286EC 8E4F0068 */ lw $t7, 0x68($s2) +/* 0292F0 800286F0 01F1C821 */ addu $t9, $t7, $s1 +/* 0292F4 800286F4 9338000B */ lbu $t8, 0xb($t9) +/* 0292F8 800286F8 2B010040 */ slti $at, $t8, 0x40 +/* 0292FC 800286FC 54200004 */ bnezl $at, .L80028710_ovl0 +/* 029300 80028700 A2000035 */ sb $zero, 0x35($s0) +/* 029304 80028704 10000002 */ b .L80028710_ovl0 +/* 029308 80028708 A2160035 */ sb $s6, 0x35($s0) +/* 02930C 8002870C A2000035 */ sb $zero, 0x35($s0) +.L80028710_ovl0: +/* 029310 80028710 8C620004 */ lw $v0, 4($v1) +/* 029314 80028714 904E0004 */ lbu $t6, 4($v0) +/* 029318 80028718 80580005 */ lb $t8, 5($v0) +/* 02931C 8002871C 03CE7823 */ subu $t7, $fp, $t6 +/* 029320 80028720 000FC880 */ sll $t9, $t7, 2 +/* 029324 80028724 032FC823 */ subu $t9, $t9, $t7 +/* 029328 80028728 0019C8C0 */ sll $t9, $t9, 3 +/* 02932C 8002872C 032FC821 */ addu $t9, $t9, $t7 +/* 029330 80028730 0019C880 */ sll $t9, $t9, 2 +/* 029334 80028734 03382021 */ addu $a0, $t9, $t8 +/* 029338 80028738 00042400 */ sll $a0, $a0, 0x10 +/* 02933C 8002873C 0C00DC20 */ jal func_80037080 +/* 029340 80028740 00042403 */ sra $a0, $a0, 0x10 +/* 029344 80028744 E6000028 */ swc1 $f0, 0x28($s0) +/* 029348 80028748 8FAE0078 */ lw $t6, 0x78($sp) +/* 02934C 8002874C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 029350 80028750 4481B000 */ mtc1 $at, $f22 +/* 029354 80028754 8DCF0000 */ lw $t7, ($t6) +/* 029358 80028758 91F9000C */ lbu $t9, 0xc($t7) +/* 02935C 8002875C A2190030 */ sb $t9, 0x30($s0) +/* 029360 80028760 8FAE0078 */ lw $t6, 0x78($sp) +/* 029364 80028764 8E58001C */ lw $t8, 0x1c($s2) +/* 029368 80028768 8DCF0000 */ lw $t7, ($t6) +/* 02936C 8002876C 8DF90000 */ lw $t9, ($t7) +/* 029370 80028770 A2000037 */ sb $zero, 0x37($s0) +/* 029374 80028774 03197021 */ addu $t6, $t8, $t9 +/* 029378 80028778 AE0E0024 */ sw $t6, 0x24($s0) +/* 02937C 8002877C 8E4F0068 */ lw $t7, 0x68($s2) +/* 029380 80028780 01F1C021 */ addu $t8, $t7, $s1 +/* 029384 80028784 8F140000 */ lw $s4, ($t8) +/* 029388 80028788 E7B6006C */ swc1 $f22, 0x6c($sp) +/* 02938C 8002878C 92860004 */ lbu $a2, 4($s4) +/* 029390 80028790 50C0001A */ beql $a2, $zero, .L800287FC_ovl0 +/* 029394 80028794 444FF800 */ cfc1 $t7, $31 +/* 029398 80028798 8E42007C */ lw $v0, 0x7c($s2) +/* 02939C 8002879C 50400017 */ beql $v0, $zero, .L800287FC_ovl0 +/* 0293A0 800287A0 444FF800 */ cfc1 $t7, $31 +/* 0293A4 800287A4 92990006 */ lbu $t9, 6($s4) +/* 0293A8 800287A8 92870005 */ lbu $a3, 5($s4) +/* 0293AC 800287AC 27A40064 */ addiu $a0, $sp, 0x64 +/* 0293B0 800287B0 AFB90010 */ sw $t9, 0x10($sp) +/* 0293B4 800287B4 928E0007 */ lbu $t6, 7($s4) +/* 0293B8 800287B8 27A5006C */ addiu $a1, $sp, 0x6c +/* 0293BC 800287BC 0040F809 */ jalr $v0 +/* 0293C0 800287C0 AFAE0014 */ sw $t6, 0x14($sp) +/* 0293C4 800287C4 1040000C */ beqz $v0, .L800287F8_ovl0 +/* 0293C8 800287C8 240F0016 */ li $t7, 22 +/* 0293CC 800287CC 8FB80064 */ lw $t8, 0x64($sp) +/* 0293D0 800287D0 A7AF0094 */ sh $t7, 0x94($sp) +/* 0293D4 800287D4 AFB00098 */ sw $s0, 0x98($sp) +/* 0293D8 800287D8 26440050 */ addiu $a0, $s2, 0x50 +/* 0293DC 800287DC 27A50094 */ addiu $a1, $sp, 0x94 +/* 0293E0 800287E0 00403025 */ move $a2, $v0 +/* 0293E4 800287E4 0C009818 */ jal func_80026060 +/* 0293E8 800287E8 AFB8009C */ sw $t8, 0x9c($sp) +/* 0293EC 800287EC 92190037 */ lbu $t9, 0x37($s0) +/* 0293F0 800287F0 372E0001 */ ori $t6, $t9, 1 +/* 0293F4 800287F4 A20E0037 */ sb $t6, 0x37($s0) +.L800287F8_ovl0: +/* 0293F8 800287F8 444FF800 */ cfc1 $t7, $31 +.L800287FC_ovl0: +/* 0293FC 800287FC 24180001 */ li $t8, 1 +/* 029400 80028800 44D8F800 */ ctc1 $t8, $31 +/* 029404 80028804 C7A4006C */ lwc1 $f4, 0x6c($sp) +/* 029408 80028808 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 02940C 8002880C 460021A4 */ cvt.w.s $f6, $f4 +/* 029410 80028810 4458F800 */ cfc1 $t8, $31 +/* 029414 80028814 00000000 */ nop +/* 029418 80028818 33180078 */ andi $t8, $t8, 0x78 +/* 02941C 8002881C 53000013 */ beql $t8, $zero, .L8002886C_ovl0 +/* 029420 80028820 44183000 */ mfc1 $t8, $f6 +/* 029424 80028824 44813000 */ mtc1 $at, $f6 +/* 029428 80028828 24180001 */ li $t8, 1 +/* 02942C 8002882C 46062181 */ sub.s $f6, $f4, $f6 +/* 029430 80028830 44D8F800 */ ctc1 $t8, $31 +/* 029434 80028834 00000000 */ nop +/* 029438 80028838 460031A4 */ cvt.w.s $f6, $f6 +/* 02943C 8002883C 4458F800 */ cfc1 $t8, $31 +/* 029440 80028840 00000000 */ nop +/* 029444 80028844 33180078 */ andi $t8, $t8, 0x78 +/* 029448 80028848 17000005 */ bnez $t8, .L80028860_ovl0 +/* 02944C 8002884C 00000000 */ nop +/* 029450 80028850 44183000 */ mfc1 $t8, $f6 +/* 029454 80028854 3C018000 */ lui $at, 0x8000 +/* 029458 80028858 10000007 */ b .L80028878_ovl0 +/* 02945C 8002885C 0301C025 */ or $t8, $t8, $at +.L80028860_ovl0: +/* 029460 80028860 10000005 */ b .L80028878_ovl0 +/* 029464 80028864 2418FFFF */ li $t8, -1 +/* 029468 80028868 44183000 */ mfc1 $t8, $f6 +.L8002886C_ovl0: +/* 02946C 8002886C 00000000 */ nop +/* 029470 80028870 0700FFFB */ bltz $t8, .L80028860_ovl0 +/* 029474 80028874 00000000 */ nop +.L80028878_ovl0: +/* 029478 80028878 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02947C 8002887C 44814000 */ mtc1 $at, $f8 +/* 029480 80028880 A2180036 */ sb $t8, 0x36($s0) +/* 029484 80028884 44CFF800 */ ctc1 $t7, $31 +/* 029488 80028888 E7A8006C */ swc1 $f8, 0x6c($sp) +/* 02948C 8002888C 92860008 */ lbu $a2, 8($s4) +/* 029490 80028890 26560050 */ addiu $s6, $s2, 0x50 +/* 029494 80028894 50C0001B */ beql $a2, $zero, .L80028904_ovl0 +/* 029498 80028898 C7AA006C */ lwc1 $f10, 0x6c($sp) +/* 02949C 8002889C 8E42007C */ lw $v0, 0x7c($s2) +/* 0294A0 800288A0 50400018 */ beql $v0, $zero, .L80028904_ovl0 +/* 0294A4 800288A4 C7AA006C */ lwc1 $f10, 0x6c($sp) +/* 0294A8 800288A8 9299000A */ lbu $t9, 0xa($s4) +/* 0294AC 800288AC 92870009 */ lbu $a3, 9($s4) +/* 0294B0 800288B0 27A40064 */ addiu $a0, $sp, 0x64 +/* 0294B4 800288B4 AFB90010 */ sw $t9, 0x10($sp) +/* 0294B8 800288B8 928E000B */ lbu $t6, 0xb($s4) +/* 0294BC 800288BC 27A5006C */ addiu $a1, $sp, 0x6c +/* 0294C0 800288C0 0040F809 */ jalr $v0 +/* 0294C4 800288C4 AFAE0014 */ sw $t6, 0x14($sp) +/* 0294C8 800288C8 1040000D */ beqz $v0, .L80028900_ovl0 +/* 0294CC 800288CC 240F0017 */ li $t7, 23 +/* 0294D0 800288D0 8FB80064 */ lw $t8, 0x64($sp) +/* 0294D4 800288D4 A7AF0094 */ sh $t7, 0x94($sp) +/* 0294D8 800288D8 AFB00098 */ sw $s0, 0x98($sp) +/* 0294DC 800288DC A3B700A0 */ sb $s7, 0xa0($sp) +/* 0294E0 800288E0 02C02025 */ move $a0, $s6 +/* 0294E4 800288E4 27A50094 */ addiu $a1, $sp, 0x94 +/* 0294E8 800288E8 00403025 */ move $a2, $v0 +/* 0294EC 800288EC 0C009818 */ jal func_80026060 +/* 0294F0 800288F0 AFB8009C */ sw $t8, 0x9c($sp) +/* 0294F4 800288F4 92190037 */ lbu $t9, 0x37($s0) +/* 0294F8 800288F8 372E0002 */ ori $t6, $t9, 2 +/* 0294FC 800288FC A20E0037 */ sb $t6, 0x37($s0) +.L80028900_ovl0: +/* 029500 80028900 C7AA006C */ lwc1 $f10, 0x6c($sp) +.L80028904_ovl0: +/* 029504 80028904 C6060028 */ lwc1 $f6, 0x28($s0) +/* 029508 80028908 02002025 */ move $a0, $s0 +/* 02950C 8002890C E60A002C */ swc1 $f10, 0x2c($s0) +/* 029510 80028910 8E4F0068 */ lw $t7, 0x68($s2) +/* 029514 80028914 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 029518 80028918 02402825 */ move $a1, $s2 +/* 02951C 8002891C 01F11021 */ addu $v0, $t7, $s1 +/* 029520 80028920 C444000C */ lwc1 $f4, 0xc($v0) +/* 029524 80028924 90580013 */ lbu $t8, 0x13($v0) +/* 029528 80028928 9054000A */ lbu $s4, 0xa($v0) +/* 02952C 8002892C 46062202 */ mul.s $f8, $f4, $f6 +/* 029530 80028930 90570012 */ lbu $s7, 0x12($v0) +/* 029534 80028934 A3B80069 */ sb $t8, 0x69($sp) +/* 029538 80028938 460A4502 */ mul.s $f20, $f8, $f10 +/* 02953C 8002893C 0C00AD7A */ jal func_8002B5E8 +/* 029540 80028940 00000000 */ nop +/* 029544 80028944 305100FF */ andi $s1, $v0, 0xff +/* 029548 80028948 02002025 */ move $a0, $s0 +/* 02954C 8002894C 0C00AC8E */ jal func_8002B238 +/* 029550 80028950 02402825 */ move $a1, $s2 +/* 029554 80028954 8FB90078 */ lw $t9, 0x78($sp) +/* 029558 80028958 93AF0069 */ lbu $t7, 0x69($sp) +/* 02955C 8002895C 4406A000 */ mfc1 $a2, $f20 +/* 029560 80028960 8F2E0000 */ lw $t6, ($t9) +/* 029564 80028964 8F250008 */ lw $a1, 8($t9) +/* 029568 80028968 00023C00 */ sll $a3, $v0, 0x10 +/* 02956C 8002896C 8DD50000 */ lw $s5, ($t6) +/* 029570 80028970 AFB7001C */ sw $s7, 0x1c($sp) +/* 029574 80028974 AFB40014 */ sw $s4, 0x14($sp) +/* 029578 80028978 AFB10010 */ sw $s1, 0x10($sp) +/* 02957C 8002897C 00073C03 */ sra $a3, $a3, 0x10 +/* 029580 80028980 8FA4003C */ lw $a0, 0x3c($sp) +/* 029584 80028984 AFAF0020 */ sw $t7, 0x20($sp) +/* 029588 80028988 0C00AB64 */ jal func_8002AD90 +/* 02958C 8002898C AFB50018 */ sw $s5, 0x18($sp) +/* 029590 80028990 8FAE003C */ lw $t6, 0x3c($sp) +/* 029594 80028994 8FB90078 */ lw $t9, 0x78($sp) +/* 029598 80028998 24180006 */ li $t8, 6 +/* 02959C 8002899C A7B80094 */ sh $t8, 0x94($sp) +/* 0295A0 800289A0 AFAE0098 */ sw $t6, 0x98($sp) +/* 0295A4 800289A4 8F2F0000 */ lw $t7, ($t9) +/* 0295A8 800289A8 02C02025 */ move $a0, $s6 +/* 0295AC 800289AC 27A50094 */ addiu $a1, $sp, 0x94 +/* 0295B0 800289B0 91F8000D */ lbu $t8, 0xd($t7) +/* 0295B4 800289B4 02A03025 */ move $a2, $s5 +/* 0295B8 800289B8 A3B800A0 */ sb $t8, 0xa0($sp) +/* 0295BC 800289BC 8F2E0000 */ lw $t6, ($t9) +/* 0295C0 800289C0 8DCF0004 */ lw $t7, 4($t6) +/* 0295C4 800289C4 0C009818 */ jal func_80026060 +/* 0295C8 800289C8 AFAF009C */ sw $t7, 0x9c($sp) +/* 0295CC 800289CC 8FA200C4 */ lw $v0, 0xc4($sp) +/* 0295D0 800289D0 24190015 */ li $t9, 21 +/* 0295D4 800289D4 366E0080 */ ori $t6, $s3, 0x80 +/* 0295D8 800289D8 8C58000C */ lw $t8, 0xc($v0) +/* 0295DC 800289DC 24420004 */ addiu $v0, $v0, 4 +/* 0295E0 800289E0 53000189 */ beql $t8, $zero, .L80029008_ovl0 +/* 0295E4 800289E4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0295E8 800289E8 A7B90094 */ sh $t9, 0x94($sp) +/* 0295EC 800289EC A3AE009C */ sb $t6, 0x9c($sp) +/* 0295F0 800289F0 A3BE009D */ sb $fp, 0x9d($sp) +/* 0295F4 800289F4 A3A0009E */ sb $zero, 0x9e($sp) +/* 0295F8 800289F8 8C580008 */ lw $t8, 8($v0) +/* 0295FC 800289FC 8E4F002C */ lw $t7, 0x2c($s2) +/* 029600 80028A00 02C02025 */ move $a0, $s6 +/* 029604 80028A04 27A50094 */ addiu $a1, $sp, 0x94 +/* 029608 80028A08 01F80019 */ multu $t7, $t8 +/* 02960C 80028A0C 0000A812 */ mflo $s5 +/* 029610 80028A10 02A03025 */ move $a2, $s5 +/* 029614 80028A14 0C009818 */ jal func_80026060 +/* 029618 80028A18 00000000 */ nop +/* 02961C 80028A1C 1000017A */ b .L80029008_ovl0 +/* 029620 80028A20 8FBF002C */ lw $ra, 0x2c($sp) +/* 029624 80028A24 02402025 */ move $a0, $s2 +.L80028A28_ovl0: +/* 029628 80028A28 33C500FF */ andi $a1, $fp, 0xff +/* 02962C 80028A2C 0C00AD8E */ jal func_8002B638 +/* 029630 80028A30 32E600FF */ andi $a2, $s7, 0xff +/* 029634 80028A34 10400173 */ beqz $v0, .L80029004_ovl0 +/* 029638 80028A38 00408025 */ move $s0, $v0 +/* 02963C 80028A3C 90590035 */ lbu $t9, 0x35($v0) +/* 029640 80028A40 24110002 */ li $s1, 2 +/* 029644 80028A44 240E0004 */ li $t6, 4 +/* 029648 80028A48 16390003 */ bne $s1, $t9, .L80028A58_ovl0 +/* 02964C 80028A4C 02402025 */ move $a0, $s2 +/* 029650 80028A50 1000016C */ b .L80029004_ovl0 +/* 029654 80028A54 A04E0035 */ sb $t6, 0x35($v0) +.L80028A58_ovl0: +/* 029658 80028A58 8E0F0020 */ lw $t7, 0x20($s0) +/* 02965C 80028A5C 241E0003 */ li $fp, 3 +/* 029660 80028A60 A21E0035 */ sb $fp, 0x35($s0) +/* 029664 80028A64 8DF80000 */ lw $t8, ($t7) +/* 029668 80028A68 26050004 */ addiu $a1, $s0, 4 +/* 02966C 80028A6C 0C00ACBA */ jal func_8002B2E8 +/* 029670 80028A70 8F060008 */ lw $a2, 8($t8) +/* 029674 80028A74 10000164 */ b .L80029008_ovl0 +/* 029678 80028A78 8FBF002C */ lw $ra, 0x2c($sp) +/* 02967C 80028A7C 02402025 */ move $a0, $s2 +/* 029680 80028A80 33C500FF */ andi $a1, $fp, 0xff +/* 029684 80028A84 0C00AD8E */ jal func_8002B638 +/* 029688 80028A88 32E600FF */ andi $a2, $s7, 0xff +/* 02968C 80028A8C 1040015D */ beqz $v0, .L80029004_ovl0 +/* 029690 80028A90 00408025 */ move $s0, $v0 +/* 029694 80028A94 A0540033 */ sb $s4, 0x33($v0) +/* 029698 80028A98 00402025 */ move $a0, $v0 +/* 02969C 80028A9C 0C00AC8E */ jal func_8002B238 +/* 0296A0 80028AA0 02402825 */ move $a1, $s2 +/* 0296A4 80028AA4 00028C00 */ sll $s1, $v0, 0x10 +/* 0296A8 80028AA8 00118C03 */ sra $s1, $s1, 0x10 +/* 0296AC 80028AAC 02002025 */ move $a0, $s0 +/* 0296B0 80028AB0 0C00AC85 */ jal func_8002B214 +/* 0296B4 80028AB4 8E45001C */ lw $a1, 0x1c($s2) +/* 0296B8 80028AB8 00112C00 */ sll $a1, $s1, 0x10 +/* 0296BC 80028ABC 00052C03 */ sra $a1, $a1, 0x10 +/* 0296C0 80028AC0 26040004 */ addiu $a0, $s0, 4 +/* 0296C4 80028AC4 0C00B494 */ jal func_8002D250 +/* 0296C8 80028AC8 00403025 */ move $a2, $v0 +/* 0296CC 80028ACC 1000014E */ b .L80029008_ovl0 +/* 0296D0 80028AD0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0296D4 80028AD4 8E590068 */ lw $t9, 0x68($s2) +/* 0296D8 80028AD8 00177080 */ sll $t6, $s7, 2 +/* 0296DC 80028ADC 01D77023 */ subu $t6, $t6, $s7 +/* 0296E0 80028AE0 000E70C0 */ sll $t6, $t6, 3 +/* 0296E4 80028AE4 032E7821 */ addu $t7, $t9, $t6 +/* 0296E8 80028AE8 10000146 */ b .L80029004_ovl0 +/* 0296EC 80028AEC A1FE0010 */ sb $fp, 0x10($t7) +/* 0296F0 80028AF0 2BC10041 */ slti $at, $fp, 0x41 +/* 0296F4 80028AF4 14200006 */ bnez $at, .L80028B10_ovl0 +/* 0296F8 80028AF8 03C01025 */ move $v0, $fp +/* 0296FC 80028AFC 2401005B */ li $at, 91 +/* 029700 80028B00 10410082 */ beq $v0, $at, .L80028D0C_ovl0 +/* 029704 80028B04 0017C080 */ sll $t8, $s7, 2 +/* 029708 80028B08 1000013F */ b .L80029008_ovl0 +/* 02970C 80028B0C 8FBF002C */ lw $ra, 0x2c($sp) +.L80028B10_ovl0: +/* 029710 80028B10 2841001A */ slti $at, $v0, 0x1a +/* 029714 80028B14 14200006 */ bnez $at, .L80028B30_ovl0 +/* 029718 80028B18 2458FFF9 */ addiu $t8, $v0, -7 +/* 02971C 80028B1C 24010040 */ li $at, 64 +/* 029720 80028B20 1041004D */ beq $v0, $at, .L80028C58_ovl0 +/* 029724 80028B24 00177080 */ sll $t6, $s7, 2 +/* 029728 80028B28 10000137 */ b .L80029008_ovl0 +/* 02972C 80028B2C 8FBF002C */ lw $ra, 0x2c($sp) +.L80028B30_ovl0: +/* 029730 80028B30 2F010013 */ sltiu $at, $t8, 0x13 +/* 029734 80028B34 10200133 */ beqz $at, .L80029004_ovl0 +/* 029738 80028B38 0018C080 */ sll $t8, $t8, 2 +/* 02973C 80028B3C 3C018004 */ lui $at, %hi(D_80041698) +/* 029740 80028B40 00380821 */ addu $at, $at, $t8 +/* 029744 80028B44 8C381698 */ lw $t8, %lo(D_80041698)($at) +/* 029748 80028B48 03000008 */ jr $t8 +/* 02974C 80028B4C 00000000 */ nop +/* 029750 80028B50 8E590068 */ lw $t9, 0x68($s2) +/* 029754 80028B54 00177080 */ sll $t6, $s7, 2 +/* 029758 80028B58 01D77023 */ subu $t6, $t6, $s7 +/* 02975C 80028B5C 000E70C0 */ sll $t6, $t6, 3 +/* 029760 80028B60 032E7821 */ addu $t7, $t9, $t6 +/* 029764 80028B64 A1F40007 */ sb $s4, 7($t7) +/* 029768 80028B68 8E50006C */ lw $s0, 0x6c($s2) +/* 02976C 80028B6C 52000126 */ beql $s0, $zero, .L80029008_ovl0 +/* 029770 80028B70 8FBF002C */ lw $ra, 0x2c($sp) +/* 029774 80028B74 02E09825 */ move $s3, $s7 +/* 029778 80028B78 92180031 */ lbu $t8, 0x31($s0) +.L80028B7C_ovl0: +/* 02977C 80028B7C 02002025 */ move $a0, $s0 +/* 029780 80028B80 56780007 */ bnel $s3, $t8, .L80028BA0_ovl0 +/* 029784 80028B84 8E100000 */ lw $s0, ($s0) +/* 029788 80028B88 0C00AD7A */ jal func_8002B5E8 +/* 02978C 80028B8C 02402825 */ move $a1, $s2 +/* 029790 80028B90 26040004 */ addiu $a0, $s0, 4 +/* 029794 80028B94 0C00AB44 */ jal func_8002AD10 +/* 029798 80028B98 304500FF */ andi $a1, $v0, 0xff +/* 02979C 80028B9C 8E100000 */ lw $s0, ($s0) +.L80028BA0_ovl0: +/* 0297A0 80028BA0 5600FFF6 */ bnezl $s0, .L80028B7C_ovl0 +/* 0297A4 80028BA4 92180031 */ lbu $t8, 0x31($s0) +/* 0297A8 80028BA8 10000117 */ b .L80029008_ovl0 +/* 0297AC 80028BAC 8FBF002C */ lw $ra, 0x2c($sp) +/* 0297B0 80028BB0 8E590068 */ lw $t9, 0x68($s2) +/* 0297B4 80028BB4 00177080 */ sll $t6, $s7, 2 +/* 0297B8 80028BB8 01D77023 */ subu $t6, $t6, $s7 +/* 0297BC 80028BBC 000E70C0 */ sll $t6, $t6, 3 +/* 0297C0 80028BC0 032E7821 */ addu $t7, $t9, $t6 +/* 0297C4 80028BC4 A1F40009 */ sb $s4, 9($t7) +/* 0297C8 80028BC8 8E50006C */ lw $s0, 0x6c($s2) +/* 0297CC 80028BCC 5200010E */ beql $s0, $zero, .L80029008_ovl0 +/* 0297D0 80028BD0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0297D4 80028BD4 02E09825 */ move $s3, $s7 +/* 0297D8 80028BD8 24150003 */ li $s5, 3 +/* 0297DC 80028BDC 92180031 */ lbu $t8, 0x31($s0) +.L80028BE0_ovl0: +/* 0297E0 80028BE0 56780012 */ bnel $s3, $t8, .L80028C2C_ovl0 +/* 0297E4 80028BE4 8E100000 */ lw $s0, ($s0) +/* 0297E8 80028BE8 92190034 */ lbu $t9, 0x34($s0) +/* 0297EC 80028BEC 02002025 */ move $a0, $s0 +/* 0297F0 80028BF0 52B9000E */ beql $s5, $t9, .L80028C2C_ovl0 +/* 0297F4 80028BF4 8E100000 */ lw $s0, ($s0) +/* 0297F8 80028BF8 0C00AC8E */ jal func_8002B238 +/* 0297FC 80028BFC 02402825 */ move $a1, $s2 +/* 029800 80028C00 00028C00 */ sll $s1, $v0, 0x10 +/* 029804 80028C04 00118C03 */ sra $s1, $s1, 0x10 +/* 029808 80028C08 02002025 */ move $a0, $s0 +/* 02980C 80028C0C 0C00AC85 */ jal func_8002B214 +/* 029810 80028C10 8E45001C */ lw $a1, 0x1c($s2) +/* 029814 80028C14 00112C00 */ sll $a1, $s1, 0x10 +/* 029818 80028C18 00052C03 */ sra $a1, $a1, 0x10 +/* 02981C 80028C1C 26040004 */ addiu $a0, $s0, 4 +/* 029820 80028C20 0C00B494 */ jal func_8002D250 +/* 029824 80028C24 00403025 */ move $a2, $v0 +/* 029828 80028C28 8E100000 */ lw $s0, ($s0) +.L80028C2C_ovl0: +/* 02982C 80028C2C 5600FFEC */ bnezl $s0, .L80028BE0_ovl0 +/* 029830 80028C30 92180031 */ lbu $t8, 0x31($s0) +/* 029834 80028C34 100000F4 */ b .L80029008_ovl0 +/* 029838 80028C38 8FBF002C */ lw $ra, 0x2c($sp) +/* 02983C 80028C3C 8E4E0068 */ lw $t6, 0x68($s2) +/* 029840 80028C40 00177880 */ sll $t7, $s7, 2 +/* 029844 80028C44 01F77823 */ subu $t7, $t7, $s7 +/* 029848 80028C48 000F78C0 */ sll $t7, $t7, 3 +/* 02984C 80028C4C 01CFC021 */ addu $t8, $t6, $t7 +/* 029850 80028C50 100000EC */ b .L80029004_ovl0 +/* 029854 80028C54 A3140008 */ sb $s4, 8($t8) +.L80028C58_ovl0: +/* 029858 80028C58 8E590068 */ lw $t9, 0x68($s2) +/* 02985C 80028C5C 01D77023 */ subu $t6, $t6, $s7 +/* 029860 80028C60 000E70C0 */ sll $t6, $t6, 3 +/* 029864 80028C64 032E7821 */ addu $t7, $t9, $t6 +/* 029868 80028C68 A1F4000B */ sb $s4, 0xb($t7) +/* 02986C 80028C6C 8E50006C */ lw $s0, 0x6c($s2) +/* 029870 80028C70 520000E5 */ beql $s0, $zero, .L80029008_ovl0 +/* 029874 80028C74 8FBF002C */ lw $ra, 0x2c($sp) +/* 029878 80028C78 02E09825 */ move $s3, $s7 +/* 02987C 80028C7C 24170004 */ li $s7, 4 +/* 029880 80028C80 241E0003 */ li $fp, 3 +/* 029884 80028C84 24160002 */ li $s6, 2 +/* 029888 80028C88 24150003 */ li $s5, 3 +/* 02988C 80028C8C 24110002 */ li $s1, 2 +/* 029890 80028C90 92180031 */ lbu $t8, 0x31($s0) +.L80028C94_ovl0: +/* 029894 80028C94 56780019 */ bnel $s3, $t8, .L80028CFC_ovl0 +/* 029898 80028C98 8E100000 */ lw $s0, ($s0) +/* 02989C 80028C9C 92020035 */ lbu $v0, 0x35($s0) +/* 0298A0 80028CA0 2A810040 */ slti $at, $s4, 0x40 +/* 0298A4 80028CA4 52A20015 */ beql $s5, $v0, .L80028CFC_ovl0 +/* 0298A8 80028CA8 8E100000 */ lw $s0, ($s0) +/* 0298AC 80028CAC 14200005 */ bnez $at, .L80028CC4_ovl0 +/* 0298B0 80028CB0 00000000 */ nop +/* 0298B4 80028CB4 54400011 */ bnezl $v0, .L80028CFC_ovl0 +/* 0298B8 80028CB8 8E100000 */ lw $s0, ($s0) +/* 0298BC 80028CBC 1000000E */ b .L80028CF8_ovl0 +/* 0298C0 80028CC0 A2160035 */ sb $s6, 0x35($s0) +.L80028CC4_ovl0: +/* 0298C4 80028CC4 16220003 */ bne $s1, $v0, .L80028CD4_ovl0 +/* 0298C8 80028CC8 00000000 */ nop +/* 0298CC 80028CCC 1000000A */ b .L80028CF8_ovl0 +/* 0298D0 80028CD0 A2000035 */ sb $zero, 0x35($s0) +.L80028CD4_ovl0: +/* 0298D4 80028CD4 56E20009 */ bnel $s7, $v0, .L80028CFC_ovl0 +/* 0298D8 80028CD8 8E100000 */ lw $s0, ($s0) +/* 0298DC 80028CDC 8E190020 */ lw $t9, 0x20($s0) +/* 0298E0 80028CE0 A21E0035 */ sb $fp, 0x35($s0) +/* 0298E4 80028CE4 02402025 */ move $a0, $s2 +/* 0298E8 80028CE8 8F2E0000 */ lw $t6, ($t9) +/* 0298EC 80028CEC 26050004 */ addiu $a1, $s0, 4 +/* 0298F0 80028CF0 0C00ACBA */ jal func_8002B2E8 +/* 0298F4 80028CF4 8DC60008 */ lw $a2, 8($t6) +.L80028CF8_ovl0: +/* 0298F8 80028CF8 8E100000 */ lw $s0, ($s0) +.L80028CFC_ovl0: +/* 0298FC 80028CFC 5600FFE5 */ bnezl $s0, .L80028C94_ovl0 +/* 029900 80028D00 92180031 */ lbu $t8, 0x31($s0) +/* 029904 80028D04 100000C0 */ b .L80029008_ovl0 +/* 029908 80028D08 8FBF002C */ lw $ra, 0x2c($sp) +.L80028D0C_ovl0: +/* 02990C 80028D0C 8E4F0068 */ lw $t7, 0x68($s2) +/* 029910 80028D10 0317C023 */ subu $t8, $t8, $s7 +/* 029914 80028D14 0018C0C0 */ sll $t8, $t8, 3 +/* 029918 80028D18 01F8C821 */ addu $t9, $t7, $t8 +/* 02991C 80028D1C A334000A */ sb $s4, 0xa($t9) +/* 029920 80028D20 8E50006C */ lw $s0, 0x6c($s2) +/* 029924 80028D24 520000B8 */ beql $s0, $zero, .L80029008_ovl0 +/* 029928 80028D28 8FBF002C */ lw $ra, 0x2c($sp) +/* 02992C 80028D2C 02E09825 */ move $s3, $s7 +/* 029930 80028D30 920E0031 */ lbu $t6, 0x31($s0) +.L80028D34_ovl0: +/* 029934 80028D34 26040004 */ addiu $a0, $s0, 4 +/* 029938 80028D38 566E0004 */ bnel $s3, $t6, .L80028D4C_ovl0 +/* 02993C 80028D3C 8E100000 */ lw $s0, ($s0) +/* 029940 80028D40 0C00B3F9 */ jal func_8002CFE4 +/* 029944 80028D44 328500FF */ andi $a1, $s4, 0xff +/* 029948 80028D48 8E100000 */ lw $s0, ($s0) +.L80028D4C_ovl0: +/* 02994C 80028D4C 5600FFF9 */ bnezl $s0, .L80028D34_ovl0 +/* 029950 80028D50 920E0031 */ lbu $t6, 0x31($s0) +/* 029954 80028D54 100000AC */ b .L80029008_ovl0 +/* 029958 80028D58 8FBF002C */ lw $ra, 0x2c($sp) +/* 02995C 80028D5C 2A810079 */ slti $at, $s4, 0x79 +/* 029960 80028D60 14200009 */ bnez $at, .L80028D88_ovl0 +/* 029964 80028D64 02801025 */ move $v0, $s4 +/* 029968 80028D68 8E580068 */ lw $t8, 0x68($s2) +/* 02996C 80028D6C 0017C880 */ sll $t9, $s7, 2 +/* 029970 80028D70 0337C823 */ subu $t9, $t9, $s7 +/* 029974 80028D74 0019C8C0 */ sll $t9, $t9, 3 +/* 029978 80028D78 240F04B0 */ li $t7, 1200 +/* 02997C 80028D7C 03197021 */ addu $t6, $t8, $t9 +/* 029980 80028D80 100000A0 */ b .L80029004_ovl0 +/* 029984 80028D84 A5CF0004 */ sh $t7, 4($t6) +.L80028D88_ovl0: +/* 029988 80028D88 8E590068 */ lw $t9, 0x68($s2) +/* 02998C 80028D8C 00177880 */ sll $t7, $s7, 2 +/* 029990 80028D90 01F77823 */ subu $t7, $t7, $s7 +/* 029994 80028D94 0002C080 */ sll $t8, $v0, 2 +/* 029998 80028D98 0302C021 */ addu $t8, $t8, $v0 +/* 02999C 80028D9C 000F78C0 */ sll $t7, $t7, 3 +/* 0299A0 80028DA0 0018C040 */ sll $t8, $t8, 1 +/* 0299A4 80028DA4 032F7021 */ addu $t6, $t9, $t7 +/* 0299A8 80028DA8 10000096 */ b .L80029004_ovl0 +/* 0299AC 80028DAC A5D80004 */ sh $t8, 4($t6) +/* 0299B0 80028DB0 10000094 */ b .L80029004_ovl0 +/* 0299B4 80028DB4 A2540078 */ sb $s4, 0x78($s2) +/* 0299B8 80028DB8 8E590068 */ lw $t9, 0x68($s2) +/* 0299BC 80028DBC 00178880 */ sll $s1, $s7, 2 +/* 0299C0 80028DC0 02378823 */ subu $s1, $s1, $s7 +/* 0299C4 80028DC4 001188C0 */ sll $s1, $s1, 3 +/* 0299C8 80028DC8 03317821 */ addu $t7, $t9, $s1 +/* 0299CC 80028DCC A1F40012 */ sb $s4, 0x12($t7) +/* 0299D0 80028DD0 8E50006C */ lw $s0, 0x6c($s2) +/* 0299D4 80028DD4 5200008C */ beql $s0, $zero, .L80029008_ovl0 +/* 0299D8 80028DD8 8FBF002C */ lw $ra, 0x2c($sp) +/* 0299DC 80028DDC 02E09825 */ move $s3, $s7 +/* 0299E0 80028DE0 92180031 */ lbu $t8, 0x31($s0) +.L80028DE4_ovl0: +/* 0299E4 80028DE4 56780008 */ bnel $s3, $t8, .L80028E08_ovl0 +/* 0299E8 80028DE8 8E100000 */ lw $s0, ($s0) +/* 0299EC 80028DEC 8E4E0068 */ lw $t6, 0x68($s2) +/* 0299F0 80028DF0 26040004 */ addiu $a0, $s0, 4 +/* 0299F4 80028DF4 328500FF */ andi $a1, $s4, 0xff +/* 0299F8 80028DF8 01D1C821 */ addu $t9, $t6, $s1 +/* 0299FC 80028DFC 0C00B3D0 */ jal func_8002CF40 +/* 029A00 80028E00 93260013 */ lbu $a2, 0x13($t9) +/* 029A04 80028E04 8E100000 */ lw $s0, ($s0) +.L80028E08_ovl0: +/* 029A08 80028E08 5600FFF6 */ bnezl $s0, .L80028DE4_ovl0 +/* 029A0C 80028E0C 92180031 */ lbu $t8, 0x31($s0) +/* 029A10 80028E10 1000007D */ b .L80029008_ovl0 +/* 029A14 80028E14 8FBF002C */ lw $ra, 0x2c($sp) +/* 029A18 80028E18 8E4F0068 */ lw $t7, 0x68($s2) +/* 029A1C 80028E1C 00178880 */ sll $s1, $s7, 2 +/* 029A20 80028E20 02378823 */ subu $s1, $s1, $s7 +/* 029A24 80028E24 001188C0 */ sll $s1, $s1, 3 +/* 029A28 80028E28 01F1C021 */ addu $t8, $t7, $s1 +/* 029A2C 80028E2C A3140013 */ sb $s4, 0x13($t8) +/* 029A30 80028E30 8E50006C */ lw $s0, 0x6c($s2) +/* 029A34 80028E34 52000074 */ beql $s0, $zero, .L80029008_ovl0 +/* 029A38 80028E38 8FBF002C */ lw $ra, 0x2c($sp) +/* 029A3C 80028E3C 02E09825 */ move $s3, $s7 +/* 029A40 80028E40 920E0031 */ lbu $t6, 0x31($s0) +.L80028E44_ovl0: +/* 029A44 80028E44 566E0008 */ bnel $s3, $t6, .L80028E68_ovl0 +/* 029A48 80028E48 8E100000 */ lw $s0, ($s0) +/* 029A4C 80028E4C 8E590068 */ lw $t9, 0x68($s2) +/* 029A50 80028E50 26040004 */ addiu $a0, $s0, 4 +/* 029A54 80028E54 328600FF */ andi $a2, $s4, 0xff +/* 029A58 80028E58 03317821 */ addu $t7, $t9, $s1 +/* 029A5C 80028E5C 0C00B3D0 */ jal func_8002CF40 +/* 029A60 80028E60 91E50012 */ lbu $a1, 0x12($t7) +/* 029A64 80028E64 8E100000 */ lw $s0, ($s0) +.L80028E68_ovl0: +/* 029A68 80028E68 5600FFF6 */ bnezl $s0, .L80028E44_ovl0 +/* 029A6C 80028E6C 920E0031 */ lbu $t6, 0x31($s0) +/* 029A70 80028E70 10000065 */ b .L80029008_ovl0 +/* 029A74 80028E74 8FBF002C */ lw $ra, 0x2c($sp) +/* 029A78 80028E78 2A810003 */ slti $at, $s4, 3 +/* 029A7C 80028E7C 10200061 */ beqz $at, .L80029004_ovl0 +/* 029A80 80028E80 0014C080 */ sll $t8, $s4, 2 +/* 029A84 80028E84 02587021 */ addu $t6, $s2, $t8 +/* 029A88 80028E88 8DD90020 */ lw $t9, 0x20($t6) +/* 029A8C 80028E8C 0017C080 */ sll $t8, $s7, 2 +/* 029A90 80028E90 5320005D */ beql $t9, $zero, .L80029008_ovl0 +/* 029A94 80028E94 8FBF002C */ lw $ra, 0x2c($sp) +/* 029A98 80028E98 8E4F0068 */ lw $t7, 0x68($s2) +/* 029A9C 80028E9C 0317C023 */ subu $t8, $t8, $s7 +/* 029AA0 80028EA0 0018C0C0 */ sll $t8, $t8, 3 +/* 029AA4 80028EA4 01F87021 */ addu $t6, $t7, $t8 +/* 029AA8 80028EA8 10000056 */ b .L80029004_ovl0 +/* 029AAC 80028EAC A1D40014 */ sb $s4, 0x14($t6) +/* 029AB0 80028EB0 8E590068 */ lw $t9, 0x68($s2) +/* 029AB4 80028EB4 00177880 */ sll $t7, $s7, 2 +/* 029AB8 80028EB8 01F77823 */ subu $t7, $t7, $s7 +/* 029ABC 80028EBC 000F78C0 */ sll $t7, $t7, 3 +/* 029AC0 80028EC0 032FC021 */ addu $t8, $t9, $t7 +/* 029AC4 80028EC4 1000004F */ b .L80029004_ovl0 +/* 029AC8 80028EC8 A3140008 */ sb $s4, 8($t8) +/* 029ACC 80028ECC 8E4E0068 */ lw $t6, 0x68($s2) +/* 029AD0 80028ED0 0017C880 */ sll $t9, $s7, 2 +/* 029AD4 80028ED4 0337C823 */ subu $t9, $t9, $s7 +/* 029AD8 80028ED8 0019C8C0 */ sll $t9, $t9, 3 +/* 029ADC 80028EDC 01D97821 */ addu $t7, $t6, $t9 +/* 029AE0 80028EE0 91F80014 */ lbu $t8, 0x14($t7) +/* 029AE4 80028EE4 02402025 */ move $a0, $s2 +/* 029AE8 80028EE8 02E03025 */ move $a2, $s7 +/* 029AEC 80028EEC 00187080 */ sll $t6, $t8, 2 +/* 029AF0 80028EF0 024EC821 */ addu $t9, $s2, $t6 +/* 029AF4 80028EF4 8F220020 */ lw $v0, 0x20($t9) +/* 029AF8 80028EF8 001EC080 */ sll $t8, $fp, 2 +/* 029AFC 80028EFC 844F0000 */ lh $t7, ($v0) +/* 029B00 80028F00 00587021 */ addu $t6, $v0, $t8 +/* 029B04 80028F04 03CF082A */ slt $at, $fp, $t7 +/* 029B08 80028F08 5020003F */ beql $at, $zero, .L80029008_ovl0 +/* 029B0C 80028F0C 8FBF002C */ lw $ra, 0x2c($sp) +/* 029B10 80028F10 0C00AD67 */ jal func_8002B59C +/* 029B14 80028F14 8DC5000C */ lw $a1, 0xc($t6) +/* 029B18 80028F18 1000003B */ b .L80029008_ovl0 +/* 029B1C 80028F1C 8FBF002C */ lw $ra, 0x2c($sp) +/* 029B20 80028F20 8E590068 */ lw $t9, 0x68($s2) +/* 029B24 80028F24 00178880 */ sll $s1, $s7, 2 +/* 029B28 80028F28 02378823 */ subu $s1, $s1, $s7 +/* 029B2C 80028F2C 001188C0 */ sll $s1, $s1, 3 +/* 029B30 80028F30 03317821 */ addu $t7, $t9, $s1 +/* 029B34 80028F34 85F80004 */ lh $t8, 4($t7) +/* 029B38 80028F38 001471C0 */ sll $t6, $s4, 7 +/* 029B3C 80028F3C 01DEC821 */ addu $t9, $t6, $fp +/* 029B40 80028F40 272FE000 */ addiu $t7, $t9, -0x2000 +/* 029B44 80028F44 030F0019 */ multu $t8, $t7 +/* 029B48 80028F48 00002012 */ mflo $a0 +/* 029B4C 80028F4C 04810002 */ bgez $a0, .L80028F58_ovl0 +/* 029B50 80028F50 00800821 */ addu $at, $a0, $zero +/* 029B54 80028F54 24811FFF */ addiu $at, $a0, 0x1fff +.L80028F58_ovl0: +/* 029B58 80028F58 00012343 */ sra $a0, $at, 0xd +/* 029B5C 80028F5C 0C00DC20 */ jal func_80037080 +/* 029B60 80028F60 00000000 */ nop +/* 029B64 80028F64 8E4E0068 */ lw $t6, 0x68($s2) +/* 029B68 80028F68 46000606 */ mov.s $f24, $f0 +/* 029B6C 80028F6C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 029B70 80028F70 01D1C821 */ addu $t9, $t6, $s1 +/* 029B74 80028F74 E720000C */ swc1 $f0, 0xc($t9) +/* 029B78 80028F78 8E50006C */ lw $s0, 0x6c($s2) +/* 029B7C 80028F7C 52000022 */ beql $s0, $zero, .L80029008_ovl0 +/* 029B80 80028F80 8FBF002C */ lw $ra, 0x2c($sp) +/* 029B84 80028F84 4481B000 */ mtc1 $at, $f22 +/* 029B88 80028F88 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 029B8C 80028F8C 4481A000 */ mtc1 $at, $f20 +/* 029B90 80028F90 02E09825 */ move $s3, $s7 +/* 029B94 80028F94 92180031 */ lbu $t8, 0x31($s0) +.L80028F98_ovl0: +/* 029B98 80028F98 56780018 */ bnel $s3, $t8, .L80028FFC_ovl0 +/* 029B9C 80028F9C 8E100000 */ lw $s0, ($s0) +/* 029BA0 80028FA0 8E4F0068 */ lw $t7, 0x68($s2) +/* 029BA4 80028FA4 26040004 */ addiu $a0, $s0, 4 +/* 029BA8 80028FA8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 029BAC 80028FAC 01F17021 */ addu $t6, $t7, $s1 +/* 029BB0 80028FB0 91D90010 */ lbu $t9, 0x10($t6) +/* 029BB4 80028FB4 44992000 */ mtc1 $t9, $f4 +/* 029BB8 80028FB8 07210004 */ bgez $t9, .L80028FCC_ovl0 +/* 029BBC 80028FBC 468021A0 */ cvt.s.w $f6, $f4 +/* 029BC0 80028FC0 44814000 */ mtc1 $at, $f8 +/* 029BC4 80028FC4 00000000 */ nop +/* 029BC8 80028FC8 46083180 */ add.s $f6, $f6, $f8 +.L80028FCC_ovl0: +/* 029BCC 80028FCC C60A002C */ lwc1 $f10, 0x2c($s0) +/* 029BD0 80028FD0 46145101 */ sub.s $f4, $f10, $f20 +/* 029BD4 80028FD4 46043202 */ mul.s $f8, $f6, $f4 +/* 029BD8 80028FD8 C6040028 */ lwc1 $f4, 0x28($s0) +/* 029BDC 80028FDC 46164283 */ div.s $f10, $f8, $f22 +/* 029BE0 80028FE0 46182202 */ mul.s $f8, $f4, $f24 +/* 029BE4 80028FE4 46145180 */ add.s $f6, $f10, $f20 +/* 029BE8 80028FE8 46083282 */ mul.s $f10, $f6, $f8 +/* 029BEC 80028FEC 44055000 */ mfc1 $a1, $f10 +/* 029BF0 80028FF0 0C00B368 */ jal func_8002CDA0 +/* 029BF4 80028FF4 00000000 */ nop +/* 029BF8 80028FF8 8E100000 */ lw $s0, ($s0) +.L80028FFC_ovl0: +/* 029BFC 80028FFC 5600FFE6 */ bnezl $s0, .L80028F98_ovl0 +/* 029C00 80029000 92180031 */ lbu $t8, 0x31($s0) +.L80029004_ovl0: +/* 029C04 80029004 8FBF002C */ lw $ra, 0x2c($sp) +.L80029008_ovl0: +/* 029C08 80029008 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 029C0C 8002900C 03E00008 */ jr $ra +/* 029C10 80029010 00000000 */ nop + +glabel func_80029014 +/* 029C14 80029014 03E00008 */ jr $ra +/* 029C18 80029018 00000000 */ nop + +glabel func_8002901C +/* 029C1C 8002901C 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 029C20 80029020 AFBE0050 */ sw $fp, 0x50($sp) +/* 029C24 80029024 AFB40040 */ sw $s4, 0x40($sp) +/* 029C28 80029028 248E0040 */ addiu $t6, $a0, 0x40 +/* 029C2C 8002902C 0080F025 */ move $fp, $a0 +/* 029C30 80029030 AFBF0054 */ sw $ra, 0x54($sp) +/* 029C34 80029034 AFB7004C */ sw $s7, 0x4c($sp) +/* 029C38 80029038 AFB60048 */ sw $s6, 0x48($sp) +/* 029C3C 8002903C AFB50044 */ sw $s5, 0x44($sp) +/* 029C40 80029040 AFB3003C */ sw $s3, 0x3c($sp) +/* 029C44 80029044 AFB20038 */ sw $s2, 0x38($sp) +/* 029C48 80029048 AFB10034 */ sw $s1, 0x34($sp) +/* 029C4C 8002904C AFB00030 */ sw $s0, 0x30($sp) +/* 029C50 80029050 F7B80028 */ sdc1 $f24, 0x28($sp) +/* 029C54 80029054 F7B60020 */ sdc1 $f22, 0x20($sp) +/* 029C58 80029058 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 029C5C 8002905C AFAE0060 */ sw $t6, 0x60($sp) +/* 029C60 80029060 24940050 */ addiu $s4, $a0, 0x50 +.L80029064_ovl0: +/* 029C64 80029064 97CF0040 */ lhu $t7, 0x40($fp) +/* 029C68 80029068 2DE1001A */ sltiu $at, $t7, 0x1a +/* 029C6C 8002906C 10200174 */ beqz $at, .L80029640_ovl0 +/* 029C70 80029070 000F7880 */ sll $t7, $t7, 2 +/* 029C74 80029074 3C018004 */ lui $at, %hi(D_800416E4) +/* 029C78 80029078 002F0821 */ addu $at, $at, $t7 +/* 029C7C 8002907C 8C2F16E4 */ lw $t7, %lo(D_800416E4)($at) +/* 029C80 80029080 01E00008 */ jr $t7 +/* 029C84 80029084 00000000 */ nop +/* 029C88 80029088 8FC40018 */ lw $a0, 0x18($fp) +/* 029C8C 8002908C 5080016D */ beql $a0, $zero, .L80029644_ovl0 +/* 029C90 80029090 02802025 */ move $a0, $s4 +/* 029C94 80029094 0C00961F */ jal func_8002587C +/* 029C98 80029098 27A50068 */ addiu $a1, $sp, 0x68 +/* 029C9C 8002909C 87B80068 */ lh $t8, 0x68($sp) +/* 029CA0 800290A0 2719FFFF */ addiu $t9, $t8, -1 +/* 029CA4 800290A4 2F210014 */ sltiu $at, $t9, 0x14 +/* 029CA8 800290A8 10200165 */ beqz $at, .L80029640_ovl0 +/* 029CAC 800290AC 0019C880 */ sll $t9, $t9, 2 +/* 029CB0 800290B0 3C018004 */ lui $at, %hi(D_8004174C) +/* 029CB4 800290B4 00390821 */ addu $at, $at, $t9 +/* 029CB8 800290B8 8C39174C */ lw $t9, %lo(D_8004174C)($at) +/* 029CBC 800290BC 03200008 */ jr $t9 +/* 029CC0 800290C0 00000000 */ nop +/* 029CC4 800290C4 03C09025 */ move $s2, $fp +/* 029CC8 800290C8 27A80068 */ addiu $t0, $sp, 0x68 +/* 029CCC 800290CC AFB4005C */ sw $s4, 0x5c($sp) +/* 029CD0 800290D0 0C00A17E */ jal func_800285F8 +/* 029CD4 800290D4 AFBE00B0 */ sw $fp, 0xb0($sp) +/* 029CD8 800290D8 8FBE00B0 */ lw $fp, 0xb0($sp) +/* 029CDC 800290DC 8FB4005C */ lw $s4, 0x5c($sp) +/* 029CE0 800290E0 0C0098FC */ jal func_800263F0 +/* 029CE4 800290E4 03C02025 */ move $a0, $fp +/* 029CE8 800290E8 10000156 */ b .L80029644_ovl0 +/* 029CEC 800290EC 02802025 */ move $a0, $s4 +/* 029CF0 800290F0 03C0B025 */ move $s6, $fp +/* 029CF4 800290F4 27A50068 */ addiu $a1, $sp, 0x68 +/* 029CF8 800290F8 0C009927 */ jal func_8002649C +/* 029CFC 800290FC AFB4005C */ sw $s4, 0x5c($sp) +/* 029D00 80029100 8FB4005C */ lw $s4, 0x5c($sp) +/* 029D04 80029104 0C0098FC */ jal func_800263F0 +/* 029D08 80029108 03C02025 */ move $a0, $fp +/* 029D0C 8002910C 1000014D */ b .L80029644_ovl0 +/* 029D10 80029110 02802025 */ move $a0, $s4 +/* 029D14 80029114 240E0002 */ li $t6, 2 +/* 029D18 80029118 AFCE0034 */ sw $t6, 0x34($fp) +/* 029D1C 8002911C 240F0010 */ li $t7, 16 +/* 029D20 80029120 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff +/* 029D24 80029124 A7AF0068 */ sh $t7, 0x68($sp) +/* 029D28 80029128 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 029D2C 8002912C 02802025 */ move $a0, $s4 +/* 029D30 80029130 0C009818 */ jal func_80026060 +/* 029D34 80029134 27A50068 */ addiu $a1, $sp, 0x68 +/* 029D38 80029138 10000142 */ b .L80029644_ovl0 +/* 029D3C 8002913C 02802025 */ move $a0, $s4 +/* 029D40 80029140 0C0098FC */ jal func_800263F0 +/* 029D44 80029144 03C02025 */ move $a0, $fp +/* 029D48 80029148 1000013E */ b .L80029644_ovl0 +/* 029D4C 8002914C 02802025 */ move $a0, $s4 +/* 029D50 80029150 24180009 */ li $t8, 9 +/* 029D54 80029154 A7B8009C */ sh $t8, 0x9c($sp) +/* 029D58 80029158 8FC60064 */ lw $a2, 0x64($fp) +/* 029D5C 8002915C 02802025 */ move $a0, $s4 +/* 029D60 80029160 0C009818 */ jal func_80026060 +/* 029D64 80029164 27A5009C */ addiu $a1, $sp, 0x9c +/* 029D68 80029168 10000136 */ b .L80029644_ovl0 +/* 029D6C 8002916C 02802025 */ move $a0, $s4 +/* 029D70 80029170 8FD00044 */ lw $s0, 0x44($fp) +/* 029D74 80029174 0C00AA9C */ jal func_8002AA70 +/* 029D78 80029178 02002025 */ move $a0, $s0 +/* 029D7C 8002917C 0C00B46C */ jal func_8002D1B0 +/* 029D80 80029180 02002025 */ move $a0, $s0 +/* 029D84 80029184 8E110010 */ lw $s1, 0x10($s0) +/* 029D88 80029188 03C02025 */ move $a0, $fp +/* 029D8C 8002918C 92390037 */ lbu $t9, 0x37($s1) +/* 029D90 80029190 53200004 */ beql $t9, $zero, .L800291A4_ovl0 +/* 029D94 80029194 03C02025 */ move $a0, $fp +/* 029D98 80029198 0C00B1A3 */ jal func_8002C68C +/* 029D9C 8002919C 02202825 */ move $a1, $s1 +/* 029DA0 800291A0 03C02025 */ move $a0, $fp +.L800291A4_ovl0: +/* 029DA4 800291A4 0C00AD2D */ jal func_8002B4B4 +/* 029DA8 800291A8 02002825 */ move $a1, $s0 +/* 029DAC 800291AC 10000125 */ b .L80029644_ovl0 +/* 029DB0 800291B0 02802025 */ move $a0, $s4 +/* 029DB4 800291B4 8FD00044 */ lw $s0, 0x44($fp) +/* 029DB8 800291B8 240F0001 */ li $t7, 1 +/* 029DBC 800291BC 8E110010 */ lw $s1, 0x10($s0) +/* 029DC0 800291C0 922E0034 */ lbu $t6, 0x34($s1) +/* 029DC4 800291C4 55C00003 */ bnezl $t6, .L800291D4_ovl0 +/* 029DC8 800291C8 8FD20048 */ lw $s2, 0x48($fp) +/* 029DCC 800291CC A22F0034 */ sb $t7, 0x34($s1) +/* 029DD0 800291D0 8FD20048 */ lw $s2, 0x48($fp) +.L800291D4_ovl0: +/* 029DD4 800291D4 8FD8001C */ lw $t8, 0x1c($fp) +/* 029DD8 800291D8 02202025 */ move $a0, $s1 +/* 029DDC 800291DC 03C02825 */ move $a1, $fp +/* 029DE0 800291E0 0312C821 */ addu $t9, $t8, $s2 +/* 029DE4 800291E4 AE390024 */ sw $t9, 0x24($s1) +/* 029DE8 800291E8 93CE004C */ lbu $t6, 0x4c($fp) +/* 029DEC 800291EC 0C00AC8E */ jal func_8002B238 +/* 029DF0 800291F0 A22E0030 */ sb $t6, 0x30($s1) +/* 029DF4 800291F4 00022C00 */ sll $a1, $v0, 0x10 +/* 029DF8 800291F8 00052C03 */ sra $a1, $a1, 0x10 +/* 029DFC 800291FC 02002025 */ move $a0, $s0 +/* 029E00 80029200 0C00B494 */ jal func_8002D250 +/* 029E04 80029204 02403025 */ move $a2, $s2 +/* 029E08 80029208 1000010E */ b .L80029644_ovl0 +/* 029E0C 8002920C 02802025 */ move $a0, $s4 +/* 029E10 80029210 8FD90080 */ lw $t9, 0x80($fp) +/* 029E14 80029214 8FD30048 */ lw $s3, 0x48($fp) +/* 029E18 80029218 8FD10044 */ lw $s1, 0x44($fp) +/* 029E1C 8002921C 27A50088 */ addiu $a1, $sp, 0x88 +/* 029E20 80029220 0320F809 */ jalr $t9 +/* 029E24 80029224 02602025 */ move $a0, $s3 +/* 029E28 80029228 444FF800 */ cfc1 $t7, $31 +/* 029E2C 8002922C 24180001 */ li $t8, 1 +/* 029E30 80029230 44D8F800 */ ctc1 $t8, $31 +/* 029E34 80029234 C7A40088 */ lwc1 $f4, 0x88($sp) +/* 029E38 80029238 00409025 */ move $s2, $v0 +/* 029E3C 8002923C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 029E40 80029240 460021A4 */ cvt.w.s $f6, $f4 +/* 029E44 80029244 02202025 */ move $a0, $s1 +/* 029E48 80029248 03C02825 */ move $a1, $fp +/* 029E4C 8002924C 4458F800 */ cfc1 $t8, $31 +/* 029E50 80029250 00000000 */ nop +/* 029E54 80029254 33180078 */ andi $t8, $t8, 0x78 +/* 029E58 80029258 53000013 */ beql $t8, $zero, .L800292A8_ovl0 +/* 029E5C 8002925C 44183000 */ mfc1 $t8, $f6 +/* 029E60 80029260 44813000 */ mtc1 $at, $f6 +/* 029E64 80029264 24180001 */ li $t8, 1 +/* 029E68 80029268 46062181 */ sub.s $f6, $f4, $f6 +/* 029E6C 8002926C 44D8F800 */ ctc1 $t8, $31 +/* 029E70 80029270 00000000 */ nop +/* 029E74 80029274 460031A4 */ cvt.w.s $f6, $f6 +/* 029E78 80029278 4458F800 */ cfc1 $t8, $31 +/* 029E7C 8002927C 00000000 */ nop +/* 029E80 80029280 33180078 */ andi $t8, $t8, 0x78 +/* 029E84 80029284 17000005 */ bnez $t8, .L8002929C_ovl0 +/* 029E88 80029288 00000000 */ nop +/* 029E8C 8002928C 44183000 */ mfc1 $t8, $f6 +/* 029E90 80029290 3C018000 */ lui $at, 0x8000 +/* 029E94 80029294 10000007 */ b .L800292B4_ovl0 +/* 029E98 80029298 0301C025 */ or $t8, $t8, $at +.L8002929C_ovl0: +/* 029E9C 8002929C 10000005 */ b .L800292B4_ovl0 +/* 029EA0 800292A0 2418FFFF */ li $t8, -1 +/* 029EA4 800292A4 44183000 */ mfc1 $t8, $f6 +.L800292A8_ovl0: +/* 029EA8 800292A8 00000000 */ nop +/* 029EAC 800292AC 0700FFFB */ bltz $t8, .L8002929C_ovl0 +/* 029EB0 800292B0 00000000 */ nop +.L800292B4_ovl0: +/* 029EB4 800292B4 44CFF800 */ ctc1 $t7, $31 +/* 029EB8 800292B8 0C00AC8E */ jal func_8002B238 +/* 029EBC 800292BC A2380036 */ sb $t8, 0x36($s1) +/* 029EC0 800292C0 00028400 */ sll $s0, $v0, 0x10 +/* 029EC4 800292C4 00108403 */ sra $s0, $s0, 0x10 +/* 029EC8 800292C8 02202025 */ move $a0, $s1 +/* 029ECC 800292CC 0C00AC85 */ jal func_8002B214 +/* 029ED0 800292D0 8FC5001C */ lw $a1, 0x1c($fp) +/* 029ED4 800292D4 00102C00 */ sll $a1, $s0, 0x10 +/* 029ED8 800292D8 00052C03 */ sra $a1, $a1, 0x10 +/* 029EDC 800292DC 26240004 */ addiu $a0, $s1, 4 +/* 029EE0 800292E0 0C00B494 */ jal func_8002D250 +/* 029EE4 800292E4 00403025 */ move $a2, $v0 +/* 029EE8 800292E8 240E0016 */ li $t6, 22 +/* 029EEC 800292EC A7AE009C */ sh $t6, 0x9c($sp) +/* 029EF0 800292F0 AFB100A0 */ sw $s1, 0xa0($sp) +/* 029EF4 800292F4 AFB300A4 */ sw $s3, 0xa4($sp) +/* 029EF8 800292F8 02802025 */ move $a0, $s4 +/* 029EFC 800292FC 27A5009C */ addiu $a1, $sp, 0x9c +/* 029F00 80029300 0C009818 */ jal func_80026060 +/* 029F04 80029304 02403025 */ move $a2, $s2 +/* 029F08 80029308 100000CE */ b .L80029644_ovl0 +/* 029F0C 8002930C 02802025 */ move $a0, $s4 +/* 029F10 80029310 8FD90080 */ lw $t9, 0x80($fp) +/* 029F14 80029314 8FD30048 */ lw $s3, 0x48($fp) +/* 029F18 80029318 8FD10044 */ lw $s1, 0x44($fp) +/* 029F1C 8002931C 93D0004C */ lbu $s0, 0x4c($fp) +/* 029F20 80029320 27A50088 */ addiu $a1, $sp, 0x88 +/* 029F24 80029324 0320F809 */ jalr $t9 +/* 029F28 80029328 02602025 */ move $a0, $s3 +/* 029F2C 8002932C C7A80088 */ lwc1 $f8, 0x88($sp) +/* 029F30 80029330 0010C080 */ sll $t8, $s0, 2 +/* 029F34 80029334 0310C023 */ subu $t8, $t8, $s0 +/* 029F38 80029338 E628002C */ swc1 $f8, 0x2c($s1) +/* 029F3C 8002933C 8FCF0068 */ lw $t7, 0x68($fp) +/* 029F40 80029340 C638002C */ lwc1 $f24, 0x2c($s1) +/* 029F44 80029344 0018C0C0 */ sll $t8, $t8, 3 +/* 029F48 80029348 01F81821 */ addu $v1, $t7, $t8 +/* 029F4C 8002934C 906E0010 */ lbu $t6, 0x10($v1) +/* 029F50 80029350 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 029F54 80029354 44810000 */ mtc1 $at, $f0 +/* 029F58 80029358 448EB000 */ mtc1 $t6, $f22 +/* 029F5C 8002935C 00409025 */ move $s2, $v0 +/* 029F60 80029360 4600C101 */ sub.s $f4, $f24, $f0 +/* 029F64 80029364 26240004 */ addiu $a0, $s1, 4 +/* 029F68 80029368 05C10005 */ bgez $t6, .L80029380_ovl0 +/* 029F6C 8002936C 4680B220 */ cvt.s.w $f8, $f22 +/* 029F70 80029370 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 029F74 80029374 44815000 */ mtc1 $at, $f10 +/* 029F78 80029378 00000000 */ nop +/* 029F7C 8002937C 460A4200 */ add.s $f8, $f8, $f10 +.L80029380_ovl0: +/* 029F80 80029380 46082182 */ mul.s $f6, $f4, $f8 +/* 029F84 80029384 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 029F88 80029388 44815000 */ mtc1 $at, $f10 +/* 029F8C 8002938C 00000000 */ nop +/* 029F90 80029390 460A3103 */ div.s $f4, $f6, $f10 +/* 029F94 80029394 C6260028 */ lwc1 $f6, 0x28($s1) +/* 029F98 80029398 46002200 */ add.s $f8, $f4, $f0 +/* 029F9C 8002939C C464000C */ lwc1 $f4, 0xc($v1) +/* 029FA0 800293A0 46083282 */ mul.s $f10, $f6, $f8 +/* 029FA4 800293A4 00000000 */ nop +/* 029FA8 800293A8 460A2182 */ mul.s $f6, $f4, $f10 +/* 029FAC 800293AC 44053000 */ mfc1 $a1, $f6 +/* 029FB0 800293B0 0C00B368 */ jal func_8002CDA0 +/* 029FB4 800293B4 00000000 */ nop +/* 029FB8 800293B8 24190017 */ li $t9, 23 +/* 029FBC 800293BC A7B9009C */ sh $t9, 0x9c($sp) +/* 029FC0 800293C0 AFB100A0 */ sw $s1, 0xa0($sp) +/* 029FC4 800293C4 AFB300A4 */ sw $s3, 0xa4($sp) +/* 029FC8 800293C8 A3B000A8 */ sb $s0, 0xa8($sp) +/* 029FCC 800293CC 02802025 */ move $a0, $s4 +/* 029FD0 800293D0 27A5009C */ addiu $a1, $sp, 0x9c +/* 029FD4 800293D4 0C009818 */ jal func_80026060 +/* 029FD8 800293D8 02403025 */ move $a2, $s2 +/* 029FDC 800293DC 10000099 */ b .L80029644_ovl0 +/* 029FE0 800293E0 02802025 */ move $a0, $s4 +/* 029FE4 800293E4 03C09025 */ move $s2, $fp +/* 029FE8 800293E8 8FA80060 */ lw $t0, 0x60($sp) +/* 029FEC 800293EC AFB4005C */ sw $s4, 0x5c($sp) +/* 029FF0 800293F0 0C00A17E */ jal func_800285F8 +/* 029FF4 800293F4 AFBE00B0 */ sw $fp, 0xb0($sp) +/* 029FF8 800293F8 8FB4005C */ lw $s4, 0x5c($sp) +/* 029FFC 800293FC 10000090 */ b .L80029640_ovl0 +/* 02A000 80029400 8FBE00B0 */ lw $fp, 0xb0($sp) +/* 02A004 80029404 03C0B025 */ move $s6, $fp +/* 02A008 80029408 8FA50060 */ lw $a1, 0x60($sp) +/* 02A00C 8002940C 0C009927 */ jal func_8002649C +/* 02A010 80029410 AFB4005C */ sw $s4, 0x5c($sp) +/* 02A014 80029414 1000008A */ b .L80029640_ovl0 +/* 02A018 80029418 8FB4005C */ lw $s4, 0x5c($sp) +/* 02A01C 8002941C 8FD1006C */ lw $s1, 0x6c($fp) +/* 02A020 80029420 87CF0044 */ lh $t7, 0x44($fp) +/* 02A024 80029424 12200086 */ beqz $s1, .L80029640_ovl0 +/* 02A028 80029428 A7CF003A */ sh $t7, 0x3a($fp) +/* 02A02C 8002942C 02202025 */ move $a0, $s1 +.L80029430_ovl0: +/* 02A030 80029430 0C00AC8E */ jal func_8002B238 +/* 02A034 80029434 03C02825 */ move $a1, $fp +/* 02A038 80029438 00028400 */ sll $s0, $v0, 0x10 +/* 02A03C 8002943C 00108403 */ sra $s0, $s0, 0x10 +/* 02A040 80029440 02202025 */ move $a0, $s1 +/* 02A044 80029444 0C00AC85 */ jal func_8002B214 +/* 02A048 80029448 8FC5001C */ lw $a1, 0x1c($fp) +/* 02A04C 8002944C 00102C00 */ sll $a1, $s0, 0x10 +/* 02A050 80029450 00052C03 */ sra $a1, $a1, 0x10 +/* 02A054 80029454 26240004 */ addiu $a0, $s1, 4 +/* 02A058 80029458 0C00B494 */ jal func_8002D250 +/* 02A05C 8002945C 00403025 */ move $a2, $v0 +/* 02A060 80029460 8E310000 */ lw $s1, ($s1) +/* 02A064 80029464 5620FFF2 */ bnezl $s1, .L80029430_ovl0 +/* 02A068 80029468 02202025 */ move $a0, $s1 +/* 02A06C 8002946C 10000075 */ b .L80029644_ovl0 +/* 02A070 80029470 02802025 */ move $a0, $s4 +/* 02A074 80029474 8FCE0034 */ lw $t6, 0x34($fp) +/* 02A078 80029478 24180064 */ li $t8, 100 +/* 02A07C 8002947C 24010001 */ li $at, 1 +/* 02A080 80029480 11C1006F */ beq $t6, $at, .L80029640_ovl0 +/* 02A084 80029484 A3D80078 */ sb $t8, 0x78($fp) +/* 02A088 80029488 24190001 */ li $t9, 1 +/* 02A08C 8002948C AFD90034 */ sw $t9, 0x34($fp) +/* 02A090 80029490 0C0098FC */ jal func_800263F0 +/* 02A094 80029494 03C02025 */ move $a0, $fp +/* 02A098 80029498 1000006A */ b .L80029644_ovl0 +/* 02A09C 8002949C 02802025 */ move $a0, $s4 +/* 02A0A0 800294A0 8FCF0034 */ lw $t7, 0x34($fp) +/* 02A0A4 800294A4 24010002 */ li $at, 2 +/* 02A0A8 800294A8 55E10066 */ bnel $t7, $at, .L80029644_ovl0 +/* 02A0AC 800294AC 02802025 */ move $a0, $s4 +/* 02A0B0 800294B0 8FD1006C */ lw $s1, 0x6c($fp) +/* 02A0B4 800294B4 12200011 */ beqz $s1, .L800294FC_ovl0 +/* 02A0B8 800294B8 26300004 */ addiu $s0, $s1, 4 +.L800294BC_ovl0: +/* 02A0BC 800294BC 0C00AA9C */ jal func_8002AA70 +/* 02A0C0 800294C0 02002025 */ move $a0, $s0 +/* 02A0C4 800294C4 0C00B46C */ jal func_8002D1B0 +/* 02A0C8 800294C8 02002025 */ move $a0, $s0 +/* 02A0CC 800294CC 92380037 */ lbu $t8, 0x37($s1) +/* 02A0D0 800294D0 03C02025 */ move $a0, $fp +/* 02A0D4 800294D4 53000004 */ beql $t8, $zero, .L800294E8_ovl0 +/* 02A0D8 800294D8 03C02025 */ move $a0, $fp +/* 02A0DC 800294DC 0C00B1A3 */ jal func_8002C68C +/* 02A0E0 800294E0 02202825 */ move $a1, $s1 +/* 02A0E4 800294E4 03C02025 */ move $a0, $fp +.L800294E8_ovl0: +/* 02A0E8 800294E8 0C00AD2D */ jal func_8002B4B4 +/* 02A0EC 800294EC 02002825 */ move $a1, $s0 +/* 02A0F0 800294F0 8FD1006C */ lw $s1, 0x6c($fp) +/* 02A0F4 800294F4 5620FFF1 */ bnezl $s1, .L800294BC_ovl0 +/* 02A0F8 800294F8 26300004 */ addiu $s0, $s1, 4 +.L800294FC_ovl0: +/* 02A0FC 800294FC 0C00B1E4 */ jal func_8002C790 +/* 02A100 80029500 03C02025 */ move $a0, $fp +/* 02A104 80029504 1000004E */ b .L80029640_ovl0 +/* 02A108 80029508 AFC00034 */ sw $zero, 0x34($fp) +/* 02A10C 8002950C 8FCE0034 */ lw $t6, 0x34($fp) +/* 02A110 80029510 24010001 */ li $at, 1 +/* 02A114 80029514 02802025 */ move $a0, $s4 +/* 02A118 80029518 55C1004A */ bnel $t6, $at, .L80029644_ovl0 +/* 02A11C 8002951C 02802025 */ move $a0, $s4 +/* 02A120 80029520 0C0097E9 */ jal func_80025FA4 +/* 02A124 80029524 00002825 */ move $a1, $zero +/* 02A128 80029528 02802025 */ move $a0, $s4 +/* 02A12C 8002952C 0C0097E9 */ jal func_80025FA4 +/* 02A130 80029530 24050015 */ li $a1, 21 +/* 02A134 80029534 02802025 */ move $a0, $s4 +/* 02A138 80029538 0C0097E9 */ jal func_80025FA4 +/* 02A13C 8002953C 24050002 */ li $a1, 2 +/* 02A140 80029540 8FD1006C */ lw $s1, 0x6c($fp) +/* 02A144 80029544 1220000D */ beqz $s1, .L8002957C_ovl0 +/* 02A148 80029548 26300004 */ addiu $s0, $s1, 4 +.L8002954C_ovl0: +/* 02A14C 8002954C 02002825 */ move $a1, $s0 +/* 02A150 80029550 03C02025 */ move $a0, $fp +/* 02A154 80029554 0C00AD03 */ jal func_8002B40C +/* 02A158 80029558 3406C350 */ li $a2, 50000 +/* 02A15C 8002955C 10400004 */ beqz $v0, .L80029570_ovl0 +/* 02A160 80029560 03C02025 */ move $a0, $fp +/* 02A164 80029564 02002825 */ move $a1, $s0 +/* 02A168 80029568 0C00ACBA */ jal func_8002B2E8 +/* 02A16C 8002956C 3406C350 */ li $a2, 50000 +.L80029570_ovl0: +/* 02A170 80029570 8E310000 */ lw $s1, ($s1) +/* 02A174 80029574 5620FFF5 */ bnezl $s1, .L8002954C_ovl0 +/* 02A178 80029578 26300004 */ addiu $s0, $s1, 4 +.L8002957C_ovl0: +/* 02A17C 8002957C 24190002 */ li $t9, 2 +/* 02A180 80029580 AFD90034 */ sw $t9, 0x34($fp) +/* 02A184 80029584 240F0010 */ li $t7, 16 +/* 02A188 80029588 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff +/* 02A18C 8002958C A7AF009C */ sh $t7, 0x9c($sp) +/* 02A190 80029590 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 02A194 80029594 02802025 */ move $a0, $s4 +/* 02A198 80029598 0C009818 */ jal func_80026060 +/* 02A19C 8002959C 27A5009C */ addiu $a1, $sp, 0x9c +/* 02A1A0 800295A0 10000028 */ b .L80029644_ovl0 +/* 02A1A4 800295A4 02802025 */ move $a0, $s4 +/* 02A1A8 800295A8 93D00044 */ lbu $s0, 0x44($fp) +/* 02A1AC 800295AC 8FCE0068 */ lw $t6, 0x68($fp) +/* 02A1B0 800295B0 93D80045 */ lbu $t8, 0x45($fp) +/* 02A1B4 800295B4 0010C880 */ sll $t9, $s0, 2 +/* 02A1B8 800295B8 0330C823 */ subu $t9, $t9, $s0 +/* 02A1BC 800295BC 0019C8C0 */ sll $t9, $t9, 3 +/* 02A1C0 800295C0 01D97821 */ addu $t7, $t6, $t9 +/* 02A1C4 800295C4 1000001E */ b .L80029640_ovl0 +/* 02A1C8 800295C8 A1F80008 */ sb $t8, 8($t7) +/* 02A1CC 800295CC 8FCE0044 */ lw $t6, 0x44($fp) +/* 02A1D0 800295D0 3C018004 */ lui $at, %hi(D_8004179C) # $at, 0x8004 +/* 02A1D4 800295D4 03C02025 */ move $a0, $fp +/* 02A1D8 800295D8 AFCE0018 */ sw $t6, 0x18($fp) +/* 02A1DC 800295DC 0C009918 */ jal func_80026460 +/* 02A1E0 800295E0 C42C179C */ lwc1 $f12, %lo(D_8004179C)($at) +/* 02A1E4 800295E4 8FC50020 */ lw $a1, 0x20($fp) +/* 02A1E8 800295E8 50A00016 */ beql $a1, $zero, .L80029644_ovl0 +/* 02A1EC 800295EC 02802025 */ move $a0, $s4 +/* 02A1F0 800295F0 0C00AC56 */ jal func_8002B158 +/* 02A1F4 800295F4 03C02025 */ move $a0, $fp +/* 02A1F8 800295F8 10000012 */ b .L80029644_ovl0 +/* 02A1FC 800295FC 02802025 */ move $a0, $s4 +/* 02A200 80029600 8FC50044 */ lw $a1, 0x44($fp) +/* 02A204 80029604 03C02025 */ move $a0, $fp +/* 02A208 80029608 0C00AC56 */ jal func_8002B158 +/* 02A20C 8002960C AFC50020 */ sw $a1, 0x20($fp) +/* 02A210 80029610 1000000C */ b .L80029644_ovl0 +/* 02A214 80029614 02802025 */ move $a0, $s4 +/* 02A218 80029618 8FC50044 */ lw $a1, 0x44($fp) +/* 02A21C 8002961C 03C02025 */ move $a0, $fp +/* 02A220 80029620 0C00AC56 */ jal func_8002B158 +/* 02A224 80029624 AFC50024 */ sw $a1, 0x24($fp) +/* 02A228 80029628 10000006 */ b .L80029644_ovl0 +/* 02A22C 8002962C 02802025 */ move $a0, $s4 +/* 02A230 80029630 8FC50044 */ lw $a1, 0x44($fp) +/* 02A234 80029634 03C02025 */ move $a0, $fp +/* 02A238 80029638 0C00AC56 */ jal func_8002B158 +/* 02A23C 8002963C AFC50028 */ sw $a1, 0x28($fp) +.L80029640_ovl0: +/* 02A240 80029640 02802025 */ move $a0, $s4 +.L80029644_ovl0: +/* 02A244 80029644 0C00986C */ jal func_800261B0 +/* 02A248 80029648 8FA50060 */ lw $a1, 0x60($sp) +/* 02A24C 8002964C 1040FE85 */ beqz $v0, .L80029064_ovl0 +/* 02A250 80029650 AFC20030 */ sw $v0, 0x30($fp) +/* 02A254 80029654 00401825 */ move $v1, $v0 +/* 02A258 80029658 44834000 */ mtc1 $v1, $f8 +/* 02A25C 8002965C 8FD9001C */ lw $t9, 0x1c($fp) +/* 02A260 80029660 3C018004 */ lui $at, %hi(D_8003FB18) # $at, 0x8004 +/* 02A264 80029664 46804120 */ cvt.s.w $f4, $f8 +/* 02A268 80029668 0322C021 */ addu $t8, $t9, $v0 +/* 02A26C 8002966C AFD8001C */ sw $t8, 0x1c($fp) +/* 02A270 80029670 C42AFB18 */ lwc1 $f10, %lo(D_8003FB18)($at) +/* 02A274 80029674 8FBF0054 */ lw $ra, 0x54($sp) +/* 02A278 80029678 8FBE0050 */ lw $fp, 0x50($sp) +/* 02A27C 8002967C 460A2183 */ div.s $f6, $f4, $f10 +/* 02A280 80029680 8FB7004C */ lw $s7, 0x4c($sp) +/* 02A284 80029684 8FB60048 */ lw $s6, 0x48($sp) +/* 02A288 80029688 8FB50044 */ lw $s5, 0x44($sp) +/* 02A28C 8002968C 8FB40040 */ lw $s4, 0x40($sp) +/* 02A290 80029690 8FB3003C */ lw $s3, 0x3c($sp) +/* 02A294 80029694 8FB20038 */ lw $s2, 0x38($sp) +/* 02A298 80029698 8FB10034 */ lw $s1, 0x34($sp) +/* 02A29C 8002969C 8FB00030 */ lw $s0, 0x30($sp) +/* 02A2A0 800296A0 D7B80028 */ ldc1 $f24, 0x28($sp) +/* 02A2A4 800296A4 D7B60020 */ ldc1 $f22, 0x20($sp) +/* 02A2A8 800296A8 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 02A2AC 800296AC 27BD00B0 */ addiu $sp, $sp, 0xb0 +/* 02A2B0 800296B0 4600320D */ trunc.w.s $f8, $f6 +/* 02A2B4 800296B4 44024000 */ mfc1 $v0, $f8 +/* 02A2B8 800296B8 03E00008 */ jr $ra +/* 02A2BC 800296BC 00000000 */ nop + +glabel func_800296C0 +/* 02A2C0 800296C0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 02A2C4 800296C4 AFBF0024 */ sw $ra, 0x24($sp) +/* 02A2C8 800296C8 AFB10020 */ sw $s1, 0x20($sp) +/* 02A2CC 800296CC AFB0001C */ sw $s0, 0x1c($sp) +/* 02A2D0 800296D0 8CA6000C */ lw $a2, 0xc($a1) +/* 02A2D4 800296D4 AC800020 */ sw $zero, 0x20($a0) +/* 02A2D8 800296D8 AC800024 */ sw $zero, 0x24($a0) +/* 02A2DC 800296DC AC800028 */ sw $zero, 0x28($a0) +/* 02A2E0 800296E0 AC800018 */ sw $zero, 0x18($a0) +/* 02A2E4 800296E4 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 +/* 02A2E8 800296E8 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) +/* 02A2EC 800296EC 240F00FF */ li $t7, 255 +/* 02A2F0 800296F0 241801E8 */ li $t8, 488 +/* 02A2F4 800296F4 24197FFF */ li $t9, 32767 +/* 02A2F8 800296F8 A48F0038 */ sh $t7, 0x38($a0) +/* 02A2FC 800296FC AC98002C */ sw $t8, 0x2c($a0) +/* 02A300 80029700 AC800030 */ sw $zero, 0x30($a0) +/* 02A304 80029704 AC800034 */ sw $zero, 0x34($a0) +/* 02A308 80029708 A499003A */ sh $t9, 0x3a($a0) +/* 02A30C 8002970C AC8E0014 */ sw $t6, 0x14($a0) +/* 02A310 80029710 90A80009 */ lbu $t0, 9($a1) +/* 02A314 80029714 24093E80 */ li $t1, 16000 +/* 02A318 80029718 AC890064 */ sw $t1, 0x64($a0) +/* 02A31C 8002971C AC80001C */ sw $zero, 0x1c($a0) +/* 02A320 80029720 A088003D */ sb $t0, 0x3d($a0) +/* 02A324 80029724 8CAA0010 */ lw $t2, 0x10($a1) +/* 02A328 80029728 240D0009 */ li $t5, 9 +/* 02A32C 8002972C 00A08825 */ move $s1, $a1 +/* 02A330 80029730 AC8A007C */ sw $t2, 0x7c($a0) +/* 02A334 80029734 8CAB0014 */ lw $t3, 0x14($a1) +/* 02A338 80029738 00808025 */ move $s0, $a0 +/* 02A33C 8002973C 240F0018 */ li $t7, 24 +/* 02A340 80029740 AC8B0080 */ sw $t3, 0x80($a0) +/* 02A344 80029744 8CAC0018 */ lw $t4, 0x18($a1) +/* 02A348 80029748 A48D0040 */ sh $t5, 0x40($a0) +/* 02A34C 8002974C AC8C0084 */ sw $t4, 0x84($a0) +/* 02A350 80029750 90AE0008 */ lbu $t6, 8($a1) +/* 02A354 80029754 00002825 */ move $a1, $zero +/* 02A358 80029758 A08E003C */ sb $t6, 0x3c($a0) +/* 02A35C 8002975C 92270008 */ lbu $a3, 8($s1) +/* 02A360 80029760 AFAF0010 */ sw $t7, 0x10($sp) +/* 02A364 80029764 00002025 */ move $a0, $zero +/* 02A368 80029768 0C0078F5 */ jal func_8001E3D4 +/* 02A36C 8002976C AFA6002C */ sw $a2, 0x2c($sp) +/* 02A370 80029770 AE020068 */ sw $v0, 0x68($s0) +/* 02A374 80029774 0C00B1E4 */ jal func_8002C790 +/* 02A378 80029778 02002025 */ move $a0, $s0 +/* 02A37C 8002977C 8E270000 */ lw $a3, ($s1) +/* 02A380 80029780 24180038 */ li $t8, 56 +/* 02A384 80029784 AFB80010 */ sw $t8, 0x10($sp) +/* 02A388 80029788 00002025 */ move $a0, $zero +/* 02A38C 8002978C 00002825 */ move $a1, $zero +/* 02A390 80029790 0C0078F5 */ jal func_8001E3D4 +/* 02A394 80029794 8FA6002C */ lw $a2, 0x2c($sp) +/* 02A398 80029798 AE000074 */ sw $zero, 0x74($s0) +/* 02A39C 8002979C 8E390000 */ lw $t9, ($s1) +/* 02A3A0 800297A0 00002025 */ move $a0, $zero +/* 02A3A4 800297A4 00002825 */ move $a1, $zero +/* 02A3A8 800297A8 1B20000B */ blez $t9, .L800297D8_ovl0 +/* 02A3AC 800297AC 240A001C */ li $t2, 28 +/* 02A3B0 800297B0 00401825 */ move $v1, $v0 +/* 02A3B4 800297B4 8E080074 */ lw $t0, 0x74($s0) +.L800297B8_ovl0: +/* 02A3B8 800297B8 24840001 */ addiu $a0, $a0, 1 +/* 02A3BC 800297BC AC680000 */ sw $t0, ($v1) +/* 02A3C0 800297C0 AE030074 */ sw $v1, 0x74($s0) +/* 02A3C4 800297C4 8E290000 */ lw $t1, ($s1) +/* 02A3C8 800297C8 24630038 */ addiu $v1, $v1, 0x38 +/* 02A3CC 800297CC 0089082A */ slt $at, $a0, $t1 +/* 02A3D0 800297D0 5420FFF9 */ bnezl $at, .L800297B8_ovl0 +/* 02A3D4 800297D4 8E080074 */ lw $t0, 0x74($s0) +.L800297D8_ovl0: +/* 02A3D8 800297D8 AE00006C */ sw $zero, 0x6c($s0) +/* 02A3DC 800297DC AE000070 */ sw $zero, 0x70($s0) +/* 02A3E0 800297E0 8E270004 */ lw $a3, 4($s1) +/* 02A3E4 800297E4 AFAA0010 */ sw $t2, 0x10($sp) +/* 02A3E8 800297E8 8FA6002C */ lw $a2, 0x2c($sp) +/* 02A3EC 800297EC 0C0078F5 */ jal func_8001E3D4 +/* 02A3F0 800297F0 00002025 */ move $a0, $zero +/* 02A3F4 800297F4 26040050 */ addiu $a0, $s0, 0x50 +/* 02A3F8 800297F8 00402825 */ move $a1, $v0 +/* 02A3FC 800297FC 0C009898 */ jal func_80026260 +/* 02A400 80029800 8E260004 */ lw $a2, 4($s1) +/* 02A404 80029804 3C0B8003 */ lui $t3, %hi(D_8002901C) # $t3, 0x8003 +/* 02A408 80029808 256B901C */ addiu $t3, %lo(D_8002901C) # addiu $t3, $t3, -0x6fe4 +/* 02A40C 8002980C AE000000 */ sw $zero, ($s0) +/* 02A410 80029810 AE0B0008 */ sw $t3, 8($s0) +/* 02A414 80029814 AE100004 */ sw $s0, 4($s0) +/* 02A418 80029818 0C00AA44 */ jal func_8002A910 +/* 02A41C 8002981C 02002025 */ move $a0, $s0 +/* 02A420 80029820 8FBF0024 */ lw $ra, 0x24($sp) +/* 02A424 80029824 8FB0001C */ lw $s0, 0x1c($sp) +/* 02A428 80029828 8FB10020 */ lw $s1, 0x20($sp) +/* 02A42C 8002982C 03E00008 */ jr $ra +/* 02A430 80029830 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_80029834 +/* 02A434 80029834 03E00008 */ jr $ra +/* 02A438 80029838 00000000 */ nop + +glabel func_8002983C +/* 02A43C 8002983C 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 +/* 02A440 80029840 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) +/* 02A444 80029844 44842000 */ mtc1 $a0, $f4 +/* 02A448 80029848 3C018004 */ lui $at, %hi(D_800417A0) # $at, 0x8004 +/* 02A44C 8002984C 8DCF004C */ lw $t7, 0x4c($t6) +/* 02A450 80029850 468021A0 */ cvt.s.w $f6, $f4 +/* 02A454 80029854 C43217A0 */ lwc1 $f18, %lo(D_800417A0)($at) +/* 02A458 80029858 448F4000 */ mtc1 $t7, $f8 +/* 02A45C 8002985C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 02A460 80029860 468042A0 */ cvt.s.w $f10, $f8 +/* 02A464 80029864 44814000 */ mtc1 $at, $f8 +/* 02A468 80029868 2401FFF0 */ li $at, -16 +/* 02A46C 8002986C 460A3402 */ mul.s $f16, $f6, $f10 +/* 02A470 80029870 46128103 */ div.s $f4, $f16, $f18 +/* 02A474 80029874 46082000 */ add.s $f0, $f4, $f8 +/* 02A478 80029878 4600018D */ trunc.w.s $f6, $f0 +/* 02A47C 8002987C 44023000 */ mfc1 $v0, $f6 +/* 02A480 80029880 03E00008 */ jr $ra +/* 02A484 80029884 00411024 */ and $v0, $v0, $at + +glabel func_80029888 +/* 02A488 80029888 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 02A48C 8002988C AFB10018 */ sw $s1, 0x18($sp) +/* 02A490 80029890 3C118004 */ lui $s1, %hi(D_8003FB14) # $s1, 0x8004 +/* 02A494 80029894 2631FB14 */ addiu $s1, %lo(D_8003FB14) # addiu $s1, $s1, -0x4ec +/* 02A498 80029898 8E2E0000 */ lw $t6, ($s1) +/* 02A49C 8002989C AFBF001C */ sw $ra, 0x1c($sp) +/* 02A4A0 800298A0 AFB00014 */ sw $s0, 0x14($sp) +/* 02A4A4 800298A4 8DD00020 */ lw $s0, 0x20($t6) +/* 02A4A8 800298A8 52000013 */ beql $s0, $zero, .L800298F8_ovl0 +/* 02A4AC 800298AC 8FBF001C */ lw $ra, 0x1c($sp) +.L800298B0_ovl0: +/* 02A4B0 800298B0 0C0097DD */ jal func_80025F74 +/* 02A4B4 800298B4 02002025 */ move $a0, $s0 +/* 02A4B8 800298B8 8E220000 */ lw $v0, ($s1) +/* 02A4BC 800298BC 02002025 */ move $a0, $s0 +/* 02A4C0 800298C0 8C4F0010 */ lw $t7, 0x10($v0) +/* 02A4C4 800298C4 24420010 */ addiu $v0, $v0, 0x10 +/* 02A4C8 800298C8 AE020004 */ sw $v0, 4($s0) +/* 02A4CC 800298CC AE0F0000 */ sw $t7, ($s0) +/* 02A4D0 800298D0 8C430000 */ lw $v1, ($v0) +/* 02A4D4 800298D4 50600003 */ beql $v1, $zero, .L800298E4_ovl0 +/* 02A4D8 800298D8 AC440000 */ sw $a0, ($v0) +/* 02A4DC 800298DC AC700004 */ sw $s0, 4($v1) +/* 02A4E0 800298E0 AC440000 */ sw $a0, ($v0) +.L800298E4_ovl0: +/* 02A4E4 800298E4 8E380000 */ lw $t8, ($s1) +/* 02A4E8 800298E8 8F100020 */ lw $s0, 0x20($t8) +/* 02A4EC 800298EC 1600FFF0 */ bnez $s0, .L800298B0_ovl0 +/* 02A4F0 800298F0 00000000 */ nop +/* 02A4F4 800298F4 8FBF001C */ lw $ra, 0x1c($sp) +.L800298F8_ovl0: +/* 02A4F8 800298F8 8FB00014 */ lw $s0, 0x14($sp) +/* 02A4FC 800298FC 8FB10018 */ lw $s1, 0x18($sp) +/* 02A500 80029900 03E00008 */ jr $ra +/* 02A504 80029904 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80029908 +/* 02A508 80029908 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 +/* 02A50C 8002990C 8C42FB14 */ lw $v0, %lo(D_8003FB14)($v0) +/* 02A510 80029910 00001825 */ move $v1, $zero +/* 02A514 80029914 8C440038 */ lw $a0, 0x38($v0) +/* 02A518 80029918 10800005 */ beqz $a0, .L80029930_ovl0 +/* 02A51C 8002991C 00000000 */ nop +/* 02A520 80029920 8C8E0000 */ lw $t6, ($a0) +/* 02A524 80029924 00801825 */ move $v1, $a0 +/* 02A528 80029928 AC4E0038 */ sw $t6, 0x38($v0) +/* 02A52C 8002992C AC800000 */ sw $zero, ($a0) +.L80029930_ovl0: +/* 02A530 80029930 03E00008 */ jr $ra +/* 02A534 80029934 00601025 */ move $v0, $v1 + +glabel func_80029938 +/* 02A538 80029938 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02A53C 8002993C AFBF0014 */ sw $ra, 0x14($sp) +/* 02A540 80029940 3C0E0200 */ lui $t6, (0x020004E0 >> 16) # lui $t6, 0x200 +/* 02A544 80029944 35CE04E0 */ ori $t6, (0x020004E0 & 0xFFFF) # ori $t6, $t6, 0x4e0 +/* 02A548 80029948 240F02E0 */ li $t7, 736 +/* 02A54C 8002994C ACAF0004 */ sw $t7, 4($a1) +/* 02A550 80029950 ACAE0000 */ sw $t6, ($a1) +/* 02A554 80029954 3C188004 */ lui $t8, %hi(D_8003FB14) # $t8, 0x8004 +/* 02A558 80029958 8F18FB14 */ lw $t8, %lo(D_8003FB14)($t8) +/* 02A55C 8002995C 24A50008 */ addiu $a1, $a1, 8 +/* 02A560 80029960 8F19003C */ lw $t9, 0x3c($t8) +/* 02A564 80029964 8F390004 */ lw $t9, 4($t9) +/* 02A568 80029968 0320F809 */ jalr $t9 +/* 02A56C 8002996C 00000000 */ nop +/* 02A570 80029970 3C030C00 */ lui $v1, (0x0C007FFF >> 16) # lui $v1, 0xc00 +/* 02A574 80029974 34637FFF */ ori $v1, (0x0C007FFF & 0xFFFF) # ori $v1, $v1, 0x7fff +/* 02A578 80029978 3C0807C0 */ lui $t0, (0x07C004E0 >> 16) # lui $t0, 0x7c0 +/* 02A57C 8002997C 3C090930 */ lui $t1, (0x09300650 >> 16) # lui $t1, 0x930 +/* 02A580 80029980 350804E0 */ ori $t0, (0x07C004E0 & 0xFFFF) # ori $t0, $t0, 0x4e0 +/* 02A584 80029984 35290650 */ ori $t1, (0x09300650 & 0xFFFF) # ori $t1, $t1, 0x650 +/* 02A588 80029988 AC480004 */ sw $t0, 4($v0) +/* 02A58C 8002998C AC430000 */ sw $v1, ($v0) +/* 02A590 80029990 AC49000C */ sw $t1, 0xc($v0) +/* 02A594 80029994 AC430008 */ sw $v1, 8($v0) +/* 02A598 80029998 8FBF0014 */ lw $ra, 0x14($sp) +/* 02A59C 8002999C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02A5A0 800299A0 24420010 */ addiu $v0, $v0, 0x10 +/* 02A5A4 800299A4 03E00008 */ jr $ra +/* 02A5A8 800299A8 00000000 */ nop + +glabel func_800299AC +/* 02A5AC 800299AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02A5B0 800299B0 AFBF0014 */ sw $ra, 0x14($sp) +/* 02A5B4 800299B4 0C00A64E */ jal func_80029938 +/* 02A5B8 800299B8 00000000 */ nop +/* 02A5BC 800299BC 3C0E0D00 */ lui $t6, 0xd00 +/* 02A5C0 800299C0 3C0F062E */ lui $t7, 0x62e +/* 02A5C4 800299C4 AC4F0008 */ sw $t7, 8($v0) +/* 02A5C8 800299C8 AC4E0000 */ sw $t6, ($v0) +/* 02A5CC 800299CC 3C188004 */ lui $t8, %hi(D_8003FB14) # $t8, 0x8004 +/* 02A5D0 800299D0 8F18FB14 */ lw $t8, %lo(D_8003FB14)($t8) +/* 02A5D4 800299D4 24420010 */ addiu $v0, $v0, 0x10 +/* 02A5D8 800299D8 8F190054 */ lw $t9, 0x54($t8) +/* 02A5DC 800299DC AC59FFFC */ sw $t9, -4($v0) +/* 02A5E0 800299E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 02A5E4 800299E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02A5E8 800299E8 03E00008 */ jr $ra +/* 02A5EC 800299EC 00000000 */ nop + +glabel func_800299F0 +/* 02A5F0 800299F0 03E00008 */ jr $ra +/* 02A5F4 800299F4 00000000 */ nop + +glabel func_800299F8 +/* 02A5F8 800299F8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 02A5FC 800299FC AFB30020 */ sw $s3, 0x20($sp) +/* 02A600 80029A00 3C138004 */ lui $s3, %hi(D_8003FB14) # $s3, 0x8004 +/* 02A604 80029A04 2673FB14 */ addiu $s3, %lo(D_8003FB14) # addiu $s3, $s3, -0x4ec +/* 02A608 80029A08 AFB00014 */ sw $s0, 0x14($sp) +/* 02A60C 80029A0C 8E700000 */ lw $s0, ($s3) +/* 02A610 80029A10 AFBF002C */ sw $ra, 0x2c($sp) +/* 02A614 80029A14 AFB50028 */ sw $s5, 0x28($sp) +/* 02A618 80029A18 AFB40024 */ sw $s4, 0x24($sp) +/* 02A61C 80029A1C AFB2001C */ sw $s2, 0x1c($sp) +/* 02A620 80029A20 AFB10018 */ sw $s1, 0x18($sp) +/* 02A624 80029A24 AFA40048 */ sw $a0, 0x48($sp) +/* 02A628 80029A28 AFA5004C */ sw $a1, 0x4c($sp) +/* 02A62C 80029A2C 8E0E0000 */ lw $t6, ($s0) +/* 02A630 80029A30 00E09025 */ move $s2, $a3 +/* 02A634 80029A34 0080A825 */ move $s5, $a0 +/* 02A638 80029A38 15C00004 */ bnez $t6, .L80029A4C_ovl0 +/* 02A63C 80029A3C 00C0A025 */ move $s4, $a2 +/* 02A640 80029A40 ACA00000 */ sw $zero, ($a1) +/* 02A644 80029A44 100000A9 */ b .L80029CEC_ovl0 +/* 02A648 80029A48 8FA20048 */ lw $v0, 0x48($sp) +.L80029A4C_ovl0: +/* 02A64C 80029A4C AFA00044 */ sw $zero, 0x44($sp) +/* 02A650 80029A50 8E03000C */ lw $v1, 0xc($s0) +/* 02A654 80029A54 3C057FFF */ lui $a1, (0x7FFFFFFF >> 16) # lui $a1, 0x7fff +/* 02A658 80029A58 34A5FFFF */ ori $a1, (0x7FFFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 02A65C 80029A5C 1060000A */ beqz $v1, .L80029A88_ovl0 +/* 02A660 80029A60 00A02025 */ move $a0, $a1 +/* 02A664 80029A64 8C780010 */ lw $t8, 0x10($v1) +/* 02A668 80029A68 8E19002C */ lw $t9, 0x2c($s0) +/* 02A66C 80029A6C 03191023 */ subu $v0, $t8, $t9 +/* 02A670 80029A70 0045082A */ slt $at, $v0, $a1 +/* 02A674 80029A74 50200005 */ beql $at, $zero, .L80029A8C_ovl0 +/* 02A678 80029A78 8E030004 */ lw $v1, 4($s0) +/* 02A67C 80029A7C AFA30044 */ sw $v1, 0x44($sp) +/* 02A680 80029A80 00402025 */ move $a0, $v0 +/* 02A684 80029A84 8E700000 */ lw $s0, ($s3) +.L80029A88_ovl0: +/* 02A688 80029A88 8E030004 */ lw $v1, 4($s0) +.L80029A8C_ovl0: +/* 02A68C 80029A8C 5060000B */ beql $v1, $zero, .L80029ABC_ovl0 +/* 02A690 80029A90 8E020008 */ lw $v0, 8($s0) +/* 02A694 80029A94 8C680010 */ lw $t0, 0x10($v1) +/* 02A698 80029A98 8E09002C */ lw $t1, 0x2c($s0) +/* 02A69C 80029A9C 01091023 */ subu $v0, $t0, $t1 +/* 02A6A0 80029AA0 0044082A */ slt $at, $v0, $a0 +/* 02A6A4 80029AA4 50200005 */ beql $at, $zero, .L80029ABC_ovl0 +/* 02A6A8 80029AA8 8E020008 */ lw $v0, 8($s0) +/* 02A6AC 80029AAC AFA30044 */ sw $v1, 0x44($sp) +/* 02A6B0 80029AB0 00402025 */ move $a0, $v0 +/* 02A6B4 80029AB4 8E700000 */ lw $s0, ($s3) +/* 02A6B8 80029AB8 8E020008 */ lw $v0, 8($s0) +.L80029ABC_ovl0: +/* 02A6BC 80029ABC 5040000A */ beql $v0, $zero, .L80029AE8_ovl0 +/* 02A6C0 80029AC0 8FAD0044 */ lw $t5, 0x44($sp) +/* 02A6C4 80029AC4 8C4A0010 */ lw $t2, 0x10($v0) +/* 02A6C8 80029AC8 8E0B002C */ lw $t3, 0x2c($s0) +/* 02A6CC 80029ACC 014B6023 */ subu $t4, $t2, $t3 +/* 02A6D0 80029AD0 0184082A */ slt $at, $t4, $a0 +/* 02A6D4 80029AD4 50200004 */ beql $at, $zero, .L80029AE8_ovl0 +/* 02A6D8 80029AD8 8FAD0044 */ lw $t5, 0x44($sp) +/* 02A6DC 80029ADC AFA20044 */ sw $v0, 0x44($sp) +/* 02A6E0 80029AE0 8E700000 */ lw $s0, ($s3) +/* 02A6E4 80029AE4 8FAD0044 */ lw $t5, 0x44($sp) +.L80029AE8_ovl0: +/* 02A6E8 80029AE8 8DA20010 */ lw $v0, 0x10($t5) +/* 02A6EC 80029AEC AE020028 */ sw $v0, 0x28($s0) +/* 02A6F0 80029AF0 8E700000 */ lw $s0, ($s3) +/* 02A6F4 80029AF4 8E030028 */ lw $v1, 0x28($s0) +/* 02A6F8 80029AF8 8E0E002C */ lw $t6, 0x2c($s0) +/* 02A6FC 80029AFC 006E7823 */ subu $t7, $v1, $t6 +/* 02A700 80029B00 01F2082A */ slt $at, $t7, $s2 +/* 02A704 80029B04 1020004D */ beqz $at, .L80029C3C_ovl0 +/* 02A708 80029B08 2401FFF0 */ li $at, -16 +.L80029B0C_ovl0: +/* 02A70C 80029B0C 0061C024 */ and $t8, $v1, $at +/* 02A710 80029B10 AE180028 */ sw $t8, 0x28($s0) +/* 02A714 80029B14 8FA40044 */ lw $a0, 0x44($sp) +/* 02A718 80029B18 00A08825 */ move $s1, $a1 +/* 02A71C 80029B1C 8C990008 */ lw $t9, 8($a0) +/* 02A720 80029B20 0320F809 */ jalr $t9 +/* 02A724 80029B24 00000000 */ nop +/* 02A728 80029B28 8E680000 */ lw $t0, ($s3) +/* 02A72C 80029B2C 44822000 */ mtc1 $v0, $f4 +/* 02A730 80029B30 3C018004 */ lui $at, %hi(D_800417A4) # $at, 0x8004 +/* 02A734 80029B34 8D09004C */ lw $t1, 0x4c($t0) +/* 02A738 80029B38 468021A0 */ cvt.s.w $f6, $f4 +/* 02A73C 80029B3C C43217A4 */ lwc1 $f18, %lo(D_800417A4)($at) +/* 02A740 80029B40 44894000 */ mtc1 $t1, $f8 +/* 02A744 80029B44 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 02A748 80029B48 8FAB0044 */ lw $t3, 0x44($sp) +/* 02A74C 80029B4C 468042A0 */ cvt.s.w $f10, $f8 +/* 02A750 80029B50 44814000 */ mtc1 $at, $f8 +/* 02A754 80029B54 8D6C0010 */ lw $t4, 0x10($t3) +/* 02A758 80029B58 3C057FFF */ lui $a1, (0x7FFFFFFF >> 16) # lui $a1, 0x7fff +/* 02A75C 80029B5C 34A5FFFF */ ori $a1, (0x7FFFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 02A760 80029B60 460A3402 */ mul.s $f16, $f6, $f10 +/* 02A764 80029B64 46128103 */ div.s $f4, $f16, $f18 +/* 02A768 80029B68 46082000 */ add.s $f0, $f4, $f8 +/* 02A76C 80029B6C 4600018D */ trunc.w.s $f6, $f0 +/* 02A770 80029B70 44023000 */ mfc1 $v0, $f6 +/* 02A774 80029B74 00000000 */ nop +/* 02A778 80029B78 01826821 */ addu $t5, $t4, $v0 +/* 02A77C 80029B7C AD6D0010 */ sw $t5, 0x10($t3) +/* 02A780 80029B80 8E700000 */ lw $s0, ($s3) +/* 02A784 80029B84 AFA00044 */ sw $zero, 0x44($sp) +/* 02A788 80029B88 8E03000C */ lw $v1, 0xc($s0) +/* 02A78C 80029B8C 5060000B */ beql $v1, $zero, .L80029BBC_ovl0 +/* 02A790 80029B90 8E030004 */ lw $v1, 4($s0) +/* 02A794 80029B94 8C6E0010 */ lw $t6, 0x10($v1) +/* 02A798 80029B98 8E0F002C */ lw $t7, 0x2c($s0) +/* 02A79C 80029B9C 01CF1023 */ subu $v0, $t6, $t7 +/* 02A7A0 80029BA0 0045082A */ slt $at, $v0, $a1 +/* 02A7A4 80029BA4 50200005 */ beql $at, $zero, .L80029BBC_ovl0 +/* 02A7A8 80029BA8 8E030004 */ lw $v1, 4($s0) +/* 02A7AC 80029BAC AFA30044 */ sw $v1, 0x44($sp) +/* 02A7B0 80029BB0 00408825 */ move $s1, $v0 +/* 02A7B4 80029BB4 8E700000 */ lw $s0, ($s3) +/* 02A7B8 80029BB8 8E030004 */ lw $v1, 4($s0) +.L80029BBC_ovl0: +/* 02A7BC 80029BBC 5060000B */ beql $v1, $zero, .L80029BEC_ovl0 +/* 02A7C0 80029BC0 8E020008 */ lw $v0, 8($s0) +/* 02A7C4 80029BC4 8C780010 */ lw $t8, 0x10($v1) +/* 02A7C8 80029BC8 8E19002C */ lw $t9, 0x2c($s0) +/* 02A7CC 80029BCC 03191023 */ subu $v0, $t8, $t9 +/* 02A7D0 80029BD0 0051082A */ slt $at, $v0, $s1 +/* 02A7D4 80029BD4 50200005 */ beql $at, $zero, .L80029BEC_ovl0 +/* 02A7D8 80029BD8 8E020008 */ lw $v0, 8($s0) +/* 02A7DC 80029BDC AFA30044 */ sw $v1, 0x44($sp) +/* 02A7E0 80029BE0 00408825 */ move $s1, $v0 +/* 02A7E4 80029BE4 8E700000 */ lw $s0, ($s3) +/* 02A7E8 80029BE8 8E020008 */ lw $v0, 8($s0) +.L80029BEC_ovl0: +/* 02A7EC 80029BEC 5040000A */ beql $v0, $zero, .L80029C18_ovl0 +/* 02A7F0 80029BF0 8FAC0044 */ lw $t4, 0x44($sp) +/* 02A7F4 80029BF4 8C480010 */ lw $t0, 0x10($v0) +/* 02A7F8 80029BF8 8E09002C */ lw $t1, 0x2c($s0) +/* 02A7FC 80029BFC 01095023 */ subu $t2, $t0, $t1 +/* 02A800 80029C00 0151082A */ slt $at, $t2, $s1 +/* 02A804 80029C04 50200004 */ beql $at, $zero, .L80029C18_ovl0 +/* 02A808 80029C08 8FAC0044 */ lw $t4, 0x44($sp) +/* 02A80C 80029C0C AFA20044 */ sw $v0, 0x44($sp) +/* 02A810 80029C10 8E700000 */ lw $s0, ($s3) +/* 02A814 80029C14 8FAC0044 */ lw $t4, 0x44($sp) +.L80029C18_ovl0: +/* 02A818 80029C18 8D820010 */ lw $v0, 0x10($t4) +/* 02A81C 80029C1C AE020028 */ sw $v0, 0x28($s0) +/* 02A820 80029C20 8E700000 */ lw $s0, ($s3) +/* 02A824 80029C24 8E030028 */ lw $v1, 0x28($s0) +/* 02A828 80029C28 8E0D002C */ lw $t5, 0x2c($s0) +/* 02A82C 80029C2C 006D5823 */ subu $t3, $v1, $t5 +/* 02A830 80029C30 0172082A */ slt $at, $t3, $s2 +/* 02A834 80029C34 5420FFB5 */ bnezl $at, .L80029B0C_ovl0 +/* 02A838 80029C38 2401FFF0 */ li $at, -16 +.L80029C3C_ovl0: +/* 02A83C 80029C3C 2401FFF0 */ li $at, -16 +/* 02A840 80029C40 00617024 */ and $t6, $v1, $at +/* 02A844 80029C44 1A400022 */ blez $s2, .L80029CD0_ovl0 +/* 02A848 80029C48 AE0E0028 */ sw $t6, 0x28($s0) +/* 02A84C 80029C4C 3C117FFF */ lui $s1, (0x7FFFFF47 >> 16) # lui $s1, 0x7fff +/* 02A850 80029C50 3631FF47 */ ori $s1, (0x7FFFFF47 & 0xFFFF) # ori $s1, $s1, 0xff47 +/* 02A854 80029C54 8E700000 */ lw $s0, ($s3) +.L80029C58_ovl0: +/* 02A858 80029C58 02401825 */ move $v1, $s2 +/* 02A85C 80029C5C 8E020050 */ lw $v0, 0x50($s0) +/* 02A860 80029C60 0052082A */ slt $at, $v0, $s2 +/* 02A864 80029C64 10200003 */ beqz $at, .L80029C74_ovl0 +/* 02A868 80029C68 00000000 */ nop +/* 02A86C 80029C6C 10000001 */ b .L80029C74_ovl0 +/* 02A870 80029C70 00401825 */ move $v1, $v0 +.L80029C74_ovl0: +/* 02A874 80029C74 AE140054 */ sw $s4, 0x54($s0) +/* 02A878 80029C78 8E6F0000 */ lw $t7, ($s3) +/* 02A87C 80029C7C 02A02825 */ move $a1, $s5 +/* 02A880 80029C80 8DE4002C */ lw $a0, 0x2c($t7) +/* 02A884 80029C84 0C00A66B */ jal func_800299AC +/* 02A888 80029C88 AFA30034 */ sw $v1, 0x34($sp) +/* 02A88C 80029C8C 8E700000 */ lw $s0, ($s3) +/* 02A890 80029C90 8FA30034 */ lw $v1, 0x34($sp) +/* 02A894 80029C94 0040A825 */ move $s5, $v0 +/* 02A898 80029C98 8E04002C */ lw $a0, 0x2c($s0) +/* 02A89C 80029C9C 0003C880 */ sll $t9, $v1, 2 +/* 02A8A0 80029CA0 0299A021 */ addu $s4, $s4, $t9 +/* 02A8A4 80029CA4 0091082A */ slt $at, $a0, $s1 +/* 02A8A8 80029CA8 10200004 */ beqz $at, .L80029CBC_ovl0 +/* 02A8AC 80029CAC 02439023 */ subu $s2, $s2, $v1 +/* 02A8B0 80029CB0 00834021 */ addu $t0, $a0, $v1 +/* 02A8B4 80029CB4 10000004 */ b .L80029CC8_ovl0 +/* 02A8B8 80029CB8 AE08002C */ sw $t0, 0x2c($s0) +.L80029CBC_ovl0: +/* 02A8BC 80029CBC 3C098000 */ lui $t1, (0x80000090 >> 16) # lui $t1, 0x8000 +/* 02A8C0 80029CC0 35290090 */ ori $t1, (0x80000090 & 0xFFFF) # ori $t1, $t1, 0x90 +/* 02A8C4 80029CC4 AE09002C */ sw $t1, 0x2c($s0) +.L80029CC8_ovl0: +/* 02A8C8 80029CC8 5E40FFE3 */ bgtzl $s2, .L80029C58_ovl0 +/* 02A8CC 80029CCC 8E700000 */ lw $s0, ($s3) +.L80029CD0_ovl0: +/* 02A8D0 80029CD0 8FAA0048 */ lw $t2, 0x48($sp) +/* 02A8D4 80029CD4 8FAB004C */ lw $t3, 0x4c($sp) +/* 02A8D8 80029CD8 02AA6023 */ subu $t4, $s5, $t2 +/* 02A8DC 80029CDC 000C68C3 */ sra $t5, $t4, 3 +/* 02A8E0 80029CE0 0C00A622 */ jal func_80029888 +/* 02A8E4 80029CE4 AD6D0000 */ sw $t5, ($t3) +/* 02A8E8 80029CE8 02A01025 */ move $v0, $s5 +.L80029CEC_ovl0: +/* 02A8EC 80029CEC 8FBF002C */ lw $ra, 0x2c($sp) +/* 02A8F0 80029CF0 8FB00014 */ lw $s0, 0x14($sp) +/* 02A8F4 80029CF4 8FB10018 */ lw $s1, 0x18($sp) +/* 02A8F8 80029CF8 8FB2001C */ lw $s2, 0x1c($sp) +/* 02A8FC 80029CFC 8FB30020 */ lw $s3, 0x20($sp) +/* 02A900 80029D00 8FB40024 */ lw $s4, 0x24($sp) +/* 02A904 80029D04 8FB50028 */ lw $s5, 0x28($sp) +/* 02A908 80029D08 03E00008 */ jr $ra +/* 02A90C 80029D0C 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80029D10 +/* 02A910 80029D10 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02A914 80029D14 AFB00020 */ sw $s0, 0x20($sp) +/* 02A918 80029D18 00808025 */ move $s0, $a0 +/* 02A91C 80029D1C AFBF0024 */ sw $ra, 0x24($sp) +/* 02A920 80029D20 AFA5002C */ sw $a1, 0x2c($sp) +/* 02A924 80029D24 240E0020 */ li $t6, 32 +/* 02A928 80029D28 AFA60030 */ sw $a2, 0x30($sp) +/* 02A92C 80029D2C AFAE0010 */ sw $t6, 0x10($sp) +/* 02A930 80029D30 00002825 */ move $a1, $zero +/* 02A934 80029D34 00002025 */ move $a0, $zero +/* 02A938 80029D38 0C0078F5 */ jal func_8001E3D4 +/* 02A93C 80029D3C 24070001 */ li $a3, 1 +/* 02A940 80029D40 AE02000C */ sw $v0, 0xc($s0) +/* 02A944 80029D44 240F0020 */ li $t7, 32 +/* 02A948 80029D48 AFAF0010 */ sw $t7, 0x10($sp) +/* 02A94C 80029D4C 8FA60030 */ lw $a2, 0x30($sp) +/* 02A950 80029D50 00002025 */ move $a0, $zero +/* 02A954 80029D54 00002825 */ move $a1, $zero +/* 02A958 80029D58 0C0078F5 */ jal func_8001E3D4 +/* 02A95C 80029D5C 24070001 */ li $a3, 1 +/* 02A960 80029D60 AE020010 */ sw $v0, 0x10($s0) +/* 02A964 80029D64 8FB9002C */ lw $t9, 0x2c($sp) +/* 02A968 80029D68 2604002C */ addiu $a0, $s0, 0x2c +/* 02A96C 80029D6C 0320F809 */ jalr $t9 +/* 02A970 80029D70 00000000 */ nop +/* 02A974 80029D74 24070001 */ li $a3, 1 +/* 02A978 80029D78 AE020028 */ sw $v0, 0x28($s0) +/* 02A97C 80029D7C AE000034 */ sw $zero, 0x34($s0) +/* 02A980 80029D80 AE070038 */ sw $a3, 0x38($s0) +/* 02A984 80029D84 AE00003C */ sw $zero, 0x3c($s0) +/* 02A988 80029D88 24180020 */ li $t8, 32 +/* 02A98C 80029D8C AFB80010 */ sw $t8, 0x10($sp) +/* 02A990 80029D90 8FA60030 */ lw $a2, 0x30($sp) +/* 02A994 80029D94 00002025 */ move $a0, $zero +/* 02A998 80029D98 0C0078F5 */ jal func_8001E3D4 +/* 02A99C 80029D9C 00002825 */ move $a1, $zero +/* 02A9A0 80029DA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02A9A4 80029DA4 44802000 */ mtc1 $zero, $f4 +/* 02A9A8 80029DA8 44813000 */ mtc1 $at, $f6 +/* 02A9AC 80029DAC 24070001 */ li $a3, 1 +/* 02A9B0 80029DB0 AE020040 */ sw $v0, 0x40($s0) +/* 02A9B4 80029DB4 AE070050 */ sw $a3, 0x50($s0) +/* 02A9B8 80029DB8 AE000048 */ sw $zero, 0x48($s0) +/* 02A9BC 80029DBC 24080050 */ li $t0, 80 +/* 02A9C0 80029DC0 E604004C */ swc1 $f4, 0x4c($s0) +/* 02A9C4 80029DC4 E6060044 */ swc1 $f6, 0x44($s0) +/* 02A9C8 80029DC8 AFA80010 */ sw $t0, 0x10($sp) +/* 02A9CC 80029DCC 8FA60030 */ lw $a2, 0x30($sp) +/* 02A9D0 80029DD0 00002025 */ move $a0, $zero +/* 02A9D4 80029DD4 0C0078F5 */ jal func_8001E3D4 +/* 02A9D8 80029DD8 00002825 */ move $a1, $zero +/* 02A9DC 80029DDC 24030001 */ li $v1, 1 +/* 02A9E0 80029DE0 AE020054 */ sw $v0, 0x54($s0) +/* 02A9E4 80029DE4 AE030078 */ sw $v1, 0x78($s0) +/* 02A9E8 80029DE8 AE000084 */ sw $zero, 0x84($s0) +/* 02A9EC 80029DEC A603005A */ sh $v1, 0x5a($s0) +/* 02A9F0 80029DF0 A6030068 */ sh $v1, 0x68($s0) +/* 02A9F4 80029DF4 A603006E */ sh $v1, 0x6e($s0) +/* 02A9F8 80029DF8 A603005C */ sh $v1, 0x5c($s0) +/* 02A9FC 80029DFC A603005E */ sh $v1, 0x5e($s0) +/* 02AA00 80029E00 A6000060 */ sh $zero, 0x60($s0) +/* 02AA04 80029E04 A6000062 */ sh $zero, 0x62($s0) +/* 02AA08 80029E08 A6030066 */ sh $v1, 0x66($s0) +/* 02AA0C 80029E0C A6000064 */ sh $zero, 0x64($s0) +/* 02AA10 80029E10 AE000070 */ sw $zero, 0x70($s0) +/* 02AA14 80029E14 AE000074 */ sw $zero, 0x74($s0) +/* 02AA18 80029E18 A6000058 */ sh $zero, 0x58($s0) +/* 02AA1C 80029E1C AE00007C */ sw $zero, 0x7c($s0) +/* 02AA20 80029E20 AE000080 */ sw $zero, 0x80($s0) +/* 02AA24 80029E24 8FBF0024 */ lw $ra, 0x24($sp) +/* 02AA28 80029E28 8FB00020 */ lw $s0, 0x20($sp) +/* 02AA2C 80029E2C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 02AA30 80029E30 03E00008 */ jr $ra +/* 02AA34 80029E34 00000000 */ nop + +glabel func_80029E38 +/* 02AA38 80029E38 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 02AA3C 80029E3C AFB20024 */ sw $s2, 0x24($sp) +/* 02AA40 80029E40 3C128004 */ lui $s2, %hi(D_8003FB14) # $s2, 0x8004 +/* 02AA44 80029E44 2652FB14 */ addiu $s2, %lo(D_8003FB14) # addiu $s2, $s2, -0x4ec +/* 02AA48 80029E48 8E4E0000 */ lw $t6, ($s2) +/* 02AA4C 80029E4C AFBF0034 */ sw $ra, 0x34($sp) +/* 02AA50 80029E50 AFB50030 */ sw $s5, 0x30($sp) +/* 02AA54 80029E54 AFB4002C */ sw $s4, 0x2c($sp) +/* 02AA58 80029E58 AFB30028 */ sw $s3, 0x28($sp) +/* 02AA5C 80029E5C AFB10020 */ sw $s1, 0x20($sp) +/* 02AA60 80029E60 AFB0001C */ sw $s0, 0x1c($sp) +/* 02AA64 80029E64 8C950014 */ lw $s5, 0x14($a0) +/* 02AA68 80029E68 ADC00000 */ sw $zero, ($t6) +/* 02AA6C 80029E6C 8E4F0000 */ lw $t7, ($s2) +/* 02AA70 80029E70 240E00B8 */ li $t6, 184 +/* 02AA74 80029E74 0080A025 */ move $s4, $a0 +/* 02AA78 80029E78 ADE00004 */ sw $zero, 4($t7) +/* 02AA7C 80029E7C 8E580000 */ lw $t8, ($s2) +/* 02AA80 80029E80 00002825 */ move $a1, $zero +/* 02AA84 80029E84 24070001 */ li $a3, 1 +/* 02AA88 80029E88 AF000008 */ sw $zero, 8($t8) +/* 02AA8C 80029E8C 8E590000 */ lw $t9, ($s2) +/* 02AA90 80029E90 02A03025 */ move $a2, $s5 +/* 02AA94 80029E94 AF20000C */ sw $zero, 0xc($t9) +/* 02AA98 80029E98 8E490000 */ lw $t1, ($s2) +/* 02AA9C 80029E9C 8C880004 */ lw $t0, 4($a0) +/* 02AAA0 80029EA0 AD280044 */ sw $t0, 0x44($t1) +/* 02AAA4 80029EA4 8E4A0000 */ lw $t2, ($s2) +/* 02AAA8 80029EA8 24090001 */ li $t1, 1 +/* 02AAAC 80029EAC AD40002C */ sw $zero, 0x2c($t2) +/* 02AAB0 80029EB0 8E4B0000 */ lw $t3, ($s2) +/* 02AAB4 80029EB4 AD600028 */ sw $zero, 0x28($t3) +/* 02AAB8 80029EB8 8E4D0000 */ lw $t5, ($s2) +/* 02AABC 80029EBC 8C8C0018 */ lw $t4, 0x18($a0) +/* 02AAC0 80029EC0 240B0044 */ li $t3, 68 +/* 02AAC4 80029EC4 ADAC004C */ sw $t4, 0x4c($t5) +/* 02AAC8 80029EC8 8E4F0000 */ lw $t7, ($s2) +/* 02AACC 80029ECC ADEE0050 */ sw $t6, 0x50($t7) +/* 02AAD0 80029ED0 8E590000 */ lw $t9, ($s2) +/* 02AAD4 80029ED4 8C980010 */ lw $t8, 0x10($a0) +/* 02AAD8 80029ED8 00002025 */ move $a0, $zero +/* 02AADC 80029EDC AF380030 */ sw $t8, 0x30($t9) +/* 02AAE0 80029EE0 8E480000 */ lw $t0, ($s2) +/* 02AAE4 80029EE4 AD000054 */ sw $zero, 0x54($t0) +/* 02AAE8 80029EE8 8E4A0000 */ lw $t2, ($s2) +/* 02AAEC 80029EEC AD490058 */ sw $t1, 0x58($t2) +/* 02AAF0 80029EF0 0C0078F5 */ jal func_8001E3D4 +/* 02AAF4 80029EF4 AFAB0010 */ sw $t3, 0x10($sp) +/* 02AAF8 80029EF8 8E4C0000 */ lw $t4, ($s2) +/* 02AAFC 80029EFC 24080004 */ li $t0, 4 +/* 02AB00 80029F00 00002025 */ move $a0, $zero +/* 02AB04 80029F04 AD820040 */ sw $v0, 0x40($t4) +/* 02AB08 80029F08 8E4D0000 */ lw $t5, ($s2) +/* 02AB0C 80029F0C 00002825 */ move $a1, $zero +/* 02AB10 80029F10 02A03025 */ move $a2, $s5 +/* 02AB14 80029F14 8DAE0040 */ lw $t6, 0x40($t5) +/* 02AB18 80029F18 ADC00014 */ sw $zero, 0x14($t6) +/* 02AB1C 80029F1C 8E580000 */ lw $t8, ($s2) +/* 02AB20 80029F20 8E8F0004 */ lw $t7, 4($s4) +/* 02AB24 80029F24 8F190040 */ lw $t9, 0x40($t8) +/* 02AB28 80029F28 AF2F0018 */ sw $t7, 0x18($t9) +/* 02AB2C 80029F2C 8E870004 */ lw $a3, 4($s4) +/* 02AB30 80029F30 0C0078F5 */ jal func_8001E3D4 +/* 02AB34 80029F34 AFA80010 */ sw $t0, 0x10($sp) +/* 02AB38 80029F38 8E490000 */ lw $t1, ($s2) +/* 02AB3C 80029F3C 240B0014 */ li $t3, 20 +/* 02AB40 80029F40 00002025 */ move $a0, $zero +/* 02AB44 80029F44 8D2A0040 */ lw $t2, 0x40($t1) +/* 02AB48 80029F48 00002825 */ move $a1, $zero +/* 02AB4C 80029F4C 02A03025 */ move $a2, $s5 +/* 02AB50 80029F50 AD42001C */ sw $v0, 0x1c($t2) +/* 02AB54 80029F54 AFAB0010 */ sw $t3, 0x10($sp) +/* 02AB58 80029F58 0C0078F5 */ jal func_8001E3D4 +/* 02AB5C 80029F5C 24070001 */ li $a3, 1 +/* 02AB60 80029F60 8E4C0000 */ lw $t4, ($s2) +/* 02AB64 80029F64 00002025 */ move $a0, $zero +/* 02AB68 80029F68 02802825 */ move $a1, $s4 +/* 02AB6C 80029F6C AD82003C */ sw $v0, 0x3c($t4) +/* 02AB70 80029F70 928D001C */ lbu $t5, 0x1c($s4) +/* 02AB74 80029F74 51A0000D */ beql $t5, $zero, .L80029FAC_ovl0 +/* 02AB78 80029F78 8E4A0000 */ lw $t2, ($s2) +/* 02AB7C 80029F7C 0C00B448 */ jal func_8002D120 +/* 02AB80 80029F80 02A03025 */ move $a2, $s5 +/* 02AB84 80029F84 8E4E0000 */ lw $t6, ($s2) +/* 02AB88 80029F88 3C0F8003 */ lui $t7, %hi(D_80028318) # $t7, 0x8003 +/* 02AB8C 80029F8C 25EF8318 */ addiu $t7, %lo(D_80028318) # addiu $t7, $t7, -0x7ce8 +/* 02AB90 80029F90 8DD80040 */ lw $t8, 0x40($t6) +/* 02AB94 80029F94 AF020020 */ sw $v0, 0x20($t8) +/* 02AB98 80029F98 8E590000 */ lw $t9, ($s2) +/* 02AB9C 80029F9C 8F28003C */ lw $t0, 0x3c($t9) +/* 02ABA0 80029FA0 10000006 */ b .L80029FBC_ovl0 +/* 02ABA4 80029FA4 AD0F0004 */ sw $t7, 4($t0) +/* 02ABA8 80029FA8 8E4A0000 */ lw $t2, ($s2) +.L80029FAC_ovl0: +/* 02ABAC 80029FAC 3C098002 */ lui $t1, %hi(func_80027CB4) # $t1, 0x8002 +/* 02ABB0 80029FB0 25297CB4 */ addiu $t1, %lo(func_80027CB4) # addiu $t1, $t1, 0x7cb4 +/* 02ABB4 80029FB4 8D4B003C */ lw $t3, 0x3c($t2) +/* 02ABB8 80029FB8 AD690004 */ sw $t1, 4($t3) +.L80029FBC_ovl0: +/* 02ABBC 80029FBC 8E4C0000 */ lw $t4, ($s2) +/* 02ABC0 80029FC0 2408008C */ li $t0, 140 +/* 02ABC4 80029FC4 00002025 */ move $a0, $zero +/* 02ABC8 80029FC8 AD800010 */ sw $zero, 0x10($t4) +/* 02ABCC 80029FCC 8E4D0000 */ lw $t5, ($s2) +/* 02ABD0 80029FD0 00002825 */ move $a1, $zero +/* 02ABD4 80029FD4 02A03025 */ move $a2, $s5 +/* 02ABD8 80029FD8 ADA00014 */ sw $zero, 0x14($t5) +/* 02ABDC 80029FDC 8E4E0000 */ lw $t6, ($s2) +/* 02ABE0 80029FE0 ADC00020 */ sw $zero, 0x20($t6) +/* 02ABE4 80029FE4 8E580000 */ lw $t8, ($s2) +/* 02ABE8 80029FE8 AF000024 */ sw $zero, 0x24($t8) +/* 02ABEC 80029FEC 8E590000 */ lw $t9, ($s2) +/* 02ABF0 80029FF0 AF200018 */ sw $zero, 0x18($t9) +/* 02ABF4 80029FF4 8E4F0000 */ lw $t7, ($s2) +/* 02ABF8 80029FF8 ADE0001C */ sw $zero, 0x1c($t7) +/* 02ABFC 80029FFC 8E870004 */ lw $a3, 4($s4) +/* 02AC00 8002A000 0C0078F5 */ jal func_8001E3D4 +/* 02AC04 8002A004 AFA80010 */ sw $t0, 0x10($sp) +/* 02AC08 8002A008 8E8A0004 */ lw $t2, 4($s4) +/* 02AC0C 8002A00C 00008825 */ move $s1, $zero +/* 02AC10 8002A010 00408025 */ move $s0, $v0 +/* 02AC14 8002A014 59400026 */ blezl $t2, .L8002A0B0_ovl0 +/* 02AC18 8002A018 8E870008 */ lw $a3, 8($s4) +/* 02AC1C 8002A01C 8E420000 */ lw $v0, ($s2) +.L8002A020_ovl0: +/* 02AC20 8002A020 02009825 */ move $s3, $s0 +/* 02AC24 8002A024 02002025 */ move $a0, $s0 +/* 02AC28 8002A028 8C490010 */ lw $t1, 0x10($v0) +/* 02AC2C 8002A02C 24420010 */ addiu $v0, $v0, 0x10 +/* 02AC30 8002A030 AE020004 */ sw $v0, 4($s0) +/* 02AC34 8002A034 AE090000 */ sw $t1, ($s0) +/* 02AC38 8002A038 8C430000 */ lw $v1, ($v0) +/* 02AC3C 8002A03C 50600003 */ beql $v1, $zero, .L8002A04C_ovl0 +/* 02AC40 8002A040 AC500000 */ sw $s0, ($v0) +/* 02AC44 8002A044 AC700004 */ sw $s0, 4($v1) +/* 02AC48 8002A048 AC500000 */ sw $s0, ($v0) +.L8002A04C_ovl0: +/* 02AC4C 8002A04C AE000008 */ sw $zero, 8($s0) +/* 02AC50 8002A050 8E4B0000 */ lw $t3, ($s2) +/* 02AC54 8002A054 02A03025 */ move $a2, $s5 +/* 02AC58 8002A058 0C00A744 */ jal func_80029D10 +/* 02AC5C 8002A05C 8D650030 */ lw $a1, 0x30($t3) +/* 02AC60 8002A060 8E4C0000 */ lw $t4, ($s2) +/* 02AC64 8002A064 26310001 */ addiu $s1, $s1, 1 +/* 02AC68 8002A068 2610008C */ addiu $s0, $s0, 0x8c +/* 02AC6C 8002A06C 8D820040 */ lw $v0, 0x40($t4) +/* 02AC70 8002A070 8C4E0014 */ lw $t6, 0x14($v0) +/* 02AC74 8002A074 8C4D001C */ lw $t5, 0x1c($v0) +/* 02AC78 8002A078 000EC080 */ sll $t8, $t6, 2 +/* 02AC7C 8002A07C 01B8C821 */ addu $t9, $t5, $t8 +/* 02AC80 8002A080 AF330000 */ sw $s3, ($t9) +/* 02AC84 8002A084 8E4F0000 */ lw $t7, ($s2) +/* 02AC88 8002A088 8DE20040 */ lw $v0, 0x40($t7) +/* 02AC8C 8002A08C 8C480014 */ lw $t0, 0x14($v0) +/* 02AC90 8002A090 250A0001 */ addiu $t2, $t0, 1 +/* 02AC94 8002A094 AC4A0014 */ sw $t2, 0x14($v0) +/* 02AC98 8002A098 8E890004 */ lw $t1, 4($s4) +/* 02AC9C 8002A09C 0229082A */ slt $at, $s1, $t1 +/* 02ACA0 8002A0A0 5420FFDF */ bnezl $at, .L8002A020_ovl0 +/* 02ACA4 8002A0A4 8E420000 */ lw $v0, ($s2) +/* 02ACA8 8002A0A8 00008825 */ move $s1, $zero +/* 02ACAC 8002A0AC 8E870008 */ lw $a3, 8($s4) +.L8002A0B0_ovl0: +/* 02ACB0 8002A0B0 240B0020 */ li $t3, 32 +/* 02ACB4 8002A0B4 AFAB0010 */ sw $t3, 0x10($sp) +/* 02ACB8 8002A0B8 00002025 */ move $a0, $zero +/* 02ACBC 8002A0BC 00002825 */ move $a1, $zero +/* 02ACC0 8002A0C0 0C0078F5 */ jal func_8001E3D4 +/* 02ACC4 8002A0C4 02A03025 */ move $a2, $s5 +/* 02ACC8 8002A0C8 8E4C0000 */ lw $t4, ($s2) +/* 02ACCC 8002A0CC 00401825 */ move $v1, $v0 +/* 02ACD0 8002A0D0 AD800038 */ sw $zero, 0x38($t4) +/* 02ACD4 8002A0D4 8E8E0008 */ lw $t6, 8($s4) +/* 02ACD8 8002A0D8 59C0000D */ blezl $t6, .L8002A110_ovl0 +/* 02ACDC 8002A0DC 8E480000 */ lw $t0, ($s2) +/* 02ACE0 8002A0E0 8E4D0000 */ lw $t5, ($s2) +.L8002A0E4_ovl0: +/* 02ACE4 8002A0E4 26310001 */ addiu $s1, $s1, 1 +/* 02ACE8 8002A0E8 8DB80038 */ lw $t8, 0x38($t5) +/* 02ACEC 8002A0EC AC780000 */ sw $t8, ($v1) +/* 02ACF0 8002A0F0 8E590000 */ lw $t9, ($s2) +/* 02ACF4 8002A0F4 AF230038 */ sw $v1, 0x38($t9) +/* 02ACF8 8002A0F8 8E8F0008 */ lw $t7, 8($s4) +/* 02ACFC 8002A0FC 24630020 */ addiu $v1, $v1, 0x20 +/* 02AD00 8002A100 022F082A */ slt $at, $s1, $t7 +/* 02AD04 8002A104 5420FFF7 */ bnezl $at, .L8002A0E4_ovl0 +/* 02AD08 8002A108 8E4D0000 */ lw $t5, ($s2) +/* 02AD0C 8002A10C 8E480000 */ lw $t0, ($s2) +.L8002A110_ovl0: +/* 02AD10 8002A110 AD150034 */ sw $s5, 0x34($t0) +/* 02AD14 8002A114 8FBF0034 */ lw $ra, 0x34($sp) +/* 02AD18 8002A118 8FB50030 */ lw $s5, 0x30($sp) +/* 02AD1C 8002A11C 8FB4002C */ lw $s4, 0x2c($sp) +/* 02AD20 8002A120 8FB30028 */ lw $s3, 0x28($sp) +/* 02AD24 8002A124 8FB20024 */ lw $s2, 0x24($sp) +/* 02AD28 8002A128 8FB10020 */ lw $s1, 0x20($sp) +/* 02AD2C 8002A12C 8FB0001C */ lw $s0, 0x1c($sp) +/* 02AD30 8002A130 03E00008 */ jr $ra +/* 02AD34 8002A134 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8002A138 +/* 02AD38 8002A138 3C0E8004 */ lui $t6, %hi(D_8003FB10) # $t6, 0x8004 +/* 02AD3C 8002A13C 8DCEFB10 */ lw $t6, %lo(D_8003FB10)($t6) +/* 02AD40 8002A140 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02AD44 8002A144 AFBF0014 */ sw $ra, 0x14($sp) +/* 02AD48 8002A148 11C00007 */ beqz $t6, .L8002A168_ovl0 +/* 02AD4C 8002A14C AFA40018 */ sw $a0, 0x18($sp) +/* 02AD50 8002A150 0C00B41C */ jal func_8002D070 +/* 02AD54 8002A154 00000000 */ nop +/* 02AD58 8002A158 3C018004 */ lui $at, %hi(D_8003FB10) # $at, 0x8004 +/* 02AD5C 8002A15C AC20FB10 */ sw $zero, %lo(D_8003FB10)($at) +/* 02AD60 8002A160 3C018004 */ lui $at, %hi(D_8003FB14) # $at, 0x8004 +/* 02AD64 8002A164 AC20FB14 */ sw $zero, %lo(D_8003FB14)($at) +.L8002A168_ovl0: +/* 02AD68 8002A168 8FBF0014 */ lw $ra, 0x14($sp) +/* 02AD6C 8002A16C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02AD70 8002A170 03E00008 */ jr $ra +/* 02AD74 8002A174 00000000 */ nop + +glabel func_8002A178 +/* 02AD78 8002A178 3C028004 */ lui $v0, %hi(D_8003FB10) # $v0, 0x8004 +/* 02AD7C 8002A17C 2442FB10 */ addiu $v0, %lo(D_8003FB10) # addiu $v0, $v0, -0x4f0 +/* 02AD80 8002A180 8C4E0000 */ lw $t6, ($v0) +/* 02AD84 8002A184 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02AD88 8002A188 AFBF0014 */ sw $ra, 0x14($sp) +/* 02AD8C 8002A18C 15C00009 */ bnez $t6, .L8002A1B4_ovl0 +/* 02AD90 8002A190 3C038004 */ lui $v1, %hi(D_8003FB14) # $v1, 0x8004 +/* 02AD94 8002A194 2463FB14 */ addiu $v1, %lo(D_8003FB14) # addiu $v1, $v1, -0x4ec +/* 02AD98 8002A198 8C6F0000 */ lw $t7, ($v1) +/* 02AD9C 8002A19C AC440000 */ sw $a0, ($v0) +/* 02ADA0 8002A1A0 55E00005 */ bnezl $t7, .L8002A1B8_ovl0 +/* 02ADA4 8002A1A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 02ADA8 8002A1A8 AC640000 */ sw $a0, ($v1) +/* 02ADAC 8002A1AC 0C00A78E */ jal func_80029E38 +/* 02ADB0 8002A1B0 00A02025 */ move $a0, $a1 +.L8002A1B4_ovl0: +/* 02ADB4 8002A1B4 8FBF0014 */ lw $ra, 0x14($sp) +.L8002A1B8_ovl0: +/* 02ADB8 8002A1B8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02ADBC 8002A1BC 03E00008 */ jr $ra +/* 02ADC0 8002A1C0 00000000 */ nop + +glabel func_8002A1C4 +/* 02ADC4 8002A1C4 848E0000 */ lh $t6, ($a0) +/* 02ADC8 8002A1C8 3C014680 */ li $at, 0x46800000 # 16384.000000 +/* 02ADCC 8002A1CC 44810000 */ mtc1 $at, $f0 +/* 02ADD0 8002A1D0 448E2000 */ mtc1 $t6, $f4 +/* 02ADD4 8002A1D4 24080001 */ li $t0, 1 +/* 02ADD8 8002A1D8 AC88002C */ sw $t0, 0x2c($a0) +/* 02ADDC 8002A1DC 468021A0 */ cvt.s.w $f6, $f4 +/* 02ADE0 8002A1E0 00002825 */ move $a1, $zero +/* 02ADE4 8002A1E4 00803025 */ move $a2, $a0 +/* 02ADE8 8002A1E8 46003202 */ mul.s $f8, $f6, $f0 +/* 02ADEC 8002A1EC 4600428D */ trunc.w.s $f10, $f8 +/* 02ADF0 8002A1F0 44025000 */ mfc1 $v0, $f10 +/* 02ADF4 8002A1F4 00000000 */ nop +/* 02ADF8 8002A1F8 00021BC3 */ sra $v1, $v0, 0xf +/* 02ADFC 8002A1FC 00031C00 */ sll $v1, $v1, 0x10 +/* 02AE00 8002A200 00031C03 */ sra $v1, $v1, 0x10 +/* 02AE04 8002A204 44838000 */ mtc1 $v1, $f16 +/* 02AE08 8002A208 44834000 */ mtc1 $v1, $f8 +/* 02AE0C 8002A20C 468084A0 */ cvt.s.w $f18, $f16 +/* 02AE10 8002A210 46120101 */ sub.s $f4, $f0, $f18 +/* 02AE14 8002A214 4600218D */ trunc.w.s $f6, $f4 +/* 02AE18 8002A218 44193000 */ mfc1 $t9, $f6 +/* 02AE1C 8002A21C 00000000 */ nop +/* 02AE20 8002A220 A4990002 */ sh $t9, 2($a0) +.L8002A224_ovl0: +/* 02AE24 8002A224 24A50001 */ addiu $a1, $a1, 1 +/* 02AE28 8002A228 28A10008 */ slti $at, $a1, 8 +/* 02AE2C 8002A22C 24C60002 */ addiu $a2, $a2, 2 +/* 02AE30 8002A230 1420FFFC */ bnez $at, .L8002A224_ovl0 +/* 02AE34 8002A234 A4C00006 */ sh $zero, 6($a2) +/* 02AE38 8002A238 468042A1 */ cvt.d.w $f10, $f8 +/* 02AE3C 8002A23C 3C0140D0 */ li $at, 0x40D00000 # 6.500000 +/* 02AE40 8002A240 44816800 */ mtc1 $at, $f13 +/* 02AE44 8002A244 44806000 */ mtc1 $zero, $f12 +/* 02AE48 8002A248 24A50001 */ addiu $a1, $a1, 1 +/* 02AE4C 8002A24C 28A10010 */ slti $at, $a1, 0x10 +/* 02AE50 8002A250 462C5083 */ div.d $f2, $f10, $f12 +/* 02AE54 8002A254 A4C30008 */ sh $v1, 8($a2) +/* 02AE58 8002A258 24C60002 */ addiu $a2, $a2, 2 +/* 02AE5C 8002A25C 1020000A */ beqz $at, .L8002A288_ovl0 +/* 02AE60 8002A260 46201006 */ mov.d $f0, $f2 +.L8002A264_ovl0: +/* 02AE64 8002A264 46220002 */ mul.d $f0, $f0, $f2 +/* 02AE68 8002A268 24A50001 */ addiu $a1, $a1, 1 +/* 02AE6C 8002A26C 28A10010 */ slti $at, $a1, 0x10 +/* 02AE70 8002A270 24C60002 */ addiu $a2, $a2, 2 +/* 02AE74 8002A274 462C0402 */ mul.d $f16, $f0, $f12 +/* 02AE78 8002A278 4620848D */ trunc.w.d $f18, $f16 +/* 02AE7C 8002A27C 440A9000 */ mfc1 $t2, $f18 +/* 02AE80 8002A280 1420FFF8 */ bnez $at, .L8002A264_ovl0 +/* 02AE84 8002A284 A4CA0006 */ sh $t2, 6($a2) +.L8002A288_ovl0: +/* 02AE88 8002A288 03E00008 */ jr $ra +/* 02AE8C 8002A28C 00000000 */ nop + +glabel func_8002A290 +/* 02AE90 8002A290 24A3FFFE */ addiu $v1, $a1, -2 +/* 02AE94 8002A294 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02AE98 8002A298 306E0007 */ andi $t6, $v1, 7 +/* 02AE9C 8002A29C AFBF0014 */ sw $ra, 0x14($sp) +/* 02AEA0 8002A2A0 2DC10008 */ sltiu $at, $t6, 8 +/* 02AEA4 8002A2A4 00803825 */ move $a3, $a0 +/* 02AEA8 8002A2A8 10200089 */ beqz $at, .L8002A4D0_ovl0 +/* 02AEAC 8002A2AC 8CC80000 */ lw $t0, ($a2) +/* 02AEB0 8002A2B0 000E7080 */ sll $t6, $t6, 2 +/* 02AEB4 8002A2B4 3C018004 */ lui $at, %hi(D_800417A8) +/* 02AEB8 8002A2B8 002E0821 */ addu $at, $at, $t6 +/* 02AEBC 8002A2BC 8C2E17A8 */ lw $t6, %lo(D_800417A8)($at) +/* 02AEC0 8002A2C0 01C00008 */ jr $t6 +/* 02AEC4 8002A2C4 00000000 */ nop +/* 02AEC8 8002A2C8 2401FFF8 */ li $at, -8 +/* 02AECC 8002A2CC 01017824 */ and $t7, $t0, $at +/* 02AED0 8002A2D0 8CF80020 */ lw $t8, 0x20($a3) +/* 02AED4 8002A2D4 04610003 */ bgez $v1, .L8002A2E4_ovl0 +/* 02AED8 8002A2D8 0003C8C3 */ sra $t9, $v1, 3 +/* 02AEDC 8002A2DC 24610007 */ addiu $at, $v1, 7 +/* 02AEE0 8002A2E0 0001C8C3 */ sra $t9, $at, 3 +.L8002A2E4_ovl0: +/* 02AEE4 8002A2E4 00194880 */ sll $t1, $t9, 2 +/* 02AEE8 8002A2E8 01394821 */ addu $t1, $t1, $t9 +/* 02AEEC 8002A2EC 000948C0 */ sll $t1, $t1, 3 +/* 02AEF0 8002A2F0 03095021 */ addu $t2, $t8, $t1 +/* 02AEF4 8002A2F4 10000076 */ b .L8002A4D0_ovl0 +/* 02AEF8 8002A2F8 AD4F0000 */ sw $t7, ($t2) +/* 02AEFC 8002A2FC 2401FFF8 */ li $at, -8 +/* 02AF00 8002A300 01015824 */ and $t3, $t0, $at +/* 02AF04 8002A304 8CEC0020 */ lw $t4, 0x20($a3) +/* 02AF08 8002A308 04610003 */ bgez $v1, .L8002A318_ovl0 +/* 02AF0C 8002A30C 000368C3 */ sra $t5, $v1, 3 +/* 02AF10 8002A310 24610007 */ addiu $at, $v1, 7 +/* 02AF14 8002A314 000168C3 */ sra $t5, $at, 3 +.L8002A318_ovl0: +/* 02AF18 8002A318 000D7080 */ sll $t6, $t5, 2 +/* 02AF1C 8002A31C 01CD7021 */ addu $t6, $t6, $t5 +/* 02AF20 8002A320 000E70C0 */ sll $t6, $t6, 3 +/* 02AF24 8002A324 018EC821 */ addu $t9, $t4, $t6 +/* 02AF28 8002A328 10000069 */ b .L8002A4D0_ovl0 +/* 02AF2C 8002A32C AF2B0004 */ sw $t3, 4($t9) +/* 02AF30 8002A330 8CF80020 */ lw $t8, 0x20($a3) +/* 02AF34 8002A334 04610003 */ bgez $v1, .L8002A344_ovl0 +/* 02AF38 8002A338 000348C3 */ sra $t1, $v1, 3 +/* 02AF3C 8002A33C 24610007 */ addiu $at, $v1, 7 +/* 02AF40 8002A340 000148C3 */ sra $t1, $at, 3 +.L8002A344_ovl0: +/* 02AF44 8002A344 00097880 */ sll $t7, $t1, 2 +/* 02AF48 8002A348 01E97821 */ addu $t7, $t7, $t1 +/* 02AF4C 8002A34C 000F78C0 */ sll $t7, $t7, 3 +/* 02AF50 8002A350 030F5021 */ addu $t2, $t8, $t7 +/* 02AF54 8002A354 1000005E */ b .L8002A4D0_ovl0 +/* 02AF58 8002A358 A5480008 */ sh $t0, 8($t2) +/* 02AF5C 8002A35C 8CED0020 */ lw $t5, 0x20($a3) +/* 02AF60 8002A360 04610003 */ bgez $v1, .L8002A370_ovl0 +/* 02AF64 8002A364 000360C3 */ sra $t4, $v1, 3 +/* 02AF68 8002A368 24610007 */ addiu $at, $v1, 7 +/* 02AF6C 8002A36C 000160C3 */ sra $t4, $at, 3 +.L8002A370_ovl0: +/* 02AF70 8002A370 000C7080 */ sll $t6, $t4, 2 +/* 02AF74 8002A374 01CC7021 */ addu $t6, $t6, $t4 +/* 02AF78 8002A378 000E70C0 */ sll $t6, $t6, 3 +/* 02AF7C 8002A37C 01AE5821 */ addu $t3, $t5, $t6 +/* 02AF80 8002A380 10000053 */ b .L8002A4D0_ovl0 +/* 02AF84 8002A384 A568000A */ sh $t0, 0xa($t3) +/* 02AF88 8002A388 8CF90020 */ lw $t9, 0x20($a3) +/* 02AF8C 8002A38C 04610003 */ bgez $v1, .L8002A39C_ovl0 +/* 02AF90 8002A390 000348C3 */ sra $t1, $v1, 3 +/* 02AF94 8002A394 24610007 */ addiu $at, $v1, 7 +/* 02AF98 8002A398 000148C3 */ sra $t1, $at, 3 +.L8002A39C_ovl0: +/* 02AF9C 8002A39C 0009C080 */ sll $t8, $t1, 2 +/* 02AFA0 8002A3A0 0309C021 */ addu $t8, $t8, $t1 +/* 02AFA4 8002A3A4 0018C0C0 */ sll $t8, $t8, 3 +/* 02AFA8 8002A3A8 03387821 */ addu $t7, $t9, $t8 +/* 02AFAC 8002A3AC 10000048 */ b .L8002A4D0_ovl0 +/* 02AFB0 8002A3B0 A5E8000C */ sh $t0, 0xc($t7) +/* 02AFB4 8002A3B4 44882000 */ mtc1 $t0, $f4 +/* 02AFB8 8002A3B8 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 02AFBC 8002A3BC 44814000 */ mtc1 $at, $f8 +/* 02AFC0 8002A3C0 468021A0 */ cvt.s.w $f6, $f4 +/* 02AFC4 8002A3C4 3C0A8004 */ lui $t2, %hi(D_8003FB14) # $t2, 0x8004 +/* 02AFC8 8002A3C8 8D4AFB14 */ lw $t2, %lo(D_8003FB14)($t2) +/* 02AFCC 8002A3CC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 02AFD0 8002A3D0 44818000 */ mtc1 $at, $f16 +/* 02AFD4 8002A3D4 8D4C004C */ lw $t4, 0x4c($t2) +/* 02AFD8 8002A3D8 46083283 */ div.s $f10, $f6, $f8 +/* 02AFDC 8002A3DC 8CED0020 */ lw $t5, 0x20($a3) +/* 02AFE0 8002A3E0 448C2000 */ mtc1 $t4, $f4 +/* 02AFE4 8002A3E4 00000000 */ nop +/* 02AFE8 8002A3E8 468021A0 */ cvt.s.w $f6, $f4 +/* 02AFEC 8002A3EC 46105482 */ mul.s $f18, $f10, $f16 +/* 02AFF0 8002A3F0 46069203 */ div.s $f8, $f18, $f6 +/* 02AFF4 8002A3F4 04610003 */ bgez $v1, .L8002A404_ovl0 +/* 02AFF8 8002A3F8 000370C3 */ sra $t6, $v1, 3 +/* 02AFFC 8002A3FC 24610007 */ addiu $at, $v1, 7 +/* 02B000 8002A400 000170C3 */ sra $t6, $at, 3 +.L8002A404_ovl0: +/* 02B004 8002A404 000E5880 */ sll $t3, $t6, 2 +/* 02B008 8002A408 016E5821 */ addu $t3, $t3, $t6 +/* 02B00C 8002A40C 000B58C0 */ sll $t3, $t3, 3 +/* 02B010 8002A410 01AB4821 */ addu $t1, $t5, $t3 +/* 02B014 8002A414 1000002E */ b .L8002A4D0_ovl0 +/* 02B018 8002A418 E5280010 */ swc1 $f8, 0x10($t1) +/* 02B01C 8002A41C 8CF90020 */ lw $t9, 0x20($a3) +/* 02B020 8002A420 04610003 */ bgez $v1, .L8002A430_ovl0 +/* 02B024 8002A424 0003C0C3 */ sra $t8, $v1, 3 +/* 02B028 8002A428 24610007 */ addiu $at, $v1, 7 +/* 02B02C 8002A42C 0001C0C3 */ sra $t8, $at, 3 +.L8002A430_ovl0: +/* 02B030 8002A430 00187880 */ sll $t7, $t8, 2 +/* 02B034 8002A434 01F87821 */ addu $t7, $t7, $t8 +/* 02B038 8002A438 000F78C0 */ sll $t7, $t7, 3 +/* 02B03C 8002A43C 032F1021 */ addu $v0, $t9, $t7 +/* 02B040 8002A440 8C4A0004 */ lw $t2, 4($v0) +/* 02B044 8002A444 8C4C0000 */ lw $t4, ($v0) +/* 02B048 8002A448 44889000 */ mtc1 $t0, $f18 +/* 02B04C 8002A44C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 02B050 8002A450 014C7023 */ subu $t6, $t2, $t4 +/* 02B054 8002A454 448E5000 */ mtc1 $t6, $f10 +/* 02B058 8002A458 05C10004 */ bgez $t6, .L8002A46C_ovl0 +/* 02B05C 8002A45C 46805420 */ cvt.s.w $f16, $f10 +/* 02B060 8002A460 44812000 */ mtc1 $at, $f4 +/* 02B064 8002A464 00000000 */ nop +/* 02B068 8002A468 46048400 */ add.s $f16, $f16, $f4 +.L8002A46C_ovl0: +/* 02B06C 8002A46C 468091A0 */ cvt.s.w $f6, $f18 +/* 02B070 8002A470 3C018004 */ lui $at, %hi(D_800417C8) # $at, 0x8004 +/* 02B074 8002A474 C42817C8 */ lwc1 $f8, %lo(D_800417C8)($at) +/* 02B078 8002A478 46083283 */ div.s $f10, $f6, $f8 +/* 02B07C 8002A47C 460A8102 */ mul.s $f4, $f16, $f10 +/* 02B080 8002A480 10000013 */ b .L8002A4D0_ovl0 +/* 02B084 8002A484 E444001C */ swc1 $f4, 0x1c($v0) +/* 02B088 8002A488 04610003 */ bgez $v1, .L8002A498_ovl0 +/* 02B08C 8002A48C 000310C3 */ sra $v0, $v1, 3 +/* 02B090 8002A490 24610007 */ addiu $at, $v1, 7 +/* 02B094 8002A494 000110C3 */ sra $v0, $at, 3 +.L8002A498_ovl0: +/* 02B098 8002A498 00400821 */ addu $at, $v0, $zero +/* 02B09C 8002A49C 8CED0020 */ lw $t5, 0x20($a3) +/* 02B0A0 8002A4A0 00021080 */ sll $v0, $v0, 2 +/* 02B0A4 8002A4A4 00411021 */ addu $v0, $v0, $at +/* 02B0A8 8002A4A8 000210C0 */ sll $v0, $v0, 3 +/* 02B0AC 8002A4AC 01A25821 */ addu $t3, $t5, $v0 +/* 02B0B0 8002A4B0 8D650020 */ lw $a1, 0x20($t3) +/* 02B0B4 8002A4B4 50A00007 */ beql $a1, $zero, .L8002A4D4_ovl0 +/* 02B0B8 8002A4B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 02B0BC 8002A4BC A4A80000 */ sh $t0, ($a1) +/* 02B0C0 8002A4C0 8CE90020 */ lw $t1, 0x20($a3) +/* 02B0C4 8002A4C4 0122C021 */ addu $t8, $t1, $v0 +/* 02B0C8 8002A4C8 0C00A871 */ jal func_8002A1C4 +/* 02B0CC 8002A4CC 8F040020 */ lw $a0, 0x20($t8) +.L8002A4D0_ovl0: +/* 02B0D0 8002A4D0 8FBF0014 */ lw $ra, 0x14($sp) +.L8002A4D4_ovl0: +/* 02B0D4 8002A4D4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02B0D8 8002A4D8 00001025 */ move $v0, $zero +/* 02B0DC 8002A4DC 03E00008 */ jr $ra +/* 02B0E0 8002A4E0 00000000 */ nop + +glabel func_8002A4E4 +/* 02B0E4 8002A4E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02B0E8 8002A4E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 02B0EC 8002A4EC 0C009CD8 */ jal func_80027360 +/* 02B0F0 8002A4F0 00000000 */ nop +/* 02B0F4 8002A4F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 02B0F8 8002A4F8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02B0FC 8002A4FC 00001025 */ move $v0, $zero +/* 02B100 8002A500 03E00008 */ jr $ra +/* 02B104 8002A504 00000000 */ nop + +glabel func_8002A508 +/* 02B108 8002A508 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 02B10C 8002A50C AFB00040 */ sw $s0, 0x40($sp) +/* 02B110 8002A510 00808025 */ move $s0, $a0 +/* 02B114 8002A514 AFBF0064 */ sw $ra, 0x64($sp) +/* 02B118 8002A518 AFB60058 */ sw $s6, 0x58($sp) +/* 02B11C 8002A51C AFA5006C */ sw $a1, 0x6c($sp) +/* 02B120 8002A520 240E002C */ li $t6, 44 +/* 02B124 8002A524 00C0B025 */ move $s6, $a2 +/* 02B128 8002A528 AFBE0060 */ sw $fp, 0x60($sp) +/* 02B12C 8002A52C AFB7005C */ sw $s7, 0x5c($sp) +/* 02B130 8002A530 AFB50054 */ sw $s5, 0x54($sp) +/* 02B134 8002A534 AFB40050 */ sw $s4, 0x50($sp) +/* 02B138 8002A538 AFB3004C */ sw $s3, 0x4c($sp) +/* 02B13C 8002A53C AFB20048 */ sw $s2, 0x48($sp) +/* 02B140 8002A540 AFB10044 */ sw $s1, 0x44($sp) +/* 02B144 8002A544 F7BA0038 */ sdc1 $f26, 0x38($sp) +/* 02B148 8002A548 F7B80030 */ sdc1 $f24, 0x30($sp) +/* 02B14C 8002A54C F7B60028 */ sdc1 $f22, 0x28($sp) +/* 02B150 8002A550 F7B40020 */ sdc1 $f20, 0x20($sp) +/* 02B154 8002A554 AFAE0010 */ sw $t6, 0x10($sp) +/* 02B158 8002A558 00002825 */ move $a1, $zero +/* 02B15C 8002A55C 00002025 */ move $a0, $zero +/* 02B160 8002A560 0C0078F5 */ jal func_8001E3D4 +/* 02B164 8002A564 24070001 */ li $a3, 1 +/* 02B168 8002A568 8FA3006C */ lw $v1, 0x6c($sp) +/* 02B16C 8002A56C AE020000 */ sw $v0, ($s0) +/* 02B170 8002A570 3C138004 */ lui $s3, %hi(D_8003F9E8) # $s3, 0x8004 +/* 02B174 8002A574 906F001C */ lbu $t7, 0x1c($v1) +/* 02B178 8002A578 0040A825 */ move $s5, $v0 +/* 02B17C 8002A57C 2673F9E8 */ addiu $s3, %lo(D_8003F9E8) # addiu $s3, $s3, -0x618 +/* 02B180 8002A580 25F8FFFF */ addiu $t8, $t7, -1 +/* 02B184 8002A584 2F010006 */ sltiu $at, $t8, 6 +/* 02B188 8002A588 10200017 */ beqz $at, .L8002A5E8_ovl0 +/* 02B18C 8002A58C 0018C080 */ sll $t8, $t8, 2 +/* 02B190 8002A590 3C018004 */ lui $at, %hi(D_800417CC) +/* 02B194 8002A594 00380821 */ addu $at, $at, $t8 +/* 02B198 8002A598 8C3817CC */ lw $t8, %lo(D_800417CC)($at) +/* 02B19C 8002A59C 03000008 */ jr $t8 +/* 02B1A0 8002A5A0 00000000 */ nop +/* 02B1A4 8002A5A4 3C138004 */ lui $s3, %hi(D_8003F880) # $s3, 0x8004 +/* 02B1A8 8002A5A8 1000000F */ b .L8002A5E8_ovl0 +/* 02B1AC 8002A5AC 2673F880 */ addiu $s3, %lo(D_8003F880) # addiu $s3, $s3, -0x780 +/* 02B1B0 8002A5B0 3C138004 */ lui $s3, %hi(D_8003F8E8) # $s3, 0x8004 +/* 02B1B4 8002A5B4 1000000C */ b .L8002A5E8_ovl0 +/* 02B1B8 8002A5B8 2673F8E8 */ addiu $s3, %lo(D_8003F8E8) # addiu $s3, $s3, -0x718 +/* 02B1BC 8002A5BC 3C138004 */ lui $s3, %hi(D_8003F970) # $s3, 0x8004 +/* 02B1C0 8002A5C0 10000009 */ b .L8002A5E8_ovl0 +/* 02B1C4 8002A5C4 2673F970 */ addiu $s3, %lo(D_8003F970) # addiu $s3, $s3, -0x690 +/* 02B1C8 8002A5C8 3C138004 */ lui $s3, %hi(D_8003F998) # $s3, 0x8004 +/* 02B1CC 8002A5CC 10000006 */ b .L8002A5E8_ovl0 +/* 02B1D0 8002A5D0 2673F998 */ addiu $s3, %lo(D_8003F998) # addiu $s3, $s3, -0x668 +/* 02B1D4 8002A5D4 3C138004 */ lui $s3, %hi(D_8003F9C0) # $s3, 0x8004 +/* 02B1D8 8002A5D8 10000003 */ b .L8002A5E8_ovl0 +/* 02B1DC 8002A5DC 2673F9C0 */ addiu $s3, %lo(D_8003F9C0) # addiu $s3, $s3, -0x640 +/* 02B1E0 8002A5E0 10000001 */ b .L8002A5E8_ovl0 +/* 02B1E4 8002A5E4 8C730020 */ lw $s3, 0x20($v1) +.L8002A5E8_ovl0: +/* 02B1E8 8002A5E8 8E790000 */ lw $t9, ($s3) +/* 02B1EC 8002A5EC 24090028 */ li $t1, 40 +/* 02B1F0 8002A5F0 24110002 */ li $s1, 2 +/* 02B1F4 8002A5F4 A2B90024 */ sb $t9, 0x24($s5) +/* 02B1F8 8002A5F8 8E680004 */ lw $t0, 4($s3) +/* 02B1FC 8002A5FC 00002025 */ move $a0, $zero +/* 02B200 8002A600 00002825 */ move $a1, $zero +/* 02B204 8002A604 AEA8001C */ sw $t0, 0x1c($s5) +/* 02B208 8002A608 AFA90010 */ sw $t1, 0x10($sp) +/* 02B20C 8002A60C 02C03025 */ move $a2, $s6 +/* 02B210 8002A610 0C0078F5 */ jal func_8001E3D4 +/* 02B214 8002A614 332700FF */ andi $a3, $t9, 0xff +/* 02B218 8002A618 AEA20020 */ sw $v0, 0x20($s5) +/* 02B21C 8002A61C 8EA7001C */ lw $a3, 0x1c($s5) +/* 02B220 8002A620 240A0002 */ li $t2, 2 +/* 02B224 8002A624 AFAA0010 */ sw $t2, 0x10($sp) +/* 02B228 8002A628 00002025 */ move $a0, $zero +/* 02B22C 8002A62C 00002825 */ move $a1, $zero +/* 02B230 8002A630 0C0078F5 */ jal func_8001E3D4 +/* 02B234 8002A634 02C03025 */ move $a2, $s6 +/* 02B238 8002A638 8EAB001C */ lw $t3, 0x1c($s5) +/* 02B23C 8002A63C AEA20014 */ sw $v0, 0x14($s5) +/* 02B240 8002A640 AEA20018 */ sw $v0, 0x18($s5) +/* 02B244 8002A644 1160000B */ beqz $t3, .L8002A674_ovl0 +/* 02B248 8002A648 00001825 */ move $v1, $zero +/* 02B24C 8002A64C 8EAC0014 */ lw $t4, 0x14($s5) +.L8002A650_ovl0: +/* 02B250 8002A650 00036840 */ sll $t5, $v1, 1 +/* 02B254 8002A654 24630001 */ addiu $v1, $v1, 1 +/* 02B258 8002A658 018D7021 */ addu $t6, $t4, $t5 +/* 02B25C 8002A65C A5C00000 */ sh $zero, ($t6) +/* 02B260 8002A660 8EAF001C */ lw $t7, 0x1c($s5) +/* 02B264 8002A664 3063FFFF */ andi $v1, $v1, 0xffff +/* 02B268 8002A668 006F082B */ sltu $at, $v1, $t7 +/* 02B26C 8002A66C 5420FFF8 */ bnezl $at, .L8002A650_ovl0 +/* 02B270 8002A670 8EAC0014 */ lw $t4, 0x14($s5) +.L8002A674_ovl0: +/* 02B274 8002A674 92B80024 */ lbu $t8, 0x24($s5) +/* 02B278 8002A678 0000A025 */ move $s4, $zero +/* 02B27C 8002A67C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02B280 8002A680 1B000091 */ blez $t8, .L8002A8C8_ovl0 +/* 02B284 8002A684 241E0001 */ li $fp, 1 +/* 02B288 8002A688 4481C000 */ mtc1 $at, $f24 +/* 02B28C 8002A68C 3C018004 */ lui $at, %hi(D_800417E4) # $at, 0x8004 +/* 02B290 8002A690 C43617E4 */ lwc1 $f22, %lo(D_800417E4)($at) +/* 02B294 8002A694 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 02B298 8002A698 4481A000 */ mtc1 $at, $f20 +/* 02B29C 8002A69C 4480D000 */ mtc1 $zero, $f26 +/* 02B2A0 8002A6A0 24170028 */ li $s7, 40 +.L8002A6A4_ovl0: +/* 02B2A4 8002A6A4 02970019 */ multu $s4, $s7 +/* 02B2A8 8002A6A8 00114880 */ sll $t1, $s1, 2 +/* 02B2AC 8002A6AC 8EB90020 */ lw $t9, 0x20($s5) +/* 02B2B0 8002A6B0 02695021 */ addu $t2, $s3, $t1 +/* 02B2B4 8002A6B4 8D4B0000 */ lw $t3, ($t2) +/* 02B2B8 8002A6B8 26310001 */ addiu $s1, $s1, 1 +/* 02B2BC 8002A6BC 3231FFFF */ andi $s1, $s1, 0xffff +/* 02B2C0 8002A6C0 00116080 */ sll $t4, $s1, 2 +/* 02B2C4 8002A6C4 026C6821 */ addu $t5, $s3, $t4 +/* 02B2C8 8002A6C8 26310001 */ addiu $s1, $s1, 1 +/* 02B2CC 8002A6CC 00004012 */ mflo $t0 +/* 02B2D0 8002A6D0 03288021 */ addu $s0, $t9, $t0 +/* 02B2D4 8002A6D4 AE0B0000 */ sw $t3, ($s0) +/* 02B2D8 8002A6D8 8DAE0000 */ lw $t6, ($t5) +/* 02B2DC 8002A6DC 3231FFFF */ andi $s1, $s1, 0xffff +/* 02B2E0 8002A6E0 00117880 */ sll $t7, $s1, 2 +/* 02B2E4 8002A6E4 026FC021 */ addu $t8, $s3, $t7 +/* 02B2E8 8002A6E8 AE0E0004 */ sw $t6, 4($s0) +/* 02B2EC 8002A6EC 8F190000 */ lw $t9, ($t8) +/* 02B2F0 8002A6F0 26310001 */ addiu $s1, $s1, 1 +/* 02B2F4 8002A6F4 3231FFFF */ andi $s1, $s1, 0xffff +/* 02B2F8 8002A6F8 00114080 */ sll $t0, $s1, 2 +/* 02B2FC 8002A6FC 02684821 */ addu $t1, $s3, $t0 +/* 02B300 8002A700 A619000A */ sh $t9, 0xa($s0) +/* 02B304 8002A704 8D2A0000 */ lw $t2, ($t1) +/* 02B308 8002A708 26310001 */ addiu $s1, $s1, 1 +/* 02B30C 8002A70C 3231FFFF */ andi $s1, $s1, 0xffff +/* 02B310 8002A710 00115880 */ sll $t3, $s1, 2 +/* 02B314 8002A714 026B6021 */ addu $t4, $s3, $t3 +/* 02B318 8002A718 A60A0008 */ sh $t2, 8($s0) +/* 02B31C 8002A71C 8D8D0000 */ lw $t5, ($t4) +/* 02B320 8002A720 26310001 */ addiu $s1, $s1, 1 +/* 02B324 8002A724 3231FFFF */ andi $s1, $s1, 0xffff +/* 02B328 8002A728 00117080 */ sll $t6, $s1, 2 +/* 02B32C 8002A72C 026E7821 */ addu $t7, $s3, $t6 +/* 02B330 8002A730 A60D000C */ sh $t5, 0xc($s0) +/* 02B334 8002A734 8DE20000 */ lw $v0, ($t7) +/* 02B338 8002A738 5040003A */ beql $v0, $zero, .L8002A824_ovl0 +/* 02B33C 8002A73C 26310002 */ addiu $s1, $s1, 2 +/* 02B340 8002A740 44822000 */ mtc1 $v0, $f4 +/* 02B344 8002A744 8FB8006C */ lw $t8, 0x6c($sp) +/* 02B348 8002A748 8E080004 */ lw $t0, 4($s0) +/* 02B34C 8002A74C 468021A0 */ cvt.s.w $f6, $f4 +/* 02B350 8002A750 8F190018 */ lw $t9, 0x18($t8) +/* 02B354 8002A754 8E090000 */ lw $t1, ($s0) +/* 02B358 8002A758 26310001 */ addiu $s1, $s1, 1 +/* 02B35C 8002A75C 44995000 */ mtc1 $t9, $f10 +/* 02B360 8002A760 01095023 */ subu $t2, $t0, $t1 +/* 02B364 8002A764 46143003 */ div.s $f0, $f6, $f20 +/* 02B368 8002A768 448A2000 */ mtc1 $t2, $f4 +/* 02B36C 8002A76C 3231FFFF */ andi $s1, $s1, 0xffff +/* 02B370 8002A770 00115880 */ sll $t3, $s1, 2 +/* 02B374 8002A774 46805420 */ cvt.s.w $f16, $f10 +/* 02B378 8002A778 026B6021 */ addu $t4, $s3, $t3 +/* 02B37C 8002A77C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 02B380 8002A780 468021A0 */ cvt.s.w $f6, $f4 +/* 02B384 8002A784 46000200 */ add.s $f8, $f0, $f0 +/* 02B388 8002A788 46104483 */ div.s $f18, $f8, $f16 +/* 02B38C 8002A78C 05410004 */ bgez $t2, .L8002A7A0_ovl0 +/* 02B390 8002A790 E6120010 */ swc1 $f18, 0x10($s0) +/* 02B394 8002A794 44815000 */ mtc1 $at, $f10 +/* 02B398 8002A798 00000000 */ nop +/* 02B39C 8002A79C 460A3180 */ add.s $f6, $f6, $f10 +.L8002A7A0_ovl0: +/* 02B3A0 8002A7A0 8D8D0000 */ lw $t5, ($t4) +/* 02B3A4 8002A7A4 26310001 */ addiu $s1, $s1, 1 +/* 02B3A8 8002A7A8 E6180014 */ swc1 $f24, 0x14($s0) +/* 02B3AC 8002A7AC 448D4000 */ mtc1 $t5, $f8 +/* 02B3B0 8002A7B0 AE000018 */ sw $zero, 0x18($s0) +/* 02B3B4 8002A7B4 240E0034 */ li $t6, 52 +/* 02B3B8 8002A7B8 46804420 */ cvt.s.w $f16, $f8 +/* 02B3BC 8002A7BC 3231FFFF */ andi $s1, $s1, 0xffff +/* 02B3C0 8002A7C0 00002025 */ move $a0, $zero +/* 02B3C4 8002A7C4 00002825 */ move $a1, $zero +/* 02B3C8 8002A7C8 02C03025 */ move $a2, $s6 +/* 02B3CC 8002A7CC 03C03825 */ move $a3, $fp +/* 02B3D0 8002A7D0 46168483 */ div.s $f18, $f16, $f22 +/* 02B3D4 8002A7D4 46069102 */ mul.s $f4, $f18, $f6 +/* 02B3D8 8002A7D8 E604001C */ swc1 $f4, 0x1c($s0) +/* 02B3DC 8002A7DC 0C0078F5 */ jal func_8001E3D4 +/* 02B3E0 8002A7E0 AFAE0010 */ sw $t6, 0x10($sp) +/* 02B3E4 8002A7E4 AE020024 */ sw $v0, 0x24($s0) +/* 02B3E8 8002A7E8 240F0020 */ li $t7, 32 +/* 02B3EC 8002A7EC AFAF0010 */ sw $t7, 0x10($sp) +/* 02B3F0 8002A7F0 00002025 */ move $a0, $zero +/* 02B3F4 8002A7F4 00002825 */ move $a1, $zero +/* 02B3F8 8002A7F8 02C03025 */ move $a2, $s6 +/* 02B3FC 8002A7FC 0C0078F5 */ jal func_8001E3D4 +/* 02B400 8002A800 03C03825 */ move $a3, $fp +/* 02B404 8002A804 8E180024 */ lw $t8, 0x24($s0) +/* 02B408 8002A808 AF020014 */ sw $v0, 0x14($t8) +/* 02B40C 8002A80C 8E190024 */ lw $t9, 0x24($s0) +/* 02B410 8002A810 E73A0020 */ swc1 $f26, 0x20($t9) +/* 02B414 8002A814 8E080024 */ lw $t0, 0x24($s0) +/* 02B418 8002A818 10000004 */ b .L8002A82C_ovl0 +/* 02B41C 8002A81C AD1E0024 */ sw $fp, 0x24($t0) +/* 02B420 8002A820 26310002 */ addiu $s1, $s1, 2 +.L8002A824_ovl0: +/* 02B424 8002A824 AE000024 */ sw $zero, 0x24($s0) +/* 02B428 8002A828 3231FFFF */ andi $s1, $s1, 0xffff +.L8002A82C_ovl0: +/* 02B42C 8002A82C 00114880 */ sll $t1, $s1, 2 +/* 02B430 8002A830 02699021 */ addu $s2, $s3, $t1 +/* 02B434 8002A834 8E4A0000 */ lw $t2, ($s2) +/* 02B438 8002A838 00002025 */ move $a0, $zero +/* 02B43C 8002A83C 00002825 */ move $a1, $zero +/* 02B440 8002A840 11400018 */ beqz $t2, .L8002A8A4_ovl0 +/* 02B444 8002A844 02C03025 */ move $a2, $s6 +/* 02B448 8002A848 240B0030 */ li $t3, 48 +/* 02B44C 8002A84C AFAB0010 */ sw $t3, 0x10($sp) +/* 02B450 8002A850 0C0078F5 */ jal func_8001E3D4 +/* 02B454 8002A854 03C03825 */ move $a3, $fp +/* 02B458 8002A858 AE020020 */ sw $v0, 0x20($s0) +/* 02B45C 8002A85C 240C0008 */ li $t4, 8 +/* 02B460 8002A860 AFAC0010 */ sw $t4, 0x10($sp) +/* 02B464 8002A864 00002025 */ move $a0, $zero +/* 02B468 8002A868 00002825 */ move $a1, $zero +/* 02B46C 8002A86C 02C03025 */ move $a2, $s6 +/* 02B470 8002A870 0C0078F5 */ jal func_8001E3D4 +/* 02B474 8002A874 03C03825 */ move $a3, $fp +/* 02B478 8002A878 8E0D0020 */ lw $t5, 0x20($s0) +/* 02B47C 8002A87C 26310001 */ addiu $s1, $s1, 1 +/* 02B480 8002A880 3231FFFF */ andi $s1, $s1, 0xffff +/* 02B484 8002A884 ADA20028 */ sw $v0, 0x28($t5) +/* 02B488 8002A888 8E0F0020 */ lw $t7, 0x20($s0) +/* 02B48C 8002A88C 8E4E0000 */ lw $t6, ($s2) +/* 02B490 8002A890 A5EE0000 */ sh $t6, ($t7) +/* 02B494 8002A894 0C00A871 */ jal func_8002A1C4 +/* 02B498 8002A898 8E040020 */ lw $a0, 0x20($s0) +/* 02B49C 8002A89C 10000005 */ b .L8002A8B4_ovl0 +/* 02B4A0 8002A8A0 92B80024 */ lbu $t8, 0x24($s5) +.L8002A8A4_ovl0: +/* 02B4A4 8002A8A4 26310001 */ addiu $s1, $s1, 1 +/* 02B4A8 8002A8A8 AE000020 */ sw $zero, 0x20($s0) +/* 02B4AC 8002A8AC 3231FFFF */ andi $s1, $s1, 0xffff +/* 02B4B0 8002A8B0 92B80024 */ lbu $t8, 0x24($s5) +.L8002A8B4_ovl0: +/* 02B4B4 8002A8B4 26940001 */ addiu $s4, $s4, 1 +/* 02B4B8 8002A8B8 3294FFFF */ andi $s4, $s4, 0xffff +/* 02B4BC 8002A8BC 0298082A */ slt $at, $s4, $t8 +/* 02B4C0 8002A8C0 1420FF78 */ bnez $at, .L8002A6A4_ovl0 +/* 02B4C4 8002A8C4 00000000 */ nop +.L8002A8C8_ovl0: +/* 02B4C8 8002A8C8 8FBF0064 */ lw $ra, 0x64($sp) +/* 02B4CC 8002A8CC D7B40020 */ ldc1 $f20, 0x20($sp) +/* 02B4D0 8002A8D0 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 02B4D4 8002A8D4 D7B80030 */ ldc1 $f24, 0x30($sp) +/* 02B4D8 8002A8D8 D7BA0038 */ ldc1 $f26, 0x38($sp) +/* 02B4DC 8002A8DC 8FB00040 */ lw $s0, 0x40($sp) +/* 02B4E0 8002A8E0 8FB10044 */ lw $s1, 0x44($sp) +/* 02B4E4 8002A8E4 8FB20048 */ lw $s2, 0x48($sp) +/* 02B4E8 8002A8E8 8FB3004C */ lw $s3, 0x4c($sp) +/* 02B4EC 8002A8EC 8FB40050 */ lw $s4, 0x50($sp) +/* 02B4F0 8002A8F0 8FB50054 */ lw $s5, 0x54($sp) +/* 02B4F4 8002A8F4 8FB60058 */ lw $s6, 0x58($sp) +/* 02B4F8 8002A8F8 8FB7005C */ lw $s7, 0x5c($sp) +/* 02B4FC 8002A8FC 8FBE0060 */ lw $fp, 0x60($sp) +/* 02B500 8002A900 03E00008 */ jr $ra +/* 02B504 8002A904 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_8002A908 +/* 02B508 8002A908 00000000 */ nop +/* 02B50C 8002A90C 00000000 */ nop +/* 02B510 8002A910 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02B514 8002A914 AFBF0014 */ sw $ra, 0x14($sp) +/* 02B518 8002A918 00802825 */ move $a1, $a0 +/* 02B51C 8002A91C AFA50018 */ sw $a1, 0x18($sp) +/* 02B520 8002A920 0C00B590 */ jal osSetIntMask +/* 02B524 8002A924 24040001 */ li $a0, 1 +/* 02B528 8002A928 3C038004 */ lui $v1, %hi(D_8003FB14) # $v1, 0x8004 +/* 02B52C 8002A92C 2463FB14 */ addiu $v1, %lo(D_8003FB14) # addiu $v1, $v1, -0x4ec +/* 02B530 8002A930 8C6E0000 */ lw $t6, ($v1) +/* 02B534 8002A934 8FA50018 */ lw $a1, 0x18($sp) +/* 02B538 8002A938 00403025 */ move $a2, $v0 +/* 02B53C 8002A93C 8DCF002C */ lw $t7, 0x2c($t6) +/* 02B540 8002A940 ACAF0010 */ sw $t7, 0x10($a1) +/* 02B544 8002A944 8C780000 */ lw $t8, ($v1) +/* 02B548 8002A948 8F190000 */ lw $t9, ($t8) +/* 02B54C 8002A94C ACB90000 */ sw $t9, ($a1) +/* 02B550 8002A950 8C680000 */ lw $t0, ($v1) +/* 02B554 8002A954 AD050000 */ sw $a1, ($t0) +/* 02B558 8002A958 8C640000 */ lw $a0, ($v1) +/* 02B55C 8002A95C 8C890004 */ lw $t1, 4($a0) +/* 02B560 8002A960 55200004 */ bnezl $t1, .L8002A974_ovl0 +/* 02B564 8002A964 8C8A0008 */ lw $t2, 8($a0) +/* 02B568 8002A968 10000005 */ b .L8002A980_ovl0 +/* 02B56C 8002A96C AC850004 */ sw $a1, 4($a0) +/* 02B570 8002A970 8C8A0008 */ lw $t2, 8($a0) +.L8002A974_ovl0: +/* 02B574 8002A974 15400002 */ bnez $t2, .L8002A980_ovl0 +/* 02B578 8002A978 00000000 */ nop +/* 02B57C 8002A97C AC850008 */ sw $a1, 8($a0) +.L8002A980_ovl0: +/* 02B580 8002A980 0C00B590 */ jal osSetIntMask +/* 02B584 8002A984 00C02025 */ move $a0, $a2 +/* 02B588 8002A988 8FBF0014 */ lw $ra, 0x14($sp) +/* 02B58C 8002A98C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02B590 8002A990 03E00008 */ jr $ra +/* 02B594 8002A994 00000000 */ nop + +glabel func_8002A998 +/* 02B598 8002A998 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02B59C 8002A99C AFBF0014 */ sw $ra, 0x14($sp) +/* 02B5A0 8002A9A0 00802825 */ move $a1, $a0 +/* 02B5A4 8002A9A4 AFA50018 */ sw $a1, 0x18($sp) +/* 02B5A8 8002A9A8 0C00B590 */ jal osSetIntMask +/* 02B5AC 8002A9AC 24040001 */ li $a0, 1 +/* 02B5B0 8002A9B0 3C038004 */ lui $v1, %hi(D_8003FB14) # $v1, 0x8004 +/* 02B5B4 8002A9B4 2463FB14 */ addiu $v1, %lo(D_8003FB14) # addiu $v1, $v1, -0x4ec +/* 02B5B8 8002A9B8 8C6E0000 */ lw $t6, ($v1) +/* 02B5BC 8002A9BC 8FA50018 */ lw $a1, 0x18($sp) +/* 02B5C0 8002A9C0 00403025 */ move $a2, $v0 +/* 02B5C4 8002A9C4 8DCF002C */ lw $t7, 0x2c($t6) +/* 02B5C8 8002A9C8 ACAF0010 */ sw $t7, 0x10($a1) +/* 02B5CC 8002A9CC 8C780000 */ lw $t8, ($v1) +/* 02B5D0 8002A9D0 8F190000 */ lw $t9, ($t8) +/* 02B5D4 8002A9D4 ACB90000 */ sw $t9, ($a1) +/* 02B5D8 8002A9D8 8C680000 */ lw $t0, ($v1) +/* 02B5DC 8002A9DC AD050000 */ sw $a1, ($t0) +/* 02B5E0 8002A9E0 8C640000 */ lw $a0, ($v1) +/* 02B5E4 8002A9E4 8C89000C */ lw $t1, 0xc($a0) +/* 02B5E8 8002A9E8 15200002 */ bnez $t1, .L8002A9F4_ovl0 +/* 02B5EC 8002A9EC 00000000 */ nop +/* 02B5F0 8002A9F0 AC85000C */ sw $a1, 0xc($a0) +.L8002A9F4_ovl0: +/* 02B5F4 8002A9F4 0C00B590 */ jal osSetIntMask +/* 02B5F8 8002A9F8 00C02025 */ move $a0, $a2 +/* 02B5FC 8002A9FC 8FBF0014 */ lw $ra, 0x14($sp) +/* 02B600 8002AA00 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02B604 8002AA04 03E00008 */ jr $ra +/* 02B608 8002AA08 00000000 */ nop + +glabel func_8002AA0C +/* 02B60C 8002AA0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02B610 8002AA10 AFBF0014 */ sw $ra, 0x14($sp) +/* 02B614 8002AA14 00802825 */ move $a1, $a0 +/* 02B618 8002AA18 AFA50018 */ sw $a1, 0x18($sp) +/* 02B61C 8002AA1C 0C00B590 */ jal osSetIntMask +/* 02B620 8002AA20 24040001 */ li $a0, 1 +/* 02B624 8002AA24 3C038004 */ lui $v1, %hi(D_8003FB14) # $v1, 0x8004 +/* 02B628 8002AA28 2463FB14 */ addiu $v1, %lo(D_8003FB14) # addiu $v1, $v1, -0x4ec +/* 02B62C 8002AA2C 8C6E0000 */ lw $t6, ($v1) +/* 02B630 8002AA30 8FA50018 */ lw $a1, 0x18($sp) +/* 02B634 8002AA34 00402025 */ move $a0, $v0 +/* 02B638 8002AA38 8DCF002C */ lw $t7, 0x2c($t6) +/* 02B63C 8002AA3C ACAF0010 */ sw $t7, 0x10($a1) +/* 02B640 8002AA40 8C780000 */ lw $t8, ($v1) +/* 02B644 8002AA44 8F190000 */ lw $t9, ($t8) +/* 02B648 8002AA48 ACB90000 */ sw $t9, ($a1) +/* 02B64C 8002AA4C 8C680000 */ lw $t0, ($v1) +/* 02B650 8002AA50 0C00B590 */ jal osSetIntMask +/* 02B654 8002AA54 AD050000 */ sw $a1, ($t0) +/* 02B658 8002AA58 8FBF0014 */ lw $ra, 0x14($sp) +/* 02B65C 8002AA5C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02B660 8002AA60 03E00008 */ jr $ra +/* 02B664 8002AA64 00000000 */ nop + +glabel func_8002AA68 +/* 02B668 8002AA68 00000000 */ nop +/* 02B66C 8002AA6C 00000000 */ nop +/* 02B670 8002AA70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02B674 8002AA74 AFBF0014 */ sw $ra, 0x14($sp) +/* 02B678 8002AA78 8C8E0008 */ lw $t6, 8($a0) +/* 02B67C 8002AA7C 51C00014 */ beql $t6, $zero, .L8002AAD0_ovl0 +/* 02B680 8002AA80 8FBF0014 */ lw $ra, 0x14($sp) +/* 02B684 8002AA84 0C00A642 */ jal func_80029908 +/* 02B688 8002AA88 AFA40018 */ sw $a0, 0x18($sp) +/* 02B68C 8002AA8C 8FA70018 */ lw $a3, 0x18($sp) +/* 02B690 8002AA90 1040000E */ beqz $v0, .L8002AACC_ovl0 +/* 02B694 8002AA94 00403025 */ move $a2, $v0 +/* 02B698 8002AA98 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 +/* 02B69C 8002AA9C 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) +/* 02B6A0 8002AAA0 8CF90008 */ lw $t9, 8($a3) +/* 02B6A4 8002AAA4 240A000F */ li $t2, 15 +/* 02B6A8 8002AAA8 8DF80028 */ lw $t8, 0x28($t7) +/* 02B6AC 8002AAAC 8F280088 */ lw $t0, 0x88($t9) +/* 02B6B0 8002AAB0 A44A0008 */ sh $t2, 8($v0) +/* 02B6B4 8002AAB4 AC400000 */ sw $zero, ($v0) +/* 02B6B8 8002AAB8 03084821 */ addu $t1, $t8, $t0 +/* 02B6BC 8002AABC AC490004 */ sw $t1, 4($v0) +/* 02B6C0 8002AAC0 8CE40008 */ lw $a0, 8($a3) +/* 02B6C4 8002AAC4 0C009D48 */ jal func_80027520 +/* 02B6C8 8002AAC8 24050003 */ li $a1, 3 +.L8002AACC_ovl0: +/* 02B6CC 8002AACC 8FBF0014 */ lw $ra, 0x14($sp) +.L8002AAD0_ovl0: +/* 02B6D0 8002AAD0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02B6D4 8002AAD4 03E00008 */ jr $ra +/* 02B6D8 8002AAD8 00000000 */ nop + +glabel func_8002AADC +/* 02B6DC 8002AADC 00000000 */ nop +/* 02B6E0 8002AAE0 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 +/* 02B6E4 8002AAE4 8C42FB14 */ lw $v0, %lo(D_8003FB14)($v0) +/* 02B6E8 8002AAE8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02B6EC 8002AAEC AFBF0014 */ sw $ra, 0x14($sp) +/* 02B6F0 8002AAF0 AFA5002C */ sw $a1, 0x2c($sp) +/* 02B6F4 8002AAF4 8C460020 */ lw $a2, 0x20($v0) +/* 02B6F8 8002AAF8 00052C00 */ sll $a1, $a1, 0x10 +/* 02B6FC 8002AAFC 00052C03 */ sra $a1, $a1, 0x10 +/* 02B700 8002AB00 00803825 */ move $a3, $a0 +/* 02B704 8002AB04 10C0000D */ beqz $a2, .L8002AB3C_ovl0 +/* 02B708 8002AB08 00001825 */ move $v1, $zero +/* 02B70C 8002AB0C AC860000 */ sw $a2, ($a0) +/* 02B710 8002AB10 AFA60024 */ sw $a2, 0x24($sp) +/* 02B714 8002AB14 AFA0001C */ sw $zero, 0x1c($sp) +/* 02B718 8002AB18 0C0097DD */ jal func_80025F74 +/* 02B71C 8002AB1C 00C02025 */ move $a0, $a2 +/* 02B720 8002AB20 3C058004 */ lui $a1, %hi(D_8003FB14) # $a1, 0x8004 +/* 02B724 8002AB24 8CA5FB14 */ lw $a1, %lo(D_8003FB14)($a1) +/* 02B728 8002AB28 8FA40024 */ lw $a0, 0x24($sp) +/* 02B72C 8002AB2C 0C0097D4 */ jal func_80025F50 +/* 02B730 8002AB30 24A50018 */ addiu $a1, $a1, 0x18 +/* 02B734 8002AB34 10000021 */ b .L8002ABBC_ovl0 +/* 02B738 8002AB38 8FA3001C */ lw $v1, 0x1c($sp) +.L8002AB3C_ovl0: +/* 02B73C 8002AB3C 8C460010 */ lw $a2, 0x10($v0) +/* 02B740 8002AB40 10C0000C */ beqz $a2, .L8002AB74_ovl0 +/* 02B744 8002AB44 00C02025 */ move $a0, $a2 +/* 02B748 8002AB48 ACE60000 */ sw $a2, ($a3) +/* 02B74C 8002AB4C AFA60024 */ sw $a2, 0x24($sp) +/* 02B750 8002AB50 0C0097DD */ jal func_80025F74 +/* 02B754 8002AB54 AFA3001C */ sw $v1, 0x1c($sp) +/* 02B758 8002AB58 3C058004 */ lui $a1, %hi(D_8003FB14) # $a1, 0x8004 +/* 02B75C 8002AB5C 8CA5FB14 */ lw $a1, %lo(D_8003FB14)($a1) +/* 02B760 8002AB60 8FA40024 */ lw $a0, 0x24($sp) +/* 02B764 8002AB64 0C0097D4 */ jal func_80025F50 +/* 02B768 8002AB68 24A50018 */ addiu $a1, $a1, 0x18 +/* 02B76C 8002AB6C 10000013 */ b .L8002ABBC_ovl0 +/* 02B770 8002AB70 8FA3001C */ lw $v1, 0x1c($sp) +.L8002AB74_ovl0: +/* 02B774 8002AB74 8C460018 */ lw $a2, 0x18($v0) +/* 02B778 8002AB78 50C00011 */ beql $a2, $zero, .L8002ABC0_ovl0 +/* 02B77C 8002AB7C 8FBF0014 */ lw $ra, 0x14($sp) +/* 02B780 8002AB80 8CCE0008 */ lw $t6, 8($a2) +.L8002AB84_ovl0: +/* 02B784 8002AB84 85CF0016 */ lh $t7, 0x16($t6) +/* 02B788 8002AB88 00AF082A */ slt $at, $a1, $t7 +/* 02B78C 8002AB8C 54200009 */ bnezl $at, .L8002ABB4_ovl0 +/* 02B790 8002AB90 8CC60000 */ lw $a2, ($a2) +/* 02B794 8002AB94 8CD80088 */ lw $t8, 0x88($a2) +/* 02B798 8002AB98 57000006 */ bnezl $t8, .L8002ABB4_ovl0 +/* 02B79C 8002AB9C 8CC60000 */ lw $a2, ($a2) +/* 02B7A0 8002ABA0 ACE60000 */ sw $a2, ($a3) +/* 02B7A4 8002ABA4 8CD90008 */ lw $t9, 8($a2) +/* 02B7A8 8002ABA8 24030001 */ li $v1, 1 +/* 02B7AC 8002ABAC 87250016 */ lh $a1, 0x16($t9) +/* 02B7B0 8002ABB0 8CC60000 */ lw $a2, ($a2) +.L8002ABB4_ovl0: +/* 02B7B4 8002ABB4 54C0FFF3 */ bnezl $a2, .L8002AB84_ovl0 +/* 02B7B8 8002ABB8 8CCE0008 */ lw $t6, 8($a2) +.L8002ABBC_ovl0: +/* 02B7BC 8002ABBC 8FBF0014 */ lw $ra, 0x14($sp) +.L8002ABC0_ovl0: +/* 02B7C0 8002ABC0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 02B7C4 8002ABC4 00601025 */ move $v0, $v1 +/* 02B7C8 8002ABC8 03E00008 */ jr $ra +/* 02B7CC 8002ABCC 00000000 */ nop + +glabel func_8002ABD0 +/* 02B7D0 8002ABD0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 02B7D4 8002ABD4 AFBF001C */ sw $ra, 0x1c($sp) +/* 02B7D8 8002ABD8 AFB00018 */ sw $s0, 0x18($sp) +/* 02B7DC 8002ABDC AFA0002C */ sw $zero, 0x2c($sp) +/* 02B7E0 8002ABE0 84AE0000 */ lh $t6, ($a1) +/* 02B7E4 8002ABE4 00808025 */ move $s0, $a0 +/* 02B7E8 8002ABE8 A48E0016 */ sh $t6, 0x16($a0) +/* 02B7EC 8002ABEC 90AF0004 */ lbu $t7, 4($a1) +/* 02B7F0 8002ABF0 AC80000C */ sw $zero, 0xc($a0) +/* 02B7F4 8002ABF4 A48F001A */ sh $t7, 0x1a($a0) +/* 02B7F8 8002ABF8 84B80002 */ lh $t8, 2($a1) +/* 02B7FC 8002ABFC A4800014 */ sh $zero, 0x14($a0) +/* 02B800 8002AC00 AC800008 */ sw $zero, 8($a0) +/* 02B804 8002AC04 A4980018 */ sh $t8, 0x18($a0) +/* 02B808 8002AC08 84A50000 */ lh $a1, ($a1) +/* 02B80C 8002AC0C 0C00AAB8 */ jal func_8002AAE0 +/* 02B810 8002AC10 27A4002C */ addiu $a0, $sp, 0x2c +/* 02B814 8002AC14 8FB9002C */ lw $t9, 0x2c($sp) +/* 02B818 8002AC18 53200036 */ beql $t9, $zero, .L8002ACF4_ovl0 +/* 02B81C 8002AC1C 8FBF001C */ lw $ra, 0x1c($sp) +/* 02B820 8002AC20 1040002E */ beqz $v0, .L8002ACDC_ovl0 +/* 02B824 8002AC24 8FAF002C */ lw $t7, 0x2c($sp) +/* 02B828 8002AC28 24080200 */ li $t0, 512 +/* 02B82C 8002AC2C AF280088 */ sw $t0, 0x88($t9) +/* 02B830 8002AC30 8FA9002C */ lw $t1, 0x2c($sp) +/* 02B834 8002AC34 8D2A0008 */ lw $t2, 8($t1) +/* 02B838 8002AC38 AD400008 */ sw $zero, 8($t2) +/* 02B83C 8002AC3C 8FAB002C */ lw $t3, 0x2c($sp) +/* 02B840 8002AC40 AD700008 */ sw $s0, 8($t3) +/* 02B844 8002AC44 8FAC002C */ lw $t4, 0x2c($sp) +/* 02B848 8002AC48 0C00A642 */ jal func_80029908 +/* 02B84C 8002AC4C AE0C0008 */ sw $t4, 8($s0) +/* 02B850 8002AC50 1040000F */ beqz $v0, .L8002AC90_ovl0 +/* 02B854 8002AC54 00403025 */ move $a2, $v0 +/* 02B858 8002AC58 3C0D8004 */ lui $t5, %hi(D_8003FB14) # $t5, 0x8004 +/* 02B85C 8002AC5C 8DADFB14 */ lw $t5, %lo(D_8003FB14)($t5) +/* 02B860 8002AC60 240F000B */ li $t7, 11 +/* 02B864 8002AC64 24050003 */ li $a1, 3 +/* 02B868 8002AC68 8DAE0028 */ lw $t6, 0x28($t5) +/* 02B86C 8002AC6C A44F0008 */ sh $t7, 8($v0) +/* 02B870 8002AC70 AC40000C */ sw $zero, 0xc($v0) +/* 02B874 8002AC74 AC4E0004 */ sw $t6, 4($v0) +/* 02B878 8002AC78 8FB8002C */ lw $t8, 0x2c($sp) +/* 02B87C 8002AC7C 8F080088 */ lw $t0, 0x88($t8) +/* 02B880 8002AC80 2519FFC0 */ addiu $t9, $t0, -0x40 +/* 02B884 8002AC84 AC590010 */ sw $t9, 0x10($v0) +/* 02B888 8002AC88 0C009D48 */ jal func_80027520 +/* 02B88C 8002AC8C 8E040008 */ lw $a0, 8($s0) +.L8002AC90_ovl0: +/* 02B890 8002AC90 0C00A642 */ jal func_80029908 +/* 02B894 8002AC94 00000000 */ nop +/* 02B898 8002AC98 10400015 */ beqz $v0, .L8002ACF0_ovl0 +/* 02B89C 8002AC9C 00403025 */ move $a2, $v0 +/* 02B8A0 8002ACA0 3C098004 */ lui $t1, %hi(D_8003FB14) # $t1, 0x8004 +/* 02B8A4 8002ACA4 8D29FB14 */ lw $t1, %lo(D_8003FB14)($t1) +/* 02B8A8 8002ACA8 8FAB002C */ lw $t3, 0x2c($sp) +/* 02B8AC 8002ACAC 240E000F */ li $t6, 15 +/* 02B8B0 8002ACB0 8D2A0028 */ lw $t2, 0x28($t1) +/* 02B8B4 8002ACB4 8D6C0088 */ lw $t4, 0x88($t3) +/* 02B8B8 8002ACB8 A44E0008 */ sh $t6, 8($v0) +/* 02B8BC 8002ACBC AC400000 */ sw $zero, ($v0) +/* 02B8C0 8002ACC0 014C6821 */ addu $t5, $t2, $t4 +/* 02B8C4 8002ACC4 AC4D0004 */ sw $t5, 4($v0) +/* 02B8C8 8002ACC8 8E040008 */ lw $a0, 8($s0) +/* 02B8CC 8002ACCC 0C009D48 */ jal func_80027520 +/* 02B8D0 8002ACD0 24050003 */ li $a1, 3 +/* 02B8D4 8002ACD4 10000007 */ b .L8002ACF4_ovl0 +/* 02B8D8 8002ACD8 8FBF001C */ lw $ra, 0x1c($sp) +.L8002ACDC_ovl0: +/* 02B8DC 8002ACDC ADE00088 */ sw $zero, 0x88($t7) +/* 02B8E0 8002ACE0 8FB8002C */ lw $t8, 0x2c($sp) +/* 02B8E4 8002ACE4 AF100008 */ sw $s0, 8($t8) +/* 02B8E8 8002ACE8 8FA8002C */ lw $t0, 0x2c($sp) +/* 02B8EC 8002ACEC AE080008 */ sw $t0, 8($s0) +.L8002ACF0_ovl0: +/* 02B8F0 8002ACF0 8FBF001C */ lw $ra, 0x1c($sp) +.L8002ACF4_ovl0: +/* 02B8F4 8002ACF4 8FA2002C */ lw $v0, 0x2c($sp) +/* 02B8F8 8002ACF8 8FB00018 */ lw $s0, 0x18($sp) +/* 02B8FC 8002ACFC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 02B900 8002AD00 03E00008 */ jr $ra +/* 02B904 8002AD04 0002102B */ sltu $v0, $zero, $v0 + +glabel func_8002AD08 +/* 02B908 8002AD08 00000000 */ nop +/* 02B90C 8002AD0C 00000000 */ nop +/* 02B910 8002AD10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02B914 8002AD14 AFBF0014 */ sw $ra, 0x14($sp) +/* 02B918 8002AD18 AFA5001C */ sw $a1, 0x1c($sp) +/* 02B91C 8002AD1C 8C8E0008 */ lw $t6, 8($a0) +/* 02B920 8002AD20 51C00016 */ beql $t6, $zero, .L8002AD7C_ovl0 +/* 02B924 8002AD24 8FBF0014 */ lw $ra, 0x14($sp) +/* 02B928 8002AD28 0C00A642 */ jal func_80029908 +/* 02B92C 8002AD2C AFA40018 */ sw $a0, 0x18($sp) +/* 02B930 8002AD30 8FA70018 */ lw $a3, 0x18($sp) +/* 02B934 8002AD34 10400010 */ beqz $v0, .L8002AD78_ovl0 +/* 02B938 8002AD38 00403025 */ move $a2, $v0 +/* 02B93C 8002AD3C 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 +/* 02B940 8002AD40 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) +/* 02B944 8002AD44 8CF90008 */ lw $t9, 8($a3) +/* 02B948 8002AD48 240A000C */ li $t2, 12 +/* 02B94C 8002AD4C 8DF80028 */ lw $t8, 0x28($t7) +/* 02B950 8002AD50 8F280088 */ lw $t0, 0x88($t9) +/* 02B954 8002AD54 A44A0008 */ sh $t2, 8($v0) +/* 02B958 8002AD58 24050003 */ li $a1, 3 +/* 02B95C 8002AD5C 03084821 */ addu $t1, $t8, $t0 +/* 02B960 8002AD60 AC490004 */ sw $t1, 4($v0) +/* 02B964 8002AD64 93AB001F */ lbu $t3, 0x1f($sp) +/* 02B968 8002AD68 AC400000 */ sw $zero, ($v0) +/* 02B96C 8002AD6C AC4B000C */ sw $t3, 0xc($v0) +/* 02B970 8002AD70 0C009D48 */ jal func_80027520 +/* 02B974 8002AD74 8CE40008 */ lw $a0, 8($a3) +.L8002AD78_ovl0: +/* 02B978 8002AD78 8FBF0014 */ lw $ra, 0x14($sp) +.L8002AD7C_ovl0: +/* 02B97C 8002AD7C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02B980 8002AD80 03E00008 */ jr $ra +/* 02B984 8002AD84 00000000 */ nop + +glabel func_8002AD88 +/* 02B988 8002AD88 00000000 */ nop +/* 02B98C 8002AD8C 00000000 */ nop +/* 02B990 8002AD90 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 02B994 8002AD94 AFBF0014 */ sw $ra, 0x14($sp) +/* 02B998 8002AD98 AFA50024 */ sw $a1, 0x24($sp) +/* 02B99C 8002AD9C AFA60028 */ sw $a2, 0x28($sp) +/* 02B9A0 8002ADA0 AFA7002C */ sw $a3, 0x2c($sp) +/* 02B9A4 8002ADA4 8C8E0008 */ lw $t6, 8($a0) +/* 02B9A8 8002ADA8 51C0002F */ beql $t6, $zero, .L8002AE68_ovl0 +/* 02B9AC 8002ADAC 8FBF0014 */ lw $ra, 0x14($sp) +/* 02B9B0 8002ADB0 0C00A642 */ jal func_80029908 +/* 02B9B4 8002ADB4 AFA40020 */ sw $a0, 0x20($sp) +/* 02B9B8 8002ADB8 93A50037 */ lbu $a1, 0x37($sp) +/* 02B9BC 8002ADBC 8FA80020 */ lw $t0, 0x20($sp) +/* 02B9C0 8002ADC0 00403025 */ move $a2, $v0 +/* 02B9C4 8002ADC4 04A10003 */ bgez $a1, .L8002ADD4_ovl0 +/* 02B9C8 8002ADC8 00A01825 */ move $v1, $a1 +/* 02B9CC 8002ADCC 00032823 */ negu $a1, $v1 +/* 02B9D0 8002ADD0 30A500FF */ andi $a1, $a1, 0xff +.L8002ADD4_ovl0: +/* 02B9D4 8002ADD4 10400023 */ beqz $v0, .L8002AE64_ovl0 +/* 02B9D8 8002ADD8 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 +/* 02B9DC 8002ADDC 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) +/* 02B9E0 8002ADE0 8D190008 */ lw $t9, 8($t0) +/* 02B9E4 8002ADE4 240B000D */ li $t3, 13 +/* 02B9E8 8002ADE8 8DF80028 */ lw $t8, 0x28($t7) +/* 02B9EC 8002ADEC 8F290088 */ lw $t1, 0x88($t9) +/* 02B9F0 8002ADF0 ACC00000 */ sw $zero, ($a2) +/* 02B9F4 8002ADF4 A4CB0008 */ sh $t3, 8($a2) +/* 02B9F8 8002ADF8 03095021 */ addu $t2, $t8, $t1 +/* 02B9FC 8002ADFC ACCA0004 */ sw $t2, 4($a2) +/* 02BA00 8002AE00 850C001A */ lh $t4, 0x1a($t0) +/* 02BA04 8002AE04 A4CC000A */ sh $t4, 0xa($a2) +/* 02BA08 8002AE08 93AD0033 */ lbu $t5, 0x33($sp) +/* 02BA0C 8002AE0C A0CD0012 */ sb $t5, 0x12($a2) +/* 02BA10 8002AE10 87AE002E */ lh $t6, 0x2e($sp) +/* 02BA14 8002AE14 A0C50013 */ sb $a1, 0x13($a2) +/* 02BA18 8002AE18 A4CE0010 */ sh $t6, 0x10($a2) +/* 02BA1C 8002AE1C 93AF003F */ lbu $t7, 0x3f($sp) +/* 02BA20 8002AE20 A0CF001C */ sb $t7, 0x1c($a2) +/* 02BA24 8002AE24 93B90043 */ lbu $t9, 0x43($sp) +/* 02BA28 8002AE28 A0D9001D */ sb $t9, 0x1d($a2) +/* 02BA2C 8002AE2C C7A40028 */ lwc1 $f4, 0x28($sp) +/* 02BA30 8002AE30 E4C4000C */ swc1 $f4, 0xc($a2) +/* 02BA34 8002AE34 AFA80020 */ sw $t0, 0x20($sp) +/* 02BA38 8002AE38 AFA6001C */ sw $a2, 0x1c($sp) +/* 02BA3C 8002AE3C 0C00A60F */ jal func_8002983C +/* 02BA40 8002AE40 8FA40038 */ lw $a0, 0x38($sp) +/* 02BA44 8002AE44 8FA6001C */ lw $a2, 0x1c($sp) +/* 02BA48 8002AE48 8FA80020 */ lw $t0, 0x20($sp) +/* 02BA4C 8002AE4C 24050003 */ li $a1, 3 +/* 02BA50 8002AE50 ACC20014 */ sw $v0, 0x14($a2) +/* 02BA54 8002AE54 8FB80024 */ lw $t8, 0x24($sp) +/* 02BA58 8002AE58 ACD80018 */ sw $t8, 0x18($a2) +/* 02BA5C 8002AE5C 0C009D48 */ jal func_80027520 +/* 02BA60 8002AE60 8D040008 */ lw $a0, 8($t0) +.L8002AE64_ovl0: +/* 02BA64 8002AE64 8FBF0014 */ lw $ra, 0x14($sp) +.L8002AE68_ovl0: +/* 02BA68 8002AE68 27BD0020 */ addiu $sp, $sp, 0x20 +/* 02BA6C 8002AE6C 03E00008 */ jr $ra +/* 02BA70 8002AE70 00000000 */ nop + +glabel func_8002AE74 +/* 02BA74 8002AE74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 02BA78 8002AE78 AFBF0014 */ sw $ra, 0x14($sp) +/* 02BA7C 8002AE7C AFA50024 */ sw $a1, 0x24($sp) +/* 02BA80 8002AE80 AFA60028 */ sw $a2, 0x28($sp) +/* 02BA84 8002AE84 AFA7002C */ sw $a3, 0x2c($sp) +/* 02BA88 8002AE88 8C8E0008 */ lw $t6, 8($a0) +/* 02BA8C 8002AE8C 51C0002E */ beql $t6, $zero, .L8002AF48_ovl0 +/* 02BA90 8002AE90 8FBF0014 */ lw $ra, 0x14($sp) +/* 02BA94 8002AE94 0C00A642 */ jal func_80029908 +/* 02BA98 8002AE98 AFA40020 */ sw $a0, 0x20($sp) +/* 02BA9C 8002AE9C 93A50037 */ lbu $a1, 0x37($sp) +/* 02BAA0 8002AEA0 8FA80020 */ lw $t0, 0x20($sp) +/* 02BAA4 8002AEA4 00403025 */ move $a2, $v0 +/* 02BAA8 8002AEA8 04A10003 */ bgez $a1, .L8002AEB8_ovl0 +/* 02BAAC 8002AEAC 00A01825 */ move $v1, $a1 +/* 02BAB0 8002AEB0 00032823 */ negu $a1, $v1 +/* 02BAB4 8002AEB4 30A500FF */ andi $a1, $a1, 0xff +.L8002AEB8_ovl0: +/* 02BAB8 8002AEB8 10400022 */ beqz $v0, .L8002AF44_ovl0 +/* 02BABC 8002AEBC 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 +/* 02BAC0 8002AEC0 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) +/* 02BAC4 8002AEC4 8D190008 */ lw $t9, 8($t0) +/* 02BAC8 8002AEC8 240B000D */ li $t3, 13 +/* 02BACC 8002AECC 8DF80028 */ lw $t8, 0x28($t7) +/* 02BAD0 8002AED0 8F290088 */ lw $t1, 0x88($t9) +/* 02BAD4 8002AED4 ACC00000 */ sw $zero, ($a2) +/* 02BAD8 8002AED8 A4CB0008 */ sh $t3, 8($a2) +/* 02BADC 8002AEDC 03095021 */ addu $t2, $t8, $t1 +/* 02BAE0 8002AEE0 ACCA0004 */ sw $t2, 4($a2) +/* 02BAE4 8002AEE4 850C001A */ lh $t4, 0x1a($t0) +/* 02BAE8 8002AEE8 240F005F */ li $t7, 95 +/* 02BAEC 8002AEEC A4CC000A */ sh $t4, 0xa($a2) +/* 02BAF0 8002AEF0 93AD0033 */ lbu $t5, 0x33($sp) +/* 02BAF4 8002AEF4 A0CD0012 */ sb $t5, 0x12($a2) +/* 02BAF8 8002AEF8 87AE002E */ lh $t6, 0x2e($sp) +/* 02BAFC 8002AEFC A0C50013 */ sb $a1, 0x13($a2) +/* 02BB00 8002AF00 A0C0001C */ sb $zero, 0x1c($a2) +/* 02BB04 8002AF04 A0CF001D */ sb $t7, 0x1d($a2) +/* 02BB08 8002AF08 A4CE0010 */ sh $t6, 0x10($a2) +/* 02BB0C 8002AF0C C7A40028 */ lwc1 $f4, 0x28($sp) +/* 02BB10 8002AF10 E4C4000C */ swc1 $f4, 0xc($a2) +/* 02BB14 8002AF14 AFA80020 */ sw $t0, 0x20($sp) +/* 02BB18 8002AF18 AFA6001C */ sw $a2, 0x1c($sp) +/* 02BB1C 8002AF1C 0C00A60F */ jal func_8002983C +/* 02BB20 8002AF20 8FA40038 */ lw $a0, 0x38($sp) +/* 02BB24 8002AF24 8FA6001C */ lw $a2, 0x1c($sp) +/* 02BB28 8002AF28 8FA80020 */ lw $t0, 0x20($sp) +/* 02BB2C 8002AF2C 24050003 */ li $a1, 3 +/* 02BB30 8002AF30 ACC20014 */ sw $v0, 0x14($a2) +/* 02BB34 8002AF34 8FB90024 */ lw $t9, 0x24($sp) +/* 02BB38 8002AF38 ACD90018 */ sw $t9, 0x18($a2) +/* 02BB3C 8002AF3C 0C009D48 */ jal func_80027520 +/* 02BB40 8002AF40 8D040008 */ lw $a0, 8($t0) +.L8002AF44_ovl0: +/* 02BB44 8002AF44 8FBF0014 */ lw $ra, 0x14($sp) +.L8002AF48_ovl0: +/* 02BB48 8002AF48 27BD0020 */ addiu $sp, $sp, 0x20 +/* 02BB4C 8002AF4C 03E00008 */ jr $ra +/* 02BB50 8002AF50 00000000 */ nop + +glabel func_8002AF54 +/* 02BB54 8002AF54 00000000 */ nop +/* 02BB58 8002AF58 00000000 */ nop +/* 02BB5C 8002AF5C 00000000 */ nop +/* 02BB60 8002AF60 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 02BB64 8002AF64 AFBF0014 */ sw $ra, 0x14($sp) +/* 02BB68 8002AF68 8C8E0034 */ lw $t6, 0x34($a0) +/* 02BB6C 8002AF6C 24010001 */ li $at, 1 +/* 02BB70 8002AF70 00803825 */ move $a3, $a0 +/* 02BB74 8002AF74 15C1002D */ bne $t6, $at, .L8002B02C_ovl0 +/* 02BB78 8002AF78 8C860018 */ lw $a2, 0x18($a0) +/* 02BB7C 8002AF7C 10C0002B */ beqz $a2, .L8002B02C_ovl0 +/* 02BB80 8002AF80 00C02025 */ move $a0, $a2 +/* 02BB84 8002AF84 27A50024 */ addiu $a1, $sp, 0x24 +/* 02BB88 8002AF88 AFA60020 */ sw $a2, 0x20($sp) +/* 02BB8C 8002AF8C 0C00B33B */ jal func_8002CCEC +/* 02BB90 8002AF90 AFA70038 */ sw $a3, 0x38($sp) +/* 02BB94 8002AF94 8FA60020 */ lw $a2, 0x20($sp) +/* 02BB98 8002AF98 10400024 */ beqz $v0, .L8002B02C_ovl0 +/* 02BB9C 8002AF9C 8FA70038 */ lw $a3, 0x38($sp) +/* 02BBA0 8002AFA0 8CEF0090 */ lw $t7, 0x90($a3) +/* 02BBA4 8002AFA4 00C02025 */ move $a0, $a2 +/* 02BBA8 8002AFA8 51E00018 */ beql $t7, $zero, .L8002B00C_ovl0 +/* 02BBAC 8002AFAC A7A00028 */ sh $zero, 0x28($sp) +/* 02BBB0 8002AFB0 AFA60020 */ sw $a2, 0x20($sp) +/* 02BBB4 8002AFB4 0C00B27B */ jal func_8002C9EC +/* 02BBB8 8002AFB8 AFA70038 */ sw $a3, 0x38($sp) +/* 02BBBC 8002AFBC 8FA70038 */ lw $a3, 0x38($sp) +/* 02BBC0 8002AFC0 8FB80024 */ lw $t8, 0x24($sp) +/* 02BBC4 8002AFC4 8FA60020 */ lw $a2, 0x20($sp) +/* 02BBC8 8002AFC8 8CE8008C */ lw $t0, 0x8c($a3) +/* 02BBCC 8002AFCC 0058C821 */ addu $t9, $v0, $t8 +/* 02BBD0 8002AFD0 00C02025 */ move $a0, $a2 +/* 02BBD4 8002AFD4 8D090008 */ lw $t1, 8($t0) +/* 02BBD8 8002AFD8 0329082A */ slt $at, $t9, $t1 +/* 02BBDC 8002AFDC 5420000B */ bnezl $at, .L8002B00C_ovl0 +/* 02BBE0 8002AFE0 A7A00028 */ sh $zero, 0x28($sp) +/* 02BBE4 8002AFE4 8CE50088 */ lw $a1, 0x88($a3) +/* 02BBE8 8002AFE8 0C00B274 */ jal func_8002C9D0 +/* 02BBEC 8002AFEC AFA70038 */ sw $a3, 0x38($sp) +/* 02BBF0 8002AFF0 8FA70038 */ lw $a3, 0x38($sp) +/* 02BBF4 8002AFF4 2401FFFF */ li $at, -1 +/* 02BBF8 8002AFF8 8CE20090 */ lw $v0, 0x90($a3) +/* 02BBFC 8002AFFC 10410002 */ beq $v0, $at, .L8002B008_ovl0 +/* 02BC00 8002B000 244AFFFF */ addiu $t2, $v0, -1 +/* 02BC04 8002B004 ACEA0090 */ sw $t2, 0x90($a3) +.L8002B008_ovl0: +/* 02BC08 8002B008 A7A00028 */ sh $zero, 0x28($sp) +.L8002B00C_ovl0: +/* 02BC0C 8002B00C 8CEB002C */ lw $t3, 0x2c($a3) +/* 02BC10 8002B010 8FAC0024 */ lw $t4, 0x24($sp) +/* 02BC14 8002B014 24E40050 */ addiu $a0, $a3, 0x50 +/* 02BC18 8002B018 27A50028 */ addiu $a1, $sp, 0x28 +/* 02BC1C 8002B01C 016C0019 */ multu $t3, $t4 +/* 02BC20 8002B020 00003012 */ mflo $a2 +/* 02BC24 8002B024 0C009818 */ jal func_80026060 +/* 02BC28 8002B028 00000000 */ nop +.L8002B02C_ovl0: +/* 02BC2C 8002B02C 8FBF0014 */ lw $ra, 0x14($sp) +/* 02BC30 8002B030 27BD0038 */ addiu $sp, $sp, 0x38 +/* 02BC34 8002B034 03E00008 */ jr $ra +/* 02BC38 8002B038 00000000 */ nop + +glabel func_8002B03C +/* 02BC3C 8002B03C 8C8E0068 */ lw $t6, 0x68($a0) +/* 02BC40 8002B040 00061080 */ sll $v0, $a2, 2 +/* 02BC44 8002B044 00461023 */ subu $v0, $v0, $a2 +/* 02BC48 8002B048 000210C0 */ sll $v0, $v0, 3 +/* 02BC4C 8002B04C 01C27821 */ addu $t7, $t6, $v0 +/* 02BC50 8002B050 ADE50000 */ sw $a1, ($t7) +/* 02BC54 8002B054 8C990068 */ lw $t9, 0x68($a0) +/* 02BC58 8002B058 90B80001 */ lbu $t8, 1($a1) +/* 02BC5C 8002B05C 2409007F */ li $t1, 127 +/* 02BC60 8002B060 03224021 */ addu $t0, $t9, $v0 +/* 02BC64 8002B064 A1180007 */ sb $t8, 7($t0) +/* 02BC68 8002B068 8C8A0068 */ lw $t2, 0x68($a0) +/* 02BC6C 8002B06C 01425821 */ addu $t3, $t2, $v0 +/* 02BC70 8002B070 A1690009 */ sb $t1, 9($t3) +/* 02BC74 8002B074 8C8D0068 */ lw $t5, 0x68($a0) +/* 02BC78 8002B078 90AC0002 */ lbu $t4, 2($a1) +/* 02BC7C 8002B07C 01A27021 */ addu $t6, $t5, $v0 +/* 02BC80 8002B080 A1CC0008 */ sb $t4, 8($t6) +/* 02BC84 8002B084 8C990068 */ lw $t9, 0x68($a0) +/* 02BC88 8002B088 84AF000C */ lh $t7, 0xc($a1) +/* 02BC8C 8002B08C 0322C021 */ addu $t8, $t9, $v0 +/* 02BC90 8002B090 A70F0004 */ sh $t7, 4($t8) +/* 02BC94 8002B094 8C8A0068 */ lw $t2, 0x68($a0) +/* 02BC98 8002B098 90A80000 */ lbu $t0, ($a1) +/* 02BC9C 8002B09C 01424821 */ addu $t1, $t2, $v0 +/* 02BCA0 8002B0A0 03E00008 */ jr $ra +/* 02BCA4 8002B0A4 A1280011 */ sb $t0, 0x11($t1) + +glabel func_8002B0A8 +/* 02BCA8 8002B0A8 8C8E0068 */ lw $t6, 0x68($a0) +/* 02BCAC 8002B0AC 00051080 */ sll $v0, $a1, 2 +/* 02BCB0 8002B0B0 00451023 */ subu $v0, $v0, $a1 +/* 02BCB4 8002B0B4 000210C0 */ sll $v0, $v0, 3 +/* 02BCB8 8002B0B8 01C27821 */ addu $t7, $t6, $v0 +/* 02BCBC 8002B0BC A1E00006 */ sb $zero, 6($t7) +/* 02BCC0 8002B0C0 8C980068 */ lw $t8, 0x68($a0) +/* 02BCC4 8002B0C4 24080040 */ li $t0, 64 +/* 02BCC8 8002B0C8 240B007F */ li $t3, 127 +/* 02BCCC 8002B0CC 0302C821 */ addu $t9, $t8, $v0 +/* 02BCD0 8002B0D0 A320000A */ sb $zero, 0xa($t9) +/* 02BCD4 8002B0D4 8C890068 */ lw $t1, 0x68($a0) +/* 02BCD8 8002B0D8 240E0005 */ li $t6, 5 +/* 02BCDC 8002B0DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02BCE0 8002B0E0 01225021 */ addu $t2, $t1, $v0 +/* 02BCE4 8002B0E4 A1480007 */ sb $t0, 7($t2) +/* 02BCE8 8002B0E8 8C8C0068 */ lw $t4, 0x68($a0) +/* 02BCEC 8002B0EC 240800C8 */ li $t0, 200 +/* 02BCF0 8002B0F0 44812000 */ mtc1 $at, $f4 +/* 02BCF4 8002B0F4 01826821 */ addu $t5, $t4, $v0 +/* 02BCF8 8002B0F8 A1AB0009 */ sb $t3, 9($t5) +/* 02BCFC 8002B0FC 8C8F0068 */ lw $t7, 0x68($a0) +/* 02BD00 8002B100 01E2C021 */ addu $t8, $t7, $v0 +/* 02BD04 8002B104 A30E0008 */ sb $t6, 8($t8) +/* 02BD08 8002B108 8C990068 */ lw $t9, 0x68($a0) +/* 02BD0C 8002B10C 2418005F */ li $t8, 95 +/* 02BD10 8002B110 03224821 */ addu $t1, $t9, $v0 +/* 02BD14 8002B114 A120000B */ sb $zero, 0xb($t1) +/* 02BD18 8002B118 8C8A0068 */ lw $t2, 0x68($a0) +/* 02BD1C 8002B11C 01426021 */ addu $t4, $t2, $v0 +/* 02BD20 8002B120 A5880004 */ sh $t0, 4($t4) +/* 02BD24 8002B124 8C8B0068 */ lw $t3, 0x68($a0) +/* 02BD28 8002B128 01626821 */ addu $t5, $t3, $v0 +/* 02BD2C 8002B12C E5A4000C */ swc1 $f4, 0xc($t5) +/* 02BD30 8002B130 8C8F0068 */ lw $t7, 0x68($a0) +/* 02BD34 8002B134 01E27021 */ addu $t6, $t7, $v0 +/* 02BD38 8002B138 A1C00012 */ sb $zero, 0x12($t6) +/* 02BD3C 8002B13C 8C990068 */ lw $t9, 0x68($a0) +/* 02BD40 8002B140 03224821 */ addu $t1, $t9, $v0 +/* 02BD44 8002B144 A1380013 */ sb $t8, 0x13($t1) +/* 02BD48 8002B148 8C8A0068 */ lw $t2, 0x68($a0) +/* 02BD4C 8002B14C 01424021 */ addu $t0, $t2, $v0 +/* 02BD50 8002B150 03E00008 */ jr $ra +/* 02BD54 8002B154 A1000014 */ sb $zero, 0x14($t0) + +glabel func_8002B158 +/* 02BD58 8002B158 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02BD5C 8002B15C AFB20020 */ sw $s2, 0x20($sp) +/* 02BD60 8002B160 00809025 */ move $s2, $a0 +/* 02BD64 8002B164 AFBF0024 */ sw $ra, 0x24($sp) +/* 02BD68 8002B168 AFB1001C */ sw $s1, 0x1c($sp) +/* 02BD6C 8002B16C AFB00018 */ sw $s0, 0x18($sp) +/* 02BD70 8002B170 AFA5002C */ sw $a1, 0x2c($sp) +/* 02BD74 8002B174 00A01025 */ move $v0, $a1 +/* 02BD78 8002B178 8C51000C */ lw $s1, 0xc($v0) +.L8002B17C_ovl0: +/* 02BD7C 8002B17C 24420004 */ addiu $v0, $v0, 4 +/* 02BD80 8002B180 5220FFFE */ beql $s1, $zero, .L8002B17C_ovl0 +/* 02BD84 8002B184 8C51000C */ lw $s1, 0xc($v0) +/* 02BD88 8002B188 924E003C */ lbu $t6, 0x3c($s2) +/* 02BD8C 8002B18C 00008025 */ move $s0, $zero +/* 02BD90 8002B190 19C0000C */ blez $t6, .L8002B1C4_ovl0 +/* 02BD94 8002B194 02402025 */ move $a0, $s2 +.L8002B198_ovl0: +/* 02BD98 8002B198 0C00AC2A */ jal func_8002B0A8 +/* 02BD9C 8002B19C 02002825 */ move $a1, $s0 +/* 02BDA0 8002B1A0 02402025 */ move $a0, $s2 +/* 02BDA4 8002B1A4 02202825 */ move $a1, $s1 +/* 02BDA8 8002B1A8 0C00AC0F */ jal func_8002B03C +/* 02BDAC 8002B1AC 02003025 */ move $a2, $s0 +/* 02BDB0 8002B1B0 924F003C */ lbu $t7, 0x3c($s2) +/* 02BDB4 8002B1B4 26100001 */ addiu $s0, $s0, 1 +/* 02BDB8 8002B1B8 020F082A */ slt $at, $s0, $t7 +/* 02BDBC 8002B1BC 5420FFF6 */ bnezl $at, .L8002B198_ovl0 +/* 02BDC0 8002B1C0 02402025 */ move $a0, $s2 +.L8002B1C4_ovl0: +/* 02BDC4 8002B1C4 8FB8002C */ lw $t8, 0x2c($sp) +/* 02BDC8 8002B1C8 02402025 */ move $a0, $s2 +/* 02BDCC 8002B1CC 8F190008 */ lw $t9, 8($t8) +/* 02BDD0 8002B1D0 53200009 */ beql $t9, $zero, .L8002B1F8_ovl0 +/* 02BDD4 8002B1D4 8FBF0024 */ lw $ra, 0x24($sp) +/* 02BDD8 8002B1D8 0C00AC2A */ jal func_8002B0A8 +/* 02BDDC 8002B1DC 02002825 */ move $a1, $s0 +/* 02BDE0 8002B1E0 8FA8002C */ lw $t0, 0x2c($sp) +/* 02BDE4 8002B1E4 02402025 */ move $a0, $s2 +/* 02BDE8 8002B1E8 24060009 */ li $a2, 9 +/* 02BDEC 8002B1EC 0C00AC0F */ jal func_8002B03C +/* 02BDF0 8002B1F0 8D050008 */ lw $a1, 8($t0) +/* 02BDF4 8002B1F4 8FBF0024 */ lw $ra, 0x24($sp) +.L8002B1F8_ovl0: +/* 02BDF8 8002B1F8 8FB00018 */ lw $s0, 0x18($sp) +/* 02BDFC 8002B1FC 8FB1001C */ lw $s1, 0x1c($sp) +/* 02BE00 8002B200 8FB20020 */ lw $s2, 0x20($sp) +/* 02BE04 8002B204 03E00008 */ jr $ra +/* 02BE08 8002B208 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8002B20C +/* 02BE0C 8002B20C 03E00008 */ jr $ra +/* 02BE10 8002B210 00000000 */ nop + +glabel func_8002B214 +/* 02BE14 8002B214 8C8E0024 */ lw $t6, 0x24($a0) +/* 02BE18 8002B218 240203E8 */ li $v0, 1000 +/* 02BE1C 8002B21C 01C51823 */ subu $v1, $t6, $a1 +/* 02BE20 8002B220 04600003 */ bltz $v1, .L8002B230_ovl0 +/* 02BE24 8002B224 00000000 */ nop +/* 02BE28 8002B228 03E00008 */ jr $ra +/* 02BE2C 8002B22C 00601025 */ move $v0, $v1 + +.L8002B230_ovl0: +/* 02BE30 8002B230 03E00008 */ jr $ra +/* 02BE34 8002B234 00000000 */ nop + +glabel func_8002B238 +/* 02BE38 8002B238 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02BE3C 8002B23C AFBF0014 */ sw $ra, 0x14($sp) +/* 02BE40 8002B240 AFA5002C */ sw $a1, 0x2c($sp) +/* 02BE44 8002B244 908F0033 */ lbu $t7, 0x33($a0) +/* 02BE48 8002B248 908E0036 */ lbu $t6, 0x36($a0) +/* 02BE4C 8002B24C 90990030 */ lbu $t9, 0x30($a0) +/* 02BE50 8002B250 00803025 */ move $a2, $a0 +/* 02BE54 8002B254 01CF0019 */ multu $t6, $t7 +/* 02BE58 8002B258 AFA60028 */ sw $a2, 0x28($sp) +/* 02BE5C 8002B25C 00A02025 */ move $a0, $a1 +/* 02BE60 8002B260 0000C012 */ mflo $t8 +/* 02BE64 8002B264 00000000 */ nop +/* 02BE68 8002B268 00000000 */ nop +/* 02BE6C 8002B26C 03190019 */ multu $t8, $t9 +/* 02BE70 8002B270 00001812 */ mflo $v1 +/* 02BE74 8002B274 00031983 */ sra $v1, $v1, 6 +/* 02BE78 8002B278 0C00B26C */ jal func_8002C9B0 +/* 02BE7C 8002B27C AFA30024 */ sw $v1, 0x24($sp) +/* 02BE80 8002B280 8FA60028 */ lw $a2, 0x28($sp) +/* 02BE84 8002B284 A7A2001E */ sh $v0, 0x1e($sp) +/* 02BE88 8002B288 8FA4002C */ lw $a0, 0x2c($sp) +/* 02BE8C 8002B28C 0C00B434 */ jal func_8002D0D0 +/* 02BE90 8002B290 90C50031 */ lbu $a1, 0x31($a2) +/* 02BE94 8002B294 8FA60028 */ lw $a2, 0x28($sp) +/* 02BE98 8002B298 87AB001E */ lh $t3, 0x1e($sp) +/* 02BE9C 8002B29C 8FA30024 */ lw $v1, 0x24($sp) +/* 02BEA0 8002B2A0 8CC80020 */ lw $t0, 0x20($a2) +/* 02BEA4 8002B2A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 02BEA8 8002B2A8 9109000D */ lbu $t1, 0xd($t0) +/* 02BEAC 8002B2AC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 02BEB0 8002B2B0 00490019 */ multu $v0, $t1 +/* 02BEB4 8002B2B4 00005012 */ mflo $t2 +/* 02BEB8 8002B2B8 00000000 */ nop +/* 02BEBC 8002B2BC 00000000 */ nop +/* 02BEC0 8002B2C0 014B0019 */ multu $t2, $t3 +/* 02BEC4 8002B2C4 00002012 */ mflo $a0 +/* 02BEC8 8002B2C8 00042383 */ sra $a0, $a0, 0xe +/* 02BECC 8002B2CC 00000000 */ nop +/* 02BED0 8002B2D0 00640019 */ multu $v1, $a0 +/* 02BED4 8002B2D4 00001812 */ mflo $v1 +/* 02BED8 8002B2D8 00031BC2 */ srl $v1, $v1, 0xf +/* 02BEDC 8002B2DC 00031400 */ sll $v0, $v1, 0x10 +/* 02BEE0 8002B2E0 03E00008 */ jr $ra +/* 02BEE4 8002B2E4 00021403 */ sra $v0, $v0, 0x10 + +glabel func_8002B2E8 +/* 02BEE8 8002B2E8 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 02BEEC 8002B2EC AFBF0034 */ sw $ra, 0x34($sp) +/* 02BEF0 8002B2F0 AFB60030 */ sw $s6, 0x30($sp) +/* 02BEF4 8002B2F4 AFB5002C */ sw $s5, 0x2c($sp) +/* 02BEF8 8002B2F8 AFB40028 */ sw $s4, 0x28($sp) +/* 02BEFC 8002B2FC AFB30024 */ sw $s3, 0x24($sp) +/* 02BF00 8002B300 AFB20020 */ sw $s2, 0x20($sp) +/* 02BF04 8002B304 AFB1001C */ sw $s1, 0x1c($sp) +/* 02BF08 8002B308 AFB00018 */ sw $s0, 0x18($sp) +/* 02BF0C 8002B30C AFA60068 */ sw $a2, 0x68($sp) +/* 02BF10 8002B310 8CB60010 */ lw $s6, 0x10($a1) +/* 02BF14 8002B314 0080A025 */ move $s4, $a0 +/* 02BF18 8002B318 00A0A825 */ move $s5, $a1 +/* 02BF1C 8002B31C 92CE0034 */ lbu $t6, 0x34($s6) +/* 02BF20 8002B320 55C0001A */ bnezl $t6, .L8002B38C_ovl0 +/* 02BF24 8002B324 240A0003 */ li $t2, 3 +/* 02BF28 8002B328 8C900058 */ lw $s0, 0x58($a0) +/* 02BF2C 8002B32C 24130006 */ li $s3, 6 +/* 02BF30 8002B330 52000016 */ beql $s0, $zero, .L8002B38C_ovl0 +/* 02BF34 8002B334 240A0003 */ li $t2, 3 +.L8002B338_ovl0: +/* 02BF38 8002B338 860F000C */ lh $t7, 0xc($s0) +/* 02BF3C 8002B33C 8E110000 */ lw $s1, ($s0) +/* 02BF40 8002B340 166F000F */ bne $s3, $t7, .L8002B380_ovl0 +/* 02BF44 8002B344 00000000 */ nop +/* 02BF48 8002B348 8E180010 */ lw $t8, 0x10($s0) +/* 02BF4C 8002B34C 16B8000C */ bne $s5, $t8, .L8002B380_ovl0 +/* 02BF50 8002B350 00000000 */ nop +/* 02BF54 8002B354 12200005 */ beqz $s1, .L8002B36C_ovl0 +/* 02BF58 8002B358 26920050 */ addiu $s2, $s4, 0x50 +/* 02BF5C 8002B35C 8E390008 */ lw $t9, 8($s1) +/* 02BF60 8002B360 8E080008 */ lw $t0, 8($s0) +/* 02BF64 8002B364 03284821 */ addu $t1, $t9, $t0 +/* 02BF68 8002B368 AE290008 */ sw $t1, 8($s1) +.L8002B36C_ovl0: +/* 02BF6C 8002B36C 0C0097DD */ jal func_80025F74 +/* 02BF70 8002B370 02002025 */ move $a0, $s0 +/* 02BF74 8002B374 02002025 */ move $a0, $s0 +/* 02BF78 8002B378 0C0097D4 */ jal func_80025F50 +/* 02BF7C 8002B37C 02402825 */ move $a1, $s2 +.L8002B380_ovl0: +/* 02BF80 8002B380 1620FFED */ bnez $s1, .L8002B338_ovl0 +/* 02BF84 8002B384 02208025 */ move $s0, $s1 +/* 02BF88 8002B388 240A0003 */ li $t2, 3 +.L8002B38C_ovl0: +/* 02BF8C 8002B38C A2C00033 */ sb $zero, 0x33($s6) +/* 02BF90 8002B390 A2CA0034 */ sb $t2, 0x34($s6) +/* 02BF94 8002B394 A2C00030 */ sb $zero, 0x30($s6) +/* 02BF98 8002B398 8FAC0068 */ lw $t4, 0x68($sp) +/* 02BF9C 8002B39C 8E8B001C */ lw $t3, 0x1c($s4) +/* 02BFA0 8002B3A0 02A02025 */ move $a0, $s5 +/* 02BFA4 8002B3A4 00002825 */ move $a1, $zero +/* 02BFA8 8002B3A8 016C6821 */ addu $t5, $t3, $t4 +/* 02BFAC 8002B3AC AECD0024 */ sw $t5, 0x24($s6) +/* 02BFB0 8002B3B0 0C00B264 */ jal func_8002C990 +/* 02BFB4 8002B3B4 26920050 */ addiu $s2, $s4, 0x50 +/* 02BFB8 8002B3B8 02A02025 */ move $a0, $s5 +/* 02BFBC 8002B3BC 00002825 */ move $a1, $zero +/* 02BFC0 8002B3C0 0C00B494 */ jal func_8002D250 +/* 02BFC4 8002B3C4 8FA60068 */ lw $a2, 0x68($sp) +/* 02BFC8 8002B3C8 240E0005 */ li $t6, 5 +/* 02BFCC 8002B3CC A7AE0050 */ sh $t6, 0x50($sp) +/* 02BFD0 8002B3D0 AFB50054 */ sw $s5, 0x54($sp) +/* 02BFD4 8002B3D4 02402025 */ move $a0, $s2 +/* 02BFD8 8002B3D8 27A50050 */ addiu $a1, $sp, 0x50 +/* 02BFDC 8002B3DC 0C009818 */ jal func_80026060 +/* 02BFE0 8002B3E0 8FA60068 */ lw $a2, 0x68($sp) +/* 02BFE4 8002B3E4 8FBF0034 */ lw $ra, 0x34($sp) +/* 02BFE8 8002B3E8 8FB00018 */ lw $s0, 0x18($sp) +/* 02BFEC 8002B3EC 8FB1001C */ lw $s1, 0x1c($sp) +/* 02BFF0 8002B3F0 8FB20020 */ lw $s2, 0x20($sp) +/* 02BFF4 8002B3F4 8FB30024 */ lw $s3, 0x24($sp) +/* 02BFF8 8002B3F8 8FB40028 */ lw $s4, 0x28($sp) +/* 02BFFC 8002B3FC 8FB5002C */ lw $s5, 0x2c($sp) +/* 02C000 8002B400 8FB60030 */ lw $s6, 0x30($sp) +/* 02C004 8002B404 03E00008 */ jr $ra +/* 02C008 8002B408 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8002B40C +/* 02C00C 8002B40C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 02C010 8002B410 AFBF0014 */ sw $ra, 0x14($sp) +/* 02C014 8002B414 8C870058 */ lw $a3, 0x58($a0) +/* 02C018 8002B418 00805025 */ move $t2, $a0 +/* 02C01C 8002B41C 00004025 */ move $t0, $zero +/* 02C020 8002B420 10E0001F */ beqz $a3, .L8002B4A0_ovl0 +/* 02C024 8002B424 24090001 */ li $t1, 1 +/* 02C028 8002B428 24040005 */ li $a0, 5 +.L8002B42C_ovl0: +/* 02C02C 8002B42C 84EE000C */ lh $t6, 0xc($a3) +/* 02C030 8002B430 8CE30008 */ lw $v1, 8($a3) +/* 02C034 8002B434 8CE20000 */ lw $v0, ($a3) +/* 02C038 8002B438 148E0017 */ bne $a0, $t6, .L8002B498_ovl0 +/* 02C03C 8002B43C 01034021 */ addu $t0, $t0, $v1 +/* 02C040 8002B440 8CEF0010 */ lw $t7, 0x10($a3) +/* 02C044 8002B444 14AF0014 */ bne $a1, $t7, .L8002B498_ovl0 +/* 02C048 8002B448 00C8082A */ slt $at, $a2, $t0 +/* 02C04C 8002B44C 10200010 */ beqz $at, .L8002B490_ovl0 +/* 02C050 8002B450 00E02025 */ move $a0, $a3 +/* 02C054 8002B454 50400005 */ beql $v0, $zero, .L8002B46C_ovl0 +/* 02C058 8002B458 AFA7002C */ sw $a3, 0x2c($sp) +/* 02C05C 8002B45C 8C580008 */ lw $t8, 8($v0) +/* 02C060 8002B460 0303C821 */ addu $t9, $t8, $v1 +/* 02C064 8002B464 AC590008 */ sw $t9, 8($v0) +/* 02C068 8002B468 AFA7002C */ sw $a3, 0x2c($sp) +.L8002B46C_ovl0: +/* 02C06C 8002B46C A3A9001F */ sb $t1, 0x1f($sp) +/* 02C070 8002B470 0C0097DD */ jal func_80025F74 +/* 02C074 8002B474 AFAA0030 */ sw $t2, 0x30($sp) +/* 02C078 8002B478 8FAA0030 */ lw $t2, 0x30($sp) +/* 02C07C 8002B47C 8FA4002C */ lw $a0, 0x2c($sp) +/* 02C080 8002B480 0C0097D4 */ jal func_80025F50 +/* 02C084 8002B484 25450050 */ addiu $a1, $t2, 0x50 +/* 02C088 8002B488 10000005 */ b .L8002B4A0_ovl0 +/* 02C08C 8002B48C 93A9001F */ lbu $t1, 0x1f($sp) +.L8002B490_ovl0: +/* 02C090 8002B490 10000003 */ b .L8002B4A0_ovl0 +/* 02C094 8002B494 00004825 */ move $t1, $zero +.L8002B498_ovl0: +/* 02C098 8002B498 1440FFE4 */ bnez $v0, .L8002B42C_ovl0 +/* 02C09C 8002B49C 00403825 */ move $a3, $v0 +.L8002B4A0_ovl0: +/* 02C0A0 8002B4A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 02C0A4 8002B4A4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 02C0A8 8002B4A8 01201025 */ move $v0, $t1 +/* 02C0AC 8002B4AC 03E00008 */ jr $ra +/* 02C0B0 8002B4B0 00000000 */ nop + +glabel func_8002B4B4 +/* 02C0B4 8002B4B4 8C83006C */ lw $v1, 0x6c($a0) +/* 02C0B8 8002B4B8 00001025 */ move $v0, $zero +/* 02C0BC 8002B4BC 24A6FFFC */ addiu $a2, $a1, -4 +/* 02C0C0 8002B4C0 10600016 */ beqz $v1, .L8002B51C_ovl0 +/* 02C0C4 8002B4C4 00000000 */ nop +.L8002B4C8_ovl0: +/* 02C0C8 8002B4C8 54660011 */ bnel $v1, $a2, .L8002B510_ovl0 +/* 02C0CC 8002B4CC 00601025 */ move $v0, $v1 +/* 02C0D0 8002B4D0 50400005 */ beql $v0, $zero, .L8002B4E8_ovl0 +/* 02C0D4 8002B4D4 8C6F0000 */ lw $t7, ($v1) +/* 02C0D8 8002B4D8 8C6E0000 */ lw $t6, ($v1) +/* 02C0DC 8002B4DC 10000003 */ b .L8002B4EC_ovl0 +/* 02C0E0 8002B4E0 AC4E0000 */ sw $t6, ($v0) +/* 02C0E4 8002B4E4 8C6F0000 */ lw $t7, ($v1) +.L8002B4E8_ovl0: +/* 02C0E8 8002B4E8 AC8F006C */ sw $t7, 0x6c($a0) +.L8002B4EC_ovl0: +/* 02C0EC 8002B4EC 8C980070 */ lw $t8, 0x70($a0) +/* 02C0F0 8002B4F0 54780003 */ bnel $v1, $t8, .L8002B500_ovl0 +/* 02C0F4 8002B4F4 8C990074 */ lw $t9, 0x74($a0) +/* 02C0F8 8002B4F8 AC820070 */ sw $v0, 0x70($a0) +/* 02C0FC 8002B4FC 8C990074 */ lw $t9, 0x74($a0) +.L8002B500_ovl0: +/* 02C100 8002B500 AC790000 */ sw $t9, ($v1) +/* 02C104 8002B504 03E00008 */ jr $ra +/* 02C108 8002B508 AC830074 */ sw $v1, 0x74($a0) + +glabel func_8002B50C +/* 02C10C 8002B50C 00601025 */ move $v0, $v1 +.L8002B510_ovl0: +/* 02C110 8002B510 8C630000 */ lw $v1, ($v1) +/* 02C114 8002B514 1460FFEC */ bnez $v1, .L8002B4C8_ovl0 +/* 02C118 8002B518 00000000 */ nop +.L8002B51C_ovl0: +/* 02C11C 8002B51C 03E00008 */ jr $ra +/* 02C120 8002B520 00000000 */ nop + +glabel func_8002B524 +/* 02C124 8002B524 908E0008 */ lbu $t6, 8($a0) +/* 02C128 8002B528 240100FF */ li $at, 255 +/* 02C12C 8002B52C 15C10019 */ bne $t6, $at, .L8002B594_ovl0 +/* 02C130 8002B530 00000000 */ nop +/* 02C134 8002B534 908F0009 */ lbu $t7, 9($a0) +/* 02C138 8002B538 24010051 */ li $at, 81 +/* 02C13C 8002B53C 24820004 */ addiu $v0, $a0, 4 +/* 02C140 8002B540 15E10014 */ bne $t7, $at, .L8002B594_ovl0 +/* 02C144 8002B544 00000000 */ nop +/* 02C148 8002B548 904E0008 */ lbu $t6, 8($v0) +/* 02C14C 8002B54C 90580007 */ lbu $t8, 7($v0) +/* 02C150 8002B550 8CA60018 */ lw $a2, 0x18($a1) +/* 02C154 8002B554 000E7A00 */ sll $t7, $t6, 8 +/* 02C158 8002B558 904E0009 */ lbu $t6, 9($v0) +/* 02C15C 8002B55C 0018CC00 */ sll $t9, $t8, 0x10 +/* 02C160 8002B560 032FC025 */ or $t8, $t9, $t7 +/* 02C164 8002B564 030E1825 */ or $v1, $t8, $t6 +/* 02C168 8002B568 44832000 */ mtc1 $v1, $f4 +/* 02C16C 8002B56C 241801E8 */ li $t8, 488 +/* 02C170 8002B570 10C00007 */ beqz $a2, .L8002B590_ovl0 +/* 02C174 8002B574 46802020 */ cvt.s.w $f0, $f4 +/* 02C178 8002B578 C4C60014 */ lwc1 $f6, 0x14($a2) +/* 02C17C 8002B57C 46060202 */ mul.s $f8, $f0, $f6 +/* 02C180 8002B580 4600428D */ trunc.w.s $f10, $f8 +/* 02C184 8002B584 440F5000 */ mfc1 $t7, $f10 +/* 02C188 8002B588 03E00008 */ jr $ra +/* 02C18C 8002B58C ACAF002C */ sw $t7, 0x2c($a1) + +.L8002B590_ovl0: +/* 02C190 8002B590 ACB8002C */ sw $t8, 0x2c($a1) +.L8002B594_ovl0: +/* 02C194 8002B594 03E00008 */ jr $ra +/* 02C198 8002B598 00000000 */ nop + +glabel func_8002B59C +/* 02C19C 8002B59C 8C8E0068 */ lw $t6, 0x68($a0) +/* 02C1A0 8002B5A0 00061080 */ sll $v0, $a2, 2 +/* 02C1A4 8002B5A4 00461023 */ subu $v0, $v0, $a2 +/* 02C1A8 8002B5A8 000210C0 */ sll $v0, $v0, 3 +/* 02C1AC 8002B5AC 01C27821 */ addu $t7, $t6, $v0 +/* 02C1B0 8002B5B0 ADE50000 */ sw $a1, ($t7) +/* 02C1B4 8002B5B4 8C990068 */ lw $t9, 0x68($a0) +/* 02C1B8 8002B5B8 90B80002 */ lbu $t8, 2($a1) +/* 02C1BC 8002B5BC 03224021 */ addu $t0, $t9, $v0 +/* 02C1C0 8002B5C0 A1180008 */ sb $t8, 8($t0) +/* 02C1C4 8002B5C4 8C8A0068 */ lw $t2, 0x68($a0) +/* 02C1C8 8002B5C8 84A9000C */ lh $t1, 0xc($a1) +/* 02C1CC 8002B5CC 01425821 */ addu $t3, $t2, $v0 +/* 02C1D0 8002B5D0 A5690004 */ sh $t1, 4($t3) +/* 02C1D4 8002B5D4 8C8D0068 */ lw $t5, 0x68($a0) +/* 02C1D8 8002B5D8 90AC0000 */ lbu $t4, ($a1) +/* 02C1DC 8002B5DC 01A27021 */ addu $t6, $t5, $v0 +/* 02C1E0 8002B5E0 03E00008 */ jr $ra +/* 02C1E4 8002B5E4 A1CC0011 */ sb $t4, 0x11($t6) + +glabel func_8002B5E8 +/* 02C1E8 8002B5E8 908F0031 */ lbu $t7, 0x31($a0) +/* 02C1EC 8002B5EC 8CAE0068 */ lw $t6, 0x68($a1) +/* 02C1F0 8002B5F0 8C890020 */ lw $t1, 0x20($a0) +/* 02C1F4 8002B5F4 000FC080 */ sll $t8, $t7, 2 +/* 02C1F8 8002B5F8 030FC023 */ subu $t8, $t8, $t7 +/* 02C1FC 8002B5FC 0018C0C0 */ sll $t8, $t8, 3 +/* 02C200 8002B600 01D8C821 */ addu $t9, $t6, $t8 +/* 02C204 8002B604 93280007 */ lbu $t0, 7($t9) +/* 02C208 8002B608 912A000C */ lbu $t2, 0xc($t1) +/* 02C20C 8002B60C 010A1821 */ addu $v1, $t0, $t2 +/* 02C210 8002B610 2463FFC0 */ addiu $v1, $v1, -0x40 +/* 02C214 8002B614 5C600003 */ bgtzl $v1, .L8002B624_ovl0 +/* 02C218 8002B618 2861007F */ slti $at, $v1, 0x7f +/* 02C21C 8002B61C 00001825 */ move $v1, $zero +/* 02C220 8002B620 2861007F */ slti $at, $v1, 0x7f +.L8002B624_ovl0: +/* 02C224 8002B624 14200002 */ bnez $at, .L8002B630_ovl0 +/* 02C228 8002B628 00000000 */ nop +/* 02C22C 8002B62C 2403007F */ li $v1, 127 +.L8002B630_ovl0: +/* 02C230 8002B630 03E00008 */ jr $ra +/* 02C234 8002B634 306200FF */ andi $v0, $v1, 0xff + +glabel func_8002B638 +/* 02C238 8002B638 AFA50004 */ sw $a1, 4($sp) +/* 02C23C 8002B63C AFA60008 */ sw $a2, 8($sp) +/* 02C240 8002B640 8C83006C */ lw $v1, 0x6c($a0) +/* 02C244 8002B644 30A500FF */ andi $a1, $a1, 0xff +/* 02C248 8002B648 30C600FF */ andi $a2, $a2, 0xff +/* 02C24C 8002B64C 10600013 */ beqz $v1, .L8002B69C_ovl0 +/* 02C250 8002B650 00A01025 */ move $v0, $a1 +/* 02C254 8002B654 24070004 */ li $a3, 4 +/* 02C258 8002B658 24050003 */ li $a1, 3 +/* 02C25C 8002B65C 906E0032 */ lbu $t6, 0x32($v1) +.L8002B660_ovl0: +/* 02C260 8002B660 544E000C */ bnel $v0, $t6, .L8002B694_ovl0 +/* 02C264 8002B664 8C630000 */ lw $v1, ($v1) +/* 02C268 8002B668 906F0031 */ lbu $t7, 0x31($v1) +/* 02C26C 8002B66C 54CF0009 */ bnel $a2, $t7, .L8002B694_ovl0 +/* 02C270 8002B670 8C630000 */ lw $v1, ($v1) +/* 02C274 8002B674 90640035 */ lbu $a0, 0x35($v1) +/* 02C278 8002B678 50A40006 */ beql $a1, $a0, .L8002B694_ovl0 +/* 02C27C 8002B67C 8C630000 */ lw $v1, ($v1) +/* 02C280 8002B680 50E40004 */ beql $a3, $a0, .L8002B694_ovl0 +/* 02C284 8002B684 8C630000 */ lw $v1, ($v1) +/* 02C288 8002B688 03E00008 */ jr $ra +/* 02C28C 8002B68C 00601025 */ move $v0, $v1 + +glabel func_8002B690 +/* 02C290 8002B690 8C630000 */ lw $v1, ($v1) +.L8002B694_ovl0: +/* 02C294 8002B694 5460FFF2 */ bnezl $v1, .L8002B660_ovl0 +/* 02C298 8002B698 906E0032 */ lbu $t6, 0x32($v1) +.L8002B69C_ovl0: +/* 02C29C 8002B69C 00001025 */ move $v0, $zero +/* 02C2A0 8002B6A0 03E00008 */ jr $ra +/* 02C2A4 8002B6A4 00000000 */ nop + +glabel func_8002B6A8 +/* 02C2A8 8002B6A8 AFA50004 */ sw $a1, 4($sp) +/* 02C2AC 8002B6AC AFA60008 */ sw $a2, 8($sp) +/* 02C2B0 8002B6B0 AFA7000C */ sw $a3, 0xc($sp) +/* 02C2B4 8002B6B4 8C830074 */ lw $v1, 0x74($a0) +/* 02C2B8 8002B6B8 30E700FF */ andi $a3, $a3, 0xff +/* 02C2BC 8002B6BC 30C600FF */ andi $a2, $a2, 0xff +/* 02C2C0 8002B6C0 10600010 */ beqz $v1, .L8002B704_ovl0 +/* 02C2C4 8002B6C4 30A500FF */ andi $a1, $a1, 0xff +/* 02C2C8 8002B6C8 8C6E0000 */ lw $t6, ($v1) +/* 02C2CC 8002B6CC AC8E0074 */ sw $t6, 0x74($a0) +/* 02C2D0 8002B6D0 AC600000 */ sw $zero, ($v1) +/* 02C2D4 8002B6D4 8C8F006C */ lw $t7, 0x6c($a0) +/* 02C2D8 8002B6D8 55E00004 */ bnezl $t7, .L8002B6EC_ovl0 +/* 02C2DC 8002B6DC 8C980070 */ lw $t8, 0x70($a0) +/* 02C2E0 8002B6E0 10000003 */ b .L8002B6F0_ovl0 +/* 02C2E4 8002B6E4 AC83006C */ sw $v1, 0x6c($a0) +/* 02C2E8 8002B6E8 8C980070 */ lw $t8, 0x70($a0) +.L8002B6EC_ovl0: +/* 02C2EC 8002B6EC AF030000 */ sw $v1, ($t8) +.L8002B6F0_ovl0: +/* 02C2F0 8002B6F0 AC830070 */ sw $v1, 0x70($a0) +/* 02C2F4 8002B6F4 A0670031 */ sb $a3, 0x31($v1) +/* 02C2F8 8002B6F8 A0650032 */ sb $a1, 0x32($v1) +/* 02C2FC 8002B6FC A0660033 */ sb $a2, 0x33($v1) +/* 02C300 8002B700 AC630014 */ sw $v1, 0x14($v1) +.L8002B704_ovl0: +/* 02C304 8002B704 03E00008 */ jr $ra +/* 02C308 8002B708 00601025 */ move $v0, $v1 + +glabel func_8002B70C +/* 02C30C 8002B70C AFA7000C */ sw $a3, 0xc($sp) +/* 02C310 8002B710 30E700FF */ andi $a3, $a3, 0xff +/* 02C314 8002B714 AFA50004 */ sw $a1, 4($sp) +/* 02C318 8002B718 AFA60008 */ sw $a2, 8($sp) +/* 02C31C 8002B71C 8C8E0068 */ lw $t6, 0x68($a0) +/* 02C320 8002B720 00077880 */ sll $t7, $a3, 2 +/* 02C324 8002B724 01E77823 */ subu $t7, $t7, $a3 +/* 02C328 8002B728 000F78C0 */ sll $t7, $t7, 3 +/* 02C32C 8002B72C 01CFC021 */ addu $t8, $t6, $t7 +/* 02C330 8002B730 8F020000 */ lw $v0, ($t8) +/* 02C334 8002B734 30A500FF */ andi $a1, $a1, 0xff +/* 02C338 8002B738 30CB00FF */ andi $t3, $a2, 0xff +/* 02C33C 8002B73C 8448000E */ lh $t0, 0xe($v0) +/* 02C340 8002B740 24030001 */ li $v1, 1 +/* 02C344 8002B744 00A04825 */ move $t1, $a1 +/* 02C348 8002B748 1900002E */ blez $t0, .L8002B804_ovl0 +/* 02C34C 8002B74C 00682821 */ addu $a1, $v1, $t0 +.L8002B750_ovl0: +/* 02C350 8002B750 04A10002 */ bgez $a1, .L8002B75C_ovl0 +/* 02C354 8002B754 00A00821 */ addu $at, $a1, $zero +/* 02C358 8002B758 24A10001 */ addiu $at, $a1, 1 +.L8002B75C_ovl0: +/* 02C35C 8002B75C 00012843 */ sra $a1, $at, 1 +/* 02C360 8002B760 0005C880 */ sll $t9, $a1, 2 +/* 02C364 8002B764 00596021 */ addu $t4, $v0, $t9 +/* 02C368 8002B768 8D87000C */ lw $a3, 0xc($t4) +/* 02C36C 8002B76C 00A02025 */ move $a0, $a1 +/* 02C370 8002B770 8CE60004 */ lw $a2, 4($a3) +/* 02C374 8002B774 90CA0002 */ lbu $t2, 2($a2) +/* 02C378 8002B778 012A082A */ slt $at, $t1, $t2 +/* 02C37C 8002B77C 54200011 */ bnezl $at, .L8002B7C4_ovl0 +/* 02C380 8002B780 012A082A */ slt $at, $t1, $t2 +/* 02C384 8002B784 90CD0003 */ lbu $t5, 3($a2) +/* 02C388 8002B788 01A9082A */ slt $at, $t5, $t1 +/* 02C38C 8002B78C 5420000D */ bnezl $at, .L8002B7C4_ovl0 +/* 02C390 8002B790 012A082A */ slt $at, $t1, $t2 +/* 02C394 8002B794 90CE0000 */ lbu $t6, ($a2) +/* 02C398 8002B798 01602825 */ move $a1, $t3 +/* 02C39C 8002B79C 016E082A */ slt $at, $t3, $t6 +/* 02C3A0 8002B7A0 54200008 */ bnezl $at, .L8002B7C4_ovl0 +/* 02C3A4 8002B7A4 012A082A */ slt $at, $t1, $t2 +/* 02C3A8 8002B7A8 90CF0001 */ lbu $t7, 1($a2) +/* 02C3AC 8002B7AC 01E5082A */ slt $at, $t7, $a1 +/* 02C3B0 8002B7B0 54200004 */ bnezl $at, .L8002B7C4_ovl0 +/* 02C3B4 8002B7B4 012A082A */ slt $at, $t1, $t2 +/* 02C3B8 8002B7B8 03E00008 */ jr $ra +/* 02C3BC 8002B7BC 00E01025 */ move $v0, $a3 + +glabel func_8002B7C0 +/* 02C3C0 8002B7C0 012A082A */ slt $at, $t1, $t2 +.L8002B7C4_ovl0: +/* 02C3C4 8002B7C4 14200009 */ bnez $at, .L8002B7EC_ovl0 +/* 02C3C8 8002B7C8 00000000 */ nop +/* 02C3CC 8002B7CC 90D80000 */ lbu $t8, ($a2) +/* 02C3D0 8002B7D0 0178082A */ slt $at, $t3, $t8 +/* 02C3D4 8002B7D4 50200008 */ beql $at, $zero, .L8002B7F8_ovl0 +/* 02C3D8 8002B7D8 24830001 */ addiu $v1, $a0, 1 +/* 02C3DC 8002B7DC 90D90003 */ lbu $t9, 3($a2) +/* 02C3E0 8002B7E0 0329082A */ slt $at, $t9, $t1 +/* 02C3E4 8002B7E4 54200004 */ bnezl $at, .L8002B7F8_ovl0 +/* 02C3E8 8002B7E8 24830001 */ addiu $v1, $a0, 1 +.L8002B7EC_ovl0: +/* 02C3EC 8002B7EC 10000002 */ b .L8002B7F8_ovl0 +/* 02C3F0 8002B7F0 2488FFFF */ addiu $t0, $a0, -1 +/* 02C3F4 8002B7F4 24830001 */ addiu $v1, $a0, 1 +.L8002B7F8_ovl0: +/* 02C3F8 8002B7F8 0103082A */ slt $at, $t0, $v1 +/* 02C3FC 8002B7FC 5020FFD4 */ beql $at, $zero, .L8002B750_ovl0 +/* 02C400 8002B800 00682821 */ addu $a1, $v1, $t0 +.L8002B804_ovl0: +/* 02C404 8002B804 00001025 */ move $v0, $zero +/* 02C408 8002B808 03E00008 */ jr $ra +/* 02C40C 8002B80C 00000000 */ nop + +glabel func_8002B810 +/* 02C410 8002B810 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 02C414 8002B814 AFBF0024 */ sw $ra, 0x24($sp) +/* 02C418 8002B818 90960008 */ lbu $s6, 8($a0) +/* 02C41C 8002B81C 90910009 */ lbu $s1, 9($a0) +/* 02C420 8002B820 9094000A */ lbu $s4, 0xa($a0) +/* 02C424 8002B824 32C300F0 */ andi $v1, $s6, 0xf0 +/* 02C428 8002B828 246EFF80 */ addiu $t6, $v1, -0x80 +/* 02C42C 8002B82C 2DC10061 */ sltiu $at, $t6, 0x61 +/* 02C430 8002B830 102001FE */ beqz $at, .L8002C02C_ovl0 +/* 02C434 8002B834 32D6000F */ andi $s6, $s6, 0xf +/* 02C438 8002B838 000E7080 */ sll $t6, $t6, 2 +/* 02C43C 8002B83C 3C018004 */ lui $at, %hi(D_800417F0) +/* 02C440 8002B840 002E0821 */ addu $at, $at, $t6 +/* 02C444 8002B844 8C2E17F0 */ lw $t6, %lo(D_800417F0)($at) +/* 02C448 8002B848 01C00008 */ jr $t6 +/* 02C44C 8002B84C 00000000 */ nop +/* 02C450 8002B850 528000D6 */ beql $s4, $zero, .L8002BBAC_ovl0 +/* 02C454 8002B854 02402025 */ move $a0, $s2 +/* 02C458 8002B858 8E4F0034 */ lw $t7, 0x34($s2) +/* 02C45C 8002B85C 24010001 */ li $at, 1 +/* 02C460 8002B860 02402025 */ move $a0, $s2 +/* 02C464 8002B864 15E101F1 */ bne $t7, $at, .L8002C02C_ovl0 +/* 02C468 8002B868 322500FF */ andi $a1, $s1, 0xff +/* 02C46C 8002B86C 328600FF */ andi $a2, $s4, 0xff +/* 02C470 8002B870 0C00ADC3 */ jal func_8002B70C +/* 02C474 8002B874 32C700FF */ andi $a3, $s6, 0xff +/* 02C478 8002B878 104001EC */ beqz $v0, .L8002C02C_ovl0 +/* 02C47C 8002B87C 0040B825 */ move $s7, $v0 +/* 02C480 8002B880 8E580068 */ lw $t8, 0x68($s2) +/* 02C484 8002B884 0016F080 */ sll $fp, $s6, 2 +/* 02C488 8002B888 03D6F023 */ subu $fp, $fp, $s6 +/* 02C48C 8002B88C 001EF0C0 */ sll $fp, $fp, 3 +/* 02C490 8002B890 031EC821 */ addu $t9, $t8, $fp +/* 02C494 8002B894 932E0008 */ lbu $t6, 8($t9) +/* 02C498 8002B898 A7A0008E */ sh $zero, 0x8e($sp) +/* 02C49C 8002B89C A3A00090 */ sb $zero, 0x90($sp) +/* 02C4A0 8002B8A0 02402025 */ move $a0, $s2 +/* 02C4A4 8002B8A4 322500FF */ andi $a1, $s1, 0xff +/* 02C4A8 8002B8A8 328600FF */ andi $a2, $s4, 0xff +/* 02C4AC 8002B8AC 32C700FF */ andi $a3, $s6, 0xff +/* 02C4B0 8002B8B0 0C00ADAA */ jal func_8002B6A8 +/* 02C4B4 8002B8B4 A7AE008C */ sh $t6, 0x8c($sp) +/* 02C4B8 8002B8B8 104001DC */ beqz $v0, .L8002C02C_ovl0 +/* 02C4BC 8002B8BC 00408025 */ move $s0, $v0 +/* 02C4C0 8002B8C0 24440004 */ addiu $a0, $v0, 4 +/* 02C4C4 8002B8C4 AFA40034 */ sw $a0, 0x34($sp) +/* 02C4C8 8002B8C8 0C00AAF4 */ jal func_8002ABD0 +/* 02C4CC 8002B8CC 27A5008C */ addiu $a1, $sp, 0x8c +/* 02C4D0 8002B8D0 AE170020 */ sw $s7, 0x20($s0) +/* 02C4D4 8002B8D4 A2000034 */ sb $zero, 0x34($s0) +/* 02C4D8 8002B8D8 8E4F0068 */ lw $t7, 0x68($s2) +/* 02C4DC 8002B8DC 24150002 */ li $s5, 2 +/* 02C4E0 8002B8E0 01FEC021 */ addu $t8, $t7, $fp +/* 02C4E4 8002B8E4 9319000B */ lbu $t9, 0xb($t8) +/* 02C4E8 8002B8E8 2B210040 */ slti $at, $t9, 0x40 +/* 02C4EC 8002B8EC 54200004 */ bnezl $at, .L8002B900_ovl0 +/* 02C4F0 8002B8F0 A2000035 */ sb $zero, 0x35($s0) +/* 02C4F4 8002B8F4 10000002 */ b .L8002B900_ovl0 +/* 02C4F8 8002B8F8 A2150035 */ sb $s5, 0x35($s0) +/* 02C4FC 8002B8FC A2000035 */ sb $zero, 0x35($s0) +.L8002B900_ovl0: +/* 02C500 8002B900 8EE20004 */ lw $v0, 4($s7) +/* 02C504 8002B904 904E0004 */ lbu $t6, 4($v0) +/* 02C508 8002B908 80590005 */ lb $t9, 5($v0) +/* 02C50C 8002B90C 022E7823 */ subu $t7, $s1, $t6 +/* 02C510 8002B910 000FC080 */ sll $t8, $t7, 2 +/* 02C514 8002B914 030FC023 */ subu $t8, $t8, $t7 +/* 02C518 8002B918 0018C0C0 */ sll $t8, $t8, 3 +/* 02C51C 8002B91C 030FC021 */ addu $t8, $t8, $t7 +/* 02C520 8002B920 0018C080 */ sll $t8, $t8, 2 +/* 02C524 8002B924 03192021 */ addu $a0, $t8, $t9 +/* 02C528 8002B928 00042400 */ sll $a0, $a0, 0x10 +/* 02C52C 8002B92C 0C00DC20 */ jal func_80037080 +/* 02C530 8002B930 00042403 */ sra $a0, $a0, 0x10 +/* 02C534 8002B934 E6000028 */ swc1 $f0, 0x28($s0) +/* 02C538 8002B938 8EEE0000 */ lw $t6, ($s7) +/* 02C53C 8002B93C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 02C540 8002B940 44812000 */ mtc1 $at, $f4 +/* 02C544 8002B944 91CF000C */ lbu $t7, 0xc($t6) +/* 02C548 8002B948 A20F0030 */ sb $t7, 0x30($s0) +/* 02C54C 8002B94C 8EF90000 */ lw $t9, ($s7) +/* 02C550 8002B950 8E58001C */ lw $t8, 0x1c($s2) +/* 02C554 8002B954 8F2E0000 */ lw $t6, ($t9) +/* 02C558 8002B958 A2000037 */ sb $zero, 0x37($s0) +/* 02C55C 8002B95C 030E7821 */ addu $t7, $t8, $t6 +/* 02C560 8002B960 AE0F0024 */ sw $t7, 0x24($s0) +/* 02C564 8002B964 8E590068 */ lw $t9, 0x68($s2) +/* 02C568 8002B968 033EC021 */ addu $t8, $t9, $fp +/* 02C56C 8002B96C 8F110000 */ lw $s1, ($t8) +/* 02C570 8002B970 E7A4007C */ swc1 $f4, 0x7c($sp) +/* 02C574 8002B974 92260004 */ lbu $a2, 4($s1) +/* 02C578 8002B978 50C0001A */ beql $a2, $zero, .L8002B9E4_ovl0 +/* 02C57C 8002B97C 4459F800 */ cfc1 $t9, $31 +/* 02C580 8002B980 8E42007C */ lw $v0, 0x7c($s2) +/* 02C584 8002B984 50400017 */ beql $v0, $zero, .L8002B9E4_ovl0 +/* 02C588 8002B988 4459F800 */ cfc1 $t9, $31 +/* 02C58C 8002B98C 922E0006 */ lbu $t6, 6($s1) +/* 02C590 8002B990 92270005 */ lbu $a3, 5($s1) +/* 02C594 8002B994 27A40074 */ addiu $a0, $sp, 0x74 +/* 02C598 8002B998 AFAE0010 */ sw $t6, 0x10($sp) +/* 02C59C 8002B99C 922F0007 */ lbu $t7, 7($s1) +/* 02C5A0 8002B9A0 27A5007C */ addiu $a1, $sp, 0x7c +/* 02C5A4 8002B9A4 0040F809 */ jalr $v0 +/* 02C5A8 8002B9A8 AFAF0014 */ sw $t7, 0x14($sp) +/* 02C5AC 8002B9AC 1040000C */ beqz $v0, .L8002B9E0_ovl0 +/* 02C5B0 8002B9B0 24190016 */ li $t9, 22 +/* 02C5B4 8002B9B4 8FB80074 */ lw $t8, 0x74($sp) +/* 02C5B8 8002B9B8 A7B900A4 */ sh $t9, 0xa4($sp) +/* 02C5BC 8002B9BC AFB000A8 */ sw $s0, 0xa8($sp) +/* 02C5C0 8002B9C0 26440050 */ addiu $a0, $s2, 0x50 +/* 02C5C4 8002B9C4 27A500A4 */ addiu $a1, $sp, 0xa4 +/* 02C5C8 8002B9C8 00403025 */ move $a2, $v0 +/* 02C5CC 8002B9CC 0C009818 */ jal func_80026060 +/* 02C5D0 8002B9D0 AFB800AC */ sw $t8, 0xac($sp) +/* 02C5D4 8002B9D4 920E0037 */ lbu $t6, 0x37($s0) +/* 02C5D8 8002B9D8 35CF0001 */ ori $t7, $t6, 1 +/* 02C5DC 8002B9DC A20F0037 */ sb $t7, 0x37($s0) +.L8002B9E0_ovl0: +/* 02C5E0 8002B9E0 4459F800 */ cfc1 $t9, $31 +.L8002B9E4_ovl0: +/* 02C5E4 8002B9E4 24180001 */ li $t8, 1 +/* 02C5E8 8002B9E8 44D8F800 */ ctc1 $t8, $31 +/* 02C5EC 8002B9EC C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 02C5F0 8002B9F0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 02C5F4 8002B9F4 46003224 */ cvt.w.s $f8, $f6 +/* 02C5F8 8002B9F8 4458F800 */ cfc1 $t8, $31 +/* 02C5FC 8002B9FC 00000000 */ nop +/* 02C600 8002BA00 33180078 */ andi $t8, $t8, 0x78 +/* 02C604 8002BA04 53000013 */ beql $t8, $zero, .L8002BA54_ovl0 +/* 02C608 8002BA08 44184000 */ mfc1 $t8, $f8 +/* 02C60C 8002BA0C 44814000 */ mtc1 $at, $f8 +/* 02C610 8002BA10 24180001 */ li $t8, 1 +/* 02C614 8002BA14 46083201 */ sub.s $f8, $f6, $f8 +/* 02C618 8002BA18 44D8F800 */ ctc1 $t8, $31 +/* 02C61C 8002BA1C 00000000 */ nop +/* 02C620 8002BA20 46004224 */ cvt.w.s $f8, $f8 +/* 02C624 8002BA24 4458F800 */ cfc1 $t8, $31 +/* 02C628 8002BA28 00000000 */ nop +/* 02C62C 8002BA2C 33180078 */ andi $t8, $t8, 0x78 +/* 02C630 8002BA30 17000005 */ bnez $t8, .L8002BA48_ovl0 +/* 02C634 8002BA34 00000000 */ nop +/* 02C638 8002BA38 44184000 */ mfc1 $t8, $f8 +/* 02C63C 8002BA3C 3C018000 */ lui $at, 0x8000 +/* 02C640 8002BA40 10000007 */ b .L8002BA60_ovl0 +/* 02C644 8002BA44 0301C025 */ or $t8, $t8, $at +.L8002BA48_ovl0: +/* 02C648 8002BA48 10000005 */ b .L8002BA60_ovl0 +/* 02C64C 8002BA4C 2418FFFF */ li $t8, -1 +/* 02C650 8002BA50 44184000 */ mfc1 $t8, $f8 +.L8002BA54_ovl0: +/* 02C654 8002BA54 00000000 */ nop +/* 02C658 8002BA58 0700FFFB */ bltz $t8, .L8002BA48_ovl0 +/* 02C65C 8002BA5C 00000000 */ nop +.L8002BA60_ovl0: +/* 02C660 8002BA60 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02C664 8002BA64 44815000 */ mtc1 $at, $f10 +/* 02C668 8002BA68 A2180036 */ sb $t8, 0x36($s0) +/* 02C66C 8002BA6C 44D9F800 */ ctc1 $t9, $31 +/* 02C670 8002BA70 E7AA007C */ swc1 $f10, 0x7c($sp) +/* 02C674 8002BA74 92260008 */ lbu $a2, 8($s1) +/* 02C678 8002BA78 26550050 */ addiu $s5, $s2, 0x50 +/* 02C67C 8002BA7C 50C0001B */ beql $a2, $zero, .L8002BAEC_ovl0 +/* 02C680 8002BA80 C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 02C684 8002BA84 8E42007C */ lw $v0, 0x7c($s2) +/* 02C688 8002BA88 50400018 */ beql $v0, $zero, .L8002BAEC_ovl0 +/* 02C68C 8002BA8C C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 02C690 8002BA90 922E000A */ lbu $t6, 0xa($s1) +/* 02C694 8002BA94 92270009 */ lbu $a3, 9($s1) +/* 02C698 8002BA98 27A40074 */ addiu $a0, $sp, 0x74 +/* 02C69C 8002BA9C AFAE0010 */ sw $t6, 0x10($sp) +/* 02C6A0 8002BAA0 922F000B */ lbu $t7, 0xb($s1) +/* 02C6A4 8002BAA4 27A5007C */ addiu $a1, $sp, 0x7c +/* 02C6A8 8002BAA8 0040F809 */ jalr $v0 +/* 02C6AC 8002BAAC AFAF0014 */ sw $t7, 0x14($sp) +/* 02C6B0 8002BAB0 1040000D */ beqz $v0, .L8002BAE8_ovl0 +/* 02C6B4 8002BAB4 24190017 */ li $t9, 23 +/* 02C6B8 8002BAB8 8FB80074 */ lw $t8, 0x74($sp) +/* 02C6BC 8002BABC A7B900A4 */ sh $t9, 0xa4($sp) +/* 02C6C0 8002BAC0 AFB000A8 */ sw $s0, 0xa8($sp) +/* 02C6C4 8002BAC4 A3B600B0 */ sb $s6, 0xb0($sp) +/* 02C6C8 8002BAC8 02A02025 */ move $a0, $s5 +/* 02C6CC 8002BACC 27A500A4 */ addiu $a1, $sp, 0xa4 +/* 02C6D0 8002BAD0 00403025 */ move $a2, $v0 +/* 02C6D4 8002BAD4 0C009818 */ jal func_80026060 +/* 02C6D8 8002BAD8 AFB800AC */ sw $t8, 0xac($sp) +/* 02C6DC 8002BADC 920E0037 */ lbu $t6, 0x37($s0) +/* 02C6E0 8002BAE0 35CF0002 */ ori $t7, $t6, 2 +/* 02C6E4 8002BAE4 A20F0037 */ sb $t7, 0x37($s0) +.L8002BAE8_ovl0: +/* 02C6E8 8002BAE8 C7A4007C */ lwc1 $f4, 0x7c($sp) +.L8002BAEC_ovl0: +/* 02C6EC 8002BAEC C6080028 */ lwc1 $f8, 0x28($s0) +/* 02C6F0 8002BAF0 02002025 */ move $a0, $s0 +/* 02C6F4 8002BAF4 E604002C */ swc1 $f4, 0x2c($s0) +/* 02C6F8 8002BAF8 8E590068 */ lw $t9, 0x68($s2) +/* 02C6FC 8002BAFC C604002C */ lwc1 $f4, 0x2c($s0) +/* 02C700 8002BB00 02402825 */ move $a1, $s2 +/* 02C704 8002BB04 033E1021 */ addu $v0, $t9, $fp +/* 02C708 8002BB08 C446000C */ lwc1 $f6, 0xc($v0) +/* 02C70C 8002BB0C 9051000A */ lbu $s1, 0xa($v0) +/* 02C710 8002BB10 46083282 */ mul.s $f10, $f6, $f8 +/* 02C714 8002BB14 00000000 */ nop +/* 02C718 8002BB18 46045502 */ mul.s $f20, $f10, $f4 +/* 02C71C 8002BB1C 0C00AD7A */ jal func_8002B5E8 +/* 02C720 8002BB20 00000000 */ nop +/* 02C724 8002BB24 305400FF */ andi $s4, $v0, 0xff +/* 02C728 8002BB28 02002025 */ move $a0, $s0 +/* 02C72C 8002BB2C 0C00AC8E */ jal func_8002B238 +/* 02C730 8002BB30 02402825 */ move $a1, $s2 +/* 02C734 8002BB34 8EF80000 */ lw $t8, ($s7) +/* 02C738 8002BB38 8EE50008 */ lw $a1, 8($s7) +/* 02C73C 8002BB3C 4406A000 */ mfc1 $a2, $f20 +/* 02C740 8002BB40 8F130000 */ lw $s3, ($t8) +/* 02C744 8002BB44 00023C00 */ sll $a3, $v0, 0x10 +/* 02C748 8002BB48 00073C03 */ sra $a3, $a3, 0x10 +/* 02C74C 8002BB4C AFB10014 */ sw $s1, 0x14($sp) +/* 02C750 8002BB50 AFB40010 */ sw $s4, 0x10($sp) +/* 02C754 8002BB54 8FA40034 */ lw $a0, 0x34($sp) +/* 02C758 8002BB58 0C00AB9D */ jal func_8002AE74 +/* 02C75C 8002BB5C AFB30018 */ sw $s3, 0x18($sp) +/* 02C760 8002BB60 8FAF0034 */ lw $t7, 0x34($sp) +/* 02C764 8002BB64 240E0006 */ li $t6, 6 +/* 02C768 8002BB68 A7AE00A4 */ sh $t6, 0xa4($sp) +/* 02C76C 8002BB6C AFAF00A8 */ sw $t7, 0xa8($sp) +/* 02C770 8002BB70 8EF90000 */ lw $t9, ($s7) +/* 02C774 8002BB74 02A02025 */ move $a0, $s5 +/* 02C778 8002BB78 27A500A4 */ addiu $a1, $sp, 0xa4 +/* 02C77C 8002BB7C 9338000D */ lbu $t8, 0xd($t9) +/* 02C780 8002BB80 A3B800B0 */ sb $t8, 0xb0($sp) +/* 02C784 8002BB84 8EEE0000 */ lw $t6, ($s7) +/* 02C788 8002BB88 8DCF0004 */ lw $t7, 4($t6) +/* 02C78C 8002BB8C AFAF00AC */ sw $t7, 0xac($sp) +/* 02C790 8002BB90 8EF90000 */ lw $t9, ($s7) +/* 02C794 8002BB94 8F330000 */ lw $s3, ($t9) +/* 02C798 8002BB98 0C009818 */ jal func_80026060 +/* 02C79C 8002BB9C 02603025 */ move $a2, $s3 +/* 02C7A0 8002BBA0 10000123 */ b .L8002C030_ovl0 +/* 02C7A4 8002BBA4 8FBF0024 */ lw $ra, 0x24($sp) +/* 02C7A8 8002BBA8 02402025 */ move $a0, $s2 +.L8002BBAC_ovl0: +/* 02C7AC 8002BBAC 322500FF */ andi $a1, $s1, 0xff +/* 02C7B0 8002BBB0 0C00AD8E */ jal func_8002B638 +/* 02C7B4 8002BBB4 32C600FF */ andi $a2, $s6, 0xff +/* 02C7B8 8002BBB8 1040011C */ beqz $v0, .L8002C02C_ovl0 +/* 02C7BC 8002BBBC 00408025 */ move $s0, $v0 +/* 02C7C0 8002BBC0 90580035 */ lbu $t8, 0x35($v0) +/* 02C7C4 8002BBC4 24160002 */ li $s6, 2 +/* 02C7C8 8002BBC8 240E0004 */ li $t6, 4 +/* 02C7CC 8002BBCC 16D80003 */ bne $s6, $t8, .L8002BBDC_ovl0 +/* 02C7D0 8002BBD0 02402025 */ move $a0, $s2 +/* 02C7D4 8002BBD4 10000115 */ b .L8002C02C_ovl0 +/* 02C7D8 8002BBD8 A04E0035 */ sb $t6, 0x35($v0) +.L8002BBDC_ovl0: +/* 02C7DC 8002BBDC 8E0F0020 */ lw $t7, 0x20($s0) +/* 02C7E0 8002BBE0 241E0003 */ li $fp, 3 +/* 02C7E4 8002BBE4 A21E0035 */ sb $fp, 0x35($s0) +/* 02C7E8 8002BBE8 8DF90000 */ lw $t9, ($t7) +/* 02C7EC 8002BBEC 26050004 */ addiu $a1, $s0, 4 +/* 02C7F0 8002BBF0 0C00ACBA */ jal func_8002B2E8 +/* 02C7F4 8002BBF4 8F260008 */ lw $a2, 8($t9) +/* 02C7F8 8002BBF8 1000010D */ b .L8002C030_ovl0 +/* 02C7FC 8002BBFC 8FBF0024 */ lw $ra, 0x24($sp) +/* 02C800 8002BC00 02402025 */ move $a0, $s2 +/* 02C804 8002BC04 322500FF */ andi $a1, $s1, 0xff +/* 02C808 8002BC08 0C00AD8E */ jal func_8002B638 +/* 02C80C 8002BC0C 32C600FF */ andi $a2, $s6, 0xff +/* 02C810 8002BC10 10400106 */ beqz $v0, .L8002C02C_ovl0 +/* 02C814 8002BC14 00408025 */ move $s0, $v0 +/* 02C818 8002BC18 A0540033 */ sb $s4, 0x33($v0) +/* 02C81C 8002BC1C 00402025 */ move $a0, $v0 +/* 02C820 8002BC20 0C00AC8E */ jal func_8002B238 +/* 02C824 8002BC24 02402825 */ move $a1, $s2 +/* 02C828 8002BC28 8E43001C */ lw $v1, 0x1c($s2) +/* 02C82C 8002BC2C 8E180024 */ lw $t8, 0x24($s0) +/* 02C830 8002BC30 00022C00 */ sll $a1, $v0, 0x10 +/* 02C834 8002BC34 00052C03 */ sra $a1, $a1, 0x10 +/* 02C838 8002BC38 03032023 */ subu $a0, $t8, $v1 +/* 02C83C 8002BC3C 04800003 */ bltz $a0, .L8002BC4C_ovl0 +/* 02C840 8002BC40 240203E8 */ li $v0, 1000 +/* 02C844 8002BC44 10000001 */ b .L8002BC4C_ovl0 +/* 02C848 8002BC48 00801025 */ move $v0, $a0 +.L8002BC4C_ovl0: +/* 02C84C 8002BC4C 26040004 */ addiu $a0, $s0, 4 +/* 02C850 8002BC50 0C00B494 */ jal func_8002D250 +/* 02C854 8002BC54 00403025 */ move $a2, $v0 +/* 02C858 8002BC58 100000F5 */ b .L8002C030_ovl0 +/* 02C85C 8002BC5C 8FBF0024 */ lw $ra, 0x24($sp) +/* 02C860 8002BC60 8E4E0068 */ lw $t6, 0x68($s2) +/* 02C864 8002BC64 00167880 */ sll $t7, $s6, 2 +/* 02C868 8002BC68 01F67823 */ subu $t7, $t7, $s6 +/* 02C86C 8002BC6C 000F78C0 */ sll $t7, $t7, 3 +/* 02C870 8002BC70 01CFC821 */ addu $t9, $t6, $t7 +/* 02C874 8002BC74 100000ED */ b .L8002C02C_ovl0 +/* 02C878 8002BC78 A3310010 */ sb $s1, 0x10($t9) +/* 02C87C 8002BC7C 2A210041 */ slti $at, $s1, 0x41 +/* 02C880 8002BC80 14200009 */ bnez $at, .L8002BCA8_ovl0 +/* 02C884 8002BC84 02201025 */ move $v0, $s1 +/* 02C888 8002BC88 2401005B */ li $at, 91 +/* 02C88C 8002BC8C 10410087 */ beq $v0, $at, .L8002BEAC_ovl0 +/* 02C890 8002BC90 00167080 */ sll $t6, $s6, 2 +/* 02C894 8002BC94 2401005D */ li $at, 93 +/* 02C898 8002BC98 504100E5 */ beql $v0, $at, .L8002C030_ovl0 +/* 02C89C 8002BC9C 8FBF0024 */ lw $ra, 0x24($sp) +/* 02C8A0 8002BCA0 100000E3 */ b .L8002C030_ovl0 +/* 02C8A4 8002BCA4 8FBF0024 */ lw $ra, 0x24($sp) +.L8002BCA8_ovl0: +/* 02C8A8 8002BCA8 2841001C */ slti $at, $v0, 0x1c +/* 02C8AC 8002BCAC 14200006 */ bnez $at, .L8002BCC8_ovl0 +/* 02C8B0 8002BCB0 2458FFF9 */ addiu $t8, $v0, -7 +/* 02C8B4 8002BCB4 24010040 */ li $at, 64 +/* 02C8B8 8002BCB8 1041004F */ beq $v0, $at, .L8002BDF8_ovl0 +/* 02C8BC 8002BCBC 0016C880 */ sll $t9, $s6, 2 +/* 02C8C0 8002BCC0 100000DB */ b .L8002C030_ovl0 +/* 02C8C4 8002BCC4 8FBF0024 */ lw $ra, 0x24($sp) +.L8002BCC8_ovl0: +/* 02C8C8 8002BCC8 2F010015 */ sltiu $at, $t8, 0x15 +/* 02C8CC 8002BCCC 102000D7 */ beqz $at, .L8002C02C_ovl0 +/* 02C8D0 8002BCD0 0018C080 */ sll $t8, $t8, 2 +/* 02C8D4 8002BCD4 3C018004 */ lui $at, %hi(D_80041974) +/* 02C8D8 8002BCD8 00380821 */ addu $at, $at, $t8 +/* 02C8DC 8002BCDC 8C381974 */ lw $t8, %lo(D_80041974)($at) +/* 02C8E0 8002BCE0 03000008 */ jr $t8 +/* 02C8E4 8002BCE4 00000000 */ nop +/* 02C8E8 8002BCE8 8E4E0068 */ lw $t6, 0x68($s2) +/* 02C8EC 8002BCEC 00167880 */ sll $t7, $s6, 2 +/* 02C8F0 8002BCF0 01F67823 */ subu $t7, $t7, $s6 +/* 02C8F4 8002BCF4 000F78C0 */ sll $t7, $t7, 3 +/* 02C8F8 8002BCF8 01CFC821 */ addu $t9, $t6, $t7 +/* 02C8FC 8002BCFC A3340007 */ sb $s4, 7($t9) +/* 02C900 8002BD00 8E50006C */ lw $s0, 0x6c($s2) +/* 02C904 8002BD04 520000CA */ beql $s0, $zero, .L8002C030_ovl0 +/* 02C908 8002BD08 8FBF0024 */ lw $ra, 0x24($sp) +/* 02C90C 8002BD0C 02C08825 */ move $s1, $s6 +/* 02C910 8002BD10 92180031 */ lbu $t8, 0x31($s0) +.L8002BD14_ovl0: +/* 02C914 8002BD14 02002025 */ move $a0, $s0 +/* 02C918 8002BD18 56380007 */ bnel $s1, $t8, .L8002BD38_ovl0 +/* 02C91C 8002BD1C 8E100000 */ lw $s0, ($s0) +/* 02C920 8002BD20 0C00AD7A */ jal func_8002B5E8 +/* 02C924 8002BD24 02402825 */ move $a1, $s2 +/* 02C928 8002BD28 26040004 */ addiu $a0, $s0, 4 +/* 02C92C 8002BD2C 0C00AB44 */ jal func_8002AD10 +/* 02C930 8002BD30 304500FF */ andi $a1, $v0, 0xff +/* 02C934 8002BD34 8E100000 */ lw $s0, ($s0) +.L8002BD38_ovl0: +/* 02C938 8002BD38 5600FFF6 */ bnezl $s0, .L8002BD14_ovl0 +/* 02C93C 8002BD3C 92180031 */ lbu $t8, 0x31($s0) +/* 02C940 8002BD40 100000BB */ b .L8002C030_ovl0 +/* 02C944 8002BD44 8FBF0024 */ lw $ra, 0x24($sp) +/* 02C948 8002BD48 8E4E0068 */ lw $t6, 0x68($s2) +/* 02C94C 8002BD4C 00167880 */ sll $t7, $s6, 2 +/* 02C950 8002BD50 01F67823 */ subu $t7, $t7, $s6 +/* 02C954 8002BD54 000F78C0 */ sll $t7, $t7, 3 +/* 02C958 8002BD58 01CFC821 */ addu $t9, $t6, $t7 +/* 02C95C 8002BD5C A3340009 */ sb $s4, 9($t9) +/* 02C960 8002BD60 8E50006C */ lw $s0, 0x6c($s2) +/* 02C964 8002BD64 520000B2 */ beql $s0, $zero, .L8002C030_ovl0 +/* 02C968 8002BD68 8FBF0024 */ lw $ra, 0x24($sp) +/* 02C96C 8002BD6C 02C08825 */ move $s1, $s6 +/* 02C970 8002BD70 24130003 */ li $s3, 3 +/* 02C974 8002BD74 92180031 */ lbu $t8, 0x31($s0) +.L8002BD78_ovl0: +/* 02C978 8002BD78 56380014 */ bnel $s1, $t8, .L8002BDCC_ovl0 +/* 02C97C 8002BD7C 8E100000 */ lw $s0, ($s0) +/* 02C980 8002BD80 920E0034 */ lbu $t6, 0x34($s0) +/* 02C984 8002BD84 02002025 */ move $a0, $s0 +/* 02C988 8002BD88 526E0010 */ beql $s3, $t6, .L8002BDCC_ovl0 +/* 02C98C 8002BD8C 8E100000 */ lw $s0, ($s0) +/* 02C990 8002BD90 0C00AC8E */ jal func_8002B238 +/* 02C994 8002BD94 02402825 */ move $a1, $s2 +/* 02C998 8002BD98 8E43001C */ lw $v1, 0x1c($s2) +/* 02C99C 8002BD9C 8E0F0024 */ lw $t7, 0x24($s0) +/* 02C9A0 8002BDA0 00022C00 */ sll $a1, $v0, 0x10 +/* 02C9A4 8002BDA4 00052C03 */ sra $a1, $a1, 0x10 +/* 02C9A8 8002BDA8 01E32023 */ subu $a0, $t7, $v1 +/* 02C9AC 8002BDAC 04800003 */ bltz $a0, .L8002BDBC_ovl0 +/* 02C9B0 8002BDB0 240203E8 */ li $v0, 1000 +/* 02C9B4 8002BDB4 10000001 */ b .L8002BDBC_ovl0 +/* 02C9B8 8002BDB8 00801025 */ move $v0, $a0 +.L8002BDBC_ovl0: +/* 02C9BC 8002BDBC 26040004 */ addiu $a0, $s0, 4 +/* 02C9C0 8002BDC0 0C00B494 */ jal func_8002D250 +/* 02C9C4 8002BDC4 00403025 */ move $a2, $v0 +/* 02C9C8 8002BDC8 8E100000 */ lw $s0, ($s0) +.L8002BDCC_ovl0: +/* 02C9CC 8002BDCC 5600FFEA */ bnezl $s0, .L8002BD78_ovl0 +/* 02C9D0 8002BDD0 92180031 */ lbu $t8, 0x31($s0) +/* 02C9D4 8002BDD4 10000096 */ b .L8002C030_ovl0 +/* 02C9D8 8002BDD8 8FBF0024 */ lw $ra, 0x24($sp) +/* 02C9DC 8002BDDC 8E590068 */ lw $t9, 0x68($s2) +/* 02C9E0 8002BDE0 0016C080 */ sll $t8, $s6, 2 +/* 02C9E4 8002BDE4 0316C023 */ subu $t8, $t8, $s6 +/* 02C9E8 8002BDE8 0018C0C0 */ sll $t8, $t8, 3 +/* 02C9EC 8002BDEC 03387021 */ addu $t6, $t9, $t8 +/* 02C9F0 8002BDF0 1000008E */ b .L8002C02C_ovl0 +/* 02C9F4 8002BDF4 A1D40008 */ sb $s4, 8($t6) +.L8002BDF8_ovl0: +/* 02C9F8 8002BDF8 8E4F0068 */ lw $t7, 0x68($s2) +/* 02C9FC 8002BDFC 0336C823 */ subu $t9, $t9, $s6 +/* 02CA00 8002BE00 0019C8C0 */ sll $t9, $t9, 3 +/* 02CA04 8002BE04 01F9C021 */ addu $t8, $t7, $t9 +/* 02CA08 8002BE08 A314000B */ sb $s4, 0xb($t8) +/* 02CA0C 8002BE0C 8E50006C */ lw $s0, 0x6c($s2) +/* 02CA10 8002BE10 52000087 */ beql $s0, $zero, .L8002C030_ovl0 +/* 02CA14 8002BE14 8FBF0024 */ lw $ra, 0x24($sp) +/* 02CA18 8002BE18 02C08825 */ move $s1, $s6 +/* 02CA1C 8002BE1C 24160002 */ li $s6, 2 +/* 02CA20 8002BE20 241E0003 */ li $fp, 3 +/* 02CA24 8002BE24 24170004 */ li $s7, 4 +/* 02CA28 8002BE28 24150002 */ li $s5, 2 +/* 02CA2C 8002BE2C 24130003 */ li $s3, 3 +/* 02CA30 8002BE30 920E0031 */ lbu $t6, 0x31($s0) +.L8002BE34_ovl0: +/* 02CA34 8002BE34 562E0019 */ bnel $s1, $t6, .L8002BE9C_ovl0 +/* 02CA38 8002BE38 8E100000 */ lw $s0, ($s0) +/* 02CA3C 8002BE3C 92020035 */ lbu $v0, 0x35($s0) +/* 02CA40 8002BE40 2A810040 */ slti $at, $s4, 0x40 +/* 02CA44 8002BE44 52620015 */ beql $s3, $v0, .L8002BE9C_ovl0 +/* 02CA48 8002BE48 8E100000 */ lw $s0, ($s0) +/* 02CA4C 8002BE4C 14200005 */ bnez $at, .L8002BE64_ovl0 +/* 02CA50 8002BE50 00000000 */ nop +/* 02CA54 8002BE54 54400011 */ bnezl $v0, .L8002BE9C_ovl0 +/* 02CA58 8002BE58 8E100000 */ lw $s0, ($s0) +/* 02CA5C 8002BE5C 1000000E */ b .L8002BE98_ovl0 +/* 02CA60 8002BE60 A2150035 */ sb $s5, 0x35($s0) +.L8002BE64_ovl0: +/* 02CA64 8002BE64 16C20003 */ bne $s6, $v0, .L8002BE74_ovl0 +/* 02CA68 8002BE68 00000000 */ nop +/* 02CA6C 8002BE6C 1000000A */ b .L8002BE98_ovl0 +/* 02CA70 8002BE70 A2000035 */ sb $zero, 0x35($s0) +.L8002BE74_ovl0: +/* 02CA74 8002BE74 56E20009 */ bnel $s7, $v0, .L8002BE9C_ovl0 +/* 02CA78 8002BE78 8E100000 */ lw $s0, ($s0) +/* 02CA7C 8002BE7C 8E0F0020 */ lw $t7, 0x20($s0) +/* 02CA80 8002BE80 A21E0035 */ sb $fp, 0x35($s0) +/* 02CA84 8002BE84 02402025 */ move $a0, $s2 +/* 02CA88 8002BE88 8DF90000 */ lw $t9, ($t7) +/* 02CA8C 8002BE8C 26050004 */ addiu $a1, $s0, 4 +/* 02CA90 8002BE90 0C00ACBA */ jal func_8002B2E8 +/* 02CA94 8002BE94 8F260008 */ lw $a2, 8($t9) +.L8002BE98_ovl0: +/* 02CA98 8002BE98 8E100000 */ lw $s0, ($s0) +.L8002BE9C_ovl0: +/* 02CA9C 8002BE9C 5600FFE5 */ bnezl $s0, .L8002BE34_ovl0 +/* 02CAA0 8002BEA0 920E0031 */ lbu $t6, 0x31($s0) +/* 02CAA4 8002BEA4 10000062 */ b .L8002C030_ovl0 +/* 02CAA8 8002BEA8 8FBF0024 */ lw $ra, 0x24($sp) +.L8002BEAC_ovl0: +/* 02CAAC 8002BEAC 8E580068 */ lw $t8, 0x68($s2) +/* 02CAB0 8002BEB0 01D67023 */ subu $t6, $t6, $s6 +/* 02CAB4 8002BEB4 000E70C0 */ sll $t6, $t6, 3 +/* 02CAB8 8002BEB8 030E7821 */ addu $t7, $t8, $t6 +/* 02CABC 8002BEBC A1F4000A */ sb $s4, 0xa($t7) +/* 02CAC0 8002BEC0 8E50006C */ lw $s0, 0x6c($s2) +/* 02CAC4 8002BEC4 5200005A */ beql $s0, $zero, .L8002C030_ovl0 +/* 02CAC8 8002BEC8 8FBF0024 */ lw $ra, 0x24($sp) +/* 02CACC 8002BECC 02C08825 */ move $s1, $s6 +/* 02CAD0 8002BED0 92190031 */ lbu $t9, 0x31($s0) +.L8002BED4_ovl0: +/* 02CAD4 8002BED4 26040004 */ addiu $a0, $s0, 4 +/* 02CAD8 8002BED8 56390004 */ bnel $s1, $t9, .L8002BEEC_ovl0 +/* 02CADC 8002BEDC 8E100000 */ lw $s0, ($s0) +/* 02CAE0 8002BEE0 0C00B3F9 */ jal func_8002CFE4 +/* 02CAE4 8002BEE4 328500FF */ andi $a1, $s4, 0xff +/* 02CAE8 8002BEE8 8E100000 */ lw $s0, ($s0) +.L8002BEEC_ovl0: +/* 02CAEC 8002BEEC 5600FFF9 */ bnezl $s0, .L8002BED4_ovl0 +/* 02CAF0 8002BEF0 92190031 */ lbu $t9, 0x31($s0) +/* 02CAF4 8002BEF4 1000004E */ b .L8002C030_ovl0 +/* 02CAF8 8002BEF8 8FBF0024 */ lw $ra, 0x24($sp) +/* 02CAFC 8002BEFC 2A810079 */ slti $at, $s4, 0x79 +/* 02CB00 8002BF00 14200009 */ bnez $at, .L8002BF28_ovl0 +/* 02CB04 8002BF04 02801025 */ move $v0, $s4 +/* 02CB08 8002BF08 8E4E0068 */ lw $t6, 0x68($s2) +/* 02CB0C 8002BF0C 00167880 */ sll $t7, $s6, 2 +/* 02CB10 8002BF10 01F67823 */ subu $t7, $t7, $s6 +/* 02CB14 8002BF14 000F78C0 */ sll $t7, $t7, 3 +/* 02CB18 8002BF18 241804B0 */ li $t8, 1200 +/* 02CB1C 8002BF1C 01CFC821 */ addu $t9, $t6, $t7 +/* 02CB20 8002BF20 10000042 */ b .L8002C02C_ovl0 +/* 02CB24 8002BF24 A7380004 */ sh $t8, 4($t9) +.L8002BF28_ovl0: +/* 02CB28 8002BF28 8E4F0068 */ lw $t7, 0x68($s2) +/* 02CB2C 8002BF2C 0016C080 */ sll $t8, $s6, 2 +/* 02CB30 8002BF30 0316C023 */ subu $t8, $t8, $s6 +/* 02CB34 8002BF34 00027080 */ sll $t6, $v0, 2 +/* 02CB38 8002BF38 01C27021 */ addu $t6, $t6, $v0 +/* 02CB3C 8002BF3C 0018C0C0 */ sll $t8, $t8, 3 +/* 02CB40 8002BF40 000E7040 */ sll $t6, $t6, 1 +/* 02CB44 8002BF44 01F8C821 */ addu $t9, $t7, $t8 +/* 02CB48 8002BF48 10000038 */ b .L8002C02C_ovl0 +/* 02CB4C 8002BF4C A72E0004 */ sh $t6, 4($t9) +/* 02CB50 8002BF50 10000036 */ b .L8002C02C_ovl0 +/* 02CB54 8002BF54 A2540078 */ sb $s4, 0x78($s2) +/* 02CB58 8002BF58 8E420020 */ lw $v0, 0x20($s2) +/* 02CB5C 8002BF5C 0011C080 */ sll $t8, $s1, 2 +/* 02CB60 8002BF60 02402025 */ move $a0, $s2 +/* 02CB64 8002BF64 844F0000 */ lh $t7, ($v0) +/* 02CB68 8002BF68 02C03025 */ move $a2, $s6 +/* 02CB6C 8002BF6C 00587021 */ addu $t6, $v0, $t8 +/* 02CB70 8002BF70 022F082A */ slt $at, $s1, $t7 +/* 02CB74 8002BF74 5020002E */ beql $at, $zero, .L8002C030_ovl0 +/* 02CB78 8002BF78 8FBF0024 */ lw $ra, 0x24($sp) +/* 02CB7C 8002BF7C 0C00AD67 */ jal func_8002B59C +/* 02CB80 8002BF80 8DC5000C */ lw $a1, 0xc($t6) +/* 02CB84 8002BF84 1000002A */ b .L8002C030_ovl0 +/* 02CB88 8002BF88 8FBF0024 */ lw $ra, 0x24($sp) +/* 02CB8C 8002BF8C 8E590068 */ lw $t9, 0x68($s2) +/* 02CB90 8002BF90 0016F080 */ sll $fp, $s6, 2 +/* 02CB94 8002BF94 03D6F023 */ subu $fp, $fp, $s6 +/* 02CB98 8002BF98 001EF0C0 */ sll $fp, $fp, 3 +/* 02CB9C 8002BF9C 033E7821 */ addu $t7, $t9, $fp +/* 02CBA0 8002BFA0 85F80004 */ lh $t8, 4($t7) +/* 02CBA4 8002BFA4 001471C0 */ sll $t6, $s4, 7 +/* 02CBA8 8002BFA8 01D1C821 */ addu $t9, $t6, $s1 +/* 02CBAC 8002BFAC 272FE000 */ addiu $t7, $t9, -0x2000 +/* 02CBB0 8002BFB0 030F0019 */ multu $t8, $t7 +/* 02CBB4 8002BFB4 00002012 */ mflo $a0 +/* 02CBB8 8002BFB8 04810002 */ bgez $a0, .L8002BFC4_ovl0 +/* 02CBBC 8002BFBC 00800821 */ addu $at, $a0, $zero +/* 02CBC0 8002BFC0 24811FFF */ addiu $at, $a0, 0x1fff +.L8002BFC4_ovl0: +/* 02CBC4 8002BFC4 00012343 */ sra $a0, $at, 0xd +/* 02CBC8 8002BFC8 0C00DC20 */ jal func_80037080 +/* 02CBCC 8002BFCC 00000000 */ nop +/* 02CBD0 8002BFD0 8E4E0068 */ lw $t6, 0x68($s2) +/* 02CBD4 8002BFD4 46000506 */ mov.s $f20, $f0 +/* 02CBD8 8002BFD8 01DEC821 */ addu $t9, $t6, $fp +/* 02CBDC 8002BFDC E720000C */ swc1 $f0, 0xc($t9) +/* 02CBE0 8002BFE0 8E50006C */ lw $s0, 0x6c($s2) +/* 02CBE4 8002BFE4 52000012 */ beql $s0, $zero, .L8002C030_ovl0 +/* 02CBE8 8002BFE8 8FBF0024 */ lw $ra, 0x24($sp) +/* 02CBEC 8002BFEC 02C08825 */ move $s1, $s6 +/* 02CBF0 8002BFF0 92180031 */ lbu $t8, 0x31($s0) +.L8002BFF4_ovl0: +/* 02CBF4 8002BFF4 5638000B */ bnel $s1, $t8, .L8002C024_ovl0 +/* 02CBF8 8002BFF8 8E100000 */ lw $s0, ($s0) +/* 02CBFC 8002BFFC C6060028 */ lwc1 $f6, 0x28($s0) +/* 02CC00 8002C000 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 02CC04 8002C004 26040004 */ addiu $a0, $s0, 4 +/* 02CC08 8002C008 46143202 */ mul.s $f8, $f6, $f20 +/* 02CC0C 8002C00C 00000000 */ nop +/* 02CC10 8002C010 460A4102 */ mul.s $f4, $f8, $f10 +/* 02CC14 8002C014 44052000 */ mfc1 $a1, $f4 +/* 02CC18 8002C018 0C00B368 */ jal func_8002CDA0 +/* 02CC1C 8002C01C 00000000 */ nop +/* 02CC20 8002C020 8E100000 */ lw $s0, ($s0) +.L8002C024_ovl0: +/* 02CC24 8002C024 5600FFF3 */ bnezl $s0, .L8002BFF4_ovl0 +/* 02CC28 8002C028 92180031 */ lbu $t8, 0x31($s0) +.L8002C02C_ovl0: +/* 02CC2C 8002C02C 8FBF0024 */ lw $ra, 0x24($sp) +.L8002C030_ovl0: +/* 02CC30 8002C030 27BD00D0 */ addiu $sp, $sp, 0xd0 +/* 02CC34 8002C034 03E00008 */ jr $ra +/* 02CC38 8002C038 00000000 */ nop + +glabel func_8002C03C +/* 02CC3C 8002C03C 03E00008 */ jr $ra +/* 02CC40 8002C040 00000000 */ nop + +glabel func_8002C044 +/* 02CC44 8002C044 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 02CC48 8002C048 AFB50034 */ sw $s5, 0x34($sp) +/* 02CC4C 8002C04C AFB20028 */ sw $s2, 0x28($sp) +/* 02CC50 8002C050 248E0040 */ addiu $t6, $a0, 0x40 +/* 02CC54 8002C054 00809025 */ move $s2, $a0 +/* 02CC58 8002C058 AFBF0044 */ sw $ra, 0x44($sp) +/* 02CC5C 8002C05C AFBE0040 */ sw $fp, 0x40($sp) +/* 02CC60 8002C060 AFB7003C */ sw $s7, 0x3c($sp) +/* 02CC64 8002C064 AFB60038 */ sw $s6, 0x38($sp) +/* 02CC68 8002C068 AFB40030 */ sw $s4, 0x30($sp) +/* 02CC6C 8002C06C AFB3002C */ sw $s3, 0x2c($sp) +/* 02CC70 8002C070 AFB10024 */ sw $s1, 0x24($sp) +/* 02CC74 8002C074 AFB00020 */ sw $s0, 0x20($sp) +/* 02CC78 8002C078 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 02CC7C 8002C07C AFAE0050 */ sw $t6, 0x50($sp) +/* 02CC80 8002C080 24950050 */ addiu $s5, $a0, 0x50 +.L8002C084_ovl0: +/* 02CC84 8002C084 964F0040 */ lhu $t7, 0x40($s2) +/* 02CC88 8002C088 2DE10018 */ sltiu $at, $t7, 0x18 +/* 02CC8C 8002C08C 1020016A */ beqz $at, .L8002C638_ovl0 +/* 02CC90 8002C090 000F7880 */ sll $t7, $t7, 2 +/* 02CC94 8002C094 3C018004 */ lui $at, %hi(D_800419C8) +/* 02CC98 8002C098 002F0821 */ addu $at, $at, $t7 +/* 02CC9C 8002C09C 8C2F19C8 */ lw $t7, %lo(D_800419C8)($at) +/* 02CCA0 8002C0A0 01E00008 */ jr $t7 +/* 02CCA4 8002C0A4 00000000 */ nop +/* 02CCA8 8002C0A8 8E440018 */ lw $a0, 0x18($s2) +/* 02CCAC 8002C0AC 50800163 */ beql $a0, $zero, .L8002C63C_ovl0 +/* 02CCB0 8002C0B0 02A02025 */ move $a0, $s5 +/* 02CCB4 8002C0B4 0C00B292 */ jal func_8002CA48 +/* 02CCB8 8002C0B8 27A50088 */ addiu $a1, $sp, 0x88 +/* 02CCBC 8002C0BC 87A20088 */ lh $v0, 0x88($sp) +/* 02CCC0 8002C0C0 24010001 */ li $at, 1 +/* 02CCC4 8002C0C4 27A40088 */ addiu $a0, $sp, 0x88 +/* 02CCC8 8002C0C8 10410008 */ beq $v0, $at, .L8002C0EC_ovl0 +/* 02CCCC 8002C0CC 24010003 */ li $at, 3 +/* 02CCD0 8002C0D0 1041000F */ beq $v0, $at, .L8002C110_ovl0 +/* 02CCD4 8002C0D4 02402825 */ move $a1, $s2 +/* 02CCD8 8002C0D8 24010004 */ li $at, 4 +/* 02CCDC 8002C0DC 10410012 */ beq $v0, $at, .L8002C128_ovl0 +/* 02CCE0 8002C0E0 24180002 */ li $t8, 2 +/* 02CCE4 8002C0E4 10000155 */ b .L8002C63C_ovl0 +/* 02CCE8 8002C0E8 02A02025 */ move $a0, $s5 +.L8002C0EC_ovl0: +/* 02CCEC 8002C0EC AFB200D0 */ sw $s2, 0xd0($sp) +/* 02CCF0 8002C0F0 0C00AE04 */ jal func_8002B810 +/* 02CCF4 8002C0F4 AFB5004C */ sw $s5, 0x4c($sp) +/* 02CCF8 8002C0F8 8FB200D0 */ lw $s2, 0xd0($sp) +/* 02CCFC 8002C0FC 8FB5004C */ lw $s5, 0x4c($sp) +/* 02CD00 8002C100 0C00ABD8 */ jal func_8002AF60 +/* 02CD04 8002C104 02402025 */ move $a0, $s2 +/* 02CD08 8002C108 1000014C */ b .L8002C63C_ovl0 +/* 02CD0C 8002C10C 02A02025 */ move $a0, $s5 +.L8002C110_ovl0: +/* 02CD10 8002C110 0C00AD49 */ jal func_8002B524 +/* 02CD14 8002C114 27A40088 */ addiu $a0, $sp, 0x88 +/* 02CD18 8002C118 0C00ABD8 */ jal func_8002AF60 +/* 02CD1C 8002C11C 02402025 */ move $a0, $s2 +/* 02CD20 8002C120 10000146 */ b .L8002C63C_ovl0 +/* 02CD24 8002C124 02A02025 */ move $a0, $s5 +.L8002C128_ovl0: +/* 02CD28 8002C128 AE580034 */ sw $t8, 0x34($s2) +/* 02CD2C 8002C12C 24190010 */ li $t9, 16 +/* 02CD30 8002C130 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff +/* 02CD34 8002C134 A7B90088 */ sh $t9, 0x88($sp) +/* 02CD38 8002C138 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 02CD3C 8002C13C 02A02025 */ move $a0, $s5 +/* 02CD40 8002C140 0C009818 */ jal func_80026060 +/* 02CD44 8002C144 27A50088 */ addiu $a1, $sp, 0x88 +/* 02CD48 8002C148 1000013C */ b .L8002C63C_ovl0 +/* 02CD4C 8002C14C 02A02025 */ move $a0, $s5 +/* 02CD50 8002C150 240E0009 */ li $t6, 9 +/* 02CD54 8002C154 A7AE00BC */ sh $t6, 0xbc($sp) +/* 02CD58 8002C158 8E460064 */ lw $a2, 0x64($s2) +/* 02CD5C 8002C15C 02A02025 */ move $a0, $s5 +/* 02CD60 8002C160 0C009818 */ jal func_80026060 +/* 02CD64 8002C164 27A500BC */ addiu $a1, $sp, 0xbc +/* 02CD68 8002C168 10000134 */ b .L8002C63C_ovl0 +/* 02CD6C 8002C16C 02A02025 */ move $a0, $s5 +/* 02CD70 8002C170 8E500044 */ lw $s0, 0x44($s2) +/* 02CD74 8002C174 0C00AA9C */ jal func_8002AA70 +/* 02CD78 8002C178 02002025 */ move $a0, $s0 +/* 02CD7C 8002C17C 0C00B46C */ jal func_8002D1B0 +/* 02CD80 8002C180 02002025 */ move $a0, $s0 +/* 02CD84 8002C184 8E110010 */ lw $s1, 0x10($s0) +/* 02CD88 8002C188 02402025 */ move $a0, $s2 +/* 02CD8C 8002C18C 922F0037 */ lbu $t7, 0x37($s1) +/* 02CD90 8002C190 51E00004 */ beql $t7, $zero, .L8002C1A4_ovl0 +/* 02CD94 8002C194 02402025 */ move $a0, $s2 +/* 02CD98 8002C198 0C00B1A3 */ jal func_8002C68C +/* 02CD9C 8002C19C 02202825 */ move $a1, $s1 +/* 02CDA0 8002C1A0 02402025 */ move $a0, $s2 +.L8002C1A4_ovl0: +/* 02CDA4 8002C1A4 0C00AD2D */ jal func_8002B4B4 +/* 02CDA8 8002C1A8 02002825 */ move $a1, $s0 +/* 02CDAC 8002C1AC 10000123 */ b .L8002C63C_ovl0 +/* 02CDB0 8002C1B0 02A02025 */ move $a0, $s5 +/* 02CDB4 8002C1B4 8E500044 */ lw $s0, 0x44($s2) +/* 02CDB8 8002C1B8 24190001 */ li $t9, 1 +/* 02CDBC 8002C1BC 8E110010 */ lw $s1, 0x10($s0) +/* 02CDC0 8002C1C0 92380034 */ lbu $t8, 0x34($s1) +/* 02CDC4 8002C1C4 57000003 */ bnezl $t8, .L8002C1D4_ovl0 +/* 02CDC8 8002C1C8 924E004C */ lbu $t6, 0x4c($s2) +/* 02CDCC 8002C1CC A2390034 */ sb $t9, 0x34($s1) +/* 02CDD0 8002C1D0 924E004C */ lbu $t6, 0x4c($s2) +.L8002C1D4_ovl0: +/* 02CDD4 8002C1D4 8E530048 */ lw $s3, 0x48($s2) +/* 02CDD8 8002C1D8 02202025 */ move $a0, $s1 +/* 02CDDC 8002C1DC A22E0030 */ sb $t6, 0x30($s1) +/* 02CDE0 8002C1E0 8E4F001C */ lw $t7, 0x1c($s2) +/* 02CDE4 8002C1E4 02402825 */ move $a1, $s2 +/* 02CDE8 8002C1E8 01F3C021 */ addu $t8, $t7, $s3 +/* 02CDEC 8002C1EC 0C00AC8E */ jal func_8002B238 +/* 02CDF0 8002C1F0 AE380024 */ sw $t8, 0x24($s1) +/* 02CDF4 8002C1F4 00022C00 */ sll $a1, $v0, 0x10 +/* 02CDF8 8002C1F8 00052C03 */ sra $a1, $a1, 0x10 +/* 02CDFC 8002C1FC 02002025 */ move $a0, $s0 +/* 02CE00 8002C200 0C00B494 */ jal func_8002D250 +/* 02CE04 8002C204 02603025 */ move $a2, $s3 +/* 02CE08 8002C208 1000010C */ b .L8002C63C_ovl0 +/* 02CE0C 8002C20C 02A02025 */ move $a0, $s5 +/* 02CE10 8002C210 8E590080 */ lw $t9, 0x80($s2) +/* 02CE14 8002C214 8E540048 */ lw $s4, 0x48($s2) +/* 02CE18 8002C218 8E510044 */ lw $s1, 0x44($s2) +/* 02CE1C 8002C21C 27A500A8 */ addiu $a1, $sp, 0xa8 +/* 02CE20 8002C220 0320F809 */ jalr $t9 +/* 02CE24 8002C224 02802025 */ move $a0, $s4 +/* 02CE28 8002C228 444EF800 */ cfc1 $t6, $31 +/* 02CE2C 8002C22C 240F0001 */ li $t7, 1 +/* 02CE30 8002C230 44CFF800 */ ctc1 $t7, $31 +/* 02CE34 8002C234 C7A400A8 */ lwc1 $f4, 0xa8($sp) +/* 02CE38 8002C238 00409825 */ move $s3, $v0 +/* 02CE3C 8002C23C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 02CE40 8002C240 460021A4 */ cvt.w.s $f6, $f4 +/* 02CE44 8002C244 02202025 */ move $a0, $s1 +/* 02CE48 8002C248 02402825 */ move $a1, $s2 +/* 02CE4C 8002C24C 444FF800 */ cfc1 $t7, $31 +/* 02CE50 8002C250 00000000 */ nop +/* 02CE54 8002C254 31EF0078 */ andi $t7, $t7, 0x78 +/* 02CE58 8002C258 51E00013 */ beql $t7, $zero, .L8002C2A8_ovl0 +/* 02CE5C 8002C25C 440F3000 */ mfc1 $t7, $f6 +/* 02CE60 8002C260 44813000 */ mtc1 $at, $f6 +/* 02CE64 8002C264 240F0001 */ li $t7, 1 +/* 02CE68 8002C268 46062181 */ sub.s $f6, $f4, $f6 +/* 02CE6C 8002C26C 44CFF800 */ ctc1 $t7, $31 +/* 02CE70 8002C270 00000000 */ nop +/* 02CE74 8002C274 460031A4 */ cvt.w.s $f6, $f6 +/* 02CE78 8002C278 444FF800 */ cfc1 $t7, $31 +/* 02CE7C 8002C27C 00000000 */ nop +/* 02CE80 8002C280 31EF0078 */ andi $t7, $t7, 0x78 +/* 02CE84 8002C284 15E00005 */ bnez $t7, .L8002C29C_ovl0 +/* 02CE88 8002C288 00000000 */ nop +/* 02CE8C 8002C28C 440F3000 */ mfc1 $t7, $f6 +/* 02CE90 8002C290 3C018000 */ lui $at, 0x8000 +/* 02CE94 8002C294 10000007 */ b .L8002C2B4_ovl0 +/* 02CE98 8002C298 01E17825 */ or $t7, $t7, $at +.L8002C29C_ovl0: +/* 02CE9C 8002C29C 10000005 */ b .L8002C2B4_ovl0 +/* 02CEA0 8002C2A0 240FFFFF */ li $t7, -1 +/* 02CEA4 8002C2A4 440F3000 */ mfc1 $t7, $f6 +.L8002C2A8_ovl0: +/* 02CEA8 8002C2A8 00000000 */ nop +/* 02CEAC 8002C2AC 05E0FFFB */ bltz $t7, .L8002C29C_ovl0 +/* 02CEB0 8002C2B0 00000000 */ nop +.L8002C2B4_ovl0: +/* 02CEB4 8002C2B4 44CEF800 */ ctc1 $t6, $31 +/* 02CEB8 8002C2B8 0C00AC8E */ jal func_8002B238 +/* 02CEBC 8002C2BC A22F0036 */ sb $t7, 0x36($s1) +/* 02CEC0 8002C2C0 8E43001C */ lw $v1, 0x1c($s2) +/* 02CEC4 8002C2C4 8E380024 */ lw $t8, 0x24($s1) +/* 02CEC8 8002C2C8 00022C00 */ sll $a1, $v0, 0x10 +/* 02CECC 8002C2CC 00052C03 */ sra $a1, $a1, 0x10 +/* 02CED0 8002C2D0 03032023 */ subu $a0, $t8, $v1 +/* 02CED4 8002C2D4 04800003 */ bltz $a0, .L8002C2E4_ovl0 +/* 02CED8 8002C2D8 240203E8 */ li $v0, 1000 +/* 02CEDC 8002C2DC 10000001 */ b .L8002C2E4_ovl0 +/* 02CEE0 8002C2E0 00801025 */ move $v0, $a0 +.L8002C2E4_ovl0: +/* 02CEE4 8002C2E4 26240004 */ addiu $a0, $s1, 4 +/* 02CEE8 8002C2E8 0C00B494 */ jal func_8002D250 +/* 02CEEC 8002C2EC 00403025 */ move $a2, $v0 +/* 02CEF0 8002C2F0 24190016 */ li $t9, 22 +/* 02CEF4 8002C2F4 A7B900BC */ sh $t9, 0xbc($sp) +/* 02CEF8 8002C2F8 AFB100C0 */ sw $s1, 0xc0($sp) +/* 02CEFC 8002C2FC AFB400C4 */ sw $s4, 0xc4($sp) +/* 02CF00 8002C300 02A02025 */ move $a0, $s5 +/* 02CF04 8002C304 27A500BC */ addiu $a1, $sp, 0xbc +/* 02CF08 8002C308 0C009818 */ jal func_80026060 +/* 02CF0C 8002C30C 02603025 */ move $a2, $s3 +/* 02CF10 8002C310 100000CA */ b .L8002C63C_ovl0 +/* 02CF14 8002C314 02A02025 */ move $a0, $s5 +/* 02CF18 8002C318 8E590080 */ lw $t9, 0x80($s2) +/* 02CF1C 8002C31C 8E540048 */ lw $s4, 0x48($s2) +/* 02CF20 8002C320 8E510044 */ lw $s1, 0x44($s2) +/* 02CF24 8002C324 9250004C */ lbu $s0, 0x4c($s2) +/* 02CF28 8002C328 27A500A8 */ addiu $a1, $sp, 0xa8 +/* 02CF2C 8002C32C 0320F809 */ jalr $t9 +/* 02CF30 8002C330 02802025 */ move $a0, $s4 +/* 02CF34 8002C334 C7A800A8 */ lwc1 $f8, 0xa8($sp) +/* 02CF38 8002C338 00107880 */ sll $t7, $s0, 2 +/* 02CF3C 8002C33C 01F07823 */ subu $t7, $t7, $s0 +/* 02CF40 8002C340 E628002C */ swc1 $f8, 0x2c($s1) +/* 02CF44 8002C344 8E4E0068 */ lw $t6, 0x68($s2) +/* 02CF48 8002C348 C634002C */ lwc1 $f20, 0x2c($s1) +/* 02CF4C 8002C34C 000F78C0 */ sll $t7, $t7, 3 +/* 02CF50 8002C350 01CF1821 */ addu $v1, $t6, $t7 +/* 02CF54 8002C354 90780010 */ lbu $t8, 0x10($v1) +/* 02CF58 8002C358 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02CF5C 8002C35C 44810000 */ mtc1 $at, $f0 +/* 02CF60 8002C360 44989000 */ mtc1 $t8, $f18 +/* 02CF64 8002C364 00409825 */ move $s3, $v0 +/* 02CF68 8002C368 4600A101 */ sub.s $f4, $f20, $f0 +/* 02CF6C 8002C36C 26240004 */ addiu $a0, $s1, 4 +/* 02CF70 8002C370 07010005 */ bgez $t8, .L8002C388_ovl0 +/* 02CF74 8002C374 46809220 */ cvt.s.w $f8, $f18 +/* 02CF78 8002C378 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 02CF7C 8002C37C 44815000 */ mtc1 $at, $f10 +/* 02CF80 8002C380 00000000 */ nop +/* 02CF84 8002C384 460A4200 */ add.s $f8, $f8, $f10 +.L8002C388_ovl0: +/* 02CF88 8002C388 46082182 */ mul.s $f6, $f4, $f8 +/* 02CF8C 8002C38C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 02CF90 8002C390 44815000 */ mtc1 $at, $f10 +/* 02CF94 8002C394 00000000 */ nop +/* 02CF98 8002C398 460A3103 */ div.s $f4, $f6, $f10 +/* 02CF9C 8002C39C C6260028 */ lwc1 $f6, 0x28($s1) +/* 02CFA0 8002C3A0 46002200 */ add.s $f8, $f4, $f0 +/* 02CFA4 8002C3A4 C464000C */ lwc1 $f4, 0xc($v1) +/* 02CFA8 8002C3A8 46083282 */ mul.s $f10, $f6, $f8 +/* 02CFAC 8002C3AC 00000000 */ nop +/* 02CFB0 8002C3B0 460A2182 */ mul.s $f6, $f4, $f10 +/* 02CFB4 8002C3B4 44053000 */ mfc1 $a1, $f6 +/* 02CFB8 8002C3B8 0C00B368 */ jal func_8002CDA0 +/* 02CFBC 8002C3BC 00000000 */ nop +/* 02CFC0 8002C3C0 24190017 */ li $t9, 23 +/* 02CFC4 8002C3C4 A7B900BC */ sh $t9, 0xbc($sp) +/* 02CFC8 8002C3C8 AFB100C0 */ sw $s1, 0xc0($sp) +/* 02CFCC 8002C3CC AFB400C4 */ sw $s4, 0xc4($sp) +/* 02CFD0 8002C3D0 A3B000C8 */ sb $s0, 0xc8($sp) +/* 02CFD4 8002C3D4 02A02025 */ move $a0, $s5 +/* 02CFD8 8002C3D8 27A500BC */ addiu $a1, $sp, 0xbc +/* 02CFDC 8002C3DC 0C009818 */ jal func_80026060 +/* 02CFE0 8002C3E0 02603025 */ move $a2, $s3 +/* 02CFE4 8002C3E4 10000095 */ b .L8002C63C_ovl0 +/* 02CFE8 8002C3E8 02A02025 */ move $a0, $s5 +/* 02CFEC 8002C3EC 8FA40050 */ lw $a0, 0x50($sp) +/* 02CFF0 8002C3F0 AFB200D0 */ sw $s2, 0xd0($sp) +/* 02CFF4 8002C3F4 0C00AE04 */ jal func_8002B810 +/* 02CFF8 8002C3F8 AFB5004C */ sw $s5, 0x4c($sp) +/* 02CFFC 8002C3FC 8FB200D0 */ lw $s2, 0xd0($sp) +/* 02D000 8002C400 1000008D */ b .L8002C638_ovl0 +/* 02D004 8002C404 8FB5004C */ lw $s5, 0x4c($sp) +/* 02D008 8002C408 02402825 */ move $a1, $s2 +/* 02D00C 8002C40C 0C00AD49 */ jal func_8002B524 +/* 02D010 8002C410 8FA40050 */ lw $a0, 0x50($sp) +/* 02D014 8002C414 10000089 */ b .L8002C63C_ovl0 +/* 02D018 8002C418 02A02025 */ move $a0, $s5 +/* 02D01C 8002C41C 8E4E0034 */ lw $t6, 0x34($s2) +/* 02D020 8002C420 24010001 */ li $at, 1 +/* 02D024 8002C424 240F0001 */ li $t7, 1 +/* 02D028 8002C428 11C10083 */ beq $t6, $at, .L8002C638_ovl0 +/* 02D02C 8002C42C 02402025 */ move $a0, $s2 +/* 02D030 8002C430 0C00ABD8 */ jal func_8002AF60 +/* 02D034 8002C434 AE4F0034 */ sw $t7, 0x34($s2) +/* 02D038 8002C438 10000080 */ b .L8002C63C_ovl0 +/* 02D03C 8002C43C 02A02025 */ move $a0, $s5 +/* 02D040 8002C440 8E580034 */ lw $t8, 0x34($s2) +/* 02D044 8002C444 24010002 */ li $at, 2 +/* 02D048 8002C448 5701007C */ bnel $t8, $at, .L8002C63C_ovl0 +/* 02D04C 8002C44C 02A02025 */ move $a0, $s5 +/* 02D050 8002C450 8E51006C */ lw $s1, 0x6c($s2) +/* 02D054 8002C454 12200011 */ beqz $s1, .L8002C49C_ovl0 +/* 02D058 8002C458 26300004 */ addiu $s0, $s1, 4 +.L8002C45C_ovl0: +/* 02D05C 8002C45C 0C00AA9C */ jal func_8002AA70 +/* 02D060 8002C460 02002025 */ move $a0, $s0 +/* 02D064 8002C464 0C00B46C */ jal func_8002D1B0 +/* 02D068 8002C468 02002025 */ move $a0, $s0 +/* 02D06C 8002C46C 92390037 */ lbu $t9, 0x37($s1) +/* 02D070 8002C470 02402025 */ move $a0, $s2 +/* 02D074 8002C474 53200004 */ beql $t9, $zero, .L8002C488_ovl0 +/* 02D078 8002C478 02402025 */ move $a0, $s2 +/* 02D07C 8002C47C 0C00B1A3 */ jal func_8002C68C +/* 02D080 8002C480 02202825 */ move $a1, $s1 +/* 02D084 8002C484 02402025 */ move $a0, $s2 +.L8002C488_ovl0: +/* 02D088 8002C488 0C00AD2D */ jal func_8002B4B4 +/* 02D08C 8002C48C 02002825 */ move $a1, $s0 +/* 02D090 8002C490 8E51006C */ lw $s1, 0x6c($s2) +/* 02D094 8002C494 5620FFF1 */ bnezl $s1, .L8002C45C_ovl0 +/* 02D098 8002C498 26300004 */ addiu $s0, $s1, 4 +.L8002C49C_ovl0: +/* 02D09C 8002C49C AE40001C */ sw $zero, 0x1c($s2) +/* 02D0A0 8002C4A0 10000065 */ b .L8002C638_ovl0 +/* 02D0A4 8002C4A4 AE400034 */ sw $zero, 0x34($s2) +/* 02D0A8 8002C4A8 8E4E0034 */ lw $t6, 0x34($s2) +/* 02D0AC 8002C4AC 24010001 */ li $at, 1 +/* 02D0B0 8002C4B0 02A02025 */ move $a0, $s5 +/* 02D0B4 8002C4B4 55C10061 */ bnel $t6, $at, .L8002C63C_ovl0 +/* 02D0B8 8002C4B8 02A02025 */ move $a0, $s5 +/* 02D0BC 8002C4BC 0C0097E9 */ jal func_80025FA4 +/* 02D0C0 8002C4C0 00002825 */ move $a1, $zero +/* 02D0C4 8002C4C4 02A02025 */ move $a0, $s5 +/* 02D0C8 8002C4C8 0C0097E9 */ jal func_80025FA4 +/* 02D0CC 8002C4CC 24050002 */ li $a1, 2 +/* 02D0D0 8002C4D0 8E51006C */ lw $s1, 0x6c($s2) +/* 02D0D4 8002C4D4 1220000D */ beqz $s1, .L8002C50C_ovl0 +/* 02D0D8 8002C4D8 26300004 */ addiu $s0, $s1, 4 +.L8002C4DC_ovl0: +/* 02D0DC 8002C4DC 02002825 */ move $a1, $s0 +/* 02D0E0 8002C4E0 02402025 */ move $a0, $s2 +/* 02D0E4 8002C4E4 0C00AD03 */ jal func_8002B40C +/* 02D0E8 8002C4E8 3406C350 */ li $a2, 50000 +/* 02D0EC 8002C4EC 10400004 */ beqz $v0, .L8002C500_ovl0 +/* 02D0F0 8002C4F0 02402025 */ move $a0, $s2 +/* 02D0F4 8002C4F4 02002825 */ move $a1, $s0 +/* 02D0F8 8002C4F8 0C00ACBA */ jal func_8002B2E8 +/* 02D0FC 8002C4FC 3406C350 */ li $a2, 50000 +.L8002C500_ovl0: +/* 02D100 8002C500 8E310000 */ lw $s1, ($s1) +/* 02D104 8002C504 5620FFF5 */ bnezl $s1, .L8002C4DC_ovl0 +/* 02D108 8002C508 26300004 */ addiu $s0, $s1, 4 +.L8002C50C_ovl0: +/* 02D10C 8002C50C 240F0002 */ li $t7, 2 +/* 02D110 8002C510 AE4F0034 */ sw $t7, 0x34($s2) +/* 02D114 8002C514 24180010 */ li $t8, 16 +/* 02D118 8002C518 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff +/* 02D11C 8002C51C A7B800BC */ sh $t8, 0xbc($sp) +/* 02D120 8002C520 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 02D124 8002C524 02A02025 */ move $a0, $s5 +/* 02D128 8002C528 0C009818 */ jal func_80026060 +/* 02D12C 8002C52C 27A500BC */ addiu $a1, $sp, 0xbc +/* 02D130 8002C530 10000042 */ b .L8002C63C_ovl0 +/* 02D134 8002C534 02A02025 */ move $a0, $s5 +/* 02D138 8002C538 8E51006C */ lw $s1, 0x6c($s2) +/* 02D13C 8002C53C 86590044 */ lh $t9, 0x44($s2) +/* 02D140 8002C540 1220003D */ beqz $s1, .L8002C638_ovl0 +/* 02D144 8002C544 A659003A */ sh $t9, 0x3a($s2) +/* 02D148 8002C548 02202025 */ move $a0, $s1 +.L8002C54C_ovl0: +/* 02D14C 8002C54C 0C00AC8E */ jal func_8002B238 +/* 02D150 8002C550 02402825 */ move $a1, $s2 +/* 02D154 8002C554 8E43001C */ lw $v1, 0x1c($s2) +/* 02D158 8002C558 8E2E0024 */ lw $t6, 0x24($s1) +/* 02D15C 8002C55C 00022C00 */ sll $a1, $v0, 0x10 +/* 02D160 8002C560 00052C03 */ sra $a1, $a1, 0x10 +/* 02D164 8002C564 01C32023 */ subu $a0, $t6, $v1 +/* 02D168 8002C568 04800003 */ bltz $a0, .L8002C578_ovl0 +/* 02D16C 8002C56C 240203E8 */ li $v0, 1000 +/* 02D170 8002C570 10000001 */ b .L8002C578_ovl0 +/* 02D174 8002C574 00801025 */ move $v0, $a0 +.L8002C578_ovl0: +/* 02D178 8002C578 26240004 */ addiu $a0, $s1, 4 +/* 02D17C 8002C57C 0C00B494 */ jal func_8002D250 +/* 02D180 8002C580 00403025 */ move $a2, $v0 +/* 02D184 8002C584 8E310000 */ lw $s1, ($s1) +/* 02D188 8002C588 5620FFF0 */ bnezl $s1, .L8002C54C_ovl0 +/* 02D18C 8002C58C 02202025 */ move $a0, $s1 +/* 02D190 8002C590 1000002A */ b .L8002C63C_ovl0 +/* 02D194 8002C594 02A02025 */ move $a0, $s5 +/* 02D198 8002C598 8E4F0044 */ lw $t7, 0x44($s2) +/* 02D19C 8002C59C 8E580048 */ lw $t8, 0x48($s2) +/* 02D1A0 8002C5A0 8E59004C */ lw $t9, 0x4c($s2) +/* 02D1A4 8002C5A4 AE4F0088 */ sw $t7, 0x88($s2) +/* 02D1A8 8002C5A8 AE58008C */ sw $t8, 0x8c($s2) +/* 02D1AC 8002C5AC 10000022 */ b .L8002C638_ovl0 +/* 02D1B0 8002C5B0 AE590090 */ sw $t9, 0x90($s2) +/* 02D1B4 8002C5B4 92500044 */ lbu $s0, 0x44($s2) +/* 02D1B8 8002C5B8 8E4F0068 */ lw $t7, 0x68($s2) +/* 02D1BC 8002C5BC 924E0045 */ lbu $t6, 0x45($s2) +/* 02D1C0 8002C5C0 0010C080 */ sll $t8, $s0, 2 +/* 02D1C4 8002C5C4 0310C023 */ subu $t8, $t8, $s0 +/* 02D1C8 8002C5C8 0018C0C0 */ sll $t8, $t8, 3 +/* 02D1CC 8002C5CC 01F8C821 */ addu $t9, $t7, $t8 +/* 02D1D0 8002C5D0 10000019 */ b .L8002C638_ovl0 +/* 02D1D4 8002C5D4 A32E0008 */ sb $t6, 8($t9) +/* 02D1D8 8002C5D8 8E450044 */ lw $a1, 0x44($s2) +/* 02D1DC 8002C5DC 241901E8 */ li $t9, 488 +/* 02D1E0 8002C5E0 3C018004 */ lui $at, %hi(D_80041A28) # $at, 0x8004 +/* 02D1E4 8002C5E4 10A00008 */ beqz $a1, .L8002C608_ovl0 +/* 02D1E8 8002C5E8 AE450018 */ sw $a1, 0x18($s2) +/* 02D1EC 8002C5EC C4281A28 */ lwc1 $f8, %lo(D_80041A28)($at) +/* 02D1F0 8002C5F0 C4A40014 */ lwc1 $f4, 0x14($a1) +/* 02D1F4 8002C5F4 46044282 */ mul.s $f10, $f8, $f4 +/* 02D1F8 8002C5F8 4600518D */ trunc.w.s $f6, $f10 +/* 02D1FC 8002C5FC 440E3000 */ mfc1 $t6, $f6 +/* 02D200 8002C600 10000002 */ b .L8002C60C_ovl0 +/* 02D204 8002C604 AE4E002C */ sw $t6, 0x2c($s2) +.L8002C608_ovl0: +/* 02D208 8002C608 AE59002C */ sw $t9, 0x2c($s2) +.L8002C60C_ovl0: +/* 02D20C 8002C60C 8E450020 */ lw $a1, 0x20($s2) +/* 02D210 8002C610 50A0000A */ beql $a1, $zero, .L8002C63C_ovl0 +/* 02D214 8002C614 02A02025 */ move $a0, $s5 +/* 02D218 8002C618 0C00AC56 */ jal func_8002B158 +/* 02D21C 8002C61C 02402025 */ move $a0, $s2 +/* 02D220 8002C620 10000006 */ b .L8002C63C_ovl0 +/* 02D224 8002C624 02A02025 */ move $a0, $s5 +/* 02D228 8002C628 8E450044 */ lw $a1, 0x44($s2) +/* 02D22C 8002C62C 02402025 */ move $a0, $s2 +/* 02D230 8002C630 0C00AC56 */ jal func_8002B158 +/* 02D234 8002C634 AE450020 */ sw $a1, 0x20($s2) +.L8002C638_ovl0: +/* 02D238 8002C638 02A02025 */ move $a0, $s5 +.L8002C63C_ovl0: +/* 02D23C 8002C63C 0C00986C */ jal func_800261B0 +/* 02D240 8002C640 8FA50050 */ lw $a1, 0x50($sp) +/* 02D244 8002C644 1040FE8F */ beqz $v0, .L8002C084_ovl0 +/* 02D248 8002C648 AE420030 */ sw $v0, 0x30($s2) +/* 02D24C 8002C64C 8E4F001C */ lw $t7, 0x1c($s2) +/* 02D250 8002C650 01E2C021 */ addu $t8, $t7, $v0 +/* 02D254 8002C654 AE58001C */ sw $t8, 0x1c($s2) +/* 02D258 8002C658 8FBF0044 */ lw $ra, 0x44($sp) +/* 02D25C 8002C65C 8FBE0040 */ lw $fp, 0x40($sp) +/* 02D260 8002C660 8FB7003C */ lw $s7, 0x3c($sp) +/* 02D264 8002C664 8FB60038 */ lw $s6, 0x38($sp) +/* 02D268 8002C668 8FB50034 */ lw $s5, 0x34($sp) +/* 02D26C 8002C66C 8FB40030 */ lw $s4, 0x30($sp) +/* 02D270 8002C670 8FB3002C */ lw $s3, 0x2c($sp) +/* 02D274 8002C674 8FB20028 */ lw $s2, 0x28($sp) +/* 02D278 8002C678 8FB10024 */ lw $s1, 0x24($sp) +/* 02D27C 8002C67C 8FB00020 */ lw $s0, 0x20($sp) +/* 02D280 8002C680 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 02D284 8002C684 03E00008 */ jr $ra +/* 02D288 8002C688 27BD00D0 */ addiu $sp, $sp, 0xd0 + +glabel func_8002C68C +/* 02D28C 8002C68C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 02D290 8002C690 AFBF0034 */ sw $ra, 0x34($sp) +/* 02D294 8002C694 AFB70030 */ sw $s7, 0x30($sp) +/* 02D298 8002C698 AFB6002C */ sw $s6, 0x2c($sp) +/* 02D29C 8002C69C AFB50028 */ sw $s5, 0x28($sp) +/* 02D2A0 8002C6A0 AFB40024 */ sw $s4, 0x24($sp) +/* 02D2A4 8002C6A4 AFB30020 */ sw $s3, 0x20($sp) +/* 02D2A8 8002C6A8 AFB2001C */ sw $s2, 0x1c($sp) +/* 02D2AC 8002C6AC AFB10018 */ sw $s1, 0x18($sp) +/* 02D2B0 8002C6B0 AFB00014 */ sw $s0, 0x14($sp) +/* 02D2B4 8002C6B4 8C900058 */ lw $s0, 0x58($a0) +/* 02D2B8 8002C6B8 00A09025 */ move $s2, $a1 +/* 02D2BC 8002C6BC 0080A825 */ move $s5, $a0 +/* 02D2C0 8002C6C0 12000028 */ beqz $s0, .L8002C764_ovl0 +/* 02D2C4 8002C6C4 24170017 */ li $s7, 23 +/* 02D2C8 8002C6C8 24160016 */ li $s6, 22 +.L8002C6CC_ovl0: +/* 02D2CC 8002C6CC 8613000C */ lh $s3, 0xc($s0) +/* 02D2D0 8002C6D0 8E110000 */ lw $s1, ($s0) +/* 02D2D4 8002C6D4 52760004 */ beql $s3, $s6, .L8002C6E8_ovl0 +/* 02D2D8 8002C6D8 8E0E0010 */ lw $t6, 0x10($s0) +/* 02D2DC 8002C6DC 1677001F */ bne $s3, $s7, .L8002C75C_ovl0 +/* 02D2E0 8002C6E0 00000000 */ nop +/* 02D2E4 8002C6E4 8E0E0010 */ lw $t6, 0x10($s0) +.L8002C6E8_ovl0: +/* 02D2E8 8002C6E8 164E001C */ bne $s2, $t6, .L8002C75C_ovl0 +/* 02D2EC 8002C6EC 00000000 */ nop +/* 02D2F0 8002C6F0 8EB90084 */ lw $t9, 0x84($s5) +/* 02D2F4 8002C6F4 8E040014 */ lw $a0, 0x14($s0) +/* 02D2F8 8002C6F8 26B40050 */ addiu $s4, $s5, 0x50 +/* 02D2FC 8002C6FC 0320F809 */ jalr $t9 +/* 02D300 8002C700 00000000 */ nop +/* 02D304 8002C704 0C0097DD */ jal func_80025F74 +/* 02D308 8002C708 02002025 */ move $a0, $s0 +/* 02D30C 8002C70C 12200005 */ beqz $s1, .L8002C724_ovl0 +/* 02D310 8002C710 02002025 */ move $a0, $s0 +/* 02D314 8002C714 8E2F0008 */ lw $t7, 8($s1) +/* 02D318 8002C718 8E180008 */ lw $t8, 8($s0) +/* 02D31C 8002C71C 01F84021 */ addu $t0, $t7, $t8 +/* 02D320 8002C720 AE280008 */ sw $t0, 8($s1) +.L8002C724_ovl0: +/* 02D324 8002C724 0C0097D4 */ jal func_80025F50 +/* 02D328 8002C728 02802825 */ move $a1, $s4 +/* 02D32C 8002C72C 56760006 */ bnel $s3, $s6, .L8002C748_ovl0 +/* 02D330 8002C730 924B0037 */ lbu $t3, 0x37($s2) +/* 02D334 8002C734 92490037 */ lbu $t1, 0x37($s2) +/* 02D338 8002C738 312A00FE */ andi $t2, $t1, 0xfe +/* 02D33C 8002C73C 10000004 */ b .L8002C750_ovl0 +/* 02D340 8002C740 A24A0037 */ sb $t2, 0x37($s2) +/* 02D344 8002C744 924B0037 */ lbu $t3, 0x37($s2) +.L8002C748_ovl0: +/* 02D348 8002C748 316C00FD */ andi $t4, $t3, 0xfd +/* 02D34C 8002C74C A24C0037 */ sb $t4, 0x37($s2) +.L8002C750_ovl0: +/* 02D350 8002C750 924D0037 */ lbu $t5, 0x37($s2) +/* 02D354 8002C754 51A00004 */ beql $t5, $zero, .L8002C768_ovl0 +/* 02D358 8002C758 8FBF0034 */ lw $ra, 0x34($sp) +.L8002C75C_ovl0: +/* 02D35C 8002C75C 1620FFDB */ bnez $s1, .L8002C6CC_ovl0 +/* 02D360 8002C760 02208025 */ move $s0, $s1 +.L8002C764_ovl0: +/* 02D364 8002C764 8FBF0034 */ lw $ra, 0x34($sp) +.L8002C768_ovl0: +/* 02D368 8002C768 8FB00014 */ lw $s0, 0x14($sp) +/* 02D36C 8002C76C 8FB10018 */ lw $s1, 0x18($sp) +/* 02D370 8002C770 8FB2001C */ lw $s2, 0x1c($sp) +/* 02D374 8002C774 8FB30020 */ lw $s3, 0x20($sp) +/* 02D378 8002C778 8FB40024 */ lw $s4, 0x24($sp) +/* 02D37C 8002C77C 8FB50028 */ lw $s5, 0x28($sp) +/* 02D380 8002C780 8FB6002C */ lw $s6, 0x2c($sp) +/* 02D384 8002C784 8FB70030 */ lw $s7, 0x30($sp) +/* 02D388 8002C788 03E00008 */ jr $ra +/* 02D38C 8002C78C 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8002C790 +/* 02D390 8002C790 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02D394 8002C794 AFBF0024 */ sw $ra, 0x24($sp) +/* 02D398 8002C798 AFB20020 */ sw $s2, 0x20($sp) +/* 02D39C 8002C79C AFB1001C */ sw $s1, 0x1c($sp) +/* 02D3A0 8002C7A0 AFB00018 */ sw $s0, 0x18($sp) +/* 02D3A4 8002C7A4 908E003C */ lbu $t6, 0x3c($a0) +/* 02D3A8 8002C7A8 00808825 */ move $s1, $a0 +/* 02D3AC 8002C7AC 00008025 */ move $s0, $zero +/* 02D3B0 8002C7B0 19C00010 */ blez $t6, .L8002C7F4_ovl0 +/* 02D3B4 8002C7B4 00009025 */ move $s2, $zero +/* 02D3B8 8002C7B8 8E2F0068 */ lw $t7, 0x68($s1) +.L8002C7BC_ovl0: +/* 02D3BC 8002C7BC 02202025 */ move $a0, $s1 +/* 02D3C0 8002C7C0 02002825 */ move $a1, $s0 +/* 02D3C4 8002C7C4 01F2C021 */ addu $t8, $t7, $s2 +/* 02D3C8 8002C7C8 AF000000 */ sw $zero, ($t8) +/* 02D3CC 8002C7CC 8E390068 */ lw $t9, 0x68($s1) +/* 02D3D0 8002C7D0 03324021 */ addu $t0, $t9, $s2 +/* 02D3D4 8002C7D4 0C00AC2A */ jal func_8002B0A8 +/* 02D3D8 8002C7D8 A1000010 */ sb $zero, 0x10($t0) +/* 02D3DC 8002C7DC 9229003C */ lbu $t1, 0x3c($s1) +/* 02D3E0 8002C7E0 26100001 */ addiu $s0, $s0, 1 +/* 02D3E4 8002C7E4 26520018 */ addiu $s2, $s2, 0x18 +/* 02D3E8 8002C7E8 0209082A */ slt $at, $s0, $t1 +/* 02D3EC 8002C7EC 5420FFF3 */ bnezl $at, .L8002C7BC_ovl0 +/* 02D3F0 8002C7F0 8E2F0068 */ lw $t7, 0x68($s1) +.L8002C7F4_ovl0: +/* 02D3F4 8002C7F4 8FBF0024 */ lw $ra, 0x24($sp) +/* 02D3F8 8002C7F8 8FB00018 */ lw $s0, 0x18($sp) +/* 02D3FC 8002C7FC 8FB1001C */ lw $s1, 0x1c($sp) +/* 02D400 8002C800 8FB20020 */ lw $s2, 0x20($sp) +/* 02D404 8002C804 03E00008 */ jr $ra +/* 02D408 8002C808 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8002C80C +/* 02D40C 8002C80C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 02D410 8002C810 AFBF0024 */ sw $ra, 0x24($sp) +/* 02D414 8002C814 AFB10020 */ sw $s1, 0x20($sp) +/* 02D418 8002C818 AFB0001C */ sw $s0, 0x1c($sp) +/* 02D41C 8002C81C 8CA6000C */ lw $a2, 0xc($a1) +/* 02D420 8002C820 AC800020 */ sw $zero, 0x20($a0) +/* 02D424 8002C824 AC800024 */ sw $zero, 0x24($a0) +/* 02D428 8002C828 AC800028 */ sw $zero, 0x28($a0) +/* 02D42C 8002C82C AC800018 */ sw $zero, 0x18($a0) +/* 02D430 8002C830 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 +/* 02D434 8002C834 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) +/* 02D438 8002C838 240F00FF */ li $t7, 255 +/* 02D43C 8002C83C 241801E8 */ li $t8, 488 +/* 02D440 8002C840 24197FFF */ li $t9, 32767 +/* 02D444 8002C844 A48F0038 */ sh $t7, 0x38($a0) +/* 02D448 8002C848 AC98002C */ sw $t8, 0x2c($a0) +/* 02D44C 8002C84C AC800030 */ sw $zero, 0x30($a0) +/* 02D450 8002C850 AC800034 */ sw $zero, 0x34($a0) +/* 02D454 8002C854 A499003A */ sh $t9, 0x3a($a0) +/* 02D458 8002C858 AC8E0014 */ sw $t6, 0x14($a0) +/* 02D45C 8002C85C 90A80009 */ lbu $t0, 9($a1) +/* 02D460 8002C860 24093E80 */ li $t1, 16000 +/* 02D464 8002C864 AC890064 */ sw $t1, 0x64($a0) +/* 02D468 8002C868 AC80001C */ sw $zero, 0x1c($a0) +/* 02D46C 8002C86C A088003D */ sb $t0, 0x3d($a0) +/* 02D470 8002C870 8CAA0010 */ lw $t2, 0x10($a1) +/* 02D474 8002C874 240D0009 */ li $t5, 9 +/* 02D478 8002C878 00A08825 */ move $s1, $a1 +/* 02D47C 8002C87C AC8A007C */ sw $t2, 0x7c($a0) +/* 02D480 8002C880 8CAB0014 */ lw $t3, 0x14($a1) +/* 02D484 8002C884 00808025 */ move $s0, $a0 +/* 02D488 8002C888 240F0018 */ li $t7, 24 +/* 02D48C 8002C88C AC8B0080 */ sw $t3, 0x80($a0) +/* 02D490 8002C890 8CAC0018 */ lw $t4, 0x18($a1) +/* 02D494 8002C894 AC800088 */ sw $zero, 0x88($a0) +/* 02D498 8002C898 AC80008C */ sw $zero, 0x8c($a0) +/* 02D49C 8002C89C AC800090 */ sw $zero, 0x90($a0) +/* 02D4A0 8002C8A0 A48D0040 */ sh $t5, 0x40($a0) +/* 02D4A4 8002C8A4 AC8C0084 */ sw $t4, 0x84($a0) +/* 02D4A8 8002C8A8 90AE0008 */ lbu $t6, 8($a1) +/* 02D4AC 8002C8AC 00002825 */ move $a1, $zero +/* 02D4B0 8002C8B0 A08E003C */ sb $t6, 0x3c($a0) +/* 02D4B4 8002C8B4 92270008 */ lbu $a3, 8($s1) +/* 02D4B8 8002C8B8 AFAF0010 */ sw $t7, 0x10($sp) +/* 02D4BC 8002C8BC 00002025 */ move $a0, $zero +/* 02D4C0 8002C8C0 0C0078F5 */ jal func_8001E3D4 +/* 02D4C4 8002C8C4 AFA6002C */ sw $a2, 0x2c($sp) +/* 02D4C8 8002C8C8 AE020068 */ sw $v0, 0x68($s0) +/* 02D4CC 8002C8CC 0C00B1E4 */ jal func_8002C790 +/* 02D4D0 8002C8D0 02002025 */ move $a0, $s0 +/* 02D4D4 8002C8D4 8E270000 */ lw $a3, ($s1) +/* 02D4D8 8002C8D8 24180038 */ li $t8, 56 +/* 02D4DC 8002C8DC AFB80010 */ sw $t8, 0x10($sp) +/* 02D4E0 8002C8E0 00002025 */ move $a0, $zero +/* 02D4E4 8002C8E4 00002825 */ move $a1, $zero +/* 02D4E8 8002C8E8 0C0078F5 */ jal func_8001E3D4 +/* 02D4EC 8002C8EC 8FA6002C */ lw $a2, 0x2c($sp) +/* 02D4F0 8002C8F0 AE000074 */ sw $zero, 0x74($s0) +/* 02D4F4 8002C8F4 8E390000 */ lw $t9, ($s1) +/* 02D4F8 8002C8F8 00002025 */ move $a0, $zero +/* 02D4FC 8002C8FC 00002825 */ move $a1, $zero +/* 02D500 8002C900 1B20000B */ blez $t9, .L8002C930_ovl0 +/* 02D504 8002C904 240A001C */ li $t2, 28 +/* 02D508 8002C908 00401825 */ move $v1, $v0 +/* 02D50C 8002C90C 8E080074 */ lw $t0, 0x74($s0) +.L8002C910_ovl0: +/* 02D510 8002C910 24840001 */ addiu $a0, $a0, 1 +/* 02D514 8002C914 AC680000 */ sw $t0, ($v1) +/* 02D518 8002C918 AE030074 */ sw $v1, 0x74($s0) +/* 02D51C 8002C91C 8E290000 */ lw $t1, ($s1) +/* 02D520 8002C920 24630038 */ addiu $v1, $v1, 0x38 +/* 02D524 8002C924 0089082A */ slt $at, $a0, $t1 +/* 02D528 8002C928 5420FFF9 */ bnezl $at, .L8002C910_ovl0 +/* 02D52C 8002C92C 8E080074 */ lw $t0, 0x74($s0) +.L8002C930_ovl0: +/* 02D530 8002C930 AE00006C */ sw $zero, 0x6c($s0) +/* 02D534 8002C934 AE000070 */ sw $zero, 0x70($s0) +/* 02D538 8002C938 8E270004 */ lw $a3, 4($s1) +/* 02D53C 8002C93C AFAA0010 */ sw $t2, 0x10($sp) +/* 02D540 8002C940 8FA6002C */ lw $a2, 0x2c($sp) +/* 02D544 8002C944 0C0078F5 */ jal func_8001E3D4 +/* 02D548 8002C948 00002025 */ move $a0, $zero +/* 02D54C 8002C94C 26040050 */ addiu $a0, $s0, 0x50 +/* 02D550 8002C950 00402825 */ move $a1, $v0 +/* 02D554 8002C954 0C009898 */ jal func_80026260 +/* 02D558 8002C958 8E260004 */ lw $a2, 4($s1) +/* 02D55C 8002C95C 3C0B8003 */ lui $t3, %hi(D_8002C044) # $t3, 0x8003 +/* 02D560 8002C960 256BC044 */ addiu $t3, %lo(D_8002C044) # addiu $t3, $t3, -0x3fbc +/* 02D564 8002C964 AE000000 */ sw $zero, ($s0) +/* 02D568 8002C968 AE0B0008 */ sw $t3, 8($s0) +/* 02D56C 8002C96C AE100004 */ sw $s0, 4($s0) +/* 02D570 8002C970 0C00AA44 */ jal func_8002A910 +/* 02D574 8002C974 02002025 */ move $a0, $s0 +/* 02D578 8002C978 8FBF0024 */ lw $ra, 0x24($sp) +/* 02D57C 8002C97C 8FB0001C */ lw $s0, 0x1c($sp) +/* 02D580 8002C980 8FB10020 */ lw $s1, 0x20($sp) +/* 02D584 8002C984 03E00008 */ jr $ra +/* 02D588 8002C988 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8002C98C +/* 02D58C 8002C98C 00000000 */ nop +/* 02D590 8002C990 AFA50004 */ sw $a1, 4($sp) +/* 02D594 8002C994 00052C00 */ sll $a1, $a1, 0x10 +/* 02D598 8002C998 00052C03 */ sra $a1, $a1, 0x10 +/* 02D59C 8002C99C 03E00008 */ jr $ra +/* 02D5A0 8002C9A0 A4850016 */ sh $a1, 0x16($a0) + +glabel func_8002C9A4 +/* 02D5A4 8002C9A4 00000000 */ nop +/* 02D5A8 8002C9A8 00000000 */ nop +/* 02D5AC 8002C9AC 00000000 */ nop +/* 02D5B0 8002C9B0 848E003A */ lh $t6, 0x3a($a0) +/* 02D5B4 8002C9B4 908F0078 */ lbu $t7, 0x78($a0) +/* 02D5B8 8002C9B8 01CF0019 */ multu $t6, $t7 +/* 02D5BC 8002C9BC 00001012 */ mflo $v0 +/* 02D5C0 8002C9C0 000211C3 */ sra $v0, $v0, 7 +/* 02D5C4 8002C9C4 00021400 */ sll $v0, $v0, 0x10 +/* 02D5C8 8002C9C8 03E00008 */ jr $ra +/* 02D5CC 8002C9CC 00021403 */ sra $v0, $v0, 0x10 + +glabel func_8002C9D0 +/* 02D5D0 8002C9D0 8CAE0000 */ lw $t6, ($a1) +/* 02D5D4 8002C9D4 AC8E0008 */ sw $t6, 8($a0) +/* 02D5D8 8002C9D8 84AF000C */ lh $t7, 0xc($a1) +/* 02D5DC 8002C9DC A48F001A */ sh $t7, 0x1a($a0) +/* 02D5E0 8002C9E0 8CB80004 */ lw $t8, 4($a1) +/* 02D5E4 8002C9E4 03E00008 */ jr $ra +/* 02D5E8 8002C9E8 AC98000C */ sw $t8, 0xc($a0) + +glabel func_8002C9EC +/* 02D5EC 8002C9EC 03E00008 */ jr $ra +/* 02D5F0 8002C9F0 8C82000C */ lw $v0, 0xc($a0) + +glabel func_8002C9F4 +/* 02D5F4 8002C9F4 03E00008 */ jr $ra +/* 02D5F8 8002C9F8 00000000 */ nop + +glabel func_8002C9FC +/* 02D5FC 8002C9FC 8C830008 */ lw $v1, 8($a0) +/* 02D600 8002CA00 90620000 */ lbu $v0, ($v1) +/* 02D604 8002CA04 246E0001 */ addiu $t6, $v1, 1 +/* 02D608 8002CA08 AC8E0008 */ sw $t6, 8($a0) +/* 02D60C 8002CA0C 304F0080 */ andi $t7, $v0, 0x80 +/* 02D610 8002CA10 11E0000B */ beqz $t7, .L8002CA40_ovl0 +/* 02D614 8002CA14 00402825 */ move $a1, $v0 +/* 02D618 8002CA18 3045007F */ andi $a1, $v0, 0x7f +.L8002CA1C_ovl0: +/* 02D61C 8002CA1C 8C830008 */ lw $v1, 8($a0) +/* 02D620 8002CA20 0005C9C0 */ sll $t9, $a1, 7 +/* 02D624 8002CA24 90620000 */ lbu $v0, ($v1) +/* 02D628 8002CA28 24780001 */ addiu $t8, $v1, 1 +/* 02D62C 8002CA2C AC980008 */ sw $t8, 8($a0) +/* 02D630 8002CA30 304E007F */ andi $t6, $v0, 0x7f +/* 02D634 8002CA34 304F0080 */ andi $t7, $v0, 0x80 +/* 02D638 8002CA38 15E0FFF8 */ bnez $t7, .L8002CA1C_ovl0 +/* 02D63C 8002CA3C 032E2821 */ addu $a1, $t9, $t6 +.L8002CA40_ovl0: +/* 02D640 8002CA40 03E00008 */ jr $ra +/* 02D644 8002CA44 00A01025 */ move $v0, $a1 + +glabel func_8002CA48 +/* 02D648 8002CA48 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02D64C 8002CA4C AFBF0014 */ sw $ra, 0x14($sp) +/* 02D650 8002CA50 00803025 */ move $a2, $a0 +/* 02D654 8002CA54 0C00B27F */ jal func_8002C9FC +/* 02D658 8002CA58 00A03825 */ move $a3, $a1 +/* 02D65C 8002CA5C 8CCE000C */ lw $t6, 0xc($a2) +/* 02D660 8002CA60 8CC30008 */ lw $v1, 8($a2) +/* 02D664 8002CA64 00404825 */ move $t1, $v0 +/* 02D668 8002CA68 01C27821 */ addu $t7, $t6, $v0 +/* 02D66C 8002CA6C ACCF000C */ sw $t7, 0xc($a2) +/* 02D670 8002CA70 90640000 */ lbu $a0, ($v1) +/* 02D674 8002CA74 240100FF */ li $at, 255 +/* 02D678 8002CA78 24780001 */ addiu $t8, $v1, 1 +/* 02D67C 8002CA7C ACD80008 */ sw $t8, 8($a2) +/* 02D680 8002CA80 00801025 */ move $v0, $a0 +/* 02D684 8002CA84 1481002F */ bne $a0, $at, .L8002CB44_ovl0 +/* 02D688 8002CA88 308500FF */ andi $a1, $a0, 0xff +/* 02D68C 8002CA8C 93020000 */ lbu $v0, ($t8) +/* 02D690 8002CA90 27190001 */ addiu $t9, $t8, 1 +/* 02D694 8002CA94 24010051 */ li $at, 81 +/* 02D698 8002CA98 ACD90008 */ sw $t9, 8($a2) +/* 02D69C 8002CA9C 1441001B */ bne $v0, $at, .L8002CB0C_ovl0 +/* 02D6A0 8002CAA0 00404025 */ move $t0, $v0 +/* 02D6A4 8002CAA4 240E0003 */ li $t6, 3 +/* 02D6A8 8002CAA8 A4EE0000 */ sh $t6, ($a3) +/* 02D6AC 8002CAAC ACE90004 */ sw $t1, 4($a3) +/* 02D6B0 8002CAB0 A0E50008 */ sb $a1, 8($a3) +/* 02D6B4 8002CAB4 A0E80009 */ sb $t0, 9($a3) +/* 02D6B8 8002CAB8 8CC30008 */ lw $v1, 8($a2) +/* 02D6BC 8002CABC 90620000 */ lbu $v0, ($v1) +/* 02D6C0 8002CAC0 246F0001 */ addiu $t7, $v1, 1 +/* 02D6C4 8002CAC4 ACCF0008 */ sw $t7, 8($a2) +/* 02D6C8 8002CAC8 A0E2000A */ sb $v0, 0xa($a3) +/* 02D6CC 8002CACC 8CC30008 */ lw $v1, 8($a2) +/* 02D6D0 8002CAD0 90640000 */ lbu $a0, ($v1) +/* 02D6D4 8002CAD4 24780001 */ addiu $t8, $v1, 1 +/* 02D6D8 8002CAD8 ACD80008 */ sw $t8, 8($a2) +/* 02D6DC 8002CADC A0E4000B */ sb $a0, 0xb($a3) +/* 02D6E0 8002CAE0 8CC30008 */ lw $v1, 8($a2) +/* 02D6E4 8002CAE4 90650000 */ lbu $a1, ($v1) +/* 02D6E8 8002CAE8 24790001 */ addiu $t9, $v1, 1 +/* 02D6EC 8002CAEC ACD90008 */ sw $t9, 8($a2) +/* 02D6F0 8002CAF0 A0E5000C */ sb $a1, 0xc($a3) +/* 02D6F4 8002CAF4 8CC30008 */ lw $v1, 8($a2) +/* 02D6F8 8002CAF8 90640000 */ lbu $a0, ($v1) +/* 02D6FC 8002CAFC 246E0001 */ addiu $t6, $v1, 1 +/* 02D700 8002CB00 ACCE0008 */ sw $t6, 8($a2) +/* 02D704 8002CB04 1000000D */ b .L8002CB3C_ovl0 +/* 02D708 8002CB08 A0E4000D */ sb $a0, 0xd($a3) +.L8002CB0C_ovl0: +/* 02D70C 8002CB0C 2401002F */ li $at, 47 +/* 02D710 8002CB10 1441000A */ bne $v0, $at, .L8002CB3C_ovl0 +/* 02D714 8002CB14 240F0004 */ li $t7, 4 +/* 02D718 8002CB18 A4EF0000 */ sh $t7, ($a3) +/* 02D71C 8002CB1C ACE90004 */ sw $t1, 4($a3) +/* 02D720 8002CB20 A0E50008 */ sb $a1, 8($a3) +/* 02D724 8002CB24 A0E80009 */ sb $t0, 9($a3) +/* 02D728 8002CB28 8CC30008 */ lw $v1, 8($a2) +/* 02D72C 8002CB2C 90640000 */ lbu $a0, ($v1) +/* 02D730 8002CB30 24780001 */ addiu $t8, $v1, 1 +/* 02D734 8002CB34 ACD80008 */ sw $t8, 8($a2) +/* 02D738 8002CB38 A0E4000A */ sb $a0, 0xa($a3) +.L8002CB3C_ovl0: +/* 02D73C 8002CB3C 1000001F */ b .L8002CBBC_ovl0 +/* 02D740 8002CB40 A4C0001A */ sh $zero, 0x1a($a2) +.L8002CB44_ovl0: +/* 02D744 8002CB44 24190001 */ li $t9, 1 +/* 02D748 8002CB48 304E0080 */ andi $t6, $v0, 0x80 +/* 02D74C 8002CB4C A4F90000 */ sh $t9, ($a3) +/* 02D750 8002CB50 11C00009 */ beqz $t6, .L8002CB78_ovl0 +/* 02D754 8002CB54 ACE90004 */ sw $t1, 4($a3) +/* 02D758 8002CB58 A0E50008 */ sb $a1, 8($a3) +/* 02D75C 8002CB5C 8CC30008 */ lw $v1, 8($a2) +/* 02D760 8002CB60 90640000 */ lbu $a0, ($v1) +/* 02D764 8002CB64 246F0001 */ addiu $t7, $v1, 1 +/* 02D768 8002CB68 ACCF0008 */ sw $t7, 8($a2) +/* 02D76C 8002CB6C A0E40009 */ sb $a0, 9($a3) +/* 02D770 8002CB70 10000004 */ b .L8002CB84_ovl0 +/* 02D774 8002CB74 A4C5001A */ sh $a1, 0x1a($a2) +.L8002CB78_ovl0: +/* 02D778 8002CB78 84D8001A */ lh $t8, 0x1a($a2) +/* 02D77C 8002CB7C A0E40009 */ sb $a0, 9($a3) +/* 02D780 8002CB80 A0F80008 */ sb $t8, 8($a3) +.L8002CB84_ovl0: +/* 02D784 8002CB84 90E20008 */ lbu $v0, 8($a3) +/* 02D788 8002CB88 240100C0 */ li $at, 192 +/* 02D78C 8002CB8C 304200F0 */ andi $v0, $v0, 0xf0 +/* 02D790 8002CB90 10410009 */ beq $v0, $at, .L8002CBB8_ovl0 +/* 02D794 8002CB94 240100D0 */ li $at, 208 +/* 02D798 8002CB98 50410008 */ beql $v0, $at, .L8002CBBC_ovl0 +/* 02D79C 8002CB9C A0E0000A */ sb $zero, 0xa($a3) +/* 02D7A0 8002CBA0 8CC30008 */ lw $v1, 8($a2) +/* 02D7A4 8002CBA4 90640000 */ lbu $a0, ($v1) +/* 02D7A8 8002CBA8 24790001 */ addiu $t9, $v1, 1 +/* 02D7AC 8002CBAC ACD90008 */ sw $t9, 8($a2) +/* 02D7B0 8002CBB0 10000002 */ b .L8002CBBC_ovl0 +/* 02D7B4 8002CBB4 A0E4000A */ sb $a0, 0xa($a3) +.L8002CBB8_ovl0: +/* 02D7B8 8002CBB8 A0E0000A */ sb $zero, 0xa($a3) +.L8002CBBC_ovl0: +/* 02D7BC 8002CBBC 8FBF0014 */ lw $ra, 0x14($sp) +/* 02D7C0 8002CBC0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02D7C4 8002CBC4 03E00008 */ jr $ra +/* 02D7C8 8002CBC8 00000000 */ nop + +glabel func_8002CBCC +/* 02D7CC 8002CBCC 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 02D7D0 8002CBD0 AFB70030 */ sw $s7, 0x30($sp) +/* 02D7D4 8002CBD4 AFB10018 */ sw $s1, 0x18($sp) +/* 02D7D8 8002CBD8 AFB00014 */ sw $s0, 0x14($sp) +/* 02D7DC 8002CBDC 00808025 */ move $s0, $a0 +/* 02D7E0 8002CBE0 00C08825 */ move $s1, $a2 +/* 02D7E4 8002CBE4 00A0B825 */ move $s7, $a1 +/* 02D7E8 8002CBE8 AFBF0034 */ sw $ra, 0x34($sp) +/* 02D7EC 8002CBEC AFB6002C */ sw $s6, 0x2c($sp) +/* 02D7F0 8002CBF0 AFB50028 */ sw $s5, 0x28($sp) +/* 02D7F4 8002CBF4 AFB40024 */ sw $s4, 0x24($sp) +/* 02D7F8 8002CBF8 AFB30020 */ sw $s3, 0x20($sp) +/* 02D7FC 8002CBFC 14C00007 */ bnez $a2, .L8002CC1C_ovl0 +/* 02D800 8002CC00 AFB2001C */ sw $s2, 0x1c($sp) +/* 02D804 8002CC04 8C8E0004 */ lw $t6, 4($a0) +/* 02D808 8002CC08 A4A0000C */ sh $zero, 0xc($a1) +/* 02D80C 8002CC0C ACA00004 */ sw $zero, 4($a1) +/* 02D810 8002CC10 ACA00008 */ sw $zero, 8($a1) +/* 02D814 8002CC14 1000002A */ b .L8002CCC0_ovl0 +/* 02D818 8002CC18 ACAE0000 */ sw $t6, ($a1) +.L8002CC1C_ovl0: +/* 02D81C 8002CC1C 8E0F0008 */ lw $t7, 8($s0) +/* 02D820 8002CC20 00001025 */ move $v0, $zero +/* 02D824 8002CC24 24130004 */ li $s3, 4 +/* 02D828 8002CC28 AFAF004C */ sw $t7, 0x4c($sp) +/* 02D82C 8002CC2C 8618001A */ lh $t8, 0x1a($s0) +/* 02D830 8002CC30 27B20050 */ addiu $s2, $sp, 0x50 +/* 02D834 8002CC34 A7B8003E */ sh $t8, 0x3e($sp) +/* 02D838 8002CC38 8E19000C */ lw $t9, 0xc($s0) +/* 02D83C 8002CC3C AFB90044 */ sw $t9, 0x44($sp) +/* 02D840 8002CC40 8E080004 */ lw $t0, 4($s0) +/* 02D844 8002CC44 A600001A */ sh $zero, 0x1a($s0) +/* 02D848 8002CC48 AE00000C */ sw $zero, 0xc($s0) +/* 02D84C 8002CC4C AE080008 */ sw $t0, 8($s0) +/* 02D850 8002CC50 8E140008 */ lw $s4, 8($s0) +.L8002CC54_ovl0: +/* 02D854 8002CC54 8615001A */ lh $s5, 0x1a($s0) +/* 02D858 8002CC58 0040B025 */ move $s6, $v0 +/* 02D85C 8002CC5C 02002025 */ move $a0, $s0 +/* 02D860 8002CC60 0C00B292 */ jal func_8002CA48 +/* 02D864 8002CC64 02402825 */ move $a1, $s2 +/* 02D868 8002CC68 87A90050 */ lh $t1, 0x50($sp) +/* 02D86C 8002CC6C 55330006 */ bnel $t1, $s3, .L8002CC88_ovl0 +/* 02D870 8002CC70 8E02000C */ lw $v0, 0xc($s0) +/* 02D874 8002CC74 8E140008 */ lw $s4, 8($s0) +/* 02D878 8002CC78 8615001A */ lh $s5, 0x1a($s0) +/* 02D87C 8002CC7C 10000005 */ b .L8002CC94_ovl0 +/* 02D880 8002CC80 8E16000C */ lw $s6, 0xc($s0) +/* 02D884 8002CC84 8E02000C */ lw $v0, 0xc($s0) +.L8002CC88_ovl0: +/* 02D888 8002CC88 0051082B */ sltu $at, $v0, $s1 +/* 02D88C 8002CC8C 5420FFF1 */ bnezl $at, .L8002CC54_ovl0 +/* 02D890 8002CC90 8E140008 */ lw $s4, 8($s0) +.L8002CC94_ovl0: +/* 02D894 8002CC94 AEF40000 */ sw $s4, ($s7) +/* 02D898 8002CC98 A6F5000C */ sh $s5, 0xc($s7) +/* 02D89C 8002CC9C AEF60004 */ sw $s6, 4($s7) +/* 02D8A0 8002CCA0 8E0A000C */ lw $t2, 0xc($s0) +/* 02D8A4 8002CCA4 AEEA0008 */ sw $t2, 8($s7) +/* 02D8A8 8002CCA8 8FAB004C */ lw $t3, 0x4c($sp) +/* 02D8AC 8002CCAC AE0B0008 */ sw $t3, 8($s0) +/* 02D8B0 8002CCB0 87AC003E */ lh $t4, 0x3e($sp) +/* 02D8B4 8002CCB4 A60C001A */ sh $t4, 0x1a($s0) +/* 02D8B8 8002CCB8 8FAD0044 */ lw $t5, 0x44($sp) +/* 02D8BC 8002CCBC AE0D000C */ sw $t5, 0xc($s0) +.L8002CCC0_ovl0: +/* 02D8C0 8002CCC0 8FBF0034 */ lw $ra, 0x34($sp) +/* 02D8C4 8002CCC4 8FB00014 */ lw $s0, 0x14($sp) +/* 02D8C8 8002CCC8 8FB10018 */ lw $s1, 0x18($sp) +/* 02D8CC 8002CCCC 8FB2001C */ lw $s2, 0x1c($sp) +/* 02D8D0 8002CCD0 8FB30020 */ lw $s3, 0x20($sp) +/* 02D8D4 8002CCD4 8FB40024 */ lw $s4, 0x24($sp) +/* 02D8D8 8002CCD8 8FB50028 */ lw $s5, 0x28($sp) +/* 02D8DC 8002CCDC 8FB6002C */ lw $s6, 0x2c($sp) +/* 02D8E0 8002CCE0 8FB70030 */ lw $s7, 0x30($sp) +/* 02D8E4 8002CCE4 03E00008 */ jr $ra +/* 02D8E8 8002CCE8 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8002CCEC +/* 02D8EC 8002CCEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02D8F0 8002CCF0 AFBF0014 */ sw $ra, 0x14($sp) +/* 02D8F4 8002CCF4 8C8F0010 */ lw $t7, 0x10($a0) +/* 02D8F8 8002CCF8 8C8E0000 */ lw $t6, ($a0) +/* 02D8FC 8002CCFC 8C820008 */ lw $v0, 8($a0) +/* 02D900 8002CD00 00803025 */ move $a2, $a0 +/* 02D904 8002CD04 01CFC021 */ addu $t8, $t6, $t7 +/* 02D908 8002CD08 0058082B */ sltu $at, $v0, $t8 +/* 02D90C 8002CD0C 14200003 */ bnez $at, .L8002CD1C_ovl0 +/* 02D910 8002CD10 00A04025 */ move $t0, $a1 +/* 02D914 8002CD14 10000007 */ b .L8002CD34_ovl0 +/* 02D918 8002CD18 00001025 */ move $v0, $zero +.L8002CD1C_ovl0: +/* 02D91C 8002CD1C 00403825 */ move $a3, $v0 +/* 02D920 8002CD20 0C00B27F */ jal func_8002C9FC +/* 02D924 8002CD24 00C02025 */ move $a0, $a2 +/* 02D928 8002CD28 AD020000 */ sw $v0, ($t0) +/* 02D92C 8002CD2C ACC70008 */ sw $a3, 8($a2) +/* 02D930 8002CD30 24020001 */ li $v0, 1 +.L8002CD34_ovl0: +/* 02D934 8002CD34 8FBF0014 */ lw $ra, 0x14($sp) +/* 02D938 8002CD38 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02D93C 8002CD3C 03E00008 */ jr $ra +/* 02D940 8002CD40 00000000 */ nop + +glabel func_8002CD44 +/* 02D944 8002CD44 03E00008 */ jr $ra +/* 02D948 8002CD48 00000000 */ nop + +glabel func_8002CD4C +/* 02D94C 8002CD4C 03E00008 */ jr $ra +/* 02D950 8002CD50 00000000 */ nop + +glabel func_8002CD54 +/* 02D954 8002CD54 00000000 */ nop +/* 02D958 8002CD58 00000000 */ nop +/* 02D95C 8002CD5C 00000000 */ nop +/* 02D960 8002CD60 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02D964 8002CD64 AFBF0014 */ sw $ra, 0x14($sp) +/* 02D968 8002CD68 240E000D */ li $t6, 13 +/* 02D96C 8002CD6C AFA5001C */ sw $a1, 0x1c($sp) +/* 02D970 8002CD70 A7AE0018 */ sh $t6, 0x18($sp) +/* 02D974 8002CD74 27A50018 */ addiu $a1, $sp, 0x18 +/* 02D978 8002CD78 24840050 */ addiu $a0, $a0, 0x50 +/* 02D97C 8002CD7C 0C009818 */ jal func_80026060 +/* 02D980 8002CD80 00003025 */ move $a2, $zero +/* 02D984 8002CD84 8FBF0014 */ lw $ra, 0x14($sp) +/* 02D988 8002CD88 27BD0028 */ addiu $sp, $sp, 0x28 +/* 02D98C 8002CD8C 03E00008 */ jr $ra +/* 02D990 8002CD90 00000000 */ nop + +glabel func_8002CD94 +/* 02D994 8002CD94 00000000 */ nop +/* 02D998 8002CD98 00000000 */ nop +/* 02D99C 8002CD9C 00000000 */ nop +/* 02D9A0 8002CDA0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02D9A4 8002CDA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 02D9A8 8002CDA8 AFA5001C */ sw $a1, 0x1c($sp) +/* 02D9AC 8002CDAC 8C8E0008 */ lw $t6, 8($a0) +/* 02D9B0 8002CDB0 51C00016 */ beql $t6, $zero, .L8002CE0C_ovl0 +/* 02D9B4 8002CDB4 8FBF0014 */ lw $ra, 0x14($sp) +/* 02D9B8 8002CDB8 0C00A642 */ jal func_80029908 +/* 02D9BC 8002CDBC AFA40018 */ sw $a0, 0x18($sp) +/* 02D9C0 8002CDC0 8FA70018 */ lw $a3, 0x18($sp) +/* 02D9C4 8002CDC4 10400010 */ beqz $v0, .L8002CE08_ovl0 +/* 02D9C8 8002CDC8 00403025 */ move $a2, $v0 +/* 02D9CC 8002CDCC 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 +/* 02D9D0 8002CDD0 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) +/* 02D9D4 8002CDD4 8CF90008 */ lw $t9, 8($a3) +/* 02D9D8 8002CDD8 240A0007 */ li $t2, 7 +/* 02D9DC 8002CDDC 8DF80028 */ lw $t8, 0x28($t7) +/* 02D9E0 8002CDE0 8F280088 */ lw $t0, 0x88($t9) +/* 02D9E4 8002CDE4 A44A0008 */ sh $t2, 8($v0) +/* 02D9E8 8002CDE8 24050003 */ li $a1, 3 +/* 02D9EC 8002CDEC 03084821 */ addu $t1, $t8, $t0 +/* 02D9F0 8002CDF0 AC490004 */ sw $t1, 4($v0) +/* 02D9F4 8002CDF4 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 02D9F8 8002CDF8 AC400000 */ sw $zero, ($v0) +/* 02D9FC 8002CDFC E444000C */ swc1 $f4, 0xc($v0) +/* 02DA00 8002CE00 0C009D48 */ jal func_80027520 +/* 02DA04 8002CE04 8CE40008 */ lw $a0, 8($a3) +.L8002CE08_ovl0: +/* 02DA08 8002CE08 8FBF0014 */ lw $ra, 0x14($sp) +.L8002CE0C_ovl0: +/* 02DA0C 8002CE0C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02DA10 8002CE10 03E00008 */ jr $ra +/* 02DA14 8002CE14 00000000 */ nop + +glabel func_8002CE18 +/* 02DA18 8002CE18 00000000 */ nop +/* 02DA1C 8002CE1C 00000000 */ nop +/* 02DA20 8002CE20 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 02DA24 8002CE24 30C200FF */ andi $v0, $a2, 0xff +/* 02DA28 8002CE28 AFBF0014 */ sw $ra, 0x14($sp) +/* 02DA2C 8002CE2C AFA60038 */ sw $a2, 0x38($sp) +/* 02DA30 8002CE30 00804025 */ move $t0, $a0 +/* 02DA34 8002CE34 1440000A */ bnez $v0, .L8002CE60_ovl0 +/* 02DA38 8002CE38 00A03825 */ move $a3, $a1 +/* 02DA3C 8002CE3C 240E000E */ li $t6, 14 +/* 02DA40 8002CE40 AFA50024 */ sw $a1, 0x24($sp) +/* 02DA44 8002CE44 A7AE0020 */ sh $t6, 0x20($sp) +/* 02DA48 8002CE48 27A50020 */ addiu $a1, $sp, 0x20 +/* 02DA4C 8002CE4C 24840050 */ addiu $a0, $a0, 0x50 +/* 02DA50 8002CE50 0C009818 */ jal func_80026060 +/* 02DA54 8002CE54 00003025 */ move $a2, $zero +/* 02DA58 8002CE58 10000016 */ b .L8002CEB4_ovl0 +/* 02DA5C 8002CE5C 8FBF0014 */ lw $ra, 0x14($sp) +.L8002CE60_ovl0: +/* 02DA60 8002CE60 24010001 */ li $at, 1 +/* 02DA64 8002CE64 14410009 */ bne $v0, $at, .L8002CE8C_ovl0 +/* 02DA68 8002CE68 240F0018 */ li $t7, 24 +/* 02DA6C 8002CE6C A7AF0020 */ sh $t7, 0x20($sp) +/* 02DA70 8002CE70 AFA70024 */ sw $a3, 0x24($sp) +/* 02DA74 8002CE74 25040050 */ addiu $a0, $t0, 0x50 +/* 02DA78 8002CE78 27A50020 */ addiu $a1, $sp, 0x20 +/* 02DA7C 8002CE7C 0C009818 */ jal func_80026060 +/* 02DA80 8002CE80 00003025 */ move $a2, $zero +/* 02DA84 8002CE84 1000000B */ b .L8002CEB4_ovl0 +/* 02DA88 8002CE88 8FBF0014 */ lw $ra, 0x14($sp) +.L8002CE8C_ovl0: +/* 02DA8C 8002CE8C 24010002 */ li $at, 2 +/* 02DA90 8002CE90 14410007 */ bne $v0, $at, .L8002CEB0_ovl0 +/* 02DA94 8002CE94 24180019 */ li $t8, 25 +/* 02DA98 8002CE98 A7B80020 */ sh $t8, 0x20($sp) +/* 02DA9C 8002CE9C AFA70024 */ sw $a3, 0x24($sp) +/* 02DAA0 8002CEA0 25040050 */ addiu $a0, $t0, 0x50 +/* 02DAA4 8002CEA4 27A50020 */ addiu $a1, $sp, 0x20 +/* 02DAA8 8002CEA8 0C009818 */ jal func_80026060 +/* 02DAAC 8002CEAC 00003025 */ move $a2, $zero +.L8002CEB0_ovl0: +/* 02DAB0 8002CEB0 8FBF0014 */ lw $ra, 0x14($sp) +.L8002CEB4_ovl0: +/* 02DAB4 8002CEB4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 02DAB8 8002CEB8 03E00008 */ jr $ra +/* 02DABC 8002CEBC 00000000 */ nop + +glabel func_8002CEC0 +/* 02DAC0 8002CEC0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02DAC4 8002CEC4 AFBF0014 */ sw $ra, 0x14($sp) +/* 02DAC8 8002CEC8 240E000E */ li $t6, 14 +/* 02DACC 8002CECC AFA5001C */ sw $a1, 0x1c($sp) +/* 02DAD0 8002CED0 A7AE0018 */ sh $t6, 0x18($sp) +/* 02DAD4 8002CED4 27A50018 */ addiu $a1, $sp, 0x18 +/* 02DAD8 8002CED8 24840050 */ addiu $a0, $a0, 0x50 +/* 02DADC 8002CEDC 0C009818 */ jal func_80026060 +/* 02DAE0 8002CEE0 00003025 */ move $a2, $zero +/* 02DAE4 8002CEE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 02DAE8 8002CEE8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 02DAEC 8002CEEC 03E00008 */ jr $ra +/* 02DAF0 8002CEF0 00000000 */ nop + +glabel func_8002CEF4 +/* 02DAF4 8002CEF4 00000000 */ nop +/* 02DAF8 8002CEF8 00000000 */ nop +/* 02DAFC 8002CEFC 00000000 */ nop +/* 02DB00 8002CF00 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02DB04 8002CF04 AFBF0014 */ sw $ra, 0x14($sp) +/* 02DB08 8002CF08 AFA5002C */ sw $a1, 0x2c($sp) +/* 02DB0C 8002CF0C 00A03825 */ move $a3, $a1 +/* 02DB10 8002CF10 240E000A */ li $t6, 10 +/* 02DB14 8002CF14 A7AE0018 */ sh $t6, 0x18($sp) +/* 02DB18 8002CF18 A7A7001C */ sh $a3, 0x1c($sp) +/* 02DB1C 8002CF1C 27A50018 */ addiu $a1, $sp, 0x18 +/* 02DB20 8002CF20 24840050 */ addiu $a0, $a0, 0x50 +/* 02DB24 8002CF24 0C009818 */ jal func_80026060 +/* 02DB28 8002CF28 00003025 */ move $a2, $zero +/* 02DB2C 8002CF2C 8FBF0014 */ lw $ra, 0x14($sp) +/* 02DB30 8002CF30 27BD0028 */ addiu $sp, $sp, 0x28 +/* 02DB34 8002CF34 03E00008 */ jr $ra +/* 02DB38 8002CF38 00000000 */ nop + +glabel func_8002CF3C +/* 02DB3C 8002CF3C 00000000 */ nop +/* 02DB40 8002CF40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02DB44 8002CF44 AFBF0014 */ sw $ra, 0x14($sp) +/* 02DB48 8002CF48 AFA5001C */ sw $a1, 0x1c($sp) +/* 02DB4C 8002CF4C AFA60020 */ sw $a2, 0x20($sp) +/* 02DB50 8002CF50 8C8E0008 */ lw $t6, 8($a0) +/* 02DB54 8002CF54 51C00020 */ beql $t6, $zero, .L8002CFD8_ovl0 +/* 02DB58 8002CF58 8FBF0014 */ lw $ra, 0x14($sp) +/* 02DB5C 8002CF5C 0C00A642 */ jal func_80029908 +/* 02DB60 8002CF60 AFA40018 */ sw $a0, 0x18($sp) +/* 02DB64 8002CF64 8FA70018 */ lw $a3, 0x18($sp) +/* 02DB68 8002CF68 1040001A */ beqz $v0, .L8002CFD4_ovl0 +/* 02DB6C 8002CF6C 00403025 */ move $a2, $v0 +/* 02DB70 8002CF70 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 +/* 02DB74 8002CF74 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) +/* 02DB78 8002CF78 8CF90008 */ lw $t9, 8($a3) +/* 02DB7C 8002CF7C 240A0011 */ li $t2, 17 +/* 02DB80 8002CF80 8DF80028 */ lw $t8, 0x28($t7) +/* 02DB84 8002CF84 8F280088 */ lw $t0, 0x88($t9) +/* 02DB88 8002CF88 A44A0008 */ sh $t2, 8($v0) +/* 02DB8C 8002CF8C 24050003 */ li $a1, 3 +/* 02DB90 8002CF90 03084821 */ addu $t1, $t8, $t0 +/* 02DB94 8002CF94 AC490004 */ sw $t1, 4($v0) +/* 02DB98 8002CF98 93A3001F */ lbu $v1, 0x1f($sp) +/* 02DB9C 8002CF9C 04610003 */ bgez $v1, .L8002CFAC_ovl0 +/* 02DBA0 8002CFA0 00035823 */ negu $t3, $v1 +/* 02DBA4 8002CFA4 10000002 */ b .L8002CFB0_ovl0 +/* 02DBA8 8002CFA8 AC4B000C */ sw $t3, 0xc($v0) +.L8002CFAC_ovl0: +/* 02DBAC 8002CFAC AC43000C */ sw $v1, 0xc($v0) +.L8002CFB0_ovl0: +/* 02DBB0 8002CFB0 93A30023 */ lbu $v1, 0x23($sp) +/* 02DBB4 8002CFB4 04610003 */ bgez $v1, .L8002CFC4_ovl0 +/* 02DBB8 8002CFB8 00036023 */ negu $t4, $v1 +/* 02DBBC 8002CFBC 10000002 */ b .L8002CFC8_ovl0 +/* 02DBC0 8002CFC0 AC4C0010 */ sw $t4, 0x10($v0) +.L8002CFC4_ovl0: +/* 02DBC4 8002CFC4 AC430010 */ sw $v1, 0x10($v0) +.L8002CFC8_ovl0: +/* 02DBC8 8002CFC8 ACC00000 */ sw $zero, ($a2) +/* 02DBCC 8002CFCC 0C009D48 */ jal func_80027520 +/* 02DBD0 8002CFD0 8CE40008 */ lw $a0, 8($a3) +.L8002CFD4_ovl0: +/* 02DBD4 8002CFD4 8FBF0014 */ lw $ra, 0x14($sp) +.L8002CFD8_ovl0: +/* 02DBD8 8002CFD8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02DBDC 8002CFDC 03E00008 */ jr $ra +/* 02DBE0 8002CFE0 00000000 */ nop + +glabel func_8002CFE4 +/* 02DBE4 8002CFE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02DBE8 8002CFE8 AFBF0014 */ sw $ra, 0x14($sp) +/* 02DBEC 8002CFEC AFA5001C */ sw $a1, 0x1c($sp) +/* 02DBF0 8002CFF0 8C8E0008 */ lw $t6, 8($a0) +/* 02DBF4 8002CFF4 51C0001A */ beql $t6, $zero, .L8002D060_ovl0 +/* 02DBF8 8002CFF8 8FBF0014 */ lw $ra, 0x14($sp) +/* 02DBFC 8002CFFC 0C00A642 */ jal func_80029908 +/* 02DC00 8002D000 AFA40018 */ sw $a0, 0x18($sp) +/* 02DC04 8002D004 8FA70018 */ lw $a3, 0x18($sp) +/* 02DC08 8002D008 10400014 */ beqz $v0, .L8002D05C_ovl0 +/* 02DC0C 8002D00C 00403025 */ move $a2, $v0 +/* 02DC10 8002D010 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 +/* 02DC14 8002D014 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) +/* 02DC18 8002D018 8CF90008 */ lw $t9, 8($a3) +/* 02DC1C 8002D01C 240A0010 */ li $t2, 16 +/* 02DC20 8002D020 8DF80028 */ lw $t8, 0x28($t7) +/* 02DC24 8002D024 8F280088 */ lw $t0, 0x88($t9) +/* 02DC28 8002D028 A44A0008 */ sh $t2, 8($v0) +/* 02DC2C 8002D02C 24050003 */ li $a1, 3 +/* 02DC30 8002D030 03084821 */ addu $t1, $t8, $t0 +/* 02DC34 8002D034 AC490004 */ sw $t1, 4($v0) +/* 02DC38 8002D038 93A3001F */ lbu $v1, 0x1f($sp) +/* 02DC3C 8002D03C 04610003 */ bgez $v1, .L8002D04C_ovl0 +/* 02DC40 8002D040 00035823 */ negu $t3, $v1 +/* 02DC44 8002D044 10000002 */ b .L8002D050_ovl0 +/* 02DC48 8002D048 AC4B000C */ sw $t3, 0xc($v0) +.L8002D04C_ovl0: +/* 02DC4C 8002D04C AC43000C */ sw $v1, 0xc($v0) +.L8002D050_ovl0: +/* 02DC50 8002D050 ACC00000 */ sw $zero, ($a2) +/* 02DC54 8002D054 0C009D48 */ jal func_80027520 +/* 02DC58 8002D058 8CE40008 */ lw $a0, 8($a3) +.L8002D05C_ovl0: +/* 02DC5C 8002D05C 8FBF0014 */ lw $ra, 0x14($sp) +.L8002D060_ovl0: +/* 02DC60 8002D060 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02DC64 8002D064 03E00008 */ jr $ra +/* 02DC68 8002D068 00000000 */ nop + +glabel func_8002D06C +/* 02DC6C 8002D06C 00000000 */ nop +/* 02DC70 8002D070 3C028004 */ lui $v0, %hi(D_8003FB14) # $v0, 0x8004 +/* 02DC74 8002D074 2442FB14 */ addiu $v0, %lo(D_8003FB14) # addiu $v0, $v0, -0x4ec +/* 02DC78 8002D078 8C4E0000 */ lw $t6, ($v0) +/* 02DC7C 8002D07C ADC00000 */ sw $zero, ($t6) +/* 02DC80 8002D080 8C4F0000 */ lw $t7, ($v0) +/* 02DC84 8002D084 ADE00004 */ sw $zero, 4($t7) +/* 02DC88 8002D088 8C580000 */ lw $t8, ($v0) +/* 02DC8C 8002D08C AF000008 */ sw $zero, 8($t8) +/* 02DC90 8002D090 8C590000 */ lw $t9, ($v0) +/* 02DC94 8002D094 03E00008 */ jr $ra +/* 02DC98 8002D098 AF20000C */ sw $zero, 0xc($t9) + +glabel func_8002D09C +/* 02DC9C 8002D09C 00000000 */ nop +/* 02DCA0 8002D0A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02DCA4 8002D0A4 AFBF0014 */ sw $ra, 0x14($sp) +/* 02DCA8 8002D0A8 240E000F */ li $t6, 15 +/* 02DCAC 8002D0AC A7AE0018 */ sh $t6, 0x18($sp) +/* 02DCB0 8002D0B0 27A50018 */ addiu $a1, $sp, 0x18 +/* 02DCB4 8002D0B4 24840050 */ addiu $a0, $a0, 0x50 +/* 02DCB8 8002D0B8 0C009818 */ jal func_80026060 +/* 02DCBC 8002D0BC 00003025 */ move $a2, $zero +/* 02DCC0 8002D0C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 02DCC4 8002D0C4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 02DCC8 8002D0C8 03E00008 */ jr $ra +/* 02DCCC 8002D0CC 00000000 */ nop + +glabel func_8002D0D0 +/* 02DCD0 8002D0D0 AFA50004 */ sw $a1, 4($sp) +/* 02DCD4 8002D0D4 30A500FF */ andi $a1, $a1, 0xff +/* 02DCD8 8002D0D8 8C8E0068 */ lw $t6, 0x68($a0) +/* 02DCDC 8002D0DC 00057880 */ sll $t7, $a1, 2 +/* 02DCE0 8002D0E0 01E57823 */ subu $t7, $t7, $a1 +/* 02DCE4 8002D0E4 000F78C0 */ sll $t7, $t7, 3 +/* 02DCE8 8002D0E8 01CF1821 */ addu $v1, $t6, $t7 +/* 02DCEC 8002D0EC 90780011 */ lbu $t8, 0x11($v1) +/* 02DCF0 8002D0F0 90790009 */ lbu $t9, 9($v1) +/* 02DCF4 8002D0F4 2401007F */ li $at, 127 +/* 02DCF8 8002D0F8 03190019 */ multu $t8, $t9 +/* 02DCFC 8002D0FC 00001012 */ mflo $v0 +/* 02DD00 8002D100 00000000 */ nop +/* 02DD04 8002D104 00000000 */ nop +/* 02DD08 8002D108 0041001A */ div $zero, $v0, $at +/* 02DD0C 8002D10C 00001012 */ mflo $v0 +/* 02DD10 8002D110 304200FF */ andi $v0, $v0, 0xff +/* 02DD14 8002D114 03E00008 */ jr $ra +/* 02DD18 8002D118 00000000 */ nop + +glabel func_8002D11C +/* 02DD1C 8002D11C 00000000 */ nop +/* 02DD20 8002D120 3C0E8004 */ lui $t6, %hi(D_8003FB14) # $t6, 0x8004 +/* 02DD24 8002D124 8DCEFB14 */ lw $t6, %lo(D_8003FB14)($t6) +/* 02DD28 8002D128 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 02DD2C 8002D12C AFBF0014 */ sw $ra, 0x14($sp) +/* 02DD30 8002D130 AFA40020 */ sw $a0, 0x20($sp) +/* 02DD34 8002D134 8DCF0040 */ lw $t7, 0x40($t6) +/* 02DD38 8002D138 00043C00 */ sll $a3, $a0, 0x10 +/* 02DD3C 8002D13C 00073C03 */ sra $a3, $a3, 0x10 +/* 02DD40 8002D140 00071880 */ sll $v1, $a3, 2 +/* 02DD44 8002D144 01E32021 */ addu $a0, $t7, $v1 +/* 02DD48 8002D148 24840024 */ addiu $a0, $a0, 0x24 +/* 02DD4C 8002D14C 0C00A942 */ jal func_8002A508 +/* 02DD50 8002D150 AFA3001C */ sw $v1, 0x1c($sp) +/* 02DD54 8002D154 3C188004 */ lui $t8, %hi(D_8003FB14) # $t8, 0x8004 +/* 02DD58 8002D158 8F18FB14 */ lw $t8, %lo(D_8003FB14)($t8) +/* 02DD5C 8002D15C 8FA3001C */ lw $v1, 0x1c($sp) +/* 02DD60 8002D160 8FBF0014 */ lw $ra, 0x14($sp) +/* 02DD64 8002D164 8F190040 */ lw $t9, 0x40($t8) +/* 02DD68 8002D168 03234021 */ addu $t0, $t9, $v1 +/* 02DD6C 8002D16C 8D020024 */ lw $v0, 0x24($t0) +/* 02DD70 8002D170 03E00008 */ jr $ra +/* 02DD74 8002D174 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8002D178 +/* 02DD78 8002D178 00000000 */ nop +/* 02DD7C 8002D17C 00000000 */ nop +/* 02DD80 8002D180 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02DD84 8002D184 AFBF0014 */ sw $ra, 0x14($sp) +/* 02DD88 8002D188 240E0011 */ li $t6, 17 +/* 02DD8C 8002D18C A7AE0018 */ sh $t6, 0x18($sp) +/* 02DD90 8002D190 27A50018 */ addiu $a1, $sp, 0x18 +/* 02DD94 8002D194 24840050 */ addiu $a0, $a0, 0x50 +/* 02DD98 8002D198 0C009818 */ jal func_80026060 +/* 02DD9C 8002D19C 00003025 */ move $a2, $zero +/* 02DDA0 8002D1A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 02DDA4 8002D1A4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 02DDA8 8002D1A8 03E00008 */ jr $ra +/* 02DDAC 8002D1AC 00000000 */ nop + +glabel func_8002D1B0 +/* 02DDB0 8002D1B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02DDB4 8002D1B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 02DDB8 8002D1B8 8C850008 */ lw $a1, 8($a0) +/* 02DDBC 8002D1BC 00803825 */ move $a3, $a0 +/* 02DDC0 8002D1C0 50A0001F */ beql $a1, $zero, .L8002D240_ovl0 +/* 02DDC4 8002D1C4 8FBF0014 */ lw $ra, 0x14($sp) +/* 02DDC8 8002D1C8 8CAE0088 */ lw $t6, 0x88($a1) +/* 02DDCC 8002D1CC 51C00017 */ beql $t6, $zero, .L8002D22C_ovl0 +/* 02DDD0 8002D1D0 00A02025 */ move $a0, $a1 +/* 02DDD4 8002D1D4 0C00A642 */ jal func_80029908 +/* 02DDD8 8002D1D8 AFA40018 */ sw $a0, 0x18($sp) +/* 02DDDC 8002D1DC 8FA70018 */ lw $a3, 0x18($sp) +/* 02DDE0 8002D1E0 10400015 */ beqz $v0, .L8002D238_ovl0 +/* 02DDE4 8002D1E4 00403025 */ move $a2, $v0 +/* 02DDE8 8002D1E8 3C0F8004 */ lui $t7, %hi(D_8003FB14) # $t7, 0x8004 +/* 02DDEC 8002D1EC 8DEFFB14 */ lw $t7, %lo(D_8003FB14)($t7) +/* 02DDF0 8002D1F0 8CF90008 */ lw $t9, 8($a3) +/* 02DDF4 8002D1F4 24050003 */ li $a1, 3 +/* 02DDF8 8002D1F8 8DF80028 */ lw $t8, 0x28($t7) +/* 02DDFC 8002D1FC 8F280088 */ lw $t0, 0x88($t9) +/* 02DE00 8002D200 A4400008 */ sh $zero, 8($v0) +/* 02DE04 8002D204 03084821 */ addu $t1, $t8, $t0 +/* 02DE08 8002D208 AC490004 */ sw $t1, 4($v0) +/* 02DE0C 8002D20C 8CEA0008 */ lw $t2, 8($a3) +/* 02DE10 8002D210 AC4A000C */ sw $t2, 0xc($v0) +/* 02DE14 8002D214 8CE40008 */ lw $a0, 8($a3) +/* 02DE18 8002D218 0C009D48 */ jal func_80027520 +/* 02DE1C 8002D21C AFA70018 */ sw $a3, 0x18($sp) +/* 02DE20 8002D220 10000005 */ b .L8002D238_ovl0 +/* 02DE24 8002D224 8FA70018 */ lw $a3, 0x18($sp) +/* 02DE28 8002D228 00A02025 */ move $a0, $a1 +.L8002D22C_ovl0: +/* 02DE2C 8002D22C 0C009D70 */ jal func_800275C0 +/* 02DE30 8002D230 AFA70018 */ sw $a3, 0x18($sp) +/* 02DE34 8002D234 8FA70018 */ lw $a3, 0x18($sp) +.L8002D238_ovl0: +/* 02DE38 8002D238 ACE00008 */ sw $zero, 8($a3) +/* 02DE3C 8002D23C 8FBF0014 */ lw $ra, 0x14($sp) +.L8002D240_ovl0: +/* 02DE40 8002D240 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02DE44 8002D244 03E00008 */ jr $ra +/* 02DE48 8002D248 00000000 */ nop + +glabel func_8002D24C +/* 02DE4C 8002D24C 00000000 */ nop +/* 02DE50 8002D250 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 02DE54 8002D254 AFBF0014 */ sw $ra, 0x14($sp) +/* 02DE58 8002D258 AFA40020 */ sw $a0, 0x20($sp) +/* 02DE5C 8002D25C AFA50024 */ sw $a1, 0x24($sp) +/* 02DE60 8002D260 AFA60028 */ sw $a2, 0x28($sp) +/* 02DE64 8002D264 8C8F0008 */ lw $t7, 8($a0) +/* 02DE68 8002D268 51E0001B */ beql $t7, $zero, .L8002D2D8_ovl0 +/* 02DE6C 8002D26C 8FBF0014 */ lw $ra, 0x14($sp) +/* 02DE70 8002D270 0C00A642 */ jal func_80029908 +/* 02DE74 8002D274 00000000 */ nop +/* 02DE78 8002D278 10400016 */ beqz $v0, .L8002D2D4_ovl0 +/* 02DE7C 8002D27C 8FA80020 */ lw $t0, 0x20($sp) +/* 02DE80 8002D280 3C188004 */ lui $t8, %hi(D_8003FB14) # $t8, 0x8004 +/* 02DE84 8002D284 8F18FB14 */ lw $t8, %lo(D_8003FB14)($t8) +/* 02DE88 8002D288 8D090008 */ lw $t1, 8($t0) +/* 02DE8C 8002D28C 240C000B */ li $t4, 11 +/* 02DE90 8002D290 8F190028 */ lw $t9, 0x28($t8) +/* 02DE94 8002D294 8D2A0088 */ lw $t2, 0x88($t1) +/* 02DE98 8002D298 A44C0008 */ sh $t4, 8($v0) +/* 02DE9C 8002D29C 032A5821 */ addu $t3, $t9, $t2 +/* 02DEA0 8002D2A0 AC4B0004 */ sw $t3, 4($v0) +/* 02DEA4 8002D2A4 87AD0026 */ lh $t5, 0x26($sp) +/* 02DEA8 8002D2A8 AC4D000C */ sw $t5, 0xc($v0) +/* 02DEAC 8002D2AC AFA2001C */ sw $v0, 0x1c($sp) +/* 02DEB0 8002D2B0 0C00A60F */ jal func_8002983C +/* 02DEB4 8002D2B4 8FA40028 */ lw $a0, 0x28($sp) +/* 02DEB8 8002D2B8 8FA6001C */ lw $a2, 0x1c($sp) +/* 02DEBC 8002D2BC 24050003 */ li $a1, 3 +/* 02DEC0 8002D2C0 ACC20010 */ sw $v0, 0x10($a2) +/* 02DEC4 8002D2C4 ACC00000 */ sw $zero, ($a2) +/* 02DEC8 8002D2C8 8FAE0020 */ lw $t6, 0x20($sp) +/* 02DECC 8002D2CC 0C009D48 */ jal func_80027520 +/* 02DED0 8002D2D0 8DC40008 */ lw $a0, 8($t6) +.L8002D2D4_ovl0: +/* 02DED4 8002D2D4 8FBF0014 */ lw $ra, 0x14($sp) +.L8002D2D8_ovl0: +/* 02DED8 8002D2D8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 02DEDC 8002D2DC 03E00008 */ jr $ra +/* 02DEE0 8002D2E0 00000000 */ nop + +glabel func_8002D2E4 +/* 02DEE4 8002D2E4 00000000 */ nop +/* 02DEE8 8002D2E8 00000000 */ nop +/* 02DEEC 8002D2EC 00000000 */ nop +/* 02DEF0 8002D2F0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 02DEF4 8002D2F4 AFBF0024 */ sw $ra, 0x24($sp) +/* 02DEF8 8002D2F8 AFA40038 */ sw $a0, 0x38($sp) +/* 02DEFC 8002D2FC AFA5003C */ sw $a1, 0x3c($sp) +/* 02DF00 8002D300 AFA60040 */ sw $a2, 0x40($sp) +/* 02DF04 8002D304 AFB20020 */ sw $s2, 0x20($sp) +/* 02DF08 8002D308 AFB1001C */ sw $s1, 0x1c($sp) +/* 02DF0C 8002D30C 0C00D4D8 */ jal __osDisableInt +/* 02DF10 8002D310 AFB00018 */ sw $s0, 0x18($sp) +/* 02DF14 8002D314 8FAE0038 */ lw $t6, 0x38($sp) +/* 02DF18 8002D318 00408025 */ move $s0, $v0 +/* 02DF1C 8002D31C 8DCF0008 */ lw $t7, 8($t6) +/* 02DF20 8002D320 8DD80010 */ lw $t8, 0x10($t6) +/* 02DF24 8002D324 01F8082A */ slt $at, $t7, $t8 +/* 02DF28 8002D328 14200018 */ bnez $at, .L8002D38C_ovl0 +/* 02DF2C 8002D32C 00000000 */ nop +.L8002D330_ovl0: +/* 02DF30 8002D330 8FB90040 */ lw $t9, 0x40($sp) +/* 02DF34 8002D334 24010001 */ li $at, 1 +/* 02DF38 8002D338 1721000A */ bne $t9, $at, .L8002D364_ovl0 +/* 02DF3C 8002D33C 00000000 */ nop +/* 02DF40 8002D340 3C098004 */ lui $t1, %hi(__osRunningThread) # $t1, 0x8004 +/* 02DF44 8002D344 8D29FB60 */ lw $t1, %lo(__osRunningThread)($t1) +/* 02DF48 8002D348 24080008 */ li $t0, 8 +/* 02DF4C 8002D34C A5280010 */ sh $t0, 0x10($t1) +/* 02DF50 8002D350 8FA40038 */ lw $a0, 0x38($sp) +/* 02DF54 8002D354 0C00B963 */ jal __osEnqueueAndYield +/* 02DF58 8002D358 24840004 */ addiu $a0, $a0, 4 +/* 02DF5C 8002D35C 10000005 */ b .L8002D374_ovl0 +/* 02DF60 8002D360 00000000 */ nop +.L8002D364_ovl0: +/* 02DF64 8002D364 0C00D4E0 */ jal __osRestoreInt +/* 02DF68 8002D368 02002025 */ move $a0, $s0 +/* 02DF6C 8002D36C 1000002D */ b .L8002D424_ovl0 +/* 02DF70 8002D370 2402FFFF */ li $v0, -1 +.L8002D374_ovl0: +/* 02DF74 8002D374 8FAA0038 */ lw $t2, 0x38($sp) +/* 02DF78 8002D378 8D4B0008 */ lw $t3, 8($t2) +/* 02DF7C 8002D37C 8D4C0010 */ lw $t4, 0x10($t2) +/* 02DF80 8002D380 016C082A */ slt $at, $t3, $t4 +/* 02DF84 8002D384 1020FFEA */ beqz $at, .L8002D330_ovl0 +/* 02DF88 8002D388 00000000 */ nop +.L8002D38C_ovl0: +/* 02DF8C 8002D38C 8FAD0038 */ lw $t5, 0x38($sp) +/* 02DF90 8002D390 8FA8003C */ lw $t0, 0x3c($sp) +/* 02DF94 8002D394 8DAE000C */ lw $t6, 0xc($t5) +/* 02DF98 8002D398 8DAF0008 */ lw $t7, 8($t5) +/* 02DF9C 8002D39C 8DB90010 */ lw $t9, 0x10($t5) +/* 02DFA0 8002D3A0 8DA90014 */ lw $t1, 0x14($t5) +/* 02DFA4 8002D3A4 01CFC021 */ addu $t8, $t6, $t7 +/* 02DFA8 8002D3A8 0319001A */ div $zero, $t8, $t9 +/* 02DFAC 8002D3AC 00008810 */ mfhi $s1 +/* 02DFB0 8002D3B0 00115080 */ sll $t2, $s1, 2 +/* 02DFB4 8002D3B4 012A5821 */ addu $t3, $t1, $t2 +/* 02DFB8 8002D3B8 AD680000 */ sw $t0, ($t3) +/* 02DFBC 8002D3BC 8FAC0038 */ lw $t4, 0x38($sp) +/* 02DFC0 8002D3C0 17200002 */ bnez $t9, .L8002D3CC_ovl0 +/* 02DFC4 8002D3C4 00000000 */ nop +/* 02DFC8 8002D3C8 0007000D */ break 7 +.L8002D3CC_ovl0: +/* 02DFCC 8002D3CC 2401FFFF */ li $at, -1 +/* 02DFD0 8002D3D0 17210004 */ bne $t9, $at, .L8002D3E4_ovl0 +/* 02DFD4 8002D3D4 3C018000 */ lui $at, 0x8000 +/* 02DFD8 8002D3D8 17010002 */ bne $t8, $at, .L8002D3E4_ovl0 +/* 02DFDC 8002D3DC 00000000 */ nop +/* 02DFE0 8002D3E0 0006000D */ break 6 +.L8002D3E4_ovl0: +/* 02DFE4 8002D3E4 8D8E0008 */ lw $t6, 8($t4) +/* 02DFE8 8002D3E8 25CF0001 */ addiu $t7, $t6, 1 +/* 02DFEC 8002D3EC AD8F0008 */ sw $t7, 8($t4) +/* 02DFF0 8002D3F0 8FB80038 */ lw $t8, 0x38($sp) +/* 02DFF4 8002D3F4 8F190000 */ lw $t9, ($t8) +/* 02DFF8 8002D3F8 8F2D0000 */ lw $t5, ($t9) +/* 02DFFC 8002D3FC 11A00006 */ beqz $t5, .L8002D418_ovl0 +/* 02E000 8002D400 00000000 */ nop +/* 02E004 8002D404 0C00B9B5 */ jal __osPopThread +/* 02E008 8002D408 03002025 */ move $a0, $t8 +/* 02E00C 8002D40C 00409025 */ move $s2, $v0 +/* 02E010 8002D410 0C00E334 */ jal osStartThread +/* 02E014 8002D414 02402025 */ move $a0, $s2 +.L8002D418_ovl0: +/* 02E018 8002D418 0C00D4E0 */ jal __osRestoreInt +/* 02E01C 8002D41C 02002025 */ move $a0, $s0 +/* 02E020 8002D420 00001025 */ move $v0, $zero +.L8002D424_ovl0: +/* 02E024 8002D424 8FBF0024 */ lw $ra, 0x24($sp) +/* 02E028 8002D428 8FB00018 */ lw $s0, 0x18($sp) +/* 02E02C 8002D42C 8FB1001C */ lw $s1, 0x1c($sp) +/* 02E030 8002D430 8FB20020 */ lw $s2, 0x20($sp) +/* 02E034 8002D434 03E00008 */ jr $ra +/* 02E038 8002D438 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8002D43C +/* 02E03C 8002D43C 00000000 */ nop +/* 02E040 8002D440 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 02E044 8002D444 AFBF0024 */ sw $ra, 0x24($sp) +/* 02E048 8002D448 AFA40038 */ sw $a0, 0x38($sp) +/* 02E04C 8002D44C AFB20020 */ sw $s2, 0x20($sp) +/* 02E050 8002D450 AFB1001C */ sw $s1, 0x1c($sp) +/* 02E054 8002D454 0C00D4D8 */ jal __osDisableInt +/* 02E058 8002D458 AFB00018 */ sw $s0, 0x18($sp) +/* 02E05C 8002D45C 8FAE0038 */ lw $t6, 0x38($sp) +/* 02E060 8002D460 00408025 */ move $s0, $v0 +/* 02E064 8002D464 15C00003 */ bnez $t6, .L8002D474_ovl0 +/* 02E068 8002D468 00000000 */ nop +/* 02E06C 8002D46C 10000003 */ b .L8002D47C_ovl0 +/* 02E070 8002D470 24110004 */ li $s1, 4 +.L8002D474_ovl0: +/* 02E074 8002D474 8FAF0038 */ lw $t7, 0x38($sp) +/* 02E078 8002D478 95F10010 */ lhu $s1, 0x10($t7) +.L8002D47C_ovl0: +/* 02E07C 8002D47C 02209025 */ move $s2, $s1 +/* 02E080 8002D480 24010002 */ li $at, 2 +/* 02E084 8002D484 1241000F */ beq $s2, $at, .L8002D4C4_ovl0 +/* 02E088 8002D488 24010004 */ li $at, 4 +/* 02E08C 8002D48C 12410005 */ beq $s2, $at, .L8002D4A4_ovl0 +/* 02E090 8002D490 24010008 */ li $at, 8 +/* 02E094 8002D494 1241000B */ beq $s2, $at, .L8002D4C4_ovl0 +/* 02E098 8002D498 00000000 */ nop +/* 02E09C 8002D49C 10000010 */ b .L8002D4E0_ovl0 +/* 02E0A0 8002D4A0 00000000 */ nop +.L8002D4A4_ovl0: +/* 02E0A4 8002D4A4 3C198004 */ lui $t9, %hi(__osRunningThread) # $t9, 0x8004 +/* 02E0A8 8002D4A8 8F39FB60 */ lw $t9, %lo(__osRunningThread)($t9) +/* 02E0AC 8002D4AC 24180001 */ li $t8, 1 +/* 02E0B0 8002D4B0 00002025 */ move $a0, $zero +/* 02E0B4 8002D4B4 0C00B963 */ jal __osEnqueueAndYield +/* 02E0B8 8002D4B8 A7380010 */ sh $t8, 0x10($t9) +/* 02E0BC 8002D4BC 10000008 */ b .L8002D4E0_ovl0 +/* 02E0C0 8002D4C0 00000000 */ nop +.L8002D4C4_ovl0: +/* 02E0C4 8002D4C4 8FA90038 */ lw $t1, 0x38($sp) +/* 02E0C8 8002D4C8 24080001 */ li $t0, 1 +/* 02E0CC 8002D4CC A5280010 */ sh $t0, 0x10($t1) +/* 02E0D0 8002D4D0 8FAA0038 */ lw $t2, 0x38($sp) +/* 02E0D4 8002D4D4 8D440008 */ lw $a0, 8($t2) +/* 02E0D8 8002D4D8 0C00BA1C */ jal __osDequeueThread +/* 02E0DC 8002D4DC 01402825 */ move $a1, $t2 +.L8002D4E0_ovl0: +/* 02E0E0 8002D4E0 0C00D4E0 */ jal __osRestoreInt +/* 02E0E4 8002D4E4 02002025 */ move $a0, $s0 +/* 02E0E8 8002D4E8 8FBF0024 */ lw $ra, 0x24($sp) +/* 02E0EC 8002D4EC 8FB00018 */ lw $s0, 0x18($sp) +/* 02E0F0 8002D4F0 8FB1001C */ lw $s1, 0x1c($sp) +/* 02E0F4 8002D4F4 8FB20020 */ lw $s2, 0x20($sp) +/* 02E0F8 8002D4F8 03E00008 */ jr $ra +/* 02E0FC 8002D4FC 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel osRecvMesg +/* 02E100 8002D500 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 02E104 8002D504 AFBF001C */ sw $ra, 0x1c($sp) +/* 02E108 8002D508 AFA40028 */ sw $a0, 0x28($sp) +/* 02E10C 8002D50C AFA5002C */ sw $a1, 0x2c($sp) +/* 02E110 8002D510 AFA60030 */ sw $a2, 0x30($sp) +/* 02E114 8002D514 AFB10018 */ sw $s1, 0x18($sp) +/* 02E118 8002D518 0C00D4D8 */ jal __osDisableInt +/* 02E11C 8002D51C AFB00014 */ sw $s0, 0x14($sp) +/* 02E120 8002D520 8FAE0028 */ lw $t6, 0x28($sp) +/* 02E124 8002D524 00408025 */ move $s0, $v0 +/* 02E128 8002D528 8DCF0008 */ lw $t7, 8($t6) +/* 02E12C 8002D52C 15E00012 */ bnez $t7, .L8002D578_ovl0 +/* 02E130 8002D530 00000000 */ nop +.L8002D534_ovl0: +/* 02E134 8002D534 8FB80030 */ lw $t8, 0x30($sp) +/* 02E138 8002D538 17000005 */ bnez $t8, .L8002D550_ovl0 +/* 02E13C 8002D53C 00000000 */ nop +/* 02E140 8002D540 0C00D4E0 */ jal __osRestoreInt +/* 02E144 8002D544 02002025 */ move $a0, $s0 +/* 02E148 8002D548 10000036 */ b .L8002D624_ovl0 +/* 02E14C 8002D54C 2402FFFF */ li $v0, -1 +.L8002D550_ovl0: +/* 02E150 8002D550 3C088004 */ lui $t0, %hi(__osRunningThread) # $t0, 0x8004 +/* 02E154 8002D554 8D08FB60 */ lw $t0, %lo(__osRunningThread)($t0) +/* 02E158 8002D558 24190008 */ li $t9, 8 +/* 02E15C 8002D55C A5190010 */ sh $t9, 0x10($t0) +/* 02E160 8002D560 0C00B963 */ jal __osEnqueueAndYield +/* 02E164 8002D564 8FA40028 */ lw $a0, 0x28($sp) +/* 02E168 8002D568 8FA90028 */ lw $t1, 0x28($sp) +/* 02E16C 8002D56C 8D2A0008 */ lw $t2, 8($t1) +/* 02E170 8002D570 1140FFF0 */ beqz $t2, .L8002D534_ovl0 +/* 02E174 8002D574 00000000 */ nop +.L8002D578_ovl0: +/* 02E178 8002D578 8FAB002C */ lw $t3, 0x2c($sp) +/* 02E17C 8002D57C 11600008 */ beqz $t3, .L8002D5A0_ovl0 +/* 02E180 8002D580 00000000 */ nop +/* 02E184 8002D584 8FAC0028 */ lw $t4, 0x28($sp) +/* 02E188 8002D588 8D8E000C */ lw $t6, 0xc($t4) +/* 02E18C 8002D58C 8D8D0014 */ lw $t5, 0x14($t4) +/* 02E190 8002D590 000E7880 */ sll $t7, $t6, 2 +/* 02E194 8002D594 01AFC021 */ addu $t8, $t5, $t7 +/* 02E198 8002D598 8F190000 */ lw $t9, ($t8) +/* 02E19C 8002D59C AD790000 */ sw $t9, ($t3) +.L8002D5A0_ovl0: +/* 02E1A0 8002D5A0 8FA80028 */ lw $t0, 0x28($sp) +/* 02E1A4 8002D5A4 8D09000C */ lw $t1, 0xc($t0) +/* 02E1A8 8002D5A8 8D0C0010 */ lw $t4, 0x10($t0) +/* 02E1AC 8002D5AC 252A0001 */ addiu $t2, $t1, 1 +/* 02E1B0 8002D5B0 014C001A */ div $zero, $t2, $t4 +/* 02E1B4 8002D5B4 00007010 */ mfhi $t6 +/* 02E1B8 8002D5B8 AD0E000C */ sw $t6, 0xc($t0) +/* 02E1BC 8002D5BC 8FAD0028 */ lw $t5, 0x28($sp) +/* 02E1C0 8002D5C0 15800002 */ bnez $t4, .L8002D5CC_ovl0 +/* 02E1C4 8002D5C4 00000000 */ nop +/* 02E1C8 8002D5C8 0007000D */ break 7 +.L8002D5CC_ovl0: +/* 02E1CC 8002D5CC 2401FFFF */ li $at, -1 +/* 02E1D0 8002D5D0 15810004 */ bne $t4, $at, .L8002D5E4_ovl0 +/* 02E1D4 8002D5D4 3C018000 */ lui $at, 0x8000 +/* 02E1D8 8002D5D8 15410002 */ bne $t2, $at, .L8002D5E4_ovl0 +/* 02E1DC 8002D5DC 00000000 */ nop +/* 02E1E0 8002D5E0 0006000D */ break 6 +.L8002D5E4_ovl0: +/* 02E1E4 8002D5E4 8DAF0008 */ lw $t7, 8($t5) +/* 02E1E8 8002D5E8 25F8FFFF */ addiu $t8, $t7, -1 +/* 02E1EC 8002D5EC ADB80008 */ sw $t8, 8($t5) +/* 02E1F0 8002D5F0 8FB90028 */ lw $t9, 0x28($sp) +/* 02E1F4 8002D5F4 8F2B0004 */ lw $t3, 4($t9) +/* 02E1F8 8002D5F8 8D690000 */ lw $t1, ($t3) +/* 02E1FC 8002D5FC 11200006 */ beqz $t1, .L8002D618_ovl0 +/* 02E200 8002D600 00000000 */ nop +/* 02E204 8002D604 0C00B9B5 */ jal __osPopThread +/* 02E208 8002D608 27240004 */ addiu $a0, $t9, 4 +/* 02E20C 8002D60C 00408825 */ move $s1, $v0 +/* 02E210 8002D610 0C00E334 */ jal osStartThread +/* 02E214 8002D614 02202025 */ move $a0, $s1 +.L8002D618_ovl0: +/* 02E218 8002D618 0C00D4E0 */ jal __osRestoreInt +/* 02E21C 8002D61C 02002025 */ move $a0, $s0 +/* 02E220 8002D620 00001025 */ move $v0, $zero +.L8002D624_ovl0: +/* 02E224 8002D624 8FBF001C */ lw $ra, 0x1c($sp) +/* 02E228 8002D628 8FB00014 */ lw $s0, 0x14($sp) +/* 02E22C 8002D62C 8FB10018 */ lw $s1, 0x18($sp) +/* 02E230 8002D630 03E00008 */ jr $ra +/* 02E234 8002D634 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8002D638 +/* 02E238 8002D638 00000000 */ nop +/* 02E23C 8002D63C 00000000 */ nop +/* 02E240 8002D640 400C6000 */ mfc0 $t4, $12 +/* 02E244 8002D644 3182FF01 */ andi $v0, $t4, 0xff01 +/* 02E248 8002D648 3C088004 */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x8004 +/* 02E24C 8002D64C 2508FBA0 */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, -0x460 +/* 02E250 8002D650 8D0B0000 */ lw $t3, ($t0) +/* 02E254 8002D654 2401FFFF */ li $at, -1 +/* 02E258 8002D658 01614026 */ xor $t0, $t3, $at +/* 02E25C 8002D65C 3108FF00 */ andi $t0, $t0, 0xff00 +/* 02E260 8002D660 00481025 */ or $v0, $v0, $t0 +/* 02E264 8002D664 3C0AA430 */ lui $t2, %hi(D_A430000C) # $t2, 0xa430 +/* 02E268 8002D668 8D4A000C */ lw $t2, %lo(D_A430000C)($t2) +/* 02E26C 8002D66C 11400005 */ beqz $t2, .L8002D684_ovl0 +/* 02E270 8002D670 000B4C02 */ srl $t1, $t3, 0x10 +/* 02E274 8002D674 2401FFFF */ li $at, -1 +/* 02E278 8002D678 01214826 */ xor $t1, $t1, $at +/* 02E27C 8002D67C 3129003F */ andi $t1, $t1, 0x3f +/* 02E280 8002D680 01495025 */ or $t2, $t2, $t1 +.L8002D684_ovl0: +/* 02E284 8002D684 000A5400 */ sll $t2, $t2, 0x10 +/* 02E288 8002D688 004A1025 */ or $v0, $v0, $t2 +/* 02E28C 8002D68C 3C01003F */ lui $at, 0x3f +/* 02E290 8002D690 00814024 */ and $t0, $a0, $at +/* 02E294 8002D694 010B4024 */ and $t0, $t0, $t3 +/* 02E298 8002D698 000843C2 */ srl $t0, $t0, 0xf +/* 02E29C 8002D69C 3C0A8004 */ lui $t2, %hi(D_80041A30) +/* 02E2A0 8002D6A0 01485021 */ addu $t2, $t2, $t0 +/* 02E2A4 8002D6A4 954A1A30 */ lhu $t2, %lo(D_80041A30)($t2) +/* 02E2A8 8002D6A8 3C01A430 */ lui $at, %hi(D_A430000C) # $at, 0xa430 +/* 02E2AC 8002D6AC AC2A000C */ sw $t2, %lo(D_A430000C)($at) +/* 02E2B0 8002D6B0 3088FF01 */ andi $t0, $a0, 0xff01 +/* 02E2B4 8002D6B4 3169FF00 */ andi $t1, $t3, 0xff00 +/* 02E2B8 8002D6B8 01094024 */ and $t0, $t0, $t1 +/* 02E2BC 8002D6BC 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff +/* 02E2C0 8002D6C0 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff +/* 02E2C4 8002D6C4 01816024 */ and $t4, $t4, $at +/* 02E2C8 8002D6C8 01886025 */ or $t4, $t4, $t0 +/* 02E2CC 8002D6CC 408C6000 */ mtc0 $t4, $12 +/* 02E2D0 8002D6D0 00000000 */ nop +/* 02E2D4 8002D6D4 00000000 */ nop +/* 02E2D8 8002D6D8 03E00008 */ jr $ra +/* 02E2DC 8002D6DC 00000000 */ nop + +glabel sinf +/* 02E2E0 8002D6E0 E7AC0000 */ swc1 $f12, ($sp) +/* 02E2E4 8002D6E4 8FA20000 */ lw $v0, ($sp) +/* 02E2E8 8002D6E8 C7A40000 */ lwc1 $f4, ($sp) +/* 02E2EC 8002D6EC 00021D83 */ sra $v1, $v0, 0x16 +/* 02E2F0 8002D6F0 306E01FF */ andi $t6, $v1, 0x1ff +/* 02E2F4 8002D6F4 29C100FF */ slti $at, $t6, 0xff +/* 02E2F8 8002D6F8 10200019 */ beqz $at, .L8002D760_ovl0 +/* 02E2FC 8002D6FC 01C01825 */ move $v1, $t6 +/* 02E300 8002D700 29C100E6 */ slti $at, $t6, 0xe6 +/* 02E304 8002D704 14200014 */ bnez $at, .L8002D758_ovl0 +/* 02E308 8002D708 460020A1 */ cvt.d.s $f2, $f4 +/* 02E30C 8002D70C 46221302 */ mul.d $f12, $f2, $f2 +/* 02E310 8002D710 3C038004 */ lui $v1, %hi(D_80041AB0) # $v1, 0x8004 +/* 02E314 8002D714 24631AB0 */ addiu $v1, %lo(D_80041AB0) # addiu $v1, $v1, 0x1ab0 +/* 02E318 8002D718 D4660020 */ ldc1 $f6, 0x20($v1) +/* 02E31C 8002D71C D46A0018 */ ldc1 $f10, 0x18($v1) +/* 02E320 8002D720 D4640010 */ ldc1 $f4, 0x10($v1) +/* 02E324 8002D724 462C3202 */ mul.d $f8, $f6, $f12 +/* 02E328 8002D728 462A4400 */ add.d $f16, $f8, $f10 +/* 02E32C 8002D72C D46A0008 */ ldc1 $f10, 8($v1) +/* 02E330 8002D730 462C8482 */ mul.d $f18, $f16, $f12 +/* 02E334 8002D734 46249180 */ add.d $f6, $f18, $f4 +/* 02E338 8002D738 462C3202 */ mul.d $f8, $f6, $f12 +/* 02E33C 8002D73C 46285380 */ add.d $f14, $f10, $f8 +/* 02E340 8002D740 462C1402 */ mul.d $f16, $f2, $f12 +/* 02E344 8002D744 00000000 */ nop +/* 02E348 8002D748 462E8482 */ mul.d $f18, $f16, $f14 +/* 02E34C 8002D74C 46229100 */ add.d $f4, $f18, $f2 +/* 02E350 8002D750 03E00008 */ jr $ra +/* 02E354 8002D754 46202020 */ cvt.s.d $f0, $f4 + +.L8002D758_ovl0: +/* 02E358 8002D758 03E00008 */ jr $ra +/* 02E35C 8002D75C C7A00000 */ lwc1 $f0, ($sp) + +.L8002D760_ovl0: +/* 02E360 8002D760 28610136 */ slti $at, $v1, 0x136 +/* 02E364 8002D764 10200044 */ beqz $at, .L8002D878_ovl0 +/* 02E368 8002D768 C7A40000 */ lwc1 $f4, ($sp) +/* 02E36C 8002D76C C7A60000 */ lwc1 $f6, ($sp) +/* 02E370 8002D770 3C018004 */ li $at, 0x80040000 # -0.000000 +/* 02E374 8002D774 D42A1AD8 */ ldc1 $f10, 0x1ad8($at) +/* 02E378 8002D778 460030A1 */ cvt.d.s $f2, $f6 +/* 02E37C 8002D77C 44804800 */ mtc1 $zero, $f9 +/* 02E380 8002D780 462A1002 */ mul.d $f0, $f2, $f10 +/* 02E384 8002D784 44804000 */ mtc1 $zero, $f8 +/* 02E388 8002D788 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 02E38C 8002D78C 4620403E */ c.le.d $f8, $f0 +/* 02E390 8002D790 00000000 */ nop +/* 02E394 8002D794 4502000B */ bc1fl .L8002D7C4_ovl0 +/* 02E398 8002D798 44813800 */ mtc1 $at, $f7 +/* 02E39C 8002D79C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 02E3A0 8002D7A0 44818800 */ mtc1 $at, $f17 +/* 02E3A4 8002D7A4 44808000 */ mtc1 $zero, $f16 +/* 02E3A8 8002D7A8 00000000 */ nop +/* 02E3AC 8002D7AC 46300480 */ add.d $f18, $f0, $f16 +/* 02E3B0 8002D7B0 4620910D */ trunc.w.d $f4, $f18 +/* 02E3B4 8002D7B4 44022000 */ mfc1 $v0, $f4 +/* 02E3B8 8002D7B8 10000009 */ b .L8002D7E0_ovl0 +/* 02E3BC 8002D7BC 44828000 */ mtc1 $v0, $f16 +/* 02E3C0 8002D7C0 44813800 */ mtc1 $at, $f7 +.L8002D7C4_ovl0: +/* 02E3C4 8002D7C4 44803000 */ mtc1 $zero, $f6 +/* 02E3C8 8002D7C8 00000000 */ nop +/* 02E3CC 8002D7CC 46260281 */ sub.d $f10, $f0, $f6 +/* 02E3D0 8002D7D0 4620520D */ trunc.w.d $f8, $f10 +/* 02E3D4 8002D7D4 44024000 */ mfc1 $v0, $f8 +/* 02E3D8 8002D7D8 00000000 */ nop +/* 02E3DC 8002D7DC 44828000 */ mtc1 $v0, $f16 +.L8002D7E0_ovl0: +/* 02E3E0 8002D7E0 3C018004 */ lui $at, %hi(D_80041CC0) +/* 02E3E4 8002D7E4 D4321AE0 */ ldc1 $f18, 0x1ae0($at) +/* 02E3E8 8002D7E8 46808021 */ cvt.d.w $f0, $f16 +/* 02E3EC 8002D7EC 3C018004 */ lui $at, %hi(D_80041CC0) +/* 02E3F0 8002D7F0 D4261AE8 */ ldc1 $f6, 0x1ae8($at) +/* 02E3F4 8002D7F4 3C038004 */ lui $v1, %hi(D_80041AB0) # $v1, 0x8004 +/* 02E3F8 8002D7F8 24631AB0 */ addiu $v1, %lo(D_80041AB0) # addiu $v1, $v1, 0x1ab0 +/* 02E3FC 8002D7FC 46320102 */ mul.d $f4, $f0, $f18 +/* 02E400 8002D800 D4680020 */ ldc1 $f8, 0x20($v1) +/* 02E404 8002D804 D4720018 */ ldc1 $f18, 0x18($v1) +/* 02E408 8002D808 30590001 */ andi $t9, $v0, 1 +/* 02E40C 8002D80C 46260282 */ mul.d $f10, $f0, $f6 +/* 02E410 8002D810 46241081 */ sub.d $f2, $f2, $f4 +/* 02E414 8002D814 462A1081 */ sub.d $f2, $f2, $f10 +/* 02E418 8002D818 D46A0010 */ ldc1 $f10, 0x10($v1) +/* 02E41C 8002D81C 46221302 */ mul.d $f12, $f2, $f2 +/* 02E420 8002D820 00000000 */ nop +/* 02E424 8002D824 462C4402 */ mul.d $f16, $f8, $f12 +/* 02E428 8002D828 46328100 */ add.d $f4, $f16, $f18 +/* 02E42C 8002D82C D4720008 */ ldc1 $f18, 8($v1) +/* 02E430 8002D830 462C2182 */ mul.d $f6, $f4, $f12 +/* 02E434 8002D834 462A3200 */ add.d $f8, $f6, $f10 +/* 02E438 8002D838 462C4402 */ mul.d $f16, $f8, $f12 +/* 02E43C 8002D83C 17200007 */ bnez $t9, .L8002D85C_ovl0 +/* 02E440 8002D840 46309380 */ add.d $f14, $f18, $f16 +/* 02E444 8002D844 462C1102 */ mul.d $f4, $f2, $f12 +/* 02E448 8002D848 00000000 */ nop +/* 02E44C 8002D84C 462E2182 */ mul.d $f6, $f4, $f14 +/* 02E450 8002D850 46223280 */ add.d $f10, $f6, $f2 +/* 02E454 8002D854 03E00008 */ jr $ra +/* 02E458 8002D858 46205020 */ cvt.s.d $f0, $f10 + +.L8002D85C_ovl0: +/* 02E45C 8002D85C 462C1202 */ mul.d $f8, $f2, $f12 +/* 02E460 8002D860 00000000 */ nop +/* 02E464 8002D864 462E4482 */ mul.d $f18, $f8, $f14 +/* 02E468 8002D868 46229400 */ add.d $f16, $f18, $f2 +/* 02E46C 8002D86C 46208020 */ cvt.s.d $f0, $f16 +/* 02E470 8002D870 03E00008 */ jr $ra +/* 02E474 8002D874 46000007 */ neg.s $f0, $f0 + +.L8002D878_ovl0: +/* 02E478 8002D878 46042032 */ c.eq.s $f4, $f4 +/* 02E47C 8002D87C 3C018004 */ lui $at, %hi(D_80041CC0) +/* 02E480 8002D880 45010004 */ bc1t .L8002D894_ovl0 +/* 02E484 8002D884 00000000 */ nop +/* 02E488 8002D888 3C018004 */ lui $at, %hi(D_80041CC0) +/* 02E48C 8002D88C 03E00008 */ jr $ra +/* 02E490 8002D890 C4201CC0 */ lwc1 $f0, %lo(D_80041CC0)($at) + +.L8002D894_ovl0: +/* 02E494 8002D894 C4201AF0 */ lwc1 $f0, 0x1af0($at) +/* 02E498 8002D898 03E00008 */ jr $ra +/* 02E49C 8002D89C 00000000 */ nop + +glabel func_8002D8A0 +/* 02E4A0 8002D8A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 02E4A4 8002D8A4 3C0E8009 */ lui $t6, %hi(D_80097950) # $t6, 0x8009 +/* 02E4A8 8002D8A8 AFBF0014 */ sw $ra, 0x14($sp) +/* 02E4AC 8002D8AC AFA40020 */ sw $a0, 0x20($sp) +/* 02E4B0 8002D8B0 25CE7950 */ addiu $t6, %lo(D_80097950) # addiu $t6, $t6, 0x7950 +/* 02E4B4 8002D8B4 AFAE001C */ sw $t6, 0x1c($sp) +/* 02E4B8 8002D8B8 01C02825 */ move $a1, $t6 +/* 02E4BC 8002D8BC 8FA40020 */ lw $a0, 0x20($sp) +/* 02E4C0 8002D8C0 0C00D340 */ jal bcopy +/* 02E4C4 8002D8C4 24060040 */ li $a2, 64 +/* 02E4C8 8002D8C8 8FAF001C */ lw $t7, 0x1c($sp) +/* 02E4CC 8002D8CC 8DF80010 */ lw $t8, 0x10($t7) +/* 02E4D0 8002D8D0 13000005 */ beqz $t8, .L8002D8E8_ovl0 +/* 02E4D4 8002D8D4 00000000 */ nop +/* 02E4D8 8002D8D8 0C00BFE8 */ jal osVirtualToPhysical +/* 02E4DC 8002D8DC 03002025 */ move $a0, $t8 +/* 02E4E0 8002D8E0 8FB9001C */ lw $t9, 0x1c($sp) +/* 02E4E4 8002D8E4 AF220010 */ sw $v0, 0x10($t9) +.L8002D8E8_ovl0: +/* 02E4E8 8002D8E8 8FA8001C */ lw $t0, 0x1c($sp) +/* 02E4EC 8002D8EC 8D090018 */ lw $t1, 0x18($t0) +/* 02E4F0 8002D8F0 11200005 */ beqz $t1, .L8002D908_ovl0 +/* 02E4F4 8002D8F4 00000000 */ nop +/* 02E4F8 8002D8F8 0C00BFE8 */ jal osVirtualToPhysical +/* 02E4FC 8002D8FC 01202025 */ move $a0, $t1 +/* 02E500 8002D900 8FAA001C */ lw $t2, 0x1c($sp) +/* 02E504 8002D904 AD420018 */ sw $v0, 0x18($t2) +.L8002D908_ovl0: +/* 02E508 8002D908 8FAB001C */ lw $t3, 0x1c($sp) +/* 02E50C 8002D90C 8D6C0020 */ lw $t4, 0x20($t3) +/* 02E510 8002D910 11800005 */ beqz $t4, .L8002D928_ovl0 +/* 02E514 8002D914 00000000 */ nop +/* 02E518 8002D918 0C00BFE8 */ jal osVirtualToPhysical +/* 02E51C 8002D91C 01802025 */ move $a0, $t4 +/* 02E520 8002D920 8FAD001C */ lw $t5, 0x1c($sp) +/* 02E524 8002D924 ADA20020 */ sw $v0, 0x20($t5) +.L8002D928_ovl0: +/* 02E528 8002D928 8FAE001C */ lw $t6, 0x1c($sp) +/* 02E52C 8002D92C 8DCF0028 */ lw $t7, 0x28($t6) +/* 02E530 8002D930 11E00005 */ beqz $t7, .L8002D948_ovl0 +/* 02E534 8002D934 00000000 */ nop +/* 02E538 8002D938 0C00BFE8 */ jal osVirtualToPhysical +/* 02E53C 8002D93C 01E02025 */ move $a0, $t7 +/* 02E540 8002D940 8FB8001C */ lw $t8, 0x1c($sp) +/* 02E544 8002D944 AF020028 */ sw $v0, 0x28($t8) +.L8002D948_ovl0: +/* 02E548 8002D948 8FB9001C */ lw $t9, 0x1c($sp) +/* 02E54C 8002D94C 8F28002C */ lw $t0, 0x2c($t9) +/* 02E550 8002D950 11000005 */ beqz $t0, .L8002D968_ovl0 +/* 02E554 8002D954 00000000 */ nop +/* 02E558 8002D958 0C00BFE8 */ jal osVirtualToPhysical +/* 02E55C 8002D95C 01002025 */ move $a0, $t0 +/* 02E560 8002D960 8FA9001C */ lw $t1, 0x1c($sp) +/* 02E564 8002D964 AD22002C */ sw $v0, 0x2c($t1) +.L8002D968_ovl0: +/* 02E568 8002D968 8FAA001C */ lw $t2, 0x1c($sp) +/* 02E56C 8002D96C 8D4B0030 */ lw $t3, 0x30($t2) +/* 02E570 8002D970 11600005 */ beqz $t3, .L8002D988_ovl0 +/* 02E574 8002D974 00000000 */ nop +/* 02E578 8002D978 0C00BFE8 */ jal osVirtualToPhysical +/* 02E57C 8002D97C 01602025 */ move $a0, $t3 +/* 02E580 8002D980 8FAC001C */ lw $t4, 0x1c($sp) +/* 02E584 8002D984 AD820030 */ sw $v0, 0x30($t4) +.L8002D988_ovl0: +/* 02E588 8002D988 8FAD001C */ lw $t5, 0x1c($sp) +/* 02E58C 8002D98C 8DAE0038 */ lw $t6, 0x38($t5) +/* 02E590 8002D990 11C00005 */ beqz $t6, .L8002D9A8_ovl0 +/* 02E594 8002D994 00000000 */ nop +/* 02E598 8002D998 0C00BFE8 */ jal osVirtualToPhysical +/* 02E59C 8002D99C 01C02025 */ move $a0, $t6 +/* 02E5A0 8002D9A0 8FAF001C */ lw $t7, 0x1c($sp) +/* 02E5A4 8002D9A4 ADE20038 */ sw $v0, 0x38($t7) +.L8002D9A8_ovl0: +/* 02E5A8 8002D9A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 02E5AC 8002D9AC 8FA2001C */ lw $v0, 0x1c($sp) +/* 02E5B0 8002D9B0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 02E5B4 8002D9B4 03E00008 */ jr $ra +/* 02E5B8 8002D9B8 00000000 */ nop + +glabel osSpTaskLoad +/* 02E5BC 8002D9BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 02E5C0 8002D9C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 02E5C4 8002D9C4 AFA40020 */ sw $a0, 0x20($sp) +/* 02E5C8 8002D9C8 0C00B628 */ jal func_8002D8A0 +/* 02E5CC 8002D9CC 8FA40020 */ lw $a0, 0x20($sp) +/* 02E5D0 8002D9D0 AFA2001C */ sw $v0, 0x1c($sp) +/* 02E5D4 8002D9D4 8FAE001C */ lw $t6, 0x1c($sp) +/* 02E5D8 8002D9D8 8DCF0004 */ lw $t7, 4($t6) +/* 02E5DC 8002D9DC 31F80001 */ andi $t8, $t7, 1 +/* 02E5E0 8002D9E0 13000017 */ beqz $t8, .L8002DA40_ovl0 +/* 02E5E4 8002D9E4 00000000 */ nop +/* 02E5E8 8002D9E8 8DD90038 */ lw $t9, 0x38($t6) +/* 02E5EC 8002D9EC 2401FFFE */ li $at, -2 +/* 02E5F0 8002D9F0 ADD90018 */ sw $t9, 0x18($t6) +/* 02E5F4 8002D9F4 8FA8001C */ lw $t0, 0x1c($sp) +/* 02E5F8 8002D9F8 8D09003C */ lw $t1, 0x3c($t0) +/* 02E5FC 8002D9FC AD09001C */ sw $t1, 0x1c($t0) +/* 02E600 8002DA00 8FAA0020 */ lw $t2, 0x20($sp) +/* 02E604 8002DA04 8D4B0004 */ lw $t3, 4($t2) +/* 02E608 8002DA08 01616024 */ and $t4, $t3, $at +/* 02E60C 8002DA0C AD4C0004 */ sw $t4, 4($t2) +/* 02E610 8002DA10 8FAD001C */ lw $t5, 0x1c($sp) +/* 02E614 8002DA14 8DAF0004 */ lw $t7, 4($t5) +/* 02E618 8002DA18 31F80004 */ andi $t8, $t7, 4 +/* 02E61C 8002DA1C 13000008 */ beqz $t8, .L8002DA40_ovl0 +/* 02E620 8002DA20 00000000 */ nop +/* 02E624 8002DA24 8FB90020 */ lw $t9, 0x20($sp) +/* 02E628 8002DA28 3C01A000 */ lui $at, 0xa000 +/* 02E62C 8002DA2C 8F2E0038 */ lw $t6, 0x38($t9) +/* 02E630 8002DA30 25C90BFC */ addiu $t1, $t6, 0xbfc +/* 02E634 8002DA34 01214025 */ or $t0, $t1, $at +/* 02E638 8002DA38 8D0B0000 */ lw $t3, ($t0) +/* 02E63C 8002DA3C ADAB0010 */ sw $t3, 0x10($t5) +.L8002DA40_ovl0: +/* 02E640 8002DA40 8FA4001C */ lw $a0, 0x1c($sp) +/* 02E644 8002DA44 0C00C008 */ jal osWritebackDCache +/* 02E648 8002DA48 24050040 */ li $a1, 64 +/* 02E64C 8002DA4C 0C00E258 */ jal __osSpSetStatus +/* 02E650 8002DA50 24042B00 */ li $a0, 11008 +/* 02E654 8002DA54 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 +/* 02E658 8002DA58 0C00E47C */ jal __osSpSetPc +/* 02E65C 8002DA5C 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 +/* 02E660 8002DA60 2401FFFF */ li $at, -1 +/* 02E664 8002DA64 14410007 */ bne $v0, $at, .L8002DA84_ovl0 +/* 02E668 8002DA68 00000000 */ nop +.L8002DA6C_ovl0: +/* 02E66C 8002DA6C 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 +/* 02E670 8002DA70 0C00E47C */ jal __osSpSetPc +/* 02E674 8002DA74 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 +/* 02E678 8002DA78 2401FFFF */ li $at, -1 +/* 02E67C 8002DA7C 1041FFFB */ beq $v0, $at, .L8002DA6C_ovl0 +/* 02E680 8002DA80 00000000 */ nop +.L8002DA84_ovl0: +/* 02E684 8002DA84 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 +/* 02E688 8002DA88 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 +/* 02E68C 8002DA8C 24040001 */ li $a0, 1 +/* 02E690 8002DA90 8FA6001C */ lw $a2, 0x1c($sp) +/* 02E694 8002DA94 0C00C114 */ jal __osSpRawStartDma +/* 02E698 8002DA98 24070040 */ li $a3, 64 +/* 02E69C 8002DA9C 2401FFFF */ li $at, -1 +/* 02E6A0 8002DAA0 1441000A */ bne $v0, $at, .L8002DACC_ovl0 +/* 02E6A4 8002DAA4 00000000 */ nop +.L8002DAA8_ovl0: +/* 02E6A8 8002DAA8 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 +/* 02E6AC 8002DAAC 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 +/* 02E6B0 8002DAB0 24040001 */ li $a0, 1 +/* 02E6B4 8002DAB4 8FA6001C */ lw $a2, 0x1c($sp) +/* 02E6B8 8002DAB8 0C00C114 */ jal __osSpRawStartDma +/* 02E6BC 8002DABC 24070040 */ li $a3, 64 +/* 02E6C0 8002DAC0 2401FFFF */ li $at, -1 +/* 02E6C4 8002DAC4 1041FFF8 */ beq $v0, $at, .L8002DAA8_ovl0 +/* 02E6C8 8002DAC8 00000000 */ nop +.L8002DACC_ovl0: +/* 02E6CC 8002DACC 0C00CF4C */ jal __osSpDeviceBusy +/* 02E6D0 8002DAD0 00000000 */ nop +/* 02E6D4 8002DAD4 10400005 */ beqz $v0, .L8002DAEC_ovl0 +/* 02E6D8 8002DAD8 00000000 */ nop +.L8002DADC_ovl0: +/* 02E6DC 8002DADC 0C00CF4C */ jal __osSpDeviceBusy +/* 02E6E0 8002DAE0 00000000 */ nop +/* 02E6E4 8002DAE4 1440FFFD */ bnez $v0, .L8002DADC_ovl0 +/* 02E6E8 8002DAE8 00000000 */ nop +.L8002DAEC_ovl0: +/* 02E6EC 8002DAEC 8FAC001C */ lw $t4, 0x1c($sp) +/* 02E6F0 8002DAF0 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 +/* 02E6F4 8002DAF4 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 +/* 02E6F8 8002DAF8 24040001 */ li $a0, 1 +/* 02E6FC 8002DAFC 8D860008 */ lw $a2, 8($t4) +/* 02E700 8002DB00 0C00C114 */ jal __osSpRawStartDma +/* 02E704 8002DB04 8D87000C */ lw $a3, 0xc($t4) +/* 02E708 8002DB08 2401FFFF */ li $at, -1 +/* 02E70C 8002DB0C 1441000B */ bne $v0, $at, .L8002DB3C_ovl0 +/* 02E710 8002DB10 00000000 */ nop +.L8002DB14_ovl0: +/* 02E714 8002DB14 8FAA001C */ lw $t2, 0x1c($sp) +/* 02E718 8002DB18 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 +/* 02E71C 8002DB1C 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 +/* 02E720 8002DB20 24040001 */ li $a0, 1 +/* 02E724 8002DB24 8D460008 */ lw $a2, 8($t2) +/* 02E728 8002DB28 0C00C114 */ jal __osSpRawStartDma +/* 02E72C 8002DB2C 8D47000C */ lw $a3, 0xc($t2) +/* 02E730 8002DB30 2401FFFF */ li $at, -1 +/* 02E734 8002DB34 1041FFF7 */ beq $v0, $at, .L8002DB14_ovl0 +/* 02E738 8002DB38 00000000 */ nop +.L8002DB3C_ovl0: +/* 02E73C 8002DB3C 8FBF0014 */ lw $ra, 0x14($sp) +/* 02E740 8002DB40 27BD0020 */ addiu $sp, $sp, 0x20 +/* 02E744 8002DB44 03E00008 */ jr $ra +/* 02E748 8002DB48 00000000 */ nop + +# osSPTaskLoad? + +glabel func_8002DB4C +/* 02E74C 8002DB4C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02E750 8002DB50 AFBF0014 */ sw $ra, 0x14($sp) +/* 02E754 8002DB54 0C00CF4C */ jal __osSpDeviceBusy +/* 02E758 8002DB58 AFA40018 */ sw $a0, 0x18($sp) +/* 02E75C 8002DB5C 10400005 */ beqz $v0, .L8002DB74_ovl0 +/* 02E760 8002DB60 00000000 */ nop +.L8002DB64_ovl0: +/* 02E764 8002DB64 0C00CF4C */ jal __osSpDeviceBusy +/* 02E768 8002DB68 00000000 */ nop +/* 02E76C 8002DB6C 1440FFFD */ bnez $v0, .L8002DB64_ovl0 +/* 02E770 8002DB70 00000000 */ nop +.L8002DB74_ovl0: +/* 02E774 8002DB74 0C00E258 */ jal __osSpSetStatus +/* 02E778 8002DB78 24040125 */ li $a0, 293 +/* 02E77C 8002DB7C 8FBF0014 */ lw $ra, 0x14($sp) +/* 02E780 8002DB80 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02E784 8002DB84 03E00008 */ jr $ra +/* 02E788 8002DB88 00000000 */ nop + +/* 02E78C 8002DB8C 00000000 */ nop + +/* NEWFILE */ + +glabel osDestroyThread +/* 02E790 8002DB90 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 02E794 8002DB94 AFBF0024 */ sw $ra, 0x24($sp) +/* 02E798 8002DB98 AFA40038 */ sw $a0, 0x38($sp) +/* 02E79C 8002DB9C AFB20020 */ sw $s2, 0x20($sp) +/* 02E7A0 8002DBA0 AFB1001C */ sw $s1, 0x1c($sp) +/* 02E7A4 8002DBA4 0C00D4D8 */ jal __osDisableInt +/* 02E7A8 8002DBA8 AFB00018 */ sw $s0, 0x18($sp) +/* 02E7AC 8002DBAC 8FAE0038 */ lw $t6, 0x38($sp) +/* 02E7B0 8002DBB0 00408025 */ move $s0, $v0 +/* 02E7B4 8002DBB4 15C00005 */ bnez $t6, .L8002DBCC_ovl0 +/* 02E7B8 8002DBB8 00000000 */ nop +/* 02E7BC 8002DBBC 3C0F8004 */ lui $t7, %hi(__osRunningThread) # $t7, 0x8004 +/* 02E7C0 8002DBC0 8DEFFB60 */ lw $t7, %lo(__osRunningThread)($t7) +/* 02E7C4 8002DBC4 10000009 */ b .L8002DBEC_ovl0 +/* 02E7C8 8002DBC8 AFAF0038 */ sw $t7, 0x38($sp) +.L8002DBCC_ovl0: +/* 02E7CC 8002DBCC 8FB80038 */ lw $t8, 0x38($sp) +/* 02E7D0 8002DBD0 24010001 */ li $at, 1 +/* 02E7D4 8002DBD4 97190010 */ lhu $t9, 0x10($t8) +/* 02E7D8 8002DBD8 13210004 */ beq $t9, $at, .L8002DBEC_ovl0 +/* 02E7DC 8002DBDC 00000000 */ nop +/* 02E7E0 8002DBE0 8F040008 */ lw $a0, 8($t8) +/* 02E7E4 8002DBE4 0C00BA1C */ jal __osDequeueThread +/* 02E7E8 8002DBE8 03002825 */ move $a1, $t8 +.L8002DBEC_ovl0: +/* 02E7EC 8002DBEC 3C088004 */ lui $t0, %hi(__osActiveQueue) # $t0, 0x8004 +/* 02E7F0 8002DBF0 8D08FB5C */ lw $t0, %lo(__osActiveQueue)($t0) +/* 02E7F4 8002DBF4 8FA90038 */ lw $t1, 0x38($sp) +/* 02E7F8 8002DBF8 15090005 */ bne $t0, $t1, .L8002DC10_ovl0 +/* 02E7FC 8002DBFC 00000000 */ nop +/* 02E800 8002DC00 8D0A000C */ lw $t2, 0xc($t0) +/* 02E804 8002DC04 3C018004 */ lui $at, %hi(__osActiveQueue) # $at, 0x8004 +/* 02E808 8002DC08 10000013 */ b .L8002DC58_ovl0 +/* 02E80C 8002DC0C AC2AFB5C */ sw $t2, %lo(__osActiveQueue)($at) +.L8002DC10_ovl0: +/* 02E810 8002DC10 3C118004 */ lui $s1, %hi(__osActiveQueue) # $s1, 0x8004 +/* 02E814 8002DC14 8E31FB5C */ lw $s1, %lo(__osActiveQueue)($s1) +/* 02E818 8002DC18 2401FFFF */ li $at, -1 +/* 02E81C 8002DC1C 8E2B0004 */ lw $t3, 4($s1) +/* 02E820 8002DC20 1161000D */ beq $t3, $at, .L8002DC58_ovl0 +/* 02E824 8002DC24 00000000 */ nop +.L8002DC28_ovl0: +/* 02E828 8002DC28 8E32000C */ lw $s2, 0xc($s1) +/* 02E82C 8002DC2C 8FAC0038 */ lw $t4, 0x38($sp) +/* 02E830 8002DC30 164C0004 */ bne $s2, $t4, .L8002DC44_ovl0 +/* 02E834 8002DC34 00000000 */ nop +/* 02E838 8002DC38 8D8D000C */ lw $t5, 0xc($t4) +/* 02E83C 8002DC3C 10000006 */ b .L8002DC58_ovl0 +/* 02E840 8002DC40 AE2D000C */ sw $t5, 0xc($s1) +.L8002DC44_ovl0: +/* 02E844 8002DC44 02408825 */ move $s1, $s2 +/* 02E848 8002DC48 8E2E0004 */ lw $t6, 4($s1) +/* 02E84C 8002DC4C 2401FFFF */ li $at, -1 +/* 02E850 8002DC50 15C1FFF5 */ bne $t6, $at, .L8002DC28_ovl0 +/* 02E854 8002DC54 00000000 */ nop +.L8002DC58_ovl0: +/* 02E858 8002DC58 3C198004 */ lui $t9, %hi(__osRunningThread) # $t9, 0x8004 +/* 02E85C 8002DC5C 8F39FB60 */ lw $t9, %lo(__osRunningThread)($t9) +/* 02E860 8002DC60 8FAF0038 */ lw $t7, 0x38($sp) +/* 02E864 8002DC64 15F90003 */ bne $t7, $t9, .L8002DC74_ovl0 +/* 02E868 8002DC68 00000000 */ nop +/* 02E86C 8002DC6C 0C00B9B9 */ jal __osDispatchThread +/* 02E870 8002DC70 00000000 */ nop +.L8002DC74_ovl0: +/* 02E874 8002DC74 0C00D4E0 */ jal __osRestoreInt +/* 02E878 8002DC78 02002025 */ move $a0, $s0 +/* 02E87C 8002DC7C 8FBF0024 */ lw $ra, 0x24($sp) +/* 02E880 8002DC80 8FB00018 */ lw $s0, 0x18($sp) +/* 02E884 8002DC84 8FB1001C */ lw $s1, 0x1c($sp) +/* 02E888 8002DC88 8FB20020 */ lw $s2, 0x20($sp) +/* 02E88C 8002DC8C 03E00008 */ jr $ra +/* 02E890 8002DC90 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8002DC94 +/* 02E894 8002DC94 00000000 */ nop +/* 02E898 8002DC98 00000000 */ nop +/* 02E89C 8002DC9C 00000000 */ nop +/* 02E8A0 8002DCA0 AFA40000 */ sw $a0, ($sp) +/* 02E8A4 8002DCA4 AFA50004 */ sw $a1, 4($sp) +/* 02E8A8 8002DCA8 AFA60008 */ sw $a2, 8($sp) +/* 02E8AC 8002DCAC AFA7000C */ sw $a3, 0xc($sp) +/* 02E8B0 8002DCB0 DFAF0008 */ ld $t7, 8($sp) +/* 02E8B4 8002DCB4 DFAE0000 */ ld $t6, ($sp) +/* 02E8B8 8002DCB8 01EE1016 */ dsrlv $v0, $t6, $t7 +/* 02E8BC 8002DCBC 0002183C */ dsll32 $v1, $v0, 0 +/* 02E8C0 8002DCC0 0003183F */ dsra32 $v1, $v1, 0 +/* 02E8C4 8002DCC4 03E00008 */ jr $ra +/* 02E8C8 8002DCC8 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ull_rem +/* 02E8CC 8002DCCC AFA40000 */ sw $a0, ($sp) +/* 02E8D0 8002DCD0 AFA50004 */ sw $a1, 4($sp) +/* 02E8D4 8002DCD4 AFA60008 */ sw $a2, 8($sp) +/* 02E8D8 8002DCD8 AFA7000C */ sw $a3, 0xc($sp) +/* 02E8DC 8002DCDC DFAF0008 */ ld $t7, 8($sp) +/* 02E8E0 8002DCE0 DFAE0000 */ ld $t6, ($sp) +/* 02E8E4 8002DCE4 01CF001F */ ddivu $zero, $t6, $t7 +/* 02E8E8 8002DCE8 15E00002 */ bnez $t7, .L8002DCF4_ovl0 +/* 02E8EC 8002DCEC 00000000 */ nop +/* 02E8F0 8002DCF0 0007000D */ break 7 +.L8002DCF4_ovl0: +/* 02E8F4 8002DCF4 00001010 */ mfhi $v0 +/* 02E8F8 8002DCF8 0002183C */ dsll32 $v1, $v0, 0 +/* 02E8FC 8002DCFC 0003183F */ dsra32 $v1, $v1, 0 +/* 02E900 8002DD00 03E00008 */ jr $ra +/* 02E904 8002DD04 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ull_div +/* 02E908 8002DD08 AFA40000 */ sw $a0, ($sp) +/* 02E90C 8002DD0C AFA50004 */ sw $a1, 4($sp) +/* 02E910 8002DD10 AFA60008 */ sw $a2, 8($sp) +/* 02E914 8002DD14 AFA7000C */ sw $a3, 0xc($sp) +/* 02E918 8002DD18 DFAF0008 */ ld $t7, 8($sp) +/* 02E91C 8002DD1C DFAE0000 */ ld $t6, ($sp) +/* 02E920 8002DD20 01CF001F */ ddivu $zero, $t6, $t7 +/* 02E924 8002DD24 15E00002 */ bnez $t7, .L8002DD30_ovl0 +/* 02E928 8002DD28 00000000 */ nop +/* 02E92C 8002DD2C 0007000D */ break 7 +.L8002DD30_ovl0: +/* 02E930 8002DD30 00001012 */ mflo $v0 +/* 02E934 8002DD34 0002183C */ dsll32 $v1, $v0, 0 +/* 02E938 8002DD38 0003183F */ dsra32 $v1, $v1, 0 +/* 02E93C 8002DD3C 03E00008 */ jr $ra +/* 02E940 8002DD40 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_lshift +/* 02E944 8002DD44 AFA40000 */ sw $a0, ($sp) +/* 02E948 8002DD48 AFA50004 */ sw $a1, 4($sp) +/* 02E94C 8002DD4C AFA60008 */ sw $a2, 8($sp) +/* 02E950 8002DD50 AFA7000C */ sw $a3, 0xc($sp) +/* 02E954 8002DD54 DFAF0008 */ ld $t7, 8($sp) +/* 02E958 8002DD58 DFAE0000 */ ld $t6, ($sp) +/* 02E95C 8002DD5C 01EE1014 */ dsllv $v0, $t6, $t7 +/* 02E960 8002DD60 0002183C */ dsll32 $v1, $v0, 0 +/* 02E964 8002DD64 0003183F */ dsra32 $v1, $v1, 0 +/* 02E968 8002DD68 03E00008 */ jr $ra +/* 02E96C 8002DD6C 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_rem +/* 02E970 8002DD70 AFA40000 */ sw $a0, ($sp) +/* 02E974 8002DD74 AFA50004 */ sw $a1, 4($sp) +/* 02E978 8002DD78 AFA60008 */ sw $a2, 8($sp) +/* 02E97C 8002DD7C AFA7000C */ sw $a3, 0xc($sp) +/* 02E980 8002DD80 DFAF0008 */ ld $t7, 8($sp) +/* 02E984 8002DD84 DFAE0000 */ ld $t6, ($sp) +/* 02E988 8002DD88 01CF001F */ ddivu $zero, $t6, $t7 +/* 02E98C 8002DD8C 15E00002 */ bnez $t7, .L8002DD98_ovl0 +/* 02E990 8002DD90 00000000 */ nop +/* 02E994 8002DD94 0007000D */ break 7 +.L8002DD98_ovl0: +/* 02E998 8002DD98 00001010 */ mfhi $v0 +/* 02E99C 8002DD9C 0002183C */ dsll32 $v1, $v0, 0 +/* 02E9A0 8002DDA0 0003183F */ dsra32 $v1, $v1, 0 +/* 02E9A4 8002DDA4 03E00008 */ jr $ra +/* 02E9A8 8002DDA8 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_div +/* 02E9AC 8002DDAC AFA40000 */ sw $a0, ($sp) +/* 02E9B0 8002DDB0 AFA50004 */ sw $a1, 4($sp) +/* 02E9B4 8002DDB4 AFA60008 */ sw $a2, 8($sp) +/* 02E9B8 8002DDB8 AFA7000C */ sw $a3, 0xc($sp) +/* 02E9BC 8002DDBC DFAF0008 */ ld $t7, 8($sp) +/* 02E9C0 8002DDC0 DFAE0000 */ ld $t6, ($sp) +/* 02E9C4 8002DDC4 01CF001E */ ddiv $zero, $t6, $t7 +/* 02E9C8 8002DDC8 00000000 */ nop +/* 02E9CC 8002DDCC 15E00002 */ bnez $t7, .L8002DDD8_ovl0 +/* 02E9D0 8002DDD0 00000000 */ nop +/* 02E9D4 8002DDD4 0007000D */ break 7 +.L8002DDD8_ovl0: +/* 02E9D8 8002DDD8 6401FFFF */ daddiu $at, $zero, -1 +/* 02E9DC 8002DDDC 15E10005 */ bne $t7, $at, .L8002DDF4_ovl0 +/* 02E9E0 8002DDE0 64010001 */ daddiu $at, $zero, 1 +/* 02E9E4 8002DDE4 00010FFC */ dsll32 $at, $at, 0x1f +/* 02E9E8 8002DDE8 15C10002 */ bne $t6, $at, .L8002DDF4_ovl0 +/* 02E9EC 8002DDEC 00000000 */ nop +/* 02E9F0 8002DDF0 0006000D */ break 6 +.L8002DDF4_ovl0: +/* 02E9F4 8002DDF4 00001012 */ mflo $v0 +/* 02E9F8 8002DDF8 0002183C */ dsll32 $v1, $v0, 0 +/* 02E9FC 8002DDFC 0003183F */ dsra32 $v1, $v1, 0 +/* 02EA00 8002DE00 03E00008 */ jr $ra +/* 02EA04 8002DE04 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_mul +/* 02EA08 8002DE08 AFA40000 */ sw $a0, ($sp) +/* 02EA0C 8002DE0C AFA50004 */ sw $a1, 4($sp) +/* 02EA10 8002DE10 AFA60008 */ sw $a2, 8($sp) +/* 02EA14 8002DE14 AFA7000C */ sw $a3, 0xc($sp) +/* 02EA18 8002DE18 DFAF0008 */ ld $t7, 8($sp) +/* 02EA1C 8002DE1C DFAE0000 */ ld $t6, ($sp) +/* 02EA20 8002DE20 01CF001D */ dmultu $t6, $t7 +/* 02EA24 8002DE24 00001012 */ mflo $v0 +/* 02EA28 8002DE28 0002183C */ dsll32 $v1, $v0, 0 +/* 02EA2C 8002DE2C 0003183F */ dsra32 $v1, $v1, 0 +/* 02EA30 8002DE30 03E00008 */ jr $ra +/* 02EA34 8002DE34 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ull_divremi +/* 02EA38 8002DE38 87AF0012 */ lh $t7, 0x12($sp) +/* 02EA3C 8002DE3C AFA60008 */ sw $a2, 8($sp) +/* 02EA40 8002DE40 AFA7000C */ sw $a3, 0xc($sp) +/* 02EA44 8002DE44 DFAE0008 */ ld $t6, 8($sp) +/* 02EA48 8002DE48 01E0C025 */ move $t8, $t7 +/* 02EA4C 8002DE4C 0300C825 */ move $t9, $t8 +/* 02EA50 8002DE50 01D9001F */ ddivu $zero, $t6, $t9 +/* 02EA54 8002DE54 17200002 */ bnez $t9, .L8002DE60_ovl0 +/* 02EA58 8002DE58 00000000 */ nop +/* 02EA5C 8002DE5C 0007000D */ break 7 +.L8002DE60_ovl0: +/* 02EA60 8002DE60 00004012 */ mflo $t0 +/* 02EA64 8002DE64 FC880000 */ sd $t0, ($a0) +/* 02EA68 8002DE68 87AA0012 */ lh $t2, 0x12($sp) +/* 02EA6C 8002DE6C DFA90008 */ ld $t1, 8($sp) +/* 02EA70 8002DE70 01405825 */ move $t3, $t2 +/* 02EA74 8002DE74 01606025 */ move $t4, $t3 +/* 02EA78 8002DE78 012C001F */ ddivu $zero, $t1, $t4 +/* 02EA7C 8002DE7C 15800002 */ bnez $t4, .L8002DE88_ovl0 +/* 02EA80 8002DE80 00000000 */ nop +/* 02EA84 8002DE84 0007000D */ break 7 +.L8002DE88_ovl0: +/* 02EA88 8002DE88 00006810 */ mfhi $t5 +/* 02EA8C 8002DE8C FCAD0000 */ sd $t5, ($a1) +/* 02EA90 8002DE90 03E00008 */ jr $ra +/* 02EA94 8002DE94 00000000 */ nop + +glabel __ll_mod +/* 02EA98 8002DE98 27BDFFF8 */ addiu $sp, $sp, -8 +/* 02EA9C 8002DE9C AFA40008 */ sw $a0, 8($sp) +/* 02EAA0 8002DEA0 AFA5000C */ sw $a1, 0xc($sp) +/* 02EAA4 8002DEA4 AFA60010 */ sw $a2, 0x10($sp) +/* 02EAA8 8002DEA8 AFA70014 */ sw $a3, 0x14($sp) +/* 02EAAC 8002DEAC DFAF0010 */ ld $t7, 0x10($sp) +/* 02EAB0 8002DEB0 DFAE0008 */ ld $t6, 8($sp) +/* 02EAB4 8002DEB4 01CF001E */ ddiv $zero, $t6, $t7 +/* 02EAB8 8002DEB8 00000000 */ nop +/* 02EABC 8002DEBC 15E00002 */ bnez $t7, .L8002DEC8_ovl0 +/* 02EAC0 8002DEC0 00000000 */ nop +/* 02EAC4 8002DEC4 0007000D */ break 7 +.L8002DEC8_ovl0: +/* 02EAC8 8002DEC8 6401FFFF */ daddiu $at, $zero, -1 +/* 02EACC 8002DECC 15E10005 */ bne $t7, $at, .L8002DEE4_ovl0 +/* 02EAD0 8002DED0 64010001 */ daddiu $at, $zero, 1 +/* 02EAD4 8002DED4 00010FFC */ dsll32 $at, $at, 0x1f +/* 02EAD8 8002DED8 15C10002 */ bne $t6, $at, .L8002DEE4_ovl0 +/* 02EADC 8002DEDC 00000000 */ nop +/* 02EAE0 8002DEE0 0006000D */ break 6 +.L8002DEE4_ovl0: +/* 02EAE4 8002DEE4 0000C010 */ mfhi $t8 +/* 02EAE8 8002DEE8 FFB80000 */ sd $t8, ($sp) +/* 02EAEC 8002DEEC 07010003 */ bgez $t8, .L8002DEFC_ovl0 +/* 02EAF0 8002DEF0 00000000 */ nop +/* 02EAF4 8002DEF4 1DE00007 */ bgtz $t7, .L8002DF14_ovl0 +/* 02EAF8 8002DEF8 00000000 */ nop +.L8002DEFC_ovl0: +/* 02EAFC 8002DEFC DFB90000 */ ld $t9, ($sp) +/* 02EB00 8002DF00 1B200008 */ blez $t9, .L8002DF24_ovl0 +/* 02EB04 8002DF04 00000000 */ nop +/* 02EB08 8002DF08 DFA80010 */ ld $t0, 0x10($sp) +/* 02EB0C 8002DF0C 05010005 */ bgez $t0, .L8002DF24_ovl0 +/* 02EB10 8002DF10 00000000 */ nop +.L8002DF14_ovl0: +/* 02EB14 8002DF14 DFA90000 */ ld $t1, ($sp) +/* 02EB18 8002DF18 DFAA0010 */ ld $t2, 0x10($sp) +/* 02EB1C 8002DF1C 012A582D */ daddu $t3, $t1, $t2 +/* 02EB20 8002DF20 FFAB0000 */ sd $t3, ($sp) +.L8002DF24_ovl0: +/* 02EB24 8002DF24 8FA20000 */ lw $v0, ($sp) +/* 02EB28 8002DF28 8FA30004 */ lw $v1, 4($sp) +/* 02EB2C 8002DF2C 03E00008 */ jr $ra +/* 02EB30 8002DF30 27BD0008 */ addiu $sp, $sp, 8 + +glabel __ll_rshift +/* 02EB34 8002DF34 AFA40000 */ sw $a0, ($sp) +/* 02EB38 8002DF38 AFA50004 */ sw $a1, 4($sp) +/* 02EB3C 8002DF3C AFA60008 */ sw $a2, 8($sp) +/* 02EB40 8002DF40 AFA7000C */ sw $a3, 0xc($sp) +/* 02EB44 8002DF44 DFAF0008 */ ld $t7, 8($sp) +/* 02EB48 8002DF48 DFAE0000 */ ld $t6, ($sp) +/* 02EB4C 8002DF4C 01EE1017 */ dsrav $v0, $t6, $t7 +/* 02EB50 8002DF50 0002183C */ dsll32 $v1, $v0, 0 +/* 02EB54 8002DF54 0003183F */ dsra32 $v1, $v1, 0 +/* 02EB58 8002DF58 03E00008 */ jr $ra +/* 02EB5C 8002DF5C 0002103F */ dsra32 $v0, $v0, 0 + + diff --git a/asm/ovl0/ovl0_afterException.s b/asm/ovl0/ovl0_afterException.s index 86989b0f..d19f437f 100644 --- a/asm/ovl0/ovl0_afterException.s +++ b/asm/ovl0/ovl0_afterException.s @@ -5,557 +5,7 @@ .section .text, "ax" - -glabel func_8002F040 -/* 02FC40 8002F040 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02FC44 8002F044 AFBF001C */ sw $ra, 0x1c($sp) -/* 02FC48 8002F048 AFB00018 */ sw $s0, 0x18($sp) -/* 02FC4C 8002F04C 8C8E0008 */ lw $t6, 8($a0) -/* 02FC50 8002F050 8C990000 */ lw $t9, ($a0) -/* 02FC54 8002F054 3C18800A */ lui $t8, %hi(D_80098990) # $t8, 0x800a -/* 02FC58 8002F058 27188990 */ addiu $t8, %lo(D_80098990) # addiu $t8, $t8, -0x7670 -/* 02FC5C 8002F05C 000E7980 */ sll $t7, $t6, 6 -/* 02FC60 8002F060 33290008 */ andi $t1, $t9, 8 -/* 02FC64 8002F064 00808025 */ move $s0, $a0 -/* 02FC68 8002F068 00A03825 */ move $a3, $a1 -/* 02FC6C 8002F06C 15200003 */ bnez $t1, .L8002F07C_ovl0 -/* 02FC70 8002F070 01F84021 */ addu $t0, $t7, $t8 -/* 02FC74 8002F074 10000047 */ b .L8002F194_ovl0 -/* 02FC78 8002F078 24020005 */ li $v0, 5 -.L8002F07C_ovl0: -/* 02FC7C 8002F07C AFA70034 */ sw $a3, 0x34($sp) -/* 02FC80 8002F080 0C00BD18 */ jal __osSiGetAccess -/* 02FC84 8002F084 AFA80024 */ sw $t0, 0x24($sp) -/* 02FC88 8002F088 8E0B0008 */ lw $t3, 8($s0) -/* 02FC8C 8002F08C 3C06800A */ lui $a2, %hi(D_80098990) # $a2, 0x800a -/* 02FC90 8002F090 24C68990 */ addiu $a2, %lo(D_80098990) # addiu $a2, $a2, -0x7670 -/* 02FC94 8002F094 000B6180 */ sll $t4, $t3, 6 -/* 02FC98 8002F098 00CC6821 */ addu $t5, $a2, $t4 -/* 02FC9C 8002F09C 240A0001 */ li $t2, 1 -/* 02FCA0 8002F0A0 ADAA003C */ sw $t2, 0x3c($t5) -/* 02FCA4 8002F0A4 8FA80024 */ lw $t0, 0x24($sp) -/* 02FCA8 8002F0A8 8E0E0008 */ lw $t6, 8($s0) -/* 02FCAC 8002F0AC 8FA70034 */ lw $a3, 0x34($sp) -/* 02FCB0 8002F0B0 00001825 */ move $v1, $zero -/* 02FCB4 8002F0B4 010E4021 */ addu $t0, $t0, $t6 -/* 02FCB8 8002F0B8 01001025 */ move $v0, $t0 -/* 02FCBC 8002F0BC 24040020 */ li $a0, 32 -.L8002F0C0_ovl0: -/* 02FCC0 8002F0C0 24630004 */ addiu $v1, $v1, 4 -/* 02FCC4 8002F0C4 A0470007 */ sb $a3, 7($v0) -/* 02FCC8 8002F0C8 A0470008 */ sb $a3, 8($v0) -/* 02FCCC 8002F0CC A0470009 */ sb $a3, 9($v0) -/* 02FCD0 8002F0D0 24420004 */ addiu $v0, $v0, 4 -/* 02FCD4 8002F0D4 1464FFFA */ bne $v1, $a0, .L8002F0C0_ovl0 -/* 02FCD8 8002F0D8 A0470002 */ sb $a3, 2($v0) -/* 02FCDC 8002F0DC 240F00FE */ li $t7, 254 -/* 02FCE0 8002F0E0 3C01800A */ lui $at, %hi(__osContLastCmd) # $at, 0x800a -/* 02FCE4 8002F0E4 A02F8AF0 */ sb $t7, %lo(__osContLastCmd)($at) -/* 02FCE8 8002F0E8 8E180008 */ lw $t8, 8($s0) -/* 02FCEC 8002F0EC AFA80024 */ sw $t0, 0x24($sp) -/* 02FCF0 8002F0F0 AFA70034 */ sw $a3, 0x34($sp) -/* 02FCF4 8002F0F4 0018C980 */ sll $t9, $t8, 6 -/* 02FCF8 8002F0F8 00D92821 */ addu $a1, $a2, $t9 -/* 02FCFC 8002F0FC 0C00C138 */ jal __osSiRawStartDma -/* 02FD00 8002F100 24040001 */ li $a0, 1 -/* 02FD04 8002F104 8E040004 */ lw $a0, 4($s0) -/* 02FD08 8002F108 00002825 */ move $a1, $zero -/* 02FD0C 8002F10C 0C00B540 */ jal osRecvMesg -/* 02FD10 8002F110 24060001 */ li $a2, 1 -/* 02FD14 8002F114 8E090008 */ lw $t1, 8($s0) -/* 02FD18 8002F118 3C0C800A */ lui $t4, %hi(D_80098990) # $t4, 0x800a -/* 02FD1C 8002F11C 258C8990 */ addiu $t4, %lo(D_80098990) # addiu $t4, $t4, -0x7670 -/* 02FD20 8002F120 00095980 */ sll $t3, $t1, 6 -/* 02FD24 8002F124 016C2821 */ addu $a1, $t3, $t4 -/* 02FD28 8002F128 0C00C138 */ jal __osSiRawStartDma -/* 02FD2C 8002F12C 00002025 */ move $a0, $zero -/* 02FD30 8002F130 8E040004 */ lw $a0, 4($s0) -/* 02FD34 8002F134 00002825 */ move $a1, $zero -/* 02FD38 8002F138 0C00B540 */ jal osRecvMesg -/* 02FD3C 8002F13C 24060001 */ li $a2, 1 -/* 02FD40 8002F140 8FA80024 */ lw $t0, 0x24($sp) -/* 02FD44 8002F144 8FA70034 */ lw $a3, 0x34($sp) -/* 02FD48 8002F148 91100002 */ lbu $s0, 2($t0) -/* 02FD4C 8002F14C 320A00C0 */ andi $t2, $s0, 0xc0 -/* 02FD50 8002F150 1540000D */ bnez $t2, .L8002F188_ovl0 -/* 02FD54 8002F154 01408025 */ move $s0, $t2 -/* 02FD58 8002F158 54E00007 */ bnezl $a3, .L8002F178_ovl0 -/* 02FD5C 8002F15C 910E0026 */ lbu $t6, 0x26($t0) -/* 02FD60 8002F160 910D0026 */ lbu $t5, 0x26($t0) -/* 02FD64 8002F164 11A00008 */ beqz $t5, .L8002F188_ovl0 -/* 02FD68 8002F168 00000000 */ nop -/* 02FD6C 8002F16C 10000006 */ b .L8002F188_ovl0 -/* 02FD70 8002F170 24100004 */ li $s0, 4 -/* 02FD74 8002F174 910E0026 */ lbu $t6, 0x26($t0) -.L8002F178_ovl0: -/* 02FD78 8002F178 240100EB */ li $at, 235 -/* 02FD7C 8002F17C 11C10002 */ beq $t6, $at, .L8002F188_ovl0 -/* 02FD80 8002F180 00000000 */ nop -/* 02FD84 8002F184 24100004 */ li $s0, 4 -.L8002F188_ovl0: -/* 02FD88 8002F188 0C00BD29 */ jal __osSiRelAccess -/* 02FD8C 8002F18C 00000000 */ nop -/* 02FD90 8002F190 02001025 */ move $v0, $s0 -.L8002F194_ovl0: -/* 02FD94 8002F194 8FBF001C */ lw $ra, 0x1c($sp) -/* 02FD98 8002F198 8FB00018 */ lw $s0, 0x18($sp) -/* 02FD9C 8002F19C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 02FDA0 8002F1A0 03E00008 */ jr $ra -/* 02FDA4 8002F1A4 00000000 */ nop - -glabel func_8002F1A8 -/* 02FDA8 8002F1A8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 02FDAC 8002F1AC AFBF0014 */ sw $ra, 0x14($sp) -/* 02FDB0 8002F1B0 00803025 */ move $a2, $a0 -/* 02FDB4 8002F1B4 240E00FF */ li $t6, 255 -/* 02FDB8 8002F1B8 240F0023 */ li $t7, 35 -/* 02FDBC 8002F1BC 24180001 */ li $t8, 1 -/* 02FDC0 8002F1C0 24190003 */ li $t9, 3 -/* 02FDC4 8002F1C4 240800C0 */ li $t0, 192 -/* 02FDC8 8002F1C8 A3AE0024 */ sb $t6, 0x24($sp) -/* 02FDCC 8002F1CC A3AF0025 */ sb $t7, 0x25($sp) -/* 02FDD0 8002F1D0 A3B80026 */ sb $t8, 0x26($sp) -/* 02FDD4 8002F1D4 A3B90027 */ sb $t9, 0x27($sp) -/* 02FDD8 8002F1D8 A3A80028 */ sb $t0, 0x28($sp) -/* 02FDDC 8002F1DC AFA60050 */ sw $a2, 0x50($sp) -/* 02FDE0 8002F1E0 24040600 */ li $a0, 1536 -/* 02FDE4 8002F1E4 0C00DD54 */ jal func_80037550 -/* 02FDE8 8002F1E8 AFA5004C */ sw $a1, 0x4c($sp) -/* 02FDEC 8002F1EC 8FA60050 */ lw $a2, 0x50($sp) -/* 02FDF0 8002F1F0 3449C000 */ ori $t1, $v0, 0xc000 -/* 02FDF4 8002F1F4 A3A90029 */ sb $t1, 0x29($sp) -/* 02FDF8 8002F1F8 10C00012 */ beqz $a2, .L8002F244_ovl0 -/* 02FDFC 8002F1FC 8FA3004C */ lw $v1, 0x4c($sp) -/* 02FE00 8002F200 18C00010 */ blez $a2, .L8002F244_ovl0 -/* 02FE04 8002F204 00001025 */ move $v0, $zero -/* 02FE08 8002F208 30C50003 */ andi $a1, $a2, 3 -/* 02FE0C 8002F20C 10A00006 */ beqz $a1, .L8002F228_ovl0 -/* 02FE10 8002F210 00A02025 */ move $a0, $a1 -.L8002F214_ovl0: -/* 02FE14 8002F214 24420001 */ addiu $v0, $v0, 1 -/* 02FE18 8002F218 A0600000 */ sb $zero, ($v1) -/* 02FE1C 8002F21C 1482FFFD */ bne $a0, $v0, .L8002F214_ovl0 -/* 02FE20 8002F220 24630001 */ addiu $v1, $v1, 1 -/* 02FE24 8002F224 10460007 */ beq $v0, $a2, .L8002F244_ovl0 -.L8002F228_ovl0: -/* 02FE28 8002F228 24420004 */ addiu $v0, $v0, 4 -/* 02FE2C 8002F22C A0600001 */ sb $zero, 1($v1) -/* 02FE30 8002F230 A0600002 */ sb $zero, 2($v1) -/* 02FE34 8002F234 A0600003 */ sb $zero, 3($v1) -/* 02FE38 8002F238 24630004 */ addiu $v1, $v1, 4 -/* 02FE3C 8002F23C 1446FFFA */ bne $v0, $a2, .L8002F228_ovl0 -/* 02FE40 8002F240 A060FFFC */ sb $zero, -4($v1) -.L8002F244_ovl0: -/* 02FE44 8002F244 27AA0024 */ addiu $t2, $sp, 0x24 -/* 02FE48 8002F248 254C0024 */ addiu $t4, $t2, 0x24 -/* 02FE4C 8002F24C 00606825 */ move $t5, $v1 -.L8002F250_ovl0: -/* 02FE50 8002F250 8D410000 */ lw $at, ($t2) -/* 02FE54 8002F254 254A000C */ addiu $t2, $t2, 0xc -/* 02FE58 8002F258 25AD000C */ addiu $t5, $t5, 0xc -/* 02FE5C 8002F25C A9A1FFF4 */ swl $at, -0xc($t5) -/* 02FE60 8002F260 B9A1FFF7 */ swr $at, -9($t5) -/* 02FE64 8002F264 8D41FFF8 */ lw $at, -8($t2) -/* 02FE68 8002F268 A9A1FFF8 */ swl $at, -8($t5) -/* 02FE6C 8002F26C B9A1FFFB */ swr $at, -5($t5) -/* 02FE70 8002F270 8D41FFFC */ lw $at, -4($t2) -/* 02FE74 8002F274 A9A1FFFC */ swl $at, -4($t5) -/* 02FE78 8002F278 154CFFF5 */ bne $t2, $t4, .L8002F250_ovl0 -/* 02FE7C 8002F27C B9A1FFFF */ swr $at, -1($t5) -/* 02FE80 8002F280 91410000 */ lbu $at, ($t2) -/* 02FE84 8002F284 240E00FE */ li $t6, 254 -/* 02FE88 8002F288 24630027 */ addiu $v1, $v1, 0x27 -/* 02FE8C 8002F28C A1A10000 */ sb $at, ($t5) -/* 02FE90 8002F290 914C0001 */ lbu $t4, 1($t2) -/* 02FE94 8002F294 A1AC0001 */ sb $t4, 1($t5) -/* 02FE98 8002F298 91410002 */ lbu $at, 2($t2) -/* 02FE9C 8002F29C A1A10002 */ sb $at, 2($t5) -/* 02FEA0 8002F2A0 A06E0000 */ sb $t6, ($v1) -/* 02FEA4 8002F2A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 02FEA8 8002F2A8 27BD0050 */ addiu $sp, $sp, 0x50 -/* 02FEAC 8002F2AC 03E00008 */ jr $ra -/* 02FEB0 8002F2B0 00000000 */ nop - -glabel func_8002F2B4 -/* 02FEB4 8002F2B4 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 02FEB8 8002F2B8 AFBF001C */ sw $ra, 0x1c($sp) -/* 02FEBC 8002F2BC AFB00018 */ sw $s0, 0x18($sp) -/* 02FEC0 8002F2C0 AFA40048 */ sw $a0, 0x48($sp) -/* 02FEC4 8002F2C4 AFA60050 */ sw $a2, 0x50($sp) -/* 02FEC8 8002F2C8 ACA40004 */ sw $a0, 4($a1) -/* 02FECC 8002F2CC 8FAF0050 */ lw $t7, 0x50($sp) -/* 02FED0 8002F2D0 241800FF */ li $t8, 255 -/* 02FED4 8002F2D4 00A08025 */ move $s0, $a1 -/* 02FED8 8002F2D8 A0B80065 */ sb $t8, 0x65($a1) -/* 02FEDC 8002F2DC ACA00000 */ sw $zero, ($a1) -/* 02FEE0 8002F2E0 00A02025 */ move $a0, $a1 -/* 02FEE4 8002F2E4 ACAF0008 */ sw $t7, 8($a1) -/* 02FEE8 8002F2E8 0C00D728 */ jal func_80035CA0 -/* 02FEEC 8002F2EC 240500FE */ li $a1, 254 -/* 02FEF0 8002F2F0 24010002 */ li $at, 2 -/* 02FEF4 8002F2F4 14410005 */ bne $v0, $at, .L8002F30C_ovl0 -/* 02FEF8 8002F2F8 00401825 */ move $v1, $v0 -/* 02FEFC 8002F2FC 02002025 */ move $a0, $s0 -/* 02FF00 8002F300 0C00D728 */ jal func_80035CA0 -/* 02FF04 8002F304 24050080 */ li $a1, 128 -/* 02FF08 8002F308 00401825 */ move $v1, $v0 -.L8002F30C_ovl0: -/* 02FF0C 8002F30C 10400003 */ beqz $v0, .L8002F31C_ovl0 -/* 02FF10 8002F310 8FA40048 */ lw $a0, 0x48($sp) -/* 02FF14 8002F314 10000039 */ b .L8002F3FC_ovl0 -/* 02FF18 8002F318 00601025 */ move $v0, $v1 -.L8002F31C_ovl0: -/* 02FF1C 8002F31C 8FA50050 */ lw $a1, 0x50($sp) -/* 02FF20 8002F320 24060400 */ li $a2, 1024 -/* 02FF24 8002F324 0C00DCC8 */ jal func_80037320 -/* 02FF28 8002F328 27A70024 */ addiu $a3, $sp, 0x24 -/* 02FF2C 8002F32C 24010002 */ li $at, 2 -/* 02FF30 8002F330 14410002 */ bne $v0, $at, .L8002F33C_ovl0 -/* 02FF34 8002F334 00401825 */ move $v1, $v0 -/* 02FF38 8002F338 24030004 */ li $v1, 4 -.L8002F33C_ovl0: -/* 02FF3C 8002F33C 10600003 */ beqz $v1, .L8002F34C_ovl0 -/* 02FF40 8002F340 93B90043 */ lbu $t9, 0x43($sp) -/* 02FF44 8002F344 1000002D */ b .L8002F3FC_ovl0 -/* 02FF48 8002F348 00601025 */ move $v0, $v1 -.L8002F34C_ovl0: -/* 02FF4C 8002F34C 240100FE */ li $at, 254 -/* 02FF50 8002F350 17210003 */ bne $t9, $at, .L8002F360_ovl0 -/* 02FF54 8002F354 02002025 */ move $a0, $s0 -/* 02FF58 8002F358 10000028 */ b .L8002F3FC_ovl0 -/* 02FF5C 8002F35C 2402000B */ li $v0, 11 -.L8002F360_ovl0: -/* 02FF60 8002F360 0C00D728 */ jal func_80035CA0 -/* 02FF64 8002F364 24050080 */ li $a1, 128 -/* 02FF68 8002F368 24010002 */ li $at, 2 -/* 02FF6C 8002F36C 14410002 */ bne $v0, $at, .L8002F378_ovl0 -/* 02FF70 8002F370 00401825 */ move $v1, $v0 -/* 02FF74 8002F374 24030004 */ li $v1, 4 -.L8002F378_ovl0: -/* 02FF78 8002F378 10600003 */ beqz $v1, .L8002F388_ovl0 -/* 02FF7C 8002F37C 8FA40048 */ lw $a0, 0x48($sp) -/* 02FF80 8002F380 1000001E */ b .L8002F3FC_ovl0 -/* 02FF84 8002F384 00601025 */ move $v0, $v1 -.L8002F388_ovl0: -/* 02FF88 8002F388 8FA50050 */ lw $a1, 0x50($sp) -/* 02FF8C 8002F38C 24060400 */ li $a2, 1024 -/* 02FF90 8002F390 0C00DCC8 */ jal func_80037320 -/* 02FF94 8002F394 27A70024 */ addiu $a3, $sp, 0x24 -/* 02FF98 8002F398 24010002 */ li $at, 2 -/* 02FF9C 8002F39C 14410002 */ bne $v0, $at, .L8002F3A8_ovl0 -/* 02FFA0 8002F3A0 00401825 */ move $v1, $v0 -/* 02FFA4 8002F3A4 24030004 */ li $v1, 4 -.L8002F3A8_ovl0: -/* 02FFA8 8002F3A8 10600003 */ beqz $v1, .L8002F3B8_ovl0 -/* 02FFAC 8002F3AC 93A80043 */ lbu $t0, 0x43($sp) -/* 02FFB0 8002F3B0 10000012 */ b .L8002F3FC_ovl0 -/* 02FFB4 8002F3B4 00601025 */ move $v0, $v1 -.L8002F3B8_ovl0: -/* 02FFB8 8002F3B8 24010080 */ li $at, 128 -/* 02FFBC 8002F3BC 51010004 */ beql $t0, $at, .L8002F3D0_ovl0 -/* 02FFC0 8002F3C0 8E090000 */ lw $t1, ($s0) -/* 02FFC4 8002F3C4 1000000D */ b .L8002F3FC_ovl0 -/* 02FFC8 8002F3C8 2402000B */ li $v0, 11 -/* 02FFCC 8002F3CC 8E090000 */ lw $t1, ($s0) -.L8002F3D0_ovl0: -/* 02FFD0 8002F3D0 8FA40050 */ lw $a0, 0x50($sp) -/* 02FFD4 8002F3D4 3C0D800A */ lui $t5, %hi(D_80098990) # $t5, 0x800a -/* 02FFD8 8002F3D8 312A0008 */ andi $t2, $t1, 8 -/* 02FFDC 8002F3DC 15400004 */ bnez $t2, .L8002F3F0_ovl0 -/* 02FFE0 8002F3E0 00046180 */ sll $t4, $a0, 6 -/* 02FFE4 8002F3E4 25AD8990 */ addiu $t5, %lo(D_80098990) # addiu $t5, $t5, -0x7670 -/* 02FFE8 8002F3E8 0C00BC6A */ jal func_8002F1A8 -/* 02FFEC 8002F3EC 018D2821 */ addu $a1, $t4, $t5 -.L8002F3F0_ovl0: -/* 02FFF0 8002F3F0 240E0008 */ li $t6, 8 -/* 02FFF4 8002F3F4 AE0E0000 */ sw $t6, ($s0) -/* 02FFF8 8002F3F8 00001025 */ move $v0, $zero -.L8002F3FC_ovl0: -/* 02FFFC 8002F3FC 8FBF001C */ lw $ra, 0x1c($sp) -/* 030000 8002F400 8FB00018 */ lw $s0, 0x18($sp) -/* 030004 8002F404 27BD0048 */ addiu $sp, $sp, 0x48 -/* 030008 8002F408 03E00008 */ jr $ra -/* 03000C 8002F40C 00000000 */ nop - -glabel func_8002F410 -/* 030010 8002F410 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 030014 8002F414 AFBF0014 */ sw $ra, 0x14($sp) -/* 030018 8002F418 240E0001 */ li $t6, 1 -/* 03001C 8002F41C 3C018004 */ lui $at, %hi(D_8003FB70) # $at, 0x8004 -/* 030020 8002F420 3C04800A */ lui $a0, %hi(D_80098A98) # $a0, 0x800a -/* 030024 8002F424 3C05800A */ lui $a1, %hi(D_80098A90) # $a1, 0x800a -/* 030028 8002F428 AC2EFB70 */ sw $t6, %lo(D_8003FB70)($at) -/* 03002C 8002F42C 24A58A90 */ addiu $a1, %lo(D_80098A90) # addiu $a1, $a1, -0x7570 -/* 030030 8002F430 24848A98 */ addiu $a0, %lo(D_80098A98) # addiu $a0, $a0, -0x7568 -/* 030034 8002F434 0C00CEB8 */ jal osCreateMesgQueue -/* 030038 8002F438 24060001 */ li $a2, 1 -/* 03003C 8002F43C 3C04800A */ lui $a0, %hi(D_80098A98) # $a0, 0x800a -/* 030040 8002F440 24848A98 */ addiu $a0, %lo(D_80098A98) # addiu $a0, $a0, -0x7568 -/* 030044 8002F444 00002825 */ move $a1, $zero -/* 030048 8002F448 0C00B4BC */ jal osSendMesg -/* 03004C 8002F44C 00003025 */ move $a2, $zero -/* 030050 8002F450 8FBF0014 */ lw $ra, 0x14($sp) -/* 030054 8002F454 27BD0018 */ addiu $sp, $sp, 0x18 -/* 030058 8002F458 03E00008 */ jr $ra -/* 03005C 8002F45C 00000000 */ nop - -glabel __osSiGetAccess -/* 030060 8002F460 3C0E8004 */ lui $t6, %hi(D_8003FB70) # $t6, 0x8004 -/* 030064 8002F464 8DCEFB70 */ lw $t6, %lo(D_8003FB70)($t6) -/* 030068 8002F468 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 03006C 8002F46C AFBF0014 */ sw $ra, 0x14($sp) -/* 030070 8002F470 15C00003 */ bnez $t6, .L8002F480_ovl0 -/* 030074 8002F474 00000000 */ nop -/* 030078 8002F478 0C00BD04 */ jal func_8002F410 -/* 03007C 8002F47C 00000000 */ nop -.L8002F480_ovl0: -/* 030080 8002F480 3C04800A */ lui $a0, %hi(D_80098A98) # $a0, 0x800a -/* 030084 8002F484 24848A98 */ addiu $a0, %lo(D_80098A98) # addiu $a0, $a0, -0x7568 -/* 030088 8002F488 27A5001C */ addiu $a1, $sp, 0x1c -/* 03008C 8002F48C 0C00B540 */ jal osRecvMesg -/* 030090 8002F490 24060001 */ li $a2, 1 -/* 030094 8002F494 8FBF0014 */ lw $ra, 0x14($sp) -/* 030098 8002F498 27BD0020 */ addiu $sp, $sp, 0x20 -/* 03009C 8002F49C 03E00008 */ jr $ra -/* 0300A0 8002F4A0 00000000 */ nop - -glabel __osSiRelAccess -/* 0300A4 8002F4A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0300A8 8002F4A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0300AC 8002F4AC 3C04800A */ lui $a0, %hi(D_80098A98) # $a0, 0x800a -/* 0300B0 8002F4B0 24848A98 */ addiu $a0, %lo(D_80098A98) # addiu $a0, $a0, -0x7568 -/* 0300B4 8002F4B4 00002825 */ move $a1, $zero -/* 0300B8 8002F4B8 0C00B4BC */ jal osSendMesg -/* 0300BC 8002F4BC 00003025 */ move $a2, $zero -/* 0300C0 8002F4C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0300C4 8002F4C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0300C8 8002F4C8 03E00008 */ jr $ra -/* 0300CC 8002F4CC 00000000 */ nop - -glabel osContReset -/* 0300D0 8002F4D0 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0300D4 8002F4D4 3C0E8004 */ lui $t6, %hi(D_8003FB80) # $t6, 0x8004 -/* 0300D8 8002F4D8 8DCEFB80 */ lw $t6, %lo(D_8003FB80)($t6) -/* 0300DC 8002F4DC AFBF0024 */ sw $ra, 0x24($sp) -/* 0300E0 8002F4E0 AFA40070 */ sw $a0, 0x70($sp) -/* 0300E4 8002F4E4 AFA50074 */ sw $a1, 0x74($sp) -/* 0300E8 8002F4E8 AFA60078 */ sw $a2, 0x78($sp) -/* 0300EC 8002F4EC 11C00003 */ beqz $t6, .L8002F4FC_ovl0 -/* 0300F0 8002F4F0 AFA00068 */ sw $zero, 0x68($sp) -/* 0300F4 8002F4F4 1000004E */ b .L8002F630_ovl0 -/* 0300F8 8002F4F8 00001025 */ move $v0, $zero -.L8002F4FC_ovl0: -/* 0300FC 8002F4FC 240F0001 */ li $t7, 1 -/* 030100 8002F500 3C018004 */ lui $at, %hi(D_8003FB80) # $at, 0x8004 -/* 030104 8002F504 0C00D184 */ jal osGetTime -/* 030108 8002F508 AC2FFB80 */ sw $t7, %lo(D_8003FB80)($at) -/* 03010C 8002F50C AFA20060 */ sw $v0, 0x60($sp) -/* 030110 8002F510 8FB80060 */ lw $t8, 0x60($sp) -/* 030114 8002F514 AFA30064 */ sw $v1, 0x64($sp) -/* 030118 8002F518 8FB90064 */ lw $t9, 0x64($sp) -/* 03011C 8002F51C 17000020 */ bnez $t8, .L8002F5A0_ovl0 -/* 030120 8002F520 3C010165 */ lui $at, (0x0165A0BC >> 16) # lui $at, 0x165 -/* 030124 8002F524 3421A0BC */ ori $at, (0x0165A0BC & 0xFFFF) # ori $at, $at, 0xa0bc -/* 030128 8002F528 0321082B */ sltu $at, $t9, $at -/* 03012C 8002F52C 1020001C */ beqz $at, .L8002F5A0_ovl0 -/* 030130 8002F530 00000000 */ nop -/* 030134 8002F534 27A40028 */ addiu $a0, $sp, 0x28 -/* 030138 8002F538 27A5006C */ addiu $a1, $sp, 0x6c -/* 03013C 8002F53C 0C00CEB8 */ jal osCreateMesgQueue -/* 030140 8002F540 24060001 */ li $a2, 1 -/* 030144 8002F544 8FA80060 */ lw $t0, 0x60($sp) -/* 030148 8002F548 8FA90064 */ lw $t1, 0x64($sp) -/* 03014C 8002F54C 3C0B0165 */ lui $t3, (0x0165A0BC >> 16) # lui $t3, 0x165 -/* 030150 8002F550 356BA0BC */ ori $t3, (0x0165A0BC & 0xFFFF) # ori $t3, $t3, 0xa0bc -/* 030154 8002F554 240A0000 */ li $t2, 0 -/* 030158 8002F558 240C0000 */ li $t4, 0 -/* 03015C 8002F55C 240D0000 */ li $t5, 0 -/* 030160 8002F560 27AE0028 */ addiu $t6, $sp, 0x28 -/* 030164 8002F564 27AF006C */ addiu $t7, $sp, 0x6c -/* 030168 8002F568 01483023 */ subu $a2, $t2, $t0 -/* 03016C 8002F56C 0169082B */ sltu $at, $t3, $t1 -/* 030170 8002F570 00C13023 */ subu $a2, $a2, $at -/* 030174 8002F574 AFAF001C */ sw $t7, 0x1c($sp) -/* 030178 8002F578 AFAE0018 */ sw $t6, 0x18($sp) -/* 03017C 8002F57C AFAD0014 */ sw $t5, 0x14($sp) -/* 030180 8002F580 AFAC0010 */ sw $t4, 0x10($sp) -/* 030184 8002F584 27A40040 */ addiu $a0, $sp, 0x40 -/* 030188 8002F588 0C00DE14 */ jal osSetTimer -/* 03018C 8002F58C 01693823 */ subu $a3, $t3, $t1 -/* 030190 8002F590 27A40028 */ addiu $a0, $sp, 0x28 -/* 030194 8002F594 27A5006C */ addiu $a1, $sp, 0x6c -/* 030198 8002F598 0C00B540 */ jal osRecvMesg -/* 03019C 8002F59C 24060001 */ li $a2, 1 -.L8002F5A0_ovl0: -/* 0301A0 8002F5A0 24180004 */ li $t8, 4 -/* 0301A4 8002F5A4 3C01800A */ lui $at, %hi(D_80098AF1) # $at, 0x800a -/* 0301A8 8002F5A8 A0388AF1 */ sb $t8, %lo(D_80098AF1)($at) -/* 0301AC 8002F5AC 0C00BDC4 */ jal __osPackRequestData -/* 0301B0 8002F5B0 00002025 */ move $a0, $zero -/* 0301B4 8002F5B4 3C05800A */ lui $a1, %hi(__osContPifRam) # $a1, 0x800a -/* 0301B8 8002F5B8 24A58AB0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, -0x7550 -/* 0301BC 8002F5BC 0C00C138 */ jal __osSiRawStartDma -/* 0301C0 8002F5C0 24040001 */ li $a0, 1 -/* 0301C4 8002F5C4 AFA20068 */ sw $v0, 0x68($sp) -/* 0301C8 8002F5C8 8FA40070 */ lw $a0, 0x70($sp) -/* 0301CC 8002F5CC 27A5006C */ addiu $a1, $sp, 0x6c -/* 0301D0 8002F5D0 0C00B540 */ jal osRecvMesg -/* 0301D4 8002F5D4 24060001 */ li $a2, 1 -/* 0301D8 8002F5D8 3C05800A */ lui $a1, %hi(__osContPifRam) # $a1, 0x800a -/* 0301DC 8002F5DC 24A58AB0 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, -0x7550 -/* 0301E0 8002F5E0 0C00C138 */ jal __osSiRawStartDma -/* 0301E4 8002F5E4 00002025 */ move $a0, $zero -/* 0301E8 8002F5E8 AFA20068 */ sw $v0, 0x68($sp) -/* 0301EC 8002F5EC 8FA40070 */ lw $a0, 0x70($sp) -/* 0301F0 8002F5F0 27A5006C */ addiu $a1, $sp, 0x6c -/* 0301F4 8002F5F4 0C00B540 */ jal osRecvMesg -/* 0301F8 8002F5F8 24060001 */ li $a2, 1 -/* 0301FC 8002F5FC 8FA40074 */ lw $a0, 0x74($sp) -/* 030200 8002F600 0C00BD90 */ jal __osContGetInitData -/* 030204 8002F604 8FA50078 */ lw $a1, 0x78($sp) -/* 030208 8002F608 3C01800A */ lui $at, %hi(__osContLastCmd) # $at, 0x800a -/* 03020C 8002F60C 0C00BD04 */ jal func_8002F410 -/* 030210 8002F610 A0208AF0 */ sb $zero, %lo(__osContLastCmd)($at) -/* 030214 8002F614 3C04800A */ lui $a0, %hi(__osEepromTimerQ) # $a0, 0x800a -/* 030218 8002F618 3C05800A */ lui $a1, %hi(__osEepromTimerMsg) # $a1, 0x800a -/* 03021C 8002F61C 24A58B30 */ addiu $a1, %lo(__osEepromTimerMsg) # addiu $a1, $a1, -0x74d0 -/* 030220 8002F620 24848B18 */ addiu $a0, %lo(__osEepromTimerQ) # addiu $a0, $a0, -0x74e8 -/* 030224 8002F624 0C00CEB8 */ jal osCreateMesgQueue -/* 030228 8002F628 24060001 */ li $a2, 1 -/* 03022C 8002F62C 8FA20068 */ lw $v0, 0x68($sp) -.L8002F630_ovl0: -/* 030230 8002F630 8FBF0024 */ lw $ra, 0x24($sp) -/* 030234 8002F634 27BD0070 */ addiu $sp, $sp, 0x70 -/* 030238 8002F638 03E00008 */ jr $ra -/* 03023C 8002F63C 00000000 */ nop - -glabel __osContGetInitData -/* 030240 8002F640 3C0F800A */ lui $t7, %hi(D_80098AF1) # $t7, 0x800a -/* 030244 8002F644 91EF8AF1 */ lbu $t7, %lo(D_80098AF1)($t7) -/* 030248 8002F648 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03024C 8002F64C 3C0E800A */ lui $t6, %hi(__osContPifRam) # $t6, 0x800a -/* 030250 8002F650 25CE8AB0 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, -0x7550 -/* 030254 8002F654 A3A00007 */ sb $zero, 7($sp) -/* 030258 8002F658 AFAE0014 */ sw $t6, 0x14($sp) -/* 03025C 8002F65C 19E00028 */ blez $t7, .L8002F700_ovl0 -/* 030260 8002F660 AFA00008 */ sw $zero, 8($sp) -.L8002F664_ovl0: -/* 030264 8002F664 8FB90014 */ lw $t9, 0x14($sp) -/* 030268 8002F668 27B8000C */ addiu $t8, $sp, 0xc -/* 03026C 8002F66C 8B210000 */ lwl $at, ($t9) -/* 030270 8002F670 9B210003 */ lwr $at, 3($t9) -/* 030274 8002F674 AF010000 */ sw $at, ($t8) -/* 030278 8002F678 8B290004 */ lwl $t1, 4($t9) -/* 03027C 8002F67C 9B290007 */ lwr $t1, 7($t9) -/* 030280 8002F680 AF090004 */ sw $t1, 4($t8) -/* 030284 8002F684 93AA000E */ lbu $t2, 0xe($sp) -/* 030288 8002F688 314B00C0 */ andi $t3, $t2, 0xc0 -/* 03028C 8002F68C 000B6103 */ sra $t4, $t3, 4 -/* 030290 8002F690 A0AC0003 */ sb $t4, 3($a1) -/* 030294 8002F694 90AD0003 */ lbu $t5, 3($a1) -/* 030298 8002F698 15A0000E */ bnez $t5, .L8002F6D4_ovl0 -/* 03029C 8002F69C 00000000 */ nop -/* 0302A0 8002F6A0 93AE0011 */ lbu $t6, 0x11($sp) -/* 0302A4 8002F6A4 93A80010 */ lbu $t0, 0x10($sp) -/* 0302A8 8002F6A8 240B0001 */ li $t3, 1 -/* 0302AC 8002F6AC 000E7A00 */ sll $t7, $t6, 8 -/* 0302B0 8002F6B0 01E8C025 */ or $t8, $t7, $t0 -/* 0302B4 8002F6B4 A4B80000 */ sh $t8, ($a1) -/* 0302B8 8002F6B8 93B90012 */ lbu $t9, 0x12($sp) -/* 0302BC 8002F6BC A0B90002 */ sb $t9, 2($a1) -/* 0302C0 8002F6C0 8FAA0008 */ lw $t2, 8($sp) -/* 0302C4 8002F6C4 93A90007 */ lbu $t1, 7($sp) -/* 0302C8 8002F6C8 014B6004 */ sllv $t4, $t3, $t2 -/* 0302CC 8002F6CC 012C6825 */ or $t5, $t1, $t4 -/* 0302D0 8002F6D0 A3AD0007 */ sb $t5, 7($sp) -.L8002F6D4_ovl0: -/* 0302D4 8002F6D4 8FAE0008 */ lw $t6, 8($sp) -/* 0302D8 8002F6D8 3C19800A */ lui $t9, %hi(D_80098AF1) # $t9, 0x800a -/* 0302DC 8002F6DC 93398AF1 */ lbu $t9, %lo(D_80098AF1)($t9) -/* 0302E0 8002F6E0 8FA80014 */ lw $t0, 0x14($sp) -/* 0302E4 8002F6E4 25CF0001 */ addiu $t7, $t6, 1 -/* 0302E8 8002F6E8 01F9082A */ slt $at, $t7, $t9 -/* 0302EC 8002F6EC 25180008 */ addiu $t8, $t0, 8 -/* 0302F0 8002F6F0 AFB80014 */ sw $t8, 0x14($sp) -/* 0302F4 8002F6F4 AFAF0008 */ sw $t7, 8($sp) -/* 0302F8 8002F6F8 1420FFDA */ bnez $at, .L8002F664_ovl0 -/* 0302FC 8002F6FC 24A50004 */ addiu $a1, $a1, 4 -.L8002F700_ovl0: -/* 030300 8002F700 93AB0007 */ lbu $t3, 7($sp) -/* 030304 8002F704 27BD0018 */ addiu $sp, $sp, 0x18 -/* 030308 8002F708 03E00008 */ jr $ra -/* 03030C 8002F70C A08B0000 */ sb $t3, ($a0) - -glabel __osPackRequestData -/* 030310 8002F710 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 030314 8002F714 308400FF */ andi $a0, $a0, 0xff -/* 030318 8002F718 AFA00000 */ sw $zero, ($sp) -.L8002F71C_ovl0: -/* 03031C 8002F71C 8FAE0000 */ lw $t6, ($sp) -/* 030320 8002F720 8FB80000 */ lw $t8, ($sp) -/* 030324 8002F724 3C01800A */ lui $at, 0x800a -/* 030328 8002F728 000E7880 */ sll $t7, $t6, 2 -/* 03032C 8002F72C 002F0821 */ addu $at, $at, $t7 -/* 030330 8002F730 AC208AB0 */ sw $zero, -0x7550($at) -/* 030334 8002F734 27190001 */ addiu $t9, $t8, 1 -/* 030338 8002F738 2B21000F */ slti $at, $t9, 0xf -/* 03033C 8002F73C 1420FFF7 */ bnez $at, .L8002F71C_ovl0 -/* 030340 8002F740 AFB90000 */ sw $t9, ($sp) -/* 030344 8002F744 3C19800A */ lui $t9, %hi(D_80098AF1) # $t9, 0x800a -/* 030348 8002F748 93398AF1 */ lbu $t9, %lo(D_80098AF1)($t9) -/* 03034C 8002F74C 3C09800A */ lui $t1, %hi(__osContPifRam) # $t1, 0x800a -/* 030350 8002F750 24080001 */ li $t0, 1 -/* 030354 8002F754 3C01800A */ lui $at, %hi(D_80098AEC) # $at, 0x800a -/* 030358 8002F758 25298AB0 */ addiu $t1, %lo(__osContPifRam) # addiu $t1, $t1, -0x7550 -/* 03035C 8002F75C 240A00FF */ li $t2, 255 -/* 030360 8002F760 240B0001 */ li $t3, 1 -/* 030364 8002F764 240C0003 */ li $t4, 3 -/* 030368 8002F768 240D00FF */ li $t5, 255 -/* 03036C 8002F76C 240E00FF */ li $t6, 255 -/* 030370 8002F770 240F00FF */ li $t7, 255 -/* 030374 8002F774 241800FF */ li $t8, 255 -/* 030378 8002F778 AC288AEC */ sw $t0, %lo(D_80098AEC)($at) -/* 03037C 8002F77C AFA9000C */ sw $t1, 0xc($sp) -/* 030380 8002F780 A3AA0004 */ sb $t2, 4($sp) -/* 030384 8002F784 A3AB0005 */ sb $t3, 5($sp) -/* 030388 8002F788 A3AC0006 */ sb $t4, 6($sp) -/* 03038C 8002F78C A3A40007 */ sb $a0, 7($sp) -/* 030390 8002F790 A3AD0008 */ sb $t5, 8($sp) -/* 030394 8002F794 A3AE0009 */ sb $t6, 9($sp) -/* 030398 8002F798 A3AF000A */ sb $t7, 0xa($sp) -/* 03039C 8002F79C A3B8000B */ sb $t8, 0xb($sp) -/* 0303A0 8002F7A0 1B200013 */ blez $t9, .L8002F7F0_ovl0 -/* 0303A4 8002F7A4 AFA00000 */ sw $zero, ($sp) -.L8002F7A8_ovl0: -/* 0303A8 8002F7A8 27A90004 */ addiu $t1, $sp, 4 -/* 0303AC 8002F7AC 8D210000 */ lw $at, ($t1) -/* 0303B0 8002F7B0 8FA8000C */ lw $t0, 0xc($sp) -/* 0303B4 8002F7B4 3C18800A */ lui $t8, %hi(D_80098AF1) # $t8, 0x800a -/* 0303B8 8002F7B8 A9010000 */ swl $at, ($t0) -/* 0303BC 8002F7BC B9010003 */ swr $at, 3($t0) -/* 0303C0 8002F7C0 8D2B0004 */ lw $t3, 4($t1) -/* 0303C4 8002F7C4 A90B0004 */ swl $t3, 4($t0) -/* 0303C8 8002F7C8 B90B0007 */ swr $t3, 7($t0) -/* 0303CC 8002F7CC 8FAE0000 */ lw $t6, ($sp) -/* 0303D0 8002F7D0 93188AF1 */ lbu $t8, %lo(D_80098AF1)($t8) -/* 0303D4 8002F7D4 8FAC000C */ lw $t4, 0xc($sp) -/* 0303D8 8002F7D8 25CF0001 */ addiu $t7, $t6, 1 -/* 0303DC 8002F7DC 01F8082A */ slt $at, $t7, $t8 -/* 0303E0 8002F7E0 258D0008 */ addiu $t5, $t4, 8 -/* 0303E4 8002F7E4 AFAF0000 */ sw $t7, ($sp) -/* 0303E8 8002F7E8 1420FFEF */ bnez $at, .L8002F7A8_ovl0 -/* 0303EC 8002F7EC AFAD000C */ sw $t5, 0xc($sp) -.L8002F7F0_ovl0: -/* 0303F0 8002F7F0 8FAA000C */ lw $t2, 0xc($sp) -/* 0303F4 8002F7F4 241900FE */ li $t9, 254 -/* 0303F8 8002F7F8 27BD0010 */ addiu $sp, $sp, 0x10 -/* 0303FC 8002F7FC 03E00008 */ jr $ra -/* 030400 8002F800 A1590000 */ sb $t9, ($t2) - glabel func_8002F804 -/* 030404 8002F804 00000000 */ nop -/* 030408 8002F808 00000000 */ nop -/* 03040C 8002F80C 00000000 */ nop /* 030410 8002F810 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 030414 8002F814 AFBF001C */ sw $ra, 0x1c($sp) /* 030418 8002F818 AFB10018 */ sw $s1, 0x18($sp) @@ -614,16 +64,16 @@ glabel func_8002F804 /* 0304D4 8002F8D4 93A4004F */ lbu $a0, 0x4f($sp) /* 0304D8 8002F8D8 0C00BE62 */ jal func_8002F988 /* 0304DC 8002F8DC 8FA50050 */ lw $a1, 0x50($sp) -/* 0304E0 8002F8E0 3C05800A */ lui $a1, %hi(D_8009B500) # $a1, 0x800a -/* 0304E4 8002F8E4 24A5B500 */ addiu $a1, %lo(D_8009B500) # addiu $a1, $a1, -0x4b00 +/* 0304E0 8002F8E0 3C05800A */ lui $a1, %hi(__osEepPifRam) # $a1, 0x800a +/* 0304E4 8002F8E4 24A5B500 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, -0x4b00 /* 0304E8 8002F8E8 0C00C138 */ jal __osSiRawStartDma /* 0304EC 8002F8EC 24040001 */ li $a0, 1 /* 0304F0 8002F8F0 02202025 */ move $a0, $s1 /* 0304F4 8002F8F4 00002825 */ move $a1, $zero /* 0304F8 8002F8F8 0C00B540 */ jal osRecvMesg /* 0304FC 8002F8FC 24060001 */ li $a2, 1 -/* 030500 8002F900 3C05800A */ lui $a1, %hi(D_8009B500) # $a1, 0x800a -/* 030504 8002F904 24A5B500 */ addiu $a1, %lo(D_8009B500) # addiu $a1, $a1, -0x4b00 +/* 030500 8002F900 3C05800A */ lui $a1, %hi(__osEepPifRam) # $a1, 0x800a +/* 030504 8002F904 24A5B500 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, -0x4b00 /* 030508 8002F908 0C00C138 */ jal __osSiRawStartDma /* 03050C 8002F90C 00002025 */ move $a0, $zero /* 030510 8002F910 240C0005 */ li $t4, 5 @@ -660,8 +110,8 @@ glabel func_8002F804 glabel func_8002F988 /* 030588 8002F988 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 03058C 8002F98C 3C07800A */ lui $a3, %hi(D_8009B500) # $a3, 0x800a -/* 030590 8002F990 24E7B500 */ addiu $a3, %lo(D_8009B500) # addiu $a3, $a3, -0x4b00 +/* 03058C 8002F98C 3C07800A */ lui $a3, %hi(__osEepPifRam) # $a3, 0x800a +/* 030590 8002F990 24E7B500 */ addiu $a3, %lo(__osEepPifRam) # addiu $a3, $a3, -0x4b00 /* 030594 8002F994 240F0001 */ li $t7, 1 /* 030598 8002F998 2418000A */ li $t8, 10 /* 03059C 8002F99C 24190001 */ li $t9, 1 @@ -681,10 +131,10 @@ glabel func_8002F988 /* 0305D0 8002F9D0 24A50001 */ addiu $a1, $a1, 1 /* 0305D4 8002F9D4 1420FFFB */ bnez $at, .L8002F9C4_ovl0 /* 0305D8 8002F9D8 A0C90003 */ sb $t1, 3($a2) -/* 0305DC 8002F9DC 3C01800A */ lui $at, %hi(D_8009B500) # $at, 0x800a +/* 0305DC 8002F9DC 3C01800A */ lui $at, %hi(__osEepPifRam) # $at, 0x800a /* 0305E0 8002F9E0 3C02800A */ lui $v0, %hi(D_8009B501) # $v0, 0x800a /* 0305E4 8002F9E4 2442B501 */ addiu $v0, %lo(D_8009B501) # addiu $v0, $v0, -0x4aff -/* 0305E8 8002F9E8 A020B500 */ sb $zero, %lo(D_8009B500)($at) +/* 0305E8 8002F9E8 A020B500 */ sb $zero, %lo(__osEepPifRam)($at) /* 0305EC 8002F9EC A0400002 */ sb $zero, 2($v0) /* 0305F0 8002F9F0 A0400001 */ sb $zero, 1($v0) /* 0305F4 8002F9F4 A0400000 */ sb $zero, ($v0) @@ -706,20 +156,20 @@ glabel func_8002F988 glabel __osEepStatus /* 030634 __osEepStatus 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 030638 8002FA38 3C02800A */ lui $v0, %hi(D_8009B500) # $v0, 0x800a +/* 030638 8002FA38 3C02800A */ lui $v0, %hi(__osEepPifRam) # $v0, 0x800a /* 03063C 8002FA3C 3C03800A */ lui $v1, %hi(D_8009B540) # $v1, 0x800a /* 030640 8002FA40 AFBF0014 */ sw $ra, 0x14($sp) /* 030644 8002FA44 AFA40030 */ sw $a0, 0x30($sp) /* 030648 8002FA48 AFA50034 */ sw $a1, 0x34($sp) /* 03064C 8002FA4C 2463B540 */ addiu $v1, %lo(D_8009B540) # addiu $v1, $v1, -0x4ac0 -/* 030650 8002FA50 2442B500 */ addiu $v0, %lo(D_8009B500) # addiu $v0, $v0, -0x4b00 +/* 030650 8002FA50 2442B500 */ addiu $v0, %lo(__osEepPifRam) # addiu $v0, $v0, -0x4b00 .L8002FA54_ovl0: /* 030654 8002FA54 24420004 */ addiu $v0, $v0, 4 /* 030658 8002FA58 0043082B */ sltu $at, $v0, $v1 /* 03065C 8002FA5C 1420FFFD */ bnez $at, .L8002FA54_ovl0 /* 030660 8002FA60 AC40FFFC */ sw $zero, -4($v0) -/* 030664 8002FA64 3C05800A */ lui $a1, %hi(D_8009B500) # $a1, 0x800a -/* 030668 8002FA68 24A5B500 */ addiu $a1, %lo(D_8009B500) # addiu $a1, $a1, -0x4b00 +/* 030664 8002FA64 3C05800A */ lui $a1, %hi(__osEepPifRam) # $a1, 0x800a +/* 030668 8002FA68 24A5B500 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, -0x4b00 /* 03066C 8002FA6C 240E0001 */ li $t6, 1 /* 030670 8002FA70 ACAE003C */ sw $t6, 0x3c($a1) /* 030674 8002FA74 00A01025 */ move $v0, $a1 @@ -763,9 +213,9 @@ glabel __osEepStatus /* 030708 8002FB08 24060001 */ li $a2, 1 /* 03070C 8002FB0C 241900FE */ li $t9, 254 /* 030710 8002FB10 3C01800A */ lui $at, %hi(__osContLastCmd) # $at, 0x800a -/* 030714 8002FB14 3C05800A */ lui $a1, %hi(D_8009B500) # $a1, 0x800a +/* 030714 8002FB14 3C05800A */ lui $a1, %hi(__osEepPifRam) # $a1, 0x800a /* 030718 8002FB18 A0398AF0 */ sb $t9, %lo(__osContLastCmd)($at) -/* 03071C 8002FB1C 24A5B500 */ addiu $a1, %lo(D_8009B500) # addiu $a1, $a1, -0x4b00 +/* 03071C 8002FB1C 24A5B500 */ addiu $a1, %lo(__osEepPifRam) # addiu $a1, $a1, -0x4b00 /* 030720 8002FB20 0C00C138 */ jal __osSiRawStartDma /* 030724 8002FB24 00002025 */ move $a0, $zero /* 030728 8002FB28 8FA40030 */ lw $a0, 0x30($sp) @@ -777,11 +227,11 @@ glabel __osEepStatus /* 030740 8002FB40 3C02800A */ lui $v0, %hi(D_8009B501) # $v0, 0x800a /* 030744 8002FB44 2442B501 */ addiu $v0, %lo(D_8009B501) # addiu $v0, $v0, -0x4aff /* 030748 8002FB48 10600003 */ beqz $v1, .L8002FB58_ovl0 -/* 03074C 8002FB4C 3C01800A */ lui $at, %hi(D_8009B500) # $at, 0x800a +/* 03074C 8002FB4C 3C01800A */ lui $at, %hi(__osEepPifRam) # $at, 0x800a /* 030750 8002FB50 1000001E */ b .L8002FBCC_ovl0 /* 030754 8002FB54 00601025 */ move $v0, $v1 .L8002FB58_ovl0: -/* 030758 8002FB58 A020B500 */ sb $zero, %lo(D_8009B500)($at) +/* 030758 8002FB58 A020B500 */ sb $zero, %lo(__osEepPifRam)($at) /* 03075C 8002FB5C 88410003 */ lwl $at, 3($v0) /* 030760 8002FB60 98410006 */ lwr $at, 6($v0) /* 030764 8002FB64 A0400002 */ sb $zero, 2($v0) @@ -940,8 +390,8 @@ glabel func_8002FD24 /* 0309B0 8002FDB0 00000000 */ nop glabel func_8002FDB4 -/* 0309B4 8002FDB4 3C05800A */ lui $a1, %hi(D_80098AF1) # $a1, 0x800a -/* 0309B8 8002FDB8 24A58AF1 */ addiu $a1, %lo(D_80098AF1) # addiu $a1, $a1, -0x750f +/* 0309B4 8002FDB4 3C05800A */ lui $a1, %hi(__osMaxControllers) # $a1, 0x800a +/* 0309B8 8002FDB8 24A58AF1 */ addiu $a1, %lo(__osMaxControllers) # addiu $a1, $a1, -0x750f /* 0309BC 8002FDBC 90AE0000 */ lbu $t6, ($a1) /* 0309C0 8002FDC0 3C02800A */ lui $v0, %hi(__osContPifRam) # $v0, 0x800a /* 0309C4 8002FDC4 27BDFFF0 */ addiu $sp, $sp, -0x10 @@ -993,8 +443,8 @@ glabel func_8002FE40 /* 030A64 8002FE64 0083082B */ sltu $at, $a0, $v1 /* 030A68 8002FE68 1420FFFD */ bnez $at, .L8002FE60_ovl0 /* 030A6C 8002FE6C AC80FFFC */ sw $zero, -4($a0) -/* 030A70 8002FE70 3C04800A */ lui $a0, %hi(D_80098AF1) # $a0, 0x800a -/* 030A74 8002FE74 24848AF1 */ addiu $a0, %lo(D_80098AF1) # addiu $a0, $a0, -0x750f +/* 030A70 8002FE70 3C04800A */ lui $a0, %hi(__osMaxControllers) # $a0, 0x800a +/* 030A74 8002FE74 24848AF1 */ addiu $a0, %lo(__osMaxControllers) # addiu $a0, $a0, -0x750f /* 030A78 8002FE78 908C0000 */ lbu $t4, ($a0) /* 030A7C 8002FE7C 240E0001 */ li $t6, 1 /* 030A80 8002FE80 240F00FF */ li $t7, 255 diff --git a/asm/ovl0/ovl0_after_bcopy.s b/asm/ovl0/ovl0_after_bcopy.s index 799402ab..7ddaef31 100644 --- a/asm/ovl0/ovl0_after_bcopy.s +++ b/asm/ovl0/ovl0_after_bcopy.s @@ -1191,8 +1191,8 @@ glabel func_80036AF0 /* 037764 80036B64 27A40037 */ addiu $a0, $sp, 0x37 /* 037768 80036B68 0C00DB58 */ jal func_80036D60 /* 03776C 80036B6C 27A50024 */ addiu $a1, $sp, 0x24 -/* 037770 80036B70 3C0F800A */ lui $t7, %hi(D_80098AF1) # $t7, 0x800a -/* 037774 80036B74 91EF8AF1 */ lbu $t7, %lo(D_80098AF1)($t7) +/* 037770 80036B70 3C0F800A */ lui $t7, %hi(__osMaxControllers) # $t7, 0x800a +/* 037774 80036B74 91EF8AF1 */ lbu $t7, %lo(__osMaxControllers)($t7) /* 037778 80036B78 AFA00020 */ sw $zero, 0x20($sp) /* 03777C 80036B7C 19E00014 */ blez $t7, .L80036BD0_ovl0 /* 037780 80036B80 00000000 */ nop @@ -1210,16 +1210,16 @@ glabel func_80036AF0 /* 0377AC 80036BAC AFAB0018 */ sw $t3, 0x18($sp) .L80036BB0_ovl0: /* 0377B0 80036BB0 8FAC0020 */ lw $t4, 0x20($sp) -/* 0377B4 80036BB4 3C0E800A */ lui $t6, %hi(D_80098AF1) # $t6, 0x800a -/* 0377B8 80036BB8 91CE8AF1 */ lbu $t6, %lo(D_80098AF1)($t6) +/* 0377B4 80036BB4 3C0E800A */ lui $t6, %hi(__osMaxControllers) # $t6, 0x800a +/* 0377B8 80036BB8 91CE8AF1 */ lbu $t6, %lo(__osMaxControllers)($t6) /* 0377BC 80036BBC 258D0001 */ addiu $t5, $t4, 1 /* 0377C0 80036BC0 AFAD0020 */ sw $t5, 0x20($sp) /* 0377C4 80036BC4 01AE082A */ slt $at, $t5, $t6 /* 0377C8 80036BC8 1420FFEE */ bnez $at, .L80036B84_ovl0 /* 0377CC 80036BCC 00000000 */ nop .L80036BD0_ovl0: -/* 0377D0 80036BD0 3C0F800A */ lui $t7, %hi(D_80098AF1) # $t7, 0x800a -/* 0377D4 80036BD4 91EF8AF1 */ lbu $t7, %lo(D_80098AF1)($t7) +/* 0377D0 80036BD0 3C0F800A */ lui $t7, %hi(__osMaxControllers) # $t7, 0x800a +/* 0377D4 80036BD4 91EF8AF1 */ lbu $t7, %lo(__osMaxControllers)($t7) /* 0377D8 80036BD8 8FB80020 */ lw $t8, 0x20($sp) /* 0377DC 80036BDC 15F80002 */ bne $t7, $t8, .L80036BE8_ovl0 /* 0377E0 80036BE0 00000000 */ nop @@ -1228,8 +1228,8 @@ glabel func_80036AF0 /* 0377E8 80036BE8 8FB90018 */ lw $t9, 0x18($sp) /* 0377EC 80036BEC 1F20FFC9 */ bgtz $t9, .L80036B14_ovl0 /* 0377F0 80036BF0 00000000 */ nop -/* 0377F4 80036BF4 3C08800A */ lui $t0, %hi(D_80098AF1) # $t0, 0x800a -/* 0377F8 80036BF8 91088AF1 */ lbu $t0, %lo(D_80098AF1)($t0) +/* 0377F4 80036BF4 3C08800A */ lui $t0, %hi(__osMaxControllers) # $t0, 0x800a +/* 0377F8 80036BF8 91088AF1 */ lbu $t0, %lo(__osMaxControllers)($t0) /* 0377FC 80036BFC AFA00020 */ sw $zero, 0x20($sp) /* 037800 80036C00 19000019 */ blez $t0, .L80036C68_ovl0 /* 037804 80036C04 00000000 */ nop @@ -1252,8 +1252,8 @@ glabel func_80036AF0 /* 037844 80036C44 A3AA001F */ sb $t2, 0x1f($sp) .L80036C48_ovl0: /* 037848 80036C48 8FAB0020 */ lw $t3, 0x20($sp) -/* 03784C 80036C4C 3C0C800A */ lui $t4, %hi(D_80098AF1) # $t4, 0x800a -/* 037850 80036C50 918C8AF1 */ lbu $t4, %lo(D_80098AF1)($t4) +/* 03784C 80036C4C 3C0C800A */ lui $t4, %hi(__osMaxControllers) # $t4, 0x800a +/* 037850 80036C50 918C8AF1 */ lbu $t4, %lo(__osMaxControllers)($t4) /* 037854 80036C54 256D0001 */ addiu $t5, $t3, 1 /* 037858 80036C58 AFAD0020 */ sw $t5, 0x20($sp) /* 03785C 80036C5C 01AC082A */ slt $at, $t5, $t4 @@ -1273,8 +1273,8 @@ glabel func_80036AF0 glabel func_80036C90 /* 037890 80036C90 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 037894 80036C94 3C0D800A */ lui $t5, %hi(D_80098AF1) # $t5, 0x800a -/* 037898 80036C98 91AD8AF1 */ lbu $t5, %lo(D_80098AF1)($t5) +/* 037894 80036C94 3C0D800A */ lui $t5, %hi(__osMaxControllers) # $t5, 0x800a +/* 037898 80036C98 91AD8AF1 */ lbu $t5, %lo(__osMaxControllers)($t5) /* 03789C 80036C9C 308400FF */ andi $a0, $a0, 0xff /* 0378A0 80036CA0 3C01800A */ lui $at, %hi(__osContLastCmd) # $at, 0x800a /* 0378A4 80036CA4 3C0E800A */ lui $t6, %hi(D_8009A2A0) # $t6, 0x800a @@ -1305,14 +1305,14 @@ glabel func_80036C90 /* 037904 80036D04 27AF0004 */ addiu $t7, $sp, 4 /* 037908 80036D08 8DE10000 */ lw $at, ($t7) /* 03790C 80036D0C 8FAE000C */ lw $t6, 0xc($sp) -/* 037910 80036D10 3C0C800A */ lui $t4, %hi(D_80098AF1) # $t4, 0x800a +/* 037910 80036D10 3C0C800A */ lui $t4, %hi(__osMaxControllers) # $t4, 0x800a /* 037914 80036D14 A9C10000 */ swl $at, ($t6) /* 037918 80036D18 B9C10003 */ swr $at, 3($t6) /* 03791C 80036D1C 8DF90004 */ lw $t9, 4($t7) /* 037920 80036D20 A9D90004 */ swl $t9, 4($t6) /* 037924 80036D24 B9D90007 */ swr $t9, 7($t6) /* 037928 80036D28 8FAA0000 */ lw $t2, ($sp) -/* 03792C 80036D2C 918C8AF1 */ lbu $t4, %lo(D_80098AF1)($t4) +/* 03792C 80036D2C 918C8AF1 */ lbu $t4, %lo(__osMaxControllers)($t4) /* 037930 80036D30 8FA8000C */ lw $t0, 0xc($sp) /* 037934 80036D34 254B0001 */ addiu $t3, $t2, 1 /* 037938 80036D38 016C082A */ slt $at, $t3, $t4 @@ -1328,8 +1328,8 @@ glabel func_80036C90 /* 03795C 80036D5C A30D0000 */ sb $t5, ($t8) glabel func_80036D60 -/* 037960 80036D60 3C0F800A */ lui $t7, %hi(D_80098AF1) # $t7, 0x800a -/* 037964 80036D64 91EF8AF1 */ lbu $t7, %lo(D_80098AF1)($t7) +/* 037960 80036D60 3C0F800A */ lui $t7, %hi(__osMaxControllers) # $t7, 0x800a +/* 037964 80036D64 91EF8AF1 */ lbu $t7, %lo(__osMaxControllers)($t7) /* 037968 80036D68 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 03796C 80036D6C 3C0E800A */ lui $t6, %hi(D_8009A2A0) # $t6, 0x800a /* 037970 80036D70 25CEA2A0 */ addiu $t6, %lo(D_8009A2A0) # addiu $t6, $t6, -0x5d60 @@ -1368,8 +1368,8 @@ glabel func_80036D60 /* 0379F0 80036DF0 A3AD0007 */ sb $t5, 7($sp) .L80036DF4_ovl0: /* 0379F4 80036DF4 8FAE0008 */ lw $t6, 8($sp) -/* 0379F8 80036DF8 3C19800A */ lui $t9, %hi(D_80098AF1) # $t9, 0x800a -/* 0379FC 80036DFC 93398AF1 */ lbu $t9, %lo(D_80098AF1)($t9) +/* 0379F8 80036DF8 3C19800A */ lui $t9, %hi(__osMaxControllers) # $t9, 0x800a +/* 0379FC 80036DFC 93398AF1 */ lbu $t9, %lo(__osMaxControllers)($t9) /* 037A00 80036E00 8FA80014 */ lw $t0, 0x14($sp) /* 037A04 80036E04 25CF0001 */ addiu $t7, $t6, 1 /* 037A08 80036E08 01F9082A */ slt $at, $t7, $t9 diff --git a/asm/ovl0/ovl0_beforeSiacs.s b/asm/ovl0/ovl0_beforeSiacs.s new file mode 100644 index 00000000..bf827d25 --- /dev/null +++ b/asm/ovl0/ovl0_beforeSiacs.s @@ -0,0 +1,277 @@ +.set noat +.set noreorder +.set gp=64 +.include "macros.inc" + +.section .text, "ax" + +glabel func_8002F040 +/* 02FC40 8002F040 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 02FC44 8002F044 AFBF001C */ sw $ra, 0x1c($sp) +/* 02FC48 8002F048 AFB00018 */ sw $s0, 0x18($sp) +/* 02FC4C 8002F04C 8C8E0008 */ lw $t6, 8($a0) +/* 02FC50 8002F050 8C990000 */ lw $t9, ($a0) +/* 02FC54 8002F054 3C18800A */ lui $t8, %hi(D_80098990) # $t8, 0x800a +/* 02FC58 8002F058 27188990 */ addiu $t8, %lo(D_80098990) # addiu $t8, $t8, -0x7670 +/* 02FC5C 8002F05C 000E7980 */ sll $t7, $t6, 6 +/* 02FC60 8002F060 33290008 */ andi $t1, $t9, 8 +/* 02FC64 8002F064 00808025 */ move $s0, $a0 +/* 02FC68 8002F068 00A03825 */ move $a3, $a1 +/* 02FC6C 8002F06C 15200003 */ bnez $t1, .L8002F07C_ovl0 +/* 02FC70 8002F070 01F84021 */ addu $t0, $t7, $t8 +/* 02FC74 8002F074 10000047 */ b .L8002F194_ovl0 +/* 02FC78 8002F078 24020005 */ li $v0, 5 +.L8002F07C_ovl0: +/* 02FC7C 8002F07C AFA70034 */ sw $a3, 0x34($sp) +/* 02FC80 8002F080 0C00BD18 */ jal __osSiGetAccess +/* 02FC84 8002F084 AFA80024 */ sw $t0, 0x24($sp) +/* 02FC88 8002F088 8E0B0008 */ lw $t3, 8($s0) +/* 02FC8C 8002F08C 3C06800A */ lui $a2, %hi(D_80098990) # $a2, 0x800a +/* 02FC90 8002F090 24C68990 */ addiu $a2, %lo(D_80098990) # addiu $a2, $a2, -0x7670 +/* 02FC94 8002F094 000B6180 */ sll $t4, $t3, 6 +/* 02FC98 8002F098 00CC6821 */ addu $t5, $a2, $t4 +/* 02FC9C 8002F09C 240A0001 */ li $t2, 1 +/* 02FCA0 8002F0A0 ADAA003C */ sw $t2, 0x3c($t5) +/* 02FCA4 8002F0A4 8FA80024 */ lw $t0, 0x24($sp) +/* 02FCA8 8002F0A8 8E0E0008 */ lw $t6, 8($s0) +/* 02FCAC 8002F0AC 8FA70034 */ lw $a3, 0x34($sp) +/* 02FCB0 8002F0B0 00001825 */ move $v1, $zero +/* 02FCB4 8002F0B4 010E4021 */ addu $t0, $t0, $t6 +/* 02FCB8 8002F0B8 01001025 */ move $v0, $t0 +/* 02FCBC 8002F0BC 24040020 */ li $a0, 32 +.L8002F0C0_ovl0: +/* 02FCC0 8002F0C0 24630004 */ addiu $v1, $v1, 4 +/* 02FCC4 8002F0C4 A0470007 */ sb $a3, 7($v0) +/* 02FCC8 8002F0C8 A0470008 */ sb $a3, 8($v0) +/* 02FCCC 8002F0CC A0470009 */ sb $a3, 9($v0) +/* 02FCD0 8002F0D0 24420004 */ addiu $v0, $v0, 4 +/* 02FCD4 8002F0D4 1464FFFA */ bne $v1, $a0, .L8002F0C0_ovl0 +/* 02FCD8 8002F0D8 A0470002 */ sb $a3, 2($v0) +/* 02FCDC 8002F0DC 240F00FE */ li $t7, 254 +/* 02FCE0 8002F0E0 3C01800A */ lui $at, %hi(__osContLastCmd) # $at, 0x800a +/* 02FCE4 8002F0E4 A02F8AF0 */ sb $t7, %lo(__osContLastCmd)($at) +/* 02FCE8 8002F0E8 8E180008 */ lw $t8, 8($s0) +/* 02FCEC 8002F0EC AFA80024 */ sw $t0, 0x24($sp) +/* 02FCF0 8002F0F0 AFA70034 */ sw $a3, 0x34($sp) +/* 02FCF4 8002F0F4 0018C980 */ sll $t9, $t8, 6 +/* 02FCF8 8002F0F8 00D92821 */ addu $a1, $a2, $t9 +/* 02FCFC 8002F0FC 0C00C138 */ jal __osSiRawStartDma +/* 02FD00 8002F100 24040001 */ li $a0, 1 +/* 02FD04 8002F104 8E040004 */ lw $a0, 4($s0) +/* 02FD08 8002F108 00002825 */ move $a1, $zero +/* 02FD0C 8002F10C 0C00B540 */ jal osRecvMesg +/* 02FD10 8002F110 24060001 */ li $a2, 1 +/* 02FD14 8002F114 8E090008 */ lw $t1, 8($s0) +/* 02FD18 8002F118 3C0C800A */ lui $t4, %hi(D_80098990) # $t4, 0x800a +/* 02FD1C 8002F11C 258C8990 */ addiu $t4, %lo(D_80098990) # addiu $t4, $t4, -0x7670 +/* 02FD20 8002F120 00095980 */ sll $t3, $t1, 6 +/* 02FD24 8002F124 016C2821 */ addu $a1, $t3, $t4 +/* 02FD28 8002F128 0C00C138 */ jal __osSiRawStartDma +/* 02FD2C 8002F12C 00002025 */ move $a0, $zero +/* 02FD30 8002F130 8E040004 */ lw $a0, 4($s0) +/* 02FD34 8002F134 00002825 */ move $a1, $zero +/* 02FD38 8002F138 0C00B540 */ jal osRecvMesg +/* 02FD3C 8002F13C 24060001 */ li $a2, 1 +/* 02FD40 8002F140 8FA80024 */ lw $t0, 0x24($sp) +/* 02FD44 8002F144 8FA70034 */ lw $a3, 0x34($sp) +/* 02FD48 8002F148 91100002 */ lbu $s0, 2($t0) +/* 02FD4C 8002F14C 320A00C0 */ andi $t2, $s0, 0xc0 +/* 02FD50 8002F150 1540000D */ bnez $t2, .L8002F188_ovl0 +/* 02FD54 8002F154 01408025 */ move $s0, $t2 +/* 02FD58 8002F158 54E00007 */ bnezl $a3, .L8002F178_ovl0 +/* 02FD5C 8002F15C 910E0026 */ lbu $t6, 0x26($t0) +/* 02FD60 8002F160 910D0026 */ lbu $t5, 0x26($t0) +/* 02FD64 8002F164 11A00008 */ beqz $t5, .L8002F188_ovl0 +/* 02FD68 8002F168 00000000 */ nop +/* 02FD6C 8002F16C 10000006 */ b .L8002F188_ovl0 +/* 02FD70 8002F170 24100004 */ li $s0, 4 +/* 02FD74 8002F174 910E0026 */ lbu $t6, 0x26($t0) +.L8002F178_ovl0: +/* 02FD78 8002F178 240100EB */ li $at, 235 +/* 02FD7C 8002F17C 11C10002 */ beq $t6, $at, .L8002F188_ovl0 +/* 02FD80 8002F180 00000000 */ nop +/* 02FD84 8002F184 24100004 */ li $s0, 4 +.L8002F188_ovl0: +/* 02FD88 8002F188 0C00BD29 */ jal __osSiRelAccess +/* 02FD8C 8002F18C 00000000 */ nop +/* 02FD90 8002F190 02001025 */ move $v0, $s0 +.L8002F194_ovl0: +/* 02FD94 8002F194 8FBF001C */ lw $ra, 0x1c($sp) +/* 02FD98 8002F198 8FB00018 */ lw $s0, 0x18($sp) +/* 02FD9C 8002F19C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 02FDA0 8002F1A0 03E00008 */ jr $ra +/* 02FDA4 8002F1A4 00000000 */ nop + +glabel func_8002F1A8 +/* 02FDA8 8002F1A8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 02FDAC 8002F1AC AFBF0014 */ sw $ra, 0x14($sp) +/* 02FDB0 8002F1B0 00803025 */ move $a2, $a0 +/* 02FDB4 8002F1B4 240E00FF */ li $t6, 255 +/* 02FDB8 8002F1B8 240F0023 */ li $t7, 35 +/* 02FDBC 8002F1BC 24180001 */ li $t8, 1 +/* 02FDC0 8002F1C0 24190003 */ li $t9, 3 +/* 02FDC4 8002F1C4 240800C0 */ li $t0, 192 +/* 02FDC8 8002F1C8 A3AE0024 */ sb $t6, 0x24($sp) +/* 02FDCC 8002F1CC A3AF0025 */ sb $t7, 0x25($sp) +/* 02FDD0 8002F1D0 A3B80026 */ sb $t8, 0x26($sp) +/* 02FDD4 8002F1D4 A3B90027 */ sb $t9, 0x27($sp) +/* 02FDD8 8002F1D8 A3A80028 */ sb $t0, 0x28($sp) +/* 02FDDC 8002F1DC AFA60050 */ sw $a2, 0x50($sp) +/* 02FDE0 8002F1E0 24040600 */ li $a0, 1536 +/* 02FDE4 8002F1E4 0C00DD54 */ jal func_80037550 +/* 02FDE8 8002F1E8 AFA5004C */ sw $a1, 0x4c($sp) +/* 02FDEC 8002F1EC 8FA60050 */ lw $a2, 0x50($sp) +/* 02FDF0 8002F1F0 3449C000 */ ori $t1, $v0, 0xc000 +/* 02FDF4 8002F1F4 A3A90029 */ sb $t1, 0x29($sp) +/* 02FDF8 8002F1F8 10C00012 */ beqz $a2, .L8002F244_ovl0 +/* 02FDFC 8002F1FC 8FA3004C */ lw $v1, 0x4c($sp) +/* 02FE00 8002F200 18C00010 */ blez $a2, .L8002F244_ovl0 +/* 02FE04 8002F204 00001025 */ move $v0, $zero +/* 02FE08 8002F208 30C50003 */ andi $a1, $a2, 3 +/* 02FE0C 8002F20C 10A00006 */ beqz $a1, .L8002F228_ovl0 +/* 02FE10 8002F210 00A02025 */ move $a0, $a1 +.L8002F214_ovl0: +/* 02FE14 8002F214 24420001 */ addiu $v0, $v0, 1 +/* 02FE18 8002F218 A0600000 */ sb $zero, ($v1) +/* 02FE1C 8002F21C 1482FFFD */ bne $a0, $v0, .L8002F214_ovl0 +/* 02FE20 8002F220 24630001 */ addiu $v1, $v1, 1 +/* 02FE24 8002F224 10460007 */ beq $v0, $a2, .L8002F244_ovl0 +.L8002F228_ovl0: +/* 02FE28 8002F228 24420004 */ addiu $v0, $v0, 4 +/* 02FE2C 8002F22C A0600001 */ sb $zero, 1($v1) +/* 02FE30 8002F230 A0600002 */ sb $zero, 2($v1) +/* 02FE34 8002F234 A0600003 */ sb $zero, 3($v1) +/* 02FE38 8002F238 24630004 */ addiu $v1, $v1, 4 +/* 02FE3C 8002F23C 1446FFFA */ bne $v0, $a2, .L8002F228_ovl0 +/* 02FE40 8002F240 A060FFFC */ sb $zero, -4($v1) +.L8002F244_ovl0: +/* 02FE44 8002F244 27AA0024 */ addiu $t2, $sp, 0x24 +/* 02FE48 8002F248 254C0024 */ addiu $t4, $t2, 0x24 +/* 02FE4C 8002F24C 00606825 */ move $t5, $v1 +.L8002F250_ovl0: +/* 02FE50 8002F250 8D410000 */ lw $at, ($t2) +/* 02FE54 8002F254 254A000C */ addiu $t2, $t2, 0xc +/* 02FE58 8002F258 25AD000C */ addiu $t5, $t5, 0xc +/* 02FE5C 8002F25C A9A1FFF4 */ swl $at, -0xc($t5) +/* 02FE60 8002F260 B9A1FFF7 */ swr $at, -9($t5) +/* 02FE64 8002F264 8D41FFF8 */ lw $at, -8($t2) +/* 02FE68 8002F268 A9A1FFF8 */ swl $at, -8($t5) +/* 02FE6C 8002F26C B9A1FFFB */ swr $at, -5($t5) +/* 02FE70 8002F270 8D41FFFC */ lw $at, -4($t2) +/* 02FE74 8002F274 A9A1FFFC */ swl $at, -4($t5) +/* 02FE78 8002F278 154CFFF5 */ bne $t2, $t4, .L8002F250_ovl0 +/* 02FE7C 8002F27C B9A1FFFF */ swr $at, -1($t5) +/* 02FE80 8002F280 91410000 */ lbu $at, ($t2) +/* 02FE84 8002F284 240E00FE */ li $t6, 254 +/* 02FE88 8002F288 24630027 */ addiu $v1, $v1, 0x27 +/* 02FE8C 8002F28C A1A10000 */ sb $at, ($t5) +/* 02FE90 8002F290 914C0001 */ lbu $t4, 1($t2) +/* 02FE94 8002F294 A1AC0001 */ sb $t4, 1($t5) +/* 02FE98 8002F298 91410002 */ lbu $at, 2($t2) +/* 02FE9C 8002F29C A1A10002 */ sb $at, 2($t5) +/* 02FEA0 8002F2A0 A06E0000 */ sb $t6, ($v1) +/* 02FEA4 8002F2A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 02FEA8 8002F2A8 27BD0050 */ addiu $sp, $sp, 0x50 +/* 02FEAC 8002F2AC 03E00008 */ jr $ra +/* 02FEB0 8002F2B0 00000000 */ nop + +glabel func_8002F2B4 +/* 02FEB4 8002F2B4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 02FEB8 8002F2B8 AFBF001C */ sw $ra, 0x1c($sp) +/* 02FEBC 8002F2BC AFB00018 */ sw $s0, 0x18($sp) +/* 02FEC0 8002F2C0 AFA40048 */ sw $a0, 0x48($sp) +/* 02FEC4 8002F2C4 AFA60050 */ sw $a2, 0x50($sp) +/* 02FEC8 8002F2C8 ACA40004 */ sw $a0, 4($a1) +/* 02FECC 8002F2CC 8FAF0050 */ lw $t7, 0x50($sp) +/* 02FED0 8002F2D0 241800FF */ li $t8, 255 +/* 02FED4 8002F2D4 00A08025 */ move $s0, $a1 +/* 02FED8 8002F2D8 A0B80065 */ sb $t8, 0x65($a1) +/* 02FEDC 8002F2DC ACA00000 */ sw $zero, ($a1) +/* 02FEE0 8002F2E0 00A02025 */ move $a0, $a1 +/* 02FEE4 8002F2E4 ACAF0008 */ sw $t7, 8($a1) +/* 02FEE8 8002F2E8 0C00D728 */ jal func_80035CA0 +/* 02FEEC 8002F2EC 240500FE */ li $a1, 254 +/* 02FEF0 8002F2F0 24010002 */ li $at, 2 +/* 02FEF4 8002F2F4 14410005 */ bne $v0, $at, .L8002F30C_ovl0 +/* 02FEF8 8002F2F8 00401825 */ move $v1, $v0 +/* 02FEFC 8002F2FC 02002025 */ move $a0, $s0 +/* 02FF00 8002F300 0C00D728 */ jal func_80035CA0 +/* 02FF04 8002F304 24050080 */ li $a1, 128 +/* 02FF08 8002F308 00401825 */ move $v1, $v0 +.L8002F30C_ovl0: +/* 02FF0C 8002F30C 10400003 */ beqz $v0, .L8002F31C_ovl0 +/* 02FF10 8002F310 8FA40048 */ lw $a0, 0x48($sp) +/* 02FF14 8002F314 10000039 */ b .L8002F3FC_ovl0 +/* 02FF18 8002F318 00601025 */ move $v0, $v1 +.L8002F31C_ovl0: +/* 02FF1C 8002F31C 8FA50050 */ lw $a1, 0x50($sp) +/* 02FF20 8002F320 24060400 */ li $a2, 1024 +/* 02FF24 8002F324 0C00DCC8 */ jal func_80037320 +/* 02FF28 8002F328 27A70024 */ addiu $a3, $sp, 0x24 +/* 02FF2C 8002F32C 24010002 */ li $at, 2 +/* 02FF30 8002F330 14410002 */ bne $v0, $at, .L8002F33C_ovl0 +/* 02FF34 8002F334 00401825 */ move $v1, $v0 +/* 02FF38 8002F338 24030004 */ li $v1, 4 +.L8002F33C_ovl0: +/* 02FF3C 8002F33C 10600003 */ beqz $v1, .L8002F34C_ovl0 +/* 02FF40 8002F340 93B90043 */ lbu $t9, 0x43($sp) +/* 02FF44 8002F344 1000002D */ b .L8002F3FC_ovl0 +/* 02FF48 8002F348 00601025 */ move $v0, $v1 +.L8002F34C_ovl0: +/* 02FF4C 8002F34C 240100FE */ li $at, 254 +/* 02FF50 8002F350 17210003 */ bne $t9, $at, .L8002F360_ovl0 +/* 02FF54 8002F354 02002025 */ move $a0, $s0 +/* 02FF58 8002F358 10000028 */ b .L8002F3FC_ovl0 +/* 02FF5C 8002F35C 2402000B */ li $v0, 11 +.L8002F360_ovl0: +/* 02FF60 8002F360 0C00D728 */ jal func_80035CA0 +/* 02FF64 8002F364 24050080 */ li $a1, 128 +/* 02FF68 8002F368 24010002 */ li $at, 2 +/* 02FF6C 8002F36C 14410002 */ bne $v0, $at, .L8002F378_ovl0 +/* 02FF70 8002F370 00401825 */ move $v1, $v0 +/* 02FF74 8002F374 24030004 */ li $v1, 4 +.L8002F378_ovl0: +/* 02FF78 8002F378 10600003 */ beqz $v1, .L8002F388_ovl0 +/* 02FF7C 8002F37C 8FA40048 */ lw $a0, 0x48($sp) +/* 02FF80 8002F380 1000001E */ b .L8002F3FC_ovl0 +/* 02FF84 8002F384 00601025 */ move $v0, $v1 +.L8002F388_ovl0: +/* 02FF88 8002F388 8FA50050 */ lw $a1, 0x50($sp) +/* 02FF8C 8002F38C 24060400 */ li $a2, 1024 +/* 02FF90 8002F390 0C00DCC8 */ jal func_80037320 +/* 02FF94 8002F394 27A70024 */ addiu $a3, $sp, 0x24 +/* 02FF98 8002F398 24010002 */ li $at, 2 +/* 02FF9C 8002F39C 14410002 */ bne $v0, $at, .L8002F3A8_ovl0 +/* 02FFA0 8002F3A0 00401825 */ move $v1, $v0 +/* 02FFA4 8002F3A4 24030004 */ li $v1, 4 +.L8002F3A8_ovl0: +/* 02FFA8 8002F3A8 10600003 */ beqz $v1, .L8002F3B8_ovl0 +/* 02FFAC 8002F3AC 93A80043 */ lbu $t0, 0x43($sp) +/* 02FFB0 8002F3B0 10000012 */ b .L8002F3FC_ovl0 +/* 02FFB4 8002F3B4 00601025 */ move $v0, $v1 +.L8002F3B8_ovl0: +/* 02FFB8 8002F3B8 24010080 */ li $at, 128 +/* 02FFBC 8002F3BC 51010004 */ beql $t0, $at, .L8002F3D0_ovl0 +/* 02FFC0 8002F3C0 8E090000 */ lw $t1, ($s0) +/* 02FFC4 8002F3C4 1000000D */ b .L8002F3FC_ovl0 +/* 02FFC8 8002F3C8 2402000B */ li $v0, 11 +/* 02FFCC 8002F3CC 8E090000 */ lw $t1, ($s0) +.L8002F3D0_ovl0: +/* 02FFD0 8002F3D0 8FA40050 */ lw $a0, 0x50($sp) +/* 02FFD4 8002F3D4 3C0D800A */ lui $t5, %hi(D_80098990) # $t5, 0x800a +/* 02FFD8 8002F3D8 312A0008 */ andi $t2, $t1, 8 +/* 02FFDC 8002F3DC 15400004 */ bnez $t2, .L8002F3F0_ovl0 +/* 02FFE0 8002F3E0 00046180 */ sll $t4, $a0, 6 +/* 02FFE4 8002F3E4 25AD8990 */ addiu $t5, %lo(D_80098990) # addiu $t5, $t5, -0x7670 +/* 02FFE8 8002F3E8 0C00BC6A */ jal func_8002F1A8 +/* 02FFEC 8002F3EC 018D2821 */ addu $a1, $t4, $t5 +.L8002F3F0_ovl0: +/* 02FFF0 8002F3F0 240E0008 */ li $t6, 8 +/* 02FFF4 8002F3F4 AE0E0000 */ sw $t6, ($s0) +/* 02FFF8 8002F3F8 00001025 */ move $v0, $zero +.L8002F3FC_ovl0: +/* 02FFFC 8002F3FC 8FBF001C */ lw $ra, 0x1c($sp) +/* 030000 8002F400 8FB00018 */ lw $s0, 0x18($sp) +/* 030004 8002F404 27BD0048 */ addiu $sp, $sp, 0x48 +/* 030008 8002F408 03E00008 */ jr $ra +/* 03000C 8002F40C 00000000 */ nop diff --git a/data/kirby.039DF0.0.5.c b/data/kirby.039DF0.0.5.c index b676fe71..657f7351 100644 --- a/data/kirby.039DF0.0.5.c +++ b/data/kirby.039DF0.0.5.c @@ -6,1700 +6,61 @@ #include "src/ovl0/main.h" #include "src/ovl0/ovl0_8.h" -extern long long int gspF3DEX2_fifoDataStart[]; -extern long long int gspF3DEX2_fifoTextStart[]; - -extern long long int gspL3DEX2_fifoDataStart[]; -extern long long int gspL3DEX2_fifoTextStart[]; - -extern long long int gspS2DEX2_fifoDataStart[]; -extern long long int gspS2DEX2_fifoTextStart[]; - -struct Overlay mainSegOverlay = { - _ovl1SegmentRomStart, - _ovl1DataSegmentRomEnd, - _ovl1SegmentStart, - _ovl1SegmentStart, - _ovl1SegmentEnd, - _ovl1SegmentEnd, - _ovl1DataSegmentEnd, - _ovl1SegNoloadStart, - _ovl1SegNoloadEnd, -}; - -u32 D_8003DC94 = 0x00000000; - -u32 D_8003DC98 = 0x00000000; - -u32 D_8003DC9C = 0x00000000; - -u32 D_8003DCA0 = 0x00000000; - -u32 D_8003DCA4 = 0x00000000; - -u32 D_8003DCA8 = 0x00000000; - -void* D_8003DCAC = gspF3DEX2_fifoTextStart; - -void* D_8003DCB0 = gspF3DEX2_fifoDataStart; - -u32 D_8003DCB4 = 0x00000000; - -u32 D_8003DCB8 = 0x00000000; - -u32 D_8003DCBC = 0x00000000; - -u32 D_8003DCC0 = 0x00000000; - -u32 D_8003DCC4 = 0x00000000; - -u32 D_8003DCC8 = 0x00000000; - -u32 D_8003DCCC = 0x00000000; - -u32 D_8003DCD0 = 0x00000000; - -u32 D_8003DCD4 = 0x00000000; - -u32 D_8003DCD8 = 0x00000000; - -u32 D_8003DCDC = 0x00000000; - -u32 D_8003DCE0 = 0x00000000; - -u32 D_8003DCE4 = 0x00000000; - -u32 D_8003DCE8 = 0x00000000; - -void* D_8003DCEC = gspL3DEX2_fifoTextStart; - -void* D_8003DCF0 = gspL3DEX2_fifoDataStart; - -u32 D_8003DCF4 = 0x00000000; - -u32 D_8003DCF8 = 0x00000000; - -void* D_8003DCFC = gspS2DEX2_fifoTextStart; - -void* D_8003DD00 = gspS2DEX2_fifoDataStart; - -u32 D_8003DD04 = 0x00000000; - -u32 D_8003DD08 = 0x00000000; - -u32 D_8003DD0C = 0x00000000; - -u32 D_8003DD10 = 0x00000000; - -u32 D_8003DD14 = 0x00000000; - -u32 D_8003DD18 = 0x00000000; - -u32 D_8003DD1C = 0x00000000; - -u32 D_8003DD20 = 0x00000000; - -u32 D_8003DD24 = 0x00000000; - -u32 D_8003DD28 = 0x00000000; - -u32 D_8003DD2C = 0x00000000; - -void (*gScissorCallback)(Gfx **) = NULL; - -u32 D_8003DD34 = 0x00000000; - -Mtx identityMatrix = { - 65536, 0, 1, 0, - 0, 65536, 0, 1, - 0, 0, 0, 0, - 0, 0, 0, 0, -}; - -extern Vp gViewport; - -Gfx resetRDPDisplayList[] = { - gsDPPipeSync(), - gsSPViewport(&gViewport), - gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH), - gsSPClipRatio(FRUSTRATIO_1), - gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_OFF), - gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH), - gsSPMatrix(&identityMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION), - gsSPMatrix(&identityMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPPipelineMode(G_PM_NPRIMITIVE), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsDPSetTextureLOD(G_TL_TILE), - gsDPSetTextureLUT(G_TT_NONE), - gsDPSetTextureDetail(G_TD_CLAMP), - gsDPSetTexturePersp(G_TP_PERSP), - gsDPSetTextureFilter(G_TF_BILERP), - gsDPSetTextureConvert(G_TC_FILT), - gsDPSetCombineKey(G_CK_NONE), - gsDPSetAlphaCompare(G_AC_NONE), - gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2), - gsDPSetColorDither(G_CD_MAGICSQ), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - -u32 D_8003DE48 = 0x00000000; - -u32 D_8003DE4C = 0x00000000; - -u32 D_8003DE50 = 10000000; - -u32 D_8003DE54 = 0x00000000; - -u32 D_8003DE58 = 0x00000000; - -u32 D_8003DE5C = 0x00000000; - -f32 D_8003DE60 = 30.0f; - -f32 D_8003DE64 = 4.0f / 3.0f; - -f32 D_8003DE68 = 100.0f; - -f32 D_8003DE6C = 12800.0f; - -f32 D_8003DE70 = 1.0f; - -u32 D_8003DE74 = 0x00000000; - -f32 D_8003DE78 = -160.0f; - -f32 D_8003DE7C = 160.0f; - -f32 D_8003DE80 = -120.0f; - -f32 D_8003DE84 = 120.0f; - -f32 D_8003DE88 = 100.0f; - -f32 D_8003DE8C = 12800.0f; - -f32 D_8003DE90 = 1.0f; - -u32 D_8003DE94 = 0x00000000; - -u32 D_8003DE98 = 0x00000000; - -u32 D_8003DE9C = 0x00000000; - -f32 D_8003DEA0 = 1500.0f; - -u32 D_8003DEA4 = 0x00000000; - -u32 D_8003DEA8 = 0x00000000; - -u32 D_8003DEAC = 0x00000000; - -u32 D_8003DEB0 = 0x00000000; - -f32 D_8003DEB4 = 1.0f; - -u32 D_8003DEB8 = 0x00000000; - -u32 D_8003DEBC = 0x00000000; - -u32 D_8003DEC0 = 0x00000000; - -u32 D_8003DEC4 = 0x00000000; - -u32 D_8003DEC8 = 0x00000000; - -u32 D_8003DECC = 0x00000000; - -u32 D_8003DED0 = 0x00000000; - -u32 D_8003DED4 = 0x00000000; - -u32 D_8003DED8 = 0x00000000; - -f32 D_8003DEDC = 1.0f; - -u32 D_8003DEE0 = 0x00000000; - -u32 D_8003DEE4 = 0x00000000; - -u32 D_8003DEE8 = 0x00000000; - -u32 D_8003DEEC = 0x00000000; - -u32 D_8003DEF0 = 0x00000000; - -u32 D_8003DEF4 = 0x00000000; - -f32 D_8003DEF8 = 1.0f; - -f32 D_8003DEFC = 1.0f; - -f32 D_8003DF00 = 1.0f; - -u32 D_8003DF04 = 0x00000000; - -u32 D_8003DF08 = 0x00000000; - -u32 D_8003DF0C = 0x00000000; - -u32 D_8003DF10 = 0x0000000A; - -u32 D_8003DF14 = 0x0000000A; - -u32 D_8003DF18 = 0x0000000A; - -u32 D_8003DF1C = 0x0000000A; - -u8 D_8003DF20[0x400] = { - 0x2B, 0xE6, 0xDB, 0xB9, 0xB1, 0xF3, 0x53, 0x81, 0x37, 0x01, 0x7F, 0x44, 0x23, 0x3C, 0x11, 0xD0, - 0x48, 0x80, 0xD2, 0x15, 0x6A, 0x70, 0x9B, 0x9E, 0x27, 0x51, 0xB0, 0x4B, 0x6A, 0xDB, 0x1E, 0xFF, - 0x2D, 0xBC, 0x5B, 0x38, 0x6D, 0xCA, 0xAA, 0xF5, 0xCB, 0x42, 0x56, 0x96, 0x0F, 0x28, 0x6A, 0x59, - 0x08, 0x08, 0xB5, 0x1B, 0xA4, 0xEC, 0xAD, 0x8B, 0x7E, 0xD9, 0x6F, 0x4E, 0x8E, 0x40, 0x92, 0xA2, - 0x7F, 0x27, 0x88, 0x8D, 0x65, 0x5B, 0x3A, 0xF6, 0xA2, 0x41, 0xC8, 0xA6, 0x4A, 0xA6, 0xDE, 0x28, - 0x8C, 0x48, 0xD7, 0x90, 0x9B, 0xAB, 0xAB, 0x73, 0x9A, 0x44, 0x6F, 0x73, 0xF7, 0xE4, 0x15, 0x04, - 0xE6, 0xFF, 0xD8, 0xCD, 0xE7, 0xA9, 0x1D, 0x56, 0x4B, 0xEE, 0xD5, 0xBE, 0x32, 0x93, 0xCF, 0x7F, - 0x39, 0x4D, 0xA8, 0x15, 0x32, 0xF7, 0x68, 0x67, 0x9B, 0x6F, 0xD6, 0x84, 0x30, 0xE3, 0xDE, 0x52, - 0x5C, 0x09, 0x34, 0x54, 0xAB, 0x76, 0x03, 0x5A, 0xDE, 0xE0, 0xE4, 0xA0, 0x49, 0xAF, 0x0B, 0x7B, - 0x54, 0x2C, 0x82, 0xBC, 0xF4, 0xCE, 0xA4, 0x0A, 0x99, 0x42, 0x5C, 0xD0, 0x67, 0xAC, 0x46, 0x1C, - 0x05, 0x09, 0x4C, 0x87, 0x64, 0x61, 0x5D, 0x57, 0x4E, 0x13, 0x39, 0x67, 0x7D, 0x02, 0x26, 0x2A, - 0x04, 0x49, 0xAE, 0xC3, 0x69, 0x7B, 0x52, 0xEC, 0x7D, 0xA7, 0x45, 0x0F, 0xB4, 0x12, 0xAE, 0x44, - 0xA5, 0x1A, 0x22, 0xBC, 0xF3, 0xD0, 0x35, 0x3A, 0x50, 0x43, 0xEB, 0x94, 0x66, 0x9D, 0x85, 0xBB, - 0x0C, 0x02, 0xD9, 0x0B, 0xC5, 0xE8, 0xB2, 0x1D, 0x1A, 0x20, 0x66, 0x25, 0xAE, 0xF9, 0x33, 0xEF, - 0xD8, 0x1F, 0xA1, 0xDF, 0x68, 0xFB, 0xB0, 0xC5, 0x91, 0xA5, 0x24, 0x8D, 0xCC, 0xC1, 0x06, 0xA2, - 0x5D, 0xFD, 0x50, 0x45, 0xE6, 0x75, 0x4A, 0x5E, 0x02, 0xB7, 0x6C, 0xFE, 0x81, 0xB8, 0x93, 0x8C, - 0x4C, 0x29, 0x1F, 0xB1, 0x9A, 0xFA, 0x85, 0x23, 0xCE, 0x43, 0x04, 0x76, 0x5B, 0x14, 0xAF, 0x32, - 0xDA, 0xF7, 0x48, 0xBF, 0x0C, 0x3F, 0x30, 0x6D, 0x86, 0x2C, 0xE2, 0xA3, 0x31, 0x0D, 0xFF, 0xD3, - 0xF0, 0x76, 0x7B, 0x89, 0xED, 0xAA, 0x97, 0x0E, 0x45, 0xB3, 0x5B, 0xAB, 0x92, 0xB5, 0x79, 0xD3, - 0xCC, 0xFA, 0x4C, 0x7E, 0xA0, 0x25, 0x1A, 0xED, 0x56, 0xF4, 0xBE, 0xCA, 0xF2, 0xD7, 0x00, 0x6A, - 0xF3, 0x62, 0xC0, 0xBF, 0xB3, 0x56, 0x46, 0x50, 0x91, 0x69, 0x65, 0x5C, 0xC2, 0xDB, 0xE1, 0x8E, - 0x79, 0x03, 0xD9, 0xAC, 0xED, 0x10, 0xBB, 0x5E, 0x8B, 0xC1, 0xE5, 0xD4, 0xF1, 0xD7, 0x78, 0x6E, - 0x4D, 0x44, 0x01, 0x80, 0xDC, 0xB1, 0x0A, 0x97, 0x72, 0x1E, 0x5D, 0xB4, 0x99, 0xC0, 0xB0, 0x20, - 0x04, 0x39, 0xF6, 0xC1, 0xF7, 0x2B, 0x3D, 0x45, 0x59, 0xEC, 0x53, 0x4F, 0x9A, 0x86, 0xE5, 0x06, - 0x55, 0x80, 0x40, 0x9C, 0x86, 0x83, 0x90, 0x2D, 0x9B, 0xD1, 0xEF, 0xB9, 0x68, 0xDC, 0x93, 0x1D, - 0xC2, 0x6C, 0xB6, 0xE2, 0xCF, 0x28, 0x10, 0xB6, 0x16, 0x52, 0x33, 0x60, 0xDB, 0x82, 0x41, 0xD0, - 0xFD, 0x47, 0x1C, 0x35, 0x58, 0x94, 0x58, 0xE5, 0xBB, 0x58, 0xA2, 0x4C, 0x64, 0xCE, 0xCA, 0x94, - 0x13, 0x47, 0x6F, 0xA7, 0xF8, 0x5E, 0xC4, 0x3B, 0x76, 0x85, 0x01, 0x61, 0x26, 0x13, 0x28, 0x23, - 0x52, 0xFB, 0x19, 0x89, 0x35, 0xEA, 0xDD, 0x88, 0xE7, 0xBE, 0xA9, 0x2F, 0xD5, 0x82, 0x9C, 0x51, - 0x7F, 0x51, 0x29, 0x31, 0xDA, 0xF9, 0xFA, 0x2A, 0x06, 0xC2, 0xE3, 0x14, 0xD5, 0xEC, 0x79, 0xE9, - 0xDD, 0x75, 0x72, 0x37, 0x84, 0xFE, 0x7D, 0x72, 0x8E, 0xCD, 0xF5, 0xC3, 0xA8, 0xBA, 0xD8, 0xC6, - 0xD4, 0x42, 0x0B, 0xEE, 0x1B, 0xE0, 0xFE, 0xF0, 0xD7, 0xA6, 0xC6, 0x22, 0x12, 0x25, 0x49, 0x81, - 0xC0, 0x9F, 0x33, 0x9F, 0x38, 0xB7, 0x3C, 0x38, 0x42, 0xE2, 0xCB, 0xA9, 0x17, 0x03, 0x4E, 0xD3, - 0xF5, 0xE9, 0x77, 0x0E, 0xA8, 0x08, 0x3D, 0x47, 0x86, 0x98, 0xDA, 0x20, 0xD6, 0x9F, 0x7D, 0xFC, - 0xEE, 0xD6, 0x14, 0x5F, 0xFC, 0x5F, 0x46, 0xDF, 0xF2, 0x87, 0x39, 0x19, 0xA1, 0x62, 0x65, 0xA7, - 0x51, 0x64, 0x20, 0x7E, 0x77, 0xFD, 0xC9, 0xA7, 0x80, 0x5F, 0xFB, 0x41, 0xA0, 0xBD, 0x9D, 0x83, - 0xFC, 0xDF, 0xF0, 0xE3, 0x05, 0x60, 0xA6, 0xBB, 0xD9, 0xB0, 0x59, 0x43, 0xFF, 0xD1, 0x30, 0x7C, - 0xB2, 0xAF, 0x8D, 0x8C, 0xC7, 0x53, 0xF1, 0x47, 0x92, 0x38, 0xA3, 0x57, 0x9C, 0x0A, 0x72, 0x95, - 0x4A, 0x7C, 0xE4, 0xBF, 0x84, 0x49, 0x15, 0x2E, 0x2D, 0x0C, 0x68, 0x7C, 0x3B, 0x84, 0xEF, 0x05, - 0x1C, 0x78, 0x78, 0x2E, 0x6B, 0x11, 0x1D, 0x27, 0x3D, 0x87, 0x61, 0x1B, 0x3C, 0x93, 0x5A, 0x99, - 0xE8, 0x89, 0x95, 0xD2, 0xE1, 0x3B, 0x0C, 0x99, 0x11, 0x9F, 0x67, 0x3C, 0xC7, 0x98, 0xF2, 0x8B, - 0xCD, 0x21, 0x66, 0x19, 0x73, 0x96, 0xEB, 0xAA, 0x89, 0xCB, 0x4B, 0x8F, 0x33, 0xA5, 0x74, 0x4B, - 0x2F, 0xA1, 0x2A, 0x55, 0x48, 0x5A, 0xAD, 0x13, 0x0A, 0x43, 0xB4, 0xFA, 0xD5, 0x3F, 0xAC, 0x79, - 0x85, 0xD6, 0x9E, 0x9D, 0x60, 0x73, 0x74, 0xB2, 0x98, 0xE1, 0xBA, 0xB2, 0x6B, 0x29, 0xEB, 0x71, - 0x7B, 0xF2, 0x40, 0x37, 0x12, 0x90, 0x1F, 0x9D, 0x62, 0x1E, 0xAE, 0x6C, 0x3A, 0x8B, 0xCB, 0x1E, - 0x71, 0xBD, 0x2C, 0x9C, 0xBE, 0x8E, 0x10, 0x98, 0x70, 0xD4, 0x11, 0x4F, 0x07, 0x2F, 0x8F, 0x09, - 0x57, 0xE8, 0x0D, 0x3E, 0xC2, 0xDC, 0xA1, 0xF5, 0x6C, 0x46, 0x24, 0x26, 0x16, 0x8A, 0xEA, 0xED, - 0x1F, 0x00, 0x74, 0x00, 0x18, 0x2F, 0xF6, 0xCC, 0xC6, 0x02, 0x78, 0xC7, 0xB8, 0x2C, 0x2A, 0xE3, - 0x91, 0xD4, 0xFC, 0xF4, 0xCF, 0x7A, 0x3D, 0xC3, 0x14, 0xCC, 0x3F, 0xA0, 0xDE, 0x22, 0x0D, 0x1A, - 0x6D, 0xBD, 0xD1, 0x27, 0xBA, 0x6D, 0x08, 0x4D, 0x50, 0x07, 0xE7, 0x6B, 0x71, 0x36, 0x8C, 0x35, - 0x18, 0x2B, 0xFD, 0xA8, 0x74, 0x7A, 0xB9, 0x0E, 0x3B, 0x5D, 0x17, 0xBF, 0xB3, 0x3A, 0x00, 0x83, - 0xEF, 0x26, 0xF6, 0x2D, 0x31, 0xF9, 0x9E, 0xC1, 0xC9, 0x58, 0xE7, 0xC7, 0x41, 0x71, 0x36, 0x07, - 0xB7, 0x63, 0x29, 0xFB, 0x06, 0x63, 0x05, 0x0B, 0xF0, 0x88, 0x1B, 0x6B, 0x4F, 0xB8, 0xD8, 0x75, - 0x34, 0x70, 0x21, 0x92, 0xE2, 0x95, 0xC6, 0x70, 0x63, 0xDA, 0xEA, 0xB4, 0x77, 0xBC, 0xCF, 0x3E, - 0xC9, 0xE0, 0xC4, 0x65, 0xE0, 0xC5, 0x40, 0xEA, 0xC8, 0xF1, 0xF8, 0xD3, 0x34, 0x32, 0x54, 0x61, - 0x5F, 0xAD, 0x6E, 0x34, 0x17, 0xA3, 0x2E, 0xB3, 0xA3, 0xC3, 0x5C, 0xD2, 0x54, 0x16, 0x5A, 0x55, - 0xAC, 0x94, 0xAD, 0x53, 0xAA, 0x96, 0xCA, 0xEE, 0x64, 0x30, 0xB7, 0x87, 0x82, 0x36, 0xF1, 0xDD, - 0x31, 0x69, 0xCD, 0xA9, 0x91, 0xA5, 0x18, 0xC5, 0xF9, 0xE4, 0x8F, 0x97, 0x90, 0xE6, 0xCE, 0x23, - 0xB8, 0x59, 0x0D, 0xB1, 0x95, 0x4E, 0x2E, 0xB5, 0x8A, 0x57, 0x7C, 0xC9, 0x77, 0x88, 0xC4, 0x21, - 0x7A, 0xFE, 0x75, 0x83, 0x81, 0x63, 0x10, 0x3E, 0xB6, 0x0F, 0x7E, 0x36, 0x5E, 0x62, 0x6E, 0xD2, - 0x55, 0x19, 0x4F, 0x16, 0xC4, 0xBA, 0xA4, 0xAF, 0xE9, 0xB9, 0x0E, 0x25, 0x9A, 0xF8, 0x09, 0x0F, - 0x03, 0x12, 0xBD, 0x7A, 0xB6, 0xE9, 0x3E, 0x37, 0x24, 0x8A, 0xF8, 0x97, 0xF3, 0xE8, 0x4D, 0xE5, - 0x4A, 0x60, 0x3F, 0xA4, 0x2B, 0x24, 0xC0, 0xDC, 0x17, 0x66, 0x69, 0x21, 0xB5, 0x8F, 0x8D, 0x6E, - 0x96, 0x07, 0xF4, 0xD1, 0x1C, 0xC8, 0xE1, 0x18, 0xDD, 0xEB, 0x22, 0x01, 0x9E, 0xDF, 0xC8, 0x8A, -}; - -u32 D_8003E320 = 0x00000000; - -u32 D_8003E324 = 0x00000001; - -u32 D_8003E328 = 0x00000000; - -u32 D_8003E32C = 0x00000000; - -s16 D_8003E330[0x800] = { - 0x0000, 0x0032, 0x0064, 0x0096, 0x00C9, 0x00FB, 0x012D, 0x015F, - 0x0192, 0x01C4, 0x01F6, 0x0228, 0x025B, 0x028D, 0x02BF, 0x02F1, - 0x0324, 0x0356, 0x0388, 0x03BA, 0x03ED, 0x041F, 0x0451, 0x0483, - 0x04B6, 0x04E8, 0x051A, 0x054C, 0x057F, 0x05B1, 0x05E3, 0x0615, - 0x0647, 0x067A, 0x06AC, 0x06DE, 0x0710, 0x0742, 0x0775, 0x07A7, - 0x07D9, 0x080B, 0x083D, 0x086F, 0x08A2, 0x08D4, 0x0906, 0x0938, - 0x096A, 0x099C, 0x09CE, 0x0A00, 0x0A33, 0x0A65, 0x0A97, 0x0AC9, - 0x0AFB, 0x0B2D, 0x0B5F, 0x0B91, 0x0BC3, 0x0BF5, 0x0C27, 0x0C59, - 0x0C8B, 0x0CBD, 0x0CEF, 0x0D21, 0x0D53, 0x0D85, 0x0DB7, 0x0DE9, - 0x0E1B, 0x0E4D, 0x0E7F, 0x0EB1, 0x0EE3, 0x0F15, 0x0F47, 0x0F79, - 0x0FAB, 0x0FDD, 0x100E, 0x1040, 0x1072, 0x10A4, 0x10D6, 0x1108, - 0x1139, 0x116B, 0x119D, 0x11CF, 0x1201, 0x1232, 0x1264, 0x1296, - 0x12C8, 0x12F9, 0x132B, 0x135D, 0x138E, 0x13C0, 0x13F2, 0x1423, - 0x1455, 0x1487, 0x14B8, 0x14EA, 0x151B, 0x154D, 0x157F, 0x15B0, - 0x15E2, 0x1613, 0x1645, 0x1676, 0x16A8, 0x16D9, 0x170A, 0x173C, - 0x176D, 0x179F, 0x17D0, 0x1802, 0x1833, 0x1864, 0x1896, 0x18C7, - 0x18F8, 0x192A, 0x195B, 0x198C, 0x19BD, 0x19EF, 0x1A20, 0x1A51, - 0x1A82, 0x1AB3, 0x1AE4, 0x1B16, 0x1B47, 0x1B78, 0x1BA9, 0x1BDA, - 0x1C0B, 0x1C3C, 0x1C6D, 0x1C9E, 0x1CCF, 0x1D00, 0x1D31, 0x1D62, - 0x1D93, 0x1DC4, 0x1DF5, 0x1E25, 0x1E56, 0x1E87, 0x1EB8, 0x1EE9, - 0x1F19, 0x1F4A, 0x1F7B, 0x1FAC, 0x1FDC, 0x200D, 0x203E, 0x206E, - 0x209F, 0x20D0, 0x2100, 0x2131, 0x2161, 0x2192, 0x21C2, 0x21F3, - 0x2223, 0x2254, 0x2284, 0x22B4, 0x22E5, 0x2315, 0x2345, 0x2376, - 0x23A6, 0x23D6, 0x2407, 0x2437, 0x2467, 0x2497, 0x24C7, 0x24F7, - 0x2528, 0x2558, 0x2588, 0x25B8, 0x25E8, 0x2618, 0x2648, 0x2678, - 0x26A8, 0x26D8, 0x2707, 0x2737, 0x2767, 0x2797, 0x27C7, 0x27F6, - 0x2826, 0x2856, 0x2886, 0x28B5, 0x28E5, 0x2915, 0x2944, 0x2974, - 0x29A3, 0x29D3, 0x2A02, 0x2A32, 0x2A61, 0x2A91, 0x2AC0, 0x2AEF, - 0x2B1F, 0x2B4E, 0x2B7D, 0x2BAD, 0x2BDC, 0x2C0B, 0x2C3A, 0x2C69, - 0x2C98, 0x2CC8, 0x2CF7, 0x2D26, 0x2D55, 0x2D84, 0x2DB3, 0x2DE2, - 0x2E11, 0x2E3F, 0x2E6E, 0x2E9D, 0x2ECC, 0x2EFB, 0x2F29, 0x2F58, - 0x2F87, 0x2FB5, 0x2FE4, 0x3013, 0x3041, 0x3070, 0x309E, 0x30CD, - 0x30FB, 0x312A, 0x3158, 0x3186, 0x31B5, 0x31E3, 0x3211, 0x3240, - 0x326E, 0x329C, 0x32CA, 0x32F8, 0x3326, 0x3354, 0x3382, 0x33B0, - 0x33DE, 0x340C, 0x343A, 0x3468, 0x3496, 0x34C4, 0x34F2, 0x351F, - 0x354D, 0x357B, 0x35A8, 0x35D6, 0x3604, 0x3631, 0x365F, 0x368C, - 0x36BA, 0x36E7, 0x3714, 0x3742, 0x376F, 0x379C, 0x37CA, 0x37F7, - 0x3824, 0x3851, 0x387E, 0x38AB, 0x38D8, 0x3906, 0x3932, 0x395F, - 0x398C, 0x39B9, 0x39E6, 0x3A13, 0x3A40, 0x3A6C, 0x3A99, 0x3AC6, - 0x3AF2, 0x3B1F, 0x3B4C, 0x3B78, 0x3BA5, 0x3BD1, 0x3BFD, 0x3C2A, - 0x3C56, 0x3C83, 0x3CAF, 0x3CDB, 0x3D07, 0x3D33, 0x3D60, 0x3D8C, - 0x3DB8, 0x3DE4, 0x3E10, 0x3E3C, 0x3E68, 0x3E93, 0x3EBF, 0x3EEB, - 0x3F17, 0x3F43, 0x3F6E, 0x3F9A, 0x3FC5, 0x3FF1, 0x401D, 0x4048, - 0x4073, 0x409F, 0x40CA, 0x40F6, 0x4121, 0x414C, 0x4177, 0x41A2, - 0x41CE, 0x41F9, 0x4224, 0x424F, 0x427A, 0x42A5, 0x42D0, 0x42FA, - 0x4325, 0x4350, 0x437B, 0x43A5, 0x43D0, 0x43FB, 0x4425, 0x4450, - 0x447A, 0x44A5, 0x44CF, 0x44FA, 0x4524, 0x454E, 0x4578, 0x45A3, - 0x45CD, 0x45F7, 0x4621, 0x464B, 0x4675, 0x469F, 0x46C9, 0x46F3, - 0x471C, 0x4746, 0x4770, 0x479A, 0x47C3, 0x47ED, 0x4816, 0x4840, - 0x4869, 0x4893, 0x48BC, 0x48E6, 0x490F, 0x4938, 0x4961, 0x498A, - 0x49B4, 0x49DD, 0x4A06, 0x4A2F, 0x4A58, 0x4A81, 0x4AA9, 0x4AD2, - 0x4AFB, 0x4B24, 0x4B4C, 0x4B75, 0x4B9E, 0x4BC6, 0x4BEF, 0x4C17, - 0x4C3F, 0x4C68, 0x4C90, 0x4CB8, 0x4CE1, 0x4D09, 0x4D31, 0x4D59, - 0x4D81, 0x4DA9, 0x4DD1, 0x4DF9, 0x4E21, 0x4E48, 0x4E70, 0x4E98, - 0x4EBF, 0x4EE7, 0x4F0F, 0x4F36, 0x4F5E, 0x4F85, 0x4FAC, 0x4FD4, - 0x4FFB, 0x5022, 0x5049, 0x5070, 0x5097, 0x50BF, 0x50E5, 0x510C, - 0x5133, 0x515A, 0x5181, 0x51A8, 0x51CE, 0x51F5, 0x521C, 0x5242, - 0x5269, 0x528F, 0x52B5, 0x52DC, 0x5302, 0x5328, 0x534E, 0x5375, - 0x539B, 0x53C1, 0x53E7, 0x540D, 0x5433, 0x5458, 0x547E, 0x54A4, - 0x54CA, 0x54EF, 0x5515, 0x553A, 0x5560, 0x5585, 0x55AB, 0x55D0, - 0x55F5, 0x561A, 0x5640, 0x5665, 0x568A, 0x56AF, 0x56D4, 0x56F9, - 0x571D, 0x5742, 0x5767, 0x578C, 0x57B0, 0x57D5, 0x57F9, 0x581E, - 0x5842, 0x5867, 0x588B, 0x58AF, 0x58D4, 0x58F8, 0x591C, 0x5940, - 0x5964, 0x5988, 0x59AC, 0x59D0, 0x59F3, 0x5A17, 0x5A3B, 0x5A5E, - 0x5A82, 0x5AA5, 0x5AC9, 0x5AEC, 0x5B10, 0x5B33, 0x5B56, 0x5B79, - 0x5B9D, 0x5BC0, 0x5BE3, 0x5C06, 0x5C29, 0x5C4B, 0x5C6E, 0x5C91, - 0x5CB4, 0x5CD6, 0x5CF9, 0x5D1B, 0x5D3E, 0x5D60, 0x5D83, 0x5DA5, - 0x5DC7, 0x5DE9, 0x5E0B, 0x5E2D, 0x5E50, 0x5E71, 0x5E93, 0x5EB5, - 0x5ED7, 0x5EF9, 0x5F1A, 0x5F3C, 0x5F5E, 0x5F7F, 0x5FA0, 0x5FC2, - 0x5FE3, 0x6004, 0x6026, 0x6047, 0x6068, 0x6089, 0x60AA, 0x60CB, - 0x60EC, 0x610D, 0x612D, 0x614E, 0x616F, 0x618F, 0x61B0, 0x61D0, - 0x61F1, 0x6211, 0x6231, 0x6251, 0x6271, 0x6292, 0x62B2, 0x62D2, - 0x62F2, 0x6311, 0x6331, 0x6351, 0x6371, 0x6390, 0x63B0, 0x63CF, - 0x63EF, 0x640E, 0x642D, 0x644D, 0x646C, 0x648B, 0x64AA, 0x64C9, - 0x64E8, 0x6507, 0x6526, 0x6545, 0x6563, 0x6582, 0x65A0, 0x65BF, - 0x65DD, 0x65FC, 0x661A, 0x6639, 0x6657, 0x6675, 0x6693, 0x66B1, - 0x66CF, 0x66ED, 0x670B, 0x6729, 0x6746, 0x6764, 0x6782, 0x679F, - 0x67BD, 0x67DA, 0x67F7, 0x6815, 0x6832, 0x684F, 0x686C, 0x6889, - 0x68A6, 0x68C3, 0x68E0, 0x68FD, 0x6919, 0x6936, 0x6953, 0x696F, - 0x698C, 0x69A8, 0x69C4, 0x69E1, 0x69FD, 0x6A19, 0x6A35, 0x6A51, - 0x6A6D, 0x6A89, 0x6AA5, 0x6AC1, 0x6ADC, 0x6AF8, 0x6B13, 0x6B2F, - 0x6B4A, 0x6B66, 0x6B81, 0x6B9C, 0x6BB8, 0x6BD3, 0x6BEE, 0x6C09, - 0x6C24, 0x6C3F, 0x6C59, 0x6C74, 0x6C8F, 0x6CA9, 0x6CC4, 0x6CDE, - 0x6CF9, 0x6D13, 0x6D2D, 0x6D48, 0x6D62, 0x6D7C, 0x6D96, 0x6DB0, - 0x6DCA, 0x6DE3, 0x6DFD, 0x6E17, 0x6E30, 0x6E4A, 0x6E63, 0x6E7D, - 0x6E96, 0x6EAF, 0x6EC9, 0x6EE2, 0x6EFB, 0x6F14, 0x6F2D, 0x6F46, - 0x6F5F, 0x6F77, 0x6F90, 0x6FA9, 0x6FC1, 0x6FDA, 0x6FF2, 0x700A, - 0x7023, 0x703B, 0x7053, 0x706B, 0x7083, 0x709B, 0x70B3, 0x70CB, - 0x70E2, 0x70FA, 0x7112, 0x7129, 0x7141, 0x7158, 0x716F, 0x7186, - 0x719E, 0x71B5, 0x71CC, 0x71E3, 0x71FA, 0x7211, 0x7227, 0x723E, - 0x7255, 0x726B, 0x7282, 0x7298, 0x72AF, 0x72C5, 0x72DB, 0x72F1, - 0x7307, 0x731D, 0x7333, 0x7349, 0x735F, 0x7375, 0x738A, 0x73A0, - 0x73B5, 0x73CB, 0x73E0, 0x73F6, 0x740B, 0x7420, 0x7435, 0x744A, - 0x745F, 0x7474, 0x7489, 0x749E, 0x74B2, 0x74C7, 0x74DB, 0x74F0, - 0x7504, 0x7519, 0x752D, 0x7541, 0x7555, 0x7569, 0x757D, 0x7591, - 0x75A5, 0x75B9, 0x75CC, 0x75E0, 0x75F4, 0x7607, 0x761B, 0x762E, - 0x7641, 0x7654, 0x7668, 0x767B, 0x768E, 0x76A0, 0x76B3, 0x76C6, - 0x76D9, 0x76EB, 0x76FE, 0x7710, 0x7723, 0x7735, 0x7747, 0x775A, - 0x776C, 0x777E, 0x7790, 0x77A2, 0x77B4, 0x77C5, 0x77D7, 0x77E9, - 0x77FA, 0x780C, 0x781D, 0x782E, 0x7840, 0x7851, 0x7862, 0x7873, - 0x7884, 0x7895, 0x78A6, 0x78B6, 0x78C7, 0x78D8, 0x78E8, 0x78F9, - 0x7909, 0x7919, 0x792A, 0x793A, 0x794A, 0x795A, 0x796A, 0x797A, - 0x798A, 0x7999, 0x79A9, 0x79B9, 0x79C8, 0x79D8, 0x79E7, 0x79F6, - 0x7A05, 0x7A15, 0x7A24, 0x7A33, 0x7A42, 0x7A50, 0x7A5F, 0x7A6E, - 0x7A7D, 0x7A8B, 0x7A9A, 0x7AA8, 0x7AB6, 0x7AC5, 0x7AD3, 0x7AE1, - 0x7AEF, 0x7AFD, 0x7B0B, 0x7B19, 0x7B26, 0x7B34, 0x7B42, 0x7B4F, - 0x7B5D, 0x7B6A, 0x7B77, 0x7B84, 0x7B92, 0x7B9F, 0x7BAC, 0x7BB9, - 0x7BC5, 0x7BD2, 0x7BDF, 0x7BEB, 0x7BF8, 0x7C05, 0x7C11, 0x7C1D, - 0x7C29, 0x7C36, 0x7C42, 0x7C4E, 0x7C5A, 0x7C66, 0x7C71, 0x7C7D, - 0x7C89, 0x7C94, 0x7CA0, 0x7CAB, 0x7CB7, 0x7CC2, 0x7CCD, 0x7CD8, - 0x7CE3, 0x7CEE, 0x7CF9, 0x7D04, 0x7D0F, 0x7D19, 0x7D24, 0x7D2F, - 0x7D39, 0x7D43, 0x7D4E, 0x7D58, 0x7D62, 0x7D6C, 0x7D76, 0x7D80, - 0x7D8A, 0x7D94, 0x7D9D, 0x7DA7, 0x7DB0, 0x7DBA, 0x7DC3, 0x7DCD, - 0x7DD6, 0x7DDF, 0x7DE8, 0x7DF1, 0x7DFA, 0x7E03, 0x7E0C, 0x7E14, - 0x7E1D, 0x7E26, 0x7E2E, 0x7E37, 0x7E3F, 0x7E47, 0x7E4F, 0x7E57, - 0x7E5F, 0x7E67, 0x7E6F, 0x7E77, 0x7E7F, 0x7E86, 0x7E8E, 0x7E95, - 0x7E9D, 0x7EA4, 0x7EAB, 0x7EB3, 0x7EBA, 0x7EC1, 0x7EC8, 0x7ECF, - 0x7ED5, 0x7EDC, 0x7EE3, 0x7EE9, 0x7EF0, 0x7EF6, 0x7EFD, 0x7F03, - 0x7F09, 0x7F0F, 0x7F15, 0x7F1B, 0x7F21, 0x7F27, 0x7F2D, 0x7F32, - 0x7F38, 0x7F3D, 0x7F43, 0x7F48, 0x7F4D, 0x7F53, 0x7F58, 0x7F5D, - 0x7F62, 0x7F67, 0x7F6B, 0x7F70, 0x7F75, 0x7F79, 0x7F7E, 0x7F82, - 0x7F87, 0x7F8B, 0x7F8F, 0x7F93, 0x7F97, 0x7F9B, 0x7F9F, 0x7FA3, - 0x7FA7, 0x7FAA, 0x7FAE, 0x7FB1, 0x7FB5, 0x7FB8, 0x7FBC, 0x7FBF, - 0x7FC2, 0x7FC5, 0x7FC8, 0x7FCB, 0x7FCE, 0x7FD0, 0x7FD3, 0x7FD6, - 0x7FD8, 0x7FDA, 0x7FDD, 0x7FDF, 0x7FE1, 0x7FE3, 0x7FE5, 0x7FE7, - 0x7FE9, 0x7FEB, 0x7FED, 0x7FEE, 0x7FF0, 0x7FF2, 0x7FF3, 0x7FF4, - 0x7FF6, 0x7FF7, 0x7FF8, 0x7FF9, 0x7FFA, 0x7FFB, 0x7FFC, 0x7FFC, - 0x7FFD, 0x7FFE, 0x7FFE, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x8000, - 0x8000, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFE, 0x7FFE, 0x7FFD, - 0x7FFC, 0x7FFC, 0x7FFB, 0x7FFA, 0x7FF9, 0x7FF8, 0x7FF7, 0x7FF6, - 0x7FF4, 0x7FF3, 0x7FF2, 0x7FF0, 0x7FEE, 0x7FED, 0x7FEB, 0x7FE9, - 0x7FE7, 0x7FE5, 0x7FE3, 0x7FE1, 0x7FDF, 0x7FDD, 0x7FDA, 0x7FD8, - 0x7FD6, 0x7FD3, 0x7FD0, 0x7FCE, 0x7FCB, 0x7FC8, 0x7FC5, 0x7FC2, - 0x7FBF, 0x7FBC, 0x7FB8, 0x7FB5, 0x7FB1, 0x7FAE, 0x7FAA, 0x7FA7, - 0x7FA3, 0x7F9F, 0x7F9B, 0x7F97, 0x7F93, 0x7F8F, 0x7F8B, 0x7F87, - 0x7F82, 0x7F7E, 0x7F79, 0x7F75, 0x7F70, 0x7F6B, 0x7F67, 0x7F62, - 0x7F5D, 0x7F58, 0x7F53, 0x7F4D, 0x7F48, 0x7F43, 0x7F3D, 0x7F38, - 0x7F32, 0x7F2D, 0x7F27, 0x7F21, 0x7F1B, 0x7F15, 0x7F0F, 0x7F09, - 0x7F03, 0x7EFD, 0x7EF6, 0x7EF0, 0x7EE9, 0x7EE3, 0x7EDC, 0x7ED5, - 0x7ECF, 0x7EC8, 0x7EC1, 0x7EBA, 0x7EB3, 0x7EAB, 0x7EA4, 0x7E9D, - 0x7E95, 0x7E8E, 0x7E86, 0x7E7F, 0x7E77, 0x7E6F, 0x7E67, 0x7E5F, - 0x7E57, 0x7E4F, 0x7E47, 0x7E3F, 0x7E37, 0x7E2E, 0x7E26, 0x7E1D, - 0x7E14, 0x7E0C, 0x7E03, 0x7DFA, 0x7DF1, 0x7DE8, 0x7DDF, 0x7DD6, - 0x7DCD, 0x7DC3, 0x7DBA, 0x7DB0, 0x7DA7, 0x7D9D, 0x7D94, 0x7D8A, - 0x7D80, 0x7D76, 0x7D6C, 0x7D62, 0x7D58, 0x7D4E, 0x7D43, 0x7D39, - 0x7D2F, 0x7D24, 0x7D19, 0x7D0F, 0x7D04, 0x7CF9, 0x7CEE, 0x7CE3, - 0x7CD8, 0x7CCD, 0x7CC2, 0x7CB7, 0x7CAB, 0x7CA0, 0x7C94, 0x7C89, - 0x7C7D, 0x7C71, 0x7C66, 0x7C5A, 0x7C4E, 0x7C42, 0x7C36, 0x7C29, - 0x7C1D, 0x7C11, 0x7C05, 0x7BF8, 0x7BEB, 0x7BDF, 0x7BD2, 0x7BC5, - 0x7BB9, 0x7BAC, 0x7B9F, 0x7B92, 0x7B84, 0x7B77, 0x7B6A, 0x7B5D, - 0x7B4F, 0x7B42, 0x7B34, 0x7B26, 0x7B19, 0x7B0B, 0x7AFD, 0x7AEF, - 0x7AE1, 0x7AD3, 0x7AC5, 0x7AB6, 0x7AA8, 0x7A9A, 0x7A8B, 0x7A7D, - 0x7A6E, 0x7A5F, 0x7A50, 0x7A42, 0x7A33, 0x7A24, 0x7A15, 0x7A05, - 0x79F6, 0x79E7, 0x79D8, 0x79C8, 0x79B9, 0x79A9, 0x7999, 0x798A, - 0x797A, 0x796A, 0x795A, 0x794A, 0x793A, 0x792A, 0x7919, 0x7909, - 0x78F9, 0x78E8, 0x78D8, 0x78C7, 0x78B6, 0x78A6, 0x7895, 0x7884, - 0x7873, 0x7862, 0x7851, 0x7840, 0x782E, 0x781D, 0x780C, 0x77FA, - 0x77E9, 0x77D7, 0x77C5, 0x77B4, 0x77A2, 0x7790, 0x777E, 0x776C, - 0x775A, 0x7747, 0x7735, 0x7723, 0x7710, 0x76FE, 0x76EB, 0x76D9, - 0x76C6, 0x76B3, 0x76A0, 0x768E, 0x767B, 0x7668, 0x7654, 0x7641, - 0x762E, 0x761B, 0x7607, 0x75F4, 0x75E0, 0x75CC, 0x75B9, 0x75A5, - 0x7591, 0x757D, 0x7569, 0x7555, 0x7541, 0x752D, 0x7519, 0x7504, - 0x74F0, 0x74DB, 0x74C7, 0x74B2, 0x749E, 0x7489, 0x7474, 0x745F, - 0x744A, 0x7435, 0x7420, 0x740B, 0x73F6, 0x73E0, 0x73CB, 0x73B5, - 0x73A0, 0x738A, 0x7375, 0x735F, 0x7349, 0x7333, 0x731D, 0x7307, - 0x72F1, 0x72DB, 0x72C5, 0x72AF, 0x7298, 0x7282, 0x726B, 0x7255, - 0x723E, 0x7227, 0x7211, 0x71FA, 0x71E3, 0x71CC, 0x71B5, 0x719E, - 0x7186, 0x716F, 0x7158, 0x7141, 0x7129, 0x7112, 0x70FA, 0x70E2, - 0x70CB, 0x70B3, 0x709B, 0x7083, 0x706B, 0x7053, 0x703B, 0x7023, - 0x700A, 0x6FF2, 0x6FDA, 0x6FC1, 0x6FA9, 0x6F90, 0x6F77, 0x6F5F, - 0x6F46, 0x6F2D, 0x6F14, 0x6EFB, 0x6EE2, 0x6EC9, 0x6EAF, 0x6E96, - 0x6E7D, 0x6E63, 0x6E4A, 0x6E30, 0x6E17, 0x6DFD, 0x6DE3, 0x6DCA, - 0x6DB0, 0x6D96, 0x6D7C, 0x6D62, 0x6D48, 0x6D2D, 0x6D13, 0x6CF9, - 0x6CDE, 0x6CC4, 0x6CA9, 0x6C8F, 0x6C74, 0x6C59, 0x6C3F, 0x6C24, - 0x6C09, 0x6BEE, 0x6BD3, 0x6BB8, 0x6B9C, 0x6B81, 0x6B66, 0x6B4A, - 0x6B2F, 0x6B13, 0x6AF8, 0x6ADC, 0x6AC1, 0x6AA5, 0x6A89, 0x6A6D, - 0x6A51, 0x6A35, 0x6A19, 0x69FD, 0x69E1, 0x69C4, 0x69A8, 0x698C, - 0x696F, 0x6953, 0x6936, 0x6919, 0x68FD, 0x68E0, 0x68C3, 0x68A6, - 0x6889, 0x686C, 0x684F, 0x6832, 0x6815, 0x67F7, 0x67DA, 0x67BD, - 0x679F, 0x6782, 0x6764, 0x6746, 0x6729, 0x670B, 0x66ED, 0x66CF, - 0x66B1, 0x6693, 0x6675, 0x6657, 0x6639, 0x661A, 0x65FC, 0x65DD, - 0x65BF, 0x65A0, 0x6582, 0x6563, 0x6545, 0x6526, 0x6507, 0x64E8, - 0x64C9, 0x64AA, 0x648B, 0x646C, 0x644D, 0x642D, 0x640E, 0x63EF, - 0x63CF, 0x63B0, 0x6390, 0x6371, 0x6351, 0x6331, 0x6311, 0x62F2, - 0x62D2, 0x62B2, 0x6292, 0x6271, 0x6251, 0x6231, 0x6211, 0x61F1, - 0x61D0, 0x61B0, 0x618F, 0x616F, 0x614E, 0x612D, 0x610D, 0x60EC, - 0x60CB, 0x60AA, 0x6089, 0x6068, 0x6047, 0x6026, 0x6004, 0x5FE3, - 0x5FC2, 0x5FA0, 0x5F7F, 0x5F5E, 0x5F3C, 0x5F1A, 0x5EF9, 0x5ED7, - 0x5EB5, 0x5E93, 0x5E71, 0x5E50, 0x5E2D, 0x5E0B, 0x5DE9, 0x5DC7, - 0x5DA5, 0x5D83, 0x5D60, 0x5D3E, 0x5D1B, 0x5CF9, 0x5CD6, 0x5CB4, - 0x5C91, 0x5C6E, 0x5C4B, 0x5C29, 0x5C06, 0x5BE3, 0x5BC0, 0x5B9D, - 0x5B79, 0x5B56, 0x5B33, 0x5B10, 0x5AEC, 0x5AC9, 0x5AA5, 0x5A82, - 0x5A5E, 0x5A3B, 0x5A17, 0x59F3, 0x59D0, 0x59AC, 0x5988, 0x5964, - 0x5940, 0x591C, 0x58F8, 0x58D4, 0x58AF, 0x588B, 0x5867, 0x5842, - 0x581E, 0x57F9, 0x57D5, 0x57B0, 0x578C, 0x5767, 0x5742, 0x571D, - 0x56F9, 0x56D4, 0x56AF, 0x568A, 0x5665, 0x5640, 0x561A, 0x55F5, - 0x55D0, 0x55AB, 0x5585, 0x5560, 0x553A, 0x5515, 0x54EF, 0x54CA, - 0x54A4, 0x547E, 0x5458, 0x5433, 0x540D, 0x53E7, 0x53C1, 0x539B, - 0x5375, 0x534E, 0x5328, 0x5302, 0x52DC, 0x52B5, 0x528F, 0x5269, - 0x5242, 0x521C, 0x51F5, 0x51CE, 0x51A8, 0x5181, 0x515A, 0x5133, - 0x510C, 0x50E5, 0x50BF, 0x5097, 0x5070, 0x5049, 0x5022, 0x4FFB, - 0x4FD4, 0x4FAC, 0x4F85, 0x4F5E, 0x4F36, 0x4F0F, 0x4EE7, 0x4EBF, - 0x4E98, 0x4E70, 0x4E48, 0x4E21, 0x4DF9, 0x4DD1, 0x4DA9, 0x4D81, - 0x4D59, 0x4D31, 0x4D09, 0x4CE1, 0x4CB8, 0x4C90, 0x4C68, 0x4C3F, - 0x4C17, 0x4BEF, 0x4BC6, 0x4B9E, 0x4B75, 0x4B4C, 0x4B24, 0x4AFB, - 0x4AD2, 0x4AA9, 0x4A81, 0x4A58, 0x4A2F, 0x4A06, 0x49DD, 0x49B4, - 0x498A, 0x4961, 0x4938, 0x490F, 0x48E6, 0x48BC, 0x4893, 0x4869, - 0x4840, 0x4816, 0x47ED, 0x47C3, 0x479A, 0x4770, 0x4746, 0x471C, - 0x46F3, 0x46C9, 0x469F, 0x4675, 0x464B, 0x4621, 0x45F7, 0x45CD, - 0x45A3, 0x4578, 0x454E, 0x4524, 0x44FA, 0x44CF, 0x44A5, 0x447A, - 0x4450, 0x4425, 0x43FB, 0x43D0, 0x43A5, 0x437B, 0x4350, 0x4325, - 0x42FA, 0x42D0, 0x42A5, 0x427A, 0x424F, 0x4224, 0x41F9, 0x41CE, - 0x41A2, 0x4177, 0x414C, 0x4121, 0x40F6, 0x40CA, 0x409F, 0x4073, - 0x4048, 0x401D, 0x3FF1, 0x3FC5, 0x3F9A, 0x3F6E, 0x3F43, 0x3F17, - 0x3EEB, 0x3EBF, 0x3E93, 0x3E68, 0x3E3C, 0x3E10, 0x3DE4, 0x3DB8, - 0x3D8C, 0x3D60, 0x3D33, 0x3D07, 0x3CDB, 0x3CAF, 0x3C83, 0x3C56, - 0x3C2A, 0x3BFD, 0x3BD1, 0x3BA5, 0x3B78, 0x3B4C, 0x3B1F, 0x3AF2, - 0x3AC6, 0x3A99, 0x3A6C, 0x3A40, 0x3A13, 0x39E6, 0x39B9, 0x398C, - 0x395F, 0x3932, 0x3906, 0x38D8, 0x38AB, 0x387E, 0x3851, 0x3824, - 0x37F7, 0x37CA, 0x379C, 0x376F, 0x3742, 0x3714, 0x36E7, 0x36BA, - 0x368C, 0x365F, 0x3631, 0x3604, 0x35D6, 0x35A8, 0x357B, 0x354D, - 0x351F, 0x34F2, 0x34C4, 0x3496, 0x3468, 0x343A, 0x340C, 0x33DE, - 0x33B0, 0x3382, 0x3354, 0x3326, 0x32F8, 0x32CA, 0x329C, 0x326E, - 0x3240, 0x3211, 0x31E3, 0x31B5, 0x3186, 0x3158, 0x312A, 0x30FB, - 0x30CD, 0x309E, 0x3070, 0x3041, 0x3013, 0x2FE4, 0x2FB5, 0x2F87, - 0x2F58, 0x2F29, 0x2EFB, 0x2ECC, 0x2E9D, 0x2E6E, 0x2E3F, 0x2E11, - 0x2DE2, 0x2DB3, 0x2D84, 0x2D55, 0x2D26, 0x2CF7, 0x2CC8, 0x2C98, - 0x2C69, 0x2C3A, 0x2C0B, 0x2BDC, 0x2BAD, 0x2B7D, 0x2B4E, 0x2B1F, - 0x2AEF, 0x2AC0, 0x2A91, 0x2A61, 0x2A32, 0x2A02, 0x29D3, 0x29A3, - 0x2974, 0x2944, 0x2915, 0x28E5, 0x28B5, 0x2886, 0x2856, 0x2826, - 0x27F6, 0x27C7, 0x2797, 0x2767, 0x2737, 0x2707, 0x26D8, 0x26A8, - 0x2678, 0x2648, 0x2618, 0x25E8, 0x25B8, 0x2588, 0x2558, 0x2528, - 0x24F7, 0x24C7, 0x2497, 0x2467, 0x2437, 0x2407, 0x23D6, 0x23A6, - 0x2376, 0x2345, 0x2315, 0x22E5, 0x22B4, 0x2284, 0x2254, 0x2223, - 0x21F3, 0x21C2, 0x2192, 0x2161, 0x2131, 0x2100, 0x20D0, 0x209F, - 0x206E, 0x203E, 0x200D, 0x1FDC, 0x1FAC, 0x1F7B, 0x1F4A, 0x1F19, - 0x1EE9, 0x1EB8, 0x1E87, 0x1E56, 0x1E25, 0x1DF5, 0x1DC4, 0x1D93, - 0x1D62, 0x1D31, 0x1D00, 0x1CCF, 0x1C9E, 0x1C6D, 0x1C3C, 0x1C0B, - 0x1BDA, 0x1BA9, 0x1B78, 0x1B47, 0x1B16, 0x1AE4, 0x1AB3, 0x1A82, - 0x1A51, 0x1A20, 0x19EF, 0x19BD, 0x198C, 0x195B, 0x192A, 0x18F8, - 0x18C7, 0x1896, 0x1864, 0x1833, 0x1802, 0x17D0, 0x179F, 0x176D, - 0x173C, 0x170A, 0x16D9, 0x16A8, 0x1676, 0x1645, 0x1613, 0x15E2, - 0x15B0, 0x157F, 0x154D, 0x151B, 0x14EA, 0x14B8, 0x1487, 0x1455, - 0x1423, 0x13F2, 0x13C0, 0x138E, 0x135D, 0x132B, 0x12F9, 0x12C8, - 0x1296, 0x1264, 0x1232, 0x1201, 0x11CF, 0x119D, 0x116B, 0x1139, - 0x1108, 0x10D6, 0x10A4, 0x1072, 0x1040, 0x100E, 0x0FDD, 0x0FAB, - 0x0F79, 0x0F47, 0x0F15, 0x0EE3, 0x0EB1, 0x0E7F, 0x0E4D, 0x0E1B, - 0x0DE9, 0x0DB7, 0x0D85, 0x0D53, 0x0D21, 0x0CEF, 0x0CBD, 0x0C8B, - 0x0C59, 0x0C27, 0x0BF5, 0x0BC3, 0x0B91, 0x0B5F, 0x0B2D, 0x0AFB, - 0x0AC9, 0x0A97, 0x0A65, 0x0A33, 0x0A00, 0x09CE, 0x099C, 0x096A, - 0x0938, 0x0906, 0x08D4, 0x08A2, 0x086F, 0x083D, 0x080B, 0x07D9, - 0x07A7, 0x0775, 0x0742, 0x0710, 0x06DE, 0x06AC, 0x067A, 0x0647, - 0x0615, 0x05E3, 0x05B1, 0x057F, 0x054C, 0x051A, 0x04E8, 0x04B6, - 0x0483, 0x0451, 0x041F, 0x03ED, 0x03BA, 0x0388, 0x0356, 0x0324, - 0x02F1, 0x02BF, 0x028D, 0x025B, 0x0228, 0x01F6, 0x01C4, 0x0192, - 0x015F, 0x012D, 0x00FB, 0x00C9, 0x0096, 0x0064, 0x0032, 0x0000, -}; - -u32 D_8003F330 = 0x00000000; - -u32 D_8003F334 = 0x00000000; - - - -u32 D_8003F338 = 0x00000001; - -u32 D_8003F33C = 0x00000000; - -u32 D_8003F340 = 0x00000000; - -u32 D_8003F344 = 0x00000001; - -u32 D_8003F348 = 0x00000000; - -u32 D_8003F34C = 0x00000000; - - -u32 D_8003F350 = 0x8004ADC0; -u32 D_8003F354 = 0x0004B000; -u32 D_8003F358 = 0x7D001018; -u32 D_8003F35C = 0x40400818; -u32 D_8003F360 = 0x00003214; - -u32 *D_8003F364 = (u32*)_data_3E1400SegmentRomStart; -u32 *D_8003F368 = (u32*)_data_3E6BC0SegmentRomStart; -u32 *D_8003F36C = (u32*)_data_3E6BC0SegmentRomStart; -u32 *D_8003F370 = (u32*)_data_2A8CB0SegmentRomStart; -u32 *D_8003F374 = (u32*)_data_2B1510SegmentRomStart; -u32 *D_8003F378 = (u32*)_data_2B1510SegmentRomStart; -u32 *D_8003F37C = (u32*)_data_250320SegmentRomStart; - -u32 D_8003F380 = 0x00100808; -u32 D_8003F384 = 0x00000000; -u32 D_8003F388 = 0x00000000; -u32 D_8003F38C = 0x00000000; - -u32 D_8003F390 = 0x00000000; -u32 D_8003F394 = 0x00000000; -u32 D_8003F398 = 0x00000000; -u32 D_8003F39C = 0x00000000; - -u32 *D_8003F3A0 = (u32*)_data_49F590SegmentRomStart; -u32 *D_8003F3A4 = (u32*)_data_49F590SegmentRomEnd; - -u32 *D_8003F3A8 = (u32*)_data_4A0340SegmentRomStart; -u32 *D_8003F3AC = (u32*)_data_4A0340SegmentRomEnd; - -u32 *D_8003F3B0 = (u32*)_data_4A3B60SegmentRomStart; -u32 *D_8003F3B4 = (u32*)_data_4A3B60SegmentRomEnd; - -u32 D_8003F3B8 = 0x00000000; -u32 D_8003F3BC = 0x00000000; - -u32 D_8003F3C0 = 0x00000000; - -u32 D_8003F3C4 = 0x00000000; - -u32 D_8003F3C8 = 0x00000003; - -u32 D_8003F3CC = 0x00000000; - -u32 D_8003F3D0 = 0x00000000; - -u32 D_8003F3D4 = 0x00000000; - -u32 D_8003F3D8 = 0x00000000; - -u32 D_8003F3DC = 0x00000003; - -u32 D_8003F3E0 = 0x00000003; - -u32 D_8003F3E4 = 0x00000000; - -u32 D_8003F3E8 = 0x00000003; - -u32 D_8003F3EC = 0x00000003; - -u32 D_8003F3F0 = 0x00000000; - -u32 D_8003F3F4 = 0x00000003; - -u32 D_8003F3F8 = 0x00000003; - -u32 D_8003F3FC = 0x00000003; - -u32 D_8003F400 = 0x00000000; - -u32 D_8003F404 = 0x00000003; - -u32 D_8003F408 = 0x00000000; - -u32 D_8003F40C = 0x00000006; - -u32 D_8003F410 = 0x00000003; - -u32 D_8003F414 = 0x00000003; - -u32 D_8003F418 = 0x00000003; - -u32 D_8003F41C = 0x00000006; - -u32 D_8003F420 = 0x00000000; - -u32 D_8003F424 = 0x00000006; - -u32 D_8003F428 = 0x00000003; - -u32 D_8003F42C = 0x00000006; - -u32 D_8003F430 = 0x00000005; - -u32 D_8003F434 = 0x00000006; - -u32 D_8003F438 = 0x00000005; - -u32 D_8003F43C = 0x00000006; - -u32 D_8003F440 = 0x00000001; - -u32 D_8003F444 = 0x00000001; - -u32 D_8003F448 = 0x00000001; - -u32 D_8003F44C = 0x00000000; - -u32 D_8003F450 = 0x00000001; - -u32 D_8003F454 = 0x00000001; - -u32 D_8003F458 = 0x00000001; - -u32 D_8003F45C = 0x00000000; - -u32 D_8003F460 = 0x00000000; - -u32 D_8003F464 = 0x00000000; - -u32 D_8003F468 = 0x00000001; - -u32 D_8003F46C = 0x00000000; - -u32 D_8003F470 = 0x00000000; - -u32 D_8003F474 = 0x00000001; - -u32 D_8003F478 = 0x00000000; - -u32 D_8003F47C = 0x00000000; - -u32 D_8003F480 = 0x00000001; - -u32 D_8003F484 = 0x00000000; - -u32 D_8003F488 = 0x00000001; - -u32 D_8003F48C = 0x00000001; - -u32 D_8003F490 = 0x00000001; - -u32 D_8003F494 = 0x00000000; - -u32 D_8003F498 = 0x00000001; - -u32 D_8003F49C = 0x00000000; - -u32 D_8003F4A0 = 0x00000001; - -u32 D_8003F4A4 = 0x00000000; - -u32 D_8003F4A8 = 0x00000001; - -u32 D_8003F4AC = 0x00000001; - -u32 D_8003F4B0 = 0x00000000; - -u32 D_8003F4B4 = 0x00000001; - -u32 D_8003F4B8 = 0x00000001; - -u32 D_8003F4BC = 0x00000000; - -u32 D_8003F4C0 = 0x00000000; - -u32 D_8003F4C4 = 0x00000001; - -u32 D_8003F4C8 = 0x00000001; - -u32 D_8003F4CC = 0x00000001; - -u32 D_8003F4D0 = 0x00000000; - -u32 D_8003F4D4 = 0x00000001; - -u32 D_8003F4D8 = 0x00000000; - -u32 D_8003F4DC = 0x00000000; - -u32 D_8003F4E0 = 0x00000001; - -u32 D_8003F4E4 = 0x00000001; - -u32 D_8003F4E8 = 0x00000000; - -u32 D_8003F4EC = 0x00000001; - -u32 D_8003F4F0 = 0x00000000; - -u32 D_8003F4F4 = 0x00000001; - -u32 D_8003F4F8 = 0x00000001; - -u32 D_8003F4FC = 0x00000000; - -u32 D_8003F500 = 0x00000001; - -u32 D_8003F504 = 0x00000001; - -u32 D_8003F508 = 0x00000000; - -u32 D_8003F50C = 0x00000001; - -u32 D_8003F510 = 0x00000001; - -u32 D_8003F514 = 0x00000001; - -u32 D_8003F518 = 0x00000001; - -u32 D_8003F51C = 0x00000000; - -u32 D_8003F520 = 0x00000001; - -u32 D_8003F524 = 0x00000000; - -u32 D_8003F528 = 0x00000001; - -u32 D_8003F52C = 0x00000000; - -u32 D_8003F530 = 0x00000000; - -u32 D_8003F534 = 0x00000001; - -u32 D_8003F538 = 0x00000000; - -u32 D_8003F53C = 0x00000000; - -u32 D_8003F540 = 0x00000001; - -u32 D_8003F544 = 0x00000001; - -u32 D_8003F548 = 0x00000001; - -u32 D_8003F54C = 0x00000001; - -u32 D_8003F550 = 0x00000001; - -u32 D_8003F554 = 0x00000001; - -u32 D_8003F558 = 0x00000001; - -u32 D_8003F55C = 0x00000000; - -u32 D_8003F560 = 0x00000001; - -u32 D_8003F564 = 0x00000001; - -u32 D_8003F568 = 0x00000001; - -u32 D_8003F56C = 0x00000001; - -u32 D_8003F570 = 0x00000000; - -u32 D_8003F574 = 0x00000001; - -u32 D_8003F578 = 0x00000001; - -u32 D_8003F57C = 0x00000000; - -u32 D_8003F580 = 0x00000001; - -u32 D_8003F584 = 0x00000001; - -u32 D_8003F588 = 0x00000001; - -u32 D_8003F58C = 0x00000001; - -u32 D_8003F590 = 0x00000001; - -u32 D_8003F594 = 0x00000001; - -u32 D_8003F598 = 0x00000000; - -u32 D_8003F59C = 0x00000000; - -u32 D_8003F5A0 = 0x00000000; - -u32 D_8003F5A4 = 0x00000001; - -u32 D_8003F5A8 = 0x00000000; - -u32 D_8003F5AC = 0x00000001; - -u32 D_8003F5B0 = 0x00000001; - -u32 D_8003F5B4 = 0x00000001; - -u32 D_8003F5B8 = 0x00000001; - -u32 D_8003F5BC = 0x00000000; - -u32 D_8003F5C0 = 0x00000000; - -u32 D_8003F5C4 = 0x00000000; - -u32 D_8003F5C8 = 0x00000000; - -u32 D_8003F5CC = 0x00000001; - -u32 D_8003F5D0 = 0x00000001; - -u32 D_8003F5D4 = 0x00000000; - -u32 D_8003F5D8 = 0x00000001; - -u32 D_8003F5DC = 0x00000000; - -u32 D_8003F5E0 = 0x00000000; - -u32 D_8003F5E4 = 0x00000000; - -u32 D_8003F5E8 = 0x00000001; - -u32 D_8003F5EC = 0x00000001; - -u32 D_8003F5F0 = 0x00000001; - -u32 D_8003F5F4 = 0x00000001; - -u32 D_8003F5F8 = 0x00000001; - -u32 D_8003F5FC = 0x00000000; - -u32 D_8003F600 = 0x00000001; - -u32 D_8003F604 = 0x00000001; - -u32 D_8003F608 = 0x00000000; - -u32 D_8003F60C = 0x00000001; - -u32 D_8003F610 = 0x00000001; - -u32 D_8003F614 = 0x00000000; - -u32 D_8003F618 = 0x00000001; - -u32 D_8003F61C = 0x00000000; - -u32 D_8003F620 = 0x00000001; - -u32 D_8003F624 = 0x00000001; - -u32 D_8003F628 = 0x00000000; - -u32 D_8003F62C = 0x00000001; - -u32 D_8003F630 = 0x00000001; - -u32 D_8003F634 = 0x00000000; - -u32 D_8003F638 = 0x00000000; - -u32 D_8003F63C = 0x00000000; - -u32 D_8003F640 = 0x00000000; - -u32 D_8003F644 = 0x00000000; - -u32 D_8003F648 = 0x00000000; - -u32 D_8003F64C = 0x00000001; - -u32 D_8003F650 = 0x00000000; - -u32 D_8003F654 = 0x00000000; - -u32 D_8003F658 = 0x00000000; - -u32 D_8003F65C = 0x00000000; - -f32 D_8003F660 = 1.0f; - -f32 D_8003F664 = 10.0f; - -f32 D_8003F668 = 100.0f; - -f32 D_8003F66C = 1000.0f; - -f32 D_8003F670 = 10000.0f; - -f32 D_8003F674 = 100000.0f; - -f32 D_8003F678 = 1000000.0f; - -f32 D_8003F67C = 10000000.0f; - -f32 D_8003F680 = 100000000.0f; - -f32 D_8003F684 = 1000000000.0f; - -u32 D_8003F688 = 0x00000000; - -u32 D_8003F68C = 0xFFFFFFFF; - -u32 D_8003F690 = 0xFFFFFFFF; - -u32 D_8003F694 = 0xFFFFFFFF; - -u32 D_8003F698 = 0xFFFFFFFF; - -u32 D_8003F69C = 0xFFFFFFFF; - -u32 D_8003F6A0 = 0xFFFFFFFF; - -u32 D_8003F6A4 = 0xFFFFFFFF; - -u32 D_8003F6A8 = 0xFFFFFFFF; - -u32 D_8003F6AC = 0xFF29FFFF; - -u32 D_8003F6B0 = 0xFF2BFFFF; - -u32 D_8003F6B4 = 0x2526FF2A; - -u32 D_8003F6B8 = 0xFF272CFF; - -u32 D_8003F6BC = 0x00010203; - -u32 D_8003F6C0 = 0x04050607; - -u32 D_8003F6C4 = 0x080924FF; - -u32 D_8003F6C8 = 0xFFFFFF28; - -u32 D_8003F6CC = 0xFF0A0B0C; - -u32 D_8003F6D0 = 0x0D0E0F10; - -u32 D_8003F6D4 = 0x11121314; - -u32 D_8003F6D8 = 0x15161718; - -u32 D_8003F6DC = 0x191A1B1C; - -u32 D_8003F6E0 = 0x1D1E1F20; - -u32 D_8003F6E4 = 0x212223FF; - -u32 D_8003F6E8 = 0xFFFFFFFF; - -u32 D_8003F6EC = 0xFF0A0B0C; - -u32 D_8003F6F0 = 0x0D0E0F10; - -u32 D_8003F6F4 = 0x11121314; - -u32 D_8003F6F8 = 0x15161718; - -u32 D_8003F6FC = 0x191A1B1C; - -u32 D_8003F700 = 0x1D1E1F20; - -u32 D_8003F704 = 0x212223FF; - -u32 D_8003F708 = 0xFFFFFFFF; - -u32 D_8003F70C = 0x70871C30; - -u32 D_8003F710 = 0x8988A250; - -u32 D_8003F714 = 0x88808290; - -u32 D_8003F718 = 0x88831C90; - -u32 D_8003F71C = 0x888402F8; - -u32 D_8003F720 = 0x88882210; - -u32 D_8003F724 = 0x71CF9C10; - -u32 D_8003F728 = 0xF9CF9C70; - -u32 D_8003F72C = 0x8228A288; - -u32 D_8003F730 = 0xF200A288; - -u32 D_8003F734 = 0x0BC11C78; - -u32 D_8003F738 = 0x0A222208; - -u32 D_8003F73C = 0x8A222288; - -u32 D_8003F740 = 0x71C21C70; - -u32 D_8003F744 = 0x23C738F8; - -u32 D_8003F748 = 0x5228A480; - -u32 D_8003F74C = 0x8A282280; - -u32 D_8003F750 = 0x8BC822F0; - -u32 D_8003F754 = 0xFA282280; - -u32 D_8003F758 = 0x8A28A480; - -u32 D_8003F75C = 0x8BC738F8; - -u32 D_8003F760 = 0xF9C89C08; - -u32 D_8003F764 = 0x82288808; - -u32 D_8003F768 = 0x82088808; - -u32 D_8003F76C = 0xF2EF8808; - -u32 D_8003F770 = 0x82288888; - -u32 D_8003F774 = 0x82288888; - -u32 D_8003F778 = 0x81C89C70; - -u32 D_8003F77C = 0x8A08A270; - -u32 D_8003F780 = 0x920DA288; - -u32 D_8003F784 = 0xA20AB288; - -u32 D_8003F788 = 0xC20AAA88; - -u32 D_8003F78C = 0xA208A688; - -u32 D_8003F790 = 0x9208A288; - -u32 D_8003F794 = 0x8BE8A270; - -u32 D_8003F798 = 0xF1CF1CF8; - -u32 D_8003F79C = 0x8A28A220; - -u32 D_8003F7A0 = 0x8A28A020; - -u32 D_8003F7A4 = 0xF22F1C20; - -u32 D_8003F7A8 = 0x82AA0220; - -u32 D_8003F7AC = 0x82492220; - -u32 D_8003F7B0 = 0x81A89C20; - -u32 D_8003F7B4 = 0x8A28A288; - -u32 D_8003F7B8 = 0x8A28A288; - -u32 D_8003F7BC = 0x8A289488; - -u32 D_8003F7C0 = 0x8A2A8850; - -u32 D_8003F7C4 = 0x894A9420; - -u32 D_8003F7C8 = 0x894AA220; - -u32 D_8003F7CC = 0x70852220; - -u32 D_8003F7D0 = 0xF8011000; - -u32 D_8003F7D4 = 0x08020800; - -u32 D_8003F7D8 = 0x10840400; - -u32 D_8003F7DC = 0x20040470; - -u32 D_8003F7E0 = 0x40840400; - -u32 D_8003F7E4 = 0x80020800; - -u32 D_8003F7E8 = 0xF8011000; - -u32 D_8003F7EC = 0x70800000; - -u32 D_8003F7F0 = 0x88822200; - -u32 D_8003F7F4 = 0x08820400; - -u32 D_8003F7F8 = 0x108F8800; - -u32 D_8003F7FC = 0x20821000; - -u32 D_8003F800 = 0x00022200; - -u32 D_8003F804 = 0x20800020; - -u32 D_8003F808 = 0x00000000; - -// Crash screen message pointers -const char *D_8003F80C = D_80040D10; -const char *D_8003F810 = D_80040D1C; -const char *D_8003F814 = D_80040D30; -const char *D_8003F818 = D_80040D48; -const char *D_8003F81C = D_80040D60; -const char *D_8003F820 = D_80040D78; -const char *D_8003F824 = D_80040D90; -const char *D_8003F828 = D_80040DA4; -const char *D_8003F82C = D_80040DB8; -const char *D_8003F830 = D_80040DD0; -const char *D_8003F834 = D_80040DE8; -const char *D_8003F838 = D_80040E00; -const char *D_8003F83C = D_80040E18; -const char *D_8003F840 = D_80040E2C; -const char *D_8003F844 = D_80040E3C; -const char *D_8003F848 = D_80040E58; -const char *D_8003F84C = D_80040E74; -const char *D_8003F850 = D_80040E8C; - -const char *D_8003F854[] = { - D_80040EA8, - D_80040EC0, - D_80040ED4, - D_80040EE8, - D_80040EF4, - D_80040F00, -}; - -u32 D_8003F86C = 0x0000001E; - -u32 D_8003F870 = 0x00000019; - -u32 D_8003F874 = 0x00000000; - -u32 D_8003F878 = 0x00000000; - -u32 D_8003F87C = 0x00000000; - -u32 D_8003F880 = 0x00000003; - -u32 D_8003F884 = 0x00000FA0; - -u32 D_8003F888 = 0x00000000; - -u32 D_8003F88C = 0x00000870; - -u32 D_8003F890 = 0x00002666; - -u32 D_8003F894 = 0xFFFFD99A; - -u32 D_8003F898 = 0x00000000; - -u32 D_8003F89C = 0x00000000; - -u32 D_8003F8A0 = 0x00000000; - -u32 D_8003F8A4 = 0x00000000; - -u32 D_8003F8A8 = 0x000002F8; - -u32 D_8003F8AC = 0x000005F0; - -u32 D_8003F8B0 = 0x00000CCC; - -u32 D_8003F8B4 = 0xFFFFF334; - -u32 D_8003F8B8 = 0x00003FFF; - -u32 D_8003F8BC = 0x00000000; - -u32 D_8003F8C0 = 0x00000000; - -u32 D_8003F8C4 = 0x00000000; - -u32 D_8003F8C8 = 0x00000000; - -u32 D_8003F8CC = 0x00000960; - -u32 D_8003F8D0 = 0x00001388; - -u32 D_8003F8D4 = 0x00000000; - -u32 D_8003F8D8 = 0x00000000; - -u32 D_8003F8DC = 0x00000000; - -u32 D_8003F8E0 = 0x00000000; - -u32 D_8003F8E4 = 0x00005000; - -u32 D_8003F8E8 = 0x00000004; - -u32 D_8003F8EC = 0x00000FA0; - -u32 D_8003F8F0 = 0x00000000; - -u32 D_8003F8F4 = 0x00000A50; - -u32 D_8003F8F8 = 0x00002666; - -u32 D_8003F8FC = 0xFFFFD99A; - -u32 D_8003F900 = 0x00000000; - -u32 D_8003F904 = 0x00000000; - -u32 D_8003F908 = 0x00000000; - -u32 D_8003F90C = 0x00000000; - -u32 D_8003F910 = 0x00000370; - -u32 D_8003F914 = 0x00000870; - -u32 D_8003F918 = 0x00000CCC; - -u32 D_8003F91C = 0xFFFFF334; - -u32 D_8003F920 = 0x00003FFF; - -u32 D_8003F924 = 0x00000000; - -u32 D_8003F928 = 0x00000000; - -u32 D_8003F92C = 0x00000000; - -u32 D_8003F930 = 0x00000A50; - -u32 D_8003F934 = 0x00000E38; - -u32 D_8003F938 = 0x00000CCC; - -u32 D_8003F93C = 0xFFFFF334; - -u32 D_8003F940 = 0x00003FFF; - -u32 D_8003F944 = 0x00000000; - -u32 D_8003F948 = 0x00000000; - -u32 D_8003F94C = 0x00000000; - -u32 D_8003F950 = 0x00000000; - -u32 D_8003F954 = 0x00000EB0; - -u32 D_8003F958 = 0x00001F40; - -u32 D_8003F95C = 0x00000000; - -u32 D_8003F960 = 0x00000000; - -u32 D_8003F964 = 0x00000000; - -u32 D_8003F968 = 0x00000000; - -u32 D_8003F96C = 0x00005000; - -u32 D_8003F970 = 0x00000001; - -u32 D_8003F974 = 0x00001F40; - -u32 D_8003F978 = 0x00000000; - -u32 D_8003F97C = 0x00001BF8; - -u32 D_8003F980 = 0x00002EE0; - -u32 D_8003F984 = 0x00000000; - -u32 D_8003F988 = 0x00007FFF; - -u32 D_8003F98C = 0x00000000; - -u32 D_8003F990 = 0x00000000; - -u32 D_8003F994 = 0x00000000; - -u32 D_8003F998 = 0x00000001; - -u32 D_8003F99C = 0x00000320; - -u32 D_8003F9A0 = 0x00000000; - -u32 D_8003F9A4 = 0x000000C8; - -u32 D_8003F9A8 = 0x00004000; - -u32 D_8003F9AC = 0x00000000; - -u32 D_8003F9B0 = 0x00007FFF; - -u32 D_8003F9B4 = 0x00001DB0; - -u32 D_8003F9B8 = 0x000002BC; - -u32 D_8003F9BC = 0x00000000; - -u32 D_8003F9C0 = 0x00000001; - -u32 D_8003F9C4 = 0x00000320; - -u32 D_8003F9C8 = 0x00000000; - -u32 D_8003F9CC = 0x000000C8; - -u32 D_8003F9D0 = 0x00000000; - -u32 D_8003F9D4 = 0x00005FFF; - -u32 D_8003F9D8 = 0x00007FFF; - -u32 D_8003F9DC = 0x0000017C; - -u32 D_8003F9E0 = 0x000001F4; - -u32 D_8003F9E4 = 0x00000000; - -u32 D_8003F9E8 = 0x00000000; - -u32 D_8003F9EC = 0x00000000; - -u32 D_8003F9F0 = 0x00000000; - -u32 D_8003F9F4 = 0x00000000; - -u32 D_8003F9F8 = 0x00000000; - -u32 D_8003F9FC = 0x00000000; - -u32 D_8003FA00 = 0x00000000; - -u32 D_8003FA04 = 0x00000000; - -u32 D_8003FA08 = 0x00000000; - -u32 D_8003FA0C = 0x00000000; - -u32 D_8003FA10 = 0x7FFF7FFC; - -u32 D_8003FA14 = 0x7FF57FE8; - -u32 D_8003FA18 = 0x7FD77FC0; - -u32 D_8003FA1C = 0x7FA57F84; - -u32 D_8003FA20 = 0x7F5F7F34; - -u32 D_8003FA24 = 0x7F057ED0; - -u32 D_8003FA28 = 0x7E977E58; - -u32 D_8003FA2C = 0x7E157DCD; - -u32 D_8003FA30 = 0x7D7F7D2D; - -u32 D_8003FA34 = 0x7CD67C7A; - -u32 D_8003FA38 = 0x7C1A7BB4; - -u32 D_8003FA3C = 0x7B497ADA; - -u32 D_8003FA40 = 0x7A6679ED; - -u32 D_8003FA44 = 0x796F78ED; - -u32 D_8003FA48 = 0x786677DA; - -u32 D_8003FA4C = 0x774976B4; - -u32 D_8003FA50 = 0x761A757B; - -u32 D_8003FA54 = 0x74D87430; - -u32 D_8003FA58 = 0x738472D3; - -u32 D_8003FA5C = 0x721E7164; - -u32 D_8003FA60 = 0x70A66FE3; - -u32 D_8003FA64 = 0x6F1C6E51; - -u32 D_8003FA68 = 0x6D816CAD; - -u32 D_8003FA6C = 0x6BD56AF9; - -u32 D_8003FA70 = 0x6A186933; - -u32 D_8003FA74 = 0x684A675D; - -u32 D_8003FA78 = 0x666C6577; - -u32 D_8003FA7C = 0x647E6381; - -u32 D_8003FA80 = 0x6280617C; - -u32 D_8003FA84 = 0x60735F67; - -u32 D_8003FA88 = 0x5E575D43; - -u32 D_8003FA8C = 0x5C2C5B11; - -u32 D_8003FA90 = 0x59F258D0; - -u32 D_8003FA94 = 0x57AA5681; - -u32 D_8003FA98 = 0x55555425; - -u32 D_8003FA9C = 0x52F251BC; - -u32 D_8003FAA0 = 0x50824F46; - -u32 D_8003FAA4 = 0x4E064CC3; - -u32 D_8003FAA8 = 0x4B7D4A35; - -u32 D_8003FAAC = 0x48E9479B; - -u32 D_8003FAB0 = 0x464944F5; - -u32 D_8003FAB4 = 0x439E4245; - -u32 D_8003FAB8 = 0x40E93F8A; - -u32 D_8003FABC = 0x3E293CC6; - -u32 D_8003FAC0 = 0x3B6039F8; - -u32 D_8003FAC4 = 0x388D3721; - -u32 D_8003FAC8 = 0x35B23441; - -u32 D_8003FACC = 0x32CE3159; - -u32 D_8003FAD0 = 0x2FE22E69; - -u32 D_8003FAD4 = 0x2CEF2B72; - -u32 D_8003FAD8 = 0x29F42875; - -u32 D_8003FADC = 0x26F32570; - -u32 D_8003FAE0 = 0x23EC2266; - -u32 D_8003FAE4 = 0x20DF1F57; - -u32 D_8003FAE8 = 0x1DCE1C43; - -u32 D_8003FAEC = 0x1AB7192A; - -u32 D_8003FAF0 = 0x179C160E; - -u32 D_8003FAF4 = 0x147E12ED; - -u32 D_8003FAF8 = 0x115C0FCA; - -u32 D_8003FAFC = 0x0E380CA5; - -u32 D_8003FB00 = 0x0B11097D; - -u32 D_8003FB04 = 0x07E90654; - -u32 D_8003FB08 = 0x04C0032A; - -u32 D_8003FB0C = 0x01950000; - -u32 D_8003FB10 = 0x00000000; - -u32 D_8003FB14 = 0x00000000; - -f32 D_8003FB18 = 1.0f; - -u32 D_8003FB1C = 0xFFFF0000; - -u32 D_8003FB20 = 0x00000001; - -u32 D_8003FB24 = 0x00000001; - -u32 D_8003FB28 = 0x00000000; - -u32 D_8003FB2C = 0x00000000; - -u32 __osHwIntTable = 0x00000000; - -u32 D_8003FB34 = 0x00000000; - -u32 D_8003FB38 = 0x00000000; - -u32 D_8003FB3C = 0x00000000; - -u32 D_8003FB40 = 0x00000000; - -u32 D_8003FB44 = 0x00000000; - -u32 D_8003FB48 = 0x00000000; - -u32 D_8003FB4C = 0x00000000; - -u32 __osThreadTail = 0x00000000; - -u32 D_8003FB54 = 0xFFFFFFFF; - -u32 __osRunQueue = 0x8003FB50; - -u32 __osActiveQueue = 0x8003FB50; - -u32 __osRunningThread = 0x00000000; - -u32 __osFaultedThread = 0x00000000; - -u32 D_8003FB68 = 0x00000000; - -u32 D_8003FB6C = 0x00000000; - -u32 D_8003FB70 = 0x00000000; - -u32 D_8003FB74 = 0x00000000; - -u32 D_8003FB78 = 0x00000000; - -u32 D_8003FB7C = 0x00000000; - -u32 D_8003FB80 = 0x00000000; +// ovl0_afterException second file (libultra:controller.c) +u32 __osContinitialized = 0; +// ovl0_afterException second file alignment u32 D_8003FB84 = 0x00000000; - u32 D_8003FB88 = 0x00000000; - u32 D_8003FB8C = 0x00000000; -u64 osClockRate = 0x0000000003B9ACA0; +// ovl0_afterException third file (libultra:initialize.c) +#define OS_CLOCK_RATE 62500000LL +#define VI_NTSC_CLOCK 48681812 /* Hz = 48.681812 MHz */ -u32 osViClock = 0x02E6D354; - -u32 __osShutdown = 0x00000000; - -u32 __OSGlobalIntMask = 0x003FFF01; +OSTime osClockRate = OS_CLOCK_RATE; +s32 osViClock = VI_NTSC_CLOCK; +u32 __osShutdown = 0; +u32 __OSGlobalIntMask = OS_IM_ALL; +// ovl0_afterException third file alignment u32 D_8003FBA4 = 0x00000000; - u32 D_8003FBA8 = 0x00000000; - u32 D_8003FBAC = 0x00000000; +// ovl0_afterException fourth file u32 D_8003FBB0 = 0xFFFFFFFF; - u32 D_8003FBB4 = 0xFA000000; +// ovl0_afterException fourth file alignment u32 D_8003FBB8 = 0x00000000; - u32 D_8003FBBC = 0x00000000; +// ovl0_afterException fifth file (libultra:pimgr.c) OSDevMgr __osPiDevMgr = {0}; -u32 __osPiTable = 0x00000000; +OSPiHandle *__osPiTable = NULL; -u32 __osCurrentHandle = 0x80098E00; - -u32 D_8003FBE4 = 0x80098E78; +extern OSPiHandle D_80098E00; // CartRomHandle +extern OSPiHandle D_80098E78; // LeoDiskHandle +OSPiHandle *__osCurrentHandle[2] = {&D_80098E00, &D_80098E78}; +// ovl0_afterException fifth file alignment u32 D_8003FBE8 = 0x00000000; - u32 D_8003FBEC = 0x00000000; +// ovl0_afterException sixth file u32 D_8003FBF0 = 0x00000000; +// ovl0_afterException sixth file alignment u32 D_8003FBF4 = 0x00000000; - u32 D_8003FBF8 = 0x00000000; - u32 D_8003FBFC = 0x00000000; -u32 D_8003FC00 = 0x20202020; - -u32 D_8003FC04 = 0x20202020; - -u32 D_8003FC08 = 0x20202020; - -u32 D_8003FC0C = 0x20202020; - -u32 D_8003FC10 = 0x20202020; - -u32 D_8003FC14 = 0x20202020; - -u32 D_8003FC18 = 0x20202020; - -u32 D_8003FC1C = 0x20202020; - -u32 D_8003FC20 = 0x00000000; - -u32 D_8003FC24 = 0x30303030; - -u32 D_8003FC28 = 0x30303030; - -u32 D_8003FC2C = 0x30303030; - -u32 D_8003FC30 = 0x30303030; - -u32 D_8003FC34 = 0x30303030; - -u32 D_8003FC38 = 0x30303030; - -u32 D_8003FC3C = 0x30303030; - -u32 D_8003FC40 = 0x30303030; - -u32 D_8003FC44 = 0x00000000; +// libultra:xprintf +char D_8003FC00[] = " "; +char D_8003FC24[] = "00000000000000000000000000000000"; +// libultra:xprintf alignment u32 D_8003FC48 = 0x00000000; - u32 D_8003FC4C = 0x00000000; diff --git a/data/kirby.039DF0.1.5.c b/data/kirby.039DF0.1.5.c deleted file mode 100644 index 5ee66754..00000000 --- a/data/kirby.039DF0.1.5.c +++ /dev/null @@ -1,63 +0,0 @@ -#include - -#include "types.h" -#include "segments.h" -#include "banks.h" -#include "src/ovl0/main.h" - -u32 D_8003FDC0 = 0x2C000000; - -u32 D_8003FDC4 = 0x0000311E; - -u32 D_8003FDC8 = 0x00000140; - -u32 D_8003FDCC = 0x04541E3A; - -u32 D_8003FDD0 = 0x00000271; - -u32 D_8003FDD4 = 0x00170C69; - -u32 D_8003FDD8 = 0x0C6F0C6D; - -u32 D_8003FDDC = 0x00800300; - -u32 D_8003FDE0 = 0x00000200; - -u32 D_8003FDE4 = 0x00000000; - -u32 D_8003FDE8 = 0x00000280; - -u32 D_8003FDEC = 0x00000400; - -u32 D_8003FDF0 = 0x002F0269; - -u32 D_8003FDF4 = 0x0009026B; - -u32 D_8003FDF8 = 0x00000002; - -u32 D_8003FDFC = 0x00000280; - -u32 D_8003FE00 = 0x00000400; - -u32 D_8003FE04 = 0x002F0269; - -u32 D_8003FE08 = 0x0009026B; - -u32 D_8003FE0C = 0x00000002; - - -u32 D_8003FE10 = 0xFFFFFFFF; - - -u32 D_8003FE14 = 0x00000000; - -u32 D_8003FE18 = 0x00000000; - -u32 D_8003FE1C = 0x00000000; - -// // xlitob.c -// char ldigs[] = "0123456789abcdef"; -// char udigs[] = "0123456789ABCDEF"; -// u32 D_8003FE48 = 0x00000000; -// u32 D_8003FE4C = 0x00000000; - diff --git a/data/kirby.039DF0.2.c b/data/kirby.039DF0.2.c deleted file mode 100644 index 07ce28dc..00000000 --- a/data/kirby.039DF0.2.c +++ /dev/null @@ -1,58 +0,0 @@ -#include - -#define FLT_MAX (3.40282346639e+38) - -// u32 __osViDevMgr = 0x00000000; - -// u32 D_8003FE54 = 0x00000000; - -// u32 D_8003FE58 = 0x00000000; - -// u32 D_8003FE5C = 0x00000000; - -// u32 D_8003FE60 = 0x00000000; - -// u32 D_8003FE64 = 0x00000000; - -// u32 D_8003FE68 = 0x00000000; - -// u32 D_8003FE6C = 0x00000000; - -u32 hdwrBugFlag = 0x00000000; - -u32 D_8003FE74 = 0x00000000; - -u32 D_8003FE78 = 0x00000000; - -u32 D_8003FE7C = 0x00000000; - -u8 D_8003FE80[] = "thread stack overflow id = %d\n"; -u8 D_8003FEA0[] = "rdp_output_buff over !! size = %d\n byte"; - -f32 D_8003FEC8 = 0.833f; - -u32 D_8003FECC = 0x800019F8; - -u32 D_8003FED0 = 0x80001A84; - -u32 D_8003FED4 = 0x80001AA0; - -u32 D_8003FED8 = 0x80001AD8; - -u32 D_8003FEDC = 0x80001B24; - -u32 D_8003FEE0 = 0x80001B6C; - -u32 D_8003FEE4 = 0x80001CE4; - -u32 D_8003FEE8 = 0x80001D04; - -u32 D_8003FEEC = 0x80001D3C; - -u32 D_8003FEF0 = 0x80001D74; - -u32 D_8003FEF4 = 0x80001D9C; - -u32 D_8003FEF8 = 0x00000000; - -u32 D_8003FEFC = 0x00000000; diff --git a/data/ovl0/ovl0_rodata.s b/data/ovl0/ovl0_rodata.s new file mode 100644 index 00000000..a405bc43 --- /dev/null +++ b/data/ovl0/ovl0_rodata.s @@ -0,0 +1,27 @@ +.include "macros.inc" +.section .rodata + +glabel D_8003FEA0 +.asciiz "rdp_output_buff over !! size = %d\n byte" + +glabel D_8003FEC8 +.float 0.833 + +glabel jtbl_8003FECC +.word L800019F8_ovl0 +.word L80001A84_ovl0 +.word L80001AA0_ovl0 +.word L80001AD8_ovl0 +.word L80001B24_ovl0 +.word L80001B6C_ovl0 +.word L80001CE4_ovl0 +.word L80001D04_ovl0 +.word L80001D3C_ovl0 +.word L80001D74_ovl0 +.word L80001D9C_ovl0 + +glabel D_8003FEF8 +.word 0x00000000 + +glabel D_8003FEFC +.word 0x00000000 diff --git a/kirby.us.ld b/kirby.us.ld index 4cc915fe..9e41ef68 100644 --- a/kirby.us.ld +++ b/kirby.us.ld @@ -80,6 +80,9 @@ SECTIONS BUILD_DIR/asm/ovl0/leo_interrupt.o(.text); /*BUILD_DIR/libultra.a:leointerrupt.o(.text);*/ + BUILD_DIR/asm/ovl0/ovl0_beforeSiacs.o(.text); + BUILD_DIR/libultra.a:siacs.o(.text); + BUILD_DIR/libultra.a:controller.o(.text); BUILD_DIR/asm/ovl0/ovl0_afterException.o(.text); BUILD_DIR/libultra.a:devmgr.o(.text); @@ -184,16 +187,31 @@ SECTIONS BEGIN_SEG(ovl0Data2, gspS2DEX2_fifoTextEnd) { /* BUILD_DIR/data/kirby.039DF0.0.1.o(.data); */ + BUILD_DIR/src/ovl0/main.o(.data); + BUILD_DIR/src/ovl0/ovl0_2_5.o(.data); + BUILD_DIR/src/ovl0/rdp_reset.o(.data); + BUILD_DIR/src/ovl0/ovl0_2_5_2.o(.data); + BUILD_DIR/src/ovl0/ovl0_4.o(.data); + BUILD_DIR/src/ovl0/ovl0_6.o(.data); + BUILD_DIR/src/ovl0/ovl0_7.o(.data); + BUILD_DIR/src/ovl0/ovl0_8.o(.data); + BUILD_DIR/src/ovl0/ovl0_9.o(.data); + BUILD_DIR/asm/ovl0/exception.o(.data); + BUILD_DIR/libultra.a:thread.o(.data); + BUILD_DIR/libultra.a:siacs.o(.data); + /* siacs.c */ BUILD_DIR/data/kirby.039DF0.0.5.o(.data); BUILD_DIR/libultra.a:timerintr.o(.data); BUILD_DIR/libultra.a:vimodentsclan1.o(.data); BUILD_DIR/libultra.a:vimodempallan1.o(.data); BUILD_DIR/libultra.a:vi.o(.data); BUILD_DIR/libultra.a:vimodepallan1.o(.data); - BUILD_DIR/data/kirby.039DF0.1.5.o(.data); + BUILD_DIR/src/ovl0/ovl0.o(.data); BUILD_DIR/libultra.a:xlitob.o(.data); BUILD_DIR/libultra.a:vimgr.o(.data); - BUILD_DIR/data/kirby.039DF0.2.o(.data); + BUILD_DIR/libultra.a:aisetnextbuf.o(.data); + BUILD_DIR/src/ovl0/main.o(.rodata); + BUILD_DIR/data/ovl0/ovl0_rodata.o(.rodata); BUILD_DIR/src/ovl0/ovl0_1.o(.rodata); BUILD_DIR/src/ovl0/ovl0_2.o(.rodata); BUILD_DIR/data/kirby.039DF0.2.001.o(.rodata); diff --git a/libreultra b/libreultra index c847ea65..26db10cd 160000 --- a/libreultra +++ b/libreultra @@ -1 +1 @@ -Subproject commit c847ea657151ff3a55a717244d936a2060b738c2 +Subproject commit 26db10cd0de574ff38726643c703a07839276ccf diff --git a/src/ovl0/main.c b/src/ovl0/main.c index 8f1f9b5f..50f1012b 100644 --- a/src/ovl0/main.c +++ b/src/ovl0/main.c @@ -3,9 +3,21 @@ #include "types.h" #include "main.h" +#include "segments.h" -extern struct Overlay mainSegOverlay; //TODO: define and put into .data -extern u32 D_8003DC94; +struct Overlay mainSegOverlay = { + _ovl1SegmentRomStart, + _ovl1DataSegmentRomEnd, + _ovl1SegmentStart, + _ovl1SegmentStart, + _ovl1SegmentEnd, + _ovl1SegmentEnd, + _ovl1DataSegmentEnd, + _ovl1SegNoloadStart, + _ovl1SegNoloadEnd, +}; + +u32 D_8003DC94 = 0; // .bss u64 gEntryStack[ENTRY_STACK_LEN_U64]; // Stack pointer set to this by EntryPoint @@ -67,10 +79,9 @@ void check_sp_dmem(void) { } extern void fatal_printf(const char *fmt, ...); -extern const char D_8003FE80[]; void thread_crash_stack_overflow(s32 threadNum) { - fatal_printf(D_8003FE80, threadNum); + fatal_printf("thread stack overflow id = %d\n", threadNum); while (1); } diff --git a/src/ovl0/ovl0.c b/src/ovl0/ovl0.c index 135e0598..3532b5a7 100644 --- a/src/ovl0/ovl0.c +++ b/src/ovl0/ovl0.c @@ -1,6 +1,23 @@ #include #include + +// ovl0 +u32 D_8003FDC0[6][3] = { + { 0x2C000000, 0x0000311E, 0x00000140 }, + { 0x04541E3A, 0x00000271, 0x00170C69 }, + { 0x0C6F0C6D, 0x00800300, 0x00000200 }, + { 0x00000000, 0x00000280, 0x00000400 }, + { 0x002F0269, 0x0009026B, 0x00000002 }, + { 0x00000280, 0x00000400, 0x002F0269 }, +}; + +u32 D_8003FE08 = 0x0009026B; + +u32 D_8003FE0C = 0x00000002; + +u32 D_8003FE10 = 0xFFFFFFFF; + extern u32 D_80048CD8, D_80048CDC, D_80048CE0, D_80048CE4; extern u32 D_80048B8C, D_80048B9C, D_80048BA4; @@ -38,15 +55,16 @@ struct UnkStruct800009E8 { OSMesgQueue *unk4; }; #ifdef MIPS_TO_C -void func_800009E8(struct UnkStruct800009E8 *arg0, OSMesgQueue *mq, OSMesg *arg2, s32 arg3) { - // struct UnkStruct800009E8 *sp3C; - s32 sp18[2]; +void func_800009E8(void *arg0, OSMesgQueue *arg1, OSMesg *arg2, s32 arg3) { + void *sp3C; + ?32 sp1C; + ?32 sp18; - osCreateMesgQueue(mq, arg2, arg3); - arg0->unk4 = mq; - sp18[0] = 3; - sp18[1] = 0x64; - // sp3C = arg0; + osCreateMesgQueue(arg1, arg2, arg3); + arg0->unk4 = arg1; + sp18 = 3; + sp1C = 0x64; + sp3C = arg0; func_80000980(&sp18); } #else @@ -54,23 +72,22 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0/func_800009E8.s") #endif #ifdef MIPS_TO_C -void func_80000A44(void *arg0) { +? func_80000A44(void *arg0) { s32 sp1C; s32 temp_a0; s32 temp_a0_2; + s32 temp_v0; s32 temp_v1; - u16 *temp_v0; void *temp_v1_2; void *phi_v1; - if (D_80048C5C != 0) { - return; + return 1; } if (D_80048C60 != 0) { } else { - sp1C = osViGetNextFramebuffer(); + sp1C = osViGetNextFramebuffer(&D_80048C5C); temp_v0 = osViGetCurrentFramebuffer(); temp_v1 = arg0->unk70; if (temp_v1 != -1) { @@ -80,7 +97,7 @@ void func_80000A44(void *arg0) { D_80048C60 = temp_a0; D_80048C88 = 0; D_80048C6C = osGetCount(); - return; + return 1; } } phi_v1 = &D_80048C50; @@ -91,13 +108,14 @@ loop_10: D_80048C5C = temp_a0_2; D_80048C88 = 0; D_80048C6C = osGetCount(); - return; + return 1; } phi_v1 = temp_v1_2; if (temp_v1_2 != &D_80048C5C) { goto loop_10; } } + return 0; } #else GLOBAL_ASM("asm/non_matchings/ovl0/ovl0/func_80000A44.s") @@ -372,7 +390,7 @@ block_6: } else { phi_v0 = temp_v0; if (D_80000300 == 0) { - osViSetYScale(D_8003FEC8); + osViSetYScale(0.833f); phi_v0_2 = D_80048C7C * 0x10; goto block_6; } @@ -390,8 +408,8 @@ void *func_80000F78(u32 arg0, u32 arg1, s32 arg2, s16 arg3, s16 arg4, s16 arg5, s32 sp1C; s32 sp14; u32 sp0; - s16 temp_a1; - s16 temp_a2; + s32 temp_a1; + s32 temp_a2; s32 temp_a3; s32 temp_lo; s32 temp_t7; @@ -472,11 +490,11 @@ void *func_80000F78(u32 arg0, u32 arg1, s32 arg2, s16 arg3, s16 arg4, s16 arg5, D_80048C7C.unk0 = D_80048C7C.unk0 & 0xFFFE; D_80048BF8.unk4 = D_80048BF8.unk4 & 0xFFFEFFFF; } - if (arg2 & 0x10000) { + if ((arg2 << 0xF) < 0) { D_80048C7C.unk1 = D_80048C7C.unk1 | 0x80; D_80048BF8.unk4 = D_80048BF8.unk4 | 0x10; } - if (arg2 & 0x20000) { + if ((arg2 << 0xE) < 0) { D_80048C7C.unk1 = D_80048C7C.unk1 & 0xFF7F; D_80048BF8.unk4 = D_80048BF8.unk4 & -0x11; } @@ -536,8 +554,8 @@ block_47: } } temp_a3 = phi_t2 == 0; - temp_a1 = arg5 & 0xFFFE; - temp_a2 = arg6 & 0xFFFE; + temp_a1 = ((arg5 & 0xFFFE) << 0x10) >> 0x10; + temp_a2 = ((arg6 & 0xFFFE) << 0x10) >> 0x10; if ((temp_a3 != 0) && (phi_a0 == 0)) { sp14 = 2; } else { @@ -691,14 +709,15 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0/func_80000F78.s") #ifdef MIPS_TO_C void func_80001774(void *arg0) { - // s32 temp_v0; + s32 temp_v0; if ((D_80048C48 != 0) && (D_80048CDC == 0)) { func_80000E9C(arg0); } if (D_80048CD0 != 0) { + arg0 = arg0; osSendMesg(D_80048CD4, 1, 0); - if ((s32)arg0 == -1) { + if (arg0 == -1) { gCurrFrameBuffer = D_80048C5C; D_80048C5C = 0; } else { @@ -707,12 +726,14 @@ block_12: } } else if (arg0 == -1) { osViSwapBuffer(D_80048C5C); - if (D_80048C5C == D_80048C60) { + temp_v0 = D_80048C5C; + if (temp_v0 == D_80048C60) { D_80048C64 = 1; } - gCurrFrameBuffer = D_80048C5C; + gCurrFrameBuffer = temp_v0; D_80048C5C = 0; } else { + arg0 = arg0; osViSwapBuffer(arg0); goto block_12; } @@ -739,7 +760,7 @@ void func_8000189C(OSTask *arg0) { func_8002DB4C(temp_a0); arg0->t.ucode_boot = 2; } - D_80048B8C = arg0; + *0x80048B8C = arg0; } #else GLOBAL_ASM("asm/non_matchings/ovl0/ovl0/func_8000189C.s") @@ -771,12 +792,243 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0/func_80001924.s") #endif #ifdef MIPS_TO_C -Failed to decompile function func_800019BC: +s32 func_800019BC(void *arg0) { + s32 sp4C; + void *sp34; + OSMesgQueue *temp_a0; + OSMesgQueue *temp_a0_10; + OSMesgQueue *temp_a0_12; + OSMesgQueue *temp_a0_2; + OSMesgQueue *temp_a0_3; + OSMesgQueue *temp_a0_6; + OSMesgQueue *temp_a0_7; + OSMesgQueue *temp_a0_8; + OSMesgQueue *temp_a0_9; + s32 temp_v0_11; + u32 temp_t7; + void *temp_a0_11; + void *temp_a0_4; + void *temp_a0_5; + void *temp_v0; + void *temp_v0_10; + void *temp_v0_2; + void *temp_v0_3; + void *temp_v0_4; + void *temp_v0_5; + void *temp_v0_6; + void *temp_v0_7; + void *temp_v0_8; + void *temp_v0_9; + void *phi_v1; + void *phi_v0; + void *phi_v0_2; + void *phi_v0_3; + void *phi_v0_4; + void *phi_v1_2; + s32 phi_a1; + void *phi_a0; + void *phi_a0_2; + void *phi_v1_3; + void *phi_v1_4; + void *phi_v1_5; + void *phi_v1_6; + void *phi_v1_7; + void *phi_v1_8; -Unable to determine jump table for jr instruction. - -There must be a read of a variable in the same block as -the instruction, which has a name starting with "jtbl". + sp4C = 0; + temp_t7 = arg0->unk0 - 1; + if (temp_t7 < 0xB) { + goto **(&jtbl_8003FECC + (temp_t7 * 4)); + case 0: + temp_v0 = arg0->unk68; + if (temp_v0 != 0) { + *temp_v0 = *temp_v0 | D_80048C5C; + osWritebackDCache(arg0->unk68, 4); + } + if (arg0->unk50 == -1) { + arg0->unk50 = D_80048C8C + D_80048C88; + osWritebackDCache(arg0 + 0x50, 4); + } + if (1 == arg0->unk74) { + osInvalDCache(&D_80048C80, 8); + } + func_8000189C(arg0); + sp4C = 1; + goto block_63; + case 1: + osWritebackDCacheAll(); + func_80001924(arg0); + sp4C = 1; + goto block_63; + case 2: + temp_v0_2 = arg0->unk24; + *temp_v0_2 = D_80048B80; + D_80048B80 = temp_v0_2; + temp_a0 = arg0->unk20; + if (temp_a0 != 0) { + osSendMesg(temp_a0, arg0->unk1C, 0); + goto block_63; + case 3: + func_80000F78(arg0->unk24, arg0->unk28, arg0->unk2C, arg0->unk30, arg0->unk32, arg0->unk34, arg0->unk36); + temp_a0_2 = arg0->unk20; + if (temp_a0_2 != 0) { + osSendMesg(temp_a0_2, arg0->unk1C, 0); + goto block_63; + case 4: + phi_v1 = arg0; + phi_v0 = &D_80048C50; +loop_15: + temp_v0_3 = phi_v0 + 4; + temp_v0_3->unk-4 = phi_v1->unk24; + phi_v1 = phi_v1 + 4; + phi_v0 = temp_v0_3; + if (temp_v0_3 != &D_80048C5C) { + goto loop_15; + } + temp_a0_3 = arg0->unk20; + if (temp_a0_3 != 0) { + osSendMesg(temp_a0_3, arg0->unk1C, 0); + goto block_63; + case 5: + temp_a0_4 = D_80048B8C; + phi_v1_8 = NULL; + if (temp_a0_4 != 0) { + phi_v1_8 = NULL; + if (1 == temp_a0_4->unk0) { + phi_v1_8 = NULL; + if (arg0->unk28 == temp_a0_4->unk80) { + phi_v1_8 = temp_a0_4; + } + } + } + temp_v0_4 = D_80048B94; + phi_v0_2 = temp_v0_4; + phi_v1_6 = phi_v1_8; + phi_v1_7 = phi_v1_8; + if (temp_v0_4 != 0) { +loop_23: + if ((1 == phi_v0_2->unk0) && (arg0->unk28 == phi_v0_2->unk80)) { + phi_v1_7 = phi_v0_2; + } + temp_v0_5 = phi_v0_2->unkC; + phi_v0_2 = temp_v0_5; + phi_v1_6 = phi_v1_7; + if (temp_v0_5 != 0) { + goto loop_23; + } + } + temp_v0_6 = D_80048B84; + phi_v0_3 = temp_v0_6; + phi_v1_4 = phi_v1_6; + phi_v1_5 = phi_v1_6; + if (temp_v0_6 != 0) { +loop_28: + if ((1 == phi_v0_3->unk0) && (arg0->unk28 == phi_v0_3->unk80)) { + phi_v1_5 = phi_v0_3; + } + temp_v0_7 = phi_v0_3->unkC; + phi_v0_3 = temp_v0_7; + phi_v1_4 = phi_v1_5; + if (temp_v0_7 != 0) { + goto loop_28; + } + } + temp_v0_8 = D_80048BA4; + if ((temp_v0_8 != 0) && (1 == *temp_v0_8) && (arg0->unk28 == temp_a0_4->unk80)) { + phi_v1_4 = temp_v0_8; + } + temp_v0_9 = D_80048B9C; + phi_v0_4 = temp_v0_9; + phi_v1_2 = phi_v1_4; + phi_v1_3 = phi_v1_4; + if (temp_v0_9 != 0) { +loop_37: + if ((1 == phi_v0_4->unk0) && (arg0->unk28 == phi_v0_4->unk80)) { + phi_v1_3 = phi_v0_4; + } + temp_v0_10 = phi_v0_4->unkC; + phi_v0_4 = temp_v0_10; + phi_v1_2 = phi_v1_3; + if (temp_v0_10 != 0) { + goto loop_37; + } + } + if (phi_v1_2 != 0) { + phi_v1_2->unk1C = arg0->unk1C; + phi_v1_2->unk20 = arg0->unk20; + phi_v1_2->unk6C = arg0->unk24; + } else { + temp_a0_5 = arg0->unk24; + if (temp_a0_5 != 0) { + func_80001774(temp_a0_5, 1); + } + temp_a0_6 = arg0->unk20; + if (temp_a0_6 != 0) { + osSendMesg(temp_a0_6, arg0->unk1C, 0); + goto block_63; + case 6: + temp_a0_7 = arg0->unk20; + if (temp_a0_7 != 0) { + osSendMesg(temp_a0_7, arg0->unk1C, 0); + goto block_63; + case 7: + D_80048C8C = arg0->unk24; + D_80048C90 = arg0->unk28; + temp_a0_8 = arg0->unk20; + if (temp_a0_8 != 0) { + osSendMesg(temp_a0_8, arg0->unk1C, 0); + goto block_63; + case 8: + D_80048CD0 = 1; + D_80048CD4 = arg0->unk24; + temp_a0_9 = arg0->unk20; + if (temp_a0_9 != 0) { + osSendMesg(temp_a0_9, arg0->unk1C, 0); + goto block_63; + case 9: + D_80048CD0 = 0; + temp_a0_10 = arg0->unk20; + if (temp_a0_10 != 0) { + osSendMesg(temp_a0_10, arg0->unk1C, 0); + goto block_63; + case 10: + temp_a0_11 = D_80048B84; + phi_a1 = 1; + phi_a0 = temp_a0_11; + if (temp_a0_11 != 0) { +loop_56: + temp_v0_11 = phi_a0->unk0; + if ((phi_a1 == temp_v0_11) || (temp_v0_11 == 4)) { + sp34 = phi_a0->unkC; + func_80000CE4(phi_a0, phi_a1); + phi_a0_2 = sp34; + phi_a1 = 1; + } else { + phi_a0_2 = phi_a0->unkC; + } + phi_a0 = phi_a0_2; + if (phi_a0_2 != 0) { + goto loop_56; + } + } + D_80048C60 = 0; + temp_a0_12 = arg0->unk20; + if (temp_a0_12 != 0) { + osSendMesg(temp_a0_12, arg0->unk1C, 0); + } + } + } + } + } + } + } + } + } + } + } +block_63: + return sp4C; +} #else GLOBAL_ASM("asm/non_matchings/ovl0/ovl0/func_800019BC.s") #endif @@ -962,8 +1214,8 @@ u32 func_8000206C(void) { if ((phi_v0 != 0) && (1 == phi_v0->unk18) && (phi_v0->unk8 != 5)) { if ((1 == phi_v0->unk0) && (1 == phi_v0->unk74)) { osInvalDCache(&D_80048C80, 8); - D_80048B8C->unk78 = (&D_80048C80)[1]; - temp_t7 = (&D_80048C80)[1]; + D_80048B8C->unk78 = D_80048C80.unk4; + temp_t7 = D_80048C80.unk4; temp_t2 = D_80048C88 + temp_t7; sp18 = D_80048C80.unk0; temp_t6 = ((temp_t2 + 0xF) >> 4) * 0x10; @@ -974,7 +1226,7 @@ u32 func_8000206C(void) { if (sp18 >= temp_t8) { if (temp_t8 < sp18) { block_17: - fatal_printf(&D_8003FEA0, temp_t6, 1, &D_80048B8C); + fatal_printf("rdp_output_buff over !! size = %d\n byte", temp_t6, 1, &D_80048B8C); loop_18: goto loop_18; } @@ -1137,7 +1389,7 @@ void func_8000256C(u32 *arg0) { } #ifdef MIPS_TO_C -void func_80002598(void *arg0) { +void func_80002598(s32 arg0) { s32 sp84; ? sp30; ? *temp_t5_2; @@ -1202,7 +1454,7 @@ void func_80002598(void *arg0) { gCurrFrameBuffer = 0; D_80048CD0 = 0; D_80048CD8 = &D_80002AF8; - D_80048CDC = NULL; + D_80048CDC = 0; D_80048CE0 = -1; temp_v0 = D_80000300; if (temp_v0 != 0) { @@ -1372,9 +1624,9 @@ loop_16: D_80048C7C.unk1 = D_80048C7C.unk1 | 0x80; osCreateMesgQueue(&gInterruptMesgQueue, &D_80048C98, 8); osViSetEvent(&gInterruptMesgQueue, 1, 1); - osSetEventMesg(OS_EVENT_SP, &gInterruptMesgQueue, 2); - osSetEventMesg(OS_EVENT_DP, &gInterruptMesgQueue, 3); - osSetEventMesg(OS_EVENT_PRENMI, &gInterruptMesgQueue, 0x63); + osSetEventMesg(4, &gInterruptMesgQueue, 2); + osSetEventMesg(9, &gInterruptMesgQueue, 3); + osSetEventMesg(0xE, &gInterruptMesgQueue, 0x63); osSendMesg(&D_80048A08, 1, 0); loop_26: osRecvMesg(&gInterruptMesgQueue, &sp84, 1); diff --git a/src/ovl0/ovl0_2.c b/src/ovl0/ovl0_2.c index 7767eac7..aa19cb2b 100644 --- a/src/ovl0/ovl0_2.c +++ b/src/ovl0/ovl0_2.c @@ -234,7 +234,7 @@ void *func_80004250(void) { osCreateMesgQueue(&D_80048DA0, &D_80048DB8, 1); osSetEventMesg(5, &D_80048DA0, 1); - osContReset(&D_80048DA0, &sp43); + osContInit(&D_80048DA0, &sp43); phi_s1 = &D_80048E70; phi_s0 = 0; loop_1: diff --git a/src/ovl0/ovl0_2_5.c b/src/ovl0/ovl0_2_5.c index c5eeac9d..a77de73e 100644 --- a/src/ovl0/ovl0_2_5.c +++ b/src/ovl0/ovl0_2_5.c @@ -6,6 +6,43 @@ #include "ovl0_2_5.h" #include "types.h" +struct UcodeHandler { + u32 *text; // ucode text + u32 *data; // ucode data +}; + +extern long long int gspF3DEX2_fifoDataStart[]; +extern long long int gspF3DEX2_fifoTextStart[]; + +extern long long int gspL3DEX2_fifoDataStart[]; +extern long long int gspL3DEX2_fifoTextStart[]; + +extern long long int gspS2DEX2_fifoDataStart[]; +extern long long int gspS2DEX2_fifoTextStart[]; + +u32 D_8003DCA0 = 0x00000000; +u32 D_8003DCA4 = 0x00000000; +u32 D_8003DCA8 = 0x00000000; + +struct UcodeHandler D_8003DCAC[16] = { + {gspF3DEX2_fifoTextStart, gspF3DEX2_fifoDataStart}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {gspL3DEX2_fifoTextStart, gspL3DEX2_fifoDataStart}, + {NULL, NULL}, + {gspS2DEX2_fifoTextStart, gspS2DEX2_fifoDataStart}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL} +}; + extern void (*D_8004A48C)(void); extern void func_80000A44(void); extern u32 *gObjectThreadMaybe; @@ -138,7 +175,6 @@ void func_800056DC(s32 arg0, u32 arg1) { extern const char D_80040018[]; -extern u32 D_8003DCA0; // These are used in other functions too extern u32 D_8004A438, D_8004A43C; @@ -287,11 +323,6 @@ void func_800059F8(void) { func_80005530(); } -extern struct UcodeHandler { - u32 *text; // ucode text - u32 *data; // ucode data -} D_8003DCAC[]; - extern u32 D_80049760[]; // TODO; is this a different type? extern u32 D_80049358; extern const char D_800400C0[]; @@ -1056,8 +1087,6 @@ void func_80006EE4(struct unk_func8006E30 *arg0) { } } -extern s32 D_8003DCA8; - void func_80006F60(struct Unk80005A98 *arg0) { s32 sp34; struct Unk80005A98 *temp_a0; diff --git a/src/ovl0/ovl0_2_5_2.c b/src/ovl0/ovl0_2_5_2.c index de52d8b4..84d96562 100644 --- a/src/ovl0/ovl0_2_5_2.c +++ b/src/ovl0/ovl0_2_5_2.c @@ -13,6 +13,42 @@ extern struct ObjThread *gObjectThreadMaybe; extern u8 D_80040230[]; extern u32 D_8004A544; +s32 D_8003DE50 = 10000000; + +u32 D_8003DE54 = 0x00000000; + +f32 D_8003DE58[7] = { + 0.0f, 0.0f, 30.0f, 4.0f / 3.0f, 100.0f, 12800.0f, 1.0f +}; + +f32 D_8003DE74[8] = { + 0.0f, -160.0f, 160.0f, -120.0f, 120.0f, 100.0f, 12800.0f, 1.0f +}; + +f32 D_8003DE94[3][3] = { + { 0.0f, 0.0f, 0.0f }, + { 1500.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 1.0f } +}; + +u32 D_8003DEB8 = 0x00000000; + +f32 D_8003DEBC[4] = { + 0.0f, 0.0f, 0.0f, 0.0f +}; + +f32 D_8003DECC[5] = { + 0.0f, 0.0f, 0.0f, 0.0f, 1.0f +}; + +f32 D_8003DEE0[5] = { + 0.0f, 0.0f, 0.0f, 0.0f, 0.0f +}; + +f32 D_8003DEF4[4] = { + 0.0f, 1.0f, 1.0f, 1.0f +}; + struct ObjThread *get_gobj_thread(void) { struct ObjThread *ret; if (gObjectThreadMaybe == NULL) { @@ -526,7 +562,6 @@ void func_800089EC(struct Camera *arg0) { extern u8 D_80040314[]; extern u8 D_80040340[]; -extern s32 D_8003DE50; // thread ID extern u32 D_8004A54C; struct ObjThread *get_gobj_thread(); @@ -1758,7 +1793,6 @@ loop_3: GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_2_5/func_8000AAE0.s") #endif -extern s32 D_8003DE54; extern s32 D_8004A7D4; u32 func_8000ABAC(struct UnkStruct8004A7C4 *arg0) { u32 temp_a1; diff --git a/src/ovl0/ovl0_4.c b/src/ovl0/ovl0_4.c index d9cd1e99..995c793e 100644 --- a/src/ovl0/ovl0_4.c +++ b/src/ovl0/ovl0_4.c @@ -2,14 +2,84 @@ #include #include "ovl0_4.h" -extern u16 D_8003E320; -extern s32 D_8003E324; -extern u8 D_8003DF20[]; -extern s32 D_8003DF10, D_8003DF14, D_8003DF18, D_8003DF1C; extern s32 D_8004AB9C; - extern Gfx *gDisplayListHeads[4]; +s32 D_8003DF10 = 0x0000000A; +s32 D_8003DF14 = 0x0000000A; +s32 D_8003DF18 = 0x0000000A; +s32 D_8003DF1C = 0x0000000A; + +u8 D_8003DF20[0x400] = { + 0x2B, 0xE6, 0xDB, 0xB9, 0xB1, 0xF3, 0x53, 0x81, 0x37, 0x01, 0x7F, 0x44, 0x23, 0x3C, 0x11, 0xD0, + 0x48, 0x80, 0xD2, 0x15, 0x6A, 0x70, 0x9B, 0x9E, 0x27, 0x51, 0xB0, 0x4B, 0x6A, 0xDB, 0x1E, 0xFF, + 0x2D, 0xBC, 0x5B, 0x38, 0x6D, 0xCA, 0xAA, 0xF5, 0xCB, 0x42, 0x56, 0x96, 0x0F, 0x28, 0x6A, 0x59, + 0x08, 0x08, 0xB5, 0x1B, 0xA4, 0xEC, 0xAD, 0x8B, 0x7E, 0xD9, 0x6F, 0x4E, 0x8E, 0x40, 0x92, 0xA2, + 0x7F, 0x27, 0x88, 0x8D, 0x65, 0x5B, 0x3A, 0xF6, 0xA2, 0x41, 0xC8, 0xA6, 0x4A, 0xA6, 0xDE, 0x28, + 0x8C, 0x48, 0xD7, 0x90, 0x9B, 0xAB, 0xAB, 0x73, 0x9A, 0x44, 0x6F, 0x73, 0xF7, 0xE4, 0x15, 0x04, + 0xE6, 0xFF, 0xD8, 0xCD, 0xE7, 0xA9, 0x1D, 0x56, 0x4B, 0xEE, 0xD5, 0xBE, 0x32, 0x93, 0xCF, 0x7F, + 0x39, 0x4D, 0xA8, 0x15, 0x32, 0xF7, 0x68, 0x67, 0x9B, 0x6F, 0xD6, 0x84, 0x30, 0xE3, 0xDE, 0x52, + 0x5C, 0x09, 0x34, 0x54, 0xAB, 0x76, 0x03, 0x5A, 0xDE, 0xE0, 0xE4, 0xA0, 0x49, 0xAF, 0x0B, 0x7B, + 0x54, 0x2C, 0x82, 0xBC, 0xF4, 0xCE, 0xA4, 0x0A, 0x99, 0x42, 0x5C, 0xD0, 0x67, 0xAC, 0x46, 0x1C, + 0x05, 0x09, 0x4C, 0x87, 0x64, 0x61, 0x5D, 0x57, 0x4E, 0x13, 0x39, 0x67, 0x7D, 0x02, 0x26, 0x2A, + 0x04, 0x49, 0xAE, 0xC3, 0x69, 0x7B, 0x52, 0xEC, 0x7D, 0xA7, 0x45, 0x0F, 0xB4, 0x12, 0xAE, 0x44, + 0xA5, 0x1A, 0x22, 0xBC, 0xF3, 0xD0, 0x35, 0x3A, 0x50, 0x43, 0xEB, 0x94, 0x66, 0x9D, 0x85, 0xBB, + 0x0C, 0x02, 0xD9, 0x0B, 0xC5, 0xE8, 0xB2, 0x1D, 0x1A, 0x20, 0x66, 0x25, 0xAE, 0xF9, 0x33, 0xEF, + 0xD8, 0x1F, 0xA1, 0xDF, 0x68, 0xFB, 0xB0, 0xC5, 0x91, 0xA5, 0x24, 0x8D, 0xCC, 0xC1, 0x06, 0xA2, + 0x5D, 0xFD, 0x50, 0x45, 0xE6, 0x75, 0x4A, 0x5E, 0x02, 0xB7, 0x6C, 0xFE, 0x81, 0xB8, 0x93, 0x8C, + 0x4C, 0x29, 0x1F, 0xB1, 0x9A, 0xFA, 0x85, 0x23, 0xCE, 0x43, 0x04, 0x76, 0x5B, 0x14, 0xAF, 0x32, + 0xDA, 0xF7, 0x48, 0xBF, 0x0C, 0x3F, 0x30, 0x6D, 0x86, 0x2C, 0xE2, 0xA3, 0x31, 0x0D, 0xFF, 0xD3, + 0xF0, 0x76, 0x7B, 0x89, 0xED, 0xAA, 0x97, 0x0E, 0x45, 0xB3, 0x5B, 0xAB, 0x92, 0xB5, 0x79, 0xD3, + 0xCC, 0xFA, 0x4C, 0x7E, 0xA0, 0x25, 0x1A, 0xED, 0x56, 0xF4, 0xBE, 0xCA, 0xF2, 0xD7, 0x00, 0x6A, + 0xF3, 0x62, 0xC0, 0xBF, 0xB3, 0x56, 0x46, 0x50, 0x91, 0x69, 0x65, 0x5C, 0xC2, 0xDB, 0xE1, 0x8E, + 0x79, 0x03, 0xD9, 0xAC, 0xED, 0x10, 0xBB, 0x5E, 0x8B, 0xC1, 0xE5, 0xD4, 0xF1, 0xD7, 0x78, 0x6E, + 0x4D, 0x44, 0x01, 0x80, 0xDC, 0xB1, 0x0A, 0x97, 0x72, 0x1E, 0x5D, 0xB4, 0x99, 0xC0, 0xB0, 0x20, + 0x04, 0x39, 0xF6, 0xC1, 0xF7, 0x2B, 0x3D, 0x45, 0x59, 0xEC, 0x53, 0x4F, 0x9A, 0x86, 0xE5, 0x06, + 0x55, 0x80, 0x40, 0x9C, 0x86, 0x83, 0x90, 0x2D, 0x9B, 0xD1, 0xEF, 0xB9, 0x68, 0xDC, 0x93, 0x1D, + 0xC2, 0x6C, 0xB6, 0xE2, 0xCF, 0x28, 0x10, 0xB6, 0x16, 0x52, 0x33, 0x60, 0xDB, 0x82, 0x41, 0xD0, + 0xFD, 0x47, 0x1C, 0x35, 0x58, 0x94, 0x58, 0xE5, 0xBB, 0x58, 0xA2, 0x4C, 0x64, 0xCE, 0xCA, 0x94, + 0x13, 0x47, 0x6F, 0xA7, 0xF8, 0x5E, 0xC4, 0x3B, 0x76, 0x85, 0x01, 0x61, 0x26, 0x13, 0x28, 0x23, + 0x52, 0xFB, 0x19, 0x89, 0x35, 0xEA, 0xDD, 0x88, 0xE7, 0xBE, 0xA9, 0x2F, 0xD5, 0x82, 0x9C, 0x51, + 0x7F, 0x51, 0x29, 0x31, 0xDA, 0xF9, 0xFA, 0x2A, 0x06, 0xC2, 0xE3, 0x14, 0xD5, 0xEC, 0x79, 0xE9, + 0xDD, 0x75, 0x72, 0x37, 0x84, 0xFE, 0x7D, 0x72, 0x8E, 0xCD, 0xF5, 0xC3, 0xA8, 0xBA, 0xD8, 0xC6, + 0xD4, 0x42, 0x0B, 0xEE, 0x1B, 0xE0, 0xFE, 0xF0, 0xD7, 0xA6, 0xC6, 0x22, 0x12, 0x25, 0x49, 0x81, + 0xC0, 0x9F, 0x33, 0x9F, 0x38, 0xB7, 0x3C, 0x38, 0x42, 0xE2, 0xCB, 0xA9, 0x17, 0x03, 0x4E, 0xD3, + 0xF5, 0xE9, 0x77, 0x0E, 0xA8, 0x08, 0x3D, 0x47, 0x86, 0x98, 0xDA, 0x20, 0xD6, 0x9F, 0x7D, 0xFC, + 0xEE, 0xD6, 0x14, 0x5F, 0xFC, 0x5F, 0x46, 0xDF, 0xF2, 0x87, 0x39, 0x19, 0xA1, 0x62, 0x65, 0xA7, + 0x51, 0x64, 0x20, 0x7E, 0x77, 0xFD, 0xC9, 0xA7, 0x80, 0x5F, 0xFB, 0x41, 0xA0, 0xBD, 0x9D, 0x83, + 0xFC, 0xDF, 0xF0, 0xE3, 0x05, 0x60, 0xA6, 0xBB, 0xD9, 0xB0, 0x59, 0x43, 0xFF, 0xD1, 0x30, 0x7C, + 0xB2, 0xAF, 0x8D, 0x8C, 0xC7, 0x53, 0xF1, 0x47, 0x92, 0x38, 0xA3, 0x57, 0x9C, 0x0A, 0x72, 0x95, + 0x4A, 0x7C, 0xE4, 0xBF, 0x84, 0x49, 0x15, 0x2E, 0x2D, 0x0C, 0x68, 0x7C, 0x3B, 0x84, 0xEF, 0x05, + 0x1C, 0x78, 0x78, 0x2E, 0x6B, 0x11, 0x1D, 0x27, 0x3D, 0x87, 0x61, 0x1B, 0x3C, 0x93, 0x5A, 0x99, + 0xE8, 0x89, 0x95, 0xD2, 0xE1, 0x3B, 0x0C, 0x99, 0x11, 0x9F, 0x67, 0x3C, 0xC7, 0x98, 0xF2, 0x8B, + 0xCD, 0x21, 0x66, 0x19, 0x73, 0x96, 0xEB, 0xAA, 0x89, 0xCB, 0x4B, 0x8F, 0x33, 0xA5, 0x74, 0x4B, + 0x2F, 0xA1, 0x2A, 0x55, 0x48, 0x5A, 0xAD, 0x13, 0x0A, 0x43, 0xB4, 0xFA, 0xD5, 0x3F, 0xAC, 0x79, + 0x85, 0xD6, 0x9E, 0x9D, 0x60, 0x73, 0x74, 0xB2, 0x98, 0xE1, 0xBA, 0xB2, 0x6B, 0x29, 0xEB, 0x71, + 0x7B, 0xF2, 0x40, 0x37, 0x12, 0x90, 0x1F, 0x9D, 0x62, 0x1E, 0xAE, 0x6C, 0x3A, 0x8B, 0xCB, 0x1E, + 0x71, 0xBD, 0x2C, 0x9C, 0xBE, 0x8E, 0x10, 0x98, 0x70, 0xD4, 0x11, 0x4F, 0x07, 0x2F, 0x8F, 0x09, + 0x57, 0xE8, 0x0D, 0x3E, 0xC2, 0xDC, 0xA1, 0xF5, 0x6C, 0x46, 0x24, 0x26, 0x16, 0x8A, 0xEA, 0xED, + 0x1F, 0x00, 0x74, 0x00, 0x18, 0x2F, 0xF6, 0xCC, 0xC6, 0x02, 0x78, 0xC7, 0xB8, 0x2C, 0x2A, 0xE3, + 0x91, 0xD4, 0xFC, 0xF4, 0xCF, 0x7A, 0x3D, 0xC3, 0x14, 0xCC, 0x3F, 0xA0, 0xDE, 0x22, 0x0D, 0x1A, + 0x6D, 0xBD, 0xD1, 0x27, 0xBA, 0x6D, 0x08, 0x4D, 0x50, 0x07, 0xE7, 0x6B, 0x71, 0x36, 0x8C, 0x35, + 0x18, 0x2B, 0xFD, 0xA8, 0x74, 0x7A, 0xB9, 0x0E, 0x3B, 0x5D, 0x17, 0xBF, 0xB3, 0x3A, 0x00, 0x83, + 0xEF, 0x26, 0xF6, 0x2D, 0x31, 0xF9, 0x9E, 0xC1, 0xC9, 0x58, 0xE7, 0xC7, 0x41, 0x71, 0x36, 0x07, + 0xB7, 0x63, 0x29, 0xFB, 0x06, 0x63, 0x05, 0x0B, 0xF0, 0x88, 0x1B, 0x6B, 0x4F, 0xB8, 0xD8, 0x75, + 0x34, 0x70, 0x21, 0x92, 0xE2, 0x95, 0xC6, 0x70, 0x63, 0xDA, 0xEA, 0xB4, 0x77, 0xBC, 0xCF, 0x3E, + 0xC9, 0xE0, 0xC4, 0x65, 0xE0, 0xC5, 0x40, 0xEA, 0xC8, 0xF1, 0xF8, 0xD3, 0x34, 0x32, 0x54, 0x61, + 0x5F, 0xAD, 0x6E, 0x34, 0x17, 0xA3, 0x2E, 0xB3, 0xA3, 0xC3, 0x5C, 0xD2, 0x54, 0x16, 0x5A, 0x55, + 0xAC, 0x94, 0xAD, 0x53, 0xAA, 0x96, 0xCA, 0xEE, 0x64, 0x30, 0xB7, 0x87, 0x82, 0x36, 0xF1, 0xDD, + 0x31, 0x69, 0xCD, 0xA9, 0x91, 0xA5, 0x18, 0xC5, 0xF9, 0xE4, 0x8F, 0x97, 0x90, 0xE6, 0xCE, 0x23, + 0xB8, 0x59, 0x0D, 0xB1, 0x95, 0x4E, 0x2E, 0xB5, 0x8A, 0x57, 0x7C, 0xC9, 0x77, 0x88, 0xC4, 0x21, + 0x7A, 0xFE, 0x75, 0x83, 0x81, 0x63, 0x10, 0x3E, 0xB6, 0x0F, 0x7E, 0x36, 0x5E, 0x62, 0x6E, 0xD2, + 0x55, 0x19, 0x4F, 0x16, 0xC4, 0xBA, 0xA4, 0xAF, 0xE9, 0xB9, 0x0E, 0x25, 0x9A, 0xF8, 0x09, 0x0F, + 0x03, 0x12, 0xBD, 0x7A, 0xB6, 0xE9, 0x3E, 0x37, 0x24, 0x8A, 0xF8, 0x97, 0xF3, 0xE8, 0x4D, 0xE5, + 0x4A, 0x60, 0x3F, 0xA4, 0x2B, 0x24, 0xC0, 0xDC, 0x17, 0x66, 0x69, 0x21, 0xB5, 0x8F, 0x8D, 0x6E, + 0x96, 0x07, 0xF4, 0xD1, 0x1C, 0xC8, 0xE1, 0x18, 0xDD, 0xEB, 0x22, 0x01, 0x9E, 0xDF, 0xC8, 0x8A, +}; + +u16 D_8003E320 = 0x00000000; +s32 D_8003E324 = 0x00000001; + void func_80010B20(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { D_8003DF10 = arg0; D_8003DF14 = arg1; diff --git a/src/ovl0/ovl0_6.c b/src/ovl0/ovl0_6.c index 8e7fef3d..ec688439 100644 --- a/src/ovl0/ovl0_6.c +++ b/src/ovl0/ovl0_6.c @@ -4,11 +4,16 @@ #include "types.h" #include "ovl0_6.h" +s16 D_8003E330[0x800] = { +#include "s16_sintable.h" +}; + #define COMBINE_INTEGRAL(a, b) ((a & 0xffff0000 ) | ((b >> 16))) #define COMBINE_FRACTIONAL(a, b) ((a << 16)) | (b & 0xffff) typedef f32 Mat4[4][4]; + // Seems to be a version of MtxF2L that uses unsigned values only void func_80019A30(float mf[4][4], Mtx *m) { u32 e1,e2; diff --git a/src/ovl0/ovl0_6.h b/src/ovl0/ovl0_6.h index fc866641..06ec1e29 100644 --- a/src/ovl0/ovl0_6.h +++ b/src/ovl0/ovl0_6.h @@ -41,4 +41,4 @@ // mat[0][0] = a0; \ // } -#endif \ No newline at end of file +#endif diff --git a/src/ovl0/ovl0_7.c b/src/ovl0/ovl0_7.c index d858f010..0eb8d4e2 100644 --- a/src/ovl0/ovl0_7.c +++ b/src/ovl0/ovl0_7.c @@ -1,5 +1,55 @@ #include #include +#include "segments.h" + +u32 D_8003F330 = 0x00000000; + +u32 D_8003F334 = 0x00000000; + +u32 D_8003F338 = 0x00000001; + +u32 D_8003F33C = 0x00000000; + +u32 D_8003F340 = 0x00000000; + +u32 D_8003F344 = 0x00000001; + +u16 D_8003F348[] = { + 0x0000, 0x0000, 0x0000, 0x0000 +}; + +u32 D_8003F350 = 0x8004ADC0; +u32 D_8003F354 = 0x0004B000; +u32 D_8003F358 = 0x7D001018; +u32 D_8003F35C = 0x40400818; +u32 D_8003F360 = 0x00003214; + +u32 *D_8003F364 = (u32*)_data_3E1400SegmentRomStart; +u32 *D_8003F368 = (u32*)_data_3E6BC0SegmentRomStart; +u32 *D_8003F36C = (u32*)_data_3E6BC0SegmentRomStart; +u32 *D_8003F370 = (u32*)_data_2A8CB0SegmentRomStart; +u32 *D_8003F374 = (u32*)_data_2B1510SegmentRomStart; +u32 *D_8003F378 = (u32*)_data_2B1510SegmentRomStart; +u32 *D_8003F37C = (u32*)_data_250320SegmentRomStart; + +u32 D_8003F380 = 0x00100808; +u32 D_8003F384 = 0x00000000; +u32 D_8003F388 = 0x00000000; +u32 D_8003F38C = 0x00000000; + +u32 D_8003F390 = 0x00000000; +u32 D_8003F394 = 0x00000000; +u32 D_8003F398 = 0x00000000; +u32 D_8003F39C = 0x00000000; + +u32 *D_8003F3A0 = (u32*)_data_49F590SegmentRomStart; +u32 *D_8003F3A4 = (u32*)_data_49F590SegmentRomEnd; + +u32 *D_8003F3A8 = (u32*)_data_4A0340SegmentRomStart; +u32 *D_8003F3AC = (u32*)_data_4A0340SegmentRomEnd; + +u32 *D_8003F3B0 = (u32*)_data_4A3B60SegmentRomStart; +u32 *D_8003F3B4 = (u32*)_data_4A3B60SegmentRomEnd; #ifdef MIPS_TO_C //generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 diff --git a/src/ovl0/ovl0_8.c b/src/ovl0/ovl0_8.c index 9c7cca21..4b298bb3 100644 --- a/src/ovl0/ovl0_8.c +++ b/src/ovl0/ovl0_8.c @@ -1,5 +1,97 @@ #include #include +#include "ovl0_8.h" + +u32 D_8003F3C0 = 0x00000000; +u32 D_8003F3C4 = 0x00000000; +u32 D_8003F3C8 = 0x00000003; +u32 D_8003F3CC = 0x00000000; + +u32 D_8003F3D0[0x7][4] = { + { 0x00000000, 0x00000000, 0x00000000, 0x00000003 }, + { 0x00000003, 0x00000000, 0x00000003, 0x00000003 }, + { 0x00000000, 0x00000003, 0x00000003, 0x00000003 }, + { 0x00000000, 0x00000003, 0x00000000, 0x00000006 }, + { 0x00000003, 0x00000003, 0x00000003, 0x00000006 }, + { 0x00000000, 0x00000006, 0x00000003, 0x00000006 }, + { 0x00000005, 0x00000006, 0x00000005, 0x00000006 }, +}; + +// Only the first 7 in each row are used, and each of the first 7 elements of the row corresponds to a row in the above array +u32 D_8003F440[0x11][8] = { + { 0x00000001, 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000000 }, + { 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000 }, + { 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000000 }, + { 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000000 }, + { 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000 }, + { 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000000 }, + { 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000000 }, + { 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000 }, + { 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000000 }, + { 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000000 }, + { 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000000, 0x00000000 }, + { 0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000000 }, + { 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000000 }, + { 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000000 }, + { 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000000 }, + { 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x00000000 }, + { 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, +}; + +f32 D_8003F660[10] = { + 1.0f, 10.0f, 100.0f, 1000.0f, 10000.0f, 100000.0f, 1000000.0f, 10000000.0f, 100000000.0f, 1000000000.0f +}; + +u8 D_8003F688 = 0; + +u8 crashScreenGlyphTable[128] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x29, 0xFF, 0xFF, 0xFF, 0x2B, 0xFF, 0xFF, 0x25, 0x26, 0xFF, 0x2A, 0xFF, 0x27, 0x2C, 0xFF, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0x28, + 0xFF, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +}; + +// Is this really a u32 array? It seems to be used as such based on the assembly of the function it's used in +u32 D_8003F70C[0x40] = { + 0x70871C30, 0x8988A250, 0x88808290, 0x88831C90, + 0x888402F8, 0x88882210, 0x71CF9C10, 0xF9CF9C70, + 0x8228A288, 0xF200A288, 0x0BC11C78, 0x0A222208, + 0x8A222288, 0x71C21C70, 0x23C738F8, 0x5228A480, + 0x8A282280, 0x8BC822F0, 0xFA282280, 0x8A28A480, + 0x8BC738F8, 0xF9C89C08, 0x82288808, 0x82088808, + 0xF2EF8808, 0x82288888, 0x82288888, 0x81C89C70, + 0x8A08A270, 0x920DA288, 0xA20AB288, 0xC20AAA88, + 0xA208A688, 0x9208A288, 0x8BE8A270, 0xF1CF1CF8, + 0x8A28A220, 0x8A28A020, 0xF22F1C20, 0x82AA0220, + 0x82492220, 0x81A89C20, 0x8A28A288, 0x8A28A288, + 0x8A289488, 0x8A2A8850, 0x894A9420, 0x894AA220, + 0x70852220, 0xF8011000, 0x08020800, 0x10840400, + 0x20040470, 0x40840400, 0x80020800, 0xF8011000, + 0x70800000, 0x88822200, 0x08820400, 0x108F8800, + 0x20821000, 0x00022200, 0x20800020, 0x00000000, +}; + +// Crash screen message pointers +const char *D_8003F80C[] = { + D_80040D10, D_80040D1C, D_80040D30, D_80040D48, + D_80040D60, D_80040D78, D_80040D90, D_80040DA4, + D_80040DB8, D_80040DD0, D_80040DE8, D_80040E00, + D_80040E18, D_80040E2C, D_80040E3C, D_80040E58, + D_80040E74, D_80040E8C, +}; + +// More crash screen message pointers +const char *D_8003F854[] = { + D_80040EA8, D_80040EC0, D_80040ED4, D_80040EE8, + D_80040EF4, D_80040F00, +}; + +u32 D_8003F86C = 0x0000001E; +u32 D_8003F870 = 0x00000019; #ifdef MIPS_TO_C // generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 @@ -286,7 +378,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_8/func_80021D34.s") extern u16 *osViGetCurrentFramebuffer(void); -extern u32 D_8003F70C[]; extern u32 gCurrScreenWidth; #ifdef MIPS_TO_C void crash_screen_draw_glyph(s32 x, s32 y, s32 glyph) { @@ -394,7 +485,7 @@ char *write_to_buf(char *buffer, const char *data, size_t size) { return (char *) memcpy(buffer, data, size) + size; } #include "libc/stdarg.h" -extern u8 D_8003F68C[128]; + // something's screwy with this func #ifdef MIPS_TO_C void crash_screen_print(s32 x, s32 y, const char *fmt, ...) { @@ -413,7 +504,7 @@ void crash_screen_print(s32 x, s32 y, const char *fmt, ...) { while (size > 0) { - glyph = D_8003F68C[*ptr & 0x7f]; + glyph = crashScreenGlyphTable[*ptr & 0x7f]; if (glyph != 0xff) { crash_screen_draw_glyph(x, y, glyph); @@ -456,7 +547,6 @@ void crash_screen_print_float_reg(s32 x, s32 y, s32 regNum, void *addr) { extern const char *D_80040F38; extern const char *D_80040F2C; -extern char *D_8003F854[]; void crash_screen_print_fpcsr(u32 fpcsr) { s32 i; u32 bit; @@ -677,7 +767,7 @@ void func_80022A58(s32 arg0, ? arg1) { phi_s3 = temp_v0; loop_3: temp_v0_2 = *phi_s4; - temp_a2 = *(&D_8003F68C + (temp_v0_2 & 0x7F)); + temp_a2 = *(&crashScreenGlyphTable + (temp_v0_2 & 0x7F)); if (0xA == temp_v0_2) { D_8003F86C = 0x1E; D_8003F870 = D_8003F870 + 0xA; @@ -717,7 +807,6 @@ GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_8/func_80022B88.s") extern OSThread *(*D_80096EF8)(void); -extern u8 D_8003F688; extern OSMesgQueue *D_80096ED8; #ifdef MIPS_TO_C void func_80022BC4(s32 arg) { diff --git a/src/ovl0/ovl0_9.c b/src/ovl0/ovl0_9.c new file mode 100644 index 00000000..079846e7 --- /dev/null +++ b/src/ovl0/ovl0_9.c @@ -0,0 +1,75 @@ +#include + +u32 D_8003F880[0x1A] = { + 0x00000003, 0x00000FA0, 0x00000000, 0x00000870, + 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000002F8, 0x000005F0, + 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000960, + 0x00001388, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00005000, +}; + +u32 D_8003F8E8[0x22] = { + 0x00000004, 0x00000FA0, 0x00000000, 0x00000A50, + 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000370, 0x00000870, + 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000A50, 0x00000E38, + 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000EB0, + 0x00001F40, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00005000, +}; + +u32 D_8003F970[0xA] = { + 0x00000001, 0x00001F40, 0x00000000, 0x00001BF8, + 0x00002EE0, 0x00000000, 0x00007FFF, 0x00000000, + 0x00000000, 0x00000000, +}; + +u32 D_8003F998[0xA] = { + 0x00000001, 0x00000320, 0x00000000, 0x000000C8, + 0x00004000, 0x00000000, 0x00007FFF, 0x00001DB0, + 0x000002BC, 0x00000000, +}; + +u32 D_8003F9C0[0xA] = { + 0x00000001, 0x00000320, 0x00000000, 0x000000C8, + 0x00000000, 0x00005FFF, 0x00007FFF, 0x0000017C, + 0x000001F4, 0x00000000, +}; + +u32 D_8003F9E8[0xA] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, +}; + +s16 D_8003FA10[0x80] = { + 0x7FFF, 0x7FFC, 0x7FF5, 0x7FE8, 0x7FD7, 0x7FC0, 0x7FA5, 0x7F84, + 0x7F5F, 0x7F34, 0x7F05, 0x7ED0, 0x7E97, 0x7E58, 0x7E15, 0x7DCD, + 0x7D7F, 0x7D2D, 0x7CD6, 0x7C7A, 0x7C1A, 0x7BB4, 0x7B49, 0x7ADA, + 0x7A66, 0x79ED, 0x796F, 0x78ED, 0x7866, 0x77DA, 0x7749, 0x76B4, + 0x761A, 0x757B, 0x74D8, 0x7430, 0x7384, 0x72D3, 0x721E, 0x7164, + 0x70A6, 0x6FE3, 0x6F1C, 0x6E51, 0x6D81, 0x6CAD, 0x6BD5, 0x6AF9, + 0x6A18, 0x6933, 0x684A, 0x675D, 0x666C, 0x6577, 0x647E, 0x6381, + 0x6280, 0x617C, 0x6073, 0x5F67, 0x5E57, 0x5D43, 0x5C2C, 0x5B11, + 0x59F2, 0x58D0, 0x57AA, 0x5681, 0x5555, 0x5425, 0x52F2, 0x51BC, + 0x5082, 0x4F46, 0x4E06, 0x4CC3, 0x4B7D, 0x4A35, 0x48E9, 0x479B, + 0x4649, 0x44F5, 0x439E, 0x4245, 0x40E9, 0x3F8A, 0x3E29, 0x3CC6, + 0x3B60, 0x39F8, 0x388D, 0x3721, 0x35B2, 0x3441, 0x32CE, 0x3159, + 0x2FE2, 0x2E69, 0x2CEF, 0x2B72, 0x29F4, 0x2875, 0x26F3, 0x2570, + 0x23EC, 0x2266, 0x20DF, 0x1F57, 0x1DCE, 0x1C43, 0x1AB7, 0x192A, + 0x179C, 0x160E, 0x147E, 0x12ED, 0x115C, 0x0FCA, 0x0E38, 0x0CA5, + 0x0B11, 0x097D, 0x07E9, 0x0654, 0x04C0, 0x032A, 0x0195, 0x0000, +}; + +u32 D_8003FB10 = 0x00000000; +u32 D_8003FB14 = 0x00000000; +f32 D_8003FB18 = 1.0f; +u32 D_8003FB1C = 0xFFFF0000; +u32 D_8003FB20 = 0x00000001; +u32 D_8003FB24 = 0x00000001; + +// Insert functions here diff --git a/src/ovl0/rdp_reset.c b/src/ovl0/rdp_reset.c index 240c462e..c463a836 100644 --- a/src/ovl0/rdp_reset.c +++ b/src/ovl0/rdp_reset.c @@ -4,6 +4,43 @@ #include "ovl0_2_5.h" +void (*gScissorCallback)(Gfx **) = NULL; + +Mtx identityMatrix = {{ + 65536, 0, 1, 0, + 0, 65536, 0, 1, + 0, 0, 0, 0, + 0, 0, 0, 0, +}}; + +extern Vp gViewport; + +Gfx resetRDPDisplayList[] = { + gsDPPipeSync(), + gsSPViewport(&gViewport), + gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH), + gsSPClipRatio(FRUSTRATIO_1), + gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_OFF), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH), + gsSPMatrix(&identityMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION), + gsSPMatrix(&identityMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPPipelineMode(G_PM_NPRIMITIVE), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTexturePersp(G_TP_PERSP), + gsDPSetTextureFilter(G_TF_BILERP), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetCombineKey(G_CK_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2), + gsDPSetColorDither(G_CD_MAGICSQ), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + extern s32 gCurrScreenWidth; extern s32 gCurrScreenHeight; diff --git a/src/ovl0/s16_sintable.h b/src/ovl0/s16_sintable.h new file mode 100644 index 00000000..af077496 --- /dev/null +++ b/src/ovl0/s16_sintable.h @@ -0,0 +1,256 @@ + 0x0000, 0x0032, 0x0064, 0x0096, 0x00C9, 0x00FB, 0x012D, 0x015F, + 0x0192, 0x01C4, 0x01F6, 0x0228, 0x025B, 0x028D, 0x02BF, 0x02F1, + 0x0324, 0x0356, 0x0388, 0x03BA, 0x03ED, 0x041F, 0x0451, 0x0483, + 0x04B6, 0x04E8, 0x051A, 0x054C, 0x057F, 0x05B1, 0x05E3, 0x0615, + 0x0647, 0x067A, 0x06AC, 0x06DE, 0x0710, 0x0742, 0x0775, 0x07A7, + 0x07D9, 0x080B, 0x083D, 0x086F, 0x08A2, 0x08D4, 0x0906, 0x0938, + 0x096A, 0x099C, 0x09CE, 0x0A00, 0x0A33, 0x0A65, 0x0A97, 0x0AC9, + 0x0AFB, 0x0B2D, 0x0B5F, 0x0B91, 0x0BC3, 0x0BF5, 0x0C27, 0x0C59, + 0x0C8B, 0x0CBD, 0x0CEF, 0x0D21, 0x0D53, 0x0D85, 0x0DB7, 0x0DE9, + 0x0E1B, 0x0E4D, 0x0E7F, 0x0EB1, 0x0EE3, 0x0F15, 0x0F47, 0x0F79, + 0x0FAB, 0x0FDD, 0x100E, 0x1040, 0x1072, 0x10A4, 0x10D6, 0x1108, + 0x1139, 0x116B, 0x119D, 0x11CF, 0x1201, 0x1232, 0x1264, 0x1296, + 0x12C8, 0x12F9, 0x132B, 0x135D, 0x138E, 0x13C0, 0x13F2, 0x1423, + 0x1455, 0x1487, 0x14B8, 0x14EA, 0x151B, 0x154D, 0x157F, 0x15B0, + 0x15E2, 0x1613, 0x1645, 0x1676, 0x16A8, 0x16D9, 0x170A, 0x173C, + 0x176D, 0x179F, 0x17D0, 0x1802, 0x1833, 0x1864, 0x1896, 0x18C7, + 0x18F8, 0x192A, 0x195B, 0x198C, 0x19BD, 0x19EF, 0x1A20, 0x1A51, + 0x1A82, 0x1AB3, 0x1AE4, 0x1B16, 0x1B47, 0x1B78, 0x1BA9, 0x1BDA, + 0x1C0B, 0x1C3C, 0x1C6D, 0x1C9E, 0x1CCF, 0x1D00, 0x1D31, 0x1D62, + 0x1D93, 0x1DC4, 0x1DF5, 0x1E25, 0x1E56, 0x1E87, 0x1EB8, 0x1EE9, + 0x1F19, 0x1F4A, 0x1F7B, 0x1FAC, 0x1FDC, 0x200D, 0x203E, 0x206E, + 0x209F, 0x20D0, 0x2100, 0x2131, 0x2161, 0x2192, 0x21C2, 0x21F3, + 0x2223, 0x2254, 0x2284, 0x22B4, 0x22E5, 0x2315, 0x2345, 0x2376, + 0x23A6, 0x23D6, 0x2407, 0x2437, 0x2467, 0x2497, 0x24C7, 0x24F7, + 0x2528, 0x2558, 0x2588, 0x25B8, 0x25E8, 0x2618, 0x2648, 0x2678, + 0x26A8, 0x26D8, 0x2707, 0x2737, 0x2767, 0x2797, 0x27C7, 0x27F6, + 0x2826, 0x2856, 0x2886, 0x28B5, 0x28E5, 0x2915, 0x2944, 0x2974, + 0x29A3, 0x29D3, 0x2A02, 0x2A32, 0x2A61, 0x2A91, 0x2AC0, 0x2AEF, + 0x2B1F, 0x2B4E, 0x2B7D, 0x2BAD, 0x2BDC, 0x2C0B, 0x2C3A, 0x2C69, + 0x2C98, 0x2CC8, 0x2CF7, 0x2D26, 0x2D55, 0x2D84, 0x2DB3, 0x2DE2, + 0x2E11, 0x2E3F, 0x2E6E, 0x2E9D, 0x2ECC, 0x2EFB, 0x2F29, 0x2F58, + 0x2F87, 0x2FB5, 0x2FE4, 0x3013, 0x3041, 0x3070, 0x309E, 0x30CD, + 0x30FB, 0x312A, 0x3158, 0x3186, 0x31B5, 0x31E3, 0x3211, 0x3240, + 0x326E, 0x329C, 0x32CA, 0x32F8, 0x3326, 0x3354, 0x3382, 0x33B0, + 0x33DE, 0x340C, 0x343A, 0x3468, 0x3496, 0x34C4, 0x34F2, 0x351F, + 0x354D, 0x357B, 0x35A8, 0x35D6, 0x3604, 0x3631, 0x365F, 0x368C, + 0x36BA, 0x36E7, 0x3714, 0x3742, 0x376F, 0x379C, 0x37CA, 0x37F7, + 0x3824, 0x3851, 0x387E, 0x38AB, 0x38D8, 0x3906, 0x3932, 0x395F, + 0x398C, 0x39B9, 0x39E6, 0x3A13, 0x3A40, 0x3A6C, 0x3A99, 0x3AC6, + 0x3AF2, 0x3B1F, 0x3B4C, 0x3B78, 0x3BA5, 0x3BD1, 0x3BFD, 0x3C2A, + 0x3C56, 0x3C83, 0x3CAF, 0x3CDB, 0x3D07, 0x3D33, 0x3D60, 0x3D8C, + 0x3DB8, 0x3DE4, 0x3E10, 0x3E3C, 0x3E68, 0x3E93, 0x3EBF, 0x3EEB, + 0x3F17, 0x3F43, 0x3F6E, 0x3F9A, 0x3FC5, 0x3FF1, 0x401D, 0x4048, + 0x4073, 0x409F, 0x40CA, 0x40F6, 0x4121, 0x414C, 0x4177, 0x41A2, + 0x41CE, 0x41F9, 0x4224, 0x424F, 0x427A, 0x42A5, 0x42D0, 0x42FA, + 0x4325, 0x4350, 0x437B, 0x43A5, 0x43D0, 0x43FB, 0x4425, 0x4450, + 0x447A, 0x44A5, 0x44CF, 0x44FA, 0x4524, 0x454E, 0x4578, 0x45A3, + 0x45CD, 0x45F7, 0x4621, 0x464B, 0x4675, 0x469F, 0x46C9, 0x46F3, + 0x471C, 0x4746, 0x4770, 0x479A, 0x47C3, 0x47ED, 0x4816, 0x4840, + 0x4869, 0x4893, 0x48BC, 0x48E6, 0x490F, 0x4938, 0x4961, 0x498A, + 0x49B4, 0x49DD, 0x4A06, 0x4A2F, 0x4A58, 0x4A81, 0x4AA9, 0x4AD2, + 0x4AFB, 0x4B24, 0x4B4C, 0x4B75, 0x4B9E, 0x4BC6, 0x4BEF, 0x4C17, + 0x4C3F, 0x4C68, 0x4C90, 0x4CB8, 0x4CE1, 0x4D09, 0x4D31, 0x4D59, + 0x4D81, 0x4DA9, 0x4DD1, 0x4DF9, 0x4E21, 0x4E48, 0x4E70, 0x4E98, + 0x4EBF, 0x4EE7, 0x4F0F, 0x4F36, 0x4F5E, 0x4F85, 0x4FAC, 0x4FD4, + 0x4FFB, 0x5022, 0x5049, 0x5070, 0x5097, 0x50BF, 0x50E5, 0x510C, + 0x5133, 0x515A, 0x5181, 0x51A8, 0x51CE, 0x51F5, 0x521C, 0x5242, + 0x5269, 0x528F, 0x52B5, 0x52DC, 0x5302, 0x5328, 0x534E, 0x5375, + 0x539B, 0x53C1, 0x53E7, 0x540D, 0x5433, 0x5458, 0x547E, 0x54A4, + 0x54CA, 0x54EF, 0x5515, 0x553A, 0x5560, 0x5585, 0x55AB, 0x55D0, + 0x55F5, 0x561A, 0x5640, 0x5665, 0x568A, 0x56AF, 0x56D4, 0x56F9, + 0x571D, 0x5742, 0x5767, 0x578C, 0x57B0, 0x57D5, 0x57F9, 0x581E, + 0x5842, 0x5867, 0x588B, 0x58AF, 0x58D4, 0x58F8, 0x591C, 0x5940, + 0x5964, 0x5988, 0x59AC, 0x59D0, 0x59F3, 0x5A17, 0x5A3B, 0x5A5E, + 0x5A82, 0x5AA5, 0x5AC9, 0x5AEC, 0x5B10, 0x5B33, 0x5B56, 0x5B79, + 0x5B9D, 0x5BC0, 0x5BE3, 0x5C06, 0x5C29, 0x5C4B, 0x5C6E, 0x5C91, + 0x5CB4, 0x5CD6, 0x5CF9, 0x5D1B, 0x5D3E, 0x5D60, 0x5D83, 0x5DA5, + 0x5DC7, 0x5DE9, 0x5E0B, 0x5E2D, 0x5E50, 0x5E71, 0x5E93, 0x5EB5, + 0x5ED7, 0x5EF9, 0x5F1A, 0x5F3C, 0x5F5E, 0x5F7F, 0x5FA0, 0x5FC2, + 0x5FE3, 0x6004, 0x6026, 0x6047, 0x6068, 0x6089, 0x60AA, 0x60CB, + 0x60EC, 0x610D, 0x612D, 0x614E, 0x616F, 0x618F, 0x61B0, 0x61D0, + 0x61F1, 0x6211, 0x6231, 0x6251, 0x6271, 0x6292, 0x62B2, 0x62D2, + 0x62F2, 0x6311, 0x6331, 0x6351, 0x6371, 0x6390, 0x63B0, 0x63CF, + 0x63EF, 0x640E, 0x642D, 0x644D, 0x646C, 0x648B, 0x64AA, 0x64C9, + 0x64E8, 0x6507, 0x6526, 0x6545, 0x6563, 0x6582, 0x65A0, 0x65BF, + 0x65DD, 0x65FC, 0x661A, 0x6639, 0x6657, 0x6675, 0x6693, 0x66B1, + 0x66CF, 0x66ED, 0x670B, 0x6729, 0x6746, 0x6764, 0x6782, 0x679F, + 0x67BD, 0x67DA, 0x67F7, 0x6815, 0x6832, 0x684F, 0x686C, 0x6889, + 0x68A6, 0x68C3, 0x68E0, 0x68FD, 0x6919, 0x6936, 0x6953, 0x696F, + 0x698C, 0x69A8, 0x69C4, 0x69E1, 0x69FD, 0x6A19, 0x6A35, 0x6A51, + 0x6A6D, 0x6A89, 0x6AA5, 0x6AC1, 0x6ADC, 0x6AF8, 0x6B13, 0x6B2F, + 0x6B4A, 0x6B66, 0x6B81, 0x6B9C, 0x6BB8, 0x6BD3, 0x6BEE, 0x6C09, + 0x6C24, 0x6C3F, 0x6C59, 0x6C74, 0x6C8F, 0x6CA9, 0x6CC4, 0x6CDE, + 0x6CF9, 0x6D13, 0x6D2D, 0x6D48, 0x6D62, 0x6D7C, 0x6D96, 0x6DB0, + 0x6DCA, 0x6DE3, 0x6DFD, 0x6E17, 0x6E30, 0x6E4A, 0x6E63, 0x6E7D, + 0x6E96, 0x6EAF, 0x6EC9, 0x6EE2, 0x6EFB, 0x6F14, 0x6F2D, 0x6F46, + 0x6F5F, 0x6F77, 0x6F90, 0x6FA9, 0x6FC1, 0x6FDA, 0x6FF2, 0x700A, + 0x7023, 0x703B, 0x7053, 0x706B, 0x7083, 0x709B, 0x70B3, 0x70CB, + 0x70E2, 0x70FA, 0x7112, 0x7129, 0x7141, 0x7158, 0x716F, 0x7186, + 0x719E, 0x71B5, 0x71CC, 0x71E3, 0x71FA, 0x7211, 0x7227, 0x723E, + 0x7255, 0x726B, 0x7282, 0x7298, 0x72AF, 0x72C5, 0x72DB, 0x72F1, + 0x7307, 0x731D, 0x7333, 0x7349, 0x735F, 0x7375, 0x738A, 0x73A0, + 0x73B5, 0x73CB, 0x73E0, 0x73F6, 0x740B, 0x7420, 0x7435, 0x744A, + 0x745F, 0x7474, 0x7489, 0x749E, 0x74B2, 0x74C7, 0x74DB, 0x74F0, + 0x7504, 0x7519, 0x752D, 0x7541, 0x7555, 0x7569, 0x757D, 0x7591, + 0x75A5, 0x75B9, 0x75CC, 0x75E0, 0x75F4, 0x7607, 0x761B, 0x762E, + 0x7641, 0x7654, 0x7668, 0x767B, 0x768E, 0x76A0, 0x76B3, 0x76C6, + 0x76D9, 0x76EB, 0x76FE, 0x7710, 0x7723, 0x7735, 0x7747, 0x775A, + 0x776C, 0x777E, 0x7790, 0x77A2, 0x77B4, 0x77C5, 0x77D7, 0x77E9, + 0x77FA, 0x780C, 0x781D, 0x782E, 0x7840, 0x7851, 0x7862, 0x7873, + 0x7884, 0x7895, 0x78A6, 0x78B6, 0x78C7, 0x78D8, 0x78E8, 0x78F9, + 0x7909, 0x7919, 0x792A, 0x793A, 0x794A, 0x795A, 0x796A, 0x797A, + 0x798A, 0x7999, 0x79A9, 0x79B9, 0x79C8, 0x79D8, 0x79E7, 0x79F6, + 0x7A05, 0x7A15, 0x7A24, 0x7A33, 0x7A42, 0x7A50, 0x7A5F, 0x7A6E, + 0x7A7D, 0x7A8B, 0x7A9A, 0x7AA8, 0x7AB6, 0x7AC5, 0x7AD3, 0x7AE1, + 0x7AEF, 0x7AFD, 0x7B0B, 0x7B19, 0x7B26, 0x7B34, 0x7B42, 0x7B4F, + 0x7B5D, 0x7B6A, 0x7B77, 0x7B84, 0x7B92, 0x7B9F, 0x7BAC, 0x7BB9, + 0x7BC5, 0x7BD2, 0x7BDF, 0x7BEB, 0x7BF8, 0x7C05, 0x7C11, 0x7C1D, + 0x7C29, 0x7C36, 0x7C42, 0x7C4E, 0x7C5A, 0x7C66, 0x7C71, 0x7C7D, + 0x7C89, 0x7C94, 0x7CA0, 0x7CAB, 0x7CB7, 0x7CC2, 0x7CCD, 0x7CD8, + 0x7CE3, 0x7CEE, 0x7CF9, 0x7D04, 0x7D0F, 0x7D19, 0x7D24, 0x7D2F, + 0x7D39, 0x7D43, 0x7D4E, 0x7D58, 0x7D62, 0x7D6C, 0x7D76, 0x7D80, + 0x7D8A, 0x7D94, 0x7D9D, 0x7DA7, 0x7DB0, 0x7DBA, 0x7DC3, 0x7DCD, + 0x7DD6, 0x7DDF, 0x7DE8, 0x7DF1, 0x7DFA, 0x7E03, 0x7E0C, 0x7E14, + 0x7E1D, 0x7E26, 0x7E2E, 0x7E37, 0x7E3F, 0x7E47, 0x7E4F, 0x7E57, + 0x7E5F, 0x7E67, 0x7E6F, 0x7E77, 0x7E7F, 0x7E86, 0x7E8E, 0x7E95, + 0x7E9D, 0x7EA4, 0x7EAB, 0x7EB3, 0x7EBA, 0x7EC1, 0x7EC8, 0x7ECF, + 0x7ED5, 0x7EDC, 0x7EE3, 0x7EE9, 0x7EF0, 0x7EF6, 0x7EFD, 0x7F03, + 0x7F09, 0x7F0F, 0x7F15, 0x7F1B, 0x7F21, 0x7F27, 0x7F2D, 0x7F32, + 0x7F38, 0x7F3D, 0x7F43, 0x7F48, 0x7F4D, 0x7F53, 0x7F58, 0x7F5D, + 0x7F62, 0x7F67, 0x7F6B, 0x7F70, 0x7F75, 0x7F79, 0x7F7E, 0x7F82, + 0x7F87, 0x7F8B, 0x7F8F, 0x7F93, 0x7F97, 0x7F9B, 0x7F9F, 0x7FA3, + 0x7FA7, 0x7FAA, 0x7FAE, 0x7FB1, 0x7FB5, 0x7FB8, 0x7FBC, 0x7FBF, + 0x7FC2, 0x7FC5, 0x7FC8, 0x7FCB, 0x7FCE, 0x7FD0, 0x7FD3, 0x7FD6, + 0x7FD8, 0x7FDA, 0x7FDD, 0x7FDF, 0x7FE1, 0x7FE3, 0x7FE5, 0x7FE7, + 0x7FE9, 0x7FEB, 0x7FED, 0x7FEE, 0x7FF0, 0x7FF2, 0x7FF3, 0x7FF4, + 0x7FF6, 0x7FF7, 0x7FF8, 0x7FF9, 0x7FFA, 0x7FFB, 0x7FFC, 0x7FFC, + 0x7FFD, 0x7FFE, 0x7FFE, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x8000, + 0x8000, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFE, 0x7FFE, 0x7FFD, + 0x7FFC, 0x7FFC, 0x7FFB, 0x7FFA, 0x7FF9, 0x7FF8, 0x7FF7, 0x7FF6, + 0x7FF4, 0x7FF3, 0x7FF2, 0x7FF0, 0x7FEE, 0x7FED, 0x7FEB, 0x7FE9, + 0x7FE7, 0x7FE5, 0x7FE3, 0x7FE1, 0x7FDF, 0x7FDD, 0x7FDA, 0x7FD8, + 0x7FD6, 0x7FD3, 0x7FD0, 0x7FCE, 0x7FCB, 0x7FC8, 0x7FC5, 0x7FC2, + 0x7FBF, 0x7FBC, 0x7FB8, 0x7FB5, 0x7FB1, 0x7FAE, 0x7FAA, 0x7FA7, + 0x7FA3, 0x7F9F, 0x7F9B, 0x7F97, 0x7F93, 0x7F8F, 0x7F8B, 0x7F87, + 0x7F82, 0x7F7E, 0x7F79, 0x7F75, 0x7F70, 0x7F6B, 0x7F67, 0x7F62, + 0x7F5D, 0x7F58, 0x7F53, 0x7F4D, 0x7F48, 0x7F43, 0x7F3D, 0x7F38, + 0x7F32, 0x7F2D, 0x7F27, 0x7F21, 0x7F1B, 0x7F15, 0x7F0F, 0x7F09, + 0x7F03, 0x7EFD, 0x7EF6, 0x7EF0, 0x7EE9, 0x7EE3, 0x7EDC, 0x7ED5, + 0x7ECF, 0x7EC8, 0x7EC1, 0x7EBA, 0x7EB3, 0x7EAB, 0x7EA4, 0x7E9D, + 0x7E95, 0x7E8E, 0x7E86, 0x7E7F, 0x7E77, 0x7E6F, 0x7E67, 0x7E5F, + 0x7E57, 0x7E4F, 0x7E47, 0x7E3F, 0x7E37, 0x7E2E, 0x7E26, 0x7E1D, + 0x7E14, 0x7E0C, 0x7E03, 0x7DFA, 0x7DF1, 0x7DE8, 0x7DDF, 0x7DD6, + 0x7DCD, 0x7DC3, 0x7DBA, 0x7DB0, 0x7DA7, 0x7D9D, 0x7D94, 0x7D8A, + 0x7D80, 0x7D76, 0x7D6C, 0x7D62, 0x7D58, 0x7D4E, 0x7D43, 0x7D39, + 0x7D2F, 0x7D24, 0x7D19, 0x7D0F, 0x7D04, 0x7CF9, 0x7CEE, 0x7CE3, + 0x7CD8, 0x7CCD, 0x7CC2, 0x7CB7, 0x7CAB, 0x7CA0, 0x7C94, 0x7C89, + 0x7C7D, 0x7C71, 0x7C66, 0x7C5A, 0x7C4E, 0x7C42, 0x7C36, 0x7C29, + 0x7C1D, 0x7C11, 0x7C05, 0x7BF8, 0x7BEB, 0x7BDF, 0x7BD2, 0x7BC5, + 0x7BB9, 0x7BAC, 0x7B9F, 0x7B92, 0x7B84, 0x7B77, 0x7B6A, 0x7B5D, + 0x7B4F, 0x7B42, 0x7B34, 0x7B26, 0x7B19, 0x7B0B, 0x7AFD, 0x7AEF, + 0x7AE1, 0x7AD3, 0x7AC5, 0x7AB6, 0x7AA8, 0x7A9A, 0x7A8B, 0x7A7D, + 0x7A6E, 0x7A5F, 0x7A50, 0x7A42, 0x7A33, 0x7A24, 0x7A15, 0x7A05, + 0x79F6, 0x79E7, 0x79D8, 0x79C8, 0x79B9, 0x79A9, 0x7999, 0x798A, + 0x797A, 0x796A, 0x795A, 0x794A, 0x793A, 0x792A, 0x7919, 0x7909, + 0x78F9, 0x78E8, 0x78D8, 0x78C7, 0x78B6, 0x78A6, 0x7895, 0x7884, + 0x7873, 0x7862, 0x7851, 0x7840, 0x782E, 0x781D, 0x780C, 0x77FA, + 0x77E9, 0x77D7, 0x77C5, 0x77B4, 0x77A2, 0x7790, 0x777E, 0x776C, + 0x775A, 0x7747, 0x7735, 0x7723, 0x7710, 0x76FE, 0x76EB, 0x76D9, + 0x76C6, 0x76B3, 0x76A0, 0x768E, 0x767B, 0x7668, 0x7654, 0x7641, + 0x762E, 0x761B, 0x7607, 0x75F4, 0x75E0, 0x75CC, 0x75B9, 0x75A5, + 0x7591, 0x757D, 0x7569, 0x7555, 0x7541, 0x752D, 0x7519, 0x7504, + 0x74F0, 0x74DB, 0x74C7, 0x74B2, 0x749E, 0x7489, 0x7474, 0x745F, + 0x744A, 0x7435, 0x7420, 0x740B, 0x73F6, 0x73E0, 0x73CB, 0x73B5, + 0x73A0, 0x738A, 0x7375, 0x735F, 0x7349, 0x7333, 0x731D, 0x7307, + 0x72F1, 0x72DB, 0x72C5, 0x72AF, 0x7298, 0x7282, 0x726B, 0x7255, + 0x723E, 0x7227, 0x7211, 0x71FA, 0x71E3, 0x71CC, 0x71B5, 0x719E, + 0x7186, 0x716F, 0x7158, 0x7141, 0x7129, 0x7112, 0x70FA, 0x70E2, + 0x70CB, 0x70B3, 0x709B, 0x7083, 0x706B, 0x7053, 0x703B, 0x7023, + 0x700A, 0x6FF2, 0x6FDA, 0x6FC1, 0x6FA9, 0x6F90, 0x6F77, 0x6F5F, + 0x6F46, 0x6F2D, 0x6F14, 0x6EFB, 0x6EE2, 0x6EC9, 0x6EAF, 0x6E96, + 0x6E7D, 0x6E63, 0x6E4A, 0x6E30, 0x6E17, 0x6DFD, 0x6DE3, 0x6DCA, + 0x6DB0, 0x6D96, 0x6D7C, 0x6D62, 0x6D48, 0x6D2D, 0x6D13, 0x6CF9, + 0x6CDE, 0x6CC4, 0x6CA9, 0x6C8F, 0x6C74, 0x6C59, 0x6C3F, 0x6C24, + 0x6C09, 0x6BEE, 0x6BD3, 0x6BB8, 0x6B9C, 0x6B81, 0x6B66, 0x6B4A, + 0x6B2F, 0x6B13, 0x6AF8, 0x6ADC, 0x6AC1, 0x6AA5, 0x6A89, 0x6A6D, + 0x6A51, 0x6A35, 0x6A19, 0x69FD, 0x69E1, 0x69C4, 0x69A8, 0x698C, + 0x696F, 0x6953, 0x6936, 0x6919, 0x68FD, 0x68E0, 0x68C3, 0x68A6, + 0x6889, 0x686C, 0x684F, 0x6832, 0x6815, 0x67F7, 0x67DA, 0x67BD, + 0x679F, 0x6782, 0x6764, 0x6746, 0x6729, 0x670B, 0x66ED, 0x66CF, + 0x66B1, 0x6693, 0x6675, 0x6657, 0x6639, 0x661A, 0x65FC, 0x65DD, + 0x65BF, 0x65A0, 0x6582, 0x6563, 0x6545, 0x6526, 0x6507, 0x64E8, + 0x64C9, 0x64AA, 0x648B, 0x646C, 0x644D, 0x642D, 0x640E, 0x63EF, + 0x63CF, 0x63B0, 0x6390, 0x6371, 0x6351, 0x6331, 0x6311, 0x62F2, + 0x62D2, 0x62B2, 0x6292, 0x6271, 0x6251, 0x6231, 0x6211, 0x61F1, + 0x61D0, 0x61B0, 0x618F, 0x616F, 0x614E, 0x612D, 0x610D, 0x60EC, + 0x60CB, 0x60AA, 0x6089, 0x6068, 0x6047, 0x6026, 0x6004, 0x5FE3, + 0x5FC2, 0x5FA0, 0x5F7F, 0x5F5E, 0x5F3C, 0x5F1A, 0x5EF9, 0x5ED7, + 0x5EB5, 0x5E93, 0x5E71, 0x5E50, 0x5E2D, 0x5E0B, 0x5DE9, 0x5DC7, + 0x5DA5, 0x5D83, 0x5D60, 0x5D3E, 0x5D1B, 0x5CF9, 0x5CD6, 0x5CB4, + 0x5C91, 0x5C6E, 0x5C4B, 0x5C29, 0x5C06, 0x5BE3, 0x5BC0, 0x5B9D, + 0x5B79, 0x5B56, 0x5B33, 0x5B10, 0x5AEC, 0x5AC9, 0x5AA5, 0x5A82, + 0x5A5E, 0x5A3B, 0x5A17, 0x59F3, 0x59D0, 0x59AC, 0x5988, 0x5964, + 0x5940, 0x591C, 0x58F8, 0x58D4, 0x58AF, 0x588B, 0x5867, 0x5842, + 0x581E, 0x57F9, 0x57D5, 0x57B0, 0x578C, 0x5767, 0x5742, 0x571D, + 0x56F9, 0x56D4, 0x56AF, 0x568A, 0x5665, 0x5640, 0x561A, 0x55F5, + 0x55D0, 0x55AB, 0x5585, 0x5560, 0x553A, 0x5515, 0x54EF, 0x54CA, + 0x54A4, 0x547E, 0x5458, 0x5433, 0x540D, 0x53E7, 0x53C1, 0x539B, + 0x5375, 0x534E, 0x5328, 0x5302, 0x52DC, 0x52B5, 0x528F, 0x5269, + 0x5242, 0x521C, 0x51F5, 0x51CE, 0x51A8, 0x5181, 0x515A, 0x5133, + 0x510C, 0x50E5, 0x50BF, 0x5097, 0x5070, 0x5049, 0x5022, 0x4FFB, + 0x4FD4, 0x4FAC, 0x4F85, 0x4F5E, 0x4F36, 0x4F0F, 0x4EE7, 0x4EBF, + 0x4E98, 0x4E70, 0x4E48, 0x4E21, 0x4DF9, 0x4DD1, 0x4DA9, 0x4D81, + 0x4D59, 0x4D31, 0x4D09, 0x4CE1, 0x4CB8, 0x4C90, 0x4C68, 0x4C3F, + 0x4C17, 0x4BEF, 0x4BC6, 0x4B9E, 0x4B75, 0x4B4C, 0x4B24, 0x4AFB, + 0x4AD2, 0x4AA9, 0x4A81, 0x4A58, 0x4A2F, 0x4A06, 0x49DD, 0x49B4, + 0x498A, 0x4961, 0x4938, 0x490F, 0x48E6, 0x48BC, 0x4893, 0x4869, + 0x4840, 0x4816, 0x47ED, 0x47C3, 0x479A, 0x4770, 0x4746, 0x471C, + 0x46F3, 0x46C9, 0x469F, 0x4675, 0x464B, 0x4621, 0x45F7, 0x45CD, + 0x45A3, 0x4578, 0x454E, 0x4524, 0x44FA, 0x44CF, 0x44A5, 0x447A, + 0x4450, 0x4425, 0x43FB, 0x43D0, 0x43A5, 0x437B, 0x4350, 0x4325, + 0x42FA, 0x42D0, 0x42A5, 0x427A, 0x424F, 0x4224, 0x41F9, 0x41CE, + 0x41A2, 0x4177, 0x414C, 0x4121, 0x40F6, 0x40CA, 0x409F, 0x4073, + 0x4048, 0x401D, 0x3FF1, 0x3FC5, 0x3F9A, 0x3F6E, 0x3F43, 0x3F17, + 0x3EEB, 0x3EBF, 0x3E93, 0x3E68, 0x3E3C, 0x3E10, 0x3DE4, 0x3DB8, + 0x3D8C, 0x3D60, 0x3D33, 0x3D07, 0x3CDB, 0x3CAF, 0x3C83, 0x3C56, + 0x3C2A, 0x3BFD, 0x3BD1, 0x3BA5, 0x3B78, 0x3B4C, 0x3B1F, 0x3AF2, + 0x3AC6, 0x3A99, 0x3A6C, 0x3A40, 0x3A13, 0x39E6, 0x39B9, 0x398C, + 0x395F, 0x3932, 0x3906, 0x38D8, 0x38AB, 0x387E, 0x3851, 0x3824, + 0x37F7, 0x37CA, 0x379C, 0x376F, 0x3742, 0x3714, 0x36E7, 0x36BA, + 0x368C, 0x365F, 0x3631, 0x3604, 0x35D6, 0x35A8, 0x357B, 0x354D, + 0x351F, 0x34F2, 0x34C4, 0x3496, 0x3468, 0x343A, 0x340C, 0x33DE, + 0x33B0, 0x3382, 0x3354, 0x3326, 0x32F8, 0x32CA, 0x329C, 0x326E, + 0x3240, 0x3211, 0x31E3, 0x31B5, 0x3186, 0x3158, 0x312A, 0x30FB, + 0x30CD, 0x309E, 0x3070, 0x3041, 0x3013, 0x2FE4, 0x2FB5, 0x2F87, + 0x2F58, 0x2F29, 0x2EFB, 0x2ECC, 0x2E9D, 0x2E6E, 0x2E3F, 0x2E11, + 0x2DE2, 0x2DB3, 0x2D84, 0x2D55, 0x2D26, 0x2CF7, 0x2CC8, 0x2C98, + 0x2C69, 0x2C3A, 0x2C0B, 0x2BDC, 0x2BAD, 0x2B7D, 0x2B4E, 0x2B1F, + 0x2AEF, 0x2AC0, 0x2A91, 0x2A61, 0x2A32, 0x2A02, 0x29D3, 0x29A3, + 0x2974, 0x2944, 0x2915, 0x28E5, 0x28B5, 0x2886, 0x2856, 0x2826, + 0x27F6, 0x27C7, 0x2797, 0x2767, 0x2737, 0x2707, 0x26D8, 0x26A8, + 0x2678, 0x2648, 0x2618, 0x25E8, 0x25B8, 0x2588, 0x2558, 0x2528, + 0x24F7, 0x24C7, 0x2497, 0x2467, 0x2437, 0x2407, 0x23D6, 0x23A6, + 0x2376, 0x2345, 0x2315, 0x22E5, 0x22B4, 0x2284, 0x2254, 0x2223, + 0x21F3, 0x21C2, 0x2192, 0x2161, 0x2131, 0x2100, 0x20D0, 0x209F, + 0x206E, 0x203E, 0x200D, 0x1FDC, 0x1FAC, 0x1F7B, 0x1F4A, 0x1F19, + 0x1EE9, 0x1EB8, 0x1E87, 0x1E56, 0x1E25, 0x1DF5, 0x1DC4, 0x1D93, + 0x1D62, 0x1D31, 0x1D00, 0x1CCF, 0x1C9E, 0x1C6D, 0x1C3C, 0x1C0B, + 0x1BDA, 0x1BA9, 0x1B78, 0x1B47, 0x1B16, 0x1AE4, 0x1AB3, 0x1A82, + 0x1A51, 0x1A20, 0x19EF, 0x19BD, 0x198C, 0x195B, 0x192A, 0x18F8, + 0x18C7, 0x1896, 0x1864, 0x1833, 0x1802, 0x17D0, 0x179F, 0x176D, + 0x173C, 0x170A, 0x16D9, 0x16A8, 0x1676, 0x1645, 0x1613, 0x15E2, + 0x15B0, 0x157F, 0x154D, 0x151B, 0x14EA, 0x14B8, 0x1487, 0x1455, + 0x1423, 0x13F2, 0x13C0, 0x138E, 0x135D, 0x132B, 0x12F9, 0x12C8, + 0x1296, 0x1264, 0x1232, 0x1201, 0x11CF, 0x119D, 0x116B, 0x1139, + 0x1108, 0x10D6, 0x10A4, 0x1072, 0x1040, 0x100E, 0x0FDD, 0x0FAB, + 0x0F79, 0x0F47, 0x0F15, 0x0EE3, 0x0EB1, 0x0E7F, 0x0E4D, 0x0E1B, + 0x0DE9, 0x0DB7, 0x0D85, 0x0D53, 0x0D21, 0x0CEF, 0x0CBD, 0x0C8B, + 0x0C59, 0x0C27, 0x0BF5, 0x0BC3, 0x0B91, 0x0B5F, 0x0B2D, 0x0AFB, + 0x0AC9, 0x0A97, 0x0A65, 0x0A33, 0x0A00, 0x09CE, 0x099C, 0x096A, + 0x0938, 0x0906, 0x08D4, 0x08A2, 0x086F, 0x083D, 0x080B, 0x07D9, + 0x07A7, 0x0775, 0x0742, 0x0710, 0x06DE, 0x06AC, 0x067A, 0x0647, + 0x0615, 0x05E3, 0x05B1, 0x057F, 0x054C, 0x051A, 0x04E8, 0x04B6, + 0x0483, 0x0451, 0x041F, 0x03ED, 0x03BA, 0x0388, 0x0356, 0x0324, + 0x02F1, 0x02BF, 0x028D, 0x025B, 0x0228, 0x01F6, 0x01C4, 0x0192, + 0x015F, 0x012D, 0x00FB, 0x00C9, 0x0096, 0x0064, 0x0032, 0x0000, diff --git a/tools/new_os_symbols.txt b/tools/new_os_symbols.txt index 28a929f1..55f14c64 100644 --- a/tools/new_os_symbols.txt +++ b/tools/new_os_symbols.txt @@ -91,12 +91,9 @@ 8002F410 __osSiCreateAccessQueue 8002F460 __osSiGetAccess 8002F4A4 __osSiRelAccess -8002F4D0 osContInit 8002F640 __osContGetInitData 8002F710 __osPackRequestData -8002F810 osEepromWrite 8002F988 conteepwrite_text_0178 -8002FA34 __osEepStatus 8002FBE0 osCreateThread 8002FD30 osContStartReadData 8002FDB4 osContGetReadData @@ -315,10 +312,6 @@ 8009A2DC __osPfsPifRam 8009B490 vimgr_bss_11B0 8009B4D8 vimgr_bss_11F8 -8009B500 __osEepPifRam -8009B501 __osEepPifRam -8009B504 __osEepPifRam -8009B540 __osEepPifRam 800A4740 osProfileStop 800A8F58 osBbUsbDevGetHandle 800AB01C osVoiceCheckWord diff --git a/tools/symbol_inserter.py b/tools/symbol_inserter.py index fc6507b6..4201892c 100644 --- a/tools/symbol_inserter.py +++ b/tools/symbol_inserter.py @@ -8,9 +8,7 @@ checking_symbols = [ "lh", "sw", "sb", - "sh", - "ld", - "sd" + "sh" ] stagedRegs = {} @@ -18,6 +16,7 @@ stagedRegs = {} lineNum = 0 def isProblemLine(l, sp): + print(l) x = l.split(sp) x2 = x[1].split()[-1] xtok = x2.replace("("," ").replace(")"," ").split() diff --git a/undefined_syms.txt b/undefined_syms.txt index 6c4e4be8..5bf650be 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -815,24 +815,20 @@ D_A5000510 = 0xA5000510; __osEventStateTab_later_in_array = 0x8009A120; D_8009A124 = 0x8009A124; D_80098990 = 0x80098990; -__osSiGetAccess = 0x8002F460; __osContLastCmd = 0x80098AF0; __osSiRawStartDma = 0x800304E0; -__osSiRelAccess = 0x8002F4A4; func_80037550 = 0x80037550; func_80035CA0 = 0x80035CA0; func_80037320 = 0x80037320; func_8002F1A8 = 0x8002F1A8; -D_80098A90 = 0x80098A90; -D_80098A98 = 0x80098A98; -func_8002F410 = 0x8002F410; -D_80098AF1 = 0x80098AF1; +siAccessBuf = 0x80098A90; +__osMaxControllers = 0x80098AF1; __osPackRequestData = 0x8002F710; __osContPifRam = 0x80098AB0; __osContGetInitData = 0x8002F640; D_80098AEC = 0x80098AEC; func_8002F988 = 0x8002F988; -D_8009B500 = 0x8009B500; +__osEepPifRam = 0x8009B500; D_8009B504 = 0x8009B504; D_8009B501 = 0x8009B501; D_8009B540 = 0x8009B540; @@ -9478,5 +9474,9 @@ D_800E64D0 = 0x800E64D0; D_800E6690 = 0x800E6690; D_8003FE6C = 0x8003FE6C; D_800F6BD0 = 0x800F6BD0; +D_8009793A = 0x8009793A; +D_8003FB0E = 0x8003FB0E; +D_80041A30 = 0x80041A30; +D_80041CC0 = 0x80041CC0; /* Reserved section for symbols that wont need to be removed */ func_80300170 = D_80300170;