oot/asm/non_matchings/code/z_camera/func_80051B3C.s

1309 lines
64 KiB
ArmAsm

# Needs splitting
.late_rodata
# todo: sort these out
glabel D_8013A1EC
.incbin "baserom.z64", 0xBB138C, 0x4
glabel D_8013A1F0
.incbin "baserom.z64", 0xBB1390, 0x4
glabel D_8013A1F4
.incbin "baserom.z64", 0xBB1394, 0x4
glabel D_8013A1F8
.incbin "baserom.z64", 0xBB1398, 0x4
glabel D_8013A1FC
.incbin "baserom.z64", 0xBB139C, 0x4
glabel D_8013A200
.incbin "baserom.z64", 0xBB13A0, 0x4
glabel D_8013A204
.incbin "baserom.z64", 0xBB13A4, 0x4
glabel jtbl_8013A208
.incbin "baserom.z64", 0xBB13A8, 0x18
glabel D_8013A220
.incbin "baserom.z64", 0xBB13C0, 0x4
glabel D_8013A224
.incbin "baserom.z64", 0xBB13C4, 0x4
glabel D_8013A228
.incbin "baserom.z64", 0xBB13C8, 0x4
glabel D_8013A22C
.incbin "baserom.z64", 0xBB13CC, 0x4
.text
glabel func_80051B3C
/* AC8CDC 80051B3C 27BDFF78 */ addiu $sp, $sp, -0x88
/* AC8CE0 80051B40 AFB0001C */ sw $s0, 0x1c($sp)
/* AC8CE4 80051B44 00808025 */ move $s0, $a0
/* AC8CE8 80051B48 AFBF0024 */ sw $ra, 0x24($sp)
/* AC8CEC 80051B4C AFB10020 */ sw $s1, 0x20($sp)
/* AC8CF0 80051B50 0C00B721 */ jal func_8002DC84
/* AC8CF4 80051B54 8C840090 */ lw $a0, 0x90($a0)
/* AC8CF8 80051B58 26110050 */ addiu $s1, $s0, 0x50
/* AC8CFC 80051B5C 2606005C */ addiu $a2, $s0, 0x5c
/* AC8D00 80051B60 E7A00048 */ swc1 $f0, 0x48($sp)
/* AC8D04 80051B64 AFA6003C */ sw $a2, 0x3c($sp)
/* AC8D08 80051B68 02202825 */ move $a1, $s1
/* AC8D0C 80051B6C 0C01F124 */ jal func_8007C490
/* AC8D10 80051B70 27A40060 */ addiu $a0, $sp, 0x60
/* AC8D14 80051B74 8603015E */ lh $v1, 0x15e($s0)
/* AC8D18 80051B78 2401000A */ li $at, 10
/* AC8D1C 80051B7C 10600008 */ beqz $v1, .L80051BA0
/* AC8D20 80051B80 00000000 */ nop
/* AC8D24 80051B84 10610006 */ beq $v1, $at, .L80051BA0
/* AC8D28 80051B88 24010014 */ li $at, 20
/* AC8D2C 80051B8C 10610004 */ beq $v1, $at, .L80051BA0
/* AC8D30 80051B90 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC8D34 80051B94 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC8D38 80051B98 85C30314 */ lh $v1, 0x314($t6)
/* AC8D3C 80051B9C 10600033 */ beqz $v1, .L80051C6C
.L80051BA0:
/* AC8D40 80051BA0 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016
/* AC8D44 80051BA4 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC8D48 80051BA8 3C018014 */ lui $at, %hi(D_8013A1EC)
/* AC8D4C 80051BAC C42CA1EC */ lwc1 $f12, %lo(D_8013A1EC)($at)
/* AC8D50 80051BB0 856C01F0 */ lh $t4, 0x1f0($t3)
/* AC8D54 80051BB4 3C014288 */ li $at, 0x42880000 # 0.000000
/* AC8D58 80051BB8 44814000 */ mtc1 $at, $f8
/* AC8D5C 80051BBC 448C2000 */ mtc1 $t4, $f4
/* AC8D60 80051BC0 C7AA0048 */ lwc1 $f10, 0x48($sp)
/* AC8D64 80051BC4 860F0142 */ lh $t7, 0x142($s0)
/* AC8D68 80051BC8 468021A0 */ cvt.s.w $f6, $f4
/* AC8D6C 80051BCC 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC8D70 80051BD0 000FC0C0 */ sll $t8, $t7, 3
/* AC8D74 80051BD4 86080144 */ lh $t0, 0x144($s0)
/* AC8D78 80051BD8 0338C821 */ addu $t9, $t9, $t8
/* AC8D7C 80051BDC 460A4103 */ div.s $f4, $f8, $f10
/* AC8D80 80051BE0 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC8D84 80051BE4 000848C0 */ sll $t1, $t0, 3
/* AC8D88 80051BE8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC8D8C 80051BEC 460C3002 */ mul.s $f0, $f6, $f12
/* AC8D90 80051BF0 03295021 */ addu $t2, $t9, $t1
/* AC8D94 80051BF4 8D420004 */ lw $v0, 4($t2)
/* AC8D98 80051BF8 44814000 */ mtc1 $at, $f8
/* AC8D9C 80051BFC 3C088016 */ lui $t0, %hi(gGameInfo) # $t0, 0x8016
/* AC8DA0 80051C00 844D0000 */ lh $t5, ($v0)
/* AC8DA4 80051C04 2442000C */ addiu $v0, $v0, 0xc
/* AC8DA8 80051C08 46040182 */ mul.s $f6, $f0, $f4
/* AC8DAC 80051C0C 46004100 */ add.s $f4, $f8, $f0
/* AC8DB0 80051C10 448D4000 */ mtc1 $t5, $f8
/* AC8DB4 80051C14 46062081 */ sub.s $f2, $f4, $f6
/* AC8DB8 80051C18 46804120 */ cvt.s.w $f4, $f8
/* AC8DBC 80051C1C 460C2182 */ mul.s $f6, $f4, $f12
/* AC8DC0 80051C20 00000000 */ nop
/* AC8DC4 80051C24 460A3202 */ mul.s $f8, $f6, $f10
/* AC8DC8 80051C28 00000000 */ nop
/* AC8DCC 80051C2C 46024102 */ mul.s $f4, $f8, $f2
/* AC8DD0 80051C30 E6040000 */ swc1 $f4, ($s0)
/* AC8DD4 80051C34 844EFFF8 */ lh $t6, -8($v0)
/* AC8DD8 80051C38 448E3000 */ mtc1 $t6, $f6
/* AC8DDC 80051C3C 00000000 */ nop
/* AC8DE0 80051C40 468032A0 */ cvt.s.w $f10, $f6
/* AC8DE4 80051C44 E60A0004 */ swc1 $f10, 4($s0)
/* AC8DE8 80051C48 844FFFFC */ lh $t7, -4($v0)
/* AC8DEC 80051C4C 448F4000 */ mtc1 $t7, $f8
/* AC8DF0 80051C50 00000000 */ nop
/* AC8DF4 80051C54 46804120 */ cvt.s.w $f4, $f8
/* AC8DF8 80051C58 E6040008 */ swc1 $f4, 8($s0)
/* AC8DFC 80051C5C 84580000 */ lh $t8, ($v0)
/* AC8E00 80051C60 A618000C */ sh $t8, 0xc($s0)
/* AC8E04 80051C64 8D08FA90 */ lw $t0, %lo(gGameInfo)($t0)
/* AC8E08 80051C68 85030314 */ lh $v1, 0x314($t0)
.L80051C6C:
/* AC8E0C 80051C6C 50600004 */ beql $v1, $zero, .L80051C80
/* AC8E10 80051C70 8619000C */ lh $t9, 0xc($s0)
/* AC8E14 80051C74 0C011495 */ jal func_80045254
/* AC8E18 80051C78 02002025 */ move $a0, $s0
/* AC8E1C 80051C7C 8619000C */ lh $t9, 0xc($s0)
.L80051C80:
/* AC8E20 80051C80 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC8E24 80051C84 26020010 */ addiu $v0, $s0, 0x10
/* AC8E28 80051C88 AC39D3A0 */ sw $t9, %lo(D_8011D3A0)($at)
/* AC8E2C 80051C8C 8603015E */ lh $v1, 0x15e($s0)
/* AC8E30 80051C90 240C0001 */ li $t4, 1
/* AC8E34 80051C94 02002025 */ move $a0, $s0
/* AC8E38 80051C98 50600006 */ beql $v1, $zero, .L80051CB4
/* AC8E3C 80051C9C 860B000C */ lh $t3, 0xc($s0)
/* AC8E40 80051CA0 8609000C */ lh $t1, 0xc($s0)
/* AC8E44 80051CA4 844A0004 */ lh $t2, 4($v0)
/* AC8E48 80051CA8 112A0005 */ beq $t1, $t2, .L80051CC0
/* AC8E4C 80051CAC 00000000 */ nop
/* AC8E50 80051CB0 860B000C */ lh $t3, 0xc($s0)
.L80051CB4:
/* AC8E54 80051CB4 26020010 */ addiu $v0, $s0, 0x10
/* AC8E58 80051CB8 A44B0004 */ sh $t3, 4($v0)
/* AC8E5C 80051CBC 8603015E */ lh $v1, 0x15e($s0)
.L80051CC0:
/* AC8E60 80051CC0 54600011 */ bnezl $v1, .L80051D08
/* AC8E64 80051CC4 8E090094 */ lw $t1, 0x94($s0)
/* AC8E68 80051CC8 A60C015E */ sh $t4, 0x15e($s0)
/* AC8E6C 80051CCC 0C010ED8 */ jal func_80043B60
/* AC8E70 80051CD0 AFA20034 */ sw $v0, 0x34($sp)
/* AC8E74 80051CD4 3C014348 */ li $at, 0x43480000 # 0.000000
/* AC8E78 80051CD8 8FA20034 */ lw $v0, 0x34($sp)
/* AC8E7C 80051CDC 44813000 */ mtc1 $at, $f6
/* AC8E80 80051CE0 00000000 */ nop
/* AC8E84 80051CE4 E4460000 */ swc1 $f6, ($v0)
/* AC8E88 80051CE8 860D000C */ lh $t5, 0xc($s0)
/* AC8E8C 80051CEC 31AE0010 */ andi $t6, $t5, 0x10
/* AC8E90 80051CF0 51C00005 */ beql $t6, $zero, .L80051D08
/* AC8E94 80051CF4 8E090094 */ lw $t1, 0x94($s0)
/* AC8E98 80051CF8 860F014C */ lh $t7, 0x14c($s0)
/* AC8E9C 80051CFC 31F8FFFB */ andi $t8, $t7, 0xfffb
/* AC8EA0 80051D00 A618014C */ sh $t8, 0x14c($s0)
/* AC8EA4 80051D04 8E090094 */ lw $t1, 0x94($s0)
.L80051D08:
/* AC8EA8 80051D08 27A80070 */ addiu $t0, $sp, 0x70
/* AC8EAC 80051D0C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC8EB0 80051D10 AD090000 */ sw $t1, ($t0)
/* AC8EB4 80051D14 8E190098 */ lw $t9, 0x98($s0)
/* AC8EB8 80051D18 27A40068 */ addiu $a0, $sp, 0x68
/* AC8EBC 80051D1C 02202825 */ move $a1, $s1
/* AC8EC0 80051D20 AD190004 */ sw $t9, 4($t0)
/* AC8EC4 80051D24 8E09009C */ lw $t1, 0x9c($s0)
/* AC8EC8 80051D28 AD090008 */ sw $t1, 8($t0)
/* AC8ECC 80051D2C 860A000C */ lh $t2, 0xc($s0)
/* AC8ED0 80051D30 C7AA0070 */ lwc1 $f10, 0x70($sp)
/* AC8ED4 80051D34 314B0001 */ andi $t3, $t2, 1
/* AC8ED8 80051D38 51600005 */ beql $t3, $zero, .L80051D50
/* AC8EDC 80051D3C C61000E0 */ lwc1 $f16, 0xe0($s0)
/* AC8EE0 80051D40 44818000 */ mtc1 $at, $f16
/* AC8EE4 80051D44 10000003 */ b .L80051D54
/* AC8EE8 80051D48 C6200000 */ lwc1 $f0, ($s1)
/* AC8EEC 80051D4C C61000E0 */ lwc1 $f16, 0xe0($s0)
.L80051D50:
/* AC8EF0 80051D50 C6200000 */ lwc1 $f0, ($s1)
.L80051D54:
/* AC8EF4 80051D54 3C018014 */ lui $at, %hi(D_8013A1F0)
/* AC8EF8 80051D58 C432A1F0 */ lwc1 $f18, %lo(D_8013A1F0)($at)
/* AC8EFC 80051D5C 46005201 */ sub.s $f8, $f10, $f0
/* AC8F00 80051D60 C6220004 */ lwc1 $f2, 4($s1)
/* AC8F04 80051D64 3C018014 */ lui $at, %hi(D_8013A1F4)
/* AC8F08 80051D68 C62C0008 */ lwc1 $f12, 8($s1)
/* AC8F0C 80051D6C 46104102 */ mul.s $f4, $f8, $f16
/* AC8F10 80051D70 00000000 */ nop
/* AC8F14 80051D74 46122182 */ mul.s $f6, $f4, $f18
/* AC8F18 80051D78 46060280 */ add.s $f10, $f0, $f6
/* AC8F1C 80051D7C E62A0000 */ swc1 $f10, ($s1)
/* AC8F20 80051D80 C7A40048 */ lwc1 $f4, 0x48($sp)
/* AC8F24 80051D84 C7A80074 */ lwc1 $f8, 0x74($sp)
/* AC8F28 80051D88 C60A0000 */ lwc1 $f10, ($s0)
/* AC8F2C 80051D8C 46044180 */ add.s $f6, $f8, $f4
/* AC8F30 80051D90 460A3200 */ add.s $f8, $f6, $f10
/* AC8F34 80051D94 C426A1F4 */ lwc1 $f6, %lo(D_8013A1F4)($at)
/* AC8F38 80051D98 3C014000 */ li $at, 0x40000000 # 0.000000
/* AC8F3C 80051D9C 46024101 */ sub.s $f4, $f8, $f2
/* AC8F40 80051DA0 46062282 */ mul.s $f10, $f4, $f6
/* AC8F44 80051DA4 460A1200 */ add.s $f8, $f2, $f10
/* AC8F48 80051DA8 E6280004 */ swc1 $f8, 4($s1)
/* AC8F4C 80051DAC C7A40078 */ lwc1 $f4, 0x78($sp)
/* AC8F50 80051DB0 460C2181 */ sub.s $f6, $f4, $f12
/* AC8F54 80051DB4 46103282 */ mul.s $f10, $f6, $f16
/* AC8F58 80051DB8 44813000 */ mtc1 $at, $f6
/* AC8F5C 80051DBC 3C018014 */ lui $at, %hi(D_8013A1F8)
/* AC8F60 80051DC0 46125202 */ mul.s $f8, $f10, $f18
/* AC8F64 80051DC4 46086100 */ add.s $f4, $f12, $f8
/* AC8F68 80051DC8 E6240008 */ swc1 $f4, 8($s1)
/* AC8F6C 80051DCC C44E0000 */ lwc1 $f14, ($v0)
/* AC8F70 80051DD0 C428A1F8 */ lwc1 $f8, %lo(D_8013A1F8)($at)
/* AC8F74 80051DD4 460E3281 */ sub.s $f10, $f6, $f14
/* AC8F78 80051DD8 46085102 */ mul.s $f4, $f10, $f8
/* AC8F7C 80051DDC 46047180 */ add.s $f6, $f14, $f4
/* AC8F80 80051DE0 E4460000 */ swc1 $f6, ($v0)
/* AC8F84 80051DE4 8603000C */ lh $v1, 0xc($s0)
/* AC8F88 80051DE8 306C0001 */ andi $t4, $v1, 1
/* AC8F8C 80051DEC 11800015 */ beqz $t4, .L80051E44
/* AC8F90 80051DF0 306D0002 */ andi $t5, $v1, 2
/* AC8F94 80051DF4 0C01F124 */ jal func_8007C490
/* AC8F98 80051DF8 26060074 */ addiu $a2, $s0, 0x74
/* AC8F9C 80051DFC C60A0004 */ lwc1 $f10, 4($s0)
/* AC8FA0 80051E00 27A40070 */ addiu $a0, $sp, 0x70
/* AC8FA4 80051E04 02202825 */ move $a1, $s1
/* AC8FA8 80051E08 27A60068 */ addiu $a2, $sp, 0x68
/* AC8FAC 80051E0C 0C010F0A */ jal func_80043C28
/* AC8FB0 80051E10 E7AA0068 */ swc1 $f10, 0x68($sp)
/* AC8FB4 80051E14 3C013E80 */ li $at, 0x3E800000 # 0.000000
/* AC8FB8 80051E18 44810000 */ mtc1 $at, $f0
/* AC8FBC 80051E1C 3C018014 */ lui $at, %hi(D_8013A1FC)
/* AC8FC0 80051E20 C428A1FC */ lwc1 $f8, %lo(D_8013A1FC)($at)
/* AC8FC4 80051E24 44060000 */ mfc1 $a2, $f0
/* AC8FC8 80051E28 44070000 */ mfc1 $a3, $f0
/* AC8FCC 80051E2C 27A40070 */ addiu $a0, $sp, 0x70
/* AC8FD0 80051E30 8FA5003C */ lw $a1, 0x3c($sp)
/* AC8FD4 80051E34 0C010E8F */ jal func_80043A3C
/* AC8FD8 80051E38 E7A80010 */ swc1 $f8, 0x10($sp)
/* AC8FDC 80051E3C 1000002C */ b .L80051EF0
/* AC8FE0 80051E40 02002025 */ move $a0, $s0
.L80051E44:
/* AC8FE4 80051E44 11A00029 */ beqz $t5, .L80051EEC
/* AC8FE8 80051E48 02202025 */ move $a0, $s1
/* AC8FEC 80051E4C 26050074 */ addiu $a1, $s0, 0x74
/* AC8FF0 80051E50 0C01F00A */ jal func_8007C028
/* AC8FF4 80051E54 AFA50034 */ sw $a1, 0x34($sp)
/* AC8FF8 80051E58 C6040004 */ lwc1 $f4, 4($s0)
/* AC8FFC 80051E5C 8FA60034 */ lw $a2, 0x34($sp)
/* AC9000 80051E60 3C013E80 */ li $at, 0x3E800000 # 0.000000
/* AC9004 80051E64 4604003C */ c.lt.s $f0, $f4
/* AC9008 80051E68 8FA40034 */ lw $a0, 0x34($sp)
/* AC900C 80051E6C 8FA5003C */ lw $a1, 0x3c($sp)
/* AC9010 80051E70 45020018 */ bc1fl .L80051ED4
/* AC9014 80051E74 44810000 */ mtc1 $at, $f0
/* AC9018 80051E78 27A40068 */ addiu $a0, $sp, 0x68
/* AC901C 80051E7C 0C01F124 */ jal func_8007C490
/* AC9020 80051E80 02202825 */ move $a1, $s1
/* AC9024 80051E84 3C063DCC */ li $a2, 0x3DCC0000 # 0.000000
/* AC9028 80051E88 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC902C 80051E8C 87A4006E */ lh $a0, 0x6e($sp)
/* AC9030 80051E90 87A50066 */ lh $a1, 0x66($sp)
/* AC9034 80051E94 0C010E47 */ jal func_8004391C
/* AC9038 80051E98 2407000A */ li $a3, 10
/* AC903C 80051E9C A7A2006E */ sh $v0, 0x6e($sp)
/* AC9040 80051EA0 C6060004 */ lwc1 $f6, 4($s0)
/* AC9044 80051EA4 A7A0006C */ sh $zero, 0x6c($sp)
/* AC9048 80051EA8 8FA4003C */ lw $a0, 0x3c($sp)
/* AC904C 80051EAC 02202825 */ move $a1, $s1
/* AC9050 80051EB0 27A60068 */ addiu $a2, $sp, 0x68
/* AC9054 80051EB4 0C010F0A */ jal func_80043C28
/* AC9058 80051EB8 E7A60068 */ swc1 $f6, 0x68($sp)
/* AC905C 80051EBC 8FAE0034 */ lw $t6, 0x34($sp)
/* AC9060 80051EC0 8FAF003C */ lw $t7, 0x3c($sp)
/* AC9064 80051EC4 C5CA0004 */ lwc1 $f10, 4($t6)
/* AC9068 80051EC8 10000008 */ b .L80051EEC
/* AC906C 80051ECC E5EA0004 */ swc1 $f10, 4($t7)
/* AC9070 80051ED0 44810000 */ mtc1 $at, $f0
.L80051ED4:
/* AC9074 80051ED4 3C018014 */ lui $at, %hi(D_8013A200)
/* AC9078 80051ED8 C428A200 */ lwc1 $f8, %lo(D_8013A200)($at)
/* AC907C 80051EDC 44060000 */ mfc1 $a2, $f0
/* AC9080 80051EE0 44070000 */ mfc1 $a3, $f0
/* AC9084 80051EE4 0C010E8F */ jal func_80043A3C
/* AC9088 80051EE8 E7A80010 */ swc1 $f8, 0x10($sp)
.L80051EEC:
/* AC908C 80051EEC 02002025 */ move $a0, $s0
.L80051EF0:
/* AC9090 80051EF0 02202825 */ move $a1, $s1
/* AC9094 80051EF4 0C010FCD */ jal func_80043F34
/* AC9098 80051EF8 8FA6003C */ lw $a2, 0x3c($sp)
/* AC909C 80051EFC 02202025 */ move $a0, $s1
/* AC90A0 80051F00 0C01EFE4 */ jal func_8007BF90
/* AC90A4 80051F04 8FA5003C */ lw $a1, 0x3c($sp)
/* AC90A8 80051F08 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c
/* AC90AC 80051F0C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC90B0 80051F10 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC90B4 80051F14 A600015A */ sh $zero, 0x15a($s0)
/* AC90B8 80051F18 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC90BC 80051F1C 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC90C0 80051F20 C60C0008 */ lwc1 $f12, 8($s0)
/* AC90C4 80051F24 0C010E27 */ jal func_8004389C
/* AC90C8 80051F28 C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC90CC 80051F2C E60000FC */ swc1 $f0, 0xfc($s0)
/* AC90D0 80051F30 02002025 */ move $a0, $s0
/* AC90D4 80051F34 0C011429 */ jal func_800450A4
/* AC90D8 80051F38 3C053F80 */ lui $a1, 0x3f80
/* AC90DC 80051F3C E6000100 */ swc1 $f0, 0x100($s0)
/* AC90E0 80051F40 8FBF0024 */ lw $ra, 0x24($sp)
/* AC90E4 80051F44 8FB10020 */ lw $s1, 0x20($sp)
/* AC90E8 80051F48 8FB0001C */ lw $s0, 0x1c($sp)
/* AC90EC 80051F4C 27BD0088 */ addiu $sp, $sp, 0x88
/* AC90F0 80051F50 03E00008 */ jr $ra
/* AC90F4 80051F54 24020001 */ li $v0, 1
# SPLIT
/* AC90F8 80051F58 27BDFF98 */ addiu $sp, $sp, -0x68
/* AC90FC 80051F5C AFB00018 */ sw $s0, 0x18($sp)
/* AC9100 80051F60 00808025 */ move $s0, $a0
/* AC9104 80051F64 AFBF001C */ sw $ra, 0x1c($sp)
/* AC9108 80051F68 0C00B721 */ jal func_8002DC84
/* AC910C 80051F6C 8C840090 */ lw $a0, 0x90($a0)
/* AC9110 80051F70 E7A0005C */ swc1 $f0, 0x5c($sp)
/* AC9114 80051F74 860E014C */ lh $t6, 0x14c($s0)
/* AC9118 80051F78 8602015E */ lh $v0, 0x15e($s0)
/* AC911C 80051F7C 2401000A */ li $at, 10
/* AC9120 80051F80 31CFFFEF */ andi $t7, $t6, 0xffef
/* AC9124 80051F84 10400008 */ beqz $v0, .L80051FA8
/* AC9128 80051F88 A60F014C */ sh $t7, 0x14c($s0)
/* AC912C 80051F8C 10410006 */ beq $v0, $at, .L80051FA8
/* AC9130 80051F90 24010014 */ li $at, 20
/* AC9134 80051F94 10410004 */ beq $v0, $at, .L80051FA8
/* AC9138 80051F98 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* AC913C 80051F9C 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* AC9140 80051FA0 87030314 */ lh $v1, 0x314($t8)
/* AC9144 80051FA4 1060002E */ beqz $v1, .L80052060
.L80051FA8:
/* AC9148 80051FA8 3C018014 */ lui $at, %hi(D_8013A204)
/* AC914C 80051FAC C42EA204 */ lwc1 $f14, %lo(D_8013A204)($at)
/* AC9150 80051FB0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC9154 80051FB4 44814000 */ mtc1 $at, $f8
/* AC9158 80051FB8 3C014288 */ lui $at, 0x4288
/* AC915C 80051FBC 3C0D8016 */ lui $t5, %hi(gGameInfo)
/* AC9160 80051FC0 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* AC9164 80051FC4 44818000 */ mtc1 $at, $f16
/* AC9168 80051FC8 86190142 */ lh $t9, 0x142($s0)
/* AC916C 80051FCC 85AE01F0 */ lh $t6, 0x1f0($t5)
/* AC9170 80051FD0 46008483 */ div.s $f18, $f16, $f0
/* AC9174 80051FD4 3C098012 */ lui $t1, %hi(D_8011D068)
/* AC9178 80051FD8 448E2000 */ mtc1 $t6, $f4
/* AC917C 80051FDC 001940C0 */ sll $t0, $t9, 3
/* AC9180 80051FE0 860A0144 */ lh $t2, 0x144($s0)
/* AC9184 80051FE4 468021A0 */ cvt.s.w $f6, $f4
/* AC9188 80051FE8 01284821 */ addu $t1, $t1, $t0
/* AC918C 80051FEC 8D29D068 */ lw $t1, %lo(D_8011D068)($t1)
/* AC9190 80051FF0 000A58C0 */ sll $t3, $t2, 3
/* AC9194 80051FF4 2604000C */ addiu $a0, $s0, 0xc
/* AC9198 80051FF8 012B6021 */ addu $t4, $t1, $t3
/* AC919C 80051FFC 8D820004 */ lw $v0, 4($t4)
/* AC91A0 80052000 3C088016 */ lui $t0, %hi(gGameInfo) # $t0, 0x8016
/* AC91A4 80052004 844F0000 */ lh $t7, ($v0)
/* AC91A8 80052008 24420008 */ addiu $v0, $v0, 8
/* AC91AC 8005200C 460E3082 */ mul.s $f2, $f6, $f14
/* AC91B0 80052010 448F3000 */ mtc1 $t7, $f6
/* AC91B4 80052014 46024280 */ add.s $f10, $f8, $f2
/* AC91B8 80052018 46121102 */ mul.s $f4, $f2, $f18
/* AC91BC 8005201C 46803220 */ cvt.s.w $f8, $f6
/* AC91C0 80052020 46045301 */ sub.s $f12, $f10, $f4
/* AC91C4 80052024 460E4402 */ mul.s $f16, $f8, $f14
/* AC91C8 80052028 00000000 */ nop
/* AC91CC 8005202C 46008482 */ mul.s $f18, $f16, $f0
/* AC91D0 80052030 00000000 */ nop
/* AC91D4 80052034 460C9282 */ mul.s $f10, $f18, $f12
/* AC91D8 80052038 E48A0000 */ swc1 $f10, ($a0)
/* AC91DC 8005203C 8458FFFC */ lh $t8, -4($v0)
/* AC91E0 80052040 44982000 */ mtc1 $t8, $f4
/* AC91E4 80052044 00000000 */ nop
/* AC91E8 80052048 468021A0 */ cvt.s.w $f6, $f4
/* AC91EC 8005204C E4860004 */ swc1 $f6, 4($a0)
/* AC91F0 80052050 84590000 */ lh $t9, ($v0)
/* AC91F4 80052054 A4990008 */ sh $t9, 8($a0)
/* AC91F8 80052058 8D08FA90 */ lw $t0, %lo(gGameInfo)($t0)
/* AC91FC 8005205C 85030314 */ lh $v1, 0x314($t0)
.L80052060:
/* AC9200 80052060 260A000C */ addiu $t2, $s0, 0xc
/* AC9204 80052064 10600003 */ beqz $v1, .L80052074
/* AC9208 80052068 AFAA0028 */ sw $t2, 0x28($sp)
/* AC920C 8005206C 0C011495 */ jal func_80045254
/* AC9210 80052070 02002025 */ move $a0, $s0
.L80052074:
/* AC9214 80052074 8FA90028 */ lw $t1, 0x28($sp)
/* AC9218 80052078 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC921C 8005207C 852B0008 */ lh $t3, 8($t1)
/* AC9220 80052080 AC2BD3A0 */ sw $t3, %lo(D_8011D3A0)($at)
/* AC9224 80052084 960C015E */ lhu $t4, 0x15e($s0)
/* AC9228 80052088 2D810006 */ sltiu $at, $t4, 6
/* AC922C 8005208C 102000D1 */ beqz $at, .L800523D4
/* AC9230 80052090 000C6080 */ sll $t4, $t4, 2
/* AC9234 80052094 3C018014 */ lui $at, %hi(jtbl_8013A208)
/* AC9238 80052098 002C0821 */ addu $at, $at, $t4
/* AC923C 8005209C 8C2CA208 */ lw $t4, %lo(jtbl_8013A208)($at)
/* AC9240 800520A0 01800008 */ jr $t4
/* AC9244 800520A4 00000000 */ nop
/* AC9248 800520A8 0C010ED8 */ jal func_80043B60
/* AC924C 800520AC 02002025 */ move $a0, $s0
/* AC9250 800520B0 860D014C */ lh $t5, 0x14c($s0)
/* AC9254 800520B4 C60800FC */ lwc1 $f8, 0xfc($s0)
/* AC9258 800520B8 26020018 */ addiu $v0, $s0, 0x18
/* AC925C 800520BC 31AEFFF3 */ andi $t6, $t5, 0xfff3
/* AC9260 800520C0 A60E014C */ sh $t6, 0x14c($s0)
/* AC9264 800520C4 E4480000 */ swc1 $f8, ($v0)
/* AC9268 800520C8 AFA2002C */ sw $v0, 0x2c($sp)
/* AC926C 800520CC 26040050 */ addiu $a0, $s0, 0x50
/* AC9270 800520D0 0C01EFE4 */ jal func_8007BF90
/* AC9274 800520D4 2605005C */ addiu $a1, $s0, 0x5c
/* AC9278 800520D8 8FA2002C */ lw $v0, 0x2c($sp)
/* AC927C 800520DC E4400004 */ swc1 $f0, 4($v0)
/* AC9280 800520E0 860F015E */ lh $t7, 0x15e($s0)
/* AC9284 800520E4 25F80001 */ addiu $t8, $t7, 1
/* AC9288 800520E8 A618015E */ sh $t8, 0x15e($s0)
/* AC928C 800520EC 86020006 */ lh $v0, 6($s0)
/* AC9290 800520F0 02002025 */ move $a0, $s0
/* AC9294 800520F4 26080050 */ addiu $t0, $s0, 0x50
/* AC9298 800520F8 0002182A */ slt $v1, $zero, $v0
/* AC929C 800520FC 2459FFFF */ addiu $t9, $v0, -1
/* AC92A0 80052100 146000D2 */ bnez $v1, .L8005244C
/* AC92A4 80052104 A6190006 */ sh $t9, 6($s0)
/* AC92A8 80052108 260A005C */ addiu $t2, $s0, 0x5c
/* AC92AC 8005210C AFAA0024 */ sw $t2, 0x24($sp)
/* AC92B0 80052110 0C0111DB */ jal func_8004476C
/* AC92B4 80052114 AFA8002C */ sw $t0, 0x2c($sp)
/* AC92B8 80052118 26040074 */ addiu $a0, $s0, 0x74
/* AC92BC 8005211C AFA20054 */ sw $v0, 0x54($sp)
/* AC92C0 80052120 AFA40020 */ sw $a0, 0x20($sp)
/* AC92C4 80052124 0C010EF1 */ jal func_80043BC4
/* AC92C8 80052128 00402825 */ move $a1, $v0
/* AC92CC 8005212C 8FA90020 */ lw $t1, 0x20($sp)
/* AC92D0 80052130 8FA50024 */ lw $a1, 0x24($sp)
/* AC92D4 80052134 27AD004C */ addiu $t5, $sp, 0x4c
/* AC92D8 80052138 8D2C0000 */ lw $t4, ($t1)
/* AC92DC 8005213C 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC92E0 80052140 44818000 */ mtc1 $at, $f16
/* AC92E4 80052144 ACAC0000 */ sw $t4, ($a1)
/* AC92E8 80052148 8D2B0004 */ lw $t3, 4($t1)
/* AC92EC 8005214C 27A60060 */ addiu $a2, $sp, 0x60
/* AC92F0 80052150 ACAB0004 */ sw $t3, 4($a1)
/* AC92F4 80052154 8D2C0008 */ lw $t4, 8($t1)
/* AC92F8 80052158 ACAC0008 */ sw $t4, 8($a1)
/* AC92FC 8005215C 8FAE0054 */ lw $t6, 0x54($sp)
/* AC9300 80052160 89D80006 */ lwl $t8, 6($t6)
/* AC9304 80052164 99D80009 */ lwr $t8, 9($t6)
/* AC9308 80052168 ADB80000 */ sw $t8, ($t5)
/* AC930C 8005216C 95D8000A */ lhu $t8, 0xa($t6)
/* AC9310 80052170 A5B80004 */ sh $t8, 4($t5)
/* AC9314 80052174 87A8004C */ lh $t0, 0x4c($sp)
/* AC9318 80052178 87B9004E */ lh $t9, 0x4e($sp)
/* AC931C 8005217C 8FA4002C */ lw $a0, 0x2c($sp)
/* AC9320 80052180 00085023 */ negu $t2, $t0
/* AC9324 80052184 A7AA0064 */ sh $t2, 0x64($sp)
/* AC9328 80052188 E7B00060 */ swc1 $f16, 0x60($sp)
/* AC932C 8005218C 0C010F0A */ jal func_80043C28
/* AC9330 80052190 A7B90066 */ sh $t9, 0x66($sp)
/* AC9334 80052194 8609015E */ lh $t1, 0x15e($s0)
/* AC9338 80052198 252B0001 */ addiu $t3, $t1, 1
/* AC933C 8005219C A60B015E */ sh $t3, 0x15e($s0)
/* AC9340 800521A0 8FAC0028 */ lw $t4, 0x28($sp)
/* AC9344 800521A4 858D0008 */ lh $t5, 8($t4)
/* AC9348 800521A8 31AE0004 */ andi $t6, $t5, 4
/* AC934C 800521AC 51C0000F */ beql $t6, $zero, .L800521EC
/* AC9350 800521B0 86020008 */ lh $v0, 8($s0)
/* AC9354 800521B4 8E180094 */ lw $t8, 0x94($s0)
/* AC9358 800521B8 8E0F0098 */ lw $t7, 0x98($s0)
/* AC935C 800521BC AE180050 */ sw $t8, 0x50($s0)
/* AC9360 800521C0 8E18009C */ lw $t8, 0x9c($s0)
/* AC9364 800521C4 AE0F0054 */ sw $t7, 0x54($s0)
/* AC9368 800521C8 C6060054 */ lwc1 $f6, 0x54($s0)
/* AC936C 800521CC AE180058 */ sw $t8, 0x58($s0)
/* AC9370 800521D0 8FB90028 */ lw $t9, 0x28($sp)
/* AC9374 800521D4 C7B2005C */ lwc1 $f18, 0x5c($sp)
/* AC9378 800521D8 C72A0000 */ lwc1 $f10, ($t9)
/* AC937C 800521DC 460A9100 */ add.s $f4, $f18, $f10
/* AC9380 800521E0 46043200 */ add.s $f8, $f6, $f4
/* AC9384 800521E4 E6080054 */ swc1 $f8, 0x54($s0)
/* AC9388 800521E8 86020008 */ lh $v0, 8($s0)
.L800521EC:
/* AC938C 800521EC 0002182A */ slt $v1, $zero, $v0
/* AC9390 800521F0 2448FFFF */ addiu $t0, $v0, -1
/* AC9394 800521F4 14600095 */ bnez $v1, .L8005244C
/* AC9398 800521F8 A6080008 */ sh $t0, 8($s0)
/* AC939C 800521FC 860A015E */ lh $t2, 0x15e($s0)
/* AC93A0 80052200 25490001 */ addiu $t1, $t2, 1
/* AC93A4 80052204 A609015E */ sh $t1, 0x15e($s0)
/* AC93A8 80052208 860B014C */ lh $t3, 0x14c($s0)
/* AC93AC 8005220C 356C0410 */ ori $t4, $t3, 0x410
/* AC93B0 80052210 A60C014C */ sh $t4, 0x14c($s0)
/* AC93B4 80052214 860D014C */ lh $t5, 0x14c($s0)
/* AC93B8 80052218 31AE0008 */ andi $t6, $t5, 8
/* AC93BC 8005221C 51C0008C */ beql $t6, $zero, .L80052450
/* AC93C0 80052220 8FBF001C */ lw $ra, 0x1c($sp)
/* AC93C4 80052224 860F015E */ lh $t7, 0x15e($s0)
/* AC93C8 80052228 25F80001 */ addiu $t8, $t7, 1
/* AC93CC 8005222C A618015E */ sh $t8, 0x15e($s0)
/* AC93D0 80052230 8FB90028 */ lw $t9, 0x28($sp)
/* AC93D4 80052234 240E0005 */ li $t6, 5
/* AC93D8 80052238 3C018014 */ lui $at, %hi(D_8013A220)
/* AC93DC 8005223C 87280008 */ lh $t0, 8($t9)
/* AC93E0 80052240 310A0002 */ andi $t2, $t0, 2
/* AC93E4 80052244 5140000E */ beql $t2, $zero, .L80052280
/* AC93E8 80052248 A60E000A */ sh $t6, 0xa($s0)
/* AC93EC 8005224C 8609014C */ lh $t1, 0x14c($s0)
/* AC93F0 80052250 02002025 */ move $a0, $s0
/* AC93F4 80052254 24050018 */ li $a1, 24
/* AC93F8 80052258 352B0004 */ ori $t3, $t1, 4
/* AC93FC 8005225C A60B014C */ sh $t3, 0x14c($s0)
/* AC9400 80052260 860C014C */ lh $t4, 0x14c($s0)
/* AC9404 80052264 24060002 */ li $a2, 2
/* AC9408 80052268 318DFFF7 */ andi $t5, $t4, 0xfff7
/* AC940C 8005226C 0C016952 */ jal func_8005A548
/* AC9410 80052270 A60D014C */ sh $t5, 0x14c($s0)
/* AC9414 80052274 10000076 */ b .L80052450
/* AC9418 80052278 8FBF001C */ lw $ra, 0x1c($sp)
/* AC941C 8005227C A60E000A */ sh $t6, 0xa($s0)
.L80052280:
/* AC9420 80052280 C430A220 */ lwc1 $f16, %lo(D_8013A220)($at)
/* AC9424 80052284 C61200D8 */ lwc1 $f18, 0xd8($s0)
/* AC9428 80052288 3C0F8016 */ lui $t7, %hi(D_8015BD7C) # $t7, 0x8016
/* AC942C 8005228C 4612803C */ c.lt.s $f16, $f18
/* AC9430 80052290 00000000 */ nop
/* AC9434 80052294 4503001E */ bc1tl .L80052310
/* AC9438 80052298 860E015E */ lh $t6, 0x15e($s0)
/* AC943C 8005229C 8DEFBD7C */ lw $t7, %lo(D_8015BD7C)($t7)
/* AC9440 800522A0 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
/* AC9444 800522A4 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* AC9448 800522A8 95E20020 */ lhu $v0, 0x20($t7)
/* AC944C 800522AC 0041C027 */ nor $t8, $v0, $at
/* AC9450 800522B0 13000016 */ beqz $t8, .L8005230C
/* AC9454 800522B4 2401BFFF */ li $at, -16385
/* AC9458 800522B8 0041C827 */ nor $t9, $v0, $at
/* AC945C 800522BC 13200013 */ beqz $t9, .L8005230C
/* AC9460 800522C0 2401FFFD */ li $at, -3
/* AC9464 800522C4 00414027 */ nor $t0, $v0, $at
/* AC9468 800522C8 11000010 */ beqz $t0, .L8005230C
/* AC946C 800522CC 2401FFFB */ li $at, -5
/* AC9470 800522D0 00415027 */ nor $t2, $v0, $at
/* AC9474 800522D4 1140000D */ beqz $t2, .L8005230C
/* AC9478 800522D8 2401FFF7 */ li $at, -9
/* AC947C 800522DC 00414827 */ nor $t1, $v0, $at
/* AC9480 800522E0 1120000A */ beqz $t1, .L8005230C
/* AC9484 800522E4 2401FFFE */ li $at, -2
/* AC9488 800522E8 00415827 */ nor $t3, $v0, $at
/* AC948C 800522EC 11600007 */ beqz $t3, .L8005230C
/* AC9490 800522F0 2401FFEF */ li $at, -17
/* AC9494 800522F4 00416027 */ nor $t4, $v0, $at
/* AC9498 800522F8 11800004 */ beqz $t4, .L8005230C
/* AC949C 800522FC 2401DFFF */ li $at, -8193
/* AC94A0 80052300 00416827 */ nor $t5, $v0, $at
/* AC94A4 80052304 55A00052 */ bnezl $t5, .L80052450
/* AC94A8 80052308 8FBF001C */ lw $ra, 0x1c($sp)
.L8005230C:
/* AC94AC 8005230C 860E015E */ lh $t6, 0x15e($s0)
.L80052310:
/* AC94B0 80052310 25CF0001 */ addiu $t7, $t6, 1
/* AC94B4 80052314 A60F015E */ sh $t7, 0x15e($s0)
/* AC94B8 80052318 C60C0018 */ lwc1 $f12, 0x18($s0)
/* AC94BC 8005231C C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC94C0 80052320 3C063ECC */ lui $a2, (0x3ECCCCCD >> 16) # lui $a2, 0x3ecc
/* AC94C4 80052324 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC94C8 80052328 26180050 */ addiu $t8, $s0, 0x50
/* AC94CC 8005232C 2619005C */ addiu $t9, $s0, 0x5c
/* AC94D0 80052330 26080074 */ addiu $t0, $s0, 0x74
/* AC94D4 80052334 AFA80020 */ sw $t0, 0x20($sp)
/* AC94D8 80052338 AFB90024 */ sw $t9, 0x24($sp)
/* AC94DC 8005233C AFB8002C */ sw $t8, 0x2c($sp)
/* AC94E0 80052340 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC94E4 80052344 0C010E27 */ jal func_8004389C
/* AC94E8 80052348 34C6CCCD */ ori $a2, (0x3ECCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC94EC 8005234C E60000FC */ swc1 $f0, 0xfc($s0)
/* AC94F0 80052350 8FA60024 */ lw $a2, 0x24($sp)
/* AC94F4 80052354 8FA5002C */ lw $a1, 0x2c($sp)
/* AC94F8 80052358 0C01F124 */ jal func_8007C490
/* AC94FC 8005235C 27A40060 */ addiu $a0, $sp, 0x60
/* AC9500 80052360 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC9504 80052364 44816000 */ mtc1 $at, $f12
/* AC9508 80052368 3C063ECC */ lui $a2, (0x3ECCCCCD >> 16) # lui $a2, 0x3ecc
/* AC950C 8005236C 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC9510 80052370 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC9514 80052374 34C6CCCD */ ori $a2, (0x3ECCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC9518 80052378 0C010E27 */ jal func_8004389C
/* AC951C 8005237C C7AE0060 */ lwc1 $f14, 0x60($sp)
/* AC9520 80052380 E7A00060 */ swc1 $f0, 0x60($sp)
/* AC9524 80052384 8FA40020 */ lw $a0, 0x20($sp)
/* AC9528 80052388 8FA5002C */ lw $a1, 0x2c($sp)
/* AC952C 8005238C 0C010F0A */ jal func_80043C28
/* AC9530 80052390 27A60060 */ addiu $a2, $sp, 0x60
/* AC9534 80052394 8FA90020 */ lw $t1, 0x20($sp)
/* AC9538 80052398 8FAA0024 */ lw $t2, 0x24($sp)
/* AC953C 8005239C 8D2C0000 */ lw $t4, ($t1)
/* AC9540 800523A0 AD4C0000 */ sw $t4, ($t2)
/* AC9544 800523A4 8D2B0004 */ lw $t3, 4($t1)
/* AC9548 800523A8 AD4B0004 */ sw $t3, 4($t2)
/* AC954C 800523AC 8D2C0008 */ lw $t4, 8($t1)
/* AC9550 800523B0 AD4C0008 */ sw $t4, 8($t2)
/* AC9554 800523B4 8604000A */ lh $a0, 0xa($s0)
/* AC9558 800523B8 0004182A */ slt $v1, $zero, $a0
/* AC955C 800523BC 248DFFFF */ addiu $t5, $a0, -1
/* AC9560 800523C0 14600022 */ bnez $v1, .L8005244C
/* AC9564 800523C4 A60D000A */ sh $t5, 0xa($s0)
/* AC9568 800523C8 860E015E */ lh $t6, 0x15e($s0)
/* AC956C 800523CC 25CF0001 */ addiu $t7, $t6, 1
/* AC9570 800523D0 A60F015E */ sh $t7, 0x15e($s0)
.L800523D4:
/* AC9574 800523D4 8618014C */ lh $t8, 0x14c($s0)
/* AC9578 800523D8 86050154 */ lh $a1, 0x154($s0)
/* AC957C 800523DC 26030094 */ addiu $v1, $s0, 0x94
/* AC9580 800523E0 37190004 */ ori $t9, $t8, 4
/* AC9584 800523E4 A619014C */ sh $t9, 0x14c($s0)
/* AC9588 800523E8 8608014C */ lh $t0, 0x14c($s0)
/* AC958C 800523EC 02002025 */ move $a0, $s0
/* AC9590 800523F0 24060002 */ li $a2, 2
/* AC9594 800523F4 310AFFF7 */ andi $t2, $t0, 0xfff7
/* AC9598 800523F8 A60A014C */ sh $t2, 0x14c($s0)
/* AC959C 800523FC 8FA90028 */ lw $t1, 0x28($sp)
/* AC95A0 80052400 C52A0004 */ lwc1 $f10, 4($t1)
/* AC95A4 80052404 E60A00FC */ swc1 $f10, 0xfc($s0)
/* AC95A8 80052408 0C016952 */ jal func_8005A548
/* AC95AC 8005240C AFA3002C */ sw $v1, 0x2c($sp)
/* AC95B0 80052410 44803000 */ mtc1 $zero, $f6
/* AC95B4 80052414 8FA3002C */ lw $v1, 0x2c($sp)
/* AC95B8 80052418 C6040050 */ lwc1 $f4, 0x50($s0)
/* AC95BC 8005241C E6060100 */ swc1 $f6, 0x100($s0)
/* AC95C0 80052420 C4680000 */ lwc1 $f8, ($v1)
/* AC95C4 80052424 C6120054 */ lwc1 $f18, 0x54($s0)
/* AC95C8 80052428 46082401 */ sub.s $f16, $f4, $f8
/* AC95CC 8005242C C6040058 */ lwc1 $f4, 0x58($s0)
/* AC95D0 80052430 E61000E4 */ swc1 $f16, 0xe4($s0)
/* AC95D4 80052434 C46A0004 */ lwc1 $f10, 4($v1)
/* AC95D8 80052438 460A9181 */ sub.s $f6, $f18, $f10
/* AC95DC 8005243C E60600E8 */ swc1 $f6, 0xe8($s0)
/* AC95E0 80052440 C4680008 */ lwc1 $f8, 8($v1)
/* AC95E4 80052444 46082401 */ sub.s $f16, $f4, $f8
/* AC95E8 80052448 E61000EC */ swc1 $f16, 0xec($s0)
.L8005244C:
/* AC95EC 8005244C 8FBF001C */ lw $ra, 0x1c($sp)
.L80052450:
/* AC95F0 80052450 8FB00018 */ lw $s0, 0x18($sp)
/* AC95F4 80052454 27BD0068 */ addiu $sp, $sp, 0x68
/* AC95F8 80052458 03E00008 */ jr $ra
/* AC95FC 8005245C 24020001 */ li $v0, 1
# SPLIT
/* AC9600 80052460 27BDFF78 */ addiu $sp, $sp, -0x88
/* AC9604 80052464 AFB00018 */ sw $s0, 0x18($sp)
/* AC9608 80052468 00808025 */ move $s0, $a0
/* AC960C 8005246C AFBF001C */ sw $ra, 0x1c($sp)
/* AC9610 80052470 0C00B721 */ jal func_8002DC84
/* AC9614 80052474 8C840090 */ lw $a0, 0x90($a0)
/* AC9618 80052478 8E0E0090 */ lw $t6, 0x90($s0)
/* AC961C 8005247C 46000086 */ mov.s $f2, $f0
/* AC9620 80052480 2401000A */ li $at, 10
/* AC9624 80052484 AFAE007C */ sw $t6, 0x7c($sp)
/* AC9628 80052488 8602015E */ lh $v0, 0x15e($s0)
/* AC962C 8005248C 02002025 */ move $a0, $s0
/* AC9630 80052490 5040000A */ beql $v0, $zero, .L800524BC
/* AC9634 80052494 86180142 */ lh $t8, 0x142($s0)
/* AC9638 80052498 10410007 */ beq $v0, $at, .L800524B8
/* AC963C 8005249C 24010014 */ li $at, 20
/* AC9640 800524A0 10410005 */ beq $v0, $at, .L800524B8
/* AC9644 800524A4 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* AC9648 800524A8 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* AC964C 800524AC 85E20314 */ lh $v0, 0x314($t7)
/* AC9650 800524B0 50400010 */ beql $v0, $zero, .L800524F4
/* AC9654 800524B4 260F000C */ addiu $t7, $s0, 0xc
.L800524B8:
/* AC9658 800524B8 86180142 */ lh $t8, 0x142($s0)
.L800524BC:
/* AC965C 800524BC 3C098012 */ lui $t1, %hi(D_8011D068)
/* AC9660 800524C0 860A0144 */ lh $t2, 0x144($s0)
/* AC9664 800524C4 0018C8C0 */ sll $t9, $t8, 3
/* AC9668 800524C8 01394821 */ addu $t1, $t1, $t9
/* AC966C 800524CC 8D29D068 */ lw $t1, %lo(D_8011D068)($t1)
/* AC9670 800524D0 000A58C0 */ sll $t3, $t2, 3
/* AC9674 800524D4 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC9678 800524D8 012B6021 */ addu $t4, $t1, $t3
/* AC967C 800524DC 8D830004 */ lw $v1, 4($t4)
/* AC9680 800524E0 846D0000 */ lh $t5, ($v1)
/* AC9684 800524E4 A60D000C */ sh $t5, 0xc($s0)
/* AC9688 800524E8 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC968C 800524EC 85C20314 */ lh $v0, 0x314($t6)
/* AC9690 800524F0 260F000C */ addiu $t7, $s0, 0xc
.L800524F4:
/* AC9694 800524F4 10400004 */ beqz $v0, .L80052508
/* AC9698 800524F8 AFAF0030 */ sw $t7, 0x30($sp)
/* AC969C 800524FC 0C011495 */ jal func_80045254
/* AC96A0 80052500 E7A20084 */ swc1 $f2, 0x84($sp)
/* AC96A4 80052504 C7A20084 */ lwc1 $f2, 0x84($sp)
.L80052508:
/* AC96A8 80052508 26060094 */ addiu $a2, $s0, 0x94
/* AC96AC 8005250C 8CCA0000 */ lw $t2, ($a2)
/* AC96B0 80052510 27B80070 */ addiu $t8, $sp, 0x70
/* AC96B4 80052514 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC96B8 80052518 AF0A0000 */ sw $t2, ($t8)
/* AC96BC 8005251C 8CD90004 */ lw $t9, 4($a2)
/* AC96C0 80052520 02002025 */ move $a0, $s0
/* AC96C4 80052524 AF190004 */ sw $t9, 4($t8)
/* AC96C8 80052528 8CCA0008 */ lw $t2, 8($a2)
/* AC96CC 8005252C AF0A0008 */ sw $t2, 8($t8)
/* AC96D0 80052530 C7A40074 */ lwc1 $f4, 0x74($sp)
/* AC96D4 80052534 8FA90030 */ lw $t1, 0x30($sp)
/* AC96D8 80052538 46022180 */ add.s $f6, $f4, $f2
/* AC96DC 8005253C E7A60074 */ swc1 $f6, 0x74($sp)
/* AC96E0 80052540 852B0000 */ lh $t3, ($t1)
/* AC96E4 80052544 AC2BD3A0 */ sw $t3, %lo(D_8011D3A0)($at)
/* AC96E8 80052548 860C015E */ lh $t4, 0x15e($s0)
/* AC96EC 8005254C 55800064 */ bnezl $t4, .L800526E0
/* AC96F0 80052550 8FAB007C */ lw $t3, 0x7c($sp)
/* AC96F4 80052554 0C010ED8 */ jal func_80043B60
/* AC96F8 80052558 AFA60034 */ sw $a2, 0x34($sp)
/* AC96FC 8005255C 860D014C */ lh $t5, 0x14c($s0)
/* AC9700 80052560 02002025 */ move $a0, $s0
/* AC9704 80052564 31AEFFFB */ andi $t6, $t5, 0xfffb
/* AC9708 80052568 0C0111DB */ jal func_8004476C
/* AC970C 8005256C A60E014C */ sh $t6, 0x14c($s0)
/* AC9710 80052570 26070010 */ addiu $a3, $s0, 0x10
/* AC9714 80052574 24E40010 */ addiu $a0, $a3, 0x10
/* AC9718 80052578 AFA40024 */ sw $a0, 0x24($sp)
/* AC971C 8005257C AFA7002C */ sw $a3, 0x2c($sp)
/* AC9720 80052580 00402825 */ move $a1, $v0
/* AC9724 80052584 0C010EF1 */ jal func_80043BC4
/* AC9728 80052588 AFA20064 */ sw $v0, 0x64($sp)
/* AC972C 8005258C 8FAF0024 */ lw $t7, 0x24($sp)
/* AC9730 80052590 8FA60064 */ lw $a2, 0x64($sp)
/* AC9734 80052594 27A40038 */ addiu $a0, $sp, 0x38
/* AC9738 80052598 8DF90000 */ lw $t9, ($t7)
/* AC973C 8005259C 8FA7002C */ lw $a3, 0x2c($sp)
/* AC9740 800525A0 2605005C */ addiu $a1, $s0, 0x5c
/* AC9744 800525A4 AC990000 */ sw $t9, ($a0)
/* AC9748 800525A8 8DF80004 */ lw $t8, 4($t7)
/* AC974C 800525AC 8C890000 */ lw $t1, ($a0)
/* AC9750 800525B0 27AD005C */ addiu $t5, $sp, 0x5c
/* AC9754 800525B4 AC980004 */ sw $t8, 4($a0)
/* AC9758 800525B8 8DF90008 */ lw $t9, 8($t7)
/* AC975C 800525BC 2408FFFF */ li $t0, -1
/* AC9760 800525C0 AC990008 */ sw $t9, 8($a0)
/* AC9764 800525C4 AE090074 */ sw $t1, 0x74($s0)
/* AC9768 800525C8 8C8A0004 */ lw $t2, 4($a0)
/* AC976C 800525CC AE0A0078 */ sw $t2, 0x78($s0)
/* AC9770 800525D0 8C890008 */ lw $t1, 8($a0)
/* AC9774 800525D4 AE09007C */ sw $t1, 0x7c($s0)
/* AC9778 800525D8 8C8C0000 */ lw $t4, ($a0)
/* AC977C 800525DC ACAC0000 */ sw $t4, ($a1)
/* AC9780 800525E0 8C8B0004 */ lw $t3, 4($a0)
/* AC9784 800525E4 ACAB0004 */ sw $t3, 4($a1)
/* AC9788 800525E8 8C8C0008 */ lw $t4, 8($a0)
/* AC978C 800525EC 27A40070 */ addiu $a0, $sp, 0x70
/* AC9790 800525F0 ACAC0008 */ sw $t4, 8($a1)
/* AC9794 800525F4 88CF0006 */ lwl $t7, 6($a2)
/* AC9798 800525F8 98CF0009 */ lwr $t7, 9($a2)
/* AC979C 800525FC ADAF0000 */ sw $t7, ($t5)
/* AC97A0 80052600 94CF000A */ lhu $t7, 0xa($a2)
/* AC97A4 80052604 A5AF0004 */ sh $t7, 4($t5)
/* AC97A8 80052608 84C3000C */ lh $v1, 0xc($a2)
/* AC97AC 8005260C 1068000E */ beq $v1, $t0, .L80052648
/* AC97B0 80052610 28610169 */ slti $at, $v1, 0x169
/* AC97B4 80052614 50200007 */ beql $at, $zero, .L80052634
/* AC97B8 80052618 44838000 */ mtc1 $v1, $f16
/* AC97BC 8005261C 44834000 */ mtc1 $v1, $f8
/* AC97C0 80052620 00000000 */ nop
/* AC97C4 80052624 468042A0 */ cvt.s.w $f10, $f8
/* AC97C8 80052628 10000007 */ b .L80052648
/* AC97CC 8005262C E60A00FC */ swc1 $f10, 0xfc($s0)
/* AC97D0 80052630 44838000 */ mtc1 $v1, $f16
.L80052634:
/* AC97D4 80052634 3C018014 */ lui $at, %hi(D_8013A224)
/* AC97D8 80052638 C424A224 */ lwc1 $f4, %lo(D_8013A224)($at)
/* AC97DC 8005263C 468084A0 */ cvt.s.w $f18, $f16
/* AC97E0 80052640 46049182 */ mul.s $f6, $f18, $f4
/* AC97E4 80052644 E60600FC */ swc1 $f6, 0xfc($s0)
.L80052648:
/* AC97E8 80052648 84D8000E */ lh $t8, 0xe($a2)
/* AC97EC 8005264C A4F8000C */ sh $t8, 0xc($a3)
/* AC97F0 80052650 84F9000C */ lh $t9, 0xc($a3)
/* AC97F4 80052654 15190005 */ bne $t0, $t9, .L8005266C
/* AC97F8 80052658 00000000 */ nop
/* AC97FC 8005265C 860A0006 */ lh $t2, 6($s0)
/* AC9800 80052660 86090008 */ lh $t1, 8($s0)
/* AC9804 80052664 01495821 */ addu $t3, $t2, $t1
/* AC9808 80052668 A4EB000C */ sh $t3, 0xc($a3)
.L8005266C:
/* AC980C 8005266C 0C01EFE4 */ jal func_8007BF90
/* AC9810 80052670 AFA7002C */ sw $a3, 0x2c($sp)
/* AC9814 80052674 87AD005C */ lh $t5, 0x5c($sp)
/* AC9818 80052678 8FA7002C */ lw $a3, 0x2c($sp)
/* AC981C 8005267C 87AC005E */ lh $t4, 0x5e($sp)
/* AC9820 80052680 000D7023 */ negu $t6, $t5
/* AC9824 80052684 E7A00068 */ swc1 $f0, 0x68($sp)
/* AC9828 80052688 A7AE006C */ sh $t6, 0x6c($sp)
/* AC982C 8005268C 27A50068 */ addiu $a1, $sp, 0x68
/* AC9830 80052690 24E4001C */ addiu $a0, $a3, 0x1c
/* AC9834 80052694 0C01F097 */ jal func_8007C25C
/* AC9838 80052698 A7AC006E */ sh $t4, 0x6e($sp)
/* AC983C 8005269C 8FA40024 */ lw $a0, 0x24($sp)
/* AC9840 800526A0 8FA50034 */ lw $a1, 0x34($sp)
/* AC9844 800526A4 0C032AE5 */ jal func_800CAB94
/* AC9848 800526A8 26060050 */ addiu $a2, $s0, 0x50
/* AC984C 800526AC 8FAF0034 */ lw $t7, 0x34($sp)
/* AC9850 800526B0 8FA7002C */ lw $a3, 0x2c($sp)
/* AC9854 800526B4 8DF90000 */ lw $t9, ($t7)
/* AC9858 800526B8 ACF90000 */ sw $t9, ($a3)
/* AC985C 800526BC 8DF80004 */ lw $t8, 4($t7)
/* AC9860 800526C0 ACF80004 */ sw $t8, 4($a3)
/* AC9864 800526C4 8DF90008 */ lw $t9, 8($t7)
/* AC9868 800526C8 ACF90008 */ sw $t9, 8($a3)
/* AC986C 800526CC 860A015E */ lh $t2, 0x15e($s0)
/* AC9870 800526D0 25490001 */ addiu $t1, $t2, 1
/* AC9874 800526D4 A609015E */ sh $t1, 0x15e($s0)
/* AC9878 800526D8 8FA60034 */ lw $a2, 0x34($sp)
/* AC987C 800526DC 8FAB007C */ lw $t3, 0x7c($sp)
.L800526E0:
/* AC9880 800526E0 3C032000 */ lui $v1, 0x2000
/* AC9884 800526E4 26070010 */ addiu $a3, $s0, 0x10
/* AC9888 800526E8 8D6C067C */ lw $t4, 0x67c($t3)
/* AC988C 800526EC 000C6880 */ sll $t5, $t4, 2
/* AC9890 800526F0 05A30008 */ bgezl $t5, .L80052714
/* AC9894 800526F4 8FB80030 */ lw $t8, 0x30($sp)
/* AC9898 800526F8 8CCF0000 */ lw $t7, ($a2)
/* AC989C 800526FC ACEF0000 */ sw $t7, ($a3)
/* AC98A0 80052700 8CCE0004 */ lw $t6, 4($a2)
/* AC98A4 80052704 ACEE0004 */ sw $t6, 4($a3)
/* AC98A8 80052708 8CCF0008 */ lw $t7, 8($a2)
/* AC98AC 8005270C ACEF0008 */ sw $t7, 8($a3)
/* AC98B0 80052710 8FB80030 */ lw $t8, 0x30($sp)
.L80052714:
/* AC98B4 80052714 87190000 */ lh $t9, ($t8)
/* AC98B8 80052718 332A0001 */ andi $t2, $t9, 1
/* AC98BC 8005271C 51400055 */ beql $t2, $zero, .L80052874
/* AC98C0 80052720 84E2000C */ lh $v0, 0xc($a3)
/* AC98C4 80052724 84E2000C */ lh $v0, 0xc($a3)
/* AC98C8 80052728 8FAD007C */ lw $t5, 0x7c($sp)
/* AC98CC 8005272C 18400009 */ blez $v0, .L80052754
/* AC98D0 80052730 2449FFFF */ addiu $t1, $v0, -1
/* AC98D4 80052734 A4E9000C */ sh $t1, 0xc($a3)
/* AC98D8 80052738 8CCC0000 */ lw $t4, ($a2)
/* AC98DC 8005273C ACEC0000 */ sw $t4, ($a3)
/* AC98E0 80052740 8CCB0004 */ lw $t3, 4($a2)
/* AC98E4 80052744 ACEB0004 */ sw $t3, 4($a3)
/* AC98E8 80052748 8CCC0008 */ lw $t4, 8($a2)
/* AC98EC 8005274C 1000009D */ b .L800529C4
/* AC98F0 80052750 ACEC0008 */ sw $t4, 8($a3)
.L80052754:
/* AC98F4 80052754 8DAE067C */ lw $t6, 0x67c($t5)
/* AC98F8 80052758 00C02025 */ move $a0, $a2
/* AC98FC 8005275C 00E02825 */ move $a1, $a3
/* AC9900 80052760 01C37824 */ and $t7, $t6, $v1
/* AC9904 80052764 55E00098 */ bnezl $t7, .L800529C8
/* AC9908 80052768 8FBF001C */ lw $ra, 0x1c($sp)
/* AC990C 8005276C 0C01F00A */ jal func_8007C028
/* AC9910 80052770 AFA60034 */ sw $a2, 0x34($sp)
/* AC9914 80052774 3C014120 */ li $at, 0x41200000 # 0.000000
/* AC9918 80052778 44814000 */ mtc1 $at, $f8
/* AC991C 8005277C 3C188016 */ lui $t8, %hi(D_8015BD7C) # $t8, 0x8016
/* AC9920 80052780 26040050 */ addiu $a0, $s0, 0x50
/* AC9924 80052784 4600403E */ c.le.s $f8, $f0
/* AC9928 80052788 00000000 */ nop
/* AC992C 8005278C 4501001D */ bc1t .L80052804
/* AC9930 80052790 00000000 */ nop
/* AC9934 80052794 8F18BD7C */ lw $t8, %lo(D_8015BD7C)($t8)
/* AC9938 80052798 3C01FFFF */ li $at, 0xFFFF0000 # 0.000000
/* AC993C 8005279C 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* AC9940 800527A0 97020020 */ lhu $v0, 0x20($t8)
/* AC9944 800527A4 0041C827 */ nor $t9, $v0, $at
/* AC9948 800527A8 13200016 */ beqz $t9, .L80052804
/* AC994C 800527AC 2401BFFF */ li $at, -16385
/* AC9950 800527B0 00415027 */ nor $t2, $v0, $at
/* AC9954 800527B4 11400013 */ beqz $t2, .L80052804
/* AC9958 800527B8 2401FFFD */ li $at, -3
/* AC995C 800527BC 00414827 */ nor $t1, $v0, $at
/* AC9960 800527C0 11200010 */ beqz $t1, .L80052804
/* AC9964 800527C4 2401FFFB */ li $at, -5
/* AC9968 800527C8 00415827 */ nor $t3, $v0, $at
/* AC996C 800527CC 1160000D */ beqz $t3, .L80052804
/* AC9970 800527D0 2401FFF7 */ li $at, -9
/* AC9974 800527D4 00416027 */ nor $t4, $v0, $at
/* AC9978 800527D8 1180000A */ beqz $t4, .L80052804
/* AC997C 800527DC 2401FFFE */ li $at, -2
/* AC9980 800527E0 00416827 */ nor $t5, $v0, $at
/* AC9984 800527E4 11A00007 */ beqz $t5, .L80052804
/* AC9988 800527E8 2401FFEF */ li $at, -17
/* AC998C 800527EC 00417027 */ nor $t6, $v0, $at
/* AC9990 800527F0 11C00004 */ beqz $t6, .L80052804
/* AC9994 800527F4 2401DFFF */ li $at, -8193
/* AC9998 800527F8 00417827 */ nor $t7, $v0, $at
/* AC999C 800527FC 55E00072 */ bnezl $t7, .L800529C8
/* AC99A0 80052800 8FBF001C */ lw $ra, 0x1c($sp)
.L80052804:
/* AC99A4 80052804 0C01EFE4 */ jal func_8007BF90
/* AC99A8 80052808 2605005C */ addiu $a1, $s0, 0x5c
/* AC99AC 8005280C 8FA20034 */ lw $v0, 0x34($sp)
/* AC99B0 80052810 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC99B4 80052814 C60A0050 */ lwc1 $f10, 0x50($s0)
/* AC99B8 80052818 C4500000 */ lwc1 $f16, ($v0)
/* AC99BC 8005281C C6040054 */ lwc1 $f4, 0x54($s0)
/* AC99C0 80052820 8618014C */ lh $t8, 0x14c($s0)
/* AC99C4 80052824 46105481 */ sub.s $f18, $f10, $f16
/* AC99C8 80052828 C60A0058 */ lwc1 $f10, 0x58($s0)
/* AC99CC 8005282C 37190004 */ ori $t9, $t8, 4
/* AC99D0 80052830 02002025 */ move $a0, $s0
/* AC99D4 80052834 E61200E4 */ swc1 $f18, 0xe4($s0)
/* AC99D8 80052838 C4460004 */ lwc1 $f6, 4($v0)
/* AC99DC 8005283C 86050154 */ lh $a1, 0x154($s0)
/* AC99E0 80052840 24060002 */ li $a2, 2
/* AC99E4 80052844 46062201 */ sub.s $f8, $f4, $f6
/* AC99E8 80052848 44802000 */ mtc1 $zero, $f4
/* AC99EC 8005284C E60800E8 */ swc1 $f8, 0xe8($s0)
/* AC99F0 80052850 C4500008 */ lwc1 $f16, 8($v0)
/* AC99F4 80052854 A619014C */ sh $t9, 0x14c($s0)
/* AC99F8 80052858 E6040100 */ swc1 $f4, 0x100($s0)
/* AC99FC 8005285C 46105481 */ sub.s $f18, $f10, $f16
/* AC9A00 80052860 0C016952 */ jal func_8005A548
/* AC9A04 80052864 E61200EC */ swc1 $f18, 0xec($s0)
/* AC9A08 80052868 10000057 */ b .L800529C8
/* AC9A0C 8005286C 8FBF001C */ lw $ra, 0x1c($sp)
/* AC9A10 80052870 84E2000C */ lh $v0, 0xc($a3)
.L80052874:
/* AC9A14 80052874 18400008 */ blez $v0, .L80052898
/* AC9A18 80052878 244AFFFF */ addiu $t2, $v0, -1
/* AC9A1C 8005287C A4EA000C */ sh $t2, 0xc($a3)
/* AC9A20 80052880 84E9000C */ lh $t1, 0xc($a3)
/* AC9A24 80052884 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC9A28 80052888 5520000A */ bnezl $t1, .L800528B4
/* AC9A2C 8005288C 8FAD007C */ lw $t5, 0x7c($sp)
/* AC9A30 80052890 10000007 */ b .L800528B0
/* AC9A34 80052894 AC20D3A0 */ sw $zero, %lo(D_8011D3A0)($at)
.L80052898:
/* AC9A38 80052898 8CCC0000 */ lw $t4, ($a2)
/* AC9A3C 8005289C ACEC0000 */ sw $t4, ($a3)
/* AC9A40 800528A0 8CCB0004 */ lw $t3, 4($a2)
/* AC9A44 800528A4 ACEB0004 */ sw $t3, 4($a3)
/* AC9A48 800528A8 8CCC0008 */ lw $t4, 8($a2)
/* AC9A4C 800528AC ACEC0008 */ sw $t4, 8($a3)
.L800528B0:
/* AC9A50 800528B0 8FAD007C */ lw $t5, 0x7c($sp)
.L800528B4:
/* AC9A54 800528B4 3C018014 */ lui $at, %hi(D_8013A228)
/* AC9A58 800528B8 8DAE067C */ lw $t6, 0x67c($t5)
/* AC9A5C 800528BC 01C37824 */ and $t7, $t6, $v1
/* AC9A60 800528C0 55E00041 */ bnezl $t7, .L800529C8
/* AC9A64 800528C4 8FBF001C */ lw $ra, 0x1c($sp)
/* AC9A68 800528C8 C426A228 */ lwc1 $f6, %lo(D_8013A228)($at)
/* AC9A6C 800528CC C60800D8 */ lwc1 $f8, 0xd8($s0)
/* AC9A70 800528D0 3C188016 */ lui $t8, %hi(D_8015BD7C) # $t8, 0x8016
/* AC9A74 800528D4 26040050 */ addiu $a0, $s0, 0x50
/* AC9A78 800528D8 4608303C */ c.lt.s $f6, $f8
/* AC9A7C 800528DC 2605005C */ addiu $a1, $s0, 0x5c
/* AC9A80 800528E0 4501001D */ bc1t .L80052958
/* AC9A84 800528E4 00000000 */ nop
/* AC9A88 800528E8 8F18BD7C */ lw $t8, %lo(D_8015BD7C)($t8)
/* AC9A8C 800528EC 3C01FFFF */ li $at, 0xFFFF0000 # 0.000000
/* AC9A90 800528F0 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* AC9A94 800528F4 97020020 */ lhu $v0, 0x20($t8)
/* AC9A98 800528F8 0041C827 */ nor $t9, $v0, $at
/* AC9A9C 800528FC 13200016 */ beqz $t9, .L80052958
/* AC9AA0 80052900 2401BFFF */ li $at, -16385
/* AC9AA4 80052904 00415027 */ nor $t2, $v0, $at
/* AC9AA8 80052908 11400013 */ beqz $t2, .L80052958
/* AC9AAC 8005290C 2401FFFD */ li $at, -3
/* AC9AB0 80052910 00414827 */ nor $t1, $v0, $at
/* AC9AB4 80052914 11200010 */ beqz $t1, .L80052958
/* AC9AB8 80052918 2401FFFB */ li $at, -5
/* AC9ABC 8005291C 00415827 */ nor $t3, $v0, $at
/* AC9AC0 80052920 1160000D */ beqz $t3, .L80052958
/* AC9AC4 80052924 2401FFF7 */ li $at, -9
/* AC9AC8 80052928 00416027 */ nor $t4, $v0, $at
/* AC9ACC 8005292C 1180000A */ beqz $t4, .L80052958
/* AC9AD0 80052930 2401FFFE */ li $at, -2
/* AC9AD4 80052934 00416827 */ nor $t5, $v0, $at
/* AC9AD8 80052938 11A00007 */ beqz $t5, .L80052958
/* AC9ADC 8005293C 2401FFEF */ li $at, -17
/* AC9AE0 80052940 00417027 */ nor $t6, $v0, $at
/* AC9AE4 80052944 11C00004 */ beqz $t6, .L80052958
/* AC9AE8 80052948 2401DFFF */ li $at, -8193
/* AC9AEC 8005294C 00417827 */ nor $t7, $v0, $at
/* AC9AF0 80052950 55E0001D */ bnezl $t7, .L800529C8
/* AC9AF4 80052954 8FBF001C */ lw $ra, 0x1c($sp)
.L80052958:
/* AC9AF8 80052958 0C01EFE4 */ jal func_8007BF90
/* AC9AFC 8005295C AFA60034 */ sw $a2, 0x34($sp)
/* AC9B00 80052960 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC9B04 80052964 8FB80034 */ lw $t8, 0x34($sp)
/* AC9B08 80052968 C60A0050 */ lwc1 $f10, 0x50($s0)
/* AC9B0C 8005296C C6040054 */ lwc1 $f4, 0x54($s0)
/* AC9B10 80052970 C7100000 */ lwc1 $f16, ($t8)
/* AC9B14 80052974 02002025 */ move $a0, $s0
/* AC9B18 80052978 86050154 */ lh $a1, 0x154($s0)
/* AC9B1C 8005297C 46105481 */ sub.s $f18, $f10, $f16
/* AC9B20 80052980 C60A0058 */ lwc1 $f10, 0x58($s0)
/* AC9B24 80052984 24060002 */ li $a2, 2
/* AC9B28 80052988 E61200E4 */ swc1 $f18, 0xe4($s0)
/* AC9B2C 8005298C 8FB90034 */ lw $t9, 0x34($sp)
/* AC9B30 80052990 C7260004 */ lwc1 $f6, 4($t9)
/* AC9B34 80052994 46062201 */ sub.s $f8, $f4, $f6
/* AC9B38 80052998 44802000 */ mtc1 $zero, $f4
/* AC9B3C 8005299C E60800E8 */ swc1 $f8, 0xe8($s0)
/* AC9B40 800529A0 8FAA0034 */ lw $t2, 0x34($sp)
/* AC9B44 800529A4 C5500008 */ lwc1 $f16, 8($t2)
/* AC9B48 800529A8 E6040100 */ swc1 $f4, 0x100($s0)
/* AC9B4C 800529AC 46105481 */ sub.s $f18, $f10, $f16
/* AC9B50 800529B0 0C016952 */ jal func_8005A548
/* AC9B54 800529B4 E61200EC */ swc1 $f18, 0xec($s0)
/* AC9B58 800529B8 8609014C */ lh $t1, 0x14c($s0)
/* AC9B5C 800529BC 352B0004 */ ori $t3, $t1, 4
/* AC9B60 800529C0 A60B014C */ sh $t3, 0x14c($s0)
.L800529C4:
/* AC9B64 800529C4 8FBF001C */ lw $ra, 0x1c($sp)
.L800529C8:
/* AC9B68 800529C8 8FB00018 */ lw $s0, 0x18($sp)
/* AC9B6C 800529CC 27BD0088 */ addiu $sp, $sp, 0x88
/* AC9B70 800529D0 03E00008 */ jr $ra
/* AC9B74 800529D4 24020001 */ li $v0, 1
# SPLIT
/* AC9B78 800529D8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AC9B7C 800529DC AFBF0014 */ sw $ra, 0x14($sp)
/* AC9B80 800529E0 0C011CE5 */ jal func_80047394
/* AC9B84 800529E4 00000000 */ nop
/* AC9B88 800529E8 8FBF0014 */ lw $ra, 0x14($sp)
/* AC9B8C 800529EC 27BD0018 */ addiu $sp, $sp, 0x18
/* AC9B90 800529F0 03E00008 */ jr $ra
/* AC9B94 800529F4 00000000 */ nop
# SPLIT
/* AC9B98 800529F8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AC9B9C 800529FC AFBF0014 */ sw $ra, 0x14($sp)
/* AC9BA0 80052A00 0C011CE5 */ jal func_80047394
/* AC9BA4 80052A04 00000000 */ nop
/* AC9BA8 80052A08 8FBF0014 */ lw $ra, 0x14($sp)
/* AC9BAC 80052A0C 27BD0018 */ addiu $sp, $sp, 0x18
/* AC9BB0 80052A10 03E00008 */ jr $ra
/* AC9BB4 80052A14 00000000 */ nop
# SPLIT
/* AC9BB8 80052A18 27BDFFC0 */ addiu $sp, $sp, -0x40
/* AC9BBC 80052A1C AFBF001C */ sw $ra, 0x1c($sp)
/* AC9BC0 80052A20 AFB00018 */ sw $s0, 0x18($sp)
/* AC9BC4 80052A24 8482015E */ lh $v0, 0x15e($a0)
/* AC9BC8 80052A28 00808025 */ move $s0, $a0
/* AC9BCC 80052A2C 2401000A */ li $at, 10
/* AC9BD0 80052A30 5040000A */ beql $v0, $zero, .L80052A5C
/* AC9BD4 80052A34 860F0142 */ lh $t7, 0x142($s0)
/* AC9BD8 80052A38 10410007 */ beq $v0, $at, .L80052A58
/* AC9BDC 80052A3C 24010014 */ li $at, 20
/* AC9BE0 80052A40 10410005 */ beq $v0, $at, .L80052A58
/* AC9BE4 80052A44 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC9BE8 80052A48 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC9BEC 80052A4C 85C20314 */ lh $v0, 0x314($t6)
/* AC9BF0 80052A50 1040000F */ beqz $v0, .L80052A90
/* AC9BF4 80052A54 00000000 */ nop
.L80052A58:
/* AC9BF8 80052A58 860F0142 */ lh $t7, 0x142($s0)
.L80052A5C:
/* AC9BFC 80052A5C 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC9C00 80052A60 86080144 */ lh $t0, 0x144($s0)
/* AC9C04 80052A64 000FC0C0 */ sll $t8, $t7, 3
/* AC9C08 80052A68 0338C821 */ addu $t9, $t9, $t8
/* AC9C0C 80052A6C 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC9C10 80052A70 000848C0 */ sll $t1, $t0, 3
/* AC9C14 80052A74 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* AC9C18 80052A78 03295021 */ addu $t2, $t9, $t1
/* AC9C1C 80052A7C 8D430004 */ lw $v1, 4($t2)
/* AC9C20 80052A80 846B0000 */ lh $t3, ($v1)
/* AC9C24 80052A84 A60B0000 */ sh $t3, ($s0)
/* AC9C28 80052A88 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC9C2C 80052A8C 85820314 */ lh $v0, 0x314($t4)
.L80052A90:
/* AC9C30 80052A90 50400004 */ beql $v0, $zero, .L80052AA4
/* AC9C34 80052A94 860D0000 */ lh $t5, ($s0)
/* AC9C38 80052A98 0C011495 */ jal func_80045254
/* AC9C3C 80052A9C 02002025 */ move $a0, $s0
/* AC9C40 80052AA0 860D0000 */ lh $t5, ($s0)
.L80052AA4:
/* AC9C44 80052AA4 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC9C48 80052AA8 02002025 */ move $a0, $s0
/* AC9C4C 80052AAC AC2DD3A0 */ sw $t5, %lo(D_8011D3A0)($at)
/* AC9C50 80052AB0 8602015E */ lh $v0, 0x15e($s0)
/* AC9C54 80052AB4 14400003 */ bnez $v0, .L80052AC4
/* AC9C58 80052AB8 244E0001 */ addiu $t6, $v0, 1
/* AC9C5C 80052ABC 0C010EAF */ jal func_80043ABC
/* AC9C60 80052AC0 A60E015E */ sh $t6, 0x15e($s0)
.L80052AC4:
/* AC9C64 80052AC4 8E040090 */ lw $a0, 0x90($s0)
/* AC9C68 80052AC8 2605005C */ addiu $a1, $s0, 0x5c
/* AC9C6C 80052ACC 10800020 */ beqz $a0, .L80052B50
/* AC9C70 80052AD0 00000000 */ nop
/* AC9C74 80052AD4 0C00B721 */ jal func_8002DC84
/* AC9C78 80052AD8 00000000 */ nop
/* AC9C7C 80052ADC 26020094 */ addiu $v0, $s0, 0x94
/* AC9C80 80052AE0 8C580000 */ lw $t8, ($v0)
/* AC9C84 80052AE4 27A4002C */ addiu $a0, $sp, 0x2c
/* AC9C88 80052AE8 2605005C */ addiu $a1, $s0, 0x5c
/* AC9C8C 80052AEC AC980000 */ sw $t8, ($a0)
/* AC9C90 80052AF0 8C4F0004 */ lw $t7, 4($v0)
/* AC9C94 80052AF4 AC8F0004 */ sw $t7, 4($a0)
/* AC9C98 80052AF8 8C580008 */ lw $t8, 8($v0)
/* AC9C9C 80052AFC AC980008 */ sw $t8, 8($a0)
/* AC9CA0 80052B00 C7A40030 */ lwc1 $f4, 0x30($sp)
/* AC9CA4 80052B04 AFA20020 */ sw $v0, 0x20($sp)
/* AC9CA8 80052B08 46002180 */ add.s $f6, $f4, $f0
/* AC9CAC 80052B0C 0C01EFE4 */ jal func_8007BF90
/* AC9CB0 80052B10 E7A60030 */ swc1 $f6, 0x30($sp)
/* AC9CB4 80052B14 8FA20020 */ lw $v0, 0x20($sp)
/* AC9CB8 80052B18 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC9CBC 80052B1C C6080050 */ lwc1 $f8, 0x50($s0)
/* AC9CC0 80052B20 C44A0000 */ lwc1 $f10, ($v0)
/* AC9CC4 80052B24 C6120054 */ lwc1 $f18, 0x54($s0)
/* AC9CC8 80052B28 460A4401 */ sub.s $f16, $f8, $f10
/* AC9CCC 80052B2C C6080058 */ lwc1 $f8, 0x58($s0)
/* AC9CD0 80052B30 E61000E4 */ swc1 $f16, 0xe4($s0)
/* AC9CD4 80052B34 C4440004 */ lwc1 $f4, 4($v0)
/* AC9CD8 80052B38 46049181 */ sub.s $f6, $f18, $f4
/* AC9CDC 80052B3C E60600E8 */ swc1 $f6, 0xe8($s0)
/* AC9CE0 80052B40 C44A0008 */ lwc1 $f10, 8($v0)
/* AC9CE4 80052B44 460A4401 */ sub.s $f16, $f8, $f10
/* AC9CE8 80052B48 10000004 */ b .L80052B5C
/* AC9CEC 80052B4C E61000EC */ swc1 $f16, 0xec($s0)
.L80052B50:
/* AC9CF0 80052B50 0C01EFE4 */ jal func_8007BF90
/* AC9CF4 80052B54 26040050 */ addiu $a0, $s0, 0x50
/* AC9CF8 80052B58 E60000DC */ swc1 $f0, 0xdc($s0)
.L80052B5C:
/* AC9CFC 80052B5C 86080000 */ lh $t0, ($s0)
/* AC9D00 80052B60 31190001 */ andi $t9, $t0, 1
/* AC9D04 80052B64 53200006 */ beql $t9, $zero, .L80052B80
/* AC9D08 80052B68 8FBF001C */ lw $ra, 0x1c($sp)
/* AC9D0C 80052B6C 86020160 */ lh $v0, 0x160($s0)
/* AC9D10 80052B70 18400002 */ blez $v0, .L80052B7C
/* AC9D14 80052B74 2449FFFF */ addiu $t1, $v0, -1
/* AC9D18 80052B78 A6090160 */ sh $t1, 0x160($s0)
.L80052B7C:
/* AC9D1C 80052B7C 8FBF001C */ lw $ra, 0x1c($sp)
.L80052B80:
/* AC9D20 80052B80 8FB00018 */ lw $s0, 0x18($sp)
/* AC9D24 80052B84 27BD0040 */ addiu $sp, $sp, 0x40
/* AC9D28 80052B88 03E00008 */ jr $ra
/* AC9D2C 80052B8C 24020001 */ li $v0, 1
# SPLIT
/* AC9D30 80052B90 27BDFFA0 */ addiu $sp, $sp, -0x60
/* AC9D34 80052B94 AFBF001C */ sw $ra, 0x1c($sp)
/* AC9D38 80052B98 AFB00018 */ sw $s0, 0x18($sp)
/* AC9D3C 80052B9C 8482015E */ lh $v0, 0x15e($a0)
/* AC9D40 80052BA0 00808025 */ move $s0, $a0
/* AC9D44 80052BA4 10400009 */ beqz $v0, .L80052BCC
/* AC9D48 80052BA8 2401000A */ li $at, 10
/* AC9D4C 80052BAC 10410007 */ beq $v0, $at, .L80052BCC
/* AC9D50 80052BB0 24010014 */ li $at, 20
/* AC9D54 80052BB4 10410005 */ beq $v0, $at, .L80052BCC
/* AC9D58 80052BB8 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC9D5C 80052BBC 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC9D60 80052BC0 85C30314 */ lh $v1, 0x314($t6)
/* AC9D64 80052BC4 10600015 */ beqz $v1, .L80052C1C
/* AC9D68 80052BC8 00000000 */ nop
.L80052BCC:
/* AC9D6C 80052BCC 860F0142 */ lh $t7, 0x142($s0)
/* AC9D70 80052BD0 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC9D74 80052BD4 86080144 */ lh $t0, 0x144($s0)
/* AC9D78 80052BD8 000FC0C0 */ sll $t8, $t7, 3
/* AC9D7C 80052BDC 0338C821 */ addu $t9, $t9, $t8
/* AC9D80 80052BE0 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC9D84 80052BE4 000848C0 */ sll $t1, $t0, 3
/* AC9D88 80052BE8 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* AC9D8C 80052BEC 03295021 */ addu $t2, $t9, $t1
/* AC9D90 80052BF0 8D420004 */ lw $v0, 4($t2)
/* AC9D94 80052BF4 844B0000 */ lh $t3, ($v0)
/* AC9D98 80052BF8 24420004 */ addiu $v0, $v0, 4
/* AC9D9C 80052BFC 448B2000 */ mtc1 $t3, $f4
/* AC9DA0 80052C00 00000000 */ nop
/* AC9DA4 80052C04 468021A0 */ cvt.s.w $f6, $f4
/* AC9DA8 80052C08 E6060000 */ swc1 $f6, ($s0)
/* AC9DAC 80052C0C 844C0000 */ lh $t4, ($v0)
/* AC9DB0 80052C10 A60C0004 */ sh $t4, 4($s0)
/* AC9DB4 80052C14 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* AC9DB8 80052C18 85A30314 */ lh $v1, 0x314($t5)
.L80052C1C:
/* AC9DBC 80052C1C 10600003 */ beqz $v1, .L80052C2C
/* AC9DC0 80052C20 00000000 */ nop
/* AC9DC4 80052C24 0C011495 */ jal func_80045254
/* AC9DC8 80052C28 02002025 */ move $a0, $s0
.L80052C2C:
/* AC9DCC 80052C2C 0C0111DB */ jal func_8004476C
/* AC9DD0 80052C30 02002025 */ move $a0, $s0
/* AC9DD4 80052C34 26070074 */ addiu $a3, $s0, 0x74
/* AC9DD8 80052C38 AFA20044 */ sw $v0, 0x44($sp)
/* AC9DDC 80052C3C 00E02025 */ move $a0, $a3
/* AC9DE0 80052C40 AFA70020 */ sw $a3, 0x20($sp)
/* AC9DE4 80052C44 0C010EF1 */ jal func_80043BC4
/* AC9DE8 80052C48 00402825 */ move $a1, $v0
/* AC9DEC 80052C4C 8FA70020 */ lw $a3, 0x20($sp)
/* AC9DF0 80052C50 2605005C */ addiu $a1, $s0, 0x5c
/* AC9DF4 80052C54 27B8003C */ addiu $t8, $sp, 0x3c
/* AC9DF8 80052C58 8CEF0000 */ lw $t7, ($a3)
/* AC9DFC 80052C5C 27A4004C */ addiu $a0, $sp, 0x4c
/* AC9E00 80052C60 26060094 */ addiu $a2, $s0, 0x94
/* AC9E04 80052C64 ACAF0000 */ sw $t7, ($a1)
/* AC9E08 80052C68 8CEE0004 */ lw $t6, 4($a3)
/* AC9E0C 80052C6C ACAE0004 */ sw $t6, 4($a1)
/* AC9E10 80052C70 8CEF0008 */ lw $t7, 8($a3)
/* AC9E14 80052C74 ACAF0008 */ sw $t7, 8($a1)
/* AC9E18 80052C78 8FA80044 */ lw $t0, 0x44($sp)
/* AC9E1C 80052C7C 89090006 */ lwl $t1, 6($t0)
/* AC9E20 80052C80 99090009 */ lwr $t1, 9($t0)
/* AC9E24 80052C84 AF090000 */ sw $t1, ($t8)
/* AC9E28 80052C88 9509000A */ lhu $t1, 0xa($t0)
/* AC9E2C 80052C8C A7090004 */ sh $t1, 4($t8)
/* AC9E30 80052C90 0C01F124 */ jal func_8007C490
/* AC9E34 80052C94 AFA50024 */ sw $a1, 0x24($sp)
/* AC9E38 80052C98 8FAA0044 */ lw $t2, 0x44($sp)
/* AC9E3C 80052C9C 2401FFFF */ li $at, -1
/* AC9E40 80052CA0 3C063ECC */ lui $a2, (0x3ECCCCCD >> 16) # lui $a2, 0x3ecc
/* AC9E44 80052CA4 8543000C */ lh $v1, 0xc($t2)
/* AC9E48 80052CA8 34C6CCCD */ ori $a2, (0x3ECCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC9E4C 80052CAC 14610009 */ bne $v1, $at, .L80052CD4
/* AC9E50 80052CB0 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC9E54 80052CB4 44815000 */ mtc1 $at, $f10
/* AC9E58 80052CB8 C6080000 */ lwc1 $f8, ($s0)
/* AC9E5C 80052CBC 460A4402 */ mul.s $f16, $f8, $f10
/* AC9E60 80052CC0 4600848D */ trunc.w.s $f18, $f16
/* AC9E64 80052CC4 44039000 */ mfc1 $v1, $f18
/* AC9E68 80052CC8 00000000 */ nop
/* AC9E6C 80052CCC 00031C00 */ sll $v1, $v1, 0x10
/* AC9E70 80052CD0 00031C03 */ sra $v1, $v1, 0x10
.L80052CD4:
/* AC9E74 80052CD4 28610169 */ slti $at, $v1, 0x169
/* AC9E78 80052CD8 10200008 */ beqz $at, .L80052CFC
/* AC9E7C 80052CDC 00600821 */ addu $at, $v1, $zero
/* AC9E80 80052CE0 00031880 */ sll $v1, $v1, 2
/* AC9E84 80052CE4 00611823 */ subu $v1, $v1, $at
/* AC9E88 80052CE8 000318C0 */ sll $v1, $v1, 3
/* AC9E8C 80052CEC 00611821 */ addu $v1, $v1, $at
/* AC9E90 80052CF0 00031880 */ sll $v1, $v1, 2
/* AC9E94 80052CF4 00031C00 */ sll $v1, $v1, 0x10
/* AC9E98 80052CF8 00031C03 */ sra $v1, $v1, 0x10
.L80052CFC:
/* AC9E9C 80052CFC 860C0004 */ lh $t4, 4($s0)
/* AC9EA0 80052D00 3C018012 */ lui $at, %hi(D_8011D3A0)
/* AC9EA4 80052D04 AC2CD3A0 */ sw $t4, %lo(D_8011D3A0)($at)
/* AC9EA8 80052D08 8602015E */ lh $v0, 0x15e($s0)
/* AC9EAC 80052D0C 5440000F */ bnezl $v0, .L80052D4C
/* AC9EB0 80052D10 3C014270 */ li $at, 0x42700000 # 0.000000
/* AC9EB4 80052D14 44832000 */ mtc1 $v1, $f4
/* AC9EB8 80052D18 244D0001 */ addiu $t5, $v0, 1
/* AC9EBC 80052D1C A60D015E */ sh $t5, 0x15e($s0)
/* AC9EC0 80052D20 468021A0 */ cvt.s.w $f6, $f4
/* AC9EC4 80052D24 3C018014 */ lui $at, %hi(D_8013A22C)
/* AC9EC8 80052D28 C428A22C */ lwc1 $f8, %lo(D_8013A22C)($at)
/* AC9ECC 80052D2C 44808000 */ mtc1 $zero, $f16
/* AC9ED0 80052D30 A600015A */ sh $zero, 0x15a($s0)
/* AC9ED4 80052D34 46083282 */ mul.s $f10, $f6, $f8
/* AC9ED8 80052D38 E6100100 */ swc1 $f16, 0x100($s0)
/* AC9EDC 80052D3C E60A00FC */ swc1 $f10, 0xfc($s0)
/* AC9EE0 80052D40 87AE0052 */ lh $t6, 0x52($sp)
/* AC9EE4 80052D44 A60E0008 */ sh $t6, 8($s0)
/* AC9EE8 80052D48 3C014270 */ li $at, 0x42700000 # 0.000000
.L80052D4C:
/* AC9EEC 80052D4C 44819000 */ mtc1 $at, $f18
/* AC9EF0 80052D50 26030008 */ addiu $v1, $s0, 8
/* AC9EF4 80052D54 240707D0 */ li $a3, 2000
/* AC9EF8 80052D58 E61200FC */ swc1 $f18, 0xfc($s0)
/* AC9EFC 80052D5C 84650000 */ lh $a1, ($v1)
/* AC9F00 80052D60 AFA30020 */ sw $v1, 0x20($sp)
/* AC9F04 80052D64 0C010E6B */ jal func_800439AC
/* AC9F08 80052D68 87A40052 */ lh $a0, 0x52($sp)
/* AC9F0C 80052D6C 8FA30020 */ lw $v1, 0x20($sp)
/* AC9F10 80052D70 A4620000 */ sh $v0, ($v1)
/* AC9F14 80052D74 8FB80044 */ lw $t8, 0x44($sp)
/* AC9F18 80052D78 87AF0052 */ lh $t7, 0x52($sp)
/* AC9F1C 80052D7C 87080008 */ lh $t0, 8($t8)
/* AC9F20 80052D80 01E82023 */ subu $a0, $t7, $t0
/* AC9F24 80052D84 00042400 */ sll $a0, $a0, 0x10
/* AC9F28 80052D88 0C01DE0D */ jal Math_Coss
/* AC9F2C 80052D8C 00042403 */ sra $a0, $a0, 0x10
/* AC9F30 80052D90 8FB90044 */ lw $t9, 0x44($sp)
/* AC9F34 80052D94 26040050 */ addiu $a0, $s0, 0x50
/* AC9F38 80052D98 8FA50024 */ lw $a1, 0x24($sp)
/* AC9F3C 80052D9C 87290006 */ lh $t1, 6($t9)
/* AC9F40 80052DA0 27A6004C */ addiu $a2, $sp, 0x4c
/* AC9F44 80052DA4 00095023 */ negu $t2, $t1
/* AC9F48 80052DA8 448A2000 */ mtc1 $t2, $f4
/* AC9F4C 80052DAC 00000000 */ nop
/* AC9F50 80052DB0 468021A0 */ cvt.s.w $f6, $f4
/* AC9F54 80052DB4 46060202 */ mul.s $f8, $f0, $f6
/* AC9F58 80052DB8 4600428D */ trunc.w.s $f10, $f8
/* AC9F5C 80052DBC 440C5000 */ mfc1 $t4, $f10
/* AC9F60 80052DC0 0C010F0A */ jal func_80043C28
/* AC9F64 80052DC4 A7AC0050 */ sh $t4, 0x50($sp)
/* AC9F68 80052DC8 860D014C */ lh $t5, 0x14c($s0)
/* AC9F6C 80052DCC 24020001 */ li $v0, 1
/* AC9F70 80052DD0 35AE0400 */ ori $t6, $t5, 0x400
/* AC9F74 80052DD4 A60E014C */ sh $t6, 0x14c($s0)
/* AC9F78 80052DD8 8FBF001C */ lw $ra, 0x1c($sp)
/* AC9F7C 80052DDC 8FB00018 */ lw $s0, 0x18($sp)
/* AC9F80 80052DE0 27BD0060 */ addiu $sp, $sp, 0x60
/* AC9F84 80052DE4 03E00008 */ jr $ra
/* AC9F88 80052DE8 00000000 */ nop
# SPLIT
/* AC9F8C 80052DEC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AC9F90 80052DF0 AFBF0014 */ sw $ra, 0x14($sp)
/* AC9F94 80052DF4 0C011CE5 */ jal func_80047394
/* AC9F98 80052DF8 00000000 */ nop
/* AC9F9C 80052DFC 8FBF0014 */ lw $ra, 0x14($sp)
/* AC9FA0 80052E00 27BD0018 */ addiu $sp, $sp, 0x18
/* AC9FA4 80052E04 03E00008 */ jr $ra
/* AC9FA8 80052E08 00000000 */ nop