prime/asm/MetroidPrime/Enemies/CSnakeWeedSwarm.s

3629 lines
175 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.balign 8
.global lbl_803E8578
lbl_803E8578:
# ROM: 0x3E5578
.4byte 0
.4byte 0
.4byte __dt__15CSnakeWeedSwarmFv
.4byte Accept__15CSnakeWeedSwarmFR8IVisitor
.4byte PreThink__7CEntityFfR13CStateManager
.4byte Think__15CSnakeWeedSwarmFfR13CStateManager
.4byte AcceptScriptMsg__15CSnakeWeedSwarmF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__6CActorFb
.4byte PreRender__15CSnakeWeedSwarmFR13CStateManagerRC14CFrustumPlanes
.4byte AddToRenderer__15CSnakeWeedSwarmCFRC14CFrustumPlanesRC13CStateManager
.4byte Render__6CActorCFRC13CStateManager
.4byte CanRenderUnsorted__6CActorCFRC13CStateManager
.4byte CalculateRenderBounds__6CActorFv
.4byte HealthInfo__6CActorFR13CStateManager
.4byte GetDamageVulnerability__6CActorCFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte GetTouchBounds__15CSnakeWeedSwarmCFv
.4byte Touch__15CSnakeWeedSwarmFR6CActorR13CStateManager
.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_805A8230
lbl_805A8230:
# ROM: 0x3F5BD0
.4byte 0x00000013
.global lbl_805A8234
lbl_805A8234:
# ROM: 0x3F5BD4
.4byte 0x00000022
.global lbl_805A8238
lbl_805A8238:
# ROM: 0x3F5BD8
.4byte 0x00000032
.global lbl_805A823C
lbl_805A823C:
# ROM: 0x3F5BDC
.4byte 0x00000013
.global lbl_805A8240
lbl_805A8240:
# ROM: 0x3F5BE0
.4byte 0
.global lbl_805A8244
lbl_805A8244:
# ROM: 0x3F5BE4
.4byte 0x00000013
.section .bss
.balign 8
.lcomm lbl_8046D360, 0x18, 4
.lcomm lbl_8046D378, 0x18, 4
.section .sbss, "wa"
.balign 8
.global lbl_805A90F0
lbl_805A90F0:
.skip 0x1
.global lbl_805A90F1
lbl_805A90F1:
.skip 0x7
.section .text, "ax"
.global __dt__15CSnakeWeedSwarmFv
__dt__15CSnakeWeedSwarmFv:
/* 8023B4DC 0023843C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8023B4E0 00238440 7C 08 02 A6 */ mflr r0
/* 8023B4E4 00238444 90 01 00 54 */ stw r0, 0x54(r1)
/* 8023B4E8 00238448 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8023B4EC 0023844C 7C 9F 23 78 */ mr r31, r4
/* 8023B4F0 00238450 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8023B4F4 00238454 7C 7E 1B 79 */ or. r30, r3, r3
/* 8023B4F8 00238458 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8023B4FC 0023845C 93 81 00 40 */ stw r28, 0x40(r1)
/* 8023B500 00238460 41 82 02 F0 */ beq lbl_8023B7F0
/* 8023B504 00238464 3C 60 80 3F */ lis r3, lbl_803E8578@ha
/* 8023B508 00238468 34 1E 01 F4 */ addic. r0, r30, 0x1f4
/* 8023B50C 0023846C 38 03 85 78 */ addi r0, r3, lbl_803E8578@l
/* 8023B510 00238470 90 1E 00 00 */ stw r0, 0(r30)
/* 8023B514 00238474 41 82 00 30 */ beq lbl_8023B544
/* 8023B518 00238478 88 1E 01 F4 */ lbz r0, 0x1f4(r30)
/* 8023B51C 0023847C 28 00 00 00 */ cmplwi r0, 0
/* 8023B520 00238480 41 82 00 24 */ beq lbl_8023B544
/* 8023B524 00238484 80 7E 01 F8 */ lwz r3, 0x1f8(r30)
/* 8023B528 00238488 28 03 00 00 */ cmplwi r3, 0
/* 8023B52C 0023848C 41 82 00 18 */ beq lbl_8023B544
/* 8023B530 00238490 81 83 00 00 */ lwz r12, 0(r3)
/* 8023B534 00238494 38 80 00 01 */ li r4, 1
/* 8023B538 00238498 81 8C 00 08 */ lwz r12, 8(r12)
/* 8023B53C 0023849C 7D 89 03 A6 */ mtctr r12
/* 8023B540 002384A0 4E 80 04 21 */ bctrl
lbl_8023B544:
/* 8023B544 002384A4 34 1E 01 EC */ addic. r0, r30, 0x1ec
/* 8023B548 002384A8 41 82 00 30 */ beq lbl_8023B578
/* 8023B54C 002384AC 88 1E 01 EC */ lbz r0, 0x1ec(r30)
/* 8023B550 002384B0 28 00 00 00 */ cmplwi r0, 0
/* 8023B554 002384B4 41 82 00 24 */ beq lbl_8023B578
/* 8023B558 002384B8 80 7E 01 F0 */ lwz r3, 0x1f0(r30)
/* 8023B55C 002384BC 28 03 00 00 */ cmplwi r3, 0
/* 8023B560 002384C0 41 82 00 18 */ beq lbl_8023B578
/* 8023B564 002384C4 81 83 00 00 */ lwz r12, 0(r3)
/* 8023B568 002384C8 38 80 00 01 */ li r4, 1
/* 8023B56C 002384CC 81 8C 00 08 */ lwz r12, 8(r12)
/* 8023B570 002384D0 7D 89 03 A6 */ mtctr r12
/* 8023B574 002384D4 4E 80 04 21 */ bctrl
lbl_8023B578:
/* 8023B578 002384D8 34 1E 01 E4 */ addic. r0, r30, 0x1e4
/* 8023B57C 002384DC 41 82 00 34 */ beq lbl_8023B5B0
/* 8023B580 002384E0 88 1E 01 E4 */ lbz r0, 0x1e4(r30)
/* 8023B584 002384E4 28 00 00 00 */ cmplwi r0, 0
/* 8023B588 002384E8 41 82 00 28 */ beq lbl_8023B5B0
/* 8023B58C 002384EC 83 BE 01 E8 */ lwz r29, 0x1e8(r30)
/* 8023B590 002384F0 28 1D 00 00 */ cmplwi r29, 0
/* 8023B594 002384F4 41 82 00 1C */ beq lbl_8023B5B0
/* 8023B598 002384F8 41 82 00 10 */ beq lbl_8023B5A8
/* 8023B59C 002384FC 7F A3 EB 78 */ mr r3, r29
/* 8023B5A0 00238500 38 80 00 00 */ li r4, 0
/* 8023B5A4 00238504 48 10 58 9D */ bl __dt__6CTokenFv
lbl_8023B5A8:
/* 8023B5A8 00238508 7F A3 EB 78 */ mr r3, r29
/* 8023B5AC 0023850C 48 0D A3 85 */ bl Free__7CMemoryFPCv
lbl_8023B5B0:
/* 8023B5B0 00238510 34 1E 01 DC */ addic. r0, r30, 0x1dc
/* 8023B5B4 00238514 41 82 00 34 */ beq lbl_8023B5E8
/* 8023B5B8 00238518 88 1E 01 DC */ lbz r0, 0x1dc(r30)
/* 8023B5BC 0023851C 28 00 00 00 */ cmplwi r0, 0
/* 8023B5C0 00238520 41 82 00 28 */ beq lbl_8023B5E8
/* 8023B5C4 00238524 83 BE 01 E0 */ lwz r29, 0x1e0(r30)
/* 8023B5C8 00238528 28 1D 00 00 */ cmplwi r29, 0
/* 8023B5CC 0023852C 41 82 00 1C */ beq lbl_8023B5E8
/* 8023B5D0 00238530 41 82 00 10 */ beq lbl_8023B5E0
/* 8023B5D4 00238534 7F A3 EB 78 */ mr r3, r29
/* 8023B5D8 00238538 38 80 00 00 */ li r4, 0
/* 8023B5DC 0023853C 48 10 58 65 */ bl __dt__6CTokenFv
lbl_8023B5E0:
/* 8023B5E0 00238540 7F A3 EB 78 */ mr r3, r29
/* 8023B5E4 00238544 48 0D A3 4D */ bl Free__7CMemoryFPCv
lbl_8023B5E8:
/* 8023B5E8 00238548 34 1E 01 CC */ addic. r0, r30, 0x1cc
/* 8023B5EC 0023854C 41 82 00 58 */ beq lbl_8023B644
/* 8023B5F0 00238550 83 BE 01 CC */ lwz r29, 0x1cc(r30)
/* 8023B5F4 00238554 28 1D 00 00 */ cmplwi r29, 0
/* 8023B5F8 00238558 41 82 00 4C */ beq lbl_8023B644
/* 8023B5FC 0023855C 80 1D 00 04 */ lwz r0, 4(r29)
/* 8023B600 00238560 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8023B604 00238564 54 00 10 3A */ slwi r0, r0, 2
/* 8023B608 00238568 7C 03 02 14 */ add r0, r3, r0
/* 8023B60C 0023856C 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8023B610 00238570 7C 64 1B 78 */ mr r4, r3
/* 8023B614 00238574 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023B618 00238578 90 01 00 20 */ stw r0, 0x20(r1)
/* 8023B61C 0023857C 90 61 00 18 */ stw r3, 0x18(r1)
/* 8023B620 00238580 48 00 00 08 */ b lbl_8023B628
lbl_8023B624:
/* 8023B624 00238584 38 84 00 04 */ addi r4, r4, 4
lbl_8023B628:
/* 8023B628 00238588 7C 04 00 40 */ cmplw r4, r0
/* 8023B62C 0023858C 40 82 FF F8 */ bne lbl_8023B624
/* 8023B630 00238590 28 03 00 00 */ cmplwi r3, 0
/* 8023B634 00238594 41 82 00 08 */ beq lbl_8023B63C
/* 8023B638 00238598 48 0D A2 F9 */ bl Free__7CMemoryFPCv
lbl_8023B63C:
/* 8023B63C 0023859C 7F A3 EB 78 */ mr r3, r29
/* 8023B640 002385A0 48 0D A2 F1 */ bl Free__7CMemoryFPCv
lbl_8023B644:
/* 8023B644 002385A4 34 1E 01 C8 */ addic. r0, r30, 0x1c8
/* 8023B648 002385A8 41 82 00 58 */ beq lbl_8023B6A0
/* 8023B64C 002385AC 83 BE 01 C8 */ lwz r29, 0x1c8(r30)
/* 8023B650 002385B0 28 1D 00 00 */ cmplwi r29, 0
/* 8023B654 002385B4 41 82 00 4C */ beq lbl_8023B6A0
/* 8023B658 002385B8 80 1D 00 04 */ lwz r0, 4(r29)
/* 8023B65C 002385BC 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8023B660 002385C0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8023B664 002385C4 90 61 00 0C */ stw r3, 0xc(r1)
/* 8023B668 002385C8 7C 64 1B 78 */ mr r4, r3
/* 8023B66C 002385CC 7C 03 02 14 */ add r0, r3, r0
/* 8023B670 002385D0 90 61 00 08 */ stw r3, 8(r1)
/* 8023B674 002385D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023B678 002385D8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8023B67C 002385DC 48 00 00 08 */ b lbl_8023B684
lbl_8023B680:
/* 8023B680 002385E0 38 84 00 0C */ addi r4, r4, 0xc
lbl_8023B684:
/* 8023B684 002385E4 7C 04 00 40 */ cmplw r4, r0
/* 8023B688 002385E8 40 82 FF F8 */ bne lbl_8023B680
/* 8023B68C 002385EC 28 03 00 00 */ cmplwi r3, 0
/* 8023B690 002385F0 41 82 00 08 */ beq lbl_8023B698
/* 8023B694 002385F4 48 0D A2 9D */ bl Free__7CMemoryFPCv
lbl_8023B698:
/* 8023B698 002385F8 7F A3 EB 78 */ mr r3, r29
/* 8023B69C 002385FC 48 0D A2 95 */ bl Free__7CMemoryFPCv
lbl_8023B6A0:
/* 8023B6A0 00238600 34 1E 01 B0 */ addic. r0, r30, 0x1b0
/* 8023B6A4 00238604 41 82 00 40 */ beq lbl_8023B6E4
/* 8023B6A8 00238608 3B 9E 01 B4 */ addi r28, r30, 0x1b4
/* 8023B6AC 0023860C 3B A0 00 00 */ li r29, 0
/* 8023B6B0 00238610 48 00 00 20 */ b lbl_8023B6D0
lbl_8023B6B4:
/* 8023B6B4 00238614 28 1C 00 00 */ cmplwi r28, 0
/* 8023B6B8 00238618 41 82 00 10 */ beq lbl_8023B6C8
/* 8023B6BC 0023861C 41 82 00 0C */ beq lbl_8023B6C8
/* 8023B6C0 00238620 7F 83 E3 78 */ mr r3, r28
/* 8023B6C4 00238624 4B F9 7C 9D */ bl sub_801d3360
lbl_8023B6C8:
/* 8023B6C8 00238628 3B 9C 00 04 */ addi r28, r28, 4
/* 8023B6CC 0023862C 3B BD 00 01 */ addi r29, r29, 1
lbl_8023B6D0:
/* 8023B6D0 00238630 80 1E 01 B0 */ lwz r0, 0x1b0(r30)
/* 8023B6D4 00238634 7C 1D 00 00 */ cmpw r29, r0
/* 8023B6D8 00238638 41 80 FF DC */ blt lbl_8023B6B4
/* 8023B6DC 0023863C 38 00 00 00 */ li r0, 0
/* 8023B6E0 00238640 90 1E 01 B0 */ stw r0, 0x1b0(r30)
lbl_8023B6E4:
/* 8023B6E4 00238644 34 1E 01 9C */ addic. r0, r30, 0x19c
/* 8023B6E8 00238648 41 82 00 58 */ beq lbl_8023B740
/* 8023B6EC 0023864C 80 BE 01 9C */ lwz r5, 0x19c(r30)
/* 8023B6F0 00238650 38 60 00 00 */ li r3, 0
/* 8023B6F4 00238654 2C 05 00 00 */ cmpwi r5, 0
/* 8023B6F8 00238658 40 81 00 40 */ ble lbl_8023B738
/* 8023B6FC 0023865C 2C 05 00 08 */ cmpwi r5, 8
/* 8023B700 00238660 38 85 FF F8 */ addi r4, r5, -8
/* 8023B704 00238664 40 81 00 20 */ ble lbl_8023B724
/* 8023B708 00238668 38 04 00 07 */ addi r0, r4, 7
/* 8023B70C 0023866C 54 00 E8 FE */ srwi r0, r0, 3
/* 8023B710 00238670 7C 09 03 A6 */ mtctr r0
/* 8023B714 00238674 2C 04 00 00 */ cmpwi r4, 0
/* 8023B718 00238678 40 81 00 0C */ ble lbl_8023B724
lbl_8023B71C:
/* 8023B71C 0023867C 38 63 00 08 */ addi r3, r3, 8
/* 8023B720 00238680 42 00 FF FC */ bdnz lbl_8023B71C
lbl_8023B724:
/* 8023B724 00238684 7C 03 28 50 */ subf r0, r3, r5
/* 8023B728 00238688 7C 09 03 A6 */ mtctr r0
/* 8023B72C 0023868C 7C 03 28 00 */ cmpw r3, r5
/* 8023B730 00238690 40 80 00 08 */ bge lbl_8023B738
lbl_8023B734:
/* 8023B734 00238694 42 00 00 00 */ bdnz lbl_8023B734
lbl_8023B738:
/* 8023B738 00238698 38 00 00 00 */ li r0, 0
/* 8023B73C 0023869C 90 1E 01 9C */ stw r0, 0x19c(r30)
lbl_8023B740:
/* 8023B740 002386A0 34 1E 01 78 */ addic. r0, r30, 0x178
/* 8023B744 002386A4 41 82 00 48 */ beq lbl_8023B78C
/* 8023B748 002386A8 3B 9E 01 7C */ addi r28, r30, 0x17c
/* 8023B74C 002386AC 3B A0 00 00 */ li r29, 0
/* 8023B750 002386B0 48 00 00 28 */ b lbl_8023B778
lbl_8023B754:
/* 8023B754 002386B4 28 1C 00 00 */ cmplwi r28, 0
/* 8023B758 002386B8 41 82 00 18 */ beq lbl_8023B770
/* 8023B75C 002386BC 88 1C 00 00 */ lbz r0, 0(r28)
/* 8023B760 002386C0 28 00 00 00 */ cmplwi r0, 0
/* 8023B764 002386C4 41 82 00 0C */ beq lbl_8023B770
/* 8023B768 002386C8 80 7C 00 04 */ lwz r3, 4(r28)
/* 8023B76C 002386CC 48 0D A1 C5 */ bl Free__7CMemoryFPCv
lbl_8023B770:
/* 8023B770 002386D0 3B 9C 00 08 */ addi r28, r28, 8
/* 8023B774 002386D4 3B BD 00 01 */ addi r29, r29, 1
lbl_8023B778:
/* 8023B778 002386D8 80 1E 01 78 */ lwz r0, 0x178(r30)
/* 8023B77C 002386DC 7C 1D 00 00 */ cmpw r29, r0
/* 8023B780 002386E0 41 80 FF D4 */ blt lbl_8023B754
/* 8023B784 002386E4 38 00 00 00 */ li r0, 0
/* 8023B788 002386E8 90 1E 01 78 */ stw r0, 0x178(r30)
lbl_8023B78C:
/* 8023B78C 002386EC 34 1E 01 30 */ addic. r0, r30, 0x130
/* 8023B790 002386F0 41 82 00 44 */ beq lbl_8023B7D4
/* 8023B794 002386F4 80 1E 01 34 */ lwz r0, 0x134(r30)
/* 8023B798 002386F8 80 7E 01 3C */ lwz r3, 0x13c(r30)
/* 8023B79C 002386FC 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8023B7A0 00238700 90 61 00 2C */ stw r3, 0x2c(r1)
/* 8023B7A4 00238704 7C 64 1B 78 */ mr r4, r3
/* 8023B7A8 00238708 7C 03 02 14 */ add r0, r3, r0
/* 8023B7AC 0023870C 90 61 00 28 */ stw r3, 0x28(r1)
/* 8023B7B0 00238710 90 01 00 34 */ stw r0, 0x34(r1)
/* 8023B7B4 00238714 90 01 00 30 */ stw r0, 0x30(r1)
/* 8023B7B8 00238718 48 00 00 08 */ b lbl_8023B7C0
lbl_8023B7BC:
/* 8023B7BC 0023871C 38 84 00 24 */ addi r4, r4, 0x24
lbl_8023B7C0:
/* 8023B7C0 00238720 7C 04 00 40 */ cmplw r4, r0
/* 8023B7C4 00238724 40 82 FF F8 */ bne lbl_8023B7BC
/* 8023B7C8 00238728 28 03 00 00 */ cmplwi r3, 0
/* 8023B7CC 0023872C 41 82 00 08 */ beq lbl_8023B7D4
/* 8023B7D0 00238730 48 0D A1 61 */ bl Free__7CMemoryFPCv
lbl_8023B7D4:
/* 8023B7D4 00238734 7F C3 F3 78 */ mr r3, r30
/* 8023B7D8 00238738 38 80 00 00 */ li r4, 0
/* 8023B7DC 0023873C 4B E1 9F 15 */ bl __dt__6CActorFv
/* 8023B7E0 00238740 7F E0 07 35 */ extsh. r0, r31
/* 8023B7E4 00238744 40 81 00 0C */ ble lbl_8023B7F0
/* 8023B7E8 00238748 7F C3 F3 78 */ mr r3, r30
/* 8023B7EC 0023874C 48 0D A1 45 */ bl Free__7CMemoryFPCv
lbl_8023B7F0:
/* 8023B7F0 00238750 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8023B7F4 00238754 7F C3 F3 78 */ mr r3, r30
/* 8023B7F8 00238758 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8023B7FC 0023875C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8023B800 00238760 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 8023B804 00238764 83 81 00 40 */ lwz r28, 0x40(r1)
/* 8023B808 00238768 7C 08 03 A6 */ mtlr r0
/* 8023B80C 0023876C 38 21 00 50 */ addi r1, r1, 0x50
/* 8023B810 00238770 4E 80 00 20 */ blr
.global sub_8023b814
sub_8023b814:
/* 8023B814 00238774 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023B818 00238778 7C 08 02 A6 */ mflr r0
/* 8023B81C 0023877C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023B820 00238780 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023B824 00238784 7C 9F 23 78 */ mr r31, r4
/* 8023B828 00238788 93 C1 00 08 */ stw r30, 8(r1)
/* 8023B82C 0023878C 7C 7E 1B 78 */ mr r30, r3
/* 8023B830 00238790 80 63 01 F0 */ lwz r3, 0x1f0(r3)
/* 8023B834 00238794 28 03 00 00 */ cmplwi r3, 0
/* 8023B838 00238798 41 82 00 54 */ beq lbl_8023B88C
/* 8023B83C 0023879C 81 83 00 00 */ lwz r12, 0(r3)
/* 8023B840 002387A0 38 80 00 01 */ li r4, 1
/* 8023B844 002387A4 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8023B848 002387A8 7D 89 03 A6 */ mtctr r12
/* 8023B84C 002387AC 4E 80 04 21 */ bctrl
/* 8023B850 002387B0 80 7E 01 F0 */ lwz r3, 0x1f0(r30)
/* 8023B854 002387B4 7F E4 FB 78 */ mr r4, r31
/* 8023B858 002387B8 81 83 00 00 */ lwz r12, 0(r3)
/* 8023B85C 002387BC 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8023B860 002387C0 7D 89 03 A6 */ mtctr r12
/* 8023B864 002387C4 4E 80 04 21 */ bctrl
/* 8023B868 002387C8 80 7E 01 F0 */ lwz r3, 0x1f0(r30)
/* 8023B86C 002387CC 80 9E 01 FC */ lwz r4, 0x1fc(r30)
/* 8023B870 002387D0 48 0E 10 51 */ bl ForceParticleCreation__11CElementGenFi
/* 8023B874 002387D4 80 7E 01 F0 */ lwz r3, 0x1f0(r30)
/* 8023B878 002387D8 38 80 00 00 */ li r4, 0
/* 8023B87C 002387DC 81 83 00 00 */ lwz r12, 0(r3)
/* 8023B880 002387E0 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8023B884 002387E4 7D 89 03 A6 */ mtctr r12
/* 8023B888 002387E8 4E 80 04 21 */ bctrl
lbl_8023B88C:
/* 8023B88C 002387EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023B890 002387F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023B894 002387F4 83 C1 00 08 */ lwz r30, 8(r1)
/* 8023B898 002387F8 7C 08 03 A6 */ mtlr r0
/* 8023B89C 002387FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8023B8A0 00238800 4E 80 00 20 */ blr
.global sub_8023b8a4
sub_8023b8a4:
/* 8023B8A4 00238804 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023B8A8 00238808 7C 08 02 A6 */ mflr r0
/* 8023B8AC 0023880C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023B8B0 00238810 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8023B8B4 00238814 7C 9F 23 78 */ mr r31, r4
/* 8023B8B8 00238818 93 C1 00 08 */ stw r30, 8(r1)
/* 8023B8BC 0023881C 7C 7E 1B 78 */ mr r30, r3
/* 8023B8C0 00238820 80 63 01 F8 */ lwz r3, 0x1f8(r3)
/* 8023B8C4 00238824 28 03 00 00 */ cmplwi r3, 0
/* 8023B8C8 00238828 41 82 00 54 */ beq lbl_8023B91C
/* 8023B8CC 0023882C 81 83 00 00 */ lwz r12, 0(r3)
/* 8023B8D0 00238830 38 80 00 01 */ li r4, 1
/* 8023B8D4 00238834 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8023B8D8 00238838 7D 89 03 A6 */ mtctr r12
/* 8023B8DC 0023883C 4E 80 04 21 */ bctrl
/* 8023B8E0 00238840 80 7E 01 F8 */ lwz r3, 0x1f8(r30)
/* 8023B8E4 00238844 7F E4 FB 78 */ mr r4, r31
/* 8023B8E8 00238848 81 83 00 00 */ lwz r12, 0(r3)
/* 8023B8EC 0023884C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8023B8F0 00238850 7D 89 03 A6 */ mtctr r12
/* 8023B8F4 00238854 4E 80 04 21 */ bctrl
/* 8023B8F8 00238858 80 7E 01 F8 */ lwz r3, 0x1f8(r30)
/* 8023B8FC 0023885C 38 80 00 01 */ li r4, 1
/* 8023B900 00238860 48 0E 0F C1 */ bl ForceParticleCreation__11CElementGenFi
/* 8023B904 00238864 80 7E 01 F8 */ lwz r3, 0x1f8(r30)
/* 8023B908 00238868 38 80 00 00 */ li r4, 0
/* 8023B90C 0023886C 81 83 00 00 */ lwz r12, 0(r3)
/* 8023B910 00238870 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8023B914 00238874 7D 89 03 A6 */ mtctr r12
/* 8023B918 00238878 4E 80 04 21 */ bctrl
lbl_8023B91C:
/* 8023B91C 0023887C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023B920 00238880 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8023B924 00238884 83 C1 00 08 */ lwz r30, 8(r1)
/* 8023B928 00238888 7C 08 03 A6 */ mtlr r0
/* 8023B92C 0023888C 38 21 00 10 */ addi r1, r1, 0x10
/* 8023B930 00238890 4E 80 00 20 */ blr
.global sub_8023b934
sub_8023b934:
/* 8023B934 00238894 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 8023B938 00238898 7C 08 02 A6 */ mflr r0
/* 8023B93C 0023889C 90 01 01 04 */ stw r0, 0x104(r1)
/* 8023B940 002388A0 DB E1 00 F0 */ stfd f31, 0xf0(r1)
/* 8023B944 002388A4 F3 E1 00 F8 */ psq_st f31, 248(r1), 0, qr0
/* 8023B948 002388A8 DB C1 00 E0 */ stfd f30, 0xe0(r1)
/* 8023B94C 002388AC F3 C1 00 E8 */ psq_st f30, 232(r1), 0, qr0
/* 8023B950 002388B0 93 E1 00 DC */ stw r31, 0xdc(r1)
/* 8023B954 002388B4 93 C1 00 D8 */ stw r30, 0xd8(r1)
/* 8023B958 002388B8 93 A1 00 D4 */ stw r29, 0xd4(r1)
/* 8023B95C 002388BC 88 0D A5 31 */ lbz r0, lbl_805A90F1@sda21(r13)
/* 8023B960 002388C0 7C 7F 1B 78 */ mr r31, r3
/* 8023B964 002388C4 7C 9D 23 78 */ mr r29, r4
/* 8023B968 002388C8 7C BE 2B 78 */ mr r30, r5
/* 8023B96C 002388CC 7C 00 07 75 */ extsb. r0, r0
/* 8023B970 002388D0 40 82 00 40 */ bne lbl_8023B9B0
/* 8023B974 002388D4 80 AD 96 84 */ lwz r5, lbl_805A8244@sda21(r13)
/* 8023B978 002388D8 38 60 00 00 */ li r3, 0
/* 8023B97C 002388DC 38 80 00 01 */ li r4, 1
/* 8023B980 002388E0 48 14 E5 75 */ bl __shl2i
/* 8023B984 002388E4 3C A0 80 47 */ lis r5, lbl_8046D378@ha
/* 8023B988 002388E8 38 C0 00 01 */ li r6, 1
/* 8023B98C 002388EC 38 A5 D3 78 */ addi r5, r5, lbl_8046D378@l
/* 8023B990 002388F0 38 00 00 00 */ li r0, 0
/* 8023B994 002388F4 90 C1 00 40 */ stw r6, 0x40(r1)
/* 8023B998 002388F8 90 85 00 04 */ stw r4, 4(r5)
/* 8023B99C 002388FC 90 65 00 00 */ stw r3, 0(r5)
/* 8023B9A0 00238900 90 05 00 0C */ stw r0, 0xc(r5)
/* 8023B9A4 00238904 90 05 00 08 */ stw r0, 8(r5)
/* 8023B9A8 00238908 90 C5 00 10 */ stw r6, 0x10(r5)
/* 8023B9AC 0023890C 98 CD A5 31 */ stb r6, lbl_805A90F1@sda21(r13)
lbl_8023B9B0:
/* 8023B9B0 00238910 C3 DF 00 F8 */ lfs f30, 0xf8(r31)
/* 8023B9B4 00238914 7F E3 FB 78 */ mr r3, r31
/* 8023B9B8 00238918 7F A4 EB 78 */ mr r4, r29
/* 8023B9BC 0023891C 48 00 02 0D */ bl sub_8023bbc8
/* 8023B9C0 00238920 FF E0 08 90 */ fmr f31, f1
/* 8023B9C4 00238924 7F E3 FB 78 */ mr r3, r31
/* 8023B9C8 00238928 7F A4 EB 78 */ mr r4, r29
/* 8023B9CC 0023892C 48 00 02 6D */ bl sub_8023bc38
/* 8023B9D0 00238930 C0 5D 00 04 */ lfs f2, 4(r29)
/* 8023B9D4 00238934 3C 60 80 47 */ lis r3, lbl_8046D378@ha
/* 8023B9D8 00238938 C0 7D 00 08 */ lfs f3, 8(r29)
/* 8023B9DC 0023893C 38 E3 D3 78 */ addi r7, r3, lbl_8046D378@l
/* 8023B9E0 00238940 EC A2 F8 2A */ fadds f5, f2, f31
/* 8023B9E4 00238944 C0 1D 00 00 */ lfs f0, 0(r29)
/* 8023B9E8 00238948 EC 83 F0 2A */ fadds f4, f3, f30
/* 8023B9EC 0023894C C0 42 B7 68 */ lfs f2, lbl_805AD488@sda21(r2)
/* 8023B9F0 00238950 EC 60 08 2A */ fadds f3, f0, f1
/* 8023B9F4 00238954 C0 02 B7 6C */ lfs f0, lbl_805AD48C@sda21(r2)
/* 8023B9F8 00238958 D0 A1 00 24 */ stfs f5, 0x24(r1)
/* 8023B9FC 0023895C 7F C4 F3 78 */ mr r4, r30
/* 8023BA00 00238960 C0 22 B7 70 */ lfs f1, lbl_805AD490@sda21(r2)
/* 8023BA04 00238964 38 61 00 48 */ addi r3, r1, 0x48
/* 8023BA08 00238968 D0 61 00 20 */ stfs f3, 0x20(r1)
/* 8023BA0C 0023896C 38 A1 00 20 */ addi r5, r1, 0x20
/* 8023BA10 00238970 38 C1 00 14 */ addi r6, r1, 0x14
/* 8023BA14 00238974 D0 81 00 28 */ stfs f4, 0x28(r1)
/* 8023BA18 00238978 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 8023BA1C 0023897C D0 41 00 18 */ stfs f2, 0x18(r1)
/* 8023BA20 00238980 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8023BA24 00238984 C0 1F 00 F8 */ lfs f0, 0xf8(r31)
/* 8023BA28 00238988 EC 21 00 32 */ fmuls f1, f1, f0
/* 8023BA2C 0023898C 4B E1 15 6D */ bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter
/* 8023BA30 00238990 88 81 00 68 */ lbz r4, 0x68(r1)
/* 8023BA34 00238994 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 8023BA38 00238998 C1 01 00 4C */ lfs f8, 0x4c(r1)
/* 8023BA3C 0023899C 28 04 00 00 */ cmplwi r4, 0
/* 8023BA40 002389A0 C0 E1 00 50 */ lfs f7, 0x50(r1)
/* 8023BA44 002389A4 C0 C1 00 54 */ lfs f6, 0x54(r1)
/* 8023BA48 002389A8 C0 A1 00 58 */ lfs f5, 0x58(r1)
/* 8023BA4C 002389AC C0 21 00 5C */ lfs f1, 0x5c(r1)
/* 8023BA50 002389B0 C0 81 00 60 */ lfs f4, 0x60(r1)
/* 8023BA54 002389B4 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 8023BA58 002389B8 80 01 00 70 */ lwz r0, 0x70(r1)
/* 8023BA5C 002389BC 80 61 00 74 */ lwz r3, 0x74(r1)
/* 8023BA60 002389C0 D0 41 00 A0 */ stfs f2, 0xa0(r1)
/* 8023BA64 002389C4 D1 01 00 A4 */ stfs f8, 0xa4(r1)
/* 8023BA68 002389C8 D0 E1 00 A8 */ stfs f7, 0xa8(r1)
/* 8023BA6C 002389CC D0 C1 00 AC */ stfs f6, 0xac(r1)
/* 8023BA70 002389D0 D0 A1 00 B0 */ stfs f5, 0xb0(r1)
/* 8023BA74 002389D4 D0 21 00 B4 */ stfs f1, 0xb4(r1)
/* 8023BA78 002389D8 D0 81 00 B8 */ stfs f4, 0xb8(r1)
/* 8023BA7C 002389DC D0 01 00 BC */ stfs f0, 0xbc(r1)
/* 8023BA80 002389E0 98 81 00 C0 */ stb r4, 0xc0(r1)
/* 8023BA84 002389E4 90 61 00 CC */ stw r3, 0xcc(r1)
/* 8023BA88 002389E8 90 01 00 C8 */ stw r0, 0xc8(r1)
/* 8023BA8C 002389EC 41 82 01 0C */ beq lbl_8023BB98
/* 8023BA90 002389F0 C0 42 B7 68 */ lfs f2, lbl_805AD488@sda21(r2)
/* 8023BA94 002389F4 C0 62 B7 74 */ lfs f3, lbl_805AD494@sda21(r2)
/* 8023BA98 002389F8 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8023BA9C 002389FC C0 1F 01 1C */ lfs f0, 0x11c(r31)
/* 8023BAA0 00238A00 EC 25 08 BA */ fmadds f1, f5, f2, f1
/* 8023BAA4 00238A04 EC 24 08 FA */ fmadds f1, f4, f3, f1
/* 8023BAA8 00238A08 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8023BAAC 00238A0C 40 81 00 EC */ ble lbl_8023BB98
/* 8023BAB0 00238A10 C0 3F 01 28 */ lfs f1, 0x128(r31)
/* 8023BAB4 00238A14 EC 67 10 28 */ fsubs f3, f7, f2
/* 8023BAB8 00238A18 EC 08 10 28 */ fsubs f0, f8, f2
/* 8023BABC 00238A1C EC 26 08 28 */ fsubs f1, f6, f1
/* 8023BAC0 00238A20 D0 61 00 0C */ stfs f3, 0xc(r1)
/* 8023BAC4 00238A24 D0 01 00 08 */ stfs f0, 8(r1)
/* 8023BAC8 00238A28 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 8023BACC 00238A2C C3 DF 01 20 */ lfs f30, 0x120(r31)
/* 8023BAD0 00238A30 80 7E 09 00 */ lwz r3, 0x900(r30)
/* 8023BAD4 00238A34 48 0D 6A 09 */ bl Float__9CRandom16Fv
/* 8023BAD8 00238A38 C0 1F 01 24 */ lfs f0, 0x124(r31)
/* 8023BADC 00238A3C 38 61 00 78 */ addi r3, r1, 0x78
/* 8023BAE0 00238A40 C0 5F 01 14 */ lfs f2, 0x114(r31)
/* 8023BAE4 00238A44 38 81 00 08 */ addi r4, r1, 8
/* 8023BAE8 00238A48 EC 60 F0 28 */ fsubs f3, f0, f30
/* 8023BAEC 00238A4C C0 1F 01 18 */ lfs f0, 0x118(r31)
/* 8023BAF0 00238A50 EC 42 00 2A */ fadds f2, f2, f0
/* 8023BAF4 00238A54 EC 63 F0 7A */ fmadds f3, f3, f1, f30
/* 8023BAF8 00238A58 C0 3F 01 10 */ lfs f1, 0x110(r31)
/* 8023BAFC 00238A5C 48 00 28 B5 */ bl sub_8023e3b0
/* 8023BB00 00238A60 80 1F 01 34 */ lwz r0, 0x134(r31)
/* 8023BB04 00238A64 80 BF 01 38 */ lwz r5, 0x138(r31)
/* 8023BB08 00238A68 7C 00 28 00 */ cmpw r0, r5
/* 8023BB0C 00238A6C 41 80 00 1C */ blt lbl_8023BB28
/* 8023BB10 00238A70 2C 05 00 00 */ cmpwi r5, 0
/* 8023BB14 00238A74 38 7F 01 30 */ addi r3, r31, 0x130
/* 8023BB18 00238A78 38 80 00 04 */ li r4, 4
/* 8023BB1C 00238A7C 41 82 00 08 */ beq lbl_8023BB24
/* 8023BB20 00238A80 54 A4 08 3C */ slwi r4, r5, 1
lbl_8023BB24:
/* 8023BB24 00238A84 48 00 28 BD */ bl sub_8023e3e0
lbl_8023BB28:
/* 8023BB28 00238A88 80 1F 01 34 */ lwz r0, 0x134(r31)
/* 8023BB2C 00238A8C 80 7F 01 3C */ lwz r3, 0x13c(r31)
/* 8023BB30 00238A90 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8023BB34 00238A94 7C 63 02 15 */ add. r3, r3, r0
/* 8023BB38 00238A98 41 82 00 4C */ beq lbl_8023BB84
/* 8023BB3C 00238A9C C0 01 00 78 */ lfs f0, 0x78(r1)
/* 8023BB40 00238AA0 D0 03 00 00 */ stfs f0, 0(r3)
/* 8023BB44 00238AA4 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 8023BB48 00238AA8 D0 03 00 04 */ stfs f0, 4(r3)
/* 8023BB4C 00238AAC C0 01 00 80 */ lfs f0, 0x80(r1)
/* 8023BB50 00238AB0 D0 03 00 08 */ stfs f0, 8(r3)
/* 8023BB54 00238AB4 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8023BB58 00238AB8 90 03 00 0C */ stw r0, 0xc(r3)
/* 8023BB5C 00238ABC C0 01 00 88 */ lfs f0, 0x88(r1)
/* 8023BB60 00238AC0 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8023BB64 00238AC4 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 8023BB68 00238AC8 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8023BB6C 00238ACC C0 01 00 90 */ lfs f0, 0x90(r1)
/* 8023BB70 00238AD0 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8023BB74 00238AD4 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 8023BB78 00238AD8 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 8023BB7C 00238ADC C0 01 00 98 */ lfs f0, 0x98(r1)
/* 8023BB80 00238AE0 D0 03 00 20 */ stfs f0, 0x20(r3)
lbl_8023BB84:
/* 8023BB84 00238AE4 80 9F 01 34 */ lwz r4, 0x134(r31)
/* 8023BB88 00238AE8 38 60 00 01 */ li r3, 1
/* 8023BB8C 00238AEC 38 04 00 01 */ addi r0, r4, 1
/* 8023BB90 00238AF0 90 1F 01 34 */ stw r0, 0x134(r31)
/* 8023BB94 00238AF4 48 00 00 08 */ b lbl_8023BB9C
lbl_8023BB98:
/* 8023BB98 00238AF8 38 60 00 00 */ li r3, 0
lbl_8023BB9C:
/* 8023BB9C 00238AFC E3 E1 00 F8 */ psq_l f31, 248(r1), 0, qr0
/* 8023BBA0 00238B00 CB E1 00 F0 */ lfd f31, 0xf0(r1)
/* 8023BBA4 00238B04 E3 C1 00 E8 */ psq_l f30, 232(r1), 0, qr0
/* 8023BBA8 00238B08 CB C1 00 E0 */ lfd f30, 0xe0(r1)
/* 8023BBAC 00238B0C 83 E1 00 DC */ lwz r31, 0xdc(r1)
/* 8023BBB0 00238B10 83 C1 00 D8 */ lwz r30, 0xd8(r1)
/* 8023BBB4 00238B14 80 01 01 04 */ lwz r0, 0x104(r1)
/* 8023BBB8 00238B18 83 A1 00 D4 */ lwz r29, 0xd4(r1)
/* 8023BBBC 00238B1C 7C 08 03 A6 */ mtlr r0
/* 8023BBC0 00238B20 38 21 01 00 */ addi r1, r1, 0x100
/* 8023BBC4 00238B24 4E 80 00 20 */ blr
.global sub_8023bbc8
sub_8023bbc8:
/* 8023BBC8 00238B28 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023BBCC 00238B2C 3C 00 43 30 */ lis r0, 0x4330
/* 8023BBD0 00238B30 C0 22 B7 7C */ lfs f1, lbl_805AD49C@sda21(r2)
/* 8023BBD4 00238B34 C0 04 00 00 */ lfs f0, 0(r4)
/* 8023BBD8 00238B38 C0 A2 B7 78 */ lfs f5, lbl_805AD498@sda21(r2)
/* 8023BBDC 00238B3C EC 00 00 32 */ fmuls f0, f0, f0
/* 8023BBE0 00238B40 C0 64 00 04 */ lfs f3, 4(r4)
/* 8023BBE4 00238B44 90 01 00 10 */ stw r0, 0x10(r1)
/* 8023BBE8 00238B48 C8 82 B7 80 */ lfd f4, lbl_805AD4A0@sda21(r2)
/* 8023BBEC 00238B4C EC 21 00 32 */ fmuls f1, f1, f0
/* 8023BBF0 00238B50 C0 42 B7 70 */ lfs f2, lbl_805AD490@sda21(r2)
/* 8023BBF4 00238B54 C0 02 B7 74 */ lfs f0, lbl_805AD494@sda21(r2)
/* 8023BBF8 00238B58 EC A5 08 FA */ fmadds f5, f5, f3, f1
/* 8023BBFC 00238B5C C0 63 00 FC */ lfs f3, 0xfc(r3)
/* 8023BC00 00238B60 FC 20 28 1E */ fctiwz f1, f5
/* 8023BC04 00238B64 D8 21 00 08 */ stfd f1, 8(r1)
/* 8023BC08 00238B68 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8023BC0C 00238B6C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8023BC10 00238B70 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023BC14 00238B74 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 8023BC18 00238B78 EC 21 20 28 */ fsubs f1, f1, f4
/* 8023BC1C 00238B7C EC 25 08 28 */ fsubs f1, f5, f1
/* 8023BC20 00238B80 FC 20 0A 10 */ fabs f1, f1
/* 8023BC24 00238B84 FC 20 08 18 */ frsp f1, f1
/* 8023BC28 00238B88 EC 02 00 78 */ fmsubs f0, f2, f1, f0
/* 8023BC2C 00238B8C EC 23 00 32 */ fmuls f1, f3, f0
/* 8023BC30 00238B90 38 21 00 20 */ addi r1, r1, 0x20
/* 8023BC34 00238B94 4E 80 00 20 */ blr
.global sub_8023bc38
sub_8023bc38:
/* 8023BC38 00238B98 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023BC3C 00238B9C 3C 00 43 30 */ lis r0, 0x4330
/* 8023BC40 00238BA0 C0 22 B7 8C */ lfs f1, lbl_805AD4AC@sda21(r2)
/* 8023BC44 00238BA4 C0 04 00 04 */ lfs f0, 4(r4)
/* 8023BC48 00238BA8 C0 A2 B7 88 */ lfs f5, lbl_805AD4A8@sda21(r2)
/* 8023BC4C 00238BAC EC 00 00 32 */ fmuls f0, f0, f0
/* 8023BC50 00238BB0 C0 64 00 00 */ lfs f3, 0(r4)
/* 8023BC54 00238BB4 90 01 00 10 */ stw r0, 0x10(r1)
/* 8023BC58 00238BB8 C8 82 B7 80 */ lfd f4, lbl_805AD4A0@sda21(r2)
/* 8023BC5C 00238BBC EC 21 00 32 */ fmuls f1, f1, f0
/* 8023BC60 00238BC0 C0 42 B7 70 */ lfs f2, lbl_805AD490@sda21(r2)
/* 8023BC64 00238BC4 C0 02 B7 74 */ lfs f0, lbl_805AD494@sda21(r2)
/* 8023BC68 00238BC8 EC A5 08 FA */ fmadds f5, f5, f3, f1
/* 8023BC6C 00238BCC C0 63 00 FC */ lfs f3, 0xfc(r3)
/* 8023BC70 00238BD0 FC 20 28 1E */ fctiwz f1, f5
/* 8023BC74 00238BD4 D8 21 00 08 */ stfd f1, 8(r1)
/* 8023BC78 00238BD8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8023BC7C 00238BDC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8023BC80 00238BE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023BC84 00238BE4 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 8023BC88 00238BE8 EC 21 20 28 */ fsubs f1, f1, f4
/* 8023BC8C 00238BEC EC 25 08 28 */ fsubs f1, f5, f1
/* 8023BC90 00238BF0 FC 20 0A 10 */ fabs f1, f1
/* 8023BC94 00238BF4 FC 20 08 18 */ frsp f1, f1
/* 8023BC98 00238BF8 EC 02 00 78 */ fmsubs f0, f2, f1, f0
/* 8023BC9C 00238BFC EC 23 00 32 */ fmuls f1, f3, f0
/* 8023BCA0 00238C00 38 21 00 20 */ addi r1, r1, 0x20
/* 8023BCA4 00238C04 4E 80 00 20 */ blr
.global sub_8023bca8
sub_8023bca8:
/* 8023BCA8 00238C08 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8023BCAC 00238C0C 7C 08 02 A6 */ mflr r0
/* 8023BCB0 00238C10 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8023BCB4 00238C14 BF 61 00 BC */ stmw r27, 0xbc(r1)
/* 8023BCB8 00238C18 7C 7B 1B 78 */ mr r27, r3
/* 8023BCBC 00238C1C 7C 9C 23 78 */ mr r28, r4
/* 8023BCC0 00238C20 7C BD 2B 78 */ mr r29, r5
/* 8023BCC4 00238C24 48 00 04 91 */ bl sub_8023c154
/* 8023BCC8 00238C28 7C 7F 1B 78 */ mr r31, r3
/* 8023BCCC 00238C2C 3B C0 00 00 */ li r30, 0
/* 8023BCD0 00238C30 48 00 01 F0 */ b lbl_8023BEC0
lbl_8023BCD4:
/* 8023BCD4 00238C34 80 A3 00 04 */ lwz r5, 4(r3)
/* 8023BCD8 00238C38 7F 64 DB 78 */ mr r4, r27
/* 8023BCDC 00238C3C 80 C3 00 0C */ lwz r6, 0xc(r3)
/* 8023BCE0 00238C40 38 61 00 28 */ addi r3, r1, 0x28
/* 8023BCE4 00238C44 38 05 FF FF */ addi r0, r5, -1
/* 8023BCE8 00238C48 38 A1 00 98 */ addi r5, r1, 0x98
/* 8023BCEC 00238C4C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8023BCF0 00238C50 7C C6 02 14 */ add r6, r6, r0
/* 8023BCF4 00238C54 C0 06 00 00 */ lfs f0, 0(r6)
/* 8023BCF8 00238C58 D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 8023BCFC 00238C5C C0 06 00 04 */ lfs f0, 4(r6)
/* 8023BD00 00238C60 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 8023BD04 00238C64 C0 06 00 08 */ lfs f0, 8(r6)
/* 8023BD08 00238C68 D0 01 00 AC */ stfs f0, 0xac(r1)
/* 8023BD0C 00238C6C 80 FB 01 C8 */ lwz r7, 0x1c8(r27)
/* 8023BD10 00238C70 80 C7 00 04 */ lwz r6, 4(r7)
/* 8023BD14 00238C74 38 06 FF FF */ addi r0, r6, -1
/* 8023BD18 00238C78 90 07 00 04 */ stw r0, 4(r7)
/* 8023BD1C 00238C7C 80 E1 00 A4 */ lwz r7, 0xa4(r1)
/* 8023BD20 00238C80 80 C1 00 A8 */ lwz r6, 0xa8(r1)
/* 8023BD24 00238C84 80 01 00 AC */ lwz r0, 0xac(r1)
/* 8023BD28 00238C88 90 E1 00 98 */ stw r7, 0x98(r1)
/* 8023BD2C 00238C8C 90 C1 00 9C */ stw r6, 0x9c(r1)
/* 8023BD30 00238C90 90 01 00 A0 */ stw r0, 0xa0(r1)
/* 8023BD34 00238C94 48 00 04 79 */ bl sub_8023c1ac
/* 8023BD38 00238C98 80 81 00 28 */ lwz r4, 0x28(r1)
/* 8023BD3C 00238C9C 7F 63 DB 78 */ mr r3, r27
/* 8023BD40 00238CA0 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8023BD44 00238CA4 7F 85 E3 78 */ mr r5, r28
/* 8023BD48 00238CA8 90 81 00 30 */ stw r4, 0x30(r1)
/* 8023BD4C 00238CAC 38 81 00 A4 */ addi r4, r1, 0xa4
/* 8023BD50 00238CB0 90 01 00 34 */ stw r0, 0x34(r1)
/* 8023BD54 00238CB4 4B FF FB E1 */ bl sub_8023b934
/* 8023BD58 00238CB8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8023BD5C 00238CBC 41 82 01 3C */ beq lbl_8023BE98
/* 8023BD60 00238CC0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8023BD64 00238CC4 38 E0 00 03 */ li r7, 3
/* 8023BD68 00238CC8 80 9B 01 CC */ lwz r4, 0x1cc(r27)
/* 8023BD6C 00238CCC 7F 63 DB 78 */ mr r3, r27
/* 8023BD70 00238CD0 7C 1F 01 D6 */ mullw r0, r31, r0
/* 8023BD74 00238CD4 80 A1 00 30 */ lwz r5, 0x30(r1)
/* 8023BD78 00238CD8 80 C4 00 0C */ lwz r6, 0xc(r4)
/* 8023BD7C 00238CDC 38 81 00 8C */ addi r4, r1, 0x8c
/* 8023BD80 00238CE0 7C 05 02 14 */ add r0, r5, r0
/* 8023BD84 00238CE4 54 00 10 3A */ slwi r0, r0, 2
/* 8023BD88 00238CE8 7C E6 01 2E */ stwx r7, r6, r0
/* 8023BD8C 00238CEC C0 41 00 A8 */ lfs f2, 0xa8(r1)
/* 8023BD90 00238CF0 C0 1B 00 F4 */ lfs f0, 0xf4(r27)
/* 8023BD94 00238CF4 C0 21 00 A4 */ lfs f1, 0xa4(r1)
/* 8023BD98 00238CF8 EC 42 00 28 */ fsubs f2, f2, f0
/* 8023BD9C 00238CFC C0 01 00 AC */ lfs f0, 0xac(r1)
/* 8023BDA0 00238D00 D0 21 00 80 */ stfs f1, 0x80(r1)
/* 8023BDA4 00238D04 D0 41 00 84 */ stfs f2, 0x84(r1)
/* 8023BDA8 00238D08 80 C1 00 80 */ lwz r6, 0x80(r1)
/* 8023BDAC 00238D0C D0 01 00 88 */ stfs f0, 0x88(r1)
/* 8023BDB0 00238D10 80 A1 00 84 */ lwz r5, 0x84(r1)
/* 8023BDB4 00238D14 80 01 00 88 */ lwz r0, 0x88(r1)
/* 8023BDB8 00238D18 90 C1 00 8C */ stw r6, 0x8c(r1)
/* 8023BDBC 00238D1C 90 A1 00 90 */ stw r5, 0x90(r1)
/* 8023BDC0 00238D20 90 01 00 94 */ stw r0, 0x94(r1)
/* 8023BDC4 00238D24 48 00 01 F5 */ bl sub_8023bfb8
/* 8023BDC8 00238D28 C0 5B 00 F4 */ lfs f2, 0xf4(r27)
/* 8023BDCC 00238D2C 7F 63 DB 78 */ mr r3, r27
/* 8023BDD0 00238D30 C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 8023BDD4 00238D34 38 81 00 74 */ addi r4, r1, 0x74
/* 8023BDD8 00238D38 C0 21 00 A4 */ lfs f1, 0xa4(r1)
/* 8023BDDC 00238D3C EC 42 00 2A */ fadds f2, f2, f0
/* 8023BDE0 00238D40 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 8023BDE4 00238D44 D0 21 00 68 */ stfs f1, 0x68(r1)
/* 8023BDE8 00238D48 D0 41 00 6C */ stfs f2, 0x6c(r1)
/* 8023BDEC 00238D4C 80 C1 00 68 */ lwz r6, 0x68(r1)
/* 8023BDF0 00238D50 D0 01 00 70 */ stfs f0, 0x70(r1)
/* 8023BDF4 00238D54 80 A1 00 6C */ lwz r5, 0x6c(r1)
/* 8023BDF8 00238D58 80 01 00 70 */ lwz r0, 0x70(r1)
/* 8023BDFC 00238D5C 90 C1 00 74 */ stw r6, 0x74(r1)
/* 8023BE00 00238D60 90 A1 00 78 */ stw r5, 0x78(r1)
/* 8023BE04 00238D64 90 01 00 7C */ stw r0, 0x7c(r1)
/* 8023BE08 00238D68 48 00 01 B1 */ bl sub_8023bfb8
/* 8023BE0C 00238D6C C0 41 00 A4 */ lfs f2, 0xa4(r1)
/* 8023BE10 00238D70 7F 63 DB 78 */ mr r3, r27
/* 8023BE14 00238D74 C0 1B 00 F4 */ lfs f0, 0xf4(r27)
/* 8023BE18 00238D78 38 81 00 5C */ addi r4, r1, 0x5c
/* 8023BE1C 00238D7C C0 21 00 A8 */ lfs f1, 0xa8(r1)
/* 8023BE20 00238D80 EC 42 00 28 */ fsubs f2, f2, f0
/* 8023BE24 00238D84 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 8023BE28 00238D88 D0 21 00 54 */ stfs f1, 0x54(r1)
/* 8023BE2C 00238D8C D0 41 00 50 */ stfs f2, 0x50(r1)
/* 8023BE30 00238D90 80 A1 00 54 */ lwz r5, 0x54(r1)
/* 8023BE34 00238D94 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 8023BE38 00238D98 80 C1 00 50 */ lwz r6, 0x50(r1)
/* 8023BE3C 00238D9C 80 01 00 58 */ lwz r0, 0x58(r1)
/* 8023BE40 00238DA0 90 C1 00 5C */ stw r6, 0x5c(r1)
/* 8023BE44 00238DA4 90 A1 00 60 */ stw r5, 0x60(r1)
/* 8023BE48 00238DA8 90 01 00 64 */ stw r0, 0x64(r1)
/* 8023BE4C 00238DAC 48 00 01 6D */ bl sub_8023bfb8
/* 8023BE50 00238DB0 C0 5B 00 F4 */ lfs f2, 0xf4(r27)
/* 8023BE54 00238DB4 7F 63 DB 78 */ mr r3, r27
/* 8023BE58 00238DB8 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 8023BE5C 00238DBC 38 81 00 44 */ addi r4, r1, 0x44
/* 8023BE60 00238DC0 C0 21 00 A8 */ lfs f1, 0xa8(r1)
/* 8023BE64 00238DC4 EC 42 00 2A */ fadds f2, f2, f0
/* 8023BE68 00238DC8 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 8023BE6C 00238DCC D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 8023BE70 00238DD0 D0 41 00 38 */ stfs f2, 0x38(r1)
/* 8023BE74 00238DD4 80 A1 00 3C */ lwz r5, 0x3c(r1)
/* 8023BE78 00238DD8 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 8023BE7C 00238DDC 80 C1 00 38 */ lwz r6, 0x38(r1)
/* 8023BE80 00238DE0 80 01 00 40 */ lwz r0, 0x40(r1)
/* 8023BE84 00238DE4 90 C1 00 44 */ stw r6, 0x44(r1)
/* 8023BE88 00238DE8 90 A1 00 48 */ stw r5, 0x48(r1)
/* 8023BE8C 00238DEC 90 01 00 4C */ stw r0, 0x4c(r1)
/* 8023BE90 00238DF0 48 00 01 29 */ bl sub_8023bfb8
/* 8023BE94 00238DF4 48 00 00 28 */ b lbl_8023BEBC
lbl_8023BE98:
/* 8023BE98 00238DF8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8023BE9C 00238DFC 38 A0 00 02 */ li r5, 2
/* 8023BEA0 00238E00 80 9B 01 CC */ lwz r4, 0x1cc(r27)
/* 8023BEA4 00238E04 7C 1F 01 D6 */ mullw r0, r31, r0
/* 8023BEA8 00238E08 80 61 00 30 */ lwz r3, 0x30(r1)
/* 8023BEAC 00238E0C 80 84 00 0C */ lwz r4, 0xc(r4)
/* 8023BEB0 00238E10 7C 03 02 14 */ add r0, r3, r0
/* 8023BEB4 00238E14 54 00 10 3A */ slwi r0, r0, 2
/* 8023BEB8 00238E18 7C A4 01 2E */ stwx r5, r4, r0
lbl_8023BEBC:
/* 8023BEBC 00238E1C 3B DE 00 01 */ addi r30, r30, 1
lbl_8023BEC0:
/* 8023BEC0 00238E20 7C 1E E8 00 */ cmpw r30, r29
/* 8023BEC4 00238E24 40 80 00 14 */ bge lbl_8023BED8
/* 8023BEC8 00238E28 80 7B 01 C8 */ lwz r3, 0x1c8(r27)
/* 8023BECC 00238E2C 80 03 00 04 */ lwz r0, 4(r3)
/* 8023BED0 00238E30 2C 00 00 00 */ cmpwi r0, 0
/* 8023BED4 00238E34 41 81 FE 00 */ bgt lbl_8023BCD4
lbl_8023BED8:
/* 8023BED8 00238E38 7F 63 DB 78 */ mr r3, r27
/* 8023BEDC 00238E3C 48 00 13 29 */ bl sub_8023d204
/* 8023BEE0 00238E40 83 9B 01 C8 */ lwz r28, 0x1c8(r27)
/* 8023BEE4 00238E44 80 1C 00 04 */ lwz r0, 4(r28)
/* 8023BEE8 00238E48 2C 00 00 00 */ cmpwi r0, 0
/* 8023BEEC 00238E4C 40 82 00 B8 */ bne lbl_8023BFA4
/* 8023BEF0 00238E50 28 1C 00 00 */ cmplwi r28, 0
/* 8023BEF4 00238E54 41 82 00 4C */ beq lbl_8023BF40
/* 8023BEF8 00238E58 80 1C 00 04 */ lwz r0, 4(r28)
/* 8023BEFC 00238E5C 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 8023BF00 00238E60 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8023BF04 00238E64 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8023BF08 00238E68 7C 64 1B 78 */ mr r4, r3
/* 8023BF0C 00238E6C 7C 03 02 14 */ add r0, r3, r0
/* 8023BF10 00238E70 90 61 00 18 */ stw r3, 0x18(r1)
/* 8023BF14 00238E74 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023BF18 00238E78 90 01 00 20 */ stw r0, 0x20(r1)
/* 8023BF1C 00238E7C 48 00 00 08 */ b lbl_8023BF24
lbl_8023BF20:
/* 8023BF20 00238E80 38 84 00 0C */ addi r4, r4, 0xc
lbl_8023BF24:
/* 8023BF24 00238E84 7C 04 00 40 */ cmplw r4, r0
/* 8023BF28 00238E88 40 82 FF F8 */ bne lbl_8023BF20
/* 8023BF2C 00238E8C 28 03 00 00 */ cmplwi r3, 0
/* 8023BF30 00238E90 41 82 00 08 */ beq lbl_8023BF38
/* 8023BF34 00238E94 48 0D 99 FD */ bl Free__7CMemoryFPCv
lbl_8023BF38:
/* 8023BF38 00238E98 7F 83 E3 78 */ mr r3, r28
/* 8023BF3C 00238E9C 48 0D 99 F5 */ bl Free__7CMemoryFPCv
lbl_8023BF40:
/* 8023BF40 00238EA0 38 00 00 00 */ li r0, 0
/* 8023BF44 00238EA4 90 1B 01 C8 */ stw r0, 0x1c8(r27)
/* 8023BF48 00238EA8 83 9B 01 CC */ lwz r28, 0x1cc(r27)
/* 8023BF4C 00238EAC 28 1C 00 00 */ cmplwi r28, 0
/* 8023BF50 00238EB0 41 82 00 4C */ beq lbl_8023BF9C
/* 8023BF54 00238EB4 80 1C 00 04 */ lwz r0, 4(r28)
/* 8023BF58 00238EB8 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 8023BF5C 00238EBC 54 00 10 3A */ slwi r0, r0, 2
/* 8023BF60 00238EC0 7C 03 02 14 */ add r0, r3, r0
/* 8023BF64 00238EC4 90 61 00 0C */ stw r3, 0xc(r1)
/* 8023BF68 00238EC8 7C 64 1B 78 */ mr r4, r3
/* 8023BF6C 00238ECC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023BF70 00238ED0 90 01 00 10 */ stw r0, 0x10(r1)
/* 8023BF74 00238ED4 90 61 00 08 */ stw r3, 8(r1)
/* 8023BF78 00238ED8 48 00 00 08 */ b lbl_8023BF80
lbl_8023BF7C:
/* 8023BF7C 00238EDC 38 84 00 04 */ addi r4, r4, 4
lbl_8023BF80:
/* 8023BF80 00238EE0 7C 04 00 40 */ cmplw r4, r0
/* 8023BF84 00238EE4 40 82 FF F8 */ bne lbl_8023BF7C
/* 8023BF88 00238EE8 28 03 00 00 */ cmplwi r3, 0
/* 8023BF8C 00238EEC 41 82 00 08 */ beq lbl_8023BF94
/* 8023BF90 00238EF0 48 0D 99 A1 */ bl Free__7CMemoryFPCv
lbl_8023BF94:
/* 8023BF94 00238EF4 7F 83 E3 78 */ mr r3, r28
/* 8023BF98 00238EF8 48 0D 99 99 */ bl Free__7CMemoryFPCv
lbl_8023BF9C:
/* 8023BF9C 00238EFC 38 00 00 00 */ li r0, 0
/* 8023BFA0 00238F00 90 1B 01 CC */ stw r0, 0x1cc(r27)
lbl_8023BFA4:
/* 8023BFA4 00238F04 BB 61 00 BC */ lmw r27, 0xbc(r1)
/* 8023BFA8 00238F08 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 8023BFAC 00238F0C 7C 08 03 A6 */ mtlr r0
/* 8023BFB0 00238F10 38 21 00 D0 */ addi r1, r1, 0xd0
/* 8023BFB4 00238F14 4E 80 00 20 */ blr
.global sub_8023bfb8
sub_8023bfb8:
/* 8023BFB8 00238F18 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8023BFBC 00238F1C 7C 08 02 A6 */ mflr r0
/* 8023BFC0 00238F20 90 01 00 44 */ stw r0, 0x44(r1)
/* 8023BFC4 00238F24 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8023BFC8 00238F28 7C 9F 23 78 */ mr r31, r4
/* 8023BFCC 00238F2C 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8023BFD0 00238F30 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8023BFD4 00238F34 93 81 00 30 */ stw r28, 0x30(r1)
/* 8023BFD8 00238F38 7C 7C 1B 78 */ mr r28, r3
/* 8023BFDC 00238F3C 48 00 01 79 */ bl sub_8023c154
/* 8023BFE0 00238F40 7C 7D 1B 78 */ mr r29, r3
/* 8023BFE4 00238F44 7F 83 E3 78 */ mr r3, r28
/* 8023BFE8 00238F48 48 00 01 15 */ bl sub_8023c0fc
/* 8023BFEC 00238F4C 80 BF 00 00 */ lwz r5, 0(r31)
/* 8023BFF0 00238F50 7C 7E 1B 78 */ mr r30, r3
/* 8023BFF4 00238F54 80 DF 00 04 */ lwz r6, 4(r31)
/* 8023BFF8 00238F58 7F 84 E3 78 */ mr r4, r28
/* 8023BFFC 00238F5C 80 1F 00 08 */ lwz r0, 8(r31)
/* 8023C000 00238F60 38 61 00 08 */ addi r3, r1, 8
/* 8023C004 00238F64 90 A1 00 18 */ stw r5, 0x18(r1)
/* 8023C008 00238F68 38 A1 00 18 */ addi r5, r1, 0x18
/* 8023C00C 00238F6C 90 C1 00 1C */ stw r6, 0x1c(r1)
/* 8023C010 00238F70 90 01 00 20 */ stw r0, 0x20(r1)
/* 8023C014 00238F74 48 00 01 99 */ bl sub_8023c1ac
/* 8023C018 00238F78 80 81 00 08 */ lwz r4, 8(r1)
/* 8023C01C 00238F7C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8023C020 00238F80 2C 04 00 00 */ cmpwi r4, 0
/* 8023C024 00238F84 90 81 00 10 */ stw r4, 0x10(r1)
/* 8023C028 00238F88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023C02C 00238F8C 41 80 00 B0 */ blt lbl_8023C0DC
/* 8023C030 00238F90 7C 04 E8 00 */ cmpw r4, r29
/* 8023C034 00238F94 41 80 00 08 */ blt lbl_8023C03C
/* 8023C038 00238F98 48 00 00 A4 */ b lbl_8023C0DC
lbl_8023C03C:
/* 8023C03C 00238F9C 2C 00 00 00 */ cmpwi r0, 0
/* 8023C040 00238FA0 41 80 00 9C */ blt lbl_8023C0DC
/* 8023C044 00238FA4 7C 00 F0 00 */ cmpw r0, r30
/* 8023C048 00238FA8 41 80 00 08 */ blt lbl_8023C050
/* 8023C04C 00238FAC 48 00 00 90 */ b lbl_8023C0DC
lbl_8023C050:
/* 8023C050 00238FB0 7C 1D 01 D6 */ mullw r0, r29, r0
/* 8023C054 00238FB4 80 7C 01 CC */ lwz r3, 0x1cc(r28)
/* 8023C058 00238FB8 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8023C05C 00238FBC 7C 04 02 14 */ add r0, r4, r0
/* 8023C060 00238FC0 54 04 10 3A */ slwi r4, r0, 2
/* 8023C064 00238FC4 7C 03 20 2E */ lwzx r0, r3, r4
/* 8023C068 00238FC8 2C 00 00 00 */ cmpwi r0, 0
/* 8023C06C 00238FCC 40 82 00 70 */ bne lbl_8023C0DC
/* 8023C070 00238FD0 38 00 00 01 */ li r0, 1
/* 8023C074 00238FD4 7C 03 21 2E */ stwx r0, r3, r4
/* 8023C078 00238FD8 83 BC 01 C8 */ lwz r29, 0x1c8(r28)
/* 8023C07C 00238FDC 80 1D 00 04 */ lwz r0, 4(r29)
/* 8023C080 00238FE0 80 BD 00 08 */ lwz r5, 8(r29)
/* 8023C084 00238FE4 7C 00 28 00 */ cmpw r0, r5
/* 8023C088 00238FE8 41 80 00 1C */ blt lbl_8023C0A4
/* 8023C08C 00238FEC 2C 05 00 00 */ cmpwi r5, 0
/* 8023C090 00238FF0 7F A3 EB 78 */ mr r3, r29
/* 8023C094 00238FF4 38 80 00 04 */ li r4, 4
/* 8023C098 00238FF8 41 82 00 08 */ beq lbl_8023C0A0
/* 8023C09C 00238FFC 54 A4 08 3C */ slwi r4, r5, 1
lbl_8023C0A0:
/* 8023C0A0 00239000 4B E2 1C 59 */ bl "reserve__Q24rstl45vector<9CVector3f,Q24rstl17rmemory_allocator>Fi"
lbl_8023C0A4:
/* 8023C0A4 00239004 80 1D 00 04 */ lwz r0, 4(r29)
/* 8023C0A8 00239008 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8023C0AC 0023900C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8023C0B0 00239010 7C 63 02 15 */ add. r3, r3, r0
/* 8023C0B4 00239014 41 82 00 1C */ beq lbl_8023C0D0
/* 8023C0B8 00239018 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8023C0BC 0023901C D0 03 00 00 */ stfs f0, 0(r3)
/* 8023C0C0 00239020 C0 1F 00 04 */ lfs f0, 4(r31)
/* 8023C0C4 00239024 D0 03 00 04 */ stfs f0, 4(r3)
/* 8023C0C8 00239028 C0 1F 00 08 */ lfs f0, 8(r31)
/* 8023C0CC 0023902C D0 03 00 08 */ stfs f0, 8(r3)
lbl_8023C0D0:
/* 8023C0D0 00239030 80 7D 00 04 */ lwz r3, 4(r29)
/* 8023C0D4 00239034 38 03 00 01 */ addi r0, r3, 1
/* 8023C0D8 00239038 90 1D 00 04 */ stw r0, 4(r29)
lbl_8023C0DC:
/* 8023C0DC 0023903C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8023C0E0 00239040 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8023C0E4 00239044 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8023C0E8 00239048 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8023C0EC 0023904C 83 81 00 30 */ lwz r28, 0x30(r1)
/* 8023C0F0 00239050 7C 08 03 A6 */ mtlr r0
/* 8023C0F4 00239054 38 21 00 40 */ addi r1, r1, 0x40
/* 8023C0F8 00239058 4E 80 00 20 */ blr
.global sub_8023c0fc
sub_8023c0fc:
/* 8023C0FC 0023905C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8023C100 00239060 7C 08 02 A6 */ mflr r0
/* 8023C104 00239064 90 01 00 34 */ stw r0, 0x34(r1)
/* 8023C108 00239068 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8023C10C 0023906C 7C 7F 1B 78 */ mr r31, r3
/* 8023C110 00239070 38 61 00 08 */ addi r3, r1, 8
/* 8023C114 00239074 7F E4 FB 78 */ mr r4, r31
/* 8023C118 00239078 48 00 12 DD */ bl sub_8023d3f4
/* 8023C11C 0023907C C0 41 00 18 */ lfs f2, 0x18(r1)
/* 8023C120 00239080 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8023C124 00239084 C0 1F 00 F4 */ lfs f0, 0xf4(r31)
/* 8023C128 00239088 EC 22 08 28 */ fsubs f1, f2, f1
/* 8023C12C 0023908C EC 01 00 24 */ fdivs f0, f1, f0
/* 8023C130 00239090 FC 00 00 1E */ fctiwz f0, f0
/* 8023C134 00239094 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8023C138 00239098 80 61 00 24 */ lwz r3, 0x24(r1)
/* 8023C13C 0023909C 38 63 00 01 */ addi r3, r3, 1
/* 8023C140 002390A0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8023C144 002390A4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8023C148 002390A8 7C 08 03 A6 */ mtlr r0
/* 8023C14C 002390AC 38 21 00 30 */ addi r1, r1, 0x30
/* 8023C150 002390B0 4E 80 00 20 */ blr
.global sub_8023c154
sub_8023c154:
/* 8023C154 002390B4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8023C158 002390B8 7C 08 02 A6 */ mflr r0
/* 8023C15C 002390BC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8023C160 002390C0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8023C164 002390C4 7C 7F 1B 78 */ mr r31, r3
/* 8023C168 002390C8 38 61 00 08 */ addi r3, r1, 8
/* 8023C16C 002390CC 7F E4 FB 78 */ mr r4, r31
/* 8023C170 002390D0 48 00 12 85 */ bl sub_8023d3f4
/* 8023C174 002390D4 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 8023C178 002390D8 C0 21 00 08 */ lfs f1, 8(r1)
/* 8023C17C 002390DC C0 1F 00 F4 */ lfs f0, 0xf4(r31)
/* 8023C180 002390E0 EC 22 08 28 */ fsubs f1, f2, f1
/* 8023C184 002390E4 EC 01 00 24 */ fdivs f0, f1, f0
/* 8023C188 002390E8 FC 00 00 1E */ fctiwz f0, f0
/* 8023C18C 002390EC D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8023C190 002390F0 80 61 00 24 */ lwz r3, 0x24(r1)
/* 8023C194 002390F4 38 63 00 01 */ addi r3, r3, 1
/* 8023C198 002390F8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8023C19C 002390FC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8023C1A0 00239100 7C 08 03 A6 */ mtlr r0
/* 8023C1A4 00239104 38 21 00 30 */ addi r1, r1, 0x30
/* 8023C1A8 00239108 4E 80 00 20 */ blr
.global sub_8023c1ac
sub_8023c1ac:
/* 8023C1AC 0023910C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8023C1B0 00239110 7C 08 02 A6 */ mflr r0
/* 8023C1B4 00239114 90 01 00 44 */ stw r0, 0x44(r1)
/* 8023C1B8 00239118 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8023C1BC 0023911C 7C BF 2B 78 */ mr r31, r5
/* 8023C1C0 00239120 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8023C1C4 00239124 7C 9E 23 78 */ mr r30, r4
/* 8023C1C8 00239128 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8023C1CC 0023912C 7C 7D 1B 78 */ mr r29, r3
/* 8023C1D0 00239130 38 61 00 08 */ addi r3, r1, 8
/* 8023C1D4 00239134 48 00 12 21 */ bl sub_8023d3f4
/* 8023C1D8 00239138 C0 7F 00 00 */ lfs f3, 0(r31)
/* 8023C1DC 0023913C 7F A3 EB 78 */ mr r3, r29
/* 8023C1E0 00239140 C0 41 00 08 */ lfs f2, 8(r1)
/* 8023C1E4 00239144 C0 3F 00 04 */ lfs f1, 4(r31)
/* 8023C1E8 00239148 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8023C1EC 0023914C EC 43 10 28 */ fsubs f2, f3, f2
/* 8023C1F0 00239150 C0 7E 00 F4 */ lfs f3, 0xf4(r30)
/* 8023C1F4 00239154 EC 01 00 28 */ fsubs f0, f1, f0
/* 8023C1F8 00239158 EC 22 18 24 */ fdivs f1, f2, f3
/* 8023C1FC 0023915C EC 00 18 24 */ fdivs f0, f0, f3
/* 8023C200 00239160 FC 20 08 1E */ fctiwz f1, f1
/* 8023C204 00239164 FC 00 00 1E */ fctiwz f0, f0
/* 8023C208 00239168 D8 21 00 20 */ stfd f1, 0x20(r1)
/* 8023C20C 0023916C D8 01 00 28 */ stfd f0, 0x28(r1)
/* 8023C210 00239170 80 81 00 24 */ lwz r4, 0x24(r1)
/* 8023C214 00239174 80 A1 00 2C */ lwz r5, 0x2c(r1)
/* 8023C218 00239178 48 0D 81 35 */ bl __ct__9CVector2iFii
/* 8023C21C 0023917C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8023C220 00239180 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8023C224 00239184 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8023C228 00239188 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8023C22C 0023918C 7C 08 03 A6 */ mtlr r0
/* 8023C230 00239190 38 21 00 40 */ addi r1, r1, 0x40
/* 8023C234 00239194 4E 80 00 20 */ blr
.global sub_8023c238
sub_8023c238:
/* 8023C238 00239198 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 8023C23C 0023919C 7C 08 02 A6 */ mflr r0
/* 8023C240 002391A0 90 01 01 24 */ stw r0, 0x124(r1)
/* 8023C244 002391A4 DB E1 01 10 */ stfd f31, 0x110(r1)
/* 8023C248 002391A8 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0
/* 8023C24C 002391AC DB C1 01 00 */ stfd f30, 0x100(r1)
/* 8023C250 002391B0 F3 C1 01 08 */ psq_st f30, 264(r1), 0, qr0
/* 8023C254 002391B4 DB A1 00 F0 */ stfd f29, 0xf0(r1)
/* 8023C258 002391B8 F3 A1 00 F8 */ psq_st f29, 248(r1), 0, qr0
/* 8023C25C 002391BC 93 E1 00 EC */ stw r31, 0xec(r1)
/* 8023C260 002391C0 93 C1 00 E8 */ stw r30, 0xe8(r1)
/* 8023C264 002391C4 93 A1 00 E4 */ stw r29, 0xe4(r1)
/* 8023C268 002391C8 88 0D A5 30 */ lbz r0, lbl_805A90F0@sda21(r13)
/* 8023C26C 002391CC 7C 7F 1B 78 */ mr r31, r3
/* 8023C270 002391D0 7C 9D 23 78 */ mr r29, r4
/* 8023C274 002391D4 7C 00 07 75 */ extsb. r0, r0
/* 8023C278 002391D8 40 82 00 40 */ bne lbl_8023C2B8
/* 8023C27C 002391DC 80 AD 96 7C */ lwz r5, lbl_805A823C@sda21(r13)
/* 8023C280 002391E0 38 60 00 00 */ li r3, 0
/* 8023C284 002391E4 38 80 00 01 */ li r4, 1
/* 8023C288 002391E8 48 14 DC 6D */ bl __shl2i
/* 8023C28C 002391EC 3C A0 80 47 */ lis r5, lbl_8046D360@ha
/* 8023C290 002391F0 38 C0 00 01 */ li r6, 1
/* 8023C294 002391F4 38 A5 D3 60 */ addi r5, r5, lbl_8046D360@l
/* 8023C298 002391F8 38 00 00 00 */ li r0, 0
/* 8023C29C 002391FC 90 C1 00 58 */ stw r6, 0x58(r1)
/* 8023C2A0 00239200 90 85 00 04 */ stw r4, 4(r5)
/* 8023C2A4 00239204 90 65 00 00 */ stw r3, 0(r5)
/* 8023C2A8 00239208 90 05 00 0C */ stw r0, 0xc(r5)
/* 8023C2AC 0023920C 90 05 00 08 */ stw r0, 8(r5)
/* 8023C2B0 00239210 90 C5 00 10 */ stw r6, 0x10(r5)
/* 8023C2B4 00239214 98 CD A5 30 */ stb r6, lbl_805A90F0@sda21(r13)
lbl_8023C2B8:
/* 8023C2B8 00239218 7F E4 FB 78 */ mr r4, r31
/* 8023C2BC 0023921C 38 61 00 2C */ addi r3, r1, 0x2c
/* 8023C2C0 00239220 48 00 11 35 */ bl sub_8023d3f4
/* 8023C2C4 00239224 C0 A1 00 2C */ lfs f5, 0x2c(r1)
/* 8023C2C8 00239228 38 61 00 08 */ addi r3, r1, 8
/* 8023C2CC 0023922C C0 81 00 30 */ lfs f4, 0x30(r1)
/* 8023C2D0 00239230 38 81 00 60 */ addi r4, r1, 0x60
/* 8023C2D4 00239234 C0 61 00 34 */ lfs f3, 0x34(r1)
/* 8023C2D8 00239238 C0 41 00 38 */ lfs f2, 0x38(r1)
/* 8023C2DC 0023923C C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 8023C2E0 00239240 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 8023C2E4 00239244 D0 A1 00 60 */ stfs f5, 0x60(r1)
/* 8023C2E8 00239248 D0 81 00 64 */ stfs f4, 0x64(r1)
/* 8023C2EC 0023924C D0 61 00 68 */ stfs f3, 0x68(r1)
/* 8023C2F0 00239250 D0 41 00 6C */ stfs f2, 0x6c(r1)
/* 8023C2F4 00239254 D0 21 00 70 */ stfs f1, 0x70(r1)
/* 8023C2F8 00239258 D0 01 00 74 */ stfs f0, 0x74(r1)
/* 8023C2FC 0023925C 48 0F B3 11 */ bl GetCenterPoint__6CAABoxCFv
/* 8023C300 00239260 C0 21 00 74 */ lfs f1, 0x74(r1)
/* 8023C304 00239264 3C 60 80 47 */ lis r3, lbl_8046D360@ha
/* 8023C308 00239268 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 8023C30C 0023926C 38 E3 D3 60 */ addi r7, r3, lbl_8046D360@l
/* 8023C310 00239270 C0 42 B7 68 */ lfs f2, lbl_805AD488@sda21(r2)
/* 8023C314 00239274 7F A4 EB 78 */ mr r4, r29
/* 8023C318 00239278 C0 A1 00 08 */ lfs f5, 8(r1)
/* 8023C31C 0023927C EC 21 00 28 */ fsubs f1, f1, f0
/* 8023C320 00239280 C0 81 00 0C */ lfs f4, 0xc(r1)
/* 8023C324 00239284 38 61 00 78 */ addi r3, r1, 0x78
/* 8023C328 00239288 C0 61 00 10 */ lfs f3, 0x10(r1)
/* 8023C32C 0023928C 38 A1 00 20 */ addi r5, r1, 0x20
/* 8023C330 00239290 C0 02 B7 6C */ lfs f0, lbl_805AD48C@sda21(r2)
/* 8023C334 00239294 D0 A1 00 20 */ stfs f5, 0x20(r1)
/* 8023C338 00239298 38 C1 00 14 */ addi r6, r1, 0x14
/* 8023C33C 0023929C D0 81 00 24 */ stfs f4, 0x24(r1)
/* 8023C340 002392A0 D0 61 00 28 */ stfs f3, 0x28(r1)
/* 8023C344 002392A4 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 8023C348 002392A8 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 8023C34C 002392AC D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8023C350 002392B0 4B E1 0C 49 */ bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter
/* 8023C354 002392B4 88 81 00 98 */ lbz r4, 0x98(r1)
/* 8023C358 002392B8 C0 81 00 78 */ lfs f4, 0x78(r1)
/* 8023C35C 002392BC C3 A1 00 7C */ lfs f29, 0x7c(r1)
/* 8023C360 002392C0 28 04 00 00 */ cmplwi r4, 0
/* 8023C364 002392C4 C3 C1 00 80 */ lfs f30, 0x80(r1)
/* 8023C368 002392C8 C3 E1 00 84 */ lfs f31, 0x84(r1)
/* 8023C36C 002392CC C0 61 00 88 */ lfs f3, 0x88(r1)
/* 8023C370 002392D0 C0 41 00 8C */ lfs f2, 0x8c(r1)
/* 8023C374 002392D4 C0 21 00 90 */ lfs f1, 0x90(r1)
/* 8023C378 002392D8 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 8023C37C 002392DC 80 01 00 A0 */ lwz r0, 0xa0(r1)
/* 8023C380 002392E0 80 61 00 A4 */ lwz r3, 0xa4(r1)
/* 8023C384 002392E4 D0 81 00 A8 */ stfs f4, 0xa8(r1)
/* 8023C388 002392E8 D3 A1 00 AC */ stfs f29, 0xac(r1)
/* 8023C38C 002392EC D3 C1 00 B0 */ stfs f30, 0xb0(r1)
/* 8023C390 002392F0 D3 E1 00 B4 */ stfs f31, 0xb4(r1)
/* 8023C394 002392F4 D0 61 00 B8 */ stfs f3, 0xb8(r1)
/* 8023C398 002392F8 D0 41 00 BC */ stfs f2, 0xbc(r1)
/* 8023C39C 002392FC D0 21 00 C0 */ stfs f1, 0xc0(r1)
/* 8023C3A0 00239300 D0 01 00 C4 */ stfs f0, 0xc4(r1)
/* 8023C3A4 00239304 98 81 00 C8 */ stb r4, 0xc8(r1)
/* 8023C3A8 00239308 90 61 00 D4 */ stw r3, 0xd4(r1)
/* 8023C3AC 0023930C 90 01 00 D0 */ stw r0, 0xd0(r1)
/* 8023C3B0 00239310 41 82 00 D8 */ beq lbl_8023C488
/* 8023C3B4 00239314 7F E3 FB 78 */ mr r3, r31
/* 8023C3B8 00239318 4B FF FD 45 */ bl sub_8023c0fc
/* 8023C3BC 0023931C 7C 7E 1B 78 */ mr r30, r3
/* 8023C3C0 00239320 7F E3 FB 78 */ mr r3, r31
/* 8023C3C4 00239324 4B FF FD 91 */ bl sub_8023c154
/* 8023C3C8 00239328 7C 83 F1 D6 */ mullw r4, r3, r30
/* 8023C3CC 0023932C 38 7F 01 30 */ addi r3, r31, 0x130
/* 8023C3D0 00239330 48 00 20 11 */ bl sub_8023e3e0
/* 8023C3D4 00239334 83 BF 01 C8 */ lwz r29, 0x1c8(r31)
/* 8023C3D8 00239338 7F E3 FB 78 */ mr r3, r31
/* 8023C3DC 0023933C 4B FF FD 21 */ bl sub_8023c0fc
/* 8023C3E0 00239340 7C 7E 1B 78 */ mr r30, r3
/* 8023C3E4 00239344 7F E3 FB 78 */ mr r3, r31
/* 8023C3E8 00239348 4B FF FD 6D */ bl sub_8023c154
/* 8023C3EC 0023934C 7C 83 F1 D6 */ mullw r4, r3, r30
/* 8023C3F0 00239350 7F A3 EB 78 */ mr r3, r29
/* 8023C3F4 00239354 4B E2 19 05 */ bl "reserve__Q24rstl45vector<9CVector3f,Q24rstl17rmemory_allocator>Fi"
/* 8023C3F8 00239358 83 BF 01 CC */ lwz r29, 0x1cc(r31)
/* 8023C3FC 0023935C 7F E3 FB 78 */ mr r3, r31
/* 8023C400 00239360 4B FF FC FD */ bl sub_8023c0fc
/* 8023C404 00239364 7C 7E 1B 78 */ mr r30, r3
/* 8023C408 00239368 7F E3 FB 78 */ mr r3, r31
/* 8023C40C 0023936C 4B FF FD 49 */ bl sub_8023c154
/* 8023C410 00239370 7C 83 F1 D6 */ mullw r4, r3, r30
/* 8023C414 00239374 7F A3 EB 78 */ mr r3, r29
/* 8023C418 00239378 38 AD 96 80 */ addi r5, r13, lbl_805A8240@sda21
/* 8023C41C 0023937C 48 00 00 A1 */ bl sub_8023c4bc
/* 8023C420 00239380 83 BF 01 C8 */ lwz r29, 0x1c8(r31)
/* 8023C424 00239384 80 1D 00 04 */ lwz r0, 4(r29)
/* 8023C428 00239388 80 BD 00 08 */ lwz r5, 8(r29)
/* 8023C42C 0023938C 7C 00 28 00 */ cmpw r0, r5
/* 8023C430 00239390 41 80 00 1C */ blt lbl_8023C44C
/* 8023C434 00239394 2C 05 00 00 */ cmpwi r5, 0
/* 8023C438 00239398 7F A3 EB 78 */ mr r3, r29
/* 8023C43C 0023939C 38 80 00 04 */ li r4, 4
/* 8023C440 002393A0 41 82 00 08 */ beq lbl_8023C448
/* 8023C444 002393A4 54 A4 08 3C */ slwi r4, r5, 1
lbl_8023C448:
/* 8023C448 002393A8 4B E2 18 B1 */ bl "reserve__Q24rstl45vector<9CVector3f,Q24rstl17rmemory_allocator>Fi"
lbl_8023C44C:
/* 8023C44C 002393AC 80 1D 00 04 */ lwz r0, 4(r29)
/* 8023C450 002393B0 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8023C454 002393B4 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8023C458 002393B8 7C 63 02 15 */ add. r3, r3, r0
/* 8023C45C 002393BC 41 82 00 10 */ beq lbl_8023C46C
/* 8023C460 002393C0 D3 A3 00 00 */ stfs f29, 0(r3)
/* 8023C464 002393C4 D3 C3 00 04 */ stfs f30, 4(r3)
/* 8023C468 002393C8 D3 E3 00 08 */ stfs f31, 8(r3)
lbl_8023C46C:
/* 8023C46C 002393CC 80 9D 00 04 */ lwz r4, 4(r29)
/* 8023C470 002393D0 38 60 00 01 */ li r3, 1
/* 8023C474 002393D4 38 04 00 01 */ addi r0, r4, 1
/* 8023C478 002393D8 90 1D 00 04 */ stw r0, 4(r29)
/* 8023C47C 002393DC 88 1F 01 40 */ lbz r0, 0x140(r31)
/* 8023C480 002393E0 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8023C484 002393E4 98 1F 01 40 */ stb r0, 0x140(r31)
lbl_8023C488:
/* 8023C488 002393E8 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0
/* 8023C48C 002393EC CB E1 01 10 */ lfd f31, 0x110(r1)
/* 8023C490 002393F0 E3 C1 01 08 */ psq_l f30, 264(r1), 0, qr0
/* 8023C494 002393F4 CB C1 01 00 */ lfd f30, 0x100(r1)
/* 8023C498 002393F8 E3 A1 00 F8 */ psq_l f29, 248(r1), 0, qr0
/* 8023C49C 002393FC CB A1 00 F0 */ lfd f29, 0xf0(r1)
/* 8023C4A0 00239400 83 E1 00 EC */ lwz r31, 0xec(r1)
/* 8023C4A4 00239404 83 C1 00 E8 */ lwz r30, 0xe8(r1)
/* 8023C4A8 00239408 80 01 01 24 */ lwz r0, 0x124(r1)
/* 8023C4AC 0023940C 83 A1 00 E4 */ lwz r29, 0xe4(r1)
/* 8023C4B0 00239410 7C 08 03 A6 */ mtlr r0
/* 8023C4B4 00239414 38 21 01 20 */ addi r1, r1, 0x120
/* 8023C4B8 00239418 4E 80 00 20 */ blr
.global sub_8023c4bc
sub_8023c4bc:
/* 8023C4BC 0023941C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8023C4C0 00239420 7C 08 02 A6 */ mflr r0
/* 8023C4C4 00239424 90 01 00 34 */ stw r0, 0x34(r1)
/* 8023C4C8 00239428 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8023C4CC 0023942C 7C BF 2B 78 */ mr r31, r5
/* 8023C4D0 00239430 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8023C4D4 00239434 7C 9E 23 78 */ mr r30, r4
/* 8023C4D8 00239438 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8023C4DC 0023943C 7C 7D 1B 78 */ mr r29, r3
/* 8023C4E0 00239440 80 03 00 04 */ lwz r0, 4(r3)
/* 8023C4E4 00239444 7C 00 F0 00 */ cmpw r0, r30
/* 8023C4E8 00239448 41 82 00 80 */ beq lbl_8023C568
/* 8023C4EC 0023944C 7C 1E 00 00 */ cmpw r30, r0
/* 8023C4F0 00239450 40 81 00 40 */ ble lbl_8023C530
/* 8023C4F4 00239454 48 00 20 21 */ bl sub_8023e514
/* 8023C4F8 00239458 80 9D 00 04 */ lwz r4, 4(r29)
/* 8023C4FC 0023945C 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8023C500 00239460 54 80 10 3A */ slwi r0, r4, 2
/* 8023C504 00239464 7C 84 F0 51 */ subf. r4, r4, r30
/* 8023C508 00239468 7C 63 02 14 */ add r3, r3, r0
/* 8023C50C 0023946C 7C 89 03 A6 */ mtctr r4
/* 8023C510 00239470 40 81 00 54 */ ble lbl_8023C564
lbl_8023C514:
/* 8023C514 00239474 28 03 00 00 */ cmplwi r3, 0
/* 8023C518 00239478 41 82 00 0C */ beq lbl_8023C524
/* 8023C51C 0023947C 80 1F 00 00 */ lwz r0, 0(r31)
/* 8023C520 00239480 90 03 00 00 */ stw r0, 0(r3)
lbl_8023C524:
/* 8023C524 00239484 38 63 00 04 */ addi r3, r3, 4
/* 8023C528 00239488 42 00 FF EC */ bdnz lbl_8023C514
/* 8023C52C 0023948C 48 00 00 38 */ b lbl_8023C564
lbl_8023C530:
/* 8023C530 00239490 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8023C534 00239494 54 03 10 3A */ slwi r3, r0, 2
/* 8023C538 00239498 57 C0 10 3A */ slwi r0, r30, 2
/* 8023C53C 0023949C 7C A4 02 14 */ add r5, r4, r0
/* 8023C540 002394A0 7C 04 1A 14 */ add r0, r4, r3
/* 8023C544 002394A4 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8023C548 002394A8 90 01 00 08 */ stw r0, 8(r1)
/* 8023C54C 002394AC 90 01 00 0C */ stw r0, 0xc(r1)
/* 8023C550 002394B0 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8023C554 002394B4 48 00 00 08 */ b lbl_8023C55C
lbl_8023C558:
/* 8023C558 002394B8 38 A5 00 04 */ addi r5, r5, 4
lbl_8023C55C:
/* 8023C55C 002394BC 7C 05 00 40 */ cmplw r5, r0
/* 8023C560 002394C0 40 82 FF F8 */ bne lbl_8023C558
lbl_8023C564:
/* 8023C564 002394C4 93 DD 00 04 */ stw r30, 4(r29)
lbl_8023C568:
/* 8023C568 002394C8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8023C56C 002394CC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8023C570 002394D0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8023C574 002394D4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8023C578 002394D8 7C 08 03 A6 */ mtlr r0
/* 8023C57C 002394DC 38 21 00 30 */ addi r1, r1, 0x30
/* 8023C580 002394E0 4E 80 00 20 */ blr
.global AddToRenderer__15CSnakeWeedSwarmCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__15CSnakeWeedSwarmCFRC14CFrustumPlanesRC13CStateManager:
/* 8023C584 002394E4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023C588 002394E8 7C 08 02 A6 */ mflr r0
/* 8023C58C 002394EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023C590 002394F0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8023C594 002394F4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8023C598 002394F8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8023C59C 002394FC 7C 7D 1B 78 */ mr r29, r3
/* 8023C5A0 00239500 88 03 00 E4 */ lbz r0, 0xe4(r3)
/* 8023C5A4 00239504 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 8023C5A8 00239508 40 82 00 C4 */ bne lbl_8023C66C
/* 8023C5AC 0023950C 80 9D 01 F0 */ lwz r4, 0x1f0(r29)
/* 8023C5B0 00239510 28 04 00 00 */ cmplwi r4, 0
/* 8023C5B4 00239514 41 82 00 18 */ beq lbl_8023C5CC
/* 8023C5B8 00239518 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8023C5BC 0023951C 81 83 00 00 */ lwz r12, 0(r3)
/* 8023C5C0 00239520 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 8023C5C4 00239524 7D 89 03 A6 */ mtctr r12
/* 8023C5C8 00239528 4E 80 04 21 */ bctrl
lbl_8023C5CC:
/* 8023C5CC 0023952C 80 9D 01 F8 */ lwz r4, 0x1f8(r29)
/* 8023C5D0 00239530 28 04 00 00 */ cmplwi r4, 0
/* 8023C5D4 00239534 41 82 00 18 */ beq lbl_8023C5EC
/* 8023C5D8 00239538 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8023C5DC 0023953C 81 83 00 00 */ lwz r12, 0(r3)
/* 8023C5E0 00239540 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 8023C5E4 00239544 7D 89 03 A6 */ mtctr r12
/* 8023C5E8 00239548 4E 80 04 21 */ bctrl
lbl_8023C5EC:
/* 8023C5EC 0023954C 80 7D 00 90 */ lwz r3, 0x90(r29)
/* 8023C5F0 00239550 38 00 FF FF */ li r0, -1
/* 8023C5F4 00239554 90 01 00 08 */ stw r0, 8(r1)
/* 8023C5F8 00239558 28 03 00 00 */ cmplwi r3, 0
/* 8023C5FC 0023955C 41 82 00 0C */ beq lbl_8023C608
/* 8023C600 00239560 4B EC 87 89 */ bl ActivateLights__12CActorLightsCFv
/* 8023C604 00239564 48 00 00 24 */ b lbl_8023C628
lbl_8023C608:
/* 8023C608 00239568 48 0D 03 75 */ bl DisableAllLights__9CGraphicsFv
/* 8023C60C 0023956C 48 10 D9 A1 */ bl White__6CColorFv
/* 8023C610 00239570 7C 64 1B 78 */ mr r4, r3
/* 8023C614 00239574 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8023C618 00239578 81 83 00 00 */ lwz r12, 0(r3)
/* 8023C61C 0023957C 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8023C620 00239580 7D 89 03 A6 */ mtctr r12
/* 8023C624 00239584 4E 80 04 21 */ bctrl
lbl_8023C628:
/* 8023C628 00239588 83 FD 01 3C */ lwz r31, 0x13c(r29)
/* 8023C62C 0023958C 3B C0 00 00 */ li r30, 0
/* 8023C630 00239590 48 00 00 20 */ b lbl_8023C650
lbl_8023C634:
/* 8023C634 00239594 7F A3 EB 78 */ mr r3, r29
/* 8023C638 00239598 7F C4 F3 78 */ mr r4, r30
/* 8023C63C 0023959C 7F E5 FB 78 */ mr r5, r31
/* 8023C640 002395A0 38 C1 00 08 */ addi r6, r1, 8
/* 8023C644 002395A4 48 00 00 45 */ bl sub_8023c688
/* 8023C648 002395A8 3B FF 00 24 */ addi r31, r31, 0x24
/* 8023C64C 002395AC 3B DE 00 01 */ addi r30, r30, 1
lbl_8023C650:
/* 8023C650 002395B0 80 1D 01 34 */ lwz r0, 0x134(r29)
/* 8023C654 002395B4 80 7D 01 3C */ lwz r3, 0x13c(r29)
/* 8023C658 002395B8 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8023C65C 002395BC 7C 03 02 14 */ add r0, r3, r0
/* 8023C660 002395C0 7C 1F 00 40 */ cmplw r31, r0
/* 8023C664 002395C4 40 82 FF D0 */ bne lbl_8023C634
/* 8023C668 002395C8 48 0D 03 15 */ bl DisableAllLights__9CGraphicsFv
lbl_8023C66C:
/* 8023C66C 002395CC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8023C670 002395D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8023C674 002395D4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8023C678 002395D8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8023C67C 002395DC 7C 08 03 A6 */ mtlr r0
/* 8023C680 002395E0 38 21 00 20 */ addi r1, r1, 0x20
/* 8023C684 002395E4 4E 80 00 20 */ blr
.global sub_8023c688
sub_8023c688:
/* 8023C688 002395E8 94 21 FE D0 */ stwu r1, -0x130(r1)
/* 8023C68C 002395EC 7C 08 02 A6 */ mflr r0
/* 8023C690 002395F0 90 01 01 34 */ stw r0, 0x134(r1)
/* 8023C694 002395F4 DB E1 01 20 */ stfd f31, 0x120(r1)
/* 8023C698 002395F8 F3 E1 01 28 */ psq_st f31, 296(r1), 0, qr0
/* 8023C69C 002395FC BF 01 01 00 */ stmw r24, 0x100(r1)
/* 8023C6A0 00239600 7C 7D 1B 78 */ mr r29, r3
/* 8023C6A4 00239604 54 9B 17 3A */ rlwinm r27, r4, 2, 0x1c, 0x1d
/* 8023C6A8 00239608 7C 7D DA 14 */ add r3, r29, r27
/* 8023C6AC 0023960C 54 9A 07 BE */ clrlwi r26, r4, 0x1e
/* 8023C6B0 00239610 80 63 01 B4 */ lwz r3, 0x1b4(r3)
/* 8023C6B4 00239614 7C DE 33 78 */ mr r30, r6
/* 8023C6B8 00239618 83 E6 00 00 */ lwz r31, 0(r6)
/* 8023C6BC 0023961C 7C B8 2B 78 */ mr r24, r5
/* 8023C6C0 00239620 80 63 00 00 */ lwz r3, 0(r3)
/* 8023C6C4 00239624 80 9D 01 C4 */ lwz r4, 0x1c4(r29)
/* 8023C6C8 00239628 83 83 00 10 */ lwz r28, 0x10(r3)
/* 8023C6CC 0023962C 4B ED 88 91 */ bl PickAnimatedModel__10CModelDataCFQ210CModelData11EWhichModel
/* 8023C6D0 00239630 38 00 00 01 */ li r0, 1
/* 8023C6D4 00239634 7C 79 1B 78 */ mr r25, r3
/* 8023C6D8 00239638 7C 04 D0 30 */ slw r4, r0, r26
/* 8023C6DC 0023963C 7F E0 20 39 */ and. r0, r31, r4
/* 8023C6E0 00239640 41 82 00 44 */ beq lbl_8023C724
/* 8023C6E4 00239644 7F 83 E3 78 */ mr r3, r28
/* 8023C6E8 00239648 7F FF 20 78 */ andc r31, r31, r4
/* 8023C6EC 0023964C 4B DF 03 75 */ bl BuildPose__9CAnimDataFv
/* 8023C6F0 00239650 57 40 18 38 */ slwi r0, r26, 3
/* 8023C6F4 00239654 38 80 00 00 */ li r4, 0
/* 8023C6F8 00239658 7C 7D 02 14 */ add r3, r29, r0
/* 8023C6FC 0023965C 98 81 00 F4 */ stb r4, 0xf4(r1)
/* 8023C700 00239660 80 E3 01 80 */ lwz r7, 0x180(r3)
/* 8023C704 00239664 7F 23 CB 78 */ mr r3, r25
/* 8023C708 00239668 38 9C 02 24 */ addi r4, r28, 0x224
/* 8023C70C 0023966C 38 A1 00 AC */ addi r5, r1, 0xac
/* 8023C710 00239670 38 C0 00 00 */ li r6, 0
/* 8023C714 00239674 48 11 65 E5 */ bl "Calculate__13CSkinnedModelFRC17CPoseAsTransformsRCQ24rstl37optional_object<18CVertexMorphEffect>PCfPf"
/* 8023C718 00239678 38 61 00 AC */ addi r3, r1, 0xac
/* 8023C71C 0023967C 38 80 FF FF */ li r4, -1
/* 8023C720 00239680 4B E3 B5 6D */ bl sub_80077c8c
lbl_8023C724:
/* 8023C724 00239684 7F 03 C3 78 */ mr r3, r24
/* 8023C728 00239688 48 00 1C 5D */ bl sub_8023e384
/* 8023C72C 0023968C FF E0 08 90 */ fmr f31, f1
/* 8023C730 00239690 7F 03 C3 78 */ mr r3, r24
/* 8023C734 00239694 48 00 1C 69 */ bl nullsub_21
/* 8023C738 00239698 C0 03 00 08 */ lfs f0, 8(r3)
/* 8023C73C 0023969C C0 43 00 04 */ lfs f2, 4(r3)
/* 8023C740 002396A0 C0 22 B7 68 */ lfs f1, lbl_805AD488@sda21(r2)
/* 8023C744 002396A4 EC 60 F8 28 */ fsubs f3, f0, f31
/* 8023C748 002396A8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8023C74C 002396AC 7F 03 C3 78 */ mr r3, r24
/* 8023C750 002396B0 EC 42 08 28 */ fsubs f2, f2, f1
/* 8023C754 002396B4 EC 00 08 28 */ fsubs f0, f0, f1
/* 8023C758 002396B8 D0 61 00 18 */ stfs f3, 0x18(r1)
/* 8023C75C 002396BC D0 41 00 14 */ stfs f2, 0x14(r1)
/* 8023C760 002396C0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8023C764 002396C4 48 00 1C 01 */ bl sub_8023e364
/* 8023C768 002396C8 38 61 00 1C */ addi r3, r1, 0x1c
/* 8023C76C 002396CC 48 0D 6A D5 */ bl Scale__12CTransform4fFf
/* 8023C770 002396D0 38 61 00 4C */ addi r3, r1, 0x4c
/* 8023C774 002396D4 38 81 00 10 */ addi r4, r1, 0x10
/* 8023C778 002396D8 48 0D 69 C9 */ bl Translate__12CTransform4fFRC9CVector3f
/* 8023C77C 002396DC 38 61 00 7C */ addi r3, r1, 0x7c
/* 8023C780 002396E0 38 81 00 4C */ addi r4, r1, 0x4c
/* 8023C784 002396E4 38 A1 00 1C */ addi r5, r1, 0x1c
/* 8023C788 002396E8 48 0D 61 C9 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8023C78C 002396EC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8023C790 002396F0 38 81 00 7C */ addi r4, r1, 0x7c
/* 8023C794 002396F4 81 83 00 00 */ lwz r12, 0(r3)
/* 8023C798 002396F8 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8023C79C 002396FC 7D 89 03 A6 */ mtctr r12
/* 8023C7A0 00239700 4E 80 04 21 */ bctrl
/* 8023C7A4 00239704 C0 22 B7 74 */ lfs f1, lbl_805AD494@sda21(r2)
/* 8023C7A8 00239708 38 80 00 00 */ li r4, 0
/* 8023C7AC 0023970C 38 00 00 03 */ li r0, 3
/* 8023C7B0 00239710 98 81 00 08 */ stb r4, 8(r1)
/* 8023C7B4 00239714 FC 40 08 90 */ fmr f2, f1
/* 8023C7B8 00239718 38 61 00 0C */ addi r3, r1, 0xc
/* 8023C7BC 0023971C FC 60 08 90 */ fmr f3, f1
/* 8023C7C0 00239720 98 81 00 09 */ stb r4, 9(r1)
/* 8023C7C4 00239724 FC 80 08 90 */ fmr f4, f1
/* 8023C7C8 00239728 B0 01 00 0A */ sth r0, 0xa(r1)
/* 8023C7CC 0023972C 48 12 6C 21 */ bl __ct__6CColorFffff
/* 8023C7D0 00239730 57 40 18 38 */ slwi r0, r26, 3
/* 8023C7D4 00239734 7C 7D DA 14 */ add r3, r29, r27
/* 8023C7D8 00239738 7C 9D 02 14 */ add r4, r29, r0
/* 8023C7DC 0023973C 80 A3 01 A0 */ lwz r5, 0x1a0(r3)
/* 8023C7E0 00239740 80 84 01 80 */ lwz r4, 0x180(r4)
/* 8023C7E4 00239744 7F 23 CB 78 */ mr r3, r25
/* 8023C7E8 00239748 38 C1 00 08 */ addi r6, r1, 8
/* 8023C7EC 0023974C 48 11 66 FD */ bl sub_80352ee8
/* 8023C7F0 00239750 93 FE 00 00 */ stw r31, 0(r30)
/* 8023C7F4 00239754 E3 E1 01 28 */ psq_l f31, 296(r1), 0, qr0
/* 8023C7F8 00239758 CB E1 01 20 */ lfd f31, 0x120(r1)
/* 8023C7FC 0023975C BB 01 01 00 */ lmw r24, 0x100(r1)
/* 8023C800 00239760 80 01 01 34 */ lwz r0, 0x134(r1)
/* 8023C804 00239764 7C 08 03 A6 */ mtlr r0
/* 8023C808 00239768 38 21 01 30 */ addi r1, r1, 0x130
/* 8023C80C 0023976C 4E 80 00 20 */ blr
.global PreRender__15CSnakeWeedSwarmFR13CStateManagerRC14CFrustumPlanes
PreRender__15CSnakeWeedSwarmFR13CStateManagerRC14CFrustumPlanes:
/* 8023C810 00239770 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8023C814 00239774 7C 08 02 A6 */ mflr r0
/* 8023C818 00239778 90 01 00 44 */ stw r0, 0x44(r1)
/* 8023C81C 0023977C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8023C820 00239780 7C 9F 23 78 */ mr r31, r4
/* 8023C824 00239784 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8023C828 00239788 7C 7E 1B 78 */ mr r30, r3
/* 8023C82C 0023978C 7C A3 2B 78 */ mr r3, r5
/* 8023C830 00239790 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8023C834 00239794 38 9E 01 44 */ addi r4, r30, 0x144
/* 8023C838 00239798 93 81 00 30 */ stw r28, 0x30(r1)
/* 8023C83C 0023979C 48 10 89 95 */ bl BoxInFrustumPlanes__14CFrustumPlanesCFRC6CAABox
/* 8023C840 002397A0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8023C844 002397A4 40 82 00 18 */ bne lbl_8023C85C
/* 8023C848 002397A8 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 8023C84C 002397AC 38 60 00 01 */ li r3, 1
/* 8023C850 002397B0 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 8023C854 002397B4 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 8023C858 002397B8 48 00 01 8C */ b lbl_8023C9E4
lbl_8023C85C:
/* 8023C85C 002397BC 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 8023C860 002397C0 38 60 00 00 */ li r3, 0
/* 8023C864 002397C4 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 8023C868 002397C8 3B BE 01 B4 */ addi r29, r30, 0x1b4
/* 8023C86C 002397CC 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 8023C870 002397D0 3B 80 00 00 */ li r28, 0
lbl_8023C874:
/* 8023C874 002397D4 80 7D 00 00 */ lwz r3, 0(r29)
/* 8023C878 002397D8 80 63 00 00 */ lwz r3, 0(r3)
/* 8023C87C 002397DC 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8023C880 002397E0 4B DF 01 85 */ bl PreRender__9CAnimDataFv
/* 8023C884 002397E4 3B 9C 00 01 */ addi r28, r28, 1
/* 8023C888 002397E8 3B BD 00 04 */ addi r29, r29, 4
/* 8023C88C 002397EC 2C 1C 00 04 */ cmpwi r28, 4
/* 8023C890 002397F0 41 80 FF E4 */ blt lbl_8023C874
/* 8023C894 002397F4 80 7E 00 90 */ lwz r3, 0x90(r30)
/* 8023C898 002397F8 3B 80 00 00 */ li r28, 0
/* 8023C89C 002397FC 28 03 00 00 */ cmplwi r3, 0
/* 8023C8A0 00239800 41 82 01 44 */ beq lbl_8023C9E4
/* 8023C8A4 00239804 88 1E 01 40 */ lbz r0, 0x140(r30)
/* 8023C8A8 00239808 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8023C8AC 0023980C 41 82 01 38 */ beq lbl_8023C9E4
/* 8023C8B0 00239810 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 8023C8B4 00239814 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 8023C8B8 00239818 41 82 00 1C */ beq lbl_8023C8D4
/* 8023C8BC 0023981C 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 8023C8C0 00239820 38 60 00 00 */ li r3, 0
/* 8023C8C4 00239824 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8023C8C8 00239828 3B 80 00 01 */ li r28, 1
/* 8023C8CC 0023982C 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 8023C8D0 00239830 48 00 00 18 */ b lbl_8023C8E8
lbl_8023C8D4:
/* 8023C8D4 00239834 88 03 02 98 */ lbz r0, 0x298(r3)
/* 8023C8D8 00239838 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f
/* 8023C8DC 0023983C 28 00 00 01 */ cmplwi r0, 1
/* 8023C8E0 00239840 40 82 00 08 */ bne lbl_8023C8E8
/* 8023C8E4 00239844 3B 80 00 01 */ li r28, 1
lbl_8023C8E8:
/* 8023C8E8 00239848 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 8023C8EC 0023984C 38 60 00 00 */ li r3, 0
/* 8023C8F0 00239850 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8023C8F4 00239854 41 82 00 14 */ beq lbl_8023C908
/* 8023C8F8 00239858 80 1E 00 90 */ lwz r0, 0x90(r30)
/* 8023C8FC 0023985C 28 00 00 00 */ cmplwi r0, 0
/* 8023C900 00239860 41 82 00 08 */ beq lbl_8023C908
/* 8023C904 00239864 38 60 00 01 */ li r3, 1
lbl_8023C908:
/* 8023C908 00239868 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8023C90C 0023986C 41 82 00 D8 */ beq lbl_8023C9E4
/* 8023C910 00239870 C0 1E 01 44 */ lfs f0, 0x144(r30)
/* 8023C914 00239874 7F E4 FB 78 */ mr r4, r31
/* 8023C918 00239878 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8023C91C 0023987C C0 1E 01 48 */ lfs f0, 0x148(r30)
/* 8023C920 00239880 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8023C924 00239884 C0 1E 01 4C */ lfs f0, 0x14c(r30)
/* 8023C928 00239888 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8023C92C 0023988C C0 1E 01 50 */ lfs f0, 0x150(r30)
/* 8023C930 00239890 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8023C934 00239894 C0 1E 01 54 */ lfs f0, 0x154(r30)
/* 8023C938 00239898 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8023C93C 0023989C C0 1E 01 58 */ lfs f0, 0x158(r30)
/* 8023C940 002398A0 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8023C944 002398A4 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8023C948 002398A8 80 63 00 00 */ lwz r3, 0(r3)
/* 8023C94C 002398AC 4B E5 4C 0D */ bl GetActiveVisor__12CPlayerStateCFRC13CStateManager
/* 8023C950 002398B0 2C 03 00 03 */ cmpwi r3, 3
/* 8023C954 002398B4 40 82 00 1C */ bne lbl_8023C970
/* 8023C958 002398B8 83 DE 00 90 */ lwz r30, 0x90(r30)
/* 8023C95C 002398BC 48 10 D6 51 */ bl White__6CColorFv
/* 8023C960 002398C0 7C 64 1B 78 */ mr r4, r3
/* 8023C964 002398C4 7F C3 F3 78 */ mr r3, r30
/* 8023C968 002398C8 4B EC 67 49 */ bl BuildConstantAmbientLighting__12CActorLightsFRC6CColor
/* 8023C96C 002398CC 48 00 00 78 */ b lbl_8023C9E4
lbl_8023C970:
/* 8023C970 002398D0 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 8023C974 002398D4 28 00 00 01 */ cmplwi r0, 1
/* 8023C978 002398D8 40 82 00 5C */ bne lbl_8023C9D4
/* 8023C97C 002398DC 80 BE 00 04 */ lwz r5, 4(r30)
/* 8023C980 002398E0 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13)
/* 8023C984 002398E4 7C 05 00 00 */ cmpw r5, r0
/* 8023C988 002398E8 41 82 00 4C */ beq lbl_8023C9D4
/* 8023C98C 002398EC 80 7F 08 50 */ lwz r3, 0x850(r31)
/* 8023C990 002398F0 54 A4 18 38 */ slwi r4, r5, 3
/* 8023C994 002398F4 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8023C998 002398F8 80 E3 00 20 */ lwz r7, 0x20(r3)
/* 8023C99C 002398FC 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8023C9A0 00239900 7C 67 22 14 */ add r3, r7, r4
/* 8023C9A4 00239904 80 63 00 04 */ lwz r3, 4(r3)
/* 8023C9A8 00239908 88 03 00 F0 */ lbz r0, 0xf0(r3)
/* 8023C9AC 0023990C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8023C9B0 00239910 41 82 00 24 */ beq lbl_8023C9D4
/* 8023C9B4 00239914 38 04 00 04 */ addi r0, r4, 4
/* 8023C9B8 00239918 90 A1 00 08 */ stw r5, 8(r1)
/* 8023C9BC 0023991C 80 7E 00 90 */ lwz r3, 0x90(r30)
/* 8023C9C0 00239920 7F E4 FB 78 */ mr r4, r31
/* 8023C9C4 00239924 90 A1 00 0C */ stw r5, 0xc(r1)
/* 8023C9C8 00239928 38 C1 00 18 */ addi r6, r1, 0x18
/* 8023C9CC 0023992C 7C A7 00 2E */ lwzx r5, r7, r0
/* 8023C9D0 00239930 4B EC 73 F1 */ bl BuildAreaLightList__12CActorLightsFRC13CStateManagerRC9CGameAreaRC6CAABox
lbl_8023C9D4:
/* 8023C9D4 00239934 80 7E 00 90 */ lwz r3, 0x90(r30)
/* 8023C9D8 00239938 7F E4 FB 78 */ mr r4, r31
/* 8023C9DC 0023993C 38 A1 00 18 */ addi r5, r1, 0x18
/* 8023C9E0 00239940 4B EC 6D 31 */ bl BuildDynamicLightList__12CActorLightsFRC13CStateManagerRC6CAABox
lbl_8023C9E4:
/* 8023C9E4 00239944 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8023C9E8 00239948 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8023C9EC 0023994C 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8023C9F0 00239950 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8023C9F4 00239954 83 81 00 30 */ lwz r28, 0x30(r1)
/* 8023C9F8 00239958 7C 08 03 A6 */ mtlr r0
/* 8023C9FC 0023995C 38 21 00 40 */ addi r1, r1, 0x40
/* 8023CA00 00239960 4E 80 00 20 */ blr
.global ApplyRadiusDamage__15CSnakeWeedSwarmF9CVector3ffR13CStateManager
ApplyRadiusDamage__15CSnakeWeedSwarmF9CVector3ffR13CStateManager:
/* 8023CA04 00239964 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023CA08 00239968 7C 08 02 A6 */ mflr r0
/* 8023CA0C 0023996C 7C 87 23 78 */ mr r7, r4
/* 8023CA10 00239970 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023CA14 00239974 80 05 00 00 */ lwz r0, 0(r5)
/* 8023CA18 00239978 2C 00 00 04 */ cmpwi r0, 4
/* 8023CA1C 0023997C 41 82 00 0C */ beq lbl_8023CA28
/* 8023CA20 00239980 2C 00 00 05 */ cmpwi r0, 5
/* 8023CA24 00239984 40 82 00 14 */ bne lbl_8023CA38
lbl_8023CA28:
/* 8023CA28 00239988 C0 25 00 10 */ lfs f1, 0x10(r5)
/* 8023CA2C 0023998C 7C C4 33 78 */ mr r4, r6
/* 8023CA30 00239990 7C E5 3B 78 */ mr r5, r7
/* 8023CA34 00239994 48 00 00 15 */ bl sub_8023ca48
lbl_8023CA38:
/* 8023CA38 00239998 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023CA3C 0023999C 7C 08 03 A6 */ mtlr r0
/* 8023CA40 002399A0 38 21 00 10 */ addi r1, r1, 0x10
/* 8023CA44 002399A4 4E 80 00 20 */ blr
.global sub_8023ca48
sub_8023ca48:
/* 8023CA48 002399A8 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8023CA4C 002399AC 7C 08 02 A6 */ mflr r0
/* 8023CA50 002399B0 90 01 00 44 */ stw r0, 0x44(r1)
/* 8023CA54 002399B4 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8023CA58 002399B8 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8023CA5C 002399BC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8023CA60 002399C0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8023CA64 002399C4 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8023CA68 002399C8 93 81 00 20 */ stw r28, 0x20(r1)
/* 8023CA6C 002399CC 7C 7C 1B 78 */ mr r28, r3
/* 8023CA70 002399D0 EF E1 00 72 */ fmuls f31, f1, f1
/* 8023CA74 002399D4 83 E3 01 3C */ lwz r31, 0x13c(r3)
/* 8023CA78 002399D8 7C 9D 23 78 */ mr r29, r4
/* 8023CA7C 002399DC 7C BE 2B 78 */ mr r30, r5
/* 8023CA80 002399E0 48 00 00 E8 */ b lbl_8023CB68
lbl_8023CA84:
/* 8023CA84 002399E4 7F E3 FB 78 */ mr r3, r31
/* 8023CA88 002399E8 48 00 19 15 */ bl nullsub_21
/* 8023CA8C 002399EC C0 43 00 04 */ lfs f2, 4(r3)
/* 8023CA90 002399F0 C0 1E 00 04 */ lfs f0, 4(r30)
/* 8023CA94 002399F4 C0 23 00 00 */ lfs f1, 0(r3)
/* 8023CA98 002399F8 EC 82 00 28 */ fsubs f4, f2, f0
/* 8023CA9C 002399FC C0 1E 00 00 */ lfs f0, 0(r30)
/* 8023CAA0 00239A00 C0 63 00 08 */ lfs f3, 8(r3)
/* 8023CAA4 00239A04 EC 41 00 28 */ fsubs f2, f1, f0
/* 8023CAA8 00239A08 C0 3E 00 08 */ lfs f1, 8(r30)
/* 8023CAAC 00239A0C EC 04 01 32 */ fmuls f0, f4, f4
/* 8023CAB0 00239A10 EC 63 08 28 */ fsubs f3, f3, f1
/* 8023CAB4 00239A14 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 8023CAB8 00239A18 EC 22 00 B2 */ fmuls f1, f2, f2
/* 8023CABC 00239A1C D0 41 00 0C */ stfs f2, 0xc(r1)
/* 8023CAC0 00239A20 EC 43 00 F2 */ fmuls f2, f3, f3
/* 8023CAC4 00239A24 EC 01 00 2A */ fadds f0, f1, f0
/* 8023CAC8 00239A28 D0 61 00 14 */ stfs f3, 0x14(r1)
/* 8023CACC 00239A2C EC 02 00 2A */ fadds f0, f2, f0
/* 8023CAD0 00239A30 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 8023CAD4 00239A34 40 80 00 90 */ bge lbl_8023CB64
/* 8023CAD8 00239A38 7F E3 FB 78 */ mr r3, r31
/* 8023CADC 00239A3C 48 00 18 C5 */ bl sub_8023e3a0
/* 8023CAE0 00239A40 2C 03 00 00 */ cmpwi r3, 0
/* 8023CAE4 00239A44 41 82 00 14 */ beq lbl_8023CAF8
/* 8023CAE8 00239A48 7F E3 FB 78 */ mr r3, r31
/* 8023CAEC 00239A4C 48 00 18 B5 */ bl sub_8023e3a0
/* 8023CAF0 00239A50 2C 03 00 01 */ cmpwi r3, 1
/* 8023CAF4 00239A54 40 82 00 70 */ bne lbl_8023CB64
lbl_8023CAF8:
/* 8023CAF8 00239A58 7F E3 FB 78 */ mr r3, r31
/* 8023CAFC 00239A5C 38 80 00 03 */ li r4, 3
/* 8023CB00 00239A60 48 00 18 A9 */ bl sub_8023e3a8
/* 8023CB04 00239A64 80 7D 09 00 */ lwz r3, 0x900(r29)
/* 8023CB08 00239A68 48 0D 59 D5 */ bl Float__9CRandom16Fv
/* 8023CB0C 00239A6C C0 5C 01 18 */ lfs f2, 0x118(r28)
/* 8023CB10 00239A70 7F E3 FB 78 */ mr r3, r31
/* 8023CB14 00239A74 C0 1C 01 14 */ lfs f0, 0x114(r28)
/* 8023CB18 00239A78 EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 8023CB1C 00239A7C 48 00 18 51 */ bl sub_8023e36c
/* 8023CB20 00239A80 7F E3 FB 78 */ mr r3, r31
/* 8023CB24 00239A84 48 00 18 79 */ bl nullsub_21
/* 8023CB28 00239A88 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha
/* 8023CB2C 00239A8C A0 9C 01 D2 */ lhz r4, 0x1d2(r28)
/* 8023CB30 00239A90 38 C5 66 A0 */ addi r6, r5, sZeroVector__9CVector3f@l
/* 8023CB34 00239A94 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2)
/* 8023CB38 00239A98 7C 65 1B 78 */ mr r5, r3
/* 8023CB3C 00239A9C 81 5C 00 04 */ lwz r10, 4(r28)
/* 8023CB40 00239AA0 38 61 00 08 */ addi r3, r1, 8
/* 8023CB44 00239AA4 38 E0 00 01 */ li r7, 1
/* 8023CB48 00239AA8 39 00 00 00 */ li r8, 0
/* 8023CB4C 00239AAC 48 0A D7 65 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi
/* 8023CB50 00239AB0 7F E3 FB 78 */ mr r3, r31
/* 8023CB54 00239AB4 48 00 18 49 */ bl nullsub_21
/* 8023CB58 00239AB8 7C 64 1B 78 */ mr r4, r3
/* 8023CB5C 00239ABC 7F 83 E3 78 */ mr r3, r28
/* 8023CB60 00239AC0 4B FF EC B5 */ bl sub_8023b814
lbl_8023CB64:
/* 8023CB64 00239AC4 3B FF 00 24 */ addi r31, r31, 0x24
lbl_8023CB68:
/* 8023CB68 00239AC8 80 1C 01 34 */ lwz r0, 0x134(r28)
/* 8023CB6C 00239ACC 80 7C 01 3C */ lwz r3, 0x13c(r28)
/* 8023CB70 00239AD0 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8023CB74 00239AD4 7C 03 02 14 */ add r0, r3, r0
/* 8023CB78 00239AD8 7C 1F 00 40 */ cmplw r31, r0
/* 8023CB7C 00239ADC 40 82 FF 08 */ bne lbl_8023CA84
/* 8023CB80 00239AE0 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8023CB84 00239AE4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8023CB88 00239AE8 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8023CB8C 00239AEC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8023CB90 00239AF0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8023CB94 00239AF4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8023CB98 00239AF8 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8023CB9C 00239AFC 7C 08 03 A6 */ mtlr r0
/* 8023CBA0 00239B00 38 21 00 40 */ addi r1, r1, 0x40
/* 8023CBA4 00239B04 4E 80 00 20 */ blr
.global Touch__15CSnakeWeedSwarmFR6CActorR13CStateManager
Touch__15CSnakeWeedSwarmFR6CActorR13CStateManager:
/* 8023CBA8 00239B08 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8023CBAC 00239B0C 7C 08 02 A6 */ mflr r0
/* 8023CBB0 00239B10 90 01 00 84 */ stw r0, 0x84(r1)
/* 8023CBB4 00239B14 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8023CBB8 00239B18 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 8023CBBC 00239B1C DB C1 00 60 */ stfd f30, 0x60(r1)
/* 8023CBC0 00239B20 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 8023CBC4 00239B24 DB A1 00 50 */ stfd f29, 0x50(r1)
/* 8023CBC8 00239B28 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 8023CBCC 00239B2C 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8023CBD0 00239B30 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8023CBD4 00239B34 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8023CBD8 00239B38 93 81 00 40 */ stw r28, 0x40(r1)
/* 8023CBDC 00239B3C 7C 7C 1B 78 */ mr r28, r3
/* 8023CBE0 00239B40 7C 9E 23 78 */ mr r30, r4
/* 8023CBE4 00239B44 7C BD 2B 78 */ mr r29, r5
/* 8023CBE8 00239B48 38 61 00 14 */ addi r3, r1, 0x14
/* 8023CBEC 00239B4C 4B E7 0B 8D */ bl "__ct__29TCastToPtr<15CGameProjectile>FR7CEntity"
/* 8023CBF0 00239B50 80 A3 00 04 */ lwz r5, 4(r3)
/* 8023CBF4 00239B54 28 05 00 00 */ cmplwi r5, 0
/* 8023CBF8 00239B58 41 82 00 3C */ beq lbl_8023CC34
/* 8023CBFC 00239B5C 80 05 01 2C */ lwz r0, 0x12c(r5)
/* 8023CC00 00239B60 2C 00 00 09 */ cmpwi r0, 9
/* 8023CC04 00239B64 41 82 00 30 */ beq lbl_8023CC34
/* 8023CC08 00239B68 C0 45 00 60 */ lfs f2, 0x60(r5)
/* 8023CC0C 00239B6C 7F 83 E3 78 */ mr r3, r28
/* 8023CC10 00239B70 C0 25 00 50 */ lfs f1, 0x50(r5)
/* 8023CC14 00239B74 7F A4 EB 78 */ mr r4, r29
/* 8023CC18 00239B78 C0 05 00 40 */ lfs f0, 0x40(r5)
/* 8023CC1C 00239B7C 38 A1 00 28 */ addi r5, r1, 0x28
/* 8023CC20 00239B80 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8023CC24 00239B84 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 8023CC28 00239B88 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 8023CC2C 00239B8C C0 3C 01 00 */ lfs f1, 0x100(r28)
/* 8023CC30 00239B90 4B FF FE 19 */ bl sub_8023ca48
lbl_8023CC34:
/* 8023CC34 00239B94 7F C4 F3 78 */ mr r4, r30
/* 8023CC38 00239B98 38 61 00 0C */ addi r3, r1, 0xc
/* 8023CC3C 00239B9C 4B E6 F7 C5 */ bl "__ct__20TCastToPtr<7CPlayer>FR7CEntity"
/* 8023CC40 00239BA0 83 E3 00 04 */ lwz r31, 4(r3)
/* 8023CC44 00239BA4 28 1F 00 00 */ cmplwi r31, 0
/* 8023CC48 00239BA8 41 82 00 B4 */ beq lbl_8023CCFC
/* 8023CC4C 00239BAC 83 DC 01 3C */ lwz r30, 0x13c(r28)
/* 8023CC50 00239BB0 48 00 00 94 */ b lbl_8023CCE4
lbl_8023CC54:
/* 8023CC54 00239BB4 C3 BF 00 60 */ lfs f29, 0x60(r31)
/* 8023CC58 00239BB8 7F C3 F3 78 */ mr r3, r30
/* 8023CC5C 00239BBC C3 DF 00 50 */ lfs f30, 0x50(r31)
/* 8023CC60 00239BC0 C3 FF 00 40 */ lfs f31, 0x40(r31)
/* 8023CC64 00239BC4 48 00 17 39 */ bl nullsub_21
/* 8023CC68 00239BC8 C0 43 00 04 */ lfs f2, 4(r3)
/* 8023CC6C 00239BCC C0 23 00 08 */ lfs f1, 8(r3)
/* 8023CC70 00239BD0 C0 03 00 00 */ lfs f0, 0(r3)
/* 8023CC74 00239BD4 EC 42 F0 28 */ fsubs f2, f2, f30
/* 8023CC78 00239BD8 EC 21 E8 28 */ fsubs f1, f1, f29
/* 8023CC7C 00239BDC 38 61 00 1C */ addi r3, r1, 0x1c
/* 8023CC80 00239BE0 EC 00 F8 28 */ fsubs f0, f0, f31
/* 8023CC84 00239BE4 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 8023CC88 00239BE8 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8023CC8C 00239BEC D0 21 00 24 */ stfs f1, 0x24(r1)
/* 8023CC90 00239BF0 48 0D 7C 29 */ bl Magnitude__9CVector3fCFv
/* 8023CC94 00239BF4 C0 1C 01 04 */ lfs f0, 0x104(r28)
/* 8023CC98 00239BF8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8023CC9C 00239BFC 40 80 00 44 */ bge lbl_8023CCE0
/* 8023CCA0 00239C00 7F C3 F3 78 */ mr r3, r30
/* 8023CCA4 00239C04 48 00 16 FD */ bl sub_8023e3a0
/* 8023CCA8 00239C08 2C 03 00 00 */ cmpwi r3, 0
/* 8023CCAC 00239C0C 40 82 00 34 */ bne lbl_8023CCE0
/* 8023CCB0 00239C10 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8023CCB4 00239C14 7F A3 EB 78 */ mr r3, r29
/* 8023CCB8 00239C18 7F E4 FB 78 */ mr r4, r31
/* 8023CCBC 00239C1C 38 A1 00 08 */ addi r5, r1, 8
/* 8023CCC0 00239C20 B0 01 00 08 */ sth r0, 8(r1)
/* 8023CCC4 00239C24 38 C0 00 2C */ li r6, 0x2c
/* 8023CCC8 00239C28 4B E0 72 09 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TUniqueId20EScriptObjectMessage
/* 8023CCCC 00239C2C 88 1C 01 40 */ lbz r0, 0x140(r28)
/* 8023CCD0 00239C30 38 60 00 01 */ li r3, 1
/* 8023CCD4 00239C34 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8023CCD8 00239C38 98 1C 01 40 */ stb r0, 0x140(r28)
/* 8023CCDC 00239C3C 48 00 00 20 */ b lbl_8023CCFC
lbl_8023CCE0:
/* 8023CCE0 00239C40 3B DE 00 24 */ addi r30, r30, 0x24
lbl_8023CCE4:
/* 8023CCE4 00239C44 80 1C 01 34 */ lwz r0, 0x134(r28)
/* 8023CCE8 00239C48 80 7C 01 3C */ lwz r3, 0x13c(r28)
/* 8023CCEC 00239C4C 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8023CCF0 00239C50 7C 03 02 14 */ add r0, r3, r0
/* 8023CCF4 00239C54 7C 1E 00 40 */ cmplw r30, r0
/* 8023CCF8 00239C58 40 82 FF 5C */ bne lbl_8023CC54
lbl_8023CCFC:
/* 8023CCFC 00239C5C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 8023CD00 00239C60 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 8023CD04 00239C64 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 8023CD08 00239C68 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 8023CD0C 00239C6C E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 8023CD10 00239C70 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 8023CD14 00239C74 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8023CD18 00239C78 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8023CD1C 00239C7C 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 8023CD20 00239C80 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8023CD24 00239C84 83 81 00 40 */ lwz r28, 0x40(r1)
/* 8023CD28 00239C88 7C 08 03 A6 */ mtlr r0
/* 8023CD2C 00239C8C 38 21 00 80 */ addi r1, r1, 0x80
/* 8023CD30 00239C90 4E 80 00 20 */ blr
.global Think__15CSnakeWeedSwarmFfR13CStateManager
Think__15CSnakeWeedSwarmFfR13CStateManager:
/* 8023CD34 00239C94 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 8023CD38 00239C98 7C 08 02 A6 */ mflr r0
/* 8023CD3C 00239C9C 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 8023CD40 00239CA0 DB E1 00 D0 */ stfd f31, 0xd0(r1)
/* 8023CD44 00239CA4 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, qr0
/* 8023CD48 00239CA8 DB C1 00 C0 */ stfd f30, 0xc0(r1)
/* 8023CD4C 00239CAC F3 C1 00 C8 */ psq_st f30, 200(r1), 0, qr0
/* 8023CD50 00239CB0 BF 61 00 AC */ stmw r27, 0xac(r1)
/* 8023CD54 00239CB4 FF E0 08 90 */ fmr f31, f1
/* 8023CD58 00239CB8 7C 7D 1B 78 */ mr r29, r3
/* 8023CD5C 00239CBC 7C 9E 23 78 */ mr r30, r4
/* 8023CD60 00239CC0 4B E1 43 59 */ bl Think__7CEntityFfR13CStateManager
/* 8023CD64 00239CC4 88 1D 00 30 */ lbz r0, 0x30(r29)
/* 8023CD68 00239CC8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8023CD6C 00239CCC 41 82 04 74 */ beq lbl_8023D1E0
/* 8023CD70 00239CD0 80 7D 01 F0 */ lwz r3, 0x1f0(r29)
/* 8023CD74 00239CD4 28 03 00 00 */ cmplwi r3, 0
/* 8023CD78 00239CD8 41 82 00 18 */ beq lbl_8023CD90
/* 8023CD7C 00239CDC 81 83 00 00 */ lwz r12, 0(r3)
/* 8023CD80 00239CE0 FC 20 F8 90 */ fmr f1, f31
/* 8023CD84 00239CE4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8023CD88 00239CE8 7D 89 03 A6 */ mtctr r12
/* 8023CD8C 00239CEC 4E 80 04 21 */ bctrl
lbl_8023CD90:
/* 8023CD90 00239CF0 80 7D 01 F8 */ lwz r3, 0x1f8(r29)
/* 8023CD94 00239CF4 28 03 00 00 */ cmplwi r3, 0
/* 8023CD98 00239CF8 41 82 00 18 */ beq lbl_8023CDB0
/* 8023CD9C 00239CFC 81 83 00 00 */ lwz r12, 0(r3)
/* 8023CDA0 00239D00 FC 20 F8 90 */ fmr f1, f31
/* 8023CDA4 00239D04 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8023CDA8 00239D08 7D 89 03 A6 */ mtctr r12
/* 8023CDAC 00239D0C 4E 80 04 21 */ bctrl
lbl_8023CDB0:
/* 8023CDB0 00239D10 C0 3D 02 04 */ lfs f1, 0x204(r29)
/* 8023CDB4 00239D14 3B E0 00 00 */ li r31, 0
/* 8023CDB8 00239D18 C0 02 B7 68 */ lfs f0, lbl_805AD488@sda21(r2)
/* 8023CDBC 00239D1C EC 21 F8 28 */ fsubs f1, f1, f31
/* 8023CDC0 00239D20 D0 3D 02 04 */ stfs f1, 0x204(r29)
/* 8023CDC4 00239D24 C0 3D 02 04 */ lfs f1, 0x204(r29)
/* 8023CDC8 00239D28 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8023CDCC 00239D2C 40 80 00 0C */ bge lbl_8023CDD8
/* 8023CDD0 00239D30 D0 1D 02 04 */ stfs f0, 0x204(r29)
/* 8023CDD4 00239D34 3B E0 00 01 */ li r31, 1
lbl_8023CDD8:
/* 8023CDD8 00239D38 88 1D 01 40 */ lbz r0, 0x140(r29)
/* 8023CDDC 00239D3C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8023CDE0 00239D40 40 82 00 10 */ bne lbl_8023CDF0
/* 8023CDE4 00239D44 7F A3 EB 78 */ mr r3, r29
/* 8023CDE8 00239D48 7F C4 F3 78 */ mr r4, r30
/* 8023CDEC 00239D4C 4B FF F4 4D */ bl sub_8023c238
lbl_8023CDF0:
/* 8023CDF0 00239D50 88 1D 01 40 */ lbz r0, 0x140(r29)
/* 8023CDF4 00239D54 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8023CDF8 00239D58 41 82 00 5C */ beq lbl_8023CE54
/* 8023CDFC 00239D5C 80 7D 01 C8 */ lwz r3, 0x1c8(r29)
/* 8023CE00 00239D60 28 03 00 00 */ cmplwi r3, 0
/* 8023CE04 00239D64 41 82 00 50 */ beq lbl_8023CE54
/* 8023CE08 00239D68 80 03 00 04 */ lwz r0, 4(r3)
/* 8023CE0C 00239D6C 2C 00 00 00 */ cmpwi r0, 0
/* 8023CE10 00239D70 40 81 00 44 */ ble lbl_8023CE54
/* 8023CE14 00239D74 80 7D 01 CC */ lwz r3, 0x1cc(r29)
/* 8023CE18 00239D78 3C 00 43 30 */ lis r0, 0x4330
/* 8023CE1C 00239D7C 90 01 00 98 */ stw r0, 0x98(r1)
/* 8023CE20 00239D80 80 03 00 04 */ lwz r0, 4(r3)
/* 8023CE24 00239D84 C8 22 B7 80 */ lfd f1, lbl_805AD4A0@sda21(r2)
/* 8023CE28 00239D88 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8023CE2C 00239D8C 90 01 00 9C */ stw r0, 0x9c(r1)
/* 8023CE30 00239D90 C8 01 00 98 */ lfd f0, 0x98(r1)
/* 8023CE34 00239D94 EC 00 08 28 */ fsubs f0, f0, f1
/* 8023CE38 00239D98 EF DF 00 32 */ fmuls f30, f31, f0
/* 8023CE3C 00239D9C F3 C1 D0 08 */ psq_st f30, 8(r1), 1, qr5
/* 8023CE40 00239DA0 7F A3 EB 78 */ mr r3, r29
/* 8023CE44 00239DA4 7F C4 F3 78 */ mr r4, r30
/* 8023CE48 00239DA8 A8 A1 00 08 */ lha r5, 8(r1)
/* 8023CE4C 00239DAC 38 A5 00 01 */ addi r5, r5, 1
/* 8023CE50 00239DB0 4B FF EE 59 */ bl sub_8023bca8
lbl_8023CE54:
/* 8023CE54 00239DB4 88 1D 01 40 */ lbz r0, 0x140(r29)
/* 8023CE58 00239DB8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8023CE5C 00239DBC 41 82 00 28 */ beq lbl_8023CE84
/* 8023CE60 00239DC0 7F C3 F3 78 */ mr r3, r30
/* 8023CE64 00239DC4 4B ED 80 79 */ bl GetRenderingModel__10CModelDataFRC13CStateManager
/* 8023CE68 00239DC8 80 1D 01 C4 */ lwz r0, 0x1c4(r29)
/* 8023CE6C 00239DCC 7C 65 1B 78 */ mr r5, r3
/* 8023CE70 00239DD0 7C 00 28 00 */ cmpw r0, r5
/* 8023CE74 00239DD4 41 82 00 10 */ beq lbl_8023CE84
/* 8023CE78 00239DD8 7F A3 EB 78 */ mr r3, r29
/* 8023CE7C 00239DDC 7F C4 F3 78 */ mr r4, r30
/* 8023CE80 00239DE0 48 00 05 F5 */ bl sub_8023d474
lbl_8023CE84:
/* 8023CE84 00239DE4 3B 60 00 00 */ li r27, 0
/* 8023CE88 00239DE8 3B 9D 01 B4 */ addi r28, r29, 0x1b4
lbl_8023CE8C:
/* 8023CE8C 00239DEC 80 7C 00 00 */ lwz r3, 0(r28)
/* 8023CE90 00239DF0 C0 22 B7 74 */ lfs f1, lbl_805AD494@sda21(r2)
/* 8023CE94 00239DF4 80 63 00 00 */ lwz r3, 0(r3)
/* 8023CE98 00239DF8 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8023CE9C 00239DFC 4B DE E5 CD */ bl SetPlaybackRate__9CAnimDataFf
/* 8023CEA0 00239E00 80 1D 00 04 */ lwz r0, 4(r29)
/* 8023CEA4 00239E04 FC 20 F8 90 */ fmr f1, f31
/* 8023CEA8 00239E08 7F C5 F3 78 */ mr r5, r30
/* 8023CEAC 00239E0C 38 61 00 7C */ addi r3, r1, 0x7c
/* 8023CEB0 00239E10 90 01 00 34 */ stw r0, 0x34(r1)
/* 8023CEB4 00239E14 38 C1 00 34 */ addi r6, r1, 0x34
/* 8023CEB8 00239E18 38 E0 00 01 */ li r7, 1
/* 8023CEBC 00239E1C 80 9C 00 00 */ lwz r4, 0(r28)
/* 8023CEC0 00239E20 90 01 00 30 */ stw r0, 0x30(r1)
/* 8023CEC4 00239E24 80 84 00 00 */ lwz r4, 0(r4)
/* 8023CEC8 00239E28 4B ED 8C 6D */ bl AdvanceAnimation__10CModelDataFfR13CStateManager7TAreaIdb
/* 8023CECC 00239E2C 3B 7B 00 01 */ addi r27, r27, 1
/* 8023CED0 00239E30 3B 9C 00 04 */ addi r28, r28, 4
/* 8023CED4 00239E34 2C 1B 00 04 */ cmpwi r27, 4
/* 8023CED8 00239E38 41 80 FF B4 */ blt lbl_8023CE8C
/* 8023CEDC 00239E3C 83 9D 01 3C */ lwz r28, 0x13c(r29)
/* 8023CEE0 00239E40 3B 60 00 00 */ li r27, 0
/* 8023CEE4 00239E44 48 00 01 BC */ b lbl_8023D0A0
lbl_8023CEE8:
/* 8023CEE8 00239E48 7F 83 E3 78 */ mr r3, r28
/* 8023CEEC 00239E4C 48 00 14 B5 */ bl sub_8023e3a0
/* 8023CEF0 00239E50 2C 03 00 02 */ cmpwi r3, 2
/* 8023CEF4 00239E54 41 82 00 A8 */ beq lbl_8023CF9C
/* 8023CEF8 00239E58 40 80 00 14 */ bge lbl_8023CF0C
/* 8023CEFC 00239E5C 2C 03 00 00 */ cmpwi r3, 0
/* 8023CF00 00239E60 41 82 00 18 */ beq lbl_8023CF18
/* 8023CF04 00239E64 40 80 00 44 */ bge lbl_8023CF48
/* 8023CF08 00239E68 48 00 01 94 */ b lbl_8023D09C
lbl_8023CF0C:
/* 8023CF0C 00239E6C 2C 03 00 04 */ cmpwi r3, 4
/* 8023CF10 00239E70 40 80 01 8C */ bge lbl_8023D09C
/* 8023CF14 00239E74 48 00 01 08 */ b lbl_8023D01C
lbl_8023CF18:
/* 8023CF18 00239E78 80 1D 01 F8 */ lwz r0, 0x1f8(r29)
/* 8023CF1C 00239E7C 3B 7B 00 01 */ addi r27, r27, 1
/* 8023CF20 00239E80 28 00 00 00 */ cmplwi r0, 0
/* 8023CF24 00239E84 41 82 01 78 */ beq lbl_8023D09C
/* 8023CF28 00239E88 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 8023CF2C 00239E8C 41 82 01 70 */ beq lbl_8023D09C
/* 8023CF30 00239E90 7F 83 E3 78 */ mr r3, r28
/* 8023CF34 00239E94 48 00 14 69 */ bl nullsub_21
/* 8023CF38 00239E98 7C 64 1B 78 */ mr r4, r3
/* 8023CF3C 00239E9C 7F A3 EB 78 */ mr r3, r29
/* 8023CF40 00239EA0 4B FF E9 65 */ bl sub_8023b8a4
/* 8023CF44 00239EA4 48 00 01 58 */ b lbl_8023D09C
lbl_8023CF48:
/* 8023CF48 00239EA8 7F 83 E3 78 */ mr r3, r28
/* 8023CF4C 00239EAC 48 00 14 39 */ bl sub_8023e384
/* 8023CF50 00239EB0 FF C0 08 90 */ fmr f30, f1
/* 8023CF54 00239EB4 7F 83 E3 78 */ mr r3, r28
/* 8023CF58 00239EB8 48 00 14 1D */ bl sub_8023e374
/* 8023CF5C 00239EBC EC 3F F0 7C */ fnmsubs f1, f31, f1, f30
/* 8023CF60 00239EC0 7F 83 E3 78 */ mr r3, r28
/* 8023CF64 00239EC4 48 00 14 19 */ bl sub_8023e37c
/* 8023CF68 00239EC8 7F 83 E3 78 */ mr r3, r28
/* 8023CF6C 00239ECC 48 00 14 19 */ bl sub_8023e384
/* 8023CF70 00239ED0 C0 02 B7 68 */ lfs f0, lbl_805AD488@sda21(r2)
/* 8023CF74 00239ED4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8023CF78 00239ED8 4C 40 13 82 */ cror 2, 0, 2
/* 8023CF7C 00239EDC 40 82 01 20 */ bne lbl_8023D09C
/* 8023CF80 00239EE0 FC 20 00 90 */ fmr f1, f0
/* 8023CF84 00239EE4 7F 83 E3 78 */ mr r3, r28
/* 8023CF88 00239EE8 48 00 13 F5 */ bl sub_8023e37c
/* 8023CF8C 00239EEC 7F 83 E3 78 */ mr r3, r28
/* 8023CF90 00239EF0 38 80 00 00 */ li r4, 0
/* 8023CF94 00239EF4 48 00 14 15 */ bl sub_8023e3a8
/* 8023CF98 00239EF8 48 00 01 04 */ b lbl_8023D09C
lbl_8023CF9C:
/* 8023CF9C 00239EFC 7F 83 E3 78 */ mr r3, r28
/* 8023CFA0 00239F00 48 00 13 F5 */ bl sub_8023e394
/* 8023CFA4 00239F04 EC 21 F8 28 */ fsubs f1, f1, f31
/* 8023CFA8 00239F08 7F 83 E3 78 */ mr r3, r28
/* 8023CFAC 00239F0C 48 00 13 E1 */ bl sub_8023e38c
/* 8023CFB0 00239F10 7F 83 E3 78 */ mr r3, r28
/* 8023CFB4 00239F14 48 00 13 E1 */ bl sub_8023e394
/* 8023CFB8 00239F18 C0 02 B7 68 */ lfs f0, lbl_805AD488@sda21(r2)
/* 8023CFBC 00239F1C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8023CFC0 00239F20 4C 40 13 82 */ cror 2, 0, 2
/* 8023CFC4 00239F24 40 82 00 D8 */ bne lbl_8023D09C
/* 8023CFC8 00239F28 7F 83 E3 78 */ mr r3, r28
/* 8023CFCC 00239F2C 38 80 00 01 */ li r4, 1
/* 8023CFD0 00239F30 48 00 13 D9 */ bl sub_8023e3a8
/* 8023CFD4 00239F34 7F 83 E3 78 */ mr r3, r28
/* 8023CFD8 00239F38 48 00 13 C5 */ bl nullsub_21
/* 8023CFDC 00239F3C 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha
/* 8023CFE0 00239F40 A0 9D 01 D4 */ lhz r4, 0x1d4(r29)
/* 8023CFE4 00239F44 38 C5 66 A0 */ addi r6, r5, sZeroVector__9CVector3f@l
/* 8023CFE8 00239F48 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2)
/* 8023CFEC 00239F4C 7C 65 1B 78 */ mr r5, r3
/* 8023CFF0 00239F50 81 5D 00 04 */ lwz r10, 4(r29)
/* 8023CFF4 00239F54 38 61 00 2C */ addi r3, r1, 0x2c
/* 8023CFF8 00239F58 38 E0 00 01 */ li r7, 1
/* 8023CFFC 00239F5C 39 00 00 00 */ li r8, 0
/* 8023D000 00239F60 48 0A D2 B1 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi
/* 8023D004 00239F64 7F 83 E3 78 */ mr r3, r28
/* 8023D008 00239F68 48 00 13 95 */ bl nullsub_21
/* 8023D00C 00239F6C 7C 64 1B 78 */ mr r4, r3
/* 8023D010 00239F70 7F A3 EB 78 */ mr r3, r29
/* 8023D014 00239F74 4B FF E8 01 */ bl sub_8023b814
/* 8023D018 00239F78 48 00 00 84 */ b lbl_8023D09C
lbl_8023D01C:
/* 8023D01C 00239F7C 7F 83 E3 78 */ mr r3, r28
/* 8023D020 00239F80 48 00 13 65 */ bl sub_8023e384
/* 8023D024 00239F84 FF C0 08 90 */ fmr f30, f1
/* 8023D028 00239F88 7F 83 E3 78 */ mr r3, r28
/* 8023D02C 00239F8C 48 00 13 49 */ bl sub_8023e374
/* 8023D030 00239F90 EC 3F F0 7A */ fmadds f1, f31, f1, f30
/* 8023D034 00239F94 7F 83 E3 78 */ mr r3, r28
/* 8023D038 00239F98 48 00 13 45 */ bl sub_8023e37c
/* 8023D03C 00239F9C 7F 83 E3 78 */ mr r3, r28
/* 8023D040 00239FA0 48 00 13 25 */ bl sub_8023e364
/* 8023D044 00239FA4 C0 1D 01 10 */ lfs f0, 0x110(r29)
/* 8023D048 00239FA8 7F 83 E3 78 */ mr r3, r28
/* 8023D04C 00239FAC EF C0 00 72 */ fmuls f30, f0, f1
/* 8023D050 00239FB0 48 00 13 35 */ bl sub_8023e384
/* 8023D054 00239FB4 FC 01 F0 40 */ fcmpo cr0, f1, f30
/* 8023D058 00239FB8 40 81 00 44 */ ble lbl_8023D09C
/* 8023D05C 00239FBC 7F 83 E3 78 */ mr r3, r28
/* 8023D060 00239FC0 48 00 13 05 */ bl sub_8023e364
/* 8023D064 00239FC4 C0 1D 01 10 */ lfs f0, 0x110(r29)
/* 8023D068 00239FC8 7F 83 E3 78 */ mr r3, r28
/* 8023D06C 00239FCC EC 20 00 72 */ fmuls f1, f0, f1
/* 8023D070 00239FD0 48 00 13 0D */ bl sub_8023e37c
/* 8023D074 00239FD4 80 7E 09 00 */ lwz r3, 0x900(r30)
/* 8023D078 00239FD8 48 0D 54 65 */ bl Float__9CRandom16Fv
/* 8023D07C 00239FDC C0 5D 01 0C */ lfs f2, 0x10c(r29)
/* 8023D080 00239FE0 7F 83 E3 78 */ mr r3, r28
/* 8023D084 00239FE4 C0 1D 01 08 */ lfs f0, 0x108(r29)
/* 8023D088 00239FE8 EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 8023D08C 00239FEC 48 00 13 01 */ bl sub_8023e38c
/* 8023D090 00239FF0 7F 83 E3 78 */ mr r3, r28
/* 8023D094 00239FF4 38 80 00 02 */ li r4, 2
/* 8023D098 00239FF8 48 00 13 11 */ bl sub_8023e3a8
lbl_8023D09C:
/* 8023D09C 00239FFC 3B 9C 00 24 */ addi r28, r28, 0x24
lbl_8023D0A0:
/* 8023D0A0 0023A000 80 1D 01 34 */ lwz r0, 0x134(r29)
/* 8023D0A4 0023A004 80 7D 01 3C */ lwz r3, 0x13c(r29)
/* 8023D0A8 0023A008 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8023D0AC 0023A00C 7C 03 02 14 */ add r0, r3, r0
/* 8023D0B0 0023A010 7C 1C 00 40 */ cmplw r28, r0
/* 8023D0B4 0023A014 40 82 FE 34 */ bne lbl_8023CEE8
/* 8023D0B8 0023A018 2C 1B 00 00 */ cmpwi r27, 0
/* 8023D0BC 0023A01C 40 81 00 5C */ ble lbl_8023D118
/* 8023D0C0 0023A020 80 1D 01 D8 */ lwz r0, 0x1d8(r29)
/* 8023D0C4 0023A024 28 00 00 00 */ cmplwi r0, 0
/* 8023D0C8 0023A028 40 82 00 74 */ bne lbl_8023D13C
/* 8023D0CC 0023A02C 81 5D 00 04 */ lwz r10, 4(r29)
/* 8023D0D0 0023A030 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 8023D0D4 0023A034 C0 5D 00 60 */ lfs f2, 0x60(r29)
/* 8023D0D8 0023A038 38 C3 66 A0 */ addi r6, r3, sZeroVector__9CVector3f@l
/* 8023D0DC 0023A03C C0 3D 00 50 */ lfs f1, 0x50(r29)
/* 8023D0E0 0023A040 38 61 00 28 */ addi r3, r1, 0x28
/* 8023D0E4 0023A044 C0 1D 00 40 */ lfs f0, 0x40(r29)
/* 8023D0E8 0023A048 38 A1 00 38 */ addi r5, r1, 0x38
/* 8023D0EC 0023A04C A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2)
/* 8023D0F0 0023A050 38 E0 00 01 */ li r7, 1
/* 8023D0F4 0023A054 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 8023D0F8 0023A058 39 00 00 01 */ li r8, 1
/* 8023D0FC 0023A05C D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 8023D100 0023A060 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 8023D104 0023A064 A0 9D 01 D0 */ lhz r4, 0x1d0(r29)
/* 8023D108 0023A068 48 0A D1 A9 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi
/* 8023D10C 0023A06C 80 01 00 28 */ lwz r0, 0x28(r1)
/* 8023D110 0023A070 90 1D 01 D8 */ stw r0, 0x1d8(r29)
/* 8023D114 0023A074 48 00 00 28 */ b lbl_8023D13C
lbl_8023D118:
/* 8023D118 0023A078 80 1D 01 D8 */ lwz r0, 0x1d8(r29)
/* 8023D11C 0023A07C 28 00 00 00 */ cmplwi r0, 0
/* 8023D120 0023A080 41 82 00 1C */ beq lbl_8023D13C
/* 8023D124 0023A084 80 1D 01 D8 */ lwz r0, 0x1d8(r29)
/* 8023D128 0023A088 38 61 00 24 */ addi r3, r1, 0x24
/* 8023D12C 0023A08C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023D130 0023A090 48 0A CD 55 */ bl RemoveEmitter__11CSfxManagerF10CSfxHandle
/* 8023D134 0023A094 38 00 00 00 */ li r0, 0
/* 8023D138 0023A098 90 1D 01 D8 */ stw r0, 0x1d8(r29)
lbl_8023D13C:
/* 8023D13C 0023A09C 88 1D 01 40 */ lbz r0, 0x140(r29)
/* 8023D140 0023A0A0 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 8023D144 0023A0A4 41 82 00 8C */ beq lbl_8023D1D0
/* 8023D148 0023A0A8 80 AD 96 70 */ lwz r5, lbl_805A8230@sda21(r13)
/* 8023D14C 0023A0AC 38 60 00 00 */ li r3, 0
/* 8023D150 0023A0B0 38 80 00 01 */ li r4, 1
/* 8023D154 0023A0B4 48 14 CD A1 */ bl __shl2i
/* 8023D158 0023A0B8 38 A0 00 00 */ li r5, 0
/* 8023D15C 0023A0BC 38 00 00 03 */ li r0, 3
/* 8023D160 0023A0C0 90 81 00 4C */ stw r4, 0x4c(r1)
/* 8023D164 0023A0C4 FC 20 F8 90 */ fmr f1, f31
/* 8023D168 0023A0C8 38 9D 01 5C */ addi r4, r29, 0x15c
/* 8023D16C 0023A0CC 90 61 00 48 */ stw r3, 0x48(r1)
/* 8023D170 0023A0D0 38 61 00 60 */ addi r3, r1, 0x60
/* 8023D174 0023A0D4 90 A1 00 54 */ stw r5, 0x54(r1)
/* 8023D178 0023A0D8 90 A1 00 50 */ stw r5, 0x50(r1)
/* 8023D17C 0023A0DC 90 01 00 58 */ stw r0, 0x58(r1)
/* 8023D180 0023A0E0 A0 1D 00 08 */ lhz r0, 8(r29)
/* 8023D184 0023A0E4 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8023D188 0023A0E8 80 BE 08 4C */ lwz r5, 0x84c(r30)
/* 8023D18C 0023A0EC B0 01 00 0C */ sth r0, 0xc(r1)
/* 8023D190 0023A0F0 A0 A5 00 08 */ lhz r5, 8(r5)
/* 8023D194 0023A0F4 B0 A1 00 18 */ sth r5, 0x18(r1)
/* 8023D198 0023A0F8 A0 1D 00 08 */ lhz r0, 8(r29)
/* 8023D19C 0023A0FC B0 A1 00 14 */ sth r5, 0x14(r1)
/* 8023D1A0 0023A100 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8023D1A4 0023A104 B0 01 00 20 */ sth r0, 0x20(r1)
/* 8023D1A8 0023A108 4B E8 62 A1 */ bl __ct__11CDamageInfoFRC11CDamageInfof
/* 8023D1AC 0023A10C 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8023D1B0 0023A110 7F C3 F3 78 */ mr r3, r30
/* 8023D1B4 0023A114 39 24 66 A0 */ addi r9, r4, sZeroVector__9CVector3f@l
/* 8023D1B8 0023A118 38 A1 00 18 */ addi r5, r1, 0x18
/* 8023D1BC 0023A11C 38 81 00 20 */ addi r4, r1, 0x20
/* 8023D1C0 0023A120 38 C1 00 10 */ addi r6, r1, 0x10
/* 8023D1C4 0023A124 38 E1 00 60 */ addi r7, r1, 0x60
/* 8023D1C8 0023A128 39 01 00 48 */ addi r8, r1, 0x48
/* 8023D1CC 0023A12C 4B E0 CE D5 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
lbl_8023D1D0:
/* 8023D1D0 0023A130 88 1D 01 40 */ lbz r0, 0x140(r29)
/* 8023D1D4 0023A134 38 60 00 00 */ li r3, 0
/* 8023D1D8 0023A138 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8023D1DC 0023A13C 98 1D 01 40 */ stb r0, 0x140(r29)
lbl_8023D1E0:
/* 8023D1E0 0023A140 E3 E1 00 D8 */ psq_l f31, 216(r1), 0, qr0
/* 8023D1E4 0023A144 CB E1 00 D0 */ lfd f31, 0xd0(r1)
/* 8023D1E8 0023A148 E3 C1 00 C8 */ psq_l f30, 200(r1), 0, qr0
/* 8023D1EC 0023A14C CB C1 00 C0 */ lfd f30, 0xc0(r1)
/* 8023D1F0 0023A150 BB 61 00 AC */ lmw r27, 0xac(r1)
/* 8023D1F4 0023A154 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 8023D1F8 0023A158 7C 08 03 A6 */ mtlr r0
/* 8023D1FC 0023A15C 38 21 00 E0 */ addi r1, r1, 0xe0
/* 8023D200 0023A160 4E 80 00 20 */ blr
.global sub_8023d204
sub_8023d204:
/* 8023D204 0023A164 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8023D208 0023A168 7C 08 02 A6 */ mflr r0
/* 8023D20C 0023A16C 90 01 00 74 */ stw r0, 0x74(r1)
/* 8023D210 0023A170 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 8023D214 0023A174 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 8023D218 0023A178 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8023D21C 0023A17C 93 C1 00 58 */ stw r30, 0x58(r1)
/* 8023D220 0023A180 7C 7F 1B 78 */ mr r31, r3
/* 8023D224 0023A184 80 03 01 34 */ lwz r0, 0x134(r3)
/* 8023D228 0023A188 2C 00 00 00 */ cmpwi r0, 0
/* 8023D22C 0023A18C 40 81 00 D8 */ ble lbl_8023D304
/* 8023D230 0023A190 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha
/* 8023D234 0023A194 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l
/* 8023D238 0023A198 80 64 00 00 */ lwz r3, 0(r4)
/* 8023D23C 0023A19C 80 04 00 04 */ lwz r0, 4(r4)
/* 8023D240 0023A1A0 90 7F 01 44 */ stw r3, 0x144(r31)
/* 8023D244 0023A1A4 90 1F 01 48 */ stw r0, 0x148(r31)
/* 8023D248 0023A1A8 80 04 00 08 */ lwz r0, 8(r4)
/* 8023D24C 0023A1AC 90 1F 01 4C */ stw r0, 0x14c(r31)
/* 8023D250 0023A1B0 80 64 00 0C */ lwz r3, 0xc(r4)
/* 8023D254 0023A1B4 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8023D258 0023A1B8 90 7F 01 50 */ stw r3, 0x150(r31)
/* 8023D25C 0023A1BC 90 1F 01 54 */ stw r0, 0x154(r31)
/* 8023D260 0023A1C0 80 04 00 14 */ lwz r0, 0x14(r4)
/* 8023D264 0023A1C4 90 1F 01 58 */ stw r0, 0x158(r31)
/* 8023D268 0023A1C8 C3 FF 01 00 */ lfs f31, 0x100(r31)
/* 8023D26C 0023A1CC 83 DF 01 3C */ lwz r30, 0x13c(r31)
/* 8023D270 0023A1D0 48 00 00 78 */ b lbl_8023D2E8
lbl_8023D274:
/* 8023D274 0023A1D4 7F C3 F3 78 */ mr r3, r30
/* 8023D278 0023A1D8 48 00 11 25 */ bl nullsub_21
/* 8023D27C 0023A1DC C0 43 00 04 */ lfs f2, 4(r3)
/* 8023D280 0023A1E0 38 81 00 2C */ addi r4, r1, 0x2c
/* 8023D284 0023A1E4 C0 23 00 08 */ lfs f1, 8(r3)
/* 8023D288 0023A1E8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8023D28C 0023A1EC EC 42 F8 28 */ fsubs f2, f2, f31
/* 8023D290 0023A1F0 EC 21 F8 28 */ fsubs f1, f1, f31
/* 8023D294 0023A1F4 38 7F 01 44 */ addi r3, r31, 0x144
/* 8023D298 0023A1F8 EC 00 F8 28 */ fsubs f0, f0, f31
/* 8023D29C 0023A1FC D0 41 00 30 */ stfs f2, 0x30(r1)
/* 8023D2A0 0023A200 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8023D2A4 0023A204 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 8023D2A8 0023A208 48 0F A8 61 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 8023D2AC 0023A20C 7F C3 F3 78 */ mr r3, r30
/* 8023D2B0 0023A210 48 00 10 ED */ bl nullsub_21
/* 8023D2B4 0023A214 C0 43 00 04 */ lfs f2, 4(r3)
/* 8023D2B8 0023A218 38 81 00 20 */ addi r4, r1, 0x20
/* 8023D2BC 0023A21C C0 23 00 08 */ lfs f1, 8(r3)
/* 8023D2C0 0023A220 C0 03 00 00 */ lfs f0, 0(r3)
/* 8023D2C4 0023A224 EC 42 F8 2A */ fadds f2, f2, f31
/* 8023D2C8 0023A228 EC 21 F8 2A */ fadds f1, f1, f31
/* 8023D2CC 0023A22C 38 7F 01 44 */ addi r3, r31, 0x144
/* 8023D2D0 0023A230 EC 00 F8 2A */ fadds f0, f0, f31
/* 8023D2D4 0023A234 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 8023D2D8 0023A238 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8023D2DC 0023A23C D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8023D2E0 0023A240 48 0F A8 29 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 8023D2E4 0023A244 3B DE 00 24 */ addi r30, r30, 0x24
lbl_8023D2E8:
/* 8023D2E8 0023A248 80 1F 01 34 */ lwz r0, 0x134(r31)
/* 8023D2EC 0023A24C 80 7F 01 3C */ lwz r3, 0x13c(r31)
/* 8023D2F0 0023A250 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8023D2F4 0023A254 7C 03 02 14 */ add r0, r3, r0
/* 8023D2F8 0023A258 7C 1E 00 40 */ cmplw r30, r0
/* 8023D2FC 0023A25C 40 82 FF 78 */ bne lbl_8023D274
/* 8023D300 0023A260 48 00 00 68 */ b lbl_8023D368
lbl_8023D304:
/* 8023D304 0023A264 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 8023D308 0023A268 38 61 00 38 */ addi r3, r1, 0x38
/* 8023D30C 0023A26C C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 8023D310 0023A270 38 81 00 14 */ addi r4, r1, 0x14
/* 8023D314 0023A274 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 8023D318 0023A278 38 A1 00 08 */ addi r5, r1, 8
/* 8023D31C 0023A27C D0 01 00 08 */ stfs f0, 8(r1)
/* 8023D320 0023A280 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8023D324 0023A284 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8023D328 0023A288 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8023D32C 0023A28C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 8023D330 0023A290 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 8023D334 0023A294 48 0F B1 D5 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8023D338 0023A298 80 61 00 38 */ lwz r3, 0x38(r1)
/* 8023D33C 0023A29C 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8023D340 0023A2A0 90 7F 01 44 */ stw r3, 0x144(r31)
/* 8023D344 0023A2A4 90 1F 01 48 */ stw r0, 0x148(r31)
/* 8023D348 0023A2A8 80 01 00 40 */ lwz r0, 0x40(r1)
/* 8023D34C 0023A2AC 90 1F 01 4C */ stw r0, 0x14c(r31)
/* 8023D350 0023A2B0 80 61 00 44 */ lwz r3, 0x44(r1)
/* 8023D354 0023A2B4 80 01 00 48 */ lwz r0, 0x48(r1)
/* 8023D358 0023A2B8 90 7F 01 50 */ stw r3, 0x150(r31)
/* 8023D35C 0023A2BC 90 1F 01 54 */ stw r0, 0x154(r31)
/* 8023D360 0023A2C0 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 8023D364 0023A2C4 90 1F 01 58 */ stw r0, 0x158(r31)
lbl_8023D368:
/* 8023D368 0023A2C8 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 8023D36C 0023A2CC 38 60 00 01 */ li r3, 1
/* 8023D370 0023A2D0 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 8023D374 0023A2D4 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 8023D378 0023A2D8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 8023D37C 0023A2DC 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8023D380 0023A2E0 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 8023D384 0023A2E4 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8023D388 0023A2E8 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 8023D38C 0023A2EC 7C 08 03 A6 */ mtlr r0
/* 8023D390 0023A2F0 38 21 00 70 */ addi r1, r1, 0x70
/* 8023D394 0023A2F4 4E 80 00 20 */ blr
.global GetTouchBounds__15CSnakeWeedSwarmCFv
GetTouchBounds__15CSnakeWeedSwarmCFv:
/* 8023D398 0023A2F8 88 04 01 40 */ lbz r0, 0x140(r4)
/* 8023D39C 0023A2FC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8023D3A0 0023A300 40 82 00 10 */ bne lbl_8023D3B0
/* 8023D3A4 0023A304 38 00 00 00 */ li r0, 0
/* 8023D3A8 0023A308 98 03 00 18 */ stb r0, 0x18(r3)
/* 8023D3AC 0023A30C 4E 80 00 20 */ blr
lbl_8023D3B0:
/* 8023D3B0 0023A310 38 00 00 01 */ li r0, 1
/* 8023D3B4 0023A314 28 03 00 00 */ cmplwi r3, 0
/* 8023D3B8 0023A318 98 03 00 18 */ stb r0, 0x18(r3)
/* 8023D3BC 0023A31C 4D 82 00 20 */ beqlr
/* 8023D3C0 0023A320 C0 04 01 44 */ lfs f0, 0x144(r4)
/* 8023D3C4 0023A324 D0 03 00 00 */ stfs f0, 0(r3)
/* 8023D3C8 0023A328 C0 04 01 48 */ lfs f0, 0x148(r4)
/* 8023D3CC 0023A32C D0 03 00 04 */ stfs f0, 4(r3)
/* 8023D3D0 0023A330 C0 04 01 4C */ lfs f0, 0x14c(r4)
/* 8023D3D4 0023A334 D0 03 00 08 */ stfs f0, 8(r3)
/* 8023D3D8 0023A338 C0 04 01 50 */ lfs f0, 0x150(r4)
/* 8023D3DC 0023A33C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8023D3E0 0023A340 C0 04 01 54 */ lfs f0, 0x154(r4)
/* 8023D3E4 0023A344 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8023D3E8 0023A348 C0 04 01 58 */ lfs f0, 0x158(r4)
/* 8023D3EC 0023A34C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8023D3F0 0023A350 4E 80 00 20 */ blr
.global sub_8023d3f4
sub_8023d3f4:
/* 8023D3F4 0023A354 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023D3F8 0023A358 7C 08 02 A6 */ mflr r0
/* 8023D3FC 0023A35C C0 82 B7 90 */ lfs f4, lbl_805AD4B0@sda21(r2)
/* 8023D400 0023A360 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023D404 0023A364 38 A1 00 08 */ addi r5, r1, 8
/* 8023D408 0023A368 C0 44 00 F0 */ lfs f2, 0xf0(r4)
/* 8023D40C 0023A36C C0 24 00 EC */ lfs f1, 0xec(r4)
/* 8023D410 0023A370 EC C4 00 B2 */ fmuls f6, f4, f2
/* 8023D414 0023A374 C0 04 00 E8 */ lfs f0, 0xe8(r4)
/* 8023D418 0023A378 EC A4 00 72 */ fmuls f5, f4, f1
/* 8023D41C 0023A37C C0 44 00 60 */ lfs f2, 0x60(r4)
/* 8023D420 0023A380 EC 84 00 32 */ fmuls f4, f4, f0
/* 8023D424 0023A384 C0 64 00 50 */ lfs f3, 0x50(r4)
/* 8023D428 0023A388 C0 04 00 40 */ lfs f0, 0x40(r4)
/* 8023D42C 0023A38C ED 03 28 2A */ fadds f8, f3, f5
/* 8023D430 0023A390 EC E2 30 2A */ fadds f7, f2, f6
/* 8023D434 0023A394 38 81 00 14 */ addi r4, r1, 0x14
/* 8023D438 0023A398 EC 20 20 2A */ fadds f1, f0, f4
/* 8023D43C 0023A39C EC 63 28 28 */ fsubs f3, f3, f5
/* 8023D440 0023A3A0 D1 01 00 0C */ stfs f8, 0xc(r1)
/* 8023D444 0023A3A4 EC 42 30 28 */ fsubs f2, f2, f6
/* 8023D448 0023A3A8 EC 00 20 28 */ fsubs f0, f0, f4
/* 8023D44C 0023A3AC D0 21 00 08 */ stfs f1, 8(r1)
/* 8023D450 0023A3B0 D0 E1 00 10 */ stfs f7, 0x10(r1)
/* 8023D454 0023A3B4 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8023D458 0023A3B8 D0 61 00 18 */ stfs f3, 0x18(r1)
/* 8023D45C 0023A3BC D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 8023D460 0023A3C0 48 0F B0 A9 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8023D464 0023A3C4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8023D468 0023A3C8 7C 08 03 A6 */ mtlr r0
/* 8023D46C 0023A3CC 38 21 00 20 */ addi r1, r1, 0x20
/* 8023D470 0023A3D0 4E 80 00 20 */ blr
.global sub_8023d474
sub_8023d474:
/* 8023D474 0023A3D4 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 8023D478 0023A3D8 7C 08 02 A6 */ mflr r0
/* 8023D47C 0023A3DC 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 8023D480 0023A3E0 DB E1 00 90 */ stfd f31, 0x90(r1)
/* 8023D484 0023A3E4 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0
/* 8023D488 0023A3E8 DB C1 00 80 */ stfd f30, 0x80(r1)
/* 8023D48C 0023A3EC F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0
/* 8023D490 0023A3F0 BE C1 00 58 */ stmw r22, 0x58(r1)
/* 8023D494 0023A3F4 7C 79 1B 78 */ mr r25, r3
/* 8023D498 0023A3F8 7C 9A 23 78 */ mr r26, r4
/* 8023D49C 0023A3FC 3B D9 01 7C */ addi r30, r25, 0x17c
/* 8023D4A0 0023A400 7C BB 2B 78 */ mr r27, r5
/* 8023D4A4 0023A404 7F D8 F3 78 */ mr r24, r30
/* 8023D4A8 0023A408 3A E0 00 00 */ li r23, 0
/* 8023D4AC 0023A40C 48 00 00 28 */ b lbl_8023D4D4
lbl_8023D4B0:
/* 8023D4B0 0023A410 28 18 00 00 */ cmplwi r24, 0
/* 8023D4B4 0023A414 41 82 00 18 */ beq lbl_8023D4CC
/* 8023D4B8 0023A418 88 18 00 00 */ lbz r0, 0(r24)
/* 8023D4BC 0023A41C 28 00 00 00 */ cmplwi r0, 0
/* 8023D4C0 0023A420 41 82 00 0C */ beq lbl_8023D4CC
/* 8023D4C4 0023A424 80 78 00 04 */ lwz r3, 4(r24)
/* 8023D4C8 0023A428 48 0D 84 69 */ bl Free__7CMemoryFPCv
lbl_8023D4CC:
/* 8023D4CC 0023A42C 3B 18 00 08 */ addi r24, r24, 8
/* 8023D4D0 0023A430 3A F7 00 01 */ addi r23, r23, 1
lbl_8023D4D4:
/* 8023D4D4 0023A434 80 19 01 78 */ lwz r0, 0x178(r25)
/* 8023D4D8 0023A438 7C 17 00 00 */ cmpw r23, r0
/* 8023D4DC 0023A43C 41 80 FF D4 */ blt lbl_8023D4B0
/* 8023D4E0 0023A440 38 60 00 00 */ li r3, 0
/* 8023D4E4 0023A444 3B B9 01 A0 */ addi r29, r25, 0x1a0
/* 8023D4E8 0023A448 90 79 01 78 */ stw r3, 0x178(r25)
/* 8023D4EC 0023A44C 80 B9 01 9C */ lwz r5, 0x19c(r25)
/* 8023D4F0 0023A450 2C 05 00 00 */ cmpwi r5, 0
/* 8023D4F4 0023A454 40 81 00 40 */ ble lbl_8023D534
/* 8023D4F8 0023A458 2C 05 00 08 */ cmpwi r5, 8
/* 8023D4FC 0023A45C 38 85 FF F8 */ addi r4, r5, -8
/* 8023D500 0023A460 40 81 00 20 */ ble lbl_8023D520
/* 8023D504 0023A464 38 04 00 07 */ addi r0, r4, 7
/* 8023D508 0023A468 54 00 E8 FE */ srwi r0, r0, 3
/* 8023D50C 0023A46C 7C 09 03 A6 */ mtctr r0
/* 8023D510 0023A470 2C 04 00 00 */ cmpwi r4, 0
/* 8023D514 0023A474 40 81 00 0C */ ble lbl_8023D520
lbl_8023D518:
/* 8023D518 0023A478 38 63 00 08 */ addi r3, r3, 8
/* 8023D51C 0023A47C 42 00 FF FC */ bdnz lbl_8023D518
lbl_8023D520:
/* 8023D520 0023A480 7C 03 28 50 */ subf r0, r3, r5
/* 8023D524 0023A484 7C 09 03 A6 */ mtctr r0
/* 8023D528 0023A488 7C 03 28 00 */ cmpw r3, r5
/* 8023D52C 0023A48C 40 80 00 08 */ bge lbl_8023D534
lbl_8023D530:
/* 8023D530 0023A490 42 00 00 00 */ bdnz lbl_8023D530
lbl_8023D534:
/* 8023D534 0023A494 38 00 00 00 */ li r0, 0
/* 8023D538 0023A498 3C 60 80 3D */ lis r3, lbl_803D4388@ha
/* 8023D53C 0023A49C 90 19 01 9C */ stw r0, 0x19c(r25)
/* 8023D540 0023A4A0 3B F9 01 B4 */ addi r31, r25, 0x1b4
/* 8023D544 0023A4A4 CB C2 B7 80 */ lfd f30, lbl_805AD4A0@sda21(r2)
/* 8023D548 0023A4A8 3A E3 43 88 */ addi r23, r3, lbl_803D4388@l
/* 8023D54C 0023A4AC C3 E2 B7 94 */ lfs f31, lbl_805AD4B4@sda21(r2)
/* 8023D550 0023A4B0 3B 80 00 00 */ li r28, 0
/* 8023D554 0023A4B4 3F 00 43 30 */ lis r24, 0x4330
lbl_8023D558:
/* 8023D558 0023A4B8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8023D55C 0023A4BC 7F 64 DB 78 */ mr r4, r27
/* 8023D560 0023A4C0 80 63 00 00 */ lwz r3, 0(r3)
/* 8023D564 0023A4C4 4B ED 79 F9 */ bl PickAnimatedModel__10CModelDataCFQ210CModelData11EWhichModel
/* 8023D568 0023A4C8 38 81 00 10 */ addi r4, r1, 0x10
/* 8023D56C 0023A4CC 48 11 50 FD */ bl sub_80352668
/* 8023D570 0023A4D0 80 19 01 78 */ lwz r0, 0x178(r25)
/* 8023D574 0023A4D4 7C 83 00 D0 */ neg r4, r3
/* 8023D578 0023A4D8 7C 84 1B 78 */ or r4, r4, r3
/* 8023D57C 0023A4DC 90 61 00 18 */ stw r3, 0x18(r1)
/* 8023D580 0023A4E0 54 00 18 38 */ slwi r0, r0, 3
/* 8023D584 0023A4E4 54 84 0F FE */ srwi r4, r4, 0x1f
/* 8023D588 0023A4E8 7C BE 02 15 */ add. r5, r30, r0
/* 8023D58C 0023A4EC 98 81 00 14 */ stb r4, 0x14(r1)
/* 8023D590 0023A4F0 41 82 00 14 */ beq lbl_8023D5A4
/* 8023D594 0023A4F4 98 85 00 00 */ stb r4, 0(r5)
/* 8023D598 0023A4F8 38 00 00 00 */ li r0, 0
/* 8023D59C 0023A4FC 90 65 00 04 */ stw r3, 4(r5)
/* 8023D5A0 0023A500 98 01 00 14 */ stb r0, 0x14(r1)
lbl_8023D5A4:
/* 8023D5A4 0023A504 80 79 01 78 */ lwz r3, 0x178(r25)
/* 8023D5A8 0023A508 88 01 00 14 */ lbz r0, 0x14(r1)
/* 8023D5AC 0023A50C 38 63 00 01 */ addi r3, r3, 1
/* 8023D5B0 0023A510 28 00 00 00 */ cmplwi r0, 0
/* 8023D5B4 0023A514 90 79 01 78 */ stw r3, 0x178(r25)
/* 8023D5B8 0023A518 41 82 00 0C */ beq lbl_8023D5C4
/* 8023D5BC 0023A51C 80 61 00 18 */ lwz r3, 0x18(r1)
/* 8023D5C0 0023A520 48 0D 83 71 */ bl Free__7CMemoryFPCv
lbl_8023D5C4:
/* 8023D5C4 0023A524 80 19 01 9C */ lwz r0, 0x19c(r25)
/* 8023D5C8 0023A528 54 00 10 3A */ slwi r0, r0, 2
/* 8023D5CC 0023A52C 7C 7D 02 15 */ add. r3, r29, r0
/* 8023D5D0 0023A530 41 82 00 0C */ beq lbl_8023D5DC
/* 8023D5D4 0023A534 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8023D5D8 0023A538 90 03 00 00 */ stw r0, 0(r3)
lbl_8023D5DC:
/* 8023D5DC 0023A53C 80 79 01 9C */ lwz r3, 0x19c(r25)
/* 8023D5E0 0023A540 38 80 00 01 */ li r4, 1
/* 8023D5E4 0023A544 38 03 00 01 */ addi r0, r3, 1
/* 8023D5E8 0023A548 90 19 01 9C */ stw r0, 0x19c(r25)
/* 8023D5EC 0023A54C 80 7F 00 00 */ lwz r3, 0(r31)
/* 8023D5F0 0023A550 80 63 00 00 */ lwz r3, 0(r3)
/* 8023D5F4 0023A554 4B ED 7F 6D */ bl EnableLooping__10CModelDataFb
/* 8023D5F8 0023A558 7E E4 BB 78 */ mr r4, r23
/* 8023D5FC 0023A55C 38 61 00 1C */ addi r3, r1, 0x1c
/* 8023D600 0023A560 4B DC 76 B9 */ bl string_l__4rstlFPCc
/* 8023D604 0023A564 80 19 00 04 */ lwz r0, 4(r25)
/* 8023D608 0023A568 38 81 00 1C */ addi r4, r1, 0x1c
/* 8023D60C 0023A56C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8023D610 0023A570 80 7F 00 00 */ lwz r3, 0(r31)
/* 8023D614 0023A574 90 01 00 08 */ stw r0, 8(r1)
/* 8023D618 0023A578 82 C3 00 00 */ lwz r22, 0(r3)
/* 8023D61C 0023A57C 80 76 00 10 */ lwz r3, 0x10(r22)
/* 8023D620 0023A580 4B DE EE 4D */ bl "GetAnimTimeRemaining__9CAnimDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8023D624 0023A584 6F 80 80 00 */ xoris r0, r28, 0x8000
/* 8023D628 0023A588 93 01 00 48 */ stw r24, 0x48(r1)
/* 8023D62C 0023A58C 7E C4 B3 78 */ mr r4, r22
/* 8023D630 0023A590 7F 45 D3 78 */ mr r5, r26
/* 8023D634 0023A594 90 01 00 4C */ stw r0, 0x4c(r1)
/* 8023D638 0023A598 38 61 00 2C */ addi r3, r1, 0x2c
/* 8023D63C 0023A59C 38 C1 00 0C */ addi r6, r1, 0xc
/* 8023D640 0023A5A0 38 E0 00 01 */ li r7, 1
/* 8023D644 0023A5A4 C8 01 00 48 */ lfd f0, 0x48(r1)
/* 8023D648 0023A5A8 EC 00 F0 28 */ fsubs f0, f0, f30
/* 8023D64C 0023A5AC EC 00 07 F2 */ fmuls f0, f0, f31
/* 8023D650 0023A5B0 EC 20 00 72 */ fmuls f1, f0, f1
/* 8023D654 0023A5B4 4B ED 84 E1 */ bl AdvanceAnimation__10CModelDataFfR13CStateManager7TAreaIdb
/* 8023D658 0023A5B8 38 61 00 1C */ addi r3, r1, 0x1c
/* 8023D65C 0023A5BC 48 10 04 85 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8023D660 0023A5C0 3B 9C 00 01 */ addi r28, r28, 1
/* 8023D664 0023A5C4 3B FF 00 04 */ addi r31, r31, 4
/* 8023D668 0023A5C8 2C 1C 00 04 */ cmpwi r28, 4
/* 8023D66C 0023A5CC 41 80 FE EC */ blt lbl_8023D558
/* 8023D670 0023A5D0 93 79 01 C4 */ stw r27, 0x1c4(r25)
/* 8023D674 0023A5D4 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
/* 8023D678 0023A5D8 CB E1 00 90 */ lfd f31, 0x90(r1)
/* 8023D67C 0023A5DC E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0
/* 8023D680 0023A5E0 CB C1 00 80 */ lfd f30, 0x80(r1)
/* 8023D684 0023A5E4 BA C1 00 58 */ lmw r22, 0x58(r1)
/* 8023D688 0023A5E8 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 8023D68C 0023A5EC 7C 08 03 A6 */ mtlr r0
/* 8023D690 0023A5F0 38 21 00 A0 */ addi r1, r1, 0xa0
/* 8023D694 0023A5F4 4E 80 00 20 */ blr
.global AcceptScriptMsg__15CSnakeWeedSwarmF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__15CSnakeWeedSwarmF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 8023D698 0023A5F8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8023D69C 0023A5FC 7C 08 02 A6 */ mflr r0
/* 8023D6A0 0023A600 90 01 00 24 */ stw r0, 0x24(r1)
/* 8023D6A4 0023A604 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8023D6A8 0023A608 7C DF 33 78 */ mr r31, r6
/* 8023D6AC 0023A60C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8023D6B0 0023A610 7C 9E 23 78 */ mr r30, r4
/* 8023D6B4 0023A614 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8023D6B8 0023A618 7C 7D 1B 78 */ mr r29, r3
/* 8023D6BC 0023A61C A0 05 00 00 */ lhz r0, 0(r5)
/* 8023D6C0 0023A620 38 A1 00 08 */ addi r5, r1, 8
/* 8023D6C4 0023A624 B0 01 00 08 */ sth r0, 8(r1)
/* 8023D6C8 0023A628 4B E1 5F 4D */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 8023D6CC 0023A62C 2C 1E 00 22 */ cmpwi r30, 0x22
/* 8023D6D0 0023A630 41 82 00 48 */ beq lbl_8023D718
/* 8023D6D4 0023A634 40 80 00 68 */ bge lbl_8023D73C
/* 8023D6D8 0023A638 2C 1E 00 21 */ cmpwi r30, 0x21
/* 8023D6DC 0023A63C 40 80 00 08 */ bge lbl_8023D6E4
/* 8023D6E0 0023A640 48 00 00 5C */ b lbl_8023D73C
lbl_8023D6E4:
/* 8023D6E4 0023A644 7F A3 EB 78 */ mr r3, r29
/* 8023D6E8 0023A648 7F E4 FB 78 */ mr r4, r31
/* 8023D6EC 0023A64C 38 A0 00 00 */ li r5, 0
/* 8023D6F0 0023A650 4B FF FD 85 */ bl sub_8023d474
/* 8023D6F4 0023A654 7F A3 EB 78 */ mr r3, r29
/* 8023D6F8 0023A658 38 80 00 01 */ li r4, 1
/* 8023D6FC 0023A65C 4B E1 62 25 */ bl SetCalculateLighting__6CActorFb
/* 8023D700 0023A660 80 7D 00 90 */ lwz r3, 0x90(r29)
/* 8023D704 0023A664 38 80 00 01 */ li r4, 1
/* 8023D708 0023A668 88 03 02 98 */ lbz r0, 0x298(r3)
/* 8023D70C 0023A66C 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 8023D710 0023A670 98 03 02 98 */ stb r0, 0x298(r3)
/* 8023D714 0023A674 48 00 00 28 */ b lbl_8023D73C
lbl_8023D718:
/* 8023D718 0023A678 80 1D 01 D8 */ lwz r0, 0x1d8(r29)
/* 8023D71C 0023A67C 28 00 00 00 */ cmplwi r0, 0
/* 8023D720 0023A680 41 82 00 1C */ beq lbl_8023D73C
/* 8023D724 0023A684 80 1D 01 D8 */ lwz r0, 0x1d8(r29)
/* 8023D728 0023A688 38 61 00 0C */ addi r3, r1, 0xc
/* 8023D72C 0023A68C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8023D730 0023A690 48 0A C7 55 */ bl RemoveEmitter__11CSfxManagerF10CSfxHandle
/* 8023D734 0023A694 38 00 00 00 */ li r0, 0
/* 8023D738 0023A698 90 1D 01 D8 */ stw r0, 0x1d8(r29)
lbl_8023D73C:
/* 8023D73C 0023A69C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8023D740 0023A6A0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8023D744 0023A6A4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8023D748 0023A6A8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8023D74C 0023A6AC 7C 08 03 A6 */ mtlr r0
/* 8023D750 0023A6B0 38 21 00 20 */ addi r1, r1, 0x20
/* 8023D754 0023A6B4 4E 80 00 20 */ blr
.global Accept__15CSnakeWeedSwarmFR8IVisitor
Accept__15CSnakeWeedSwarmFR8IVisitor:
/* 8023D758 0023A6B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8023D75C 0023A6BC 7C 08 02 A6 */ mflr r0
/* 8023D760 0023A6C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8023D764 0023A6C4 7C 60 1B 78 */ mr r0, r3
/* 8023D768 0023A6C8 7C 83 23 78 */ mr r3, r4
/* 8023D76C 0023A6CC 81 84 00 00 */ lwz r12, 0(r4)
/* 8023D770 0023A6D0 7C 04 03 78 */ mr r4, r0
/* 8023D774 0023A6D4 81 8C 00 DC */ lwz r12, 0xdc(r12)
/* 8023D778 0023A6D8 7D 89 03 A6 */ mtctr r12
/* 8023D77C 0023A6DC 4E 80 04 21 */ bctrl
/* 8023D780 0023A6E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8023D784 0023A6E4 7C 08 03 A6 */ mtlr r0
/* 8023D788 0023A6E8 38 21 00 10 */ addi r1, r1, 0x10
/* 8023D78C 0023A6EC 4E 80 00 20 */ blr
.global __ct__15CSnakeWeedSwarm
__ct__15CSnakeWeedSwarm:
/* 8023D790 0023A6F0 94 21 FD C0 */ stwu r1, -0x240(r1)
/* 8023D794 0023A6F4 7C 08 02 A6 */ mflr r0
/* 8023D798 0023A6F8 90 01 02 44 */ stw r0, 0x244(r1)
/* 8023D79C 0023A6FC DB E1 02 30 */ stfd f31, 0x230(r1)
/* 8023D7A0 0023A700 F3 E1 02 38 */ psq_st f31, 568(r1), 0, qr0
/* 8023D7A4 0023A704 DB C1 02 20 */ stfd f30, 0x220(r1)
/* 8023D7A8 0023A708 F3 C1 02 28 */ psq_st f30, 552(r1), 0, qr0
/* 8023D7AC 0023A70C DB A1 02 10 */ stfd f29, 0x210(r1)
/* 8023D7B0 0023A710 F3 A1 02 18 */ psq_st f29, 536(r1), 0, qr0
/* 8023D7B4 0023A714 DB 81 02 00 */ stfd f28, 0x200(r1)
/* 8023D7B8 0023A718 F3 81 02 08 */ psq_st f28, 520(r1), 0, qr0
/* 8023D7BC 0023A71C DB 61 01 F0 */ stfd f27, 0x1f0(r1)
/* 8023D7C0 0023A720 F3 61 01 F8 */ psq_st f27, 504(r1), 0, qr0
/* 8023D7C4 0023A724 DB 41 01 E0 */ stfd f26, 0x1e0(r1)
/* 8023D7C8 0023A728 F3 41 01 E8 */ psq_st f26, 488(r1), 0, qr0
/* 8023D7CC 0023A72C DB 21 01 D0 */ stfd f25, 0x1d0(r1)
/* 8023D7D0 0023A730 F3 21 01 D8 */ psq_st f25, 472(r1), 0, qr0
/* 8023D7D4 0023A734 DB 01 01 C0 */ stfd f24, 0x1c0(r1)
/* 8023D7D8 0023A738 F3 01 01 C8 */ psq_st f24, 456(r1), 0, qr0
/* 8023D7DC 0023A73C DA E1 01 B0 */ stfd f23, 0x1b0(r1)
/* 8023D7E0 0023A740 F2 E1 01 B8 */ psq_st f23, 440(r1), 0, qr0
/* 8023D7E4 0023A744 DA C1 01 A0 */ stfd f22, 0x1a0(r1)
/* 8023D7E8 0023A748 F2 C1 01 A8 */ psq_st f22, 424(r1), 0, qr0
/* 8023D7EC 0023A74C DA A1 01 90 */ stfd f21, 0x190(r1)
/* 8023D7F0 0023A750 F2 A1 01 98 */ psq_st f21, 408(r1), 0, qr0
/* 8023D7F4 0023A754 DA 81 01 80 */ stfd f20, 0x180(r1)
/* 8023D7F8 0023A758 F2 81 01 88 */ psq_st f20, 392(r1), 0, qr0
/* 8023D7FC 0023A75C DA 61 01 70 */ stfd f19, 0x170(r1)
/* 8023D800 0023A760 F2 61 01 78 */ psq_st f19, 376(r1), 0, qr0
/* 8023D804 0023A764 DA 41 01 60 */ stfd f18, 0x160(r1)
/* 8023D808 0023A768 F2 41 01 68 */ psq_st f18, 360(r1), 0, qr0
/* 8023D80C 0023A76C DA 21 01 50 */ stfd f17, 0x150(r1)
/* 8023D810 0023A770 F2 21 01 58 */ psq_st f17, 344(r1), 0, qr0
/* 8023D814 0023A774 BE 01 01 10 */ stmw r16, 0x110(r1)
/* 8023D818 0023A778 FE 40 08 90 */ fmr f18, f1
/* 8023D81C 0023A77C 7C 7F 1B 78 */ mr r31, r3
/* 8023D820 0023A780 FE 60 10 90 */ fmr f19, f2
/* 8023D824 0023A784 83 A1 02 48 */ lwz r29, 0x248(r1)
/* 8023D828 0023A788 FE 80 18 90 */ fmr f20, f3
/* 8023D82C 0023A78C C3 41 02 4C */ lfs f26, 0x24c(r1)
/* 8023D830 0023A790 FE A0 20 90 */ fmr f21, f4
/* 8023D834 0023A794 C3 61 02 50 */ lfs f27, 0x250(r1)
/* 8023D838 0023A798 FE C0 28 90 */ fmr f22, f5
/* 8023D83C 0023A79C C2 21 02 54 */ lfs f17, 0x254(r1)
/* 8023D840 0023A7A0 FE E0 30 90 */ fmr f23, f6
/* 8023D844 0023A7A4 C3 81 02 58 */ lfs f28, 0x258(r1)
/* 8023D848 0023A7A8 FF 00 38 90 */ fmr f24, f7
/* 8023D84C 0023A7AC C3 A1 02 5C */ lfs f29, 0x25c(r1)
/* 8023D850 0023A7B0 FF 20 40 90 */ fmr f25, f8
/* 8023D854 0023A7B4 C3 C1 02 60 */ lfs f30, 0x260(r1)
/* 8023D858 0023A7B8 82 E1 02 64 */ lwz r23, 0x264(r1)
/* 8023D85C 0023A7BC 7C 92 23 78 */ mr r18, r4
/* 8023D860 0023A7C0 83 01 02 6C */ lwz r24, 0x26c(r1)
/* 8023D864 0023A7C4 7C B3 2B 78 */ mr r19, r5
/* 8023D868 0023A7C8 83 21 02 70 */ lwz r25, 0x270(r1)
/* 8023D86C 0023A7CC 7C D4 33 78 */ mr r20, r6
/* 8023D870 0023A7D0 83 41 02 74 */ lwz r26, 0x274(r1)
/* 8023D874 0023A7D4 7C F5 3B 78 */ mr r21, r7
/* 8023D878 0023A7D8 83 61 02 78 */ lwz r27, 0x278(r1)
/* 8023D87C 0023A7DC 7D 11 43 78 */ mr r17, r8
/* 8023D880 0023A7E0 82 01 02 7C */ lwz r16, 0x27c(r1)
/* 8023D884 0023A7E4 7D 36 4B 78 */ mr r22, r9
/* 8023D888 0023A7E8 83 C1 02 80 */ lwz r30, 0x280(r1)
/* 8023D88C 0023A7EC 7D 5C 53 78 */ mr r28, r10
/* 8023D890 0023A7F0 C3 E1 02 84 */ lfs f31, 0x284(r1)
/* 8023D894 0023A7F4 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8023D898 0023A7F8 4B DF CF 0D */ bl CModelDataNull__10CModelDataFv
/* 8023D89C 0023A7FC A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13)
/* 8023D8A0 0023A800 38 00 00 00 */ li r0, 0
/* 8023D8A4 0023A804 80 AD 96 74 */ lwz r5, lbl_805A8234@sda21(r13)
/* 8023D8A8 0023A808 38 60 00 00 */ li r3, 0
/* 8023D8AC 0023A80C B0 81 00 10 */ sth r4, 0x10(r1)
/* 8023D8B0 0023A810 38 80 00 01 */ li r4, 1
/* 8023D8B4 0023A814 90 01 00 84 */ stw r0, 0x84(r1)
/* 8023D8B8 0023A818 90 01 00 80 */ stw r0, 0x80(r1)
/* 8023D8BC 0023A81C 48 14 C6 39 */ bl __shl2i
/* 8023D8C0 0023A820 80 01 00 80 */ lwz r0, 0x80(r1)
/* 8023D8C4 0023A824 80 C1 00 84 */ lwz r6, 0x84(r1)
/* 8023D8C8 0023A828 7C 00 1B 78 */ or r0, r0, r3
/* 8023D8CC 0023A82C 80 AD 96 78 */ lwz r5, lbl_805A8238@sda21(r13)
/* 8023D8D0 0023A830 7C C4 23 78 */ or r4, r6, r4
/* 8023D8D4 0023A834 90 01 00 80 */ stw r0, 0x80(r1)
/* 8023D8D8 0023A838 38 60 00 00 */ li r3, 0
/* 8023D8DC 0023A83C 90 81 00 84 */ stw r4, 0x84(r1)
/* 8023D8E0 0023A840 38 80 00 01 */ li r4, 1
/* 8023D8E4 0023A844 48 14 C6 11 */ bl __shl2i
/* 8023D8E8 0023A848 80 01 00 80 */ lwz r0, 0x80(r1)
/* 8023D8EC 0023A84C 80 A1 00 84 */ lwz r5, 0x84(r1)
/* 8023D8F0 0023A850 7C 03 1B 78 */ or r3, r0, r3
/* 8023D8F4 0023A854 A0 12 00 00 */ lhz r0, 0(r18)
/* 8023D8F8 0023A858 7C A5 23 78 */ or r5, r5, r4
/* 8023D8FC 0023A85C 90 61 00 80 */ stw r3, 0x80(r1)
/* 8023D900 0023A860 7E 24 8B 78 */ mr r4, r17
/* 8023D904 0023A864 38 61 00 88 */ addi r3, r1, 0x88
/* 8023D908 0023A868 90 A1 00 84 */ stw r5, 0x84(r1)
/* 8023D90C 0023A86C B0 01 00 14 */ sth r0, 0x14(r1)
/* 8023D910 0023A870 48 0D 58 31 */ bl Translate__12CTransform4fFRC9CVector3f
/* 8023D914 0023A874 93 A1 00 08 */ stw r29, 8(r1)
/* 8023D918 0023A878 38 01 00 10 */ addi r0, r1, 0x10
/* 8023D91C 0023A87C 7F E3 FB 78 */ mr r3, r31
/* 8023D920 0023A880 7E 65 9B 78 */ mr r5, r19
/* 8023D924 0023A884 90 01 00 0C */ stw r0, 0xc(r1)
/* 8023D928 0023A888 7E 86 A3 78 */ mr r6, r20
/* 8023D92C 0023A88C 7E A7 AB 78 */ mr r7, r21
/* 8023D930 0023A890 38 81 00 14 */ addi r4, r1, 0x14
/* 8023D934 0023A894 39 01 00 88 */ addi r8, r1, 0x88
/* 8023D938 0023A898 39 21 00 B8 */ addi r9, r1, 0xb8
/* 8023D93C 0023A89C 39 41 00 80 */ addi r10, r1, 0x80
/* 8023D940 0023A8A0 4B E1 7E E1 */ bl "__ct__6CActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC16CActorParameters9TUniqueId"
/* 8023D944 0023A8A4 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8023D948 0023A8A8 38 80 FF FF */ li r4, -1
/* 8023D94C 0023A8AC 4B ED 91 01 */ bl __dt__10CModelDataFv
/* 8023D950 0023A8B0 3C 60 80 3F */ lis r3, lbl_803E8578@ha
/* 8023D954 0023A8B4 C0 02 B7 98 */ lfs f0, lbl_805AD4B8@sda21(r2)
/* 8023D958 0023A8B8 38 03 85 78 */ addi r0, r3, lbl_803E8578@l
/* 8023D95C 0023A8BC 90 1F 00 00 */ stw r0, 0(r31)
/* 8023D960 0023A8C0 EC 20 04 72 */ fmuls f1, f0, f17
/* 8023D964 0023A8C4 C0 16 00 00 */ lfs f0, 0(r22)
/* 8023D968 0023A8C8 D0 1F 00 E8 */ stfs f0, 0xe8(r31)
/* 8023D96C 0023A8CC C0 16 00 04 */ lfs f0, 4(r22)
/* 8023D970 0023A8D0 D0 1F 00 EC */ stfs f0, 0xec(r31)
/* 8023D974 0023A8D4 C0 16 00 08 */ lfs f0, 8(r22)
/* 8023D978 0023A8D8 D0 1F 00 F0 */ stfs f0, 0xf0(r31)
/* 8023D97C 0023A8DC D2 5F 00 F4 */ stfs f18, 0xf4(r31)
/* 8023D980 0023A8E0 D2 7F 00 F8 */ stfs f19, 0xf8(r31)
/* 8023D984 0023A8E4 D2 9F 00 FC */ stfs f20, 0xfc(r31)
/* 8023D988 0023A8E8 D2 BF 01 00 */ stfs f21, 0x100(r31)
/* 8023D98C 0023A8EC D2 DF 01 04 */ stfs f22, 0x104(r31)
/* 8023D990 0023A8F0 D2 FF 01 08 */ stfs f23, 0x108(r31)
/* 8023D994 0023A8F4 D3 1F 01 0C */ stfs f24, 0x10c(r31)
/* 8023D998 0023A8F8 D3 3F 01 10 */ stfs f25, 0x110(r31)
/* 8023D99C 0023A8FC D3 5F 01 14 */ stfs f26, 0x114(r31)
/* 8023D9A0 0023A900 D3 7F 01 18 */ stfs f27, 0x118(r31)
/* 8023D9A4 0023A904 48 15 6A 4D */ bl cos
/* 8023D9A8 0023A908 FC 00 08 18 */ frsp f0, f1
/* 8023D9AC 0023A90C 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha
/* 8023D9B0 0023A910 3C 60 80 3D */ lis r3, lbl_803D4388@ha
/* 8023D9B4 0023A914 38 E0 00 00 */ li r7, 0
/* 8023D9B8 0023A918 38 63 43 88 */ addi r3, r3, lbl_803D4388@l
/* 8023D9BC 0023A91C 38 C4 67 54 */ addi r6, r4, mskInvertedBox__6CAABox@l
/* 8023D9C0 0023A920 D0 1F 01 1C */ stfs f0, 0x11c(r31)
/* 8023D9C4 0023A924 38 83 00 0B */ addi r4, r3, 0xb
/* 8023D9C8 0023A928 38 60 00 10 */ li r3, 0x10
/* 8023D9CC 0023A92C 38 A0 00 00 */ li r5, 0
/* 8023D9D0 0023A930 D3 9F 01 20 */ stfs f28, 0x120(r31)
/* 8023D9D4 0023A934 D3 BF 01 24 */ stfs f29, 0x124(r31)
/* 8023D9D8 0023A938 D3 DF 01 28 */ stfs f30, 0x128(r31)
/* 8023D9DC 0023A93C 90 FF 01 2C */ stw r7, 0x12c(r31)
/* 8023D9E0 0023A940 90 FF 01 34 */ stw r7, 0x134(r31)
/* 8023D9E4 0023A944 90 FF 01 38 */ stw r7, 0x138(r31)
/* 8023D9E8 0023A948 90 FF 01 3C */ stw r7, 0x13c(r31)
/* 8023D9EC 0023A94C 88 1F 01 40 */ lbz r0, 0x140(r31)
/* 8023D9F0 0023A950 50 E0 3E 30 */ rlwimi r0, r7, 7, 0x18, 0x18
/* 8023D9F4 0023A954 98 1F 01 40 */ stb r0, 0x140(r31)
/* 8023D9F8 0023A958 88 1F 01 40 */ lbz r0, 0x140(r31)
/* 8023D9FC 0023A95C 50 E0 36 72 */ rlwimi r0, r7, 6, 0x19, 0x19
/* 8023DA00 0023A960 98 1F 01 40 */ stb r0, 0x140(r31)
/* 8023DA04 0023A964 88 1F 01 40 */ lbz r0, 0x140(r31)
/* 8023DA08 0023A968 50 E0 2E B4 */ rlwimi r0, r7, 5, 0x1a, 0x1a
/* 8023DA0C 0023A96C 98 1F 01 40 */ stb r0, 0x140(r31)
/* 8023DA10 0023A970 C0 06 00 00 */ lfs f0, 0(r6)
/* 8023DA14 0023A974 D0 1F 01 44 */ stfs f0, 0x144(r31)
/* 8023DA18 0023A978 C0 06 00 04 */ lfs f0, 4(r6)
/* 8023DA1C 0023A97C D0 1F 01 48 */ stfs f0, 0x148(r31)
/* 8023DA20 0023A980 C0 06 00 08 */ lfs f0, 8(r6)
/* 8023DA24 0023A984 D0 1F 01 4C */ stfs f0, 0x14c(r31)
/* 8023DA28 0023A988 C0 06 00 0C */ lfs f0, 0xc(r6)
/* 8023DA2C 0023A98C D0 1F 01 50 */ stfs f0, 0x150(r31)
/* 8023DA30 0023A990 C0 06 00 10 */ lfs f0, 0x10(r6)
/* 8023DA34 0023A994 D0 1F 01 54 */ stfs f0, 0x154(r31)
/* 8023DA38 0023A998 C0 06 00 14 */ lfs f0, 0x14(r6)
/* 8023DA3C 0023A99C D0 1F 01 58 */ stfs f0, 0x158(r31)
/* 8023DA40 0023A9A0 80 17 00 00 */ lwz r0, 0(r23)
/* 8023DA44 0023A9A4 90 1F 01 5C */ stw r0, 0x15c(r31)
/* 8023DA48 0023A9A8 88 17 00 04 */ lbz r0, 4(r23)
/* 8023DA4C 0023A9AC 98 1F 01 60 */ stb r0, 0x160(r31)
/* 8023DA50 0023A9B0 C0 17 00 08 */ lfs f0, 8(r23)
/* 8023DA54 0023A9B4 D0 1F 01 64 */ stfs f0, 0x164(r31)
/* 8023DA58 0023A9B8 C0 17 00 0C */ lfs f0, 0xc(r23)
/* 8023DA5C 0023A9BC D0 1F 01 68 */ stfs f0, 0x168(r31)
/* 8023DA60 0023A9C0 C0 17 00 10 */ lfs f0, 0x10(r23)
/* 8023DA64 0023A9C4 D0 1F 01 6C */ stfs f0, 0x16c(r31)
/* 8023DA68 0023A9C8 C0 17 00 14 */ lfs f0, 0x14(r23)
/* 8023DA6C 0023A9CC D0 1F 01 70 */ stfs f0, 0x170(r31)
/* 8023DA70 0023A9D0 88 17 00 18 */ lbz r0, 0x18(r23)
/* 8023DA74 0023A9D4 98 1F 01 74 */ stb r0, 0x174(r31)
/* 8023DA78 0023A9D8 90 FF 01 78 */ stw r7, 0x178(r31)
/* 8023DA7C 0023A9DC 90 FF 01 9C */ stw r7, 0x19c(r31)
/* 8023DA80 0023A9E0 90 FF 01 B0 */ stw r7, 0x1b0(r31)
/* 8023DA84 0023A9E4 48 0D 7D E9 */ bl __nw__FUlPCcPCc
/* 8023DA88 0023A9E8 28 03 00 00 */ cmplwi r3, 0
/* 8023DA8C 0023A9EC 41 82 00 14 */ beq lbl_8023DAA0
/* 8023DA90 0023A9F0 38 00 00 00 */ li r0, 0
/* 8023DA94 0023A9F4 90 03 00 04 */ stw r0, 4(r3)
/* 8023DA98 0023A9F8 90 03 00 08 */ stw r0, 8(r3)
/* 8023DA9C 0023A9FC 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8023DAA0:
/* 8023DAA0 0023AA00 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023DAA4 0023AA04 90 7F 01 C8 */ stw r3, 0x1c8(r31)
/* 8023DAA8 0023AA08 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023DAAC 0023AA0C 38 60 00 10 */ li r3, 0x10
/* 8023DAB0 0023AA10 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DAB4 0023AA14 38 A0 00 00 */ li r5, 0
/* 8023DAB8 0023AA18 48 0D 7D B5 */ bl __nw__FUlPCcPCc
/* 8023DABC 0023AA1C 28 03 00 00 */ cmplwi r3, 0
/* 8023DAC0 0023AA20 41 82 00 14 */ beq lbl_8023DAD4
/* 8023DAC4 0023AA24 38 00 00 00 */ li r0, 0
/* 8023DAC8 0023AA28 90 03 00 04 */ stw r0, 4(r3)
/* 8023DACC 0023AA2C 90 03 00 08 */ stw r0, 8(r3)
/* 8023DAD0 0023AA30 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8023DAD4:
/* 8023DAD4 0023AA34 2C 18 FF FF */ cmpwi r24, -1
/* 8023DAD8 0023AA38 90 7F 01 CC */ stw r3, 0x1cc(r31)
/* 8023DADC 0023AA3C 7F 00 C3 78 */ mr r0, r24
/* 8023DAE0 0023AA40 40 82 00 08 */ bne lbl_8023DAE8
/* 8023DAE4 0023AA44 A0 02 C5 FC */ lhz r0, lbl_805AE31C@sda21(r2)
lbl_8023DAE8:
/* 8023DAE8 0023AA48 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 8023DAEC 0023AA4C 48 0A AE C5 */ bl TranslateSFXID__11CSfxManagerFUs
/* 8023DAF0 0023AA50 2C 19 FF FF */ cmpwi r25, -1
/* 8023DAF4 0023AA54 B0 7F 01 D0 */ sth r3, 0x1d0(r31)
/* 8023DAF8 0023AA58 7F 20 CB 78 */ mr r0, r25
/* 8023DAFC 0023AA5C 40 82 00 08 */ bne lbl_8023DB04
/* 8023DB00 0023AA60 A0 02 C5 FC */ lhz r0, lbl_805AE31C@sda21(r2)
lbl_8023DB04:
/* 8023DB04 0023AA64 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 8023DB08 0023AA68 48 0A AE A9 */ bl TranslateSFXID__11CSfxManagerFUs
/* 8023DB0C 0023AA6C 2C 1A FF FF */ cmpwi r26, -1
/* 8023DB10 0023AA70 B0 7F 01 D2 */ sth r3, 0x1d2(r31)
/* 8023DB14 0023AA74 7F 40 D3 78 */ mr r0, r26
/* 8023DB18 0023AA78 40 82 00 08 */ bne lbl_8023DB20
/* 8023DB1C 0023AA7C A0 02 C5 FC */ lhz r0, lbl_805AE31C@sda21(r2)
lbl_8023DB20:
/* 8023DB20 0023AA80 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 8023DB24 0023AA84 48 0A AE 8D */ bl TranslateSFXID__11CSfxManagerFUs
/* 8023DB28 0023AA88 B0 7F 01 D4 */ sth r3, 0x1d4(r31)
/* 8023DB2C 0023AA8C 38 00 00 00 */ li r0, 0
/* 8023DB30 0023AA90 C0 02 B7 68 */ lfs f0, lbl_805AD488@sda21(r2)
/* 8023DB34 0023AA94 7F A4 EB 78 */ mr r4, r29
/* 8023DB38 0023AA98 90 1F 01 D8 */ stw r0, 0x1d8(r31)
/* 8023DB3C 0023AA9C 38 61 00 78 */ addi r3, r1, 0x78
/* 8023DB40 0023AAA0 98 1F 01 DC */ stb r0, 0x1dc(r31)
/* 8023DB44 0023AAA4 90 1F 01 E0 */ stw r0, 0x1e0(r31)
/* 8023DB48 0023AAA8 98 1F 01 E4 */ stb r0, 0x1e4(r31)
/* 8023DB4C 0023AAAC 90 1F 01 E8 */ stw r0, 0x1e8(r31)
/* 8023DB50 0023AAB0 98 1F 01 EC */ stb r0, 0x1ec(r31)
/* 8023DB54 0023AAB4 90 1F 01 F0 */ stw r0, 0x1f0(r31)
/* 8023DB58 0023AAB8 98 1F 01 F4 */ stb r0, 0x1f4(r31)
/* 8023DB5C 0023AABC 90 1F 01 F8 */ stw r0, 0x1f8(r31)
/* 8023DB60 0023AAC0 92 1F 01 FC */ stw r16, 0x1fc(r31)
/* 8023DB64 0023AAC4 D3 FF 02 00 */ stfs f31, 0x200(r31)
/* 8023DB68 0023AAC8 D0 1F 02 04 */ stfs f0, 0x204(r31)
/* 8023DB6C 0023AACC 4B EC 88 A5 */ bl MakeActorLights__16CLightParametersCFv
/* 8023DB70 0023AAD0 7F E3 FB 78 */ mr r3, r31
/* 8023DB74 0023AAD4 38 81 00 78 */ addi r4, r1, 0x78
/* 8023DB78 0023AAD8 4B E1 5D 4D */ bl sub_800538c4
/* 8023DB7C 0023AADC 88 01 00 78 */ lbz r0, 0x78(r1)
/* 8023DB80 0023AAE0 28 00 00 00 */ cmplwi r0, 0
/* 8023DB84 0023AAE4 41 82 00 10 */ beq lbl_8023DB94
/* 8023DB88 0023AAE8 80 61 00 7C */ lwz r3, 0x7c(r1)
/* 8023DB8C 0023AAEC 38 80 00 01 */ li r4, 1
/* 8023DB90 0023AAF0 4B EC 75 45 */ bl __dt__12CActorLightsFv
lbl_8023DB94:
/* 8023DB94 0023AAF4 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023DB98 0023AAF8 38 60 00 4C */ li r3, 0x4c
/* 8023DB9C 0023AAFC 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023DBA0 0023AB00 38 A0 00 00 */ li r5, 0
/* 8023DBA4 0023AB04 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DBA8 0023AB08 48 0D 7C C5 */ bl __nw__FUlPCcPCc
/* 8023DBAC 0023AB0C 7C 70 1B 79 */ or. r16, r3, r3
/* 8023DBB0 0023AB10 41 82 00 10 */ beq lbl_8023DBC0
/* 8023DBB4 0023AB14 7F 84 E3 78 */ mr r4, r28
/* 8023DBB8 0023AB18 4B ED 8F 9D */ bl __ct__10CModelDataFRC8CAnimRes
/* 8023DBBC 0023AB1C 7C 70 1B 78 */ mr r16, r3
lbl_8023DBC0:
/* 8023DBC0 0023AB20 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023DBC4 0023AB24 38 60 00 08 */ li r3, 8
/* 8023DBC8 0023AB28 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023DBCC 0023AB2C 38 A0 00 00 */ li r5, 0
/* 8023DBD0 0023AB30 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DBD4 0023AB34 48 0D 7C 99 */ bl __nw__FUlPCcPCc
/* 8023DBD8 0023AB38 28 03 00 00 */ cmplwi r3, 0
/* 8023DBDC 0023AB3C 41 82 00 10 */ beq lbl_8023DBEC
/* 8023DBE0 0023AB40 92 03 00 00 */ stw r16, 0(r3)
/* 8023DBE4 0023AB44 38 00 00 01 */ li r0, 1
/* 8023DBE8 0023AB48 90 03 00 04 */ stw r0, 4(r3)
lbl_8023DBEC:
/* 8023DBEC 0023AB4C 90 61 00 24 */ stw r3, 0x24(r1)
/* 8023DBF0 0023AB50 38 9F 01 B0 */ addi r4, r31, 0x1b0
/* 8023DBF4 0023AB54 80 1F 01 B0 */ lwz r0, 0x1b0(r31)
/* 8023DBF8 0023AB58 54 00 10 3A */ slwi r0, r0, 2
/* 8023DBFC 0023AB5C 7C 84 02 14 */ add r4, r4, r0
/* 8023DC00 0023AB60 34 84 00 04 */ addic. r4, r4, 4
/* 8023DC04 0023AB64 41 82 00 18 */ beq lbl_8023DC1C
/* 8023DC08 0023AB68 90 64 00 00 */ stw r3, 0(r4)
/* 8023DC0C 0023AB6C 80 84 00 00 */ lwz r4, 0(r4)
/* 8023DC10 0023AB70 80 64 00 04 */ lwz r3, 4(r4)
/* 8023DC14 0023AB74 38 03 00 01 */ addi r0, r3, 1
/* 8023DC18 0023AB78 90 04 00 04 */ stw r0, 4(r4)
lbl_8023DC1C:
/* 8023DC1C 0023AB7C 80 9F 01 B0 */ lwz r4, 0x1b0(r31)
/* 8023DC20 0023AB80 38 61 00 24 */ addi r3, r1, 0x24
/* 8023DC24 0023AB84 38 04 00 01 */ addi r0, r4, 1
/* 8023DC28 0023AB88 90 1F 01 B0 */ stw r0, 0x1b0(r31)
/* 8023DC2C 0023AB8C 4B F9 57 35 */ bl sub_801d3360
/* 8023DC30 0023AB90 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023DC34 0023AB94 38 60 00 4C */ li r3, 0x4c
/* 8023DC38 0023AB98 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023DC3C 0023AB9C 38 A0 00 00 */ li r5, 0
/* 8023DC40 0023ABA0 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DC44 0023ABA4 48 0D 7C 29 */ bl __nw__FUlPCcPCc
/* 8023DC48 0023ABA8 7C 70 1B 79 */ or. r16, r3, r3
/* 8023DC4C 0023ABAC 41 82 00 10 */ beq lbl_8023DC5C
/* 8023DC50 0023ABB0 7F 84 E3 78 */ mr r4, r28
/* 8023DC54 0023ABB4 4B ED 8F 01 */ bl __ct__10CModelDataFRC8CAnimRes
/* 8023DC58 0023ABB8 7C 70 1B 78 */ mr r16, r3
lbl_8023DC5C:
/* 8023DC5C 0023ABBC 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023DC60 0023ABC0 38 60 00 08 */ li r3, 8
/* 8023DC64 0023ABC4 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023DC68 0023ABC8 38 A0 00 00 */ li r5, 0
/* 8023DC6C 0023ABCC 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DC70 0023ABD0 48 0D 7B FD */ bl __nw__FUlPCcPCc
/* 8023DC74 0023ABD4 28 03 00 00 */ cmplwi r3, 0
/* 8023DC78 0023ABD8 41 82 00 10 */ beq lbl_8023DC88
/* 8023DC7C 0023ABDC 92 03 00 00 */ stw r16, 0(r3)
/* 8023DC80 0023ABE0 38 00 00 01 */ li r0, 1
/* 8023DC84 0023ABE4 90 03 00 04 */ stw r0, 4(r3)
lbl_8023DC88:
/* 8023DC88 0023ABE8 90 61 00 20 */ stw r3, 0x20(r1)
/* 8023DC8C 0023ABEC 38 9F 01 B0 */ addi r4, r31, 0x1b0
/* 8023DC90 0023ABF0 80 1F 01 B0 */ lwz r0, 0x1b0(r31)
/* 8023DC94 0023ABF4 54 00 10 3A */ slwi r0, r0, 2
/* 8023DC98 0023ABF8 7C 84 02 14 */ add r4, r4, r0
/* 8023DC9C 0023ABFC 34 84 00 04 */ addic. r4, r4, 4
/* 8023DCA0 0023AC00 41 82 00 18 */ beq lbl_8023DCB8
/* 8023DCA4 0023AC04 90 64 00 00 */ stw r3, 0(r4)
/* 8023DCA8 0023AC08 80 84 00 00 */ lwz r4, 0(r4)
/* 8023DCAC 0023AC0C 80 64 00 04 */ lwz r3, 4(r4)
/* 8023DCB0 0023AC10 38 03 00 01 */ addi r0, r3, 1
/* 8023DCB4 0023AC14 90 04 00 04 */ stw r0, 4(r4)
lbl_8023DCB8:
/* 8023DCB8 0023AC18 80 9F 01 B0 */ lwz r4, 0x1b0(r31)
/* 8023DCBC 0023AC1C 38 61 00 20 */ addi r3, r1, 0x20
/* 8023DCC0 0023AC20 38 04 00 01 */ addi r0, r4, 1
/* 8023DCC4 0023AC24 90 1F 01 B0 */ stw r0, 0x1b0(r31)
/* 8023DCC8 0023AC28 4B F9 56 99 */ bl sub_801d3360
/* 8023DCCC 0023AC2C 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023DCD0 0023AC30 38 60 00 4C */ li r3, 0x4c
/* 8023DCD4 0023AC34 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023DCD8 0023AC38 38 A0 00 00 */ li r5, 0
/* 8023DCDC 0023AC3C 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DCE0 0023AC40 48 0D 7B 8D */ bl __nw__FUlPCcPCc
/* 8023DCE4 0023AC44 7C 70 1B 79 */ or. r16, r3, r3
/* 8023DCE8 0023AC48 41 82 00 10 */ beq lbl_8023DCF8
/* 8023DCEC 0023AC4C 7F 84 E3 78 */ mr r4, r28
/* 8023DCF0 0023AC50 4B ED 8E 65 */ bl __ct__10CModelDataFRC8CAnimRes
/* 8023DCF4 0023AC54 7C 70 1B 78 */ mr r16, r3
lbl_8023DCF8:
/* 8023DCF8 0023AC58 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023DCFC 0023AC5C 38 60 00 08 */ li r3, 8
/* 8023DD00 0023AC60 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023DD04 0023AC64 38 A0 00 00 */ li r5, 0
/* 8023DD08 0023AC68 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DD0C 0023AC6C 48 0D 7B 61 */ bl __nw__FUlPCcPCc
/* 8023DD10 0023AC70 28 03 00 00 */ cmplwi r3, 0
/* 8023DD14 0023AC74 41 82 00 10 */ beq lbl_8023DD24
/* 8023DD18 0023AC78 92 03 00 00 */ stw r16, 0(r3)
/* 8023DD1C 0023AC7C 38 00 00 01 */ li r0, 1
/* 8023DD20 0023AC80 90 03 00 04 */ stw r0, 4(r3)
lbl_8023DD24:
/* 8023DD24 0023AC84 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8023DD28 0023AC88 38 9F 01 B0 */ addi r4, r31, 0x1b0
/* 8023DD2C 0023AC8C 80 1F 01 B0 */ lwz r0, 0x1b0(r31)
/* 8023DD30 0023AC90 54 00 10 3A */ slwi r0, r0, 2
/* 8023DD34 0023AC94 7C 84 02 14 */ add r4, r4, r0
/* 8023DD38 0023AC98 34 84 00 04 */ addic. r4, r4, 4
/* 8023DD3C 0023AC9C 41 82 00 18 */ beq lbl_8023DD54
/* 8023DD40 0023ACA0 90 64 00 00 */ stw r3, 0(r4)
/* 8023DD44 0023ACA4 80 84 00 00 */ lwz r4, 0(r4)
/* 8023DD48 0023ACA8 80 64 00 04 */ lwz r3, 4(r4)
/* 8023DD4C 0023ACAC 38 03 00 01 */ addi r0, r3, 1
/* 8023DD50 0023ACB0 90 04 00 04 */ stw r0, 4(r4)
lbl_8023DD54:
/* 8023DD54 0023ACB4 80 9F 01 B0 */ lwz r4, 0x1b0(r31)
/* 8023DD58 0023ACB8 38 61 00 1C */ addi r3, r1, 0x1c
/* 8023DD5C 0023ACBC 38 04 00 01 */ addi r0, r4, 1
/* 8023DD60 0023ACC0 90 1F 01 B0 */ stw r0, 0x1b0(r31)
/* 8023DD64 0023ACC4 4B F9 55 FD */ bl sub_801d3360
/* 8023DD68 0023ACC8 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023DD6C 0023ACCC 38 60 00 4C */ li r3, 0x4c
/* 8023DD70 0023ACD0 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023DD74 0023ACD4 38 A0 00 00 */ li r5, 0
/* 8023DD78 0023ACD8 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DD7C 0023ACDC 48 0D 7A F1 */ bl __nw__FUlPCcPCc
/* 8023DD80 0023ACE0 7C 70 1B 79 */ or. r16, r3, r3
/* 8023DD84 0023ACE4 41 82 00 10 */ beq lbl_8023DD94
/* 8023DD88 0023ACE8 7F 84 E3 78 */ mr r4, r28
/* 8023DD8C 0023ACEC 4B ED 8D C9 */ bl __ct__10CModelDataFRC8CAnimRes
/* 8023DD90 0023ACF0 7C 70 1B 78 */ mr r16, r3
lbl_8023DD94:
/* 8023DD94 0023ACF4 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023DD98 0023ACF8 38 60 00 08 */ li r3, 8
/* 8023DD9C 0023ACFC 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023DDA0 0023AD00 38 A0 00 00 */ li r5, 0
/* 8023DDA4 0023AD04 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DDA8 0023AD08 48 0D 7A C5 */ bl __nw__FUlPCcPCc
/* 8023DDAC 0023AD0C 28 03 00 00 */ cmplwi r3, 0
/* 8023DDB0 0023AD10 41 82 00 10 */ beq lbl_8023DDC0
/* 8023DDB4 0023AD14 92 03 00 00 */ stw r16, 0(r3)
/* 8023DDB8 0023AD18 38 00 00 01 */ li r0, 1
/* 8023DDBC 0023AD1C 90 03 00 04 */ stw r0, 4(r3)
lbl_8023DDC0:
/* 8023DDC0 0023AD20 90 61 00 18 */ stw r3, 0x18(r1)
/* 8023DDC4 0023AD24 38 9F 01 B0 */ addi r4, r31, 0x1b0
/* 8023DDC8 0023AD28 80 1F 01 B0 */ lwz r0, 0x1b0(r31)
/* 8023DDCC 0023AD2C 54 00 10 3A */ slwi r0, r0, 2
/* 8023DDD0 0023AD30 7C 84 02 14 */ add r4, r4, r0
/* 8023DDD4 0023AD34 34 84 00 04 */ addic. r4, r4, 4
/* 8023DDD8 0023AD38 41 82 00 18 */ beq lbl_8023DDF0
/* 8023DDDC 0023AD3C 90 64 00 00 */ stw r3, 0(r4)
/* 8023DDE0 0023AD40 80 84 00 00 */ lwz r4, 0(r4)
/* 8023DDE4 0023AD44 80 64 00 04 */ lwz r3, 4(r4)
/* 8023DDE8 0023AD48 38 03 00 01 */ addi r0, r3, 1
/* 8023DDEC 0023AD4C 90 04 00 04 */ stw r0, 4(r4)
lbl_8023DDF0:
/* 8023DDF0 0023AD50 80 9F 01 B0 */ lwz r4, 0x1b0(r31)
/* 8023DDF4 0023AD54 38 61 00 18 */ addi r3, r1, 0x18
/* 8023DDF8 0023AD58 38 04 00 01 */ addi r0, r4, 1
/* 8023DDFC 0023AD5C 90 1F 01 B0 */ stw r0, 0x1b0(r31)
/* 8023DE00 0023AD60 4B F9 55 61 */ bl sub_801d3360
/* 8023DE04 0023AD64 80 1D 00 44 */ lwz r0, 0x44(r29)
/* 8023DE08 0023AD68 28 00 00 00 */ cmplwi r0, 0
/* 8023DE0C 0023AD6C 41 82 00 40 */ beq lbl_8023DE4C
/* 8023DE10 0023AD70 3A 20 00 00 */ li r17, 0
/* 8023DE14 0023AD74 3A 00 00 00 */ li r16, 0
lbl_8023DE18:
/* 8023DE18 0023AD78 7C 7F 82 14 */ add r3, r31, r16
/* 8023DE1C 0023AD7C 38 9D 00 44 */ addi r4, r29, 0x44
/* 8023DE20 0023AD80 80 63 01 B4 */ lwz r3, 0x1b4(r3)
/* 8023DE24 0023AD84 80 63 00 00 */ lwz r3, 0(r3)
/* 8023DE28 0023AD88 4B ED 71 C9 */ bl "SetXRayModel__10CModelDataFRCQ24rstl11pair<Ui,Ui>"
/* 8023DE2C 0023AD8C 3A 31 00 01 */ addi r17, r17, 1
/* 8023DE30 0023AD90 3A 10 00 04 */ addi r16, r16, 4
/* 8023DE34 0023AD94 2C 11 00 04 */ cmpwi r17, 4
/* 8023DE38 0023AD98 41 80 FF E0 */ blt lbl_8023DE18
/* 8023DE3C 0023AD9C 88 1F 01 40 */ lbz r0, 0x140(r31)
/* 8023DE40 0023ADA0 38 60 00 01 */ li r3, 1
/* 8023DE44 0023ADA4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8023DE48 0023ADA8 98 1F 01 40 */ stb r0, 0x140(r31)
lbl_8023DE4C:
/* 8023DE4C 0023ADAC 80 1D 00 4C */ lwz r0, 0x4c(r29)
/* 8023DE50 0023ADB0 28 00 00 00 */ cmplwi r0, 0
/* 8023DE54 0023ADB4 41 82 00 40 */ beq lbl_8023DE94
/* 8023DE58 0023ADB8 3A 20 00 00 */ li r17, 0
/* 8023DE5C 0023ADBC 3A 00 00 00 */ li r16, 0
lbl_8023DE60:
/* 8023DE60 0023ADC0 7C 7F 82 14 */ add r3, r31, r16
/* 8023DE64 0023ADC4 38 9D 00 4C */ addi r4, r29, 0x4c
/* 8023DE68 0023ADC8 80 63 01 B4 */ lwz r3, 0x1b4(r3)
/* 8023DE6C 0023ADCC 80 63 00 00 */ lwz r3, 0(r3)
/* 8023DE70 0023ADD0 4B ED 73 E5 */ bl "SetInfraModel__10CModelDataFRCQ24rstl11pair<Ui,Ui>"
/* 8023DE74 0023ADD4 3A 31 00 01 */ addi r17, r17, 1
/* 8023DE78 0023ADD8 3A 10 00 04 */ addi r16, r16, 4
/* 8023DE7C 0023ADDC 2C 11 00 04 */ cmpwi r17, 4
/* 8023DE80 0023ADE0 41 80 FF E0 */ blt lbl_8023DE60
/* 8023DE84 0023ADE4 88 1F 01 40 */ lbz r0, 0x140(r31)
/* 8023DE88 0023ADE8 38 60 00 01 */ li r3, 1
/* 8023DE8C 0023ADEC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8023DE90 0023ADF0 98 1F 01 40 */ stb r0, 0x140(r31)
lbl_8023DE94:
/* 8023DE94 0023ADF4 3C 1B 00 01 */ addis r0, r27, 1
/* 8023DE98 0023ADF8 28 00 FF FF */ cmplwi r0, 0xffff
/* 8023DE9C 0023ADFC 41 82 02 18 */ beq lbl_8023E0B4
/* 8023DEA0 0023AE00 3C 60 80 3D */ lis r3, lbl_803D4388@ha
/* 8023DEA4 0023AE04 3A 00 00 00 */ li r16, 0
/* 8023DEA8 0023AE08 38 83 43 88 */ addi r4, r3, lbl_803D4388@l
/* 8023DEAC 0023AE0C 38 60 00 0C */ li r3, 0xc
/* 8023DEB0 0023AE10 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DEB4 0023AE14 38 A0 00 00 */ li r5, 0
/* 8023DEB8 0023AE18 48 0D 79 B5 */ bl __nw__FUlPCcPCc
/* 8023DEBC 0023AE1C 7C 71 1B 79 */ or. r17, r3, r3
/* 8023DEC0 0023AE20 41 82 00 50 */ beq lbl_8023DF10
/* 8023DEC4 0023AE24 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 8023DEC8 0023AE28 93 61 00 74 */ stw r27, 0x74(r1)
/* 8023DECC 0023AE2C 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 8023DED0 0023AE30 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8023DED4 0023AE34 90 01 00 70 */ stw r0, 0x70(r1)
/* 8023DED8 0023AE38 38 61 00 68 */ addi r3, r1, 0x68
/* 8023DEDC 0023AE3C 38 A1 00 70 */ addi r5, r1, 0x70
/* 8023DEE0 0023AE40 81 84 00 00 */ lwz r12, 0(r4)
/* 8023DEE4 0023AE44 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8023DEE8 0023AE48 7D 89 03 A6 */ mtctr r12
/* 8023DEEC 0023AE4C 4E 80 04 21 */ bctrl
/* 8023DEF0 0023AE50 7E 23 8B 78 */ mr r3, r17
/* 8023DEF4 0023AE54 38 81 00 68 */ addi r4, r1, 0x68
/* 8023DEF8 0023AE58 3A 00 00 01 */ li r16, 1
/* 8023DEFC 0023AE5C 48 10 2F AD */ bl __ct__6CTokenFRC6CToken
/* 8023DF00 0023AE60 7E 23 8B 78 */ mr r3, r17
/* 8023DF04 0023AE64 48 10 2F 09 */ bl GetObj__6CTokenFv
/* 8023DF08 0023AE68 80 03 00 04 */ lwz r0, 4(r3)
/* 8023DF0C 0023AE6C 90 11 00 08 */ stw r0, 8(r17)
lbl_8023DF10:
/* 8023DF10 0023AE70 7C 71 00 D0 */ neg r3, r17
/* 8023DF14 0023AE74 38 01 00 60 */ addi r0, r1, 0x60
/* 8023DF18 0023AE78 7C 63 8B 78 */ or r3, r3, r17
/* 8023DF1C 0023AE7C 38 9F 01 DC */ addi r4, r31, 0x1dc
/* 8023DF20 0023AE80 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8023DF24 0023AE84 92 21 00 64 */ stw r17, 0x64(r1)
/* 8023DF28 0023AE88 7C 00 20 40 */ cmplw r0, r4
/* 8023DF2C 0023AE8C 98 61 00 60 */ stb r3, 0x60(r1)
/* 8023DF30 0023AE90 41 82 00 4C */ beq lbl_8023DF7C
/* 8023DF34 0023AE94 88 04 00 00 */ lbz r0, 0(r4)
/* 8023DF38 0023AE98 28 00 00 00 */ cmplwi r0, 0
/* 8023DF3C 0023AE9C 41 82 00 28 */ beq lbl_8023DF64
/* 8023DF40 0023AEA0 82 3F 01 E0 */ lwz r17, 0x1e0(r31)
/* 8023DF44 0023AEA4 28 11 00 00 */ cmplwi r17, 0
/* 8023DF48 0023AEA8 41 82 00 1C */ beq lbl_8023DF64
/* 8023DF4C 0023AEAC 41 82 00 10 */ beq lbl_8023DF5C
/* 8023DF50 0023AEB0 7E 23 8B 78 */ mr r3, r17
/* 8023DF54 0023AEB4 38 80 00 00 */ li r4, 0
/* 8023DF58 0023AEB8 48 10 2E E9 */ bl __dt__6CTokenFv
lbl_8023DF5C:
/* 8023DF5C 0023AEBC 7E 23 8B 78 */ mr r3, r17
/* 8023DF60 0023AEC0 48 0D 79 D1 */ bl Free__7CMemoryFPCv
lbl_8023DF64:
/* 8023DF64 0023AEC4 88 61 00 60 */ lbz r3, 0x60(r1)
/* 8023DF68 0023AEC8 38 00 00 00 */ li r0, 0
/* 8023DF6C 0023AECC 98 7F 01 DC */ stb r3, 0x1dc(r31)
/* 8023DF70 0023AED0 80 61 00 64 */ lwz r3, 0x64(r1)
/* 8023DF74 0023AED4 90 7F 01 E0 */ stw r3, 0x1e0(r31)
/* 8023DF78 0023AED8 98 01 00 60 */ stb r0, 0x60(r1)
lbl_8023DF7C:
/* 8023DF7C 0023AEDC 88 01 00 60 */ lbz r0, 0x60(r1)
/* 8023DF80 0023AEE0 28 00 00 00 */ cmplwi r0, 0
/* 8023DF84 0023AEE4 41 82 00 28 */ beq lbl_8023DFAC
/* 8023DF88 0023AEE8 82 21 00 64 */ lwz r17, 0x64(r1)
/* 8023DF8C 0023AEEC 28 11 00 00 */ cmplwi r17, 0
/* 8023DF90 0023AEF0 41 82 00 1C */ beq lbl_8023DFAC
/* 8023DF94 0023AEF4 41 82 00 10 */ beq lbl_8023DFA4
/* 8023DF98 0023AEF8 7E 23 8B 78 */ mr r3, r17
/* 8023DF9C 0023AEFC 38 80 00 00 */ li r4, 0
/* 8023DFA0 0023AF00 48 10 2E A1 */ bl __dt__6CTokenFv
lbl_8023DFA4:
/* 8023DFA4 0023AF04 7E 23 8B 78 */ mr r3, r17
/* 8023DFA8 0023AF08 48 0D 79 89 */ bl Free__7CMemoryFPCv
lbl_8023DFAC:
/* 8023DFAC 0023AF0C 7E 00 07 75 */ extsb. r0, r16
/* 8023DFB0 0023AF10 41 82 00 10 */ beq lbl_8023DFC0
/* 8023DFB4 0023AF14 38 61 00 68 */ addi r3, r1, 0x68
/* 8023DFB8 0023AF18 38 80 FF FF */ li r4, -1
/* 8023DFBC 0023AF1C 48 10 2E 85 */ bl __dt__6CTokenFv
lbl_8023DFC0:
/* 8023DFC0 0023AF20 3C 60 80 3D */ lis r3, lbl_803D4388@ha
/* 8023DFC4 0023AF24 3A 00 00 00 */ li r16, 0
/* 8023DFC8 0023AF28 38 83 43 88 */ addi r4, r3, lbl_803D4388@l
/* 8023DFCC 0023AF2C 38 60 03 40 */ li r3, 0x340
/* 8023DFD0 0023AF30 38 84 00 0B */ addi r4, r4, 0xb
/* 8023DFD4 0023AF34 38 A0 00 00 */ li r5, 0
/* 8023DFD8 0023AF38 48 0D 78 95 */ bl __nw__FUlPCcPCc
/* 8023DFDC 0023AF3C 7C 71 1B 79 */ or. r17, r3, r3
/* 8023DFE0 0023AF40 41 82 00 2C */ beq lbl_8023E00C
/* 8023DFE4 0023AF44 80 9F 01 E0 */ lwz r4, 0x1e0(r31)
/* 8023DFE8 0023AF48 38 61 00 58 */ addi r3, r1, 0x58
/* 8023DFEC 0023AF4C 48 10 2E BD */ bl __ct__6CTokenFRC6CToken
/* 8023DFF0 0023AF50 7E 23 8B 78 */ mr r3, r17
/* 8023DFF4 0023AF54 38 81 00 58 */ addi r4, r1, 0x58
/* 8023DFF8 0023AF58 3A 00 00 01 */ li r16, 1
/* 8023DFFC 0023AF5C 38 A0 00 00 */ li r5, 0
/* 8023E000 0023AF60 38 C0 00 01 */ li r6, 1
/* 8023E004 0023AF64 48 0E 13 DD */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8023E008 0023AF68 7C 71 1B 78 */ mr r17, r3
lbl_8023E00C:
/* 8023E00C 0023AF6C 7C 71 00 D0 */ neg r3, r17
/* 8023E010 0023AF70 38 01 00 50 */ addi r0, r1, 0x50
/* 8023E014 0023AF74 7C 63 8B 78 */ or r3, r3, r17
/* 8023E018 0023AF78 38 9F 01 EC */ addi r4, r31, 0x1ec
/* 8023E01C 0023AF7C 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8023E020 0023AF80 92 21 00 54 */ stw r17, 0x54(r1)
/* 8023E024 0023AF84 7C 00 20 40 */ cmplw r0, r4
/* 8023E028 0023AF88 98 61 00 50 */ stb r3, 0x50(r1)
/* 8023E02C 0023AF8C 41 82 00 48 */ beq lbl_8023E074
/* 8023E030 0023AF90 88 04 00 00 */ lbz r0, 0(r4)
/* 8023E034 0023AF94 28 00 00 00 */ cmplwi r0, 0
/* 8023E038 0023AF98 41 82 00 24 */ beq lbl_8023E05C
/* 8023E03C 0023AF9C 80 7F 01 F0 */ lwz r3, 0x1f0(r31)
/* 8023E040 0023AFA0 28 03 00 00 */ cmplwi r3, 0
/* 8023E044 0023AFA4 41 82 00 18 */ beq lbl_8023E05C
/* 8023E048 0023AFA8 81 83 00 00 */ lwz r12, 0(r3)
/* 8023E04C 0023AFAC 38 80 00 01 */ li r4, 1
/* 8023E050 0023AFB0 81 8C 00 08 */ lwz r12, 8(r12)
/* 8023E054 0023AFB4 7D 89 03 A6 */ mtctr r12
/* 8023E058 0023AFB8 4E 80 04 21 */ bctrl
lbl_8023E05C:
/* 8023E05C 0023AFBC 88 61 00 50 */ lbz r3, 0x50(r1)
/* 8023E060 0023AFC0 38 00 00 00 */ li r0, 0
/* 8023E064 0023AFC4 98 7F 01 EC */ stb r3, 0x1ec(r31)
/* 8023E068 0023AFC8 80 61 00 54 */ lwz r3, 0x54(r1)
/* 8023E06C 0023AFCC 90 7F 01 F0 */ stw r3, 0x1f0(r31)
/* 8023E070 0023AFD0 98 01 00 50 */ stb r0, 0x50(r1)
lbl_8023E074:
/* 8023E074 0023AFD4 88 01 00 50 */ lbz r0, 0x50(r1)
/* 8023E078 0023AFD8 28 00 00 00 */ cmplwi r0, 0
/* 8023E07C 0023AFDC 41 82 00 24 */ beq lbl_8023E0A0
/* 8023E080 0023AFE0 80 61 00 54 */ lwz r3, 0x54(r1)
/* 8023E084 0023AFE4 28 03 00 00 */ cmplwi r3, 0
/* 8023E088 0023AFE8 41 82 00 18 */ beq lbl_8023E0A0
/* 8023E08C 0023AFEC 81 83 00 00 */ lwz r12, 0(r3)
/* 8023E090 0023AFF0 38 80 00 01 */ li r4, 1
/* 8023E094 0023AFF4 81 8C 00 08 */ lwz r12, 8(r12)
/* 8023E098 0023AFF8 7D 89 03 A6 */ mtctr r12
/* 8023E09C 0023AFFC 4E 80 04 21 */ bctrl
lbl_8023E0A0:
/* 8023E0A0 0023B000 7E 00 07 75 */ extsb. r0, r16
/* 8023E0A4 0023B004 41 82 00 10 */ beq lbl_8023E0B4
/* 8023E0A8 0023B008 38 61 00 58 */ addi r3, r1, 0x58
/* 8023E0AC 0023B00C 38 80 00 00 */ li r4, 0
/* 8023E0B0 0023B010 48 10 2D 91 */ bl __dt__6CTokenFv
lbl_8023E0B4:
/* 8023E0B4 0023B014 3C 1E 00 01 */ addis r0, r30, 1
/* 8023E0B8 0023B018 28 00 FF FF */ cmplwi r0, 0xffff
/* 8023E0BC 0023B01C 41 82 02 18 */ beq lbl_8023E2D4
/* 8023E0C0 0023B020 3C 60 80 3D */ lis r3, lbl_803D4388@ha
/* 8023E0C4 0023B024 3A 00 00 00 */ li r16, 0
/* 8023E0C8 0023B028 38 83 43 88 */ addi r4, r3, lbl_803D4388@l
/* 8023E0CC 0023B02C 38 60 00 0C */ li r3, 0xc
/* 8023E0D0 0023B030 38 84 00 0B */ addi r4, r4, 0xb
/* 8023E0D4 0023B034 38 A0 00 00 */ li r5, 0
/* 8023E0D8 0023B038 48 0D 77 95 */ bl __nw__FUlPCcPCc
/* 8023E0DC 0023B03C 7C 71 1B 79 */ or. r17, r3, r3
/* 8023E0E0 0023B040 41 82 00 50 */ beq lbl_8023E130
/* 8023E0E4 0023B044 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 8023E0E8 0023B048 93 C1 00 4C */ stw r30, 0x4c(r1)
/* 8023E0EC 0023B04C 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 8023E0F0 0023B050 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8023E0F4 0023B054 90 01 00 48 */ stw r0, 0x48(r1)
/* 8023E0F8 0023B058 38 61 00 40 */ addi r3, r1, 0x40
/* 8023E0FC 0023B05C 38 A1 00 48 */ addi r5, r1, 0x48
/* 8023E100 0023B060 81 84 00 00 */ lwz r12, 0(r4)
/* 8023E104 0023B064 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8023E108 0023B068 7D 89 03 A6 */ mtctr r12
/* 8023E10C 0023B06C 4E 80 04 21 */ bctrl
/* 8023E110 0023B070 7E 23 8B 78 */ mr r3, r17
/* 8023E114 0023B074 38 81 00 40 */ addi r4, r1, 0x40
/* 8023E118 0023B078 3A 00 00 01 */ li r16, 1
/* 8023E11C 0023B07C 48 10 2D 8D */ bl __ct__6CTokenFRC6CToken
/* 8023E120 0023B080 7E 23 8B 78 */ mr r3, r17
/* 8023E124 0023B084 48 10 2C E9 */ bl GetObj__6CTokenFv
/* 8023E128 0023B088 80 03 00 04 */ lwz r0, 4(r3)
/* 8023E12C 0023B08C 90 11 00 08 */ stw r0, 8(r17)
lbl_8023E130:
/* 8023E130 0023B090 7C 71 00 D0 */ neg r3, r17
/* 8023E134 0023B094 38 01 00 38 */ addi r0, r1, 0x38
/* 8023E138 0023B098 7C 63 8B 78 */ or r3, r3, r17
/* 8023E13C 0023B09C 38 9F 01 DC */ addi r4, r31, 0x1dc
/* 8023E140 0023B0A0 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8023E144 0023B0A4 92 21 00 3C */ stw r17, 0x3c(r1)
/* 8023E148 0023B0A8 7C 00 20 40 */ cmplw r0, r4
/* 8023E14C 0023B0AC 98 61 00 38 */ stb r3, 0x38(r1)
/* 8023E150 0023B0B0 41 82 00 4C */ beq lbl_8023E19C
/* 8023E154 0023B0B4 88 04 00 00 */ lbz r0, 0(r4)
/* 8023E158 0023B0B8 28 00 00 00 */ cmplwi r0, 0
/* 8023E15C 0023B0BC 41 82 00 28 */ beq lbl_8023E184
/* 8023E160 0023B0C0 82 3F 01 E0 */ lwz r17, 0x1e0(r31)
/* 8023E164 0023B0C4 28 11 00 00 */ cmplwi r17, 0
/* 8023E168 0023B0C8 41 82 00 1C */ beq lbl_8023E184
/* 8023E16C 0023B0CC 41 82 00 10 */ beq lbl_8023E17C
/* 8023E170 0023B0D0 7E 23 8B 78 */ mr r3, r17
/* 8023E174 0023B0D4 38 80 00 00 */ li r4, 0
/* 8023E178 0023B0D8 48 10 2C C9 */ bl __dt__6CTokenFv
lbl_8023E17C:
/* 8023E17C 0023B0DC 7E 23 8B 78 */ mr r3, r17
/* 8023E180 0023B0E0 48 0D 77 B1 */ bl Free__7CMemoryFPCv
lbl_8023E184:
/* 8023E184 0023B0E4 88 61 00 38 */ lbz r3, 0x38(r1)
/* 8023E188 0023B0E8 38 00 00 00 */ li r0, 0
/* 8023E18C 0023B0EC 98 7F 01 DC */ stb r3, 0x1dc(r31)
/* 8023E190 0023B0F0 80 61 00 3C */ lwz r3, 0x3c(r1)
/* 8023E194 0023B0F4 90 7F 01 E0 */ stw r3, 0x1e0(r31)
/* 8023E198 0023B0F8 98 01 00 38 */ stb r0, 0x38(r1)
lbl_8023E19C:
/* 8023E19C 0023B0FC 88 01 00 38 */ lbz r0, 0x38(r1)
/* 8023E1A0 0023B100 28 00 00 00 */ cmplwi r0, 0
/* 8023E1A4 0023B104 41 82 00 28 */ beq lbl_8023E1CC
/* 8023E1A8 0023B108 82 21 00 3C */ lwz r17, 0x3c(r1)
/* 8023E1AC 0023B10C 28 11 00 00 */ cmplwi r17, 0
/* 8023E1B0 0023B110 41 82 00 1C */ beq lbl_8023E1CC
/* 8023E1B4 0023B114 41 82 00 10 */ beq lbl_8023E1C4
/* 8023E1B8 0023B118 7E 23 8B 78 */ mr r3, r17
/* 8023E1BC 0023B11C 38 80 00 00 */ li r4, 0
/* 8023E1C0 0023B120 48 10 2C 81 */ bl __dt__6CTokenFv
lbl_8023E1C4:
/* 8023E1C4 0023B124 7E 23 8B 78 */ mr r3, r17
/* 8023E1C8 0023B128 48 0D 77 69 */ bl Free__7CMemoryFPCv
lbl_8023E1CC:
/* 8023E1CC 0023B12C 7E 00 07 75 */ extsb. r0, r16
/* 8023E1D0 0023B130 41 82 00 10 */ beq lbl_8023E1E0
/* 8023E1D4 0023B134 38 61 00 40 */ addi r3, r1, 0x40
/* 8023E1D8 0023B138 38 80 FF FF */ li r4, -1
/* 8023E1DC 0023B13C 48 10 2C 65 */ bl __dt__6CTokenFv
lbl_8023E1E0:
/* 8023E1E0 0023B140 3C 60 80 3D */ lis r3, lbl_803D4388@ha
/* 8023E1E4 0023B144 3A 00 00 00 */ li r16, 0
/* 8023E1E8 0023B148 38 83 43 88 */ addi r4, r3, lbl_803D4388@l
/* 8023E1EC 0023B14C 38 60 03 40 */ li r3, 0x340
/* 8023E1F0 0023B150 38 84 00 0B */ addi r4, r4, 0xb
/* 8023E1F4 0023B154 38 A0 00 00 */ li r5, 0
/* 8023E1F8 0023B158 48 0D 76 75 */ bl __nw__FUlPCcPCc
/* 8023E1FC 0023B15C 7C 71 1B 79 */ or. r17, r3, r3
/* 8023E200 0023B160 41 82 00 2C */ beq lbl_8023E22C
/* 8023E204 0023B164 80 9F 01 E0 */ lwz r4, 0x1e0(r31)
/* 8023E208 0023B168 38 61 00 30 */ addi r3, r1, 0x30
/* 8023E20C 0023B16C 48 10 2C 9D */ bl __ct__6CTokenFRC6CToken
/* 8023E210 0023B170 7E 23 8B 78 */ mr r3, r17
/* 8023E214 0023B174 38 81 00 30 */ addi r4, r1, 0x30
/* 8023E218 0023B178 3A 00 00 01 */ li r16, 1
/* 8023E21C 0023B17C 38 A0 00 00 */ li r5, 0
/* 8023E220 0023B180 38 C0 00 01 */ li r6, 1
/* 8023E224 0023B184 48 0E 11 BD */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8023E228 0023B188 7C 71 1B 78 */ mr r17, r3
lbl_8023E22C:
/* 8023E22C 0023B18C 7C 71 00 D0 */ neg r3, r17
/* 8023E230 0023B190 38 01 00 28 */ addi r0, r1, 0x28
/* 8023E234 0023B194 7C 63 8B 78 */ or r3, r3, r17
/* 8023E238 0023B198 38 9F 01 F4 */ addi r4, r31, 0x1f4
/* 8023E23C 0023B19C 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8023E240 0023B1A0 92 21 00 2C */ stw r17, 0x2c(r1)
/* 8023E244 0023B1A4 7C 00 20 40 */ cmplw r0, r4
/* 8023E248 0023B1A8 98 61 00 28 */ stb r3, 0x28(r1)
/* 8023E24C 0023B1AC 41 82 00 48 */ beq lbl_8023E294
/* 8023E250 0023B1B0 88 04 00 00 */ lbz r0, 0(r4)
/* 8023E254 0023B1B4 28 00 00 00 */ cmplwi r0, 0
/* 8023E258 0023B1B8 41 82 00 24 */ beq lbl_8023E27C
/* 8023E25C 0023B1BC 80 7F 01 F8 */ lwz r3, 0x1f8(r31)
/* 8023E260 0023B1C0 28 03 00 00 */ cmplwi r3, 0
/* 8023E264 0023B1C4 41 82 00 18 */ beq lbl_8023E27C
/* 8023E268 0023B1C8 81 83 00 00 */ lwz r12, 0(r3)
/* 8023E26C 0023B1CC 38 80 00 01 */ li r4, 1
/* 8023E270 0023B1D0 81 8C 00 08 */ lwz r12, 8(r12)
/* 8023E274 0023B1D4 7D 89 03 A6 */ mtctr r12
/* 8023E278 0023B1D8 4E 80 04 21 */ bctrl
lbl_8023E27C:
/* 8023E27C 0023B1DC 88 61 00 28 */ lbz r3, 0x28(r1)
/* 8023E280 0023B1E0 38 00 00 00 */ li r0, 0
/* 8023E284 0023B1E4 98 7F 01 F4 */ stb r3, 0x1f4(r31)
/* 8023E288 0023B1E8 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 8023E28C 0023B1EC 90 7F 01 F8 */ stw r3, 0x1f8(r31)
/* 8023E290 0023B1F0 98 01 00 28 */ stb r0, 0x28(r1)
lbl_8023E294:
/* 8023E294 0023B1F4 88 01 00 28 */ lbz r0, 0x28(r1)
/* 8023E298 0023B1F8 28 00 00 00 */ cmplwi r0, 0
/* 8023E29C 0023B1FC 41 82 00 24 */ beq lbl_8023E2C0
/* 8023E2A0 0023B200 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 8023E2A4 0023B204 28 03 00 00 */ cmplwi r3, 0
/* 8023E2A8 0023B208 41 82 00 18 */ beq lbl_8023E2C0
/* 8023E2AC 0023B20C 81 83 00 00 */ lwz r12, 0(r3)
/* 8023E2B0 0023B210 38 80 00 01 */ li r4, 1
/* 8023E2B4 0023B214 81 8C 00 08 */ lwz r12, 8(r12)
/* 8023E2B8 0023B218 7D 89 03 A6 */ mtctr r12
/* 8023E2BC 0023B21C 4E 80 04 21 */ bctrl
lbl_8023E2C0:
/* 8023E2C0 0023B220 7E 00 07 75 */ extsb. r0, r16
/* 8023E2C4 0023B224 41 82 00 10 */ beq lbl_8023E2D4
/* 8023E2C8 0023B228 38 61 00 30 */ addi r3, r1, 0x30
/* 8023E2CC 0023B22C 38 80 00 00 */ li r4, 0
/* 8023E2D0 0023B230 48 10 2B 71 */ bl __dt__6CTokenFv
lbl_8023E2D4:
/* 8023E2D4 0023B234 7F E3 FB 78 */ mr r3, r31
/* 8023E2D8 0023B238 E3 E1 02 38 */ psq_l f31, 568(r1), 0, qr0
/* 8023E2DC 0023B23C CB E1 02 30 */ lfd f31, 0x230(r1)
/* 8023E2E0 0023B240 E3 C1 02 28 */ psq_l f30, 552(r1), 0, qr0
/* 8023E2E4 0023B244 CB C1 02 20 */ lfd f30, 0x220(r1)
/* 8023E2E8 0023B248 E3 A1 02 18 */ psq_l f29, 536(r1), 0, qr0
/* 8023E2EC 0023B24C CB A1 02 10 */ lfd f29, 0x210(r1)
/* 8023E2F0 0023B250 E3 81 02 08 */ psq_l f28, 520(r1), 0, qr0
/* 8023E2F4 0023B254 CB 81 02 00 */ lfd f28, 0x200(r1)
/* 8023E2F8 0023B258 E3 61 01 F8 */ psq_l f27, 504(r1), 0, qr0
/* 8023E2FC 0023B25C CB 61 01 F0 */ lfd f27, 0x1f0(r1)
/* 8023E300 0023B260 E3 41 01 E8 */ psq_l f26, 488(r1), 0, qr0
/* 8023E304 0023B264 CB 41 01 E0 */ lfd f26, 0x1e0(r1)
/* 8023E308 0023B268 E3 21 01 D8 */ psq_l f25, 472(r1), 0, qr0
/* 8023E30C 0023B26C CB 21 01 D0 */ lfd f25, 0x1d0(r1)
/* 8023E310 0023B270 E3 01 01 C8 */ psq_l f24, 456(r1), 0, qr0
/* 8023E314 0023B274 CB 01 01 C0 */ lfd f24, 0x1c0(r1)
/* 8023E318 0023B278 E2 E1 01 B8 */ psq_l f23, 440(r1), 0, qr0
/* 8023E31C 0023B27C CA E1 01 B0 */ lfd f23, 0x1b0(r1)
/* 8023E320 0023B280 E2 C1 01 A8 */ psq_l f22, 424(r1), 0, qr0
/* 8023E324 0023B284 CA C1 01 A0 */ lfd f22, 0x1a0(r1)
/* 8023E328 0023B288 E2 A1 01 98 */ psq_l f21, 408(r1), 0, qr0
/* 8023E32C 0023B28C CA A1 01 90 */ lfd f21, 0x190(r1)
/* 8023E330 0023B290 E2 81 01 88 */ psq_l f20, 392(r1), 0, qr0
/* 8023E334 0023B294 CA 81 01 80 */ lfd f20, 0x180(r1)
/* 8023E338 0023B298 E2 61 01 78 */ psq_l f19, 376(r1), 0, qr0
/* 8023E33C 0023B29C CA 61 01 70 */ lfd f19, 0x170(r1)
/* 8023E340 0023B2A0 E2 41 01 68 */ psq_l f18, 360(r1), 0, qr0
/* 8023E344 0023B2A4 CA 41 01 60 */ lfd f18, 0x160(r1)
/* 8023E348 0023B2A8 E2 21 01 58 */ psq_l f17, 344(r1), 0, qr0
/* 8023E34C 0023B2AC CA 21 01 50 */ lfd f17, 0x150(r1)
/* 8023E350 0023B2B0 BA 01 01 10 */ lmw r16, 0x110(r1)
/* 8023E354 0023B2B4 80 01 02 44 */ lwz r0, 0x244(r1)
/* 8023E358 0023B2B8 7C 08 03 A6 */ mtlr r0
/* 8023E35C 0023B2BC 38 21 02 40 */ addi r1, r1, 0x240
/* 8023E360 0023B2C0 4E 80 00 20 */ blr
.global sub_8023e364
sub_8023e364:
/* 8023E364 0023B2C4 C0 23 00 20 */ lfs f1, 0x20(r3)
/* 8023E368 0023B2C8 4E 80 00 20 */ blr
.global sub_8023e36c
sub_8023e36c:
/* 8023E36C 0023B2CC D0 23 00 18 */ stfs f1, 0x18(r3)
/* 8023E370 0023B2D0 4E 80 00 20 */ blr
.global sub_8023e374
sub_8023e374:
/* 8023E374 0023B2D4 C0 23 00 18 */ lfs f1, 0x18(r3)
/* 8023E378 0023B2D8 4E 80 00 20 */ blr
.global sub_8023e37c
sub_8023e37c:
/* 8023E37C 0023B2DC D0 23 00 14 */ stfs f1, 0x14(r3)
/* 8023E380 0023B2E0 4E 80 00 20 */ blr
.global sub_8023e384
sub_8023e384:
/* 8023E384 0023B2E4 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 8023E388 0023B2E8 4E 80 00 20 */ blr
.global sub_8023e38c
sub_8023e38c:
/* 8023E38C 0023B2EC D0 23 00 10 */ stfs f1, 0x10(r3)
/* 8023E390 0023B2F0 4E 80 00 20 */ blr
.global sub_8023e394
sub_8023e394:
/* 8023E394 0023B2F4 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 8023E398 0023B2F8 4E 80 00 20 */ blr
.global nullsub_21
nullsub_21:
/* 8023E39C 0023B2FC 4E 80 00 20 */ blr
.global sub_8023e3a0
sub_8023e3a0:
/* 8023E3A0 0023B300 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8023E3A4 0023B304 4E 80 00 20 */ blr
.global sub_8023e3a8
sub_8023e3a8:
/* 8023E3A8 0023B308 90 83 00 0C */ stw r4, 0xc(r3)
/* 8023E3AC 0023B30C 4E 80 00 20 */ blr
.global sub_8023e3b0
sub_8023e3b0:
/* 8023E3B0 0023B310 C0 04 00 00 */ lfs f0, 0(r4)
/* 8023E3B4 0023B314 38 00 00 01 */ li r0, 1
/* 8023E3B8 0023B318 D0 03 00 00 */ stfs f0, 0(r3)
/* 8023E3BC 0023B31C C0 04 00 04 */ lfs f0, 4(r4)
/* 8023E3C0 0023B320 D0 03 00 04 */ stfs f0, 4(r3)
/* 8023E3C4 0023B324 C0 04 00 08 */ lfs f0, 8(r4)
/* 8023E3C8 0023B328 D0 03 00 08 */ stfs f0, 8(r3)
/* 8023E3CC 0023B32C 90 03 00 0C */ stw r0, 0xc(r3)
/* 8023E3D0 0023B330 D0 23 00 14 */ stfs f1, 0x14(r3)
/* 8023E3D4 0023B334 D0 43 00 18 */ stfs f2, 0x18(r3)
/* 8023E3D8 0023B338 D0 63 00 20 */ stfs f3, 0x20(r3)
/* 8023E3DC 0023B33C 4E 80 00 20 */ blr
.global sub_8023e3e0
sub_8023e3e0:
/* 8023E3E0 0023B340 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8023E3E4 0023B344 7C 08 02 A6 */ mflr r0
/* 8023E3E8 0023B348 90 01 00 34 */ stw r0, 0x34(r1)
/* 8023E3EC 0023B34C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8023E3F0 0023B350 7C 9F 23 78 */ mr r31, r4
/* 8023E3F4 0023B354 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8023E3F8 0023B358 7C 7E 1B 78 */ mr r30, r3
/* 8023E3FC 0023B35C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8023E400 0023B360 80 03 00 08 */ lwz r0, 8(r3)
/* 8023E404 0023B364 7C 1F 00 00 */ cmpw r31, r0
/* 8023E408 0023B368 40 81 00 F0 */ ble lbl_8023E4F8
/* 8023E40C 0023B36C 1C 7F 00 24 */ mulli r3, r31, 0x24
/* 8023E410 0023B370 2C 03 00 00 */ cmpwi r3, 0
/* 8023E414 0023B374 40 82 00 0C */ bne lbl_8023E420
/* 8023E418 0023B378 3B A0 00 00 */ li r29, 0
/* 8023E41C 0023B37C 48 00 00 1C */ b lbl_8023E438
lbl_8023E420:
/* 8023E420 0023B380 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023E424 0023B384 38 A0 00 00 */ li r5, 0
/* 8023E428 0023B388 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023E42C 0023B38C 38 84 00 0B */ addi r4, r4, 0xb
/* 8023E430 0023B390 48 0D 73 E9 */ bl __nwa__FUlPCcPCc
/* 8023E434 0023B394 7C 7D 1B 78 */ mr r29, r3
lbl_8023E438:
/* 8023E438 0023B398 80 1E 00 04 */ lwz r0, 4(r30)
/* 8023E43C 0023B39C 7F A4 EB 78 */ mr r4, r29
/* 8023E440 0023B3A0 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 8023E444 0023B3A4 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8023E448 0023B3A8 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8023E44C 0023B3AC 7C 65 02 14 */ add r3, r5, r0
/* 8023E450 0023B3B0 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8023E454 0023B3B4 90 61 00 08 */ stw r3, 8(r1)
/* 8023E458 0023B3B8 90 61 00 0C */ stw r3, 0xc(r1)
/* 8023E45C 0023B3BC 48 00 00 5C */ b lbl_8023E4B8
lbl_8023E460:
/* 8023E460 0023B3C0 28 04 00 00 */ cmplwi r4, 0
/* 8023E464 0023B3C4 41 82 00 4C */ beq lbl_8023E4B0
/* 8023E468 0023B3C8 C0 05 00 00 */ lfs f0, 0(r5)
/* 8023E46C 0023B3CC D0 04 00 00 */ stfs f0, 0(r4)
/* 8023E470 0023B3D0 C0 05 00 04 */ lfs f0, 4(r5)
/* 8023E474 0023B3D4 D0 04 00 04 */ stfs f0, 4(r4)
/* 8023E478 0023B3D8 C0 05 00 08 */ lfs f0, 8(r5)
/* 8023E47C 0023B3DC D0 04 00 08 */ stfs f0, 8(r4)
/* 8023E480 0023B3E0 80 05 00 0C */ lwz r0, 0xc(r5)
/* 8023E484 0023B3E4 90 04 00 0C */ stw r0, 0xc(r4)
/* 8023E488 0023B3E8 C0 05 00 10 */ lfs f0, 0x10(r5)
/* 8023E48C 0023B3EC D0 04 00 10 */ stfs f0, 0x10(r4)
/* 8023E490 0023B3F0 C0 05 00 14 */ lfs f0, 0x14(r5)
/* 8023E494 0023B3F4 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 8023E498 0023B3F8 C0 05 00 18 */ lfs f0, 0x18(r5)
/* 8023E49C 0023B3FC D0 04 00 18 */ stfs f0, 0x18(r4)
/* 8023E4A0 0023B400 C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 8023E4A4 0023B404 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 8023E4A8 0023B408 C0 05 00 20 */ lfs f0, 0x20(r5)
/* 8023E4AC 0023B40C D0 04 00 20 */ stfs f0, 0x20(r4)
lbl_8023E4B0:
/* 8023E4B0 0023B410 38 84 00 24 */ addi r4, r4, 0x24
/* 8023E4B4 0023B414 38 A5 00 24 */ addi r5, r5, 0x24
lbl_8023E4B8:
/* 8023E4B8 0023B418 7C 05 18 40 */ cmplw r5, r3
/* 8023E4BC 0023B41C 40 82 FF A4 */ bne lbl_8023E460
/* 8023E4C0 0023B420 80 1E 00 04 */ lwz r0, 4(r30)
/* 8023E4C4 0023B424 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8023E4C8 0023B428 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8023E4CC 0023B42C 7C 64 1B 78 */ mr r4, r3
/* 8023E4D0 0023B430 7C 03 02 14 */ add r0, r3, r0
/* 8023E4D4 0023B434 48 00 00 08 */ b lbl_8023E4DC
lbl_8023E4D8:
/* 8023E4D8 0023B438 38 84 00 24 */ addi r4, r4, 0x24
lbl_8023E4DC:
/* 8023E4DC 0023B43C 7C 04 00 40 */ cmplw r4, r0
/* 8023E4E0 0023B440 40 82 FF F8 */ bne lbl_8023E4D8
/* 8023E4E4 0023B444 28 03 00 00 */ cmplwi r3, 0
/* 8023E4E8 0023B448 41 82 00 08 */ beq lbl_8023E4F0
/* 8023E4EC 0023B44C 48 0D 74 45 */ bl Free__7CMemoryFPCv
lbl_8023E4F0:
/* 8023E4F0 0023B450 93 BE 00 0C */ stw r29, 0xc(r30)
/* 8023E4F4 0023B454 93 FE 00 08 */ stw r31, 8(r30)
lbl_8023E4F8:
/* 8023E4F8 0023B458 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8023E4FC 0023B45C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8023E500 0023B460 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8023E504 0023B464 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8023E508 0023B468 7C 08 03 A6 */ mtlr r0
/* 8023E50C 0023B46C 38 21 00 30 */ addi r1, r1, 0x30
/* 8023E510 0023B470 4E 80 00 20 */ blr
.global sub_8023e514
sub_8023e514:
/* 8023E514 0023B474 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8023E518 0023B478 7C 08 02 A6 */ mflr r0
/* 8023E51C 0023B47C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8023E520 0023B480 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8023E524 0023B484 7C 9F 23 78 */ mr r31, r4
/* 8023E528 0023B488 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8023E52C 0023B48C 7C 7E 1B 78 */ mr r30, r3
/* 8023E530 0023B490 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8023E534 0023B494 80 03 00 08 */ lwz r0, 8(r3)
/* 8023E538 0023B498 7C 1F 00 00 */ cmpw r31, r0
/* 8023E53C 0023B49C 40 81 00 AC */ ble lbl_8023E5E8
/* 8023E540 0023B4A0 57 E3 10 3B */ rlwinm. r3, r31, 2, 0, 0x1d
/* 8023E544 0023B4A4 40 82 00 0C */ bne lbl_8023E550
/* 8023E548 0023B4A8 3B A0 00 00 */ li r29, 0
/* 8023E54C 0023B4AC 48 00 00 1C */ b lbl_8023E568
lbl_8023E550:
/* 8023E550 0023B4B0 3C 80 80 3D */ lis r4, lbl_803D4388@ha
/* 8023E554 0023B4B4 38 A0 00 00 */ li r5, 0
/* 8023E558 0023B4B8 38 84 43 88 */ addi r4, r4, lbl_803D4388@l
/* 8023E55C 0023B4BC 38 84 00 0B */ addi r4, r4, 0xb
/* 8023E560 0023B4C0 48 0D 72 B9 */ bl __nwa__FUlPCcPCc
/* 8023E564 0023B4C4 7C 7D 1B 78 */ mr r29, r3
lbl_8023E568:
/* 8023E568 0023B4C8 80 1E 00 04 */ lwz r0, 4(r30)
/* 8023E56C 0023B4CC 7F A4 EB 78 */ mr r4, r29
/* 8023E570 0023B4D0 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 8023E574 0023B4D4 54 00 10 3A */ slwi r0, r0, 2
/* 8023E578 0023B4D8 7C 65 02 14 */ add r3, r5, r0
/* 8023E57C 0023B4DC 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8023E580 0023B4E0 90 61 00 08 */ stw r3, 8(r1)
/* 8023E584 0023B4E4 90 61 00 0C */ stw r3, 0xc(r1)
/* 8023E588 0023B4E8 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8023E58C 0023B4EC 48 00 00 1C */ b lbl_8023E5A8
lbl_8023E590:
/* 8023E590 0023B4F0 28 04 00 00 */ cmplwi r4, 0
/* 8023E594 0023B4F4 41 82 00 0C */ beq lbl_8023E5A0
/* 8023E598 0023B4F8 80 05 00 00 */ lwz r0, 0(r5)
/* 8023E59C 0023B4FC 90 04 00 00 */ stw r0, 0(r4)
lbl_8023E5A0:
/* 8023E5A0 0023B500 38 84 00 04 */ addi r4, r4, 4
/* 8023E5A4 0023B504 38 A5 00 04 */ addi r5, r5, 4
lbl_8023E5A8:
/* 8023E5A8 0023B508 7C 05 18 40 */ cmplw r5, r3
/* 8023E5AC 0023B50C 40 82 FF E4 */ bne lbl_8023E590
/* 8023E5B0 0023B510 80 1E 00 04 */ lwz r0, 4(r30)
/* 8023E5B4 0023B514 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8023E5B8 0023B518 54 00 10 3A */ slwi r0, r0, 2
/* 8023E5BC 0023B51C 7C 64 1B 78 */ mr r4, r3
/* 8023E5C0 0023B520 7C 03 02 14 */ add r0, r3, r0
/* 8023E5C4 0023B524 48 00 00 08 */ b lbl_8023E5CC
lbl_8023E5C8:
/* 8023E5C8 0023B528 38 84 00 04 */ addi r4, r4, 4
lbl_8023E5CC:
/* 8023E5CC 0023B52C 7C 04 00 40 */ cmplw r4, r0
/* 8023E5D0 0023B530 40 82 FF F8 */ bne lbl_8023E5C8
/* 8023E5D4 0023B534 28 03 00 00 */ cmplwi r3, 0
/* 8023E5D8 0023B538 41 82 00 08 */ beq lbl_8023E5E0
/* 8023E5DC 0023B53C 48 0D 73 55 */ bl Free__7CMemoryFPCv
lbl_8023E5E0:
/* 8023E5E0 0023B540 93 BE 00 0C */ stw r29, 0xc(r30)
/* 8023E5E4 0023B544 93 FE 00 08 */ stw r31, 8(r30)
lbl_8023E5E8:
/* 8023E5E8 0023B548 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8023E5EC 0023B54C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8023E5F0 0023B550 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8023E5F4 0023B554 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8023E5F8 0023B558 7C 08 03 A6 */ mtlr r0
/* 8023E5FC 0023B55C 38 21 00 30 */ addi r1, r1, 0x30
/* 8023E600 0023B560 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AD488
lbl_805AD488:
# ROM: 0x3F9D28
.4byte 0
.global lbl_805AD48C
lbl_805AD48C:
# ROM: 0x3F9D2C
.float -1.0
.global lbl_805AD490
lbl_805AD490:
# ROM: 0x3F9D30
.float 2.0
.global lbl_805AD494
lbl_805AD494:
# ROM: 0x3F9D34
.float 1.0
.global lbl_805AD498
lbl_805AD498:
# ROM: 0x3F9D38
.4byte 0x401E44A8
.global lbl_805AD49C
lbl_805AD49C:
# ROM: 0x3F9D3C
.4byte 0x3EB21ABB
.global lbl_805AD4A0
lbl_805AD4A0:
# ROM: 0x3F9D40
.double 4.503601774854144E15
.global lbl_805AD4A8
lbl_805AD4A8:
# ROM: 0x3F9D48
.4byte 0x41036C57
.global lbl_805AD4AC
lbl_805AD4AC:
# ROM: 0x3F9D4C
.4byte 0x3DE727DD
.global lbl_805AD4B0
lbl_805AD4B0:
# ROM: 0x3F9D50
.float 0.75
.global lbl_805AD4B4
lbl_805AD4B4:
# ROM: 0x3F9D54
.float 0.25
.global lbl_805AD4B8
lbl_805AD4B8:
# ROM: 0x3F9D58
.float 0.017453292
.4byte 0
.section .rodata
.balign 8
.global lbl_803D4388
lbl_803D4388:
# ROM: 0x3D1388
.asciz "Whole Body"
.byte 0x3F
.asciz "?(??)"
.balign 4
.4byte 0