prime/asm/MetroidPrime/ScriptObjects/CScriptSpecialFunction.s

5448 lines
270 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.global lbl_803E2B68
lbl_803E2B68:
# ROM: 0x3DFB68
.4byte 0
.4byte 0
.4byte __dt__22CScriptSpecialFunctionFv
.4byte Accept__22CScriptSpecialFunctionFR8IVisitor
.4byte PreThink__7CEntityFfR13CStateManager
.4byte Think__22CScriptSpecialFunctionFfR13CStateManager
.4byte AcceptScriptMsg__22CScriptSpecialFunctionF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__6CActorFb
.4byte PreRender__22CScriptSpecialFunctionFR13CStateManagerRC14CFrustumPlanes
.4byte AddToRenderer__22CScriptSpecialFunctionCFRC14CFrustumPlanesRC13CStateManager
.4byte Render__22CScriptSpecialFunctionCFRC13CStateManager
.4byte CanRenderUnsorted__6CActorCFRC13CStateManager
.4byte CalculateRenderBounds__6CActorFv
.4byte HealthInfo__6CActorFR13CStateManager
.4byte GetDamageVulnerability__6CActorCFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte GetTouchBounds__22CScriptSpecialFunctionCFv
.4byte Touch__6CActorFR6CActorR13CStateManager
.4byte GetOrbitPosition__6CActorCFRC13CStateManager
.4byte GetAimPosition__6CActorCFRC13CStateManagerf
.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
.4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager
.4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei
.4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
.4byte GetSortingBounds__6CActorCFRC12CTransform4f
.4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventType
.global lbl_803E2BD4
lbl_803E2BD4:
# ROM: 0x3DFBD4
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_80151A8C
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_80152434
.4byte lbl_80151BA8
.4byte lbl_80151C48
.4byte lbl_80151CCC
.4byte lbl_801528A0
.4byte lbl_80151AFC
.4byte lbl_80151A64
.4byte lbl_801520EC
.4byte lbl_8015214C
.4byte lbl_80151A44
.4byte lbl_801521C4
.4byte lbl_8015223C
.4byte lbl_801528A0
.4byte lbl_801524A0
.4byte lbl_801528A0
.4byte lbl_80152530
.4byte lbl_801524E4
.4byte lbl_801528A0
.4byte lbl_80151BE8
.4byte lbl_80152574
.4byte lbl_80152798
.4byte lbl_801527D4
.4byte lbl_80152814
.4byte lbl_80152848
.4byte lbl_80151C18
.4byte lbl_80152860
.4byte lbl_8015246C
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_801528A0
.4byte lbl_80152034
.4byte lbl_80152324
.4byte lbl_8015234C
.global lbl_803E2CA0
lbl_803E2CA0:
# ROM: 0x3DFCA0
.4byte lbl_80152BA8
.4byte lbl_80152AA0
.4byte lbl_80152AA8
.4byte lbl_80152AC0
.4byte lbl_80152AD0
.4byte lbl_80152BA8
.4byte lbl_80152BA8
.4byte lbl_80152B30
.4byte lbl_80152B38
.4byte lbl_80152AD8
.4byte lbl_80152AB4
.4byte lbl_80152BA8
.4byte lbl_80152BA8
.4byte lbl_80152BA8
.4byte lbl_80152BA8
.4byte lbl_80152BA8
.4byte lbl_80152BA8
.4byte lbl_80152B40
.4byte lbl_80152B48
.4byte lbl_80152AC8
.4byte lbl_80152BA8
.4byte lbl_80152BA8
.4byte lbl_80152B50
.4byte lbl_80152BA8
.4byte lbl_80152B60
.4byte lbl_80152B58
.section .sdata
.global lbl_805A7808
lbl_805A7808:
# ROM: 0x3F51A8
.4byte 0x00000013
.global lbl_805A780C
lbl_805A780C:
# ROM: 0x3F51AC
.4byte 0x00000013
.global lbl_805A7810
lbl_805A7810:
# ROM: 0x3F51B0
.4byte 0
.global lbl_805A7814
lbl_805A7814:
# ROM: 0x3F51B4
.float 1.0
.global lbl_805A7818
lbl_805A7818:
# ROM: 0x3F51B8
.4byte 0
.global lbl_805A781C
lbl_805A781C:
# ROM: 0x3F51BC
.4byte 0
.global lbl_805A7820
lbl_805A7820:
# ROM: 0x3F51C0
.float 1.0
.global lbl_805A7824
lbl_805A7824:
# ROM: 0x3F51C4
.4byte 0
.global lbl_805A7828
lbl_805A7828:
# ROM: 0x3F51C8
.4byte 0x00000023
.global lbl_805A782C
lbl_805A782C:
# ROM: 0x3F51CC
.4byte 0
.section .text, "ax"
.global __dt__22CScriptSpecialFunctionFv
__dt__22CScriptSpecialFunctionFv:
/* 8014F1A0 0014C100 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8014F1A4 0014C104 7C 08 02 A6 */ mflr r0
/* 8014F1A8 0014C108 90 01 00 34 */ stw r0, 0x34(r1)
/* 8014F1AC 0014C10C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8014F1B0 0014C110 7C 9F 23 78 */ mr r31, r4
/* 8014F1B4 0014C114 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8014F1B8 0014C118 7C 7E 1B 79 */ or. r30, r3, r3
/* 8014F1BC 0014C11C 41 82 01 0C */ beq lbl_8014F2C8
/* 8014F1C0 0014C120 3C 60 80 3E */ lis r3, lbl_803E2B68@ha
/* 8014F1C4 0014C124 34 1E 01 E8 */ addic. r0, r30, 0x1e8
/* 8014F1C8 0014C128 38 03 2B 68 */ addi r0, r3, lbl_803E2B68@l
/* 8014F1CC 0014C12C 90 1E 00 00 */ stw r0, 0(r30)
/* 8014F1D0 0014C130 41 82 00 24 */ beq lbl_8014F1F4
/* 8014F1D4 0014C134 88 1E 01 F0 */ lbz r0, 0x1f0(r30)
/* 8014F1D8 0014C138 28 00 00 00 */ cmplwi r0, 0
/* 8014F1DC 0014C13C 41 82 00 10 */ beq lbl_8014F1EC
/* 8014F1E0 0014C140 38 7E 01 E8 */ addi r3, r30, 0x1e8
/* 8014F1E4 0014C144 38 80 FF FF */ li r4, -1
/* 8014F1E8 0014C148 48 1F 1C 59 */ bl __dt__6CTokenFv
lbl_8014F1EC:
/* 8014F1EC 0014C14C 38 00 00 00 */ li r0, 0
/* 8014F1F0 0014C150 98 1E 01 F0 */ stb r0, 0x1f0(r30)
lbl_8014F1F4:
/* 8014F1F4 0014C154 34 1E 01 C8 */ addic. r0, r30, 0x1c8
/* 8014F1F8 0014C158 41 82 00 0C */ beq lbl_8014F204
/* 8014F1FC 0014C15C 38 00 00 00 */ li r0, 0
/* 8014F200 0014C160 98 1E 01 E0 */ stb r0, 0x1e0(r30)
lbl_8014F204:
/* 8014F204 0014C164 34 1E 01 98 */ addic. r0, r30, 0x198
/* 8014F208 0014C168 41 82 00 44 */ beq lbl_8014F24C
/* 8014F20C 0014C16C 80 1E 01 9C */ lwz r0, 0x19c(r30)
/* 8014F210 0014C170 80 7E 01 A4 */ lwz r3, 0x1a4(r30)
/* 8014F214 0014C174 1C 00 00 18 */ mulli r0, r0, 0x18
/* 8014F218 0014C178 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8014F21C 0014C17C 7C 64 1B 78 */ mr r4, r3
/* 8014F220 0014C180 7C 03 02 14 */ add r0, r3, r0
/* 8014F224 0014C184 90 61 00 18 */ stw r3, 0x18(r1)
/* 8014F228 0014C188 90 01 00 24 */ stw r0, 0x24(r1)
/* 8014F22C 0014C18C 90 01 00 20 */ stw r0, 0x20(r1)
/* 8014F230 0014C190 48 00 00 08 */ b lbl_8014F238
lbl_8014F234:
/* 8014F234 0014C194 38 84 00 18 */ addi r4, r4, 0x18
lbl_8014F238:
/* 8014F238 0014C198 7C 04 00 40 */ cmplw r4, r0
/* 8014F23C 0014C19C 40 82 FF F8 */ bne lbl_8014F234
/* 8014F240 0014C1A0 28 03 00 00 */ cmplwi r3, 0
/* 8014F244 0014C1A4 41 82 00 08 */ beq lbl_8014F24C
/* 8014F248 0014C1A8 48 1C 66 E9 */ bl Free__7CMemoryFPCv
lbl_8014F24C:
/* 8014F24C 0014C1AC 34 1E 01 84 */ addic. r0, r30, 0x184
/* 8014F250 0014C1B0 41 82 00 4C */ beq lbl_8014F29C
/* 8014F254 0014C1B4 34 1E 01 84 */ addic. r0, r30, 0x184
/* 8014F258 0014C1B8 41 82 00 44 */ beq lbl_8014F29C
/* 8014F25C 0014C1BC 80 1E 01 88 */ lwz r0, 0x188(r30)
/* 8014F260 0014C1C0 80 7E 01 90 */ lwz r3, 0x190(r30)
/* 8014F264 0014C1C4 54 00 10 3A */ slwi r0, r0, 2
/* 8014F268 0014C1C8 7C 03 02 14 */ add r0, r3, r0
/* 8014F26C 0014C1CC 90 61 00 0C */ stw r3, 0xc(r1)
/* 8014F270 0014C1D0 7C 64 1B 78 */ mr r4, r3
/* 8014F274 0014C1D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8014F278 0014C1D8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8014F27C 0014C1DC 90 61 00 08 */ stw r3, 8(r1)
/* 8014F280 0014C1E0 48 00 00 08 */ b lbl_8014F288
lbl_8014F284:
/* 8014F284 0014C1E4 38 84 00 04 */ addi r4, r4, 4
lbl_8014F288:
/* 8014F288 0014C1E8 7C 04 00 40 */ cmplw r4, r0
/* 8014F28C 0014C1EC 40 82 FF F8 */ bne lbl_8014F284
/* 8014F290 0014C1F0 28 03 00 00 */ cmplwi r3, 0
/* 8014F294 0014C1F4 41 82 00 08 */ beq lbl_8014F29C
/* 8014F298 0014C1F8 48 1C 66 99 */ bl Free__7CMemoryFPCv
lbl_8014F29C:
/* 8014F29C 0014C1FC 34 1E 00 EC */ addic. r0, r30, 0xec
/* 8014F2A0 0014C200 41 82 00 0C */ beq lbl_8014F2AC
/* 8014F2A4 0014C204 38 7E 00 EC */ addi r3, r30, 0xec
/* 8014F2A8 0014C208 48 1E E8 39 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8014F2AC:
/* 8014F2AC 0014C20C 7F C3 F3 78 */ mr r3, r30
/* 8014F2B0 0014C210 38 80 00 00 */ li r4, 0
/* 8014F2B4 0014C214 4B F0 64 3D */ bl __dt__6CActorFv
/* 8014F2B8 0014C218 7F E0 07 35 */ extsh. r0, r31
/* 8014F2BC 0014C21C 40 81 00 0C */ ble lbl_8014F2C8
/* 8014F2C0 0014C220 7F C3 F3 78 */ mr r3, r30
/* 8014F2C4 0014C224 48 1C 66 6D */ bl Free__7CMemoryFPCv
lbl_8014F2C8:
/* 8014F2C8 0014C228 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8014F2CC 0014C22C 7F C3 F3 78 */ mr r3, r30
/* 8014F2D0 0014C230 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8014F2D4 0014C234 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8014F2D8 0014C238 7C 08 03 A6 */ mtlr r0
/* 8014F2DC 0014C23C 38 21 00 30 */ addi r1, r1, 0x30
/* 8014F2E0 0014C240 4E 80 00 20 */ blr
.global GetTouchBounds__22CScriptSpecialFunctionCFv
GetTouchBounds__22CScriptSpecialFunctionCFv:
/* 8014F2E4 0014C244 88 04 01 E0 */ lbz r0, 0x1e0(r4)
/* 8014F2E8 0014C248 98 03 00 18 */ stb r0, 0x18(r3)
/* 8014F2EC 0014C24C 88 04 01 E0 */ lbz r0, 0x1e0(r4)
/* 8014F2F0 0014C250 28 00 00 00 */ cmplwi r0, 0
/* 8014F2F4 0014C254 4D 82 00 20 */ beqlr
/* 8014F2F8 0014C258 28 03 00 00 */ cmplwi r3, 0
/* 8014F2FC 0014C25C 4D 82 00 20 */ beqlr
/* 8014F300 0014C260 C0 04 01 C8 */ lfs f0, 0x1c8(r4)
/* 8014F304 0014C264 D0 03 00 00 */ stfs f0, 0(r3)
/* 8014F308 0014C268 C0 04 01 CC */ lfs f0, 0x1cc(r4)
/* 8014F30C 0014C26C D0 03 00 04 */ stfs f0, 4(r3)
/* 8014F310 0014C270 C0 04 01 D0 */ lfs f0, 0x1d0(r4)
/* 8014F314 0014C274 D0 03 00 08 */ stfs f0, 8(r3)
/* 8014F318 0014C278 C0 04 01 D4 */ lfs f0, 0x1d4(r4)
/* 8014F31C 0014C27C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8014F320 0014C280 C0 04 01 D8 */ lfs f0, 0x1d8(r4)
/* 8014F324 0014C284 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8014F328 0014C288 C0 04 01 DC */ lfs f0, 0x1dc(r4)
/* 8014F32C 0014C28C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8014F330 0014C290 4E 80 00 20 */ blr
.global GetSpecialEnding__22CScriptSpecialFunctionCFv
GetSpecialEnding__22CScriptSpecialFunctionCFv:
/* 8014F334 0014C294 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8014F338 0014C298 7C 08 02 A6 */ mflr r0
/* 8014F33C 0014C29C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8014F340 0014C2A0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8014F344 0014C2A4 93 C1 00 08 */ stw r30, 8(r1)
/* 8014F348 0014C2A8 80 64 08 B8 */ lwz r3, 0x8b8(r4)
/* 8014F34C 0014C2AC 83 C3 00 00 */ lwz r30, 0(r3)
/* 8014F350 0014C2B0 7F C3 F3 78 */ mr r3, r30
/* 8014F354 0014C2B4 4B F4 21 59 */ bl GetTotalPickupCount__12CPlayerStateFv
/* 8014F358 0014C2B8 7C 7F 1B 78 */ mr r31, r3
/* 8014F35C 0014C2BC 7F C3 F3 78 */ mr r3, r30
/* 8014F360 0014C2C0 4B F4 1E D5 */ bl CalculateItemCollectionRate__12CPlayerStateFv
/* 8014F364 0014C2C4 1C 03 00 64 */ mulli r0, r3, 0x64
/* 8014F368 0014C2C8 7C 00 FB D6 */ divw r0, r0, r31
/* 8014F36C 0014C2CC 2C 00 00 4B */ cmpwi r0, 0x4b
/* 8014F370 0014C2D0 40 80 00 0C */ bge lbl_8014F37C
/* 8014F374 0014C2D4 38 60 00 00 */ li r3, 0
/* 8014F378 0014C2D8 48 00 00 14 */ b lbl_8014F38C
lbl_8014F37C:
/* 8014F37C 0014C2DC 2C 00 00 64 */ cmpwi r0, 0x64
/* 8014F380 0014C2E0 38 60 00 02 */ li r3, 2
/* 8014F384 0014C2E4 40 80 00 08 */ bge lbl_8014F38C
/* 8014F388 0014C2E8 38 60 00 01 */ li r3, 1
lbl_8014F38C:
/* 8014F38C 0014C2EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8014F390 0014C2F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8014F394 0014C2F4 83 C1 00 08 */ lwz r30, 8(r1)
/* 8014F398 0014C2F8 7C 08 03 A6 */ mtlr r0
/* 8014F39C 0014C2FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8014F3A0 0014C300 4E 80 00 20 */ blr
.global sub_8014f3a4
sub_8014f3a4:
/* 8014F3A4 0014C304 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8014F3A8 0014C308 7C 08 02 A6 */ mflr r0
/* 8014F3AC 0014C30C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8014F3B0 0014C310 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8014F3B4 0014C314 7C 9F 23 78 */ mr r31, r4
/* 8014F3B8 0014C318 80 04 00 00 */ lwz r0, 0(r4)
/* 8014F3BC 0014C31C 28 00 00 00 */ cmplwi r0, 0
/* 8014F3C0 0014C320 41 82 00 1C */ beq lbl_8014F3DC
/* 8014F3C4 0014C324 80 1F 00 00 */ lwz r0, 0(r31)
/* 8014F3C8 0014C328 38 61 00 08 */ addi r3, r1, 8
/* 8014F3CC 0014C32C 90 01 00 08 */ stw r0, 8(r1)
/* 8014F3D0 0014C330 48 19 AA B5 */ bl RemoveEmitter__11CSfxManagerFRC10CSfxHandle
/* 8014F3D4 0014C334 38 00 00 00 */ li r0, 0
/* 8014F3D8 0014C338 90 1F 00 00 */ stw r0, 0(r31)
lbl_8014F3DC:
/* 8014F3DC 0014C33C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8014F3E0 0014C340 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8014F3E4 0014C344 7C 08 03 A6 */ mtlr r0
/* 8014F3E8 0014C348 38 21 00 20 */ addi r1, r1, 0x20
/* 8014F3EC 0014C34C 4E 80 00 20 */ blr
.global sub_8014f3f0
sub_8014f3f0:
/* 8014F3F0 0014C350 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8014F3F4 0014C354 7C 08 02 A6 */ mflr r0
/* 8014F3F8 0014C358 90 01 00 44 */ stw r0, 0x44(r1)
/* 8014F3FC 0014C35C DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8014F400 0014C360 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8014F404 0014C364 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8014F408 0014C368 80 04 00 00 */ lwz r0, 0(r4)
/* 8014F40C 0014C36C FF E0 08 90 */ fmr f31, f1
/* 8014F410 0014C370 7C 9F 23 78 */ mr r31, r4
/* 8014F414 0014C374 28 00 00 00 */ cmplwi r0, 0
/* 8014F418 0014C378 40 82 00 40 */ bne lbl_8014F458
/* 8014F41C 0014C37C 80 82 C6 00 */ lwz r4, lbl_805AE320@sda21(r2)
/* 8014F420 0014C380 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8014F424 0014C384 38 03 66 A0 */ addi r0, r3, skZero3f@l
/* 8014F428 0014C388 A9 42 C5 FA */ lha r10, lbl_805AE31A@sda21(r2)
/* 8014F42C 0014C38C 90 81 00 08 */ stw r4, 8(r1)
/* 8014F430 0014C390 7C A4 2B 78 */ mr r4, r5
/* 8014F434 0014C394 7C C5 33 78 */ mr r5, r6
/* 8014F438 0014C398 7C 06 03 78 */ mr r6, r0
/* 8014F43C 0014C39C 38 61 00 18 */ addi r3, r1, 0x18
/* 8014F440 0014C3A0 39 00 00 01 */ li r8, 1
/* 8014F444 0014C3A4 39 20 00 01 */ li r9, 1
/* 8014F448 0014C3A8 48 19 AD 71 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fUcbbsi
/* 8014F44C 0014C3AC 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8014F450 0014C3B0 90 1F 00 00 */ stw r0, 0(r31)
/* 8014F454 0014C3B4 48 00 00 4C */ b lbl_8014F4A0
lbl_8014F458:
/* 8014F458 0014C3B8 80 1F 00 00 */ lwz r0, 0(r31)
/* 8014F45C 0014C3BC 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8014F460 0014C3C0 38 A3 66 A0 */ addi r5, r3, skZero3f@l
/* 8014F464 0014C3C4 7C C4 33 78 */ mr r4, r6
/* 8014F468 0014C3C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8014F46C 0014C3CC 7C E6 3B 78 */ mr r6, r7
/* 8014F470 0014C3D0 38 61 00 14 */ addi r3, r1, 0x14
/* 8014F474 0014C3D4 48 19 AA 3D */ bl UpdateEmitter__11CSfxManagerF10CSfxHandleRC9CVector3fRC9CVector3fUc
/* 8014F478 0014C3D8 C0 02 9D 98 */ lfs f0, lbl_805ABAB8@sda21(r2)
/* 8014F47C 0014C3DC 38 61 00 10 */ addi r3, r1, 0x10
/* 8014F480 0014C3E0 80 1F 00 00 */ lwz r0, 0(r31)
/* 8014F484 0014C3E4 EC 00 07 FA */ fmadds f0, f0, f31, f0
/* 8014F488 0014C3E8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8014F48C 0014C3EC FC 00 00 1E */ fctiwz f0, f0
/* 8014F490 0014C3F0 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8014F494 0014C3F4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8014F498 0014C3F8 7C 04 07 34 */ extsh r4, r0
/* 8014F49C 0014C3FC 48 19 9A 11 */ bl PitchBend__11CSfxManagerF10CSfxHandlei
lbl_8014F4A0:
/* 8014F4A0 0014C400 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8014F4A4 0014C404 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8014F4A8 0014C408 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8014F4AC 0014C40C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8014F4B0 0014C410 7C 08 03 A6 */ mtlr r0
/* 8014F4B4 0014C414 38 21 00 40 */ addi r1, r1, 0x40
/* 8014F4B8 0014C418 4E 80 00 20 */ blr
.global ThinkPlayerInArea__22CScriptSpecialFunctionFfR13CStateManager
ThinkPlayerInArea__22CScriptSpecialFunctionFfR13CStateManager:
/* 8014F4BC 0014C41C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8014F4C0 0014C420 7C 08 02 A6 */ mflr r0
/* 8014F4C4 0014C424 90 01 00 14 */ stw r0, 0x14(r1)
/* 8014F4C8 0014C428 80 A4 08 4C */ lwz r5, 0x84c(r4)
/* 8014F4CC 0014C42C 80 03 00 04 */ lwz r0, 4(r3)
/* 8014F4D0 0014C430 80 A5 00 04 */ lwz r5, 4(r5)
/* 8014F4D4 0014C434 7C 05 00 00 */ cmpw r5, r0
/* 8014F4D8 0014C438 40 82 00 30 */ bne lbl_8014F508
/* 8014F4DC 0014C43C 88 C3 01 E5 */ lbz r6, 0x1e5(r3)
/* 8014F4E0 0014C440 54 C0 D7 FF */ rlwinm. r0, r6, 0x1a, 0x1f, 0x1f
/* 8014F4E4 0014C444 40 82 00 4C */ bne lbl_8014F530
/* 8014F4E8 0014C448 38 00 00 01 */ li r0, 1
/* 8014F4EC 0014C44C 7C 85 23 78 */ mr r5, r4
/* 8014F4F0 0014C450 50 06 36 72 */ rlwimi r6, r0, 6, 0x19, 0x19
/* 8014F4F4 0014C454 38 80 00 03 */ li r4, 3
/* 8014F4F8 0014C458 98 C3 01 E5 */ stb r6, 0x1e5(r3)
/* 8014F4FC 0014C45C 38 C0 FF FF */ li r6, -1
/* 8014F500 0014C460 4B F0 1B C1 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8014F504 0014C464 48 00 00 2C */ b lbl_8014F530
lbl_8014F508:
/* 8014F508 0014C468 88 C3 01 E5 */ lbz r6, 0x1e5(r3)
/* 8014F50C 0014C46C 54 C0 D7 FF */ rlwinm. r0, r6, 0x1a, 0x1f, 0x1f
/* 8014F510 0014C470 41 82 00 20 */ beq lbl_8014F530
/* 8014F514 0014C474 38 00 00 00 */ li r0, 0
/* 8014F518 0014C478 7C 85 23 78 */ mr r5, r4
/* 8014F51C 0014C47C 50 06 36 72 */ rlwimi r6, r0, 6, 0x19, 0x19
/* 8014F520 0014C480 38 80 00 04 */ li r4, 4
/* 8014F524 0014C484 98 C3 01 E5 */ stb r6, 0x1e5(r3)
/* 8014F528 0014C488 38 C0 FF FF */ li r6, -1
/* 8014F52C 0014C48C 4B F0 1B 95 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
lbl_8014F530:
/* 8014F530 0014C490 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8014F534 0014C494 7C 08 03 A6 */ mtlr r0
/* 8014F538 0014C498 38 21 00 10 */ addi r1, r1, 0x10
/* 8014F53C 0014C49C 4E 80 00 20 */ blr
.global sub_8014f540
sub_8014f540:
/* 8014F540 0014C4A0 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8014F544 0014C4A4 7C 08 02 A6 */ mflr r0
/* 8014F548 0014C4A8 90 01 00 84 */ stw r0, 0x84(r1)
/* 8014F54C 0014C4AC DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8014F550 0014C4B0 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 8014F554 0014C4B4 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 8014F558 0014C4B8 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 8014F55C 0014C4BC DB A1 00 50 */ stfd f29, 0x50(r1)
/* 8014F560 0014C4C0 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 8014F564 0014C4C4 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8014F568 0014C4C8 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8014F56C 0014C4CC 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8014F570 0014C4D0 93 81 00 40 */ stw r28, 0x40(r1)
/* 8014F574 0014C4D4 7C 7D 1B 78 */ mr r29, r3
/* 8014F578 0014C4D8 7C 9E 23 78 */ mr r30, r4
/* 8014F57C 0014C4DC C0 43 00 FC */ lfs f2, 0xfc(r3)
/* 8014F580 0014C4E0 C0 03 01 00 */ lfs f0, 0x100(r3)
/* 8014F584 0014C4E4 EF A1 00 B2 */ fmuls f29, f1, f2
/* 8014F588 0014C4E8 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 8014F58C 0014C4EC D0 01 00 30 */ stfs f0, 0x30(r1)
/* 8014F590 0014C4F0 48 00 01 58 */ b lbl_8014F6E8
lbl_8014F594:
/* 8014F594 0014C4F4 80 1F 00 00 */ lwz r0, 0(r31)
/* 8014F598 0014C4F8 2C 00 00 12 */ cmpwi r0, 0x12
/* 8014F59C 0014C4FC 40 82 01 48 */ bne lbl_8014F6E4
/* 8014F5A0 0014C500 80 1F 00 04 */ lwz r0, 4(r31)
/* 8014F5A4 0014C504 2C 00 00 01 */ cmpwi r0, 1
/* 8014F5A8 0014C508 40 82 01 3C */ bne lbl_8014F6E4
/* 8014F5AC 0014C50C 80 1F 00 08 */ lwz r0, 8(r31)
/* 8014F5B0 0014C510 7F C4 F3 78 */ mr r4, r30
/* 8014F5B4 0014C514 38 61 00 0C */ addi r3, r1, 0xc
/* 8014F5B8 0014C518 38 A1 00 2C */ addi r5, r1, 0x2c
/* 8014F5BC 0014C51C 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8014F5C0 0014C520 4B EF 89 5D */ bl GetIdForScript__13CStateManagerCF9TEditorId
/* 8014F5C4 0014C524 A0 01 00 0C */ lhz r0, 0xc(r1)
/* 8014F5C8 0014C528 7F C3 F3 78 */ mr r3, r30
/* 8014F5CC 0014C52C 38 81 00 08 */ addi r4, r1, 8
/* 8014F5D0 0014C530 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8014F5D4 0014C534 B0 01 00 08 */ sth r0, 8(r1)
/* 8014F5D8 0014C538 4B EF CF 9D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8014F5DC 0014C53C 7C 64 1B 78 */ mr r4, r3
/* 8014F5E0 0014C540 38 61 00 34 */ addi r3, r1, 0x34
/* 8014F5E4 0014C544 4B F6 06 AD */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8014F5E8 0014C548 83 83 00 04 */ lwz r28, 4(r3)
/* 8014F5EC 0014C54C 28 1C 00 00 */ cmplwi r28, 0
/* 8014F5F0 0014C550 41 82 00 F4 */ beq lbl_8014F6E4
/* 8014F5F4 0014C554 80 9C 00 64 */ lwz r4, 0x64(r28)
/* 8014F5F8 0014C558 38 60 00 00 */ li r3, 0
/* 8014F5FC 0014C55C 28 04 00 00 */ cmplwi r4, 0
/* 8014F600 0014C560 41 82 00 20 */ beq lbl_8014F620
/* 8014F604 0014C564 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8014F608 0014C568 28 00 00 00 */ cmplwi r0, 0
/* 8014F60C 0014C56C 40 82 00 10 */ bne lbl_8014F61C
/* 8014F610 0014C570 88 04 00 28 */ lbz r0, 0x28(r4)
/* 8014F614 0014C574 28 00 00 00 */ cmplwi r0, 0
/* 8014F618 0014C578 41 82 00 08 */ beq lbl_8014F620
lbl_8014F61C:
/* 8014F61C 0014C57C 38 60 00 01 */ li r3, 1
lbl_8014F620:
/* 8014F620 0014C580 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8014F624 0014C584 41 82 00 C0 */ beq lbl_8014F6E4
/* 8014F628 0014C588 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 8014F62C 0014C58C C0 24 00 00 */ lfs f1, 0(r4)
/* 8014F630 0014C590 FC 1D 00 40 */ fcmpo cr0, f29, f0
/* 8014F634 0014C594 C3 E4 00 04 */ lfs f31, 4(r4)
/* 8014F638 0014C598 C3 C4 00 08 */ lfs f30, 8(r4)
/* 8014F63C 0014C59C 40 81 00 50 */ ble lbl_8014F68C
/* 8014F640 0014C5A0 EC 1D 08 2A */ fadds f0, f29, f1
/* 8014F644 0014C5A4 38 61 00 28 */ addi r3, r1, 0x28
/* 8014F648 0014C5A8 38 81 00 30 */ addi r4, r1, 0x30
/* 8014F64C 0014C5AC D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8014F650 0014C5B0 4B F2 E7 91 */ bl "Min<f>__5CMathFRCfRCf"
/* 8014F654 0014C5B4 EC 1D F8 2A */ fadds f0, f29, f31
/* 8014F658 0014C5B8 C3 E3 00 00 */ lfs f31, 0(r3)
/* 8014F65C 0014C5BC 38 61 00 24 */ addi r3, r1, 0x24
/* 8014F660 0014C5C0 38 81 00 30 */ addi r4, r1, 0x30
/* 8014F664 0014C5C4 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8014F668 0014C5C8 4B F2 E7 79 */ bl "Min<f>__5CMathFRCfRCf"
/* 8014F66C 0014C5CC EC 1D F0 2A */ fadds f0, f29, f30
/* 8014F670 0014C5D0 C3 C3 00 00 */ lfs f30, 0(r3)
/* 8014F674 0014C5D4 38 61 00 20 */ addi r3, r1, 0x20
/* 8014F678 0014C5D8 38 81 00 30 */ addi r4, r1, 0x30
/* 8014F67C 0014C5DC D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8014F680 0014C5E0 4B F2 E7 61 */ bl "Min<f>__5CMathFRCfRCf"
/* 8014F684 0014C5E4 C0 03 00 00 */ lfs f0, 0(r3)
/* 8014F688 0014C5E8 48 00 00 4C */ b lbl_8014F6D4
lbl_8014F68C:
/* 8014F68C 0014C5EC EC 1D 08 2A */ fadds f0, f29, f1
/* 8014F690 0014C5F0 38 61 00 1C */ addi r3, r1, 0x1c
/* 8014F694 0014C5F4 38 81 00 30 */ addi r4, r1, 0x30
/* 8014F698 0014C5F8 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8014F69C 0014C5FC 4B F0 00 95 */ bl "Max<f>__5CMathFRCfRCf"
/* 8014F6A0 0014C600 EC 1D F8 2A */ fadds f0, f29, f31
/* 8014F6A4 0014C604 C3 E3 00 00 */ lfs f31, 0(r3)
/* 8014F6A8 0014C608 38 61 00 18 */ addi r3, r1, 0x18
/* 8014F6AC 0014C60C 38 81 00 30 */ addi r4, r1, 0x30
/* 8014F6B0 0014C610 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8014F6B4 0014C614 4B F0 00 7D */ bl "Max<f>__5CMathFRCfRCf"
/* 8014F6B8 0014C618 EC 1D F0 2A */ fadds f0, f29, f30
/* 8014F6BC 0014C61C C3 C3 00 00 */ lfs f30, 0(r3)
/* 8014F6C0 0014C620 38 61 00 14 */ addi r3, r1, 0x14
/* 8014F6C4 0014C624 38 81 00 30 */ addi r4, r1, 0x30
/* 8014F6C8 0014C628 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8014F6CC 0014C62C 4B F0 00 65 */ bl "Max<f>__5CMathFRCfRCf"
/* 8014F6D0 0014C630 C0 03 00 00 */ lfs f0, 0(r3)
lbl_8014F6D4:
/* 8014F6D4 0014C634 80 7C 00 64 */ lwz r3, 0x64(r28)
/* 8014F6D8 0014C638 D3 E3 00 00 */ stfs f31, 0(r3)
/* 8014F6DC 0014C63C D3 C3 00 04 */ stfs f30, 4(r3)
/* 8014F6E0 0014C640 D0 03 00 08 */ stfs f0, 8(r3)
lbl_8014F6E4:
/* 8014F6E4 0014C644 3B FF 00 0C */ addi r31, r31, 0xc
lbl_8014F6E8:
/* 8014F6E8 0014C648 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 8014F6EC 0014C64C 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 8014F6F0 0014C650 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8014F6F4 0014C654 7C 03 02 14 */ add r0, r3, r0
/* 8014F6F8 0014C658 7C 1F 00 40 */ cmplw r31, r0
/* 8014F6FC 0014C65C 40 82 FE 98 */ bne lbl_8014F594
/* 8014F700 0014C660 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 8014F704 0014C664 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 8014F708 0014C668 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 8014F70C 0014C66C CB C1 00 60 */ lfd f30, 0x60(r1)
/* 8014F710 0014C670 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 8014F714 0014C674 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 8014F718 0014C678 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8014F71C 0014C67C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8014F720 0014C680 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 8014F724 0014C684 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8014F728 0014C688 83 81 00 40 */ lwz r28, 0x40(r1)
/* 8014F72C 0014C68C 7C 08 03 A6 */ mtlr r0
/* 8014F730 0014C690 38 21 00 80 */ addi r1, r1, 0x80
/* 8014F734 0014C694 4E 80 00 20 */ blr
.global ThinkAreaDamage__22CScriptSpecialFunctionFfR13CStateManager
ThinkAreaDamage__22CScriptSpecialFunctionFfR13CStateManager:
/* 8014F738 0014C698 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8014F73C 0014C69C 7C 08 02 A6 */ mflr r0
/* 8014F740 0014C6A0 90 01 00 84 */ stw r0, 0x84(r1)
/* 8014F744 0014C6A4 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8014F748 0014C6A8 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 8014F74C 0014C6AC 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 8014F750 0014C6B0 93 C1 00 68 */ stw r30, 0x68(r1)
/* 8014F754 0014C6B4 93 A1 00 64 */ stw r29, 0x64(r1)
/* 8014F758 0014C6B8 7C 7D 1B 78 */ mr r29, r3
/* 8014F75C 0014C6BC 80 64 08 B8 */ lwz r3, 0x8b8(r4)
/* 8014F760 0014C6C0 83 E4 08 4C */ lwz r31, 0x84c(r4)
/* 8014F764 0014C6C4 7C 9E 23 78 */ mr r30, r4
/* 8014F768 0014C6C8 80 83 00 00 */ lwz r4, 0(r3)
/* 8014F76C 0014C6CC FF E0 08 90 */ fmr f31, f1
/* 8014F770 0014C6D0 88 7D 01 E4 */ lbz r3, 0x1e4(r29)
/* 8014F774 0014C6D4 80 E4 00 20 */ lwz r7, 0x20(r4)
/* 8014F778 0014C6D8 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 8014F77C 0014C6DC 80 DF 00 04 */ lwz r6, 4(r31)
/* 8014F780 0014C6E0 80 BD 00 04 */ lwz r5, 4(r29)
/* 8014F784 0014C6E4 7C 87 00 D0 */ neg r4, r7
/* 8014F788 0014C6E8 7C 84 38 78 */ andc r4, r4, r7
/* 8014F78C 0014C6EC 7C 06 28 50 */ subf r0, r6, r5
/* 8014F790 0014C6F0 7C 00 00 34 */ cntlzw r0, r0
/* 8014F794 0014C6F4 54 84 0F FE */ srwi r4, r4, 0x1f
/* 8014F798 0014C6F8 54 00 D9 7E */ srwi r0, r0, 5
/* 8014F79C 0014C6FC 41 82 00 54 */ beq lbl_8014F7F0
/* 8014F7A0 0014C700 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 8014F7A4 0014C704 41 82 00 0C */ beq lbl_8014F7B0
/* 8014F7A8 0014C708 28 04 00 00 */ cmplwi r4, 0
/* 8014F7AC 0014C70C 41 82 00 90 */ beq lbl_8014F83C
lbl_8014F7B0:
/* 8014F7B0 0014C710 88 1D 01 E4 */ lbz r0, 0x1e4(r29)
/* 8014F7B4 0014C714 38 60 00 00 */ li r3, 0
/* 8014F7B8 0014C718 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
/* 8014F7BC 0014C71C 98 1D 01 E4 */ stb r0, 0x1e4(r29)
/* 8014F7C0 0014C720 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 8014F7C4 0014C724 4B EC 21 81 */ bl DecrementPhazon__7CPlayerFv
/* 8014F7C8 0014C728 7F A3 EB 78 */ mr r3, r29
/* 8014F7CC 0014C72C 7F C5 F3 78 */ mr r5, r30
/* 8014F7D0 0014C730 38 80 00 04 */ li r4, 4
/* 8014F7D4 0014C734 38 C0 FF FF */ li r6, -1
/* 8014F7D8 0014C738 4B F0 18 E9 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8014F7DC 0014C73C 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 8014F7E0 0014C740 38 60 00 00 */ li r3, 0
/* 8014F7E4 0014C744 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 8014F7E8 0014C748 98 1E 0F 94 */ stb r0, 0xf94(r30)
/* 8014F7EC 0014C74C 48 00 01 28 */ b lbl_8014F914
lbl_8014F7F0:
/* 8014F7F0 0014C750 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 8014F7F4 0014C754 41 82 01 20 */ beq lbl_8014F914
/* 8014F7F8 0014C758 28 04 00 00 */ cmplwi r4, 0
/* 8014F7FC 0014C75C 41 82 00 08 */ beq lbl_8014F804
/* 8014F800 0014C760 48 00 01 14 */ b lbl_8014F914
lbl_8014F804:
/* 8014F804 0014C764 38 00 00 01 */ li r0, 1
/* 8014F808 0014C768 50 03 07 FE */ rlwimi r3, r0, 0, 0x1f, 0x1f
/* 8014F80C 0014C76C 98 7D 01 E4 */ stb r3, 0x1e4(r29)
/* 8014F810 0014C770 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 8014F814 0014C774 4B EC 21 49 */ bl IncrementPhazon__7CPlayerFv
/* 8014F818 0014C778 7F A3 EB 78 */ mr r3, r29
/* 8014F81C 0014C77C 7F C5 F3 78 */ mr r5, r30
/* 8014F820 0014C780 38 80 00 03 */ li r4, 3
/* 8014F824 0014C784 38 C0 FF FF */ li r6, -1
/* 8014F828 0014C788 4B F0 18 99 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8014F82C 0014C78C 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 8014F830 0014C790 38 60 00 01 */ li r3, 1
/* 8014F834 0014C794 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 8014F838 0014C798 98 1E 0F 94 */ stb r0, 0xf94(r30)
lbl_8014F83C:
/* 8014F83C 0014C79C 88 01 00 24 */ lbz r0, 0x24(r1)
/* 8014F840 0014C7A0 38 60 00 00 */ li r3, 0
/* 8014F844 0014C7A4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8014F848 0014C7A8 C0 1D 00 FC */ lfs f0, 0xfc(r29)
/* 8014F84C 0014C7AC 98 01 00 24 */ stb r0, 0x24(r1)
/* 8014F850 0014C7B0 38 E0 00 0C */ li r7, 0xc
/* 8014F854 0014C7B4 EC 20 07 F2 */ fmuls f1, f0, f31
/* 8014F858 0014C7B8 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8014F85C 0014C7BC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8014F860 0014C7C0 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 8014F864 0014C7C4 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 8014F868 0014C7C8 98 01 00 24 */ stb r0, 0x24(r1)
/* 8014F86C 0014C7CC 50 66 2E B4 */ rlwimi r6, r3, 5, 0x1a, 0x1a
/* 8014F870 0014C7D0 88 01 00 58 */ lbz r0, 0x58(r1)
/* 8014F874 0014C7D4 38 60 00 01 */ li r3, 1
/* 8014F878 0014C7D8 80 AD 8C 48 */ lwz r5, lbl_805A7808@sda21(r13)
/* 8014F87C 0014C7DC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8014F880 0014C7E0 90 E1 00 20 */ stw r7, 0x20(r1)
/* 8014F884 0014C7E4 38 60 00 00 */ li r3, 0
/* 8014F888 0014C7E8 38 80 00 01 */ li r4, 1
/* 8014F88C 0014C7EC 98 C1 00 24 */ stb r6, 0x24(r1)
/* 8014F890 0014C7F0 90 E1 00 40 */ stw r7, 0x40(r1)
/* 8014F894 0014C7F4 98 C1 00 44 */ stb r6, 0x44(r1)
/* 8014F898 0014C7F8 D0 21 00 48 */ stfs f1, 0x48(r1)
/* 8014F89C 0014C7FC D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 8014F8A0 0014C800 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 8014F8A4 0014C804 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 8014F8A8 0014C808 98 01 00 58 */ stb r0, 0x58(r1)
/* 8014F8AC 0014C80C 48 23 A6 49 */ bl __shl2i
/* 8014F8B0 0014C810 39 40 00 00 */ li r10, 0
/* 8014F8B4 0014C814 38 00 00 03 */ li r0, 3
/* 8014F8B8 0014C818 90 81 00 2C */ stw r4, 0x2c(r1)
/* 8014F8BC 0014C81C 3C 80 80 5A */ lis r4, skZero3f@ha
/* 8014F8C0 0014C820 39 24 66 A0 */ addi r9, r4, skZero3f@l
/* 8014F8C4 0014C824 38 A1 00 14 */ addi r5, r1, 0x14
/* 8014F8C8 0014C828 90 61 00 28 */ stw r3, 0x28(r1)
/* 8014F8CC 0014C82C 38 81 00 1C */ addi r4, r1, 0x1c
/* 8014F8D0 0014C830 7F C3 F3 78 */ mr r3, r30
/* 8014F8D4 0014C834 38 C1 00 0C */ addi r6, r1, 0xc
/* 8014F8D8 0014C838 91 41 00 34 */ stw r10, 0x34(r1)
/* 8014F8DC 0014C83C 38 E1 00 40 */ addi r7, r1, 0x40
/* 8014F8E0 0014C840 39 01 00 28 */ addi r8, r1, 0x28
/* 8014F8E4 0014C844 91 41 00 30 */ stw r10, 0x30(r1)
/* 8014F8E8 0014C848 90 01 00 38 */ stw r0, 0x38(r1)
/* 8014F8EC 0014C84C A0 1D 00 08 */ lhz r0, 8(r29)
/* 8014F8F0 0014C850 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8014F8F4 0014C854 A1 5F 00 08 */ lhz r10, 8(r31)
/* 8014F8F8 0014C858 B0 01 00 08 */ sth r0, 8(r1)
/* 8014F8FC 0014C85C B1 41 00 14 */ sth r10, 0x14(r1)
/* 8014F900 0014C860 A0 1D 00 08 */ lhz r0, 8(r29)
/* 8014F904 0014C864 B1 41 00 10 */ sth r10, 0x10(r1)
/* 8014F908 0014C868 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8014F90C 0014C86C B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8014F910 0014C870 4B EF A7 91 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
lbl_8014F914:
/* 8014F914 0014C874 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 8014F918 0014C878 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8014F91C 0014C87C CB E1 00 70 */ lfd f31, 0x70(r1)
/* 8014F920 0014C880 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 8014F924 0014C884 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 8014F928 0014C888 83 A1 00 64 */ lwz r29, 0x64(r1)
/* 8014F92C 0014C88C 7C 08 03 A6 */ mtlr r0
/* 8014F930 0014C890 38 21 00 80 */ addi r1, r1, 0x80
/* 8014F934 0014C894 4E 80 00 20 */ blr
.global ThinkRainSimulator__22CScriptSpecialFunctionFfR13CStateManager
ThinkRainSimulator__22CScriptSpecialFunctionFfR13CStateManager:
/* 8014F938 0014C898 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8014F93C 0014C89C 7C 08 02 A6 */ mflr r0
/* 8014F940 0014C8A0 3C A0 91 A3 */ lis r5, 0x91A2B3C5@ha
/* 8014F944 0014C8A4 C8 62 9D A8 */ lfd f3, lbl_805ABAC8@sda21(r2)
/* 8014F948 0014C8A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8014F94C 0014C8AC 3C 00 43 30 */ lis r0, 0x4330
/* 8014F950 0014C8B0 38 A5 B3 C5 */ addi r5, r5, 0x91A2B3C5@l
/* 8014F954 0014C8B4 C0 22 9D A0 */ lfs f1, lbl_805ABAC0@sda21(r2)
/* 8014F958 0014C8B8 80 C4 08 D4 */ lwz r6, 0x8d4(r4)
/* 8014F95C 0014C8BC 90 01 00 08 */ stw r0, 8(r1)
/* 8014F960 0014C8C0 7C A5 30 16 */ mulhwu r5, r5, r6
/* 8014F964 0014C8C4 C0 02 9D A4 */ lfs f0, lbl_805ABAC4@sda21(r2)
/* 8014F968 0014C8C8 54 A5 AA FE */ srwi r5, r5, 0xb
/* 8014F96C 0014C8CC 1C 05 0E 10 */ mulli r0, r5, 0xe10
/* 8014F970 0014C8D0 7C 00 30 50 */ subf r0, r0, r6
/* 8014F974 0014C8D4 90 01 00 0C */ stw r0, 0xc(r1)
/* 8014F978 0014C8D8 C8 41 00 08 */ lfd f2, 8(r1)
/* 8014F97C 0014C8DC EC 42 18 28 */ fsubs f2, f2, f3
/* 8014F980 0014C8E0 EC 22 08 24 */ fdivs f1, f2, f1
/* 8014F984 0014C8E4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8014F988 0014C8E8 40 80 00 18 */ bge lbl_8014F9A0
/* 8014F98C 0014C8EC 7C 85 23 78 */ mr r5, r4
/* 8014F990 0014C8F0 38 80 00 07 */ li r4, 7
/* 8014F994 0014C8F4 38 C0 FF FF */ li r6, -1
/* 8014F998 0014C8F8 4B F0 17 29 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8014F99C 0014C8FC 48 00 00 14 */ b lbl_8014F9B0
lbl_8014F9A0:
/* 8014F9A0 0014C900 7C 85 23 78 */ mr r5, r4
/* 8014F9A4 0014C904 38 80 00 09 */ li r4, 9
/* 8014F9A8 0014C908 38 C0 FF FF */ li r6, -1
/* 8014F9AC 0014C90C 4B F0 17 15 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
lbl_8014F9B0:
/* 8014F9B0 0014C910 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8014F9B4 0014C914 7C 08 03 A6 */ mtlr r0
/* 8014F9B8 0014C918 38 21 00 10 */ addi r1, r1, 0x10
/* 8014F9BC 0014C91C 4E 80 00 20 */ blr
.global ThinkChaffTarget__22CScriptSpecialFunctionFfR13CStateManager
ThinkChaffTarget__22CScriptSpecialFunctionFfR13CStateManager:
/* 8014F9C0 0014C920 94 21 F7 50 */ stwu r1, -0x8b0(r1)
/* 8014F9C4 0014C924 7C 08 02 A6 */ mflr r0
/* 8014F9C8 0014C928 90 01 08 B4 */ stw r0, 0x8b4(r1)
/* 8014F9CC 0014C92C DB E1 08 A0 */ stfd f31, 0x8a0(r1)
/* 8014F9D0 0014C930 F3 E1 08 A8 */ psq_st f31, -1880(r1), 0, qr0
/* 8014F9D4 0014C934 BF 61 08 8C */ stmw r27, 0x88c(r1)
/* 8014F9D8 0014C938 38 00 00 00 */ li r0, 0
/* 8014F9DC 0014C93C 7C 7E 1B 78 */ mr r30, r3
/* 8014F9E0 0014C940 90 01 00 80 */ stw r0, 0x80(r1)
/* 8014F9E4 0014C944 7C 9F 23 78 */ mr r31, r4
/* 8014F9E8 0014C948 C0 62 9D B0 */ lfs f3, lbl_805ABAD0@sda21(r2)
/* 8014F9EC 0014C94C FF E0 08 90 */ fmr f31, f1
/* 8014F9F0 0014C950 C0 83 00 50 */ lfs f4, 0x50(r3)
/* 8014F9F4 0014C954 38 61 00 68 */ addi r3, r1, 0x68
/* 8014F9F8 0014C958 C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 8014F9FC 0014C95C 38 81 00 40 */ addi r4, r1, 0x40
/* 8014FA00 0014C960 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 8014FA04 0014C964 EC C4 18 2A */ fadds f6, f4, f3
/* 8014FA08 0014C968 38 A1 00 34 */ addi r5, r1, 0x34
/* 8014FA0C 0014C96C EC A2 18 2A */ fadds f5, f2, f3
/* 8014FA10 0014C970 EC 20 18 2A */ fadds f1, f0, f3
/* 8014FA14 0014C974 EC 84 18 28 */ fsubs f4, f4, f3
/* 8014FA18 0014C978 D0 C1 00 38 */ stfs f6, 0x38(r1)
/* 8014FA1C 0014C97C EC 42 18 28 */ fsubs f2, f2, f3
/* 8014FA20 0014C980 EC 00 18 28 */ fsubs f0, f0, f3
/* 8014FA24 0014C984 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 8014FA28 0014C988 D0 A1 00 3C */ stfs f5, 0x3c(r1)
/* 8014FA2C 0014C98C D0 01 00 40 */ stfs f0, 0x40(r1)
/* 8014FA30 0014C990 D0 81 00 44 */ stfs f4, 0x44(r1)
/* 8014FA34 0014C994 D0 41 00 48 */ stfs f2, 0x48(r1)
/* 8014FA38 0014C998 48 1E 8A D1 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8014FA3C 0014C99C 80 AD 8C 68 */ lwz r5, lbl_805A7828@sda21(r13)
/* 8014FA40 0014C9A0 38 60 00 00 */ li r3, 0
/* 8014FA44 0014C9A4 38 80 00 01 */ li r4, 1
/* 8014FA48 0014C9A8 48 23 A4 AD */ bl __shl2i
/* 8014FA4C 0014C9AC 39 00 00 00 */ li r8, 0
/* 8014FA50 0014C9B0 38 00 00 01 */ li r0, 1
/* 8014FA54 0014C9B4 90 81 00 54 */ stw r4, 0x54(r1)
/* 8014FA58 0014C9B8 38 81 00 80 */ addi r4, r1, 0x80
/* 8014FA5C 0014C9BC 38 A1 00 68 */ addi r5, r1, 0x68
/* 8014FA60 0014C9C0 38 C1 00 50 */ addi r6, r1, 0x50
/* 8014FA64 0014C9C4 90 61 00 50 */ stw r3, 0x50(r1)
/* 8014FA68 0014C9C8 7F E3 FB 78 */ mr r3, r31
/* 8014FA6C 0014C9CC 38 E0 00 00 */ li r7, 0
/* 8014FA70 0014C9D0 91 01 00 5C */ stw r8, 0x5c(r1)
/* 8014FA74 0014C9D4 91 01 00 58 */ stw r8, 0x58(r1)
/* 8014FA78 0014C9D8 90 01 00 60 */ stw r0, 0x60(r1)
/* 8014FA7C 0014C9DC 4B EF CC A5 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor"
/* 8014FA80 0014C9E0 3B A1 00 84 */ addi r29, r1, 0x84
/* 8014FA84 0014C9E4 3B 9F 0C BC */ addi r28, r31, 0xcbc
/* 8014FA88 0014C9E8 3B 60 00 00 */ li r27, 0
/* 8014FA8C 0014C9EC 48 00 00 C4 */ b lbl_8014FB50
lbl_8014FA90:
/* 8014FA90 0014C9F0 A0 1D 00 00 */ lhz r0, 0(r29)
/* 8014FA94 0014C9F4 7F E3 FB 78 */ mr r3, r31
/* 8014FA98 0014C9F8 38 81 00 20 */ addi r4, r1, 0x20
/* 8014FA9C 0014C9FC B0 01 00 20 */ sth r0, 0x20(r1)
/* 8014FAA0 0014CA00 4B EF CA D5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8014FAA4 0014CA04 7C 64 1B 78 */ mr r4, r3
/* 8014FAA8 0014CA08 38 61 00 2C */ addi r3, r1, 0x2c
/* 8014FAAC 0014CA0C 4B F5 F2 1D */ bl "__ct__31TCastToPtr<17CEnergyProjectile>FP7CEntity"
/* 8014FAB0 0014CA10 80 83 00 04 */ lwz r4, 4(r3)
/* 8014FAB4 0014CA14 28 04 00 00 */ cmplwi r4, 0
/* 8014FAB8 0014CA18 41 82 00 90 */ beq lbl_8014FB48
/* 8014FABC 0014CA1C A0 64 02 C0 */ lhz r3, 0x2c0(r4)
/* 8014FAC0 0014CA20 A0 1E 00 08 */ lhz r0, 8(r30)
/* 8014FAC4 0014CA24 7C 03 00 40 */ cmplw r3, r0
/* 8014FAC8 0014CA28 40 82 00 80 */ bne lbl_8014FB48
/* 8014FACC 0014CA2C 88 04 03 D0 */ lbz r0, 0x3d0(r4)
/* 8014FAD0 0014CA30 38 60 00 01 */ li r3, 1
/* 8014FAD4 0014CA34 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8014FAD8 0014CA38 98 04 03 D0 */ stb r0, 0x3d0(r4)
/* 8014FADC 0014CA3C 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 8014FAE0 0014CA40 80 1E 00 04 */ lwz r0, 4(r30)
/* 8014FAE4 0014CA44 80 83 00 04 */ lwz r4, 4(r3)
/* 8014FAE8 0014CA48 7C 04 00 00 */ cmpw r4, r0
/* 8014FAEC 0014CA4C 40 82 00 5C */ bne lbl_8014FB48
/* 8014FAF0 0014CA50 C0 3E 01 00 */ lfs f1, 0x100(r30)
/* 8014FAF4 0014CA54 C0 42 80 F8 */ lfs f2, lbl_805A9E18@sda21(r2)
/* 8014FAF8 0014CA58 C0 62 80 FC */ lfs f3, lbl_805A9E1C@sda21(r2)
/* 8014FAFC 0014CA5C 4B EC 35 71 */ bl SetHudDisable__7CPlayerFfff
/* 8014FB00 0014CA60 C0 22 9D B4 */ lfs f1, lbl_805ABAD4@sda21(r2)
/* 8014FB04 0014CA64 38 61 00 28 */ addi r3, r1, 0x28
/* 8014FB08 0014CA68 C0 1E 00 FC */ lfs f0, 0xfc(r30)
/* 8014FB0C 0014CA6C FC 40 08 90 */ fmr f2, f1
/* 8014FB10 0014CA70 FC 60 08 90 */ fmr f3, f1
/* 8014FB14 0014CA74 D0 1E 01 94 */ stfs f0, 0x194(r30)
/* 8014FB18 0014CA78 FC 80 08 90 */ fmr f4, f1
/* 8014FB1C 0014CA7C 48 21 38 D1 */ bl __ct__6CColorFffff
/* 8014FB20 0014CA80 C0 22 9D 9C */ lfs f1, lbl_805ABABC@sda21(r2)
/* 8014FB24 0014CA84 7C 66 1B 78 */ mr r6, r3
/* 8014FB28 0014CA88 7F 83 E3 78 */ mr r3, r28
/* 8014FB2C 0014CA8C 38 80 00 05 */ li r4, 5
/* 8014FB30 0014CA90 38 A0 00 00 */ li r5, 0
/* 8014FB34 0014CA94 38 E0 FF FF */ li r7, -1
/* 8014FB38 0014CA98 4B F9 D8 69 */ bl SetFilter__17CCameraFilterPassFQ217CCameraFilterPass11EFilterTypeQ217CCameraFilterPass12EFilterShapefRC6CColorUi
/* 8014FB3C 0014CA9C C0 22 9D B8 */ lfs f1, lbl_805ABAD8@sda21(r2)
/* 8014FB40 0014CAA0 7F 83 E3 78 */ mr r3, r28
/* 8014FB44 0014CAA4 4B F9 D8 25 */ bl DisableFilter__17CCameraFilterPassFf
lbl_8014FB48:
/* 8014FB48 0014CAA8 3B BD 00 02 */ addi r29, r29, 2
/* 8014FB4C 0014CAAC 3B 7B 00 01 */ addi r27, r27, 1
lbl_8014FB50:
/* 8014FB50 0014CAB0 80 01 00 80 */ lwz r0, 0x80(r1)
/* 8014FB54 0014CAB4 7C 1B 00 00 */ cmpw r27, r0
/* 8014FB58 0014CAB8 41 80 FF 38 */ blt lbl_8014FA90
/* 8014FB5C 0014CABC C0 1E 01 94 */ lfs f0, 0x194(r30)
/* 8014FB60 0014CAC0 38 81 00 24 */ addi r4, r1, 0x24
/* 8014FB64 0014CAC4 3B 60 00 00 */ li r27, 0
/* 8014FB68 0014CAC8 38 6D 8C 6C */ addi r3, r13, lbl_805A782C@sda21
/* 8014FB6C 0014CACC EC 00 F8 28 */ fsubs f0, f0, f31
/* 8014FB70 0014CAD0 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8014FB74 0014CAD4 4B EF FB BD */ bl "Max<f>__5CMathFRCfRCf"
/* 8014FB78 0014CAD8 C0 23 00 00 */ lfs f1, 0(r3)
/* 8014FB7C 0014CADC C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 8014FB80 0014CAE0 D0 3E 01 94 */ stfs f1, 0x194(r30)
/* 8014FB84 0014CAE4 C0 BE 01 94 */ lfs f5, 0x194(r30)
/* 8014FB88 0014CAE8 FC 05 00 00 */ fcmpu cr0, f5, f0
/* 8014FB8C 0014CAEC 41 82 00 6C */ beq lbl_8014FBF8
/* 8014FB90 0014CAF0 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 8014FB94 0014CAF4 80 1E 00 04 */ lwz r0, 4(r30)
/* 8014FB98 0014CAF8 80 63 00 04 */ lwz r3, 4(r3)
/* 8014FB9C 0014CAFC 7C 03 00 00 */ cmpw r3, r0
/* 8014FBA0 0014CB00 40 82 00 58 */ bne lbl_8014FBF8
/* 8014FBA4 0014CB04 C0 62 9D A4 */ lfs f3, lbl_805ABAC4@sda21(r2)
/* 8014FBA8 0014CB08 3B 60 00 01 */ li r27, 1
/* 8014FBAC 0014CB0C C0 02 9D B4 */ lfs f0, lbl_805ABAD4@sda21(r2)
/* 8014FBB0 0014CB10 EC 43 01 72 */ fmuls f2, f3, f5
/* 8014FBB4 0014CB14 C0 3E 00 FC */ lfs f1, 0xfc(r30)
/* 8014FBB8 0014CB18 C0 9E 01 04 */ lfs f4, 0x104(r30)
/* 8014FBBC 0014CB1C FC 05 00 40 */ fcmpo cr0, f5, f0
/* 8014FBC0 0014CB20 EC 02 08 24 */ fdivs f0, f2, f1
/* 8014FBC4 0014CB24 EC 03 00 2A */ fadds f0, f3, f0
/* 8014FBC8 0014CB28 EC 24 00 32 */ fmuls f1, f4, f0
/* 8014FBCC 0014CB2C 40 80 00 08 */ bge lbl_8014FBD4
/* 8014FBD0 0014CB30 EC 21 01 72 */ fmuls f1, f1, f5
lbl_8014FBD4:
/* 8014FBD4 0014CB34 A0 1E 00 08 */ lhz r0, 8(r30)
/* 8014FBD8 0014CB38 38 81 00 1C */ addi r4, r1, 0x1c
/* 8014FBDC 0014CB3C C0 42 9D A4 */ lfs f2, lbl_805ABAC4@sda21(r2)
/* 8014FBE0 0014CB40 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8014FBE4 0014CB44 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8014FBE8 0014CB48 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8014FBEC 0014CB4C 80 63 00 00 */ lwz r3, 0(r3)
/* 8014FBF0 0014CB50 38 63 01 88 */ addi r3, r3, 0x188
/* 8014FBF4 0014CB54 48 07 0F 45 */ bl AddSource__19CStaticInterferenceF9TUniqueId
lbl_8014FBF8:
/* 8014FBF8 0014CB58 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 8014FBFC 0014CB5C 41 82 00 38 */ beq lbl_8014FC34
/* 8014FC00 0014CB60 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8014FC04 0014CB64 80 63 00 00 */ lwz r3, 0(r3)
/* 8014FC08 0014CB68 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8014FC0C 0014CB6C 2C 00 00 03 */ cmpwi r0, 3
/* 8014FC10 0014CB70 41 82 00 24 */ beq lbl_8014FC34
/* 8014FC14 0014CB74 A0 1E 00 08 */ lhz r0, 8(r30)
/* 8014FC18 0014CB78 7F E4 FB 78 */ mr r4, r31
/* 8014FC1C 0014CB7C 38 A1 00 14 */ addi r5, r1, 0x14
/* 8014FC20 0014CB80 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8014FC24 0014CB84 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8014FC28 0014CB88 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 8014FC2C 0014CB8C 48 02 E4 25 */ bl AddOrbitDisableSource__7CPlayerFR13CStateManager9TUniqueId
/* 8014FC30 0014CB90 48 00 00 1C */ b lbl_8014FC4C
lbl_8014FC34:
/* 8014FC34 0014CB94 A0 1E 00 08 */ lhz r0, 8(r30)
/* 8014FC38 0014CB98 38 81 00 0C */ addi r4, r1, 0xc
/* 8014FC3C 0014CB9C B0 01 00 0C */ sth r0, 0xc(r1)
/* 8014FC40 0014CBA0 B0 01 00 08 */ sth r0, 8(r1)
/* 8014FC44 0014CBA4 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 8014FC48 0014CBA8 48 02 E3 89 */ bl RemoveOrbitDisableSource__7CPlayerF9TUniqueId
lbl_8014FC4C:
/* 8014FC4C 0014CBAC 80 A1 00 80 */ lwz r5, 0x80(r1)
/* 8014FC50 0014CBB0 38 60 00 00 */ li r3, 0
/* 8014FC54 0014CBB4 2C 05 00 00 */ cmpwi r5, 0
/* 8014FC58 0014CBB8 40 81 00 40 */ ble lbl_8014FC98
/* 8014FC5C 0014CBBC 2C 05 00 08 */ cmpwi r5, 8
/* 8014FC60 0014CBC0 38 85 FF F8 */ addi r4, r5, -8
/* 8014FC64 0014CBC4 40 81 00 20 */ ble lbl_8014FC84
/* 8014FC68 0014CBC8 38 04 00 07 */ addi r0, r4, 7
/* 8014FC6C 0014CBCC 54 00 E8 FE */ srwi r0, r0, 3
/* 8014FC70 0014CBD0 7C 09 03 A6 */ mtctr r0
/* 8014FC74 0014CBD4 2C 04 00 00 */ cmpwi r4, 0
/* 8014FC78 0014CBD8 40 81 00 0C */ ble lbl_8014FC84
lbl_8014FC7C:
/* 8014FC7C 0014CBDC 38 63 00 08 */ addi r3, r3, 8
/* 8014FC80 0014CBE0 42 00 FF FC */ bdnz lbl_8014FC7C
lbl_8014FC84:
/* 8014FC84 0014CBE4 7C 03 28 50 */ subf r0, r3, r5
/* 8014FC88 0014CBE8 7C 09 03 A6 */ mtctr r0
/* 8014FC8C 0014CBEC 7C 03 28 00 */ cmpw r3, r5
/* 8014FC90 0014CBF0 40 80 00 08 */ bge lbl_8014FC98
lbl_8014FC94:
/* 8014FC94 0014CBF4 42 00 00 00 */ bdnz lbl_8014FC94
lbl_8014FC98:
/* 8014FC98 0014CBF8 38 00 00 00 */ li r0, 0
/* 8014FC9C 0014CBFC 90 01 00 80 */ stw r0, 0x80(r1)
/* 8014FCA0 0014CC00 E3 E1 08 A8 */ psq_l f31, -1880(r1), 0, qr0
/* 8014FCA4 0014CC04 CB E1 08 A0 */ lfd f31, 0x8a0(r1)
/* 8014FCA8 0014CC08 BB 61 08 8C */ lmw r27, 0x88c(r1)
/* 8014FCAC 0014CC0C 80 01 08 B4 */ lwz r0, 0x8b4(r1)
/* 8014FCB0 0014CC10 7C 08 03 A6 */ mtlr r0
/* 8014FCB4 0014CC14 38 21 08 B0 */ addi r1, r1, 0x8b0
/* 8014FCB8 0014CC18 4E 80 00 20 */ blr
.global Render__22CScriptSpecialFunctionCFRC13CStateManager
Render__22CScriptSpecialFunctionCFRC13CStateManager:
/* 8014FCBC 0014CC1C 94 21 FE A0 */ stwu r1, -0x160(r1)
/* 8014FCC0 0014CC20 7C 08 02 A6 */ mflr r0
/* 8014FCC4 0014CC24 90 01 01 64 */ stw r0, 0x164(r1)
/* 8014FCC8 0014CC28 93 E1 01 5C */ stw r31, 0x15c(r1)
/* 8014FCCC 0014CC2C 7C 9F 23 78 */ mr r31, r4
/* 8014FCD0 0014CC30 93 C1 01 58 */ stw r30, 0x158(r1)
/* 8014FCD4 0014CC34 7C 7E 1B 78 */ mr r30, r3
/* 8014FCD8 0014CC38 80 03 00 E8 */ lwz r0, 0xe8(r3)
/* 8014FCDC 0014CC3C 2C 00 00 2F */ cmpwi r0, 0x2f
/* 8014FCE0 0014CC40 40 82 01 98 */ bne lbl_8014FE78
/* 8014FCE4 0014CC44 88 1E 00 30 */ lbz r0, 0x30(r30)
/* 8014FCE8 0014CC48 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8014FCEC 0014CC4C 41 82 01 90 */ beq lbl_8014FE7C
/* 8014FCF0 0014CC50 48 1B A1 F1 */ bl GetSecondsMod900__9CGraphicsFv
/* 8014FCF4 0014CC54 C0 1E 01 00 */ lfs f0, 0x100(r30)
/* 8014FCF8 0014CC58 EC 20 00 72 */ fmuls f1, f0, f1
/* 8014FCFC 0014CC5C 48 1C 50 F5 */ bl FastSinR__5CMathFf
/* 8014FD00 0014CC60 C0 1E 00 FC */ lfs f0, 0xfc(r30)
/* 8014FD04 0014CC64 7F E3 FB 78 */ mr r3, r31
/* 8014FD08 0014CC68 EC 20 00 72 */ fmuls f1, f0, f1
/* 8014FD0C 0014CC6C 4B EF 40 D5 */ bl IntegrateVisorFog__13CStateManagerFf
/* 8014FD10 0014CC70 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 8014FD14 0014CC74 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8014FD18 0014CC78 40 81 01 64 */ ble lbl_8014FE7C
/* 8014FD1C 0014CC7C C0 7E 00 60 */ lfs f3, 0x60(r30)
/* 8014FD20 0014CC80 38 61 00 74 */ addi r3, r1, 0x74
/* 8014FD24 0014CC84 C0 1E 01 14 */ lfs f0, 0x114(r30)
/* 8014FD28 0014CC88 38 81 00 50 */ addi r4, r1, 0x50
/* 8014FD2C 0014CC8C C0 FE 00 50 */ lfs f7, 0x50(r30)
/* 8014FD30 0014CC90 38 A1 00 44 */ addi r5, r1, 0x44
/* 8014FD34 0014CC94 EC C3 00 2A */ fadds f6, f3, f0
/* 8014FD38 0014CC98 C0 5E 01 10 */ lfs f2, 0x110(r30)
/* 8014FD3C 0014CC9C C1 1E 00 40 */ lfs f8, 0x40(r30)
/* 8014FD40 0014CCA0 EC 83 00 28 */ fsubs f4, f3, f0
/* 8014FD44 0014CCA4 C0 1E 01 0C */ lfs f0, 0x10c(r30)
/* 8014FD48 0014CCA8 EC A7 10 28 */ fsubs f5, f7, f2
/* 8014FD4C 0014CCAC EC 68 00 28 */ fsubs f3, f8, f0
/* 8014FD50 0014CCB0 D0 C1 00 4C */ stfs f6, 0x4c(r1)
/* 8014FD54 0014CCB4 EC E7 10 2A */ fadds f7, f7, f2
/* 8014FD58 0014CCB8 EC 48 00 2A */ fadds f2, f8, f0
/* 8014FD5C 0014CCBC D0 A1 00 54 */ stfs f5, 0x54(r1)
/* 8014FD60 0014CCC0 EC 06 08 2A */ fadds f0, f6, f1
/* 8014FD64 0014CCC4 D0 61 00 50 */ stfs f3, 0x50(r1)
/* 8014FD68 0014CCC8 D0 81 00 58 */ stfs f4, 0x58(r1)
/* 8014FD6C 0014CCCC D0 41 00 44 */ stfs f2, 0x44(r1)
/* 8014FD70 0014CCD0 D0 E1 00 48 */ stfs f7, 0x48(r1)
/* 8014FD74 0014CCD4 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 8014FD78 0014CCD8 48 1E 87 91 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8014FD7C 0014CCDC C0 61 00 88 */ lfs f3, 0x88(r1)
/* 8014FD80 0014CCE0 38 61 00 8C */ addi r3, r1, 0x8c
/* 8014FD84 0014CCE4 C0 21 00 7C */ lfs f1, 0x7c(r1)
/* 8014FD88 0014CCE8 38 81 00 2C */ addi r4, r1, 0x2c
/* 8014FD8C 0014CCEC C0 41 00 80 */ lfs f2, 0x80(r1)
/* 8014FD90 0014CCF0 C0 01 00 74 */ lfs f0, 0x74(r1)
/* 8014FD94 0014CCF4 EC 83 08 28 */ fsubs f4, f3, f1
/* 8014FD98 0014CCF8 C0 22 9D A4 */ lfs f1, lbl_805ABAC4@sda21(r2)
/* 8014FD9C 0014CCFC EC 62 00 28 */ fsubs f3, f2, f0
/* 8014FDA0 0014CD00 C0 41 00 84 */ lfs f2, 0x84(r1)
/* 8014FDA4 0014CD04 C0 01 00 78 */ lfs f0, 0x78(r1)
/* 8014FDA8 0014CD08 EC A1 01 32 */ fmuls f5, f1, f4
/* 8014FDAC 0014CD0C D0 81 00 28 */ stfs f4, 0x28(r1)
/* 8014FDB0 0014CD10 EC 42 00 28 */ fsubs f2, f2, f0
/* 8014FDB4 0014CD14 EC 01 00 F2 */ fmuls f0, f1, f3
/* 8014FDB8 0014CD18 D0 61 00 20 */ stfs f3, 0x20(r1)
/* 8014FDBC 0014CD1C EC 21 00 B2 */ fmuls f1, f1, f2
/* 8014FDC0 0014CD20 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 8014FDC4 0014CD24 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8014FDC8 0014CD28 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 8014FDCC 0014CD2C D0 A1 00 34 */ stfs f5, 0x34(r1)
/* 8014FDD0 0014CD30 48 1C 33 F5 */ bl Scale__12CTransform4fFRC9CVector3f
/* 8014FDD4 0014CD34 38 61 00 38 */ addi r3, r1, 0x38
/* 8014FDD8 0014CD38 38 81 00 74 */ addi r4, r1, 0x74
/* 8014FDDC 0014CD3C 48 1E 78 31 */ bl GetCenterPoint__6CAABoxCFv
/* 8014FDE0 0014CD40 38 61 00 BC */ addi r3, r1, 0xbc
/* 8014FDE4 0014CD44 38 81 00 38 */ addi r4, r1, 0x38
/* 8014FDE8 0014CD48 48 1C 33 59 */ bl Translate__12CTransform4fFRC9CVector3f
/* 8014FDEC 0014CD4C 38 61 00 EC */ addi r3, r1, 0xec
/* 8014FDF0 0014CD50 38 81 00 BC */ addi r4, r1, 0xbc
/* 8014FDF4 0014CD54 38 A1 00 8C */ addi r5, r1, 0x8c
/* 8014FDF8 0014CD58 48 1C 2B 59 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8014FDFC 0014CD5C 38 61 01 1C */ addi r3, r1, 0x11c
/* 8014FE00 0014CD60 38 81 00 EC */ addi r4, r1, 0xec
/* 8014FE04 0014CD64 48 1C 2D 71 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8014FE08 0014CD68 C0 22 9D B4 */ lfs f1, lbl_805ABAD4@sda21(r2)
/* 8014FE0C 0014CD6C 38 61 00 5C */ addi r3, r1, 0x5c
/* 8014FE10 0014CD70 C0 02 9D BC */ lfs f0, lbl_805ABADC@sda21(r2)
/* 8014FE14 0014CD74 38 81 00 14 */ addi r4, r1, 0x14
/* 8014FE18 0014CD78 D0 21 00 08 */ stfs f1, 8(r1)
/* 8014FE1C 0014CD7C 38 A1 00 08 */ addi r5, r1, 8
/* 8014FE20 0014CD80 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8014FE24 0014CD84 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 8014FE28 0014CD88 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8014FE2C 0014CD8C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8014FE30 0014CD90 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8014FE34 0014CD94 48 1E 86 D5 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8014FE38 0014CD98 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8014FE3C 0014CD9C 38 81 01 1C */ addi r4, r1, 0x11c
/* 8014FE40 0014CDA0 81 83 00 00 */ lwz r12, 0(r3)
/* 8014FE44 0014CDA4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8014FE48 0014CDA8 7D 89 03 A6 */ mtctr r12
/* 8014FE4C 0014CDAC 4E 80 04 21 */ bctrl
/* 8014FE50 0014CDB0 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8014FE54 0014CDB4 38 9E 01 18 */ addi r4, r30, 0x118
/* 8014FE58 0014CDB8 38 A1 00 5C */ addi r5, r1, 0x5c
/* 8014FE5C 0014CDBC 38 C0 00 00 */ li r6, 0
/* 8014FE60 0014CDC0 81 83 00 00 */ lwz r12, 0(r3)
/* 8014FE64 0014CDC4 38 E0 00 00 */ li r7, 0
/* 8014FE68 0014CDC8 81 8C 00 E4 */ lwz r12, 0xe4(r12)
/* 8014FE6C 0014CDCC 7D 89 03 A6 */ mtctr r12
/* 8014FE70 0014CDD0 4E 80 04 21 */ bctrl
/* 8014FE74 0014CDD4 48 00 00 08 */ b lbl_8014FE7C
lbl_8014FE78:
/* 8014FE78 0014CDD8 4B F0 49 2D */ bl Render__6CActorCFRC13CStateManager
lbl_8014FE7C:
/* 8014FE7C 0014CDDC 80 01 01 64 */ lwz r0, 0x164(r1)
/* 8014FE80 0014CDE0 83 E1 01 5C */ lwz r31, 0x15c(r1)
/* 8014FE84 0014CDE4 83 C1 01 58 */ lwz r30, 0x158(r1)
/* 8014FE88 0014CDE8 7C 08 03 A6 */ mtlr r0
/* 8014FE8C 0014CDEC 38 21 01 60 */ addi r1, r1, 0x160
/* 8014FE90 0014CDF0 4E 80 00 20 */ blr
.global ThinkObjectFollowObject__22CScriptSpecialFunctionFfR13CStateManager
ThinkObjectFollowObject__22CScriptSpecialFunctionFfR13CStateManager:
/* 8014FE94 0014CDF4 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8014FE98 0014CDF8 7C 08 02 A6 */ mflr r0
/* 8014FE9C 0014CDFC 90 01 00 64 */ stw r0, 0x64(r1)
/* 8014FEA0 0014CE00 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8014FEA4 0014CE04 93 C1 00 58 */ stw r30, 0x58(r1)
/* 8014FEA8 0014CE08 7C 9E 23 78 */ mr r30, r4
/* 8014FEAC 0014CE0C 93 A1 00 54 */ stw r29, 0x54(r1)
/* 8014FEB0 0014CE10 7C 7D 1B 78 */ mr r29, r3
/* 8014FEB4 0014CE14 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8014FEB8 0014CE18 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 8014FEBC 0014CE1C B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8014FEC0 0014CE20 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8014FEC4 0014CE24 48 00 00 D4 */ b lbl_8014FF98
lbl_8014FEC8:
/* 8014FEC8 0014CE28 80 1F 00 00 */ lwz r0, 0(r31)
/* 8014FECC 0014CE2C 2C 00 00 12 */ cmpwi r0, 0x12
/* 8014FED0 0014CE30 40 82 00 C4 */ bne lbl_8014FF94
/* 8014FED4 0014CE34 80 1F 00 04 */ lwz r0, 4(r31)
/* 8014FED8 0014CE38 2C 00 00 01 */ cmpwi r0, 1
/* 8014FEDC 0014CE3C 41 82 00 0C */ beq lbl_8014FEE8
/* 8014FEE0 0014CE40 2C 00 00 04 */ cmpwi r0, 4
/* 8014FEE4 0014CE44 40 82 00 B0 */ bne lbl_8014FF94
lbl_8014FEE8:
/* 8014FEE8 0014CE48 80 1F 00 08 */ lwz r0, 8(r31)
/* 8014FEEC 0014CE4C 7F C4 F3 78 */ mr r4, r30
/* 8014FEF0 0014CE50 38 61 00 3C */ addi r3, r1, 0x3c
/* 8014FEF4 0014CE54 38 A1 00 20 */ addi r5, r1, 0x20
/* 8014FEF8 0014CE58 90 01 00 20 */ stw r0, 0x20(r1)
/* 8014FEFC 0014CE5C 4B EF 80 CD */ bl GetIdListForScript__13CStateManagerCF9TEditorId
/* 8014FF00 0014CE60 80 A1 00 3C */ lwz r5, 0x3c(r1)
/* 8014FF04 0014CE64 38 60 00 00 */ li r3, 0
/* 8014FF08 0014CE68 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8014FF0C 0014CE6C 80 81 00 40 */ lwz r4, 0x40(r1)
/* 8014FF10 0014CE70 7C 05 00 40 */ cmplw r5, r0
/* 8014FF14 0014CE74 80 01 00 48 */ lwz r0, 0x48(r1)
/* 8014FF18 0014CE78 40 82 00 10 */ bne lbl_8014FF28
/* 8014FF1C 0014CE7C 7C 04 00 40 */ cmplw r4, r0
/* 8014FF20 0014CE80 40 82 00 08 */ bne lbl_8014FF28
/* 8014FF24 0014CE84 38 60 00 01 */ li r3, 1
lbl_8014FF28:
/* 8014FF28 0014CE88 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8014FF2C 0014CE8C 40 82 00 68 */ bne lbl_8014FF94
/* 8014FF30 0014CE90 A0 05 00 14 */ lhz r0, 0x14(r5)
/* 8014FF34 0014CE94 7F C3 F3 78 */ mr r3, r30
/* 8014FF38 0014CE98 38 81 00 10 */ addi r4, r1, 0x10
/* 8014FF3C 0014CE9C B0 01 00 14 */ sth r0, 0x14(r1)
/* 8014FF40 0014CEA0 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8014FF44 0014CEA4 4B EF C6 61 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8014FF48 0014CEA8 7C 64 1B 78 */ mr r4, r3
/* 8014FF4C 0014CEAC 38 61 00 2C */ addi r3, r1, 0x2c
/* 8014FF50 0014CEB0 4B F5 FD 41 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8014FF54 0014CEB4 80 63 00 04 */ lwz r3, 4(r3)
/* 8014FF58 0014CEB8 28 03 00 00 */ cmplwi r3, 0
/* 8014FF5C 0014CEBC 41 82 00 38 */ beq lbl_8014FF94
/* 8014FF60 0014CEC0 80 1F 00 04 */ lwz r0, 4(r31)
/* 8014FF64 0014CEC4 2C 00 00 01 */ cmpwi r0, 1
/* 8014FF68 0014CEC8 40 82 00 1C */ bne lbl_8014FF84
/* 8014FF6C 0014CECC 88 03 00 30 */ lbz r0, 0x30(r3)
/* 8014FF70 0014CED0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8014FF74 0014CED4 41 82 00 C8 */ beq lbl_8015003C
/* 8014FF78 0014CED8 A0 01 00 14 */ lhz r0, 0x14(r1)
/* 8014FF7C 0014CEDC B0 01 00 18 */ sth r0, 0x18(r1)
/* 8014FF80 0014CEE0 48 00 00 14 */ b lbl_8014FF94
lbl_8014FF84:
/* 8014FF84 0014CEE4 2C 00 00 04 */ cmpwi r0, 4
/* 8014FF88 0014CEE8 40 82 00 0C */ bne lbl_8014FF94
/* 8014FF8C 0014CEEC A0 01 00 14 */ lhz r0, 0x14(r1)
/* 8014FF90 0014CEF0 B0 01 00 1C */ sth r0, 0x1c(r1)
lbl_8014FF94:
/* 8014FF94 0014CEF4 3B FF 00 0C */ addi r31, r31, 0xc
lbl_8014FF98:
/* 8014FF98 0014CEF8 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 8014FF9C 0014CEFC 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 8014FFA0 0014CF00 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8014FFA4 0014CF04 7C 03 02 14 */ add r0, r3, r0
/* 8014FFA8 0014CF08 7C 1F 00 40 */ cmplw r31, r0
/* 8014FFAC 0014CF0C 40 82 FF 1C */ bne lbl_8014FEC8
/* 8014FFB0 0014CF10 A0 01 00 18 */ lhz r0, 0x18(r1)
/* 8014FFB4 0014CF14 7F C3 F3 78 */ mr r3, r30
/* 8014FFB8 0014CF18 38 81 00 0C */ addi r4, r1, 0xc
/* 8014FFBC 0014CF1C B0 01 00 0C */ sth r0, 0xc(r1)
/* 8014FFC0 0014CF20 4B EF C5 E5 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8014FFC4 0014CF24 7C 64 1B 78 */ mr r4, r3
/* 8014FFC8 0014CF28 38 61 00 24 */ addi r3, r1, 0x24
/* 8014FFCC 0014CF2C 4B F5 FC C5 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8014FFD0 0014CF30 83 A3 00 04 */ lwz r29, 4(r3)
/* 8014FFD4 0014CF34 7F C3 F3 78 */ mr r3, r30
/* 8014FFD8 0014CF38 A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 8014FFDC 0014CF3C 38 81 00 08 */ addi r4, r1, 8
/* 8014FFE0 0014CF40 B0 01 00 08 */ sth r0, 8(r1)
/* 8014FFE4 0014CF44 4B EF C5 91 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8014FFE8 0014CF48 7C 64 1B 78 */ mr r4, r3
/* 8014FFEC 0014CF4C 38 61 00 34 */ addi r3, r1, 0x34
/* 8014FFF0 0014CF50 4B F5 FC A1 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8014FFF4 0014CF54 83 C3 00 04 */ lwz r30, 4(r3)
/* 8014FFF8 0014CF58 28 1E 00 00 */ cmplwi r30, 0
/* 8014FFFC 0014CF5C 41 82 00 40 */ beq lbl_8015003C
/* 80150000 0014CF60 28 1D 00 00 */ cmplwi r29, 0
/* 80150004 0014CF64 41 82 00 38 */ beq lbl_8015003C
/* 80150008 0014CF68 38 7E 00 34 */ addi r3, r30, 0x34
/* 8015000C 0014CF6C 38 9D 00 34 */ addi r4, r29, 0x34
/* 80150010 0014CF70 48 1C 2B 31 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80150014 0014CF74 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 80150018 0014CF78 38 60 00 01 */ li r3, 1
/* 8015001C 0014CF7C 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 80150020 0014CF80 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 80150024 0014CF84 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 80150028 0014CF88 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8015002C 0014CF8C 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 80150030 0014CF90 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 80150034 0014CF94 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 80150038 0014CF98 98 1E 00 E4 */ stb r0, 0xe4(r30)
lbl_8015003C:
/* 8015003C 0014CF9C 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80150040 0014CFA0 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80150044 0014CFA4 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80150048 0014CFA8 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 8015004C 0014CFAC 7C 08 03 A6 */ mtlr r0
/* 80150050 0014CFB0 38 21 00 60 */ addi r1, r1, 0x60
/* 80150054 0014CFB4 4E 80 00 20 */ blr
.global ThinkObjectFollowLocator__22CScriptSpecialFunctionFfR13CStateManager
ThinkObjectFollowLocator__22CScriptSpecialFunctionFfR13CStateManager:
/* 80150058 0014CFB8 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 8015005C 0014CFBC 7C 08 02 A6 */ mflr r0
/* 80150060 0014CFC0 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 80150064 0014CFC4 93 E1 00 EC */ stw r31, 0xec(r1)
/* 80150068 0014CFC8 93 C1 00 E8 */ stw r30, 0xe8(r1)
/* 8015006C 0014CFCC 7C 9E 23 78 */ mr r30, r4
/* 80150070 0014CFD0 93 A1 00 E4 */ stw r29, 0xe4(r1)
/* 80150074 0014CFD4 7C 7D 1B 78 */ mr r29, r3
/* 80150078 0014CFD8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8015007C 0014CFDC 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 80150080 0014CFE0 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 80150084 0014CFE4 B0 01 00 18 */ sth r0, 0x18(r1)
/* 80150088 0014CFE8 48 00 00 FC */ b lbl_80150184
lbl_8015008C:
/* 8015008C 0014CFEC 80 1F 00 00 */ lwz r0, 0(r31)
/* 80150090 0014CFF0 2C 00 00 12 */ cmpwi r0, 0x12
/* 80150094 0014CFF4 40 82 00 EC */ bne lbl_80150180
/* 80150098 0014CFF8 80 1F 00 04 */ lwz r0, 4(r31)
/* 8015009C 0014CFFC 2C 00 00 01 */ cmpwi r0, 1
/* 801500A0 0014D000 41 82 00 0C */ beq lbl_801500AC
/* 801500A4 0014D004 2C 00 00 04 */ cmpwi r0, 4
/* 801500A8 0014D008 40 82 00 D8 */ bne lbl_80150180
lbl_801500AC:
/* 801500AC 0014D00C 80 1F 00 08 */ lwz r0, 8(r31)
/* 801500B0 0014D010 7F C4 F3 78 */ mr r4, r30
/* 801500B4 0014D014 38 61 00 3C */ addi r3, r1, 0x3c
/* 801500B8 0014D018 38 A1 00 20 */ addi r5, r1, 0x20
/* 801500BC 0014D01C 90 01 00 20 */ stw r0, 0x20(r1)
/* 801500C0 0014D020 4B EF 7F 09 */ bl GetIdListForScript__13CStateManagerCF9TEditorId
/* 801500C4 0014D024 80 A1 00 3C */ lwz r5, 0x3c(r1)
/* 801500C8 0014D028 38 60 00 00 */ li r3, 0
/* 801500CC 0014D02C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801500D0 0014D030 80 81 00 40 */ lwz r4, 0x40(r1)
/* 801500D4 0014D034 7C 05 00 40 */ cmplw r5, r0
/* 801500D8 0014D038 80 01 00 48 */ lwz r0, 0x48(r1)
/* 801500DC 0014D03C 40 82 00 10 */ bne lbl_801500EC
/* 801500E0 0014D040 7C 04 00 40 */ cmplw r4, r0
/* 801500E4 0014D044 40 82 00 08 */ bne lbl_801500EC
/* 801500E8 0014D048 38 60 00 01 */ li r3, 1
lbl_801500EC:
/* 801500EC 0014D04C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801500F0 0014D050 40 82 00 90 */ bne lbl_80150180
/* 801500F4 0014D054 A0 05 00 14 */ lhz r0, 0x14(r5)
/* 801500F8 0014D058 7F C3 F3 78 */ mr r3, r30
/* 801500FC 0014D05C 38 81 00 10 */ addi r4, r1, 0x10
/* 80150100 0014D060 B0 01 00 14 */ sth r0, 0x14(r1)
/* 80150104 0014D064 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80150108 0014D068 4B EF C4 9D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8015010C 0014D06C 7C 64 1B 78 */ mr r4, r3
/* 80150110 0014D070 38 61 00 2C */ addi r3, r1, 0x2c
/* 80150114 0014D074 4B F5 FB 7D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80150118 0014D078 80 C3 00 04 */ lwz r6, 4(r3)
/* 8015011C 0014D07C 28 06 00 00 */ cmplwi r6, 0
/* 80150120 0014D080 41 82 00 60 */ beq lbl_80150180
/* 80150124 0014D084 80 BF 00 04 */ lwz r5, 4(r31)
/* 80150128 0014D088 2C 05 00 01 */ cmpwi r5, 1
/* 8015012C 0014D08C 40 82 00 44 */ bne lbl_80150170
/* 80150130 0014D090 80 86 00 64 */ lwz r4, 0x64(r6)
/* 80150134 0014D094 38 60 00 00 */ li r3, 0
/* 80150138 0014D098 28 04 00 00 */ cmplwi r4, 0
/* 8015013C 0014D09C 41 82 00 14 */ beq lbl_80150150
/* 80150140 0014D0A0 80 04 00 10 */ lwz r0, 0x10(r4)
/* 80150144 0014D0A4 28 00 00 00 */ cmplwi r0, 0
/* 80150148 0014D0A8 41 82 00 08 */ beq lbl_80150150
/* 8015014C 0014D0AC 38 60 00 01 */ li r3, 1
lbl_80150150:
/* 80150150 0014D0B0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80150154 0014D0B4 41 82 00 1C */ beq lbl_80150170
/* 80150158 0014D0B8 88 06 00 30 */ lbz r0, 0x30(r6)
/* 8015015C 0014D0BC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80150160 0014D0C0 41 82 01 10 */ beq lbl_80150270
/* 80150164 0014D0C4 A0 01 00 14 */ lhz r0, 0x14(r1)
/* 80150168 0014D0C8 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8015016C 0014D0CC 48 00 00 14 */ b lbl_80150180
lbl_80150170:
/* 80150170 0014D0D0 2C 05 00 04 */ cmpwi r5, 4
/* 80150174 0014D0D4 40 82 00 0C */ bne lbl_80150180
/* 80150178 0014D0D8 A0 01 00 14 */ lhz r0, 0x14(r1)
/* 8015017C 0014D0DC B0 01 00 1C */ sth r0, 0x1c(r1)
lbl_80150180:
/* 80150180 0014D0E0 3B FF 00 0C */ addi r31, r31, 0xc
lbl_80150184:
/* 80150184 0014D0E4 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 80150188 0014D0E8 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 8015018C 0014D0EC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80150190 0014D0F0 7C 03 02 14 */ add r0, r3, r0
/* 80150194 0014D0F4 7C 1F 00 40 */ cmplw r31, r0
/* 80150198 0014D0F8 40 82 FE F4 */ bne lbl_8015008C
/* 8015019C 0014D0FC A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 801501A0 0014D100 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13)
/* 801501A4 0014D104 7C 00 18 40 */ cmplw r0, r3
/* 801501A8 0014D108 41 82 00 C8 */ beq lbl_80150270
/* 801501AC 0014D10C A0 01 00 18 */ lhz r0, 0x18(r1)
/* 801501B0 0014D110 7C 00 18 40 */ cmplw r0, r3
/* 801501B4 0014D114 41 82 00 BC */ beq lbl_80150270
/* 801501B8 0014D118 A0 01 00 18 */ lhz r0, 0x18(r1)
/* 801501BC 0014D11C 7F C3 F3 78 */ mr r3, r30
/* 801501C0 0014D120 38 81 00 0C */ addi r4, r1, 0xc
/* 801501C4 0014D124 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801501C8 0014D128 4B EF C3 DD */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 801501CC 0014D12C 7C 64 1B 78 */ mr r4, r3
/* 801501D0 0014D130 38 61 00 24 */ addi r3, r1, 0x24
/* 801501D4 0014D134 4B F5 FA BD */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 801501D8 0014D138 83 E3 00 04 */ lwz r31, 4(r3)
/* 801501DC 0014D13C 7F C3 F3 78 */ mr r3, r30
/* 801501E0 0014D140 A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 801501E4 0014D144 38 81 00 08 */ addi r4, r1, 8
/* 801501E8 0014D148 B0 01 00 08 */ sth r0, 8(r1)
/* 801501EC 0014D14C 4B EF C3 89 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801501F0 0014D150 7C 64 1B 78 */ mr r4, r3
/* 801501F4 0014D154 38 61 00 34 */ addi r3, r1, 0x34
/* 801501F8 0014D158 4B F5 FA 99 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 801501FC 0014D15C 28 1F 00 00 */ cmplwi r31, 0
/* 80150200 0014D160 83 C3 00 04 */ lwz r30, 4(r3)
/* 80150204 0014D164 41 82 00 6C */ beq lbl_80150270
/* 80150208 0014D168 28 1E 00 00 */ cmplwi r30, 0
/* 8015020C 0014D16C 41 82 00 64 */ beq lbl_80150270
/* 80150210 0014D170 7F E4 FB 78 */ mr r4, r31
/* 80150214 0014D174 38 61 00 4C */ addi r3, r1, 0x4c
/* 80150218 0014D178 38 BD 00 EC */ addi r5, r29, 0xec
/* 8015021C 0014D17C 4B F0 2C B5 */ bl "GetScaledLocatorTransform__6CActorCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80150220 0014D180 38 61 00 7C */ addi r3, r1, 0x7c
/* 80150224 0014D184 38 9F 00 34 */ addi r4, r31, 0x34
/* 80150228 0014D188 38 A1 00 4C */ addi r5, r1, 0x4c
/* 8015022C 0014D18C 48 1C 27 25 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 80150230 0014D190 38 61 00 AC */ addi r3, r1, 0xac
/* 80150234 0014D194 38 81 00 7C */ addi r4, r1, 0x7c
/* 80150238 0014D198 48 1C 29 3D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8015023C 0014D19C 38 7E 00 34 */ addi r3, r30, 0x34
/* 80150240 0014D1A0 38 81 00 AC */ addi r4, r1, 0xac
/* 80150244 0014D1A4 48 1C 28 FD */ bl __as__12CTransform4fFRC12CTransform4f
/* 80150248 0014D1A8 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 8015024C 0014D1AC 38 60 00 01 */ li r3, 1
/* 80150250 0014D1B0 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 80150254 0014D1B4 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 80150258 0014D1B8 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 8015025C 0014D1BC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 80150260 0014D1C0 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 80150264 0014D1C4 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 80150268 0014D1C8 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8015026C 0014D1CC 98 1E 00 E4 */ stb r0, 0xe4(r30)
lbl_80150270:
/* 80150270 0014D1D0 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 80150274 0014D1D4 83 E1 00 EC */ lwz r31, 0xec(r1)
/* 80150278 0014D1D8 83 C1 00 E8 */ lwz r30, 0xe8(r1)
/* 8015027C 0014D1DC 83 A1 00 E4 */ lwz r29, 0xe4(r1)
/* 80150280 0014D1E0 7C 08 03 A6 */ mtlr r0
/* 80150284 0014D1E4 38 21 00 F0 */ addi r1, r1, 0xf0
/* 80150288 0014D1E8 4E 80 00 20 */ blr
.global ThinkSpinnerController__22CScriptSpecialFunctionFfR13CStateManagerQ222CScriptSpecialFunction22ESpinnerControllerMode
ThinkSpinnerController__22CScriptSpecialFunctionFfR13CStateManagerQ222CScriptSpecialFunction22ESpinnerControllerMode:
/* 8015028C 0014D1EC 94 21 FE 20 */ stwu r1, -0x1e0(r1)
/* 80150290 0014D1F0 7C 08 02 A6 */ mflr r0
/* 80150294 0014D1F4 90 01 01 E4 */ stw r0, 0x1e4(r1)
/* 80150298 0014D1F8 DB E1 01 D0 */ stfd f31, 0x1d0(r1)
/* 8015029C 0014D1FC F3 E1 01 D8 */ psq_st f31, 472(r1), 0, qr0
/* 801502A0 0014D200 DB C1 01 C0 */ stfd f30, 0x1c0(r1)
/* 801502A4 0014D204 F3 C1 01 C8 */ psq_st f30, 456(r1), 0, qr0
/* 801502A8 0014D208 DB A1 01 B0 */ stfd f29, 0x1b0(r1)
/* 801502AC 0014D20C F3 A1 01 B8 */ psq_st f29, 440(r1), 0, qr0
/* 801502B0 0014D210 DB 81 01 A0 */ stfd f28, 0x1a0(r1)
/* 801502B4 0014D214 F3 81 01 A8 */ psq_st f28, 424(r1), 0, qr0
/* 801502B8 0014D218 DB 61 01 90 */ stfd f27, 0x190(r1)
/* 801502BC 0014D21C F3 61 01 98 */ psq_st f27, 408(r1), 0, qr0
/* 801502C0 0014D220 DB 41 01 80 */ stfd f26, 0x180(r1)
/* 801502C4 0014D224 F3 41 01 88 */ psq_st f26, 392(r1), 0, qr0
/* 801502C8 0014D228 BE E1 01 5C */ stmw r23, 0x15c(r1)
/* 801502CC 0014D22C 3C C0 80 3D */ lis r6, lbl_803D01D0@ha
/* 801502D0 0014D230 FF 60 08 90 */ fmr f27, f1
/* 801502D4 0014D234 38 06 01 D0 */ addi r0, r6, lbl_803D01D0@l
/* 801502D8 0014D238 7C 78 1B 78 */ mr r24, r3
/* 801502DC 0014D23C 7C 99 23 78 */ mr r25, r4
/* 801502E0 0014D240 7C BA 2B 78 */ mr r26, r5
/* 801502E4 0014D244 7C 04 03 78 */ mr r4, r0
/* 801502E8 0014D248 38 61 00 98 */ addi r3, r1, 0x98
/* 801502EC 0014D24C 4B EB 49 CD */ bl string_l__4rstlFPCc
/* 801502F0 0014D250 38 78 00 EC */ addi r3, r24, 0xec
/* 801502F4 0014D254 38 81 00 98 */ addi r4, r1, 0x98
/* 801502F8 0014D258 38 A0 00 00 */ li r5, 0
/* 801502FC 0014D25C 48 00 0A 9D */ bl sub_80150d98
/* 80150300 0014D260 20 83 FF FF */ subfic r4, r3, -1
/* 80150304 0014D264 38 03 00 01 */ addi r0, r3, 1
/* 80150308 0014D268 7C 80 03 78 */ or r0, r4, r0
/* 8015030C 0014D26C 38 61 00 98 */ addi r3, r1, 0x98
/* 80150310 0014D270 54 1C 0F FE */ srwi r28, r0, 0x1f
/* 80150314 0014D274 48 1E D7 CD */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80150318 0014D278 3C 80 80 3D */ lis r4, lbl_803D01D0@ha
/* 8015031C 0014D27C 38 61 00 88 */ addi r3, r1, 0x88
/* 80150320 0014D280 38 84 01 D0 */ addi r4, r4, lbl_803D01D0@l
/* 80150324 0014D284 38 84 00 0A */ addi r4, r4, 0xa
/* 80150328 0014D288 4B EB 49 91 */ bl string_l__4rstlFPCc
/* 8015032C 0014D28C 38 78 00 EC */ addi r3, r24, 0xec
/* 80150330 0014D290 38 81 00 88 */ addi r4, r1, 0x88
/* 80150334 0014D294 38 A0 00 00 */ li r5, 0
/* 80150338 0014D298 48 00 0A 61 */ bl sub_80150d98
/* 8015033C 0014D29C 20 83 FF FF */ subfic r4, r3, -1
/* 80150340 0014D2A0 38 03 00 01 */ addi r0, r3, 1
/* 80150344 0014D2A4 7C 80 03 78 */ or r0, r4, r0
/* 80150348 0014D2A8 38 61 00 88 */ addi r3, r1, 0x88
/* 8015034C 0014D2AC 54 1B 0F FE */ srwi r27, r0, 0x1f
/* 80150350 0014D2B0 48 1E D7 91 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80150354 0014D2B4 C0 22 9D B8 */ lfs f1, lbl_805ABAD8@sda21(r2)
/* 80150358 0014D2B8 3B A1 00 DC */ addi r29, r1, 0xdc
/* 8015035C 0014D2BC C0 02 9D C0 */ lfs f0, lbl_805ABAE0@sda21(r2)
/* 80150360 0014D2C0 EF E1 06 F2 */ fmuls f31, f1, f27
/* 80150364 0014D2C4 83 D8 00 2C */ lwz r30, 0x2c(r24)
/* 80150368 0014D2C8 EF C0 06 F2 */ fmuls f30, f0, f27
/* 8015036C 0014D2CC 48 00 06 5C */ b lbl_801509C8
lbl_80150370:
/* 80150370 0014D2D0 80 1E 00 00 */ lwz r0, 0(r30)
/* 80150374 0014D2D4 2C 00 00 12 */ cmpwi r0, 0x12
/* 80150378 0014D2D8 40 82 06 4C */ bne lbl_801509C4
/* 8015037C 0014D2DC 80 1E 00 04 */ lwz r0, 4(r30)
/* 80150380 0014D2E0 2C 00 00 01 */ cmpwi r0, 1
/* 80150384 0014D2E4 40 82 06 40 */ bne lbl_801509C4
/* 80150388 0014D2E8 80 1E 00 08 */ lwz r0, 8(r30)
/* 8015038C 0014D2EC 7F 24 CB 78 */ mr r4, r25
/* 80150390 0014D2F0 38 61 00 78 */ addi r3, r1, 0x78
/* 80150394 0014D2F4 38 A1 00 18 */ addi r5, r1, 0x18
/* 80150398 0014D2F8 90 01 00 18 */ stw r0, 0x18(r1)
/* 8015039C 0014D2FC 4B EF 7C 2D */ bl GetIdListForScript__13CStateManagerCF9TEditorId
/* 801503A0 0014D300 80 A1 00 78 */ lwz r5, 0x78(r1)
/* 801503A4 0014D304 38 60 00 00 */ li r3, 0
/* 801503A8 0014D308 80 01 00 80 */ lwz r0, 0x80(r1)
/* 801503AC 0014D30C 80 81 00 7C */ lwz r4, 0x7c(r1)
/* 801503B0 0014D310 7C 05 00 40 */ cmplw r5, r0
/* 801503B4 0014D314 80 01 00 84 */ lwz r0, 0x84(r1)
/* 801503B8 0014D318 40 82 00 10 */ bne lbl_801503C8
/* 801503BC 0014D31C 7C 04 00 40 */ cmplw r4, r0
/* 801503C0 0014D320 40 82 00 08 */ bne lbl_801503C8
/* 801503C4 0014D324 38 60 00 01 */ li r3, 1
lbl_801503C8:
/* 801503C8 0014D328 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801503CC 0014D32C 40 82 05 F8 */ bne lbl_801509C4
/* 801503D0 0014D330 A0 05 00 14 */ lhz r0, 0x14(r5)
/* 801503D4 0014D334 7F 23 CB 78 */ mr r3, r25
/* 801503D8 0014D338 38 81 00 08 */ addi r4, r1, 8
/* 801503DC 0014D33C B0 01 00 08 */ sth r0, 8(r1)
/* 801503E0 0014D340 4B EF C1 95 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801503E4 0014D344 7C 64 1B 78 */ mr r4, r3
/* 801503E8 0014D348 38 61 00 2C */ addi r3, r1, 0x2c
/* 801503EC 0014D34C 4B F5 8A 29 */ bl "__ct__29TCastToPtr<15CScriptPlatform>FP7CEntity"
/* 801503F0 0014D350 83 E3 00 04 */ lwz r31, 4(r3)
/* 801503F4 0014D354 28 1F 00 00 */ cmplwi r31, 0
/* 801503F8 0014D358 41 82 05 CC */ beq lbl_801509C4
/* 801503FC 0014D35C 80 9F 00 64 */ lwz r4, 0x64(r31)
/* 80150400 0014D360 38 60 00 00 */ li r3, 0
/* 80150404 0014D364 28 04 00 00 */ cmplwi r4, 0
/* 80150408 0014D368 41 82 00 14 */ beq lbl_8015041C
/* 8015040C 0014D36C 80 04 00 10 */ lwz r0, 0x10(r4)
/* 80150410 0014D370 28 00 00 00 */ cmplwi r0, 0
/* 80150414 0014D374 41 82 00 08 */ beq lbl_8015041C
/* 80150418 0014D378 38 60 00 01 */ li r3, 1
lbl_8015041C:
/* 8015041C 0014D37C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80150420 0014D380 41 82 05 A4 */ beq lbl_801509C4
/* 80150424 0014D384 88 1F 03 56 */ lbz r0, 0x356(r31)
/* 80150428 0014D388 38 60 00 01 */ li r3, 1
/* 8015042C 0014D38C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80150430 0014D390 98 1F 03 56 */ stb r0, 0x356(r31)
/* 80150434 0014D394 88 18 01 E4 */ lbz r0, 0x1e4(r24)
/* 80150438 0014D398 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8015043C 0014D39C 40 82 00 20 */ bne lbl_8015045C
/* 80150440 0014D3A0 38 78 01 3C */ addi r3, r24, 0x13c
/* 80150444 0014D3A4 38 9F 00 34 */ addi r4, r31, 0x34
/* 80150448 0014D3A8 48 1C 26 F9 */ bl __as__12CTransform4fFRC12CTransform4f
/* 8015044C 0014D3AC 88 18 01 E4 */ lbz r0, 0x1e4(r24)
/* 80150450 0014D3B0 38 60 00 01 */ li r3, 1
/* 80150454 0014D3B4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80150458 0014D3B8 98 18 01 E4 */ stb r0, 0x1e4(r24)
lbl_8015045C:
/* 8015045C 0014D3BC C0 18 01 00 */ lfs f0, 0x100(r24)
/* 80150460 0014D3C0 2C 1A 00 00 */ cmpwi r26, 0
/* 80150464 0014D3C4 C3 98 01 38 */ lfs f28, 0x138(r24)
/* 80150468 0014D3C8 EF BF 00 32 */ fmuls f29, f31, f0
/* 8015046C 0014D3CC 40 82 00 EC */ bne lbl_80150558
/* 80150470 0014D3D0 88 18 01 E4 */ lbz r0, 0x1e4(r24)
/* 80150474 0014D3D4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80150478 0014D3D8 41 82 00 CC */ beq lbl_80150544
/* 8015047C 0014D3DC 80 99 08 4C */ lwz r4, 0x84c(r25)
/* 80150480 0014D3E0 38 61 00 6C */ addi r3, r1, 0x6c
/* 80150484 0014D3E4 80 04 02 F8 */ lwz r0, 0x2f8(r4)
/* 80150488 0014D3E8 20 00 00 01 */ subfic r0, r0, 1
/* 8015048C 0014D3EC 7C 00 00 34 */ cntlzw r0, r0
/* 80150490 0014D3F0 54 17 D9 7E */ srwi r23, r0, 5
/* 80150494 0014D3F4 4B FC A7 11 */ bl GetAngularVelocityOR__13CPhysicsActorCFv
/* 80150498 0014D3F8 38 61 00 6C */ addi r3, r1, 0x6c
/* 8015049C 0014D3FC 4B EC B0 95 */ bl GetVector__10CAxisAngleCFv
/* 801504A0 0014D400 C0 03 00 00 */ lfs f0, 0(r3)
/* 801504A4 0014D404 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 801504A8 0014D408 C0 03 00 04 */ lfs f0, 4(r3)
/* 801504AC 0014D40C D0 01 00 AC */ stfs f0, 0xac(r1)
/* 801504B0 0014D410 C0 03 00 08 */ lfs f0, 8(r3)
/* 801504B4 0014D414 38 61 00 A8 */ addi r3, r1, 0xa8
/* 801504B8 0014D418 D0 01 00 B0 */ stfs f0, 0xb0(r1)
/* 801504BC 0014D41C 48 1C 42 3D */ bl CanBeNormalized__9CVector3fCFv
/* 801504C0 0014D420 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801504C4 0014D424 41 82 00 10 */ beq lbl_801504D4
/* 801504C8 0014D428 38 61 00 A8 */ addi r3, r1, 0xa8
/* 801504CC 0014D42C 48 1C 43 ED */ bl Magnitude__9CVector3fCFv
/* 801504D0 0014D430 48 00 00 08 */ b lbl_801504D8
lbl_801504D4:
/* 801504D4 0014D434 C0 22 9D 9C */ lfs f1, lbl_805ABABC@sda21(r2)
lbl_801504D8:
/* 801504D8 0014D438 56 E0 06 3F */ clrlwi. r0, r23, 0x18
/* 801504DC 0014D43C 41 82 00 10 */ beq lbl_801504EC
/* 801504E0 0014D440 C0 02 9D C4 */ lfs f0, lbl_805ABAE4@sda21(r2)
/* 801504E4 0014D444 EF 40 00 72 */ fmuls f26, f0, f1
/* 801504E8 0014D448 48 00 00 08 */ b lbl_801504F0
lbl_801504EC:
/* 801504EC 0014D44C C3 42 9D 9C */ lfs f26, lbl_805ABABC@sda21(r2)
lbl_801504F0:
/* 801504F0 0014D450 C0 18 01 80 */ lfs f0, 0x180(r24)
/* 801504F4 0014D454 FC 1A 00 40 */ fcmpo cr0, f26, f0
/* 801504F8 0014D458 40 81 00 18 */ ble lbl_80150510
/* 801504FC 0014D45C 7F 03 C3 78 */ mr r3, r24
/* 80150500 0014D460 7F 25 CB 78 */ mr r5, r25
/* 80150504 0014D464 38 80 00 12 */ li r4, 0x12
/* 80150508 0014D468 38 C0 FF FF */ li r6, -1
/* 8015050C 0014D46C 4B F0 0B B5 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
lbl_80150510:
/* 80150510 0014D470 C0 02 9D C8 */ lfs f0, lbl_805ABAE8@sda21(r2)
/* 80150514 0014D474 28 1B 00 00 */ cmplwi r27, 0
/* 80150518 0014D478 D3 58 01 80 */ stfs f26, 0x180(r24)
/* 8015051C 0014D47C EC 40 06 B2 */ fmuls f2, f0, f26
/* 80150520 0014D480 C0 38 00 FC */ lfs f1, 0xfc(r24)
/* 80150524 0014D484 C0 18 01 38 */ lfs f0, 0x138(r24)
/* 80150528 0014D488 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 8015052C 0014D48C D0 18 01 38 */ stfs f0, 0x138(r24)
/* 80150530 0014D490 40 82 00 90 */ bne lbl_801505C0
/* 80150534 0014D494 C0 18 01 38 */ lfs f0, 0x138(r24)
/* 80150538 0014D498 EC 00 E8 28 */ fsubs f0, f0, f29
/* 8015053C 0014D49C D0 18 01 38 */ stfs f0, 0x138(r24)
/* 80150540 0014D4A0 48 00 00 80 */ b lbl_801505C0
lbl_80150544:
/* 80150544 0014D4A4 28 1B 00 00 */ cmplwi r27, 0
/* 80150548 0014D4A8 40 82 00 78 */ bne lbl_801505C0
/* 8015054C 0014D4AC EC 1C F0 28 */ fsubs f0, f28, f30
/* 80150550 0014D4B0 D0 18 01 38 */ stfs f0, 0x138(r24)
/* 80150554 0014D4B4 48 00 00 6C */ b lbl_801505C0
lbl_80150558:
/* 80150558 0014D4B8 2C 1A 00 01 */ cmpwi r26, 1
/* 8015055C 0014D4BC 40 82 00 64 */ bne lbl_801505C0
/* 80150560 0014D4C0 C0 42 9D C8 */ lfs f2, lbl_805ABAE8@sda21(r2)
/* 80150564 0014D4C4 28 1B 00 00 */ cmplwi r27, 0
/* 80150568 0014D4C8 C0 38 01 6C */ lfs f1, 0x16c(r24)
/* 8015056C 0014D4CC C0 18 00 FC */ lfs f0, 0xfc(r24)
/* 80150570 0014D4D0 EC 22 00 72 */ fmuls f1, f2, f1
/* 80150574 0014D4D4 EC 01 E0 3A */ fmadds f0, f1, f0, f28
/* 80150578 0014D4D8 D0 18 01 38 */ stfs f0, 0x138(r24)
/* 8015057C 0014D4DC 40 82 00 44 */ bne lbl_801505C0
/* 80150580 0014D4E0 C0 18 01 38 */ lfs f0, 0x138(r24)
/* 80150584 0014D4E4 EC 00 E8 28 */ fsubs f0, f0, f29
/* 80150588 0014D4E8 D0 18 01 38 */ stfs f0, 0x138(r24)
/* 8015058C 0014D4EC C0 38 01 6C */ lfs f1, 0x16c(r24)
/* 80150590 0014D4F0 FC 00 0A 10 */ fabs f0, f1
/* 80150594 0014D4F4 FC 00 00 18 */ frsp f0, f0
/* 80150598 0014D4F8 FC 00 D8 40 */ fcmpo cr0, f0, f27
/* 8015059C 0014D4FC 40 80 00 10 */ bge lbl_801505AC
/* 801505A0 0014D500 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 801505A4 0014D504 D0 18 01 6C */ stfs f0, 0x16c(r24)
/* 801505A8 0014D508 48 00 00 18 */ b lbl_801505C0
lbl_801505AC:
/* 801505AC 0014D50C C0 42 9D BC */ lfs f2, lbl_805ABADC@sda21(r2)
/* 801505B0 0014D510 C0 02 9D B4 */ lfs f0, lbl_805ABAD4@sda21(r2)
/* 801505B4 0014D514 FC 01 10 2E */ fsel f0, f1, f0, f2
/* 801505B8 0014D518 EC 1B 08 3C */ fnmsubs f0, f27, f0, f1
/* 801505BC 0014D51C D0 18 01 6C */ stfs f0, 0x16c(r24)
lbl_801505C0:
/* 801505C0 0014D520 28 1C 00 00 */ cmplwi r28, 0
/* 801505C4 0014D524 41 82 00 38 */ beq lbl_801505FC
/* 801505C8 0014D528 C0 38 01 38 */ lfs f1, 0x138(r24)
/* 801505CC 0014D52C C8 42 9D D0 */ lfd f2, lbl_805ABAF0@sda21(r2)
/* 801505D0 0014D530 48 24 46 DD */ bl fmod
/* 801505D4 0014D534 FC 20 08 18 */ frsp f1, f1
/* 801505D8 0014D538 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 801505DC 0014D53C D0 38 01 38 */ stfs f1, 0x138(r24)
/* 801505E0 0014D540 C0 38 01 38 */ lfs f1, 0x138(r24)
/* 801505E4 0014D544 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801505E8 0014D548 40 80 00 50 */ bge lbl_80150638
/* 801505EC 0014D54C C0 02 9D B4 */ lfs f0, lbl_805ABAD4@sda21(r2)
/* 801505F0 0014D550 EC 01 00 2A */ fadds f0, f1, f0
/* 801505F4 0014D554 D0 18 01 38 */ stfs f0, 0x138(r24)
/* 801505F8 0014D558 48 00 00 40 */ b lbl_80150638
lbl_801505FC:
/* 801505FC 0014D55C C0 2D 8C 5C */ lfs f1, lbl_805A781C@sda21(r13)
/* 80150600 0014D560 C0 18 01 38 */ lfs f0, 0x138(r24)
/* 80150604 0014D564 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80150608 0014D568 40 80 00 0C */ bge lbl_80150614
/* 8015060C 0014D56C 38 78 01 38 */ addi r3, r24, 0x138
/* 80150610 0014D570 48 00 00 08 */ b lbl_80150618
lbl_80150614:
/* 80150614 0014D574 38 6D 8C 5C */ addi r3, r13, lbl_805A781C@sda21
lbl_80150618:
/* 80150618 0014D578 C0 23 00 00 */ lfs f1, 0(r3)
/* 8015061C 0014D57C C0 0D 8C 60 */ lfs f0, lbl_805A7820@sda21(r13)
/* 80150620 0014D580 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80150624 0014D584 40 80 00 08 */ bge lbl_8015062C
/* 80150628 0014D588 48 00 00 08 */ b lbl_80150630
lbl_8015062C:
/* 8015062C 0014D58C 38 6D 8C 60 */ addi r3, r13, lbl_805A7820@sda21
lbl_80150630:
/* 80150630 0014D590 C0 03 00 00 */ lfs f0, 0(r3)
/* 80150634 0014D594 D0 18 01 38 */ stfs f0, 0x138(r24)
lbl_80150638:
/* 80150638 0014D598 C0 58 01 38 */ lfs f2, 0x138(r24)
/* 8015063C 0014D59C 3A E0 00 01 */ li r23, 1
/* 80150640 0014D5A0 C0 22 9D B4 */ lfs f1, lbl_805ABAD4@sda21(r2)
/* 80150644 0014D5A4 C0 02 9D D8 */ lfs f0, lbl_805ABAF8@sda21(r2)
/* 80150648 0014D5A8 EF 82 E0 28 */ fsubs f28, f2, f28
/* 8015064C 0014D5AC EC 22 08 28 */ fsubs f1, f2, f1
/* 80150650 0014D5B0 FC 20 0A 10 */ fabs f1, f1
/* 80150654 0014D5B4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80150658 0014D5B8 40 80 00 88 */ bge lbl_801506E0
/* 8015065C 0014D5BC 88 18 01 E4 */ lbz r0, 0x1e4(r24)
/* 80150660 0014D5C0 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 80150664 0014D5C4 40 82 00 60 */ bne lbl_801506C4
/* 80150668 0014D5C8 A0 98 01 74 */ lhz r4, 0x174(r24)
/* 8015066C 0014D5CC A0 02 C5 FC */ lhz r0, lbl_805AE31C@sda21(r2)
/* 80150670 0014D5D0 7C 04 00 40 */ cmplw r4, r0
/* 80150674 0014D5D4 41 82 00 40 */ beq lbl_801506B4
/* 80150678 0014D5D8 C0 58 00 60 */ lfs f2, 0x60(r24)
/* 8015067C 0014D5DC 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80150680 0014D5E0 C0 38 00 50 */ lfs f1, 0x50(r24)
/* 80150684 0014D5E4 38 C3 66 A0 */ addi r6, r3, skZero3f@l
/* 80150688 0014D5E8 C0 18 00 40 */ lfs f0, 0x40(r24)
/* 8015068C 0014D5EC 38 61 00 14 */ addi r3, r1, 0x14
/* 80150690 0014D5F0 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2)
/* 80150694 0014D5F4 38 A1 00 60 */ addi r5, r1, 0x60
/* 80150698 0014D5F8 D0 01 00 60 */ stfs f0, 0x60(r1)
/* 8015069C 0014D5FC 38 E0 00 01 */ li r7, 1
/* 801506A0 0014D600 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2)
/* 801506A4 0014D604 39 00 00 00 */ li r8, 0
/* 801506A8 0014D608 D0 21 00 64 */ stfs f1, 0x64(r1)
/* 801506AC 0014D60C D0 41 00 68 */ stfs f2, 0x68(r1)
/* 801506B0 0014D610 48 19 9C 01 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi
lbl_801506B4:
/* 801506B4 0014D614 88 18 01 E4 */ lbz r0, 0x1e4(r24)
/* 801506B8 0014D618 38 60 00 01 */ li r3, 1
/* 801506BC 0014D61C 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 801506C0 0014D620 98 18 01 E4 */ stb r0, 0x1e4(r24)
lbl_801506C4:
/* 801506C4 0014D624 7F 03 C3 78 */ mr r3, r24
/* 801506C8 0014D628 7F 25 CB 78 */ mr r5, r25
/* 801506CC 0014D62C 38 80 00 07 */ li r4, 7
/* 801506D0 0014D630 38 C0 FF FF */ li r6, -1
/* 801506D4 0014D634 4B F0 09 ED */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 801506D8 0014D638 3A E0 00 00 */ li r23, 0
/* 801506DC 0014D63C 48 00 00 14 */ b lbl_801506F0
lbl_801506E0:
/* 801506E0 0014D640 88 18 01 E4 */ lbz r0, 0x1e4(r24)
/* 801506E4 0014D644 38 60 00 00 */ li r3, 0
/* 801506E8 0014D648 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 801506EC 0014D64C 98 18 01 E4 */ stb r0, 0x1e4(r24)
lbl_801506F0:
/* 801506F0 0014D650 C0 58 01 38 */ lfs f2, 0x138(r24)
/* 801506F4 0014D654 C0 22 9D 9C */ lfs f1, lbl_805ABABC@sda21(r2)
/* 801506F8 0014D658 C0 02 9D D8 */ lfs f0, lbl_805ABAF8@sda21(r2)
/* 801506FC 0014D65C EC 22 08 28 */ fsubs f1, f2, f1
/* 80150700 0014D660 FC 20 0A 10 */ fabs f1, f1
/* 80150704 0014D664 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80150708 0014D668 40 80 00 88 */ bge lbl_80150790
/* 8015070C 0014D66C 88 18 01 E4 */ lbz r0, 0x1e4(r24)
/* 80150710 0014D670 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 80150714 0014D674 40 82 00 60 */ bne lbl_80150774
/* 80150718 0014D678 A0 98 01 72 */ lhz r4, 0x172(r24)
/* 8015071C 0014D67C A0 02 C5 FC */ lhz r0, lbl_805AE31C@sda21(r2)
/* 80150720 0014D680 7C 04 00 40 */ cmplw r4, r0
/* 80150724 0014D684 41 82 00 40 */ beq lbl_80150764
/* 80150728 0014D688 C0 58 00 60 */ lfs f2, 0x60(r24)
/* 8015072C 0014D68C 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80150730 0014D690 C0 38 00 50 */ lfs f1, 0x50(r24)
/* 80150734 0014D694 38 C3 66 A0 */ addi r6, r3, skZero3f@l
/* 80150738 0014D698 C0 18 00 40 */ lfs f0, 0x40(r24)
/* 8015073C 0014D69C 38 61 00 10 */ addi r3, r1, 0x10
/* 80150740 0014D6A0 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2)
/* 80150744 0014D6A4 38 A1 00 54 */ addi r5, r1, 0x54
/* 80150748 0014D6A8 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 8015074C 0014D6AC 38 E0 00 01 */ li r7, 1
/* 80150750 0014D6B0 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2)
/* 80150754 0014D6B4 39 00 00 00 */ li r8, 0
/* 80150758 0014D6B8 D0 21 00 58 */ stfs f1, 0x58(r1)
/* 8015075C 0014D6BC D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 80150760 0014D6C0 48 19 9B 51 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi
lbl_80150764:
/* 80150764 0014D6C4 88 18 01 E4 */ lbz r0, 0x1e4(r24)
/* 80150768 0014D6C8 38 60 00 01 */ li r3, 1
/* 8015076C 0014D6CC 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 80150770 0014D6D0 98 18 01 E4 */ stb r0, 0x1e4(r24)
lbl_80150774:
/* 80150774 0014D6D4 7F 03 C3 78 */ mr r3, r24
/* 80150778 0014D6D8 7F 25 CB 78 */ mr r5, r25
/* 8015077C 0014D6DC 38 80 00 09 */ li r4, 9
/* 80150780 0014D6E0 38 C0 FF FF */ li r6, -1
/* 80150784 0014D6E4 4B F0 09 3D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 80150788 0014D6E8 3A E0 00 00 */ li r23, 0
/* 8015078C 0014D6EC 48 00 00 14 */ b lbl_801507A0
lbl_80150790:
/* 80150790 0014D6F0 88 18 01 E4 */ lbz r0, 0x1e4(r24)
/* 80150794 0014D6F4 38 60 00 00 */ li r3, 0
/* 80150798 0014D6F8 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8015079C 0014D6FC 98 18 01 E4 */ stb r0, 0x1e4(r24)
lbl_801507A0:
/* 801507A0 0014D700 38 61 00 24 */ addi r3, r1, 0x24
/* 801507A4 0014D704 38 98 01 84 */ addi r4, r24, 0x184
/* 801507A8 0014D708 48 00 05 91 */ bl sub_80150d38
/* 801507AC 0014D70C 88 01 00 28 */ lbz r0, 0x28(r1)
/* 801507B0 0014D710 28 00 00 00 */ cmplwi r0, 0
/* 801507B4 0014D714 98 01 00 38 */ stb r0, 0x38(r1)
/* 801507B8 0014D718 41 82 00 14 */ beq lbl_801507CC
/* 801507BC 0014D71C 34 61 00 34 */ addic. r3, r1, 0x34
/* 801507C0 0014D720 41 82 00 0C */ beq lbl_801507CC
/* 801507C4 0014D724 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 801507C8 0014D728 D0 03 00 00 */ stfs f0, 0(r3)
lbl_801507CC:
/* 801507CC 0014D72C 38 00 00 00 */ li r0, 0
/* 801507D0 0014D730 56 E4 06 3F */ clrlwi. r4, r23, 0x18
/* 801507D4 0014D734 98 01 00 28 */ stb r0, 0x28(r1)
/* 801507D8 0014D738 41 82 00 FC */ beq lbl_801508D4
/* 801507DC 0014D73C A0 78 01 70 */ lhz r3, 0x170(r24)
/* 801507E0 0014D740 A0 02 C5 FC */ lhz r0, lbl_805AE31C@sda21(r2)
/* 801507E4 0014D744 7C 03 00 40 */ cmplw r3, r0
/* 801507E8 0014D748 41 82 00 F8 */ beq lbl_801508E0
/* 801507EC 0014D74C C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 801507F0 0014D750 FC 1C 00 40 */ fcmpo cr0, f28, f0
/* 801507F4 0014D754 4C 41 13 82 */ cror 2, 1, 2
/* 801507F8 0014D758 7C 00 00 26 */ mfcr r0
/* 801507FC 0014D75C 28 04 00 00 */ cmplwi r4, 0
/* 80150800 0014D760 54 17 1F FE */ rlwinm r23, r0, 3, 0x1f, 0x1f
/* 80150804 0014D764 41 82 00 44 */ beq lbl_80150848
/* 80150808 0014D768 28 17 00 00 */ cmplwi r23, 0
/* 8015080C 0014D76C 38 00 00 7F */ li r0, 0x7f
/* 80150810 0014D770 41 82 00 08 */ beq lbl_80150818
/* 80150814 0014D774 38 00 00 64 */ li r0, 0x64
lbl_80150818:
/* 80150818 0014D778 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8015081C 0014D77C 3C 00 43 30 */ lis r0, 0x4330
/* 80150820 0014D780 90 61 01 54 */ stw r3, 0x154(r1)
/* 80150824 0014D784 38 78 01 84 */ addi r3, r24, 0x184
/* 80150828 0014D788 C8 22 9D A8 */ lfd f1, lbl_805ABAC8@sda21(r2)
/* 8015082C 0014D78C 38 81 00 0C */ addi r4, r1, 0xc
/* 80150830 0014D790 90 01 01 50 */ stw r0, 0x150(r1)
/* 80150834 0014D794 C8 01 01 50 */ lfd f0, 0x150(r1)
/* 80150838 0014D798 EC 00 08 28 */ fsubs f0, f0, f1
/* 8015083C 0014D79C D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80150840 0014D7A0 48 00 01 E5 */ bl sub_80150a24
/* 80150844 0014D7A4 48 00 00 10 */ b lbl_80150854
lbl_80150848:
/* 80150848 0014D7A8 38 78 01 84 */ addi r3, r24, 0x184
/* 8015084C 0014D7AC 38 8D 8C 64 */ addi r4, r13, lbl_805A7824@sda21
/* 80150850 0014D7B0 48 00 01 D5 */ bl sub_80150a24
lbl_80150854:
/* 80150854 0014D7B4 38 61 00 1C */ addi r3, r1, 0x1c
/* 80150858 0014D7B8 38 98 01 84 */ addi r4, r24, 0x184
/* 8015085C 0014D7BC 48 00 04 DD */ bl sub_80150d38
/* 80150860 0014D7C0 28 17 00 00 */ cmplwi r23, 0
/* 80150864 0014D7C4 41 82 00 0C */ beq lbl_80150870
/* 80150868 0014D7C8 C0 38 01 08 */ lfs f1, 0x108(r24)
/* 8015086C 0014D7CC 48 00 00 08 */ b lbl_80150874
lbl_80150870:
/* 80150870 0014D7D0 C0 22 9D B4 */ lfs f1, lbl_805ABAD4@sda21(r2)
lbl_80150874:
/* 80150874 0014D7D4 C0 18 00 50 */ lfs f0, 0x50(r24)
/* 80150878 0014D7D8 7F 03 C3 78 */ mr r3, r24
/* 8015087C 0014D7DC C0 78 00 60 */ lfs f3, 0x60(r24)
/* 80150880 0014D7E0 38 98 01 78 */ addi r4, r24, 0x178
/* 80150884 0014D7E4 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 80150888 0014D7E8 38 C1 00 48 */ addi r6, r1, 0x48
/* 8015088C 0014D7EC C0 58 00 40 */ lfs f2, 0x40(r24)
/* 80150890 0014D7F0 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80150894 0014D7F4 D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 80150898 0014D7F8 FC 00 00 1E */ fctiwz f0, f0
/* 8015089C 0014D7FC 80 A1 00 40 */ lwz r5, 0x40(r1)
/* 801508A0 0014D800 D0 61 00 44 */ stfs f3, 0x44(r1)
/* 801508A4 0014D804 80 E1 00 3C */ lwz r7, 0x3c(r1)
/* 801508A8 0014D808 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801508AC 0014D80C D8 01 01 50 */ stfd f0, 0x150(r1)
/* 801508B0 0014D810 90 E1 00 48 */ stw r7, 0x48(r1)
/* 801508B4 0014D814 80 E1 01 54 */ lwz r7, 0x154(r1)
/* 801508B8 0014D818 90 A1 00 4C */ stw r5, 0x4c(r1)
/* 801508BC 0014D81C 90 01 00 50 */ stw r0, 0x50(r1)
/* 801508C0 0014D820 A0 B8 01 70 */ lhz r5, 0x170(r24)
/* 801508C4 0014D824 4B FF EB 2D */ bl sub_8014f3f0
/* 801508C8 0014D828 38 00 00 00 */ li r0, 0
/* 801508CC 0014D82C 98 01 00 20 */ stb r0, 0x20(r1)
/* 801508D0 0014D830 48 00 00 10 */ b lbl_801508E0
lbl_801508D4:
/* 801508D4 0014D834 7F 03 C3 78 */ mr r3, r24
/* 801508D8 0014D838 38 98 01 78 */ addi r4, r24, 0x178
/* 801508DC 0014D83C 4B FF EA C9 */ bl sub_8014f3a4
lbl_801508E0:
/* 801508E0 0014D840 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 801508E4 0014D844 80 63 00 10 */ lwz r3, 0x10(r3)
/* 801508E8 0014D848 A8 83 02 08 */ lha r4, 0x208(r3)
/* 801508EC 0014D84C 4B ED BB DD */ bl GetAnimationDuration__9CAnimDataCFi
/* 801508F0 0014D850 C0 18 01 38 */ lfs f0, 0x138(r24)
/* 801508F4 0014D854 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 801508F8 0014D858 EF 40 00 72 */ fmuls f26, f0, f1
/* 801508FC 0014D85C C0 22 9D 9C */ lfs f1, lbl_805ABABC@sda21(r2)
/* 80150900 0014D860 80 63 00 10 */ lwz r3, 0x10(r3)
/* 80150904 0014D864 4B ED 9C 05 */ bl sub_8002a508
/* 80150908 0014D868 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 8015090C 0014D86C C0 22 9D B4 */ lfs f1, lbl_805ABAD4@sda21(r2)
/* 80150910 0014D870 80 63 00 10 */ lwz r3, 0x10(r3)
/* 80150914 0014D874 4B ED AB 55 */ bl SetPlaybackRate__9CAnimDataFf
/* 80150918 0014D878 FC 20 D0 90 */ fmr f1, f26
/* 8015091C 0014D87C 7F E4 FB 78 */ mr r4, r31
/* 80150920 0014D880 7F 25 CB 78 */ mr r5, r25
/* 80150924 0014D884 38 61 00 B4 */ addi r3, r1, 0xb4
/* 80150928 0014D888 38 C0 00 01 */ li r6, 1
/* 8015092C 0014D88C 4B F0 49 71 */ bl UpdateAnimation__6CActorFfR13CStateManagerb
/* 80150930 0014D890 C0 C1 00 B4 */ lfs f6, 0xb4(r1)
/* 80150934 0014D894 7F A4 EB 78 */ mr r4, r29
/* 80150938 0014D898 C0 A1 00 B8 */ lfs f5, 0xb8(r1)
/* 8015093C 0014D89C 38 61 00 EC */ addi r3, r1, 0xec
/* 80150940 0014D8A0 C0 81 00 BC */ lfs f4, 0xbc(r1)
/* 80150944 0014D8A4 38 A1 00 D0 */ addi r5, r1, 0xd0
/* 80150948 0014D8A8 C0 61 00 C0 */ lfs f3, 0xc0(r1)
/* 8015094C 0014D8AC C0 41 00 C4 */ lfs f2, 0xc4(r1)
/* 80150950 0014D8B0 C0 21 00 C8 */ lfs f1, 0xc8(r1)
/* 80150954 0014D8B4 C0 01 00 CC */ lfs f0, 0xcc(r1)
/* 80150958 0014D8B8 D0 C1 00 D0 */ stfs f6, 0xd0(r1)
/* 8015095C 0014D8BC D0 A1 00 D4 */ stfs f5, 0xd4(r1)
/* 80150960 0014D8C0 D0 81 00 D8 */ stfs f4, 0xd8(r1)
/* 80150964 0014D8C4 D0 61 00 DC */ stfs f3, 0xdc(r1)
/* 80150968 0014D8C8 D0 41 00 E0 */ stfs f2, 0xe0(r1)
/* 8015096C 0014D8CC D0 21 00 E4 */ stfs f1, 0xe4(r1)
/* 80150970 0014D8D0 D0 01 00 E8 */ stfs f0, 0xe8(r1)
/* 80150974 0014D8D4 48 1C 15 49 */ bl BuildTransform4f__11CQuaternionCFRC9CVector3f
/* 80150978 0014D8D8 38 61 01 1C */ addi r3, r1, 0x11c
/* 8015097C 0014D8DC 38 98 01 3C */ addi r4, r24, 0x13c
/* 80150980 0014D8E0 38 A1 00 EC */ addi r5, r1, 0xec
/* 80150984 0014D8E4 48 1C 1F CD */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 80150988 0014D8E8 38 7F 00 34 */ addi r3, r31, 0x34
/* 8015098C 0014D8EC 38 81 01 1C */ addi r4, r1, 0x11c
/* 80150990 0014D8F0 48 1C 21 B1 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80150994 0014D8F4 88 7F 00 E4 */ lbz r3, 0xe4(r31)
/* 80150998 0014D8F8 38 80 00 01 */ li r4, 1
/* 8015099C 0014D8FC 50 83 26 F6 */ rlwimi r3, r4, 4, 0x1b, 0x1b
/* 801509A0 0014D900 38 00 00 00 */ li r0, 0
/* 801509A4 0014D904 98 7F 00 E4 */ stb r3, 0xe4(r31)
/* 801509A8 0014D908 88 7F 00 E4 */ lbz r3, 0xe4(r31)
/* 801509AC 0014D90C 50 83 1F 38 */ rlwimi r3, r4, 3, 0x1c, 0x1c
/* 801509B0 0014D910 98 01 00 38 */ stb r0, 0x38(r1)
/* 801509B4 0014D914 98 7F 00 E4 */ stb r3, 0xe4(r31)
/* 801509B8 0014D918 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801509BC 0014D91C 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 801509C0 0014D920 98 1F 00 E4 */ stb r0, 0xe4(r31)
lbl_801509C4:
/* 801509C4 0014D924 3B DE 00 0C */ addi r30, r30, 0xc
lbl_801509C8:
/* 801509C8 0014D928 80 18 00 24 */ lwz r0, 0x24(r24)
/* 801509CC 0014D92C 80 78 00 2C */ lwz r3, 0x2c(r24)
/* 801509D0 0014D930 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801509D4 0014D934 7C 03 02 14 */ add r0, r3, r0
/* 801509D8 0014D938 7C 1E 00 40 */ cmplw r30, r0
/* 801509DC 0014D93C 40 82 F9 94 */ bne lbl_80150370
/* 801509E0 0014D940 E3 E1 01 D8 */ psq_l f31, 472(r1), 0, qr0
/* 801509E4 0014D944 CB E1 01 D0 */ lfd f31, 0x1d0(r1)
/* 801509E8 0014D948 E3 C1 01 C8 */ psq_l f30, 456(r1), 0, qr0
/* 801509EC 0014D94C CB C1 01 C0 */ lfd f30, 0x1c0(r1)
/* 801509F0 0014D950 E3 A1 01 B8 */ psq_l f29, 440(r1), 0, qr0
/* 801509F4 0014D954 CB A1 01 B0 */ lfd f29, 0x1b0(r1)
/* 801509F8 0014D958 E3 81 01 A8 */ psq_l f28, 424(r1), 0, qr0
/* 801509FC 0014D95C CB 81 01 A0 */ lfd f28, 0x1a0(r1)
/* 80150A00 0014D960 E3 61 01 98 */ psq_l f27, 408(r1), 0, qr0
/* 80150A04 0014D964 CB 61 01 90 */ lfd f27, 0x190(r1)
/* 80150A08 0014D968 E3 41 01 88 */ psq_l f26, 392(r1), 0, qr0
/* 80150A0C 0014D96C CB 41 01 80 */ lfd f26, 0x180(r1)
/* 80150A10 0014D970 BA E1 01 5C */ lmw r23, 0x15c(r1)
/* 80150A14 0014D974 80 01 01 E4 */ lwz r0, 0x1e4(r1)
/* 80150A18 0014D978 7C 08 03 A6 */ mtlr r0
/* 80150A1C 0014D97C 38 21 01 E0 */ addi r1, r1, 0x1e0
/* 80150A20 0014D980 4E 80 00 20 */ blr
.global sub_80150a24
sub_80150a24:
/* 80150A24 0014D984 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80150A28 0014D988 7C 08 02 A6 */ mflr r0
/* 80150A2C 0014D98C 7C 86 23 78 */ mr r6, r4
/* 80150A30 0014D990 90 01 00 24 */ stw r0, 0x24(r1)
/* 80150A34 0014D994 80 83 00 04 */ lwz r4, 4(r3)
/* 80150A38 0014D998 80 03 00 08 */ lwz r0, 8(r3)
/* 80150A3C 0014D99C 7C 04 00 00 */ cmpw r4, r0
/* 80150A40 0014D9A0 40 82 00 10 */ bne lbl_80150A50
/* 80150A44 0014D9A4 80 83 00 04 */ lwz r4, 4(r3)
/* 80150A48 0014D9A8 38 04 FF FF */ addi r0, r4, -1
/* 80150A4C 0014D9AC 90 03 00 04 */ stw r0, 4(r3)
lbl_80150A50:
/* 80150A50 0014D9B0 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80150A54 0014D9B4 7C 64 1B 78 */ mr r4, r3
/* 80150A58 0014D9B8 38 61 00 10 */ addi r3, r1, 0x10
/* 80150A5C 0014D9BC 38 A1 00 0C */ addi r5, r1, 0xc
/* 80150A60 0014D9C0 90 01 00 08 */ stw r0, 8(r1)
/* 80150A64 0014D9C4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80150A68 0014D9C8 48 00 00 15 */ bl sub_80150a7c
/* 80150A6C 0014D9CC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80150A70 0014D9D0 7C 08 03 A6 */ mtlr r0
/* 80150A74 0014D9D4 38 21 00 20 */ addi r1, r1, 0x20
/* 80150A78 0014D9D8 4E 80 00 20 */ blr
.global sub_80150a7c
sub_80150a7c:
/* 80150A7C 0014D9DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80150A80 0014D9E0 7C 08 02 A6 */ mflr r0
/* 80150A84 0014D9E4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80150A88 0014D9E8 38 00 00 00 */ li r0, 0
/* 80150A8C 0014D9EC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80150A90 0014D9F0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80150A94 0014D9F4 7C 9E 23 78 */ mr r30, r4
/* 80150A98 0014D9F8 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80150A9C 0014D9FC 7C 7D 1B 78 */ mr r29, r3
/* 80150AA0 0014DA00 7F C3 F3 78 */ mr r3, r30
/* 80150AA4 0014DA04 80 84 00 0C */ lwz r4, 0xc(r4)
/* 80150AA8 0014DA08 80 E5 00 00 */ lwz r7, 0(r5)
/* 80150AAC 0014DA0C 38 A0 00 01 */ li r5, 1
/* 80150AB0 0014DA10 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80150AB4 0014DA14 7C 84 38 50 */ subf r4, r4, r7
/* 80150AB8 0014DA18 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80150ABC 0014DA1C 7C 84 16 70 */ srawi r4, r4, 2
/* 80150AC0 0014DA20 7F E4 01 94 */ addze r31, r4
/* 80150AC4 0014DA24 38 C1 00 0C */ addi r6, r1, 0xc
/* 80150AC8 0014DA28 90 01 00 18 */ stw r0, 0x18(r1)
/* 80150ACC 0014DA2C 38 81 00 08 */ addi r4, r1, 8
/* 80150AD0 0014DA30 90 01 00 10 */ stw r0, 0x10(r1)
/* 80150AD4 0014DA34 90 E1 00 08 */ stw r7, 8(r1)
/* 80150AD8 0014DA38 48 00 00 31 */ bl sub_80150b08
/* 80150ADC 0014DA3C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80150AE0 0014DA40 57 E0 10 3A */ slwi r0, r31, 2
/* 80150AE4 0014DA44 7C 63 02 14 */ add r3, r3, r0
/* 80150AE8 0014DA48 90 7D 00 00 */ stw r3, 0(r29)
/* 80150AEC 0014DA4C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80150AF0 0014DA50 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80150AF4 0014DA54 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80150AF8 0014DA58 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80150AFC 0014DA5C 7C 08 03 A6 */ mtlr r0
/* 80150B00 0014DA60 38 21 00 30 */ addi r1, r1, 0x30
/* 80150B04 0014DA64 4E 80 00 20 */ blr
.global sub_80150b08
sub_80150b08:
/* 80150B08 0014DA68 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80150B0C 0014DA6C 7C 08 02 A6 */ mflr r0
/* 80150B10 0014DA70 90 01 00 34 */ stw r0, 0x34(r1)
/* 80150B14 0014DA74 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 80150B18 0014DA78 7C 7B 1B 78 */ mr r27, r3
/* 80150B1C 0014DA7C 7C 99 23 78 */ mr r25, r4
/* 80150B20 0014DA80 7C BC 2B 78 */ mr r28, r5
/* 80150B24 0014DA84 80 63 00 04 */ lwz r3, 4(r3)
/* 80150B28 0014DA88 80 9B 00 08 */ lwz r4, 8(r27)
/* 80150B2C 0014DA8C 7C A3 E2 14 */ add r5, r3, r28
/* 80150B30 0014DA90 80 FB 00 0C */ lwz r7, 0xc(r27)
/* 80150B34 0014DA94 7C 05 20 00 */ cmpw r5, r4
/* 80150B38 0014DA98 83 E6 00 00 */ lwz r31, 0(r6)
/* 80150B3C 0014DA9C 7C FE 3B 78 */ mr r30, r7
/* 80150B40 0014DAA0 41 81 00 9C */ bgt lbl_80150BDC
/* 80150B44 0014DAA4 80 19 00 00 */ lwz r0, 0(r25)
/* 80150B48 0014DAA8 57 84 10 3A */ slwi r4, r28, 2
/* 80150B4C 0014DAAC 7C 07 00 50 */ subf r0, r7, r0
/* 80150B50 0014DAB0 7C 00 16 70 */ srawi r0, r0, 2
/* 80150B54 0014DAB4 7C A0 01 94 */ addze r5, r0
/* 80150B58 0014DAB8 7C 65 18 50 */ subf r3, r5, r3
/* 80150B5C 0014DABC 35 03 FF FF */ addic. r8, r3, -1
/* 80150B60 0014DAC0 54 A0 10 3A */ slwi r0, r5, 2
/* 80150B64 0014DAC4 7C C7 02 14 */ add r6, r7, r0
/* 80150B68 0014DAC8 55 03 10 3A */ slwi r3, r8, 2
/* 80150B6C 0014DACC 38 08 00 01 */ addi r0, r8, 1
/* 80150B70 0014DAD0 7C 84 1A 14 */ add r4, r4, r3
/* 80150B74 0014DAD4 7C 86 22 14 */ add r4, r6, r4
/* 80150B78 0014DAD8 7C 09 03 A6 */ mtctr r0
/* 80150B7C 0014DADC 41 80 00 2C */ blt lbl_80150BA8
lbl_80150B80:
/* 80150B80 0014DAE0 28 04 00 00 */ cmplwi r4, 0
/* 80150B84 0014DAE4 7C 05 42 14 */ add r0, r5, r8
/* 80150B88 0014DAE8 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 80150B8C 0014DAEC 54 00 10 3A */ slwi r0, r0, 2
/* 80150B90 0014DAF0 41 82 00 0C */ beq lbl_80150B9C
/* 80150B94 0014DAF4 7C 03 04 2E */ lfsx f0, r3, r0
/* 80150B98 0014DAF8 D0 04 00 00 */ stfs f0, 0(r4)
lbl_80150B9C:
/* 80150B9C 0014DAFC 38 84 FF FC */ addi r4, r4, -4
/* 80150BA0 0014DB00 39 08 FF FF */ addi r8, r8, -1
/* 80150BA4 0014DB04 42 00 FF DC */ bdnz lbl_80150B80
lbl_80150BA8:
/* 80150BA8 0014DB08 7F 89 03 A6 */ mtctr r28
/* 80150BAC 0014DB0C 2C 1C 00 00 */ cmpwi r28, 0
/* 80150BB0 0014DB10 40 81 00 1C */ ble lbl_80150BCC
lbl_80150BB4:
/* 80150BB4 0014DB14 28 06 00 00 */ cmplwi r6, 0
/* 80150BB8 0014DB18 41 82 00 0C */ beq lbl_80150BC4
/* 80150BBC 0014DB1C C0 1F 00 00 */ lfs f0, 0(r31)
/* 80150BC0 0014DB20 D0 06 00 00 */ stfs f0, 0(r6)
lbl_80150BC4:
/* 80150BC4 0014DB24 38 C6 00 04 */ addi r6, r6, 4
/* 80150BC8 0014DB28 42 00 FF EC */ bdnz lbl_80150BB4
lbl_80150BCC:
/* 80150BCC 0014DB2C 80 1B 00 04 */ lwz r0, 4(r27)
/* 80150BD0 0014DB30 7C 00 E2 14 */ add r0, r0, r28
/* 80150BD4 0014DB34 90 1B 00 04 */ stw r0, 4(r27)
/* 80150BD8 0014DB38 48 00 01 4C */ b lbl_80150D24
lbl_80150BDC:
/* 80150BDC 0014DB3C 2C 04 00 00 */ cmpwi r4, 0
/* 80150BE0 0014DB40 38 00 00 04 */ li r0, 4
/* 80150BE4 0014DB44 41 82 00 08 */ beq lbl_80150BEC
/* 80150BE8 0014DB48 54 80 08 3C */ slwi r0, r4, 1
lbl_80150BEC:
/* 80150BEC 0014DB4C 7C 1D 03 78 */ mr r29, r0
/* 80150BF0 0014DB50 48 00 00 08 */ b lbl_80150BF8
lbl_80150BF4:
/* 80150BF4 0014DB54 57 BD 08 3C */ slwi r29, r29, 1
lbl_80150BF8:
/* 80150BF8 0014DB58 7C 1D 28 00 */ cmpw r29, r5
/* 80150BFC 0014DB5C 41 80 FF F8 */ blt lbl_80150BF4
/* 80150C00 0014DB60 57 A3 10 3B */ rlwinm. r3, r29, 2, 0, 0x1d
/* 80150C04 0014DB64 40 82 00 0C */ bne lbl_80150C10
/* 80150C08 0014DB68 3B 40 00 00 */ li r26, 0
/* 80150C0C 0014DB6C 48 00 00 1C */ b lbl_80150C28
lbl_80150C10:
/* 80150C10 0014DB70 3C 80 80 3D */ lis r4, lbl_803D01D0@ha
/* 80150C14 0014DB74 38 A0 00 00 */ li r5, 0
/* 80150C18 0014DB78 38 84 01 D0 */ addi r4, r4, lbl_803D01D0@l
/* 80150C1C 0014DB7C 38 84 00 15 */ addi r4, r4, 0x15
/* 80150C20 0014DB80 48 1C 4B F9 */ bl __nwa__FUlPCcPCc
/* 80150C24 0014DB84 7C 7A 1B 78 */ mr r26, r3
lbl_80150C28:
/* 80150C28 0014DB88 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 80150C2C 0014DB8C 7F 46 D3 78 */ mr r6, r26
/* 80150C30 0014DB90 80 19 00 00 */ lwz r0, 0(r25)
/* 80150C34 0014DB94 38 E0 00 00 */ li r7, 0
/* 80150C38 0014DB98 38 A0 00 00 */ li r5, 0
/* 80150C3C 0014DB9C 7C 03 00 50 */ subf r0, r3, r0
/* 80150C40 0014DBA0 7C 00 16 70 */ srawi r0, r0, 2
/* 80150C44 0014DBA4 7C 80 01 95 */ addze. r4, r0
/* 80150C48 0014DBA8 7C 89 03 A6 */ mtctr r4
/* 80150C4C 0014DBAC 40 81 00 28 */ ble lbl_80150C74
lbl_80150C50:
/* 80150C50 0014DBB0 28 06 00 00 */ cmplwi r6, 0
/* 80150C54 0014DBB4 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 80150C58 0014DBB8 41 82 00 0C */ beq lbl_80150C64
/* 80150C5C 0014DBBC 7C 03 2C 2E */ lfsx f0, r3, r5
/* 80150C60 0014DBC0 D0 06 00 00 */ stfs f0, 0(r6)
lbl_80150C64:
/* 80150C64 0014DBC4 38 C6 00 04 */ addi r6, r6, 4
/* 80150C68 0014DBC8 38 E7 00 01 */ addi r7, r7, 1
/* 80150C6C 0014DBCC 38 A5 00 04 */ addi r5, r5, 4
/* 80150C70 0014DBD0 42 00 FF E0 */ bdnz lbl_80150C50
lbl_80150C74:
/* 80150C74 0014DBD4 54 E0 10 3A */ slwi r0, r7, 2
/* 80150C78 0014DBD8 7C 7A 02 14 */ add r3, r26, r0
/* 80150C7C 0014DBDC 7F 89 03 A6 */ mtctr r28
/* 80150C80 0014DBE0 2C 1C 00 00 */ cmpwi r28, 0
/* 80150C84 0014DBE4 40 81 00 20 */ ble lbl_80150CA4
lbl_80150C88:
/* 80150C88 0014DBE8 28 03 00 00 */ cmplwi r3, 0
/* 80150C8C 0014DBEC 41 82 00 0C */ beq lbl_80150C98
/* 80150C90 0014DBF0 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80150C94 0014DBF4 D0 03 00 00 */ stfs f0, 0(r3)
lbl_80150C98:
/* 80150C98 0014DBF8 38 63 00 04 */ addi r3, r3, 4
/* 80150C9C 0014DBFC 38 E7 00 01 */ addi r7, r7, 1
/* 80150CA0 0014DC00 42 00 FF E8 */ bdnz lbl_80150C88
lbl_80150CA4:
/* 80150CA4 0014DC04 54 E0 10 3A */ slwi r0, r7, 2
/* 80150CA8 0014DC08 7C 86 23 78 */ mr r6, r4
/* 80150CAC 0014DC0C 54 84 10 3A */ slwi r4, r4, 2
/* 80150CB0 0014DC10 7C BA 02 14 */ add r5, r26, r0
/* 80150CB4 0014DC14 48 00 00 24 */ b lbl_80150CD8
lbl_80150CB8:
/* 80150CB8 0014DC18 28 05 00 00 */ cmplwi r5, 0
/* 80150CBC 0014DC1C 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 80150CC0 0014DC20 41 82 00 0C */ beq lbl_80150CCC
/* 80150CC4 0014DC24 7C 03 24 2E */ lfsx f0, r3, r4
/* 80150CC8 0014DC28 D0 05 00 00 */ stfs f0, 0(r5)
lbl_80150CCC:
/* 80150CCC 0014DC2C 38 A5 00 04 */ addi r5, r5, 4
/* 80150CD0 0014DC30 38 84 00 04 */ addi r4, r4, 4
/* 80150CD4 0014DC34 38 C6 00 01 */ addi r6, r6, 1
lbl_80150CD8:
/* 80150CD8 0014DC38 80 1B 00 04 */ lwz r0, 4(r27)
/* 80150CDC 0014DC3C 7C 06 00 00 */ cmpw r6, r0
/* 80150CE0 0014DC40 41 80 FF D8 */ blt lbl_80150CB8
/* 80150CE4 0014DC44 54 00 10 3A */ slwi r0, r0, 2
/* 80150CE8 0014DC48 7F C3 F3 78 */ mr r3, r30
/* 80150CEC 0014DC4C 7C 1E 02 14 */ add r0, r30, r0
/* 80150CF0 0014DC50 48 00 00 08 */ b lbl_80150CF8
lbl_80150CF4:
/* 80150CF4 0014DC54 38 63 00 04 */ addi r3, r3, 4
lbl_80150CF8:
/* 80150CF8 0014DC58 7C 03 00 40 */ cmplw r3, r0
/* 80150CFC 0014DC5C 40 82 FF F8 */ bne lbl_80150CF4
/* 80150D00 0014DC60 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 80150D04 0014DC64 28 03 00 00 */ cmplwi r3, 0
/* 80150D08 0014DC68 41 82 00 08 */ beq lbl_80150D10
/* 80150D0C 0014DC6C 48 1C 4C 25 */ bl Free__7CMemoryFPCv
lbl_80150D10:
/* 80150D10 0014DC70 93 5B 00 0C */ stw r26, 0xc(r27)
/* 80150D14 0014DC74 93 BB 00 08 */ stw r29, 8(r27)
/* 80150D18 0014DC78 80 1B 00 04 */ lwz r0, 4(r27)
/* 80150D1C 0014DC7C 7C 00 E2 14 */ add r0, r0, r28
/* 80150D20 0014DC80 90 1B 00 04 */ stw r0, 4(r27)
lbl_80150D24:
/* 80150D24 0014DC84 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 80150D28 0014DC88 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80150D2C 0014DC8C 7C 08 03 A6 */ mtlr r0
/* 80150D30 0014DC90 38 21 00 30 */ addi r1, r1, 0x30
/* 80150D34 0014DC94 4E 80 00 20 */ blr
.global sub_80150d38
sub_80150d38:
/* 80150D38 0014DC98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80150D3C 0014DC9C 7C 08 02 A6 */ mflr r0
/* 80150D40 0014DCA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80150D44 0014DCA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80150D48 0014DCA8 7C 7F 1B 78 */ mr r31, r3
/* 80150D4C 0014DCAC 80 04 00 04 */ lwz r0, 4(r4)
/* 80150D50 0014DCB0 2C 00 00 00 */ cmpwi r0, 0
/* 80150D54 0014DCB4 40 82 00 10 */ bne lbl_80150D64
/* 80150D58 0014DCB8 38 00 00 00 */ li r0, 0
/* 80150D5C 0014DCBC 98 1F 00 04 */ stb r0, 4(r31)
/* 80150D60 0014DCC0 48 00 00 24 */ b lbl_80150D84
lbl_80150D64:
/* 80150D64 0014DCC4 80 64 00 0C */ lwz r3, 0xc(r4)
/* 80150D68 0014DCC8 7C 04 03 78 */ mr r4, r0
/* 80150D6C 0014DCCC 4B EB 7B 29 */ bl "GetAverageValue<f>__FPCfi"
/* 80150D70 0014DCD0 38 00 00 01 */ li r0, 1
/* 80150D74 0014DCD4 28 1F 00 00 */ cmplwi r31, 0
/* 80150D78 0014DCD8 98 1F 00 04 */ stb r0, 4(r31)
/* 80150D7C 0014DCDC 41 82 00 08 */ beq lbl_80150D84
/* 80150D80 0014DCE0 D0 3F 00 00 */ stfs f1, 0(r31)
lbl_80150D84:
/* 80150D84 0014DCE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80150D88 0014DCE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80150D8C 0014DCEC 7C 08 03 A6 */ mtlr r0
/* 80150D90 0014DCF0 38 21 00 10 */ addi r1, r1, 0x10
/* 80150D94 0014DCF4 4E 80 00 20 */ blr
.global sub_80150d98
sub_80150d98:
/* 80150D98 0014DCF8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80150D9C 0014DCFC 7C 08 02 A6 */ mflr r0
/* 80150DA0 0014DD00 2C 05 FF FF */ cmpwi r5, -1
/* 80150DA4 0014DD04 90 01 00 64 */ stw r0, 0x64(r1)
/* 80150DA8 0014DD08 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80150DAC 0014DD0C 41 82 00 10 */ beq lbl_80150DBC
/* 80150DB0 0014DD10 80 03 00 08 */ lwz r0, 8(r3)
/* 80150DB4 0014DD14 7C 05 00 00 */ cmpw r5, r0
/* 80150DB8 0014DD18 41 80 00 0C */ blt lbl_80150DC4
lbl_80150DBC:
/* 80150DBC 0014DD1C 83 E3 00 08 */ lwz r31, 8(r3)
/* 80150DC0 0014DD20 48 00 00 08 */ b lbl_80150DC8
lbl_80150DC4:
/* 80150DC4 0014DD24 7C BF 2B 78 */ mr r31, r5
lbl_80150DC8:
/* 80150DC8 0014DD28 38 E0 00 00 */ li r7, 0
/* 80150DCC 0014DD2C 81 04 00 08 */ lwz r8, 8(r4)
/* 80150DD0 0014DD30 80 03 00 08 */ lwz r0, 8(r3)
/* 80150DD4 0014DD34 38 A1 00 28 */ addi r5, r1, 0x28
/* 80150DD8 0014DD38 90 E1 00 0C */ stw r7, 0xc(r1)
/* 80150DDC 0014DD3C 38 C1 00 18 */ addi r6, r1, 0x18
/* 80150DE0 0014DD40 90 81 00 10 */ stw r4, 0x10(r1)
/* 80150DE4 0014DD44 91 01 00 14 */ stw r8, 0x14(r1)
/* 80150DE8 0014DD48 90 81 00 18 */ stw r4, 0x18(r1)
/* 80150DEC 0014DD4C 91 01 00 1C */ stw r8, 0x1c(r1)
/* 80150DF0 0014DD50 90 81 00 20 */ stw r4, 0x20(r1)
/* 80150DF4 0014DD54 90 81 00 28 */ stw r4, 0x28(r1)
/* 80150DF8 0014DD58 38 81 00 38 */ addi r4, r1, 0x38
/* 80150DFC 0014DD5C 90 E1 00 24 */ stw r7, 0x24(r1)
/* 80150E00 0014DD60 90 E1 00 2C */ stw r7, 0x2c(r1)
/* 80150E04 0014DD64 90 61 00 30 */ stw r3, 0x30(r1)
/* 80150E08 0014DD68 90 01 00 34 */ stw r0, 0x34(r1)
/* 80150E0C 0014DD6C 90 61 00 38 */ stw r3, 0x38(r1)
/* 80150E10 0014DD70 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80150E14 0014DD74 90 61 00 40 */ stw r3, 0x40(r1)
/* 80150E18 0014DD78 90 E1 00 44 */ stw r7, 0x44(r1)
/* 80150E1C 0014DD7C 90 61 00 08 */ stw r3, 8(r1)
/* 80150E20 0014DD80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80150E24 0014DD84 90 61 00 48 */ stw r3, 0x48(r1)
/* 80150E28 0014DD88 90 61 00 50 */ stw r3, 0x50(r1)
/* 80150E2C 0014DD8C 38 61 00 50 */ addi r3, r1, 0x50
/* 80150E30 0014DD90 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80150E34 0014DD94 93 E1 00 54 */ stw r31, 0x54(r1)
/* 80150E38 0014DD98 48 00 00 2D */ bl sub_80150e64
/* 80150E3C 0014DD9C 2C 03 FF FF */ cmpwi r3, -1
/* 80150E40 0014DDA0 7C 03 FA 14 */ add r0, r3, r31
/* 80150E44 0014DDA4 40 82 00 08 */ bne lbl_80150E4C
/* 80150E48 0014DDA8 7C 60 1B 78 */ mr r0, r3
lbl_80150E4C:
/* 80150E4C 0014DDAC 7C 03 03 78 */ mr r3, r0
/* 80150E50 0014DDB0 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80150E54 0014DDB4 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80150E58 0014DDB8 7C 08 03 A6 */ mtlr r0
/* 80150E5C 0014DDBC 38 21 00 60 */ addi r1, r1, 0x60
/* 80150E60 0014DDC0 4E 80 00 20 */ blr
.global sub_80150e64
sub_80150e64:
/* 80150E64 0014DDC4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80150E68 0014DDC8 39 00 00 00 */ li r8, 0
/* 80150E6C 0014DDCC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80150E70 0014DDD0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80150E74 0014DDD4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80150E78 0014DDD8 81 65 00 00 */ lwz r11, 0(r5)
/* 80150E7C 0014DDDC 81 86 00 00 */ lwz r12, 0(r6)
/* 80150E80 0014DDE0 7C 0B 60 40 */ cmplw r11, r12
/* 80150E84 0014DDE4 40 82 00 18 */ bne lbl_80150E9C
/* 80150E88 0014DDE8 80 E5 00 04 */ lwz r7, 4(r5)
/* 80150E8C 0014DDEC 80 06 00 04 */ lwz r0, 4(r6)
/* 80150E90 0014DDF0 7C 07 00 00 */ cmpw r7, r0
/* 80150E94 0014DDF4 40 82 00 08 */ bne lbl_80150E9C
/* 80150E98 0014DDF8 39 00 00 01 */ li r8, 1
lbl_80150E9C:
/* 80150E9C 0014DDFC 55 00 06 3F */ clrlwi. r0, r8, 0x18
/* 80150EA0 0014DE00 41 82 00 0C */ beq lbl_80150EAC
/* 80150EA4 0014DE04 38 60 00 00 */ li r3, 0
/* 80150EA8 0014DE08 48 00 00 B4 */ b lbl_80150F5C
lbl_80150EAC:
/* 80150EAC 0014DE0C 83 E3 00 04 */ lwz r31, 4(r3)
/* 80150EB0 0014DE10 3B A0 00 00 */ li r29, 0
/* 80150EB4 0014DE14 83 C5 00 04 */ lwz r30, 4(r5)
/* 80150EB8 0014DE18 80 E3 00 00 */ lwz r7, 0(r3)
/* 80150EBC 0014DE1C 7F E8 FB 78 */ mr r8, r31
/* 80150EC0 0014DE20 81 44 00 00 */ lwz r10, 0(r4)
/* 80150EC4 0014DE24 7F C9 F3 78 */ mr r9, r30
/* 80150EC8 0014DE28 48 00 00 6C */ b lbl_80150F34
lbl_80150ECC:
/* 80150ECC 0014DE2C 80 A7 00 00 */ lwz r5, 0(r7)
/* 80150ED0 0014DE30 80 6B 00 00 */ lwz r3, 0(r11)
/* 80150ED4 0014DE34 7C A5 40 AE */ lbzx r5, r5, r8
/* 80150ED8 0014DE38 7C 03 48 AE */ lbzx r0, r3, r9
/* 80150EDC 0014DE3C 7C A3 07 74 */ extsb r3, r5
/* 80150EE0 0014DE40 7C 00 07 74 */ extsb r0, r0
/* 80150EE4 0014DE44 7C 03 00 00 */ cmpw r3, r0
/* 80150EE8 0014DE48 40 82 00 40 */ bne lbl_80150F28
/* 80150EEC 0014DE4C 7C 0B 60 40 */ cmplw r11, r12
/* 80150EF0 0014DE50 38 60 00 00 */ li r3, 0
/* 80150EF4 0014DE54 39 29 00 01 */ addi r9, r9, 1
/* 80150EF8 0014DE58 3B BD 00 01 */ addi r29, r29, 1
/* 80150EFC 0014DE5C 40 82 00 14 */ bne lbl_80150F10
/* 80150F00 0014DE60 80 06 00 04 */ lwz r0, 4(r6)
/* 80150F04 0014DE64 7C 09 00 00 */ cmpw r9, r0
/* 80150F08 0014DE68 40 82 00 08 */ bne lbl_80150F10
/* 80150F0C 0014DE6C 38 60 00 01 */ li r3, 1
lbl_80150F10:
/* 80150F10 0014DE70 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80150F14 0014DE74 41 82 00 1C */ beq lbl_80150F30
/* 80150F18 0014DE78 7C 1F 40 50 */ subf r0, r31, r8
/* 80150F1C 0014DE7C 7C 7D 00 50 */ subf r3, r29, r0
/* 80150F20 0014DE80 38 63 00 01 */ addi r3, r3, 1
/* 80150F24 0014DE84 48 00 00 38 */ b lbl_80150F5C
lbl_80150F28:
/* 80150F28 0014DE88 7F C9 F3 78 */ mr r9, r30
/* 80150F2C 0014DE8C 3B A0 00 00 */ li r29, 0
lbl_80150F30:
/* 80150F30 0014DE90 39 08 00 01 */ addi r8, r8, 1
lbl_80150F34:
/* 80150F34 0014DE94 7C 07 50 40 */ cmplw r7, r10
/* 80150F38 0014DE98 38 60 00 00 */ li r3, 0
/* 80150F3C 0014DE9C 40 82 00 10 */ bne lbl_80150F4C
/* 80150F40 0014DEA0 80 04 00 04 */ lwz r0, 4(r4)
/* 80150F44 0014DEA4 7C 08 00 00 */ cmpw r8, r0
/* 80150F48 0014DEA8 41 82 00 08 */ beq lbl_80150F50
lbl_80150F4C:
/* 80150F4C 0014DEAC 38 60 00 01 */ li r3, 1
lbl_80150F50:
/* 80150F50 0014DEB0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80150F54 0014DEB4 40 82 FF 78 */ bne lbl_80150ECC
/* 80150F58 0014DEB8 38 60 FF FF */ li r3, -1
lbl_80150F5C:
/* 80150F5C 0014DEBC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80150F60 0014DEC0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80150F64 0014DEC4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80150F68 0014DEC8 38 21 00 20 */ addi r1, r1, 0x20
/* 80150F6C 0014DECC 4E 80 00 20 */ blr
.global ThinkPlayerFollowLocator__22CScriptSpecialFunctionFfR13CStateManager
ThinkPlayerFollowLocator__22CScriptSpecialFunctionFfR13CStateManager:
/* 80150F70 0014DED0 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 80150F74 0014DED4 7C 08 02 A6 */ mflr r0
/* 80150F78 0014DED8 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 80150F7C 0014DEDC 93 E1 00 CC */ stw r31, 0xcc(r1)
/* 80150F80 0014DEE0 93 C1 00 C8 */ stw r30, 0xc8(r1)
/* 80150F84 0014DEE4 7C 9E 23 78 */ mr r30, r4
/* 80150F88 0014DEE8 93 A1 00 C4 */ stw r29, 0xc4(r1)
/* 80150F8C 0014DEEC 7C 7D 1B 78 */ mr r29, r3
/* 80150F90 0014DEF0 93 81 00 C0 */ stw r28, 0xc0(r1)
/* 80150F94 0014DEF4 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 80150F98 0014DEF8 48 00 01 4C */ b lbl_801510E4
lbl_80150F9C:
/* 80150F9C 0014DEFC 80 1F 00 00 */ lwz r0, 0(r31)
/* 80150FA0 0014DF00 2C 00 00 12 */ cmpwi r0, 0x12
/* 80150FA4 0014DF04 40 82 01 3C */ bne lbl_801510E0
/* 80150FA8 0014DF08 80 1F 00 04 */ lwz r0, 4(r31)
/* 80150FAC 0014DF0C 2C 00 00 01 */ cmpwi r0, 1
/* 80150FB0 0014DF10 40 82 01 30 */ bne lbl_801510E0
/* 80150FB4 0014DF14 80 1F 00 08 */ lwz r0, 8(r31)
/* 80150FB8 0014DF18 7F C4 F3 78 */ mr r4, r30
/* 80150FBC 0014DF1C 38 61 00 18 */ addi r3, r1, 0x18
/* 80150FC0 0014DF20 38 A1 00 0C */ addi r5, r1, 0xc
/* 80150FC4 0014DF24 90 01 00 0C */ stw r0, 0xc(r1)
/* 80150FC8 0014DF28 4B EF 70 01 */ bl GetIdListForScript__13CStateManagerCF9TEditorId
/* 80150FCC 0014DF2C 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 80150FD0 0014DF30 38 60 00 00 */ li r3, 0
/* 80150FD4 0014DF34 80 01 00 20 */ lwz r0, 0x20(r1)
/* 80150FD8 0014DF38 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 80150FDC 0014DF3C 7C 05 00 40 */ cmplw r5, r0
/* 80150FE0 0014DF40 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80150FE4 0014DF44 40 82 00 10 */ bne lbl_80150FF4
/* 80150FE8 0014DF48 7C 04 00 40 */ cmplw r4, r0
/* 80150FEC 0014DF4C 40 82 00 08 */ bne lbl_80150FF4
/* 80150FF0 0014DF50 38 60 00 01 */ li r3, 1
lbl_80150FF4:
/* 80150FF4 0014DF54 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80150FF8 0014DF58 40 82 00 E8 */ bne lbl_801510E0
/* 80150FFC 0014DF5C A0 05 00 14 */ lhz r0, 0x14(r5)
/* 80151000 0014DF60 7F C3 F3 78 */ mr r3, r30
/* 80151004 0014DF64 38 81 00 08 */ addi r4, r1, 8
/* 80151008 0014DF68 B0 01 00 08 */ sth r0, 8(r1)
/* 8015100C 0014DF6C 4B EF B5 99 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80151010 0014DF70 7C 64 1B 78 */ mr r4, r3
/* 80151014 0014DF74 38 61 00 10 */ addi r3, r1, 0x10
/* 80151018 0014DF78 4B F5 EC 79 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8015101C 0014DF7C 83 83 00 04 */ lwz r28, 4(r3)
/* 80151020 0014DF80 28 1C 00 00 */ cmplwi r28, 0
/* 80151024 0014DF84 41 82 00 BC */ beq lbl_801510E0
/* 80151028 0014DF88 80 9C 00 64 */ lwz r4, 0x64(r28)
/* 8015102C 0014DF8C 38 60 00 00 */ li r3, 0
/* 80151030 0014DF90 28 04 00 00 */ cmplwi r4, 0
/* 80151034 0014DF94 41 82 00 14 */ beq lbl_80151048
/* 80151038 0014DF98 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8015103C 0014DF9C 28 00 00 00 */ cmplwi r0, 0
/* 80151040 0014DFA0 41 82 00 08 */ beq lbl_80151048
/* 80151044 0014DFA4 38 60 00 01 */ li r3, 1
lbl_80151048:
/* 80151048 0014DFA8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8015104C 0014DFAC 41 82 00 94 */ beq lbl_801510E0
/* 80151050 0014DFB0 7F 84 E3 78 */ mr r4, r28
/* 80151054 0014DFB4 38 61 00 28 */ addi r3, r1, 0x28
/* 80151058 0014DFB8 38 BD 00 EC */ addi r5, r29, 0xec
/* 8015105C 0014DFBC 4B F0 1E A5 */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80151060 0014DFC0 38 61 00 58 */ addi r3, r1, 0x58
/* 80151064 0014DFC4 38 9C 00 34 */ addi r4, r28, 0x34
/* 80151068 0014DFC8 38 A1 00 28 */ addi r5, r1, 0x28
/* 8015106C 0014DFCC 48 1C 18 E5 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 80151070 0014DFD0 38 61 00 88 */ addi r3, r1, 0x88
/* 80151074 0014DFD4 38 81 00 58 */ addi r4, r1, 0x58
/* 80151078 0014DFD8 48 1C 1A FD */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8015107C 0014DFDC 83 BE 08 4C */ lwz r29, 0x84c(r30)
/* 80151080 0014DFE0 38 81 00 88 */ addi r4, r1, 0x88
/* 80151084 0014DFE4 38 7D 00 34 */ addi r3, r29, 0x34
/* 80151088 0014DFE8 48 1C 1A B9 */ bl __as__12CTransform4fFRC12CTransform4f
/* 8015108C 0014DFEC 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 80151090 0014DFF0 38 A0 00 01 */ li r5, 1
/* 80151094 0014DFF4 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b
/* 80151098 0014DFF8 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8015109C 0014DFFC 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 801510A0 0014E000 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 801510A4 0014E004 7F A3 EB 78 */ mr r3, r29
/* 801510A8 0014E008 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 801510AC 0014E00C 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c
/* 801510B0 0014E010 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 801510B4 0014E014 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 801510B8 0014E018 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d
/* 801510BC 0014E01C 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 801510C0 0014E020 4B FC 9B E1 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f
/* 801510C4 0014E024 4B EC A4 71 */ bl Identity__10CAxisAngleFv
/* 801510C8 0014E028 7C 64 1B 78 */ mr r4, r3
/* 801510CC 0014E02C 7F A3 EB 78 */ mr r3, r29
/* 801510D0 0014E030 4B FC 9B 2D */ bl SetAngularVelocityWR__13CPhysicsActorFRC10CAxisAngle
/* 801510D4 0014E034 7F A3 EB 78 */ mr r3, r29
/* 801510D8 0014E038 4B FC A1 DD */ bl ClearForcesAndTorques__13CPhysicsActorFv
/* 801510DC 0014E03C 48 00 00 20 */ b lbl_801510FC
lbl_801510E0:
/* 801510E0 0014E040 3B FF 00 0C */ addi r31, r31, 0xc
lbl_801510E4:
/* 801510E4 0014E044 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 801510E8 0014E048 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 801510EC 0014E04C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801510F0 0014E050 7C 03 02 14 */ add r0, r3, r0
/* 801510F4 0014E054 7C 1F 00 40 */ cmplw r31, r0
/* 801510F8 0014E058 40 82 FE A4 */ bne lbl_80150F9C
lbl_801510FC:
/* 801510FC 0014E05C 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 80151100 0014E060 83 E1 00 CC */ lwz r31, 0xcc(r1)
/* 80151104 0014E064 83 C1 00 C8 */ lwz r30, 0xc8(r1)
/* 80151108 0014E068 83 A1 00 C4 */ lwz r29, 0xc4(r1)
/* 8015110C 0014E06C 83 81 00 C0 */ lwz r28, 0xc0(r1)
/* 80151110 0014E070 7C 08 03 A6 */ mtlr r0
/* 80151114 0014E074 38 21 00 D0 */ addi r1, r1, 0xd0
/* 80151118 0014E078 4E 80 00 20 */ blr
.global ThinkIntroBossRingController__22CScriptSpecialFunctionFfR13CStateManager
ThinkIntroBossRingController__22CScriptSpecialFunctionFfR13CStateManager:
/* 8015111C 0014E07C 94 21 FE 80 */ stwu r1, -0x180(r1)
/* 80151120 0014E080 7C 08 02 A6 */ mflr r0
/* 80151124 0014E084 90 01 01 84 */ stw r0, 0x184(r1)
/* 80151128 0014E088 DB E1 01 70 */ stfd f31, 0x170(r1)
/* 8015112C 0014E08C F3 E1 01 78 */ psq_st f31, 376(r1), 0, qr0
/* 80151130 0014E090 BF 41 01 58 */ stmw r26, 0x158(r1)
/* 80151134 0014E094 7C 7B 1B 78 */ mr r27, r3
/* 80151138 0014E098 FF E0 08 90 */ fmr f31, f1
/* 8015113C 0014E09C 80 03 01 A8 */ lwz r0, 0x1a8(r3)
/* 80151140 0014E0A0 7C 9C 23 78 */ mr r28, r4
/* 80151144 0014E0A4 2C 00 00 03 */ cmpwi r0, 3
/* 80151148 0014E0A8 41 82 00 BC */ beq lbl_80151204
/* 8015114C 0014E0AC 3B C0 00 00 */ li r30, 0
/* 80151150 0014E0B0 3B A0 00 00 */ li r29, 0
/* 80151154 0014E0B4 48 00 00 A4 */ b lbl_801511F8
lbl_80151158:
/* 80151158 0014E0B8 80 BB 01 A4 */ lwz r5, 0x1a4(r27)
/* 8015115C 0014E0BC 7F 83 E3 78 */ mr r3, r28
/* 80151160 0014E0C0 38 81 00 14 */ addi r4, r1, 0x14
/* 80151164 0014E0C4 7C 05 EA 2E */ lhzx r0, r5, r29
/* 80151168 0014E0C8 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8015116C 0014E0CC 4B EF B4 09 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80151170 0014E0D0 7C 64 1B 78 */ mr r4, r3
/* 80151174 0014E0D4 38 61 00 38 */ addi r3, r1, 0x38
/* 80151178 0014E0D8 4B F5 EB 19 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8015117C 0014E0DC 83 E3 00 04 */ lwz r31, 4(r3)
/* 80151180 0014E0E0 28 1F 00 00 */ cmplwi r31, 0
/* 80151184 0014E0E4 41 82 00 6C */ beq lbl_801511F0
/* 80151188 0014E0E8 38 61 01 1C */ addi r3, r1, 0x11c
/* 8015118C 0014E0EC 38 9F 00 34 */ addi r4, r31, 0x34
/* 80151190 0014E0F0 48 1C 19 E5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80151194 0014E0F4 80 9B 01 A4 */ lwz r4, 0x1a4(r27)
/* 80151198 0014E0F8 38 1D 00 04 */ addi r0, r29, 4
/* 8015119C 0014E0FC C0 22 9D DC */ lfs f1, lbl_805ABAFC@sda21(r2)
/* 801511A0 0014E100 38 61 01 1C */ addi r3, r1, 0x11c
/* 801511A4 0014E104 7C 04 04 2E */ lfsx f0, r4, r0
/* 801511A8 0014E108 38 81 00 20 */ addi r4, r1, 0x20
/* 801511AC 0014E10C EC 1F 00 32 */ fmuls f0, f31, f0
/* 801511B0 0014E110 EC 01 00 32 */ fmuls f0, f1, f0
/* 801511B4 0014E114 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801511B8 0014E118 48 1C 23 05 */ bl RotateLocalZ__12CTransform4fFRC9CRelAngle
/* 801511BC 0014E11C 38 7F 00 34 */ addi r3, r31, 0x34
/* 801511C0 0014E120 38 81 01 1C */ addi r4, r1, 0x11c
/* 801511C4 0014E124 48 1C 19 7D */ bl __as__12CTransform4fFRC12CTransform4f
/* 801511C8 0014E128 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801511CC 0014E12C 38 60 00 01 */ li r3, 1
/* 801511D0 0014E130 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 801511D4 0014E134 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 801511D8 0014E138 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801511DC 0014E13C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 801511E0 0014E140 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 801511E4 0014E144 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801511E8 0014E148 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 801511EC 0014E14C 98 1F 00 E4 */ stb r0, 0xe4(r31)
lbl_801511F0:
/* 801511F0 0014E150 3B BD 00 18 */ addi r29, r29, 0x18
/* 801511F4 0014E154 3B DE 00 01 */ addi r30, r30, 1
lbl_801511F8:
/* 801511F8 0014E158 80 1B 01 9C */ lwz r0, 0x19c(r27)
/* 801511FC 0014E15C 7C 1E 00 00 */ cmpw r30, r0
/* 80151200 0014E160 41 80 FF 58 */ blt lbl_80151158
lbl_80151204:
/* 80151204 0014E164 80 1B 01 A8 */ lwz r0, 0x1a8(r27)
/* 80151208 0014E168 2C 00 00 02 */ cmpwi r0, 2
/* 8015120C 0014E16C 41 82 04 84 */ beq lbl_80151690
/* 80151210 0014E170 40 80 00 14 */ bge lbl_80151224
/* 80151214 0014E174 2C 00 00 00 */ cmpwi r0, 0
/* 80151218 0014E178 41 82 04 78 */ beq lbl_80151690
/* 8015121C 0014E17C 40 80 01 CC */ bge lbl_801513E8
/* 80151220 0014E180 48 00 04 70 */ b lbl_80151690
lbl_80151224:
/* 80151224 0014E184 2C 00 00 04 */ cmpwi r0, 4
/* 80151228 0014E188 40 80 04 68 */ bge lbl_80151690
/* 8015122C 0014E18C C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 80151230 0014E190 3B C0 00 00 */ li r30, 0
/* 80151234 0014E194 3B A0 00 00 */ li r29, 0
/* 80151238 0014E198 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8015123C 0014E19C 48 00 01 0C */ b lbl_80151348
lbl_80151240:
/* 80151240 0014E1A0 80 BB 01 A4 */ lwz r5, 0x1a4(r27)
/* 80151244 0014E1A4 7F 83 E3 78 */ mr r3, r28
/* 80151248 0014E1A8 38 81 00 10 */ addi r4, r1, 0x10
/* 8015124C 0014E1AC 7C 05 EA 2E */ lhzx r0, r5, r29
/* 80151250 0014E1B0 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80151254 0014E1B4 4B EF B3 21 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80151258 0014E1B8 7C 64 1B 78 */ mr r4, r3
/* 8015125C 0014E1BC 38 61 00 30 */ addi r3, r1, 0x30
/* 80151260 0014E1C0 4B F5 EA 31 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80151264 0014E1C4 83 E3 00 04 */ lwz r31, 4(r3)
/* 80151268 0014E1C8 28 1F 00 00 */ cmplwi r31, 0
/* 8015126C 0014E1CC 41 82 00 D4 */ beq lbl_80151340
/* 80151270 0014E1D0 C1 5F 00 58 */ lfs f10, 0x58(r31)
/* 80151274 0014E1D4 7F E3 FB 78 */ mr r3, r31
/* 80151278 0014E1D8 C1 1F 00 48 */ lfs f8, 0x48(r31)
/* 8015127C 0014E1DC 38 81 00 A4 */ addi r4, r1, 0xa4
/* 80151280 0014E1E0 C0 02 9D E0 */ lfs f0, lbl_805ABB00@sda21(r2)
/* 80151284 0014E1E4 C0 5F 00 38 */ lfs f2, 0x38(r31)
/* 80151288 0014E1E8 EC A0 02 32 */ fmuls f5, f0, f8
/* 8015128C 0014E1EC C1 9F 00 60 */ lfs f12, 0x60(r31)
/* 80151290 0014E1F0 EC 80 02 B2 */ fmuls f4, f0, f10
/* 80151294 0014E1F4 C1 7F 00 50 */ lfs f11, 0x50(r31)
/* 80151298 0014E1F8 EC 60 00 B2 */ fmuls f3, f0, f2
/* 8015129C 0014E1FC C0 3F 00 40 */ lfs f1, 0x40(r31)
/* 801512A0 0014E200 EC FF 01 72 */ fmuls f7, f31, f5
/* 801512A4 0014E204 D0 41 00 74 */ stfs f2, 0x74(r1)
/* 801512A8 0014E208 EC DF 01 32 */ fmuls f6, f31, f4
/* 801512AC 0014E20C EC 5F 00 F2 */ fmuls f2, f31, f3
/* 801512B0 0014E210 D1 01 00 78 */ stfs f8, 0x78(r1)
/* 801512B4 0014E214 ED 2B 38 2A */ fadds f9, f11, f7
/* 801512B8 0014E218 ED 0C 30 2A */ fadds f8, f12, f6
/* 801512BC 0014E21C D1 41 00 7C */ stfs f10, 0x7c(r1)
/* 801512C0 0014E220 EC 01 10 2A */ fadds f0, f1, f2
/* 801512C4 0014E224 D0 61 00 80 */ stfs f3, 0x80(r1)
/* 801512C8 0014E228 D0 A1 00 84 */ stfs f5, 0x84(r1)
/* 801512CC 0014E22C D0 81 00 88 */ stfs f4, 0x88(r1)
/* 801512D0 0014E230 D0 41 00 8C */ stfs f2, 0x8c(r1)
/* 801512D4 0014E234 D0 E1 00 90 */ stfs f7, 0x90(r1)
/* 801512D8 0014E238 D0 C1 00 94 */ stfs f6, 0x94(r1)
/* 801512DC 0014E23C D0 21 00 98 */ stfs f1, 0x98(r1)
/* 801512E0 0014E240 D1 61 00 9C */ stfs f11, 0x9c(r1)
/* 801512E4 0014E244 D1 81 00 A0 */ stfs f12, 0xa0(r1)
/* 801512E8 0014E248 D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 801512EC 0014E24C D1 21 00 A8 */ stfs f9, 0xa8(r1)
/* 801512F0 0014E250 D1 01 00 AC */ stfs f8, 0xac(r1)
/* 801512F4 0014E254 4B F0 1B 99 */ bl SetTranslation__6CActorFRC9CVector3f
/* 801512F8 0014E258 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 801512FC 0014E25C 38 61 00 68 */ addi r3, r1, 0x68
/* 80151300 0014E260 C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 80151304 0014E264 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 80151308 0014E268 D0 01 00 68 */ stfs f0, 0x68(r1)
/* 8015130C 0014E26C D0 21 00 6C */ stfs f1, 0x6c(r1)
/* 80151310 0014E270 D0 41 00 70 */ stfs f2, 0x70(r1)
/* 80151314 0014E274 48 1C 35 A5 */ bl Magnitude__9CVector3fCFv
/* 80151318 0014E278 FC 40 08 18 */ frsp f2, f1
/* 8015131C 0014E27C C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80151320 0014E280 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 80151324 0014E284 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80151328 0014E288 40 80 00 0C */ bge lbl_80151334
/* 8015132C 0014E28C 38 61 00 1C */ addi r3, r1, 0x1c
/* 80151330 0014E290 48 00 00 08 */ b lbl_80151338
lbl_80151334:
/* 80151334 0014E294 38 61 00 24 */ addi r3, r1, 0x24
lbl_80151338:
/* 80151338 0014E298 C0 03 00 00 */ lfs f0, 0(r3)
/* 8015133C 0014E29C D0 01 00 24 */ stfs f0, 0x24(r1)
lbl_80151340:
/* 80151340 0014E2A0 3B BD 00 18 */ addi r29, r29, 0x18
/* 80151344 0014E2A4 3B DE 00 01 */ addi r30, r30, 1
lbl_80151348:
/* 80151348 0014E2A8 80 1B 01 9C */ lwz r0, 0x19c(r27)
/* 8015134C 0014E2AC 7C 1E 00 00 */ cmpw r30, r0
/* 80151350 0014E2B0 41 80 FE F0 */ blt lbl_80151240
/* 80151354 0014E2B4 7F 63 DB 78 */ mr r3, r27
/* 80151358 0014E2B8 81 9B 00 00 */ lwz r12, 0(r27)
/* 8015135C 0014E2BC 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 80151360 0014E2C0 7D 89 03 A6 */ mtctr r12
/* 80151364 0014E2C4 4E 80 04 21 */ bctrl
/* 80151368 0014E2C8 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 8015136C 0014E2CC C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 80151370 0014E2D0 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80151374 0014E2D4 41 82 03 1C */ beq lbl_80151690
/* 80151378 0014E2D8 3B C0 00 00 */ li r30, 0
/* 8015137C 0014E2DC 3B A0 00 00 */ li r29, 0
/* 80151380 0014E2E0 48 00 00 40 */ b lbl_801513C0
lbl_80151384:
/* 80151384 0014E2E4 80 BB 01 A4 */ lwz r5, 0x1a4(r27)
/* 80151388 0014E2E8 7F 83 E3 78 */ mr r3, r28
/* 8015138C 0014E2EC 38 81 00 0C */ addi r4, r1, 0xc
/* 80151390 0014E2F0 7C 05 EA 2E */ lhzx r0, r5, r29
/* 80151394 0014E2F4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 80151398 0014E2F8 4B EF B1 DD */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8015139C 0014E2FC 28 03 00 00 */ cmplwi r3, 0
/* 801513A0 0014E300 41 82 00 18 */ beq lbl_801513B8
/* 801513A4 0014E304 81 83 00 00 */ lwz r12, 0(r3)
/* 801513A8 0014E308 38 80 00 00 */ li r4, 0
/* 801513AC 0014E30C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 801513B0 0014E310 7D 89 03 A6 */ mtctr r12
/* 801513B4 0014E314 4E 80 04 21 */ bctrl
lbl_801513B8:
/* 801513B8 0014E318 3B BD 00 18 */ addi r29, r29, 0x18
/* 801513BC 0014E31C 3B DE 00 01 */ addi r30, r30, 1
lbl_801513C0:
/* 801513C0 0014E320 80 1B 01 9C */ lwz r0, 0x19c(r27)
/* 801513C4 0014E324 7C 1E 00 00 */ cmpw r30, r0
/* 801513C8 0014E328 41 80 FF BC */ blt lbl_80151384
/* 801513CC 0014E32C 7F 63 DB 78 */ mr r3, r27
/* 801513D0 0014E330 38 80 00 00 */ li r4, 0
/* 801513D4 0014E334 81 9B 00 00 */ lwz r12, 0(r27)
/* 801513D8 0014E338 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 801513DC 0014E33C 7D 89 03 A6 */ mtctr r12
/* 801513E0 0014E340 4E 80 04 21 */ bctrl
/* 801513E4 0014E344 48 00 02 AC */ b lbl_80151690
lbl_801513E8:
/* 801513E8 0014E348 88 1B 01 B8 */ lbz r0, 0x1b8(r27)
/* 801513EC 0014E34C C0 62 9D DC */ lfs f3, lbl_805ABAFC@sda21(r2)
/* 801513F0 0014E350 28 00 00 00 */ cmplwi r0, 0
/* 801513F4 0014E354 C0 3B 00 FC */ lfs f1, 0xfc(r27)
/* 801513F8 0014E358 41 82 00 0C */ beq lbl_80151404
/* 801513FC 0014E35C C0 02 9D B4 */ lfs f0, lbl_805ABAD4@sda21(r2)
/* 80151400 0014E360 48 00 00 08 */ b lbl_80151408
lbl_80151404:
/* 80151404 0014E364 C0 02 9D BC */ lfs f0, lbl_805ABADC@sda21(r2)
lbl_80151408:
/* 80151408 0014E368 EC 41 00 32 */ fmuls f2, f1, f0
/* 8015140C 0014E36C C0 22 9D 9C */ lfs f1, lbl_805ABABC@sda21(r2)
/* 80151410 0014E370 C0 02 9D B4 */ lfs f0, lbl_805ABAD4@sda21(r2)
/* 80151414 0014E374 38 61 00 40 */ addi r3, r1, 0x40
/* 80151418 0014E378 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 8015141C 0014E37C EC 5F 00 B2 */ fmuls f2, f31, f2
/* 80151420 0014E380 D0 21 00 44 */ stfs f1, 0x44(r1)
/* 80151424 0014E384 EC 23 00 B2 */ fmuls f1, f3, f2
/* 80151428 0014E388 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 8015142C 0014E38C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80151430 0014E390 48 1C 34 C9 */ bl Normalize__9CVector3fFv
/* 80151434 0014E394 38 61 00 4C */ addi r3, r1, 0x4c
/* 80151438 0014E398 38 81 00 40 */ addi r4, r1, 0x40
/* 8015143C 0014E39C 38 A1 00 18 */ addi r5, r1, 0x18
/* 80151440 0014E3A0 48 1B FE B5 */ bl AxisAngle__11CQuaternionFRC13CUnitVector3fRC9CRelAngle
/* 80151444 0014E3A4 38 61 00 5C */ addi r3, r1, 0x5c
/* 80151448 0014E3A8 38 81 00 4C */ addi r4, r1, 0x4c
/* 8015144C 0014E3AC 38 BB 01 AC */ addi r5, r27, 0x1ac
/* 80151450 0014E3B0 48 1B FE 15 */ bl Transform__11CQuaternionCFRC9CVector3f
/* 80151454 0014E3B4 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 80151458 0014E3B8 3B C0 00 01 */ li r30, 1
/* 8015145C 0014E3BC 3B A0 00 00 */ li r29, 0
/* 80151460 0014E3C0 3B E0 00 00 */ li r31, 0
/* 80151464 0014E3C4 D0 1B 01 AC */ stfs f0, 0x1ac(r27)
/* 80151468 0014E3C8 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 8015146C 0014E3CC D0 1B 01 B0 */ stfs f0, 0x1b0(r27)
/* 80151470 0014E3D0 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 80151474 0014E3D4 D0 1B 01 B4 */ stfs f0, 0x1b4(r27)
/* 80151478 0014E3D8 48 00 01 B8 */ b lbl_80151630
lbl_8015147C:
/* 8015147C 0014E3DC 80 1B 01 A4 */ lwz r0, 0x1a4(r27)
/* 80151480 0014E3E0 7C 60 FA 14 */ add r3, r0, r31
/* 80151484 0014E3E4 88 03 00 08 */ lbz r0, 8(r3)
/* 80151488 0014E3E8 28 00 00 00 */ cmplwi r0, 0
/* 8015148C 0014E3EC 40 82 01 9C */ bne lbl_80151628
/* 80151490 0014E3F0 A0 03 00 00 */ lhz r0, 0(r3)
/* 80151494 0014E3F4 7F 83 E3 78 */ mr r3, r28
/* 80151498 0014E3F8 38 81 00 08 */ addi r4, r1, 8
/* 8015149C 0014E3FC B0 01 00 08 */ sth r0, 8(r1)
/* 801514A0 0014E400 4B EF B0 D5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801514A4 0014E404 7C 64 1B 78 */ mr r4, r3
/* 801514A8 0014E408 38 61 00 28 */ addi r3, r1, 0x28
/* 801514AC 0014E40C 4B F5 E7 E5 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 801514B0 0014E410 83 43 00 04 */ lwz r26, 4(r3)
/* 801514B4 0014E414 28 1A 00 00 */ cmplwi r26, 0
/* 801514B8 0014E418 41 82 01 70 */ beq lbl_80151628
/* 801514BC 0014E41C C0 7A 00 58 */ lfs f3, 0x58(r26)
/* 801514C0 0014E420 38 61 00 B0 */ addi r3, r1, 0xb0
/* 801514C4 0014E424 C0 5A 00 48 */ lfs f2, 0x48(r26)
/* 801514C8 0014E428 C0 3A 00 38 */ lfs f1, 0x38(r26)
/* 801514CC 0014E42C C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 801514D0 0014E430 D0 61 00 B8 */ stfs f3, 0xb8(r1)
/* 801514D4 0014E434 D0 21 00 B0 */ stfs f1, 0xb0(r1)
/* 801514D8 0014E438 D0 41 00 B4 */ stfs f2, 0xb4(r1)
/* 801514DC 0014E43C D0 01 00 B8 */ stfs f0, 0xb8(r1)
/* 801514E0 0014E440 48 1C 34 19 */ bl Normalize__9CVector3fFv
/* 801514E4 0014E444 C0 21 00 B4 */ lfs f1, 0xb4(r1)
/* 801514E8 0014E448 C0 1B 01 B0 */ lfs f0, 0x1b0(r27)
/* 801514EC 0014E44C C0 41 00 B0 */ lfs f2, 0xb0(r1)
/* 801514F0 0014E450 EC 01 00 32 */ fmuls f0, f1, f0
/* 801514F4 0014E454 C0 3B 01 AC */ lfs f1, 0x1ac(r27)
/* 801514F8 0014E458 C0 81 00 B8 */ lfs f4, 0xb8(r1)
/* 801514FC 0014E45C C0 7B 01 B4 */ lfs f3, 0x1b4(r27)
/* 80151500 0014E460 EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 80151504 0014E464 C8 02 9D D0 */ lfd f0, lbl_805ABAF0@sda21(r2)
/* 80151508 0014E468 EC 24 08 FA */ fmadds f1, f4, f3, f1
/* 8015150C 0014E46C FC 40 0A 10 */ fabs f2, f1
/* 80151510 0014E470 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80151514 0014E474 40 81 00 14 */ ble lbl_80151528
/* 80151518 0014E478 C0 02 9D BC */ lfs f0, lbl_805ABADC@sda21(r2)
/* 8015151C 0014E47C C0 42 9D B4 */ lfs f2, lbl_805ABAD4@sda21(r2)
/* 80151520 0014E480 FC 01 00 AE */ fsel f0, f1, f2, f0
/* 80151524 0014E484 EC 22 00 32 */ fmuls f1, f2, f0
lbl_80151528:
/* 80151528 0014E488 80 7B 01 A4 */ lwz r3, 0x1a4(r27)
/* 8015152C 0014E48C 38 1F 00 04 */ addi r0, r31, 4
/* 80151530 0014E490 7C 03 04 2E */ lfsx f0, r3, r0
/* 80151534 0014E494 FF E0 02 10 */ fabs f31, f0
/* 80151538 0014E498 48 1C 3E 59 */ bl ArcCosineR__5CMathFf
/* 8015153C 0014E49C FC 40 F8 18 */ frsp f2, f31
/* 80151540 0014E4A0 C0 7B 00 FC */ lfs f3, 0xfc(r27)
/* 80151544 0014E4A4 C0 02 9D EC */ lfs f0, lbl_805ABB0C@sda21(r2)
/* 80151548 0014E4A8 C0 82 9D E8 */ lfs f4, lbl_805ABB08@sda21(r2)
/* 8015154C 0014E4AC EC 43 10 2A */ fadds f2, f3, f2
/* 80151550 0014E4B0 C0 62 9D E4 */ lfs f3, lbl_805ABB04@sda21(r2)
/* 80151554 0014E4B4 EC 02 00 24 */ fdivs f0, f2, f0
/* 80151558 0014E4B8 EC 04 00 32 */ fmuls f0, f4, f0
/* 8015155C 0014E4BC EC 03 00 32 */ fmuls f0, f3, f0
/* 80151560 0014E4C0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80151564 0014E4C4 4C 40 13 82 */ cror 2, 0, 2
/* 80151568 0014E4C8 40 82 00 B8 */ bne lbl_80151620
/* 8015156C 0014E4CC 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80151570 0014E4D0 3C A0 80 5A */ lis r5, lbl_805A66F4@ha
/* 80151574 0014E4D4 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 80151578 0014E4D8 38 C5 66 F4 */ addi r6, r5, lbl_805A66F4@l
/* 8015157C 0014E4DC 38 61 00 BC */ addi r3, r1, 0xbc
/* 80151580 0014E4E0 38 BB 01 AC */ addi r5, r27, 0x1ac
/* 80151584 0014E4E4 48 1C 25 8D */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 80151588 0014E4E8 38 61 00 EC */ addi r3, r1, 0xec
/* 8015158C 0014E4EC 38 81 00 BC */ addi r4, r1, 0xbc
/* 80151590 0014E4F0 48 1C 15 E5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80151594 0014E4F4 C0 5A 00 60 */ lfs f2, 0x60(r26)
/* 80151598 0014E4F8 38 7A 00 34 */ addi r3, r26, 0x34
/* 8015159C 0014E4FC C0 3A 00 50 */ lfs f1, 0x50(r26)
/* 801515A0 0014E500 38 81 00 EC */ addi r4, r1, 0xec
/* 801515A4 0014E504 C0 1A 00 40 */ lfs f0, 0x40(r26)
/* 801515A8 0014E508 D0 01 00 F8 */ stfs f0, 0xf8(r1)
/* 801515AC 0014E50C D0 21 01 08 */ stfs f1, 0x108(r1)
/* 801515B0 0014E510 D0 41 01 18 */ stfs f2, 0x118(r1)
/* 801515B4 0014E514 48 1C 15 8D */ bl __as__12CTransform4fFRC12CTransform4f
/* 801515B8 0014E518 88 1A 00 E4 */ lbz r0, 0xe4(r26)
/* 801515BC 0014E51C 38 60 00 01 */ li r3, 1
/* 801515C0 0014E520 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 801515C4 0014E524 98 1A 00 E4 */ stb r0, 0xe4(r26)
/* 801515C8 0014E528 88 1A 00 E4 */ lbz r0, 0xe4(r26)
/* 801515CC 0014E52C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 801515D0 0014E530 98 1A 00 E4 */ stb r0, 0xe4(r26)
/* 801515D4 0014E534 88 1A 00 E4 */ lbz r0, 0xe4(r26)
/* 801515D8 0014E538 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 801515DC 0014E53C 98 1A 00 E4 */ stb r0, 0xe4(r26)
/* 801515E0 0014E540 88 1B 01 B8 */ lbz r0, 0x1b8(r27)
/* 801515E4 0014E544 C0 3B 00 FC */ lfs f1, 0xfc(r27)
/* 801515E8 0014E548 28 00 00 00 */ cmplwi r0, 0
/* 801515EC 0014E54C 41 82 00 0C */ beq lbl_801515F8
/* 801515F0 0014E550 C0 02 9D B4 */ lfs f0, lbl_805ABAD4@sda21(r2)
/* 801515F4 0014E554 48 00 00 08 */ b lbl_801515FC
lbl_801515F8:
/* 801515F8 0014E558 C0 02 9D BC */ lfs f0, lbl_805ABADC@sda21(r2)
lbl_801515FC:
/* 801515FC 0014E55C EC 01 00 32 */ fmuls f0, f1, f0
/* 80151600 0014E560 80 BB 01 A4 */ lwz r5, 0x1a4(r27)
/* 80151604 0014E564 38 7F 00 04 */ addi r3, r31, 4
/* 80151608 0014E568 38 1F 00 08 */ addi r0, r31, 8
/* 8015160C 0014E56C 38 80 00 01 */ li r4, 1
/* 80151610 0014E570 7C 05 1D 2E */ stfsx f0, r5, r3
/* 80151614 0014E574 80 7B 01 A4 */ lwz r3, 0x1a4(r27)
/* 80151618 0014E578 7C 83 01 AE */ stbx r4, r3, r0
/* 8015161C 0014E57C 48 00 00 0C */ b lbl_80151628
lbl_80151620:
/* 80151620 0014E580 3B C0 00 00 */ li r30, 0
/* 80151624 0014E584 48 00 00 18 */ b lbl_8015163C
lbl_80151628:
/* 80151628 0014E588 3B FF 00 18 */ addi r31, r31, 0x18
/* 8015162C 0014E58C 3B BD 00 01 */ addi r29, r29, 1
lbl_80151630:
/* 80151630 0014E590 80 1B 01 9C */ lwz r0, 0x19c(r27)
/* 80151634 0014E594 7C 1D 00 00 */ cmpw r29, r0
/* 80151638 0014E598 41 80 FE 44 */ blt lbl_8015147C
lbl_8015163C:
/* 8015163C 0014E59C 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80151640 0014E5A0 41 82 00 50 */ beq lbl_80151690
/* 80151644 0014E5A4 7F 63 DB 78 */ mr r3, r27
/* 80151648 0014E5A8 7F 85 E3 78 */ mr r5, r28
/* 8015164C 0014E5AC 38 80 00 07 */ li r4, 7
/* 80151650 0014E5B0 38 C0 FF FF */ li r6, -1
/* 80151654 0014E5B4 4B EF FA 6D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 80151658 0014E5B8 38 00 00 02 */ li r0, 2
/* 8015165C 0014E5BC 38 A0 00 00 */ li r5, 0
/* 80151660 0014E5C0 90 1B 01 A8 */ stw r0, 0x1a8(r27)
/* 80151664 0014E5C4 7C A4 2B 78 */ mr r4, r5
/* 80151668 0014E5C8 38 C0 00 00 */ li r6, 0
/* 8015166C 0014E5CC 48 00 00 18 */ b lbl_80151684
lbl_80151670:
/* 80151670 0014E5D0 80 7B 01 A4 */ lwz r3, 0x1a4(r27)
/* 80151674 0014E5D4 38 05 00 08 */ addi r0, r5, 8
/* 80151678 0014E5D8 38 A5 00 18 */ addi r5, r5, 0x18
/* 8015167C 0014E5DC 38 C6 00 01 */ addi r6, r6, 1
/* 80151680 0014E5E0 7C 83 01 AE */ stbx r4, r3, r0
lbl_80151684:
/* 80151684 0014E5E4 80 1B 01 9C */ lwz r0, 0x19c(r27)
/* 80151688 0014E5E8 7C 06 00 00 */ cmpw r6, r0
/* 8015168C 0014E5EC 41 80 FF E4 */ blt lbl_80151670
lbl_80151690:
/* 80151690 0014E5F0 E3 E1 01 78 */ psq_l f31, 376(r1), 0, qr0
/* 80151694 0014E5F4 CB E1 01 70 */ lfd f31, 0x170(r1)
/* 80151698 0014E5F8 BB 41 01 58 */ lmw r26, 0x158(r1)
/* 8015169C 0014E5FC 80 01 01 84 */ lwz r0, 0x184(r1)
/* 801516A0 0014E600 7C 08 03 A6 */ mtlr r0
/* 801516A4 0014E604 38 21 01 80 */ addi r1, r1, 0x180
/* 801516A8 0014E608 4E 80 00 20 */ blr
.global ThinkSaveStation__22CScriptSpecialFunctionFfR13CStateManager
ThinkSaveStation__22CScriptSpecialFunctionFfR13CStateManager:
/* 801516AC 0014E60C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801516B0 0014E610 7C 08 02 A6 */ mflr r0
/* 801516B4 0014E614 90 01 00 14 */ stw r0, 0x14(r1)
/* 801516B8 0014E618 88 A3 01 E5 */ lbz r5, 0x1e5(r3)
/* 801516BC 0014E61C 54 A0 CF FF */ rlwinm. r0, r5, 0x19, 0x1f, 0x1f
/* 801516C0 0014E620 41 82 00 4C */ beq lbl_8015170C
/* 801516C4 0014E624 80 04 0F 90 */ lwz r0, 0xf90(r4)
/* 801516C8 0014E628 2C 00 00 04 */ cmpwi r0, 4
/* 801516CC 0014E62C 41 82 00 40 */ beq lbl_8015170C
/* 801516D0 0014E630 38 00 00 00 */ li r0, 0
/* 801516D4 0014E634 50 05 3E 30 */ rlwimi r5, r0, 7, 0x18, 0x18
/* 801516D8 0014E638 98 A3 01 E5 */ stb r5, 0x1e5(r3)
/* 801516DC 0014E63C 88 04 0F 94 */ lbz r0, 0xf94(r4)
/* 801516E0 0014E640 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 801516E4 0014E644 41 82 00 18 */ beq lbl_801516FC
/* 801516E8 0014E648 7C 85 23 78 */ mr r5, r4
/* 801516EC 0014E64C 38 80 00 07 */ li r4, 7
/* 801516F0 0014E650 38 C0 FF FF */ li r6, -1
/* 801516F4 0014E654 4B EF F9 CD */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 801516F8 0014E658 48 00 00 14 */ b lbl_8015170C
lbl_801516FC:
/* 801516FC 0014E65C 7C 85 23 78 */ mr r5, r4
/* 80151700 0014E660 38 80 00 09 */ li r4, 9
/* 80151704 0014E664 38 C0 FF FF */ li r6, -1
/* 80151708 0014E668 4B EF F9 B9 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
lbl_8015170C:
/* 8015170C 0014E66C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80151710 0014E670 7C 08 03 A6 */ mtlr r0
/* 80151714 0014E674 38 21 00 10 */ addi r1, r1, 0x10
/* 80151718 0014E678 4E 80 00 20 */ blr
.global RingScramble__22CScriptSpecialFunctionFR13CStateManager
RingScramble__22CScriptSpecialFunctionFR13CStateManager:
/* 8015171C 0014E67C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80151720 0014E680 7C 08 02 A6 */ mflr r0
/* 80151724 0014E684 90 01 00 34 */ stw r0, 0x34(r1)
/* 80151728 0014E688 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8015172C 0014E68C F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80151730 0014E690 BF 41 00 08 */ stmw r26, 8(r1)
/* 80151734 0014E694 7C 9B 23 78 */ mr r27, r4
/* 80151738 0014E698 7C 7A 1B 78 */ mr r26, r3
/* 8015173C 0014E69C 7F 65 DB 78 */ mr r5, r27
/* 80151740 0014E6A0 38 80 00 09 */ li r4, 9
/* 80151744 0014E6A4 38 C0 FF FF */ li r6, -1
/* 80151748 0014E6A8 4B EF F9 79 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8015174C 0014E6AC 38 00 00 00 */ li r0, 0
/* 80151750 0014E6B0 90 1A 01 A8 */ stw r0, 0x1a8(r26)
/* 80151754 0014E6B4 88 1A 01 B8 */ lbz r0, 0x1b8(r26)
/* 80151758 0014E6B8 7C 00 00 34 */ cntlzw r0, r0
/* 8015175C 0014E6BC 54 00 D9 7E */ srwi r0, r0, 5
/* 80151760 0014E6C0 98 1A 01 B8 */ stb r0, 0x1b8(r26)
/* 80151764 0014E6C4 88 1A 01 B8 */ lbz r0, 0x1b8(r26)
/* 80151768 0014E6C8 28 00 00 00 */ cmplwi r0, 0
/* 8015176C 0014E6CC 41 82 00 0C */ beq lbl_80151778
/* 80151770 0014E6D0 C3 E2 9D B4 */ lfs f31, lbl_805ABAD4@sda21(r2)
/* 80151774 0014E6D4 48 00 00 08 */ b lbl_8015177C
lbl_80151778:
/* 80151778 0014E6D8 C3 E2 9D BC */ lfs f31, lbl_805ABADC@sda21(r2)
lbl_8015177C:
/* 8015177C 0014E6DC 3B A0 00 00 */ li r29, 0
/* 80151780 0014E6E0 3B 80 00 00 */ li r28, 0
/* 80151784 0014E6E4 7F BF EB 78 */ mr r31, r29
/* 80151788 0014E6E8 48 00 00 3C */ b lbl_801517C4
lbl_8015178C:
/* 8015178C 0014E6EC 80 1A 01 A4 */ lwz r0, 0x1a4(r26)
/* 80151790 0014E6F0 80 7B 09 00 */ lwz r3, 0x900(r27)
/* 80151794 0014E6F4 C0 3A 01 00 */ lfs f1, 0x100(r26)
/* 80151798 0014E6F8 7F C0 EA 14 */ add r30, r0, r29
/* 8015179C 0014E6FC C0 5A 01 04 */ lfs f2, 0x104(r26)
/* 801517A0 0014E700 48 1C 0D A5 */ bl Range__9CRandom16Fff
/* 801517A4 0014E704 EC 1F 00 72 */ fmuls f0, f31, f1
/* 801517A8 0014E708 38 1D 00 08 */ addi r0, r29, 8
/* 801517AC 0014E70C FF E0 F8 50 */ fneg f31, f31
/* 801517B0 0014E710 3B 9C 00 01 */ addi r28, r28, 1
/* 801517B4 0014E714 3B BD 00 18 */ addi r29, r29, 0x18
/* 801517B8 0014E718 D0 1E 00 04 */ stfs f0, 4(r30)
/* 801517BC 0014E71C 80 7A 01 A4 */ lwz r3, 0x1a4(r26)
/* 801517C0 0014E720 7F E3 01 AE */ stbx r31, r3, r0
lbl_801517C4:
/* 801517C4 0014E724 80 1A 01 9C */ lwz r0, 0x19c(r26)
/* 801517C8 0014E728 7C 1C 00 00 */ cmpw r28, r0
/* 801517CC 0014E72C 41 80 FF C0 */ blt lbl_8015178C
/* 801517D0 0014E730 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 801517D4 0014E734 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 801517D8 0014E738 BB 41 00 08 */ lmw r26, 8(r1)
/* 801517DC 0014E73C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801517E0 0014E740 7C 08 03 A6 */ mtlr r0
/* 801517E4 0014E744 38 21 00 30 */ addi r1, r1, 0x30
/* 801517E8 0014E748 4E 80 00 20 */ blr
.global Accept__22CScriptSpecialFunctionFR8IVisitor
Accept__22CScriptSpecialFunctionFR8IVisitor:
/* 801517EC 0014E74C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801517F0 0014E750 7C 08 02 A6 */ mflr r0
/* 801517F4 0014E754 90 01 00 14 */ stw r0, 0x14(r1)
/* 801517F8 0014E758 7C 60 1B 78 */ mr r0, r3
/* 801517FC 0014E75C 7C 83 23 78 */ mr r3, r4
/* 80151800 0014E760 81 84 00 00 */ lwz r12, 0(r4)
/* 80151804 0014E764 7C 04 03 78 */ mr r4, r0
/* 80151808 0014E768 81 8C 00 B4 */ lwz r12, 0xb4(r12)
/* 8015180C 0014E76C 7D 89 03 A6 */ mtctr r12
/* 80151810 0014E770 4E 80 04 21 */ bctrl
/* 80151814 0014E774 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80151818 0014E778 7C 08 03 A6 */ mtlr r0
/* 8015181C 0014E77C 38 21 00 10 */ addi r1, r1, 0x10
/* 80151820 0014E780 4E 80 00 20 */ blr
.global SkipCinematic__22CScriptSpecialFunctionFR13CStateManager
SkipCinematic__22CScriptSpecialFunctionFR13CStateManager:
/* 80151824 0014E784 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80151828 0014E788 7C 08 02 A6 */ mflr r0
/* 8015182C 0014E78C 38 C0 FF FF */ li r6, -1
/* 80151830 0014E790 90 01 00 24 */ stw r0, 0x24(r1)
/* 80151834 0014E794 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80151838 0014E798 7C 9F 23 78 */ mr r31, r4
/* 8015183C 0014E79C 38 80 00 09 */ li r4, 9
/* 80151840 0014E7A0 7F E5 FB 78 */ mr r5, r31
/* 80151844 0014E7A4 4B EF F8 7D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 80151848 0014E7A8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8015184C 0014E7AC B0 01 00 08 */ sth r0, 8(r1)
/* 80151850 0014E7B0 B0 1F 0F 38 */ sth r0, 0xf38(r31)
/* 80151854 0014E7B4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80151858 0014E7B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8015185C 0014E7BC 7C 08 03 A6 */ mtlr r0
/* 80151860 0014E7C0 38 21 00 20 */ addi r1, r1, 0x20
/* 80151864 0014E7C4 4E 80 00 20 */ blr
.global ShouldSkipCinematic__22CScriptSpecialFunctionFR13CStateManager
ShouldSkipCinematic__22CScriptSpecialFunctionFR13CStateManager:
/* 80151868 0014E7C8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8015186C 0014E7CC 7C 08 02 A6 */ mflr r0
/* 80151870 0014E7D0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80151874 0014E7D4 80 A4 08 50 */ lwz r5, 0x850(r4)
/* 80151878 0014E7D8 38 81 00 10 */ addi r4, r1, 0x10
/* 8015187C 0014E7DC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80151880 0014E7E0 80 A5 00 08 */ lwz r5, 8(r5)
/* 80151884 0014E7E4 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80151888 0014E7E8 90 A1 00 08 */ stw r5, 8(r1)
/* 8015188C 0014E7EC 38 63 00 A8 */ addi r3, r3, 0xa8
/* 80151890 0014E7F0 90 01 00 0C */ stw r0, 0xc(r1)
/* 80151894 0014E7F4 90 A1 00 10 */ stw r5, 0x10(r1)
/* 80151898 0014E7F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015189C 0014E7FC 48 08 3C 8D */ bl "GetCinematicState__14CSystemOptionsFRCQ24rstl19pair<Ui,9TEditorId>"
/* 801518A0 0014E800 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801518A4 0014E804 7C 08 03 A6 */ mtlr r0
/* 801518A8 0014E808 38 21 00 20 */ addi r1, r1, 0x20
/* 801518AC 0014E80C 4E 80 00 20 */ blr
.global AcceptScriptMsg__22CScriptSpecialFunctionF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__22CScriptSpecialFunctionF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 801518B0 0014E810 94 21 FE 40 */ stwu r1, -0x1c0(r1)
/* 801518B4 0014E814 7C 08 02 A6 */ mflr r0
/* 801518B8 0014E818 90 01 01 C4 */ stw r0, 0x1c4(r1)
/* 801518BC 0014E81C DB E1 01 B0 */ stfd f31, 0x1b0(r1)
/* 801518C0 0014E820 F3 E1 01 B8 */ psq_st f31, 440(r1), 0, qr0
/* 801518C4 0014E824 DB C1 01 A0 */ stfd f30, 0x1a0(r1)
/* 801518C8 0014E828 F3 C1 01 A8 */ psq_st f30, 424(r1), 0, qr0
/* 801518CC 0014E82C DB A1 01 90 */ stfd f29, 0x190(r1)
/* 801518D0 0014E830 F3 A1 01 98 */ psq_st f29, 408(r1), 0, qr0
/* 801518D4 0014E834 BF 41 01 78 */ stmw r26, 0x178(r1)
/* 801518D8 0014E838 88 03 00 30 */ lbz r0, 0x30(r3)
/* 801518DC 0014E83C 7C 7F 1B 78 */ mr r31, r3
/* 801518E0 0014E840 7C 9C 23 78 */ mr r28, r4
/* 801518E4 0014E844 7C BB 2B 78 */ mr r27, r5
/* 801518E8 0014E848 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801518EC 0014E84C 7C DE 33 78 */ mr r30, r6
/* 801518F0 0014E850 41 82 00 E4 */ beq lbl_801519D4
/* 801518F4 0014E854 2C 1C 00 04 */ cmpwi r28, 4
/* 801518F8 0014E858 40 82 00 DC */ bne lbl_801519D4
/* 801518FC 0014E85C 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 80151900 0014E860 2C 00 00 18 */ cmpwi r0, 0x18
/* 80151904 0014E864 40 82 00 D0 */ bne lbl_801519D4
/* 80151908 0014E868 38 61 00 C4 */ addi r3, r1, 0xc4
/* 8015190C 0014E86C 38 80 00 00 */ li r4, 0
/* 80151910 0014E870 38 A0 00 00 */ li r5, 0
/* 80151914 0014E874 48 1C 2A 39 */ bl __ct__9CVector2iFii
/* 80151918 0014E878 7C 7D 1B 78 */ mr r29, r3
/* 8015191C 0014E87C 38 61 00 CC */ addi r3, r1, 0xcc
/* 80151920 0014E880 38 80 00 00 */ li r4, 0
/* 80151924 0014E884 38 A0 00 00 */ li r5, 0
/* 80151928 0014E888 48 1C 2A 25 */ bl __ct__9CVector2iFii
/* 8015192C 0014E88C 7C 65 1B 78 */ mr r5, r3
/* 80151930 0014E890 7F C3 F3 78 */ mr r3, r30
/* 80151934 0014E894 7F A6 EB 78 */ mr r6, r29
/* 80151938 0014E898 38 80 FF FF */ li r4, -1
/* 8015193C 0014E89C 4B EF 26 CD */ bl sub_80044008
/* 80151940 0014E8A0 38 7F 01 E8 */ addi r3, r31, 0x1e8
/* 80151944 0014E8A4 38 81 00 FC */ addi r4, r1, 0xfc
/* 80151948 0014E8A8 38 00 00 00 */ li r0, 0
/* 8015194C 0014E8AC 7C 03 20 40 */ cmplw r3, r4
/* 80151950 0014E8B0 98 01 01 04 */ stb r0, 0x104(r1)
/* 80151954 0014E8B4 41 82 00 54 */ beq lbl_801519A8
/* 80151958 0014E8B8 28 00 00 00 */ cmplwi r0, 0
/* 8015195C 0014E8BC 41 82 00 30 */ beq lbl_8015198C
/* 80151960 0014E8C0 88 1F 01 F0 */ lbz r0, 0x1f0(r31)
/* 80151964 0014E8C4 28 00 00 00 */ cmplwi r0, 0
/* 80151968 0014E8C8 40 82 00 1C */ bne lbl_80151984
/* 8015196C 0014E8CC 34 7F 01 E8 */ addic. r3, r31, 0x1e8
/* 80151970 0014E8D0 41 82 00 08 */ beq lbl_80151978
/* 80151974 0014E8D4 48 1E F5 35 */ bl __ct__6CTokenFRC6CToken
lbl_80151978:
/* 80151978 0014E8D8 38 00 00 01 */ li r0, 1
/* 8015197C 0014E8DC 98 1F 01 F0 */ stb r0, 0x1f0(r31)
/* 80151980 0014E8E0 48 00 00 28 */ b lbl_801519A8
lbl_80151984:
/* 80151984 0014E8E4 48 1E F3 41 */ bl __as__6CTokenFRC6CToken
/* 80151988 0014E8E8 48 00 00 20 */ b lbl_801519A8
lbl_8015198C:
/* 8015198C 0014E8EC 88 1F 01 F0 */ lbz r0, 0x1f0(r31)
/* 80151990 0014E8F0 28 00 00 00 */ cmplwi r0, 0
/* 80151994 0014E8F4 41 82 00 0C */ beq lbl_801519A0
/* 80151998 0014E8F8 38 80 FF FF */ li r4, -1
/* 8015199C 0014E8FC 48 1E F4 A5 */ bl __dt__6CTokenFv
lbl_801519A0:
/* 801519A0 0014E900 38 00 00 00 */ li r0, 0
/* 801519A4 0014E904 98 1F 01 F0 */ stb r0, 0x1f0(r31)
lbl_801519A8:
/* 801519A8 0014E908 88 01 01 04 */ lbz r0, 0x104(r1)
/* 801519AC 0014E90C 28 00 00 00 */ cmplwi r0, 0
/* 801519B0 0014E910 41 82 00 10 */ beq lbl_801519C0
/* 801519B4 0014E914 38 61 00 FC */ addi r3, r1, 0xfc
/* 801519B8 0014E918 38 80 FF FF */ li r4, -1
/* 801519BC 0014E91C 48 1E F4 85 */ bl __dt__6CTokenFv
lbl_801519C0:
/* 801519C0 0014E920 38 60 00 00 */ li r3, 0
/* 801519C4 0014E924 98 61 01 04 */ stb r3, 0x104(r1)
/* 801519C8 0014E928 88 1F 01 E5 */ lbz r0, 0x1e5(r31)
/* 801519CC 0014E92C 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 801519D0 0014E930 98 1F 01 E5 */ stb r0, 0x1e5(r31)
lbl_801519D4:
/* 801519D4 0014E934 A0 1B 00 00 */ lhz r0, 0(r27)
/* 801519D8 0014E938 7F E3 FB 78 */ mr r3, r31
/* 801519DC 0014E93C 7F 84 E3 78 */ mr r4, r28
/* 801519E0 0014E940 7F C6 F3 78 */ mr r6, r30
/* 801519E4 0014E944 B0 01 00 34 */ sth r0, 0x34(r1)
/* 801519E8 0014E948 38 A1 00 34 */ addi r5, r1, 0x34
/* 801519EC 0014E94C 4B F0 1C 29 */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 801519F0 0014E950 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 801519F4 0014E954 2C 00 00 04 */ cmpwi r0, 4
/* 801519F8 0014E958 40 82 00 1C */ bne lbl_80151A14
/* 801519FC 0014E95C 2C 1C 00 23 */ cmpwi r28, 0x23
/* 80151A00 0014E960 40 82 00 14 */ bne lbl_80151A14
/* 80151A04 0014E964 7F E3 FB 78 */ mr r3, r31
/* 80151A08 0014E968 7F C5 F3 78 */ mr r5, r30
/* 80151A0C 0014E96C 38 80 00 28 */ li r4, 0x28
/* 80151A10 0014E970 4B F0 29 41 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager
lbl_80151A14:
/* 80151A14 0014E974 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 80151A18 0014E978 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80151A1C 0014E97C 41 82 0E 84 */ beq lbl_801528A0
/* 80151A20 0014E980 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 80151A24 0014E984 28 00 00 32 */ cmplwi r0, 0x32
/* 80151A28 0014E988 41 81 0E 78 */ bgt lbl_801528A0
/* 80151A2C 0014E98C 3C 60 80 3E */ lis r3, lbl_803E2BD4@ha
/* 80151A30 0014E990 54 00 10 3A */ slwi r0, r0, 2
/* 80151A34 0014E994 38 63 2B D4 */ addi r3, r3, lbl_803E2BD4@l
/* 80151A38 0014E998 7C 03 00 2E */ lwzx r0, r3, r0
/* 80151A3C 0014E99C 7C 09 03 A6 */ mtctr r0
/* 80151A40 0014E9A0 4E 80 04 20 */ bctr
.global lbl_80151A44
lbl_80151A44:
/* 80151A44 0014E9A4 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80151A48 0014E9A8 40 82 0E 58 */ bne lbl_801528A0
/* 80151A4C 0014E9AC 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 80151A50 0014E9B0 C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 80151A54 0014E9B4 C0 42 9D 9C */ lfs f2, lbl_805ABABC@sda21(r2)
/* 80151A58 0014E9B8 C0 62 9D A4 */ lfs f3, lbl_805ABAC4@sda21(r2)
/* 80151A5C 0014E9BC 4B EC 16 11 */ bl SetHudDisable__7CPlayerFfff
/* 80151A60 0014E9C0 48 00 0E 40 */ b lbl_801528A0
.global lbl_80151A64
lbl_80151A64:
/* 80151A64 0014E9C4 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80151A68 0014E9C8 40 82 0E 38 */ bne lbl_801528A0
/* 80151A6C 0014E9CC C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 80151A70 0014E9D0 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 80151A74 0014E9D4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80151A78 0014E9D8 4C 41 13 82 */ cror 2, 1, 2
/* 80151A7C 0014E9DC 40 82 0E 24 */ bne lbl_801528A0
/* 80151A80 0014E9E0 7F C3 F3 78 */ mr r3, r30
/* 80151A84 0014E9E4 4B EF 35 F9 */ bl ResetEscapeSequenceTimer__13CStateManagerFf
/* 80151A88 0014E9E8 48 00 0E 18 */ b lbl_801528A0
.global lbl_80151A8C
lbl_80151A8C:
/* 80151A8C 0014E9EC 2C 1C 00 0F */ cmpwi r28, 0xf
/* 80151A90 0014E9F0 41 82 00 48 */ beq lbl_80151AD8
/* 80151A94 0014E9F4 40 80 00 10 */ bge lbl_80151AA4
/* 80151A98 0014E9F8 2C 1C 00 04 */ cmpwi r28, 4
/* 80151A9C 0014E9FC 41 82 00 50 */ beq lbl_80151AEC
/* 80151AA0 0014EA00 48 00 0E 00 */ b lbl_801528A0
lbl_80151AA4:
/* 80151AA4 0014EA04 2C 1C 00 14 */ cmpwi r28, 0x14
/* 80151AA8 0014EA08 41 82 00 08 */ beq lbl_80151AB0
/* 80151AAC 0014EA0C 48 00 0D F4 */ b lbl_801528A0
lbl_80151AB0:
/* 80151AB0 0014EA10 88 1F 01 E4 */ lbz r0, 0x1e4(r31)
/* 80151AB4 0014EA14 38 60 00 01 */ li r3, 1
/* 80151AB8 0014EA18 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80151ABC 0014EA1C 98 1F 01 E4 */ stb r0, 0x1e4(r31)
/* 80151AC0 0014EA20 83 7E 08 4C */ lwz r27, 0x84c(r30)
/* 80151AC4 0014EA24 4B EC 9A 71 */ bl Identity__10CAxisAngleFv
/* 80151AC8 0014EA28 7C 64 1B 78 */ mr r4, r3
/* 80151ACC 0014EA2C 7F 63 DB 78 */ mr r3, r27
/* 80151AD0 0014EA30 4B FC 91 2D */ bl SetAngularVelocityWR__13CPhysicsActorFRC10CAxisAngle
/* 80151AD4 0014EA34 48 00 0D CC */ b lbl_801528A0
lbl_80151AD8:
/* 80151AD8 0014EA38 88 1F 01 E4 */ lbz r0, 0x1e4(r31)
/* 80151ADC 0014EA3C 38 60 00 00 */ li r3, 0
/* 80151AE0 0014EA40 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80151AE4 0014EA44 98 1F 01 E4 */ stb r0, 0x1e4(r31)
/* 80151AE8 0014EA48 48 00 0D B8 */ b lbl_801528A0
lbl_80151AEC:
/* 80151AEC 0014EA4C 7F E3 FB 78 */ mr r3, r31
/* 80151AF0 0014EA50 38 9F 01 78 */ addi r4, r31, 0x178
/* 80151AF4 0014EA54 4B FF D8 B1 */ bl sub_8014f3a4
/* 80151AF8 0014EA58 48 00 0D A8 */ b lbl_801528A0
.global lbl_80151AFC
lbl_80151AFC:
/* 80151AFC 0014EA5C 2C 1C 00 07 */ cmpwi r28, 7
/* 80151B00 0014EA60 40 82 00 64 */ bne lbl_80151B64
/* 80151B04 0014EA64 C0 42 9D B4 */ lfs f2, lbl_805ABAD4@sda21(r2)
/* 80151B08 0014EA68 C0 3F 01 6C */ lfs f1, 0x16c(r31)
/* 80151B0C 0014EA6C C0 0D 8C 54 */ lfs f0, lbl_805A7814@sda21(r13)
/* 80151B10 0014EA70 EC 22 08 2A */ fadds f1, f2, f1
/* 80151B14 0014EA74 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80151B18 0014EA78 D0 21 00 64 */ stfs f1, 0x64(r1)
/* 80151B1C 0014EA7C 40 80 00 0C */ bge lbl_80151B28
/* 80151B20 0014EA80 38 6D 8C 54 */ addi r3, r13, lbl_805A7814@sda21
/* 80151B24 0014EA84 48 00 00 08 */ b lbl_80151B2C
lbl_80151B28:
/* 80151B28 0014EA88 38 61 00 64 */ addi r3, r1, 0x64
lbl_80151B2C:
/* 80151B2C 0014EA8C C0 2D 8C 58 */ lfs f1, lbl_805A7818@sda21(r13)
/* 80151B30 0014EA90 C0 03 00 00 */ lfs f0, 0(r3)
/* 80151B34 0014EA94 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80151B38 0014EA98 40 80 00 08 */ bge lbl_80151B40
/* 80151B3C 0014EA9C 48 00 00 08 */ b lbl_80151B44
lbl_80151B40:
/* 80151B40 0014EAA0 38 6D 8C 58 */ addi r3, r13, lbl_805A7818@sda21
lbl_80151B44:
/* 80151B44 0014EAA4 C0 03 00 00 */ lfs f0, 0(r3)
/* 80151B48 0014EAA8 7F E3 FB 78 */ mr r3, r31
/* 80151B4C 0014EAAC 7F C5 F3 78 */ mr r5, r30
/* 80151B50 0014EAB0 38 80 00 12 */ li r4, 0x12
/* 80151B54 0014EAB4 D0 1F 01 6C */ stfs f0, 0x16c(r31)
/* 80151B58 0014EAB8 38 C0 FF FF */ li r6, -1
/* 80151B5C 0014EABC 4B EF F5 65 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 80151B60 0014EAC0 48 00 0D 40 */ b lbl_801528A0
lbl_80151B64:
/* 80151B64 0014EAC4 2C 1C 00 0C */ cmpwi r28, 0xc
/* 80151B68 0014EAC8 40 82 00 24 */ bne lbl_80151B8C
/* 80151B6C 0014EACC C0 1F 01 04 */ lfs f0, 0x104(r31)
/* 80151B70 0014EAD0 7F E3 FB 78 */ mr r3, r31
/* 80151B74 0014EAD4 7F C5 F3 78 */ mr r5, r30
/* 80151B78 0014EAD8 38 80 00 12 */ li r4, 0x12
/* 80151B7C 0014EADC D0 1F 01 6C */ stfs f0, 0x16c(r31)
/* 80151B80 0014EAE0 38 C0 FF FF */ li r6, -1
/* 80151B84 0014EAE4 4B EF F5 3D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 80151B88 0014EAE8 48 00 0D 18 */ b lbl_801528A0
lbl_80151B8C:
/* 80151B8C 0014EAEC 2C 1C 00 0D */ cmpwi r28, 0xd
/* 80151B90 0014EAF0 40 82 0D 10 */ bne lbl_801528A0
/* 80151B94 0014EAF4 C0 22 9D F0 */ lfs f1, lbl_805ABB10@sda21(r2)
/* 80151B98 0014EAF8 C0 1F 01 04 */ lfs f0, 0x104(r31)
/* 80151B9C 0014EAFC EC 01 00 32 */ fmuls f0, f1, f0
/* 80151BA0 0014EB00 D0 1F 01 6C */ stfs f0, 0x16c(r31)
/* 80151BA4 0014EB04 48 00 0C FC */ b lbl_801528A0
.global lbl_80151BA8
lbl_80151BA8:
/* 80151BA8 0014EB08 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80151BAC 0014EB0C 40 82 0C F4 */ bne lbl_801528A0
/* 80151BB0 0014EB10 80 7E 08 C0 */ lwz r3, 0x8c0(r30)
/* 80151BB4 0014EB14 38 00 00 01 */ li r0, 1
/* 80151BB8 0014EB18 80 63 00 00 */ lwz r3, 0(r3)
/* 80151BBC 0014EB1C 98 03 00 38 */ stb r0, 0x38(r3)
/* 80151BC0 0014EB20 80 7E 08 50 */ lwz r3, 0x850(r30)
/* 80151BC4 0014EB24 4B F0 5A D9 */ bl GetMapWorld__6CWorldCFv
/* 80151BC8 0014EB28 80 9E 08 C0 */ lwz r4, 0x8c0(r30)
/* 80151BCC 0014EB2C 80 BE 08 50 */ lwz r5, 0x850(r30)
/* 80151BD0 0014EB30 80 84 00 00 */ lwz r4, 0(r4)
/* 80151BD4 0014EB34 4B F4 DC 89 */ bl RecalculateWorldSphere__9CMapWorldCFRC13CMapWorldInfoRC6IWorld
/* 80151BD8 0014EB38 7F C3 F3 78 */ mr r3, r30
/* 80151BDC 0014EB3C 38 80 00 01 */ li r4, 1
/* 80151BE0 0014EB40 4B EF 2C 81 */ bl DeferStateTransition__13CStateManagerF23EStateManagerTransition
/* 80151BE4 0014EB44 48 00 0C BC */ b lbl_801528A0
.global lbl_80151BE8
lbl_80151BE8:
/* 80151BE8 0014EB48 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80151BEC 0014EB4C 40 82 0C B4 */ bne lbl_801528A0
/* 80151BF0 0014EB50 80 7E 08 B8 */ lwz r3, 0x8b8(r30)
/* 80151BF4 0014EB54 38 80 00 04 */ li r4, 4
/* 80151BF8 0014EB58 83 63 00 00 */ lwz r27, 0(r3)
/* 80151BFC 0014EB5C 7F 63 DB 78 */ mr r3, r27
/* 80151C00 0014EB60 4B F3 FE F5 */ bl GetItemCapacity__12CPlayerStateCFQ212CPlayerState9EItemType
/* 80151C04 0014EB64 7C 65 1B 78 */ mr r5, r3
/* 80151C08 0014EB68 7F 63 DB 78 */ mr r3, r27
/* 80151C0C 0014EB6C 38 80 00 04 */ li r4, 4
/* 80151C10 0014EB70 4B F4 00 F1 */ bl ResetAndIncrPickUp__12CPlayerStateFQ212CPlayerState9EItemTypei
/* 80151C14 0014EB74 48 00 0C 8C */ b lbl_801528A0
.global lbl_80151C18
lbl_80151C18:
/* 80151C18 0014EB78 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80151C1C 0014EB7C 40 82 0C 84 */ bne lbl_801528A0
/* 80151C20 0014EB80 80 7E 08 B8 */ lwz r3, 0x8b8(r30)
/* 80151C24 0014EB84 38 80 00 07 */ li r4, 7
/* 80151C28 0014EB88 83 63 00 00 */ lwz r27, 0(r3)
/* 80151C2C 0014EB8C 7F 63 DB 78 */ mr r3, r27
/* 80151C30 0014EB90 4B F3 FE C5 */ bl GetItemCapacity__12CPlayerStateCFQ212CPlayerState9EItemType
/* 80151C34 0014EB94 7C 65 1B 78 */ mr r5, r3
/* 80151C38 0014EB98 7F 63 DB 78 */ mr r3, r27
/* 80151C3C 0014EB9C 38 80 00 07 */ li r4, 7
/* 80151C40 0014EBA0 4B F4 00 C1 */ bl ResetAndIncrPickUp__12CPlayerStateFQ212CPlayerState9EItemTypei
/* 80151C44 0014EBA4 48 00 0C 5C */ b lbl_801528A0
.global lbl_80151C48
lbl_80151C48:
/* 80151C48 0014EBA8 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80151C4C 0014EBAC 40 82 0C 54 */ bne lbl_801528A0
/* 80151C50 0014EBB0 80 ED A0 80 */ lwz r7, gpGameState@sda21(r13)
/* 80151C54 0014EBB4 38 00 00 00 */ li r0, 0
/* 80151C58 0014EBB8 80 7E 08 B8 */ lwz r3, 0x8b8(r30)
/* 80151C5C 0014EBBC 38 80 00 18 */ li r4, 0x18
/* 80151C60 0014EBC0 80 C7 02 10 */ lwz r6, 0x210(r7)
/* 80151C64 0014EBC4 38 A0 00 01 */ li r5, 1
/* 80151C68 0014EBC8 80 E7 02 14 */ lwz r7, 0x214(r7)
/* 80151C6C 0014EBCC 7C DB 02 78 */ xor r27, r6, r0
/* 80151C70 0014EBD0 80 63 00 00 */ lwz r3, 0(r3)
/* 80151C74 0014EBD4 7C E0 02 78 */ xor r0, r7, r0
/* 80151C78 0014EBD8 7C 1B DB 78 */ or r27, r0, r27
/* 80151C7C 0014EBDC 7F 7B 00 34 */ cntlzw r27, r27
/* 80151C80 0014EBE0 57 7B D9 7E */ srwi r27, r27, 5
/* 80151C84 0014EBE4 4B F3 FF 6D */ bl IncrPickUp__12CPlayerStateFQ212CPlayerState9EItemTypei
/* 80151C88 0014EBE8 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 80151C8C 0014EBEC 41 82 00 1C */ beq lbl_80151CA8
/* 80151C90 0014EBF0 7F E3 FB 78 */ mr r3, r31
/* 80151C94 0014EBF4 7F C5 F3 78 */ mr r5, r30
/* 80151C98 0014EBF8 38 80 00 02 */ li r4, 2
/* 80151C9C 0014EBFC 38 C0 FF FF */ li r6, -1
/* 80151CA0 0014EC00 4B EF F4 21 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 80151CA4 0014EC04 48 00 0B FC */ b lbl_801528A0
lbl_80151CA8:
/* 80151CA8 0014EC08 40 82 0B F8 */ bne lbl_801528A0
/* 80151CAC 0014EC0C 7F C3 F3 78 */ mr r3, r30
/* 80151CB0 0014EC10 38 80 00 04 */ li r4, 4
/* 80151CB4 0014EC14 4B EF 2B AD */ bl DeferStateTransition__13CStateManagerF23EStateManagerTransition
/* 80151CB8 0014EC18 88 1F 01 E5 */ lbz r0, 0x1e5(r31)
/* 80151CBC 0014EC1C 38 60 00 01 */ li r3, 1
/* 80151CC0 0014EC20 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80151CC4 0014EC24 98 1F 01 E5 */ stb r0, 0x1e5(r31)
/* 80151CC8 0014EC28 48 00 0B D8 */ b lbl_801528A0
.global lbl_80151CCC
lbl_80151CCC:
/* 80151CCC 0014EC2C 80 1F 01 A8 */ lwz r0, 0x1a8(r31)
/* 80151CD0 0014EC30 2C 00 00 03 */ cmpwi r0, 3
/* 80151CD4 0014EC34 41 82 0B CC */ beq lbl_801528A0
/* 80151CD8 0014EC38 2C 1C 00 14 */ cmpwi r28, 0x14
/* 80151CDC 0014EC3C 41 82 02 30 */ beq lbl_80151F0C
/* 80151CE0 0014EC40 40 80 00 1C */ bge lbl_80151CFC
/* 80151CE4 0014EC44 2C 1C 00 0D */ cmpwi r28, 0xd
/* 80151CE8 0014EC48 41 82 02 FC */ beq lbl_80151FE4
/* 80151CEC 0014EC4C 41 80 0B B4 */ blt lbl_801528A0
/* 80151CF0 0014EC50 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80151CF4 0014EC54 40 80 02 E0 */ bge lbl_80151FD4
/* 80151CF8 0014EC58 48 00 0B A8 */ b lbl_801528A0
lbl_80151CFC:
/* 80151CFC 0014EC5C 2C 1C 00 23 */ cmpwi r28, 0x23
/* 80151D00 0014EC60 41 82 00 08 */ beq lbl_80151D08
/* 80151D04 0014EC64 48 00 0B 9C */ b lbl_801528A0
lbl_80151D08:
/* 80151D08 0014EC68 38 7F 01 98 */ addi r3, r31, 0x198
/* 80151D0C 0014EC6C 38 80 00 03 */ li r4, 3
/* 80151D10 0014EC70 48 00 16 CD */ bl "reserve__Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>Fi"
/* 80151D14 0014EC74 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80151D18 0014EC78 83 9F 00 2C */ lwz r28, 0x2c(r31)
/* 80151D1C 0014EC7C 3B A3 66 A0 */ addi r29, r3, skZero3f@l
/* 80151D20 0014EC80 48 00 01 38 */ b lbl_80151E58
lbl_80151D24:
/* 80151D24 0014EC84 80 1C 00 00 */ lwz r0, 0(r28)
/* 80151D28 0014EC88 2C 00 00 12 */ cmpwi r0, 0x12
/* 80151D2C 0014EC8C 40 82 01 28 */ bne lbl_80151E54
/* 80151D30 0014EC90 80 1C 00 04 */ lwz r0, 4(r28)
/* 80151D34 0014EC94 2C 00 00 01 */ cmpwi r0, 1
/* 80151D38 0014EC98 40 82 01 1C */ bne lbl_80151E54
/* 80151D3C 0014EC9C 80 1C 00 08 */ lwz r0, 8(r28)
/* 80151D40 0014ECA0 7F C4 F3 78 */ mr r4, r30
/* 80151D44 0014ECA4 38 61 00 EC */ addi r3, r1, 0xec
/* 80151D48 0014ECA8 38 A1 00 60 */ addi r5, r1, 0x60
/* 80151D4C 0014ECAC 90 01 00 60 */ stw r0, 0x60(r1)
/* 80151D50 0014ECB0 4B EF 62 79 */ bl GetIdListForScript__13CStateManagerCF9TEditorId
/* 80151D54 0014ECB4 83 41 00 EC */ lwz r26, 0xec(r1)
/* 80151D58 0014ECB8 38 60 00 00 */ li r3, 0
/* 80151D5C 0014ECBC 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 80151D60 0014ECC0 80 81 00 F0 */ lwz r4, 0xf0(r1)
/* 80151D64 0014ECC4 7C 1A 00 40 */ cmplw r26, r0
/* 80151D68 0014ECC8 80 01 00 F8 */ lwz r0, 0xf8(r1)
/* 80151D6C 0014ECCC 40 82 00 10 */ bne lbl_80151D7C
/* 80151D70 0014ECD0 7C 04 00 40 */ cmplw r4, r0
/* 80151D74 0014ECD4 40 82 00 08 */ bne lbl_80151D7C
/* 80151D78 0014ECD8 38 60 00 01 */ li r3, 1
lbl_80151D7C:
/* 80151D7C 0014ECDC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80151D80 0014ECE0 40 82 00 D4 */ bne lbl_80151E54
/* 80151D84 0014ECE4 A0 1A 00 14 */ lhz r0, 0x14(r26)
/* 80151D88 0014ECE8 7F C3 F3 78 */ mr r3, r30
/* 80151D8C 0014ECEC 38 81 00 30 */ addi r4, r1, 0x30
/* 80151D90 0014ECF0 B0 01 00 30 */ sth r0, 0x30(r1)
/* 80151D94 0014ECF4 4B EF A7 E1 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80151D98 0014ECF8 7C 64 1B 78 */ mr r4, r3
/* 80151D9C 0014ECFC 38 61 00 BC */ addi r3, r1, 0xbc
/* 80151DA0 0014ED00 4B F5 DE F1 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80151DA4 0014ED04 83 63 00 04 */ lwz r27, 4(r3)
/* 80151DA8 0014ED08 28 1B 00 00 */ cmplwi r27, 0
/* 80151DAC 0014ED0C 41 82 00 A8 */ beq lbl_80151E54
/* 80151DB0 0014ED10 80 9F 01 9C */ lwz r4, 0x19c(r31)
/* 80151DB4 0014ED14 38 7F 01 98 */ addi r3, r31, 0x198
/* 80151DB8 0014ED18 38 84 00 01 */ addi r4, r4, 1
/* 80151DBC 0014ED1C 48 00 16 21 */ bl "reserve__Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>Fi"
/* 80151DC0 0014ED20 80 1F 01 9C */ lwz r0, 0x19c(r31)
/* 80151DC4 0014ED24 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80151DC8 0014ED28 80 BF 01 A0 */ lwz r5, 0x1a0(r31)
/* 80151DCC 0014ED2C A0 9A 00 14 */ lhz r4, 0x14(r26)
/* 80151DD0 0014ED30 7C 00 28 00 */ cmpw r0, r5
/* 80151DD4 0014ED34 C3 E3 66 A0 */ lfs f31, skZero3f@l(r3)
/* 80151DD8 0014ED38 B0 81 00 2C */ sth r4, 0x2c(r1)
/* 80151DDC 0014ED3C C3 DD 00 04 */ lfs f30, 4(r29)
/* 80151DE0 0014ED40 C3 BD 00 08 */ lfs f29, 8(r29)
/* 80151DE4 0014ED44 41 80 00 1C */ blt lbl_80151E00
/* 80151DE8 0014ED48 2C 05 00 00 */ cmpwi r5, 0
/* 80151DEC 0014ED4C 38 7F 01 98 */ addi r3, r31, 0x198
/* 80151DF0 0014ED50 38 80 00 04 */ li r4, 4
/* 80151DF4 0014ED54 41 82 00 08 */ beq lbl_80151DFC
/* 80151DF8 0014ED58 54 A4 08 3C */ slwi r4, r5, 1
lbl_80151DFC:
/* 80151DFC 0014ED5C 48 00 15 E1 */ bl "reserve__Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>Fi"
lbl_80151E00:
/* 80151E00 0014ED60 80 1F 01 9C */ lwz r0, 0x19c(r31)
/* 80151E04 0014ED64 80 7F 01 A4 */ lwz r3, 0x1a4(r31)
/* 80151E08 0014ED68 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80151E0C 0014ED6C 7C 83 02 15 */ add. r4, r3, r0
/* 80151E10 0014ED70 41 82 00 28 */ beq lbl_80151E38
/* 80151E14 0014ED74 A0 61 00 2C */ lhz r3, 0x2c(r1)
/* 80151E18 0014ED78 38 00 00 00 */ li r0, 0
/* 80151E1C 0014ED7C C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 80151E20 0014ED80 B0 64 00 00 */ sth r3, 0(r4)
/* 80151E24 0014ED84 D0 04 00 04 */ stfs f0, 4(r4)
/* 80151E28 0014ED88 98 04 00 08 */ stb r0, 8(r4)
/* 80151E2C 0014ED8C D3 E4 00 0C */ stfs f31, 0xc(r4)
/* 80151E30 0014ED90 D3 C4 00 10 */ stfs f30, 0x10(r4)
/* 80151E34 0014ED94 D3 A4 00 14 */ stfs f29, 0x14(r4)
lbl_80151E38:
/* 80151E38 0014ED98 80 DF 01 9C */ lwz r6, 0x19c(r31)
/* 80151E3C 0014ED9C 7F 63 DB 78 */ mr r3, r27
/* 80151E40 0014EDA0 7F C5 F3 78 */ mr r5, r30
/* 80151E44 0014EDA4 38 80 00 2A */ li r4, 0x2a
/* 80151E48 0014EDA8 38 06 00 01 */ addi r0, r6, 1
/* 80151E4C 0014EDAC 90 1F 01 9C */ stw r0, 0x19c(r31)
/* 80151E50 0014EDB0 4B F0 21 31 */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager
lbl_80151E54:
/* 80151E54 0014EDB4 3B 9C 00 0C */ addi r28, r28, 0xc
lbl_80151E58:
/* 80151E58 0014EDB8 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80151E5C 0014EDBC 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80151E60 0014EDC0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80151E64 0014EDC4 7C 03 02 14 */ add r0, r3, r0
/* 80151E68 0014EDC8 7C 1C 00 40 */ cmplw r28, r0
/* 80151E6C 0014EDCC 40 82 FE B8 */ bne lbl_80151D24
/* 80151E70 0014EDD0 93 C1 00 4C */ stw r30, 0x4c(r1)
/* 80151E74 0014EDD4 38 61 00 5C */ addi r3, r1, 0x5c
/* 80151E78 0014EDD8 38 81 00 54 */ addi r4, r1, 0x54
/* 80151E7C 0014EDDC 38 A1 00 4C */ addi r5, r1, 0x4c
/* 80151E80 0014EDE0 80 1F 01 9C */ lwz r0, 0x19c(r31)
/* 80151E84 0014EDE4 80 DF 01 A4 */ lwz r6, 0x1a4(r31)
/* 80151E88 0014EDE8 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80151E8C 0014EDEC 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80151E90 0014EDF0 7C C6 02 14 */ add r6, r6, r0
/* 80151E94 0014EDF4 90 C1 00 54 */ stw r6, 0x54(r1)
/* 80151E98 0014EDF8 80 1F 01 A4 */ lwz r0, 0x1a4(r31)
/* 80151E9C 0014EDFC 90 C1 00 50 */ stw r6, 0x50(r1)
/* 80151EA0 0014EE00 90 01 00 58 */ stw r0, 0x58(r1)
/* 80151EA4 0014EE04 90 01 00 5C */ stw r0, 0x5c(r1)
/* 80151EA8 0014EE08 48 00 11 B5 */ bl "sort<Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q236@unnamed@CScriptSpecialFunction_cpp@11CRingSorter>__4rstlFQ24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController"
/* 80151EAC 0014EE0C 38 C0 00 00 */ li r6, 0
/* 80151EB0 0014EE10 38 E0 00 00 */ li r7, 0
/* 80151EB4 0014EE14 7C C4 33 78 */ mr r4, r6
/* 80151EB8 0014EE18 48 00 00 44 */ b lbl_80151EFC
lbl_80151EBC:
/* 80151EBC 0014EE1C 88 1F 01 B8 */ lbz r0, 0x1b8(r31)
/* 80151EC0 0014EE20 C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 80151EC4 0014EE24 28 00 00 00 */ cmplwi r0, 0
/* 80151EC8 0014EE28 41 82 00 0C */ beq lbl_80151ED4
/* 80151ECC 0014EE2C C0 02 9D B4 */ lfs f0, lbl_805ABAD4@sda21(r2)
/* 80151ED0 0014EE30 48 00 00 08 */ b lbl_80151ED8
lbl_80151ED4:
/* 80151ED4 0014EE34 C0 02 9D BC */ lfs f0, lbl_805ABADC@sda21(r2)
lbl_80151ED8:
/* 80151ED8 0014EE38 EC 01 00 32 */ fmuls f0, f1, f0
/* 80151EDC 0014EE3C 80 BF 01 A4 */ lwz r5, 0x1a4(r31)
/* 80151EE0 0014EE40 38 66 00 04 */ addi r3, r6, 4
/* 80151EE4 0014EE44 38 06 00 08 */ addi r0, r6, 8
/* 80151EE8 0014EE48 38 C6 00 18 */ addi r6, r6, 0x18
/* 80151EEC 0014EE4C 38 E7 00 01 */ addi r7, r7, 1
/* 80151EF0 0014EE50 7C 05 1D 2E */ stfsx f0, r5, r3
/* 80151EF4 0014EE54 80 7F 01 A4 */ lwz r3, 0x1a4(r31)
/* 80151EF8 0014EE58 7C 83 01 AE */ stbx r4, r3, r0
lbl_80151EFC:
/* 80151EFC 0014EE5C 80 1F 01 9C */ lwz r0, 0x19c(r31)
/* 80151F00 0014EE60 7C 07 00 00 */ cmpw r7, r0
/* 80151F04 0014EE64 41 80 FF B8 */ blt lbl_80151EBC
/* 80151F08 0014EE68 48 00 09 98 */ b lbl_801528A0
lbl_80151F0C:
/* 80151F0C 0014EE6C 2C 00 00 00 */ cmpwi r0, 0
/* 80151F10 0014EE70 41 82 00 10 */ beq lbl_80151F20
/* 80151F14 0014EE74 7F E3 FB 78 */ mr r3, r31
/* 80151F18 0014EE78 7F C4 F3 78 */ mr r4, r30
/* 80151F1C 0014EE7C 4B FF F8 01 */ bl RingScramble__22CScriptSpecialFunctionFR13CStateManager
lbl_80151F20:
/* 80151F20 0014EE80 3C 60 80 5A */ lis r3, lbl_805A6724@ha
/* 80151F24 0014EE84 3B 40 00 00 */ li r26, 0
/* 80151F28 0014EE88 3B 63 67 24 */ addi r27, r3, lbl_805A6724@l
/* 80151F2C 0014EE8C 3B 80 00 00 */ li r28, 0
/* 80151F30 0014EE90 48 00 00 8C */ b lbl_80151FBC
lbl_80151F34:
/* 80151F34 0014EE94 80 BF 01 A4 */ lwz r5, 0x1a4(r31)
/* 80151F38 0014EE98 7F C3 F3 78 */ mr r3, r30
/* 80151F3C 0014EE9C 38 81 00 28 */ addi r4, r1, 0x28
/* 80151F40 0014EEA0 7C 05 E2 2E */ lhzx r0, r5, r28
/* 80151F44 0014EEA4 B0 01 00 28 */ sth r0, 0x28(r1)
/* 80151F48 0014EEA8 4B EF A6 2D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80151F4C 0014EEAC 7C 64 1B 78 */ mr r4, r3
/* 80151F50 0014EEB0 38 61 00 B4 */ addi r3, r1, 0xb4
/* 80151F54 0014EEB4 4B F5 DD 3D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80151F58 0014EEB8 80 83 00 04 */ lwz r4, 4(r3)
/* 80151F5C 0014EEBC 28 04 00 00 */ cmplwi r4, 0
/* 80151F60 0014EEC0 41 82 00 2C */ beq lbl_80151F8C
/* 80151F64 0014EEC4 80 1F 01 A4 */ lwz r0, 0x1a4(r31)
/* 80151F68 0014EEC8 38 7C 00 0C */ addi r3, r28, 0xc
/* 80151F6C 0014EECC C0 44 00 58 */ lfs f2, 0x58(r4)
/* 80151F70 0014EED0 C0 24 00 48 */ lfs f1, 0x48(r4)
/* 80151F74 0014EED4 7C 60 1A 14 */ add r3, r0, r3
/* 80151F78 0014EED8 C0 04 00 38 */ lfs f0, 0x38(r4)
/* 80151F7C 0014EEDC D0 03 00 00 */ stfs f0, 0(r3)
/* 80151F80 0014EEE0 D0 23 00 04 */ stfs f1, 4(r3)
/* 80151F84 0014EEE4 D0 43 00 08 */ stfs f2, 8(r3)
/* 80151F88 0014EEE8 48 00 00 2C */ b lbl_80151FB4
lbl_80151F8C:
/* 80151F8C 0014EEEC 3C 60 80 5A */ lis r3, lbl_805A6724@ha
/* 80151F90 0014EEF0 80 1F 01 A4 */ lwz r0, 0x1a4(r31)
/* 80151F94 0014EEF4 38 9C 00 0C */ addi r4, r28, 0xc
/* 80151F98 0014EEF8 C0 03 67 24 */ lfs f0, lbl_805A6724@l(r3)
/* 80151F9C 0014EEFC 7C 80 22 14 */ add r4, r0, r4
/* 80151FA0 0014EF00 D0 04 00 00 */ stfs f0, 0(r4)
/* 80151FA4 0014EF04 C0 1B 00 04 */ lfs f0, 4(r27)
/* 80151FA8 0014EF08 D0 04 00 04 */ stfs f0, 4(r4)
/* 80151FAC 0014EF0C C0 1B 00 08 */ lfs f0, 8(r27)
/* 80151FB0 0014EF10 D0 04 00 08 */ stfs f0, 8(r4)
lbl_80151FB4:
/* 80151FB4 0014EF14 3B 9C 00 18 */ addi r28, r28, 0x18
/* 80151FB8 0014EF18 3B 5A 00 01 */ addi r26, r26, 1
lbl_80151FBC:
/* 80151FBC 0014EF1C 80 1F 01 9C */ lwz r0, 0x19c(r31)
/* 80151FC0 0014EF20 7C 1A 00 00 */ cmpw r26, r0
/* 80151FC4 0014EF24 41 80 FF 70 */ blt lbl_80151F34
/* 80151FC8 0014EF28 38 00 00 03 */ li r0, 3
/* 80151FCC 0014EF2C 90 1F 01 A8 */ stw r0, 0x1a8(r31)
/* 80151FD0 0014EF30 48 00 08 D0 */ b lbl_801528A0
lbl_80151FD4:
/* 80151FD4 0014EF34 7F E3 FB 78 */ mr r3, r31
/* 80151FD8 0014EF38 7F C4 F3 78 */ mr r4, r30
/* 80151FDC 0014EF3C 4B FF F7 41 */ bl RingScramble__22CScriptSpecialFunctionFR13CStateManager
/* 80151FE0 0014EF40 48 00 08 C0 */ b lbl_801528A0
lbl_80151FE4:
/* 80151FE4 0014EF44 38 00 00 01 */ li r0, 1
/* 80151FE8 0014EF48 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 80151FEC 0014EF4C 90 1F 01 A8 */ stw r0, 0x1a8(r31)
/* 80151FF0 0014EF50 38 7F 01 AC */ addi r3, r31, 0x1ac
/* 80151FF4 0014EF54 80 9E 08 4C */ lwz r4, 0x84c(r30)
/* 80151FF8 0014EF58 C0 5F 00 40 */ lfs f2, 0x40(r31)
/* 80151FFC 0014EF5C C0 24 00 40 */ lfs f1, 0x40(r4)
/* 80152000 0014EF60 C0 BF 00 50 */ lfs f5, 0x50(r31)
/* 80152004 0014EF64 C0 84 00 50 */ lfs f4, 0x50(r4)
/* 80152008 0014EF68 EC 22 08 28 */ fsubs f1, f2, f1
/* 8015200C 0014EF6C C0 7F 00 60 */ lfs f3, 0x60(r31)
/* 80152010 0014EF70 C0 44 00 60 */ lfs f2, 0x60(r4)
/* 80152014 0014EF74 EC 85 20 28 */ fsubs f4, f5, f4
/* 80152018 0014EF78 D0 3F 01 AC */ stfs f1, 0x1ac(r31)
/* 8015201C 0014EF7C EC 23 10 28 */ fsubs f1, f3, f2
/* 80152020 0014EF80 D0 9F 01 B0 */ stfs f4, 0x1b0(r31)
/* 80152024 0014EF84 D0 3F 01 B4 */ stfs f1, 0x1b4(r31)
/* 80152028 0014EF88 D0 1F 01 B4 */ stfs f0, 0x1b4(r31)
/* 8015202C 0014EF8C 48 1C 28 CD */ bl Normalize__9CVector3fFv
/* 80152030 0014EF90 48 00 08 70 */ b lbl_801528A0
.global lbl_80152034
lbl_80152034:
/* 80152034 0014EF94 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80152038 0014EF98 40 82 08 68 */ bne lbl_801528A0
/* 8015203C 0014EF9C 80 1F 01 1C */ lwz r0, 0x11c(r31)
/* 80152040 0014EFA0 38 60 00 00 */ li r3, 0
/* 80152044 0014EFA4 80 AD 8C 4C */ lwz r5, lbl_805A780C@sda21(r13)
/* 80152048 0014EFA8 38 80 00 01 */ li r4, 1
/* 8015204C 0014EFAC 90 01 01 30 */ stw r0, 0x130(r1)
/* 80152050 0014EFB0 88 1F 01 20 */ lbz r0, 0x120(r31)
/* 80152054 0014EFB4 98 01 01 34 */ stb r0, 0x134(r1)
/* 80152058 0014EFB8 C0 1F 01 24 */ lfs f0, 0x124(r31)
/* 8015205C 0014EFBC D0 01 01 38 */ stfs f0, 0x138(r1)
/* 80152060 0014EFC0 C0 1F 01 28 */ lfs f0, 0x128(r31)
/* 80152064 0014EFC4 D0 01 01 3C */ stfs f0, 0x13c(r1)
/* 80152068 0014EFC8 C0 1F 01 2C */ lfs f0, 0x12c(r31)
/* 8015206C 0014EFCC D0 01 01 40 */ stfs f0, 0x140(r1)
/* 80152070 0014EFD0 C0 1F 01 30 */ lfs f0, 0x130(r31)
/* 80152074 0014EFD4 D0 01 01 44 */ stfs f0, 0x144(r1)
/* 80152078 0014EFD8 88 1F 01 34 */ lbz r0, 0x134(r31)
/* 8015207C 0014EFDC 98 01 01 48 */ stb r0, 0x148(r1)
/* 80152080 0014EFE0 C0 1F 00 FC */ lfs f0, 0xfc(r31)
/* 80152084 0014EFE4 D0 01 01 40 */ stfs f0, 0x140(r1)
/* 80152088 0014EFE8 48 23 7E 6D */ bl __shl2i
/* 8015208C 0014EFEC 39 20 00 00 */ li r9, 0
/* 80152090 0014EFF0 38 00 00 03 */ li r0, 3
/* 80152094 0014EFF4 90 81 01 1C */ stw r4, 0x11c(r1)
/* 80152098 0014EFF8 7F E5 FB 78 */ mr r5, r31
/* 8015209C 0014EFFC 38 81 00 24 */ addi r4, r1, 0x24
/* 801520A0 0014F000 38 C1 00 E0 */ addi r6, r1, 0xe0
/* 801520A4 0014F004 90 61 01 18 */ stw r3, 0x118(r1)
/* 801520A8 0014F008 7F C3 F3 78 */ mr r3, r30
/* 801520AC 0014F00C 38 E1 01 30 */ addi r7, r1, 0x130
/* 801520B0 0014F010 39 01 01 18 */ addi r8, r1, 0x118
/* 801520B4 0014F014 91 21 01 24 */ stw r9, 0x124(r1)
/* 801520B8 0014F018 91 21 01 20 */ stw r9, 0x120(r1)
/* 801520BC 0014F01C 90 01 01 28 */ stw r0, 0x128(r1)
/* 801520C0 0014F020 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 801520C4 0014F024 C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 801520C8 0014F028 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 801520CC 0014F02C D0 01 00 E0 */ stfs f0, 0xe0(r1)
/* 801520D0 0014F030 D0 21 00 E4 */ stfs f1, 0xe4(r1)
/* 801520D4 0014F034 D0 41 00 E8 */ stfs f2, 0xe8(r1)
/* 801520D8 0014F038 A0 1F 00 08 */ lhz r0, 8(r31)
/* 801520DC 0014F03C B0 01 00 20 */ sth r0, 0x20(r1)
/* 801520E0 0014F040 B0 01 00 24 */ sth r0, 0x24(r1)
/* 801520E4 0014F044 4B EF 6B C9 */ bl ApplyDamageToWorld__13CStateManagerF9TUniqueIdRC6CActorRC9CVector3fRC11CDamageInfoRC15CMaterialFilter
/* 801520E8 0014F048 48 00 07 B8 */ b lbl_801528A0
.global lbl_801520EC
lbl_801520EC:
/* 801520EC 0014F04C 2C 1C 00 07 */ cmpwi r28, 7
/* 801520F0 0014F050 40 82 00 34 */ bne lbl_80152124
/* 801520F4 0014F054 C0 1F 01 00 */ lfs f0, 0x100(r31)
/* 801520F8 0014F058 7F C3 F3 78 */ mr r3, r30
/* 801520FC 0014F05C A0 1B 00 00 */ lhz r0, 0(r27)
/* 80152100 0014F060 38 81 00 1C */ addi r4, r1, 0x1c
/* 80152104 0014F064 FC 00 00 1E */ fctiwz f0, f0
/* 80152108 0014F068 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8015210C 0014F06C D8 01 01 50 */ stfd f0, 0x150(r1)
/* 80152110 0014F070 C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 80152114 0014F074 80 A1 01 54 */ lwz r5, 0x154(r1)
/* 80152118 0014F078 38 A5 00 56 */ addi r5, r5, 0x56
/* 8015211C 0014F07C 4B EF 1E 29 */ bl SetBossParams__13CStateManagerF9TUniqueIdfUi
/* 80152120 0014F080 48 00 07 80 */ b lbl_801528A0
lbl_80152124:
/* 80152124 0014F084 2C 1C 00 05 */ cmpwi r28, 5
/* 80152128 0014F088 40 82 07 78 */ bne lbl_801528A0
/* 8015212C 0014F08C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80152130 0014F090 7F C3 F3 78 */ mr r3, r30
/* 80152134 0014F094 C0 22 9D 9C */ lfs f1, lbl_805ABABC@sda21(r2)
/* 80152138 0014F098 38 81 00 18 */ addi r4, r1, 0x18
/* 8015213C 0014F09C B0 01 00 18 */ sth r0, 0x18(r1)
/* 80152140 0014F0A0 38 A0 00 00 */ li r5, 0
/* 80152144 0014F0A4 4B EF 1E 01 */ bl SetBossParams__13CStateManagerF9TUniqueIdfUi
/* 80152148 0014F0A8 48 00 07 58 */ b lbl_801528A0
.global lbl_8015214C
lbl_8015214C:
/* 8015214C 0014F0AC 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80152150 0014F0B0 40 82 07 50 */ bne lbl_801528A0
/* 80152154 0014F0B4 7F E3 FB 78 */ mr r3, r31
/* 80152158 0014F0B8 7F C4 F3 78 */ mr r4, r30
/* 8015215C 0014F0BC 4B FF D1 D9 */ bl GetSpecialEnding__22CScriptSpecialFunctionCFv
/* 80152160 0014F0C0 2C 03 00 01 */ cmpwi r3, 1
/* 80152164 0014F0C4 41 82 00 30 */ beq lbl_80152194
/* 80152168 0014F0C8 40 80 00 10 */ bge lbl_80152178
/* 8015216C 0014F0CC 2C 03 00 00 */ cmpwi r3, 0
/* 80152170 0014F0D0 40 80 00 14 */ bge lbl_80152184
/* 80152174 0014F0D4 48 00 00 3C */ b lbl_801521B0
lbl_80152178:
/* 80152178 0014F0D8 2C 03 00 03 */ cmpwi r3, 3
/* 8015217C 0014F0DC 40 80 00 34 */ bge lbl_801521B0
/* 80152180 0014F0E0 48 00 00 24 */ b lbl_801521A4
lbl_80152184:
/* 80152184 0014F0E4 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 80152188 0014F0E8 38 00 00 01 */ li r0, 1
/* 8015218C 0014F0EC 90 03 01 2C */ stw r0, 0x12c(r3)
/* 80152190 0014F0F0 48 00 00 20 */ b lbl_801521B0
lbl_80152194:
/* 80152194 0014F0F4 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 80152198 0014F0F8 38 00 00 02 */ li r0, 2
/* 8015219C 0014F0FC 90 03 01 2C */ stw r0, 0x12c(r3)
/* 801521A0 0014F100 48 00 00 10 */ b lbl_801521B0
lbl_801521A4:
/* 801521A4 0014F104 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 801521A8 0014F108 38 00 00 03 */ li r0, 3
/* 801521AC 0014F10C 90 03 01 2C */ stw r0, 0x12c(r3)
lbl_801521B0:
/* 801521B0 0014F110 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 801521B4 0014F114 38 60 00 01 */ li r3, 1
/* 801521B8 0014F118 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801521BC 0014F11C 98 1E 0F 94 */ stb r0, 0xf94(r30)
/* 801521C0 0014F120 48 00 06 E0 */ b lbl_801528A0
.global lbl_801521C4
lbl_801521C4:
/* 801521C4 0014F124 2C 1C 00 07 */ cmpwi r28, 7
/* 801521C8 0014F128 40 82 00 2C */ bne lbl_801521F4
/* 801521CC 0014F12C 7F E3 FB 78 */ mr r3, r31
/* 801521D0 0014F130 7F C4 F3 78 */ mr r4, r30
/* 801521D4 0014F134 4B FF F6 95 */ bl ShouldSkipCinematic__22CScriptSpecialFunctionFR13CStateManager
/* 801521D8 0014F138 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801521DC 0014F13C 41 82 06 C4 */ beq lbl_801528A0
/* 801521E0 0014F140 A0 1F 00 08 */ lhz r0, 8(r31)
/* 801521E4 0014F144 B0 01 00 10 */ sth r0, 0x10(r1)
/* 801521E8 0014F148 B0 01 00 14 */ sth r0, 0x14(r1)
/* 801521EC 0014F14C B0 1E 0F 38 */ sth r0, 0xf38(r30)
/* 801521F0 0014F150 48 00 06 B0 */ b lbl_801528A0
lbl_801521F4:
/* 801521F4 0014F154 2C 1C 00 05 */ cmpwi r28, 5
/* 801521F8 0014F158 40 82 06 A8 */ bne lbl_801528A0
/* 801521FC 0014F15C A0 ED A3 8C */ lhz r7, kInvalidUniqueId@sda21(r13)
/* 80152200 0014F160 38 81 00 AC */ addi r4, r1, 0xac
/* 80152204 0014F164 38 A0 00 01 */ li r5, 1
/* 80152208 0014F168 B0 FE 0F 38 */ sth r7, 0xf38(r30)
/* 8015220C 0014F16C 80 7E 08 50 */ lwz r3, 0x850(r30)
/* 80152210 0014F170 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 80152214 0014F174 80 C3 00 08 */ lwz r6, 8(r3)
/* 80152218 0014F178 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8015221C 0014F17C B0 E1 00 0C */ sth r7, 0xc(r1)
/* 80152220 0014F180 38 63 00 A8 */ addi r3, r3, 0xa8
/* 80152224 0014F184 90 C1 00 A4 */ stw r6, 0xa4(r1)
/* 80152228 0014F188 90 01 00 A8 */ stw r0, 0xa8(r1)
/* 8015222C 0014F18C 90 C1 00 AC */ stw r6, 0xac(r1)
/* 80152230 0014F190 90 01 00 B0 */ stw r0, 0xb0(r1)
/* 80152234 0014F194 48 08 30 DD */ bl SetCinematicState__14CSystemOptionsFUi9TEditorIdb
/* 80152238 0014F198 48 00 06 68 */ b lbl_801528A0
.global lbl_8015223C
lbl_8015223C:
/* 8015223C 0014F19C 2C 1C 00 06 */ cmpwi r28, 6
/* 80152240 0014F1A0 41 82 00 E4 */ beq lbl_80152324
/* 80152244 0014F1A4 40 80 00 10 */ bge lbl_80152254
/* 80152248 0014F1A8 2C 1C 00 05 */ cmpwi r28, 5
/* 8015224C 0014F1AC 40 80 00 10 */ bge lbl_8015225C
/* 80152250 0014F1B0 48 00 00 D4 */ b lbl_80152324
lbl_80152254:
/* 80152254 0014F1B4 2C 1C 00 08 */ cmpwi r28, 8
/* 80152258 0014F1B8 40 80 00 CC */ bge lbl_80152324
lbl_8015225C:
/* 8015225C 0014F1BC 80 BF 01 BC */ lwz r5, 0x1bc(r31)
/* 80152260 0014F1C0 3C 05 00 01 */ addis r0, r5, 1
/* 80152264 0014F1C4 28 00 FF FF */ cmplwi r0, 0xffff
/* 80152268 0014F1C8 41 82 00 BC */ beq lbl_80152324
/* 8015226C 0014F1CC 80 7F 01 C0 */ lwz r3, 0x1c0(r31)
/* 80152270 0014F1D0 3C 03 00 01 */ addis r0, r3, 1
/* 80152274 0014F1D4 28 00 FF FF */ cmplwi r0, 0xffff
/* 80152278 0014F1D8 41 82 00 AC */ beq lbl_80152324
/* 8015227C 0014F1DC 20 1C 00 07 */ subfic r0, r28, 7
/* 80152280 0014F1E0 80 9E 08 50 */ lwz r4, 0x850(r30)
/* 80152284 0014F1E4 7C 00 00 34 */ cntlzw r0, r0
/* 80152288 0014F1E8 38 61 00 44 */ addi r3, r1, 0x44
/* 8015228C 0014F1EC 54 1A D9 7E */ srwi r26, r0, 5
/* 80152290 0014F1F0 4B F0 3D D1 */ bl sub_80056060
/* 80152294 0014F1F4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80152298 0014F1F8 3B A0 00 00 */ li r29, 0
/* 8015229C 0014F1FC 2C 00 FF FF */ cmpwi r0, -1
/* 801522A0 0014F200 90 01 00 68 */ stw r0, 0x68(r1)
/* 801522A4 0014F204 41 82 00 10 */ beq lbl_801522B4
/* 801522A8 0014F208 80 7E 08 C8 */ lwz r3, 0x8c8(r30)
/* 801522AC 0014F20C 83 A3 00 00 */ lwz r29, 0(r3)
/* 801522B0 0014F210 48 00 00 40 */ b lbl_801522F0
lbl_801522B4:
/* 801522B4 0014F214 80 8D A0 84 */ lwz r4, gpMemoryCard@sda21(r13)
/* 801522B8 0014F218 38 61 00 9C */ addi r3, r1, 0x9c
/* 801522BC 0014F21C 80 BF 01 BC */ lwz r5, 0x1bc(r31)
/* 801522C0 0014F220 48 0F 6B 1D */ bl sub_80248ddc
/* 801522C4 0014F224 80 81 00 9C */ lwz r4, 0x9c(r1)
/* 801522C8 0014F228 83 61 00 A0 */ lwz r27, 0xa0(r1)
/* 801522CC 0014F22C 3C 04 00 01 */ addis r0, r4, 1
/* 801522D0 0014F230 28 00 FF FF */ cmplwi r0, 0xffff
/* 801522D4 0014F234 41 82 00 1C */ beq lbl_801522F0
/* 801522D8 0014F238 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 801522DC 0014F23C 48 08 16 FD */ bl StateForWorld__10CGameStateFUi
/* 801522E0 0014F240 48 08 2A 55 */ bl GetLayerState__11CWorldStateFv
/* 801522E4 0014F244 80 63 00 00 */ lwz r3, 0(r3)
/* 801522E8 0014F248 93 61 00 68 */ stw r27, 0x68(r1)
/* 801522EC 0014F24C 83 A3 00 00 */ lwz r29, 0(r3)
lbl_801522F0:
/* 801522F0 0014F250 80 01 00 68 */ lwz r0, 0x68(r1)
/* 801522F4 0014F254 2C 00 FF FF */ cmpwi r0, -1
/* 801522F8 0014F258 41 82 00 2C */ beq lbl_80152324
/* 801522FC 0014F25C 80 FF 01 C0 */ lwz r7, 0x1c0(r31)
/* 80152300 0014F260 7F A3 EB 78 */ mr r3, r29
/* 80152304 0014F264 80 01 00 68 */ lwz r0, 0x68(r1)
/* 80152308 0014F268 7F 46 D3 78 */ mr r6, r26
/* 8015230C 0014F26C 90 E1 00 38 */ stw r7, 0x38(r1)
/* 80152310 0014F270 38 81 00 40 */ addi r4, r1, 0x40
/* 80152314 0014F274 38 A1 00 3C */ addi r5, r1, 0x3c
/* 80152318 0014F278 90 E1 00 3C */ stw r7, 0x3c(r1)
/* 8015231C 0014F27C 90 01 00 40 */ stw r0, 0x40(r1)
/* 80152320 0014F280 48 0E 1F A1 */ bl SetLayerActive__16CWorldLayerStateFiib
.global lbl_80152324
lbl_80152324:
/* 80152324 0014F284 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80152328 0014F288 40 82 05 78 */ bne lbl_801528A0
/* 8015232C 0014F28C C0 1F 01 00 */ lfs f0, 0x100(r31)
/* 80152330 0014F290 80 7E 08 80 */ lwz r3, 0x880(r30)
/* 80152334 0014F294 FC 00 00 1E */ fctiwz f0, f0
/* 80152338 0014F298 C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 8015233C 0014F29C D8 01 01 50 */ stfd f0, 0x150(r1)
/* 80152340 0014F2A0 80 81 01 54 */ lwz r4, 0x154(r1)
/* 80152344 0014F2A4 48 0B DC 19 */ bl sub_8020ff5c
/* 80152348 0014F2A8 48 00 05 58 */ b lbl_801528A0
.global lbl_8015234C
lbl_8015234C:
/* 8015234C 0014F2AC 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80152350 0014F2B0 40 82 05 50 */ bne lbl_801528A0
/* 80152354 0014F2B4 C0 1F 01 00 */ lfs f0, 0x100(r31)
/* 80152358 0014F2B8 FC 00 00 1E */ fctiwz f0, f0
/* 8015235C 0014F2BC D8 01 01 50 */ stfd f0, 0x150(r1)
/* 80152360 0014F2C0 80 01 01 54 */ lwz r0, 0x154(r1)
/* 80152364 0014F2C4 2C 00 00 00 */ cmpwi r0, 0
/* 80152368 0014F2C8 41 80 05 38 */ blt lbl_801528A0
/* 8015236C 0014F2CC 2C 00 00 06 */ cmpwi r0, 6
/* 80152370 0014F2D0 40 80 05 30 */ bge lbl_801528A0
/* 80152374 0014F2D4 3C 60 80 3D */ lis r3, lbl_803D01B8@ha
/* 80152378 0014F2D8 54 00 10 3A */ slwi r0, r0, 2
/* 8015237C 0014F2DC 38 63 01 B8 */ addi r3, r3, lbl_803D01B8@l
/* 80152380 0014F2E0 C0 3F 01 04 */ lfs f1, 0x104(r31)
/* 80152384 0014F2E4 7F 43 00 2E */ lwzx r26, r3, r0
/* 80152388 0014F2E8 48 23 75 CD */ bl __cvt_fp2unsigned
/* 8015238C 0014F2EC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 80152390 0014F2F0 41 82 00 20 */ beq lbl_801523B0
/* 80152394 0014F2F4 80 7E 08 8C */ lwz r3, 0x88c(r30)
/* 80152398 0014F2F8 7F C4 F3 78 */ mr r4, r30
/* 8015239C 0014F2FC C0 22 9D B4 */ lfs f1, lbl_805ABAD4@sda21(r2)
/* 801523A0 0014F300 7F 45 D3 78 */ mr r5, r26
/* 801523A4 0014F304 38 C0 00 01 */ li r6, 1
/* 801523A8 0014F308 48 0D BE 9D */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority
/* 801523AC 0014F30C 48 00 04 F4 */ b lbl_801528A0
lbl_801523B0:
/* 801523B0 0014F310 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 801523B4 0014F314 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 801523B8 0014F318 C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 801523BC 0014F31C C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 801523C0 0014F320 D0 01 01 08 */ stfs f0, 0x108(r1)
/* 801523C4 0014F324 D0 21 01 0C */ stfs f1, 0x10c(r1)
/* 801523C8 0014F328 D0 41 01 10 */ stfs f2, 0x110(r1)
/* 801523CC 0014F32C 41 82 00 48 */ beq lbl_80152414
/* 801523D0 0014F330 A0 1B 00 00 */ lhz r0, 0(r27)
/* 801523D4 0014F334 7F C3 F3 78 */ mr r3, r30
/* 801523D8 0014F338 38 81 00 08 */ addi r4, r1, 8
/* 801523DC 0014F33C B0 01 00 08 */ sth r0, 8(r1)
/* 801523E0 0014F340 4B EF A1 C5 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 801523E4 0014F344 7C 64 1B 78 */ mr r4, r3
/* 801523E8 0014F348 38 61 00 6C */ addi r3, r1, 0x6c
/* 801523EC 0014F34C 4B F5 D8 A5 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 801523F0 0014F350 80 63 00 04 */ lwz r3, 4(r3)
/* 801523F4 0014F354 28 03 00 00 */ cmplwi r3, 0
/* 801523F8 0014F358 41 82 00 1C */ beq lbl_80152414
/* 801523FC 0014F35C C0 43 00 60 */ lfs f2, 0x60(r3)
/* 80152400 0014F360 C0 23 00 50 */ lfs f1, 0x50(r3)
/* 80152404 0014F364 C0 03 00 40 */ lfs f0, 0x40(r3)
/* 80152408 0014F368 D0 01 01 08 */ stfs f0, 0x108(r1)
/* 8015240C 0014F36C D0 21 01 0C */ stfs f1, 0x10c(r1)
/* 80152410 0014F370 D0 41 01 10 */ stfs f2, 0x110(r1)
lbl_80152414:
/* 80152414 0014F374 80 7E 08 8C */ lwz r3, 0x88c(r30)
/* 80152418 0014F378 7F C4 F3 78 */ mr r4, r30
/* 8015241C 0014F37C C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 80152420 0014F380 7F 46 D3 78 */ mr r6, r26
/* 80152424 0014F384 38 A1 01 08 */ addi r5, r1, 0x108
/* 80152428 0014F388 38 E0 00 01 */ li r7, 1
/* 8015242C 0014F38C 48 0D BD 1D */ bl Rumble__14CRumbleManagerFR13CStateManagerRC9CVector3f11ERumbleFxIdf15ERumblePriority
/* 80152430 0014F390 48 00 04 70 */ b lbl_801528A0
.global lbl_80152434
lbl_80152434:
/* 80152434 0014F394 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80152438 0014F398 40 82 04 68 */ bne lbl_801528A0
/* 8015243C 0014F39C 80 7E 08 B8 */ lwz r3, 0x8b8(r30)
/* 80152440 0014F3A0 80 9F 01 C4 */ lwz r4, 0x1c4(r31)
/* 80152444 0014F3A4 80 63 00 00 */ lwz r3, 0(r3)
/* 80152448 0014F3A8 4B F3 F6 79 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType
/* 8015244C 0014F3AC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80152450 0014F3B0 41 82 04 50 */ beq lbl_801528A0
/* 80152454 0014F3B4 7F E3 FB 78 */ mr r3, r31
/* 80152458 0014F3B8 7F C5 F3 78 */ mr r5, r30
/* 8015245C 0014F3BC 38 80 00 09 */ li r4, 9
/* 80152460 0014F3C0 38 C0 FF FF */ li r6, -1
/* 80152464 0014F3C4 4B EF EC 5D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 80152468 0014F3C8 48 00 04 38 */ b lbl_801528A0
.global lbl_8015246C
lbl_8015246C:
/* 8015246C 0014F3CC 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80152470 0014F3D0 40 82 04 30 */ bne lbl_801528A0
/* 80152474 0014F3D4 80 7E 08 B8 */ lwz r3, 0x8b8(r30)
/* 80152478 0014F3D8 80 63 00 00 */ lwz r3, 0(r3)
/* 8015247C 0014F3DC 4B F3 F0 49 */ bl GetIsFusionEnabled__12CPlayerStateFv
/* 80152480 0014F3E0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80152484 0014F3E4 41 82 04 1C */ beq lbl_801528A0
/* 80152488 0014F3E8 7F E3 FB 78 */ mr r3, r31
/* 8015248C 0014F3EC 7F C5 F3 78 */ mr r5, r30
/* 80152490 0014F3F0 38 80 00 09 */ li r4, 9
/* 80152494 0014F3F4 38 C0 FF FF */ li r6, -1
/* 80152498 0014F3F8 4B EF EC 29 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8015249C 0014F3FC 48 00 04 04 */ b lbl_801528A0
.global lbl_801524A0
lbl_801524A0:
/* 801524A0 0014F400 2C 1C 00 22 */ cmpwi r28, 0x22
/* 801524A4 0014F404 41 82 00 0C */ beq lbl_801524B0
/* 801524A8 0014F408 2C 1C 00 04 */ cmpwi r28, 4
/* 801524AC 0014F40C 40 82 03 F4 */ bne lbl_801528A0
lbl_801524B0:
/* 801524B0 0014F410 88 7F 01 E4 */ lbz r3, 0x1e4(r31)
/* 801524B4 0014F414 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 801524B8 0014F418 41 82 03 E8 */ beq lbl_801528A0
/* 801524BC 0014F41C 38 00 00 00 */ li r0, 0
/* 801524C0 0014F420 50 03 07 FE */ rlwimi r3, r0, 0, 0x1f, 0x1f
/* 801524C4 0014F424 98 7F 01 E4 */ stb r3, 0x1e4(r31)
/* 801524C8 0014F428 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 801524CC 0014F42C 4B EB F4 79 */ bl DecrementPhazon__7CPlayerFv
/* 801524D0 0014F430 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 801524D4 0014F434 38 60 00 00 */ li r3, 0
/* 801524D8 0014F438 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 801524DC 0014F43C 98 1E 0F 94 */ stb r0, 0xf94(r30)
/* 801524E0 0014F440 48 00 03 C0 */ b lbl_801528A0
.global lbl_801524E4
lbl_801524E4:
/* 801524E4 0014F444 2C 1C 00 13 */ cmpwi r28, 0x13
/* 801524E8 0014F448 40 82 03 B8 */ bne lbl_801528A0
/* 801524EC 0014F44C C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 801524F0 0014F450 C0 02 9D B4 */ lfs f0, lbl_805ABAD4@sda21(r2)
/* 801524F4 0014F454 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801524F8 0014F458 4C 41 13 82 */ cror 2, 1, 2
/* 801524FC 0014F45C 40 82 00 1C */ bne lbl_80152518
/* 80152500 0014F460 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 80152504 0014F464 7F C5 F3 78 */ mr r5, r30
/* 80152508 0014F468 38 80 00 01 */ li r4, 1
/* 8015250C 0014F46C 80 63 04 90 */ lwz r3, 0x490(r3)
/* 80152510 0014F470 4B EE D7 35 */ bl DropBomb__10CPlayerGunFQ210CPlayerGun8EBWeaponR13CStateManager
/* 80152514 0014F474 48 00 03 8C */ b lbl_801528A0
lbl_80152518:
/* 80152518 0014F478 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 8015251C 0014F47C 7F C5 F3 78 */ mr r5, r30
/* 80152520 0014F480 38 80 00 00 */ li r4, 0
/* 80152524 0014F484 80 63 04 90 */ lwz r3, 0x490(r3)
/* 80152528 0014F488 4B EE D7 1D */ bl DropBomb__10CPlayerGunFQ210CPlayerGun8EBWeaponR13CStateManager
/* 8015252C 0014F48C 48 00 03 74 */ b lbl_801528A0
.global lbl_80152530
lbl_80152530:
/* 80152530 0014F490 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80152534 0014F494 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80152538 0014F498 38 63 01 F8 */ addi r3, r3, 0x1f8
/* 8015253C 0014F49C 40 82 00 10 */ bne lbl_8015254C
/* 80152540 0014F4A0 38 9F 00 EC */ addi r4, r31, 0xec
/* 80152544 0014F4A4 48 11 52 69 */ bl ActivateContinueDelayHintTimer__12CHintOptionsFPCc
/* 80152548 0014F4A8 48 00 03 58 */ b lbl_801528A0
lbl_8015254C:
/* 8015254C 0014F4AC 2C 1C 00 07 */ cmpwi r28, 7
/* 80152550 0014F4B0 40 82 00 10 */ bne lbl_80152560
/* 80152554 0014F4B4 38 9F 00 EC */ addi r4, r31, 0xec
/* 80152558 0014F4B8 48 11 53 59 */ bl ActivateImmediateHintTimer__12CHintOptionsFPCc
/* 8015255C 0014F4BC 48 00 03 44 */ b lbl_801528A0
lbl_80152560:
/* 80152560 0014F4C0 2C 1C 00 05 */ cmpwi r28, 5
/* 80152564 0014F4C4 40 82 03 3C */ bne lbl_801528A0
/* 80152568 0014F4C8 38 9F 00 EC */ addi r4, r31, 0xec
/* 8015256C 0014F4CC 48 11 52 BD */ bl DelayHint__12CHintOptionsFPCc
/* 80152570 0014F4D0 48 00 03 30 */ b lbl_801528A0
.global lbl_80152574
lbl_80152574:
/* 80152574 0014F4D4 2C 1C 00 07 */ cmpwi r28, 7
/* 80152578 0014F4D8 40 82 01 18 */ bne lbl_80152690
/* 8015257C 0014F4DC 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13)
/* 80152580 0014F4E0 80 9F 00 EC */ lwz r4, 0xec(r31)
/* 80152584 0014F4E4 81 83 00 00 */ lwz r12, 0(r3)
/* 80152588 0014F4E8 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8015258C 0014F4EC 7D 89 03 A6 */ mtctr r12
/* 80152590 0014F4F0 4E 80 04 21 */ bctrl
/* 80152594 0014F4F4 7C 7C 1B 79 */ or. r28, r3, r3
/* 80152598 0014F4F8 41 82 00 0C */ beq lbl_801525A4
/* 8015259C 0014F4FC 83 BC 00 04 */ lwz r29, 4(r28)
/* 801525A0 0014F500 48 00 00 08 */ b lbl_801525A8
lbl_801525A4:
/* 801525A4 0014F504 3B A0 FF FF */ li r29, -1
lbl_801525A8:
/* 801525A8 0014F508 C0 3F 01 04 */ lfs f1, 0x104(r31)
/* 801525AC 0014F50C 38 61 00 8C */ addi r3, r1, 0x8c
/* 801525B0 0014F510 C0 1F 01 08 */ lfs f0, 0x108(r31)
/* 801525B4 0014F514 FC 20 08 1E */ fctiwz f1, f1
/* 801525B8 0014F518 FC 00 00 1E */ fctiwz f0, f0
/* 801525BC 0014F51C D8 21 01 50 */ stfd f1, 0x150(r1)
/* 801525C0 0014F520 D8 01 01 58 */ stfd f0, 0x158(r1)
/* 801525C4 0014F524 80 81 01 54 */ lwz r4, 0x154(r1)
/* 801525C8 0014F528 80 A1 01 5C */ lwz r5, 0x15c(r1)
/* 801525CC 0014F52C 48 1C 1D 81 */ bl __ct__9CVector2iFii
/* 801525D0 0014F530 C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 801525D4 0014F534 7C 7B 1B 78 */ mr r27, r3
/* 801525D8 0014F538 C0 1F 01 00 */ lfs f0, 0x100(r31)
/* 801525DC 0014F53C 38 61 00 94 */ addi r3, r1, 0x94
/* 801525E0 0014F540 FC 20 08 1E */ fctiwz f1, f1
/* 801525E4 0014F544 FC 00 00 1E */ fctiwz f0, f0
/* 801525E8 0014F548 D8 21 01 60 */ stfd f1, 0x160(r1)
/* 801525EC 0014F54C D8 01 01 68 */ stfd f0, 0x168(r1)
/* 801525F0 0014F550 80 81 01 64 */ lwz r4, 0x164(r1)
/* 801525F4 0014F554 80 A1 01 6C */ lwz r5, 0x16c(r1)
/* 801525F8 0014F558 48 1C 1D 55 */ bl __ct__9CVector2iFii
/* 801525FC 0014F55C 7C 65 1B 78 */ mr r5, r3
/* 80152600 0014F560 7F C3 F3 78 */ mr r3, r30
/* 80152604 0014F564 7F A4 EB 78 */ mr r4, r29
/* 80152608 0014F568 7F 66 DB 78 */ mr r6, r27
/* 8015260C 0014F56C 4B EF 19 FD */ bl sub_80044008
/* 80152610 0014F570 28 1C 00 00 */ cmplwi r28, 0
/* 80152614 0014F574 41 82 02 8C */ beq lbl_801528A0
/* 80152618 0014F578 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8015261C 0014F57C 38 61 00 84 */ addi r3, r1, 0x84
/* 80152620 0014F580 80 BF 00 EC */ lwz r5, 0xec(r31)
/* 80152624 0014F584 81 84 00 00 */ lwz r12, 0(r4)
/* 80152628 0014F588 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8015262C 0014F58C 7D 89 03 A6 */ mtctr r12
/* 80152630 0014F590 4E 80 04 21 */ bctrl
/* 80152634 0014F594 88 1F 01 F0 */ lbz r0, 0x1f0(r31)
/* 80152638 0014F598 28 00 00 00 */ cmplwi r0, 0
/* 8015263C 0014F59C 40 82 00 20 */ bne lbl_8015265C
/* 80152640 0014F5A0 34 7F 01 E8 */ addic. r3, r31, 0x1e8
/* 80152644 0014F5A4 41 82 00 0C */ beq lbl_80152650
/* 80152648 0014F5A8 38 81 00 84 */ addi r4, r1, 0x84
/* 8015264C 0014F5AC 48 1E E8 5D */ bl __ct__6CTokenFRC6CToken
lbl_80152650:
/* 80152650 0014F5B0 38 00 00 01 */ li r0, 1
/* 80152654 0014F5B4 98 1F 01 F0 */ stb r0, 0x1f0(r31)
/* 80152658 0014F5B8 48 00 00 10 */ b lbl_80152668
lbl_8015265C:
/* 8015265C 0014F5BC 38 7F 01 E8 */ addi r3, r31, 0x1e8
/* 80152660 0014F5C0 38 81 00 84 */ addi r4, r1, 0x84
/* 80152664 0014F5C4 48 1E E6 61 */ bl __as__6CTokenFRC6CToken
lbl_80152668:
/* 80152668 0014F5C8 38 61 00 84 */ addi r3, r1, 0x84
/* 8015266C 0014F5CC 38 80 FF FF */ li r4, -1
/* 80152670 0014F5D0 48 1E E7 D1 */ bl __dt__6CTokenFv
/* 80152674 0014F5D4 38 7F 01 E8 */ addi r3, r31, 0x1e8
/* 80152678 0014F5D8 48 1E E7 0D */ bl Lock__6CTokenFv
/* 8015267C 0014F5DC 88 1F 01 E5 */ lbz r0, 0x1e5(r31)
/* 80152680 0014F5E0 38 60 00 01 */ li r3, 1
/* 80152684 0014F5E4 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 80152688 0014F5E8 98 1F 01 E5 */ stb r0, 0x1e5(r31)
/* 8015268C 0014F5EC 48 00 02 14 */ b lbl_801528A0
lbl_80152690:
/* 80152690 0014F5F0 2C 1C 00 05 */ cmpwi r28, 5
/* 80152694 0014F5F4 40 82 02 0C */ bne lbl_801528A0
/* 80152698 0014F5F8 C0 3F 01 04 */ lfs f1, 0x104(r31)
/* 8015269C 0014F5FC 38 61 00 74 */ addi r3, r1, 0x74
/* 801526A0 0014F600 C0 1F 01 08 */ lfs f0, 0x108(r31)
/* 801526A4 0014F604 FC 20 08 1E */ fctiwz f1, f1
/* 801526A8 0014F608 FC 00 00 1E */ fctiwz f0, f0
/* 801526AC 0014F60C D8 21 01 68 */ stfd f1, 0x168(r1)
/* 801526B0 0014F610 D8 01 01 60 */ stfd f0, 0x160(r1)
/* 801526B4 0014F614 80 81 01 6C */ lwz r4, 0x16c(r1)
/* 801526B8 0014F618 80 A1 01 64 */ lwz r5, 0x164(r1)
/* 801526BC 0014F61C 48 1C 1C 91 */ bl __ct__9CVector2iFii
/* 801526C0 0014F620 C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 801526C4 0014F624 7C 7B 1B 78 */ mr r27, r3
/* 801526C8 0014F628 C0 1F 01 00 */ lfs f0, 0x100(r31)
/* 801526CC 0014F62C 38 61 00 7C */ addi r3, r1, 0x7c
/* 801526D0 0014F630 FC 20 08 1E */ fctiwz f1, f1
/* 801526D4 0014F634 FC 00 00 1E */ fctiwz f0, f0
/* 801526D8 0014F638 D8 21 01 58 */ stfd f1, 0x158(r1)
/* 801526DC 0014F63C D8 01 01 50 */ stfd f0, 0x150(r1)
/* 801526E0 0014F640 80 81 01 5C */ lwz r4, 0x15c(r1)
/* 801526E4 0014F644 80 A1 01 54 */ lwz r5, 0x154(r1)
/* 801526E8 0014F648 48 1C 1C 65 */ bl __ct__9CVector2iFii
/* 801526EC 0014F64C 7C 65 1B 78 */ mr r5, r3
/* 801526F0 0014F650 7F C3 F3 78 */ mr r3, r30
/* 801526F4 0014F654 7F 66 DB 78 */ mr r6, r27
/* 801526F8 0014F658 38 80 FF FF */ li r4, -1
/* 801526FC 0014F65C 4B EF 19 0D */ bl sub_80044008
/* 80152700 0014F660 38 7F 01 E8 */ addi r3, r31, 0x1e8
/* 80152704 0014F664 38 81 00 D4 */ addi r4, r1, 0xd4
/* 80152708 0014F668 38 00 00 00 */ li r0, 0
/* 8015270C 0014F66C 7C 03 20 40 */ cmplw r3, r4
/* 80152710 0014F670 98 01 00 DC */ stb r0, 0xdc(r1)
/* 80152714 0014F674 41 82 00 54 */ beq lbl_80152768
/* 80152718 0014F678 28 00 00 00 */ cmplwi r0, 0
/* 8015271C 0014F67C 41 82 00 30 */ beq lbl_8015274C
/* 80152720 0014F680 88 1F 01 F0 */ lbz r0, 0x1f0(r31)
/* 80152724 0014F684 28 00 00 00 */ cmplwi r0, 0
/* 80152728 0014F688 40 82 00 1C */ bne lbl_80152744
/* 8015272C 0014F68C 34 7F 01 E8 */ addic. r3, r31, 0x1e8
/* 80152730 0014F690 41 82 00 08 */ beq lbl_80152738
/* 80152734 0014F694 48 1E E7 75 */ bl __ct__6CTokenFRC6CToken
lbl_80152738:
/* 80152738 0014F698 38 00 00 01 */ li r0, 1
/* 8015273C 0014F69C 98 1F 01 F0 */ stb r0, 0x1f0(r31)
/* 80152740 0014F6A0 48 00 00 28 */ b lbl_80152768
lbl_80152744:
/* 80152744 0014F6A4 48 1E E5 81 */ bl __as__6CTokenFRC6CToken
/* 80152748 0014F6A8 48 00 00 20 */ b lbl_80152768
lbl_8015274C:
/* 8015274C 0014F6AC 88 1F 01 F0 */ lbz r0, 0x1f0(r31)
/* 80152750 0014F6B0 28 00 00 00 */ cmplwi r0, 0
/* 80152754 0014F6B4 41 82 00 0C */ beq lbl_80152760
/* 80152758 0014F6B8 38 80 FF FF */ li r4, -1
/* 8015275C 0014F6BC 48 1E E6 E5 */ bl __dt__6CTokenFv
lbl_80152760:
/* 80152760 0014F6C0 38 00 00 00 */ li r0, 0
/* 80152764 0014F6C4 98 1F 01 F0 */ stb r0, 0x1f0(r31)
lbl_80152768:
/* 80152768 0014F6C8 88 01 00 DC */ lbz r0, 0xdc(r1)
/* 8015276C 0014F6CC 28 00 00 00 */ cmplwi r0, 0
/* 80152770 0014F6D0 41 82 00 10 */ beq lbl_80152780
/* 80152774 0014F6D4 38 61 00 D4 */ addi r3, r1, 0xd4
/* 80152778 0014F6D8 38 80 FF FF */ li r4, -1
/* 8015277C 0014F6DC 48 1E E6 C5 */ bl __dt__6CTokenFv
lbl_80152780:
/* 80152780 0014F6E0 38 60 00 00 */ li r3, 0
/* 80152784 0014F6E4 98 61 00 DC */ stb r3, 0xdc(r1)
/* 80152788 0014F6E8 88 1F 01 E5 */ lbz r0, 0x1e5(r31)
/* 8015278C 0014F6EC 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 80152790 0014F6F0 98 1F 01 E5 */ stb r0, 0x1e5(r31)
/* 80152794 0014F6F4 48 00 01 0C */ b lbl_801528A0
.global lbl_80152798
lbl_80152798:
/* 80152798 0014F6F8 2C 1C 00 13 */ cmpwi r28, 0x13
/* 8015279C 0014F6FC 41 82 00 0C */ beq lbl_801527A8
/* 801527A0 0014F700 2C 1C 00 0D */ cmpwi r28, 0xd
/* 801527A4 0014F704 40 82 00 FC */ bne lbl_801528A0
lbl_801527A8:
/* 801527A8 0014F708 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 801527AC 0014F70C 80 1F 00 04 */ lwz r0, 4(r31)
/* 801527B0 0014F710 80 63 00 04 */ lwz r3, 4(r3)
/* 801527B4 0014F714 7C 03 00 00 */ cmpw r3, r0
/* 801527B8 0014F718 40 82 00 E8 */ bne lbl_801528A0
/* 801527BC 0014F71C 7F E3 FB 78 */ mr r3, r31
/* 801527C0 0014F720 7F C5 F3 78 */ mr r5, r30
/* 801527C4 0014F724 38 80 00 09 */ li r4, 9
/* 801527C8 0014F728 38 C0 FF FF */ li r6, -1
/* 801527CC 0014F72C 4B EF E8 F5 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 801527D0 0014F730 48 00 00 D0 */ b lbl_801528A0
.global lbl_801527D4
lbl_801527D4:
/* 801527D4 0014F734 2C 1C 00 07 */ cmpwi r28, 7
/* 801527D8 0014F738 40 82 00 1C */ bne lbl_801527F4
/* 801527DC 0014F73C 7F E3 FB 78 */ mr r3, r31
/* 801527E0 0014F740 7F C6 F3 78 */ mr r6, r30
/* 801527E4 0014F744 38 80 00 28 */ li r4, 0x28
/* 801527E8 0014F748 38 A0 00 33 */ li r5, 0x33
/* 801527EC 0014F74C 4B F0 1A C9 */ bl AddMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager
/* 801527F0 0014F750 48 00 00 B0 */ b lbl_801528A0
lbl_801527F4:
/* 801527F4 0014F754 2C 1C 00 05 */ cmpwi r28, 5
/* 801527F8 0014F758 40 82 00 A8 */ bne lbl_801528A0
/* 801527FC 0014F75C 7F E3 FB 78 */ mr r3, r31
/* 80152800 0014F760 7F C6 F3 78 */ mr r6, r30
/* 80152804 0014F764 38 80 00 28 */ li r4, 0x28
/* 80152808 0014F768 38 A0 00 33 */ li r5, 0x33
/* 8015280C 0014F76C 4B F0 16 C9 */ bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager
/* 80152810 0014F770 48 00 00 90 */ b lbl_801528A0
.global lbl_80152814
lbl_80152814:
/* 80152814 0014F774 2C 1C 00 07 */ cmpwi r28, 7
/* 80152818 0014F778 C0 5F 01 00 */ lfs f2, 0x100(r31)
/* 8015281C 0014F77C 40 82 00 14 */ bne lbl_80152830
/* 80152820 0014F780 80 7E 08 70 */ lwz r3, 0x870(r30)
/* 80152824 0014F784 C0 3F 00 FC */ lfs f1, 0xfc(r31)
/* 80152828 0014F788 4B EB 8D A5 */ bl sub_8000b5cc
/* 8015282C 0014F78C 48 00 00 74 */ b lbl_801528A0
lbl_80152830:
/* 80152830 0014F790 2C 1C 00 05 */ cmpwi r28, 5
/* 80152834 0014F794 40 82 00 6C */ bne lbl_801528A0
/* 80152838 0014F798 80 7E 08 70 */ lwz r3, 0x870(r30)
/* 8015283C 0014F79C C0 22 9D B4 */ lfs f1, lbl_805ABAD4@sda21(r2)
/* 80152840 0014F7A0 4B EB 8D 8D */ bl sub_8000b5cc
/* 80152844 0014F7A4 48 00 00 5C */ b lbl_801528A0
.global lbl_80152848
lbl_80152848:
/* 80152848 0014F7A8 2C 1C 00 13 */ cmpwi r28, 0x13
/* 8015284C 0014F7AC 40 82 00 54 */ bne lbl_801528A0
/* 80152850 0014F7B0 7F C3 F3 78 */ mr r3, r30
/* 80152854 0014F7B4 38 80 00 03 */ li r4, 3
/* 80152858 0014F7B8 4B EF 20 09 */ bl DeferStateTransition__13CStateManagerF23EStateManagerTransition
/* 8015285C 0014F7BC 48 00 00 44 */ b lbl_801528A0
.global lbl_80152860
lbl_80152860:
/* 80152860 0014F7C0 2C 1C 00 13 */ cmpwi r28, 0x13
/* 80152864 0014F7C4 40 82 00 3C */ bne lbl_801528A0
/* 80152868 0014F7C8 7F E3 FB 78 */ mr r3, r31
/* 8015286C 0014F7CC 7F C4 F3 78 */ mr r4, r30
/* 80152870 0014F7D0 4B FF CA C5 */ bl GetSpecialEnding__22CScriptSpecialFunctionCFv
/* 80152874 0014F7D4 C0 1F 00 FC */ lfs f0, 0xfc(r31)
/* 80152878 0014F7D8 FC 00 00 1E */ fctiwz f0, f0
/* 8015287C 0014F7DC D8 01 01 68 */ stfd f0, 0x168(r1)
/* 80152880 0014F7E0 80 01 01 6C */ lwz r0, 0x16c(r1)
/* 80152884 0014F7E4 7C 03 00 00 */ cmpw r3, r0
/* 80152888 0014F7E8 40 82 00 18 */ bne lbl_801528A0
/* 8015288C 0014F7EC 7F E3 FB 78 */ mr r3, r31
/* 80152890 0014F7F0 7F C5 F3 78 */ mr r5, r30
/* 80152894 0014F7F4 38 80 00 09 */ li r4, 9
/* 80152898 0014F7F8 38 C0 FF FF */ li r6, -1
/* 8015289C 0014F7FC 4B EF E8 25 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
.global lbl_801528A0
lbl_801528A0:
/* 801528A0 0014F800 E3 E1 01 B8 */ psq_l f31, 440(r1), 0, qr0
/* 801528A4 0014F804 CB E1 01 B0 */ lfd f31, 0x1b0(r1)
/* 801528A8 0014F808 E3 C1 01 A8 */ psq_l f30, 424(r1), 0, qr0
/* 801528AC 0014F80C CB C1 01 A0 */ lfd f30, 0x1a0(r1)
/* 801528B0 0014F810 E3 A1 01 98 */ psq_l f29, 408(r1), 0, qr0
/* 801528B4 0014F814 CB A1 01 90 */ lfd f29, 0x190(r1)
/* 801528B8 0014F818 BB 41 01 78 */ lmw r26, 0x178(r1)
/* 801528BC 0014F81C 80 01 01 C4 */ lwz r0, 0x1c4(r1)
/* 801528C0 0014F820 7C 08 03 A6 */ mtlr r0
/* 801528C4 0014F824 38 21 01 C0 */ addi r1, r1, 0x1c0
/* 801528C8 0014F828 4E 80 00 20 */ blr
.global PreRender__22CScriptSpecialFunctionFR13CStateManagerRC14CFrustumPlanes
PreRender__22CScriptSpecialFunctionFR13CStateManagerRC14CFrustumPlanes:
/* 801528CC 0014F82C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801528D0 0014F830 7C 08 02 A6 */ mflr r0
/* 801528D4 0014F834 90 01 00 54 */ stw r0, 0x54(r1)
/* 801528D8 0014F838 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801528DC 0014F83C 7C BF 2B 78 */ mr r31, r5
/* 801528E0 0014F840 93 C1 00 48 */ stw r30, 0x48(r1)
/* 801528E4 0014F844 7C 7E 1B 78 */ mr r30, r3
/* 801528E8 0014F848 80 63 00 E8 */ lwz r3, 0xe8(r3)
/* 801528EC 0014F84C 2C 03 00 2F */ cmpwi r3, 0x2f
/* 801528F0 0014F850 41 82 00 14 */ beq lbl_80152904
/* 801528F4 0014F854 40 80 01 00 */ bge lbl_801529F4
/* 801528F8 0014F858 2C 03 00 09 */ cmpwi r3, 9
/* 801528FC 0014F85C 41 82 00 08 */ beq lbl_80152904
/* 80152900 0014F860 48 00 00 F4 */ b lbl_801529F4
lbl_80152904:
/* 80152904 0014F864 88 1E 00 30 */ lbz r0, 0x30(r30)
/* 80152908 0014F868 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8015290C 0014F86C 41 82 00 E8 */ beq lbl_801529F4
/* 80152910 0014F870 2C 03 00 2F */ cmpwi r3, 0x2f
/* 80152914 0014F874 40 82 00 78 */ bne lbl_8015298C
/* 80152918 0014F878 C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 8015291C 0014F87C 38 61 00 2C */ addi r3, r1, 0x2c
/* 80152920 0014F880 C0 1E 01 14 */ lfs f0, 0x114(r30)
/* 80152924 0014F884 38 81 00 14 */ addi r4, r1, 0x14
/* 80152928 0014F888 C0 7E 00 50 */ lfs f3, 0x50(r30)
/* 8015292C 0014F88C 38 A1 00 20 */ addi r5, r1, 0x20
/* 80152930 0014F890 C0 3E 01 10 */ lfs f1, 0x110(r30)
/* 80152934 0014F894 EC 82 00 2A */ fadds f4, f2, f0
/* 80152938 0014F898 C0 DE 00 40 */ lfs f6, 0x40(r30)
/* 8015293C 0014F89C EC 42 00 28 */ fsubs f2, f2, f0
/* 80152940 0014F8A0 C0 1E 01 0C */ lfs f0, 0x10c(r30)
/* 80152944 0014F8A4 EC A3 08 2A */ fadds f5, f3, f1
/* 80152948 0014F8A8 EC 63 08 28 */ fsubs f3, f3, f1
/* 8015294C 0014F8AC EC 26 00 2A */ fadds f1, f6, f0
/* 80152950 0014F8B0 D0 81 00 28 */ stfs f4, 0x28(r1)
/* 80152954 0014F8B4 EC 06 00 28 */ fsubs f0, f6, f0
/* 80152958 0014F8B8 D0 A1 00 24 */ stfs f5, 0x24(r1)
/* 8015295C 0014F8BC D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80152960 0014F8C0 C0 3E 00 FC */ lfs f1, 0xfc(r30)
/* 80152964 0014F8C4 EC 24 08 2A */ fadds f1, f4, f1
/* 80152968 0014F8C8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8015296C 0014F8CC D0 61 00 18 */ stfs f3, 0x18(r1)
/* 80152970 0014F8D0 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 80152974 0014F8D4 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 80152978 0014F8D8 48 1E 5B 91 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8015297C 0014F8DC 7F E3 FB 78 */ mr r3, r31
/* 80152980 0014F8E0 38 81 00 2C */ addi r4, r1, 0x2c
/* 80152984 0014F8E4 48 1F 28 4D */ bl BoxInFrustumPlanes__14CFrustumPlanesCFRC6CAABox
/* 80152988 0014F8E8 48 00 00 28 */ b lbl_801529B0
lbl_8015298C:
/* 8015298C 0014F8EC C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 80152990 0014F8F0 7F E3 FB 78 */ mr r3, r31
/* 80152994 0014F8F4 C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 80152998 0014F8F8 38 81 00 08 */ addi r4, r1, 8
/* 8015299C 0014F8FC C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 801529A0 0014F900 D0 01 00 08 */ stfs f0, 8(r1)
/* 801529A4 0014F904 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 801529A8 0014F908 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 801529AC 0014F90C 48 1F 26 21 */ bl PointInFrustumPlanes__14CFrustumPlanesCFRC9CVector3f
lbl_801529B0:
/* 801529B0 0014F910 88 BE 01 E4 */ lbz r5, 0x1e4(r30)
/* 801529B4 0014F914 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 801529B8 0014F918 54 A4 FF FE */ rlwinm r4, r5, 0x1f, 0x1f, 0x1f
/* 801529BC 0014F91C 7C 04 00 40 */ cmplw r4, r0
/* 801529C0 0014F920 41 82 00 34 */ beq lbl_801529F4
/* 801529C4 0014F924 28 00 00 00 */ cmplwi r0, 0
/* 801529C8 0014F928 41 82 00 14 */ beq lbl_801529DC
/* 801529CC 0014F92C 38 00 00 01 */ li r0, 1
/* 801529D0 0014F930 50 05 1F 38 */ rlwimi r5, r0, 3, 0x1c, 0x1c
/* 801529D4 0014F934 98 BE 01 E4 */ stb r5, 0x1e4(r30)
/* 801529D8 0014F938 48 00 00 10 */ b lbl_801529E8
lbl_801529DC:
/* 801529DC 0014F93C 38 00 00 01 */ li r0, 1
/* 801529E0 0014F940 50 05 17 7A */ rlwimi r5, r0, 2, 0x1d, 0x1d
/* 801529E4 0014F944 98 BE 01 E4 */ stb r5, 0x1e4(r30)
lbl_801529E8:
/* 801529E8 0014F948 88 1E 01 E4 */ lbz r0, 0x1e4(r30)
/* 801529EC 0014F94C 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 801529F0 0014F950 98 1E 01 E4 */ stb r0, 0x1e4(r30)
lbl_801529F4:
/* 801529F4 0014F954 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801529F8 0014F958 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801529FC 0014F95C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80152A00 0014F960 7C 08 03 A6 */ mtlr r0
/* 80152A04 0014F964 38 21 00 50 */ addi r1, r1, 0x50
/* 80152A08 0014F968 4E 80 00 20 */ blr
.global AddToRenderer__22CScriptSpecialFunctionCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__22CScriptSpecialFunctionCFRC14CFrustumPlanesRC13CStateManager:
/* 80152A0C 0014F96C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80152A10 0014F970 7C 08 02 A6 */ mflr r0
/* 80152A14 0014F974 90 01 00 14 */ stw r0, 0x14(r1)
/* 80152A18 0014F978 88 03 00 30 */ lbz r0, 0x30(r3)
/* 80152A1C 0014F97C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80152A20 0014F980 41 82 00 24 */ beq lbl_80152A44
/* 80152A24 0014F984 80 03 00 E8 */ lwz r0, 0xe8(r3)
/* 80152A28 0014F988 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80152A2C 0014F98C 40 82 00 18 */ bne lbl_80152A44
/* 80152A30 0014F990 88 03 01 E4 */ lbz r0, 0x1e4(r3)
/* 80152A34 0014F994 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 80152A38 0014F998 41 82 00 0C */ beq lbl_80152A44
/* 80152A3C 0014F99C 7C A4 2B 78 */ mr r4, r5
/* 80152A40 0014F9A0 4B F0 1F 8D */ bl EnsureRendered__6CActorCFRC13CStateManager
lbl_80152A44:
/* 80152A44 0014F9A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80152A48 0014F9A8 7C 08 03 A6 */ mtlr r0
/* 80152A4C 0014F9AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80152A50 0014F9B0 4E 80 00 20 */ blr
.global Think__22CScriptSpecialFunctionFfR13CStateManager
Think__22CScriptSpecialFunctionFfR13CStateManager:
/* 80152A54 0014F9B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80152A58 0014F9B8 7C 08 02 A6 */ mflr r0
/* 80152A5C 0014F9BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80152A60 0014F9C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80152A64 0014F9C4 7C 9F 23 78 */ mr r31, r4
/* 80152A68 0014F9C8 93 C1 00 08 */ stw r30, 8(r1)
/* 80152A6C 0014F9CC 7C 7E 1B 78 */ mr r30, r3
/* 80152A70 0014F9D0 88 03 00 30 */ lbz r0, 0x30(r3)
/* 80152A74 0014F9D4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80152A78 0014F9D8 41 82 01 30 */ beq lbl_80152BA8
/* 80152A7C 0014F9DC 80 1E 00 E8 */ lwz r0, 0xe8(r30)
/* 80152A80 0014F9E0 28 00 00 19 */ cmplwi r0, 0x19
/* 80152A84 0014F9E4 41 81 01 24 */ bgt lbl_80152BA8
/* 80152A88 0014F9E8 3C A0 80 3E */ lis r5, lbl_803E2CA0@ha
/* 80152A8C 0014F9EC 54 00 10 3A */ slwi r0, r0, 2
/* 80152A90 0014F9F0 38 A5 2C A0 */ addi r5, r5, lbl_803E2CA0@l
/* 80152A94 0014F9F4 7C 05 00 2E */ lwzx r0, r5, r0
/* 80152A98 0014F9F8 7C 09 03 A6 */ mtctr r0
/* 80152A9C 0014F9FC 4E 80 04 20 */ bctr
.global lbl_80152AA0
lbl_80152AA0:
/* 80152AA0 0014FA00 4B FF E4 D1 */ bl ThinkPlayerFollowLocator__22CScriptSpecialFunctionFfR13CStateManager
/* 80152AA4 0014FA04 48 00 01 04 */ b lbl_80152BA8
.global lbl_80152AA8
lbl_80152AA8:
/* 80152AA8 0014FA08 38 A0 00 00 */ li r5, 0
/* 80152AAC 0014FA0C 4B FF D7 E1 */ bl ThinkSpinnerController__22CScriptSpecialFunctionFfR13CStateManagerQ222CScriptSpecialFunction22ESpinnerControllerMode
/* 80152AB0 0014FA10 48 00 00 F8 */ b lbl_80152BA8
.global lbl_80152AB4
lbl_80152AB4:
/* 80152AB4 0014FA14 38 A0 00 01 */ li r5, 1
/* 80152AB8 0014FA18 4B FF D7 D5 */ bl ThinkSpinnerController__22CScriptSpecialFunctionFfR13CStateManagerQ222CScriptSpecialFunction22ESpinnerControllerMode
/* 80152ABC 0014FA1C 48 00 00 EC */ b lbl_80152BA8
.global lbl_80152AC0
lbl_80152AC0:
/* 80152AC0 0014FA20 4B FF D5 99 */ bl ThinkObjectFollowLocator__22CScriptSpecialFunctionFfR13CStateManager
/* 80152AC4 0014FA24 48 00 00 E4 */ b lbl_80152BA8
.global lbl_80152AC8
lbl_80152AC8:
/* 80152AC8 0014FA28 4B FF D3 CD */ bl ThinkObjectFollowObject__22CScriptSpecialFunctionFfR13CStateManager
/* 80152ACC 0014FA2C 48 00 00 DC */ b lbl_80152BA8
.global lbl_80152AD0
lbl_80152AD0:
/* 80152AD0 0014FA30 4B FF CE F1 */ bl ThinkChaffTarget__22CScriptSpecialFunctionFfR13CStateManager
/* 80152AD4 0014FA34 48 00 00 D4 */ b lbl_80152BA8
.global lbl_80152AD8
lbl_80152AD8:
/* 80152AD8 0014FA38 88 9E 01 E4 */ lbz r4, 0x1e4(r30)
/* 80152ADC 0014FA3C 54 80 EF FF */ rlwinm. r0, r4, 0x1d, 0x1f, 0x1f
/* 80152AE0 0014FA40 41 82 00 20 */ beq lbl_80152B00
/* 80152AE4 0014FA44 38 00 00 00 */ li r0, 0
/* 80152AE8 0014FA48 7F E5 FB 78 */ mr r5, r31
/* 80152AEC 0014FA4C 50 04 1F 38 */ rlwimi r4, r0, 3, 0x1c, 0x1c
/* 80152AF0 0014FA50 38 C0 FF FF */ li r6, -1
/* 80152AF4 0014FA54 98 9E 01 E4 */ stb r4, 0x1e4(r30)
/* 80152AF8 0014FA58 38 80 00 03 */ li r4, 3
/* 80152AFC 0014FA5C 4B EF E5 C5 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
lbl_80152B00:
/* 80152B00 0014FA60 88 9E 01 E4 */ lbz r4, 0x1e4(r30)
/* 80152B04 0014FA64 54 80 F7 FF */ rlwinm. r0, r4, 0x1e, 0x1f, 0x1f
/* 80152B08 0014FA68 41 82 00 A0 */ beq lbl_80152BA8
/* 80152B0C 0014FA6C 38 00 00 00 */ li r0, 0
/* 80152B10 0014FA70 7F C3 F3 78 */ mr r3, r30
/* 80152B14 0014FA74 50 04 17 7A */ rlwimi r4, r0, 2, 0x1d, 0x1d
/* 80152B18 0014FA78 7F E5 FB 78 */ mr r5, r31
/* 80152B1C 0014FA7C 98 9E 01 E4 */ stb r4, 0x1e4(r30)
/* 80152B20 0014FA80 38 80 00 04 */ li r4, 4
/* 80152B24 0014FA84 38 C0 FF FF */ li r6, -1
/* 80152B28 0014FA88 4B EF E5 99 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 80152B2C 0014FA8C 48 00 00 7C */ b lbl_80152BA8
.global lbl_80152B30
lbl_80152B30:
/* 80152B30 0014FA90 4B FF EB 7D */ bl ThinkSaveStation__22CScriptSpecialFunctionFfR13CStateManager
/* 80152B34 0014FA94 48 00 00 74 */ b lbl_80152BA8
.global lbl_80152B38
lbl_80152B38:
/* 80152B38 0014FA98 4B FF E5 E5 */ bl ThinkIntroBossRingController__22CScriptSpecialFunctionFfR13CStateManager
/* 80152B3C 0014FA9C 48 00 00 6C */ b lbl_80152BA8
.global lbl_80152B40
lbl_80152B40:
/* 80152B40 0014FAA0 4B FF CD F9 */ bl ThinkRainSimulator__22CScriptSpecialFunctionFfR13CStateManager
/* 80152B44 0014FAA4 48 00 00 64 */ b lbl_80152BA8
.global lbl_80152B48
lbl_80152B48:
/* 80152B48 0014FAA8 4B FF CB F1 */ bl ThinkAreaDamage__22CScriptSpecialFunctionFfR13CStateManager
/* 80152B4C 0014FAAC 48 00 00 5C */ b lbl_80152BA8
.global lbl_80152B50
lbl_80152B50:
/* 80152B50 0014FAB0 4B FF C9 F1 */ bl sub_8014f540
/* 80152B54 0014FAB4 48 00 00 54 */ b lbl_80152BA8
.global lbl_80152B58
lbl_80152B58:
/* 80152B58 0014FAB8 4B FF C9 65 */ bl ThinkPlayerInArea__22CScriptSpecialFunctionFfR13CStateManager
/* 80152B5C 0014FABC 48 00 00 4C */ b lbl_80152BA8
.global lbl_80152B60
lbl_80152B60:
/* 80152B60 0014FAC0 88 1E 01 F0 */ lbz r0, 0x1f0(r30)
/* 80152B64 0014FAC4 28 00 00 00 */ cmplwi r0, 0
/* 80152B68 0014FAC8 41 82 00 40 */ beq lbl_80152BA8
/* 80152B6C 0014FACC 80 9E 01 E8 */ lwz r4, 0x1e8(r30)
/* 80152B70 0014FAD0 80 04 00 10 */ lwz r0, 0x10(r4)
/* 80152B74 0014FAD4 28 00 00 00 */ cmplwi r0, 0
/* 80152B78 0014FAD8 41 82 00 30 */ beq lbl_80152BA8
/* 80152B7C 0014FADC 88 1E 01 E5 */ lbz r0, 0x1e5(r30)
/* 80152B80 0014FAE0 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 80152B84 0014FAE4 41 82 00 24 */ beq lbl_80152BA8
/* 80152B88 0014FAE8 7F E5 FB 78 */ mr r5, r31
/* 80152B8C 0014FAEC 38 80 00 07 */ li r4, 7
/* 80152B90 0014FAF0 38 C0 FF FF */ li r6, -1
/* 80152B94 0014FAF4 4B EF E5 2D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 80152B98 0014FAF8 88 1E 01 E5 */ lbz r0, 0x1e5(r30)
/* 80152B9C 0014FAFC 38 60 00 00 */ li r3, 0
/* 80152BA0 0014FB00 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 80152BA4 0014FB04 98 1E 01 E5 */ stb r0, 0x1e5(r30)
.global lbl_80152BA8
lbl_80152BA8:
/* 80152BA8 0014FB08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80152BAC 0014FB0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80152BB0 0014FB10 83 C1 00 08 */ lwz r30, 8(r1)
/* 80152BB4 0014FB14 7C 08 03 A6 */ mtlr r0
/* 80152BB8 0014FB18 38 21 00 10 */ addi r1, r1, 0x10
/* 80152BBC 0014FB1C 4E 80 00 20 */ blr
.global "__ct__22CScriptSpecialFunctionF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fQ222CScriptSpecialFunction16ESpecialFunctionRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>ffffRC9CVector3fRC6CColorbRC11CDamageInfoUiUiUiUsUsUs"
"__ct__22CScriptSpecialFunctionF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fQ222CScriptSpecialFunction16ESpecialFunctionRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>ffffRC9CVector3fRC6CColorbRC11CDamageInfoUiUiUiUsUsUs":
/* 80152BC0 0014FB20 94 21 FE 70 */ stwu r1, -0x190(r1)
/* 80152BC4 0014FB24 7C 08 02 A6 */ mflr r0
/* 80152BC8 0014FB28 90 01 01 94 */ stw r0, 0x194(r1)
/* 80152BCC 0014FB2C DB E1 01 80 */ stfd f31, 0x180(r1)
/* 80152BD0 0014FB30 F3 E1 01 88 */ psq_st f31, 392(r1), 0, qr0
/* 80152BD4 0014FB34 DB C1 01 70 */ stfd f30, 0x170(r1)
/* 80152BD8 0014FB38 F3 C1 01 78 */ psq_st f30, 376(r1), 0, qr0
/* 80152BDC 0014FB3C DB A1 01 60 */ stfd f29, 0x160(r1)
/* 80152BE0 0014FB40 F3 A1 01 68 */ psq_st f29, 360(r1), 0, qr0
/* 80152BE4 0014FB44 DB 81 01 50 */ stfd f28, 0x150(r1)
/* 80152BE8 0014FB48 F3 81 01 58 */ psq_st f28, 344(r1), 0, qr0
/* 80152BEC 0014FB4C BD E1 01 0C */ stmw r15, 0x10c(r1)
/* 80152BF0 0014FB50 FF 80 08 90 */ fmr f28, f1
/* 80152BF4 0014FB54 7C 7A 1B 78 */ mr r26, r3
/* 80152BF8 0014FB58 FF A0 10 90 */ fmr f29, f2
/* 80152BFC 0014FB5C 82 21 01 98 */ lwz r17, 0x198(r1)
/* 80152C00 0014FB60 FF C0 18 90 */ fmr f30, f3
/* 80152C04 0014FB64 8A 41 01 9F */ lbz r18, 0x19f(r1)
/* 80152C08 0014FB68 FF E0 20 90 */ fmr f31, f4
/* 80152C0C 0014FB6C 82 61 01 A0 */ lwz r19, 0x1a0(r1)
/* 80152C10 0014FB70 82 81 01 A4 */ lwz r20, 0x1a4(r1)
/* 80152C14 0014FB74 7C 9B 23 78 */ mr r27, r4
/* 80152C18 0014FB78 82 A1 01 A8 */ lwz r21, 0x1a8(r1)
/* 80152C1C 0014FB7C 7C BC 2B 78 */ mr r28, r5
/* 80152C20 0014FB80 82 C1 01 AC */ lwz r22, 0x1ac(r1)
/* 80152C24 0014FB84 7C DD 33 78 */ mr r29, r6
/* 80152C28 0014FB88 A2 E1 01 B2 */ lhz r23, 0x1b2(r1)
/* 80152C2C 0014FB8C 7C FE 3B 78 */ mr r30, r7
/* 80152C30 0014FB90 A3 01 01 B6 */ lhz r24, 0x1b6(r1)
/* 80152C34 0014FB94 7D 1F 43 78 */ mr r31, r8
/* 80152C38 0014FB98 A3 21 01 BA */ lhz r25, 0x1ba(r1)
/* 80152C3C 0014FB9C 7D 2F 4B 78 */ mr r15, r9
/* 80152C40 0014FBA0 7D 50 53 78 */ mr r16, r10
/* 80152C44 0014FBA4 38 61 00 B8 */ addi r3, r1, 0xb8
/* 80152C48 0014FBA8 4B EE 7B 5D */ bl CModelDataNull__10CModelDataFv
/* 80152C4C 0014FBAC 38 61 00 50 */ addi r3, r1, 0x50
/* 80152C50 0014FBB0 4B EC 81 E9 */ bl None__16CActorParametersFv
/* 80152C54 0014FBB4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80152C58 0014FBB8 38 80 00 00 */ li r4, 0
/* 80152C5C 0014FBBC A1 9B 00 00 */ lhz r12, 0(r27)
/* 80152C60 0014FBC0 39 61 00 50 */ addi r11, r1, 0x50
/* 80152C64 0014FBC4 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80152C68 0014FBC8 38 01 00 10 */ addi r0, r1, 0x10
/* 80152C6C 0014FBCC 7F 43 D3 78 */ mr r3, r26
/* 80152C70 0014FBD0 7E 45 93 78 */ mr r5, r18
/* 80152C74 0014FBD4 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80152C78 0014FBD8 7F 86 E3 78 */ mr r6, r28
/* 80152C7C 0014FBDC 7F A7 EB 78 */ mr r7, r29
/* 80152C80 0014FBE0 7F C8 F3 78 */ mr r8, r30
/* 80152C84 0014FBE4 90 81 00 18 */ stw r4, 0x18(r1)
/* 80152C88 0014FBE8 38 81 00 14 */ addi r4, r1, 0x14
/* 80152C8C 0014FBEC 39 21 00 B8 */ addi r9, r1, 0xb8
/* 80152C90 0014FBF0 39 41 00 18 */ addi r10, r1, 0x18
/* 80152C94 0014FBF4 B1 81 00 14 */ sth r12, 0x14(r1)
/* 80152C98 0014FBF8 91 61 00 08 */ stw r11, 8(r1)
/* 80152C9C 0014FBFC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80152CA0 0014FC00 4B F0 2B 81 */ bl "__ct__6CActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC16CActorParameters9TUniqueId"
/* 80152CA4 0014FC04 38 61 00 50 */ addi r3, r1, 0x50
/* 80152CA8 0014FC08 38 80 FF FF */ li r4, -1
/* 80152CAC 0014FC0C 4B FB 39 5D */ bl __dt__16CActorParametersFv
/* 80152CB0 0014FC10 38 61 00 B8 */ addi r3, r1, 0xb8
/* 80152CB4 0014FC14 38 80 FF FF */ li r4, -1
/* 80152CB8 0014FC18 4B FC 3D 95 */ bl __dt__10CModelDataFv
/* 80152CBC 0014FC1C 3C 60 80 3E */ lis r3, lbl_803E2B68@ha
/* 80152CC0 0014FC20 7D E4 7B 78 */ mr r4, r15
/* 80152CC4 0014FC24 38 03 2B 68 */ addi r0, r3, lbl_803E2B68@l
/* 80152CC8 0014FC28 38 7A 00 EC */ addi r3, r26, 0xec
/* 80152CCC 0014FC2C 90 1A 00 00 */ stw r0, 0(r26)
/* 80152CD0 0014FC30 93 FA 00 E8 */ stw r31, 0xe8(r26)
/* 80152CD4 0014FC34 48 1E B4 8D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80152CD8 0014FC38 D3 9A 00 FC */ stfs f28, 0xfc(r26)
/* 80152CDC 0014FC3C 3C 60 80 5A */ lis r3, skIdentity4f@ha
/* 80152CE0 0014FC40 38 83 66 70 */ addi r4, r3, skIdentity4f@l
/* 80152CE4 0014FC44 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 80152CE8 0014FC48 D3 BA 01 00 */ stfs f29, 0x100(r26)
/* 80152CEC 0014FC4C 38 7A 01 3C */ addi r3, r26, 0x13c
/* 80152CF0 0014FC50 D3 DA 01 04 */ stfs f30, 0x104(r26)
/* 80152CF4 0014FC54 D3 FA 01 08 */ stfs f31, 0x108(r26)
/* 80152CF8 0014FC58 C0 30 00 00 */ lfs f1, 0(r16)
/* 80152CFC 0014FC5C D0 3A 01 0C */ stfs f1, 0x10c(r26)
/* 80152D00 0014FC60 C0 30 00 04 */ lfs f1, 4(r16)
/* 80152D04 0014FC64 D0 3A 01 10 */ stfs f1, 0x110(r26)
/* 80152D08 0014FC68 C0 30 00 08 */ lfs f1, 8(r16)
/* 80152D0C 0014FC6C D0 3A 01 14 */ stfs f1, 0x114(r26)
/* 80152D10 0014FC70 80 11 00 00 */ lwz r0, 0(r17)
/* 80152D14 0014FC74 90 1A 01 18 */ stw r0, 0x118(r26)
/* 80152D18 0014FC78 80 13 00 00 */ lwz r0, 0(r19)
/* 80152D1C 0014FC7C 90 1A 01 1C */ stw r0, 0x11c(r26)
/* 80152D20 0014FC80 88 13 00 04 */ lbz r0, 4(r19)
/* 80152D24 0014FC84 98 1A 01 20 */ stb r0, 0x120(r26)
/* 80152D28 0014FC88 C0 33 00 08 */ lfs f1, 8(r19)
/* 80152D2C 0014FC8C D0 3A 01 24 */ stfs f1, 0x124(r26)
/* 80152D30 0014FC90 C0 33 00 0C */ lfs f1, 0xc(r19)
/* 80152D34 0014FC94 D0 3A 01 28 */ stfs f1, 0x128(r26)
/* 80152D38 0014FC98 C0 33 00 10 */ lfs f1, 0x10(r19)
/* 80152D3C 0014FC9C D0 3A 01 2C */ stfs f1, 0x12c(r26)
/* 80152D40 0014FCA0 C0 33 00 14 */ lfs f1, 0x14(r19)
/* 80152D44 0014FCA4 D0 3A 01 30 */ stfs f1, 0x130(r26)
/* 80152D48 0014FCA8 88 13 00 18 */ lbz r0, 0x18(r19)
/* 80152D4C 0014FCAC 98 1A 01 34 */ stb r0, 0x134(r26)
/* 80152D50 0014FCB0 D0 1A 01 38 */ stfs f0, 0x138(r26)
/* 80152D54 0014FCB4 48 1B FE 21 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80152D58 0014FCB8 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 80152D5C 0014FCBC 7E E3 BB 78 */ mr r3, r23
/* 80152D60 0014FCC0 D0 1A 01 6C */ stfs f0, 0x16c(r26)
/* 80152D64 0014FCC4 48 19 5C 4D */ bl TranslateSFXID__11CSfxManagerFUs
/* 80152D68 0014FCC8 B0 7A 01 70 */ sth r3, 0x170(r26)
/* 80152D6C 0014FCCC 7F 03 C3 78 */ mr r3, r24
/* 80152D70 0014FCD0 48 19 5C 41 */ bl TranslateSFXID__11CSfxManagerFUs
/* 80152D74 0014FCD4 B0 7A 01 72 */ sth r3, 0x172(r26)
/* 80152D78 0014FCD8 7F 23 CB 78 */ mr r3, r25
/* 80152D7C 0014FCDC 48 19 5C 35 */ bl TranslateSFXID__11CSfxManagerFUs
/* 80152D80 0014FCE0 B0 7A 01 74 */ sth r3, 0x174(r26)
/* 80152D84 0014FCE4 38 00 00 00 */ li r0, 0
/* 80152D88 0014FCE8 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 80152D8C 0014FCEC 38 7A 01 84 */ addi r3, r26, 0x184
/* 80152D90 0014FCF0 90 1A 01 78 */ stw r0, 0x178(r26)
/* 80152D94 0014FCF4 38 80 00 06 */ li r4, 6
/* 80152D98 0014FCF8 38 AD 8C 50 */ addi r5, r13, lbl_805A7810@sda21
/* 80152D9C 0014FCFC D0 1A 01 80 */ stfs f0, 0x180(r26)
/* 80152DA0 0014FD00 48 00 01 B5 */ bl "__ct__Q24rstl36vector<f,Q24rstl17rmemory_allocator>FRCQ24rstl17rmemory_allocator"
/* 80152DA4 0014FD04 C0 02 9D 9C */ lfs f0, lbl_805ABABC@sda21(r2)
/* 80152DA8 0014FD08 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80152DAC 0014FD0C 38 A0 00 00 */ li r5, 0
/* 80152DB0 0014FD10 38 00 00 02 */ li r0, 2
/* 80152DB4 0014FD14 D0 1A 01 94 */ stfs f0, 0x194(r26)
/* 80152DB8 0014FD18 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 80152DBC 0014FD1C 38 60 00 01 */ li r3, 1
/* 80152DC0 0014FD20 90 BA 01 9C */ stw r5, 0x19c(r26)
/* 80152DC4 0014FD24 90 BA 01 A0 */ stw r5, 0x1a0(r26)
/* 80152DC8 0014FD28 90 BA 01 A4 */ stw r5, 0x1a4(r26)
/* 80152DCC 0014FD2C 90 1A 01 A8 */ stw r0, 0x1a8(r26)
/* 80152DD0 0014FD30 C0 04 00 00 */ lfs f0, 0(r4)
/* 80152DD4 0014FD34 D0 1A 01 AC */ stfs f0, 0x1ac(r26)
/* 80152DD8 0014FD38 C0 04 00 04 */ lfs f0, 4(r4)
/* 80152DDC 0014FD3C D0 1A 01 B0 */ stfs f0, 0x1b0(r26)
/* 80152DE0 0014FD40 C0 04 00 08 */ lfs f0, 8(r4)
/* 80152DE4 0014FD44 D0 1A 01 B4 */ stfs f0, 0x1b4(r26)
/* 80152DE8 0014FD48 98 7A 01 B8 */ stb r3, 0x1b8(r26)
/* 80152DEC 0014FD4C 92 9A 01 BC */ stw r20, 0x1bc(r26)
/* 80152DF0 0014FD50 92 BA 01 C0 */ stw r21, 0x1c0(r26)
/* 80152DF4 0014FD54 92 DA 01 C4 */ stw r22, 0x1c4(r26)
/* 80152DF8 0014FD58 98 BA 01 E0 */ stb r5, 0x1e0(r26)
/* 80152DFC 0014FD5C 88 1A 01 E4 */ lbz r0, 0x1e4(r26)
/* 80152E00 0014FD60 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 80152E04 0014FD64 98 1A 01 E4 */ stb r0, 0x1e4(r26)
/* 80152E08 0014FD68 88 1A 01 E4 */ lbz r0, 0x1e4(r26)
/* 80152E0C 0014FD6C 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 80152E10 0014FD70 98 1A 01 E4 */ stb r0, 0x1e4(r26)
/* 80152E14 0014FD74 88 1A 01 E4 */ lbz r0, 0x1e4(r26)
/* 80152E18 0014FD78 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 80152E1C 0014FD7C 98 1A 01 E4 */ stb r0, 0x1e4(r26)
/* 80152E20 0014FD80 88 1A 01 E4 */ lbz r0, 0x1e4(r26)
/* 80152E24 0014FD84 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b
/* 80152E28 0014FD88 98 1A 01 E4 */ stb r0, 0x1e4(r26)
/* 80152E2C 0014FD8C 88 1A 01 E4 */ lbz r0, 0x1e4(r26)
/* 80152E30 0014FD90 50 A0 07 FE */ rlwimi r0, r5, 0, 0x1f, 0x1f
/* 80152E34 0014FD94 98 1A 01 E4 */ stb r0, 0x1e4(r26)
/* 80152E38 0014FD98 88 1A 01 E5 */ lbz r0, 0x1e5(r26)
/* 80152E3C 0014FD9C 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 80152E40 0014FDA0 98 1A 01 E5 */ stb r0, 0x1e5(r26)
/* 80152E44 0014FDA4 88 1A 01 E5 */ lbz r0, 0x1e5(r26)
/* 80152E48 0014FDA8 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 80152E4C 0014FDAC 98 1A 01 E5 */ stb r0, 0x1e5(r26)
/* 80152E50 0014FDB0 88 1A 01 E5 */ lbz r0, 0x1e5(r26)
/* 80152E54 0014FDB4 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a
/* 80152E58 0014FDB8 98 1A 01 E5 */ stb r0, 0x1e5(r26)
/* 80152E5C 0014FDBC 98 BA 01 F0 */ stb r5, 0x1f0(r26)
/* 80152E60 0014FDC0 80 1A 00 E8 */ lwz r0, 0xe8(r26)
/* 80152E64 0014FDC4 2C 00 00 1A */ cmpwi r0, 0x1a
/* 80152E68 0014FDC8 40 82 00 B4 */ bne lbl_80152F1C
/* 80152E6C 0014FDCC C0 22 9D B4 */ lfs f1, lbl_805ABAD4@sda21(r2)
/* 80152E70 0014FDD0 38 61 00 38 */ addi r3, r1, 0x38
/* 80152E74 0014FDD4 C0 02 9D BC */ lfs f0, lbl_805ABADC@sda21(r2)
/* 80152E78 0014FDD8 38 81 00 2C */ addi r4, r1, 0x2c
/* 80152E7C 0014FDDC D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80152E80 0014FDE0 38 A1 00 20 */ addi r5, r1, 0x20
/* 80152E84 0014FDE4 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80152E88 0014FDE8 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 80152E8C 0014FDEC D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80152E90 0014FDF0 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80152E94 0014FDF4 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 80152E98 0014FDF8 48 1E 56 71 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 80152E9C 0014FDFC 88 1A 01 E0 */ lbz r0, 0x1e0(r26)
/* 80152EA0 0014FE00 28 00 00 00 */ cmplwi r0, 0
/* 80152EA4 0014FE04 40 82 00 48 */ bne lbl_80152EEC
/* 80152EA8 0014FE08 34 7A 01 C8 */ addic. r3, r26, 0x1c8
/* 80152EAC 0014FE0C 41 82 00 34 */ beq lbl_80152EE0
/* 80152EB0 0014FE10 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 80152EB4 0014FE14 D0 03 00 00 */ stfs f0, 0(r3)
/* 80152EB8 0014FE18 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80152EBC 0014FE1C D0 03 00 04 */ stfs f0, 4(r3)
/* 80152EC0 0014FE20 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 80152EC4 0014FE24 D0 03 00 08 */ stfs f0, 8(r3)
/* 80152EC8 0014FE28 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 80152ECC 0014FE2C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80152ED0 0014FE30 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 80152ED4 0014FE34 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80152ED8 0014FE38 C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 80152EDC 0014FE3C D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_80152EE0:
/* 80152EE0 0014FE40 38 00 00 01 */ li r0, 1
/* 80152EE4 0014FE44 98 1A 01 E0 */ stb r0, 0x1e0(r26)
/* 80152EE8 0014FE48 48 00 00 34 */ b lbl_80152F1C
lbl_80152EEC:
/* 80152EEC 0014FE4C 80 61 00 38 */ lwz r3, 0x38(r1)
/* 80152EF0 0014FE50 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80152EF4 0014FE54 90 7A 01 C8 */ stw r3, 0x1c8(r26)
/* 80152EF8 0014FE58 90 1A 01 CC */ stw r0, 0x1cc(r26)
/* 80152EFC 0014FE5C 80 01 00 40 */ lwz r0, 0x40(r1)
/* 80152F00 0014FE60 90 1A 01 D0 */ stw r0, 0x1d0(r26)
/* 80152F04 0014FE64 80 61 00 44 */ lwz r3, 0x44(r1)
/* 80152F08 0014FE68 80 01 00 48 */ lwz r0, 0x48(r1)
/* 80152F0C 0014FE6C 90 7A 01 D4 */ stw r3, 0x1d4(r26)
/* 80152F10 0014FE70 90 1A 01 D8 */ stw r0, 0x1d8(r26)
/* 80152F14 0014FE74 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80152F18 0014FE78 90 1A 01 DC */ stw r0, 0x1dc(r26)
lbl_80152F1C:
/* 80152F1C 0014FE7C 7F 43 D3 78 */ mr r3, r26
/* 80152F20 0014FE80 E3 E1 01 88 */ psq_l f31, 392(r1), 0, qr0
/* 80152F24 0014FE84 CB E1 01 80 */ lfd f31, 0x180(r1)
/* 80152F28 0014FE88 E3 C1 01 78 */ psq_l f30, 376(r1), 0, qr0
/* 80152F2C 0014FE8C CB C1 01 70 */ lfd f30, 0x170(r1)
/* 80152F30 0014FE90 E3 A1 01 68 */ psq_l f29, 360(r1), 0, qr0
/* 80152F34 0014FE94 CB A1 01 60 */ lfd f29, 0x160(r1)
/* 80152F38 0014FE98 E3 81 01 58 */ psq_l f28, 344(r1), 0, qr0
/* 80152F3C 0014FE9C CB 81 01 50 */ lfd f28, 0x150(r1)
/* 80152F40 0014FEA0 B9 E1 01 0C */ lmw r15, 0x10c(r1)
/* 80152F44 0014FEA4 80 01 01 94 */ lwz r0, 0x194(r1)
/* 80152F48 0014FEA8 7C 08 03 A6 */ mtlr r0
/* 80152F4C 0014FEAC 38 21 01 90 */ addi r1, r1, 0x190
/* 80152F50 0014FEB0 4E 80 00 20 */ blr
.global "__ct__Q24rstl36vector<f,Q24rstl17rmemory_allocator>FRCQ24rstl17rmemory_allocator"
"__ct__Q24rstl36vector<f,Q24rstl17rmemory_allocator>FRCQ24rstl17rmemory_allocator":
/* 80152F54 0014FEB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80152F58 0014FEB8 7C 08 02 A6 */ mflr r0
/* 80152F5C 0014FEBC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80152F60 0014FEC0 38 00 00 00 */ li r0, 0
/* 80152F64 0014FEC4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80152F68 0014FEC8 7C 7F 1B 78 */ mr r31, r3
/* 80152F6C 0014FECC 90 03 00 04 */ stw r0, 4(r3)
/* 80152F70 0014FED0 90 03 00 08 */ stw r0, 8(r3)
/* 80152F74 0014FED4 90 03 00 0C */ stw r0, 0xc(r3)
/* 80152F78 0014FED8 48 00 00 1D */ bl sub_80152f94
/* 80152F7C 0014FEDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80152F80 0014FEE0 7F E3 FB 78 */ mr r3, r31
/* 80152F84 0014FEE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80152F88 0014FEE8 7C 08 03 A6 */ mtlr r0
/* 80152F8C 0014FEEC 38 21 00 10 */ addi r1, r1, 0x10
/* 80152F90 0014FEF0 4E 80 00 20 */ blr
.global sub_80152f94
sub_80152f94:
/* 80152F94 0014FEF4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80152F98 0014FEF8 7C 08 02 A6 */ mflr r0
/* 80152F9C 0014FEFC 90 01 00 34 */ stw r0, 0x34(r1)
/* 80152FA0 0014FF00 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80152FA4 0014FF04 7C BF 2B 78 */ mr r31, r5
/* 80152FA8 0014FF08 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80152FAC 0014FF0C 7C 9E 23 78 */ mr r30, r4
/* 80152FB0 0014FF10 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80152FB4 0014FF14 7C 7D 1B 78 */ mr r29, r3
/* 80152FB8 0014FF18 80 03 00 04 */ lwz r0, 4(r3)
/* 80152FBC 0014FF1C 7C 00 F0 00 */ cmpw r0, r30
/* 80152FC0 0014FF20 41 82 00 80 */ beq lbl_80153040
/* 80152FC4 0014FF24 7C 1E 00 00 */ cmpw r30, r0
/* 80152FC8 0014FF28 40 81 00 40 */ ble lbl_80153008
/* 80152FCC 0014FF2C 4B F0 AE 2D */ bl "reserve__Q24rstl36vector<f,Q24rstl17rmemory_allocator>Fi"
/* 80152FD0 0014FF30 80 9D 00 04 */ lwz r4, 4(r29)
/* 80152FD4 0014FF34 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 80152FD8 0014FF38 54 80 10 3A */ slwi r0, r4, 2
/* 80152FDC 0014FF3C 7C 84 F0 51 */ subf. r4, r4, r30
/* 80152FE0 0014FF40 7C 63 02 14 */ add r3, r3, r0
/* 80152FE4 0014FF44 7C 89 03 A6 */ mtctr r4
/* 80152FE8 0014FF48 40 81 00 54 */ ble lbl_8015303C
lbl_80152FEC:
/* 80152FEC 0014FF4C 28 03 00 00 */ cmplwi r3, 0
/* 80152FF0 0014FF50 41 82 00 0C */ beq lbl_80152FFC
/* 80152FF4 0014FF54 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80152FF8 0014FF58 D0 03 00 00 */ stfs f0, 0(r3)
lbl_80152FFC:
/* 80152FFC 0014FF5C 38 63 00 04 */ addi r3, r3, 4
/* 80153000 0014FF60 42 00 FF EC */ bdnz lbl_80152FEC
/* 80153004 0014FF64 48 00 00 38 */ b lbl_8015303C
lbl_80153008:
/* 80153008 0014FF68 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8015300C 0014FF6C 54 03 10 3A */ slwi r3, r0, 2
/* 80153010 0014FF70 57 C0 10 3A */ slwi r0, r30, 2
/* 80153014 0014FF74 7C A4 02 14 */ add r5, r4, r0
/* 80153018 0014FF78 7C 04 1A 14 */ add r0, r4, r3
/* 8015301C 0014FF7C 90 A1 00 10 */ stw r5, 0x10(r1)
/* 80153020 0014FF80 90 01 00 08 */ stw r0, 8(r1)
/* 80153024 0014FF84 90 01 00 0C */ stw r0, 0xc(r1)
/* 80153028 0014FF88 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8015302C 0014FF8C 48 00 00 08 */ b lbl_80153034
lbl_80153030:
/* 80153030 0014FF90 38 A5 00 04 */ addi r5, r5, 4
lbl_80153034:
/* 80153034 0014FF94 7C 05 00 40 */ cmplw r5, r0
/* 80153038 0014FF98 40 82 FF F8 */ bne lbl_80153030
lbl_8015303C:
/* 8015303C 0014FF9C 93 DD 00 04 */ stw r30, 4(r29)
lbl_80153040:
/* 80153040 0014FFA0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80153044 0014FFA4 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80153048 0014FFA8 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8015304C 0014FFAC 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80153050 0014FFB0 7C 08 03 A6 */ mtlr r0
/* 80153054 0014FFB4 38 21 00 30 */ addi r1, r1, 0x30
/* 80153058 0014FFB8 4E 80 00 20 */ blr
.global "sort<Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q236@unnamed@CScriptSpecialFunction_cpp@11CRingSorter>__4rstlFQ24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController"
"sort<Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q236@unnamed@CScriptSpecialFunction_cpp@11CRingSorter>__4rstlFQ24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController":
/* 8015305C 0014FFBC 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 80153060 0014FFC0 7C 08 02 A6 */ mflr r0
/* 80153064 0014FFC4 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 80153068 0014FFC8 BF 41 00 D8 */ stmw r26, 0xd8(r1)
/* 8015306C 0014FFCC 7C 9D 23 78 */ mr r29, r4
/* 80153070 0014FFD0 7C 7C 1B 78 */ mr r28, r3
/* 80153074 0014FFD4 3C 80 2A AB */ lis r4, 0x2AAAAAAB@ha
/* 80153078 0014FFD8 38 84 AA AB */ addi r4, r4, 0x2AAAAAAB@l
/* 8015307C 0014FFDC 7C BE 2B 78 */ mr r30, r5
/* 80153080 0014FFE0 80 63 00 00 */ lwz r3, 0(r3)
/* 80153084 0014FFE4 80 DD 00 00 */ lwz r6, 0(r29)
/* 80153088 0014FFE8 7C 03 30 50 */ subf r0, r3, r6
/* 8015308C 0014FFEC 7C 04 00 96 */ mulhw r0, r4, r0
/* 80153090 0014FFF0 7C 00 16 70 */ srawi r0, r0, 2
/* 80153094 0014FFF4 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80153098 0014FFF8 7C 80 22 14 */ add r4, r0, r4
/* 8015309C 0014FFFC 2C 04 00 01 */ cmpwi r4, 1
/* 801530A0 00150000 40 81 03 28 */ ble lbl_801533C8
/* 801530A4 00150004 2C 04 00 14 */ cmpwi r4, 0x14
/* 801530A8 00150008 41 81 00 30 */ bgt lbl_801530D8
/* 801530AC 0015000C 80 FE 00 00 */ lwz r7, 0(r30)
/* 801530B0 00150010 38 61 00 44 */ addi r3, r1, 0x44
/* 801530B4 00150014 80 DD 00 00 */ lwz r6, 0(r29)
/* 801530B8 00150018 38 81 00 40 */ addi r4, r1, 0x40
/* 801530BC 0015001C 80 1C 00 00 */ lwz r0, 0(r28)
/* 801530C0 00150020 38 A1 00 3C */ addi r5, r1, 0x3c
/* 801530C4 00150024 90 E1 00 3C */ stw r7, 0x3c(r1)
/* 801530C8 00150028 90 C1 00 40 */ stw r6, 0x40(r1)
/* 801530CC 0015002C 90 01 00 44 */ stw r0, 0x44(r1)
/* 801530D0 00150030 48 00 07 BD */ bl sub_8015388c
/* 801530D4 00150034 48 00 02 F4 */ b lbl_801533C8
lbl_801530D8:
/* 801530D8 00150038 54 80 0F FE */ srwi r0, r4, 0x1f
/* 801530DC 0015003C 38 A6 FF E8 */ addi r5, r6, -24
/* 801530E0 00150040 7C 80 22 14 */ add r4, r0, r4
/* 801530E4 00150044 80 1E 00 00 */ lwz r0, 0(r30)
/* 801530E8 00150048 7C 84 0E 70 */ srawi r4, r4, 1
/* 801530EC 0015004C 90 A1 00 4C */ stw r5, 0x4c(r1)
/* 801530F0 00150050 1C 84 00 18 */ mulli r4, r4, 0x18
/* 801530F4 00150054 38 C1 00 38 */ addi r6, r1, 0x38
/* 801530F8 00150058 90 01 00 38 */ stw r0, 0x38(r1)
/* 801530FC 0015005C 7F 43 22 14 */ add r26, r3, r4
/* 80153100 00150060 7F 44 D3 78 */ mr r4, r26
/* 80153104 00150064 48 00 03 F5 */ bl sub_801534f8
/* 80153108 00150068 80 9C 00 00 */ lwz r4, 0(r28)
/* 8015310C 0015006C A0 DA 00 00 */ lhz r6, 0(r26)
/* 80153110 00150070 80 61 00 4C */ lwz r3, 0x4c(r1)
/* 80153114 00150074 38 84 00 18 */ addi r4, r4, 0x18
/* 80153118 00150078 C0 7A 00 04 */ lfs f3, 4(r26)
/* 8015311C 0015007C 54 DF 04 3E */ clrlwi r31, r6, 0x10
/* 80153120 00150080 88 BA 00 08 */ lbz r5, 8(r26)
/* 80153124 00150084 38 03 FF E8 */ addi r0, r3, -24
/* 80153128 00150088 C0 5A 00 0C */ lfs f2, 0xc(r26)
/* 8015312C 0015008C C0 3A 00 10 */ lfs f1, 0x10(r26)
/* 80153130 00150090 C0 1A 00 14 */ lfs f0, 0x14(r26)
/* 80153134 00150094 B0 C1 00 B8 */ sth r6, 0xb8(r1)
/* 80153138 00150098 D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 8015313C 0015009C 98 A1 00 C0 */ stb r5, 0xc0(r1)
/* 80153140 001500A0 D0 41 00 C4 */ stfs f2, 0xc4(r1)
/* 80153144 001500A4 D0 21 00 C8 */ stfs f1, 0xc8(r1)
/* 80153148 001500A8 D0 01 00 CC */ stfs f0, 0xcc(r1)
/* 8015314C 001500AC 90 81 00 48 */ stw r4, 0x48(r1)
/* 80153150 001500B0 90 01 00 4C */ stw r0, 0x4c(r1)
/* 80153154 001500B4 48 00 00 10 */ b lbl_80153164
lbl_80153158:
/* 80153158 001500B8 80 61 00 48 */ lwz r3, 0x48(r1)
/* 8015315C 001500BC 38 03 00 18 */ addi r0, r3, 0x18
/* 80153160 001500C0 90 01 00 48 */ stw r0, 0x48(r1)
lbl_80153164:
/* 80153164 001500C4 80 A1 00 48 */ lwz r5, 0x48(r1)
/* 80153168 001500C8 38 81 00 10 */ addi r4, r1, 0x10
/* 8015316C 001500CC 80 7E 00 00 */ lwz r3, 0(r30)
/* 80153170 001500D0 A0 05 00 00 */ lhz r0, 0(r5)
/* 80153174 001500D4 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80153178 001500D8 4B EF 94 2D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8015317C 001500DC 7C 64 1B 78 */ mr r4, r3
/* 80153180 001500E0 38 61 00 68 */ addi r3, r1, 0x68
/* 80153184 001500E4 4B F5 CB 0D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153188 001500E8 83 63 00 04 */ lwz r27, 4(r3)
/* 8015318C 001500EC 38 81 00 14 */ addi r4, r1, 0x14
/* 80153190 001500F0 80 7E 00 00 */ lwz r3, 0(r30)
/* 80153194 001500F4 B3 E1 00 14 */ sth r31, 0x14(r1)
/* 80153198 001500F8 4B EF 94 0D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8015319C 001500FC 7C 64 1B 78 */ mr r4, r3
/* 801531A0 00150100 38 61 00 60 */ addi r3, r1, 0x60
/* 801531A4 00150104 4B F5 CA ED */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 801531A8 00150108 28 1B 00 00 */ cmplwi r27, 0
/* 801531AC 0015010C 80 63 00 04 */ lwz r3, 4(r3)
/* 801531B0 00150110 41 82 00 4C */ beq lbl_801531FC
/* 801531B4 00150114 28 03 00 00 */ cmplwi r3, 0
/* 801531B8 00150118 41 82 00 44 */ beq lbl_801531FC
/* 801531BC 0015011C C0 A3 00 60 */ lfs f5, 0x60(r3)
/* 801531C0 00150120 C0 7B 00 60 */ lfs f3, 0x60(r27)
/* 801531C4 00150124 C0 83 00 50 */ lfs f4, 0x50(r3)
/* 801531C8 00150128 C0 23 00 40 */ lfs f1, 0x40(r3)
/* 801531CC 0015012C FC 03 28 40 */ fcmpo cr0, f3, f5
/* 801531D0 00150130 C0 5B 00 50 */ lfs f2, 0x50(r27)
/* 801531D4 00150134 C0 1B 00 40 */ lfs f0, 0x40(r27)
/* 801531D8 00150138 D0 21 00 94 */ stfs f1, 0x94(r1)
/* 801531DC 0015013C D0 81 00 98 */ stfs f4, 0x98(r1)
/* 801531E0 00150140 D0 A1 00 9C */ stfs f5, 0x9c(r1)
/* 801531E4 00150144 D0 01 00 88 */ stfs f0, 0x88(r1)
/* 801531E8 00150148 D0 41 00 8C */ stfs f2, 0x8c(r1)
/* 801531EC 0015014C D0 61 00 90 */ stfs f3, 0x90(r1)
/* 801531F0 00150150 7C 00 00 26 */ mfcr r0
/* 801531F4 00150154 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801531F8 00150158 48 00 00 08 */ b lbl_80153200
lbl_801531FC:
/* 801531FC 0015015C 38 00 00 00 */ li r0, 0
lbl_80153200:
/* 80153200 00150160 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80153204 00150164 40 82 FF 54 */ bne lbl_80153158
/* 80153208 00150168 A3 61 00 B8 */ lhz r27, 0xb8(r1)
/* 8015320C 0015016C 48 00 00 10 */ b lbl_8015321C
lbl_80153210:
/* 80153210 00150170 80 61 00 4C */ lwz r3, 0x4c(r1)
/* 80153214 00150174 38 03 FF E8 */ addi r0, r3, -24
/* 80153218 00150178 90 01 00 4C */ stw r0, 0x4c(r1)
lbl_8015321C:
/* 8015321C 0015017C B3 61 00 08 */ sth r27, 8(r1)
/* 80153220 00150180 38 81 00 08 */ addi r4, r1, 8
/* 80153224 00150184 80 7E 00 00 */ lwz r3, 0(r30)
/* 80153228 00150188 4B EF 93 7D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8015322C 0015018C 7C 64 1B 78 */ mr r4, r3
/* 80153230 00150190 38 61 00 58 */ addi r3, r1, 0x58
/* 80153234 00150194 4B F5 CA 5D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153238 00150198 80 A1 00 4C */ lwz r5, 0x4c(r1)
/* 8015323C 0015019C 38 81 00 0C */ addi r4, r1, 0xc
/* 80153240 001501A0 83 43 00 04 */ lwz r26, 4(r3)
/* 80153244 001501A4 A0 05 00 00 */ lhz r0, 0(r5)
/* 80153248 001501A8 80 7E 00 00 */ lwz r3, 0(r30)
/* 8015324C 001501AC B0 01 00 0C */ sth r0, 0xc(r1)
/* 80153250 001501B0 4B EF 93 55 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80153254 001501B4 7C 64 1B 78 */ mr r4, r3
/* 80153258 001501B8 38 61 00 50 */ addi r3, r1, 0x50
/* 8015325C 001501BC 4B F5 CA 35 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153260 001501C0 28 1A 00 00 */ cmplwi r26, 0
/* 80153264 001501C4 80 63 00 04 */ lwz r3, 4(r3)
/* 80153268 001501C8 41 82 00 4C */ beq lbl_801532B4
/* 8015326C 001501CC 28 03 00 00 */ cmplwi r3, 0
/* 80153270 001501D0 41 82 00 44 */ beq lbl_801532B4
/* 80153274 001501D4 C0 A3 00 60 */ lfs f5, 0x60(r3)
/* 80153278 001501D8 C0 7A 00 60 */ lfs f3, 0x60(r26)
/* 8015327C 001501DC C0 83 00 50 */ lfs f4, 0x50(r3)
/* 80153280 001501E0 C0 23 00 40 */ lfs f1, 0x40(r3)
/* 80153284 001501E4 FC 03 28 40 */ fcmpo cr0, f3, f5
/* 80153288 001501E8 C0 5A 00 50 */ lfs f2, 0x50(r26)
/* 8015328C 001501EC C0 1A 00 40 */ lfs f0, 0x40(r26)
/* 80153290 001501F0 D0 21 00 7C */ stfs f1, 0x7c(r1)
/* 80153294 001501F4 D0 81 00 80 */ stfs f4, 0x80(r1)
/* 80153298 001501F8 D0 A1 00 84 */ stfs f5, 0x84(r1)
/* 8015329C 001501FC D0 01 00 70 */ stfs f0, 0x70(r1)
/* 801532A0 00150200 D0 41 00 74 */ stfs f2, 0x74(r1)
/* 801532A4 00150204 D0 61 00 78 */ stfs f3, 0x78(r1)
/* 801532A8 00150208 7C 00 00 26 */ mfcr r0
/* 801532AC 0015020C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801532B0 00150210 48 00 00 08 */ b lbl_801532B8
lbl_801532B4:
/* 801532B4 00150214 38 00 00 00 */ li r0, 0
lbl_801532B8:
/* 801532B8 00150218 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801532BC 0015021C 40 82 FF 54 */ bne lbl_80153210
/* 801532C0 00150220 80 61 00 48 */ lwz r3, 0x48(r1)
/* 801532C4 00150224 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 801532C8 00150228 7C 03 00 40 */ cmplw r3, r0
/* 801532CC 0015022C 40 80 00 AC */ bge lbl_80153378
/* 801532D0 00150230 81 61 00 48 */ lwz r11, 0x48(r1)
/* 801532D4 00150234 81 81 00 4C */ lwz r12, 0x4c(r1)
/* 801532D8 00150238 A1 4B 00 00 */ lhz r10, 0(r11)
/* 801532DC 0015023C 38 6B 00 18 */ addi r3, r11, 0x18
/* 801532E0 00150240 C0 6B 00 04 */ lfs f3, 4(r11)
/* 801532E4 00150244 38 0C FF E8 */ addi r0, r12, -24
/* 801532E8 00150248 89 2B 00 08 */ lbz r9, 8(r11)
/* 801532EC 0015024C C0 0B 00 0C */ lfs f0, 0xc(r11)
/* 801532F0 00150250 C0 4B 00 10 */ lfs f2, 0x10(r11)
/* 801532F4 00150254 C0 2B 00 14 */ lfs f1, 0x14(r11)
/* 801532F8 00150258 A0 8C 00 00 */ lhz r4, 0(r12)
/* 801532FC 0015025C D0 01 00 AC */ stfs f0, 0xac(r1)
/* 80153300 00150260 B0 8B 00 00 */ sth r4, 0(r11)
/* 80153304 00150264 80 C1 00 AC */ lwz r6, 0xac(r1)
/* 80153308 00150268 C0 0C 00 04 */ lfs f0, 4(r12)
/* 8015330C 0015026C D0 41 00 B0 */ stfs f2, 0xb0(r1)
/* 80153310 00150270 D0 0B 00 04 */ stfs f0, 4(r11)
/* 80153314 00150274 80 A1 00 B0 */ lwz r5, 0xb0(r1)
/* 80153318 00150278 88 8C 00 08 */ lbz r4, 8(r12)
/* 8015331C 0015027C D0 21 00 B4 */ stfs f1, 0xb4(r1)
/* 80153320 00150280 98 8B 00 08 */ stb r4, 8(r11)
/* 80153324 00150284 80 81 00 B4 */ lwz r4, 0xb4(r1)
/* 80153328 00150288 81 0C 00 0C */ lwz r8, 0xc(r12)
/* 8015332C 0015028C 80 EC 00 10 */ lwz r7, 0x10(r12)
/* 80153330 00150290 91 81 00 30 */ stw r12, 0x30(r1)
/* 80153334 00150294 91 0B 00 0C */ stw r8, 0xc(r11)
/* 80153338 00150298 90 EB 00 10 */ stw r7, 0x10(r11)
/* 8015333C 0015029C 80 EC 00 14 */ lwz r7, 0x14(r12)
/* 80153340 001502A0 91 61 00 34 */ stw r11, 0x34(r1)
/* 80153344 001502A4 90 EB 00 14 */ stw r7, 0x14(r11)
/* 80153348 001502A8 B1 4C 00 00 */ sth r10, 0(r12)
/* 8015334C 001502AC D0 6C 00 04 */ stfs f3, 4(r12)
/* 80153350 001502B0 99 2C 00 08 */ stb r9, 8(r12)
/* 80153354 001502B4 90 CC 00 0C */ stw r6, 0xc(r12)
/* 80153358 001502B8 90 AC 00 10 */ stw r5, 0x10(r12)
/* 8015335C 001502BC B1 41 00 A0 */ sth r10, 0xa0(r1)
/* 80153360 001502C0 D0 61 00 A4 */ stfs f3, 0xa4(r1)
/* 80153364 001502C4 99 21 00 A8 */ stb r9, 0xa8(r1)
/* 80153368 001502C8 90 8C 00 14 */ stw r4, 0x14(r12)
/* 8015336C 001502CC 90 61 00 48 */ stw r3, 0x48(r1)
/* 80153370 001502D0 90 01 00 4C */ stw r0, 0x4c(r1)
/* 80153374 001502D4 4B FF FD F0 */ b lbl_80153164
lbl_80153378:
/* 80153378 001502D8 80 FE 00 00 */ lwz r7, 0(r30)
/* 8015337C 001502DC 38 61 00 2C */ addi r3, r1, 0x2c
/* 80153380 001502E0 80 C1 00 48 */ lwz r6, 0x48(r1)
/* 80153384 001502E4 38 81 00 28 */ addi r4, r1, 0x28
/* 80153388 001502E8 80 1C 00 00 */ lwz r0, 0(r28)
/* 8015338C 001502EC 38 A1 00 24 */ addi r5, r1, 0x24
/* 80153390 001502F0 90 E1 00 24 */ stw r7, 0x24(r1)
/* 80153394 001502F4 90 C1 00 28 */ stw r6, 0x28(r1)
/* 80153398 001502F8 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8015339C 001502FC 4B FF FC C1 */ bl "sort<Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q236@unnamed@CScriptSpecialFunction_cpp@11CRingSorter>__4rstlFQ24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController"
/* 801533A0 00150300 80 FE 00 00 */ lwz r7, 0(r30)
/* 801533A4 00150304 38 61 00 20 */ addi r3, r1, 0x20
/* 801533A8 00150308 80 DD 00 00 */ lwz r6, 0(r29)
/* 801533AC 0015030C 38 81 00 1C */ addi r4, r1, 0x1c
/* 801533B0 00150310 80 01 00 48 */ lwz r0, 0x48(r1)
/* 801533B4 00150314 38 A1 00 18 */ addi r5, r1, 0x18
/* 801533B8 00150318 90 E1 00 18 */ stw r7, 0x18(r1)
/* 801533BC 0015031C 90 C1 00 1C */ stw r6, 0x1c(r1)
/* 801533C0 00150320 90 01 00 20 */ stw r0, 0x20(r1)
/* 801533C4 00150324 4B FF FC 99 */ bl "sort<Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q236@unnamed@CScriptSpecialFunction_cpp@11CRingSorter>__4rstlFQ24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController,Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl176pointer_iterator<Q222CScriptSpecialFunction15SRingController"
lbl_801533C8:
/* 801533C8 00150328 BB 41 00 D8 */ lmw r26, 0xd8(r1)
/* 801533CC 0015032C 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 801533D0 00150330 7C 08 03 A6 */ mtlr r0
/* 801533D4 00150334 38 21 00 F0 */ addi r1, r1, 0xf0
/* 801533D8 00150338 4E 80 00 20 */ blr
.global "reserve__Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl78vector<Q222CScriptSpecialFunction15SRingController,Q24rstl17rmemory_allocator>Fi":
/* 801533DC 0015033C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801533E0 00150340 7C 08 02 A6 */ mflr r0
/* 801533E4 00150344 90 01 00 34 */ stw r0, 0x34(r1)
/* 801533E8 00150348 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801533EC 0015034C 7C 9F 23 78 */ mr r31, r4
/* 801533F0 00150350 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801533F4 00150354 7C 7E 1B 78 */ mr r30, r3
/* 801533F8 00150358 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801533FC 0015035C 80 03 00 08 */ lwz r0, 8(r3)
/* 80153400 00150360 7C 1F 00 00 */ cmpw r31, r0
/* 80153404 00150364 40 81 00 D8 */ ble lbl_801534DC
/* 80153408 00150368 1C 7F 00 18 */ mulli r3, r31, 0x18
/* 8015340C 0015036C 2C 03 00 00 */ cmpwi r3, 0
/* 80153410 00150370 40 82 00 0C */ bne lbl_8015341C
/* 80153414 00150374 3B A0 00 00 */ li r29, 0
/* 80153418 00150378 48 00 00 1C */ b lbl_80153434
lbl_8015341C:
/* 8015341C 0015037C 3C 80 80 3D */ lis r4, lbl_803D01D0@ha
/* 80153420 00150380 38 A0 00 00 */ li r5, 0
/* 80153424 00150384 38 84 01 D0 */ addi r4, r4, lbl_803D01D0@l
/* 80153428 00150388 38 84 00 15 */ addi r4, r4, 0x15
/* 8015342C 0015038C 48 1C 23 ED */ bl __nwa__FUlPCcPCc
/* 80153430 00150390 7C 7D 1B 78 */ mr r29, r3
lbl_80153434:
/* 80153434 00150394 80 1E 00 04 */ lwz r0, 4(r30)
/* 80153438 00150398 7F A4 EB 78 */ mr r4, r29
/* 8015343C 0015039C 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 80153440 001503A0 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80153444 001503A4 90 A1 00 10 */ stw r5, 0x10(r1)
/* 80153448 001503A8 7C 65 02 14 */ add r3, r5, r0
/* 8015344C 001503AC 90 A1 00 14 */ stw r5, 0x14(r1)
/* 80153450 001503B0 90 61 00 08 */ stw r3, 8(r1)
/* 80153454 001503B4 90 61 00 0C */ stw r3, 0xc(r1)
/* 80153458 001503B8 48 00 00 44 */ b lbl_8015349C
lbl_8015345C:
/* 8015345C 001503BC 28 04 00 00 */ cmplwi r4, 0
/* 80153460 001503C0 41 82 00 34 */ beq lbl_80153494
/* 80153464 001503C4 A0 05 00 00 */ lhz r0, 0(r5)
/* 80153468 001503C8 B0 04 00 00 */ sth r0, 0(r4)
/* 8015346C 001503CC C0 05 00 04 */ lfs f0, 4(r5)
/* 80153470 001503D0 D0 04 00 04 */ stfs f0, 4(r4)
/* 80153474 001503D4 88 05 00 08 */ lbz r0, 8(r5)
/* 80153478 001503D8 98 04 00 08 */ stb r0, 8(r4)
/* 8015347C 001503DC C0 05 00 0C */ lfs f0, 0xc(r5)
/* 80153480 001503E0 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80153484 001503E4 C0 05 00 10 */ lfs f0, 0x10(r5)
/* 80153488 001503E8 D0 04 00 10 */ stfs f0, 0x10(r4)
/* 8015348C 001503EC C0 05 00 14 */ lfs f0, 0x14(r5)
/* 80153490 001503F0 D0 04 00 14 */ stfs f0, 0x14(r4)
lbl_80153494:
/* 80153494 001503F4 38 84 00 18 */ addi r4, r4, 0x18
/* 80153498 001503F8 38 A5 00 18 */ addi r5, r5, 0x18
lbl_8015349C:
/* 8015349C 001503FC 7C 05 18 40 */ cmplw r5, r3
/* 801534A0 00150400 40 82 FF BC */ bne lbl_8015345C
/* 801534A4 00150404 80 1E 00 04 */ lwz r0, 4(r30)
/* 801534A8 00150408 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 801534AC 0015040C 1C 00 00 18 */ mulli r0, r0, 0x18
/* 801534B0 00150410 7C 64 1B 78 */ mr r4, r3
/* 801534B4 00150414 7C 03 02 14 */ add r0, r3, r0
/* 801534B8 00150418 48 00 00 08 */ b lbl_801534C0
lbl_801534BC:
/* 801534BC 0015041C 38 84 00 18 */ addi r4, r4, 0x18
lbl_801534C0:
/* 801534C0 00150420 7C 04 00 40 */ cmplw r4, r0
/* 801534C4 00150424 40 82 FF F8 */ bne lbl_801534BC
/* 801534C8 00150428 28 03 00 00 */ cmplwi r3, 0
/* 801534CC 0015042C 41 82 00 08 */ beq lbl_801534D4
/* 801534D0 00150430 48 1C 24 61 */ bl Free__7CMemoryFPCv
lbl_801534D4:
/* 801534D4 00150434 93 BE 00 0C */ stw r29, 0xc(r30)
/* 801534D8 00150438 93 FE 00 08 */ stw r31, 8(r30)
lbl_801534DC:
/* 801534DC 0015043C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801534E0 00150440 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801534E4 00150444 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801534E8 00150448 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801534EC 0015044C 7C 08 03 A6 */ mtlr r0
/* 801534F0 00150450 38 21 00 30 */ addi r1, r1, 0x30
/* 801534F4 00150454 4E 80 00 20 */ blr
.global sub_801534f8
sub_801534f8:
/* 801534F8 00150458 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 801534FC 0015045C 7C 08 02 A6 */ mflr r0
/* 80153500 00150460 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 80153504 00150464 BF 61 00 CC */ stmw r27, 0xcc(r1)
/* 80153508 00150468 7C 7C 1B 78 */ mr r28, r3
/* 8015350C 0015046C 7C 9D 23 78 */ mr r29, r4
/* 80153510 00150470 7C DF 33 78 */ mr r31, r6
/* 80153514 00150474 7C BE 2B 78 */ mr r30, r5
/* 80153518 00150478 A0 04 00 00 */ lhz r0, 0(r4)
/* 8015351C 0015047C 38 81 00 18 */ addi r4, r1, 0x18
/* 80153520 00150480 80 66 00 00 */ lwz r3, 0(r6)
/* 80153524 00150484 B0 01 00 18 */ sth r0, 0x18(r1)
/* 80153528 00150488 4B EF 90 7D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8015352C 0015048C 7C 64 1B 78 */ mr r4, r3
/* 80153530 00150490 38 61 00 48 */ addi r3, r1, 0x48
/* 80153534 00150494 4B F5 C7 5D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153538 00150498 83 63 00 04 */ lwz r27, 4(r3)
/* 8015353C 0015049C 38 81 00 1C */ addi r4, r1, 0x1c
/* 80153540 001504A0 A0 1C 00 00 */ lhz r0, 0(r28)
/* 80153544 001504A4 80 7F 00 00 */ lwz r3, 0(r31)
/* 80153548 001504A8 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8015354C 001504AC 4B EF 90 59 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80153550 001504B0 7C 64 1B 78 */ mr r4, r3
/* 80153554 001504B4 38 61 00 40 */ addi r3, r1, 0x40
/* 80153558 001504B8 4B F5 C7 39 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8015355C 001504BC 28 1B 00 00 */ cmplwi r27, 0
/* 80153560 001504C0 80 63 00 04 */ lwz r3, 4(r3)
/* 80153564 001504C4 41 82 00 4C */ beq lbl_801535B0
/* 80153568 001504C8 28 03 00 00 */ cmplwi r3, 0
/* 8015356C 001504CC 41 82 00 44 */ beq lbl_801535B0
/* 80153570 001504D0 C0 A3 00 60 */ lfs f5, 0x60(r3)
/* 80153574 001504D4 C0 7B 00 60 */ lfs f3, 0x60(r27)
/* 80153578 001504D8 C0 83 00 50 */ lfs f4, 0x50(r3)
/* 8015357C 001504DC C0 23 00 40 */ lfs f1, 0x40(r3)
/* 80153580 001504E0 FC 03 28 40 */ fcmpo cr0, f3, f5
/* 80153584 001504E4 C0 5B 00 50 */ lfs f2, 0x50(r27)
/* 80153588 001504E8 C0 1B 00 40 */ lfs f0, 0x40(r27)
/* 8015358C 001504EC D0 21 00 8C */ stfs f1, 0x8c(r1)
/* 80153590 001504F0 D0 81 00 90 */ stfs f4, 0x90(r1)
/* 80153594 001504F4 D0 A1 00 94 */ stfs f5, 0x94(r1)
/* 80153598 001504F8 D0 01 00 80 */ stfs f0, 0x80(r1)
/* 8015359C 001504FC D0 41 00 84 */ stfs f2, 0x84(r1)
/* 801535A0 00150500 D0 61 00 88 */ stfs f3, 0x88(r1)
/* 801535A4 00150504 7C 00 00 26 */ mfcr r0
/* 801535A8 00150508 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801535AC 0015050C 48 00 00 08 */ b lbl_801535B4
lbl_801535B0:
/* 801535B0 00150510 38 00 00 00 */ li r0, 0
lbl_801535B4:
/* 801535B4 00150514 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801535B8 00150518 41 82 00 88 */ beq lbl_80153640
/* 801535BC 0015051C A1 1C 00 00 */ lhz r8, 0(r28)
/* 801535C0 00150520 C0 7C 00 04 */ lfs f3, 4(r28)
/* 801535C4 00150524 88 FC 00 08 */ lbz r7, 8(r28)
/* 801535C8 00150528 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 801535CC 0015052C C0 5C 00 10 */ lfs f2, 0x10(r28)
/* 801535D0 00150530 C0 3C 00 14 */ lfs f1, 0x14(r28)
/* 801535D4 00150534 A0 1D 00 00 */ lhz r0, 0(r29)
/* 801535D8 00150538 D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 801535DC 0015053C B0 1C 00 00 */ sth r0, 0(r28)
/* 801535E0 00150540 80 81 00 A4 */ lwz r4, 0xa4(r1)
/* 801535E4 00150544 C0 1D 00 04 */ lfs f0, 4(r29)
/* 801535E8 00150548 D0 41 00 A8 */ stfs f2, 0xa8(r1)
/* 801535EC 0015054C D0 1C 00 04 */ stfs f0, 4(r28)
/* 801535F0 00150550 80 61 00 A8 */ lwz r3, 0xa8(r1)
/* 801535F4 00150554 88 1D 00 08 */ lbz r0, 8(r29)
/* 801535F8 00150558 D0 21 00 AC */ stfs f1, 0xac(r1)
/* 801535FC 0015055C 98 1C 00 08 */ stb r0, 8(r28)
/* 80153600 00150560 80 01 00 AC */ lwz r0, 0xac(r1)
/* 80153604 00150564 80 DD 00 0C */ lwz r6, 0xc(r29)
/* 80153608 00150568 80 BD 00 10 */ lwz r5, 0x10(r29)
/* 8015360C 0015056C B1 01 00 98 */ sth r8, 0x98(r1)
/* 80153610 00150570 90 DC 00 0C */ stw r6, 0xc(r28)
/* 80153614 00150574 90 BC 00 10 */ stw r5, 0x10(r28)
/* 80153618 00150578 80 BD 00 14 */ lwz r5, 0x14(r29)
/* 8015361C 0015057C D0 61 00 9C */ stfs f3, 0x9c(r1)
/* 80153620 00150580 90 BC 00 14 */ stw r5, 0x14(r28)
/* 80153624 00150584 B1 1D 00 00 */ sth r8, 0(r29)
/* 80153628 00150588 D0 7D 00 04 */ stfs f3, 4(r29)
/* 8015362C 0015058C 98 FD 00 08 */ stb r7, 8(r29)
/* 80153630 00150590 90 9D 00 0C */ stw r4, 0xc(r29)
/* 80153634 00150594 90 7D 00 10 */ stw r3, 0x10(r29)
/* 80153638 00150598 98 E1 00 A0 */ stb r7, 0xa0(r1)
/* 8015363C 0015059C 90 1D 00 14 */ stw r0, 0x14(r29)
lbl_80153640:
/* 80153640 001505A0 A0 1E 00 00 */ lhz r0, 0(r30)
/* 80153644 001505A4 38 81 00 10 */ addi r4, r1, 0x10
/* 80153648 001505A8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8015364C 001505AC B0 01 00 10 */ sth r0, 0x10(r1)
/* 80153650 001505B0 4B EF 8F 55 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80153654 001505B4 7C 64 1B 78 */ mr r4, r3
/* 80153658 001505B8 38 61 00 38 */ addi r3, r1, 0x38
/* 8015365C 001505BC 4B F5 C6 35 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153660 001505C0 83 63 00 04 */ lwz r27, 4(r3)
/* 80153664 001505C4 38 81 00 14 */ addi r4, r1, 0x14
/* 80153668 001505C8 A0 1D 00 00 */ lhz r0, 0(r29)
/* 8015366C 001505CC 80 7F 00 00 */ lwz r3, 0(r31)
/* 80153670 001505D0 B0 01 00 14 */ sth r0, 0x14(r1)
/* 80153674 001505D4 4B EF 8F 31 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80153678 001505D8 7C 64 1B 78 */ mr r4, r3
/* 8015367C 001505DC 38 61 00 30 */ addi r3, r1, 0x30
/* 80153680 001505E0 4B F5 C6 11 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153684 001505E4 28 1B 00 00 */ cmplwi r27, 0
/* 80153688 001505E8 80 63 00 04 */ lwz r3, 4(r3)
/* 8015368C 001505EC 41 82 00 4C */ beq lbl_801536D8
/* 80153690 001505F0 28 03 00 00 */ cmplwi r3, 0
/* 80153694 001505F4 41 82 00 44 */ beq lbl_801536D8
/* 80153698 001505F8 C0 A3 00 60 */ lfs f5, 0x60(r3)
/* 8015369C 001505FC C0 7B 00 60 */ lfs f3, 0x60(r27)
/* 801536A0 00150600 C0 83 00 50 */ lfs f4, 0x50(r3)
/* 801536A4 00150604 C0 23 00 40 */ lfs f1, 0x40(r3)
/* 801536A8 00150608 FC 03 28 40 */ fcmpo cr0, f3, f5
/* 801536AC 0015060C C0 5B 00 50 */ lfs f2, 0x50(r27)
/* 801536B0 00150610 C0 1B 00 40 */ lfs f0, 0x40(r27)
/* 801536B4 00150614 D0 21 00 74 */ stfs f1, 0x74(r1)
/* 801536B8 00150618 D0 81 00 78 */ stfs f4, 0x78(r1)
/* 801536BC 0015061C D0 A1 00 7C */ stfs f5, 0x7c(r1)
/* 801536C0 00150620 D0 01 00 68 */ stfs f0, 0x68(r1)
/* 801536C4 00150624 D0 41 00 6C */ stfs f2, 0x6c(r1)
/* 801536C8 00150628 D0 61 00 70 */ stfs f3, 0x70(r1)
/* 801536CC 0015062C 7C 00 00 26 */ mfcr r0
/* 801536D0 00150630 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801536D4 00150634 48 00 00 08 */ b lbl_801536DC
lbl_801536D8:
/* 801536D8 00150638 38 00 00 00 */ li r0, 0
lbl_801536DC:
/* 801536DC 0015063C 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801536E0 00150640 41 82 01 98 */ beq lbl_80153878
/* 801536E4 00150644 A0 BE 00 00 */ lhz r5, 0(r30)
/* 801536E8 00150648 38 81 00 08 */ addi r4, r1, 8
/* 801536EC 0015064C C0 9E 00 04 */ lfs f4, 4(r30)
/* 801536F0 00150650 88 7E 00 08 */ lbz r3, 8(r30)
/* 801536F4 00150654 C0 7E 00 0C */ lfs f3, 0xc(r30)
/* 801536F8 00150658 C0 5E 00 10 */ lfs f2, 0x10(r30)
/* 801536FC 0015065C C0 3E 00 14 */ lfs f1, 0x14(r30)
/* 80153700 00150660 A0 1D 00 00 */ lhz r0, 0(r29)
/* 80153704 00150664 B0 A1 00 B0 */ sth r5, 0xb0(r1)
/* 80153708 00150668 B0 1E 00 00 */ sth r0, 0(r30)
/* 8015370C 0015066C C0 1D 00 04 */ lfs f0, 4(r29)
/* 80153710 00150670 D0 81 00 B4 */ stfs f4, 0xb4(r1)
/* 80153714 00150674 D0 1E 00 04 */ stfs f0, 4(r30)
/* 80153718 00150678 88 1D 00 08 */ lbz r0, 8(r29)
/* 8015371C 0015067C 98 61 00 B8 */ stb r3, 0xb8(r1)
/* 80153720 00150680 98 1E 00 08 */ stb r0, 8(r30)
/* 80153724 00150684 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 80153728 00150688 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8015372C 0015068C D0 61 00 BC */ stfs f3, 0xbc(r1)
/* 80153730 00150690 90 7E 00 0C */ stw r3, 0xc(r30)
/* 80153734 00150694 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80153738 00150698 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 8015373C 0015069C D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 80153740 001506A0 90 1E 00 14 */ stw r0, 0x14(r30)
/* 80153744 001506A4 D0 21 00 C4 */ stfs f1, 0xc4(r1)
/* 80153748 001506A8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8015374C 001506AC B0 A1 00 08 */ sth r5, 8(r1)
/* 80153750 001506B0 4B EF 8E 55 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80153754 001506B4 7C 64 1B 78 */ mr r4, r3
/* 80153758 001506B8 38 61 00 28 */ addi r3, r1, 0x28
/* 8015375C 001506BC 4B F5 C5 35 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153760 001506C0 83 63 00 04 */ lwz r27, 4(r3)
/* 80153764 001506C4 38 81 00 0C */ addi r4, r1, 0xc
/* 80153768 001506C8 A0 1C 00 00 */ lhz r0, 0(r28)
/* 8015376C 001506CC 80 7F 00 00 */ lwz r3, 0(r31)
/* 80153770 001506D0 B0 01 00 0C */ sth r0, 0xc(r1)
/* 80153774 001506D4 4B EF 8E 31 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80153778 001506D8 7C 64 1B 78 */ mr r4, r3
/* 8015377C 001506DC 38 61 00 20 */ addi r3, r1, 0x20
/* 80153780 001506E0 4B F5 C5 11 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153784 001506E4 28 1B 00 00 */ cmplwi r27, 0
/* 80153788 001506E8 80 63 00 04 */ lwz r3, 4(r3)
/* 8015378C 001506EC 41 82 00 4C */ beq lbl_801537D8
/* 80153790 001506F0 28 03 00 00 */ cmplwi r3, 0
/* 80153794 001506F4 41 82 00 44 */ beq lbl_801537D8
/* 80153798 001506F8 C0 A3 00 60 */ lfs f5, 0x60(r3)
/* 8015379C 001506FC C0 7B 00 60 */ lfs f3, 0x60(r27)
/* 801537A0 00150700 C0 83 00 50 */ lfs f4, 0x50(r3)
/* 801537A4 00150704 C0 23 00 40 */ lfs f1, 0x40(r3)
/* 801537A8 00150708 FC 03 28 40 */ fcmpo cr0, f3, f5
/* 801537AC 0015070C C0 5B 00 50 */ lfs f2, 0x50(r27)
/* 801537B0 00150710 C0 1B 00 40 */ lfs f0, 0x40(r27)
/* 801537B4 00150714 D0 21 00 5C */ stfs f1, 0x5c(r1)
/* 801537B8 00150718 D0 81 00 60 */ stfs f4, 0x60(r1)
/* 801537BC 0015071C D0 A1 00 64 */ stfs f5, 0x64(r1)
/* 801537C0 00150720 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 801537C4 00150724 D0 41 00 54 */ stfs f2, 0x54(r1)
/* 801537C8 00150728 D0 61 00 58 */ stfs f3, 0x58(r1)
/* 801537CC 0015072C 7C 00 00 26 */ mfcr r0
/* 801537D0 00150730 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801537D4 00150734 48 00 00 08 */ b lbl_801537DC
lbl_801537D8:
/* 801537D8 00150738 38 00 00 00 */ li r0, 0
lbl_801537DC:
/* 801537DC 0015073C 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801537E0 00150740 41 82 00 68 */ beq lbl_80153848
/* 801537E4 00150744 A0 1C 00 00 */ lhz r0, 0(r28)
/* 801537E8 00150748 A0 C1 00 B0 */ lhz r6, 0xb0(r1)
/* 801537EC 0015074C B0 1D 00 00 */ sth r0, 0(r29)
/* 801537F0 00150750 C0 01 00 B4 */ lfs f0, 0xb4(r1)
/* 801537F4 00150754 C0 3C 00 04 */ lfs f1, 4(r28)
/* 801537F8 00150758 88 A1 00 B8 */ lbz r5, 0xb8(r1)
/* 801537FC 0015075C D0 3D 00 04 */ stfs f1, 4(r29)
/* 80153800 00150760 80 81 00 BC */ lwz r4, 0xbc(r1)
/* 80153804 00150764 88 1C 00 08 */ lbz r0, 8(r28)
/* 80153808 00150768 80 61 00 C0 */ lwz r3, 0xc0(r1)
/* 8015380C 0015076C 98 1D 00 08 */ stb r0, 8(r29)
/* 80153810 00150770 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 80153814 00150774 81 1C 00 0C */ lwz r8, 0xc(r28)
/* 80153818 00150778 80 FC 00 10 */ lwz r7, 0x10(r28)
/* 8015381C 0015077C 91 1D 00 0C */ stw r8, 0xc(r29)
/* 80153820 00150780 90 FD 00 10 */ stw r7, 0x10(r29)
/* 80153824 00150784 80 FC 00 14 */ lwz r7, 0x14(r28)
/* 80153828 00150788 90 FD 00 14 */ stw r7, 0x14(r29)
/* 8015382C 0015078C B0 DC 00 00 */ sth r6, 0(r28)
/* 80153830 00150790 D0 1C 00 04 */ stfs f0, 4(r28)
/* 80153834 00150794 98 BC 00 08 */ stb r5, 8(r28)
/* 80153838 00150798 90 9C 00 0C */ stw r4, 0xc(r28)
/* 8015383C 0015079C 90 7C 00 10 */ stw r3, 0x10(r28)
/* 80153840 001507A0 90 1C 00 14 */ stw r0, 0x14(r28)
/* 80153844 001507A4 48 00 00 34 */ b lbl_80153878
lbl_80153848:
/* 80153848 001507A8 A0 01 00 B0 */ lhz r0, 0xb0(r1)
/* 8015384C 001507AC C0 01 00 B4 */ lfs f0, 0xb4(r1)
/* 80153850 001507B0 B0 1D 00 00 */ sth r0, 0(r29)
/* 80153854 001507B4 88 61 00 B8 */ lbz r3, 0xb8(r1)
/* 80153858 001507B8 D0 1D 00 04 */ stfs f0, 4(r29)
/* 8015385C 001507BC 80 01 00 BC */ lwz r0, 0xbc(r1)
/* 80153860 001507C0 98 7D 00 08 */ stb r3, 8(r29)
/* 80153864 001507C4 80 61 00 C0 */ lwz r3, 0xc0(r1)
/* 80153868 001507C8 90 1D 00 0C */ stw r0, 0xc(r29)
/* 8015386C 001507CC 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 80153870 001507D0 90 7D 00 10 */ stw r3, 0x10(r29)
/* 80153874 001507D4 90 1D 00 14 */ stw r0, 0x14(r29)
lbl_80153878:
/* 80153878 001507D8 BB 61 00 CC */ lmw r27, 0xcc(r1)
/* 8015387C 001507DC 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 80153880 001507E0 7C 08 03 A6 */ mtlr r0
/* 80153884 001507E4 38 21 00 E0 */ addi r1, r1, 0xe0
/* 80153888 001507E8 4E 80 00 20 */ blr
.global sub_8015388c
sub_8015388c:
/* 8015388C 001507EC 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80153890 001507F0 7C 08 02 A6 */ mflr r0
/* 80153894 001507F4 90 01 00 74 */ stw r0, 0x74(r1)
/* 80153898 001507F8 BF 01 00 50 */ stmw r24, 0x50(r1)
/* 8015389C 001507FC 7C 7A 1B 78 */ mr r26, r3
/* 801538A0 00150800 7C 9B 23 78 */ mr r27, r4
/* 801538A4 00150804 7C BC 2B 78 */ mr r28, r5
/* 801538A8 00150808 83 E3 00 00 */ lwz r31, 0(r3)
/* 801538AC 0015080C 3B FF 00 18 */ addi r31, r31, 0x18
/* 801538B0 00150810 48 00 01 5C */ b lbl_80153A0C
lbl_801538B4:
/* 801538B4 00150814 A0 7F 00 00 */ lhz r3, 0(r31)
/* 801538B8 00150818 7F FD FB 78 */ mr r29, r31
/* 801538BC 0015081C C0 7F 00 04 */ lfs f3, 4(r31)
/* 801538C0 00150820 3B DF FF E8 */ addi r30, r31, -24
/* 801538C4 00150824 88 1F 00 08 */ lbz r0, 8(r31)
/* 801538C8 00150828 54 79 04 3E */ clrlwi r25, r3, 0x10
/* 801538CC 0015082C C0 5F 00 0C */ lfs f2, 0xc(r31)
/* 801538D0 00150830 C0 3F 00 10 */ lfs f1, 0x10(r31)
/* 801538D4 00150834 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 801538D8 00150838 B0 61 00 38 */ sth r3, 0x38(r1)
/* 801538DC 0015083C D0 61 00 3C */ stfs f3, 0x3c(r1)
/* 801538E0 00150840 98 01 00 40 */ stb r0, 0x40(r1)
/* 801538E4 00150844 D0 41 00 44 */ stfs f2, 0x44(r1)
/* 801538E8 00150848 D0 21 00 48 */ stfs f1, 0x48(r1)
/* 801538EC 0015084C D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 801538F0 00150850 48 00 00 3C */ b lbl_8015392C
lbl_801538F4:
/* 801538F4 00150854 A0 1E 00 00 */ lhz r0, 0(r30)
/* 801538F8 00150858 B0 1D 00 00 */ sth r0, 0(r29)
/* 801538FC 0015085C C0 1E 00 04 */ lfs f0, 4(r30)
/* 80153900 00150860 D0 1D 00 04 */ stfs f0, 4(r29)
/* 80153904 00150864 88 1E 00 08 */ lbz r0, 8(r30)
/* 80153908 00150868 98 1D 00 08 */ stb r0, 8(r29)
/* 8015390C 0015086C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80153910 00150870 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80153914 00150874 90 7D 00 0C */ stw r3, 0xc(r29)
/* 80153918 00150878 90 1D 00 10 */ stw r0, 0x10(r29)
/* 8015391C 0015087C 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 80153920 00150880 3B DE FF E8 */ addi r30, r30, -24
/* 80153924 00150884 90 1D 00 14 */ stw r0, 0x14(r29)
/* 80153928 00150888 3B BD FF E8 */ addi r29, r29, -24
lbl_8015392C:
/* 8015392C 0015088C 80 1A 00 00 */ lwz r0, 0(r26)
/* 80153930 00150890 7C 00 E8 40 */ cmplw r0, r29
/* 80153934 00150894 40 80 00 A4 */ bge lbl_801539D8
/* 80153938 00150898 B3 21 00 08 */ sth r25, 8(r1)
/* 8015393C 0015089C 38 81 00 08 */ addi r4, r1, 8
/* 80153940 001508A0 80 7C 00 00 */ lwz r3, 0(r28)
/* 80153944 001508A4 4B EF 8C 61 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80153948 001508A8 7C 64 1B 78 */ mr r4, r3
/* 8015394C 001508AC 38 61 00 18 */ addi r3, r1, 0x18
/* 80153950 001508B0 4B F5 C3 41 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153954 001508B4 83 03 00 04 */ lwz r24, 4(r3)
/* 80153958 001508B8 38 81 00 0C */ addi r4, r1, 0xc
/* 8015395C 001508BC A0 1E 00 00 */ lhz r0, 0(r30)
/* 80153960 001508C0 80 7C 00 00 */ lwz r3, 0(r28)
/* 80153964 001508C4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 80153968 001508C8 4B EF 8C 3D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8015396C 001508CC 7C 64 1B 78 */ mr r4, r3
/* 80153970 001508D0 38 61 00 10 */ addi r3, r1, 0x10
/* 80153974 001508D4 4B F5 C3 1D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80153978 001508D8 28 18 00 00 */ cmplwi r24, 0
/* 8015397C 001508DC 80 63 00 04 */ lwz r3, 4(r3)
/* 80153980 001508E0 41 82 00 4C */ beq lbl_801539CC
/* 80153984 001508E4 28 03 00 00 */ cmplwi r3, 0
/* 80153988 001508E8 41 82 00 44 */ beq lbl_801539CC
/* 8015398C 001508EC C0 A3 00 60 */ lfs f5, 0x60(r3)
/* 80153990 001508F0 C0 78 00 60 */ lfs f3, 0x60(r24)
/* 80153994 001508F4 C0 83 00 50 */ lfs f4, 0x50(r3)
/* 80153998 001508F8 C0 23 00 40 */ lfs f1, 0x40(r3)
/* 8015399C 001508FC FC 03 28 40 */ fcmpo cr0, f3, f5
/* 801539A0 00150900 C0 58 00 50 */ lfs f2, 0x50(r24)
/* 801539A4 00150904 C0 18 00 40 */ lfs f0, 0x40(r24)
/* 801539A8 00150908 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 801539AC 0015090C D0 81 00 30 */ stfs f4, 0x30(r1)
/* 801539B0 00150910 D0 A1 00 34 */ stfs f5, 0x34(r1)
/* 801539B4 00150914 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801539B8 00150918 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 801539BC 0015091C D0 61 00 28 */ stfs f3, 0x28(r1)
/* 801539C0 00150920 7C 00 00 26 */ mfcr r0
/* 801539C4 00150924 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801539C8 00150928 48 00 00 08 */ b lbl_801539D0
lbl_801539CC:
/* 801539CC 0015092C 38 00 00 00 */ li r0, 0
lbl_801539D0:
/* 801539D0 00150930 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801539D4 00150934 40 82 FF 20 */ bne lbl_801538F4
lbl_801539D8:
/* 801539D8 00150938 A0 01 00 38 */ lhz r0, 0x38(r1)
/* 801539DC 0015093C 3B FF 00 18 */ addi r31, r31, 0x18
/* 801539E0 00150940 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 801539E4 00150944 B0 1D 00 00 */ sth r0, 0(r29)
/* 801539E8 00150948 88 61 00 40 */ lbz r3, 0x40(r1)
/* 801539EC 0015094C D0 1D 00 04 */ stfs f0, 4(r29)
/* 801539F0 00150950 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801539F4 00150954 98 7D 00 08 */ stb r3, 8(r29)
/* 801539F8 00150958 80 61 00 48 */ lwz r3, 0x48(r1)
/* 801539FC 0015095C 90 1D 00 0C */ stw r0, 0xc(r29)
/* 80153A00 00150960 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80153A04 00150964 90 7D 00 10 */ stw r3, 0x10(r29)
/* 80153A08 00150968 90 1D 00 14 */ stw r0, 0x14(r29)
lbl_80153A0C:
/* 80153A0C 0015096C 80 1B 00 00 */ lwz r0, 0(r27)
/* 80153A10 00150970 7C 1F 00 40 */ cmplw r31, r0
/* 80153A14 00150974 41 80 FE A0 */ blt lbl_801538B4
/* 80153A18 00150978 BB 01 00 50 */ lmw r24, 0x50(r1)
/* 80153A1C 0015097C 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80153A20 00150980 7C 08 03 A6 */ mtlr r0
/* 80153A24 00150984 38 21 00 70 */ addi r1, r1, 0x70
/* 80153A28 00150988 4E 80 00 20 */ blr
.section .sdata2, "a"
.global lbl_805ABAB8
lbl_805ABAB8:
# ROM: 0x3F8358
.4byte 0x46000000
.global lbl_805ABABC
lbl_805ABABC:
# ROM: 0x3F835C
.4byte 0
.global lbl_805ABAC0
lbl_805ABAC0:
# ROM: 0x3F8360
.4byte 0x45610000
.global lbl_805ABAC4
lbl_805ABAC4:
# ROM: 0x3F8364
.float 0.5
.global lbl_805ABAC8
lbl_805ABAC8:
# ROM: 0x3F8368
.4byte 0x43300000
.4byte 0
.global lbl_805ABAD0
lbl_805ABAD0:
# ROM: 0x3F8370
.float 5.0
.global lbl_805ABAD4
lbl_805ABAD4:
# ROM: 0x3F8374
.float 1.0
.global lbl_805ABAD8
lbl_805ABAD8:
# ROM: 0x3F8378
.float 0.1
.global lbl_805ABADC
lbl_805ABADC:
# ROM: 0x3F837C
.float -1.0
.global lbl_805ABAE0
lbl_805ABAE0:
# ROM: 0x3F8380
.float 2.0
.global lbl_805ABAE4
lbl_805ABAE4:
# ROM: 0x3F8384
.4byte 0x3CCCCCCD
.global lbl_805ABAE8
lbl_805ABAE8:
# ROM: 0x3F8388
.float 0.01
.4byte 0
.global lbl_805ABAF0
lbl_805ABAF0:
# ROM: 0x3F8390
.double 1.0
.global lbl_805ABAF8
lbl_805ABAF8:
# ROM: 0x3F8398
.4byte 0x3727C5AC
.global lbl_805ABAFC
lbl_805ABAFC:
# ROM: 0x3F839C
.float 0.017453292
.global lbl_805ABB00
lbl_805ABB00:
# ROM: 0x3F83A0
.4byte 0x42480000
.global lbl_805ABB04
lbl_805ABB04:
# ROM: 0x3F83A4
.float 6.2831855
.global lbl_805ABB08
lbl_805ABB08:
# ROM: 0x3F83A8
.4byte 0x3B360B61
.global lbl_805ABB0C
lbl_805ABB0C:
# ROM: 0x3F83AC
.4byte 0x41F00000
.global lbl_805ABB10
lbl_805ABB10:
# ROM: 0x3F83B0
.4byte 0xBF000000
.4byte 0
.section .rodata
.global lbl_803D01B8
lbl_803D01B8:
# ROM: 0x3CD1B8
.4byte 0x00000014
.4byte 0x00000001
.4byte 0x00000015
.4byte 0x00000016
.4byte 0x00000017
.4byte 0
.global lbl_803D01D0
lbl_803D01D0:
# ROM: 0x3CD1D0
.asciz "AllowWrap"
.byte 0x4E, 0x6F
.asciz "Backward"
.byte 0x3F, 0x3F, 0x28
.4byte 0x3F3F2900
.4byte 0