prime/asm/MetroidPrime/Cameras/CCameraManager.s

4052 lines
200 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.balign 8
.global lbl_803D8EA8
lbl_803D8EA8:
# ROM: 0x3D5EA8
.4byte 0
.4byte 0
.4byte __dt__22CCameraShakerComponentFv
.4byte 0
.section .sdata2
.balign 8
.global lbl_805A9D88
lbl_805A9D88:
# ROM: 0x3F6628
.double 1.0
.global lbl_805A9D90
lbl_805A9D90:
# ROM: 0x3F6630
.float -1.0
.global lbl_805A9D94
lbl_805A9D94:
# ROM: 0x3F6634
.float 1.0
.global lbl_805A9D98
lbl_805A9D98:
# ROM: 0x3F6638
.4byte 0x3FE0C152
.float 2.0
.global lbl_805A9DA0
lbl_805A9DA0:
# ROM: 0x3F6640
.4byte 0
.global lbl_805A9DA4
lbl_805A9DA4:
# ROM: 0x3F6644
.float 0.5
.global lbl_805A9DA8
lbl_805A9DA8:
# ROM: 0x3F6648
.4byte 0x42C80000
.global lbl_805A9DAC
lbl_805A9DAC:
# ROM: 0x3F664C
.4byte 0x41100000
.global lbl_805A9DB0
lbl_805A9DB0:
# ROM: 0x3F6650
.float 4.0
.global lbl_805A9DB4
lbl_805A9DB4:
# ROM: 0x3F6654
.4byte 0x42480000
.global lbl_805A9DB8
lbl_805A9DB8:
# ROM: 0x3F6658
.4byte 0x447A0000
.4byte 0
.global lbl_805A9DC0
lbl_805A9DC0:
# ROM: 0x3F6660
.double 4.503601774854144E15
.section .sdata
.balign 8
.global lbl_805A6BD0
lbl_805A6BD0:
# ROM: 0x3F4570
.4byte 0x425C0000
.global lbl_805A6BD4
lbl_805A6BD4:
# ROM: 0x3F4574
.4byte 0x42700000
.global lbl_805A6BD8
lbl_805A6BD8:
# ROM: 0x3F4578
.float 0.2
.global lbl_805A6BDC
lbl_805A6BDC:
# ROM: 0x3F457C
.4byte 0x443B8000
.global lbl_805A6BE0
lbl_805A6BE0:
# ROM: 0x3F4580
.4byte 0x3FB5C28F
.global lbl_805A6BE4
lbl_805A6BE4:
# ROM: 0x3F4584
.4byte 0x42C80000
.global lbl_805A6BE8
lbl_805A6BE8:
# ROM: 0x3F4588
.4byte 0x42FE0000
.4byte 0
.section .rodata
.balign 8
.global lbl_803CC028
lbl_803CC028:
# ROM: 0x3C9028
.asciz "??(??)"
.balign 4
.section .text, "ax"
.global GetCameraBobMagnitude__14CCameraManagerCFv
GetCameraBobMagnitude__14CCameraManagerCFv:
/* 80009148 000060A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000914C 000060AC 7C 08 02 A6 */ mflr r0
/* 80009150 000060B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80009154 000060B4 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 80009158 000060B8 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 8000915C 000060BC 80 83 00 7C */ lwz r4, 0x7c(r3)
/* 80009160 000060C0 3C 60 80 5A */ lis r3, lbl_805A66F4@ha
/* 80009164 000060C4 38 63 66 F4 */ addi r3, r3, lbl_805A66F4@l
/* 80009168 000060C8 C8 02 80 68 */ lfd f0, lbl_805A9D88@sda21(r2)
/* 8000916C 000060CC C0 44 00 48 */ lfs f2, 0x48(r4)
/* 80009170 000060D0 C0 23 00 04 */ lfs f1, 4(r3)
/* 80009174 000060D4 C0 64 00 38 */ lfs f3, 0x38(r4)
/* 80009178 000060D8 EC 22 00 72 */ fmuls f1, f2, f1
/* 8000917C 000060DC C0 43 00 00 */ lfs f2, 0(r3)
/* 80009180 000060E0 C0 A4 00 58 */ lfs f5, 0x58(r4)
/* 80009184 000060E4 C0 83 00 08 */ lfs f4, 8(r3)
/* 80009188 000060E8 EC 23 08 BA */ fmadds f1, f3, f2, f1
/* 8000918C 000060EC EC 45 09 3A */ fmadds f2, f5, f4, f1
/* 80009190 000060F0 FC 20 12 10 */ fabs f1, f2
/* 80009194 000060F4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80009198 000060F8 40 81 00 14 */ ble lbl_800091AC
/* 8000919C 000060FC C0 02 80 70 */ lfs f0, lbl_805A9D90@sda21(r2)
/* 800091A0 00006100 C0 22 80 74 */ lfs f1, lbl_805A9D94@sda21(r2)
/* 800091A4 00006104 FC 02 00 6E */ fsel f0, f2, f1, f0
/* 800091A8 00006108 EC 41 00 32 */ fmuls f2, f1, f0
lbl_800091AC:
/* 800091AC 0000610C FF E0 12 10 */ fabs f31, f2
/* 800091B0 00006110 C8 22 80 78 */ lfd f1, lbl_805A9D98@sda21(r2)
/* 800091B4 00006114 48 38 B2 3D */ bl cos
/* 800091B8 00006118 FC 40 08 18 */ frsp f2, f1
/* 800091BC 0000611C C8 02 80 68 */ lfd f0, lbl_805A9D88@sda21(r2)
/* 800091C0 00006120 FC 20 F8 18 */ frsp f1, f31
/* 800091C4 00006124 EC 41 10 24 */ fdivs f2, f1, f2
/* 800091C8 00006128 FC 20 12 10 */ fabs f1, f2
/* 800091CC 0000612C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800091D0 00006130 40 81 00 14 */ ble lbl_800091E4
/* 800091D4 00006134 C0 02 80 70 */ lfs f0, lbl_805A9D90@sda21(r2)
/* 800091D8 00006138 C0 22 80 74 */ lfs f1, lbl_805A9D94@sda21(r2)
/* 800091DC 0000613C FC 02 00 6E */ fsel f0, f2, f1, f0
/* 800091E0 00006140 EC 41 00 32 */ fmuls f2, f1, f0
lbl_800091E4:
/* 800091E4 00006144 C0 02 80 74 */ lfs f0, lbl_805A9D94@sda21(r2)
/* 800091E8 00006148 EC 20 10 28 */ fsubs f1, f0, f2
/* 800091EC 0000614C E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 800091F0 00006150 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800091F4 00006154 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 800091F8 00006158 7C 08 03 A6 */ mtlr r0
/* 800091FC 0000615C 38 21 00 20 */ addi r1, r1, 0x20
/* 80009200 00006160 4E 80 00 20 */ blr
.global GetSpindleCameraId__14CCameraManagerCFv
GetSpindleCameraId__14CCameraManagerCFv:
/* 80009204 00006164 A0 04 00 A2 */ lhz r0, 0xa2(r4)
/* 80009208 00006168 B0 03 00 00 */ sth r0, 0(r3)
/* 8000920C 0000616C 4E 80 00 20 */ blr
.global SetSpindleCamera__14CCameraManagerF9TUniqueIdR13CStateManager
SetSpindleCamera__14CCameraManagerF9TUniqueIdR13CStateManager:
/* 80009210 00006170 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80009214 00006174 7C 08 02 A6 */ mflr r0
/* 80009218 00006178 90 01 00 64 */ stw r0, 0x64(r1)
/* 8000921C 0000617C 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80009220 00006180 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80009224 00006184 7C BE 2B 78 */ mr r30, r5
/* 80009228 00006188 93 A1 00 54 */ stw r29, 0x54(r1)
/* 8000922C 0000618C 7C 7D 1B 78 */ mr r29, r3
/* 80009230 00006190 A0 04 00 00 */ lhz r0, 0(r4)
/* 80009234 00006194 B0 03 00 A2 */ sth r0, 0xa2(r3)
/* 80009238 00006198 7F C3 F3 78 */ mr r3, r30
/* 8000923C 0000619C A0 04 00 00 */ lhz r0, 0(r4)
/* 80009240 000061A0 38 81 00 08 */ addi r4, r1, 8
/* 80009244 000061A4 B0 01 00 08 */ sth r0, 8(r1)
/* 80009248 000061A8 48 04 33 2D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8000924C 000061AC 7C 64 1B 78 */ mr r4, r3
/* 80009250 000061B0 38 61 00 0C */ addi r3, r1, 0xc
/* 80009254 000061B4 48 09 CC D1 */ bl "__ct__34TCastToPtr<20CScriptSpindleCamera>FP7CEntity"
/* 80009258 000061B8 83 E3 00 04 */ lwz r31, 4(r3)
/* 8000925C 000061BC 28 1F 00 00 */ cmplwi r31, 0
/* 80009260 000061C0 41 82 00 40 */ beq lbl_800092A0
/* 80009264 000061C4 7F A4 EB 78 */ mr r4, r29
/* 80009268 000061C8 7F C5 F3 78 */ mr r5, r30
/* 8000926C 000061CC 38 61 00 14 */ addi r3, r1, 0x14
/* 80009270 000061D0 48 00 16 F9 */ bl GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager
/* 80009274 000061D4 7F E3 FB 78 */ mr r3, r31
/* 80009278 000061D8 7F C5 F3 78 */ mr r5, r30
/* 8000927C 000061DC 81 9F 00 00 */ lwz r12, 0(r31)
/* 80009280 000061E0 38 81 00 14 */ addi r4, r1, 0x14
/* 80009284 000061E4 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 80009288 000061E8 7D 89 03 A6 */ mtctr r12
/* 8000928C 000061EC 4E 80 04 21 */ bctrl
/* 80009290 000061F0 80 7D 00 80 */ lwz r3, 0x80(r29)
/* 80009294 000061F4 7F C5 F3 78 */ mr r5, r30
/* 80009298 000061F8 38 9F 00 34 */ addi r4, r31, 0x34
/* 8000929C 000061FC 48 08 37 5D */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager
lbl_800092A0:
/* 800092A0 00006200 80 01 00 64 */ lwz r0, 0x64(r1)
/* 800092A4 00006204 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 800092A8 00006208 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 800092AC 0000620C 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 800092B0 00006210 7C 08 03 A6 */ mtlr r0
/* 800092B4 00006214 38 21 00 60 */ addi r1, r1, 0x60
/* 800092B8 00006218 4E 80 00 20 */ blr
.global GetPathCameraId__14CCameraManagerCFv
GetPathCameraId__14CCameraManagerCFv:
/* 800092BC 0000621C A0 04 00 A4 */ lhz r0, 0xa4(r4)
/* 800092C0 00006220 B0 03 00 00 */ sth r0, 0(r3)
/* 800092C4 00006224 4E 80 00 20 */ blr
.global SetPathCamera__14CCameraManagerF9TUniqueIdR13CStateManager
SetPathCamera__14CCameraManagerF9TUniqueIdR13CStateManager:
/* 800092C8 00006228 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 800092CC 0000622C 7C 08 02 A6 */ mflr r0
/* 800092D0 00006230 90 01 00 64 */ stw r0, 0x64(r1)
/* 800092D4 00006234 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 800092D8 00006238 93 C1 00 58 */ stw r30, 0x58(r1)
/* 800092DC 0000623C 7C BE 2B 78 */ mr r30, r5
/* 800092E0 00006240 93 A1 00 54 */ stw r29, 0x54(r1)
/* 800092E4 00006244 7C 7D 1B 78 */ mr r29, r3
/* 800092E8 00006248 A0 04 00 00 */ lhz r0, 0(r4)
/* 800092EC 0000624C B0 03 00 A4 */ sth r0, 0xa4(r3)
/* 800092F0 00006250 7F C3 F3 78 */ mr r3, r30
/* 800092F4 00006254 A0 04 00 00 */ lhz r0, 0(r4)
/* 800092F8 00006258 38 81 00 08 */ addi r4, r1, 8
/* 800092FC 0000625C B0 01 00 08 */ sth r0, 8(r1)
/* 80009300 00006260 48 04 32 75 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80009304 00006264 7C 64 1B 78 */ mr r4, r3
/* 80009308 00006268 38 61 00 0C */ addi r3, r1, 0xc
/* 8000930C 0000626C 48 0A 3A C9 */ bl "__ct__25TCastToPtr<11CPathCamera>FP7CEntity"
/* 80009310 00006270 83 E3 00 04 */ lwz r31, 4(r3)
/* 80009314 00006274 28 1F 00 00 */ cmplwi r31, 0
/* 80009318 00006278 41 82 00 40 */ beq lbl_80009358
/* 8000931C 0000627C 7F A4 EB 78 */ mr r4, r29
/* 80009320 00006280 7F C5 F3 78 */ mr r5, r30
/* 80009324 00006284 38 61 00 14 */ addi r3, r1, 0x14
/* 80009328 00006288 48 00 16 41 */ bl GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager
/* 8000932C 0000628C 7F E3 FB 78 */ mr r3, r31
/* 80009330 00006290 7F C5 F3 78 */ mr r5, r30
/* 80009334 00006294 81 9F 00 00 */ lwz r12, 0(r31)
/* 80009338 00006298 38 81 00 14 */ addi r4, r1, 0x14
/* 8000933C 0000629C 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 80009340 000062A0 7D 89 03 A6 */ mtctr r12
/* 80009344 000062A4 4E 80 04 21 */ bctrl
/* 80009348 000062A8 80 7D 00 80 */ lwz r3, 0x80(r29)
/* 8000934C 000062AC 7F C5 F3 78 */ mr r5, r30
/* 80009350 000062B0 38 9F 00 34 */ addi r4, r31, 0x34
/* 80009354 000062B4 48 08 36 A5 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager
lbl_80009358:
/* 80009358 000062B8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8000935C 000062BC 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80009360 000062C0 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80009364 000062C4 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 80009368 000062C8 7C 08 03 A6 */ mtlr r0
/* 8000936C 000062CC 38 21 00 60 */ addi r1, r1, 0x60
/* 80009370 000062D0 4E 80 00 20 */ blr
.global HasCameraHint__14CCameraManagerCFR13CStateManager
HasCameraHint__14CCameraManagerCFR13CStateManager:
/* 80009374 000062D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80009378 000062D8 7C 08 02 A6 */ mflr r0
/* 8000937C 000062DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80009380 000062E0 80 03 00 AC */ lwz r0, 0xac(r3)
/* 80009384 000062E4 2C 00 00 00 */ cmpwi r0, 0
/* 80009388 000062E8 41 82 00 34 */ beq lbl_800093BC
/* 8000938C 000062EC A0 63 00 A6 */ lhz r3, 0xa6(r3)
/* 80009390 000062F0 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80009394 000062F4 7C 03 00 40 */ cmplw r3, r0
/* 80009398 000062F8 41 82 00 24 */ beq lbl_800093BC
/* 8000939C 000062FC B0 61 00 08 */ sth r3, 8(r1)
/* 800093A0 00006300 7C 83 23 78 */ mr r3, r4
/* 800093A4 00006304 38 81 00 08 */ addi r4, r1, 8
/* 800093A8 00006308 48 04 31 FD */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 800093AC 0000630C 28 03 00 00 */ cmplwi r3, 0
/* 800093B0 00006310 41 82 00 0C */ beq lbl_800093BC
/* 800093B4 00006314 38 60 00 01 */ li r3, 1
/* 800093B8 00006318 48 00 00 08 */ b lbl_800093C0
lbl_800093BC:
/* 800093BC 0000631C 38 60 00 00 */ li r3, 0
lbl_800093C0:
/* 800093C0 00006320 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800093C4 00006324 7C 08 03 A6 */ mtlr r0
/* 800093C8 00006328 38 21 00 10 */ addi r1, r1, 0x10
/* 800093CC 0000632C 4E 80 00 20 */ blr
.global GetCameraHint__14CCameraManagerCFR13CStateManager
GetCameraHint__14CCameraManagerCFR13CStateManager:
/* 800093D0 00006330 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800093D4 00006334 7C 08 02 A6 */ mflr r0
/* 800093D8 00006338 90 01 00 24 */ stw r0, 0x24(r1)
/* 800093DC 0000633C A0 03 00 A6 */ lhz r0, 0xa6(r3)
/* 800093E0 00006340 7C 83 23 78 */ mr r3, r4
/* 800093E4 00006344 38 81 00 08 */ addi r4, r1, 8
/* 800093E8 00006348 B0 01 00 08 */ sth r0, 8(r1)
/* 800093EC 0000634C 48 04 31 B9 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 800093F0 00006350 7C 64 1B 78 */ mr r4, r3
/* 800093F4 00006354 38 61 00 0C */ addi r3, r1, 0xc
/* 800093F8 00006358 48 0A 1F D5 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 800093FC 0000635C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80009400 00006360 80 63 00 04 */ lwz r3, 4(r3)
/* 80009404 00006364 7C 08 03 A6 */ mtlr r0
/* 80009408 00006368 38 21 00 20 */ addi r1, r1, 0x20
/* 8000940C 0000636C 4E 80 00 20 */ blr
.global SetupBallCamera__14CCameraManagerFR13CStateManager
SetupBallCamera__14CCameraManagerFR13CStateManager:
/* 80009410 00006370 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80009414 00006374 7C 08 02 A6 */ mflr r0
/* 80009418 00006378 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000941C 0000637C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80009420 00006380 7C 9F 23 78 */ mr r31, r4
/* 80009424 00006384 38 81 00 0C */ addi r4, r1, 0xc
/* 80009428 00006388 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000942C 0000638C 7C 7E 1B 78 */ mr r30, r3
/* 80009430 00006390 A0 03 00 A6 */ lhz r0, 0xa6(r3)
/* 80009434 00006394 7F E3 FB 78 */ mr r3, r31
/* 80009438 00006398 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000943C 0000639C 48 04 31 39 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80009440 000063A0 7C 64 1B 78 */ mr r4, r3
/* 80009444 000063A4 38 61 00 10 */ addi r3, r1, 0x10
/* 80009448 000063A8 48 0A 1F 85 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 8000944C 000063AC 80 83 00 04 */ lwz r4, 4(r3)
/* 80009450 000063B0 28 04 00 00 */ cmplwi r4, 0
/* 80009454 000063B4 41 82 00 54 */ beq lbl_800094A8
/* 80009458 000063B8 80 04 00 F4 */ lwz r0, 0xf4(r4)
/* 8000945C 000063BC 2C 00 00 03 */ cmpwi r0, 3
/* 80009460 000063C0 40 82 00 3C */ bne lbl_8000949C
/* 80009464 000063C4 80 04 00 F0 */ lwz r0, 0xf0(r4)
/* 80009468 000063C8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 8000946C 000063CC 41 82 00 14 */ beq lbl_80009480
/* 80009470 000063D0 80 7E 00 80 */ lwz r3, 0x80(r30)
/* 80009474 000063D4 7F E5 FB 78 */ mr r5, r31
/* 80009478 000063D8 38 84 00 34 */ addi r4, r4, 0x34
/* 8000947C 000063DC 48 08 35 7D */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager
lbl_80009480:
/* 80009480 000063E0 A0 1E 00 A6 */ lhz r0, 0xa6(r30)
/* 80009484 000063E4 7F C3 F3 78 */ mr r3, r30
/* 80009488 000063E8 7F E5 FB 78 */ mr r5, r31
/* 8000948C 000063EC 38 81 00 08 */ addi r4, r1, 8
/* 80009490 000063F0 B0 01 00 08 */ sth r0, 8(r1)
/* 80009494 000063F4 48 00 00 2D */ bl AddInactiveCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager
/* 80009498 000063F8 48 00 00 10 */ b lbl_800094A8
lbl_8000949C:
/* 8000949C 000063FC 7F C3 F3 78 */ mr r3, r30
/* 800094A0 00006400 7F E5 FB 78 */ mr r5, r31
/* 800094A4 00006404 48 00 0F E5 */ bl ApplyCameraHint__14CCameraManagerFRC17CScriptCameraHintR13CStateManager
lbl_800094A8:
/* 800094A8 00006408 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800094AC 0000640C 83 E1 00 1C */ lwz r31, 0x1c(r1)
.global lbl_800094B0
lbl_800094B0:
/* 800094B0 00006410 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800094B4 00006414 7C 08 03 A6 */ mtlr r0
/* 800094B8 00006418 38 21 00 20 */ addi r1, r1, 0x20
/* 800094BC 0000641C 4E 80 00 20 */ blr
.global AddInactiveCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager
AddInactiveCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager:
/* 800094C0 00006420 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800094C4 00006424 7C 08 02 A6 */ mflr r0
/* 800094C8 00006428 90 01 00 24 */ stw r0, 0x24(r1)
/* 800094CC 0000642C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800094D0 00006430 7C 9F 23 78 */ mr r31, r4
/* 800094D4 00006434 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800094D8 00006438 7C 7E 1B 78 */ mr r30, r3
/* 800094DC 0000643C 7C A3 2B 78 */ mr r3, r5
/* 800094E0 00006440 A0 04 00 00 */ lhz r0, 0(r4)
/* 800094E4 00006444 38 81 00 08 */ addi r4, r1, 8
/* 800094E8 00006448 B0 01 00 08 */ sth r0, 8(r1)
/* 800094EC 0000644C 48 04 30 89 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 800094F0 00006450 7C 64 1B 78 */ mr r4, r3
/* 800094F4 00006454 38 61 00 0C */ addi r3, r1, 0xc
/* 800094F8 00006458 48 0A 1E D5 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 800094FC 0000645C 80 DE 02 B0 */ lwz r6, 0x2b0(r30)
/* 80009500 00006460 38 9E 02 B4 */ addi r4, r30, 0x2b4
/* 80009504 00006464 80 E3 00 04 */ lwz r7, 4(r3)
/* 80009508 00006468 54 C0 08 3C */ slwi r0, r6, 1
/* 8000950C 0000646C 7C A4 02 14 */ add r5, r4, r0
/* 80009510 00006470 48 00 00 08 */ b lbl_80009518
lbl_80009514:
/* 80009514 00006474 38 84 00 02 */ addi r4, r4, 2
lbl_80009518:
/* 80009518 00006478 7C 04 28 40 */ cmplw r4, r5
/* 8000951C 0000647C 41 82 00 14 */ beq lbl_80009530
/* 80009520 00006480 A0 64 00 00 */ lhz r3, 0(r4)
/* 80009524 00006484 A0 1F 00 00 */ lhz r0, 0(r31)
/* 80009528 00006488 7C 03 00 40 */ cmplw r3, r0
/* 8000952C 0000648C 40 82 FF E8 */ bne lbl_80009514
lbl_80009530:
/* 80009530 00006490 7C 04 28 40 */ cmplw r4, r5
/* 80009534 00006494 40 82 00 30 */ bne lbl_80009564
/* 80009538 00006498 28 07 00 00 */ cmplwi r7, 0
/* 8000953C 0000649C 41 82 00 28 */ beq lbl_80009564
/* 80009540 000064A0 2C 06 00 40 */ cmpwi r6, 0x40
/* 80009544 000064A4 41 82 00 20 */ beq lbl_80009564
/* 80009548 000064A8 28 05 00 00 */ cmplwi r5, 0
/* 8000954C 000064AC 41 82 00 0C */ beq lbl_80009558
/* 80009550 000064B0 A0 1F 00 00 */ lhz r0, 0(r31)
/* 80009554 000064B4 B0 05 00 00 */ sth r0, 0(r5)
lbl_80009558:
/* 80009558 000064B8 80 7E 02 B0 */ lwz r3, 0x2b0(r30)
/* 8000955C 000064BC 38 03 00 01 */ addi r0, r3, 1
/* 80009560 000064C0 90 1E 02 B0 */ stw r0, 0x2b0(r30)
lbl_80009564:
/* 80009564 000064C4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80009568 000064C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000956C 000064CC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80009570 000064D0 7C 08 03 A6 */ mtlr r0
/* 80009574 000064D4 38 21 00 20 */ addi r1, r1, 0x20
/* 80009578 000064D8 4E 80 00 20 */ blr
.global DeleteCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager
DeleteCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager:
/* 8000957C 000064DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80009580 000064E0 7C 08 02 A6 */ mflr r0
/* 80009584 000064E4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80009588 000064E8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8000958C 000064EC 7C 7F 1B 78 */ mr r31, r3
/* 80009590 000064F0 7C A3 2B 78 */ mr r3, r5
/* 80009594 000064F4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80009598 000064F8 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8000959C 000064FC 93 81 00 20 */ stw r28, 0x20(r1)
/* 800095A0 00006500 7C 9C 23 78 */ mr r28, r4
/* 800095A4 00006504 A0 04 00 00 */ lhz r0, 0(r4)
/* 800095A8 00006508 38 81 00 08 */ addi r4, r1, 8
/* 800095AC 0000650C B0 01 00 08 */ sth r0, 8(r1)
/* 800095B0 00006510 48 04 2F C5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 800095B4 00006514 7C 64 1B 78 */ mr r4, r3
/* 800095B8 00006518 38 61 00 0C */ addi r3, r1, 0xc
/* 800095BC 0000651C 48 0A 1E 11 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 800095C0 00006520 83 A3 00 04 */ lwz r29, 4(r3)
/* 800095C4 00006524 28 1D 00 00 */ cmplwi r29, 0
/* 800095C8 00006528 41 82 00 7C */ beq lbl_80009644
/* 800095CC 0000652C 80 1F 02 B0 */ lwz r0, 0x2b0(r31)
/* 800095D0 00006530 3B DF 02 B4 */ addi r30, r31, 0x2b4
/* 800095D4 00006534 7F C4 F3 78 */ mr r4, r30
/* 800095D8 00006538 54 00 08 3C */ slwi r0, r0, 1
/* 800095DC 0000653C 7C BE 02 14 */ add r5, r30, r0
/* 800095E0 00006540 48 00 00 08 */ b lbl_800095E8
lbl_800095E4:
/* 800095E4 00006544 38 84 00 02 */ addi r4, r4, 2
lbl_800095E8:
/* 800095E8 00006548 7C 04 28 40 */ cmplw r4, r5
/* 800095EC 0000654C 41 82 00 14 */ beq lbl_80009600
/* 800095F0 00006550 A0 64 00 00 */ lhz r3, 0(r4)
/* 800095F4 00006554 A0 1C 00 00 */ lhz r0, 0(r28)
/* 800095F8 00006558 7C 03 00 40 */ cmplw r3, r0
/* 800095FC 0000655C 40 82 FF E8 */ bne lbl_800095E4
lbl_80009600:
/* 80009600 00006560 7C 04 28 40 */ cmplw r4, r5
/* 80009604 00006564 40 82 00 40 */ bne lbl_80009644
/* 80009608 00006568 7F A3 EB 78 */ mr r3, r29
/* 8000960C 0000656C 48 0B B7 B5 */ bl ClearIdList__17CScriptCameraHintFv
/* 80009610 00006570 38 00 00 01 */ li r0, 1
/* 80009614 00006574 98 1D 01 66 */ stb r0, 0x166(r29)
/* 80009618 00006578 80 1F 02 B0 */ lwz r0, 0x2b0(r31)
/* 8000961C 0000657C 2C 00 00 40 */ cmpwi r0, 0x40
/* 80009620 00006580 41 82 00 24 */ beq lbl_80009644
/* 80009624 00006584 54 00 08 3C */ slwi r0, r0, 1
/* 80009628 00006588 7C 7E 02 15 */ add. r3, r30, r0
/* 8000962C 0000658C 41 82 00 0C */ beq lbl_80009638
/* 80009630 00006590 A0 1C 00 00 */ lhz r0, 0(r28)
/* 80009634 00006594 B0 03 00 00 */ sth r0, 0(r3)
lbl_80009638:
/* 80009638 00006598 80 7F 02 B0 */ lwz r3, 0x2b0(r31)
/* 8000963C 0000659C 38 03 00 01 */ addi r0, r3, 1
/* 80009640 000065A0 90 1F 02 B0 */ stw r0, 0x2b0(r31)
lbl_80009644:
/* 80009644 000065A4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80009648 000065A8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8000964C 000065AC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80009650 000065B0 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80009654 000065B4 83 81 00 20 */ lwz r28, 0x20(r1)
/* 80009658 000065B8 7C 08 03 A6 */ mtlr r0
/* 8000965C 000065BC 38 21 00 30 */ addi r1, r1, 0x30
/* 80009660 000065C0 4E 80 00 20 */ blr
.global AddActiveCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager
AddActiveCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager:
/* 80009664 000065C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80009668 000065C8 7C 08 02 A6 */ mflr r0
/* 8000966C 000065CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80009670 000065D0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80009674 000065D4 7C 9F 23 78 */ mr r31, r4
/* 80009678 000065D8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000967C 000065DC 7C 7E 1B 78 */ mr r30, r3
/* 80009680 000065E0 7C A3 2B 78 */ mr r3, r5
/* 80009684 000065E4 A0 04 00 00 */ lhz r0, 0(r4)
/* 80009688 000065E8 38 81 00 08 */ addi r4, r1, 8
/* 8000968C 000065EC B0 01 00 08 */ sth r0, 8(r1)
/* 80009690 000065F0 48 04 2E E5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80009694 000065F4 7C 64 1B 78 */ mr r4, r3
/* 80009698 000065F8 38 61 00 0C */ addi r3, r1, 0xc
/* 8000969C 000065FC 48 0A 1D 31 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 800096A0 00006600 80 03 00 04 */ lwz r0, 4(r3)
/* 800096A4 00006604 28 00 00 00 */ cmplwi r0, 0
/* 800096A8 00006608 41 82 00 70 */ beq lbl_80009718
/* 800096AC 0000660C 80 DE 03 34 */ lwz r6, 0x334(r30)
/* 800096B0 00006610 38 9E 03 38 */ addi r4, r30, 0x338
/* 800096B4 00006614 54 C0 08 3C */ slwi r0, r6, 1
/* 800096B8 00006618 7C A4 02 14 */ add r5, r4, r0
/* 800096BC 0000661C 48 00 00 08 */ b lbl_800096C4
lbl_800096C0:
/* 800096C0 00006620 38 84 00 02 */ addi r4, r4, 2
lbl_800096C4:
/* 800096C4 00006624 7C 04 28 40 */ cmplw r4, r5
/* 800096C8 00006628 41 82 00 14 */ beq lbl_800096DC
/* 800096CC 0000662C A0 64 00 00 */ lhz r3, 0(r4)
/* 800096D0 00006630 A0 1F 00 00 */ lhz r0, 0(r31)
/* 800096D4 00006634 7C 03 00 40 */ cmplw r3, r0
/* 800096D8 00006638 40 82 FF E8 */ bne lbl_800096C0
lbl_800096DC:
/* 800096DC 0000663C 7C 04 28 40 */ cmplw r4, r5
/* 800096E0 00006640 40 82 00 38 */ bne lbl_80009718
/* 800096E4 00006644 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 800096E8 00006648 2C 00 00 40 */ cmpwi r0, 0x40
/* 800096EC 0000664C 41 82 00 2C */ beq lbl_80009718
/* 800096F0 00006650 2C 06 00 40 */ cmpwi r6, 0x40
/* 800096F4 00006654 40 82 00 08 */ bne lbl_800096FC
/* 800096F8 00006658 48 00 00 20 */ b lbl_80009718
lbl_800096FC:
/* 800096FC 0000665C 28 05 00 00 */ cmplwi r5, 0
/* 80009700 00006660 41 82 00 0C */ beq lbl_8000970C
/* 80009704 00006664 A0 1F 00 00 */ lhz r0, 0(r31)
/* 80009708 00006668 B0 05 00 00 */ sth r0, 0(r5)
lbl_8000970C:
/* 8000970C 0000666C 80 7E 03 34 */ lwz r3, 0x334(r30)
/* 80009710 00006670 38 03 00 01 */ addi r0, r3, 1
/* 80009714 00006674 90 1E 03 34 */ stw r0, 0x334(r30)
lbl_80009718:
/* 80009718 00006678 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000971C 0000667C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80009720 00006680 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80009724 00006684 7C 08 03 A6 */ mtlr r0
/* 80009728 00006688 38 21 00 20 */ addi r1, r1, 0x20
/* 8000972C 0000668C 4E 80 00 20 */ blr
.global HasBallCameraInitialPositionHint__14CCameraManagerCFR13CStateManager
HasBallCameraInitialPositionHint__14CCameraManagerCFR13CStateManager:
/* 80009730 00006690 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80009734 00006694 7C 08 02 A6 */ mflr r0
/* 80009738 00006698 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000973C 0000669C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80009740 000066A0 7C 9F 23 78 */ mr r31, r4
/* 80009744 000066A4 4B FF FC 31 */ bl HasCameraHint__14CCameraManagerCFR13CStateManager
/* 80009748 000066A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000974C 000066AC 41 82 00 48 */ beq lbl_80009794
/* 80009750 000066B0 80 7F 08 70 */ lwz r3, 0x870(r31)
/* 80009754 000066B4 7F E4 FB 78 */ mr r4, r31
/* 80009758 000066B8 4B FF FC 79 */ bl GetCameraHint__14CCameraManagerCFR13CStateManager
/* 8000975C 000066BC 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 80009760 000066C0 2C 00 00 06 */ cmpwi r0, 6
/* 80009764 000066C4 41 82 00 30 */ beq lbl_80009794
/* 80009768 000066C8 40 80 00 1C */ bge lbl_80009784
/* 8000976C 000066CC 2C 00 00 03 */ cmpwi r0, 3
/* 80009770 000066D0 41 82 00 24 */ beq lbl_80009794
/* 80009774 000066D4 40 80 00 18 */ bge lbl_8000978C
/* 80009778 000066D8 2C 00 00 02 */ cmpwi r0, 2
/* 8000977C 000066DC 40 80 00 10 */ bge lbl_8000978C
/* 80009780 000066E0 48 00 00 14 */ b lbl_80009794
lbl_80009784:
/* 80009784 000066E4 2C 00 00 09 */ cmpwi r0, 9
/* 80009788 000066E8 40 80 00 0C */ bge lbl_80009794
lbl_8000978C:
/* 8000978C 000066EC 38 60 00 01 */ li r3, 1
/* 80009790 000066F0 48 00 00 08 */ b lbl_80009798
lbl_80009794:
/* 80009794 000066F4 38 60 00 00 */ li r3, 0
lbl_80009798:
/* 80009798 000066F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000979C 000066FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800097A0 00006700 7C 08 03 A6 */ mtlr r0
/* 800097A4 00006704 38 21 00 10 */ addi r1, r1, 0x10
/* 800097A8 00006708 4E 80 00 20 */ blr
.global UpdateCameraHints__14CCameraManagerFfR13CStateManager
UpdateCameraHints__14CCameraManagerFfR13CStateManager:
/* 800097AC 0000670C 94 21 FE 00 */ stwu r1, -0x200(r1)
/* 800097B0 00006710 7C 08 02 A6 */ mflr r0
/* 800097B4 00006714 90 01 02 04 */ stw r0, 0x204(r1)
/* 800097B8 00006718 DB E1 01 F0 */ stfd f31, 0x1f0(r1)
/* 800097BC 0000671C F3 E1 01 F8 */ psq_st f31, 504(r1), 0, qr0
/* 800097C0 00006720 DB C1 01 E0 */ stfd f30, 0x1e0(r1)
/* 800097C4 00006724 F3 C1 01 E8 */ psq_st f30, 488(r1), 0, qr0
/* 800097C8 00006728 DB A1 01 D0 */ stfd f29, 0x1d0(r1)
/* 800097CC 0000672C F3 A1 01 D8 */ psq_st f29, 472(r1), 0, qr0
/* 800097D0 00006730 DB 81 01 C0 */ stfd f28, 0x1c0(r1)
/* 800097D4 00006734 F3 81 01 C8 */ psq_st f28, 456(r1), 0, qr0
/* 800097D8 00006738 DB 61 01 B0 */ stfd f27, 0x1b0(r1)
/* 800097DC 0000673C F3 61 01 B8 */ psq_st f27, 440(r1), 0, qr0
/* 800097E0 00006740 DB 41 01 A0 */ stfd f26, 0x1a0(r1)
/* 800097E4 00006744 F3 41 01 A8 */ psq_st f26, 424(r1), 0, qr0
/* 800097E8 00006748 DB 21 01 90 */ stfd f25, 0x190(r1)
/* 800097EC 0000674C F3 21 01 98 */ psq_st f25, 408(r1), 0, qr0
/* 800097F0 00006750 DB 01 01 80 */ stfd f24, 0x180(r1)
/* 800097F4 00006754 F3 01 01 88 */ psq_st f24, 392(r1), 0, qr0
/* 800097F8 00006758 BF 01 01 60 */ stmw r24, 0x160(r1)
/* 800097FC 0000675C 7C 7E 1B 78 */ mr r30, r3
/* 80009800 00006760 7C 9F 23 78 */ mr r31, r4
/* 80009804 00006764 3B BE 00 B0 */ addi r29, r30, 0xb0
/* 80009808 00006768 3B 60 00 00 */ li r27, 0
/* 8000980C 0000676C 7F BC EB 78 */ mr r28, r29
/* 80009810 00006770 48 00 00 AC */ b lbl_800098BC
lbl_80009814:
/* 80009814 00006774 A0 1C 00 04 */ lhz r0, 4(r28)
/* 80009818 00006778 7F E3 FB 78 */ mr r3, r31
/* 8000981C 0000677C 38 81 00 40 */ addi r4, r1, 0x40
/* 80009820 00006780 B0 01 00 40 */ sth r0, 0x40(r1)
/* 80009824 00006784 48 04 2D 51 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80009828 00006788 7C 64 1B 78 */ mr r4, r3
/* 8000982C 0000678C 38 61 00 64 */ addi r3, r1, 0x64
/* 80009830 00006790 48 0A 1B 9D */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 80009834 00006794 80 03 00 04 */ lwz r0, 4(r3)
/* 80009838 00006798 28 00 00 00 */ cmplwi r0, 0
/* 8000983C 0000679C 40 82 00 7C */ bne lbl_800098B8
/* 80009840 000067A0 7C 1C E8 40 */ cmplw r28, r29
/* 80009844 000067A4 41 80 00 5C */ blt lbl_800098A0
/* 80009848 000067A8 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 8000984C 000067AC 54 00 18 38 */ slwi r0, r0, 3
/* 80009850 000067B0 7C 1D 02 14 */ add r0, r29, r0
/* 80009854 000067B4 7C 1C 00 40 */ cmplw r28, r0
/* 80009858 000067B8 40 80 00 48 */ bge lbl_800098A0
/* 8000985C 000067BC 7F 85 E3 78 */ mr r5, r28
/* 80009860 000067C0 48 00 00 18 */ b lbl_80009878
lbl_80009864:
/* 80009864 000067C4 80 05 00 08 */ lwz r0, 8(r5)
/* 80009868 000067C8 90 05 00 00 */ stw r0, 0(r5)
/* 8000986C 000067CC A0 05 00 0C */ lhz r0, 0xc(r5)
/* 80009870 000067D0 B0 05 00 04 */ sth r0, 4(r5)
/* 80009874 000067D4 38 A5 00 08 */ addi r5, r5, 8
lbl_80009878:
/* 80009878 000067D8 80 9E 00 AC */ lwz r4, 0xac(r30)
/* 8000987C 000067DC 54 83 18 38 */ slwi r3, r4, 3
/* 80009880 000067E0 38 03 FF F8 */ addi r0, r3, -8
/* 80009884 000067E4 7C 1D 02 14 */ add r0, r29, r0
/* 80009888 000067E8 7C 05 00 40 */ cmplw r5, r0
/* 8000988C 000067EC 41 80 FF D8 */ blt lbl_80009864
/* 80009890 000067F0 38 04 FF FF */ addi r0, r4, -1
/* 80009894 000067F4 7F 83 E3 78 */ mr r3, r28
/* 80009898 000067F8 90 1E 00 AC */ stw r0, 0xac(r30)
/* 8000989C 000067FC 48 00 00 10 */ b lbl_800098AC
lbl_800098A0:
/* 800098A0 00006800 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 800098A4 00006804 54 00 18 38 */ slwi r0, r0, 3
/* 800098A8 00006808 7C 7D 02 14 */ add r3, r29, r0
lbl_800098AC:
/* 800098AC 0000680C 7C 7C 1B 78 */ mr r28, r3
/* 800098B0 00006810 3B 60 00 01 */ li r27, 1
/* 800098B4 00006814 48 00 00 08 */ b lbl_800098BC
lbl_800098B8:
/* 800098B8 00006818 3B 9C 00 08 */ addi r28, r28, 8
lbl_800098BC:
/* 800098BC 0000681C 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 800098C0 00006820 54 00 18 38 */ slwi r0, r0, 3
/* 800098C4 00006824 7C 1D 02 14 */ add r0, r29, r0
/* 800098C8 00006828 7C 1C 00 40 */ cmplw r28, r0
/* 800098CC 0000682C 40 82 FF 48 */ bne lbl_80009814
/* 800098D0 00006830 80 1E 02 B0 */ lwz r0, 0x2b0(r30)
/* 800098D4 00006834 3B 40 00 00 */ li r26, 0
/* 800098D8 00006838 2C 00 00 00 */ cmpwi r0, 0
/* 800098DC 0000683C 41 82 01 80 */ beq lbl_80009A5C
/* 800098E0 00006840 3B 9E 02 B4 */ addi r28, r30, 0x2b4
/* 800098E4 00006844 7F 99 E3 78 */ mr r25, r28
/* 800098E8 00006848 48 00 01 10 */ b lbl_800099F8
lbl_800098EC:
/* 800098EC 0000684C A0 19 00 00 */ lhz r0, 0(r25)
/* 800098F0 00006850 7F E3 FB 78 */ mr r3, r31
/* 800098F4 00006854 38 81 00 3C */ addi r4, r1, 0x3c
/* 800098F8 00006858 B0 01 00 48 */ sth r0, 0x48(r1)
/* 800098FC 0000685C B0 01 00 3C */ sth r0, 0x3c(r1)
/* 80009900 00006860 48 04 2C A5 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80009904 00006864 7C 64 1B 78 */ mr r4, r3
/* 80009908 00006868 38 61 00 5C */ addi r3, r1, 0x5c
/* 8000990C 0000686C 48 0A 1A C1 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 80009910 00006870 80 63 00 04 */ lwz r3, 4(r3)
/* 80009914 00006874 28 03 00 00 */ cmplwi r3, 0
/* 80009918 00006878 41 82 00 DC */ beq lbl_800099F4
/* 8000991C 0000687C 80 03 01 50 */ lwz r0, 0x150(r3)
/* 80009920 00006880 28 00 00 00 */ cmplwi r0, 0
/* 80009924 00006884 41 82 00 10 */ beq lbl_80009934
/* 80009928 00006888 88 03 01 66 */ lbz r0, 0x166(r3)
/* 8000992C 0000688C 28 00 00 00 */ cmplwi r0, 0
/* 80009930 00006890 41 82 00 C4 */ beq lbl_800099F4
lbl_80009934:
/* 80009934 00006894 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 80009938 00006898 7F A5 EB 78 */ mr r5, r29
/* 8000993C 0000689C A0 01 00 48 */ lhz r0, 0x48(r1)
/* 80009940 000068A0 54 63 18 38 */ slwi r3, r3, 3
/* 80009944 000068A4 7C 9D 1A 14 */ add r4, r29, r3
/* 80009948 000068A8 48 00 00 A4 */ b lbl_800099EC
lbl_8000994C:
/* 8000994C 000068AC A0 65 00 04 */ lhz r3, 4(r5)
/* 80009950 000068B0 7C 03 00 40 */ cmplw r3, r0
/* 80009954 000068B4 40 82 00 94 */ bne lbl_800099E8
/* 80009958 000068B8 7C 05 E8 40 */ cmplw r5, r29
/* 8000995C 000068BC 41 80 00 44 */ blt lbl_800099A0
/* 80009960 000068C0 7C 05 20 40 */ cmplw r5, r4
/* 80009964 000068C4 40 80 00 3C */ bge lbl_800099A0
/* 80009968 000068C8 48 00 00 18 */ b lbl_80009980
lbl_8000996C:
/* 8000996C 000068CC 80 05 00 08 */ lwz r0, 8(r5)
/* 80009970 000068D0 90 05 00 00 */ stw r0, 0(r5)
/* 80009974 000068D4 A0 05 00 0C */ lhz r0, 0xc(r5)
/* 80009978 000068D8 B0 05 00 04 */ sth r0, 4(r5)
/* 8000997C 000068DC 38 A5 00 08 */ addi r5, r5, 8
lbl_80009980:
/* 80009980 000068E0 80 9E 00 AC */ lwz r4, 0xac(r30)
/* 80009984 000068E4 54 83 18 38 */ slwi r3, r4, 3
/* 80009988 000068E8 38 03 FF F8 */ addi r0, r3, -8
/* 8000998C 000068EC 7C 1D 02 14 */ add r0, r29, r0
/* 80009990 000068F0 7C 05 00 40 */ cmplw r5, r0
/* 80009994 000068F4 41 80 FF D8 */ blt lbl_8000996C
/* 80009998 000068F8 38 04 FF FF */ addi r0, r4, -1
/* 8000999C 000068FC 90 1E 00 AC */ stw r0, 0xac(r30)
lbl_800099A0:
/* 800099A0 00006900 A0 61 00 48 */ lhz r3, 0x48(r1)
/* 800099A4 00006904 A0 1E 00 A6 */ lhz r0, 0xa6(r30)
/* 800099A8 00006908 7C 03 00 40 */ cmplw r3, r0
/* 800099AC 0000690C 40 82 00 48 */ bne lbl_800099F4
/* 800099B0 00006910 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 800099B4 00006914 7F C3 F3 78 */ mr r3, r30
/* 800099B8 00006918 7F E5 FB 78 */ mr r5, r31
/* 800099BC 0000691C 38 81 00 38 */ addi r4, r1, 0x38
/* 800099C0 00006920 B0 01 00 38 */ sth r0, 0x38(r1)
/* 800099C4 00006924 3B 40 00 01 */ li r26, 1
/* 800099C8 00006928 4B FF F9 01 */ bl SetPathCamera__14CCameraManagerF9TUniqueIdR13CStateManager
/* 800099CC 0000692C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 800099D0 00006930 7F C3 F3 78 */ mr r3, r30
/* 800099D4 00006934 7F E5 FB 78 */ mr r5, r31
/* 800099D8 00006938 38 81 00 34 */ addi r4, r1, 0x34
/* 800099DC 0000693C B0 01 00 34 */ sth r0, 0x34(r1)
/* 800099E0 00006940 4B FF F8 31 */ bl SetSpindleCamera__14CCameraManagerF9TUniqueIdR13CStateManager
/* 800099E4 00006944 48 00 00 10 */ b lbl_800099F4
lbl_800099E8:
/* 800099E8 00006948 38 A5 00 08 */ addi r5, r5, 8
lbl_800099EC:
/* 800099EC 0000694C 7C 05 20 40 */ cmplw r5, r4
/* 800099F0 00006950 40 82 FF 5C */ bne lbl_8000994C
lbl_800099F4:
/* 800099F4 00006954 3B 39 00 02 */ addi r25, r25, 2
lbl_800099F8:
/* 800099F8 00006958 80 BE 02 B0 */ lwz r5, 0x2b0(r30)
/* 800099FC 0000695C 54 A0 08 3C */ slwi r0, r5, 1
/* 80009A00 00006960 7C 1C 02 14 */ add r0, r28, r0
/* 80009A04 00006964 7C 19 00 40 */ cmplw r25, r0
/* 80009A08 00006968 40 82 FE E4 */ bne lbl_800098EC
/* 80009A0C 0000696C 2C 05 00 00 */ cmpwi r5, 0
/* 80009A10 00006970 38 60 00 00 */ li r3, 0
/* 80009A14 00006974 40 81 00 40 */ ble lbl_80009A54
/* 80009A18 00006978 2C 05 00 08 */ cmpwi r5, 8
/* 80009A1C 0000697C 38 85 FF F8 */ addi r4, r5, -8
/* 80009A20 00006980 40 81 00 20 */ ble lbl_80009A40
/* 80009A24 00006984 38 04 00 07 */ addi r0, r4, 7
/* 80009A28 00006988 54 00 E8 FE */ srwi r0, r0, 3
/* 80009A2C 0000698C 7C 09 03 A6 */ mtctr r0
/* 80009A30 00006990 2C 04 00 00 */ cmpwi r4, 0
/* 80009A34 00006994 40 81 00 0C */ ble lbl_80009A40
lbl_80009A38:
/* 80009A38 00006998 38 63 00 08 */ addi r3, r3, 8
/* 80009A3C 0000699C 42 00 FF FC */ bdnz lbl_80009A38
lbl_80009A40:
/* 80009A40 000069A0 7C 03 28 50 */ subf r0, r3, r5
/* 80009A44 000069A4 7C 09 03 A6 */ mtctr r0
/* 80009A48 000069A8 7C 03 28 00 */ cmpw r3, r5
/* 80009A4C 000069AC 40 80 00 08 */ bge lbl_80009A54
lbl_80009A50:
/* 80009A50 000069B0 42 00 00 00 */ bdnz lbl_80009A50
lbl_80009A54:
/* 80009A54 000069B4 38 00 00 00 */ li r0, 0
/* 80009A58 000069B8 90 1E 02 B0 */ stw r0, 0x2b0(r30)
lbl_80009A5C:
/* 80009A5C 000069BC 80 1E 03 34 */ lwz r0, 0x334(r30)
/* 80009A60 000069C0 3B 20 00 00 */ li r25, 0
/* 80009A64 000069C4 2C 00 00 00 */ cmpwi r0, 0
/* 80009A68 000069C8 41 82 01 14 */ beq lbl_80009B7C
/* 80009A6C 000069CC 3B 9E 03 38 */ addi r28, r30, 0x338
/* 80009A70 000069D0 7F 98 E3 78 */ mr r24, r28
/* 80009A74 000069D4 48 00 00 A4 */ b lbl_80009B18
lbl_80009A78:
/* 80009A78 000069D8 A0 18 00 00 */ lhz r0, 0(r24)
/* 80009A7C 000069DC 7F E3 FB 78 */ mr r3, r31
/* 80009A80 000069E0 38 81 00 30 */ addi r4, r1, 0x30
/* 80009A84 000069E4 B0 01 00 44 */ sth r0, 0x44(r1)
/* 80009A88 000069E8 B0 01 00 30 */ sth r0, 0x30(r1)
/* 80009A8C 000069EC 48 04 2B 19 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80009A90 000069F0 7C 64 1B 78 */ mr r4, r3
/* 80009A94 000069F4 38 61 00 54 */ addi r3, r1, 0x54
/* 80009A98 000069F8 48 0A 19 35 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 80009A9C 000069FC 80 A3 00 04 */ lwz r5, 4(r3)
/* 80009AA0 00006A00 28 05 00 00 */ cmplwi r5, 0
/* 80009AA4 00006A04 41 82 00 70 */ beq lbl_80009B14
/* 80009AA8 00006A08 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 80009AAC 00006A0C 7F A7 EB 78 */ mr r7, r29
/* 80009AB0 00006A10 A0 01 00 44 */ lhz r0, 0x44(r1)
/* 80009AB4 00006A14 38 C0 00 00 */ li r6, 0
/* 80009AB8 00006A18 54 63 18 38 */ slwi r3, r3, 3
/* 80009ABC 00006A1C 7C 9D 1A 14 */ add r4, r29, r3
/* 80009AC0 00006A20 48 00 00 1C */ b lbl_80009ADC
lbl_80009AC4:
/* 80009AC4 00006A24 A0 67 00 04 */ lhz r3, 4(r7)
/* 80009AC8 00006A28 7C 03 00 40 */ cmplw r3, r0
/* 80009ACC 00006A2C 40 82 00 0C */ bne lbl_80009AD8
/* 80009AD0 00006A30 38 C0 00 01 */ li r6, 1
/* 80009AD4 00006A34 48 00 00 10 */ b lbl_80009AE4
lbl_80009AD8:
/* 80009AD8 00006A38 38 E7 00 08 */ addi r7, r7, 8
lbl_80009ADC:
/* 80009ADC 00006A3C 7C 07 20 40 */ cmplw r7, r4
/* 80009AE0 00006A40 40 82 FF E4 */ bne lbl_80009AC4
lbl_80009AE4:
/* 80009AE4 00006A44 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 80009AE8 00006A48 40 82 00 2C */ bne lbl_80009B14
/* 80009AEC 00006A4C 28 04 00 00 */ cmplwi r4, 0
/* 80009AF0 00006A50 80 05 00 E8 */ lwz r0, 0xe8(r5)
/* 80009AF4 00006A54 41 82 00 10 */ beq lbl_80009B04
/* 80009AF8 00006A58 90 04 00 00 */ stw r0, 0(r4)
/* 80009AFC 00006A5C A0 01 00 44 */ lhz r0, 0x44(r1)
/* 80009B00 00006A60 B0 04 00 04 */ sth r0, 4(r4)
lbl_80009B04:
/* 80009B04 00006A64 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 80009B08 00006A68 3B 20 00 01 */ li r25, 1
/* 80009B0C 00006A6C 38 03 00 01 */ addi r0, r3, 1
/* 80009B10 00006A70 90 1E 00 AC */ stw r0, 0xac(r30)
lbl_80009B14:
/* 80009B14 00006A74 3B 18 00 02 */ addi r24, r24, 2
lbl_80009B18:
/* 80009B18 00006A78 80 BE 03 34 */ lwz r5, 0x334(r30)
/* 80009B1C 00006A7C 54 A0 08 3C */ slwi r0, r5, 1
/* 80009B20 00006A80 7C 1C 02 14 */ add r0, r28, r0
/* 80009B24 00006A84 7C 18 00 40 */ cmplw r24, r0
/* 80009B28 00006A88 40 82 FF 50 */ bne lbl_80009A78
/* 80009B2C 00006A8C 2C 05 00 00 */ cmpwi r5, 0
/* 80009B30 00006A90 38 60 00 00 */ li r3, 0
/* 80009B34 00006A94 40 81 00 40 */ ble lbl_80009B74
/* 80009B38 00006A98 2C 05 00 08 */ cmpwi r5, 8
/* 80009B3C 00006A9C 38 85 FF F8 */ addi r4, r5, -8
/* 80009B40 00006AA0 40 81 00 20 */ ble lbl_80009B60
/* 80009B44 00006AA4 38 04 00 07 */ addi r0, r4, 7
/* 80009B48 00006AA8 54 00 E8 FE */ srwi r0, r0, 3
/* 80009B4C 00006AAC 7C 09 03 A6 */ mtctr r0
/* 80009B50 00006AB0 2C 04 00 00 */ cmpwi r4, 0
/* 80009B54 00006AB4 40 81 00 0C */ ble lbl_80009B60
lbl_80009B58:
/* 80009B58 00006AB8 38 63 00 08 */ addi r3, r3, 8
/* 80009B5C 00006ABC 42 00 FF FC */ bdnz lbl_80009B58
lbl_80009B60:
/* 80009B60 00006AC0 7C 03 28 50 */ subf r0, r3, r5
/* 80009B64 00006AC4 7C 09 03 A6 */ mtctr r0
/* 80009B68 00006AC8 7C 03 28 00 */ cmpw r3, r5
/* 80009B6C 00006ACC 40 80 00 08 */ bge lbl_80009B74
lbl_80009B70:
/* 80009B70 00006AD0 42 00 00 00 */ bdnz lbl_80009B70
lbl_80009B74:
/* 80009B74 00006AD4 38 00 00 00 */ li r0, 0
/* 80009B78 00006AD8 90 1E 03 34 */ stw r0, 0x334(r30)
lbl_80009B7C:
/* 80009B7C 00006ADC 57 40 06 3F */ clrlwi. r0, r26, 0x18
/* 80009B80 00006AE0 40 82 00 14 */ bne lbl_80009B94
/* 80009B84 00006AE4 57 20 06 3F */ clrlwi. r0, r25, 0x18
/* 80009B88 00006AE8 40 82 00 0C */ bne lbl_80009B94
/* 80009B8C 00006AEC 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 80009B90 00006AF0 41 82 06 B8 */ beq lbl_8000A248
lbl_80009B94:
/* 80009B94 00006AF4 88 81 00 10 */ lbz r4, 0x10(r1)
/* 80009B98 00006AF8 7F A3 EB 78 */ mr r3, r29
/* 80009B9C 00006AFC 38 A1 00 08 */ addi r5, r1, 8
/* 80009BA0 00006B00 98 81 00 08 */ stb r4, 8(r1)
/* 80009BA4 00006B04 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 80009BA8 00006B08 98 81 00 0C */ stb r4, 0xc(r1)
/* 80009BAC 00006B0C 54 00 18 38 */ slwi r0, r0, 3
/* 80009BB0 00006B10 7C 9D 02 14 */ add r4, r29, r0
/* 80009BB4 00006B14 48 00 27 2D */ bl sub_8000c2e0
/* 80009BB8 00006B18 80 9E 00 80 */ lwz r4, 0x80(r30)
/* 80009BBC 00006B1C 38 61 01 2C */ addi r3, r1, 0x12c
/* 80009BC0 00006B20 38 84 00 34 */ addi r4, r4, 0x34
/* 80009BC4 00006B24 48 30 8F B1 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80009BC8 00006B28 57 40 06 3F */ clrlwi. r0, r26, 0x18
/* 80009BCC 00006B2C 40 82 00 0C */ bne lbl_80009BD8
/* 80009BD0 00006B30 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 80009BD4 00006B34 41 82 00 20 */ beq lbl_80009BF4
lbl_80009BD8:
/* 80009BD8 00006B38 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 80009BDC 00006B3C 2C 00 00 00 */ cmpwi r0, 0
/* 80009BE0 00006B40 40 82 00 14 */ bne lbl_80009BF4
/* 80009BE4 00006B44 7F C3 F3 78 */ mr r3, r30
/* 80009BE8 00006B48 7F E4 FB 78 */ mr r4, r31
/* 80009BEC 00006B4C 48 00 06 B1 */ bl RestoreHintlessCamera__14CCameraManagerFR13CStateManager
/* 80009BF0 00006B50 48 00 06 58 */ b lbl_8000A248
lbl_80009BF4:
/* 80009BF4 00006B54 7F B9 EB 78 */ mr r25, r29
/* 80009BF8 00006B58 3B 00 00 00 */ li r24, 0
/* 80009BFC 00006B5C 3B 40 00 00 */ li r26, 0
/* 80009C00 00006B60 48 00 00 40 */ b lbl_80009C40
lbl_80009C04:
/* 80009C04 00006B64 A0 19 00 04 */ lhz r0, 4(r25)
/* 80009C08 00006B68 7F E3 FB 78 */ mr r3, r31
/* 80009C0C 00006B6C 38 81 00 2C */ addi r4, r1, 0x2c
/* 80009C10 00006B70 B0 01 00 2C */ sth r0, 0x2c(r1)
/* 80009C14 00006B74 48 04 29 61 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80009C18 00006B78 7C 64 1B 78 */ mr r4, r3
/* 80009C1C 00006B7C 38 61 00 7C */ addi r3, r1, 0x7c
/* 80009C20 00006B80 48 0A 17 AD */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 80009C24 00006B84 80 03 00 04 */ lwz r0, 4(r3)
/* 80009C28 00006B88 28 00 00 00 */ cmplwi r0, 0
/* 80009C2C 00006B8C 7C 18 03 78 */ mr r24, r0
/* 80009C30 00006B90 41 82 00 0C */ beq lbl_80009C3C
/* 80009C34 00006B94 3B 40 00 01 */ li r26, 1
/* 80009C38 00006B98 48 00 00 1C */ b lbl_80009C54
lbl_80009C3C:
/* 80009C3C 00006B9C 3B 39 00 08 */ addi r25, r25, 8
lbl_80009C40:
/* 80009C40 00006BA0 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 80009C44 00006BA4 54 00 18 38 */ slwi r0, r0, 3
/* 80009C48 00006BA8 7C 1D 02 14 */ add r0, r29, r0
/* 80009C4C 00006BAC 7C 19 00 40 */ cmplw r25, r0
/* 80009C50 00006BB0 40 82 FF B4 */ bne lbl_80009C04
lbl_80009C54:
/* 80009C54 00006BB4 57 40 06 3F */ clrlwi. r0, r26, 0x18
/* 80009C58 00006BB8 40 82 00 10 */ bne lbl_80009C68
/* 80009C5C 00006BBC 7F C3 F3 78 */ mr r3, r30
/* 80009C60 00006BC0 7F E4 FB 78 */ mr r4, r31
/* 80009C64 00006BC4 48 00 06 39 */ bl RestoreHintlessCamera__14CCameraManagerFR13CStateManager
lbl_80009C68:
/* 80009C68 00006BC8 28 18 00 00 */ cmplwi r24, 0
/* 80009C6C 00006BCC 3B 20 00 00 */ li r25, 0
/* 80009C70 00006BD0 41 82 05 D8 */ beq lbl_8000A248
/* 80009C74 00006BD4 57 40 06 3F */ clrlwi. r0, r26, 0x18
/* 80009C78 00006BD8 41 82 05 D0 */ beq lbl_8000A248
/* 80009C7C 00006BDC 80 98 00 F0 */ lwz r4, 0xf0(r24)
/* 80009C80 00006BE0 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
/* 80009C84 00006BE4 41 82 05 04 */ beq lbl_8000A188
/* 80009C88 00006BE8 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 80009C8C 00006BEC 2C 00 00 01 */ cmpwi r0, 1
/* 80009C90 00006BF0 40 81 04 F8 */ ble lbl_8000A188
/* 80009C94 00006BF4 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 80009C98 00006BF8 38 61 00 9C */ addi r3, r1, 0x9c
/* 80009C9C 00006BFC 48 27 B0 AD */ bl GetBallPosition__7CPlayerCFv
/* 80009CA0 00006C00 80 18 00 F0 */ lwz r0, 0xf0(r24)
/* 80009CA4 00006C04 C3 61 00 9C */ lfs f27, 0x9c(r1)
/* 80009CA8 00006C08 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 80009CAC 00006C0C C3 81 00 A0 */ lfs f28, 0xa0(r1)
/* 80009CB0 00006C10 C3 A1 00 A4 */ lfs f29, 0xa4(r1)
/* 80009CB4 00006C14 41 82 02 18 */ beq lbl_80009ECC
/* 80009CB8 00006C18 C0 41 01 58 */ lfs f2, 0x158(r1)
/* 80009CBC 00006C1C 38 61 00 F0 */ addi r3, r1, 0xf0
/* 80009CC0 00006C20 C0 21 01 38 */ lfs f1, 0x138(r1)
/* 80009CC4 00006C24 C0 01 01 48 */ lfs f0, 0x148(r1)
/* 80009CC8 00006C28 EC 5D 10 28 */ fsubs f2, f29, f2
/* 80009CCC 00006C2C EC 3B 08 28 */ fsubs f1, f27, f1
/* 80009CD0 00006C30 EC 1C 00 28 */ fsubs f0, f28, f0
/* 80009CD4 00006C34 D0 41 00 F8 */ stfs f2, 0xf8(r1)
/* 80009CD8 00006C38 D0 21 00 F0 */ stfs f1, 0xf0(r1)
/* 80009CDC 00006C3C D0 01 00 F4 */ stfs f0, 0xf4(r1)
/* 80009CE0 00006C40 48 30 AA 19 */ bl CanBeNormalized__9CVector3fCFv
/* 80009CE4 00006C44 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80009CE8 00006C48 41 82 00 10 */ beq lbl_80009CF8
/* 80009CEC 00006C4C 38 61 00 F0 */ addi r3, r1, 0xf0
/* 80009CF0 00006C50 48 30 AC 09 */ bl Normalize__9CVector3fFv
/* 80009CF4 00006C54 48 00 00 1C */ b lbl_80009D10
lbl_80009CF8:
/* 80009CF8 00006C58 C0 41 01 50 */ lfs f2, 0x150(r1)
/* 80009CFC 00006C5C C0 21 01 30 */ lfs f1, 0x130(r1)
/* 80009D00 00006C60 C0 01 01 40 */ lfs f0, 0x140(r1)
/* 80009D04 00006C64 D0 21 00 F0 */ stfs f1, 0xf0(r1)
/* 80009D08 00006C68 D0 01 00 F4 */ stfs f0, 0xf4(r1)
/* 80009D0C 00006C6C D0 41 00 F8 */ stfs f2, 0xf8(r1)
lbl_80009D10:
/* 80009D10 00006C70 CB E2 80 68 */ lfd f31, lbl_805A9D88@sda21(r2)
/* 80009D14 00006C74 3B 5D 00 08 */ addi r26, r29, 8
/* 80009D18 00006C78 48 00 01 9C */ b lbl_80009EB4
lbl_80009D1C:
/* 80009D1C 00006C7C A0 1A 00 04 */ lhz r0, 4(r26)
/* 80009D20 00006C80 7F E3 FB 78 */ mr r3, r31
/* 80009D24 00006C84 38 81 00 28 */ addi r4, r1, 0x28
/* 80009D28 00006C88 B0 01 00 28 */ sth r0, 0x28(r1)
/* 80009D2C 00006C8C 48 04 28 49 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80009D30 00006C90 7C 64 1B 78 */ mr r4, r3
/* 80009D34 00006C94 38 61 00 74 */ addi r3, r1, 0x74
/* 80009D38 00006C98 48 0A 16 95 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 80009D3C 00006C9C 83 63 00 04 */ lwz r27, 4(r3)
/* 80009D40 00006CA0 28 1B 00 00 */ cmplwi r27, 0
/* 80009D44 00006CA4 41 82 04 2C */ beq lbl_8000A170
/* 80009D48 00006CA8 80 1B 00 F0 */ lwz r0, 0xf0(r27)
/* 80009D4C 00006CAC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 80009D50 00006CB0 41 82 04 20 */ beq lbl_8000A170
/* 80009D54 00006CB4 80 7B 00 E8 */ lwz r3, 0xe8(r27)
/* 80009D58 00006CB8 80 18 00 E8 */ lwz r0, 0xe8(r24)
/* 80009D5C 00006CBC 7C 03 00 00 */ cmpw r3, r0
/* 80009D60 00006CC0 40 82 04 10 */ bne lbl_8000A170
/* 80009D64 00006CC4 80 7B 00 04 */ lwz r3, 4(r27)
/* 80009D68 00006CC8 80 18 00 04 */ lwz r0, 4(r24)
/* 80009D6C 00006CCC 7C 03 00 00 */ cmpw r3, r0
/* 80009D70 00006CD0 40 82 04 00 */ bne lbl_8000A170
/* 80009D74 00006CD4 C0 58 00 50 */ lfs f2, 0x50(r24)
/* 80009D78 00006CD8 38 61 00 E4 */ addi r3, r1, 0xe4
/* 80009D7C 00006CDC C0 38 00 60 */ lfs f1, 0x60(r24)
/* 80009D80 00006CE0 C0 18 00 40 */ lfs f0, 0x40(r24)
/* 80009D84 00006CE4 EC 5C 10 28 */ fsubs f2, f28, f2
/* 80009D88 00006CE8 EC 3D 08 28 */ fsubs f1, f29, f1
/* 80009D8C 00006CEC EC 1B 00 28 */ fsubs f0, f27, f0
/* 80009D90 00006CF0 D0 41 00 E8 */ stfs f2, 0xe8(r1)
/* 80009D94 00006CF4 D0 01 00 E4 */ stfs f0, 0xe4(r1)
/* 80009D98 00006CF8 D0 21 00 EC */ stfs f1, 0xec(r1)
/* 80009D9C 00006CFC 48 30 A9 5D */ bl CanBeNormalized__9CVector3fCFv
/* 80009DA0 00006D00 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80009DA4 00006D04 41 82 00 10 */ beq lbl_80009DB4
/* 80009DA8 00006D08 38 61 00 E4 */ addi r3, r1, 0xe4
/* 80009DAC 00006D0C 48 30 AB 4D */ bl Normalize__9CVector3fFv
/* 80009DB0 00006D10 48 00 00 1C */ b lbl_80009DCC
lbl_80009DB4:
/* 80009DB4 00006D14 C0 58 00 58 */ lfs f2, 0x58(r24)
/* 80009DB8 00006D18 C0 38 00 48 */ lfs f1, 0x48(r24)
/* 80009DBC 00006D1C C0 18 00 38 */ lfs f0, 0x38(r24)
/* 80009DC0 00006D20 D0 01 00 E4 */ stfs f0, 0xe4(r1)
/* 80009DC4 00006D24 D0 21 00 E8 */ stfs f1, 0xe8(r1)
/* 80009DC8 00006D28 D0 41 00 EC */ stfs f2, 0xec(r1)
lbl_80009DCC:
/* 80009DCC 00006D2C C0 21 00 F4 */ lfs f1, 0xf4(r1)
/* 80009DD0 00006D30 C0 01 00 E8 */ lfs f0, 0xe8(r1)
/* 80009DD4 00006D34 C0 41 00 F0 */ lfs f2, 0xf0(r1)
/* 80009DD8 00006D38 EC 01 00 32 */ fmuls f0, f1, f0
/* 80009DDC 00006D3C C0 21 00 E4 */ lfs f1, 0xe4(r1)
/* 80009DE0 00006D40 C0 81 00 F8 */ lfs f4, 0xf8(r1)
/* 80009DE4 00006D44 C0 61 00 EC */ lfs f3, 0xec(r1)
/* 80009DE8 00006D48 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 80009DEC 00006D4C EF C4 00 FA */ fmadds f30, f4, f3, f0
/* 80009DF0 00006D50 FC 00 F2 10 */ fabs f0, f30
/* 80009DF4 00006D54 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 80009DF8 00006D58 40 81 00 14 */ ble lbl_80009E0C
/* 80009DFC 00006D5C C0 02 80 70 */ lfs f0, lbl_805A9D90@sda21(r2)
/* 80009E00 00006D60 C0 22 80 74 */ lfs f1, lbl_805A9D94@sda21(r2)
/* 80009E04 00006D64 FC 1E 00 6E */ fsel f0, f30, f1, f0
/* 80009E08 00006D68 EF C1 00 32 */ fmuls f30, f1, f0
lbl_80009E0C:
/* 80009E0C 00006D6C C0 5B 00 50 */ lfs f2, 0x50(r27)
/* 80009E10 00006D70 38 61 00 D8 */ addi r3, r1, 0xd8
/* 80009E14 00006D74 C0 3B 00 60 */ lfs f1, 0x60(r27)
/* 80009E18 00006D78 C0 1B 00 40 */ lfs f0, 0x40(r27)
/* 80009E1C 00006D7C EC 5C 10 28 */ fsubs f2, f28, f2
/* 80009E20 00006D80 EC 3D 08 28 */ fsubs f1, f29, f1
/* 80009E24 00006D84 EC 1B 00 28 */ fsubs f0, f27, f0
/* 80009E28 00006D88 D0 41 00 DC */ stfs f2, 0xdc(r1)
/* 80009E2C 00006D8C D0 01 00 D8 */ stfs f0, 0xd8(r1)
/* 80009E30 00006D90 D0 21 00 E0 */ stfs f1, 0xe0(r1)
/* 80009E34 00006D94 48 30 A8 C5 */ bl CanBeNormalized__9CVector3fCFv
/* 80009E38 00006D98 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80009E3C 00006D9C 41 82 00 10 */ beq lbl_80009E4C
/* 80009E40 00006DA0 38 61 00 D8 */ addi r3, r1, 0xd8
/* 80009E44 00006DA4 48 30 AA B5 */ bl Normalize__9CVector3fFv
/* 80009E48 00006DA8 48 00 00 1C */ b lbl_80009E64
lbl_80009E4C:
/* 80009E4C 00006DAC C0 5B 00 58 */ lfs f2, 0x58(r27)
/* 80009E50 00006DB0 C0 3B 00 48 */ lfs f1, 0x48(r27)
/* 80009E54 00006DB4 C0 1B 00 38 */ lfs f0, 0x38(r27)
/* 80009E58 00006DB8 D0 01 00 D8 */ stfs f0, 0xd8(r1)
/* 80009E5C 00006DBC D0 21 00 DC */ stfs f1, 0xdc(r1)
/* 80009E60 00006DC0 D0 41 00 E0 */ stfs f2, 0xe0(r1)
lbl_80009E64:
/* 80009E64 00006DC4 C0 21 00 F4 */ lfs f1, 0xf4(r1)
/* 80009E68 00006DC8 C0 01 00 DC */ lfs f0, 0xdc(r1)
/* 80009E6C 00006DCC C0 41 00 F0 */ lfs f2, 0xf0(r1)
/* 80009E70 00006DD0 EC 01 00 32 */ fmuls f0, f1, f0
/* 80009E74 00006DD4 C0 21 00 D8 */ lfs f1, 0xd8(r1)
/* 80009E78 00006DD8 C0 81 00 F8 */ lfs f4, 0xf8(r1)
/* 80009E7C 00006DDC C0 61 00 E0 */ lfs f3, 0xe0(r1)
/* 80009E80 00006DE0 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 80009E84 00006DE4 EC 24 00 FA */ fmadds f1, f4, f3, f0
/* 80009E88 00006DE8 FC 00 0A 10 */ fabs f0, f1
/* 80009E8C 00006DEC FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 80009E90 00006DF0 40 81 00 14 */ ble lbl_80009EA4
/* 80009E94 00006DF4 C0 02 80 70 */ lfs f0, lbl_805A9D90@sda21(r2)
/* 80009E98 00006DF8 C0 42 80 74 */ lfs f2, lbl_805A9D94@sda21(r2)
/* 80009E9C 00006DFC FC 01 00 AE */ fsel f0, f1, f2, f0
/* 80009EA0 00006E00 EC 22 00 32 */ fmuls f1, f2, f0
lbl_80009EA4:
/* 80009EA4 00006E04 FC 01 F0 40 */ fcmpo cr0, f1, f30
/* 80009EA8 00006E08 40 81 00 08 */ ble lbl_80009EB0
/* 80009EAC 00006E0C 7F 78 DB 78 */ mr r24, r27
lbl_80009EB0:
/* 80009EB0 00006E10 3B 5A 00 08 */ addi r26, r26, 8
lbl_80009EB4:
/* 80009EB4 00006E14 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 80009EB8 00006E18 54 00 18 38 */ slwi r0, r0, 3
/* 80009EBC 00006E1C 7C 1D 02 14 */ add r0, r29, r0
/* 80009EC0 00006E20 7C 1A 00 40 */ cmplw r26, r0
/* 80009EC4 00006E24 40 82 FE 58 */ bne lbl_80009D1C
/* 80009EC8 00006E28 48 00 02 A8 */ b lbl_8000A170
lbl_80009ECC:
/* 80009ECC 00006E2C 7F 04 C3 78 */ mr r4, r24
/* 80009ED0 00006E30 38 61 00 20 */ addi r3, r1, 0x20
/* 80009ED4 00006E34 48 0B AF 45 */ bl GetFirstHelper__17CScriptCameraHintCFv
/* 80009ED8 00006E38 A0 01 00 20 */ lhz r0, 0x20(r1)
/* 80009EDC 00006E3C 7F E3 FB 78 */ mr r3, r31
/* 80009EE0 00006E40 38 81 00 24 */ addi r4, r1, 0x24
/* 80009EE4 00006E44 B0 01 00 24 */ sth r0, 0x24(r1)
/* 80009EE8 00006E48 48 04 26 BD */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80009EEC 00006E4C 7C 64 1B 78 */ mr r4, r3
/* 80009EF0 00006E50 38 61 00 4C */ addi r3, r1, 0x4c
/* 80009EF4 00006E54 48 0A 5D 9D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80009EF8 00006E58 80 83 00 04 */ lwz r4, 4(r3)
/* 80009EFC 00006E5C 28 04 00 00 */ cmplwi r4, 0
/* 80009F00 00006E60 41 82 02 70 */ beq lbl_8000A170
/* 80009F04 00006E64 C3 64 00 60 */ lfs f27, 0x60(r4)
/* 80009F08 00006E68 38 61 00 90 */ addi r3, r1, 0x90
/* 80009F0C 00006E6C C3 84 00 50 */ lfs f28, 0x50(r4)
/* 80009F10 00006E70 C3 A4 00 40 */ lfs f29, 0x40(r4)
/* 80009F14 00006E74 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 80009F18 00006E78 48 27 AE 31 */ bl GetBallPosition__7CPlayerCFv
/* 80009F1C 00006E7C C3 41 00 90 */ lfs f26, 0x90(r1)
/* 80009F20 00006E80 38 61 00 CC */ addi r3, r1, 0xcc
/* 80009F24 00006E84 C0 41 00 94 */ lfs f2, 0x94(r1)
/* 80009F28 00006E88 C0 21 00 98 */ lfs f1, 0x98(r1)
/* 80009F2C 00006E8C EC 1D D0 28 */ fsubs f0, f29, f26
/* 80009F30 00006E90 EF 3C 10 28 */ fsubs f25, f28, f2
/* 80009F34 00006E94 EF 1B 08 28 */ fsubs f24, f27, f1
/* 80009F38 00006E98 D0 01 00 CC */ stfs f0, 0xcc(r1)
/* 80009F3C 00006E9C D3 21 00 D0 */ stfs f25, 0xd0(r1)
/* 80009F40 00006EA0 D3 01 00 D4 */ stfs f24, 0xd4(r1)
/* 80009F44 00006EA4 48 30 A7 B5 */ bl CanBeNormalized__9CVector3fCFv
/* 80009F48 00006EA8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80009F4C 00006EAC 41 82 00 10 */ beq lbl_80009F5C
/* 80009F50 00006EB0 38 61 00 CC */ addi r3, r1, 0xcc
/* 80009F54 00006EB4 48 30 A9 A5 */ bl Normalize__9CVector3fFv
/* 80009F58 00006EB8 48 00 00 1C */ b lbl_80009F74
lbl_80009F5C:
/* 80009F5C 00006EBC C0 58 00 58 */ lfs f2, 0x58(r24)
/* 80009F60 00006EC0 C0 38 00 48 */ lfs f1, 0x48(r24)
/* 80009F64 00006EC4 C0 18 00 38 */ lfs f0, 0x38(r24)
/* 80009F68 00006EC8 D0 01 00 CC */ stfs f0, 0xcc(r1)
/* 80009F6C 00006ECC D0 21 00 D0 */ stfs f1, 0xd0(r1)
/* 80009F70 00006ED0 D0 41 00 D4 */ stfs f2, 0xd4(r1)
lbl_80009F74:
/* 80009F74 00006ED4 EF 5D D0 28 */ fsubs f26, f29, f26
/* 80009F78 00006ED8 CB E2 80 68 */ lfd f31, lbl_805A9D88@sda21(r2)
/* 80009F7C 00006EDC 3B 5D 00 08 */ addi r26, r29, 8
/* 80009F80 00006EE0 48 00 01 DC */ b lbl_8000A15C
lbl_80009F84:
/* 80009F84 00006EE4 A0 1A 00 04 */ lhz r0, 4(r26)
/* 80009F88 00006EE8 7F E3 FB 78 */ mr r3, r31
/* 80009F8C 00006EEC 38 81 00 1C */ addi r4, r1, 0x1c
/* 80009F90 00006EF0 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 80009F94 00006EF4 48 04 25 E1 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80009F98 00006EF8 7C 64 1B 78 */ mr r4, r3
/* 80009F9C 00006EFC 38 61 00 6C */ addi r3, r1, 0x6c
/* 80009FA0 00006F00 48 0A 14 2D */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 80009FA4 00006F04 83 63 00 04 */ lwz r27, 4(r3)
/* 80009FA8 00006F08 28 1B 00 00 */ cmplwi r27, 0
/* 80009FAC 00006F0C 41 82 01 C4 */ beq lbl_8000A170
/* 80009FB0 00006F10 80 1B 00 F0 */ lwz r0, 0xf0(r27)
/* 80009FB4 00006F14 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 80009FB8 00006F18 41 82 01 B8 */ beq lbl_8000A170
/* 80009FBC 00006F1C 80 7B 00 E8 */ lwz r3, 0xe8(r27)
/* 80009FC0 00006F20 80 18 00 E8 */ lwz r0, 0xe8(r24)
/* 80009FC4 00006F24 7C 03 00 00 */ cmpw r3, r0
/* 80009FC8 00006F28 40 82 01 A8 */ bne lbl_8000A170
/* 80009FCC 00006F2C 80 7B 00 04 */ lwz r3, 4(r27)
/* 80009FD0 00006F30 80 18 00 04 */ lwz r0, 4(r24)
/* 80009FD4 00006F34 7C 03 00 00 */ cmpw r3, r0
/* 80009FD8 00006F38 40 82 01 98 */ bne lbl_8000A170
/* 80009FDC 00006F3C C0 58 00 50 */ lfs f2, 0x50(r24)
/* 80009FE0 00006F40 38 61 00 C0 */ addi r3, r1, 0xc0
/* 80009FE4 00006F44 C0 38 00 60 */ lfs f1, 0x60(r24)
/* 80009FE8 00006F48 C0 18 00 40 */ lfs f0, 0x40(r24)
/* 80009FEC 00006F4C EC 5C 10 28 */ fsubs f2, f28, f2
/* 80009FF0 00006F50 EC 3B 08 28 */ fsubs f1, f27, f1
/* 80009FF4 00006F54 EC 1D 00 28 */ fsubs f0, f29, f0
/* 80009FF8 00006F58 D0 41 00 C4 */ stfs f2, 0xc4(r1)
/* 80009FFC 00006F5C D0 01 00 C0 */ stfs f0, 0xc0(r1)
/* 8000A000 00006F60 D0 21 00 C8 */ stfs f1, 0xc8(r1)
/* 8000A004 00006F64 48 30 A6 F5 */ bl CanBeNormalized__9CVector3fCFv
/* 8000A008 00006F68 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000A00C 00006F6C 41 82 00 10 */ beq lbl_8000A01C
/* 8000A010 00006F70 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8000A014 00006F74 48 30 A8 E5 */ bl Normalize__9CVector3fFv
/* 8000A018 00006F78 48 00 00 1C */ b lbl_8000A034
lbl_8000A01C:
/* 8000A01C 00006F7C C0 58 00 58 */ lfs f2, 0x58(r24)
/* 8000A020 00006F80 C0 38 00 48 */ lfs f1, 0x48(r24)
/* 8000A024 00006F84 C0 18 00 38 */ lfs f0, 0x38(r24)
/* 8000A028 00006F88 D0 01 00 C0 */ stfs f0, 0xc0(r1)
/* 8000A02C 00006F8C D0 21 00 C4 */ stfs f1, 0xc4(r1)
/* 8000A030 00006F90 D0 41 00 C8 */ stfs f2, 0xc8(r1)
lbl_8000A034:
/* 8000A034 00006F94 C0 21 00 C4 */ lfs f1, 0xc4(r1)
/* 8000A038 00006F98 C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 8000A03C 00006F9C C0 41 00 C0 */ lfs f2, 0xc0(r1)
/* 8000A040 00006FA0 EC 01 00 32 */ fmuls f0, f1, f0
/* 8000A044 00006FA4 C0 21 00 CC */ lfs f1, 0xcc(r1)
/* 8000A048 00006FA8 C0 81 00 C8 */ lfs f4, 0xc8(r1)
/* 8000A04C 00006FAC C0 61 00 D4 */ lfs f3, 0xd4(r1)
/* 8000A050 00006FB0 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 8000A054 00006FB4 EF C4 00 FA */ fmadds f30, f4, f3, f0
/* 8000A058 00006FB8 FC 00 F2 10 */ fabs f0, f30
/* 8000A05C 00006FBC FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 8000A060 00006FC0 40 81 00 14 */ ble lbl_8000A074
/* 8000A064 00006FC4 C0 02 80 70 */ lfs f0, lbl_805A9D90@sda21(r2)
/* 8000A068 00006FC8 C0 22 80 74 */ lfs f1, lbl_805A9D94@sda21(r2)
/* 8000A06C 00006FCC FC 1E 00 6E */ fsel f0, f30, f1, f0
/* 8000A070 00006FD0 EF C1 00 32 */ fmuls f30, f1, f0
lbl_8000A074:
/* 8000A074 00006FD4 D3 41 00 B4 */ stfs f26, 0xb4(r1)
/* 8000A078 00006FD8 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8000A07C 00006FDC D3 21 00 B8 */ stfs f25, 0xb8(r1)
/* 8000A080 00006FE0 D3 01 00 BC */ stfs f24, 0xbc(r1)
/* 8000A084 00006FE4 48 30 A6 75 */ bl CanBeNormalized__9CVector3fCFv
/* 8000A088 00006FE8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000A08C 00006FEC 41 82 00 10 */ beq lbl_8000A09C
/* 8000A090 00006FF0 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8000A094 00006FF4 48 30 A8 65 */ bl Normalize__9CVector3fFv
/* 8000A098 00006FF8 48 00 00 1C */ b lbl_8000A0B4
lbl_8000A09C:
/* 8000A09C 00006FFC C0 5B 00 58 */ lfs f2, 0x58(r27)
/* 8000A0A0 00007000 C0 3B 00 48 */ lfs f1, 0x48(r27)
/* 8000A0A4 00007004 C0 1B 00 38 */ lfs f0, 0x38(r27)
/* 8000A0A8 00007008 D0 01 00 B4 */ stfs f0, 0xb4(r1)
/* 8000A0AC 0000700C D0 21 00 B8 */ stfs f1, 0xb8(r1)
/* 8000A0B0 00007010 D0 41 00 BC */ stfs f2, 0xbc(r1)
lbl_8000A0B4:
/* 8000A0B4 00007014 C0 5B 00 50 */ lfs f2, 0x50(r27)
/* 8000A0B8 00007018 38 61 00 A8 */ addi r3, r1, 0xa8
/* 8000A0BC 0000701C C0 3B 00 60 */ lfs f1, 0x60(r27)
/* 8000A0C0 00007020 C0 1B 00 40 */ lfs f0, 0x40(r27)
/* 8000A0C4 00007024 EC 5C 10 28 */ fsubs f2, f28, f2
/* 8000A0C8 00007028 EC 3B 08 28 */ fsubs f1, f27, f1
/* 8000A0CC 0000702C EC 1D 00 28 */ fsubs f0, f29, f0
/* 8000A0D0 00007030 D0 41 00 AC */ stfs f2, 0xac(r1)
/* 8000A0D4 00007034 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 8000A0D8 00007038 D0 21 00 B0 */ stfs f1, 0xb0(r1)
/* 8000A0DC 0000703C 48 30 A6 1D */ bl CanBeNormalized__9CVector3fCFv
/* 8000A0E0 00007040 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000A0E4 00007044 41 82 00 10 */ beq lbl_8000A0F4
/* 8000A0E8 00007048 38 61 00 A8 */ addi r3, r1, 0xa8
/* 8000A0EC 0000704C 48 30 A8 0D */ bl Normalize__9CVector3fFv
/* 8000A0F0 00007050 48 00 00 1C */ b lbl_8000A10C
lbl_8000A0F4:
/* 8000A0F4 00007054 C0 5B 00 58 */ lfs f2, 0x58(r27)
/* 8000A0F8 00007058 C0 3B 00 48 */ lfs f1, 0x48(r27)
/* 8000A0FC 0000705C C0 1B 00 38 */ lfs f0, 0x38(r27)
/* 8000A100 00007060 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 8000A104 00007064 D0 21 00 AC */ stfs f1, 0xac(r1)
/* 8000A108 00007068 D0 41 00 B0 */ stfs f2, 0xb0(r1)
lbl_8000A10C:
/* 8000A10C 0000706C C0 21 00 AC */ lfs f1, 0xac(r1)
/* 8000A110 00007070 C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 8000A114 00007074 C0 41 00 A8 */ lfs f2, 0xa8(r1)
/* 8000A118 00007078 EC 01 00 32 */ fmuls f0, f1, f0
/* 8000A11C 0000707C C0 21 00 B4 */ lfs f1, 0xb4(r1)
/* 8000A120 00007080 C0 81 00 B0 */ lfs f4, 0xb0(r1)
/* 8000A124 00007084 C0 61 00 BC */ lfs f3, 0xbc(r1)
/* 8000A128 00007088 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 8000A12C 0000708C EC 24 00 FA */ fmadds f1, f4, f3, f0
/* 8000A130 00007090 FC 00 0A 10 */ fabs f0, f1
/* 8000A134 00007094 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 8000A138 00007098 40 81 00 14 */ ble lbl_8000A14C
/* 8000A13C 0000709C C0 02 80 70 */ lfs f0, lbl_805A9D90@sda21(r2)
/* 8000A140 000070A0 C0 42 80 74 */ lfs f2, lbl_805A9D94@sda21(r2)
/* 8000A144 000070A4 FC 01 00 AE */ fsel f0, f1, f2, f0
/* 8000A148 000070A8 EC 22 00 32 */ fmuls f1, f2, f0
lbl_8000A14C:
/* 8000A14C 000070AC FC 01 F0 40 */ fcmpo cr0, f1, f30
/* 8000A150 000070B0 40 81 00 08 */ ble lbl_8000A158
/* 8000A154 000070B4 7F 78 DB 78 */ mr r24, r27
lbl_8000A158:
/* 8000A158 000070B8 3B 5A 00 08 */ addi r26, r26, 8
lbl_8000A15C:
/* 8000A15C 000070BC 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 8000A160 000070C0 54 00 18 38 */ slwi r0, r0, 3
/* 8000A164 000070C4 7C 1D 02 14 */ add r0, r29, r0
/* 8000A168 000070C8 7C 1A 00 40 */ cmplw r26, r0
/* 8000A16C 000070CC 40 82 FE 18 */ bne lbl_80009F84
lbl_8000A170:
/* 8000A170 000070D0 A0 78 00 08 */ lhz r3, 8(r24)
/* 8000A174 000070D4 A0 1E 00 A6 */ lhz r0, 0xa6(r30)
/* 8000A178 000070D8 7C 03 00 40 */ cmplw r3, r0
/* 8000A17C 000070DC 41 82 00 B4 */ beq lbl_8000A230
/* 8000A180 000070E0 3B 20 00 01 */ li r25, 1
/* 8000A184 000070E4 48 00 00 AC */ b lbl_8000A230
lbl_8000A188:
/* 8000A188 000070E8 A0 7E 00 A6 */ lhz r3, 0xa6(r30)
/* 8000A18C 000070EC A0 18 00 08 */ lhz r0, 8(r24)
/* 8000A190 000070F0 7C 03 00 40 */ cmplw r3, r0
/* 8000A194 000070F4 41 82 00 9C */ beq lbl_8000A230
/* 8000A198 000070F8 80 18 00 F4 */ lwz r0, 0xf4(r24)
/* 8000A19C 000070FC 2C 00 00 03 */ cmpwi r0, 3
/* 8000A1A0 00007100 40 82 00 8C */ bne lbl_8000A22C
/* 8000A1A4 00007104 54 80 06 B5 */ rlwinm. r0, r4, 0, 0x1a, 0x1a
/* 8000A1A8 00007108 41 82 00 48 */ beq lbl_8000A1F0
/* 8000A1AC 0000710C 80 9E 00 80 */ lwz r4, 0x80(r30)
/* 8000A1B0 00007110 3C 60 80 5A */ lis r3, lbl_805A66F4@ha
/* 8000A1B4 00007114 C0 58 00 60 */ lfs f2, 0x60(r24)
/* 8000A1B8 00007118 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l
/* 8000A1BC 0000711C C0 38 00 50 */ lfs f1, 0x50(r24)
/* 8000A1C0 00007120 38 A4 01 D8 */ addi r5, r4, 0x1d8
/* 8000A1C4 00007124 C0 18 00 40 */ lfs f0, 0x40(r24)
/* 8000A1C8 00007128 38 61 00 FC */ addi r3, r1, 0xfc
/* 8000A1CC 0000712C 38 81 00 84 */ addi r4, r1, 0x84
/* 8000A1D0 00007130 D0 01 00 84 */ stfs f0, 0x84(r1)
/* 8000A1D4 00007134 D0 21 00 88 */ stfs f1, 0x88(r1)
/* 8000A1D8 00007138 D0 41 00 8C */ stfs f2, 0x8c(r1)
/* 8000A1DC 0000713C 48 30 99 35 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 8000A1E0 00007140 80 7E 00 80 */ lwz r3, 0x80(r30)
/* 8000A1E4 00007144 7F E5 FB 78 */ mr r5, r31
/* 8000A1E8 00007148 38 81 00 FC */ addi r4, r1, 0xfc
/* 8000A1EC 0000714C 48 08 28 0D */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager
lbl_8000A1F0:
/* 8000A1F0 00007150 A0 18 00 08 */ lhz r0, 8(r24)
/* 8000A1F4 00007154 7F C3 F3 78 */ mr r3, r30
/* 8000A1F8 00007158 7F E5 FB 78 */ mr r5, r31
/* 8000A1FC 0000715C 38 81 00 18 */ addi r4, r1, 0x18
/* 8000A200 00007160 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8000A204 00007164 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8000A208 00007168 4B FF F3 75 */ bl DeleteCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager
/* 8000A20C 0000716C 80 18 00 F0 */ lwz r0, 0xf0(r24)
/* 8000A210 00007170 54 00 04 A5 */ rlwinm. r0, r0, 0, 0x12, 0x12
/* 8000A214 00007174 41 82 00 10 */ beq lbl_8000A224
/* 8000A218 00007178 7F C3 F3 78 */ mr r3, r30
/* 8000A21C 0000717C 7F E4 FB 78 */ mr r4, r31
/* 8000A220 00007180 48 00 04 81 */ bl SkipBallCameraCinematic__14CCameraManagerFR13CStateManager
lbl_8000A224:
/* 8000A224 00007184 3B 20 00 00 */ li r25, 0
/* 8000A228 00007188 48 00 00 08 */ b lbl_8000A230
lbl_8000A22C:
/* 8000A22C 0000718C 3B 20 00 01 */ li r25, 1
lbl_8000A230:
/* 8000A230 00007190 57 20 06 3F */ clrlwi. r0, r25, 0x18
/* 8000A234 00007194 41 82 00 14 */ beq lbl_8000A248
/* 8000A238 00007198 7F C3 F3 78 */ mr r3, r30
/* 8000A23C 0000719C 7F 04 C3 78 */ mr r4, r24
/* 8000A240 000071A0 7F E5 FB 78 */ mr r5, r31
/* 8000A244 000071A4 48 00 02 45 */ bl ApplyCameraHint__14CCameraManagerFRC17CScriptCameraHintR13CStateManager
lbl_8000A248:
/* 8000A248 000071A8 E3 E1 01 F8 */ psq_l f31, 504(r1), 0, qr0
/* 8000A24C 000071AC CB E1 01 F0 */ lfd f31, 0x1f0(r1)
/* 8000A250 000071B0 E3 C1 01 E8 */ psq_l f30, 488(r1), 0, qr0
/* 8000A254 000071B4 CB C1 01 E0 */ lfd f30, 0x1e0(r1)
/* 8000A258 000071B8 E3 A1 01 D8 */ psq_l f29, 472(r1), 0, qr0
/* 8000A25C 000071BC CB A1 01 D0 */ lfd f29, 0x1d0(r1)
/* 8000A260 000071C0 E3 81 01 C8 */ psq_l f28, 456(r1), 0, qr0
/* 8000A264 000071C4 CB 81 01 C0 */ lfd f28, 0x1c0(r1)
/* 8000A268 000071C8 E3 61 01 B8 */ psq_l f27, 440(r1), 0, qr0
/* 8000A26C 000071CC CB 61 01 B0 */ lfd f27, 0x1b0(r1)
/* 8000A270 000071D0 E3 41 01 A8 */ psq_l f26, 424(r1), 0, qr0
/* 8000A274 000071D4 CB 41 01 A0 */ lfd f26, 0x1a0(r1)
/* 8000A278 000071D8 E3 21 01 98 */ psq_l f25, 408(r1), 0, qr0
/* 8000A27C 000071DC CB 21 01 90 */ lfd f25, 0x190(r1)
/* 8000A280 000071E0 E3 01 01 88 */ psq_l f24, 392(r1), 0, qr0
/* 8000A284 000071E4 CB 01 01 80 */ lfd f24, 0x180(r1)
/* 8000A288 000071E8 BB 01 01 60 */ lmw r24, 0x160(r1)
/* 8000A28C 000071EC 80 01 02 04 */ lwz r0, 0x204(r1)
/* 8000A290 000071F0 7C 08 03 A6 */ mtlr r0
/* 8000A294 000071F4 38 21 02 00 */ addi r1, r1, 0x200
/* 8000A298 000071F8 4E 80 00 20 */ blr
.global RestoreHintlessCamera__14CCameraManagerFR13CStateManager
RestoreHintlessCamera__14CCameraManagerFR13CStateManager:
/* 8000A29C 000071FC 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8000A2A0 00007200 7C 08 02 A6 */ mflr r0
/* 8000A2A4 00007204 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8000A2A8 00007208 93 E1 00 AC */ stw r31, 0xac(r1)
/* 8000A2AC 0000720C 93 C1 00 A8 */ stw r30, 0xa8(r1)
/* 8000A2B0 00007210 7C 9E 23 78 */ mr r30, r4
/* 8000A2B4 00007214 38 81 00 10 */ addi r4, r1, 0x10
/* 8000A2B8 00007218 93 A1 00 A4 */ stw r29, 0xa4(r1)
/* 8000A2BC 0000721C 7C 7D 1B 78 */ mr r29, r3
/* 8000A2C0 00007220 A0 03 00 A6 */ lhz r0, 0xa6(r3)
/* 8000A2C4 00007224 7F C3 F3 78 */ mr r3, r30
/* 8000A2C8 00007228 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8000A2CC 0000722C 48 04 22 A9 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8000A2D0 00007230 7C 64 1B 78 */ mr r4, r3
/* 8000A2D4 00007234 38 61 00 14 */ addi r3, r1, 0x14
/* 8000A2D8 00007238 48 0A 10 F5 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 8000A2DC 0000723C 80 9D 00 80 */ lwz r4, 0x80(r29)
/* 8000A2E0 00007240 83 E3 00 04 */ lwz r31, 4(r3)
/* 8000A2E4 00007244 38 61 00 70 */ addi r3, r1, 0x70
/* 8000A2E8 00007248 38 84 00 34 */ addi r4, r4, 0x34
/* 8000A2EC 0000724C 48 30 88 89 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8000A2F0 00007250 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13)
/* 8000A2F4 00007254 28 1F 00 00 */ cmplwi r31, 0
/* 8000A2F8 00007258 38 00 03 E8 */ li r0, 0x3e8
/* 8000A2FC 0000725C B0 7D 00 A6 */ sth r3, 0xa6(r29)
/* 8000A300 00007260 90 1D 00 A8 */ stw r0, 0xa8(r29)
/* 8000A304 00007264 41 82 01 68 */ beq lbl_8000A46C
/* 8000A308 00007268 80 9E 08 4C */ lwz r4, 0x84c(r30)
/* 8000A30C 0000726C 38 61 00 34 */ addi r3, r1, 0x34
/* 8000A310 00007270 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 8000A314 00007274 C0 24 00 60 */ lfs f1, 0x60(r4)
/* 8000A318 00007278 C0 64 00 50 */ lfs f3, 0x50(r4)
/* 8000A31C 0000727C C0 41 00 8C */ lfs f2, 0x8c(r1)
/* 8000A320 00007280 EC 81 00 28 */ fsubs f4, f1, f0
/* 8000A324 00007284 C0 24 00 40 */ lfs f1, 0x40(r4)
/* 8000A328 00007288 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 8000A32C 0000728C EC 43 10 28 */ fsubs f2, f3, f2
/* 8000A330 00007290 D0 81 00 3C */ stfs f4, 0x3c(r1)
/* 8000A334 00007294 EC 21 00 28 */ fsubs f1, f1, f0
/* 8000A338 00007298 C0 02 80 80 */ lfs f0, lbl_805A9DA0@sda21(r2)
/* 8000A33C 0000729C D0 41 00 38 */ stfs f2, 0x38(r1)
/* 8000A340 000072A0 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 8000A344 000072A4 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 8000A348 000072A8 48 30 A3 B1 */ bl CanBeNormalized__9CVector3fCFv
/* 8000A34C 000072AC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000A350 000072B0 41 82 00 10 */ beq lbl_8000A360
/* 8000A354 000072B4 38 61 00 34 */ addi r3, r1, 0x34
/* 8000A358 000072B8 48 30 A5 A1 */ bl Normalize__9CVector3fFv
/* 8000A35C 000072BC 48 00 00 20 */ b lbl_8000A37C
lbl_8000A360:
/* 8000A360 000072C0 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 8000A364 000072C4 C0 03 05 0C */ lfs f0, 0x50c(r3)
/* 8000A368 000072C8 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 8000A36C 000072CC C0 03 05 10 */ lfs f0, 0x510(r3)
/* 8000A370 000072D0 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 8000A374 000072D4 C0 03 05 14 */ lfs f0, 0x514(r3)
/* 8000A378 000072D8 D0 01 00 3C */ stfs f0, 0x3c(r1)
lbl_8000A37C:
/* 8000A37C 000072DC 80 7D 00 80 */ lwz r3, 0x80(r29)
/* 8000A380 000072E0 7F C4 F3 78 */ mr r4, r30
/* 8000A384 000072E4 48 08 24 41 */ bl ResetToTweaks__11CBallCameraFR13CStateManager
/* 8000A388 000072E8 80 7D 00 80 */ lwz r3, 0x80(r29)
/* 8000A38C 000072EC 7F C4 F3 78 */ mr r4, r30
/* 8000A390 000072F0 C0 22 80 80 */ lfs f1, lbl_805A9DA0@sda21(r2)
/* 8000A394 000072F4 48 07 96 D1 */ bl UpdateLookAtPosition__11CBallCameraFfR13CStateManager
/* 8000A398 000072F8 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 8000A39C 000072FC 48 00 FE 79 */ bl IsMorphBallTransitioning__7CPlayerCFv
/* 8000A3A0 00007300 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000A3A4 00007304 40 82 00 C8 */ bne lbl_8000A46C
/* 8000A3A8 00007308 80 1F 00 F4 */ lwz r0, 0xf4(r31)
/* 8000A3AC 0000730C 2C 00 00 00 */ cmpwi r0, 0
/* 8000A3B0 00007310 41 82 00 BC */ beq lbl_8000A46C
/* 8000A3B4 00007314 80 1F 00 F0 */ lwz r0, 0xf0(r31)
/* 8000A3B8 00007318 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 8000A3BC 0000731C 41 82 00 20 */ beq lbl_8000A3DC
/* 8000A3C0 00007320 C0 1F 01 38 */ lfs f0, 0x138(r31)
/* 8000A3C4 00007324 80 7D 00 80 */ lwz r3, 0x80(r29)
/* 8000A3C8 00007328 D0 03 04 74 */ stfs f0, 0x474(r3)
/* 8000A3CC 0000732C C0 1F 01 48 */ lfs f0, 0x148(r31)
/* 8000A3D0 00007330 80 7D 00 80 */ lwz r3, 0x80(r29)
/* 8000A3D4 00007334 D0 03 04 70 */ stfs f0, 0x470(r3)
/* 8000A3D8 00007338 48 00 00 94 */ b lbl_8000A46C
lbl_8000A3DC:
/* 8000A3DC 0000733C 80 E1 00 34 */ lwz r7, 0x34(r1)
/* 8000A3E0 00007340 7F C6 F3 78 */ mr r6, r30
/* 8000A3E4 00007344 80 81 00 38 */ lwz r4, 0x38(r1)
/* 8000A3E8 00007348 38 61 00 40 */ addi r3, r1, 0x40
/* 8000A3EC 0000734C 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8000A3F0 00007350 38 A1 00 28 */ addi r5, r1, 0x28
/* 8000A3F4 00007354 90 E1 00 28 */ stw r7, 0x28(r1)
/* 8000A3F8 00007358 90 81 00 2C */ stw r4, 0x2c(r1)
/* 8000A3FC 0000735C 90 01 00 30 */ stw r0, 0x30(r1)
/* 8000A400 00007360 80 9D 00 80 */ lwz r4, 0x80(r29)
/* 8000A404 00007364 48 07 F7 7D */ bl UpdateLookDirection__11CBallCameraFRC9CVector3fR13CStateManager
/* 8000A408 00007368 80 7D 00 80 */ lwz r3, 0x80(r29)
/* 8000A40C 0000736C 7F C5 F3 78 */ mr r5, r30
/* 8000A410 00007370 38 81 00 40 */ addi r4, r1, 0x40
/* 8000A414 00007374 48 08 25 E5 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager
/* 8000A418 00007378 81 3D 00 80 */ lwz r9, 0x80(r29)
/* 8000A41C 0000737C 7F A3 EB 78 */ mr r3, r29
/* 8000A420 00007380 80 1F 00 F0 */ lwz r0, 0xf0(r31)
/* 8000A424 00007384 7F C8 F3 78 */ mr r8, r30
/* 8000A428 00007388 C0 7F 01 3C */ lfs f3, 0x13c(r31)
/* 8000A42C 0000738C 38 81 00 70 */ addi r4, r1, 0x70
/* 8000A430 00007390 54 07 AF FE */ rlwinm r7, r0, 0x15, 0x1f, 0x1f
/* 8000A434 00007394 C0 5F 01 38 */ lfs f2, 0x138(r31)
/* 8000A438 00007398 C0 3F 01 48 */ lfs f1, 0x148(r31)
/* 8000A43C 0000739C 38 C1 00 1C */ addi r6, r1, 0x1c
/* 8000A440 000073A0 80 A9 01 D8 */ lwz r5, 0x1d8(r9)
/* 8000A444 000073A4 80 09 01 DC */ lwz r0, 0x1dc(r9)
/* 8000A448 000073A8 90 A1 00 1C */ stw r5, 0x1c(r1)
/* 8000A44C 000073AC 38 A1 00 0C */ addi r5, r1, 0xc
/* 8000A450 000073B0 90 01 00 20 */ stw r0, 0x20(r1)
/* 8000A454 000073B4 80 09 01 E0 */ lwz r0, 0x1e0(r9)
/* 8000A458 000073B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000A45C 000073BC A0 09 00 08 */ lhz r0, 8(r9)
/* 8000A460 000073C0 B0 01 00 08 */ sth r0, 8(r1)
/* 8000A464 000073C4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000A468 000073C8 48 00 03 01 */ bl InterpolateToBallCamera__14CCameraManagerFRC12CTransform4f9TUniqueIdRC9CVector3ffffbR13CStateManager
lbl_8000A46C:
/* 8000A46C 000073CC 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8000A470 000073D0 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 8000A474 000073D4 83 C1 00 A8 */ lwz r30, 0xa8(r1)
/* 8000A478 000073D8 83 A1 00 A4 */ lwz r29, 0xa4(r1)
/* 8000A47C 000073DC 7C 08 03 A6 */ mtlr r0
/* 8000A480 000073E0 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8000A484 000073E4 4E 80 00 20 */ blr
.global ApplyCameraHint__14CCameraManagerFRC17CScriptCameraHintR13CStateManager
ApplyCameraHint__14CCameraManagerFRC17CScriptCameraHintR13CStateManager:
/* 8000A488 000073E8 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8000A48C 000073EC 7C 08 02 A6 */ mflr r0
/* 8000A490 000073F0 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8000A494 000073F4 93 E1 00 AC */ stw r31, 0xac(r1)
/* 8000A498 000073F8 93 C1 00 A8 */ stw r30, 0xa8(r1)
/* 8000A49C 000073FC 7C BE 2B 78 */ mr r30, r5
/* 8000A4A0 00007400 93 A1 00 A4 */ stw r29, 0xa4(r1)
/* 8000A4A4 00007404 7C 9D 23 78 */ mr r29, r4
/* 8000A4A8 00007408 93 81 00 A0 */ stw r28, 0xa0(r1)
/* 8000A4AC 0000740C 7C 7C 1B 78 */ mr r28, r3
/* 8000A4B0 00007410 80 63 00 80 */ lwz r3, 0x80(r3)
/* 8000A4B4 00007414 80 03 04 00 */ lwz r0, 0x400(r3)
/* 8000A4B8 00007418 2C 00 00 04 */ cmpwi r0, 4
/* 8000A4BC 0000741C 40 82 00 1C */ bne lbl_8000A4D8
/* 8000A4C0 00007420 38 80 00 00 */ li r4, 0
/* 8000A4C4 00007424 48 07 87 D9 */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager
/* 8000A4C8 00007428 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 8000A4CC 0000742C 7F C5 F3 78 */ mr r5, r30
/* 8000A4D0 00007430 38 80 00 01 */ li r4, 1
/* 8000A4D4 00007434 48 00 CD C9 */ bl SetCameraState__7CPlayerFQ27CPlayer18EPlayerCameraStateR13CStateManager
lbl_8000A4D8:
/* 8000A4D8 00007438 A0 1C 00 A6 */ lhz r0, 0xa6(r28)
/* 8000A4DC 0000743C 7F C3 F3 78 */ mr r3, r30
/* 8000A4E0 00007440 38 81 00 28 */ addi r4, r1, 0x28
/* 8000A4E4 00007444 B0 01 00 28 */ sth r0, 0x28(r1)
/* 8000A4E8 00007448 48 04 20 8D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8000A4EC 0000744C 7C 64 1B 78 */ mr r4, r3
/* 8000A4F0 00007450 38 61 00 2C */ addi r3, r1, 0x2c
/* 8000A4F4 00007454 48 0A 0E D9 */ bl "__ct__31TCastToPtr<17CScriptCameraHint>FP7CEntity"
/* 8000A4F8 00007458 83 E3 00 04 */ lwz r31, 4(r3)
/* 8000A4FC 0000745C 7F 84 E3 78 */ mr r4, r28
/* 8000A500 00007460 A0 1D 00 08 */ lhz r0, 8(r29)
/* 8000A504 00007464 7F C5 F3 78 */ mr r5, r30
/* 8000A508 00007468 38 61 00 40 */ addi r3, r1, 0x40
/* 8000A50C 0000746C B0 1C 00 A6 */ sth r0, 0xa6(r28)
/* 8000A510 00007470 80 1D 00 E8 */ lwz r0, 0xe8(r29)
/* 8000A514 00007474 90 1C 00 A8 */ stw r0, 0xa8(r28)
/* 8000A518 00007478 48 00 04 51 */ bl GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager
/* 8000A51C 0000747C 38 61 00 70 */ addi r3, r1, 0x70
/* 8000A520 00007480 38 81 00 40 */ addi r4, r1, 0x40
/* 8000A524 00007484 48 30 86 51 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8000A528 00007488 80 7C 00 80 */ lwz r3, 0x80(r28)
/* 8000A52C 0000748C 7F C4 F3 78 */ mr r4, r30
/* 8000A530 00007490 48 07 79 51 */ bl ApplyCameraHint__11CBallCameraFR13CStateManager
/* 8000A534 00007494 80 1D 00 F0 */ lwz r0, 0xf0(r29)
/* 8000A538 00007498 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 8000A53C 0000749C 41 82 00 10 */ beq lbl_8000A54C
/* 8000A540 000074A0 80 7C 00 80 */ lwz r3, 0x80(r28)
/* 8000A544 000074A4 7F C4 F3 78 */ mr r4, r30
/* 8000A548 000074A8 48 08 25 49 */ bl ResetPosition__11CBallCameraFR13CStateManager
lbl_8000A54C:
/* 8000A54C 000074AC 80 1D 00 F4 */ lwz r0, 0xf4(r29)
/* 8000A550 000074B0 2C 00 00 08 */ cmpwi r0, 8
/* 8000A554 000074B4 41 82 00 34 */ beq lbl_8000A588
/* 8000A558 000074B8 40 80 00 50 */ bge lbl_8000A5A8
/* 8000A55C 000074BC 2C 00 00 06 */ cmpwi r0, 6
/* 8000A560 000074C0 40 80 00 08 */ bge lbl_8000A568
/* 8000A564 000074C4 48 00 00 44 */ b lbl_8000A5A8
lbl_8000A568:
/* 8000A568 000074C8 A0 1D 01 64 */ lhz r0, 0x164(r29)
/* 8000A56C 000074CC 7F 83 E3 78 */ mr r3, r28
/* 8000A570 000074D0 7F C5 F3 78 */ mr r5, r30
/* 8000A574 000074D4 38 81 00 24 */ addi r4, r1, 0x24
/* 8000A578 000074D8 B0 01 00 20 */ sth r0, 0x20(r1)
/* 8000A57C 000074DC B0 01 00 24 */ sth r0, 0x24(r1)
/* 8000A580 000074E0 4B FF ED 49 */ bl SetPathCamera__14CCameraManagerF9TUniqueIdR13CStateManager
/* 8000A584 000074E4 48 00 00 54 */ b lbl_8000A5D8
lbl_8000A588:
/* 8000A588 000074E8 A0 1D 01 64 */ lhz r0, 0x164(r29)
/* 8000A58C 000074EC 7F 83 E3 78 */ mr r3, r28
/* 8000A590 000074F0 7F C5 F3 78 */ mr r5, r30
/* 8000A594 000074F4 38 81 00 1C */ addi r4, r1, 0x1c
/* 8000A598 000074F8 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8000A59C 000074FC B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8000A5A0 00007500 4B FF EC 71 */ bl SetSpindleCamera__14CCameraManagerF9TUniqueIdR13CStateManager
/* 8000A5A4 00007504 48 00 00 34 */ b lbl_8000A5D8
lbl_8000A5A8:
/* 8000A5A8 00007508 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8000A5AC 0000750C 7F 83 E3 78 */ mr r3, r28
/* 8000A5B0 00007510 7F C5 F3 78 */ mr r5, r30
/* 8000A5B4 00007514 38 81 00 14 */ addi r4, r1, 0x14
/* 8000A5B8 00007518 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8000A5BC 0000751C 4B FF ED 0D */ bl SetPathCamera__14CCameraManagerF9TUniqueIdR13CStateManager
/* 8000A5C0 00007520 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8000A5C4 00007524 7F 83 E3 78 */ mr r3, r28
/* 8000A5C8 00007528 7F C5 F3 78 */ mr r5, r30
/* 8000A5CC 0000752C 38 81 00 10 */ addi r4, r1, 0x10
/* 8000A5D0 00007530 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8000A5D4 00007534 4B FF EC 3D */ bl SetSpindleCamera__14CCameraManagerF9TUniqueIdR13CStateManager
lbl_8000A5D8:
/* 8000A5D8 00007538 80 1D 00 F0 */ lwz r0, 0xf0(r29)
/* 8000A5DC 0000753C 54 00 04 A5 */ rlwinm. r0, r0, 0, 0x12, 0x12
/* 8000A5E0 00007540 41 82 00 10 */ beq lbl_8000A5F0
/* 8000A5E4 00007544 7F 83 E3 78 */ mr r3, r28
/* 8000A5E8 00007548 7F C4 F3 78 */ mr r4, r30
/* 8000A5EC 0000754C 48 00 00 B5 */ bl SkipBallCameraCinematic__14CCameraManagerFR13CStateManager
lbl_8000A5F0:
/* 8000A5F0 00007550 80 7C 00 80 */ lwz r3, 0x80(r28)
/* 8000A5F4 00007554 7F C4 F3 78 */ mr r4, r30
/* 8000A5F8 00007558 C0 22 80 80 */ lfs f1, lbl_805A9DA0@sda21(r2)
/* 8000A5FC 0000755C 48 07 94 69 */ bl UpdateLookAtPosition__11CBallCameraFfR13CStateManager
/* 8000A600 00007560 80 FD 00 F0 */ lwz r7, 0xf0(r29)
/* 8000A604 00007564 54 E0 06 B5 */ rlwinm. r0, r7, 0, 0x1a, 0x1a
/* 8000A608 00007568 40 82 00 78 */ bne lbl_8000A680
/* 8000A60C 0000756C 80 1D 00 F4 */ lwz r0, 0xf4(r29)
/* 8000A610 00007570 2C 00 00 00 */ cmpwi r0, 0
/* 8000A614 00007574 40 82 00 1C */ bne lbl_8000A630
/* 8000A618 00007578 28 1F 00 00 */ cmplwi r31, 0
/* 8000A61C 0000757C 41 82 00 64 */ beq lbl_8000A680
/* 8000A620 00007580 41 82 00 10 */ beq lbl_8000A630
/* 8000A624 00007584 80 1F 00 F4 */ lwz r0, 0xf4(r31)
/* 8000A628 00007588 2C 00 00 00 */ cmpwi r0, 0
/* 8000A62C 0000758C 41 82 00 54 */ beq lbl_8000A680
lbl_8000A630:
/* 8000A630 00007590 81 3C 00 80 */ lwz r9, 0x80(r28)
/* 8000A634 00007594 7F 83 E3 78 */ mr r3, r28
/* 8000A638 00007598 C0 7D 01 3C */ lfs f3, 0x13c(r29)
/* 8000A63C 0000759C 7F C8 F3 78 */ mr r8, r30
/* 8000A640 000075A0 80 C9 01 D8 */ lwz r6, 0x1d8(r9)
/* 8000A644 000075A4 38 81 00 70 */ addi r4, r1, 0x70
/* 8000A648 000075A8 80 09 01 DC */ lwz r0, 0x1dc(r9)
/* 8000A64C 000075AC 38 A1 00 0C */ addi r5, r1, 0xc
/* 8000A650 000075B0 C0 5D 01 38 */ lfs f2, 0x138(r29)
/* 8000A654 000075B4 54 E7 B7 FE */ rlwinm r7, r7, 0x16, 0x1f, 0x1f
/* 8000A658 000075B8 90 C1 00 34 */ stw r6, 0x34(r1)
/* 8000A65C 000075BC 38 C1 00 34 */ addi r6, r1, 0x34
/* 8000A660 000075C0 C0 3D 01 44 */ lfs f1, 0x144(r29)
/* 8000A664 000075C4 90 01 00 38 */ stw r0, 0x38(r1)
/* 8000A668 000075C8 80 09 01 E0 */ lwz r0, 0x1e0(r9)
/* 8000A66C 000075CC 90 01 00 3C */ stw r0, 0x3c(r1)
/* 8000A670 000075D0 A0 09 00 08 */ lhz r0, 8(r9)
/* 8000A674 000075D4 B0 01 00 08 */ sth r0, 8(r1)
/* 8000A678 000075D8 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000A67C 000075DC 48 00 00 ED */ bl InterpolateToBallCamera__14CCameraManagerFRC12CTransform4f9TUniqueIdRC9CVector3ffffbR13CStateManager
lbl_8000A680:
/* 8000A680 000075E0 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8000A684 000075E4 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 8000A688 000075E8 83 C1 00 A8 */ lwz r30, 0xa8(r1)
/* 8000A68C 000075EC 83 A1 00 A4 */ lwz r29, 0xa4(r1)
/* 8000A690 000075F0 83 81 00 A0 */ lwz r28, 0xa0(r1)
/* 8000A694 000075F4 7C 08 03 A6 */ mtlr r0
/* 8000A698 000075F8 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8000A69C 000075FC 4E 80 00 20 */ blr
.global SkipBallCameraCinematic__14CCameraManagerFR13CStateManager
SkipBallCameraCinematic__14CCameraManagerFR13CStateManager:
/* 8000A6A0 00007600 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000A6A4 00007604 7C 08 02 A6 */ mflr r0
/* 8000A6A8 00007608 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000A6AC 0000760C DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8000A6B0 00007610 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8000A6B4 00007614 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000A6B8 00007618 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000A6BC 0000761C 7C 7E 1B 78 */ mr r30, r3
/* 8000A6C0 00007620 7C 9F 23 78 */ mr r31, r4
/* 8000A6C4 00007624 48 00 02 3D */ bl IsInCinematicCamera__14CCameraManagerCFv
/* 8000A6C8 00007628 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000A6CC 0000762C 41 82 00 7C */ beq lbl_8000A748
/* 8000A6D0 00007630 7F C3 F3 78 */ mr r3, r30
/* 8000A6D4 00007634 7F E4 FB 78 */ mr r4, r31
/* 8000A6D8 00007638 48 00 13 F9 */ bl GetLastCineCamera__14CCameraManagerCFR13CStateManager
/* 8000A6DC 0000763C 7C 64 1B 78 */ mr r4, r3
/* 8000A6E0 00007640 80 7E 00 80 */ lwz r3, 0x80(r30)
/* 8000A6E4 00007644 7F E5 FB 78 */ mr r5, r31
/* 8000A6E8 00007648 38 84 00 34 */ addi r4, r4, 0x34
/* 8000A6EC 0000764C 48 08 23 0D */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager
/* 8000A6F0 00007650 80 BE 00 80 */ lwz r5, 0x80(r30)
/* 8000A6F4 00007654 7F C3 F3 78 */ mr r3, r30
/* 8000A6F8 00007658 7F E4 FB 78 */ mr r4, r31
/* 8000A6FC 0000765C C3 E5 01 5C */ lfs f31, 0x15c(r5)
/* 8000A700 00007660 48 00 13 D1 */ bl GetLastCineCamera__14CCameraManagerCFR13CStateManager
/* 8000A704 00007664 7C 64 1B 78 */ mr r4, r3
/* 8000A708 00007668 FC 40 F8 90 */ fmr f2, f31
/* 8000A70C 0000766C 80 7E 00 80 */ lwz r3, 0x80(r30)
/* 8000A710 00007670 C0 24 01 5C */ lfs f1, 0x15c(r4)
/* 8000A714 00007674 C0 62 80 74 */ lfs f3, lbl_805A9D94@sda21(r2)
/* 8000A718 00007678 C0 82 80 80 */ lfs f4, lbl_805A9DA0@sda21(r2)
/* 8000A71C 0000767C 48 05 07 FD */ bl SetFovInterpolation__11CGameCameraFffff
/* 8000A720 00007680 7F C3 F3 78 */ mr r3, r30
/* 8000A724 00007684 7F E4 FB 78 */ mr r4, r31
/* 8000A728 00007688 48 00 08 71 */ bl SkipCinematic__14CCameraManagerFR13CStateManager
/* 8000A72C 0000768C 80 BE 00 80 */ lwz r5, 0x80(r30)
/* 8000A730 00007690 7F C3 F3 78 */ mr r3, r30
/* 8000A734 00007694 38 81 00 0C */ addi r4, r1, 0xc
/* 8000A738 00007698 A0 05 00 08 */ lhz r0, 8(r5)
/* 8000A73C 0000769C B0 01 00 08 */ sth r0, 8(r1)
/* 8000A740 000076A0 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000A744 000076A4 48 00 13 81 */ bl SetCurrentCameraId__14CCameraManagerF9TUniqueIdR13CStateManager
lbl_8000A748:
/* 8000A748 000076A8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8000A74C 000076AC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000A750 000076B0 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8000A754 000076B4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000A758 000076B8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000A75C 000076BC 7C 08 03 A6 */ mtlr r0
/* 8000A760 000076C0 38 21 00 30 */ addi r1, r1, 0x30
/* 8000A764 000076C4 4E 80 00 20 */ blr
.global InterpolateToBallCamera__14CCameraManagerFRC12CTransform4f9TUniqueIdRC9CVector3ffffbR13CStateManager
InterpolateToBallCamera__14CCameraManagerFRC12CTransform4f9TUniqueIdRC9CVector3ffffbR13CStateManager:
/* 8000A768 000076C8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8000A76C 000076CC 7C 08 02 A6 */ mflr r0
/* 8000A770 000076D0 90 01 00 54 */ stw r0, 0x54(r1)
/* 8000A774 000076D4 DB E1 00 48 */ stfd f31, 0x48(r1)
/* 8000A778 000076D8 FF E0 18 90 */ fmr f31, f3
/* 8000A77C 000076DC DB C1 00 40 */ stfd f30, 0x40(r1)
/* 8000A780 000076E0 FF C0 10 90 */ fmr f30, f2
/* 8000A784 000076E4 DB A1 00 38 */ stfd f29, 0x38(r1)
/* 8000A788 000076E8 FF A0 08 90 */ fmr f29, f1
/* 8000A78C 000076EC BF 41 00 20 */ stmw r26, 0x20(r1)
/* 8000A790 000076F0 7C 7A 1B 78 */ mr r26, r3
/* 8000A794 000076F4 7C 9B 23 78 */ mr r27, r4
/* 8000A798 000076F8 7C BC 2B 78 */ mr r28, r5
/* 8000A79C 000076FC 7C DD 33 78 */ mr r29, r6
/* 8000A7A0 00007700 7C FE 3B 78 */ mr r30, r7
/* 8000A7A4 00007704 7D 1F 43 78 */ mr r31, r8
/* 8000A7A8 00007708 48 00 01 3D */ bl IsInFirstPersonCamera__14CCameraManagerCFv
/* 8000A7AC 0000770C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000A7B0 00007710 40 82 00 78 */ bne lbl_8000A828
/* 8000A7B4 00007714 A0 9C 00 00 */ lhz r4, 0(r28)
/* 8000A7B8 00007718 FC 20 E8 90 */ fmr f1, f29
/* 8000A7BC 0000771C 80 BD 00 00 */ lwz r5, 0(r29)
/* 8000A7C0 00007720 FC 40 F0 90 */ fmr f2, f30
/* 8000A7C4 00007724 80 7D 00 04 */ lwz r3, 4(r29)
/* 8000A7C8 00007728 FC 60 F8 90 */ fmr f3, f31
/* 8000A7CC 0000772C 80 1D 00 08 */ lwz r0, 8(r29)
/* 8000A7D0 00007730 B0 81 00 10 */ sth r4, 0x10(r1)
/* 8000A7D4 00007734 7F 64 DB 78 */ mr r4, r27
/* 8000A7D8 00007738 7F C7 F3 78 */ mr r7, r30
/* 8000A7DC 0000773C 7F E8 FB 78 */ mr r8, r31
/* 8000A7E0 00007740 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8000A7E4 00007744 38 A1 00 14 */ addi r5, r1, 0x14
/* 8000A7E8 00007748 38 C1 00 10 */ addi r6, r1, 0x10
/* 8000A7EC 0000774C 90 61 00 18 */ stw r3, 0x18(r1)
/* 8000A7F0 00007750 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8000A7F4 00007754 80 7A 00 88 */ lwz r3, 0x88(r26)
/* 8000A7F8 00007758 48 25 AB 89 */ bl SetInterpolation__20CInterpolationCameraFRC12CTransform4fRC9CVector3ffff9TUniqueIdbR13CStateManager
/* 8000A7FC 0000775C 7F 43 D3 78 */ mr r3, r26
/* 8000A800 00007760 48 00 00 CD */ bl ShouldBypassInterpolationCamera__14CCameraManagerCFv
/* 8000A804 00007764 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000A808 00007768 40 82 00 20 */ bne lbl_8000A828
/* 8000A80C 0000776C 80 BA 00 88 */ lwz r5, 0x88(r26)
/* 8000A810 00007770 7F 43 D3 78 */ mr r3, r26
/* 8000A814 00007774 38 81 00 0C */ addi r4, r1, 0xc
/* 8000A818 00007778 A0 05 00 08 */ lhz r0, 8(r5)
/* 8000A81C 0000777C B0 01 00 08 */ sth r0, 8(r1)
/* 8000A820 00007780 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000A824 00007784 48 00 12 A1 */ bl SetCurrentCameraId__14CCameraManagerF9TUniqueIdR13CStateManager
lbl_8000A828:
/* 8000A828 00007788 CB E1 00 48 */ lfd f31, 0x48(r1)
/* 8000A82C 0000778C CB C1 00 40 */ lfd f30, 0x40(r1)
/* 8000A830 00007790 CB A1 00 38 */ lfd f29, 0x38(r1)
/* 8000A834 00007794 BB 41 00 20 */ lmw r26, 0x20(r1)
/* 8000A838 00007798 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8000A83C 0000779C 7C 08 03 A6 */ mtlr r0
/* 8000A840 000077A0 38 21 00 50 */ addi r1, r1, 0x50
/* 8000A844 000077A4 4E 80 00 20 */ blr
.global SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId
SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId:
/* 8000A848 000077A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000A84C 000077AC 7C 08 02 A6 */ mflr r0
/* 8000A850 000077B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000A854 000077B4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000A858 000077B8 7C BF 2B 78 */ mr r31, r5
/* 8000A85C 000077BC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000A860 000077C0 7C 7E 1B 78 */ mr r30, r3
/* 8000A864 000077C4 80 63 00 88 */ lwz r3, 0x88(r3)
/* 8000A868 000077C8 88 03 00 30 */ lbz r0, 0x30(r3)
/* 8000A86C 000077CC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8000A870 000077D0 41 82 00 44 */ beq lbl_8000A8B4
/* 8000A874 000077D4 81 83 00 00 */ lwz r12, 0(r3)
/* 8000A878 000077D8 38 80 00 00 */ li r4, 0
/* 8000A87C 000077DC 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8000A880 000077E0 7D 89 03 A6 */ mtctr r12
/* 8000A884 000077E4 4E 80 04 21 */ bctrl
/* 8000A888 000077E8 80 7E 00 80 */ lwz r3, 0x80(r30)
/* 8000A88C 000077EC 48 05 06 FD */ bl SkipFovInterpolation__11CGameCameraFv
/* 8000A890 000077F0 7F C3 F3 78 */ mr r3, r30
/* 8000A894 000077F4 48 00 00 39 */ bl ShouldBypassInterpolationCamera__14CCameraManagerCFv
/* 8000A898 000077F8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000A89C 000077FC 40 82 00 18 */ bne lbl_8000A8B4
/* 8000A8A0 00007800 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8000A8A4 00007804 7F C3 F3 78 */ mr r3, r30
/* 8000A8A8 00007808 38 81 00 08 */ addi r4, r1, 8
/* 8000A8AC 0000780C B0 01 00 08 */ sth r0, 8(r1)
/* 8000A8B0 00007810 48 00 12 15 */ bl SetCurrentCameraId__14CCameraManagerF9TUniqueIdR13CStateManager
lbl_8000A8B4:
/* 8000A8B4 00007814 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000A8B8 00007818 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000A8BC 0000781C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000A8C0 00007820 7C 08 03 A6 */ mtlr r0
/* 8000A8C4 00007824 38 21 00 20 */ addi r1, r1, 0x20
/* 8000A8C8 00007828 4E 80 00 20 */ blr
.global ShouldBypassInterpolationCamera__14CCameraManagerCFv
ShouldBypassInterpolationCamera__14CCameraManagerCFv:
/* 8000A8CC 0000782C 38 60 00 00 */ li r3, 0
/* 8000A8D0 00007830 4E 80 00 20 */ blr
.global IsInterpolationCameraActive__14CCameraManagerCFv
IsInterpolationCameraActive__14CCameraManagerCFv:
/* 8000A8D4 00007834 80 63 00 88 */ lwz r3, 0x88(r3)
/* 8000A8D8 00007838 88 03 00 30 */ lbz r0, 0x30(r3)
/* 8000A8DC 0000783C 54 03 CF FE */ rlwinm r3, r0, 0x19, 0x1f, 0x1f
/* 8000A8E0 00007840 4E 80 00 20 */ blr
.global IsInFirstPersonCamera__14CCameraManagerCFv
IsInFirstPersonCamera__14CCameraManagerCFv:
/* 8000A8E4 00007844 80 83 00 7C */ lwz r4, 0x7c(r3)
/* 8000A8E8 00007848 A0 63 00 00 */ lhz r3, 0(r3)
/* 8000A8EC 0000784C A0 04 00 08 */ lhz r0, 8(r4)
/* 8000A8F0 00007850 7C 03 00 50 */ subf r0, r3, r0
/* 8000A8F4 00007854 7C 00 00 34 */ cntlzw r0, r0
/* 8000A8F8 00007858 54 03 D9 7E */ srwi r3, r0, 5
.global sub_8000a8fc
sub_8000a8fc:
/* 8000A8FC 0000785C 4E 80 00 20 */ blr
.global IsInCinematicCamera__14CCameraManagerCFv
IsInCinematicCamera__14CCameraManagerCFv:
/* 8000A900 00007860 80 63 00 08 */ lwz r3, 8(r3)
/* 8000A904 00007864 7C 03 00 D0 */ neg r0, r3
/* 8000A908 00007868 7C 00 1B 78 */ or r0, r0, r3
/* 8000A90C 0000786C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8000A910 00007870 4E 80 00 20 */ blr
.global GetGlobalCameraTranslation__14CCameraManagerCFRC13CStateManager
GetGlobalCameraTranslation__14CCameraManagerCFRC13CStateManager:
/* 8000A914 00007874 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000A918 00007878 7C 08 02 A6 */ mflr r0
/* 8000A91C 0000787C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000A920 00007880 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000A924 00007884 7C 9F 23 78 */ mr r31, r4
/* 8000A928 00007888 7C A4 2B 78 */ mr r4, r5
/* 8000A92C 0000788C 93 C1 00 08 */ stw r30, 8(r1)
/* 8000A930 00007890 7C 7E 1B 78 */ mr r30, r3
/* 8000A934 00007894 7F E3 FB 78 */ mr r3, r31
/* 8000A938 00007898 48 00 11 E1 */ bl GetCurrentCamera__14CCameraManagerCFR13CStateManager
/* 8000A93C 0000789C 7C 64 1B 78 */ mr r4, r3
/* 8000A940 000078A0 7F C3 F3 78 */ mr r3, r30
/* 8000A944 000078A4 38 84 00 34 */ addi r4, r4, 0x34
/* 8000A948 000078A8 38 BF 00 30 */ addi r5, r31, 0x30
/* 8000A94C 000078AC 48 30 81 35 */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 8000A950 000078B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000A954 000078B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000A958 000078B8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8000A95C 000078BC 7C 08 03 A6 */ mtlr r0
/* 8000A960 000078C0 38 21 00 10 */ addi r1, r1, 0x10
/* 8000A964 000078C4 4E 80 00 20 */ blr
.global GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager
GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager:
/* 8000A968 000078C8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8000A96C 000078CC 7C 08 02 A6 */ mflr r0
/* 8000A970 000078D0 90 01 00 54 */ stw r0, 0x54(r1)
/* 8000A974 000078D4 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8000A978 000078D8 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8000A97C 000078DC 7C 9E 23 78 */ mr r30, r4
/* 8000A980 000078E0 7C A4 2B 78 */ mr r4, r5
/* 8000A984 000078E4 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8000A988 000078E8 7C 7D 1B 78 */ mr r29, r3
/* 8000A98C 000078EC 7F C3 F3 78 */ mr r3, r30
/* 8000A990 000078F0 48 00 11 89 */ bl GetCurrentCamera__14CCameraManagerCFR13CStateManager
/* 8000A994 000078F4 7C 7F 1B 78 */ mr r31, r3
/* 8000A998 000078F8 38 61 00 08 */ addi r3, r1, 8
/* 8000A99C 000078FC 38 9E 00 30 */ addi r4, r30, 0x30
/* 8000A9A0 00007900 48 30 87 A1 */ bl Translate__12CTransform4fFRC9CVector3f
/* 8000A9A4 00007904 7F A3 EB 78 */ mr r3, r29
/* 8000A9A8 00007908 38 9F 00 34 */ addi r4, r31, 0x34
/* 8000A9AC 0000790C 38 A1 00 08 */ addi r5, r1, 8
/* 8000A9B0 00007910 48 30 7F A1 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8000A9B4 00007914 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8000A9B8 00007918 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8000A9BC 0000791C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8000A9C0 00007920 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 8000A9C4 00007924 7C 08 03 A6 */ mtlr r0
/* 8000A9C8 00007928 38 21 00 50 */ addi r1, r1, 0x50
/* 8000A9CC 0000792C 4E 80 00 20 */ blr
.global RemoveCameraShaker__14CCameraManagerFi
RemoveCameraShaker__14CCameraManagerFi:
/* 8000A9D0 00007930 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000A9D4 00007934 7C 08 02 A6 */ mflr r0
/* 8000A9D8 00007938 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000A9DC 0000793C 80 A3 00 18 */ lwz r5, 0x18(r3)
/* 8000A9E0 00007940 80 C3 00 1C */ lwz r6, 0x1c(r3)
/* 8000A9E4 00007944 48 00 00 24 */ b lbl_8000AA08
lbl_8000A9E8:
/* 8000A9E8 00007948 80 05 00 C4 */ lwz r0, 0xc4(r5)
/* 8000A9EC 0000794C 7C 04 00 00 */ cmpw r4, r0
/* 8000A9F0 00007950 40 82 00 14 */ bne lbl_8000AA04
/* 8000A9F4 00007954 7C A4 2B 78 */ mr r4, r5
/* 8000A9F8 00007958 38 63 00 14 */ addi r3, r3, 0x14
/* 8000A9FC 0000795C 48 00 1A F9 */ bl sub_8000c4f4
/* 8000AA00 00007960 48 00 00 10 */ b lbl_8000AA10
lbl_8000AA04:
/* 8000AA04 00007964 80 A5 00 04 */ lwz r5, 4(r5)
lbl_8000AA08:
/* 8000AA08 00007968 7C 05 30 40 */ cmplw r5, r6
/* 8000AA0C 0000796C 40 82 FF DC */ bne lbl_8000A9E8
lbl_8000AA10:
/* 8000AA10 00007970 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000AA14 00007974 7C 08 03 A6 */ mtlr r0
/* 8000AA18 00007978 38 21 00 10 */ addi r1, r1, 0x10
/* 8000AA1C 0000797C 4E 80 00 20 */ blr
.global AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab
AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab:
/* 8000AA20 00007980 94 21 FE C0 */ stwu r1, -0x140(r1)
/* 8000AA24 00007984 7C 08 02 A6 */ mflr r0
/* 8000AA28 00007988 90 01 01 44 */ stw r0, 0x144(r1)
/* 8000AA2C 0000798C DB E1 01 30 */ stfd f31, 0x130(r1)
/* 8000AA30 00007990 F3 E1 01 38 */ psq_st f31, 312(r1), 0, qr0
/* 8000AA34 00007994 DB C1 01 20 */ stfd f30, 0x120(r1)
/* 8000AA38 00007998 F3 C1 01 28 */ psq_st f30, 296(r1), 0, qr0
/* 8000AA3C 0000799C 93 E1 01 1C */ stw r31, 0x11c(r1)
/* 8000AA40 000079A0 93 C1 01 18 */ stw r30, 0x118(r1)
/* 8000AA44 000079A4 93 A1 01 14 */ stw r29, 0x114(r1)
/* 8000AA48 000079A8 7C 7F 1B 78 */ mr r31, r3
/* 8000AA4C 000079AC 7C 9D 23 78 */ mr r29, r4
/* 8000AA50 000079B0 7C BE 2B 78 */ mr r30, r5
/* 8000AA54 000079B4 38 61 00 30 */ addi r3, r1, 0x30
/* 8000AA58 000079B8 48 00 03 51 */ bl __ct__16CCameraShakeDataFRC16CCameraShakeData
/* 8000AA5C 000079BC 80 BF 00 2C */ lwz r5, 0x2c(r31)
/* 8000AA60 000079C0 38 7F 00 14 */ addi r3, r31, 0x14
/* 8000AA64 000079C4 38 81 00 30 */ addi r4, r1, 0x30
/* 8000AA68 000079C8 38 05 00 01 */ addi r0, r5, 1
/* 8000AA6C 000079CC 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 8000AA70 000079D0 90 01 00 EC */ stw r0, 0xec(r1)
/* 8000AA74 000079D4 48 00 01 9D */ bl sub_8000ac10
/* 8000AA78 000079D8 88 7F 00 A0 */ lbz r3, 0xa0(r31)
/* 8000AA7C 000079DC 54 60 CF FE */ rlwinm r0, r3, 0x19, 0x1f, 0x1f
/* 8000AA80 000079E0 28 00 00 01 */ cmplwi r0, 1
/* 8000AA84 000079E4 41 82 00 18 */ beq lbl_8000AA9C
/* 8000AA88 000079E8 38 00 00 01 */ li r0, 1
/* 8000AA8C 000079EC C0 02 80 84 */ lfs f0, lbl_805A9DA4@sda21(r2)
/* 8000AA90 000079F0 50 03 3E 30 */ rlwimi r3, r0, 7, 0x18, 0x18
/* 8000AA94 000079F4 98 7F 00 A0 */ stb r3, 0xa0(r31)
/* 8000AA98 000079F8 D0 1F 00 90 */ stfs f0, 0x90(r31)
lbl_8000AA9C:
/* 8000AA9C 000079FC 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 8000AAA0 00007A00 C3 FD 00 00 */ lfs f31, 0(r29)
/* 8000AAA4 00007A04 41 82 01 00 */ beq lbl_8000ABA4
/* 8000AAA8 00007A08 C0 02 80 80 */ lfs f0, lbl_805A9DA0@sda21(r2)
/* 8000AAAC 00007A0C FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8000AAB0 00007A10 40 81 00 F4 */ ble lbl_8000ABA4
/* 8000AAB4 00007A14 7F A3 EB 78 */ mr r3, r29
/* 8000AAB8 00007A18 48 15 1E D1 */ bl GetSomething__16CCameraShakeDataFv
/* 8000AABC 00007A1C FF C0 08 90 */ fmr f30, f1
/* 8000AAC0 00007A20 7F A3 EB 78 */ mr r3, r29
/* 8000AAC4 00007A24 48 15 1E 1D */ bl GetSomething2__16CCameraShakeDataFv
/* 8000AAC8 00007A28 FC 01 F0 40 */ fcmpo cr0, f1, f30
/* 8000AACC 00007A2C 40 81 00 08 */ ble lbl_8000AAD4
/* 8000AAD0 00007A30 FF C0 08 90 */ fmr f30, f1
lbl_8000AAD4:
/* 8000AAD4 00007A34 C0 22 80 8C */ lfs f1, lbl_805A9DAC@sda21(r2)
/* 8000AAD8 00007A38 38 81 00 1C */ addi r4, r1, 0x1c
/* 8000AADC 00007A3C C0 02 80 88 */ lfs f0, lbl_805A9DA8@sda21(r2)
/* 8000AAE0 00007A40 38 6D 80 24 */ addi r3, r13, lbl_805A6BE4@sda21
/* 8000AAE4 00007A44 38 AD 80 28 */ addi r5, r13, lbl_805A6BE8@sda21
/* 8000AAE8 00007A48 EC 01 07 BA */ fmadds f0, f1, f30, f0
/* 8000AAEC 00007A4C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8000AAF0 00007A50 48 00 17 C5 */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 8000AAF4 00007A54 C0 03 00 00 */ lfs f0, 0(r3)
/* 8000AAF8 00007A58 80 1D 00 C0 */ lwz r0, 0xc0(r29)
/* 8000AAFC 00007A5C FC 00 00 1E */ fctiwz f0, f0
/* 8000AB00 00007A60 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8000AB04 00007A64 D8 01 01 08 */ stfd f0, 0x108(r1)
/* 8000AB08 00007A68 80 81 01 0C */ lwz r4, 0x10c(r1)
/* 8000AB0C 00007A6C 41 82 00 58 */ beq lbl_8000AB64
/* 8000AB10 00007A70 C0 5D 00 C4 */ lfs f2, 0xc4(r29)
/* 8000AB14 00007A74 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000AB18 00007A78 C0 3D 00 C8 */ lfs f1, 0xc8(r29)
/* 8000AB1C 00007A7C 38 C3 66 A0 */ addi r6, r3, skZero3f@l
/* 8000AB20 00007A80 C0 1D 00 CC */ lfs f0, 0xcc(r29)
/* 8000AB24 00007A84 54 87 06 3E */ clrlwi r7, r4, 0x18
/* 8000AB28 00007A88 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 8000AB2C 00007A8C 38 61 00 18 */ addi r3, r1, 0x18
/* 8000AB30 00007A90 80 02 C6 00 */ lwz r0, lbl_805AE320@sda21(r2)
/* 8000AB34 00007A94 38 A1 00 24 */ addi r5, r1, 0x24
/* 8000AB38 00007A98 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8000AB3C 00007A9C 38 80 04 6D */ li r4, 0x46d
/* 8000AB40 00007AA0 A9 42 C5 FA */ lha r10, lbl_805AE31A@sda21(r2)
/* 8000AB44 00007AA4 39 00 00 00 */ li r8, 0
/* 8000AB48 00007AA8 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8000AB4C 00007AAC 39 20 00 00 */ li r9, 0
/* 8000AB50 00007AB0 90 01 00 08 */ stw r0, 8(r1)
/* 8000AB54 00007AB4 48 2D F6 65 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fUcbbsi
/* 8000AB58 00007AB8 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8000AB5C 00007ABC 90 01 00 20 */ stw r0, 0x20(r1)
/* 8000AB60 00007AC0 48 00 00 30 */ b lbl_8000AB90
lbl_8000AB64:
/* 8000AB64 00007AC4 A9 02 C5 FA */ lha r8, lbl_805AE31A@sda21(r2)
/* 8000AB68 00007AC8 38 61 00 14 */ addi r3, r1, 0x14
/* 8000AB6C 00007ACC 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2)
/* 8000AB70 00007AD0 54 85 06 3E */ clrlwi r5, r4, 0x18
/* 8000AB74 00007AD4 38 80 04 6D */ li r4, 0x46d
/* 8000AB78 00007AD8 38 C0 00 40 */ li r6, 0x40
/* 8000AB7C 00007ADC 38 E0 00 00 */ li r7, 0
/* 8000AB80 00007AE0 39 20 00 00 */ li r9, 0
/* 8000AB84 00007AE4 48 2D F1 F1 */ bl SfxStart__11CSfxManagerFUsssbsbi
/* 8000AB88 00007AE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000AB8C 00007AEC 90 01 00 20 */ stw r0, 0x20(r1)
lbl_8000AB90:
/* 8000AB90 00007AF0 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8000AB94 00007AF4 FC 20 F8 90 */ fmr f1, f31
/* 8000AB98 00007AF8 38 61 00 10 */ addi r3, r1, 0x10
/* 8000AB9C 00007AFC 90 01 00 10 */ stw r0, 0x10(r1)
/* 8000ABA0 00007B00 48 2D ED 65 */ bl SetDuration__10CSfxHandleFf
lbl_8000ABA4:
/* 8000ABA4 00007B04 34 A1 00 B0 */ addic. r5, r1, 0xb0
/* 8000ABA8 00007B08 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8000ABAC 00007B0C 41 82 00 10 */ beq lbl_8000ABBC
/* 8000ABB0 00007B10 3C 80 80 3E */ lis r4, lbl_803D8EA8@ha
/* 8000ABB4 00007B14 38 04 8E A8 */ addi r0, r4, lbl_803D8EA8@l
/* 8000ABB8 00007B18 90 05 00 00 */ stw r0, 0(r5)
lbl_8000ABBC:
/* 8000ABBC 00007B1C 34 A1 00 74 */ addic. r5, r1, 0x74
/* 8000ABC0 00007B20 41 82 00 10 */ beq lbl_8000ABD0
/* 8000ABC4 00007B24 3C 80 80 3E */ lis r4, lbl_803D8EA8@ha
/* 8000ABC8 00007B28 38 04 8E A8 */ addi r0, r4, lbl_803D8EA8@l
/* 8000ABCC 00007B2C 90 05 00 00 */ stw r0, 0(r5)
lbl_8000ABD0:
/* 8000ABD0 00007B30 34 A1 00 38 */ addic. r5, r1, 0x38
/* 8000ABD4 00007B34 41 82 00 10 */ beq lbl_8000ABE4
/* 8000ABD8 00007B38 3C 80 80 3E */ lis r4, lbl_803D8EA8@ha
/* 8000ABDC 00007B3C 38 04 8E A8 */ addi r0, r4, lbl_803D8EA8@l
/* 8000ABE0 00007B40 90 05 00 00 */ stw r0, 0(r5)
lbl_8000ABE4:
/* 8000ABE4 00007B44 E3 E1 01 38 */ psq_l f31, 312(r1), 0, qr0
/* 8000ABE8 00007B48 CB E1 01 30 */ lfd f31, 0x130(r1)
/* 8000ABEC 00007B4C E3 C1 01 28 */ psq_l f30, 296(r1), 0, qr0
/* 8000ABF0 00007B50 CB C1 01 20 */ lfd f30, 0x120(r1)
/* 8000ABF4 00007B54 83 E1 01 1C */ lwz r31, 0x11c(r1)
/* 8000ABF8 00007B58 83 C1 01 18 */ lwz r30, 0x118(r1)
/* 8000ABFC 00007B5C 80 01 01 44 */ lwz r0, 0x144(r1)
/* 8000AC00 00007B60 83 A1 01 14 */ lwz r29, 0x114(r1)
/* 8000AC04 00007B64 7C 08 03 A6 */ mtlr r0
/* 8000AC08 00007B68 38 21 01 40 */ addi r1, r1, 0x140
/* 8000AC0C 00007B6C 4E 80 00 20 */ blr
.global sub_8000ac10
sub_8000ac10:
/* 8000AC10 00007B70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000AC14 00007B74 7C 08 02 A6 */ mflr r0
/* 8000AC18 00007B78 7C 85 23 78 */ mr r5, r4
/* 8000AC1C 00007B7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000AC20 00007B80 80 83 00 08 */ lwz r4, 8(r3)
/* 8000AC24 00007B84 48 00 00 15 */ bl sub_8000ac38
/* 8000AC28 00007B88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000AC2C 00007B8C 7C 08 03 A6 */ mtlr r0
/* 8000AC30 00007B90 38 21 00 10 */ addi r1, r1, 0x10
/* 8000AC34 00007B94 4E 80 00 20 */ blr
.global sub_8000ac38
sub_8000ac38:
/* 8000AC38 00007B98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000AC3C 00007B9C 7C 08 02 A6 */ mflr r0
/* 8000AC40 00007BA0 7C A6 2B 78 */ mr r6, r5
/* 8000AC44 00007BA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000AC48 00007BA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000AC4C 00007BAC 7C 9F 23 78 */ mr r31, r4
/* 8000AC50 00007BB0 7F E5 FB 78 */ mr r5, r31
/* 8000AC54 00007BB4 93 C1 00 08 */ stw r30, 8(r1)
/* 8000AC58 00007BB8 7C 7E 1B 78 */ mr r30, r3
/* 8000AC5C 00007BBC 80 84 00 00 */ lwz r4, 0(r4)
/* 8000AC60 00007BC0 48 00 00 49 */ bl sub_8000aca8
/* 8000AC64 00007BC4 80 1E 00 04 */ lwz r0, 4(r30)
/* 8000AC68 00007BC8 7C 1F 00 40 */ cmplw r31, r0
/* 8000AC6C 00007BCC 40 82 00 08 */ bne lbl_8000AC74
/* 8000AC70 00007BD0 90 7E 00 04 */ stw r3, 4(r30)
lbl_8000AC74:
/* 8000AC74 00007BD4 80 83 00 00 */ lwz r4, 0(r3)
/* 8000AC78 00007BD8 90 64 00 04 */ stw r3, 4(r4)
/* 8000AC7C 00007BDC 80 83 00 04 */ lwz r4, 4(r3)
/* 8000AC80 00007BE0 90 64 00 00 */ stw r3, 0(r4)
/* 8000AC84 00007BE4 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 8000AC88 00007BE8 38 04 00 01 */ addi r0, r4, 1
/* 8000AC8C 00007BEC 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8000AC90 00007BF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000AC94 00007BF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000AC98 00007BF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8000AC9C 00007BFC 7C 08 03 A6 */ mtlr r0
/* 8000ACA0 00007C00 38 21 00 10 */ addi r1, r1, 0x10
/* 8000ACA4 00007C04 4E 80 00 20 */ blr
.global sub_8000aca8
sub_8000aca8:
/* 8000ACA8 00007C08 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000ACAC 00007C0C 7C 08 02 A6 */ mflr r0
/* 8000ACB0 00007C10 3C 60 80 3D */ lis r3, lbl_803CC028@ha
/* 8000ACB4 00007C14 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000ACB8 00007C18 38 03 C0 28 */ addi r0, r3, lbl_803CC028@l
/* 8000ACBC 00007C1C 38 60 00 DC */ li r3, 0xdc
/* 8000ACC0 00007C20 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000ACC4 00007C24 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000ACC8 00007C28 7C DE 33 78 */ mr r30, r6
/* 8000ACCC 00007C2C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8000ACD0 00007C30 7C BD 2B 78 */ mr r29, r5
/* 8000ACD4 00007C34 38 A0 00 00 */ li r5, 0
/* 8000ACD8 00007C38 93 81 00 10 */ stw r28, 0x10(r1)
/* 8000ACDC 00007C3C 7C 9C 23 78 */ mr r28, r4
/* 8000ACE0 00007C40 7C 04 03 78 */ mr r4, r0
/* 8000ACE4 00007C44 48 30 AB 35 */ bl __nwa__FUlPCcPCc
/* 8000ACE8 00007C48 7C 7F 1B 79 */ or. r31, r3, r3
/* 8000ACEC 00007C4C 41 82 00 0C */ beq lbl_8000ACF8
/* 8000ACF0 00007C50 93 9F 00 00 */ stw r28, 0(r31)
/* 8000ACF4 00007C54 93 BF 00 04 */ stw r29, 4(r31)
lbl_8000ACF8:
/* 8000ACF8 00007C58 34 7F 00 08 */ addic. r3, r31, 8
/* 8000ACFC 00007C5C 41 82 00 0C */ beq lbl_8000AD08
/* 8000AD00 00007C60 7F C4 F3 78 */ mr r4, r30
/* 8000AD04 00007C64 48 00 00 A5 */ bl __ct__16CCameraShakeDataFRC16CCameraShakeData
lbl_8000AD08:
/* 8000AD08 00007C68 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000AD0C 00007C6C 7F E3 FB 78 */ mr r3, r31
/* 8000AD10 00007C70 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000AD14 00007C74 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000AD18 00007C78 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8000AD1C 00007C7C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8000AD20 00007C80 7C 08 03 A6 */ mtlr r0
/* 8000AD24 00007C84 38 21 00 20 */ addi r1, r1, 0x20
/* 8000AD28 00007C88 4E 80 00 20 */ blr
.global sub_8000ad2c
sub_8000ad2c:
/* 8000AD2C 00007C8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000AD30 00007C90 7C 08 02 A6 */ mflr r0
/* 8000AD34 00007C94 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000AD38 00007C98 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000AD3C 00007C9C 7C 7F 1B 79 */ or. r31, r3, r3
/* 8000AD40 00007CA0 41 82 00 50 */ beq lbl_8000AD90
/* 8000AD44 00007CA4 34 1F 00 80 */ addic. r0, r31, 0x80
/* 8000AD48 00007CA8 41 82 00 10 */ beq lbl_8000AD58
/* 8000AD4C 00007CAC 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha
/* 8000AD50 00007CB0 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l
/* 8000AD54 00007CB4 90 1F 00 80 */ stw r0, 0x80(r31)
lbl_8000AD58:
/* 8000AD58 00007CB8 34 1F 00 44 */ addic. r0, r31, 0x44
/* 8000AD5C 00007CBC 41 82 00 10 */ beq lbl_8000AD6C
/* 8000AD60 00007CC0 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha
/* 8000AD64 00007CC4 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l
/* 8000AD68 00007CC8 90 1F 00 44 */ stw r0, 0x44(r31)
lbl_8000AD6C:
/* 8000AD6C 00007CCC 34 1F 00 08 */ addic. r0, r31, 8
/* 8000AD70 00007CD0 41 82 00 10 */ beq lbl_8000AD80
/* 8000AD74 00007CD4 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha
/* 8000AD78 00007CD8 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l
/* 8000AD7C 00007CDC 90 1F 00 08 */ stw r0, 8(r31)
lbl_8000AD80:
/* 8000AD80 00007CE0 7C 80 07 35 */ extsh. r0, r4
/* 8000AD84 00007CE4 40 81 00 0C */ ble lbl_8000AD90
/* 8000AD88 00007CE8 7F E3 FB 78 */ mr r3, r31
/* 8000AD8C 00007CEC 48 30 AB A5 */ bl Free__7CMemoryFPCv
lbl_8000AD90:
/* 8000AD90 00007CF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000AD94 00007CF4 7F E3 FB 78 */ mr r3, r31
/* 8000AD98 00007CF8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000AD9C 00007CFC 7C 08 03 A6 */ mtlr r0
/* 8000ADA0 00007D00 38 21 00 10 */ addi r1, r1, 0x10
/* 8000ADA4 00007D04 4E 80 00 20 */ blr
.global __ct__16CCameraShakeDataFRC16CCameraShakeData
__ct__16CCameraShakeDataFRC16CCameraShakeData:
/* 8000ADA8 00007D08 C0 04 00 00 */ lfs f0, 0(r4)
/* 8000ADAC 00007D0C 3C A0 80 3E */ lis r5, lbl_803D8EA8@ha
/* 8000ADB0 00007D10 38 A5 8E A8 */ addi r5, r5, lbl_803D8EA8@l
/* 8000ADB4 00007D14 D0 03 00 00 */ stfs f0, 0(r3)
/* 8000ADB8 00007D18 C0 04 00 04 */ lfs f0, 4(r4)
/* 8000ADBC 00007D1C D0 03 00 04 */ stfs f0, 4(r3)
/* 8000ADC0 00007D20 90 A3 00 08 */ stw r5, 8(r3)
/* 8000ADC4 00007D24 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8000ADC8 00007D28 90 03 00 0C */ stw r0, 0xc(r3)
/* 8000ADCC 00007D2C 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8000ADD0 00007D30 90 03 00 10 */ stw r0, 0x10(r3)
/* 8000ADD4 00007D34 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 8000ADD8 00007D38 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8000ADDC 00007D3C C0 04 00 18 */ lfs f0, 0x18(r4)
/* 8000ADE0 00007D40 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8000ADE4 00007D44 C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 8000ADE8 00007D48 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 8000ADEC 00007D4C C0 04 00 20 */ lfs f0, 0x20(r4)
/* 8000ADF0 00007D50 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8000ADF4 00007D54 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 8000ADF8 00007D58 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 8000ADFC 00007D5C 80 04 00 28 */ lwz r0, 0x28(r4)
/* 8000AE00 00007D60 90 03 00 28 */ stw r0, 0x28(r3)
/* 8000AE04 00007D64 C0 04 00 2C */ lfs f0, 0x2c(r4)
/* 8000AE08 00007D68 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 8000AE0C 00007D6C C0 04 00 30 */ lfs f0, 0x30(r4)
/* 8000AE10 00007D70 D0 03 00 30 */ stfs f0, 0x30(r3)
/* 8000AE14 00007D74 C0 04 00 34 */ lfs f0, 0x34(r4)
/* 8000AE18 00007D78 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 8000AE1C 00007D7C C0 04 00 38 */ lfs f0, 0x38(r4)
/* 8000AE20 00007D80 D0 03 00 38 */ stfs f0, 0x38(r3)
/* 8000AE24 00007D84 C0 04 00 3C */ lfs f0, 0x3c(r4)
/* 8000AE28 00007D88 D0 03 00 3C */ stfs f0, 0x3c(r3)
/* 8000AE2C 00007D8C C0 04 00 40 */ lfs f0, 0x40(r4)
/* 8000AE30 00007D90 D0 03 00 40 */ stfs f0, 0x40(r3)
/* 8000AE34 00007D94 90 A3 00 44 */ stw r5, 0x44(r3)
/* 8000AE38 00007D98 80 04 00 48 */ lwz r0, 0x48(r4)
/* 8000AE3C 00007D9C 90 03 00 48 */ stw r0, 0x48(r3)
/* 8000AE40 00007DA0 80 04 00 4C */ lwz r0, 0x4c(r4)
/* 8000AE44 00007DA4 90 03 00 4C */ stw r0, 0x4c(r3)
/* 8000AE48 00007DA8 C0 04 00 50 */ lfs f0, 0x50(r4)
/* 8000AE4C 00007DAC D0 03 00 50 */ stfs f0, 0x50(r3)
/* 8000AE50 00007DB0 C0 04 00 54 */ lfs f0, 0x54(r4)
/* 8000AE54 00007DB4 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 8000AE58 00007DB8 C0 04 00 58 */ lfs f0, 0x58(r4)
/* 8000AE5C 00007DBC D0 03 00 58 */ stfs f0, 0x58(r3)
/* 8000AE60 00007DC0 C0 04 00 5C */ lfs f0, 0x5c(r4)
/* 8000AE64 00007DC4 D0 03 00 5C */ stfs f0, 0x5c(r3)
/* 8000AE68 00007DC8 C0 04 00 60 */ lfs f0, 0x60(r4)
/* 8000AE6C 00007DCC D0 03 00 60 */ stfs f0, 0x60(r3)
/* 8000AE70 00007DD0 80 04 00 64 */ lwz r0, 0x64(r4)
/* 8000AE74 00007DD4 90 03 00 64 */ stw r0, 0x64(r3)
/* 8000AE78 00007DD8 C0 04 00 68 */ lfs f0, 0x68(r4)
/* 8000AE7C 00007DDC D0 03 00 68 */ stfs f0, 0x68(r3)
/* 8000AE80 00007DE0 C0 04 00 6C */ lfs f0, 0x6c(r4)
/* 8000AE84 00007DE4 D0 03 00 6C */ stfs f0, 0x6c(r3)
/* 8000AE88 00007DE8 C0 04 00 70 */ lfs f0, 0x70(r4)
/* 8000AE8C 00007DEC D0 03 00 70 */ stfs f0, 0x70(r3)
/* 8000AE90 00007DF0 C0 04 00 74 */ lfs f0, 0x74(r4)
/* 8000AE94 00007DF4 D0 03 00 74 */ stfs f0, 0x74(r3)
/* 8000AE98 00007DF8 C0 04 00 78 */ lfs f0, 0x78(r4)
/* 8000AE9C 00007DFC D0 03 00 78 */ stfs f0, 0x78(r3)
/* 8000AEA0 00007E00 C0 04 00 7C */ lfs f0, 0x7c(r4)
/* 8000AEA4 00007E04 D0 03 00 7C */ stfs f0, 0x7c(r3)
/* 8000AEA8 00007E08 90 A3 00 80 */ stw r5, 0x80(r3)
/* 8000AEAC 00007E0C 80 04 00 84 */ lwz r0, 0x84(r4)
/* 8000AEB0 00007E10 90 03 00 84 */ stw r0, 0x84(r3)
/* 8000AEB4 00007E14 80 04 00 88 */ lwz r0, 0x88(r4)
/* 8000AEB8 00007E18 90 03 00 88 */ stw r0, 0x88(r3)
/* 8000AEBC 00007E1C C0 04 00 8C */ lfs f0, 0x8c(r4)
/* 8000AEC0 00007E20 D0 03 00 8C */ stfs f0, 0x8c(r3)
/* 8000AEC4 00007E24 C0 04 00 90 */ lfs f0, 0x90(r4)
/* 8000AEC8 00007E28 D0 03 00 90 */ stfs f0, 0x90(r3)
/* 8000AECC 00007E2C C0 04 00 94 */ lfs f0, 0x94(r4)
/* 8000AED0 00007E30 D0 03 00 94 */ stfs f0, 0x94(r3)
/* 8000AED4 00007E34 C0 04 00 98 */ lfs f0, 0x98(r4)
/* 8000AED8 00007E38 D0 03 00 98 */ stfs f0, 0x98(r3)
/* 8000AEDC 00007E3C C0 04 00 9C */ lfs f0, 0x9c(r4)
/* 8000AEE0 00007E40 D0 03 00 9C */ stfs f0, 0x9c(r3)
/* 8000AEE4 00007E44 80 04 00 A0 */ lwz r0, 0xa0(r4)
/* 8000AEE8 00007E48 90 03 00 A0 */ stw r0, 0xa0(r3)
/* 8000AEEC 00007E4C C0 04 00 A4 */ lfs f0, 0xa4(r4)
/* 8000AEF0 00007E50 D0 03 00 A4 */ stfs f0, 0xa4(r3)
/* 8000AEF4 00007E54 C0 04 00 A8 */ lfs f0, 0xa8(r4)
/* 8000AEF8 00007E58 D0 03 00 A8 */ stfs f0, 0xa8(r3)
/* 8000AEFC 00007E5C C0 04 00 AC */ lfs f0, 0xac(r4)
/* 8000AF00 00007E60 D0 03 00 AC */ stfs f0, 0xac(r3)
/* 8000AF04 00007E64 C0 04 00 B0 */ lfs f0, 0xb0(r4)
/* 8000AF08 00007E68 D0 03 00 B0 */ stfs f0, 0xb0(r3)
/* 8000AF0C 00007E6C C0 04 00 B4 */ lfs f0, 0xb4(r4)
/* 8000AF10 00007E70 D0 03 00 B4 */ stfs f0, 0xb4(r3)
/* 8000AF14 00007E74 C0 04 00 B8 */ lfs f0, 0xb8(r4)
/* 8000AF18 00007E78 D0 03 00 B8 */ stfs f0, 0xb8(r3)
/* 8000AF1C 00007E7C 80 04 00 BC */ lwz r0, 0xbc(r4)
/* 8000AF20 00007E80 90 03 00 BC */ stw r0, 0xbc(r3)
/* 8000AF24 00007E84 80 04 00 C0 */ lwz r0, 0xc0(r4)
/* 8000AF28 00007E88 90 03 00 C0 */ stw r0, 0xc0(r3)
/* 8000AF2C 00007E8C C0 04 00 C4 */ lfs f0, 0xc4(r4)
/* 8000AF30 00007E90 D0 03 00 C4 */ stfs f0, 0xc4(r3)
/* 8000AF34 00007E94 C0 04 00 C8 */ lfs f0, 0xc8(r4)
/* 8000AF38 00007E98 D0 03 00 C8 */ stfs f0, 0xc8(r3)
/* 8000AF3C 00007E9C C0 04 00 CC */ lfs f0, 0xcc(r4)
/* 8000AF40 00007EA0 D0 03 00 CC */ stfs f0, 0xcc(r3)
/* 8000AF44 00007EA4 C0 04 00 D0 */ lfs f0, 0xd0(r4)
/* 8000AF48 00007EA8 D0 03 00 D0 */ stfs f0, 0xd0(r3)
/* 8000AF4C 00007EAC 4E 80 00 20 */ blr
.global __dt__22CCameraShakerComponentFv
__dt__22CCameraShakerComponentFv:
/* 8000AF50 00007EB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000AF54 00007EB4 7C 08 02 A6 */ mflr r0
/* 8000AF58 00007EB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000AF5C 00007EBC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000AF60 00007EC0 7C 7F 1B 79 */ or. r31, r3, r3
/* 8000AF64 00007EC4 41 82 00 1C */ beq lbl_8000AF80
/* 8000AF68 00007EC8 3C A0 80 3E */ lis r5, lbl_803D8EA8@ha
/* 8000AF6C 00007ECC 7C 80 07 35 */ extsh. r0, r4
/* 8000AF70 00007ED0 38 05 8E A8 */ addi r0, r5, lbl_803D8EA8@l
/* 8000AF74 00007ED4 90 1F 00 00 */ stw r0, 0(r31)
/* 8000AF78 00007ED8 40 81 00 08 */ ble lbl_8000AF80
/* 8000AF7C 00007EDC 48 30 A9 B5 */ bl Free__7CMemoryFPCv
lbl_8000AF80:
/* 8000AF80 00007EE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000AF84 00007EE4 7F E3 FB 78 */ mr r3, r31
/* 8000AF88 00007EE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000AF8C 00007EEC 7C 08 03 A6 */ mtlr r0
/* 8000AF90 00007EF0 38 21 00 10 */ addi r1, r1, 0x10
/* 8000AF94 00007EF4 4E 80 00 20 */ blr
.global SkipCinematic__14CCameraManagerFR13CStateManager
SkipCinematic__14CCameraManagerFR13CStateManager:
/* 8000AF98 00007EF8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000AF9C 00007EFC 7C 08 02 A6 */ mflr r0
/* 8000AFA0 00007F00 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000AFA4 00007F04 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8000AFA8 00007F08 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8000AFAC 00007F0C 7C 9E 23 78 */ mr r30, r4
/* 8000AFB0 00007F10 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8000AFB4 00007F14 7C 7D 1B 78 */ mr r29, r3
/* 8000AFB8 00007F18 7F A4 EB 78 */ mr r4, r29
/* 8000AFBC 00007F1C 38 61 00 08 */ addi r3, r1, 8
/* 8000AFC0 00007F20 48 00 0C 19 */ bl GetCurrentCameraId__14CCameraManagerCFv
/* 8000AFC4 00007F24 A0 01 00 08 */ lhz r0, 8(r1)
/* 8000AFC8 00007F28 7F C3 F3 78 */ mr r3, r30
/* 8000AFCC 00007F2C 38 81 00 0C */ addi r4, r1, 0xc
/* 8000AFD0 00007F30 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000AFD4 00007F34 48 04 15 A1 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8000AFD8 00007F38 7C 7F 1B 78 */ mr r31, r3
/* 8000AFDC 00007F3C 48 00 00 44 */ b lbl_8000B020
lbl_8000AFE0:
/* 8000AFE0 00007F40 7F E3 FB 78 */ mr r3, r31
/* 8000AFE4 00007F44 38 80 00 00 */ li r4, 0
/* 8000AFE8 00007F48 81 9F 00 00 */ lwz r12, 0(r31)
/* 8000AFEC 00007F4C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8000AFF0 00007F50 7D 89 03 A6 */ mtctr r12
/* 8000AFF4 00007F54 4E 80 04 21 */ bctrl
/* 8000AFF8 00007F58 7F E3 FB 78 */ mr r3, r31
/* 8000AFFC 00007F5C 7F C4 F3 78 */ mr r4, r30
/* 8000B000 00007F60 48 08 92 E9 */ bl WasDeactivated__16CCinematicCameraFR13CStateManager
/* 8000B004 00007F64 7F A3 EB 78 */ mr r3, r29
/* 8000B008 00007F68 7F C4 F3 78 */ mr r4, r30
/* 8000B00C 00007F6C 48 00 0B 55 */ bl GetCurrentCamera__14CCameraManagerFR13CStateManager
/* 8000B010 00007F70 7C 64 1B 78 */ mr r4, r3
/* 8000B014 00007F74 38 61 00 10 */ addi r3, r1, 0x10
/* 8000B018 00007F78 48 0A 47 19 */ bl "__ct__30TCastToPtr<16CCinematicCamera>FR7CEntity"
/* 8000B01C 00007F7C 83 E3 00 04 */ lwz r31, 4(r3)
lbl_8000B020:
/* 8000B020 00007F80 28 1F 00 00 */ cmplwi r31, 0
/* 8000B024 00007F84 40 82 FF BC */ bne lbl_8000AFE0
/* 8000B028 00007F88 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 8000B02C 00007F8C 7F C4 F3 78 */ mr r4, r30
/* 8000B030 00007F90 48 00 C3 E5 */ bl UpdateCinematicState__7CPlayerFR13CStateManager
/* 8000B034 00007F94 80 7D 00 7C */ lwz r3, 0x7c(r29)
/* 8000B038 00007F98 48 00 32 E1 */ bl SkipCinematic__18CFirstPersonCameraFv
/* 8000B03C 00007F9C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000B040 00007FA0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8000B044 00007FA4 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8000B048 00007FA8 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8000B04C 00007FAC 7C 08 03 A6 */ mtlr r0
/* 8000B050 00007FB0 38 21 00 30 */ addi r1, r1, 0x30
.global sub_8000b054
sub_8000b054:
/* 8000B054 00007FB4 4E 80 00 20 */ blr
.global EnterCinematic__14CCameraManagerFR13CStateManager
EnterCinematic__14CCameraManagerFR13CStateManager:
/* 8000B058 00007FB8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8000B05C 00007FBC 7C 08 02 A6 */ mflr r0
/* 8000B060 00007FC0 90 01 00 64 */ stw r0, 0x64(r1)
/* 8000B064 00007FC4 BF 61 00 4C */ stmw r27, 0x4c(r1)
/* 8000B068 00007FC8 7C 9D 23 78 */ mr r29, r4
/* 8000B06C 00007FCC 80 64 08 4C */ lwz r3, 0x84c(r4)
/* 8000B070 00007FD0 80 63 04 90 */ lwz r3, 0x490(r3)
/* 8000B074 00007FD4 48 03 19 E5 */ bl CancelFiring__10CPlayerGunFR13CStateManager
/* 8000B078 00007FD8 80 7D 08 4C */ lwz r3, 0x84c(r29)
/* 8000B07C 00007FDC 7F A4 EB 78 */ mr r4, r29
/* 8000B080 00007FE0 48 00 A9 AD */ bl UnFreeze__7CPlayerFR13CStateManager
/* 8000B084 00007FE4 83 FD 08 10 */ lwz r31, 0x810(r29)
/* 8000B088 00007FE8 AB DF 20 08 */ lha r30, 0x2008(r31)
/* 8000B08C 00007FEC 48 00 01 1C */ b lbl_8000B1A8
lbl_8000B090:
/* 8000B090 00007FF0 7F E3 FB 78 */ mr r3, r31
/* 8000B094 00007FF4 7F C4 F3 78 */ mr r4, r30
/* 8000B098 00007FF8 48 00 4C 7D */ bl __vc__11CObjectListFi
/* 8000B09C 00007FFC 7C 64 1B 78 */ mr r4, r3
/* 8000B0A0 00008000 38 61 00 40 */ addi r3, r1, 0x40
/* 8000B0A4 00008004 48 0A 36 DD */ bl "__ct__24TCastToPtr<10CExplosion>FP7CEntity"
/* 8000B0A8 00008008 80 63 00 04 */ lwz r3, 4(r3)
/* 8000B0AC 0000800C 28 03 00 00 */ cmplwi r3, 0
/* 8000B0B0 00008010 41 82 00 20 */ beq lbl_8000B0D0
/* 8000B0B4 00008014 A0 03 00 08 */ lhz r0, 8(r3)
/* 8000B0B8 00008018 7F A3 EB 78 */ mr r3, r29
/* 8000B0BC 0000801C 38 81 00 24 */ addi r4, r1, 0x24
/* 8000B0C0 00008020 B0 01 00 20 */ sth r0, 0x20(r1)
/* 8000B0C4 00008024 B0 01 00 24 */ sth r0, 0x24(r1)
/* 8000B0C8 00008028 48 04 11 A5 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 8000B0CC 0000802C 48 00 00 C0 */ b lbl_8000B18C
lbl_8000B0D0:
/* 8000B0D0 00008030 7F E3 FB 78 */ mr r3, r31
/* 8000B0D4 00008034 7F C4 F3 78 */ mr r4, r30
/* 8000B0D8 00008038 48 00 4C 3D */ bl __vc__11CObjectListFi
/* 8000B0DC 0000803C 7C 64 1B 78 */ mr r4, r3
/* 8000B0E0 00008040 38 61 00 38 */ addi r3, r1, 0x38
/* 8000B0E4 00008044 48 09 A7 B5 */ bl "__ct__20TCastToPtr<7CWeapon>FP7CEntity"
/* 8000B0E8 00008048 83 63 00 04 */ lwz r27, 4(r3)
/* 8000B0EC 0000804C 28 1B 00 00 */ cmplwi r27, 0
/* 8000B0F0 00008050 41 82 00 9C */ beq lbl_8000B18C
/* 8000B0F4 00008054 88 1B 00 30 */ lbz r0, 0x30(r27)
/* 8000B0F8 00008058 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8000B0FC 0000805C 41 82 00 90 */ beq lbl_8000B18C
/* 8000B100 00008060 80 1B 00 E8 */ lwz r0, 0xe8(r27)
/* 8000B104 00008064 54 03 03 9C */ rlwinm r3, r0, 0, 0xe, 0xe
/* 8000B108 00008068 3C 03 FF FE */ addis r0, r3, 0xfffe
/* 8000B10C 0000806C 28 00 00 00 */ cmplwi r0, 0
/* 8000B110 00008070 41 82 00 7C */ beq lbl_8000B18C
/* 8000B114 00008074 A0 1B 00 EC */ lhz r0, 0xec(r27)
/* 8000B118 00008078 7F A3 EB 78 */ mr r3, r29
/* 8000B11C 0000807C 38 81 00 1C */ addi r4, r1, 0x1c
/* 8000B120 00008080 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8000B124 00008084 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8000B128 00008088 48 04 14 4D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8000B12C 0000808C 7C 64 1B 78 */ mr r4, r3
/* 8000B130 00008090 38 61 00 30 */ addi r3, r1, 0x30
/* 8000B134 00008094 48 0A 19 29 */ bl "__ct__16TCastToPtr<3CAi>FP7CEntity"
/* 8000B138 00008098 83 83 00 04 */ lwz r28, 4(r3)
/* 8000B13C 0000809C 7F A3 EB 78 */ mr r3, r29
/* 8000B140 000080A0 A0 1B 00 EC */ lhz r0, 0xec(r27)
/* 8000B144 000080A4 38 81 00 14 */ addi r4, r1, 0x14
/* 8000B148 000080A8 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8000B14C 000080AC B0 01 00 14 */ sth r0, 0x14(r1)
/* 8000B150 000080B0 48 04 14 25 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8000B154 000080B4 7C 64 1B 78 */ mr r4, r3
/* 8000B158 000080B8 38 61 00 28 */ addi r3, r1, 0x28
/* 8000B15C 000080BC 48 0A 12 39 */ bl "__ct__20TCastToPtr<7CPlayer>FP7CEntity"
/* 8000B160 000080C0 28 1C 00 00 */ cmplwi r28, 0
/* 8000B164 000080C4 80 03 00 04 */ lwz r0, 4(r3)
/* 8000B168 000080C8 40 82 00 0C */ bne lbl_8000B174
/* 8000B16C 000080CC 28 00 00 00 */ cmplwi r0, 0
/* 8000B170 000080D0 41 82 00 1C */ beq lbl_8000B18C
lbl_8000B174:
/* 8000B174 000080D4 A0 1B 00 08 */ lhz r0, 8(r27)
/* 8000B178 000080D8 7F A3 EB 78 */ mr r3, r29
/* 8000B17C 000080DC 38 81 00 0C */ addi r4, r1, 0xc
/* 8000B180 000080E0 B0 01 00 08 */ sth r0, 8(r1)
/* 8000B184 000080E4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000B188 000080E8 48 04 10 E5 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
lbl_8000B18C:
/* 8000B18C 000080EC 2C 1E FF FF */ cmpwi r30, -1
/* 8000B190 000080F0 41 82 00 14 */ beq lbl_8000B1A4
/* 8000B194 000080F4 57 C3 18 38 */ slwi r3, r30, 3
/* 8000B198 000080F8 38 03 00 08 */ addi r0, r3, 8
/* 8000B19C 000080FC 7F DF 02 AE */ lhax r30, r31, r0
/* 8000B1A0 00008100 48 00 00 08 */ b lbl_8000B1A8
lbl_8000B1A4:
/* 8000B1A4 00008104 3B C0 FF FF */ li r30, -1
lbl_8000B1A8:
/* 8000B1A8 00008108 2C 1E FF FF */ cmpwi r30, -1
/* 8000B1AC 0000810C 40 82 FE E4 */ bne lbl_8000B090
/* 8000B1B0 00008110 BB 61 00 4C */ lmw r27, 0x4c(r1)
/* 8000B1B4 00008114 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8000B1B8 00008118 7C 08 03 A6 */ mtlr r0
/* 8000B1BC 0000811C 38 21 00 60 */ addi r1, r1, 0x60
/* 8000B1C0 00008120 4E 80 00 20 */ blr
.global RemoveCinemaCamera__14CCameraManagerF9TUniqueIdR13CStateManager
RemoveCinemaCamera__14CCameraManagerF9TUniqueIdR13CStateManager:
/* 8000B1C4 00008124 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000B1C8 00008128 7C 08 02 A6 */ mflr r0
/* 8000B1CC 0000812C 7C 66 1B 78 */ mr r6, r3
/* 8000B1D0 00008130 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000B1D4 00008134 80 03 00 08 */ lwz r0, 8(r3)
/* 8000B1D8 00008138 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8000B1DC 0000813C 54 00 08 3C */ slwi r0, r0, 1
/* 8000B1E0 00008140 7C A3 02 14 */ add r5, r3, r0
/* 8000B1E4 00008144 90 61 00 18 */ stw r3, 0x18(r1)
/* 8000B1E8 00008148 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8000B1EC 0000814C 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8000B1F0 00008150 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8000B1F4 00008154 48 00 00 10 */ b lbl_8000B204
lbl_8000B1F8:
/* 8000B1F8 00008158 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8000B1FC 0000815C 38 03 00 02 */ addi r0, r3, 2
/* 8000B200 00008160 90 01 00 1C */ stw r0, 0x1c(r1)
lbl_8000B204:
/* 8000B204 00008164 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8000B208 00008168 7C 03 28 40 */ cmplw r3, r5
/* 8000B20C 0000816C 41 82 00 14 */ beq lbl_8000B220
/* 8000B210 00008170 A0 63 00 00 */ lhz r3, 0(r3)
/* 8000B214 00008174 A0 04 00 00 */ lhz r0, 0(r4)
/* 8000B218 00008178 7C 03 00 40 */ cmplw r3, r0
/* 8000B21C 0000817C 40 82 FF DC */ bne lbl_8000B1F8
lbl_8000B220:
/* 8000B220 00008180 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8000B224 00008184 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8000B228 00008188 7C 00 28 40 */ cmplw r0, r5
/* 8000B22C 0000818C 90 61 00 20 */ stw r3, 0x20(r1)
/* 8000B230 00008190 41 82 00 18 */ beq lbl_8000B248
/* 8000B234 00008194 90 61 00 08 */ stw r3, 8(r1)
/* 8000B238 00008198 38 61 00 0C */ addi r3, r1, 0xc
/* 8000B23C 0000819C 38 86 00 04 */ addi r4, r6, 4
/* 8000B240 000081A0 38 A1 00 08 */ addi r5, r1, 8
/* 8000B244 000081A4 48 00 00 15 */ bl "find<Q24rstl110pointer_iterator<9TUniqueId,Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,9TUniqueId>__4rstlFQ24rstl110pointer_iterator<9TUniqueId,Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl110pointer_iterator<9TUniqueId,Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>RC9TUniqueId"
lbl_8000B248:
/* 8000B248 000081A8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000B24C 000081AC 7C 08 03 A6 */ mtlr r0
/* 8000B250 000081B0 38 21 00 30 */ addi r1, r1, 0x30
/* 8000B254 000081B4 4E 80 00 20 */ blr
.global "find<Q24rstl110pointer_iterator<9TUniqueId,Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,9TUniqueId>__4rstlFQ24rstl110pointer_iterator<9TUniqueId,Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl110pointer_iterator<9TUniqueId,Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>RC9TUniqueId"
"find<Q24rstl110pointer_iterator<9TUniqueId,Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,9TUniqueId>__4rstlFQ24rstl110pointer_iterator<9TUniqueId,Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl110pointer_iterator<9TUniqueId,Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>RC9TUniqueId":
/* 8000B258 000081B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000B25C 000081BC 7C 08 02 A6 */ mflr r0
/* 8000B260 000081C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000B264 000081C4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000B268 000081C8 7C 7F 1B 78 */ mr r31, r3
/* 8000B26C 000081CC 80 C5 00 00 */ lwz r6, 0(r5)
/* 8000B270 000081D0 80 05 00 00 */ lwz r0, 0(r5)
/* 8000B274 000081D4 38 A1 00 10 */ addi r5, r1, 0x10
/* 8000B278 000081D8 38 E6 00 02 */ addi r7, r6, 2
/* 8000B27C 000081DC 38 C1 00 0C */ addi r6, r1, 0xc
/* 8000B280 000081E0 90 E1 00 08 */ stw r7, 8(r1)
/* 8000B284 000081E4 90 E1 00 0C */ stw r7, 0xc(r1)
/* 8000B288 000081E8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8000B28C 000081EC 48 00 00 19 */ bl sub_8000b2a4
/* 8000B290 000081F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000B294 000081F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000B298 000081F8 7C 08 03 A6 */ mtlr r0
/* 8000B29C 000081FC 38 21 00 20 */ addi r1, r1, 0x20
/* 8000B2A0 00008200 4E 80 00 20 */ blr
.global sub_8000b2a4
sub_8000b2a4:
/* 8000B2A4 00008204 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000B2A8 00008208 80 E5 00 00 */ lwz r7, 0(r5)
/* 8000B2AC 0000820C 80 06 00 00 */ lwz r0, 0(r6)
/* 8000B2B0 00008210 90 E1 00 0C */ stw r7, 0xc(r1)
/* 8000B2B4 00008214 90 01 00 08 */ stw r0, 8(r1)
/* 8000B2B8 00008218 48 00 00 08 */ b lbl_8000B2C0
lbl_8000B2BC:
/* 8000B2BC 0000821C 38 E7 00 02 */ addi r7, r7, 2
lbl_8000B2C0:
/* 8000B2C0 00008220 7C 07 00 40 */ cmplw r7, r0
/* 8000B2C4 00008224 40 82 FF F8 */ bne lbl_8000B2BC
/* 8000B2C8 00008228 81 04 00 0C */ lwz r8, 0xc(r4)
/* 8000B2CC 0000822C 80 05 00 00 */ lwz r0, 0(r5)
/* 8000B2D0 00008230 80 E6 00 00 */ lwz r7, 0(r6)
/* 8000B2D4 00008234 7C C8 00 50 */ subf r6, r8, r0
/* 8000B2D8 00008238 54 C0 0F FE */ srwi r0, r6, 0x1f
/* 8000B2DC 0000823C 7C 00 32 14 */ add r0, r0, r6
/* 8000B2E0 00008240 7C 06 0E 70 */ srawi r6, r0, 1
/* 8000B2E4 00008244 54 C0 08 3C */ slwi r0, r6, 1
/* 8000B2E8 00008248 7C C9 33 78 */ mr r9, r6
/* 8000B2EC 0000824C 7D 08 02 14 */ add r8, r8, r0
/* 8000B2F0 00008250 48 00 00 20 */ b lbl_8000B310
lbl_8000B2F4:
/* 8000B2F4 00008254 28 08 00 00 */ cmplwi r8, 0
/* 8000B2F8 00008258 41 82 00 0C */ beq lbl_8000B304
/* 8000B2FC 0000825C A0 07 00 00 */ lhz r0, 0(r7)
/* 8000B300 00008260 B0 08 00 00 */ sth r0, 0(r8)
lbl_8000B304:
/* 8000B304 00008264 39 08 00 02 */ addi r8, r8, 2
/* 8000B308 00008268 39 29 00 01 */ addi r9, r9, 1
/* 8000B30C 0000826C 38 E7 00 02 */ addi r7, r7, 2
lbl_8000B310:
/* 8000B310 00008270 80 04 00 04 */ lwz r0, 4(r4)
/* 8000B314 00008274 80 C4 00 0C */ lwz r6, 0xc(r4)
/* 8000B318 00008278 54 00 08 3C */ slwi r0, r0, 1
/* 8000B31C 0000827C 7C 06 02 14 */ add r0, r6, r0
/* 8000B320 00008280 7C 07 00 40 */ cmplw r7, r0
/* 8000B324 00008284 40 82 FF D0 */ bne lbl_8000B2F4
/* 8000B328 00008288 91 24 00 04 */ stw r9, 4(r4)
/* 8000B32C 0000828C 80 05 00 00 */ lwz r0, 0(r5)
/* 8000B330 00008290 90 03 00 00 */ stw r0, 0(r3)
/* 8000B334 00008294 38 21 00 10 */ addi r1, r1, 0x10
/* 8000B338 00008298 4E 80 00 20 */ blr
.global AddCinemaCamera__14CCameraManagerF9TUniqueIdR13CStateManager
AddCinemaCamera__14CCameraManagerF9TUniqueIdR13CStateManager:
/* 8000B33C 0000829C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000B340 000082A0 7C 08 02 A6 */ mflr r0
/* 8000B344 000082A4 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000B348 000082A8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8000B34C 000082AC 7C BF 2B 78 */ mr r31, r5
/* 8000B350 000082B0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8000B354 000082B4 7C 9E 23 78 */ mr r30, r4
/* 8000B358 000082B8 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8000B35C 000082BC 7C 7D 1B 78 */ mr r29, r3
/* 8000B360 000082C0 80 03 00 08 */ lwz r0, 8(r3)
/* 8000B364 000082C4 2C 00 00 00 */ cmpwi r0, 0
/* 8000B368 000082C8 40 82 00 0C */ bne lbl_8000B374
/* 8000B36C 000082CC 7F E4 FB 78 */ mr r4, r31
/* 8000B370 000082D0 4B FF FC E9 */ bl EnterCinematic__14CCameraManagerFR13CStateManager
lbl_8000B374:
/* 8000B374 000082D4 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8000B378 000082D8 7F A3 EB 78 */ mr r3, r29
/* 8000B37C 000082DC 7F E5 FB 78 */ mr r5, r31
/* 8000B380 000082E0 38 81 00 0C */ addi r4, r1, 0xc
/* 8000B384 000082E4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000B388 000082E8 4B FF FE 3D */ bl RemoveCinemaCamera__14CCameraManagerF9TUniqueIdR13CStateManager
/* 8000B38C 000082EC 80 9D 00 08 */ lwz r4, 8(r29)
/* 8000B390 000082F0 38 7D 00 04 */ addi r3, r29, 4
/* 8000B394 000082F4 38 84 00 01 */ addi r4, r4, 1
/* 8000B398 000082F8 48 00 10 71 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi"
/* 8000B39C 000082FC 80 1D 00 08 */ lwz r0, 8(r29)
/* 8000B3A0 00008300 80 BD 00 0C */ lwz r5, 0xc(r29)
/* 8000B3A4 00008304 7C 00 28 00 */ cmpw r0, r5
/* 8000B3A8 00008308 41 80 00 1C */ blt lbl_8000B3C4
/* 8000B3AC 0000830C 2C 05 00 00 */ cmpwi r5, 0
/* 8000B3B0 00008310 38 7D 00 04 */ addi r3, r29, 4
/* 8000B3B4 00008314 38 80 00 04 */ li r4, 4
/* 8000B3B8 00008318 41 82 00 08 */ beq lbl_8000B3C0
/* 8000B3BC 0000831C 54 A4 08 3C */ slwi r4, r5, 1
lbl_8000B3C0:
/* 8000B3C0 00008320 48 00 10 49 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi"
lbl_8000B3C4:
/* 8000B3C4 00008324 80 1D 00 08 */ lwz r0, 8(r29)
/* 8000B3C8 00008328 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8000B3CC 0000832C 54 00 08 3C */ slwi r0, r0, 1
/* 8000B3D0 00008330 7C 63 02 15 */ add. r3, r3, r0
/* 8000B3D4 00008334 41 82 00 0C */ beq lbl_8000B3E0
/* 8000B3D8 00008338 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8000B3DC 0000833C B0 03 00 00 */ sth r0, 0(r3)
lbl_8000B3E0:
/* 8000B3E0 00008340 80 BD 00 08 */ lwz r5, 8(r29)
/* 8000B3E4 00008344 7F E3 FB 78 */ mr r3, r31
/* 8000B3E8 00008348 38 81 00 08 */ addi r4, r1, 8
/* 8000B3EC 0000834C 38 05 00 01 */ addi r0, r5, 1
/* 8000B3F0 00008350 90 1D 00 08 */ stw r0, 8(r29)
/* 8000B3F4 00008354 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8000B3F8 00008358 B0 01 00 08 */ sth r0, 8(r1)
/* 8000B3FC 0000835C 48 04 11 79 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8000B400 00008360 7C 64 1B 78 */ mr r4, r3
/* 8000B404 00008364 38 61 00 10 */ addi r3, r1, 0x10
/* 8000B408 00008368 48 0A 42 BD */ bl "__ct__30TCastToPtr<16CCinematicCamera>FP7CEntity"
/* 8000B40C 0000836C 80 63 00 04 */ lwz r3, 4(r3)
/* 8000B410 00008370 28 03 00 00 */ cmplwi r3, 0
/* 8000B414 00008374 41 82 00 3C */ beq lbl_8000B450
/* 8000B418 00008378 80 03 02 1C */ lwz r0, 0x21c(r3)
/* 8000B41C 0000837C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8000B420 00008380 41 82 00 30 */ beq lbl_8000B450
/* 8000B424 00008384 C0 23 01 E8 */ lfs f1, 0x1e8(r3)
/* 8000B428 00008388 C0 62 80 90 */ lfs f3, lbl_805A9DB0@sda21(r2)
/* 8000B42C 0000838C C0 02 80 80 */ lfs f0, lbl_805A9DA0@sda21(r2)
/* 8000B430 00008390 EC 81 18 28 */ fsubs f4, f1, f3
/* 8000B434 00008394 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8000B438 00008398 40 80 00 0C */ bge lbl_8000B444
/* 8000B43C 0000839C FC 80 00 90 */ fmr f4, f0
/* 8000B440 000083A0 FC 60 08 90 */ fmr f3, f1
lbl_8000B444:
/* 8000B444 000083A4 C0 23 01 5C */ lfs f1, 0x15c(r3)
/* 8000B448 000083A8 C0 4D 80 10 */ lfs f2, lbl_805A6BD0@sda21(r13)
/* 8000B44C 000083AC 48 04 FA CD */ bl SetFovInterpolation__11CGameCameraFffff
lbl_8000B450:
/* 8000B450 000083B0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000B454 000083B4 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8000B458 000083B8 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8000B45C 000083BC 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8000B460 000083C0 7C 08 03 A6 */ mtlr r0
/* 8000B464 000083C4 38 21 00 30 */ addi r1, r1, 0x30
/* 8000B468 000083C8 4E 80 00 20 */ blr
.global ProcessInput__14CCameraManagerFRC11CFinalInputR13CStateManager
ProcessInput__14CCameraManagerFRC11CFinalInputR13CStateManager:
/* 8000B46C 000083CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000B470 000083D0 7C 08 02 A6 */ mflr r0
/* 8000B474 000083D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000B478 000083D8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000B47C 000083DC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000B480 000083E0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8000B484 000083E4 7C BD 2B 78 */ mr r29, r5
/* 8000B488 000083E8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8000B48C 000083EC 7C 9C 23 78 */ mr r28, r4
/* 8000B490 000083F0 83 E5 08 28 */ lwz r31, 0x828(r5)
/* 8000B494 000083F4 AB DF 20 08 */ lha r30, 0x2008(r31)
/* 8000B498 000083F8 48 00 00 5C */ b lbl_8000B4F4
lbl_8000B49C:
/* 8000B49C 000083FC 7F E3 FB 78 */ mr r3, r31
/* 8000B4A0 00008400 7F C4 F3 78 */ mr r4, r30
/* 8000B4A4 00008404 48 00 48 71 */ bl __vc__11CObjectListFi
/* 8000B4A8 00008408 28 03 00 00 */ cmplwi r3, 0
/* 8000B4AC 0000840C 41 82 00 2C */ beq lbl_8000B4D8
/* 8000B4B0 00008410 80 83 01 6C */ lwz r4, 0x16c(r3)
/* 8000B4B4 00008414 80 1C 00 04 */ lwz r0, 4(r28)
/* 8000B4B8 00008418 7C 04 00 00 */ cmpw r4, r0
/* 8000B4BC 0000841C 40 82 00 1C */ bne lbl_8000B4D8
/* 8000B4C0 00008420 81 83 00 00 */ lwz r12, 0(r3)
/* 8000B4C4 00008424 7F 84 E3 78 */ mr r4, r28
/* 8000B4C8 00008428 7F A5 EB 78 */ mr r5, r29
/* 8000B4CC 0000842C 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 8000B4D0 00008430 7D 89 03 A6 */ mtctr r12
/* 8000B4D4 00008434 4E 80 04 21 */ bctrl
lbl_8000B4D8:
/* 8000B4D8 00008438 2C 1E FF FF */ cmpwi r30, -1
/* 8000B4DC 0000843C 41 82 00 14 */ beq lbl_8000B4F0
/* 8000B4E0 00008440 57 C3 18 38 */ slwi r3, r30, 3
/* 8000B4E4 00008444 38 03 00 08 */ addi r0, r3, 8
/* 8000B4E8 00008448 7F DF 02 AE */ lhax r30, r31, r0
/* 8000B4EC 0000844C 48 00 00 08 */ b lbl_8000B4F4
lbl_8000B4F0:
/* 8000B4F0 00008450 3B C0 FF FF */ li r30, -1
lbl_8000B4F4:
/* 8000B4F4 00008454 2C 1E FF FF */ cmpwi r30, -1
/* 8000B4F8 00008458 40 82 FF A4 */ bne lbl_8000B49C
/* 8000B4FC 0000845C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000B500 00008460 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000B504 00008464 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000B508 00008468 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8000B50C 0000846C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8000B510 00008470 7C 08 03 A6 */ mtlr r0
/* 8000B514 00008474 38 21 00 20 */ addi r1, r1, 0x20
/* 8000B518 00008478 4E 80 00 20 */ blr
.global SetInsideFluid__14CCameraManagerFb9TUniqueId
SetInsideFluid__14CCameraManagerFb9TUniqueId:
/* 8000B51C 0000847C 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8000B520 00008480 41 82 00 1C */ beq lbl_8000B53C
/* 8000B524 00008484 80 83 00 74 */ lwz r4, 0x74(r3)
/* 8000B528 00008488 38 04 00 01 */ addi r0, r4, 1
/* 8000B52C 0000848C 90 03 00 74 */ stw r0, 0x74(r3)
/* 8000B530 00008490 A0 05 00 00 */ lhz r0, 0(r5)
/* 8000B534 00008494 B0 03 00 78 */ sth r0, 0x78(r3)
/* 8000B538 00008498 4E 80 00 20 */ blr
lbl_8000B53C:
/* 8000B53C 0000849C 80 83 00 74 */ lwz r4, 0x74(r3)
/* 8000B540 000084A0 38 04 FF FF */ addi r0, r4, -1
/* 8000B544 000084A4 90 03 00 74 */ stw r0, 0x74(r3)
/* 8000B548 000084A8 4E 80 00 20 */ blr
.global Update__14CCameraManagerFfR13CStateManager
Update__14CCameraManagerFfR13CStateManager:
/* 8000B54C 000084AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000B550 000084B0 7C 08 02 A6 */ mflr r0
/* 8000B554 000084B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000B558 000084B8 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8000B55C 000084BC FF E0 08 90 */ fmr f31, f1
/* 8000B560 000084C0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8000B564 000084C4 7C 9F 23 78 */ mr r31, r4
/* 8000B568 000084C8 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8000B56C 000084CC 7C 7E 1B 78 */ mr r30, r3
/* 8000B570 000084D0 4B FF E2 3D */ bl UpdateCameraHints__14CCameraManagerFfR13CStateManager
/* 8000B574 000084D4 FC 20 F8 90 */ fmr f1, f31
/* 8000B578 000084D8 7F C3 F3 78 */ mr r3, r30
/* 8000B57C 000084DC 7F E4 FB 78 */ mr r4, r31
/* 8000B580 000084E0 48 00 07 E1 */ bl ThinkCameras__14CCameraManagerFfR13CStateManager
/* 8000B584 000084E4 7F C3 F3 78 */ mr r3, r30
/* 8000B588 000084E8 7F E4 FB 78 */ mr r4, r31
/* 8000B58C 000084EC 48 00 04 9D */ bl UpdateSfxListener__14CCameraManagerFR13CStateManager
/* 8000B590 000084F0 FC 20 F8 90 */ fmr f1, f31
/* 8000B594 000084F4 7F C3 F3 78 */ mr r3, r30
/* 8000B598 000084F8 7F E4 FB 78 */ mr r4, r31
/* 8000B59C 000084FC 48 00 02 DD */ bl UpdateRumble__14CCameraManagerFfR13CStateManager
/* 8000B5A0 00008500 FC 20 F8 90 */ fmr f1, f31
/* 8000B5A4 00008504 7F C3 F3 78 */ mr r3, r30
/* 8000B5A8 00008508 7F E4 FB 78 */ mr r4, r31
/* 8000B5AC 0000850C 48 00 00 D5 */ bl UpdateFog__14CCameraManagerFfR13CStateManager
/* 8000B5B0 00008510 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000B5B4 00008514 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8000B5B8 00008518 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8000B5BC 0000851C 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8000B5C0 00008520 7C 08 03 A6 */ mtlr r0
/* 8000B5C4 00008524 38 21 00 20 */ addi r1, r1, 0x20
/* 8000B5C8 00008528 4E 80 00 20 */ blr
.global sub_8000b5cc
sub_8000b5cc:
/* 8000B5CC 0000852C D0 23 00 9C */ stfs f1, 0x9c(r3)
/* 8000B5D0 00008530 C0 23 00 9C */ lfs f1, 0x9c(r3)
/* 8000B5D4 00008534 C0 03 00 94 */ lfs f0, 0x94(r3)
/* 8000B5D8 00008538 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8000B5DC 0000853C 40 80 00 10 */ bge lbl_8000B5EC
/* 8000B5E0 00008540 FC 00 10 50 */ fneg f0, f2
/* 8000B5E4 00008544 D0 03 00 98 */ stfs f0, 0x98(r3)
/* 8000B5E8 00008548 4E 80 00 20 */ blr
lbl_8000B5EC:
/* 8000B5EC 0000854C D0 43 00 98 */ stfs f2, 0x98(r3)
/* 8000B5F0 00008550 4E 80 00 20 */ blr
.global CalculateFogDensity__14CCameraManagerFR13CStateManagerPC12CScriptWater
CalculateFogDensity__14CCameraManagerFR13CStateManagerPC12CScriptWater:
/* 8000B5F4 00008554 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000B5F8 00008558 7C 08 02 A6 */ mflr r0
/* 8000B5FC 0000855C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000B600 00008560 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 8000B604 00008564 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 8000B608 00008568 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000B60C 0000856C 80 A5 01 B4 */ lwz r5, 0x1b4(r5)
/* 8000B610 00008570 7C 7F 1B 78 */ mr r31, r3
/* 8000B614 00008574 80 64 08 B8 */ lwz r3, 0x8b8(r4)
/* 8000B618 00008578 38 80 00 15 */ li r4, 0x15
/* 8000B61C 0000857C C0 22 80 74 */ lfs f1, lbl_805A9D94@sda21(r2)
/* 8000B620 00008580 C0 05 00 40 */ lfs f0, 0x40(r5)
/* 8000B624 00008584 80 63 00 00 */ lwz r3, 0(r3)
/* 8000B628 00008588 EF E1 00 28 */ fsubs f31, f1, f0
/* 8000B62C 0000858C 48 08 64 95 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType
/* 8000B630 00008590 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000B634 00008594 41 82 00 18 */ beq lbl_8000B64C
/* 8000B638 00008598 80 6D A1 20 */ lwz r3, gpTweakGame@sda21(r13)
/* 8000B63C 0000859C C0 23 00 5C */ lfs f1, 0x5c(r3)
/* 8000B640 000085A0 C0 03 00 58 */ lfs f0, 0x58(r3)
/* 8000B644 000085A4 EC 21 07 FA */ fmadds f1, f1, f31, f0
/* 8000B648 000085A8 48 00 00 14 */ b lbl_8000B65C
lbl_8000B64C:
/* 8000B64C 000085AC 80 6D A1 20 */ lwz r3, gpTweakGame@sda21(r13)
/* 8000B650 000085B0 C0 23 00 54 */ lfs f1, 0x54(r3)
/* 8000B654 000085B4 C0 03 00 50 */ lfs f0, 0x50(r3)
/* 8000B658 000085B8 EC 21 07 FA */ fmadds f1, f1, f31, f0
lbl_8000B65C:
/* 8000B65C 000085BC C0 1F 00 94 */ lfs f0, 0x94(r31)
/* 8000B660 000085C0 EC 21 00 32 */ fmuls f1, f1, f0
/* 8000B664 000085C4 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 8000B668 000085C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000B66C 000085CC CB E1 00 10 */ lfd f31, 0x10(r1)
/* 8000B670 000085D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000B674 000085D4 7C 08 03 A6 */ mtlr r0
/* 8000B678 000085D8 38 21 00 20 */ addi r1, r1, 0x20
/* 8000B67C 000085DC 4E 80 00 20 */ blr
.global UpdateFog__14CCameraManagerFfR13CStateManager
UpdateFog__14CCameraManagerFfR13CStateManager:
/* 8000B680 000085E0 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8000B684 000085E4 7C 08 02 A6 */ mflr r0
/* 8000B688 000085E8 90 01 00 54 */ stw r0, 0x54(r1)
/* 8000B68C 000085EC DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8000B690 000085F0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 8000B694 000085F4 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 8000B698 000085F8 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 8000B69C 000085FC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8000B6A0 00008600 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8000B6A4 00008604 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8000B6A8 00008608 93 81 00 20 */ stw r28, 0x20(r1)
/* 8000B6AC 0000860C 7C 7F 1B 78 */ mr r31, r3
/* 8000B6B0 00008610 C0 42 80 80 */ lfs f2, lbl_805A9DA0@sda21(r2)
/* 8000B6B4 00008614 C0 63 00 98 */ lfs f3, 0x98(r3)
/* 8000B6B8 00008618 FF C0 08 90 */ fmr f30, f1
/* 8000B6BC 0000861C 7C 9C 23 78 */ mr r28, r4
/* 8000B6C0 00008620 FC 02 18 00 */ fcmpu cr0, f2, f3
/* 8000B6C4 00008624 41 82 00 60 */ beq lbl_8000B724
/* 8000B6C8 00008628 C0 1F 00 94 */ lfs f0, 0x94(r31)
/* 8000B6CC 0000862C EC 1E 00 FA */ fmadds f0, f30, f3, f0
/* 8000B6D0 00008630 D0 1F 00 94 */ stfs f0, 0x94(r31)
/* 8000B6D4 00008634 C0 1F 00 98 */ lfs f0, 0x98(r31)
/* 8000B6D8 00008638 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 8000B6DC 0000863C 40 81 00 1C */ ble lbl_8000B6F8
/* 8000B6E0 00008640 C0 3F 00 94 */ lfs f1, 0x94(r31)
/* 8000B6E4 00008644 C0 1F 00 9C */ lfs f0, 0x9c(r31)
/* 8000B6E8 00008648 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8000B6EC 0000864C 7C 00 00 26 */ mfcr r0
/* 8000B6F0 00008650 54 00 17 FE */ rlwinm r0, r0, 2, 0x1f, 0x1f
/* 8000B6F4 00008654 48 00 00 18 */ b lbl_8000B70C
lbl_8000B6F8:
/* 8000B6F8 00008658 C0 3F 00 94 */ lfs f1, 0x94(r31)
/* 8000B6FC 0000865C C0 1F 00 9C */ lfs f0, 0x9c(r31)
/* 8000B700 00008660 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8000B704 00008664 7C 00 00 26 */ mfcr r0
/* 8000B708 00008668 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_8000B70C:
/* 8000B70C 0000866C 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 8000B710 00008670 41 82 00 14 */ beq lbl_8000B724
/* 8000B714 00008674 C0 3F 00 9C */ lfs f1, 0x9c(r31)
/* 8000B718 00008678 C0 02 80 80 */ lfs f0, lbl_805A9DA0@sda21(r2)
/* 8000B71C 0000867C D0 3F 00 94 */ stfs f1, 0x94(r31)
/* 8000B720 00008680 D0 1F 00 98 */ stfs f0, 0x98(r31)
lbl_8000B724:
/* 8000B724 00008684 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 8000B728 00008688 3B DC 0C 38 */ addi r30, r28, 0xc38
/* 8000B72C 0000868C 2C 00 00 00 */ cmpwi r0, 0
/* 8000B730 00008690 41 82 00 D8 */ beq lbl_8000B808
/* 8000B734 00008694 A0 1F 00 78 */ lhz r0, 0x78(r31)
/* 8000B738 00008698 7F 83 E3 78 */ mr r3, r28
/* 8000B73C 0000869C 38 81 00 0C */ addi r4, r1, 0xc
/* 8000B740 000086A0 B0 01 00 08 */ sth r0, 8(r1)
/* 8000B744 000086A4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000B748 000086A8 48 04 0E 5D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8000B74C 000086AC 7C 64 1B 78 */ mr r4, r3
/* 8000B750 000086B0 38 61 00 10 */ addi r3, r1, 0x10
/* 8000B754 000086B4 48 09 B1 0D */ bl "__ct__26TCastToPtr<12CScriptWater>FP7CEntity"
/* 8000B758 000086B8 83 A3 00 04 */ lwz r29, 4(r3)
/* 8000B75C 000086BC 7F E3 FB 78 */ mr r3, r31
/* 8000B760 000086C0 7F 84 E3 78 */ mr r4, r28
/* 8000B764 000086C4 48 00 03 B5 */ bl GetCurrentCamera__14CCameraManagerCFR13CStateManager
/* 8000B768 000086C8 28 1D 00 00 */ cmplwi r29, 0
/* 8000B76C 000086CC 41 82 00 88 */ beq lbl_8000B7F4
/* 8000B770 000086D0 C3 E3 01 60 */ lfs f31, 0x160(r3)
/* 8000B774 000086D4 7F E3 FB 78 */ mr r3, r31
/* 8000B778 000086D8 7F 84 E3 78 */ mr r4, r28
/* 8000B77C 000086DC 7F A5 EB 78 */ mr r5, r29
/* 8000B780 000086E0 4B FF FE 75 */ bl CalculateFogDensity__14CCameraManagerFR13CStateManagerPC12CScriptWater
/* 8000B784 000086E4 FC 00 08 90 */ fmr f0, f1
/* 8000B788 000086E8 3B BD 02 A8 */ addi r29, r29, 0x2a8
/* 8000B78C 000086EC FC 20 F8 90 */ fmr f1, f31
/* 8000B790 000086F0 38 61 00 18 */ addi r3, r1, 0x18
/* 8000B794 000086F4 FC 40 00 90 */ fmr f2, f0
/* 8000B798 000086F8 48 30 8A 69 */ bl __ct__9CVector2fFff
/* 8000B79C 000086FC 7C 66 1B 78 */ mr r6, r3
/* 8000B7A0 00008700 7F A5 EB 78 */ mr r5, r29
/* 8000B7A4 00008704 38 7F 00 3C */ addi r3, r31, 0x3c
/* 8000B7A8 00008708 38 80 00 04 */ li r4, 4
/* 8000B7AC 0000870C 48 05 39 75 */ bl SetFogExplicit__Q29CGameArea8CAreaFogF11ERglFogModeRC6CColorRC9CVector2f
/* 8000B7B0 00008710 80 7C 08 B8 */ lwz r3, 0x8b8(r28)
/* 8000B7B4 00008714 7F 84 E3 78 */ mr r4, r28
/* 8000B7B8 00008718 80 63 00 00 */ lwz r3, 0(r3)
/* 8000B7BC 0000871C 48 08 5D 9D */ bl GetActiveVisor__12CPlayerStateCFRC13CStateManager
/* 8000B7C0 00008720 2C 03 00 03 */ cmpwi r3, 3
/* 8000B7C4 00008724 40 82 00 14 */ bne lbl_8000B7D8
/* 8000B7C8 00008728 C0 22 80 80 */ lfs f1, lbl_805A9DA0@sda21(r2)
/* 8000B7CC 0000872C 7F C3 F3 78 */ mr r3, r30
/* 8000B7D0 00008730 48 0E 1B 99 */ bl DisableFilter__17CCameraFilterPassFf
/* 8000B7D4 00008734 48 00 00 20 */ b lbl_8000B7F4
lbl_8000B7D8:
/* 8000B7D8 00008738 C0 22 80 80 */ lfs f1, lbl_805A9DA0@sda21(r2)
/* 8000B7DC 0000873C 7F C3 F3 78 */ mr r3, r30
/* 8000B7E0 00008740 7F A6 EB 78 */ mr r6, r29
/* 8000B7E4 00008744 38 80 00 01 */ li r4, 1
/* 8000B7E8 00008748 38 A0 00 00 */ li r5, 0
/* 8000B7EC 0000874C 38 E0 FF FF */ li r7, -1
/* 8000B7F0 00008750 48 0E 1B B1 */ bl SetFilter__17CCameraFilterPassFQ217CCameraFilterPass11EFilterTypeQ217CCameraFilterPass12EFilterShapefRC6CColorUi
lbl_8000B7F4:
/* 8000B7F4 00008754 88 1F 00 A0 */ lbz r0, 0xa0(r31)
/* 8000B7F8 00008758 38 60 00 01 */ li r3, 1
/* 8000B7FC 0000875C 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8000B800 00008760 98 1F 00 A0 */ stb r0, 0xa0(r31)
/* 8000B804 00008764 48 00 00 38 */ b lbl_8000B83C
lbl_8000B808:
/* 8000B808 00008768 88 1F 00 A0 */ lbz r0, 0xa0(r31)
/* 8000B80C 0000876C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 8000B810 00008770 41 82 00 2C */ beq lbl_8000B83C
/* 8000B814 00008774 80 7C 08 70 */ lwz r3, 0x870(r28)
/* 8000B818 00008778 38 63 00 3C */ addi r3, r3, 0x3c
/* 8000B81C 0000877C 48 05 39 7D */ bl DisableFog__Q29CGameArea8CAreaFogFv
/* 8000B820 00008780 C0 22 80 80 */ lfs f1, lbl_805A9DA0@sda21(r2)
/* 8000B824 00008784 7F C3 F3 78 */ mr r3, r30
/* 8000B828 00008788 48 0E 1B 41 */ bl DisableFilter__17CCameraFilterPassFf
/* 8000B82C 0000878C 88 1F 00 A0 */ lbz r0, 0xa0(r31)
/* 8000B830 00008790 38 60 00 00 */ li r3, 0
/* 8000B834 00008794 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8000B838 00008798 98 1F 00 A0 */ stb r0, 0xa0(r31)
lbl_8000B83C:
/* 8000B83C 0000879C FC 20 F0 90 */ fmr f1, f30
/* 8000B840 000087A0 38 7F 00 3C */ addi r3, r31, 0x3c
/* 8000B844 000087A4 48 05 34 B1 */ bl Update__Q29CGameArea8CAreaFogFf
/* 8000B848 000087A8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 8000B84C 000087AC CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8000B850 000087B0 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 8000B854 000087B4 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 8000B858 000087B8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8000B85C 000087BC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8000B860 000087C0 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8000B864 000087C4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8000B868 000087C8 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8000B86C 000087CC 7C 08 03 A6 */ mtlr r0
/* 8000B870 000087D0 38 21 00 50 */ addi r1, r1, 0x50
/* 8000B874 000087D4 4E 80 00 20 */ blr
.global UpdateRumble__14CCameraManagerFfR13CStateManager
UpdateRumble__14CCameraManagerFfR13CStateManager:
/* 8000B878 000087D8 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8000B87C 000087DC 7C 08 02 A6 */ mflr r0
/* 8000B880 000087E0 90 01 00 44 */ stw r0, 0x44(r1)
/* 8000B884 000087E4 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8000B888 000087E8 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8000B88C 000087EC BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 8000B890 000087F0 3C A0 80 5A */ lis r5, skZero3f@ha
/* 8000B894 000087F4 7C 7D 1B 78 */ mr r29, r3
/* 8000B898 000087F8 3B E5 66 A0 */ addi r31, r5, skZero3f@l
/* 8000B89C 000087FC FF E0 08 90 */ fmr f31, f1
/* 8000B8A0 00008800 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8000B8A4 00008804 7C 9E 23 78 */ mr r30, r4
/* 8000B8A8 00008808 D0 03 00 30 */ stfs f0, 0x30(r3)
/* 8000B8AC 0000880C C0 1F 00 04 */ lfs f0, 4(r31)
/* 8000B8B0 00008810 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 8000B8B4 00008814 C0 1F 00 08 */ lfs f0, 8(r31)
/* 8000B8B8 00008818 D0 03 00 38 */ stfs f0, 0x38(r3)
/* 8000B8BC 0000881C 83 83 00 18 */ lwz r28, 0x18(r3)
/* 8000B8C0 00008820 48 00 00 7C */ b lbl_8000B93C
lbl_8000B8C4:
/* 8000B8C4 00008824 FC 20 F8 90 */ fmr f1, f31
/* 8000B8C8 00008828 7F 9B E3 78 */ mr r27, r28
/* 8000B8CC 0000882C 83 9C 00 04 */ lwz r28, 4(r28)
/* 8000B8D0 00008830 7F C4 F3 78 */ mr r4, r30
/* 8000B8D4 00008834 38 7B 00 08 */ addi r3, r27, 8
/* 8000B8D8 00008838 48 15 14 95 */ bl Update__16CCameraShakeDataFfR13CStateManager
/* 8000B8DC 0000883C 38 9B 00 08 */ addi r4, r27, 8
/* 8000B8E0 00008840 C0 3B 00 0C */ lfs f1, 0xc(r27)
/* 8000B8E4 00008844 C0 1B 00 08 */ lfs f0, 8(r27)
/* 8000B8E8 00008848 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8000B8EC 0000884C 4C 41 13 82 */ cror 2, 1, 2
/* 8000B8F0 00008850 40 82 00 14 */ bne lbl_8000B904
/* 8000B8F4 00008854 7F 64 DB 78 */ mr r4, r27
/* 8000B8F8 00008858 38 7D 00 14 */ addi r3, r29, 0x14
/* 8000B8FC 0000885C 48 00 0B F9 */ bl sub_8000c4f4
/* 8000B900 00008860 48 00 00 3C */ b lbl_8000B93C
lbl_8000B904:
/* 8000B904 00008864 38 61 00 08 */ addi r3, r1, 8
/* 8000B908 00008868 48 15 14 49 */ bl GetPoint__16CCameraShakeDataCFv
/* 8000B90C 0000886C C0 3D 00 30 */ lfs f1, 0x30(r29)
/* 8000B910 00008870 C0 01 00 08 */ lfs f0, 8(r1)
/* 8000B914 00008874 EC 01 00 2A */ fadds f0, f1, f0
/* 8000B918 00008878 D0 1D 00 30 */ stfs f0, 0x30(r29)
/* 8000B91C 0000887C C0 3D 00 34 */ lfs f1, 0x34(r29)
/* 8000B920 00008880 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8000B924 00008884 EC 01 00 2A */ fadds f0, f1, f0
/* 8000B928 00008888 D0 1D 00 34 */ stfs f0, 0x34(r29)
/* 8000B92C 0000888C C0 3D 00 38 */ lfs f1, 0x38(r29)
/* 8000B930 00008890 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8000B934 00008894 EC 01 00 2A */ fadds f0, f1, f0
/* 8000B938 00008898 D0 1D 00 38 */ stfs f0, 0x38(r29)
lbl_8000B93C:
/* 8000B93C 0000889C 80 1D 00 1C */ lwz r0, 0x1c(r29)
/* 8000B940 000088A0 7C 1C 00 40 */ cmplw r28, r0
/* 8000B944 000088A4 40 82 FF 80 */ bne lbl_8000B8C4
/* 8000B948 000088A8 80 1D 00 28 */ lwz r0, 0x28(r29)
/* 8000B94C 000088AC 2C 00 00 00 */ cmpwi r0, 0
/* 8000B950 000088B0 41 82 00 40 */ beq lbl_8000B990
/* 8000B954 000088B4 88 7D 00 A0 */ lbz r3, 0xa0(r29)
/* 8000B958 000088B8 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 8000B95C 000088BC 40 82 00 34 */ bne lbl_8000B990
/* 8000B960 000088C0 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8000B964 000088C4 41 82 00 2C */ beq lbl_8000B990
/* 8000B968 000088C8 80 7E 08 8C */ lwz r3, 0x88c(r30)
/* 8000B96C 000088CC 7F C4 F3 78 */ mr r4, r30
/* 8000B970 000088D0 C0 22 80 74 */ lfs f1, lbl_805A9D94@sda21(r2)
/* 8000B974 000088D4 38 A0 00 06 */ li r5, 6
/* 8000B978 000088D8 38 C0 00 02 */ li r6, 2
/* 8000B97C 000088DC 48 22 28 C9 */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority
/* 8000B980 000088E0 88 1D 00 A0 */ lbz r0, 0xa0(r29)
/* 8000B984 000088E4 38 60 00 01 */ li r3, 1
/* 8000B988 000088E8 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8000B98C 000088EC 98 1D 00 A0 */ stb r0, 0xa0(r29)
lbl_8000B990:
/* 8000B990 000088F0 C0 3D 00 90 */ lfs f1, 0x90(r29)
/* 8000B994 000088F4 C0 02 80 80 */ lfs f0, lbl_805A9DA0@sda21(r2)
/* 8000B998 000088F8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8000B99C 000088FC 40 81 00 10 */ ble lbl_8000B9AC
/* 8000B9A0 00008900 EC 01 F8 28 */ fsubs f0, f1, f31
/* 8000B9A4 00008904 D0 1D 00 90 */ stfs f0, 0x90(r29)
/* 8000B9A8 00008908 48 00 00 28 */ b lbl_8000B9D0
lbl_8000B9AC:
/* 8000B9AC 0000890C 88 9D 00 A0 */ lbz r4, 0xa0(r29)
/* 8000B9B0 00008910 54 80 D7 FF */ rlwinm. r0, r4, 0x1a, 0x1f, 0x1f
/* 8000B9B4 00008914 41 82 00 1C */ beq lbl_8000B9D0
/* 8000B9B8 00008918 38 60 00 00 */ li r3, 0
/* 8000B9BC 0000891C 50 64 3E 30 */ rlwimi r4, r3, 7, 0x18, 0x18
/* 8000B9C0 00008920 98 9D 00 A0 */ stb r4, 0xa0(r29)
/* 8000B9C4 00008924 88 1D 00 A0 */ lbz r0, 0xa0(r29)
/* 8000B9C8 00008928 50 80 FE 72 */ rlwimi r0, r4, 0x1f, 0x19, 0x19
/* 8000B9CC 0000892C 98 1D 00 A0 */ stb r0, 0xa0(r29)
lbl_8000B9D0:
/* 8000B9D0 00008930 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 8000B9D4 00008934 80 03 02 F4 */ lwz r0, 0x2f4(r3)
/* 8000B9D8 00008938 2C 00 00 00 */ cmpwi r0, 0
/* 8000B9DC 0000893C 41 82 00 30 */ beq lbl_8000BA0C
/* 8000B9E0 00008940 7F A3 EB 78 */ mr r3, r29
/* 8000B9E4 00008944 4B FF EF 1D */ bl IsInCinematicCamera__14CCameraManagerCFv
/* 8000B9E8 00008948 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000B9EC 0000894C 40 82 00 20 */ bne lbl_8000BA0C
/* 8000B9F0 00008950 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000B9F4 00008954 C0 03 66 A0 */ lfs f0, skZero3f@l(r3)
/* 8000B9F8 00008958 D0 1D 00 30 */ stfs f0, 0x30(r29)
/* 8000B9FC 0000895C C0 1F 00 04 */ lfs f0, 4(r31)
/* 8000BA00 00008960 D0 1D 00 34 */ stfs f0, 0x34(r29)
/* 8000BA04 00008964 C0 1F 00 08 */ lfs f0, 8(r31)
/* 8000BA08 00008968 D0 1D 00 38 */ stfs f0, 0x38(r29)
lbl_8000BA0C:
/* 8000BA0C 0000896C E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8000BA10 00008970 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8000BA14 00008974 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 8000BA18 00008978 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8000BA1C 0000897C 7C 08 03 A6 */ mtlr r0
/* 8000BA20 00008980 38 21 00 40 */ addi r1, r1, 0x40
/* 8000BA24 00008984 4E 80 00 20 */ blr
.global UpdateSfxListener__14CCameraManagerFR13CStateManager
UpdateSfxListener__14CCameraManagerFR13CStateManager:
/* 8000BA28 00008988 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8000BA2C 0000898C 7C 08 02 A6 */ mflr r0
/* 8000BA30 00008990 7C 85 23 78 */ mr r5, r4
/* 8000BA34 00008994 7C 64 1B 78 */ mr r4, r3
/* 8000BA38 00008998 90 01 00 94 */ stw r0, 0x94(r1)
/* 8000BA3C 0000899C 38 61 00 2C */ addi r3, r1, 0x2c
/* 8000BA40 000089A0 4B FF EF 29 */ bl GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager
/* 8000BA44 000089A4 38 61 00 5C */ addi r3, r1, 0x5c
/* 8000BA48 000089A8 38 81 00 2C */ addi r4, r1, 0x2c
/* 8000BA4C 000089AC 48 30 71 29 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8000BA50 000089B0 C1 01 00 64 */ lfs f8, 0x64(r1)
/* 8000BA54 000089B4 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000BA58 000089B8 C0 E1 00 74 */ lfs f7, 0x74(r1)
/* 8000BA5C 000089BC 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 8000BA60 000089C0 C0 C1 00 84 */ lfs f6, 0x84(r1)
/* 8000BA64 000089C4 38 61 00 20 */ addi r3, r1, 0x20
/* 8000BA68 000089C8 C0 A1 00 60 */ lfs f5, 0x60(r1)
/* 8000BA6C 000089CC 38 A1 00 14 */ addi r5, r1, 0x14
/* 8000BA70 000089D0 C0 81 00 70 */ lfs f4, 0x70(r1)
/* 8000BA74 000089D4 38 C1 00 08 */ addi r6, r1, 8
/* 8000BA78 000089D8 C0 61 00 80 */ lfs f3, 0x80(r1)
/* 8000BA7C 000089DC C0 41 00 68 */ lfs f2, 0x68(r1)
/* 8000BA80 000089E0 C0 21 00 78 */ lfs f1, 0x78(r1)
/* 8000BA84 000089E4 C0 01 00 88 */ lfs f0, 0x88(r1)
/* 8000BA88 000089E8 D1 01 00 08 */ stfs f8, 8(r1)
/* 8000BA8C 000089EC 88 E2 CC 40 */ lbz r7, lbl_805AE960@sda21(r2)
/* 8000BA90 000089F0 D0 E1 00 0C */ stfs f7, 0xc(r1)
/* 8000BA94 000089F4 D0 C1 00 10 */ stfs f6, 0x10(r1)
/* 8000BA98 000089F8 D0 A1 00 14 */ stfs f5, 0x14(r1)
/* 8000BA9C 000089FC D0 81 00 18 */ stfs f4, 0x18(r1)
/* 8000BAA0 00008A00 D0 61 00 1C */ stfs f3, 0x1c(r1)
/* 8000BAA4 00008A04 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 8000BAA8 00008A08 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 8000BAAC 00008A0C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8000BAB0 00008A10 48 2D E8 E9 */ bl UpdateListener__11CSfxManagerFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fUc
/* 8000BAB4 00008A14 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8000BAB8 00008A18 7C 08 03 A6 */ mtlr r0
/* 8000BABC 00008A1C 38 21 00 90 */ addi r1, r1, 0x90
/* 8000BAC0 00008A20 4E 80 00 20 */ blr
.global SetCurrentCameraId__14CCameraManagerF9TUniqueIdR13CStateManager
SetCurrentCameraId__14CCameraManagerF9TUniqueIdR13CStateManager:
/* 8000BAC4 00008A24 A0 04 00 00 */ lhz r0, 0(r4)
/* 8000BAC8 00008A28 B0 03 00 00 */ sth r0, 0(r3)
/* 8000BACC 00008A2C 4E 80 00 20 */ blr
.global GetLastCineCamera__14CCameraManagerCFR13CStateManager
GetLastCineCamera__14CCameraManagerCFR13CStateManager:
/* 8000BAD0 00008A30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000BAD4 00008A34 7C 08 02 A6 */ mflr r0
/* 8000BAD8 00008A38 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000BADC 00008A3C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000BAE0 00008A40 7C 9F 23 78 */ mr r31, r4
/* 8000BAE4 00008A44 7C 64 1B 78 */ mr r4, r3
/* 8000BAE8 00008A48 38 61 00 08 */ addi r3, r1, 8
/* 8000BAEC 00008A4C 48 00 00 BD */ bl GetLastCineCameraId__14CCameraManagerCFv
/* 8000BAF0 00008A50 A0 01 00 08 */ lhz r0, 8(r1)
/* 8000BAF4 00008A54 7F E3 FB 78 */ mr r3, r31
/* 8000BAF8 00008A58 38 81 00 0C */ addi r4, r1, 0xc
/* 8000BAFC 00008A5C B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000BB00 00008A60 48 04 0A A5 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8000BB04 00008A64 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000BB08 00008A68 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000BB0C 00008A6C 7C 08 03 A6 */ mtlr r0
/* 8000BB10 00008A70 38 21 00 20 */ addi r1, r1, 0x20
/* 8000BB14 00008A74 4E 80 00 20 */ blr
.global GetCurrentCamera__14CCameraManagerCFR13CStateManager
GetCurrentCamera__14CCameraManagerCFR13CStateManager:
/* 8000BB18 00008A78 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000BB1C 00008A7C 7C 08 02 A6 */ mflr r0
/* 8000BB20 00008A80 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000BB24 00008A84 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000BB28 00008A88 7C 9F 23 78 */ mr r31, r4
/* 8000BB2C 00008A8C 7C 64 1B 78 */ mr r4, r3
/* 8000BB30 00008A90 38 61 00 08 */ addi r3, r1, 8
/* 8000BB34 00008A94 48 00 00 A5 */ bl GetCurrentCameraId__14CCameraManagerCFv
/* 8000BB38 00008A98 A0 01 00 08 */ lhz r0, 8(r1)
/* 8000BB3C 00008A9C 7F E3 FB 78 */ mr r3, r31
/* 8000BB40 00008AA0 38 81 00 0C */ addi r4, r1, 0xc
/* 8000BB44 00008AA4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000BB48 00008AA8 48 04 0A 5D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8000BB4C 00008AAC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000BB50 00008AB0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000BB54 00008AB4 7C 08 03 A6 */ mtlr r0
/* 8000BB58 00008AB8 38 21 00 20 */ addi r1, r1, 0x20
/* 8000BB5C 00008ABC 4E 80 00 20 */ blr
.global GetCurrentCamera__14CCameraManagerFR13CStateManager
GetCurrentCamera__14CCameraManagerFR13CStateManager:
/* 8000BB60 00008AC0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000BB64 00008AC4 7C 08 02 A6 */ mflr r0
/* 8000BB68 00008AC8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000BB6C 00008ACC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000BB70 00008AD0 7C 9F 23 78 */ mr r31, r4
/* 8000BB74 00008AD4 7C 64 1B 78 */ mr r4, r3
/* 8000BB78 00008AD8 38 61 00 08 */ addi r3, r1, 8
/* 8000BB7C 00008ADC 48 00 00 5D */ bl GetCurrentCameraId__14CCameraManagerCFv
/* 8000BB80 00008AE0 A0 01 00 08 */ lhz r0, 8(r1)
/* 8000BB84 00008AE4 7F E3 FB 78 */ mr r3, r31
/* 8000BB88 00008AE8 38 81 00 0C */ addi r4, r1, 0xc
/* 8000BB8C 00008AEC B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000BB90 00008AF0 48 04 09 E5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8000BB94 00008AF4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000BB98 00008AF8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000BB9C 00008AFC 7C 08 03 A6 */ mtlr r0
/* 8000BBA0 00008B00 38 21 00 20 */ addi r1, r1, 0x20
/* 8000BBA4 00008B04 4E 80 00 20 */ blr
.global GetLastCineCameraId__14CCameraManagerCFv
GetLastCineCameraId__14CCameraManagerCFv:
/* 8000BBA8 00008B08 80 A4 00 08 */ lwz r5, 8(r4)
/* 8000BBAC 00008B0C 2C 05 00 00 */ cmpwi r5, 0
/* 8000BBB0 00008B10 40 82 00 10 */ bne lbl_8000BBC0
/* 8000BBB4 00008B14 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8000BBB8 00008B18 B0 03 00 00 */ sth r0, 0(r3)
/* 8000BBBC 00008B1C 4E 80 00 20 */ blr
lbl_8000BBC0:
/* 8000BBC0 00008B20 38 05 FF FF */ addi r0, r5, -1
/* 8000BBC4 00008B24 80 84 00 10 */ lwz r4, 0x10(r4)
/* 8000BBC8 00008B28 54 00 08 3C */ slwi r0, r0, 1
/* 8000BBCC 00008B2C 7C 04 02 2E */ lhzx r0, r4, r0
/* 8000BBD0 00008B30 B0 03 00 00 */ sth r0, 0(r3)
/* 8000BBD4 00008B34 4E 80 00 20 */ blr
.global GetCurrentCameraId__14CCameraManagerCFv
GetCurrentCameraId__14CCameraManagerCFv:
/* 8000BBD8 00008B38 80 A4 00 08 */ lwz r5, 8(r4)
/* 8000BBDC 00008B3C 2C 05 00 00 */ cmpwi r5, 0
/* 8000BBE0 00008B40 40 82 00 10 */ bne lbl_8000BBF0
/* 8000BBE4 00008B44 A0 04 00 00 */ lhz r0, 0(r4)
/* 8000BBE8 00008B48 B0 03 00 00 */ sth r0, 0(r3)
/* 8000BBEC 00008B4C 4E 80 00 20 */ blr
lbl_8000BBF0:
/* 8000BBF0 00008B50 38 05 FF FF */ addi r0, r5, -1
/* 8000BBF4 00008B54 80 84 00 10 */ lwz r4, 0x10(r4)
/* 8000BBF8 00008B58 54 00 08 3C */ slwi r0, r0, 1
/* 8000BBFC 00008B5C 7C 04 02 2E */ lhzx r0, r4, r0
/* 8000BC00 00008B60 B0 03 00 00 */ sth r0, 0(r3)
/* 8000BC04 00008B64 4E 80 00 20 */ blr
.global RenderCameras__14CCameraManagerFRC13CStateManager
RenderCameras__14CCameraManagerFRC13CStateManager:
/* 8000BC08 00008B68 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000BC0C 00008B6C 7C 08 02 A6 */ mflr r0
/* 8000BC10 00008B70 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000BC14 00008B74 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000BC18 00008B78 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000BC1C 00008B7C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8000BC20 00008B80 7C 9D 23 78 */ mr r29, r4
/* 8000BC24 00008B84 83 E4 08 28 */ lwz r31, 0x828(r4)
/* 8000BC28 00008B88 AB DF 20 08 */ lha r30, 0x2008(r31)
/* 8000BC2C 00008B8C 48 00 00 40 */ b lbl_8000BC6C
lbl_8000BC30:
/* 8000BC30 00008B90 7F E3 FB 78 */ mr r3, r31
/* 8000BC34 00008B94 7F C4 F3 78 */ mr r4, r30
/* 8000BC38 00008B98 48 00 40 A5 */ bl __vc__11CObjectListCFi
/* 8000BC3C 00008B9C 81 83 00 00 */ lwz r12, 0(r3)
/* 8000BC40 00008BA0 7F A4 EB 78 */ mr r4, r29
/* 8000BC44 00008BA4 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 8000BC48 00008BA8 7D 89 03 A6 */ mtctr r12
/* 8000BC4C 00008BAC 4E 80 04 21 */ bctrl
/* 8000BC50 00008BB0 2C 1E FF FF */ cmpwi r30, -1
/* 8000BC54 00008BB4 41 82 00 14 */ beq lbl_8000BC68
/* 8000BC58 00008BB8 57 C3 18 38 */ slwi r3, r30, 3
/* 8000BC5C 00008BBC 38 03 00 08 */ addi r0, r3, 8
/* 8000BC60 00008BC0 7F DF 02 AE */ lhax r30, r31, r0
/* 8000BC64 00008BC4 48 00 00 08 */ b lbl_8000BC6C
lbl_8000BC68:
/* 8000BC68 00008BC8 3B C0 FF FF */ li r30, -1
lbl_8000BC6C:
/* 8000BC6C 00008BCC 2C 1E FF FF */ cmpwi r30, -1
/* 8000BC70 00008BD0 40 82 FF C0 */ bne lbl_8000BC30
/* 8000BC74 00008BD4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000BC78 00008BD8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000BC7C 00008BDC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000BC80 00008BE0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8000BC84 00008BE4 7C 08 03 A6 */ mtlr r0
/* 8000BC88 00008BE8 38 21 00 20 */ addi r1, r1, 0x20
/* 8000BC8C 00008BEC 4E 80 00 20 */ blr
.global ResetCameras__14CCameraManagerFR13CStateManager
ResetCameras__14CCameraManagerFR13CStateManager:
/* 8000BC90 00008BF0 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8000BC94 00008BF4 7C 08 02 A6 */ mflr r0
/* 8000BC98 00008BF8 90 01 00 94 */ stw r0, 0x94(r1)
/* 8000BC9C 00008BFC 38 61 00 14 */ addi r3, r1, 0x14
/* 8000BCA0 00008C00 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 8000BCA4 00008C04 93 C1 00 88 */ stw r30, 0x88(r1)
/* 8000BCA8 00008C08 93 A1 00 84 */ stw r29, 0x84(r1)
/* 8000BCAC 00008C0C 7C 9D 23 78 */ mr r29, r4
/* 8000BCB0 00008C10 83 E4 08 28 */ lwz r31, 0x828(r4)
/* 8000BCB4 00008C14 80 84 08 4C */ lwz r4, 0x84c(r4)
/* 8000BCB8 00008C18 48 27 9A 31 */ bl CreateTransformFromMovementDirection__7CPlayerCFv
/* 8000BCBC 00008C1C 38 61 00 44 */ addi r3, r1, 0x44
/* 8000BCC0 00008C20 38 81 00 14 */ addi r4, r1, 0x14
/* 8000BCC4 00008C24 48 30 6E B1 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8000BCC8 00008C28 80 9D 08 4C */ lwz r4, 0x84c(r29)
/* 8000BCCC 00008C2C 38 61 00 08 */ addi r3, r1, 8
/* 8000BCD0 00008C30 48 27 90 AD */ bl GetEyePosition__7CPlayerCFv
/* 8000BCD4 00008C34 C0 41 00 08 */ lfs f2, 8(r1)
/* 8000BCD8 00008C38 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8000BCDC 00008C3C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8000BCE0 00008C40 D0 41 00 50 */ stfs f2, 0x50(r1)
/* 8000BCE4 00008C44 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 8000BCE8 00008C48 D0 01 00 70 */ stfs f0, 0x70(r1)
/* 8000BCEC 00008C4C AB DF 20 08 */ lha r30, 0x2008(r31)
/* 8000BCF0 00008C50 48 00 00 4C */ b lbl_8000BD3C
lbl_8000BCF4:
/* 8000BCF4 00008C54 7F E3 FB 78 */ mr r3, r31
/* 8000BCF8 00008C58 7F C4 F3 78 */ mr r4, r30
/* 8000BCFC 00008C5C 48 00 40 19 */ bl __vc__11CObjectListFi
/* 8000BD00 00008C60 28 03 00 00 */ cmplwi r3, 0
/* 8000BD04 00008C64 41 82 00 1C */ beq lbl_8000BD20
/* 8000BD08 00008C68 81 83 00 00 */ lwz r12, 0(r3)
/* 8000BD0C 00008C6C 7F A5 EB 78 */ mr r5, r29
/* 8000BD10 00008C70 38 81 00 44 */ addi r4, r1, 0x44
/* 8000BD14 00008C74 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 8000BD18 00008C78 7D 89 03 A6 */ mtctr r12
/* 8000BD1C 00008C7C 4E 80 04 21 */ bctrl
lbl_8000BD20:
/* 8000BD20 00008C80 2C 1E FF FF */ cmpwi r30, -1
/* 8000BD24 00008C84 41 82 00 14 */ beq lbl_8000BD38
/* 8000BD28 00008C88 57 C3 18 38 */ slwi r3, r30, 3
/* 8000BD2C 00008C8C 38 03 00 08 */ addi r0, r3, 8
/* 8000BD30 00008C90 7F DF 02 AE */ lhax r30, r31, r0
/* 8000BD34 00008C94 48 00 00 08 */ b lbl_8000BD3C
lbl_8000BD38:
/* 8000BD38 00008C98 3B C0 FF FF */ li r30, -1
lbl_8000BD3C:
/* 8000BD3C 00008C9C 2C 1E FF FF */ cmpwi r30, -1
/* 8000BD40 00008CA0 40 82 FF B4 */ bne lbl_8000BCF4
/* 8000BD44 00008CA4 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8000BD48 00008CA8 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 8000BD4C 00008CAC 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 8000BD50 00008CB0 83 A1 00 84 */ lwz r29, 0x84(r1)
/* 8000BD54 00008CB4 7C 08 03 A6 */ mtlr r0
/* 8000BD58 00008CB8 38 21 00 90 */ addi r1, r1, 0x90
/* 8000BD5C 00008CBC 4E 80 00 20 */ blr
.global ThinkCameras__14CCameraManagerFfR13CStateManager
ThinkCameras__14CCameraManagerFfR13CStateManager:
/* 8000BD60 00008CC0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8000BD64 00008CC4 7C 08 02 A6 */ mflr r0
/* 8000BD68 00008CC8 90 01 00 44 */ stw r0, 0x44(r1)
/* 8000BD6C 00008CCC DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8000BD70 00008CD0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8000BD74 00008CD4 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 8000BD78 00008CD8 83 E4 08 28 */ lwz r31, 0x828(r4)
/* 8000BD7C 00008CDC FF E0 08 90 */ fmr f31, f1
/* 8000BD80 00008CE0 7C 9C 23 78 */ mr r28, r4
/* 8000BD84 00008CE4 7C 7B 1B 78 */ mr r27, r3
/* 8000BD88 00008CE8 AB DF 20 08 */ lha r30, 0x2008(r31)
/* 8000BD8C 00008CEC 48 00 00 58 */ b lbl_8000BDE4
lbl_8000BD90:
/* 8000BD90 00008CF0 7F E3 FB 78 */ mr r3, r31
/* 8000BD94 00008CF4 7F C4 F3 78 */ mr r4, r30
/* 8000BD98 00008CF8 48 00 3F 7D */ bl __vc__11CObjectListFi
/* 8000BD9C 00008CFC 7C 7D 1B 79 */ or. r29, r3, r3
/* 8000BDA0 00008D00 41 82 00 28 */ beq lbl_8000BDC8
/* 8000BDA4 00008D04 81 83 00 00 */ lwz r12, 0(r3)
/* 8000BDA8 00008D08 FC 20 F8 90 */ fmr f1, f31
/* 8000BDAC 00008D0C 7F 84 E3 78 */ mr r4, r28
/* 8000BDB0 00008D10 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8000BDB4 00008D14 7D 89 03 A6 */ mtctr r12
/* 8000BDB8 00008D18 4E 80 04 21 */ bctrl
/* 8000BDBC 00008D1C FC 20 F8 90 */ fmr f1, f31
/* 8000BDC0 00008D20 7F A3 EB 78 */ mr r3, r29
/* 8000BDC4 00008D24 48 04 F0 79 */ bl UpdatePerspective__11CGameCameraFf
lbl_8000BDC8:
/* 8000BDC8 00008D28 2C 1E FF FF */ cmpwi r30, -1
/* 8000BDCC 00008D2C 41 82 00 14 */ beq lbl_8000BDE0
/* 8000BDD0 00008D30 57 C3 18 38 */ slwi r3, r30, 3
/* 8000BDD4 00008D34 38 03 00 08 */ addi r0, r3, 8
/* 8000BDD8 00008D38 7F DF 02 AE */ lhax r30, r31, r0
/* 8000BDDC 00008D3C 48 00 00 08 */ b lbl_8000BDE4
lbl_8000BDE0:
/* 8000BDE0 00008D40 3B C0 FF FF */ li r30, -1
lbl_8000BDE4:
/* 8000BDE4 00008D44 2C 1E FF FF */ cmpwi r30, -1
/* 8000BDE8 00008D48 40 82 FF A8 */ bne lbl_8000BD90
/* 8000BDEC 00008D4C 7F 63 DB 78 */ mr r3, r27
/* 8000BDF0 00008D50 4B FF EB 11 */ bl IsInCinematicCamera__14CCameraManagerCFv
/* 8000BDF4 00008D54 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000BDF8 00008D58 41 82 00 44 */ beq lbl_8000BE3C
/* 8000BDFC 00008D5C 7F 64 DB 78 */ mr r4, r27
/* 8000BE00 00008D60 38 61 00 08 */ addi r3, r1, 8
/* 8000BE04 00008D64 4B FF FD A5 */ bl GetLastCineCameraId__14CCameraManagerCFv
/* 8000BE08 00008D68 A0 01 00 08 */ lhz r0, 8(r1)
/* 8000BE0C 00008D6C 7F 83 E3 78 */ mr r3, r28
/* 8000BE10 00008D70 38 81 00 0C */ addi r4, r1, 0xc
/* 8000BE14 00008D74 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000BE18 00008D78 48 04 07 8D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8000BE1C 00008D7C 7C 64 1B 78 */ mr r4, r3
/* 8000BE20 00008D80 38 61 00 10 */ addi r3, r1, 0x10
/* 8000BE24 00008D84 48 0A 1F C5 */ bl "__ct__25TCastToPtr<11CGameCamera>FP7CEntity"
/* 8000BE28 00008D88 80 63 00 04 */ lwz r3, 4(r3)
/* 8000BE2C 00008D8C 28 03 00 00 */ cmplwi r3, 0
/* 8000BE30 00008D90 41 82 00 0C */ beq lbl_8000BE3C
/* 8000BE34 00008D94 C0 03 01 5C */ lfs f0, 0x15c(r3)
/* 8000BE38 00008D98 D0 1B 03 BC */ stfs f0, 0x3bc(r27)
lbl_8000BE3C:
/* 8000BE3C 00008D9C E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8000BE40 00008DA0 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8000BE44 00008DA4 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 8000BE48 00008DA8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8000BE4C 00008DAC 7C 08 03 A6 */ mtlr r0
/* 8000BE50 00008DB0 38 21 00 40 */ addi r1, r1, 0x40
/* 8000BE54 00008DB4 4E 80 00 20 */ blr
.global CreateStandardCameras__14CCameraManagerFR13CStateManager
CreateStandardCameras__14CCameraManagerFR13CStateManager:
/* 8000BE58 00008DB8 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8000BE5C 00008DBC 7C 08 02 A6 */ mflr r0
/* 8000BE60 00008DC0 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8000BE64 00008DC4 DB E1 00 C0 */ stfd f31, 0xc0(r1)
/* 8000BE68 00008DC8 F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0
/* 8000BE6C 00008DCC DB C1 00 B0 */ stfd f30, 0xb0(r1)
/* 8000BE70 00008DD0 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0
/* 8000BE74 00008DD4 DB A1 00 A0 */ stfd f29, 0xa0(r1)
/* 8000BE78 00008DD8 F3 A1 00 A8 */ psq_st f29, 168(r1), 0, qr0
/* 8000BE7C 00008DDC DB 81 00 90 */ stfd f28, 0x90(r1)
/* 8000BE80 00008DE0 F3 81 00 98 */ psq_st f28, 152(r1), 0, qr0
/* 8000BE84 00008DE4 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 8000BE88 00008DE8 93 C1 00 88 */ stw r30, 0x88(r1)
/* 8000BE8C 00008DEC 93 A1 00 84 */ stw r29, 0x84(r1)
/* 8000BE90 00008DF0 7C 9F 23 78 */ mr r31, r4
/* 8000BE94 00008DF4 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 8000BE98 00008DF8 80 BF 08 4C */ lwz r5, 0x84c(r31)
/* 8000BE9C 00008DFC 7C 7E 1B 78 */ mr r30, r3
/* 8000BEA0 00008E00 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 8000BEA4 00008E04 38 61 00 44 */ addi r3, r1, 0x44
/* 8000BEA8 00008E08 A0 05 00 08 */ lhz r0, 8(r5)
/* 8000BEAC 00008E0C B0 01 00 34 */ sth r0, 0x34(r1)
/* 8000BEB0 00008E10 48 30 6C C5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8000BEB4 00008E14 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 8000BEB8 00008E18 38 61 00 38 */ addi r3, r1, 0x38
/* 8000BEBC 00008E1C 48 27 8E C1 */ bl GetEyePosition__7CPlayerCFv
/* 8000BEC0 00008E20 C0 41 00 38 */ lfs f2, 0x38(r1)
/* 8000BEC4 00008E24 7F E4 FB 78 */ mr r4, r31
/* 8000BEC8 00008E28 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 8000BECC 00008E2C 38 61 00 24 */ addi r3, r1, 0x24
/* 8000BED0 00008E30 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 8000BED4 00008E34 D0 41 00 50 */ stfs f2, 0x50(r1)
/* 8000BED8 00008E38 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 8000BEDC 00008E3C D0 01 00 70 */ stfs f0, 0x70(r1)
/* 8000BEE0 00008E40 48 04 11 FD */ bl AllocateUniqueId__13CStateManagerFv
/* 8000BEE4 00008E44 A0 01 00 24 */ lhz r0, 0x24(r1)
/* 8000BEE8 00008E48 3C 60 80 3D */ lis r3, lbl_803CC028@ha
/* 8000BEEC 00008E4C 38 83 C0 28 */ addi r4, r3, lbl_803CC028@l
/* 8000BEF0 00008E50 38 A0 00 00 */ li r5, 0
/* 8000BEF4 00008E54 B0 01 00 30 */ sth r0, 0x30(r1)
/* 8000BEF8 00008E58 38 60 01 D8 */ li r3, 0x1d8
/* 8000BEFC 00008E5C 48 30 99 71 */ bl __nw__FUlPCcPCc
/* 8000BF00 00008E60 7C 7D 1B 79 */ or. r29, r3, r3
/* 8000BF04 00008E64 41 82 00 5C */ beq lbl_8000BF60
/* 8000BF08 00008E68 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13)
/* 8000BF0C 00008E6C A0 01 00 34 */ lhz r0, 0x34(r1)
/* 8000BF10 00008E70 C3 83 01 84 */ lfs f28, 0x184(r3)
/* 8000BF14 00008E74 B0 01 00 20 */ sth r0, 0x20(r1)
/* 8000BF18 00008E78 48 00 01 A1 */ bl DefaultAspect__14CCameraManagerFv
/* 8000BF1C 00008E7C FF E0 08 90 */ fmr f31, f1
/* 8000BF20 00008E80 48 00 01 A1 */ bl DefaultFarPlane__14CCameraManagerFv
/* 8000BF24 00008E84 FF C0 08 90 */ fmr f30, f1
/* 8000BF28 00008E88 48 00 01 A1 */ bl DefaultNearPlane__14CCameraManagerFv
/* 8000BF2C 00008E8C FF A0 08 90 */ fmr f29, f1
/* 8000BF30 00008E90 48 00 01 A1 */ bl DefaultFirstPersonFov__14CCameraManagerFv
/* 8000BF34 00008E94 FC 40 08 90 */ fmr f2, f1
/* 8000BF38 00008E98 7F A3 EB 78 */ mr r3, r29
/* 8000BF3C 00008E9C FC 20 E0 90 */ fmr f1, f28
/* 8000BF40 00008EA0 38 81 00 30 */ addi r4, r1, 0x30
/* 8000BF44 00008EA4 FC 60 E8 90 */ fmr f3, f29
/* 8000BF48 00008EA8 38 A1 00 44 */ addi r5, r1, 0x44
/* 8000BF4C 00008EAC FC 80 F0 90 */ fmr f4, f30
/* 8000BF50 00008EB0 38 C1 00 20 */ addi r6, r1, 0x20
/* 8000BF54 00008EB4 FC A0 F8 90 */ fmr f5, f31
/* 8000BF58 00008EB8 48 00 3B 8D */ bl __ct__18CFirstPersonCameraFRC9TUniqueIdRC12CTransform4f9TUniqueIdfffff
/* 8000BF5C 00008EBC 7C 7D 1B 78 */ mr r29, r3
lbl_8000BF60:
/* 8000BF60 00008EC0 93 BE 00 7C */ stw r29, 0x7c(r30)
/* 8000BF64 00008EC4 7F E3 FB 78 */ mr r3, r31
/* 8000BF68 00008EC8 80 9E 00 7C */ lwz r4, 0x7c(r30)
/* 8000BF6C 00008ECC 48 04 0D 89 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 8000BF70 00008ED0 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 8000BF74 00008ED4 7F E5 FB 78 */ mr r5, r31
/* 8000BF78 00008ED8 38 80 00 00 */ li r4, 0
/* 8000BF7C 00008EDC 48 00 B3 21 */ bl SetCameraState__7CPlayerFQ27CPlayer18EPlayerCameraStateR13CStateManager
/* 8000BF80 00008EE0 A0 01 00 30 */ lhz r0, 0x30(r1)
/* 8000BF84 00008EE4 7F C3 F3 78 */ mr r3, r30
/* 8000BF88 00008EE8 38 81 00 1C */ addi r4, r1, 0x1c
/* 8000BF8C 00008EEC B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8000BF90 00008EF0 4B FF FB 35 */ bl SetCurrentCameraId__14CCameraManagerF9TUniqueIdR13CStateManager
/* 8000BF94 00008EF4 7F E4 FB 78 */ mr r4, r31
/* 8000BF98 00008EF8 38 61 00 18 */ addi r3, r1, 0x18
/* 8000BF9C 00008EFC 48 04 11 41 */ bl AllocateUniqueId__13CStateManagerFv
/* 8000BFA0 00008F00 A0 01 00 18 */ lhz r0, 0x18(r1)
/* 8000BFA4 00008F04 3C 60 80 3D */ lis r3, lbl_803CC028@ha
/* 8000BFA8 00008F08 38 83 C0 28 */ addi r4, r3, lbl_803CC028@l
/* 8000BFAC 00008F0C 38 A0 00 00 */ li r5, 0
/* 8000BFB0 00008F10 B0 01 00 2C */ sth r0, 0x2c(r1)
/* 8000BFB4 00008F14 38 60 04 88 */ li r3, 0x488
/* 8000BFB8 00008F18 48 30 98 B5 */ bl __nw__FUlPCcPCc
/* 8000BFBC 00008F1C 7C 7D 1B 79 */ or. r29, r3, r3
/* 8000BFC0 00008F20 41 82 00 54 */ beq lbl_8000C014
/* 8000BFC4 00008F24 A0 61 00 34 */ lhz r3, 0x34(r1)
/* 8000BFC8 00008F28 A0 01 00 2C */ lhz r0, 0x2c(r1)
/* 8000BFCC 00008F2C B0 61 00 14 */ sth r3, 0x14(r1)
/* 8000BFD0 00008F30 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8000BFD4 00008F34 48 00 00 E5 */ bl DefaultAspect__14CCameraManagerFv
/* 8000BFD8 00008F38 FF A0 08 90 */ fmr f29, f1
/* 8000BFDC 00008F3C 48 00 00 E5 */ bl DefaultFarPlane__14CCameraManagerFv
/* 8000BFE0 00008F40 FF C0 08 90 */ fmr f30, f1
/* 8000BFE4 00008F44 48 00 00 E5 */ bl DefaultNearPlane__14CCameraManagerFv
/* 8000BFE8 00008F48 FF E0 08 90 */ fmr f31, f1
/* 8000BFEC 00008F4C 48 00 00 ED */ bl DefaultThirdPersonFov__14CCameraManagerFv
/* 8000BFF0 00008F50 FC 40 F8 90 */ fmr f2, f31
/* 8000BFF4 00008F54 7F A3 EB 78 */ mr r3, r29
/* 8000BFF8 00008F58 FC 60 F0 90 */ fmr f3, f30
/* 8000BFFC 00008F5C 38 81 00 10 */ addi r4, r1, 0x10
/* 8000C000 00008F60 FC 80 E8 90 */ fmr f4, f29
/* 8000C004 00008F64 38 A1 00 14 */ addi r5, r1, 0x14
/* 8000C008 00008F68 38 C1 00 44 */ addi r6, r1, 0x44
/* 8000C00C 00008F6C 48 08 0F 51 */ bl __ct__11CBallCameraF9TUniqueId9TUniqueIdRC12CTransform4fffff
/* 8000C010 00008F70 7C 7D 1B 78 */ mr r29, r3
lbl_8000C014:
/* 8000C014 00008F74 93 BE 00 80 */ stw r29, 0x80(r30)
/* 8000C018 00008F78 7F E3 FB 78 */ mr r3, r31
/* 8000C01C 00008F7C 80 9E 00 80 */ lwz r4, 0x80(r30)
/* 8000C020 00008F80 48 04 0C D5 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 8000C024 00008F84 7F E4 FB 78 */ mr r4, r31
/* 8000C028 00008F88 38 61 00 0C */ addi r3, r1, 0xc
/* 8000C02C 00008F8C 48 04 10 B1 */ bl AllocateUniqueId__13CStateManagerFv
/* 8000C030 00008F90 A0 01 00 0C */ lhz r0, 0xc(r1)
/* 8000C034 00008F94 3C 60 80 3D */ lis r3, lbl_803CC028@ha
/* 8000C038 00008F98 38 83 C0 28 */ addi r4, r3, lbl_803CC028@l
/* 8000C03C 00008F9C 38 A0 00 00 */ li r5, 0
/* 8000C040 00008FA0 B0 01 00 28 */ sth r0, 0x28(r1)
/* 8000C044 00008FA4 38 60 01 E0 */ li r3, 0x1e0
/* 8000C048 00008FA8 48 30 98 25 */ bl __nw__FUlPCcPCc
/* 8000C04C 00008FAC 7C 60 1B 79 */ or. r0, r3, r3
/* 8000C050 00008FB0 41 82 00 1C */ beq lbl_8000C06C
/* 8000C054 00008FB4 A0 01 00 28 */ lhz r0, 0x28(r1)
/* 8000C058 00008FB8 38 81 00 08 */ addi r4, r1, 8
/* 8000C05C 00008FBC 38 A1 00 44 */ addi r5, r1, 0x44
/* 8000C060 00008FC0 B0 01 00 08 */ sth r0, 8(r1)
/* 8000C064 00008FC4 48 25 9E 0D */ bl __ct__20CInterpolationCameraF9TUniqueIdRC12CTransform4f
/* 8000C068 00008FC8 7C 60 1B 78 */ mr r0, r3
lbl_8000C06C:
/* 8000C06C 00008FCC 90 1E 00 88 */ stw r0, 0x88(r30)
/* 8000C070 00008FD0 7F E3 FB 78 */ mr r3, r31
/* 8000C074 00008FD4 80 9E 00 88 */ lwz r4, 0x88(r30)
/* 8000C078 00008FD8 48 04 0C 7D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 8000C07C 00008FDC E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0
/* 8000C080 00008FE0 CB E1 00 C0 */ lfd f31, 0xc0(r1)
/* 8000C084 00008FE4 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0
/* 8000C088 00008FE8 CB C1 00 B0 */ lfd f30, 0xb0(r1)
/* 8000C08C 00008FEC E3 A1 00 A8 */ psq_l f29, 168(r1), 0, qr0
/* 8000C090 00008FF0 CB A1 00 A0 */ lfd f29, 0xa0(r1)
/* 8000C094 00008FF4 E3 81 00 98 */ psq_l f28, 152(r1), 0, qr0
/* 8000C098 00008FF8 CB 81 00 90 */ lfd f28, 0x90(r1)
/* 8000C09C 00008FFC 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 8000C0A0 00009000 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 8000C0A4 00009004 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 8000C0A8 00009008 83 A1 00 84 */ lwz r29, 0x84(r1)
/* 8000C0AC 0000900C 7C 08 03 A6 */ mtlr r0
/* 8000C0B0 00009010 38 21 00 D0 */ addi r1, r1, 0xd0
/* 8000C0B4 00009014 4E 80 00 20 */ blr
.global DefaultAspect__14CCameraManagerFv
DefaultAspect__14CCameraManagerFv:
/* 8000C0B8 00009018 C0 2D 80 20 */ lfs f1, lbl_805A6BE0@sda21(r13)
/* 8000C0BC 0000901C 4E 80 00 20 */ blr
.global DefaultFarPlane__14CCameraManagerFv
DefaultFarPlane__14CCameraManagerFv:
/* 8000C0C0 00009020 C0 2D 80 1C */ lfs f1, lbl_805A6BDC@sda21(r13)
/* 8000C0C4 00009024 4E 80 00 20 */ blr
.global DefaultNearPlane__14CCameraManagerFv
DefaultNearPlane__14CCameraManagerFv:
/* 8000C0C8 00009028 C0 2D 80 18 */ lfs f1, lbl_805A6BD8@sda21(r13)
/* 8000C0CC 0000902C 4E 80 00 20 */ blr
.global DefaultFirstPersonFov__14CCameraManagerFv
DefaultFirstPersonFov__14CCameraManagerFv:
/* 8000C0D0 00009030 C0 2D 80 10 */ lfs f1, lbl_805A6BD0@sda21(r13)
/* 8000C0D4 00009034 4E 80 00 20 */ blr
.global DefaultThirdPersonFov__14CCameraManagerFv
DefaultThirdPersonFov__14CCameraManagerFv:
/* 8000C0D8 00009038 C0 2D 80 14 */ lfs f1, lbl_805A6BD4@sda21(r13)
/* 8000C0DC 0000903C 4E 80 00 20 */ blr
.global __ct__14CCameraManagerF9TUniqueId
__ct__14CCameraManagerF9TUniqueId:
/* 8000C0E0 00009040 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8000C0E4 00009044 7C 08 02 A6 */ mflr r0
/* 8000C0E8 00009048 38 A0 00 00 */ li r5, 0
/* 8000C0EC 0000904C 90 01 00 44 */ stw r0, 0x44(r1)
/* 8000C0F0 00009050 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8000C0F4 00009054 7C 7F 1B 78 */ mr r31, r3
/* 8000C0F8 00009058 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000C0FC 0000905C A0 04 00 00 */ lhz r0, 0(r4)
/* 8000C100 00009060 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 8000C104 00009064 38 7F 00 3C */ addi r3, r31, 0x3c
/* 8000C108 00009068 B0 1F 00 00 */ sth r0, 0(r31)
/* 8000C10C 0000906C 38 1F 00 20 */ addi r0, r31, 0x20
/* 8000C110 00009070 90 BF 00 08 */ stw r5, 8(r31)
/* 8000C114 00009074 90 BF 00 0C */ stw r5, 0xc(r31)
/* 8000C118 00009078 90 BF 00 10 */ stw r5, 0x10(r31)
/* 8000C11C 0000907C 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8000C120 00009080 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 8000C124 00009084 90 1F 00 20 */ stw r0, 0x20(r31)
/* 8000C128 00009088 90 1F 00 24 */ stw r0, 0x24(r31)
/* 8000C12C 0000908C 90 BF 00 28 */ stw r5, 0x28(r31)
/* 8000C130 00009090 90 BF 00 2C */ stw r5, 0x2c(r31)
/* 8000C134 00009094 C0 04 00 00 */ lfs f0, 0(r4)
/* 8000C138 00009098 D0 1F 00 30 */ stfs f0, 0x30(r31)
/* 8000C13C 0000909C C0 04 00 04 */ lfs f0, 4(r4)
/* 8000C140 000090A0 D0 1F 00 34 */ stfs f0, 0x34(r31)
/* 8000C144 000090A4 C0 04 00 08 */ lfs f0, 8(r4)
/* 8000C148 000090A8 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 8000C14C 000090AC 48 05 30 59 */ bl __ct__Q29CGameArea8CAreaFogFv
/* 8000C150 000090B0 39 60 00 00 */ li r11, 0
/* 8000C154 000090B4 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000C158 000090B8 91 7F 00 74 */ stw r11, 0x74(r31)
/* 8000C15C 000090BC 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 8000C160 000090C0 C0 22 80 94 */ lfs f1, lbl_805A9DB4@sda21(r2)
/* 8000C164 000090C4 39 40 FF FF */ li r10, -1
/* 8000C168 000090C8 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13)
/* 8000C16C 000090CC 38 00 03 E8 */ li r0, 0x3e8
/* 8000C170 000090D0 C0 A2 80 80 */ lfs f5, lbl_805A9DA0@sda21(r2)
/* 8000C174 000090D4 FC 40 08 90 */ fmr f2, f1
/* 8000C178 000090D8 B0 7F 00 78 */ sth r3, 0x78(r31)
/* 8000C17C 000090DC 7C 85 23 78 */ mr r5, r4
/* 8000C180 000090E0 C0 82 80 74 */ lfs f4, lbl_805A9D94@sda21(r2)
/* 8000C184 000090E4 38 C1 00 14 */ addi r6, r1, 0x14
/* 8000C188 000090E8 91 7F 00 7C */ stw r11, 0x7c(r31)
/* 8000C18C 000090EC C0 62 80 98 */ lfs f3, lbl_805A9DB8@sda21(r2)
/* 8000C190 000090F0 38 E1 00 08 */ addi r7, r1, 8
/* 8000C194 000090F4 91 7F 00 80 */ stw r11, 0x80(r31)
/* 8000C198 000090F8 38 60 00 01 */ li r3, 1
/* 8000C19C 000090FC 89 22 CC 40 */ lbz r9, lbl_805AE960@sda21(r2)
/* 8000C1A0 00009100 39 00 00 01 */ li r8, 1
/* 8000C1A4 00009104 91 7F 00 84 */ stw r11, 0x84(r31)
/* 8000C1A8 00009108 91 7F 00 88 */ stw r11, 0x88(r31)
/* 8000C1AC 0000910C B1 5F 00 8C */ sth r10, 0x8c(r31)
/* 8000C1B0 00009110 D0 BF 00 90 */ stfs f5, 0x90(r31)
/* 8000C1B4 00009114 D0 9F 00 94 */ stfs f4, 0x94(r31)
/* 8000C1B8 00009118 D0 BF 00 98 */ stfs f5, 0x98(r31)
/* 8000C1BC 0000911C D0 9F 00 9C */ stfs f4, 0x9c(r31)
/* 8000C1C0 00009120 89 5F 00 A0 */ lbz r10, 0xa0(r31)
/* 8000C1C4 00009124 51 6A 3E 30 */ rlwimi r10, r11, 7, 0x18, 0x18
/* 8000C1C8 00009128 99 5F 00 A0 */ stb r10, 0xa0(r31)
/* 8000C1CC 0000912C 89 5F 00 A0 */ lbz r10, 0xa0(r31)
/* 8000C1D0 00009130 51 6A 36 72 */ rlwimi r10, r11, 6, 0x19, 0x19
/* 8000C1D4 00009134 99 5F 00 A0 */ stb r10, 0xa0(r31)
/* 8000C1D8 00009138 89 5F 00 A0 */ lbz r10, 0xa0(r31)
/* 8000C1DC 0000913C 51 6A 2E B4 */ rlwimi r10, r11, 5, 0x1a, 0x1a
/* 8000C1E0 00009140 99 5F 00 A0 */ stb r10, 0xa0(r31)
/* 8000C1E4 00009144 A1 4D A3 8C */ lhz r10, kInvalidUniqueId@sda21(r13)
/* 8000C1E8 00009148 B1 5F 00 A2 */ sth r10, 0xa2(r31)
/* 8000C1EC 0000914C A1 4D A3 8C */ lhz r10, kInvalidUniqueId@sda21(r13)
/* 8000C1F0 00009150 B1 5F 00 A4 */ sth r10, 0xa4(r31)
/* 8000C1F4 00009154 A1 4D A3 8C */ lhz r10, kInvalidUniqueId@sda21(r13)
/* 8000C1F8 00009158 B1 5F 00 A6 */ sth r10, 0xa6(r31)
/* 8000C1FC 0000915C 90 1F 00 A8 */ stw r0, 0xa8(r31)
/* 8000C200 00009160 91 7F 00 AC */ stw r11, 0xac(r31)
/* 8000C204 00009164 91 7F 02 B0 */ stw r11, 0x2b0(r31)
/* 8000C208 00009168 91 7F 03 34 */ stw r11, 0x334(r31)
/* 8000C20C 0000916C 88 1F 03 B8 */ lbz r0, 0x3b8(r31)
/* 8000C210 00009170 51 60 3E 30 */ rlwimi r0, r11, 7, 0x18, 0x18
/* 8000C214 00009174 98 1F 03 B8 */ stb r0, 0x3b8(r31)
/* 8000C218 00009178 88 1F 03 B8 */ lbz r0, 0x3b8(r31)
/* 8000C21C 0000917C 51 60 36 72 */ rlwimi r0, r11, 6, 0x19, 0x19
/* 8000C220 00009180 98 1F 03 B8 */ stb r0, 0x3b8(r31)
/* 8000C224 00009184 C0 0D 80 14 */ lfs f0, lbl_805A6BD4@sda21(r13)
/* 8000C228 00009188 D0 1F 03 BC */ stfs f0, 0x3bc(r31)
/* 8000C22C 0000918C D0 A1 00 08 */ stfs f5, 8(r1)
/* 8000C230 00009190 D0 A1 00 0C */ stfs f5, 0xc(r1)
/* 8000C234 00009194 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 8000C238 00009198 D0 81 00 14 */ stfs f4, 0x14(r1)
/* 8000C23C 0000919C D0 A1 00 18 */ stfs f5, 0x18(r1)
/* 8000C240 000091A0 D0 A1 00 1C */ stfs f5, 0x1c(r1)
/* 8000C244 000091A4 48 2D E1 F5 */ bl AddListener__11CSfxManagerFQ211CSfxManager12ESfxChannelsRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3ffffUiUc
/* 8000C248 000091A8 3C 60 80 3F */ lis r3, lbl_803ED910@ha
/* 8000C24C 000091AC 3C 80 43 30 */ lis r4, 0x4330
/* 8000C250 000091B0 38 C3 D9 10 */ addi r6, r3, lbl_803ED910@l
/* 8000C254 000091B4 90 81 00 20 */ stw r4, 0x20(r1)
/* 8000C258 000091B8 80 A6 00 08 */ lwz r5, 8(r6)
/* 8000C25C 000091BC 7F E3 FB 78 */ mr r3, r31
/* 8000C260 000091C0 80 06 00 0C */ lwz r0, 0xc(r6)
/* 8000C264 000091C4 6C A5 80 00 */ xoris r5, r5, 0x8000
/* 8000C268 000091C8 90 81 00 28 */ stw r4, 0x28(r1)
/* 8000C26C 000091CC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8000C270 000091D0 C8 42 80 A0 */ lfd f2, lbl_805A9DC0@sda21(r2)
/* 8000C274 000091D4 90 A1 00 24 */ stw r5, 0x24(r1)
/* 8000C278 000091D8 80 8D A1 20 */ lwz r4, gpTweakGame@sda21(r13)
/* 8000C27C 000091DC 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8000C280 000091E0 C8 21 00 20 */ lfd f1, 0x20(r1)
/* 8000C284 000091E4 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 8000C288 000091E8 EC 21 10 28 */ fsubs f1, f1, f2
/* 8000C28C 000091EC EC 00 10 28 */ fsubs f0, f0, f2
/* 8000C290 000091F0 EC 01 00 24 */ fdivs f0, f1, f0
/* 8000C294 000091F4 D0 0D 80 20 */ stfs f0, lbl_805A6BE0@sda21(r13)
/* 8000C298 000091F8 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 8000C29C 000091FC D0 0D 80 10 */ stfs f0, lbl_805A6BD0@sda21(r13)
/* 8000C2A0 00009200 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8000C2A4 00009204 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8000C2A8 00009208 7C 08 03 A6 */ mtlr r0
/* 8000C2AC 0000920C 38 21 00 40 */ addi r1, r1, 0x40
/* 8000C2B0 00009210 4E 80 00 20 */ blr
.global "Clamp<f>__5CMathFRCfRCfRCf"
"Clamp<f>__5CMathFRCfRCfRCf":
/* 8000C2B4 00009214 C0 03 00 00 */ lfs f0, 0(r3)
/* 8000C2B8 00009218 C0 24 00 00 */ lfs f1, 0(r4)
/* 8000C2BC 0000921C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8000C2C0 00009220 4D 81 00 20 */ bgtlr
/* 8000C2C4 00009224 C0 05 00 00 */ lfs f0, 0(r5)
/* 8000C2C8 00009228 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8000C2CC 0000922C 40 80 00 0C */ bge lbl_8000C2D8
/* 8000C2D0 00009230 7C A3 2B 78 */ mr r3, r5
/* 8000C2D4 00009234 4E 80 00 20 */ blr
lbl_8000C2D8:
/* 8000C2D8 00009238 7C 83 23 78 */ mr r3, r4
/* 8000C2DC 0000923C 4E 80 00 20 */ blr
.global sub_8000c2e0
sub_8000c2e0:
/* 8000C2E0 00009240 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8000C2E4 00009244 7C 08 02 A6 */ mflr r0
/* 8000C2E8 00009248 90 01 00 44 */ stw r0, 0x44(r1)
/* 8000C2EC 0000924C BF 61 00 2C */ stmw r27, 0x2c(r1)
/* 8000C2F0 00009250 7C 7D 1B 78 */ mr r29, r3
/* 8000C2F4 00009254 7C 9E 23 78 */ mr r30, r4
/* 8000C2F8 00009258 7C BF 2B 78 */ mr r31, r5
/* 8000C2FC 0000925C 7C 1D F0 50 */ subf r0, r29, r30
/* 8000C300 00009260 7C 00 1E 70 */ srawi r0, r0, 3
/* 8000C304 00009264 7C A0 01 94 */ addze r5, r0
/* 8000C308 00009268 2C 05 00 01 */ cmpwi r5, 1
/* 8000C30C 0000926C 40 81 00 E8 */ ble lbl_8000C3F4
/* 8000C310 00009270 2C 05 00 14 */ cmpwi r5, 0x14
/* 8000C314 00009274 41 81 00 18 */ bgt lbl_8000C32C
/* 8000C318 00009278 88 1F 00 00 */ lbz r0, 0(r31)
/* 8000C31C 0000927C 38 A1 00 14 */ addi r5, r1, 0x14
/* 8000C320 00009280 98 01 00 14 */ stb r0, 0x14(r1)
/* 8000C324 00009284 48 00 03 51 */ bl sub_8000c674
/* 8000C328 00009288 48 00 00 CC */ b lbl_8000C3F4
lbl_8000C32C:
/* 8000C32C 0000928C 54 A4 0F FE */ srwi r4, r5, 0x1f
/* 8000C330 00009290 88 1F 00 00 */ lbz r0, 0(r31)
/* 8000C334 00009294 7C 84 2A 14 */ add r4, r4, r5
/* 8000C338 00009298 3B 7E FF F8 */ addi r27, r30, -8
/* 8000C33C 0000929C 7C 84 0E 70 */ srawi r4, r4, 1
/* 8000C340 000092A0 98 01 00 10 */ stb r0, 0x10(r1)
/* 8000C344 000092A4 54 80 18 38 */ slwi r0, r4, 3
/* 8000C348 000092A8 7F 65 DB 78 */ mr r5, r27
/* 8000C34C 000092AC 7F 9D 02 14 */ add r28, r29, r0
/* 8000C350 000092B0 38 C1 00 10 */ addi r6, r1, 0x10
/* 8000C354 000092B4 7F 84 E3 78 */ mr r4, r28
/* 8000C358 000092B8 48 00 03 A1 */ bl sub_8000c6f8
/* 8000C35C 000092BC 80 9C 00 00 */ lwz r4, 0(r28)
/* 8000C360 000092C0 3B 9D 00 08 */ addi r28, r29, 8
/* 8000C364 000092C4 3B 7B FF F8 */ addi r27, r27, -8
/* 8000C368 000092C8 48 00 00 08 */ b lbl_8000C370
lbl_8000C36C:
/* 8000C36C 000092CC 3B 9C 00 08 */ addi r28, r28, 8
lbl_8000C370:
/* 8000C370 000092D0 80 BC 00 00 */ lwz r5, 0(r28)
/* 8000C374 000092D4 7C 05 20 00 */ cmpw r5, r4
/* 8000C378 000092D8 41 80 FF F4 */ blt lbl_8000C36C
/* 8000C37C 000092DC 48 00 00 08 */ b lbl_8000C384
lbl_8000C380:
/* 8000C380 000092E0 3B 7B FF F8 */ addi r27, r27, -8
lbl_8000C384:
/* 8000C384 000092E4 80 1B 00 00 */ lwz r0, 0(r27)
/* 8000C388 000092E8 7C 04 00 00 */ cmpw r4, r0
/* 8000C38C 000092EC 41 80 FF F4 */ blt lbl_8000C380
/* 8000C390 000092F0 7C 1C D8 40 */ cmplw r28, r27
/* 8000C394 000092F4 40 80 00 30 */ bge lbl_8000C3C4
/* 8000C398 000092F8 A0 7C 00 04 */ lhz r3, 4(r28)
/* 8000C39C 000092FC 90 A1 00 18 */ stw r5, 0x18(r1)
/* 8000C3A0 00009300 90 1C 00 00 */ stw r0, 0(r28)
/* 8000C3A4 00009304 A0 1B 00 04 */ lhz r0, 4(r27)
/* 8000C3A8 00009308 B0 61 00 1C */ sth r3, 0x1c(r1)
/* 8000C3AC 0000930C B0 1C 00 04 */ sth r0, 4(r28)
/* 8000C3B0 00009310 3B 9C 00 08 */ addi r28, r28, 8
/* 8000C3B4 00009314 90 BB 00 00 */ stw r5, 0(r27)
/* 8000C3B8 00009318 B0 7B 00 04 */ sth r3, 4(r27)
/* 8000C3BC 0000931C 3B 7B FF F8 */ addi r27, r27, -8
/* 8000C3C0 00009320 4B FF FF B0 */ b lbl_8000C370
lbl_8000C3C4:
/* 8000C3C4 00009324 88 1F 00 00 */ lbz r0, 0(r31)
/* 8000C3C8 00009328 7F A3 EB 78 */ mr r3, r29
/* 8000C3CC 0000932C 7F 84 E3 78 */ mr r4, r28
/* 8000C3D0 00009330 38 A1 00 0C */ addi r5, r1, 0xc
/* 8000C3D4 00009334 98 01 00 0C */ stb r0, 0xc(r1)
/* 8000C3D8 00009338 4B FF FF 09 */ bl sub_8000c2e0
/* 8000C3DC 0000933C 88 1F 00 00 */ lbz r0, 0(r31)
/* 8000C3E0 00009340 7F 83 E3 78 */ mr r3, r28
/* 8000C3E4 00009344 7F C4 F3 78 */ mr r4, r30
/* 8000C3E8 00009348 38 A1 00 08 */ addi r5, r1, 8
/* 8000C3EC 0000934C 98 01 00 08 */ stb r0, 8(r1)
/* 8000C3F0 00009350 4B FF FE F1 */ bl sub_8000c2e0
lbl_8000C3F4:
/* 8000C3F4 00009354 BB 61 00 2C */ lmw r27, 0x2c(r1)
/* 8000C3F8 00009358 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8000C3FC 0000935C 7C 08 03 A6 */ mtlr r0
/* 8000C400 00009360 38 21 00 40 */ addi r1, r1, 0x40
/* 8000C404 00009364 4E 80 00 20 */ blr
.global "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi":
/* 8000C408 00009368 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000C40C 0000936C 7C 08 02 A6 */ mflr r0
/* 8000C410 00009370 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000C414 00009374 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8000C418 00009378 7C 9F 23 78 */ mr r31, r4
/* 8000C41C 0000937C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8000C420 00009380 7C 7E 1B 78 */ mr r30, r3
/* 8000C424 00009384 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8000C428 00009388 80 03 00 08 */ lwz r0, 8(r3)
/* 8000C42C 0000938C 7C 1F 00 00 */ cmpw r31, r0
/* 8000C430 00009390 40 81 00 A8 */ ble lbl_8000C4D8
/* 8000C434 00009394 57 E3 08 3D */ rlwinm. r3, r31, 1, 0, 0x1e
/* 8000C438 00009398 40 82 00 0C */ bne lbl_8000C444
/* 8000C43C 0000939C 3B A0 00 00 */ li r29, 0
/* 8000C440 000093A0 48 00 00 18 */ b lbl_8000C458
lbl_8000C444:
/* 8000C444 000093A4 3C 80 80 3D */ lis r4, lbl_803CC028@ha
/* 8000C448 000093A8 38 A0 00 00 */ li r5, 0
/* 8000C44C 000093AC 38 84 C0 28 */ addi r4, r4, lbl_803CC028@l
/* 8000C450 000093B0 48 30 93 C9 */ bl __nwa__FUlPCcPCc
/* 8000C454 000093B4 7C 7D 1B 78 */ mr r29, r3
lbl_8000C458:
/* 8000C458 000093B8 80 1E 00 04 */ lwz r0, 4(r30)
/* 8000C45C 000093BC 7F A4 EB 78 */ mr r4, r29
/* 8000C460 000093C0 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 8000C464 000093C4 54 00 08 3C */ slwi r0, r0, 1
/* 8000C468 000093C8 7C 65 02 14 */ add r3, r5, r0
/* 8000C46C 000093CC 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8000C470 000093D0 90 61 00 08 */ stw r3, 8(r1)
/* 8000C474 000093D4 90 61 00 0C */ stw r3, 0xc(r1)
/* 8000C478 000093D8 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8000C47C 000093DC 48 00 00 1C */ b lbl_8000C498
lbl_8000C480:
/* 8000C480 000093E0 28 04 00 00 */ cmplwi r4, 0
/* 8000C484 000093E4 41 82 00 0C */ beq lbl_8000C490
/* 8000C488 000093E8 A0 05 00 00 */ lhz r0, 0(r5)
/* 8000C48C 000093EC B0 04 00 00 */ sth r0, 0(r4)
lbl_8000C490:
/* 8000C490 000093F0 38 84 00 02 */ addi r4, r4, 2
/* 8000C494 000093F4 38 A5 00 02 */ addi r5, r5, 2
lbl_8000C498:
/* 8000C498 000093F8 7C 05 18 40 */ cmplw r5, r3
/* 8000C49C 000093FC 40 82 FF E4 */ bne lbl_8000C480
/* 8000C4A0 00009400 80 1E 00 04 */ lwz r0, 4(r30)
/* 8000C4A4 00009404 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8000C4A8 00009408 54 00 08 3C */ slwi r0, r0, 1
/* 8000C4AC 0000940C 7C 64 1B 78 */ mr r4, r3
/* 8000C4B0 00009410 7C 03 02 14 */ add r0, r3, r0
/* 8000C4B4 00009414 48 00 00 08 */ b lbl_8000C4BC
lbl_8000C4B8:
/* 8000C4B8 00009418 38 84 00 02 */ addi r4, r4, 2
lbl_8000C4BC:
/* 8000C4BC 0000941C 7C 04 00 40 */ cmplw r4, r0
/* 8000C4C0 00009420 40 82 FF F8 */ bne lbl_8000C4B8
/* 8000C4C4 00009424 28 03 00 00 */ cmplwi r3, 0
/* 8000C4C8 00009428 41 82 00 08 */ beq lbl_8000C4D0
/* 8000C4CC 0000942C 48 30 94 65 */ bl Free__7CMemoryFPCv
lbl_8000C4D0:
/* 8000C4D0 00009430 93 BE 00 0C */ stw r29, 0xc(r30)
/* 8000C4D4 00009434 93 FE 00 08 */ stw r31, 8(r30)
lbl_8000C4D8:
/* 8000C4D8 00009438 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000C4DC 0000943C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8000C4E0 00009440 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8000C4E4 00009444 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8000C4E8 00009448 7C 08 03 A6 */ mtlr r0
/* 8000C4EC 0000944C 38 21 00 30 */ addi r1, r1, 0x30
/* 8000C4F0 00009450 4E 80 00 20 */ blr
.global sub_8000c4f4
sub_8000c4f4:
/* 8000C4F4 00009454 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000C4F8 00009458 7C 08 02 A6 */ mflr r0
/* 8000C4FC 0000945C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000C500 00009460 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000C504 00009464 93 C1 00 08 */ stw r30, 8(r1)
/* 8000C508 00009468 7C 7E 1B 78 */ mr r30, r3
/* 8000C50C 0000946C 80 03 00 04 */ lwz r0, 4(r3)
/* 8000C510 00009470 83 E4 00 04 */ lwz r31, 4(r4)
/* 8000C514 00009474 7C 04 00 40 */ cmplw r4, r0
/* 8000C518 00009478 40 82 00 08 */ bne lbl_8000C520
/* 8000C51C 0000947C 93 FE 00 04 */ stw r31, 4(r30)
lbl_8000C520:
/* 8000C520 00009480 80 04 00 04 */ lwz r0, 4(r4)
/* 8000C524 00009484 34 A4 00 08 */ addic. r5, r4, 8
/* 8000C528 00009488 80 64 00 00 */ lwz r3, 0(r4)
/* 8000C52C 0000948C 90 03 00 04 */ stw r0, 4(r3)
/* 8000C530 00009490 80 04 00 00 */ lwz r0, 0(r4)
/* 8000C534 00009494 80 64 00 04 */ lwz r3, 4(r4)
/* 8000C538 00009498 90 03 00 00 */ stw r0, 0(r3)
/* 8000C53C 0000949C 41 82 00 40 */ beq lbl_8000C57C
/* 8000C540 000094A0 34 05 00 80 */ addic. r0, r5, 0x80
/* 8000C544 000094A4 41 82 00 10 */ beq lbl_8000C554
/* 8000C548 000094A8 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha
/* 8000C54C 000094AC 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l
/* 8000C550 000094B0 90 05 00 80 */ stw r0, 0x80(r5)
lbl_8000C554:
/* 8000C554 000094B4 34 05 00 44 */ addic. r0, r5, 0x44
/* 8000C558 000094B8 41 82 00 10 */ beq lbl_8000C568
/* 8000C55C 000094BC 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha
/* 8000C560 000094C0 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l
/* 8000C564 000094C4 90 05 00 44 */ stw r0, 0x44(r5)
lbl_8000C568:
/* 8000C568 000094C8 34 05 00 08 */ addic. r0, r5, 8
/* 8000C56C 000094CC 41 82 00 10 */ beq lbl_8000C57C
/* 8000C570 000094D0 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha
/* 8000C574 000094D4 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l
/* 8000C578 000094D8 90 05 00 08 */ stw r0, 8(r5)
lbl_8000C57C:
/* 8000C57C 000094DC 28 04 00 00 */ cmplwi r4, 0
/* 8000C580 000094E0 41 82 00 0C */ beq lbl_8000C58C
/* 8000C584 000094E4 7C 83 23 78 */ mr r3, r4
/* 8000C588 000094E8 48 30 93 A9 */ bl Free__7CMemoryFPCv
lbl_8000C58C:
/* 8000C58C 000094EC 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 8000C590 000094F0 7F E3 FB 78 */ mr r3, r31
/* 8000C594 000094F4 38 04 FF FF */ addi r0, r4, -1
/* 8000C598 000094F8 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8000C59C 000094FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000C5A0 00009500 83 C1 00 08 */ lwz r30, 8(r1)
/* 8000C5A4 00009504 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000C5A8 00009508 7C 08 03 A6 */ mtlr r0
/* 8000C5AC 0000950C 38 21 00 10 */ addi r1, r1, 0x10
/* 8000C5B0 00009510 4E 80 00 20 */ blr
.global sub_8000c5b4
sub_8000c5b4:
/* 8000C5B4 00009514 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000C5B8 00009518 7C 08 02 A6 */ mflr r0
/* 8000C5BC 0000951C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000C5C0 00009520 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000C5C4 00009524 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000C5C8 00009528 7C 9E 23 78 */ mr r30, r4
/* 8000C5CC 0000952C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8000C5D0 00009530 7C 7D 1B 79 */ or. r29, r3, r3
/* 8000C5D4 00009534 41 82 00 80 */ beq lbl_8000C654
/* 8000C5D8 00009538 83 FD 00 04 */ lwz r31, 4(r29)
/* 8000C5DC 0000953C 48 00 00 5C */ b lbl_8000C638
lbl_8000C5E0:
/* 8000C5E0 00009540 7F E3 FB 78 */ mr r3, r31
/* 8000C5E4 00009544 83 FF 00 04 */ lwz r31, 4(r31)
/* 8000C5E8 00009548 34 A3 00 08 */ addic. r5, r3, 8
/* 8000C5EC 0000954C 41 82 00 40 */ beq lbl_8000C62C
/* 8000C5F0 00009550 34 05 00 80 */ addic. r0, r5, 0x80
/* 8000C5F4 00009554 41 82 00 10 */ beq lbl_8000C604
/* 8000C5F8 00009558 3C 80 80 3E */ lis r4, lbl_803D8EA8@ha
/* 8000C5FC 0000955C 38 04 8E A8 */ addi r0, r4, lbl_803D8EA8@l
/* 8000C600 00009560 90 05 00 80 */ stw r0, 0x80(r5)
lbl_8000C604:
/* 8000C604 00009564 34 05 00 44 */ addic. r0, r5, 0x44
/* 8000C608 00009568 41 82 00 10 */ beq lbl_8000C618
/* 8000C60C 0000956C 3C 80 80 3E */ lis r4, lbl_803D8EA8@ha
/* 8000C610 00009570 38 04 8E A8 */ addi r0, r4, lbl_803D8EA8@l
/* 8000C614 00009574 90 05 00 44 */ stw r0, 0x44(r5)
lbl_8000C618:
/* 8000C618 00009578 34 05 00 08 */ addic. r0, r5, 8
/* 8000C61C 0000957C 41 82 00 10 */ beq lbl_8000C62C
/* 8000C620 00009580 3C 80 80 3E */ lis r4, lbl_803D8EA8@ha
/* 8000C624 00009584 38 04 8E A8 */ addi r0, r4, lbl_803D8EA8@l
/* 8000C628 00009588 90 05 00 08 */ stw r0, 8(r5)
lbl_8000C62C:
/* 8000C62C 0000958C 28 03 00 00 */ cmplwi r3, 0
/* 8000C630 00009590 41 82 00 08 */ beq lbl_8000C638
/* 8000C634 00009594 48 30 92 FD */ bl Free__7CMemoryFPCv
lbl_8000C638:
/* 8000C638 00009598 80 1D 00 08 */ lwz r0, 8(r29)
/* 8000C63C 0000959C 7C 1F 00 40 */ cmplw r31, r0
/* 8000C640 000095A0 40 82 FF A0 */ bne lbl_8000C5E0
/* 8000C644 000095A4 7F C0 07 35 */ extsh. r0, r30
/* 8000C648 000095A8 40 81 00 0C */ ble lbl_8000C654
/* 8000C64C 000095AC 7F A3 EB 78 */ mr r3, r29
/* 8000C650 000095B0 48 30 92 E1 */ bl Free__7CMemoryFPCv
lbl_8000C654:
/* 8000C654 000095B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000C658 000095B8 7F A3 EB 78 */ mr r3, r29
/* 8000C65C 000095BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000C660 000095C0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000C664 000095C4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8000C668 000095C8 7C 08 03 A6 */ mtlr r0
/* 8000C66C 000095CC 38 21 00 20 */ addi r1, r1, 0x20
/* 8000C670 000095D0 4E 80 00 20 */ blr
.global sub_8000c674
sub_8000c674:
/* 8000C674 000095D4 38 A3 00 08 */ addi r5, r3, 8
/* 8000C678 000095D8 38 04 00 07 */ addi r0, r4, 7
/* 8000C67C 000095DC 7C 05 00 50 */ subf r0, r5, r0
/* 8000C680 000095E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000C684 000095E4 54 00 E8 FE */ srwi r0, r0, 3
/* 8000C688 000095E8 7C 09 03 A6 */ mtctr r0
/* 8000C68C 000095EC 7C 05 20 40 */ cmplw r5, r4
/* 8000C690 000095F0 40 80 00 60 */ bge lbl_8000C6F0
lbl_8000C694:
/* 8000C694 000095F4 80 85 00 00 */ lwz r4, 0(r5)
/* 8000C698 000095F8 7C A7 2B 78 */ mr r7, r5
/* 8000C69C 000095FC A0 05 00 04 */ lhz r0, 4(r5)
/* 8000C6A0 00009600 38 C5 FF F8 */ addi r6, r5, -8
/* 8000C6A4 00009604 90 81 00 08 */ stw r4, 8(r1)
/* 8000C6A8 00009608 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8000C6AC 0000960C 48 00 00 18 */ b lbl_8000C6C4
lbl_8000C6B0:
/* 8000C6B0 00009610 90 07 00 00 */ stw r0, 0(r7)
/* 8000C6B4 00009614 A0 06 00 04 */ lhz r0, 4(r6)
/* 8000C6B8 00009618 38 C6 FF F8 */ addi r6, r6, -8
/* 8000C6BC 0000961C B0 07 00 04 */ sth r0, 4(r7)
/* 8000C6C0 00009620 38 E7 FF F8 */ addi r7, r7, -8
lbl_8000C6C4:
/* 8000C6C4 00009624 7C 03 38 40 */ cmplw r3, r7
/* 8000C6C8 00009628 40 80 00 10 */ bge lbl_8000C6D8
/* 8000C6CC 0000962C 80 06 00 00 */ lwz r0, 0(r6)
/* 8000C6D0 00009630 7C 04 00 00 */ cmpw r4, r0
/* 8000C6D4 00009634 41 80 FF DC */ blt lbl_8000C6B0
lbl_8000C6D8:
/* 8000C6D8 00009638 80 81 00 08 */ lwz r4, 8(r1)
/* 8000C6DC 0000963C 38 A5 00 08 */ addi r5, r5, 8
/* 8000C6E0 00009640 A0 01 00 0C */ lhz r0, 0xc(r1)
/* 8000C6E4 00009644 90 87 00 00 */ stw r4, 0(r7)
/* 8000C6E8 00009648 B0 07 00 04 */ sth r0, 4(r7)
/* 8000C6EC 0000964C 42 00 FF A8 */ bdnz lbl_8000C694
lbl_8000C6F0:
/* 8000C6F0 00009650 38 21 00 10 */ addi r1, r1, 0x10
/* 8000C6F4 00009654 4E 80 00 20 */ blr
.global sub_8000c6f8
sub_8000c6f8:
/* 8000C6F8 00009658 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000C6FC 0000965C 80 04 00 00 */ lwz r0, 0(r4)
/* 8000C700 00009660 80 E3 00 00 */ lwz r7, 0(r3)
/* 8000C704 00009664 7C 00 38 00 */ cmpw r0, r7
/* 8000C708 00009668 40 80 00 24 */ bge lbl_8000C72C
/* 8000C70C 0000966C A0 C3 00 04 */ lhz r6, 4(r3)
/* 8000C710 00009670 90 E1 00 08 */ stw r7, 8(r1)
/* 8000C714 00009674 90 03 00 00 */ stw r0, 0(r3)
/* 8000C718 00009678 A0 04 00 04 */ lhz r0, 4(r4)
/* 8000C71C 0000967C B0 C1 00 0C */ sth r6, 0xc(r1)
/* 8000C720 00009680 B0 03 00 04 */ sth r0, 4(r3)
/* 8000C724 00009684 90 E4 00 00 */ stw r7, 0(r4)
/* 8000C728 00009688 B0 C4 00 04 */ sth r6, 4(r4)
lbl_8000C72C:
/* 8000C72C 0000968C 80 E5 00 00 */ lwz r7, 0(r5)
/* 8000C730 00009690 80 04 00 00 */ lwz r0, 0(r4)
/* 8000C734 00009694 7C 07 00 00 */ cmpw r7, r0
/* 8000C738 00009698 40 80 00 48 */ bge lbl_8000C780
/* 8000C73C 0000969C A0 C5 00 04 */ lhz r6, 4(r5)
/* 8000C740 000096A0 90 E1 00 10 */ stw r7, 0x10(r1)
/* 8000C744 000096A4 90 05 00 00 */ stw r0, 0(r5)
/* 8000C748 000096A8 A0 04 00 04 */ lhz r0, 4(r4)
/* 8000C74C 000096AC B0 C1 00 14 */ sth r6, 0x14(r1)
/* 8000C750 000096B0 B0 05 00 04 */ sth r0, 4(r5)
/* 8000C754 000096B4 80 03 00 00 */ lwz r0, 0(r3)
/* 8000C758 000096B8 7C 07 00 00 */ cmpw r7, r0
/* 8000C75C 000096BC 40 80 00 1C */ bge lbl_8000C778
/* 8000C760 000096C0 90 04 00 00 */ stw r0, 0(r4)
/* 8000C764 000096C4 A0 03 00 04 */ lhz r0, 4(r3)
/* 8000C768 000096C8 B0 04 00 04 */ sth r0, 4(r4)
/* 8000C76C 000096CC 90 E3 00 00 */ stw r7, 0(r3)
/* 8000C770 000096D0 B0 C3 00 04 */ sth r6, 4(r3)
/* 8000C774 000096D4 48 00 00 0C */ b lbl_8000C780
lbl_8000C778:
/* 8000C778 000096D8 90 E4 00 00 */ stw r7, 0(r4)
/* 8000C77C 000096DC B0 C4 00 04 */ sth r6, 4(r4)
lbl_8000C780:
/* 8000C780 000096E0 38 21 00 20 */ addi r1, r1, 0x20
/* 8000C784 000096E4 4E 80 00 20 */ blr