# Needs splitting .rdata glabel D_80139614 .asciz "\x1B[1m%06u:\x1B[m camera: spline demo: start %s \n" .balign 4 glabel D_80139644 .asciz "絶対" # actually japanese? .balign 4 glabel D_8013964C .asciz "相対" .balign 4 glabel D_80139654 .asciz "CENTER" .balign 4 glabel D_8013965C .asciz " EYE" .balign 4 glabel D_80139664 .asciz "\x1B[41;37mcamera: spline demo: owner dead\n\x1B[m" .balign 4 glabel D_80139690 .asciz "\x1B[43;30mcamera: warning: attention: target is not valid, stop!\n\x1B[m" .balign 4 glabel D_801396D4 .asciz "\x1B[43;30mcamera: attention demo: this door is dummy door!\n\x1B[m" .balign 4 glabel D_80139714 .asciz "\x1B[43;30mcamera: warning: circle: target is not valid, stop!\n\x1B[m" .balign 4 glabel D_80139754 .asciz "../z_camera.c" .balign 4 glabel D_80139764 .asciz "\x1B[34mcamera: create --- allocate %d byte\x1B[m\n" .balign 4 glabel D_80139794 .asciz "\x1B[41;37mcamera: create: not enough memory\n\x1B[m" .balign 4 glabel D_801397C4 .asciz "\x1B[34mcamera: destroy ---\x1B[m\n" .balign 4 glabel D_801397E4 .asciz "../z_camera.c" .balign 4 glabel D_801397F4 .asciz "\x1B[43;30mcamera: destroy: already cleared\n\x1B[m" .balign 4 .late_rodata # todo: sort these out glabel jtbl_8013A2B8 .incbin "baserom.z64", 0xBB1458, 0x7C glabel D_8013A334 .incbin "baserom.z64", 0xBB14D4, 0x4 glabel D_8013A338 .incbin "baserom.z64", 0xBB14D8, 0x4 glabel D_8013A33C .incbin "baserom.z64", 0xBB14DC, 0x4 glabel D_8013A340 .incbin "baserom.z64", 0xBB14E0, 0x4 glabel D_8013A344 .incbin "baserom.z64", 0xBB14E4, 0x4 glabel D_8013A348 .incbin "baserom.z64", 0xBB14E8, 0x4 glabel D_8013A34C .incbin "baserom.z64", 0xBB14EC, 0x4 glabel D_8013A350 .incbin "baserom.z64", 0xBB14F0, 0x4 glabel D_8013A354 .incbin "baserom.z64", 0xBB14F4, 0x4 glabel D_8013A358 .incbin "baserom.z64", 0xBB14F8, 0x4 glabel D_8013A35C .incbin "baserom.z64", 0xBB14FC, 0x4 glabel D_8013A360 .incbin "baserom.z64", 0xBB1500, 0x4 glabel D_8013A364 .incbin "baserom.z64", 0xBB1504, 0x4 glabel D_8013A368 .incbin "baserom.z64", 0xBB1508, 0x4 glabel D_8013A36C .incbin "baserom.z64", 0xBB150C, 0x4 glabel jtbl_8013A370 .incbin "baserom.z64", 0xBB1510, 0x14 glabel D_8013A384 .incbin "baserom.z64", 0xBB1524, 0x4 glabel D_8013A388 .incbin "baserom.z64", 0xBB1528, 0x4 glabel D_8013A38C .incbin "baserom.z64", 0xBB152C, 0x4 glabel D_8013A390 .incbin "baserom.z64", 0xBB1530, 0x4 glabel D_8013A394 .incbin "baserom.z64", 0xBB1534, 0x4 glabel D_8013A398 .incbin "baserom.z64", 0xBB1538, 0x4 glabel D_8013A39C .incbin "baserom.z64", 0xBB153C, 0x4 glabel D_8013A3A0 .incbin "baserom.z64", 0xBB1540, 0x4 glabel D_8013A3A4 .incbin "baserom.z64", 0xBB1544, 0x4 glabel D_8013A3A8 .incbin "baserom.z64", 0xBB1548, 0x4 glabel D_8013A3AC .incbin "baserom.z64", 0xBB154C, 0x4 glabel D_8013A3B0 .incbin "baserom.z64", 0xBB1550, 0x4 glabel D_8013A3B4 .incbin "baserom.z64", 0xBB1554, 0x4 glabel D_8013A3B8 .incbin "baserom.z64", 0xBB1558, 0x4 glabel D_8013A3BC .incbin "baserom.z64", 0xBB155C, 0x4 glabel D_8013A3C0 .incbin "baserom.z64", 0xBB1560, 0x4 glabel D_8013A3C4 .incbin "baserom.z64", 0xBB1564, 0x4 glabel D_8013A3C8 .incbin "baserom.z64", 0xBB1568, 0x4 glabel D_8013A3CC .incbin "baserom.z64", 0xBB156C, 0x4 glabel D_8013A3D0 .incbin "baserom.z64", 0xBB1570, 0x4 glabel jtbl_8013A3D4 .incbin "baserom.z64", 0xBB1574, 0x14 glabel D_8013A3E8 .incbin "baserom.z64", 0xBB1588, 0x4 glabel D_8013A3EC .incbin "baserom.z64", 0xBB158C, 0x4 glabel D_8013A3F0 .incbin "baserom.z64", 0xBB1590, 0x4 .text glabel func_80054478 /* ACB618 80054478 27BDFFD0 */ addiu $sp, $sp, -0x30 /* ACB61C 8005447C AFA40030 */ sw $a0, 0x30($sp) /* ACB620 80054480 AFBF0014 */ sw $ra, 0x14($sp) /* ACB624 80054484 00A02025 */ move $a0, $a1 /* ACB628 80054488 AFA60038 */ sw $a2, 0x38($sp) /* ACB62C 8005448C 0C015117 */ jal Camera_Vec3fCopy /* ACB630 80054490 27A5001C */ addiu $a1, $sp, 0x1c /* ACB634 80054494 27A40028 */ addiu $a0, $sp, 0x28 /* ACB638 80054498 0C01F0FD */ jal func_8007C3F4 /* ACB63C 8005449C 27A5001C */ addiu $a1, $sp, 0x1c /* ACB640 800544A0 8FA50030 */ lw $a1, 0x30($sp) /* ACB644 800544A4 87AE002E */ lh $t6, 0x2e($sp) /* ACB648 800544A8 8FA40038 */ lw $a0, 0x38($sp) /* ACB64C 800544AC 84AF000E */ lh $t7, 0xe($a1) /* ACB650 800544B0 27A60028 */ addiu $a2, $sp, 0x28 /* ACB654 800544B4 01CFC021 */ addu $t8, $t6, $t7 /* ACB658 800544B8 0C010F0A */ jal func_80043C28 /* ACB65C 800544BC A7B8002E */ sh $t8, 0x2e($sp) /* ACB660 800544C0 8FBF0014 */ lw $ra, 0x14($sp) /* ACB664 800544C4 27BD0030 */ addiu $sp, $sp, 0x30 /* ACB668 800544C8 03E00008 */ jr $ra /* ACB66C 800544CC 00000000 */ nop # SPLIT /* ACB670 800544D0 27BDFF68 */ addiu $sp, $sp, -0x98 /* ACB674 800544D4 AFBF0024 */ sw $ra, 0x24($sp) /* ACB678 800544D8 AFB00020 */ sw $s0, 0x20($sp) /* ACB67C 800544DC 8C8E0124 */ lw $t6, 0x124($a0) /* ACB680 800544E0 00808025 */ move $s0, $a0 /* ACB684 800544E4 2401000A */ li $at, 10 /* ACB688 800544E8 AFAE0084 */ sw $t6, 0x84($sp) /* ACB68C 800544EC 8C8F0128 */ lw $t7, 0x128($a0) /* ACB690 800544F0 AFAF0080 */ sw $t7, 0x80($sp) /* ACB694 800544F4 8482015E */ lh $v0, 0x15e($a0) /* ACB698 800544F8 3C048014 */ lui $a0, %hi(D_80139614) # $a0, 0x8014 /* ACB69C 800544FC 5040000A */ beql $v0, $zero, .L80054528 /* ACB6A0 80054500 86090142 */ lh $t1, 0x142($s0) /* ACB6A4 80054504 10410007 */ beq $v0, $at, .L80054524 /* ACB6A8 80054508 24010014 */ li $at, 20 /* ACB6AC 8005450C 10410005 */ beq $v0, $at, .L80054524 /* ACB6B0 80054510 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016 /* ACB6B4 80054514 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8) /* ACB6B8 80054518 87190314 */ lh $t9, 0x314($t8) /* ACB6BC 8005451C 5320000D */ beql $t9, $zero, .L80054554 /* ACB6C0 80054520 86180000 */ lh $t8, ($s0) .L80054524: /* ACB6C4 80054524 86090142 */ lh $t1, 0x142($s0) .L80054528: /* ACB6C8 80054528 3C0B8012 */ lui $t3, %hi(D_8011D068) /* ACB6CC 8005452C 860C0144 */ lh $t4, 0x144($s0) /* ACB6D0 80054530 000950C0 */ sll $t2, $t1, 3 /* ACB6D4 80054534 016A5821 */ addu $t3, $t3, $t2 /* ACB6D8 80054538 8D6BD068 */ lw $t3, %lo(D_8011D068)($t3) /* ACB6DC 8005453C 000C68C0 */ sll $t5, $t4, 3 /* ACB6E0 80054540 016D7021 */ addu $t6, $t3, $t5 /* ACB6E4 80054544 8DC20004 */ lw $v0, 4($t6) /* ACB6E8 80054548 844F0000 */ lh $t7, ($v0) /* ACB6EC 8005454C A60F0000 */ sh $t7, ($s0) /* ACB6F0 80054550 86180000 */ lh $t8, ($s0) .L80054554: /* ACB6F4 80054554 3C018012 */ lui $at, %hi(D_8011D3A0) /* ACB6F8 80054558 AC38D3A0 */ sw $t8, %lo(D_8011D3A0)($at) /* ACB6FC 8005455C 8606015E */ lh $a2, 0x15e($s0) /* ACB700 80054560 24010001 */ li $at, 1 /* ACB704 80054564 50C00006 */ beql $a2, $zero, .L80054580 /* ACB708 80054568 44802000 */ mtc1 $zero, $f4 /* ACB70C 8005456C 50C10025 */ beql $a2, $at, .L80054604 /* ACB710 80054570 26030004 */ addiu $v1, $s0, 4 /* ACB714 80054574 1000007B */ b .L80054764 /* ACB718 80054578 8FBF0024 */ lw $ra, 0x24($sp) /* ACB71C 8005457C 44802000 */ mtc1 $zero, $f4 .L80054580: /* ACB720 80054580 26030004 */ addiu $v1, $s0, 4 /* ACB724 80054584 A4600004 */ sh $zero, 4($v1) /* ACB728 80054588 E4640000 */ swc1 $f4, ($v1) /* ACB72C 8005458C 8619015E */ lh $t9, 0x15e($s0) /* ACB730 80054590 860A012C */ lh $t2, 0x12c($s0) /* ACB734 80054594 3C068014 */ lui $a2, %hi(D_8013964C) /* ACB738 80054598 27290001 */ addiu $t1, $t9, 1 /* ACB73C 8005459C 15400004 */ bnez $t2, .L800545B0 /* ACB740 800545A0 A609015E */ sh $t1, 0x15e($s0) /* ACB744 800545A4 3C068014 */ lui $a2, %hi(D_80139644) # $a2, 0x8014 /* ACB748 800545A8 10000002 */ b .L800545B4 /* ACB74C 800545AC 24C69644 */ addiu $a2, %lo(D_80139644) # addiu $a2, $a2, -0x69bc .L800545B0: /* ACB750 800545B0 24C6964C */ addiu $a2, %lo(D_8013964C) .L800545B4: /* ACB754 800545B4 8E0C008C */ lw $t4, 0x8c($s0) /* ACB758 800545B8 24849614 */ addiu $a0, %lo(D_80139614) # addiu $a0, $a0, -0x69ec /* ACB75C 800545BC 0C00084C */ jal osSyncPrintf /* ACB760 800545C0 8D85009C */ lw $a1, 0x9c($t4) /* ACB764 800545C4 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016 /* ACB768 800545C8 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3) /* ACB76C 800545CC 3C048014 */ lui $a0, %hi(D_80139654) # $a0, 0x8014 /* ACB770 800545D0 24849654 */ addiu $a0, %lo(D_80139654) # addiu $a0, $a0, -0x69ac /* ACB774 800545D4 856D030E */ lh $t5, 0x30e($t3) /* ACB778 800545D8 24050005 */ li $a1, 5 /* ACB77C 800545DC 51A00009 */ beql $t5, $zero, .L80054604 /* ACB780 800545E0 26030004 */ addiu $v1, $s0, 4 /* ACB784 800545E4 0C0150C5 */ jal Camera_DebugPrintSplineArray /* ACB788 800545E8 8FA60084 */ lw $a2, 0x84($sp) /* ACB78C 800545EC 3C048014 */ lui $a0, %hi(D_8013965C) # $a0, 0x8014 /* ACB790 800545F0 2484965C */ addiu $a0, %lo(D_8013965C) # addiu $a0, $a0, -0x69a4 /* ACB794 800545F4 24050005 */ li $a1, 5 /* ACB798 800545F8 0C0150C5 */ jal Camera_DebugPrintSplineArray /* ACB79C 800545FC 8FA60080 */ lw $a2, 0x80($sp) /* ACB7A0 80054600 26030004 */ addiu $v1, $s0, 4 .L80054604: /* ACB7A4 80054604 24680004 */ addiu $t0, $v1, 4 /* ACB7A8 80054608 260600FC */ addiu $a2, $s0, 0xfc /* ACB7AC 8005460C 260E012C */ addiu $t6, $s0, 0x12c /* ACB7B0 80054610 AFAE0030 */ sw $t6, 0x30($sp) /* ACB7B4 80054614 AFA60034 */ sw $a2, 0x34($sp) /* ACB7B8 80054618 AFA80010 */ sw $t0, 0x10($sp) /* ACB7BC 8005461C AFA80028 */ sw $t0, 0x28($sp) /* ACB7C0 80054620 AFA30014 */ sw $v1, 0x14($sp) /* ACB7C4 80054624 AFA3002C */ sw $v1, 0x2c($sp) /* ACB7C8 80054628 27A4005C */ addiu $a0, $sp, 0x5c /* ACB7CC 8005462C 27A5004C */ addiu $a1, $sp, 0x4c /* ACB7D0 80054630 0C02ECAD */ jal func_800BB2B4 /* ACB7D4 80054634 8FA70080 */ lw $a3, 0x80($sp) /* ACB7D8 80054638 8FA3002C */ lw $v1, 0x2c($sp) /* ACB7DC 8005463C 8FA60034 */ lw $a2, 0x34($sp) /* ACB7E0 80054640 14400009 */ bnez $v0, .L80054668 /* ACB7E4 80054644 8FA80028 */ lw $t0, 0x28($sp) /* ACB7E8 80054648 27A40050 */ addiu $a0, $sp, 0x50 /* ACB7EC 8005464C 27A5004C */ addiu $a1, $sp, 0x4c /* ACB7F0 80054650 8FA70084 */ lw $a3, 0x84($sp) /* ACB7F4 80054654 AFA80010 */ sw $t0, 0x10($sp) /* ACB7F8 80054658 0C02ECAD */ jal func_800BB2B4 /* ACB7FC 8005465C AFA30014 */ sw $v1, 0x14($sp) /* ACB800 80054660 50400005 */ beql $v0, $zero, .L80054678 /* ACB804 80054664 8FB90030 */ lw $t9, 0x30($sp) .L80054668: /* ACB808 80054668 860F015E */ lh $t7, 0x15e($s0) /* ACB80C 8005466C 25F80001 */ addiu $t8, $t7, 1 /* ACB810 80054670 A618015E */ sh $t8, 0x15e($s0) /* ACB814 80054674 8FB90030 */ lw $t9, 0x30($sp) .L80054678: /* ACB818 80054678 27A4005C */ addiu $a0, $sp, 0x5c /* ACB81C 8005467C 26050074 */ addiu $a1, $s0, 0x74 /* ACB820 80054680 87290000 */ lh $t1, ($t9) /* ACB824 80054684 1120001C */ beqz $t1, .L800546F8 /* ACB828 80054688 00000000 */ nop /* ACB82C 8005468C 8E050090 */ lw $a1, 0x90($s0) /* ACB830 80054690 3C048014 */ lui $a0, %hi(D_80139664) /* ACB834 80054694 10A00012 */ beqz $a1, .L800546E0 /* ACB838 80054698 00000000 */ nop /* ACB83C 8005469C 8CAA0130 */ lw $t2, 0x130($a1) /* ACB840 800546A0 1140000F */ beqz $t2, .L800546E0 /* ACB844 800546A4 00000000 */ nop /* ACB848 800546A8 0C00BBC5 */ jal func_8002EF14 /* ACB84C 800546AC 27A40068 */ addiu $a0, $sp, 0x68 /* ACB850 800546B0 26060074 */ addiu $a2, $s0, 0x74 /* ACB854 800546B4 AFA60030 */ sw $a2, 0x30($sp) /* ACB858 800546B8 27A40068 */ addiu $a0, $sp, 0x68 /* ACB85C 800546BC 0C01511E */ jal func_80054478 /* ACB860 800546C0 27A5005C */ addiu $a1, $sp, 0x5c /* ACB864 800546C4 26060050 */ addiu $a2, $s0, 0x50 /* ACB868 800546C8 AFA60034 */ sw $a2, 0x34($sp) /* ACB86C 800546CC 27A40068 */ addiu $a0, $sp, 0x68 /* ACB870 800546D0 0C01511E */ jal func_80054478 /* ACB874 800546D4 27A50050 */ addiu $a1, $sp, 0x50 /* ACB878 800546D8 1000000F */ b .L80054718 /* ACB87C 800546DC 8FA60034 */ lw $a2, 0x34($sp) .L800546E0: /* ACB880 800546E0 0C00084C */ jal osSyncPrintf /* ACB884 800546E4 24849664 */ addiu $a0, %lo(D_80139664) /* ACB888 800546E8 260C0074 */ addiu $t4, $s0, 0x74 /* ACB88C 800546EC AFAC0030 */ sw $t4, 0x30($sp) /* ACB890 800546F0 10000009 */ b .L80054718 /* ACB894 800546F4 26060050 */ addiu $a2, $s0, 0x50 .L800546F8: /* ACB898 800546F8 0C015117 */ jal Camera_Vec3fCopy /* ACB89C 800546FC AFA50030 */ sw $a1, 0x30($sp) /* ACB8A0 80054700 26060050 */ addiu $a2, $s0, 0x50 /* ACB8A4 80054704 00C02825 */ move $a1, $a2 /* ACB8A8 80054708 AFA60034 */ sw $a2, 0x34($sp) /* ACB8AC 8005470C 0C015117 */ jal Camera_Vec3fCopy /* ACB8B0 80054710 27A40050 */ addiu $a0, $sp, 0x50 /* ACB8B4 80054714 8FA60034 */ lw $a2, 0x34($sp) .L80054718: /* ACB8B8 80054718 8FAD0030 */ lw $t5, 0x30($sp) /* ACB8BC 8005471C 2605005C */ addiu $a1, $s0, 0x5c /* ACB8C0 80054720 3C014380 */ li $at, 0x43800000 # 0.000000 /* ACB8C4 80054724 8DAF0000 */ lw $t7, ($t5) /* ACB8C8 80054728 44814000 */ mtc1 $at, $f8 /* ACB8CC 8005472C 00C02025 */ move $a0, $a2 /* ACB8D0 80054730 ACAF0000 */ sw $t7, ($a1) /* ACB8D4 80054734 8DAE0004 */ lw $t6, 4($t5) /* ACB8D8 80054738 ACAE0004 */ sw $t6, 4($a1) /* ACB8DC 8005473C 8DAF0008 */ lw $t7, 8($t5) /* ACB8E0 80054740 ACAF0008 */ sw $t7, 8($a1) /* ACB8E4 80054744 C7A6004C */ lwc1 $f6, 0x4c($sp) /* ACB8E8 80054748 46083282 */ mul.s $f10, $f6, $f8 /* ACB8EC 8005474C 4600540D */ trunc.w.s $f16, $f10 /* ACB8F0 80054750 44198000 */ mfc1 $t9, $f16 /* ACB8F4 80054754 0C01EFE4 */ jal func_8007BF90 /* ACB8F8 80054758 A619015A */ sh $t9, 0x15a($s0) /* ACB8FC 8005475C E60000DC */ swc1 $f0, 0xdc($s0) /* ACB900 80054760 8FBF0024 */ lw $ra, 0x24($sp) .L80054764: /* ACB904 80054764 8FB00020 */ lw $s0, 0x20($sp) /* ACB908 80054768 27BD0098 */ addiu $sp, $sp, 0x98 /* ACB90C 8005476C 03E00008 */ jr $ra /* ACB910 80054770 24020001 */ li $v0, 1 # SPLIT /* ACB914 80054774 27BDFFE8 */ addiu $sp, $sp, -0x18 /* ACB918 80054778 AFBF0014 */ sw $ra, 0x14($sp) /* ACB91C 8005477C 0C011CE5 */ jal func_80047394 /* ACB920 80054780 00000000 */ nop /* ACB924 80054784 8FBF0014 */ lw $ra, 0x14($sp) /* ACB928 80054788 27BD0018 */ addiu $sp, $sp, 0x18 /* ACB92C 8005478C 03E00008 */ jr $ra /* ACB930 80054790 00000000 */ nop # SPLIT /* ACB934 80054794 27BDFF58 */ addiu $sp, $sp, -0xa8 /* ACB938 80054798 AFB10018 */ sw $s1, 0x18($sp) /* ACB93C 8005479C 00808825 */ move $s1, $a0 /* ACB940 800547A0 AFBF001C */ sw $ra, 0x1c($sp) /* ACB944 800547A4 AFB00014 */ sw $s0, 0x14($sp) /* ACB948 800547A8 A3A00053 */ sb $zero, 0x53($sp) /* ACB94C 800547AC 0C00B721 */ jal func_8002DC84 /* ACB950 800547B0 8C840090 */ lw $a0, 0x90($a0) /* ACB954 800547B4 862E014C */ lh $t6, 0x14c($s1) /* ACB958 800547B8 8622015E */ lh $v0, 0x15e($s1) /* ACB95C 800547BC 46000406 */ mov.s $f16, $f0 /* ACB960 800547C0 31CFFFEF */ andi $t7, $t6, 0xffef /* ACB964 800547C4 1040000A */ beqz $v0, .L800547F0 /* ACB968 800547C8 A62F014C */ sh $t7, 0x14c($s1) /* ACB96C 800547CC 2401000A */ li $at, 10 /* ACB970 800547D0 10410007 */ beq $v0, $at, .L800547F0 /* ACB974 800547D4 24010014 */ li $at, 20 /* ACB978 800547D8 10410005 */ beq $v0, $at, .L800547F0 /* ACB97C 800547DC 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016 /* ACB980 800547E0 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8) /* ACB984 800547E4 87030314 */ lh $v1, 0x314($t8) /* ACB988 800547E8 1060001A */ beqz $v1, .L80054854 /* ACB98C 800547EC 00000000 */ nop .L800547F0: /* ACB990 800547F0 86390142 */ lh $t9, 0x142($s1) /* ACB994 800547F4 3C098012 */ lui $t1, %hi(D_8011D068) /* ACB998 800547F8 862A0144 */ lh $t2, 0x144($s1) /* ACB99C 800547FC 001940C0 */ sll $t0, $t9, 3 /* ACB9A0 80054800 01284821 */ addu $t1, $t1, $t0 /* ACB9A4 80054804 8D29D068 */ lw $t1, %lo(D_8011D068)($t1) /* ACB9A8 80054808 000A58C0 */ sll $t3, $t2, 3 /* ACB9AC 8005480C 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016 /* ACB9B0 80054810 012B6021 */ addu $t4, $t1, $t3 /* ACB9B4 80054814 8D820004 */ lw $v0, 4($t4) /* ACB9B8 80054818 844D0000 */ lh $t5, ($v0) /* ACB9BC 8005481C 24420008 */ addiu $v0, $v0, 8 /* ACB9C0 80054820 448D2000 */ mtc1 $t5, $f4 /* ACB9C4 80054824 00000000 */ nop /* ACB9C8 80054828 468021A0 */ cvt.s.w $f6, $f4 /* ACB9CC 8005482C E6260000 */ swc1 $f6, ($s1) /* ACB9D0 80054830 844EFFFC */ lh $t6, -4($v0) /* ACB9D4 80054834 448E4000 */ mtc1 $t6, $f8 /* ACB9D8 80054838 00000000 */ nop /* ACB9DC 8005483C 468042A0 */ cvt.s.w $f10, $f8 /* ACB9E0 80054840 E62A0004 */ swc1 $f10, 4($s1) /* ACB9E4 80054844 844F0000 */ lh $t7, ($v0) /* ACB9E8 80054848 A62F0008 */ sh $t7, 8($s1) /* ACB9EC 8005484C 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8) /* ACB9F0 80054850 87030314 */ lh $v1, 0x314($t8) .L80054854: /* ACB9F4 80054854 10600004 */ beqz $v1, .L80054868 /* ACB9F8 80054858 02202025 */ move $a0, $s1 /* ACB9FC 8005485C 0C011495 */ jal func_80045254 /* ACBA00 80054860 E7B0004C */ swc1 $f16, 0x4c($sp) /* ACBA04 80054864 C7B0004C */ lwc1 $f16, 0x4c($sp) .L80054868: /* ACBA08 80054868 26250050 */ addiu $a1, $s1, 0x50 /* ACBA0C 8005486C 2626005C */ addiu $a2, $s1, 0x5c /* ACBA10 80054870 AFA60034 */ sw $a2, 0x34($sp) /* ACBA14 80054874 AFA50030 */ sw $a1, 0x30($sp) /* ACBA18 80054878 27A40090 */ addiu $a0, $sp, 0x90 /* ACBA1C 8005487C 0C01F124 */ jal func_8007C490 /* ACBA20 80054880 E7B0004C */ swc1 $f16, 0x4c($sp) /* ACBA24 80054884 86390008 */ lh $t9, 8($s1) /* ACBA28 80054888 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACBA2C 8005488C C7B0004C */ lwc1 $f16, 0x4c($sp) /* ACBA30 80054890 AC39D3A0 */ sw $t9, %lo(D_8011D3A0)($at) /* ACBA34 80054894 9628015E */ lhu $t0, 0x15e($s1) /* ACBA38 80054898 2D01001F */ sltiu $at, $t0, 0x1f /* ACBA3C 8005489C 102001FB */ beqz $at, .L8005508C /* ACBA40 800548A0 00084080 */ sll $t0, $t0, 2 /* ACBA44 800548A4 3C018014 */ lui $at, %hi(jtbl_8013A2B8) /* ACBA48 800548A8 00280821 */ addu $at, $at, $t0 /* ACBA4C 800548AC 8C28A2B8 */ lw $t0, %lo(jtbl_8013A2B8)($at) /* ACBA50 800548B0 01000008 */ jr $t0 /* ACBA54 800548B4 00000000 */ nop /* ACBA58 800548B8 862A014C */ lh $t2, 0x14c($s1) /* ACBA5C 800548BC 02202025 */ move $a0, $s1 /* ACBA60 800548C0 3149FFF3 */ andi $t1, $t2, 0xfff3 /* ACBA64 800548C4 0C010ED8 */ jal func_80043B60 /* ACBA68 800548C8 A629014C */ sh $t1, 0x14c($s1) /* ACBA6C 800548CC C6320000 */ lwc1 $f18, ($s1) /* ACBA70 800548D0 2630000C */ addiu $s0, $s1, 0xc /* ACBA74 800548D4 26220094 */ addiu $v0, $s1, 0x94 /* ACBA78 800548D8 E63200FC */ swc1 $f18, 0xfc($s1) /* ACBA7C 800548DC A6000010 */ sh $zero, 0x10($s0) /* ACBA80 800548E0 860B0010 */ lh $t3, 0x10($s0) /* ACBA84 800548E4 3C01C6FA */ li $at, 0xC6FA0000 # 0.000000 /* ACBA88 800548E8 44812000 */ mtc1 $at, $f4 /* ACBA8C 800548EC A62B015A */ sh $t3, 0x15a($s1) /* ACBA90 800548F0 8C4D0000 */ lw $t5, ($v0) /* ACBA94 800548F4 AE0D0000 */ sw $t5, ($s0) /* ACBA98 800548F8 8C4C0004 */ lw $t4, 4($v0) /* ACBA9C 800548FC AE0C0004 */ sw $t4, 4($s0) /* ACBAA0 80054900 8C4D0008 */ lw $t5, 8($v0) /* ACBAA4 80054904 AE0D0008 */ sw $t5, 8($s0) /* ACBAA8 80054908 C6200104 */ lwc1 $f0, 0x104($s1) /* ACBAAC 8005490C 46002032 */ c.eq.s $f4, $f0 /* ACBAB0 80054910 00000000 */ nop /* ACBAB4 80054914 45030003 */ bc1tl .L80054924 /* ACBAB8 80054918 8444000E */ lh $a0, 0xe($v0) /* ACBABC 8005491C E6000004 */ swc1 $f0, 4($s0) /* ACBAC0 80054920 8444000E */ lh $a0, 0xe($v0) .L80054924: /* ACBAC4 80054924 AFA20028 */ sw $v0, 0x28($sp) /* ACBAC8 80054928 0C01DE1C */ jal Math_Sins /* ACBACC 8005492C A7A4004A */ sh $a0, 0x4a($sp) /* ACBAD0 80054930 3C014220 */ li $at, 0x42200000 # 0.000000 /* ACBAD4 80054934 44811000 */ mtc1 $at, $f2 /* ACBAD8 80054938 C6080000 */ lwc1 $f8, ($s0) /* ACBADC 8005493C 87A4004A */ lh $a0, 0x4a($sp) /* ACBAE0 80054940 46020182 */ mul.s $f6, $f0, $f2 /* ACBAE4 80054944 46083280 */ add.s $f10, $f6, $f8 /* ACBAE8 80054948 E7AA0068 */ swc1 $f10, 0x68($sp) /* ACBAEC 8005494C C6120004 */ lwc1 $f18, 4($s0) /* ACBAF0 80054950 46029100 */ add.s $f4, $f18, $f2 /* ACBAF4 80054954 0C01DE0D */ jal Math_Coss /* ACBAF8 80054958 E7A4006C */ swc1 $f4, 0x6c($sp) /* ACBAFC 8005495C 3C014220 */ li $at, 0x42200000 # 0.000000 /* ACBB00 80054960 44813000 */ mtc1 $at, $f6 /* ACBB04 80054964 C60A0008 */ lwc1 $f10, 8($s0) /* ACBB08 80054968 87A4004A */ lh $a0, 0x4a($sp) /* ACBB0C 8005496C 46060202 */ mul.s $f8, $f0, $f6 /* ACBB10 80054970 24190001 */ li $t9, 1 /* ACBB14 80054974 2408FFFF */ li $t0, -1 /* ACBB18 80054978 460A4480 */ add.s $f18, $f8, $f10 /* ACBB1C 8005497C E7B20070 */ swc1 $f18, 0x70($sp) /* ACBB20 80054980 8E2E008C */ lw $t6, 0x8c($s1) /* ACBB24 80054984 8DCF009C */ lw $t7, 0x9c($t6) /* ACBB28 80054988 31F80001 */ andi $t8, $t7, 1 /* ACBB2C 8005498C 53000007 */ beql $t8, $zero, .L800549AC /* ACBB30 80054990 24843FFF */ addiu $a0, $a0, 0x3fff /* ACBB34 80054994 2484C001 */ addiu $a0, $a0, -0x3fff /* ACBB38 80054998 00042400 */ sll $a0, $a0, 0x10 /* ACBB3C 8005499C 00042403 */ sra $a0, $a0, 0x10 /* ACBB40 800549A0 10000005 */ b .L800549B8 /* ACBB44 800549A4 A6190012 */ sh $t9, 0x12($s0) /* ACBB48 800549A8 24843FFF */ addiu $a0, $a0, 0x3fff .L800549AC: /* ACBB4C 800549AC 00042400 */ sll $a0, $a0, 0x10 /* ACBB50 800549B0 00042403 */ sra $a0, $a0, 0x10 /* ACBB54 800549B4 A6080012 */ sh $t0, 0x12($s0) .L800549B8: /* ACBB58 800549B8 0C01DE1C */ jal Math_Sins /* ACBB5C 800549BC A7A4004A */ sh $a0, 0x4a($sp) /* ACBB60 800549C0 3C038012 */ lui $v1, %hi(D_8011D658) # $v1, 0x8012 /* ACBB64 800549C4 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8 /* ACBB68 800549C8 C4640008 */ lwc1 $f4, 8($v1) /* ACBB6C 800549CC C7A80068 */ lwc1 $f8, 0x68($sp) /* ACBB70 800549D0 3C0140A0 */ li $at, 0x40A00000 # 0.000000 /* ACBB74 800549D4 46040182 */ mul.s $f6, $f0, $f4 /* ACBB78 800549D8 44812000 */ mtc1 $at, $f4 /* ACBB7C 800549DC 87A4004A */ lh $a0, 0x4a($sp) /* ACBB80 800549E0 46083280 */ add.s $f10, $f6, $f8 /* ACBB84 800549E4 E7AA0074 */ swc1 $f10, 0x74($sp) /* ACBB88 800549E8 C6120004 */ lwc1 $f18, 4($s0) /* ACBB8C 800549EC 46049180 */ add.s $f6, $f18, $f4 /* ACBB90 800549F0 0C01DE0D */ jal Math_Coss /* ACBB94 800549F4 E7A60078 */ swc1 $f6, 0x78($sp) /* ACBB98 800549F8 3C038012 */ lui $v1, %hi(D_8011D658) # $v1, 0x8012 /* ACBB9C 800549FC 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8 /* ACBBA0 80054A00 C4680008 */ lwc1 $f8, 8($v1) /* ACBBA4 80054A04 C7B20070 */ lwc1 $f18, 0x70($sp) /* ACBBA8 80054A08 02202025 */ move $a0, $s1 /* ACBBAC 80054A0C 46080282 */ mul.s $f10, $f0, $f8 /* ACBBB0 80054A10 27A50068 */ addiu $a1, $sp, 0x68 /* ACBBB4 80054A14 27A60074 */ addiu $a2, $sp, 0x74 /* ACBBB8 80054A18 46125100 */ add.s $f4, $f10, $f18 /* ACBBBC 80054A1C 0C010FCD */ jal func_80043F34 /* ACBBC0 80054A20 E7A4007C */ swc1 $f4, 0x7c($sp) /* ACBBC4 80054A24 10400004 */ beqz $v0, .L80054A38 /* ACBBC8 80054A28 3C068012 */ lui $a2, %hi(D_8011D678) /* ACBBCC 80054A2C 860A0012 */ lh $t2, 0x12($s0) /* ACBBD0 80054A30 000A4823 */ negu $t1, $t2 /* ACBBD4 80054A34 A6090012 */ sh $t1, 0x12($s0) .L80054A38: /* ACBBD8 80054A38 24C5D678 */ addiu $a1, $a2, %lo(D_8011D678) /* ACBBDC 80054A3C 0C01F0FD */ jal func_8007C3F4 /* ACBBE0 80054A40 27A40080 */ addiu $a0, $sp, 0x80 /* ACBBE4 80054A44 8FAC0028 */ lw $t4, 0x28($sp) /* ACBBE8 80054A48 87AB0086 */ lh $t3, 0x86($sp) /* ACBBEC 80054A4C 8FA40030 */ lw $a0, 0x30($sp) /* ACBBF0 80054A50 858D000E */ lh $t5, 0xe($t4) /* ACBBF4 80054A54 02002825 */ move $a1, $s0 /* ACBBF8 80054A58 27A60080 */ addiu $a2, $sp, 0x80 /* ACBBFC 80054A5C 016D7021 */ addu $t6, $t3, $t5 /* ACBC00 80054A60 0C010F0A */ jal func_80043C28 /* ACBC04 80054A64 A7AE0086 */ sh $t6, 0x86($sp) /* ACBC08 80054A68 3C038012 */ lui $v1, %hi(D_8011D658) # $v1, 0x8012 /* ACBC0C 80054A6C 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8 /* ACBC10 80054A70 C4660000 */ lwc1 $f6, ($v1) /* ACBC14 80054A74 846F0004 */ lh $t7, 4($v1) /* ACBC18 80054A78 84780006 */ lh $t8, 6($v1) /* ACBC1C 80054A7C E7A60088 */ swc1 $f6, 0x88($sp) /* ACBC20 80054A80 A7AF008C */ sh $t7, 0x8c($sp) /* ACBC24 80054A84 86190012 */ lh $t9, 0x12($s0) /* ACBC28 80054A88 8FAA0028 */ lw $t2, 0x28($sp) /* ACBC2C 80054A8C 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* ACBC30 80054A90 03190019 */ multu $t8, $t9 /* ACBC34 80054A94 8549000E */ lh $t1, 0xe($t2) /* ACBC38 80054A98 44814000 */ mtc1 $at, $f8 /* ACBC3C 80054A9C 00004012 */ mflo $t0 /* ACBC40 80054AA0 01096021 */ addu $t4, $t0, $t1 /* ACBC44 80054AA4 A7AC008E */ sh $t4, 0x8e($sp) /* ACBC48 80054AA8 86060010 */ lh $a2, 0x10($s0) /* ACBC4C 80054AAC 10000191 */ b .L800550F4 /* ACBC50 80054AB0 E608000C */ swc1 $f8, 0xc($s0) /* ACBC54 80054AB4 2630000C */ addiu $s0, $s1, 0xc /* ACBC58 80054AB8 860B0010 */ lh $t3, 0x10($s0) /* ACBC5C 80054ABC 3C018014 */ lui $at, %hi(D_8013A334) /* ACBC60 80054AC0 C424A334 */ lwc1 $f4, %lo(D_8013A334)($at) /* ACBC64 80054AC4 256DFFFE */ addiu $t5, $t3, -2 /* ACBC68 80054AC8 448D5000 */ mtc1 $t5, $f10 /* ACBC6C 80054ACC 3C068012 */ lui $a2, %hi(D_8011D678) /* ACBC70 80054AD0 24C6D678 */ addiu $a2, %lo(D_8011D678) # addiu $a2, $a2, -0x2988 /* ACBC74 80054AD4 468054A0 */ cvt.s.w $f18, $f10 /* ACBC78 80054AD8 C4C20000 */ lwc1 $f2, ($a2) /* ACBC7C 80054ADC C4C6000C */ lwc1 $f6, 0xc($a2) /* ACBC80 80054AE0 C4CC0004 */ lwc1 $f12, 4($a2) /* ACBC84 80054AE4 C4CE0008 */ lwc1 $f14, 8($a2) /* ACBC88 80054AE8 46023201 */ sub.s $f8, $f6, $f2 /* ACBC8C 80054AEC 46049002 */ mul.s $f0, $f18, $f4 /* ACBC90 80054AF0 C4C40010 */ lwc1 $f4, 0x10($a2) /* ACBC94 80054AF4 27A40080 */ addiu $a0, $sp, 0x80 /* ACBC98 80054AF8 27A5005C */ addiu $a1, $sp, 0x5c /* ACBC9C 80054AFC 460C2181 */ sub.s $f6, $f4, $f12 /* ACBCA0 80054B00 46004282 */ mul.s $f10, $f8, $f0 /* ACBCA4 80054B04 E7A00058 */ swc1 $f0, 0x58($sp) /* ACBCA8 80054B08 46003202 */ mul.s $f8, $f6, $f0 /* ACBCAC 80054B0C 46025480 */ add.s $f18, $f10, $f2 /* ACBCB0 80054B10 460C4280 */ add.s $f10, $f8, $f12 /* ACBCB4 80054B14 E7B2005C */ swc1 $f18, 0x5c($sp) /* ACBCB8 80054B18 C4D20014 */ lwc1 $f18, 0x14($a2) /* ACBCBC 80054B1C E7AA0060 */ swc1 $f10, 0x60($sp) /* ACBCC0 80054B20 460E9101 */ sub.s $f4, $f18, $f14 /* ACBCC4 80054B24 46002182 */ mul.s $f6, $f4, $f0 /* ACBCC8 80054B28 460E3200 */ add.s $f8, $f6, $f14 /* ACBCCC 80054B2C 0C01F0FD */ jal func_8007C3F4 /* ACBCD0 80054B30 E7A80064 */ swc1 $f8, 0x64($sp) /* ACBCD4 80054B34 87AE0086 */ lh $t6, 0x86($sp) /* ACBCD8 80054B38 860F0012 */ lh $t7, 0x12($s0) /* ACBCDC 80054B3C 26230094 */ addiu $v1, $s1, 0x94 /* ACBCE0 80054B40 8479000E */ lh $t9, 0xe($v1) /* ACBCE4 80054B44 01CF0019 */ multu $t6, $t7 /* ACBCE8 80054B48 AFA30028 */ sw $v1, 0x28($sp) /* ACBCEC 80054B4C 8FA40030 */ lw $a0, 0x30($sp) /* ACBCF0 80054B50 02002825 */ move $a1, $s0 /* ACBCF4 80054B54 27A60080 */ addiu $a2, $sp, 0x80 /* ACBCF8 80054B58 0000C012 */ mflo $t8 /* ACBCFC 80054B5C 03195021 */ addu $t2, $t8, $t9 /* ACBD00 80054B60 0C010F0A */ jal func_80043C28 /* ACBD04 80054B64 A7AA0086 */ sh $t2, 0x86($sp) /* ACBD08 80054B68 3C038012 */ lui $v1, %hi(D_8011D658) /* ACBD0C 80054B6C 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8 /* ACBD10 80054B70 84640004 */ lh $a0, 4($v1) /* ACBD14 80054B74 8468000C */ lh $t0, 0xc($v1) /* ACBD18 80054B78 C4620000 */ lwc1 $f2, ($v1) /* ACBD1C 80054B7C C46A0008 */ lwc1 $f10, 8($v1) /* ACBD20 80054B80 01044823 */ subu $t1, $t0, $a0 /* ACBD24 80054B84 00096400 */ sll $t4, $t1, 0x10 /* ACBD28 80054B88 000C5C03 */ sra $t3, $t4, 0x10 /* ACBD2C 80054B8C 448B4000 */ mtc1 $t3, $f8 /* ACBD30 80054B90 46025481 */ sub.s $f18, $f10, $f2 /* ACBD34 80054B94 84650006 */ lh $a1, 6($v1) /* ACBD38 80054B98 846A000E */ lh $t2, 0xe($v1) /* ACBD3C 80054B9C 468042A0 */ cvt.s.w $f10, $f8 /* ACBD40 80054BA0 C7A00058 */ lwc1 $f0, 0x58($sp) /* ACBD44 80054BA4 01454023 */ subu $t0, $t2, $a1 /* ACBD48 80054BA8 00084C00 */ sll $t1, $t0, 0x10 /* ACBD4C 80054BAC 46009102 */ mul.s $f4, $f18, $f0 /* ACBD50 80054BB0 00096403 */ sra $t4, $t1, 0x10 /* ACBD54 80054BB4 448C4000 */ mtc1 $t4, $f8 /* ACBD58 80054BB8 46005482 */ mul.s $f18, $f10, $f0 /* ACBD5C 80054BBC 8FAE0028 */ lw $t6, 0x28($sp) /* ACBD60 80054BC0 3C018014 */ lui $at, %hi(D_8013A338) /* ACBD64 80054BC4 46022180 */ add.s $f6, $f4, $f2 /* ACBD68 80054BC8 468042A0 */ cvt.s.w $f10, $f8 /* ACBD6C 80054BCC E7A60080 */ swc1 $f6, 0x80($sp) /* ACBD70 80054BD0 E7A60088 */ swc1 $f6, 0x88($sp) /* ACBD74 80054BD4 4600910D */ trunc.w.s $f4, $f18 /* ACBD78 80054BD8 46005482 */ mul.s $f18, $f10, $f0 /* ACBD7C 80054BDC C42AA338 */ lwc1 $f10, %lo(D_8013A338)($at) /* ACBD80 80054BE0 44182000 */ mfc1 $t8, $f4 /* ACBD84 80054BE4 00000000 */ nop /* ACBD88 80054BE8 0304C821 */ addu $t9, $t8, $a0 /* ACBD8C 80054BEC 4600910D */ trunc.w.s $f4, $f18 /* ACBD90 80054BF0 03204025 */ move $t0, $t9 /* ACBD94 80054BF4 A7B90084 */ sh $t9, 0x84($sp) /* ACBD98 80054BF8 A7A8008C */ sh $t0, 0x8c($sp) /* ACBD9C 80054BFC 440F2000 */ mfc1 $t7, $f4 /* ACBDA0 80054C00 00000000 */ nop /* ACBDA4 80054C04 01E5C021 */ addu $t8, $t7, $a1 /* ACBDA8 80054C08 A7B80086 */ sh $t8, 0x86($sp) /* ACBDAC 80054C0C 86090012 */ lh $t1, 0x12($s0) /* ACBDB0 80054C10 00186400 */ sll $t4, $t8, 0x10 /* ACBDB4 80054C14 000C5C03 */ sra $t3, $t4, 0x10 /* ACBDB8 80054C18 01690019 */ multu $t3, $t1 /* ACBDBC 80054C1C 85CF000E */ lh $t7, 0xe($t6) /* ACBDC0 80054C20 00006812 */ mflo $t5 /* ACBDC4 80054C24 01AFC821 */ addu $t9, $t5, $t7 /* ACBDC8 80054C28 A7B9008E */ sh $t9, 0x8e($sp) /* ACBDCC 80054C2C C608000C */ lwc1 $f8, 0xc($s0) /* ACBDD0 80054C30 86060010 */ lh $a2, 0x10($s0) /* ACBDD4 80054C34 460A4481 */ sub.s $f18, $f8, $f10 /* ACBDD8 80054C38 1000012E */ b .L800550F4 /* ACBDDC 80054C3C E612000C */ swc1 $f18, 0xc($s0) /* ACBDE0 80054C40 2630000C */ addiu $s0, $s1, 0xc /* ACBDE4 80054C44 860A0010 */ lh $t2, 0x10($s0) /* ACBDE8 80054C48 3C018014 */ lui $at, %hi(D_8013A33C) /* ACBDEC 80054C4C C428A33C */ lwc1 $f8, %lo(D_8013A33C)($at) /* ACBDF0 80054C50 2548FF6C */ addiu $t0, $t2, -0x94 /* ACBDF4 80054C54 44882000 */ mtc1 $t0, $f4 /* ACBDF8 80054C58 3C068012 */ lui $a2, %hi(D_8011D678) /* ACBDFC 80054C5C 24C6D678 */ addiu $a2, %lo(D_8011D678) # addiu $a2, $a2, -0x2988 /* ACBE00 80054C60 468021A0 */ cvt.s.w $f6, $f4 /* ACBE04 80054C64 C4C2000C */ lwc1 $f2, 0xc($a2) /* ACBE08 80054C68 C4CA0018 */ lwc1 $f10, 0x18($a2) /* ACBE0C 80054C6C C4CC0014 */ lwc1 $f12, 0x14($a2) /* ACBE10 80054C70 27A40080 */ addiu $a0, $sp, 0x80 /* ACBE14 80054C74 46025481 */ sub.s $f18, $f10, $f2 /* ACBE18 80054C78 46083002 */ mul.s $f0, $f6, $f8 /* ACBE1C 80054C7C C4C80010 */ lwc1 $f8, 0x10($a2) /* ACBE20 80054C80 C4CA001C */ lwc1 $f10, 0x1c($a2) /* ACBE24 80054C84 27A5005C */ addiu $a1, $sp, 0x5c /* ACBE28 80054C88 46104381 */ sub.s $f14, $f8, $f16 /* ACBE2C 80054C8C 46009102 */ mul.s $f4, $f18, $f0 /* ACBE30 80054C90 E7A00058 */ swc1 $f0, 0x58($sp) /* ACBE34 80054C94 460E5481 */ sub.s $f18, $f10, $f14 /* ACBE38 80054C98 C4CA0020 */ lwc1 $f10, 0x20($a2) /* ACBE3C 80054C9C 46022180 */ add.s $f6, $f4, $f2 /* ACBE40 80054CA0 46009102 */ mul.s $f4, $f18, $f0 /* ACBE44 80054CA4 460C5481 */ sub.s $f18, $f10, $f12 /* ACBE48 80054CA8 E7A6005C */ swc1 $f6, 0x5c($sp) /* ACBE4C 80054CAC 460E2180 */ add.s $f6, $f4, $f14 /* ACBE50 80054CB0 46009102 */ mul.s $f4, $f18, $f0 /* ACBE54 80054CB4 E7A60060 */ swc1 $f6, 0x60($sp) /* ACBE58 80054CB8 46103200 */ add.s $f8, $f6, $f16 /* ACBE5C 80054CBC 460C2180 */ add.s $f6, $f4, $f12 /* ACBE60 80054CC0 E7A80060 */ swc1 $f8, 0x60($sp) /* ACBE64 80054CC4 0C01F0FD */ jal func_8007C3F4 /* ACBE68 80054CC8 E7A60064 */ swc1 $f6, 0x64($sp) /* ACBE6C 80054CCC 87B80086 */ lh $t8, 0x86($sp) /* ACBE70 80054CD0 860C0012 */ lh $t4, 0x12($s0) /* ACBE74 80054CD4 26230094 */ addiu $v1, $s1, 0x94 /* ACBE78 80054CD8 8469000E */ lh $t1, 0xe($v1) /* ACBE7C 80054CDC 030C0019 */ multu $t8, $t4 /* ACBE80 80054CE0 AFA30028 */ sw $v1, 0x28($sp) /* ACBE84 80054CE4 8FA40030 */ lw $a0, 0x30($sp) /* ACBE88 80054CE8 02002825 */ move $a1, $s0 /* ACBE8C 80054CEC 27A60080 */ addiu $a2, $sp, 0x80 /* ACBE90 80054CF0 00005812 */ mflo $t3 /* ACBE94 80054CF4 01697021 */ addu $t6, $t3, $t1 /* ACBE98 80054CF8 0C010F0A */ jal func_80043C28 /* ACBE9C 80054CFC A7AE0086 */ sh $t6, 0x86($sp) /* ACBEA0 80054D00 3C038012 */ lui $v1, %hi(D_8011D658) /* ACBEA4 80054D04 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8 /* ACBEA8 80054D08 8464000C */ lh $a0, 0xc($v1) /* ACBEAC 80054D0C 846D0014 */ lh $t5, 0x14($v1) /* ACBEB0 80054D10 C4620008 */ lwc1 $f2, 8($v1) /* ACBEB4 80054D14 C4680010 */ lwc1 $f8, 0x10($v1) /* ACBEB8 80054D18 01A47823 */ subu $t7, $t5, $a0 /* ACBEBC 80054D1C 000FCC00 */ sll $t9, $t7, 0x10 /* ACBEC0 80054D20 00195403 */ sra $t2, $t9, 0x10 /* ACBEC4 80054D24 448A3000 */ mtc1 $t2, $f6 /* ACBEC8 80054D28 46024281 */ sub.s $f10, $f8, $f2 /* ACBECC 80054D2C 8465000E */ lh $a1, 0xe($v1) /* ACBED0 80054D30 846E0016 */ lh $t6, 0x16($v1) /* ACBED4 80054D34 46803220 */ cvt.s.w $f8, $f6 /* ACBED8 80054D38 C7A00058 */ lwc1 $f0, 0x58($sp) /* ACBEDC 80054D3C 01C56823 */ subu $t5, $t6, $a1 /* ACBEE0 80054D40 000D7C00 */ sll $t7, $t5, 0x10 /* ACBEE4 80054D44 46005482 */ mul.s $f18, $f10, $f0 /* ACBEE8 80054D48 000FCC03 */ sra $t9, $t7, 0x10 /* ACBEEC 80054D4C 44993000 */ mtc1 $t9, $f6 /* ACBEF0 80054D50 46004282 */ mul.s $f10, $f8, $f0 /* ACBEF4 80054D54 8FB80028 */ lw $t8, 0x28($sp) /* ACBEF8 80054D58 3C018014 */ lui $at, %hi(D_8013A340) /* ACBEFC 80054D5C 46029100 */ add.s $f4, $f18, $f2 /* ACBF00 80054D60 46803220 */ cvt.s.w $f8, $f6 /* ACBF04 80054D64 E7A40080 */ swc1 $f4, 0x80($sp) /* ACBF08 80054D68 E7A40088 */ swc1 $f4, 0x88($sp) /* ACBF0C 80054D6C 4600548D */ trunc.w.s $f18, $f10 /* ACBF10 80054D70 46004282 */ mul.s $f10, $f8, $f0 /* ACBF14 80054D74 C428A340 */ lwc1 $f8, %lo(D_8013A340)($at) /* ACBF18 80054D78 440B9000 */ mfc1 $t3, $f18 /* ACBF1C 80054D7C 00000000 */ nop /* ACBF20 80054D80 01644821 */ addu $t1, $t3, $a0 /* ACBF24 80054D84 4600548D */ trunc.w.s $f18, $f10 /* ACBF28 80054D88 01206825 */ move $t5, $t1 /* ACBF2C 80054D8C A7A90084 */ sh $t1, 0x84($sp) /* ACBF30 80054D90 A7AD008C */ sh $t5, 0x8c($sp) /* ACBF34 80054D94 440C9000 */ mfc1 $t4, $f18 /* ACBF38 80054D98 00000000 */ nop /* ACBF3C 80054D9C 01855821 */ addu $t3, $t4, $a1 /* ACBF40 80054DA0 A7AB0086 */ sh $t3, 0x86($sp) /* ACBF44 80054DA4 860F0012 */ lh $t7, 0x12($s0) /* ACBF48 80054DA8 000BCC00 */ sll $t9, $t3, 0x10 /* ACBF4C 80054DAC 00195403 */ sra $t2, $t9, 0x10 /* ACBF50 80054DB0 014F0019 */ multu $t2, $t7 /* ACBF54 80054DB4 870C000E */ lh $t4, 0xe($t8) /* ACBF58 80054DB8 00004012 */ mflo $t0 /* ACBF5C 80054DBC 010C4821 */ addu $t1, $t0, $t4 /* ACBF60 80054DC0 A7A9008E */ sh $t1, 0x8e($sp) /* ACBF64 80054DC4 C606000C */ lwc1 $f6, 0xc($s0) /* ACBF68 80054DC8 86060010 */ lh $a2, 0x10($s0) /* ACBF6C 80054DCC 46083281 */ sub.s $f10, $f6, $f8 /* ACBF70 80054DD0 100000C8 */ b .L800550F4 /* ACBF74 80054DD4 E60A000C */ swc1 $f10, 0xc($s0) /* ACBF78 80054DD8 2630000C */ addiu $s0, $s1, 0xc /* ACBF7C 80054DDC 860E0010 */ lh $t6, 0x10($s0) /* ACBF80 80054DE0 3C018014 */ lui $at, %hi(D_8013A344) /* ACBF84 80054DE4 C426A344 */ lwc1 $f6, %lo(D_8013A344)($at) /* ACBF88 80054DE8 25CDFF61 */ addiu $t5, $t6, -0x9f /* ACBF8C 80054DEC 448D9000 */ mtc1 $t5, $f18 /* ACBF90 80054DF0 3C068012 */ lui $a2, %hi(D_8011D678) /* ACBF94 80054DF4 24C6D678 */ addiu $a2, %lo(D_8011D678) # addiu $a2, $a2, -0x2988 /* ACBF98 80054DF8 46809120 */ cvt.s.w $f4, $f18 /* ACBF9C 80054DFC C4C20018 */ lwc1 $f2, 0x18($a2) /* ACBFA0 80054E00 C4C80024 */ lwc1 $f8, 0x24($a2) /* ACBFA4 80054E04 C4CC001C */ lwc1 $f12, 0x1c($a2) /* ACBFA8 80054E08 C4CE0020 */ lwc1 $f14, 0x20($a2) /* ACBFAC 80054E0C 46024281 */ sub.s $f10, $f8, $f2 /* ACBFB0 80054E10 46062002 */ mul.s $f0, $f4, $f6 /* ACBFB4 80054E14 C4C60028 */ lwc1 $f6, 0x28($a2) /* ACBFB8 80054E18 27A40080 */ addiu $a0, $sp, 0x80 /* ACBFBC 80054E1C 27A5005C */ addiu $a1, $sp, 0x5c /* ACBFC0 80054E20 460C3201 */ sub.s $f8, $f6, $f12 /* ACBFC4 80054E24 C4C6002C */ lwc1 $f6, 0x2c($a2) /* ACBFC8 80054E28 46005482 */ mul.s $f18, $f10, $f0 /* ACBFCC 80054E2C E7A00058 */ swc1 $f0, 0x58($sp) /* ACBFD0 80054E30 46004282 */ mul.s $f10, $f8, $f0 /* ACBFD4 80054E34 460E3201 */ sub.s $f8, $f6, $f14 /* ACBFD8 80054E38 46029100 */ add.s $f4, $f18, $f2 /* ACBFDC 80054E3C 460C5480 */ add.s $f18, $f10, $f12 /* ACBFE0 80054E40 46004282 */ mul.s $f10, $f8, $f0 /* ACBFE4 80054E44 E7A4005C */ swc1 $f4, 0x5c($sp) /* ACBFE8 80054E48 E7B20060 */ swc1 $f18, 0x60($sp) /* ACBFEC 80054E4C 46109100 */ add.s $f4, $f18, $f16 /* ACBFF0 80054E50 460E5480 */ add.s $f18, $f10, $f14 /* ACBFF4 80054E54 E7A40060 */ swc1 $f4, 0x60($sp) /* ACBFF8 80054E58 0C01F0FD */ jal func_8007C3F4 /* ACBFFC 80054E5C E7B20064 */ swc1 $f18, 0x64($sp) /* ACC000 80054E60 87AB0086 */ lh $t3, 0x86($sp) /* ACC004 80054E64 86190012 */ lh $t9, 0x12($s0) /* ACC008 80054E68 26230094 */ addiu $v1, $s1, 0x94 /* ACC00C 80054E6C 846F000E */ lh $t7, 0xe($v1) /* ACC010 80054E70 01790019 */ multu $t3, $t9 /* ACC014 80054E74 AFA30028 */ sw $v1, 0x28($sp) /* ACC018 80054E78 8FA40030 */ lw $a0, 0x30($sp) /* ACC01C 80054E7C 02002825 */ move $a1, $s0 /* ACC020 80054E80 27A60080 */ addiu $a2, $sp, 0x80 /* ACC024 80054E84 00005012 */ mflo $t2 /* ACC028 80054E88 014FC021 */ addu $t8, $t2, $t7 /* ACC02C 80054E8C 0C010F0A */ jal func_80043C28 /* ACC030 80054E90 A7B80086 */ sh $t8, 0x86($sp) /* ACC034 80054E94 3C038012 */ lui $v1, %hi(D_8011D658) /* ACC038 80054E98 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8 /* ACC03C 80054E9C 84640014 */ lh $a0, 0x14($v1) /* ACC040 80054EA0 8468001C */ lh $t0, 0x1c($v1) /* ACC044 80054EA4 C4620010 */ lwc1 $f2, 0x10($v1) /* ACC048 80054EA8 C4640018 */ lwc1 $f4, 0x18($v1) /* ACC04C 80054EAC 01046023 */ subu $t4, $t0, $a0 /* ACC050 80054EB0 000C4C00 */ sll $t1, $t4, 0x10 /* ACC054 80054EB4 00097403 */ sra $t6, $t1, 0x10 /* ACC058 80054EB8 448E9000 */ mtc1 $t6, $f18 /* ACC05C 80054EBC 46022181 */ sub.s $f6, $f4, $f2 /* ACC060 80054EC0 84650016 */ lh $a1, 0x16($v1) /* ACC064 80054EC4 8478001E */ lh $t8, 0x1e($v1) /* ACC068 80054EC8 46809120 */ cvt.s.w $f4, $f18 /* ACC06C 80054ECC C7A00058 */ lwc1 $f0, 0x58($sp) /* ACC070 80054ED0 03054023 */ subu $t0, $t8, $a1 /* ACC074 80054ED4 00086400 */ sll $t4, $t0, 0x10 /* ACC078 80054ED8 46003202 */ mul.s $f8, $f6, $f0 /* ACC07C 80054EDC 000C4C03 */ sra $t1, $t4, 0x10 /* ACC080 80054EE0 44899000 */ mtc1 $t1, $f18 /* ACC084 80054EE4 46002182 */ mul.s $f6, $f4, $f0 /* ACC088 80054EE8 8FAB0028 */ lw $t3, 0x28($sp) /* ACC08C 80054EEC 3C018014 */ lui $at, %hi(D_8013A348) /* ACC090 80054EF0 46024280 */ add.s $f10, $f8, $f2 /* ACC094 80054EF4 46809120 */ cvt.s.w $f4, $f18 /* ACC098 80054EF8 E7AA0080 */ swc1 $f10, 0x80($sp) /* ACC09C 80054EFC E7AA0088 */ swc1 $f10, 0x88($sp) /* ACC0A0 80054F00 4600320D */ trunc.w.s $f8, $f6 /* ACC0A4 80054F04 46002182 */ mul.s $f6, $f4, $f0 /* ACC0A8 80054F08 C424A348 */ lwc1 $f4, %lo(D_8013A348)($at) /* ACC0AC 80054F0C 440A4000 */ mfc1 $t2, $f8 /* ACC0B0 80054F10 00000000 */ nop /* ACC0B4 80054F14 01447821 */ addu $t7, $t2, $a0 /* ACC0B8 80054F18 4600320D */ trunc.w.s $f8, $f6 /* ACC0BC 80054F1C 01E04025 */ move $t0, $t7 /* ACC0C0 80054F20 A7AF0084 */ sh $t7, 0x84($sp) /* ACC0C4 80054F24 A7A8008C */ sh $t0, 0x8c($sp) /* ACC0C8 80054F28 44194000 */ mfc1 $t9, $f8 /* ACC0CC 80054F2C 00000000 */ nop /* ACC0D0 80054F30 03255021 */ addu $t2, $t9, $a1 /* ACC0D4 80054F34 A7AA0086 */ sh $t2, 0x86($sp) /* ACC0D8 80054F38 860C0012 */ lh $t4, 0x12($s0) /* ACC0DC 80054F3C 000A4C00 */ sll $t1, $t2, 0x10 /* ACC0E0 80054F40 00097403 */ sra $t6, $t1, 0x10 /* ACC0E4 80054F44 01CC0019 */ multu $t6, $t4 /* ACC0E8 80054F48 8579000E */ lh $t9, 0xe($t3) /* ACC0EC 80054F4C 00006812 */ mflo $t5 /* ACC0F0 80054F50 01B97821 */ addu $t7, $t5, $t9 /* ACC0F4 80054F54 A7AF008E */ sh $t7, 0x8e($sp) /* ACC0F8 80054F58 C612000C */ lwc1 $f18, 0xc($s0) /* ACC0FC 80054F5C 86060010 */ lh $a2, 0x10($s0) /* ACC100 80054F60 46049180 */ add.s $f6, $f18, $f4 /* ACC104 80054F64 10000063 */ b .L800550F4 /* ACC108 80054F68 E606000C */ swc1 $f6, 0xc($s0) /* ACC10C 80054F6C 8638014C */ lh $t8, 0x14c($s1) /* ACC110 80054F70 240E0004 */ li $t6, 4 /* ACC114 80054F74 37080400 */ ori $t0, $t8, 0x400 /* ACC118 80054F78 A628014C */ sh $t0, 0x14c($s1) /* ACC11C 80054F7C 862A014C */ lh $t2, 0x14c($s1) /* ACC120 80054F80 31490008 */ andi $t1, $t2, 8 /* ACC124 80054F84 51200003 */ beql $t1, $zero, .L80054F94 /* ACC128 80054F88 240C0001 */ li $t4, 1 /* ACC12C 80054F8C A62E015E */ sh $t6, 0x15e($s1) /* ACC130 80054F90 240C0001 */ li $t4, 1 .L80054F94: /* ACC134 80054F94 262B0094 */ addiu $t3, $s1, 0x94 /* ACC138 80054F98 A3AC0053 */ sb $t4, 0x53($sp) /* ACC13C 80054F9C AFAB0028 */ sw $t3, 0x28($sp) /* ACC140 80054FA0 2630000C */ addiu $s0, $s1, 0xc /* ACC144 80054FA4 10000053 */ b .L800550F4 /* ACC148 80054FA8 86060010 */ lh $a2, 0x10($s0) /* ACC14C 80054FAC 3C0142A0 */ li $at, 0x42A00000 # 0.000000 /* ACC150 80054FB0 44814000 */ mtc1 $at, $f8 /* ACC154 80054FB4 87AD0096 */ lh $t5, 0x96($sp) /* ACC158 80054FB8 3C018014 */ lui $at, %hi(D_8013A34C) /* ACC15C 80054FBC C42AA34C */ lwc1 $f10, %lo(D_8013A34C)($at) /* ACC160 80054FC0 A7A0008C */ sh $zero, 0x8c($sp) /* ACC164 80054FC4 2630000C */ addiu $s0, $s1, 0xc /* ACC168 80054FC8 E7A80088 */ swc1 $f8, 0x88($sp) /* ACC16C 80054FCC A7AD008E */ sh $t5, 0x8e($sp) /* ACC170 80054FD0 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACC174 80054FD4 24193400 */ li $t9, 13312 /* ACC178 80054FD8 E60A000C */ swc1 $f10, 0xc($s0) /* ACC17C 80054FDC AC39D3A0 */ sw $t9, %lo(D_8011D3A0)($at) /* ACC180 80054FE0 86060010 */ lh $a2, 0x10($s0) /* ACC184 80054FE4 3C018014 */ lui $at, %hi(D_8013A350) /* ACC188 80054FE8 04C20025 */ bltzl $a2, .L80055080 /* ACC18C 80054FEC 8639014C */ lh $t9, 0x14c($s1) /* ACC190 80054FF0 C432A350 */ lwc1 $f18, %lo(D_8013A350)($at) /* ACC194 80054FF4 C62400D8 */ lwc1 $f4, 0xd8($s1) /* ACC198 80054FF8 3C0F8016 */ lui $t7, %hi(D_8015BD7C) # $t7, 0x8016 /* ACC19C 80054FFC 4604903C */ c.lt.s $f18, $f4 /* ACC1A0 80055000 00000000 */ nop /* ACC1A4 80055004 4503001E */ bc1tl .L80055080 /* ACC1A8 80055008 8639014C */ lh $t9, 0x14c($s1) /* ACC1AC 8005500C 8DEFBD7C */ lw $t7, %lo(D_8015BD7C)($t7) /* ACC1B0 80055010 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff /* ACC1B4 80055014 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff /* ACC1B8 80055018 95E20020 */ lhu $v0, 0x20($t7) /* ACC1BC 8005501C 0041C027 */ nor $t8, $v0, $at /* ACC1C0 80055020 13000016 */ beqz $t8, .L8005507C /* ACC1C4 80055024 2401BFFF */ li $at, -16385 /* ACC1C8 80055028 00414027 */ nor $t0, $v0, $at /* ACC1CC 8005502C 11000013 */ beqz $t0, .L8005507C /* ACC1D0 80055030 2401FFFD */ li $at, -3 /* ACC1D4 80055034 00415027 */ nor $t2, $v0, $at /* ACC1D8 80055038 11400010 */ beqz $t2, .L8005507C /* ACC1DC 8005503C 2401FFFB */ li $at, -5 /* ACC1E0 80055040 00414827 */ nor $t1, $v0, $at /* ACC1E4 80055044 1120000D */ beqz $t1, .L8005507C /* ACC1E8 80055048 2401FFF7 */ li $at, -9 /* ACC1EC 8005504C 00417027 */ nor $t6, $v0, $at /* ACC1F0 80055050 11C0000A */ beqz $t6, .L8005507C /* ACC1F4 80055054 2401FFFE */ li $at, -2 /* ACC1F8 80055058 00416027 */ nor $t4, $v0, $at /* ACC1FC 8005505C 11800007 */ beqz $t4, .L8005507C /* ACC200 80055060 2401FFEF */ li $at, -17 /* ACC204 80055064 00415827 */ nor $t3, $v0, $at /* ACC208 80055068 11600004 */ beqz $t3, .L8005507C /* ACC20C 8005506C 2401DFFF */ li $at, -8193 /* ACC210 80055070 00416827 */ nor $t5, $v0, $at /* ACC214 80055074 55A0001C */ bnezl $t5, .L800550E8 /* ACC218 80055078 240C0001 */ li $t4, 1 .L8005507C: /* ACC21C 8005507C 8639014C */ lh $t9, 0x14c($s1) .L80055080: /* ACC220 80055080 332F0008 */ andi $t7, $t9, 8 /* ACC224 80055084 51E00018 */ beql $t7, $zero, .L800550E8 /* ACC228 80055088 240C0001 */ li $t4, 1 .L8005508C: /* ACC22C 8005508C 8638014C */ lh $t8, 0x14c($s1) /* ACC230 80055090 86250166 */ lh $a1, 0x166($s1) /* ACC234 80055094 2630000C */ addiu $s0, $s1, 0xc /* ACC238 80055098 37080014 */ ori $t0, $t8, 0x14 /* ACC23C 8005509C A628014C */ sh $t0, 0x14c($s1) /* ACC240 800550A0 862A014C */ lh $t2, 0x14c($s1) /* ACC244 800550A4 02202025 */ move $a0, $s1 /* ACC248 800550A8 24060002 */ li $a2, 2 /* ACC24C 800550AC 3149FFF7 */ andi $t1, $t2, 0xfff7 /* ACC250 800550B0 04A10005 */ bgez $a1, .L800550C8 /* ACC254 800550B4 A629014C */ sh $t1, 0x14c($s1) /* ACC258 800550B8 0C016952 */ jal func_8005A548 /* ACC25C 800550BC 86250154 */ lh $a1, 0x154($s1) /* ACC260 800550C0 10000005 */ b .L800550D8 /* ACC264 800550C4 00000000 */ nop .L800550C8: /* ACC268 800550C8 0C0169EA */ jal func_8005A7A8 /* ACC26C 800550CC 02202025 */ move $a0, $s1 /* ACC270 800550D0 240EFFFF */ li $t6, -1 /* ACC274 800550D4 A62E0166 */ sh $t6, 0x166($s1) .L800550D8: /* ACC278 800550D8 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACC27C 800550DC AC20D3A0 */ sw $zero, %lo(D_8011D3A0)($at) /* ACC280 800550E0 86060010 */ lh $a2, 0x10($s0) /* ACC284 800550E4 240C0001 */ li $t4, 1 .L800550E8: /* ACC288 800550E8 262B0094 */ addiu $t3, $s1, 0x94 /* ACC28C 800550EC A3AC0053 */ sb $t4, 0x53($sp) /* ACC290 800550F0 AFAB0028 */ sw $t3, 0x28($sp) .L800550F4: /* ACC294 800550F4 24CD0001 */ addiu $t5, $a2, 1 /* ACC298 800550F8 A60D0010 */ sh $t5, 0x10($s0) /* ACC29C 800550FC 86060010 */ lh $a2, 0x10($s0) /* ACC2A0 80055100 24010001 */ li $at, 1 /* ACC2A4 80055104 14C10003 */ bne $a2, $at, .L80055114 /* ACC2A8 80055108 2419000A */ li $t9, 10 /* ACC2AC 8005510C 1000001E */ b .L80055188 /* ACC2B0 80055110 A639015E */ sh $t9, 0x15e($s1) .L80055114: /* ACC2B4 80055114 24020002 */ li $v0, 2 /* ACC2B8 80055118 14460004 */ bne $v0, $a2, .L8005512C /* ACC2BC 8005511C 24010094 */ li $at, 148 /* ACC2C0 80055120 240F0001 */ li $t7, 1 /* ACC2C4 80055124 10000018 */ b .L80055188 /* ACC2C8 80055128 A62F015E */ sh $t7, 0x15e($s1) .L8005512C: /* ACC2CC 8005512C 54C10004 */ bnel $a2, $at, .L80055140 /* ACC2D0 80055130 2401009E */ li $at, 158 /* ACC2D4 80055134 10000014 */ b .L80055188 /* ACC2D8 80055138 A622015E */ sh $v0, 0x15e($s1) /* ACC2DC 8005513C 2401009E */ li $at, 158 .L80055140: /* ACC2E0 80055140 14C10003 */ bne $a2, $at, .L80055150 /* ACC2E4 80055144 24180014 */ li $t8, 20 /* ACC2E8 80055148 1000000F */ b .L80055188 /* ACC2EC 8005514C A638015E */ sh $t8, 0x15e($s1) .L80055150: /* ACC2F0 80055150 2401009F */ li $at, 159 /* ACC2F4 80055154 14C10003 */ bne $a2, $at, .L80055164 /* ACC2F8 80055158 24080003 */ li $t0, 3 /* ACC2FC 8005515C 1000000A */ b .L80055188 /* ACC300 80055160 A628015E */ sh $t0, 0x15e($s1) .L80055164: /* ACC304 80055164 240100A8 */ li $at, 168 /* ACC308 80055168 14C10003 */ bne $a2, $at, .L80055178 /* ACC30C 8005516C 240A001E */ li $t2, 30 /* ACC310 80055170 10000005 */ b .L80055188 /* ACC314 80055174 A62A015E */ sh $t2, 0x15e($s1) .L80055178: /* ACC318 80055178 240100E4 */ li $at, 228 /* ACC31C 8005517C 14C10002 */ bne $a2, $at, .L80055188 /* ACC320 80055180 24090004 */ li $t1, 4 /* ACC324 80055184 A629015E */ sh $t1, 0x15e($s1) .L80055188: /* ACC328 80055188 93AE0053 */ lbu $t6, 0x53($sp) /* ACC32C 8005518C 55C00020 */ bnezl $t6, .L80055210 /* ACC330 80055190 8FA40030 */ lw $a0, 0x30($sp) /* ACC334 80055194 C7AC0088 */ lwc1 $f12, 0x88($sp) /* ACC338 80055198 C7AE0090 */ lwc1 $f14, 0x90($sp) /* ACC33C 8005519C 8E06000C */ lw $a2, 0xc($s0) /* ACC340 800551A0 0C010E27 */ jal func_8004389C /* ACC344 800551A4 3C074000 */ lui $a3, 0x4000 /* ACC348 800551A8 E7A00088 */ swc1 $f0, 0x88($sp) /* ACC34C 800551AC 8E06000C */ lw $a2, 0xc($s0) /* ACC350 800551B0 87A4008C */ lh $a0, 0x8c($sp) /* ACC354 800551B4 87A50094 */ lh $a1, 0x94($sp) /* ACC358 800551B8 0C010E47 */ jal func_8004391C /* ACC35C 800551BC 2407000A */ li $a3, 10 /* ACC360 800551C0 A7A2008C */ sh $v0, 0x8c($sp) /* ACC364 800551C4 8E06000C */ lw $a2, 0xc($s0) /* ACC368 800551C8 87A4008E */ lh $a0, 0x8e($sp) /* ACC36C 800551CC 87A50096 */ lh $a1, 0x96($sp) /* ACC370 800551D0 0C010E47 */ jal func_8004391C /* ACC374 800551D4 2407000A */ li $a3, 10 /* ACC378 800551D8 26300074 */ addiu $s0, $s1, 0x74 /* ACC37C 800551DC A7A2008E */ sh $v0, 0x8e($sp) /* ACC380 800551E0 02002025 */ move $a0, $s0 /* ACC384 800551E4 8FA50030 */ lw $a1, 0x30($sp) /* ACC388 800551E8 0C010F0A */ jal func_80043C28 /* ACC38C 800551EC 27A60088 */ addiu $a2, $sp, 0x88 /* ACC390 800551F0 8FAC0034 */ lw $t4, 0x34($sp) /* ACC394 800551F4 8E0D0000 */ lw $t5, ($s0) /* ACC398 800551F8 AD8D0000 */ sw $t5, ($t4) /* ACC39C 800551FC 8E0B0004 */ lw $t3, 4($s0) /* ACC3A0 80055200 AD8B0004 */ sw $t3, 4($t4) /* ACC3A4 80055204 8E0D0008 */ lw $t5, 8($s0) /* ACC3A8 80055208 AD8D0008 */ sw $t5, 8($t4) /* ACC3AC 8005520C 8FA40030 */ lw $a0, 0x30($sp) .L80055210: /* ACC3B0 80055210 0C01EFE4 */ jal func_8007BF90 /* ACC3B4 80055214 8FA50034 */ lw $a1, 0x34($sp) /* ACC3B8 80055218 E62000DC */ swc1 $f0, 0xdc($s1) /* ACC3BC 8005521C 3C018014 */ lui $at, %hi(D_8013A354) /* ACC3C0 80055220 C426A354 */ lwc1 $f6, %lo(D_8013A354)($at) /* ACC3C4 80055224 C6280050 */ lwc1 $f8, 0x50($s1) /* ACC3C8 80055228 C6240054 */ lwc1 $f4, 0x54($s1) /* ACC3CC 8005522C E6260100 */ swc1 $f6, 0x100($s1) /* ACC3D0 80055230 8FB90028 */ lw $t9, 0x28($sp) /* ACC3D4 80055234 24020001 */ li $v0, 1 /* ACC3D8 80055238 C72A0000 */ lwc1 $f10, ($t9) /* ACC3DC 8005523C 460A4481 */ sub.s $f18, $f8, $f10 /* ACC3E0 80055240 C62A0058 */ lwc1 $f10, 0x58($s1) /* ACC3E4 80055244 E63200E4 */ swc1 $f18, 0xe4($s1) /* ACC3E8 80055248 8FAF0028 */ lw $t7, 0x28($sp) /* ACC3EC 8005524C C5E60004 */ lwc1 $f6, 4($t7) /* ACC3F0 80055250 46062201 */ sub.s $f8, $f4, $f6 /* ACC3F4 80055254 E62800E8 */ swc1 $f8, 0xe8($s1) /* ACC3F8 80055258 8FB80028 */ lw $t8, 0x28($sp) /* ACC3FC 8005525C C7120008 */ lwc1 $f18, 8($t8) /* ACC400 80055260 46125101 */ sub.s $f4, $f10, $f18 /* ACC404 80055264 E62400EC */ swc1 $f4, 0xec($s1) /* ACC408 80055268 8FBF001C */ lw $ra, 0x1c($sp) /* ACC40C 8005526C 8FB10018 */ lw $s1, 0x18($sp) /* ACC410 80055270 8FB00014 */ lw $s0, 0x14($sp) /* ACC414 80055274 03E00008 */ jr $ra /* ACC418 80055278 27BD00A8 */ addiu $sp, $sp, 0xa8 # SPLIT /* ACC41C 8005527C 27BDFFE8 */ addiu $sp, $sp, -0x18 /* ACC420 80055280 AFBF0014 */ sw $ra, 0x14($sp) /* ACC424 80055284 0C011CE5 */ jal func_80047394 /* ACC428 80055288 00000000 */ nop /* ACC42C 8005528C 8FBF0014 */ lw $ra, 0x14($sp) /* ACC430 80055290 27BD0018 */ addiu $sp, $sp, 0x18 /* ACC434 80055294 03E00008 */ jr $ra /* ACC438 80055298 00000000 */ nop # SPLIT /* ACC43C 8005529C 27BDFF68 */ addiu $sp, $sp, -0x98 /* ACC440 800552A0 AFB00018 */ sw $s0, 0x18($sp) /* ACC444 800552A4 00808025 */ move $s0, $a0 /* ACC448 800552A8 AFBF001C */ sw $ra, 0x1c($sp) /* ACC44C 800552AC 8E050090 */ lw $a1, 0x90($s0) /* ACC450 800552B0 0C00BBB9 */ jal func_8002EEE4 /* ACC454 800552B4 27A40064 */ addiu $a0, $sp, 0x64 /* ACC458 800552B8 8E0E0090 */ lw $t6, 0x90($s0) /* ACC45C 800552BC 240F3200 */ li $t7, 12800 /* ACC460 800552C0 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACC464 800552C4 AC2FD3A0 */ sw $t7, %lo(D_8011D3A0)($at) /* ACC468 800552C8 AFAE004C */ sw $t6, 0x4c($sp) /* ACC46C 800552CC 8E0500A8 */ lw $a1, 0xa8($s0) /* ACC470 800552D0 10A00005 */ beqz $a1, .L800552E8 /* ACC474 800552D4 00000000 */ nop /* ACC478 800552D8 8CB80130 */ lw $t8, 0x130($a1) /* ACC47C 800552DC 260400AC */ addiu $a0, $s0, 0xac /* ACC480 800552E0 17000008 */ bnez $t8, .L80055304 /* ACC484 800552E4 00000000 */ nop .L800552E8: /* ACC488 800552E8 14A00003 */ bnez $a1, .L800552F8 /* ACC48C 800552EC 3C048014 */ lui $a0, %hi(D_80139690) # $a0, 0x8014 /* ACC490 800552F0 0C00084C */ jal osSyncPrintf /* ACC494 800552F4 24849690 */ addiu $a0, %lo(D_80139690) # addiu $a0, $a0, -0x6970 .L800552F8: /* ACC498 800552F8 AE0000A8 */ sw $zero, 0xa8($s0) /* ACC49C 800552FC 10000259 */ b .L80055C64 /* ACC4A0 80055300 24020001 */ li $v0, 1 .L80055304: /* ACC4A4 80055304 0C00BBB9 */ jal func_8002EEE4 /* ACC4A8 80055308 AFA40020 */ sw $a0, 0x20($sp) /* ACC4AC 8005530C 27A40088 */ addiu $a0, $sp, 0x88 /* ACC4B0 80055310 8FA50020 */ lw $a1, 0x20($sp) /* ACC4B4 80055314 0C01F124 */ jal func_8007C490 /* ACC4B8 80055318 26060094 */ addiu $a2, $s0, 0x94 /* ACC4BC 8005531C 8E1900A8 */ lw $t9, 0xa8($s0) /* ACC4C0 80055320 3C018012 */ lui $at, %hi(D_8011D3AC) # $at, 0x8012 /* ACC4C4 80055324 27A6007E */ addiu $a2, $sp, 0x7e /* ACC4C8 80055328 93280002 */ lbu $t0, 2($t9) /* ACC4CC 8005532C 27A7007C */ addiu $a3, $sp, 0x7c /* ACC4D0 80055330 AC28D3AC */ sw $t0, %lo(D_8011D3AC)($at) /* ACC4D4 80055334 8E0500A8 */ lw $a1, 0xa8($s0) /* ACC4D8 80055338 0C00BCDD */ jal func_8002F374 /* ACC4DC 8005533C 8E04008C */ lw $a0, 0x8c($s0) /* ACC4E0 80055340 8FA40020 */ lw $a0, 0x20($sp) /* ACC4E4 80055344 0C01EFE4 */ jal func_8007BF90 /* ACC4E8 80055348 2605005C */ addiu $a1, $s0, 0x5c /* ACC4EC 8005534C E7A00094 */ swc1 $f0, 0x94($sp) /* ACC4F0 80055350 27A40080 */ addiu $a0, $sp, 0x80 /* ACC4F4 80055354 27A50064 */ addiu $a1, $sp, 0x64 /* ACC4F8 80055358 0C01F124 */ jal func_8007C490 /* ACC4FC 8005535C 26060074 */ addiu $a2, $s0, 0x74 /* ACC500 80055360 87A90086 */ lh $t1, 0x86($sp) /* ACC504 80055364 87AA008E */ lh $t2, 0x8e($sp) /* ACC508 80055368 24010002 */ li $at, 2 /* ACC50C 8005536C C7A40080 */ lwc1 $f4, 0x80($sp) /* ACC510 80055370 012A5823 */ subu $t3, $t1, $t2 /* ACC514 80055374 A7AB004A */ sh $t3, 0x4a($sp) /* ACC518 80055378 8E0C00A8 */ lw $t4, 0xa8($s0) /* ACC51C 8005537C C7A00088 */ lwc1 $f0, 0x88($sp) /* ACC520 80055380 91830002 */ lbu $v1, 2($t4) /* ACC524 80055384 14610040 */ bne $v1, $at, .L80055488 /* ACC528 80055388 3C0141F0 */ li $at, 0x41F00000 # 0.000000 /* ACC52C 8005538C 44811000 */ mtc1 $at, $f2 /* ACC530 80055390 00000000 */ nop /* ACC534 80055394 4604103C */ c.lt.s $f2, $f4 /* ACC538 80055398 00000000 */ nop /* ACC53C 8005539C 45000021 */ bc1f .L80055424 /* ACC540 800553A0 00000000 */ nop /* ACC544 800553A4 860D0160 */ lh $t5, 0x160($s0) /* ACC548 800553A8 3C018012 */ lui $at, %hi(D_8011D6D8) # $at, 0x8012 /* ACC54C 800553AC 25AEFFFF */ addiu $t6, $t5, -1 /* ACC550 800553B0 0C03F66B */ jal Math_Rand_ZeroOne /* ACC554 800553B4 A42ED6D8 */ sh $t6, %lo(D_8011D6D8)($at) /* ACC558 800553B8 3C014120 */ li $at, 0x41200000 # 0.000000 /* ACC55C 800553BC 44813000 */ mtc1 $at, $f6 /* ACC560 800553C0 3C028012 */ lui $v0, %hi(D_8011D6AC) # $v0, 0x8012 /* ACC564 800553C4 2442D6AC */ addiu $v0, %lo(D_8011D6AC) # addiu $v0, $v0, -0x2954 /* ACC568 800553C8 46060202 */ mul.s $f8, $f0, $f6 /* ACC56C 800553CC 0C03F66B */ jal Math_Rand_ZeroOne /* ACC570 800553D0 E4480040 */ swc1 $f8, 0x40($v0) /* ACC574 800553D4 3C014120 */ li $at, 0x41200000 # 0.000000 /* ACC578 800553D8 44815000 */ mtc1 $at, $f10 /* ACC57C 800553DC 3C028012 */ lui $v0, %hi(D_8011D6AC) /* ACC580 800553E0 2442D6AC */ addiu $v0, %lo(D_8011D6AC) # addiu $v0, $v0, -0x2954 /* ACC584 800553E4 460A0402 */ mul.s $f16, $f0, $f10 /* ACC588 800553E8 240F0003 */ li $t7, 3 /* ACC58C 800553EC 25E8FFFF */ addiu $t0, $t7, -1 /* ACC590 800553F0 E4500044 */ swc1 $f16, 0x44($v0) /* ACC594 800553F4 86180162 */ lh $t8, 0x162($s0) /* ACC598 800553F8 AE020004 */ sw $v0, 4($s0) /* ACC59C 800553FC AE0F0000 */ sw $t7, ($s0) /* ACC5A0 80055400 53000004 */ beql $t8, $zero, .L80055414 /* ACC5A4 80055404 86090160 */ lh $t1, 0x160($s0) /* ACC5A8 80055408 100001C2 */ b .L80055B14 /* ACC5AC 8005540C AE080000 */ sw $t0, ($s0) /* ACC5B0 80055410 86090160 */ lh $t1, 0x160($s0) .L80055414: /* ACC5B4 80055414 844A0054 */ lh $t2, 0x54($v0) /* ACC5B8 80055418 012A5821 */ addu $t3, $t1, $t2 /* ACC5BC 8005541C 100001BD */ b .L80055B14 /* ACC5C0 80055420 A60B0160 */ sh $t3, 0x160($s0) .L80055424: /* ACC5C4 80055424 0C03F66B */ jal Math_Rand_ZeroOne /* ACC5C8 80055428 00000000 */ nop /* ACC5CC 8005542C 3C014120 */ li $at, 0x41200000 # 0.000000 /* ACC5D0 80055430 44819000 */ mtc1 $at, $f18 /* ACC5D4 80055434 3C028012 */ lui $v0, %hi(D_8011D724) /* ACC5D8 80055438 2442D724 */ addiu $v0, %lo(D_8011D724) # addiu $v0, $v0, -0x28dc /* ACC5DC 8005543C 46120102 */ mul.s $f4, $f0, $f18 /* ACC5E0 80055440 240E0003 */ li $t6, 3 /* ACC5E4 80055444 25D9FFFF */ addiu $t9, $t6, -1 /* ACC5E8 80055448 E4440044 */ swc1 $f4, 0x44($v0) /* ACC5EC 8005544C 860C0160 */ lh $t4, 0x160($s0) /* ACC5F0 80055450 258DFFFF */ addiu $t5, $t4, -1 /* ACC5F4 80055454 A44D002C */ sh $t5, 0x2c($v0) /* ACC5F8 80055458 860F0162 */ lh $t7, 0x162($s0) /* ACC5FC 8005545C AE020004 */ sw $v0, 4($s0) /* ACC600 80055460 AE0E0000 */ sw $t6, ($s0) /* ACC604 80055464 51E00004 */ beql $t7, $zero, .L80055478 /* ACC608 80055468 86080160 */ lh $t0, 0x160($s0) /* ACC60C 8005546C 100001A9 */ b .L80055B14 /* ACC610 80055470 AE190000 */ sw $t9, ($s0) /* ACC614 80055474 86080160 */ lh $t0, 0x160($s0) .L80055478: /* ACC618 80055478 84490054 */ lh $t1, 0x54($v0) /* ACC61C 8005547C 01095021 */ addu $t2, $t0, $t1 /* ACC620 80055480 100001A4 */ b .L80055B14 /* ACC624 80055484 A60A0160 */ sh $t2, 0x160($s0) .L80055488: /* ACC628 80055488 3C0141F0 */ li $at, 0x41F00000 # 0.000000 /* ACC62C 8005548C 44811000 */ mtc1 $at, $f2 /* ACC630 80055490 3C028012 */ lui $v0, %hi(D_8011D79C) /* ACC634 80055494 2442D79C */ addiu $v0, %lo(D_8011D79C) # addiu $v0, $v0, -0x2864 /* ACC638 80055498 4602003C */ c.lt.s $f0, $f2 /* ACC63C 8005549C 240B0004 */ li $t3, 4 /* ACC640 800554A0 C7AC0094 */ lwc1 $f12, 0x94($sp) /* ACC644 800554A4 3C014396 */ li $at, 0x43960000 # 0.000000 /* ACC648 800554A8 4502002E */ bc1fl .L80055564 /* ACC64C 800554AC 44818000 */ mtc1 $at, $f16 /* ACC650 800554B0 AE020004 */ sw $v0, 4($s0) /* ACC654 800554B4 AE0B0000 */ sw $t3, ($s0) /* ACC658 800554B8 87AC007E */ lh $t4, 0x7e($sp) /* ACC65C 800554BC 240D0041 */ li $t5, 65 /* ACC660 800554C0 29810015 */ slti $at, $t4, 0x15 /* ACC664 800554C4 14200007 */ bnez $at, .L800554E4 /* ACC668 800554C8 2981012C */ slti $at, $t4, 0x12c /* ACC66C 800554CC 10200005 */ beqz $at, .L800554E4 /* ACC670 800554D0 87A3007C */ lh $v1, 0x7c($sp) /* ACC674 800554D4 28610029 */ slti $at, $v1, 0x29 /* ACC678 800554D8 14200002 */ bnez $at, .L800554E4 /* ACC67C 800554DC 286100C8 */ slti $at, $v1, 0xc8 /* ACC680 800554E0 1420000E */ bnez $at, .L8005551C .L800554E4: /* ACC684 800554E4 3C01C1F0 */ li $at, 0xC1F00000 # 0.000000 /* ACC688 800554E8 44813000 */ mtc1 $at, $f6 /* ACC68C 800554EC 3C014120 */ li $at, 0x41200000 # 0.000000 /* ACC690 800554F0 44801000 */ mtc1 $zero, $f2 /* ACC694 800554F4 44814000 */ mtc1 $at, $f8 /* ACC698 800554F8 3C01C248 */ li $at, 0xC2480000 # 0.000000 /* ACC69C 800554FC 44815000 */ mtc1 $at, $f10 /* ACC6A0 80055500 A04D0000 */ sb $t5, ($v0) /* ACC6A4 80055504 E4460014 */ swc1 $f6, 0x14($v0) /* ACC6A8 80055508 E4420010 */ swc1 $f2, 0x10($v0) /* ACC6AC 8005550C E4420018 */ swc1 $f2, 0x18($v0) /* ACC6B0 80055510 E4420020 */ swc1 $f2, 0x20($v0) /* ACC6B4 80055514 E448001C */ swc1 $f8, 0x1c($v0) /* ACC6B8 80055518 E44A0024 */ swc1 $f10, 0x24($v0) .L8005551C: /* ACC6BC 8005551C 860E0160 */ lh $t6, 0x160($s0) /* ACC6C0 80055520 25CFFFFF */ addiu $t7, $t6, -1 /* ACC6C4 80055524 A44F002C */ sh $t7, 0x2c($v0) /* ACC6C8 80055528 86180162 */ lh $t8, 0x162($s0) /* ACC6CC 8005552C 53000006 */ beql $t8, $zero, .L80055548 /* ACC6D0 80055530 86090160 */ lh $t1, 0x160($s0) /* ACC6D4 80055534 8E190000 */ lw $t9, ($s0) /* ACC6D8 80055538 2728FFFE */ addiu $t0, $t9, -2 /* ACC6DC 8005553C 10000175 */ b .L80055B14 /* ACC6E0 80055540 AE080000 */ sw $t0, ($s0) /* ACC6E4 80055544 86090160 */ lh $t1, 0x160($s0) .L80055548: /* ACC6E8 80055548 844A0054 */ lh $t2, 0x54($v0) /* ACC6EC 8005554C 844C007C */ lh $t4, 0x7c($v0) /* ACC6F0 80055550 012A5821 */ addu $t3, $t1, $t2 /* ACC6F4 80055554 016C6821 */ addu $t5, $t3, $t4 /* ACC6F8 80055558 1000016E */ b .L80055B14 /* ACC6FC 8005555C A60D0160 */ sh $t5, 0x160($s0) /* ACC700 80055560 44818000 */ mtc1 $at, $f16 .L80055564: /* ACC704 80055564 C7B20080 */ lwc1 $f18, 0x80($sp) /* ACC708 80055568 3C01442F */ li $at, 0x442F0000 # 0.000000 /* ACC70C 8005556C 4610603C */ c.lt.s $f12, $f16 /* ACC710 80055570 00000000 */ nop /* ACC714 80055574 45020017 */ bc1fl .L800555D4 /* ACC718 80055578 44812000 */ mtc1 $at, $f4 /* ACC71C 8005557C 4602903C */ c.lt.s $f18, $f2 /* ACC720 80055580 00000000 */ nop /* ACC724 80055584 45020013 */ bc1fl .L800555D4 /* ACC728 80055588 44812000 */ mtc1 $at, $f4 /* ACC72C 8005558C 860E0160 */ lh $t6, 0x160($s0) /* ACC730 80055590 3C028012 */ lui $v0, %hi(D_8011D83C) /* ACC734 80055594 2442D83C */ addiu $v0, %lo(D_8011D83C) # addiu $v0, $v0, -0x27c4 /* ACC738 80055598 A44E0004 */ sh $t6, 4($v0) /* ACC73C 8005559C 86180162 */ lh $t8, 0x162($s0) /* ACC740 800555A0 240F0002 */ li $t7, 2 /* ACC744 800555A4 AE020004 */ sw $v0, 4($s0) /* ACC748 800555A8 13000004 */ beqz $t8, .L800555BC /* ACC74C 800555AC AE0F0000 */ sw $t7, ($s0) /* ACC750 800555B0 25E8FFFF */ addiu $t0, $t7, -1 /* ACC754 800555B4 10000157 */ b .L80055B14 /* ACC758 800555B8 AE080000 */ sw $t0, ($s0) .L800555BC: /* ACC75C 800555BC 86090160 */ lh $t1, 0x160($s0) /* ACC760 800555C0 844A002C */ lh $t2, 0x2c($v0) /* ACC764 800555C4 012A5821 */ addu $t3, $t1, $t2 /* ACC768 800555C8 10000152 */ b .L80055B14 /* ACC76C 800555CC A60B0160 */ sh $t3, 0x160($s0) /* ACC770 800555D0 44812000 */ mtc1 $at, $f4 .L800555D4: /* ACC774 800555D4 87A5004A */ lh $a1, 0x4a($sp) /* ACC778 800555D8 4604603C */ c.lt.s $f12, $f4 /* ACC77C 800555DC 00000000 */ nop /* ACC780 800555E0 45020064 */ bc1fl .L80055774 /* ACC784 800555E4 2401000A */ li $at, 10 /* ACC788 800555E8 04A00003 */ bltz $a1, .L800555F8 /* ACC78C 800555EC 00051023 */ negu $v0, $a1 /* ACC790 800555F0 10000001 */ b .L800555F8 /* ACC794 800555F4 00A01025 */ move $v0, $a1 .L800555F8: /* ACC798 800555F8 284136B0 */ slti $at, $v0, 0x36b0 /* ACC79C 800555FC 5020005D */ beql $at, $zero, .L80055774 /* ACC7A0 80055600 2401000A */ li $at, 10 /* ACC7A4 80055604 87A3007E */ lh $v1, 0x7e($sp) /* ACC7A8 80055608 28610015 */ slti $at, $v1, 0x15 /* ACC7AC 8005560C 1420001D */ bnez $at, .L80055684 /* ACC7B0 80055610 2861012C */ slti $at, $v1, 0x12c /* ACC7B4 80055614 1020001B */ beqz $at, .L80055684 /* ACC7B8 80055618 87A3007C */ lh $v1, 0x7c($sp) /* ACC7BC 8005561C 28610029 */ slti $at, $v1, 0x29 /* ACC7C0 80055620 14200018 */ bnez $at, .L80055684 /* ACC7C4 80055624 286100C8 */ slti $at, $v1, 0xc8 /* ACC7C8 80055628 10200016 */ beqz $at, .L80055684 /* ACC7CC 8005562C C7A60080 */ lwc1 $f6, 0x80($sp) /* ACC7D0 80055630 4606103C */ c.lt.s $f2, $f6 /* ACC7D4 80055634 00000000 */ nop /* ACC7D8 80055638 45000012 */ bc1f .L80055684 /* ACC7DC 8005563C 00000000 */ nop /* ACC7E0 80055640 860C0160 */ lh $t4, 0x160($s0) /* ACC7E4 80055644 3C028012 */ lui $v0, %hi(D_8011D88C) # $v0, 0x8012 /* ACC7E8 80055648 2442D88C */ addiu $v0, %lo(D_8011D88C) # addiu $v0, $v0, -0x2774 /* ACC7EC 8005564C A44C0004 */ sh $t4, 4($v0) /* ACC7F0 80055650 860E0162 */ lh $t6, 0x162($s0) /* ACC7F4 80055654 240D0002 */ li $t5, 2 /* ACC7F8 80055658 AE020004 */ sw $v0, 4($s0) /* ACC7FC 8005565C 11C00004 */ beqz $t6, .L80055670 /* ACC800 80055660 AE0D0000 */ sw $t5, ($s0) /* ACC804 80055664 25B8FFFF */ addiu $t8, $t5, -1 /* ACC808 80055668 1000012A */ b .L80055B14 /* ACC80C 8005566C AE180000 */ sw $t8, ($s0) .L80055670: /* ACC810 80055670 86190160 */ lh $t9, 0x160($s0) /* ACC814 80055674 8448002C */ lh $t0, 0x2c($v0) /* ACC818 80055678 03284821 */ addu $t1, $t9, $t0 /* ACC81C 8005567C 10000125 */ b .L80055B14 /* ACC820 80055680 A6090160 */ sh $t1, 0x160($s0) .L80055684: /* ACC824 80055684 3C018014 */ lui $at, %hi(D_8013A358) /* ACC828 80055688 C428A358 */ lwc1 $f8, %lo(D_8013A358)($at) /* ACC82C 8005568C 3C014248 */ li $at, 0x42480000 # 0.000000 /* ACC830 80055690 44818000 */ mtc1 $at, $f16 /* ACC834 80055694 46086282 */ mul.s $f10, $f12, $f8 /* ACC838 80055698 3C028012 */ lui $v0, %hi(D_8011D8DC) # $v0, 0x8012 /* ACC83C 8005569C 46106480 */ add.s $f18, $f12, $f16 /* ACC840 800556A0 2442D8DC */ addiu $v0, %lo(D_8011D8DC) # addiu $v0, $v0, -0x2724 /* ACC844 800556A4 E4520024 */ swc1 $f18, 0x24($v0) /* ACC848 800556A8 0C03F66B */ jal Math_Rand_ZeroOne /* ACC84C 800556AC E44A0018 */ swc1 $f10, 0x18($v0) /* ACC850 800556B0 3C014120 */ li $at, 0x41200000 # 0.000000 /* ACC854 800556B4 44812000 */ mtc1 $at, $f4 /* ACC858 800556B8 87AA0086 */ lh $t2, 0x86($sp) /* ACC85C 800556BC 87AB008E */ lh $t3, 0x8e($sp) /* ACC860 800556C0 46040182 */ mul.s $f6, $f0, $f4 /* ACC864 800556C4 3C028012 */ lui $v0, %hi(D_8011D8DC) # $v0, 0x8012 /* ACC868 800556C8 014B6023 */ subu $t4, $t2, $t3 /* ACC86C 800556CC 000C6C00 */ sll $t5, $t4, 0x10 /* ACC870 800556D0 2442D8DC */ addiu $v0, %lo(D_8011D8DC) # addiu $v0, $v0, -0x2724 /* ACC874 800556D4 000D7403 */ sra $t6, $t5, 0x10 /* ACC878 800556D8 19C0000A */ blez $t6, .L80055704 /* ACC87C 800556DC E446001C */ swc1 $f6, 0x1c($v0) /* ACC880 800556E0 C4480010 */ lwc1 $f8, 0x10($v0) /* ACC884 800556E4 C450001C */ lwc1 $f16, 0x1c($v0) /* ACC888 800556E8 844F0006 */ lh $t7, 6($v0) /* ACC88C 800556EC 46004287 */ neg.s $f10, $f8 /* ACC890 800556F0 46008487 */ neg.s $f18, $f16 /* ACC894 800556F4 000FC023 */ negu $t8, $t7 /* ACC898 800556F8 E44A0010 */ swc1 $f10, 0x10($v0) /* ACC89C 800556FC E452001C */ swc1 $f18, 0x1c($v0) /* ACC8A0 80055700 A4580006 */ sh $t8, 6($v0) .L80055704: /* ACC8A4 80055704 86190160 */ lh $t9, 0x160($s0) /* ACC8A8 80055708 3C018014 */ lui $at, %hi(D_8013A35C) /* ACC8AC 8005570C C7A40094 */ lwc1 $f4, 0x94($sp) /* ACC8B0 80055710 A4590004 */ sh $t9, 4($v0) /* ACC8B4 80055714 C426A35C */ lwc1 $f6, %lo(D_8013A35C)($at) /* ACC8B8 80055718 240D0003 */ li $t5, 3 /* ACC8BC 8005571C 25B8FFFE */ addiu $t8, $t5, -2 /* ACC8C0 80055720 46062202 */ mul.s $f8, $f4, $f6 /* ACC8C4 80055724 4600428D */ trunc.w.s $f10, $f8 /* ACC8C8 80055728 440B5000 */ mfc1 $t3, $f10 /* ACC8CC 8005572C 00000000 */ nop /* ACC8D0 80055730 256C0008 */ addiu $t4, $t3, 8 /* ACC8D4 80055734 A44C002C */ sh $t4, 0x2c($v0) /* ACC8D8 80055738 860E0162 */ lh $t6, 0x162($s0) /* ACC8DC 8005573C AE020004 */ sw $v0, 4($s0) /* ACC8E0 80055740 AE0D0000 */ sw $t5, ($s0) /* ACC8E4 80055744 51C00004 */ beql $t6, $zero, .L80055758 /* ACC8E8 80055748 86190160 */ lh $t9, 0x160($s0) /* ACC8EC 8005574C 100000F1 */ b .L80055B14 /* ACC8F0 80055750 AE180000 */ sw $t8, ($s0) /* ACC8F4 80055754 86190160 */ lh $t9, 0x160($s0) .L80055758: /* ACC8F8 80055758 8448002C */ lh $t0, 0x2c($v0) /* ACC8FC 8005575C 844A0054 */ lh $t2, 0x54($v0) /* ACC900 80055760 03284821 */ addu $t1, $t9, $t0 /* ACC904 80055764 012A5821 */ addu $t3, $t1, $t2 /* ACC908 80055768 100000EA */ b .L80055B14 /* ACC90C 8005576C A60B0160 */ sh $t3, 0x160($s0) /* ACC910 80055770 2401000A */ li $at, 10 .L80055774: /* ACC914 80055774 14610090 */ bne $v1, $at, .L800559B8 /* ACC918 80055778 C7A00088 */ lwc1 $f0, 0x88($sp) /* ACC91C 8005577C 860C0160 */ lh $t4, 0x160($s0) /* ACC920 80055780 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012 /* ACC924 80055784 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac /* ACC928 80055788 258DFFFB */ addiu $t5, $t4, -5 /* ACC92C 8005578C A4ED0004 */ sh $t5, 4($a3) /* ACC930 80055790 A7A0004A */ sh $zero, 0x4a($sp) /* ACC934 80055794 8E0500A8 */ lw $a1, 0xa8($s0) /* ACC938 80055798 8E04008C */ lw $a0, 0x8c($s0) /* ACC93C 8005579C 0C03034D */ jal func_800C0D34 /* ACC940 800557A0 27A6004A */ addiu $a2, $sp, 0x4a /* ACC944 800557A4 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012 /* ACC948 800557A8 14400014 */ bnez $v0, .L800557FC /* ACC94C 800557AC 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac /* ACC950 800557B0 3C048014 */ lui $a0, %hi(D_801396D4) /* ACC954 800557B4 0C00084C */ jal osSyncPrintf /* ACC958 800557B8 248496D4 */ addiu $a0, %lo(D_801396D4) # addiu $a0, $a0, -0x692c /* ACC95C 800557BC 8E0E00A8 */ lw $t6, 0xa8($s0) /* ACC960 800557C0 87AF008E */ lh $t7, 0x8e($sp) /* ACC964 800557C4 3C078012 */ lui $a3, %hi(D_8011D954) /* ACC968 800557C8 85C400B6 */ lh $a0, 0xb6($t6) /* ACC96C 800557CC 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac /* ACC970 800557D0 01E41823 */ subu $v1, $t7, $a0 /* ACC974 800557D4 04600003 */ bltz $v1, .L800557E4 /* ACC978 800557D8 00031023 */ negu $v0, $v1 /* ACC97C 800557DC 10000001 */ b .L800557E4 /* ACC980 800557E0 00601025 */ move $v0, $v1 .L800557E4: /* ACC984 800557E4 28414000 */ slti $at, $v0, 0x4000 /* ACC988 800557E8 14200003 */ bnez $at, .L800557F8 /* ACC98C 800557EC 24988001 */ addiu $t8, $a0, -0x7fff /* ACC990 800557F0 10000002 */ b .L800557FC /* ACC994 800557F4 A7A4004A */ sh $a0, 0x4a($sp) .L800557F8: /* ACC998 800557F8 A7B8004A */ sh $t8, 0x4a($sp) .L800557FC: /* ACC99C 800557FC 8E0800A8 */ lw $t0, 0xa8($s0) /* ACC9A0 80055800 87B9004A */ lh $t9, 0x4a($sp) /* ACC9A4 80055804 87A5004A */ lh $a1, 0x4a($sp) /* ACC9A8 80055808 850900B6 */ lh $t1, 0xb6($t0) /* ACC9AC 8005580C 3C014334 */ li $at, 0x43340000 # 0.000000 /* ACC9B0 80055810 57290005 */ bnel $t9, $t1, .L80055828 /* ACC9B4 80055814 44800000 */ mtc1 $zero, $f0 /* ACC9B8 80055818 44810000 */ mtc1 $at, $f0 /* ACC9BC 8005581C 10000004 */ b .L80055830 /* ACC9C0 80055820 87AA008E */ lh $t2, 0x8e($sp) /* ACC9C4 80055824 44800000 */ mtc1 $zero, $f0 .L80055828: /* ACC9C8 80055828 00000000 */ nop /* ACC9CC 8005582C 87AA008E */ lh $t2, 0x8e($sp) .L80055830: /* ACC9D0 80055830 E4E0003C */ swc1 $f0, 0x3c($a3) /* ACC9D4 80055834 E4E00020 */ swc1 $f0, 0x20($a3) /* ACC9D8 80055838 01455823 */ subu $t3, $t2, $a1 /* ACC9DC 8005583C 000B6400 */ sll $t4, $t3, 0x10 /* ACC9E0 80055840 000C6C03 */ sra $t5, $t4, 0x10 /* ACC9E4 80055844 05A10005 */ bgez $t5, .L8005585C /* ACC9E8 80055848 E4E00014 */ swc1 $f0, 0x14($a3) /* ACC9EC 8005584C 3C0141A0 */ li $at, 0x41A00000 # 0.000000 /* ACC9F0 80055850 44816000 */ mtc1 $at, $f12 /* ACC9F4 80055854 10000004 */ b .L80055868 /* ACC9F8 80055858 00000000 */ nop .L8005585C: /* ACC9FC 8005585C 3C01C1A0 */ li $at, 0xC1A00000 # 0.000000 /* ACCA00 80055860 44816000 */ mtc1 $at, $f12 /* ACCA04 80055864 00000000 */ nop .L80055868: /* ACCA08 80055868 0C03F66B */ jal Math_Rand_ZeroOne /* ACCA0C 8005586C E7AC0030 */ swc1 $f12, 0x30($sp) /* ACCA10 80055870 C7AC0030 */ lwc1 $f12, 0x30($sp) /* ACCA14 80055874 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012 /* ACCA18 80055878 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac /* ACCA1C 8005587C 460C0082 */ mul.s $f2, $f0, $f12 /* ACCA20 80055880 C4F00020 */ lwc1 $f16, 0x20($a3) /* ACCA24 80055884 46028480 */ add.s $f18, $f16, $f2 /* ACCA28 80055888 E7A20090 */ swc1 $f2, 0x90($sp) /* ACCA2C 8005588C 0C03F66B */ jal Math_Rand_ZeroOne /* ACCA30 80055890 E4F20020 */ swc1 $f18, 0x20($a3) /* ACCA34 80055894 3C018014 */ lui $at, %hi(D_8013A360) /* ACCA38 80055898 C426A360 */ lwc1 $f6, %lo(D_8013A360)($at) /* ACCA3C 8005589C C7A40090 */ lwc1 $f4, 0x90($sp) /* ACCA40 800558A0 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012 /* ACCA44 800558A4 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac /* ACCA48 800558A8 46062202 */ mul.s $f8, $f4, $f6 /* ACCA4C 800558AC 27A40050 */ addiu $a0, $sp, 0x50 /* ACCA50 800558B0 46080282 */ mul.s $f10, $f0, $f8 /* ACCA54 800558B4 4600540D */ trunc.w.s $f16, $f10 /* ACCA58 800558B8 44028000 */ mfc1 $v0, $f16 /* ACCA5C 800558BC 00000000 */ nop /* ACCA60 800558C0 A4E2002E */ sh $v0, 0x2e($a3) /* ACCA64 800558C4 A4E20006 */ sh $v0, 6($a3) /* ACCA68 800558C8 0C00BBB9 */ jal func_8002EEE4 /* ACCA6C 800558CC 8E0500A8 */ lw $a1, 0xa8($s0) /* ACCA70 800558D0 87A5004A */ lh $a1, 0x4a($sp) /* ACCA74 800558D4 24A48001 */ addiu $a0, $a1, -0x7fff /* ACCA78 800558D8 00042400 */ sll $a0, $a0, 0x10 /* ACCA7C 800558DC 0C01DE1C */ jal Math_Sins /* ACCA80 800558E0 00042403 */ sra $a0, $a0, 0x10 /* ACCA84 800558E4 3C014248 */ li $at, 0x42480000 # 0.000000 /* ACCA88 800558E8 44812000 */ mtc1 $at, $f4 /* ACCA8C 800558EC C7B20050 */ lwc1 $f18, 0x50($sp) /* ACCA90 800558F0 87A5004A */ lh $a1, 0x4a($sp) /* ACCA94 800558F4 46002182 */ mul.s $f6, $f4, $f0 /* ACCA98 800558F8 24A48001 */ addiu $a0, $a1, -0x7fff /* ACCA9C 800558FC 00042400 */ sll $a0, $a0, 0x10 /* ACCAA0 80055900 00042403 */ sra $a0, $a0, 0x10 /* ACCAA4 80055904 46069200 */ add.s $f8, $f18, $f6 /* ACCAA8 80055908 0C01DE0D */ jal Math_Coss /* ACCAAC 8005590C E7A80050 */ swc1 $f8, 0x50($sp) /* ACCAB0 80055910 3C014248 */ li $at, 0x42480000 # 0.000000 /* ACCAB4 80055914 44818000 */ mtc1 $at, $f16 /* ACCAB8 80055918 C7AA0058 */ lwc1 $f10, 0x58($sp) /* ACCABC 8005591C 02002025 */ move $a0, $s0 /* ACCAC0 80055920 46008102 */ mul.s $f4, $f16, $f0 /* ACCAC4 80055924 27A50064 */ addiu $a1, $sp, 0x64 /* ACCAC8 80055928 27A60050 */ addiu $a2, $sp, 0x50 /* ACCACC 8005592C 46045480 */ add.s $f18, $f10, $f4 /* ACCAD0 80055930 0C010FCD */ jal func_80043F34 /* ACCAD4 80055934 E7B20058 */ swc1 $f18, 0x58($sp) /* ACCAD8 80055938 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012 /* ACCADC 8005593C 10400006 */ beqz $v0, .L80055958 /* ACCAE0 80055940 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac /* ACCAE4 80055944 240F00C1 */ li $t7, 193 /* ACCAE8 80055948 2418008F */ li $t8, 143 /* ACCAEC 8005594C A0EF0028 */ sb $t7, 0x28($a3) /* ACCAF0 80055950 1000000A */ b .L8005597C /* ACCAF4 80055954 A0F80050 */ sb $t8, 0x50($a3) .L80055958: /* ACCAF8 80055958 3C018014 */ lui $at, %hi(D_8013A364) /* ACCAFC 8005595C C428A364 */ lwc1 $f8, %lo(D_8013A364)($at) /* ACCB00 80055960 C7A60094 */ lwc1 $f6, 0x94($sp) /* ACCB04 80055964 46083402 */ mul.s $f16, $f6, $f8 /* ACCB08 80055968 4600828D */ trunc.w.s $f10, $f16 /* ACCB0C 8005596C 440A5000 */ mfc1 $t2, $f10 /* ACCB10 80055970 00000000 */ nop /* ACCB14 80055974 254B0006 */ addiu $t3, $t2, 6 /* ACCB18 80055978 A4EB0054 */ sh $t3, 0x54($a3) .L8005597C: /* ACCB1C 8005597C 860D0162 */ lh $t5, 0x162($s0) /* ACCB20 80055980 240C0004 */ li $t4, 4 /* ACCB24 80055984 AE070004 */ sw $a3, 4($s0) /* ACCB28 80055988 11A00004 */ beqz $t5, .L8005599C /* ACCB2C 8005598C AE0C0000 */ sw $t4, ($s0) /* ACCB30 80055990 258FFFFE */ addiu $t7, $t4, -2 /* ACCB34 80055994 1000005F */ b .L80055B14 /* ACCB38 80055998 AE0F0000 */ sw $t7, ($s0) .L8005599C: /* ACCB3C 8005599C 86180160 */ lh $t8, 0x160($s0) /* ACCB40 800559A0 84E80054 */ lh $t0, 0x54($a3) /* ACCB44 800559A4 84E9007C */ lh $t1, 0x7c($a3) /* ACCB48 800559A8 0308C821 */ addu $t9, $t8, $t0 /* ACCB4C 800559AC 03295021 */ addu $t2, $t9, $t1 /* ACCB50 800559B0 10000058 */ b .L80055B14 /* ACCB54 800559B4 A60A0160 */ sh $t2, 0x160($s0) .L800559B8: /* ACCB58 800559B8 3C014348 */ li $at, 0x43480000 # 0.000000 /* ACCB5C 800559BC 44812000 */ mtc1 $at, $f4 /* ACCB60 800559C0 3C013E80 */ lui $at, 0x3e80 /* ACCB64 800559C4 4604003C */ c.lt.s $f0, $f4 /* ACCB68 800559C8 00000000 */ nop /* ACCB6C 800559CC 45020008 */ bc1fl .L800559F0 /* ACCB70 800559D0 3C0143C8 */ li $at, 0x43C80000 # 0.000000 /* ACCB74 800559D4 44819000 */ mtc1 $at, $f18 /* ACCB78 800559D8 3C038012 */ lui $v1, %hi(D_8011D9F4) # $v1, 0x8012 /* ACCB7C 800559DC 2463D9F4 */ addiu $v1, %lo(D_8011D9F4) # addiu $v1, $v1, -0x260c /* ACCB80 800559E0 46120182 */ mul.s $f6, $f0, $f18 /* ACCB84 800559E4 E4600024 */ swc1 $f0, 0x24($v1) /* ACCB88 800559E8 E4660018 */ swc1 $f6, 0x18($v1) /* ACCB8C 800559EC 3C0143C8 */ li $at, 0x43C80000 # 0.000000 .L800559F0: /* ACCB90 800559F0 44814000 */ mtc1 $at, $f8 /* ACCB94 800559F4 00000000 */ nop /* ACCB98 800559F8 4608003C */ c.lt.s $f0, $f8 /* ACCB9C 800559FC 00000000 */ nop /* ACCBA0 80055A00 45000009 */ bc1f .L80055A28 /* ACCBA4 80055A04 00000000 */ nop /* ACCBA8 80055A08 0C03F66B */ jal Math_Rand_ZeroOne /* ACCBAC 80055A0C 00000000 */ nop /* ACCBB0 80055A10 3C0141C8 */ li $at, 0x41C80000 # 0.000000 /* ACCBB4 80055A14 44818000 */ mtc1 $at, $f16 /* ACCBB8 80055A18 3C038012 */ lui $v1, %hi(D_8011D9F4) # $v1, 0x8012 /* ACCBBC 80055A1C 2463D9F4 */ addiu $v1, %lo(D_8011D9F4) # addiu $v1, $v1, -0x260c /* ACCBC0 80055A20 46100282 */ mul.s $f10, $f0, $f16 /* ACCBC4 80055A24 E46A001C */ swc1 $f10, 0x1c($v1) .L80055A28: /* ACCBC8 80055A28 0C00B721 */ jal func_8002DC84 /* ACCBCC 80055A2C 8E040090 */ lw $a0, 0x90($s0) /* ACCBD0 80055A30 860B0160 */ lh $t3, 0x160($s0) /* ACCBD4 80055A34 3C038012 */ lui $v1, %hi(D_8011D9F4) # $v1, 0x8012 /* ACCBD8 80055A38 2463D9F4 */ addiu $v1, %lo(D_8011D9F4) # addiu $v1, $v1, -0x260c /* ACCBDC 80055A3C A46B0004 */ sh $t3, 4($v1) /* ACCBE0 80055A40 8E0500A8 */ lw $a1, 0xa8($s0) /* ACCBE4 80055A44 0C00BBB9 */ jal func_8002EEE4 /* ACCBE8 80055A48 27A40050 */ addiu $a0, $sp, 0x50 /* ACCBEC 80055A4C 02002025 */ move $a0, $s0 /* ACCBF0 80055A50 27A50064 */ addiu $a1, $sp, 0x64 /* ACCBF4 80055A54 0C010FCD */ jal func_80043F34 /* ACCBF8 80055A58 27A60050 */ addiu $a2, $sp, 0x50 /* ACCBFC 80055A5C 3C038012 */ lui $v1, %hi(D_8011D9F4) # $v1, 0x8012 /* ACCC00 80055A60 10400006 */ beqz $v0, .L80055A7C /* ACCC04 80055A64 2463D9F4 */ addiu $v1, %lo(D_8011D9F4) # addiu $v1, $v1, -0x260c /* ACCC08 80055A68 240C0004 */ li $t4, 4 /* ACCC0C 80055A6C 240D008F */ li $t5, 143 /* ACCC10 80055A70 A46C002C */ sh $t4, 0x2c($v1) /* ACCC14 80055A74 1000000A */ b .L80055AA0 /* ACCC18 80055A78 A06D0028 */ sb $t5, 0x28($v1) .L80055A7C: /* ACCC1C 80055A7C 3C018014 */ lui $at, %hi(D_8013A368) /* ACCC20 80055A80 C432A368 */ lwc1 $f18, %lo(D_8013A368)($at) /* ACCC24 80055A84 C7A40094 */ lwc1 $f4, 0x94($sp) /* ACCC28 80055A88 46122182 */ mul.s $f6, $f4, $f18 /* ACCC2C 80055A8C 4600320D */ trunc.w.s $f8, $f6 /* ACCC30 80055A90 44084000 */ mfc1 $t0, $f8 /* ACCC34 80055A94 00000000 */ nop /* ACCC38 80055A98 25190008 */ addiu $t9, $t0, 8 /* ACCC3C 80055A9C A479002C */ sh $t9, 0x2c($v1) .L80055AA0: /* ACCC40 80055AA0 860A0162 */ lh $t2, 0x162($s0) /* ACCC44 80055AA4 24090003 */ li $t1, 3 /* ACCC48 80055AA8 AE030004 */ sw $v1, 4($s0) /* ACCC4C 80055AAC 11400010 */ beqz $t2, .L80055AF0 /* ACCC50 80055AB0 AE090000 */ sw $t1, ($s0) /* ACCC54 80055AB4 8E0B008C */ lw $t3, 0x8c($s0) /* ACCC58 80055AB8 8D6C009C */ lw $t4, 0x9c($t3) /* ACCC5C 80055ABC 318D0001 */ andi $t5, $t4, 1 /* ACCC60 80055AC0 51A00008 */ beql $t5, $zero, .L80055AE4 /* ACCC64 80055AC4 8E190000 */ lw $t9, ($s0) /* ACCC68 80055AC8 846E0006 */ lh $t6, 6($v1) /* ACCC6C 80055ACC 8478002E */ lh $t8, 0x2e($v1) /* ACCC70 80055AD0 000E7823 */ negu $t7, $t6 /* ACCC74 80055AD4 00184023 */ negu $t0, $t8 /* ACCC78 80055AD8 A46F0006 */ sh $t7, 6($v1) /* ACCC7C 80055ADC A468002E */ sh $t0, 0x2e($v1) /* ACCC80 80055AE0 8E190000 */ lw $t9, ($s0) .L80055AE4: /* ACCC84 80055AE4 2729FFFE */ addiu $t1, $t9, -2 /* ACCC88 80055AE8 1000000A */ b .L80055B14 /* ACCC8C 80055AEC AE090000 */ sw $t1, ($s0) .L80055AF0: /* ACCC90 80055AF0 860A0160 */ lh $t2, 0x160($s0) /* ACCC94 80055AF4 846B002C */ lh $t3, 0x2c($v1) /* ACCC98 80055AF8 846D0054 */ lh $t5, 0x54($v1) /* ACCC9C 80055AFC 014B6021 */ addu $t4, $t2, $t3 /* ACCCA0 80055B00 018D7021 */ addu $t6, $t4, $t5 /* ACCCA4 80055B04 A60E0160 */ sh $t6, 0x160($s0) /* ACCCA8 80055B08 A460002E */ sh $zero, 0x2e($v1) /* ACCCAC 80055B0C 846F002E */ lh $t7, 0x2e($v1) /* ACCCB0 80055B10 A46F0006 */ sh $t7, 6($v1) .L80055B14: /* ACCCB4 80055B14 8E18008C */ lw $t8, 0x8c($s0) /* ACCCB8 80055B18 3C088012 */ lui $t0, %hi(D_8011D6A8) # $t0, 0x8012 /* ACCCBC 80055B1C 8D08D6A8 */ lw $t0, %lo(D_8011D6A8)($t0) /* ACCCC0 80055B20 8F02009C */ lw $v0, 0x9c($t8) /* ACCCC4 80055B24 01021823 */ subu $v1, $t0, $v0 /* ACCCC8 80055B28 28610033 */ slti $at, $v1, 0x33 /* ACCCCC 80055B2C 10200003 */ beqz $at, .L80055B3C /* ACCCD0 80055B30 2861FFCE */ slti $at, $v1, -0x32 /* ACCCD4 80055B34 10200005 */ beqz $at, .L80055B4C /* ACCCD8 80055B38 00000000 */ nop .L80055B3C: /* ACCCDC 80055B3C 0C01E221 */ jal func_80078884 /* ACCCE0 80055B40 9604012A */ lhu $a0, 0x12a($s0) /* ACCCE4 80055B44 8E19008C */ lw $t9, 0x8c($s0) /* ACCCE8 80055B48 8F22009C */ lw $v0, 0x9c($t9) .L80055B4C: /* ACCCEC 80055B4C 3C018012 */ lui $at, %hi(D_8011D6A8) # $at, 0x8012 /* ACCCF0 80055B50 AC22D6A8 */ sw $v0, %lo(D_8011D6A8)($at) /* ACCCF4 80055B54 8E090090 */ lw $t1, 0x90($s0) /* ACCCF8 80055B58 87B80072 */ lh $t8, 0x72($sp) /* ACCCFC 80055B5C 87A8008E */ lh $t0, 0x8e($sp) /* ACCD00 80055B60 8D2A067C */ lw $t2, 0x67c($t1) /* ACCD04 80055B64 8FA2004C */ lw $v0, 0x4c($sp) /* ACCD08 80055B68 0308C823 */ subu $t9, $t8, $t0 /* ACCD0C 80055B6C 000A5900 */ sll $t3, $t2, 4 /* ACCD10 80055B70 0563000D */ bgezl $t3, .L80055BA8 /* ACCD14 80055B74 A7B9004A */ sh $t9, 0x4a($sp) /* ACCD18 80055B78 804C014F */ lb $t4, 0x14f($v0) /* ACCD1C 80055B7C 24010001 */ li $at, 1 /* ACCD20 80055B80 51810009 */ beql $t4, $at, .L80055BA8 /* ACCD24 80055B84 A7B9004A */ sh $t9, 0x4a($sp) /* ACCD28 80055B88 8C4D067C */ lw $t5, 0x67c($v0) /* ACCD2C 80055B8C 3C012000 */ lui $at, 0x2000 /* ACCD30 80055B90 01A17025 */ or $t6, $t5, $at /* ACCD34 80055B94 AC4E067C */ sw $t6, 0x67c($v0) /* ACCD38 80055B98 860F0160 */ lh $t7, 0x160($s0) /* ACCD3C 80055B9C 10000026 */ b .L80055C38 /* ACCD40 80055BA0 A44F0110 */ sh $t7, 0x110($v0) /* ACCD44 80055BA4 A7B9004A */ sh $t9, 0x4a($sp) .L80055BA8: /* ACCD48 80055BA8 8E0500A8 */ lw $a1, 0xa8($s0) /* ACCD4C 80055BAC 24010002 */ li $at, 2 /* ACCD50 80055BB0 8FA2004C */ lw $v0, 0x4c($sp) /* ACCD54 80055BB4 90A90002 */ lbu $t1, 2($a1) /* ACCD58 80055BB8 3C0B8012 */ lui $t3, %hi(D_8011D3F4) # $t3, 0x8012 /* ACCD5C 80055BBC 24060001 */ li $a2, 1 /* ACCD60 80055BC0 1521001B */ bne $t1, $at, .L80055C30 /* ACCD64 80055BC4 00000000 */ nop /* ACCD68 80055BC8 8E04008C */ lw $a0, 0x8c($s0) /* ACCD6C 80055BCC 8C4C067C */ lw $t4, 0x67c($v0) /* ACCD70 80055BD0 8D6BD3F4 */ lw $t3, %lo(D_8011D3F4)($t3) /* ACCD74 80055BD4 8C8A009C */ lw $t2, 0x9c($a0) /* ACCD78 80055BD8 318D0800 */ andi $t5, $t4, 0x800 /* ACCD7C 80055BDC 11A00005 */ beqz $t5, .L80055BF4 /* ACCD80 80055BE0 014B1823 */ subu $v1, $t2, $t3 /* ACCD84 80055BE4 0C00B7D5 */ jal func_8002DF54 /* ACCD88 80055BE8 24060008 */ li $a2, 8 /* ACCD8C 80055BEC 10000013 */ b .L80055C3C /* ACCD90 80055BF0 8E0E008C */ lw $t6, 0x8c($s0) .L80055BF4: /* ACCD94 80055BF4 04600003 */ bltz $v1, .L80055C04 /* ACCD98 80055BF8 00031023 */ negu $v0, $v1 /* ACCD9C 80055BFC 10000001 */ b .L80055C04 /* ACCDA0 80055C00 00601025 */ move $v0, $v1 .L80055C04: /* ACCDA4 80055C04 28410BB9 */ slti $at, $v0, 0xbb9 /* ACCDA8 80055C08 14200005 */ bnez $at, .L80055C20 /* ACCDAC 80055C0C 00000000 */ nop /* ACCDB0 80055C10 0C00B7D5 */ jal func_8002DF54 /* ACCDB4 80055C14 2406000C */ li $a2, 12 /* ACCDB8 80055C18 10000008 */ b .L80055C3C /* ACCDBC 80055C1C 8E0E008C */ lw $t6, 0x8c($s0) .L80055C20: /* ACCDC0 80055C20 0C00B7D5 */ jal func_8002DF54 /* ACCDC4 80055C24 24060045 */ li $a2, 69 /* ACCDC8 80055C28 10000004 */ b .L80055C3C /* ACCDCC 80055C2C 8E0E008C */ lw $t6, 0x8c($s0) .L80055C30: /* ACCDD0 80055C30 0C00B7D5 */ jal func_8002DF54 /* ACCDD4 80055C34 8E04008C */ lw $a0, 0x8c($s0) .L80055C38: /* ACCDD8 80055C38 8E0E008C */ lw $t6, 0x8c($s0) .L80055C3C: /* ACCDDC 80055C3C 3C018012 */ lui $at, %hi(D_8011D3F4) # $at, 0x8012 /* ACCDE0 80055C40 02002025 */ move $a0, $s0 /* ACCDE4 80055C44 8DCF009C */ lw $t7, 0x9c($t6) /* ACCDE8 80055C48 2405003C */ li $a1, 60 /* ACCDEC 80055C4C 24060005 */ li $a2, 5 /* ACCDF0 80055C50 0C016952 */ jal func_8005A548 /* ACCDF4 80055C54 AC2FD3F4 */ sw $t7, %lo(D_8011D3F4)($at) /* ACCDF8 80055C58 0C014B83 */ jal func_80052E0C /* ACCDFC 80055C5C 02002025 */ move $a0, $s0 /* ACCE00 80055C60 24020001 */ li $v0, 1 .L80055C64: /* ACCE04 80055C64 8FBF001C */ lw $ra, 0x1c($sp) /* ACCE08 80055C68 8FB00018 */ lw $s0, 0x18($sp) /* ACCE0C 80055C6C 27BD0098 */ addiu $sp, $sp, 0x98 /* ACCE10 80055C70 03E00008 */ jr $ra /* ACCE14 80055C74 00000000 */ nop # SPLIT /* ACCE18 80055C78 27BDFF88 */ addiu $sp, $sp, -0x78 /* ACCE1C 80055C7C AFB00020 */ sw $s0, 0x20($sp) /* ACCE20 80055C80 00808025 */ move $s0, $a0 /* ACCE24 80055C84 AFBF0024 */ sw $ra, 0x24($sp) /* ACCE28 80055C88 8C84008C */ lw $a0, 0x8c($a0) /* ACCE2C 80055C8C 0C030129 */ jal func_800C04A4 /* ACCE30 80055C90 00002825 */ move $a1, $zero /* ACCE34 80055C94 AFA20074 */ sw $v0, 0x74($sp) /* ACCE38 80055C98 8E0E00A8 */ lw $t6, 0xa8($s0) /* ACCE3C 80055C9C 240F0037 */ li $t7, 55 /* ACCE40 80055CA0 24180046 */ li $t8, 70 /* ACCE44 80055CA4 2419005A */ li $t9, 90 /* ACCE48 80055CA8 A7AF0042 */ sh $t7, 0x42($sp) /* ACCE4C 80055CAC A7B80044 */ sh $t8, 0x44($sp) /* ACCE50 80055CB0 A7B90046 */ sh $t9, 0x46($sp) /* ACCE54 80055CB4 AFAE005C */ sw $t6, 0x5c($sp) /* ACCE58 80055CB8 8603015E */ lh $v1, 0x15e($s0) /* ACCE5C 80055CBC 2401000A */ li $at, 10 /* ACCE60 80055CC0 5060000A */ beql $v1, $zero, .L80055CEC /* ACCE64 80055CC4 860A0142 */ lh $t2, 0x142($s0) /* ACCE68 80055CC8 10610007 */ beq $v1, $at, .L80055CE8 /* ACCE6C 80055CCC 24010014 */ li $at, 20 /* ACCE70 80055CD0 10610005 */ beq $v1, $at, .L80055CE8 /* ACCE74 80055CD4 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016 /* ACCE78 80055CD8 8D29FA90 */ lw $t1, %lo(gGameInfo)($t1) /* ACCE7C 80055CDC 85220314 */ lh $v0, 0x314($t1) /* ACCE80 80055CE0 1040000F */ beqz $v0, .L80055D20 /* ACCE84 80055CE4 00000000 */ nop .L80055CE8: /* ACCE88 80055CE8 860A0142 */ lh $t2, 0x142($s0) .L80055CEC: /* ACCE8C 80055CEC 3C0C8012 */ lui $t4, %hi(D_8011D068) /* ACCE90 80055CF0 860D0144 */ lh $t5, 0x144($s0) /* ACCE94 80055CF4 000A58C0 */ sll $t3, $t2, 3 /* ACCE98 80055CF8 018B6021 */ addu $t4, $t4, $t3 /* ACCE9C 80055CFC 8D8CD068 */ lw $t4, %lo(D_8011D068)($t4) /* ACCEA0 80055D00 000D70C0 */ sll $t6, $t5, 3 /* ACCEA4 80055D04 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016 /* ACCEA8 80055D08 018E7821 */ addu $t7, $t4, $t6 /* ACCEAC 80055D0C 8DE30004 */ lw $v1, 4($t7) /* ACCEB0 80055D10 84780000 */ lh $t8, ($v1) /* ACCEB4 80055D14 A6180000 */ sh $t8, ($s0) /* ACCEB8 80055D18 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9) /* ACCEBC 80055D1C 87220314 */ lh $v0, 0x314($t9) .L80055D20: /* ACCEC0 80055D20 50400004 */ beql $v0, $zero, .L80055D34 /* ACCEC4 80055D24 8603015E */ lh $v1, 0x15e($s0) /* ACCEC8 80055D28 0C011495 */ jal func_80045254 /* ACCECC 80055D2C 02002025 */ move $a0, $s0 /* ACCED0 80055D30 8603015E */ lh $v1, 0x15e($s0) .L80055D34: /* ACCED4 80055D34 3C014270 */ li $at, 0x42700000 # 0.000000 /* ACCED8 80055D38 1060000A */ beqz $v1, .L80055D64 /* ACCEDC 80055D3C 00601025 */ move $v0, $v1 /* ACCEE0 80055D40 24010001 */ li $at, 1 /* ACCEE4 80055D44 10610031 */ beq $v1, $at, .L80055E0C /* ACCEE8 80055D48 24010002 */ li $at, 2 /* ACCEEC 80055D4C 1041004C */ beq $v0, $at, .L80055E80 /* ACCEF0 80055D50 24010003 */ li $at, 3 /* ACCEF4 80055D54 10410061 */ beq $v0, $at, .L80055EDC /* ACCEF8 80055D58 26080004 */ addiu $t0, $s0, 4 /* ACCEFC 80055D5C 10000076 */ b .L80055F38 /* ACCF00 80055D60 85020000 */ lh $v0, ($t0) .L80055D64: /* ACCF04 80055D64 44812000 */ mtc1 $at, $f4 /* ACCF08 80055D68 A6000004 */ sh $zero, 4($s0) /* ACCF0C 80055D6C 27A40048 */ addiu $a0, $sp, 0x48 /* ACCF10 80055D70 E60400FC */ swc1 $f4, 0xfc($s0) /* ACCF14 80055D74 0C00BBC5 */ jal func_8002EF14 /* ACCF18 80055D78 8FA5005C */ lw $a1, 0x5c($sp) /* ACCF1C 80055D7C C7A60048 */ lwc1 $f6, 0x48($sp) /* ACCF20 80055D80 3C0141A0 */ li $at, 0x41A00000 # 0.000000 /* ACCF24 80055D84 44815000 */ mtc1 $at, $f10 /* ACCF28 80055D88 E6060050 */ swc1 $f6, 0x50($s0) /* ACCF2C 80055D8C C7A8004C */ lwc1 $f8, 0x4c($sp) /* ACCF30 80055D90 3C014348 */ li $at, 0x43480000 # 0.000000 /* ACCF34 80055D94 44812000 */ mtc1 $at, $f4 /* ACCF38 80055D98 460A4400 */ add.s $f16, $f8, $f10 /* ACCF3C 80055D9C 27A40048 */ addiu $a0, $sp, 0x48 /* ACCF40 80055DA0 E6100054 */ swc1 $f16, 0x54($s0) /* ACCF44 80055DA4 C7B20050 */ lwc1 $f18, 0x50($sp) /* ACCF48 80055DA8 E6120058 */ swc1 $f18, 0x58($s0) /* ACCF4C 80055DAC 8FA50074 */ lw $a1, 0x74($sp) /* ACCF50 80055DB0 E7A40060 */ swc1 $f4, 0x60($sp) /* ACCF54 80055DB4 0C01129D */ jal func_80044A74 /* ACCF58 80055DB8 24A50094 */ addiu $a1, $a1, 0x94 /* ACCF5C 80055DBC 244907D0 */ addiu $t1, $v0, 0x7d0 /* ACCF60 80055DC0 240AFC18 */ li $t2, -1000 /* ACCF64 80055DC4 26040074 */ addiu $a0, $s0, 0x74 /* ACCF68 80055DC8 A7A90066 */ sh $t1, 0x66($sp) /* ACCF6C 80055DCC A7AA0064 */ sh $t2, 0x64($sp) /* ACCF70 80055DD0 AFA40034 */ sw $a0, 0x34($sp) /* ACCF74 80055DD4 26050050 */ addiu $a1, $s0, 0x50 /* ACCF78 80055DD8 0C010F0A */ jal func_80043C28 /* ACCF7C 80055DDC 27A60060 */ addiu $a2, $sp, 0x60 /* ACCF80 80055DE0 8FA40034 */ lw $a0, 0x34($sp) /* ACCF84 80055DE4 860C015E */ lh $t4, 0x15e($s0) /* ACCF88 80055DE8 8C8D0000 */ lw $t5, ($a0) /* ACCF8C 80055DEC 258E0001 */ addiu $t6, $t4, 1 /* ACCF90 80055DF0 AE0D005C */ sw $t5, 0x5c($s0) /* ACCF94 80055DF4 8C8B0004 */ lw $t3, 4($a0) /* ACCF98 80055DF8 AE0B0060 */ sw $t3, 0x60($s0) /* ACCF9C 80055DFC 8C8D0008 */ lw $t5, 8($a0) /* ACCFA0 80055E00 A60E015E */ sh $t6, 0x15e($s0) /* ACCFA4 80055E04 8603015E */ lh $v1, 0x15e($s0) /* ACCFA8 80055E08 AE0D0064 */ sw $t5, 0x64($s0) .L80055E0C: /* ACCFAC 80055E0C 00037840 */ sll $t7, $v1, 1 /* ACCFB0 80055E10 03AFC021 */ addu $t8, $sp, $t7 /* ACCFB4 80055E14 26080004 */ addiu $t0, $s0, 4 /* ACCFB8 80055E18 85020000 */ lh $v0, ($t0) /* ACCFBC 80055E1C 87180040 */ lh $t8, 0x40($t8) /* ACCFC0 80055E20 24060008 */ li $a2, 8 /* ACCFC4 80055E24 0302082A */ slt $at, $t8, $v0 /* ACCFC8 80055E28 50200044 */ beql $at, $zero, .L80055F3C /* ACCFCC 80055E2C 24580001 */ addiu $t8, $v0, 1 /* ACCFD0 80055E30 8E04008C */ lw $a0, 0x8c($s0) /* ACCFD4 80055E34 8E050090 */ lw $a1, 0x90($s0) /* ACCFD8 80055E38 0C00B7D5 */ jal func_8002DF54 /* ACCFDC 80055E3C AFA80034 */ sw $t0, 0x34($sp) /* ACCFE0 80055E40 27A40048 */ addiu $a0, $sp, 0x48 /* ACCFE4 80055E44 0C00BBC5 */ jal func_8002EF14 /* ACCFE8 80055E48 8FA5005C */ lw $a1, 0x5c($sp) /* ACCFEC 80055E4C 8FA80034 */ lw $t0, 0x34($sp) /* ACCFF0 80055E50 C7A60048 */ lwc1 $f6, 0x48($sp) /* ACCFF4 80055E54 3C0141A0 */ li $at, 0x41A00000 # 0.000000 /* ACCFF8 80055E58 44815000 */ mtc1 $at, $f10 /* ACCFFC 80055E5C E5060004 */ swc1 $f6, 4($t0) /* ACD000 80055E60 C7A8004C */ lwc1 $f8, 0x4c($sp) /* ACD004 80055E64 460A4401 */ sub.s $f16, $f8, $f10 /* ACD008 80055E68 E5100008 */ swc1 $f16, 8($t0) /* ACD00C 80055E6C C7B20050 */ lwc1 $f18, 0x50($sp) /* ACD010 80055E70 E512000C */ swc1 $f18, 0xc($t0) /* ACD014 80055E74 8619015E */ lh $t9, 0x15e($s0) /* ACD018 80055E78 27290001 */ addiu $t1, $t9, 1 /* ACD01C 80055E7C A609015E */ sh $t1, 0x15e($s0) .L80055E80: /* ACD020 80055E80 3C018014 */ lui $at, %hi(D_8013A36C) /* ACD024 80055E84 C420A36C */ lwc1 $f0, %lo(D_8013A36C)($at) /* ACD028 80055E88 3C014100 */ li $at, 0x41000000 # 0.000000 /* ACD02C 80055E8C 44812000 */ mtc1 $at, $f4 /* ACD030 80055E90 26080004 */ addiu $t0, $s0, 4 /* ACD034 80055E94 44060000 */ mfc1 $a2, $f0 /* ACD038 80055E98 44070000 */ mfc1 $a3, $f0 /* ACD03C 80055E9C 25040004 */ addiu $a0, $t0, 4 /* ACD040 80055EA0 AFA80034 */ sw $t0, 0x34($sp) /* ACD044 80055EA4 26050050 */ addiu $a1, $s0, 0x50 /* ACD048 80055EA8 0C010E8F */ jal func_80043A3C /* ACD04C 80055EAC E7A40010 */ swc1 $f4, 0x10($sp) /* ACD050 80055EB0 8603015E */ lh $v1, 0x15e($s0) /* ACD054 80055EB4 8FA80034 */ lw $t0, 0x34($sp) /* ACD058 80055EB8 00035040 */ sll $t2, $v1, 1 /* ACD05C 80055EBC 03AA5821 */ addu $t3, $sp, $t2 /* ACD060 80055EC0 856B0040 */ lh $t3, 0x40($t3) /* ACD064 80055EC4 85020000 */ lh $v0, ($t0) /* ACD068 80055EC8 246D0001 */ addiu $t5, $v1, 1 /* ACD06C 80055ECC 0162082A */ slt $at, $t3, $v0 /* ACD070 80055ED0 5020001A */ beql $at, $zero, .L80055F3C /* ACD074 80055ED4 24580001 */ addiu $t8, $v0, 1 /* ACD078 80055ED8 A60D015E */ sh $t5, 0x15e($s0) .L80055EDC: /* ACD07C 80055EDC 3C014248 */ li $at, 0x42480000 # 0.000000 /* ACD080 80055EE0 44816000 */ mtc1 $at, $f12 /* ACD084 80055EE4 C60E00FC */ lwc1 $f14, 0xfc($s0) /* ACD088 80055EE8 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c /* ACD08C 80055EEC 3C073C23 */ lui $a3, (0x3C23D70A >> 16) # lui $a3, 0x3c23 /* ACD090 80055EF0 26080004 */ addiu $t0, $s0, 4 /* ACD094 80055EF4 AFA80034 */ sw $t0, 0x34($sp) /* ACD098 80055EF8 34E7D70A */ ori $a3, (0x3C23D70A & 0xFFFF) # ori $a3, $a3, 0xd70a /* ACD09C 80055EFC 0C010E27 */ jal func_8004389C /* ACD0A0 80055F00 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd /* ACD0A4 80055F04 860C015E */ lh $t4, 0x15e($s0) /* ACD0A8 80055F08 8FA80034 */ lw $t0, 0x34($sp) /* ACD0AC 80055F0C E60000FC */ swc1 $f0, 0xfc($s0) /* ACD0B0 80055F10 000C7040 */ sll $t6, $t4, 1 /* ACD0B4 80055F14 03AE7821 */ addu $t7, $sp, $t6 /* ACD0B8 80055F18 85EF0040 */ lh $t7, 0x40($t7) /* ACD0BC 80055F1C 85020000 */ lh $v0, ($t0) /* ACD0C0 80055F20 01E2082A */ slt $at, $t7, $v0 /* ACD0C4 80055F24 50200005 */ beql $at, $zero, .L80055F3C /* ACD0C8 80055F28 24580001 */ addiu $t8, $v0, 1 /* ACD0CC 80055F2C A6000160 */ sh $zero, 0x160($s0) /* ACD0D0 80055F30 10000007 */ b .L80055F50 /* ACD0D4 80055F34 24020001 */ li $v0, 1 .L80055F38: /* ACD0D8 80055F38 24580001 */ addiu $t8, $v0, 1 .L80055F3C: /* ACD0DC 80055F3C A5180000 */ sh $t8, ($t0) /* ACD0E0 80055F40 8FA5005C */ lw $a1, 0x5c($sp) /* ACD0E4 80055F44 0C00BBC5 */ jal func_8002EF14 /* ACD0E8 80055F48 27A40048 */ addiu $a0, $sp, 0x48 /* ACD0EC 80055F4C 24020001 */ li $v0, 1 .L80055F50: /* ACD0F0 80055F50 8FBF0024 */ lw $ra, 0x24($sp) /* ACD0F4 80055F54 8FB00020 */ lw $s0, 0x20($sp) /* ACD0F8 80055F58 27BD0078 */ addiu $sp, $sp, 0x78 /* ACD0FC 80055F5C 03E00008 */ jr $ra /* ACD100 80055F60 00000000 */ nop # SPLIT /* ACD104 80055F64 8482015E */ lh $v0, 0x15e($a0) /* ACD108 80055F68 14400009 */ bnez $v0, .L80055F90 /* ACD10C 80055F6C 00000000 */ nop /* ACD110 80055F70 848E014C */ lh $t6, 0x14c($a0) /* ACD114 80055F74 24480001 */ addiu $t0, $v0, 1 /* ACD118 80055F78 A488015E */ sh $t0, 0x15e($a0) /* ACD11C 80055F7C 31CFFFFB */ andi $t7, $t6, 0xfffb /* ACD120 80055F80 A48F014C */ sh $t7, 0x14c($a0) /* ACD124 80055F84 8498014C */ lh $t8, 0x14c($a0) /* ACD128 80055F88 37191000 */ ori $t9, $t8, 0x1000 /* ACD12C 80055F8C A499014C */ sh $t9, 0x14c($a0) .L80055F90: /* ACD130 80055F90 03E00008 */ jr $ra /* ACD134 80055F94 00000000 */ nop # SPLIT /* ACD138 80055F98 27BDFFE8 */ addiu $sp, $sp, -0x18 /* ACD13C 80055F9C AFBF0014 */ sw $ra, 0x14($sp) /* ACD140 80055FA0 0C011CE5 */ jal func_80047394 /* ACD144 80055FA4 00000000 */ nop /* ACD148 80055FA8 8FBF0014 */ lw $ra, 0x14($sp) /* ACD14C 80055FAC 27BD0018 */ addiu $sp, $sp, 0x18 /* ACD150 80055FB0 03E00008 */ jr $ra /* ACD154 80055FB4 00000000 */ nop # SPLIT /* ACD158 80055FB8 27BDFF48 */ addiu $sp, $sp, -0xb8 /* ACD15C 80055FBC AFB00020 */ sw $s0, 0x20($sp) /* ACD160 80055FC0 00808025 */ move $s0, $a0 /* ACD164 80055FC4 AFBF0024 */ sw $ra, 0x24($sp) /* ACD168 80055FC8 8C84008C */ lw $a0, 0x8c($a0) /* ACD16C 80055FCC 0C030129 */ jal func_800C04A4 /* ACD170 80055FD0 00002825 */ move $a1, $zero /* ACD174 80055FD4 244E0094 */ addiu $t6, $v0, 0x94 /* ACD178 80055FD8 AFAE0064 */ sw $t6, 0x64($sp) /* ACD17C 80055FDC 8603015E */ lh $v1, 0x15e($s0) /* ACD180 80055FE0 00403025 */ move $a2, $v0 /* ACD184 80055FE4 2401000A */ li $at, 10 /* ACD188 80055FE8 5060000A */ beql $v1, $zero, .L80056014 /* ACD18C 80055FEC 86180142 */ lh $t8, 0x142($s0) /* ACD190 80055FF0 10610007 */ beq $v1, $at, .L80056010 /* ACD194 80055FF4 24010014 */ li $at, 20 /* ACD198 80055FF8 10610005 */ beq $v1, $at, .L80056010 /* ACD19C 80055FFC 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016 /* ACD1A0 80056000 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7) /* ACD1A4 80056004 85E20314 */ lh $v0, 0x314($t7) /* ACD1A8 80056008 1040000F */ beqz $v0, .L80056048 /* ACD1AC 8005600C 00000000 */ nop .L80056010: /* ACD1B0 80056010 86180142 */ lh $t8, 0x142($s0) .L80056014: /* ACD1B4 80056014 3C098012 */ lui $t1, %hi(D_8011D068) /* ACD1B8 80056018 860A0144 */ lh $t2, 0x144($s0) /* ACD1BC 8005601C 0018C8C0 */ sll $t9, $t8, 3 /* ACD1C0 80056020 01394821 */ addu $t1, $t1, $t9 /* ACD1C4 80056024 8D29D068 */ lw $t1, %lo(D_8011D068)($t1) /* ACD1C8 80056028 000A58C0 */ sll $t3, $t2, 3 /* ACD1CC 8005602C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016 /* ACD1D0 80056030 012B6021 */ addu $t4, $t1, $t3 /* ACD1D4 80056034 8D830004 */ lw $v1, 4($t4) /* ACD1D8 80056038 846D0000 */ lh $t5, ($v1) /* ACD1DC 8005603C A60D000C */ sh $t5, 0xc($s0) /* ACD1E0 80056040 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6) /* ACD1E4 80056044 85C20314 */ lh $v0, 0x314($t6) .L80056048: /* ACD1E8 80056048 10400007 */ beqz $v0, .L80056068 /* ACD1EC 8005604C 2603000C */ addiu $v1, $s0, 0xc /* ACD1F0 80056050 02002025 */ move $a0, $s0 /* ACD1F4 80056054 AFA30034 */ sw $v1, 0x34($sp) /* ACD1F8 80056058 0C011495 */ jal func_80045254 /* ACD1FC 8005605C AFA6006C */ sw $a2, 0x6c($sp) /* ACD200 80056060 8FA30034 */ lw $v1, 0x34($sp) /* ACD204 80056064 8FA6006C */ lw $a2, 0x6c($sp) .L80056068: /* ACD208 80056068 846F0000 */ lh $t7, ($v1) /* ACD20C 8005606C 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACD210 80056070 AC2FD3A0 */ sw $t7, %lo(D_8011D3A0)($at) /* ACD214 80056074 9618015E */ lhu $t8, 0x15e($s0) /* ACD218 80056078 2F010005 */ sltiu $at, $t8, 5 /* ACD21C 8005607C 102000E7 */ beqz $at, .L8005641C /* ACD220 80056080 0018C080 */ sll $t8, $t8, 2 /* ACD224 80056084 3C018014 */ lui $at, %hi(jtbl_8013A370) /* ACD228 80056088 00380821 */ addu $at, $at, $t8 /* ACD22C 8005608C 8C38A370 */ lw $t8, %lo(jtbl_8013A370)($at) /* ACD230 80056090 03000008 */ jr $t8 /* ACD234 80056094 00000000 */ nop /* ACD238 80056098 44802000 */ mtc1 $zero, $f4 /* ACD23C 8005609C 26080010 */ addiu $t0, $s0, 0x10 /* ACD240 800560A0 A5000004 */ sh $zero, 4($t0) /* ACD244 800560A4 A5000008 */ sh $zero, 8($t0) /* ACD248 800560A8 E5040000 */ swc1 $f4, ($t0) /* ACD24C 800560AC 8619015E */ lh $t9, 0x15e($s0) /* ACD250 800560B0 272A0001 */ addiu $t2, $t9, 1 /* ACD254 800560B4 A60A015E */ sh $t2, 0x15e($s0) /* ACD258 800560B8 A5000006 */ sh $zero, 6($t0) /* ACD25C 800560BC 86020008 */ lh $v0, 8($s0) /* ACD260 800560C0 3042F000 */ andi $v0, $v0, 0xf000 /* ACD264 800560C4 50400006 */ beql $v0, $zero, .L800560E0 /* ACD268 800560C8 860C000A */ lh $t4, 0xa($s0) /* ACD26C 800560CC A5020008 */ sh $v0, 8($t0) /* ACD270 800560D0 86090008 */ lh $t1, 8($s0) /* ACD274 800560D4 312B0FFF */ andi $t3, $t1, 0xfff /* ACD278 800560D8 A60B0008 */ sh $t3, 8($s0) /* ACD27C 800560DC 860C000A */ lh $t4, 0xa($s0) .L800560E0: /* ACD280 800560E0 A50C000A */ sh $t4, 0xa($t0) /* ACD284 800560E4 26080010 */ addiu $t0, $s0, 0x10 /* ACD288 800560E8 850D000A */ lh $t5, 0xa($t0) /* ACD28C 800560EC 25030004 */ addiu $v1, $t0, 4 /* ACD290 800560F0 27A4009C */ addiu $a0, $sp, 0x9c /* ACD294 800560F4 19A0009F */ blez $t5, .L80056374 /* ACD298 800560F8 27A50074 */ addiu $a1, $sp, 0x74 /* ACD29C 800560FC 8E070004 */ lw $a3, 4($s0) /* ACD2A0 80056100 260600FC */ addiu $a2, $s0, 0xfc /* ACD2A4 80056104 AFA60034 */ sw $a2, 0x34($sp) /* ACD2A8 80056108 AFA8002C */ sw $t0, 0x2c($sp) /* ACD2AC 8005610C AFA30030 */ sw $v1, 0x30($sp) /* ACD2B0 80056110 AFA80014 */ sw $t0, 0x14($sp) /* ACD2B4 80056114 0C02ECAD */ jal func_800BB2B4 /* ACD2B8 80056118 AFA30010 */ sw $v1, 0x10($sp) /* ACD2BC 8005611C 8FA30030 */ lw $v1, 0x30($sp) /* ACD2C0 80056120 8FA60034 */ lw $a2, 0x34($sp) /* ACD2C4 80056124 1440000A */ bnez $v0, .L80056150 /* ACD2C8 80056128 8FA8002C */ lw $t0, 0x2c($sp) /* ACD2CC 8005612C 8E070000 */ lw $a3, ($s0) /* ACD2D0 80056130 AFA8002C */ sw $t0, 0x2c($sp) /* ACD2D4 80056134 AFA80014 */ sw $t0, 0x14($sp) /* ACD2D8 80056138 AFA30010 */ sw $v1, 0x10($sp) /* ACD2DC 8005613C 27A40090 */ addiu $a0, $sp, 0x90 /* ACD2E0 80056140 0C02ECAD */ jal func_800BB2B4 /* ACD2E4 80056144 27A50074 */ addiu $a1, $sp, 0x74 /* ACD2E8 80056148 10400003 */ beqz $v0, .L80056158 /* ACD2EC 8005614C 8FA8002C */ lw $t0, 0x2c($sp) .L80056150: /* ACD2F0 80056150 240E0002 */ li $t6, 2 /* ACD2F4 80056154 A60E015E */ sh $t6, 0x15e($s0) .L80056158: /* ACD2F8 80056158 86020008 */ lh $v0, 8($s0) /* ACD2FC 8005615C 24010001 */ li $at, 1 /* ACD300 80056160 8FA40064 */ lw $a0, 0x64($sp) /* ACD304 80056164 1441000C */ bne $v0, $at, .L80056198 /* ACD308 80056168 27A5009C */ addiu $a1, $sp, 0x9c /* ACD30C 8005616C 27A60084 */ addiu $a2, $sp, 0x84 /* ACD310 80056170 0C01511E */ jal func_80054478 /* ACD314 80056174 AFA8002C */ sw $t0, 0x2c($sp) /* ACD318 80056178 8FA40064 */ lw $a0, 0x64($sp) /* ACD31C 8005617C 27A50090 */ addiu $a1, $sp, 0x90 /* ACD320 80056180 0C01511E */ jal func_80054478 /* ACD324 80056184 27A60078 */ addiu $a2, $sp, 0x78 /* ACD328 80056188 8FA8002C */ lw $t0, 0x2c($sp) /* ACD32C 8005618C 2603005C */ addiu $v1, $s0, 0x5c /* ACD330 80056190 10000046 */ b .L800562AC /* ACD334 80056194 26050050 */ addiu $a1, $s0, 0x50 .L80056198: /* ACD338 80056198 24010004 */ li $at, 4 /* ACD33C 8005619C 14410010 */ bne $v0, $at, .L800561E0 /* ACD340 800561A0 27A40050 */ addiu $a0, $sp, 0x50 /* ACD344 800561A4 8E050090 */ lw $a1, 0x90($s0) /* ACD348 800561A8 0C00BBC5 */ jal func_8002EF14 /* ACD34C 800561AC AFA8002C */ sw $t0, 0x2c($sp) /* ACD350 800561B0 27A40050 */ addiu $a0, $sp, 0x50 /* ACD354 800561B4 27A5009C */ addiu $a1, $sp, 0x9c /* ACD358 800561B8 0C01511E */ jal func_80054478 /* ACD35C 800561BC 27A60084 */ addiu $a2, $sp, 0x84 /* ACD360 800561C0 27A40050 */ addiu $a0, $sp, 0x50 /* ACD364 800561C4 27A50090 */ addiu $a1, $sp, 0x90 /* ACD368 800561C8 0C01511E */ jal func_80054478 /* ACD36C 800561CC 27A60078 */ addiu $a2, $sp, 0x78 /* ACD370 800561D0 8FA8002C */ lw $t0, 0x2c($sp) /* ACD374 800561D4 2603005C */ addiu $v1, $s0, 0x5c /* ACD378 800561D8 10000034 */ b .L800562AC /* ACD37C 800561DC 26050050 */ addiu $a1, $s0, 0x50 .L800561E0: /* ACD380 800561E0 24010008 */ li $at, 8 /* ACD384 800561E4 14410028 */ bne $v0, $at, .L80056288 /* ACD388 800561E8 27A4009C */ addiu $a0, $sp, 0x9c /* ACD38C 800561EC 8E0500A8 */ lw $a1, 0xa8($s0) /* ACD390 800561F0 2603005C */ addiu $v1, $s0, 0x5c /* ACD394 800561F4 50A00014 */ beql $a1, $zero, .L80056248 /* ACD398 800561F8 AE0000A8 */ sw $zero, 0xa8($s0) /* ACD39C 800561FC 8CAF0130 */ lw $t7, 0x130($a1) /* ACD3A0 80056200 27A40050 */ addiu $a0, $sp, 0x50 /* ACD3A4 80056204 51E00010 */ beql $t7, $zero, .L80056248 /* ACD3A8 80056208 AE0000A8 */ sw $zero, 0xa8($s0) /* ACD3AC 8005620C 0C00BBC5 */ jal func_8002EF14 /* ACD3B0 80056210 AFA8002C */ sw $t0, 0x2c($sp) /* ACD3B4 80056214 27A40050 */ addiu $a0, $sp, 0x50 /* ACD3B8 80056218 27A5009C */ addiu $a1, $sp, 0x9c /* ACD3BC 8005621C 0C01511E */ jal func_80054478 /* ACD3C0 80056220 27A60084 */ addiu $a2, $sp, 0x84 /* ACD3C4 80056224 27A40050 */ addiu $a0, $sp, 0x50 /* ACD3C8 80056228 27A50090 */ addiu $a1, $sp, 0x90 /* ACD3CC 8005622C 0C01511E */ jal func_80054478 /* ACD3D0 80056230 27A60078 */ addiu $a2, $sp, 0x78 /* ACD3D4 80056234 8FA8002C */ lw $t0, 0x2c($sp) /* ACD3D8 80056238 2603005C */ addiu $v1, $s0, 0x5c /* ACD3DC 8005623C 1000001B */ b .L800562AC /* ACD3E0 80056240 26050050 */ addiu $a1, $s0, 0x50 /* ACD3E4 80056244 AE0000A8 */ sw $zero, 0xa8($s0) .L80056248: /* ACD3E8 80056248 8C6A0000 */ lw $t2, ($v1) /* ACD3EC 8005624C 27B80084 */ addiu $t8, $sp, 0x84 /* ACD3F0 80056250 26050050 */ addiu $a1, $s0, 0x50 /* ACD3F4 80056254 AF0A0000 */ sw $t2, ($t8) /* ACD3F8 80056258 8C790004 */ lw $t9, 4($v1) /* ACD3FC 8005625C 27A90078 */ addiu $t1, $sp, 0x78 /* ACD400 80056260 AF190004 */ sw $t9, 4($t8) /* ACD404 80056264 8C6A0008 */ lw $t2, 8($v1) /* ACD408 80056268 AF0A0008 */ sw $t2, 8($t8) /* ACD40C 8005626C 8CAC0000 */ lw $t4, ($a1) /* ACD410 80056270 AD2C0000 */ sw $t4, ($t1) /* ACD414 80056274 8CAB0004 */ lw $t3, 4($a1) /* ACD418 80056278 AD2B0004 */ sw $t3, 4($t1) /* ACD41C 8005627C 8CAC0008 */ lw $t4, 8($a1) /* ACD420 80056280 1000000A */ b .L800562AC /* ACD424 80056284 AD2C0008 */ sw $t4, 8($t1) .L80056288: /* ACD428 80056288 27A50084 */ addiu $a1, $sp, 0x84 /* ACD42C 8005628C 0C015117 */ jal Camera_Vec3fCopy /* ACD430 80056290 AFA8002C */ sw $t0, 0x2c($sp) /* ACD434 80056294 27A40090 */ addiu $a0, $sp, 0x90 /* ACD438 80056298 0C015117 */ jal Camera_Vec3fCopy /* ACD43C 8005629C 27A50078 */ addiu $a1, $sp, 0x78 /* ACD440 800562A0 8FA8002C */ lw $t0, 0x2c($sp) /* ACD444 800562A4 2603005C */ addiu $v1, $s0, 0x5c /* ACD448 800562A8 26050050 */ addiu $a1, $s0, 0x50 .L800562AC: /* ACD44C 800562AC 27AD0084 */ addiu $t5, $sp, 0x84 /* ACD450 800562B0 8DAF0000 */ lw $t7, ($t5) /* ACD454 800562B4 26020074 */ addiu $v0, $s0, 0x74 /* ACD458 800562B8 3C013F00 */ li $at, 0x3F000000 # 0.000000 /* ACD45C 800562BC AC4F0000 */ sw $t7, ($v0) /* ACD460 800562C0 8DAE0004 */ lw $t6, 4($t5) /* ACD464 800562C4 8C590000 */ lw $t9, ($v0) /* ACD468 800562C8 27A40078 */ addiu $a0, $sp, 0x78 /* ACD46C 800562CC AC4E0004 */ sw $t6, 4($v0) /* ACD470 800562D0 8DAF0008 */ lw $t7, 8($t5) /* ACD474 800562D4 27A90078 */ addiu $t1, $sp, 0x78 /* ACD478 800562D8 AC4F0008 */ sw $t7, 8($v0) /* ACD47C 800562DC AC790000 */ sw $t9, ($v1) /* ACD480 800562E0 8C580004 */ lw $t8, 4($v0) /* ACD484 800562E4 AC780004 */ sw $t8, 4($v1) /* ACD488 800562E8 8C590008 */ lw $t9, 8($v0) /* ACD48C 800562EC AC790008 */ sw $t9, 8($v1) /* ACD490 800562F0 850A0006 */ lh $t2, 6($t0) /* ACD494 800562F4 5140000C */ beql $t2, $zero, .L80056328 /* ACD498 800562F8 8D2C0000 */ lw $t4, ($t1) /* ACD49C 800562FC 44810000 */ mtc1 $at, $f0 /* ACD4A0 80056300 3C018014 */ lui $at, %hi(D_8013A384) /* ACD4A4 80056304 C426A384 */ lwc1 $f6, %lo(D_8013A384)($at) /* ACD4A8 80056308 44060000 */ mfc1 $a2, $f0 /* ACD4AC 8005630C 44070000 */ mfc1 $a3, $f0 /* ACD4B0 80056310 AFA8002C */ sw $t0, 0x2c($sp) /* ACD4B4 80056314 0C010E8F */ jal func_80043A3C /* ACD4B8 80056318 E7A60010 */ swc1 $f6, 0x10($sp) /* ACD4BC 8005631C 10000009 */ b .L80056344 /* ACD4C0 80056320 8FA8002C */ lw $t0, 0x2c($sp) /* ACD4C4 80056324 8D2C0000 */ lw $t4, ($t1) .L80056328: /* ACD4C8 80056328 240D0001 */ li $t5, 1 /* ACD4CC 8005632C ACAC0000 */ sw $t4, ($a1) /* ACD4D0 80056330 8D2B0004 */ lw $t3, 4($t1) /* ACD4D4 80056334 ACAB0004 */ sw $t3, 4($a1) /* ACD4D8 80056338 8D2C0008 */ lw $t4, 8($t1) /* ACD4DC 8005633C ACAC0008 */ sw $t4, 8($a1) /* ACD4E0 80056340 A50D0006 */ sh $t5, 6($t0) .L80056344: /* ACD4E4 80056344 3C014380 */ li $at, 0x43800000 # 0.000000 /* ACD4E8 80056348 44815000 */ mtc1 $at, $f10 /* ACD4EC 8005634C C7A80074 */ lwc1 $f8, 0x74($sp) /* ACD4F0 80056350 460A4402 */ mul.s $f16, $f8, $f10 /* ACD4F4 80056354 4600848D */ trunc.w.s $f18, $f16 /* ACD4F8 80056358 440F9000 */ mfc1 $t7, $f18 /* ACD4FC 8005635C 00000000 */ nop /* ACD500 80056360 A60F015A */ sh $t7, 0x15a($s0) /* ACD504 80056364 8518000A */ lh $t8, 0xa($t0) /* ACD508 80056368 2719FFFF */ addiu $t9, $t8, -1 /* ACD50C 8005636C 1000002B */ b .L8005641C /* ACD510 80056370 A519000A */ sh $t9, 0xa($t0) .L80056374: /* ACD514 80056374 86020018 */ lh $v0, 0x18($s0) /* ACD518 80056378 A6000160 */ sh $zero, 0x160($s0) /* ACD51C 8005637C 24011000 */ li $at, 4096 /* ACD520 80056380 50400027 */ beql $v0, $zero, .L80056420 /* ACD524 80056384 8FBF0024 */ lw $ra, 0x24($sp) /* ACD528 80056388 10410016 */ beq $v0, $at, .L800563E4 /* ACD52C 8005638C 00C02025 */ move $a0, $a2 /* ACD530 80056390 24012000 */ li $at, 8192 /* ACD534 80056394 14410021 */ bne $v0, $at, .L8005641C /* ACD538 80056398 240503FC */ li $a1, 1020 /* ACD53C 8005639C 8602000A */ lh $v0, 0xa($s0) /* ACD540 800563A0 00003825 */ move $a3, $zero /* ACD544 800563A4 28410032 */ slti $at, $v0, 0x32 /* ACD548 800563A8 50200004 */ beql $at, $zero, .L800563BC /* ACD54C 800563AC 24010005 */ li $at, 5 /* ACD550 800563B0 10000006 */ b .L800563CC /* ACD554 800563B4 24060005 */ li $a2, 5 /* ACD558 800563B8 24010005 */ li $at, 5 .L800563BC: /* ACD55C 800563BC 0041001A */ div $zero, $v0, $at /* ACD560 800563C0 00003012 */ mflo $a2 /* ACD564 800563C4 00063400 */ sll $a2, $a2, 0x10 /* ACD568 800563C8 00063403 */ sra $a2, $a2, 0x10 .L800563CC: /* ACD56C 800563CC 860A0162 */ lh $t2, 0x162($s0) /* ACD570 800563D0 8E04008C */ lw $a0, 0x8c($s0) /* ACD574 800563D4 0C02003E */ jal func_800800F8 /* ACD578 800563D8 AFAA0010 */ sw $t2, 0x10($sp) /* ACD57C 800563DC 10000010 */ b .L80056420 /* ACD580 800563E0 8FBF0024 */ lw $ra, 0x24($sp) .L800563E4: /* ACD584 800563E4 0C016B99 */ jal func_8005AE64 /* ACD588 800563E8 02002825 */ move $a1, $s0 /* ACD58C 800563EC 1000000C */ b .L80056420 /* ACD590 800563F0 8FBF0024 */ lw $ra, 0x24($sp) /* ACD594 800563F4 26080010 */ addiu $t0, $s0, 0x10 /* ACD598 800563F8 8509000A */ lh $t1, 0xa($t0) /* ACD59C 800563FC 252BFFFF */ addiu $t3, $t1, -1 /* ACD5A0 80056400 A50B000A */ sh $t3, 0xa($t0) /* ACD5A4 80056404 850C000A */ lh $t4, 0xa($t0) /* ACD5A8 80056408 05830005 */ bgezl $t4, .L80056420 /* ACD5AC 8005640C 8FBF0024 */ lw $ra, 0x24($sp) /* ACD5B0 80056410 860D015E */ lh $t5, 0x15e($s0) /* ACD5B4 80056414 25AE0001 */ addiu $t6, $t5, 1 /* ACD5B8 80056418 A60E015E */ sh $t6, 0x15e($s0) .L8005641C: /* ACD5BC 8005641C 8FBF0024 */ lw $ra, 0x24($sp) .L80056420: /* ACD5C0 80056420 8FB00020 */ lw $s0, 0x20($sp) /* ACD5C4 80056424 27BD00B8 */ addiu $sp, $sp, 0xb8 /* ACD5C8 80056428 03E00008 */ jr $ra /* ACD5CC 8005642C 24020001 */ li $v0, 1 # SPLIT /* ACD5D0 80056430 27BDFFE8 */ addiu $sp, $sp, -0x18 /* ACD5D4 80056434 AFBF0014 */ sw $ra, 0x14($sp) /* ACD5D8 80056438 0C011CE5 */ jal func_80047394 /* ACD5DC 8005643C 00000000 */ nop /* ACD5E0 80056440 8FBF0014 */ lw $ra, 0x14($sp) /* ACD5E4 80056444 27BD0018 */ addiu $sp, $sp, 0x18 /* ACD5E8 80056448 03E00008 */ jr $ra /* ACD5EC 8005644C 00000000 */ nop # SPLIT /* ACD5F0 80056450 27BDFFC0 */ addiu $sp, $sp, -0x40 /* ACD5F4 80056454 AFBF0024 */ sw $ra, 0x24($sp) /* ACD5F8 80056458 AFB00020 */ sw $s0, 0x20($sp) /* ACD5FC 8005645C 8482015E */ lh $v0, 0x15e($a0) /* ACD600 80056460 00808025 */ move $s0, $a0 /* ACD604 80056464 2401000A */ li $at, 10 /* ACD608 80056468 5040000A */ beql $v0, $zero, .L80056494 /* ACD60C 8005646C 860F0142 */ lh $t7, 0x142($s0) /* ACD610 80056470 10410007 */ beq $v0, $at, .L80056490 /* ACD614 80056474 24010014 */ li $at, 20 /* ACD618 80056478 10410005 */ beq $v0, $at, .L80056490 /* ACD61C 8005647C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016 /* ACD620 80056480 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6) /* ACD624 80056484 85C30314 */ lh $v1, 0x314($t6) /* ACD628 80056488 10600018 */ beqz $v1, .L800564EC /* ACD62C 8005648C 00000000 */ nop .L80056490: /* ACD630 80056490 860F0142 */ lh $t7, 0x142($s0) .L80056494: /* ACD634 80056494 3C198012 */ lui $t9, %hi(D_8011D068) /* ACD638 80056498 86080144 */ lh $t0, 0x144($s0) /* ACD63C 8005649C 000FC0C0 */ sll $t8, $t7, 3 /* ACD640 800564A0 0338C821 */ addu $t9, $t9, $t8 /* ACD644 800564A4 8F39D068 */ lw $t9, %lo(D_8011D068)($t9) /* ACD648 800564A8 000848C0 */ sll $t1, $t0, 3 /* ACD64C 800564AC 3C018014 */ lui $at, %hi(D_8013A388) /* ACD650 800564B0 03295021 */ addu $t2, $t9, $t1 /* ACD654 800564B4 8D420004 */ lw $v0, 4($t2) /* ACD658 800564B8 C428A388 */ lwc1 $f8, %lo(D_8013A388)($at) /* ACD65C 800564BC 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016 /* ACD660 800564C0 844B0000 */ lh $t3, ($v0) /* ACD664 800564C4 24420004 */ addiu $v0, $v0, 4 /* ACD668 800564C8 448B2000 */ mtc1 $t3, $f4 /* ACD66C 800564CC 00000000 */ nop /* ACD670 800564D0 468021A0 */ cvt.s.w $f6, $f4 /* ACD674 800564D4 46083282 */ mul.s $f10, $f6, $f8 /* ACD678 800564D8 E60A0000 */ swc1 $f10, ($s0) /* ACD67C 800564DC 844C0000 */ lh $t4, ($v0) /* ACD680 800564E0 A60C0004 */ sh $t4, 4($s0) /* ACD684 800564E4 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5) /* ACD688 800564E8 85A30314 */ lh $v1, 0x314($t5) .L800564EC: /* ACD68C 800564EC 50600004 */ beql $v1, $zero, .L80056500 /* ACD690 800564F0 860E0004 */ lh $t6, 4($s0) /* ACD694 800564F4 0C011495 */ jal func_80045254 /* ACD698 800564F8 02002025 */ move $a0, $s0 /* ACD69C 800564FC 860E0004 */ lh $t6, 4($s0) .L80056500: /* ACD6A0 80056500 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACD6A4 80056504 AC2ED3A0 */ sw $t6, %lo(D_8011D3A0)($at) /* ACD6A8 80056508 8602015E */ lh $v0, 0x15e($s0) /* ACD6AC 8005650C 14400002 */ bnez $v0, .L80056518 /* ACD6B0 80056510 244F0001 */ addiu $t7, $v0, 1 /* ACD6B4 80056514 A60F015E */ sh $t7, 0x15e($s0) .L80056518: /* ACD6B8 80056518 8E0500A8 */ lw $a1, 0xa8($s0) /* ACD6BC 8005651C 10A00005 */ beqz $a1, .L80056534 /* ACD6C0 80056520 00000000 */ nop /* ACD6C4 80056524 8CB80130 */ lw $t8, 0x130($a1) /* ACD6C8 80056528 260400AC */ addiu $a0, $s0, 0xac /* ACD6CC 8005652C 17000008 */ bnez $t8, .L80056550 /* ACD6D0 80056530 00000000 */ nop .L80056534: /* ACD6D4 80056534 14A00003 */ bnez $a1, .L80056544 /* ACD6D8 80056538 3C048014 */ lui $a0, %hi(D_80139714) # $a0, 0x8014 /* ACD6DC 8005653C 0C00084C */ jal osSyncPrintf /* ACD6E0 80056540 24849714 */ addiu $a0, %lo(D_80139714) # addiu $a0, $a0, -0x68ec .L80056544: /* ACD6E4 80056544 AE0000A8 */ sw $zero, 0xa8($s0) /* ACD6E8 80056548 10000025 */ b .L800565E0 /* ACD6EC 8005654C 24020001 */ li $v0, 1 .L80056550: /* ACD6F0 80056550 0C00BBB9 */ jal func_8002EEE4 /* ACD6F4 80056554 AFA4002C */ sw $a0, 0x2c($sp) /* ACD6F8 80056558 C6000000 */ lwc1 $f0, ($s0) /* ACD6FC 8005655C 3C018014 */ lui $at, %hi(D_8013A38C) /* ACD700 80056560 C430A38C */ lwc1 $f16, %lo(D_8013A38C)($at) /* ACD704 80056564 26050050 */ addiu $a1, $s0, 0x50 /* ACD708 80056568 44060000 */ mfc1 $a2, $f0 /* ACD70C 8005656C 44070000 */ mfc1 $a3, $f0 /* ACD710 80056570 8FA4002C */ lw $a0, 0x2c($sp) /* ACD714 80056574 AFA50030 */ sw $a1, 0x30($sp) /* ACD718 80056578 0C010E8F */ jal func_80043A3C /* ACD71C 8005657C E7B00010 */ swc1 $f16, 0x10($sp) /* ACD720 80056580 26020094 */ addiu $v0, $s0, 0x94 /* ACD724 80056584 C4440000 */ lwc1 $f4, ($v0) /* ACD728 80056588 C6120050 */ lwc1 $f18, 0x50($s0) /* ACD72C 8005658C C6080054 */ lwc1 $f8, 0x54($s0) /* ACD730 80056590 2605005C */ addiu $a1, $s0, 0x5c /* ACD734 80056594 46049181 */ sub.s $f6, $f18, $f4 /* ACD738 80056598 C6120058 */ lwc1 $f18, 0x58($s0) /* ACD73C 8005659C E60600E4 */ swc1 $f6, 0xe4($s0) /* ACD740 800565A0 C44A0004 */ lwc1 $f10, 4($v0) /* ACD744 800565A4 460A4401 */ sub.s $f16, $f8, $f10 /* ACD748 800565A8 E61000E8 */ swc1 $f16, 0xe8($s0) /* ACD74C 800565AC C4440008 */ lwc1 $f4, 8($v0) /* ACD750 800565B0 46049181 */ sub.s $f6, $f18, $f4 /* ACD754 800565B4 E60600EC */ swc1 $f6, 0xec($s0) /* ACD758 800565B8 0C01EFE4 */ jal func_8007BF90 /* ACD75C 800565BC 8FA40030 */ lw $a0, 0x30($sp) /* ACD760 800565C0 86020160 */ lh $v0, 0x160($s0) /* ACD764 800565C4 44804000 */ mtc1 $zero, $f8 /* ACD768 800565C8 E60000DC */ swc1 $f0, 0xdc($s0) /* ACD76C 800565CC 18400003 */ blez $v0, .L800565DC /* ACD770 800565D0 E60800D8 */ swc1 $f8, 0xd8($s0) /* ACD774 800565D4 2448FFFF */ addiu $t0, $v0, -1 /* ACD778 800565D8 A6080160 */ sh $t0, 0x160($s0) .L800565DC: /* ACD77C 800565DC 24020001 */ li $v0, 1 .L800565E0: /* ACD780 800565E0 8FBF0024 */ lw $ra, 0x24($sp) /* ACD784 800565E4 8FB00020 */ lw $s0, 0x20($sp) /* ACD788 800565E8 27BD0040 */ addiu $sp, $sp, 0x40 /* ACD78C 800565EC 03E00008 */ jr $ra /* ACD790 800565F0 00000000 */ nop # SPLIT /* ACD794 800565F4 27BDFFE8 */ addiu $sp, $sp, -0x18 /* ACD798 800565F8 AFBF0014 */ sw $ra, 0x14($sp) /* ACD79C 800565FC 0C011CE5 */ jal func_80047394 /* ACD7A0 80056600 00000000 */ nop /* ACD7A4 80056604 8FBF0014 */ lw $ra, 0x14($sp) /* ACD7A8 80056608 27BD0018 */ addiu $sp, $sp, 0x18 /* ACD7AC 8005660C 03E00008 */ jr $ra /* ACD7B0 80056610 00000000 */ nop # SPLIT /* ACD7B4 80056614 27BDFFE8 */ addiu $sp, $sp, -0x18 /* ACD7B8 80056618 AFBF0014 */ sw $ra, 0x14($sp) /* ACD7BC 8005661C 0C0146CF */ jal func_80051B3C /* ACD7C0 80056620 00000000 */ nop /* ACD7C4 80056624 8FBF0014 */ lw $ra, 0x14($sp) /* ACD7C8 80056628 27BD0018 */ addiu $sp, $sp, 0x18 /* ACD7CC 8005662C 03E00008 */ jr $ra /* ACD7D0 80056630 00000000 */ nop # SPLIT /* ACD7D4 80056634 27BDFFE8 */ addiu $sp, $sp, -0x18 /* ACD7D8 80056638 AFBF0014 */ sw $ra, 0x14($sp) /* ACD7DC 8005663C 0C011CE5 */ jal func_80047394 /* ACD7E0 80056640 00000000 */ nop /* ACD7E4 80056644 8FBF0014 */ lw $ra, 0x14($sp) /* ACD7E8 80056648 27BD0018 */ addiu $sp, $sp, 0x18 /* ACD7EC 8005664C 03E00008 */ jr $ra /* ACD7F0 80056650 00000000 */ nop # SPLIT /* ACD7F4 80056654 27BDFFB0 */ addiu $sp, $sp, -0x50 /* ACD7F8 80056658 AFBF001C */ sw $ra, 0x1c($sp) /* ACD7FC 8005665C AFB10018 */ sw $s1, 0x18($sp) /* ACD800 80056660 AFB00014 */ sw $s0, 0x14($sp) /* ACD804 80056664 848E015E */ lh $t6, 0x15e($a0) /* ACD808 80056668 00808025 */ move $s0, $a0 /* ACD80C 8005666C 240F3200 */ li $t7, 12800 /* ACD810 80056670 15C0000B */ bnez $t6, .L800566A0 /* ACD814 80056674 26110160 */ addiu $s1, $s0, 0x160 /* ACD818 80056678 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACD81C 8005667C AC2FD3A0 */ sw $t7, %lo(D_8011D3A0)($at) /* ACD820 80056680 8498015E */ lh $t8, 0x15e($a0) /* ACD824 80056684 3C014220 */ li $at, 0x42200000 # 0.000000 /* ACD828 80056688 44812000 */ mtc1 $at, $f4 /* ACD82C 8005668C 84880160 */ lh $t0, 0x160($a0) /* ACD830 80056690 27190001 */ addiu $t9, $t8, 1 /* ACD834 80056694 A499015E */ sh $t9, 0x15e($a0) /* ACD838 80056698 E48400FC */ swc1 $f4, 0xfc($a0) /* ACD83C 8005669C A4880000 */ sh $t0, ($a0) .L800566A0: /* ACD840 800566A0 86290000 */ lh $t1, ($s1) /* ACD844 800566A4 3C0142A0 */ li $at, 0x42A00000 # 0.000000 /* ACD848 800566A8 44816000 */ mtc1 $at, $f12 /* ACD84C 800566AC 44894000 */ mtc1 $t1, $f8 /* ACD850 800566B0 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* ACD854 800566B4 44813000 */ mtc1 $at, $f6 /* ACD858 800566B8 468042A0 */ cvt.s.w $f10, $f8 /* ACD85C 800566BC 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc /* ACD860 800566C0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd /* ACD864 800566C4 C60E00FC */ lwc1 $f14, 0xfc($s0) /* ACD868 800566C8 460A3403 */ div.s $f16, $f6, $f10 /* ACD86C 800566CC 44068000 */ mfc1 $a2, $f16 /* ACD870 800566D0 0C010E27 */ jal func_8004389C /* ACD874 800566D4 00000000 */ nop /* ACD878 800566D8 E60000FC */ swc1 $f0, 0xfc($s0) /* ACD87C 800566DC 86230000 */ lh $v1, ($s1) /* ACD880 800566E0 860A0000 */ lh $t2, ($s0) /* ACD884 800566E4 240DFE0C */ li $t5, -500 /* ACD888 800566E8 27A4003C */ addiu $a0, $sp, 0x3c /* ACD88C 800566EC 01435823 */ subu $t3, $t2, $v1 /* ACD890 800566F0 2961000F */ slti $at, $t3, 0xf /* ACD894 800566F4 10200004 */ beqz $at, .L80056708 /* ACD898 800566F8 246CFFFF */ addiu $t4, $v1, -1 /* ACD89C 800566FC A62C0000 */ sh $t4, ($s1) /* ACD8A0 80056700 10000038 */ b .L800567E4 /* ACD8A4 80056704 00001025 */ move $v0, $zero .L80056708: /* ACD8A8 80056708 A60D015A */ sh $t5, 0x15a($s0) /* ACD8AC 8005670C 0C00BBC5 */ jal func_8002EF14 /* ACD8B0 80056710 8E0500A8 */ lw $a1, 0xa8($s0) /* ACD8B4 80056714 27AE003C */ addiu $t6, $sp, 0x3c /* ACD8B8 80056718 8DD80000 */ lw $t8, ($t6) /* ACD8BC 8005671C 3C014316 */ li $at, 0x43160000 # 0.000000 /* ACD8C0 80056720 44812000 */ mtc1 $at, $f4 /* ACD8C4 80056724 AE180050 */ sw $t8, 0x50($s0) /* ACD8C8 80056728 8DCF0004 */ lw $t7, 4($t6) /* ACD8CC 8005672C AE0F0054 */ sw $t7, 0x54($s0) /* ACD8D0 80056730 C6120054 */ lwc1 $f18, 0x54($s0) /* ACD8D4 80056734 8DD80008 */ lw $t8, 8($t6) /* ACD8D8 80056738 46049201 */ sub.s $f8, $f18, $f4 /* ACD8DC 8005673C AE180058 */ sw $t8, 0x58($s0) /* ACD8E0 80056740 E6080054 */ swc1 $f8, 0x54($s0) /* ACD8E4 80056744 87A2004A */ lh $v0, 0x4a($sp) /* ACD8E8 80056748 24428001 */ addiu $v0, $v0, -0x7fff /* ACD8EC 8005674C 00021400 */ sll $v0, $v0, 0x10 /* ACD8F0 80056750 00021403 */ sra $v0, $v0, 0x10 /* ACD8F4 80056754 244203E8 */ addiu $v0, $v0, 0x3e8 /* ACD8F8 80056758 00022400 */ sll $a0, $v0, 0x10 /* ACD8FC 8005675C A7A2003A */ sh $v0, 0x3a($sp) /* ACD900 80056760 0C01DE1C */ jal Math_Sins /* ACD904 80056764 00042403 */ sra $a0, $a0, 0x10 /* ACD908 80056768 3C014443 */ li $at, 0x44430000 # 0.000000 /* ACD90C 8005676C 44813000 */ mtc1 $at, $f6 /* ACD910 80056770 C6100050 */ lwc1 $f16, 0x50($s0) /* ACD914 80056774 C6120054 */ lwc1 $f18, 0x54($s0) /* ACD918 80056778 46060282 */ mul.s $f10, $f0, $f6 /* ACD91C 8005677C E6120078 */ swc1 $f18, 0x78($s0) /* ACD920 80056780 46105080 */ add.s $f2, $f10, $f16 /* ACD924 80056784 E6020074 */ swc1 $f2, 0x74($s0) /* ACD928 80056788 E602005C */ swc1 $f2, 0x5c($s0) /* ACD92C 8005678C 0C01DE0D */ jal Math_Coss /* ACD930 80056790 87A4003A */ lh $a0, 0x3a($sp) /* ACD934 80056794 3C014443 */ li $at, 0x44430000 # 0.000000 /* ACD938 80056798 44812000 */ mtc1 $at, $f4 /* ACD93C 8005679C C6060058 */ lwc1 $f6, 0x58($s0) /* ACD940 800567A0 02002025 */ move $a0, $s0 /* ACD944 800567A4 46040202 */ mul.s $f8, $f0, $f4 /* ACD948 800567A8 2605005C */ addiu $a1, $s0, 0x5c /* ACD94C 800567AC 46064080 */ add.s $f2, $f8, $f6 /* ACD950 800567B0 E602007C */ swc1 $f2, 0x7c($s0) /* ACD954 800567B4 E6020064 */ swc1 $f2, 0x64($s0) /* ACD958 800567B8 C7AA0040 */ lwc1 $f10, 0x40($sp) /* ACD95C 800567BC 0C011144 */ jal func_80044510 /* ACD960 800567C0 E60A0060 */ swc1 $f10, 0x60($s0) /* ACD964 800567C4 3C0141A0 */ li $at, 0x41A00000 # 0.000000 /* ACD968 800567C8 44818000 */ mtc1 $at, $f16 /* ACD96C 800567CC 24020001 */ li $v0, 1 /* ACD970 800567D0 46100480 */ add.s $f18, $f0, $f16 /* ACD974 800567D4 E6120060 */ swc1 $f18, 0x60($s0) /* ACD978 800567D8 86390000 */ lh $t9, ($s1) /* ACD97C 800567DC 2728FFFF */ addiu $t0, $t9, -1 /* ACD980 800567E0 A6280000 */ sh $t0, ($s1) .L800567E4: /* ACD984 800567E4 8FBF001C */ lw $ra, 0x1c($sp) /* ACD988 800567E8 8FB00014 */ lw $s0, 0x14($sp) /* ACD98C 800567EC 8FB10018 */ lw $s1, 0x18($sp) /* ACD990 800567F0 03E00008 */ jr $ra /* ACD994 800567F4 27BD0050 */ addiu $sp, $sp, 0x50 # SPLIT /* ACD998 800567F8 27BDFF38 */ addiu $sp, $sp, -0xc8 /* ACD99C 800567FC AFB00018 */ sw $s0, 0x18($sp) /* ACD9A0 80056800 00808025 */ move $s0, $a0 /* ACD9A4 80056804 AFBF001C */ sw $ra, 0x1c($sp) /* ACD9A8 80056808 0C00B721 */ jal func_8002DC84 /* ACD9AC 8005680C 8C840090 */ lw $a0, 0x90($a0) /* ACD9B0 80056810 8603015E */ lh $v1, 0x15e($s0) /* ACD9B4 80056814 10600008 */ beqz $v1, .L80056838 /* ACD9B8 80056818 2401000A */ li $at, 10 /* ACD9BC 8005681C 10610006 */ beq $v1, $at, .L80056838 /* ACD9C0 80056820 24010014 */ li $at, 20 /* ACD9C4 80056824 10610004 */ beq $v1, $at, .L80056838 /* ACD9C8 80056828 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016 /* ACD9CC 8005682C 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6) /* ACD9D0 80056830 85C30314 */ lh $v1, 0x314($t6) /* ACD9D4 80056834 10600050 */ beqz $v1, .L80056978 .L80056838: /* ACD9D8 80056838 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016 /* ACD9DC 8005683C 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3) /* ACD9E0 80056840 3C018014 */ lui $at, %hi(D_8013A390) /* ACD9E4 80056844 C428A390 */ lwc1 $f8, %lo(D_8013A390)($at) /* ACD9E8 80056848 856C01F0 */ lh $t4, 0x1f0($t3) /* ACD9EC 8005684C 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* ACD9F0 80056850 44815000 */ mtc1 $at, $f10 /* ACD9F4 80056854 448C2000 */ mtc1 $t4, $f4 /* ACD9F8 80056858 3C014288 */ li $at, 0x42880000 # 0.000000 /* ACD9FC 8005685C 44819000 */ mtc1 $at, $f18 /* ACDA00 80056860 468021A0 */ cvt.s.w $f6, $f4 /* ACDA04 80056864 860F0142 */ lh $t7, 0x142($s0) /* ACDA08 80056868 3C198012 */ lui $t9, %hi(D_8011D068) /* ACDA0C 8005686C 86080144 */ lh $t0, 0x144($s0) /* ACDA10 80056870 000FC0C0 */ sll $t8, $t7, 3 /* ACDA14 80056874 46009103 */ div.s $f4, $f18, $f0 /* ACDA18 80056878 0338C821 */ addu $t9, $t9, $t8 /* ACDA1C 8005687C 8F39D068 */ lw $t9, %lo(D_8011D068)($t9) /* ACDA20 80056880 000848C0 */ sll $t1, $t0, 3 /* ACDA24 80056884 46083082 */ mul.s $f2, $f6, $f8 /* ACDA28 80056888 03295021 */ addu $t2, $t9, $t1 /* ACDA2C 8005688C 8D420004 */ lw $v0, 4($t2) /* ACDA30 80056890 3C018014 */ lui $at, %hi(D_8013A394) /* ACDA34 80056894 C432A394 */ lwc1 $f18, %lo(D_8013A394)($at) /* ACDA38 80056898 844D0000 */ lh $t5, ($v0) /* ACDA3C 8005689C 3C018014 */ lui $at, %hi(D_8013A398) /* ACDA40 800568A0 2442001C */ addiu $v0, $v0, 0x1c /* ACDA44 800568A4 448D4000 */ mtc1 $t5, $f8 /* ACDA48 800568A8 3C0D8016 */ lui $t5, %hi(gGameInfo) /* ACDA4C 800568AC 46025400 */ add.s $f16, $f10, $f2 /* ACDA50 800568B0 46041182 */ mul.s $f6, $f2, $f4 /* ACDA54 800568B4 468042A0 */ cvt.s.w $f10, $f8 /* ACDA58 800568B8 46068301 */ sub.s $f12, $f16, $f6 /* ACDA5C 800568BC 46125102 */ mul.s $f4, $f10, $f18 /* ACDA60 800568C0 00000000 */ nop /* ACDA64 800568C4 46002402 */ mul.s $f16, $f4, $f0 /* ACDA68 800568C8 00000000 */ nop /* ACDA6C 800568CC 460C8182 */ mul.s $f6, $f16, $f12 /* ACDA70 800568D0 E6060000 */ swc1 $f6, ($s0) /* ACDA74 800568D4 844EFFE8 */ lh $t6, -0x18($v0) /* ACDA78 800568D8 448E4000 */ mtc1 $t6, $f8 /* ACDA7C 800568DC 00000000 */ nop /* ACDA80 800568E0 468042A0 */ cvt.s.w $f10, $f8 /* ACDA84 800568E4 E60A0004 */ swc1 $f10, 4($s0) /* ACDA88 800568E8 844FFFEC */ lh $t7, -0x14($v0) /* ACDA8C 800568EC 448F9000 */ mtc1 $t7, $f18 /* ACDA90 800568F0 00000000 */ nop /* ACDA94 800568F4 46809120 */ cvt.s.w $f4, $f18 /* ACDA98 800568F8 E6040008 */ swc1 $f4, 8($s0) /* ACDA9C 800568FC 8458FFF0 */ lh $t8, -0x10($v0) /* ACDAA0 80056900 A6180014 */ sh $t8, 0x14($s0) /* ACDAA4 80056904 8448FFF4 */ lh $t0, -0xc($v0) /* ACDAA8 80056908 C428A398 */ lwc1 $f8, %lo(D_8013A398)($at) /* ACDAAC 8005690C 3C013F00 */ li $at, 0x3F000000 # 0.000000 /* ACDAB0 80056910 44888000 */ mtc1 $t0, $f16 /* ACDAB4 80056914 44819000 */ mtc1 $at, $f18 /* ACDAB8 80056918 3C018014 */ lui $at, %hi(D_8013A39C) /* ACDABC 8005691C 468081A0 */ cvt.s.w $f6, $f16 /* ACDAC0 80056920 46083282 */ mul.s $f10, $f6, $f8 /* ACDAC4 80056924 46125100 */ add.s $f4, $f10, $f18 /* ACDAC8 80056928 4600240D */ trunc.w.s $f16, $f4 /* ACDACC 8005692C 44098000 */ mfc1 $t1, $f16 /* ACDAD0 80056930 00000000 */ nop /* ACDAD4 80056934 A6090016 */ sh $t1, 0x16($s0) /* ACDAD8 80056938 844AFFF8 */ lh $t2, -8($v0) /* ACDADC 8005693C 448A3000 */ mtc1 $t2, $f6 /* ACDAE0 80056940 00000000 */ nop /* ACDAE4 80056944 46803220 */ cvt.s.w $f8, $f6 /* ACDAE8 80056948 E608000C */ swc1 $f8, 0xc($s0) /* ACDAEC 8005694C 844BFFFC */ lh $t3, -4($v0) /* ACDAF0 80056950 C424A39C */ lwc1 $f4, %lo(D_8013A39C)($at) /* ACDAF4 80056954 448B5000 */ mtc1 $t3, $f10 /* ACDAF8 80056958 00000000 */ nop /* ACDAFC 8005695C 468054A0 */ cvt.s.w $f18, $f10 /* ACDB00 80056960 46049402 */ mul.s $f16, $f18, $f4 /* ACDB04 80056964 E6100010 */ swc1 $f16, 0x10($s0) /* ACDB08 80056968 844C0000 */ lh $t4, ($v0) /* ACDB0C 8005696C A60C0018 */ sh $t4, 0x18($s0) /* ACDB10 80056970 8DADFA90 */ lw $t5, -0x570($t5) /* ACDB14 80056974 85A30314 */ lh $v1, 0x314($t5) .L80056978: /* ACDB18 80056978 50600004 */ beql $v1, $zero, .L8005698C /* ACDB1C 8005697C 26050050 */ addiu $a1, $s0, 0x50 /* ACDB20 80056980 0C011495 */ jal func_80045254 /* ACDB24 80056984 02002025 */ move $a0, $s0 /* ACDB28 80056988 26050050 */ addiu $a1, $s0, 0x50 .L8005698C: /* ACDB2C 8005698C 2606005C */ addiu $a2, $s0, 0x5c /* ACDB30 80056990 AFA60038 */ sw $a2, 0x38($sp) /* ACDB34 80056994 AFA50034 */ sw $a1, 0x34($sp) /* ACDB38 80056998 0C01F124 */ jal func_8007C490 /* ACDB3C 8005699C 27A40064 */ addiu $a0, $sp, 0x64 /* ACDB40 800569A0 26060074 */ addiu $a2, $s0, 0x74 /* ACDB44 800569A4 AFA60030 */ sw $a2, 0x30($sp) /* ACDB48 800569A8 27A4005C */ addiu $a0, $sp, 0x5c /* ACDB4C 800569AC 0C01F124 */ jal func_8007C490 /* ACDB50 800569B0 8FA50034 */ lw $a1, 0x34($sp) /* ACDB54 800569B4 27A400A8 */ addiu $a0, $sp, 0xa8 /* ACDB58 800569B8 0C00BBC5 */ jal func_8002EF14 /* ACDB5C 800569BC 8E0500A8 */ lw $a1, 0xa8($s0) /* ACDB60 800569C0 860E0018 */ lh $t6, 0x18($s0) /* ACDB64 800569C4 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACDB68 800569C8 2606001C */ addiu $a2, $s0, 0x1c /* ACDB6C 800569CC AC2ED3A0 */ sw $t6, %lo(D_8011D3A0)($at) /* ACDB70 800569D0 8603015E */ lh $v1, 0x15e($s0) /* ACDB74 800569D4 54600006 */ bnezl $v1, .L800569F0 /* ACDB78 800569D8 84C20000 */ lh $v0, ($a2) /* ACDB7C 800569DC 86180014 */ lh $t8, 0x14($s0) /* ACDB80 800569E0 246F0001 */ addiu $t7, $v1, 1 /* ACDB84 800569E4 A60F015E */ sh $t7, 0x15e($s0) /* ACDB88 800569E8 A618001C */ sh $t8, 0x1c($s0) /* ACDB8C 800569EC 84C20000 */ lh $v0, ($a2) .L800569F0: /* ACDB90 800569F0 18400003 */ blez $v0, .L80056A00 /* ACDB94 800569F4 2448FFFF */ addiu $t0, $v0, -1 /* ACDB98 800569F8 10000062 */ b .L80056B84 /* ACDB9C 800569FC A4C80000 */ sh $t0, ($a2) .L80056A00: /* ACDBA0 80056A00 54400061 */ bnezl $v0, .L80056B88 /* ACDBA4 80056A04 02002025 */ move $a0, $s0 /* ACDBA8 80056A08 8E0300A8 */ lw $v1, 0xa8($s0) /* ACDBAC 80056A0C 50600007 */ beql $v1, $zero, .L80056A2C /* ACDBB0 80056A10 AE0000A8 */ sw $zero, 0xa8($s0) /* ACDBB4 80056A14 8C790130 */ lw $t9, 0x130($v1) /* ACDBB8 80056A18 2449FFFF */ addiu $t1, $v0, -1 /* ACDBBC 80056A1C 27A400A8 */ addiu $a0, $sp, 0xa8 /* ACDBC0 80056A20 17200004 */ bnez $t9, .L80056A34 /* ACDBC4 80056A24 26050094 */ addiu $a1, $s0, 0x94 /* ACDBC8 80056A28 AE0000A8 */ sw $zero, 0xa8($s0) .L80056A2C: /* ACDBCC 80056A2C 10000077 */ b .L80056C0C /* ACDBD0 80056A30 24020001 */ li $v0, 1 .L80056A34: /* ACDBD4 80056A34 A4C90000 */ sh $t1, ($a2) /* ACDBD8 80056A38 0C01EFE4 */ jal func_8007BF90 /* ACDBDC 80056A3C AFA5002C */ sw $a1, 0x2c($sp) /* ACDBE0 80056A40 C6060008 */ lwc1 $f6, 8($s0) /* ACDBE4 80056A44 8FA2002C */ lw $v0, 0x2c($sp) /* ACDBE8 80056A48 3C0141A0 */ li $at, 0x41A00000 # 0.000000 /* ACDBEC 80056A4C 4600303C */ c.lt.s $f6, $f0 /* ACDBF0 80056A50 27A4007C */ addiu $a0, $sp, 0x7c /* ACDBF4 80056A54 4502004C */ bc1fl .L80056B88 /* ACDBF8 80056A58 02002025 */ move $a0, $s0 /* ACDBFC 80056A5C 844A000E */ lh $t2, 0xe($v0) /* ACDC00 80056A60 44814000 */ mtc1 $at, $f8 /* ACDC04 80056A64 27A500A8 */ addiu $a1, $sp, 0xa8 /* ACDC08 80056A68 A7AA0072 */ sh $t2, 0x72($sp) /* ACDC0C 80056A6C 844B000C */ lh $t3, 0xc($v0) /* ACDC10 80056A70 27A6006C */ addiu $a2, $sp, 0x6c /* ACDC14 80056A74 E7A8006C */ swc1 $f8, 0x6c($sp) /* ACDC18 80056A78 000B6023 */ negu $t4, $t3 /* ACDC1C 80056A7C 0C010F0A */ jal func_80043C28 /* ACDC20 80056A80 A7AC0070 */ sh $t4, 0x70($sp) /* ACDC24 80056A84 02002025 */ move $a0, $s0 /* ACDC28 80056A88 8FA50034 */ lw $a1, 0x34($sp) /* ACDC2C 80056A8C 0C010F46 */ jal func_80043D18 /* ACDC30 80056A90 27A6007C */ addiu $a2, $sp, 0x7c /* ACDC34 80056A94 27A4006C */ addiu $a0, $sp, 0x6c /* ACDC38 80056A98 0C01F0FD */ jal func_8007C3F4 /* ACDC3C 80056A9C 27A50088 */ addiu $a1, $sp, 0x88 /* ACDC40 80056AA0 8FAD002C */ lw $t5, 0x2c($sp) /* ACDC44 80056AA4 87AF0072 */ lh $t7, 0x72($sp) /* ACDC48 80056AA8 85AE000E */ lh $t6, 0xe($t5) /* ACDC4C 80056AAC 01CFC023 */ subu $t8, $t6, $t7 /* ACDC50 80056AB0 A7B800A4 */ sh $t8, 0xa4($sp) /* ACDC54 80056AB4 C60A0004 */ lwc1 $f10, 4($s0) /* ACDC58 80056AB8 0C03F66B */ jal Math_Rand_ZeroOne /* ACDC5C 80056ABC E7AA0074 */ swc1 $f10, 0x74($sp) /* ACDC60 80056AC0 87A800A4 */ lh $t0, 0xa4($sp) /* ACDC64 80056AC4 8FAC002C */ lw $t4, 0x2c($sp) /* ACDC68 80056AC8 3C018014 */ lui $at, %hi(D_8013A3A4) /* ACDC6C 80056ACC 0501000E */ bgez $t0, .L80056B08 /* ACDC70 80056AD0 00000000 */ nop /* ACDC74 80056AD4 3C018014 */ lui $at, %hi(D_8013A3A0) /* ACDC78 80056AD8 C432A3A0 */ lwc1 $f18, %lo(D_8013A3A0)($at) /* ACDC7C 80056ADC 46120102 */ mul.s $f4, $f0, $f18 /* ACDC80 80056AE0 4600240D */ trunc.w.s $f16, $f4 /* ACDC84 80056AE4 44028000 */ mfc1 $v0, $f16 /* ACDC88 80056AE8 00000000 */ nop /* ACDC8C 80056AEC 00021400 */ sll $v0, $v0, 0x10 /* ACDC90 80056AF0 00021403 */ sra $v0, $v0, 0x10 /* ACDC94 80056AF4 24421553 */ addiu $v0, $v0, 0x1553 /* ACDC98 80056AF8 00021400 */ sll $v0, $v0, 0x10 /* ACDC9C 80056AFC 00021403 */ sra $v0, $v0, 0x10 /* ACDCA0 80056B00 1000000B */ b .L80056B30 /* ACDCA4 80056B04 00021023 */ negu $v0, $v0 .L80056B08: /* ACDCA8 80056B08 C426A3A4 */ lwc1 $f6, %lo(D_8013A3A4)($at) /* ACDCAC 80056B0C 46060202 */ mul.s $f8, $f0, $f6 /* ACDCB0 80056B10 4600428D */ trunc.w.s $f10, $f8 /* ACDCB4 80056B14 44025000 */ mfc1 $v0, $f10 /* ACDCB8 80056B18 00000000 */ nop /* ACDCBC 80056B1C 00021400 */ sll $v0, $v0, 0x10 /* ACDCC0 80056B20 00021403 */ sra $v0, $v0, 0x10 /* ACDCC4 80056B24 24421553 */ addiu $v0, $v0, 0x1553 /* ACDCC8 80056B28 00021400 */ sll $v0, $v0, 0x10 /* ACDCCC 80056B2C 00021403 */ sra $v0, $v0, 0x10 .L80056B30: /* ACDCD0 80056B30 858D000E */ lh $t5, 0xe($t4) /* ACDCD4 80056B34 8FA40030 */ lw $a0, 0x30($sp) /* ACDCD8 80056B38 27A500A8 */ addiu $a1, $sp, 0xa8 /* ACDCDC 80056B3C 25B88001 */ addiu $t8, $t5, -0x7fff /* ACDCE0 80056B40 00584021 */ addu $t0, $v0, $t8 /* ACDCE4 80056B44 A7A8007A */ sh $t0, 0x7a($sp) /* ACDCE8 80056B48 86190016 */ lh $t9, 0x16($s0) /* ACDCEC 80056B4C 27A60074 */ addiu $a2, $sp, 0x74 /* ACDCF0 80056B50 0C010F0A */ jal func_80043C28 /* ACDCF4 80056B54 A7B90078 */ sh $t9, 0x78($sp) /* ACDCF8 80056B58 8FA90030 */ lw $t1, 0x30($sp) /* ACDCFC 80056B5C 8FA60038 */ lw $a2, 0x38($sp) /* ACDD00 80056B60 02002025 */ move $a0, $s0 /* ACDD04 80056B64 8D2C0000 */ lw $t4, ($t1) /* ACDD08 80056B68 27A500A8 */ addiu $a1, $sp, 0xa8 /* ACDD0C 80056B6C ACCC0000 */ sw $t4, ($a2) /* ACDD10 80056B70 8D2A0004 */ lw $t2, 4($t1) /* ACDD14 80056B74 ACCA0004 */ sw $t2, 4($a2) /* ACDD18 80056B78 8D2C0008 */ lw $t4, 8($t1) /* ACDD1C 80056B7C 0C010FCD */ jal func_80043F34 /* ACDD20 80056B80 ACCC0008 */ sw $t4, 8($a2) .L80056B84: /* ACDD24 80056B84 02002025 */ move $a0, $s0 .L80056B88: /* ACDD28 80056B88 27A5005C */ addiu $a1, $sp, 0x5c /* ACDD2C 80056B8C 8E060000 */ lw $a2, ($s0) /* ACDD30 80056B90 0C0115EA */ jal func_800457A8 /* ACDD34 80056B94 00003825 */ move $a3, $zero /* ACDD38 80056B98 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016 /* ACDD3C 80056B9C 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5) /* ACDD40 80056BA0 3C018014 */ lui $at, %hi(D_8013A3A8) /* ACDD44 80056BA4 C430A3A8 */ lwc1 $f16, %lo(D_8013A3A8)($at) /* ACDD48 80056BA8 85AE019C */ lh $t6, 0x19c($t5) /* ACDD4C 80056BAC C6080100 */ lwc1 $f8, 0x100($s0) /* ACDD50 80056BB0 C60C000C */ lwc1 $f12, 0xc($s0) /* ACDD54 80056BB4 448E9000 */ mtc1 $t6, $f18 /* ACDD58 80056BB8 C60E00FC */ lwc1 $f14, 0xfc($s0) /* ACDD5C 80056BBC 3C073F80 */ lui $a3, 0x3f80 /* ACDD60 80056BC0 46809120 */ cvt.s.w $f4, $f18 /* ACDD64 80056BC4 46102182 */ mul.s $f6, $f4, $f16 /* ACDD68 80056BC8 00000000 */ nop /* ACDD6C 80056BCC 46083282 */ mul.s $f10, $f6, $f8 /* ACDD70 80056BD0 44065000 */ mfc1 $a2, $f10 /* ACDD74 80056BD4 0C010E27 */ jal func_8004389C /* ACDD78 80056BD8 00000000 */ nop /* ACDD7C 80056BDC E60000FC */ swc1 $f0, 0xfc($s0) /* ACDD80 80056BE0 00002025 */ move $a0, $zero /* ACDD84 80056BE4 8605015A */ lh $a1, 0x15a($s0) /* ACDD88 80056BE8 3C063F00 */ lui $a2, 0x3f00 /* ACDD8C 80056BEC 0C010E47 */ jal func_8004391C /* ACDD90 80056BF0 2407000A */ li $a3, 10 /* ACDD94 80056BF4 A602015A */ sh $v0, 0x15a($s0) /* ACDD98 80056BF8 02002025 */ move $a0, $s0 /* ACDD9C 80056BFC 0C011429 */ jal func_800450A4 /* ACDDA0 80056C00 8E050010 */ lw $a1, 0x10($s0) /* ACDDA4 80056C04 E6000100 */ swc1 $f0, 0x100($s0) /* ACDDA8 80056C08 24020001 */ li $v0, 1 .L80056C0C: /* ACDDAC 80056C0C 8FBF001C */ lw $ra, 0x1c($sp) /* ACDDB0 80056C10 8FB00018 */ lw $s0, 0x18($sp) /* ACDDB4 80056C14 27BD00C8 */ addiu $sp, $sp, 0xc8 /* ACDDB8 80056C18 03E00008 */ jr $ra /* ACDDBC 80056C1C 00000000 */ nop # SPLIT /* ACDDC0 80056C20 27BDFF90 */ addiu $sp, $sp, -0x70 /* ACDDC4 80056C24 AFB00020 */ sw $s0, 0x20($sp) /* ACDDC8 80056C28 00808025 */ move $s0, $a0 /* ACDDCC 80056C2C AFBF002C */ sw $ra, 0x2c($sp) /* ACDDD0 80056C30 AFB20028 */ sw $s2, 0x28($sp) /* ACDDD4 80056C34 AFB10024 */ sw $s1, 0x24($sp) /* ACDDD8 80056C38 0C00B721 */ jal func_8002DC84 /* ACDDDC 80056C3C 8C840090 */ lw $a0, 0x90($a0) /* ACDDE0 80056C40 860E015E */ lh $t6, 0x15e($s0) /* ACDDE4 80056C44 46000086 */ mov.s $f2, $f0 /* ACDDE8 80056C48 27A4005C */ addiu $a0, $sp, 0x5c /* ACDDEC 80056C4C 15C00023 */ bnez $t6, .L80056CDC /* ACDDF0 80056C50 26120050 */ addiu $s2, $s0, 0x50 /* ACDDF4 80056C54 8E0F008C */ lw $t7, 0x8c($s0) /* ACDDF8 80056C58 24010006 */ li $at, 6 /* ACDDFC 80056C5C 24190003 */ li $t9, 3 /* ACDE00 80056C60 85F800A4 */ lh $t8, 0xa4($t7) /* ACDE04 80056C64 26110094 */ addiu $s1, $s0, 0x94 /* ACDE08 80056C68 17010003 */ bne $t8, $at, .L80056C78 /* ACDE0C 80056C6C 00000000 */ nop /* ACDE10 80056C70 10000016 */ b .L80056CCC /* ACDE14 80056C74 A6190000 */ sh $t9, ($s0) .L80056C78: /* ACDE18 80056C78 3C018014 */ lui $at, %hi(D_8013A3AC) /* ACDE1C 80056C7C C426A3AC */ lwc1 $f6, %lo(D_8013A3AC)($at) /* ACDE20 80056C80 C6240000 */ lwc1 $f4, ($s1) /* ACDE24 80056C84 24080002 */ li $t0, 2 /* ACDE28 80056C88 3C018014 */ lui $at, %hi(D_8013A3B0) /* ACDE2C 80056C8C 4606203C */ c.lt.s $f4, $f6 /* ACDE30 80056C90 00000000 */ nop /* ACDE34 80056C94 45020004 */ bc1fl .L80056CA8 /* ACDE38 80056C98 C6280004 */ lwc1 $f8, 4($s1) /* ACDE3C 80056C9C 1000000B */ b .L80056CCC /* ACDE40 80056CA0 A6080000 */ sh $t0, ($s0) /* ACDE44 80056CA4 C6280004 */ lwc1 $f8, 4($s1) .L80056CA8: /* ACDE48 80056CA8 C42AA3B0 */ lwc1 $f10, %lo(D_8013A3B0)($at) /* ACDE4C 80056CAC 24090001 */ li $t1, 1 /* ACDE50 80056CB0 460A403C */ c.lt.s $f8, $f10 /* ACDE54 80056CB4 00000000 */ nop /* ACDE58 80056CB8 45020004 */ bc1fl .L80056CCC /* ACDE5C 80056CBC A6090000 */ sh $t1, ($s0) /* ACDE60 80056CC0 10000002 */ b .L80056CCC /* ACDE64 80056CC4 A6000000 */ sh $zero, ($s0) /* ACDE68 80056CC8 A6090000 */ sh $t1, ($s0) .L80056CCC: /* ACDE6C 80056CCC 860A015E */ lh $t2, 0x15e($s0) /* ACDE70 80056CD0 A600015A */ sh $zero, 0x15a($s0) /* ACDE74 80056CD4 254B0001 */ addiu $t3, $t2, 1 /* ACDE78 80056CD8 A60B015E */ sh $t3, 0x15e($s0) .L80056CDC: /* ACDE7C 80056CDC 860C0000 */ lh $t4, ($s0) /* ACDE80 80056CE0 3C018012 */ lui $at, %hi(D_8011DACC) /* ACDE84 80056CE4 C6100054 */ lwc1 $f16, 0x54($s0) /* ACDE88 80056CE8 000C6880 */ sll $t5, $t4, 2 /* ACDE8C 80056CEC 002D0821 */ addu $at, $at, $t5 /* ACDE90 80056CF0 C432DACC */ lwc1 $f18, %lo(D_8011DACC)($at) /* ACDE94 80056CF4 26110094 */ addiu $s1, $s0, 0x94 /* ACDE98 80056CF8 4612803C */ c.lt.s $f16, $f18 /* ACDE9C 80056CFC 00000000 */ nop /* ACDEA0 80056D00 45020050 */ bc1fl .L80056E44 /* ACDEA4 80056D04 8E2B0000 */ lw $t3, ($s1) /* ACDEA8 80056D08 8E2F0000 */ lw $t7, ($s1) /* ACDEAC 80056D0C 3C018014 */ lui $at, %hi(D_8013A3B4) /* ACDEB0 80056D10 C420A3B4 */ lwc1 $f0, %lo(D_8013A3B4)($at) /* ACDEB4 80056D14 AC8F0000 */ sw $t7, ($a0) /* ACDEB8 80056D18 8E2E0004 */ lw $t6, 4($s1) /* ACDEBC 80056D1C 3C0141A0 */ li $at, 0x41A00000 # 0.000000 /* ACDEC0 80056D20 44813000 */ mtc1 $at, $f6 /* ACDEC4 80056D24 AC8E0004 */ sw $t6, 4($a0) /* ACDEC8 80056D28 8E2F0008 */ lw $t7, 8($s1) /* ACDECC 80056D2C 3C018014 */ lui $at, %hi(D_8013A3B8) /* ACDED0 80056D30 44060000 */ mfc1 $a2, $f0 /* ACDED4 80056D34 AC8F0008 */ sw $t7, 8($a0) /* ACDED8 80056D38 C7A40060 */ lwc1 $f4, 0x60($sp) /* ACDEDC 80056D3C C42AA3B8 */ lwc1 $f10, %lo(D_8013A3B8)($at) /* ACDEE0 80056D40 44070000 */ mfc1 $a3, $f0 /* ACDEE4 80056D44 46062201 */ sub.s $f8, $f4, $f6 /* ACDEE8 80056D48 02402825 */ move $a1, $s2 /* ACDEEC 80056D4C E7AA0010 */ swc1 $f10, 0x10($sp) /* ACDEF0 80056D50 0C010E8F */ jal func_80043A3C /* ACDEF4 80056D54 E7A80060 */ swc1 $f8, 0x60($sp) /* ACDEF8 80056D58 86180000 */ lh $t8, ($s0) /* ACDEFC 80056D5C 3C088012 */ lui $t0, %hi(D_8011DA6C) # $t0, 0x8012 /* ACDF00 80056D60 2508DA6C */ addiu $t0, %lo(D_8011DA6C) # addiu $t0, $t0, -0x2594 /* ACDF04 80056D64 0018C880 */ sll $t9, $t8, 2 /* ACDF08 80056D68 0338C823 */ subu $t9, $t9, $t8 /* ACDF0C 80056D6C 0019C880 */ sll $t9, $t9, 2 /* ACDF10 80056D70 03284821 */ addu $t1, $t9, $t0 /* ACDF14 80056D74 8D2B0000 */ lw $t3, ($t1) /* ACDF18 80056D78 27A40048 */ addiu $a0, $sp, 0x48 /* ACDF1C 80056D7C 2605005C */ addiu $a1, $s0, 0x5c /* ACDF20 80056D80 AC8B0000 */ sw $t3, ($a0) /* ACDF24 80056D84 8D2A0004 */ lw $t2, 4($t1) /* ACDF28 80056D88 8C8D0000 */ lw $t5, ($a0) /* ACDF2C 80056D8C 3C018012 */ lui $at, %hi(D_8011DADC) /* ACDF30 80056D90 AC8A0004 */ sw $t2, 4($a0) /* ACDF34 80056D94 8D2B0008 */ lw $t3, 8($t1) /* ACDF38 80056D98 3C198012 */ lui $t9, %hi(D_8011DAEC) /* ACDF3C 80056D9C AC8B0008 */ sw $t3, 8($a0) /* ACDF40 80056DA0 AE0D0074 */ sw $t5, 0x74($s0) /* ACDF44 80056DA4 8C8C0004 */ lw $t4, 4($a0) /* ACDF48 80056DA8 AE0C0078 */ sw $t4, 0x78($s0) /* ACDF4C 80056DAC 8C8D0008 */ lw $t5, 8($a0) /* ACDF50 80056DB0 AE0D007C */ sw $t5, 0x7c($s0) /* ACDF54 80056DB4 8C8F0000 */ lw $t7, ($a0) /* ACDF58 80056DB8 ACAF0000 */ sw $t7, ($a1) /* ACDF5C 80056DBC 8C8E0004 */ lw $t6, 4($a0) /* ACDF60 80056DC0 ACAE0004 */ sw $t6, 4($a1) /* ACDF64 80056DC4 8C8F0008 */ lw $t7, 8($a0) /* ACDF68 80056DC8 ACAF0008 */ sw $t7, 8($a1) /* ACDF6C 80056DCC 86020000 */ lh $v0, ($s0) /* ACDF70 80056DD0 C6300004 */ lwc1 $f16, 4($s1) /* ACDF74 80056DD4 00021880 */ sll $v1, $v0, 2 /* ACDF78 80056DD8 00230821 */ addu $at, $at, $v1 /* ACDF7C 80056DDC C422DADC */ lwc1 $f2, %lo(D_8011DADC)($at) /* ACDF80 80056DE0 3C018012 */ lui $at, %hi(D_8011DACC) /* ACDF84 80056DE4 00230821 */ addu $at, $at, $v1 /* ACDF88 80056DE8 C424DACC */ lwc1 $f4, %lo(D_8011DACC)($at) /* ACDF8C 80056DEC 46028481 */ sub.s $f18, $f16, $f2 /* ACDF90 80056DF0 0002C040 */ sll $t8, $v0, 1 /* ACDF94 80056DF4 0338C821 */ addu $t9, $t9, $t8 /* ACDF98 80056DF8 46022181 */ sub.s $f6, $f4, $f2 /* ACDF9C 80056DFC 8739DAEC */ lh $t9, %lo(D_8011DAEC)($t9) /* ACDFA0 80056E00 3C0141A0 */ li $at, 0x41A00000 # 0.000000 /* ACDFA4 80056E04 46069003 */ div.s $f0, $f18, $f6 /* ACDFA8 80056E08 44994000 */ mtc1 $t9, $f8 /* ACDFAC 80056E0C 44819000 */ mtc1 $at, $f18 /* ACDFB0 80056E10 3C014270 */ li $at, 0x42700000 # 0.000000 /* ACDFB4 80056E14 468042A0 */ cvt.s.w $f10, $f8 /* ACDFB8 80056E18 44814000 */ mtc1 $at, $f8 /* ACDFBC 80056E1C 46005402 */ mul.s $f16, $f10, $f0 /* ACDFC0 80056E20 4600810D */ trunc.w.s $f4, $f16 /* ACDFC4 80056E24 46009182 */ mul.s $f6, $f18, $f0 /* ACDFC8 80056E28 44092000 */ mfc1 $t1, $f4 /* ACDFCC 80056E2C 00000000 */ nop /* ACDFD0 80056E30 A609015A */ sh $t1, 0x15a($s0) /* ACDFD4 80056E34 46083280 */ add.s $f10, $f6, $f8 /* ACDFD8 80056E38 10000034 */ b .L80056F0C /* ACDFDC 80056E3C E60A00FC */ swc1 $f10, 0xfc($s0) /* ACDFE0 80056E40 8E2B0000 */ lw $t3, ($s1) .L80056E44: /* ACDFE4 80056E44 3C018014 */ lui $at, %hi(D_8013A3BC) /* ACDFE8 80056E48 C420A3BC */ lwc1 $f0, %lo(D_8013A3BC)($at) /* ACDFEC 80056E4C 27A4005C */ addiu $a0, $sp, 0x5c /* ACDFF0 80056E50 AC8B0000 */ sw $t3, ($a0) /* ACDFF4 80056E54 8E2A0004 */ lw $t2, 4($s1) /* ACDFF8 80056E58 3C018014 */ lui $at, %hi(D_8013A3C0) /* ACDFFC 80056E5C 26120050 */ addiu $s2, $s0, 0x50 /* ACE000 80056E60 AC8A0004 */ sw $t2, 4($a0) /* ACE004 80056E64 8E2B0008 */ lw $t3, 8($s1) /* ACE008 80056E68 44060000 */ mfc1 $a2, $f0 /* ACE00C 80056E6C 44070000 */ mfc1 $a3, $f0 /* ACE010 80056E70 AC8B0008 */ sw $t3, 8($a0) /* ACE014 80056E74 C7B00060 */ lwc1 $f16, 0x60($sp) /* ACE018 80056E78 C432A3C0 */ lwc1 $f18, %lo(D_8013A3C0)($at) /* ACE01C 80056E7C 02402825 */ move $a1, $s2 /* ACE020 80056E80 46028100 */ add.s $f4, $f16, $f2 /* ACE024 80056E84 E7B20010 */ swc1 $f18, 0x10($sp) /* ACE028 80056E88 0C010E8F */ jal func_80043A3C /* ACE02C 80056E8C E7A40060 */ swc1 $f4, 0x60($sp) /* ACE030 80056E90 860C0000 */ lh $t4, ($s0) /* ACE034 80056E94 3C0E8012 */ lui $t6, %hi(D_8011DA9C) /* ACE038 80056E98 25CEDA9C */ addiu $t6, %lo(D_8011DA9C) # addiu $t6, $t6, -0x2564 /* ACE03C 80056E9C 000C6880 */ sll $t5, $t4, 2 /* ACE040 80056EA0 01AC6823 */ subu $t5, $t5, $t4 /* ACE044 80056EA4 000D6880 */ sll $t5, $t5, 2 /* ACE048 80056EA8 A600015A */ sh $zero, 0x15a($s0) /* ACE04C 80056EAC 01AE7821 */ addu $t7, $t5, $t6 /* ACE050 80056EB0 8DF90000 */ lw $t9, ($t7) /* ACE054 80056EB4 27A40048 */ addiu $a0, $sp, 0x48 /* ACE058 80056EB8 2605005C */ addiu $a1, $s0, 0x5c /* ACE05C 80056EBC AC990000 */ sw $t9, ($a0) /* ACE060 80056EC0 8DF80004 */ lw $t8, 4($t7) /* ACE064 80056EC4 8C890000 */ lw $t1, ($a0) /* ACE068 80056EC8 3C01428C */ li $at, 0x428C0000 # 0.000000 /* ACE06C 80056ECC AC980004 */ sw $t8, 4($a0) /* ACE070 80056ED0 8DF90008 */ lw $t9, 8($t7) /* ACE074 80056ED4 44813000 */ mtc1 $at, $f6 /* ACE078 80056ED8 AC990008 */ sw $t9, 8($a0) /* ACE07C 80056EDC AE090074 */ sw $t1, 0x74($s0) /* ACE080 80056EE0 8C880004 */ lw $t0, 4($a0) /* ACE084 80056EE4 AE080078 */ sw $t0, 0x78($s0) /* ACE088 80056EE8 8C890008 */ lw $t1, 8($a0) /* ACE08C 80056EEC AE09007C */ sw $t1, 0x7c($s0) /* ACE090 80056EF0 8C8B0000 */ lw $t3, ($a0) /* ACE094 80056EF4 ACAB0000 */ sw $t3, ($a1) /* ACE098 80056EF8 8C8A0004 */ lw $t2, 4($a0) /* ACE09C 80056EFC ACAA0004 */ sw $t2, 4($a1) /* ACE0A0 80056F00 8C8B0008 */ lw $t3, 8($a0) /* ACE0A4 80056F04 ACAB0008 */ sw $t3, 8($a1) /* ACE0A8 80056F08 E60600FC */ swc1 $f6, 0xfc($s0) .L80056F0C: /* ACE0AC 80056F0C 0C01EFE4 */ jal func_8007BF90 /* ACE0B0 80056F10 02402025 */ move $a0, $s2 /* ACE0B4 80056F14 44804000 */ mtc1 $zero, $f8 /* ACE0B8 80056F18 E60000DC */ swc1 $f0, 0xdc($s0) /* ACE0BC 80056F1C C60A0050 */ lwc1 $f10, 0x50($s0) /* ACE0C0 80056F20 E6080100 */ swc1 $f8, 0x100($s0) /* ACE0C4 80056F24 C6300000 */ lwc1 $f16, ($s1) /* ACE0C8 80056F28 C6120054 */ lwc1 $f18, 0x54($s0) /* ACE0CC 80056F2C 24020001 */ li $v0, 1 /* ACE0D0 80056F30 46105101 */ sub.s $f4, $f10, $f16 /* ACE0D4 80056F34 C60A0058 */ lwc1 $f10, 0x58($s0) /* ACE0D8 80056F38 E60400E4 */ swc1 $f4, 0xe4($s0) /* ACE0DC 80056F3C C6260004 */ lwc1 $f6, 4($s1) /* ACE0E0 80056F40 46069201 */ sub.s $f8, $f18, $f6 /* ACE0E4 80056F44 E60800E8 */ swc1 $f8, 0xe8($s0) /* ACE0E8 80056F48 C6300008 */ lwc1 $f16, 8($s1) /* ACE0EC 80056F4C 46105101 */ sub.s $f4, $f10, $f16 /* ACE0F0 80056F50 E60400EC */ swc1 $f4, 0xec($s0) /* ACE0F4 80056F54 8FBF002C */ lw $ra, 0x2c($sp) /* ACE0F8 80056F58 8FB20028 */ lw $s2, 0x28($sp) /* ACE0FC 80056F5C 8FB10024 */ lw $s1, 0x24($sp) /* ACE100 80056F60 8FB00020 */ lw $s0, 0x20($sp) /* ACE104 80056F64 03E00008 */ jr $ra /* ACE108 80056F68 27BD0070 */ addiu $sp, $sp, 0x70 # SPLIT /* ACE10C 80056F6C 27BDFF40 */ addiu $sp, $sp, -0xc0 /* ACE110 80056F70 AFBF0024 */ sw $ra, 0x24($sp) /* ACE114 80056F74 AFB20020 */ sw $s2, 0x20($sp) /* ACE118 80056F78 AFB1001C */ sw $s1, 0x1c($sp) /* ACE11C 80056F7C AFB00018 */ sw $s0, 0x18($sp) /* ACE120 80056F80 8482015E */ lh $v0, 0x15e($a0) /* ACE124 80056F84 00808025 */ move $s0, $a0 /* ACE128 80056F88 2401000A */ li $at, 10 /* ACE12C 80056F8C 5040000A */ beql $v0, $zero, .L80056FB8 /* ACE130 80056F90 860F0142 */ lh $t7, 0x142($s0) /* ACE134 80056F94 10410007 */ beq $v0, $at, .L80056FB4 /* ACE138 80056F98 24010014 */ li $at, 20 /* ACE13C 80056F9C 10410005 */ beq $v0, $at, .L80056FB4 /* ACE140 80056FA0 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016 /* ACE144 80056FA4 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6) /* ACE148 80056FA8 85C20314 */ lh $v0, 0x314($t6) /* ACE14C 80056FAC 1040000F */ beqz $v0, .L80056FEC /* ACE150 80056FB0 00000000 */ nop .L80056FB4: /* ACE154 80056FB4 860F0142 */ lh $t7, 0x142($s0) .L80056FB8: /* ACE158 80056FB8 3C198012 */ lui $t9, %hi(D_8011D068) /* ACE15C 80056FBC 860B0144 */ lh $t3, 0x144($s0) /* ACE160 80056FC0 000FC0C0 */ sll $t8, $t7, 3 /* ACE164 80056FC4 0338C821 */ addu $t9, $t9, $t8 /* ACE168 80056FC8 8F39D068 */ lw $t9, %lo(D_8011D068)($t9) /* ACE16C 80056FCC 000B60C0 */ sll $t4, $t3, 3 /* ACE170 80056FD0 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016 /* ACE174 80056FD4 032C6821 */ addu $t5, $t9, $t4 /* ACE178 80056FD8 8DA30004 */ lw $v1, 4($t5) /* ACE17C 80056FDC 846E0000 */ lh $t6, ($v1) /* ACE180 80056FE0 A60E0000 */ sh $t6, ($s0) /* ACE184 80056FE4 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7) /* ACE188 80056FE8 85E20314 */ lh $v0, 0x314($t7) .L80056FEC: /* ACE18C 80056FEC 50400004 */ beql $v0, $zero, .L80057000 /* ACE190 80056FF0 2611005C */ addiu $s1, $s0, 0x5c /* ACE194 80056FF4 0C011495 */ jal func_80045254 /* ACE198 80056FF8 02002025 */ move $a0, $s0 /* ACE19C 80056FFC 2611005C */ addiu $s1, $s0, 0x5c .L80057000: /* ACE1A0 80057000 26120050 */ addiu $s2, $s0, 0x50 /* ACE1A4 80057004 02403025 */ move $a2, $s2 /* ACE1A8 80057008 02202825 */ move $a1, $s1 /* ACE1AC 8005700C 0C01F124 */ jal func_8007C490 /* ACE1B0 80057010 27A40074 */ addiu $a0, $sp, 0x74 /* ACE1B4 80057014 0C0111DB */ jal func_8004476C /* ACE1B8 80057018 02002025 */ move $a0, $s0 /* ACE1BC 8005701C 27A400A0 */ addiu $a0, $sp, 0xa0 /* ACE1C0 80057020 00402825 */ move $a1, $v0 /* ACE1C4 80057024 0C010EF1 */ jal func_80043BC4 /* ACE1C8 80057028 AFA2006C */ sw $v0, 0x6c($sp) /* ACE1CC 8005702C 8FA3006C */ lw $v1, 0x6c($sp) /* ACE1D0 80057030 27B80064 */ addiu $t8, $sp, 0x64 /* ACE1D4 80057034 2401FFFF */ li $at, -1 /* ACE1D8 80057038 88790006 */ lwl $t9, 6($v1) /* ACE1DC 8005703C 98790009 */ lwr $t9, 9($v1) /* ACE1E0 80057040 26040074 */ addiu $a0, $s0, 0x74 /* ACE1E4 80057044 3C098012 */ lui $t1, %hi(D_8011D3A0) # $t1, 0x8012 /* ACE1E8 80057048 AF190000 */ sw $t9, ($t8) /* ACE1EC 8005704C 9479000A */ lhu $t9, 0xa($v1) /* ACE1F0 80057050 A7190004 */ sh $t9, 4($t8) /* ACE1F4 80057054 8468000C */ lh $t0, 0xc($v1) /* ACE1F8 80057058 55010003 */ bnel $t0, $at, .L80057068 /* ACE1FC 8005705C 29010169 */ slti $at, $t0, 0x169 /* ACE200 80057060 24081770 */ li $t0, 6000 /* ACE204 80057064 29010169 */ slti $at, $t0, 0x169 .L80057068: /* ACE208 80057068 10200008 */ beqz $at, .L8005708C /* ACE20C 8005706C 01000821 */ addu $at, $t0, $zero /* ACE210 80057070 00084080 */ sll $t0, $t0, 2 /* ACE214 80057074 01014023 */ subu $t0, $t0, $at /* ACE218 80057078 000840C0 */ sll $t0, $t0, 3 /* ACE21C 8005707C 01014021 */ addu $t0, $t0, $at /* ACE220 80057080 00084080 */ sll $t0, $t0, 2 /* ACE224 80057084 00084400 */ sll $t0, $t0, 0x10 /* ACE228 80057088 00084403 */ sra $t0, $t0, 0x10 .L8005708C: /* ACE22C 8005708C 860C0000 */ lh $t4, ($s0) /* ACE230 80057090 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACE234 80057094 C7A400A0 */ lwc1 $f4, 0xa0($sp) /* ACE238 80057098 AC2CD3A0 */ sw $t4, %lo(D_8011D3A0)($at) /* ACE23C 8005709C C4860000 */ lwc1 $f6, ($a0) /* ACE240 800570A0 C7A800A4 */ lwc1 $f8, 0xa4($sp) /* ACE244 800570A4 46062032 */ c.eq.s $f4, $f6 /* ACE248 800570A8 00000000 */ nop /* ACE24C 800570AC 45020010 */ bc1fl .L800570F0 /* ACE250 800570B0 8E0F0090 */ lw $t7, 0x90($s0) /* ACE254 800570B4 C48A0004 */ lwc1 $f10, 4($a0) /* ACE258 800570B8 C7A400A8 */ lwc1 $f4, 0xa8($sp) /* ACE25C 800570BC 460A4032 */ c.eq.s $f8, $f10 /* ACE260 800570C0 00000000 */ nop /* ACE264 800570C4 4502000A */ bc1fl .L800570F0 /* ACE268 800570C8 8E0F0090 */ lw $t7, 0x90($s0) /* ACE26C 800570CC C4860008 */ lwc1 $f6, 8($a0) /* ACE270 800570D0 46062032 */ c.eq.s $f4, $f6 /* ACE274 800570D4 00000000 */ nop /* ACE278 800570D8 45020005 */ bc1fl .L800570F0 /* ACE27C 800570DC 8E0F0090 */ lw $t7, 0x90($s0) /* ACE280 800570E0 860D015E */ lh $t5, 0x15e($s0) /* ACE284 800570E4 55A0001A */ bnezl $t5, .L80057150 /* ACE288 800570E8 26030004 */ addiu $v1, $s0, 4 /* ACE28C 800570EC 8E0F0090 */ lw $t7, 0x90($s0) .L800570F0: /* ACE290 800570F0 240E000C */ li $t6, 12 /* ACE294 800570F4 2529D3A0 */ addiu $t1, %lo(D_8011D3A0) # addiu $t1, $t1, -0x2c60 /* ACE298 800570F8 A5EE0110 */ sh $t6, 0x110($t7) /* ACE29C 800570FC 8D380000 */ lw $t8, ($t1) /* ACE2A0 80057100 26030004 */ addiu $v1, $s0, 4 /* ACE2A4 80057104 240C000C */ li $t4, 12 /* ACE2A8 80057108 330BF0FF */ andi $t3, $t8, 0xf0ff /* ACE2AC 8005710C 35790300 */ ori $t9, $t3, 0x300 /* ACE2B0 80057110 AD390000 */ sw $t9, ($t1) /* ACE2B4 80057114 C6080098 */ lwc1 $f8, 0x98($s0) /* ACE2B8 80057118 A46C0004 */ sh $t4, 4($v1) /* ACE2BC 8005711C 27AD00A0 */ addiu $t5, $sp, 0xa0 /* ACE2C0 80057120 E4680000 */ swc1 $f8, ($v1) /* ACE2C4 80057124 8DAF0000 */ lw $t7, ($t5) /* ACE2C8 80057128 AC8F0000 */ sw $t7, ($a0) /* ACE2CC 8005712C 8DAE0004 */ lw $t6, 4($t5) /* ACE2D0 80057130 AC8E0004 */ sw $t6, 4($a0) /* ACE2D4 80057134 8DAF0008 */ lw $t7, 8($t5) /* ACE2D8 80057138 AC8F0008 */ sw $t7, 8($a0) /* ACE2DC 8005713C 8602015E */ lh $v0, 0x15e($s0) /* ACE2E0 80057140 14400002 */ bnez $v0, .L8005714C /* ACE2E4 80057144 24580001 */ addiu $t8, $v0, 1 /* ACE2E8 80057148 A618015E */ sh $t8, 0x15e($s0) .L8005714C: /* ACE2EC 8005714C 26030004 */ addiu $v1, $s0, 4 .L80057150: /* ACE2F0 80057150 84650004 */ lh $a1, 4($v1) /* ACE2F4 80057154 3C098012 */ lui $t1, %hi(D_8011D3A0) /* ACE2F8 80057158 2529D3A0 */ addiu $t1, %lo(D_8011D3A0) # addiu $t1, $t1, -0x2c60 /* ACE2FC 8005715C 18A00077 */ blez $a1, .L8005733C /* ACE300 80057160 26020094 */ addiu $v0, $s0, 0x94 /* ACE304 80057164 44855000 */ mtc1 $a1, $f10 /* ACE308 80057168 27AA0094 */ addiu $t2, $sp, 0x94 /* ACE30C 8005716C 3C013F00 */ li $at, 0x3F000000 # 0.000000 /* ACE310 80057170 46805120 */ cvt.s.w $f4, $f10 /* ACE314 80057174 44810000 */ mtc1 $at, $f0 /* ACE318 80057178 3C018014 */ lui $at, %hi(D_8013A3C4) /* ACE31C 8005717C 27AC0088 */ addiu $t4, $sp, 0x88 /* ACE320 80057180 3C073C23 */ lui $a3, (0x3C23D70A >> 16) # lui $a3, 0x3c23 /* ACE324 80057184 44060000 */ mfc1 $a2, $f0 /* ACE328 80057188 E7A40058 */ swc1 $f4, 0x58($sp) /* ACE32C 8005718C 8C990000 */ lw $t9, ($a0) /* ACE330 80057190 34E7D70A */ ori $a3, (0x3C23D70A & 0xFFFF) # ori $a3, $a3, 0xd70a /* ACE334 80057194 AD590000 */ sw $t9, ($t2) /* ACE338 80057198 8C8B0004 */ lw $t3, 4($a0) /* ACE33C 8005719C AD4B0004 */ sw $t3, 4($t2) /* ACE340 800571A0 8C990008 */ lw $t9, 8($a0) /* ACE344 800571A4 AD590008 */ sw $t9, 8($t2) /* ACE348 800571A8 C7A80094 */ lwc1 $f8, 0x94($sp) /* ACE34C 800571AC C4460000 */ lwc1 $f6, ($v0) /* ACE350 800571B0 46083281 */ sub.s $f10, $f6, $f8 /* ACE354 800571B4 46005102 */ mul.s $f4, $f10, $f0 /* ACE358 800571B8 46044180 */ add.s $f6, $f8, $f4 /* ACE35C 800571BC E7A60094 */ swc1 $f6, 0x94($sp) /* ACE360 800571C0 C4680000 */ lwc1 $f8, ($v1) /* ACE364 800571C4 C44A0004 */ lwc1 $f10, 4($v0) /* ACE368 800571C8 C426A3C4 */ lwc1 $f6, %lo(D_8013A3C4)($at) /* ACE36C 800571CC 46085101 */ sub.s $f4, $f10, $f8 /* ACE370 800571D0 C7A80098 */ lwc1 $f8, 0x98($sp) /* ACE374 800571D4 46062282 */ mul.s $f10, $f4, $f6 /* ACE378 800571D8 460A4100 */ add.s $f4, $f8, $f10 /* ACE37C 800571DC E7A40098 */ swc1 $f4, 0x98($sp) /* ACE380 800571E0 8D4E0000 */ lw $t6, ($t2) /* ACE384 800571E4 AD8E0000 */ sw $t6, ($t4) /* ACE388 800571E8 8D4D0004 */ lw $t5, 4($t2) /* ACE38C 800571EC AD8D0004 */ sw $t5, 4($t4) /* ACE390 800571F0 8D4E0008 */ lw $t6, 8($t2) /* ACE394 800571F4 AD8E0008 */ sw $t6, 8($t4) /* ACE398 800571F8 C62E0004 */ lwc1 $f14, 4($s1) /* ACE39C 800571FC A7A80062 */ sh $t0, 0x62($sp) /* ACE3A0 80057200 AFA30030 */ sw $v1, 0x30($sp) /* ACE3A4 80057204 0C010E27 */ jal func_8004389C /* ACE3A8 80057208 C7AC0098 */ lwc1 $f12, 0x98($sp) /* ACE3AC 8005720C 87B80064 */ lh $t8, 0x64($sp) /* ACE3B0 80057210 3C0142C8 */ li $at, 0x42C80000 # 0.000000 /* ACE3B4 80057214 44813000 */ mtc1 $at, $f6 /* ACE3B8 80057218 87AF0066 */ lh $t7, 0x66($sp) /* ACE3BC 8005721C 00185823 */ negu $t3, $t8 /* ACE3C0 80057220 E7A0008C */ swc1 $f0, 0x8c($sp) /* ACE3C4 80057224 A7AB00B0 */ sh $t3, 0xb0($sp) /* ACE3C8 80057228 27A4007C */ addiu $a0, $sp, 0x7c /* ACE3CC 8005722C 27A50088 */ addiu $a1, $sp, 0x88 /* ACE3D0 80057230 27A600AC */ addiu $a2, $sp, 0xac /* ACE3D4 80057234 E7A600AC */ swc1 $f6, 0xac($sp) /* ACE3D8 80057238 0C010F0A */ jal func_80043C28 /* ACE3DC 8005723C A7AF00B2 */ sh $t7, 0xb2($sp) /* ACE3E0 80057240 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* ACE3E4 80057244 44814000 */ mtc1 $at, $f8 /* ACE3E8 80057248 C7AA0058 */ lwc1 $f10, 0x58($sp) /* ACE3EC 8005724C C7A40088 */ lwc1 $f4, 0x88($sp) /* ACE3F0 80057250 8FA30030 */ lw $v1, 0x30($sp) /* ACE3F4 80057254 460A4003 */ div.s $f0, $f8, $f10 /* ACE3F8 80057258 87A80062 */ lh $t0, 0x62($sp) /* ACE3FC 8005725C 3C018014 */ lui $at, %hi(D_8013A3C8) /* ACE400 80057260 E7A00054 */ swc1 $f0, 0x54($sp) /* ACE404 80057264 C62C0000 */ lwc1 $f12, ($s1) /* ACE408 80057268 C6220004 */ lwc1 $f2, 4($s1) /* ACE40C 8005726C C62E0008 */ lwc1 $f14, 8($s1) /* ACE410 80057270 460C2181 */ sub.s $f6, $f4, $f12 /* ACE414 80057274 46003202 */ mul.s $f8, $f6, $f0 /* ACE418 80057278 46086280 */ add.s $f10, $f12, $f8 /* ACE41C 8005727C E62A0000 */ swc1 $f10, ($s1) /* ACE420 80057280 C7A4008C */ lwc1 $f4, 0x8c($sp) /* ACE424 80057284 46022181 */ sub.s $f6, $f4, $f2 /* ACE428 80057288 46003202 */ mul.s $f8, $f6, $f0 /* ACE42C 8005728C 46081280 */ add.s $f10, $f2, $f8 /* ACE430 80057290 E62A0004 */ swc1 $f10, 4($s1) /* ACE434 80057294 C7A40090 */ lwc1 $f4, 0x90($sp) /* ACE438 80057298 460E2181 */ sub.s $f6, $f4, $f14 /* ACE43C 8005729C 46003202 */ mul.s $f8, $f6, $f0 /* ACE440 800572A0 46087280 */ add.s $f10, $f14, $f8 /* ACE444 800572A4 E62A0008 */ swc1 $f10, 8($s1) /* ACE448 800572A8 C6500000 */ lwc1 $f16, ($s2) /* ACE44C 800572AC C7A4007C */ lwc1 $f4, 0x7c($sp) /* ACE450 800572B0 C6520004 */ lwc1 $f18, 4($s2) /* ACE454 800572B4 C6420008 */ lwc1 $f2, 8($s2) /* ACE458 800572B8 46102181 */ sub.s $f6, $f4, $f16 /* ACE45C 800572BC 46003202 */ mul.s $f8, $f6, $f0 /* ACE460 800572C0 46088280 */ add.s $f10, $f16, $f8 /* ACE464 800572C4 E64A0000 */ swc1 $f10, ($s2) /* ACE468 800572C8 C7A40080 */ lwc1 $f4, 0x80($sp) /* ACE46C 800572CC 46122181 */ sub.s $f6, $f4, $f18 /* ACE470 800572D0 46003202 */ mul.s $f8, $f6, $f0 /* ACE474 800572D4 46089280 */ add.s $f10, $f18, $f8 /* ACE478 800572D8 E64A0004 */ swc1 $f10, 4($s2) /* ACE47C 800572DC C7A40084 */ lwc1 $f4, 0x84($sp) /* ACE480 800572E0 C7A80054 */ lwc1 $f8, 0x54($sp) /* ACE484 800572E4 46022181 */ sub.s $f6, $f4, $f2 /* ACE488 800572E8 46083282 */ mul.s $f10, $f6, $f8 /* ACE48C 800572EC 44883000 */ mtc1 $t0, $f6 /* ACE490 800572F0 00000000 */ nop /* ACE494 800572F4 46803220 */ cvt.s.w $f8, $f6 /* ACE498 800572F8 460A1100 */ add.s $f4, $f2, $f10 /* ACE49C 800572FC E6440008 */ swc1 $f4, 8($s2) /* ACE4A0 80057300 C42AA3C8 */ lwc1 $f10, %lo(D_8013A3C8)($at) /* ACE4A4 80057304 84790004 */ lh $t9, 4($v1) /* ACE4A8 80057308 C60000FC */ lwc1 $f0, 0xfc($s0) /* ACE4AC 8005730C 460A4102 */ mul.s $f4, $f8, $f10 /* ACE4B0 80057310 44994000 */ mtc1 $t9, $f8 /* ACE4B4 80057314 00000000 */ nop /* ACE4B8 80057318 468042A0 */ cvt.s.w $f10, $f8 /* ACE4BC 8005731C 46002181 */ sub.s $f6, $f4, $f0 /* ACE4C0 80057320 460A3103 */ div.s $f4, $f6, $f10 /* ACE4C4 80057324 46040200 */ add.s $f8, $f0, $f4 /* ACE4C8 80057328 E60800FC */ swc1 $f8, 0xfc($s0) /* ACE4CC 8005732C 846C0004 */ lh $t4, 4($v1) /* ACE4D0 80057330 258DFFFF */ addiu $t5, $t4, -1 /* ACE4D4 80057334 10000035 */ b .L8005740C /* ACE4D8 80057338 A46D0004 */ sh $t5, 4($v1) .L8005733C: /* ACE4DC 8005733C 8D2E0000 */ lw $t6, ($t1) /* ACE4E0 80057340 27AA0094 */ addiu $t2, $sp, 0x94 /* ACE4E4 80057344 3C013F00 */ li $at, 0x3F000000 # 0.000000 /* ACE4E8 80057348 31CFF0FF */ andi $t7, $t6, 0xf0ff /* ACE4EC 8005734C AD2F0000 */ sw $t7, ($t1) /* ACE4F0 80057350 8C8B0000 */ lw $t3, ($a0) /* ACE4F4 80057354 44810000 */ mtc1 $at, $f0 /* ACE4F8 80057358 3C018014 */ lui $at, %hi(D_8013A3CC) /* ACE4FC 8005735C AD4B0000 */ sw $t3, ($t2) /* ACE500 80057360 8C980004 */ lw $t8, 4($a0) /* ACE504 80057364 3C073C23 */ lui $a3, (0x3C23D70A >> 16) # lui $a3, 0x3c23 /* ACE508 80057368 44060000 */ mfc1 $a2, $f0 /* ACE50C 8005736C AD580004 */ sw $t8, 4($t2) /* ACE510 80057370 8C8B0008 */ lw $t3, 8($a0) /* ACE514 80057374 34E7D70A */ ori $a3, (0x3C23D70A & 0xFFFF) # ori $a3, $a3, 0xd70a /* ACE518 80057378 AD4B0008 */ sw $t3, 8($t2) /* ACE51C 8005737C C7AA0094 */ lwc1 $f10, 0x94($sp) /* ACE520 80057380 C4460000 */ lwc1 $f6, ($v0) /* ACE524 80057384 460A3101 */ sub.s $f4, $f6, $f10 /* ACE528 80057388 46002202 */ mul.s $f8, $f4, $f0 /* ACE52C 8005738C 46085180 */ add.s $f6, $f10, $f8 /* ACE530 80057390 E7A60094 */ swc1 $f6, 0x94($sp) /* ACE534 80057394 C46A0000 */ lwc1 $f10, ($v1) /* ACE538 80057398 C4440004 */ lwc1 $f4, 4($v0) /* ACE53C 8005739C C426A3CC */ lwc1 $f6, %lo(D_8013A3CC)($at) /* ACE540 800573A0 460A2201 */ sub.s $f8, $f4, $f10 /* ACE544 800573A4 C7AA0098 */ lwc1 $f10, 0x98($sp) /* ACE548 800573A8 46064102 */ mul.s $f4, $f8, $f6 /* ACE54C 800573AC 46045200 */ add.s $f8, $f10, $f4 /* ACE550 800573B0 E7A80098 */ swc1 $f8, 0x98($sp) /* ACE554 800573B4 8D4C0000 */ lw $t4, ($t2) /* ACE558 800573B8 AE2C0000 */ sw $t4, ($s1) /* ACE55C 800573BC 8D590004 */ lw $t9, 4($t2) /* ACE560 800573C0 AE390004 */ sw $t9, 4($s1) /* ACE564 800573C4 8D4C0008 */ lw $t4, 8($t2) /* ACE568 800573C8 C62E0004 */ lwc1 $f14, 4($s1) /* ACE56C 800573CC AE2C0008 */ sw $t4, 8($s1) /* ACE570 800573D0 0C010E27 */ jal func_8004389C /* ACE574 800573D4 C7AC0098 */ lwc1 $f12, 0x98($sp) /* ACE578 800573D8 E6200004 */ swc1 $f0, 4($s1) /* ACE57C 800573DC 87AE0064 */ lh $t6, 0x64($sp) /* ACE580 800573E0 3C0142C8 */ li $at, 0x42C80000 # 0.000000 /* ACE584 800573E4 44813000 */ mtc1 $at, $f6 /* ACE588 800573E8 87AD0066 */ lh $t5, 0x66($sp) /* ACE58C 800573EC 000E7823 */ negu $t7, $t6 /* ACE590 800573F0 A7AF00B0 */ sh $t7, 0xb0($sp) /* ACE594 800573F4 02402025 */ move $a0, $s2 /* ACE598 800573F8 02202825 */ move $a1, $s1 /* ACE59C 800573FC 27A600AC */ addiu $a2, $sp, 0xac /* ACE5A0 80057400 E7A600AC */ swc1 $f6, 0xac($sp) /* ACE5A4 80057404 0C010F0A */ jal func_80043C28 /* ACE5A8 80057408 A7AD00B2 */ sh $t5, 0xb2($sp) .L8005740C: /* ACE5AC 8005740C 8FBF0024 */ lw $ra, 0x24($sp) /* ACE5B0 80057410 8FB00018 */ lw $s0, 0x18($sp) /* ACE5B4 80057414 8FB1001C */ lw $s1, 0x1c($sp) /* ACE5B8 80057418 8FB20020 */ lw $s2, 0x20($sp) /* ACE5BC 8005741C 27BD00C0 */ addiu $sp, $sp, 0xc0 /* ACE5C0 80057420 03E00008 */ jr $ra /* ACE5C4 80057424 24020001 */ li $v0, 1 # SPLIT /* ACE5C8 80057428 27BDFFE8 */ addiu $sp, $sp, -0x18 /* ACE5CC 8005742C AFBF0014 */ sw $ra, 0x14($sp) /* ACE5D0 80057430 0C011CE5 */ jal func_80047394 /* ACE5D4 80057434 00000000 */ nop /* ACE5D8 80057438 8FBF0014 */ lw $ra, 0x14($sp) /* ACE5DC 8005743C 27BD0018 */ addiu $sp, $sp, 0x18 /* ACE5E0 80057440 03E00008 */ jr $ra /* ACE5E4 80057444 00000000 */ nop # SPLIT /* ACE5E8 80057448 27BDFF38 */ addiu $sp, $sp, -0xc8 /* ACE5EC 8005744C AFB00020 */ sw $s0, 0x20($sp) /* ACE5F0 80057450 00808025 */ move $s0, $a0 /* ACE5F4 80057454 AFBF0024 */ sw $ra, 0x24($sp) /* ACE5F8 80057458 0C00B721 */ jal func_8002DC84 /* ACE5FC 8005745C 8C840090 */ lw $a0, 0x90($a0) /* ACE600 80057460 3C018014 */ lui $at, %hi(D_8013A3D0) /* ACE604 80057464 C42CA3D0 */ lwc1 $f12, %lo(D_8013A3D0)($at) /* ACE608 80057468 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* ACE60C 8005746C 44814000 */ mtc1 $at, $f8 /* ACE610 80057470 E7A00098 */ swc1 $f0, 0x98($sp) /* ACE614 80057474 860E014C */ lh $t6, 0x14c($s0) /* ACE618 80057478 3C014288 */ li $at, 0x42880000 # 0.000000 /* ACE61C 8005747C 44818000 */ mtc1 $at, $f16 /* ACE620 80057480 31CFFFEF */ andi $t7, $t6, 0xffef /* ACE624 80057484 A60F014C */ sh $t7, 0x14c($s0) /* ACE628 80057488 46008483 */ div.s $f18, $f16, $f0 /* ACE62C 8005748C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 /* ACE630 80057490 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) /* ACE634 80057494 2401000A */ li $at, 10 /* ACE638 80057498 845801F0 */ lh $t8, 0x1f0($v0) /* ACE63C 8005749C 44982000 */ mtc1 $t8, $f4 /* ACE640 800574A0 00000000 */ nop /* ACE644 800574A4 468021A0 */ cvt.s.w $f6, $f4 /* ACE648 800574A8 460C3082 */ mul.s $f2, $f6, $f12 /* ACE64C 800574AC 00000000 */ nop /* ACE650 800574B0 46121102 */ mul.s $f4, $f2, $f18 /* ACE654 800574B4 46024280 */ add.s $f10, $f8, $f2 /* ACE658 800574B8 46045181 */ sub.s $f6, $f10, $f4 /* ACE65C 800574BC E7A60078 */ swc1 $f6, 0x78($sp) /* ACE660 800574C0 8603015E */ lh $v1, 0x15e($s0) /* ACE664 800574C4 10600008 */ beqz $v1, .L800574E8 /* ACE668 800574C8 00000000 */ nop /* ACE66C 800574CC 10610006 */ beq $v1, $at, .L800574E8 /* ACE670 800574D0 24010014 */ li $at, 20 /* ACE674 800574D4 50610005 */ beql $v1, $at, .L800574EC /* ACE678 800574D8 86190142 */ lh $t9, 0x142($s0) /* ACE67C 800574DC 84430314 */ lh $v1, 0x314($v0) /* ACE680 800574E0 50600022 */ beql $v1, $zero, .L8005756C /* ACE684 800574E4 260C000C */ addiu $t4, $s0, 0xc .L800574E8: /* ACE688 800574E8 86190142 */ lh $t9, 0x142($s0) .L800574EC: /* ACE68C 800574EC 3C0C8012 */ lui $t4, %hi(D_8011D068) /* ACE690 800574F0 860D0144 */ lh $t5, 0x144($s0) /* ACE694 800574F4 001958C0 */ sll $t3, $t9, 3 /* ACE698 800574F8 018B6021 */ addu $t4, $t4, $t3 /* ACE69C 800574FC 8D8CD068 */ lw $t4, %lo(D_8011D068)($t4) /* ACE6A0 80057500 000D70C0 */ sll $t6, $t5, 3 /* ACE6A4 80057504 C7A40078 */ lwc1 $f4, 0x78($sp) /* ACE6A8 80057508 018E7821 */ addu $t7, $t4, $t6 /* ACE6AC 8005750C 8DE20004 */ lw $v0, 4($t7) /* ACE6B0 80057510 2604000C */ addiu $a0, $s0, 0xc /* ACE6B4 80057514 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016 /* ACE6B8 80057518 84580000 */ lh $t8, ($v0) /* ACE6BC 8005751C 24420008 */ addiu $v0, $v0, 8 /* ACE6C0 80057520 44984000 */ mtc1 $t8, $f8 /* ACE6C4 80057524 00000000 */ nop /* ACE6C8 80057528 46804420 */ cvt.s.w $f16, $f8 /* ACE6CC 8005752C 460C8482 */ mul.s $f18, $f16, $f12 /* ACE6D0 80057530 00000000 */ nop /* ACE6D4 80057534 46009282 */ mul.s $f10, $f18, $f0 /* ACE6D8 80057538 00000000 */ nop /* ACE6DC 8005753C 46045182 */ mul.s $f6, $f10, $f4 /* ACE6E0 80057540 E4860000 */ swc1 $f6, ($a0) /* ACE6E4 80057544 8459FFFC */ lh $t9, -4($v0) /* ACE6E8 80057548 44994000 */ mtc1 $t9, $f8 /* ACE6EC 8005754C 00000000 */ nop /* ACE6F0 80057550 46804420 */ cvt.s.w $f16, $f8 /* ACE6F4 80057554 E4900004 */ swc1 $f16, 4($a0) /* ACE6F8 80057558 844B0000 */ lh $t3, ($v0) /* ACE6FC 8005755C A48B0008 */ sh $t3, 8($a0) /* ACE700 80057560 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5) /* ACE704 80057564 85A30314 */ lh $v1, 0x314($t5) /* ACE708 80057568 260C000C */ addiu $t4, $s0, 0xc .L8005756C: /* ACE70C 8005756C 10600003 */ beqz $v1, .L8005757C /* ACE710 80057570 AFAC0038 */ sw $t4, 0x38($sp) /* ACE714 80057574 0C011495 */ jal func_80045254 /* ACE718 80057578 02002025 */ move $a0, $s0 .L8005757C: /* ACE71C 8005757C 8E050000 */ lw $a1, ($s0) /* ACE720 80057580 26020094 */ addiu $v0, $s0, 0x94 /* ACE724 80057584 50A00007 */ beql $a1, $zero, .L800575A4 /* ACE728 80057588 8C590000 */ lw $t9, ($v0) /* ACE72C 8005758C 0C00BBD1 */ jal func_8002EF44 /* ACE730 80057590 27A4007C */ addiu $a0, $sp, 0x7c /* ACE734 80057594 260E0094 */ addiu $t6, $s0, 0x94 /* ACE738 80057598 10000015 */ b .L800575F0 /* ACE73C 8005759C AFAE003C */ sw $t6, 0x3c($sp) /* ACE740 800575A0 8C590000 */ lw $t9, ($v0) .L800575A4: /* ACE744 800575A4 27AF007C */ addiu $t7, $sp, 0x7c /* ACE748 800575A8 ADF90000 */ sw $t9, ($t7) /* ACE74C 800575AC 8C580004 */ lw $t8, 4($v0) /* ACE750 800575B0 ADF80004 */ sw $t8, 4($t7) /* ACE754 800575B4 8C590008 */ lw $t9, 8($v0) /* ACE758 800575B8 ADF90008 */ sw $t9, 8($t7) /* ACE75C 800575BC 8C58000C */ lw $t8, 0xc($v0) /* ACE760 800575C0 ADF8000C */ sw $t8, 0xc($t7) /* ACE764 800575C4 8C590010 */ lw $t9, 0x10($v0) /* ACE768 800575C8 ADF90010 */ sw $t9, 0x10($t7) /* ACE76C 800575CC 8FAB0038 */ lw $t3, 0x38($sp) /* ACE770 800575D0 C7B20098 */ lwc1 $f18, 0x98($sp) /* ACE774 800575D4 C7A60080 */ lwc1 $f6, 0x80($sp) /* ACE778 800575D8 C56A0000 */ lwc1 $f10, ($t3) /* ACE77C 800575DC AFA2003C */ sw $v0, 0x3c($sp) /* ACE780 800575E0 A7A00088 */ sh $zero, 0x88($sp) /* ACE784 800575E4 460A9100 */ add.s $f4, $f18, $f10 /* ACE788 800575E8 46043200 */ add.s $f8, $f6, $f4 /* ACE78C 800575EC E7A80080 */ swc1 $f8, 0x80($sp) .L800575F0: /* ACE790 800575F0 26050050 */ addiu $a1, $s0, 0x50 /* ACE794 800575F4 2606005C */ addiu $a2, $s0, 0x5c /* ACE798 800575F8 AFA60048 */ sw $a2, 0x48($sp) /* ACE79C 800575FC AFA50044 */ sw $a1, 0x44($sp) /* ACE7A0 80057600 0C01F124 */ jal func_8007C490 /* ACE7A4 80057604 27A4009C */ addiu $a0, $sp, 0x9c /* ACE7A8 80057608 8FAA0038 */ lw $t2, 0x38($sp) /* ACE7AC 8005760C 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACE7B0 80057610 854D0008 */ lh $t5, 8($t2) /* ACE7B4 80057614 AC2DD3A0 */ sw $t5, %lo(D_8011D3A0)($at) /* ACE7B8 80057618 8603015E */ lh $v1, 0x15e($s0) /* ACE7BC 8005761C 2C610005 */ sltiu $at, $v1, 5 /* ACE7C0 80057620 10200107 */ beqz $at, .L80057A40 /* ACE7C4 80057624 00036080 */ sll $t4, $v1, 2 /* ACE7C8 80057628 3C018014 */ lui $at, %hi(jtbl_8013A3D4) /* ACE7CC 8005762C 002C0821 */ addu $at, $at, $t4 /* ACE7D0 80057630 8C2CA3D4 */ lw $t4, %lo(jtbl_8013A3D4)($at) /* ACE7D4 80057634 01800008 */ jr $t4 /* ACE7D8 80057638 00000000 */ nop /* ACE7DC 8005763C 860E014C */ lh $t6, 0x14c($s0) /* ACE7E0 80057640 24780001 */ addiu $t8, $v1, 1 /* ACE7E4 80057644 A618015E */ sh $t8, 0x15e($s0) /* ACE7E8 80057648 31CFFFF9 */ andi $t7, $t6, 0xfff9 /* ACE7EC 8005764C A60F014C */ sh $t7, 0x14c($s0) /* ACE7F0 80057650 8FB9003C */ lw $t9, 0x3c($sp) /* ACE7F4 80057654 87AD008A */ lh $t5, 0x8a($sp) /* ACE7F8 80057658 87AC008A */ lh $t4, 0x8a($sp) /* ACE7FC 8005765C 872B000E */ lh $t3, 0xe($t9) /* ACE800 80057660 87AF008A */ lh $t7, 0x8a($sp) /* ACE804 80057664 258E8001 */ addiu $t6, $t4, -0x7fff /* ACE808 80057668 016D1023 */ subu $v0, $t3, $t5 /* ACE80C 8005766C 04400003 */ bltz $v0, .L8005767C /* ACE810 80057670 00023823 */ negu $a3, $v0 /* ACE814 80057674 10000001 */ b .L8005767C /* ACE818 80057678 00403825 */ move $a3, $v0 .L8005767C: /* ACE81C 8005767C 28E14000 */ slti $at, $a3, 0x4000 /* ACE820 80057680 54200004 */ bnezl $at, .L80057694 /* ACE824 80057684 A60F0018 */ sh $t7, 0x18($s0) /* ACE828 80057688 10000002 */ b .L80057694 /* ACE82C 8005768C A60E0018 */ sh $t6, 0x18($s0) /* ACE830 80057690 A60F0018 */ sh $t7, 0x18($s0) .L80057694: /* ACE834 80057694 86180006 */ lh $t8, 6($s0) /* ACE838 80057698 2719FFFF */ addiu $t9, $t8, -1 /* ACE83C 8005769C A6190006 */ sh $t9, 6($s0) /* ACE840 800576A0 860B0006 */ lh $t3, 6($s0) /* ACE844 800576A4 5D60011B */ bgtzl $t3, .L80057B14 /* ACE848 800576A8 8FB9003C */ lw $t9, 0x3c($sp) /* ACE84C 800576AC 860D015E */ lh $t5, 0x15e($s0) /* ACE850 800576B0 25AC0001 */ addiu $t4, $t5, 1 /* ACE854 800576B4 A60C015E */ sh $t4, 0x15e($s0) /* ACE858 800576B8 854E0008 */ lh $t6, 8($t2) /* ACE85C 800576BC 31CF0001 */ andi $t7, $t6, 1 /* ACE860 800576C0 51E0001F */ beql $t7, $zero, .L80057740 /* ACE864 800576C4 240B0E38 */ li $t3, 3640 /* ACE868 800576C8 0C0111DB */ jal func_8004476C /* ACE86C 800576CC 02002025 */ move $a0, $s0 /* ACE870 800576D0 26040074 */ addiu $a0, $s0, 0x74 /* ACE874 800576D4 AFA40040 */ sw $a0, 0x40($sp) /* ACE878 800576D8 0C010EF1 */ jal func_80043BC4 /* ACE87C 800576DC 00402825 */ move $a1, $v0 /* ACE880 800576E0 8FB80040 */ lw $t8, 0x40($sp) /* ACE884 800576E4 27A7004C */ addiu $a3, $sp, 0x4c /* ACE888 800576E8 27AF00AC */ addiu $t7, $sp, 0xac /* ACE88C 800576EC 8F0B0000 */ lw $t3, ($t8) /* ACE890 800576F0 ACEB0000 */ sw $t3, ($a3) /* ACE894 800576F4 8F190004 */ lw $t9, 4($t8) /* ACE898 800576F8 8CEE0000 */ lw $t6, ($a3) /* ACE89C 800576FC ACF90004 */ sw $t9, 4($a3) /* ACE8A0 80057700 8F0B0008 */ lw $t3, 8($t8) /* ACE8A4 80057704 ACEB0008 */ sw $t3, 8($a3) /* ACE8A8 80057708 8FAD0048 */ lw $t5, 0x48($sp) /* ACE8AC 8005770C ADAE0000 */ sw $t6, ($t5) /* ACE8B0 80057710 8CEC0004 */ lw $t4, 4($a3) /* ACE8B4 80057714 ADAC0004 */ sw $t4, 4($t5) /* ACE8B8 80057718 8CEE0008 */ lw $t6, 8($a3) /* ACE8BC 8005771C ADAE0008 */ sw $t6, 8($t5) /* ACE8C0 80057720 8CF90000 */ lw $t9, ($a3) /* ACE8C4 80057724 ADF90000 */ sw $t9, ($t7) /* ACE8C8 80057728 8CF80004 */ lw $t8, 4($a3) /* ACE8CC 8005772C ADF80004 */ sw $t8, 4($t7) /* ACE8D0 80057730 8CF90008 */ lw $t9, 8($a3) /* ACE8D4 80057734 1000004F */ b .L80057874 /* ACE8D8 80057738 ADF90008 */ sw $t9, 8($t7) /* ACE8DC 8005773C 240B0E38 */ li $t3, 3640 .L80057740: /* ACE8E0 80057740 A7AB00A8 */ sh $t3, 0xa8($sp) /* ACE8E4 80057744 8E0D008C */ lw $t5, 0x8c($s0) /* ACE8E8 80057748 26030018 */ addiu $v1, $s0, 0x18 /* ACE8EC 8005774C 24010AAA */ li $at, 2730 /* ACE8F0 80057750 8DAC009C */ lw $t4, 0x9c($t5) /* ACE8F4 80057754 26040074 */ addiu $a0, $s0, 0x74 /* ACE8F8 80057758 318E0001 */ andi $t6, $t4, 1 /* ACE8FC 8005775C 51C00004 */ beql $t6, $zero, .L80057770 /* ACE900 80057760 2407FFFF */ li $a3, -1 /* ACE904 80057764 10000002 */ b .L80057770 /* ACE908 80057768 24070001 */ li $a3, 1 /* ACE90C 8005776C 2407FFFF */ li $a3, -1 .L80057770: /* ACE910 80057770 00E10019 */ multu $a3, $at /* ACE914 80057774 3C014348 */ li $at, 0x43480000 # 0.000000 /* ACE918 80057778 44818000 */ mtc1 $at, $f16 /* ACE91C 8005777C C7B20078 */ lwc1 $f18, 0x78($sp) /* ACE920 80057780 846F0000 */ lh $t7, ($v1) /* ACE924 80057784 AFA40040 */ sw $a0, 0x40($sp) /* ACE928 80057788 46128282 */ mul.s $f10, $f16, $f18 /* ACE92C 8005778C AFA30034 */ sw $v1, 0x34($sp) /* ACE930 80057790 8FA50044 */ lw $a1, 0x44($sp) /* ACE934 80057794 27A600A4 */ addiu $a2, $sp, 0xa4 /* ACE938 80057798 00001012 */ mflo $v0 /* ACE93C 8005779C 00024C00 */ sll $t1, $v0, 0x10 /* ACE940 800577A0 00094C03 */ sra $t1, $t1, 0x10 /* ACE944 800577A4 01E9C021 */ addu $t8, $t7, $t1 /* ACE948 800577A8 A7B800AA */ sh $t8, 0xaa($sp) /* ACE94C 800577AC E7AA00A4 */ swc1 $f10, 0xa4($sp) /* ACE950 800577B0 0C010F0A */ jal func_80043C28 /* ACE954 800577B4 AFA90030 */ sw $t1, 0x30($sp) /* ACE958 800577B8 8FB90040 */ lw $t9, 0x40($sp) /* ACE95C 800577BC 27A7004C */ addiu $a3, $sp, 0x4c /* ACE960 800577C0 27B800AC */ addiu $t8, $sp, 0xac /* ACE964 800577C4 8F2D0000 */ lw $t5, ($t9) /* ACE968 800577C8 02002025 */ move $a0, $s0 /* ACE96C 800577CC 27A500AC */ addiu $a1, $sp, 0xac /* ACE970 800577D0 ACED0000 */ sw $t5, ($a3) /* ACE974 800577D4 8F2B0004 */ lw $t3, 4($t9) /* ACE978 800577D8 8CEF0000 */ lw $t7, ($a3) /* ACE97C 800577DC ACEB0004 */ sw $t3, 4($a3) /* ACE980 800577E0 8F2D0008 */ lw $t5, 8($t9) /* ACE984 800577E4 ACED0008 */ sw $t5, 8($a3) /* ACE988 800577E8 8FAC0048 */ lw $t4, 0x48($sp) /* ACE98C 800577EC AD8F0000 */ sw $t7, ($t4) /* ACE990 800577F0 8CEE0004 */ lw $t6, 4($a3) /* ACE994 800577F4 AD8E0004 */ sw $t6, 4($t4) /* ACE998 800577F8 8CEF0008 */ lw $t7, 8($a3) /* ACE99C 800577FC AD8F0008 */ sw $t7, 8($t4) /* ACE9A0 80057800 8CEB0000 */ lw $t3, ($a3) /* ACE9A4 80057804 AF0B0000 */ sw $t3, ($t8) /* ACE9A8 80057808 8CF90004 */ lw $t9, 4($a3) /* ACE9AC 8005780C AF190004 */ sw $t9, 4($t8) /* ACE9B0 80057810 8CEB0008 */ lw $t3, 8($a3) /* ACE9B4 80057814 AF0B0008 */ sw $t3, 8($t8) /* ACE9B8 80057818 0C0110E8 */ jal func_800443A0 /* ACE9BC 8005781C 8FA6003C */ lw $a2, 0x3c($sp) /* ACE9C0 80057820 10400014 */ beqz $v0, .L80057874 /* ACE9C4 80057824 8FA30034 */ lw $v1, 0x34($sp) /* ACE9C8 80057828 8FA80030 */ lw $t0, 0x30($sp) /* ACE9CC 8005782C 846D0000 */ lh $t5, ($v1) /* ACE9D0 80057830 8FA40040 */ lw $a0, 0x40($sp) /* ACE9D4 80057834 00084023 */ negu $t0, $t0 /* ACE9D8 80057838 00084400 */ sll $t0, $t0, 0x10 /* ACE9DC 8005783C 00084403 */ sra $t0, $t0, 0x10 /* ACE9E0 80057840 01A86021 */ addu $t4, $t5, $t0 /* ACE9E4 80057844 A7AC00AA */ sh $t4, 0xaa($sp) /* ACE9E8 80057848 8FA50044 */ lw $a1, 0x44($sp) /* ACE9EC 8005784C 0C010F0A */ jal func_80043C28 /* ACE9F0 80057850 27A600A4 */ addiu $a2, $sp, 0xa4 /* ACE9F4 80057854 8FAF0040 */ lw $t7, 0x40($sp) /* ACE9F8 80057858 8FAE0048 */ lw $t6, 0x48($sp) /* ACE9FC 8005785C 8DF90000 */ lw $t9, ($t7) /* ACEA00 80057860 ADD90000 */ sw $t9, ($t6) /* ACEA04 80057864 8DF80004 */ lw $t8, 4($t7) /* ACEA08 80057868 ADD80004 */ sw $t8, 4($t6) /* ACEA0C 8005786C 8DF90008 */ lw $t9, 8($t7) /* ACEA10 80057870 ADD90008 */ sw $t9, 8($t6) .L80057874: /* ACEA14 80057874 8FAA0038 */ lw $t2, 0x38($sp) /* ACEA18 80057878 8FAD003C */ lw $t5, 0x3c($sp) /* ACEA1C 8005787C 27AB00AC */ addiu $t3, $sp, 0xac /* ACEA20 80057880 3C013E80 */ li $at, 0x3E800000 # 0.000000 /* ACEA24 80057884 8DAE0000 */ lw $t6, ($t5) /* ACEA28 80057888 44810000 */ mtc1 $at, $f0 /* ACEA2C 8005788C 3C018014 */ lui $at, %hi(D_8013A3E8) /* ACEA30 80057890 AD6E0000 */ sw $t6, ($t3) /* ACEA34 80057894 8DAC0004 */ lw $t4, 4($t5) /* ACEA38 80057898 44060000 */ mfc1 $a2, $f0 /* ACEA3C 8005789C 44070000 */ mfc1 $a3, $f0 /* ACEA40 800578A0 AD6C0004 */ sw $t4, 4($t3) /* ACEA44 800578A4 8DAE0008 */ lw $t6, 8($t5) /* ACEA48 800578A8 27A400AC */ addiu $a0, $sp, 0xac /* ACEA4C 800578AC AD6E0008 */ sw $t6, 8($t3) /* ACEA50 800578B0 C5440000 */ lwc1 $f4, ($t2) /* ACEA54 800578B4 C7A60098 */ lwc1 $f6, 0x98($sp) /* ACEA58 800578B8 C7B000B0 */ lwc1 $f16, 0xb0($sp) /* ACEA5C 800578BC C42AA3E8 */ lwc1 $f10, %lo(D_8013A3E8)($at) /* ACEA60 800578C0 46043200 */ add.s $f8, $f6, $f4 /* ACEA64 800578C4 8FA50044 */ lw $a1, 0x44($sp) /* ACEA68 800578C8 E7AA0010 */ swc1 $f10, 0x10($sp) /* ACEA6C 800578CC 46088480 */ add.s $f18, $f16, $f8 /* ACEA70 800578D0 0C010E8F */ jal func_80043A3C /* ACEA74 800578D4 E7B200B0 */ swc1 $f18, 0xb0($sp) /* ACEA78 800578D8 860F0008 */ lh $t7, 8($s0) /* ACEA7C 800578DC 25F8FFFF */ addiu $t8, $t7, -1 /* ACEA80 800578E0 A6180008 */ sh $t8, 8($s0) /* ACEA84 800578E4 86190008 */ lh $t9, 8($s0) /* ACEA88 800578E8 5F20008A */ bgtzl $t9, .L80057B14 /* ACEA8C 800578EC 8FB9003C */ lw $t9, 0x3c($sp) /* ACEA90 800578F0 860B015E */ lh $t3, 0x15e($s0) /* ACEA94 800578F4 26030018 */ addiu $v1, $s0, 0x18 /* ACEA98 800578F8 256D0001 */ addiu $t5, $t3, 1 /* ACEA9C 800578FC A60D015E */ sh $t5, 0x15e($s0) /* ACEAA0 80057900 846C0000 */ lh $t4, ($v1) /* ACEAA4 80057904 258E8001 */ addiu $t6, $t4, -0x7fff /* ACEAA8 80057908 A46E0000 */ sh $t6, ($v1) /* ACEAAC 8005790C 8FAA0038 */ lw $t2, 0x38($sp) /* ACEAB0 80057910 8FB8003C */ lw $t8, 0x3c($sp) /* ACEAB4 80057914 27AF00AC */ addiu $t7, $sp, 0xac /* ACEAB8 80057918 3C013F00 */ li $at, 0x3F000000 # 0.000000 /* ACEABC 8005791C 8F0B0000 */ lw $t3, ($t8) /* ACEAC0 80057920 44810000 */ mtc1 $at, $f0 /* ACEAC4 80057924 3C018014 */ lui $at, %hi(D_8013A3EC) /* ACEAC8 80057928 ADEB0000 */ sw $t3, ($t7) /* ACEACC 8005792C 8F190004 */ lw $t9, 4($t8) /* ACEAD0 80057930 260D0074 */ addiu $t5, $s0, 0x74 /* ACEAD4 80057934 26030018 */ addiu $v1, $s0, 0x18 /* ACEAD8 80057938 ADF90004 */ sw $t9, 4($t7) /* ACEADC 8005793C 8F0B0008 */ lw $t3, 8($t8) /* ACEAE0 80057940 44060000 */ mfc1 $a2, $f0 /* ACEAE4 80057944 44070000 */ mfc1 $a3, $f0 /* ACEAE8 80057948 ADEB0008 */ sw $t3, 8($t7) /* ACEAEC 8005794C C5440000 */ lwc1 $f4, ($t2) /* ACEAF0 80057950 C7A60098 */ lwc1 $f6, 0x98($sp) /* ACEAF4 80057954 C7A800B0 */ lwc1 $f8, 0xb0($sp) /* ACEAF8 80057958 C42AA3EC */ lwc1 $f10, %lo(D_8013A3EC)($at) /* ACEAFC 8005795C 46043400 */ add.s $f16, $f6, $f4 /* ACEB00 80057960 AFA30034 */ sw $v1, 0x34($sp) /* ACEB04 80057964 AFAD0040 */ sw $t5, 0x40($sp) /* ACEB08 80057968 8FA50044 */ lw $a1, 0x44($sp) /* ACEB0C 8005796C 46104480 */ add.s $f18, $f8, $f16 /* ACEB10 80057970 27A400AC */ addiu $a0, $sp, 0xac /* ACEB14 80057974 E7AA0010 */ swc1 $f10, 0x10($sp) /* ACEB18 80057978 0C010E8F */ jal func_80043A3C /* ACEB1C 8005797C E7B200B0 */ swc1 $f18, 0xb0($sp) /* ACEB20 80057980 3C063E99 */ lui $a2, (0x3E99999A >> 16) # lui $a2, 0x3e99 /* ACEB24 80057984 34C6999A */ ori $a2, (0x3E99999A & 0xFFFF) # ori $a2, $a2, 0x999a /* ACEB28 80057988 24040AAA */ li $a0, 2730 /* ACEB2C 8005798C 87A500A0 */ lh $a1, 0xa0($sp) /* ACEB30 80057990 0C010E47 */ jal func_8004391C /* ACEB34 80057994 2407000A */ li $a3, 10 /* ACEB38 80057998 8FA30034 */ lw $v1, 0x34($sp) /* ACEB3C 8005799C A7A200A8 */ sh $v0, 0xa8($sp) /* ACEB40 800579A0 3C063E99 */ lui $a2, (0x3E99999A >> 16) # lui $a2, 0x3e99 /* ACEB44 800579A4 34C6999A */ ori $a2, (0x3E99999A & 0xFFFF) # ori $a2, $a2, 0x999a /* ACEB48 800579A8 87A500A2 */ lh $a1, 0xa2($sp) /* ACEB4C 800579AC 2407000A */ li $a3, 10 /* ACEB50 800579B0 0C010E47 */ jal func_8004391C /* ACEB54 800579B4 84640000 */ lh $a0, ($v1) /* ACEB58 800579B8 3C014270 */ li $at, 0x42700000 # 0.000000 /* ACEB5C 800579BC 44816000 */ mtc1 $at, $f12 /* ACEB60 800579C0 3C063E99 */ lui $a2, (0x3E99999A >> 16) # lui $a2, 0x3e99 /* ACEB64 800579C4 A7A200AA */ sh $v0, 0xaa($sp) /* ACEB68 800579C8 34C6999A */ ori $a2, (0x3E99999A & 0xFFFF) # ori $a2, $a2, 0x999a /* ACEB6C 800579CC C7AE009C */ lwc1 $f14, 0x9c($sp) /* ACEB70 800579D0 0C010E27 */ jal func_8004389C /* ACEB74 800579D4 3C073F80 */ lui $a3, 0x3f80 /* ACEB78 800579D8 E7A000A4 */ swc1 $f0, 0xa4($sp) /* ACEB7C 800579DC 8FA40040 */ lw $a0, 0x40($sp) /* ACEB80 800579E0 8FA50044 */ lw $a1, 0x44($sp) /* ACEB84 800579E4 0C010F0A */ jal func_80043C28 /* ACEB88 800579E8 27A600A4 */ addiu $a2, $sp, 0xa4 /* ACEB8C 800579EC 8FAE0040 */ lw $t6, 0x40($sp) /* ACEB90 800579F0 8FAC0048 */ lw $t4, 0x48($sp) /* ACEB94 800579F4 8DD80000 */ lw $t8, ($t6) /* ACEB98 800579F8 AD980000 */ sw $t8, ($t4) /* ACEB9C 800579FC 8DCF0004 */ lw $t7, 4($t6) /* ACEBA0 80057A00 AD8F0004 */ sw $t7, 4($t4) /* ACEBA4 80057A04 8DD80008 */ lw $t8, 8($t6) /* ACEBA8 80057A08 AD980008 */ sw $t8, 8($t4) /* ACEBAC 80057A0C 8619000A */ lh $t9, 0xa($s0) /* ACEBB0 80057A10 272BFFFF */ addiu $t3, $t9, -1 /* ACEBB4 80057A14 A60B000A */ sh $t3, 0xa($s0) /* ACEBB8 80057A18 860D000A */ lh $t5, 0xa($s0) /* ACEBBC 80057A1C 5DA0003D */ bgtzl $t5, .L80057B14 /* ACEBC0 80057A20 8FB9003C */ lw $t9, 0x3c($sp) /* ACEBC4 80057A24 860C015E */ lh $t4, 0x15e($s0) /* ACEBC8 80057A28 258E0001 */ addiu $t6, $t4, 1 /* ACEBCC 80057A2C A60E015E */ sh $t6, 0x15e($s0) /* ACEBD0 80057A30 8FAA0038 */ lw $t2, 0x38($sp) /* ACEBD4 80057A34 8603015E */ lh $v1, 0x15e($s0) /* ACEBD8 80057A38 246F0001 */ addiu $t7, $v1, 1 /* ACEBDC 80057A3C A60F015E */ sh $t7, 0x15e($s0) .L80057A40: /* ACEBE0 80057A40 8618014C */ lh $t8, 0x14c($s0) /* ACEBE4 80057A44 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012 /* ACEBE8 80057A48 3C0B8016 */ lui $t3, %hi(D_8015BD7C) # $t3, 0x8016 /* ACEBEC 80057A4C 37190410 */ ori $t9, $t8, 0x410 /* ACEBF0 80057A50 A619014C */ sh $t9, 0x14c($s0) /* ACEBF4 80057A54 AC20D3A0 */ sw $zero, %lo(D_8011D3A0)($at) /* ACEBF8 80057A58 3C018014 */ lui $at, %hi(D_8013A3F0) /* ACEBFC 80057A5C C426A3F0 */ lwc1 $f6, %lo(D_8013A3F0)($at) /* ACEC00 80057A60 C60400D8 */ lwc1 $f4, 0xd8($s0) /* ACEC04 80057A64 02002025 */ move $a0, $s0 /* ACEC08 80057A68 24060002 */ li $a2, 2 /* ACEC0C 80057A6C 4604303C */ c.lt.s $f6, $f4 /* ACEC10 80057A70 00000000 */ nop /* ACEC14 80057A74 45010021 */ bc1t .L80057AFC /* ACEC18 80057A78 00000000 */ nop /* ACEC1C 80057A7C 8D6BBD7C */ lw $t3, %lo(D_8015BD7C)($t3) /* ACEC20 80057A80 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff /* ACEC24 80057A84 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff /* ACEC28 80057A88 95620020 */ lhu $v0, 0x20($t3) /* ACEC2C 80057A8C 00416827 */ nor $t5, $v0, $at /* ACEC30 80057A90 11A0001A */ beqz $t5, .L80057AFC /* ACEC34 80057A94 2401BFFF */ li $at, -16385 /* ACEC38 80057A98 00416027 */ nor $t4, $v0, $at /* ACEC3C 80057A9C 11800017 */ beqz $t4, .L80057AFC /* ACEC40 80057AA0 2401FFFD */ li $at, -3 /* ACEC44 80057AA4 00417027 */ nor $t6, $v0, $at /* ACEC48 80057AA8 11C00014 */ beqz $t6, .L80057AFC /* ACEC4C 80057AAC 2401FFFB */ li $at, -5 /* ACEC50 80057AB0 00417827 */ nor $t7, $v0, $at /* ACEC54 80057AB4 11E00011 */ beqz $t7, .L80057AFC /* ACEC58 80057AB8 2401FFF7 */ li $at, -9 /* ACEC5C 80057ABC 0041C027 */ nor $t8, $v0, $at /* ACEC60 80057AC0 1300000E */ beqz $t8, .L80057AFC /* ACEC64 80057AC4 2401FFFE */ li $at, -2 /* ACEC68 80057AC8 0041C827 */ nor $t9, $v0, $at /* ACEC6C 80057ACC 1320000B */ beqz $t9, .L80057AFC /* ACEC70 80057AD0 2401FFEF */ li $at, -17 /* ACEC74 80057AD4 00415827 */ nor $t3, $v0, $at /* ACEC78 80057AD8 11600008 */ beqz $t3, .L80057AFC /* ACEC7C 80057ADC 2401DFFF */ li $at, -8193 /* ACEC80 80057AE0 00416827 */ nor $t5, $v0, $at /* ACEC84 80057AE4 11A00005 */ beqz $t5, .L80057AFC /* ACEC88 80057AE8 00000000 */ nop /* ACEC8C 80057AEC 854C0008 */ lh $t4, 8($t2) /* ACEC90 80057AF0 318E0008 */ andi $t6, $t4, 8 /* ACEC94 80057AF4 51C00007 */ beql $t6, $zero, .L80057B14 /* ACEC98 80057AF8 8FB9003C */ lw $t9, 0x3c($sp) .L80057AFC: /* ACEC9C 80057AFC 0C016952 */ jal func_8005A548 /* ACECA0 80057B00 86050154 */ lh $a1, 0x154($s0) /* ACECA4 80057B04 860F014C */ lh $t7, 0x14c($s0) /* ACECA8 80057B08 35F80006 */ ori $t8, $t7, 6 /* ACECAC 80057B0C A618014C */ sh $t8, 0x14c($s0) /* ACECB0 80057B10 8FB9003C */ lw $t9, 0x3c($sp) .L80057B14: /* ACECB4 80057B14 27A400AC */ addiu $a0, $sp, 0xac /* ACECB8 80057B18 8F2D0000 */ lw $t5, ($t9) /* ACECBC 80057B1C AC8D0000 */ sw $t5, ($a0) /* ACECC0 80057B20 8F2B0004 */ lw $t3, 4($t9) /* ACECC4 80057B24 AC8B0004 */ sw $t3, 4($a0) /* ACECC8 80057B28 8F2D0008 */ lw $t5, 8($t9) /* ACECCC 80057B2C AC8D0008 */ sw $t5, 8($a0) /* ACECD0 80057B30 C7A800B0 */ lwc1 $f8, 0xb0($sp) /* ACECD4 80057B34 C7B00098 */ lwc1 $f16, 0x98($sp) /* ACECD8 80057B38 8FA50048 */ lw $a1, 0x48($sp) /* ACECDC 80057B3C 46104480 */ add.s $f18, $f8, $f16 /* ACECE0 80057B40 0C01EFE4 */ jal func_8007BF90 /* ACECE4 80057B44 E7B200B0 */ swc1 $f18, 0xb0($sp) /* ACECE8 80057B48 8FA3003C */ lw $v1, 0x3c($sp) /* ACECEC 80057B4C E60000DC */ swc1 $f0, 0xdc($s0) /* ACECF0 80057B50 C60A0050 */ lwc1 $f10, 0x50($s0) /* ACECF4 80057B54 C4660000 */ lwc1 $f6, ($v1) /* ACECF8 80057B58 C6080054 */ lwc1 $f8, 0x54($s0) /* ACECFC 80057B5C 24020001 */ li $v0, 1 /* ACED00 80057B60 46065101 */ sub.s $f4, $f10, $f6 /* ACED04 80057B64 C60A0058 */ lwc1 $f10, 0x58($s0) /* ACED08 80057B68 E60400E4 */ swc1 $f4, 0xe4($s0) /* ACED0C 80057B6C C4700004 */ lwc1 $f16, 4($v1) /* ACED10 80057B70 46104481 */ sub.s $f18, $f8, $f16 /* ACED14 80057B74 E61200E8 */ swc1 $f18, 0xe8($s0) /* ACED18 80057B78 C4660008 */ lwc1 $f6, 8($v1) /* ACED1C 80057B7C 46065101 */ sub.s $f4, $f10, $f6 /* ACED20 80057B80 E60400EC */ swc1 $f4, 0xec($s0) /* ACED24 80057B84 8FBF0024 */ lw $ra, 0x24($sp) /* ACED28 80057B88 8FB00020 */ lw $s0, 0x20($sp) /* ACED2C 80057B8C 27BD00C8 */ addiu $sp, $sp, 0xc8 /* ACED30 80057B90 03E00008 */ jr $ra /* ACED34 80057B94 00000000 */ nop # SPLIT /* ACED38 80057B98 27BDFFE0 */ addiu $sp, $sp, -0x20 /* ACED3C 80057B9C AFA50024 */ sw $a1, 0x24($sp) /* ACED40 80057BA0 AFBF0014 */ sw $ra, 0x14($sp) /* ACED44 80057BA4 AFA40020 */ sw $a0, 0x20($sp) /* ACED48 80057BA8 AFA60028 */ sw $a2, 0x28($sp) /* ACED4C 80057BAC 3C058014 */ lui $a1, %hi(D_80139754) # $a1, 0x8014 /* ACED50 80057BB0 24A59754 */ addiu $a1, %lo(D_80139754) # addiu $a1, $a1, -0x68ac /* ACED54 80057BB4 2406249A */ li $a2, 9370 /* ACED58 80057BB8 0C01EBB8 */ jal ZeldaArena_MallocDebug /* ACED5C 80057BBC 2404016C */ li $a0, 364 /* ACED60 80057BC0 1040000C */ beqz $v0, .L80057BF4 /* ACED64 80057BC4 AFA2001C */ sw $v0, 0x1c($sp) /* ACED68 80057BC8 3C048014 */ lui $a0, %hi(D_80139764) # $a0, 0x8014 /* ACED6C 80057BCC 24849764 */ addiu $a0, %lo(D_80139764) # addiu $a0, $a0, -0x689c /* ACED70 80057BD0 0C00084C */ jal osSyncPrintf /* ACED74 80057BD4 240505B0 */ li $a1, 1456 /* ACED78 80057BD8 8FA4001C */ lw $a0, 0x1c($sp) /* ACED7C 80057BDC 8FA50020 */ lw $a1, 0x20($sp) /* ACED80 80057BE0 8FA60024 */ lw $a2, 0x24($sp) /* ACED84 80057BE4 0C015F1B */ jal func_80057C6C /* ACED88 80057BE8 8FA70028 */ lw $a3, 0x28($sp) /* ACED8C 80057BEC 10000005 */ b .L80057C04 /* ACED90 80057BF0 8FBF0014 */ lw $ra, 0x14($sp) .L80057BF4: /* ACED94 80057BF4 3C048014 */ lui $a0, %hi(D_80139794) # $a0, 0x8014 /* ACED98 80057BF8 0C00084C */ jal osSyncPrintf /* ACED9C 80057BFC 24849794 */ addiu $a0, %lo(D_80139794) # addiu $a0, $a0, -0x686c /* ACEDA0 80057C00 8FBF0014 */ lw $ra, 0x14($sp) .L80057C04: /* ACEDA4 80057C04 8FA2001C */ lw $v0, 0x1c($sp) /* ACEDA8 80057C08 27BD0020 */ addiu $sp, $sp, 0x20 /* ACEDAC 80057C0C 03E00008 */ jr $ra /* ACEDB0 80057C10 00000000 */ nop # SPLIT /* ACEDB4 80057C14 27BDFFE8 */ addiu $sp, $sp, -0x18 /* ACEDB8 80057C18 AFBF0014 */ sw $ra, 0x14($sp) /* ACEDBC 80057C1C 1080000C */ beqz $a0, .L80057C50 /* ACEDC0 80057C20 00803825 */ move $a3, $a0 /* ACEDC4 80057C24 3C048014 */ lui $a0, %hi(D_801397C4) # $a0, 0x8014 /* ACEDC8 80057C28 248497C4 */ addiu $a0, %lo(D_801397C4) # addiu $a0, $a0, -0x683c /* ACEDCC 80057C2C 0C00084C */ jal osSyncPrintf /* ACEDD0 80057C30 AFA70018 */ sw $a3, 0x18($sp) /* ACEDD4 80057C34 3C058014 */ lui $a1, %hi(D_801397E4) # $a1, 0x8014 /* ACEDD8 80057C38 8FA40018 */ lw $a0, 0x18($sp) /* ACEDDC 80057C3C 24A597E4 */ addiu $a1, %lo(D_801397E4) # addiu $a1, $a1, -0x681c /* ACEDE0 80057C40 0C01EC35 */ jal ZeldaArena_FreeDebug /* ACEDE4 80057C44 240624AF */ li $a2, 9391 /* ACEDE8 80057C48 10000005 */ b .L80057C60 /* ACEDEC 80057C4C 8FBF0014 */ lw $ra, 0x14($sp) .L80057C50: /* ACEDF0 80057C50 3C048014 */ lui $a0, %hi(D_801397F4) # $a0, 0x8014 /* ACEDF4 80057C54 0C00084C */ jal osSyncPrintf /* ACEDF8 80057C58 248497F4 */ addiu $a0, %lo(D_801397F4) # addiu $a0, $a0, -0x680c /* ACEDFC 80057C5C 8FBF0014 */ lw $ra, 0x14($sp) .L80057C60: /* ACEE00 80057C60 27BD0018 */ addiu $sp, $sp, 0x18 /* ACEE04 80057C64 03E00008 */ jr $ra /* ACEE08 80057C68 00000000 */ nop