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

1558 lines
72 KiB
ArmAsm

.rdata
glabel D_80139408
.asciz "camera: demo: player demo set WAIT\n"
.balign 4
glabel D_8013942C
.asciz "camera: demo: player demo set %d\n"
.balign 4
glabel D_80139450
.asciz "\x1b[43;30mcamera: warning: demo C: actor is not valid\n\x1b[m"
.balign 4
glabel D_80139488
.asciz "\x1b[43;30mcamera: warning: demo C: actor is not valid\n\x1b[m"
.balign 4
glabel D_801394C0
.asciz "\x1b[43;30mcamera: warning: demo C: actor is not valid\n\x1b[m"
.balign 4
glabel D_801394F8
.asciz "\x1b[43;30mcamera: warning: demo C: actor is not valid\n\x1b[m"
.balign 4
.late_rodata
glabel D_8013A230
.float 182.041672 # 32768 / PI
glabel D_8013A234
.float 182.041672 # 32768 / PI
glabel D_8013A238
.float 182.041672 # 32768 / PI
glabel D_8013A23C
.float 182.041672 # 32768 / PI
glabel D_8013A240
.float 182.041672 # 32768 / PI
glabel D_8013A244
.float 182.041672 # 32768 / PI
glabel D_8013A248
.float 182.041672 # 32768 / PI
glabel D_8013A24C
.float 182.041672 # 32768 / PI
glabel D_8013A250
.float 182.041672 # 32768 / PI
glabel jtbl_8013A254
.word L80053B74 # 1
.word L80053C60 # 2
.word L80053F00 # 3
.word L80053E60 # 4
.word L800541C8
.word L800541C8
.word L800541C8
.word L800541C8
.word L80053D18 # 9
.word L80053D18 # 10
.word L80053F54 # 11
.word L80053F54 # 12
.word L80053FE4 # 13
.word L800541C8
.word L80053A0C # 15
.word L80053AF4 # 16
.word L800541C8
.word L80054180 # 17
.word L80054150 # 18
.word L800541C8
.word L80053A68 # 20
.word L800541C8
.word L800541C8
.word L80054140 # 23
glabel D_8013A2B4
.float 182.041672 # 32768 / PI
.text
glabel Camera_Unique9
/* AC9FAC 80052E0C 27BDFEE8 */ addiu $sp, $sp, -0x118
/* AC9FB0 80052E10 AFBF001C */ sw $ra, 0x1c($sp)
/* AC9FB4 80052E14 AFB10018 */ sw $s1, 0x18($sp)
/* AC9FB8 80052E18 AFB00014 */ sw $s0, 0x14($sp)
/* AC9FBC 80052E1C 8C8E0090 */ lw $t6, 0x90($a0)
/* AC9FC0 80052E20 00808825 */ move $s1, $a0
/* AC9FC4 80052E24 2401000A */ li $at, 10
/* AC9FC8 80052E28 AFAE0088 */ sw $t6, 0x88($sp)
/* AC9FCC 80052E2C 8483015E */ lh $v1, 0x15e($a0)
/* AC9FD0 80052E30 5060000A */ beql $v1, $zero, .L80052E5C
/* AC9FD4 80052E34 86380142 */ lh $t8, 0x142($s1)
/* AC9FD8 80052E38 10610007 */ beq $v1, $at, .L80052E58
/* AC9FDC 80052E3C 24010014 */ li $at, 20
/* AC9FE0 80052E40 10610005 */ beq $v1, $at, .L80052E58
/* AC9FE4 80052E44 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* AC9FE8 80052E48 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* AC9FEC 80052E4C 85E20314 */ lh $v0, 0x314($t7)
/* AC9FF0 80052E50 1040000F */ beqz $v0, .L80052E90
/* AC9FF4 80052E54 00000000 */ nop
.L80052E58:
/* AC9FF8 80052E58 86380142 */ lh $t8, 0x142($s1)
.L80052E5C:
/* AC9FFC 80052E5C 3C0A8012 */ lui $t2, %hi(sCameraSettings+4)
/* ACA000 80052E60 862B0144 */ lh $t3, 0x144($s1)
/* ACA004 80052E64 0018C8C0 */ sll $t9, $t8, 3
/* ACA008 80052E68 01595021 */ addu $t2, $t2, $t9
/* ACA00C 80052E6C 8D4AD068 */ lw $t2, %lo(sCameraSettings+4)($t2)
/* ACA010 80052E70 000B60C0 */ sll $t4, $t3, 3
/* ACA014 80052E74 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* ACA018 80052E78 014C6821 */ addu $t5, $t2, $t4
/* ACA01C 80052E7C 8DA30004 */ lw $v1, 4($t5)
/* ACA020 80052E80 846E0000 */ lh $t6, ($v1)
/* ACA024 80052E84 A62E0008 */ sh $t6, 8($s1)
/* ACA028 80052E88 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* ACA02C 80052E8C 85E20314 */ lh $v0, 0x314($t7)
.L80052E90:
/* ACA030 80052E90 10400003 */ beqz $v0, .L80052EA0
/* ACA034 80052E94 26300008 */ addiu $s0, $s1, 8
/* ACA038 80052E98 0C011495 */ jal Camera_CopyPREGToModeValues
/* ACA03C 80052E9C 02202025 */ move $a0, $s1
.L80052EA0:
/* ACA040 80052EA0 86180000 */ lh $t8, ($s0)
/* ACA044 80052EA4 3C018012 */ lui $at, %hi(D_8011D3A0)
/* ACA048 80052EA8 27A40098 */ addiu $a0, $sp, 0x98
/* ACA04C 80052EAC AC38D3A0 */ sw $t8, %lo(D_8011D3A0)($at)
/* ACA050 80052EB0 0C00BBC5 */ jal func_8002EF14
/* ACA054 80052EB4 8E250090 */ lw $a1, 0x90($s1)
/* ACA058 80052EB8 8623015E */ lh $v1, 0x15e($s1)
/* ACA05C 80052EBC 2630000C */ addiu $s0, $s1, 0xc
/* ACA060 80052EC0 240BFFFF */ li $t3, -1
/* ACA064 80052EC4 14600010 */ bnez $v1, .L80052F08
/* ACA068 80052EC8 24790001 */ addiu $t9, $v1, 1
/* ACA06C 80052ECC A639015E */ sh $t9, 0x15e($s1)
/* ACA070 80052ED0 240A0001 */ li $t2, 1
/* ACA074 80052ED4 A60B0036 */ sh $t3, 0x36($s0)
/* ACA078 80052ED8 A60A003C */ sh $t2, 0x3c($s0)
/* ACA07C 80052EDC A6000038 */ sh $zero, 0x38($s0)
/* ACA080 80052EE0 C7A40098 */ lwc1 $f4, 0x98($sp)
/* ACA084 80052EE4 44805000 */ mtc1 $zero, $f10
/* ACA088 80052EE8 02202025 */ move $a0, $s1
/* ACA08C 80052EEC E604001C */ swc1 $f4, 0x1c($s0)
/* ACA090 80052EF0 C7A6009C */ lwc1 $f6, 0x9c($sp)
/* ACA094 80052EF4 E6060020 */ swc1 $f6, 0x20($s0)
/* ACA098 80052EF8 C7A800A0 */ lwc1 $f8, 0xa0($sp)
/* ACA09C 80052EFC E6080024 */ swc1 $f8, 0x24($s0)
/* ACA0A0 80052F00 0C010ED8 */ jal func_80043B60
/* ACA0A4 80052F04 E62A0100 */ swc1 $f10, 0x100($s1)
.L80052F08:
/* ACA0A8 80052F08 2630000C */ addiu $s0, $s1, 0xc
/* ACA0AC 80052F0C 860C0038 */ lh $t4, 0x38($s0)
/* ACA0B0 80052F10 55800006 */ bnezl $t4, .L80052F2C
/* ACA0B4 80052F14 860E003C */ lh $t6, 0x3c($s0)
/* ACA0B8 80052F18 8602003C */ lh $v0, 0x3c($s0)
/* ACA0BC 80052F1C 18400002 */ blez $v0, .L80052F28
/* ACA0C0 80052F20 244DFFFF */ addiu $t5, $v0, -1
/* ACA0C4 80052F24 A60D003C */ sh $t5, 0x3c($s0)
.L80052F28:
/* ACA0C8 80052F28 860E003C */ lh $t6, 0x3c($s0)
.L80052F2C:
/* ACA0CC 80052F2C 55C0004B */ bnezl $t6, .L8005305C
/* ACA0D0 80052F30 A600003A */ sh $zero, 0x3a($s0)
/* ACA0D4 80052F34 86180036 */ lh $t8, 0x36($s0)
/* ACA0D8 80052F38 240F0001 */ li $t7, 1
/* ACA0DC 80052F3C A60F003A */ sh $t7, 0x3a($s0)
/* ACA0E0 80052F40 27190001 */ addiu $t9, $t8, 1
/* ACA0E4 80052F44 A6190036 */ sh $t9, 0x36($s0)
/* ACA0E8 80052F48 8E2B0000 */ lw $t3, ($s1)
/* ACA0EC 80052F4C 86020036 */ lh $v0, 0x36($s0)
/* ACA0F0 80052F50 004B082A */ slt $at, $v0, $t3
/* ACA0F4 80052F54 1020003A */ beqz $at, .L80053040
/* ACA0F8 80052F58 00026080 */ sll $t4, $v0, 2
/* ACA0FC 80052F5C 8E2A0004 */ lw $t2, 4($s1)
/* ACA100 80052F60 01826021 */ addu $t4, $t4, $v0
/* ACA104 80052F64 000C60C0 */ sll $t4, $t4, 3
/* ACA108 80052F68 014C1821 */ addu $v1, $t2, $t4
/* ACA10C 80052F6C AE030000 */ sw $v1, ($s0)
/* ACA110 80052F70 846E0004 */ lh $t6, 4($v1)
/* ACA114 80052F74 240100FF */ li $at, 255
/* ACA118 80052F78 A60E003C */ sh $t6, 0x3c($s0)
/* ACA11C 80052F7C 90650001 */ lbu $a1, 1($v1)
/* ACA120 80052F80 10A10037 */ beq $a1, $at, .L80053060
/* ACA124 80052F84 30A200F0 */ andi $v0, $a1, 0xf0
/* ACA128 80052F88 24010080 */ li $at, 128
/* ACA12C 80052F8C 14410005 */ bne $v0, $at, .L80052FA4
/* ACA130 80052F90 30AF000F */ andi $t7, $a1, 0xf
/* ACA134 80052F94 3C018012 */ lui $at, %hi(D_8011D3AC) # $at, 0x8012
/* ACA138 80052F98 AC2FD3AC */ sw $t7, %lo(D_8011D3AC)($at)
/* ACA13C 80052F9C 10000030 */ b .L80053060
/* ACA140 80052FA0 8E030000 */ lw $v1, ($s0)
.L80052FA4:
/* ACA144 80052FA4 240100C0 */ li $at, 192
/* ACA148 80052FA8 14410008 */ bne $v0, $at, .L80052FCC
/* ACA14C 80052FAC 30A4000F */ andi $a0, $a1, 0xf
/* ACA150 80052FB0 00042200 */ sll $a0, $a0, 8
/* ACA154 80052FB4 3484F000 */ ori $a0, $a0, 0xf000
/* ACA158 80052FB8 00042400 */ sll $a0, $a0, 0x10
/* ACA15C 80052FBC 0C0114D4 */ jal func_80045350
/* ACA160 80052FC0 00042403 */ sra $a0, $a0, 0x10
/* ACA164 80052FC4 10000026 */ b .L80053060
/* ACA168 80052FC8 8E030000 */ lw $v1, ($s0)
.L80052FCC:
/* ACA16C 80052FCC 8E380090 */ lw $t8, 0x90($s1)
/* ACA170 80052FD0 8FAA0088 */ lw $t2, 0x88($sp)
/* ACA174 80052FD4 3C048014 */ lui $a0, %hi(D_8013942C)
/* ACA178 80052FD8 8F19067C */ lw $t9, 0x67c($t8)
/* ACA17C 80052FDC 00195900 */ sll $t3, $t9, 4
/* ACA180 80052FE0 0561000E */ bgez $t3, .L8005301C
/* ACA184 80052FE4 00000000 */ nop
/* ACA188 80052FE8 814C014F */ lb $t4, 0x14f($t2)
/* ACA18C 80052FEC 24010001 */ li $at, 1
/* ACA190 80052FF0 24060008 */ li $a2, 8
/* ACA194 80052FF4 11810009 */ beq $t4, $at, .L8005301C
/* ACA198 80052FF8 00000000 */ nop
/* ACA19C 80052FFC 8E24008C */ lw $a0, 0x8c($s1)
/* ACA1A0 80053000 0C00B7CE */ jal func_8002DF38
/* ACA1A4 80053004 8E2500A8 */ lw $a1, 0xa8($s1)
/* ACA1A8 80053008 3C048014 */ lui $a0, %hi(D_80139408) # $a0, 0x8014
/* ACA1AC 8005300C 0C00084C */ jal osSyncPrintf
/* ACA1B0 80053010 24849408 */ addiu $a0, %lo(D_80139408) # addiu $a0, $a0, -0x6bf8
/* ACA1B4 80053014 10000012 */ b .L80053060
/* ACA1B8 80053018 8E030000 */ lw $v1, ($s0)
.L8005301C:
/* ACA1BC 8005301C 0C00084C */ jal osSyncPrintf
/* ACA1C0 80053020 2484942C */ addiu $a0, %lo(D_8013942C)
/* ACA1C4 80053024 8E0D0000 */ lw $t5, ($s0)
/* ACA1C8 80053028 8E24008C */ lw $a0, 0x8c($s1)
/* ACA1CC 8005302C 8E2500A8 */ lw $a1, 0xa8($s1)
/* ACA1D0 80053030 0C00B7CE */ jal func_8002DF38
/* ACA1D4 80053034 91A60001 */ lbu $a2, 1($t5)
/* ACA1D8 80053038 10000009 */ b .L80053060
/* ACA1DC 8005303C 8E030000 */ lw $v1, ($s0)
.L80053040:
/* ACA1E0 80053040 862E0164 */ lh $t6, 0x164($s1)
/* ACA1E4 80053044 11C00002 */ beqz $t6, .L80053050
/* ACA1E8 80053048 00000000 */ nop
/* ACA1EC 8005304C A6200160 */ sh $zero, 0x160($s1)
.L80053050:
/* ACA1F0 80053050 100004AB */ b .L80054300
/* ACA1F4 80053054 24020001 */ li $v0, 1
/* ACA1F8 80053058 A600003A */ sh $zero, 0x3a($s0)
.L8005305C:
/* ACA1FC 8005305C 8E030000 */ lw $v1, ($s0)
.L80053060:
/* ACA200 80053060 84640002 */ lh $a0, 2($v1)
/* ACA204 80053064 24010001 */ li $at, 1
/* ACA208 80053068 308700FF */ andi $a3, $a0, 0xff
/* ACA20C 8005306C 00073C00 */ sll $a3, $a3, 0x10
/* ACA210 80053070 00073C03 */ sra $a3, $a3, 0x10
/* ACA214 80053074 54E1000D */ bnel $a3, $at, .L800530AC
/* ACA218 80053078 24010002 */ li $at, 2
/* ACA21C 8005307C 8C780010 */ lw $t8, 0x10($v1)
/* ACA220 80053080 26390050 */ addiu $t9, $s1, 0x50
/* ACA224 80053084 AE180004 */ sw $t8, 4($s0)
/* ACA228 80053088 8C6F0014 */ lw $t7, 0x14($v1)
/* ACA22C 8005308C AE0F0008 */ sw $t7, 8($s0)
/* ACA230 80053090 8C780018 */ lw $t8, 0x18($v1)
/* ACA234 80053094 AE18000C */ sw $t8, 0xc($s0)
/* ACA238 80053098 AFB90030 */ sw $t9, 0x30($sp)
/* ACA23C 8005309C 8E030000 */ lw $v1, ($s0)
/* ACA240 800530A0 10000102 */ b .L800534AC
/* ACA244 800530A4 84640002 */ lh $a0, 2($v1)
/* ACA248 800530A8 24010002 */ li $at, 2
.L800530AC:
/* ACA24C 800530AC 14E10016 */ bne $a3, $at, .L80053108
/* ACA250 800530B0 262E0050 */ addiu $t6, $s1, 0x50
/* ACA254 800530B4 860B003A */ lh $t3, 0x3a($s0)
/* ACA258 800530B8 11600011 */ beqz $t3, .L80053100
/* ACA25C 800530BC 00000000 */ nop
/* ACA260 800530C0 8E2A008C */ lw $t2, 0x8c($s1)
/* ACA264 800530C4 C4660010 */ lwc1 $f6, 0x10($v1)
/* ACA268 800530C8 C54400EC */ lwc1 $f4, 0xec($t2)
/* ACA26C 800530CC 46062200 */ add.s $f8, $f4, $f6
/* ACA270 800530D0 E6080004 */ swc1 $f8, 4($s0)
/* ACA274 800530D4 8E2C008C */ lw $t4, 0x8c($s1)
/* ACA278 800530D8 C4640014 */ lwc1 $f4, 0x14($v1)
/* ACA27C 800530DC C58A00F0 */ lwc1 $f10, 0xf0($t4)
/* ACA280 800530E0 46045180 */ add.s $f6, $f10, $f4
/* ACA284 800530E4 E6060008 */ swc1 $f6, 8($s0)
/* ACA288 800530E8 8E2D008C */ lw $t5, 0x8c($s1)
/* ACA28C 800530EC C46A0018 */ lwc1 $f10, 0x18($v1)
/* ACA290 800530F0 C5A800F4 */ lwc1 $f8, 0xf4($t5)
/* ACA294 800530F4 460A4100 */ add.s $f4, $f8, $f10
/* ACA298 800530F8 E604000C */ swc1 $f4, 0xc($s0)
/* ACA29C 800530FC 84640002 */ lh $a0, 2($v1)
.L80053100:
/* ACA2A0 80053100 100000EA */ b .L800534AC
/* ACA2A4 80053104 AFAE0030 */ sw $t6, 0x30($sp)
.L80053108:
/* ACA2A8 80053108 24010003 */ li $at, 3
/* ACA2AC 8005310C 14E10013 */ bne $a3, $at, .L8005315C
/* ACA2B0 80053110 26380050 */ addiu $t8, $s1, 0x50
/* ACA2B4 80053114 860F003A */ lh $t7, 0x3a($s0)
/* ACA2B8 80053118 11E0000E */ beqz $t7, .L80053154
/* ACA2BC 8005311C 00000000 */ nop
/* ACA2C0 80053120 C6260050 */ lwc1 $f6, 0x50($s1)
/* ACA2C4 80053124 C4680010 */ lwc1 $f8, 0x10($v1)
/* ACA2C8 80053128 46083280 */ add.s $f10, $f6, $f8
/* ACA2CC 8005312C E60A0004 */ swc1 $f10, 4($s0)
/* ACA2D0 80053130 C4660014 */ lwc1 $f6, 0x14($v1)
/* ACA2D4 80053134 C6240054 */ lwc1 $f4, 0x54($s1)
/* ACA2D8 80053138 46062200 */ add.s $f8, $f4, $f6
/* ACA2DC 8005313C E6080008 */ swc1 $f8, 8($s0)
/* ACA2E0 80053140 C4640018 */ lwc1 $f4, 0x18($v1)
/* ACA2E4 80053144 C62A0058 */ lwc1 $f10, 0x58($s1)
/* ACA2E8 80053148 46045180 */ add.s $f6, $f10, $f4
/* ACA2EC 8005314C E606000C */ swc1 $f6, 0xc($s0)
/* ACA2F0 80053150 84640002 */ lh $a0, 2($v1)
.L80053154:
/* ACA2F4 80053154 100000D5 */ b .L800534AC
/* ACA2F8 80053158 AFB80030 */ sw $t8, 0x30($sp)
.L8005315C:
/* ACA2FC 8005315C 24010004 */ li $at, 4
/* ACA300 80053160 10E10003 */ beq $a3, $at, .L80053170
/* ACA304 80053164 24010084 */ li $at, 132
/* ACA308 80053168 14E10058 */ bne $a3, $at, .L800532CC
/* ACA30C 8005316C 30ED6060 */ andi $t5, $a3, 0x6060
.L80053170:
/* ACA310 80053170 8E2500A8 */ lw $a1, 0xa8($s1)
/* ACA314 80053174 10A00045 */ beqz $a1, .L8005328C
/* ACA318 80053178 00000000 */ nop
/* ACA31C 8005317C 8CB90130 */ lw $t9, 0x130($a1)
/* ACA320 80053180 27A400C0 */ addiu $a0, $sp, 0xc0
/* ACA324 80053184 13200041 */ beqz $t9, .L8005328C
/* ACA328 80053188 00000000 */ nop
/* ACA32C 8005318C 0C00BBB9 */ jal func_8002EEE4
/* ACA330 80053190 A7A700D8 */ sh $a3, 0xd8($sp)
/* ACA334 80053194 27A400AC */ addiu $a0, $sp, 0xac
/* ACA338 80053198 0C00BBB9 */ jal func_8002EEE4
/* ACA33C 8005319C 8E250090 */ lw $a1, 0x90($s1)
/* ACA340 800531A0 C7A80098 */ lwc1 $f8, 0x98($sp)
/* ACA344 800531A4 C7AA00A0 */ lwc1 $f10, 0xa0($sp)
/* ACA348 800531A8 27A400DC */ addiu $a0, $sp, 0xdc
/* ACA34C 800531AC 27A500C0 */ addiu $a1, $sp, 0xc0
/* ACA350 800531B0 27A600AC */ addiu $a2, $sp, 0xac
/* ACA354 800531B4 E7A800AC */ swc1 $f8, 0xac($sp)
/* ACA358 800531B8 0C01F124 */ jal OLib_Vec3fDiffToVecSphGeo
/* ACA35C 800531BC E7AA00B4 */ swc1 $f10, 0xb4($sp)
/* ACA360 800531C0 87A700D8 */ lh $a3, 0xd8($sp)
/* ACA364 800531C4 24018080 */ li $at, -32640
/* ACA368 800531C8 00E15824 */ and $t3, $a3, $at
/* ACA36C 800531CC 5160001D */ beql $t3, $zero, .L80053244
/* ACA370 800531D0 8E050000 */ lw $a1, ($s0)
/* ACA374 800531D4 8E0A0000 */ lw $t2, ($s0)
/* ACA378 800531D8 3C018014 */ lui $at, %hi(D_8013A230)
/* ACA37C 800531DC C426A230 */ lwc1 $f6, %lo(D_8013A230)($at)
/* ACA380 800531E0 C5440010 */ lwc1 $f4, 0x10($t2)
/* ACA384 800531E4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACA388 800531E8 44815000 */ mtc1 $at, $f10
/* ACA38C 800531EC 46062202 */ mul.s $f8, $f4, $f6
/* ACA390 800531F0 3C018014 */ lui $at, %hi(D_8013A234)
/* ACA394 800531F4 460A4100 */ add.s $f4, $f8, $f10
/* ACA398 800531F8 C42AA234 */ lwc1 $f10, %lo(D_8013A234)($at)
/* ACA39C 800531FC 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACA3A0 80053200 4600218D */ trunc.w.s $f6, $f4
/* ACA3A4 80053204 440D3000 */ mfc1 $t5, $f6
/* ACA3A8 80053208 44813000 */ mtc1 $at, $f6
/* ACA3AC 8005320C A7AD00E8 */ sh $t5, 0xe8($sp)
/* ACA3B0 80053210 8E0E0000 */ lw $t6, ($s0)
/* ACA3B4 80053214 C5C80014 */ lwc1 $f8, 0x14($t6)
/* ACA3B8 80053218 460A4102 */ mul.s $f4, $f8, $f10
/* ACA3BC 8005321C 46062200 */ add.s $f8, $f4, $f6
/* ACA3C0 80053220 4600428D */ trunc.w.s $f10, $f8
/* ACA3C4 80053224 44185000 */ mfc1 $t8, $f10
/* ACA3C8 80053228 00000000 */ nop
/* ACA3CC 8005322C A7B800EA */ sh $t8, 0xea($sp)
/* ACA3D0 80053230 8E190000 */ lw $t9, ($s0)
/* ACA3D4 80053234 C7240018 */ lwc1 $f4, 0x18($t9)
/* ACA3D8 80053238 10000005 */ b .L80053250
/* ACA3DC 8005323C E7A400E4 */ swc1 $f4, 0xe4($sp)
/* ACA3E0 80053240 8E050000 */ lw $a1, ($s0)
.L80053244:
/* ACA3E4 80053244 27A400E4 */ addiu $a0, $sp, 0xe4
/* ACA3E8 80053248 0C01F0FD */ jal OLib_Vec3fToVecSphGeo
/* ACA3EC 8005324C 24A50010 */ addiu $a1, $a1, 0x10
.L80053250:
/* ACA3F0 80053250 87AB00EA */ lh $t3, 0xea($sp)
/* ACA3F4 80053254 87AA00E2 */ lh $t2, 0xe2($sp)
/* ACA3F8 80053258 87AD00E8 */ lh $t5, 0xe8($sp)
/* ACA3FC 8005325C 87AE00E0 */ lh $t6, 0xe0($sp)
/* ACA400 80053260 016A6021 */ addu $t4, $t3, $t2
/* ACA404 80053264 A7AC00EA */ sh $t4, 0xea($sp)
/* ACA408 80053268 01AE7821 */ addu $t7, $t5, $t6
/* ACA40C 8005326C A7AF00E8 */ sh $t7, 0xe8($sp)
/* ACA410 80053270 26040004 */ addiu $a0, $s0, 4
/* ACA414 80053274 27A500C0 */ addiu $a1, $sp, 0xc0
/* ACA418 80053278 0C010F0A */ jal func_80043C28
/* ACA41C 8005327C 27A600E4 */ addiu $a2, $sp, 0xe4
/* ACA420 80053280 26380050 */ addiu $t8, $s1, 0x50
/* ACA424 80053284 1000000E */ b .L800532C0
/* ACA428 80053288 AFB80030 */ sw $t8, 0x30($sp)
.L8005328C:
/* ACA42C 8005328C 14A00003 */ bnez $a1, .L8005329C
/* ACA430 80053290 3C048014 */ lui $a0, %hi(D_80139450) # $a0, 0x8014
/* ACA434 80053294 0C00084C */ jal osSyncPrintf
/* ACA438 80053298 24849450 */ addiu $a0, %lo(D_80139450) # addiu $a0, $a0, -0x6bb0
.L8005329C:
/* ACA43C 8005329C AE2000A8 */ sw $zero, 0xa8($s1)
/* ACA440 800532A0 26390050 */ addiu $t9, $s1, 0x50
/* ACA444 800532A4 AFB90030 */ sw $t9, 0x30($sp)
/* ACA448 800532A8 8F2C0000 */ lw $t4, ($t9)
/* ACA44C 800532AC AE0C0004 */ sw $t4, 4($s0)
/* ACA450 800532B0 8F2A0004 */ lw $t2, 4($t9)
/* ACA454 800532B4 AE0A0008 */ sw $t2, 8($s0)
/* ACA458 800532B8 8F2C0008 */ lw $t4, 8($t9)
/* ACA45C 800532BC AE0C000C */ sw $t4, 0xc($s0)
.L800532C0:
/* ACA460 800532C0 8E030000 */ lw $v1, ($s0)
/* ACA464 800532C4 10000079 */ b .L800534AC
/* ACA468 800532C8 84640002 */ lh $a0, 2($v1)
.L800532CC:
/* ACA46C 800532CC 11A0006E */ beqz $t5, .L80053488
/* ACA470 800532D0 262C0050 */ addiu $t4, $s1, 0x50
/* ACA474 800532D4 30EE0004 */ andi $t6, $a3, 4
/* ACA478 800532D8 11C00004 */ beqz $t6, .L800532EC
/* ACA47C 800532DC 30F82020 */ andi $t8, $a3, 0x2020
/* ACA480 800532E0 860F003A */ lh $t7, 0x3a($s0)
/* ACA484 800532E4 51E00066 */ beql $t7, $zero, .L80053480
/* ACA488 800532E8 262A0050 */ addiu $t2, $s1, 0x50
.L800532EC:
/* ACA48C 800532EC 13000003 */ beqz $t8, .L800532FC
/* ACA490 800532F0 30E2000F */ andi $v0, $a3, 0xf
/* ACA494 800532F4 1000000B */ b .L80053324
/* ACA498 800532F8 8E260090 */ lw $a2, 0x90($s1)
.L800532FC:
/* ACA49C 800532FC 8E2500A8 */ lw $a1, 0xa8($s1)
/* ACA4A0 80053300 00003025 */ move $a2, $zero
/* ACA4A4 80053304 50A00007 */ beql $a1, $zero, .L80053324
/* ACA4A8 80053308 AE2000A8 */ sw $zero, 0xa8($s1)
/* ACA4AC 8005330C 8CB90130 */ lw $t9, 0x130($a1)
/* ACA4B0 80053310 53200004 */ beql $t9, $zero, .L80053324
/* ACA4B4 80053314 AE2000A8 */ sw $zero, 0xa8($s1)
/* ACA4B8 80053318 10000002 */ b .L80053324
/* ACA4BC 8005331C 00A03025 */ move $a2, $a1
/* ACA4C0 80053320 AE2000A8 */ sw $zero, 0xa8($s1)
.L80053324:
/* ACA4C4 80053324 10C00047 */ beqz $a2, .L80053444
/* ACA4C8 80053328 24010001 */ li $at, 1
/* ACA4CC 8005332C 14410006 */ bne $v0, $at, .L80053348
/* ACA4D0 80053330 27A4006C */ addiu $a0, $sp, 0x6c
/* ACA4D4 80053334 00C02825 */ move $a1, $a2
/* ACA4D8 80053338 0C00BBB9 */ jal func_8002EEE4
/* ACA4DC 8005333C A7A700D8 */ sh $a3, 0xd8($sp)
/* ACA4E0 80053340 1000000E */ b .L8005337C
/* ACA4E4 80053344 87A700D8 */ lh $a3, 0xd8($sp)
.L80053348:
/* ACA4E8 80053348 24010002 */ li $at, 2
/* ACA4EC 8005334C 14410007 */ bne $v0, $at, .L8005336C
/* ACA4F0 80053350 27A4006C */ addiu $a0, $sp, 0x6c
/* ACA4F4 80053354 27A4006C */ addiu $a0, $sp, 0x6c
/* ACA4F8 80053358 00C02825 */ move $a1, $a2
/* ACA4FC 8005335C 0C00BBC5 */ jal func_8002EF14
/* ACA500 80053360 A7A700D8 */ sh $a3, 0xd8($sp)
/* ACA504 80053364 10000005 */ b .L8005337C
/* ACA508 80053368 87A700D8 */ lh $a3, 0xd8($sp)
.L8005336C:
/* ACA50C 8005336C 00C02825 */ move $a1, $a2
/* ACA510 80053370 0C00BBD1 */ jal func_8002EF44
/* ACA514 80053374 A7A700D8 */ sh $a3, 0xd8($sp)
/* ACA518 80053378 87A700D8 */ lh $a3, 0xd8($sp)
.L8005337C:
/* ACA51C 8005337C 24018080 */ li $at, -32640
/* ACA520 80053380 00E15824 */ and $t3, $a3, $at
/* ACA524 80053384 5160001D */ beql $t3, $zero, .L800533FC
/* ACA528 80053388 8E050000 */ lw $a1, ($s0)
/* ACA52C 8005338C 8E0A0000 */ lw $t2, ($s0)
/* ACA530 80053390 3C018014 */ lui $at, %hi(D_8013A238)
/* ACA534 80053394 C428A238 */ lwc1 $f8, %lo(D_8013A238)($at)
/* ACA538 80053398 C5460010 */ lwc1 $f6, 0x10($t2)
/* ACA53C 8005339C 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACA540 800533A0 44812000 */ mtc1 $at, $f4
/* ACA544 800533A4 46083282 */ mul.s $f10, $f6, $f8
/* ACA548 800533A8 3C018014 */ lui $at, %hi(D_8013A23C)
/* ACA54C 800533AC 46045180 */ add.s $f6, $f10, $f4
/* ACA550 800533B0 C424A23C */ lwc1 $f4, %lo(D_8013A23C)($at)
/* ACA554 800533B4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACA558 800533B8 4600320D */ trunc.w.s $f8, $f6
/* ACA55C 800533BC 440D4000 */ mfc1 $t5, $f8
/* ACA560 800533C0 44814000 */ mtc1 $at, $f8
/* ACA564 800533C4 A7AD00E8 */ sh $t5, 0xe8($sp)
/* ACA568 800533C8 8E0E0000 */ lw $t6, ($s0)
/* ACA56C 800533CC C5CA0014 */ lwc1 $f10, 0x14($t6)
/* ACA570 800533D0 46045182 */ mul.s $f6, $f10, $f4
/* ACA574 800533D4 46083280 */ add.s $f10, $f6, $f8
/* ACA578 800533D8 4600510D */ trunc.w.s $f4, $f10
/* ACA57C 800533DC 44182000 */ mfc1 $t8, $f4
/* ACA580 800533E0 00000000 */ nop
/* ACA584 800533E4 A7B800EA */ sh $t8, 0xea($sp)
/* ACA588 800533E8 8E190000 */ lw $t9, ($s0)
/* ACA58C 800533EC C7260018 */ lwc1 $f6, 0x18($t9)
/* ACA590 800533F0 10000005 */ b .L80053408
/* ACA594 800533F4 E7A600E4 */ swc1 $f6, 0xe4($sp)
/* ACA598 800533F8 8E050000 */ lw $a1, ($s0)
.L800533FC:
/* ACA59C 800533FC 27A400E4 */ addiu $a0, $sp, 0xe4
/* ACA5A0 80053400 0C01F0FD */ jal OLib_Vec3fToVecSphGeo
/* ACA5A4 80053404 24A50010 */ addiu $a1, $a1, 0x10
.L80053408:
/* ACA5A8 80053408 87AB00EA */ lh $t3, 0xea($sp)
/* ACA5AC 8005340C 87AA007A */ lh $t2, 0x7a($sp)
/* ACA5B0 80053410 87AD00E8 */ lh $t5, 0xe8($sp)
/* ACA5B4 80053414 87AE0078 */ lh $t6, 0x78($sp)
/* ACA5B8 80053418 016A6021 */ addu $t4, $t3, $t2
/* ACA5BC 8005341C A7AC00EA */ sh $t4, 0xea($sp)
/* ACA5C0 80053420 01AE7823 */ subu $t7, $t5, $t6
/* ACA5C4 80053424 A7AF00E8 */ sh $t7, 0xe8($sp)
/* ACA5C8 80053428 26040004 */ addiu $a0, $s0, 4
/* ACA5CC 8005342C 27A5006C */ addiu $a1, $sp, 0x6c
/* ACA5D0 80053430 0C010F0A */ jal func_80043C28
/* ACA5D4 80053434 27A600E4 */ addiu $a2, $sp, 0xe4
/* ACA5D8 80053438 8E030000 */ lw $v1, ($s0)
/* ACA5DC 8005343C 1000000F */ b .L8005347C
/* ACA5E0 80053440 84640002 */ lh $a0, 2($v1)
.L80053444:
/* ACA5E4 80053444 8E3800A8 */ lw $t8, 0xa8($s1)
/* ACA5E8 80053448 3C048014 */ lui $a0, %hi(D_80139488) # $a0, 0x8014
/* ACA5EC 8005344C 57000004 */ bnezl $t8, .L80053460
/* ACA5F0 80053450 8E2B0050 */ lw $t3, 0x50($s1)
/* ACA5F4 80053454 0C00084C */ jal osSyncPrintf
/* ACA5F8 80053458 24849488 */ addiu $a0, %lo(D_80139488) # addiu $a0, $a0, -0x6b78
/* ACA5FC 8005345C 8E2B0050 */ lw $t3, 0x50($s1)
.L80053460:
/* ACA600 80053460 8E030000 */ lw $v1, ($s0)
/* ACA604 80053464 AE0B0004 */ sw $t3, 4($s0)
/* ACA608 80053468 8E390054 */ lw $t9, 0x54($s1)
/* ACA60C 8005346C AE190008 */ sw $t9, 8($s0)
/* ACA610 80053470 8E2B0058 */ lw $t3, 0x58($s1)
/* ACA614 80053474 AE0B000C */ sw $t3, 0xc($s0)
/* ACA618 80053478 84640002 */ lh $a0, 2($v1)
.L8005347C:
/* ACA61C 8005347C 262A0050 */ addiu $t2, $s1, 0x50
.L80053480:
/* ACA620 80053480 1000000A */ b .L800534AC
/* ACA624 80053484 AFAA0030 */ sw $t2, 0x30($sp)
.L80053488:
/* ACA628 80053488 AFAC0030 */ sw $t4, 0x30($sp)
/* ACA62C 8005348C 8D8F0000 */ lw $t7, ($t4)
/* ACA630 80053490 8E030000 */ lw $v1, ($s0)
/* ACA634 80053494 AE0F0004 */ sw $t7, 4($s0)
/* ACA638 80053498 8D8E0004 */ lw $t6, 4($t4)
/* ACA63C 8005349C AE0E0008 */ sw $t6, 8($s0)
/* ACA640 800534A0 8D8F0008 */ lw $t7, 8($t4)
/* ACA644 800534A4 AE0F000C */ sw $t7, 0xc($s0)
/* ACA648 800534A8 84640002 */ lh $a0, 2($v1)
.L800534AC:
/* ACA64C 800534AC 3087FF00 */ andi $a3, $a0, 0xff00
/* ACA650 800534B0 00073C00 */ sll $a3, $a3, 0x10
/* ACA654 800534B4 24080100 */ li $t0, 256
/* ACA658 800534B8 00073C03 */ sra $a3, $a3, 0x10
/* ACA65C 800534BC 14E8000C */ bne $a3, $t0, .L800534F0
/* ACA660 800534C0 24090200 */ li $t1, 512
/* ACA664 800534C4 8C79001C */ lw $t9, 0x1c($v1)
/* ACA668 800534C8 262B0074 */ addiu $t3, $s1, 0x74
/* ACA66C 800534CC AE190010 */ sw $t9, 0x10($s0)
/* ACA670 800534D0 8C780020 */ lw $t8, 0x20($v1)
/* ACA674 800534D4 AE180014 */ sw $t8, 0x14($s0)
/* ACA678 800534D8 8C790024 */ lw $t9, 0x24($v1)
/* ACA67C 800534DC AE190018 */ sw $t9, 0x18($s0)
/* ACA680 800534E0 AFAB0034 */ sw $t3, 0x34($sp)
/* ACA684 800534E4 8E030000 */ lw $v1, ($s0)
/* ACA688 800534E8 1000011A */ b .L80053954
/* ACA68C 800534EC 84640002 */ lh $a0, 2($v1)
.L800534F0:
/* ACA690 800534F0 14E90017 */ bne $a3, $t1, .L80053550
/* ACA694 800534F4 24010300 */ li $at, 768
/* ACA698 800534F8 860A003A */ lh $t2, 0x3a($s0)
/* ACA69C 800534FC 262F0074 */ addiu $t7, $s1, 0x74
/* ACA6A0 80053500 11400011 */ beqz $t2, .L80053548
/* ACA6A4 80053504 00000000 */ nop
/* ACA6A8 80053508 8E2C008C */ lw $t4, 0x8c($s1)
/* ACA6AC 8005350C C46A001C */ lwc1 $f10, 0x1c($v1)
/* ACA6B0 80053510 C58800E0 */ lwc1 $f8, 0xe0($t4)
/* ACA6B4 80053514 460A4100 */ add.s $f4, $f8, $f10
/* ACA6B8 80053518 E6040010 */ swc1 $f4, 0x10($s0)
/* ACA6BC 8005351C 8E2D008C */ lw $t5, 0x8c($s1)
/* ACA6C0 80053520 C4680020 */ lwc1 $f8, 0x20($v1)
/* ACA6C4 80053524 C5A600E4 */ lwc1 $f6, 0xe4($t5)
/* ACA6C8 80053528 46083280 */ add.s $f10, $f6, $f8
/* ACA6CC 8005352C E60A0014 */ swc1 $f10, 0x14($s0)
/* ACA6D0 80053530 8E2E008C */ lw $t6, 0x8c($s1)
/* ACA6D4 80053534 C4660024 */ lwc1 $f6, 0x24($v1)
/* ACA6D8 80053538 C5C400E8 */ lwc1 $f4, 0xe8($t6)
/* ACA6DC 8005353C 46062200 */ add.s $f8, $f4, $f6
/* ACA6E0 80053540 E6080018 */ swc1 $f8, 0x18($s0)
/* ACA6E4 80053544 84640002 */ lh $a0, 2($v1)
.L80053548:
/* ACA6E8 80053548 10000102 */ b .L80053954
/* ACA6EC 8005354C AFAF0034 */ sw $t7, 0x34($sp)
.L80053550:
/* ACA6F0 80053550 14E10013 */ bne $a3, $at, .L800535A0
/* ACA6F4 80053554 26390074 */ addiu $t9, $s1, 0x74
/* ACA6F8 80053558 8618003A */ lh $t8, 0x3a($s0)
/* ACA6FC 8005355C 1300000E */ beqz $t8, .L80053598
/* ACA700 80053560 00000000 */ nop
/* ACA704 80053564 C62A0074 */ lwc1 $f10, 0x74($s1)
/* ACA708 80053568 C464001C */ lwc1 $f4, 0x1c($v1)
/* ACA70C 8005356C 46045180 */ add.s $f6, $f10, $f4
/* ACA710 80053570 E6060010 */ swc1 $f6, 0x10($s0)
/* ACA714 80053574 C46A0020 */ lwc1 $f10, 0x20($v1)
/* ACA718 80053578 C6280078 */ lwc1 $f8, 0x78($s1)
/* ACA71C 8005357C 460A4100 */ add.s $f4, $f8, $f10
/* ACA720 80053580 E6040014 */ swc1 $f4, 0x14($s0)
/* ACA724 80053584 C4680024 */ lwc1 $f8, 0x24($v1)
/* ACA728 80053588 C626007C */ lwc1 $f6, 0x7c($s1)
/* ACA72C 8005358C 46083280 */ add.s $f10, $f6, $f8
/* ACA730 80053590 E60A0018 */ swc1 $f10, 0x18($s0)
/* ACA734 80053594 84640002 */ lh $a0, 2($v1)
.L80053598:
/* ACA738 80053598 100000EE */ b .L80053954
/* ACA73C 8005359C AFB90034 */ sw $t9, 0x34($sp)
.L800535A0:
/* ACA740 800535A0 24010400 */ li $at, 1024
/* ACA744 800535A4 10E10007 */ beq $a3, $at, .L800535C4
/* ACA748 800535A8 24018400 */ li $at, -31744
/* ACA74C 800535AC 10E10005 */ beq $a3, $at, .L800535C4
/* ACA750 800535B0 24010500 */ li $at, 1280
/* ACA754 800535B4 10E10003 */ beq $a3, $at, .L800535C4
/* ACA758 800535B8 24018500 */ li $at, -31488
/* ACA75C 800535BC 14E1006D */ bne $a3, $at, .L80053774
/* ACA760 800535C0 30ED6060 */ andi $t5, $a3, 0x6060
.L800535C4:
/* ACA764 800535C4 8E2500A8 */ lw $a1, 0xa8($s1)
/* ACA768 800535C8 10A0005A */ beqz $a1, .L80053734
/* ACA76C 800535CC 00000000 */ nop
/* ACA770 800535D0 8CAB0130 */ lw $t3, 0x130($a1)
/* ACA774 800535D4 27A400C0 */ addiu $a0, $sp, 0xc0
/* ACA778 800535D8 11600056 */ beqz $t3, .L80053734
/* ACA77C 800535DC 00000000 */ nop
/* ACA780 800535E0 0C00BBB9 */ jal func_8002EEE4
/* ACA784 800535E4 A7A700D6 */ sh $a3, 0xd6($sp)
/* ACA788 800535E8 27A400AC */ addiu $a0, $sp, 0xac
/* ACA78C 800535EC 0C00BBB9 */ jal func_8002EEE4
/* ACA790 800535F0 8E250090 */ lw $a1, 0x90($s1)
/* ACA794 800535F4 C7A40098 */ lwc1 $f4, 0x98($sp)
/* ACA798 800535F8 C7A600A0 */ lwc1 $f6, 0xa0($sp)
/* ACA79C 800535FC 27A400DC */ addiu $a0, $sp, 0xdc
/* ACA7A0 80053600 27A500C0 */ addiu $a1, $sp, 0xc0
/* ACA7A4 80053604 27A600AC */ addiu $a2, $sp, 0xac
/* ACA7A8 80053608 E7A400AC */ swc1 $f4, 0xac($sp)
/* ACA7AC 8005360C 0C01F124 */ jal OLib_Vec3fDiffToVecSphGeo
/* ACA7B0 80053610 E7A600B4 */ swc1 $f6, 0xb4($sp)
/* ACA7B4 80053614 87A700D6 */ lh $a3, 0xd6($sp)
/* ACA7B8 80053618 24010400 */ li $at, 1024
/* ACA7BC 8005361C 27AC00C0 */ addiu $t4, $sp, 0xc0
/* ACA7C0 80053620 10E10003 */ beq $a3, $at, .L80053630
/* ACA7C4 80053624 24018400 */ li $at, -31744
/* ACA7C8 80053628 54E1000A */ bnel $a3, $at, .L80053654
/* ACA7CC 8005362C 8E190004 */ lw $t9, 4($s0)
.L80053630:
/* ACA7D0 80053630 8D8E0000 */ lw $t6, ($t4)
/* ACA7D4 80053634 27AA0060 */ addiu $t2, $sp, 0x60
/* ACA7D8 80053638 AD4E0000 */ sw $t6, ($t2)
/* ACA7DC 8005363C 8D8D0004 */ lw $t5, 4($t4)
/* ACA7E0 80053640 AD4D0004 */ sw $t5, 4($t2)
/* ACA7E4 80053644 8D8E0008 */ lw $t6, 8($t4)
/* ACA7E8 80053648 10000008 */ b .L8005366C
/* ACA7EC 8005364C AD4E0008 */ sw $t6, 8($t2)
/* ACA7F0 80053650 8E190004 */ lw $t9, 4($s0)
.L80053654:
/* ACA7F4 80053654 27AF0060 */ addiu $t7, $sp, 0x60
/* ACA7F8 80053658 ADF90000 */ sw $t9, ($t7)
/* ACA7FC 8005365C 8E180008 */ lw $t8, 8($s0)
/* ACA800 80053660 ADF80004 */ sw $t8, 4($t7)
/* ACA804 80053664 8E19000C */ lw $t9, 0xc($s0)
/* ACA808 80053668 ADF90008 */ sw $t9, 8($t7)
.L8005366C:
/* ACA80C 8005366C 24018080 */ li $at, -32640
/* ACA810 80053670 00E15824 */ and $t3, $a3, $at
/* ACA814 80053674 5160001D */ beql $t3, $zero, .L800536EC
/* ACA818 80053678 8E050000 */ lw $a1, ($s0)
/* ACA81C 8005367C 8E0A0000 */ lw $t2, ($s0)
/* ACA820 80053680 3C018014 */ lui $at, %hi(D_8013A240)
/* ACA824 80053684 C42AA240 */ lwc1 $f10, %lo(D_8013A240)($at)
/* ACA828 80053688 C548001C */ lwc1 $f8, 0x1c($t2)
/* ACA82C 8005368C 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACA830 80053690 44813000 */ mtc1 $at, $f6
/* ACA834 80053694 460A4102 */ mul.s $f4, $f8, $f10
/* ACA838 80053698 3C018014 */ lui $at, %hi(D_8013A244)
/* ACA83C 8005369C 46062200 */ add.s $f8, $f4, $f6
/* ACA840 800536A0 C426A244 */ lwc1 $f6, %lo(D_8013A244)($at)
/* ACA844 800536A4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACA848 800536A8 4600428D */ trunc.w.s $f10, $f8
/* ACA84C 800536AC 440D5000 */ mfc1 $t5, $f10
/* ACA850 800536B0 44815000 */ mtc1 $at, $f10
/* ACA854 800536B4 A7AD00E8 */ sh $t5, 0xe8($sp)
/* ACA858 800536B8 8E0E0000 */ lw $t6, ($s0)
/* ACA85C 800536BC C5C40020 */ lwc1 $f4, 0x20($t6)
/* ACA860 800536C0 46062202 */ mul.s $f8, $f4, $f6
/* ACA864 800536C4 460A4100 */ add.s $f4, $f8, $f10
/* ACA868 800536C8 4600218D */ trunc.w.s $f6, $f4
/* ACA86C 800536CC 44183000 */ mfc1 $t8, $f6
/* ACA870 800536D0 00000000 */ nop
/* ACA874 800536D4 A7B800EA */ sh $t8, 0xea($sp)
/* ACA878 800536D8 8E190000 */ lw $t9, ($s0)
/* ACA87C 800536DC C7280024 */ lwc1 $f8, 0x24($t9)
/* ACA880 800536E0 10000005 */ b .L800536F8
/* ACA884 800536E4 E7A800E4 */ swc1 $f8, 0xe4($sp)
/* ACA888 800536E8 8E050000 */ lw $a1, ($s0)
.L800536EC:
/* ACA88C 800536EC 27A400E4 */ addiu $a0, $sp, 0xe4
/* ACA890 800536F0 0C01F0FD */ jal OLib_Vec3fToVecSphGeo
/* ACA894 800536F4 24A5001C */ addiu $a1, $a1, 0x1c
.L800536F8:
/* ACA898 800536F8 87AB00EA */ lh $t3, 0xea($sp)
/* ACA89C 800536FC 87AA00E2 */ lh $t2, 0xe2($sp)
/* ACA8A0 80053700 87AD00E8 */ lh $t5, 0xe8($sp)
/* ACA8A4 80053704 87AE00E0 */ lh $t6, 0xe0($sp)
/* ACA8A8 80053708 016A6021 */ addu $t4, $t3, $t2
/* ACA8AC 8005370C A7AC00EA */ sh $t4, 0xea($sp)
/* ACA8B0 80053710 01AE7821 */ addu $t7, $t5, $t6
/* ACA8B4 80053714 A7AF00E8 */ sh $t7, 0xe8($sp)
/* ACA8B8 80053718 26040010 */ addiu $a0, $s0, 0x10
/* ACA8BC 8005371C 27A50060 */ addiu $a1, $sp, 0x60
/* ACA8C0 80053720 0C010F0A */ jal func_80043C28
/* ACA8C4 80053724 27A600E4 */ addiu $a2, $sp, 0xe4
/* ACA8C8 80053728 26380074 */ addiu $t8, $s1, 0x74
/* ACA8CC 8005372C 1000000E */ b .L80053768
/* ACA8D0 80053730 AFB80034 */ sw $t8, 0x34($sp)
.L80053734:
/* ACA8D4 80053734 14A00003 */ bnez $a1, .L80053744
/* ACA8D8 80053738 3C048014 */ lui $a0, %hi(D_801394C0) # $a0, 0x8014
/* ACA8DC 8005373C 0C00084C */ jal osSyncPrintf
/* ACA8E0 80053740 248494C0 */ addiu $a0, %lo(D_801394C0) # addiu $a0, $a0, -0x6b40
.L80053744:
/* ACA8E4 80053744 AE2000A8 */ sw $zero, 0xa8($s1)
/* ACA8E8 80053748 26390074 */ addiu $t9, $s1, 0x74
/* ACA8EC 8005374C AFB90034 */ sw $t9, 0x34($sp)
/* ACA8F0 80053750 8F2C0000 */ lw $t4, ($t9)
/* ACA8F4 80053754 AE0C0010 */ sw $t4, 0x10($s0)
/* ACA8F8 80053758 8F2A0004 */ lw $t2, 4($t9)
/* ACA8FC 8005375C AE0A0014 */ sw $t2, 0x14($s0)
/* ACA900 80053760 8F2C0008 */ lw $t4, 8($t9)
/* ACA904 80053764 AE0C0018 */ sw $t4, 0x18($s0)
.L80053768:
/* ACA908 80053768 8E030000 */ lw $v1, ($s0)
/* ACA90C 8005376C 10000079 */ b .L80053954
/* ACA910 80053770 84640002 */ lh $a0, 2($v1)
.L80053774:
/* ACA914 80053774 11A0006E */ beqz $t5, .L80053930
/* ACA918 80053778 262C0074 */ addiu $t4, $s1, 0x74
/* ACA91C 8005377C 30EE0400 */ andi $t6, $a3, 0x400
/* ACA920 80053780 11C00004 */ beqz $t6, .L80053794
/* ACA924 80053784 30F82020 */ andi $t8, $a3, 0x2020
/* ACA928 80053788 860F003A */ lh $t7, 0x3a($s0)
/* ACA92C 8005378C 51E00066 */ beql $t7, $zero, .L80053928
/* ACA930 80053790 262A0074 */ addiu $t2, $s1, 0x74
.L80053794:
/* ACA934 80053794 13000003 */ beqz $t8, .L800537A4
/* ACA938 80053798 30E20F00 */ andi $v0, $a3, 0xf00
/* ACA93C 8005379C 1000000B */ b .L800537CC
/* ACA940 800537A0 8E260090 */ lw $a2, 0x90($s1)
.L800537A4:
/* ACA944 800537A4 8E2500A8 */ lw $a1, 0xa8($s1)
/* ACA948 800537A8 00003025 */ move $a2, $zero
/* ACA94C 800537AC 50A00007 */ beql $a1, $zero, .L800537CC
/* ACA950 800537B0 AE2000A8 */ sw $zero, 0xa8($s1)
/* ACA954 800537B4 8CB90130 */ lw $t9, 0x130($a1)
/* ACA958 800537B8 53200004 */ beql $t9, $zero, .L800537CC
/* ACA95C 800537BC AE2000A8 */ sw $zero, 0xa8($s1)
/* ACA960 800537C0 10000002 */ b .L800537CC
/* ACA964 800537C4 00A03025 */ move $a2, $a1
/* ACA968 800537C8 AE2000A8 */ sw $zero, 0xa8($s1)
.L800537CC:
/* ACA96C 800537CC 50C00047 */ beql $a2, $zero, .L800538EC
/* ACA970 800537D0 8E3800A8 */ lw $t8, 0xa8($s1)
/* ACA974 800537D4 15020006 */ bne $t0, $v0, .L800537F0
/* ACA978 800537D8 27A40048 */ addiu $a0, $sp, 0x48
/* ACA97C 800537DC 00C02825 */ move $a1, $a2
/* ACA980 800537E0 0C00BBB9 */ jal func_8002EEE4
/* ACA984 800537E4 A7A700D6 */ sh $a3, 0xd6($sp)
/* ACA988 800537E8 1000000D */ b .L80053820
/* ACA98C 800537EC 87A700D6 */ lh $a3, 0xd6($sp)
.L800537F0:
/* ACA990 800537F0 15220007 */ bne $t1, $v0, .L80053810
/* ACA994 800537F4 27A40048 */ addiu $a0, $sp, 0x48
/* ACA998 800537F8 27A40048 */ addiu $a0, $sp, 0x48
/* ACA99C 800537FC 00C02825 */ move $a1, $a2
/* ACA9A0 80053800 0C00BBC5 */ jal func_8002EF14
/* ACA9A4 80053804 A7A700D6 */ sh $a3, 0xd6($sp)
/* ACA9A8 80053808 10000005 */ b .L80053820
/* ACA9AC 8005380C 87A700D6 */ lh $a3, 0xd6($sp)
.L80053810:
/* ACA9B0 80053810 00C02825 */ move $a1, $a2
/* ACA9B4 80053814 0C00BBD1 */ jal func_8002EF44
/* ACA9B8 80053818 A7A700D6 */ sh $a3, 0xd6($sp)
/* ACA9BC 8005381C 87A700D6 */ lh $a3, 0xd6($sp)
.L80053820:
/* ACA9C0 80053820 24018080 */ li $at, -32640
/* ACA9C4 80053824 00E15824 */ and $t3, $a3, $at
/* ACA9C8 80053828 5160001D */ beql $t3, $zero, .L800538A0
/* ACA9CC 8005382C 8E050000 */ lw $a1, ($s0)
/* ACA9D0 80053830 8E0A0000 */ lw $t2, ($s0)
/* ACA9D4 80053834 3C018014 */ lui $at, %hi(D_8013A248)
/* ACA9D8 80053838 C424A248 */ lwc1 $f4, %lo(D_8013A248)($at)
/* ACA9DC 8005383C C54A001C */ lwc1 $f10, 0x1c($t2)
/* ACA9E0 80053840 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACA9E4 80053844 44814000 */ mtc1 $at, $f8
/* ACA9E8 80053848 46045182 */ mul.s $f6, $f10, $f4
/* ACA9EC 8005384C 3C018014 */ lui $at, %hi(D_8013A24C)
/* ACA9F0 80053850 46083280 */ add.s $f10, $f6, $f8
/* ACA9F4 80053854 C428A24C */ lwc1 $f8, %lo(D_8013A24C)($at)
/* ACA9F8 80053858 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACA9FC 8005385C 4600510D */ trunc.w.s $f4, $f10
/* ACAA00 80053860 440D2000 */ mfc1 $t5, $f4
/* ACAA04 80053864 44812000 */ mtc1 $at, $f4
/* ACAA08 80053868 A7AD00E8 */ sh $t5, 0xe8($sp)
/* ACAA0C 8005386C 8E0E0000 */ lw $t6, ($s0)
/* ACAA10 80053870 C5C60020 */ lwc1 $f6, 0x20($t6)
/* ACAA14 80053874 46083282 */ mul.s $f10, $f6, $f8
/* ACAA18 80053878 46045180 */ add.s $f6, $f10, $f4
/* ACAA1C 8005387C 4600320D */ trunc.w.s $f8, $f6
/* ACAA20 80053880 44184000 */ mfc1 $t8, $f8
/* ACAA24 80053884 00000000 */ nop
/* ACAA28 80053888 A7B800EA */ sh $t8, 0xea($sp)
/* ACAA2C 8005388C 8E190000 */ lw $t9, ($s0)
/* ACAA30 80053890 C72A0024 */ lwc1 $f10, 0x24($t9)
/* ACAA34 80053894 10000005 */ b .L800538AC
/* ACAA38 80053898 E7AA00E4 */ swc1 $f10, 0xe4($sp)
/* ACAA3C 8005389C 8E050000 */ lw $a1, ($s0)
.L800538A0:
/* ACAA40 800538A0 27A400E4 */ addiu $a0, $sp, 0xe4
/* ACAA44 800538A4 0C01F0FD */ jal OLib_Vec3fToVecSphGeo
/* ACAA48 800538A8 24A5001C */ addiu $a1, $a1, 0x1c
.L800538AC:
/* ACAA4C 800538AC 87AB00EA */ lh $t3, 0xea($sp)
/* ACAA50 800538B0 87AA0056 */ lh $t2, 0x56($sp)
/* ACAA54 800538B4 87AD00E8 */ lh $t5, 0xe8($sp)
/* ACAA58 800538B8 87AE0054 */ lh $t6, 0x54($sp)
/* ACAA5C 800538BC 016A6021 */ addu $t4, $t3, $t2
/* ACAA60 800538C0 A7AC00EA */ sh $t4, 0xea($sp)
/* ACAA64 800538C4 01AE7823 */ subu $t7, $t5, $t6
/* ACAA68 800538C8 A7AF00E8 */ sh $t7, 0xe8($sp)
/* ACAA6C 800538CC 26040010 */ addiu $a0, $s0, 0x10
/* ACAA70 800538D0 27A50048 */ addiu $a1, $sp, 0x48
/* ACAA74 800538D4 0C010F0A */ jal func_80043C28
/* ACAA78 800538D8 27A600E4 */ addiu $a2, $sp, 0xe4
/* ACAA7C 800538DC 8E030000 */ lw $v1, ($s0)
/* ACAA80 800538E0 10000010 */ b .L80053924
/* ACAA84 800538E4 84640002 */ lh $a0, 2($v1)
/* ACAA88 800538E8 8E3800A8 */ lw $t8, 0xa8($s1)
.L800538EC:
/* ACAA8C 800538EC 3C048014 */ lui $a0, %hi(D_801394F8) # $a0, 0x8014
/* ACAA90 800538F0 57000004 */ bnezl $t8, .L80053904
/* ACAA94 800538F4 8E2B0074 */ lw $t3, 0x74($s1)
/* ACAA98 800538F8 0C00084C */ jal osSyncPrintf
/* ACAA9C 800538FC 248494F8 */ addiu $a0, %lo(D_801394F8) # addiu $a0, $a0, -0x6b08
/* ACAAA0 80053900 8E2B0074 */ lw $t3, 0x74($s1)
.L80053904:
/* ACAAA4 80053904 AE2000A8 */ sw $zero, 0xa8($s1)
/* ACAAA8 80053908 8E030000 */ lw $v1, ($s0)
/* ACAAAC 8005390C AE0B0010 */ sw $t3, 0x10($s0)
/* ACAAB0 80053910 8E390078 */ lw $t9, 0x78($s1)
/* ACAAB4 80053914 AE190014 */ sw $t9, 0x14($s0)
/* ACAAB8 80053918 8E2B007C */ lw $t3, 0x7c($s1)
/* ACAABC 8005391C AE0B0018 */ sw $t3, 0x18($s0)
/* ACAAC0 80053920 84640002 */ lh $a0, 2($v1)
.L80053924:
/* ACAAC4 80053924 262A0074 */ addiu $t2, $s1, 0x74
.L80053928:
/* ACAAC8 80053928 1000000A */ b .L80053954
/* ACAACC 8005392C AFAA0034 */ sw $t2, 0x34($sp)
.L80053930:
/* ACAAD0 80053930 AFAC0034 */ sw $t4, 0x34($sp)
/* ACAAD4 80053934 8D8F0000 */ lw $t7, ($t4)
/* ACAAD8 80053938 8E030000 */ lw $v1, ($s0)
/* ACAADC 8005393C AE0F0010 */ sw $t7, 0x10($s0)
/* ACAAE0 80053940 8D8E0004 */ lw $t6, 4($t4)
/* ACAAE4 80053944 AE0E0014 */ sw $t6, 0x14($s0)
/* ACAAE8 80053948 8D8F0008 */ lw $t7, 8($t4)
/* ACAAEC 8005394C AE0F0018 */ sw $t7, 0x18($s0)
/* ACAAF0 80053950 84640002 */ lh $a0, 2($v1)
.L80053954:
/* ACAAF4 80053954 24010002 */ li $at, 2
/* ACAAF8 80053958 14810007 */ bne $a0, $at, .L80053978
/* ACAAFC 8005395C 00000000 */ nop
/* ACAB00 80053960 8E38008C */ lw $t8, 0x8c($s1)
/* ACAB04 80053964 8E030000 */ lw $v1, ($s0)
/* ACAB08 80053968 C70400D0 */ lwc1 $f4, 0xd0($t8)
/* ACAB0C 8005396C A6000034 */ sh $zero, 0x34($s0)
/* ACAB10 80053970 10000019 */ b .L800539D8
/* ACAB14 80053974 E6040028 */ swc1 $f4, 0x28($s0)
.L80053978:
/* ACAB18 80053978 54800008 */ bnezl $a0, .L8005399C
/* ACAB1C 8005397C C4680008 */ lwc1 $f8, 8($v1)
/* ACAB20 80053980 C62600FC */ lwc1 $f6, 0xfc($s1)
/* ACAB24 80053984 8E030000 */ lw $v1, ($s0)
/* ACAB28 80053988 E6060028 */ swc1 $f6, 0x28($s0)
/* ACAB2C 8005398C 8639015A */ lh $t9, 0x15a($s1)
/* ACAB30 80053990 10000011 */ b .L800539D8
/* ACAB34 80053994 A6190034 */ sh $t9, 0x34($s0)
/* ACAB38 80053998 C4680008 */ lwc1 $f8, 8($v1)
.L8005399C:
/* ACAB3C 8005399C 3C018014 */ lui $at, %hi(D_8013A250)
/* ACAB40 800539A0 E6080028 */ swc1 $f8, 0x28($s0)
/* ACAB44 800539A4 846B0006 */ lh $t3, 6($v1)
/* ACAB48 800539A8 C426A250 */ lwc1 $f6, %lo(D_8013A250)($at)
/* ACAB4C 800539AC 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACAB50 800539B0 448B5000 */ mtc1 $t3, $f10
/* ACAB54 800539B4 00000000 */ nop
/* ACAB58 800539B8 46805120 */ cvt.s.w $f4, $f10
/* ACAB5C 800539BC 44815000 */ mtc1 $at, $f10
/* ACAB60 800539C0 46062202 */ mul.s $f8, $f4, $f6
/* ACAB64 800539C4 460A4100 */ add.s $f4, $f8, $f10
/* ACAB68 800539C8 4600218D */ trunc.w.s $f6, $f4
/* ACAB6C 800539CC 440C3000 */ mfc1 $t4, $f6
/* ACAB70 800539D0 00000000 */ nop
/* ACAB74 800539D4 A60C0034 */ sh $t4, 0x34($s0)
.L800539D8:
/* ACAB78 800539D8 90620000 */ lbu $v0, ($v1)
/* ACAB7C 800539DC 3042001F */ andi $v0, $v0, 0x1f
/* ACAB80 800539E0 00021400 */ sll $v0, $v0, 0x10
/* ACAB84 800539E4 00021403 */ sra $v0, $v0, 0x10
/* ACAB88 800539E8 244DFFFF */ addiu $t5, $v0, -1
/* ACAB8C 800539EC 2DA10018 */ sltiu $at, $t5, 0x18
/* ACAB90 800539F0 102001F5 */ beqz $at, .L800541C8
/* ACAB94 800539F4 000D6880 */ sll $t5, $t5, 2
/* ACAB98 800539F8 3C018014 */ lui $at, %hi(jtbl_8013A254)
/* ACAB9C 800539FC 002D0821 */ addu $at, $at, $t5
/* ACABA0 80053A00 8C2DA254 */ lw $t5, %lo(jtbl_8013A254)($at)
/* ACABA4 80053A04 01A00008 */ jr $t5
/* ACABA8 80053A08 00000000 */ nop
glabel L80053A0C
/* ACABAC 80053A0C 8FAE0030 */ lw $t6, 0x30($sp)
/* ACABB0 80053A10 8E180004 */ lw $t8, 4($s0)
/* ACABB4 80053A14 2626005C */ addiu $a2, $s1, 0x5c
/* ACABB8 80053A18 ADD80000 */ sw $t8, ($t6)
/* ACABBC 80053A1C 8E0F0008 */ lw $t7, 8($s0)
/* ACABC0 80053A20 ADCF0004 */ sw $t7, 4($t6)
/* ACABC4 80053A24 8E18000C */ lw $t8, 0xc($s0)
/* ACABC8 80053A28 ADD80008 */ sw $t8, 8($t6)
/* ACABCC 80053A2C 8E0A0010 */ lw $t2, 0x10($s0)
/* ACABD0 80053A30 8FB90034 */ lw $t9, 0x34($sp)
/* ACABD4 80053A34 AF2A0000 */ sw $t2, ($t9)
/* ACABD8 80053A38 8E0B0014 */ lw $t3, 0x14($s0)
/* ACABDC 80053A3C AF2B0004 */ sw $t3, 4($t9)
/* ACABE0 80053A40 8E0A0018 */ lw $t2, 0x18($s0)
/* ACABE4 80053A44 AF2A0008 */ sw $t2, 8($t9)
/* ACABE8 80053A48 C6080028 */ lwc1 $f8, 0x28($s0)
/* ACABEC 80053A4C 862D014C */ lh $t5, 0x14c($s1)
/* ACABF0 80053A50 E62800FC */ swc1 $f8, 0xfc($s1)
/* ACABF4 80053A54 860C0034 */ lh $t4, 0x34($s0)
/* ACABF8 80053A58 35AE0400 */ ori $t6, $t5, 0x400
/* ACABFC 80053A5C A62E014C */ sh $t6, 0x14c($s1)
/* ACAC00 80053A60 100001DE */ b .L800541DC
/* ACAC04 80053A64 A62C015A */ sh $t4, 0x15a($s1)
glabel L80053A68
/* ACAC08 80053A68 860F0038 */ lh $t7, 0x38($s0)
/* ACAC0C 80053A6C 26070004 */ addiu $a3, $s0, 4
/* ACAC10 80053A70 26020010 */ addiu $v0, $s0, 0x10
/* ACAC14 80053A74 15E00003 */ bnez $t7, .L80053A84
/* ACAC18 80053A78 24180001 */ li $t8, 1
/* ACAC1C 80053A7C 10000009 */ b .L80053AA4
/* ACAC20 80053A80 A6180038 */ sh $t8, 0x38($s0)
.L80053A84:
/* ACAC24 80053A84 8639014C */ lh $t9, 0x14c($s1)
/* ACAC28 80053A88 332B0008 */ andi $t3, $t9, 8
/* ACAC2C 80053A8C 51600006 */ beql $t3, $zero, .L80053AA8
/* ACAC30 80053A90 8FAD0030 */ lw $t5, 0x30($sp)
/* ACAC34 80053A94 A6000038 */ sh $zero, 0x38($s0)
/* ACAC38 80053A98 862A014C */ lh $t2, 0x14c($s1)
/* ACAC3C 80053A9C 314CFFF7 */ andi $t4, $t2, 0xfff7
/* ACAC40 80053AA0 A62C014C */ sh $t4, 0x14c($s1)
.L80053AA4:
/* ACAC44 80053AA4 8FAD0030 */ lw $t5, 0x30($sp)
.L80053AA8:
/* ACAC48 80053AA8 8CEF0000 */ lw $t7, ($a3)
/* ACAC4C 80053AAC 2626005C */ addiu $a2, $s1, 0x5c
/* ACAC50 80053AB0 ADAF0000 */ sw $t7, ($t5)
/* ACAC54 80053AB4 8CEE0004 */ lw $t6, 4($a3)
/* ACAC58 80053AB8 ADAE0004 */ sw $t6, 4($t5)
/* ACAC5C 80053ABC 8CEF0008 */ lw $t7, 8($a3)
/* ACAC60 80053AC0 ADAF0008 */ sw $t7, 8($t5)
/* ACAC64 80053AC4 8C4B0000 */ lw $t3, ($v0)
/* ACAC68 80053AC8 8FB80034 */ lw $t8, 0x34($sp)
/* ACAC6C 80053ACC AF0B0000 */ sw $t3, ($t8)
/* ACAC70 80053AD0 8C590004 */ lw $t9, 4($v0)
/* ACAC74 80053AD4 AF190004 */ sw $t9, 4($t8)
/* ACAC78 80053AD8 8C4B0008 */ lw $t3, 8($v0)
/* ACAC7C 80053ADC AF0B0008 */ sw $t3, 8($t8)
/* ACAC80 80053AE0 C60A0028 */ lwc1 $f10, 0x28($s0)
/* ACAC84 80053AE4 E62A00FC */ swc1 $f10, 0xfc($s1)
/* ACAC88 80053AE8 860A0034 */ lh $t2, 0x34($s0)
/* ACAC8C 80053AEC 100001BB */ b .L800541DC
/* ACAC90 80053AF0 A62A015A */ sh $t2, 0x15a($s1)
glabel L80053AF4
/* ACAC94 80053AF4 860C0038 */ lh $t4, 0x38($s0)
/* ACAC98 80053AF8 26070004 */ addiu $a3, $s0, 4
/* ACAC9C 80053AFC 26020010 */ addiu $v0, $s0, 0x10
/* ACACA0 80053B00 15800003 */ bnez $t4, .L80053B10
/* ACACA4 80053B04 240D0001 */ li $t5, 1
/* ACACA8 80053B08 10000006 */ b .L80053B24
/* ACACAC 80053B0C A60D0038 */ sh $t5, 0x38($s0)
.L80053B10:
/* ACACB0 80053B10 862E014C */ lh $t6, 0x14c($s1)
/* ACACB4 80053B14 31CF0008 */ andi $t7, $t6, 8
/* ACACB8 80053B18 51E00003 */ beql $t7, $zero, .L80053B28
/* ACACBC 80053B1C 8FB80030 */ lw $t8, 0x30($sp)
/* ACACC0 80053B20 A6000038 */ sh $zero, 0x38($s0)
.L80053B24:
/* ACACC4 80053B24 8FB80030 */ lw $t8, 0x30($sp)
.L80053B28:
/* ACACC8 80053B28 8CEB0000 */ lw $t3, ($a3)
/* ACACCC 80053B2C 2626005C */ addiu $a2, $s1, 0x5c
/* ACACD0 80053B30 AF0B0000 */ sw $t3, ($t8)
/* ACACD4 80053B34 8CF90004 */ lw $t9, 4($a3)
/* ACACD8 80053B38 AF190004 */ sw $t9, 4($t8)
/* ACACDC 80053B3C 8CEB0008 */ lw $t3, 8($a3)
/* ACACE0 80053B40 AF0B0008 */ sw $t3, 8($t8)
/* ACACE4 80053B44 8C4D0000 */ lw $t5, ($v0)
/* ACACE8 80053B48 8FAA0034 */ lw $t2, 0x34($sp)
/* ACACEC 80053B4C AD4D0000 */ sw $t5, ($t2)
/* ACACF0 80053B50 8C4C0004 */ lw $t4, 4($v0)
/* ACACF4 80053B54 AD4C0004 */ sw $t4, 4($t2)
/* ACACF8 80053B58 8C4D0008 */ lw $t5, 8($v0)
/* ACACFC 80053B5C AD4D0008 */ sw $t5, 8($t2)
/* ACAD00 80053B60 C6040028 */ lwc1 $f4, 0x28($s0)
/* ACAD04 80053B64 E62400FC */ swc1 $f4, 0xfc($s1)
/* ACAD08 80053B68 860E0034 */ lh $t6, 0x34($s0)
/* ACAD0C 80053B6C 1000019B */ b .L800541DC
/* ACAD10 80053B70 A62E015A */ sh $t6, 0x15a($s1)
glabel L80053B74
/* ACAD14 80053B74 26070004 */ addiu $a3, $s0, 4
/* ACAD18 80053B78 260F0010 */ addiu $t7, $s0, 0x10
/* ACAD1C 80053B7C AFAF0024 */ sw $t7, 0x24($sp)
/* ACAD20 80053B80 AFA70028 */ sw $a3, 0x28($sp)
/* ACAD24 80053B84 27A400EC */ addiu $a0, $sp, 0xec
/* ACAD28 80053B88 8FA50030 */ lw $a1, 0x30($sp)
/* ACAD2C 80053B8C 0C01F124 */ jal OLib_Vec3fDiffToVecSphGeo
/* ACAD30 80053B90 8FA60034 */ lw $a2, 0x34($sp)
/* ACAD34 80053B94 8FA50028 */ lw $a1, 0x28($sp)
/* ACAD38 80053B98 2604002C */ addiu $a0, $s0, 0x2c
/* ACAD3C 80053B9C 0C01F124 */ jal OLib_Vec3fDiffToVecSphGeo
/* ACAD40 80053BA0 8FA60024 */ lw $a2, 0x24($sp)
/* ACAD44 80053BA4 8618003C */ lh $t8, 0x3c($s0)
/* ACAD48 80053BA8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ACAD4C 80053BAC 44813000 */ mtc1 $at, $f6
/* ACAD50 80053BB0 44984000 */ mtc1 $t8, $f8
/* ACAD54 80053BB4 C604002C */ lwc1 $f4, 0x2c($s0)
/* ACAD58 80053BB8 87AB00F0 */ lh $t3, 0xf0($sp)
/* ACAD5C 80053BBC 468042A0 */ cvt.s.w $f10, $f8
/* ACAD60 80053BC0 C7A800EC */ lwc1 $f8, 0xec($sp)
/* ACAD64 80053BC4 27A40100 */ addiu $a0, $sp, 0x100
/* ACAD68 80053BC8 8FA50030 */ lw $a1, 0x30($sp)
/* ACAD6C 80053BCC 27A600E4 */ addiu $a2, $sp, 0xe4
/* ACAD70 80053BD0 460A3083 */ div.s $f2, $f6, $f10
/* ACAD74 80053BD4 46082181 */ sub.s $f6, $f4, $f8
/* ACAD78 80053BD8 46023282 */ mul.s $f10, $f6, $f2
/* ACAD7C 80053BDC 46085100 */ add.s $f4, $f10, $f8
/* ACAD80 80053BE0 E7A400E4 */ swc1 $f4, 0xe4($sp)
/* ACAD84 80053BE4 86190030 */ lh $t9, 0x30($s0)
/* ACAD88 80053BE8 448B2000 */ mtc1 $t3, $f4
/* ACAD8C 80053BEC 032B5023 */ subu $t2, $t9, $t3
/* ACAD90 80053BF0 000A6400 */ sll $t4, $t2, 0x10
/* ACAD94 80053BF4 000C6C03 */ sra $t5, $t4, 0x10
/* ACAD98 80053BF8 448D3000 */ mtc1 $t5, $f6
/* ACAD9C 80053BFC 87B900F2 */ lh $t9, 0xf2($sp)
/* ACADA0 80053C00 468032A0 */ cvt.s.w $f10, $f6
/* ACADA4 80053C04 468021A0 */ cvt.s.w $f6, $f4
/* ACADA8 80053C08 46025202 */ mul.s $f8, $f10, $f2
/* ACADAC 80053C0C 46083280 */ add.s $f10, $f6, $f8
/* ACADB0 80053C10 4600510D */ trunc.w.s $f4, $f10
/* ACADB4 80053C14 440F2000 */ mfc1 $t7, $f4
/* ACADB8 80053C18 44992000 */ mtc1 $t9, $f4
/* ACADBC 80053C1C A7AF00E8 */ sh $t7, 0xe8($sp)
/* ACADC0 80053C20 86180032 */ lh $t8, 0x32($s0)
/* ACADC4 80053C24 03195023 */ subu $t2, $t8, $t9
/* ACADC8 80053C28 000A6400 */ sll $t4, $t2, 0x10
/* ACADCC 80053C2C 000C6C03 */ sra $t5, $t4, 0x10
/* ACADD0 80053C30 448D3000 */ mtc1 $t5, $f6
/* ACADD4 80053C34 00000000 */ nop
/* ACADD8 80053C38 46803220 */ cvt.s.w $f8, $f6
/* ACADDC 80053C3C 468021A0 */ cvt.s.w $f6, $f4
/* ACADE0 80053C40 46024282 */ mul.s $f10, $f8, $f2
/* ACADE4 80053C44 460A3200 */ add.s $f8, $f6, $f10
/* ACADE8 80053C48 4600410D */ trunc.w.s $f4, $f8
/* ACADEC 80053C4C 440E2000 */ mfc1 $t6, $f4
/* ACADF0 80053C50 0C010F0A */ jal func_80043C28
/* ACADF4 80053C54 A7AE00EA */ sh $t6, 0xea($sp)
/* ACADF8 80053C58 1000001A */ b .L80053CC4
/* ACADFC 80053C5C 8E180000 */ lw $t8, ($s0)
glabel L80053C60
/* ACAE00 80053C60 860F003C */ lh $t7, 0x3c($s0)
/* ACAE04 80053C64 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ACAE08 80053C68 44813000 */ mtc1 $at, $f6
/* ACAE0C 80053C6C 448F5000 */ mtc1 $t7, $f10
/* ACAE10 80053C70 C6200074 */ lwc1 $f0, 0x74($s1)
/* ACAE14 80053C74 C6040010 */ lwc1 $f4, 0x10($s0)
/* ACAE18 80053C78 46805220 */ cvt.s.w $f8, $f10
/* ACAE1C 80053C7C 46002281 */ sub.s $f10, $f4, $f0
/* ACAE20 80053C80 46083083 */ div.s $f2, $f6, $f8
/* ACAE24 80053C84 46025182 */ mul.s $f6, $f10, $f2
/* ACAE28 80053C88 46060200 */ add.s $f8, $f0, $f6
/* ACAE2C 80053C8C E7A80100 */ swc1 $f8, 0x100($sp)
/* ACAE30 80053C90 C6040014 */ lwc1 $f4, 0x14($s0)
/* ACAE34 80053C94 C62C0078 */ lwc1 $f12, 0x78($s1)
/* ACAE38 80053C98 460C2281 */ sub.s $f10, $f4, $f12
/* ACAE3C 80053C9C 46025182 */ mul.s $f6, $f10, $f2
/* ACAE40 80053CA0 46066200 */ add.s $f8, $f12, $f6
/* ACAE44 80053CA4 E7A80104 */ swc1 $f8, 0x104($sp)
/* ACAE48 80053CA8 C6040018 */ lwc1 $f4, 0x18($s0)
/* ACAE4C 80053CAC C62E007C */ lwc1 $f14, 0x7c($s1)
/* ACAE50 80053CB0 460E2281 */ sub.s $f10, $f4, $f14
/* ACAE54 80053CB4 46025182 */ mul.s $f6, $f10, $f2
/* ACAE58 80053CB8 46067200 */ add.s $f8, $f14, $f6
/* ACAE5C 80053CBC E7A80108 */ swc1 $f8, 0x108($sp)
/* ACAE60 80053CC0 8E180000 */ lw $t8, ($s0)
.L80053CC4:
/* ACAE64 80053CC4 C7AC0100 */ lwc1 $f12, 0x100($sp)
/* ACAE68 80053CC8 C62E0074 */ lwc1 $f14, 0x74($s1)
/* ACAE6C 80053CCC 3C073F80 */ lui $a3, 0x3f80
/* ACAE70 80053CD0 0C010E37 */ jal func_800438DC
/* ACAE74 80053CD4 8F06000C */ lw $a2, 0xc($t8)
/* ACAE78 80053CD8 E6200074 */ swc1 $f0, 0x74($s1)
/* ACAE7C 80053CDC 8E0A0000 */ lw $t2, ($s0)
/* ACAE80 80053CE0 C7AC0104 */ lwc1 $f12, 0x104($sp)
/* ACAE84 80053CE4 C62E0078 */ lwc1 $f14, 0x78($s1)
/* ACAE88 80053CE8 3C073F80 */ lui $a3, 0x3f80
/* ACAE8C 80053CEC 0C010E37 */ jal func_800438DC
/* ACAE90 80053CF0 8D46000C */ lw $a2, 0xc($t2)
/* ACAE94 80053CF4 E6200078 */ swc1 $f0, 0x78($s1)
/* ACAE98 80053CF8 8E0C0000 */ lw $t4, ($s0)
/* ACAE9C 80053CFC C7AC0108 */ lwc1 $f12, 0x108($sp)
/* ACAEA0 80053D00 C62E007C */ lwc1 $f14, 0x7c($s1)
/* ACAEA4 80053D04 3C073F80 */ lui $a3, 0x3f80
/* ACAEA8 80053D08 0C010E37 */ jal func_800438DC
/* ACAEAC 80053D0C 8D86000C */ lw $a2, 0xc($t4)
/* ACAEB0 80053D10 E620007C */ swc1 $f0, 0x7c($s1)
/* ACAEB4 80053D14 8E030000 */ lw $v1, ($s0)
glabel L80053D18
/* ACAEB8 80053D18 860D003C */ lh $t5, 0x3c($s0)
/* ACAEBC 80053D1C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ACAEC0 80053D20 44819000 */ mtc1 $at, $f18
/* ACAEC4 80053D24 448D2000 */ mtc1 $t5, $f4
/* ACAEC8 80053D28 C62E0050 */ lwc1 $f14, 0x50($s1)
/* ACAECC 80053D2C C6060004 */ lwc1 $f6, 4($s0)
/* ACAED0 80053D30 468022A0 */ cvt.s.w $f10, $f4
/* ACAED4 80053D34 C6200054 */ lwc1 $f0, 0x54($s1)
/* ACAED8 80053D38 44079000 */ mfc1 $a3, $f18
/* ACAEDC 80053D3C 460E3201 */ sub.s $f8, $f6, $f14
/* ACAEE0 80053D40 460A9083 */ div.s $f2, $f18, $f10
/* ACAEE4 80053D44 C60A0008 */ lwc1 $f10, 8($s0)
/* ACAEE8 80053D48 46005181 */ sub.s $f6, $f10, $f0
/* ACAEEC 80053D4C 46024102 */ mul.s $f4, $f8, $f2
/* ACAEF0 80053D50 00000000 */ nop
/* ACAEF4 80053D54 46023202 */ mul.s $f8, $f6, $f2
/* ACAEF8 80053D58 46047300 */ add.s $f12, $f14, $f4
/* ACAEFC 80053D5C 46080100 */ add.s $f4, $f0, $f8
/* ACAF00 80053D60 E7A40110 */ swc1 $f4, 0x110($sp)
/* ACAF04 80053D64 C60A000C */ lwc1 $f10, 0xc($s0)
/* ACAF08 80053D68 C6300058 */ lwc1 $f16, 0x58($s1)
/* ACAF0C 80053D6C 46105181 */ sub.s $f6, $f10, $f16
/* ACAF10 80053D70 46023202 */ mul.s $f8, $f6, $f2
/* ACAF14 80053D74 46088100 */ add.s $f4, $f16, $f8
/* ACAF18 80053D78 E7A40114 */ swc1 $f4, 0x114($sp)
/* ACAF1C 80053D7C 8C66000C */ lw $a2, 0xc($v1)
/* ACAF20 80053D80 0C010E37 */ jal func_800438DC
/* ACAF24 80053D84 E7A200F4 */ swc1 $f2, 0xf4($sp)
/* ACAF28 80053D88 E6200050 */ swc1 $f0, 0x50($s1)
/* ACAF2C 80053D8C 8E190000 */ lw $t9, ($s0)
/* ACAF30 80053D90 C7AC0110 */ lwc1 $f12, 0x110($sp)
/* ACAF34 80053D94 C62E0054 */ lwc1 $f14, 0x54($s1)
/* ACAF38 80053D98 3C073F80 */ lui $a3, 0x3f80
/* ACAF3C 80053D9C 0C010E37 */ jal func_800438DC
/* ACAF40 80053DA0 8F26000C */ lw $a2, 0xc($t9)
/* ACAF44 80053DA4 E6200054 */ swc1 $f0, 0x54($s1)
/* ACAF48 80053DA8 8E0B0000 */ lw $t3, ($s0)
/* ACAF4C 80053DAC C7AC0114 */ lwc1 $f12, 0x114($sp)
/* ACAF50 80053DB0 C62E0058 */ lwc1 $f14, 0x58($s1)
/* ACAF54 80053DB4 3C073F80 */ lui $a3, 0x3f80
/* ACAF58 80053DB8 0C010E37 */ jal func_800438DC
/* ACAF5C 80053DBC 8D66000C */ lw $a2, 0xc($t3)
/* ACAF60 80053DC0 C7A200F4 */ lwc1 $f2, 0xf4($sp)
/* ACAF64 80053DC4 E6200058 */ swc1 $f0, 0x58($s1)
/* ACAF68 80053DC8 C60A0028 */ lwc1 $f10, 0x28($s0)
/* ACAF6C 80053DCC C62E00FC */ lwc1 $f14, 0xfc($s1)
/* ACAF70 80053DD0 8E0E0000 */ lw $t6, ($s0)
/* ACAF74 80053DD4 3C073C23 */ lui $a3, (0x3C23D70A >> 16) # lui $a3, 0x3c23
/* ACAF78 80053DD8 460E5181 */ sub.s $f6, $f10, $f14
/* ACAF7C 80053DDC 34E7D70A */ ori $a3, (0x3C23D70A & 0xFFFF) # ori $a3, $a3, 0xd70a
/* ACAF80 80053DE0 8DC6000C */ lw $a2, 0xc($t6)
/* ACAF84 80053DE4 46023202 */ mul.s $f8, $f6, $f2
/* ACAF88 80053DE8 0C010E37 */ jal func_800438DC
/* ACAF8C 80053DEC 46087300 */ add.s $f12, $f14, $f8
/* ACAF90 80053DF0 E62000FC */ swc1 $f0, 0xfc($s1)
/* ACAF94 80053DF4 860F0034 */ lh $t7, 0x34($s0)
/* ACAF98 80053DF8 8625015A */ lh $a1, 0x15a($s1)
/* ACAF9C 80053DFC 860D003C */ lh $t5, 0x3c($s0)
/* ACAFA0 80053E00 8E0B0000 */ lw $t3, ($s0)
/* ACAFA4 80053E04 01E5C023 */ subu $t8, $t7, $a1
/* ACAFA8 80053E08 00185400 */ sll $t2, $t8, 0x10
/* ACAFAC 80053E0C 000A6403 */ sra $t4, $t2, 0x10
/* ACAFB0 80053E10 018D001A */ div $zero, $t4, $t5
/* ACAFB4 80053E14 0000C812 */ mflo $t9
/* ACAFB8 80053E18 00B92021 */ addu $a0, $a1, $t9
/* ACAFBC 80053E1C 00042400 */ sll $a0, $a0, 0x10
/* ACAFC0 80053E20 15A00002 */ bnez $t5, .L80053E2C
/* ACAFC4 80053E24 00000000 */ nop
/* ACAFC8 80053E28 0007000D */ break 7
.L80053E2C:
/* ACAFCC 80053E2C 2401FFFF */ li $at, -1
/* ACAFD0 80053E30 15A10004 */ bne $t5, $at, .L80053E44
/* ACAFD4 80053E34 3C018000 */ lui $at, 0x8000
/* ACAFD8 80053E38 15810002 */ bne $t4, $at, .L80053E44
/* ACAFDC 80053E3C 00000000 */ nop
/* ACAFE0 80053E40 0006000D */ break 6
.L80053E44:
/* ACAFE4 80053E44 00042403 */ sra $a0, $a0, 0x10
/* ACAFE8 80053E48 2407000A */ li $a3, 10
/* ACAFEC 80053E4C 0C010E6B */ jal func_800439AC
/* ACAFF0 80053E50 8D66000C */ lw $a2, 0xc($t3)
/* ACAFF4 80053E54 A622015A */ sh $v0, 0x15a($s1)
/* ACAFF8 80053E58 100000E0 */ b .L800541DC
/* ACAFFC 80053E5C 2626005C */ addiu $a2, $s1, 0x5c
glabel L80053E60
/* ACB000 80053E60 26070004 */ addiu $a3, $s0, 4
/* ACB004 80053E64 260E0010 */ addiu $t6, $s0, 0x10
/* ACB008 80053E68 AFAE0024 */ sw $t6, 0x24($sp)
/* ACB00C 80053E6C AFA70028 */ sw $a3, 0x28($sp)
/* ACB010 80053E70 27A400EC */ addiu $a0, $sp, 0xec
/* ACB014 80053E74 8FA50030 */ lw $a1, 0x30($sp)
/* ACB018 80053E78 0C01F124 */ jal OLib_Vec3fDiffToVecSphGeo
/* ACB01C 80053E7C 8FA60034 */ lw $a2, 0x34($sp)
/* ACB020 80053E80 8FA50028 */ lw $a1, 0x28($sp)
/* ACB024 80053E84 2604002C */ addiu $a0, $s0, 0x2c
/* ACB028 80053E88 0C01F124 */ jal OLib_Vec3fDiffToVecSphGeo
/* ACB02C 80053E8C 8FA60024 */ lw $a2, 0x24($sp)
/* ACB030 80053E90 8E0F0000 */ lw $t7, ($s0)
/* ACB034 80053E94 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* ACB038 80053E98 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ACB03C 80053E9C C60C002C */ lwc1 $f12, 0x2c($s0)
/* ACB040 80053EA0 C7AE00EC */ lwc1 $f14, 0xec($sp)
/* ACB044 80053EA4 0C010E27 */ jal func_8004389C
/* ACB048 80053EA8 8DE6000C */ lw $a2, 0xc($t7)
/* ACB04C 80053EAC E7A000E4 */ swc1 $f0, 0xe4($sp)
/* ACB050 80053EB0 8E180000 */ lw $t8, ($s0)
/* ACB054 80053EB4 86040030 */ lh $a0, 0x30($s0)
/* ACB058 80053EB8 87A500F0 */ lh $a1, 0xf0($sp)
/* ACB05C 80053EBC 24070001 */ li $a3, 1
/* ACB060 80053EC0 0C010E47 */ jal func_8004391C
/* ACB064 80053EC4 8F06000C */ lw $a2, 0xc($t8)
/* ACB068 80053EC8 A7A200E8 */ sh $v0, 0xe8($sp)
/* ACB06C 80053ECC 8E0A0000 */ lw $t2, ($s0)
/* ACB070 80053ED0 86040032 */ lh $a0, 0x32($s0)
/* ACB074 80053ED4 87A500F2 */ lh $a1, 0xf2($sp)
/* ACB078 80053ED8 24070001 */ li $a3, 1
/* ACB07C 80053EDC 0C010E47 */ jal func_8004391C
/* ACB080 80053EE0 8D46000C */ lw $a2, 0xc($t2)
/* ACB084 80053EE4 A7A200EA */ sh $v0, 0xea($sp)
/* ACB088 80053EE8 8FA40034 */ lw $a0, 0x34($sp)
/* ACB08C 80053EEC 8FA50030 */ lw $a1, 0x30($sp)
/* ACB090 80053EF0 0C010F0A */ jal func_80043C28
/* ACB094 80053EF4 27A600E4 */ addiu $a2, $sp, 0xe4
/* ACB098 80053EF8 10000016 */ b .L80053F54
/* ACB09C 80053EFC 8E030000 */ lw $v1, ($s0)
glabel L80053F00
/* ACB0A0 80053F00 C60C0010 */ lwc1 $f12, 0x10($s0)
/* ACB0A4 80053F04 C62E0074 */ lwc1 $f14, 0x74($s1)
/* ACB0A8 80053F08 8C66000C */ lw $a2, 0xc($v1)
/* ACB0AC 80053F0C 0C010E27 */ jal func_8004389C
/* ACB0B0 80053F10 3C073F80 */ lui $a3, 0x3f80
/* ACB0B4 80053F14 E6200074 */ swc1 $f0, 0x74($s1)
/* ACB0B8 80053F18 8E0C0000 */ lw $t4, ($s0)
/* ACB0BC 80053F1C C60C0014 */ lwc1 $f12, 0x14($s0)
/* ACB0C0 80053F20 C62E0078 */ lwc1 $f14, 0x78($s1)
/* ACB0C4 80053F24 3C073F80 */ lui $a3, 0x3f80
/* ACB0C8 80053F28 0C010E27 */ jal func_8004389C
/* ACB0CC 80053F2C 8D86000C */ lw $a2, 0xc($t4)
/* ACB0D0 80053F30 E6200078 */ swc1 $f0, 0x78($s1)
/* ACB0D4 80053F34 8E0D0000 */ lw $t5, ($s0)
/* ACB0D8 80053F38 C60C0018 */ lwc1 $f12, 0x18($s0)
/* ACB0DC 80053F3C C62E007C */ lwc1 $f14, 0x7c($s1)
/* ACB0E0 80053F40 3C073F80 */ lui $a3, 0x3f80
/* ACB0E4 80053F44 0C010E27 */ jal func_8004389C
/* ACB0E8 80053F48 8DA6000C */ lw $a2, 0xc($t5)
/* ACB0EC 80053F4C E620007C */ swc1 $f0, 0x7c($s1)
/* ACB0F0 80053F50 8E030000 */ lw $v1, ($s0)
glabel L80053F54
.L80053F54:
/* ACB0F4 80053F54 C60C0004 */ lwc1 $f12, 4($s0)
/* ACB0F8 80053F58 C62E0050 */ lwc1 $f14, 0x50($s1)
/* ACB0FC 80053F5C 8C66000C */ lw $a2, 0xc($v1)
/* ACB100 80053F60 0C010E27 */ jal func_8004389C
/* ACB104 80053F64 3C073F80 */ lui $a3, 0x3f80
/* ACB108 80053F68 E6200050 */ swc1 $f0, 0x50($s1)
/* ACB10C 80053F6C 8E190000 */ lw $t9, ($s0)
/* ACB110 80053F70 C60C0008 */ lwc1 $f12, 8($s0)
/* ACB114 80053F74 C62E0054 */ lwc1 $f14, 0x54($s1)
/* ACB118 80053F78 3C073F80 */ lui $a3, 0x3f80
/* ACB11C 80053F7C 0C010E27 */ jal func_8004389C
/* ACB120 80053F80 8F26000C */ lw $a2, 0xc($t9)
/* ACB124 80053F84 E6200054 */ swc1 $f0, 0x54($s1)
/* ACB128 80053F88 8E0B0000 */ lw $t3, ($s0)
/* ACB12C 80053F8C C60C000C */ lwc1 $f12, 0xc($s0)
/* ACB130 80053F90 C62E0058 */ lwc1 $f14, 0x58($s1)
/* ACB134 80053F94 3C073F80 */ lui $a3, 0x3f80
/* ACB138 80053F98 0C010E27 */ jal func_8004389C
/* ACB13C 80053F9C 8D66000C */ lw $a2, 0xc($t3)
/* ACB140 80053FA0 E6200058 */ swc1 $f0, 0x58($s1)
/* ACB144 80053FA4 8E0E0000 */ lw $t6, ($s0)
/* ACB148 80053FA8 C60C0028 */ lwc1 $f12, 0x28($s0)
/* ACB14C 80053FAC C62E00FC */ lwc1 $f14, 0xfc($s1)
/* ACB150 80053FB0 3C073F80 */ lui $a3, 0x3f80
/* ACB154 80053FB4 0C010E27 */ jal func_8004389C
/* ACB158 80053FB8 8DC6000C */ lw $a2, 0xc($t6)
/* ACB15C 80053FBC E62000FC */ swc1 $f0, 0xfc($s1)
/* ACB160 80053FC0 8E0F0000 */ lw $t7, ($s0)
/* ACB164 80053FC4 86040034 */ lh $a0, 0x34($s0)
/* ACB168 80053FC8 8625015A */ lh $a1, 0x15a($s1)
/* ACB16C 80053FCC 24070001 */ li $a3, 1
/* ACB170 80053FD0 0C010E47 */ jal func_8004391C
/* ACB174 80053FD4 8DE6000C */ lw $a2, 0xc($t7)
/* ACB178 80053FD8 A622015A */ sh $v0, 0x15a($s1)
/* ACB17C 80053FDC 1000007F */ b .L800541DC
/* ACB180 80053FE0 2626005C */ addiu $a2, $s1, 0x5c
glabel L80053FE4
/* ACB184 80053FE4 C60C0004 */ lwc1 $f12, 4($s0)
/* ACB188 80053FE8 C62E0050 */ lwc1 $f14, 0x50($s1)
/* ACB18C 80053FEC 8C66000C */ lw $a2, 0xc($v1)
/* ACB190 80053FF0 0C010E27 */ jal func_8004389C
/* ACB194 80053FF4 3C073F80 */ lui $a3, 0x3f80
/* ACB198 80053FF8 E6200050 */ swc1 $f0, 0x50($s1)
/* ACB19C 80053FFC 8E180000 */ lw $t8, ($s0)
/* ACB1A0 80054000 C62400F4 */ lwc1 $f4, 0xf4($s1)
/* ACB1A4 80054004 C6280054 */ lwc1 $f8, 0x54($s1)
/* ACB1A8 80054008 C70A000C */ lwc1 $f10, 0xc($t8)
/* ACB1AC 8005400C C62E0058 */ lwc1 $f14, 0x58($s1)
/* ACB1B0 80054010 3C073F80 */ lui $a3, 0x3f80
/* ACB1B4 80054014 460A2182 */ mul.s $f6, $f4, $f10
/* ACB1B8 80054018 46064100 */ add.s $f4, $f8, $f6
/* ACB1BC 8005401C E6240054 */ swc1 $f4, 0x54($s1)
/* ACB1C0 80054020 8E0A0000 */ lw $t2, ($s0)
/* ACB1C4 80054024 C60C000C */ lwc1 $f12, 0xc($s0)
/* ACB1C8 80054028 0C010E27 */ jal func_8004389C
/* ACB1CC 8005402C 8D46000C */ lw $a2, 0xc($t2)
/* ACB1D0 80054030 E6200058 */ swc1 $f0, 0x58($s1)
/* ACB1D4 80054034 8FA60034 */ lw $a2, 0x34($sp)
/* ACB1D8 80054038 8FA50030 */ lw $a1, 0x30($sp)
/* ACB1DC 8005403C 0C01F124 */ jal OLib_Vec3fDiffToVecSphGeo
/* ACB1E0 80054040 27A400E4 */ addiu $a0, $sp, 0xe4
/* ACB1E4 80054044 8E0C0000 */ lw $t4, ($s0)
/* ACB1E8 80054048 3C018014 */ lui $at, %hi(D_8013A2B4)
/* ACB1EC 8005404C C428A2B4 */ lwc1 $f8, %lo(D_8013A2B4)($at)
/* ACB1F0 80054050 C58A0020 */ lwc1 $f10, 0x20($t4)
/* ACB1F4 80054054 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACB1F8 80054058 44812000 */ mtc1 $at, $f4
/* ACB1FC 8005405C 46085182 */ mul.s $f6, $f10, $f8
/* ACB200 80054060 87AF00EA */ lh $t7, 0xea($sp)
/* ACB204 80054064 87AA00E8 */ lh $t2, 0xe8($sp)
/* ACB208 80054068 240C3A98 */ li $t4, 15000
/* ACB20C 8005406C 2419C568 */ li $t9, -15000
/* ACB210 80054070 29413A99 */ slti $at, $t2, 0x3a99
/* ACB214 80054074 3C073F80 */ lui $a3, 0x3f80
/* ACB218 80054078 46043280 */ add.s $f10, $f6, $f4
/* ACB21C 8005407C 4600520D */ trunc.w.s $f8, $f10
/* ACB220 80054080 440E4000 */ mfc1 $t6, $f8
/* ACB224 80054084 00000000 */ nop
/* ACB228 80054088 01EEC021 */ addu $t8, $t7, $t6
/* ACB22C 8005408C 14200002 */ bnez $at, .L80054098
/* ACB230 80054090 A7B800EA */ sh $t8, 0xea($sp)
/* ACB234 80054094 A7AC00E8 */ sh $t4, 0xe8($sp)
.L80054098:
/* ACB238 80054098 87AD00E8 */ lh $t5, 0xe8($sp)
/* ACB23C 8005409C 29A1C568 */ slti $at, $t5, -0x3a98
/* ACB240 800540A0 50200003 */ beql $at, $zero, .L800540B0
/* ACB244 800540A4 8E030000 */ lw $v1, ($s0)
/* ACB248 800540A8 A7B900E8 */ sh $t9, 0xe8($sp)
/* ACB24C 800540AC 8E030000 */ lw $v1, ($s0)
.L800540B0:
/* ACB250 800540B0 C7A600E4 */ lwc1 $f6, 0xe4($sp)
/* ACB254 800540B4 C7AE00E4 */ lwc1 $f14, 0xe4($sp)
/* ACB258 800540B8 C46C0024 */ lwc1 $f12, 0x24($v1)
/* ACB25C 800540BC 460C303C */ c.lt.s $f6, $f12
/* ACB260 800540C0 00000000 */ nop
/* ACB264 800540C4 45030005 */ bc1tl .L800540DC
/* ACB268 800540C8 8FA40034 */ lw $a0, 0x34($sp)
/* ACB26C 800540CC 0C010E27 */ jal func_8004389C
/* ACB270 800540D0 8C66000C */ lw $a2, 0xc($v1)
/* ACB274 800540D4 E7A000E4 */ swc1 $f0, 0xe4($sp)
/* ACB278 800540D8 8FA40034 */ lw $a0, 0x34($sp)
.L800540DC:
/* ACB27C 800540DC 8FA50030 */ lw $a1, 0x30($sp)
/* ACB280 800540E0 0C010F0A */ jal func_80043C28
/* ACB284 800540E4 27A600E4 */ addiu $a2, $sp, 0xe4
/* ACB288 800540E8 860B003C */ lh $t3, 0x3c($s0)
/* ACB28C 800540EC 8E030000 */ lw $v1, ($s0)
/* ACB290 800540F0 C62E00FC */ lwc1 $f14, 0xfc($s1)
/* ACB294 800540F4 448B4000 */ mtc1 $t3, $f8
/* ACB298 800540F8 C4640008 */ lwc1 $f4, 8($v1)
/* ACB29C 800540FC 3C073F80 */ lui $a3, 0x3f80
/* ACB2A0 80054100 468041A0 */ cvt.s.w $f6, $f8
/* ACB2A4 80054104 8C66000C */ lw $a2, 0xc($v1)
/* ACB2A8 80054108 460E2281 */ sub.s $f10, $f4, $f14
/* ACB2AC 8005410C 46065103 */ div.s $f4, $f10, $f6
/* ACB2B0 80054110 0C010E27 */ jal func_8004389C
/* ACB2B4 80054114 46047300 */ add.s $f12, $f14, $f4
/* ACB2B8 80054118 E62000FC */ swc1 $f0, 0xfc($s1)
/* ACB2BC 8005411C 8E0F0000 */ lw $t7, ($s0)
/* ACB2C0 80054120 86040034 */ lh $a0, 0x34($s0)
/* ACB2C4 80054124 8625015A */ lh $a1, 0x15a($s1)
/* ACB2C8 80054128 24070001 */ li $a3, 1
/* ACB2CC 8005412C 0C010E47 */ jal func_8004391C
/* ACB2D0 80054130 8DE6000C */ lw $a2, 0xc($t7)
/* ACB2D4 80054134 A622015A */ sh $v0, 0x15a($s1)
/* ACB2D8 80054138 10000028 */ b .L800541DC
/* ACB2DC 8005413C 2626005C */ addiu $a2, $s1, 0x5c
glabel L80054140
/* ACB2E0 80054140 860E0034 */ lh $t6, 0x34($s0)
/* ACB2E4 80054144 2626005C */ addiu $a2, $s1, 0x5c
/* ACB2E8 80054148 10000024 */ b .L800541DC
/* ACB2EC 8005414C A60E0036 */ sh $t6, 0x36($s0)
glabel L80054150
/* ACB2F0 80054150 86220162 */ lh $v0, 0x162($s1)
/* ACB2F4 80054154 00002825 */ move $a1, $zero
/* ACB2F8 80054158 04410003 */ bgez $v0, .L80054168
/* ACB2FC 8005415C 00401825 */ move $v1, $v0
/* ACB300 80054160 10000001 */ b .L80054168
/* ACB304 80054164 00001825 */ move $v1, $zero
.L80054168:
/* ACB308 80054168 8E38008C */ lw $t8, 0x8c($s1)
/* ACB30C 8005416C 00035080 */ sll $t2, $v1, 2
/* ACB310 80054170 24060001 */ li $a2, 1
/* ACB314 80054174 030A6021 */ addu $t4, $t8, $t2
/* ACB318 80054178 0C016813 */ jal Camera_ChangeMode
/* ACB31C 8005417C 8D840790 */ lw $a0, 0x790($t4)
glabel L80054180
/* ACB320 80054180 86220162 */ lh $v0, 0x162($s1)
/* ACB324 80054184 8FAF0034 */ lw $t7, 0x34($sp)
/* ACB328 80054188 04410003 */ bgez $v0, .L80054198
/* ACB32C 8005418C 00401825 */ move $v1, $v0
/* ACB330 80054190 10000001 */ b .L80054198
/* ACB334 80054194 00001825 */ move $v1, $zero
.L80054198:
/* ACB338 80054198 8E2D008C */ lw $t5, 0x8c($s1)
/* ACB33C 8005419C 8DF80000 */ lw $t8, ($t7)
/* ACB340 800541A0 0003C880 */ sll $t9, $v1, 2
/* ACB344 800541A4 01B95821 */ addu $t3, $t5, $t9
/* ACB348 800541A8 8D640790 */ lw $a0, 0x790($t3)
/* ACB34C 800541AC AE38005C */ sw $t8, 0x5c($s1)
/* ACB350 800541B0 8DEE0004 */ lw $t6, 4($t7)
/* ACB354 800541B4 02202825 */ move $a1, $s1
/* ACB358 800541B8 AE2E0060 */ sw $t6, 0x60($s1)
/* ACB35C 800541BC 8DF80008 */ lw $t8, 8($t7)
/* ACB360 800541C0 0C016B99 */ jal func_8005AE64
/* ACB364 800541C4 AE380064 */ sw $t8, 0x64($s1)
glabel L800541C8
.L800541C8:
/* ACB368 800541C8 862A0164 */ lh $t2, 0x164($s1)
/* ACB36C 800541CC 2626005C */ addiu $a2, $s1, 0x5c
/* ACB370 800541D0 51400003 */ beql $t2, $zero, .L800541E0
/* ACB374 800541D4 8FAC0034 */ lw $t4, 0x34($sp)
/* ACB378 800541D8 A6200160 */ sh $zero, 0x160($s1)
.L800541DC:
/* ACB37C 800541DC 8FAC0034 */ lw $t4, 0x34($sp)
.L800541E0:
/* ACB380 800541E0 02202025 */ move $a0, $s1
/* ACB384 800541E4 8D990000 */ lw $t9, ($t4)
/* ACB388 800541E8 ACD90000 */ sw $t9, ($a2)
/* ACB38C 800541EC 8D8D0004 */ lw $t5, 4($t4)
/* ACB390 800541F0 ACCD0004 */ sw $t5, 4($a2)
/* ACB394 800541F4 8D990008 */ lw $t9, 8($t4)
/* ACB398 800541F8 ACD90008 */ sw $t9, 8($a2)
/* ACB39C 800541FC 8E0B0000 */ lw $t3, ($s0)
/* ACB3A0 80054200 8FA50030 */ lw $a1, 0x30($sp)
/* ACB3A4 80054204 91630000 */ lbu $v1, ($t3)
/* ACB3A8 80054208 306F0080 */ andi $t7, $v1, 0x80
/* ACB3AC 8005420C 51E00007 */ beql $t7, $zero, .L8005422C
/* ACB3B0 80054210 30780040 */ andi $t8, $v1, 0x40
/* ACB3B4 80054214 0C010FCD */ jal func_80043F34
/* ACB3B8 80054218 AFA6002C */ sw $a2, 0x2c($sp)
/* ACB3BC 8005421C 8E0E0000 */ lw $t6, ($s0)
/* ACB3C0 80054220 8FA6002C */ lw $a2, 0x2c($sp)
/* ACB3C4 80054224 91C30000 */ lbu $v1, ($t6)
/* ACB3C8 80054228 30780040 */ andi $t8, $v1, 0x40
.L8005422C:
/* ACB3CC 8005422C 13000014 */ beqz $t8, .L80054280
/* ACB3D0 80054230 00C02825 */ move $a1, $a2
/* ACB3D4 80054234 C608001C */ lwc1 $f8, 0x1c($s0)
/* ACB3D8 80054238 8E2A0090 */ lw $t2, 0x90($s1)
/* ACB3DC 8005423C E5480024 */ swc1 $f8, 0x24($t2)
/* ACB3E0 80054240 8E2C0090 */ lw $t4, 0x90($s1)
/* ACB3E4 80054244 C60A0024 */ lwc1 $f10, 0x24($s0)
/* ACB3E8 80054248 E58A002C */ swc1 $f10, 0x2c($t4)
/* ACB3EC 8005424C 8E220090 */ lw $v0, 0x90($s1)
/* ACB3F0 80054250 8FAB0088 */ lw $t3, 0x88($sp)
/* ACB3F4 80054254 8C4D067C */ lw $t5, 0x67c($v0)
/* ACB3F8 80054258 000DC900 */ sll $t9, $t5, 4
/* ACB3FC 8005425C 0723000F */ bgezl $t9, .L8005429C
/* ACB400 80054260 860E0038 */ lh $t6, 0x38($s0)
/* ACB404 80054264 816F014F */ lb $t7, 0x14f($t3)
/* ACB408 80054268 24010001 */ li $at, 1
/* ACB40C 8005426C 51E1000B */ beql $t7, $at, .L8005429C
/* ACB410 80054270 860E0038 */ lh $t6, 0x38($s0)
/* ACB414 80054274 C6060020 */ lwc1 $f6, 0x20($s0)
/* ACB418 80054278 10000007 */ b .L80054298
/* ACB41C 8005427C E4460028 */ swc1 $f6, 0x28($v0)
.L80054280:
/* ACB420 80054280 C7A40098 */ lwc1 $f4, 0x98($sp)
/* ACB424 80054284 E604001C */ swc1 $f4, 0x1c($s0)
/* ACB428 80054288 C7A8009C */ lwc1 $f8, 0x9c($sp)
/* ACB42C 8005428C E6080020 */ swc1 $f8, 0x20($s0)
/* ACB430 80054290 C7AA00A0 */ lwc1 $f10, 0xa0($sp)
/* ACB434 80054294 E60A0024 */ swc1 $f10, 0x24($s0)
.L80054298:
/* ACB438 80054298 860E0038 */ lh $t6, 0x38($s0)
.L8005429C:
/* ACB43C 8005429C 55C00006 */ bnezl $t6, .L800542B8
/* ACB440 800542A0 8E2A0090 */ lw $t2, 0x90($s1)
/* ACB444 800542A4 86220160 */ lh $v0, 0x160($s1)
/* ACB448 800542A8 18400002 */ blez $v0, .L800542B4
/* ACB44C 800542AC 2458FFFF */ addiu $t8, $v0, -1
/* ACB450 800542B0 A6380160 */ sh $t8, 0x160($s1)
.L800542B4:
/* ACB454 800542B4 8E2A0090 */ lw $t2, 0x90($s1)
.L800542B8:
/* ACB458 800542B8 1140000D */ beqz $t2, .L800542F0
/* ACB45C 800542BC 00000000 */ nop
/* ACB460 800542C0 C6260050 */ lwc1 $f6, 0x50($s1)
/* ACB464 800542C4 C6240094 */ lwc1 $f4, 0x94($s1)
/* ACB468 800542C8 C62A0054 */ lwc1 $f10, 0x54($s1)
/* ACB46C 800542CC 46043201 */ sub.s $f8, $f6, $f4
/* ACB470 800542D0 C6260098 */ lwc1 $f6, 0x98($s1)
/* ACB474 800542D4 46065101 */ sub.s $f4, $f10, $f6
/* ACB478 800542D8 E62800E4 */ swc1 $f8, 0xe4($s1)
/* ACB47C 800542DC C6280058 */ lwc1 $f8, 0x58($s1)
/* ACB480 800542E0 C62A009C */ lwc1 $f10, 0x9c($s1)
/* ACB484 800542E4 E62400E8 */ swc1 $f4, 0xe8($s1)
/* ACB488 800542E8 460A4181 */ sub.s $f6, $f8, $f10
/* ACB48C 800542EC E62600EC */ swc1 $f6, 0xec($s1)
.L800542F0:
/* ACB490 800542F0 0C01EFE4 */ jal OLib_Vec3fDist
/* ACB494 800542F4 8FA40030 */ lw $a0, 0x30($sp)
/* ACB498 800542F8 E62000DC */ swc1 $f0, 0xdc($s1)
/* ACB49C 800542FC 24020001 */ li $v0, 1
.L80054300:
/* ACB4A0 80054300 8FBF001C */ lw $ra, 0x1c($sp)
/* ACB4A4 80054304 8FB00014 */ lw $s0, 0x14($sp)
/* ACB4A8 80054308 8FB10018 */ lw $s1, 0x18($sp)
/* ACB4AC 8005430C 03E00008 */ jr $ra
/* ACB4B0 80054310 27BD0118 */ addiu $sp, $sp, 0x118