prime/asm/MetroidPrime/ScriptObjects/CScriptEffect.s

2398 lines
119 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.balign 8
.global lbl_803DAC38
lbl_803DAC38:
# ROM: 0x3D7C38
.4byte 0
.4byte 0
.4byte __dt__13CScriptEffectFv
.4byte Accept__13CScriptEffectFR8IVisitor
.4byte PreThink__7CEntityFfR13CStateManager
.4byte Think__13CScriptEffectFfR13CStateManager
.4byte AcceptScriptMsg__13CScriptEffectF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__13CScriptEffectFb
.4byte PreRender__13CScriptEffectFR13CStateManagerRC14CFrustumPlanes
.4byte AddToRenderer__13CScriptEffectCFRC14CFrustumPlanesRC13CStateManager
.4byte Render__13CScriptEffectCFRC13CStateManager
.4byte CanRenderUnsorted__13CScriptEffectCFRC13CStateManager
.4byte CalculateRenderBounds__13CScriptEffectFv
.4byte HealthInfo__6CActorFR13CStateManager
.4byte GetDamageVulnerability__6CActorCFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte GetTouchBounds__6CActorCFv
.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__13CScriptEffectCFRC13CStateManager
.4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventTypef
.global lbl_803DACA4
lbl_803DACA4:
# ROM: 0x3D7CA4
.4byte 0
.4byte 0
.4byte "__dt__48TObjOwnerDerivedFromIObj<20CElectricDescription>Fv"
.global lbl_803DACB0
lbl_803DACB0:
# ROM: 0x3D7CB0
.4byte 0
.4byte 0
.4byte "__dt__43TObjOwnerDerivedFromIObj<15CGenDescription>Fv"
.4byte 0
.section .sdata
.balign 8
.global lbl_805A7110
lbl_805A7110:
# ROM: 0x3F4AB0
.4byte 0
.global lbl_805A7114
lbl_805A7114:
# ROM: 0x3F4AB4
.4byte 0
.global lbl_805A7118
lbl_805A7118:
# ROM: 0x3F4AB8
.float 1.0
.4byte 0
.section .sbss
.balign 8
# CScriptEffect
.global lbl_805A8E58
lbl_805A8E58:
.skip 0x4
.global lbl_805A8E5C
lbl_805A8E5C:
.skip 0x4
.section .sdata2, "a"
.balign 8
.global lbl_805AA7E0
lbl_805AA7E0:
# ROM: 0x3F7080
.float 1.0
.global lbl_805AA7E4
lbl_805AA7E4:
# ROM: 0x3F7084
.float 0.001
.global lbl_805AA7E8
lbl_805AA7E8:
# ROM: 0x3F7088
.4byte 0
.global lbl_805AA7EC
lbl_805AA7EC:
# ROM: 0x3F708C
.4byte 0x3F7D70A4
.global lbl_805AA7F0
lbl_805AA7F0:
# ROM: 0x3F7090
.double 4.503601774854144E15
.global lbl_805AA7F8
lbl_805AA7F8:
# ROM: 0x3F7098
.float 15.0
.4byte 0
.section .text, "ax"
.global __dt__13CScriptEffectFv
__dt__13CScriptEffectFv:
/* 8008DA70 0008A9D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008DA74 0008A9D4 7C 08 02 A6 */ mflr r0
/* 8008DA78 0008A9D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008DA7C 0008A9DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008DA80 0008A9E0 7C 9F 23 78 */ mr r31, r4
/* 8008DA84 0008A9E4 93 C1 00 08 */ stw r30, 8(r1)
/* 8008DA88 0008A9E8 7C 7E 1B 79 */ or. r30, r3, r3
/* 8008DA8C 0008A9EC 41 82 00 C8 */ beq lbl_8008DB54
/* 8008DA90 0008A9F0 3C 60 80 3E */ lis r3, lbl_803DAC38@ha
/* 8008DA94 0008A9F4 34 1E 01 38 */ addic. r0, r30, 0x138
/* 8008DA98 0008A9F8 38 03 AC 38 */ addi r0, r3, lbl_803DAC38@l
/* 8008DA9C 0008A9FC 90 1E 00 00 */ stw r0, 0(r30)
/* 8008DAA0 0008AA00 41 82 00 10 */ beq lbl_8008DAB0
/* 8008DAA4 0008AA04 80 7E 01 38 */ lwz r3, 0x138(r30)
/* 8008DAA8 0008AA08 38 80 00 01 */ li r4, 1
/* 8008DAAC 0008AA0C 48 07 76 29 */ bl __dt__12CActorLightsFv
lbl_8008DAB0:
/* 8008DAB0 0008AA10 34 1E 01 04 */ addic. r0, r30, 0x104
/* 8008DAB4 0008AA14 41 82 00 24 */ beq lbl_8008DAD8
/* 8008DAB8 0008AA18 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8008DABC 0008AA1C 28 03 00 00 */ cmplwi r3, 0
/* 8008DAC0 0008AA20 41 82 00 18 */ beq lbl_8008DAD8
/* 8008DAC4 0008AA24 81 83 00 00 */ lwz r12, 0(r3)
/* 8008DAC8 0008AA28 38 80 00 01 */ li r4, 1
/* 8008DACC 0008AA2C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8008DAD0 0008AA30 7D 89 03 A6 */ mtctr r12
/* 8008DAD4 0008AA34 4E 80 04 21 */ bctrl
lbl_8008DAD8:
/* 8008DAD8 0008AA38 34 1E 00 F8 */ addic. r0, r30, 0xf8
/* 8008DADC 0008AA3C 41 82 00 18 */ beq lbl_8008DAF4
/* 8008DAE0 0008AA40 34 1E 00 F8 */ addic. r0, r30, 0xf8
/* 8008DAE4 0008AA44 41 82 00 10 */ beq lbl_8008DAF4
/* 8008DAE8 0008AA48 38 7E 00 F8 */ addi r3, r30, 0xf8
/* 8008DAEC 0008AA4C 38 80 00 00 */ li r4, 0
/* 8008DAF0 0008AA50 48 2B 33 51 */ bl __dt__6CTokenFv
lbl_8008DAF4:
/* 8008DAF4 0008AA54 34 1E 00 F4 */ addic. r0, r30, 0xf4
/* 8008DAF8 0008AA58 41 82 00 24 */ beq lbl_8008DB1C
/* 8008DAFC 0008AA5C 80 7E 00 F4 */ lwz r3, 0xf4(r30)
/* 8008DB00 0008AA60 28 03 00 00 */ cmplwi r3, 0
/* 8008DB04 0008AA64 41 82 00 18 */ beq lbl_8008DB1C
/* 8008DB08 0008AA68 81 83 00 00 */ lwz r12, 0(r3)
/* 8008DB0C 0008AA6C 38 80 00 01 */ li r4, 1
/* 8008DB10 0008AA70 81 8C 00 08 */ lwz r12, 8(r12)
/* 8008DB14 0008AA74 7D 89 03 A6 */ mtctr r12
/* 8008DB18 0008AA78 4E 80 04 21 */ bctrl
lbl_8008DB1C:
/* 8008DB1C 0008AA7C 34 1E 00 E8 */ addic. r0, r30, 0xe8
/* 8008DB20 0008AA80 41 82 00 18 */ beq lbl_8008DB38
/* 8008DB24 0008AA84 34 1E 00 E8 */ addic. r0, r30, 0xe8
/* 8008DB28 0008AA88 41 82 00 10 */ beq lbl_8008DB38
/* 8008DB2C 0008AA8C 38 7E 00 E8 */ addi r3, r30, 0xe8
/* 8008DB30 0008AA90 38 80 00 00 */ li r4, 0
/* 8008DB34 0008AA94 48 2B 33 0D */ bl __dt__6CTokenFv
lbl_8008DB38:
/* 8008DB38 0008AA98 7F C3 F3 78 */ mr r3, r30
/* 8008DB3C 0008AA9C 38 80 00 00 */ li r4, 0
/* 8008DB40 0008AAA0 4B FC 7B B1 */ bl __dt__6CActorFv
/* 8008DB44 0008AAA4 7F E0 07 35 */ extsh. r0, r31
/* 8008DB48 0008AAA8 40 81 00 0C */ ble lbl_8008DB54
/* 8008DB4C 0008AAAC 7F C3 F3 78 */ mr r3, r30
/* 8008DB50 0008AAB0 48 28 7D E1 */ bl Free__7CMemoryFPCv
lbl_8008DB54:
/* 8008DB54 0008AAB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008DB58 0008AAB8 7F C3 F3 78 */ mr r3, r30
/* 8008DB5C 0008AABC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008DB60 0008AAC0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8008DB64 0008AAC4 7C 08 03 A6 */ mtlr r0
/* 8008DB68 0008AAC8 38 21 00 10 */ addi r1, r1, 0x10
/* 8008DB6C 0008AACC 4E 80 00 20 */ blr
.global SetActive__13CScriptEffectFb
SetActive__13CScriptEffectFb:
/* 8008DB70 0008AAD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008DB74 0008AAD4 7C 08 02 A6 */ mflr r0
/* 8008DB78 0008AAD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008DB7C 0008AADC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008DB80 0008AAE0 7C 7F 1B 78 */ mr r31, r3
/* 8008DB84 0008AAE4 4B FC 5C C9 */ bl SetActive__6CActorFb
/* 8008DB88 0008AAE8 88 1F 00 E7 */ lbz r0, 0xe7(r31)
/* 8008DB8C 0008AAEC 38 60 00 01 */ li r3, 1
/* 8008DB90 0008AAF0 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8008DB94 0008AAF4 98 1F 00 E7 */ stb r0, 0xe7(r31)
/* 8008DB98 0008AAF8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008DB9C 0008AAFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008DBA0 0008AB00 7C 08 03 A6 */ mtlr r0
/* 8008DBA4 0008AB04 38 21 00 10 */ addi r1, r1, 0x10
/* 8008DBA8 0008AB08 4E 80 00 20 */ blr
.global GetSortingBounds__13CScriptEffectCFRC13CStateManager
GetSortingBounds__13CScriptEffectCFRC13CStateManager:
/* 8008DBAC 0008AB0C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8008DBB0 0008AB10 7C 08 02 A6 */ mflr r0
/* 8008DBB4 0008AB14 90 01 00 24 */ stw r0, 0x24(r1)
/* 8008DBB8 0008AB18 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8008DBBC 0008AB1C 7C 9F 23 78 */ mr r31, r4
/* 8008DBC0 0008AB20 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8008DBC4 0008AB24 7C 7E 1B 78 */ mr r30, r3
/* 8008DBC8 0008AB28 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8008DBCC 0008AB2C A0 84 01 3C */ lhz r4, 0x13c(r4)
/* 8008DBD0 0008AB30 7C 04 00 40 */ cmplw r4, r0
/* 8008DBD4 0008AB34 41 82 00 28 */ beq lbl_8008DBFC
/* 8008DBD8 0008AB38 B0 81 00 08 */ sth r4, 8(r1)
/* 8008DBDC 0008AB3C 7C A3 2B 78 */ mr r3, r5
/* 8008DBE0 0008AB40 38 81 00 08 */ addi r4, r1, 8
/* 8008DBE4 0008AB44 4B FB E9 C1 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8008DBE8 0008AB48 7C 64 1B 79 */ or. r4, r3, r3
/* 8008DBEC 0008AB4C 41 82 00 10 */ beq lbl_8008DBFC
/* 8008DBF0 0008AB50 7F C3 F3 78 */ mr r3, r30
/* 8008DBF4 0008AB54 4B FE 8A D9 */ bl GetTriggerBoundsWR__14CScriptTriggerCFv
/* 8008DBF8 0008AB58 48 00 00 34 */ b lbl_8008DC2C
lbl_8008DBFC:
/* 8008DBFC 0008AB5C C0 1F 00 9C */ lfs f0, 0x9c(r31)
/* 8008DC00 0008AB60 D0 1E 00 00 */ stfs f0, 0(r30)
/* 8008DC04 0008AB64 C0 1F 00 A0 */ lfs f0, 0xa0(r31)
/* 8008DC08 0008AB68 D0 1E 00 04 */ stfs f0, 4(r30)
/* 8008DC0C 0008AB6C C0 1F 00 A4 */ lfs f0, 0xa4(r31)
/* 8008DC10 0008AB70 D0 1E 00 08 */ stfs f0, 8(r30)
/* 8008DC14 0008AB74 C0 1F 00 A8 */ lfs f0, 0xa8(r31)
/* 8008DC18 0008AB78 D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 8008DC1C 0008AB7C C0 1F 00 AC */ lfs f0, 0xac(r31)
/* 8008DC20 0008AB80 D0 1E 00 10 */ stfs f0, 0x10(r30)
/* 8008DC24 0008AB84 C0 1F 00 B0 */ lfs f0, 0xb0(r31)
/* 8008DC28 0008AB88 D0 1E 00 14 */ stfs f0, 0x14(r30)
lbl_8008DC2C:
/* 8008DC2C 0008AB8C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8008DC30 0008AB90 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8008DC34 0008AB94 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8008DC38 0008AB98 7C 08 03 A6 */ mtlr r0
/* 8008DC3C 0008AB9C 38 21 00 20 */ addi r1, r1, 0x20
/* 8008DC40 0008ABA0 4E 80 00 20 */ blr
.global CalculateRenderBounds__13CScriptEffectFv
CalculateRenderBounds__13CScriptEffectFv:
/* 8008DC44 0008ABA4 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 8008DC48 0008ABA8 7C 08 02 A6 */ mflr r0
/* 8008DC4C 0008ABAC 38 A0 00 00 */ li r5, 0
/* 8008DC50 0008ABB0 90 01 01 04 */ stw r0, 0x104(r1)
/* 8008DC54 0008ABB4 93 E1 00 FC */ stw r31, 0xfc(r1)
/* 8008DC58 0008ABB8 7C 7F 1B 78 */ mr r31, r3
/* 8008DC5C 0008ABBC 93 C1 00 F8 */ stw r30, 0xf8(r1)
/* 8008DC60 0008ABC0 3B C0 00 00 */ li r30, 0
/* 8008DC64 0008ABC4 80 83 01 04 */ lwz r4, 0x104(r3)
/* 8008DC68 0008ABC8 28 04 00 00 */ cmplwi r4, 0
/* 8008DC6C 0008ABCC 41 82 00 24 */ beq lbl_8008DC90
/* 8008DC70 0008ABD0 81 84 00 00 */ lwz r12, 0(r4)
/* 8008DC74 0008ABD4 38 61 00 80 */ addi r3, r1, 0x80
/* 8008DC78 0008ABD8 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 8008DC7C 0008ABDC 7D 89 03 A6 */ mtctr r12
/* 8008DC80 0008ABE0 4E 80 04 21 */ bctrl
/* 8008DC84 0008ABE4 38 61 00 80 */ addi r3, r1, 0x80
/* 8008DC88 0008ABE8 38 A0 00 01 */ li r5, 1
/* 8008DC8C 0008ABEC 48 00 00 14 */ b lbl_8008DCA0
lbl_8008DC90:
/* 8008DC90 0008ABF0 38 00 00 00 */ li r0, 0
/* 8008DC94 0008ABF4 38 61 00 64 */ addi r3, r1, 0x64
/* 8008DC98 0008ABF8 98 01 00 7C */ stb r0, 0x7c(r1)
/* 8008DC9C 0008ABFC 3B C0 00 01 */ li r30, 1
lbl_8008DCA0:
/* 8008DCA0 0008AC00 88 03 00 18 */ lbz r0, 0x18(r3)
/* 8008DCA4 0008AC04 28 00 00 00 */ cmplwi r0, 0
/* 8008DCA8 0008AC08 98 01 00 E8 */ stb r0, 0xe8(r1)
/* 8008DCAC 0008AC0C 41 82 00 3C */ beq lbl_8008DCE8
/* 8008DCB0 0008AC10 34 81 00 D0 */ addic. r4, r1, 0xd0
/* 8008DCB4 0008AC14 41 82 00 34 */ beq lbl_8008DCE8
/* 8008DCB8 0008AC18 C0 03 00 00 */ lfs f0, 0(r3)
/* 8008DCBC 0008AC1C D0 04 00 00 */ stfs f0, 0(r4)
/* 8008DCC0 0008AC20 C0 03 00 04 */ lfs f0, 4(r3)
/* 8008DCC4 0008AC24 D0 04 00 04 */ stfs f0, 4(r4)
/* 8008DCC8 0008AC28 C0 03 00 08 */ lfs f0, 8(r3)
/* 8008DCCC 0008AC2C D0 04 00 08 */ stfs f0, 8(r4)
/* 8008DCD0 0008AC30 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8008DCD4 0008AC34 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 8008DCD8 0008AC38 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8008DCDC 0008AC3C D0 04 00 10 */ stfs f0, 0x10(r4)
/* 8008DCE0 0008AC40 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8008DCE4 0008AC44 D0 04 00 14 */ stfs f0, 0x14(r4)
lbl_8008DCE8:
/* 8008DCE8 0008AC48 7F C0 07 75 */ extsb. r0, r30
/* 8008DCEC 0008AC4C 41 82 00 0C */ beq lbl_8008DCF8
/* 8008DCF0 0008AC50 38 00 00 00 */ li r0, 0
/* 8008DCF4 0008AC54 98 01 00 7C */ stb r0, 0x7c(r1)
lbl_8008DCF8:
/* 8008DCF8 0008AC58 7C A0 07 75 */ extsb. r0, r5
/* 8008DCFC 0008AC5C 41 82 00 0C */ beq lbl_8008DD08
/* 8008DD00 0008AC60 38 00 00 00 */ li r0, 0
/* 8008DD04 0008AC64 98 01 00 98 */ stb r0, 0x98(r1)
lbl_8008DD08:
/* 8008DD08 0008AC68 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 8008DD0C 0008AC6C 38 A0 00 00 */ li r5, 0
/* 8008DD10 0008AC70 3B C0 00 00 */ li r30, 0
/* 8008DD14 0008AC74 28 04 00 00 */ cmplwi r4, 0
/* 8008DD18 0008AC78 41 82 00 24 */ beq lbl_8008DD3C
/* 8008DD1C 0008AC7C 81 84 00 00 */ lwz r12, 0(r4)
/* 8008DD20 0008AC80 38 61 00 48 */ addi r3, r1, 0x48
/* 8008DD24 0008AC84 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 8008DD28 0008AC88 7D 89 03 A6 */ mtctr r12
/* 8008DD2C 0008AC8C 4E 80 04 21 */ bctrl
/* 8008DD30 0008AC90 38 61 00 48 */ addi r3, r1, 0x48
/* 8008DD34 0008AC94 38 A0 00 01 */ li r5, 1
/* 8008DD38 0008AC98 48 00 00 14 */ b lbl_8008DD4C
lbl_8008DD3C:
/* 8008DD3C 0008AC9C 38 00 00 00 */ li r0, 0
/* 8008DD40 0008ACA0 38 61 00 2C */ addi r3, r1, 0x2c
/* 8008DD44 0008ACA4 98 01 00 44 */ stb r0, 0x44(r1)
/* 8008DD48 0008ACA8 3B C0 00 01 */ li r30, 1
lbl_8008DD4C:
/* 8008DD4C 0008ACAC 88 03 00 18 */ lbz r0, 0x18(r3)
/* 8008DD50 0008ACB0 28 00 00 00 */ cmplwi r0, 0
/* 8008DD54 0008ACB4 98 01 00 CC */ stb r0, 0xcc(r1)
/* 8008DD58 0008ACB8 41 82 00 3C */ beq lbl_8008DD94
/* 8008DD5C 0008ACBC 34 81 00 B4 */ addic. r4, r1, 0xb4
/* 8008DD60 0008ACC0 41 82 00 34 */ beq lbl_8008DD94
/* 8008DD64 0008ACC4 C0 03 00 00 */ lfs f0, 0(r3)
/* 8008DD68 0008ACC8 D0 04 00 00 */ stfs f0, 0(r4)
/* 8008DD6C 0008ACCC C0 03 00 04 */ lfs f0, 4(r3)
/* 8008DD70 0008ACD0 D0 04 00 04 */ stfs f0, 4(r4)
/* 8008DD74 0008ACD4 C0 03 00 08 */ lfs f0, 8(r3)
/* 8008DD78 0008ACD8 D0 04 00 08 */ stfs f0, 8(r4)
/* 8008DD7C 0008ACDC C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8008DD80 0008ACE0 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 8008DD84 0008ACE4 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8008DD88 0008ACE8 D0 04 00 10 */ stfs f0, 0x10(r4)
/* 8008DD8C 0008ACEC C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8008DD90 0008ACF0 D0 04 00 14 */ stfs f0, 0x14(r4)
lbl_8008DD94:
/* 8008DD94 0008ACF4 7F C0 07 75 */ extsb. r0, r30
/* 8008DD98 0008ACF8 41 82 00 0C */ beq lbl_8008DDA4
/* 8008DD9C 0008ACFC 38 00 00 00 */ li r0, 0
/* 8008DDA0 0008AD00 98 01 00 44 */ stb r0, 0x44(r1)
lbl_8008DDA4:
/* 8008DDA4 0008AD04 7C A0 07 75 */ extsb. r0, r5
/* 8008DDA8 0008AD08 41 82 00 0C */ beq lbl_8008DDB4
/* 8008DDAC 0008AD0C 38 00 00 00 */ li r0, 0
/* 8008DDB0 0008AD10 98 01 00 60 */ stb r0, 0x60(r1)
lbl_8008DDB4:
/* 8008DDB4 0008AD14 88 81 00 E8 */ lbz r4, 0xe8(r1)
/* 8008DDB8 0008AD18 28 04 00 00 */ cmplwi r4, 0
/* 8008DDBC 0008AD1C 40 82 00 10 */ bne lbl_8008DDCC
/* 8008DDC0 0008AD20 88 01 00 CC */ lbz r0, 0xcc(r1)
/* 8008DDC4 0008AD24 28 00 00 00 */ cmplwi r0, 0
/* 8008DDC8 0008AD28 41 82 00 C8 */ beq lbl_8008DE90
lbl_8008DDCC:
/* 8008DDCC 0008AD2C 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha
/* 8008DDD0 0008AD30 C4 A3 67 54 */ lfsu f5, mskInvertedBox__6CAABox@l(r3)
/* 8008DDD4 0008AD34 28 04 00 00 */ cmplwi r4, 0
/* 8008DDD8 0008AD38 C0 83 00 04 */ lfs f4, 4(r3)
/* 8008DDDC 0008AD3C C0 63 00 08 */ lfs f3, 8(r3)
/* 8008DDE0 0008AD40 C0 43 00 0C */ lfs f2, 0xc(r3)
/* 8008DDE4 0008AD44 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 8008DDE8 0008AD48 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8008DDEC 0008AD4C D0 A1 00 9C */ stfs f5, 0x9c(r1)
/* 8008DDF0 0008AD50 D0 81 00 A0 */ stfs f4, 0xa0(r1)
/* 8008DDF4 0008AD54 D0 61 00 A4 */ stfs f3, 0xa4(r1)
/* 8008DDF8 0008AD58 D0 41 00 A8 */ stfs f2, 0xa8(r1)
/* 8008DDFC 0008AD5C D0 21 00 AC */ stfs f1, 0xac(r1)
/* 8008DE00 0008AD60 D0 01 00 B0 */ stfs f0, 0xb0(r1)
/* 8008DE04 0008AD64 41 82 00 20 */ beq lbl_8008DE24
/* 8008DE08 0008AD68 3B C1 00 D0 */ addi r30, r1, 0xd0
/* 8008DE0C 0008AD6C 38 61 00 9C */ addi r3, r1, 0x9c
/* 8008DE10 0008AD70 7F C4 F3 78 */ mr r4, r30
/* 8008DE14 0008AD74 48 2A 9C F5 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 8008DE18 0008AD78 38 61 00 9C */ addi r3, r1, 0x9c
/* 8008DE1C 0008AD7C 38 9E 00 0C */ addi r4, r30, 0xc
/* 8008DE20 0008AD80 48 2A 9C E9 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
lbl_8008DE24:
/* 8008DE24 0008AD84 88 01 00 CC */ lbz r0, 0xcc(r1)
/* 8008DE28 0008AD88 28 00 00 00 */ cmplwi r0, 0
/* 8008DE2C 0008AD8C 41 82 00 20 */ beq lbl_8008DE4C
/* 8008DE30 0008AD90 3B C1 00 B4 */ addi r30, r1, 0xb4
/* 8008DE34 0008AD94 38 61 00 9C */ addi r3, r1, 0x9c
/* 8008DE38 0008AD98 7F C4 F3 78 */ mr r4, r30
/* 8008DE3C 0008AD9C 48 2A 9C CD */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 8008DE40 0008ADA0 38 61 00 9C */ addi r3, r1, 0x9c
/* 8008DE44 0008ADA4 38 9E 00 0C */ addi r4, r30, 0xc
/* 8008DE48 0008ADA8 48 2A 9C C1 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
lbl_8008DE4C:
/* 8008DE4C 0008ADAC 80 81 00 9C */ lwz r4, 0x9c(r1)
/* 8008DE50 0008ADB0 38 60 00 01 */ li r3, 1
/* 8008DE54 0008ADB4 80 01 00 A0 */ lwz r0, 0xa0(r1)
/* 8008DE58 0008ADB8 90 9F 00 9C */ stw r4, 0x9c(r31)
/* 8008DE5C 0008ADBC 90 1F 00 A0 */ stw r0, 0xa0(r31)
/* 8008DE60 0008ADC0 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 8008DE64 0008ADC4 90 1F 00 A4 */ stw r0, 0xa4(r31)
/* 8008DE68 0008ADC8 80 81 00 A8 */ lwz r4, 0xa8(r1)
/* 8008DE6C 0008ADCC 80 01 00 AC */ lwz r0, 0xac(r1)
/* 8008DE70 0008ADD0 90 9F 00 A8 */ stw r4, 0xa8(r31)
/* 8008DE74 0008ADD4 90 1F 00 AC */ stw r0, 0xac(r31)
/* 8008DE78 0008ADD8 80 01 00 B0 */ lwz r0, 0xb0(r1)
/* 8008DE7C 0008ADDC 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 8008DE80 0008ADE0 88 1F 01 11 */ lbz r0, 0x111(r31)
/* 8008DE84 0008ADE4 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8008DE88 0008ADE8 98 1F 01 11 */ stb r0, 0x111(r31)
/* 8008DE8C 0008ADEC 48 00 00 6C */ b lbl_8008DEF8
lbl_8008DE90:
/* 8008DE90 0008ADF0 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 8008DE94 0008ADF4 38 81 00 08 */ addi r4, r1, 8
/* 8008DE98 0008ADF8 C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 8008DE9C 0008ADFC 7C 85 23 78 */ mr r5, r4
/* 8008DEA0 0008AE00 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 8008DEA4 0008AE04 38 61 00 14 */ addi r3, r1, 0x14
/* 8008DEA8 0008AE08 D0 01 00 08 */ stfs f0, 8(r1)
/* 8008DEAC 0008AE0C D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8008DEB0 0008AE10 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8008DEB4 0008AE14 48 2A A6 55 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8008DEB8 0008AE18 80 81 00 14 */ lwz r4, 0x14(r1)
/* 8008DEBC 0008AE1C 38 60 00 00 */ li r3, 0
/* 8008DEC0 0008AE20 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8008DEC4 0008AE24 90 9F 00 9C */ stw r4, 0x9c(r31)
/* 8008DEC8 0008AE28 90 1F 00 A0 */ stw r0, 0xa0(r31)
/* 8008DECC 0008AE2C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8008DED0 0008AE30 90 1F 00 A4 */ stw r0, 0xa4(r31)
/* 8008DED4 0008AE34 80 81 00 20 */ lwz r4, 0x20(r1)
/* 8008DED8 0008AE38 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8008DEDC 0008AE3C 90 9F 00 A8 */ stw r4, 0xa8(r31)
/* 8008DEE0 0008AE40 90 1F 00 AC */ stw r0, 0xac(r31)
/* 8008DEE4 0008AE44 80 01 00 28 */ lwz r0, 0x28(r1)
/* 8008DEE8 0008AE48 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 8008DEEC 0008AE4C 88 1F 01 11 */ lbz r0, 0x111(r31)
/* 8008DEF0 0008AE50 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8008DEF4 0008AE54 98 1F 01 11 */ stb r0, 0x111(r31)
lbl_8008DEF8:
/* 8008DEF8 0008AE58 38 00 00 00 */ li r0, 0
/* 8008DEFC 0008AE5C 98 01 00 CC */ stb r0, 0xcc(r1)
/* 8008DF00 0008AE60 98 01 00 E8 */ stb r0, 0xe8(r1)
/* 8008DF04 0008AE64 83 E1 00 FC */ lwz r31, 0xfc(r1)
/* 8008DF08 0008AE68 83 C1 00 F8 */ lwz r30, 0xf8(r1)
/* 8008DF0C 0008AE6C 80 01 01 04 */ lwz r0, 0x104(r1)
/* 8008DF10 0008AE70 7C 08 03 A6 */ mtlr r0
/* 8008DF14 0008AE74 38 21 01 00 */ addi r1, r1, 0x100
/* 8008DF18 0008AE78 4E 80 00 20 */ blr
.global CanRenderUnsorted__13CScriptEffectCFRC13CStateManager
CanRenderUnsorted__13CScriptEffectCFRC13CStateManager:
/* 8008DF1C 0008AE7C 38 60 00 00 */ li r3, 0
/* 8008DF20 0008AE80 4E 80 00 20 */ blr
.global sub_8008df24
sub_8008df24:
/* 8008DF24 0008AE84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008DF28 0008AE88 7C 08 02 A6 */ mflr r0
/* 8008DF2C 0008AE8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008DF30 0008AE90 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008DF34 0008AE94 3B E0 00 00 */ li r31, 0
/* 8008DF38 0008AE98 93 C1 00 08 */ stw r30, 8(r1)
/* 8008DF3C 0008AE9C 7C 7E 1B 78 */ mr r30, r3
/* 8008DF40 0008AEA0 80 63 01 04 */ lwz r3, 0x104(r3)
/* 8008DF44 0008AEA4 28 03 00 00 */ cmplwi r3, 0
/* 8008DF48 0008AEA8 41 82 00 1C */ beq lbl_8008DF64
/* 8008DF4C 0008AEAC 81 83 00 00 */ lwz r12, 0(r3)
/* 8008DF50 0008AEB0 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 8008DF54 0008AEB4 7D 89 03 A6 */ mtctr r12
/* 8008DF58 0008AEB8 4E 80 04 21 */ bctrl
/* 8008DF5C 0008AEBC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8008DF60 0008AEC0 41 82 00 2C */ beq lbl_8008DF8C
lbl_8008DF64:
/* 8008DF64 0008AEC4 80 7E 00 F4 */ lwz r3, 0xf4(r30)
/* 8008DF68 0008AEC8 28 03 00 00 */ cmplwi r3, 0
/* 8008DF6C 0008AECC 41 82 00 1C */ beq lbl_8008DF88
/* 8008DF70 0008AED0 81 83 00 00 */ lwz r12, 0(r3)
/* 8008DF74 0008AED4 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 8008DF78 0008AED8 7D 89 03 A6 */ mtctr r12
/* 8008DF7C 0008AEDC 4E 80 04 21 */ bctrl
/* 8008DF80 0008AEE0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8008DF84 0008AEE4 41 82 00 08 */ beq lbl_8008DF8C
lbl_8008DF88:
/* 8008DF88 0008AEE8 3B E0 00 01 */ li r31, 1
lbl_8008DF8C:
/* 8008DF8C 0008AEEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008DF90 0008AEF0 7F E3 FB 78 */ mr r3, r31
/* 8008DF94 0008AEF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008DF98 0008AEF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8008DF9C 0008AEFC 7C 08 03 A6 */ mtlr r0
/* 8008DFA0 0008AF00 38 21 00 10 */ addi r1, r1, 0x10
/* 8008DFA4 0008AF04 4E 80 00 20 */ blr
.global ResetParticleCounts__13CScriptEffectFv
ResetParticleCounts__13CScriptEffectFv:
/* 8008DFA8 0008AF08 38 00 00 00 */ li r0, 0
/* 8008DFAC 0008AF0C 90 0D A2 98 */ stw r0, lbl_805A8E58@sda21(r13)
/* 8008DFB0 0008AF10 90 0D A2 9C */ stw r0, lbl_805A8E5C@sda21(r13)
/* 8008DFB4 0008AF14 4E 80 00 20 */ blr
.global Accept__13CScriptEffectFR8IVisitor
Accept__13CScriptEffectFR8IVisitor:
/* 8008DFB8 0008AF18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008DFBC 0008AF1C 7C 08 02 A6 */ mflr r0
/* 8008DFC0 0008AF20 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008DFC4 0008AF24 7C 60 1B 78 */ mr r0, r3
/* 8008DFC8 0008AF28 7C 83 23 78 */ mr r3, r4
/* 8008DFCC 0008AF2C 81 84 00 00 */ lwz r12, 0(r4)
/* 8008DFD0 0008AF30 7C 04 03 78 */ mr r4, r0
/* 8008DFD4 0008AF34 81 8C 00 88 */ lwz r12, 0x88(r12)
/* 8008DFD8 0008AF38 7D 89 03 A6 */ mtctr r12
/* 8008DFDC 0008AF3C 4E 80 04 21 */ bctrl
/* 8008DFE0 0008AF40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008DFE4 0008AF44 7C 08 03 A6 */ mtlr r0
/* 8008DFE8 0008AF48 38 21 00 10 */ addi r1, r1, 0x10
/* 8008DFEC 0008AF4C 4E 80 00 20 */ blr
.global PreRender__13CScriptEffectFR13CStateManagerRC14CFrustumPlanes
PreRender__13CScriptEffectFR13CStateManagerRC14CFrustumPlanes:
/* 8008DFF0 0008AF50 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8008DFF4 0008AF54 7C 08 02 A6 */ mflr r0
/* 8008DFF8 0008AF58 90 01 00 84 */ stw r0, 0x84(r1)
/* 8008DFFC 0008AF5C DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8008E000 0008AF60 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 8008E004 0008AF64 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 8008E008 0008AF68 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 8008E00C 0008AF6C DB A1 00 50 */ stfd f29, 0x50(r1)
/* 8008E010 0008AF70 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 8008E014 0008AF74 DB 81 00 40 */ stfd f28, 0x40(r1)
/* 8008E018 0008AF78 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0
/* 8008E01C 0008AF7C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8008E020 0008AF80 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8008E024 0008AF84 88 03 01 10 */ lbz r0, 0x110(r3)
/* 8008E028 0008AF88 7C 7E 1B 78 */ mr r30, r3
/* 8008E02C 0008AF8C 7C 9F 23 78 */ mr r31, r4
/* 8008E030 0008AF90 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8008E034 0008AF94 40 82 00 10 */ bne lbl_8008E044
/* 8008E038 0008AF98 88 1E 01 11 */ lbz r0, 0x111(r30)
/* 8008E03C 0008AF9C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8008E040 0008AFA0 41 82 01 50 */ beq lbl_8008E190
lbl_8008E044:
/* 8008E044 0008AFA4 C3 E2 8A C0 */ lfs f31, lbl_805AA7E0@sda21(r2)
/* 8008E048 0008AFA8 7F E4 FB 78 */ mr r4, r31
/* 8008E04C 0008AFAC C3 9E 00 60 */ lfs f28, 0x60(r30)
/* 8008E050 0008AFB0 C3 BE 00 50 */ lfs f29, 0x50(r30)
/* 8008E054 0008AFB4 C3 DE 00 40 */ lfs f30, 0x40(r30)
/* 8008E058 0008AFB8 80 7F 08 70 */ lwz r3, 0x870(r31)
/* 8008E05C 0008AFBC 4B F7 DA BD */ bl GetCurrentCamera__14CCameraManagerCFRC13CStateManager
/* 8008E060 0008AFC0 C0 63 00 50 */ lfs f3, 0x50(r3)
/* 8008E064 0008AFC4 C0 23 00 40 */ lfs f1, 0x40(r3)
/* 8008E068 0008AFC8 EC C3 E8 28 */ fsubs f6, f3, f29
/* 8008E06C 0008AFCC C0 E3 00 60 */ lfs f7, 0x60(r3)
/* 8008E070 0008AFD0 EC 81 F0 28 */ fsubs f4, f1, f30
/* 8008E074 0008AFD4 C0 02 8A C4 */ lfs f0, lbl_805AA7E4@sda21(r2)
/* 8008E078 0008AFD8 EC A7 E0 28 */ fsubs f5, f7, f28
/* 8008E07C 0008AFDC D0 21 00 14 */ stfs f1, 0x14(r1)
/* 8008E080 0008AFE0 EC 44 01 32 */ fmuls f2, f4, f4
/* 8008E084 0008AFE4 D0 61 00 18 */ stfs f3, 0x18(r1)
/* 8008E088 0008AFE8 EC 26 01 B2 */ fmuls f1, f6, f6
/* 8008E08C 0008AFEC EC 65 01 72 */ fmuls f3, f5, f5
/* 8008E090 0008AFF0 D0 E1 00 1C */ stfs f7, 0x1c(r1)
/* 8008E094 0008AFF4 EC 22 08 2A */ fadds f1, f2, f1
/* 8008E098 0008AFF8 D0 81 00 20 */ stfs f4, 0x20(r1)
/* 8008E09C 0008AFFC D0 C1 00 24 */ stfs f6, 0x24(r1)
/* 8008E0A0 0008B000 EC 23 08 2A */ fadds f1, f3, f1
/* 8008E0A4 0008B004 D0 A1 00 28 */ stfs f5, 0x28(r1)
/* 8008E0A8 0008B008 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8008E0AC 0008B00C 40 81 00 24 */ ble lbl_8008E0D0
/* 8008E0B0 0008B010 C0 62 8A C8 */ lfs f3, lbl_805AA7E8@sda21(r2)
/* 8008E0B4 0008B014 FC 03 08 00 */ fcmpu cr0, f3, f1
/* 8008E0B8 0008B018 40 82 00 08 */ bne lbl_8008E0C0
/* 8008E0BC 0008B01C 48 00 00 18 */ b lbl_8008E0D4
lbl_8008E0C0:
/* 8008E0C0 0008B020 FC 00 08 34 */ frsqrte f0, f1
/* 8008E0C4 0008B024 FC 61 00 32 */ fmul f3, f1, f0
/* 8008E0C8 0008B028 FC 60 18 18 */ frsp f3, f3
/* 8008E0CC 0008B02C 48 00 00 08 */ b lbl_8008E0D4
lbl_8008E0D0:
/* 8008E0D0 0008B030 C0 62 8A C8 */ lfs f3, lbl_805AA7E8@sda21(r2)
lbl_8008E0D4:
/* 8008E0D4 0008B034 88 1E 01 10 */ lbz r0, 0x110(r30)
/* 8008E0D8 0008B038 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8008E0DC 0008B03C 41 82 00 28 */ beq lbl_8008E104
/* 8008E0E0 0008B040 C0 1E 01 18 */ lfs f0, 0x118(r30)
/* 8008E0E4 0008B044 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8008E0E8 0008B048 40 80 00 1C */ bge lbl_8008E104
/* 8008E0EC 0008B04C C0 1E 01 14 */ lfs f0, 0x114(r30)
/* 8008E0F0 0008B050 C0 5E 01 1C */ lfs f2, 0x11c(r30)
/* 8008E0F4 0008B054 EC 03 00 24 */ fdivs f0, f3, f0
/* 8008E0F8 0008B058 C0 22 8A C0 */ lfs f1, lbl_805AA7E0@sda21(r2)
/* 8008E0FC 0008B05C EC 21 10 28 */ fsubs f1, f1, f2
/* 8008E100 0008B060 EF E1 10 3A */ fmadds f31, f1, f0, f2
lbl_8008E104:
/* 8008E104 0008B064 88 1E 01 11 */ lbz r0, 0x111(r30)
/* 8008E108 0008B068 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8008E10C 0008B06C 41 82 00 6C */ beq lbl_8008E178
/* 8008E110 0008B070 C0 9E 01 20 */ lfs f4, 0x120(r30)
/* 8008E114 0008B074 C0 5E 01 24 */ lfs f2, 0x124(r30)
/* 8008E118 0008B078 EC 23 20 28 */ fsubs f1, f3, f4
/* 8008E11C 0008B07C C0 0D 85 54 */ lfs f0, lbl_805A7114@sda21(r13)
/* 8008E120 0008B080 EC 42 20 28 */ fsubs f2, f2, f4
/* 8008E124 0008B084 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8008E128 0008B088 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8008E12C 0008B08C 40 80 00 0C */ bge lbl_8008E138
/* 8008E130 0008B090 38 61 00 0C */ addi r3, r1, 0xc
/* 8008E134 0008B094 48 00 00 08 */ b lbl_8008E13C
lbl_8008E138:
/* 8008E138 0008B098 38 6D 85 54 */ addi r3, r13, lbl_805A7114@sda21
lbl_8008E13C:
/* 8008E13C 0008B09C C0 23 00 00 */ lfs f1, 0(r3)
/* 8008E140 0008B0A0 C0 0D 85 58 */ lfs f0, lbl_805A7118@sda21(r13)
/* 8008E144 0008B0A4 EC 21 10 24 */ fdivs f1, f1, f2
/* 8008E148 0008B0A8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8008E14C 0008B0AC D0 21 00 10 */ stfs f1, 0x10(r1)
/* 8008E150 0008B0B0 40 80 00 0C */ bge lbl_8008E15C
/* 8008E154 0008B0B4 38 61 00 10 */ addi r3, r1, 0x10
/* 8008E158 0008B0B8 48 00 00 08 */ b lbl_8008E160
lbl_8008E15C:
/* 8008E15C 0008B0BC 38 6D 85 58 */ addi r3, r13, lbl_805A7118@sda21
lbl_8008E160:
/* 8008E160 0008B0C0 C0 43 00 00 */ lfs f2, 0(r3)
/* 8008E164 0008B0C4 C0 22 8A C0 */ lfs f1, lbl_805AA7E0@sda21(r2)
/* 8008E168 0008B0C8 C0 1E 01 28 */ lfs f0, 0x128(r30)
/* 8008E16C 0008B0CC EC 21 10 28 */ fsubs f1, f1, f2
/* 8008E170 0008B0D0 EC 02 00 32 */ fmuls f0, f2, f0
/* 8008E174 0008B0D4 EF E1 07 FA */ fmadds f31, f1, f31, f0
lbl_8008E178:
/* 8008E178 0008B0D8 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8008E17C 0008B0DC FC 20 F8 90 */ fmr f1, f31
/* 8008E180 0008B0E0 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E184 0008B0E4 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 8008E188 0008B0E8 7D 89 03 A6 */ mtctr r12
/* 8008E18C 0008B0EC 4E 80 04 21 */ bctrl
lbl_8008E190:
/* 8008E190 0008B0F0 A0 1E 01 3C */ lhz r0, 0x13c(r30)
/* 8008E194 0008B0F4 7F E3 FB 78 */ mr r3, r31
/* 8008E198 0008B0F8 38 81 00 08 */ addi r4, r1, 8
/* 8008E19C 0008B0FC B0 01 00 08 */ sth r0, 8(r1)
/* 8008E1A0 0008B100 4B FB E4 05 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8008E1A4 0008B104 28 03 00 00 */ cmplwi r3, 0
/* 8008E1A8 0008B108 40 82 00 0C */ bne lbl_8008E1B4
/* 8008E1AC 0008B10C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8008E1B0 0008B110 B0 1E 01 3C */ sth r0, 0x13c(r30)
lbl_8008E1B4:
/* 8008E1B4 0008B114 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 8008E1B8 0008B118 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 8008E1BC 0008B11C E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 8008E1C0 0008B120 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 8008E1C4 0008B124 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 8008E1C8 0008B128 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 8008E1CC 0008B12C E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0
/* 8008E1D0 0008B130 CB 81 00 40 */ lfd f28, 0x40(r1)
/* 8008E1D4 0008B134 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8008E1D8 0008B138 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8008E1DC 0008B13C 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8008E1E0 0008B140 7C 08 03 A6 */ mtlr r0
/* 8008E1E4 0008B144 38 21 00 80 */ addi r1, r1, 0x80
/* 8008E1E8 0008B148 4E 80 00 20 */ blr
.global Render__13CScriptEffectCFRC13CStateManager
Render__13CScriptEffectCFRC13CStateManager:
/* 8008E1EC 0008B14C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008E1F0 0008B150 7C 08 02 A6 */ mflr r0
/* 8008E1F4 0008B154 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008E1F8 0008B158 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008E1FC 0008B15C 7C 7F 1B 78 */ mr r31, r3
/* 8008E200 0008B160 80 63 01 38 */ lwz r3, 0x138(r3)
/* 8008E204 0008B164 28 03 00 00 */ cmplwi r3, 0
/* 8008E208 0008B168 41 82 00 08 */ beq lbl_8008E210
/* 8008E20C 0008B16C 48 07 6B 7D */ bl ActivateLights__12CActorLightsCFv
lbl_8008E210:
/* 8008E210 0008B170 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E214 0008B174 28 03 00 00 */ cmplwi r3, 0
/* 8008E218 0008B178 41 82 00 30 */ beq lbl_8008E248
/* 8008E21C 0008B17C 48 28 9C D1 */ bl GetParticleCountAll__11CElementGenCFv
/* 8008E220 0008B180 2C 03 00 00 */ cmpwi r3, 0
/* 8008E224 0008B184 40 81 00 24 */ ble lbl_8008E248
/* 8008E228 0008B188 80 0D A2 98 */ lwz r0, lbl_805A8E58@sda21(r13)
/* 8008E22C 0008B18C 7C 00 1A 14 */ add r0, r0, r3
/* 8008E230 0008B190 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E234 0008B194 90 0D A2 98 */ stw r0, lbl_805A8E58@sda21(r13)
/* 8008E238 0008B198 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E23C 0008B19C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8008E240 0008B1A0 7D 89 03 A6 */ mtctr r12
/* 8008E244 0008B1A4 4E 80 04 21 */ bctrl
lbl_8008E248:
/* 8008E248 0008B1A8 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008E24C 0008B1AC 28 03 00 00 */ cmplwi r3, 0
/* 8008E250 0008B1B0 41 82 00 3C */ beq lbl_8008E28C
/* 8008E254 0008B1B4 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E258 0008B1B8 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 8008E25C 0008B1BC 7D 89 03 A6 */ mtctr r12
/* 8008E260 0008B1C0 4E 80 04 21 */ bctrl
/* 8008E264 0008B1C4 2C 03 00 00 */ cmpwi r3, 0
/* 8008E268 0008B1C8 40 81 00 24 */ ble lbl_8008E28C
/* 8008E26C 0008B1CC 80 0D A2 98 */ lwz r0, lbl_805A8E58@sda21(r13)
/* 8008E270 0008B1D0 7C 00 1A 14 */ add r0, r0, r3
/* 8008E274 0008B1D4 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008E278 0008B1D8 90 0D A2 98 */ stw r0, lbl_805A8E58@sda21(r13)
/* 8008E27C 0008B1DC 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E280 0008B1E0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8008E284 0008B1E4 7D 89 03 A6 */ mtctr r12
/* 8008E288 0008B1E8 4E 80 04 21 */ bctrl
lbl_8008E28C:
/* 8008E28C 0008B1EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008E290 0008B1F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008E294 0008B1F4 7C 08 03 A6 */ mtlr r0
/* 8008E298 0008B1F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8008E29C 0008B1FC 4E 80 00 20 */ blr
.global AddToRenderer__13CScriptEffectCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__13CScriptEffectCFRC14CFrustumPlanesRC13CStateManager:
/* 8008E2A0 0008B200 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8008E2A4 0008B204 7C 08 02 A6 */ mflr r0
/* 8008E2A8 0008B208 90 01 00 64 */ stw r0, 0x64(r1)
/* 8008E2AC 0008B20C BF 61 00 4C */ stmw r27, 0x4c(r1)
/* 8008E2B0 0008B210 7C 7D 1B 78 */ mr r29, r3
/* 8008E2B4 0008B214 7C BE 2B 78 */ mr r30, r5
/* 8008E2B8 0008B218 88 03 01 11 */ lbz r0, 0x111(r3)
/* 8008E2BC 0008B21C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 8008E2C0 0008B220 40 82 00 2C */ bne lbl_8008E2EC
/* 8008E2C4 0008B224 C0 3D 01 34 */ lfs f1, 0x134(r29)
/* 8008E2C8 0008B228 C0 1D 01 2C */ lfs f0, 0x12c(r29)
/* 8008E2CC 0008B22C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8008E2D0 0008B230 40 80 00 0C */ bge lbl_8008E2DC
/* 8008E2D4 0008B234 38 7D 01 2C */ addi r3, r29, 0x12c
/* 8008E2D8 0008B238 48 00 00 08 */ b lbl_8008E2E0
lbl_8008E2DC:
/* 8008E2DC 0008B23C 38 7D 01 34 */ addi r3, r29, 0x134
lbl_8008E2E0:
/* 8008E2E0 0008B240 C0 03 00 00 */ lfs f0, 0(r3)
/* 8008E2E4 0008B244 D0 1D 01 2C */ stfs f0, 0x12c(r29)
/* 8008E2E8 0008B248 48 00 01 50 */ b lbl_8008E438
lbl_8008E2EC:
/* 8008E2EC 0008B24C 3B FD 00 9C */ addi r31, r29, 0x9c
/* 8008E2F0 0008B250 7C 83 23 78 */ mr r3, r4
/* 8008E2F4 0008B254 7F E4 FB 78 */ mr r4, r31
/* 8008E2F8 0008B258 48 2B 6E D9 */ bl BoxInFrustumPlanes__14CFrustumPlanesCFRC6CAABox
/* 8008E2FC 0008B25C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8008E300 0008B260 41 82 01 38 */ beq lbl_8008E438
/* 8008E304 0008B264 C0 3D 01 34 */ lfs f1, 0x134(r29)
/* 8008E308 0008B268 C0 1D 01 2C */ lfs f0, 0x12c(r29)
/* 8008E30C 0008B26C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8008E310 0008B270 40 80 00 0C */ bge lbl_8008E31C
/* 8008E314 0008B274 38 7D 01 2C */ addi r3, r29, 0x12c
/* 8008E318 0008B278 48 00 00 08 */ b lbl_8008E320
lbl_8008E31C:
/* 8008E31C 0008B27C 38 7D 01 34 */ addi r3, r29, 0x134
lbl_8008E320:
/* 8008E320 0008B280 C0 03 00 00 */ lfs f0, 0(r3)
/* 8008E324 0008B284 3B 60 00 01 */ li r27, 1
/* 8008E328 0008B288 D0 1D 01 2C */ stfs f0, 0x12c(r29)
/* 8008E32C 0008B28C 88 1D 01 10 */ lbz r0, 0x110(r29)
/* 8008E330 0008B290 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8008E334 0008B294 40 82 00 68 */ bne lbl_8008E39C
/* 8008E338 0008B298 80 7E 08 B8 */ lwz r3, 0x8b8(r30)
/* 8008E33C 0008B29C 7F C4 F3 78 */ mr r4, r30
/* 8008E340 0008B2A0 80 63 00 00 */ lwz r3, 0(r3)
/* 8008E344 0008B2A4 48 00 32 15 */ bl GetActiveVisor__12CPlayerStateCFRC13CStateManager
/* 8008E348 0008B2A8 2C 03 00 02 */ cmpwi r3, 2
/* 8008E34C 0008B2AC 41 82 00 24 */ beq lbl_8008E370
/* 8008E350 0008B2B0 40 80 00 14 */ bge lbl_8008E364
/* 8008E354 0008B2B4 2C 03 00 00 */ cmpwi r3, 0
/* 8008E358 0008B2B8 41 82 00 18 */ beq lbl_8008E370
/* 8008E35C 0008B2BC 40 80 00 24 */ bge lbl_8008E380
/* 8008E360 0008B2C0 48 00 00 3C */ b lbl_8008E39C
lbl_8008E364:
/* 8008E364 0008B2C4 2C 03 00 04 */ cmpwi r3, 4
/* 8008E368 0008B2C8 40 80 00 34 */ bge lbl_8008E39C
/* 8008E36C 0008B2CC 48 00 00 24 */ b lbl_8008E390
lbl_8008E370:
/* 8008E370 0008B2D0 88 1D 01 10 */ lbz r0, 0x110(r29)
/* 8008E374 0008B2D4 54 00 EF FE */ rlwinm r0, r0, 0x1d, 0x1f, 0x1f
/* 8008E378 0008B2D8 7C 1B 03 78 */ mr r27, r0
/* 8008E37C 0008B2DC 48 00 00 20 */ b lbl_8008E39C
lbl_8008E380:
/* 8008E380 0008B2E0 88 1D 01 10 */ lbz r0, 0x110(r29)
/* 8008E384 0008B2E4 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f
/* 8008E388 0008B2E8 7C 1B 03 78 */ mr r27, r0
/* 8008E38C 0008B2EC 48 00 00 10 */ b lbl_8008E39C
lbl_8008E390:
/* 8008E390 0008B2F0 88 1D 01 10 */ lbz r0, 0x110(r29)
/* 8008E394 0008B2F4 54 00 F7 FE */ rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 8008E398 0008B2F8 7C 1B 03 78 */ mr r27, r0
lbl_8008E39C:
/* 8008E39C 0008B2FC 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 8008E3A0 0008B300 41 82 00 98 */ beq lbl_8008E438
/* 8008E3A4 0008B304 80 1D 01 38 */ lwz r0, 0x138(r29)
/* 8008E3A8 0008B308 28 00 00 00 */ cmplwi r0, 0
/* 8008E3AC 0008B30C 41 82 00 80 */ beq lbl_8008E42C
/* 8008E3B0 0008B310 7F E4 FB 78 */ mr r4, r31
/* 8008E3B4 0008B314 38 61 00 10 */ addi r3, r1, 0x10
/* 8008E3B8 0008B318 48 2A 92 55 */ bl GetCenterPoint__6CAABoxCFv
/* 8008E3BC 0008B31C C0 41 00 10 */ lfs f2, 0x10(r1)
/* 8008E3C0 0008B320 38 81 00 1C */ addi r4, r1, 0x1c
/* 8008E3C4 0008B324 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 8008E3C8 0008B328 7C 85 23 78 */ mr r5, r4
/* 8008E3CC 0008B32C 81 1D 00 04 */ lwz r8, 4(r29)
/* 8008E3D0 0008B330 38 61 00 28 */ addi r3, r1, 0x28
/* 8008E3D4 0008B334 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8008E3D8 0008B338 55 06 18 38 */ slwi r6, r8, 3
/* 8008E3DC 0008B33C D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 8008E3E0 0008B340 80 FE 08 50 */ lwz r7, 0x850(r30)
/* 8008E3E4 0008B344 38 06 00 04 */ addi r0, r6, 4
/* 8008E3E8 0008B348 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 8008E3EC 0008B34C 83 7D 01 38 */ lwz r27, 0x138(r29)
/* 8008E3F0 0008B350 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8008E3F4 0008B354 80 C7 00 20 */ lwz r6, 0x20(r7)
/* 8008E3F8 0008B358 91 01 00 08 */ stw r8, 8(r1)
/* 8008E3FC 0008B35C 7F 86 00 2E */ lwzx r28, r6, r0
/* 8008E400 0008B360 91 01 00 0C */ stw r8, 0xc(r1)
/* 8008E404 0008B364 48 2A A1 05 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8008E408 0008B368 7C 66 1B 78 */ mr r6, r3
/* 8008E40C 0008B36C 7F 63 DB 78 */ mr r3, r27
/* 8008E410 0008B370 7F C4 F3 78 */ mr r4, r30
/* 8008E414 0008B374 7F 85 E3 78 */ mr r5, r28
/* 8008E418 0008B378 48 07 59 A9 */ bl BuildAreaLightList__12CActorLightsFRC13CStateManagerRC9CGameAreaRC6CAABox
/* 8008E41C 0008B37C 80 7D 01 38 */ lwz r3, 0x138(r29)
/* 8008E420 0008B380 7F C4 F3 78 */ mr r4, r30
/* 8008E424 0008B384 7F E5 FB 78 */ mr r5, r31
/* 8008E428 0008B388 48 07 52 E9 */ bl BuildDynamicLightList__12CActorLightsFRC13CStateManagerRC6CAABox
lbl_8008E42C:
/* 8008E42C 0008B38C 7F A3 EB 78 */ mr r3, r29
/* 8008E430 0008B390 7F C4 F3 78 */ mr r4, r30
/* 8008E434 0008B394 4B FC 65 99 */ bl EnsureRendered__6CActorCFRC13CStateManager
lbl_8008E438:
/* 8008E438 0008B398 BB 61 00 4C */ lmw r27, 0x4c(r1)
/* 8008E43C 0008B39C 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8008E440 0008B3A0 7C 08 03 A6 */ mtlr r0
/* 8008E444 0008B3A4 38 21 00 60 */ addi r1, r1, 0x60
/* 8008E448 0008B3A8 4E 80 00 20 */ blr
.global AcceptScriptMsg__13CScriptEffectF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__13CScriptEffectF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 8008E44C 0008B3AC 94 21 FD B0 */ stwu r1, -0x250(r1)
/* 8008E450 0008B3B0 7C 08 02 A6 */ mflr r0
/* 8008E454 0008B3B4 90 01 02 54 */ stw r0, 0x254(r1)
/* 8008E458 0008B3B8 BE C1 02 28 */ stmw r22, 0x228(r1)
/* 8008E45C 0008B3BC 7C 9D 23 78 */ mr r29, r4
/* 8008E460 0008B3C0 2C 1D 00 21 */ cmpwi r29, 0x21
/* 8008E464 0008B3C4 7C 7F 1B 78 */ mr r31, r3
/* 8008E468 0008B3C8 7C BC 2B 78 */ mr r28, r5
/* 8008E46C 0008B3CC 7C DE 33 78 */ mr r30, r6
/* 8008E470 0008B3D0 88 03 00 30 */ lbz r0, 0x30(r3)
/* 8008E474 0008B3D4 54 1B CF FE */ rlwinm r27, r0, 0x19, 0x1f, 0x1f
/* 8008E478 0008B3D8 41 82 01 08 */ beq lbl_8008E580
/* 8008E47C 0008B3DC 40 80 00 10 */ bge lbl_8008E48C
/* 8008E480 0008B3E0 2C 1D 00 01 */ cmpwi r29, 1
/* 8008E484 0008B3E4 41 82 02 64 */ beq lbl_8008E6E8
/* 8008E488 0008B3E8 48 00 05 80 */ b lbl_8008EA08
lbl_8008E48C:
/* 8008E48C 0008B3EC 2C 1D 00 23 */ cmpwi r29, 0x23
/* 8008E490 0008B3F0 41 82 00 0C */ beq lbl_8008E49C
/* 8008E494 0008B3F4 40 80 05 74 */ bge lbl_8008EA08
/* 8008E498 0008B3F8 48 00 02 20 */ b lbl_8008E6B8
lbl_8008E49C:
/* 8008E49C 0008B3FC 83 5F 00 2C */ lwz r26, 0x2c(r31)
/* 8008E4A0 0008B400 48 00 00 C4 */ b lbl_8008E564
lbl_8008E4A4:
/* 8008E4A4 0008B404 80 7A 00 00 */ lwz r3, 0(r26)
/* 8008E4A8 0008B408 2C 03 00 19 */ cmpwi r3, 0x19
/* 8008E4AC 0008B40C 40 82 00 10 */ bne lbl_8008E4BC
/* 8008E4B0 0008B410 80 1A 00 04 */ lwz r0, 4(r26)
/* 8008E4B4 0008B414 2C 00 00 06 */ cmpwi r0, 6
/* 8008E4B8 0008B418 41 82 00 18 */ beq lbl_8008E4D0
lbl_8008E4BC:
/* 8008E4BC 0008B41C 2C 03 00 20 */ cmpwi r3, 0x20
/* 8008E4C0 0008B420 40 82 00 A0 */ bne lbl_8008E560
/* 8008E4C4 0008B424 80 1A 00 04 */ lwz r0, 4(r26)
/* 8008E4C8 0008B428 2C 00 00 01 */ cmpwi r0, 1
/* 8008E4CC 0008B42C 40 82 00 94 */ bne lbl_8008E560
lbl_8008E4D0:
/* 8008E4D0 0008B430 80 1A 00 08 */ lwz r0, 8(r26)
/* 8008E4D4 0008B434 7F C4 F3 78 */ mr r4, r30
/* 8008E4D8 0008B438 38 61 00 C4 */ addi r3, r1, 0xc4
/* 8008E4DC 0008B43C 38 A1 00 58 */ addi r5, r1, 0x58
/* 8008E4E0 0008B440 90 01 00 58 */ stw r0, 0x58(r1)
/* 8008E4E4 0008B444 4B FB 9A E5 */ bl GetIdListForScript__13CStateManagerCF9TEditorId
/* 8008E4E8 0008B448 83 01 00 C8 */ lwz r24, 0xc8(r1)
/* 8008E4EC 0008B44C 83 21 00 CC */ lwz r25, 0xcc(r1)
/* 8008E4F0 0008B450 82 E1 00 D0 */ lwz r23, 0xd0(r1)
/* 8008E4F4 0008B454 82 C1 00 C4 */ lwz r22, 0xc4(r1)
/* 8008E4F8 0008B458 48 00 00 48 */ b lbl_8008E540
lbl_8008E4FC:
/* 8008E4FC 0008B45C A0 16 00 14 */ lhz r0, 0x14(r22)
/* 8008E500 0008B460 7F C3 F3 78 */ mr r3, r30
/* 8008E504 0008B464 38 81 00 38 */ addi r4, r1, 0x38
/* 8008E508 0008B468 B0 01 00 38 */ sth r0, 0x38(r1)
/* 8008E50C 0008B46C 4B FB E0 99 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8008E510 0008B470 7C 64 1B 78 */ mr r4, r3
/* 8008E514 0008B474 38 61 00 6C */ addi r3, r1, 0x6c
/* 8008E518 0008B478 48 01 89 D1 */ bl "__ct__28TCastToPtr<14CScriptTrigger>FP7CEntity"
/* 8008E51C 0008B47C 80 03 00 04 */ lwz r0, 4(r3)
/* 8008E520 0008B480 28 00 00 00 */ cmplwi r0, 0
/* 8008E524 0008B484 41 82 00 0C */ beq lbl_8008E530
/* 8008E528 0008B488 A0 16 00 14 */ lhz r0, 0x14(r22)
/* 8008E52C 0008B48C B0 1F 01 3C */ sth r0, 0x13c(r31)
lbl_8008E530:
/* 8008E530 0008B490 7F 03 C3 78 */ mr r3, r24
/* 8008E534 0008B494 7E C4 B3 78 */ mr r4, r22
/* 8008E538 0008B498 48 2A E0 A9 */ bl rbtree_traverse_forward__4rstlFPCvPv
/* 8008E53C 0008B49C 7C 76 1B 78 */ mr r22, r3
lbl_8008E540:
/* 8008E540 0008B4A0 7C 16 C8 40 */ cmplw r22, r25
/* 8008E544 0008B4A4 38 00 00 00 */ li r0, 0
/* 8008E548 0008B4A8 40 82 00 0C */ bne lbl_8008E554
/* 8008E54C 0008B4AC 7C 18 B8 40 */ cmplw r24, r23
/* 8008E550 0008B4B0 41 82 00 08 */ beq lbl_8008E558
lbl_8008E554:
/* 8008E554 0008B4B4 38 00 00 01 */ li r0, 1
lbl_8008E558:
/* 8008E558 0008B4B8 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 8008E55C 0008B4BC 40 82 FF A0 */ bne lbl_8008E4FC
lbl_8008E560:
/* 8008E560 0008B4C0 3B 5A 00 0C */ addi r26, r26, 0xc
lbl_8008E564:
/* 8008E564 0008B4C4 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8008E568 0008B4C8 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8008E56C 0008B4CC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8008E570 0008B4D0 7C 03 02 14 */ add r0, r3, r0
/* 8008E574 0008B4D4 7C 1A 00 40 */ cmplw r26, r0
/* 8008E578 0008B4D8 40 82 FF 2C */ bne lbl_8008E4A4
/* 8008E57C 0008B4DC 48 00 04 8C */ b lbl_8008EA08
lbl_8008E580:
/* 8008E580 0008B4E0 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E584 0008B4E4 28 03 00 00 */ cmplwi r3, 0
/* 8008E588 0008B4E8 41 82 04 80 */ beq lbl_8008EA08
/* 8008E58C 0008B4EC 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E590 0008B4F0 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 8008E594 0008B4F4 7D 89 03 A6 */ mtctr r12
/* 8008E598 0008B4F8 4E 80 04 21 */ bctrl
/* 8008E59C 0008B4FC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8008E5A0 0008B500 41 82 04 68 */ beq lbl_8008EA08
/* 8008E5A4 0008B504 7F C4 F3 78 */ mr r4, r30
/* 8008E5A8 0008B508 38 61 00 34 */ addi r3, r1, 0x34
/* 8008E5AC 0008B50C 4B FB EB 31 */ bl AllocateUniqueId__13CStateManagerFv
/* 8008E5B0 0008B510 A0 01 00 34 */ lhz r0, 0x34(r1)
/* 8008E5B4 0008B514 3C 60 80 3D */ lis r3, lbl_803CD690@ha
/* 8008E5B8 0008B518 38 83 D6 90 */ addi r4, r3, lbl_803CD690@l
/* 8008E5BC 0008B51C 3B 40 00 00 */ li r26, 0
/* 8008E5C0 0008B520 B0 1F 01 08 */ sth r0, 0x108(r31)
/* 8008E5C4 0008B524 3A E0 00 00 */ li r23, 0
/* 8008E5C8 0008B528 38 60 01 48 */ li r3, 0x148
/* 8008E5CC 0008B52C 38 A0 00 00 */ li r5, 0
/* 8008E5D0 0008B530 82 DF 01 0C */ lwz r22, 0x10c(r31)
/* 8008E5D4 0008B534 48 28 72 99 */ bl __nw__FUlPCcPCc
/* 8008E5D8 0008B538 7C 79 1B 79 */ or. r25, r3, r3
/* 8008E5DC 0008B53C 41 82 00 AC */ beq lbl_8008E688
/* 8008E5E0 0008B540 A0 1F 00 08 */ lhz r0, 8(r31)
/* 8008E5E4 0008B544 3C 60 80 3D */ lis r3, lbl_803CD690@ha
/* 8008E5E8 0008B548 83 1F 01 04 */ lwz r24, 0x104(r31)
/* 8008E5EC 0008B54C 38 83 D6 90 */ addi r4, r3, lbl_803CD690@l
/* 8008E5F0 0008B550 B0 01 00 2C */ sth r0, 0x2c(r1)
/* 8008E5F4 0008B554 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8008E5F8 0008B558 38 84 00 07 */ addi r4, r4, 7
/* 8008E5FC 0008B55C B0 01 00 30 */ sth r0, 0x30(r1)
/* 8008E600 0008B560 4B F7 66 B9 */ bl string_l__4rstlFPCc
/* 8008E604 0008B564 38 61 00 A4 */ addi r3, r1, 0xa4
/* 8008E608 0008B568 38 81 00 B4 */ addi r4, r1, 0xb4
/* 8008E60C 0008B56C 38 BF 00 10 */ addi r5, r31, 0x10
/* 8008E610 0008B570 3B 40 00 01 */ li r26, 1
/* 8008E614 0008B574 4B F7 66 49 */ bl "__pl__4rstlFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8008E618 0008B578 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 8008E61C 0008B57C 7F 04 C3 78 */ mr r4, r24
/* 8008E620 0008B580 80 BF 00 04 */ lwz r5, 4(r31)
/* 8008E624 0008B584 38 61 01 BC */ addi r3, r1, 0x1bc
/* 8008E628 0008B588 54 18 CF FE */ rlwinm r24, r0, 0x19, 0x1f, 0x1f
/* 8008E62C 0008B58C 3A E0 00 01 */ li r23, 1
/* 8008E630 0008B590 90 A1 00 54 */ stw r5, 0x54(r1)
/* 8008E634 0008B594 A0 1F 01 08 */ lhz r0, 0x108(r31)
/* 8008E638 0008B598 90 A1 00 50 */ stw r5, 0x50(r1)
/* 8008E63C 0008B59C B0 01 00 28 */ sth r0, 0x28(r1)
/* 8008E640 0008B5A0 81 84 00 00 */ lwz r12, 0(r4)
/* 8008E644 0008B5A4 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 8008E648 0008B5A8 7D 89 03 A6 */ mtctr r12
/* 8008E64C 0008B5AC 4E 80 04 21 */ bctrl
/* 8008E650 0008B5B0 92 C1 00 08 */ stw r22, 8(r1)
/* 8008E654 0008B5B4 38 00 00 01 */ li r0, 1
/* 8008E658 0008B5B8 C0 22 8A C8 */ lfs f1, lbl_805AA7E8@sda21(r2)
/* 8008E65C 0008B5BC 7F 23 CB 78 */ mr r3, r25
/* 8008E660 0008B5C0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8008E664 0008B5C4 7F 06 C3 78 */ mr r6, r24
/* 8008E668 0008B5C8 38 81 00 28 */ addi r4, r1, 0x28
/* 8008E66C 0008B5CC 38 A1 00 54 */ addi r5, r1, 0x54
/* 8008E670 0008B5D0 38 E1 00 A4 */ addi r7, r1, 0xa4
/* 8008E674 0008B5D4 39 1F 00 34 */ addi r8, r31, 0x34
/* 8008E678 0008B5D8 39 21 00 30 */ addi r9, r1, 0x30
/* 8008E67C 0008B5DC 39 41 01 BC */ addi r10, r1, 0x1bc
/* 8008E680 0008B5E0 48 02 71 A5 */ bl "__ct__10CGameLightF9TUniqueId7TAreaIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4f9TUniqueIdRC6CLightUiUif"
/* 8008E684 0008B5E4 7C 79 1B 78 */ mr r25, r3
lbl_8008E688:
/* 8008E688 0008B5E8 7F C3 F3 78 */ mr r3, r30
/* 8008E68C 0008B5EC 7F 24 CB 78 */ mr r4, r25
/* 8008E690 0008B5F0 4B FB E6 65 */ bl AddObject__13CStateManagerFP7CEntity
/* 8008E694 0008B5F4 7E E0 07 75 */ extsb. r0, r23
/* 8008E698 0008B5F8 41 82 00 0C */ beq lbl_8008E6A4
/* 8008E69C 0008B5FC 38 61 00 A4 */ addi r3, r1, 0xa4
/* 8008E6A0 0008B600 48 2A F4 41 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8008E6A4:
/* 8008E6A4 0008B604 7F 40 07 75 */ extsb. r0, r26
/* 8008E6A8 0008B608 41 82 03 60 */ beq lbl_8008EA08
/* 8008E6AC 0008B60C 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8008E6B0 0008B610 48 2A F4 31 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8008E6B4 0008B614 48 00 03 54 */ b lbl_8008EA08
lbl_8008E6B8:
/* 8008E6B8 0008B618 A0 7F 01 08 */ lhz r3, 0x108(r31)
/* 8008E6BC 0008B61C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8008E6C0 0008B620 7C 03 00 40 */ cmplw r3, r0
/* 8008E6C4 0008B624 41 82 03 44 */ beq lbl_8008EA08
/* 8008E6C8 0008B628 A0 1F 01 08 */ lhz r0, 0x108(r31)
/* 8008E6CC 0008B62C 7F C3 F3 78 */ mr r3, r30
/* 8008E6D0 0008B630 38 81 00 24 */ addi r4, r1, 0x24
/* 8008E6D4 0008B634 B0 01 00 24 */ sth r0, 0x24(r1)
/* 8008E6D8 0008B638 4B FB DB 95 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 8008E6DC 0008B63C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8008E6E0 0008B640 B0 1F 01 08 */ sth r0, 0x108(r31)
/* 8008E6E4 0008B644 48 00 03 24 */ b lbl_8008EA08
lbl_8008E6E8:
/* 8008E6E8 0008B648 88 1F 01 10 */ lbz r0, 0x110(r31)
/* 8008E6EC 0008B64C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 8008E6F0 0008B650 41 82 03 18 */ beq lbl_8008EA08
/* 8008E6F4 0008B654 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E6F8 0008B658 28 03 00 00 */ cmplwi r3, 0
/* 8008E6FC 0008B65C 41 82 01 94 */ beq lbl_8008E890
/* 8008E700 0008B660 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E704 0008B664 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 8008E708 0008B668 7D 89 03 A6 */ mtctr r12
/* 8008E70C 0008B66C 4E 80 04 21 */ bctrl
/* 8008E710 0008B670 C0 03 00 00 */ lfs f0, 0(r3)
/* 8008E714 0008B674 D0 01 00 F0 */ stfs f0, 0xf0(r1)
/* 8008E718 0008B678 C0 03 00 04 */ lfs f0, 4(r3)
/* 8008E71C 0008B67C D0 01 00 F4 */ stfs f0, 0xf4(r1)
/* 8008E720 0008B680 C0 03 00 08 */ lfs f0, 8(r3)
/* 8008E724 0008B684 D0 01 00 F8 */ stfs f0, 0xf8(r1)
/* 8008E728 0008B688 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E72C 0008B68C 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E730 0008B690 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 8008E734 0008B694 7D 89 03 A6 */ mtctr r12
/* 8008E738 0008B698 4E 80 04 21 */ bctrl
/* 8008E73C 0008B69C 80 03 00 00 */ lwz r0, 0(r3)
/* 8008E740 0008B6A0 3C 60 80 3D */ lis r3, lbl_803CD690@ha
/* 8008E744 0008B6A4 38 83 D6 90 */ addi r4, r3, lbl_803CD690@l
/* 8008E748 0008B6A8 3A C0 00 00 */ li r22, 0
/* 8008E74C 0008B6AC 90 01 00 60 */ stw r0, 0x60(r1)
/* 8008E750 0008B6B0 38 60 03 40 */ li r3, 0x340
/* 8008E754 0008B6B4 38 A0 00 00 */ li r5, 0
/* 8008E758 0008B6B8 48 28 71 15 */ bl __nw__FUlPCcPCc
/* 8008E75C 0008B6BC 7C 7A 1B 79 */ or. r26, r3, r3
/* 8008E760 0008B6C0 41 82 00 2C */ beq lbl_8008E78C
/* 8008E764 0008B6C4 38 61 00 84 */ addi r3, r1, 0x84
/* 8008E768 0008B6C8 38 9F 00 F8 */ addi r4, r31, 0xf8
/* 8008E76C 0008B6CC 48 2B 27 3D */ bl __ct__6CTokenFRC6CToken
/* 8008E770 0008B6D0 7F 43 D3 78 */ mr r3, r26
/* 8008E774 0008B6D4 38 81 00 84 */ addi r4, r1, 0x84
/* 8008E778 0008B6D8 3A C0 00 01 */ li r22, 1
/* 8008E77C 0008B6DC 38 A0 00 00 */ li r5, 0
/* 8008E780 0008B6E0 38 C0 00 01 */ li r6, 1
/* 8008E784 0008B6E4 48 29 0C 5D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8008E788 0008B6E8 7C 7A 1B 78 */ mr r26, r3
lbl_8008E78C:
/* 8008E78C 0008B6EC 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E790 0008B6F0 28 03 00 00 */ cmplwi r3, 0
/* 8008E794 0008B6F4 41 82 00 18 */ beq lbl_8008E7AC
/* 8008E798 0008B6F8 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E79C 0008B6FC 38 80 00 01 */ li r4, 1
/* 8008E7A0 0008B700 81 8C 00 08 */ lwz r12, 8(r12)
/* 8008E7A4 0008B704 7D 89 03 A6 */ mtctr r12
/* 8008E7A8 0008B708 4E 80 04 21 */ bctrl
lbl_8008E7AC:
/* 8008E7AC 0008B70C 7E C0 07 75 */ extsb. r0, r22
/* 8008E7B0 0008B710 93 5F 01 04 */ stw r26, 0x104(r31)
/* 8008E7B4 0008B714 41 82 00 10 */ beq lbl_8008E7C4
/* 8008E7B8 0008B718 38 61 00 84 */ addi r3, r1, 0x84
/* 8008E7BC 0008B71C 38 80 00 00 */ li r4, 0
/* 8008E7C0 0008B720 48 2B 26 81 */ bl __dt__6CTokenFv
lbl_8008E7C4:
/* 8008E7C4 0008B724 38 61 01 2C */ addi r3, r1, 0x12c
/* 8008E7C8 0008B728 38 9F 00 34 */ addi r4, r31, 0x34
/* 8008E7CC 0008B72C 48 28 43 A9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008E7D0 0008B730 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8008E7D4 0008B734 38 61 01 8C */ addi r3, r1, 0x18c
/* 8008E7D8 0008B738 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l
/* 8008E7DC 0008B73C 38 81 01 2C */ addi r4, r1, 0x12c
/* 8008E7E0 0008B740 C0 45 00 00 */ lfs f2, 0(r5)
/* 8008E7E4 0008B744 C0 25 00 04 */ lfs f1, 4(r5)
/* 8008E7E8 0008B748 C0 05 00 08 */ lfs f0, 8(r5)
/* 8008E7EC 0008B74C D0 41 01 38 */ stfs f2, 0x138(r1)
/* 8008E7F0 0008B750 D0 21 01 48 */ stfs f1, 0x148(r1)
/* 8008E7F4 0008B754 D0 01 01 58 */ stfs f0, 0x158(r1)
/* 8008E7F8 0008B758 48 28 43 7D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008E7FC 0008B75C 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E800 0008B760 38 81 01 8C */ addi r4, r1, 0x18c
/* 8008E804 0008B764 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E808 0008B768 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8008E80C 0008B76C 7D 89 03 A6 */ mtctr r12
/* 8008E810 0008B770 4E 80 04 21 */ bctrl
/* 8008E814 0008B774 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 8008E818 0008B778 38 81 00 98 */ addi r4, r1, 0x98
/* 8008E81C 0008B77C C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 8008E820 0008B780 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 8008E824 0008B784 D0 01 00 98 */ stfs f0, 0x98(r1)
/* 8008E828 0008B788 D0 21 00 9C */ stfs f1, 0x9c(r1)
/* 8008E82C 0008B78C D0 41 00 A0 */ stfs f2, 0xa0(r1)
/* 8008E830 0008B790 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E834 0008B794 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E838 0008B798 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8008E83C 0008B79C 7D 89 03 A6 */ mtctr r12
/* 8008E840 0008B7A0 4E 80 04 21 */ bctrl
/* 8008E844 0008B7A4 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E848 0008B7A8 38 81 00 F0 */ addi r4, r1, 0xf0
/* 8008E84C 0008B7AC 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E850 0008B7B0 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8008E854 0008B7B4 7D 89 03 A6 */ mtctr r12
/* 8008E858 0008B7B8 4E 80 04 21 */ bctrl
/* 8008E85C 0008B7BC 80 BF 01 38 */ lwz r5, 0x138(r31)
/* 8008E860 0008B7C0 38 81 00 60 */ addi r4, r1, 0x60
/* 8008E864 0008B7C4 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E868 0008B7C8 7C 05 00 D0 */ neg r0, r5
/* 8008E86C 0008B7CC 7C 05 2B 78 */ or r5, r0, r5
/* 8008E870 0008B7D0 88 03 02 6D */ lbz r0, 0x26d(r3)
/* 8008E874 0008B7D4 50 A0 36 B4 */ rlwimi r0, r5, 6, 0x1a, 0x1a
/* 8008E878 0008B7D8 98 03 02 6D */ stb r0, 0x26d(r3)
/* 8008E87C 0008B7DC 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008E880 0008B7E0 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E884 0008B7E4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8008E888 0008B7E8 7D 89 03 A6 */ mtctr r12
/* 8008E88C 0008B7EC 4E 80 04 21 */ bctrl
lbl_8008E890:
/* 8008E890 0008B7F0 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008E894 0008B7F4 28 03 00 00 */ cmplwi r3, 0
/* 8008E898 0008B7F8 41 82 01 70 */ beq lbl_8008EA08
/* 8008E89C 0008B7FC 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E8A0 0008B800 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 8008E8A4 0008B804 7D 89 03 A6 */ mtctr r12
/* 8008E8A8 0008B808 4E 80 04 21 */ bctrl
/* 8008E8AC 0008B80C C0 03 00 00 */ lfs f0, 0(r3)
/* 8008E8B0 0008B810 D0 01 00 E4 */ stfs f0, 0xe4(r1)
/* 8008E8B4 0008B814 C0 03 00 04 */ lfs f0, 4(r3)
/* 8008E8B8 0008B818 D0 01 00 E8 */ stfs f0, 0xe8(r1)
/* 8008E8BC 0008B81C C0 03 00 08 */ lfs f0, 8(r3)
/* 8008E8C0 0008B820 D0 01 00 EC */ stfs f0, 0xec(r1)
/* 8008E8C4 0008B824 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008E8C8 0008B828 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E8CC 0008B82C 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 8008E8D0 0008B830 7D 89 03 A6 */ mtctr r12
/* 8008E8D4 0008B834 4E 80 04 21 */ bctrl
/* 8008E8D8 0008B838 80 03 00 00 */ lwz r0, 0(r3)
/* 8008E8DC 0008B83C 3C 60 80 3D */ lis r3, lbl_803CD690@ha
/* 8008E8E0 0008B840 38 83 D6 90 */ addi r4, r3, lbl_803CD690@l
/* 8008E8E4 0008B844 3A C0 00 00 */ li r22, 0
/* 8008E8E8 0008B848 90 01 00 5C */ stw r0, 0x5c(r1)
/* 8008E8EC 0008B84C 38 60 04 58 */ li r3, 0x458
/* 8008E8F0 0008B850 38 A0 00 00 */ li r5, 0
/* 8008E8F4 0008B854 48 28 6F 79 */ bl __nw__FUlPCcPCc
/* 8008E8F8 0008B858 7C 7A 1B 79 */ or. r26, r3, r3
/* 8008E8FC 0008B85C 41 82 00 24 */ beq lbl_8008E920
/* 8008E900 0008B860 38 61 00 7C */ addi r3, r1, 0x7c
/* 8008E904 0008B864 38 9F 00 E8 */ addi r4, r31, 0xe8
/* 8008E908 0008B868 48 2B 25 A1 */ bl __ct__6CTokenFRC6CToken
/* 8008E90C 0008B86C 7F 43 D3 78 */ mr r3, r26
/* 8008E910 0008B870 38 81 00 7C */ addi r4, r1, 0x7c
/* 8008E914 0008B874 3A C0 00 01 */ li r22, 1
/* 8008E918 0008B878 48 2D 38 59 */ bl "__ct__17CParticleElectricF30TToken<20CElectricDescription>"
/* 8008E91C 0008B87C 7C 7A 1B 78 */ mr r26, r3
lbl_8008E920:
/* 8008E920 0008B880 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008E924 0008B884 28 03 00 00 */ cmplwi r3, 0
/* 8008E928 0008B888 41 82 00 18 */ beq lbl_8008E940
/* 8008E92C 0008B88C 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E930 0008B890 38 80 00 01 */ li r4, 1
/* 8008E934 0008B894 81 8C 00 08 */ lwz r12, 8(r12)
/* 8008E938 0008B898 7D 89 03 A6 */ mtctr r12
/* 8008E93C 0008B89C 4E 80 04 21 */ bctrl
lbl_8008E940:
/* 8008E940 0008B8A0 7E C0 07 75 */ extsb. r0, r22
/* 8008E944 0008B8A4 93 5F 00 F4 */ stw r26, 0xf4(r31)
/* 8008E948 0008B8A8 41 82 00 10 */ beq lbl_8008E958
/* 8008E94C 0008B8AC 38 61 00 7C */ addi r3, r1, 0x7c
/* 8008E950 0008B8B0 38 80 00 00 */ li r4, 0
/* 8008E954 0008B8B4 48 2B 24 ED */ bl __dt__6CTokenFv
lbl_8008E958:
/* 8008E958 0008B8B8 38 61 00 FC */ addi r3, r1, 0xfc
/* 8008E95C 0008B8BC 38 9F 00 34 */ addi r4, r31, 0x34
/* 8008E960 0008B8C0 48 28 42 15 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008E964 0008B8C4 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8008E968 0008B8C8 38 61 01 5C */ addi r3, r1, 0x15c
/* 8008E96C 0008B8CC 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l
/* 8008E970 0008B8D0 38 81 00 FC */ addi r4, r1, 0xfc
/* 8008E974 0008B8D4 C0 45 00 00 */ lfs f2, 0(r5)
/* 8008E978 0008B8D8 C0 25 00 04 */ lfs f1, 4(r5)
/* 8008E97C 0008B8DC C0 05 00 08 */ lfs f0, 8(r5)
/* 8008E980 0008B8E0 D0 41 01 08 */ stfs f2, 0x108(r1)
/* 8008E984 0008B8E4 D0 21 01 18 */ stfs f1, 0x118(r1)
/* 8008E988 0008B8E8 D0 01 01 28 */ stfs f0, 0x128(r1)
/* 8008E98C 0008B8EC 48 28 41 E9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008E990 0008B8F0 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008E994 0008B8F4 38 81 01 5C */ addi r4, r1, 0x15c
/* 8008E998 0008B8F8 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E99C 0008B8FC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8008E9A0 0008B900 7D 89 03 A6 */ mtctr r12
/* 8008E9A4 0008B904 4E 80 04 21 */ bctrl
/* 8008E9A8 0008B908 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 8008E9AC 0008B90C 38 81 00 8C */ addi r4, r1, 0x8c
/* 8008E9B0 0008B910 C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 8008E9B4 0008B914 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 8008E9B8 0008B918 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 8008E9BC 0008B91C D0 21 00 90 */ stfs f1, 0x90(r1)
/* 8008E9C0 0008B920 D0 41 00 94 */ stfs f2, 0x94(r1)
/* 8008E9C4 0008B924 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008E9C8 0008B928 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E9CC 0008B92C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8008E9D0 0008B930 7D 89 03 A6 */ mtctr r12
/* 8008E9D4 0008B934 4E 80 04 21 */ bctrl
/* 8008E9D8 0008B938 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008E9DC 0008B93C 38 81 00 E4 */ addi r4, r1, 0xe4
/* 8008E9E0 0008B940 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E9E4 0008B944 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8008E9E8 0008B948 7D 89 03 A6 */ mtctr r12
/* 8008E9EC 0008B94C 4E 80 04 21 */ bctrl
/* 8008E9F0 0008B950 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008E9F4 0008B954 38 81 00 5C */ addi r4, r1, 0x5c
/* 8008E9F8 0008B958 81 83 00 00 */ lwz r12, 0(r3)
/* 8008E9FC 0008B95C 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8008EA00 0008B960 7D 89 03 A6 */ mtctr r12
/* 8008EA04 0008B964 4E 80 04 21 */ bctrl
lbl_8008EA08:
/* 8008EA08 0008B968 A0 1C 00 00 */ lhz r0, 0(r28)
/* 8008EA0C 0008B96C 7F E3 FB 78 */ mr r3, r31
/* 8008EA10 0008B970 7F A4 EB 78 */ mr r4, r29
/* 8008EA14 0008B974 7F C6 F3 78 */ mr r6, r30
/* 8008EA18 0008B978 B0 01 00 20 */ sth r0, 0x20(r1)
/* 8008EA1C 0008B97C 38 A1 00 20 */ addi r5, r1, 0x20
/* 8008EA20 0008B980 4B FC 4B F5 */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 8008EA24 0008B984 A0 1F 01 08 */ lhz r0, 0x108(r31)
/* 8008EA28 0008B988 7F C3 F3 78 */ mr r3, r30
/* 8008EA2C 0008B98C 38 81 00 1C */ addi r4, r1, 0x1c
/* 8008EA30 0008B990 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8008EA34 0008B994 4B FB DB 41 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8008EA38 0008B998 7C 64 1B 78 */ mr r4, r3
/* 8008EA3C 0008B99C 38 61 00 74 */ addi r3, r1, 0x74
/* 8008EA40 0008B9A0 48 02 12 51 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8008EA44 0008B9A4 83 43 00 04 */ lwz r26, 4(r3)
/* 8008EA48 0008B9A8 7F C3 F3 78 */ mr r3, r30
/* 8008EA4C 0008B9AC A0 1C 00 00 */ lhz r0, 0(r28)
/* 8008EA50 0008B9B0 7F A6 EB 78 */ mr r6, r29
/* 8008EA54 0008B9B4 7F 44 D3 78 */ mr r4, r26
/* 8008EA58 0008B9B8 38 A1 00 18 */ addi r5, r1, 0x18
/* 8008EA5C 0008B9BC B0 01 00 18 */ sth r0, 0x18(r1)
/* 8008EA60 0008B9C0 4B FB 54 71 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TUniqueId20EScriptObjectMessage
/* 8008EA64 0008B9C4 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 8008EA68 0008B9C8 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f
/* 8008EA6C 0008B9CC 7C 1B 00 40 */ cmplw r27, r0
/* 8008EA70 0008B9D0 41 82 02 8C */ beq lbl_8008ECFC
/* 8008EA74 0008B9D4 28 00 00 00 */ cmplwi r0, 0
/* 8008EA78 0008B9D8 41 82 01 FC */ beq lbl_8008EC74
/* 8008EA7C 0008B9DC 38 00 00 00 */ li r0, 0
/* 8008EA80 0008B9E0 38 61 00 D4 */ addi r3, r1, 0xd4
/* 8008EA84 0008B9E4 90 01 00 D8 */ stw r0, 0xd8(r1)
/* 8008EA88 0008B9E8 90 01 00 DC */ stw r0, 0xdc(r1)
/* 8008EA8C 0008B9EC 90 01 00 E0 */ stw r0, 0xe0(r1)
/* 8008EA90 0008B9F0 80 9F 00 24 */ lwz r4, 0x24(r31)
/* 8008EA94 0008B9F4 4B F7 D9 75 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi"
/* 8008EA98 0008B9F8 83 7F 00 2C */ lwz r27, 0x2c(r31)
/* 8008EA9C 0008B9FC 48 00 00 94 */ b lbl_8008EB30
lbl_8008EAA0:
/* 8008EAA0 0008BA00 80 1B 00 00 */ lwz r0, 0(r27)
/* 8008EAA4 0008BA04 2C 00 00 12 */ cmpwi r0, 0x12
/* 8008EAA8 0008BA08 40 82 00 84 */ bne lbl_8008EB2C
/* 8008EAAC 0008BA0C 80 1B 00 04 */ lwz r0, 4(r27)
/* 8008EAB0 0008BA10 2C 00 00 01 */ cmpwi r0, 1
/* 8008EAB4 0008BA14 40 82 00 78 */ bne lbl_8008EB2C
/* 8008EAB8 0008BA18 80 1B 00 08 */ lwz r0, 8(r27)
/* 8008EABC 0008BA1C 7F C4 F3 78 */ mr r4, r30
/* 8008EAC0 0008BA20 38 61 00 14 */ addi r3, r1, 0x14
/* 8008EAC4 0008BA24 38 A1 00 4C */ addi r5, r1, 0x4c
/* 8008EAC8 0008BA28 90 01 00 4C */ stw r0, 0x4c(r1)
/* 8008EACC 0008BA2C 4B FB 94 51 */ bl GetIdForScript__13CStateManagerCF9TEditorId
/* 8008EAD0 0008BA30 A2 C1 00 14 */ lhz r22, 0x14(r1)
/* 8008EAD4 0008BA34 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8008EAD8 0008BA38 7C 16 00 40 */ cmplw r22, r0
/* 8008EADC 0008BA3C 41 82 00 50 */ beq lbl_8008EB2C
/* 8008EAE0 0008BA40 80 01 00 D8 */ lwz r0, 0xd8(r1)
/* 8008EAE4 0008BA44 80 A1 00 DC */ lwz r5, 0xdc(r1)
/* 8008EAE8 0008BA48 7C 00 28 00 */ cmpw r0, r5
/* 8008EAEC 0008BA4C 41 80 00 1C */ blt lbl_8008EB08
/* 8008EAF0 0008BA50 2C 05 00 00 */ cmpwi r5, 0
/* 8008EAF4 0008BA54 38 61 00 D4 */ addi r3, r1, 0xd4
/* 8008EAF8 0008BA58 38 80 00 04 */ li r4, 4
/* 8008EAFC 0008BA5C 41 82 00 08 */ beq lbl_8008EB04
/* 8008EB00 0008BA60 54 A4 08 3C */ slwi r4, r5, 1
lbl_8008EB04:
/* 8008EB04 0008BA64 4B F7 D9 05 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi"
lbl_8008EB08:
/* 8008EB08 0008BA68 80 01 00 D8 */ lwz r0, 0xd8(r1)
/* 8008EB0C 0008BA6C 80 61 00 E0 */ lwz r3, 0xe0(r1)
/* 8008EB10 0008BA70 54 00 08 3C */ slwi r0, r0, 1
/* 8008EB14 0008BA74 7C 63 02 15 */ add. r3, r3, r0
/* 8008EB18 0008BA78 41 82 00 08 */ beq lbl_8008EB20
/* 8008EB1C 0008BA7C B2 C3 00 00 */ sth r22, 0(r3)
lbl_8008EB20:
/* 8008EB20 0008BA80 80 61 00 D8 */ lwz r3, 0xd8(r1)
/* 8008EB24 0008BA84 38 03 00 01 */ addi r0, r3, 1
/* 8008EB28 0008BA88 90 01 00 D8 */ stw r0, 0xd8(r1)
lbl_8008EB2C:
/* 8008EB2C 0008BA8C 3B 7B 00 0C */ addi r27, r27, 0xc
lbl_8008EB30:
/* 8008EB30 0008BA90 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8008EB34 0008BA94 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8008EB38 0008BA98 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8008EB3C 0008BA9C 7C 03 02 14 */ add r0, r3, r0
/* 8008EB40 0008BAA0 7C 1B 00 40 */ cmplw r27, r0
/* 8008EB44 0008BAA4 40 82 FF 5C */ bne lbl_8008EAA0
/* 8008EB48 0008BAA8 82 C1 00 D8 */ lwz r22, 0xd8(r1)
/* 8008EB4C 0008BAAC 2C 16 00 00 */ cmpwi r22, 0
/* 8008EB50 0008BAB0 41 82 00 E4 */ beq lbl_8008EC34
/* 8008EB54 0008BAB4 80 7E 09 00 */ lwz r3, 0x900(r30)
/* 8008EB58 0008BAB8 48 28 39 85 */ bl Float__9CRandom16Fv
/* 8008EB5C 0008BABC 6E C3 80 00 */ xoris r3, r22, 0x8000
/* 8008EB60 0008BAC0 3C 00 43 30 */ lis r0, 0x4330
/* 8008EB64 0008BAC4 90 61 02 14 */ stw r3, 0x214(r1)
/* 8008EB68 0008BAC8 7F C3 F3 78 */ mr r3, r30
/* 8008EB6C 0008BACC C8 62 8A D0 */ lfd f3, lbl_805AA7F0@sda21(r2)
/* 8008EB70 0008BAD0 38 81 00 10 */ addi r4, r1, 0x10
/* 8008EB74 0008BAD4 90 01 02 10 */ stw r0, 0x210(r1)
/* 8008EB78 0008BAD8 C0 02 8A CC */ lfs f0, lbl_805AA7EC@sda21(r2)
/* 8008EB7C 0008BADC C8 41 02 10 */ lfd f2, 0x210(r1)
/* 8008EB80 0008BAE0 80 A1 00 E0 */ lwz r5, 0xe0(r1)
/* 8008EB84 0008BAE4 EC 42 18 28 */ fsubs f2, f2, f3
/* 8008EB88 0008BAE8 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8008EB8C 0008BAEC EC 00 00 72 */ fmuls f0, f0, f1
/* 8008EB90 0008BAF0 FC 00 00 1E */ fctiwz f0, f0
/* 8008EB94 0008BAF4 D8 01 02 18 */ stfd f0, 0x218(r1)
/* 8008EB98 0008BAF8 80 01 02 1C */ lwz r0, 0x21c(r1)
/* 8008EB9C 0008BAFC 54 00 08 3C */ slwi r0, r0, 1
/* 8008EBA0 0008BB00 7C 05 02 2E */ lhzx r0, r5, r0
/* 8008EBA4 0008BB04 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8008EBA8 0008BB08 4B FB D9 FD */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8008EBAC 0008BB0C 7C 64 1B 78 */ mr r4, r3
/* 8008EBB0 0008BB10 38 61 00 64 */ addi r3, r1, 0x64
/* 8008EBB4 0008BB14 48 02 10 DD */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8008EBB8 0008BB18 82 C3 00 04 */ lwz r22, 4(r3)
/* 8008EBBC 0008BB1C 28 16 00 00 */ cmplwi r22, 0
/* 8008EBC0 0008BB20 41 82 00 74 */ beq lbl_8008EC34
/* 8008EBC4 0008BB24 38 7F 00 34 */ addi r3, r31, 0x34
/* 8008EBC8 0008BB28 38 96 00 34 */ addi r4, r22, 0x34
/* 8008EBCC 0008BB2C 48 28 3F 75 */ bl __as__12CTransform4fFRC12CTransform4f
/* 8008EBD0 0008BB30 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 8008EBD4 0008BB34 38 60 00 01 */ li r3, 1
/* 8008EBD8 0008BB38 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 8008EBDC 0008BB3C 28 1A 00 00 */ cmplwi r26, 0
/* 8008EBE0 0008BB40 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 8008EBE4 0008BB44 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 8008EBE8 0008BB48 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8008EBEC 0008BB4C 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 8008EBF0 0008BB50 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 8008EBF4 0008BB54 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8008EBF8 0008BB58 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 8008EBFC 0008BB5C 41 82 00 38 */ beq lbl_8008EC34
/* 8008EC00 0008BB60 38 7A 00 34 */ addi r3, r26, 0x34
/* 8008EC04 0008BB64 38 96 00 34 */ addi r4, r22, 0x34
/* 8008EC08 0008BB68 48 28 3F 39 */ bl __as__12CTransform4fFRC12CTransform4f
/* 8008EC0C 0008BB6C 88 1A 00 E4 */ lbz r0, 0xe4(r26)
/* 8008EC10 0008BB70 38 60 00 01 */ li r3, 1
/* 8008EC14 0008BB74 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 8008EC18 0008BB78 98 1A 00 E4 */ stb r0, 0xe4(r26)
/* 8008EC1C 0008BB7C 88 1A 00 E4 */ lbz r0, 0xe4(r26)
/* 8008EC20 0008BB80 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8008EC24 0008BB84 98 1A 00 E4 */ stb r0, 0xe4(r26)
/* 8008EC28 0008BB88 88 1A 00 E4 */ lbz r0, 0xe4(r26)
/* 8008EC2C 0008BB8C 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8008EC30 0008BB90 98 1A 00 E4 */ stb r0, 0xe4(r26)
lbl_8008EC34:
/* 8008EC34 0008BB94 80 01 00 D8 */ lwz r0, 0xd8(r1)
/* 8008EC38 0008BB98 80 61 00 E0 */ lwz r3, 0xe0(r1)
/* 8008EC3C 0008BB9C 54 00 08 3C */ slwi r0, r0, 1
/* 8008EC40 0008BBA0 7C 03 02 14 */ add r0, r3, r0
/* 8008EC44 0008BBA4 90 61 00 40 */ stw r3, 0x40(r1)
/* 8008EC48 0008BBA8 7C 64 1B 78 */ mr r4, r3
/* 8008EC4C 0008BBAC 90 01 00 48 */ stw r0, 0x48(r1)
/* 8008EC50 0008BBB0 90 01 00 44 */ stw r0, 0x44(r1)
/* 8008EC54 0008BBB4 90 61 00 3C */ stw r3, 0x3c(r1)
/* 8008EC58 0008BBB8 48 00 00 08 */ b lbl_8008EC60
lbl_8008EC5C:
/* 8008EC5C 0008BBBC 38 84 00 02 */ addi r4, r4, 2
lbl_8008EC60:
/* 8008EC60 0008BBC0 7C 04 00 40 */ cmplw r4, r0
/* 8008EC64 0008BBC4 40 82 FF F8 */ bne lbl_8008EC5C
/* 8008EC68 0008BBC8 28 03 00 00 */ cmplwi r3, 0
/* 8008EC6C 0008BBCC 41 82 00 08 */ beq lbl_8008EC74
/* 8008EC70 0008BBD0 48 28 6C C1 */ bl Free__7CMemoryFPCv
lbl_8008EC74:
/* 8008EC74 0008BBD4 88 1F 01 10 */ lbz r0, 0x110(r31)
/* 8008EC78 0008BBD8 38 60 00 01 */ li r3, 1
/* 8008EC7C 0008BBDC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8008EC80 0008BBE0 98 1F 01 10 */ stb r0, 0x110(r31)
/* 8008EC84 0008BBE4 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 8008EC88 0008BBE8 28 03 00 00 */ cmplwi r3, 0
/* 8008EC8C 0008BBEC 41 82 00 1C */ beq lbl_8008ECA8
/* 8008EC90 0008BBF0 81 83 00 00 */ lwz r12, 0(r3)
/* 8008EC94 0008BBF4 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 8008EC98 0008BBF8 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8008EC9C 0008BBFC 54 04 CF FE */ rlwinm r4, r0, 0x19, 0x1f, 0x1f
/* 8008ECA0 0008BC00 7D 89 03 A6 */ mtctr r12
/* 8008ECA4 0008BC04 4E 80 04 21 */ bctrl
lbl_8008ECA8:
/* 8008ECA8 0008BC08 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8008ECAC 0008BC0C 28 03 00 00 */ cmplwi r3, 0
/* 8008ECB0 0008BC10 41 82 00 1C */ beq lbl_8008ECCC
/* 8008ECB4 0008BC14 81 83 00 00 */ lwz r12, 0(r3)
/* 8008ECB8 0008BC18 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 8008ECBC 0008BC1C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8008ECC0 0008BC20 54 04 CF FE */ rlwinm r4, r0, 0x19, 0x1f, 0x1f
/* 8008ECC4 0008BC24 7D 89 03 A6 */ mtctr r12
/* 8008ECC8 0008BC28 4E 80 04 21 */ bctrl
lbl_8008ECCC:
/* 8008ECCC 0008BC2C 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 8008ECD0 0008BC30 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8008ECD4 0008BC34 41 82 00 28 */ beq lbl_8008ECFC
/* 8008ECD8 0008BC38 C0 3F 01 30 */ lfs f1, 0x130(r31)
/* 8008ECDC 0008BC3C C0 1F 01 2C */ lfs f0, 0x12c(r31)
/* 8008ECE0 0008BC40 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8008ECE4 0008BC44 40 80 00 0C */ bge lbl_8008ECF0
/* 8008ECE8 0008BC48 38 7F 01 2C */ addi r3, r31, 0x12c
/* 8008ECEC 0008BC4C 48 00 00 08 */ b lbl_8008ECF4
lbl_8008ECF0:
/* 8008ECF0 0008BC50 38 7F 01 30 */ addi r3, r31, 0x130
lbl_8008ECF4:
/* 8008ECF4 0008BC54 C0 03 00 00 */ lfs f0, 0(r3)
/* 8008ECF8 0008BC58 D0 1F 01 2C */ stfs f0, 0x12c(r31)
lbl_8008ECFC:
/* 8008ECFC 0008BC5C BA C1 02 28 */ lmw r22, 0x228(r1)
/* 8008ED00 0008BC60 80 01 02 54 */ lwz r0, 0x254(r1)
/* 8008ED04 0008BC64 7C 08 03 A6 */ mtlr r0
/* 8008ED08 0008BC68 38 21 02 50 */ addi r1, r1, 0x250
/* 8008ED0C 0008BC6C 4E 80 00 20 */ blr
.global GetModulationColor__17CParticleElectricFv
GetModulationColor__17CParticleElectricFv:
/* 8008ED10 0008BC70 38 63 01 B8 */ addi r3, r3, 0x1b8
/* 8008ED14 0008BC74 4E 80 00 20 */ blr
.global GetGlobalScale__17CParticleElectricFv
GetGlobalScale__17CParticleElectricFv:
/* 8008ED18 0008BC78 38 63 00 E0 */ addi r3, r3, 0xe0
/* 8008ED1C 0008BC7C 4E 80 00 20 */ blr
.global GetGlobalScale__11CElementGenCFv
GetGlobalScale__11CElementGenCFv:
/* 8008ED20 0008BC80 38 63 01 00 */ addi r3, r3, 0x100
/* 8008ED24 0008BC84 4E 80 00 20 */ blr
.global Think__13CScriptEffectFfR13CStateManager
Think__13CScriptEffectFfR13CStateManager:
/* 8008ED28 0008BC88 94 21 FE 70 */ stwu r1, -0x190(r1)
/* 8008ED2C 0008BC8C 7C 08 02 A6 */ mflr r0
/* 8008ED30 0008BC90 90 01 01 94 */ stw r0, 0x194(r1)
/* 8008ED34 0008BC94 DB E1 01 80 */ stfd f31, 0x180(r1)
/* 8008ED38 0008BC98 F3 E1 01 88 */ psq_st f31, 392(r1), 0, qr0
/* 8008ED3C 0008BC9C 93 E1 01 7C */ stw r31, 0x17c(r1)
/* 8008ED40 0008BCA0 93 C1 01 78 */ stw r30, 0x178(r1)
/* 8008ED44 0008BCA4 93 A1 01 74 */ stw r29, 0x174(r1)
/* 8008ED48 0008BCA8 88 03 00 E4 */ lbz r0, 0xe4(r3)
/* 8008ED4C 0008BCAC FF E0 08 90 */ fmr f31, f1
/* 8008ED50 0008BCB0 7C 7E 1B 78 */ mr r30, r3
/* 8008ED54 0008BCB4 7C 9F 23 78 */ mr r31, r4
/* 8008ED58 0008BCB8 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 8008ED5C 0008BCBC 41 82 01 8C */ beq lbl_8008EEE8
/* 8008ED60 0008BCC0 80 1E 01 04 */ lwz r0, 0x104(r30)
/* 8008ED64 0008BCC4 28 00 00 00 */ cmplwi r0, 0
/* 8008ED68 0008BCC8 41 82 00 84 */ beq lbl_8008EDEC
/* 8008ED6C 0008BCCC 38 61 00 84 */ addi r3, r1, 0x84
/* 8008ED70 0008BCD0 38 9E 00 34 */ addi r4, r30, 0x34
/* 8008ED74 0008BCD4 48 28 3E 01 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008ED78 0008BCD8 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8008ED7C 0008BCDC 38 61 00 E4 */ addi r3, r1, 0xe4
/* 8008ED80 0008BCE0 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l
/* 8008ED84 0008BCE4 38 81 00 84 */ addi r4, r1, 0x84
/* 8008ED88 0008BCE8 C0 45 00 00 */ lfs f2, 0(r5)
/* 8008ED8C 0008BCEC C0 25 00 04 */ lfs f1, 4(r5)
/* 8008ED90 0008BCF0 C0 05 00 08 */ lfs f0, 8(r5)
/* 8008ED94 0008BCF4 D0 41 00 90 */ stfs f2, 0x90(r1)
/* 8008ED98 0008BCF8 D0 21 00 A0 */ stfs f1, 0xa0(r1)
/* 8008ED9C 0008BCFC D0 01 00 B0 */ stfs f0, 0xb0(r1)
/* 8008EDA0 0008BD00 48 28 3D D5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008EDA4 0008BD04 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8008EDA8 0008BD08 38 81 00 E4 */ addi r4, r1, 0xe4
/* 8008EDAC 0008BD0C 81 83 00 00 */ lwz r12, 0(r3)
/* 8008EDB0 0008BD10 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8008EDB4 0008BD14 7D 89 03 A6 */ mtctr r12
/* 8008EDB8 0008BD18 4E 80 04 21 */ bctrl
/* 8008EDBC 0008BD1C C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 8008EDC0 0008BD20 38 81 00 48 */ addi r4, r1, 0x48
/* 8008EDC4 0008BD24 C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 8008EDC8 0008BD28 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 8008EDCC 0008BD2C D0 01 00 48 */ stfs f0, 0x48(r1)
/* 8008EDD0 0008BD30 D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 8008EDD4 0008BD34 D0 41 00 50 */ stfs f2, 0x50(r1)
/* 8008EDD8 0008BD38 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8008EDDC 0008BD3C 81 83 00 00 */ lwz r12, 0(r3)
/* 8008EDE0 0008BD40 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8008EDE4 0008BD44 7D 89 03 A6 */ mtctr r12
/* 8008EDE8 0008BD48 4E 80 04 21 */ bctrl
lbl_8008EDEC:
/* 8008EDEC 0008BD4C 80 1E 00 F4 */ lwz r0, 0xf4(r30)
/* 8008EDF0 0008BD50 28 00 00 00 */ cmplwi r0, 0
/* 8008EDF4 0008BD54 41 82 00 84 */ beq lbl_8008EE78
/* 8008EDF8 0008BD58 38 61 00 54 */ addi r3, r1, 0x54
/* 8008EDFC 0008BD5C 38 9E 00 34 */ addi r4, r30, 0x34
/* 8008EE00 0008BD60 48 28 3D 75 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008EE04 0008BD64 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8008EE08 0008BD68 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8008EE0C 0008BD6C 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l
/* 8008EE10 0008BD70 38 81 00 54 */ addi r4, r1, 0x54
/* 8008EE14 0008BD74 C0 45 00 00 */ lfs f2, 0(r5)
/* 8008EE18 0008BD78 C0 25 00 04 */ lfs f1, 4(r5)
/* 8008EE1C 0008BD7C C0 05 00 08 */ lfs f0, 8(r5)
/* 8008EE20 0008BD80 D0 41 00 60 */ stfs f2, 0x60(r1)
/* 8008EE24 0008BD84 D0 21 00 70 */ stfs f1, 0x70(r1)
/* 8008EE28 0008BD88 D0 01 00 80 */ stfs f0, 0x80(r1)
/* 8008EE2C 0008BD8C 48 28 3D 49 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008EE30 0008BD90 80 7E 00 F4 */ lwz r3, 0xf4(r30)
/* 8008EE34 0008BD94 38 81 00 B4 */ addi r4, r1, 0xb4
/* 8008EE38 0008BD98 81 83 00 00 */ lwz r12, 0(r3)
/* 8008EE3C 0008BD9C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8008EE40 0008BDA0 7D 89 03 A6 */ mtctr r12
/* 8008EE44 0008BDA4 4E 80 04 21 */ bctrl
/* 8008EE48 0008BDA8 C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 8008EE4C 0008BDAC 38 81 00 3C */ addi r4, r1, 0x3c
/* 8008EE50 0008BDB0 C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 8008EE54 0008BDB4 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 8008EE58 0008BDB8 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 8008EE5C 0008BDBC D0 21 00 40 */ stfs f1, 0x40(r1)
/* 8008EE60 0008BDC0 D0 41 00 44 */ stfs f2, 0x44(r1)
/* 8008EE64 0008BDC4 80 7E 00 F4 */ lwz r3, 0xf4(r30)
/* 8008EE68 0008BDC8 81 83 00 00 */ lwz r12, 0(r3)
/* 8008EE6C 0008BDCC 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8008EE70 0008BDD0 7D 89 03 A6 */ mtctr r12
/* 8008EE74 0008BDD4 4E 80 04 21 */ bctrl
lbl_8008EE78:
/* 8008EE78 0008BDD8 A0 1E 01 08 */ lhz r0, 0x108(r30)
/* 8008EE7C 0008BDDC 7F E3 FB 78 */ mr r3, r31
/* 8008EE80 0008BDE0 38 81 00 1C */ addi r4, r1, 0x1c
/* 8008EE84 0008BDE4 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8008EE88 0008BDE8 4B FB D6 ED */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8008EE8C 0008BDEC 7C 64 1B 78 */ mr r4, r3
/* 8008EE90 0008BDF0 38 61 00 34 */ addi r3, r1, 0x34
/* 8008EE94 0008BDF4 48 02 0D FD */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8008EE98 0008BDF8 83 A3 00 04 */ lwz r29, 4(r3)
/* 8008EE9C 0008BDFC 28 1D 00 00 */ cmplwi r29, 0
/* 8008EEA0 0008BE00 41 82 00 38 */ beq lbl_8008EED8
/* 8008EEA4 0008BE04 38 7D 00 34 */ addi r3, r29, 0x34
/* 8008EEA8 0008BE08 38 9E 00 34 */ addi r4, r30, 0x34
/* 8008EEAC 0008BE0C 48 28 3C 95 */ bl __as__12CTransform4fFRC12CTransform4f
/* 8008EEB0 0008BE10 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 8008EEB4 0008BE14 38 60 00 01 */ li r3, 1
/* 8008EEB8 0008BE18 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 8008EEBC 0008BE1C 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 8008EEC0 0008BE20 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 8008EEC4 0008BE24 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8008EEC8 0008BE28 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 8008EECC 0008BE2C 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 8008EED0 0008BE30 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8008EED4 0008BE34 98 1D 00 E4 */ stb r0, 0xe4(r29)
lbl_8008EED8:
/* 8008EED8 0008BE38 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 8008EEDC 0008BE3C 38 60 00 00 */ li r3, 0
/* 8008EEE0 0008BE40 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8008EEE4 0008BE44 98 1E 00 E4 */ stb r0, 0xe4(r30)
lbl_8008EEE8:
/* 8008EEE8 0008BE48 88 1E 01 10 */ lbz r0, 0x110(r30)
/* 8008EEEC 0008BE4C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8008EEF0 0008BE50 40 82 00 1C */ bne lbl_8008EF0C
/* 8008EEF4 0008BE54 C0 3E 01 2C */ lfs f1, 0x12c(r30)
/* 8008EEF8 0008BE58 C0 02 8A C8 */ lfs f0, lbl_805AA7E8@sda21(r2)
/* 8008EEFC 0008BE5C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8008EF00 0008BE60 4C 40 13 82 */ cror 2, 0, 2
/* 8008EF04 0008BE64 40 82 00 60 */ bne lbl_8008EF64
/* 8008EF08 0008BE68 48 00 02 14 */ b lbl_8008F11C
lbl_8008EF0C:
/* 8008EF0C 0008BE6C 80 BE 00 04 */ lwz r5, 4(r30)
/* 8008EF10 0008BE70 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 8008EF14 0008BE74 54 A3 18 38 */ slwi r3, r5, 3
/* 8008EF18 0008BE78 90 A1 00 24 */ stw r5, 0x24(r1)
/* 8008EF1C 0008BE7C 80 84 00 20 */ lwz r4, 0x20(r4)
/* 8008EF20 0008BE80 38 03 00 04 */ addi r0, r3, 4
/* 8008EF24 0008BE84 90 A1 00 28 */ stw r5, 0x28(r1)
/* 8008EF28 0008BE88 7C 64 00 2E */ lwzx r3, r4, r0
/* 8008EF2C 0008BE8C 88 03 00 F0 */ lbz r0, 0xf0(r3)
/* 8008EF30 0008BE90 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8008EF34 0008BE94 41 82 00 10 */ beq lbl_8008EF44
/* 8008EF38 0008BE98 80 63 01 2C */ lwz r3, 0x12c(r3)
/* 8008EF3C 0008BE9C 80 03 10 DC */ lwz r0, 0x10dc(r3)
/* 8008EF40 0008BEA0 48 00 00 08 */ b lbl_8008EF48
lbl_8008EF44:
/* 8008EF44 0008BEA4 38 00 00 00 */ li r0, 0
lbl_8008EF48:
/* 8008EF48 0008BEA8 2C 00 00 00 */ cmpwi r0, 0
/* 8008EF4C 0008BEAC 40 82 00 18 */ bne lbl_8008EF64
/* 8008EF50 0008BEB0 C0 3E 01 2C */ lfs f1, 0x12c(r30)
/* 8008EF54 0008BEB4 C0 02 8A C8 */ lfs f0, lbl_805AA7E8@sda21(r2)
/* 8008EF58 0008BEB8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8008EF5C 0008BEBC 4C 40 13 82 */ cror 2, 0, 2
/* 8008EF60 0008BEC0 41 82 01 BC */ beq lbl_8008F11C
lbl_8008EF64:
/* 8008EF64 0008BEC4 C0 1E 01 2C */ lfs f0, 0x12c(r30)
/* 8008EF68 0008BEC8 EC 00 F8 28 */ fsubs f0, f0, f31
/* 8008EF6C 0008BECC D0 1E 01 2C */ stfs f0, 0x12c(r30)
/* 8008EF70 0008BED0 88 1E 01 10 */ lbz r0, 0x110(r30)
/* 8008EF74 0008BED4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8008EF78 0008BED8 41 82 01 54 */ beq lbl_8008F0CC
/* 8008EF7C 0008BEDC 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8008EF80 0008BEE0 28 03 00 00 */ cmplwi r3, 0
/* 8008EF84 0008BEE4 41 82 00 2C */ beq lbl_8008EFB0
/* 8008EF88 0008BEE8 81 83 00 00 */ lwz r12, 0(r3)
/* 8008EF8C 0008BEEC FC 20 F8 90 */ fmr f1, f31
/* 8008EF90 0008BEF0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8008EF94 0008BEF4 7D 89 03 A6 */ mtctr r12
/* 8008EF98 0008BEF8 4E 80 04 21 */ bctrl
/* 8008EF9C 0008BEFC 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8008EFA0 0008BF00 48 28 8F 4D */ bl GetParticleCountAll__11CElementGenCFv
/* 8008EFA4 0008BF04 80 0D A2 9C */ lwz r0, lbl_805A8E5C@sda21(r13)
/* 8008EFA8 0008BF08 7C 00 1A 14 */ add r0, r0, r3
/* 8008EFAC 0008BF0C 90 0D A2 9C */ stw r0, lbl_805A8E5C@sda21(r13)
lbl_8008EFB0:
/* 8008EFB0 0008BF10 80 7E 00 F4 */ lwz r3, 0xf4(r30)
/* 8008EFB4 0008BF14 28 03 00 00 */ cmplwi r3, 0
/* 8008EFB8 0008BF18 41 82 00 38 */ beq lbl_8008EFF0
/* 8008EFBC 0008BF1C 81 83 00 00 */ lwz r12, 0(r3)
/* 8008EFC0 0008BF20 FC 20 F8 90 */ fmr f1, f31
/* 8008EFC4 0008BF24 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8008EFC8 0008BF28 7D 89 03 A6 */ mtctr r12
/* 8008EFCC 0008BF2C 4E 80 04 21 */ bctrl
/* 8008EFD0 0008BF30 80 7E 00 F4 */ lwz r3, 0xf4(r30)
/* 8008EFD4 0008BF34 81 83 00 00 */ lwz r12, 0(r3)
/* 8008EFD8 0008BF38 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 8008EFDC 0008BF3C 7D 89 03 A6 */ mtctr r12
/* 8008EFE0 0008BF40 4E 80 04 21 */ bctrl
/* 8008EFE4 0008BF44 80 0D A2 9C */ lwz r0, lbl_805A8E5C@sda21(r13)
/* 8008EFE8 0008BF48 7C 00 1A 14 */ add r0, r0, r3
/* 8008EFEC 0008BF4C 90 0D A2 9C */ stw r0, lbl_805A8E5C@sda21(r13)
lbl_8008EFF0:
/* 8008EFF0 0008BF50 A0 7E 01 08 */ lhz r3, 0x108(r30)
/* 8008EFF4 0008BF54 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8008EFF8 0008BF58 7C 03 00 40 */ cmplw r3, r0
/* 8008EFFC 0008BF5C 41 82 00 60 */ beq lbl_8008F05C
/* 8008F000 0008BF60 A0 1E 01 08 */ lhz r0, 0x108(r30)
/* 8008F004 0008BF64 7F E3 FB 78 */ mr r3, r31
/* 8008F008 0008BF68 38 81 00 18 */ addi r4, r1, 0x18
/* 8008F00C 0008BF6C B0 01 00 18 */ sth r0, 0x18(r1)
/* 8008F010 0008BF70 4B FB D5 65 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8008F014 0008BF74 7C 64 1B 78 */ mr r4, r3
/* 8008F018 0008BF78 38 61 00 2C */ addi r3, r1, 0x2c
/* 8008F01C 0008BF7C 48 01 EA 69 */ bl "__ct__24TCastToPtr<10CGameLight>FP7CEntity"
/* 8008F020 0008BF80 83 A3 00 04 */ lwz r29, 4(r3)
/* 8008F024 0008BF84 28 1D 00 00 */ cmplwi r29, 0
/* 8008F028 0008BF88 41 82 00 34 */ beq lbl_8008F05C
/* 8008F02C 0008BF8C 88 1E 00 30 */ lbz r0, 0x30(r30)
/* 8008F030 0008BF90 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8008F034 0008BF94 41 82 00 28 */ beq lbl_8008F05C
/* 8008F038 0008BF98 80 9E 01 04 */ lwz r4, 0x104(r30)
/* 8008F03C 0008BF9C 38 61 01 14 */ addi r3, r1, 0x114
/* 8008F040 0008BFA0 81 84 00 00 */ lwz r12, 0(r4)
/* 8008F044 0008BFA4 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 8008F048 0008BFA8 7D 89 03 A6 */ mtctr r12
/* 8008F04C 0008BFAC 4E 80 04 21 */ bctrl
/* 8008F050 0008BFB0 7F A3 EB 78 */ mr r3, r29
/* 8008F054 0008BFB4 38 81 01 14 */ addi r4, r1, 0x114
/* 8008F058 0008BFB8 48 02 66 ED */ bl SetLight__10CGameLightFRC6CLight
lbl_8008F05C:
/* 8008F05C 0008BFBC 88 1E 01 11 */ lbz r0, 0x111(r30)
/* 8008F060 0008BFC0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8008F064 0008BFC4 41 82 00 68 */ beq lbl_8008F0CC
/* 8008F068 0008BFC8 C0 3E 01 40 */ lfs f1, 0x140(r30)
/* 8008F06C 0008BFCC C0 02 8A D8 */ lfs f0, lbl_805AA7F8@sda21(r2)
/* 8008F070 0008BFD0 EC 21 F8 2A */ fadds f1, f1, f31
/* 8008F074 0008BFD4 D0 3E 01 40 */ stfs f1, 0x140(r30)
/* 8008F078 0008BFD8 C0 3E 01 40 */ lfs f1, 0x140(r30)
/* 8008F07C 0008BFDC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8008F080 0008BFE0 40 81 00 20 */ ble lbl_8008F0A0
/* 8008F084 0008BFE4 A0 1E 00 08 */ lhz r0, 8(r30)
/* 8008F088 0008BFE8 7F E3 FB 78 */ mr r3, r31
/* 8008F08C 0008BFEC 38 81 00 14 */ addi r4, r1, 0x14
/* 8008F090 0008BFF0 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8008F094 0008BFF4 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8008F098 0008BFF8 4B FB D1 D5 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 8008F09C 0008BFFC 48 00 00 80 */ b lbl_8008F11C
lbl_8008F0A0:
/* 8008F0A0 0008C000 7F C3 F3 78 */ mr r3, r30
/* 8008F0A4 0008C004 4B FF EE 81 */ bl sub_8008df24
/* 8008F0A8 0008C008 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8008F0AC 0008C00C 41 82 00 20 */ beq lbl_8008F0CC
/* 8008F0B0 0008C010 A0 1E 00 08 */ lhz r0, 8(r30)
/* 8008F0B4 0008C014 7F E3 FB 78 */ mr r3, r31
/* 8008F0B8 0008C018 38 81 00 0C */ addi r4, r1, 0xc
/* 8008F0BC 0008C01C B0 01 00 08 */ sth r0, 8(r1)
/* 8008F0C0 0008C020 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8008F0C4 0008C024 4B FB D1 A9 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 8008F0C8 0008C028 48 00 00 54 */ b lbl_8008F11C
lbl_8008F0CC:
/* 8008F0CC 0008C02C 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8008F0D0 0008C030 28 03 00 00 */ cmplwi r3, 0
/* 8008F0D4 0008C034 41 82 00 48 */ beq lbl_8008F11C
/* 8008F0D8 0008C038 88 1E 00 B4 */ lbz r0, 0xb4(r30)
/* 8008F0DC 0008C03C 7C 00 07 75 */ extsb. r0, r0
/* 8008F0E0 0008C040 41 82 00 1C */ beq lbl_8008F0FC
/* 8008F0E4 0008C044 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F0E8 0008C048 38 9E 00 B8 */ addi r4, r30, 0xb8
/* 8008F0EC 0008C04C 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8008F0F0 0008C050 7D 89 03 A6 */ mtctr r12
/* 8008F0F4 0008C054 4E 80 04 21 */ bctrl
/* 8008F0F8 0008C058 48 00 00 24 */ b lbl_8008F11C
lbl_8008F0FC:
/* 8008F0FC 0008C05C 38 00 FF FF */ li r0, -1
/* 8008F100 0008C060 38 81 00 20 */ addi r4, r1, 0x20
/* 8008F104 0008C064 90 01 00 20 */ stw r0, 0x20(r1)
/* 8008F108 0008C068 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8008F10C 0008C06C 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F110 0008C070 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8008F114 0008C074 7D 89 03 A6 */ mtctr r12
/* 8008F118 0008C078 4E 80 04 21 */ bctrl
lbl_8008F11C:
/* 8008F11C 0008C07C E3 E1 01 88 */ psq_l f31, 392(r1), 0, qr0
/* 8008F120 0008C080 80 01 01 94 */ lwz r0, 0x194(r1)
/* 8008F124 0008C084 CB E1 01 80 */ lfd f31, 0x180(r1)
/* 8008F128 0008C088 83 E1 01 7C */ lwz r31, 0x17c(r1)
/* 8008F12C 0008C08C 83 C1 01 78 */ lwz r30, 0x178(r1)
/* 8008F130 0008C090 83 A1 01 74 */ lwz r29, 0x174(r1)
/* 8008F134 0008C094 7C 08 03 A6 */ mtlr r0
/* 8008F138 0008C098 38 21 01 90 */ addi r1, r1, 0x190
/* 8008F13C 0008C09C 4E 80 00 20 */ blr
.global "__ct__13CScriptEffectF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC9CVector3fUiUibbbbbffff"
"__ct__13CScriptEffectF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC9CVector3fUiUibbbbbffff":
/* 8008F140 0008C0A0 94 21 FC D0 */ stwu r1, -0x330(r1)
/* 8008F144 0008C0A4 7C 08 02 A6 */ mflr r0
/* 8008F148 0008C0A8 90 01 03 34 */ stw r0, 0x334(r1)
/* 8008F14C 0008C0AC DB E1 03 20 */ stfd f31, 0x320(r1)
/* 8008F150 0008C0B0 F3 E1 03 28 */ psq_st f31, 808(r1), 0, qr0
/* 8008F154 0008C0B4 DB C1 03 10 */ stfd f30, 0x310(r1)
/* 8008F158 0008C0B8 F3 C1 03 18 */ psq_st f30, 792(r1), 0, qr0
/* 8008F15C 0008C0BC DB A1 03 00 */ stfd f29, 0x300(r1)
/* 8008F160 0008C0C0 F3 A1 03 08 */ psq_st f29, 776(r1), 0, qr0
/* 8008F164 0008C0C4 DB 81 02 F0 */ stfd f28, 0x2f0(r1)
/* 8008F168 0008C0C8 F3 81 02 F8 */ psq_st f28, 760(r1), 0, qr0
/* 8008F16C 0008C0CC DB 61 02 E0 */ stfd f27, 0x2e0(r1)
/* 8008F170 0008C0D0 F3 61 02 E8 */ psq_st f27, 744(r1), 0, qr0
/* 8008F174 0008C0D4 DB 41 02 D0 */ stfd f26, 0x2d0(r1)
/* 8008F178 0008C0D8 F3 41 02 D8 */ psq_st f26, 728(r1), 0, qr0
/* 8008F17C 0008C0DC DB 21 02 C0 */ stfd f25, 0x2c0(r1)
/* 8008F180 0008C0E0 F3 21 02 C8 */ psq_st f25, 712(r1), 0, qr0
/* 8008F184 0008C0E4 BD C1 02 78 */ stmw r14, 0x278(r1)
/* 8008F188 0008C0E8 FF 20 08 90 */ fmr f25, f1
/* 8008F18C 0008C0EC 7C 6F 1B 78 */ mr r15, r3
/* 8008F190 0008C0F0 FF 40 10 90 */ fmr f26, f2
/* 8008F194 0008C0F4 8A E1 03 3B */ lbz r23, 0x33b(r1)
/* 8008F198 0008C0F8 FF 60 18 90 */ fmr f27, f3
/* 8008F19C 0008C0FC 8B 01 03 3F */ lbz r24, 0x33f(r1)
/* 8008F1A0 0008C100 FF 80 20 90 */ fmr f28, f4
/* 8008F1A4 0008C104 8B 21 03 43 */ lbz r25, 0x343(r1)
/* 8008F1A8 0008C108 FF A0 28 90 */ fmr f29, f5
/* 8008F1AC 0008C10C 8B 41 03 47 */ lbz r26, 0x347(r1)
/* 8008F1B0 0008C110 FF C0 30 90 */ fmr f30, f6
/* 8008F1B4 0008C114 8B 61 03 4B */ lbz r27, 0x34b(r1)
/* 8008F1B8 0008C118 FF E0 38 90 */ fmr f31, f7
/* 8008F1BC 0008C11C 8B 81 03 53 */ lbz r28, 0x353(r1)
/* 8008F1C0 0008C120 8B A1 03 57 */ lbz r29, 0x357(r1)
/* 8008F1C4 0008C124 7C 90 23 78 */ mr r16, r4
/* 8008F1C8 0008C128 8B C1 03 5B */ lbz r30, 0x35b(r1)
/* 8008F1CC 0008C12C 7C B1 2B 78 */ mr r17, r5
/* 8008F1D0 0008C130 83 E1 03 5C */ lwz r31, 0x35c(r1)
/* 8008F1D4 0008C134 7C D2 33 78 */ mr r18, r6
/* 8008F1D8 0008C138 89 C1 03 63 */ lbz r14, 0x363(r1)
/* 8008F1DC 0008C13C 7C F3 3B 78 */ mr r19, r7
/* 8008F1E0 0008C140 7D 14 43 78 */ mr r20, r8
/* 8008F1E4 0008C144 7D 35 4B 78 */ mr r21, r9
/* 8008F1E8 0008C148 7D 56 53 78 */ mr r22, r10
/* 8008F1EC 0008C14C 38 61 02 28 */ addi r3, r1, 0x228
/* 8008F1F0 0008C150 4B FA B5 B5 */ bl CModelDataNull__10CModelDataFv
/* 8008F1F4 0008C154 38 61 01 C0 */ addi r3, r1, 0x1c0
/* 8008F1F8 0008C158 4B F8 BC 41 */ bl None__16CActorParametersFv
/* 8008F1FC 0008C15C 7E E5 BB 78 */ mr r5, r23
/* 8008F200 0008C160 38 61 01 58 */ addi r3, r1, 0x158
/* 8008F204 0008C164 38 81 01 C0 */ addi r4, r1, 0x1c0
/* 8008F208 0008C168 48 07 76 05 */ bl HotInThermal__16CActorParametersCFb
/* 8008F20C 0008C16C A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13)
/* 8008F210 0008C170 38 00 00 00 */ li r0, 0
/* 8008F214 0008C174 80 AD 85 50 */ lwz r5, lbl_805A7110@sda21(r13)
/* 8008F218 0008C178 38 60 00 00 */ li r3, 0
/* 8008F21C 0008C17C B0 81 00 10 */ sth r4, 0x10(r1)
/* 8008F220 0008C180 38 80 00 01 */ li r4, 1
/* 8008F224 0008C184 90 01 00 64 */ stw r0, 0x64(r1)
/* 8008F228 0008C188 90 01 00 60 */ stw r0, 0x60(r1)
/* 8008F22C 0008C18C 48 2F AC C9 */ bl __shl2i
/* 8008F230 0008C190 80 A1 00 60 */ lwz r5, 0x60(r1)
/* 8008F234 0008C194 39 61 01 58 */ addi r11, r1, 0x158
/* 8008F238 0008C198 80 C1 00 64 */ lwz r6, 0x64(r1)
/* 8008F23C 0008C19C 38 01 00 10 */ addi r0, r1, 0x10
/* 8008F240 0008C1A0 7C A3 1B 78 */ or r3, r5, r3
/* 8008F244 0008C1A4 A1 30 00 00 */ lhz r9, 0(r16)
/* 8008F248 0008C1A8 7C C4 23 78 */ or r4, r6, r4
/* 8008F24C 0008C1AC 90 61 00 60 */ stw r3, 0x60(r1)
/* 8008F250 0008C1B0 7D E3 7B 78 */ mr r3, r15
/* 8008F254 0008C1B4 7F 45 D3 78 */ mr r5, r26
/* 8008F258 0008C1B8 90 81 00 64 */ stw r4, 0x64(r1)
/* 8008F25C 0008C1BC 7E 26 8B 78 */ mr r6, r17
/* 8008F260 0008C1C0 7E 47 93 78 */ mr r7, r18
/* 8008F264 0008C1C4 7E 68 9B 78 */ mr r8, r19
/* 8008F268 0008C1C8 B1 21 00 14 */ sth r9, 0x14(r1)
/* 8008F26C 0008C1CC 38 81 00 14 */ addi r4, r1, 0x14
/* 8008F270 0008C1D0 39 21 02 28 */ addi r9, r1, 0x228
/* 8008F274 0008C1D4 39 41 00 60 */ addi r10, r1, 0x60
/* 8008F278 0008C1D8 91 61 00 08 */ stw r11, 8(r1)
/* 8008F27C 0008C1DC 90 01 00 0C */ stw r0, 0xc(r1)
/* 8008F280 0008C1E0 4B FC 65 A1 */ bl "__ct__6CActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC16CActorParameters9TUniqueId"
/* 8008F284 0008C1E4 38 61 01 58 */ addi r3, r1, 0x158
/* 8008F288 0008C1E8 38 80 FF FF */ li r4, -1
/* 8008F28C 0008C1EC 48 07 73 7D */ bl __dt__16CLightParametersFv
/* 8008F290 0008C1F0 38 61 01 C0 */ addi r3, r1, 0x1c0
/* 8008F294 0008C1F4 38 80 FF FF */ li r4, -1
/* 8008F298 0008C1F8 48 07 73 71 */ bl __dt__16CLightParametersFv
/* 8008F29C 0008C1FC 38 61 02 28 */ addi r3, r1, 0x228
/* 8008F2A0 0008C200 38 80 FF FF */ li r4, -1
/* 8008F2A4 0008C204 48 08 77 A9 */ bl __dt__10CModelDataFv
/* 8008F2A8 0008C208 3C 60 80 3E */ lis r3, lbl_803DAC38@ha
/* 8008F2AC 0008C20C 3A 0F 00 E8 */ addi r16, r15, 0xe8
/* 8008F2B0 0008C210 38 03 AC 38 */ addi r0, r3, lbl_803DAC38@l
/* 8008F2B4 0008C214 38 80 00 00 */ li r4, 0
/* 8008F2B8 0008C218 90 0F 00 00 */ stw r0, 0(r15)
/* 8008F2BC 0008C21C 38 61 00 20 */ addi r3, r1, 0x20
/* 8008F2C0 0008C220 48 00 07 A1 */ bl "GetNewDerivedObject__48TObjOwnerDerivedFromIObj<20CElectricDescription>FP20CElectricDescription"
/* 8008F2C4 0008C224 38 00 00 00 */ li r0, 0
/* 8008F2C8 0008C228 80 81 00 24 */ lwz r4, 0x24(r1)
/* 8008F2CC 0008C22C 98 01 00 20 */ stb r0, 0x20(r1)
/* 8008F2D0 0008C230 7E 03 83 78 */ mr r3, r16
/* 8008F2D4 0008C234 48 2B 1C 31 */ bl __ct__6CTokenFP4IObj
/* 8008F2D8 0008C238 88 01 00 20 */ lbz r0, 0x20(r1)
/* 8008F2DC 0008C23C 28 00 00 00 */ cmplwi r0, 0
/* 8008F2E0 0008C240 41 82 00 24 */ beq lbl_8008F304
/* 8008F2E4 0008C244 80 61 00 24 */ lwz r3, 0x24(r1)
/* 8008F2E8 0008C248 28 03 00 00 */ cmplwi r3, 0
/* 8008F2EC 0008C24C 41 82 00 18 */ beq lbl_8008F304
/* 8008F2F0 0008C250 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F2F4 0008C254 38 80 00 01 */ li r4, 1
/* 8008F2F8 0008C258 81 8C 00 08 */ lwz r12, 8(r12)
/* 8008F2FC 0008C25C 7D 89 03 A6 */ mtctr r12
/* 8008F300 0008C260 4E 80 04 21 */ bctrl
lbl_8008F304:
/* 8008F304 0008C264 38 00 00 00 */ li r0, 0
/* 8008F308 0008C268 7E 03 83 78 */ mr r3, r16
/* 8008F30C 0008C26C 90 10 00 08 */ stw r0, 8(r16)
/* 8008F310 0008C270 48 2B 1A 75 */ bl Lock__6CTokenFv
/* 8008F314 0008C274 38 00 00 00 */ li r0, 0
/* 8008F318 0008C278 3A 0F 00 F8 */ addi r16, r15, 0xf8
/* 8008F31C 0008C27C 90 0F 00 F4 */ stw r0, 0xf4(r15)
/* 8008F320 0008C280 38 61 00 18 */ addi r3, r1, 0x18
/* 8008F324 0008C284 38 80 00 00 */ li r4, 0
/* 8008F328 0008C288 48 00 06 19 */ bl "GetNewDerivedObject__43TObjOwnerDerivedFromIObj<15CGenDescription>FP15CGenDescription"
/* 8008F32C 0008C28C 38 00 00 00 */ li r0, 0
/* 8008F330 0008C290 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 8008F334 0008C294 98 01 00 18 */ stb r0, 0x18(r1)
/* 8008F338 0008C298 7E 03 83 78 */ mr r3, r16
/* 8008F33C 0008C29C 48 2B 1B C9 */ bl __ct__6CTokenFP4IObj
/* 8008F340 0008C2A0 88 01 00 18 */ lbz r0, 0x18(r1)
/* 8008F344 0008C2A4 28 00 00 00 */ cmplwi r0, 0
/* 8008F348 0008C2A8 41 82 00 24 */ beq lbl_8008F36C
/* 8008F34C 0008C2AC 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8008F350 0008C2B0 28 03 00 00 */ cmplwi r3, 0
/* 8008F354 0008C2B4 41 82 00 18 */ beq lbl_8008F36C
/* 8008F358 0008C2B8 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F35C 0008C2BC 38 80 00 01 */ li r4, 1
/* 8008F360 0008C2C0 81 8C 00 08 */ lwz r12, 8(r12)
/* 8008F364 0008C2C4 7D 89 03 A6 */ mtctr r12
/* 8008F368 0008C2C8 4E 80 04 21 */ bctrl
lbl_8008F36C:
/* 8008F36C 0008C2CC 38 00 00 00 */ li r0, 0
/* 8008F370 0008C2D0 7E 03 83 78 */ mr r3, r16
/* 8008F374 0008C2D4 90 10 00 08 */ stw r0, 8(r16)
/* 8008F378 0008C2D8 48 2B 1A 0D */ bl Lock__6CTokenFv
/* 8008F37C 0008C2DC 38 60 00 00 */ li r3, 0
/* 8008F380 0008C2E0 28 1E 00 00 */ cmplwi r30, 0
/* 8008F384 0008C2E4 90 6F 01 04 */ stw r3, 0x104(r15)
/* 8008F388 0008C2E8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8008F38C 0008C2EC B0 0F 01 08 */ sth r0, 0x108(r15)
/* 8008F390 0008C2F0 92 AF 01 0C */ stw r21, 0x10c(r15)
/* 8008F394 0008C2F4 88 0F 01 10 */ lbz r0, 0x110(r15)
/* 8008F398 0008C2F8 53 40 3E 30 */ rlwimi r0, r26, 7, 0x18, 0x18
/* 8008F39C 0008C2FC 98 0F 01 10 */ stb r0, 0x110(r15)
/* 8008F3A0 0008C300 88 0F 01 10 */ lbz r0, 0x110(r15)
/* 8008F3A4 0008C304 53 00 36 72 */ rlwimi r0, r24, 6, 0x19, 0x19
/* 8008F3A8 0008C308 98 0F 01 10 */ stb r0, 0x110(r15)
/* 8008F3AC 0008C30C 88 0F 01 10 */ lbz r0, 0x110(r15)
/* 8008F3B0 0008C310 53 20 2E B4 */ rlwimi r0, r25, 5, 0x1a, 0x1a
/* 8008F3B4 0008C314 98 0F 01 10 */ stb r0, 0x110(r15)
/* 8008F3B8 0008C318 88 0F 01 10 */ lbz r0, 0x110(r15)
/* 8008F3BC 0008C31C 53 60 26 F6 */ rlwimi r0, r27, 4, 0x1b, 0x1b
/* 8008F3C0 0008C320 98 0F 01 10 */ stb r0, 0x110(r15)
/* 8008F3C4 0008C324 88 0F 01 10 */ lbz r0, 0x110(r15)
/* 8008F3C8 0008C328 53 80 1F 38 */ rlwimi r0, r28, 3, 0x1c, 0x1c
/* 8008F3CC 0008C32C 98 0F 01 10 */ stb r0, 0x110(r15)
/* 8008F3D0 0008C330 88 0F 01 10 */ lbz r0, 0x110(r15)
/* 8008F3D4 0008C334 53 A0 17 7A */ rlwimi r0, r29, 2, 0x1d, 0x1d
/* 8008F3D8 0008C338 98 0F 01 10 */ stb r0, 0x110(r15)
/* 8008F3DC 0008C33C 88 0F 01 10 */ lbz r0, 0x110(r15)
/* 8008F3E0 0008C340 53 C0 0F BC */ rlwimi r0, r30, 1, 0x1e, 0x1e
/* 8008F3E4 0008C344 98 0F 01 10 */ stb r0, 0x110(r15)
/* 8008F3E8 0008C348 41 82 00 18 */ beq lbl_8008F400
/* 8008F3EC 0008C34C 28 1D 00 00 */ cmplwi r29, 0
/* 8008F3F0 0008C350 41 82 00 10 */ beq lbl_8008F400
/* 8008F3F4 0008C354 28 1C 00 00 */ cmplwi r28, 0
/* 8008F3F8 0008C358 41 82 00 08 */ beq lbl_8008F400
/* 8008F3FC 0008C35C 38 60 00 01 */ li r3, 1
lbl_8008F400:
/* 8008F400 0008C360 88 0F 01 10 */ lbz r0, 0x110(r15)
/* 8008F404 0008C364 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
/* 8008F408 0008C368 38 A0 00 00 */ li r5, 0
/* 8008F40C 0008C36C EC 19 06 72 */ fmuls f0, f25, f25
/* 8008F410 0008C370 98 0F 01 10 */ stb r0, 0x110(r15)
/* 8008F414 0008C374 7F E4 FB 78 */ mr r4, r31
/* 8008F418 0008C378 88 01 03 4F */ lbz r0, 0x34f(r1)
/* 8008F41C 0008C37C 38 61 00 58 */ addi r3, r1, 0x58
/* 8008F420 0008C380 88 CF 01 11 */ lbz r6, 0x111(r15)
/* 8008F424 0008C384 50 06 3E 30 */ rlwimi r6, r0, 7, 0x18, 0x18
/* 8008F428 0008C388 98 CF 01 11 */ stb r6, 0x111(r15)
/* 8008F42C 0008C38C 88 0F 01 11 */ lbz r0, 0x111(r15)
/* 8008F430 0008C390 51 C0 36 72 */ rlwimi r0, r14, 6, 0x19, 0x19
/* 8008F434 0008C394 98 0F 01 11 */ stb r0, 0x111(r15)
/* 8008F438 0008C398 88 0F 01 11 */ lbz r0, 0x111(r15)
/* 8008F43C 0008C39C 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a
/* 8008F440 0008C3A0 98 0F 01 11 */ stb r0, 0x111(r15)
/* 8008F444 0008C3A4 D3 2F 01 14 */ stfs f25, 0x114(r15)
/* 8008F448 0008C3A8 D0 0F 01 18 */ stfs f0, 0x118(r15)
/* 8008F44C 0008C3AC D3 4F 01 1C */ stfs f26, 0x11c(r15)
/* 8008F450 0008C3B0 D3 AF 01 20 */ stfs f29, 0x120(r15)
/* 8008F454 0008C3B4 D3 CF 01 24 */ stfs f30, 0x124(r15)
/* 8008F458 0008C3B8 D3 EF 01 28 */ stfs f31, 0x128(r15)
/* 8008F45C 0008C3BC D3 6F 01 2C */ stfs f27, 0x12c(r15)
/* 8008F460 0008C3C0 D3 6F 01 30 */ stfs f27, 0x130(r15)
/* 8008F464 0008C3C4 D3 8F 01 34 */ stfs f28, 0x134(r15)
/* 8008F468 0008C3C8 48 07 6F A9 */ bl MakeActorLights__16CLightParametersCFv
/* 8008F46C 0008C3CC 38 00 00 00 */ li r0, 0
/* 8008F470 0008C3D0 80 61 00 5C */ lwz r3, 0x5c(r1)
/* 8008F474 0008C3D4 98 01 00 58 */ stb r0, 0x58(r1)
/* 8008F478 0008C3D8 90 6F 01 38 */ stw r3, 0x138(r15)
/* 8008F47C 0008C3DC 88 01 00 58 */ lbz r0, 0x58(r1)
/* 8008F480 0008C3E0 28 00 00 00 */ cmplwi r0, 0
/* 8008F484 0008C3E4 41 82 00 10 */ beq lbl_8008F494
/* 8008F488 0008C3E8 80 61 00 5C */ lwz r3, 0x5c(r1)
/* 8008F48C 0008C3EC 38 80 00 01 */ li r4, 1
/* 8008F490 0008C3F0 48 07 5C 45 */ bl __dt__12CActorLightsFv
lbl_8008F494:
/* 8008F494 0008C3F4 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13)
/* 8008F498 0008C3F8 3C 15 00 01 */ addis r0, r21, 1
/* 8008F49C 0008C3FC C0 02 8A C8 */ lfs f0, lbl_805AA7E8@sda21(r2)
/* 8008F4A0 0008C400 28 00 FF FF */ cmplwi r0, 0xffff
/* 8008F4A4 0008C404 B0 6F 01 3C */ sth r3, 0x13c(r15)
/* 8008F4A8 0008C408 D0 0F 01 40 */ stfs f0, 0x140(r15)
/* 8008F4AC 0008C40C 41 82 01 E0 */ beq lbl_8008F68C
/* 8008F4B0 0008C410 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 8008F4B4 0008C414 92 A1 00 54 */ stw r21, 0x54(r1)
/* 8008F4B8 0008C418 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 8008F4BC 0008C41C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8008F4C0 0008C420 90 01 00 50 */ stw r0, 0x50(r1)
/* 8008F4C4 0008C424 38 61 00 48 */ addi r3, r1, 0x48
/* 8008F4C8 0008C428 38 A1 00 50 */ addi r5, r1, 0x50
/* 8008F4CC 0008C42C 81 84 00 00 */ lwz r12, 0(r4)
/* 8008F4D0 0008C430 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8008F4D4 0008C434 7D 89 03 A6 */ mtctr r12
/* 8008F4D8 0008C438 4E 80 04 21 */ bctrl
/* 8008F4DC 0008C43C 39 C1 00 8C */ addi r14, r1, 0x8c
/* 8008F4E0 0008C440 38 81 00 48 */ addi r4, r1, 0x48
/* 8008F4E4 0008C444 7D C3 73 78 */ mr r3, r14
/* 8008F4E8 0008C448 48 2B 19 C1 */ bl __ct__6CTokenFRC6CToken
/* 8008F4EC 0008C44C 7D C3 73 78 */ mr r3, r14
/* 8008F4F0 0008C450 48 2B 19 1D */ bl GetObj__6CTokenFv
/* 8008F4F4 0008C454 80 03 00 04 */ lwz r0, 4(r3)
/* 8008F4F8 0008C458 38 6F 00 F8 */ addi r3, r15, 0xf8
/* 8008F4FC 0008C45C 7D C4 73 78 */ mr r4, r14
/* 8008F500 0008C460 90 01 00 94 */ stw r0, 0x94(r1)
/* 8008F504 0008C464 48 2B 17 C1 */ bl __as__6CTokenFRC6CToken
/* 8008F508 0008C468 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8008F50C 0008C46C 7D C3 73 78 */ mr r3, r14
/* 8008F510 0008C470 38 80 00 00 */ li r4, 0
/* 8008F514 0008C474 90 0F 01 00 */ stw r0, 0x100(r15)
/* 8008F518 0008C478 48 2B 19 29 */ bl __dt__6CTokenFv
/* 8008F51C 0008C47C 38 61 00 48 */ addi r3, r1, 0x48
/* 8008F520 0008C480 38 80 FF FF */ li r4, -1
/* 8008F524 0008C484 48 2B 19 1D */ bl __dt__6CTokenFv
/* 8008F528 0008C488 3C 60 80 3D */ lis r3, lbl_803CD690@ha
/* 8008F52C 0008C48C 3A 00 00 00 */ li r16, 0
/* 8008F530 0008C490 38 83 D6 90 */ addi r4, r3, lbl_803CD690@l
/* 8008F534 0008C494 38 A0 00 00 */ li r5, 0
/* 8008F538 0008C498 38 60 03 40 */ li r3, 0x340
/* 8008F53C 0008C49C 48 28 63 31 */ bl __nw__FUlPCcPCc
/* 8008F540 0008C4A0 7C 6E 1B 79 */ or. r14, r3, r3
/* 8008F544 0008C4A4 41 82 00 2C */ beq lbl_8008F570
/* 8008F548 0008C4A8 38 61 00 40 */ addi r3, r1, 0x40
/* 8008F54C 0008C4AC 38 8F 00 F8 */ addi r4, r15, 0xf8
/* 8008F550 0008C4B0 48 2B 19 59 */ bl __ct__6CTokenFRC6CToken
/* 8008F554 0008C4B4 7D C3 73 78 */ mr r3, r14
/* 8008F558 0008C4B8 38 81 00 40 */ addi r4, r1, 0x40
/* 8008F55C 0008C4BC 3A 00 00 01 */ li r16, 1
/* 8008F560 0008C4C0 38 A0 00 00 */ li r5, 0
/* 8008F564 0008C4C4 38 C0 00 01 */ li r6, 1
/* 8008F568 0008C4C8 48 28 FE 79 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8008F56C 0008C4CC 7C 6E 1B 78 */ mr r14, r3
lbl_8008F570:
/* 8008F570 0008C4D0 80 6F 01 04 */ lwz r3, 0x104(r15)
/* 8008F574 0008C4D4 28 03 00 00 */ cmplwi r3, 0
/* 8008F578 0008C4D8 41 82 00 18 */ beq lbl_8008F590
/* 8008F57C 0008C4DC 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F580 0008C4E0 38 80 00 01 */ li r4, 1
/* 8008F584 0008C4E4 81 8C 00 08 */ lwz r12, 8(r12)
/* 8008F588 0008C4E8 7D 89 03 A6 */ mtctr r12
/* 8008F58C 0008C4EC 4E 80 04 21 */ bctrl
lbl_8008F590:
/* 8008F590 0008C4F0 7E 00 07 75 */ extsb. r0, r16
/* 8008F594 0008C4F4 91 CF 01 04 */ stw r14, 0x104(r15)
/* 8008F598 0008C4F8 41 82 00 10 */ beq lbl_8008F5A8
/* 8008F59C 0008C4FC 38 61 00 40 */ addi r3, r1, 0x40
/* 8008F5A0 0008C500 38 80 00 00 */ li r4, 0
/* 8008F5A4 0008C504 48 2B 18 9D */ bl __dt__6CTokenFv
lbl_8008F5A8:
/* 8008F5A8 0008C508 7E 64 9B 78 */ mr r4, r19
/* 8008F5AC 0008C50C 38 61 00 C8 */ addi r3, r1, 0xc8
/* 8008F5B0 0008C510 48 28 35 C5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008F5B4 0008C514 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8008F5B8 0008C518 38 61 01 28 */ addi r3, r1, 0x128
/* 8008F5BC 0008C51C 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l
/* 8008F5C0 0008C520 38 81 00 C8 */ addi r4, r1, 0xc8
/* 8008F5C4 0008C524 C0 45 00 00 */ lfs f2, 0(r5)
/* 8008F5C8 0008C528 C0 25 00 04 */ lfs f1, 4(r5)
/* 8008F5CC 0008C52C C0 05 00 08 */ lfs f0, 8(r5)
/* 8008F5D0 0008C530 D0 41 00 D4 */ stfs f2, 0xd4(r1)
/* 8008F5D4 0008C534 D0 21 00 E4 */ stfs f1, 0xe4(r1)
/* 8008F5D8 0008C538 D0 01 00 F4 */ stfs f0, 0xf4(r1)
/* 8008F5DC 0008C53C 48 28 35 99 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008F5E0 0008C540 80 6F 01 04 */ lwz r3, 0x104(r15)
/* 8008F5E4 0008C544 38 81 01 28 */ addi r4, r1, 0x128
/* 8008F5E8 0008C548 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F5EC 0008C54C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8008F5F0 0008C550 7D 89 03 A6 */ mtctr r12
/* 8008F5F4 0008C554 4E 80 04 21 */ bctrl
/* 8008F5F8 0008C558 C0 53 00 2C */ lfs f2, 0x2c(r19)
/* 8008F5FC 0008C55C 38 81 00 80 */ addi r4, r1, 0x80
/* 8008F600 0008C560 C0 33 00 1C */ lfs f1, 0x1c(r19)
/* 8008F604 0008C564 C0 13 00 0C */ lfs f0, 0xc(r19)
/* 8008F608 0008C568 D0 21 00 84 */ stfs f1, 0x84(r1)
/* 8008F60C 0008C56C D0 01 00 80 */ stfs f0, 0x80(r1)
/* 8008F610 0008C570 D0 41 00 88 */ stfs f2, 0x88(r1)
/* 8008F614 0008C574 80 6F 01 04 */ lwz r3, 0x104(r15)
/* 8008F618 0008C578 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F61C 0008C57C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8008F620 0008C580 7D 89 03 A6 */ mtctr r12
/* 8008F624 0008C584 4E 80 04 21 */ bctrl
/* 8008F628 0008C588 80 6F 01 04 */ lwz r3, 0x104(r15)
/* 8008F62C 0008C58C 7E 84 A3 78 */ mr r4, r20
/* 8008F630 0008C590 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F634 0008C594 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8008F638 0008C598 7D 89 03 A6 */ mtctr r12
/* 8008F63C 0008C59C 4E 80 04 21 */ bctrl
/* 8008F640 0008C5A0 80 6F 01 04 */ lwz r3, 0x104(r15)
/* 8008F644 0008C5A4 7F 44 D3 78 */ mr r4, r26
/* 8008F648 0008C5A8 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F64C 0008C5AC 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8008F650 0008C5B0 7D 89 03 A6 */ mtctr r12
/* 8008F654 0008C5B4 4E 80 04 21 */ bctrl
/* 8008F658 0008C5B8 80 6F 01 04 */ lwz r3, 0x104(r15)
/* 8008F65C 0008C5BC 38 9F 00 18 */ addi r4, r31, 0x18
/* 8008F660 0008C5C0 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F664 0008C5C4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8008F668 0008C5C8 7D 89 03 A6 */ mtctr r12
/* 8008F66C 0008C5CC 4E 80 04 21 */ bctrl
/* 8008F670 0008C5D0 80 6F 01 38 */ lwz r3, 0x138(r15)
/* 8008F674 0008C5D4 80 8F 01 04 */ lwz r4, 0x104(r15)
/* 8008F678 0008C5D8 7C 03 00 D0 */ neg r0, r3
/* 8008F67C 0008C5DC 7C 03 1B 78 */ or r3, r0, r3
/* 8008F680 0008C5E0 88 04 02 6D */ lbz r0, 0x26d(r4)
/* 8008F684 0008C5E4 50 60 36 B4 */ rlwimi r0, r3, 6, 0x1a, 0x1a
/* 8008F688 0008C5E8 98 04 02 6D */ stb r0, 0x26d(r4)
lbl_8008F68C:
/* 8008F68C 0008C5EC 3C 16 00 01 */ addis r0, r22, 1
/* 8008F690 0008C5F0 28 00 FF FF */ cmplwi r0, 0xffff
/* 8008F694 0008C5F4 41 82 01 BC */ beq lbl_8008F850
/* 8008F698 0008C5F8 3C 60 45 4C */ lis r3, 0x454C5343@ha
/* 8008F69C 0008C5FC 92 C1 00 3C */ stw r22, 0x3c(r1)
/* 8008F6A0 0008C600 38 03 53 43 */ addi r0, r3, 0x454C5343@l
/* 8008F6A4 0008C604 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8008F6A8 0008C608 90 01 00 38 */ stw r0, 0x38(r1)
/* 8008F6AC 0008C60C 38 61 00 30 */ addi r3, r1, 0x30
/* 8008F6B0 0008C610 38 A1 00 38 */ addi r5, r1, 0x38
/* 8008F6B4 0008C614 81 84 00 00 */ lwz r12, 0(r4)
/* 8008F6B8 0008C618 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8008F6BC 0008C61C 7D 89 03 A6 */ mtctr r12
/* 8008F6C0 0008C620 4E 80 04 21 */ bctrl
/* 8008F6C4 0008C624 39 C1 00 74 */ addi r14, r1, 0x74
/* 8008F6C8 0008C628 38 81 00 30 */ addi r4, r1, 0x30
/* 8008F6CC 0008C62C 7D C3 73 78 */ mr r3, r14
/* 8008F6D0 0008C630 48 2B 17 D9 */ bl __ct__6CTokenFRC6CToken
/* 8008F6D4 0008C634 7D C3 73 78 */ mr r3, r14
/* 8008F6D8 0008C638 48 2B 17 35 */ bl GetObj__6CTokenFv
/* 8008F6DC 0008C63C 80 03 00 04 */ lwz r0, 4(r3)
/* 8008F6E0 0008C640 38 6F 00 E8 */ addi r3, r15, 0xe8
/* 8008F6E4 0008C644 7D C4 73 78 */ mr r4, r14
/* 8008F6E8 0008C648 90 01 00 7C */ stw r0, 0x7c(r1)
/* 8008F6EC 0008C64C 48 2B 15 D9 */ bl __as__6CTokenFRC6CToken
/* 8008F6F0 0008C650 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 8008F6F4 0008C654 7D C3 73 78 */ mr r3, r14
/* 8008F6F8 0008C658 38 80 00 00 */ li r4, 0
/* 8008F6FC 0008C65C 90 0F 00 F0 */ stw r0, 0xf0(r15)
/* 8008F700 0008C660 48 2B 17 41 */ bl __dt__6CTokenFv
/* 8008F704 0008C664 38 61 00 30 */ addi r3, r1, 0x30
/* 8008F708 0008C668 38 80 FF FF */ li r4, -1
/* 8008F70C 0008C66C 48 2B 17 35 */ bl __dt__6CTokenFv
/* 8008F710 0008C670 3C 60 80 3D */ lis r3, lbl_803CD690@ha
/* 8008F714 0008C674 3A 00 00 00 */ li r16, 0
/* 8008F718 0008C678 38 83 D6 90 */ addi r4, r3, lbl_803CD690@l
/* 8008F71C 0008C67C 38 A0 00 00 */ li r5, 0
/* 8008F720 0008C680 38 60 04 58 */ li r3, 0x458
/* 8008F724 0008C684 48 28 61 49 */ bl __nw__FUlPCcPCc
/* 8008F728 0008C688 7C 6E 1B 79 */ or. r14, r3, r3
/* 8008F72C 0008C68C 41 82 00 24 */ beq lbl_8008F750
/* 8008F730 0008C690 38 61 00 28 */ addi r3, r1, 0x28
/* 8008F734 0008C694 38 8F 00 E8 */ addi r4, r15, 0xe8
/* 8008F738 0008C698 48 2B 17 71 */ bl __ct__6CTokenFRC6CToken
/* 8008F73C 0008C69C 7D C3 73 78 */ mr r3, r14
/* 8008F740 0008C6A0 38 81 00 28 */ addi r4, r1, 0x28
/* 8008F744 0008C6A4 3A 00 00 01 */ li r16, 1
/* 8008F748 0008C6A8 48 2D 2A 29 */ bl "__ct__17CParticleElectricF30TToken<20CElectricDescription>"
/* 8008F74C 0008C6AC 7C 6E 1B 78 */ mr r14, r3
lbl_8008F750:
/* 8008F750 0008C6B0 80 6F 00 F4 */ lwz r3, 0xf4(r15)
/* 8008F754 0008C6B4 28 03 00 00 */ cmplwi r3, 0
/* 8008F758 0008C6B8 41 82 00 18 */ beq lbl_8008F770
/* 8008F75C 0008C6BC 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F760 0008C6C0 38 80 00 01 */ li r4, 1
/* 8008F764 0008C6C4 81 8C 00 08 */ lwz r12, 8(r12)
/* 8008F768 0008C6C8 7D 89 03 A6 */ mtctr r12
/* 8008F76C 0008C6CC 4E 80 04 21 */ bctrl
lbl_8008F770:
/* 8008F770 0008C6D0 7E 00 07 75 */ extsb. r0, r16
/* 8008F774 0008C6D4 91 CF 00 F4 */ stw r14, 0xf4(r15)
/* 8008F778 0008C6D8 41 82 00 10 */ beq lbl_8008F788
/* 8008F77C 0008C6DC 38 61 00 28 */ addi r3, r1, 0x28
/* 8008F780 0008C6E0 38 80 00 00 */ li r4, 0
/* 8008F784 0008C6E4 48 2B 16 BD */ bl __dt__6CTokenFv
lbl_8008F788:
/* 8008F788 0008C6E8 7E 64 9B 78 */ mr r4, r19
/* 8008F78C 0008C6EC 38 61 00 98 */ addi r3, r1, 0x98
/* 8008F790 0008C6F0 48 28 33 E5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008F794 0008C6F4 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8008F798 0008C6F8 38 61 00 F8 */ addi r3, r1, 0xf8
/* 8008F79C 0008C6FC 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l
/* 8008F7A0 0008C700 38 81 00 98 */ addi r4, r1, 0x98
/* 8008F7A4 0008C704 C0 45 00 00 */ lfs f2, 0(r5)
/* 8008F7A8 0008C708 C0 25 00 04 */ lfs f1, 4(r5)
/* 8008F7AC 0008C70C C0 05 00 08 */ lfs f0, 8(r5)
/* 8008F7B0 0008C710 D0 41 00 A4 */ stfs f2, 0xa4(r1)
/* 8008F7B4 0008C714 D0 21 00 B4 */ stfs f1, 0xb4(r1)
/* 8008F7B8 0008C718 D0 01 00 C4 */ stfs f0, 0xc4(r1)
/* 8008F7BC 0008C71C 48 28 33 B9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8008F7C0 0008C720 80 6F 00 F4 */ lwz r3, 0xf4(r15)
/* 8008F7C4 0008C724 38 81 00 F8 */ addi r4, r1, 0xf8
/* 8008F7C8 0008C728 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F7CC 0008C72C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8008F7D0 0008C730 7D 89 03 A6 */ mtctr r12
/* 8008F7D4 0008C734 4E 80 04 21 */ bctrl
/* 8008F7D8 0008C738 C0 53 00 2C */ lfs f2, 0x2c(r19)
/* 8008F7DC 0008C73C 38 81 00 68 */ addi r4, r1, 0x68
/* 8008F7E0 0008C740 C0 33 00 1C */ lfs f1, 0x1c(r19)
/* 8008F7E4 0008C744 C0 13 00 0C */ lfs f0, 0xc(r19)
/* 8008F7E8 0008C748 D0 21 00 6C */ stfs f1, 0x6c(r1)
/* 8008F7EC 0008C74C D0 01 00 68 */ stfs f0, 0x68(r1)
/* 8008F7F0 0008C750 D0 41 00 70 */ stfs f2, 0x70(r1)
/* 8008F7F4 0008C754 80 6F 00 F4 */ lwz r3, 0xf4(r15)
/* 8008F7F8 0008C758 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F7FC 0008C75C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8008F800 0008C760 7D 89 03 A6 */ mtctr r12
/* 8008F804 0008C764 4E 80 04 21 */ bctrl
/* 8008F808 0008C768 80 6F 00 F4 */ lwz r3, 0xf4(r15)
/* 8008F80C 0008C76C 7E 84 A3 78 */ mr r4, r20
/* 8008F810 0008C770 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F814 0008C774 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8008F818 0008C778 7D 89 03 A6 */ mtctr r12
/* 8008F81C 0008C77C 4E 80 04 21 */ bctrl
/* 8008F820 0008C780 80 6F 00 F4 */ lwz r3, 0xf4(r15)
/* 8008F824 0008C784 7F 44 D3 78 */ mr r4, r26
/* 8008F828 0008C788 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F82C 0008C78C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8008F830 0008C790 7D 89 03 A6 */ mtctr r12
/* 8008F834 0008C794 4E 80 04 21 */ bctrl
/* 8008F838 0008C798 80 6F 00 F4 */ lwz r3, 0xf4(r15)
/* 8008F83C 0008C79C 38 9F 00 18 */ addi r4, r31, 0x18
/* 8008F840 0008C7A0 81 83 00 00 */ lwz r12, 0(r3)
/* 8008F844 0008C7A4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8008F848 0008C7A8 7D 89 03 A6 */ mtctr r12
/* 8008F84C 0008C7AC 4E 80 04 21 */ bctrl
lbl_8008F850:
/* 8008F850 0008C7B0 88 0F 00 E7 */ lbz r0, 0xe7(r15)
/* 8008F854 0008C7B4 38 60 00 01 */ li r3, 1
/* 8008F858 0008C7B8 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8008F85C 0008C7BC 7D E3 7B 78 */ mr r3, r15
/* 8008F860 0008C7C0 98 0F 00 E7 */ stb r0, 0xe7(r15)
/* 8008F864 0008C7C4 E3 E1 03 28 */ psq_l f31, 808(r1), 0, qr0
/* 8008F868 0008C7C8 CB E1 03 20 */ lfd f31, 0x320(r1)
/* 8008F86C 0008C7CC E3 C1 03 18 */ psq_l f30, 792(r1), 0, qr0
/* 8008F870 0008C7D0 CB C1 03 10 */ lfd f30, 0x310(r1)
/* 8008F874 0008C7D4 E3 A1 03 08 */ psq_l f29, 776(r1), 0, qr0
/* 8008F878 0008C7D8 CB A1 03 00 */ lfd f29, 0x300(r1)
/* 8008F87C 0008C7DC E3 81 02 F8 */ psq_l f28, 760(r1), 0, qr0
/* 8008F880 0008C7E0 CB 81 02 F0 */ lfd f28, 0x2f0(r1)
/* 8008F884 0008C7E4 E3 61 02 E8 */ psq_l f27, 744(r1), 0, qr0
/* 8008F888 0008C7E8 CB 61 02 E0 */ lfd f27, 0x2e0(r1)
/* 8008F88C 0008C7EC E3 41 02 D8 */ psq_l f26, 728(r1), 0, qr0
/* 8008F890 0008C7F0 CB 41 02 D0 */ lfd f26, 0x2d0(r1)
/* 8008F894 0008C7F4 E3 21 02 C8 */ psq_l f25, 712(r1), 0, qr0
/* 8008F898 0008C7F8 CB 21 02 C0 */ lfd f25, 0x2c0(r1)
/* 8008F89C 0008C7FC B9 C1 02 78 */ lmw r14, 0x278(r1)
/* 8008F8A0 0008C800 80 01 03 34 */ lwz r0, 0x334(r1)
/* 8008F8A4 0008C804 7C 08 03 A6 */ mtlr r0
/* 8008F8A8 0008C808 38 21 03 30 */ addi r1, r1, 0x330
/* 8008F8AC 0008C80C 4E 80 00 20 */ blr
.global "__dt__43TObjOwnerDerivedFromIObj<15CGenDescription>Fv"
"__dt__43TObjOwnerDerivedFromIObj<15CGenDescription>Fv":
/* 8008F8B0 0008C810 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008F8B4 0008C814 7C 08 02 A6 */ mflr r0
/* 8008F8B8 0008C818 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008F8BC 0008C81C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008F8C0 0008C820 7C 9F 23 78 */ mr r31, r4
/* 8008F8C4 0008C824 93 C1 00 08 */ stw r30, 8(r1)
/* 8008F8C8 0008C828 7C 7E 1B 79 */ or. r30, r3, r3
/* 8008F8CC 0008C82C 41 82 00 58 */ beq lbl_8008F924
/* 8008F8D0 0008C830 3C 60 80 3E */ lis r3, lbl_803DACB0@ha
/* 8008F8D4 0008C834 38 03 AC B0 */ addi r0, r3, lbl_803DACB0@l
/* 8008F8D8 0008C838 90 1E 00 00 */ stw r0, 0(r30)
/* 8008F8DC 0008C83C 80 7E 00 04 */ lwz r3, 4(r30)
/* 8008F8E0 0008C840 28 03 00 00 */ cmplwi r3, 0
/* 8008F8E4 0008C844 41 82 00 0C */ beq lbl_8008F8F0
/* 8008F8E8 0008C848 38 80 00 01 */ li r4, 1
/* 8008F8EC 0008C84C 48 2D 75 4D */ bl __dt__15CGenDescriptionFv
lbl_8008F8F0:
/* 8008F8F0 0008C850 28 1E 00 00 */ cmplwi r30, 0
/* 8008F8F4 0008C854 41 82 00 20 */ beq lbl_8008F914
/* 8008F8F8 0008C858 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha
/* 8008F8FC 0008C85C 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l
/* 8008F900 0008C860 90 1E 00 00 */ stw r0, 0(r30)
/* 8008F904 0008C864 41 82 00 10 */ beq lbl_8008F914
/* 8008F908 0008C868 3C 60 80 3E */ lis r3, __vt__4IObj@ha
/* 8008F90C 0008C86C 38 03 8D 6C */ addi r0, r3, __vt__4IObj@l
/* 8008F910 0008C870 90 1E 00 00 */ stw r0, 0(r30)
lbl_8008F914:
/* 8008F914 0008C874 7F E0 07 35 */ extsh. r0, r31
/* 8008F918 0008C878 40 81 00 0C */ ble lbl_8008F924
/* 8008F91C 0008C87C 7F C3 F3 78 */ mr r3, r30
/* 8008F920 0008C880 48 28 60 11 */ bl Free__7CMemoryFPCv
lbl_8008F924:
/* 8008F924 0008C884 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008F928 0008C888 7F C3 F3 78 */ mr r3, r30
/* 8008F92C 0008C88C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008F930 0008C890 83 C1 00 08 */ lwz r30, 8(r1)
/* 8008F934 0008C894 7C 08 03 A6 */ mtlr r0
/* 8008F938 0008C898 38 21 00 10 */ addi r1, r1, 0x10
/* 8008F93C 0008C89C 4E 80 00 20 */ blr
.global "GetNewDerivedObject__43TObjOwnerDerivedFromIObj<15CGenDescription>FP15CGenDescription"
"GetNewDerivedObject__43TObjOwnerDerivedFromIObj<15CGenDescription>FP15CGenDescription":
/* 8008F940 0008C8A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008F944 0008C8A4 7C 08 02 A6 */ mflr r0
/* 8008F948 0008C8A8 3C A0 80 3D */ lis r5, lbl_803CD690@ha
/* 8008F94C 0008C8AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008F950 0008C8B0 38 05 D6 90 */ addi r0, r5, lbl_803CD690@l
/* 8008F954 0008C8B4 38 A0 00 00 */ li r5, 0
/* 8008F958 0008C8B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008F95C 0008C8BC 7C 9F 23 78 */ mr r31, r4
/* 8008F960 0008C8C0 7C 04 03 78 */ mr r4, r0
/* 8008F964 0008C8C4 93 C1 00 08 */ stw r30, 8(r1)
/* 8008F968 0008C8C8 7C 7E 1B 78 */ mr r30, r3
/* 8008F96C 0008C8CC 38 60 00 08 */ li r3, 8
/* 8008F970 0008C8D0 48 28 5E FD */ bl __nw__FUlPCcPCc
/* 8008F974 0008C8D4 28 03 00 00 */ cmplwi r3, 0
/* 8008F978 0008C8D8 41 82 00 2C */ beq lbl_8008F9A4
/* 8008F97C 0008C8DC 3C 80 80 3E */ lis r4, __vt__4IObj@ha
/* 8008F980 0008C8E0 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha
/* 8008F984 0008C8E4 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l
/* 8008F988 0008C8E8 3C 80 80 3E */ lis r4, lbl_803DACB0@ha
/* 8008F98C 0008C8EC 90 03 00 00 */ stw r0, 0(r3)
/* 8008F990 0008C8F0 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l
/* 8008F994 0008C8F4 38 04 AC B0 */ addi r0, r4, lbl_803DACB0@l
/* 8008F998 0008C8F8 90 A3 00 00 */ stw r5, 0(r3)
/* 8008F99C 0008C8FC 93 E3 00 04 */ stw r31, 4(r3)
/* 8008F9A0 0008C900 90 03 00 00 */ stw r0, 0(r3)
lbl_8008F9A4:
/* 8008F9A4 0008C904 7C 03 00 D0 */ neg r0, r3
/* 8008F9A8 0008C908 7C 00 1B 78 */ or r0, r0, r3
/* 8008F9AC 0008C90C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8008F9B0 0008C910 98 1E 00 00 */ stb r0, 0(r30)
/* 8008F9B4 0008C914 90 7E 00 04 */ stw r3, 4(r30)
/* 8008F9B8 0008C918 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008F9BC 0008C91C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8008F9C0 0008C920 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008F9C4 0008C924 7C 08 03 A6 */ mtlr r0
/* 8008F9C8 0008C928 38 21 00 10 */ addi r1, r1, 0x10
/* 8008F9CC 0008C92C 4E 80 00 20 */ blr
.global "__dt__48TObjOwnerDerivedFromIObj<20CElectricDescription>Fv"
"__dt__48TObjOwnerDerivedFromIObj<20CElectricDescription>Fv":
/* 8008F9D0 0008C930 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008F9D4 0008C934 7C 08 02 A6 */ mflr r0
/* 8008F9D8 0008C938 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008F9DC 0008C93C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008F9E0 0008C940 7C 9F 23 78 */ mr r31, r4
/* 8008F9E4 0008C944 93 C1 00 08 */ stw r30, 8(r1)
/* 8008F9E8 0008C948 7C 7E 1B 79 */ or. r30, r3, r3
/* 8008F9EC 0008C94C 41 82 00 58 */ beq lbl_8008FA44
/* 8008F9F0 0008C950 3C 60 80 3E */ lis r3, lbl_803DACA4@ha
/* 8008F9F4 0008C954 38 03 AC A4 */ addi r0, r3, lbl_803DACA4@l
/* 8008F9F8 0008C958 90 1E 00 00 */ stw r0, 0(r30)
/* 8008F9FC 0008C95C 80 7E 00 04 */ lwz r3, 4(r30)
/* 8008FA00 0008C960 28 03 00 00 */ cmplwi r3, 0
/* 8008FA04 0008C964 41 82 00 0C */ beq lbl_8008FA10
/* 8008FA08 0008C968 38 80 00 01 */ li r4, 1
/* 8008FA0C 0008C96C 48 2D 6D AD */ bl __dt__20CElectricDescriptionFv
lbl_8008FA10:
/* 8008FA10 0008C970 28 1E 00 00 */ cmplwi r30, 0
/* 8008FA14 0008C974 41 82 00 20 */ beq lbl_8008FA34
/* 8008FA18 0008C978 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha
/* 8008FA1C 0008C97C 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l
/* 8008FA20 0008C980 90 1E 00 00 */ stw r0, 0(r30)
/* 8008FA24 0008C984 41 82 00 10 */ beq lbl_8008FA34
/* 8008FA28 0008C988 3C 60 80 3E */ lis r3, __vt__4IObj@ha
/* 8008FA2C 0008C98C 38 03 8D 6C */ addi r0, r3, __vt__4IObj@l
/* 8008FA30 0008C990 90 1E 00 00 */ stw r0, 0(r30)
lbl_8008FA34:
/* 8008FA34 0008C994 7F E0 07 35 */ extsh. r0, r31
/* 8008FA38 0008C998 40 81 00 0C */ ble lbl_8008FA44
/* 8008FA3C 0008C99C 7F C3 F3 78 */ mr r3, r30
/* 8008FA40 0008C9A0 48 28 5E F1 */ bl Free__7CMemoryFPCv
lbl_8008FA44:
/* 8008FA44 0008C9A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008FA48 0008C9A8 7F C3 F3 78 */ mr r3, r30
/* 8008FA4C 0008C9AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008FA50 0008C9B0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8008FA54 0008C9B4 7C 08 03 A6 */ mtlr r0
/* 8008FA58 0008C9B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8008FA5C 0008C9BC 4E 80 00 20 */ blr
.global "GetNewDerivedObject__48TObjOwnerDerivedFromIObj<20CElectricDescription>FP20CElectricDescription"
"GetNewDerivedObject__48TObjOwnerDerivedFromIObj<20CElectricDescription>FP20CElectricDescription":
/* 8008FA60 0008C9C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008FA64 0008C9C4 7C 08 02 A6 */ mflr r0
/* 8008FA68 0008C9C8 3C A0 80 3D */ lis r5, lbl_803CD690@ha
/* 8008FA6C 0008C9CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008FA70 0008C9D0 38 05 D6 90 */ addi r0, r5, lbl_803CD690@l
/* 8008FA74 0008C9D4 38 A0 00 00 */ li r5, 0
/* 8008FA78 0008C9D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008FA7C 0008C9DC 7C 9F 23 78 */ mr r31, r4
/* 8008FA80 0008C9E0 7C 04 03 78 */ mr r4, r0
/* 8008FA84 0008C9E4 93 C1 00 08 */ stw r30, 8(r1)
/* 8008FA88 0008C9E8 7C 7E 1B 78 */ mr r30, r3
/* 8008FA8C 0008C9EC 38 60 00 08 */ li r3, 8
/* 8008FA90 0008C9F0 48 28 5D DD */ bl __nw__FUlPCcPCc
/* 8008FA94 0008C9F4 28 03 00 00 */ cmplwi r3, 0
/* 8008FA98 0008C9F8 41 82 00 2C */ beq lbl_8008FAC4
/* 8008FA9C 0008C9FC 3C 80 80 3E */ lis r4, __vt__4IObj@ha
/* 8008FAA0 0008CA00 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha
/* 8008FAA4 0008CA04 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l
/* 8008FAA8 0008CA08 3C 80 80 3E */ lis r4, lbl_803DACA4@ha
/* 8008FAAC 0008CA0C 90 03 00 00 */ stw r0, 0(r3)
/* 8008FAB0 0008CA10 38 A5 8D 78 */ addi r5, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l
/* 8008FAB4 0008CA14 38 04 AC A4 */ addi r0, r4, lbl_803DACA4@l
/* 8008FAB8 0008CA18 90 A3 00 00 */ stw r5, 0(r3)
/* 8008FABC 0008CA1C 93 E3 00 04 */ stw r31, 4(r3)
/* 8008FAC0 0008CA20 90 03 00 00 */ stw r0, 0(r3)
lbl_8008FAC4:
/* 8008FAC4 0008CA24 7C 03 00 D0 */ neg r0, r3
/* 8008FAC8 0008CA28 7C 00 1B 78 */ or r0, r0, r3
/* 8008FACC 0008CA2C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8008FAD0 0008CA30 98 1E 00 00 */ stb r0, 0(r30)
/* 8008FAD4 0008CA34 90 7E 00 04 */ stw r3, 4(r30)
/* 8008FAD8 0008CA38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008FADC 0008CA3C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8008FAE0 0008CA40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008FAE4 0008CA44 7C 08 03 A6 */ mtlr r0
/* 8008FAE8 0008CA48 38 21 00 10 */ addi r1, r1, 0x10
/* 8008FAEC 0008CA4C 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803CD690
lbl_803CD690:
# ROM: 0x3CA690
.asciz "??(??)"
.byte 0x45
.asciz "ffectPLight_"
.balign 4