papermario/ver/jp/asm/nonmatchings/23330/func_80047F30.s

753 lines
37 KiB
ArmAsm
Raw Normal View History

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80047F30
/* 23330 80047F30 27BDFF68 */ addiu $sp, $sp, -0x98
/* 23334 80047F34 AFA40098 */ sw $a0, 0x98($sp)
/* 23338 80047F38 8FA80098 */ lw $t0, 0x98($sp)
/* 2333C 80047F3C AFBF0064 */ sw $ra, 0x64($sp)
/* 23340 80047F40 AFBE0060 */ sw $fp, 0x60($sp)
/* 23344 80047F44 AFB7005C */ sw $s7, 0x5c($sp)
/* 23348 80047F48 AFB60058 */ sw $s6, 0x58($sp)
/* 2334C 80047F4C AFB50054 */ sw $s5, 0x54($sp)
/* 23350 80047F50 AFB40050 */ sw $s4, 0x50($sp)
/* 23354 80047F54 AFB3004C */ sw $s3, 0x4c($sp)
/* 23358 80047F58 AFB20048 */ sw $s2, 0x48($sp)
/* 2335C 80047F5C AFB10044 */ sw $s1, 0x44($sp)
/* 23360 80047F60 AFB00040 */ sw $s0, 0x40($sp)
/* 23364 80047F64 F7BE0090 */ sdc1 $f30, 0x90($sp)
/* 23368 80047F68 F7BC0088 */ sdc1 $f28, 0x88($sp)
/* 2336C 80047F6C F7BA0080 */ sdc1 $f26, 0x80($sp)
/* 23370 80047F70 F7B80078 */ sdc1 $f24, 0x78($sp)
/* 23374 80047F74 F7B60070 */ sdc1 $f22, 0x70($sp)
/* 23378 80047F78 F7B40068 */ sdc1 $f20, 0x68($sp)
/* 2337C 80047F7C AFA0002C */ sw $zero, 0x2c($sp)
/* 23380 80047F80 84840008 */ lh $a0, 8($a0)
/* 23384 80047F84 8D0800D4 */ lw $t0, 0xd4($t0)
/* 23388 80047F88 0000902D */ daddu $s2, $zero, $zero
/* 2338C 80047F8C 0C00E9EB */ jal func_8003A7AC
/* 23390 80047F90 AFA80020 */ sw $t0, 0x20($sp)
/* 23394 80047F94 0040802D */ daddu $s0, $v0, $zero
/* 23398 80047F98 3C038007 */ lui $v1, %hi(D_800773E0)
/* 2339C 80047F9C 8C6373E0 */ lw $v1, %lo(D_800773E0)($v1)
/* 233A0 80047FA0 3C04800B */ lui $a0, %hi(D_800B1D60)
/* 233A4 80047FA4 24841D60 */ addiu $a0, $a0, %lo(D_800B1D60)
/* 233A8 80047FA8 00031080 */ sll $v0, $v1, 2
/* 233AC 80047FAC 00431021 */ addu $v0, $v0, $v1
/* 233B0 80047FB0 00021080 */ sll $v0, $v0, 2
/* 233B4 80047FB4 00431023 */ subu $v0, $v0, $v1
/* 233B8 80047FB8 000218C0 */ sll $v1, $v0, 3
/* 233BC 80047FBC 00431021 */ addu $v0, $v0, $v1
/* 233C0 80047FC0 000210C0 */ sll $v0, $v0, 3
/* 233C4 80047FC4 00448821 */ addu $s1, $v0, $a0
.L80047FC8:
/* 233C8 80047FC8 0C045605 */ jal func_80115814
/* 233CC 80047FCC 0240202D */ daddu $a0, $s2, $zero
/* 233D0 80047FD0 14400004 */ bnez $v0, .L80047FE4
/* 233D4 80047FD4 26520001 */ addiu $s2, $s2, 1
/* 233D8 80047FD8 8FA8002C */ lw $t0, 0x2c($sp)
/* 233DC 80047FDC 25080001 */ addiu $t0, $t0, 1
/* 233E0 80047FE0 AFA8002C */ sw $t0, 0x2c($sp)
.L80047FE4:
/* 233E4 80047FE4 2A42003C */ slti $v0, $s2, 0x3c
/* 233E8 80047FE8 1440FFF7 */ bnez $v0, .L80047FC8
/* 233EC 80047FEC 0000F02D */ daddu $fp, $zero, $zero
/* 233F0 80047FF0 C620006C */ lwc1 $f0, 0x6c($s1)
/* 233F4 80047FF4 3C0142B4 */ lui $at, 0x42b4
/* 233F8 80047FF8 44816000 */ mtc1 $at, $f12
/* 233FC 80047FFC 3C038015 */ lui $v1, %hi(D_801508A0)
/* 23400 80048000 8C6308A0 */ lw $v1, %lo(D_801508A0)($v1)
/* 23404 80048004 240200F6 */ addiu $v0, $zero, 0xf6
/* 23408 80048008 AFA00024 */ sw $zero, 0x24($sp)
/* 2340C 8004800C 460C0300 */ add.s $f12, $f0, $f12
/* 23410 80048010 00431023 */ subu $v0, $v0, $v1
/* 23414 80048014 0C00A6B9 */ jal func_80029AE4
/* 23418 80048018 AFA20028 */ sw $v0, 0x28($sp)
/* 2341C 8004801C 4600010D */ trunc.w.s $f4, $f0
/* 23420 80048020 44162000 */ mfc1 $s6, $f4
/* 23424 80048024 960200A8 */ lhu $v0, 0xa8($s0)
/* 23428 80048028 8FA80020 */ lw $t0, 0x20($sp)
/* 2342C 8004802C C602003C */ lwc1 $f2, 0x3c($s0)
/* 23430 80048030 00021400 */ sll $v0, $v0, 0x10
/* 23434 80048034 00021C03 */ sra $v1, $v0, 0x10
/* 23438 80048038 000217C2 */ srl $v0, $v0, 0x1f
/* 2343C 8004803C 00621821 */ addu $v1, $v1, $v0
/* 23440 80048040 00031843 */ sra $v1, $v1, 1
/* 23444 80048044 44830000 */ mtc1 $v1, $f0
/* 23448 80048048 00000000 */ nop
/* 2344C 8004804C 46800020 */ cvt.s.w $f0, $f0
/* 23450 80048050 46001080 */ add.s $f2, $f2, $f0
/* 23454 80048054 91110001 */ lbu $s1, 1($t0)
/* 23458 80048058 03C0B82D */ daddu $s7, $fp, $zero
/* 2345C 8004805C E7A20038 */ swc1 $f2, 0x38($sp)
/* 23460 80048060 C6040038 */ lwc1 $f4, 0x38($s0)
/* 23464 80048064 E7A40034 */ swc1 $f4, 0x34($sp)
/* 23468 80048068 C61E0040 */ lwc1 $f30, 0x40($s0)
/* 2346C 8004806C 0C00A66F */ jal func_800299BC
/* 23470 80048070 24040064 */ addiu $a0, $zero, 0x64
/* 23474 80048074 0051102A */ slt $v0, $v0, $s1
/* 23478 80048078 10400061 */ beqz $v0, .L80048200
/* 2347C 8004807C 03C0902D */ daddu $s2, $fp, $zero
/* 23480 80048080 03C0202D */ daddu $a0, $fp, $zero
/* 23484 80048084 24050002 */ addiu $a1, $zero, 2
/* 23488 80048088 8FA30020 */ lw $v1, 0x20($sp)
.L8004808C:
/* 2348C 8004808C 84620002 */ lh $v0, 2($v1)
/* 23490 80048090 10400009 */ beqz $v0, .L800480B8
/* 23494 80048094 24630006 */ addiu $v1, $v1, 6
/* 23498 80048098 8FA80020 */ lw $t0, 0x20($sp)
/* 2349C 8004809C 26520001 */ addiu $s2, $s2, 1
/* 234A0 800480A0 01051021 */ addu $v0, $t0, $a1
/* 234A4 800480A4 84420002 */ lh $v0, 2($v0)
/* 234A8 800480A8 00822021 */ addu $a0, $a0, $v0
/* 234AC 800480AC 2A420008 */ slti $v0, $s2, 8
/* 234B0 800480B0 1440FFF6 */ bnez $v0, .L8004808C
/* 234B4 800480B4 24A50006 */ addiu $a1, $a1, 6
.L800480B8:
/* 234B8 800480B8 0C00A66F */ jal func_800299BC
/* 234BC 800480BC 0000A82D */ daddu $s5, $zero, $zero
/* 234C0 800480C0 0040882D */ daddu $s1, $v0, $zero
/* 234C4 800480C4 02A0902D */ daddu $s2, $s5, $zero
/* 234C8 800480C8 24140004 */ addiu $s4, $zero, 4
/* 234CC 800480CC 8FB00020 */ lw $s0, 0x20($sp)
/* 234D0 800480D0 24130002 */ addiu $s3, $zero, 2
/* 234D4 800480D4 AFA00030 */ sw $zero, 0x30($sp)
.L800480D8:
/* 234D8 800480D8 86020002 */ lh $v0, 2($s0)
/* 234DC 800480DC 10400017 */ beqz $v0, .L8004813C
/* 234E0 800480E0 00000000 */ nop
/* 234E4 800480E4 8FA80020 */ lw $t0, 0x20($sp)
/* 234E8 800480E8 01131021 */ addu $v0, $t0, $s3
/* 234EC 800480EC 01141821 */ addu $v1, $t0, $s4
/* 234F0 800480F0 84420002 */ lh $v0, 2($v0)
/* 234F4 800480F4 84640002 */ lh $a0, 2($v1)
/* 234F8 800480F8 18800005 */ blez $a0, .L80048110
/* 234FC 800480FC 02A2A821 */ addu $s5, $s5, $v0
/* 23500 80048100 0C05295B */ jal func_8014A56C
/* 23504 80048104 24840714 */ addiu $a0, $a0, 0x714
/* 23508 80048108 54400007 */ bnel $v0, $zero, .L80048128
/* 2350C 8004810C 26940006 */ addiu $s4, $s4, 6
.L80048110:
/* 23510 80048110 02B1102A */ slt $v0, $s5, $s1
/* 23514 80048114 54400004 */ bnel $v0, $zero, .L80048128
/* 23518 80048118 26940006 */ addiu $s4, $s4, 6
/* 2351C 8004811C 86100002 */ lh $s0, 2($s0)
/* 23520 80048120 0801204F */ j .L8004813C
/* 23524 80048124 AFB00030 */ sw $s0, 0x30($sp)
.L80048128:
/* 23528 80048128 26730006 */ addiu $s3, $s3, 6
/* 2352C 8004812C 26520001 */ addiu $s2, $s2, 1
/* 23530 80048130 2A420008 */ slti $v0, $s2, 8
/* 23534 80048134 1440FFE8 */ bnez $v0, .L800480D8
/* 23538 80048138 26100006 */ addiu $s0, $s0, 6
.L8004813C:
/* 2353C 8004813C 8FA80098 */ lw $t0, 0x98($sp)
/* 23540 80048140 8FA80030 */ lw $t0, 0x30($sp)
/* 23544 80048144 1100002E */ beqz $t0, .L80048200
/* 23548 80048148 24020004 */ addiu $v0, $zero, 4
/* 2354C 8004814C 0100202D */ daddu $a0, $t0, $zero
/* 23550 80048150 00171840 */ sll $v1, $s7, 1
/* 23554 80048154 00771821 */ addu $v1, $v1, $s7
/* 23558 80048158 AFA20010 */ sw $v0, 0x10($sp)
/* 2355C 8004815C 00431004 */ sllv $v0, $v1, $v0
/* 23560 80048160 00431023 */ subu $v0, $v0, $v1
/* 23564 80048164 000210C0 */ sll $v0, $v0, 3
/* 23568 80048168 8FA50034 */ lw $a1, 0x34($sp)
/* 2356C 8004816C 8FA60038 */ lw $a2, 0x38($sp)
/* 23570 80048170 4407F000 */ mfc1 $a3, $f30
/* 23574 80048174 8FA80024 */ lw $t0, 0x24($sp)
/* 23578 80048178 02C21021 */ addu $v0, $s6, $v0
/* 2357C 8004817C AFA20018 */ sw $v0, 0x18($sp)
/* 23580 80048180 AFA0001C */ sw $zero, 0x1c($sp)
/* 23584 80048184 0C04D959 */ jal func_80136564
/* 23588 80048188 AFA80014 */ sw $t0, 0x14($sp)
/* 2358C 8004818C 44960000 */ mtc1 $s6, $f0
/* 23590 80048190 00000000 */ nop
/* 23594 80048194 46800021 */ cvt.d.w $f0, $f0
/* 23598 80048198 27DE0001 */ addiu $fp, $fp, 1
/* 2359C 8004819C 2BC2000C */ slti $v0, $fp, 0xc
/* 235A0 800481A0 3C01403E */ lui $at, 0x403e
/* 235A4 800481A4 44811800 */ mtc1 $at, $f3
/* 235A8 800481A8 44801000 */ mtc1 $zero, $f2
/* 235AC 800481AC 8FA80024 */ lw $t0, 0x24($sp)
/* 235B0 800481B0 46220000 */ add.d $f0, $f0, $f2
/* 235B4 800481B4 25080002 */ addiu $t0, $t0, 2
/* 235B8 800481B8 AFA80024 */ sw $t0, 0x24($sp)
/* 235BC 800481BC 4620010D */ trunc.w.d $f4, $f0
/* 235C0 800481C0 44162000 */ mfc1 $s6, $f4
/* 235C4 800481C4 14400004 */ bnez $v0, .L800481D8
/* 235C8 800481C8 00121040 */ sll $v0, $s2, 1
/* 235CC 800481CC 26F70001 */ addiu $s7, $s7, 1
/* 235D0 800481D0 0017B0C0 */ sll $s6, $s7, 3
/* 235D4 800481D4 0000F02D */ daddu $fp, $zero, $zero
.L800481D8:
/* 235D8 800481D8 00521021 */ addu $v0, $v0, $s2
/* 235DC 800481DC 24420002 */ addiu $v0, $v0, 2
/* 235E0 800481E0 8FA80020 */ lw $t0, 0x20($sp)
/* 235E4 800481E4 00021040 */ sll $v0, $v0, 1
/* 235E8 800481E8 01021021 */ addu $v0, $t0, $v0
/* 235EC 800481EC 84440002 */ lh $a0, 2($v0)
/* 235F0 800481F0 04800003 */ bltz $a0, .L80048200
/* 235F4 800481F4 00000000 */ nop
/* 235F8 800481F8 0C052940 */ jal func_8014A500
/* 235FC 800481FC 24840715 */ addiu $a0, $a0, 0x715
.L80048200:
/* 23600 80048200 3C02800B */ lui $v0, %hi(D_800B0F03)
/* 23604 80048204 80420F03 */ lb $v0, %lo(D_800B0F03)($v0)
/* 23608 80048208 10400026 */ beqz $v0, .L800482A4
/* 2360C 8004820C 24040093 */ addiu $a0, $zero, 0x93
/* 23610 80048210 24020004 */ addiu $v0, $zero, 4
/* 23614 80048214 00171840 */ sll $v1, $s7, 1
/* 23618 80048218 00771821 */ addu $v1, $v1, $s7
/* 2361C 8004821C AFA20010 */ sw $v0, 0x10($sp)
/* 23620 80048220 00431004 */ sllv $v0, $v1, $v0
/* 23624 80048224 00431023 */ subu $v0, $v0, $v1
/* 23628 80048228 000210C0 */ sll $v0, $v0, 3
/* 2362C 8004822C 8FA50034 */ lw $a1, 0x34($sp)
/* 23630 80048230 8FA60038 */ lw $a2, 0x38($sp)
/* 23634 80048234 4407F000 */ mfc1 $a3, $f30
/* 23638 80048238 8FA80024 */ lw $t0, 0x24($sp)
/* 2363C 8004823C 02C21021 */ addu $v0, $s6, $v0
/* 23640 80048240 3C01800B */ lui $at, %hi(D_800B0F03)
/* 23644 80048244 A0200F03 */ sb $zero, %lo(D_800B0F03)($at)
/* 23648 80048248 AFA20018 */ sw $v0, 0x18($sp)
/* 2364C 8004824C AFA0001C */ sw $zero, 0x1c($sp)
/* 23650 80048250 0C04D959 */ jal func_80136564
/* 23654 80048254 AFA80014 */ sw $t0, 0x14($sp)
/* 23658 80048258 44960000 */ mtc1 $s6, $f0
/* 2365C 8004825C 00000000 */ nop
/* 23660 80048260 46800021 */ cvt.d.w $f0, $f0
/* 23664 80048264 27DE0001 */ addiu $fp, $fp, 1
/* 23668 80048268 2BC2000C */ slti $v0, $fp, 0xc
/* 2366C 8004826C 3C01403E */ lui $at, 0x403e
/* 23670 80048270 44811800 */ mtc1 $at, $f3
/* 23674 80048274 44801000 */ mtc1 $zero, $f2
/* 23678 80048278 8FA80024 */ lw $t0, 0x24($sp)
/* 2367C 8004827C 46220000 */ add.d $f0, $f0, $f2
/* 23680 80048280 25080002 */ addiu $t0, $t0, 2
/* 23684 80048284 AFA80024 */ sw $t0, 0x24($sp)
/* 23688 80048288 4620010D */ trunc.w.d $f4, $f0
/* 2368C 8004828C 44162000 */ mfc1 $s6, $f4
/* 23690 80048290 14400005 */ bnez $v0, .L800482A8
/* 23694 80048294 0000882D */ daddu $s1, $zero, $zero
/* 23698 80048298 26F70001 */ addiu $s7, $s7, 1
/* 2369C 8004829C 0017B0C0 */ sll $s6, $s7, 3
/* 236A0 800482A0 0000F02D */ daddu $fp, $zero, $zero
.L800482A4:
/* 236A4 800482A4 0000882D */ daddu $s1, $zero, $zero
.L800482A8:
/* 236A8 800482A8 0220902D */ daddu $s2, $s1, $zero
/* 236AC 800482AC 24150006 */ addiu $s5, $zero, 6
/* 236B0 800482B0 24140004 */ addiu $s4, $zero, 4
/* 236B4 800482B4 8FB00020 */ lw $s0, 0x20($sp)
/* 236B8 800482B8 3C0146FF */ lui $at, 0x46ff
/* 236BC 800482BC 3421FE00 */ ori $at, $at, 0xfe00
/* 236C0 800482C0 4481D000 */ mtc1 $at, $f26
/* 236C4 800482C4 3C0142C8 */ lui $at, 0x42c8
/* 236C8 800482C8 4481E000 */ mtc1 $at, $f28
/* 236CC 800482CC 3C028011 */ lui $v0, %hi(D_8010F452)
/* 236D0 800482D0 8042F452 */ lb $v0, %lo(D_8010F452)($v0)
/* 236D4 800482D4 3C038011 */ lui $v1, %hi(D_8010F453)
/* 236D8 800482D8 8063F453 */ lb $v1, %lo(D_8010F453)($v1)
/* 236DC 800482DC 24130002 */ addiu $s3, $zero, 2
/* 236E0 800482E0 AFA00030 */ sw $zero, 0x30($sp)
/* 236E4 800482E4 44821000 */ mtc1 $v0, $f2
/* 236E8 800482E8 00000000 */ nop
/* 236EC 800482EC 468010A0 */ cvt.s.w $f2, $f2
/* 236F0 800482F0 44830000 */ mtc1 $v1, $f0
/* 236F4 800482F4 00000000 */ nop
/* 236F8 800482F8 46800020 */ cvt.s.w $f0, $f0
/* 236FC 800482FC 46001603 */ div.s $f24, $f2, $f0
.L80048300:
/* 23700 80048300 8FA80020 */ lw $t0, 0x20($sp)
/* 23704 80048304 86030032 */ lh $v1, 0x32($s0)
/* 23708 80048308 01131021 */ addu $v0, $t0, $s3
/* 2370C 8004830C 4483B000 */ mtc1 $v1, $f22
/* 23710 80048310 00000000 */ nop
/* 23714 80048314 4680B5A0 */ cvt.s.w $f22, $f22
/* 23718 80048318 461AB583 */ div.s $f22, $f22, $f26
/* 2371C 8004831C 84420032 */ lh $v0, 0x32($v0)
/* 23720 80048320 4616C03E */ c.le.s $f24, $f22
/* 23724 80048324 4482A000 */ mtc1 $v0, $f20
/* 23728 80048328 00000000 */ nop
/* 2372C 8004832C 4680A520 */ cvt.s.w $f20, $f20
/* 23730 80048330 45000034 */ bc1f .L80048404
/* 23734 80048334 461AA503 */ div.s $f20, $f20, $f26
/* 23738 80048338 0C00A66F */ jal func_800299BC
/* 2373C 8004833C 24040064 */ addiu $a0, $zero, 0x64
/* 23740 80048340 461CA082 */ mul.s $f2, $f20, $f28
/* 23744 80048344 00000000 */ nop
/* 23748 80048348 44820000 */ mtc1 $v0, $f0
/* 2374C 8004834C 00000000 */ nop
/* 23750 80048350 46800020 */ cvt.s.w $f0, $f0
/* 23754 80048354 4602003E */ c.le.s $f0, $f2
/* 23758 80048358 00000000 */ nop
/* 2375C 8004835C 4502002A */ bc1fl .L80048408
/* 23760 80048360 26B50008 */ addiu $s5, $s5, 8
/* 23764 80048364 0000802D */ daddu $s0, $zero, $zero
/* 23768 80048368 8FA80020 */ lw $t0, 0x20($sp)
/* 2376C 8004836C 44900000 */ mtc1 $s0, $f0
/* 23770 80048370 00000000 */ nop
/* 23774 80048374 46800020 */ cvt.s.w $f0, $f0
/* 23778 80048378 01141021 */ addu $v0, $t0, $s4
/* 2377C 8004837C 01151821 */ addu $v1, $t0, $s5
/* 23780 80048380 84420032 */ lh $v0, 0x32($v0)
/* 23784 80048384 84630032 */ lh $v1, 0x32($v1)
/* 23788 80048388 4482B000 */ mtc1 $v0, $f22
/* 2378C 8004838C 00000000 */ nop
/* 23790 80048390 4680B5A0 */ cvt.s.w $f22, $f22
/* 23794 80048394 4483A000 */ mtc1 $v1, $f20
/* 23798 80048398 00000000 */ nop
/* 2379C 8004839C 4680A520 */ cvt.s.w $f20, $f20
/* 237A0 800483A0 4616003C */ c.lt.s $f0, $f22
/* 237A4 800483A4 00000000 */ nop
/* 237A8 800483A8 4500001D */ bc1f .L80048420
/* 237AC 800483AC 461AA503 */ div.s $f20, $f20, $f26
.L800483B0:
/* 237B0 800483B0 0C00A66F */ jal func_800299BC
/* 237B4 800483B4 24040064 */ addiu $a0, $zero, 0x64
/* 237B8 800483B8 461CA082 */ mul.s $f2, $f20, $f28
/* 237BC 800483BC 00000000 */ nop
/* 237C0 800483C0 44820000 */ mtc1 $v0, $f0
/* 237C4 800483C4 00000000 */ nop
/* 237C8 800483C8 46800020 */ cvt.s.w $f0, $f0
/* 237CC 800483CC 4602003E */ c.le.s $f0, $f2
/* 237D0 800483D0 00000000 */ nop
/* 237D4 800483D4 45030001 */ bc1tl .L800483DC
/* 237D8 800483D8 26310001 */ addiu $s1, $s1, 1
.L800483DC:
/* 237DC 800483DC 26100001 */ addiu $s0, $s0, 1
/* 237E0 800483E0 44900000 */ mtc1 $s0, $f0
/* 237E4 800483E4 00000000 */ nop
/* 237E8 800483E8 46800020 */ cvt.s.w $f0, $f0
/* 237EC 800483EC 4616003C */ c.lt.s $f0, $f22
/* 237F0 800483F0 00000000 */ nop
/* 237F4 800483F4 4500000A */ bc1f .L80048420
/* 237F8 800483F8 00000000 */ nop
/* 237FC 800483FC 080120EC */ j .L800483B0
/* 23800 80048400 00000000 */ nop
.L80048404:
/* 23804 80048404 26B50008 */ addiu $s5, $s5, 8
.L80048408:
/* 23808 80048408 26940008 */ addiu $s4, $s4, 8
/* 2380C 8004840C 26730008 */ addiu $s3, $s3, 8
/* 23810 80048410 26520001 */ addiu $s2, $s2, 1
/* 23814 80048414 2A420008 */ slti $v0, $s2, 8
/* 23818 80048418 1440FFB9 */ bnez $v0, .L80048300
/* 2381C 8004841C 26100008 */ addiu $s0, $s0, 8
.L80048420:
/* 23820 80048420 0C03A73A */ jal func_800E9CE8
/* 23824 80048424 2404002B */ addiu $a0, $zero, 0x2b
/* 23828 80048428 10400005 */ beqz $v0, .L80048440
/* 2382C 8004842C 00000000 */ nop
/* 23830 80048430 0C00A66F */ jal func_800299BC
/* 23834 80048434 24040002 */ addiu $a0, $zero, 2
/* 23838 80048438 26230001 */ addiu $v1, $s1, 1
/* 2383C 8004843C 00628821 */ addu $s1, $v1, $v0
.L80048440:
/* 23840 80048440 8FA80098 */ lw $t0, 0x98($sp)
/* 23844 80048444 8D020000 */ lw $v0, ($t0)
/* 23848 80048448 3C030080 */ lui $v1, 0x80
/* 2384C 8004844C 00431024 */ and $v0, $v0, $v1
/* 23850 80048450 54400001 */ bnel $v0, $zero, .L80048458
/* 23854 80048454 0000882D */ daddu $s1, $zero, $zero
.L80048458:
/* 23858 80048458 12200002 */ beqz $s1, .L80048464
/* 2385C 8004845C 24080156 */ addiu $t0, $zero, 0x156
/* 23860 80048460 AFA80030 */ sw $t0, 0x30($sp)
.L80048464:
/* 23864 80048464 8FA80028 */ lw $t0, 0x28($sp)
/* 23868 80048468 00111040 */ sll $v0, $s1, 1
/* 2386C 8004846C 0102102A */ slt $v0, $t0, $v0
/* 23870 80048470 10400004 */ beqz $v0, .L80048484
/* 23874 80048474 000817C2 */ srl $v0, $t0, 0x1f
/* 23878 80048478 01021021 */ addu $v0, $t0, $v0
/* 2387C 8004847C 00028843 */ sra $s1, $v0, 1
/* 23880 80048480 8FA80028 */ lw $t0, 0x28($sp)
.L80048484:
/* 23884 80048484 00111040 */ sll $v0, $s1, 1
/* 23888 80048488 01024023 */ subu $t0, $t0, $v0
/* 2388C 8004848C AFA80028 */ sw $t0, 0x28($sp)
/* 23890 80048490 8FA8002C */ lw $t0, 0x2c($sp)
/* 23894 80048494 0111102A */ slt $v0, $t0, $s1
/* 23898 80048498 54400002 */ bnel $v0, $zero, .L800484A4
/* 2389C 8004849C 0100882D */ daddu $s1, $t0, $zero
/* 238A0 800484A0 8FA8002C */ lw $t0, 0x2c($sp)
.L800484A4:
/* 238A4 800484A4 0000902D */ daddu $s2, $zero, $zero
/* 238A8 800484A8 01114023 */ subu $t0, $t0, $s1
/* 238AC 800484AC 1A200029 */ blez $s1, .L80048554
/* 238B0 800484B0 AFA8002C */ sw $t0, 0x2c($sp)
/* 238B4 800484B4 24130004 */ addiu $s3, $zero, 4
/* 238B8 800484B8 3C01403E */ lui $at, 0x403e
/* 238BC 800484BC 4481A800 */ mtc1 $at, $f21
/* 238C0 800484C0 4480A000 */ mtc1 $zero, $f20
/* 238C4 800484C4 00171840 */ sll $v1, $s7, 1
/* 238C8 800484C8 00771821 */ addu $v1, $v1, $s7
/* 238CC 800484CC 02631004 */ sllv $v0, $v1, $s3
/* 238D0 800484D0 00431023 */ subu $v0, $v0, $v1
/* 238D4 800484D4 000280C0 */ sll $s0, $v0, 3
.L800484D8:
/* 238D8 800484D8 8FA50034 */ lw $a1, 0x34($sp)
/* 238DC 800484DC 8FA60038 */ lw $a2, 0x38($sp)
/* 238E0 800484E0 4407F000 */ mfc1 $a3, $f30
/* 238E4 800484E4 8FA40030 */ lw $a0, 0x30($sp)
/* 238E8 800484E8 8FA80024 */ lw $t0, 0x24($sp)
/* 238EC 800484EC 02D01021 */ addu $v0, $s6, $s0
/* 238F0 800484F0 AFB30010 */ sw $s3, 0x10($sp)
/* 238F4 800484F4 AFA20018 */ sw $v0, 0x18($sp)
/* 238F8 800484F8 AFA0001C */ sw $zero, 0x1c($sp)
/* 238FC 800484FC 0C04D959 */ jal func_80136564
/* 23900 80048500 AFA80014 */ sw $t0, 0x14($sp)
/* 23904 80048504 44960000 */ mtc1 $s6, $f0
/* 23908 80048508 00000000 */ nop
/* 2390C 8004850C 46800021 */ cvt.d.w $f0, $f0
/* 23910 80048510 27DE0001 */ addiu $fp, $fp, 1
/* 23914 80048514 2BC2000C */ slti $v0, $fp, 0xc
/* 23918 80048518 8FA80024 */ lw $t0, 0x24($sp)
/* 2391C 8004851C 46340000 */ add.d $f0, $f0, $f20
/* 23920 80048520 25080002 */ addiu $t0, $t0, 2
/* 23924 80048524 AFA80024 */ sw $t0, 0x24($sp)
/* 23928 80048528 4620010D */ trunc.w.d $f4, $f0
/* 2392C 8004852C 44162000 */ mfc1 $s6, $f4
/* 23930 80048530 14400005 */ bnez $v0, .L80048548
/* 23934 80048534 26520001 */ addiu $s2, $s2, 1
/* 23938 80048538 0000F02D */ daddu $fp, $zero, $zero
/* 2393C 8004853C 26100168 */ addiu $s0, $s0, 0x168
/* 23940 80048540 26F70001 */ addiu $s7, $s7, 1
/* 23944 80048544 0017B0C0 */ sll $s6, $s7, 3
.L80048548:
/* 23948 80048548 0251102A */ slt $v0, $s2, $s1
/* 2394C 8004854C 1440FFE2 */ bnez $v0, .L800484D8
/* 23950 80048550 00000000 */ nop
.L80048554:
/* 23954 80048554 0000882D */ daddu $s1, $zero, $zero
/* 23958 80048558 0220902D */ daddu $s2, $s1, $zero
/* 2395C 8004855C 24150006 */ addiu $s5, $zero, 6
/* 23960 80048560 24140004 */ addiu $s4, $zero, 4
/* 23964 80048564 8FB00020 */ lw $s0, 0x20($sp)
/* 23968 80048568 3C0146FF */ lui $at, 0x46ff
/* 2396C 8004856C 3421FE00 */ ori $at, $at, 0xfe00
/* 23970 80048570 4481D000 */ mtc1 $at, $f26
/* 23974 80048574 3C0142C8 */ lui $at, 0x42c8
/* 23978 80048578 4481E000 */ mtc1 $at, $f28
/* 2397C 8004857C 3C028011 */ lui $v0, %hi(D_8010F455)
/* 23980 80048580 8042F455 */ lb $v0, %lo(D_8010F455)($v0)
/* 23984 80048584 3C038011 */ lui $v1, %hi(D_8010F456)
/* 23988 80048588 8063F456 */ lb $v1, %lo(D_8010F456)($v1)
/* 2398C 8004858C 24130002 */ addiu $s3, $zero, 2
/* 23990 80048590 AFA00030 */ sw $zero, 0x30($sp)
/* 23994 80048594 44821000 */ mtc1 $v0, $f2
/* 23998 80048598 00000000 */ nop
/* 2399C 8004859C 468010A0 */ cvt.s.w $f2, $f2
/* 239A0 800485A0 44830000 */ mtc1 $v1, $f0
/* 239A4 800485A4 00000000 */ nop
/* 239A8 800485A8 46800020 */ cvt.s.w $f0, $f0
/* 239AC 800485AC 46001603 */ div.s $f24, $f2, $f0
.L800485B0:
/* 239B0 800485B0 8FA80020 */ lw $t0, 0x20($sp)
/* 239B4 800485B4 86030072 */ lh $v1, 0x72($s0)
/* 239B8 800485B8 01131021 */ addu $v0, $t0, $s3
/* 239BC 800485BC 4483B000 */ mtc1 $v1, $f22
/* 239C0 800485C0 00000000 */ nop
/* 239C4 800485C4 4680B5A0 */ cvt.s.w $f22, $f22
/* 239C8 800485C8 461AB583 */ div.s $f22, $f22, $f26
/* 239CC 800485CC 84420072 */ lh $v0, 0x72($v0)
/* 239D0 800485D0 4616C03E */ c.le.s $f24, $f22
/* 239D4 800485D4 4482A000 */ mtc1 $v0, $f20
/* 239D8 800485D8 00000000 */ nop
/* 239DC 800485DC 4680A520 */ cvt.s.w $f20, $f20
/* 239E0 800485E0 45000034 */ bc1f .L800486B4
/* 239E4 800485E4 461AA503 */ div.s $f20, $f20, $f26
/* 239E8 800485E8 0C00A66F */ jal func_800299BC
/* 239EC 800485EC 24040064 */ addiu $a0, $zero, 0x64
/* 239F0 800485F0 461CA082 */ mul.s $f2, $f20, $f28
/* 239F4 800485F4 00000000 */ nop
/* 239F8 800485F8 44820000 */ mtc1 $v0, $f0
/* 239FC 800485FC 00000000 */ nop
/* 23A00 80048600 46800020 */ cvt.s.w $f0, $f0
/* 23A04 80048604 4602003E */ c.le.s $f0, $f2
/* 23A08 80048608 00000000 */ nop
/* 23A0C 8004860C 4502002A */ bc1fl .L800486B8
/* 23A10 80048610 26B50008 */ addiu $s5, $s5, 8
/* 23A14 80048614 0000802D */ daddu $s0, $zero, $zero
/* 23A18 80048618 8FA80020 */ lw $t0, 0x20($sp)
/* 23A1C 8004861C 44900000 */ mtc1 $s0, $f0
/* 23A20 80048620 00000000 */ nop
/* 23A24 80048624 46800020 */ cvt.s.w $f0, $f0
/* 23A28 80048628 01141021 */ addu $v0, $t0, $s4
/* 23A2C 8004862C 01151821 */ addu $v1, $t0, $s5
/* 23A30 80048630 84420072 */ lh $v0, 0x72($v0)
/* 23A34 80048634 84630072 */ lh $v1, 0x72($v1)
/* 23A38 80048638 4482B000 */ mtc1 $v0, $f22
/* 23A3C 8004863C 00000000 */ nop
/* 23A40 80048640 4680B5A0 */ cvt.s.w $f22, $f22
/* 23A44 80048644 4483A000 */ mtc1 $v1, $f20
/* 23A48 80048648 00000000 */ nop
/* 23A4C 8004864C 4680A520 */ cvt.s.w $f20, $f20
/* 23A50 80048650 4616003C */ c.lt.s $f0, $f22
/* 23A54 80048654 00000000 */ nop
/* 23A58 80048658 4500001D */ bc1f .L800486D0
/* 23A5C 8004865C 461AA503 */ div.s $f20, $f20, $f26
.L80048660:
/* 23A60 80048660 0C00A66F */ jal func_800299BC
/* 23A64 80048664 24040064 */ addiu $a0, $zero, 0x64
/* 23A68 80048668 461CA082 */ mul.s $f2, $f20, $f28
/* 23A6C 8004866C 00000000 */ nop
/* 23A70 80048670 44820000 */ mtc1 $v0, $f0
/* 23A74 80048674 00000000 */ nop
/* 23A78 80048678 46800020 */ cvt.s.w $f0, $f0
/* 23A7C 8004867C 4602003E */ c.le.s $f0, $f2
/* 23A80 80048680 00000000 */ nop
/* 23A84 80048684 45030001 */ bc1tl .L8004868C
/* 23A88 80048688 26310001 */ addiu $s1, $s1, 1
.L8004868C:
/* 23A8C 8004868C 26100001 */ addiu $s0, $s0, 1
/* 23A90 80048690 44900000 */ mtc1 $s0, $f0
/* 23A94 80048694 00000000 */ nop
/* 23A98 80048698 46800020 */ cvt.s.w $f0, $f0
/* 23A9C 8004869C 4616003C */ c.lt.s $f0, $f22
/* 23AA0 800486A0 00000000 */ nop
/* 23AA4 800486A4 4500000A */ bc1f .L800486D0
/* 23AA8 800486A8 00000000 */ nop
/* 23AAC 800486AC 08012198 */ j .L80048660
/* 23AB0 800486B0 00000000 */ nop
.L800486B4:
/* 23AB4 800486B4 26B50008 */ addiu $s5, $s5, 8
.L800486B8:
/* 23AB8 800486B8 26940008 */ addiu $s4, $s4, 8
/* 23ABC 800486BC 26730008 */ addiu $s3, $s3, 8
/* 23AC0 800486C0 26520001 */ addiu $s2, $s2, 1
/* 23AC4 800486C4 2A420008 */ slti $v0, $s2, 8
/* 23AC8 800486C8 1440FFB9 */ bnez $v0, .L800485B0
/* 23ACC 800486CC 26100008 */ addiu $s0, $s0, 8
.L800486D0:
/* 23AD0 800486D0 0C03A73A */ jal func_800E9CE8
/* 23AD4 800486D4 2404002C */ addiu $a0, $zero, 0x2c
/* 23AD8 800486D8 10400005 */ beqz $v0, .L800486F0
/* 23ADC 800486DC 00000000 */ nop
/* 23AE0 800486E0 0C00A66F */ jal func_800299BC
/* 23AE4 800486E4 24040002 */ addiu $a0, $zero, 2
/* 23AE8 800486E8 26230001 */ addiu $v1, $s1, 1
/* 23AEC 800486EC 00628821 */ addu $s1, $v1, $v0
.L800486F0:
/* 23AF0 800486F0 8FA80098 */ lw $t0, 0x98($sp)
/* 23AF4 800486F4 8D020000 */ lw $v0, ($t0)
/* 23AF8 800486F8 3C030080 */ lui $v1, 0x80
/* 23AFC 800486FC 00431024 */ and $v0, $v0, $v1
/* 23B00 80048700 54400001 */ bnel $v0, $zero, .L80048708
/* 23B04 80048704 0000882D */ daddu $s1, $zero, $zero
.L80048708:
/* 23B08 80048708 12200002 */ beqz $s1, .L80048714
/* 23B0C 8004870C 2408015B */ addiu $t0, $zero, 0x15b
/* 23B10 80048710 AFA80030 */ sw $t0, 0x30($sp)
.L80048714:
/* 23B14 80048714 8FA80028 */ lw $t0, 0x28($sp)
/* 23B18 80048718 00111040 */ sll $v0, $s1, 1
/* 23B1C 8004871C 0102102A */ slt $v0, $t0, $v0
/* 23B20 80048720 10400004 */ beqz $v0, .L80048734
/* 23B24 80048724 000817C2 */ srl $v0, $t0, 0x1f
/* 23B28 80048728 01021021 */ addu $v0, $t0, $v0
/* 23B2C 8004872C 00028843 */ sra $s1, $v0, 1
/* 23B30 80048730 8FA80028 */ lw $t0, 0x28($sp)
.L80048734:
/* 23B34 80048734 00111040 */ sll $v0, $s1, 1
/* 23B38 80048738 01024023 */ subu $t0, $t0, $v0
/* 23B3C 8004873C AFA80028 */ sw $t0, 0x28($sp)
/* 23B40 80048740 8FA8002C */ lw $t0, 0x2c($sp)
/* 23B44 80048744 0111102A */ slt $v0, $t0, $s1
/* 23B48 80048748 54400002 */ bnel $v0, $zero, .L80048754
/* 23B4C 8004874C 0100882D */ daddu $s1, $t0, $zero
/* 23B50 80048750 8FA8002C */ lw $t0, 0x2c($sp)
.L80048754:
/* 23B54 80048754 0000902D */ daddu $s2, $zero, $zero
/* 23B58 80048758 01114023 */ subu $t0, $t0, $s1
/* 23B5C 8004875C 1A200029 */ blez $s1, .L80048804
/* 23B60 80048760 AFA8002C */ sw $t0, 0x2c($sp)
/* 23B64 80048764 24130004 */ addiu $s3, $zero, 4
/* 23B68 80048768 3C01403E */ lui $at, 0x403e
/* 23B6C 8004876C 4481A800 */ mtc1 $at, $f21
/* 23B70 80048770 4480A000 */ mtc1 $zero, $f20
/* 23B74 80048774 00171840 */ sll $v1, $s7, 1
/* 23B78 80048778 00771821 */ addu $v1, $v1, $s7
/* 23B7C 8004877C 02631004 */ sllv $v0, $v1, $s3
/* 23B80 80048780 00431023 */ subu $v0, $v0, $v1
/* 23B84 80048784 000280C0 */ sll $s0, $v0, 3
.L80048788:
/* 23B88 80048788 8FA50034 */ lw $a1, 0x34($sp)
/* 23B8C 8004878C 8FA60038 */ lw $a2, 0x38($sp)
/* 23B90 80048790 4407F000 */ mfc1 $a3, $f30
/* 23B94 80048794 8FA40030 */ lw $a0, 0x30($sp)
/* 23B98 80048798 8FA80024 */ lw $t0, 0x24($sp)
/* 23B9C 8004879C 02D01021 */ addu $v0, $s6, $s0
/* 23BA0 800487A0 AFB30010 */ sw $s3, 0x10($sp)
/* 23BA4 800487A4 AFA20018 */ sw $v0, 0x18($sp)
/* 23BA8 800487A8 AFA0001C */ sw $zero, 0x1c($sp)
/* 23BAC 800487AC 0C04D959 */ jal func_80136564
/* 23BB0 800487B0 AFA80014 */ sw $t0, 0x14($sp)
/* 23BB4 800487B4 44960000 */ mtc1 $s6, $f0
/* 23BB8 800487B8 00000000 */ nop
/* 23BBC 800487BC 46800021 */ cvt.d.w $f0, $f0
/* 23BC0 800487C0 27DE0001 */ addiu $fp, $fp, 1
/* 23BC4 800487C4 2BC2000C */ slti $v0, $fp, 0xc
/* 23BC8 800487C8 8FA80024 */ lw $t0, 0x24($sp)
/* 23BCC 800487CC 46340000 */ add.d $f0, $f0, $f20
/* 23BD0 800487D0 25080002 */ addiu $t0, $t0, 2
/* 23BD4 800487D4 AFA80024 */ sw $t0, 0x24($sp)
/* 23BD8 800487D8 4620010D */ trunc.w.d $f4, $f0
/* 23BDC 800487DC 44162000 */ mfc1 $s6, $f4
/* 23BE0 800487E0 14400005 */ bnez $v0, .L800487F8
/* 23BE4 800487E4 26520001 */ addiu $s2, $s2, 1
/* 23BE8 800487E8 0000F02D */ daddu $fp, $zero, $zero
/* 23BEC 800487EC 26100168 */ addiu $s0, $s0, 0x168
/* 23BF0 800487F0 26F70001 */ addiu $s7, $s7, 1
/* 23BF4 800487F4 0017B0C0 */ sll $s6, $s7, 3
.L800487F8:
/* 23BF8 800487F8 0251102A */ slt $v0, $s2, $s1
/* 23BFC 800487FC 1440FFE2 */ bnez $v0, .L80048788
/* 23C00 80048800 00000000 */ nop
.L80048804:
/* 23C04 80048804 24080157 */ addiu $t0, $zero, 0x157
/* 23C08 80048808 AFA80030 */ sw $t0, 0x30($sp)
/* 23C0C 8004880C 8FA80020 */ lw $t0, 0x20($sp)
/* 23C10 80048810 851000B2 */ lh $s0, 0xb2($t0)
/* 23C14 80048814 850400B4 */ lh $a0, 0xb4($t0)
/* 23C18 80048818 0090102A */ slt $v0, $a0, $s0
/* 23C1C 8004881C 10400003 */ beqz $v0, .L8004882C
/* 23C20 80048820 0200882D */ daddu $s1, $s0, $zero
/* 23C24 80048824 0080802D */ daddu $s0, $a0, $zero
/* 23C28 80048828 0220202D */ daddu $a0, $s1, $zero
.L8004882C:
/* 23C2C 8004882C 06010003 */ bgez $s0, .L8004883C
/* 23C30 80048830 00908823 */ subu $s1, $a0, $s0
/* 23C34 80048834 08012211 */ j .L80048844
/* 23C38 80048838 00902023 */ subu $a0, $a0, $s0
.L8004883C:
/* 23C3C 8004883C 12200005 */ beqz $s1, .L80048854
/* 23C40 80048840 0220202D */ daddu $a0, $s1, $zero
.L80048844:
/* 23C44 80048844 0C00A66F */ jal func_800299BC
/* 23C48 80048848 00000000 */ nop
/* 23C4C 8004884C 08012216 */ j .L80048858
/* 23C50 80048850 00508821 */ addu $s1, $v0, $s0
.L80048854:
/* 23C54 80048854 0200882D */ daddu $s1, $s0, $zero
.L80048858:
/* 23C58 80048858 06220001 */ bltzl $s1, .L80048860
/* 23C5C 8004885C 0000882D */ daddu $s1, $zero, $zero
.L80048860:
/* 23C60 80048860 3C02800B */ lui $v0, %hi(D_800B0EFE)
/* 23C64 80048864 84420EFE */ lh $v0, %lo(D_800B0EFE)($v0)
/* 23C68 80048868 24040019 */ addiu $a0, $zero, 0x19
/* 23C6C 8004886C 0C03A73A */ jal func_800E9CE8
/* 23C70 80048870 02228821 */ addu $s1, $s1, $v0
/* 23C74 80048874 10400007 */ beqz $v0, .L80048894
/* 23C78 80048878 00000000 */ nop
/* 23C7C 8004887C 3C02800B */ lui $v0, %hi(D_800B0EFC)
/* 23C80 80048880 90420EFC */ lbu $v0, %lo(D_800B0EFC)($v0)
/* 23C84 80048884 3C01800B */ lui $at, %hi(D_800B0EFC)
/* 23C88 80048888 A0200EFC */ sb $zero, %lo(D_800B0EFC)($at)
/* 23C8C 8004888C 00021042 */ srl $v0, $v0, 1
/* 23C90 80048890 02228821 */ addu $s1, $s1, $v0
.L80048894:
/* 23C94 80048894 3C02800B */ lui $v0, %hi(D_800B0EFB)
/* 23C98 80048898 80420EFB */ lb $v0, %lo(D_800B0EFB)($v0)
/* 23C9C 8004889C 10400004 */ beqz $v0, .L800488B0
/* 23CA0 800488A0 00111040 */ sll $v0, $s1, 1
/* 23CA4 800488A4 3C01800B */ lui $at, %hi(D_800B0EFB)
/* 23CA8 800488A8 A0200EFB */ sb $zero, %lo(D_800B0EFB)($at)
/* 23CAC 800488AC 02228821 */ addu $s1, $s1, $v0
.L800488B0:
/* 23CB0 800488B0 0C03A73A */ jal func_800E9CE8
/* 23CB4 800488B4 24040010 */ addiu $a0, $zero, 0x10
/* 23CB8 800488B8 54400001 */ bnel $v0, $zero, .L800488C0
/* 23CBC 800488BC 00118840 */ sll $s1, $s1, 1
.L800488C0:
/* 23CC0 800488C0 2A220015 */ slti $v0, $s1, 0x15
/* 23CC4 800488C4 50400001 */ beql $v0, $zero, .L800488CC
/* 23CC8 800488C8 24110014 */ addiu $s1, $zero, 0x14
.L800488CC:
/* 23CCC 800488CC 8FA80098 */ lw $t0, 0x98($sp)
/* 23CD0 800488D0 8D020000 */ lw $v0, ($t0)
/* 23CD4 800488D4 3C030080 */ lui $v1, 0x80
/* 23CD8 800488D8 00431024 */ and $v0, $v0, $v1
/* 23CDC 800488DC 54400001 */ bnel $v0, $zero, .L800488E4
/* 23CE0 800488E0 0000882D */ daddu $s1, $zero, $zero
.L800488E4:
/* 23CE4 800488E4 8FA80028 */ lw $t0, 0x28($sp)
/* 23CE8 800488E8 00111040 */ sll $v0, $s1, 1
/* 23CEC 800488EC 0102102A */ slt $v0, $t0, $v0
/* 23CF0 800488F0 10400003 */ beqz $v0, .L80048900
/* 23CF4 800488F4 000817C2 */ srl $v0, $t0, 0x1f
/* 23CF8 800488F8 01021021 */ addu $v0, $t0, $v0
/* 23CFC 800488FC 00028843 */ sra $s1, $v0, 1
.L80048900:
/* 23D00 80048900 8FA8002C */ lw $t0, 0x2c($sp)
/* 23D04 80048904 0111102A */ slt $v0, $t0, $s1
/* 23D08 80048908 54400001 */ bnel $v0, $zero, .L80048910
/* 23D0C 8004890C 0100882D */ daddu $s1, $t0, $zero
.L80048910:
/* 23D10 80048910 1A200029 */ blez $s1, .L800489B8
/* 23D14 80048914 0000902D */ daddu $s2, $zero, $zero
/* 23D18 80048918 24130004 */ addiu $s3, $zero, 4
/* 23D1C 8004891C 3C01403E */ lui $at, 0x403e
/* 23D20 80048920 4481A800 */ mtc1 $at, $f21
/* 23D24 80048924 4480A000 */ mtc1 $zero, $f20
/* 23D28 80048928 00171840 */ sll $v1, $s7, 1
/* 23D2C 8004892C 00771821 */ addu $v1, $v1, $s7
/* 23D30 80048930 02631004 */ sllv $v0, $v1, $s3
/* 23D34 80048934 00431023 */ subu $v0, $v0, $v1
/* 23D38 80048938 000280C0 */ sll $s0, $v0, 3
.L8004893C:
/* 23D3C 8004893C 8FA50034 */ lw $a1, 0x34($sp)
/* 23D40 80048940 8FA60038 */ lw $a2, 0x38($sp)
/* 23D44 80048944 4407F000 */ mfc1 $a3, $f30
/* 23D48 80048948 8FA40030 */ lw $a0, 0x30($sp)
/* 23D4C 8004894C 8FA80024 */ lw $t0, 0x24($sp)
/* 23D50 80048950 02D01021 */ addu $v0, $s6, $s0
/* 23D54 80048954 AFB30010 */ sw $s3, 0x10($sp)
/* 23D58 80048958 AFA20018 */ sw $v0, 0x18($sp)
/* 23D5C 8004895C AFA0001C */ sw $zero, 0x1c($sp)
/* 23D60 80048960 0C04D959 */ jal func_80136564
/* 23D64 80048964 AFA80014 */ sw $t0, 0x14($sp)
/* 23D68 80048968 44960000 */ mtc1 $s6, $f0
/* 23D6C 8004896C 00000000 */ nop
/* 23D70 80048970 46800021 */ cvt.d.w $f0, $f0
/* 23D74 80048974 27DE0001 */ addiu $fp, $fp, 1
/* 23D78 80048978 2BC2000C */ slti $v0, $fp, 0xc
/* 23D7C 8004897C 8FA80024 */ lw $t0, 0x24($sp)
/* 23D80 80048980 46340000 */ add.d $f0, $f0, $f20
/* 23D84 80048984 25080002 */ addiu $t0, $t0, 2
/* 23D88 80048988 AFA80024 */ sw $t0, 0x24($sp)
/* 23D8C 8004898C 4620010D */ trunc.w.d $f4, $f0
/* 23D90 80048990 44162000 */ mfc1 $s6, $f4
/* 23D94 80048994 14400005 */ bnez $v0, .L800489AC
/* 23D98 80048998 26520001 */ addiu $s2, $s2, 1
/* 23D9C 8004899C 0000F02D */ daddu $fp, $zero, $zero
/* 23DA0 800489A0 26100168 */ addiu $s0, $s0, 0x168
/* 23DA4 800489A4 26F70001 */ addiu $s7, $s7, 1
/* 23DA8 800489A8 0017B0C0 */ sll $s6, $s7, 3
.L800489AC:
/* 23DAC 800489AC 0251102A */ slt $v0, $s2, $s1
/* 23DB0 800489B0 1440FFE2 */ bnez $v0, .L8004893C
/* 23DB4 800489B4 00000000 */ nop
.L800489B8:
/* 23DB8 800489B8 8FBF0064 */ lw $ra, 0x64($sp)
/* 23DBC 800489BC 8FBE0060 */ lw $fp, 0x60($sp)
/* 23DC0 800489C0 8FB7005C */ lw $s7, 0x5c($sp)
/* 23DC4 800489C4 8FB60058 */ lw $s6, 0x58($sp)
/* 23DC8 800489C8 8FB50054 */ lw $s5, 0x54($sp)
/* 23DCC 800489CC 8FB40050 */ lw $s4, 0x50($sp)
/* 23DD0 800489D0 8FB3004C */ lw $s3, 0x4c($sp)
/* 23DD4 800489D4 8FB20048 */ lw $s2, 0x48($sp)
/* 23DD8 800489D8 8FB10044 */ lw $s1, 0x44($sp)
/* 23DDC 800489DC 8FB00040 */ lw $s0, 0x40($sp)
/* 23DE0 800489E0 D7BE0090 */ ldc1 $f30, 0x90($sp)
/* 23DE4 800489E4 D7BC0088 */ ldc1 $f28, 0x88($sp)
/* 23DE8 800489E8 D7BA0080 */ ldc1 $f26, 0x80($sp)
/* 23DEC 800489EC D7B80078 */ ldc1 $f24, 0x78($sp)
/* 23DF0 800489F0 D7B60070 */ ldc1 $f22, 0x70($sp)
/* 23DF4 800489F4 D7B40068 */ ldc1 $f20, 0x68($sp)
/* 23DF8 800489F8 03E00008 */ jr $ra
/* 23DFC 800489FC 27BD0098 */ addiu $sp, $sp, 0x98