prime/asm/MetroidPrime/Enemies/CBouncyGrenade.s

1474 lines
71 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.balign 8
.global lbl_803E7ED0
lbl_803E7ED0:
# ROM: 0x3E4ED0
.4byte 0
.4byte 0
.4byte __dt__14CBouncyGrenadeFv
.4byte Accept__14CBouncyGrenadeFR8IVisitor
.4byte PreThink__7CEntityFfR13CStateManager
.4byte sub_8022ee5c
.4byte AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__6CActorFUc
.4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes
.4byte sub_8022e898
.4byte sub_8022e960
.4byte CanRenderUnsorted__6CActorCFRC13CStateManager
.4byte CalculateRenderBounds__6CActorFv
.4byte HealthInfo__6CActorFR13CStateManager
.4byte GetDamageVulnerability__6CActorCFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte sub_8022edc0
.4byte sub_8022ee3c
.4byte GetOrbitPosition__13CPhysicsActorCFRC13CStateManager
.4byte GetAimPosition__13CPhysicsActorCFRC13CStateManagerf
.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
.4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager
.4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei
.4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
.4byte GetSortingBounds__6CActorCFRC13CStateManager
.4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventTypef
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
.4byte sub_8022ea58
.4byte GetStepDownHeight__13CPhysicsActorCFv
.4byte GetStepUpHeight__13CPhysicsActorCFv
.4byte GetWeight__13CPhysicsActorCFv
.4byte 0
.section .sdata
.balign 8
.global lbl_805A8178
lbl_805A8178:
# ROM: 0x3F5B18
.4byte 0x00000013
.global lbl_805A817C
lbl_805A817C:
# ROM: 0x3F5B1C
.4byte 0x00000013
.global lbl_805A8180
lbl_805A8180:
# ROM: 0x3F5B20
.4byte 0x00000023
.global lbl_805A8184
lbl_805A8184:
# ROM: 0x3F5B24
.4byte 0x00000021
.global lbl_805A8188
lbl_805A8188:
# ROM: 0x3F5B28
.4byte 0x00000013
.global lbl_805A818C
lbl_805A818C:
# ROM: 0x3F5B2C
.4byte 0x0000001D
.global lbl_805A8190
lbl_805A8190:
# ROM: 0x3F5B30
.4byte 0x0000001E
.global lbl_805A8194
lbl_805A8194:
# ROM: 0x3F5B34
.4byte 0x0000001F
.global lbl_805A8198
lbl_805A8198:
# ROM: 0x3F5B38
.4byte 0x00000021
.global lbl_805A819C
lbl_805A819C:
# ROM: 0x3F5B3C
.4byte 0x00000021
.global lbl_805A81A0
lbl_805A81A0:
# ROM: 0x3F5B40
.4byte 0x00000020
.4byte 0
.section .sbss, "wa"
.balign 8
.global lbl_805A90D8
lbl_805A90D8:
.skip 0x8
.global lbl_805A90E0
lbl_805A90E0:
.skip 0x4
.global lbl_805A90E4
lbl_805A90E4:
.skip 0x4
.section .text, "ax"
.global __dt__14CBouncyGrenadeFv
__dt__14CBouncyGrenadeFv:
/* 8022E320 0022B280 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8022E324 0022B284 7C 08 02 A6 */ mflr r0
/* 8022E328 0022B288 90 01 00 14 */ stw r0, 0x14(r1)
/* 8022E32C 0022B28C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8022E330 0022B290 7C 9F 23 78 */ mr r31, r4
/* 8022E334 0022B294 93 C1 00 08 */ stw r30, 8(r1)
/* 8022E338 0022B298 7C 7E 1B 79 */ or. r30, r3, r3
/* 8022E33C 0022B29C 41 82 00 CC */ beq lbl_8022E408
/* 8022E340 0022B2A0 3C 60 80 3E */ lis r3, lbl_803E7ED0@ha
/* 8022E344 0022B2A4 34 1E 02 AC */ addic. r0, r30, 0x2ac
/* 8022E348 0022B2A8 38 03 7E D0 */ addi r0, r3, lbl_803E7ED0@l
/* 8022E34C 0022B2AC 90 1E 00 00 */ stw r0, 0(r30)
/* 8022E350 0022B2B0 41 82 00 24 */ beq lbl_8022E374
/* 8022E354 0022B2B4 80 7E 02 AC */ lwz r3, 0x2ac(r30)
/* 8022E358 0022B2B8 28 03 00 00 */ cmplwi r3, 0
/* 8022E35C 0022B2BC 41 82 00 18 */ beq lbl_8022E374
/* 8022E360 0022B2C0 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E364 0022B2C4 38 80 00 01 */ li r4, 1
/* 8022E368 0022B2C8 81 8C 00 08 */ lwz r12, 8(r12)
/* 8022E36C 0022B2CC 7D 89 03 A6 */ mtctr r12
/* 8022E370 0022B2D0 4E 80 04 21 */ bctrl
lbl_8022E374:
/* 8022E374 0022B2D4 34 1E 02 A8 */ addic. r0, r30, 0x2a8
/* 8022E378 0022B2D8 41 82 00 24 */ beq lbl_8022E39C
/* 8022E37C 0022B2DC 80 7E 02 A8 */ lwz r3, 0x2a8(r30)
/* 8022E380 0022B2E0 28 03 00 00 */ cmplwi r3, 0
/* 8022E384 0022B2E4 41 82 00 18 */ beq lbl_8022E39C
/* 8022E388 0022B2E8 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E38C 0022B2EC 38 80 00 01 */ li r4, 1
/* 8022E390 0022B2F0 81 8C 00 08 */ lwz r12, 8(r12)
/* 8022E394 0022B2F4 7D 89 03 A6 */ mtctr r12
/* 8022E398 0022B2F8 4E 80 04 21 */ bctrl
lbl_8022E39C:
/* 8022E39C 0022B2FC 34 1E 02 A4 */ addic. r0, r30, 0x2a4
/* 8022E3A0 0022B300 41 82 00 24 */ beq lbl_8022E3C4
/* 8022E3A4 0022B304 80 7E 02 A4 */ lwz r3, 0x2a4(r30)
/* 8022E3A8 0022B308 28 03 00 00 */ cmplwi r3, 0
/* 8022E3AC 0022B30C 41 82 00 18 */ beq lbl_8022E3C4
/* 8022E3B0 0022B310 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E3B4 0022B314 38 80 00 01 */ li r4, 1
/* 8022E3B8 0022B318 81 8C 00 08 */ lwz r12, 8(r12)
/* 8022E3BC 0022B31C 7D 89 03 A6 */ mtctr r12
/* 8022E3C0 0022B320 4E 80 04 21 */ bctrl
lbl_8022E3C4:
/* 8022E3C4 0022B324 34 1E 02 A0 */ addic. r0, r30, 0x2a0
/* 8022E3C8 0022B328 41 82 00 24 */ beq lbl_8022E3EC
/* 8022E3CC 0022B32C 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
/* 8022E3D0 0022B330 28 03 00 00 */ cmplwi r3, 0
/* 8022E3D4 0022B334 41 82 00 18 */ beq lbl_8022E3EC
/* 8022E3D8 0022B338 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E3DC 0022B33C 38 80 00 01 */ li r4, 1
/* 8022E3E0 0022B340 81 8C 00 08 */ lwz r12, 8(r12)
/* 8022E3E4 0022B344 7D 89 03 A6 */ mtctr r12
/* 8022E3E8 0022B348 4E 80 04 21 */ bctrl
lbl_8022E3EC:
/* 8022E3EC 0022B34C 7F C3 F3 78 */ mr r3, r30
/* 8022E3F0 0022B350 38 80 00 00 */ li r4, 0
/* 8022E3F4 0022B354 4B EE E0 21 */ bl __dt__13CPhysicsActorFv
/* 8022E3F8 0022B358 7F E0 07 35 */ extsh. r0, r31
/* 8022E3FC 0022B35C 40 81 00 0C */ ble lbl_8022E408
/* 8022E400 0022B360 7F C3 F3 78 */ mr r3, r30
/* 8022E404 0022B364 48 0E 75 2D */ bl Free__7CMemoryFPCv
lbl_8022E408:
/* 8022E408 0022B368 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8022E40C 0022B36C 7F C3 F3 78 */ mr r3, r30
/* 8022E410 0022B370 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8022E414 0022B374 83 C1 00 08 */ lwz r30, 8(r1)
/* 8022E418 0022B378 7C 08 03 A6 */ mtlr r0
/* 8022E41C 0022B37C 38 21 00 10 */ addi r1, r1, 0x10
/* 8022E420 0022B380 4E 80 00 20 */ blr
.global sub_8022e424
sub_8022e424:
/* 8022E424 0022B384 94 21 F6 C0 */ stwu r1, -0x940(r1)
/* 8022E428 0022B388 7C 08 02 A6 */ mflr r0
/* 8022E42C 0022B38C 90 01 09 44 */ stw r0, 0x944(r1)
/* 8022E430 0022B390 BF 41 09 28 */ stmw r26, 0x928(r1)
/* 8022E434 0022B394 7C 9F 23 78 */ mr r31, r4
/* 8022E438 0022B398 7C 7E 1B 78 */ mr r30, r3
/* 8022E43C 0022B39C 7C BB 2B 78 */ mr r27, r5
/* 8022E440 0022B3A0 88 83 02 B4 */ lbz r4, 0x2b4(r3)
/* 8022E444 0022B3A4 54 80 CF FF */ rlwinm. r0, r4, 0x19, 0x1f, 0x1f
/* 8022E448 0022B3A8 40 82 04 3C */ bne lbl_8022E884
/* 8022E44C 0022B3AC 38 00 00 01 */ li r0, 1
/* 8022E450 0022B3B0 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha
/* 8022E454 0022B3B4 50 04 3E 30 */ rlwimi r4, r0, 7, 0x18, 0x18
/* 8022E458 0022B3B8 A9 22 C5 FA */ lha r9, kMedPriority__11CSfxManager@sda21(r2)
/* 8022E45C 0022B3BC 98 9E 02 B4 */ stb r4, 0x2b4(r30)
/* 8022E460 0022B3C0 38 C3 66 F4 */ addi r6, r3, sUpVector__9CVector3f@l
/* 8022E464 0022B3C4 38 61 00 3C */ addi r3, r1, 0x3c
/* 8022E468 0022B3C8 38 A1 00 68 */ addi r5, r1, 0x68
/* 8022E46C 0022B3CC 81 5E 00 04 */ lwz r10, 4(r30)
/* 8022E470 0022B3D0 38 E0 00 00 */ li r7, 0
/* 8022E474 0022B3D4 C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 8022E478 0022B3D8 39 00 00 00 */ li r8, 0
/* 8022E47C 0022B3DC C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 8022E480 0022B3E0 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 8022E484 0022B3E4 D0 01 00 68 */ stfs f0, 0x68(r1)
/* 8022E488 0022B3E8 D0 21 00 6C */ stfs f1, 0x6c(r1)
/* 8022E48C 0022B3EC D0 41 00 70 */ stfs f2, 0x70(r1)
/* 8022E490 0022B3F0 A0 9E 02 92 */ lhz r4, 0x292(r30)
/* 8022E494 0022B3F4 48 0B BE 1D */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi
/* 8022E498 0022B3F8 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
/* 8022E49C 0022B3FC 38 80 00 01 */ li r4, 1
/* 8022E4A0 0022B400 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E4A4 0022B404 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8022E4A8 0022B408 7D 89 03 A6 */ mtctr r12
/* 8022E4AC 0022B40C 4E 80 04 21 */ bctrl
/* 8022E4B0 0022B410 80 7E 02 A4 */ lwz r3, 0x2a4(r30)
/* 8022E4B4 0022B414 38 80 00 01 */ li r4, 1
/* 8022E4B8 0022B418 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E4BC 0022B41C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8022E4C0 0022B420 7D 89 03 A6 */ mtctr r12
/* 8022E4C4 0022B424 4E 80 04 21 */ bctrl
/* 8022E4C8 0022B428 80 7E 02 A8 */ lwz r3, 0x2a8(r30)
/* 8022E4CC 0022B42C 38 80 00 01 */ li r4, 1
/* 8022E4D0 0022B430 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E4D4 0022B434 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8022E4D8 0022B438 7D 89 03 A6 */ mtctr r12
/* 8022E4DC 0022B43C 4E 80 04 21 */ bctrl
/* 8022E4E0 0022B440 80 7E 02 AC */ lwz r3, 0x2ac(r30)
/* 8022E4E4 0022B444 38 80 00 00 */ li r4, 0
/* 8022E4E8 0022B448 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E4EC 0022B44C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8022E4F0 0022B450 7D 89 03 A6 */ mtctr r12
/* 8022E4F4 0022B454 4E 80 04 21 */ bctrl
/* 8022E4F8 0022B458 A0 BB 00 00 */ lhz r5, 0(r27)
/* 8022E4FC 0022B45C 7F E3 FB 78 */ mr r3, r31
/* 8022E500 0022B460 A0 1E 02 98 */ lhz r0, 0x298(r30)
/* 8022E504 0022B464 38 81 00 38 */ addi r4, r1, 0x38
/* 8022E508 0022B468 7C 05 00 50 */ subf r0, r5, r0
/* 8022E50C 0022B46C B0 A1 00 38 */ sth r5, 0x38(r1)
/* 8022E510 0022B470 7C 00 00 34 */ cntlzw r0, r0
/* 8022E514 0022B474 54 1C D9 7E */ srwi r28, r0, 5
/* 8022E518 0022B478 4B E1 E0 8D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8022E51C 0022B47C 7C 64 1B 78 */ mr r4, r3
/* 8022E520 0022B480 38 61 00 48 */ addi r3, r1, 0x48
/* 8022E524 0022B484 4B E8 0E 29 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8022E528 0022B488 80 63 00 04 */ lwz r3, 4(r3)
/* 8022E52C 0022B48C 28 03 00 00 */ cmplwi r3, 0
/* 8022E530 0022B490 41 82 00 18 */ beq lbl_8022E548
/* 8022E534 0022B494 A0 63 02 5C */ lhz r3, 0x25c(r3)
/* 8022E538 0022B498 A0 1E 02 98 */ lhz r0, 0x298(r30)
/* 8022E53C 0022B49C 7C 03 00 50 */ subf r0, r3, r0
/* 8022E540 0022B4A0 7C 00 00 34 */ cntlzw r0, r0
/* 8022E544 0022B4A4 54 1C D9 7E */ srwi r28, r0, 5
lbl_8022E548:
/* 8022E548 0022B4A8 A0 7B 00 00 */ lhz r3, 0(r27)
/* 8022E54C 0022B4AC 3B BE 02 60 */ addi r29, r30, 0x260
/* 8022E550 0022B4B0 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8022E554 0022B4B4 7C 03 00 40 */ cmplw r3, r0
/* 8022E558 0022B4B8 41 82 00 7C */ beq lbl_8022E5D4
/* 8022E55C 0022B4BC 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 8022E560 0022B4C0 40 82 00 74 */ bne lbl_8022E5D4
/* 8022E564 0022B4C4 80 AD 95 B8 */ lwz r5, lbl_805A8178@sda21(r13)
/* 8022E568 0022B4C8 38 60 00 00 */ li r3, 0
/* 8022E56C 0022B4CC 38 80 00 01 */ li r4, 1
/* 8022E570 0022B4D0 48 15 B9 85 */ bl __shl2i
/* 8022E574 0022B4D4 39 00 00 00 */ li r8, 0
/* 8022E578 0022B4D8 39 40 00 03 */ li r10, 3
/* 8022E57C 0022B4DC 90 81 00 B4 */ stw r4, 0xb4(r1)
/* 8022E580 0022B4E0 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8022E584 0022B4E4 39 24 66 A0 */ addi r9, r4, sZeroVector__9CVector3f@l
/* 8022E588 0022B4E8 A0 1B 00 00 */ lhz r0, 0(r27)
/* 8022E58C 0022B4EC 90 61 00 B0 */ stw r3, 0xb0(r1)
/* 8022E590 0022B4F0 7F E3 FB 78 */ mr r3, r31
/* 8022E594 0022B4F4 7F A7 EB 78 */ mr r7, r29
/* 8022E598 0022B4F8 38 81 00 34 */ addi r4, r1, 0x34
/* 8022E59C 0022B4FC 91 01 00 BC */ stw r8, 0xbc(r1)
/* 8022E5A0 0022B500 38 A1 00 2C */ addi r5, r1, 0x2c
/* 8022E5A4 0022B504 38 C1 00 28 */ addi r6, r1, 0x28
/* 8022E5A8 0022B508 91 01 00 B8 */ stw r8, 0xb8(r1)
/* 8022E5AC 0022B50C 39 01 00 B0 */ addi r8, r1, 0xb0
/* 8022E5B0 0022B510 91 41 00 C0 */ stw r10, 0xc0(r1)
/* 8022E5B4 0022B514 A1 5E 00 08 */ lhz r10, 8(r30)
/* 8022E5B8 0022B518 B1 41 00 28 */ sth r10, 0x28(r1)
/* 8022E5BC 0022B51C B0 01 00 2C */ sth r0, 0x2c(r1)
/* 8022E5C0 0022B520 A0 1E 00 08 */ lhz r0, 8(r30)
/* 8022E5C4 0022B524 B1 41 00 24 */ sth r10, 0x24(r1)
/* 8022E5C8 0022B528 B0 01 00 30 */ sth r0, 0x30(r1)
/* 8022E5CC 0022B52C B0 01 00 34 */ sth r0, 0x34(r1)
/* 8022E5D0 0022B530 4B E1 BA D1 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
lbl_8022E5D4:
/* 8022E5D4 0022B534 C0 FD 00 10 */ lfs f7, 0x10(r29)
/* 8022E5D8 0022B538 C0 02 B6 38 */ lfs f0, lbl_805AD358@sda21(r2)
/* 8022E5DC 0022B53C FC 07 00 40 */ fcmpo cr0, f7, f0
/* 8022E5E0 0022B540 40 81 02 A4 */ ble lbl_8022E884
/* 8022E5E4 0022B544 C0 DE 00 60 */ lfs f6, 0x60(r30)
/* 8022E5E8 0022B548 38 61 01 00 */ addi r3, r1, 0x100
/* 8022E5EC 0022B54C C0 BE 00 50 */ lfs f5, 0x50(r30)
/* 8022E5F0 0022B550 38 81 00 5C */ addi r4, r1, 0x5c
/* 8022E5F4 0022B554 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 8022E5F8 0022B558 EC 06 38 2A */ fadds f0, f6, f7
/* 8022E5FC 0022B55C EC 65 38 2A */ fadds f3, f5, f7
/* 8022E600 0022B560 38 A1 00 50 */ addi r5, r1, 0x50
/* 8022E604 0022B564 EC 81 38 2A */ fadds f4, f1, f7
/* 8022E608 0022B568 EC 41 38 28 */ fsubs f2, f1, f7
/* 8022E60C 0022B56C D0 01 00 58 */ stfs f0, 0x58(r1)
/* 8022E610 0022B570 EC 25 38 28 */ fsubs f1, f5, f7
/* 8022E614 0022B574 EC 06 38 28 */ fsubs f0, f6, f7
/* 8022E618 0022B578 D0 81 00 50 */ stfs f4, 0x50(r1)
/* 8022E61C 0022B57C D0 61 00 54 */ stfs f3, 0x54(r1)
/* 8022E620 0022B580 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 8022E624 0022B584 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 8022E628 0022B588 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 8022E62C 0022B58C 48 10 9E DD */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8022E630 0022B590 80 AD 95 DC */ lwz r5, lbl_805A819C@sda21(r13)
/* 8022E634 0022B594 38 60 00 00 */ li r3, 0
/* 8022E638 0022B598 38 80 00 01 */ li r4, 1
/* 8022E63C 0022B59C 48 15 B8 B9 */ bl __shl2i
/* 8022E640 0022B5A0 80 AD 95 E0 */ lwz r5, lbl_805A81A0@sda21(r13)
/* 8022E644 0022B5A4 7C 9C 23 78 */ mr r28, r4
/* 8022E648 0022B5A8 7C 7B 1B 78 */ mr r27, r3
/* 8022E64C 0022B5AC 38 60 00 00 */ li r3, 0
/* 8022E650 0022B5B0 38 80 00 01 */ li r4, 1
/* 8022E654 0022B5B4 48 15 B8 A1 */ bl __shl2i
/* 8022E658 0022B5B8 38 00 00 00 */ li r0, 0
/* 8022E65C 0022B5BC 7F 9C 23 78 */ or r28, r28, r4
/* 8022E660 0022B5C0 7F 7B 1B 78 */ or r27, r27, r3
/* 8022E664 0022B5C4 39 00 00 01 */ li r8, 1
/* 8022E668 0022B5C8 91 01 00 A8 */ stw r8, 0xa8(r1)
/* 8022E66C 0022B5CC 7F E3 FB 78 */ mr r3, r31
/* 8022E670 0022B5D0 38 81 01 18 */ addi r4, r1, 0x118
/* 8022E674 0022B5D4 38 A1 01 00 */ addi r5, r1, 0x100
/* 8022E678 0022B5D8 93 81 00 EC */ stw r28, 0xec(r1)
/* 8022E67C 0022B5DC 38 C1 00 E8 */ addi r6, r1, 0xe8
/* 8022E680 0022B5E0 38 E0 00 00 */ li r7, 0
/* 8022E684 0022B5E4 93 61 00 E8 */ stw r27, 0xe8(r1)
/* 8022E688 0022B5E8 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 8022E68C 0022B5EC 90 01 00 F0 */ stw r0, 0xf0(r1)
/* 8022E690 0022B5F0 91 01 00 F8 */ stw r8, 0xf8(r1)
/* 8022E694 0022B5F4 90 01 01 18 */ stw r0, 0x118(r1)
/* 8022E698 0022B5F8 4B E1 E0 89 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor"
/* 8022E69C 0022B5FC 3B 81 01 1C */ addi r28, r1, 0x11c
/* 8022E6A0 0022B600 7F 9B E3 78 */ mr r27, r28
/* 8022E6A4 0022B604 48 00 01 7C */ b lbl_8022E820
lbl_8022E6A8:
/* 8022E6A8 0022B608 A0 DB 00 00 */ lhz r6, 0(r27)
/* 8022E6AC 0022B60C 7F E3 FB 78 */ mr r3, r31
/* 8022E6B0 0022B610 A0 BE 02 98 */ lhz r5, 0x298(r30)
/* 8022E6B4 0022B614 38 81 00 20 */ addi r4, r1, 0x20
/* 8022E6B8 0022B618 A0 1B 00 00 */ lhz r0, 0(r27)
/* 8022E6BC 0022B61C 7C A6 28 50 */ subf r5, r6, r5
/* 8022E6C0 0022B620 7C A5 00 34 */ cntlzw r5, r5
/* 8022E6C4 0022B624 B0 01 00 20 */ sth r0, 0x20(r1)
/* 8022E6C8 0022B628 54 BA D9 7E */ srwi r26, r5, 5
/* 8022E6CC 0022B62C 4B E1 DE D9 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8022E6D0 0022B630 7C 64 1B 78 */ mr r4, r3
/* 8022E6D4 0022B634 38 61 00 40 */ addi r3, r1, 0x40
/* 8022E6D8 0022B638 4B E8 0C 75 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8022E6DC 0022B63C 80 63 00 04 */ lwz r3, 4(r3)
/* 8022E6E0 0022B640 28 03 00 00 */ cmplwi r3, 0
/* 8022E6E4 0022B644 41 82 00 18 */ beq lbl_8022E6FC
/* 8022E6E8 0022B648 A0 63 02 5C */ lhz r3, 0x25c(r3)
/* 8022E6EC 0022B64C A0 1E 02 98 */ lhz r0, 0x298(r30)
/* 8022E6F0 0022B650 7C 03 00 50 */ subf r0, r3, r0
/* 8022E6F4 0022B654 7C 00 00 34 */ cntlzw r0, r0
/* 8022E6F8 0022B658 54 1A D9 7E */ srwi r26, r0, 5
lbl_8022E6FC:
/* 8022E6FC 0022B65C 57 40 06 3F */ clrlwi. r0, r26, 0x18
/* 8022E700 0022B660 40 82 01 1C */ bne lbl_8022E81C
/* 8022E704 0022B664 A0 1B 00 00 */ lhz r0, 0(r27)
/* 8022E708 0022B668 7F E3 FB 78 */ mr r3, r31
/* 8022E70C 0022B66C 38 81 00 1C */ addi r4, r1, 0x1c
/* 8022E710 0022B670 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8022E714 0022B674 4B E1 DE 61 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8022E718 0022B678 28 03 00 00 */ cmplwi r3, 0
/* 8022E71C 0022B67C 41 82 01 00 */ beq lbl_8022E81C
/* 8022E720 0022B680 C0 23 00 50 */ lfs f1, 0x50(r3)
/* 8022E724 0022B684 C0 1E 00 50 */ lfs f0, 0x50(r30)
/* 8022E728 0022B688 C0 63 00 60 */ lfs f3, 0x60(r3)
/* 8022E72C 0022B68C C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 8022E730 0022B690 EC 81 00 28 */ fsubs f4, f1, f0
/* 8022E734 0022B694 C0 23 00 40 */ lfs f1, 0x40(r3)
/* 8022E738 0022B698 38 61 00 74 */ addi r3, r1, 0x74
/* 8022E73C 0022B69C C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 8022E740 0022B6A0 EC 43 10 28 */ fsubs f2, f3, f2
/* 8022E744 0022B6A4 EC 01 00 28 */ fsubs f0, f1, f0
/* 8022E748 0022B6A8 D0 81 00 78 */ stfs f4, 0x78(r1)
/* 8022E74C 0022B6AC D0 41 00 7C */ stfs f2, 0x7c(r1)
/* 8022E750 0022B6B0 D0 01 00 74 */ stfs f0, 0x74(r1)
/* 8022E754 0022B6B4 48 0E 61 65 */ bl Magnitude__9CVector3fCFv
/* 8022E758 0022B6B8 C0 5D 00 10 */ lfs f2, 0x10(r29)
/* 8022E75C 0022B6BC FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8022E760 0022B6C0 40 80 00 BC */ bge lbl_8022E81C
/* 8022E764 0022B6C4 EC 02 08 28 */ fsubs f0, f2, f1
/* 8022E768 0022B6C8 C0 3D 00 14 */ lfs f1, 0x14(r29)
/* 8022E76C 0022B6CC 80 DD 00 00 */ lwz r6, 0(r29)
/* 8022E770 0022B6D0 38 60 00 00 */ li r3, 0
/* 8022E774 0022B6D4 88 01 00 E0 */ lbz r0, 0xe0(r1)
/* 8022E778 0022B6D8 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8022E77C 0022B6DC EC 60 10 24 */ fdivs f3, f0, f2
/* 8022E780 0022B6E0 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8022E784 0022B6E4 80 AD 95 B8 */ lwz r5, lbl_805A8178@sda21(r13)
/* 8022E788 0022B6E8 38 60 00 00 */ li r3, 0
/* 8022E78C 0022B6EC 90 C1 00 C8 */ stw r6, 0xc8(r1)
/* 8022E790 0022B6F0 38 80 00 01 */ li r4, 1
/* 8022E794 0022B6F4 88 DD 00 04 */ lbz r6, 4(r29)
/* 8022E798 0022B6F8 EC 03 00 32 */ fmuls f0, f3, f0
/* 8022E79C 0022B6FC EC 23 00 72 */ fmuls f1, f3, f1
/* 8022E7A0 0022B700 98 C1 00 CC */ stb r6, 0xcc(r1)
/* 8022E7A4 0022B704 D0 01 00 D0 */ stfs f0, 0xd0(r1)
/* 8022E7A8 0022B708 D0 01 00 D4 */ stfs f0, 0xd4(r1)
/* 8022E7AC 0022B70C D0 41 00 D8 */ stfs f2, 0xd8(r1)
/* 8022E7B0 0022B710 D0 21 00 DC */ stfs f1, 0xdc(r1)
/* 8022E7B4 0022B714 98 01 00 E0 */ stb r0, 0xe0(r1)
/* 8022E7B8 0022B718 48 15 B7 3D */ bl __shl2i
/* 8022E7BC 0022B71C 39 00 00 00 */ li r8, 0
/* 8022E7C0 0022B720 39 40 00 03 */ li r10, 3
/* 8022E7C4 0022B724 90 81 00 84 */ stw r4, 0x84(r1)
/* 8022E7C8 0022B728 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8022E7CC 0022B72C 39 24 66 A0 */ addi r9, r4, sZeroVector__9CVector3f@l
/* 8022E7D0 0022B730 A0 1B 00 00 */ lhz r0, 0(r27)
/* 8022E7D4 0022B734 90 61 00 80 */ stw r3, 0x80(r1)
/* 8022E7D8 0022B738 7F E3 FB 78 */ mr r3, r31
/* 8022E7DC 0022B73C 38 81 00 18 */ addi r4, r1, 0x18
/* 8022E7E0 0022B740 38 A1 00 10 */ addi r5, r1, 0x10
/* 8022E7E4 0022B744 91 01 00 8C */ stw r8, 0x8c(r1)
/* 8022E7E8 0022B748 38 C1 00 0C */ addi r6, r1, 0xc
/* 8022E7EC 0022B74C 38 E1 00 C8 */ addi r7, r1, 0xc8
/* 8022E7F0 0022B750 91 01 00 88 */ stw r8, 0x88(r1)
/* 8022E7F4 0022B754 39 01 00 80 */ addi r8, r1, 0x80
/* 8022E7F8 0022B758 91 41 00 90 */ stw r10, 0x90(r1)
/* 8022E7FC 0022B75C A1 5E 00 08 */ lhz r10, 8(r30)
/* 8022E800 0022B760 B1 41 00 0C */ sth r10, 0xc(r1)
/* 8022E804 0022B764 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8022E808 0022B768 A0 1E 00 08 */ lhz r0, 8(r30)
/* 8022E80C 0022B76C B1 41 00 08 */ sth r10, 8(r1)
/* 8022E810 0022B770 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8022E814 0022B774 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8022E818 0022B778 4B E1 B8 89 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
lbl_8022E81C:
/* 8022E81C 0022B77C 3B 7B 00 02 */ addi r27, r27, 2
lbl_8022E820:
/* 8022E820 0022B780 80 A1 01 18 */ lwz r5, 0x118(r1)
/* 8022E824 0022B784 54 A0 08 3C */ slwi r0, r5, 1
/* 8022E828 0022B788 7C 1C 02 14 */ add r0, r28, r0
/* 8022E82C 0022B78C 7C 1B 00 40 */ cmplw r27, r0
/* 8022E830 0022B790 40 82 FE 78 */ bne lbl_8022E6A8
/* 8022E834 0022B794 2C 05 00 00 */ cmpwi r5, 0
/* 8022E838 0022B798 38 60 00 00 */ li r3, 0
/* 8022E83C 0022B79C 40 81 00 40 */ ble lbl_8022E87C
/* 8022E840 0022B7A0 2C 05 00 08 */ cmpwi r5, 8
/* 8022E844 0022B7A4 38 85 FF F8 */ addi r4, r5, -8
/* 8022E848 0022B7A8 40 81 00 20 */ ble lbl_8022E868
/* 8022E84C 0022B7AC 38 04 00 07 */ addi r0, r4, 7
/* 8022E850 0022B7B0 54 00 E8 FE */ srwi r0, r0, 3
/* 8022E854 0022B7B4 7C 09 03 A6 */ mtctr r0
/* 8022E858 0022B7B8 2C 04 00 00 */ cmpwi r4, 0
/* 8022E85C 0022B7BC 40 81 00 0C */ ble lbl_8022E868
lbl_8022E860:
/* 8022E860 0022B7C0 38 63 00 08 */ addi r3, r3, 8
/* 8022E864 0022B7C4 42 00 FF FC */ bdnz lbl_8022E860
lbl_8022E868:
/* 8022E868 0022B7C8 7C 03 28 50 */ subf r0, r3, r5
/* 8022E86C 0022B7CC 7C 09 03 A6 */ mtctr r0
/* 8022E870 0022B7D0 7C 03 28 00 */ cmpw r3, r5
/* 8022E874 0022B7D4 40 80 00 08 */ bge lbl_8022E87C
lbl_8022E878:
/* 8022E878 0022B7D8 42 00 00 00 */ bdnz lbl_8022E878
lbl_8022E87C:
/* 8022E87C 0022B7DC 38 00 00 00 */ li r0, 0
/* 8022E880 0022B7E0 90 01 01 18 */ stw r0, 0x118(r1)
lbl_8022E884:
/* 8022E884 0022B7E4 BB 41 09 28 */ lmw r26, 0x928(r1)
/* 8022E888 0022B7E8 80 01 09 44 */ lwz r0, 0x944(r1)
/* 8022E88C 0022B7EC 7C 08 03 A6 */ mtlr r0
/* 8022E890 0022B7F0 38 21 09 40 */ addi r1, r1, 0x940
/* 8022E894 0022B7F4 4E 80 00 20 */ blr
.global sub_8022e898
sub_8022e898:
/* 8022E898 0022B7F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8022E89C 0022B7FC 7C 08 02 A6 */ mflr r0
/* 8022E8A0 0022B800 90 01 00 14 */ stw r0, 0x14(r1)
/* 8022E8A4 0022B804 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8022E8A8 0022B808 7C BF 2B 78 */ mr r31, r5
/* 8022E8AC 0022B80C 93 C1 00 08 */ stw r30, 8(r1)
/* 8022E8B0 0022B810 7C 7E 1B 78 */ mr r30, r3
/* 8022E8B4 0022B814 4B E2 62 85 */ bl AddToRenderer__6CActorCFRC14CFrustumPlanesRC13CStateManager
/* 8022E8B8 0022B818 88 1E 02 B4 */ lbz r0, 0x2b4(r30)
/* 8022E8BC 0022B81C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8022E8C0 0022B820 41 82 00 70 */ beq lbl_8022E930
/* 8022E8C4 0022B824 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8022E8C8 0022B828 7F E4 FB 78 */ mr r4, r31
/* 8022E8CC 0022B82C 80 63 00 00 */ lwz r3, 0(r3)
/* 8022E8D0 0022B830 4B E6 2C 89 */ bl GetActiveVisor__12CPlayerStateCFRC13CStateManager
/* 8022E8D4 0022B834 2C 03 00 02 */ cmpwi r3, 2
/* 8022E8D8 0022B838 41 82 00 20 */ beq lbl_8022E8F8
/* 8022E8DC 0022B83C 40 80 00 10 */ bge lbl_8022E8EC
/* 8022E8E0 0022B840 2C 03 00 00 */ cmpwi r3, 0
/* 8022E8E4 0022B844 41 82 00 14 */ beq lbl_8022E8F8
/* 8022E8E8 0022B848 48 00 00 60 */ b lbl_8022E948
lbl_8022E8EC:
/* 8022E8EC 0022B84C 2C 03 00 04 */ cmpwi r3, 4
/* 8022E8F0 0022B850 40 80 00 58 */ bge lbl_8022E948
/* 8022E8F4 0022B854 48 00 00 20 */ b lbl_8022E914
lbl_8022E8F8:
/* 8022E8F8 0022B858 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8022E8FC 0022B85C 80 9E 02 A0 */ lwz r4, 0x2a0(r30)
/* 8022E900 0022B860 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E904 0022B864 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 8022E908 0022B868 7D 89 03 A6 */ mtctr r12
/* 8022E90C 0022B86C 4E 80 04 21 */ bctrl
/* 8022E910 0022B870 48 00 00 38 */ b lbl_8022E948
lbl_8022E914:
/* 8022E914 0022B874 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8022E918 0022B878 80 9E 02 A8 */ lwz r4, 0x2a8(r30)
/* 8022E91C 0022B87C 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E920 0022B880 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 8022E924 0022B884 7D 89 03 A6 */ mtctr r12
/* 8022E928 0022B888 4E 80 04 21 */ bctrl
/* 8022E92C 0022B88C 48 00 00 1C */ b lbl_8022E948
lbl_8022E930:
/* 8022E930 0022B890 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8022E934 0022B894 80 9E 02 AC */ lwz r4, 0x2ac(r30)
/* 8022E938 0022B898 81 83 00 00 */ lwz r12, 0(r3)
/* 8022E93C 0022B89C 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 8022E940 0022B8A0 7D 89 03 A6 */ mtctr r12
/* 8022E944 0022B8A4 4E 80 04 21 */ bctrl
lbl_8022E948:
/* 8022E948 0022B8A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8022E94C 0022B8AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8022E950 0022B8B0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8022E954 0022B8B4 7C 08 03 A6 */ mtlr r0
/* 8022E958 0022B8B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8022E95C 0022B8BC 4E 80 00 20 */ blr
.global sub_8022e960
sub_8022e960:
/* 8022E960 0022B8C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8022E964 0022B8C4 7C 08 02 A6 */ mflr r0
/* 8022E968 0022B8C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8022E96C 0022B8CC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8022E970 0022B8D0 7C 9F 23 78 */ mr r31, r4
/* 8022E974 0022B8D4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8022E978 0022B8D8 7C 7E 1B 78 */ mr r30, r3
/* 8022E97C 0022B8DC 88 03 02 B4 */ lbz r0, 0x2b4(r3)
/* 8022E980 0022B8E0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8022E984 0022B8E4 40 82 00 4C */ bne lbl_8022E9D0
/* 8022E988 0022B8E8 C0 22 B6 38 */ lfs f1, lbl_805AD358@sda21(r2)
/* 8022E98C 0022B8EC 38 80 00 00 */ li r4, 0
/* 8022E990 0022B8F0 38 00 00 03 */ li r0, 3
/* 8022E994 0022B8F4 98 81 00 10 */ stb r4, 0x10(r1)
/* 8022E998 0022B8F8 FC 40 08 90 */ fmr f2, f1
/* 8022E99C 0022B8FC 38 61 00 14 */ addi r3, r1, 0x14
/* 8022E9A0 0022B900 FC 60 08 90 */ fmr f3, f1
/* 8022E9A4 0022B904 98 81 00 11 */ stb r4, 0x11(r1)
/* 8022E9A8 0022B908 FC 80 08 90 */ fmr f4, f1
/* 8022E9AC 0022B90C B0 01 00 12 */ sth r0, 0x12(r1)
/* 8022E9B0 0022B910 48 13 4A 3D */ bl __ct__6CColorFffff
/* 8022E9B4 0022B914 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8022E9B8 0022B918 7F E4 FB 78 */ mr r4, r31
/* 8022E9BC 0022B91C 38 BE 00 34 */ addi r5, r30, 0x34
/* 8022E9C0 0022B920 38 E1 00 10 */ addi r7, r1, 0x10
/* 8022E9C4 0022B924 38 C0 00 00 */ li r6, 0
/* 8022E9C8 0022B928 4B EE 63 F5 */ bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags
/* 8022E9CC 0022B92C 48 00 00 74 */ b lbl_8022EA40
lbl_8022E9D0:
/* 8022E9D0 0022B930 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8022E9D4 0022B934 80 63 00 00 */ lwz r3, 0(r3)
/* 8022E9D8 0022B938 4B E6 2B 81 */ bl GetActiveVisor__12CPlayerStateCFRC13CStateManager
/* 8022E9DC 0022B93C 2C 03 00 01 */ cmpwi r3, 1
/* 8022E9E0 0022B940 40 82 00 60 */ bne lbl_8022EA40
/* 8022E9E4 0022B944 38 00 00 01 */ li r0, 1
/* 8022E9E8 0022B948 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 8022E9EC 0022B94C 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
/* 8022E9F0 0022B950 48 11 B5 C5 */ bl Black__6CColorFv
/* 8022E9F4 0022B954 C0 22 B6 3C */ lfs f1, lbl_805AD35C@sda21(r2)
/* 8022E9F8 0022B958 7C 64 1B 78 */ mr r4, r3
/* 8022E9FC 0022B95C C0 42 B6 40 */ lfs f2, lbl_805AD360@sda21(r2)
/* 8022EA00 0022B960 38 60 00 02 */ li r3, 2
/* 8022EA04 0022B964 48 0D B8 85 */ bl SetFog__9CGraphicsF11ERglFogModeffRC6CColor
/* 8022EA08 0022B968 80 7E 02 A4 */ lwz r3, 0x2a4(r30)
/* 8022EA0C 0022B96C 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EA10 0022B970 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8022EA14 0022B974 7D 89 03 A6 */ mtctr r12
/* 8022EA18 0022B978 4E 80 04 21 */ bctrl
/* 8022EA1C 0022B97C 80 1E 00 04 */ lwz r0, 4(r30)
/* 8022EA20 0022B980 7F E3 FB 78 */ mr r3, r31
/* 8022EA24 0022B984 38 81 00 0C */ addi r4, r1, 0xc
/* 8022EA28 0022B988 90 01 00 08 */ stw r0, 8(r1)
/* 8022EA2C 0022B98C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8022EA30 0022B990 4B E1 83 51 */ bl SetupFogForArea__13CStateManagerCF7TAreaId
/* 8022EA34 0022B994 38 00 00 00 */ li r0, 0
/* 8022EA38 0022B998 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 8022EA3C 0022B99C 98 0D A8 B8 */ stb r0, sMoveRedToAlphaBuffer__11CElementGen@sda21(r13)
lbl_8022EA40:
/* 8022EA40 0022B9A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8022EA44 0022B9A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8022EA48 0022B9A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8022EA4C 0022B9AC 7C 08 03 A6 */ mtlr r0
/* 8022EA50 0022B9B0 38 21 00 20 */ addi r1, r1, 0x20
/* 8022EA54 0022B9B4 4E 80 00 20 */ blr
.global sub_8022ea58
sub_8022ea58:
/* 8022EA58 0022B9B8 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8022EA5C 0022B9BC 7C 08 02 A6 */ mflr r0
/* 8022EA60 0022B9C0 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8022EA64 0022B9C4 DB E1 00 A0 */ stfd f31, 0xa0(r1)
/* 8022EA68 0022B9C8 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0
/* 8022EA6C 0022B9CC DB C1 00 90 */ stfd f30, 0x90(r1)
/* 8022EA70 0022B9D0 F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0
/* 8022EA74 0022B9D4 DB A1 00 80 */ stfd f29, 0x80(r1)
/* 8022EA78 0022B9D8 F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0
/* 8022EA7C 0022B9DC DB 81 00 70 */ stfd f28, 0x70(r1)
/* 8022EA80 0022B9E0 F3 81 00 78 */ psq_st f28, 120(r1), 0, qr0
/* 8022EA84 0022B9E4 BF 61 00 5C */ stmw r27, 0x5c(r1)
/* 8022EA88 0022B9E8 88 0D A5 18 */ lbz r0, lbl_805A90D8@sda21(r13)
/* 8022EA8C 0022B9EC 7C 7C 1B 78 */ mr r28, r3
/* 8022EA90 0022B9F0 7C 9D 23 78 */ mr r29, r4
/* 8022EA94 0022B9F4 7C BE 2B 78 */ mr r30, r5
/* 8022EA98 0022B9F8 7C 00 07 75 */ extsb. r0, r0
/* 8022EA9C 0022B9FC 7C DF 33 78 */ mr r31, r6
/* 8022EAA0 0022BA00 40 82 00 E0 */ bne lbl_8022EB80
/* 8022EAA4 0022BA04 38 00 00 00 */ li r0, 0
/* 8022EAA8 0022BA08 80 AD 95 C8 */ lwz r5, lbl_805A8188@sda21(r13)
/* 8022EAAC 0022BA0C 90 0D A5 24 */ stw r0, lbl_805A90E4@sda21(r13)
/* 8022EAB0 0022BA10 38 60 00 00 */ li r3, 0
/* 8022EAB4 0022BA14 38 80 00 01 */ li r4, 1
/* 8022EAB8 0022BA18 90 0D A5 20 */ stw r0, lbl_805A90E0@sda21(r13)
/* 8022EABC 0022BA1C 48 15 B4 39 */ bl __shl2i
/* 8022EAC0 0022BA20 80 0D A5 20 */ lwz r0, lbl_805A90E0@sda21(r13)
/* 8022EAC4 0022BA24 80 CD A5 24 */ lwz r6, lbl_805A90E4@sda21(r13)
/* 8022EAC8 0022BA28 7C 00 1B 78 */ or r0, r0, r3
/* 8022EACC 0022BA2C 80 AD 95 CC */ lwz r5, lbl_805A818C@sda21(r13)
/* 8022EAD0 0022BA30 7C C4 23 78 */ or r4, r6, r4
/* 8022EAD4 0022BA34 90 0D A5 20 */ stw r0, lbl_805A90E0@sda21(r13)
/* 8022EAD8 0022BA38 38 60 00 00 */ li r3, 0
/* 8022EADC 0022BA3C 90 8D A5 24 */ stw r4, lbl_805A90E4@sda21(r13)
/* 8022EAE0 0022BA40 38 80 00 01 */ li r4, 1
/* 8022EAE4 0022BA44 48 15 B4 11 */ bl __shl2i
/* 8022EAE8 0022BA48 80 0D A5 20 */ lwz r0, lbl_805A90E0@sda21(r13)
/* 8022EAEC 0022BA4C 80 CD A5 24 */ lwz r6, lbl_805A90E4@sda21(r13)
/* 8022EAF0 0022BA50 7C 00 1B 78 */ or r0, r0, r3
/* 8022EAF4 0022BA54 80 AD 95 D0 */ lwz r5, lbl_805A8190@sda21(r13)
/* 8022EAF8 0022BA58 7C C4 23 78 */ or r4, r6, r4
/* 8022EAFC 0022BA5C 90 0D A5 20 */ stw r0, lbl_805A90E0@sda21(r13)
/* 8022EB00 0022BA60 38 60 00 00 */ li r3, 0
/* 8022EB04 0022BA64 90 8D A5 24 */ stw r4, lbl_805A90E4@sda21(r13)
/* 8022EB08 0022BA68 38 80 00 01 */ li r4, 1
/* 8022EB0C 0022BA6C 48 15 B3 E9 */ bl __shl2i
/* 8022EB10 0022BA70 80 0D A5 20 */ lwz r0, lbl_805A90E0@sda21(r13)
/* 8022EB14 0022BA74 80 CD A5 24 */ lwz r6, lbl_805A90E4@sda21(r13)
/* 8022EB18 0022BA78 7C 00 1B 78 */ or r0, r0, r3
/* 8022EB1C 0022BA7C 80 AD 95 D4 */ lwz r5, lbl_805A8194@sda21(r13)
/* 8022EB20 0022BA80 7C C4 23 78 */ or r4, r6, r4
/* 8022EB24 0022BA84 90 0D A5 20 */ stw r0, lbl_805A90E0@sda21(r13)
/* 8022EB28 0022BA88 38 60 00 00 */ li r3, 0
/* 8022EB2C 0022BA8C 90 8D A5 24 */ stw r4, lbl_805A90E4@sda21(r13)
/* 8022EB30 0022BA90 38 80 00 01 */ li r4, 1
/* 8022EB34 0022BA94 48 15 B3 C1 */ bl __shl2i
/* 8022EB38 0022BA98 80 0D A5 20 */ lwz r0, lbl_805A90E0@sda21(r13)
/* 8022EB3C 0022BA9C 80 CD A5 24 */ lwz r6, lbl_805A90E4@sda21(r13)
/* 8022EB40 0022BAA0 7C 00 1B 78 */ or r0, r0, r3
/* 8022EB44 0022BAA4 80 AD 95 D8 */ lwz r5, lbl_805A8198@sda21(r13)
/* 8022EB48 0022BAA8 7C C4 23 78 */ or r4, r6, r4
/* 8022EB4C 0022BAAC 90 0D A5 20 */ stw r0, lbl_805A90E0@sda21(r13)
/* 8022EB50 0022BAB0 38 60 00 00 */ li r3, 0
/* 8022EB54 0022BAB4 90 8D A5 24 */ stw r4, lbl_805A90E4@sda21(r13)
/* 8022EB58 0022BAB8 38 80 00 01 */ li r4, 1
/* 8022EB5C 0022BABC 48 15 B3 99 */ bl __shl2i
/* 8022EB60 0022BAC0 80 AD A5 20 */ lwz r5, lbl_805A90E0@sda21(r13)
/* 8022EB64 0022BAC4 38 00 00 01 */ li r0, 1
/* 8022EB68 0022BAC8 80 CD A5 24 */ lwz r6, lbl_805A90E4@sda21(r13)
/* 8022EB6C 0022BACC 7C A3 1B 78 */ or r3, r5, r3
/* 8022EB70 0022BAD0 98 0D A5 18 */ stb r0, lbl_805A90D8@sda21(r13)
/* 8022EB74 0022BAD4 7C C0 23 78 */ or r0, r6, r4
/* 8022EB78 0022BAD8 90 0D A5 24 */ stw r0, lbl_805A90E4@sda21(r13)
/* 8022EB7C 0022BADC 90 6D A5 20 */ stw r3, lbl_805A90E0@sda21(r13)
lbl_8022EB80:
/* 8022EB80 0022BAE0 A0 7D 00 00 */ lhz r3, 0(r29)
/* 8022EB84 0022BAE4 3B 60 00 00 */ li r27, 0
/* 8022EB88 0022BAE8 A0 1C 02 98 */ lhz r0, 0x298(r28)
/* 8022EB8C 0022BAEC 7C 03 00 40 */ cmplw r3, r0
/* 8022EB90 0022BAF0 41 82 00 54 */ beq lbl_8022EBE4
/* 8022EB94 0022BAF4 B0 61 00 10 */ sth r3, 0x10(r1)
/* 8022EB98 0022BAF8 7F E3 FB 78 */ mr r3, r31
/* 8022EB9C 0022BAFC 38 81 00 10 */ addi r4, r1, 0x10
/* 8022EBA0 0022BB00 4B E1 DA 05 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8022EBA4 0022BB04 28 03 00 00 */ cmplwi r3, 0
/* 8022EBA8 0022BB08 41 82 00 3C */ beq lbl_8022EBE4
/* 8022EBAC 0022BB0C 7C 64 1B 78 */ mr r4, r3
/* 8022EBB0 0022BB10 38 61 00 1C */ addi r3, r1, 0x1c
/* 8022EBB4 0022BB14 4B E8 07 99 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8022EBB8 0022BB18 80 63 00 04 */ lwz r3, 4(r3)
/* 8022EBBC 0022BB1C 28 03 00 00 */ cmplwi r3, 0
/* 8022EBC0 0022BB20 41 82 00 20 */ beq lbl_8022EBE0
/* 8022EBC4 0022BB24 A0 83 02 5C */ lhz r4, 0x25c(r3)
/* 8022EBC8 0022BB28 A0 1C 02 98 */ lhz r0, 0x298(r28)
/* 8022EBCC 0022BB2C 7C 64 00 50 */ subf r3, r4, r0
/* 8022EBD0 0022BB30 7C 00 20 50 */ subf r0, r0, r4
/* 8022EBD4 0022BB34 7C 60 03 78 */ or r0, r3, r0
/* 8022EBD8 0022BB38 54 1B 0F FE */ srwi r27, r0, 0x1f
/* 8022EBDC 0022BB3C 48 00 00 08 */ b lbl_8022EBE4
lbl_8022EBE0:
/* 8022EBE0 0022BB40 3B 60 00 01 */ li r27, 1
lbl_8022EBE4:
/* 8022EBE4 0022BB44 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 8022EBE8 0022BB48 41 82 00 20 */ beq lbl_8022EC08
/* 8022EBEC 0022BB4C A0 1D 00 00 */ lhz r0, 0(r29)
/* 8022EBF0 0022BB50 7F 83 E3 78 */ mr r3, r28
/* 8022EBF4 0022BB54 7F E4 FB 78 */ mr r4, r31
/* 8022EBF8 0022BB58 38 A1 00 0C */ addi r5, r1, 0xc
/* 8022EBFC 0022BB5C B0 01 00 0C */ sth r0, 0xc(r1)
/* 8022EC00 0022BB60 4B FF F8 25 */ bl sub_8022e424
/* 8022EC04 0022BB64 48 00 01 74 */ b lbl_8022ED78
lbl_8022EC08:
/* 8022EC08 0022BB68 80 1E 00 00 */ lwz r0, 0(r30)
/* 8022EC0C 0022BB6C 38 BE 00 04 */ addi r5, r30, 4
/* 8022EC10 0022BB70 80 CD A5 20 */ lwz r6, lbl_805A90E0@sda21(r13)
/* 8022EC14 0022BB74 38 80 00 00 */ li r4, 0
/* 8022EC18 0022BB78 80 ED A5 24 */ lwz r7, lbl_805A90E4@sda21(r13)
/* 8022EC1C 0022BB7C 7C 09 03 A6 */ mtctr r0
/* 8022EC20 0022BB80 2C 00 00 00 */ cmpwi r0, 0
/* 8022EC24 0022BB84 40 81 01 54 */ ble lbl_8022ED78
lbl_8022EC28:
/* 8022EC28 0022BB88 80 05 00 38 */ lwz r0, 0x38(r5)
/* 8022EC2C 0022BB8C 80 65 00 3C */ lwz r3, 0x3c(r5)
/* 8022EC30 0022BB90 7C C0 00 38 */ and r0, r6, r0
/* 8022EC34 0022BB94 7C E3 18 38 */ and r3, r7, r3
/* 8022EC38 0022BB98 7C 63 22 78 */ xor r3, r3, r4
/* 8022EC3C 0022BB9C 7C 00 22 78 */ xor r0, r0, r4
/* 8022EC40 0022BBA0 7C 60 03 79 */ or. r0, r3, r0
/* 8022EC44 0022BBA4 41 82 01 2C */ beq lbl_8022ED70
/* 8022EC48 0022BBA8 80 1C 02 94 */ lwz r0, 0x294(r28)
/* 8022EC4C 0022BBAC 28 00 00 00 */ cmplwi r0, 0
/* 8022EC50 0022BBB0 41 82 01 04 */ beq lbl_8022ED54
/* 8022EC54 0022BBB4 38 85 00 48 */ addi r4, r5, 0x48
/* 8022EC58 0022BBB8 C0 3C 01 3C */ lfs f1, 0x13c(r28)
/* 8022EC5C 0022BBBC C0 05 00 4C */ lfs f0, 0x4c(r5)
/* 8022EC60 0022BBC0 C0 5C 01 38 */ lfs f2, 0x138(r28)
/* 8022EC64 0022BBC4 EC 01 00 32 */ fmuls f0, f1, f0
/* 8022EC68 0022BBC8 C0 25 00 48 */ lfs f1, 0x48(r5)
/* 8022EC6C 0022BBCC C0 9C 01 40 */ lfs f4, 0x140(r28)
/* 8022EC70 0022BBD0 C0 65 00 50 */ lfs f3, 0x50(r5)
/* 8022EC74 0022BBD4 EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 8022EC78 0022BBD8 C0 02 B6 3C */ lfs f0, lbl_805AD35C@sda21(r2)
/* 8022EC7C 0022BBDC EC 24 08 FA */ fmadds f1, f4, f3, f1
/* 8022EC80 0022BBE0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8022EC84 0022BBE4 40 81 00 08 */ ble lbl_8022EC8C
/* 8022EC88 0022BBE8 38 85 00 54 */ addi r4, r5, 0x54
lbl_8022EC8C:
/* 8022EC8C 0022BBEC C3 C4 00 00 */ lfs f30, 0(r4)
/* 8022EC90 0022BBF0 38 7C 00 FC */ addi r3, r28, 0xfc
/* 8022EC94 0022BBF4 C3 A4 00 04 */ lfs f29, 4(r4)
/* 8022EC98 0022BBF8 C3 84 00 08 */ lfs f28, 8(r4)
/* 8022EC9C 0022BBFC C3 FC 02 5C */ lfs f31, 0x25c(r28)
/* 8022ECA0 0022BC00 48 0E 5C 19 */ bl Magnitude__9CVector3fCFv
/* 8022ECA4 0022BC04 EC 1F 00 72 */ fmuls f0, f31, f1
/* 8022ECA8 0022BC08 38 61 00 30 */ addi r3, r1, 0x30
/* 8022ECAC 0022BC0C 38 81 00 18 */ addi r4, r1, 0x18
/* 8022ECB0 0022BC10 38 BC 01 08 */ addi r5, r28, 0x108
/* 8022ECB4 0022BC14 EC 40 07 B2 */ fmuls f2, f0, f30
/* 8022ECB8 0022BC18 EC 20 07 72 */ fmuls f1, f0, f29
/* 8022ECBC 0022BC1C EC 00 07 32 */ fmuls f0, f0, f28
/* 8022ECC0 0022BC20 D0 41 00 48 */ stfs f2, 0x48(r1)
/* 8022ECC4 0022BC24 D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 8022ECC8 0022BC28 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 8022ECCC 0022BC2C C0 1C 02 5C */ lfs f0, 0x25c(r28)
/* 8022ECD0 0022BC30 FC 00 00 50 */ fneg f0, f0
/* 8022ECD4 0022BC34 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8022ECD8 0022BC38 4B DE C7 81 */ bl __ml__FRCfRC10CAxisAngle
/* 8022ECDC 0022BC3C C0 41 00 30 */ lfs f2, 0x30(r1)
/* 8022ECE0 0022BC40 7F 83 E3 78 */ mr r3, r28
/* 8022ECE4 0022BC44 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 8022ECE8 0022BC48 38 81 00 48 */ addi r4, r1, 0x48
/* 8022ECEC 0022BC4C C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8022ECF0 0022BC50 38 A1 00 3C */ addi r5, r1, 0x3c
/* 8022ECF4 0022BC54 D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 8022ECF8 0022BC58 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 8022ECFC 0022BC5C D0 01 00 44 */ stfs f0, 0x44(r1)
/* 8022ED00 0022BC60 4B EE D6 99 */ bl ApplyImpulseWR__13CPhysicsActorFRC9CVector3fRC10CAxisAngle
/* 8022ED04 0022BC64 81 5C 00 04 */ lwz r10, 4(r28)
/* 8022ED08 0022BC68 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha
/* 8022ED0C 0022BC6C C0 5C 00 60 */ lfs f2, 0x60(r28)
/* 8022ED10 0022BC70 38 C3 66 F4 */ addi r6, r3, sUpVector__9CVector3f@l
/* 8022ED14 0022BC74 C0 3C 00 50 */ lfs f1, 0x50(r28)
/* 8022ED18 0022BC78 38 61 00 14 */ addi r3, r1, 0x14
/* 8022ED1C 0022BC7C C0 1C 00 40 */ lfs f0, 0x40(r28)
/* 8022ED20 0022BC80 38 A1 00 24 */ addi r5, r1, 0x24
/* 8022ED24 0022BC84 A9 22 C5 FA */ lha r9, kMedPriority__11CSfxManager@sda21(r2)
/* 8022ED28 0022BC88 38 E0 00 00 */ li r7, 0
/* 8022ED2C 0022BC8C D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8022ED30 0022BC90 39 00 00 00 */ li r8, 0
/* 8022ED34 0022BC94 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8022ED38 0022BC98 D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 8022ED3C 0022BC9C A0 9C 02 90 */ lhz r4, 0x290(r28)
/* 8022ED40 0022BCA0 48 0B B5 71 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi
/* 8022ED44 0022BCA4 80 7C 02 94 */ lwz r3, 0x294(r28)
/* 8022ED48 0022BCA8 38 03 FF FF */ addi r0, r3, -1
/* 8022ED4C 0022BCAC 90 1C 02 94 */ stw r0, 0x294(r28)
/* 8022ED50 0022BCB0 48 00 00 28 */ b lbl_8022ED78
lbl_8022ED54:
/* 8022ED54 0022BCB4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8022ED58 0022BCB8 7F 83 E3 78 */ mr r3, r28
/* 8022ED5C 0022BCBC 7F E4 FB 78 */ mr r4, r31
/* 8022ED60 0022BCC0 38 A1 00 08 */ addi r5, r1, 8
/* 8022ED64 0022BCC4 B0 01 00 08 */ sth r0, 8(r1)
/* 8022ED68 0022BCC8 4B FF F6 BD */ bl sub_8022e424
/* 8022ED6C 0022BCCC 48 00 00 0C */ b lbl_8022ED78
lbl_8022ED70:
/* 8022ED70 0022BCD0 38 A5 00 60 */ addi r5, r5, 0x60
/* 8022ED74 0022BCD4 42 00 FE B4 */ bdnz lbl_8022EC28
lbl_8022ED78:
/* 8022ED78 0022BCD8 7F 83 E3 78 */ mr r3, r28
/* 8022ED7C 0022BCDC 7F A4 EB 78 */ mr r4, r29
/* 8022ED80 0022BCE0 7F C5 F3 78 */ mr r5, r30
/* 8022ED84 0022BCE4 7F E6 FB 78 */ mr r6, r31
/* 8022ED88 0022BCE8 4B EE BC 41 */ bl CollidedWith__13CPhysicsActorFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
/* 8022ED8C 0022BCEC E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0
/* 8022ED90 0022BCF0 CB E1 00 A0 */ lfd f31, 0xa0(r1)
/* 8022ED94 0022BCF4 E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0
/* 8022ED98 0022BCF8 CB C1 00 90 */ lfd f30, 0x90(r1)
/* 8022ED9C 0022BCFC E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0
/* 8022EDA0 0022BD00 CB A1 00 80 */ lfd f29, 0x80(r1)
/* 8022EDA4 0022BD04 E3 81 00 78 */ psq_l f28, 120(r1), 0, qr0
/* 8022EDA8 0022BD08 CB 81 00 70 */ lfd f28, 0x70(r1)
/* 8022EDAC 0022BD0C BB 61 00 5C */ lmw r27, 0x5c(r1)
/* 8022EDB0 0022BD10 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8022EDB4 0022BD14 7C 08 03 A6 */ mtlr r0
/* 8022EDB8 0022BD18 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8022EDBC 0022BD1C 4E 80 00 20 */ blr
.global sub_8022edc0
sub_8022edc0:
/* 8022EDC0 0022BD20 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8022EDC4 0022BD24 7C 08 02 A6 */ mflr r0
/* 8022EDC8 0022BD28 7C 85 23 78 */ mr r5, r4
/* 8022EDCC 0022BD2C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8022EDD0 0022BD30 38 A5 00 34 */ addi r5, r5, 0x34
/* 8022EDD4 0022BD34 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8022EDD8 0022BD38 7C 7F 1B 78 */ mr r31, r3
/* 8022EDDC 0022BD3C 38 61 00 08 */ addi r3, r1, 8
/* 8022EDE0 0022BD40 80 84 00 64 */ lwz r4, 0x64(r4)
/* 8022EDE4 0022BD44 4B EE 69 D1 */ bl GetBounds__10CModelDataCFRC12CTransform4f
/* 8022EDE8 0022BD48 38 00 00 01 */ li r0, 1
/* 8022EDEC 0022BD4C 28 1F 00 00 */ cmplwi r31, 0
/* 8022EDF0 0022BD50 98 1F 00 18 */ stb r0, 0x18(r31)
/* 8022EDF4 0022BD54 41 82 00 34 */ beq lbl_8022EE28
/* 8022EDF8 0022BD58 C0 01 00 08 */ lfs f0, 8(r1)
/* 8022EDFC 0022BD5C D0 1F 00 00 */ stfs f0, 0(r31)
/* 8022EE00 0022BD60 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8022EE04 0022BD64 D0 1F 00 04 */ stfs f0, 4(r31)
/* 8022EE08 0022BD68 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8022EE0C 0022BD6C D0 1F 00 08 */ stfs f0, 8(r31)
/* 8022EE10 0022BD70 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8022EE14 0022BD74 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 8022EE18 0022BD78 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8022EE1C 0022BD7C D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 8022EE20 0022BD80 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8022EE24 0022BD84 D0 1F 00 14 */ stfs f0, 0x14(r31)
lbl_8022EE28:
/* 8022EE28 0022BD88 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8022EE2C 0022BD8C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8022EE30 0022BD90 7C 08 03 A6 */ mtlr r0
/* 8022EE34 0022BD94 38 21 00 30 */ addi r1, r1, 0x30
/* 8022EE38 0022BD98 4E 80 00 20 */ blr
.global sub_8022ee3c
sub_8022ee3c:
/* 8022EE3C 0022BD9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8022EE40 0022BDA0 7C 08 02 A6 */ mflr r0
/* 8022EE44 0022BDA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8022EE48 0022BDA8 4B E2 55 C1 */ bl Touch__6CActorFR6CActorR13CStateManager
/* 8022EE4C 0022BDAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8022EE50 0022BDB0 7C 08 03 A6 */ mtlr r0
/* 8022EE54 0022BDB4 38 21 00 10 */ addi r1, r1, 0x10
/* 8022EE58 0022BDB8 4E 80 00 20 */ blr
.global sub_8022ee5c
sub_8022ee5c:
/* 8022EE5C 0022BDBC 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 8022EE60 0022BDC0 7C 08 02 A6 */ mflr r0
/* 8022EE64 0022BDC4 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 8022EE68 0022BDC8 DB E1 00 B0 */ stfd f31, 0xb0(r1)
/* 8022EE6C 0022BDCC F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0
/* 8022EE70 0022BDD0 93 E1 00 AC */ stw r31, 0xac(r1)
/* 8022EE74 0022BDD4 93 C1 00 A8 */ stw r30, 0xa8(r1)
/* 8022EE78 0022BDD8 88 03 00 30 */ lbz r0, 0x30(r3)
/* 8022EE7C 0022BDDC FF E0 08 90 */ fmr f31, f1
/* 8022EE80 0022BDE0 7C 7E 1B 78 */ mr r30, r3
/* 8022EE84 0022BDE4 7C 9F 23 78 */ mr r31, r4
/* 8022EE88 0022BDE8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8022EE8C 0022BDEC 41 82 02 BC */ beq lbl_8022F148
/* 8022EE90 0022BDF0 38 61 00 44 */ addi r3, r1, 0x44
/* 8022EE94 0022BDF4 38 9E 00 34 */ addi r4, r30, 0x34
/* 8022EE98 0022BDF8 48 0E 3D A9 */ bl GetRotation__12CTransform4fCFv
/* 8022EE9C 0022BDFC 38 61 00 74 */ addi r3, r1, 0x74
/* 8022EEA0 0022BE00 38 81 00 44 */ addi r4, r1, 0x44
/* 8022EEA4 0022BE04 48 0E 3C D1 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8022EEA8 0022BE08 C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 8022EEAC 0022BE0C C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 8022EEB0 0022BE10 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 8022EEB4 0022BE14 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 8022EEB8 0022BE18 D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 8022EEBC 0022BE1C D0 41 00 40 */ stfs f2, 0x40(r1)
/* 8022EEC0 0022BE20 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8022EEC4 0022BE24 C0 23 00 04 */ lfs f1, 4(r3)
/* 8022EEC8 0022BE28 C0 43 00 08 */ lfs f2, 8(r3)
/* 8022EECC 0022BE2C C0 03 00 00 */ lfs f0, 0(r3)
/* 8022EED0 0022BE30 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8022EED4 0022BE34 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 8022EED8 0022BE38 D0 41 00 34 */ stfs f2, 0x34(r1)
/* 8022EEDC 0022BE3C 88 1E 02 B4 */ lbz r0, 0x2b4(r30)
/* 8022EEE0 0022BE40 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8022EEE4 0022BE44 41 82 01 30 */ beq lbl_8022F014
/* 8022EEE8 0022BE48 7F C3 F3 78 */ mr r3, r30
/* 8022EEEC 0022BE4C 4B EE C4 8D */ bl Stop__13CPhysicsActorFv
/* 8022EEF0 0022BE50 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
/* 8022EEF4 0022BE54 38 81 00 74 */ addi r4, r1, 0x74
/* 8022EEF8 0022BE58 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EEFC 0022BE5C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8022EF00 0022BE60 7D 89 03 A6 */ mtctr r12
/* 8022EF04 0022BE64 4E 80 04 21 */ bctrl
/* 8022EF08 0022BE68 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
/* 8022EF0C 0022BE6C 38 81 00 38 */ addi r4, r1, 0x38
/* 8022EF10 0022BE70 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EF14 0022BE74 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8022EF18 0022BE78 7D 89 03 A6 */ mtctr r12
/* 8022EF1C 0022BE7C 4E 80 04 21 */ bctrl
/* 8022EF20 0022BE80 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
/* 8022EF24 0022BE84 38 81 00 2C */ addi r4, r1, 0x2c
/* 8022EF28 0022BE88 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EF2C 0022BE8C 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8022EF30 0022BE90 7D 89 03 A6 */ mtctr r12
/* 8022EF34 0022BE94 4E 80 04 21 */ bctrl
/* 8022EF38 0022BE98 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
/* 8022EF3C 0022BE9C FC 20 F8 90 */ fmr f1, f31
/* 8022EF40 0022BEA0 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EF44 0022BEA4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8022EF48 0022BEA8 7D 89 03 A6 */ mtctr r12
/* 8022EF4C 0022BEAC 4E 80 04 21 */ bctrl
/* 8022EF50 0022BEB0 80 7E 02 A4 */ lwz r3, 0x2a4(r30)
/* 8022EF54 0022BEB4 38 81 00 74 */ addi r4, r1, 0x74
/* 8022EF58 0022BEB8 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EF5C 0022BEBC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8022EF60 0022BEC0 7D 89 03 A6 */ mtctr r12
/* 8022EF64 0022BEC4 4E 80 04 21 */ bctrl
/* 8022EF68 0022BEC8 80 7E 02 A4 */ lwz r3, 0x2a4(r30)
/* 8022EF6C 0022BECC 38 81 00 38 */ addi r4, r1, 0x38
/* 8022EF70 0022BED0 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EF74 0022BED4 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8022EF78 0022BED8 7D 89 03 A6 */ mtctr r12
/* 8022EF7C 0022BEDC 4E 80 04 21 */ bctrl
/* 8022EF80 0022BEE0 80 7E 02 A4 */ lwz r3, 0x2a4(r30)
/* 8022EF84 0022BEE4 38 81 00 2C */ addi r4, r1, 0x2c
/* 8022EF88 0022BEE8 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EF8C 0022BEEC 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8022EF90 0022BEF0 7D 89 03 A6 */ mtctr r12
/* 8022EF94 0022BEF4 4E 80 04 21 */ bctrl
/* 8022EF98 0022BEF8 80 7E 02 A4 */ lwz r3, 0x2a4(r30)
/* 8022EF9C 0022BEFC FC 20 F8 90 */ fmr f1, f31
/* 8022EFA0 0022BF00 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EFA4 0022BF04 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8022EFA8 0022BF08 7D 89 03 A6 */ mtctr r12
/* 8022EFAC 0022BF0C 4E 80 04 21 */ bctrl
/* 8022EFB0 0022BF10 80 7E 02 A8 */ lwz r3, 0x2a8(r30)
/* 8022EFB4 0022BF14 38 81 00 74 */ addi r4, r1, 0x74
/* 8022EFB8 0022BF18 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EFBC 0022BF1C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8022EFC0 0022BF20 7D 89 03 A6 */ mtctr r12
/* 8022EFC4 0022BF24 4E 80 04 21 */ bctrl
/* 8022EFC8 0022BF28 80 7E 02 A8 */ lwz r3, 0x2a8(r30)
/* 8022EFCC 0022BF2C 38 81 00 38 */ addi r4, r1, 0x38
/* 8022EFD0 0022BF30 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EFD4 0022BF34 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8022EFD8 0022BF38 7D 89 03 A6 */ mtctr r12
/* 8022EFDC 0022BF3C 4E 80 04 21 */ bctrl
/* 8022EFE0 0022BF40 80 7E 02 A8 */ lwz r3, 0x2a8(r30)
/* 8022EFE4 0022BF44 38 81 00 2C */ addi r4, r1, 0x2c
/* 8022EFE8 0022BF48 81 83 00 00 */ lwz r12, 0(r3)
/* 8022EFEC 0022BF4C 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8022EFF0 0022BF50 7D 89 03 A6 */ mtctr r12
/* 8022EFF4 0022BF54 4E 80 04 21 */ bctrl
/* 8022EFF8 0022BF58 80 7E 02 A8 */ lwz r3, 0x2a8(r30)
/* 8022EFFC 0022BF5C FC 20 F8 90 */ fmr f1, f31
/* 8022F000 0022BF60 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F004 0022BF64 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8022F008 0022BF68 7D 89 03 A6 */ mtctr r12
/* 8022F00C 0022BF6C 4E 80 04 21 */ bctrl
/* 8022F010 0022BF70 48 00 00 64 */ b lbl_8022F074
lbl_8022F014:
/* 8022F014 0022BF74 80 7E 02 AC */ lwz r3, 0x2ac(r30)
/* 8022F018 0022BF78 38 81 00 74 */ addi r4, r1, 0x74
/* 8022F01C 0022BF7C 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F020 0022BF80 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8022F024 0022BF84 7D 89 03 A6 */ mtctr r12
/* 8022F028 0022BF88 4E 80 04 21 */ bctrl
/* 8022F02C 0022BF8C 80 7E 02 AC */ lwz r3, 0x2ac(r30)
/* 8022F030 0022BF90 38 81 00 38 */ addi r4, r1, 0x38
/* 8022F034 0022BF94 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F038 0022BF98 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8022F03C 0022BF9C 7D 89 03 A6 */ mtctr r12
/* 8022F040 0022BFA0 4E 80 04 21 */ bctrl
/* 8022F044 0022BFA4 80 7E 02 AC */ lwz r3, 0x2ac(r30)
/* 8022F048 0022BFA8 38 81 00 2C */ addi r4, r1, 0x2c
/* 8022F04C 0022BFAC 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F050 0022BFB0 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8022F054 0022BFB4 7D 89 03 A6 */ mtctr r12
/* 8022F058 0022BFB8 4E 80 04 21 */ bctrl
/* 8022F05C 0022BFBC 80 7E 02 AC */ lwz r3, 0x2ac(r30)
/* 8022F060 0022BFC0 FC 20 F8 90 */ fmr f1, f31
/* 8022F064 0022BFC4 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F068 0022BFC8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8022F06C 0022BFCC 7D 89 03 A6 */ mtctr r12
/* 8022F070 0022BFD0 4E 80 04 21 */ bctrl
lbl_8022F074:
/* 8022F074 0022BFD4 C0 3E 02 9C */ lfs f1, 0x29c(r30)
/* 8022F078 0022BFD8 C0 02 B6 44 */ lfs f0, lbl_805AD364@sda21(r2)
/* 8022F07C 0022BFDC EC 21 F8 2A */ fadds f1, f1, f31
/* 8022F080 0022BFE0 D0 3E 02 9C */ stfs f1, 0x29c(r30)
/* 8022F084 0022BFE4 C0 3E 02 9C */ lfs f1, 0x29c(r30)
/* 8022F088 0022BFE8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8022F08C 0022BFEC 40 81 00 14 */ ble lbl_8022F0A0
/* 8022F090 0022BFF0 88 1E 02 B4 */ lbz r0, 0x2b4(r30)
/* 8022F094 0022BFF4 38 60 00 01 */ li r3, 1
/* 8022F098 0022BFF8 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8022F09C 0022BFFC 98 1E 02 B4 */ stb r0, 0x2b4(r30)
lbl_8022F0A0:
/* 8022F0A0 0022C000 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 8022F0A4 0022C004 48 05 5D 3D */ bl GetEyeHeight__7CPlayerCFv
/* 8022F0A8 0022C008 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 8022F0AC 0022C00C C0 02 B6 48 */ lfs f0, lbl_805AD368@sda21(r2)
/* 8022F0B0 0022C010 C0 63 00 50 */ lfs f3, 0x50(r3)
/* 8022F0B4 0022C014 C0 A2 B6 3C */ lfs f5, lbl_805AD35C@sda21(r2)
/* 8022F0B8 0022C018 EC C0 00 72 */ fmuls f6, f0, f1
/* 8022F0BC 0022C01C C0 03 00 40 */ lfs f0, 0x40(r3)
/* 8022F0C0 0022C020 C0 43 00 60 */ lfs f2, 0x60(r3)
/* 8022F0C4 0022C024 EC 83 28 2A */ fadds f4, f3, f5
/* 8022F0C8 0022C028 C0 61 00 3C */ lfs f3, 0x3c(r1)
/* 8022F0CC 0022C02C EC 20 28 2A */ fadds f1, f0, f5
/* 8022F0D0 0022C030 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8022F0D4 0022C034 EC 42 30 2A */ fadds f2, f2, f6
/* 8022F0D8 0022C038 EC A4 18 28 */ fsubs f5, f4, f3
/* 8022F0DC 0022C03C EC 01 00 28 */ fsubs f0, f1, f0
/* 8022F0E0 0022C040 C0 21 00 40 */ lfs f1, 0x40(r1)
/* 8022F0E4 0022C044 C0 DE 02 B0 */ lfs f6, 0x2b0(r30)
/* 8022F0E8 0022C048 EC 82 08 28 */ fsubs f4, f2, f1
/* 8022F0EC 0022C04C D0 A1 00 18 */ stfs f5, 0x18(r1)
/* 8022F0F0 0022C050 FC 40 00 18 */ frsp f2, f0
/* 8022F0F4 0022C054 FC 20 28 18 */ frsp f1, f5
/* 8022F0F8 0022C058 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8022F0FC 0022C05C FC 60 20 18 */ frsp f3, f4
/* 8022F100 0022C060 EC 42 00 B2 */ fmuls f2, f2, f2
/* 8022F104 0022C064 D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 8022F108 0022C068 EC 21 00 72 */ fmuls f1, f1, f1
/* 8022F10C 0022C06C EC 63 00 F2 */ fmuls f3, f3, f3
/* 8022F110 0022C070 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8022F114 0022C074 EC 06 01 B2 */ fmuls f0, f6, f6
/* 8022F118 0022C078 EC 22 08 2A */ fadds f1, f2, f1
/* 8022F11C 0022C07C D0 A1 00 24 */ stfs f5, 0x24(r1)
/* 8022F120 0022C080 D0 81 00 28 */ stfs f4, 0x28(r1)
/* 8022F124 0022C084 EC 23 08 2A */ fadds f1, f3, f1
/* 8022F128 0022C088 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8022F12C 0022C08C 40 80 00 1C */ bge lbl_8022F148
/* 8022F130 0022C090 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8022F134 0022C094 7F C3 F3 78 */ mr r3, r30
/* 8022F138 0022C098 7F E4 FB 78 */ mr r4, r31
/* 8022F13C 0022C09C 38 A1 00 10 */ addi r5, r1, 0x10
/* 8022F140 0022C0A0 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8022F144 0022C0A4 4B FF F2 E1 */ bl sub_8022e424
lbl_8022F148:
/* 8022F148 0022C0A8 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
/* 8022F14C 0022C0AC 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F150 0022C0B0 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 8022F154 0022C0B4 7D 89 03 A6 */ mtctr r12
/* 8022F158 0022C0B8 4E 80 04 21 */ bctrl
/* 8022F15C 0022C0BC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8022F160 0022C0C0 41 82 00 54 */ beq lbl_8022F1B4
/* 8022F164 0022C0C4 80 7E 02 A4 */ lwz r3, 0x2a4(r30)
/* 8022F168 0022C0C8 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F16C 0022C0CC 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 8022F170 0022C0D0 7D 89 03 A6 */ mtctr r12
/* 8022F174 0022C0D4 4E 80 04 21 */ bctrl
/* 8022F178 0022C0D8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8022F17C 0022C0DC 41 82 00 38 */ beq lbl_8022F1B4
/* 8022F180 0022C0E0 80 7E 02 A8 */ lwz r3, 0x2a8(r30)
/* 8022F184 0022C0E4 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F188 0022C0E8 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 8022F18C 0022C0EC 7D 89 03 A6 */ mtctr r12
/* 8022F190 0022C0F0 4E 80 04 21 */ bctrl
/* 8022F194 0022C0F4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8022F198 0022C0F8 41 82 00 1C */ beq lbl_8022F1B4
/* 8022F19C 0022C0FC A0 1E 00 08 */ lhz r0, 8(r30)
/* 8022F1A0 0022C100 7F E3 FB 78 */ mr r3, r31
/* 8022F1A4 0022C104 38 81 00 0C */ addi r4, r1, 0xc
/* 8022F1A8 0022C108 B0 01 00 08 */ sth r0, 8(r1)
/* 8022F1AC 0022C10C B0 01 00 0C */ sth r0, 0xc(r1)
/* 8022F1B0 0022C110 4B E1 D0 BD */ bl FreeScriptObject__13CStateManagerF9TUniqueId
lbl_8022F1B4:
/* 8022F1B4 0022C114 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0
/* 8022F1B8 0022C118 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 8022F1BC 0022C11C CB E1 00 B0 */ lfd f31, 0xb0(r1)
/* 8022F1C0 0022C120 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 8022F1C4 0022C124 83 C1 00 A8 */ lwz r30, 0xa8(r1)
/* 8022F1C8 0022C128 7C 08 03 A6 */ mtlr r0
/* 8022F1CC 0022C12C 38 21 00 C0 */ addi r1, r1, 0xc0
/* 8022F1D0 0022C130 4E 80 00 20 */ blr
.global Accept__14CBouncyGrenadeFR8IVisitor
Accept__14CBouncyGrenadeFR8IVisitor:
/* 8022F1D4 0022C134 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8022F1D8 0022C138 7C 08 02 A6 */ mflr r0
/* 8022F1DC 0022C13C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8022F1E0 0022C140 7C 60 1B 78 */ mr r0, r3
/* 8022F1E4 0022C144 7C 83 23 78 */ mr r3, r4
/* 8022F1E8 0022C148 81 84 00 00 */ lwz r12, 0(r4)
/* 8022F1EC 0022C14C 7C 04 03 78 */ mr r4, r0
/* 8022F1F0 0022C150 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 8022F1F4 0022C154 7D 89 03 A6 */ mtctr r12
/* 8022F1F8 0022C158 4E 80 04 21 */ bctrl
/* 8022F1FC 0022C15C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8022F200 0022C160 7C 08 03 A6 */ mtlr r0
/* 8022F204 0022C164 38 21 00 10 */ addi r1, r1, 0x10
/* 8022F208 0022C168 4E 80 00 20 */ blr
.global __ct__14CBouncyGrenade
__ct__14CBouncyGrenade:
/* 8022F20C 0022C16C 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 8022F210 0022C170 7C 08 02 A6 */ mflr r0
/* 8022F214 0022C174 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 8022F218 0022C178 DB E1 00 E0 */ stfd f31, 0xe0(r1)
/* 8022F21C 0022C17C F3 E1 00 E8 */ psq_st f31, 232(r1), 0, qr0
/* 8022F220 0022C180 DB C1 00 D0 */ stfd f30, 0xd0(r1)
/* 8022F224 0022C184 F3 C1 00 D8 */ psq_st f30, 216(r1), 0, qr0
/* 8022F228 0022C188 BE C1 00 A8 */ stmw r22, 0xa8(r1)
/* 8022F22C 0022C18C FF C0 08 90 */ fmr f30, f1
/* 8022F230 0022C190 83 E1 00 F8 */ lwz r31, 0xf8(r1)
/* 8022F234 0022C194 FF E0 10 90 */ fmr f31, f2
/* 8022F238 0022C198 7C 77 1B 78 */ mr r23, r3
/* 8022F23C 0022C19C 7C 98 23 78 */ mr r24, r4
/* 8022F240 0022C1A0 7C B9 2B 78 */ mr r25, r5
/* 8022F244 0022C1A4 7C DA 33 78 */ mr r26, r6
/* 8022F248 0022C1A8 7C FB 3B 78 */ mr r27, r7
/* 8022F24C 0022C1AC 7D 1C 43 78 */ mr r28, r8
/* 8022F250 0022C1B0 7D 3D 4B 78 */ mr r29, r9
/* 8022F254 0022C1B4 7D 5E 53 78 */ mr r30, r10
/* 8022F258 0022C1B8 4B DE C2 DD */ bl Identity__10CAxisAngleFv
/* 8022F25C 0022C1BC 7C 76 1B 78 */ mr r22, r3
/* 8022F260 0022C1C0 4B DE C2 D5 */ bl Identity__10CAxisAngleFv
/* 8022F264 0022C1C4 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8022F268 0022C1C8 C4 44 66 A0 */ lfsu f2, sZeroVector__9CVector3f@l(r4)
/* 8022F26C 0022C1CC C0 3F 00 00 */ lfs f1, 0(r31)
/* 8022F270 0022C1D0 38 00 00 00 */ li r0, 0
/* 8022F274 0022C1D4 C0 64 00 04 */ lfs f3, 4(r4)
/* 8022F278 0022C1D8 C0 84 00 08 */ lfs f4, 8(r4)
/* 8022F27C 0022C1DC 38 80 00 01 */ li r4, 1
/* 8022F280 0022C1E0 D0 41 00 68 */ stfs f2, 0x68(r1)
/* 8022F284 0022C1E4 80 AD 95 BC */ lwz r5, lbl_805A817C@sda21(r13)
/* 8022F288 0022C1E8 D0 61 00 6C */ stfs f3, 0x6c(r1)
/* 8022F28C 0022C1EC D0 81 00 70 */ stfs f4, 0x70(r1)
/* 8022F290 0022C1F0 C0 03 00 00 */ lfs f0, 0(r3)
/* 8022F294 0022C1F4 D0 01 00 74 */ stfs f0, 0x74(r1)
/* 8022F298 0022C1F8 C0 03 00 04 */ lfs f0, 4(r3)
/* 8022F29C 0022C1FC D0 01 00 78 */ stfs f0, 0x78(r1)
/* 8022F2A0 0022C200 C0 03 00 08 */ lfs f0, 8(r3)
/* 8022F2A4 0022C204 38 60 00 00 */ li r3, 0
/* 8022F2A8 0022C208 D0 01 00 7C */ stfs f0, 0x7c(r1)
/* 8022F2AC 0022C20C D0 41 00 80 */ stfs f2, 0x80(r1)
/* 8022F2B0 0022C210 D0 61 00 84 */ stfs f3, 0x84(r1)
/* 8022F2B4 0022C214 D0 81 00 88 */ stfs f4, 0x88(r1)
/* 8022F2B8 0022C218 C0 16 00 00 */ lfs f0, 0(r22)
/* 8022F2BC 0022C21C D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 8022F2C0 0022C220 C0 16 00 04 */ lfs f0, 4(r22)
/* 8022F2C4 0022C224 D0 01 00 90 */ stfs f0, 0x90(r1)
/* 8022F2C8 0022C228 C0 16 00 08 */ lfs f0, 8(r22)
/* 8022F2CC 0022C22C D0 01 00 94 */ stfs f0, 0x94(r1)
/* 8022F2D0 0022C230 D0 21 00 98 */ stfs f1, 0x98(r1)
/* 8022F2D4 0022C234 90 01 00 24 */ stw r0, 0x24(r1)
/* 8022F2D8 0022C238 90 01 00 20 */ stw r0, 0x20(r1)
/* 8022F2DC 0022C23C 48 15 AC 19 */ bl __shl2i
/* 8022F2E0 0022C240 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8022F2E4 0022C244 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 8022F2E8 0022C248 7C 00 1B 78 */ or r0, r0, r3
/* 8022F2EC 0022C24C 80 AD 95 C0 */ lwz r5, lbl_805A8180@sda21(r13)
/* 8022F2F0 0022C250 7C C4 23 78 */ or r4, r6, r4
/* 8022F2F4 0022C254 90 01 00 20 */ stw r0, 0x20(r1)
/* 8022F2F8 0022C258 38 60 00 00 */ li r3, 0
/* 8022F2FC 0022C25C 90 81 00 24 */ stw r4, 0x24(r1)
/* 8022F300 0022C260 38 80 00 01 */ li r4, 1
/* 8022F304 0022C264 48 15 AB F1 */ bl __shl2i
/* 8022F308 0022C268 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8022F30C 0022C26C 80 A1 00 24 */ lwz r5, 0x24(r1)
/* 8022F310 0022C270 7C 03 1B 78 */ or r3, r0, r3
/* 8022F314 0022C274 A0 18 00 00 */ lhz r0, 0(r24)
/* 8022F318 0022C278 7C A5 23 78 */ or r5, r5, r4
/* 8022F31C 0022C27C 90 61 00 20 */ stw r3, 0x20(r1)
/* 8022F320 0022C280 7F 84 E3 78 */ mr r4, r28
/* 8022F324 0022C284 38 61 00 50 */ addi r3, r1, 0x50
/* 8022F328 0022C288 90 A1 00 24 */ stw r5, 0x24(r1)
/* 8022F32C 0022C28C B0 01 00 18 */ sth r0, 0x18(r1)
/* 8022F330 0022C290 4B EE 62 95 */ bl GetBounds__10CModelDataCFv
/* 8022F334 0022C294 38 61 00 50 */ addi r3, r1, 0x50
/* 8022F338 0022C298 38 01 00 68 */ addi r0, r1, 0x68
/* 8022F33C 0022C29C 90 61 00 08 */ stw r3, 8(r1)
/* 8022F340 0022C2A0 7E E3 BB 78 */ mr r3, r23
/* 8022F344 0022C2A4 C0 22 B6 44 */ lfs f1, lbl_805AD364@sda21(r2)
/* 8022F348 0022C2A8 7F 26 CB 78 */ mr r6, r25
/* 8022F34C 0022C2AC 90 01 00 0C */ stw r0, 0xc(r1)
/* 8022F350 0022C2B0 7F 47 D3 78 */ mr r7, r26
/* 8022F354 0022C2B4 C0 42 B6 4C */ lfs f2, lbl_805AD36C@sda21(r2)
/* 8022F358 0022C2B8 7F 68 DB 78 */ mr r8, r27
/* 8022F35C 0022C2BC 93 A1 00 10 */ stw r29, 0x10(r1)
/* 8022F360 0022C2C0 7F 89 E3 78 */ mr r9, r28
/* 8022F364 0022C2C4 38 81 00 18 */ addi r4, r1, 0x18
/* 8022F368 0022C2C8 39 41 00 20 */ addi r10, r1, 0x20
/* 8022F36C 0022C2CC 38 A0 00 01 */ li r5, 1
/* 8022F370 0022C2D0 4B EE D1 41 */ bl "__ct__13CPhysicsActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC6CAABoxRC10SMoverDataRC16CActorParametersff"
/* 8022F374 0022C2D4 3C 60 80 3E */ lis r3, lbl_803E7ED0@ha
/* 8022F378 0022C2D8 C0 02 B6 3C */ lfs f0, lbl_805AD35C@sda21(r2)
/* 8022F37C 0022C2DC 38 03 7E D0 */ addi r0, r3, lbl_803E7ED0@l
/* 8022F380 0022C2E0 90 17 00 00 */ stw r0, 0(r23)
/* 8022F384 0022C2E4 C0 3F 00 00 */ lfs f1, 0(r31)
/* 8022F388 0022C2E8 D0 37 02 58 */ stfs f1, 0x258(r23)
/* 8022F38C 0022C2EC C0 3F 00 04 */ lfs f1, 4(r31)
/* 8022F390 0022C2F0 D0 37 02 5C */ stfs f1, 0x25c(r23)
/* 8022F394 0022C2F4 80 1F 00 08 */ lwz r0, 8(r31)
/* 8022F398 0022C2F8 90 17 02 60 */ stw r0, 0x260(r23)
/* 8022F39C 0022C2FC 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 8022F3A0 0022C300 98 17 02 64 */ stb r0, 0x264(r23)
/* 8022F3A4 0022C304 C0 3F 00 10 */ lfs f1, 0x10(r31)
/* 8022F3A8 0022C308 D0 37 02 68 */ stfs f1, 0x268(r23)
/* 8022F3AC 0022C30C C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 8022F3B0 0022C310 D0 37 02 6C */ stfs f1, 0x26c(r23)
/* 8022F3B4 0022C314 C0 3F 00 18 */ lfs f1, 0x18(r31)
/* 8022F3B8 0022C318 D0 37 02 70 */ stfs f1, 0x270(r23)
/* 8022F3BC 0022C31C C0 3F 00 1C */ lfs f1, 0x1c(r31)
/* 8022F3C0 0022C320 D0 37 02 74 */ stfs f1, 0x274(r23)
/* 8022F3C4 0022C324 88 1F 00 20 */ lbz r0, 0x20(r31)
/* 8022F3C8 0022C328 98 17 02 78 */ stb r0, 0x278(r23)
/* 8022F3CC 0022C32C 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8022F3D0 0022C330 90 17 02 7C */ stw r0, 0x27c(r23)
/* 8022F3D4 0022C334 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 8022F3D8 0022C338 90 17 02 80 */ stw r0, 0x280(r23)
/* 8022F3DC 0022C33C 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 8022F3E0 0022C340 90 17 02 84 */ stw r0, 0x284(r23)
/* 8022F3E4 0022C344 80 1F 00 30 */ lwz r0, 0x30(r31)
/* 8022F3E8 0022C348 90 17 02 88 */ stw r0, 0x288(r23)
/* 8022F3EC 0022C34C 80 1F 00 34 */ lwz r0, 0x34(r31)
/* 8022F3F0 0022C350 90 17 02 8C */ stw r0, 0x28c(r23)
/* 8022F3F4 0022C354 A0 1F 00 38 */ lhz r0, 0x38(r31)
/* 8022F3F8 0022C358 B0 17 02 90 */ sth r0, 0x290(r23)
/* 8022F3FC 0022C35C A0 1F 00 3A */ lhz r0, 0x3a(r31)
/* 8022F400 0022C360 B0 17 02 92 */ sth r0, 0x292(r23)
/* 8022F404 0022C364 80 1F 00 34 */ lwz r0, 0x34(r31)
/* 8022F408 0022C368 90 17 02 94 */ stw r0, 0x294(r23)
/* 8022F40C 0022C36C A0 1E 00 00 */ lhz r0, 0(r30)
/* 8022F410 0022C370 B0 17 02 98 */ sth r0, 0x298(r23)
/* 8022F414 0022C374 D0 17 02 9C */ stfs f0, 0x29c(r23)
/* 8022F418 0022C378 80 7F 00 24 */ lwz r3, 0x24(r31)
/* 8022F41C 0022C37C 48 00 01 81 */ bl sub_8022f59c
/* 8022F420 0022C380 90 77 02 A0 */ stw r3, 0x2a0(r23)
/* 8022F424 0022C384 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 8022F428 0022C388 48 00 01 75 */ bl sub_8022f59c
/* 8022F42C 0022C38C 90 77 02 A4 */ stw r3, 0x2a4(r23)
/* 8022F430 0022C390 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8022F434 0022C394 48 00 01 69 */ bl sub_8022f59c
/* 8022F438 0022C398 90 77 02 A8 */ stw r3, 0x2a8(r23)
/* 8022F43C 0022C39C 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 8022F440 0022C3A0 48 00 01 5D */ bl sub_8022f59c
/* 8022F444 0022C3A4 90 77 02 AC */ stw r3, 0x2ac(r23)
/* 8022F448 0022C3A8 38 A0 00 00 */ li r5, 0
/* 8022F44C 0022C3AC C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
/* 8022F450 0022C3B0 7E E3 BB 78 */ mr r3, r23
/* 8022F454 0022C3B4 D3 F7 02 B0 */ stfs f31, 0x2b0(r23)
/* 8022F458 0022C3B8 38 81 00 28 */ addi r4, r1, 0x28
/* 8022F45C 0022C3BC FC 20 00 50 */ fneg f1, f0
/* 8022F460 0022C3C0 C0 02 B6 3C */ lfs f0, lbl_805AD35C@sda21(r2)
/* 8022F464 0022C3C4 88 17 02 B4 */ lbz r0, 0x2b4(r23)
/* 8022F468 0022C3C8 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 8022F46C 0022C3CC 98 17 02 B4 */ stb r0, 0x2b4(r23)
/* 8022F470 0022C3D0 88 17 02 B4 */ lbz r0, 0x2b4(r23)
/* 8022F474 0022C3D4 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 8022F478 0022C3D8 98 17 02 B4 */ stb r0, 0x2b4(r23)
/* 8022F47C 0022C3DC C0 57 00 E8 */ lfs f2, 0xe8(r23)
/* 8022F480 0022C3E0 D0 17 01 50 */ stfs f0, 0x150(r23)
/* 8022F484 0022C3E4 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8022F488 0022C3E8 D0 17 01 54 */ stfs f0, 0x154(r23)
/* 8022F48C 0022C3EC D0 37 01 58 */ stfs f1, 0x158(r23)
/* 8022F490 0022C3F0 C0 5B 00 14 */ lfs f2, 0x14(r27)
/* 8022F494 0022C3F4 C0 3B 00 24 */ lfs f1, 0x24(r27)
/* 8022F498 0022C3F8 C0 1B 00 04 */ lfs f0, 4(r27)
/* 8022F49C 0022C3FC EC 5E 00 B2 */ fmuls f2, f30, f2
/* 8022F4A0 0022C400 EC 3E 00 72 */ fmuls f1, f30, f1
/* 8022F4A4 0022C404 EC 1E 00 32 */ fmuls f0, f30, f0
/* 8022F4A8 0022C408 D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 8022F4AC 0022C40C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8022F4B0 0022C410 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 8022F4B4 0022C414 4B EE B7 ED */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f
/* 8022F4B8 0022C418 80 77 02 A0 */ lwz r3, 0x2a0(r23)
/* 8022F4BC 0022C41C 38 80 00 00 */ li r4, 0
/* 8022F4C0 0022C420 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F4C4 0022C424 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8022F4C8 0022C428 7D 89 03 A6 */ mtctr r12
/* 8022F4CC 0022C42C 4E 80 04 21 */ bctrl
/* 8022F4D0 0022C430 80 77 02 A4 */ lwz r3, 0x2a4(r23)
/* 8022F4D4 0022C434 38 80 00 00 */ li r4, 0
/* 8022F4D8 0022C438 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F4DC 0022C43C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8022F4E0 0022C440 7D 89 03 A6 */ mtctr r12
/* 8022F4E4 0022C444 4E 80 04 21 */ bctrl
/* 8022F4E8 0022C448 80 77 02 A8 */ lwz r3, 0x2a8(r23)
/* 8022F4EC 0022C44C 38 80 00 00 */ li r4, 0
/* 8022F4F0 0022C450 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F4F4 0022C454 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8022F4F8 0022C458 7D 89 03 A6 */ mtctr r12
/* 8022F4FC 0022C45C 4E 80 04 21 */ bctrl
/* 8022F500 0022C460 80 77 02 AC */ lwz r3, 0x2ac(r23)
/* 8022F504 0022C464 38 80 00 01 */ li r4, 1
/* 8022F508 0022C468 81 83 00 00 */ lwz r12, 0(r3)
/* 8022F50C 0022C46C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8022F510 0022C470 7D 89 03 A6 */ mtctr r12
/* 8022F514 0022C474 4E 80 04 21 */ bctrl
/* 8022F518 0022C478 7E E3 BB 78 */ mr r3, r23
/* 8022F51C 0022C47C 4B E2 43 A1 */ bl GetMaterialFilter__6CActorCFv
/* 8022F520 0022C480 80 AD 95 C4 */ lwz r5, lbl_805A8184@sda21(r13)
/* 8022F524 0022C484 38 80 00 01 */ li r4, 1
/* 8022F528 0022C488 82 C3 00 08 */ lwz r22, 8(r3)
/* 8022F52C 0022C48C 83 03 00 0C */ lwz r24, 0xc(r3)
/* 8022F530 0022C490 38 60 00 00 */ li r3, 0
/* 8022F534 0022C494 48 15 A9 C1 */ bl __shl2i
/* 8022F538 0022C498 7E D6 1B 78 */ or r22, r22, r3
/* 8022F53C 0022C49C 7E E3 BB 78 */ mr r3, r23
/* 8022F540 0022C4A0 7F 18 23 78 */ or r24, r24, r4
/* 8022F544 0022C4A4 4B E2 43 79 */ bl GetMaterialFilter__6CActorCFv
/* 8022F548 0022C4A8 80 A3 00 00 */ lwz r5, 0(r3)
/* 8022F54C 0022C4AC 38 00 00 03 */ li r0, 3
/* 8022F550 0022C4B0 80 C3 00 04 */ lwz r6, 4(r3)
/* 8022F554 0022C4B4 7E E3 BB 78 */ mr r3, r23
/* 8022F558 0022C4B8 38 81 00 38 */ addi r4, r1, 0x38
/* 8022F55C 0022C4BC 90 C1 00 3C */ stw r6, 0x3c(r1)
/* 8022F560 0022C4C0 90 A1 00 38 */ stw r5, 0x38(r1)
/* 8022F564 0022C4C4 93 01 00 44 */ stw r24, 0x44(r1)
/* 8022F568 0022C4C8 92 C1 00 40 */ stw r22, 0x40(r1)
/* 8022F56C 0022C4CC 90 01 00 48 */ stw r0, 0x48(r1)
/* 8022F570 0022C4D0 4B E2 43 31 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter
/* 8022F574 0022C4D4 7E E3 BB 78 */ mr r3, r23
/* 8022F578 0022C4D8 E3 E1 00 E8 */ psq_l f31, 232(r1), 0, qr0
/* 8022F57C 0022C4DC CB E1 00 E0 */ lfd f31, 0xe0(r1)
/* 8022F580 0022C4E0 E3 C1 00 D8 */ psq_l f30, 216(r1), 0, qr0
/* 8022F584 0022C4E4 CB C1 00 D0 */ lfd f30, 0xd0(r1)
/* 8022F588 0022C4E8 BA C1 00 A8 */ lmw r22, 0xa8(r1)
/* 8022F58C 0022C4EC 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 8022F590 0022C4F0 7C 08 03 A6 */ mtlr r0
/* 8022F594 0022C4F4 38 21 00 F0 */ addi r1, r1, 0xf0
/* 8022F598 0022C4F8 4E 80 00 20 */ blr
.global sub_8022f59c
sub_8022f59c:
/* 8022F59C 0022C4FC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8022F5A0 0022C500 7C 08 02 A6 */ mflr r0
/* 8022F5A4 0022C504 3C 80 50 41 */ lis r4, 0x50415254@ha
/* 8022F5A8 0022C508 90 01 00 44 */ stw r0, 0x44(r1)
/* 8022F5AC 0022C50C 38 04 52 54 */ addi r0, r4, 0x50415254@l
/* 8022F5B0 0022C510 38 A1 00 18 */ addi r5, r1, 0x18
/* 8022F5B4 0022C514 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8022F5B8 0022C518 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8022F5BC 0022C51C 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8022F5C0 0022C520 38 61 00 10 */ addi r3, r1, 0x10
/* 8022F5C4 0022C524 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8022F5C8 0022C528 90 01 00 18 */ stw r0, 0x18(r1)
/* 8022F5CC 0022C52C 81 84 00 00 */ lwz r12, 0(r4)
/* 8022F5D0 0022C530 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8022F5D4 0022C534 7D 89 03 A6 */ mtctr r12
/* 8022F5D8 0022C538 4E 80 04 21 */ bctrl
/* 8022F5DC 0022C53C 3B E1 00 20 */ addi r31, r1, 0x20
/* 8022F5E0 0022C540 38 81 00 10 */ addi r4, r1, 0x10
/* 8022F5E4 0022C544 7F E3 FB 78 */ mr r3, r31
/* 8022F5E8 0022C548 48 11 18 C1 */ bl __ct__6CTokenFRC6CToken
/* 8022F5EC 0022C54C 7F E3 FB 78 */ mr r3, r31
/* 8022F5F0 0022C550 48 11 18 1D */ bl GetObj__6CTokenFv
/* 8022F5F4 0022C554 80 03 00 04 */ lwz r0, 4(r3)
/* 8022F5F8 0022C558 38 61 00 10 */ addi r3, r1, 0x10
/* 8022F5FC 0022C55C 38 80 FF FF */ li r4, -1
/* 8022F600 0022C560 90 01 00 28 */ stw r0, 0x28(r1)
/* 8022F604 0022C564 48 11 18 3D */ bl __dt__6CTokenFv
/* 8022F608 0022C568 3C 60 80 3D */ lis r3, lbl_803D3408@ha
/* 8022F60C 0022C56C 3B C0 00 00 */ li r30, 0
/* 8022F610 0022C570 38 83 34 08 */ addi r4, r3, lbl_803D3408@l
/* 8022F614 0022C574 38 A0 00 00 */ li r5, 0
/* 8022F618 0022C578 38 60 03 40 */ li r3, 0x340
/* 8022F61C 0022C57C 48 0E 62 51 */ bl __nw__FUlPCcPCc
/* 8022F620 0022C580 7C 7F 1B 79 */ or. r31, r3, r3
/* 8022F624 0022C584 41 82 00 2C */ beq lbl_8022F650
/* 8022F628 0022C588 38 61 00 08 */ addi r3, r1, 8
/* 8022F62C 0022C58C 38 81 00 20 */ addi r4, r1, 0x20
/* 8022F630 0022C590 48 11 18 79 */ bl __ct__6CTokenFRC6CToken
/* 8022F634 0022C594 7F E3 FB 78 */ mr r3, r31
/* 8022F638 0022C598 38 81 00 08 */ addi r4, r1, 8
/* 8022F63C 0022C59C 3B C0 00 01 */ li r30, 1
/* 8022F640 0022C5A0 38 A0 00 00 */ li r5, 0
/* 8022F644 0022C5A4 38 C0 00 01 */ li r6, 1
/* 8022F648 0022C5A8 48 0E FD 99 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8022F64C 0022C5AC 7C 7F 1B 78 */ mr r31, r3
lbl_8022F650:
/* 8022F650 0022C5B0 7F C0 07 75 */ extsb. r0, r30
/* 8022F654 0022C5B4 41 82 00 10 */ beq lbl_8022F664
/* 8022F658 0022C5B8 38 61 00 08 */ addi r3, r1, 8
/* 8022F65C 0022C5BC 38 80 00 00 */ li r4, 0
/* 8022F660 0022C5C0 48 11 17 E1 */ bl __dt__6CTokenFv
lbl_8022F664:
/* 8022F664 0022C5C4 38 61 00 20 */ addi r3, r1, 0x20
/* 8022F668 0022C5C8 38 80 00 00 */ li r4, 0
/* 8022F66C 0022C5CC 48 11 17 D5 */ bl __dt__6CTokenFv
/* 8022F670 0022C5D0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8022F674 0022C5D4 7F E3 FB 78 */ mr r3, r31
/* 8022F678 0022C5D8 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8022F67C 0022C5DC 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8022F680 0022C5E0 7C 08 03 A6 */ mtlr r0
/* 8022F684 0022C5E4 38 21 00 40 */ addi r1, r1, 0x40
/* 8022F688 0022C5E8 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AD358
lbl_805AD358:
# ROM: 0x3F9BF8
.float 1.0
.global lbl_805AD35C
lbl_805AD35C:
# ROM: 0x3F9BFC
.4byte 0
.global lbl_805AD360
lbl_805AD360:
# ROM: 0x3F9C00
.4byte 0x42960000
.global lbl_805AD364
lbl_805AD364:
# ROM: 0x3F9C04
.float 0.3
.global lbl_805AD368
lbl_805AD368:
# ROM: 0x3F9C08
.float 0.5
.global lbl_805AD36C
lbl_805AD36C:
# ROM: 0x3F9C0C
.float 0.1
.section .rodata
.balign 8
.global lbl_803D3408
lbl_803D3408:
# ROM: 0x3D0408
.asciz "??(??)"
.balign 4