mk64/asm/code_802B0210.s

5302 lines
262 KiB
ArmAsm

# Mario Kart 64 (U) disassembly and split file
# generated by n64split v0.4a - N64 ROM splitter
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64
.include "macros.inc"
.section .text, "ax"
glabel func_802B0210
/* 119820 802B0210 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 119824 802B0214 AFBF0014 */ sw $ra, 0x14($sp)
/* 119828 802B0218 948E0000 */ lhu $t6, ($a0)
/* 11982C 802B021C 00803825 */ move $a3, $a0
/* 119830 802B0220 00A03025 */ move $a2, $a1
/* 119834 802B0224 A4AE0000 */ sh $t6, ($a1)
/* 119838 802B0228 948F0002 */ lhu $t7, 2($a0)
/* 11983C 802B022C A4AF0002 */ sh $t7, 2($a1)
/* 119840 802B0230 94980004 */ lhu $t8, 4($a0)
/* 119844 802B0234 A4B80004 */ sh $t8, 4($a1)
/* 119848 802B0238 94990006 */ lhu $t9, 6($a0)
/* 11984C 802B023C A4B90006 */ sh $t9, 6($a1)
/* 119850 802B0240 94880008 */ lhu $t0, 8($a0)
/* 119854 802B0244 A4A80008 */ sh $t0, 8($a1)
/* 119858 802B0248 9489000A */ lhu $t1, 0xa($a0)
/* 11985C 802B024C A4A9000A */ sh $t1, 0xa($a1)
/* 119860 802B0250 C484000C */ lwc1 $f4, 0xc($a0)
/* 119864 802B0254 E4A4000C */ swc1 $f4, 0xc($a1)
/* 119868 802B0258 C4860010 */ lwc1 $f6, 0x10($a0)
/* 11986C 802B025C E4A60010 */ swc1 $f6, 0x10($a1)
/* 119870 802B0260 C4880014 */ lwc1 $f8, 0x14($a0)
/* 119874 802B0264 24A40018 */ addiu $a0, $a1, 0x18
/* 119878 802B0268 E4A80014 */ swc1 $f8, 0x14($a1)
/* 11987C 802B026C AFA70018 */ sw $a3, 0x18($sp)
/* 119880 802B0270 AFA6001C */ sw $a2, 0x1c($sp)
/* 119884 802B0274 0C0AD4B6 */ jal func_802B52D8
/* 119888 802B0278 24E50018 */ addiu $a1, $a3, 0x18
/* 11988C 802B027C 8FA6001C */ lw $a2, 0x1c($sp)
/* 119890 802B0280 8FA70018 */ lw $a3, 0x18($sp)
/* 119894 802B0284 24C40024 */ addiu $a0, $a2, 0x24
/* 119898 802B0288 0C0AD4B6 */ jal func_802B52D8
/* 11989C 802B028C 24E50024 */ addiu $a1, $a3, 0x24
/* 1198A0 802B0290 8FA6001C */ lw $a2, 0x1c($sp)
/* 1198A4 802B0294 8FA70018 */ lw $a3, 0x18($sp)
/* 1198A8 802B0298 24C40030 */ addiu $a0, $a2, 0x30
/* 1198AC 802B029C 0C0AD4B6 */ jal func_802B52D8
/* 1198B0 802B02A0 24E50030 */ addiu $a1, $a3, 0x30
/* 1198B4 802B02A4 8FBF0014 */ lw $ra, 0x14($sp)
/* 1198B8 802B02A8 27BD0018 */ addiu $sp, $sp, 0x18
/* 1198BC 802B02AC 03E00008 */ jr $ra
/* 1198C0 802B02B0 00000000 */ nop
glabel func_802B02B4
/* 1198C4 802B02B4 848E0004 */ lh $t6, 4($a0)
/* 1198C8 802B02B8 3C188016 */ lui $t8, %hi(D_8015F9B8) # $t8, 0x8016
/* 1198CC 802B02BC 2718F9B8 */ addiu $t8, %lo(D_8015F9B8) # addiu $t8, $t8, -0x648
/* 1198D0 802B02C0 000E78C0 */ sll $t7, $t6, 3
/* 1198D4 802B02C4 01EE7823 */ subu $t7, $t7, $t6
/* 1198D8 802B02C8 000F7900 */ sll $t7, $t7, 4
/* 1198DC 802B02CC 01F81021 */ addu $v0, $t7, $t8
/* 1198E0 802B02D0 84590004 */ lh $t9, 4($v0)
/* 1198E4 802B02D4 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 1198E8 802B02D8 240C8000 */ li $t4, -32768
/* 1198EC 802B02DC 2728FFFF */ addiu $t0, $t9, -1
/* 1198F0 802B02E0 A4480004 */ sh $t0, 4($v0)
/* 1198F4 802B02E4 C4840008 */ lwc1 $f4, 8($a0)
/* 1198F8 802B02E8 240D003C */ li $t5, 60
/* 1198FC 802B02EC 240E0005 */ li $t6, 5
/* 119900 802B02F0 4600218D */ trunc.w.s $f6, $f4
/* 119904 802B02F4 44033000 */ mfc1 $v1, $f6
/* 119908 802B02F8 00000000 */ nop
/* 11990C 802B02FC 00035400 */ sll $t2, $v1, 0x10
/* 119910 802B0300 000A5C03 */ sra $t3, $t2, 0x10
/* 119914 802B0304 51600009 */ beql $t3, $zero, .L802B032C
/* 119918 802B0308 44814000 */ mtc1 $at, $f8
/* 11991C 802B030C 24010001 */ li $at, 1
/* 119920 802B0310 11610008 */ beq $t3, $at, .L802B0334
/* 119924 802B0314 24010002 */ li $at, 2
/* 119928 802B0318 5161000B */ beql $t3, $at, .L802B0348
/* 11992C 802B031C 3C01BF80 */ lui $at, 0xbf80
/* 119930 802B0320 1000000D */ b .L802B0358
/* 119934 802B0324 3C014040 */ li $at, 0x40400000 # 3.000000
/* 119938 802B0328 44814000 */ mtc1 $at, $f8
.L802B032C:
/* 11993C 802B032C 10000009 */ b .L802B0354
/* 119940 802B0330 E4480024 */ swc1 $f8, 0x24($v0)
.L802B0334:
/* 119944 802B0334 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 119948 802B0338 44815000 */ mtc1 $at, $f10
/* 11994C 802B033C 10000005 */ b .L802B0354
/* 119950 802B0340 E44A0028 */ swc1 $f10, 0x28($v0)
/* 119954 802B0344 3C01BF80 */ li $at, 0xBF800000 # -1.000000
.L802B0348:
/* 119958 802B0348 44818000 */ mtc1 $at, $f16
/* 11995C 802B034C 00000000 */ nop
/* 119960 802B0350 E450002C */ swc1 $f16, 0x2c($v0)
.L802B0354:
/* 119964 802B0354 3C014040 */ li $at, 0x40400000 # 3.000000
.L802B0358:
/* 119968 802B0358 44819000 */ mtc1 $at, $f18
/* 11996C 802B035C 24020007 */ li $v0, 7
/* 119970 802B0360 A48C0002 */ sh $t4, 2($a0)
/* 119974 802B0364 A4800012 */ sh $zero, 0x12($a0)
/* 119978 802B0368 A48D0004 */ sh $t5, 4($a0)
/* 11997C 802B036C 10A20006 */ beq $a1, $v0, .L802B0388
/* 119980 802B0370 E4920028 */ swc1 $f18, 0x28($a0)
/* 119984 802B0374 24010008 */ li $at, 8
/* 119988 802B0378 50A10006 */ beql $a1, $at, .L802B0394
/* 11998C 802B037C A4820006 */ sh $v0, 6($a0)
/* 119990 802B0380 03E00008 */ jr $ra
/* 119994 802B0384 00000000 */ nop
.L802B0388:
/* 119998 802B0388 03E00008 */ jr $ra
/* 11999C 802B038C A48E0006 */ sh $t6, 6($a0)
/* 1199A0 802B0390 A4820006 */ sh $v0, 6($a0)
.L802B0394:
/* 1199A4 802B0394 03E00008 */ jr $ra
/* 1199A8 802B0398 00000000 */ nop
glabel func_802B039C
/* 1199AC 802B039C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1199B0 802B03A0 AFB00018 */ sw $s0, 0x18($sp)
/* 1199B4 802B03A4 AFBF001C */ sw $ra, 0x1c($sp)
/* 1199B8 802B03A8 240E0001 */ li $t6, 1
/* 1199BC 802B03AC 240F00B4 */ li $t7, 180
/* 1199C0 802B03B0 00808025 */ move $s0, $a0
/* 1199C4 802B03B4 A48E0006 */ sh $t6, 6($a0)
/* 1199C8 802B03B8 A48F0004 */ sh $t7, 4($a0)
/* 1199CC 802B03BC 0C0ADF8D */ jal random_int
/* 1199D0 802B03C0 240400C8 */ li $a0, 200
/* 1199D4 802B03C4 2458FF9C */ addiu $t8, $v0, -0x64
/* 1199D8 802B03C8 44982000 */ mtc1 $t8, $f4
/* 1199DC 802B03CC 3C01802C */ lui $at, %hi(D_802B9E80)
/* 1199E0 802B03D0 D42A9E80 */ ldc1 $f10, %lo(D_802B9E80)($at)
/* 1199E4 802B03D4 468021A0 */ cvt.s.w $f6, $f4
/* 1199E8 802B03D8 240400C8 */ li $a0, 200
/* 1199EC 802B03DC 46003221 */ cvt.d.s $f8, $f6
/* 1199F0 802B03E0 462A4402 */ mul.d $f16, $f8, $f10
/* 1199F4 802B03E4 462084A0 */ cvt.s.d $f18, $f16
/* 1199F8 802B03E8 0C0ADF8D */ jal random_int
/* 1199FC 802B03EC E6120024 */ swc1 $f18, 0x24($s0)
/* 119A00 802B03F0 44822000 */ mtc1 $v0, $f4
/* 119A04 802B03F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 119A08 802B03F8 04410004 */ bgez $v0, .L802B040C
/* 119A0C 802B03FC 468021A0 */ cvt.s.w $f6, $f4
/* 119A10 802B0400 44814000 */ mtc1 $at, $f8
/* 119A14 802B0404 00000000 */ nop
/* 119A18 802B0408 46083180 */ add.s $f6, $f6, $f8
.L802B040C:
/* 119A1C 802B040C 3C01802C */ lui $at, %hi(D_802B9E88)
/* 119A20 802B0410 D4309E88 */ ldc1 $f16, %lo(D_802B9E88)($at)
/* 119A24 802B0414 460032A1 */ cvt.d.s $f10, $f6
/* 119A28 802B0418 240400C8 */ li $a0, 200
/* 119A2C 802B041C 46305482 */ mul.d $f18, $f10, $f16
/* 119A30 802B0420 46209120 */ cvt.s.d $f4, $f18
/* 119A34 802B0424 0C0ADF8D */ jal random_int
/* 119A38 802B0428 E6040028 */ swc1 $f4, 0x28($s0)
/* 119A3C 802B042C 2459FF9C */ addiu $t9, $v0, -0x64
/* 119A40 802B0430 44994000 */ mtc1 $t9, $f8
/* 119A44 802B0434 3C01802C */ lui $at, %hi(D_802B9E90)
/* 119A48 802B0438 D4309E90 */ ldc1 $f16, %lo(D_802B9E90)($at)
/* 119A4C 802B043C 468041A0 */ cvt.s.w $f6, $f8
/* 119A50 802B0440 460032A1 */ cvt.d.s $f10, $f6
/* 119A54 802B0444 46305482 */ mul.d $f18, $f10, $f16
/* 119A58 802B0448 46209120 */ cvt.s.d $f4, $f18
/* 119A5C 802B044C E604002C */ swc1 $f4, 0x2c($s0)
/* 119A60 802B0450 8FBF001C */ lw $ra, 0x1c($sp)
/* 119A64 802B0454 8FB00018 */ lw $s0, 0x18($sp)
/* 119A68 802B0458 27BD0020 */ addiu $sp, $sp, 0x20
/* 119A6C 802B045C 03E00008 */ jr $ra
/* 119A70 802B0460 00000000 */ nop
glabel func_802B0464
/* 119A74 802B0464 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 119A78 802B0468 AFB00018 */ sw $s0, 0x18($sp)
/* 119A7C 802B046C 00048400 */ sll $s0, $a0, 0x10
/* 119A80 802B0470 AFB30024 */ sw $s3, 0x24($sp)
/* 119A84 802B0474 3C138016 */ lui $s3, %hi(D_8015F9B8) # $s3, 0x8016
/* 119A88 802B0478 00107403 */ sra $t6, $s0, 0x10
/* 119A8C 802B047C AFB40028 */ sw $s4, 0x28($sp)
/* 119A90 802B0480 AFB20020 */ sw $s2, 0x20($sp)
/* 119A94 802B0484 2412FFFF */ li $s2, -1
/* 119A98 802B0488 24140070 */ li $s4, 112
/* 119A9C 802B048C 01C08025 */ move $s0, $t6
/* 119AA0 802B0490 2673F9B8 */ addiu $s3, %lo(D_8015F9B8) # addiu $s3, $s3, -0x648
/* 119AA4 802B0494 AFBF002C */ sw $ra, 0x2c($sp)
/* 119AA8 802B0498 AFB1001C */ sw $s1, 0x1c($sp)
/* 119AAC 802B049C AFA40030 */ sw $a0, 0x30($sp)
/* 119AB0 802B04A0 5212000A */ beql $s0, $s2, .L802B04CC
/* 119AB4 802B04A4 8FBF002C */ lw $ra, 0x2c($sp)
.L802B04A8:
/* 119AB8 802B04A8 02140019 */ multu $s0, $s4
/* 119ABC 802B04AC 00007812 */ mflo $t7
/* 119AC0 802B04B0 026F2021 */ addu $a0, $s3, $t7
/* 119AC4 802B04B4 0C0AC0E7 */ jal func_802B039C
/* 119AC8 802B04B8 00808825 */ move $s1, $a0
/* 119ACC 802B04BC 86300014 */ lh $s0, 0x14($s1)
/* 119AD0 802B04C0 1612FFF9 */ bne $s0, $s2, .L802B04A8
/* 119AD4 802B04C4 00000000 */ nop
/* 119AD8 802B04C8 8FBF002C */ lw $ra, 0x2c($sp)
.L802B04CC:
/* 119ADC 802B04CC 8FB00018 */ lw $s0, 0x18($sp)
/* 119AE0 802B04D0 8FB1001C */ lw $s1, 0x1c($sp)
/* 119AE4 802B04D4 8FB20020 */ lw $s2, 0x20($sp)
/* 119AE8 802B04D8 8FB30024 */ lw $s3, 0x24($sp)
/* 119AEC 802B04DC 8FB40028 */ lw $s4, 0x28($sp)
/* 119AF0 802B04E0 03E00008 */ jr $ra
/* 119AF4 802B04E4 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_802B04E8
/* 119AF8 802B04E8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 119AFC 802B04EC AFB00018 */ sw $s0, 0x18($sp)
/* 119B00 802B04F0 00058400 */ sll $s0, $a1, 0x10
/* 119B04 802B04F4 AFB30024 */ sw $s3, 0x24($sp)
/* 119B08 802B04F8 3C138016 */ lui $s3, %hi(D_8015F9B8) # $s3, 0x8016
/* 119B0C 802B04FC 00107403 */ sra $t6, $s0, 0x10
/* 119B10 802B0500 AFB40028 */ sw $s4, 0x28($sp)
/* 119B14 802B0504 AFB20020 */ sw $s2, 0x20($sp)
/* 119B18 802B0508 2412FFFF */ li $s2, -1
/* 119B1C 802B050C 24140070 */ li $s4, 112
/* 119B20 802B0510 01C08025 */ move $s0, $t6
/* 119B24 802B0514 2673F9B8 */ addiu $s3, %lo(D_8015F9B8) # addiu $s3, $s3, -0x648
/* 119B28 802B0518 AFBF002C */ sw $ra, 0x2c($sp)
/* 119B2C 802B051C AFB1001C */ sw $s1, 0x1c($sp)
/* 119B30 802B0520 AFA40030 */ sw $a0, 0x30($sp)
/* 119B34 802B0524 AFA50034 */ sw $a1, 0x34($sp)
/* 119B38 802B0528 5212000A */ beql $s0, $s2, .L802B0554
/* 119B3C 802B052C 8FBF002C */ lw $ra, 0x2c($sp)
.L802B0530:
/* 119B40 802B0530 02140019 */ multu $s0, $s4
/* 119B44 802B0534 00007812 */ mflo $t7
/* 119B48 802B0538 026F2021 */ addu $a0, $s3, $t7
/* 119B4C 802B053C 0C0AC0E7 */ jal func_802B039C
/* 119B50 802B0540 00808825 */ move $s1, $a0
/* 119B54 802B0544 86300012 */ lh $s0, 0x12($s1)
/* 119B58 802B0548 1612FFF9 */ bne $s0, $s2, .L802B0530
/* 119B5C 802B054C 00000000 */ nop
/* 119B60 802B0550 8FBF002C */ lw $ra, 0x2c($sp)
.L802B0554:
/* 119B64 802B0554 8FB00018 */ lw $s0, 0x18($sp)
/* 119B68 802B0558 8FB1001C */ lw $s1, 0x1c($sp)
/* 119B6C 802B055C 8FB20020 */ lw $s2, 0x20($sp)
/* 119B70 802B0560 8FB30024 */ lw $s3, 0x24($sp)
/* 119B74 802B0564 8FB40028 */ lw $s4, 0x28($sp)
/* 119B78 802B0568 03E00008 */ jr $ra
/* 119B7C 802B056C 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_802B0570
/* 119B80 802B0570 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 119B84 802B0574 AFB00018 */ sw $s0, 0x18($sp)
/* 119B88 802B0578 00808025 */ move $s0, $a0
/* 119B8C 802B057C AFBF001C */ sw $ra, 0x1c($sp)
/* 119B90 802B0580 0C0AC119 */ jal func_802B0464
/* 119B94 802B0584 84840014 */ lh $a0, 0x14($a0)
/* 119B98 802B0588 02002025 */ move $a0, $s0
/* 119B9C 802B058C 0C0AC13A */ jal func_802B04E8
/* 119BA0 802B0590 86050012 */ lh $a1, 0x12($s0)
/* 119BA4 802B0594 86020010 */ lh $v0, 0x10($s0)
/* 119BA8 802B0598 3C0F800F */ lui $t7, 0x800f
/* 119BAC 802B059C 3C051901 */ lui $a1, (0x19019053 >> 16) # lui $a1, 0x1901
/* 119BB0 802B05A0 000270C0 */ sll $t6, $v0, 3
/* 119BB4 802B05A4 01C27023 */ subu $t6, $t6, $v0
/* 119BB8 802B05A8 000E7100 */ sll $t6, $t6, 4
/* 119BBC 802B05AC 01C27023 */ subu $t6, $t6, $v0
/* 119BC0 802B05B0 000E7080 */ sll $t6, $t6, 2
/* 119BC4 802B05B4 01C27023 */ subu $t6, $t6, $v0
/* 119BC8 802B05B8 000E70C0 */ sll $t6, $t6, 3
/* 119BCC 802B05BC 01EE7821 */ addu $t7, $t7, $t6
/* 119BD0 802B05C0 95EF6990 */ lhu $t7, 0x6990($t7)
/* 119BD4 802B05C4 304400FF */ andi $a0, $v0, 0xff
/* 119BD8 802B05C8 31F84000 */ andi $t8, $t7, 0x4000
/* 119BDC 802B05CC 53000004 */ beql $t8, $zero, .L802B05E0
/* 119BE0 802B05D0 860A0008 */ lh $t2, 8($s0)
/* 119BE4 802B05D4 0C032418 */ jal func_800C9060
/* 119BE8 802B05D8 34A59053 */ ori $a1, (0x19019053 & 0xFFFF) # ori $a1, $a1, 0x9053
/* 119BEC 802B05DC 860A0008 */ lh $t2, 8($s0)
.L802B05E0:
/* 119BF0 802B05E0 3C014040 */ li $at, 0x40400000 # 3.000000
/* 119BF4 802B05E4 44812000 */ mtc1 $at, $f4
/* 119BF8 802B05E8 000A58C0 */ sll $t3, $t2, 3
/* 119BFC 802B05EC 3C0C8016 */ lui $t4, %hi(D_8015F9B8) # $t4, 0x8016
/* 119C00 802B05F0 016A5823 */ subu $t3, $t3, $t2
/* 119C04 802B05F4 24198000 */ li $t9, -32768
/* 119C08 802B05F8 2408003C */ li $t0, 60
/* 119C0C 802B05FC 24090005 */ li $t1, 5
/* 119C10 802B0600 000B5900 */ sll $t3, $t3, 4
/* 119C14 802B0604 258CF9B8 */ addiu $t4, %lo(D_8015F9B8) # addiu $t4, $t4, -0x648
/* 119C18 802B0608 2403FFFF */ li $v1, -1
/* 119C1C 802B060C A6190002 */ sh $t9, 2($s0)
/* 119C20 802B0610 A6080004 */ sh $t0, 4($s0)
/* 119C24 802B0614 A6090006 */ sh $t1, 6($s0)
/* 119C28 802B0618 016C1021 */ addu $v0, $t3, $t4
/* 119C2C 802B061C E6040028 */ swc1 $f4, 0x28($s0)
/* 119C30 802B0620 A4430012 */ sh $v1, 0x12($v0)
/* 119C34 802B0624 A4430014 */ sh $v1, 0x14($v0)
/* 119C38 802B0628 A4430016 */ sh $v1, 0x16($v0)
/* 119C3C 802B062C A4430018 */ sh $v1, 0x18($v0)
/* 119C40 802B0630 A443001A */ sh $v1, 0x1a($v0)
/* 119C44 802B0634 8FBF001C */ lw $ra, 0x1c($sp)
/* 119C48 802B0638 8FB00018 */ lw $s0, 0x18($sp)
/* 119C4C 802B063C 27BD0020 */ addiu $sp, $sp, 0x20
/* 119C50 802B0640 03E00008 */ jr $ra
/* 119C54 802B0644 00000000 */ nop
glabel func_802B0648
/* 119C58 802B0648 848E001C */ lh $t6, 0x1c($a0)
/* 119C5C 802B064C 8482001A */ lh $v0, 0x1a($a0)
/* 119C60 802B0650 2405FFFF */ li $a1, -1
/* 119C64 802B0654 25CFFFFF */ addiu $t7, $t6, -1
/* 119C68 802B0658 10A2000A */ beq $a1, $v0, .L802B0684
/* 119C6C 802B065C A48F001C */ sh $t7, 0x1c($a0)
/* 119C70 802B0660 24070070 */ li $a3, 112
/* 119C74 802B0664 00470019 */ multu $v0, $a3
/* 119C78 802B0668 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119C7C 802B066C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119C80 802B0670 A485001A */ sh $a1, 0x1a($a0)
/* 119C84 802B0674 0000C012 */ mflo $t8
/* 119C88 802B0678 00D81821 */ addu $v1, $a2, $t8
/* 119C8C 802B067C 10000031 */ b .L802B0744
/* 119C90 802B0680 44800000 */ mtc1 $zero, $f0
.L802B0684:
/* 119C94 802B0684 84820018 */ lh $v0, 0x18($a0)
/* 119C98 802B0688 24070070 */ li $a3, 112
/* 119C9C 802B068C 50A2000A */ beql $a1, $v0, .L802B06B8
/* 119CA0 802B0690 84820016 */ lh $v0, 0x16($a0)
/* 119CA4 802B0694 00470019 */ multu $v0, $a3
/* 119CA8 802B0698 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119CAC 802B069C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119CB0 802B06A0 A4850018 */ sh $a1, 0x18($a0)
/* 119CB4 802B06A4 0000C812 */ mflo $t9
/* 119CB8 802B06A8 00D91821 */ addu $v1, $a2, $t9
/* 119CBC 802B06AC 10000025 */ b .L802B0744
/* 119CC0 802B06B0 44800000 */ mtc1 $zero, $f0
/* 119CC4 802B06B4 84820016 */ lh $v0, 0x16($a0)
.L802B06B8:
/* 119CC8 802B06B8 24070070 */ li $a3, 112
/* 119CCC 802B06BC 50A2000A */ beql $a1, $v0, .L802B06E8
/* 119CD0 802B06C0 84820014 */ lh $v0, 0x14($a0)
/* 119CD4 802B06C4 00470019 */ multu $v0, $a3
/* 119CD8 802B06C8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119CDC 802B06CC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119CE0 802B06D0 A4850016 */ sh $a1, 0x16($a0)
/* 119CE4 802B06D4 00004012 */ mflo $t0
/* 119CE8 802B06D8 00C81821 */ addu $v1, $a2, $t0
/* 119CEC 802B06DC 10000019 */ b .L802B0744
/* 119CF0 802B06E0 44800000 */ mtc1 $zero, $f0
/* 119CF4 802B06E4 84820014 */ lh $v0, 0x14($a0)
.L802B06E8:
/* 119CF8 802B06E8 24070070 */ li $a3, 112
/* 119CFC 802B06EC 50A2000A */ beql $a1, $v0, .L802B0718
/* 119D00 802B06F0 84820012 */ lh $v0, 0x12($a0)
/* 119D04 802B06F4 00470019 */ multu $v0, $a3
/* 119D08 802B06F8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119D0C 802B06FC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119D10 802B0700 A4850014 */ sh $a1, 0x14($a0)
/* 119D14 802B0704 00004812 */ mflo $t1
/* 119D18 802B0708 00C91821 */ addu $v1, $a2, $t1
/* 119D1C 802B070C 1000000D */ b .L802B0744
/* 119D20 802B0710 44800000 */ mtc1 $zero, $f0
/* 119D24 802B0714 84820012 */ lh $v0, 0x12($a0)
.L802B0718:
/* 119D28 802B0718 24070070 */ li $a3, 112
/* 119D2C 802B071C 10A20018 */ beq $a1, $v0, .L802B0780
/* 119D30 802B0720 00000000 */ nop
/* 119D34 802B0724 00470019 */ multu $v0, $a3
/* 119D38 802B0728 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119D3C 802B072C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119D40 802B0730 A4850012 */ sh $a1, 0x12($a0)
/* 119D44 802B0734 00005012 */ mflo $t2
/* 119D48 802B0738 00CA1821 */ addu $v1, $a2, $t2
/* 119D4C 802B073C 00000000 */ nop
/* 119D50 802B0740 44800000 */ mtc1 $zero, $f0
.L802B0744:
/* 119D54 802B0744 84620012 */ lh $v0, 0x12($v1)
/* 119D58 802B0748 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 119D5C 802B074C 44812000 */ mtc1 $at, $f4
/* 119D60 802B0750 240B0001 */ li $t3, 1
/* 119D64 802B0754 240C00B4 */ li $t4, 180
/* 119D68 802B0758 A46B0006 */ sh $t3, 6($v1)
/* 119D6C 802B075C A46C0004 */ sh $t4, 4($v1)
/* 119D70 802B0760 E4600024 */ swc1 $f0, 0x24($v1)
/* 119D74 802B0764 E460002C */ swc1 $f0, 0x2c($v1)
/* 119D78 802B0768 10450005 */ beq $v0, $a1, .L802B0780
/* 119D7C 802B076C E4640028 */ swc1 $f4, 0x28($v1)
/* 119D80 802B0770 00470019 */ multu $v0, $a3
/* 119D84 802B0774 00006812 */ mflo $t5
/* 119D88 802B0778 00CD7021 */ addu $t6, $a2, $t5
/* 119D8C 802B077C A5C50014 */ sh $a1, 0x14($t6)
.L802B0780:
/* 119D90 802B0780 03E00008 */ jr $ra
/* 119D94 802B0784 00000000 */ nop
glabel func_802B0788
/* 119D98 802B0788 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 119D9C 802B078C AFBF0014 */ sw $ra, 0x14($sp)
/* 119DA0 802B0790 AFA40040 */ sw $a0, 0x40($sp)
/* 119DA4 802B0794 AFA60048 */ sw $a2, 0x48($sp)
/* 119DA8 802B0798 84AE001C */ lh $t6, 0x1c($a1)
/* 119DAC 802B079C 84A7001A */ lh $a3, 0x1a($a1)
/* 119DB0 802B07A0 2403FFFF */ li $v1, -1
/* 119DB4 802B07A4 25CFFFFF */ addiu $t7, $t6, -1
/* 119DB8 802B07A8 1067000A */ beq $v1, $a3, .L802B07D4
/* 119DBC 802B07AC A4AF001C */ sh $t7, 0x1c($a1)
/* 119DC0 802B07B0 24080070 */ li $t0, 112
/* 119DC4 802B07B4 00E80019 */ multu $a3, $t0
/* 119DC8 802B07B8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119DCC 802B07BC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119DD0 802B07C0 A4A3001A */ sh $v1, 0x1a($a1)
/* 119DD4 802B07C4 0000C012 */ mflo $t8
/* 119DD8 802B07C8 00D81021 */ addu $v0, $a2, $t8
/* 119DDC 802B07CC 10000031 */ b .L802B0894
/* 119DE0 802B07D0 84450012 */ lh $a1, 0x12($v0)
.L802B07D4:
/* 119DE4 802B07D4 84A40018 */ lh $a0, 0x18($a1)
/* 119DE8 802B07D8 24080070 */ li $t0, 112
/* 119DEC 802B07DC 5064000A */ beql $v1, $a0, .L802B0808
/* 119DF0 802B07E0 84A40016 */ lh $a0, 0x16($a1)
/* 119DF4 802B07E4 00880019 */ multu $a0, $t0
/* 119DF8 802B07E8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119DFC 802B07EC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119E00 802B07F0 A4A30018 */ sh $v1, 0x18($a1)
/* 119E04 802B07F4 0000C812 */ mflo $t9
/* 119E08 802B07F8 00D91021 */ addu $v0, $a2, $t9
/* 119E0C 802B07FC 10000025 */ b .L802B0894
/* 119E10 802B0800 84450012 */ lh $a1, 0x12($v0)
/* 119E14 802B0804 84A40016 */ lh $a0, 0x16($a1)
.L802B0808:
/* 119E18 802B0808 24080070 */ li $t0, 112
/* 119E1C 802B080C 5064000A */ beql $v1, $a0, .L802B0838
/* 119E20 802B0810 84A40014 */ lh $a0, 0x14($a1)
/* 119E24 802B0814 00880019 */ multu $a0, $t0
/* 119E28 802B0818 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119E2C 802B081C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119E30 802B0820 A4A30016 */ sh $v1, 0x16($a1)
/* 119E34 802B0824 00004812 */ mflo $t1
/* 119E38 802B0828 00C91021 */ addu $v0, $a2, $t1
/* 119E3C 802B082C 10000019 */ b .L802B0894
/* 119E40 802B0830 84450012 */ lh $a1, 0x12($v0)
/* 119E44 802B0834 84A40014 */ lh $a0, 0x14($a1)
.L802B0838:
/* 119E48 802B0838 24080070 */ li $t0, 112
/* 119E4C 802B083C 5064000A */ beql $v1, $a0, .L802B0868
/* 119E50 802B0840 84A40012 */ lh $a0, 0x12($a1)
/* 119E54 802B0844 00880019 */ multu $a0, $t0
/* 119E58 802B0848 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119E5C 802B084C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119E60 802B0850 A4A30014 */ sh $v1, 0x14($a1)
/* 119E64 802B0854 00005012 */ mflo $t2
/* 119E68 802B0858 00CA1021 */ addu $v0, $a2, $t2
/* 119E6C 802B085C 1000000D */ b .L802B0894
/* 119E70 802B0860 84450012 */ lh $a1, 0x12($v0)
/* 119E74 802B0864 84A40012 */ lh $a0, 0x12($a1)
.L802B0868:
/* 119E78 802B0868 24080070 */ li $t0, 112
/* 119E7C 802B086C 50640051 */ beql $v1, $a0, .L802B09B4
/* 119E80 802B0870 8FBF0014 */ lw $ra, 0x14($sp)
/* 119E84 802B0874 00880019 */ multu $a0, $t0
/* 119E88 802B0878 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119E8C 802B087C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119E90 802B0880 A4A30012 */ sh $v1, 0x12($a1)
/* 119E94 802B0884 00005812 */ mflo $t3
/* 119E98 802B0888 00CB1021 */ addu $v0, $a2, $t3
/* 119E9C 802B088C 00000000 */ nop
/* 119EA0 802B0890 84450012 */ lh $a1, 0x12($v0)
.L802B0894:
/* 119EA4 802B0894 240C0001 */ li $t4, 1
/* 119EA8 802B0898 240D001E */ li $t5, 30
/* 119EAC 802B089C A44C0006 */ sh $t4, 6($v0)
/* 119EB0 802B08A0 10650005 */ beq $v1, $a1, .L802B08B8
/* 119EB4 802B08A4 A44D0004 */ sh $t5, 4($v0)
/* 119EB8 802B08A8 00A80019 */ multu $a1, $t0
/* 119EBC 802B08AC 00007012 */ mflo $t6
/* 119EC0 802B08B0 00CE2021 */ addu $a0, $a2, $t6
/* 119EC4 802B08B4 A4830014 */ sh $v1, 0x14($a0)
.L802B08B8:
/* 119EC8 802B08B8 8FAF0048 */ lw $t7, 0x48($sp)
/* 119ECC 802B08BC 3C014000 */ li $at, 0x40000000 # 2.000000
/* 119ED0 802B08C0 44812000 */ mtc1 $at, $f4
/* 119ED4 802B08C4 C5E20094 */ lwc1 $f2, 0x94($t7)
/* 119ED8 802B08C8 87B80042 */ lh $t8, 0x42($sp)
/* 119EDC 802B08CC 87B90042 */ lh $t9, 0x42($sp)
/* 119EE0 802B08D0 4604103C */ c.lt.s $f2, $f4
/* 119EE4 802B08D4 27A40034 */ addiu $a0, $sp, 0x34
/* 119EE8 802B08D8 24050000 */ li $a1, 0
/* 119EEC 802B08DC 45020010 */ bc1fl .L802B0920
/* 119EF0 802B08E0 44994000 */ mtc1 $t9, $f8
/* 119EF4 802B08E4 44983000 */ mtc1 $t8, $f6
/* 119EF8 802B08E8 3C014080 */ li $at, 0x40800000 # 4.000000
/* 119EFC 802B08EC 44816000 */ mtc1 $at, $f12
/* 119F00 802B08F0 46803220 */ cvt.s.w $f8, $f6
/* 119F04 802B08F4 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 119F08 802B08F8 44815000 */ mtc1 $at, $f10
/* 119F0C 802B08FC 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 119F10 802B0900 44819000 */ mtc1 $at, $f18
/* 119F14 802B0904 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 119F18 802B0908 460A4401 */ sub.s $f16, $f8, $f10
/* 119F1C 802B090C 44813000 */ mtc1 $at, $f6
/* 119F20 802B0910 46128103 */ div.s $f4, $f16, $f18
/* 119F24 802B0914 10000013 */ b .L802B0964
/* 119F28 802B0918 46062000 */ add.s $f0, $f4, $f6
/* 119F2C 802B091C 44994000 */ mtc1 $t9, $f8
.L802B0920:
/* 119F30 802B0920 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 119F34 802B0924 44818000 */ mtc1 $at, $f16
/* 119F38 802B0928 468042A0 */ cvt.s.w $f10, $f8
/* 119F3C 802B092C 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 119F40 802B0930 44812000 */ mtc1 $at, $f4
/* 119F44 802B0934 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 119F48 802B0938 44814000 */ mtc1 $at, $f8
/* 119F4C 802B093C 3C013F40 */ li $at, 0x3F400000 # 0.750000
/* 119F50 802B0940 46105481 */ sub.s $f18, $f10, $f16
/* 119F54 802B0944 44815000 */ mtc1 $at, $f10
/* 119F58 802B0948 3C014090 */ li $at, 0x40900000 # 4.500000
/* 119F5C 802B094C 46049183 */ div.s $f6, $f18, $f4
/* 119F60 802B0950 44819000 */ mtc1 $at, $f18
/* 119F64 802B0954 460A1402 */ mul.s $f16, $f2, $f10
/* 119F68 802B0958 46128100 */ add.s $f4, $f16, $f18
/* 119F6C 802B095C 46083000 */ add.s $f0, $f6, $f8
/* 119F70 802B0960 46002300 */ add.s $f12, $f4, $f0
.L802B0964:
/* 119F74 802B0964 44060000 */ mfc1 $a2, $f0
/* 119F78 802B0968 44076000 */ mfc1 $a3, $f12
/* 119F7C 802B096C 0C0AD4A7 */ jal load_giant_egg
/* 119F80 802B0970 AFA20030 */ sw $v0, 0x30($sp)
/* 119F84 802B0974 8FA30048 */ lw $v1, 0x48($sp)
/* 119F88 802B0978 27A40034 */ addiu $a0, $sp, 0x34
/* 119F8C 802B097C 8469002E */ lh $t1, 0x2e($v1)
/* 119F90 802B0980 846A00C0 */ lh $t2, 0xc0($v1)
/* 119F94 802B0984 012A2821 */ addu $a1, $t1, $t2
/* 119F98 802B0988 00055C00 */ sll $t3, $a1, 0x10
/* 119F9C 802B098C 0C0AD931 */ jal func_802B64C4
/* 119FA0 802B0990 000B2C03 */ sra $a1, $t3, 0x10
/* 119FA4 802B0994 8FA20030 */ lw $v0, 0x30($sp)
/* 119FA8 802B0998 C7A60034 */ lwc1 $f6, 0x34($sp)
/* 119FAC 802B099C E4460024 */ swc1 $f6, 0x24($v0)
/* 119FB0 802B09A0 C7A80038 */ lwc1 $f8, 0x38($sp)
/* 119FB4 802B09A4 E4480028 */ swc1 $f8, 0x28($v0)
/* 119FB8 802B09A8 C7AA003C */ lwc1 $f10, 0x3c($sp)
/* 119FBC 802B09AC E44A002C */ swc1 $f10, 0x2c($v0)
/* 119FC0 802B09B0 8FBF0014 */ lw $ra, 0x14($sp)
.L802B09B4:
/* 119FC4 802B09B4 27BD0040 */ addiu $sp, $sp, 0x40
/* 119FC8 802B09B8 03E00008 */ jr $ra
/* 119FCC 802B09BC 00000000 */ nop
glabel func_802B09C0
/* 119FD0 802B09C0 AFA40000 */ sw $a0, ($sp)
/* 119FD4 802B09C4 00047400 */ sll $t6, $a0, 0x10
/* 119FD8 802B09C8 000E2403 */ sra $a0, $t6, 0x10
/* 119FDC 802B09CC 2401FFFF */ li $at, -1
/* 119FE0 802B09D0 14810003 */ bne $a0, $at, .L802B09E0
/* 119FE4 802B09D4 0004C0C0 */ sll $t8, $a0, 3
/* 119FE8 802B09D8 03E00008 */ jr $ra
/* 119FEC 802B09DC 00001025 */ move $v0, $zero
.L802B09E0:
/* 119FF0 802B09E0 0304C023 */ subu $t8, $t8, $a0
/* 119FF4 802B09E4 0018C100 */ sll $t8, $t8, 4
/* 119FF8 802B09E8 3C028016 */ lui $v0, 0x8016
/* 119FFC 802B09EC 00581021 */ addu $v0, $v0, $t8
/* 11A000 802B09F0 8442F9BE */ lh $v0, -0x642($v0)
/* 11A004 802B09F4 24010002 */ li $at, 2
/* 11A008 802B09F8 54410004 */ bnel $v0, $at, .L802B0A0C
/* 11A00C 802B09FC 24010003 */ li $at, 3
/* 11A010 802B0A00 03E00008 */ jr $ra
/* 11A014 802B0A04 24020001 */ li $v0, 1
/* 11A018 802B0A08 24010003 */ li $at, 3
.L802B0A0C:
/* 11A01C 802B0A0C 54410004 */ bnel $v0, $at, .L802B0A20
/* 11A020 802B0A10 00001025 */ move $v0, $zero
/* 11A024 802B0A14 03E00008 */ jr $ra
/* 11A028 802B0A18 24020001 */ li $v0, 1
/* 11A02C 802B0A1C 00001025 */ move $v0, $zero
.L802B0A20:
/* 11A030 802B0A20 03E00008 */ jr $ra
/* 11A034 802B0A24 00000000 */ nop
glabel update_obj_banana_bunch
/* 11A038 802B0A28 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 11A03C 802B0A2C AFBF001C */ sw $ra, 0x1c($sp)
/* 11A040 802B0A30 AFB00018 */ sw $s0, 0x18($sp)
/* 11A044 802B0A34 848E0010 */ lh $t6, 0x10($a0)
/* 11A048 802B0A38 94990006 */ lhu $t9, 6($a0)
/* 11A04C 802B0A3C 3C18800F */ lui $t8, %hi(D_800F6990) # $t8, 0x800f
/* 11A050 802B0A40 000E78C0 */ sll $t7, $t6, 3
/* 11A054 802B0A44 01EE7823 */ subu $t7, $t7, $t6
/* 11A058 802B0A48 000F7900 */ sll $t7, $t7, 4
/* 11A05C 802B0A4C 01EE7823 */ subu $t7, $t7, $t6
/* 11A060 802B0A50 000F7880 */ sll $t7, $t7, 2
/* 11A064 802B0A54 01EE7823 */ subu $t7, $t7, $t6
/* 11A068 802B0A58 000F78C0 */ sll $t7, $t7, 3
/* 11A06C 802B0A5C 27186990 */ addiu $t8, %lo(D_800F6990) # addiu $t8, $t8, 0x6990
/* 11A070 802B0A60 2F210007 */ sltiu $at, $t9, 7
/* 11A074 802B0A64 00808025 */ move $s0, $a0
/* 11A078 802B0A68 102000E5 */ beqz $at, .L802B0E00
/* 11A07C 802B0A6C 01F83821 */ addu $a3, $t7, $t8
/* 11A080 802B0A70 0019C880 */ sll $t9, $t9, 2
/* 11A084 802B0A74 3C01802C */ lui $at, %hi(D_802B9E98)
/* 11A088 802B0A78 00390821 */ addu $at, $at, $t9
/* 11A08C 802B0A7C 8C399E98 */ lw $t9, %lo(D_802B9E98)($at)
/* 11A090 802B0A80 03200008 */ jr $t9
/* 11A094 802B0A84 00000000 */ nop
glabel L802B0A88
/* 11A098 802B0A88 02002025 */ move $a0, $s0
/* 11A09C 802B0A8C 00E02825 */ move $a1, $a3
/* 11A0A0 802B0A90 0C0ACA45 */ jal func_802B2914
/* 11A0A4 802B0A94 00003025 */ move $a2, $zero
/* 11A0A8 802B0A98 24020004 */ li $v0, 4
/* 11A0AC 802B0A9C 24050001 */ li $a1, 1
/* 11A0B0 802B0AA0 A6020004 */ sh $v0, 4($s0)
/* 11A0B4 802B0AA4 A6050006 */ sh $a1, 6($s0)
/* 11A0B8 802B0AA8 100000D5 */ b .L802B0E00
/* 11A0BC 802B0AAC A605001C */ sh $a1, 0x1c($s0)
glabel L802B0AB0
/* 11A0C0 802B0AB0 86090004 */ lh $t1, 4($s0)
/* 11A0C4 802B0AB4 02002025 */ move $a0, $s0
/* 11A0C8 802B0AB8 00E02825 */ move $a1, $a3
/* 11A0CC 802B0ABC 252AFFFF */ addiu $t2, $t1, -1
/* 11A0D0 802B0AC0 A60A0004 */ sh $t2, 4($s0)
/* 11A0D4 802B0AC4 860B0004 */ lh $t3, 4($s0)
/* 11A0D8 802B0AC8 556000CE */ bnel $t3, $zero, .L802B0E04
/* 11A0DC 802B0ACC 8FBF001C */ lw $ra, 0x1c($sp)
/* 11A0E0 802B0AD0 0C0ACA45 */ jal func_802B2914
/* 11A0E4 802B0AD4 24060001 */ li $a2, 1
/* 11A0E8 802B0AD8 860D001C */ lh $t5, 0x1c($s0)
/* 11A0EC 802B0ADC 24020004 */ li $v0, 4
/* 11A0F0 802B0AE0 240C0002 */ li $t4, 2
/* 11A0F4 802B0AE4 25AE0001 */ addiu $t6, $t5, 1
/* 11A0F8 802B0AE8 A6020004 */ sh $v0, 4($s0)
/* 11A0FC 802B0AEC A60C0006 */ sh $t4, 6($s0)
/* 11A100 802B0AF0 100000C3 */ b .L802B0E00
/* 11A104 802B0AF4 A60E001C */ sh $t6, 0x1c($s0)
glabel L802B0AF8
/* 11A108 802B0AF8 860F0004 */ lh $t7, 4($s0)
/* 11A10C 802B0AFC 02002025 */ move $a0, $s0
/* 11A110 802B0B00 00E02825 */ move $a1, $a3
/* 11A114 802B0B04 25F8FFFF */ addiu $t8, $t7, -1
/* 11A118 802B0B08 A6180004 */ sh $t8, 4($s0)
/* 11A11C 802B0B0C 86190004 */ lh $t9, 4($s0)
/* 11A120 802B0B10 572000BC */ bnel $t9, $zero, .L802B0E04
/* 11A124 802B0B14 8FBF001C */ lw $ra, 0x1c($sp)
/* 11A128 802B0B18 0C0ACA45 */ jal func_802B2914
/* 11A12C 802B0B1C 24060002 */ li $a2, 2
/* 11A130 802B0B20 860A001C */ lh $t2, 0x1c($s0)
/* 11A134 802B0B24 24020004 */ li $v0, 4
/* 11A138 802B0B28 24090003 */ li $t1, 3
/* 11A13C 802B0B2C 254B0001 */ addiu $t3, $t2, 1
/* 11A140 802B0B30 A6020004 */ sh $v0, 4($s0)
/* 11A144 802B0B34 A6090006 */ sh $t1, 6($s0)
/* 11A148 802B0B38 100000B1 */ b .L802B0E00
/* 11A14C 802B0B3C A60B001C */ sh $t3, 0x1c($s0)
glabel L802B0B40
/* 11A150 802B0B40 860C0004 */ lh $t4, 4($s0)
/* 11A154 802B0B44 02002025 */ move $a0, $s0
/* 11A158 802B0B48 00E02825 */ move $a1, $a3
/* 11A15C 802B0B4C 258DFFFF */ addiu $t5, $t4, -1
/* 11A160 802B0B50 A60D0004 */ sh $t5, 4($s0)
/* 11A164 802B0B54 860E0004 */ lh $t6, 4($s0)
/* 11A168 802B0B58 55C000AA */ bnel $t6, $zero, .L802B0E04
/* 11A16C 802B0B5C 8FBF001C */ lw $ra, 0x1c($sp)
/* 11A170 802B0B60 0C0ACA45 */ jal func_802B2914
/* 11A174 802B0B64 24060003 */ li $a2, 3
/* 11A178 802B0B68 860F001C */ lh $t7, 0x1c($s0)
/* 11A17C 802B0B6C 24020004 */ li $v0, 4
/* 11A180 802B0B70 A6020004 */ sh $v0, 4($s0)
/* 11A184 802B0B74 25F80001 */ addiu $t8, $t7, 1
/* 11A188 802B0B78 A6020006 */ sh $v0, 6($s0)
/* 11A18C 802B0B7C 100000A0 */ b .L802B0E00
/* 11A190 802B0B80 A618001C */ sh $t8, 0x1c($s0)
glabel L802B0B84
/* 11A194 802B0B84 86190004 */ lh $t9, 4($s0)
/* 11A198 802B0B88 02002025 */ move $a0, $s0
/* 11A19C 802B0B8C 00E02825 */ move $a1, $a3
/* 11A1A0 802B0B90 2729FFFF */ addiu $t1, $t9, -1
/* 11A1A4 802B0B94 A6090004 */ sh $t1, 4($s0)
/* 11A1A8 802B0B98 860A0004 */ lh $t2, 4($s0)
/* 11A1AC 802B0B9C 55400099 */ bnel $t2, $zero, .L802B0E04
/* 11A1B0 802B0BA0 8FBF001C */ lw $ra, 0x1c($sp)
/* 11A1B4 802B0BA4 0C0ACA45 */ jal func_802B2914
/* 11A1B8 802B0BA8 24060004 */ li $a2, 4
/* 11A1BC 802B0BAC 860C001C */ lh $t4, 0x1c($s0)
/* 11A1C0 802B0BB0 24020004 */ li $v0, 4
/* 11A1C4 802B0BB4 240B0005 */ li $t3, 5
/* 11A1C8 802B0BB8 258D0001 */ addiu $t5, $t4, 1
/* 11A1CC 802B0BBC A6020004 */ sh $v0, 4($s0)
/* 11A1D0 802B0BC0 A60B0006 */ sh $t3, 6($s0)
/* 11A1D4 802B0BC4 1000008E */ b .L802B0E00
/* 11A1D8 802B0BC8 A60D001C */ sh $t5, 0x1c($s0)
glabel L802B0BCC
/* 11A1DC 802B0BCC 860F0012 */ lh $t7, 0x12($s0)
/* 11A1E0 802B0BD0 24030070 */ li $v1, 112
/* 11A1E4 802B0BD4 3C028016 */ lui $v0, %hi(D_8015F9B8) # $v0, 0x8016
/* 11A1E8 802B0BD8 01E30019 */ multu $t7, $v1
/* 11A1EC 802B0BDC 2442F9B8 */ addiu $v0, %lo(D_8015F9B8) # addiu $v0, $v0, -0x648
/* 11A1F0 802B0BE0 240E0006 */ li $t6, 6
/* 11A1F4 802B0BE4 A60E0006 */ sh $t6, 6($s0)
/* 11A1F8 802B0BE8 0000C012 */ mflo $t8
/* 11A1FC 802B0BEC 00582021 */ addu $a0, $v0, $t8
/* 11A200 802B0BF0 84990002 */ lh $t9, 2($a0)
/* 11A204 802B0BF4 37295000 */ ori $t1, $t9, 0x5000
/* 11A208 802B0BF8 A4890002 */ sh $t1, 2($a0)
/* 11A20C 802B0BFC 860A0014 */ lh $t2, 0x14($s0)
/* 11A210 802B0C00 01430019 */ multu $t2, $v1
/* 11A214 802B0C04 00005812 */ mflo $t3
/* 11A218 802B0C08 004B2821 */ addu $a1, $v0, $t3
/* 11A21C 802B0C0C 84AC0002 */ lh $t4, 2($a1)
/* 11A220 802B0C10 358D5000 */ ori $t5, $t4, 0x5000
/* 11A224 802B0C14 A4AD0002 */ sh $t5, 2($a1)
/* 11A228 802B0C18 860E0016 */ lh $t6, 0x16($s0)
/* 11A22C 802B0C1C 01C30019 */ multu $t6, $v1
/* 11A230 802B0C20 00007812 */ mflo $t7
/* 11A234 802B0C24 004F3021 */ addu $a2, $v0, $t7
/* 11A238 802B0C28 84D80002 */ lh $t8, 2($a2)
/* 11A23C 802B0C2C 37195000 */ ori $t9, $t8, 0x5000
/* 11A240 802B0C30 A4D90002 */ sh $t9, 2($a2)
/* 11A244 802B0C34 86090018 */ lh $t1, 0x18($s0)
/* 11A248 802B0C38 01230019 */ multu $t1, $v1
/* 11A24C 802B0C3C 00005012 */ mflo $t2
/* 11A250 802B0C40 004A3821 */ addu $a3, $v0, $t2
/* 11A254 802B0C44 84EB0002 */ lh $t3, 2($a3)
/* 11A258 802B0C48 356C5000 */ ori $t4, $t3, 0x5000
/* 11A25C 802B0C4C A4EC0002 */ sh $t4, 2($a3)
/* 11A260 802B0C50 860D001A */ lh $t5, 0x1a($s0)
/* 11A264 802B0C54 01A30019 */ multu $t5, $v1
/* 11A268 802B0C58 00007012 */ mflo $t6
/* 11A26C 802B0C5C 004E4021 */ addu $t0, $v0, $t6
/* 11A270 802B0C60 850F0002 */ lh $t7, 2($t0)
/* 11A274 802B0C64 35F85000 */ ori $t8, $t7, 0x5000
/* 11A278 802B0C68 10000065 */ b .L802B0E00
/* 11A27C 802B0C6C A5180002 */ sh $t8, 2($t0)
glabel L802B0C70
/* 11A280 802B0C70 86040012 */ lh $a0, 0x12($s0)
/* 11A284 802B0C74 AFA7002C */ sw $a3, 0x2c($sp)
/* 11A288 802B0C78 0C0AC270 */ jal func_802B09C0
/* 11A28C 802B0C7C AFA00024 */ sw $zero, 0x24($sp)
/* 11A290 802B0C80 24050001 */ li $a1, 1
/* 11A294 802B0C84 8FA30024 */ lw $v1, 0x24($sp)
/* 11A298 802B0C88 14450002 */ bne $v0, $a1, .L802B0C94
/* 11A29C 802B0C8C 8FA7002C */ lw $a3, 0x2c($sp)
/* 11A2A0 802B0C90 00A01825 */ move $v1, $a1
.L802B0C94:
/* 11A2A4 802B0C94 86040014 */ lh $a0, 0x14($s0)
/* 11A2A8 802B0C98 AFA7002C */ sw $a3, 0x2c($sp)
/* 11A2AC 802B0C9C 0C0AC270 */ jal func_802B09C0
/* 11A2B0 802B0CA0 AFA30024 */ sw $v1, 0x24($sp)
/* 11A2B4 802B0CA4 24050001 */ li $a1, 1
/* 11A2B8 802B0CA8 8FA30024 */ lw $v1, 0x24($sp)
/* 11A2BC 802B0CAC 14450002 */ bne $v0, $a1, .L802B0CB8
/* 11A2C0 802B0CB0 8FA7002C */ lw $a3, 0x2c($sp)
/* 11A2C4 802B0CB4 24630001 */ addiu $v1, $v1, 1
.L802B0CB8:
/* 11A2C8 802B0CB8 86040016 */ lh $a0, 0x16($s0)
/* 11A2CC 802B0CBC AFA7002C */ sw $a3, 0x2c($sp)
/* 11A2D0 802B0CC0 0C0AC270 */ jal func_802B09C0
/* 11A2D4 802B0CC4 AFA30024 */ sw $v1, 0x24($sp)
/* 11A2D8 802B0CC8 24050001 */ li $a1, 1
/* 11A2DC 802B0CCC 8FA30024 */ lw $v1, 0x24($sp)
/* 11A2E0 802B0CD0 14450002 */ bne $v0, $a1, .L802B0CDC
/* 11A2E4 802B0CD4 8FA7002C */ lw $a3, 0x2c($sp)
/* 11A2E8 802B0CD8 24630001 */ addiu $v1, $v1, 1
.L802B0CDC:
/* 11A2EC 802B0CDC 86040018 */ lh $a0, 0x18($s0)
/* 11A2F0 802B0CE0 AFA7002C */ sw $a3, 0x2c($sp)
/* 11A2F4 802B0CE4 0C0AC270 */ jal func_802B09C0
/* 11A2F8 802B0CE8 AFA30024 */ sw $v1, 0x24($sp)
/* 11A2FC 802B0CEC 24050001 */ li $a1, 1
/* 11A300 802B0CF0 8FA30024 */ lw $v1, 0x24($sp)
/* 11A304 802B0CF4 14450002 */ bne $v0, $a1, .L802B0D00
/* 11A308 802B0CF8 8FA7002C */ lw $a3, 0x2c($sp)
/* 11A30C 802B0CFC 24630001 */ addiu $v1, $v1, 1
.L802B0D00:
/* 11A310 802B0D00 8604001A */ lh $a0, 0x1a($s0)
/* 11A314 802B0D04 AFA7002C */ sw $a3, 0x2c($sp)
/* 11A318 802B0D08 0C0AC270 */ jal func_802B09C0
/* 11A31C 802B0D0C AFA30024 */ sw $v1, 0x24($sp)
/* 11A320 802B0D10 24050001 */ li $a1, 1
/* 11A324 802B0D14 8FA30024 */ lw $v1, 0x24($sp)
/* 11A328 802B0D18 14450002 */ bne $v0, $a1, .L802B0D24
/* 11A32C 802B0D1C 8FA7002C */ lw $a3, 0x2c($sp)
/* 11A330 802B0D20 24630001 */ addiu $v1, $v1, 1
.L802B0D24:
/* 11A334 802B0D24 1460000A */ bnez $v1, .L802B0D50
/* 11A338 802B0D28 02002025 */ move $a0, $s0
/* 11A33C 802B0D2C 0C0A7A15 */ jal func_8029E854
/* 11A340 802B0D30 AFA7002C */ sw $a3, 0x2c($sp)
/* 11A344 802B0D34 8FA7002C */ lw $a3, 0x2c($sp)
/* 11A348 802B0D38 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb
/* 11A34C 802B0D3C 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 11A350 802B0D40 8CF9000C */ lw $t9, 0xc($a3)
/* 11A354 802B0D44 03214824 */ and $t1, $t9, $at
/* 11A358 802B0D48 1000002D */ b .L802B0E00
/* 11A35C 802B0D4C ACE9000C */ sw $t1, 0xc($a3)
.L802B0D50:
/* 11A360 802B0D50 94EA0000 */ lhu $t2, ($a3)
/* 11A364 802B0D54 314B4000 */ andi $t3, $t2, 0x4000
/* 11A368 802B0D58 5160002A */ beql $t3, $zero, .L802B0E04
/* 11A36C 802B0D5C 8FBF001C */ lw $ra, 0x1c($sp)
/* 11A370 802B0D60 860C0010 */ lh $t4, 0x10($s0)
/* 11A374 802B0D64 3C0E800F */ lui $t6, %hi(gPlayer1Controller) # $t6, 0x800f
/* 11A378 802B0D68 25CE6910 */ addiu $t6, %lo(gPlayer1Controller) # addiu $t6, $t6, 0x6910
/* 11A37C 802B0D6C 000C6900 */ sll $t5, $t4, 4
/* 11A380 802B0D70 01AE1021 */ addu $v0, $t5, $t6
/* 11A384 802B0D74 94430006 */ lhu $v1, 6($v0)
/* 11A388 802B0D78 3C19800E */ lui $t9, %hi(D_800DC4DC) # $t9, 0x800e
/* 11A38C 802B0D7C 24010DD8 */ li $at, 3544
/* 11A390 802B0D80 306F2000 */ andi $t7, $v1, 0x2000
/* 11A394 802B0D84 11E0001E */ beqz $t7, .L802B0E00
/* 11A398 802B0D88 3078DFFF */ andi $t8, $v1, 0xdfff
/* 11A39C 802B0D8C A4580006 */ sh $t8, 6($v0)
/* 11A3A0 802B0D90 8F39C4DC */ lw $t9, %lo(D_800DC4DC)($t9)
/* 11A3A4 802B0D94 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900
/* 11A3A8 802B0D98 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012
/* 11A3AC 802B0D9C 00F92023 */ subu $a0, $a3, $t9
/* 11A3B0 802B0DA0 0081001A */ div $zero, $a0, $at
/* 11A3B4 802B0DA4 00004812 */ mflo $t1
/* 11A3B8 802B0DA8 312400FF */ andi $a0, $t1, 0xff
/* 11A3BC 802B0DAC AFA7002C */ sw $a3, 0x2c($sp)
/* 11A3C0 802B0DB0 0C032418 */ jal func_800C9060
/* 11A3C4 802B0DB4 AFA20028 */ sw $v0, 0x28($sp)
/* 11A3C8 802B0DB8 8FA20028 */ lw $v0, 0x28($sp)
/* 11A3CC 802B0DBC 8FA7002C */ lw $a3, 0x2c($sp)
/* 11A3D0 802B0DC0 84440002 */ lh $a0, 2($v0)
/* 11A3D4 802B0DC4 2881001F */ slti $at, $a0, 0x1f
/* 11A3D8 802B0DC8 1420000B */ bnez $at, .L802B0DF8
/* 11A3DC 802B0DCC 00000000 */ nop
/* 11A3E0 802B0DD0 84430000 */ lh $v1, ($v0)
/* 11A3E4 802B0DD4 28610028 */ slti $at, $v1, 0x28
/* 11A3E8 802B0DD8 10200007 */ beqz $at, .L802B0DF8
/* 11A3EC 802B0DDC 2861FFD9 */ slti $at, $v1, -0x27
/* 11A3F0 802B0DE0 14200005 */ bnez $at, .L802B0DF8
/* 11A3F4 802B0DE4 02002825 */ move $a1, $s0
/* 11A3F8 802B0DE8 0C0AC1E2 */ jal func_802B0788
/* 11A3FC 802B0DEC 00E03025 */ move $a2, $a3
/* 11A400 802B0DF0 10000004 */ b .L802B0E04
/* 11A404 802B0DF4 8FBF001C */ lw $ra, 0x1c($sp)
.L802B0DF8:
/* 11A408 802B0DF8 0C0AC192 */ jal func_802B0648
/* 11A40C 802B0DFC 02002025 */ move $a0, $s0
.L802B0E00:
/* 11A410 802B0E00 8FBF001C */ lw $ra, 0x1c($sp)
.L802B0E04:
/* 11A414 802B0E04 8FB00018 */ lw $s0, 0x18($sp)
/* 11A418 802B0E08 27BD0038 */ addiu $sp, $sp, 0x38
/* 11A41C 802B0E0C 03E00008 */ jr $ra
/* 11A420 802B0E10 00000000 */ nop
glabel func_802B0E14
/* 11A424 802B0E14 AFA40000 */ sw $a0, ($sp)
/* 11A428 802B0E18 00047400 */ sll $t6, $a0, 0x10
/* 11A42C 802B0E1C 000E2403 */ sra $a0, $t6, 0x10
/* 11A430 802B0E20 04810003 */ bgez $a0, .L802B0E30
/* 11A434 802B0E24 0004C0C0 */ sll $t8, $a0, 3
/* 11A438 802B0E28 03E00008 */ jr $ra
/* 11A43C 802B0E2C 00001025 */ move $v0, $zero
.L802B0E30:
/* 11A440 802B0E30 0304C023 */ subu $t8, $t8, $a0
/* 11A444 802B0E34 3C198016 */ lui $t9, %hi(D_8015F9B8) # $t9, 0x8016
/* 11A448 802B0E38 2739F9B8 */ addiu $t9, %lo(D_8015F9B8) # addiu $t9, $t9, -0x648
/* 11A44C 802B0E3C 0018C100 */ sll $t8, $t8, 4
/* 11A450 802B0E40 03191021 */ addu $v0, $t8, $t9
/* 11A454 802B0E44 84480000 */ lh $t0, ($v0)
/* 11A458 802B0E48 24010007 */ li $at, 7
/* 11A45C 802B0E4C 5501000A */ bnel $t0, $at, .L802B0E78
/* 11A460 802B0E50 844A0006 */ lh $t2, 6($v0)
/* 11A464 802B0E54 84490006 */ lh $t1, 6($v0)
/* 11A468 802B0E58 24010004 */ li $at, 4
/* 11A46C 802B0E5C 15210003 */ bne $t1, $at, .L802B0E6C
/* 11A470 802B0E60 00000000 */ nop
/* 11A474 802B0E64 03E00008 */ jr $ra
/* 11A478 802B0E68 24020001 */ li $v0, 1
.L802B0E6C:
/* 11A47C 802B0E6C 03E00008 */ jr $ra
/* 11A480 802B0E70 00001025 */ move $v0, $zero
/* 11A484 802B0E74 844A0006 */ lh $t2, 6($v0)
.L802B0E78:
/* 11A488 802B0E78 24010006 */ li $at, 6
/* 11A48C 802B0E7C 00001025 */ move $v0, $zero
/* 11A490 802B0E80 15410003 */ bne $t2, $at, .L802B0E90
/* 11A494 802B0E84 00000000 */ nop
/* 11A498 802B0E88 03E00008 */ jr $ra
/* 11A49C 802B0E8C 24020001 */ li $v0, 1
.L802B0E90:
/* 11A4A0 802B0E90 03E00008 */ jr $ra
/* 11A4A4 802B0E94 00000000 */ nop
glabel update_obj_triple_shell
/* 11A4A8 802B0E98 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 11A4AC 802B0E9C AFBF001C */ sw $ra, 0x1c($sp)
/* 11A4B0 802B0EA0 AFB00018 */ sw $s0, 0x18($sp)
/* 11A4B4 802B0EA4 AFA5005C */ sw $a1, 0x5c($sp)
/* 11A4B8 802B0EA8 848F0012 */ lh $t7, 0x12($a0)
/* 11A4BC 802B0EAC 84820010 */ lh $v0, 0x10($a0)
/* 11A4C0 802B0EB0 94990006 */ lhu $t9, 6($a0)
/* 11A4C4 802B0EB4 00053400 */ sll $a2, $a1, 0x10
/* 11A4C8 802B0EB8 00067403 */ sra $t6, $a2, 0x10
/* 11A4CC 802B0EBC 01E2C021 */ addu $t8, $t7, $v0
/* 11A4D0 802B0EC0 2F210005 */ sltiu $at, $t9, 5
/* 11A4D4 802B0EC4 01C03025 */ move $a2, $t6
/* 11A4D8 802B0EC8 00808025 */ move $s0, $a0
/* 11A4DC 802B0ECC 84880014 */ lh $t0, 0x14($a0)
/* 11A4E0 802B0ED0 A4980012 */ sh $t8, 0x12($a0)
/* 11A4E4 802B0ED4 10200242 */ beqz $at, .L802B17E0
/* 11A4E8 802B0ED8 3303FFFF */ andi $v1, $t8, 0xffff
/* 11A4EC 802B0EDC 0019C880 */ sll $t9, $t9, 2
/* 11A4F0 802B0EE0 3C01802C */ lui $at, %hi(D_802B9EB4)
/* 11A4F4 802B0EE4 00390821 */ addu $at, $at, $t9
/* 11A4F8 802B0EE8 8C399EB4 */ lw $t9, %lo(D_802B9EB4)($at)
/* 11A4FC 802B0EEC 03200008 */ jr $t9
/* 11A500 802B0EF0 00000000 */ nop
glabel L802B0EF4
/* 11A504 802B0EF4 000848C0 */ sll $t1, $t0, 3
/* 11A508 802B0EF8 01284823 */ subu $t1, $t1, $t0
/* 11A50C 802B0EFC 00094900 */ sll $t1, $t1, 4
/* 11A510 802B0F00 01284823 */ subu $t1, $t1, $t0
/* 11A514 802B0F04 00094880 */ sll $t1, $t1, 2
/* 11A518 802B0F08 01284823 */ subu $t1, $t1, $t0
/* 11A51C 802B0F0C 3C0A800F */ lui $t2, %hi(D_800F6990) # $t2, 0x800f
/* 11A520 802B0F10 254A6990 */ addiu $t2, %lo(D_800F6990) # addiu $t2, $t2, 0x6990
/* 11A524 802B0F14 000948C0 */ sll $t1, $t1, 3
/* 11A528 802B0F18 012A2821 */ addu $a1, $t1, $t2
/* 11A52C 802B0F1C 02002025 */ move $a0, $s0
/* 11A530 802B0F20 00003825 */ move $a3, $zero
/* 11A534 802B0F24 0C0AC67B */ jal func_802B19EC
/* 11A538 802B0F28 A7A8004E */ sh $t0, 0x4e($sp)
/* 11A53C 802B0F2C 2401FFFF */ li $at, -1
/* 11A540 802B0F30 10410008 */ beq $v0, $at, .L802B0F54
/* 11A544 802B0F34 87A8004E */ lh $t0, 0x4e($sp)
/* 11A548 802B0F38 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900
/* 11A54C 802B0F3C 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012
/* 11A550 802B0F40 0C032418 */ jal func_800C9060
/* 11A554 802B0F44 310400FF */ andi $a0, $t0, 0xff
/* 11A558 802B0F48 860B0004 */ lh $t3, 4($s0)
/* 11A55C 802B0F4C 256C0001 */ addiu $t4, $t3, 1
/* 11A560 802B0F50 A60C0004 */ sh $t4, 4($s0)
.L802B0F54:
/* 11A564 802B0F54 240D0001 */ li $t5, 1
/* 11A568 802B0F58 10000221 */ b .L802B17E0
/* 11A56C 802B0F5C A60D0006 */ sh $t5, 6($s0)
glabel L802B0F60
/* 11A570 802B0F60 1840001F */ blez $v0, .L802B0FE0
/* 11A574 802B0F64 28612AAA */ slti $at, $v1, 0x2aaa
/* 11A578 802B0F68 3401D556 */ li $at, 54614
/* 11A57C 802B0F6C 0061082A */ slt $at, $v1, $at
/* 11A580 802B0F70 1420021B */ bnez $at, .L802B17E0
/* 11A584 802B0F74 02002025 */ move $a0, $s0
/* 11A588 802B0F78 000870C0 */ sll $t6, $t0, 3
/* 11A58C 802B0F7C 01C87023 */ subu $t6, $t6, $t0
/* 11A590 802B0F80 000E7100 */ sll $t6, $t6, 4
/* 11A594 802B0F84 01C87023 */ subu $t6, $t6, $t0
/* 11A598 802B0F88 000E7080 */ sll $t6, $t6, 2
/* 11A59C 802B0F8C 01C87023 */ subu $t6, $t6, $t0
/* 11A5A0 802B0F90 3C0F800F */ lui $t7, %hi(D_800F6990) # $t7, 0x800f
/* 11A5A4 802B0F94 25EF6990 */ addiu $t7, %lo(D_800F6990) # addiu $t7, $t7, 0x6990
/* 11A5A8 802B0F98 000E70C0 */ sll $t6, $t6, 3
/* 11A5AC 802B0F9C 01CF2821 */ addu $a1, $t6, $t7
/* 11A5B0 802B0FA0 24070001 */ li $a3, 1
/* 11A5B4 802B0FA4 0C0AC67B */ jal func_802B19EC
/* 11A5B8 802B0FA8 A7A8004E */ sh $t0, 0x4e($sp)
/* 11A5BC 802B0FAC 2401FFFF */ li $at, -1
/* 11A5C0 802B0FB0 10410008 */ beq $v0, $at, .L802B0FD4
/* 11A5C4 802B0FB4 87A8004E */ lh $t0, 0x4e($sp)
/* 11A5C8 802B0FB8 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900
/* 11A5CC 802B0FBC 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012
/* 11A5D0 802B0FC0 0C032418 */ jal func_800C9060
/* 11A5D4 802B0FC4 310400FF */ andi $a0, $t0, 0xff
/* 11A5D8 802B0FC8 86180004 */ lh $t8, 4($s0)
/* 11A5DC 802B0FCC 27190001 */ addiu $t9, $t8, 1
/* 11A5E0 802B0FD0 A6190004 */ sh $t9, 4($s0)
.L802B0FD4:
/* 11A5E4 802B0FD4 24090002 */ li $t1, 2
/* 11A5E8 802B0FD8 10000201 */ b .L802B17E0
/* 11A5EC 802B0FDC A6090006 */ sh $t1, 6($s0)
.L802B0FE0:
/* 11A5F0 802B0FE0 102001FF */ beqz $at, .L802B17E0
/* 11A5F4 802B0FE4 02002025 */ move $a0, $s0
/* 11A5F8 802B0FE8 000850C0 */ sll $t2, $t0, 3
/* 11A5FC 802B0FEC 01485023 */ subu $t2, $t2, $t0
/* 11A600 802B0FF0 000A5100 */ sll $t2, $t2, 4
/* 11A604 802B0FF4 01485023 */ subu $t2, $t2, $t0
/* 11A608 802B0FF8 000A5080 */ sll $t2, $t2, 2
/* 11A60C 802B0FFC 01485023 */ subu $t2, $t2, $t0
/* 11A610 802B1000 3C0B800F */ lui $t3, %hi(D_800F6990) # $t3, 0x800f
/* 11A614 802B1004 256B6990 */ addiu $t3, %lo(D_800F6990) # addiu $t3, $t3, 0x6990
/* 11A618 802B1008 000A50C0 */ sll $t2, $t2, 3
/* 11A61C 802B100C 014B2821 */ addu $a1, $t2, $t3
/* 11A620 802B1010 24070001 */ li $a3, 1
/* 11A624 802B1014 0C0AC67B */ jal func_802B19EC
/* 11A628 802B1018 A7A8004E */ sh $t0, 0x4e($sp)
/* 11A62C 802B101C 2401FFFF */ li $at, -1
/* 11A630 802B1020 10410008 */ beq $v0, $at, .L802B1044
/* 11A634 802B1024 87A8004E */ lh $t0, 0x4e($sp)
/* 11A638 802B1028 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900
/* 11A63C 802B102C 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012
/* 11A640 802B1030 0C032418 */ jal func_800C9060
/* 11A644 802B1034 310400FF */ andi $a0, $t0, 0xff
/* 11A648 802B1038 860C0004 */ lh $t4, 4($s0)
/* 11A64C 802B103C 258D0001 */ addiu $t5, $t4, 1
/* 11A650 802B1040 A60D0004 */ sh $t5, 4($s0)
.L802B1044:
/* 11A654 802B1044 240E0002 */ li $t6, 2
/* 11A658 802B1048 100001E5 */ b .L802B17E0
/* 11A65C 802B104C A60E0006 */ sh $t6, 6($s0)
glabel L802B1050
/* 11A660 802B1050 18400020 */ blez $v0, .L802B10D4
/* 11A664 802B1054 3401D555 */ li $at, 54613
/* 11A668 802B1058 28612AAB */ slti $at, $v1, 0x2aab
/* 11A66C 802B105C 142001E0 */ bnez $at, .L802B17E0
/* 11A670 802B1060 286131C7 */ slti $at, $v1, 0x31c7
/* 11A674 802B1064 102001DE */ beqz $at, .L802B17E0
/* 11A678 802B1068 02002025 */ move $a0, $s0
/* 11A67C 802B106C 000878C0 */ sll $t7, $t0, 3
/* 11A680 802B1070 01E87823 */ subu $t7, $t7, $t0
/* 11A684 802B1074 000F7900 */ sll $t7, $t7, 4
/* 11A688 802B1078 01E87823 */ subu $t7, $t7, $t0
/* 11A68C 802B107C 000F7880 */ sll $t7, $t7, 2
/* 11A690 802B1080 01E87823 */ subu $t7, $t7, $t0
/* 11A694 802B1084 3C18800F */ lui $t8, %hi(D_800F6990) # $t8, 0x800f
/* 11A698 802B1088 27186990 */ addiu $t8, %lo(D_800F6990) # addiu $t8, $t8, 0x6990
/* 11A69C 802B108C 000F78C0 */ sll $t7, $t7, 3
/* 11A6A0 802B1090 01F82821 */ addu $a1, $t7, $t8
/* 11A6A4 802B1094 24070002 */ li $a3, 2
/* 11A6A8 802B1098 0C0AC67B */ jal func_802B19EC
/* 11A6AC 802B109C A7A8004E */ sh $t0, 0x4e($sp)
/* 11A6B0 802B10A0 2401FFFF */ li $at, -1
/* 11A6B4 802B10A4 10410008 */ beq $v0, $at, .L802B10C8
/* 11A6B8 802B10A8 87A8004E */ lh $t0, 0x4e($sp)
/* 11A6BC 802B10AC 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900
/* 11A6C0 802B10B0 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012
/* 11A6C4 802B10B4 0C032418 */ jal func_800C9060
/* 11A6C8 802B10B8 310400FF */ andi $a0, $t0, 0xff
/* 11A6CC 802B10BC 86190004 */ lh $t9, 4($s0)
/* 11A6D0 802B10C0 27290001 */ addiu $t1, $t9, 1
/* 11A6D4 802B10C4 A6090004 */ sh $t1, 4($s0)
.L802B10C8:
/* 11A6D8 802B10C8 240A0003 */ li $t2, 3
/* 11A6DC 802B10CC 100001C4 */ b .L802B17E0
/* 11A6E0 802B10D0 A60A0006 */ sh $t2, 6($s0)
.L802B10D4:
/* 11A6E4 802B10D4 0061082A */ slt $at, $v1, $at
/* 11A6E8 802B10D8 102001C1 */ beqz $at, .L802B17E0
/* 11A6EC 802B10DC 3401CE39 */ li $at, 52793
/* 11A6F0 802B10E0 0061082A */ slt $at, $v1, $at
/* 11A6F4 802B10E4 142001BE */ bnez $at, .L802B17E0
/* 11A6F8 802B10E8 02002025 */ move $a0, $s0
/* 11A6FC 802B10EC 000858C0 */ sll $t3, $t0, 3
/* 11A700 802B10F0 01685823 */ subu $t3, $t3, $t0
/* 11A704 802B10F4 000B5900 */ sll $t3, $t3, 4
/* 11A708 802B10F8 01685823 */ subu $t3, $t3, $t0
/* 11A70C 802B10FC 000B5880 */ sll $t3, $t3, 2
/* 11A710 802B1100 01685823 */ subu $t3, $t3, $t0
/* 11A714 802B1104 3C0C800F */ lui $t4, %hi(D_800F6990) # $t4, 0x800f
/* 11A718 802B1108 258C6990 */ addiu $t4, %lo(D_800F6990) # addiu $t4, $t4, 0x6990
/* 11A71C 802B110C 000B58C0 */ sll $t3, $t3, 3
/* 11A720 802B1110 016C2821 */ addu $a1, $t3, $t4
/* 11A724 802B1114 24070002 */ li $a3, 2
/* 11A728 802B1118 0C0AC67B */ jal func_802B19EC
/* 11A72C 802B111C A7A8004E */ sh $t0, 0x4e($sp)
/* 11A730 802B1120 2401FFFF */ li $at, -1
/* 11A734 802B1124 10410008 */ beq $v0, $at, .L802B1148
/* 11A738 802B1128 87A8004E */ lh $t0, 0x4e($sp)
/* 11A73C 802B112C 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900
/* 11A740 802B1130 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012
/* 11A744 802B1134 0C032418 */ jal func_800C9060
/* 11A748 802B1138 310400FF */ andi $a0, $t0, 0xff
/* 11A74C 802B113C 860D0004 */ lh $t5, 4($s0)
/* 11A750 802B1140 25AE0001 */ addiu $t6, $t5, 1
/* 11A754 802B1144 A60E0004 */ sh $t6, 4($s0)
.L802B1148:
/* 11A758 802B1148 240F0003 */ li $t7, 3
/* 11A75C 802B114C 100001A4 */ b .L802B17E0
/* 11A760 802B1150 A60F0006 */ sh $t7, 6($s0)
glabel L802B1154
/* 11A764 802B1154 C6040024 */ lwc1 $f4, 0x24($s0)
/* 11A768 802B1158 24050070 */ li $a1, 112
/* 11A76C 802B115C 3C048016 */ lui $a0, %hi(D_8015F9B8) # $a0, 0x8016
/* 11A770 802B1160 4600218D */ trunc.w.s $f6, $f4
/* 11A774 802B1164 2484F9B8 */ addiu $a0, %lo(D_8015F9B8) # addiu $a0, $a0, -0x648
/* 11A778 802B1168 24180004 */ li $t8, 4
/* 11A77C 802B116C A6180006 */ sh $t8, 6($s0)
/* 11A780 802B1170 44093000 */ mfc1 $t1, $f6
/* 11A784 802B1174 00000000 */ nop
/* 11A788 802B1178 00095400 */ sll $t2, $t1, 0x10
/* 11A78C 802B117C 000A5C03 */ sra $t3, $t2, 0x10
/* 11A790 802B1180 01650019 */ multu $t3, $a1
/* 11A794 802B1184 00006012 */ mflo $t4
/* 11A798 802B1188 008C1021 */ addu $v0, $a0, $t4
/* 11A79C 802B118C 844D0002 */ lh $t5, 2($v0)
/* 11A7A0 802B1190 35AE4000 */ ori $t6, $t5, 0x4000
/* 11A7A4 802B1194 A44E0002 */ sh $t6, 2($v0)
/* 11A7A8 802B1198 C6080028 */ lwc1 $f8, 0x28($s0)
/* 11A7AC 802B119C 4600428D */ trunc.w.s $f10, $f8
/* 11A7B0 802B11A0 44185000 */ mfc1 $t8, $f10
/* 11A7B4 802B11A4 00000000 */ nop
/* 11A7B8 802B11A8 0018CC00 */ sll $t9, $t8, 0x10
/* 11A7BC 802B11AC 00194C03 */ sra $t1, $t9, 0x10
/* 11A7C0 802B11B0 01250019 */ multu $t1, $a1
/* 11A7C4 802B11B4 00005012 */ mflo $t2
/* 11A7C8 802B11B8 008A1021 */ addu $v0, $a0, $t2
/* 11A7CC 802B11BC 844B0002 */ lh $t3, 2($v0)
/* 11A7D0 802B11C0 356C4000 */ ori $t4, $t3, 0x4000
/* 11A7D4 802B11C4 A44C0002 */ sh $t4, 2($v0)
/* 11A7D8 802B11C8 C610002C */ lwc1 $f16, 0x2c($s0)
/* 11A7DC 802B11CC 4600848D */ trunc.w.s $f18, $f16
/* 11A7E0 802B11D0 440E9000 */ mfc1 $t6, $f18
/* 11A7E4 802B11D4 00000000 */ nop
/* 11A7E8 802B11D8 000E7C00 */ sll $t7, $t6, 0x10
/* 11A7EC 802B11DC 000FC403 */ sra $t8, $t7, 0x10
/* 11A7F0 802B11E0 03050019 */ multu $t8, $a1
/* 11A7F4 802B11E4 0000C812 */ mflo $t9
/* 11A7F8 802B11E8 00991021 */ addu $v0, $a0, $t9
/* 11A7FC 802B11EC 84490002 */ lh $t1, 2($v0)
/* 11A800 802B11F0 352A4000 */ ori $t2, $t1, 0x4000
/* 11A804 802B11F4 1000017A */ b .L802B17E0
/* 11A808 802B11F8 A44A0002 */ sh $t2, 2($v0)
glabel L802B11FC
/* 11A80C 802B11FC C6040024 */ lwc1 $f4, 0x24($s0)
/* 11A810 802B1200 A7A8004E */ sh $t0, 0x4e($sp)
/* 11A814 802B1204 A7A00032 */ sh $zero, 0x32($sp)
/* 11A818 802B1208 4600218D */ trunc.w.s $f6, $f4
/* 11A81C 802B120C 44043000 */ mfc1 $a0, $f6
/* 11A820 802B1210 00000000 */ nop
/* 11A824 802B1214 00046400 */ sll $t4, $a0, 0x10
/* 11A828 802B1218 0C0AC385 */ jal func_802B0E14
/* 11A82C 802B121C 000C2403 */ sra $a0, $t4, 0x10
/* 11A830 802B1220 24010001 */ li $at, 1
/* 11A834 802B1224 87A30032 */ lh $v1, 0x32($sp)
/* 11A838 802B1228 14410003 */ bne $v0, $at, .L802B1238
/* 11A83C 802B122C 87A8004E */ lh $t0, 0x4e($sp)
/* 11A840 802B1230 10000005 */ b .L802B1248
/* 11A844 802B1234 24030001 */ li $v1, 1
.L802B1238:
/* 11A848 802B1238 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 11A84C 802B123C 44814000 */ mtc1 $at, $f8
/* 11A850 802B1240 00000000 */ nop
/* 11A854 802B1244 E6080024 */ swc1 $f8, 0x24($s0)
.L802B1248:
/* 11A858 802B1248 C60A0028 */ lwc1 $f10, 0x28($s0)
/* 11A85C 802B124C A7A8004E */ sh $t0, 0x4e($sp)
/* 11A860 802B1250 A7A30032 */ sh $v1, 0x32($sp)
/* 11A864 802B1254 4600540D */ trunc.w.s $f16, $f10
/* 11A868 802B1258 44048000 */ mfc1 $a0, $f16
/* 11A86C 802B125C 00000000 */ nop
/* 11A870 802B1260 00047C00 */ sll $t7, $a0, 0x10
/* 11A874 802B1264 0C0AC385 */ jal func_802B0E14
/* 11A878 802B1268 000F2403 */ sra $a0, $t7, 0x10
/* 11A87C 802B126C 24010001 */ li $at, 1
/* 11A880 802B1270 87A30032 */ lh $v1, 0x32($sp)
/* 11A884 802B1274 14410005 */ bne $v0, $at, .L802B128C
/* 11A888 802B1278 87A8004E */ lh $t0, 0x4e($sp)
/* 11A88C 802B127C 24630001 */ addiu $v1, $v1, 1
/* 11A890 802B1280 0003CC00 */ sll $t9, $v1, 0x10
/* 11A894 802B1284 10000005 */ b .L802B129C
/* 11A898 802B1288 00191C03 */ sra $v1, $t9, 0x10
.L802B128C:
/* 11A89C 802B128C 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 11A8A0 802B1290 44819000 */ mtc1 $at, $f18
/* 11A8A4 802B1294 00000000 */ nop
/* 11A8A8 802B1298 E6120028 */ swc1 $f18, 0x28($s0)
.L802B129C:
/* 11A8AC 802B129C C604002C */ lwc1 $f4, 0x2c($s0)
/* 11A8B0 802B12A0 A7A8004E */ sh $t0, 0x4e($sp)
/* 11A8B4 802B12A4 A7A30032 */ sh $v1, 0x32($sp)
/* 11A8B8 802B12A8 4600218D */ trunc.w.s $f6, $f4
/* 11A8BC 802B12AC 44043000 */ mfc1 $a0, $f6
/* 11A8C0 802B12B0 00000000 */ nop
/* 11A8C4 802B12B4 00045C00 */ sll $t3, $a0, 0x10
/* 11A8C8 802B12B8 0C0AC385 */ jal func_802B0E14
/* 11A8CC 802B12BC 000B2403 */ sra $a0, $t3, 0x10
/* 11A8D0 802B12C0 24010001 */ li $at, 1
/* 11A8D4 802B12C4 87A30032 */ lh $v1, 0x32($sp)
/* 11A8D8 802B12C8 14410005 */ bne $v0, $at, .L802B12E0
/* 11A8DC 802B12CC 87A8004E */ lh $t0, 0x4e($sp)
/* 11A8E0 802B12D0 24630001 */ addiu $v1, $v1, 1
/* 11A8E4 802B12D4 00036C00 */ sll $t5, $v1, 0x10
/* 11A8E8 802B12D8 10000005 */ b .L802B12F0
/* 11A8EC 802B12DC 000D1C03 */ sra $v1, $t5, 0x10
.L802B12E0:
/* 11A8F0 802B12E0 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 11A8F4 802B12E4 44814000 */ mtc1 $at, $f8
/* 11A8F8 802B12E8 00000000 */ nop
/* 11A8FC 802B12EC E608002C */ swc1 $f8, 0x2c($s0)
.L802B12F0:
/* 11A900 802B12F0 54600006 */ bnel $v1, $zero, .L802B130C
/* 11A904 802B12F4 860F0014 */ lh $t7, 0x14($s0)
/* 11A908 802B12F8 0C0A7A15 */ jal func_8029E854
/* 11A90C 802B12FC 02002025 */ move $a0, $s0
/* 11A910 802B1300 10000138 */ b .L802B17E4
/* 11A914 802B1304 8FBF001C */ lw $ra, 0x1c($sp)
/* 11A918 802B1308 860F0014 */ lh $t7, 0x14($s0)
.L802B130C:
/* 11A91C 802B130C 3C19800F */ lui $t9, %hi(gPlayer1Controller) # $t9, 0x800f
/* 11A920 802B1310 27396910 */ addiu $t9, %lo(gPlayer1Controller) # addiu $t9, $t9, 0x6910
/* 11A924 802B1314 000FC100 */ sll $t8, $t7, 4
/* 11A928 802B1318 03191021 */ addu $v0, $t8, $t9
/* 11A92C 802B131C 94490006 */ lhu $t1, 6($v0)
/* 11A930 802B1320 44801000 */ mtc1 $zero, $f2
/* 11A934 802B1324 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11A938 802B1328 312A2000 */ andi $t2, $t1, 0x2000
/* 11A93C 802B132C 5140000A */ beql $t2, $zero, .L802B1358
/* 11A940 802B1330 C6040008 */ lwc1 $f4, 8($s0)
/* 11A944 802B1334 C60A0008 */ lwc1 $f10, 8($s0)
/* 11A948 802B1338 44818000 */ mtc1 $at, $f16
/* 11A94C 802B133C 00000000 */ nop
/* 11A950 802B1340 46105480 */ add.s $f18, $f10, $f16
/* 11A954 802B1344 E6120008 */ swc1 $f18, 8($s0)
/* 11A958 802B1348 944B0006 */ lhu $t3, 6($v0)
/* 11A95C 802B134C 316CDFFF */ andi $t4, $t3, 0xdfff
/* 11A960 802B1350 A44C0006 */ sh $t4, 6($v0)
/* 11A964 802B1354 C6040008 */ lwc1 $f4, 8($s0)
.L802B1358:
/* 11A968 802B1358 4604103C */ c.lt.s $f2, $f4
/* 11A96C 802B135C 00000000 */ nop
/* 11A970 802B1360 45020120 */ bc1fl .L802B17E4
/* 11A974 802B1364 8FBF001C */ lw $ra, 0x1c($sp)
/* 11A978 802B1368 C6000024 */ lwc1 $f0, 0x24($s0)
/* 11A97C 802B136C 4600103C */ c.lt.s $f2, $f0
/* 11A980 802B1370 00000000 */ nop
/* 11A984 802B1374 4502005E */ bc1fl .L802B14F0
/* 11A988 802B1378 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11A98C 802B137C 4600018D */ trunc.w.s $f6, $f0
/* 11A990 802B1380 24050070 */ li $a1, 112
/* 11A994 802B1384 3C048016 */ lui $a0, %hi(D_8015F9B8) # $a0, 0x8016
/* 11A998 802B1388 2484F9B8 */ addiu $a0, %lo(D_8015F9B8) # addiu $a0, $a0, -0x648
/* 11A99C 802B138C 440E3000 */ mfc1 $t6, $f6
/* 11A9A0 802B1390 000848C0 */ sll $t1, $t0, 3
/* 11A9A4 802B1394 01284823 */ subu $t1, $t1, $t0
/* 11A9A8 802B1398 000E7C00 */ sll $t7, $t6, 0x10
/* 11A9AC 802B139C 000FC403 */ sra $t8, $t7, 0x10
/* 11A9B0 802B13A0 03050019 */ multu $t8, $a1
/* 11A9B4 802B13A4 00094900 */ sll $t1, $t1, 4
/* 11A9B8 802B13A8 01284823 */ subu $t1, $t1, $t0
/* 11A9BC 802B13AC 00094880 */ sll $t1, $t1, 2
/* 11A9C0 802B13B0 01284823 */ subu $t1, $t1, $t0
/* 11A9C4 802B13B4 3C0A800F */ lui $t2, %hi(D_800F6990) # $t2, 0x800f
/* 11A9C8 802B13B8 254A6990 */ addiu $t2, %lo(D_800F6990) # addiu $t2, $t2, 0x6990
/* 11A9CC 802B13BC 000948C0 */ sll $t1, $t1, 3
/* 11A9D0 802B13C0 0000C812 */ mflo $t9
/* 11A9D4 802B13C4 00991021 */ addu $v0, $a0, $t9
/* 11A9D8 802B13C8 84430012 */ lh $v1, 0x12($v0)
/* 11A9DC 802B13CC 27A40038 */ addiu $a0, $sp, 0x38
/* 11A9E0 802B13D0 2861038E */ slti $at, $v1, 0x38e
/* 11A9E4 802B13D4 14200003 */ bnez $at, .L802B13E4
/* 11A9E8 802B13D8 2861FC73 */ slti $at, $v1, -0x38d
/* 11A9EC 802B13DC 54200044 */ bnel $at, $zero, .L802B14F0
/* 11A9F0 802B13E0 C6000028 */ lwc1 $f0, 0x28($s0)
.L802B13E4:
/* 11A9F4 802B13E4 44800000 */ mtc1 $zero, $f0
/* 11A9F8 802B13E8 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11A9FC 802B13EC 44814000 */ mtc1 $at, $f8
/* 11AA00 802B13F0 012A1821 */ addu $v1, $t1, $t2
/* 11AA04 802B13F4 E7A00038 */ swc1 $f0, 0x38($sp)
/* 11AA08 802B13F8 E7A0003C */ swc1 $f0, 0x3c($sp)
/* 11AA0C 802B13FC E7A80040 */ swc1 $f8, 0x40($sp)
/* 11AA10 802B1400 846C00C0 */ lh $t4, 0xc0($v1)
/* 11AA14 802B1404 846B002E */ lh $t3, 0x2e($v1)
/* 11AA18 802B1408 AFA30028 */ sw $v1, 0x28($sp)
/* 11AA1C 802B140C AFA20044 */ sw $v0, 0x44($sp)
/* 11AA20 802B1410 016C2821 */ addu $a1, $t3, $t4
/* 11AA24 802B1414 00056C00 */ sll $t5, $a1, 0x10
/* 11AA28 802B1418 0C0AD931 */ jal func_802B64C4
/* 11AA2C 802B141C 000D2C03 */ sra $a1, $t5, 0x10
/* 11AA30 802B1420 8FA20044 */ lw $v0, 0x44($sp)
/* 11AA34 802B1424 C7AA0038 */ lwc1 $f10, 0x38($sp)
/* 11AA38 802B1428 240F0002 */ li $t7, 2
/* 11AA3C 802B142C 2418001E */ li $t8, 30
/* 11AA40 802B1430 E44A0024 */ swc1 $f10, 0x24($v0)
/* 11AA44 802B1434 C7B0003C */ lwc1 $f16, 0x3c($sp)
/* 11AA48 802B1438 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900
/* 11AA4C 802B143C 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004
/* 11AA50 802B1440 E4500028 */ swc1 $f16, 0x28($v0)
/* 11AA54 802B1444 C7B20040 */ lwc1 $f18, 0x40($sp)
/* 11AA58 802B1448 A44F0006 */ sh $t7, 6($v0)
/* 11AA5C 802B144C A4580004 */ sh $t8, 4($v0)
/* 11AA60 802B1450 E452002C */ swc1 $f18, 0x2c($v0)
/* 11AA64 802B1454 0C032418 */ jal func_800C9060
/* 11AA68 802B1458 92040015 */ lbu $a0, 0x15($s0)
/* 11AA6C 802B145C 8FA30028 */ lw $v1, 0x28($sp)
/* 11AA70 802B1460 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900
/* 11AA74 802B1464 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000
/* 11AA78 802B1468 94650254 */ lhu $a1, 0x254($v1)
/* 11AA7C 802B146C 92040015 */ lbu $a0, 0x15($s0)
/* 11AA80 802B1470 0005C900 */ sll $t9, $a1, 4
/* 11AA84 802B1474 0C03243D */ jal func_800C90F4
/* 11AA88 802B1478 03212821 */ addu $a1, $t9, $at
/* 11AA8C 802B147C 86090000 */ lh $t1, ($s0)
/* 11AA90 802B1480 24010016 */ li $at, 22
/* 11AA94 802B1484 55210009 */ bnel $t1, $at, .L802B14AC
/* 11AA98 802B1488 C6080024 */ lwc1 $f8, 0x24($s0)
/* 11AA9C 802B148C C6040024 */ lwc1 $f4, 0x24($s0)
/* 11AAA0 802B1490 4600218D */ trunc.w.s $f6, $f4
/* 11AAA4 802B1494 44043000 */ mfc1 $a0, $f6
/* 11AAA8 802B1498 0C003B60 */ jal func_8000ED80
/* 11AAAC 802B149C 00000000 */ nop
/* 11AAB0 802B14A0 10000007 */ b .L802B14C0
/* 11AAB4 802B14A4 3C01BF80 */ lui $at, 0xbf80
/* 11AAB8 802B14A8 C6080024 */ lwc1 $f8, 0x24($s0)
.L802B14AC:
/* 11AABC 802B14AC 4600428D */ trunc.w.s $f10, $f8
/* 11AAC0 802B14B0 44045000 */ mfc1 $a0, $f10
/* 11AAC4 802B14B4 0C003B72 */ jal func_8000EDC8
/* 11AAC8 802B14B8 00000000 */ nop
/* 11AACC 802B14BC 3C01BF80 */ li $at, 0xBF800000 # -1.000000
.L802B14C0:
/* 11AAD0 802B14C0 44818000 */ mtc1 $at, $f16
/* 11AAD4 802B14C4 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11AAD8 802B14C8 44812000 */ mtc1 $at, $f4
/* 11AADC 802B14CC C6120008 */ lwc1 $f18, 8($s0)
/* 11AAE0 802B14D0 860C0004 */ lh $t4, 4($s0)
/* 11AAE4 802B14D4 E6100024 */ swc1 $f16, 0x24($s0)
/* 11AAE8 802B14D8 46049181 */ sub.s $f6, $f18, $f4
/* 11AAEC 802B14DC 258DFFFF */ addiu $t5, $t4, -1
/* 11AAF0 802B14E0 A60D0004 */ sh $t5, 4($s0)
/* 11AAF4 802B14E4 100000BE */ b .L802B17E0
/* 11AAF8 802B14E8 E6060008 */ swc1 $f6, 8($s0)
/* 11AAFC 802B14EC C6000028 */ lwc1 $f0, 0x28($s0)
.L802B14F0:
/* 11AB00 802B14F0 3C048016 */ lui $a0, %hi(D_8015F9B8) # $a0, 0x8016
/* 11AB04 802B14F4 2484F9B8 */ addiu $a0, %lo(D_8015F9B8) # addiu $a0, $a0, -0x648
/* 11AB08 802B14F8 4600103C */ c.lt.s $f2, $f0
/* 11AB0C 802B14FC 24050070 */ li $a1, 112
/* 11AB10 802B1500 4502005B */ bc1fl .L802B1670
/* 11AB14 802B1504 C600002C */ lwc1 $f0, 0x2c($s0)
/* 11AB18 802B1508 4600020D */ trunc.w.s $f8, $f0
/* 11AB1C 802B150C 000850C0 */ sll $t2, $t0, 3
/* 11AB20 802B1510 01485023 */ subu $t2, $t2, $t0
/* 11AB24 802B1514 000A5100 */ sll $t2, $t2, 4
/* 11AB28 802B1518 440F4000 */ mfc1 $t7, $f8
/* 11AB2C 802B151C 01485023 */ subu $t2, $t2, $t0
/* 11AB30 802B1520 000A5080 */ sll $t2, $t2, 2
/* 11AB34 802B1524 000FC400 */ sll $t8, $t7, 0x10
/* 11AB38 802B1528 0018CC03 */ sra $t9, $t8, 0x10
/* 11AB3C 802B152C 03250019 */ multu $t9, $a1
/* 11AB40 802B1530 01485023 */ subu $t2, $t2, $t0
/* 11AB44 802B1534 3C0B800F */ lui $t3, %hi(D_800F6990) # $t3, 0x800f
/* 11AB48 802B1538 256B6990 */ addiu $t3, %lo(D_800F6990) # addiu $t3, $t3, 0x6990
/* 11AB4C 802B153C 000A50C0 */ sll $t2, $t2, 3
/* 11AB50 802B1540 00004812 */ mflo $t1
/* 11AB54 802B1544 00891021 */ addu $v0, $a0, $t1
/* 11AB58 802B1548 84430012 */ lh $v1, 0x12($v0)
/* 11AB5C 802B154C 28610AA1 */ slti $at, $v1, 0xaa1
/* 11AB60 802B1550 14200003 */ bnez $at, .L802B1560
/* 11AB64 802B1554 2861038F */ slti $at, $v1, 0x38f
/* 11AB68 802B1558 54200045 */ bnel $at, $zero, .L802B1670
/* 11AB6C 802B155C C600002C */ lwc1 $f0, 0x2c($s0)
.L802B1560:
/* 11AB70 802B1560 44800000 */ mtc1 $zero, $f0
/* 11AB74 802B1564 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11AB78 802B1568 44815000 */ mtc1 $at, $f10
/* 11AB7C 802B156C 014B1821 */ addu $v1, $t2, $t3
/* 11AB80 802B1570 E7A00038 */ swc1 $f0, 0x38($sp)
/* 11AB84 802B1574 E7A0003C */ swc1 $f0, 0x3c($sp)
/* 11AB88 802B1578 E7AA0040 */ swc1 $f10, 0x40($sp)
/* 11AB8C 802B157C 846D00C0 */ lh $t5, 0xc0($v1)
/* 11AB90 802B1580 846C002E */ lh $t4, 0x2e($v1)
/* 11AB94 802B1584 AFA30028 */ sw $v1, 0x28($sp)
/* 11AB98 802B1588 AFA20044 */ sw $v0, 0x44($sp)
/* 11AB9C 802B158C 018D2821 */ addu $a1, $t4, $t5
/* 11ABA0 802B1590 00057400 */ sll $t6, $a1, 0x10
/* 11ABA4 802B1594 000E2C03 */ sra $a1, $t6, 0x10
/* 11ABA8 802B1598 0C0AD931 */ jal func_802B64C4
/* 11ABAC 802B159C 27A40038 */ addiu $a0, $sp, 0x38
/* 11ABB0 802B15A0 8FA20044 */ lw $v0, 0x44($sp)
/* 11ABB4 802B15A4 C7B00038 */ lwc1 $f16, 0x38($sp)
/* 11ABB8 802B15A8 8FA30028 */ lw $v1, 0x28($sp)
/* 11ABBC 802B15AC 24180002 */ li $t8, 2
/* 11ABC0 802B15B0 E4500024 */ swc1 $f16, 0x24($v0)
/* 11ABC4 802B15B4 C7B2003C */ lwc1 $f18, 0x3c($sp)
/* 11ABC8 802B15B8 2419001E */ li $t9, 30
/* 11ABCC 802B15BC 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900
/* 11ABD0 802B15C0 E4520028 */ swc1 $f18, 0x28($v0)
/* 11ABD4 802B15C4 C7A40040 */ lwc1 $f4, 0x40($sp)
/* 11ABD8 802B15C8 A4580006 */ sh $t8, 6($v0)
/* 11ABDC 802B15CC A4590004 */ sh $t9, 4($v0)
/* 11ABE0 802B15D0 E444002C */ swc1 $f4, 0x2c($v0)
/* 11ABE4 802B15D4 94650254 */ lhu $a1, 0x254($v1)
/* 11ABE8 802B15D8 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000
/* 11ABEC 802B15DC 92040015 */ lbu $a0, 0x15($s0)
/* 11ABF0 802B15E0 00054900 */ sll $t1, $a1, 4
/* 11ABF4 802B15E4 0C03243D */ jal func_800C90F4
/* 11ABF8 802B15E8 01212821 */ addu $a1, $t1, $at
/* 11ABFC 802B15EC 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900
/* 11AC00 802B15F0 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004
/* 11AC04 802B15F4 0C032418 */ jal func_800C9060
/* 11AC08 802B15F8 92040015 */ lbu $a0, 0x15($s0)
/* 11AC0C 802B15FC 860A0000 */ lh $t2, ($s0)
/* 11AC10 802B1600 24010016 */ li $at, 22
/* 11AC14 802B1604 55410009 */ bnel $t2, $at, .L802B162C
/* 11AC18 802B1608 C60A0028 */ lwc1 $f10, 0x28($s0)
/* 11AC1C 802B160C C6060028 */ lwc1 $f6, 0x28($s0)
/* 11AC20 802B1610 4600320D */ trunc.w.s $f8, $f6
/* 11AC24 802B1614 44044000 */ mfc1 $a0, $f8
/* 11AC28 802B1618 0C003B60 */ jal func_8000ED80
/* 11AC2C 802B161C 00000000 */ nop
/* 11AC30 802B1620 10000007 */ b .L802B1640
/* 11AC34 802B1624 3C01BF80 */ lui $at, 0xbf80
/* 11AC38 802B1628 C60A0028 */ lwc1 $f10, 0x28($s0)
.L802B162C:
/* 11AC3C 802B162C 4600540D */ trunc.w.s $f16, $f10
/* 11AC40 802B1630 44048000 */ mfc1 $a0, $f16
/* 11AC44 802B1634 0C003B72 */ jal func_8000EDC8
/* 11AC48 802B1638 00000000 */ nop
/* 11AC4C 802B163C 3C01BF80 */ li $at, 0xBF800000 # -1.000000
.L802B1640:
/* 11AC50 802B1640 44819000 */ mtc1 $at, $f18
/* 11AC54 802B1644 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11AC58 802B1648 44813000 */ mtc1 $at, $f6
/* 11AC5C 802B164C C6040008 */ lwc1 $f4, 8($s0)
/* 11AC60 802B1650 860D0004 */ lh $t5, 4($s0)
/* 11AC64 802B1654 E6120028 */ swc1 $f18, 0x28($s0)
/* 11AC68 802B1658 46062201 */ sub.s $f8, $f4, $f6
/* 11AC6C 802B165C 25AEFFFF */ addiu $t6, $t5, -1
/* 11AC70 802B1660 A60E0004 */ sh $t6, 4($s0)
/* 11AC74 802B1664 1000005E */ b .L802B17E0
/* 11AC78 802B1668 E6080008 */ swc1 $f8, 8($s0)
/* 11AC7C 802B166C C600002C */ lwc1 $f0, 0x2c($s0)
.L802B1670:
/* 11AC80 802B1670 4600103C */ c.lt.s $f2, $f0
/* 11AC84 802B1674 00000000 */ nop
/* 11AC88 802B1678 4502005A */ bc1fl .L802B17E4
/* 11AC8C 802B167C 8FBF001C */ lw $ra, 0x1c($sp)
/* 11AC90 802B1680 4600028D */ trunc.w.s $f10, $f0
/* 11AC94 802B1684 000858C0 */ sll $t3, $t0, 3
/* 11AC98 802B1688 01685823 */ subu $t3, $t3, $t0
/* 11AC9C 802B168C 000B5900 */ sll $t3, $t3, 4
/* 11ACA0 802B1690 44185000 */ mfc1 $t8, $f10
/* 11ACA4 802B1694 01685823 */ subu $t3, $t3, $t0
/* 11ACA8 802B1698 000B5880 */ sll $t3, $t3, 2
/* 11ACAC 802B169C 0018CC00 */ sll $t9, $t8, 0x10
/* 11ACB0 802B16A0 00194C03 */ sra $t1, $t9, 0x10
/* 11ACB4 802B16A4 01250019 */ multu $t1, $a1
/* 11ACB8 802B16A8 01685823 */ subu $t3, $t3, $t0
/* 11ACBC 802B16AC 3C0C800F */ lui $t4, %hi(D_800F6990) # $t4, 0x800f
/* 11ACC0 802B16B0 258C6990 */ addiu $t4, %lo(D_800F6990) # addiu $t4, $t4, 0x6990
/* 11ACC4 802B16B4 000B58C0 */ sll $t3, $t3, 3
/* 11ACC8 802B16B8 00005012 */ mflo $t2
/* 11ACCC 802B16BC 008A1021 */ addu $v0, $a0, $t2
/* 11ACD0 802B16C0 84430012 */ lh $v1, 0x12($v0)
/* 11ACD4 802B16C4 27A40038 */ addiu $a0, $sp, 0x38
/* 11ACD8 802B16C8 2861FC72 */ slti $at, $v1, -0x38e
/* 11ACDC 802B16CC 14200003 */ bnez $at, .L802B16DC
/* 11ACE0 802B16D0 2861F8E5 */ slti $at, $v1, -0x71b
/* 11ACE4 802B16D4 54200043 */ bnel $at, $zero, .L802B17E4
/* 11ACE8 802B16D8 8FBF001C */ lw $ra, 0x1c($sp)
.L802B16DC:
/* 11ACEC 802B16DC 44800000 */ mtc1 $zero, $f0
/* 11ACF0 802B16E0 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11ACF4 802B16E4 44818000 */ mtc1 $at, $f16
/* 11ACF8 802B16E8 016C1821 */ addu $v1, $t3, $t4
/* 11ACFC 802B16EC E7A00038 */ swc1 $f0, 0x38($sp)
/* 11AD00 802B16F0 E7A0003C */ swc1 $f0, 0x3c($sp)
/* 11AD04 802B16F4 E7B00040 */ swc1 $f16, 0x40($sp)
/* 11AD08 802B16F8 846E00C0 */ lh $t6, 0xc0($v1)
/* 11AD0C 802B16FC 846D002E */ lh $t5, 0x2e($v1)
/* 11AD10 802B1700 AFA30028 */ sw $v1, 0x28($sp)
/* 11AD14 802B1704 AFA20044 */ sw $v0, 0x44($sp)
/* 11AD18 802B1708 01AE2821 */ addu $a1, $t5, $t6
/* 11AD1C 802B170C 00057C00 */ sll $t7, $a1, 0x10
/* 11AD20 802B1710 0C0AD931 */ jal func_802B64C4
/* 11AD24 802B1714 000F2C03 */ sra $a1, $t7, 0x10
/* 11AD28 802B1718 8FA20044 */ lw $v0, 0x44($sp)
/* 11AD2C 802B171C C7B20038 */ lwc1 $f18, 0x38($sp)
/* 11AD30 802B1720 24190002 */ li $t9, 2
/* 11AD34 802B1724 2409001E */ li $t1, 30
/* 11AD38 802B1728 E4520024 */ swc1 $f18, 0x24($v0)
/* 11AD3C 802B172C C7A4003C */ lwc1 $f4, 0x3c($sp)
/* 11AD40 802B1730 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900
/* 11AD44 802B1734 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004
/* 11AD48 802B1738 E4440028 */ swc1 $f4, 0x28($v0)
/* 11AD4C 802B173C C7A60040 */ lwc1 $f6, 0x40($sp)
/* 11AD50 802B1740 A4590006 */ sh $t9, 6($v0)
/* 11AD54 802B1744 A4490004 */ sh $t1, 4($v0)
/* 11AD58 802B1748 E446002C */ swc1 $f6, 0x2c($v0)
/* 11AD5C 802B174C 0C032418 */ jal func_800C9060
/* 11AD60 802B1750 92040015 */ lbu $a0, 0x15($s0)
/* 11AD64 802B1754 8FA30028 */ lw $v1, 0x28($sp)
/* 11AD68 802B1758 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900
/* 11AD6C 802B175C 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000
/* 11AD70 802B1760 94650254 */ lhu $a1, 0x254($v1)
/* 11AD74 802B1764 92040015 */ lbu $a0, 0x15($s0)
/* 11AD78 802B1768 00055100 */ sll $t2, $a1, 4
/* 11AD7C 802B176C 0C03243D */ jal func_800C90F4
/* 11AD80 802B1770 01412821 */ addu $a1, $t2, $at
/* 11AD84 802B1774 860B0000 */ lh $t3, ($s0)
/* 11AD88 802B1778 24010016 */ li $at, 22
/* 11AD8C 802B177C 55610009 */ bnel $t3, $at, .L802B17A4
/* 11AD90 802B1780 C610002C */ lwc1 $f16, 0x2c($s0)
/* 11AD94 802B1784 C608002C */ lwc1 $f8, 0x2c($s0)
/* 11AD98 802B1788 4600428D */ trunc.w.s $f10, $f8
/* 11AD9C 802B178C 44045000 */ mfc1 $a0, $f10
/* 11ADA0 802B1790 0C003B60 */ jal func_8000ED80
/* 11ADA4 802B1794 00000000 */ nop
/* 11ADA8 802B1798 10000007 */ b .L802B17B8
/* 11ADAC 802B179C 3C01BF80 */ lui $at, 0xbf80
/* 11ADB0 802B17A0 C610002C */ lwc1 $f16, 0x2c($s0)
.L802B17A4:
/* 11ADB4 802B17A4 4600848D */ trunc.w.s $f18, $f16
/* 11ADB8 802B17A8 44049000 */ mfc1 $a0, $f18
/* 11ADBC 802B17AC 0C003B72 */ jal func_8000EDC8
/* 11ADC0 802B17B0 00000000 */ nop
/* 11ADC4 802B17B4 3C01BF80 */ li $at, 0xBF800000 # -1.000000
.L802B17B8:
/* 11ADC8 802B17B8 44812000 */ mtc1 $at, $f4
/* 11ADCC 802B17BC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11ADD0 802B17C0 44814000 */ mtc1 $at, $f8
/* 11ADD4 802B17C4 C6060008 */ lwc1 $f6, 8($s0)
/* 11ADD8 802B17C8 860E0004 */ lh $t6, 4($s0)
/* 11ADDC 802B17CC E604002C */ swc1 $f4, 0x2c($s0)
/* 11ADE0 802B17D0 46083281 */ sub.s $f10, $f6, $f8
/* 11ADE4 802B17D4 25CFFFFF */ addiu $t7, $t6, -1
/* 11ADE8 802B17D8 A60F0004 */ sh $t7, 4($s0)
/* 11ADEC 802B17DC E60A0008 */ swc1 $f10, 8($s0)
.L802B17E0:
/* 11ADF0 802B17E0 8FBF001C */ lw $ra, 0x1c($sp)
.L802B17E4:
/* 11ADF4 802B17E4 8FB00018 */ lw $s0, 0x18($sp)
/* 11ADF8 802B17E8 27BD0058 */ addiu $sp, $sp, 0x58
/* 11ADFC 802B17EC 03E00008 */ jr $ra
/* 11AE00 802B17F0 00000000 */ nop
glabel func_802B17F4
/* 11AE04 802B17F4 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 11AE08 802B17F8 3C0E802C */ lui $t6, %hi(D_802B9140) # $t6, 0x802c
/* 11AE0C 802B17FC AFBF0014 */ sw $ra, 0x14($sp)
/* 11AE10 802B1800 AFA40040 */ sw $a0, 0x40($sp)
/* 11AE14 802B1804 25CE9140 */ addiu $t6, %lo(D_802B9140) # addiu $t6, $t6, -0x6ec0
/* 11AE18 802B1808 8DC10000 */ lw $at, ($t6)
/* 11AE1C 802B180C 27A60034 */ addiu $a2, $sp, 0x34
/* 11AE20 802B1810 3C08802C */ lui $t0, %hi(D_802B914C) # $t0, 0x802c
/* 11AE24 802B1814 ACC10000 */ sw $at, ($a2)
/* 11AE28 802B1818 8DD90004 */ lw $t9, 4($t6)
/* 11AE2C 802B181C 2508914C */ addiu $t0, %lo(D_802B914C) # addiu $t0, $t0, -0x6eb4
/* 11AE30 802B1820 27A5002C */ addiu $a1, $sp, 0x2c
/* 11AE34 802B1824 ACD90004 */ sw $t9, 4($a2)
/* 11AE38 802B1828 8DC10008 */ lw $at, 8($t6)
/* 11AE3C 802B182C 3C0C802C */ lui $t4, %hi(D_802B9154) # $t4, 0x802c
/* 11AE40 802B1830 258C9154 */ addiu $t4, %lo(D_802B9154) # addiu $t4, $t4, -0x6eac
/* 11AE44 802B1834 ACC10008 */ sw $at, 8($a2)
/* 11AE48 802B1838 8D010000 */ lw $at, ($t0)
/* 11AE4C 802B183C 27A40020 */ addiu $a0, $sp, 0x20
/* 11AE50 802B1840 2407000E */ li $a3, 14
/* 11AE54 802B1844 ACA10000 */ sw $at, ($a1)
/* 11AE58 802B1848 95010004 */ lhu $at, 4($t0)
/* 11AE5C 802B184C A4A10004 */ sh $at, 4($a1)
/* 11AE60 802B1850 8D810000 */ lw $at, ($t4)
/* 11AE64 802B1854 AC810000 */ sw $at, ($a0)
/* 11AE68 802B1858 8D8F0004 */ lw $t7, 4($t4)
/* 11AE6C 802B185C AC8F0004 */ sw $t7, 4($a0)
/* 11AE70 802B1860 8D810008 */ lw $at, 8($t4)
/* 11AE74 802B1864 0C0A7B22 */ jal func_8029EC88
/* 11AE78 802B1868 AC810008 */ sw $at, 8($a0)
/* 11AE7C 802B186C 00022400 */ sll $a0, $v0, 0x10
/* 11AE80 802B1870 00047403 */ sra $t6, $a0, 0x10
/* 11AE84 802B1874 01C02025 */ move $a0, $t6
/* 11AE88 802B1878 04410003 */ bgez $v0, .L802B1888
/* 11AE8C 802B187C 8FA50040 */ lw $a1, 0x40($sp)
/* 11AE90 802B1880 10000014 */ b .L802B18D4
/* 11AE94 802B1884 01C01025 */ move $v0, $t6
.L802B1888:
/* 11AE98 802B1888 0004C8C0 */ sll $t9, $a0, 3
/* 11AE9C 802B188C 0324C823 */ subu $t9, $t9, $a0
/* 11AEA0 802B1890 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11AEA4 802B1894 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11AEA8 802B1898 0019C900 */ sll $t9, $t9, 4
/* 11AEAC 802B189C 032A1821 */ addu $v1, $t9, $t2
/* 11AEB0 802B18A0 A4600006 */ sh $zero, 6($v1)
/* 11AEB4 802B18A4 3C09800E */ lui $t1, %hi(D_800DC4DC) # $t1, 0x800e
/* 11AEB8 802B18A8 8D29C4DC */ lw $t1, %lo(D_800DC4DC)($t1)
/* 11AEBC 802B18AC 24010DD8 */ li $at, 3544
/* 11AEC0 802B18B0 00801025 */ move $v0, $a0
/* 11AEC4 802B18B4 00A94023 */ subu $t0, $a1, $t1
/* 11AEC8 802B18B8 0101001A */ div $zero, $t0, $at
/* 11AECC 802B18BC 00005812 */ mflo $t3
/* 11AED0 802B18C0 A46B0010 */ sh $t3, 0x10($v1)
/* 11AED4 802B18C4 8CB8000C */ lw $t8, 0xc($a1)
/* 11AED8 802B18C8 3C010004 */ lui $at, 4
/* 11AEDC 802B18CC 03016825 */ or $t5, $t8, $at
/* 11AEE0 802B18D0 ACAD000C */ sw $t5, 0xc($a1)
.L802B18D4:
/* 11AEE4 802B18D4 8FBF0014 */ lw $ra, 0x14($sp)
/* 11AEE8 802B18D8 27BD0040 */ addiu $sp, $sp, 0x40
/* 11AEEC 802B18DC 03E00008 */ jr $ra
/* 11AEF0 802B18E0 00000000 */ nop
glabel func_802B18E4
/* 11AEF4 802B18E4 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 11AEF8 802B18E8 3C0F802C */ lui $t7, %hi(D_802B9160) # $t7, 0x802c
/* 11AEFC 802B18EC AFBF0014 */ sw $ra, 0x14($sp)
/* 11AF00 802B18F0 AFA40040 */ sw $a0, 0x40($sp)
/* 11AF04 802B18F4 AFA50044 */ sw $a1, 0x44($sp)
/* 11AF08 802B18F8 25EF9160 */ addiu $t7, %lo(D_802B9160) # addiu $t7, $t7, -0x6ea0
/* 11AF0C 802B18FC 8DE10000 */ lw $at, ($t7)
/* 11AF10 802B1900 27A60034 */ addiu $a2, $sp, 0x34
/* 11AF14 802B1904 3C09802C */ lui $t1, %hi(D_802B916C) # $t1, 0x802c
/* 11AF18 802B1908 ACC10000 */ sw $at, ($a2)
/* 11AF1C 802B190C 8DE80004 */ lw $t0, 4($t7)
/* 11AF20 802B1910 2529916C */ addiu $t1, %lo(D_802B916C) # addiu $t1, $t1, -0x6e94
/* 11AF24 802B1914 00053C00 */ sll $a3, $a1, 0x10
/* 11AF28 802B1918 ACC80004 */ sw $t0, 4($a2)
/* 11AF2C 802B191C 8DE10008 */ lw $at, 8($t7)
/* 11AF30 802B1920 27A5002C */ addiu $a1, $sp, 0x2c
/* 11AF34 802B1924 3C0D802C */ lui $t5, %hi(D_802B9174) # $t5, 0x802c
/* 11AF38 802B1928 ACC10008 */ sw $at, 8($a2)
/* 11AF3C 802B192C 8D210000 */ lw $at, ($t1)
/* 11AF40 802B1930 25AD9174 */ addiu $t5, %lo(D_802B9174) # addiu $t5, $t5, -0x6e8c
/* 11AF44 802B1934 27A40020 */ addiu $a0, $sp, 0x20
/* 11AF48 802B1938 ACA10000 */ sw $at, ($a1)
/* 11AF4C 802B193C 95210004 */ lhu $at, 4($t1)
/* 11AF50 802B1940 00077403 */ sra $t6, $a3, 0x10
/* 11AF54 802B1944 01C03825 */ move $a3, $t6
/* 11AF58 802B1948 A4A10004 */ sh $at, 4($a1)
/* 11AF5C 802B194C 8DA10000 */ lw $at, ($t5)
/* 11AF60 802B1950 AC810000 */ sw $at, ($a0)
/* 11AF64 802B1954 8DB80004 */ lw $t8, 4($t5)
/* 11AF68 802B1958 AC980004 */ sw $t8, 4($a0)
/* 11AF6C 802B195C 8DA10008 */ lw $at, 8($t5)
/* 11AF70 802B1960 0C0A7B22 */ jal func_8029EC88
/* 11AF74 802B1964 AC810008 */ sw $at, 8($a0)
/* 11AF78 802B1968 00022400 */ sll $a0, $v0, 0x10
/* 11AF7C 802B196C 00047C03 */ sra $t7, $a0, 0x10
/* 11AF80 802B1970 04410003 */ bgez $v0, .L802B1980
/* 11AF84 802B1974 01E02025 */ move $a0, $t7
/* 11AF88 802B1978 10000018 */ b .L802B19DC
/* 11AF8C 802B197C 01E01025 */ move $v0, $t7
.L802B1980:
/* 11AF90 802B1980 000440C0 */ sll $t0, $a0, 3
/* 11AF94 802B1984 01044023 */ subu $t0, $t0, $a0
/* 11AF98 802B1988 3C0B8016 */ lui $t3, %hi(D_8015F9B8) # $t3, 0x8016
/* 11AF9C 802B198C 256BF9B8 */ addiu $t3, %lo(D_8015F9B8) # addiu $t3, $t3, -0x648
/* 11AFA0 802B1990 00084100 */ sll $t0, $t0, 4
/* 11AFA4 802B1994 010B1821 */ addu $v1, $t0, $t3
/* 11AFA8 802B1998 240A05B0 */ li $t2, 1456
/* 11AFAC 802B199C 24098000 */ li $t1, -32768
/* 11AFB0 802B19A0 A4600006 */ sh $zero, 6($v1)
/* 11AFB4 802B19A4 A46A0010 */ sh $t2, 0x10($v1)
/* 11AFB8 802B19A8 A4690012 */ sh $t1, 0x12($v1)
/* 11AFBC 802B19AC 3C19800E */ lui $t9, %hi(D_800DC4DC) # $t9, 0x800e
/* 11AFC0 802B19B0 8F39C4DC */ lw $t9, %lo(D_800DC4DC)($t9)
/* 11AFC4 802B19B4 8FAC0040 */ lw $t4, 0x40($sp)
/* 11AFC8 802B19B8 24010DD8 */ li $at, 3544
/* 11AFCC 802B19BC 44802000 */ mtc1 $zero, $f4
/* 11AFD0 802B19C0 01997023 */ subu $t6, $t4, $t9
/* 11AFD4 802B19C4 01C1001A */ div $zero, $t6, $at
/* 11AFD8 802B19C8 00006812 */ mflo $t5
/* 11AFDC 802B19CC A46D0014 */ sh $t5, 0x14($v1)
/* 11AFE0 802B19D0 A4600004 */ sh $zero, 4($v1)
/* 11AFE4 802B19D4 00801025 */ move $v0, $a0
/* 11AFE8 802B19D8 E4640008 */ swc1 $f4, 8($v1)
.L802B19DC:
/* 11AFEC 802B19DC 8FBF0014 */ lw $ra, 0x14($sp)
/* 11AFF0 802B19E0 27BD0040 */ addiu $sp, $sp, 0x40
/* 11AFF4 802B19E4 03E00008 */ jr $ra
/* 11AFF8 802B19E8 00000000 */ nop
glabel func_802B19EC
/* 11AFFC 802B19EC 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 11B000 802B19F0 3C0E802C */ lui $t6, %hi(D_802B9180) # $t6, 0x802c
/* 11B004 802B19F4 AFBF002C */ sw $ra, 0x2c($sp)
/* 11B008 802B19F8 AFB10028 */ sw $s1, 0x28($sp)
/* 11B00C 802B19FC AFB00024 */ sw $s0, 0x24($sp)
/* 11B010 802B1A00 AFA40060 */ sw $a0, 0x60($sp)
/* 11B014 802B1A04 AFA60068 */ sw $a2, 0x68($sp)
/* 11B018 802B1A08 AFA7006C */ sw $a3, 0x6c($sp)
/* 11B01C 802B1A0C 25CE9180 */ addiu $t6, %lo(D_802B9180) # addiu $t6, $t6, -0x6e80
/* 11B020 802B1A10 8DC10000 */ lw $at, ($t6)
/* 11B024 802B1A14 27B00054 */ addiu $s0, $sp, 0x54
/* 11B028 802B1A18 3C09802C */ lui $t1, %hi(D_802B918C) # $t1, 0x802c
/* 11B02C 802B1A1C AE010000 */ sw $at, ($s0)
/* 11B030 802B1A20 8DD90004 */ lw $t9, 4($t6)
/* 11B034 802B1A24 2529918C */ addiu $t1, %lo(D_802B918C) # addiu $t1, $t1, -0x6e74
/* 11B038 802B1A28 27A8004C */ addiu $t0, $sp, 0x4c
/* 11B03C 802B1A2C AE190004 */ sw $t9, 4($s0)
/* 11B040 802B1A30 8DC10008 */ lw $at, 8($t6)
/* 11B044 802B1A34 44802000 */ mtc1 $zero, $f4
/* 11B048 802B1A38 00A08825 */ move $s1, $a1
/* 11B04C 802B1A3C AE010008 */ sw $at, 8($s0)
/* 11B050 802B1A40 8D210000 */ lw $at, ($t1)
/* 11B054 802B1A44 24A50174 */ addiu $a1, $a1, 0x174
/* 11B058 802B1A48 27A40040 */ addiu $a0, $sp, 0x40
/* 11B05C 802B1A4C AD010000 */ sw $at, ($t0)
/* 11B060 802B1A50 95210004 */ lhu $at, 4($t1)
/* 11B064 802B1A54 A5010004 */ sh $at, 4($t0)
/* 11B068 802B1A58 E7A40040 */ swc1 $f4, 0x40($sp)
/* 11B06C 802B1A5C C4A6FEFC */ lwc1 $f6, -0x104($a1)
/* 11B070 802B1A60 3C014080 */ li $at, 0x40800000 # 4.000000
/* 11B074 802B1A64 44818000 */ mtc1 $at, $f16
/* 11B078 802B1A68 46003207 */ neg.s $f8, $f6
/* 11B07C 802B1A6C E7A80044 */ swc1 $f8, 0x44($sp)
/* 11B080 802B1A70 C4AAFEFC */ lwc1 $f10, -0x104($a1)
/* 11B084 802B1A74 46105481 */ sub.s $f18, $f10, $f16
/* 11B088 802B1A78 0C0AD8EE */ jal func_802B63B8
/* 11B08C 802B1A7C E7B20048 */ swc1 $f18, 0x48($sp)
/* 11B090 802B1A80 C7A40040 */ lwc1 $f4, 0x40($sp)
/* 11B094 802B1A84 C6260014 */ lwc1 $f6, 0x14($s1)
/* 11B098 802B1A88 C7AA0044 */ lwc1 $f10, 0x44($sp)
/* 11B09C 802B1A8C 27A40040 */ addiu $a0, $sp, 0x40
/* 11B0A0 802B1A90 46062200 */ add.s $f8, $f4, $f6
/* 11B0A4 802B1A94 C7A40048 */ lwc1 $f4, 0x48($sp)
/* 11B0A8 802B1A98 27A5004C */ addiu $a1, $sp, 0x4c
/* 11B0AC 802B1A9C 02003025 */ move $a2, $s0
/* 11B0B0 802B1AA0 E7A80040 */ swc1 $f8, 0x40($sp)
/* 11B0B4 802B1AA4 C6300018 */ lwc1 $f16, 0x18($s1)
/* 11B0B8 802B1AA8 87A7006A */ lh $a3, 0x6a($sp)
/* 11B0BC 802B1AAC 46105480 */ add.s $f18, $f10, $f16
/* 11B0C0 802B1AB0 E7B20044 */ swc1 $f18, 0x44($sp)
/* 11B0C4 802B1AB4 C626001C */ lwc1 $f6, 0x1c($s1)
/* 11B0C8 802B1AB8 46062200 */ add.s $f8, $f4, $f6
/* 11B0CC 802B1ABC 0C0A7B22 */ jal func_8029EC88
/* 11B0D0 802B1AC0 E7A80048 */ swc1 $f8, 0x48($sp)
/* 11B0D4 802B1AC4 00021C00 */ sll $v1, $v0, 0x10
/* 11B0D8 802B1AC8 00036C03 */ sra $t5, $v1, 0x10
/* 11B0DC 802B1ACC 0441000A */ bgez $v0, .L802B1AF8
/* 11B0E0 802B1AD0 01A01825 */ move $v1, $t5
/* 11B0E4 802B1AD4 97AF006E */ lhu $t7, 0x6e($sp)
/* 11B0E8 802B1AD8 8FB80060 */ lw $t8, 0x60($sp)
/* 11B0EC 802B1ADC 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 11B0F0 802B1AE0 44815000 */ mtc1 $at, $f10
/* 11B0F4 802B1AE4 000F7080 */ sll $t6, $t7, 2
/* 11B0F8 802B1AE8 030EC821 */ addu $t9, $t8, $t6
/* 11B0FC 802B1AEC 2402FFFF */ li $v0, -1
/* 11B100 802B1AF0 10000065 */ b .L802B1C88
/* 11B104 802B1AF4 E72A0024 */ swc1 $f10, 0x24($t9)
.L802B1AF8:
/* 11B108 802B1AF8 C6300014 */ lwc1 $f16, 0x14($s1)
/* 11B10C 802B1AFC 000358C0 */ sll $t3, $v1, 3
/* 11B110 802B1B00 01635823 */ subu $t3, $t3, $v1
/* 11B114 802B1B04 E7B00040 */ swc1 $f16, 0x40($sp)
/* 11B118 802B1B08 C6320018 */ lwc1 $f18, 0x18($s1)
/* 11B11C 802B1B0C 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11B120 802B1B10 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11B124 802B1B14 000B5900 */ sll $t3, $t3, 4
/* 11B128 802B1B18 016A8021 */ addu $s0, $t3, $t2
/* 11B12C 802B1B1C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11B130 802B1B20 44814000 */ mtc1 $at, $f8
/* 11B134 802B1B24 C606000C */ lwc1 $f6, 0xc($s0)
/* 11B138 802B1B28 E7B20044 */ swc1 $f18, 0x44($sp)
/* 11B13C 802B1B2C C624001C */ lwc1 $f4, 0x1c($s1)
/* 11B140 802B1B30 46083280 */ add.s $f10, $f6, $f8
/* 11B144 802B1B34 C7B20040 */ lwc1 $f18, 0x40($sp)
/* 11B148 802B1B38 E7A40048 */ swc1 $f4, 0x48($sp)
/* 11B14C 802B1B3C C7A60048 */ lwc1 $f6, 0x48($sp)
/* 11B150 802B1B40 C7A40044 */ lwc1 $f4, 0x44($sp)
/* 11B154 802B1B44 C6100020 */ lwc1 $f16, 0x20($s0)
/* 11B158 802B1B48 44055000 */ mfc1 $a1, $f10
/* 11B15C 802B1B4C 26040030 */ addiu $a0, $s0, 0x30
/* 11B160 802B1B50 8E060018 */ lw $a2, 0x18($s0)
/* 11B164 802B1B54 8E07001C */ lw $a3, 0x1c($s0)
/* 11B168 802B1B58 E7B20014 */ swc1 $f18, 0x14($sp)
/* 11B16C 802B1B5C E7A6001C */ swc1 $f6, 0x1c($sp)
/* 11B170 802B1B60 E7A40018 */ swc1 $f4, 0x18($sp)
/* 11B174 802B1B64 0C0AB654 */ jal func_802AD950
/* 11B178 802B1B68 E7B00010 */ swc1 $f16, 0x10($sp)
/* 11B17C 802B1B6C 0C0AD38C */ jal func_802B4E30
/* 11B180 802B1B70 02002025 */ move $a0, $s0
/* 11B184 802B1B74 87A2006A */ lh $v0, 0x6a($sp)
/* 11B188 802B1B78 24089000 */ li $t0, -28672
/* 11B18C 802B1B7C 24010007 */ li $at, 7
/* 11B190 802B1B80 10410006 */ beq $v0, $at, .L802B1B9C
/* 11B194 802B1B84 A6080002 */ sh $t0, 2($s0)
/* 11B198 802B1B88 24010008 */ li $at, 8
/* 11B19C 802B1B8C 50410007 */ beql $v0, $at, .L802B1BAC
/* 11B1A0 802B1B90 240C0006 */ li $t4, 6
/* 11B1A4 802B1B94 10000007 */ b .L802B1BB4
/* 11B1A8 802B1B98 240D8000 */ li $t5, -32768
.L802B1B9C:
/* 11B1AC 802B1B9C 24090004 */ li $t1, 4
/* 11B1B0 802B1BA0 10000003 */ b .L802B1BB0
/* 11B1B4 802B1BA4 A6090006 */ sh $t1, 6($s0)
/* 11B1B8 802B1BA8 240C0006 */ li $t4, 6
.L802B1BAC:
/* 11B1BC 802B1BAC A60C0006 */ sh $t4, 6($s0)
.L802B1BB0:
/* 11B1C0 802B1BB0 240D8000 */ li $t5, -32768
.L802B1BB4:
/* 11B1C4 802B1BB4 A6000010 */ sh $zero, 0x10($s0)
/* 11B1C8 802B1BB8 A60D0012 */ sh $t5, 0x12($s0)
/* 11B1CC 802B1BBC 3C0F800E */ lui $t7, %hi(D_800DC4DC) # $t7, 0x800e
/* 11B1D0 802B1BC0 8DEFC4DC */ lw $t7, %lo(D_800DC4DC)($t7)
/* 11B1D4 802B1BC4 24010DD8 */ li $at, 3544
/* 11B1D8 802B1BC8 8FA50060 */ lw $a1, 0x60($sp)
/* 11B1DC 802B1BCC 022FC023 */ subu $t8, $s1, $t7
/* 11B1E0 802B1BD0 0301001A */ div $zero, $t8, $at
/* 11B1E4 802B1BD4 3C048016 */ lui $a0, %hi(D_8015F9B8) # $a0, 0x8016
/* 11B1E8 802B1BD8 2484F9B8 */ addiu $a0, %lo(D_8015F9B8) # addiu $a0, $a0, -0x648
/* 11B1EC 802B1BDC 24030070 */ li $v1, 112
/* 11B1F0 802B1BE0 00A4C823 */ subu $t9, $a1, $a0
/* 11B1F4 802B1BE4 00007012 */ mflo $t6
/* 11B1F8 802B1BE8 97A6006E */ lhu $a2, 0x6e($sp)
/* 11B1FC 802B1BEC A60E0014 */ sh $t6, 0x14($s0)
/* 11B200 802B1BF0 0323001A */ div $zero, $t9, $v1
/* 11B204 802B1BF4 44864000 */ mtc1 $a2, $f8
/* 11B208 802B1BF8 00005812 */ mflo $t3
/* 11B20C 802B1BFC A60B0004 */ sh $t3, 4($s0)
/* 11B210 802B1C00 14600002 */ bnez $v1, .L802B1C0C
/* 11B214 802B1C04 00000000 */ nop
/* 11B218 802B1C08 0007000D */ break 7
.L802B1C0C:
/* 11B21C 802B1C0C 2401FFFF */ li $at, -1
/* 11B220 802B1C10 14610004 */ bne $v1, $at, .L802B1C24
/* 11B224 802B1C14 3C018000 */ lui $at, 0x8000
/* 11B228 802B1C18 17210002 */ bne $t9, $at, .L802B1C24
/* 11B22C 802B1C1C 00000000 */ nop
/* 11B230 802B1C20 0006000D */ break 6
.L802B1C24:
/* 11B234 802B1C24 02045023 */ subu $t2, $s0, $a0
/* 11B238 802B1C28 04C10005 */ bgez $a2, .L802B1C40
/* 11B23C 802B1C2C 468042A0 */ cvt.s.w $f10, $f8
/* 11B240 802B1C30 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 11B244 802B1C34 44818000 */ mtc1 $at, $f16
/* 11B248 802B1C38 00000000 */ nop
/* 11B24C 802B1C3C 46105280 */ add.s $f10, $f10, $f16
.L802B1C40:
/* 11B250 802B1C40 0143001A */ div $zero, $t2, $v1
/* 11B254 802B1C44 00004012 */ mflo $t0
/* 11B258 802B1C48 44889000 */ mtc1 $t0, $f18
/* 11B25C 802B1C4C 00064880 */ sll $t1, $a2, 2
/* 11B260 802B1C50 E60A0008 */ swc1 $f10, 8($s0)
/* 11B264 802B1C54 46809120 */ cvt.s.w $f4, $f18
/* 11B268 802B1C58 00A96021 */ addu $t4, $a1, $t1
/* 11B26C 802B1C5C 14600002 */ bnez $v1, .L802B1C68
/* 11B270 802B1C60 00000000 */ nop
/* 11B274 802B1C64 0007000D */ break 7
.L802B1C68:
/* 11B278 802B1C68 2401FFFF */ li $at, -1
/* 11B27C 802B1C6C 14610004 */ bne $v1, $at, .L802B1C80
/* 11B280 802B1C70 3C018000 */ lui $at, 0x8000
/* 11B284 802B1C74 15410002 */ bne $t2, $at, .L802B1C80
/* 11B288 802B1C78 00000000 */ nop
/* 11B28C 802B1C7C 0006000D */ break 6
.L802B1C80:
/* 11B290 802B1C80 E5840024 */ swc1 $f4, 0x24($t4)
/* 11B294 802B1C84 24020001 */ li $v0, 1
.L802B1C88:
/* 11B298 802B1C88 8FBF002C */ lw $ra, 0x2c($sp)
/* 11B29C 802B1C8C 8FB00024 */ lw $s0, 0x24($sp)
/* 11B2A0 802B1C90 8FB10028 */ lw $s1, 0x28($sp)
/* 11B2A4 802B1C94 03E00008 */ jr $ra
/* 11B2A8 802B1C98 27BD0060 */ addiu $sp, $sp, 0x60
glabel func_802B1C9C
/* 11B2AC 802B1C9C 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 11B2B0 802B1CA0 3C0E802C */ lui $t6, %hi(D_802B9194) # $t6, 0x802c
/* 11B2B4 802B1CA4 AFBF002C */ sw $ra, 0x2c($sp)
/* 11B2B8 802B1CA8 AFB10028 */ sw $s1, 0x28($sp)
/* 11B2BC 802B1CAC AFB00024 */ sw $s0, 0x24($sp)
/* 11B2C0 802B1CB0 25CE9194 */ addiu $t6, %lo(D_802B9194) # addiu $t6, $t6, -0x6e6c
/* 11B2C4 802B1CB4 8DC10000 */ lw $at, ($t6)
/* 11B2C8 802B1CB8 27B00054 */ addiu $s0, $sp, 0x54
/* 11B2CC 802B1CBC 3C09802C */ lui $t1, %hi(D_802B91A0) # $t1, 0x802c
/* 11B2D0 802B1CC0 AE010000 */ sw $at, ($s0)
/* 11B2D4 802B1CC4 8DD90004 */ lw $t9, 4($t6)
/* 11B2D8 802B1CC8 252991A0 */ addiu $t1, %lo(D_802B91A0) # addiu $t1, $t1, -0x6e60
/* 11B2DC 802B1CCC 27A8004C */ addiu $t0, $sp, 0x4c
/* 11B2E0 802B1CD0 AE190004 */ sw $t9, 4($s0)
/* 11B2E4 802B1CD4 8DC10008 */ lw $at, 8($t6)
/* 11B2E8 802B1CD8 44802000 */ mtc1 $zero, $f4
/* 11B2EC 802B1CDC 00808825 */ move $s1, $a0
/* 11B2F0 802B1CE0 AE010008 */ sw $at, 8($s0)
/* 11B2F4 802B1CE4 8D210000 */ lw $at, ($t1)
/* 11B2F8 802B1CE8 26250174 */ addiu $a1, $s1, 0x174
/* 11B2FC 802B1CEC AD010000 */ sw $at, ($t0)
/* 11B300 802B1CF0 95210004 */ lhu $at, 4($t1)
/* 11B304 802B1CF4 A5010004 */ sh $at, 4($t0)
/* 11B308 802B1CF8 E7A40040 */ swc1 $f4, 0x40($sp)
/* 11B30C 802B1CFC C4860070 */ lwc1 $f6, 0x70($a0)
/* 11B310 802B1D00 3C014080 */ li $at, 0x40800000 # 4.000000
/* 11B314 802B1D04 44818000 */ mtc1 $at, $f16
/* 11B318 802B1D08 46003207 */ neg.s $f8, $f6
/* 11B31C 802B1D0C E7A80044 */ swc1 $f8, 0x44($sp)
/* 11B320 802B1D10 C48A0070 */ lwc1 $f10, 0x70($a0)
/* 11B324 802B1D14 27A40040 */ addiu $a0, $sp, 0x40
/* 11B328 802B1D18 46105481 */ sub.s $f18, $f10, $f16
/* 11B32C 802B1D1C 0C0AD8EE */ jal func_802B63B8
/* 11B330 802B1D20 E7B20048 */ swc1 $f18, 0x48($sp)
/* 11B334 802B1D24 C7A40040 */ lwc1 $f4, 0x40($sp)
/* 11B338 802B1D28 C6260014 */ lwc1 $f6, 0x14($s1)
/* 11B33C 802B1D2C C7AA0044 */ lwc1 $f10, 0x44($sp)
/* 11B340 802B1D30 27A40040 */ addiu $a0, $sp, 0x40
/* 11B344 802B1D34 46062200 */ add.s $f8, $f4, $f6
/* 11B348 802B1D38 C7A40048 */ lwc1 $f4, 0x48($sp)
/* 11B34C 802B1D3C 27A5004C */ addiu $a1, $sp, 0x4c
/* 11B350 802B1D40 02003025 */ move $a2, $s0
/* 11B354 802B1D44 E7A80040 */ swc1 $f8, 0x40($sp)
/* 11B358 802B1D48 C6300018 */ lwc1 $f16, 0x18($s1)
/* 11B35C 802B1D4C 24070007 */ li $a3, 7
/* 11B360 802B1D50 46105480 */ add.s $f18, $f10, $f16
/* 11B364 802B1D54 E7B20044 */ swc1 $f18, 0x44($sp)
/* 11B368 802B1D58 C626001C */ lwc1 $f6, 0x1c($s1)
/* 11B36C 802B1D5C 46062200 */ add.s $f8, $f4, $f6
/* 11B370 802B1D60 0C0A7B22 */ jal func_8029EC88
/* 11B374 802B1D64 E7A80048 */ swc1 $f8, 0x48($sp)
/* 11B378 802B1D68 00021C00 */ sll $v1, $v0, 0x10
/* 11B37C 802B1D6C 00036C03 */ sra $t5, $v1, 0x10
/* 11B380 802B1D70 04410003 */ bgez $v0, .L802B1D80
/* 11B384 802B1D74 01A01825 */ move $v1, $t5
/* 11B388 802B1D78 1000002E */ b .L802B1E34
/* 11B38C 802B1D7C 01A01025 */ move $v0, $t5
.L802B1D80:
/* 11B390 802B1D80 C62A0014 */ lwc1 $f10, 0x14($s1)
/* 11B394 802B1D84 0003C0C0 */ sll $t8, $v1, 3
/* 11B398 802B1D88 0303C023 */ subu $t8, $t8, $v1
/* 11B39C 802B1D8C E7AA0040 */ swc1 $f10, 0x40($sp)
/* 11B3A0 802B1D90 C6300018 */ lwc1 $f16, 0x18($s1)
/* 11B3A4 802B1D94 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 11B3A8 802B1D98 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 11B3AC 802B1D9C 0018C100 */ sll $t8, $t8, 4
/* 11B3B0 802B1DA0 030F8021 */ addu $s0, $t8, $t7
/* 11B3B4 802B1DA4 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11B3B8 802B1DA8 44813000 */ mtc1 $at, $f6
/* 11B3BC 802B1DAC C604000C */ lwc1 $f4, 0xc($s0)
/* 11B3C0 802B1DB0 E7B00044 */ swc1 $f16, 0x44($sp)
/* 11B3C4 802B1DB4 C632001C */ lwc1 $f18, 0x1c($s1)
/* 11B3C8 802B1DB8 46062200 */ add.s $f8, $f4, $f6
/* 11B3CC 802B1DBC C7B00040 */ lwc1 $f16, 0x40($sp)
/* 11B3D0 802B1DC0 E7B20048 */ swc1 $f18, 0x48($sp)
/* 11B3D4 802B1DC4 C7A40048 */ lwc1 $f4, 0x48($sp)
/* 11B3D8 802B1DC8 C7B20044 */ lwc1 $f18, 0x44($sp)
/* 11B3DC 802B1DCC C60A0020 */ lwc1 $f10, 0x20($s0)
/* 11B3E0 802B1DD0 44054000 */ mfc1 $a1, $f8
/* 11B3E4 802B1DD4 A7A3003E */ sh $v1, 0x3e($sp)
/* 11B3E8 802B1DD8 26040030 */ addiu $a0, $s0, 0x30
/* 11B3EC 802B1DDC 8E060018 */ lw $a2, 0x18($s0)
/* 11B3F0 802B1DE0 8E07001C */ lw $a3, 0x1c($s0)
/* 11B3F4 802B1DE4 E7B00014 */ swc1 $f16, 0x14($sp)
/* 11B3F8 802B1DE8 E7A4001C */ swc1 $f4, 0x1c($sp)
/* 11B3FC 802B1DEC E7B20018 */ swc1 $f18, 0x18($sp)
/* 11B400 802B1DF0 0C0AB654 */ jal func_802AD950
/* 11B404 802B1DF4 E7AA0010 */ swc1 $f10, 0x10($sp)
/* 11B408 802B1DF8 0C0AD38C */ jal func_802B4E30
/* 11B40C 802B1DFC 02002025 */ move $a0, $s0
/* 11B410 802B1E00 240E8000 */ li $t6, -32768
/* 11B414 802B1E04 A6000006 */ sh $zero, 6($s0)
/* 11B418 802B1E08 A6000010 */ sh $zero, 0x10($s0)
/* 11B41C 802B1E0C A60E0012 */ sh $t6, 0x12($s0)
/* 11B420 802B1E10 3C19800E */ lui $t9, %hi(D_800DC4DC) # $t9, 0x800e
/* 11B424 802B1E14 8F39C4DC */ lw $t9, %lo(D_800DC4DC)($t9)
/* 11B428 802B1E18 24010DD8 */ li $at, 3544
/* 11B42C 802B1E1C 87A2003E */ lh $v0, 0x3e($sp)
/* 11B430 802B1E20 02395823 */ subu $t3, $s1, $t9
/* 11B434 802B1E24 0161001A */ div $zero, $t3, $at
/* 11B438 802B1E28 00005012 */ mflo $t2
/* 11B43C 802B1E2C A60A0014 */ sh $t2, 0x14($s0)
/* 11B440 802B1E30 00000000 */ nop
.L802B1E34:
/* 11B444 802B1E34 8FBF002C */ lw $ra, 0x2c($sp)
/* 11B448 802B1E38 8FB00024 */ lw $s0, 0x24($sp)
/* 11B44C 802B1E3C 8FB10028 */ lw $s1, 0x28($sp)
/* 11B450 802B1E40 03E00008 */ jr $ra
/* 11B454 802B1E44 27BD0060 */ addiu $sp, $sp, 0x60
glabel func_802B1E48
/* 11B458 802B1E48 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 11B45C 802B1E4C 3C0E802C */ lui $t6, %hi(D_802B91A8) # $t6, 0x802c
/* 11B460 802B1E50 AFBF002C */ sw $ra, 0x2c($sp)
/* 11B464 802B1E54 AFB10028 */ sw $s1, 0x28($sp)
/* 11B468 802B1E58 AFB00024 */ sw $s0, 0x24($sp)
/* 11B46C 802B1E5C 25CE91A8 */ addiu $t6, %lo(D_802B91A8) # addiu $t6, $t6, -0x6e58
/* 11B470 802B1E60 8DC10000 */ lw $at, ($t6)
/* 11B474 802B1E64 27B00054 */ addiu $s0, $sp, 0x54
/* 11B478 802B1E68 3C09802C */ lui $t1, %hi(D_802B91B4) # $t1, 0x802c
/* 11B47C 802B1E6C AE010000 */ sw $at, ($s0)
/* 11B480 802B1E70 8DD90004 */ lw $t9, 4($t6)
/* 11B484 802B1E74 252991B4 */ addiu $t1, %lo(D_802B91B4) # addiu $t1, $t1, -0x6e4c
/* 11B488 802B1E78 27A8004C */ addiu $t0, $sp, 0x4c
/* 11B48C 802B1E7C AE190004 */ sw $t9, 4($s0)
/* 11B490 802B1E80 8DC10008 */ lw $at, 8($t6)
/* 11B494 802B1E84 44802000 */ mtc1 $zero, $f4
/* 11B498 802B1E88 00808825 */ move $s1, $a0
/* 11B49C 802B1E8C AE010008 */ sw $at, 8($s0)
/* 11B4A0 802B1E90 8D210000 */ lw $at, ($t1)
/* 11B4A4 802B1E94 26250174 */ addiu $a1, $s1, 0x174
/* 11B4A8 802B1E98 AD010000 */ sw $at, ($t0)
/* 11B4AC 802B1E9C 95210004 */ lhu $at, 4($t1)
/* 11B4B0 802B1EA0 A5010004 */ sh $at, 4($t0)
/* 11B4B4 802B1EA4 E7A40040 */ swc1 $f4, 0x40($sp)
/* 11B4B8 802B1EA8 C4860070 */ lwc1 $f6, 0x70($a0)
/* 11B4BC 802B1EAC 3C014080 */ li $at, 0x40800000 # 4.000000
/* 11B4C0 802B1EB0 44818000 */ mtc1 $at, $f16
/* 11B4C4 802B1EB4 46003207 */ neg.s $f8, $f6
/* 11B4C8 802B1EB8 E7A80044 */ swc1 $f8, 0x44($sp)
/* 11B4CC 802B1EBC C48A0070 */ lwc1 $f10, 0x70($a0)
/* 11B4D0 802B1EC0 27A40040 */ addiu $a0, $sp, 0x40
/* 11B4D4 802B1EC4 46105481 */ sub.s $f18, $f10, $f16
/* 11B4D8 802B1EC8 0C0AD8EE */ jal func_802B63B8
/* 11B4DC 802B1ECC E7B20048 */ swc1 $f18, 0x48($sp)
/* 11B4E0 802B1ED0 C7A40040 */ lwc1 $f4, 0x40($sp)
/* 11B4E4 802B1ED4 C6260014 */ lwc1 $f6, 0x14($s1)
/* 11B4E8 802B1ED8 C7AA0044 */ lwc1 $f10, 0x44($sp)
/* 11B4EC 802B1EDC 27A40040 */ addiu $a0, $sp, 0x40
/* 11B4F0 802B1EE0 46062200 */ add.s $f8, $f4, $f6
/* 11B4F4 802B1EE4 C7A40048 */ lwc1 $f4, 0x48($sp)
/* 11B4F8 802B1EE8 27A5004C */ addiu $a1, $sp, 0x4c
/* 11B4FC 802B1EEC 02003025 */ move $a2, $s0
/* 11B500 802B1EF0 E7A80040 */ swc1 $f8, 0x40($sp)
/* 11B504 802B1EF4 C6300018 */ lwc1 $f16, 0x18($s1)
/* 11B508 802B1EF8 24070008 */ li $a3, 8
/* 11B50C 802B1EFC 46105480 */ add.s $f18, $f10, $f16
/* 11B510 802B1F00 E7B20044 */ swc1 $f18, 0x44($sp)
/* 11B514 802B1F04 C626001C */ lwc1 $f6, 0x1c($s1)
/* 11B518 802B1F08 46062200 */ add.s $f8, $f4, $f6
/* 11B51C 802B1F0C 0C0A7B22 */ jal func_8029EC88
/* 11B520 802B1F10 E7A80048 */ swc1 $f8, 0x48($sp)
/* 11B524 802B1F14 00021C00 */ sll $v1, $v0, 0x10
/* 11B528 802B1F18 00036C03 */ sra $t5, $v1, 0x10
/* 11B52C 802B1F1C 04410003 */ bgez $v0, .L802B1F2C
/* 11B530 802B1F20 01A01825 */ move $v1, $t5
/* 11B534 802B1F24 10000030 */ b .L802B1FE8
/* 11B538 802B1F28 01A01025 */ move $v0, $t5
.L802B1F2C:
/* 11B53C 802B1F2C C62A0014 */ lwc1 $f10, 0x14($s1)
/* 11B540 802B1F30 0003C0C0 */ sll $t8, $v1, 3
/* 11B544 802B1F34 0303C023 */ subu $t8, $t8, $v1
/* 11B548 802B1F38 E7AA0040 */ swc1 $f10, 0x40($sp)
/* 11B54C 802B1F3C C6300018 */ lwc1 $f16, 0x18($s1)
/* 11B550 802B1F40 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 11B554 802B1F44 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 11B558 802B1F48 0018C100 */ sll $t8, $t8, 4
/* 11B55C 802B1F4C 030F8021 */ addu $s0, $t8, $t7
/* 11B560 802B1F50 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11B564 802B1F54 44813000 */ mtc1 $at, $f6
/* 11B568 802B1F58 C604000C */ lwc1 $f4, 0xc($s0)
/* 11B56C 802B1F5C E7B00044 */ swc1 $f16, 0x44($sp)
/* 11B570 802B1F60 C632001C */ lwc1 $f18, 0x1c($s1)
/* 11B574 802B1F64 46062200 */ add.s $f8, $f4, $f6
/* 11B578 802B1F68 C7B00040 */ lwc1 $f16, 0x40($sp)
/* 11B57C 802B1F6C E7B20048 */ swc1 $f18, 0x48($sp)
/* 11B580 802B1F70 C7A40048 */ lwc1 $f4, 0x48($sp)
/* 11B584 802B1F74 C7B20044 */ lwc1 $f18, 0x44($sp)
/* 11B588 802B1F78 C60A0020 */ lwc1 $f10, 0x20($s0)
/* 11B58C 802B1F7C 44054000 */ mfc1 $a1, $f8
/* 11B590 802B1F80 A7A3003E */ sh $v1, 0x3e($sp)
/* 11B594 802B1F84 26040030 */ addiu $a0, $s0, 0x30
/* 11B598 802B1F88 8E060018 */ lw $a2, 0x18($s0)
/* 11B59C 802B1F8C 8E07001C */ lw $a3, 0x1c($s0)
/* 11B5A0 802B1F90 E7B00014 */ swc1 $f16, 0x14($sp)
/* 11B5A4 802B1F94 E7A4001C */ swc1 $f4, 0x1c($sp)
/* 11B5A8 802B1F98 E7B20018 */ swc1 $f18, 0x18($sp)
/* 11B5AC 802B1F9C 0C0AB654 */ jal func_802AD950
/* 11B5B0 802B1FA0 E7AA0010 */ swc1 $f10, 0x10($sp)
/* 11B5B4 802B1FA4 0C0AD38C */ jal func_802B4E30
/* 11B5B8 802B1FA8 02002025 */ move $a0, $s0
/* 11B5BC 802B1FAC A6000006 */ sh $zero, 6($s0)
/* 11B5C0 802B1FB0 A6000010 */ sh $zero, 0x10($s0)
/* 11B5C4 802B1FB4 862E002E */ lh $t6, 0x2e($s1)
/* 11B5C8 802B1FB8 24018000 */ li $at, -32768
/* 11B5CC 802B1FBC 3C0B800E */ lui $t3, %hi(D_800DC4DC) # $t3, 0x800e
/* 11B5D0 802B1FC0 01C1C821 */ addu $t9, $t6, $at
/* 11B5D4 802B1FC4 A6190012 */ sh $t9, 0x12($s0)
/* 11B5D8 802B1FC8 8D6BC4DC */ lw $t3, %lo(D_800DC4DC)($t3)
/* 11B5DC 802B1FCC 24010DD8 */ li $at, 3544
/* 11B5E0 802B1FD0 87A2003E */ lh $v0, 0x3e($sp)
/* 11B5E4 802B1FD4 022B5023 */ subu $t2, $s1, $t3
/* 11B5E8 802B1FD8 0141001A */ div $zero, $t2, $at
/* 11B5EC 802B1FDC 00004012 */ mflo $t0
/* 11B5F0 802B1FE0 A6080014 */ sh $t0, 0x14($s0)
/* 11B5F4 802B1FE4 00000000 */ nop
.L802B1FE8:
/* 11B5F8 802B1FE8 8FBF002C */ lw $ra, 0x2c($sp)
/* 11B5FC 802B1FEC 8FB00024 */ lw $s0, 0x24($sp)
/* 11B600 802B1FF0 8FB10028 */ lw $s1, 0x28($sp)
/* 11B604 802B1FF4 03E00008 */ jr $ra
/* 11B608 802B1FF8 27BD0060 */ addiu $sp, $sp, 0x60
glabel func_802B1FFC
/* 11B60C 802B1FFC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 11B610 802B2000 AFBF0014 */ sw $ra, 0x14($sp)
/* 11B614 802B2004 0C0AC792 */ jal func_802B1E48
/* 11B618 802B2008 00000000 */ nop
/* 11B61C 802B200C 000278C0 */ sll $t7, $v0, 3
/* 11B620 802B2010 8FBF0014 */ lw $ra, 0x14($sp)
/* 11B624 802B2014 01E27823 */ subu $t7, $t7, $v0
/* 11B628 802B2018 000F7900 */ sll $t7, $t7, 4
/* 11B62C 802B201C 3C018016 */ lui $at, 0x8016
/* 11B630 802B2020 002F0821 */ addu $at, $at, $t7
/* 11B634 802B2024 240E002A */ li $t6, 42
/* 11B638 802B2028 A42EF9B8 */ sh $t6, -0x648($at)
/* 11B63C 802B202C 03E00008 */ jr $ra
/* 11B640 802B2030 27BD0018 */ addiu $sp, $sp, 0x18
glabel update_obj_banana
/* 11B644 802B2034 27BDFF70 */ addiu $sp, $sp, -0x90
/* 11B648 802B2038 AFBF0024 */ sw $ra, 0x24($sp)
/* 11B64C 802B203C AFB00020 */ sw $s0, 0x20($sp)
/* 11B650 802B2040 848E0010 */ lh $t6, 0x10($a0)
/* 11B654 802B2044 94990006 */ lhu $t9, 6($a0)
/* 11B658 802B2048 3C18800F */ lui $t8, %hi(D_800F6990) # $t8, 0x800f
/* 11B65C 802B204C 000E78C0 */ sll $t7, $t6, 3
/* 11B660 802B2050 01EE7823 */ subu $t7, $t7, $t6
/* 11B664 802B2054 000F7900 */ sll $t7, $t7, 4
/* 11B668 802B2058 01EE7823 */ subu $t7, $t7, $t6
/* 11B66C 802B205C 000F7880 */ sll $t7, $t7, 2
/* 11B670 802B2060 01EE7823 */ subu $t7, $t7, $t6
/* 11B674 802B2064 000F78C0 */ sll $t7, $t7, 3
/* 11B678 802B2068 27186990 */ addiu $t8, %lo(D_800F6990) # addiu $t8, $t8, 0x6990
/* 11B67C 802B206C 2F210006 */ sltiu $at, $t9, 6
/* 11B680 802B2070 00808025 */ move $s0, $a0
/* 11B684 802B2074 10200222 */ beqz $at, .L802B2900
/* 11B688 802B2078 01F81021 */ addu $v0, $t7, $t8
/* 11B68C 802B207C 0019C880 */ sll $t9, $t9, 2
/* 11B690 802B2080 3C01802C */ lui $at, %hi(D_802B9EC8)
/* 11B694 802B2084 00390821 */ addu $at, $at, $t9
/* 11B698 802B2088 8C399EC8 */ lw $t9, %lo(D_802B9EC8)($at)
/* 11B69C 802B208C 03200008 */ jr $t9
/* 11B6A0 802B2090 00000000 */ nop
glabel L802B2094
/* 11B6A4 802B2094 C4440014 */ lwc1 $f4, 0x14($v0)
/* 11B6A8 802B2098 C6060018 */ lwc1 $f6, 0x18($s0)
/* 11B6AC 802B209C C4480018 */ lwc1 $f8, 0x18($v0)
/* 11B6B0 802B20A0 C60A001C */ lwc1 $f10, 0x1c($s0)
/* 11B6B4 802B20A4 46062081 */ sub.s $f2, $f4, $f6
/* 11B6B8 802B20A8 C6060020 */ lwc1 $f6, 0x20($s0)
/* 11B6BC 802B20AC C444001C */ lwc1 $f4, 0x1c($v0)
/* 11B6C0 802B20B0 460A4381 */ sub.s $f14, $f8, $f10
/* 11B6C4 802B20B4 46021202 */ mul.s $f8, $f2, $f2
/* 11B6C8 802B20B8 E7A20048 */ swc1 $f2, 0x48($sp)
/* 11B6CC 802B20BC 46062401 */ sub.s $f16, $f4, $f6
/* 11B6D0 802B20C0 460E7282 */ mul.s $f10, $f14, $f14
/* 11B6D4 802B20C4 E7AE0044 */ swc1 $f14, 0x44($sp)
/* 11B6D8 802B20C8 AFA20088 */ sw $v0, 0x88($sp)
/* 11B6DC 802B20CC 46108182 */ mul.s $f6, $f16, $f16
/* 11B6E0 802B20D0 E7B00040 */ swc1 $f16, 0x40($sp)
/* 11B6E4 802B20D4 460A4100 */ add.s $f4, $f8, $f10
/* 11B6E8 802B20D8 0C033850 */ jal sqrtf
/* 11B6EC 802B20DC 46062300 */ add.s $f12, $f4, $f6
/* 11B6F0 802B20E0 3C014120 */ li $at, 0x41200000 # 10.000000
/* 11B6F4 802B20E4 44814000 */ mtc1 $at, $f8
/* 11B6F8 802B20E8 44805000 */ mtc1 $zero, $f10
/* 11B6FC 802B20EC 8FA20088 */ lw $v0, 0x88($sp)
/* 11B700 802B20F0 46080303 */ div.s $f12, $f0, $f8
/* 11B704 802B20F4 C7A20048 */ lwc1 $f2, 0x48($sp)
/* 11B708 802B20F8 C7AE0044 */ lwc1 $f14, 0x44($sp)
/* 11B70C 802B20FC C7B00040 */ lwc1 $f16, 0x40($sp)
/* 11B710 802B2100 3C01802C */ lui $at, %hi(D_802B9EE0) # $at, 0x802c
/* 11B714 802B2104 460C5032 */ c.eq.s $f10, $f12
/* 11B718 802B2108 00000000 */ nop
/* 11B71C 802B210C 4502000D */ bc1fl .L802B2144
/* 11B720 802B2110 460C1083 */ div.s $f2, $f2, $f12
/* 11B724 802B2114 C4209EE0 */ lwc1 $f0, %lo(D_802B9EE0)($at)
/* 11B728 802B2118 C4440014 */ lwc1 $f4, 0x14($v0)
/* 11B72C 802B211C 46002180 */ add.s $f6, $f4, $f0
/* 11B730 802B2120 E6060018 */ swc1 $f6, 0x18($s0)
/* 11B734 802B2124 C4480018 */ lwc1 $f8, 0x18($v0)
/* 11B738 802B2128 46004280 */ add.s $f10, $f8, $f0
/* 11B73C 802B212C E60A001C */ swc1 $f10, 0x1c($s0)
/* 11B740 802B2130 C444001C */ lwc1 $f4, 0x1c($v0)
/* 11B744 802B2134 46002180 */ add.s $f6, $f4, $f0
/* 11B748 802B2138 10000010 */ b .L802B217C
/* 11B74C 802B213C E6060020 */ swc1 $f6, 0x20($s0)
/* 11B750 802B2140 460C1083 */ div.s $f2, $f2, $f12
.L802B2144:
/* 11B754 802B2144 C4480014 */ lwc1 $f8, 0x14($v0)
/* 11B758 802B2148 3C014000 */ li $at, 0x40000000 # 2.000000
/* 11B75C 802B214C 460C7383 */ div.s $f14, $f14, $f12
/* 11B760 802B2150 46024281 */ sub.s $f10, $f8, $f2
/* 11B764 802B2154 44814000 */ mtc1 $at, $f8
/* 11B768 802B2158 E60A0018 */ swc1 $f10, 0x18($s0)
/* 11B76C 802B215C C4440018 */ lwc1 $f4, 0x18($v0)
/* 11B770 802B2160 460C8403 */ div.s $f16, $f16, $f12
/* 11B774 802B2164 460E2181 */ sub.s $f6, $f4, $f14
/* 11B778 802B2168 46083281 */ sub.s $f10, $f6, $f8
/* 11B77C 802B216C E60A001C */ swc1 $f10, 0x1c($s0)
/* 11B780 802B2170 C444001C */ lwc1 $f4, 0x1c($v0)
/* 11B784 802B2174 46102181 */ sub.s $f6, $f4, $f16
/* 11B788 802B2178 E6060020 */ swc1 $f6, 0x20($s0)
.L802B217C:
/* 11B78C 802B217C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11B790 802B2180 44815000 */ mtc1 $at, $f10
/* 11B794 802B2184 C608000C */ lwc1 $f8, 0xc($s0)
/* 11B798 802B2188 C6060020 */ lwc1 $f6, 0x20($s0)
/* 11B79C 802B218C 8E060018 */ lw $a2, 0x18($s0)
/* 11B7A0 802B2190 460A4100 */ add.s $f4, $f8, $f10
/* 11B7A4 802B2194 8E07001C */ lw $a3, 0x1c($s0)
/* 11B7A8 802B2198 AFA20088 */ sw $v0, 0x88($sp)
/* 11B7AC 802B219C 26040030 */ addiu $a0, $s0, 0x30
/* 11B7B0 802B21A0 44052000 */ mfc1 $a1, $f4
/* 11B7B4 802B21A4 0C0AB772 */ jal func_802ADDC8
/* 11B7B8 802B21A8 E7A60010 */ swc1 $f6, 0x10($sp)
/* 11B7BC 802B21AC 0C0AD38C */ jal func_802B4E30
/* 11B7C0 802B21B0 02002025 */ move $a0, $s0
/* 11B7C4 802B21B4 8FA20088 */ lw $v0, 0x88($sp)
/* 11B7C8 802B21B8 3C0A800E */ lui $t2, %hi(D_800DC51C) # $t2, 0x800e
/* 11B7CC 802B21BC 94480000 */ lhu $t0, ($v0)
/* 11B7D0 802B21C0 31094000 */ andi $t1, $t0, 0x4000
/* 11B7D4 802B21C4 512001CF */ beql $t1, $zero, .L802B2904
/* 11B7D8 802B21C8 8FBF0024 */ lw $ra, 0x24($sp)
/* 11B7DC 802B21CC 954AC51C */ lhu $t2, %lo(D_800DC51C)($t2)
/* 11B7E0 802B21D0 3C03800E */ lui $v1, %hi(D_800DC4BC) # $v1, 0x800e
/* 11B7E4 802B21D4 24180001 */ li $t8, 1
/* 11B7E8 802B21D8 11400003 */ beqz $t2, .L802B21E8
/* 11B7EC 802B21DC 241900B4 */ li $t9, 180
/* 11B7F0 802B21E0 10000006 */ b .L802B21FC
/* 11B7F4 802B21E4 8C63C4BC */ lw $v1, %lo(D_800DC4BC)($v1)
.L802B21E8:
/* 11B7F8 802B21E8 860B0010 */ lh $t3, 0x10($s0)
/* 11B7FC 802B21EC 3C0D800F */ lui $t5, %hi(gPlayer1Controller) # $t5, 0x800f
/* 11B800 802B21F0 25AD6910 */ addiu $t5, %lo(gPlayer1Controller) # addiu $t5, $t5, 0x6910
/* 11B804 802B21F4 000B6100 */ sll $t4, $t3, 4
/* 11B808 802B21F8 018D1821 */ addu $v1, $t4, $t5
.L802B21FC:
/* 11B80C 802B21FC 94660008 */ lhu $a2, 8($v1)
/* 11B810 802B2200 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb
/* 11B814 802B2204 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 11B818 802B2208 30CE2000 */ andi $t6, $a2, 0x2000
/* 11B81C 802B220C 11C001BC */ beqz $t6, .L802B2900
/* 11B820 802B2210 30CFDFFF */ andi $t7, $a2, 0xdfff
/* 11B824 802B2214 A46F0008 */ sh $t7, 8($v1)
/* 11B828 802B2218 A6180006 */ sh $t8, 6($s0)
/* 11B82C 802B221C A6190004 */ sh $t9, 4($s0)
/* 11B830 802B2220 8C48000C */ lw $t0, 0xc($v0)
/* 11B834 802B2224 3C0A800E */ lui $t2, %hi(D_800DC4DC) # $t2, 0x800e
/* 11B838 802B2228 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900
/* 11B83C 802B222C 01014824 */ and $t1, $t0, $at
/* 11B840 802B2230 AC49000C */ sw $t1, 0xc($v0)
/* 11B844 802B2234 8D4AC4DC */ lw $t2, %lo(D_800DC4DC)($t2)
/* 11B848 802B2238 24010DD8 */ li $at, 3544
/* 11B84C 802B223C AFA30080 */ sw $v1, 0x80($sp)
/* 11B850 802B2240 004A2023 */ subu $a0, $v0, $t2
/* 11B854 802B2244 0081001A */ div $zero, $a0, $at
/* 11B858 802B2248 00005812 */ mflo $t3
/* 11B85C 802B224C 316400FF */ andi $a0, $t3, 0xff
/* 11B860 802B2250 AFA20088 */ sw $v0, 0x88($sp)
/* 11B864 802B2254 0C032418 */ jal func_800C9060
/* 11B868 802B2258 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012
/* 11B86C 802B225C 8FA30080 */ lw $v1, 0x80($sp)
/* 11B870 802B2260 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 11B874 802B2264 44815000 */ mtc1 $at, $f10
/* 11B878 802B2268 846D0002 */ lh $t5, 2($v1)
/* 11B87C 802B226C 8FA20088 */ lw $v0, 0x88($sp)
/* 11B880 802B2270 448D4000 */ mtc1 $t5, $f8
/* 11B884 802B2274 00000000 */ nop
/* 11B888 802B2278 46804020 */ cvt.s.w $f0, $f8
/* 11B88C 802B227C 4600503C */ c.lt.s $f10, $f0
/* 11B890 802B2280 00000000 */ nop
/* 11B894 802B2284 45020037 */ bc1fl .L802B2364
/* 11B898 802B2288 44801000 */ mtc1 $zero, $f2
/* 11B89C 802B228C 84640000 */ lh $a0, ($v1)
/* 11B8A0 802B2290 2881000A */ slti $at, $a0, 0xa
/* 11B8A4 802B2294 10200032 */ beqz $at, .L802B2360
/* 11B8A8 802B2298 2881FFF7 */ slti $at, $a0, -9
/* 11B8AC 802B229C 14200030 */ bnez $at, .L802B2360
/* 11B8B0 802B22A0 27A40068 */ addiu $a0, $sp, 0x68
/* 11B8B4 802B22A4 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 11B8B8 802B22A8 44812000 */ mtc1 $at, $f4
/* 11B8BC 802B22AC 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 11B8C0 802B22B0 44813000 */ mtc1 $at, $f6
/* 11B8C4 802B22B4 46040001 */ sub.s $f0, $f0, $f4
/* 11B8C8 802B22B8 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 11B8CC 802B22BC 44815000 */ mtc1 $at, $f10
/* 11B8D0 802B22C0 3C014000 */ li $at, 0x40000000 # 2.000000
/* 11B8D4 802B22C4 46060203 */ div.s $f8, $f0, $f6
/* 11B8D8 802B22C8 44812000 */ mtc1 $at, $f4
/* 11B8DC 802B22CC C4420094 */ lwc1 $f2, 0x94($v0)
/* 11B8E0 802B22D0 3C013F40 */ li $at, 0x3F400000 # 0.750000
/* 11B8E4 802B22D4 4604103C */ c.lt.s $f2, $f4
/* 11B8E8 802B22D8 00000000 */ nop
/* 11B8EC 802B22DC 45000005 */ bc1f .L802B22F4
/* 11B8F0 802B22E0 460A4000 */ add.s $f0, $f8, $f10
/* 11B8F4 802B22E4 3C014080 */ li $at, 0x40800000 # 4.000000
/* 11B8F8 802B22E8 44816000 */ mtc1 $at, $f12
/* 11B8FC 802B22EC 10000008 */ b .L802B2310
/* 11B900 802B22F0 44801000 */ mtc1 $zero, $f2
.L802B22F4:
/* 11B904 802B22F4 44813000 */ mtc1 $at, $f6
/* 11B908 802B22F8 3C014060 */ li $at, 0x40600000 # 3.500000
/* 11B90C 802B22FC 44815000 */ mtc1 $at, $f10
/* 11B910 802B2300 46061202 */ mul.s $f8, $f2, $f6
/* 11B914 802B2304 460A4100 */ add.s $f4, $f8, $f10
/* 11B918 802B2308 46002300 */ add.s $f12, $f4, $f0
/* 11B91C 802B230C 44801000 */ mtc1 $zero, $f2
.L802B2310:
/* 11B920 802B2310 44060000 */ mfc1 $a2, $f0
/* 11B924 802B2314 44076000 */ mfc1 $a3, $f12
/* 11B928 802B2318 44051000 */ mfc1 $a1, $f2
/* 11B92C 802B231C 0C0AD4A7 */ jal load_giant_egg
/* 11B930 802B2320 AFA20088 */ sw $v0, 0x88($sp)
/* 11B934 802B2324 8FA20088 */ lw $v0, 0x88($sp)
/* 11B938 802B2328 27A40068 */ addiu $a0, $sp, 0x68
/* 11B93C 802B232C 844E002E */ lh $t6, 0x2e($v0)
/* 11B940 802B2330 844F00C0 */ lh $t7, 0xc0($v0)
/* 11B944 802B2334 01CF2821 */ addu $a1, $t6, $t7
/* 11B948 802B2338 0005C400 */ sll $t8, $a1, 0x10
/* 11B94C 802B233C 0C0AD931 */ jal func_802B64C4
/* 11B950 802B2340 00182C03 */ sra $a1, $t8, 0x10
/* 11B954 802B2344 C7A60068 */ lwc1 $f6, 0x68($sp)
/* 11B958 802B2348 E6060024 */ swc1 $f6, 0x24($s0)
/* 11B95C 802B234C C7A8006C */ lwc1 $f8, 0x6c($sp)
/* 11B960 802B2350 E6080028 */ swc1 $f8, 0x28($s0)
/* 11B964 802B2354 C7AA0070 */ lwc1 $f10, 0x70($sp)
/* 11B968 802B2358 10000169 */ b .L802B2900
/* 11B96C 802B235C E60A002C */ swc1 $f10, 0x2c($s0)
.L802B2360:
/* 11B970 802B2360 44801000 */ mtc1 $zero, $f2
.L802B2364:
/* 11B974 802B2364 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 11B978 802B2368 44812000 */ mtc1 $at, $f4
/* 11B97C 802B236C E6020024 */ swc1 $f2, 0x24($s0)
/* 11B980 802B2370 E602002C */ swc1 $f2, 0x2c($s0)
/* 11B984 802B2374 10000162 */ b .L802B2900
/* 11B988 802B2378 E6040028 */ swc1 $f4, 0x28($s0)
glabel L802B237C
/* 11B98C 802B237C 86020004 */ lh $v0, 4($s0)
/* 11B990 802B2380 3C0D8016 */ lui $t5, %hi(D_8015F6F0) # $t5, 0x8016
/* 11B994 802B2384 10400008 */ beqz $v0, .L802B23A8
/* 11B998 802B2388 2448FFFF */ addiu $t0, $v0, -1
/* 11B99C 802B238C A6080004 */ sh $t0, 4($s0)
/* 11B9A0 802B2390 86090004 */ lh $t1, 4($s0)
/* 11B9A4 802B2394 55200005 */ bnel $t1, $zero, .L802B23AC
/* 11B9A8 802B2398 C6060018 */ lwc1 $f6, 0x18($s0)
/* 11B9AC 802B239C 860A0002 */ lh $t2, 2($s0)
/* 11B9B0 802B23A0 314BEFFF */ andi $t3, $t2, 0xefff
/* 11B9B4 802B23A4 A60B0002 */ sh $t3, 2($s0)
.L802B23A8:
/* 11B9B8 802B23A8 C6060018 */ lwc1 $f6, 0x18($s0)
.L802B23AC:
/* 11B9BC 802B23AC C6080024 */ lwc1 $f8, 0x24($s0)
/* 11B9C0 802B23B0 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 11B9C4 802B23B4 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11B9C8 802B23B8 46083280 */ add.s $f10, $f6, $f8
/* 11B9CC 802B23BC C606002C */ lwc1 $f6, 0x2c($s0)
/* 11B9D0 802B23C0 C6040020 */ lwc1 $f4, 0x20($s0)
/* 11B9D4 802B23C4 E60A0018 */ swc1 $f10, 0x18($s0)
/* 11B9D8 802B23C8 44815000 */ mtc1 $at, $f10
/* 11B9DC 802B23CC 46062200 */ add.s $f8, $f4, $f6
/* 11B9E0 802B23D0 3C01802C */ lui $at, %hi(D_802B9EE4) # $at, 0x802c
/* 11B9E4 802B23D4 4600503C */ c.lt.s $f10, $f0
/* 11B9E8 802B23D8 E6080020 */ swc1 $f8, 0x20($s0)
/* 11B9EC 802B23DC 45020006 */ bc1fl .L802B23F8
/* 11B9F0 802B23E0 C608001C */ lwc1 $f8, 0x1c($s0)
/* 11B9F4 802B23E4 C4249EE4 */ lwc1 $f4, %lo(D_802B9EE4)($at)
/* 11B9F8 802B23E8 46040181 */ sub.s $f6, $f0, $f4
/* 11B9FC 802B23EC E6060028 */ swc1 $f6, 0x28($s0)
/* 11BA00 802B23F0 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11BA04 802B23F4 C608001C */ lwc1 $f8, 0x1c($s0)
.L802B23F8:
/* 11BA08 802B23F8 3C0C8016 */ lui $t4, %hi(D_8015F6F2) # $t4, 0x8016
/* 11BA0C 802B23FC C60C0020 */ lwc1 $f12, 0x20($s0)
/* 11BA10 802B2400 46004280 */ add.s $f10, $f8, $f0
/* 11BA14 802B2404 E60A001C */ swc1 $f10, 0x1c($s0)
/* 11BA18 802B2408 858CF6F2 */ lh $t4, %lo(D_8015F6F2)($t4)
/* 11BA1C 802B240C 448C2000 */ mtc1 $t4, $f4
/* 11BA20 802B2410 00000000 */ nop
/* 11BA24 802B2414 468021A0 */ cvt.s.w $f6, $f4
/* 11BA28 802B2418 4606603C */ c.lt.s $f12, $f6
/* 11BA2C 802B241C 00000000 */ nop
/* 11BA30 802B2420 45010027 */ bc1t .L802B24C0
/* 11BA34 802B2424 00000000 */ nop
/* 11BA38 802B2428 85ADF6F0 */ lh $t5, %lo(D_8015F6F0)($t5)
/* 11BA3C 802B242C 3C0E8016 */ lui $t6, %hi(D_8015F6EA) # $t6, 0x8016
/* 11BA40 802B2430 448D4000 */ mtc1 $t5, $f8
/* 11BA44 802B2434 00000000 */ nop
/* 11BA48 802B2438 468042A0 */ cvt.s.w $f10, $f8
/* 11BA4C 802B243C 460C503C */ c.lt.s $f10, $f12
/* 11BA50 802B2440 00000000 */ nop
/* 11BA54 802B2444 4501001E */ bc1t .L802B24C0
/* 11BA58 802B2448 00000000 */ nop
/* 11BA5C 802B244C 85CEF6EA */ lh $t6, %lo(D_8015F6EA)($t6)
/* 11BA60 802B2450 C6000018 */ lwc1 $f0, 0x18($s0)
/* 11BA64 802B2454 3C0F8016 */ lui $t7, %hi(D_8015F6E8) # $t7, 0x8016
/* 11BA68 802B2458 448E2000 */ mtc1 $t6, $f4
/* 11BA6C 802B245C 00000000 */ nop
/* 11BA70 802B2460 468021A0 */ cvt.s.w $f6, $f4
/* 11BA74 802B2464 4606003C */ c.lt.s $f0, $f6
/* 11BA78 802B2468 00000000 */ nop
/* 11BA7C 802B246C 45010014 */ bc1t .L802B24C0
/* 11BA80 802B2470 00000000 */ nop
/* 11BA84 802B2474 85EFF6E8 */ lh $t7, %lo(D_8015F6E8)($t7)
/* 11BA88 802B2478 3C188016 */ lui $t8, %hi(D_8015F6EE) # $t8, 0x8016
/* 11BA8C 802B247C 448F4000 */ mtc1 $t7, $f8
/* 11BA90 802B2480 00000000 */ nop
/* 11BA94 802B2484 468042A0 */ cvt.s.w $f10, $f8
/* 11BA98 802B2488 4600503C */ c.lt.s $f10, $f0
/* 11BA9C 802B248C 00000000 */ nop
/* 11BAA0 802B2490 4501000B */ bc1t .L802B24C0
/* 11BAA4 802B2494 00000000 */ nop
/* 11BAA8 802B2498 8718F6EE */ lh $t8, %lo(D_8015F6EE)($t8)
/* 11BAAC 802B249C C602001C */ lwc1 $f2, 0x1c($s0)
/* 11BAB0 802B24A0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11BAB4 802B24A4 44982000 */ mtc1 $t8, $f4
/* 11BAB8 802B24A8 00000000 */ nop
/* 11BABC 802B24AC 468021A0 */ cvt.s.w $f6, $f4
/* 11BAC0 802B24B0 4606103C */ c.lt.s $f2, $f6
/* 11BAC4 802B24B4 00000000 */ nop
/* 11BAC8 802B24B8 45020006 */ bc1fl .L802B24D4
/* 11BACC 802B24BC C608000C */ lwc1 $f8, 0xc($s0)
.L802B24C0:
/* 11BAD0 802B24C0 0C0A7F72 */ jal func_8029FDC8
/* 11BAD4 802B24C4 02002025 */ move $a0, $s0
/* 11BAD8 802B24C8 1000010E */ b .L802B2904
/* 11BADC 802B24CC 8FBF0024 */ lw $ra, 0x24($sp)
/* 11BAE0 802B24D0 C608000C */ lwc1 $f8, 0xc($s0)
.L802B24D4:
/* 11BAE4 802B24D4 44815000 */ mtc1 $at, $f10
/* 11BAE8 802B24D8 44060000 */ mfc1 $a2, $f0
/* 11BAEC 802B24DC 44071000 */ mfc1 $a3, $f2
/* 11BAF0 802B24E0 460A4100 */ add.s $f4, $f8, $f10
/* 11BAF4 802B24E4 E7AC0010 */ swc1 $f12, 0x10($sp)
/* 11BAF8 802B24E8 26040030 */ addiu $a0, $s0, 0x30
/* 11BAFC 802B24EC 44052000 */ mfc1 $a1, $f4
/* 11BB00 802B24F0 0C0AB772 */ jal func_802ADDC8
/* 11BB04 802B24F4 00000000 */ nop
/* 11BB08 802B24F8 24190001 */ li $t9, 1
/* 11BB0C 802B24FC 3328FFFF */ andi $t0, $t9, 0xffff
/* 11BB10 802B2500 110000FF */ beqz $t0, .L802B2900
/* 11BB14 802B2504 A6190034 */ sh $t9, 0x34($s0)
/* 11BB18 802B2508 C6060044 */ lwc1 $f6, 0x44($s0)
/* 11BB1C 802B250C 44804000 */ mtc1 $zero, $f8
/* 11BB20 802B2510 00000000 */ nop
/* 11BB24 802B2514 4608303C */ c.lt.s $f6, $f8
/* 11BB28 802B2518 00000000 */ nop
/* 11BB2C 802B251C 450200F9 */ bc1fl .L802B2904
/* 11BB30 802B2520 8FBF0024 */ lw $ra, 0x24($sp)
/* 11BB34 802B2524 C60A0060 */ lwc1 $f10, 0x60($s0)
/* 11BB38 802B2528 240B0004 */ li $t3, 4
/* 11BB3C 802B252C 46005107 */ neg.s $f4, $f10
/* 11BB40 802B2530 E7A40074 */ swc1 $f4, 0x74($sp)
/* 11BB44 802B2534 C6060064 */ lwc1 $f6, 0x64($s0)
/* 11BB48 802B2538 46003207 */ neg.s $f8, $f6
/* 11BB4C 802B253C E7A80078 */ swc1 $f8, 0x78($sp)
/* 11BB50 802B2540 C60A0068 */ lwc1 $f10, 0x68($s0)
/* 11BB54 802B2544 C7A80074 */ lwc1 $f8, 0x74($sp)
/* 11BB58 802B2548 46005107 */ neg.s $f4, $f10
/* 11BB5C 802B254C E7A4007C */ swc1 $f4, 0x7c($sp)
/* 11BB60 802B2550 C6000044 */ lwc1 $f0, 0x44($s0)
/* 11BB64 802B2554 C6060018 */ lwc1 $f6, 0x18($s0)
/* 11BB68 802B2558 86090002 */ lh $t1, 2($s0)
/* 11BB6C 802B255C 46004282 */ mul.s $f10, $f8, $f0
/* 11BB70 802B2560 C608001C */ lwc1 $f8, 0x1c($s0)
/* 11BB74 802B2564 312AEFFF */ andi $t2, $t1, 0xefff
/* 11BB78 802B2568 460A3100 */ add.s $f4, $f6, $f10
/* 11BB7C 802B256C E6040018 */ swc1 $f4, 0x18($s0)
/* 11BB80 802B2570 C7A60078 */ lwc1 $f6, 0x78($sp)
/* 11BB84 802B2574 46003282 */ mul.s $f10, $f6, $f0
/* 11BB88 802B2578 C6060020 */ lwc1 $f6, 0x20($s0)
/* 11BB8C 802B257C 460A4100 */ add.s $f4, $f8, $f10
/* 11BB90 802B2580 E604001C */ swc1 $f4, 0x1c($s0)
/* 11BB94 802B2584 C7A8007C */ lwc1 $f8, 0x7c($sp)
/* 11BB98 802B2588 A60A0002 */ sh $t2, 2($s0)
/* 11BB9C 802B258C A60B0006 */ sh $t3, 6($s0)
/* 11BBA0 802B2590 46004282 */ mul.s $f10, $f8, $f0
/* 11BBA4 802B2594 460A3100 */ add.s $f4, $f6, $f10
/* 11BBA8 802B2598 100000D9 */ b .L802B2900
/* 11BBAC 802B259C E6040020 */ swc1 $f4, 0x20($s0)
glabel L802B25A0
/* 11BBB0 802B25A0 44800000 */ mtc1 $zero, $f0
/* 11BBB4 802B25A4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000
/* 11BBB8 802B25A8 44811000 */ mtc1 $at, $f2
/* 11BBBC 802B25AC E7A00068 */ swc1 $f0, 0x68($sp)
/* 11BBC0 802B25B0 E7A0006C */ swc1 $f0, 0x6c($sp)
/* 11BBC4 802B25B4 E7A20070 */ swc1 $f2, 0x70($sp)
/* 11BBC8 802B25B8 844D00C0 */ lh $t5, 0xc0($v0)
/* 11BBCC 802B25BC 844C002E */ lh $t4, 0x2e($v0)
/* 11BBD0 802B25C0 AFA20088 */ sw $v0, 0x88($sp)
/* 11BBD4 802B25C4 27A40068 */ addiu $a0, $sp, 0x68
/* 11BBD8 802B25C8 018D2821 */ addu $a1, $t4, $t5
/* 11BBDC 802B25CC 00057400 */ sll $t6, $a1, 0x10
/* 11BBE0 802B25D0 0C0AD931 */ jal func_802B64C4
/* 11BBE4 802B25D4 000E2C03 */ sra $a1, $t6, 0x10
/* 11BBE8 802B25D8 8FA20088 */ lw $v0, 0x88($sp)
/* 11BBEC 802B25DC C7A80068 */ lwc1 $f8, 0x68($sp)
/* 11BBF0 802B25E0 C7AA006C */ lwc1 $f10, 0x6c($sp)
/* 11BBF4 802B25E4 C4460014 */ lwc1 $f6, 0x14($v0)
/* 11BBF8 802B25E8 C4440018 */ lwc1 $f4, 0x18($v0)
/* 11BBFC 802B25EC 46064480 */ add.s $f18, $f8, $f6
/* 11BC00 802B25F0 C7A80070 */ lwc1 $f8, 0x70($sp)
/* 11BC04 802B25F4 C446001C */ lwc1 $f6, 0x1c($v0)
/* 11BC08 802B25F8 46045000 */ add.s $f0, $f10, $f4
/* 11BC0C 802B25FC 46064280 */ add.s $f10, $f8, $f6
/* 11BC10 802B2600 E7AA0034 */ swc1 $f10, 0x34($sp)
/* 11BC14 802B2604 C6040018 */ lwc1 $f4, 0x18($s0)
/* 11BC18 802B2608 C608001C */ lwc1 $f8, 0x1c($s0)
/* 11BC1C 802B260C C6060020 */ lwc1 $f6, 0x20($s0)
/* 11BC20 802B2610 46049081 */ sub.s $f2, $f18, $f4
/* 11BC24 802B2614 E7B2003C */ swc1 $f18, 0x3c($sp)
/* 11BC28 802B2618 E7A00038 */ swc1 $f0, 0x38($sp)
/* 11BC2C 802B261C 46080381 */ sub.s $f14, $f0, $f8
/* 11BC30 802B2620 46021102 */ mul.s $f4, $f2, $f2
/* 11BC34 802B2624 E7A20048 */ swc1 $f2, 0x48($sp)
/* 11BC38 802B2628 46065401 */ sub.s $f16, $f10, $f6
/* 11BC3C 802B262C 460E7202 */ mul.s $f8, $f14, $f14
/* 11BC40 802B2630 E7AE0044 */ swc1 $f14, 0x44($sp)
/* 11BC44 802B2634 46108182 */ mul.s $f6, $f16, $f16
/* 11BC48 802B2638 E7B00040 */ swc1 $f16, 0x40($sp)
/* 11BC4C 802B263C 46082280 */ add.s $f10, $f4, $f8
/* 11BC50 802B2640 0C033850 */ jal sqrtf
/* 11BC54 802B2644 46065300 */ add.s $f12, $f10, $f6
/* 11BC58 802B2648 44802000 */ mtc1 $zero, $f4
/* 11BC5C 802B264C 8FA20088 */ lw $v0, 0x88($sp)
/* 11BC60 802B2650 C7A20048 */ lwc1 $f2, 0x48($sp)
/* 11BC64 802B2654 46040032 */ c.eq.s $f0, $f4
/* 11BC68 802B2658 C7AE0044 */ lwc1 $f14, 0x44($sp)
/* 11BC6C 802B265C C7B00040 */ lwc1 $f16, 0x40($sp)
/* 11BC70 802B2660 C7B2003C */ lwc1 $f18, 0x3c($sp)
/* 11BC74 802B2664 4500000C */ bc1f .L802B2698
/* 11BC78 802B2668 3C01802C */ lui $at, %hi(D_802B9EE8) # $at, 0x802c
/* 11BC7C 802B266C C4209EE8 */ lwc1 $f0, %lo(D_802B9EE8)($at)
/* 11BC80 802B2670 C4480014 */ lwc1 $f8, 0x14($v0)
/* 11BC84 802B2674 46004280 */ add.s $f10, $f8, $f0
/* 11BC88 802B2678 E60A0018 */ swc1 $f10, 0x18($s0)
/* 11BC8C 802B267C C4460018 */ lwc1 $f6, 0x18($v0)
/* 11BC90 802B2680 46003100 */ add.s $f4, $f6, $f0
/* 11BC94 802B2684 E604001C */ swc1 $f4, 0x1c($s0)
/* 11BC98 802B2688 C448001C */ lwc1 $f8, 0x1c($v0)
/* 11BC9C 802B268C 46004280 */ add.s $f10, $f8, $f0
/* 11BCA0 802B2690 10000011 */ b .L802B26D8
/* 11BCA4 802B2694 E60A0020 */ swc1 $f10, 0x20($s0)
.L802B2698:
/* 11BCA8 802B2698 46001083 */ div.s $f2, $f2, $f0
/* 11BCAC 802B269C C7A60068 */ lwc1 $f6, 0x68($sp)
/* 11BCB0 802B26A0 3C014000 */ li $at, 0x40000000 # 2.000000
/* 11BCB4 802B26A4 46007383 */ div.s $f14, $f14, $f0
/* 11BCB8 802B26A8 46029101 */ sub.s $f4, $f18, $f2
/* 11BCBC 802B26AC 46043200 */ add.s $f8, $f6, $f4
/* 11BCC0 802B26B0 44812000 */ mtc1 $at, $f4
/* 11BCC4 802B26B4 E6080018 */ swc1 $f8, 0x18($s0)
/* 11BCC8 802B26B8 C7AA0038 */ lwc1 $f10, 0x38($sp)
/* 11BCCC 802B26BC 46008403 */ div.s $f16, $f16, $f0
/* 11BCD0 802B26C0 460E5181 */ sub.s $f6, $f10, $f14
/* 11BCD4 802B26C4 46043201 */ sub.s $f8, $f6, $f4
/* 11BCD8 802B26C8 E608001C */ swc1 $f8, 0x1c($s0)
/* 11BCDC 802B26CC C7AA0034 */ lwc1 $f10, 0x34($sp)
/* 11BCE0 802B26D0 46105181 */ sub.s $f6, $f10, $f16
/* 11BCE4 802B26D4 E6060020 */ swc1 $f6, 0x20($s0)
.L802B26D8:
/* 11BCE8 802B26D8 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11BCEC 802B26DC 44814000 */ mtc1 $at, $f8
/* 11BCF0 802B26E0 C604000C */ lwc1 $f4, 0xc($s0)
/* 11BCF4 802B26E4 C6060020 */ lwc1 $f6, 0x20($s0)
/* 11BCF8 802B26E8 8E060018 */ lw $a2, 0x18($s0)
/* 11BCFC 802B26EC 46082280 */ add.s $f10, $f4, $f8
/* 11BD00 802B26F0 8E07001C */ lw $a3, 0x1c($s0)
/* 11BD04 802B26F4 26040030 */ addiu $a0, $s0, 0x30
/* 11BD08 802B26F8 E7A60010 */ swc1 $f6, 0x10($sp)
/* 11BD0C 802B26FC 44055000 */ mfc1 $a1, $f10
/* 11BD10 802B2700 0C0AB772 */ jal func_802ADDC8
/* 11BD14 802B2704 00000000 */ nop
/* 11BD18 802B2708 0C0AD38C */ jal func_802B4E30
/* 11BD1C 802B270C 02002025 */ move $a0, $s0
/* 11BD20 802B2710 1000007C */ b .L802B2904
/* 11BD24 802B2714 8FBF0024 */ lw $ra, 0x24($sp)
glabel L802B2718
/* 11BD28 802B2718 86180012 */ lh $t8, 0x12($s0)
/* 11BD2C 802B271C 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11BD30 802B2720 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11BD34 802B2724 0018C8C0 */ sll $t9, $t8, 3
/* 11BD38 802B2728 0338C823 */ subu $t9, $t9, $t8
/* 11BD3C 802B272C 0019C900 */ sll $t9, $t9, 4
/* 11BD40 802B2730 03281021 */ addu $v0, $t9, $t0
/* 11BD44 802B2734 C4440018 */ lwc1 $f4, 0x18($v0)
/* 11BD48 802B2738 C6080018 */ lwc1 $f8, 0x18($s0)
/* 11BD4C 802B273C C44A001C */ lwc1 $f10, 0x1c($v0)
/* 11BD50 802B2740 C606001C */ lwc1 $f6, 0x1c($s0)
/* 11BD54 802B2744 46082081 */ sub.s $f2, $f4, $f8
/* 11BD58 802B2748 C6080020 */ lwc1 $f8, 0x20($s0)
/* 11BD5C 802B274C C4440020 */ lwc1 $f4, 0x20($v0)
/* 11BD60 802B2750 46065381 */ sub.s $f14, $f10, $f6
/* 11BD64 802B2754 46021282 */ mul.s $f10, $f2, $f2
/* 11BD68 802B2758 E7A20048 */ swc1 $f2, 0x48($sp)
/* 11BD6C 802B275C 46082401 */ sub.s $f16, $f4, $f8
/* 11BD70 802B2760 460E7182 */ mul.s $f6, $f14, $f14
/* 11BD74 802B2764 E7AE0044 */ swc1 $f14, 0x44($sp)
/* 11BD78 802B2768 AFA20084 */ sw $v0, 0x84($sp)
/* 11BD7C 802B276C 46108202 */ mul.s $f8, $f16, $f16
/* 11BD80 802B2770 E7B00040 */ swc1 $f16, 0x40($sp)
/* 11BD84 802B2774 46065100 */ add.s $f4, $f10, $f6
/* 11BD88 802B2778 0C033850 */ jal sqrtf
/* 11BD8C 802B277C 46082300 */ add.s $f12, $f4, $f8
/* 11BD90 802B2780 3C0140A0 */ li $at, 0x40A00000 # 5.000000
/* 11BD94 802B2784 44815000 */ mtc1 $at, $f10
/* 11BD98 802B2788 44803000 */ mtc1 $zero, $f6
/* 11BD9C 802B278C 8FA20084 */ lw $v0, 0x84($sp)
/* 11BDA0 802B2790 460A0303 */ div.s $f12, $f0, $f10
/* 11BDA4 802B2794 C7A20048 */ lwc1 $f2, 0x48($sp)
/* 11BDA8 802B2798 C7AE0044 */ lwc1 $f14, 0x44($sp)
/* 11BDAC 802B279C C7B00040 */ lwc1 $f16, 0x40($sp)
/* 11BDB0 802B27A0 3C01802C */ lui $at, %hi(D_802B9EEC) # $at, 0x802c
/* 11BDB4 802B27A4 460C3032 */ c.eq.s $f6, $f12
/* 11BDB8 802B27A8 00000000 */ nop
/* 11BDBC 802B27AC 4502000D */ bc1fl .L802B27E4
/* 11BDC0 802B27B0 460C1083 */ div.s $f2, $f2, $f12
/* 11BDC4 802B27B4 C4209EEC */ lwc1 $f0, %lo(D_802B9EEC)($at)
/* 11BDC8 802B27B8 C4440018 */ lwc1 $f4, 0x18($v0)
/* 11BDCC 802B27BC 46002200 */ add.s $f8, $f4, $f0
/* 11BDD0 802B27C0 E6080018 */ swc1 $f8, 0x18($s0)
/* 11BDD4 802B27C4 C44A001C */ lwc1 $f10, 0x1c($v0)
/* 11BDD8 802B27C8 46005180 */ add.s $f6, $f10, $f0
/* 11BDDC 802B27CC E606001C */ swc1 $f6, 0x1c($s0)
/* 11BDE0 802B27D0 C4440020 */ lwc1 $f4, 0x20($v0)
/* 11BDE4 802B27D4 46002200 */ add.s $f8, $f4, $f0
/* 11BDE8 802B27D8 10000010 */ b .L802B281C
/* 11BDEC 802B27DC E6080020 */ swc1 $f8, 0x20($s0)
/* 11BDF0 802B27E0 460C1083 */ div.s $f2, $f2, $f12
.L802B27E4:
/* 11BDF4 802B27E4 C44A0018 */ lwc1 $f10, 0x18($v0)
/* 11BDF8 802B27E8 3C014000 */ li $at, 0x40000000 # 2.000000
/* 11BDFC 802B27EC 460C7383 */ div.s $f14, $f14, $f12
/* 11BE00 802B27F0 46025181 */ sub.s $f6, $f10, $f2
/* 11BE04 802B27F4 44815000 */ mtc1 $at, $f10
/* 11BE08 802B27F8 E6060018 */ swc1 $f6, 0x18($s0)
/* 11BE0C 802B27FC C444001C */ lwc1 $f4, 0x1c($v0)
/* 11BE10 802B2800 460C8403 */ div.s $f16, $f16, $f12
/* 11BE14 802B2804 460E2201 */ sub.s $f8, $f4, $f14
/* 11BE18 802B2808 460A4181 */ sub.s $f6, $f8, $f10
/* 11BE1C 802B280C E606001C */ swc1 $f6, 0x1c($s0)
/* 11BE20 802B2810 C4440020 */ lwc1 $f4, 0x20($v0)
/* 11BE24 802B2814 46102201 */ sub.s $f8, $f4, $f16
/* 11BE28 802B2818 E6080020 */ swc1 $f8, 0x20($s0)
.L802B281C:
/* 11BE2C 802B281C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11BE30 802B2820 44813000 */ mtc1 $at, $f6
/* 11BE34 802B2824 C60A000C */ lwc1 $f10, 0xc($s0)
/* 11BE38 802B2828 C6080020 */ lwc1 $f8, 0x20($s0)
/* 11BE3C 802B282C 8E060018 */ lw $a2, 0x18($s0)
/* 11BE40 802B2830 46065100 */ add.s $f4, $f10, $f6
/* 11BE44 802B2834 8E07001C */ lw $a3, 0x1c($s0)
/* 11BE48 802B2838 26040030 */ addiu $a0, $s0, 0x30
/* 11BE4C 802B283C E7A80010 */ swc1 $f8, 0x10($sp)
/* 11BE50 802B2840 44052000 */ mfc1 $a1, $f4
/* 11BE54 802B2844 0C0AB772 */ jal func_802ADDC8
/* 11BE58 802B2848 00000000 */ nop
/* 11BE5C 802B284C 0C0AD38C */ jal func_802B4E30
/* 11BE60 802B2850 02002025 */ move $a0, $s0
/* 11BE64 802B2854 1000002B */ b .L802B2904
/* 11BE68 802B2858 8FBF0024 */ lw $ra, 0x24($sp)
glabel L802B285C
/* 11BE6C 802B285C 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000
/* 11BE70 802B2860 44811000 */ mtc1 $at, $f2
/* 11BE74 802B2864 3C01802C */ lui $at, %hi(D_802B9EF0) # $at, 0x802c
/* 11BE78 802B2868 C4269EF0 */ lwc1 $f6, %lo(D_802B9EF0)($at)
/* 11BE7C 802B286C C60A0028 */ lwc1 $f10, 0x28($s0)
/* 11BE80 802B2870 46065101 */ sub.s $f4, $f10, $f6
/* 11BE84 802B2874 E6040028 */ swc1 $f4, 0x28($s0)
/* 11BE88 802B2878 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11BE8C 802B287C 4602003C */ c.lt.s $f0, $f2
/* 11BE90 802B2880 00000000 */ nop
/* 11BE94 802B2884 45020004 */ bc1fl .L802B2898
/* 11BE98 802B2888 860F0004 */ lh $t7, 4($s0)
/* 11BE9C 802B288C E6020028 */ swc1 $f2, 0x28($s0)
/* 11BEA0 802B2890 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11BEA4 802B2894 860F0004 */ lh $t7, 4($s0)
.L802B2898:
/* 11BEA8 802B2898 C608001C */ lwc1 $f8, 0x1c($s0)
/* 11BEAC 802B289C 86090010 */ lh $t1, 0x10($s0)
/* 11BEB0 802B28A0 25F8FFFF */ addiu $t8, $t7, -1
/* 11BEB4 802B28A4 860B0012 */ lh $t3, 0x12($s0)
/* 11BEB8 802B28A8 860D0014 */ lh $t5, 0x14($s0)
/* 11BEBC 802B28AC A6180004 */ sh $t8, 4($s0)
/* 11BEC0 802B28B0 46004280 */ add.s $f10, $f8, $f0
/* 11BEC4 802B28B4 86190004 */ lh $t9, 4($s0)
/* 11BEC8 802B28B8 252A016C */ addiu $t2, $t1, 0x16c
/* 11BECC 802B28BC 256CFA50 */ addiu $t4, $t3, -0x5b0
/* 11BED0 802B28C0 25AE038E */ addiu $t6, $t5, 0x38e
/* 11BED4 802B28C4 E60A001C */ swc1 $f10, 0x1c($s0)
/* 11BED8 802B28C8 A60A0010 */ sh $t2, 0x10($s0)
/* 11BEDC 802B28CC A60C0012 */ sh $t4, 0x12($s0)
/* 11BEE0 802B28D0 1720000B */ bnez $t9, .L802B2900
/* 11BEE4 802B28D4 A60E0014 */ sh $t6, 0x14($s0)
/* 11BEE8 802B28D8 0C0A7A15 */ jal func_8029E854
/* 11BEEC 802B28DC 02002025 */ move $a0, $s0
/* 11BEF0 802B28E0 10000008 */ b .L802B2904
/* 11BEF4 802B28E4 8FBF0024 */ lw $ra, 0x24($sp)
glabel L802B28E8
/* 11BEF8 802B28E8 86080002 */ lh $t0, 2($s0)
/* 11BEFC 802B28EC 3509C000 */ ori $t1, $t0, 0xc000
/* 11BF00 802B28F0 A6090002 */ sh $t1, 2($s0)
/* 11BF04 802B28F4 860A0002 */ lh $t2, 2($s0)
/* 11BF08 802B28F8 314BEFFF */ andi $t3, $t2, 0xefff
/* 11BF0C 802B28FC A60B0002 */ sh $t3, 2($s0)
.L802B2900:
/* 11BF10 802B2900 8FBF0024 */ lw $ra, 0x24($sp)
.L802B2904:
/* 11BF14 802B2904 8FB00020 */ lw $s0, 0x20($sp)
/* 11BF18 802B2908 27BD0090 */ addiu $sp, $sp, 0x90
/* 11BF1C 802B290C 03E00008 */ jr $ra
/* 11BF20 802B2910 00000000 */ nop
glabel func_802B2914
/* 11BF24 802B2914 27BDFF90 */ addiu $sp, $sp, -0x70
/* 11BF28 802B2918 44802000 */ mtc1 $zero, $f4
/* 11BF2C 802B291C AFBF0034 */ sw $ra, 0x34($sp)
/* 11BF30 802B2920 AFB20030 */ sw $s2, 0x30($sp)
/* 11BF34 802B2924 AFB1002C */ sw $s1, 0x2c($sp)
/* 11BF38 802B2928 AFB00028 */ sw $s0, 0x28($sp)
/* 11BF3C 802B292C AFA60078 */ sw $a2, 0x78($sp)
/* 11BF40 802B2930 E7A4004C */ swc1 $f4, 0x4c($sp)
/* 11BF44 802B2934 C4A60070 */ lwc1 $f6, 0x70($a1)
/* 11BF48 802B2938 3C014080 */ li $at, 0x40800000 # 4.000000
/* 11BF4C 802B293C 44818000 */ mtc1 $at, $f16
/* 11BF50 802B2940 46003207 */ neg.s $f8, $f6
/* 11BF54 802B2944 27B0004C */ addiu $s0, $sp, 0x4c
/* 11BF58 802B2948 E7A80050 */ swc1 $f8, 0x50($sp)
/* 11BF5C 802B294C C4AA0070 */ lwc1 $f10, 0x70($a1)
/* 11BF60 802B2950 00A08825 */ move $s1, $a1
/* 11BF64 802B2954 00809025 */ move $s2, $a0
/* 11BF68 802B2958 46105480 */ add.s $f18, $f10, $f16
/* 11BF6C 802B295C 02002025 */ move $a0, $s0
/* 11BF70 802B2960 24A50174 */ addiu $a1, $a1, 0x174
/* 11BF74 802B2964 46009107 */ neg.s $f4, $f18
/* 11BF78 802B2968 0C0AD8EE */ jal func_802B63B8
/* 11BF7C 802B296C E7A40054 */ swc1 $f4, 0x54($sp)
/* 11BF80 802B2970 C7A6004C */ lwc1 $f6, 0x4c($sp)
/* 11BF84 802B2974 C6280014 */ lwc1 $f8, 0x14($s1)
/* 11BF88 802B2978 C7B00050 */ lwc1 $f16, 0x50($sp)
/* 11BF8C 802B297C 02002025 */ move $a0, $s0
/* 11BF90 802B2980 46083280 */ add.s $f10, $f6, $f8
/* 11BF94 802B2984 C7A60054 */ lwc1 $f6, 0x54($sp)
/* 11BF98 802B2988 27A50058 */ addiu $a1, $sp, 0x58
/* 11BF9C 802B298C 27A60060 */ addiu $a2, $sp, 0x60
/* 11BFA0 802B2990 E7AA004C */ swc1 $f10, 0x4c($sp)
/* 11BFA4 802B2994 C6320018 */ lwc1 $f18, 0x18($s1)
/* 11BFA8 802B2998 24070006 */ li $a3, 6
/* 11BFAC 802B299C 46128100 */ add.s $f4, $f16, $f18
/* 11BFB0 802B29A0 E7A40050 */ swc1 $f4, 0x50($sp)
/* 11BFB4 802B29A4 C628001C */ lwc1 $f8, 0x1c($s1)
/* 11BFB8 802B29A8 46083280 */ add.s $f10, $f6, $f8
/* 11BFBC 802B29AC E7AA0054 */ swc1 $f10, 0x54($sp)
/* 11BFC0 802B29B0 C6300034 */ lwc1 $f16, 0x34($s1)
/* 11BFC4 802B29B4 E7B00060 */ swc1 $f16, 0x60($sp)
/* 11BFC8 802B29B8 C6320038 */ lwc1 $f18, 0x38($s1)
/* 11BFCC 802B29BC E7B20064 */ swc1 $f18, 0x64($sp)
/* 11BFD0 802B29C0 C624003C */ lwc1 $f4, 0x3c($s1)
/* 11BFD4 802B29C4 A7A00058 */ sh $zero, 0x58($sp)
/* 11BFD8 802B29C8 A7A0005A */ sh $zero, 0x5a($sp)
/* 11BFDC 802B29CC A7A0005C */ sh $zero, 0x5c($sp)
/* 11BFE0 802B29D0 0C0A7B22 */ jal func_8029EC88
/* 11BFE4 802B29D4 E7A40068 */ swc1 $f4, 0x68($sp)
/* 11BFE8 802B29D8 00021C00 */ sll $v1, $v0, 0x10
/* 11BFEC 802B29DC 04400092 */ bltz $v0, .L802B2C28
/* 11BFF0 802B29E0 00037403 */ sra $t6, $v1, 0x10
/* 11BFF4 802B29E4 24090070 */ li $t1, 112
/* 11BFF8 802B29E8 01C90019 */ multu $t6, $t1
/* 11BFFC 802B29EC C6260014 */ lwc1 $f6, 0x14($s1)
/* 11C000 802B29F0 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11C004 802B29F4 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11C008 802B29F8 E7A6004C */ swc1 $f6, 0x4c($sp)
/* 11C00C 802B29FC C6280018 */ lwc1 $f8, 0x18($s1)
/* 11C010 802B2A00 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 11C014 802B2A04 44819000 */ mtc1 $at, $f18
/* 11C018 802B2A08 E7A80050 */ swc1 $f8, 0x50($sp)
/* 11C01C 802B2A0C C62A001C */ lwc1 $f10, 0x1c($s1)
/* 11C020 802B2A10 00007812 */ mflo $t7
/* 11C024 802B2A14 010F8021 */ addu $s0, $t0, $t7
/* 11C028 802B2A18 C610000C */ lwc1 $f16, 0xc($s0)
/* 11C02C 802B2A1C E7AA0054 */ swc1 $f10, 0x54($sp)
/* 11C030 802B2A20 C7AA0050 */ lwc1 $f10, 0x50($sp)
/* 11C034 802B2A24 46128100 */ add.s $f4, $f16, $f18
/* 11C038 802B2A28 C7B00054 */ lwc1 $f16, 0x54($sp)
/* 11C03C 802B2A2C C6060020 */ lwc1 $f6, 0x20($s0)
/* 11C040 802B2A30 C7A8004C */ lwc1 $f8, 0x4c($sp)
/* 11C044 802B2A34 44052000 */ mfc1 $a1, $f4
/* 11C048 802B2A38 26040030 */ addiu $a0, $s0, 0x30
/* 11C04C 802B2A3C 8E060018 */ lw $a2, 0x18($s0)
/* 11C050 802B2A40 8E07001C */ lw $a3, 0x1c($s0)
/* 11C054 802B2A44 A7AE006E */ sh $t6, 0x6e($sp)
/* 11C058 802B2A48 E7AA0018 */ swc1 $f10, 0x18($sp)
/* 11C05C 802B2A4C E7B0001C */ swc1 $f16, 0x1c($sp)
/* 11C060 802B2A50 E7A60010 */ swc1 $f6, 0x10($sp)
/* 11C064 802B2A54 0C0AB654 */ jal func_802AD950
/* 11C068 802B2A58 E7A80014 */ swc1 $f8, 0x14($sp)
/* 11C06C 802B2A5C 0C0AD38C */ jal func_802B4E30
/* 11C070 802B2A60 02002025 */ move $a0, $s0
/* 11C074 802B2A64 3C06800E */ lui $a2, %hi(D_800DC4DC) # $a2, 0x800e
/* 11C078 802B2A68 24C6C4DC */ addiu $a2, %lo(D_800DC4DC) # addiu $a2, $a2, -0x3b24
/* 11C07C 802B2A6C 8CD90000 */ lw $t9, ($a2)
/* 11C080 802B2A70 24070DD8 */ li $a3, 3544
/* 11C084 802B2A74 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11C088 802B2A78 02395023 */ subu $t2, $s1, $t9
/* 11C08C 802B2A7C 0147001A */ div $zero, $t2, $a3
/* 11C090 802B2A80 00005812 */ mflo $t3
/* 11C094 802B2A84 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11C098 802B2A88 02486023 */ subu $t4, $s2, $t0
/* 11C09C 802B2A8C 87A4007A */ lh $a0, 0x7a($sp)
/* 11C0A0 802B2A90 2402FFFF */ li $v0, -1
/* 11C0A4 802B2A94 24189000 */ li $t8, -28672
/* 11C0A8 802B2A98 240E0014 */ li $t6, 20
/* 11C0AC 802B2A9C 87A3006E */ lh $v1, 0x6e($sp)
/* 11C0B0 802B2AA0 24090070 */ li $t1, 112
/* 11C0B4 802B2AA4 A6180002 */ sh $t8, 2($s0)
/* 11C0B8 802B2AA8 14E00002 */ bnez $a3, .L802B2AB4
/* 11C0BC 802B2AAC 00000000 */ nop
/* 11C0C0 802B2AB0 0007000D */ break 7
.L802B2AB4:
/* 11C0C4 802B2AB4 2401FFFF */ li $at, -1
/* 11C0C8 802B2AB8 14E10004 */ bne $a3, $at, .L802B2ACC
/* 11C0CC 802B2ABC 3C018000 */ lui $at, 0x8000
/* 11C0D0 802B2AC0 15410002 */ bne $t2, $at, .L802B2ACC
/* 11C0D4 802B2AC4 00000000 */ nop
/* 11C0D8 802B2AC8 0006000D */ break 6
.L802B2ACC:
/* 11C0DC 802B2ACC 24010070 */ li $at, 112
/* 11C0E0 802B2AD0 0181001A */ div $zero, $t4, $at
/* 11C0E4 802B2AD4 00006812 */ mflo $t5
/* 11C0E8 802B2AD8 2C810005 */ sltiu $at, $a0, 5
/* 11C0EC 802B2ADC A60B0010 */ sh $t3, 0x10($s0)
/* 11C0F0 802B2AE0 A60D0008 */ sh $t5, 8($s0)
/* 11C0F4 802B2AE4 A6020014 */ sh $v0, 0x14($s0)
/* 11C0F8 802B2AE8 A60E0004 */ sh $t6, 4($s0)
/* 11C0FC 802B2AEC 10200037 */ beqz $at, .L802B2BCC
/* 11C100 802B2AF0 A604000A */ sh $a0, 0xa($s0)
/* 11C104 802B2AF4 00047880 */ sll $t7, $a0, 2
/* 11C108 802B2AF8 3C01802C */ lui $at, %hi(D_802B9EF4)
/* 11C10C 802B2AFC 002F0821 */ addu $at, $at, $t7
/* 11C110 802B2B00 8C2F9EF4 */ lw $t7, %lo(D_802B9EF4)($at)
/* 11C114 802B2B04 01E00008 */ jr $t7
/* 11C118 802B2B08 00000000 */ nop
glabel L802B2B0C
/* 11C11C 802B2B0C 24180002 */ li $t8, 2
/* 11C120 802B2B10 A6180006 */ sh $t8, 6($s0)
/* 11C124 802B2B14 A6430012 */ sh $v1, 0x12($s2)
/* 11C128 802B2B18 1000002C */ b .L802B2BCC
/* 11C12C 802B2B1C A6020012 */ sh $v0, 0x12($s0)
glabel L802B2B20
/* 11C130 802B2B20 24190003 */ li $t9, 3
/* 11C134 802B2B24 A6190006 */ sh $t9, 6($s0)
/* 11C138 802B2B28 864A0012 */ lh $t2, 0x12($s2)
/* 11C13C 802B2B2C A6430014 */ sh $v1, 0x14($s2)
/* 11C140 802B2B30 A60A0012 */ sh $t2, 0x12($s0)
/* 11C144 802B2B34 864B0012 */ lh $t3, 0x12($s2)
/* 11C148 802B2B38 01690019 */ multu $t3, $t1
/* 11C14C 802B2B3C 00006012 */ mflo $t4
/* 11C150 802B2B40 010C1021 */ addu $v0, $t0, $t4
/* 11C154 802B2B44 10000021 */ b .L802B2BCC
/* 11C158 802B2B48 A4430014 */ sh $v1, 0x14($v0)
glabel L802B2B4C
/* 11C15C 802B2B4C 240D0003 */ li $t5, 3
/* 11C160 802B2B50 A60D0006 */ sh $t5, 6($s0)
/* 11C164 802B2B54 864E0014 */ lh $t6, 0x14($s2)
/* 11C168 802B2B58 A6430016 */ sh $v1, 0x16($s2)
/* 11C16C 802B2B5C A60E0012 */ sh $t6, 0x12($s0)
/* 11C170 802B2B60 864F0014 */ lh $t7, 0x14($s2)
/* 11C174 802B2B64 01E90019 */ multu $t7, $t1
/* 11C178 802B2B68 0000C012 */ mflo $t8
/* 11C17C 802B2B6C 01181021 */ addu $v0, $t0, $t8
/* 11C180 802B2B70 10000016 */ b .L802B2BCC
/* 11C184 802B2B74 A4430014 */ sh $v1, 0x14($v0)
glabel L802B2B78
/* 11C188 802B2B78 24190003 */ li $t9, 3
/* 11C18C 802B2B7C A6190006 */ sh $t9, 6($s0)
/* 11C190 802B2B80 864A0016 */ lh $t2, 0x16($s2)
/* 11C194 802B2B84 A6430018 */ sh $v1, 0x18($s2)
/* 11C198 802B2B88 A60A0012 */ sh $t2, 0x12($s0)
/* 11C19C 802B2B8C 864B0016 */ lh $t3, 0x16($s2)
/* 11C1A0 802B2B90 01690019 */ multu $t3, $t1
/* 11C1A4 802B2B94 00006012 */ mflo $t4
/* 11C1A8 802B2B98 010C1021 */ addu $v0, $t0, $t4
/* 11C1AC 802B2B9C 1000000B */ b .L802B2BCC
/* 11C1B0 802B2BA0 A4430014 */ sh $v1, 0x14($v0)
glabel L802B2BA4
/* 11C1B4 802B2BA4 240D0003 */ li $t5, 3
/* 11C1B8 802B2BA8 A60D0006 */ sh $t5, 6($s0)
/* 11C1BC 802B2BAC 864E0018 */ lh $t6, 0x18($s2)
/* 11C1C0 802B2BB0 A643001A */ sh $v1, 0x1a($s2)
/* 11C1C4 802B2BB4 A60E0012 */ sh $t6, 0x12($s0)
/* 11C1C8 802B2BB8 864F0018 */ lh $t7, 0x18($s2)
/* 11C1CC 802B2BBC 01E90019 */ multu $t7, $t1
/* 11C1D0 802B2BC0 0000C012 */ mflo $t8
/* 11C1D4 802B2BC4 01181021 */ addu $v0, $t0, $t8
/* 11C1D8 802B2BC8 A4430014 */ sh $v1, 0x14($v0)
.L802B2BCC:
/* 11C1DC 802B2BCC 96390000 */ lhu $t9, ($s1)
/* 11C1E0 802B2BD0 332A4000 */ andi $t2, $t9, 0x4000
/* 11C1E4 802B2BD4 51400015 */ beql $t2, $zero, .L802B2C2C
/* 11C1E8 802B2BD8 8FBF0034 */ lw $ra, 0x34($sp)
/* 11C1EC 802B2BDC 8CCB0000 */ lw $t3, ($a2)
/* 11C1F0 802B2BE0 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900
/* 11C1F4 802B2BE4 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012
/* 11C1F8 802B2BE8 022B6023 */ subu $t4, $s1, $t3
/* 11C1FC 802B2BEC 0187001A */ div $zero, $t4, $a3
/* 11C200 802B2BF0 00002012 */ mflo $a0
/* 11C204 802B2BF4 308D00FF */ andi $t5, $a0, 0xff
/* 11C208 802B2BF8 14E00002 */ bnez $a3, .L802B2C04
/* 11C20C 802B2BFC 00000000 */ nop
/* 11C210 802B2C00 0007000D */ break 7
.L802B2C04:
/* 11C214 802B2C04 2401FFFF */ li $at, -1
/* 11C218 802B2C08 14E10004 */ bne $a3, $at, .L802B2C1C
/* 11C21C 802B2C0C 3C018000 */ lui $at, 0x8000
/* 11C220 802B2C10 15810002 */ bne $t4, $at, .L802B2C1C
/* 11C224 802B2C14 00000000 */ nop
/* 11C228 802B2C18 0006000D */ break 6
.L802B2C1C:
/* 11C22C 802B2C1C 01A02025 */ move $a0, $t5
/* 11C230 802B2C20 0C032418 */ jal func_800C9060
/* 11C234 802B2C24 00000000 */ nop
.L802B2C28:
/* 11C238 802B2C28 8FBF0034 */ lw $ra, 0x34($sp)
.L802B2C2C:
/* 11C23C 802B2C2C 8FB00028 */ lw $s0, 0x28($sp)
/* 11C240 802B2C30 8FB1002C */ lw $s1, 0x2c($sp)
/* 11C244 802B2C34 8FB20030 */ lw $s2, 0x30($sp)
/* 11C248 802B2C38 03E00008 */ jr $ra
/* 11C24C 802B2C3C 27BD0070 */ addiu $sp, $sp, 0x70
glabel func_802B2C40
/* 11C250 802B2C40 44802000 */ mtc1 $zero, $f4
/* 11C254 802B2C44 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 11C258 802B2C48 AFBF001C */ sw $ra, 0x1c($sp)
/* 11C25C 802B2C4C AFB00018 */ sw $s0, 0x18($sp)
/* 11C260 802B2C50 E7A40024 */ swc1 $f4, 0x24($sp)
/* 11C264 802B2C54 C4860070 */ lwc1 $f6, 0x70($a0)
/* 11C268 802B2C58 3C014080 */ li $at, 0x40800000 # 4.000000
/* 11C26C 802B2C5C 44818000 */ mtc1 $at, $f16
/* 11C270 802B2C60 46003207 */ neg.s $f8, $f6
/* 11C274 802B2C64 00808025 */ move $s0, $a0
/* 11C278 802B2C68 E7A80028 */ swc1 $f8, 0x28($sp)
/* 11C27C 802B2C6C C48A0070 */ lwc1 $f10, 0x70($a0)
/* 11C280 802B2C70 27A40024 */ addiu $a0, $sp, 0x24
/* 11C284 802B2C74 26050174 */ addiu $a1, $s0, 0x174
/* 11C288 802B2C78 46105480 */ add.s $f18, $f10, $f16
/* 11C28C 802B2C7C 46009107 */ neg.s $f4, $f18
/* 11C290 802B2C80 0C0AD8EE */ jal func_802B63B8
/* 11C294 802B2C84 E7A4002C */ swc1 $f4, 0x2c($sp)
/* 11C298 802B2C88 C7A60024 */ lwc1 $f6, 0x24($sp)
/* 11C29C 802B2C8C C6080014 */ lwc1 $f8, 0x14($s0)
/* 11C2A0 802B2C90 C7B00028 */ lwc1 $f16, 0x28($sp)
/* 11C2A4 802B2C94 27A40024 */ addiu $a0, $sp, 0x24
/* 11C2A8 802B2C98 46083280 */ add.s $f10, $f6, $f8
/* 11C2AC 802B2C9C C7A6002C */ lwc1 $f6, 0x2c($sp)
/* 11C2B0 802B2CA0 27A50030 */ addiu $a1, $sp, 0x30
/* 11C2B4 802B2CA4 27A60038 */ addiu $a2, $sp, 0x38
/* 11C2B8 802B2CA8 E7AA0024 */ swc1 $f10, 0x24($sp)
/* 11C2BC 802B2CAC C6120018 */ lwc1 $f18, 0x18($s0)
/* 11C2C0 802B2CB0 2407000D */ li $a3, 13
/* 11C2C4 802B2CB4 46128100 */ add.s $f4, $f16, $f18
/* 11C2C8 802B2CB8 E7A40028 */ swc1 $f4, 0x28($sp)
/* 11C2CC 802B2CBC C608001C */ lwc1 $f8, 0x1c($s0)
/* 11C2D0 802B2CC0 46083280 */ add.s $f10, $f6, $f8
/* 11C2D4 802B2CC4 E7AA002C */ swc1 $f10, 0x2c($sp)
/* 11C2D8 802B2CC8 C6100034 */ lwc1 $f16, 0x34($s0)
/* 11C2DC 802B2CCC E7B00038 */ swc1 $f16, 0x38($sp)
/* 11C2E0 802B2CD0 C6120038 */ lwc1 $f18, 0x38($s0)
/* 11C2E4 802B2CD4 E7B2003C */ swc1 $f18, 0x3c($sp)
/* 11C2E8 802B2CD8 C604003C */ lwc1 $f4, 0x3c($s0)
/* 11C2EC 802B2CDC A7A00030 */ sh $zero, 0x30($sp)
/* 11C2F0 802B2CE0 A7A00032 */ sh $zero, 0x32($sp)
/* 11C2F4 802B2CE4 A7A00034 */ sh $zero, 0x34($sp)
/* 11C2F8 802B2CE8 0C0A7B22 */ jal func_8029EC88
/* 11C2FC 802B2CEC E7A40040 */ swc1 $f4, 0x40($sp)
/* 11C300 802B2CF0 00022400 */ sll $a0, $v0, 0x10
/* 11C304 802B2CF4 00047403 */ sra $t6, $a0, 0x10
/* 11C308 802B2CF8 04410003 */ bgez $v0, .L802B2D08
/* 11C30C 802B2CFC 01C02025 */ move $a0, $t6
/* 11C310 802B2D00 10000016 */ b .L802B2D5C
/* 11C314 802B2D04 01C01025 */ move $v0, $t6
.L802B2D08:
/* 11C318 802B2D08 3C19800E */ lui $t9, %hi(D_800DC4DC) # $t9, 0x800e
/* 11C31C 802B2D0C 8F39C4DC */ lw $t9, %lo(D_800DC4DC)($t9)
/* 11C320 802B2D10 24010DD8 */ li $at, 3544
/* 11C324 802B2D14 000478C0 */ sll $t7, $a0, 3
/* 11C328 802B2D18 02194023 */ subu $t0, $s0, $t9
/* 11C32C 802B2D1C 0101001A */ div $zero, $t0, $at
/* 11C330 802B2D20 00004812 */ mflo $t1
/* 11C334 802B2D24 44893000 */ mtc1 $t1, $f6
/* 11C338 802B2D28 01E47823 */ subu $t7, $t7, $a0
/* 11C33C 802B2D2C 3C188016 */ lui $t8, %hi(D_8015F9B8) # $t8, 0x8016
/* 11C340 802B2D30 46803220 */ cvt.s.w $f8, $f6
/* 11C344 802B2D34 2718F9B8 */ addiu $t8, %lo(D_8015F9B8) # addiu $t8, $t8, -0x648
/* 11C348 802B2D38 000F7900 */ sll $t7, $t7, 4
/* 11C34C 802B2D3C 01F81821 */ addu $v1, $t7, $t8
/* 11C350 802B2D40 A4600006 */ sh $zero, 6($v1)
/* 11C354 802B2D44 3C010004 */ lui $at, 4
/* 11C358 802B2D48 E4680024 */ swc1 $f8, 0x24($v1)
/* 11C35C 802B2D4C 8E0A000C */ lw $t2, 0xc($s0)
/* 11C360 802B2D50 00801025 */ move $v0, $a0
/* 11C364 802B2D54 01415825 */ or $t3, $t2, $at
/* 11C368 802B2D58 AE0B000C */ sw $t3, 0xc($s0)
.L802B2D5C:
/* 11C36C 802B2D5C 8FBF001C */ lw $ra, 0x1c($sp)
/* 11C370 802B2D60 8FB00018 */ lw $s0, 0x18($sp)
/* 11C374 802B2D64 27BD0060 */ addiu $sp, $sp, 0x60
/* 11C378 802B2D68 03E00008 */ jr $ra
/* 11C37C 802B2D6C 00000000 */ nop
glabel func_802B2D70
/* 11C380 802B2D70 3C0E800E */ lui $t6, %hi(D_800DC4DC) # $t6, 0x800e
/* 11C384 802B2D74 8DCEC4DC */ lw $t6, %lo(D_800DC4DC)($t6)
/* 11C388 802B2D78 24010DD8 */ li $at, 3544
/* 11C38C 802B2D7C 27BDFF98 */ addiu $sp, $sp, -0x68
/* 11C390 802B2D80 008E1023 */ subu $v0, $a0, $t6
/* 11C394 802B2D84 0041001A */ div $zero, $v0, $at
/* 11C398 802B2D88 00007812 */ mflo $t7
/* 11C39C 802B2D8C 31E8FFFF */ andi $t0, $t7, 0xffff
/* 11C3A0 802B2D90 AFB00018 */ sw $s0, 0x18($sp)
/* 11C3A4 802B2D94 29010008 */ slti $at, $t0, 8
/* 11C3A8 802B2D98 00808025 */ move $s0, $a0
/* 11C3AC 802B2D9C 14200003 */ bnez $at, .L802B2DAC
/* 11C3B0 802B2DA0 AFBF001C */ sw $ra, 0x1c($sp)
/* 11C3B4 802B2DA4 10000040 */ b .L802B2EA8
/* 11C3B8 802B2DA8 2402FFFF */ li $v0, -1
.L802B2DAC:
/* 11C3BC 802B2DAC 44802000 */ mtc1 $zero, $f4
/* 11C3C0 802B2DB0 3C014080 */ li $at, 0x40800000 # 4.000000
/* 11C3C4 802B2DB4 44818000 */ mtc1 $at, $f16
/* 11C3C8 802B2DB8 E7A40028 */ swc1 $f4, 0x28($sp)
/* 11C3CC 802B2DBC C6060070 */ lwc1 $f6, 0x70($s0)
/* 11C3D0 802B2DC0 27A40028 */ addiu $a0, $sp, 0x28
/* 11C3D4 802B2DC4 26050174 */ addiu $a1, $s0, 0x174
/* 11C3D8 802B2DC8 46003207 */ neg.s $f8, $f6
/* 11C3DC 802B2DCC E7A8002C */ swc1 $f8, 0x2c($sp)
/* 11C3E0 802B2DD0 C60A0070 */ lwc1 $f10, 0x70($s0)
/* 11C3E4 802B2DD4 AFA80020 */ sw $t0, 0x20($sp)
/* 11C3E8 802B2DD8 46105480 */ add.s $f18, $f10, $f16
/* 11C3EC 802B2DDC 46009107 */ neg.s $f4, $f18
/* 11C3F0 802B2DE0 0C0AD8EE */ jal func_802B63B8
/* 11C3F4 802B2DE4 E7A40030 */ swc1 $f4, 0x30($sp)
/* 11C3F8 802B2DE8 C7A60028 */ lwc1 $f6, 0x28($sp)
/* 11C3FC 802B2DEC C6080014 */ lwc1 $f8, 0x14($s0)
/* 11C400 802B2DF0 C7B0002C */ lwc1 $f16, 0x2c($sp)
/* 11C404 802B2DF4 27A40028 */ addiu $a0, $sp, 0x28
/* 11C408 802B2DF8 46083280 */ add.s $f10, $f6, $f8
/* 11C40C 802B2DFC C7A60030 */ lwc1 $f6, 0x30($sp)
/* 11C410 802B2E00 27A50034 */ addiu $a1, $sp, 0x34
/* 11C414 802B2E04 27A6003C */ addiu $a2, $sp, 0x3c
/* 11C418 802B2E08 E7AA0028 */ swc1 $f10, 0x28($sp)
/* 11C41C 802B2E0C C6120018 */ lwc1 $f18, 0x18($s0)
/* 11C420 802B2E10 24070006 */ li $a3, 6
/* 11C424 802B2E14 46128100 */ add.s $f4, $f16, $f18
/* 11C428 802B2E18 E7A4002C */ swc1 $f4, 0x2c($sp)
/* 11C42C 802B2E1C C608001C */ lwc1 $f8, 0x1c($s0)
/* 11C430 802B2E20 46083280 */ add.s $f10, $f6, $f8
/* 11C434 802B2E24 E7AA0030 */ swc1 $f10, 0x30($sp)
/* 11C438 802B2E28 C6100034 */ lwc1 $f16, 0x34($s0)
/* 11C43C 802B2E2C E7B0003C */ swc1 $f16, 0x3c($sp)
/* 11C440 802B2E30 C6120038 */ lwc1 $f18, 0x38($s0)
/* 11C444 802B2E34 E7B20040 */ swc1 $f18, 0x40($sp)
/* 11C448 802B2E38 C604003C */ lwc1 $f4, 0x3c($s0)
/* 11C44C 802B2E3C A7A00034 */ sh $zero, 0x34($sp)
/* 11C450 802B2E40 A7A00036 */ sh $zero, 0x36($sp)
/* 11C454 802B2E44 A7A00038 */ sh $zero, 0x38($sp)
/* 11C458 802B2E48 0C0A7B22 */ jal func_8029EC88
/* 11C45C 802B2E4C E7A40044 */ swc1 $f4, 0x44($sp)
/* 11C460 802B2E50 00022400 */ sll $a0, $v0, 0x10
/* 11C464 802B2E54 0004CC03 */ sra $t9, $a0, 0x10
/* 11C468 802B2E58 03202025 */ move $a0, $t9
/* 11C46C 802B2E5C 04410003 */ bgez $v0, .L802B2E6C
/* 11C470 802B2E60 8FA80020 */ lw $t0, 0x20($sp)
/* 11C474 802B2E64 10000010 */ b .L802B2EA8
/* 11C478 802B2E68 03201025 */ move $v0, $t9
.L802B2E6C:
/* 11C47C 802B2E6C 000448C0 */ sll $t1, $a0, 3
/* 11C480 802B2E70 01244823 */ subu $t1, $t1, $a0
/* 11C484 802B2E74 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11C488 802B2E78 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11C48C 802B2E7C 00094900 */ sll $t1, $t1, 4
/* 11C490 802B2E80 012A1821 */ addu $v1, $t1, $t2
/* 11C494 802B2E84 240B0014 */ li $t3, 20
/* 11C498 802B2E88 A4680010 */ sh $t0, 0x10($v1)
/* 11C49C 802B2E8C A4600006 */ sh $zero, 6($v1)
/* 11C4A0 802B2E90 A46B0004 */ sh $t3, 4($v1)
/* 11C4A4 802B2E94 8E0C000C */ lw $t4, 0xc($s0)
/* 11C4A8 802B2E98 3C010004 */ lui $at, 4
/* 11C4AC 802B2E9C 00801025 */ move $v0, $a0
/* 11C4B0 802B2EA0 01816825 */ or $t5, $t4, $at
/* 11C4B4 802B2EA4 AE0D000C */ sw $t5, 0xc($s0)
.L802B2EA8:
/* 11C4B8 802B2EA8 8FBF001C */ lw $ra, 0x1c($sp)
/* 11C4BC 802B2EAC 8FB00018 */ lw $s0, 0x18($sp)
/* 11C4C0 802B2EB0 27BD0068 */ addiu $sp, $sp, 0x68
/* 11C4C4 802B2EB4 03E00008 */ jr $ra
/* 11C4C8 802B2EB8 00000000 */ nop
glabel func_802B2EBC
/* 11C4CC 802B2EBC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 11C4D0 802B2EC0 AFBF0014 */ sw $ra, 0x14($sp)
/* 11C4D4 802B2EC4 0C02796F */ jal func_8009E5BC
/* 11C4D8 802B2EC8 AFA40018 */ sw $a0, 0x18($sp)
/* 11C4DC 802B2ECC 8FA60018 */ lw $a2, 0x18($sp)
/* 11C4E0 802B2ED0 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e
/* 11C4E4 802B2ED4 94CE0000 */ lhu $t6, ($a2)
/* 11C4E8 802B2ED8 31CF4000 */ andi $t7, $t6, 0x4000
/* 11C4EC 802B2EDC 11E0000B */ beqz $t7, .L802B2F0C
/* 11C4F0 802B2EE0 00000000 */ nop
/* 11C4F4 802B2EE4 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8)
/* 11C4F8 802B2EE8 24010DD8 */ li $at, 3544
/* 11C4FC 802B2EEC AFA60018 */ sw $a2, 0x18($sp)
/* 11C500 802B2EF0 00D82023 */ subu $a0, $a2, $t8
/* 11C504 802B2EF4 0081001A */ div $zero, $a0, $at
/* 11C508 802B2EF8 0000C812 */ mflo $t9
/* 11C50C 802B2EFC 332400FF */ andi $a0, $t9, 0xff
/* 11C510 802B2F00 0C032AD3 */ jal func_800CAB4C
/* 11C514 802B2F04 00000000 */ nop
/* 11C518 802B2F08 8FA60018 */ lw $a2, 0x18($sp)
.L802B2F0C:
/* 11C51C 802B2F0C 3C03800F */ lui $v1, %hi(D_800F6990) # $v1, 0x800f
/* 11C520 802B2F10 3C04800F */ lui $a0, %hi(D_800F7768) # $a0, 0x800f
/* 11C524 802B2F14 3C058010 */ lui $a1, %hi(D_800F8540) # $a1, 0x8010
/* 11C528 802B2F18 3C028010 */ lui $v0, %hi(D_800F9318) # $v0, 0x8010
/* 11C52C 802B2F1C 3C078010 */ lui $a3, %hi(D_801001D8) # $a3, 0x8010
/* 11C530 802B2F20 24E701D8 */ addiu $a3, %lo(D_801001D8) # addiu $a3, $a3, 0x1d8
/* 11C534 802B2F24 24429318 */ addiu $v0, %lo(D_800F9318) # addiu $v0, $v0, -0x6ce8
/* 11C538 802B2F28 24A58540 */ addiu $a1, %lo(D_800F8540) # addiu $a1, $a1, -0x7ac0
/* 11C53C 802B2F2C 24847768 */ addiu $a0, %lo(D_800F7768) # addiu $a0, $a0, 0x7768
/* 11C540 802B2F30 24636990 */ addiu $v1, %lo(D_800F6990) # addiu $v1, $v1, 0x6990
.L802B2F34:
/* 11C544 802B2F34 10C30004 */ beq $a2, $v1, .L802B2F48
/* 11C548 802B2F38 00000000 */ nop
/* 11C54C 802B2F3C 8C69000C */ lw $t1, 0xc($v1)
/* 11C550 802B2F40 352A4000 */ ori $t2, $t1, 0x4000
/* 11C554 802B2F44 AC6A000C */ sw $t2, 0xc($v1)
.L802B2F48:
/* 11C558 802B2F48 10C40004 */ beq $a2, $a0, .L802B2F5C
/* 11C55C 802B2F4C 24633760 */ addiu $v1, $v1, 0x3760
/* 11C560 802B2F50 8C8B000C */ lw $t3, 0xc($a0)
/* 11C564 802B2F54 356C4000 */ ori $t4, $t3, 0x4000
/* 11C568 802B2F58 AC8C000C */ sw $t4, 0xc($a0)
.L802B2F5C:
/* 11C56C 802B2F5C 10C50004 */ beq $a2, $a1, .L802B2F70
/* 11C570 802B2F60 24843760 */ addiu $a0, $a0, 0x3760
/* 11C574 802B2F64 8CAD000C */ lw $t5, 0xc($a1)
/* 11C578 802B2F68 35AE4000 */ ori $t6, $t5, 0x4000
/* 11C57C 802B2F6C ACAE000C */ sw $t6, 0xc($a1)
.L802B2F70:
/* 11C580 802B2F70 50C20005 */ beql $a2, $v0, .L802B2F88
/* 11C584 802B2F74 24423760 */ addiu $v0, $v0, 0x3760
/* 11C588 802B2F78 8C4F000C */ lw $t7, 0xc($v0)
/* 11C58C 802B2F7C 35F84000 */ ori $t8, $t7, 0x4000
/* 11C590 802B2F80 AC58000C */ sw $t8, 0xc($v0)
/* 11C594 802B2F84 24423760 */ addiu $v0, $v0, 0x3760
.L802B2F88:
/* 11C598 802B2F88 1447FFEA */ bne $v0, $a3, .L802B2F34
/* 11C59C 802B2F8C 24A53760 */ addiu $a1, $a1, 0x3760
/* 11C5A0 802B2F90 8FBF0014 */ lw $ra, 0x14($sp)
/* 11C5A4 802B2F94 27BD0018 */ addiu $sp, $sp, 0x18
/* 11C5A8 802B2F98 03E00008 */ jr $ra
/* 11C5AC 802B2F9C 00000000 */ nop
glabel func_802B2FA0
/* 11C5B0 802B2FA0 3C0E800E */ lui $t6, %hi(D_800DC4DC) # $t6, 0x800e
/* 11C5B4 802B2FA4 8DCEC4DC */ lw $t6, %lo(D_800DC4DC)($t6)
/* 11C5B8 802B2FA8 24010DD8 */ li $at, 3544
/* 11C5BC 802B2FAC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 11C5C0 802B2FB0 008E7823 */ subu $t7, $a0, $t6
/* 11C5C4 802B2FB4 01E1001A */ div $zero, $t7, $at
/* 11C5C8 802B2FB8 0000C012 */ mflo $t8
/* 11C5CC 802B2FBC AFBF0014 */ sw $ra, 0x14($sp)
/* 11C5D0 802B2FC0 AFB8001C */ sw $t8, 0x1c($sp)
/* 11C5D4 802B2FC4 84990010 */ lh $t9, 0x10($a0)
/* 11C5D8 802B2FC8 2728FFFF */ addiu $t0, $t9, -1
/* 11C5DC 802B2FCC 2D01000F */ sltiu $at, $t0, 0xf
/* 11C5E0 802B2FD0 10200040 */ beqz $at, .L802B30D4
/* 11C5E4 802B2FD4 00084080 */ sll $t0, $t0, 2
/* 11C5E8 802B2FD8 3C01802C */ lui $at, %hi(D_802B9F08)
/* 11C5EC 802B2FDC 00280821 */ addu $at, $at, $t0
/* 11C5F0 802B2FE0 8C289F08 */ lw $t0, %lo(D_802B9F08)($at)
/* 11C5F4 802B2FE4 01000008 */ jr $t0
/* 11C5F8 802B2FE8 00000000 */ nop
glabel L802B2FEC
/* 11C5FC 802B2FEC 0C0AC727 */ jal func_802B1C9C
/* 11C600 802B2FF0 00000000 */ nop
/* 11C604 802B2FF4 10000037 */ b .L802B30D4
/* 11C608 802B2FF8 00000000 */ nop
glabel L802B2FFC
/* 11C60C 802B2FFC 0C0AC792 */ jal func_802B1E48
/* 11C610 802B3000 00000000 */ nop
/* 11C614 802B3004 10000033 */ b .L802B30D4
/* 11C618 802B3008 00000000 */ nop
glabel L802B300C
/* 11C61C 802B300C 0C0AC7FF */ jal func_802B1FFC
/* 11C620 802B3010 00000000 */ nop
/* 11C624 802B3014 1000002F */ b .L802B30D4
/* 11C628 802B3018 00000000 */ nop
glabel L802B301C
/* 11C62C 802B301C 0C0ACB5C */ jal func_802B2D70
/* 11C630 802B3020 00000000 */ nop
/* 11C634 802B3024 1000002B */ b .L802B30D4
/* 11C638 802B3028 00000000 */ nop
glabel L802B302C
/* 11C63C 802B302C 0C0AC5FD */ jal func_802B17F4
/* 11C640 802B3030 00000000 */ nop
/* 11C644 802B3034 10000027 */ b .L802B30D4
/* 11C648 802B3038 00000000 */ nop
glabel L802B303C
/* 11C64C 802B303C 8C89000C */ lw $t1, 0xc($a0)
/* 11C650 802B3040 352A0200 */ ori $t2, $t1, 0x200
/* 11C654 802B3044 10000023 */ b .L802B30D4
/* 11C658 802B3048 AC8A000C */ sw $t2, 0xc($a0)
glabel L802B304C
/* 11C65C 802B304C 8C8B000C */ lw $t3, 0xc($a0)
/* 11C660 802B3050 356C0200 */ ori $t4, $t3, 0x200
/* 11C664 802B3054 1000001F */ b .L802B30D4
/* 11C668 802B3058 AC8C000C */ sw $t4, 0xc($a0)
glabel L802B305C
/* 11C66C 802B305C 8C8D000C */ lw $t5, 0xc($a0)
/* 11C670 802B3060 35AE0200 */ ori $t6, $t5, 0x200
/* 11C674 802B3064 1000001B */ b .L802B30D4
/* 11C678 802B3068 AC8E000C */ sw $t6, 0xc($a0)
glabel L802B306C
/* 11C67C 802B306C 8C8F000C */ lw $t7, 0xc($a0)
/* 11C680 802B3070 35F80200 */ ori $t8, $t7, 0x200
/* 11C684 802B3074 10000017 */ b .L802B30D4
/* 11C688 802B3078 AC98000C */ sw $t8, 0xc($a0)
glabel L802B307C
/* 11C68C 802B307C 8C99000C */ lw $t9, 0xc($a0)
/* 11C690 802B3080 37280800 */ ori $t0, $t9, 0x800
/* 11C694 802B3084 10000013 */ b .L802B30D4
/* 11C698 802B3088 AC88000C */ sw $t0, 0xc($a0)
glabel L802B308C
/* 11C69C 802B308C 8C89000C */ lw $t1, 0xc($a0)
/* 11C6A0 802B3090 352A2000 */ ori $t2, $t1, 0x2000
/* 11C6A4 802B3094 1000000F */ b .L802B30D4
/* 11C6A8 802B3098 AC8A000C */ sw $t2, 0xc($a0)
glabel L802B309C
/* 11C6AC 802B309C 0C0ACBAF */ jal func_802B2EBC
/* 11C6B0 802B30A0 00000000 */ nop
/* 11C6B4 802B30A4 1000000B */ b .L802B30D4
/* 11C6B8 802B30A8 00000000 */ nop
glabel L802B30AC
/* 11C6BC 802B30AC 0C0ACB10 */ jal func_802B2C40
/* 11C6C0 802B30B0 00000000 */ nop
/* 11C6C4 802B30B4 10000007 */ b .L802B30D4
/* 11C6C8 802B30B8 00000000 */ nop
glabel L802B30BC
/* 11C6CC 802B30BC 0C0AC639 */ jal func_802B18E4
/* 11C6D0 802B30C0 24050015 */ li $a1, 21
/* 11C6D4 802B30C4 10000003 */ b .L802B30D4
/* 11C6D8 802B30C8 00000000 */ nop
glabel L802B30CC
/* 11C6DC 802B30CC 0C0AC639 */ jal func_802B18E4
/* 11C6E0 802B30D0 24050016 */ li $a1, 22
.L802B30D4:
/* 11C6E4 802B30D4 0C01EB27 */ jal func_8007AC9C
/* 11C6E8 802B30D8 8FA4001C */ lw $a0, 0x1c($sp)
/* 11C6EC 802B30DC 8FBF0014 */ lw $ra, 0x14($sp)
/* 11C6F0 802B30E0 27BD0020 */ addiu $sp, $sp, 0x20
/* 11C6F4 802B30E4 03E00008 */ jr $ra
/* 11C6F8 802B30E8 00000000 */ nop
glabel func_802B30EC
/* 11C6FC 802B30EC 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 11C700 802B30F0 AFBE0038 */ sw $fp, 0x38($sp)
/* 11C704 802B30F4 AFB60030 */ sw $s6, 0x30($sp)
/* 11C708 802B30F8 AFB5002C */ sw $s5, 0x2c($sp)
/* 11C70C 802B30FC AFB40028 */ sw $s4, 0x28($sp)
/* 11C710 802B3100 AFB20020 */ sw $s2, 0x20($sp)
/* 11C714 802B3104 AFB00018 */ sw $s0, 0x18($sp)
/* 11C718 802B3108 AFB70034 */ sw $s7, 0x34($sp)
/* 11C71C 802B310C AFB30024 */ sw $s3, 0x24($sp)
/* 11C720 802B3110 3C10800F */ lui $s0, %hi(D_800F6990) # $s0, 0x800f
/* 11C724 802B3114 3C12800F */ lui $s2, %hi(gPlayer1Controller) # $s2, 0x800f
/* 11C728 802B3118 3C14800F */ lui $s4, %hi(D_800F6950) # $s4, 0x800f
/* 11C72C 802B311C 3C15800E */ lui $s5, %hi(D_800DC4E0) # $s5, 0x800e
/* 11C730 802B3120 3C16800E */ lui $s6, %hi(D_800DC4D0) # $s6, 0x800e
/* 11C734 802B3124 3C1E800E */ lui $fp, %hi(D_800DC4E4) # $fp, 0x800e
/* 11C738 802B3128 AFBF003C */ sw $ra, 0x3c($sp)
/* 11C73C 802B312C AFB1001C */ sw $s1, 0x1c($sp)
/* 11C740 802B3130 27DEC4E4 */ addiu $fp, %lo(D_800DC4E4) # addiu $fp, $fp, -0x3b1c
/* 11C744 802B3134 26D6C4D0 */ addiu $s6, %lo(D_800DC4D0) # addiu $s6, $s6, -0x3b30
/* 11C748 802B3138 26B5C4E0 */ addiu $s5, %lo(D_800DC4E0) # addiu $s5, $s5, -0x3b20
/* 11C74C 802B313C 26946950 */ addiu $s4, %lo(D_800F6950) # addiu $s4, $s4, 0x6950
/* 11C750 802B3140 26526910 */ addiu $s2, %lo(gPlayer1Controller) # addiu $s2, $s2, 0x6910
/* 11C754 802B3144 26106990 */ addiu $s0, %lo(D_800F6990) # addiu $s0, $s0, 0x6990
/* 11C758 802B3148 24130DD8 */ li $s3, 3544
/* 11C75C 802B314C 2417DFFF */ li $s7, -8193
.L802B3150:
/* 11C760 802B3150 02408825 */ move $s1, $s2
/* 11C764 802B3154 0C024439 */ jal func_800910E4
/* 11C768 802B3158 02002025 */ move $a0, $s0
/* 11C76C 802B315C 5440004B */ bnel $v0, $zero, .L802B328C
/* 11C770 802B3160 26520010 */ addiu $s2, $s2, 0x10
/* 11C774 802B3164 96020000 */ lhu $v0, ($s0)
/* 11C778 802B3168 304E0100 */ andi $t6, $v0, 0x100
/* 11C77C 802B316C 51C00037 */ beql $t6, $zero, .L802B324C
/* 11C780 802B3170 304E4000 */ andi $t6, $v0, 0x4000
/* 11C784 802B3174 8EAF0000 */ lw $t7, ($s5)
/* 11C788 802B3178 020FC023 */ subu $t8, $s0, $t7
/* 11C78C 802B317C 0313001A */ div $zero, $t8, $s3
/* 11C790 802B3180 0000C812 */ mflo $t9
/* 11C794 802B3184 16600002 */ bnez $s3, .L802B3190
/* 11C798 802B3188 00000000 */ nop
/* 11C79C 802B318C 0007000D */ break 7
.L802B3190:
/* 11C7A0 802B3190 2401FFFF */ li $at, -1
/* 11C7A4 802B3194 16610004 */ bne $s3, $at, .L802B31A8
/* 11C7A8 802B3198 3C018000 */ lui $at, 0x8000
/* 11C7AC 802B319C 17010002 */ bne $t8, $at, .L802B31A8
/* 11C7B0 802B31A0 00000000 */ nop
/* 11C7B4 802B31A4 0006000D */ break 6
.L802B31A8:
/* 11C7B8 802B31A8 57200004 */ bnel $t9, $zero, .L802B31BC
/* 11C7BC 802B31AC 8FC80000 */ lw $t0, ($fp)
/* 11C7C0 802B31B0 10000025 */ b .L802B3248
/* 11C7C4 802B31B4 8ED10000 */ lw $s1, ($s6)
/* 11C7C8 802B31B8 8FC80000 */ lw $t0, ($fp)
.L802B31BC:
/* 11C7CC 802B31BC 3C0B800E */ lui $t3, %hi(D_800DC4DC) # $t3, 0x800e
/* 11C7D0 802B31C0 02084823 */ subu $t1, $s0, $t0
/* 11C7D4 802B31C4 0133001A */ div $zero, $t1, $s3
/* 11C7D8 802B31C8 00005012 */ mflo $t2
/* 11C7DC 802B31CC 16600002 */ bnez $s3, .L802B31D8
/* 11C7E0 802B31D0 00000000 */ nop
/* 11C7E4 802B31D4 0007000D */ break 7
.L802B31D8:
/* 11C7E8 802B31D8 2401FFFF */ li $at, -1
/* 11C7EC 802B31DC 16610004 */ bne $s3, $at, .L802B31F0
/* 11C7F0 802B31E0 3C018000 */ lui $at, 0x8000
/* 11C7F4 802B31E4 15210002 */ bne $t1, $at, .L802B31F0
/* 11C7F8 802B31E8 00000000 */ nop
/* 11C7FC 802B31EC 0006000D */ break 6
.L802B31F0:
/* 11C800 802B31F0 15400004 */ bnez $t2, .L802B3204
/* 11C804 802B31F4 00000000 */ nop
/* 11C808 802B31F8 3C11800E */ lui $s1, %hi(D_800DC4D4) # $s1, 0x800e
/* 11C80C 802B31FC 10000012 */ b .L802B3248
/* 11C810 802B3200 8E31C4D4 */ lw $s1, %lo(D_800DC4D4)($s1)
.L802B3204:
/* 11C814 802B3204 8D6BC4DC */ lw $t3, %lo(D_800DC4DC)($t3)
/* 11C818 802B3208 020B6023 */ subu $t4, $s0, $t3
/* 11C81C 802B320C 0193001A */ div $zero, $t4, $s3
/* 11C820 802B3210 00006812 */ mflo $t5
/* 11C824 802B3214 16600002 */ bnez $s3, .L802B3220
/* 11C828 802B3218 00000000 */ nop
/* 11C82C 802B321C 0007000D */ break 7
.L802B3220:
/* 11C830 802B3220 2401FFFF */ li $at, -1
/* 11C834 802B3224 16610004 */ bne $s3, $at, .L802B3238
/* 11C838 802B3228 3C018000 */ lui $at, 0x8000
/* 11C83C 802B322C 15810002 */ bne $t4, $at, .L802B3238
/* 11C840 802B3230 00000000 */ nop
/* 11C844 802B3234 0006000D */ break 6
.L802B3238:
/* 11C848 802B3238 55A00004 */ bnel $t5, $zero, .L802B324C
/* 11C84C 802B323C 304E4000 */ andi $t6, $v0, 0x4000
/* 11C850 802B3240 3C11800E */ lui $s1, %hi(D_800DC4D8) # $s1, 0x800e
/* 11C854 802B3244 8E31C4D8 */ lw $s1, %lo(D_800DC4D8)($s1)
.L802B3248:
/* 11C858 802B3248 304E4000 */ andi $t6, $v0, 0x4000
.L802B324C:
/* 11C85C 802B324C 51C0000F */ beql $t6, $zero, .L802B328C
/* 11C860 802B3250 26520010 */ addiu $s2, $s2, 0x10
/* 11C864 802B3254 860F0010 */ lh $t7, 0x10($s0)
/* 11C868 802B3258 30582000 */ andi $t8, $v0, 0x2000
/* 11C86C 802B325C 51E0000B */ beql $t7, $zero, .L802B328C
/* 11C870 802B3260 26520010 */ addiu $s2, $s2, 0x10
/* 11C874 802B3264 57000009 */ bnel $t8, $zero, .L802B328C
/* 11C878 802B3268 26520010 */ addiu $s2, $s2, 0x10
/* 11C87C 802B326C 96220006 */ lhu $v0, 6($s1)
/* 11C880 802B3270 02002025 */ move $a0, $s0
/* 11C884 802B3274 30592000 */ andi $t9, $v0, 0x2000
/* 11C888 802B3278 13200003 */ beqz $t9, .L802B3288
/* 11C88C 802B327C 00574024 */ and $t0, $v0, $s7
/* 11C890 802B3280 0C0ACBE8 */ jal func_802B2FA0
/* 11C894 802B3284 A6280006 */ sh $t0, 6($s1)
.L802B3288:
/* 11C898 802B3288 26520010 */ addiu $s2, $s2, 0x10
.L802B328C:
/* 11C89C 802B328C 1654FFB0 */ bne $s2, $s4, .L802B3150
/* 11C8A0 802B3290 26100DD8 */ addiu $s0, $s0, 0xdd8
/* 11C8A4 802B3294 8FBF003C */ lw $ra, 0x3c($sp)
/* 11C8A8 802B3298 8FB00018 */ lw $s0, 0x18($sp)
/* 11C8AC 802B329C 8FB1001C */ lw $s1, 0x1c($sp)
/* 11C8B0 802B32A0 8FB20020 */ lw $s2, 0x20($sp)
/* 11C8B4 802B32A4 8FB30024 */ lw $s3, 0x24($sp)
/* 11C8B8 802B32A8 8FB40028 */ lw $s4, 0x28($sp)
/* 11C8BC 802B32AC 8FB5002C */ lw $s5, 0x2c($sp)
/* 11C8C0 802B32B0 8FB60030 */ lw $s6, 0x30($sp)
/* 11C8C4 802B32B4 8FB70034 */ lw $s7, 0x34($sp)
/* 11C8C8 802B32B8 8FBE0038 */ lw $fp, 0x38($sp)
/* 11C8CC 802B32BC 03E00008 */ jr $ra
/* 11C8D0 802B32C0 27BD0040 */ addiu $sp, $sp, 0x40
glabel update_obj_green_shell
/* 11C8D4 802B32C4 3C0E8016 */ lui $t6, %hi(D_8015F6F2) # $t6, 0x8016
/* 11C8D8 802B32C8 85CEF6F2 */ lh $t6, %lo(D_8015F6F2)($t6)
/* 11C8DC 802B32CC 27BDFF70 */ addiu $sp, $sp, -0x90
/* 11C8E0 802B32D0 AFBF002C */ sw $ra, 0x2c($sp)
/* 11C8E4 802B32D4 448E2000 */ mtc1 $t6, $f4
/* 11C8E8 802B32D8 AFB10028 */ sw $s1, 0x28($sp)
/* 11C8EC 802B32DC AFB00024 */ sw $s0, 0x24($sp)
/* 11C8F0 802B32E0 468021A0 */ cvt.s.w $f6, $f4
/* 11C8F4 802B32E4 C4820020 */ lwc1 $f2, 0x20($a0)
/* 11C8F8 802B32E8 00808025 */ move $s0, $a0
/* 11C8FC 802B32EC C4800018 */ lwc1 $f0, 0x18($a0)
/* 11C900 802B32F0 C48C001C */ lwc1 $f12, 0x1c($a0)
/* 11C904 802B32F4 3C0F8016 */ lui $t7, %hi(D_8015F6F0) # $t7, 0x8016
/* 11C908 802B32F8 4606103C */ c.lt.s $f2, $f6
/* 11C90C 802B32FC 00000000 */ nop
/* 11C910 802B3300 45010024 */ bc1t .L802B3394
/* 11C914 802B3304 00000000 */ nop
/* 11C918 802B3308 85EFF6F0 */ lh $t7, %lo(D_8015F6F0)($t7)
/* 11C91C 802B330C 3C188016 */ lui $t8, %hi(D_8015F6EA) # $t8, 0x8016
/* 11C920 802B3310 448F4000 */ mtc1 $t7, $f8
/* 11C924 802B3314 00000000 */ nop
/* 11C928 802B3318 468042A0 */ cvt.s.w $f10, $f8
/* 11C92C 802B331C 4602503C */ c.lt.s $f10, $f2
/* 11C930 802B3320 00000000 */ nop
/* 11C934 802B3324 4501001B */ bc1t .L802B3394
/* 11C938 802B3328 00000000 */ nop
/* 11C93C 802B332C 8718F6EA */ lh $t8, %lo(D_8015F6EA)($t8)
/* 11C940 802B3330 3C198016 */ lui $t9, %hi(D_8015F6E8) # $t9, 0x8016
/* 11C944 802B3334 44989000 */ mtc1 $t8, $f18
/* 11C948 802B3338 00000000 */ nop
/* 11C94C 802B333C 46809120 */ cvt.s.w $f4, $f18
/* 11C950 802B3340 4604003C */ c.lt.s $f0, $f4
/* 11C954 802B3344 00000000 */ nop
/* 11C958 802B3348 45010012 */ bc1t .L802B3394
/* 11C95C 802B334C 00000000 */ nop
/* 11C960 802B3350 8739F6E8 */ lh $t9, %lo(D_8015F6E8)($t9)
/* 11C964 802B3354 3C088016 */ lui $t0, %hi(D_8015F6EE) # $t0, 0x8016
/* 11C968 802B3358 44993000 */ mtc1 $t9, $f6
/* 11C96C 802B335C 00000000 */ nop
/* 11C970 802B3360 46803220 */ cvt.s.w $f8, $f6
/* 11C974 802B3364 4600403C */ c.lt.s $f8, $f0
/* 11C978 802B3368 00000000 */ nop
/* 11C97C 802B336C 45010009 */ bc1t .L802B3394
/* 11C980 802B3370 00000000 */ nop
/* 11C984 802B3374 8508F6EE */ lh $t0, %lo(D_8015F6EE)($t0)
/* 11C988 802B3378 44885000 */ mtc1 $t0, $f10
/* 11C98C 802B337C 00000000 */ nop
/* 11C990 802B3380 468054A0 */ cvt.s.w $f18, $f10
/* 11C994 802B3384 4612603C */ c.lt.s $f12, $f18
/* 11C998 802B3388 00000000 */ nop
/* 11C99C 802B338C 45020004 */ bc1fl .L802B33A0
/* 11C9A0 802B3390 86090010 */ lh $t1, 0x10($s0)
.L802B3394:
/* 11C9A4 802B3394 0C0A7F72 */ jal func_8029FDC8
/* 11C9A8 802B3398 02002025 */ move $a0, $s0
/* 11C9AC 802B339C 86090010 */ lh $t1, 0x10($s0)
.L802B33A0:
/* 11C9B0 802B33A0 960B0006 */ lhu $t3, 6($s0)
/* 11C9B4 802B33A4 252A071C */ addiu $t2, $t1, 0x71c
/* 11C9B8 802B33A8 2D610006 */ sltiu $at, $t3, 6
/* 11C9BC 802B33AC 102001E0 */ beqz $at, .L802B3B30
/* 11C9C0 802B33B0 A60A0010 */ sh $t2, 0x10($s0)
/* 11C9C4 802B33B4 000B5880 */ sll $t3, $t3, 2
/* 11C9C8 802B33B8 3C01802C */ lui $at, %hi(D_802B9F44)
/* 11C9CC 802B33BC 002B0821 */ addu $at, $at, $t3
/* 11C9D0 802B33C0 8C2B9F44 */ lw $t3, %lo(D_802B9F44)($at)
/* 11C9D4 802B33C4 01600008 */ jr $t3
/* 11C9D8 802B33C8 00000000 */ nop
glabel L802B33CC
/* 11C9DC 802B33CC 860C0014 */ lh $t4, 0x14($s0)
/* 11C9E0 802B33D0 3C0E800F */ lui $t6, %hi(D_800F6990) # $t6, 0x800f
/* 11C9E4 802B33D4 25CE6990 */ addiu $t6, %lo(D_800F6990) # addiu $t6, $t6, 0x6990
/* 11C9E8 802B33D8 000C68C0 */ sll $t5, $t4, 3
/* 11C9EC 802B33DC 01AC6823 */ subu $t5, $t5, $t4
/* 11C9F0 802B33E0 000D6900 */ sll $t5, $t5, 4
/* 11C9F4 802B33E4 01AC6823 */ subu $t5, $t5, $t4
/* 11C9F8 802B33E8 000D6880 */ sll $t5, $t5, 2
/* 11C9FC 802B33EC 01AC6823 */ subu $t5, $t5, $t4
/* 11CA00 802B33F0 000D68C0 */ sll $t5, $t5, 3
/* 11CA04 802B33F4 01AE8821 */ addu $s1, $t5, $t6
/* 11CA08 802B33F8 26240110 */ addiu $a0, $s1, 0x110
/* 11CA0C 802B33FC 0C0AC084 */ jal func_802B0210
/* 11CA10 802B3400 26050030 */ addiu $a1, $s0, 0x30
/* 11CA14 802B3404 44808000 */ mtc1 $zero, $f16
/* 11CA18 802B3408 3C014000 */ li $at, 0x40000000 # 2.000000
/* 11CA1C 802B340C 44819000 */ mtc1 $at, $f18
/* 11CA20 802B3410 E7B0006C */ swc1 $f16, 0x6c($sp)
/* 11CA24 802B3414 C6240070 */ lwc1 $f4, 0x70($s1)
/* 11CA28 802B3418 27A4006C */ addiu $a0, $sp, 0x6c
/* 11CA2C 802B341C 26250174 */ addiu $a1, $s1, 0x174
/* 11CA30 802B3420 E7A40070 */ swc1 $f4, 0x70($sp)
/* 11CA34 802B3424 C608000C */ lwc1 $f8, 0xc($s0)
/* 11CA38 802B3428 C6260070 */ lwc1 $f6, 0x70($s1)
/* 11CA3C 802B342C 46083280 */ add.s $f10, $f6, $f8
/* 11CA40 802B3430 46125100 */ add.s $f4, $f10, $f18
/* 11CA44 802B3434 46002187 */ neg.s $f6, $f4
/* 11CA48 802B3438 0C0AD8EE */ jal func_802B63B8
/* 11CA4C 802B343C E7A60074 */ swc1 $f6, 0x74($sp)
/* 11CA50 802B3440 C7A8006C */ lwc1 $f8, 0x6c($sp)
/* 11CA54 802B3444 C62A0014 */ lwc1 $f10, 0x14($s1)
/* 11CA58 802B3448 460A4480 */ add.s $f18, $f8, $f10
/* 11CA5C 802B344C E6120018 */ swc1 $f18, 0x18($s0)
/* 11CA60 802B3450 C62A001C */ lwc1 $f10, 0x1c($s1)
/* 11CA64 802B3454 C7A80074 */ lwc1 $f8, 0x74($sp)
/* 11CA68 802B3458 C7A60070 */ lwc1 $f6, 0x70($sp)
/* 11CA6C 802B345C C6240018 */ lwc1 $f4, 0x18($s1)
/* 11CA70 802B3460 460A4480 */ add.s $f18, $f8, $f10
/* 11CA74 802B3464 C60C0018 */ lwc1 $f12, 0x18($s0)
/* 11CA78 802B3468 46062381 */ sub.s $f14, $f4, $f6
/* 11CA7C 802B346C E6120020 */ swc1 $f18, 0x20($s0)
/* 11CA80 802B3470 9627011A */ lhu $a3, 0x11a($s1)
/* 11CA84 802B3474 8E060020 */ lw $a2, 0x20($s0)
/* 11CA88 802B3478 0C0AAF8C */ jal func_802ABE30
/* 11CA8C 802B347C E7AE0054 */ swc1 $f14, 0x54($sp)
/* 11CA90 802B3480 C7AE0054 */ lwc1 $f14, 0x54($sp)
/* 11CA94 802B3484 3C0140A0 */ li $at, 0x40A00000 # 5.000000
/* 11CA98 802B3488 44812000 */ mtc1 $at, $f4
/* 11CA9C 802B348C 46007081 */ sub.s $f2, $f14, $f0
/* 11CAA0 802B3490 44808000 */ mtc1 $zero, $f16
/* 11CAA4 802B3494 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000
/* 11CAA8 802B3498 4604103C */ c.lt.s $f2, $f4
/* 11CAAC 802B349C 00000000 */ nop
/* 11CAB0 802B34A0 4502000C */ bc1fl .L802B34D4
/* 11CAB4 802B34A4 E60E001C */ swc1 $f14, 0x1c($s0)
/* 11CAB8 802B34A8 44816000 */ mtc1 $at, $f12
/* 11CABC 802B34AC 00000000 */ nop
/* 11CAC0 802B34B0 4602603C */ c.lt.s $f12, $f2
/* 11CAC4 802B34B4 00000000 */ nop
/* 11CAC8 802B34B8 45020006 */ bc1fl .L802B34D4
/* 11CACC 802B34BC E60E001C */ swc1 $f14, 0x1c($s0)
/* 11CAD0 802B34C0 C606000C */ lwc1 $f6, 0xc($s0)
/* 11CAD4 802B34C4 46003200 */ add.s $f8, $f6, $f0
/* 11CAD8 802B34C8 10000002 */ b .L802B34D4
/* 11CADC 802B34CC E608001C */ swc1 $f8, 0x1c($s0)
/* 11CAE0 802B34D0 E60E001C */ swc1 $f14, 0x1c($s0)
.L802B34D4:
/* 11CAE4 802B34D4 962F0000 */ lhu $t7, ($s1)
/* 11CAE8 802B34D8 31F84000 */ andi $t8, $t7, 0x4000
/* 11CAEC 802B34DC 53000195 */ beql $t8, $zero, .L802B3B34
/* 11CAF0 802B34E0 8FBF002C */ lw $ra, 0x2c($sp)
/* 11CAF4 802B34E4 86190014 */ lh $t9, 0x14($s0)
/* 11CAF8 802B34E8 3C09800F */ lui $t1, %hi(gPlayer1Controller) # $t1, 0x800f
/* 11CAFC 802B34EC 25296910 */ addiu $t1, %lo(gPlayer1Controller) # addiu $t1, $t1, 0x6910
/* 11CB00 802B34F0 00194100 */ sll $t0, $t9, 4
/* 11CB04 802B34F4 01091021 */ addu $v0, $t0, $t1
/* 11CB08 802B34F8 94430008 */ lhu $v1, 8($v0)
/* 11CB0C 802B34FC 306A2000 */ andi $t2, $v1, 0x2000
/* 11CB10 802B3500 5140018C */ beql $t2, $zero, .L802B3B34
/* 11CB14 802B3504 8FBF002C */ lw $ra, 0x2c($sp)
/* 11CB18 802B3508 844C0002 */ lh $t4, 2($v0)
/* 11CB1C 802B350C 306BDFFF */ andi $t3, $v1, 0xdfff
/* 11CB20 802B3510 A44B0008 */ sh $t3, 8($v0)
/* 11CB24 802B3514 2981FFD3 */ slti $at, $t4, -0x2d
/* 11CB28 802B3518 10200034 */ beqz $at, .L802B35EC
/* 11CB2C 802B351C 240B0001 */ li $t3, 1
/* 11CB30 802B3520 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11CB34 802B3524 44811000 */ mtc1 $at, $f2
/* 11CB38 802B3528 C6200094 */ lwc1 $f0, 0x94($s1)
/* 11CB3C 802B352C 3C01802C */ lui $at, %hi(D_802B9F5C) # $at, 0x802c
/* 11CB40 802B3530 4600103C */ c.lt.s $f2, $f0
/* 11CB44 802B3534 00000000 */ nop
/* 11CB48 802B3538 45020005 */ bc1fl .L802B3550
/* 11CB4C 802B353C 46001487 */ neg.s $f18, $f2
/* 11CB50 802B3540 C42A9F5C */ lwc1 $f10, %lo(D_802B9F5C)($at)
/* 11CB54 802B3544 460A0082 */ mul.s $f2, $f0, $f10
/* 11CB58 802B3548 00000000 */ nop
/* 11CB5C 802B354C 46001487 */ neg.s $f18, $f2
.L802B3550:
/* 11CB60 802B3550 E7B0006C */ swc1 $f16, 0x6c($sp)
/* 11CB64 802B3554 E7B00070 */ swc1 $f16, 0x70($sp)
/* 11CB68 802B3558 E7B20074 */ swc1 $f18, 0x74($sp)
/* 11CB6C 802B355C 862E00C0 */ lh $t6, 0xc0($s1)
/* 11CB70 802B3560 862D002E */ lh $t5, 0x2e($s1)
/* 11CB74 802B3564 27A4006C */ addiu $a0, $sp, 0x6c
/* 11CB78 802B3568 01AE2821 */ addu $a1, $t5, $t6
/* 11CB7C 802B356C 00057C00 */ sll $t7, $a1, 0x10
/* 11CB80 802B3570 0C0AD931 */ jal func_802B64C4
/* 11CB84 802B3574 000F2C03 */ sra $a1, $t7, 0x10
/* 11CB88 802B3578 C7A4006C */ lwc1 $f4, 0x6c($sp)
/* 11CB8C 802B357C 24190002 */ li $t9, 2
/* 11CB90 802B3580 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900
/* 11CB94 802B3584 E6040024 */ swc1 $f4, 0x24($s0)
/* 11CB98 802B3588 C7A60070 */ lwc1 $f6, 0x70($sp)
/* 11CB9C 802B358C 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004
/* 11CBA0 802B3590 92040015 */ lbu $a0, 0x15($s0)
/* 11CBA4 802B3594 E6060028 */ swc1 $f6, 0x28($s0)
/* 11CBA8 802B3598 C7A80074 */ lwc1 $f8, 0x74($sp)
/* 11CBAC 802B359C A6190006 */ sh $t9, 6($s0)
/* 11CBB0 802B35A0 0C032418 */ jal func_800C9060
/* 11CBB4 802B35A4 E608002C */ swc1 $f8, 0x2c($s0)
/* 11CBB8 802B35A8 96250254 */ lhu $a1, 0x254($s1)
/* 11CBBC 802B35AC 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900
/* 11CBC0 802B35B0 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000
/* 11CBC4 802B35B4 00054100 */ sll $t0, $a1, 4
/* 11CBC8 802B35B8 01012821 */ addu $a1, $t0, $at
/* 11CBCC 802B35BC 0C03243D */ jal func_800C90F4
/* 11CBD0 802B35C0 92040015 */ lbu $a0, 0x15($s0)
/* 11CBD4 802B35C4 3C098016 */ lui $t1, %hi(D_8015F9B8) # $t1, 0x8016
/* 11CBD8 802B35C8 2529F9B8 */ addiu $t1, %lo(D_8015F9B8) # addiu $t1, $t1, -0x648
/* 11CBDC 802B35CC 02092023 */ subu $a0, $s0, $t1
/* 11CBE0 802B35D0 24010070 */ li $at, 112
/* 11CBE4 802B35D4 0081001A */ div $zero, $a0, $at
/* 11CBE8 802B35D8 00002012 */ mflo $a0
/* 11CBEC 802B35DC 0C003B72 */ jal func_8000EDC8
/* 11CBF0 802B35E0 00000000 */ nop
/* 11CBF4 802B35E4 10000153 */ b .L802B3B34
/* 11CBF8 802B35E8 8FBF002C */ lw $ra, 0x2c($sp)
.L802B35EC:
/* 11CBFC 802B35EC A60B0006 */ sh $t3, 6($s0)
/* 11CC00 802B35F0 862C00C0 */ lh $t4, 0xc0($s1)
/* 11CC04 802B35F4 240D78E3 */ li $t5, 30947
/* 11CC08 802B35F8 240E871C */ li $t6, -30948
/* 11CC0C 802B35FC 19800003 */ blez $t4, .L802B360C
/* 11CC10 802B3600 00000000 */ nop
/* 11CC14 802B3604 1000014A */ b .L802B3B30
/* 11CC18 802B3608 A60D0012 */ sh $t5, 0x12($s0)
.L802B360C:
/* 11CC1C 802B360C 10000148 */ b .L802B3B30
/* 11CC20 802B3610 A60E0012 */ sh $t6, 0x12($s0)
glabel L802B3614
/* 11CC24 802B3614 860F0014 */ lh $t7, 0x14($s0)
/* 11CC28 802B3618 86020012 */ lh $v0, 0x12($s0)
/* 11CC2C 802B361C 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 11CC30 802B3620 000FC0C0 */ sll $t8, $t7, 3
/* 11CC34 802B3624 030FC023 */ subu $t8, $t8, $t7
/* 11CC38 802B3628 0018C100 */ sll $t8, $t8, 4
/* 11CC3C 802B362C 030FC023 */ subu $t8, $t8, $t7
/* 11CC40 802B3630 0018C080 */ sll $t8, $t8, 2
/* 11CC44 802B3634 030FC023 */ subu $t8, $t8, $t7
/* 11CC48 802B3638 0018C0C0 */ sll $t8, $t8, 3
/* 11CC4C 802B363C 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 11CC50 802B3640 1840001E */ blez $v0, .L802B36BC
/* 11CC54 802B3644 03198821 */ addu $s1, $t8, $t9
/* 11CC58 802B3648 2448F1C8 */ addiu $t0, $v0, -0xe38
/* 11CC5C 802B364C A6080012 */ sh $t0, 0x12($s0)
/* 11CC60 802B3650 86090012 */ lh $t1, 0x12($s0)
/* 11CC64 802B3654 240A0002 */ li $t2, 2
/* 11CC68 802B3658 240B001E */ li $t3, 30
/* 11CC6C 802B365C 05210032 */ bgez $t1, .L802B3728
/* 11CC70 802B3660 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900
/* 11CC74 802B3664 A60A0006 */ sh $t2, 6($s0)
/* 11CC78 802B3668 A60B0004 */ sh $t3, 4($s0)
/* 11CC7C 802B366C 92040015 */ lbu $a0, 0x15($s0)
/* 11CC80 802B3670 0C032418 */ jal func_800C9060
/* 11CC84 802B3674 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004
/* 11CC88 802B3678 96250254 */ lhu $a1, 0x254($s1)
/* 11CC8C 802B367C 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900
/* 11CC90 802B3680 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000
/* 11CC94 802B3684 00056100 */ sll $t4, $a1, 4
/* 11CC98 802B3688 01812821 */ addu $a1, $t4, $at
/* 11CC9C 802B368C 0C03243D */ jal func_800C90F4
/* 11CCA0 802B3690 92040015 */ lbu $a0, 0x15($s0)
/* 11CCA4 802B3694 3C0D8016 */ lui $t5, %hi(D_8015F9B8) # $t5, 0x8016
/* 11CCA8 802B3698 25ADF9B8 */ addiu $t5, %lo(D_8015F9B8) # addiu $t5, $t5, -0x648
/* 11CCAC 802B369C 020D2023 */ subu $a0, $s0, $t5
/* 11CCB0 802B36A0 24010070 */ li $at, 112
/* 11CCB4 802B36A4 0081001A */ div $zero, $a0, $at
/* 11CCB8 802B36A8 00002012 */ mflo $a0
/* 11CCBC 802B36AC 0C003B72 */ jal func_8000EDC8
/* 11CCC0 802B36B0 00000000 */ nop
/* 11CCC4 802B36B4 1000001D */ b .L802B372C
/* 11CCC8 802B36B8 860C0006 */ lh $t4, 6($s0)
.L802B36BC:
/* 11CCCC 802B36BC 244F0E38 */ addiu $t7, $v0, 0xe38
/* 11CCD0 802B36C0 A60F0012 */ sh $t7, 0x12($s0)
/* 11CCD4 802B36C4 86180012 */ lh $t8, 0x12($s0)
/* 11CCD8 802B36C8 24190002 */ li $t9, 2
/* 11CCDC 802B36CC 2408001E */ li $t0, 30
/* 11CCE0 802B36D0 1B000015 */ blez $t8, .L802B3728
/* 11CCE4 802B36D4 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900
/* 11CCE8 802B36D8 A6190006 */ sh $t9, 6($s0)
/* 11CCEC 802B36DC A6080004 */ sh $t0, 4($s0)
/* 11CCF0 802B36E0 92040015 */ lbu $a0, 0x15($s0)
/* 11CCF4 802B36E4 0C032418 */ jal func_800C9060
/* 11CCF8 802B36E8 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004
/* 11CCFC 802B36EC 96250254 */ lhu $a1, 0x254($s1)
/* 11CD00 802B36F0 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900
/* 11CD04 802B36F4 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000
/* 11CD08 802B36F8 00054900 */ sll $t1, $a1, 4
/* 11CD0C 802B36FC 01212821 */ addu $a1, $t1, $at
/* 11CD10 802B3700 0C03243D */ jal func_800C90F4
/* 11CD14 802B3704 92040015 */ lbu $a0, 0x15($s0)
/* 11CD18 802B3708 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11CD1C 802B370C 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11CD20 802B3710 020A2023 */ subu $a0, $s0, $t2
/* 11CD24 802B3714 24010070 */ li $at, 112
/* 11CD28 802B3718 0081001A */ div $zero, $a0, $at
/* 11CD2C 802B371C 00002012 */ mflo $a0
/* 11CD30 802B3720 0C003B72 */ jal func_8000EDC8
/* 11CD34 802B3724 00000000 */ nop
.L802B3728:
/* 11CD38 802B3728 860C0006 */ lh $t4, 6($s0)
.L802B372C:
/* 11CD3C 802B372C 24010002 */ li $at, 2
/* 11CD40 802B3730 1581001D */ bne $t4, $at, .L802B37A8
/* 11CD44 802B3734 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11CD48 802B3738 44811000 */ mtc1 $at, $f2
/* 11CD4C 802B373C C6200094 */ lwc1 $f0, 0x94($s1)
/* 11CD50 802B3740 44808000 */ mtc1 $zero, $f16
/* 11CD54 802B3744 3C01802C */ lui $at, %hi(D_802B9F60) # $at, 0x802c
/* 11CD58 802B3748 4600103C */ c.lt.s $f2, $f0
/* 11CD5C 802B374C 00000000 */ nop
/* 11CD60 802B3750 45020005 */ bc1fl .L802B3768
/* 11CD64 802B3754 E7B0006C */ swc1 $f16, 0x6c($sp)
/* 11CD68 802B3758 C42A9F60 */ lwc1 $f10, %lo(D_802B9F60)($at)
/* 11CD6C 802B375C 460A0082 */ mul.s $f2, $f0, $f10
/* 11CD70 802B3760 00000000 */ nop
/* 11CD74 802B3764 E7B0006C */ swc1 $f16, 0x6c($sp)
.L802B3768:
/* 11CD78 802B3768 E7B00070 */ swc1 $f16, 0x70($sp)
/* 11CD7C 802B376C E7A20074 */ swc1 $f2, 0x74($sp)
/* 11CD80 802B3770 862E00C0 */ lh $t6, 0xc0($s1)
/* 11CD84 802B3774 862D002E */ lh $t5, 0x2e($s1)
/* 11CD88 802B3778 27A4006C */ addiu $a0, $sp, 0x6c
/* 11CD8C 802B377C 01AE2821 */ addu $a1, $t5, $t6
/* 11CD90 802B3780 00057C00 */ sll $t7, $a1, 0x10
/* 11CD94 802B3784 0C0AD931 */ jal func_802B64C4
/* 11CD98 802B3788 000F2C03 */ sra $a1, $t7, 0x10
/* 11CD9C 802B378C C7B2006C */ lwc1 $f18, 0x6c($sp)
/* 11CDA0 802B3790 E6120024 */ swc1 $f18, 0x24($s0)
/* 11CDA4 802B3794 C7A40070 */ lwc1 $f4, 0x70($sp)
/* 11CDA8 802B3798 E6040028 */ swc1 $f4, 0x28($s0)
/* 11CDAC 802B379C C7A60074 */ lwc1 $f6, 0x74($sp)
/* 11CDB0 802B37A0 100000E3 */ b .L802B3B30
/* 11CDB4 802B37A4 E606002C */ swc1 $f6, 0x2c($s0)
.L802B37A8:
/* 11CDB8 802B37A8 0C0AE006 */ jal func_802B8018
/* 11CDBC 802B37AC 96040012 */ lhu $a0, 0x12($s0)
/* 11CDC0 802B37B0 3C0140C0 */ li $at, 0x40C00000 # 6.000000
/* 11CDC4 802B37B4 44814000 */ mtc1 $at, $f8
/* 11CDC8 802B37B8 00000000 */ nop
/* 11CDCC 802B37BC 46080282 */ mul.s $f10, $f0, $f8
/* 11CDD0 802B37C0 E7AA006C */ swc1 $f10, 0x6c($sp)
/* 11CDD4 802B37C4 C6240070 */ lwc1 $f4, 0x70($s1)
/* 11CDD8 802B37C8 C612000C */ lwc1 $f18, 0xc($s0)
/* 11CDDC 802B37CC 46049181 */ sub.s $f6, $f18, $f4
/* 11CDE0 802B37D0 E7A60070 */ swc1 $f6, 0x70($sp)
/* 11CDE4 802B37D4 0C0AE00E */ jal func_802B8038
/* 11CDE8 802B37D8 96040012 */ lhu $a0, 0x12($s0)
/* 11CDEC 802B37DC 3C0140C0 */ li $at, 0x40C00000 # 6.000000
/* 11CDF0 802B37E0 44814000 */ mtc1 $at, $f8
/* 11CDF4 802B37E4 27A4006C */ addiu $a0, $sp, 0x6c
/* 11CDF8 802B37E8 26250174 */ addiu $a1, $s1, 0x174
/* 11CDFC 802B37EC 46080282 */ mul.s $f10, $f0, $f8
/* 11CE00 802B37F0 0C0AD8EE */ jal func_802B63B8
/* 11CE04 802B37F4 E7AA0074 */ swc1 $f10, 0x74($sp)
/* 11CE08 802B37F8 C7B2006C */ lwc1 $f18, 0x6c($sp)
/* 11CE0C 802B37FC C6240014 */ lwc1 $f4, 0x14($s1)
/* 11CE10 802B3800 46049180 */ add.s $f6, $f18, $f4
/* 11CE14 802B3804 E6060018 */ swc1 $f6, 0x18($s0)
/* 11CE18 802B3808 C62A0018 */ lwc1 $f10, 0x18($s1)
/* 11CE1C 802B380C C7A80070 */ lwc1 $f8, 0x70($sp)
/* 11CE20 802B3810 460A4480 */ add.s $f18, $f8, $f10
/* 11CE24 802B3814 E612001C */ swc1 $f18, 0x1c($s0)
/* 11CE28 802B3818 C626001C */ lwc1 $f6, 0x1c($s1)
/* 11CE2C 802B381C C7A40074 */ lwc1 $f4, 0x74($sp)
/* 11CE30 802B3820 46062200 */ add.s $f8, $f4, $f6
/* 11CE34 802B3824 100000C2 */ b .L802B3B30
/* 11CE38 802B3828 E6080020 */ swc1 $f8, 0x20($s0)
glabel L802B382C
/* 11CE3C 802B382C 86020004 */ lh $v0, 4($s0)
/* 11CE40 802B3830 3C01C000 */ li $at, 0xC0000000 # -2.000000
/* 11CE44 802B3834 44810000 */ mtc1 $at, $f0
/* 11CE48 802B3838 18400009 */ blez $v0, .L802B3860
/* 11CE4C 802B383C 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 11CE50 802B3840 2459FFFF */ addiu $t9, $v0, -1
/* 11CE54 802B3844 A6190004 */ sh $t9, 4($s0)
/* 11CE58 802B3848 86080004 */ lh $t0, 4($s0)
/* 11CE5C 802B384C 55000005 */ bnel $t0, $zero, .L802B3864
/* 11CE60 802B3850 C60A0028 */ lwc1 $f10, 0x28($s0)
/* 11CE64 802B3854 86090002 */ lh $t1, 2($s0)
/* 11CE68 802B3858 312AEFFF */ andi $t2, $t1, 0xefff
/* 11CE6C 802B385C A60A0002 */ sh $t2, 2($s0)
.L802B3860:
/* 11CE70 802B3860 C60A0028 */ lwc1 $f10, 0x28($s0)
.L802B3864:
/* 11CE74 802B3864 44819000 */ mtc1 $at, $f18
/* 11CE78 802B3868 00000000 */ nop
/* 11CE7C 802B386C 46125101 */ sub.s $f4, $f10, $f18
/* 11CE80 802B3870 E6040028 */ swc1 $f4, 0x28($s0)
/* 11CE84 802B3874 C6060028 */ lwc1 $f6, 0x28($s0)
/* 11CE88 802B3878 4600303C */ c.lt.s $f6, $f0
/* 11CE8C 802B387C 00000000 */ nop
/* 11CE90 802B3880 45020003 */ bc1fl .L802B3890
/* 11CE94 802B3884 C6080018 */ lwc1 $f8, 0x18($s0)
/* 11CE98 802B3888 E6000028 */ swc1 $f0, 0x28($s0)
/* 11CE9C 802B388C C6080018 */ lwc1 $f8, 0x18($s0)
.L802B3890:
/* 11CEA0 802B3890 26040030 */ addiu $a0, $s0, 0x30
/* 11CEA4 802B3894 3C054080 */ lui $a1, 0x4080
/* 11CEA8 802B3898 E7A80078 */ swc1 $f8, 0x78($sp)
/* 11CEAC 802B389C C60A001C */ lwc1 $f10, 0x1c($s0)
/* 11CEB0 802B38A0 E7AA007C */ swc1 $f10, 0x7c($sp)
/* 11CEB4 802B38A4 C6120020 */ lwc1 $f18, 0x20($s0)
/* 11CEB8 802B38A8 E7B20080 */ swc1 $f18, 0x80($sp)
/* 11CEBC 802B38AC C6040018 */ lwc1 $f4, 0x18($s0)
/* 11CEC0 802B38B0 C6060024 */ lwc1 $f6, 0x24($s0)
/* 11CEC4 802B38B4 C60A001C */ lwc1 $f10, 0x1c($s0)
/* 11CEC8 802B38B8 C6120028 */ lwc1 $f18, 0x28($s0)
/* 11CECC 802B38BC 46062200 */ add.s $f8, $f4, $f6
/* 11CED0 802B38C0 C6060020 */ lwc1 $f6, 0x20($s0)
/* 11CED4 802B38C4 46125100 */ add.s $f4, $f10, $f18
/* 11CED8 802B38C8 E6080018 */ swc1 $f8, 0x18($s0)
/* 11CEDC 802B38CC C608002C */ lwc1 $f8, 0x2c($s0)
/* 11CEE0 802B38D0 8E060018 */ lw $a2, 0x18($s0)
/* 11CEE4 802B38D4 E604001C */ swc1 $f4, 0x1c($s0)
/* 11CEE8 802B38D8 46083280 */ add.s $f10, $f6, $f8
/* 11CEEC 802B38DC 8E07001C */ lw $a3, 0x1c($s0)
/* 11CEF0 802B38E0 E60A0020 */ swc1 $f10, 0x20($s0)
/* 11CEF4 802B38E4 C6120020 */ lwc1 $f18, 0x20($s0)
/* 11CEF8 802B38E8 C7A80080 */ lwc1 $f8, 0x80($sp)
/* 11CEFC 802B38EC C7A6007C */ lwc1 $f6, 0x7c($sp)
/* 11CF00 802B38F0 C7A40078 */ lwc1 $f4, 0x78($sp)
/* 11CF04 802B38F4 AFA40034 */ sw $a0, 0x34($sp)
/* 11CF08 802B38F8 E7B20010 */ swc1 $f18, 0x10($sp)
/* 11CF0C 802B38FC E7A8001C */ swc1 $f8, 0x1c($sp)
/* 11CF10 802B3900 E7A60018 */ swc1 $f6, 0x18($sp)
/* 11CF14 802B3904 0C0AB654 */ jal func_802AD950
/* 11CF18 802B3908 E7A40014 */ swc1 $f4, 0x14($sp)
/* 11CF1C 802B390C 0C0AD38C */ jal func_802B4E30
/* 11CF20 802B3910 02002025 */ move $a0, $s0
/* 11CF24 802B3914 44808000 */ mtc1 $zero, $f16
/* 11CF28 802B3918 C60A003C */ lwc1 $f10, 0x3c($s0)
/* 11CF2C 802B391C 8FA40034 */ lw $a0, 0x34($sp)
/* 11CF30 802B3920 26110024 */ addiu $s1, $s0, 0x24
/* 11CF34 802B3924 4610503C */ c.lt.s $f10, $f16
/* 11CF38 802B3928 00000000 */ nop
/* 11CF3C 802B392C 45010006 */ bc1t .L802B3948
/* 11CF40 802B3930 00000000 */ nop
/* 11CF44 802B3934 C6120040 */ lwc1 $f18, 0x40($s0)
/* 11CF48 802B3938 4610903C */ c.lt.s $f18, $f16
/* 11CF4C 802B393C 00000000 */ nop
/* 11CF50 802B3940 4502007C */ bc1fl .L802B3B34
/* 11CF54 802B3944 8FBF002C */ lw $ra, 0x2c($sp)
.L802B3948:
/* 11CF58 802B3948 0C0AB026 */ jal func_802AC098
/* 11CF5C 802B394C 02202825 */ move $a1, $s1
/* 11CF60 802B3950 3C061900 */ lui $a2, (0x19008054 >> 16) # lui $a2, 0x1900
/* 11CF64 802B3954 34C68054 */ ori $a2, (0x19008054 & 0xFFFF) # ori $a2, $a2, 0x8054
/* 11CF68 802B3958 26040018 */ addiu $a0, $s0, 0x18
/* 11CF6C 802B395C 0C03262E */ jal func_800C98B8
/* 11CF70 802B3960 02202825 */ move $a1, $s1
/* 11CF74 802B3964 860B0002 */ lh $t3, 2($s0)
/* 11CF78 802B3968 356C0080 */ ori $t4, $t3, 0x80
/* 11CF7C 802B396C 10000070 */ b .L802B3B30
/* 11CF80 802B3970 A60C0002 */ sh $t4, 2($s0)
glabel L802B3974
/* 11CF84 802B3974 860D0014 */ lh $t5, 0x14($s0)
/* 11CF88 802B3978 86180004 */ lh $t8, 4($s0)
/* 11CF8C 802B397C 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11CF90 802B3980 000D70C0 */ sll $t6, $t5, 3
/* 11CF94 802B3984 0018C8C0 */ sll $t9, $t8, 3
/* 11CF98 802B3988 01CD7023 */ subu $t6, $t6, $t5
/* 11CF9C 802B398C 0338C823 */ subu $t9, $t9, $t8
/* 11CFA0 802B3990 000E7100 */ sll $t6, $t6, 4
/* 11CFA4 802B3994 0019C900 */ sll $t9, $t9, 4
/* 11CFA8 802B3998 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11CFAC 802B399C 03281021 */ addu $v0, $t9, $t0
/* 11CFB0 802B39A0 01CD7023 */ subu $t6, $t6, $t5
/* 11CFB4 802B39A4 84490000 */ lh $t1, ($v0)
/* 11CFB8 802B39A8 000E7080 */ sll $t6, $t6, 2
/* 11CFBC 802B39AC 3C0F800F */ lui $t7, %hi(D_800F6990) # $t7, 0x800f
/* 11CFC0 802B39B0 01CD7023 */ subu $t6, $t6, $t5
/* 11CFC4 802B39B4 000E70C0 */ sll $t6, $t6, 3
/* 11CFC8 802B39B8 25EF6990 */ addiu $t7, %lo(D_800F6990) # addiu $t7, $t7, 0x6990
/* 11CFCC 802B39BC 24010015 */ li $at, 21
/* 11CFD0 802B39C0 11210005 */ beq $t1, $at, .L802B39D8
/* 11CFD4 802B39C4 01CF8821 */ addu $s1, $t6, $t7
/* 11CFD8 802B39C8 0C0A7F72 */ jal func_8029FDC8
/* 11CFDC 802B39CC 02002025 */ move $a0, $s0
/* 11CFE0 802B39D0 10000058 */ b .L802B3B34
/* 11CFE4 802B39D4 8FBF002C */ lw $ra, 0x2c($sp)
.L802B39D8:
/* 11CFE8 802B39D8 860A0012 */ lh $t2, 0x12($s0)
/* 11CFEC 802B39DC 844B0010 */ lh $t3, 0x10($v0)
/* 11CFF0 802B39E0 014B6021 */ addu $t4, $t2, $t3
/* 11CFF4 802B39E4 A60C0012 */ sh $t4, 0x12($s0)
/* 11CFF8 802B39E8 0C0AE006 */ jal func_802B8018
/* 11CFFC 802B39EC 3184FFFF */ andi $a0, $t4, 0xffff
/* 11D000 802B39F0 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11D004 802B39F4 44816000 */ mtc1 $at, $f12
/* 11D008 802B39F8 00000000 */ nop
/* 11D00C 802B39FC 460C0102 */ mul.s $f4, $f0, $f12
/* 11D010 802B3A00 E7A4006C */ swc1 $f4, 0x6c($sp)
/* 11D014 802B3A04 C6280070 */ lwc1 $f8, 0x70($s1)
/* 11D018 802B3A08 C606000C */ lwc1 $f6, 0xc($s0)
/* 11D01C 802B3A0C 46083281 */ sub.s $f10, $f6, $f8
/* 11D020 802B3A10 E7AA0070 */ swc1 $f10, 0x70($sp)
/* 11D024 802B3A14 0C0AE00E */ jal func_802B8038
/* 11D028 802B3A18 96040012 */ lhu $a0, 0x12($s0)
/* 11D02C 802B3A1C 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11D030 802B3A20 44816000 */ mtc1 $at, $f12
/* 11D034 802B3A24 27A4006C */ addiu $a0, $sp, 0x6c
/* 11D038 802B3A28 26250174 */ addiu $a1, $s1, 0x174
/* 11D03C 802B3A2C 460C0482 */ mul.s $f18, $f0, $f12
/* 11D040 802B3A30 0C0AD8EE */ jal func_802B63B8
/* 11D044 802B3A34 E7B20074 */ swc1 $f18, 0x74($sp)
/* 11D048 802B3A38 C6040018 */ lwc1 $f4, 0x18($s0)
/* 11D04C 802B3A3C C7AA006C */ lwc1 $f10, 0x6c($sp)
/* 11D050 802B3A40 26040030 */ addiu $a0, $s0, 0x30
/* 11D054 802B3A44 E7A40078 */ swc1 $f4, 0x78($sp)
/* 11D058 802B3A48 C606001C */ lwc1 $f6, 0x1c($s0)
/* 11D05C 802B3A4C 3C054080 */ lui $a1, 0x4080
/* 11D060 802B3A50 E7A6007C */ swc1 $f6, 0x7c($sp)
/* 11D064 802B3A54 C6080020 */ lwc1 $f8, 0x20($s0)
/* 11D068 802B3A58 E7A80080 */ swc1 $f8, 0x80($sp)
/* 11D06C 802B3A5C C6320014 */ lwc1 $f18, 0x14($s1)
/* 11D070 802B3A60 46125100 */ add.s $f4, $f10, $f18
/* 11D074 802B3A64 E6040018 */ swc1 $f4, 0x18($s0)
/* 11D078 802B3A68 C6280018 */ lwc1 $f8, 0x18($s1)
/* 11D07C 802B3A6C C7A60070 */ lwc1 $f6, 0x70($sp)
/* 11D080 802B3A70 8E060018 */ lw $a2, 0x18($s0)
/* 11D084 802B3A74 46083280 */ add.s $f10, $f6, $f8
/* 11D088 802B3A78 E60A001C */ swc1 $f10, 0x1c($s0)
/* 11D08C 802B3A7C C624001C */ lwc1 $f4, 0x1c($s1)
/* 11D090 802B3A80 C7B20074 */ lwc1 $f18, 0x74($sp)
/* 11D094 802B3A84 8E07001C */ lw $a3, 0x1c($s0)
/* 11D098 802B3A88 46049180 */ add.s $f6, $f18, $f4
/* 11D09C 802B3A8C E6060020 */ swc1 $f6, 0x20($s0)
/* 11D0A0 802B3A90 C6080020 */ lwc1 $f8, 0x20($s0)
/* 11D0A4 802B3A94 C7A40080 */ lwc1 $f4, 0x80($sp)
/* 11D0A8 802B3A98 C7B2007C */ lwc1 $f18, 0x7c($sp)
/* 11D0AC 802B3A9C C7AA0078 */ lwc1 $f10, 0x78($sp)
/* 11D0B0 802B3AA0 E7A80010 */ swc1 $f8, 0x10($sp)
/* 11D0B4 802B3AA4 E7A4001C */ swc1 $f4, 0x1c($sp)
/* 11D0B8 802B3AA8 E7B20018 */ swc1 $f18, 0x18($sp)
/* 11D0BC 802B3AAC 0C0AB654 */ jal func_802AD950
/* 11D0C0 802B3AB0 E7AA0014 */ swc1 $f10, 0x14($sp)
/* 11D0C4 802B3AB4 0C0AD38C */ jal func_802B4E30
/* 11D0C8 802B3AB8 02002025 */ move $a0, $s0
/* 11D0CC 802B3ABC 1000001D */ b .L802B3B34
/* 11D0D0 802B3AC0 8FBF002C */ lw $ra, 0x2c($sp)
glabel L802B3AC4
/* 11D0D4 802B3AC4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000
/* 11D0D8 802B3AC8 44816000 */ mtc1 $at, $f12
/* 11D0DC 802B3ACC 3C01802C */ lui $at, %hi(D_802B9F64) # $at, 0x802c
/* 11D0E0 802B3AD0 C4289F64 */ lwc1 $f8, %lo(D_802B9F64)($at)
/* 11D0E4 802B3AD4 C6060028 */ lwc1 $f6, 0x28($s0)
/* 11D0E8 802B3AD8 46083281 */ sub.s $f10, $f6, $f8
/* 11D0EC 802B3ADC E60A0028 */ swc1 $f10, 0x28($s0)
/* 11D0F0 802B3AE0 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11D0F4 802B3AE4 460C003C */ c.lt.s $f0, $f12
/* 11D0F8 802B3AE8 00000000 */ nop
/* 11D0FC 802B3AEC 45020004 */ bc1fl .L802B3B00
/* 11D100 802B3AF0 860F0004 */ lh $t7, 4($s0)
/* 11D104 802B3AF4 E60C0028 */ swc1 $f12, 0x28($s0)
/* 11D108 802B3AF8 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11D10C 802B3AFC 860F0004 */ lh $t7, 4($s0)
.L802B3B00:
/* 11D110 802B3B00 C612001C */ lwc1 $f18, 0x1c($s0)
/* 11D114 802B3B04 860D0012 */ lh $t5, 0x12($s0)
/* 11D118 802B3B08 25F8FFFF */ addiu $t8, $t7, -1
/* 11D11C 802B3B0C A6180004 */ sh $t8, 4($s0)
/* 11D120 802B3B10 46009100 */ add.s $f4, $f18, $f0
/* 11D124 802B3B14 86190004 */ lh $t9, 4($s0)
/* 11D128 802B3B18 25AE05B0 */ addiu $t6, $t5, 0x5b0
/* 11D12C 802B3B1C A60E0012 */ sh $t6, 0x12($s0)
/* 11D130 802B3B20 17200003 */ bnez $t9, .L802B3B30
/* 11D134 802B3B24 E604001C */ swc1 $f4, 0x1c($s0)
/* 11D138 802B3B28 0C0A7A15 */ jal func_8029E854
/* 11D13C 802B3B2C 02002025 */ move $a0, $s0
.L802B3B30:
glabel L802B3B30
/* 11D140 802B3B30 8FBF002C */ lw $ra, 0x2c($sp)
.L802B3B34:
/* 11D144 802B3B34 8FB00024 */ lw $s0, 0x24($sp)
/* 11D148 802B3B38 8FB10028 */ lw $s1, 0x28($sp)
/* 11D14C 802B3B3C 03E00008 */ jr $ra
/* 11D150 802B3B40 27BD0090 */ addiu $sp, $sp, 0x90
glabel func_802B3B44
/* 11D154 802B3B44 27BDFF40 */ addiu $sp, $sp, -0xc0
/* 11D158 802B3B48 AFBF0054 */ sw $ra, 0x54($sp)
/* 11D15C 802B3B4C AFB00050 */ sw $s0, 0x50($sp)
/* 11D160 802B3B50 F7BC0048 */ sdc1 $f28, 0x48($sp)
/* 11D164 802B3B54 F7BA0040 */ sdc1 $f26, 0x40($sp)
/* 11D168 802B3B58 F7B80038 */ sdc1 $f24, 0x38($sp)
/* 11D16C 802B3B5C F7B60030 */ sdc1 $f22, 0x30($sp)
/* 11D170 802B3B60 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 11D174 802B3B64 94830012 */ lhu $v1, 0x12($a0)
/* 11D178 802B3B68 3C098016 */ lui $t1, %hi(D_80164490) # $t1, 0x8016
/* 11D17C 802B3B6C 8D294490 */ lw $t1, %lo(D_80164490)($t1)
/* 11D180 802B3B70 000370C0 */ sll $t6, $v1, 3
/* 11D184 802B3B74 3C088016 */ lui $t0, %hi(D_80164430) # $t0, 0x8016
/* 11D188 802B3B78 012E1021 */ addu $v0, $t1, $t6
/* 11D18C 802B3B7C 844F0000 */ lh $t7, ($v0)
/* 11D190 802B3B80 84580002 */ lh $t8, 2($v0)
/* 11D194 802B3B84 84590004 */ lh $t9, 4($v0)
/* 11D198 802B3B88 95084430 */ lhu $t0, %lo(D_80164430)($t0)
/* 11D19C 802B3B8C 24650001 */ addiu $a1, $v1, 1
/* 11D1A0 802B3B90 448F2000 */ mtc1 $t7, $f4
/* 11D1A4 802B3B94 44983000 */ mtc1 $t8, $f6
/* 11D1A8 802B3B98 44994000 */ mtc1 $t9, $f8
/* 11D1AC 802B3B9C 30A7FFFF */ andi $a3, $a1, 0xffff
/* 11D1B0 802B3BA0 00E8082A */ slt $at, $a3, $t0
/* 11D1B4 802B3BA4 00808025 */ move $s0, $a0
/* 11D1B8 802B3BA8 30A6FFFF */ andi $a2, $a1, 0xffff
/* 11D1BC 802B3BAC 468020A0 */ cvt.s.w $f2, $f4
/* 11D1C0 802B3BB0 46803320 */ cvt.s.w $f12, $f6
/* 11D1C4 802B3BB4 14200004 */ bnez $at, .L802B3BC8
/* 11D1C8 802B3BB8 46804720 */ cvt.s.w $f28, $f8
/* 11D1CC 802B3BBC 00E83023 */ subu $a2, $a3, $t0
/* 11D1D0 802B3BC0 30CAFFFF */ andi $t2, $a2, 0xffff
/* 11D1D4 802B3BC4 01403025 */ move $a2, $t2
.L802B3BC8:
/* 11D1D8 802B3BC8 C6000018 */ lwc1 $f0, 0x18($s0)
/* 11D1DC 802B3BCC C610001C */ lwc1 $f16, 0x1c($s0)
/* 11D1E0 802B3BD0 C6120020 */ lwc1 $f18, 0x20($s0)
/* 11D1E4 802B3BD4 46001501 */ sub.s $f20, $f2, $f0
/* 11D1E8 802B3BD8 3C0143C8 */ li $at, 0x43C80000 # 400.000000
/* 11D1EC 802B3BDC 000658C0 */ sll $t3, $a2, 3
/* 11D1F0 802B3BE0 46106581 */ sub.s $f22, $f12, $f16
/* 11D1F4 802B3BE4 4614A282 */ mul.s $f10, $f20, $f20
/* 11D1F8 802B3BE8 012B1021 */ addu $v0, $t1, $t3
/* 11D1FC 802B3BEC 4612E601 */ sub.s $f24, $f28, $f18
/* 11D200 802B3BF0 4616B102 */ mul.s $f4, $f22, $f22
/* 11D204 802B3BF4 E7A00060 */ swc1 $f0, 0x60($sp)
/* 11D208 802B3BF8 E7B0005C */ swc1 $f16, 0x5c($sp)
/* 11D20C 802B3BFC 4618C202 */ mul.s $f8, $f24, $f24
/* 11D210 802B3C00 E7B20058 */ swc1 $f18, 0x58($sp)
/* 11D214 802B3C04 46045180 */ add.s $f6, $f10, $f4
/* 11D218 802B3C08 44815000 */ mtc1 $at, $f10
/* 11D21C 802B3C0C 3C0140A0 */ li $at, 0x40A00000 # 5.000000
/* 11D220 802B3C10 46083380 */ add.s $f14, $f6, $f8
/* 11D224 802B3C14 460E503C */ c.lt.s $f10, $f14
/* 11D228 802B3C18 00000000 */ nop
/* 11D22C 802B3C1C 45020062 */ bc1fl .L802B3DA8
/* 11D230 802B3C20 44812000 */ mtc1 $at, $f4
/* 11D234 802B3C24 844C0000 */ lh $t4, ($v0)
/* 11D238 802B3C28 844D0002 */ lh $t5, 2($v0)
/* 11D23C 802B3C2C 844E0004 */ lh $t6, 4($v0)
/* 11D240 802B3C30 448C2000 */ mtc1 $t4, $f4
/* 11D244 802B3C34 448D3000 */ mtc1 $t5, $f6
/* 11D248 802B3C38 C7AA0060 */ lwc1 $f10, 0x60($sp)
/* 11D24C 802B3C3C 46802420 */ cvt.s.w $f16, $f4
/* 11D250 802B3C40 448E4000 */ mtc1 $t6, $f8
/* 11D254 802B3C44 C7A4005C */ lwc1 $f4, 0x5c($sp)
/* 11D258 802B3C48 468034A0 */ cvt.s.w $f18, $f6
/* 11D25C 802B3C4C C7A60058 */ lwc1 $f6, 0x58($sp)
/* 11D260 802B3C50 460A8001 */ sub.s $f0, $f16, $f10
/* 11D264 802B3C54 468046A0 */ cvt.s.w $f26, $f8
/* 11D268 802B3C58 46000202 */ mul.s $f8, $f0, $f0
/* 11D26C 802B3C5C 46049081 */ sub.s $f2, $f18, $f4
/* 11D270 802B3C60 4606D301 */ sub.s $f12, $f26, $f6
/* 11D274 802B3C64 46021282 */ mul.s $f10, $f2, $f2
/* 11D278 802B3C68 460A4100 */ add.s $f4, $f8, $f10
/* 11D27C 802B3C6C 460C6182 */ mul.s $f6, $f12, $f12
/* 11D280 802B3C70 46062200 */ add.s $f8, $f4, $f6
/* 11D284 802B3C74 460E403C */ c.lt.s $f8, $f14
/* 11D288 802B3C78 00000000 */ nop
/* 11D28C 802B3C7C 45000003 */ bc1f .L802B3C8C
/* 11D290 802B3C80 00000000 */ nop
/* 11D294 802B3C84 10000074 */ b .L802B3E58
/* 11D298 802B3C88 A6060012 */ sh $a2, 0x12($s0)
.L802B3C8C:
/* 11D29C 802B3C8C 0C033850 */ jal sqrtf
/* 11D2A0 802B3C90 46007306 */ mov.s $f12, $f14
/* 11D2A4 802B3C94 3C014080 */ li $at, 0x40800000 # 4.000000
/* 11D2A8 802B3C98 4481D000 */ mtc1 $at, $f26
/* 11D2AC 802B3C9C C6020024 */ lwc1 $f2, 0x24($s0)
/* 11D2B0 802B3CA0 C60E0028 */ lwc1 $f14, 0x28($s0)
/* 11D2B4 802B3CA4 461A0482 */ mul.s $f18, $f0, $f26
/* 11D2B8 802B3CA8 C610002C */ lwc1 $f16, 0x2c($s0)
/* 11D2BC 802B3CAC 4612A503 */ div.s $f20, $f20, $f18
/* 11D2C0 802B3CB0 4612B583 */ div.s $f22, $f22, $f18
/* 11D2C4 802B3CB4 46141080 */ add.s $f2, $f2, $f20
/* 11D2C8 802B3CB8 46021282 */ mul.s $f10, $f2, $f2
/* 11D2CC 802B3CBC E7A200AC */ swc1 $f2, 0xac($sp)
/* 11D2D0 802B3CC0 4612C603 */ div.s $f24, $f24, $f18
/* 11D2D4 802B3CC4 46167380 */ add.s $f14, $f14, $f22
/* 11D2D8 802B3CC8 460E7102 */ mul.s $f4, $f14, $f14
/* 11D2DC 802B3CCC E7AE00A8 */ swc1 $f14, 0xa8($sp)
/* 11D2E0 802B3CD0 46045180 */ add.s $f6, $f10, $f4
/* 11D2E4 802B3CD4 46188400 */ add.s $f16, $f16, $f24
/* 11D2E8 802B3CD8 46108202 */ mul.s $f8, $f16, $f16
/* 11D2EC 802B3CDC E7B000A4 */ swc1 $f16, 0xa4($sp)
/* 11D2F0 802B3CE0 0C033850 */ jal sqrtf
/* 11D2F4 802B3CE4 46083300 */ add.s $f12, $f6, $f8
/* 11D2F8 802B3CE8 3C0140C0 */ li $at, 0x40C00000 # 6.000000
/* 11D2FC 802B3CEC 44819000 */ mtc1 $at, $f18
/* 11D300 802B3CF0 C7A200AC */ lwc1 $f2, 0xac($sp)
/* 11D304 802B3CF4 C7AE00A8 */ lwc1 $f14, 0xa8($sp)
/* 11D308 802B3CF8 4600903C */ c.lt.s $f18, $f0
/* 11D30C 802B3CFC C7B000A4 */ lwc1 $f16, 0xa4($sp)
/* 11D310 802B3D00 45020006 */ bc1fl .L802B3D1C
/* 11D314 802B3D04 C60A0018 */ lwc1 $f10, 0x18($s0)
/* 11D318 802B3D08 46120303 */ div.s $f12, $f0, $f18
/* 11D31C 802B3D0C 460C1083 */ div.s $f2, $f2, $f12
/* 11D320 802B3D10 460C7383 */ div.s $f14, $f14, $f12
/* 11D324 802B3D14 460C8403 */ div.s $f16, $f16, $f12
/* 11D328 802B3D18 C60A0018 */ lwc1 $f10, 0x18($s0)
.L802B3D1C:
/* 11D32C 802B3D1C E6020024 */ swc1 $f2, 0x24($s0)
/* 11D330 802B3D20 E60E0028 */ swc1 $f14, 0x28($s0)
/* 11D334 802B3D24 E610002C */ swc1 $f16, 0x2c($s0)
/* 11D338 802B3D28 E7AA0068 */ swc1 $f10, 0x68($sp)
/* 11D33C 802B3D2C C604001C */ lwc1 $f4, 0x1c($s0)
/* 11D340 802B3D30 4405D000 */ mfc1 $a1, $f26
/* 11D344 802B3D34 26040030 */ addiu $a0, $s0, 0x30
/* 11D348 802B3D38 E7A4006C */ swc1 $f4, 0x6c($sp)
/* 11D34C 802B3D3C C6060020 */ lwc1 $f6, 0x20($s0)
/* 11D350 802B3D40 E7A60070 */ swc1 $f6, 0x70($sp)
/* 11D354 802B3D44 C6080018 */ lwc1 $f8, 0x18($s0)
/* 11D358 802B3D48 C604001C */ lwc1 $f4, 0x1c($s0)
/* 11D35C 802B3D4C 46024280 */ add.s $f10, $f8, $f2
/* 11D360 802B3D50 C6080020 */ lwc1 $f8, 0x20($s0)
/* 11D364 802B3D54 460E2180 */ add.s $f6, $f4, $f14
/* 11D368 802B3D58 E60A0018 */ swc1 $f10, 0x18($s0)
/* 11D36C 802B3D5C 8E060018 */ lw $a2, 0x18($s0)
/* 11D370 802B3D60 46104280 */ add.s $f10, $f8, $f16
/* 11D374 802B3D64 E606001C */ swc1 $f6, 0x1c($s0)
/* 11D378 802B3D68 8E07001C */ lw $a3, 0x1c($s0)
/* 11D37C 802B3D6C E60A0020 */ swc1 $f10, 0x20($s0)
/* 11D380 802B3D70 C6040020 */ lwc1 $f4, 0x20($s0)
/* 11D384 802B3D74 C7AA0070 */ lwc1 $f10, 0x70($sp)
/* 11D388 802B3D78 C7A8006C */ lwc1 $f8, 0x6c($sp)
/* 11D38C 802B3D7C C7A60068 */ lwc1 $f6, 0x68($sp)
/* 11D390 802B3D80 E7A40010 */ swc1 $f4, 0x10($sp)
/* 11D394 802B3D84 E7AA001C */ swc1 $f10, 0x1c($sp)
/* 11D398 802B3D88 E7A80018 */ swc1 $f8, 0x18($sp)
/* 11D39C 802B3D8C 0C0AB654 */ jal func_802AD950
/* 11D3A0 802B3D90 E7A60014 */ swc1 $f6, 0x14($sp)
/* 11D3A4 802B3D94 0C0AD38C */ jal func_802B4E30
/* 11D3A8 802B3D98 02002025 */ move $a0, $s0
/* 11D3AC 802B3D9C 1000002F */ b .L802B3E5C
/* 11D3B0 802B3DA0 8FBF0054 */ lw $ra, 0x54($sp)
/* 11D3B4 802B3DA4 44812000 */ mtc1 $at, $f4
.L802B3DA8:
/* 11D3B8 802B3DA8 000678C0 */ sll $t7, $a2, 3
/* 11D3BC 802B3DAC 012F1021 */ addu $v0, $t1, $t7
/* 11D3C0 802B3DB0 460E203C */ c.lt.s $f4, $f14
/* 11D3C4 802B3DB4 00000000 */ nop
/* 11D3C8 802B3DB8 45020009 */ bc1fl .L802B3DE0
/* 11D3CC 802B3DBC 84580000 */ lh $t8, ($v0)
/* 11D3D0 802B3DC0 C606000C */ lwc1 $f6, 0xc($s0)
/* 11D3D4 802B3DC4 E6020018 */ swc1 $f2, 0x18($s0)
/* 11D3D8 802B3DC8 E61C0020 */ swc1 $f28, 0x20($s0)
/* 11D3DC 802B3DCC 460C3200 */ add.s $f8, $f6, $f12
/* 11D3E0 802B3DD0 A6060012 */ sh $a2, 0x12($s0)
/* 11D3E4 802B3DD4 10000020 */ b .L802B3E58
/* 11D3E8 802B3DD8 E608001C */ swc1 $f8, 0x1c($s0)
/* 11D3EC 802B3DDC 84580000 */ lh $t8, ($v0)
.L802B3DE0:
/* 11D3F0 802B3DE0 84590002 */ lh $t9, 2($v0)
/* 11D3F4 802B3DE4 844A0004 */ lh $t2, 4($v0)
/* 11D3F8 802B3DE8 44985000 */ mtc1 $t8, $f10
/* 11D3FC 802B3DEC 44992000 */ mtc1 $t9, $f4
/* 11D400 802B3DF0 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 11D404 802B3DF4 46805420 */ cvt.s.w $f16, $f10
/* 11D408 802B3DF8 44810000 */ mtc1 $at, $f0
/* 11D40C 802B3DFC 448A3000 */ mtc1 $t2, $f6
/* 11D410 802B3E00 468024A0 */ cvt.s.w $f18, $f4
/* 11D414 802B3E04 46101200 */ add.s $f8, $f2, $f16
/* 11D418 802B3E08 46126100 */ add.s $f4, $f12, $f18
/* 11D41C 802B3E0C 46004282 */ mul.s $f10, $f8, $f0
/* 11D420 802B3E10 C608000C */ lwc1 $f8, 0xc($s0)
/* 11D424 802B3E14 468036A0 */ cvt.s.w $f26, $f6
/* 11D428 802B3E18 46002182 */ mul.s $f6, $f4, $f0
/* 11D42C 802B3E1C E60A0018 */ swc1 $f10, 0x18($s0)
/* 11D430 802B3E20 461AE100 */ add.s $f4, $f28, $f26
/* 11D434 802B3E24 46083280 */ add.s $f10, $f6, $f8
/* 11D438 802B3E28 46002182 */ mul.s $f6, $f4, $f0
/* 11D43C 802B3E2C 46028201 */ sub.s $f8, $f16, $f2
/* 11D440 802B3E30 E60A001C */ swc1 $f10, 0x1c($s0)
/* 11D444 802B3E34 460C9101 */ sub.s $f4, $f18, $f12
/* 11D448 802B3E38 46004282 */ mul.s $f10, $f8, $f0
/* 11D44C 802B3E3C E6060020 */ swc1 $f6, 0x20($s0)
/* 11D450 802B3E40 461CD201 */ sub.s $f8, $f26, $f28
/* 11D454 802B3E44 46002182 */ mul.s $f6, $f4, $f0
/* 11D458 802B3E48 E60A0024 */ swc1 $f10, 0x24($s0)
/* 11D45C 802B3E4C 46004282 */ mul.s $f10, $f8, $f0
/* 11D460 802B3E50 E6060028 */ swc1 $f6, 0x28($s0)
/* 11D464 802B3E54 E60A002C */ swc1 $f10, 0x2c($s0)
.L802B3E58:
/* 11D468 802B3E58 8FBF0054 */ lw $ra, 0x54($sp)
.L802B3E5C:
/* 11D46C 802B3E5C D7B40028 */ ldc1 $f20, 0x28($sp)
/* 11D470 802B3E60 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 11D474 802B3E64 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 11D478 802B3E68 D7BA0040 */ ldc1 $f26, 0x40($sp)
/* 11D47C 802B3E6C D7BC0048 */ ldc1 $f28, 0x48($sp)
/* 11D480 802B3E70 8FB00050 */ lw $s0, 0x50($sp)
/* 11D484 802B3E74 03E00008 */ jr $ra
/* 11D488 802B3E78 27BD00C0 */ addiu $sp, $sp, 0xc0
glabel func_802B3E7C
/* 11D48C 802B3E7C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 11D490 802B3E80 AFBF002C */ sw $ra, 0x2c($sp)
/* 11D494 802B3E84 AFB00028 */ sw $s0, 0x28($sp)
/* 11D498 802B3E88 C4A20014 */ lwc1 $f2, 0x14($a1)
/* 11D49C 802B3E8C C4840018 */ lwc1 $f4, 0x18($a0)
/* 11D4A0 802B3E90 C4AE001C */ lwc1 $f14, 0x1c($a1)
/* 11D4A4 802B3E94 C4860020 */ lwc1 $f6, 0x20($a0)
/* 11D4A8 802B3E98 46041081 */ sub.s $f2, $f2, $f4
/* 11D4AC 802B3E9C 00808025 */ move $s0, $a0
/* 11D4B0 802B3EA0 AFA5004C */ sw $a1, 0x4c($sp)
/* 11D4B4 802B3EA4 46067381 */ sub.s $f14, $f14, $f6
/* 11D4B8 802B3EA8 46021202 */ mul.s $f8, $f2, $f2
/* 11D4BC 802B3EAC E7A20044 */ swc1 $f2, 0x44($sp)
/* 11D4C0 802B3EB0 460E7282 */ mul.s $f10, $f14, $f14
/* 11D4C4 802B3EB4 E7AE0040 */ swc1 $f14, 0x40($sp)
/* 11D4C8 802B3EB8 0C033850 */ jal sqrtf
/* 11D4CC 802B3EBC 460A4300 */ add.s $f12, $f8, $f10
/* 11D4D0 802B3EC0 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11D4D4 802B3EC4 44819000 */ mtc1 $at, $f18
/* 11D4D8 802B3EC8 44808000 */ mtc1 $zero, $f16
/* 11D4DC 802B3ECC 8FA5004C */ lw $a1, 0x4c($sp)
/* 11D4E0 802B3ED0 46120303 */ div.s $f12, $f0, $f18
/* 11D4E4 802B3ED4 C7A20044 */ lwc1 $f2, 0x44($sp)
/* 11D4E8 802B3ED8 C7AE0040 */ lwc1 $f14, 0x40($sp)
/* 11D4EC 802B3EDC 26040030 */ addiu $a0, $s0, 0x30
/* 11D4F0 802B3EE0 460C8032 */ c.eq.s $f16, $f12
/* 11D4F4 802B3EE4 00000000 */ nop
/* 11D4F8 802B3EE8 45020005 */ bc1fl .L802B3F00
/* 11D4FC 802B3EEC 460C1083 */ div.s $f2, $f2, $f12
/* 11D500 802B3EF0 46008086 */ mov.s $f2, $f16
/* 11D504 802B3EF4 10000003 */ b .L802B3F04
/* 11D508 802B3EF8 46008386 */ mov.s $f14, $f16
/* 11D50C 802B3EFC 460C1083 */ div.s $f2, $f2, $f12
.L802B3F00:
/* 11D510 802B3F00 460C7383 */ div.s $f14, $f14, $f12
.L802B3F04:
/* 11D514 802B3F04 C6040018 */ lwc1 $f4, 0x18($s0)
/* 11D518 802B3F08 3C014000 */ li $at, 0x40000000 # 2.000000
/* 11D51C 802B3F0C E7A40030 */ swc1 $f4, 0x30($sp)
/* 11D520 802B3F10 C606001C */ lwc1 $f6, 0x1c($s0)
/* 11D524 802B3F14 E7A60034 */ swc1 $f6, 0x34($sp)
/* 11D528 802B3F18 C6080020 */ lwc1 $f8, 0x20($s0)
/* 11D52C 802B3F1C 44813000 */ mtc1 $at, $f6
/* 11D530 802B3F20 3C01C000 */ li $at, 0xC0000000 # -2.000000
/* 11D534 802B3F24 E7A80038 */ swc1 $f8, 0x38($sp)
/* 11D538 802B3F28 C60A0018 */ lwc1 $f10, 0x18($s0)
/* 11D53C 802B3F2C C604001C */ lwc1 $f4, 0x1c($s0)
/* 11D540 802B3F30 E6020024 */ swc1 $f2, 0x24($s0)
/* 11D544 802B3F34 46025480 */ add.s $f18, $f10, $f2
/* 11D548 802B3F38 C60A0020 */ lwc1 $f10, 0x20($s0)
/* 11D54C 802B3F3C E60E002C */ swc1 $f14, 0x2c($s0)
/* 11D550 802B3F40 46062201 */ sub.s $f8, $f4, $f6
/* 11D554 802B3F44 E6120018 */ swc1 $f18, 0x18($s0)
/* 11D558 802B3F48 44812000 */ mtc1 $at, $f4
/* 11D55C 802B3F4C 460E5480 */ add.s $f18, $f10, $f14
/* 11D560 802B3F50 E608001C */ swc1 $f8, 0x1c($s0)
/* 11D564 802B3F54 E6040028 */ swc1 $f4, 0x28($s0)
/* 11D568 802B3F58 E6120020 */ swc1 $f18, 0x20($s0)
/* 11D56C 802B3F5C 8CAE00BC */ lw $t6, 0xbc($a1)
/* 11D570 802B3F60 3C054080 */ lui $a1, 0x4080
/* 11D574 802B3F64 000E7800 */ sll $t7, $t6, 0
/* 11D578 802B3F68 05E30006 */ bgezl $t7, .L802B3F84
/* 11D57C 802B3F6C C6060020 */ lwc1 $f6, 0x20($s0)
/* 11D580 802B3F70 0C0A7F72 */ jal func_8029FDC8
/* 11D584 802B3F74 02002025 */ move $a0, $s0
/* 11D588 802B3F78 10000011 */ b .L802B3FC0
/* 11D58C 802B3F7C 8FBF002C */ lw $ra, 0x2c($sp)
/* 11D590 802B3F80 C6060020 */ lwc1 $f6, 0x20($s0)
.L802B3F84:
/* 11D594 802B3F84 8E060018 */ lw $a2, 0x18($s0)
/* 11D598 802B3F88 8E07001C */ lw $a3, 0x1c($s0)
/* 11D59C 802B3F8C C7A80030 */ lwc1 $f8, 0x30($sp)
/* 11D5A0 802B3F90 C7AA0034 */ lwc1 $f10, 0x34($sp)
/* 11D5A4 802B3F94 C7B20038 */ lwc1 $f18, 0x38($sp)
/* 11D5A8 802B3F98 E7A60010 */ swc1 $f6, 0x10($sp)
/* 11D5AC 802B3F9C E7A80014 */ swc1 $f8, 0x14($sp)
/* 11D5B0 802B3FA0 E7AA0018 */ swc1 $f10, 0x18($sp)
/* 11D5B4 802B3FA4 0C0AB654 */ jal func_802AD950
/* 11D5B8 802B3FA8 E7B2001C */ swc1 $f18, 0x1c($sp)
/* 11D5BC 802B3FAC 0C0AD38C */ jal func_802B4E30
/* 11D5C0 802B3FB0 02002025 */ move $a0, $s0
/* 11D5C4 802B3FB4 0C0AD041 */ jal func_802B4104
/* 11D5C8 802B3FB8 02002025 */ move $a0, $s0
/* 11D5CC 802B3FBC 8FBF002C */ lw $ra, 0x2c($sp)
.L802B3FC0:
/* 11D5D0 802B3FC0 8FB00028 */ lw $s0, 0x28($sp)
/* 11D5D4 802B3FC4 27BD0048 */ addiu $sp, $sp, 0x48
/* 11D5D8 802B3FC8 03E00008 */ jr $ra
/* 11D5DC 802B3FCC 00000000 */ nop
glabel func_802B3FD0
/* 11D5E0 802B3FD0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 11D5E4 802B3FD4 AFB60038 */ sw $s6, 0x38($sp)
/* 11D5E8 802B3FD8 AFB50034 */ sw $s5, 0x34($sp)
/* 11D5EC 802B3FDC AFB00020 */ sw $s0, 0x20($sp)
/* 11D5F0 802B3FE0 AFBE0040 */ sw $fp, 0x40($sp)
/* 11D5F4 802B3FE4 AFB7003C */ sw $s7, 0x3c($sp)
/* 11D5F8 802B3FE8 AFB40030 */ sw $s4, 0x30($sp)
/* 11D5FC 802B3FEC AFB3002C */ sw $s3, 0x2c($sp)
/* 11D600 802B3FF0 AFB20028 */ sw $s2, 0x28($sp)
/* 11D604 802B3FF4 AFB10024 */ sw $s1, 0x24($sp)
/* 11D608 802B3FF8 F7B40018 */ sdc1 $f20, 0x18($sp)
/* 11D60C 802B3FFC 3C01802C */ lui $at, %hi(D_802B9F68) # $at, 0x802c
/* 11D610 802B4000 3C10800F */ lui $s0, %hi(D_800F6990) # $s0, 0x800f
/* 11D614 802B4004 3C158019 */ lui $s5, %hi(D_8018D8C0) # $s5, 0x8019
/* 11D618 802B4008 3C16800E */ lui $s6, %hi(D_800DC4DC) # $s6, 0x800e
/* 11D61C 802B400C 00809025 */ move $s2, $a0
/* 11D620 802B4010 00A09825 */ move $s3, $a1
/* 11D624 802B4014 AFBF0044 */ sw $ra, 0x44($sp)
/* 11D628 802B4018 241EFFFF */ li $fp, -1
/* 11D62C 802B401C C4349F68 */ lwc1 $f20, %lo(D_802B9F68)($at)
/* 11D630 802B4020 26D6C4DC */ addiu $s6, %lo(D_800DC4DC) # addiu $s6, $s6, -0x3b24
/* 11D634 802B4024 26B5D8C0 */ addiu $s5, %lo(D_8018D8C0) # addiu $s5, $s5, -0x2740
/* 11D638 802B4028 26106990 */ addiu $s0, %lo(D_800F6990) # addiu $s0, $s0, 0x6990
/* 11D63C 802B402C 00008825 */ move $s1, $zero
/* 11D640 802B4030 24140004 */ li $s4, 4
/* 11D644 802B4034 24170DD8 */ li $s7, 3544
.L802B4038:
/* 11D648 802B4038 960E0000 */ lhu $t6, ($s0)
/* 11D64C 802B403C 31CF8000 */ andi $t7, $t6, 0x8000
/* 11D650 802B4040 51E00020 */ beql $t7, $zero, .L802B40C4
/* 11D654 802B4044 26310001 */ addiu $s1, $s1, 1
/* 11D658 802B4048 1212001D */ beq $s0, $s2, .L802B40C0
/* 11D65C 802B404C 0011C040 */ sll $t8, $s1, 1
/* 11D660 802B4050 02B8C821 */ addu $t9, $s5, $t8
/* 11D664 802B4054 87280000 */ lh $t0, ($t9)
/* 11D668 802B4058 26040014 */ addiu $a0, $s0, 0x14
/* 11D66C 802B405C 05020019 */ bltzl $t0, .L802B40C4
/* 11D670 802B4060 26310001 */ addiu $s1, $s1, 1
/* 11D674 802B4064 0C0AD47A */ jal func_802B51E8
/* 11D678 802B4068 26650018 */ addiu $a1, $s3, 0x18
/* 11D67C 802B406C 4614003C */ c.lt.s $f0, $f20
/* 11D680 802B4070 00000000 */ nop
/* 11D684 802B4074 45020013 */ bc1fl .L802B40C4
/* 11D688 802B4078 26310001 */ addiu $s1, $s1, 1
/* 11D68C 802B407C 8EC90000 */ lw $t1, ($s6)
/* 11D690 802B4080 46000506 */ mov.s $f20, $f0
/* 11D694 802B4084 02095023 */ subu $t2, $s0, $t1
/* 11D698 802B4088 0157001A */ div $zero, $t2, $s7
/* 11D69C 802B408C 0000F012 */ mflo $fp
/* 11D6A0 802B4090 001E5C00 */ sll $t3, $fp, 0x10
/* 11D6A4 802B4094 000B6403 */ sra $t4, $t3, 0x10
/* 11D6A8 802B4098 0180F025 */ move $fp, $t4
/* 11D6AC 802B409C 16E00002 */ bnez $s7, .L802B40A8
/* 11D6B0 802B40A0 00000000 */ nop
/* 11D6B4 802B40A4 0007000D */ break 7
.L802B40A8:
/* 11D6B8 802B40A8 2401FFFF */ li $at, -1
/* 11D6BC 802B40AC 16E10004 */ bne $s7, $at, .L802B40C0
/* 11D6C0 802B40B0 3C018000 */ lui $at, 0x8000
/* 11D6C4 802B40B4 15410002 */ bne $t2, $at, .L802B40C0
/* 11D6C8 802B40B8 00000000 */ nop
/* 11D6CC 802B40BC 0006000D */ break 6
.L802B40C0:
/* 11D6D0 802B40C0 26310001 */ addiu $s1, $s1, 1
.L802B40C4:
/* 11D6D4 802B40C4 1634FFDC */ bne $s1, $s4, .L802B4038
/* 11D6D8 802B40C8 26100DD8 */ addiu $s0, $s0, 0xdd8
/* 11D6DC 802B40CC 8FBF0044 */ lw $ra, 0x44($sp)
/* 11D6E0 802B40D0 03C01025 */ move $v0, $fp
/* 11D6E4 802B40D4 8FBE0040 */ lw $fp, 0x40($sp)
/* 11D6E8 802B40D8 D7B40018 */ ldc1 $f20, 0x18($sp)
/* 11D6EC 802B40DC 8FB00020 */ lw $s0, 0x20($sp)
/* 11D6F0 802B40E0 8FB10024 */ lw $s1, 0x24($sp)
/* 11D6F4 802B40E4 8FB20028 */ lw $s2, 0x28($sp)
/* 11D6F8 802B40E8 8FB3002C */ lw $s3, 0x2c($sp)
/* 11D6FC 802B40EC 8FB40030 */ lw $s4, 0x30($sp)
/* 11D700 802B40F0 8FB50034 */ lw $s5, 0x34($sp)
/* 11D704 802B40F4 8FB60038 */ lw $s6, 0x38($sp)
/* 11D708 802B40F8 8FB7003C */ lw $s7, 0x3c($sp)
/* 11D70C 802B40FC 03E00008 */ jr $ra
/* 11D710 802B4100 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_802B4104
/* 11D714 802B4104 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 11D718 802B4108 AFBF001C */ sw $ra, 0x1c($sp)
/* 11D71C 802B410C AFB00018 */ sw $s0, 0x18($sp)
/* 11D720 802B4110 44801000 */ mtc1 $zero, $f2
/* 11D724 802B4114 C484003C */ lwc1 $f4, 0x3c($a0)
/* 11D728 802B4118 00808025 */ move $s0, $a0
/* 11D72C 802B411C 3C013E80 */ li $at, 0x3E800000 # 0.250000
/* 11D730 802B4120 4602203C */ c.lt.s $f4, $f2
/* 11D734 802B4124 00000000 */ nop
/* 11D738 802B4128 4502001A */ bc1fl .L802B4194
/* 11D73C 802B412C C60A0040 */ lwc1 $f10, 0x40($s0)
/* 11D740 802B4130 C480004C */ lwc1 $f0, 0x4c($a0)
/* 11D744 802B4134 44813000 */ mtc1 $at, $f6
/* 11D748 802B4138 3C01BE80 */ li $at, 0xBE800000 # -0.250000
/* 11D74C 802B413C 4606003C */ c.lt.s $f0, $f6
/* 11D750 802B4140 00000000 */ nop
/* 11D754 802B4144 45010007 */ bc1t .L802B4164
/* 11D758 802B4148 00000000 */ nop
/* 11D75C 802B414C 44814000 */ mtc1 $at, $f8
/* 11D760 802B4150 00000000 */ nop
/* 11D764 802B4154 4600403C */ c.lt.s $f8, $f0
/* 11D768 802B4158 00000000 */ nop
/* 11D76C 802B415C 4502000D */ bc1fl .L802B4194
/* 11D770 802B4160 C60A0040 */ lwc1 $f10, 0x40($s0)
.L802B4164:
/* 11D774 802B4164 0C0A7F72 */ jal func_8029FDC8
/* 11D778 802B4168 02002025 */ move $a0, $s0
/* 11D77C 802B416C 3C061900 */ lui $a2, (0x19008054 >> 16) # lui $a2, 0x1900
/* 11D780 802B4170 34C68054 */ ori $a2, (0x19008054 & 0xFFFF) # ori $a2, $a2, 0x8054
/* 11D784 802B4174 26040018 */ addiu $a0, $s0, 0x18
/* 11D788 802B4178 0C03262E */ jal func_800C98B8
/* 11D78C 802B417C 26050024 */ addiu $a1, $s0, 0x24
/* 11D790 802B4180 860E0002 */ lh $t6, 2($s0)
/* 11D794 802B4184 35CF0080 */ ori $t7, $t6, 0x80
/* 11D798 802B4188 1000001E */ b .L802B4204
/* 11D79C 802B418C A60F0002 */ sh $t7, 2($s0)
/* 11D7A0 802B4190 C60A0040 */ lwc1 $f10, 0x40($s0)
.L802B4194:
/* 11D7A4 802B4194 3C013E80 */ li $at, 0x3E800000 # 0.250000
/* 11D7A8 802B4198 4602503C */ c.lt.s $f10, $f2
/* 11D7AC 802B419C 00000000 */ nop
/* 11D7B0 802B41A0 45020019 */ bc1fl .L802B4208
/* 11D7B4 802B41A4 8FBF001C */ lw $ra, 0x1c($sp)
/* 11D7B8 802B41A8 C6000058 */ lwc1 $f0, 0x58($s0)
/* 11D7BC 802B41AC 44818000 */ mtc1 $at, $f16
/* 11D7C0 802B41B0 3C01BE80 */ li $at, 0xBE800000 # -0.250000
/* 11D7C4 802B41B4 4610003C */ c.lt.s $f0, $f16
/* 11D7C8 802B41B8 00000000 */ nop
/* 11D7CC 802B41BC 45010007 */ bc1t .L802B41DC
/* 11D7D0 802B41C0 00000000 */ nop
/* 11D7D4 802B41C4 44819000 */ mtc1 $at, $f18
/* 11D7D8 802B41C8 00000000 */ nop
/* 11D7DC 802B41CC 4612003C */ c.lt.s $f0, $f18
/* 11D7E0 802B41D0 00000000 */ nop
/* 11D7E4 802B41D4 4502000C */ bc1fl .L802B4208
/* 11D7E8 802B41D8 8FBF001C */ lw $ra, 0x1c($sp)
.L802B41DC:
/* 11D7EC 802B41DC 0C0A7F72 */ jal func_8029FDC8
/* 11D7F0 802B41E0 02002025 */ move $a0, $s0
/* 11D7F4 802B41E4 3C061900 */ lui $a2, (0x19008054 >> 16) # lui $a2, 0x1900
/* 11D7F8 802B41E8 34C68054 */ ori $a2, (0x19008054 & 0xFFFF) # ori $a2, $a2, 0x8054
/* 11D7FC 802B41EC 26040018 */ addiu $a0, $s0, 0x18
/* 11D800 802B41F0 0C03262E */ jal func_800C98B8
/* 11D804 802B41F4 26050024 */ addiu $a1, $s0, 0x24
/* 11D808 802B41F8 86180002 */ lh $t8, 2($s0)
/* 11D80C 802B41FC 37190080 */ ori $t9, $t8, 0x80
/* 11D810 802B4200 A6190002 */ sh $t9, 2($s0)
.L802B4204:
/* 11D814 802B4204 8FBF001C */ lw $ra, 0x1c($sp)
.L802B4208:
/* 11D818 802B4208 8FB00018 */ lw $s0, 0x18($sp)
/* 11D81C 802B420C 27BD0020 */ addiu $sp, $sp, 0x20
/* 11D820 802B4210 03E00008 */ jr $ra
/* 11D824 802B4214 00000000 */ nop
glabel update_obj_red_blue_shell
/* 11D828 802B4218 3C0F8016 */ lui $t7, %hi(D_8015F6F2) # $t7, 0x8016
/* 11D82C 802B421C 85EFF6F2 */ lh $t7, %lo(D_8015F6F2)($t7)
/* 11D830 802B4220 27BDFF50 */ addiu $sp, $sp, -0xb0
/* 11D834 802B4224 AFBF002C */ sw $ra, 0x2c($sp)
/* 11D838 802B4228 448F2000 */ mtc1 $t7, $f4
/* 11D83C 802B422C AFB10028 */ sw $s1, 0x28($sp)
/* 11D840 802B4230 AFB00024 */ sw $s0, 0x24($sp)
/* 11D844 802B4234 468021A0 */ cvt.s.w $f6, $f4
/* 11D848 802B4238 C4820020 */ lwc1 $f2, 0x20($a0)
/* 11D84C 802B423C 848E0000 */ lh $t6, ($a0)
/* 11D850 802B4240 C4800018 */ lwc1 $f0, 0x18($a0)
/* 11D854 802B4244 C48C001C */ lwc1 $f12, 0x1c($a0)
/* 11D858 802B4248 00808025 */ move $s0, $a0
/* 11D85C 802B424C 4606103C */ c.lt.s $f2, $f6
/* 11D860 802B4250 3C188016 */ lui $t8, %hi(D_8015F6F0) # $t8, 0x8016
/* 11D864 802B4254 A7AE0056 */ sh $t6, 0x56($sp)
/* 11D868 802B4258 45010024 */ bc1t .L802B42EC
/* 11D86C 802B425C 00000000 */ nop
/* 11D870 802B4260 8718F6F0 */ lh $t8, %lo(D_8015F6F0)($t8)
/* 11D874 802B4264 3C198016 */ lui $t9, %hi(D_8015F6EA) # $t9, 0x8016
/* 11D878 802B4268 44984000 */ mtc1 $t8, $f8
/* 11D87C 802B426C 00000000 */ nop
/* 11D880 802B4270 468042A0 */ cvt.s.w $f10, $f8
/* 11D884 802B4274 4602503C */ c.lt.s $f10, $f2
/* 11D888 802B4278 00000000 */ nop
/* 11D88C 802B427C 4501001B */ bc1t .L802B42EC
/* 11D890 802B4280 00000000 */ nop
/* 11D894 802B4284 8739F6EA */ lh $t9, %lo(D_8015F6EA)($t9)
/* 11D898 802B4288 3C088016 */ lui $t0, %hi(D_8015F6E8) # $t0, 0x8016
/* 11D89C 802B428C 44998000 */ mtc1 $t9, $f16
/* 11D8A0 802B4290 00000000 */ nop
/* 11D8A4 802B4294 468084A0 */ cvt.s.w $f18, $f16
/* 11D8A8 802B4298 4612003C */ c.lt.s $f0, $f18
/* 11D8AC 802B429C 00000000 */ nop
/* 11D8B0 802B42A0 45010012 */ bc1t .L802B42EC
/* 11D8B4 802B42A4 00000000 */ nop
/* 11D8B8 802B42A8 8508F6E8 */ lh $t0, %lo(D_8015F6E8)($t0)
/* 11D8BC 802B42AC 3C098016 */ lui $t1, %hi(D_8015F6EE) # $t1, 0x8016
/* 11D8C0 802B42B0 44882000 */ mtc1 $t0, $f4
/* 11D8C4 802B42B4 00000000 */ nop
/* 11D8C8 802B42B8 468021A0 */ cvt.s.w $f6, $f4
/* 11D8CC 802B42BC 4600303C */ c.lt.s $f6, $f0
/* 11D8D0 802B42C0 00000000 */ nop
/* 11D8D4 802B42C4 45010009 */ bc1t .L802B42EC
/* 11D8D8 802B42C8 00000000 */ nop
/* 11D8DC 802B42CC 8529F6EE */ lh $t1, %lo(D_8015F6EE)($t1)
/* 11D8E0 802B42D0 44894000 */ mtc1 $t1, $f8
/* 11D8E4 802B42D4 00000000 */ nop
/* 11D8E8 802B42D8 468042A0 */ cvt.s.w $f10, $f8
/* 11D8EC 802B42DC 460A603C */ c.lt.s $f12, $f10
/* 11D8F0 802B42E0 00000000 */ nop
/* 11D8F4 802B42E4 45020004 */ bc1fl .L802B42F8
/* 11D8F8 802B42E8 860A0010 */ lh $t2, 0x10($s0)
.L802B42EC:
/* 11D8FC 802B42EC 0C0A7F72 */ jal func_8029FDC8
/* 11D900 802B42F0 02002025 */ move $a0, $s0
/* 11D904 802B42F4 860A0010 */ lh $t2, 0x10($s0)
.L802B42F8:
/* 11D908 802B42F8 960C0006 */ lhu $t4, 6($s0)
/* 11D90C 802B42FC 254B071C */ addiu $t3, $t2, 0x71c
/* 11D910 802B4300 2D81000A */ sltiu $at, $t4, 0xa
/* 11D914 802B4304 102002C5 */ beqz $at, .L802B4E1C
/* 11D918 802B4308 A60B0010 */ sh $t3, 0x10($s0)
/* 11D91C 802B430C 000C6080 */ sll $t4, $t4, 2
/* 11D920 802B4310 3C01802C */ lui $at, %hi(D_802B9F6C)
/* 11D924 802B4314 002C0821 */ addu $at, $at, $t4
/* 11D928 802B4318 8C2C9F6C */ lw $t4, %lo(D_802B9F6C)($at)
/* 11D92C 802B431C 01800008 */ jr $t4
/* 11D930 802B4320 00000000 */ nop
glabel L802B4324
/* 11D934 802B4324 860D0014 */ lh $t5, 0x14($s0)
/* 11D938 802B4328 3C0F800F */ lui $t7, %hi(D_800F6990) # $t7, 0x800f
/* 11D93C 802B432C 25EF6990 */ addiu $t7, %lo(D_800F6990) # addiu $t7, $t7, 0x6990
/* 11D940 802B4330 000D70C0 */ sll $t6, $t5, 3
/* 11D944 802B4334 01CD7023 */ subu $t6, $t6, $t5
/* 11D948 802B4338 000E7100 */ sll $t6, $t6, 4
/* 11D94C 802B433C 01CD7023 */ subu $t6, $t6, $t5
/* 11D950 802B4340 000E7080 */ sll $t6, $t6, 2
/* 11D954 802B4344 01CD7023 */ subu $t6, $t6, $t5
/* 11D958 802B4348 000E70C0 */ sll $t6, $t6, 3
/* 11D95C 802B434C 01CF8821 */ addu $s1, $t6, $t7
/* 11D960 802B4350 26240110 */ addiu $a0, $s1, 0x110
/* 11D964 802B4354 0C0AC084 */ jal func_802B0210
/* 11D968 802B4358 26050030 */ addiu $a1, $s0, 0x30
/* 11D96C 802B435C 44801000 */ mtc1 $zero, $f2
/* 11D970 802B4360 3C014000 */ li $at, 0x40000000 # 2.000000
/* 11D974 802B4364 44814000 */ mtc1 $at, $f8
/* 11D978 802B4368 E7A2008C */ swc1 $f2, 0x8c($sp)
/* 11D97C 802B436C C6300070 */ lwc1 $f16, 0x70($s1)
/* 11D980 802B4370 27A4008C */ addiu $a0, $sp, 0x8c
/* 11D984 802B4374 26250174 */ addiu $a1, $s1, 0x174
/* 11D988 802B4378 E7B00090 */ swc1 $f16, 0x90($sp)
/* 11D98C 802B437C C604000C */ lwc1 $f4, 0xc($s0)
/* 11D990 802B4380 C6320070 */ lwc1 $f18, 0x70($s1)
/* 11D994 802B4384 46049180 */ add.s $f6, $f18, $f4
/* 11D998 802B4388 46083280 */ add.s $f10, $f6, $f8
/* 11D99C 802B438C 46005407 */ neg.s $f16, $f10
/* 11D9A0 802B4390 0C0AD8EE */ jal func_802B63B8
/* 11D9A4 802B4394 E7B00094 */ swc1 $f16, 0x94($sp)
/* 11D9A8 802B4398 C7B2008C */ lwc1 $f18, 0x8c($sp)
/* 11D9AC 802B439C C6240014 */ lwc1 $f4, 0x14($s1)
/* 11D9B0 802B43A0 46049180 */ add.s $f6, $f18, $f4
/* 11D9B4 802B43A4 E6060018 */ swc1 $f6, 0x18($s0)
/* 11D9B8 802B43A8 C632001C */ lwc1 $f18, 0x1c($s1)
/* 11D9BC 802B43AC C7B00094 */ lwc1 $f16, 0x94($sp)
/* 11D9C0 802B43B0 C7AA0090 */ lwc1 $f10, 0x90($sp)
/* 11D9C4 802B43B4 C6280018 */ lwc1 $f8, 0x18($s1)
/* 11D9C8 802B43B8 46128100 */ add.s $f4, $f16, $f18
/* 11D9CC 802B43BC C60C0018 */ lwc1 $f12, 0x18($s0)
/* 11D9D0 802B43C0 460A4381 */ sub.s $f14, $f8, $f10
/* 11D9D4 802B43C4 E6040020 */ swc1 $f4, 0x20($s0)
/* 11D9D8 802B43C8 9627011A */ lhu $a3, 0x11a($s1)
/* 11D9DC 802B43CC 8E060020 */ lw $a2, 0x20($s0)
/* 11D9E0 802B43D0 0C0AAF8C */ jal func_802ABE30
/* 11D9E4 802B43D4 E7AE0068 */ swc1 $f14, 0x68($sp)
/* 11D9E8 802B43D8 C7AE0068 */ lwc1 $f14, 0x68($sp)
/* 11D9EC 802B43DC 3C0140A0 */ li $at, 0x40A00000 # 5.000000
/* 11D9F0 802B43E0 44813000 */ mtc1 $at, $f6
/* 11D9F4 802B43E4 46007081 */ sub.s $f2, $f14, $f0
/* 11D9F8 802B43E8 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000
/* 11D9FC 802B43EC 3C08800E */ lui $t0, %hi(D_800DC51C) # $t0, 0x800e
/* 11DA00 802B43F0 3C02800E */ lui $v0, 0x800e
/* 11DA04 802B43F4 4606103C */ c.lt.s $f2, $f6
/* 11DA08 802B43F8 240E0001 */ li $t6, 1
/* 11DA0C 802B43FC 4502000C */ bc1fl .L802B4430
/* 11DA10 802B4400 E60E001C */ swc1 $f14, 0x1c($s0)
/* 11DA14 802B4404 44816000 */ mtc1 $at, $f12
/* 11DA18 802B4408 00000000 */ nop
/* 11DA1C 802B440C 4602603C */ c.lt.s $f12, $f2
/* 11DA20 802B4410 00000000 */ nop
/* 11DA24 802B4414 45020006 */ bc1fl .L802B4430
/* 11DA28 802B4418 E60E001C */ swc1 $f14, 0x1c($s0)
/* 11DA2C 802B441C C608000C */ lwc1 $f8, 0xc($s0)
/* 11DA30 802B4420 46004280 */ add.s $f10, $f8, $f0
/* 11DA34 802B4424 10000002 */ b .L802B4430
/* 11DA38 802B4428 E60A001C */ swc1 $f10, 0x1c($s0)
/* 11DA3C 802B442C E60E001C */ swc1 $f14, 0x1c($s0)
.L802B4430:
/* 11DA40 802B4430 96380000 */ lhu $t8, ($s1)
/* 11DA44 802B4434 33194000 */ andi $t9, $t8, 0x4000
/* 11DA48 802B4438 1320000D */ beqz $t9, .L802B4470
/* 11DA4C 802B443C 00000000 */ nop
/* 11DA50 802B4440 9508C51C */ lhu $t0, %lo(D_800DC51C)($t0)
/* 11DA54 802B4444 3C02800E */ lui $v0, %hi(D_800DC4BC) # $v0, 0x800e
/* 11DA58 802B4448 51000004 */ beql $t0, $zero, .L802B445C
/* 11DA5C 802B444C 86090014 */ lh $t1, 0x14($s0)
/* 11DA60 802B4450 10000008 */ b .L802B4474
/* 11DA64 802B4454 8C42C4BC */ lw $v0, %lo(D_800DC4BC)($v0)
/* 11DA68 802B4458 86090014 */ lh $t1, 0x14($s0)
.L802B445C:
/* 11DA6C 802B445C 3C0B800F */ lui $t3, %hi(gPlayer1Controller) # $t3, 0x800f
/* 11DA70 802B4460 256B6910 */ addiu $t3, %lo(gPlayer1Controller) # addiu $t3, $t3, 0x6910
/* 11DA74 802B4464 00095100 */ sll $t2, $t1, 4
/* 11DA78 802B4468 10000002 */ b .L802B4474
/* 11DA7C 802B446C 014B1021 */ addu $v0, $t2, $t3
.L802B4470:
/* 11DA80 802B4470 8C42C4BC */ lw $v0, -0x3b44($v0)
.L802B4474:
/* 11DA84 802B4474 94430008 */ lhu $v1, 8($v0)
/* 11DA88 802B4478 306C2000 */ andi $t4, $v1, 0x2000
/* 11DA8C 802B447C 11800267 */ beqz $t4, .L802B4E1C
/* 11DA90 802B4480 306DDFFF */ andi $t5, $v1, 0xdfff
/* 11DA94 802B4484 A44D0008 */ sh $t5, 8($v0)
/* 11DA98 802B4488 A60E0006 */ sh $t6, 6($s0)
/* 11DA9C 802B448C 862F00C0 */ lh $t7, 0xc0($s1)
/* 11DAA0 802B4490 241878E3 */ li $t8, 30947
/* 11DAA4 802B4494 2419871C */ li $t9, -30948
/* 11DAA8 802B4498 19E00003 */ blez $t7, .L802B44A8
/* 11DAAC 802B449C 00000000 */ nop
/* 11DAB0 802B44A0 1000025E */ b .L802B4E1C
/* 11DAB4 802B44A4 A6180012 */ sh $t8, 0x12($s0)
.L802B44A8:
/* 11DAB8 802B44A8 1000025C */ b .L802B4E1C
/* 11DABC 802B44AC A6190012 */ sh $t9, 0x12($s0)
glabel L802B44B0
/* 11DAC0 802B44B0 86080014 */ lh $t0, 0x14($s0)
/* 11DAC4 802B44B4 86020012 */ lh $v0, 0x12($s0)
/* 11DAC8 802B44B8 3C0A800F */ lui $t2, %hi(D_800F6990) # $t2, 0x800f
/* 11DACC 802B44BC 000848C0 */ sll $t1, $t0, 3
/* 11DAD0 802B44C0 01284823 */ subu $t1, $t1, $t0
/* 11DAD4 802B44C4 00094900 */ sll $t1, $t1, 4
/* 11DAD8 802B44C8 01284823 */ subu $t1, $t1, $t0
/* 11DADC 802B44CC 00094880 */ sll $t1, $t1, 2
/* 11DAE0 802B44D0 01284823 */ subu $t1, $t1, $t0
/* 11DAE4 802B44D4 000948C0 */ sll $t1, $t1, 3
/* 11DAE8 802B44D8 254A6990 */ addiu $t2, %lo(D_800F6990) # addiu $t2, $t2, 0x6990
/* 11DAEC 802B44DC 1840002E */ blez $v0, .L802B4598
/* 11DAF0 802B44E0 012A8821 */ addu $s1, $t1, $t2
/* 11DAF4 802B44E4 244BF8E4 */ addiu $t3, $v0, -0x71c
/* 11DAF8 802B44E8 A60B0012 */ sh $t3, 0x12($s0)
/* 11DAFC 802B44EC 860C0012 */ lh $t4, 0x12($s0)
/* 11DB00 802B44F0 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900
/* 11DB04 802B44F4 240D0002 */ li $t5, 2
/* 11DB08 802B44F8 05810052 */ bgez $t4, .L802B4644
/* 11DB0C 802B44FC 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004
/* 11DB10 802B4500 A60D0006 */ sh $t5, 6($s0)
/* 11DB14 802B4504 0C032418 */ jal func_800C9060
/* 11DB18 802B4508 92040015 */ lbu $a0, 0x15($s0)
/* 11DB1C 802B450C 96250254 */ lhu $a1, 0x254($s1)
/* 11DB20 802B4510 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900
/* 11DB24 802B4514 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000
/* 11DB28 802B4518 00057100 */ sll $t6, $a1, 4
/* 11DB2C 802B451C 01C12821 */ addu $a1, $t6, $at
/* 11DB30 802B4520 0C03243D */ jal func_800C90F4
/* 11DB34 802B4524 92040015 */ lbu $a0, 0x15($s0)
/* 11DB38 802B4528 87AF0056 */ lh $t7, 0x56($sp)
/* 11DB3C 802B452C 24010008 */ li $at, 8
/* 11DB40 802B4530 3C088016 */ lui $t0, %hi(D_8015F9B8) # $t0, 0x8016
/* 11DB44 802B4534 15E1000B */ bne $t7, $at, .L802B4564
/* 11DB48 802B4538 2508F9B8 */ addiu $t0, %lo(D_8015F9B8) # addiu $t0, $t0, -0x648
/* 11DB4C 802B453C 3C188016 */ lui $t8, %hi(D_8015F9B8) # $t8, 0x8016
/* 11DB50 802B4540 2718F9B8 */ addiu $t8, %lo(D_8015F9B8) # addiu $t8, $t8, -0x648
/* 11DB54 802B4544 02182023 */ subu $a0, $s0, $t8
/* 11DB58 802B4548 24010070 */ li $at, 112
/* 11DB5C 802B454C 0081001A */ div $zero, $a0, $at
/* 11DB60 802B4550 00002012 */ mflo $a0
/* 11DB64 802B4554 0C003B60 */ jal func_8000ED80
/* 11DB68 802B4558 00000000 */ nop
/* 11DB6C 802B455C 1000003A */ b .L802B4648
/* 11DB70 802B4560 86090006 */ lh $t1, 6($s0)
.L802B4564:
/* 11DB74 802B4564 02082023 */ subu $a0, $s0, $t0
/* 11DB78 802B4568 24010070 */ li $at, 112
/* 11DB7C 802B456C 0081001A */ div $zero, $a0, $at
/* 11DB80 802B4570 00002012 */ mflo $a0
/* 11DB84 802B4574 0C003B84 */ jal func_8000EE10
/* 11DB88 802B4578 00000000 */ nop
/* 11DB8C 802B457C 3C065101 */ lui $a2, (0x51018008 >> 16) # lui $a2, 0x5101
/* 11DB90 802B4580 34C68008 */ ori $a2, (0x51018008 & 0xFFFF) # ori $a2, $a2, 0x8008
/* 11DB94 802B4584 26040018 */ addiu $a0, $s0, 0x18
/* 11DB98 802B4588 0C032760 */ jal func_800C9D80
/* 11DB9C 802B458C 26050024 */ addiu $a1, $s0, 0x24
/* 11DBA0 802B4590 1000002D */ b .L802B4648
/* 11DBA4 802B4594 86090006 */ lh $t1, 6($s0)
.L802B4598:
/* 11DBA8 802B4598 244A071C */ addiu $t2, $v0, 0x71c
/* 11DBAC 802B459C A60A0012 */ sh $t2, 0x12($s0)
/* 11DBB0 802B45A0 860B0012 */ lh $t3, 0x12($s0)
/* 11DBB4 802B45A4 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900
/* 11DBB8 802B45A8 240C0002 */ li $t4, 2
/* 11DBBC 802B45AC 19600025 */ blez $t3, .L802B4644
/* 11DBC0 802B45B0 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004
/* 11DBC4 802B45B4 A60C0006 */ sh $t4, 6($s0)
/* 11DBC8 802B45B8 0C032418 */ jal func_800C9060
/* 11DBCC 802B45BC 92040015 */ lbu $a0, 0x15($s0)
/* 11DBD0 802B45C0 96250254 */ lhu $a1, 0x254($s1)
/* 11DBD4 802B45C4 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900
/* 11DBD8 802B45C8 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000
/* 11DBDC 802B45CC 00056900 */ sll $t5, $a1, 4
/* 11DBE0 802B45D0 01A12821 */ addu $a1, $t5, $at
/* 11DBE4 802B45D4 0C03243D */ jal func_800C90F4
/* 11DBE8 802B45D8 92040015 */ lbu $a0, 0x15($s0)
/* 11DBEC 802B45DC 87AE0056 */ lh $t6, 0x56($sp)
/* 11DBF0 802B45E0 24010008 */ li $at, 8
/* 11DBF4 802B45E4 3C198016 */ lui $t9, %hi(D_8015F9B8) # $t9, 0x8016
/* 11DBF8 802B45E8 15C1000B */ bne $t6, $at, .L802B4618
/* 11DBFC 802B45EC 2739F9B8 */ addiu $t9, %lo(D_8015F9B8) # addiu $t9, $t9, -0x648
/* 11DC00 802B45F0 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016
/* 11DC04 802B45F4 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648
/* 11DC08 802B45F8 020F2023 */ subu $a0, $s0, $t7
/* 11DC0C 802B45FC 24010070 */ li $at, 112
/* 11DC10 802B4600 0081001A */ div $zero, $a0, $at
/* 11DC14 802B4604 00002012 */ mflo $a0
/* 11DC18 802B4608 0C003B60 */ jal func_8000ED80
/* 11DC1C 802B460C 00000000 */ nop
/* 11DC20 802B4610 1000000D */ b .L802B4648
/* 11DC24 802B4614 86090006 */ lh $t1, 6($s0)
.L802B4618:
/* 11DC28 802B4618 02192023 */ subu $a0, $s0, $t9
/* 11DC2C 802B461C 24010070 */ li $at, 112
/* 11DC30 802B4620 0081001A */ div $zero, $a0, $at
/* 11DC34 802B4624 00002012 */ mflo $a0
/* 11DC38 802B4628 0C003B84 */ jal func_8000EE10
/* 11DC3C 802B462C 00000000 */ nop
/* 11DC40 802B4630 3C065101 */ lui $a2, (0x51018008 >> 16) # lui $a2, 0x5101
/* 11DC44 802B4634 34C68008 */ ori $a2, (0x51018008 & 0xFFFF) # ori $a2, $a2, 0x8008
/* 11DC48 802B4638 26040018 */ addiu $a0, $s0, 0x18
/* 11DC4C 802B463C 0C032760 */ jal func_800C9D80
/* 11DC50 802B4640 26050024 */ addiu $a1, $s0, 0x24
.L802B4644:
/* 11DC54 802B4644 86090006 */ lh $t1, 6($s0)
.L802B4648:
/* 11DC58 802B4648 24010002 */ li $at, 2
/* 11DC5C 802B464C 240A001E */ li $t2, 30
/* 11DC60 802B4650 1521001E */ bne $t1, $at, .L802B46CC
/* 11DC64 802B4654 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11DC68 802B4658 A60A0004 */ sh $t2, 4($s0)
/* 11DC6C 802B465C 44810000 */ mtc1 $at, $f0
/* 11DC70 802B4660 C6220094 */ lwc1 $f2, 0x94($s1)
/* 11DC74 802B4664 3C01802C */ lui $at, %hi(D_802B9F94) # $at, 0x802c
/* 11DC78 802B4668 4602003C */ c.lt.s $f0, $f2
/* 11DC7C 802B466C 00000000 */ nop
/* 11DC80 802B4670 45020005 */ bc1fl .L802B4688
/* 11DC84 802B4674 44801000 */ mtc1 $zero, $f2
/* 11DC88 802B4678 C4309F94 */ lwc1 $f16, %lo(D_802B9F94)($at)
/* 11DC8C 802B467C 46101002 */ mul.s $f0, $f2, $f16
/* 11DC90 802B4680 00000000 */ nop
/* 11DC94 802B4684 44801000 */ mtc1 $zero, $f2
.L802B4688:
/* 11DC98 802B4688 E7A00094 */ swc1 $f0, 0x94($sp)
/* 11DC9C 802B468C 27A4008C */ addiu $a0, $sp, 0x8c
/* 11DCA0 802B4690 E7A2008C */ swc1 $f2, 0x8c($sp)
/* 11DCA4 802B4694 E7A20090 */ swc1 $f2, 0x90($sp)
/* 11DCA8 802B4698 862C00C0 */ lh $t4, 0xc0($s1)
/* 11DCAC 802B469C 862B002E */ lh $t3, 0x2e($s1)
/* 11DCB0 802B46A0 016C2821 */ addu $a1, $t3, $t4
/* 11DCB4 802B46A4 00056C00 */ sll $t5, $a1, 0x10
/* 11DCB8 802B46A8 0C0AD931 */ jal func_802B64C4
/* 11DCBC 802B46AC 000D2C03 */ sra $a1, $t5, 0x10
/* 11DCC0 802B46B0 C7B2008C */ lwc1 $f18, 0x8c($sp)
/* 11DCC4 802B46B4 E6120024 */ swc1 $f18, 0x24($s0)
/* 11DCC8 802B46B8 C7A40090 */ lwc1 $f4, 0x90($sp)
/* 11DCCC 802B46BC E6040028 */ swc1 $f4, 0x28($s0)
/* 11DCD0 802B46C0 C7A60094 */ lwc1 $f6, 0x94($sp)
/* 11DCD4 802B46C4 100001D5 */ b .L802B4E1C
/* 11DCD8 802B46C8 E606002C */ swc1 $f6, 0x2c($s0)
.L802B46CC:
/* 11DCDC 802B46CC 0C0AE006 */ jal func_802B8018
/* 11DCE0 802B46D0 96040012 */ lhu $a0, 0x12($s0)
/* 11DCE4 802B46D4 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11DCE8 802B46D8 44814000 */ mtc1 $at, $f8
/* 11DCEC 802B46DC 00000000 */ nop
/* 11DCF0 802B46E0 46080282 */ mul.s $f10, $f0, $f8
/* 11DCF4 802B46E4 E7AA008C */ swc1 $f10, 0x8c($sp)
/* 11DCF8 802B46E8 C6320070 */ lwc1 $f18, 0x70($s1)
/* 11DCFC 802B46EC C610000C */ lwc1 $f16, 0xc($s0)
/* 11DD00 802B46F0 46128101 */ sub.s $f4, $f16, $f18
/* 11DD04 802B46F4 E7A40090 */ swc1 $f4, 0x90($sp)
/* 11DD08 802B46F8 0C0AE00E */ jal func_802B8038
/* 11DD0C 802B46FC 96040012 */ lhu $a0, 0x12($s0)
/* 11DD10 802B4700 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11DD14 802B4704 44813000 */ mtc1 $at, $f6
/* 11DD18 802B4708 27A4008C */ addiu $a0, $sp, 0x8c
/* 11DD1C 802B470C 26250174 */ addiu $a1, $s1, 0x174
/* 11DD20 802B4710 46060202 */ mul.s $f8, $f0, $f6
/* 11DD24 802B4714 0C0AD8EE */ jal func_802B63B8
/* 11DD28 802B4718 E7A80094 */ swc1 $f8, 0x94($sp)
/* 11DD2C 802B471C C7AA008C */ lwc1 $f10, 0x8c($sp)
/* 11DD30 802B4720 C6300014 */ lwc1 $f16, 0x14($s1)
/* 11DD34 802B4724 46105480 */ add.s $f18, $f10, $f16
/* 11DD38 802B4728 E6120018 */ swc1 $f18, 0x18($s0)
/* 11DD3C 802B472C C6260018 */ lwc1 $f6, 0x18($s1)
/* 11DD40 802B4730 C7A40090 */ lwc1 $f4, 0x90($sp)
/* 11DD44 802B4734 46062200 */ add.s $f8, $f4, $f6
/* 11DD48 802B4738 E608001C */ swc1 $f8, 0x1c($s0)
/* 11DD4C 802B473C C630001C */ lwc1 $f16, 0x1c($s1)
/* 11DD50 802B4740 C7AA0094 */ lwc1 $f10, 0x94($sp)
/* 11DD54 802B4744 46105480 */ add.s $f18, $f10, $f16
/* 11DD58 802B4748 100001B4 */ b .L802B4E1C
/* 11DD5C 802B474C E6120020 */ swc1 $f18, 0x20($s0)
glabel L802B4750
/* 11DD60 802B4750 860F0014 */ lh $t7, 0x14($s0)
/* 11DD64 802B4754 86080004 */ lh $t0, 4($s0)
/* 11DD68 802B4758 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 11DD6C 802B475C 000FC0C0 */ sll $t8, $t7, 3
/* 11DD70 802B4760 030FC023 */ subu $t8, $t8, $t7
/* 11DD74 802B4764 0018C100 */ sll $t8, $t8, 4
/* 11DD78 802B4768 2509FFFF */ addiu $t1, $t0, -1
/* 11DD7C 802B476C A6090004 */ sh $t1, 4($s0)
/* 11DD80 802B4770 030FC023 */ subu $t8, $t8, $t7
/* 11DD84 802B4774 860A0004 */ lh $t2, 4($s0)
/* 11DD88 802B4778 0018C080 */ sll $t8, $t8, 2
/* 11DD8C 802B477C 030FC023 */ subu $t8, $t8, $t7
/* 11DD90 802B4780 0018C0C0 */ sll $t8, $t8, 3
/* 11DD94 802B4784 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 11DD98 802B4788 1540008F */ bnez $t2, .L802B49C8
/* 11DD9C 802B478C 03198821 */ addu $s1, $t8, $t9
/* 11DDA0 802B4790 860B0002 */ lh $t3, 2($s0)
/* 11DDA4 802B4794 860D0000 */ lh $t5, ($s0)
/* 11DDA8 802B4798 2401002A */ li $at, 42
/* 11DDAC 802B479C 316CEFFF */ andi $t4, $t3, 0xefff
/* 11DDB0 802B47A0 15A10021 */ bne $t5, $at, .L802B4828
/* 11DDB4 802B47A4 A60C0002 */ sh $t4, 2($s0)
/* 11DDB8 802B47A8 3C048016 */ lui $a0, %hi(D_8015F8F0) # $a0, 0x8016
/* 11DDBC 802B47AC 2484F8F0 */ addiu $a0, %lo(D_8015F8F0) # addiu $a0, $a0, -0x710
/* 11DDC0 802B47B0 3C01447A */ li $at, 0x447A0000 # 1000.000000
/* 11DDC4 802B47B4 848E0000 */ lh $t6, ($a0)
/* 11DDC8 802B47B8 44812000 */ mtc1 $at, $f4
/* 11DDCC 802B47BC 240F0008 */ li $t7, 8
/* 11DDD0 802B47C0 A60F0006 */ sh $t7, 6($s0)
/* 11DDD4 802B47C4 3C18800E */ lui $t8, %hi(D_800DC4DC) # $t8, 0x800e
/* 11DDD8 802B47C8 A60E0004 */ sh $t6, 4($s0)
/* 11DDDC 802B47CC E6040008 */ swc1 $f4, 8($s0)
/* 11DDE0 802B47D0 8F18C4DC */ lw $t8, %lo(D_800DC4DC)($t8)
/* 11DDE4 802B47D4 24010DD8 */ li $at, 3544
/* 11DDE8 802B47D8 3C028016 */ lui $v0, 0x8016
/* 11DDEC 802B47DC 0238C823 */ subu $t9, $s1, $t8
/* 11DDF0 802B47E0 0321001A */ div $zero, $t9, $at
/* 11DDF4 802B47E4 00004012 */ mflo $t0
/* 11DDF8 802B47E8 00084840 */ sll $t1, $t0, 1
/* 11DDFC 802B47EC 00491021 */ addu $v0, $v0, $t1
/* 11DE00 802B47F0 94424438 */ lhu $v0, 0x4438($v0)
/* 11DE04 802B47F4 3C038016 */ lui $v1, %hi(D_80164430) # $v1, 0x8016
/* 11DE08 802B47F8 94634430 */ lhu $v1, %lo(D_80164430)($v1)
/* 11DE0C 802B47FC 24420008 */ addiu $v0, $v0, 8
/* 11DE10 802B4800 00025400 */ sll $t2, $v0, 0x10
/* 11DE14 802B4804 000A5C03 */ sra $t3, $t2, 0x10
/* 11DE18 802B4808 006B082A */ slt $at, $v1, $t3
/* 11DE1C 802B480C 10200004 */ beqz $at, .L802B4820
/* 11DE20 802B4810 01601025 */ move $v0, $t3
/* 11DE24 802B4814 01631023 */ subu $v0, $t3, $v1
/* 11DE28 802B4818 00026400 */ sll $t4, $v0, 0x10
/* 11DE2C 802B481C 000C1403 */ sra $v0, $t4, 0x10
.L802B4820:
/* 11DE30 802B4820 10000069 */ b .L802B49C8
/* 11DE34 802B4824 A6020012 */ sh $v0, 0x12($s0)
.L802B4828:
/* 11DE38 802B4828 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e
/* 11DE3C 802B482C 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6)
/* 11DE40 802B4830 24030003 */ li $v1, 3
/* 11DE44 802B4834 3C01447A */ li $at, 0x447A0000 # 1000.000000
/* 11DE48 802B4838 146E0016 */ bne $v1, $t6, .L802B4894
/* 11DE4C 802B483C 02202025 */ move $a0, $s1
/* 11DE50 802B4840 44813000 */ mtc1 $at, $f6
/* 11DE54 802B4844 02002825 */ move $a1, $s0
/* 11DE58 802B4848 0C0ACFF4 */ jal func_802B3FD0
/* 11DE5C 802B484C E6060008 */ swc1 $f6, 8($s0)
/* 11DE60 802B4850 A6020004 */ sh $v0, 4($s0)
/* 11DE64 802B4854 860F0004 */ lh $t7, 4($s0)
/* 11DE68 802B4858 24030003 */ li $v1, 3
/* 11DE6C 802B485C 24188000 */ li $t8, -32768
/* 11DE70 802B4860 05E1000A */ bgez $t7, .L802B488C
/* 11DE74 802B4864 3C014040 */ li $at, 0x40400000 # 3.000000
/* 11DE78 802B4868 44814000 */ mtc1 $at, $f8
/* 11DE7C 802B486C 2419003C */ li $t9, 60
/* 11DE80 802B4870 24080007 */ li $t0, 7
/* 11DE84 802B4874 A6180002 */ sh $t8, 2($s0)
/* 11DE88 802B4878 A6000012 */ sh $zero, 0x12($s0)
/* 11DE8C 802B487C A6190004 */ sh $t9, 4($s0)
/* 11DE90 802B4880 A6080006 */ sh $t0, 6($s0)
/* 11DE94 802B4884 10000050 */ b .L802B49C8
/* 11DE98 802B4888 E6080028 */ swc1 $f8, 0x28($s0)
.L802B488C:
/* 11DE9C 802B488C 1000004E */ b .L802B49C8
/* 11DEA0 802B4890 A6030006 */ sh $v1, 6($s0)
.L802B4894:
/* 11DEA4 802B4894 86220004 */ lh $v0, 4($s1)
/* 11DEA8 802B4898 24090004 */ li $t1, 4
/* 11DEAC 802B489C 240A0258 */ li $t2, 600
/* 11DEB0 802B48A0 1440001A */ bnez $v0, .L802B490C
/* 11DEB4 802B48A4 28410005 */ slti $at, $v0, 5
/* 11DEB8 802B48A8 A6090006 */ sh $t1, 6($s0)
/* 11DEBC 802B48AC A60A0004 */ sh $t2, 4($s0)
/* 11DEC0 802B48B0 3C0B800E */ lui $t3, %hi(D_800DC4DC) # $t3, 0x800e
/* 11DEC4 802B48B4 8D6BC4DC */ lw $t3, %lo(D_800DC4DC)($t3)
/* 11DEC8 802B48B8 24010DD8 */ li $at, 3544
/* 11DECC 802B48BC 3C028016 */ lui $v0, 0x8016
/* 11DED0 802B48C0 022B6023 */ subu $t4, $s1, $t3
/* 11DED4 802B48C4 0181001A */ div $zero, $t4, $at
/* 11DED8 802B48C8 00006812 */ mflo $t5
/* 11DEDC 802B48CC 000D7040 */ sll $t6, $t5, 1
/* 11DEE0 802B48D0 004E1021 */ addu $v0, $v0, $t6
/* 11DEE4 802B48D4 94424438 */ lhu $v0, 0x4438($v0)
/* 11DEE8 802B48D8 3C038016 */ lui $v1, %hi(D_80164430) # $v1, 0x8016
/* 11DEEC 802B48DC 94634430 */ lhu $v1, %lo(D_80164430)($v1)
/* 11DEF0 802B48E0 24420008 */ addiu $v0, $v0, 8
/* 11DEF4 802B48E4 00027C00 */ sll $t7, $v0, 0x10
/* 11DEF8 802B48E8 000FC403 */ sra $t8, $t7, 0x10
/* 11DEFC 802B48EC 0078082A */ slt $at, $v1, $t8
/* 11DF00 802B48F0 10200004 */ beqz $at, .L802B4904
/* 11DF04 802B48F4 03001025 */ move $v0, $t8
/* 11DF08 802B48F8 03031023 */ subu $v0, $t8, $v1
/* 11DF0C 802B48FC 0002CC00 */ sll $t9, $v0, 0x10
/* 11DF10 802B4900 00191403 */ sra $v0, $t9, 0x10
.L802B4904:
/* 11DF14 802B4904 10000030 */ b .L802B49C8
/* 11DF18 802B4908 A6020012 */ sh $v0, 0x12($s0)
.L802B490C:
/* 11DF1C 802B490C 14200023 */ bnez $at, .L802B499C
/* 11DF20 802B4910 24090005 */ li $t1, 5
/* 11DF24 802B4914 3C01447A */ li $at, 0x447A0000 # 1000.000000
/* 11DF28 802B4918 44815000 */ mtc1 $at, $f10
/* 11DF2C 802B491C A6090006 */ sh $t1, 6($s0)
/* 11DF30 802B4920 3C0A800E */ lui $t2, %hi(D_800DC4DC) # $t2, 0x800e
/* 11DF34 802B4924 E60A0008 */ swc1 $f10, 8($s0)
/* 11DF38 802B4928 8D4AC4DC */ lw $t2, %lo(D_800DC4DC)($t2)
/* 11DF3C 802B492C 24010DD8 */ li $at, 3544
/* 11DF40 802B4930 3C028016 */ lui $v0, 0x8016
/* 11DF44 802B4934 022A5823 */ subu $t3, $s1, $t2
/* 11DF48 802B4938 0161001A */ div $zero, $t3, $at
/* 11DF4C 802B493C 00006012 */ mflo $t4
/* 11DF50 802B4940 000C6840 */ sll $t5, $t4, 1
/* 11DF54 802B4944 004D1021 */ addu $v0, $v0, $t5
/* 11DF58 802B4948 94424438 */ lhu $v0, 0x4438($v0)
/* 11DF5C 802B494C 3C038016 */ lui $v1, %hi(D_80164430) # $v1, 0x8016
/* 11DF60 802B4950 94634430 */ lhu $v1, %lo(D_80164430)($v1)
/* 11DF64 802B4954 24420008 */ addiu $v0, $v0, 8
/* 11DF68 802B4958 00027400 */ sll $t6, $v0, 0x10
/* 11DF6C 802B495C 000E7C03 */ sra $t7, $t6, 0x10
/* 11DF70 802B4960 006F082A */ slt $at, $v1, $t7
/* 11DF74 802B4964 10200004 */ beqz $at, .L802B4978
/* 11DF78 802B4968 01E01025 */ move $v0, $t7
/* 11DF7C 802B496C 01E31023 */ subu $v0, $t7, $v1
/* 11DF80 802B4970 0002C400 */ sll $t8, $v0, 0x10
/* 11DF84 802B4974 00181403 */ sra $v0, $t8, 0x10
.L802B4978:
/* 11DF88 802B4978 A6020012 */ sh $v0, 0x12($s0)
/* 11DF8C 802B497C 86280004 */ lh $t0, 4($s1)
/* 11DF90 802B4980 3C048016 */ lui $a0, %hi(D_8015F8F0) # $a0, 0x8016
/* 11DF94 802B4984 2484F8F0 */ addiu $a0, %lo(D_8015F8F0) # addiu $a0, $a0, -0x710
/* 11DF98 802B4988 00084840 */ sll $t1, $t0, 1
/* 11DF9C 802B498C 00895021 */ addu $t2, $a0, $t1
/* 11DFA0 802B4990 854BFFFE */ lh $t3, -2($t2)
/* 11DFA4 802B4994 1000000C */ b .L802B49C8
/* 11DFA8 802B4998 A60B0004 */ sh $t3, 4($s0)
.L802B499C:
/* 11DFAC 802B499C 3C01447A */ li $at, 0x447A0000 # 1000.000000
/* 11DFB0 802B49A0 44818000 */ mtc1 $at, $f16
/* 11DFB4 802B49A4 A6030006 */ sh $v1, 6($s0)
/* 11DFB8 802B49A8 3C048016 */ lui $a0, %hi(D_8015F8F0) # $a0, 0x8016
/* 11DFBC 802B49AC E6100008 */ swc1 $f16, 8($s0)
/* 11DFC0 802B49B0 862C0004 */ lh $t4, 4($s1)
/* 11DFC4 802B49B4 2484F8F0 */ addiu $a0, %lo(D_8015F8F0) # addiu $a0, $a0, -0x710
/* 11DFC8 802B49B8 000C6840 */ sll $t5, $t4, 1
/* 11DFCC 802B49BC 008D7021 */ addu $t6, $a0, $t5
/* 11DFD0 802B49C0 85CFFFFE */ lh $t7, -2($t6)
/* 11DFD4 802B49C4 A60F0004 */ sh $t7, 4($s0)
.L802B49C8:
/* 11DFD8 802B49C8 3C01C000 */ li $at, 0xC0000000 # -2.000000
/* 11DFDC 802B49CC 44810000 */ mtc1 $at, $f0
/* 11DFE0 802B49D0 C6120028 */ lwc1 $f18, 0x28($s0)
/* 11DFE4 802B49D4 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 11DFE8 802B49D8 44813800 */ mtc1 $at, $f7
/* 11DFEC 802B49DC 44803000 */ mtc1 $zero, $f6
/* 11DFF0 802B49E0 46009121 */ cvt.d.s $f4, $f18
/* 11DFF4 802B49E4 46262201 */ sub.d $f8, $f4, $f6
/* 11DFF8 802B49E8 462042A0 */ cvt.s.d $f10, $f8
/* 11DFFC 802B49EC E60A0028 */ swc1 $f10, 0x28($s0)
/* 11E000 802B49F0 C6100028 */ lwc1 $f16, 0x28($s0)
/* 11E004 802B49F4 4600803C */ c.lt.s $f16, $f0
/* 11E008 802B49F8 00000000 */ nop
/* 11E00C 802B49FC 45020003 */ bc1fl .L802B4A0C
/* 11E010 802B4A00 C6120018 */ lwc1 $f18, 0x18($s0)
/* 11E014 802B4A04 E6000028 */ swc1 $f0, 0x28($s0)
/* 11E018 802B4A08 C6120018 */ lwc1 $f18, 0x18($s0)
.L802B4A0C:
/* 11E01C 802B4A0C 26040030 */ addiu $a0, $s0, 0x30
/* 11E020 802B4A10 3C054080 */ lui $a1, 0x4080
/* 11E024 802B4A14 E7B20038 */ swc1 $f18, 0x38($sp)
/* 11E028 802B4A18 C604001C */ lwc1 $f4, 0x1c($s0)
/* 11E02C 802B4A1C E7A4003C */ swc1 $f4, 0x3c($sp)
/* 11E030 802B4A20 C6060020 */ lwc1 $f6, 0x20($s0)
/* 11E034 802B4A24 E7A60040 */ swc1 $f6, 0x40($sp)
/* 11E038 802B4A28 C6080018 */ lwc1 $f8, 0x18($s0)
/* 11E03C 802B4A2C C60A0024 */ lwc1 $f10, 0x24($s0)
/* 11E040 802B4A30 C612001C */ lwc1 $f18, 0x1c($s0)
/* 11E044 802B4A34 C6040028 */ lwc1 $f4, 0x28($s0)
/* 11E048 802B4A38 460A4400 */ add.s $f16, $f8, $f10
/* 11E04C 802B4A3C C60A002C */ lwc1 $f10, 0x2c($s0)
/* 11E050 802B4A40 C6080020 */ lwc1 $f8, 0x20($s0)
/* 11E054 802B4A44 46049180 */ add.s $f6, $f18, $f4
/* 11E058 802B4A48 E6100018 */ swc1 $f16, 0x18($s0)
/* 11E05C 802B4A4C 8E060018 */ lw $a2, 0x18($s0)
/* 11E060 802B4A50 460A4400 */ add.s $f16, $f8, $f10
/* 11E064 802B4A54 E606001C */ swc1 $f6, 0x1c($s0)
/* 11E068 802B4A58 8E07001C */ lw $a3, 0x1c($s0)
/* 11E06C 802B4A5C E6100020 */ swc1 $f16, 0x20($s0)
/* 11E070 802B4A60 C6120020 */ lwc1 $f18, 0x20($s0)
/* 11E074 802B4A64 C7A80040 */ lwc1 $f8, 0x40($sp)
/* 11E078 802B4A68 C7A6003C */ lwc1 $f6, 0x3c($sp)
/* 11E07C 802B4A6C C7A40038 */ lwc1 $f4, 0x38($sp)
/* 11E080 802B4A70 E7B20010 */ swc1 $f18, 0x10($sp)
/* 11E084 802B4A74 E7A8001C */ swc1 $f8, 0x1c($sp)
/* 11E088 802B4A78 E7A60018 */ swc1 $f6, 0x18($sp)
/* 11E08C 802B4A7C 0C0AB654 */ jal func_802AD950
/* 11E090 802B4A80 E7A40014 */ swc1 $f4, 0x14($sp)
/* 11E094 802B4A84 0C0AD38C */ jal func_802B4E30
/* 11E098 802B4A88 02002025 */ move $a0, $s0
/* 11E09C 802B4A8C 0C0AD041 */ jal func_802B4104
/* 11E0A0 802B4A90 02002025 */ move $a0, $s0
/* 11E0A4 802B4A94 100000E2 */ b .L802B4E20
/* 11E0A8 802B4A98 8FBF002C */ lw $ra, 0x2c($sp)
glabel L802B4A9C
/* 11E0AC 802B4A9C 86180004 */ lh $t8, 4($s0)
/* 11E0B0 802B4AA0 3C08800F */ lui $t0, %hi(D_800F6990) # $t0, 0x800f
/* 11E0B4 802B4AA4 25086990 */ addiu $t0, %lo(D_800F6990) # addiu $t0, $t0, 0x6990
/* 11E0B8 802B4AA8 0018C8C0 */ sll $t9, $t8, 3
/* 11E0BC 802B4AAC 0338C823 */ subu $t9, $t9, $t8
/* 11E0C0 802B4AB0 0019C900 */ sll $t9, $t9, 4
/* 11E0C4 802B4AB4 0338C823 */ subu $t9, $t9, $t8
/* 11E0C8 802B4AB8 0019C880 */ sll $t9, $t9, 2
/* 11E0CC 802B4ABC 0338C823 */ subu $t9, $t9, $t8
/* 11E0D0 802B4AC0 0019C8C0 */ sll $t9, $t9, 3
/* 11E0D4 802B4AC4 03282821 */ addu $a1, $t9, $t0
/* 11E0D8 802B4AC8 0C0ACF9F */ jal func_802B3E7C
/* 11E0DC 802B4ACC 02002025 */ move $a0, $s0
/* 11E0E0 802B4AD0 100000D3 */ b .L802B4E20
/* 11E0E4 802B4AD4 8FBF002C */ lw $ra, 0x2c($sp)
glabel L802B4AD8
/* 11E0E8 802B4AD8 0C0ACED1 */ jal func_802B3B44
/* 11E0EC 802B4ADC 02002025 */ move $a0, $s0
/* 11E0F0 802B4AE0 86020004 */ lh $v0, 4($s0)
/* 11E0F4 802B4AE4 544000CE */ bnel $v0, $zero, .L802B4E20
/* 11E0F8 802B4AE8 8FBF002C */ lw $ra, 0x2c($sp)
/* 11E0FC 802B4AEC 86090002 */ lh $t1, 2($s0)
/* 11E100 802B4AF0 244BFFFF */ addiu $t3, $v0, -1
/* 11E104 802B4AF4 312A000F */ andi $t2, $t1, 0xf
/* 11E108 802B4AF8 15400005 */ bnez $t2, .L802B4B10
/* 11E10C 802B4AFC 00000000 */ nop
/* 11E110 802B4B00 0C0A7F72 */ jal func_8029FDC8
/* 11E114 802B4B04 02002025 */ move $a0, $s0
/* 11E118 802B4B08 100000C5 */ b .L802B4E20
/* 11E11C 802B4B0C 8FBF002C */ lw $ra, 0x2c($sp)
.L802B4B10:
/* 11E120 802B4B10 100000C2 */ b .L802B4E1C
/* 11E124 802B4B14 A60B0004 */ sh $t3, 4($s0)
glabel L802B4B18
/* 11E128 802B4B18 0C0ACED1 */ jal func_802B3B44
/* 11E12C 802B4B1C 02002025 */ move $a0, $s0
/* 11E130 802B4B20 860C0004 */ lh $t4, 4($s0)
/* 11E134 802B4B24 3C0E800F */ lui $t6, %hi(D_800F6990) # $t6, 0x800f
/* 11E138 802B4B28 25CE6990 */ addiu $t6, %lo(D_800F6990) # addiu $t6, $t6, 0x6990
/* 11E13C 802B4B2C 000C68C0 */ sll $t5, $t4, 3
/* 11E140 802B4B30 01AC6823 */ subu $t5, $t5, $t4
/* 11E144 802B4B34 000D6900 */ sll $t5, $t5, 4
/* 11E148 802B4B38 01AC6823 */ subu $t5, $t5, $t4
/* 11E14C 802B4B3C 000D6880 */ sll $t5, $t5, 2
/* 11E150 802B4B40 01AC6823 */ subu $t5, $t5, $t4
/* 11E154 802B4B44 000D68C0 */ sll $t5, $t5, 3
/* 11E158 802B4B48 01AE8821 */ addu $s1, $t5, $t6
/* 11E15C 802B4B4C C6200014 */ lwc1 $f0, 0x14($s1)
/* 11E160 802B4B50 C60A0018 */ lwc1 $f10, 0x18($s0)
/* 11E164 802B4B54 C622001C */ lwc1 $f2, 0x1c($s1)
/* 11E168 802B4B58 C6100020 */ lwc1 $f16, 0x20($s0)
/* 11E16C 802B4B5C 460A0001 */ sub.s $f0, $f0, $f10
/* 11E170 802B4B60 3C01802C */ lui $at, %hi(D_802B9F98) # $at, 0x802c
/* 11E174 802B4B64 C4289F98 */ lwc1 $f8, %lo(D_802B9F98)($at)
/* 11E178 802B4B68 46101081 */ sub.s $f2, $f2, $f16
/* 11E17C 802B4B6C 46000482 */ mul.s $f18, $f0, $f0
/* 11E180 802B4B70 24030003 */ li $v1, 3
/* 11E184 802B4B74 46021102 */ mul.s $f4, $f2, $f2
/* 11E188 802B4B78 46049180 */ add.s $f6, $f18, $f4
/* 11E18C 802B4B7C 4608303C */ c.lt.s $f6, $f8
/* 11E190 802B4B80 00000000 */ nop
/* 11E194 802B4B84 450200A6 */ bc1fl .L802B4E20
/* 11E198 802B4B88 8FBF002C */ lw $ra, 0x2c($sp)
/* 11E19C 802B4B8C 100000A3 */ b .L802B4E1C
/* 11E1A0 802B4B90 A6030006 */ sh $v1, 6($s0)
glabel L802B4B94
/* 11E1A4 802B4B94 860F0014 */ lh $t7, 0x14($s0)
/* 11E1A8 802B4B98 86080004 */ lh $t0, 4($s0)
/* 11E1AC 802B4B9C 3C0A8016 */ lui $t2, %hi(D_8015F9B8) # $t2, 0x8016
/* 11E1B0 802B4BA0 000FC0C0 */ sll $t8, $t7, 3
/* 11E1B4 802B4BA4 000848C0 */ sll $t1, $t0, 3
/* 11E1B8 802B4BA8 030FC023 */ subu $t8, $t8, $t7
/* 11E1BC 802B4BAC 01284823 */ subu $t1, $t1, $t0
/* 11E1C0 802B4BB0 0018C100 */ sll $t8, $t8, 4
/* 11E1C4 802B4BB4 00094900 */ sll $t1, $t1, 4
/* 11E1C8 802B4BB8 254AF9B8 */ addiu $t2, %lo(D_8015F9B8) # addiu $t2, $t2, -0x648
/* 11E1CC 802B4BBC 012A1021 */ addu $v0, $t1, $t2
/* 11E1D0 802B4BC0 030FC023 */ subu $t8, $t8, $t7
/* 11E1D4 802B4BC4 844B0000 */ lh $t3, ($v0)
/* 11E1D8 802B4BC8 0018C080 */ sll $t8, $t8, 2
/* 11E1DC 802B4BCC 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 11E1E0 802B4BD0 030FC023 */ subu $t8, $t8, $t7
/* 11E1E4 802B4BD4 0018C0C0 */ sll $t8, $t8, 3
/* 11E1E8 802B4BD8 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 11E1EC 802B4BDC 24010016 */ li $at, 22
/* 11E1F0 802B4BE0 11610005 */ beq $t3, $at, .L802B4BF8
/* 11E1F4 802B4BE4 03198821 */ addu $s1, $t8, $t9
/* 11E1F8 802B4BE8 0C0A7F72 */ jal func_8029FDC8
/* 11E1FC 802B4BEC 02002025 */ move $a0, $s0
/* 11E200 802B4BF0 1000008B */ b .L802B4E20
/* 11E204 802B4BF4 8FBF002C */ lw $ra, 0x2c($sp)
.L802B4BF8:
/* 11E208 802B4BF8 860C0012 */ lh $t4, 0x12($s0)
/* 11E20C 802B4BFC 844D0010 */ lh $t5, 0x10($v0)
/* 11E210 802B4C00 018D7021 */ addu $t6, $t4, $t5
/* 11E214 802B4C04 A60E0012 */ sh $t6, 0x12($s0)
/* 11E218 802B4C08 0C0AE006 */ jal func_802B8018
/* 11E21C 802B4C0C 31C4FFFF */ andi $a0, $t6, 0xffff
/* 11E220 802B4C10 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11E224 802B4C14 44815000 */ mtc1 $at, $f10
/* 11E228 802B4C18 00000000 */ nop
/* 11E22C 802B4C1C 460A0402 */ mul.s $f16, $f0, $f10
/* 11E230 802B4C20 E7B0008C */ swc1 $f16, 0x8c($sp)
/* 11E234 802B4C24 C6240070 */ lwc1 $f4, 0x70($s1)
/* 11E238 802B4C28 C612000C */ lwc1 $f18, 0xc($s0)
/* 11E23C 802B4C2C 46049181 */ sub.s $f6, $f18, $f4
/* 11E240 802B4C30 E7A60090 */ swc1 $f6, 0x90($sp)
/* 11E244 802B4C34 0C0AE00E */ jal func_802B8038
/* 11E248 802B4C38 96040012 */ lhu $a0, 0x12($s0)
/* 11E24C 802B4C3C 3C014100 */ li $at, 0x41000000 # 8.000000
/* 11E250 802B4C40 44814000 */ mtc1 $at, $f8
/* 11E254 802B4C44 27A4008C */ addiu $a0, $sp, 0x8c
/* 11E258 802B4C48 26250174 */ addiu $a1, $s1, 0x174
/* 11E25C 802B4C4C 46080282 */ mul.s $f10, $f0, $f8
/* 11E260 802B4C50 0C0AD8EE */ jal func_802B63B8
/* 11E264 802B4C54 E7AA0094 */ swc1 $f10, 0x94($sp)
/* 11E268 802B4C58 C6100018 */ lwc1 $f16, 0x18($s0)
/* 11E26C 802B4C5C C7A6008C */ lwc1 $f6, 0x8c($sp)
/* 11E270 802B4C60 26040030 */ addiu $a0, $s0, 0x30
/* 11E274 802B4C64 E7B00038 */ swc1 $f16, 0x38($sp)
/* 11E278 802B4C68 C612001C */ lwc1 $f18, 0x1c($s0)
/* 11E27C 802B4C6C 3C054080 */ lui $a1, 0x4080
/* 11E280 802B4C70 E7B2003C */ swc1 $f18, 0x3c($sp)
/* 11E284 802B4C74 C6040020 */ lwc1 $f4, 0x20($s0)
/* 11E288 802B4C78 E7A40040 */ swc1 $f4, 0x40($sp)
/* 11E28C 802B4C7C C6280014 */ lwc1 $f8, 0x14($s1)
/* 11E290 802B4C80 46083280 */ add.s $f10, $f6, $f8
/* 11E294 802B4C84 E60A0018 */ swc1 $f10, 0x18($s0)
/* 11E298 802B4C88 C6320018 */ lwc1 $f18, 0x18($s1)
/* 11E29C 802B4C8C C7B00090 */ lwc1 $f16, 0x90($sp)
/* 11E2A0 802B4C90 8E060018 */ lw $a2, 0x18($s0)
/* 11E2A4 802B4C94 46128100 */ add.s $f4, $f16, $f18
/* 11E2A8 802B4C98 E604001C */ swc1 $f4, 0x1c($s0)
/* 11E2AC 802B4C9C C628001C */ lwc1 $f8, 0x1c($s1)
/* 11E2B0 802B4CA0 C7A60094 */ lwc1 $f6, 0x94($sp)
/* 11E2B4 802B4CA4 8E07001C */ lw $a3, 0x1c($s0)
/* 11E2B8 802B4CA8 46083280 */ add.s $f10, $f6, $f8
/* 11E2BC 802B4CAC E60A0020 */ swc1 $f10, 0x20($s0)
/* 11E2C0 802B4CB0 C6100020 */ lwc1 $f16, 0x20($s0)
/* 11E2C4 802B4CB4 C7A60040 */ lwc1 $f6, 0x40($sp)
/* 11E2C8 802B4CB8 C7A4003C */ lwc1 $f4, 0x3c($sp)
/* 11E2CC 802B4CBC C7B20038 */ lwc1 $f18, 0x38($sp)
/* 11E2D0 802B4CC0 E7B00010 */ swc1 $f16, 0x10($sp)
/* 11E2D4 802B4CC4 E7A6001C */ swc1 $f6, 0x1c($sp)
/* 11E2D8 802B4CC8 E7A40018 */ swc1 $f4, 0x18($sp)
/* 11E2DC 802B4CCC 0C0AB654 */ jal func_802AD950
/* 11E2E0 802B4CD0 E7B20014 */ swc1 $f18, 0x14($sp)
/* 11E2E4 802B4CD4 0C0AD38C */ jal func_802B4E30
/* 11E2E8 802B4CD8 02002025 */ move $a0, $s0
/* 11E2EC 802B4CDC 10000050 */ b .L802B4E20
/* 11E2F0 802B4CE0 8FBF002C */ lw $ra, 0x2c($sp)
glabel L802B4CE4
/* 11E2F4 802B4CE4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000
/* 11E2F8 802B4CE8 44816000 */ mtc1 $at, $f12
/* 11E2FC 802B4CEC 3C01802C */ lui $at, %hi(D_802B9F9C) # $at, 0x802c
/* 11E300 802B4CF0 C42A9F9C */ lwc1 $f10, %lo(D_802B9F9C)($at)
/* 11E304 802B4CF4 C6080028 */ lwc1 $f8, 0x28($s0)
/* 11E308 802B4CF8 460A4401 */ sub.s $f16, $f8, $f10
/* 11E30C 802B4CFC E6100028 */ swc1 $f16, 0x28($s0)
/* 11E310 802B4D00 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11E314 802B4D04 460C003C */ c.lt.s $f0, $f12
/* 11E318 802B4D08 00000000 */ nop
/* 11E31C 802B4D0C 45020004 */ bc1fl .L802B4D20
/* 11E320 802B4D10 86190004 */ lh $t9, 4($s0)
/* 11E324 802B4D14 E60C0028 */ swc1 $f12, 0x28($s0)
/* 11E328 802B4D18 C6000028 */ lwc1 $f0, 0x28($s0)
/* 11E32C 802B4D1C 86190004 */ lh $t9, 4($s0)
.L802B4D20:
/* 11E330 802B4D20 C612001C */ lwc1 $f18, 0x1c($s0)
/* 11E334 802B4D24 860F0012 */ lh $t7, 0x12($s0)
/* 11E338 802B4D28 2728FFFF */ addiu $t0, $t9, -1
/* 11E33C 802B4D2C A6080004 */ sh $t0, 4($s0)
/* 11E340 802B4D30 46009100 */ add.s $f4, $f18, $f0
/* 11E344 802B4D34 86090004 */ lh $t1, 4($s0)
/* 11E348 802B4D38 25F805B0 */ addiu $t8, $t7, 0x5b0
/* 11E34C 802B4D3C A6180012 */ sh $t8, 0x12($s0)
/* 11E350 802B4D40 15200036 */ bnez $t1, .L802B4E1C
/* 11E354 802B4D44 E604001C */ swc1 $f4, 0x1c($s0)
/* 11E358 802B4D48 0C0A7A15 */ jal func_8029E854
/* 11E35C 802B4D4C 02002025 */ move $a0, $s0
/* 11E360 802B4D50 10000033 */ b .L802B4E20
/* 11E364 802B4D54 8FBF002C */ lw $ra, 0x2c($sp)
glabel L802B4D58
/* 11E368 802B4D58 0C0ACED1 */ jal func_802B3B44
/* 11E36C 802B4D5C 02002025 */ move $a0, $s0
/* 11E370 802B4D60 3C048016 */ lui $a0, %hi(D_8015F8F0) # $a0, 0x8016
/* 11E374 802B4D64 2484F8F0 */ addiu $a0, %lo(D_8015F8F0) # addiu $a0, $a0, -0x710
/* 11E378 802B4D68 848A0000 */ lh $t2, ($a0)
/* 11E37C 802B4D6C 3C0D800F */ lui $t5, %hi(D_800F6990) # $t5, 0x800f
/* 11E380 802B4D70 25AD6990 */ addiu $t5, %lo(D_800F6990) # addiu $t5, $t5, 0x6990
/* 11E384 802B4D74 A60A0004 */ sh $t2, 4($s0)
/* 11E388 802B4D78 848B0000 */ lh $t3, ($a0)
/* 11E38C 802B4D7C C6060018 */ lwc1 $f6, 0x18($s0)
/* 11E390 802B4D80 C6080020 */ lwc1 $f8, 0x20($s0)
/* 11E394 802B4D84 000B60C0 */ sll $t4, $t3, 3
/* 11E398 802B4D88 018B6023 */ subu $t4, $t4, $t3
/* 11E39C 802B4D8C 000C6100 */ sll $t4, $t4, 4
/* 11E3A0 802B4D90 018B6023 */ subu $t4, $t4, $t3
/* 11E3A4 802B4D94 000C6080 */ sll $t4, $t4, 2
/* 11E3A8 802B4D98 018B6023 */ subu $t4, $t4, $t3
/* 11E3AC 802B4D9C 000C60C0 */ sll $t4, $t4, 3
/* 11E3B0 802B4DA0 018D8821 */ addu $s1, $t4, $t5
/* 11E3B4 802B4DA4 C6200014 */ lwc1 $f0, 0x14($s1)
/* 11E3B8 802B4DA8 C622001C */ lwc1 $f2, 0x1c($s1)
/* 11E3BC 802B4DAC 3C01802C */ lui $at, %hi(D_802B9FA0) # $at, 0x802c
/* 11E3C0 802B4DB0 46060001 */ sub.s $f0, $f0, $f6
/* 11E3C4 802B4DB4 C4249FA0 */ lwc1 $f4, %lo(D_802B9FA0)($at)
/* 11E3C8 802B4DB8 240E0009 */ li $t6, 9
/* 11E3CC 802B4DBC 46081081 */ sub.s $f2, $f2, $f8
/* 11E3D0 802B4DC0 46000282 */ mul.s $f10, $f0, $f0
/* 11E3D4 802B4DC4 00000000 */ nop
/* 11E3D8 802B4DC8 46021402 */ mul.s $f16, $f2, $f2
/* 11E3DC 802B4DCC 46105480 */ add.s $f18, $f10, $f16
/* 11E3E0 802B4DD0 4604903C */ c.lt.s $f18, $f4
/* 11E3E4 802B4DD4 00000000 */ nop
/* 11E3E8 802B4DD8 45000010 */ bc1f .L802B4E1C
/* 11E3EC 802B4DDC 00000000 */ nop
/* 11E3F0 802B4DE0 1000000E */ b .L802B4E1C
/* 11E3F4 802B4DE4 A60E0006 */ sh $t6, 6($s0)
glabel L802B4DE8
/* 11E3F8 802B4DE8 860F0004 */ lh $t7, 4($s0)
/* 11E3FC 802B4DEC 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 11E400 802B4DF0 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 11E404 802B4DF4 000FC0C0 */ sll $t8, $t7, 3
/* 11E408 802B4DF8 030FC023 */ subu $t8, $t8, $t7
/* 11E40C 802B4DFC 0018C100 */ sll $t8, $t8, 4
/* 11E410 802B4E00 030FC023 */ subu $t8, $t8, $t7
/* 11E414 802B4E04 0018C080 */ sll $t8, $t8, 2
/* 11E418 802B4E08 030FC023 */ subu $t8, $t8, $t7
/* 11E41C 802B4E0C 0018C0C0 */ sll $t8, $t8, 3
/* 11E420 802B4E10 03192821 */ addu $a1, $t8, $t9
/* 11E424 802B4E14 0C0ACF9F */ jal func_802B3E7C
/* 11E428 802B4E18 02002025 */ move $a0, $s0
.L802B4E1C:
/* 11E42C 802B4E1C 8FBF002C */ lw $ra, 0x2c($sp)
.L802B4E20:
/* 11E430 802B4E20 8FB00024 */ lw $s0, 0x24($sp)
/* 11E434 802B4E24 8FB10028 */ lw $s1, 0x28($sp)
/* 11E438 802B4E28 03E00008 */ jr $ra
/* 11E43C 802B4E2C 27BD00B0 */ addiu $sp, $sp, 0xb0
glabel func_802B4E30
/* 11E440 802B4E30 44801000 */ mtc1 $zero, $f2
/* 11E444 802B4E34 C4800044 */ lwc1 $f0, 0x44($a0)
/* 11E448 802B4E38 4602003C */ c.lt.s $f0, $f2
/* 11E44C 802B4E3C 00000000 */ nop
/* 11E450 802B4E40 45020015 */ bc1fl .L802B4E98
/* 11E454 802B4E44 C480003C */ lwc1 $f0, 0x3c($a0)
/* 11E458 802B4E48 948E0034 */ lhu $t6, 0x34($a0)
/* 11E45C 802B4E4C 24020001 */ li $v0, 1
/* 11E460 802B4E50 544E0011 */ bnel $v0, $t6, .L802B4E98
/* 11E464 802B4E54 C480003C */ lwc1 $f0, 0x3c($a0)
/* 11E468 802B4E58 C4860060 */ lwc1 $f6, 0x60($a0)
/* 11E46C 802B4E5C C4840018 */ lwc1 $f4, 0x18($a0)
/* 11E470 802B4E60 C4920064 */ lwc1 $f18, 0x64($a0)
/* 11E474 802B4E64 46003202 */ mul.s $f8, $f6, $f0
/* 11E478 802B4E68 C490001C */ lwc1 $f16, 0x1c($a0)
/* 11E47C 802B4E6C 46009182 */ mul.s $f6, $f18, $f0
/* 11E480 802B4E70 46082281 */ sub.s $f10, $f4, $f8
/* 11E484 802B4E74 C4880020 */ lwc1 $f8, 0x20($a0)
/* 11E488 802B4E78 46068101 */ sub.s $f4, $f16, $f6
/* 11E48C 802B4E7C E48A0018 */ swc1 $f10, 0x18($a0)
/* 11E490 802B4E80 C48A0068 */ lwc1 $f10, 0x68($a0)
/* 11E494 802B4E84 E484001C */ swc1 $f4, 0x1c($a0)
/* 11E498 802B4E88 46005482 */ mul.s $f18, $f10, $f0
/* 11E49C 802B4E8C 46124401 */ sub.s $f16, $f8, $f18
/* 11E4A0 802B4E90 E4900020 */ swc1 $f16, 0x20($a0)
/* 11E4A4 802B4E94 C480003C */ lwc1 $f0, 0x3c($a0)
.L802B4E98:
/* 11E4A8 802B4E98 24020001 */ li $v0, 1
/* 11E4AC 802B4E9C 4602003C */ c.lt.s $f0, $f2
/* 11E4B0 802B4EA0 00000000 */ nop
/* 11E4B4 802B4EA4 45020014 */ bc1fl .L802B4EF8
/* 11E4B8 802B4EA8 C4800040 */ lwc1 $f0, 0x40($a0)
/* 11E4BC 802B4EAC 948F0030 */ lhu $t7, 0x30($a0)
/* 11E4C0 802B4EB0 544F0011 */ bnel $v0, $t7, .L802B4EF8
/* 11E4C4 802B4EB4 C4800040 */ lwc1 $f0, 0x40($a0)
/* 11E4C8 802B4EB8 C4840048 */ lwc1 $f4, 0x48($a0)
/* 11E4CC 802B4EBC C4860018 */ lwc1 $f6, 0x18($a0)
/* 11E4D0 802B4EC0 C490004C */ lwc1 $f16, 0x4c($a0)
/* 11E4D4 802B4EC4 46002282 */ mul.s $f10, $f4, $f0
/* 11E4D8 802B4EC8 C492001C */ lwc1 $f18, 0x1c($a0)
/* 11E4DC 802B4ECC 46008102 */ mul.s $f4, $f16, $f0
/* 11E4E0 802B4ED0 460A3201 */ sub.s $f8, $f6, $f10
/* 11E4E4 802B4ED4 C48A0020 */ lwc1 $f10, 0x20($a0)
/* 11E4E8 802B4ED8 46049181 */ sub.s $f6, $f18, $f4
/* 11E4EC 802B4EDC E4880018 */ swc1 $f8, 0x18($a0)
/* 11E4F0 802B4EE0 C4880050 */ lwc1 $f8, 0x50($a0)
/* 11E4F4 802B4EE4 E486001C */ swc1 $f6, 0x1c($a0)
/* 11E4F8 802B4EE8 46004402 */ mul.s $f16, $f8, $f0
/* 11E4FC 802B4EEC 46105481 */ sub.s $f18, $f10, $f16
/* 11E500 802B4EF0 E4920020 */ swc1 $f18, 0x20($a0)
/* 11E504 802B4EF4 C4800040 */ lwc1 $f0, 0x40($a0)
.L802B4EF8:
/* 11E508 802B4EF8 4602003C */ c.lt.s $f0, $f2
/* 11E50C 802B4EFC 00000000 */ nop
/* 11E510 802B4F00 45000013 */ bc1f .L802B4F50
/* 11E514 802B4F04 00000000 */ nop
/* 11E518 802B4F08 94980032 */ lhu $t8, 0x32($a0)
/* 11E51C 802B4F0C 14580010 */ bne $v0, $t8, .L802B4F50
/* 11E520 802B4F10 00000000 */ nop
/* 11E524 802B4F14 C4860054 */ lwc1 $f6, 0x54($a0)
/* 11E528 802B4F18 C4840018 */ lwc1 $f4, 0x18($a0)
/* 11E52C 802B4F1C C4920058 */ lwc1 $f18, 0x58($a0)
/* 11E530 802B4F20 46003202 */ mul.s $f8, $f6, $f0
/* 11E534 802B4F24 C490001C */ lwc1 $f16, 0x1c($a0)
/* 11E538 802B4F28 46009182 */ mul.s $f6, $f18, $f0
/* 11E53C 802B4F2C 46082281 */ sub.s $f10, $f4, $f8
/* 11E540 802B4F30 C4880020 */ lwc1 $f8, 0x20($a0)
/* 11E544 802B4F34 46068101 */ sub.s $f4, $f16, $f6
/* 11E548 802B4F38 E48A0018 */ swc1 $f10, 0x18($a0)
/* 11E54C 802B4F3C C48A005C */ lwc1 $f10, 0x5c($a0)
/* 11E550 802B4F40 E484001C */ swc1 $f4, 0x1c($a0)
/* 11E554 802B4F44 46005482 */ mul.s $f18, $f10, $f0
/* 11E558 802B4F48 46124401 */ sub.s $f16, $f8, $f18
/* 11E55C 802B4F4C E4900020 */ swc1 $f16, 0x20($a0)
.L802B4F50:
/* 11E560 802B4F50 03E00008 */ jr $ra
/* 11E564 802B4F54 00000000 */ nop
/* 11E568 802B4F58 00000000 */ nop
/* 11E56C 802B4F5C 00000000 */ nop