prime/asm/MetroidPrime/Weapons/CShockWave.s

1306 lines
64 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.balign 8
.global lbl_803E8050
lbl_803E8050:
# ROM: 0x3E5050
.4byte 0
.4byte 0
.4byte __dt__10CShockwaveFv
.4byte Accept__10CShockwaveFR8IVisitor
.4byte PreThink__7CEntityFfR13CStateManager
.4byte Think__10CShockwaveFfR13CStateManager
.4byte AcceptScriptMsg__10CShockwaveF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__6CActorFb
.4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes
.4byte AddToRenderer__10CShockwaveCFRC14CFrustumPlanesRC13CStateManager
.4byte Render__10CShockwaveCFRC13CStateManager
.4byte CanRenderUnsorted__6CActorCFRC13CStateManager
.4byte CalculateRenderBounds__6CActorFv
.4byte HealthInfo__6CActorFR13CStateManager
.4byte GetDamageVulnerability__6CActorCFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte GetTouchBounds__10CShockwaveCFv
.4byte Touch__10CShockwaveFR6CActorR13CStateManager
.4byte GetOrbitPosition__6CActorCFRC13CStateManager
.4byte GetAimPosition__6CActorCFRC13CStateManagerf
.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
.4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager
.4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei
.4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
.4byte GetSortingBounds__6CActorCFRC13CStateManager
.4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventTypef
.4byte 0
.section .sdata
.balign 8
.global lbl_805A81E8
lbl_805A81E8:
# ROM: 0x3F5B88
.4byte 0x00000013
.global lbl_805A81EC
lbl_805A81EC:
# ROM: 0x3F5B8C
.4byte 0x00000023
.global lbl_805A81F0
lbl_805A81F0:
# ROM: 0x3F5B90
.4byte 0
.4byte 0
.section .text, "ax"
.global __dt__10CShockwaveFv
__dt__10CShockwaveFv:
/* 80231674 0022E5D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80231678 0022E5D8 7C 08 02 A6 */ mflr r0
/* 8023167C 0022E5DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80231680 0022E5E0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80231684 0022E5E4 7C 7F 1B 79 */ or. r31, r3, r3
/* 80231688 0022E5E8 93 C1 00 08 */ stw r30, 8(r1)
/* 8023168C 0022E5EC 7C 9E 23 78 */ mr r30, r4
/* 80231690 0022E5F0 41 82 00 F0 */ beq lbl_80231780
/* 80231694 0022E5F4 3C 60 80 3F */ lis r3, lbl_803E8050@ha
/* 80231698 0022E5F8 34 1F 09 74 */ addic. r0, r31, 0x974
/* 8023169C 0022E5FC 38 03 80 50 */ addi r0, r3, lbl_803E8050@l
/* 802316A0 0022E600 90 1F 00 00 */ stw r0, 0(r31)
/* 802316A4 0022E604 41 82 00 28 */ beq lbl_802316CC
/* 802316A8 0022E608 88 1F 09 7C */ lbz r0, 0x97c(r31)
/* 802316AC 0022E60C 28 00 00 00 */ cmplwi r0, 0
/* 802316B0 0022E610 41 82 00 14 */ beq lbl_802316C4
/* 802316B4 0022E614 34 7F 09 74 */ addic. r3, r31, 0x974
/* 802316B8 0022E618 41 82 00 0C */ beq lbl_802316C4
/* 802316BC 0022E61C 38 80 00 00 */ li r4, 0
/* 802316C0 0022E620 48 10 F7 81 */ bl __dt__6CTokenFv
lbl_802316C4:
/* 802316C4 0022E624 38 00 00 00 */ li r0, 0
/* 802316C8 0022E628 98 1F 09 7C */ stb r0, 0x97c(r31)
lbl_802316CC:
/* 802316CC 0022E62C 34 1F 01 70 */ addic. r0, r31, 0x170
/* 802316D0 0022E630 41 82 00 58 */ beq lbl_80231728
/* 802316D4 0022E634 80 BF 01 70 */ lwz r5, 0x170(r31)
/* 802316D8 0022E638 38 60 00 00 */ li r3, 0
/* 802316DC 0022E63C 2C 05 00 00 */ cmpwi r5, 0
/* 802316E0 0022E640 40 81 00 40 */ ble lbl_80231720
/* 802316E4 0022E644 2C 05 00 08 */ cmpwi r5, 8
/* 802316E8 0022E648 38 85 FF F8 */ addi r4, r5, -8
/* 802316EC 0022E64C 40 81 00 20 */ ble lbl_8023170C
/* 802316F0 0022E650 38 04 00 07 */ addi r0, r4, 7
/* 802316F4 0022E654 54 00 E8 FE */ srwi r0, r0, 3
/* 802316F8 0022E658 7C 09 03 A6 */ mtctr r0
/* 802316FC 0022E65C 2C 04 00 00 */ cmpwi r4, 0
/* 80231700 0022E660 40 81 00 0C */ ble lbl_8023170C
lbl_80231704:
/* 80231704 0022E664 38 63 00 08 */ addi r3, r3, 8
/* 80231708 0022E668 42 00 FF FC */ bdnz lbl_80231704
lbl_8023170C:
/* 8023170C 0022E66C 7C 03 28 50 */ subf r0, r3, r5
/* 80231710 0022E670 7C 09 03 A6 */ mtctr r0
/* 80231714 0022E674 7C 03 28 00 */ cmpw r3, r5
/* 80231718 0022E678 40 80 00 08 */ bge lbl_80231720
lbl_8023171C:
/* 8023171C 0022E67C 42 00 00 00 */ bdnz lbl_8023171C
lbl_80231720:
/* 80231720 0022E680 38 00 00 00 */ li r0, 0
/* 80231724 0022E684 90 1F 01 70 */ stw r0, 0x170(r31)
lbl_80231728:
/* 80231728 0022E688 34 1F 01 10 */ addic. r0, r31, 0x110
/* 8023172C 0022E68C 41 82 00 24 */ beq lbl_80231750
/* 80231730 0022E690 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 80231734 0022E694 28 03 00 00 */ cmplwi r3, 0
/* 80231738 0022E698 41 82 00 18 */ beq lbl_80231750
/* 8023173C 0022E69C 81 83 00 00 */ lwz r12, 0(r3)
/* 80231740 0022E6A0 38 80 00 01 */ li r4, 1
/* 80231744 0022E6A4 81 8C 00 08 */ lwz r12, 8(r12)
/* 80231748 0022E6A8 7D 89 03 A6 */ mtctr r12
/* 8023174C 0022E6AC 4E 80 04 21 */ bctrl
lbl_80231750:
/* 80231750 0022E6B0 34 1F 01 08 */ addic. r0, r31, 0x108
/* 80231754 0022E6B4 41 82 00 10 */ beq lbl_80231764
/* 80231758 0022E6B8 38 7F 01 08 */ addi r3, r31, 0x108
/* 8023175C 0022E6BC 38 80 00 00 */ li r4, 0
/* 80231760 0022E6C0 48 10 F6 E1 */ bl __dt__6CTokenFv
lbl_80231764:
/* 80231764 0022E6C4 7F E3 FB 78 */ mr r3, r31
/* 80231768 0022E6C8 38 80 00 00 */ li r4, 0
/* 8023176C 0022E6CC 4B E2 3F 85 */ bl __dt__6CActorFv
/* 80231770 0022E6D0 7F C0 07 35 */ extsh. r0, r30
/* 80231774 0022E6D4 40 81 00 0C */ ble lbl_80231780
/* 80231778 0022E6D8 7F E3 FB 78 */ mr r3, r31
/* 8023177C 0022E6DC 48 0E 41 B5 */ bl Free__7CMemoryFPCv
lbl_80231780:
/* 80231780 0022E6E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80231784 0022E6E4 7F E3 FB 78 */ mr r3, r31
/* 80231788 0022E6E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023178C 0022E6EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80231790 0022E6F0 7C 08 03 A6 */ mtlr r0
/* 80231794 0022E6F4 38 21 00 10 */ addi r1, r1, 0x10
/* 80231798 0022E6F8 4E 80 00 20 */ blr
.global AcceptScriptMsg__10CShockwaveF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__10CShockwaveF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 8023179C 0022E6FC 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 802317A0 0022E700 7C 08 02 A6 */ mflr r0
/* 802317A4 0022E704 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 802317A8 0022E708 BE E1 00 AC */ stmw r23, 0xac(r1)
/* 802317AC 0022E70C 7C 9D 23 78 */ mr r29, r4
/* 802317B0 0022E710 2C 1D 00 22 */ cmpwi r29, 0x22
/* 802317B4 0022E714 7C 7C 1B 78 */ mr r28, r3
/* 802317B8 0022E718 7C BE 2B 78 */ mr r30, r5
/* 802317BC 0022E71C 7C DF 33 78 */ mr r31, r6
/* 802317C0 0022E720 41 82 01 44 */ beq lbl_80231904
/* 802317C4 0022E724 40 80 01 6C */ bge lbl_80231930
/* 802317C8 0022E728 2C 1D 00 21 */ cmpwi r29, 0x21
/* 802317CC 0022E72C 40 80 00 08 */ bge lbl_802317D4
/* 802317D0 0022E730 48 00 01 60 */ b lbl_80231930
lbl_802317D4:
/* 802317D4 0022E734 80 7C 01 10 */ lwz r3, 0x110(r28)
/* 802317D8 0022E738 81 83 00 00 */ lwz r12, 0(r3)
/* 802317DC 0022E73C 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 802317E0 0022E740 7D 89 03 A6 */ mtctr r12
/* 802317E4 0022E744 4E 80 04 21 */ bctrl
/* 802317E8 0022E748 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802317EC 0022E74C 41 82 01 44 */ beq lbl_80231930
/* 802317F0 0022E750 7F E4 FB 78 */ mr r4, r31
/* 802317F4 0022E754 38 61 00 2C */ addi r3, r1, 0x2c
/* 802317F8 0022E758 4B E1 B8 E5 */ bl AllocateUniqueId__13CStateManagerFv
/* 802317FC 0022E75C A0 01 00 2C */ lhz r0, 0x2c(r1)
/* 80231800 0022E760 3C 60 80 3D */ lis r3, lbl_803D3468@ha
/* 80231804 0022E764 38 83 34 68 */ addi r4, r3, lbl_803D3468@l
/* 80231808 0022E768 3B 60 00 00 */ li r27, 0
/* 8023180C 0022E76C B0 1C 09 80 */ sth r0, 0x980(r28)
/* 80231810 0022E770 3A E0 00 00 */ li r23, 0
/* 80231814 0022E774 38 60 01 48 */ li r3, 0x148
/* 80231818 0022E778 38 A0 00 00 */ li r5, 0
/* 8023181C 0022E77C 83 1C 01 18 */ lwz r24, 0x118(r28)
/* 80231820 0022E780 48 0E 40 4D */ bl __nw__FUlPCcPCc
/* 80231824 0022E784 7C 7A 1B 79 */ or. r26, r3, r3
/* 80231828 0022E788 41 82 00 AC */ beq lbl_802318D4
/* 8023182C 0022E78C A0 1C 00 08 */ lhz r0, 8(r28)
/* 80231830 0022E790 3C 60 80 3D */ lis r3, lbl_803D3468@ha
/* 80231834 0022E794 83 3C 01 10 */ lwz r25, 0x110(r28)
/* 80231838 0022E798 38 83 34 68 */ addi r4, r3, lbl_803D3468@l
/* 8023183C 0022E79C B0 01 00 24 */ sth r0, 0x24(r1)
/* 80231840 0022E7A0 38 61 00 48 */ addi r3, r1, 0x48
/* 80231844 0022E7A4 38 84 00 07 */ addi r4, r4, 7
/* 80231848 0022E7A8 B0 01 00 28 */ sth r0, 0x28(r1)
/* 8023184C 0022E7AC 4B DD 34 6D */ bl string_l__4rstlFPCc
/* 80231850 0022E7B0 38 61 00 38 */ addi r3, r1, 0x38
/* 80231854 0022E7B4 38 81 00 48 */ addi r4, r1, 0x48
/* 80231858 0022E7B8 38 BC 00 10 */ addi r5, r28, 0x10
/* 8023185C 0022E7BC 3B 60 00 01 */ li r27, 1
/* 80231860 0022E7C0 4B DD 33 FD */ bl "__pl__4rstlFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80231864 0022E7C4 88 1C 00 30 */ lbz r0, 0x30(r28)
/* 80231868 0022E7C8 7F 24 CB 78 */ mr r4, r25
/* 8023186C 0022E7CC 80 BC 00 04 */ lwz r5, 4(r28)
/* 80231870 0022E7D0 38 61 00 58 */ addi r3, r1, 0x58
/* 80231874 0022E7D4 54 19 CF FE */ rlwinm r25, r0, 0x19, 0x1f, 0x1f
/* 80231878 0022E7D8 3A E0 00 01 */ li r23, 1
/* 8023187C 0022E7DC 90 A1 00 34 */ stw r5, 0x34(r1)
/* 80231880 0022E7E0 A0 1C 09 80 */ lhz r0, 0x980(r28)
/* 80231884 0022E7E4 90 A1 00 30 */ stw r5, 0x30(r1)
/* 80231888 0022E7E8 B0 01 00 20 */ sth r0, 0x20(r1)
/* 8023188C 0022E7EC 81 84 00 00 */ lwz r12, 0(r4)
/* 80231890 0022E7F0 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 80231894 0022E7F4 7D 89 03 A6 */ mtctr r12
/* 80231898 0022E7F8 4E 80 04 21 */ bctrl
/* 8023189C 0022E7FC 93 01 00 08 */ stw r24, 8(r1)
/* 802318A0 0022E800 38 00 00 01 */ li r0, 1
/* 802318A4 0022E804 C0 22 B6 A8 */ lfs f1, lbl_805AD3C8@sda21(r2)
/* 802318A8 0022E808 7F 43 D3 78 */ mr r3, r26
/* 802318AC 0022E80C 90 01 00 0C */ stw r0, 0xc(r1)
/* 802318B0 0022E810 7F 26 CB 78 */ mr r6, r25
/* 802318B4 0022E814 38 81 00 20 */ addi r4, r1, 0x20
/* 802318B8 0022E818 38 A1 00 34 */ addi r5, r1, 0x34
/* 802318BC 0022E81C 38 E1 00 38 */ addi r7, r1, 0x38
/* 802318C0 0022E820 39 1C 00 34 */ addi r8, r28, 0x34
/* 802318C4 0022E824 39 21 00 28 */ addi r9, r1, 0x28
/* 802318C8 0022E828 39 41 00 58 */ addi r10, r1, 0x58
/* 802318CC 0022E82C 4B E8 3F 59 */ bl "__ct__10CGameLightF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4f9TUniqueIdRC6CLightUiUif"
/* 802318D0 0022E830 7C 7A 1B 78 */ mr r26, r3
lbl_802318D4:
/* 802318D4 0022E834 7F E3 FB 78 */ mr r3, r31
/* 802318D8 0022E838 7F 44 D3 78 */ mr r4, r26
/* 802318DC 0022E83C 4B E1 B4 19 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 802318E0 0022E840 7E E0 07 75 */ extsb. r0, r23
/* 802318E4 0022E844 41 82 00 0C */ beq lbl_802318F0
/* 802318E8 0022E848 38 61 00 38 */ addi r3, r1, 0x38
/* 802318EC 0022E84C 48 10 C1 F5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_802318F0:
/* 802318F0 0022E850 7F 60 07 75 */ extsb. r0, r27
/* 802318F4 0022E854 41 82 00 3C */ beq lbl_80231930
/* 802318F8 0022E858 38 61 00 48 */ addi r3, r1, 0x48
/* 802318FC 0022E85C 48 10 C1 E5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80231900 0022E860 48 00 00 30 */ b lbl_80231930
lbl_80231904:
/* 80231904 0022E864 A0 7C 09 80 */ lhz r3, 0x980(r28)
/* 80231908 0022E868 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8023190C 0022E86C 7C 03 00 40 */ cmplw r3, r0
/* 80231910 0022E870 41 82 00 20 */ beq lbl_80231930
/* 80231914 0022E874 A0 1C 09 80 */ lhz r0, 0x980(r28)
/* 80231918 0022E878 7F E3 FB 78 */ mr r3, r31
/* 8023191C 0022E87C 38 81 00 1C */ addi r4, r1, 0x1c
/* 80231920 0022E880 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 80231924 0022E884 4B E1 A9 49 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 80231928 0022E888 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8023192C 0022E88C B0 1C 09 80 */ sth r0, 0x980(r28)
lbl_80231930:
/* 80231930 0022E890 A0 1E 00 00 */ lhz r0, 0(r30)
/* 80231934 0022E894 7F 83 E3 78 */ mr r3, r28
/* 80231938 0022E898 7F A4 EB 78 */ mr r4, r29
/* 8023193C 0022E89C 7F E6 FB 78 */ mr r6, r31
/* 80231940 0022E8A0 B0 01 00 18 */ sth r0, 0x18(r1)
/* 80231944 0022E8A4 38 A1 00 18 */ addi r5, r1, 0x18
/* 80231948 0022E8A8 4B E2 1C CD */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 8023194C 0022E8AC A0 1E 00 00 */ lhz r0, 0(r30)
/* 80231950 0022E8B0 7F E3 FB 78 */ mr r3, r31
/* 80231954 0022E8B4 7F A6 EB 78 */ mr r6, r29
/* 80231958 0022E8B8 38 81 00 14 */ addi r4, r1, 0x14
/* 8023195C 0022E8BC B0 01 00 10 */ sth r0, 0x10(r1)
/* 80231960 0022E8C0 38 A1 00 10 */ addi r5, r1, 0x10
/* 80231964 0022E8C4 A0 1C 09 80 */ lhz r0, 0x980(r28)
/* 80231968 0022E8C8 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8023196C 0022E8CC 4B E1 24 E9 */ bl SendScriptMsgAlways__13CStateManagerF9TUniqueId9TUniqueId20EScriptObjectMessage
/* 80231970 0022E8D0 BA E1 00 AC */ lmw r23, 0xac(r1)
/* 80231974 0022E8D4 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 80231978 0022E8D8 7C 08 03 A6 */ mtlr r0
/* 8023197C 0022E8DC 38 21 00 D0 */ addi r1, r1, 0xd0
/* 80231980 0022E8E0 4E 80 00 20 */ blr
.global sub_80231984
sub_80231984:
/* 80231984 0022E8E4 80 03 01 70 */ lwz r0, 0x170(r3)
/* 80231988 0022E8E8 38 63 01 74 */ addi r3, r3, 0x174
/* 8023198C 0022E8EC 7C 66 1B 78 */ mr r6, r3
/* 80231990 0022E8F0 54 00 08 3C */ slwi r0, r0, 1
/* 80231994 0022E8F4 7C A3 02 14 */ add r5, r3, r0
/* 80231998 0022E8F8 48 00 00 20 */ b lbl_802319B8
lbl_8023199C:
/* 8023199C 0022E8FC A0 66 00 00 */ lhz r3, 0(r6)
/* 802319A0 0022E900 A0 04 00 00 */ lhz r0, 0(r4)
/* 802319A4 0022E904 7C 03 00 40 */ cmplw r3, r0
/* 802319A8 0022E908 40 82 00 0C */ bne lbl_802319B4
/* 802319AC 0022E90C 38 60 00 01 */ li r3, 1
/* 802319B0 0022E910 4E 80 00 20 */ blr
lbl_802319B4:
/* 802319B4 0022E914 38 C6 00 02 */ addi r6, r6, 2
lbl_802319B8:
/* 802319B8 0022E918 7C 06 28 40 */ cmplw r6, r5
/* 802319BC 0022E91C 40 82 FF E0 */ bne lbl_8023199C
/* 802319C0 0022E920 38 60 00 00 */ li r3, 0
/* 802319C4 0022E924 4E 80 00 20 */ blr
.global GetTouchBounds__10CShockwaveCFv
GetTouchBounds__10CShockwaveCFv:
/* 802319C8 0022E928 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802319CC 0022E92C 7C 08 02 A6 */ mflr r0
/* 802319D0 0022E930 C0 22 B6 A8 */ lfs f1, lbl_805AD3C8@sda21(r2)
/* 802319D4 0022E934 90 01 00 64 */ stw r0, 0x64(r1)
/* 802319D8 0022E938 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 802319DC 0022E93C 7C 9F 23 78 */ mr r31, r4
/* 802319E0 0022E940 93 C1 00 58 */ stw r30, 0x58(r1)
/* 802319E4 0022E944 7C 7E 1B 78 */ mr r30, r3
/* 802319E8 0022E948 C0 44 01 50 */ lfs f2, 0x150(r4)
/* 802319EC 0022E94C FC 02 08 40 */ fcmpo cr0, f2, f1
/* 802319F0 0022E950 40 81 00 88 */ ble lbl_80231A78
/* 802319F4 0022E954 FC 60 10 50 */ fneg f3, f2
/* 802319F8 0022E958 C0 02 B6 AC */ lfs f0, lbl_805AD3CC@sda21(r2)
/* 802319FC 0022E95C D0 41 00 08 */ stfs f2, 8(r1)
/* 80231A00 0022E960 38 61 00 38 */ addi r3, r1, 0x38
/* 80231A04 0022E964 38 81 00 14 */ addi r4, r1, 0x14
/* 80231A08 0022E968 38 A1 00 08 */ addi r5, r1, 8
/* 80231A0C 0022E96C D0 41 00 0C */ stfs f2, 0xc(r1)
/* 80231A10 0022E970 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80231A14 0022E974 D0 61 00 14 */ stfs f3, 0x14(r1)
/* 80231A18 0022E978 D0 61 00 18 */ stfs f3, 0x18(r1)
/* 80231A1C 0022E97C D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 80231A20 0022E980 48 10 6A E9 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 80231A24 0022E984 38 61 00 20 */ addi r3, r1, 0x20
/* 80231A28 0022E988 38 81 00 38 */ addi r4, r1, 0x38
/* 80231A2C 0022E98C 38 BF 00 34 */ addi r5, r31, 0x34
/* 80231A30 0022E990 48 10 5E CD */ bl GetTransformedAABox__6CAABoxCFRC12CTransform4f
/* 80231A34 0022E994 38 00 00 01 */ li r0, 1
/* 80231A38 0022E998 28 1E 00 00 */ cmplwi r30, 0
/* 80231A3C 0022E99C 98 1E 00 18 */ stb r0, 0x18(r30)
/* 80231A40 0022E9A0 41 82 00 40 */ beq lbl_80231A80
/* 80231A44 0022E9A4 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80231A48 0022E9A8 D0 1E 00 00 */ stfs f0, 0(r30)
/* 80231A4C 0022E9AC C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80231A50 0022E9B0 D0 1E 00 04 */ stfs f0, 4(r30)
/* 80231A54 0022E9B4 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80231A58 0022E9B8 D0 1E 00 08 */ stfs f0, 8(r30)
/* 80231A5C 0022E9BC C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80231A60 0022E9C0 D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 80231A64 0022E9C4 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 80231A68 0022E9C8 D0 1E 00 10 */ stfs f0, 0x10(r30)
/* 80231A6C 0022E9CC C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80231A70 0022E9D0 D0 1E 00 14 */ stfs f0, 0x14(r30)
/* 80231A74 0022E9D4 48 00 00 0C */ b lbl_80231A80
lbl_80231A78:
/* 80231A78 0022E9D8 38 00 00 00 */ li r0, 0
/* 80231A7C 0022E9DC 98 1E 00 18 */ stb r0, 0x18(r30)
lbl_80231A80:
/* 80231A80 0022E9E0 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80231A84 0022E9E4 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80231A88 0022E9E8 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80231A8C 0022E9EC 7C 08 03 A6 */ mtlr r0
/* 80231A90 0022E9F0 38 21 00 60 */ addi r1, r1, 0x60
/* 80231A94 0022E9F4 4E 80 00 20 */ blr
.global Touch__10CShockwaveFR6CActorR13CStateManager
Touch__10CShockwaveFR6CActorR13CStateManager:
/* 80231A98 0022E9F8 94 21 FE 40 */ stwu r1, -0x1c0(r1)
/* 80231A9C 0022E9FC 7C 08 02 A6 */ mflr r0
/* 80231AA0 0022EA00 90 01 01 C4 */ stw r0, 0x1c4(r1)
/* 80231AA4 0022EA04 DB E1 01 B0 */ stfd f31, 0x1b0(r1)
/* 80231AA8 0022EA08 F3 E1 01 B8 */ psq_st f31, 440(r1), 0, qr0
/* 80231AAC 0022EA0C DB C1 01 A0 */ stfd f30, 0x1a0(r1)
/* 80231AB0 0022EA10 F3 C1 01 A8 */ psq_st f30, 424(r1), 0, qr0
/* 80231AB4 0022EA14 DB A1 01 90 */ stfd f29, 0x190(r1)
/* 80231AB8 0022EA18 F3 A1 01 98 */ psq_st f29, 408(r1), 0, qr0
/* 80231ABC 0022EA1C DB 81 01 80 */ stfd f28, 0x180(r1)
/* 80231AC0 0022EA20 F3 81 01 88 */ psq_st f28, 392(r1), 0, qr0
/* 80231AC4 0022EA24 DB 61 01 70 */ stfd f27, 0x170(r1)
/* 80231AC8 0022EA28 F3 61 01 78 */ psq_st f27, 376(r1), 0, qr0
/* 80231ACC 0022EA2C BE C1 01 48 */ stmw r22, 0x148(r1)
/* 80231AD0 0022EA30 7C 7B 1B 78 */ mr r27, r3
/* 80231AD4 0022EA34 7C 9C 23 78 */ mr r28, r4
/* 80231AD8 0022EA38 C0 23 01 58 */ lfs f1, 0x158(r3)
/* 80231ADC 0022EA3C 7C BD 2B 78 */ mr r29, r5
/* 80231AE0 0022EA40 C0 03 01 5C */ lfs f0, 0x15c(r3)
/* 80231AE4 0022EA44 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80231AE8 0022EA48 4C 41 13 82 */ cror 2, 1, 2
/* 80231AEC 0022EA4C 41 82 05 64 */ beq lbl_80232050
/* 80231AF0 0022EA50 A0 BC 00 08 */ lhz r5, 8(r28)
/* 80231AF4 0022EA54 7F A3 EB 78 */ mr r3, r29
/* 80231AF8 0022EA58 A0 1B 00 E8 */ lhz r0, 0xe8(r27)
/* 80231AFC 0022EA5C 38 81 00 54 */ addi r4, r1, 0x54
/* 80231B00 0022EA60 B0 A1 00 50 */ sth r5, 0x50(r1)
/* 80231B04 0022EA64 7C 05 00 50 */ subf r0, r5, r0
/* 80231B08 0022EA68 7C 00 00 34 */ cntlzw r0, r0
/* 80231B0C 0022EA6C B0 A1 00 54 */ sth r5, 0x54(r1)
/* 80231B10 0022EA70 54 17 D9 7E */ srwi r23, r0, 5
/* 80231B14 0022EA74 4B E1 AA 91 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80231B18 0022EA78 7C 64 1B 78 */ mr r4, r3
/* 80231B1C 0022EA7C 38 61 00 68 */ addi r3, r1, 0x68
/* 80231B20 0022EA80 4B E7 D8 2D */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 80231B24 0022EA84 80 63 00 04 */ lwz r3, 4(r3)
/* 80231B28 0022EA88 28 03 00 00 */ cmplwi r3, 0
/* 80231B2C 0022EA8C 41 82 00 18 */ beq lbl_80231B44
/* 80231B30 0022EA90 A0 63 02 5C */ lhz r3, 0x25c(r3)
/* 80231B34 0022EA94 A0 1B 00 E8 */ lhz r0, 0xe8(r27)
/* 80231B38 0022EA98 7C 03 00 50 */ subf r0, r3, r0
/* 80231B3C 0022EA9C 7C 00 00 34 */ cntlzw r0, r0
/* 80231B40 0022EAA0 54 17 D9 7E */ srwi r23, r0, 5
lbl_80231B44:
/* 80231B44 0022EAA4 56 E0 06 3F */ clrlwi. r0, r23, 0x18
/* 80231B48 0022EAA8 40 82 05 08 */ bne lbl_80232050
/* 80231B4C 0022EAAC C0 5B 01 50 */ lfs f2, 0x150(r27)
/* 80231B50 0022EAB0 C0 3C 00 40 */ lfs f1, 0x40(r28)
/* 80231B54 0022EAB4 C0 1B 00 40 */ lfs f0, 0x40(r27)
/* 80231B58 0022EAB8 EF E2 00 B2 */ fmuls f31, f2, f2
/* 80231B5C 0022EABC C0 9B 01 3C */ lfs f4, 0x13c(r27)
/* 80231B60 0022EAC0 C0 7C 00 50 */ lfs f3, 0x50(r28)
/* 80231B64 0022EAC4 EF 81 00 28 */ fsubs f28, f1, f0
/* 80231B68 0022EAC8 C0 5B 00 50 */ lfs f2, 0x50(r27)
/* 80231B6C 0022EACC EC 1F 01 32 */ fmuls f0, f31, f4
/* 80231B70 0022EAD0 80 1B 00 EC */ lwz r0, 0xec(r27)
/* 80231B74 0022EAD4 C0 22 B6 AC */ lfs f1, lbl_805AD3CC@sda21(r2)
/* 80231B78 0022EAD8 EF A3 10 28 */ fsubs f29, f3, f2
/* 80231B7C 0022EADC 90 01 00 F0 */ stw r0, 0xf0(r1)
/* 80231B80 0022EAE0 EF 60 01 32 */ fmuls f27, f0, f4
/* 80231B84 0022EAE4 C0 0D 96 30 */ lfs f0, lbl_805A81F0@sda21(r13)
/* 80231B88 0022EAE8 88 1B 00 F0 */ lbz r0, 0xf0(r27)
/* 80231B8C 0022EAEC 98 01 00 F4 */ stb r0, 0xf4(r1)
/* 80231B90 0022EAF0 C0 5B 00 F4 */ lfs f2, 0xf4(r27)
/* 80231B94 0022EAF4 D0 41 00 F8 */ stfs f2, 0xf8(r1)
/* 80231B98 0022EAF8 C0 5B 00 F8 */ lfs f2, 0xf8(r27)
/* 80231B9C 0022EAFC D0 41 00 FC */ stfs f2, 0xfc(r1)
/* 80231BA0 0022EB00 C0 5B 00 FC */ lfs f2, 0xfc(r27)
/* 80231BA4 0022EB04 D0 41 01 00 */ stfs f2, 0x100(r1)
/* 80231BA8 0022EB08 C0 5B 01 00 */ lfs f2, 0x100(r27)
/* 80231BAC 0022EB0C D0 41 01 04 */ stfs f2, 0x104(r1)
/* 80231BB0 0022EB10 88 1B 01 04 */ lbz r0, 0x104(r27)
/* 80231BB4 0022EB14 98 01 01 08 */ stb r0, 0x108(r1)
/* 80231BB8 0022EB18 C0 7B 01 60 */ lfs f3, 0x160(r27)
/* 80231BBC 0022EB1C C0 5B 01 58 */ lfs f2, 0x158(r27)
/* 80231BC0 0022EB20 EC 23 08 BC */ fnmsubs f1, f3, f2, f1
/* 80231BC4 0022EB24 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80231BC8 0022EB28 D0 21 00 64 */ stfs f1, 0x64(r1)
/* 80231BCC 0022EB2C 40 80 00 0C */ bge lbl_80231BD8
/* 80231BD0 0022EB30 38 6D 96 30 */ addi r3, r13, lbl_805A81F0@sda21
/* 80231BD4 0022EB34 48 00 00 08 */ b lbl_80231BDC
lbl_80231BD8:
/* 80231BD8 0022EB38 38 61 00 64 */ addi r3, r1, 0x64
lbl_80231BDC:
/* 80231BDC 0022EB3C C3 C3 00 00 */ lfs f30, 0(r3)
/* 80231BE0 0022EB40 7F A3 EB 78 */ mr r3, r29
/* 80231BE4 0022EB44 4B E1 23 59 */ bl GetPlayer__13CStateManagerCFv
/* 80231BE8 0022EB48 A0 9C 00 08 */ lhz r4, 8(r28)
/* 80231BEC 0022EB4C 3B C0 00 00 */ li r30, 0
/* 80231BF0 0022EB50 A0 03 00 08 */ lhz r0, 8(r3)
/* 80231BF4 0022EB54 7C 04 00 50 */ subf r0, r4, r0
/* 80231BF8 0022EB58 7C 03 00 34 */ cntlzw r3, r0
/* 80231BFC 0022EB5C 54 60 DE 3F */ rlwinm. r0, r3, 0x1b, 0x18, 0x1f
/* 80231C00 0022EB60 54 7F D9 7E */ srwi r31, r3, 5
/* 80231C04 0022EB64 41 82 00 18 */ beq lbl_80231C1C
/* 80231C08 0022EB68 80 7D 08 4C */ lwz r3, 0x84c(r29)
/* 80231C0C 0022EB6C 80 03 02 58 */ lwz r0, 0x258(r3)
/* 80231C10 0022EB70 2C 00 00 00 */ cmpwi r0, 0
/* 80231C14 0022EB74 41 82 00 08 */ beq lbl_80231C1C
/* 80231C18 0022EB78 3B C0 00 01 */ li r30, 1
lbl_80231C1C:
/* 80231C1C 0022EB7C EC 1D 07 72 */ fmuls f0, f29, f29
/* 80231C20 0022EB80 C0 22 B6 A8 */ lfs f1, lbl_805AD3C8@sda21(r2)
/* 80231C24 0022EB84 EC 1C 07 3A */ fmadds f0, f28, f28, f0
/* 80231C28 0022EB88 EC 01 00 2A */ fadds f0, f1, f0
/* 80231C2C 0022EB8C FC 00 D8 40 */ fcmpo cr0, f0, f27
/* 80231C30 0022EB90 4C 41 13 82 */ cror 2, 1, 2
/* 80231C34 0022EB94 40 82 04 1C */ bne lbl_80232050
/* 80231C38 0022EB98 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 80231C3C 0022EB9C 4C 40 13 82 */ cror 2, 0, 2
/* 80231C40 0022EBA0 40 82 04 10 */ bne lbl_80232050
/* 80231C44 0022EBA4 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80231C48 0022EBA8 41 82 00 FC */ beq lbl_80231D44
/* 80231C4C 0022EBAC 80 9D 08 4C */ lwz r4, 0x84c(r29)
/* 80231C50 0022EBB0 80 04 02 F8 */ lwz r0, 0x2f8(r4)
/* 80231C54 0022EBB4 2C 00 00 00 */ cmpwi r0, 0
/* 80231C58 0022EBB8 40 82 00 B4 */ bne lbl_80231D0C
/* 80231C5C 0022EBBC 38 61 01 0C */ addi r3, r1, 0x10c
/* 80231C60 0022EBC0 38 84 00 34 */ addi r4, r4, 0x34
/* 80231C64 0022EBC4 48 0E 0F 11 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80231C68 0022EBC8 C0 3B 00 50 */ lfs f1, 0x50(r27)
/* 80231C6C 0022EBCC 38 61 00 B0 */ addi r3, r1, 0xb0
/* 80231C70 0022EBD0 C0 01 01 28 */ lfs f0, 0x128(r1)
/* 80231C74 0022EBD4 C0 7B 00 60 */ lfs f3, 0x60(r27)
/* 80231C78 0022EBD8 C0 41 01 38 */ lfs f2, 0x138(r1)
/* 80231C7C 0022EBDC EC 81 00 28 */ fsubs f4, f1, f0
/* 80231C80 0022EBE0 C0 3B 00 40 */ lfs f1, 0x40(r27)
/* 80231C84 0022EBE4 C0 01 01 18 */ lfs f0, 0x118(r1)
/* 80231C88 0022EBE8 EC 43 10 28 */ fsubs f2, f3, f2
/* 80231C8C 0022EBEC D0 81 00 B4 */ stfs f4, 0xb4(r1)
/* 80231C90 0022EBF0 EC 01 00 28 */ fsubs f0, f1, f0
/* 80231C94 0022EBF4 D0 41 00 B8 */ stfs f2, 0xb8(r1)
/* 80231C98 0022EBF8 D0 01 00 B0 */ stfs f0, 0xb0(r1)
/* 80231C9C 0022EBFC 48 0E 2A 5D */ bl CanBeNormalized__9CVector3fCFv
/* 80231CA0 0022EC00 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80231CA4 0022EC04 41 82 00 68 */ beq lbl_80231D0C
/* 80231CA8 0022EC08 38 61 00 B0 */ addi r3, r1, 0xb0
/* 80231CAC 0022EC0C 48 0E 2C 4D */ bl Normalize__9CVector3fFv
/* 80231CB0 0022EC10 C0 21 00 B4 */ lfs f1, 0xb4(r1)
/* 80231CB4 0022EC14 C0 01 01 20 */ lfs f0, 0x120(r1)
/* 80231CB8 0022EC18 C0 41 00 B0 */ lfs f2, 0xb0(r1)
/* 80231CBC 0022EC1C EC 01 00 32 */ fmuls f0, f1, f0
/* 80231CC0 0022EC20 C0 21 01 10 */ lfs f1, 0x110(r1)
/* 80231CC4 0022EC24 C0 81 00 B8 */ lfs f4, 0xb8(r1)
/* 80231CC8 0022EC28 C0 61 01 30 */ lfs f3, 0x130(r1)
/* 80231CCC 0022EC2C EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 80231CD0 0022EC30 C0 42 B6 B4 */ lfs f2, lbl_805AD3D4@sda21(r2)
/* 80231CD4 0022EC34 C0 02 B6 B0 */ lfs f0, lbl_805AD3D0@sda21(r2)
/* 80231CD8 0022EC38 EC 24 08 FA */ fmadds f1, f4, f3, f1
/* 80231CDC 0022EC3C FC 20 0A 10 */ fabs f1, f1
/* 80231CE0 0022EC40 FC 20 08 18 */ frsp f1, f1
/* 80231CE4 0022EC44 EC 21 00 72 */ fmuls f1, f1, f1
/* 80231CE8 0022EC48 EC 22 00 72 */ fmuls f1, f2, f1
/* 80231CEC 0022EC4C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80231CF0 0022EC50 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 80231CF4 0022EC54 40 80 00 0C */ bge lbl_80231D00
/* 80231CF8 0022EC58 38 61 00 60 */ addi r3, r1, 0x60
/* 80231CFC 0022EC5C 48 00 00 08 */ b lbl_80231D04
lbl_80231D00:
/* 80231D00 0022EC60 38 62 B6 B0 */ addi r3, r2, lbl_805AD3D0@sda21
lbl_80231D04:
/* 80231D04 0022EC64 C0 03 00 00 */ lfs f0, 0(r3)
/* 80231D08 0022EC68 EF DE 00 32 */ fmuls f30, f30, f0
lbl_80231D0C:
/* 80231D0C 0022EC6C 80 9D 08 4C */ lwz r4, 0x84c(r29)
/* 80231D10 0022EC70 38 61 00 A4 */ addi r3, r1, 0xa4
/* 80231D14 0022EC74 C0 04 01 38 */ lfs f0, 0x138(r4)
/* 80231D18 0022EC78 D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 80231D1C 0022EC7C C0 04 01 3C */ lfs f0, 0x13c(r4)
/* 80231D20 0022EC80 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 80231D24 0022EC84 C0 04 01 40 */ lfs f0, 0x140(r4)
/* 80231D28 0022EC88 D0 01 00 AC */ stfs f0, 0xac(r1)
/* 80231D2C 0022EC8C 48 0E 2B 8D */ bl Magnitude__9CVector3fCFv
/* 80231D30 0022EC90 C0 02 B6 B8 */ lfs f0, lbl_805AD3D8@sda21(r2)
/* 80231D34 0022EC94 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80231D38 0022EC98 40 81 00 0C */ ble lbl_80231D44
/* 80231D3C 0022EC9C C0 02 B6 BC */ lfs f0, lbl_805AD3DC@sda21(r2)
/* 80231D40 0022ECA0 D0 1B 01 68 */ stfs f0, 0x168(r27)
lbl_80231D44:
/* 80231D44 0022ECA4 C0 1B 01 00 */ lfs f0, 0x100(r27)
/* 80231D48 0022ECA8 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80231D4C 0022ECAC 38 00 00 01 */ li r0, 1
/* 80231D50 0022ECB0 EC 1E 00 32 */ fmuls f0, f30, f0
/* 80231D54 0022ECB4 D0 01 01 04 */ stfs f0, 0x104(r1)
/* 80231D58 0022ECB8 41 82 00 30 */ beq lbl_80231D88
/* 80231D5C 0022ECBC C0 3B 01 64 */ lfs f1, 0x164(r27)
/* 80231D60 0022ECC0 C0 02 B6 C0 */ lfs f0, lbl_805AD3E0@sda21(r2)
/* 80231D64 0022ECC4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80231D68 0022ECC8 4C 41 13 82 */ cror 2, 1, 2
/* 80231D6C 0022ECCC 41 82 00 18 */ beq lbl_80231D84
/* 80231D70 0022ECD0 C0 3B 01 68 */ lfs f1, 0x168(r27)
/* 80231D74 0022ECD4 C0 02 B6 BC */ lfs f0, lbl_805AD3DC@sda21(r2)
/* 80231D78 0022ECD8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80231D7C 0022ECDC 4C 41 13 82 */ cror 2, 1, 2
/* 80231D80 0022ECE0 40 82 00 08 */ bne lbl_80231D88
lbl_80231D84:
/* 80231D84 0022ECE4 38 00 00 00 */ li r0, 0
lbl_80231D88:
/* 80231D88 0022ECE8 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80231D8C 0022ECEC 41 82 02 C4 */ beq lbl_80232050
/* 80231D90 0022ECF0 A0 1C 00 08 */ lhz r0, 8(r28)
/* 80231D94 0022ECF4 7F 63 DB 78 */ mr r3, r27
/* 80231D98 0022ECF8 38 81 00 4C */ addi r4, r1, 0x4c
/* 80231D9C 0022ECFC B0 01 00 48 */ sth r0, 0x48(r1)
/* 80231DA0 0022ED00 B0 01 00 4C */ sth r0, 0x4c(r1)
/* 80231DA4 0022ED04 4B FF FB E1 */ bl sub_80231984
/* 80231DA8 0022ED08 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80231DAC 0022ED0C 40 82 02 08 */ bne lbl_80231FB4
/* 80231DB0 0022ED10 80 AD 96 28 */ lwz r5, lbl_805A81E8@sda21(r13)
/* 80231DB4 0022ED14 38 60 00 00 */ li r3, 0
/* 80231DB8 0022ED18 38 80 00 01 */ li r4, 1
/* 80231DBC 0022ED1C 48 15 81 39 */ bl __shl2i
/* 80231DC0 0022ED20 39 40 00 00 */ li r10, 0
/* 80231DC4 0022ED24 38 00 00 03 */ li r0, 3
/* 80231DC8 0022ED28 90 81 00 DC */ stw r4, 0xdc(r1)
/* 80231DCC 0022ED2C 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 80231DD0 0022ED30 39 24 66 A0 */ addi r9, r4, sZeroVector__9CVector3f@l
/* 80231DD4 0022ED34 38 A1 00 3C */ addi r5, r1, 0x3c
/* 80231DD8 0022ED38 90 61 00 D8 */ stw r3, 0xd8(r1)
/* 80231DDC 0022ED3C 38 81 00 44 */ addi r4, r1, 0x44
/* 80231DE0 0022ED40 7F A3 EB 78 */ mr r3, r29
/* 80231DE4 0022ED44 38 C1 00 34 */ addi r6, r1, 0x34
/* 80231DE8 0022ED48 91 41 00 E4 */ stw r10, 0xe4(r1)
/* 80231DEC 0022ED4C 38 E1 00 F0 */ addi r7, r1, 0xf0
/* 80231DF0 0022ED50 39 01 00 D8 */ addi r8, r1, 0xd8
/* 80231DF4 0022ED54 91 41 00 E0 */ stw r10, 0xe0(r1)
/* 80231DF8 0022ED58 90 01 00 E8 */ stw r0, 0xe8(r1)
/* 80231DFC 0022ED5C A0 1B 00 08 */ lhz r0, 8(r27)
/* 80231E00 0022ED60 B0 01 00 34 */ sth r0, 0x34(r1)
/* 80231E04 0022ED64 A1 5C 00 08 */ lhz r10, 8(r28)
/* 80231E08 0022ED68 B0 01 00 30 */ sth r0, 0x30(r1)
/* 80231E0C 0022ED6C B1 41 00 3C */ sth r10, 0x3c(r1)
/* 80231E10 0022ED70 A0 1B 00 08 */ lhz r0, 8(r27)
/* 80231E14 0022ED74 B1 41 00 38 */ sth r10, 0x38(r1)
/* 80231E18 0022ED78 B0 01 00 40 */ sth r0, 0x40(r1)
/* 80231E1C 0022ED7C B0 01 00 44 */ sth r0, 0x44(r1)
/* 80231E20 0022ED80 4B E1 82 81 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
/* 80231E24 0022ED84 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80231E28 0022ED88 41 82 01 60 */ beq lbl_80231F88
/* 80231E2C 0022ED8C 88 1B 09 7C */ lbz r0, 0x97c(r27)
/* 80231E30 0022ED90 28 00 00 00 */ cmplwi r0, 0
/* 80231E34 0022ED94 41 82 01 54 */ beq lbl_80231F88
/* 80231E38 0022ED98 3C 60 80 3D */ lis r3, lbl_803D3468@ha
/* 80231E3C 0022ED9C 3B 40 00 00 */ li r26, 0
/* 80231E40 0022EDA0 38 83 34 68 */ addi r4, r3, lbl_803D3468@l
/* 80231E44 0022EDA4 3A C0 00 00 */ li r22, 0
/* 80231E48 0022EDA8 38 60 01 10 */ li r3, 0x110
/* 80231E4C 0022EDAC 38 A0 00 00 */ li r5, 0
/* 80231E50 0022EDB0 48 0E 3A 1D */ bl __nw__FUlPCcPCc
/* 80231E54 0022EDB4 7C 77 1B 79 */ or. r23, r3, r3
/* 80231E58 0022EDB8 41 82 00 C4 */ beq lbl_80231F1C
/* 80231E5C 0022EDBC C0 22 B6 A8 */ lfs f1, lbl_805AD3C8@sda21(r2)
/* 80231E60 0022EDC0 3C 60 80 3D */ lis r3, lbl_803D3468@ha
/* 80231E64 0022EDC4 C0 02 B6 AC */ lfs f0, lbl_805AD3CC@sda21(r2)
/* 80231E68 0022EDC8 38 83 34 68 */ addi r4, r3, lbl_803D3468@l
/* 80231E6C 0022EDCC D0 21 00 98 */ stfs f1, 0x98(r1)
/* 80231E70 0022EDD0 38 61 00 7C */ addi r3, r1, 0x7c
/* 80231E74 0022EDD4 38 84 00 17 */ addi r4, r4, 0x17
/* 80231E78 0022EDD8 D0 21 00 9C */ stfs f1, 0x9c(r1)
/* 80231E7C 0022EDDC D0 21 00 A0 */ stfs f1, 0xa0(r1)
/* 80231E80 0022EDE0 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 80231E84 0022EDE4 D0 01 00 90 */ stfs f0, 0x90(r1)
/* 80231E88 0022EDE8 D0 01 00 94 */ stfs f0, 0x94(r1)
/* 80231E8C 0022EDEC 4B DD 2E 2D */ bl string_l__4rstlFPCc
/* 80231E90 0022EDF0 7F A4 EB 78 */ mr r4, r29
/* 80231E94 0022EDF4 38 61 00 28 */ addi r3, r1, 0x28
/* 80231E98 0022EDF8 3B 40 00 01 */ li r26, 1
/* 80231E9C 0022EDFC 4B E1 B2 41 */ bl AllocateUniqueId__13CStateManagerFv
/* 80231EA0 0022EE00 C0 22 B6 AC */ lfs f1, lbl_805AD3CC@sda21(r2)
/* 80231EA4 0022EE04 38 00 00 00 */ li r0, 0
/* 80231EA8 0022EE08 A0 81 00 28 */ lhz r4, 0x28(r1)
/* 80231EAC 0022EE0C 38 61 00 5C */ addi r3, r1, 0x5c
/* 80231EB0 0022EE10 FC 40 08 90 */ fmr f2, f1
/* 80231EB4 0022EE14 98 01 00 78 */ stb r0, 0x78(r1)
/* 80231EB8 0022EE18 FC 60 08 90 */ fmr f3, f1
/* 80231EBC 0022EE1C 3A C0 00 01 */ li r22, 1
/* 80231EC0 0022EE20 FC 80 08 90 */ fmr f4, f1
/* 80231EC4 0022EE24 B0 81 00 2C */ sth r4, 0x2c(r1)
/* 80231EC8 0022EE28 48 13 15 25 */ bl __ct__6CColorFffff
/* 80231ECC 0022EE2C 7C 78 1B 78 */ mr r24, r3
/* 80231ED0 0022EE30 7F A3 EB 78 */ mr r3, r29
/* 80231ED4 0022EE34 4B EF E3 59 */ bl GetScaleForPOV__19CHUDBillboardEffectFRC13CStateManager
/* 80231ED8 0022EE38 7C 79 1B 78 */ mr r25, r3
/* 80231EDC 0022EE3C 7F A3 EB 78 */ mr r3, r29
/* 80231EE0 0022EE40 4B EF E3 19 */ bl GetNearClipDistance__19CHUDBillboardEffectFRC13CStateManager
/* 80231EE4 0022EE44 38 61 00 8C */ addi r3, r1, 0x8c
/* 80231EE8 0022EE48 38 01 00 98 */ addi r0, r1, 0x98
/* 80231EEC 0022EE4C 90 61 00 08 */ stw r3, 8(r1)
/* 80231EF0 0022EE50 7E E3 BB 78 */ mr r3, r23
/* 80231EF4 0022EE54 7F 29 CB 78 */ mr r9, r25
/* 80231EF8 0022EE58 7F 0A C3 78 */ mr r10, r24
/* 80231EFC 0022EE5C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80231F00 0022EE60 38 81 00 70 */ addi r4, r1, 0x70
/* 80231F04 0022EE64 38 BB 09 74 */ addi r5, r27, 0x974
/* 80231F08 0022EE68 38 C1 00 2C */ addi r6, r1, 0x2c
/* 80231F0C 0022EE6C 39 01 00 7C */ addi r8, r1, 0x7c
/* 80231F10 0022EE70 38 E0 00 01 */ li r7, 1
/* 80231F14 0022EE74 4B EF DF E5 */ bl "__ct__19CHUDBillboardEffectFRCQ24rstl44optional_object<25TToken<15CGenDescription>>RCQ24rstl49optional_object<30TToken<20CElectricDescription>>9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>fRC9CVector3fRC6CColorRC9CVector3fRC9CVector3f"
/* 80231F18 0022EE78 7C 77 1B 78 */ mr r23, r3
lbl_80231F1C:
/* 80231F1C 0022EE7C 7F A3 EB 78 */ mr r3, r29
/* 80231F20 0022EE80 7E E4 BB 78 */ mr r4, r23
/* 80231F24 0022EE84 4B E1 AD D1 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 80231F28 0022EE88 7E C0 07 75 */ extsb. r0, r22
/* 80231F2C 0022EE8C 41 82 00 28 */ beq lbl_80231F54
/* 80231F30 0022EE90 88 01 00 78 */ lbz r0, 0x78(r1)
/* 80231F34 0022EE94 28 00 00 00 */ cmplwi r0, 0
/* 80231F38 0022EE98 41 82 00 14 */ beq lbl_80231F4C
/* 80231F3C 0022EE9C 34 61 00 70 */ addic. r3, r1, 0x70
/* 80231F40 0022EEA0 41 82 00 0C */ beq lbl_80231F4C
/* 80231F44 0022EEA4 38 80 00 00 */ li r4, 0
/* 80231F48 0022EEA8 48 10 EE F9 */ bl __dt__6CTokenFv
lbl_80231F4C:
/* 80231F4C 0022EEAC 38 00 00 00 */ li r0, 0
/* 80231F50 0022EEB0 98 01 00 78 */ stb r0, 0x78(r1)
lbl_80231F54:
/* 80231F54 0022EEB4 7F 40 07 75 */ extsb. r0, r26
/* 80231F58 0022EEB8 41 82 00 0C */ beq lbl_80231F64
/* 80231F5C 0022EEBC 38 61 00 7C */ addi r3, r1, 0x7c
/* 80231F60 0022EEC0 48 10 BB 81 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_80231F64:
/* 80231F64 0022EEC4 A0 9B 01 4C */ lhz r4, 0x14c(r27)
/* 80231F68 0022EEC8 38 61 00 58 */ addi r3, r1, 0x58
/* 80231F6C 0022EECC A9 02 C5 FA */ lha r8, kMedPriority__11CSfxManager@sda21(r2)
/* 80231F70 0022EED0 38 A0 00 7F */ li r5, 0x7f
/* 80231F74 0022EED4 81 42 C6 00 */ lwz r10, kAllAreas__11CSfxManager@sda21(r2)
/* 80231F78 0022EED8 38 C0 00 40 */ li r6, 0x40
/* 80231F7C 0022EEDC 38 E0 00 00 */ li r7, 0
/* 80231F80 0022EEE0 39 20 00 00 */ li r9, 0
/* 80231F84 0022EEE4 48 0B 7D F1 */ bl SfxStart__11CSfxManagerFUsssbsbi
lbl_80231F88:
/* 80231F88 0022EEE8 80 1B 01 70 */ lwz r0, 0x170(r27)
/* 80231F8C 0022EEEC A0 9C 00 08 */ lhz r4, 8(r28)
/* 80231F90 0022EEF0 54 00 08 3C */ slwi r0, r0, 1
/* 80231F94 0022EEF4 7C 7B 02 14 */ add r3, r27, r0
/* 80231F98 0022EEF8 34 63 01 74 */ addic. r3, r3, 0x174
/* 80231F9C 0022EEFC 41 82 00 08 */ beq lbl_80231FA4
/* 80231FA0 0022EF00 B0 83 00 00 */ sth r4, 0(r3)
lbl_80231FA4:
/* 80231FA4 0022EF04 80 7B 01 70 */ lwz r3, 0x170(r27)
/* 80231FA8 0022EF08 38 03 00 01 */ addi r0, r3, 1
/* 80231FAC 0022EF0C 90 1B 01 70 */ stw r0, 0x170(r27)
/* 80231FB0 0022EF10 48 00 00 80 */ b lbl_80232030
lbl_80231FB4:
/* 80231FB4 0022EF14 C0 02 B6 A8 */ lfs f0, lbl_805AD3C8@sda21(r2)
/* 80231FB8 0022EF18 38 60 00 00 */ li r3, 0
/* 80231FBC 0022EF1C 80 AD 96 28 */ lwz r5, lbl_805A81E8@sda21(r13)
/* 80231FC0 0022EF20 38 80 00 01 */ li r4, 1
/* 80231FC4 0022EF24 D0 01 00 F8 */ stfs f0, 0xf8(r1)
/* 80231FC8 0022EF28 48 15 7F 2D */ bl __shl2i
/* 80231FCC 0022EF2C 39 40 00 00 */ li r10, 0
/* 80231FD0 0022EF30 38 00 00 03 */ li r0, 3
/* 80231FD4 0022EF34 90 81 00 C4 */ stw r4, 0xc4(r1)
/* 80231FD8 0022EF38 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 80231FDC 0022EF3C 39 24 66 A0 */ addi r9, r4, sZeroVector__9CVector3f@l
/* 80231FE0 0022EF40 38 A1 00 1C */ addi r5, r1, 0x1c
/* 80231FE4 0022EF44 90 61 00 C0 */ stw r3, 0xc0(r1)
/* 80231FE8 0022EF48 38 81 00 24 */ addi r4, r1, 0x24
/* 80231FEC 0022EF4C 7F A3 EB 78 */ mr r3, r29
/* 80231FF0 0022EF50 38 C1 00 14 */ addi r6, r1, 0x14
/* 80231FF4 0022EF54 91 41 00 CC */ stw r10, 0xcc(r1)
/* 80231FF8 0022EF58 38 E1 00 F0 */ addi r7, r1, 0xf0
/* 80231FFC 0022EF5C 39 01 00 C0 */ addi r8, r1, 0xc0
/* 80232000 0022EF60 91 41 00 C8 */ stw r10, 0xc8(r1)
/* 80232004 0022EF64 90 01 00 D0 */ stw r0, 0xd0(r1)
/* 80232008 0022EF68 A0 1B 00 08 */ lhz r0, 8(r27)
/* 8023200C 0022EF6C B0 01 00 14 */ sth r0, 0x14(r1)
/* 80232010 0022EF70 A1 5C 00 08 */ lhz r10, 8(r28)
/* 80232014 0022EF74 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80232018 0022EF78 B1 41 00 1C */ sth r10, 0x1c(r1)
/* 8023201C 0022EF7C A0 1B 00 08 */ lhz r0, 8(r27)
/* 80232020 0022EF80 B1 41 00 18 */ sth r10, 0x18(r1)
/* 80232024 0022EF84 B0 01 00 20 */ sth r0, 0x20(r1)
/* 80232028 0022EF88 B0 01 00 24 */ sth r0, 0x24(r1)
/* 8023202C 0022EF8C 4B E1 80 75 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
lbl_80232030:
/* 80232030 0022EF90 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80232034 0022EF94 41 82 00 0C */ beq lbl_80232040
/* 80232038 0022EF98 38 00 00 01 */ li r0, 1
/* 8023203C 0022EF9C 98 1B 01 6C */ stb r0, 0x16c(r27)
lbl_80232040:
/* 80232040 0022EFA0 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80232044 0022EFA4 41 82 00 0C */ beq lbl_80232050
/* 80232048 0022EFA8 38 00 00 01 */ li r0, 1
/* 8023204C 0022EFAC 98 1B 01 6D */ stb r0, 0x16d(r27)
lbl_80232050:
/* 80232050 0022EFB0 E3 E1 01 B8 */ psq_l f31, 440(r1), 0, qr0
/* 80232054 0022EFB4 CB E1 01 B0 */ lfd f31, 0x1b0(r1)
/* 80232058 0022EFB8 E3 C1 01 A8 */ psq_l f30, 424(r1), 0, qr0
/* 8023205C 0022EFBC CB C1 01 A0 */ lfd f30, 0x1a0(r1)
/* 80232060 0022EFC0 E3 A1 01 98 */ psq_l f29, 408(r1), 0, qr0
/* 80232064 0022EFC4 CB A1 01 90 */ lfd f29, 0x190(r1)
/* 80232068 0022EFC8 E3 81 01 88 */ psq_l f28, 392(r1), 0, qr0
/* 8023206C 0022EFCC CB 81 01 80 */ lfd f28, 0x180(r1)
/* 80232070 0022EFD0 E3 61 01 78 */ psq_l f27, 376(r1), 0, qr0
/* 80232074 0022EFD4 CB 61 01 70 */ lfd f27, 0x170(r1)
/* 80232078 0022EFD8 BA C1 01 48 */ lmw r22, 0x148(r1)
/* 8023207C 0022EFDC 80 01 01 C4 */ lwz r0, 0x1c4(r1)
/* 80232080 0022EFE0 7C 08 03 A6 */ mtlr r0
/* 80232084 0022EFE4 38 21 01 C0 */ addi r1, r1, 0x1c0
/* 80232088 0022EFE8 4E 80 00 20 */ blr
.global AddToRenderer__10CShockwaveCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__10CShockwaveCFRC14CFrustumPlanesRC13CStateManager:
/* 8023208C 0022EFEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80232090 0022EFF0 7C 08 02 A6 */ mflr r0
/* 80232094 0022EFF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80232098 0022EFF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023209C 0022EFFC 7C 7F 1B 78 */ mr r31, r3
/* 802320A0 0022F000 4B E2 2A 99 */ bl AddToRenderer__6CActorCFRC14CFrustumPlanesRC13CStateManager
/* 802320A4 0022F004 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 802320A8 0022F008 80 9F 01 10 */ lwz r4, 0x110(r31)
/* 802320AC 0022F00C 81 83 00 00 */ lwz r12, 0(r3)
/* 802320B0 0022F010 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 802320B4 0022F014 7D 89 03 A6 */ mtctr r12
/* 802320B8 0022F018 4E 80 04 21 */ bctrl
/* 802320BC 0022F01C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802320C0 0022F020 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802320C4 0022F024 7C 08 03 A6 */ mtlr r0
/* 802320C8 0022F028 38 21 00 10 */ addi r1, r1, 0x10
/* 802320CC 0022F02C 4E 80 00 20 */ blr
.global Render__10CShockwaveCFRC13CStateManager
Render__10CShockwaveCFRC13CStateManager:
/* 802320D0 0022F030 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802320D4 0022F034 7C 08 02 A6 */ mflr r0
/* 802320D8 0022F038 90 01 00 14 */ stw r0, 0x14(r1)
/* 802320DC 0022F03C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802320E0 0022F040 7C 7F 1B 78 */ mr r31, r3
/* 802320E4 0022F044 4B E2 26 C1 */ bl Render__6CActorCFRC13CStateManager
/* 802320E8 0022F048 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 802320EC 0022F04C 81 83 00 00 */ lwz r12, 0(r3)
/* 802320F0 0022F050 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802320F4 0022F054 7D 89 03 A6 */ mtctr r12
/* 802320F8 0022F058 4E 80 04 21 */ bctrl
/* 802320FC 0022F05C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80232100 0022F060 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80232104 0022F064 7C 08 03 A6 */ mtlr r0
/* 80232108 0022F068 38 21 00 10 */ addi r1, r1, 0x10
/* 8023210C 0022F06C 4E 80 00 20 */ blr
.global Think__10CShockwaveFfR13CStateManager
Think__10CShockwaveFfR13CStateManager:
/* 80232110 0022F070 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 80232114 0022F074 7C 08 02 A6 */ mflr r0
/* 80232118 0022F078 90 01 00 94 */ stw r0, 0x94(r1)
/* 8023211C 0022F07C DB E1 00 80 */ stfd f31, 0x80(r1)
/* 80232120 0022F080 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 80232124 0022F084 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 80232128 0022F088 93 C1 00 78 */ stw r30, 0x78(r1)
/* 8023212C 0022F08C 93 A1 00 74 */ stw r29, 0x74(r1)
/* 80232130 0022F090 93 81 00 70 */ stw r28, 0x70(r1)
/* 80232134 0022F094 88 03 00 30 */ lbz r0, 0x30(r3)
/* 80232138 0022F098 FF E0 08 90 */ fmr f31, f1
/* 8023213C 0022F09C 7C 7F 1B 78 */ mr r31, r3
/* 80232140 0022F0A0 7C 9C 23 78 */ mr r28, r4
/* 80232144 0022F0A4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80232148 0022F0A8 41 82 00 EC */ beq lbl_80232234
/* 8023214C 0022F0AC 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 80232150 0022F0B0 81 83 00 00 */ lwz r12, 0(r3)
/* 80232154 0022F0B4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80232158 0022F0B8 7D 89 03 A6 */ mtctr r12
/* 8023215C 0022F0BC 4E 80 04 21 */ bctrl
/* 80232160 0022F0C0 C0 1F 01 58 */ lfs f0, 0x158(r31)
/* 80232164 0022F0C4 38 80 00 00 */ li r4, 0
/* 80232168 0022F0C8 EC 00 F8 2A */ fadds f0, f0, f31
/* 8023216C 0022F0CC D0 1F 01 58 */ stfs f0, 0x158(r31)
/* 80232170 0022F0D0 C0 3F 01 54 */ lfs f1, 0x154(r31)
/* 80232174 0022F0D4 C0 1F 01 50 */ lfs f0, 0x150(r31)
/* 80232178 0022F0D8 EC 01 07 FA */ fmadds f0, f1, f31, f0
/* 8023217C 0022F0DC D0 1F 01 50 */ stfs f0, 0x150(r31)
/* 80232180 0022F0E0 C0 3F 01 44 */ lfs f1, 0x144(r31)
/* 80232184 0022F0E4 C0 1F 01 54 */ lfs f0, 0x154(r31)
/* 80232188 0022F0E8 EC 1F 00 7A */ fmadds f0, f31, f1, f0
/* 8023218C 0022F0EC D0 1F 01 54 */ stfs f0, 0x154(r31)
/* 80232190 0022F0F0 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 80232194 0022F0F4 C0 3F 01 50 */ lfs f1, 0x150(r31)
/* 80232198 0022F0F8 48 0E 54 E5 */ bl SetCEXTValue__11CElementGenFif
/* 8023219C 0022F0FC 3B C0 00 00 */ li r30, 0
/* 802321A0 0022F100 48 00 00 44 */ b lbl_802321E4
lbl_802321A4:
/* 802321A4 0022F104 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 802321A8 0022F108 7F C4 F3 78 */ mr r4, r30
/* 802321AC 0022F10C 48 0E 54 E1 */ bl GetActiveChildParticle__11CElementGenCFi
/* 802321B0 0022F110 81 83 00 00 */ lwz r12, 0(r3)
/* 802321B4 0022F114 7C 7D 1B 78 */ mr r29, r3
/* 802321B8 0022F118 81 8C 00 74 */ lwz r12, 0x74(r12)
/* 802321BC 0022F11C 7D 89 03 A6 */ mtctr r12
/* 802321C0 0022F120 4E 80 04 21 */ bctrl
/* 802321C4 0022F124 3C 03 AF BF */ addis r0, r3, 0xafbf
/* 802321C8 0022F128 28 00 52 54 */ cmplwi r0, 0x5254
/* 802321CC 0022F12C 40 82 00 14 */ bne lbl_802321E0
/* 802321D0 0022F130 C0 3F 01 50 */ lfs f1, 0x150(r31)
/* 802321D4 0022F134 7F A3 EB 78 */ mr r3, r29
/* 802321D8 0022F138 38 80 00 00 */ li r4, 0
/* 802321DC 0022F13C 48 0E 54 A1 */ bl SetCEXTValue__11CElementGenFif
lbl_802321E0:
/* 802321E0 0022F140 3B DE 00 01 */ addi r30, r30, 1
lbl_802321E4:
/* 802321E4 0022F144 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 802321E8 0022F148 48 0E 54 B5 */ bl GetNumActiveChildParticles__11CElementGenCFv
/* 802321EC 0022F14C 7C 1E 18 00 */ cmpw r30, r3
/* 802321F0 0022F150 41 80 FF B4 */ blt lbl_802321A4
/* 802321F4 0022F154 88 1F 01 6C */ lbz r0, 0x16c(r31)
/* 802321F8 0022F158 28 00 00 00 */ cmplwi r0, 0
/* 802321FC 0022F15C 41 82 00 18 */ beq lbl_80232214
/* 80232200 0022F160 C0 1F 01 64 */ lfs f0, 0x164(r31)
/* 80232204 0022F164 38 00 00 00 */ li r0, 0
/* 80232208 0022F168 EC 00 F8 2A */ fadds f0, f0, f31
/* 8023220C 0022F16C D0 1F 01 64 */ stfs f0, 0x164(r31)
/* 80232210 0022F170 98 1F 01 6C */ stb r0, 0x16c(r31)
lbl_80232214:
/* 80232214 0022F174 88 1F 01 6D */ lbz r0, 0x16d(r31)
/* 80232218 0022F178 28 00 00 00 */ cmplwi r0, 0
/* 8023221C 0022F17C 41 82 00 18 */ beq lbl_80232234
/* 80232220 0022F180 C0 1F 01 68 */ lfs f0, 0x168(r31)
/* 80232224 0022F184 38 00 00 00 */ li r0, 0
/* 80232228 0022F188 EC 00 F8 2A */ fadds f0, f0, f31
/* 8023222C 0022F18C D0 1F 01 68 */ stfs f0, 0x168(r31)
/* 80232230 0022F190 98 1F 01 6D */ stb r0, 0x16d(r31)
lbl_80232234:
/* 80232234 0022F194 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 80232238 0022F198 81 83 00 00 */ lwz r12, 0(r3)
/* 8023223C 0022F19C 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 80232240 0022F1A0 7D 89 03 A6 */ mtctr r12
/* 80232244 0022F1A4 4E 80 04 21 */ bctrl
/* 80232248 0022F1A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8023224C 0022F1AC 41 82 00 40 */ beq lbl_8023228C
/* 80232250 0022F1B0 C0 3F 01 5C */ lfs f1, 0x15c(r31)
/* 80232254 0022F1B4 C0 02 B6 A8 */ lfs f0, lbl_805AD3C8@sda21(r2)
/* 80232258 0022F1B8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8023225C 0022F1BC 40 81 00 30 */ ble lbl_8023228C
/* 80232260 0022F1C0 C0 1F 01 58 */ lfs f0, 0x158(r31)
/* 80232264 0022F1C4 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80232268 0022F1C8 4C 41 13 82 */ cror 2, 1, 2
/* 8023226C 0022F1CC 40 82 00 20 */ bne lbl_8023228C
/* 80232270 0022F1D0 A0 1F 00 08 */ lhz r0, 8(r31)
/* 80232274 0022F1D4 7F 83 E3 78 */ mr r3, r28
/* 80232278 0022F1D8 38 81 00 10 */ addi r4, r1, 0x10
/* 8023227C 0022F1DC B0 01 00 0C */ sth r0, 0xc(r1)
/* 80232280 0022F1E0 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80232284 0022F1E4 4B E1 9F E9 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 80232288 0022F1E8 48 00 00 70 */ b lbl_802322F8
lbl_8023228C:
/* 8023228C 0022F1EC A0 7F 09 80 */ lhz r3, 0x980(r31)
/* 80232290 0022F1F0 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80232294 0022F1F4 7C 03 00 40 */ cmplw r3, r0
/* 80232298 0022F1F8 41 82 00 60 */ beq lbl_802322F8
/* 8023229C 0022F1FC A0 1F 09 80 */ lhz r0, 0x980(r31)
/* 802322A0 0022F200 7F 83 E3 78 */ mr r3, r28
/* 802322A4 0022F204 38 81 00 08 */ addi r4, r1, 8
/* 802322A8 0022F208 B0 01 00 08 */ sth r0, 8(r1)
/* 802322AC 0022F20C 4B E1 A2 C9 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 802322B0 0022F210 7C 64 1B 78 */ mr r4, r3
/* 802322B4 0022F214 38 61 00 14 */ addi r3, r1, 0x14
/* 802322B8 0022F218 4B E7 B7 CD */ bl "__ct__24TCastToPtr<10CGameLight>FP7CEntity"
/* 802322BC 0022F21C 83 C3 00 04 */ lwz r30, 4(r3)
/* 802322C0 0022F220 28 1E 00 00 */ cmplwi r30, 0
/* 802322C4 0022F224 41 82 00 34 */ beq lbl_802322F8
/* 802322C8 0022F228 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 802322CC 0022F22C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802322D0 0022F230 41 82 00 28 */ beq lbl_802322F8
/* 802322D4 0022F234 80 9F 01 10 */ lwz r4, 0x110(r31)
/* 802322D8 0022F238 38 61 00 1C */ addi r3, r1, 0x1c
/* 802322DC 0022F23C 81 84 00 00 */ lwz r12, 0(r4)
/* 802322E0 0022F240 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 802322E4 0022F244 7D 89 03 A6 */ mtctr r12
/* 802322E8 0022F248 4E 80 04 21 */ bctrl
/* 802322EC 0022F24C 7F C3 F3 78 */ mr r3, r30
/* 802322F0 0022F250 38 81 00 1C */ addi r4, r1, 0x1c
/* 802322F4 0022F254 4B E8 34 51 */ bl SetLight__10CGameLightFRC6CLight
lbl_802322F8:
/* 802322F8 0022F258 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 802322FC 0022F25C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 80232300 0022F260 CB E1 00 80 */ lfd f31, 0x80(r1)
/* 80232304 0022F264 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 80232308 0022F268 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 8023230C 0022F26C 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 80232310 0022F270 83 81 00 70 */ lwz r28, 0x70(r1)
/* 80232314 0022F274 7C 08 03 A6 */ mtlr r0
/* 80232318 0022F278 38 21 00 90 */ addi r1, r1, 0x90
/* 8023231C 0022F27C 4E 80 00 20 */ blr
.global Accept__10CShockwaveFR8IVisitor
Accept__10CShockwaveFR8IVisitor:
/* 80232320 0022F280 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80232324 0022F284 7C 08 02 A6 */ mflr r0
/* 80232328 0022F288 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023232C 0022F28C 7C 60 1B 78 */ mr r0, r3
/* 80232330 0022F290 7C 83 23 78 */ mr r3, r4
/* 80232334 0022F294 81 84 00 00 */ lwz r12, 0(r4)
/* 80232338 0022F298 7C 04 03 78 */ mr r4, r0
/* 8023233C 0022F29C 81 8C 00 08 */ lwz r12, 8(r12)
/* 80232340 0022F2A0 7D 89 03 A6 */ mtctr r12
/* 80232344 0022F2A4 4E 80 04 21 */ bctrl
/* 80232348 0022F2A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023234C 0022F2AC 7C 08 03 A6 */ mtlr r0
/* 80232350 0022F2B0 38 21 00 10 */ addi r1, r1, 0x10
/* 80232354 0022F2B4 4E 80 00 20 */ blr
.global __ct__10CShockWaveFv
__ct__10CShockWaveFv:
/* 80232358 0022F2B8 94 21 FE 60 */ stwu r1, -0x1a0(r1)
/* 8023235C 0022F2BC 7C 08 02 A6 */ mflr r0
/* 80232360 0022F2C0 90 01 01 A4 */ stw r0, 0x1a4(r1)
/* 80232364 0022F2C4 DB E1 01 90 */ stfd f31, 0x190(r1)
/* 80232368 0022F2C8 F3 E1 01 98 */ psq_st f31, 408(r1), 0, qr0
/* 8023236C 0022F2CC DB C1 01 80 */ stfd f30, 0x180(r1)
/* 80232370 0022F2D0 F3 C1 01 88 */ psq_st f30, 392(r1), 0, qr0
/* 80232374 0022F2D4 BF 21 01 64 */ stmw r25, 0x164(r1)
/* 80232378 0022F2D8 FF C0 08 90 */ fmr f30, f1
/* 8023237C 0022F2DC 7C 7E 1B 78 */ mr r30, r3
/* 80232380 0022F2E0 FF E0 10 90 */ fmr f31, f2
/* 80232384 0022F2E4 7C 99 23 78 */ mr r25, r4
/* 80232388 0022F2E8 7C BD 2B 78 */ mr r29, r5
/* 8023238C 0022F2EC 7C DC 33 78 */ mr r28, r6
/* 80232390 0022F2F0 7C FB 3B 78 */ mr r27, r7
/* 80232394 0022F2F4 7D 1A 43 78 */ mr r26, r8
/* 80232398 0022F2F8 7D 3F 4B 78 */ mr r31, r9
/* 8023239C 0022F2FC 38 61 01 0C */ addi r3, r1, 0x10c
/* 802323A0 0022F300 4B E0 84 05 */ bl CModelDataNull__10CModelDataFv
/* 802323A4 0022F304 38 61 00 A4 */ addi r3, r1, 0xa4
/* 802323A8 0022F308 4B DE 8A 91 */ bl None__16CActorParametersFv
/* 802323AC 0022F30C A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13)
/* 802323B0 0022F310 38 00 00 00 */ li r0, 0
/* 802323B4 0022F314 80 AD 96 2C */ lwz r5, lbl_805A81EC@sda21(r13)
/* 802323B8 0022F318 38 60 00 00 */ li r3, 0
/* 802323BC 0022F31C B0 81 00 10 */ sth r4, 0x10(r1)
/* 802323C0 0022F320 38 80 00 01 */ li r4, 1
/* 802323C4 0022F324 90 01 00 4C */ stw r0, 0x4c(r1)
/* 802323C8 0022F328 90 01 00 48 */ stw r0, 0x48(r1)
/* 802323CC 0022F32C 48 15 7B 29 */ bl __shl2i
/* 802323D0 0022F330 80 A1 00 48 */ lwz r5, 0x48(r1)
/* 802323D4 0022F334 39 61 00 A4 */ addi r11, r1, 0xa4
/* 802323D8 0022F338 80 C1 00 4C */ lwz r6, 0x4c(r1)
/* 802323DC 0022F33C 38 01 00 10 */ addi r0, r1, 0x10
/* 802323E0 0022F340 7C A3 1B 78 */ or r3, r5, r3
/* 802323E4 0022F344 A0 B9 00 00 */ lhz r5, 0(r25)
/* 802323E8 0022F348 7C C4 23 78 */ or r4, r6, r4
/* 802323EC 0022F34C 90 61 00 48 */ stw r3, 0x48(r1)
/* 802323F0 0022F350 7F C3 F3 78 */ mr r3, r30
/* 802323F4 0022F354 7F A6 EB 78 */ mr r6, r29
/* 802323F8 0022F358 90 81 00 4C */ stw r4, 0x4c(r1)
/* 802323FC 0022F35C 7F 87 E3 78 */ mr r7, r28
/* 80232400 0022F360 7F 68 DB 78 */ mr r8, r27
/* 80232404 0022F364 38 81 00 14 */ addi r4, r1, 0x14
/* 80232408 0022F368 B0 A1 00 14 */ sth r5, 0x14(r1)
/* 8023240C 0022F36C 39 21 01 0C */ addi r9, r1, 0x10c
/* 80232410 0022F370 39 41 00 48 */ addi r10, r1, 0x48
/* 80232414 0022F374 38 A0 00 01 */ li r5, 1
/* 80232418 0022F378 91 61 00 08 */ stw r11, 8(r1)
/* 8023241C 0022F37C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80232420 0022F380 4B E2 34 01 */ bl "__ct__6CActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC16CActorParameters9TUniqueId"
/* 80232424 0022F384 38 61 00 A4 */ addi r3, r1, 0xa4
/* 80232428 0022F388 38 80 FF FF */ li r4, -1
/* 8023242C 0022F38C 4B ED 41 DD */ bl __dt__16CLightParametersFv
/* 80232430 0022F390 38 61 01 0C */ addi r3, r1, 0x10c
/* 80232434 0022F394 38 80 FF FF */ li r4, -1
/* 80232438 0022F398 4B EE 46 15 */ bl __dt__10CModelDataFv
/* 8023243C 0022F39C 3C 60 80 3F */ lis r3, lbl_803E8050@ha
/* 80232440 0022F3A0 3C 80 50 41 */ lis r4, 0x50415254@ha
/* 80232444 0022F3A4 38 03 80 50 */ addi r0, r3, lbl_803E8050@l
/* 80232448 0022F3A8 38 61 00 38 */ addi r3, r1, 0x38
/* 8023244C 0022F3AC 90 1E 00 00 */ stw r0, 0(r30)
/* 80232450 0022F3B0 38 04 52 54 */ addi r0, r4, 0x50415254@l
/* 80232454 0022F3B4 38 A1 00 40 */ addi r5, r1, 0x40
/* 80232458 0022F3B8 A0 9A 00 00 */ lhz r4, 0(r26)
/* 8023245C 0022F3BC B0 9E 00 E8 */ sth r4, 0xe8(r30)
/* 80232460 0022F3C0 80 9F 00 08 */ lwz r4, 8(r31)
/* 80232464 0022F3C4 90 9E 00 EC */ stw r4, 0xec(r30)
/* 80232468 0022F3C8 88 9F 00 0C */ lbz r4, 0xc(r31)
/* 8023246C 0022F3CC 98 9E 00 F0 */ stb r4, 0xf0(r30)
/* 80232470 0022F3D0 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 80232474 0022F3D4 D0 1E 00 F4 */ stfs f0, 0xf4(r30)
/* 80232478 0022F3D8 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 8023247C 0022F3DC D0 1E 00 F8 */ stfs f0, 0xf8(r30)
/* 80232480 0022F3E0 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 80232484 0022F3E4 D0 1E 00 FC */ stfs f0, 0xfc(r30)
/* 80232488 0022F3E8 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 8023248C 0022F3EC D0 1E 01 00 */ stfs f0, 0x100(r30)
/* 80232490 0022F3F0 88 9F 00 20 */ lbz r4, 0x20(r31)
/* 80232494 0022F3F4 98 9E 01 04 */ stb r4, 0x104(r30)
/* 80232498 0022F3F8 80 DF 00 04 */ lwz r6, 4(r31)
/* 8023249C 0022F3FC 90 01 00 40 */ stw r0, 0x40(r1)
/* 802324A0 0022F400 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 802324A4 0022F404 90 C1 00 44 */ stw r6, 0x44(r1)
/* 802324A8 0022F408 81 84 00 00 */ lwz r12, 0(r4)
/* 802324AC 0022F40C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802324B0 0022F410 7D 89 03 A6 */ mtctr r12
/* 802324B4 0022F414 4E 80 04 21 */ bctrl
/* 802324B8 0022F418 38 7E 01 08 */ addi r3, r30, 0x108
/* 802324BC 0022F41C 38 81 00 38 */ addi r4, r1, 0x38
/* 802324C0 0022F420 48 10 E9 E9 */ bl __ct__6CTokenFRC6CToken
/* 802324C4 0022F424 38 61 00 38 */ addi r3, r1, 0x38
/* 802324C8 0022F428 38 80 FF FF */ li r4, -1
/* 802324CC 0022F42C 48 10 E9 75 */ bl __dt__6CTokenFv
/* 802324D0 0022F430 3C 60 80 3D */ lis r3, lbl_803D3468@ha
/* 802324D4 0022F434 3B 20 00 00 */ li r25, 0
/* 802324D8 0022F438 38 83 34 68 */ addi r4, r3, lbl_803D3468@l
/* 802324DC 0022F43C 38 A0 00 00 */ li r5, 0
/* 802324E0 0022F440 38 60 03 40 */ li r3, 0x340
/* 802324E4 0022F444 48 0E 33 89 */ bl __nw__FUlPCcPCc
/* 802324E8 0022F448 7C 7A 1B 79 */ or. r26, r3, r3
/* 802324EC 0022F44C 41 82 00 2C */ beq lbl_80232518
/* 802324F0 0022F450 38 61 00 30 */ addi r3, r1, 0x30
/* 802324F4 0022F454 38 9E 01 08 */ addi r4, r30, 0x108
/* 802324F8 0022F458 48 10 E9 B1 */ bl __ct__6CTokenFRC6CToken
/* 802324FC 0022F45C 7F 43 D3 78 */ mr r3, r26
/* 80232500 0022F460 38 81 00 30 */ addi r4, r1, 0x30
/* 80232504 0022F464 3B 20 00 01 */ li r25, 1
/* 80232508 0022F468 38 A0 00 00 */ li r5, 0
/* 8023250C 0022F46C 38 C0 00 01 */ li r6, 1
/* 80232510 0022F470 48 0E CE D1 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 80232514 0022F474 7C 7A 1B 78 */ mr r26, r3
lbl_80232518:
/* 80232518 0022F478 7F 20 07 75 */ extsb. r0, r25
/* 8023251C 0022F47C 93 5E 01 10 */ stw r26, 0x110(r30)
/* 80232520 0022F480 41 82 00 10 */ beq lbl_80232530
/* 80232524 0022F484 38 61 00 30 */ addi r3, r1, 0x30
/* 80232528 0022F488 38 80 00 00 */ li r4, 0
/* 8023252C 0022F48C 48 10 E9 15 */ bl __dt__6CTokenFv
lbl_80232530:
/* 80232530 0022F490 80 1F 00 00 */ lwz r0, 0(r31)
/* 80232534 0022F494 38 60 00 00 */ li r3, 0
/* 80232538 0022F498 C0 02 B6 A8 */ lfs f0, lbl_805AD3C8@sda21(r2)
/* 8023253C 0022F49C 3B A0 00 00 */ li r29, 0
/* 80232540 0022F4A0 90 1E 01 14 */ stw r0, 0x114(r30)
/* 80232544 0022F4A4 3B 80 00 00 */ li r28, 0
/* 80232548 0022F4A8 3B 60 00 00 */ li r27, 0
/* 8023254C 0022F4AC 3B 40 00 00 */ li r26, 0
/* 80232550 0022F4B0 80 1F 00 04 */ lwz r0, 4(r31)
/* 80232554 0022F4B4 90 1E 01 18 */ stw r0, 0x118(r30)
/* 80232558 0022F4B8 80 1F 00 08 */ lwz r0, 8(r31)
/* 8023255C 0022F4BC 90 1E 01 1C */ stw r0, 0x11c(r30)
/* 80232560 0022F4C0 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 80232564 0022F4C4 98 1E 01 20 */ stb r0, 0x120(r30)
/* 80232568 0022F4C8 C0 3F 00 10 */ lfs f1, 0x10(r31)
/* 8023256C 0022F4CC D0 3E 01 24 */ stfs f1, 0x124(r30)
/* 80232570 0022F4D0 C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 80232574 0022F4D4 D0 3E 01 28 */ stfs f1, 0x128(r30)
/* 80232578 0022F4D8 C0 3F 00 18 */ lfs f1, 0x18(r31)
/* 8023257C 0022F4DC D0 3E 01 2C */ stfs f1, 0x12c(r30)
/* 80232580 0022F4E0 C0 3F 00 1C */ lfs f1, 0x1c(r31)
/* 80232584 0022F4E4 D0 3E 01 30 */ stfs f1, 0x130(r30)
/* 80232588 0022F4E8 88 1F 00 20 */ lbz r0, 0x20(r31)
/* 8023258C 0022F4EC 98 1E 01 34 */ stb r0, 0x134(r30)
/* 80232590 0022F4F0 C0 3F 00 24 */ lfs f1, 0x24(r31)
/* 80232594 0022F4F4 D0 3E 01 38 */ stfs f1, 0x138(r30)
/* 80232598 0022F4F8 C0 3F 00 28 */ lfs f1, 0x28(r31)
/* 8023259C 0022F4FC D0 3E 01 3C */ stfs f1, 0x13c(r30)
/* 802325A0 0022F500 C0 3F 00 2C */ lfs f1, 0x2c(r31)
/* 802325A4 0022F504 D0 3E 01 40 */ stfs f1, 0x140(r30)
/* 802325A8 0022F508 C0 3F 00 30 */ lfs f1, 0x30(r31)
/* 802325AC 0022F50C D0 3E 01 44 */ stfs f1, 0x144(r30)
/* 802325B0 0022F510 80 1F 00 34 */ lwz r0, 0x34(r31)
/* 802325B4 0022F514 90 1E 01 48 */ stw r0, 0x148(r30)
/* 802325B8 0022F518 A0 1F 00 38 */ lhz r0, 0x38(r31)
/* 802325BC 0022F51C B0 1E 01 4C */ sth r0, 0x14c(r30)
/* 802325C0 0022F520 C0 3F 00 24 */ lfs f1, 0x24(r31)
/* 802325C4 0022F524 D0 3E 01 50 */ stfs f1, 0x150(r30)
/* 802325C8 0022F528 C0 3F 00 2C */ lfs f1, 0x2c(r31)
/* 802325CC 0022F52C D0 3E 01 54 */ stfs f1, 0x154(r30)
/* 802325D0 0022F530 D0 1E 01 58 */ stfs f0, 0x158(r30)
/* 802325D4 0022F534 D3 DE 01 5C */ stfs f30, 0x15c(r30)
/* 802325D8 0022F538 D3 FE 01 60 */ stfs f31, 0x160(r30)
/* 802325DC 0022F53C D0 1E 01 64 */ stfs f0, 0x164(r30)
/* 802325E0 0022F540 D0 1E 01 68 */ stfs f0, 0x168(r30)
/* 802325E4 0022F544 98 7E 01 6C */ stb r3, 0x16c(r30)
/* 802325E8 0022F548 98 7E 01 6D */ stb r3, 0x16d(r30)
/* 802325EC 0022F54C 90 7E 01 70 */ stw r3, 0x170(r30)
/* 802325F0 0022F550 80 9F 00 34 */ lwz r4, 0x34(r31)
/* 802325F4 0022F554 3C 04 00 01 */ addis r0, r4, 1
/* 802325F8 0022F558 28 00 FF FF */ cmplwi r0, 0xffff
/* 802325FC 0022F55C 41 82 00 68 */ beq lbl_80232664
/* 80232600 0022F560 3C 60 45 4C */ lis r3, 0x454C5343@ha
/* 80232604 0022F564 90 81 00 2C */ stw r4, 0x2c(r1)
/* 80232608 0022F568 38 03 53 43 */ addi r0, r3, 0x454C5343@l
/* 8023260C 0022F56C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80232610 0022F570 90 01 00 28 */ stw r0, 0x28(r1)
/* 80232614 0022F574 38 61 00 20 */ addi r3, r1, 0x20
/* 80232618 0022F578 38 A1 00 28 */ addi r5, r1, 0x28
/* 8023261C 0022F57C 81 84 00 00 */ lwz r12, 0(r4)
/* 80232620 0022F580 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80232624 0022F584 7D 89 03 A6 */ mtctr r12
/* 80232628 0022F588 4E 80 04 21 */ bctrl
/* 8023262C 0022F58C 38 61 00 18 */ addi r3, r1, 0x18
/* 80232630 0022F590 38 81 00 20 */ addi r4, r1, 0x20
/* 80232634 0022F594 3B A0 00 01 */ li r29, 1
/* 80232638 0022F598 48 10 E8 71 */ bl __ct__6CTokenFRC6CToken
/* 8023263C 0022F59C 38 00 00 01 */ li r0, 1
/* 80232640 0022F5A0 34 61 00 68 */ addic. r3, r1, 0x68
/* 80232644 0022F5A4 98 01 00 70 */ stb r0, 0x70(r1)
/* 80232648 0022F5A8 3B 80 00 01 */ li r28, 1
/* 8023264C 0022F5AC 41 82 00 0C */ beq lbl_80232658
/* 80232650 0022F5B0 38 81 00 18 */ addi r4, r1, 0x18
/* 80232654 0022F5B4 48 10 E8 55 */ bl __ct__6CTokenFRC6CToken
lbl_80232658:
/* 80232658 0022F5B8 38 81 00 68 */ addi r4, r1, 0x68
/* 8023265C 0022F5BC 3B 60 00 01 */ li r27, 1
/* 80232660 0022F5C0 48 00 00 10 */ b lbl_80232670
lbl_80232664:
/* 80232664 0022F5C4 98 61 00 64 */ stb r3, 0x64(r1)
/* 80232668 0022F5C8 38 81 00 5C */ addi r4, r1, 0x5c
/* 8023266C 0022F5CC 3B 40 00 01 */ li r26, 1
lbl_80232670:
/* 80232670 0022F5D0 88 04 00 08 */ lbz r0, 8(r4)
/* 80232674 0022F5D4 98 1E 09 7C */ stb r0, 0x97c(r30)
/* 80232678 0022F5D8 88 04 00 08 */ lbz r0, 8(r4)
/* 8023267C 0022F5DC 28 00 00 00 */ cmplwi r0, 0
/* 80232680 0022F5E0 41 82 00 10 */ beq lbl_80232690
/* 80232684 0022F5E4 34 7E 09 74 */ addic. r3, r30, 0x974
/* 80232688 0022F5E8 41 82 00 08 */ beq lbl_80232690
/* 8023268C 0022F5EC 48 10 E8 1D */ bl __ct__6CTokenFRC6CToken
lbl_80232690:
/* 80232690 0022F5F0 7F 40 07 75 */ extsb. r0, r26
/* 80232694 0022F5F4 41 82 00 28 */ beq lbl_802326BC
/* 80232698 0022F5F8 88 01 00 64 */ lbz r0, 0x64(r1)
/* 8023269C 0022F5FC 28 00 00 00 */ cmplwi r0, 0
/* 802326A0 0022F600 41 82 00 14 */ beq lbl_802326B4
/* 802326A4 0022F604 34 61 00 5C */ addic. r3, r1, 0x5c
/* 802326A8 0022F608 41 82 00 0C */ beq lbl_802326B4
/* 802326AC 0022F60C 38 80 00 00 */ li r4, 0
/* 802326B0 0022F610 48 10 E7 91 */ bl __dt__6CTokenFv
lbl_802326B4:
/* 802326B4 0022F614 38 00 00 00 */ li r0, 0
/* 802326B8 0022F618 98 01 00 64 */ stb r0, 0x64(r1)
lbl_802326BC:
/* 802326BC 0022F61C 7F 60 07 75 */ extsb. r0, r27
/* 802326C0 0022F620 41 82 00 28 */ beq lbl_802326E8
/* 802326C4 0022F624 88 01 00 70 */ lbz r0, 0x70(r1)
/* 802326C8 0022F628 28 00 00 00 */ cmplwi r0, 0
/* 802326CC 0022F62C 41 82 00 14 */ beq lbl_802326E0
/* 802326D0 0022F630 34 61 00 68 */ addic. r3, r1, 0x68
/* 802326D4 0022F634 41 82 00 0C */ beq lbl_802326E0
/* 802326D8 0022F638 38 80 00 00 */ li r4, 0
/* 802326DC 0022F63C 48 10 E7 65 */ bl __dt__6CTokenFv
lbl_802326E0:
/* 802326E0 0022F640 38 00 00 00 */ li r0, 0
/* 802326E4 0022F644 98 01 00 70 */ stb r0, 0x70(r1)
lbl_802326E8:
/* 802326E8 0022F648 7F 80 07 75 */ extsb. r0, r28
/* 802326EC 0022F64C 41 82 00 10 */ beq lbl_802326FC
/* 802326F0 0022F650 38 61 00 18 */ addi r3, r1, 0x18
/* 802326F4 0022F654 38 80 00 00 */ li r4, 0
/* 802326F8 0022F658 48 10 E7 49 */ bl __dt__6CTokenFv
lbl_802326FC:
/* 802326FC 0022F65C 7F A0 07 75 */ extsb. r0, r29
/* 80232700 0022F660 41 82 00 10 */ beq lbl_80232710
/* 80232704 0022F664 38 61 00 20 */ addi r3, r1, 0x20
/* 80232708 0022F668 38 80 FF FF */ li r4, -1
/* 8023270C 0022F66C 48 10 E7 35 */ bl __dt__6CTokenFv
lbl_80232710:
/* 80232710 0022F670 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80232714 0022F674 38 80 00 01 */ li r4, 1
/* 80232718 0022F678 B0 1E 09 80 */ sth r0, 0x980(r30)
/* 8023271C 0022F67C 80 7E 01 10 */ lwz r3, 0x110(r30)
/* 80232720 0022F680 81 83 00 00 */ lwz r12, 0(r3)
/* 80232724 0022F684 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80232728 0022F688 7D 89 03 A6 */ mtctr r12
/* 8023272C 0022F68C 4E 80 04 21 */ bctrl
/* 80232730 0022F690 83 5E 01 10 */ lwz r26, 0x110(r30)
/* 80232734 0022F694 38 61 00 74 */ addi r3, r1, 0x74
/* 80232738 0022F698 38 9E 00 34 */ addi r4, r30, 0x34
/* 8023273C 0022F69C 48 0E 05 05 */ bl GetRotation__12CTransform4fCFv
/* 80232740 0022F6A0 7F 43 D3 78 */ mr r3, r26
/* 80232744 0022F6A4 38 81 00 74 */ addi r4, r1, 0x74
/* 80232748 0022F6A8 81 9A 00 00 */ lwz r12, 0(r26)
/* 8023274C 0022F6AC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80232750 0022F6B0 7D 89 03 A6 */ mtctr r12
/* 80232754 0022F6B4 4E 80 04 21 */ bctrl
/* 80232758 0022F6B8 C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 8023275C 0022F6BC 38 81 00 50 */ addi r4, r1, 0x50
/* 80232760 0022F6C0 C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 80232764 0022F6C4 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 80232768 0022F6C8 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 8023276C 0022F6CC D0 21 00 54 */ stfs f1, 0x54(r1)
/* 80232770 0022F6D0 D0 41 00 58 */ stfs f2, 0x58(r1)
/* 80232774 0022F6D4 80 7E 01 10 */ lwz r3, 0x110(r30)
/* 80232778 0022F6D8 81 83 00 00 */ lwz r12, 0(r3)
/* 8023277C 0022F6DC 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 80232780 0022F6E0 7D 89 03 A6 */ mtctr r12
/* 80232784 0022F6E4 4E 80 04 21 */ bctrl
/* 80232788 0022F6E8 88 1E 00 E6 */ lbz r0, 0xe6(r30)
/* 8023278C 0022F6EC 38 60 00 02 */ li r3, 2
/* 80232790 0022F6F0 50 60 1E F8 */ rlwimi r0, r3, 3, 0x1b, 0x1c
/* 80232794 0022F6F4 7F C3 F3 78 */ mr r3, r30
/* 80232798 0022F6F8 98 1E 00 E6 */ stb r0, 0xe6(r30)
/* 8023279C 0022F6FC E3 E1 01 98 */ psq_l f31, 408(r1), 0, qr0
/* 802327A0 0022F700 CB E1 01 90 */ lfd f31, 0x190(r1)
/* 802327A4 0022F704 E3 C1 01 88 */ psq_l f30, 392(r1), 0, qr0
/* 802327A8 0022F708 CB C1 01 80 */ lfd f30, 0x180(r1)
/* 802327AC 0022F70C BB 21 01 64 */ lmw r25, 0x164(r1)
/* 802327B0 0022F710 80 01 01 A4 */ lwz r0, 0x1a4(r1)
/* 802327B4 0022F714 7C 08 03 A6 */ mtlr r0
/* 802327B8 0022F718 38 21 01 A0 */ addi r1, r1, 0x1a0
/* 802327BC 0022F71C 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AD3C8
lbl_805AD3C8:
# ROM: 0x3F9C68
.4byte 0
.global lbl_805AD3CC
lbl_805AD3CC:
# ROM: 0x3F9C6C
.float 1.0
.global lbl_805AD3D0
lbl_805AD3D0:
# ROM: 0x3F9C70
.4byte 0x3DF5C290
.global lbl_805AD3D4
lbl_805AD3D4:
# ROM: 0x3F9C74
.4byte 0x3F6147AE
.global lbl_805AD3D8
lbl_805AD3D8:
# ROM: 0x3F9C78
.4byte 0x42200000
.global lbl_805AD3DC
lbl_805AD3DC:
# ROM: 0x3F9C7C
.4byte 0x3E887FCC
.global lbl_805AD3E0
lbl_805AD3E0:
# ROM: 0x3F9C80
.4byte 0x3E087FCC
.4byte 0
.section .rodata
.balign 8
.global lbl_803D3468
lbl_803D3468:
# ROM: 0x3D0468
.asciz "??(??)"
.byte 0x53
.asciz "hockWaveLight_"
.byte 0x56
.asciz "isorElectricFx"
.balign 4