prime/asm/MetroidPrime/Player/CGrappleArm.s

3666 lines
180 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .sdata2, "a"
.balign 8
.global lbl_805AB468
lbl_805AB468:
# ROM: 0x3F7D08
.4byte lbl_803CF360
.global lbl_805AB46C
lbl_805AB46C:
# ROM: 0x3F7D0C
.4byte lbl_803CF36C
.global lbl_805AB470
lbl_805AB470:
# ROM: 0x3F7D10
.4byte lbl_803CF375
.global lbl_805AB474
lbl_805AB474:
# ROM: 0x3F7D14
.4byte lbl_803CF37E
.global lbl_805AB478
lbl_805AB478:
# ROM: 0x3F7D18
.4byte lbl_803CF38E
.global lbl_805AB47C
lbl_805AB47C:
# ROM: 0x3F7D1C
.4byte lbl_803CF38E
.global lbl_805AB480
lbl_805AB480:
# ROM: 0x3F7D20
.4byte lbl_803CF39B
.global lbl_805AB484
lbl_805AB484:
# ROM: 0x3F7D24
.float 0.0
.global lbl_805AB488
lbl_805AB488:
# ROM: 0x3F7D28
.float 1.0
.global lbl_805AB48C
lbl_805AB48C:
# ROM: 0x3F7D2C
.float 0.1
.global lbl_805AB490
lbl_805AB490:
# ROM: 0x3F7D30
.float 150.0
.global lbl_805AB494
lbl_805AB494:
# ROM: 0x3F7D34
.float 2.0
.global lbl_805AB498
lbl_805AB498:
# ROM: 0x3F7D38
.float 0.02
.4byte 0
.global lbl_805AB4A0
lbl_805AB4A0:
# ROM: 0x3F7D40
.double 4.503601774854144E15
.global lbl_805AB4A8
lbl_805AB4A8:
# ROM: 0x3F7D48
.float 4.0
.global lbl_805AB4AC
lbl_805AB4AC:
# ROM: 0x3F7D4C
.float 0.175
.global lbl_805AB4B0
lbl_805AB4B0:
# ROM: 0x3F7D50
.float 0.3
.global lbl_805AB4B4
lbl_805AB4B4:
# ROM: 0x3F7D54
.float 0.7
.global lbl_805AB4B8
lbl_805AB4B8:
# ROM: 0x3F7D58
.float 0.9
.global lbl_805AB4BC
lbl_805AB4BC:
# ROM: 0x3F7D5C
.float 0.25
.global lbl_805AB4C0
lbl_805AB4C0:
# ROM: 0x3F7D60
.float 0.125
.4byte 0
.global lbl_805AB4C8
lbl_805AB4C8:
# ROM: 0x3F7D68
.double 0.0
.section .data
.balign 8
.global lbl_803E06B0
lbl_803E06B0:
# ROM: 0x3DD6B0
.4byte lbl_8011E5DC
.4byte lbl_8011E650
.4byte lbl_8011E6AC
.4byte lbl_8011E7E0
.4byte lbl_8011E6F4
.4byte lbl_8011E7E0
.4byte lbl_8011E73C
.4byte lbl_8011E7E0
.4byte lbl_8011E784
.4byte lbl_8011E7E0
.4byte lbl_8011E7D4
.global lbl_803E06DC
lbl_803E06DC:
# ROM: 0x3DD6DC
.4byte lbl_8011F314
.4byte lbl_8011F3D0
.4byte lbl_8011F324
.4byte lbl_8011F3D0
.4byte lbl_8011F380
.4byte lbl_8011F3D0
.4byte lbl_8011F3D0
.4byte lbl_8011F314
.4byte lbl_8011F3A0
.section .sdata
.balign 8
.global lbl_805A7638
lbl_805A7638:
# ROM: 0x3F4FD8
.4byte 0x3F600000
.global lbl_805A763C
lbl_805A763C:
# ROM: 0x3F4FDC
.float 0.25
.global lbl_805A7640
lbl_805A7640:
# ROM: 0x3F4FE0
.float 0.125
.global lbl_805A7644
lbl_805A7644:
# ROM: 0x3F4FE4
.float 5.0
.global lbl_805A7648
lbl_805A7648:
# ROM: 0x3F4FE8
.4byte 0xFFFF0000
.4byte 0
.section .text, "ax"
.global DisconnectGrappleBeam__11CGrappleArmFv
DisconnectGrappleBeam__11CGrappleArmFv:
/* 8011D4B4 0011A414 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011D4B8 0011A418 7C 08 02 A6 */ mflr r0
/* 8011D4BC 0011A41C 38 80 00 00 */ li r4, 0
/* 8011D4C0 0011A420 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011D4C4 0011A424 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8011D4C8 0011A428 7C 7F 1B 78 */ mr r31, r3
/* 8011D4CC 0011A42C 80 63 03 94 */ lwz r3, 0x394(r3)
/* 8011D4D0 0011A430 81 83 00 00 */ lwz r12, 0(r3)
/* 8011D4D4 0011A434 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8011D4D8 0011A438 7D 89 03 A6 */ mtctr r12
/* 8011D4DC 0011A43C 4E 80 04 21 */ bctrl
/* 8011D4E0 0011A440 88 1F 03 B2 */ lbz r0, 0x3b2(r31)
/* 8011D4E4 0011A444 38 60 00 00 */ li r3, 0
/* 8011D4E8 0011A448 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8011D4EC 0011A44C 7F E3 FB 78 */ mr r3, r31
/* 8011D4F0 0011A450 98 1F 03 B2 */ stb r0, 0x3b2(r31)
/* 8011D4F4 0011A454 48 00 0B E5 */ bl GrappleBeamDisconnected__11CGrappleArmFv
/* 8011D4F8 0011A458 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011D4FC 0011A45C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011D500 0011A460 7C 08 03 A6 */ mtlr r0
/* 8011D504 0011A464 38 21 00 10 */ addi r1, r1, 0x10
/* 8011D508 0011A468 4E 80 00 20 */ blr
.global PointGenerator__11CGrappleArmFPvPC9CVector3fPC9CVector3fi
PointGenerator__11CGrappleArmFPvPC9CVector3fPC9CVector3fi:
/* 8011D50C 0011A46C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011D510 0011A470 7C 08 02 A6 */ mflr r0
/* 8011D514 0011A474 28 03 00 00 */ cmplwi r3, 0
/* 8011D518 0011A478 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011D51C 0011A47C 41 82 00 08 */ beq lbl_8011D524
/* 8011D520 0011A480 48 14 D0 C1 */ bl GeneratePoints__20CRainSplashGeneratorFPC9CVector3fPC9CVector3fi
lbl_8011D524:
/* 8011D524 0011A484 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011D528 0011A488 7C 08 03 A6 */ mtlr r0
/* 8011D52C 0011A48C 38 21 00 10 */ addi r1, r1, 0x10
/* 8011D530 0011A490 4E 80 00 20 */ blr
.global RenderXRayModel__11CGrappleArmFRC13CStateManagerRC12CTransform4fRC11CModelFlags
RenderXRayModel__11CGrappleArmFRC13CStateManagerRC12CTransform4fRC11CModelFlags:
/* 8011D534 0011A494 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 8011D538 0011A498 7C 08 02 A6 */ mflr r0
/* 8011D53C 0011A49C 7C A4 2B 78 */ mr r4, r5
/* 8011D540 0011A4A0 90 01 01 04 */ stw r0, 0x104(r1)
/* 8011D544 0011A4A4 93 E1 00 FC */ stw r31, 0xfc(r1)
/* 8011D548 0011A4A8 7C DF 33 78 */ mr r31, r6
/* 8011D54C 0011A4AC 93 C1 00 F8 */ stw r30, 0xf8(r1)
/* 8011D550 0011A4B0 7C 7E 1B 78 */ mr r30, r3
/* 8011D554 0011A4B4 C0 43 00 00 */ lfs f2, 0(r3)
/* 8011D558 0011A4B8 C0 23 00 04 */ lfs f1, 4(r3)
/* 8011D55C 0011A4BC C0 03 00 08 */ lfs f0, 8(r3)
/* 8011D560 0011A4C0 38 61 00 74 */ addi r3, r1, 0x74
/* 8011D564 0011A4C4 D0 41 00 08 */ stfs f2, 8(r1)
/* 8011D568 0011A4C8 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8011D56C 0011A4CC D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8011D570 0011A4D0 48 1F 56 05 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011D574 0011A4D4 C0 21 00 08 */ lfs f1, 8(r1)
/* 8011D578 0011A4D8 38 61 00 44 */ addi r3, r1, 0x44
/* 8011D57C 0011A4DC C0 41 00 0C */ lfs f2, 0xc(r1)
/* 8011D580 0011A4E0 C0 61 00 10 */ lfs f3, 0x10(r1)
/* 8011D584 0011A4E4 48 1F 5C 85 */ bl Scale__12CTransform4fFfff
/* 8011D588 0011A4E8 38 61 00 14 */ addi r3, r1, 0x14
/* 8011D58C 0011A4EC 38 81 00 74 */ addi r4, r1, 0x74
/* 8011D590 0011A4F0 38 A1 00 44 */ addi r5, r1, 0x44
/* 8011D594 0011A4F4 48 1F 53 BD */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011D598 0011A4F8 38 61 00 74 */ addi r3, r1, 0x74
/* 8011D59C 0011A4FC 38 81 00 14 */ addi r4, r1, 0x14
/* 8011D5A0 0011A500 48 1F 55 A1 */ bl __as__12CTransform4fFRC12CTransform4f
/* 8011D5A4 0011A504 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8011D5A8 0011A508 38 81 00 74 */ addi r4, r1, 0x74
/* 8011D5AC 0011A50C 81 83 00 00 */ lwz r12, 0(r3)
/* 8011D5B0 0011A510 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8011D5B4 0011A514 7D 89 03 A6 */ mtctr r12
/* 8011D5B8 0011A518 4E 80 04 21 */ bctrl
/* 8011D5BC 0011A51C 48 1E F3 C1 */ bl DisableAllLights__9CGraphicsFv
/* 8011D5C0 0011A520 48 22 C9 ED */ bl White__6CColorFv
/* 8011D5C4 0011A524 7C 64 1B 78 */ mr r4, r3
/* 8011D5C8 0011A528 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8011D5CC 0011A52C 81 83 00 00 */ lwz r12, 0(r3)
/* 8011D5D0 0011A530 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8011D5D4 0011A534 7D 89 03 A6 */ mtctr r12
/* 8011D5D8 0011A538 4E 80 04 21 */ bctrl
/* 8011D5DC 0011A53C 38 00 00 00 */ li r0, 0
/* 8011D5E0 0011A540 80 9E 00 60 */ lwz r4, 0x60(r30)
/* 8011D5E4 0011A544 98 01 00 EC */ stb r0, 0xec(r1)
/* 8011D5E8 0011A548 7F E5 FB 78 */ mr r5, r31
/* 8011D5EC 0011A54C 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8011D5F0 0011A550 38 C1 00 A4 */ addi r6, r1, 0xa4
/* 8011D5F4 0011A554 80 84 00 E0 */ lwz r4, 0xe0(r4)
/* 8011D5F8 0011A558 38 E0 00 00 */ li r7, 0
/* 8011D5FC 0011A55C 4B F0 F3 21 */ bl "Render__9CAnimDataCFRC13CSkinnedModelRC11CModelFlagsRCQ24rstl37optional_object<18CVertexMorphEffect>PCf"
/* 8011D600 0011A560 38 61 00 A4 */ addi r3, r1, 0xa4
/* 8011D604 0011A564 38 80 FF FF */ li r4, -1
/* 8011D608 0011A568 4B F5 A6 85 */ bl sub_80077c8c
/* 8011D60C 0011A56C 48 22 C9 A1 */ bl White__6CColorFv
/* 8011D610 0011A570 7C 64 1B 78 */ mr r4, r3
/* 8011D614 0011A574 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8011D618 0011A578 81 83 00 00 */ lwz r12, 0(r3)
/* 8011D61C 0011A57C 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8011D620 0011A580 7D 89 03 A6 */ mtctr r12
/* 8011D624 0011A584 4E 80 04 21 */ bctrl
/* 8011D628 0011A588 48 1E F3 55 */ bl DisableAllLights__9CGraphicsFv
/* 8011D62C 0011A58C 80 01 01 04 */ lwz r0, 0x104(r1)
/* 8011D630 0011A590 83 E1 00 FC */ lwz r31, 0xfc(r1)
/* 8011D634 0011A594 83 C1 00 F8 */ lwz r30, 0xf8(r1)
/* 8011D638 0011A598 7C 08 03 A6 */ mtlr r0
/* 8011D63C 0011A59C 38 21 01 00 */ addi r1, r1, 0x100
/* 8011D640 0011A5A0 4E 80 00 20 */ blr
.global BuildSuitDependencyList__11CGrappleArmFv
BuildSuitDependencyList__11CGrappleArmFv:
/* 8011D644 0011A5A4 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8011D648 0011A5A8 7C 08 02 A6 */ mflr r0
/* 8011D64C 0011A5AC 90 01 00 74 */ stw r0, 0x74(r1)
/* 8011D650 0011A5B0 BE A1 00 44 */ stmw r21, 0x44(r1)
/* 8011D654 0011A5B4 7C 7A 1B 78 */ mr r26, r3
/* 8011D658 0011A5B8 38 7A 01 84 */ addi r3, r26, 0x184
/* 8011D65C 0011A5BC 48 22 37 29 */ bl Lock__6CTokenFv
/* 8011D660 0011A5C0 3C 60 80 3D */ lis r3, lbl_803CF320@ha
/* 8011D664 0011A5C4 3B 9A 01 A0 */ addi r28, r26, 0x1a0
/* 8011D668 0011A5C8 3B C3 F3 20 */ addi r30, r3, lbl_803CF320@l
/* 8011D66C 0011A5CC 3B 21 00 30 */ addi r25, r1, 0x30
/* 8011D670 0011A5D0 7F 9D E3 78 */ mr r29, r28
/* 8011D674 0011A5D4 3B 60 00 00 */ li r27, 0
lbl_8011D678:
/* 8011D678 0011A5D8 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8011D67C 0011A5DC 38 61 00 18 */ addi r3, r1, 0x18
/* 8011D680 0011A5E0 80 BE 00 00 */ lwz r5, 0(r30)
/* 8011D684 0011A5E4 81 84 00 00 */ lwz r12, 0(r4)
/* 8011D688 0011A5E8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8011D68C 0011A5EC 7D 89 03 A6 */ mtctr r12
/* 8011D690 0011A5F0 4E 80 04 21 */ bctrl
/* 8011D694 0011A5F4 7F 23 CB 78 */ mr r3, r25
/* 8011D698 0011A5F8 38 81 00 18 */ addi r4, r1, 0x18
/* 8011D69C 0011A5FC 48 22 38 0D */ bl __ct__6CTokenFRC6CToken
/* 8011D6A0 0011A600 7F 23 CB 78 */ mr r3, r25
/* 8011D6A4 0011A604 48 22 37 69 */ bl GetObj__6CTokenFv
/* 8011D6A8 0011A608 80 03 00 04 */ lwz r0, 4(r3)
/* 8011D6AC 0011A60C 38 61 00 18 */ addi r3, r1, 0x18
/* 8011D6B0 0011A610 38 80 FF FF */ li r4, -1
/* 8011D6B4 0011A614 90 01 00 38 */ stw r0, 0x38(r1)
/* 8011D6B8 0011A618 48 22 37 89 */ bl __dt__6CTokenFv
/* 8011D6BC 0011A61C 80 1A 01 9C */ lwz r0, 0x19c(r26)
/* 8011D6C0 0011A620 38 60 00 00 */ li r3, 0
/* 8011D6C4 0011A624 90 61 00 24 */ stw r3, 0x24(r1)
/* 8011D6C8 0011A628 54 00 20 36 */ slwi r0, r0, 4
/* 8011D6CC 0011A62C 83 E1 00 38 */ lwz r31, 0x38(r1)
/* 8011D6D0 0011A630 7F 1C 02 15 */ add. r24, r28, r0
/* 8011D6D4 0011A634 90 61 00 28 */ stw r3, 0x28(r1)
/* 8011D6D8 0011A638 90 61 00 2C */ stw r3, 0x2c(r1)
/* 8011D6DC 0011A63C 41 82 00 8C */ beq lbl_8011D768
/* 8011D6E0 0011A640 90 78 00 04 */ stw r3, 4(r24)
/* 8011D6E4 0011A644 2C 03 00 00 */ cmpwi r3, 0
/* 8011D6E8 0011A648 90 78 00 08 */ stw r3, 8(r24)
/* 8011D6EC 0011A64C 40 82 00 10 */ bne lbl_8011D6FC
/* 8011D6F0 0011A650 40 82 00 0C */ bne lbl_8011D6FC
/* 8011D6F4 0011A654 90 78 00 0C */ stw r3, 0xc(r24)
/* 8011D6F8 0011A658 48 00 00 70 */ b lbl_8011D768
lbl_8011D6FC:
/* 8011D6FC 0011A65C 80 18 00 08 */ lwz r0, 8(r24)
/* 8011D700 0011A660 54 03 18 39 */ rlwinm. r3, r0, 3, 0, 0x1c
/* 8011D704 0011A664 40 82 00 10 */ bne lbl_8011D714
/* 8011D708 0011A668 38 00 00 00 */ li r0, 0
/* 8011D70C 0011A66C 90 18 00 0C */ stw r0, 0xc(r24)
/* 8011D710 0011A670 48 00 00 1C */ b lbl_8011D72C
lbl_8011D714:
/* 8011D714 0011A674 3C 80 80 3D */ lis r4, lbl_803CF360@ha
/* 8011D718 0011A678 38 A0 00 00 */ li r5, 0
/* 8011D71C 0011A67C 38 84 F3 60 */ addi r4, r4, lbl_803CF360@l
/* 8011D720 0011A680 38 84 00 C4 */ addi r4, r4, 0xc4
/* 8011D724 0011A684 48 1F 80 F5 */ bl __nwa__FUlPCcPCc
/* 8011D728 0011A688 90 78 00 0C */ stw r3, 0xc(r24)
lbl_8011D72C:
/* 8011D72C 0011A68C 82 B8 00 04 */ lwz r21, 4(r24)
/* 8011D730 0011A690 3A E0 00 00 */ li r23, 0
/* 8011D734 0011A694 82 C1 00 2C */ lwz r22, 0x2c(r1)
/* 8011D738 0011A698 83 18 00 0C */ lwz r24, 0xc(r24)
/* 8011D73C 0011A69C 48 00 00 24 */ b lbl_8011D760
lbl_8011D740:
/* 8011D740 0011A6A0 28 18 00 00 */ cmplwi r24, 0
/* 8011D744 0011A6A4 41 82 00 10 */ beq lbl_8011D754
/* 8011D748 0011A6A8 7F 03 C3 78 */ mr r3, r24
/* 8011D74C 0011A6AC 7E C4 B3 78 */ mr r4, r22
/* 8011D750 0011A6B0 48 22 37 59 */ bl __ct__6CTokenFRC6CToken
lbl_8011D754:
/* 8011D754 0011A6B4 3B 18 00 08 */ addi r24, r24, 8
/* 8011D758 0011A6B8 3A F7 00 01 */ addi r23, r23, 1
/* 8011D75C 0011A6BC 3A D6 00 08 */ addi r22, r22, 8
lbl_8011D760:
/* 8011D760 0011A6C0 7C 17 A8 00 */ cmpw r23, r21
/* 8011D764 0011A6C4 41 80 FF DC */ blt lbl_8011D740
lbl_8011D768:
/* 8011D768 0011A6C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8011D76C 0011A6CC 82 A1 00 2C */ lwz r21, 0x2c(r1)
/* 8011D770 0011A6D0 54 00 18 38 */ slwi r0, r0, 3
/* 8011D774 0011A6D4 80 7A 01 9C */ lwz r3, 0x19c(r26)
/* 8011D778 0011A6D8 7F 15 02 14 */ add r24, r21, r0
/* 8011D77C 0011A6DC 92 A1 00 0C */ stw r21, 0xc(r1)
/* 8011D780 0011A6E0 38 03 00 01 */ addi r0, r3, 1
/* 8011D784 0011A6E4 90 1A 01 9C */ stw r0, 0x19c(r26)
/* 8011D788 0011A6E8 93 01 00 14 */ stw r24, 0x14(r1)
/* 8011D78C 0011A6EC 93 01 00 10 */ stw r24, 0x10(r1)
/* 8011D790 0011A6F0 92 A1 00 08 */ stw r21, 8(r1)
/* 8011D794 0011A6F4 48 00 00 14 */ b lbl_8011D7A8
lbl_8011D798:
/* 8011D798 0011A6F8 7E A3 AB 78 */ mr r3, r21
/* 8011D79C 0011A6FC 38 80 FF FF */ li r4, -1
/* 8011D7A0 0011A700 48 22 36 A1 */ bl __dt__6CTokenFv
/* 8011D7A4 0011A704 3A B5 00 08 */ addi r21, r21, 8
lbl_8011D7A8:
/* 8011D7A8 0011A708 7C 15 C0 40 */ cmplw r21, r24
/* 8011D7AC 0011A70C 40 82 FF EC */ bne lbl_8011D798
/* 8011D7B0 0011A710 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 8011D7B4 0011A714 28 03 00 00 */ cmplwi r3, 0
/* 8011D7B8 0011A718 41 82 00 08 */ beq lbl_8011D7C0
/* 8011D7BC 0011A71C 48 1F 81 75 */ bl Free__7CMemoryFPCv
lbl_8011D7C0:
/* 8011D7C0 0011A720 7F 43 D3 78 */ mr r3, r26
/* 8011D7C4 0011A724 7F E4 FB 78 */ mr r4, r31
/* 8011D7C8 0011A728 7F A5 EB 78 */ mr r5, r29
/* 8011D7CC 0011A72C 48 00 00 39 */ bl "FillTokenVector__11CGrappleArmFRCQ24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>RQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>"
/* 8011D7D0 0011A730 38 61 00 30 */ addi r3, r1, 0x30
/* 8011D7D4 0011A734 38 80 00 00 */ li r4, 0
/* 8011D7D8 0011A738 48 22 36 69 */ bl __dt__6CTokenFv
/* 8011D7DC 0011A73C 3B 7B 00 01 */ addi r27, r27, 1
/* 8011D7E0 0011A740 3B BD 00 10 */ addi r29, r29, 0x10
/* 8011D7E4 0011A744 2C 1B 00 08 */ cmpwi r27, 8
/* 8011D7E8 0011A748 3B DE 00 04 */ addi r30, r30, 4
/* 8011D7EC 0011A74C 41 80 FE 8C */ blt lbl_8011D678
/* 8011D7F0 0011A750 BA A1 00 44 */ lmw r21, 0x44(r1)
/* 8011D7F4 0011A754 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8011D7F8 0011A758 7C 08 03 A6 */ mtlr r0
/* 8011D7FC 0011A75C 38 21 00 70 */ addi r1, r1, 0x70
/* 8011D800 0011A760 4E 80 00 20 */ blr
.global "FillTokenVector__11CGrappleArmFRCQ24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>RQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>"
"FillTokenVector__11CGrappleArmFRCQ24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>RQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>":
/* 8011D804 0011A764 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8011D808 0011A768 7C 08 02 A6 */ mflr r0
/* 8011D80C 0011A76C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8011D810 0011A770 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8011D814 0011A774 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8011D818 0011A778 7C BE 2B 78 */ mr r30, r5
/* 8011D81C 0011A77C 7F C3 F3 78 */ mr r3, r30
/* 8011D820 0011A780 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8011D824 0011A784 7C 9D 23 78 */ mr r29, r4
/* 8011D828 0011A788 80 84 00 04 */ lwz r4, 4(r4)
/* 8011D82C 0011A78C 4B EE B1 31 */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi"
/* 8011D830 0011A790 83 FD 00 0C */ lwz r31, 0xc(r29)
/* 8011D834 0011A794 48 00 00 98 */ b lbl_8011D8CC
lbl_8011D838:
/* 8011D838 0011A798 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8011D83C 0011A79C 7F E5 FB 78 */ mr r5, r31
/* 8011D840 0011A7A0 38 61 00 08 */ addi r3, r1, 8
/* 8011D844 0011A7A4 81 84 00 00 */ lwz r12, 0(r4)
/* 8011D848 0011A7A8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8011D84C 0011A7AC 7D 89 03 A6 */ mtctr r12
/* 8011D850 0011A7B0 4E 80 04 21 */ bctrl
/* 8011D854 0011A7B4 38 61 00 10 */ addi r3, r1, 0x10
/* 8011D858 0011A7B8 38 81 00 08 */ addi r4, r1, 8
/* 8011D85C 0011A7BC 48 22 36 4D */ bl __ct__6CTokenFRC6CToken
/* 8011D860 0011A7C0 38 61 00 08 */ addi r3, r1, 8
/* 8011D864 0011A7C4 38 80 FF FF */ li r4, -1
/* 8011D868 0011A7C8 48 22 35 D9 */ bl __dt__6CTokenFv
/* 8011D86C 0011A7CC 80 1E 00 04 */ lwz r0, 4(r30)
/* 8011D870 0011A7D0 80 BE 00 08 */ lwz r5, 8(r30)
/* 8011D874 0011A7D4 7C 00 28 00 */ cmpw r0, r5
/* 8011D878 0011A7D8 41 80 00 1C */ blt lbl_8011D894
/* 8011D87C 0011A7DC 2C 05 00 00 */ cmpwi r5, 0
/* 8011D880 0011A7E0 7F C3 F3 78 */ mr r3, r30
/* 8011D884 0011A7E4 38 80 00 04 */ li r4, 4
/* 8011D888 0011A7E8 41 82 00 08 */ beq lbl_8011D890
/* 8011D88C 0011A7EC 54 A4 08 3C */ slwi r4, r5, 1
lbl_8011D890:
/* 8011D890 0011A7F0 4B EE B0 CD */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi"
lbl_8011D894:
/* 8011D894 0011A7F4 80 1E 00 04 */ lwz r0, 4(r30)
/* 8011D898 0011A7F8 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8011D89C 0011A7FC 54 00 18 38 */ slwi r0, r0, 3
/* 8011D8A0 0011A800 7C 63 02 15 */ add. r3, r3, r0
/* 8011D8A4 0011A804 41 82 00 0C */ beq lbl_8011D8B0
/* 8011D8A8 0011A808 38 81 00 10 */ addi r4, r1, 0x10
/* 8011D8AC 0011A80C 48 22 35 FD */ bl __ct__6CTokenFRC6CToken
lbl_8011D8B0:
/* 8011D8B0 0011A810 80 BE 00 04 */ lwz r5, 4(r30)
/* 8011D8B4 0011A814 38 61 00 10 */ addi r3, r1, 0x10
/* 8011D8B8 0011A818 38 80 FF FF */ li r4, -1
/* 8011D8BC 0011A81C 38 05 00 01 */ addi r0, r5, 1
/* 8011D8C0 0011A820 90 1E 00 04 */ stw r0, 4(r30)
/* 8011D8C4 0011A824 48 22 35 7D */ bl __dt__6CTokenFv
/* 8011D8C8 0011A828 3B FF 00 08 */ addi r31, r31, 8
lbl_8011D8CC:
/* 8011D8CC 0011A82C 80 1D 00 04 */ lwz r0, 4(r29)
/* 8011D8D0 0011A830 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8011D8D4 0011A834 54 00 18 38 */ slwi r0, r0, 3
/* 8011D8D8 0011A838 7C 03 02 14 */ add r0, r3, r0
/* 8011D8DC 0011A83C 7C 1F 00 40 */ cmplw r31, r0
/* 8011D8E0 0011A840 40 82 FF 58 */ bne lbl_8011D838
/* 8011D8E4 0011A844 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8011D8E8 0011A848 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8011D8EC 0011A84C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8011D8F0 0011A850 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8011D8F4 0011A854 7C 08 03 A6 */ mtlr r0
/* 8011D8F8 0011A858 38 21 00 30 */ addi r1, r1, 0x30
/* 8011D8FC 0011A85C 4E 80 00 20 */ blr
.global AcceptScriptMsg__11CGrappleArmF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__11CGrappleArmF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 8011D900 0011A860 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011D904 0011A864 7C 08 02 A6 */ mflr r0
/* 8011D908 0011A868 2C 04 00 21 */ cmpwi r4, 0x21
/* 8011D90C 0011A86C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011D910 0011A870 41 82 00 08 */ beq lbl_8011D918
/* 8011D914 0011A874 48 00 00 0C */ b lbl_8011D920
lbl_8011D918:
/* 8011D918 0011A878 7C C4 33 78 */ mr r4, r6
/* 8011D91C 0011A87C 48 00 02 B9 */ bl AsyncLoadSuit__11CGrappleArmFR13CStateManager
lbl_8011D920:
/* 8011D920 0011A880 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011D924 0011A884 7C 08 03 A6 */ mtlr r0
/* 8011D928 0011A888 38 21 00 10 */ addi r1, r1, 0x10
/* 8011D92C 0011A88C 4E 80 00 20 */ blr
.global BuildXRayModel__11CGrappleArmFv
BuildXRayModel__11CGrappleArmFv:
/* 8011D930 0011A890 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8011D934 0011A894 7C 08 02 A6 */ mflr r0
/* 8011D938 0011A898 90 01 00 84 */ stw r0, 0x84(r1)
/* 8011D93C 0011A89C 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 8011D940 0011A8A0 7C 7F 1B 78 */ mr r31, r3
/* 8011D944 0011A8A4 80 63 03 28 */ lwz r3, 0x328(r3)
/* 8011D948 0011A8A8 28 03 00 00 */ cmplwi r3, 0
/* 8011D94C 0011A8AC 40 82 00 0C */ bne lbl_8011D958
/* 8011D950 0011A8B0 38 E0 00 29 */ li r7, 0x29
/* 8011D954 0011A8B4 48 00 00 08 */ b lbl_8011D95C
lbl_8011D958:
/* 8011D958 0011A8B8 80 E3 00 54 */ lwz r7, 0x54(r3)
lbl_8011D95C:
/* 8011D95C 0011A8BC 80 8D A1 48 */ lwz r4, gpTweakGunRes@sda21(r13)
/* 8011D960 0011A8C0 38 A0 00 08 */ li r5, 8
/* 8011D964 0011A8C4 38 00 00 00 */ li r0, 0
/* 8011D968 0011A8C8 38 61 00 24 */ addi r3, r1, 0x24
/* 8011D96C 0011A8CC 80 C4 00 08 */ lwz r6, 8(r4)
/* 8011D970 0011A8D0 38 81 00 08 */ addi r4, r1, 8
/* 8011D974 0011A8D4 90 C1 00 08 */ stw r6, 8(r1)
/* 8011D978 0011A8D8 90 A1 00 0C */ stw r5, 0xc(r1)
/* 8011D97C 0011A8DC C0 1F 03 1C */ lfs f0, 0x31c(r31)
/* 8011D980 0011A8E0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8011D984 0011A8E4 C0 1F 03 20 */ lfs f0, 0x320(r31)
/* 8011D988 0011A8E8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8011D98C 0011A8EC C0 1F 03 24 */ lfs f0, 0x324(r31)
/* 8011D990 0011A8F0 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8011D994 0011A8F4 98 01 00 1C */ stb r0, 0x1c(r1)
/* 8011D998 0011A8F8 90 E1 00 20 */ stw r7, 0x20(r1)
/* 8011D99C 0011A8FC 4B FF 91 B9 */ bl __ct__10CModelDataFRC8CAnimRes
/* 8011D9A0 0011A900 38 7F 00 50 */ addi r3, r31, 0x50
/* 8011D9A4 0011A904 38 81 00 24 */ addi r4, r1, 0x24
/* 8011D9A8 0011A908 4B FC 04 D1 */ bl sub_800dde78
/* 8011D9AC 0011A90C 38 61 00 24 */ addi r3, r1, 0x24
/* 8011D9B0 0011A910 38 80 FF FF */ li r4, -1
/* 8011D9B4 0011A914 4B FF 90 99 */ bl __dt__10CModelDataFv
/* 8011D9B8 0011A918 88 1F 00 64 */ lbz r0, 0x64(r31)
/* 8011D9BC 0011A91C 38 60 00 01 */ li r3, 1
/* 8011D9C0 0011A920 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8011D9C4 0011A924 98 1F 00 64 */ stb r0, 0x64(r31)
/* 8011D9C8 0011A928 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 8011D9CC 0011A92C 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8011D9D0 0011A930 7C 08 03 A6 */ mtlr r0
/* 8011D9D4 0011A934 38 21 00 80 */ addi r1, r1, 0x80
/* 8011D9D8 0011A938 4E 80 00 20 */ blr
.global LoadSuitPoll__11CGrappleArmFv
LoadSuitPoll__11CGrappleArmFv:
/* 8011D9DC 0011A93C 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8011D9E0 0011A940 7C 08 02 A6 */ mflr r0
/* 8011D9E4 0011A944 90 01 00 84 */ stw r0, 0x84(r1)
/* 8011D9E8 0011A948 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 8011D9EC 0011A94C 7C 7F 1B 78 */ mr r31, r3
/* 8011D9F0 0011A950 80 03 03 A8 */ lwz r0, 0x3a8(r3)
/* 8011D9F4 0011A954 54 00 20 36 */ slwi r0, r0, 4
/* 8011D9F8 0011A958 7C 7F 02 14 */ add r3, r31, r0
/* 8011D9FC 0011A95C 38 63 01 A0 */ addi r3, r3, 0x1a0
/* 8011DA00 0011A960 48 16 D8 2D */ bl "are_tokens_ready__12NWeaponTypesFRCQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>"
/* 8011DA04 0011A964 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8011DA08 0011A968 41 82 00 B8 */ beq lbl_8011DAC0
/* 8011DA0C 0011A96C 80 6D A1 48 */ lwz r3, gpTweakGunRes@sda21(r13)
/* 8011DA10 0011A970 38 A0 00 00 */ li r5, 0
/* 8011DA14 0011A974 80 FF 03 A8 */ lwz r7, 0x3a8(r31)
/* 8011DA18 0011A978 38 00 00 29 */ li r0, 0x29
/* 8011DA1C 0011A97C 80 C3 00 08 */ lwz r6, 8(r3)
/* 8011DA20 0011A980 38 61 00 24 */ addi r3, r1, 0x24
/* 8011DA24 0011A984 38 81 00 08 */ addi r4, r1, 8
/* 8011DA28 0011A988 90 C1 00 08 */ stw r6, 8(r1)
/* 8011DA2C 0011A98C 90 E1 00 0C */ stw r7, 0xc(r1)
/* 8011DA30 0011A990 C0 1F 03 1C */ lfs f0, 0x31c(r31)
/* 8011DA34 0011A994 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8011DA38 0011A998 C0 1F 03 20 */ lfs f0, 0x320(r31)
/* 8011DA3C 0011A99C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8011DA40 0011A9A0 C0 1F 03 24 */ lfs f0, 0x324(r31)
/* 8011DA44 0011A9A4 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8011DA48 0011A9A8 98 A1 00 1C */ stb r5, 0x1c(r1)
/* 8011DA4C 0011A9AC 90 01 00 20 */ stw r0, 0x20(r1)
/* 8011DA50 0011A9B0 4B FF 91 05 */ bl __ct__10CModelDataFRC8CAnimRes
/* 8011DA54 0011A9B4 7F E3 FB 78 */ mr r3, r31
/* 8011DA58 0011A9B8 38 81 00 24 */ addi r4, r1, 0x24
/* 8011DA5C 0011A9BC 4B FC 04 1D */ bl sub_800dde78
/* 8011DA60 0011A9C0 38 61 00 24 */ addi r3, r1, 0x24
/* 8011DA64 0011A9C4 38 80 FF FF */ li r4, -1
/* 8011DA68 0011A9C8 4B FF 8F E5 */ bl __dt__10CModelDataFv
/* 8011DA6C 0011A9CC 88 1F 00 14 */ lbz r0, 0x14(r31)
/* 8011DA70 0011A9D0 38 60 00 01 */ li r3, 1
/* 8011DA74 0011A9D4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8011DA78 0011A9D8 3C 60 80 3D */ lis r3, lbl_803CF360@ha
/* 8011DA7C 0011A9DC 38 63 F3 60 */ addi r3, r3, lbl_803CF360@l
/* 8011DA80 0011A9E0 98 1F 00 14 */ stb r0, 0x14(r31)
/* 8011DA84 0011A9E4 38 83 00 C4 */ addi r4, r3, 0xc4
/* 8011DA88 0011A9E8 38 60 00 5C */ li r3, 0x5c
/* 8011DA8C 0011A9EC 38 A0 00 00 */ li r5, 0
/* 8011DA90 0011A9F0 48 1F 7D DD */ bl __nw__FUlPCcPCc
/* 8011DA94 0011A9F4 7C 64 1B 79 */ or. r4, r3, r3
/* 8011DA98 0011A9F8 41 82 00 10 */ beq lbl_8011DAA8
/* 8011DA9C 0011A9FC 7F E4 FB 78 */ mr r4, r31
/* 8011DAA0 0011AA00 48 0A F1 95 */ bl __ct__14CGunControllerFR10CModelData
/* 8011DAA4 0011AA04 7C 64 1B 78 */ mr r4, r3
lbl_8011DAA8:
/* 8011DAA8 0011AA08 38 7F 03 28 */ addi r3, r31, 0x328
/* 8011DAAC 0011AA0C 48 00 00 29 */ bl "__as__Q24rstl28single_ptr<14CGunController>FRC14CGunController"
/* 8011DAB0 0011AA10 88 1F 03 B2 */ lbz r0, 0x3b2(r31)
/* 8011DAB4 0011AA14 38 60 00 00 */ li r3, 0
/* 8011DAB8 0011AA18 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8011DABC 0011AA1C 98 1F 03 B2 */ stb r0, 0x3b2(r31)
lbl_8011DAC0:
/* 8011DAC0 0011AA20 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8011DAC4 0011AA24 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 8011DAC8 0011AA28 7C 08 03 A6 */ mtlr r0
/* 8011DACC 0011AA2C 38 21 00 80 */ addi r1, r1, 0x80
/* 8011DAD0 0011AA30 4E 80 00 20 */ blr
.global "__as__Q24rstl28single_ptr<14CGunController>FRC14CGunController"
"__as__Q24rstl28single_ptr<14CGunController>FRC14CGunController":
/* 8011DAD4 0011AA34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011DAD8 0011AA38 7C 08 02 A6 */ mflr r0
/* 8011DADC 0011AA3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011DAE0 0011AA40 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8011DAE4 0011AA44 7C 9F 23 78 */ mr r31, r4
/* 8011DAE8 0011AA48 38 80 00 01 */ li r4, 1
/* 8011DAEC 0011AA4C 93 C1 00 08 */ stw r30, 8(r1)
/* 8011DAF0 0011AA50 7C 7E 1B 78 */ mr r30, r3
/* 8011DAF4 0011AA54 80 63 00 00 */ lwz r3, 0(r3)
/* 8011DAF8 0011AA58 48 00 00 25 */ bl __dt__14CGunControllerFv
/* 8011DAFC 0011AA5C 93 FE 00 00 */ stw r31, 0(r30)
/* 8011DB00 0011AA60 7F C3 F3 78 */ mr r3, r30
/* 8011DB04 0011AA64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011DB08 0011AA68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011DB0C 0011AA6C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8011DB10 0011AA70 7C 08 03 A6 */ mtlr r0
/* 8011DB14 0011AA74 38 21 00 10 */ addi r1, r1, 0x10
/* 8011DB18 0011AA78 4E 80 00 20 */ blr
.global __dt__14CGunControllerFv
__dt__14CGunControllerFv:
/* 8011DB1C 0011AA7C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8011DB20 0011AA80 7C 08 02 A6 */ mflr r0
/* 8011DB24 0011AA84 90 01 00 34 */ stw r0, 0x34(r1)
/* 8011DB28 0011AA88 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8011DB2C 0011AA8C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8011DB30 0011AA90 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8011DB34 0011AA94 7C 9D 23 78 */ mr r29, r4
/* 8011DB38 0011AA98 93 81 00 20 */ stw r28, 0x20(r1)
/* 8011DB3C 0011AA9C 7C 7C 1B 79 */ or. r28, r3, r3
/* 8011DB40 0011AAA0 41 82 00 70 */ beq lbl_8011DBB0
/* 8011DB44 0011AAA4 34 1C 00 30 */ addic. r0, r28, 0x30
/* 8011DB48 0011AAA8 41 82 00 58 */ beq lbl_8011DBA0
/* 8011DB4C 0011AAAC 34 1C 00 30 */ addic. r0, r28, 0x30
/* 8011DB50 0011AAB0 41 82 00 50 */ beq lbl_8011DBA0
/* 8011DB54 0011AAB4 80 1C 00 34 */ lwz r0, 0x34(r28)
/* 8011DB58 0011AAB8 83 DC 00 3C */ lwz r30, 0x3c(r28)
/* 8011DB5C 0011AABC 54 00 18 38 */ slwi r0, r0, 3
/* 8011DB60 0011AAC0 7F FE 02 14 */ add r31, r30, r0
/* 8011DB64 0011AAC4 93 C1 00 0C */ stw r30, 0xc(r1)
/* 8011DB68 0011AAC8 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8011DB6C 0011AACC 93 E1 00 10 */ stw r31, 0x10(r1)
/* 8011DB70 0011AAD0 93 C1 00 08 */ stw r30, 8(r1)
/* 8011DB74 0011AAD4 48 00 00 14 */ b lbl_8011DB88
lbl_8011DB78:
/* 8011DB78 0011AAD8 7F C3 F3 78 */ mr r3, r30
/* 8011DB7C 0011AADC 38 80 FF FF */ li r4, -1
/* 8011DB80 0011AAE0 48 22 32 C1 */ bl __dt__6CTokenFv
/* 8011DB84 0011AAE4 3B DE 00 08 */ addi r30, r30, 8
lbl_8011DB88:
/* 8011DB88 0011AAE8 7C 1E F8 40 */ cmplw r30, r31
/* 8011DB8C 0011AAEC 40 82 FF EC */ bne lbl_8011DB78
/* 8011DB90 0011AAF0 80 7C 00 3C */ lwz r3, 0x3c(r28)
/* 8011DB94 0011AAF4 28 03 00 00 */ cmplwi r3, 0
/* 8011DB98 0011AAF8 41 82 00 08 */ beq lbl_8011DBA0
/* 8011DB9C 0011AAFC 48 1F 7D 95 */ bl Free__7CMemoryFPCv
lbl_8011DBA0:
/* 8011DBA0 0011AB00 7F A0 07 35 */ extsh. r0, r29
/* 8011DBA4 0011AB04 40 81 00 0C */ ble lbl_8011DBB0
/* 8011DBA8 0011AB08 7F 83 E3 78 */ mr r3, r28
/* 8011DBAC 0011AB0C 48 1F 7D 85 */ bl Free__7CMemoryFPCv
lbl_8011DBB0:
/* 8011DBB0 0011AB10 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8011DBB4 0011AB14 7F 83 E3 78 */ mr r3, r28
/* 8011DBB8 0011AB18 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8011DBBC 0011AB1C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8011DBC0 0011AB20 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8011DBC4 0011AB24 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8011DBC8 0011AB28 7C 08 03 A6 */ mtlr r0
/* 8011DBCC 0011AB2C 38 21 00 30 */ addi r1, r1, 0x30
/* 8011DBD0 0011AB30 4E 80 00 20 */ blr
.global AsyncLoadSuit__11CGrappleArmFR13CStateManager
AsyncLoadSuit__11CGrappleArmFR13CStateManager:
/* 8011DBD4 0011AB34 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8011DBD8 0011AB38 7C 08 02 A6 */ mflr r0
/* 8011DBDC 0011AB3C 90 01 00 94 */ stw r0, 0x94(r1)
/* 8011DBE0 0011AB40 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 8011DBE4 0011AB44 93 C1 00 88 */ stw r30, 0x88(r1)
/* 8011DBE8 0011AB48 7C 7E 1B 78 */ mr r30, r3
/* 8011DBEC 0011AB4C 7C 83 23 78 */ mr r3, r4
/* 8011DBF0 0011AB50 93 A1 00 84 */ stw r29, 0x84(r1)
/* 8011DBF4 0011AB54 93 81 00 80 */ stw r28, 0x80(r1)
/* 8011DBF8 0011AB58 48 16 CD D5 */ bl get_current_suit__12NWeaponTypesFRC13CStateManager
/* 8011DBFC 0011AB5C 80 1E 03 A8 */ lwz r0, 0x3a8(r30)
/* 8011DC00 0011AB60 7C 7F 1B 78 */ mr r31, r3
/* 8011DC04 0011AB64 7C 1F 00 00 */ cmpw r31, r0
/* 8011DC08 0011AB68 41 82 01 24 */ beq lbl_8011DD2C
/* 8011DC0C 0011AB6C 38 00 00 00 */ li r0, 0
/* 8011DC10 0011AB70 7F C3 F3 78 */ mr r3, r30
/* 8011DC14 0011AB74 98 01 00 74 */ stb r0, 0x74(r1)
/* 8011DC18 0011AB78 38 81 00 28 */ addi r4, r1, 0x28
/* 8011DC1C 0011AB7C 48 00 01 31 */ bl sub_8011dd4c
/* 8011DC20 0011AB80 88 01 00 74 */ lbz r0, 0x74(r1)
/* 8011DC24 0011AB84 28 00 00 00 */ cmplwi r0, 0
/* 8011DC28 0011AB88 41 82 00 10 */ beq lbl_8011DC38
/* 8011DC2C 0011AB8C 38 61 00 28 */ addi r3, r1, 0x28
/* 8011DC30 0011AB90 38 80 FF FF */ li r4, -1
/* 8011DC34 0011AB94 4B FF 8E 19 */ bl __dt__10CModelDataFv
lbl_8011DC38:
/* 8011DC38 0011AB98 38 00 00 00 */ li r0, 0
/* 8011DC3C 0011AB9C 38 7E 03 28 */ addi r3, r30, 0x328
/* 8011DC40 0011ABA0 98 01 00 74 */ stb r0, 0x74(r1)
/* 8011DC44 0011ABA4 38 80 00 00 */ li r4, 0
/* 8011DC48 0011ABA8 4B FF FE 8D */ bl "__as__Q24rstl28single_ptr<14CGunController>FRC14CGunController"
/* 8011DC4C 0011ABAC 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011DC50 0011ABB0 38 60 00 01 */ li r3, 1
/* 8011DC54 0011ABB4 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8011DC58 0011ABB8 98 1E 03 B2 */ stb r0, 0x3b2(r30)
/* 8011DC5C 0011ABBC 80 1E 03 A8 */ lwz r0, 0x3a8(r30)
/* 8011DC60 0011ABC0 2C 00 FF FF */ cmpwi r0, -1
/* 8011DC64 0011ABC4 41 82 00 84 */ beq lbl_8011DCE8
/* 8011DC68 0011ABC8 3B BE 01 A0 */ addi r29, r30, 0x1a0
/* 8011DC6C 0011ABCC 54 00 20 36 */ slwi r0, r0, 4
/* 8011DC70 0011ABD0 7C 7D 02 14 */ add r3, r29, r0
/* 8011DC74 0011ABD4 48 16 D5 01 */ bl "unlock_tokens__12NWeaponTypesFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>"
/* 8011DC78 0011ABD8 38 00 00 00 */ li r0, 0
/* 8011DC7C 0011ABDC 38 81 00 18 */ addi r4, r1, 0x18
/* 8011DC80 0011ABE0 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8011DC84 0011ABE4 90 01 00 20 */ stw r0, 0x20(r1)
/* 8011DC88 0011ABE8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8011DC8C 0011ABEC 80 1E 03 A8 */ lwz r0, 0x3a8(r30)
/* 8011DC90 0011ABF0 54 00 20 36 */ slwi r0, r0, 4
/* 8011DC94 0011ABF4 7C 7D 02 14 */ add r3, r29, r0
/* 8011DC98 0011ABF8 4B EE 8B 6D */ bl sub_80006804
/* 8011DC9C 0011ABFC 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8011DCA0 0011AC00 83 81 00 24 */ lwz r28, 0x24(r1)
/* 8011DCA4 0011AC04 54 00 18 38 */ slwi r0, r0, 3
/* 8011DCA8 0011AC08 7F BC 02 14 */ add r29, r28, r0
/* 8011DCAC 0011AC0C 93 81 00 0C */ stw r28, 0xc(r1)
/* 8011DCB0 0011AC10 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8011DCB4 0011AC14 93 A1 00 10 */ stw r29, 0x10(r1)
/* 8011DCB8 0011AC18 93 81 00 08 */ stw r28, 8(r1)
/* 8011DCBC 0011AC1C 48 00 00 14 */ b lbl_8011DCD0
lbl_8011DCC0:
/* 8011DCC0 0011AC20 7F 83 E3 78 */ mr r3, r28
/* 8011DCC4 0011AC24 38 80 FF FF */ li r4, -1
/* 8011DCC8 0011AC28 48 22 31 79 */ bl __dt__6CTokenFv
/* 8011DCCC 0011AC2C 3B 9C 00 08 */ addi r28, r28, 8
lbl_8011DCD0:
/* 8011DCD0 0011AC30 7C 1C E8 40 */ cmplw r28, r29
/* 8011DCD4 0011AC34 40 82 FF EC */ bne lbl_8011DCC0
/* 8011DCD8 0011AC38 80 61 00 24 */ lwz r3, 0x24(r1)
/* 8011DCDC 0011AC3C 28 03 00 00 */ cmplwi r3, 0
/* 8011DCE0 0011AC40 41 82 00 08 */ beq lbl_8011DCE8
/* 8011DCE4 0011AC44 48 1F 7C 4D */ bl Free__7CMemoryFPCv
lbl_8011DCE8:
/* 8011DCE8 0011AC48 2C 1F 00 00 */ cmpwi r31, 0
/* 8011DCEC 0011AC4C 41 80 00 0C */ blt lbl_8011DCF8
/* 8011DCF0 0011AC50 2C 1F 00 07 */ cmpwi r31, 7
/* 8011DCF4 0011AC54 40 81 00 10 */ ble lbl_8011DD04
lbl_8011DCF8:
/* 8011DCF8 0011AC58 38 00 00 00 */ li r0, 0
/* 8011DCFC 0011AC5C 90 1E 03 A8 */ stw r0, 0x3a8(r30)
/* 8011DD00 0011AC60 48 00 00 18 */ b lbl_8011DD18
lbl_8011DD04:
/* 8011DD04 0011AC64 3C 60 80 3D */ lis r3, lbl_803CF340@ha
/* 8011DD08 0011AC68 57 E0 10 3A */ slwi r0, r31, 2
/* 8011DD0C 0011AC6C 38 63 F3 40 */ addi r3, r3, lbl_803CF340@l
/* 8011DD10 0011AC70 7C 03 00 2E */ lwzx r0, r3, r0
/* 8011DD14 0011AC74 90 1E 03 A8 */ stw r0, 0x3a8(r30)
lbl_8011DD18:
/* 8011DD18 0011AC78 80 1E 03 A8 */ lwz r0, 0x3a8(r30)
/* 8011DD1C 0011AC7C 54 00 20 36 */ slwi r0, r0, 4
/* 8011DD20 0011AC80 7C 7E 02 14 */ add r3, r30, r0
/* 8011DD24 0011AC84 38 63 01 A0 */ addi r3, r3, 0x1a0
/* 8011DD28 0011AC88 48 16 D4 A9 */ bl "lock_tokens__12NWeaponTypesFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>"
lbl_8011DD2C:
/* 8011DD2C 0011AC8C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8011DD30 0011AC90 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 8011DD34 0011AC94 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 8011DD38 0011AC98 83 A1 00 84 */ lwz r29, 0x84(r1)
/* 8011DD3C 0011AC9C 83 81 00 80 */ lwz r28, 0x80(r1)
/* 8011DD40 0011ACA0 7C 08 03 A6 */ mtlr r0
/* 8011DD44 0011ACA4 38 21 00 90 */ addi r1, r1, 0x90
/* 8011DD48 0011ACA8 4E 80 00 20 */ blr
.global sub_8011dd4c
sub_8011dd4c:
/* 8011DD4C 0011ACAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011DD50 0011ACB0 7C 08 02 A6 */ mflr r0
/* 8011DD54 0011ACB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011DD58 0011ACB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8011DD5C 0011ACBC 7C 7F 1B 78 */ mr r31, r3
/* 8011DD60 0011ACC0 7C 1F 20 40 */ cmplw r31, r4
/* 8011DD64 0011ACC4 40 82 00 08 */ bne lbl_8011DD6C
/* 8011DD68 0011ACC8 48 00 00 38 */ b lbl_8011DDA0
lbl_8011DD6C:
/* 8011DD6C 0011ACCC 88 04 00 4C */ lbz r0, 0x4c(r4)
/* 8011DD70 0011ACD0 28 00 00 00 */ cmplwi r0, 0
/* 8011DD74 0011ACD4 41 82 00 0C */ beq lbl_8011DD80
/* 8011DD78 0011ACD8 4B FC 01 31 */ bl "emplace__Q24rstl29optional_object<10CModelData>FRC10CModelData"
/* 8011DD7C 0011ACDC 48 00 00 20 */ b lbl_8011DD9C
lbl_8011DD80:
/* 8011DD80 0011ACE0 88 1F 00 4C */ lbz r0, 0x4c(r31)
/* 8011DD84 0011ACE4 28 00 00 00 */ cmplwi r0, 0
/* 8011DD88 0011ACE8 41 82 00 0C */ beq lbl_8011DD94
/* 8011DD8C 0011ACEC 38 80 FF FF */ li r4, -1
/* 8011DD90 0011ACF0 4B FF 8C BD */ bl __dt__10CModelDataFv
lbl_8011DD94:
/* 8011DD94 0011ACF4 38 00 00 00 */ li r0, 0
/* 8011DD98 0011ACF8 98 1F 00 4C */ stb r0, 0x4c(r31)
lbl_8011DD9C:
/* 8011DD9C 0011ACFC 7F E3 FB 78 */ mr r3, r31
lbl_8011DDA0:
/* 8011DDA0 0011AD00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011DDA4 0011AD04 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011DDA8 0011AD08 7C 08 03 A6 */ mtlr r0
/* 8011DDAC 0011AD0C 38 21 00 10 */ addi r1, r1, 0x10
/* 8011DDB0 0011AD10 4E 80 00 20 */ blr
.global ResetAuxParams__11CGrappleArmFb
ResetAuxParams__11CGrappleArmFb:
/* 8011DDB4 0011AD14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011DDB8 0011AD18 7C 08 02 A6 */ mflr r0
/* 8011DDBC 0011AD1C 38 E0 00 00 */ li r7, 0
/* 8011DDC0 0011AD20 38 A0 00 0A */ li r5, 0xa
/* 8011DDC4 0011AD24 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011DDC8 0011AD28 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8011DDCC 0011AD2C 7C 9F 23 78 */ mr r31, r4
/* 8011DDD0 0011AD30 93 C1 00 08 */ stw r30, 8(r1)
/* 8011DDD4 0011AD34 7C 7E 1B 78 */ mr r30, r3
/* 8011DDD8 0011AD38 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha
/* 8011DDDC 0011AD3C 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011DDE0 0011AD40 50 E0 3E 30 */ rlwimi r0, r7, 7, 0x18, 0x18
/* 8011DDE4 0011AD44 98 1E 03 B2 */ stb r0, 0x3b2(r30)
/* 8011DDE8 0011AD48 38 03 66 70 */ addi r0, r3, sIdentity__12CTransform4f@l
/* 8011DDEC 0011AD4C 38 7E 02 E0 */ addi r3, r30, 0x2e0
/* 8011DDF0 0011AD50 88 DE 03 B2 */ lbz r6, 0x3b2(r30)
/* 8011DDF4 0011AD54 50 E6 26 F6 */ rlwimi r6, r7, 4, 0x1b, 0x1b
/* 8011DDF8 0011AD58 7C 04 03 78 */ mr r4, r0
/* 8011DDFC 0011AD5C 98 DE 03 B2 */ stb r6, 0x3b2(r30)
/* 8011DE00 0011AD60 90 BE 03 34 */ stw r5, 0x334(r30)
/* 8011DE04 0011AD64 48 1F 4D 3D */ bl __as__12CTransform4fFRC12CTransform4f
/* 8011DE08 0011AD68 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 8011DE0C 0011AD6C 41 82 00 0C */ beq lbl_8011DE18
/* 8011DE10 0011AD70 80 7E 03 28 */ lwz r3, 0x328(r30)
/* 8011DE14 0011AD74 48 0A E4 BD */ bl Reset__14CGunControllerFv
lbl_8011DE18:
/* 8011DE18 0011AD78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011DE1C 0011AD7C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011DE20 0011AD80 83 C1 00 08 */ lwz r30, 8(r1)
/* 8011DE24 0011AD84 7C 08 03 A6 */ mtlr r0
/* 8011DE28 0011AD88 38 21 00 10 */ addi r1, r1, 0x10
/* 8011DE2C 0011AD8C 4E 80 00 20 */ blr
.global EnterStruck__11CGrappleArmFR13CStateManagerfbb
EnterStruck__11CGrappleArmFR13CStateManagerfbb:
/* 8011DE30 0011AD90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8011DE34 0011AD94 7C 08 02 A6 */ mflr r0
/* 8011DE38 0011AD98 90 01 00 24 */ stw r0, 0x24(r1)
/* 8011DE3C 0011AD9C DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8011DE40 0011ADA0 FF E0 08 90 */ fmr f31, f1
/* 8011DE44 0011ADA4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8011DE48 0011ADA8 7C DF 33 78 */ mr r31, r6
/* 8011DE4C 0011ADAC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8011DE50 0011ADB0 7C BE 2B 78 */ mr r30, r5
/* 8011DE54 0011ADB4 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8011DE58 0011ADB8 7C 9D 23 78 */ mr r29, r4
/* 8011DE5C 0011ADBC 93 81 00 08 */ stw r28, 8(r1)
/* 8011DE60 0011ADC0 7C 7C 1B 78 */ mr r28, r3
/* 8011DE64 0011ADC4 88 E3 03 B2 */ lbz r7, 0x3b2(r3)
/* 8011DE68 0011ADC8 54 E0 F7 FF */ rlwinm. r0, r7, 0x1e, 0x1f, 0x1f
/* 8011DE6C 0011ADCC 40 82 00 64 */ bne lbl_8011DED0
/* 8011DE70 0011ADD0 54 E0 EF FF */ rlwinm. r0, r7, 0x1d, 0x1f, 0x1f
/* 8011DE74 0011ADD4 41 82 00 18 */ beq lbl_8011DE8C
/* 8011DE78 0011ADD8 4B FF F6 3D */ bl DisconnectGrappleBeam__11CGrappleArmFv
/* 8011DE7C 0011ADDC 88 1C 03 B2 */ lbz r0, 0x3b2(r28)
/* 8011DE80 0011ADE0 38 60 00 00 */ li r3, 0
/* 8011DE84 0011ADE4 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8011DE88 0011ADE8 98 1C 03 B2 */ stb r0, 0x3b2(r28)
lbl_8011DE8C:
/* 8011DE8C 0011ADEC 88 7C 03 B2 */ lbz r3, 0x3b2(r28)
/* 8011DE90 0011ADF0 54 60 E7 FF */ rlwinm. r0, r3, 0x1c, 0x1f, 0x1f
/* 8011DE94 0011ADF4 40 82 00 24 */ bne lbl_8011DEB8
/* 8011DE98 0011ADF8 38 80 00 01 */ li r4, 1
/* 8011DE9C 0011ADFC 38 00 00 09 */ li r0, 9
/* 8011DEA0 0011AE00 50 83 3E 30 */ rlwimi r3, r4, 7, 0x18, 0x18
/* 8011DEA4 0011AE04 98 7C 03 B2 */ stb r3, 0x3b2(r28)
/* 8011DEA8 0011AE08 88 7C 03 B2 */ lbz r3, 0x3b2(r28)
/* 8011DEAC 0011AE0C 50 83 26 F6 */ rlwimi r3, r4, 4, 0x1b, 0x1b
/* 8011DEB0 0011AE10 98 7C 03 B2 */ stb r3, 0x3b2(r28)
/* 8011DEB4 0011AE14 90 1C 03 34 */ stw r0, 0x334(r28)
lbl_8011DEB8:
/* 8011DEB8 0011AE18 FC 20 F8 90 */ fmr f1, f31
/* 8011DEBC 0011AE1C 80 7C 03 28 */ lwz r3, 0x328(r28)
/* 8011DEC0 0011AE20 7F A4 EB 78 */ mr r4, r29
/* 8011DEC4 0011AE24 7F C5 F3 78 */ mr r5, r30
/* 8011DEC8 0011AE28 7F E6 FB 78 */ mr r6, r31
/* 8011DECC 0011AE2C 48 0A E9 81 */ bl EnterStruck__14CGunControllerFR13CStateManagerfbb
lbl_8011DED0:
/* 8011DED0 0011AE30 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8011DED4 0011AE34 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8011DED8 0011AE38 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8011DEDC 0011AE3C 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8011DEE0 0011AE40 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 8011DEE4 0011AE44 83 81 00 08 */ lwz r28, 8(r1)
/* 8011DEE8 0011AE48 7C 08 03 A6 */ mtlr r0
/* 8011DEEC 0011AE4C 38 21 00 20 */ addi r1, r1, 0x20
/* 8011DEF0 0011AE50 4E 80 00 20 */ blr
.global EnterIdle__11CGrappleArmFR13CStateManager
EnterIdle__11CGrappleArmFR13CStateManager:
/* 8011DEF4 0011AE54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011DEF8 0011AE58 7C 08 02 A6 */ mflr r0
/* 8011DEFC 0011AE5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011DF00 0011AE60 88 03 03 B2 */ lbz r0, 0x3b2(r3)
/* 8011DF04 0011AE64 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 8011DF08 0011AE68 40 82 00 0C */ bne lbl_8011DF14
/* 8011DF0C 0011AE6C 80 63 03 28 */ lwz r3, 0x328(r3)
/* 8011DF10 0011AE70 48 0A E4 F5 */ bl EnterIdle__14CGunControllerFR13CStateManager
lbl_8011DF14:
/* 8011DF14 0011AE74 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011DF18 0011AE78 7C 08 03 A6 */ mtlr r0
/* 8011DF1C 0011AE7C 38 21 00 10 */ addi r1, r1, 0x10
/* 8011DF20 0011AE80 4E 80 00 20 */ blr
.global ReturnToDefault__11CGrappleArmFR13CStateManagerf
ReturnToDefault__11CGrappleArmFR13CStateManagerf:
/* 8011DF24 0011AE84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011DF28 0011AE88 7C 08 02 A6 */ mflr r0
/* 8011DF2C 0011AE8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011DF30 0011AE90 88 03 03 B2 */ lbz r0, 0x3b2(r3)
/* 8011DF34 0011AE94 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 8011DF38 0011AE98 40 82 00 0C */ bne lbl_8011DF44
/* 8011DF3C 0011AE9C 80 63 03 28 */ lwz r3, 0x328(r3)
/* 8011DF40 0011AEA0 48 0A E3 B9 */ bl ReturnToDefault__14CGunControllerFR13CStateManagerf
lbl_8011DF44:
/* 8011DF44 0011AEA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011DF48 0011AEA8 7C 08 03 A6 */ mtlr r0
/* 8011DF4C 0011AEAC 38 21 00 10 */ addi r1, r1, 0x10
/* 8011DF50 0011AEB0 4E 80 00 20 */ blr
.global EnterComboFire__11CGrappleArmFiR13CStateManager
EnterComboFire__11CGrappleArmFiR13CStateManager:
/* 8011DF54 0011AEB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011DF58 0011AEB8 7C 08 02 A6 */ mflr r0
/* 8011DF5C 0011AEBC 7C 86 23 78 */ mr r6, r4
/* 8011DF60 0011AEC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011DF64 0011AEC4 88 83 03 B2 */ lbz r4, 0x3b2(r3)
/* 8011DF68 0011AEC8 54 80 F7 FF */ rlwinm. r0, r4, 0x1e, 0x1f, 0x1f
/* 8011DF6C 0011AECC 40 82 00 34 */ bne lbl_8011DFA0
/* 8011DF70 0011AED0 38 E0 00 01 */ li r7, 1
/* 8011DF74 0011AED4 38 00 00 09 */ li r0, 9
/* 8011DF78 0011AED8 50 E4 3E 30 */ rlwimi r4, r7, 7, 0x18, 0x18
/* 8011DF7C 0011AEDC 98 83 03 B2 */ stb r4, 0x3b2(r3)
/* 8011DF80 0011AEE0 7C A4 2B 78 */ mr r4, r5
/* 8011DF84 0011AEE4 7C C5 33 78 */ mr r5, r6
/* 8011DF88 0011AEE8 88 C3 03 B2 */ lbz r6, 0x3b2(r3)
/* 8011DF8C 0011AEEC 50 E6 26 F6 */ rlwimi r6, r7, 4, 0x1b, 0x1b
/* 8011DF90 0011AEF0 98 C3 03 B2 */ stb r6, 0x3b2(r3)
/* 8011DF94 0011AEF4 90 03 03 34 */ stw r0, 0x334(r3)
/* 8011DF98 0011AEF8 80 63 03 28 */ lwz r3, 0x328(r3)
/* 8011DF9C 0011AEFC 48 0A EB AD */ bl EnterComboFire__14CGunControllerFR13CStateManageri
lbl_8011DFA0:
/* 8011DFA0 0011AF00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011DFA4 0011AF04 7C 08 03 A6 */ mtlr r0
/* 8011DFA8 0011AF08 38 21 00 10 */ addi r1, r1, 0x10
/* 8011DFAC 0011AF0C 4E 80 00 20 */ blr
.global EnterFidget__11CGrappleArmFR13CStateManageriii
EnterFidget__11CGrappleArmFR13CStateManageriii:
/* 8011DFB0 0011AF10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011DFB4 0011AF14 7C 08 02 A6 */ mflr r0
/* 8011DFB8 0011AF18 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011DFBC 0011AF1C 89 03 03 B2 */ lbz r8, 0x3b2(r3)
/* 8011DFC0 0011AF20 55 00 F7 FF */ rlwinm. r0, r8, 0x1e, 0x1f, 0x1f
/* 8011DFC4 0011AF24 40 82 00 2C */ bne lbl_8011DFF0
/* 8011DFC8 0011AF28 39 20 00 01 */ li r9, 1
/* 8011DFCC 0011AF2C 38 00 00 09 */ li r0, 9
/* 8011DFD0 0011AF30 51 28 3E 30 */ rlwimi r8, r9, 7, 0x18, 0x18
/* 8011DFD4 0011AF34 99 03 03 B2 */ stb r8, 0x3b2(r3)
/* 8011DFD8 0011AF38 89 03 03 B2 */ lbz r8, 0x3b2(r3)
/* 8011DFDC 0011AF3C 51 28 26 F6 */ rlwimi r8, r9, 4, 0x1b, 0x1b
/* 8011DFE0 0011AF40 99 03 03 B2 */ stb r8, 0x3b2(r3)
/* 8011DFE4 0011AF44 90 03 03 34 */ stw r0, 0x334(r3)
/* 8011DFE8 0011AF48 80 63 03 28 */ lwz r3, 0x328(r3)
/* 8011DFEC 0011AF4C 48 0A EB 15 */ bl EnterFidget__14CGunControllerFR13CStateManageriii
lbl_8011DFF0:
/* 8011DFF0 0011AF50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011DFF4 0011AF54 7C 08 03 A6 */ mtlr r0
/* 8011DFF8 0011AF58 38 21 00 10 */ addi r1, r1, 0x10
/* 8011DFFC 0011AF5C 4E 80 00 20 */ blr
.global EnterFreeLook__11CGrappleArmFiiR13CStateManager
EnterFreeLook__11CGrappleArmFiiR13CStateManager:
/* 8011E000 0011AF60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011E004 0011AF64 7C 08 02 A6 */ mflr r0
/* 8011E008 0011AF68 7C 89 23 78 */ mr r9, r4
/* 8011E00C 0011AF6C 7C A7 2B 78 */ mr r7, r5
/* 8011E010 0011AF70 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011E014 0011AF74 88 83 03 B2 */ lbz r4, 0x3b2(r3)
/* 8011E018 0011AF78 54 80 F7 FF */ rlwinm. r0, r4, 0x1e, 0x1f, 0x1f
/* 8011E01C 0011AF7C 40 82 00 38 */ bne lbl_8011E054
/* 8011E020 0011AF80 39 00 00 01 */ li r8, 1
/* 8011E024 0011AF84 38 00 00 09 */ li r0, 9
/* 8011E028 0011AF88 51 04 3E 30 */ rlwimi r4, r8, 7, 0x18, 0x18
/* 8011E02C 0011AF8C 7D 25 4B 78 */ mr r5, r9
/* 8011E030 0011AF90 98 83 03 B2 */ stb r4, 0x3b2(r3)
/* 8011E034 0011AF94 7C C4 33 78 */ mr r4, r6
/* 8011E038 0011AF98 7C E6 3B 78 */ mr r6, r7
/* 8011E03C 0011AF9C 88 E3 03 B2 */ lbz r7, 0x3b2(r3)
/* 8011E040 0011AFA0 51 07 26 F6 */ rlwimi r7, r8, 4, 0x1b, 0x1b
/* 8011E044 0011AFA4 98 E3 03 B2 */ stb r7, 0x3b2(r3)
/* 8011E048 0011AFA8 90 03 03 34 */ stw r0, 0x334(r3)
/* 8011E04C 0011AFAC 80 63 03 28 */ lwz r3, 0x328(r3)
/* 8011E050 0011AFB0 48 0A EB 71 */ bl EnterFreeLook__14CGunControllerFR13CStateManagerii
lbl_8011E054:
/* 8011E054 0011AFB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011E058 0011AFB8 7C 08 03 A6 */ mtlr r0
/* 8011E05C 0011AFBC 38 21 00 10 */ addi r1, r1, 0x10
/* 8011E060 0011AFC0 4E 80 00 20 */ blr
.global LoadAnimations__11CGrappleArmFv
LoadAnimations__11CGrappleArmFv:
/* 8011E064 0011AFC4 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8011E068 0011AFC8 7C 08 02 A6 */ mflr r0
/* 8011E06C 0011AFCC 38 80 00 00 */ li r4, 0
/* 8011E070 0011AFD0 38 A0 00 2A */ li r5, 0x2a
/* 8011E074 0011AFD4 90 01 00 64 */ stw r0, 0x64(r1)
/* 8011E078 0011AFD8 38 E0 00 01 */ li r7, 1
/* 8011E07C 0011AFDC 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8011E080 0011AFE0 7C 7F 1B 78 */ mr r31, r3
/* 8011E084 0011AFE4 38 DF 01 8C */ addi r6, r31, 0x18c
/* 8011E088 0011AFE8 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8011E08C 0011AFEC 48 16 D1 E1 */ bl "get_token_vector__12NWeaponTypesFRC9CAnimDataiiRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>b"
/* 8011E090 0011AFF0 38 00 00 00 */ li r0, 0
/* 8011E094 0011AFF4 7F E3 FB 78 */ mr r3, r31
/* 8011E098 0011AFF8 98 01 00 54 */ stb r0, 0x54(r1)
/* 8011E09C 0011AFFC 38 81 00 08 */ addi r4, r1, 8
/* 8011E0A0 0011B000 4B FF FC AD */ bl sub_8011dd4c
/* 8011E0A4 0011B004 88 01 00 54 */ lbz r0, 0x54(r1)
/* 8011E0A8 0011B008 28 00 00 00 */ cmplwi r0, 0
/* 8011E0AC 0011B00C 41 82 00 10 */ beq lbl_8011E0BC
/* 8011E0B0 0011B010 38 61 00 08 */ addi r3, r1, 8
/* 8011E0B4 0011B014 38 80 FF FF */ li r4, -1
/* 8011E0B8 0011B018 4B FF 89 95 */ bl __dt__10CModelDataFv
lbl_8011E0BC:
/* 8011E0BC 0011B01C 38 00 00 00 */ li r0, 0
/* 8011E0C0 0011B020 98 01 00 54 */ stb r0, 0x54(r1)
/* 8011E0C4 0011B024 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8011E0C8 0011B028 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8011E0CC 0011B02C 7C 08 03 A6 */ mtlr r0
/* 8011E0D0 0011B030 38 21 00 60 */ addi r1, r1, 0x60
/* 8011E0D4 0011B034 4E 80 00 20 */ blr
.global GrappleBeamDisconnected__11CGrappleArmFv
GrappleBeamDisconnected__11CGrappleArmFv:
/* 8011E0D8 0011B038 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8011E0DC 0011B03C 7C 08 02 A6 */ mflr r0
/* 8011E0E0 0011B040 90 01 00 24 */ stw r0, 0x24(r1)
/* 8011E0E4 0011B044 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8011E0E8 0011B048 7C 7F 1B 78 */ mr r31, r3
/* 8011E0EC 0011B04C 80 03 03 2C */ lwz r0, 0x32c(r3)
/* 8011E0F0 0011B050 28 00 00 00 */ cmplwi r0, 0
/* 8011E0F4 0011B054 41 82 00 1C */ beq lbl_8011E110
/* 8011E0F8 0011B058 80 1F 03 2C */ lwz r0, 0x32c(r31)
/* 8011E0FC 0011B05C 38 61 00 08 */ addi r3, r1, 8
/* 8011E100 0011B060 90 01 00 08 */ stw r0, 8(r1)
/* 8011E104 0011B064 48 1C BC 45 */ bl SfxStop__11CSfxManagerFRC10CSfxHandle
/* 8011E108 0011B068 38 00 00 00 */ li r0, 0
/* 8011E10C 0011B06C 90 1F 03 2C */ stw r0, 0x32c(r31)
lbl_8011E110:
/* 8011E110 0011B070 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8011E114 0011B074 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8011E118 0011B078 7C 08 03 A6 */ mtlr r0
/* 8011E11C 0011B07C 38 21 00 20 */ addi r1, r1, 0x20
/* 8011E120 0011B080 4E 80 00 20 */ blr
.global GrappleBeamConnected__11CGrappleArmFv
GrappleBeamConnected__11CGrappleArmFv:
/* 8011E124 0011B084 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8011E128 0011B088 7C 08 02 A6 */ mflr r0
/* 8011E12C 0011B08C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8011E130 0011B090 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8011E134 0011B094 7C 7F 1B 78 */ mr r31, r3
/* 8011E138 0011B098 80 03 03 2C */ lwz r0, 0x32c(r3)
/* 8011E13C 0011B09C 28 00 00 00 */ cmplwi r0, 0
/* 8011E140 0011B0A0 40 82 00 24 */ bne lbl_8011E164
/* 8011E144 0011B0A4 38 61 00 08 */ addi r3, r1, 8
/* 8011E148 0011B0A8 38 80 05 F7 */ li r4, 0x5f7
/* 8011E14C 0011B0AC 38 A0 00 00 */ li r5, 0
/* 8011E150 0011B0B0 38 C0 00 01 */ li r6, 1
/* 8011E154 0011B0B4 38 E0 00 36 */ li r7, 0x36
/* 8011E158 0011B0B8 48 16 C9 A1 */ bl play_sfx__12NWeaponTypesFUsbbs
/* 8011E15C 0011B0BC 80 01 00 08 */ lwz r0, 8(r1)
/* 8011E160 0011B0C0 90 1F 03 2C */ stw r0, 0x32c(r31)
lbl_8011E164:
/* 8011E164 0011B0C4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8011E168 0011B0C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8011E16C 0011B0CC 7C 08 03 A6 */ mtlr r0
/* 8011E170 0011B0D0 38 21 00 20 */ addi r1, r1, 0x20
/* 8011E174 0011B0D4 4E 80 00 20 */ blr
.global DoUserAnimEvent__11CGrappleArmFR13CStateManagerRC13CInt32POINode14EUserEventType
DoUserAnimEvent__11CGrappleArmFR13CStateManagerRC13CInt32POINode14EUserEventType:
/* 8011E178 0011B0D8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8011E17C 0011B0DC 7C 08 02 A6 */ mflr r0
/* 8011E180 0011B0E0 2C 06 00 06 */ cmpwi r6, 6
/* 8011E184 0011B0E4 90 01 00 34 */ stw r0, 0x34(r1)
/* 8011E188 0011B0E8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8011E18C 0011B0EC 7C 9F 23 78 */ mr r31, r4
/* 8011E190 0011B0F0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8011E194 0011B0F4 7C 7E 1B 78 */ mr r30, r3
/* 8011E198 0011B0F8 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8011E19C 0011B0FC 93 81 00 20 */ stw r28, 0x20(r1)
/* 8011E1A0 0011B100 41 82 01 C0 */ beq lbl_8011E360
/* 8011E1A4 0011B104 40 80 00 10 */ bge lbl_8011E1B4
/* 8011E1A8 0011B108 2C 06 00 00 */ cmpwi r6, 0
/* 8011E1AC 0011B10C 41 82 00 14 */ beq lbl_8011E1C0
/* 8011E1B0 0011B110 48 00 01 B0 */ b lbl_8011E360
lbl_8011E1B4:
/* 8011E1B4 0011B114 2C 06 00 08 */ cmpwi r6, 8
/* 8011E1B8 0011B118 41 82 01 A8 */ beq lbl_8011E360
/* 8011E1BC 0011B11C 48 00 01 A4 */ b lbl_8011E360
lbl_8011E1C0:
/* 8011E1C0 0011B120 88 9E 03 B2 */ lbz r4, 0x3b2(r30)
/* 8011E1C4 0011B124 54 80 E7 FF */ rlwinm. r0, r4, 0x1c, 0x1f, 0x1f
/* 8011E1C8 0011B128 40 82 01 98 */ bne lbl_8011E360
/* 8011E1CC 0011B12C 38 00 00 01 */ li r0, 1
/* 8011E1D0 0011B130 3C 60 80 3D */ lis r3, lbl_803CF360@ha
/* 8011E1D4 0011B134 50 04 36 72 */ rlwimi r4, r0, 6, 0x19, 0x19
/* 8011E1D8 0011B138 3B 80 00 00 */ li r28, 0
/* 8011E1DC 0011B13C 38 63 F3 60 */ addi r3, r3, lbl_803CF360@l
/* 8011E1E0 0011B140 98 9E 03 B2 */ stb r4, 0x3b2(r30)
/* 8011E1E4 0011B144 38 83 00 C4 */ addi r4, r3, 0xc4
/* 8011E1E8 0011B148 38 A0 00 00 */ li r5, 0
/* 8011E1EC 0011B14C 38 60 03 40 */ li r3, 0x340
/* 8011E1F0 0011B150 48 1F 76 7D */ bl __nw__FUlPCcPCc
/* 8011E1F4 0011B154 7C 7D 1B 79 */ or. r29, r3, r3
/* 8011E1F8 0011B158 41 82 00 2C */ beq lbl_8011E224
/* 8011E1FC 0011B15C 38 61 00 14 */ addi r3, r1, 0x14
/* 8011E200 0011B160 38 9E 03 6C */ addi r4, r30, 0x36c
/* 8011E204 0011B164 48 22 2C A5 */ bl __ct__6CTokenFRC6CToken
/* 8011E208 0011B168 7F A3 EB 78 */ mr r3, r29
/* 8011E20C 0011B16C 38 81 00 14 */ addi r4, r1, 0x14
/* 8011E210 0011B170 3B 80 00 01 */ li r28, 1
/* 8011E214 0011B174 38 A0 00 00 */ li r5, 0
/* 8011E218 0011B178 38 C0 00 01 */ li r6, 1
/* 8011E21C 0011B17C 48 20 11 C5 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8011E220 0011B180 7C 7D 1B 78 */ mr r29, r3
lbl_8011E224:
/* 8011E224 0011B184 80 7E 03 98 */ lwz r3, 0x398(r30)
/* 8011E228 0011B188 28 03 00 00 */ cmplwi r3, 0
/* 8011E22C 0011B18C 41 82 00 18 */ beq lbl_8011E244
/* 8011E230 0011B190 81 83 00 00 */ lwz r12, 0(r3)
/* 8011E234 0011B194 38 80 00 01 */ li r4, 1
/* 8011E238 0011B198 81 8C 00 08 */ lwz r12, 8(r12)
/* 8011E23C 0011B19C 7D 89 03 A6 */ mtctr r12
/* 8011E240 0011B1A0 4E 80 04 21 */ bctrl
lbl_8011E244:
/* 8011E244 0011B1A4 7F 80 07 75 */ extsb. r0, r28
/* 8011E248 0011B1A8 93 BE 03 98 */ stw r29, 0x398(r30)
/* 8011E24C 0011B1AC 41 82 00 10 */ beq lbl_8011E25C
/* 8011E250 0011B1B0 38 61 00 14 */ addi r3, r1, 0x14
/* 8011E254 0011B1B4 38 80 00 00 */ li r4, 0
/* 8011E258 0011B1B8 48 22 2B E9 */ bl __dt__6CTokenFv
lbl_8011E25C:
/* 8011E25C 0011B1BC 3C 60 80 3D */ lis r3, lbl_803CF360@ha
/* 8011E260 0011B1C0 3B 80 00 00 */ li r28, 0
/* 8011E264 0011B1C4 38 83 F3 60 */ addi r4, r3, lbl_803CF360@l
/* 8011E268 0011B1C8 38 60 03 40 */ li r3, 0x340
/* 8011E26C 0011B1CC 38 84 00 C4 */ addi r4, r4, 0xc4
/* 8011E270 0011B1D0 38 A0 00 00 */ li r5, 0
/* 8011E274 0011B1D4 48 1F 75 F9 */ bl __nw__FUlPCcPCc
/* 8011E278 0011B1D8 7C 7D 1B 79 */ or. r29, r3, r3
/* 8011E27C 0011B1DC 41 82 00 2C */ beq lbl_8011E2A8
/* 8011E280 0011B1E0 38 61 00 0C */ addi r3, r1, 0xc
/* 8011E284 0011B1E4 38 9E 03 78 */ addi r4, r30, 0x378
/* 8011E288 0011B1E8 48 22 2C 21 */ bl __ct__6CTokenFRC6CToken
/* 8011E28C 0011B1EC 7F A3 EB 78 */ mr r3, r29
/* 8011E290 0011B1F0 38 81 00 0C */ addi r4, r1, 0xc
/* 8011E294 0011B1F4 3B 80 00 01 */ li r28, 1
/* 8011E298 0011B1F8 38 A0 00 00 */ li r5, 0
/* 8011E29C 0011B1FC 38 C0 00 01 */ li r6, 1
/* 8011E2A0 0011B200 48 20 11 41 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8011E2A4 0011B204 7C 7D 1B 78 */ mr r29, r3
lbl_8011E2A8:
/* 8011E2A8 0011B208 80 7E 03 9C */ lwz r3, 0x39c(r30)
/* 8011E2AC 0011B20C 28 03 00 00 */ cmplwi r3, 0
/* 8011E2B0 0011B210 41 82 00 18 */ beq lbl_8011E2C8
/* 8011E2B4 0011B214 81 83 00 00 */ lwz r12, 0(r3)
/* 8011E2B8 0011B218 38 80 00 01 */ li r4, 1
/* 8011E2BC 0011B21C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8011E2C0 0011B220 7D 89 03 A6 */ mtctr r12
/* 8011E2C4 0011B224 4E 80 04 21 */ bctrl
lbl_8011E2C8:
/* 8011E2C8 0011B228 7F 80 07 75 */ extsb. r0, r28
/* 8011E2CC 0011B22C 93 BE 03 9C */ stw r29, 0x39c(r30)
/* 8011E2D0 0011B230 41 82 00 10 */ beq lbl_8011E2E0
/* 8011E2D4 0011B234 38 61 00 0C */ addi r3, r1, 0xc
/* 8011E2D8 0011B238 38 80 00 00 */ li r4, 0
/* 8011E2DC 0011B23C 48 22 2B 65 */ bl __dt__6CTokenFv
lbl_8011E2E0:
/* 8011E2E0 0011B240 C0 02 97 64 */ lfs f0, lbl_805AB484@sda21(r2)
/* 8011E2E4 0011B244 38 80 00 00 */ li r4, 0
/* 8011E2E8 0011B248 D0 1E 03 38 */ stfs f0, 0x338(r30)
/* 8011E2EC 0011B24C D0 1E 03 3C */ stfs f0, 0x33c(r30)
/* 8011E2F0 0011B250 D0 1E 03 40 */ stfs f0, 0x340(r30)
/* 8011E2F4 0011B254 C0 0D 8A 7C */ lfs f0, lbl_805A763C@sda21(r13)
/* 8011E2F8 0011B258 D0 1E 03 44 */ stfs f0, 0x344(r30)
/* 8011E2FC 0011B25C C0 0D 8A 80 */ lfs f0, lbl_805A7640@sda21(r13)
/* 8011E300 0011B260 D0 1E 03 48 */ stfs f0, 0x348(r30)
/* 8011E304 0011B264 80 7E 03 98 */ lwz r3, 0x398(r30)
/* 8011E308 0011B268 81 83 00 00 */ lwz r12, 0(r3)
/* 8011E30C 0011B26C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8011E310 0011B270 7D 89 03 A6 */ mtctr r12
/* 8011E314 0011B274 4E 80 04 21 */ bctrl
/* 8011E318 0011B278 80 7E 03 94 */ lwz r3, 0x394(r30)
/* 8011E31C 0011B27C 38 80 00 01 */ li r4, 1
/* 8011E320 0011B280 81 83 00 00 */ lwz r12, 0(r3)
/* 8011E324 0011B284 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8011E328 0011B288 7D 89 03 A6 */ mtctr r12
/* 8011E32C 0011B28C 4E 80 04 21 */ bctrl
/* 8011E330 0011B290 38 61 00 08 */ addi r3, r1, 8
/* 8011E334 0011B294 38 80 05 F6 */ li r4, 0x5f6
/* 8011E338 0011B298 38 A0 00 00 */ li r5, 0
/* 8011E33C 0011B29C 38 C0 00 00 */ li r6, 0
/* 8011E340 0011B2A0 38 E0 00 36 */ li r7, 0x36
/* 8011E344 0011B2A4 48 16 C7 B5 */ bl play_sfx__12NWeaponTypesFUsbbs
/* 8011E348 0011B2A8 80 7F 08 8C */ lwz r3, 0x88c(r31)
/* 8011E34C 0011B2AC 7F E4 FB 78 */ mr r4, r31
/* 8011E350 0011B2B0 C0 22 97 68 */ lfs f1, lbl_805AB488@sda21(r2)
/* 8011E354 0011B2B4 38 A0 00 0E */ li r5, 0xe
/* 8011E358 0011B2B8 38 C0 00 03 */ li r6, 3
/* 8011E35C 0011B2BC 48 10 FE E9 */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority
lbl_8011E360:
/* 8011E360 0011B2C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8011E364 0011B2C4 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8011E368 0011B2C8 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8011E36C 0011B2CC 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8011E370 0011B2D0 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8011E374 0011B2D4 7C 08 03 A6 */ mtlr r0
/* 8011E378 0011B2D8 38 21 00 30 */ addi r1, r1, 0x30
/* 8011E37C 0011B2DC 4E 80 00 20 */ blr
.global DoUserAnimEvents__11CGrappleArmFR13CStateManager
DoUserAnimEvents__11CGrappleArmFR13CStateManager:
/* 8011E380 0011B2E0 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8011E384 0011B2E4 7C 08 02 A6 */ mflr r0
/* 8011E388 0011B2E8 90 01 00 54 */ stw r0, 0x54(r1)
/* 8011E38C 0011B2EC BF 41 00 38 */ stmw r26, 0x38(r1)
/* 8011E390 0011B2F0 7C 7E 1B 78 */ mr r30, r3
/* 8011E394 0011B2F4 7C 9F 23 78 */ mr r31, r4
/* 8011E398 0011B2F8 80 A4 08 4C */ lwz r5, 0x84c(r4)
/* 8011E39C 0011B2FC 80 64 08 70 */ lwz r3, 0x870(r4)
/* 8011E3A0 0011B300 83 A5 00 04 */ lwz r29, 4(r5)
/* 8011E3A4 0011B304 4B EE D7 75 */ bl GetCurrentCamera__14CCameraManagerCFRC13CStateManager
/* 8011E3A8 0011B308 C0 BE 02 4C */ lfs f5, 0x24c(r30)
/* 8011E3AC 0011B30C 3C 80 80 57 */ lis r4, mSoundPOINodes__9CAnimData@ha
/* 8011E3B0 0011B310 C0 9E 02 3C */ lfs f4, 0x23c(r30)
/* 8011E3B4 0011B314 38 84 C9 EC */ addi r4, r4, mSoundPOINodes__9CAnimData@l
/* 8011E3B8 0011B318 C0 7E 02 2C */ lfs f3, 0x22c(r30)
/* 8011E3BC 0011B31C 3B 84 00 04 */ addi r28, r4, 4
/* 8011E3C0 0011B320 D0 61 00 24 */ stfs f3, 0x24(r1)
/* 8011E3C4 0011B324 D0 81 00 28 */ stfs f4, 0x28(r1)
/* 8011E3C8 0011B328 D0 A1 00 2C */ stfs f5, 0x2c(r1)
/* 8011E3CC 0011B32C C0 43 00 50 */ lfs f2, 0x50(r3)
/* 8011E3D0 0011B330 C0 23 00 60 */ lfs f1, 0x60(r3)
/* 8011E3D4 0011B334 C0 03 00 40 */ lfs f0, 0x40(r3)
/* 8011E3D8 0011B338 EC 42 20 28 */ fsubs f2, f2, f4
/* 8011E3DC 0011B33C EC 21 28 28 */ fsubs f1, f1, f5
/* 8011E3E0 0011B340 EC 00 18 28 */ fsubs f0, f0, f3
/* 8011E3E4 0011B344 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 8011E3E8 0011B348 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8011E3EC 0011B34C D0 21 00 20 */ stfs f1, 0x20(r1)
/* 8011E3F0 0011B350 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8011E3F4 0011B354 83 63 02 18 */ lwz r27, 0x218(r3)
/* 8011E3F8 0011B358 2C 1B 00 00 */ cmpwi r27, 0
/* 8011E3FC 0011B35C 40 81 00 84 */ ble lbl_8011E480
/* 8011E400 0011B360 3B 40 00 00 */ li r26, 0
/* 8011E404 0011B364 48 00 00 74 */ b lbl_8011E478
lbl_8011E408:
/* 8011E408 0011B368 A0 1C 00 18 */ lhz r0, 0x18(r28)
/* 8011E40C 0011B36C 80 9C 00 30 */ lwz r4, 0x30(r28)
/* 8011E410 0011B370 2C 00 00 08 */ cmpwi r0, 8
/* 8011E414 0011B374 40 82 00 5C */ bne lbl_8011E470
/* 8011E418 0011B378 2C 04 FF FF */ cmpwi r4, -1
/* 8011E41C 0011B37C 41 82 00 14 */ beq lbl_8011E430
/* 8011E420 0011B380 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8011E424 0011B384 80 03 02 04 */ lwz r0, 0x204(r3)
/* 8011E428 0011B388 7C 04 00 00 */ cmpw r4, r0
/* 8011E42C 0011B38C 40 82 00 44 */ bne lbl_8011E470
lbl_8011E430:
/* 8011E430 0011B390 38 01 00 24 */ addi r0, r1, 0x24
/* 8011E434 0011B394 89 22 CC 40 */ lbz r9, kMaxVolume__9CAudioSys@sda21(r2)
/* 8011E438 0011B398 90 01 00 08 */ stw r0, 8(r1)
/* 8011E43C 0011B39C 38 7E 03 4C */ addi r3, r30, 0x34c
/* 8011E440 0011B3A0 38 9E 03 AC */ addi r4, r30, 0x3ac
/* 8011E444 0011B3A4 39 41 00 18 */ addi r10, r1, 0x18
/* 8011E448 0011B3A8 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8011E44C 0011B3AC 38 A0 00 00 */ li r5, 0
/* 8011E450 0011B3B0 39 00 00 14 */ li r8, 0x14
/* 8011E454 0011B3B4 93 E1 00 10 */ stw r31, 0x10(r1)
/* 8011E458 0011B3B8 80 DC 00 38 */ lwz r6, 0x38(r28)
/* 8011E45C 0011B3BC C0 3C 00 2C */ lfs f1, 0x2c(r28)
/* 8011E460 0011B3C0 80 FC 00 34 */ lwz r7, 0x34(r28)
/* 8011E464 0011B3C4 C0 5C 00 3C */ lfs f2, 0x3c(r28)
/* 8011E468 0011B3C8 C0 7C 00 40 */ lfs f3, 0x40(r28)
/* 8011E46C 0011B3CC 48 16 C7 1D */ bl "do_sound_event__12NWeaponTypesFRQ24rstl21pair<Us,10CSfxHandle>RibUifUiffUcRC9CVector3fRC9CVector3f7TAreaId"
lbl_8011E470:
/* 8011E470 0011B3D0 3B 9C 00 44 */ addi r28, r28, 0x44
/* 8011E474 0011B3D4 3B 5A 00 01 */ addi r26, r26, 1
lbl_8011E478:
/* 8011E478 0011B3D8 7C 1A D8 00 */ cmpw r26, r27
/* 8011E47C 0011B3DC 41 80 FF 8C */ blt lbl_8011E408
lbl_8011E480:
/* 8011E480 0011B3E0 80 9E 00 10 */ lwz r4, 0x10(r30)
/* 8011E484 0011B3E4 3C 60 80 57 */ lis r3, mInt32POINodes__9CAnimData@ha
/* 8011E488 0011B3E8 38 63 BD F4 */ addi r3, r3, mInt32POINodes__9CAnimData@l
/* 8011E48C 0011B3EC 83 44 02 10 */ lwz r26, 0x210(r4)
/* 8011E490 0011B3F0 3B 83 00 04 */ addi r28, r3, 4
/* 8011E494 0011B3F4 2C 1A 00 00 */ cmpwi r26, 0
/* 8011E498 0011B3F8 40 81 00 B4 */ ble lbl_8011E54C
/* 8011E49C 0011B3FC 3B 60 00 00 */ li r27, 0
/* 8011E4A0 0011B400 48 00 00 A4 */ b lbl_8011E544
lbl_8011E4A4:
/* 8011E4A4 0011B404 A0 1C 00 18 */ lhz r0, 0x18(r28)
/* 8011E4A8 0011B408 2C 00 00 05 */ cmpwi r0, 5
/* 8011E4AC 0011B40C 41 82 00 90 */ beq lbl_8011E53C
/* 8011E4B0 0011B410 40 80 00 10 */ bge lbl_8011E4C0
/* 8011E4B4 0011B414 2C 00 00 04 */ cmpwi r0, 4
/* 8011E4B8 0011B418 40 80 00 28 */ bge lbl_8011E4E0
/* 8011E4BC 0011B41C 48 00 00 80 */ b lbl_8011E53C
lbl_8011E4C0:
/* 8011E4C0 0011B420 2C 00 00 07 */ cmpwi r0, 7
/* 8011E4C4 0011B424 40 80 00 78 */ bge lbl_8011E53C
/* 8011E4C8 0011B428 80 DC 00 38 */ lwz r6, 0x38(r28)
/* 8011E4CC 0011B42C 7F C3 F3 78 */ mr r3, r30
/* 8011E4D0 0011B430 7F E4 FB 78 */ mr r4, r31
/* 8011E4D4 0011B434 7F 85 E3 78 */ mr r5, r28
/* 8011E4D8 0011B438 4B FF FC A1 */ bl DoUserAnimEvent__11CGrappleArmFR13CStateManagerRC13CInt32POINode14EUserEventType
/* 8011E4DC 0011B43C 48 00 00 60 */ b lbl_8011E53C
lbl_8011E4E0:
/* 8011E4E0 0011B440 80 9C 00 30 */ lwz r4, 0x30(r28)
/* 8011E4E4 0011B444 2C 04 FF FF */ cmpwi r4, -1
/* 8011E4E8 0011B448 41 82 00 14 */ beq lbl_8011E4FC
/* 8011E4EC 0011B44C 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8011E4F0 0011B450 80 03 02 04 */ lwz r0, 0x204(r3)
/* 8011E4F4 0011B454 7C 04 00 00 */ cmpw r4, r0
/* 8011E4F8 0011B458 40 82 00 44 */ bne lbl_8011E53C
lbl_8011E4FC:
/* 8011E4FC 0011B45C 38 01 00 24 */ addi r0, r1, 0x24
/* 8011E500 0011B460 C0 42 97 6C */ lfs f2, lbl_805AB48C@sda21(r2)
/* 8011E504 0011B464 90 01 00 08 */ stw r0, 8(r1)
/* 8011E508 0011B468 38 7E 03 4C */ addi r3, r30, 0x34c
/* 8011E50C 0011B46C C0 62 97 70 */ lfs f3, lbl_805AB490@sda21(r2)
/* 8011E510 0011B470 38 9E 03 AC */ addi r4, r30, 0x3ac
/* 8011E514 0011B474 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8011E518 0011B478 39 41 00 18 */ addi r10, r1, 0x18
/* 8011E51C 0011B47C 89 22 CC 40 */ lbz r9, kMaxVolume__9CAudioSys@sda21(r2)
/* 8011E520 0011B480 38 A0 00 00 */ li r5, 0
/* 8011E524 0011B484 93 E1 00 10 */ stw r31, 0x10(r1)
/* 8011E528 0011B488 39 00 00 14 */ li r8, 0x14
/* 8011E52C 0011B48C 80 DC 00 38 */ lwz r6, 0x38(r28)
/* 8011E530 0011B490 C0 3C 00 2C */ lfs f1, 0x2c(r28)
/* 8011E534 0011B494 80 FC 00 34 */ lwz r7, 0x34(r28)
/* 8011E538 0011B498 48 16 C6 51 */ bl "do_sound_event__12NWeaponTypesFRQ24rstl21pair<Us,10CSfxHandle>RibUifUiffUcRC9CVector3fRC9CVector3f7TAreaId"
lbl_8011E53C:
/* 8011E53C 0011B49C 3B 9C 00 4C */ addi r28, r28, 0x4c
/* 8011E540 0011B4A0 3B 7B 00 01 */ addi r27, r27, 1
lbl_8011E544:
/* 8011E544 0011B4A4 7C 1B D0 00 */ cmpw r27, r26
/* 8011E548 0011B4A8 41 80 FF 5C */ blt lbl_8011E4A4
lbl_8011E54C:
/* 8011E54C 0011B4AC BB 41 00 38 */ lmw r26, 0x38(r1)
/* 8011E550 0011B4B0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8011E554 0011B4B4 7C 08 03 A6 */ mtlr r0
/* 8011E558 0011B4B8 38 21 00 50 */ addi r1, r1, 0x50
/* 8011E55C 0011B4BC 4E 80 00 20 */ blr
.global SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState
SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState:
/* 8011E560 0011B4C0 94 21 FE F0 */ stwu r1, -0x110(r1)
/* 8011E564 0011B4C4 7C 08 02 A6 */ mflr r0
/* 8011E568 0011B4C8 90 01 01 14 */ stw r0, 0x114(r1)
/* 8011E56C 0011B4CC 93 E1 01 0C */ stw r31, 0x10c(r1)
/* 8011E570 0011B4D0 93 C1 01 08 */ stw r30, 0x108(r1)
/* 8011E574 0011B4D4 7C 9E 23 78 */ mr r30, r4
/* 8011E578 0011B4D8 93 A1 01 04 */ stw r29, 0x104(r1)
/* 8011E57C 0011B4DC 7C 7D 1B 78 */ mr r29, r3
/* 8011E580 0011B4E0 80 03 03 34 */ lwz r0, 0x334(r3)
/* 8011E584 0011B4E4 7C 00 F0 00 */ cmpw r0, r30
/* 8011E588 0011B4E8 41 82 02 5C */ beq lbl_8011E7E4
/* 8011E58C 0011B4EC 83 FD 00 10 */ lwz r31, 0x10(r29)
/* 8011E590 0011B4F0 39 00 00 00 */ li r8, 0
/* 8011E594 0011B4F4 38 E0 00 01 */ li r7, 1
/* 8011E598 0011B4F8 28 1E 00 0A */ cmplwi r30, 0xa
/* 8011E59C 0011B4FC 88 1F 02 20 */ lbz r0, 0x220(r31)
/* 8011E5A0 0011B500 51 00 36 72 */ rlwimi r0, r8, 6, 0x19, 0x19
/* 8011E5A4 0011B504 98 1F 02 20 */ stb r0, 0x220(r31)
/* 8011E5A8 0011B508 88 1F 02 20 */ lbz r0, 0x220(r31)
/* 8011E5AC 0011B50C 50 E0 3E 30 */ rlwimi r0, r7, 7, 0x18, 0x18
/* 8011E5B0 0011B510 98 1F 02 20 */ stb r0, 0x220(r31)
/* 8011E5B4 0011B514 88 1D 03 B2 */ lbz r0, 0x3b2(r29)
/* 8011E5B8 0011B518 50 E0 1F 38 */ rlwimi r0, r7, 3, 0x1c, 0x1c
/* 8011E5BC 0011B51C 98 1D 03 B2 */ stb r0, 0x3b2(r29)
/* 8011E5C0 0011B520 41 81 02 20 */ bgt lbl_8011E7E0
/* 8011E5C4 0011B524 3C 80 80 3E */ lis r4, lbl_803E06B0@ha
/* 8011E5C8 0011B528 57 C0 10 3A */ slwi r0, r30, 2
/* 8011E5CC 0011B52C 38 84 06 B0 */ addi r4, r4, lbl_803E06B0@l
/* 8011E5D0 0011B530 7C 04 00 2E */ lwzx r0, r4, r0
/* 8011E5D4 0011B534 7C 09 03 A6 */ mtctr r0
/* 8011E5D8 0011B538 4E 80 04 20 */ bctr
.global lbl_8011E5DC
lbl_8011E5DC:
/* 8011E5DC 0011B53C 38 80 00 01 */ li r4, 1
/* 8011E5E0 0011B540 4B FF F7 D5 */ bl ResetAuxParams__11CGrappleArmFb
/* 8011E5E4 0011B544 C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
/* 8011E5E8 0011B548 38 E0 00 00 */ li r7, 0
/* 8011E5EC 0011B54C 38 C0 FF FF */ li r6, -1
/* 8011E5F0 0011B550 38 00 00 01 */ li r0, 1
/* 8011E5F4 0011B554 90 E1 00 D0 */ stw r7, 0xd0(r1)
/* 8011E5F8 0011B558 7F E3 FB 78 */ mr r3, r31
/* 8011E5FC 0011B55C 38 81 00 D0 */ addi r4, r1, 0xd0
/* 8011E600 0011B560 38 A0 00 00 */ li r5, 0
/* 8011E604 0011B564 90 C1 00 D4 */ stw r6, 0xd4(r1)
/* 8011E608 0011B568 D0 01 00 D8 */ stfs f0, 0xd8(r1)
/* 8011E60C 0011B56C 98 01 00 DC */ stb r0, 0xdc(r1)
/* 8011E610 0011B570 90 E1 00 E0 */ stw r7, 0xe0(r1)
/* 8011E614 0011B574 90 E1 00 E4 */ stw r7, 0xe4(r1)
/* 8011E618 0011B578 98 E1 00 E8 */ stb r7, 0xe8(r1)
/* 8011E61C 0011B57C 90 E1 00 EC */ stw r7, 0xec(r1)
/* 8011E620 0011B580 90 E1 00 F0 */ stw r7, 0xf0(r1)
/* 8011E624 0011B584 90 E1 00 F4 */ stw r7, 0xf4(r1)
/* 8011E628 0011B588 4B F0 E7 55 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8011E62C 0011B58C 88 1D 03 B2 */ lbz r0, 0x3b2(r29)
/* 8011E630 0011B590 38 60 00 00 */ li r3, 0
/* 8011E634 0011B594 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8011E638 0011B598 38 60 00 01 */ li r3, 1
/* 8011E63C 0011B59C 98 1D 03 B2 */ stb r0, 0x3b2(r29)
/* 8011E640 0011B5A0 88 1D 03 B2 */ lbz r0, 0x3b2(r29)
/* 8011E644 0011B5A4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8011E648 0011B5A8 98 1D 03 B2 */ stb r0, 0x3b2(r29)
/* 8011E64C 0011B5AC 48 00 01 94 */ b lbl_8011E7E0
.global lbl_8011E650
lbl_8011E650:
/* 8011E650 0011B5B0 88 7F 02 20 */ lbz r3, 0x220(r31)
/* 8011E654 0011B5B4 50 E3 36 72 */ rlwimi r3, r7, 6, 0x19, 0x19
/* 8011E658 0011B5B8 C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
/* 8011E65C 0011B5BC 38 00 FF FF */ li r0, -1
/* 8011E660 0011B5C0 98 7F 02 20 */ stb r3, 0x220(r31)
/* 8011E664 0011B5C4 7F E3 FB 78 */ mr r3, r31
/* 8011E668 0011B5C8 38 81 00 A8 */ addi r4, r1, 0xa8
/* 8011E66C 0011B5CC 38 A0 00 00 */ li r5, 0
/* 8011E670 0011B5D0 88 DF 02 20 */ lbz r6, 0x220(r31)
/* 8011E674 0011B5D4 50 E6 3E 30 */ rlwimi r6, r7, 7, 0x18, 0x18
/* 8011E678 0011B5D8 98 DF 02 20 */ stb r6, 0x220(r31)
/* 8011E67C 0011B5DC 90 E1 00 A8 */ stw r7, 0xa8(r1)
/* 8011E680 0011B5E0 90 01 00 AC */ stw r0, 0xac(r1)
/* 8011E684 0011B5E4 D0 01 00 B0 */ stfs f0, 0xb0(r1)
/* 8011E688 0011B5E8 98 E1 00 B4 */ stb r7, 0xb4(r1)
/* 8011E68C 0011B5EC 91 01 00 B8 */ stw r8, 0xb8(r1)
/* 8011E690 0011B5F0 91 01 00 BC */ stw r8, 0xbc(r1)
/* 8011E694 0011B5F4 99 01 00 C0 */ stb r8, 0xc0(r1)
/* 8011E698 0011B5F8 91 01 00 C4 */ stw r8, 0xc4(r1)
/* 8011E69C 0011B5FC 91 01 00 C8 */ stw r8, 0xc8(r1)
/* 8011E6A0 0011B600 91 01 00 CC */ stw r8, 0xcc(r1)
/* 8011E6A4 0011B604 4B F0 E6 D9 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8011E6A8 0011B608 48 00 01 38 */ b lbl_8011E7E0
.global lbl_8011E6AC
lbl_8011E6AC:
/* 8011E6AC 0011B60C C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
/* 8011E6B0 0011B610 38 60 00 02 */ li r3, 2
/* 8011E6B4 0011B614 38 00 FF FF */ li r0, -1
/* 8011E6B8 0011B618 90 61 00 80 */ stw r3, 0x80(r1)
/* 8011E6BC 0011B61C 7F E3 FB 78 */ mr r3, r31
/* 8011E6C0 0011B620 38 81 00 80 */ addi r4, r1, 0x80
/* 8011E6C4 0011B624 90 01 00 84 */ stw r0, 0x84(r1)
/* 8011E6C8 0011B628 38 A0 00 00 */ li r5, 0
/* 8011E6CC 0011B62C D0 01 00 88 */ stfs f0, 0x88(r1)
/* 8011E6D0 0011B630 98 E1 00 8C */ stb r7, 0x8c(r1)
/* 8011E6D4 0011B634 91 01 00 90 */ stw r8, 0x90(r1)
/* 8011E6D8 0011B638 91 01 00 94 */ stw r8, 0x94(r1)
/* 8011E6DC 0011B63C 99 01 00 98 */ stb r8, 0x98(r1)
/* 8011E6E0 0011B640 91 01 00 9C */ stw r8, 0x9c(r1)
/* 8011E6E4 0011B644 91 01 00 A0 */ stw r8, 0xa0(r1)
/* 8011E6E8 0011B648 91 01 00 A4 */ stw r8, 0xa4(r1)
/* 8011E6EC 0011B64C 4B F0 E6 91 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8011E6F0 0011B650 48 00 00 F0 */ b lbl_8011E7E0
.global lbl_8011E6F4
lbl_8011E6F4:
/* 8011E6F4 0011B654 C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
/* 8011E6F8 0011B658 38 60 00 03 */ li r3, 3
/* 8011E6FC 0011B65C 38 00 FF FF */ li r0, -1
/* 8011E700 0011B660 90 61 00 58 */ stw r3, 0x58(r1)
/* 8011E704 0011B664 7F E3 FB 78 */ mr r3, r31
/* 8011E708 0011B668 38 81 00 58 */ addi r4, r1, 0x58
/* 8011E70C 0011B66C 90 01 00 5C */ stw r0, 0x5c(r1)
/* 8011E710 0011B670 38 A0 00 00 */ li r5, 0
/* 8011E714 0011B674 D0 01 00 60 */ stfs f0, 0x60(r1)
/* 8011E718 0011B678 98 E1 00 64 */ stb r7, 0x64(r1)
/* 8011E71C 0011B67C 91 01 00 68 */ stw r8, 0x68(r1)
/* 8011E720 0011B680 91 01 00 6C */ stw r8, 0x6c(r1)
/* 8011E724 0011B684 99 01 00 70 */ stb r8, 0x70(r1)
/* 8011E728 0011B688 91 01 00 74 */ stw r8, 0x74(r1)
/* 8011E72C 0011B68C 91 01 00 78 */ stw r8, 0x78(r1)
/* 8011E730 0011B690 91 01 00 7C */ stw r8, 0x7c(r1)
/* 8011E734 0011B694 4B F0 E6 49 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8011E738 0011B698 48 00 00 A8 */ b lbl_8011E7E0
.global lbl_8011E73C
lbl_8011E73C:
/* 8011E73C 0011B69C C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
/* 8011E740 0011B6A0 38 60 00 03 */ li r3, 3
/* 8011E744 0011B6A4 38 00 FF FF */ li r0, -1
/* 8011E748 0011B6A8 90 61 00 30 */ stw r3, 0x30(r1)
/* 8011E74C 0011B6AC 7F E3 FB 78 */ mr r3, r31
/* 8011E750 0011B6B0 38 81 00 30 */ addi r4, r1, 0x30
/* 8011E754 0011B6B4 90 01 00 34 */ stw r0, 0x34(r1)
/* 8011E758 0011B6B8 38 A0 00 00 */ li r5, 0
/* 8011E75C 0011B6BC D0 01 00 38 */ stfs f0, 0x38(r1)
/* 8011E760 0011B6C0 98 E1 00 3C */ stb r7, 0x3c(r1)
/* 8011E764 0011B6C4 91 01 00 40 */ stw r8, 0x40(r1)
/* 8011E768 0011B6C8 91 01 00 44 */ stw r8, 0x44(r1)
/* 8011E76C 0011B6CC 99 01 00 48 */ stb r8, 0x48(r1)
/* 8011E770 0011B6D0 91 01 00 4C */ stw r8, 0x4c(r1)
/* 8011E774 0011B6D4 91 01 00 50 */ stw r8, 0x50(r1)
/* 8011E778 0011B6D8 91 01 00 54 */ stw r8, 0x54(r1)
/* 8011E77C 0011B6DC 4B F0 E6 01 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8011E780 0011B6E0 48 00 00 60 */ b lbl_8011E7E0
.global lbl_8011E784
lbl_8011E784:
/* 8011E784 0011B6E4 C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
/* 8011E788 0011B6E8 38 60 00 04 */ li r3, 4
/* 8011E78C 0011B6EC 38 00 FF FF */ li r0, -1
/* 8011E790 0011B6F0 90 61 00 08 */ stw r3, 8(r1)
/* 8011E794 0011B6F4 7F E3 FB 78 */ mr r3, r31
/* 8011E798 0011B6F8 38 81 00 08 */ addi r4, r1, 8
/* 8011E79C 0011B6FC 90 01 00 0C */ stw r0, 0xc(r1)
/* 8011E7A0 0011B700 38 A0 00 00 */ li r5, 0
/* 8011E7A4 0011B704 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8011E7A8 0011B708 98 E1 00 14 */ stb r7, 0x14(r1)
/* 8011E7AC 0011B70C 91 01 00 18 */ stw r8, 0x18(r1)
/* 8011E7B0 0011B710 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8011E7B4 0011B714 99 01 00 20 */ stb r8, 0x20(r1)
/* 8011E7B8 0011B718 91 01 00 24 */ stw r8, 0x24(r1)
/* 8011E7BC 0011B71C 91 01 00 28 */ stw r8, 0x28(r1)
/* 8011E7C0 0011B720 91 01 00 2C */ stw r8, 0x2c(r1)
/* 8011E7C4 0011B724 4B F0 E5 B9 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8011E7C8 0011B728 7F A3 EB 78 */ mr r3, r29
/* 8011E7CC 0011B72C 4B FF EC E9 */ bl DisconnectGrappleBeam__11CGrappleArmFv
/* 8011E7D0 0011B730 48 00 00 10 */ b lbl_8011E7E0
.global lbl_8011E7D4
lbl_8011E7D4:
/* 8011E7D4 0011B734 88 1D 03 B2 */ lbz r0, 0x3b2(r29)
/* 8011E7D8 0011B738 51 00 1F 38 */ rlwimi r0, r8, 3, 0x1c, 0x1c
/* 8011E7DC 0011B73C 98 1D 03 B2 */ stb r0, 0x3b2(r29)
.global lbl_8011E7E0
lbl_8011E7E0:
/* 8011E7E0 0011B740 93 DD 03 34 */ stw r30, 0x334(r29)
lbl_8011E7E4:
/* 8011E7E4 0011B744 80 01 01 14 */ lwz r0, 0x114(r1)
/* 8011E7E8 0011B748 83 E1 01 0C */ lwz r31, 0x10c(r1)
/* 8011E7EC 0011B74C 83 C1 01 08 */ lwz r30, 0x108(r1)
/* 8011E7F0 0011B750 83 A1 01 04 */ lwz r29, 0x104(r1)
/* 8011E7F4 0011B754 7C 08 03 A6 */ mtlr r0
/* 8011E7F8 0011B758 38 21 01 10 */ addi r1, r1, 0x110
/* 8011E7FC 0011B75C 4E 80 00 20 */ blr
.global Activate__11CGrappleArmFb
Activate__11CGrappleArmFb:
/* 8011E800 0011B760 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011E804 0011B764 7C 08 02 A6 */ mflr r0
/* 8011E808 0011B768 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011E80C 0011B76C 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8011E810 0011B770 38 80 00 08 */ li r4, 8
/* 8011E814 0011B774 41 82 00 08 */ beq lbl_8011E81C
/* 8011E818 0011B778 38 80 00 00 */ li r4, 0
lbl_8011E81C:
/* 8011E81C 0011B77C 4B FF FD 45 */ bl SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState
/* 8011E820 0011B780 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011E824 0011B784 7C 08 03 A6 */ mtlr r0
/* 8011E828 0011B788 38 21 00 10 */ addi r1, r1, 0x10
/* 8011E82C 0011B78C 4E 80 00 20 */ blr
.global UpdateGrappleBeamFX__11CGrappleArmFRC9CVector3fRC9CVector3fR13CStateManager
UpdateGrappleBeamFX__11CGrappleArmFRC9CVector3fRC9CVector3fR13CStateManager:
/* 8011E830 0011B790 94 21 FE B0 */ stwu r1, -0x150(r1)
/* 8011E834 0011B794 7C 08 02 A6 */ mflr r0
/* 8011E838 0011B798 90 01 01 54 */ stw r0, 0x154(r1)
/* 8011E83C 0011B79C DB E1 01 40 */ stfd f31, 0x140(r1)
/* 8011E840 0011B7A0 F3 E1 01 48 */ psq_st f31, 328(r1), 0, qr0
/* 8011E844 0011B7A4 DB C1 01 30 */ stfd f30, 0x130(r1)
/* 8011E848 0011B7A8 F3 C1 01 38 */ psq_st f30, 312(r1), 0, qr0
/* 8011E84C 0011B7AC DB A1 01 20 */ stfd f29, 0x120(r1)
/* 8011E850 0011B7B0 F3 A1 01 28 */ psq_st f29, 296(r1), 0, qr0
/* 8011E854 0011B7B4 DB 81 01 10 */ stfd f28, 0x110(r1)
/* 8011E858 0011B7B8 F3 81 01 18 */ psq_st f28, 280(r1), 0, qr0
/* 8011E85C 0011B7BC DB 61 01 00 */ stfd f27, 0x100(r1)
/* 8011E860 0011B7C0 F3 61 01 08 */ psq_st f27, 264(r1), 0, qr0
/* 8011E864 0011B7C4 DB 41 00 F0 */ stfd f26, 0xf0(r1)
/* 8011E868 0011B7C8 F3 41 00 F8 */ psq_st f26, 248(r1), 0, qr0
/* 8011E86C 0011B7CC DB 21 00 E0 */ stfd f25, 0xe0(r1)
/* 8011E870 0011B7D0 F3 21 00 E8 */ psq_st f25, 232(r1), 0, qr0
/* 8011E874 0011B7D4 DB 01 00 D0 */ stfd f24, 0xd0(r1)
/* 8011E878 0011B7D8 F3 01 00 D8 */ psq_st f24, 216(r1), 0, qr0
/* 8011E87C 0011B7DC DA E1 00 C0 */ stfd f23, 0xc0(r1)
/* 8011E880 0011B7E0 F2 E1 00 C8 */ psq_st f23, 200(r1), 0, qr0
/* 8011E884 0011B7E4 DA C1 00 B0 */ stfd f22, 0xb0(r1)
/* 8011E888 0011B7E8 F2 C1 00 B8 */ psq_st f22, 184(r1), 0, qr0
/* 8011E88C 0011B7EC BF 21 00 94 */ stmw r25, 0x94(r1)
/* 8011E890 0011B7F0 7C 7B 1B 78 */ mr r27, r3
/* 8011E894 0011B7F4 7C B9 2B 78 */ mr r25, r5
/* 8011E898 0011B7F8 80 63 03 94 */ lwz r3, 0x394(r3)
/* 8011E89C 0011B7FC 7C 9C 23 78 */ mr r28, r4
/* 8011E8A0 0011B800 7F 24 CB 78 */ mr r4, r25
/* 8011E8A4 0011B804 81 83 00 00 */ lwz r12, 0(r3)
/* 8011E8A8 0011B808 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8011E8AC 0011B80C 7D 89 03 A6 */ mtctr r12
/* 8011E8B0 0011B810 4E 80 04 21 */ bctrl
/* 8011E8B4 0011B814 80 7B 03 90 */ lwz r3, 0x390(r27)
/* 8011E8B8 0011B818 38 80 00 01 */ li r4, 1
/* 8011E8BC 0011B81C 81 83 00 00 */ lwz r12, 0(r3)
/* 8011E8C0 0011B820 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8011E8C4 0011B824 7D 89 03 A6 */ mtctr r12
/* 8011E8C8 0011B828 4E 80 04 21 */ bctrl
/* 8011E8CC 0011B82C C0 39 00 04 */ lfs f1, 4(r25)
/* 8011E8D0 0011B830 38 61 00 44 */ addi r3, r1, 0x44
/* 8011E8D4 0011B834 C0 1C 00 04 */ lfs f0, 4(r28)
/* 8011E8D8 0011B838 C0 79 00 08 */ lfs f3, 8(r25)
/* 8011E8DC 0011B83C C0 5C 00 08 */ lfs f2, 8(r28)
/* 8011E8E0 0011B840 EC 81 00 28 */ fsubs f4, f1, f0
/* 8011E8E4 0011B844 C0 39 00 00 */ lfs f1, 0(r25)
/* 8011E8E8 0011B848 C0 1C 00 00 */ lfs f0, 0(r28)
/* 8011E8EC 0011B84C EC 43 10 28 */ fsubs f2, f3, f2
/* 8011E8F0 0011B850 D0 81 00 48 */ stfs f4, 0x48(r1)
/* 8011E8F4 0011B854 EC 01 00 28 */ fsubs f0, f1, f0
/* 8011E8F8 0011B858 D0 41 00 4C */ stfs f2, 0x4c(r1)
/* 8011E8FC 0011B85C D0 01 00 44 */ stfs f0, 0x44(r1)
/* 8011E900 0011B860 48 1F 5F B9 */ bl Magnitude__9CVector3fCFv
/* 8011E904 0011B864 C0 02 97 74 */ lfs f0, lbl_805AB494@sda21(r2)
/* 8011E908 0011B868 3C 00 43 30 */ lis r0, 0x4330
/* 8011E90C 0011B86C C0 C2 97 68 */ lfs f6, lbl_805AB488@sda21(r2)
/* 8011E910 0011B870 38 61 00 50 */ addi r3, r1, 0x50
/* 8011E914 0011B874 90 01 00 88 */ stw r0, 0x88(r1)
/* 8011E918 0011B878 38 9B 02 20 */ addi r4, r27, 0x220
/* 8011E91C 0011B87C EC 00 30 7A */ fmadds f0, f0, f1, f6
/* 8011E920 0011B880 C8 82 97 80 */ lfd f4, lbl_805AB4A0@sda21(r2)
/* 8011E924 0011B884 C0 61 00 44 */ lfs f3, 0x44(r1)
/* 8011E928 0011B888 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 8011E92C 0011B88C FC A0 00 1E */ fctiwz f5, f0
/* 8011E930 0011B890 C0 21 00 4C */ lfs f1, 0x4c(r1)
/* 8011E934 0011B894 C3 C1 00 44 */ lfs f30, 0x44(r1)
/* 8011E938 0011B898 C0 02 97 78 */ lfs f0, lbl_805AB498@sda21(r2)
/* 8011E93C 0011B89C D8 A1 00 80 */ stfd f5, 0x80(r1)
/* 8011E940 0011B8A0 C3 A1 00 48 */ lfs f29, 0x48(r1)
/* 8011E944 0011B8A4 EF DE 00 32 */ fmuls f30, f30, f0
/* 8011E948 0011B8A8 83 41 00 84 */ lwz r26, 0x84(r1)
/* 8011E94C 0011B8AC C3 81 00 4C */ lfs f28, 0x4c(r1)
/* 8011E950 0011B8B0 EF BD 00 32 */ fmuls f29, f29, f0
/* 8011E954 0011B8B4 6F 40 80 00 */ xoris r0, r26, 0x8000
/* 8011E958 0011B8B8 C3 7C 00 00 */ lfs f27, 0(r28)
/* 8011E95C 0011B8BC 90 01 00 8C */ stw r0, 0x8c(r1)
/* 8011E960 0011B8C0 EF 9C 00 32 */ fmuls f28, f28, f0
/* 8011E964 0011B8C4 C3 5C 00 04 */ lfs f26, 4(r28)
/* 8011E968 0011B8C8 C8 01 00 88 */ lfd f0, 0x88(r1)
/* 8011E96C 0011B8CC C3 3C 00 08 */ lfs f25, 8(r28)
/* 8011E970 0011B8D0 EC 00 20 28 */ fsubs f0, f0, f4
/* 8011E974 0011B8D4 EC 06 00 24 */ fdivs f0, f6, f0
/* 8011E978 0011B8D8 EC 63 00 32 */ fmuls f3, f3, f0
/* 8011E97C 0011B8DC EC 42 00 32 */ fmuls f2, f2, f0
/* 8011E980 0011B8E0 EC 01 00 32 */ fmuls f0, f1, f0
/* 8011E984 0011B8E4 D0 61 00 44 */ stfs f3, 0x44(r1)
/* 8011E988 0011B8E8 D0 41 00 48 */ stfs f2, 0x48(r1)
/* 8011E98C 0011B8EC D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 8011E990 0011B8F0 48 1F 42 B1 */ bl GetRotation__12CTransform4fCFv
/* 8011E994 0011B8F4 CB E2 97 80 */ lfd f31, lbl_805AB4A0@sda21(r2)
/* 8011E998 0011B8F8 3B C1 00 50 */ addi r30, r1, 0x50
/* 8011E99C 0011B8FC 3B A0 00 00 */ li r29, 0
/* 8011E9A0 0011B900 3F 20 43 30 */ lis r25, 0x4330
/* 8011E9A4 0011B904 48 00 00 D8 */ b lbl_8011EA7C
lbl_8011E9A8:
/* 8011E9A8 0011B908 6F A0 80 00 */ xoris r0, r29, 0x8000
/* 8011E9AC 0011B90C 93 21 00 88 */ stw r25, 0x88(r1)
/* 8011E9B0 0011B910 C0 1B 03 40 */ lfs f0, 0x340(r27)
/* 8011E9B4 0011B914 90 01 00 8C */ stw r0, 0x8c(r1)
/* 8011E9B8 0011B918 C8 21 00 88 */ lfd f1, 0x88(r1)
/* 8011E9BC 0011B91C EF 01 F8 28 */ fsubs f24, f1, f31
/* 8011E9C0 0011B920 EC 38 00 2A */ fadds f1, f24, f0
/* 8011E9C4 0011B924 48 1F 63 81 */ bl FastCosR__5CMathFf
/* 8011E9C8 0011B928 C0 1B 03 44 */ lfs f0, 0x344(r27)
/* 8011E9CC 0011B92C EE E0 00 72 */ fmuls f23, f0, f1
/* 8011E9D0 0011B930 FC 20 C0 90 */ fmr f1, f24
/* 8011E9D4 0011B934 48 1F 64 1D */ bl FastSinR__5CMathFf
/* 8011E9D8 0011B938 C0 1B 03 48 */ lfs f0, 0x348(r27)
/* 8011E9DC 0011B93C 2C 1D 00 00 */ cmpwi r29, 0
/* 8011E9E0 0011B940 EC 20 00 72 */ fmuls f1, f0, f1
/* 8011E9E4 0011B944 40 81 00 2C */ ble lbl_8011EA10
/* 8011E9E8 0011B948 C0 02 97 64 */ lfs f0, lbl_805AB484@sda21(r2)
/* 8011E9EC 0011B94C 7F C4 F3 78 */ mr r4, r30
/* 8011E9F0 0011B950 D2 E1 00 2C */ stfs f23, 0x2c(r1)
/* 8011E9F4 0011B954 38 61 00 20 */ addi r3, r1, 0x20
/* 8011E9F8 0011B958 38 A1 00 2C */ addi r5, r1, 0x2c
/* 8011E9FC 0011B95C D0 01 00 30 */ stfs f0, 0x30(r1)
/* 8011EA00 0011B960 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 8011EA04 0011B964 48 1F 40 E5 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 8011EA08 0011B968 38 61 00 20 */ addi r3, r1, 0x20
/* 8011EA0C 0011B96C 48 00 00 0C */ b lbl_8011EA18
lbl_8011EA10:
/* 8011EA10 0011B970 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 8011EA14 0011B974 38 63 66 A0 */ addi r3, r3, sZeroVector__9CVector3f@l
lbl_8011EA18:
/* 8011EA18 0011B978 C0 43 00 04 */ lfs f2, 4(r3)
/* 8011EA1C 0011B97C 38 81 00 38 */ addi r4, r1, 0x38
/* 8011EA20 0011B980 C0 23 00 08 */ lfs f1, 8(r3)
/* 8011EA24 0011B984 C0 03 00 00 */ lfs f0, 0(r3)
/* 8011EA28 0011B988 EC 5A 10 2A */ fadds f2, f26, f2
/* 8011EA2C 0011B98C EC 39 08 2A */ fadds f1, f25, f1
/* 8011EA30 0011B990 EC 1B 00 2A */ fadds f0, f27, f0
/* 8011EA34 0011B994 D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 8011EA38 0011B998 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 8011EA3C 0011B99C D0 21 00 40 */ stfs f1, 0x40(r1)
/* 8011EA40 0011B9A0 80 7B 03 90 */ lwz r3, 0x390(r27)
/* 8011EA44 0011B9A4 81 83 00 00 */ lwz r12, 0(r3)
/* 8011EA48 0011B9A8 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8011EA4C 0011B9AC 7D 89 03 A6 */ mtctr r12
/* 8011EA50 0011B9B0 4E 80 04 21 */ bctrl
/* 8011EA54 0011B9B4 80 7B 03 90 */ lwz r3, 0x390(r27)
/* 8011EA58 0011B9B8 38 80 00 01 */ li r4, 1
/* 8011EA5C 0011B9BC 48 1F DE 65 */ bl ForceParticleCreation__11CElementGenFi
/* 8011EA60 0011B9C0 C0 41 00 44 */ lfs f2, 0x44(r1)
/* 8011EA64 0011B9C4 3B BD 00 01 */ addi r29, r29, 1
/* 8011EA68 0011B9C8 C0 21 00 48 */ lfs f1, 0x48(r1)
/* 8011EA6C 0011B9CC C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 8011EA70 0011B9D0 EF 7B 10 2A */ fadds f27, f27, f2
/* 8011EA74 0011B9D4 EF 5A 08 2A */ fadds f26, f26, f1
/* 8011EA78 0011B9D8 EF 39 00 2A */ fadds f25, f25, f0
lbl_8011EA7C:
/* 8011EA7C 0011B9DC 7C 1D D0 00 */ cmpw r29, r26
/* 8011EA80 0011B9E0 41 80 FF 28 */ blt lbl_8011E9A8
/* 8011EA84 0011B9E4 80 7B 03 90 */ lwz r3, 0x390(r27)
/* 8011EA88 0011B9E8 38 80 00 00 */ li r4, 0
/* 8011EA8C 0011B9EC 81 83 00 00 */ lwz r12, 0(r3)
/* 8011EA90 0011B9F0 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8011EA94 0011B9F4 7D 89 03 A6 */ mtctr r12
/* 8011EA98 0011B9F8 4E 80 04 21 */ bctrl
/* 8011EA9C 0011B9FC 83 3B 03 A0 */ lwz r25, 0x3a0(r27)
/* 8011EAA0 0011BA00 3B A0 00 00 */ li r29, 0
/* 8011EAA4 0011BA04 C3 3C 00 00 */ lfs f25, 0(r28)
/* 8011EAA8 0011BA08 3B E0 00 00 */ li r31, 0
/* 8011EAAC 0011BA0C 80 79 01 60 */ lwz r3, 0x160(r25)
/* 8011EAB0 0011BA10 3F 40 43 30 */ lis r26, 0x4330
/* 8011EAB4 0011BA14 80 99 01 68 */ lwz r4, 0x168(r25)
/* 8011EAB8 0011BA18 38 03 FF FF */ addi r0, r3, -1
/* 8011EABC 0011BA1C C3 5C 00 04 */ lfs f26, 4(r28)
/* 8011EAC0 0011BA20 54 03 38 30 */ slwi r3, r0, 7
/* 8011EAC4 0011BA24 C3 7C 00 08 */ lfs f27, 8(r28)
/* 8011EAC8 0011BA28 38 03 00 30 */ addi r0, r3, 0x30
/* 8011EACC 0011BA2C CB 02 97 80 */ lfd f24, lbl_805AB4A0@sda21(r2)
/* 8011EAD0 0011BA30 7F E4 04 2E */ lfsx f31, r4, r0
/* 8011EAD4 0011BA34 48 00 00 C0 */ b lbl_8011EB94
lbl_8011EAD8:
/* 8011EAD8 0011BA38 6F A0 80 00 */ xoris r0, r29, 0x8000
/* 8011EADC 0011BA3C 93 41 00 88 */ stw r26, 0x88(r1)
/* 8011EAE0 0011BA40 C0 1B 03 40 */ lfs f0, 0x340(r27)
/* 8011EAE4 0011BA44 90 01 00 8C */ stw r0, 0x8c(r1)
/* 8011EAE8 0011BA48 C8 21 00 88 */ lfd f1, 0x88(r1)
/* 8011EAEC 0011BA4C EE E1 C0 28 */ fsubs f23, f1, f24
/* 8011EAF0 0011BA50 EC 37 00 2A */ fadds f1, f23, f0
/* 8011EAF4 0011BA54 48 1F 62 51 */ bl FastCosR__5CMathFf
/* 8011EAF8 0011BA58 C0 1B 03 44 */ lfs f0, 0x344(r27)
/* 8011EAFC 0011BA5C EE C0 00 72 */ fmuls f22, f0, f1
/* 8011EB00 0011BA60 FC 20 B8 90 */ fmr f1, f23
/* 8011EB04 0011BA64 48 1F 62 ED */ bl FastSinR__5CMathFf
/* 8011EB08 0011BA68 C0 1B 03 48 */ lfs f0, 0x348(r27)
/* 8011EB0C 0011BA6C 2C 1D 00 00 */ cmpwi r29, 0
/* 8011EB10 0011BA70 EC 20 00 72 */ fmuls f1, f0, f1
/* 8011EB14 0011BA74 40 81 00 2C */ ble lbl_8011EB40
/* 8011EB18 0011BA78 C0 02 97 64 */ lfs f0, lbl_805AB484@sda21(r2)
/* 8011EB1C 0011BA7C 7F C4 F3 78 */ mr r4, r30
/* 8011EB20 0011BA80 D2 C1 00 14 */ stfs f22, 0x14(r1)
/* 8011EB24 0011BA84 38 61 00 08 */ addi r3, r1, 8
/* 8011EB28 0011BA88 38 A1 00 14 */ addi r5, r1, 0x14
/* 8011EB2C 0011BA8C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8011EB30 0011BA90 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 8011EB34 0011BA94 48 1F 3F B5 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 8011EB38 0011BA98 38 61 00 08 */ addi r3, r1, 8
/* 8011EB3C 0011BA9C 48 00 00 0C */ b lbl_8011EB48
lbl_8011EB40:
/* 8011EB40 0011BAA0 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 8011EB44 0011BAA4 38 63 66 A0 */ addi r3, r3, sZeroVector__9CVector3f@l
lbl_8011EB48:
/* 8011EB48 0011BAA8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8011EB4C 0011BAAC 3B BD 00 01 */ addi r29, r29, 1
/* 8011EB50 0011BAB0 C0 43 00 04 */ lfs f2, 4(r3)
/* 8011EB54 0011BAB4 EC 19 00 2A */ fadds f0, f25, f0
/* 8011EB58 0011BAB8 80 19 01 68 */ lwz r0, 0x168(r25)
/* 8011EB5C 0011BABC C0 23 00 08 */ lfs f1, 8(r3)
/* 8011EB60 0011BAC0 EC 5A 10 2A */ fadds f2, f26, f2
/* 8011EB64 0011BAC4 7C 60 FA 14 */ add r3, r0, r31
/* 8011EB68 0011BAC8 EF 39 F0 2A */ fadds f25, f25, f30
/* 8011EB6C 0011BACC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8011EB70 0011BAD0 EC 1B 08 2A */ fadds f0, f27, f1
/* 8011EB74 0011BAD4 EF 5A E8 2A */ fadds f26, f26, f29
/* 8011EB78 0011BAD8 3B FF 00 80 */ addi r31, r31, 0x80
/* 8011EB7C 0011BADC D0 43 00 10 */ stfs f2, 0x10(r3)
/* 8011EB80 0011BAE0 EF 7B E0 2A */ fadds f27, f27, f28
/* 8011EB84 0011BAE4 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8011EB88 0011BAE8 C0 03 00 30 */ lfs f0, 0x30(r3)
/* 8011EB8C 0011BAEC D3 E3 00 30 */ stfs f31, 0x30(r3)
/* 8011EB90 0011BAF0 FF E0 00 90 */ fmr f31, f0
lbl_8011EB94:
/* 8011EB94 0011BAF4 80 19 01 60 */ lwz r0, 0x160(r25)
/* 8011EB98 0011BAF8 7C 1D 00 00 */ cmpw r29, r0
/* 8011EB9C 0011BAFC 41 80 FF 3C */ blt lbl_8011EAD8
/* 8011EBA0 0011BB00 E3 E1 01 48 */ psq_l f31, 328(r1), 0, qr0
/* 8011EBA4 0011BB04 CB E1 01 40 */ lfd f31, 0x140(r1)
/* 8011EBA8 0011BB08 E3 C1 01 38 */ psq_l f30, 312(r1), 0, qr0
/* 8011EBAC 0011BB0C CB C1 01 30 */ lfd f30, 0x130(r1)
/* 8011EBB0 0011BB10 E3 A1 01 28 */ psq_l f29, 296(r1), 0, qr0
/* 8011EBB4 0011BB14 CB A1 01 20 */ lfd f29, 0x120(r1)
/* 8011EBB8 0011BB18 E3 81 01 18 */ psq_l f28, 280(r1), 0, qr0
/* 8011EBBC 0011BB1C CB 81 01 10 */ lfd f28, 0x110(r1)
/* 8011EBC0 0011BB20 E3 61 01 08 */ psq_l f27, 264(r1), 0, qr0
/* 8011EBC4 0011BB24 CB 61 01 00 */ lfd f27, 0x100(r1)
/* 8011EBC8 0011BB28 E3 41 00 F8 */ psq_l f26, 248(r1), 0, qr0
/* 8011EBCC 0011BB2C CB 41 00 F0 */ lfd f26, 0xf0(r1)
/* 8011EBD0 0011BB30 E3 21 00 E8 */ psq_l f25, 232(r1), 0, qr0
/* 8011EBD4 0011BB34 CB 21 00 E0 */ lfd f25, 0xe0(r1)
/* 8011EBD8 0011BB38 E3 01 00 D8 */ psq_l f24, 216(r1), 0, qr0
/* 8011EBDC 0011BB3C CB 01 00 D0 */ lfd f24, 0xd0(r1)
/* 8011EBE0 0011BB40 E2 E1 00 C8 */ psq_l f23, 200(r1), 0, qr0
/* 8011EBE4 0011BB44 CA E1 00 C0 */ lfd f23, 0xc0(r1)
/* 8011EBE8 0011BB48 E2 C1 00 B8 */ psq_l f22, 184(r1), 0, qr0
/* 8011EBEC 0011BB4C CA C1 00 B0 */ lfd f22, 0xb0(r1)
/* 8011EBF0 0011BB50 BB 21 00 94 */ lmw r25, 0x94(r1)
/* 8011EBF4 0011BB54 80 01 01 54 */ lwz r0, 0x154(r1)
/* 8011EBF8 0011BB58 7C 08 03 A6 */ mtlr r0
/* 8011EBFC 0011BB5C 38 21 01 50 */ addi r1, r1, 0x150
/* 8011EC00 0011BB60 4E 80 00 20 */ blr
.global UpdateGrappleBeam__11CGrappleArmFfRC12CTransform4fR13CStateManager
UpdateGrappleBeam__11CGrappleArmFfRC12CTransform4fR13CStateManager:
/* 8011EC04 0011BB64 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8011EC08 0011BB68 7C 08 02 A6 */ mflr r0
/* 8011EC0C 0011BB6C 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8011EC10 0011BB70 DB E1 00 A0 */ stfd f31, 0xa0(r1)
/* 8011EC14 0011BB74 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0
/* 8011EC18 0011BB78 93 E1 00 9C */ stw r31, 0x9c(r1)
/* 8011EC1C 0011BB7C 93 C1 00 98 */ stw r30, 0x98(r1)
/* 8011EC20 0011BB80 93 A1 00 94 */ stw r29, 0x94(r1)
/* 8011EC24 0011BB84 93 81 00 90 */ stw r28, 0x90(r1)
/* 8011EC28 0011BB88 7C BE 2B 78 */ mr r30, r5
/* 8011EC2C 0011BB8C 7C 7C 1B 78 */ mr r28, r3
/* 8011EC30 0011BB90 80 A5 08 4C */ lwz r5, 0x84c(r5)
/* 8011EC34 0011BB94 7C 9D 23 78 */ mr r29, r4
/* 8011EC38 0011BB98 FF E0 08 90 */ fmr f31, f1
/* 8011EC3C 0011BB9C 7F C3 F3 78 */ mr r3, r30
/* 8011EC40 0011BBA0 A0 05 03 10 */ lhz r0, 0x310(r5)
/* 8011EC44 0011BBA4 38 81 00 08 */ addi r4, r1, 8
/* 8011EC48 0011BBA8 3B E0 00 00 */ li r31, 0
/* 8011EC4C 0011BBAC B0 01 00 0C */ sth r0, 0xc(r1)
/* 8011EC50 0011BBB0 B0 01 00 08 */ sth r0, 8(r1)
/* 8011EC54 0011BBB4 4B F2 D9 51 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8011EC58 0011BBB8 7C 64 1B 78 */ mr r4, r3
/* 8011EC5C 0011BBBC 38 61 00 10 */ addi r3, r1, 0x10
/* 8011EC60 0011BBC0 4B F9 10 31 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 8011EC64 0011BBC4 80 63 00 04 */ lwz r3, 4(r3)
/* 8011EC68 0011BBC8 28 03 00 00 */ cmplwi r3, 0
/* 8011EC6C 0011BBCC 41 82 00 24 */ beq lbl_8011EC90
/* 8011EC70 0011BBD0 C0 43 00 60 */ lfs f2, 0x60(r3)
/* 8011EC74 0011BBD4 38 C1 00 30 */ addi r6, r1, 0x30
/* 8011EC78 0011BBD8 C0 23 00 50 */ lfs f1, 0x50(r3)
/* 8011EC7C 0011BBDC C0 03 00 40 */ lfs f0, 0x40(r3)
/* 8011EC80 0011BBE0 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 8011EC84 0011BBE4 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 8011EC88 0011BBE8 D0 41 00 38 */ stfs f2, 0x38(r1)
/* 8011EC8C 0011BBEC 48 00 00 20 */ b lbl_8011ECAC
lbl_8011EC90:
/* 8011EC90 0011BBF0 C0 5C 02 4C */ lfs f2, 0x24c(r28)
/* 8011EC94 0011BBF4 38 C1 00 24 */ addi r6, r1, 0x24
/* 8011EC98 0011BBF8 C0 3C 02 3C */ lfs f1, 0x23c(r28)
/* 8011EC9C 0011BBFC C0 1C 02 2C */ lfs f0, 0x22c(r28)
/* 8011ECA0 0011BC00 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8011ECA4 0011BC04 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8011ECA8 0011BC08 D0 41 00 2C */ stfs f2, 0x2c(r1)
lbl_8011ECAC:
/* 8011ECAC 0011BC0C C0 06 00 00 */ lfs f0, 0(r6)
/* 8011ECB0 0011BC10 7F A5 EB 78 */ mr r5, r29
/* 8011ECB4 0011BC14 38 61 00 54 */ addi r3, r1, 0x54
/* 8011ECB8 0011BC18 38 9C 02 20 */ addi r4, r28, 0x220
/* 8011ECBC 0011BC1C D0 1C 03 10 */ stfs f0, 0x310(r28)
/* 8011ECC0 0011BC20 C0 06 00 04 */ lfs f0, 4(r6)
/* 8011ECC4 0011BC24 D0 1C 03 14 */ stfs f0, 0x314(r28)
/* 8011ECC8 0011BC28 C0 06 00 08 */ lfs f0, 8(r6)
/* 8011ECCC 0011BC2C D0 1C 03 18 */ stfs f0, 0x318(r28)
/* 8011ECD0 0011BC30 48 1F 3C 81 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011ECD4 0011BC34 C1 41 00 80 */ lfs f10, 0x80(r1)
/* 8011ECD8 0011BC38 C1 21 00 70 */ lfs f9, 0x70(r1)
/* 8011ECDC 0011BC3C C0 C1 00 60 */ lfs f6, 0x60(r1)
/* 8011ECE0 0011BC40 D1 21 00 4C */ stfs f9, 0x4c(r1)
/* 8011ECE4 0011BC44 C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
/* 8011ECE8 0011BC48 D0 C1 00 48 */ stfs f6, 0x48(r1)
/* 8011ECEC 0011BC4C D1 41 00 50 */ stfs f10, 0x50(r1)
/* 8011ECF0 0011BC50 C1 1C 03 38 */ lfs f8, 0x338(r28)
/* 8011ECF4 0011BC54 C0 BC 03 10 */ lfs f5, 0x310(r28)
/* 8011ECF8 0011BC58 C0 7C 03 14 */ lfs f3, 0x314(r28)
/* 8011ECFC 0011BC5C EC E0 40 28 */ fsubs f7, f0, f8
/* 8011ED00 0011BC60 C0 3C 03 18 */ lfs f1, 0x318(r28)
/* 8011ED04 0011BC64 EC 85 02 32 */ fmuls f4, f5, f8
/* 8011ED08 0011BC68 EC 43 02 32 */ fmuls f2, f3, f8
/* 8011ED0C 0011BC6C EC 01 02 32 */ fmuls f0, f1, f8
/* 8011ED10 0011BC70 EC 86 21 FA */ fmadds f4, f6, f7, f4
/* 8011ED14 0011BC74 EC 49 11 FA */ fmadds f2, f9, f7, f2
/* 8011ED18 0011BC78 EC 0A 01 FA */ fmadds f0, f10, f7, f0
/* 8011ED1C 0011BC7C D0 81 00 3C */ stfs f4, 0x3c(r1)
/* 8011ED20 0011BC80 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 8011ED24 0011BC84 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 8011ED28 0011BC88 80 1C 03 34 */ lwz r0, 0x334(r28)
/* 8011ED2C 0011BC8C 2C 00 00 04 */ cmpwi r0, 4
/* 8011ED30 0011BC90 41 82 00 A4 */ beq lbl_8011EDD4
/* 8011ED34 0011BC94 40 80 00 E8 */ bge lbl_8011EE1C
/* 8011ED38 0011BC98 2C 00 00 02 */ cmpwi r0, 2
/* 8011ED3C 0011BC9C 40 80 00 0C */ bge lbl_8011ED48
/* 8011ED40 0011BCA0 48 00 00 DC */ b lbl_8011EE1C
/* 8011ED44 0011BCA4 48 00 00 D8 */ b lbl_8011EE1C
lbl_8011ED48:
/* 8011ED48 0011BCA8 EC 43 48 28 */ fsubs f2, f3, f9
/* 8011ED4C 0011BCAC 38 61 00 18 */ addi r3, r1, 0x18
/* 8011ED50 0011BCB0 EC 21 50 28 */ fsubs f1, f1, f10
/* 8011ED54 0011BCB4 EC 05 30 28 */ fsubs f0, f5, f6
/* 8011ED58 0011BCB8 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 8011ED5C 0011BCBC D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8011ED60 0011BCC0 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 8011ED64 0011BCC4 48 1F 5B 55 */ bl Magnitude__9CVector3fCFv
/* 8011ED68 0011BCC8 C0 02 97 64 */ lfs f0, lbl_805AB484@sda21(r2)
/* 8011ED6C 0011BCCC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8011ED70 0011BCD0 40 81 00 10 */ ble lbl_8011ED80
/* 8011ED74 0011BCD4 C0 1C 03 3C */ lfs f0, 0x33c(r28)
/* 8011ED78 0011BCD8 EC 00 08 24 */ fdivs f0, f0, f1
/* 8011ED7C 0011BCDC 48 00 00 08 */ b lbl_8011ED84
lbl_8011ED80:
/* 8011ED80 0011BCE0 C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
lbl_8011ED84:
/* 8011ED84 0011BCE4 D0 1C 03 38 */ stfs f0, 0x338(r28)
/* 8011ED88 0011BCE8 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 8011ED8C 0011BCEC 80 03 02 58 */ lwz r0, 0x258(r3)
/* 8011ED90 0011BCF0 2C 00 00 00 */ cmpwi r0, 0
/* 8011ED94 0011BCF4 41 82 00 0C */ beq lbl_8011EDA0
/* 8011ED98 0011BCF8 C0 62 97 74 */ lfs f3, lbl_805AB494@sda21(r2)
/* 8011ED9C 0011BCFC 48 00 00 08 */ b lbl_8011EDA4
lbl_8011EDA0:
/* 8011EDA0 0011BD00 C0 62 97 68 */ lfs f3, lbl_805AB488@sda21(r2)
lbl_8011EDA4:
/* 8011EDA4 0011BD04 C0 0D 8A 84 */ lfs f0, lbl_805A7644@sda21(r13)
/* 8011EDA8 0011BD08 C0 3C 03 3C */ lfs f1, 0x33c(r28)
/* 8011EDAC 0011BD0C EC 5F 00 32 */ fmuls f2, f31, f0
/* 8011EDB0 0011BD10 C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
/* 8011EDB4 0011BD14 EC 23 08 BA */ fmadds f1, f3, f2, f1
/* 8011EDB8 0011BD18 D0 3C 03 3C */ stfs f1, 0x33c(r28)
/* 8011EDBC 0011BD1C C0 3C 03 38 */ lfs f1, 0x338(r28)
/* 8011EDC0 0011BD20 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8011EDC4 0011BD24 41 80 00 58 */ blt lbl_8011EE1C
/* 8011EDC8 0011BD28 D0 1C 03 38 */ stfs f0, 0x338(r28)
/* 8011EDCC 0011BD2C 3B E0 00 01 */ li r31, 1
/* 8011EDD0 0011BD30 48 00 00 4C */ b lbl_8011EE1C
lbl_8011EDD4:
/* 8011EDD4 0011BD34 C0 02 97 88 */ lfs f0, lbl_805AB4A8@sda21(r2)
/* 8011EDD8 0011BD38 C0 3C 03 44 */ lfs f1, 0x344(r28)
/* 8011EDDC 0011BD3C EC 40 07 F2 */ fmuls f2, f0, f31
/* 8011EDE0 0011BD40 C0 02 97 64 */ lfs f0, lbl_805AB484@sda21(r2)
/* 8011EDE4 0011BD44 EC 21 10 28 */ fsubs f1, f1, f2
/* 8011EDE8 0011BD48 D0 3C 03 44 */ stfs f1, 0x344(r28)
/* 8011EDEC 0011BD4C C0 3C 03 48 */ lfs f1, 0x348(r28)
/* 8011EDF0 0011BD50 EC 21 10 28 */ fsubs f1, f1, f2
/* 8011EDF4 0011BD54 D0 3C 03 48 */ stfs f1, 0x348(r28)
/* 8011EDF8 0011BD58 C0 3C 03 44 */ lfs f1, 0x344(r28)
/* 8011EDFC 0011BD5C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8011EE00 0011BD60 40 80 00 08 */ bge lbl_8011EE08
/* 8011EE04 0011BD64 D0 1C 03 44 */ stfs f0, 0x344(r28)
lbl_8011EE08:
/* 8011EE08 0011BD68 C0 3C 03 48 */ lfs f1, 0x348(r28)
/* 8011EE0C 0011BD6C C0 02 97 64 */ lfs f0, lbl_805AB484@sda21(r2)
/* 8011EE10 0011BD70 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8011EE14 0011BD74 40 80 00 08 */ bge lbl_8011EE1C
/* 8011EE18 0011BD78 D0 1C 03 48 */ stfs f0, 0x348(r28)
lbl_8011EE1C:
/* 8011EE1C 0011BD7C 88 1C 03 B2 */ lbz r0, 0x3b2(r28)
/* 8011EE20 0011BD80 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8011EE24 0011BD84 41 82 00 58 */ beq lbl_8011EE7C
/* 8011EE28 0011BD88 C0 3C 03 40 */ lfs f1, 0x340(r28)
/* 8011EE2C 0011BD8C 7F 83 E3 78 */ mr r3, r28
/* 8011EE30 0011BD90 C0 0D 8A 78 */ lfs f0, lbl_805A7638@sda21(r13)
/* 8011EE34 0011BD94 7F C6 F3 78 */ mr r6, r30
/* 8011EE38 0011BD98 38 81 00 48 */ addi r4, r1, 0x48
/* 8011EE3C 0011BD9C 38 A1 00 3C */ addi r5, r1, 0x3c
/* 8011EE40 0011BDA0 EC 01 00 2A */ fadds f0, f1, f0
/* 8011EE44 0011BDA4 D0 1C 03 40 */ stfs f0, 0x340(r28)
/* 8011EE48 0011BDA8 4B FF F9 E9 */ bl UpdateGrappleBeamFX__11CGrappleArmFRC9CVector3fRC9CVector3fR13CStateManager
/* 8011EE4C 0011BDAC 80 7C 03 94 */ lwz r3, 0x394(r28)
/* 8011EE50 0011BDB0 FC 20 F8 90 */ fmr f1, f31
/* 8011EE54 0011BDB4 81 83 00 00 */ lwz r12, 0(r3)
/* 8011EE58 0011BDB8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8011EE5C 0011BDBC 7D 89 03 A6 */ mtctr r12
/* 8011EE60 0011BDC0 4E 80 04 21 */ bctrl
/* 8011EE64 0011BDC4 80 7C 03 90 */ lwz r3, 0x390(r28)
/* 8011EE68 0011BDC8 FC 20 F8 90 */ fmr f1, f31
/* 8011EE6C 0011BDCC 81 83 00 00 */ lwz r12, 0(r3)
/* 8011EE70 0011BDD0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8011EE74 0011BDD4 7D 89 03 A6 */ mtctr r12
/* 8011EE78 0011BDD8 4E 80 04 21 */ bctrl
lbl_8011EE7C:
/* 8011EE7C 0011BDDC 57 E3 06 3E */ clrlwi r3, r31, 0x18
/* 8011EE80 0011BDE0 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0
/* 8011EE84 0011BDE4 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8011EE88 0011BDE8 CB E1 00 A0 */ lfd f31, 0xa0(r1)
/* 8011EE8C 0011BDEC 83 E1 00 9C */ lwz r31, 0x9c(r1)
/* 8011EE90 0011BDF0 83 C1 00 98 */ lwz r30, 0x98(r1)
/* 8011EE94 0011BDF4 83 A1 00 94 */ lwz r29, 0x94(r1)
/* 8011EE98 0011BDF8 83 81 00 90 */ lwz r28, 0x90(r1)
/* 8011EE9C 0011BDFC 7C 08 03 A6 */ mtlr r0
/* 8011EEA0 0011BE00 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8011EEA4 0011BE04 4E 80 00 20 */ blr
.global Update__11CGrappleArmFffR13CStateManager
Update__11CGrappleArmFffR13CStateManager:
/* 8011EEA8 0011BE08 94 21 FE A0 */ stwu r1, -0x160(r1)
/* 8011EEAC 0011BE0C 7C 08 02 A6 */ mflr r0
/* 8011EEB0 0011BE10 90 01 01 64 */ stw r0, 0x164(r1)
/* 8011EEB4 0011BE14 DB E1 01 50 */ stfd f31, 0x150(r1)
/* 8011EEB8 0011BE18 F3 E1 01 58 */ psq_st f31, 344(r1), 0, qr0
/* 8011EEBC 0011BE1C DB C1 01 40 */ stfd f30, 0x140(r1)
/* 8011EEC0 0011BE20 F3 C1 01 48 */ psq_st f30, 328(r1), 0, qr0
/* 8011EEC4 0011BE24 93 E1 01 3C */ stw r31, 0x13c(r1)
/* 8011EEC8 0011BE28 93 C1 01 38 */ stw r30, 0x138(r1)
/* 8011EECC 0011BE2C 7C 7E 1B 78 */ mr r30, r3
/* 8011EED0 0011BE30 88 63 03 B2 */ lbz r3, 0x3b2(r3)
/* 8011EED4 0011BE34 7C 9F 23 78 */ mr r31, r4
/* 8011EED8 0011BE38 FF C0 08 90 */ fmr f30, f1
/* 8011EEDC 0011BE3C FF E0 10 90 */ fmr f31, f2
/* 8011EEE0 0011BE40 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8011EEE4 0011BE44 38 80 00 00 */ li r4, 0
/* 8011EEE8 0011BE48 41 82 00 10 */ beq lbl_8011EEF8
/* 8011EEEC 0011BE4C 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f
/* 8011EEF0 0011BE50 40 82 00 08 */ bne lbl_8011EEF8
/* 8011EEF4 0011BE54 38 80 00 01 */ li r4, 1
lbl_8011EEF8:
/* 8011EEF8 0011BE58 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8011EEFC 0011BE5C 40 82 00 1C */ bne lbl_8011EF18
/* 8011EF00 0011BE60 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011EF04 0011BE64 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 8011EF08 0011BE68 41 82 01 E0 */ beq lbl_8011F0E8
/* 8011EF0C 0011BE6C 7F C3 F3 78 */ mr r3, r30
/* 8011EF10 0011BE70 4B FF EA CD */ bl LoadSuitPoll__11CGrappleArmFv
/* 8011EF14 0011BE74 48 00 01 D4 */ b lbl_8011F0E8
lbl_8011EF18:
/* 8011EF18 0011BE78 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8011EF1C 0011BE7C 80 63 00 00 */ lwz r3, 0(r3)
/* 8011EF20 0011BE80 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8011EF24 0011BE84 2C 00 00 01 */ cmpwi r0, 1
/* 8011EF28 0011BE88 40 82 00 1C */ bne lbl_8011EF44
/* 8011EF2C 0011BE8C 88 1E 00 9C */ lbz r0, 0x9c(r30)
/* 8011EF30 0011BE90 28 00 00 00 */ cmplwi r0, 0
/* 8011EF34 0011BE94 40 82 00 50 */ bne lbl_8011EF84
/* 8011EF38 0011BE98 7F C3 F3 78 */ mr r3, r30
/* 8011EF3C 0011BE9C 4B FF E9 F5 */ bl BuildXRayModel__11CGrappleArmFv
/* 8011EF40 0011BEA0 48 00 00 44 */ b lbl_8011EF84
lbl_8011EF44:
/* 8011EF44 0011BEA4 88 1E 00 9C */ lbz r0, 0x9c(r30)
/* 8011EF48 0011BEA8 28 00 00 00 */ cmplwi r0, 0
/* 8011EF4C 0011BEAC 41 82 00 38 */ beq lbl_8011EF84
/* 8011EF50 0011BEB0 38 00 00 00 */ li r0, 0
/* 8011EF54 0011BEB4 38 7E 00 50 */ addi r3, r30, 0x50
/* 8011EF58 0011BEB8 98 01 01 34 */ stb r0, 0x134(r1)
/* 8011EF5C 0011BEBC 38 81 00 E8 */ addi r4, r1, 0xe8
/* 8011EF60 0011BEC0 4B FF ED ED */ bl sub_8011dd4c
/* 8011EF64 0011BEC4 88 01 01 34 */ lbz r0, 0x134(r1)
/* 8011EF68 0011BEC8 28 00 00 00 */ cmplwi r0, 0
/* 8011EF6C 0011BECC 41 82 00 10 */ beq lbl_8011EF7C
/* 8011EF70 0011BED0 38 61 00 E8 */ addi r3, r1, 0xe8
/* 8011EF74 0011BED4 38 80 FF FF */ li r4, -1
/* 8011EF78 0011BED8 4B FF 7A D5 */ bl __dt__10CModelDataFv
lbl_8011EF7C:
/* 8011EF7C 0011BEDC 38 00 00 00 */ li r0, 0
/* 8011EF80 0011BEE0 98 01 01 34 */ stb r0, 0x134(r1)
lbl_8011EF84:
/* 8011EF84 0011BEE4 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011EF88 0011BEE8 C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
/* 8011EF8C 0011BEEC 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8011EF90 0011BEF0 40 82 00 3C */ bne lbl_8011EFCC
/* 8011EF94 0011BEF4 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 8011EF98 0011BEF8 38 80 00 00 */ li r4, 0
/* 8011EF9C 0011BEFC 80 03 02 58 */ lwz r0, 0x258(r3)
/* 8011EFA0 0011BF00 2C 00 00 00 */ cmpwi r0, 0
/* 8011EFA4 0011BF04 41 82 00 14 */ beq lbl_8011EFB8
/* 8011EFA8 0011BF08 80 1E 03 34 */ lwz r0, 0x334(r30)
/* 8011EFAC 0011BF0C 2C 00 00 08 */ cmpwi r0, 8
/* 8011EFB0 0011BF10 41 82 00 08 */ beq lbl_8011EFB8
/* 8011EFB4 0011BF14 38 80 00 01 */ li r4, 1
lbl_8011EFB8:
/* 8011EFB8 0011BF18 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8011EFBC 0011BF1C 41 82 00 0C */ beq lbl_8011EFC8
/* 8011EFC0 0011BF20 C0 02 97 88 */ lfs f0, lbl_805AB4A8@sda21(r2)
/* 8011EFC4 0011BF24 48 00 00 08 */ b lbl_8011EFCC
lbl_8011EFC8:
/* 8011EFC8 0011BF28 C0 02 97 68 */ lfs f0, lbl_805AB488@sda21(r2)
lbl_8011EFCC:
/* 8011EFCC 0011BF2C 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13)
/* 8011EFD0 0011BF30 EC 3F 00 32 */ fmuls f1, f31, f0
/* 8011EFD4 0011BF34 7F C4 F3 78 */ mr r4, r30
/* 8011EFD8 0011BF38 7F E5 FB 78 */ mr r5, r31
/* 8011EFDC 0011BF3C 90 01 00 08 */ stw r0, 8(r1)
/* 8011EFE0 0011BF40 38 61 00 3C */ addi r3, r1, 0x3c
/* 8011EFE4 0011BF44 38 C1 00 08 */ addi r6, r1, 8
/* 8011EFE8 0011BF48 38 E0 00 01 */ li r7, 1
/* 8011EFEC 0011BF4C 4B FF 6B 49 */ bl AdvanceAnimation__10CModelDataFfR13CStateManager7TAreaIdb
/* 8011EFF0 0011BF50 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8011EFF4 0011BF54 38 80 00 0C */ li r4, 0xc
/* 8011EFF8 0011BF58 80 63 00 00 */ lwz r3, 0(r3)
/* 8011EFFC 0011BF5C 4B F7 2A C5 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType
/* 8011F000 0011BF60 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8011F004 0011BF64 41 82 00 98 */ beq lbl_8011F09C
/* 8011F008 0011BF68 80 82 97 54 */ lwz r4, lbl_805AB474@sda21(r2)
/* 8011F00C 0011BF6C 38 61 00 2C */ addi r3, r1, 0x2c
/* 8011F010 0011BF70 4B EE 5C A9 */ bl string_l__4rstlFPCc
/* 8011F014 0011BF74 7F C4 F3 78 */ mr r4, r30
/* 8011F018 0011BF78 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8011F01C 0011BF7C 38 A1 00 2C */ addi r5, r1, 0x2c
/* 8011F020 0011BF80 38 C0 00 00 */ li r6, 0
/* 8011F024 0011BF84 4B FF 68 F9 */ bl "GetScaledLocatorTransformDynamic__10CModelDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>PC13CCharAnimTime"
/* 8011F028 0011BF88 38 7E 02 50 */ addi r3, r30, 0x250
/* 8011F02C 0011BF8C 38 81 00 B8 */ addi r4, r1, 0xb8
/* 8011F030 0011BF90 48 1F 3B 11 */ bl __as__12CTransform4fFRC12CTransform4f
/* 8011F034 0011BF94 38 61 00 2C */ addi r3, r1, 0x2c
/* 8011F038 0011BF98 48 21 EA A9 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8011F03C 0011BF9C 80 82 97 58 */ lwz r4, lbl_805AB478@sda21(r2)
/* 8011F040 0011BFA0 38 61 00 1C */ addi r3, r1, 0x1c
/* 8011F044 0011BFA4 4B EE 5C 75 */ bl string_l__4rstlFPCc
/* 8011F048 0011BFA8 7F C4 F3 78 */ mr r4, r30
/* 8011F04C 0011BFAC 38 61 00 88 */ addi r3, r1, 0x88
/* 8011F050 0011BFB0 38 A1 00 1C */ addi r5, r1, 0x1c
/* 8011F054 0011BFB4 4B FF 69 4D */ bl "GetScaledLocatorTransform__10CModelDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8011F058 0011BFB8 38 7E 02 80 */ addi r3, r30, 0x280
/* 8011F05C 0011BFBC 38 81 00 88 */ addi r4, r1, 0x88
/* 8011F060 0011BFC0 48 1F 3A E1 */ bl __as__12CTransform4fFRC12CTransform4f
/* 8011F064 0011BFC4 38 61 00 1C */ addi r3, r1, 0x1c
/* 8011F068 0011BFC8 48 21 EA 79 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8011F06C 0011BFCC 80 82 97 5C */ lwz r4, lbl_805AB47C@sda21(r2)
/* 8011F070 0011BFD0 38 61 00 0C */ addi r3, r1, 0xc
/* 8011F074 0011BFD4 4B EE 5C 45 */ bl string_l__4rstlFPCc
/* 8011F078 0011BFD8 7F C4 F3 78 */ mr r4, r30
/* 8011F07C 0011BFDC 38 61 00 58 */ addi r3, r1, 0x58
/* 8011F080 0011BFE0 38 A1 00 0C */ addi r5, r1, 0xc
/* 8011F084 0011BFE4 4B FF 69 1D */ bl "GetScaledLocatorTransform__10CModelDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8011F088 0011BFE8 38 7E 02 B0 */ addi r3, r30, 0x2b0
/* 8011F08C 0011BFEC 38 81 00 58 */ addi r4, r1, 0x58
/* 8011F090 0011BFF0 48 1F 3A B1 */ bl __as__12CTransform4fFRC12CTransform4f
/* 8011F094 0011BFF4 38 61 00 0C */ addi r3, r1, 0xc
/* 8011F098 0011BFF8 48 21 EA 49 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8011F09C:
/* 8011F09C 0011BFFC 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011F0A0 0011C000 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8011F0A4 0011C004 41 82 00 18 */ beq lbl_8011F0BC
/* 8011F0A8 0011C008 FC 20 F8 90 */ fmr f1, f31
/* 8011F0AC 0011C00C 7F C3 F3 78 */ mr r3, r30
/* 8011F0B0 0011C010 7F E4 FB 78 */ mr r4, r31
/* 8011F0B4 0011C014 48 00 00 5D */ bl UpdateArmMovement__11CGrappleArmFfR13CStateManager
/* 8011F0B8 0011C018 48 00 00 18 */ b lbl_8011F0D0
lbl_8011F0BC:
/* 8011F0BC 0011C01C FC 20 F0 90 */ fmr f1, f30
/* 8011F0C0 0011C020 7F C3 F3 78 */ mr r3, r30
/* 8011F0C4 0011C024 FC 40 F8 90 */ fmr f2, f31
/* 8011F0C8 0011C028 7F E4 FB 78 */ mr r4, r31
/* 8011F0CC 0011C02C 48 00 00 B1 */ bl UpdateSwingAction__11CGrappleArmFffR13CStateManager
lbl_8011F0D0:
/* 8011F0D0 0011C030 80 7E 03 A4 */ lwz r3, 0x3a4(r30)
/* 8011F0D4 0011C034 28 03 00 00 */ cmplwi r3, 0
/* 8011F0D8 0011C038 41 82 00 10 */ beq lbl_8011F0E8
/* 8011F0DC 0011C03C FC 20 F8 90 */ fmr f1, f31
/* 8011F0E0 0011C040 7F E4 FB 78 */ mr r4, r31
/* 8011F0E4 0011C044 48 14 B3 09 */ bl Update__20CRainSplashGeneratorFfR13CStateManager
lbl_8011F0E8:
/* 8011F0E8 0011C048 E3 E1 01 58 */ psq_l f31, 344(r1), 0, qr0
/* 8011F0EC 0011C04C CB E1 01 50 */ lfd f31, 0x150(r1)
/* 8011F0F0 0011C050 E3 C1 01 48 */ psq_l f30, 328(r1), 0, qr0
/* 8011F0F4 0011C054 CB C1 01 40 */ lfd f30, 0x140(r1)
/* 8011F0F8 0011C058 83 E1 01 3C */ lwz r31, 0x13c(r1)
/* 8011F0FC 0011C05C 80 01 01 64 */ lwz r0, 0x164(r1)
/* 8011F100 0011C060 83 C1 01 38 */ lwz r30, 0x138(r1)
/* 8011F104 0011C064 7C 08 03 A6 */ mtlr r0
/* 8011F108 0011C068 38 21 01 60 */ addi r1, r1, 0x160
/* 8011F10C 0011C06C 4E 80 00 20 */ blr
.global UpdateArmMovement__11CGrappleArmFfR13CStateManager
UpdateArmMovement__11CGrappleArmFfR13CStateManager:
/* 8011F110 0011C070 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8011F114 0011C074 7C 08 02 A6 */ mflr r0
/* 8011F118 0011C078 90 01 00 24 */ stw r0, 0x24(r1)
/* 8011F11C 0011C07C DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8011F120 0011C080 FF E0 08 90 */ fmr f31, f1
/* 8011F124 0011C084 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8011F128 0011C088 7C 9F 23 78 */ mr r31, r4
/* 8011F12C 0011C08C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8011F130 0011C090 7C 7E 1B 78 */ mr r30, r3
/* 8011F134 0011C094 4B FF F2 4D */ bl DoUserAnimEvents__11CGrappleArmFR13CStateManager
/* 8011F138 0011C098 FC 20 F8 90 */ fmr f1, f31
/* 8011F13C 0011C09C 80 7E 03 28 */ lwz r3, 0x328(r30)
/* 8011F140 0011C0A0 7F E4 FB 78 */ mr r4, r31
/* 8011F144 0011C0A4 48 0A D4 FD */ bl Update__14CGunControllerFfR13CStateManager
/* 8011F148 0011C0A8 2C 03 00 01 */ cmpwi r3, 1
/* 8011F14C 0011C0AC 41 82 00 08 */ beq lbl_8011F154
/* 8011F150 0011C0B0 48 00 00 10 */ b lbl_8011F160
lbl_8011F154:
/* 8011F154 0011C0B4 7F C3 F3 78 */ mr r3, r30
/* 8011F158 0011C0B8 38 80 00 00 */ li r4, 0
/* 8011F15C 0011C0BC 4B FF EC 59 */ bl ResetAuxParams__11CGrappleArmFb
lbl_8011F160:
/* 8011F160 0011C0C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8011F164 0011C0C4 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8011F168 0011C0C8 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8011F16C 0011C0CC 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8011F170 0011C0D0 7C 08 03 A6 */ mtlr r0
/* 8011F174 0011C0D4 38 21 00 20 */ addi r1, r1, 0x20
/* 8011F178 0011C0D8 4E 80 00 20 */ blr
.global UpdateSwingAction__11CGrappleArmFffR13CStateManager
UpdateSwingAction__11CGrappleArmFffR13CStateManager:
/* 8011F17C 0011C0DC 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8011F180 0011C0E0 7C 08 02 A6 */ mflr r0
/* 8011F184 0011C0E4 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8011F188 0011C0E8 DB E1 00 C0 */ stfd f31, 0xc0(r1)
/* 8011F18C 0011C0EC F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0
/* 8011F190 0011C0F0 DB C1 00 B0 */ stfd f30, 0xb0(r1)
/* 8011F194 0011C0F4 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0
/* 8011F198 0011C0F8 93 E1 00 AC */ stw r31, 0xac(r1)
/* 8011F19C 0011C0FC 93 C1 00 A8 */ stw r30, 0xa8(r1)
/* 8011F1A0 0011C100 93 A1 00 A4 */ stw r29, 0xa4(r1)
/* 8011F1A4 0011C104 93 81 00 A0 */ stw r28, 0xa0(r1)
/* 8011F1A8 0011C108 88 03 03 B2 */ lbz r0, 0x3b2(r3)
/* 8011F1AC 0011C10C FF C0 08 90 */ fmr f30, f1
/* 8011F1B0 0011C110 FF E0 10 90 */ fmr f31, f2
/* 8011F1B4 0011C114 7C 7E 1B 78 */ mr r30, r3
/* 8011F1B8 0011C118 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 8011F1BC 0011C11C 7C 9F 23 78 */ mr r31, r4
/* 8011F1C0 0011C120 40 82 02 C8 */ bne lbl_8011F488
/* 8011F1C4 0011C124 80 1E 03 34 */ lwz r0, 0x334(r30)
/* 8011F1C8 0011C128 2C 00 00 02 */ cmpwi r0, 2
/* 8011F1CC 0011C12C 40 82 00 08 */ bne lbl_8011F1D4
/* 8011F1D0 0011C130 4B FF F1 B1 */ bl DoUserAnimEvents__11CGrappleArmFR13CStateManager
lbl_8011F1D4:
/* 8011F1D4 0011C134 80 82 97 60 */ lwz r4, lbl_805AB480@sda21(r2)
/* 8011F1D8 0011C138 38 61 00 2C */ addi r3, r1, 0x2c
/* 8011F1DC 0011C13C 4B EE 5A DD */ bl string_l__4rstlFPCc
/* 8011F1E0 0011C140 7F C4 F3 78 */ mr r4, r30
/* 8011F1E4 0011C144 38 61 00 3C */ addi r3, r1, 0x3c
/* 8011F1E8 0011C148 38 A1 00 2C */ addi r5, r1, 0x2c
/* 8011F1EC 0011C14C 4B FF 67 B5 */ bl "GetScaledLocatorTransform__10CModelDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8011F1F0 0011C150 38 61 00 6C */ addi r3, r1, 0x6c
/* 8011F1F4 0011C154 38 81 00 3C */ addi r4, r1, 0x3c
/* 8011F1F8 0011C158 48 1F 39 7D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011F1FC 0011C15C 38 61 00 2C */ addi r3, r1, 0x2c
/* 8011F200 0011C160 48 21 E8 E1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8011F204 0011C164 FC 20 F8 90 */ fmr f1, f31
/* 8011F208 0011C168 7F C3 F3 78 */ mr r3, r30
/* 8011F20C 0011C16C 7F E5 FB 78 */ mr r5, r31
/* 8011F210 0011C170 38 81 00 6C */ addi r4, r1, 0x6c
/* 8011F214 0011C174 4B FF F9 F1 */ bl UpdateGrappleBeam__11CGrappleArmFfRC12CTransform4fR13CStateManager
/* 8011F218 0011C178 C0 02 97 8C */ lfs f0, lbl_805AB4AC@sda21(r2)
/* 8011F21C 0011C17C 7C 7C 1B 78 */ mr r28, r3
/* 8011F220 0011C180 FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 8011F224 0011C184 40 81 00 10 */ ble lbl_8011F234
/* 8011F228 0011C188 C0 02 97 90 */ lfs f0, lbl_805AB4B0@sda21(r2)
/* 8011F22C 0011C18C FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 8011F230 0011C190 41 80 00 1C */ blt lbl_8011F24C
lbl_8011F234:
/* 8011F234 0011C194 C0 02 97 94 */ lfs f0, lbl_805AB4B4@sda21(r2)
/* 8011F238 0011C198 FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 8011F23C 0011C19C 40 81 00 78 */ ble lbl_8011F2B4
/* 8011F240 0011C1A0 C0 02 97 98 */ lfs f0, lbl_805AB4B8@sda21(r2)
/* 8011F244 0011C1A4 FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 8011F248 0011C1A8 40 80 00 6C */ bge lbl_8011F2B4
lbl_8011F24C:
/* 8011F24C 0011C1AC 80 1E 03 30 */ lwz r0, 0x330(r30)
/* 8011F250 0011C1B0 38 61 00 0C */ addi r3, r1, 0xc
/* 8011F254 0011C1B4 90 01 00 0C */ stw r0, 0xc(r1)
/* 8011F258 0011C1B8 48 1C 9B 7D */ bl IsPlaying__11CSfxManagerF10CSfxHandle
/* 8011F25C 0011C1BC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8011F260 0011C1C0 40 82 00 54 */ bne lbl_8011F2B4
/* 8011F264 0011C1C4 38 61 00 08 */ addi r3, r1, 8
/* 8011F268 0011C1C8 38 80 05 F8 */ li r4, 0x5f8
/* 8011F26C 0011C1CC 38 A0 00 00 */ li r5, 0
/* 8011F270 0011C1D0 38 C0 00 00 */ li r6, 0
/* 8011F274 0011C1D4 38 E0 00 36 */ li r7, 0x36
/* 8011F278 0011C1D8 48 16 B8 81 */ bl play_sfx__12NWeaponTypesFUsbbs
/* 8011F27C 0011C1DC 80 01 00 08 */ lwz r0, 8(r1)
/* 8011F280 0011C1E0 90 1E 03 30 */ stw r0, 0x330(r30)
/* 8011F284 0011C1E4 A8 9E 03 B0 */ lha r4, 0x3b0(r30)
/* 8011F288 0011C1E8 2C 04 FF FF */ cmpwi r4, -1
/* 8011F28C 0011C1EC 41 82 00 0C */ beq lbl_8011F298
/* 8011F290 0011C1F0 80 7F 08 8C */ lwz r3, 0x88c(r31)
/* 8011F294 0011C1F4 48 10 EE 81 */ bl StopRumble__14CRumbleManagerFs
lbl_8011F298:
/* 8011F298 0011C1F8 80 7F 08 8C */ lwz r3, 0x88c(r31)
/* 8011F29C 0011C1FC 7F E4 FB 78 */ mr r4, r31
/* 8011F2A0 0011C200 C0 22 97 68 */ lfs f1, lbl_805AB488@sda21(r2)
/* 8011F2A4 0011C204 38 A0 00 11 */ li r5, 0x11
/* 8011F2A8 0011C208 38 C0 00 03 */ li r6, 3
/* 8011F2AC 0011C20C 48 10 EF 99 */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority
/* 8011F2B0 0011C210 B0 7E 03 B0 */ sth r3, 0x3b0(r30)
lbl_8011F2B4:
/* 8011F2B4 0011C214 3C 60 80 3D */ lis r3, lbl_803CF360@ha
/* 8011F2B8 0011C218 83 BE 00 10 */ lwz r29, 0x10(r30)
/* 8011F2BC 0011C21C 38 83 F3 60 */ addi r4, r3, lbl_803CF360@l
/* 8011F2C0 0011C220 38 61 00 1C */ addi r3, r1, 0x1c
/* 8011F2C4 0011C224 38 84 00 CB */ addi r4, r4, 0xcb
/* 8011F2C8 0011C228 4B EE 59 F1 */ bl string_l__4rstlFPCc
/* 8011F2CC 0011C22C FC 20 F8 90 */ fmr f1, f31
/* 8011F2D0 0011C230 7F A3 EB 78 */ mr r3, r29
/* 8011F2D4 0011C234 38 81 00 1C */ addi r4, r1, 0x1c
/* 8011F2D8 0011C238 4B F0 D1 15 */ bl "IsAnimTimeRemaining__9CAnimDataCFfRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8011F2DC 0011C23C 7C 7D 1B 78 */ mr r29, r3
/* 8011F2E0 0011C240 38 61 00 1C */ addi r3, r1, 0x1c
/* 8011F2E4 0011C244 48 21 E7 FD */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8011F2E8 0011C248 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 8011F2EC 0011C24C 40 82 00 E4 */ bne lbl_8011F3D0
/* 8011F2F0 0011C250 80 1E 03 34 */ lwz r0, 0x334(r30)
/* 8011F2F4 0011C254 28 00 00 08 */ cmplwi r0, 8
/* 8011F2F8 0011C258 41 81 00 D8 */ bgt lbl_8011F3D0
/* 8011F2FC 0011C25C 3C 60 80 3E */ lis r3, lbl_803E06DC@ha
/* 8011F300 0011C260 54 00 10 3A */ slwi r0, r0, 2
/* 8011F304 0011C264 38 63 06 DC */ addi r3, r3, lbl_803E06DC@l
/* 8011F308 0011C268 7C 03 00 2E */ lwzx r0, r3, r0
/* 8011F30C 0011C26C 7C 09 03 A6 */ mtctr r0
/* 8011F310 0011C270 4E 80 04 20 */ bctr
.global lbl_8011F314
lbl_8011F314:
/* 8011F314 0011C274 7F C3 F3 78 */ mr r3, r30
/* 8011F318 0011C278 38 80 00 01 */ li r4, 1
/* 8011F31C 0011C27C 4B FF F2 45 */ bl SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState
/* 8011F320 0011C280 48 00 00 B0 */ b lbl_8011F3D0
.global lbl_8011F324
lbl_8011F324:
/* 8011F324 0011C284 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 8011F328 0011C288 41 82 00 A8 */ beq lbl_8011F3D0
/* 8011F32C 0011C28C 7F C3 F3 78 */ mr r3, r30
/* 8011F330 0011C290 38 80 00 04 */ li r4, 4
/* 8011F334 0011C294 4B FF F2 2D */ bl SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState
/* 8011F338 0011C298 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011F33C 0011C29C 38 60 00 01 */ li r3, 1
/* 8011F340 0011C2A0 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8011F344 0011C2A4 38 80 00 01 */ li r4, 1
/* 8011F348 0011C2A8 98 1E 03 B2 */ stb r0, 0x3b2(r30)
/* 8011F34C 0011C2AC 80 7E 03 98 */ lwz r3, 0x398(r30)
/* 8011F350 0011C2B0 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F354 0011C2B4 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 8011F358 0011C2B8 7D 89 03 A6 */ mtctr r12
/* 8011F35C 0011C2BC 4E 80 04 21 */ bctrl
/* 8011F360 0011C2C0 7F C3 F3 78 */ mr r3, r30
/* 8011F364 0011C2C4 4B FF ED C1 */ bl GrappleBeamConnected__11CGrappleArmFv
/* 8011F368 0011C2C8 A8 9E 03 B0 */ lha r4, 0x3b0(r30)
/* 8011F36C 0011C2CC 2C 04 FF FF */ cmpwi r4, -1
/* 8011F370 0011C2D0 41 82 00 60 */ beq lbl_8011F3D0
/* 8011F374 0011C2D4 80 7F 08 8C */ lwz r3, 0x88c(r31)
/* 8011F378 0011C2D8 48 10 ED 9D */ bl StopRumble__14CRumbleManagerFs
/* 8011F37C 0011C2DC 48 00 00 54 */ b lbl_8011F3D0
.global lbl_8011F380
lbl_8011F380:
/* 8011F380 0011C2E0 C0 22 97 64 */ lfs f1, lbl_805AB484@sda21(r2)
/* 8011F384 0011C2E4 C0 1E 03 44 */ lfs f0, 0x344(r30)
/* 8011F388 0011C2E8 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8011F38C 0011C2EC 40 82 00 44 */ bne lbl_8011F3D0
/* 8011F390 0011C2F0 7F C3 F3 78 */ mr r3, r30
/* 8011F394 0011C2F4 38 80 00 06 */ li r4, 6
/* 8011F398 0011C2F8 4B FF F1 C9 */ bl SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState
/* 8011F39C 0011C2FC 48 00 00 34 */ b lbl_8011F3D0
.global lbl_8011F3A0
lbl_8011F3A0:
/* 8011F3A0 0011C300 A8 9E 03 B0 */ lha r4, 0x3b0(r30)
/* 8011F3A4 0011C304 2C 04 FF FF */ cmpwi r4, -1
/* 8011F3A8 0011C308 41 82 00 0C */ beq lbl_8011F3B4
/* 8011F3AC 0011C30C 80 7F 08 8C */ lwz r3, 0x88c(r31)
/* 8011F3B0 0011C310 48 10 ED 65 */ bl StopRumble__14CRumbleManagerFs
lbl_8011F3B4:
/* 8011F3B4 0011C314 7F C3 F3 78 */ mr r3, r30
/* 8011F3B8 0011C318 38 80 00 0A */ li r4, 0xa
/* 8011F3BC 0011C31C 4B FF F1 A5 */ bl SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState
/* 8011F3C0 0011C320 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011F3C4 0011C324 38 60 00 00 */ li r3, 0
/* 8011F3C8 0011C328 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8011F3CC 0011C32C 98 1E 03 B2 */ stb r0, 0x3b2(r30)
.global lbl_8011F3D0
lbl_8011F3D0:
/* 8011F3D0 0011C330 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011F3D4 0011C334 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8011F3D8 0011C338 41 82 00 B0 */ beq lbl_8011F488
/* 8011F3DC 0011C33C C0 41 00 78 */ lfs f2, 0x78(r1)
/* 8011F3E0 0011C340 38 81 00 10 */ addi r4, r1, 0x10
/* 8011F3E4 0011C344 C0 21 00 88 */ lfs f1, 0x88(r1)
/* 8011F3E8 0011C348 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 8011F3EC 0011C34C D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8011F3F0 0011C350 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 8011F3F4 0011C354 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8011F3F8 0011C358 80 7E 03 9C */ lwz r3, 0x39c(r30)
/* 8011F3FC 0011C35C 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F400 0011C360 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8011F404 0011C364 7D 89 03 A6 */ mtctr r12
/* 8011F408 0011C368 4E 80 04 21 */ bctrl
/* 8011F40C 0011C36C 80 7E 03 9C */ lwz r3, 0x39c(r30)
/* 8011F410 0011C370 FC 20 F8 90 */ fmr f1, f31
/* 8011F414 0011C374 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F418 0011C378 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8011F41C 0011C37C 7D 89 03 A6 */ mtctr r12
/* 8011F420 0011C380 4E 80 04 21 */ bctrl
/* 8011F424 0011C384 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011F428 0011C388 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 8011F42C 0011C38C 41 82 00 5C */ beq lbl_8011F488
/* 8011F430 0011C390 80 7E 03 98 */ lwz r3, 0x398(r30)
/* 8011F434 0011C394 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F438 0011C398 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 8011F43C 0011C39C 7D 89 03 A6 */ mtctr r12
/* 8011F440 0011C3A0 4E 80 04 21 */ bctrl
/* 8011F444 0011C3A4 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8011F448 0011C3A8 88 1E 03 B2 */ lbz r0, 0x3b2(r30)
/* 8011F44C 0011C3AC 7C 63 00 34 */ cntlzw r3, r3
/* 8011F450 0011C3B0 38 9E 03 10 */ addi r4, r30, 0x310
/* 8011F454 0011C3B4 50 60 06 B4 */ rlwimi r0, r3, 0, 0x1a, 0x1a
/* 8011F458 0011C3B8 98 1E 03 B2 */ stb r0, 0x3b2(r30)
/* 8011F45C 0011C3BC 80 7E 03 98 */ lwz r3, 0x398(r30)
/* 8011F460 0011C3C0 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F464 0011C3C4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8011F468 0011C3C8 7D 89 03 A6 */ mtctr r12
/* 8011F46C 0011C3CC 4E 80 04 21 */ bctrl
/* 8011F470 0011C3D0 80 7E 03 98 */ lwz r3, 0x398(r30)
/* 8011F474 0011C3D4 FC 20 F8 90 */ fmr f1, f31
/* 8011F478 0011C3D8 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F47C 0011C3DC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8011F480 0011C3E0 7D 89 03 A6 */ mtctr r12
/* 8011F484 0011C3E4 4E 80 04 21 */ bctrl
lbl_8011F488:
/* 8011F488 0011C3E8 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0
/* 8011F48C 0011C3EC CB E1 00 C0 */ lfd f31, 0xc0(r1)
/* 8011F490 0011C3F0 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0
/* 8011F494 0011C3F4 CB C1 00 B0 */ lfd f30, 0xb0(r1)
/* 8011F498 0011C3F8 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 8011F49C 0011C3FC 83 C1 00 A8 */ lwz r30, 0xa8(r1)
/* 8011F4A0 0011C400 83 A1 00 A4 */ lwz r29, 0xa4(r1)
/* 8011F4A4 0011C404 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 8011F4A8 0011C408 83 81 00 A0 */ lwz r28, 0xa0(r1)
/* 8011F4AC 0011C40C 7C 08 03 A6 */ mtlr r0
/* 8011F4B0 0011C410 38 21 00 D0 */ addi r1, r1, 0xd0
/* 8011F4B4 0011C414 4E 80 00 20 */ blr
.global RenderGrappleBeam__11CGrappleArmCFRC13CStateManagerRC9CVector3f
RenderGrappleBeam__11CGrappleArmCFRC13CStateManagerRC9CVector3f:
/* 8011F4B8 0011C418 94 21 FE D0 */ stwu r1, -0x130(r1)
/* 8011F4BC 0011C41C 7C 08 02 A6 */ mflr r0
/* 8011F4C0 0011C420 38 80 00 00 */ li r4, 0
/* 8011F4C4 0011C424 90 01 01 34 */ stw r0, 0x134(r1)
/* 8011F4C8 0011C428 93 E1 01 2C */ stw r31, 0x12c(r1)
/* 8011F4CC 0011C42C 7C 7F 1B 78 */ mr r31, r3
/* 8011F4D0 0011C430 88 63 03 B2 */ lbz r3, 0x3b2(r3)
/* 8011F4D4 0011C434 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8011F4D8 0011C438 41 82 00 10 */ beq lbl_8011F4E8
/* 8011F4DC 0011C43C 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f
/* 8011F4E0 0011C440 40 82 00 08 */ bne lbl_8011F4E8
/* 8011F4E4 0011C444 38 80 00 01 */ li r4, 1
lbl_8011F4E8:
/* 8011F4E8 0011C448 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8011F4EC 0011C44C 41 82 00 FC */ beq lbl_8011F5E8
/* 8011F4F0 0011C450 7C A4 2B 78 */ mr r4, r5
/* 8011F4F4 0011C454 38 61 00 68 */ addi r3, r1, 0x68
/* 8011F4F8 0011C458 48 1F 3C 49 */ bl Translate__12CTransform4fFRC9CVector3f
/* 8011F4FC 0011C45C 38 61 00 98 */ addi r3, r1, 0x98
/* 8011F500 0011C460 38 81 00 68 */ addi r4, r1, 0x68
/* 8011F504 0011C464 38 BF 02 20 */ addi r5, r31, 0x220
/* 8011F508 0011C468 48 1F 34 49 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011F50C 0011C46C 38 61 00 F8 */ addi r3, r1, 0xf8
/* 8011F510 0011C470 38 81 00 98 */ addi r4, r1, 0x98
/* 8011F514 0011C474 48 1F 36 61 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011F518 0011C478 88 7F 03 B2 */ lbz r3, 0x3b2(r31)
/* 8011F51C 0011C47C 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 8011F520 0011C480 41 82 00 C8 */ beq lbl_8011F5E8
/* 8011F524 0011C484 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8011F528 0011C488 41 82 00 18 */ beq lbl_8011F540
/* 8011F52C 0011C48C 80 7F 03 98 */ lwz r3, 0x398(r31)
/* 8011F530 0011C490 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F534 0011C494 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8011F538 0011C498 7D 89 03 A6 */ mtctr r12
/* 8011F53C 0011C49C 4E 80 04 21 */ bctrl
lbl_8011F540:
/* 8011F540 0011C4A0 80 7F 03 94 */ lwz r3, 0x394(r31)
/* 8011F544 0011C4A4 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F548 0011C4A8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8011F54C 0011C4AC 7D 89 03 A6 */ mtctr r12
/* 8011F550 0011C4B0 4E 80 04 21 */ bctrl
/* 8011F554 0011C4B4 80 7F 03 A0 */ lwz r3, 0x3a0(r31)
/* 8011F558 0011C4B8 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F55C 0011C4BC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8011F560 0011C4C0 7D 89 03 A6 */ mtctr r12
/* 8011F564 0011C4C4 4E 80 04 21 */ bctrl
/* 8011F568 0011C4C8 80 7F 03 90 */ lwz r3, 0x390(r31)
/* 8011F56C 0011C4CC 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F570 0011C4D0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8011F574 0011C4D4 7D 89 03 A6 */ mtctr r12
/* 8011F578 0011C4D8 4E 80 04 21 */ bctrl
/* 8011F57C 0011C4DC 3C 80 80 5A */ lis r4, mViewMatrix__9CGraphics@ha
/* 8011F580 0011C4E0 38 61 00 C8 */ addi r3, r1, 0xc8
/* 8011F584 0011C4E4 38 84 61 D4 */ addi r4, r4, mViewMatrix__9CGraphics@l
/* 8011F588 0011C4E8 48 1F 35 ED */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011F58C 0011C4EC 38 61 00 08 */ addi r3, r1, 8
/* 8011F590 0011C4F0 38 81 00 F8 */ addi r4, r1, 0xf8
/* 8011F594 0011C4F4 48 1F 31 4D */ bl GetInverse__12CTransform4fCFv
/* 8011F598 0011C4F8 38 61 00 38 */ addi r3, r1, 0x38
/* 8011F59C 0011C4FC 38 81 00 08 */ addi r4, r1, 8
/* 8011F5A0 0011C500 38 A1 00 C8 */ addi r5, r1, 0xc8
/* 8011F5A4 0011C504 48 1F 33 AD */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011F5A8 0011C508 38 61 00 38 */ addi r3, r1, 0x38
/* 8011F5AC 0011C50C 48 1E D1 A1 */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 8011F5B0 0011C510 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8011F5B4 0011C514 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 8011F5B8 0011C518 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 8011F5BC 0011C51C 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F5C0 0011C520 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8011F5C4 0011C524 7D 89 03 A6 */ mtctr r12
/* 8011F5C8 0011C528 4E 80 04 21 */ bctrl
/* 8011F5CC 0011C52C 80 7F 03 9C */ lwz r3, 0x39c(r31)
/* 8011F5D0 0011C530 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F5D4 0011C534 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8011F5D8 0011C538 7D 89 03 A6 */ mtctr r12
/* 8011F5DC 0011C53C 4E 80 04 21 */ bctrl
/* 8011F5E0 0011C540 38 61 00 C8 */ addi r3, r1, 0xc8
/* 8011F5E4 0011C544 48 1E D1 69 */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
lbl_8011F5E8:
/* 8011F5E8 0011C548 80 01 01 34 */ lwz r0, 0x134(r1)
/* 8011F5EC 0011C54C 83 E1 01 2C */ lwz r31, 0x12c(r1)
/* 8011F5F0 0011C550 7C 08 03 A6 */ mtlr r0
/* 8011F5F4 0011C554 38 21 01 30 */ addi r1, r1, 0x130
/* 8011F5F8 0011C558 4E 80 00 20 */ blr
.global Render__11CGrappleArmCFRC13CStateManagerRC9CVector3fRC11CModelFlagsPC12CActorLights
Render__11CGrappleArmCFRC13CStateManagerRC9CVector3fRC11CModelFlagsPC12CActorLights:
/* 8011F5FC 0011C55C 94 21 FE 80 */ stwu r1, -0x180(r1)
/* 8011F600 0011C560 7C 08 02 A6 */ mflr r0
/* 8011F604 0011C564 90 01 01 84 */ stw r0, 0x184(r1)
/* 8011F608 0011C568 BF 61 01 6C */ stmw r27, 0x16c(r1)
/* 8011F60C 0011C56C 7C 7C 1B 78 */ mr r28, r3
/* 8011F610 0011C570 7C 9D 23 78 */ mr r29, r4
/* 8011F614 0011C574 7C DE 33 78 */ mr r30, r6
/* 8011F618 0011C578 7C FF 3B 78 */ mr r31, r7
/* 8011F61C 0011C57C 38 80 00 00 */ li r4, 0
/* 8011F620 0011C580 88 63 03 B2 */ lbz r3, 0x3b2(r3)
/* 8011F624 0011C584 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8011F628 0011C588 41 82 00 10 */ beq lbl_8011F638
/* 8011F62C 0011C58C 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f
/* 8011F630 0011C590 40 82 00 08 */ bne lbl_8011F638
/* 8011F634 0011C594 38 80 00 01 */ li r4, 1
lbl_8011F638:
/* 8011F638 0011C598 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8011F63C 0011C59C 41 82 01 E0 */ beq lbl_8011F81C
/* 8011F640 0011C5A0 7C A4 2B 78 */ mr r4, r5
/* 8011F644 0011C5A4 38 61 00 A8 */ addi r3, r1, 0xa8
/* 8011F648 0011C5A8 48 1F 3A F9 */ bl Translate__12CTransform4fFRC9CVector3f
/* 8011F64C 0011C5AC 38 61 00 D8 */ addi r3, r1, 0xd8
/* 8011F650 0011C5B0 38 81 00 A8 */ addi r4, r1, 0xa8
/* 8011F654 0011C5B4 38 BC 02 20 */ addi r5, r28, 0x220
/* 8011F658 0011C5B8 48 1F 32 F9 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011F65C 0011C5BC 38 61 01 08 */ addi r3, r1, 0x108
/* 8011F660 0011C5C0 38 81 00 D8 */ addi r4, r1, 0xd8
/* 8011F664 0011C5C4 38 BC 02 E0 */ addi r5, r28, 0x2e0
/* 8011F668 0011C5C8 48 1F 32 E9 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011F66C 0011C5CC 38 61 01 38 */ addi r3, r1, 0x138
/* 8011F670 0011C5D0 38 81 01 08 */ addi r4, r1, 0x108
/* 8011F674 0011C5D4 48 1F 35 01 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011F678 0011C5D8 88 1C 00 9C */ lbz r0, 0x9c(r28)
/* 8011F67C 0011C5DC 28 00 00 00 */ cmplwi r0, 0
/* 8011F680 0011C5E0 41 82 00 18 */ beq lbl_8011F698
/* 8011F684 0011C5E4 7F 83 E3 78 */ mr r3, r28
/* 8011F688 0011C5E8 7F A4 EB 78 */ mr r4, r29
/* 8011F68C 0011C5EC 7F C6 F3 78 */ mr r6, r30
/* 8011F690 0011C5F0 38 A1 01 38 */ addi r5, r1, 0x138
/* 8011F694 0011C5F4 4B FF DE A1 */ bl RenderXRayModel__11CGrappleArmFRC13CStateManagerRC12CTransform4fRC11CModelFlags
lbl_8011F698:
/* 8011F698 0011C5F8 80 7D 08 B8 */ lwz r3, 0x8b8(r29)
/* 8011F69C 0011C5FC 80 63 00 00 */ lwz r3, 0(r3)
/* 8011F6A0 0011C600 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8011F6A4 0011C604 20 00 00 01 */ subfic r0, r0, 1
/* 8011F6A8 0011C608 7C 03 00 34 */ cntlzw r3, r0
/* 8011F6AC 0011C60C 54 60 DE 3F */ rlwinm. r0, r3, 0x1b, 0x18, 0x1f
/* 8011F6B0 0011C610 54 7B D9 7E */ srwi r27, r3, 5
/* 8011F6B4 0011C614 41 82 00 3C */ beq lbl_8011F6F0
/* 8011F6B8 0011C618 C0 22 97 68 */ lfs f1, lbl_805AB488@sda21(r2)
/* 8011F6BC 0011C61C 38 80 00 05 */ li r4, 5
/* 8011F6C0 0011C620 38 60 00 00 */ li r3, 0
/* 8011F6C4 0011C624 38 00 00 03 */ li r0, 3
/* 8011F6C8 0011C628 FC 40 08 90 */ fmr f2, f1
/* 8011F6CC 0011C62C 98 81 00 08 */ stb r4, 8(r1)
/* 8011F6D0 0011C630 FC 60 08 90 */ fmr f3, f1
/* 8011F6D4 0011C634 C0 82 97 9C */ lfs f4, lbl_805AB4BC@sda21(r2)
/* 8011F6D8 0011C638 98 61 00 09 */ stb r3, 9(r1)
/* 8011F6DC 0011C63C 38 61 00 0C */ addi r3, r1, 0xc
/* 8011F6E0 0011C640 B0 01 00 0A */ sth r0, 0xa(r1)
/* 8011F6E4 0011C644 48 24 3D 09 */ bl __ct__6CColorFffff
/* 8011F6E8 0011C648 38 81 00 08 */ addi r4, r1, 8
/* 8011F6EC 0011C64C 48 00 00 08 */ b lbl_8011F6F4
lbl_8011F6F0:
/* 8011F6F0 0011C650 7F C4 F3 78 */ mr r4, r30
lbl_8011F6F4:
/* 8011F6F4 0011C654 88 64 00 00 */ lbz r3, 0(r4)
/* 8011F6F8 0011C658 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 8011F6FC 0011C65C 98 61 00 10 */ stb r3, 0x10(r1)
/* 8011F700 0011C660 88 04 00 01 */ lbz r0, 1(r4)
/* 8011F704 0011C664 98 01 00 11 */ stb r0, 0x11(r1)
/* 8011F708 0011C668 A0 04 00 02 */ lhz r0, 2(r4)
/* 8011F70C 0011C66C B0 01 00 12 */ sth r0, 0x12(r1)
/* 8011F710 0011C670 80 04 00 04 */ lwz r0, 4(r4)
/* 8011F714 0011C674 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011F718 0011C678 41 82 00 0C */ beq lbl_8011F724
/* 8011F71C 0011C67C 3B C0 00 00 */ li r30, 0
/* 8011F720 0011C680 48 00 00 08 */ b lbl_8011F728
lbl_8011F724:
/* 8011F724 0011C684 7F FE FB 78 */ mr r30, r31
lbl_8011F728:
/* 8011F728 0011C688 80 7C 03 A4 */ lwz r3, 0x3a4(r28)
/* 8011F72C 0011C68C 28 03 00 00 */ cmplwi r3, 0
/* 8011F730 0011C690 41 82 00 1C */ beq lbl_8011F74C
/* 8011F734 0011C694 88 03 00 48 */ lbz r0, 0x48(r3)
/* 8011F738 0011C698 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8011F73C 0011C69C 41 82 00 10 */ beq lbl_8011F74C
/* 8011F740 0011C6A0 3C 80 80 12 */ lis r4, PointGenerator__11CGrappleArmFPvPC9CVector3fPC9CVector3fi@ha
/* 8011F744 0011C6A4 38 84 D5 0C */ addi r4, r4, PointGenerator__11CGrappleArmFPvPC9CVector3fPC9CVector3fi@l
/* 8011F748 0011C6A8 48 23 2F CD */ bl SetPointGeneratorFunc__13CSkinnedModelFUiPFUiPC9CVector3fPC9CVector3fi_v
lbl_8011F74C:
/* 8011F74C 0011C6AC 7F 83 E3 78 */ mr r3, r28
/* 8011F750 0011C6B0 7F A4 EB 78 */ mr r4, r29
/* 8011F754 0011C6B4 7F C6 F3 78 */ mr r6, r30
/* 8011F758 0011C6B8 38 A1 01 38 */ addi r5, r1, 0x138
/* 8011F75C 0011C6BC 38 E1 00 10 */ addi r7, r1, 0x10
/* 8011F760 0011C6C0 4B FF 56 5D */ bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags
/* 8011F764 0011C6C4 80 7C 03 A4 */ lwz r3, 0x3a4(r28)
/* 8011F768 0011C6C8 28 03 00 00 */ cmplwi r3, 0
/* 8011F76C 0011C6CC 41 82 00 20 */ beq lbl_8011F78C
/* 8011F770 0011C6D0 88 03 00 48 */ lbz r0, 0x48(r3)
/* 8011F774 0011C6D4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8011F778 0011C6D8 41 82 00 14 */ beq lbl_8011F78C
/* 8011F77C 0011C6DC 48 23 2F 8D */ bl ClearPointGeneratorFunc__13CSkinnedModelFv
/* 8011F780 0011C6E0 80 7C 03 A4 */ lwz r3, 0x3a4(r28)
/* 8011F784 0011C6E4 38 81 01 38 */ addi r4, r1, 0x138
/* 8011F788 0011C6E8 48 14 AC 39 */ bl Draw__20CRainSplashGeneratorCFRC12CTransform4f
lbl_8011F78C:
/* 8011F78C 0011C6EC 80 7D 08 B8 */ lwz r3, 0x8b8(r29)
/* 8011F790 0011C6F0 38 80 00 0C */ li r4, 0xc
/* 8011F794 0011C6F4 80 63 00 00 */ lwz r3, 0(r3)
/* 8011F798 0011C6F8 4B F7 23 29 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType
/* 8011F79C 0011C6FC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8011F7A0 0011C700 41 82 00 7C */ beq lbl_8011F81C
/* 8011F7A4 0011C704 38 61 00 78 */ addi r3, r1, 0x78
/* 8011F7A8 0011C708 38 81 01 38 */ addi r4, r1, 0x138
/* 8011F7AC 0011C70C 38 BC 02 50 */ addi r5, r28, 0x250
/* 8011F7B0 0011C710 48 1F 31 A1 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011F7B4 0011C714 7F A4 EB 78 */ mr r4, r29
/* 8011F7B8 0011C718 7F C6 F3 78 */ mr r6, r30
/* 8011F7BC 0011C71C 38 7C 00 A0 */ addi r3, r28, 0xa0
/* 8011F7C0 0011C720 38 A1 00 78 */ addi r5, r1, 0x78
/* 8011F7C4 0011C724 38 E1 00 10 */ addi r7, r1, 0x10
/* 8011F7C8 0011C728 4B FF 55 F5 */ bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags
/* 8011F7CC 0011C72C 38 61 00 48 */ addi r3, r1, 0x48
/* 8011F7D0 0011C730 38 81 01 38 */ addi r4, r1, 0x138
/* 8011F7D4 0011C734 38 BC 02 80 */ addi r5, r28, 0x280
/* 8011F7D8 0011C738 48 1F 31 79 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011F7DC 0011C73C 7F A4 EB 78 */ mr r4, r29
/* 8011F7E0 0011C740 7F C6 F3 78 */ mr r6, r30
/* 8011F7E4 0011C744 38 7C 00 EC */ addi r3, r28, 0xec
/* 8011F7E8 0011C748 38 A1 00 48 */ addi r5, r1, 0x48
/* 8011F7EC 0011C74C 38 E1 00 10 */ addi r7, r1, 0x10
/* 8011F7F0 0011C750 4B FF 55 CD */ bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags
/* 8011F7F4 0011C754 38 61 00 18 */ addi r3, r1, 0x18
/* 8011F7F8 0011C758 38 81 01 38 */ addi r4, r1, 0x138
/* 8011F7FC 0011C75C 38 BC 02 B0 */ addi r5, r28, 0x2b0
/* 8011F800 0011C760 48 1F 31 51 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011F804 0011C764 7F A4 EB 78 */ mr r4, r29
/* 8011F808 0011C768 7F C6 F3 78 */ mr r6, r30
/* 8011F80C 0011C76C 38 7C 01 38 */ addi r3, r28, 0x138
/* 8011F810 0011C770 38 A1 00 18 */ addi r5, r1, 0x18
/* 8011F814 0011C774 38 E1 00 10 */ addi r7, r1, 0x10
/* 8011F818 0011C778 4B FF 55 A5 */ bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags
lbl_8011F81C:
/* 8011F81C 0011C77C BB 61 01 6C */ lmw r27, 0x16c(r1)
/* 8011F820 0011C780 80 01 01 84 */ lwz r0, 0x184(r1)
/* 8011F824 0011C784 7C 08 03 A6 */ mtlr r0
/* 8011F828 0011C788 38 21 01 80 */ addi r1, r1, 0x180
/* 8011F82C 0011C78C 4E 80 00 20 */ blr
.global PreRender__11CGrappleArmFR13CStateManagerRC14CFrustumPlanesRC9CVector3f
PreRender__11CGrappleArmFR13CStateManagerRC14CFrustumPlanesRC9CVector3f:
/* 8011F830 0011C790 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011F834 0011C794 7C 08 02 A6 */ mflr r0
/* 8011F838 0011C798 38 80 00 00 */ li r4, 0
/* 8011F83C 0011C79C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011F840 0011C7A0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8011F844 0011C7A4 7C 7F 1B 78 */ mr r31, r3
/* 8011F848 0011C7A8 88 63 03 B2 */ lbz r3, 0x3b2(r3)
/* 8011F84C 0011C7AC 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8011F850 0011C7B0 41 82 00 10 */ beq lbl_8011F860
/* 8011F854 0011C7B4 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f
/* 8011F858 0011C7B8 40 82 00 08 */ bne lbl_8011F860
/* 8011F85C 0011C7BC 38 80 00 01 */ li r4, 1
lbl_8011F860:
/* 8011F860 0011C7C0 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8011F864 0011C7C4 41 82 00 20 */ beq lbl_8011F884
/* 8011F868 0011C7C8 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8011F86C 0011C7CC 4B F0 D1 99 */ bl PreRender__9CAnimDataFv
/* 8011F870 0011C7D0 88 1F 00 9C */ lbz r0, 0x9c(r31)
/* 8011F874 0011C7D4 28 00 00 00 */ cmplwi r0, 0
/* 8011F878 0011C7D8 41 82 00 0C */ beq lbl_8011F884
/* 8011F87C 0011C7DC 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 8011F880 0011C7E0 4B F0 D1 85 */ bl PreRender__9CAnimDataFv
lbl_8011F884:
/* 8011F884 0011C7E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011F888 0011C7E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011F88C 0011C7EC 7C 08 03 A6 */ mtlr r0
/* 8011F890 0011C7F0 38 21 00 10 */ addi r1, r1, 0x10
/* 8011F894 0011C7F4 4E 80 00 20 */ blr
.global TouchModel__11CGrappleArmCFRC13CStateManager
TouchModel__11CGrappleArmCFRC13CStateManager:
/* 8011F898 0011C7F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011F89C 0011C7FC 7C 08 02 A6 */ mflr r0
/* 8011F8A0 0011C800 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011F8A4 0011C804 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8011F8A8 0011C808 7C 9F 23 78 */ mr r31, r4
/* 8011F8AC 0011C80C 38 80 00 00 */ li r4, 0
/* 8011F8B0 0011C810 93 C1 00 08 */ stw r30, 8(r1)
/* 8011F8B4 0011C814 7C 7E 1B 78 */ mr r30, r3
/* 8011F8B8 0011C818 88 63 03 B2 */ lbz r3, 0x3b2(r3)
/* 8011F8BC 0011C81C 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8011F8C0 0011C820 41 82 00 10 */ beq lbl_8011F8D0
/* 8011F8C4 0011C824 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f
/* 8011F8C8 0011C828 40 82 00 08 */ bne lbl_8011F8D0
/* 8011F8CC 0011C82C 38 80 00 01 */ li r4, 1
lbl_8011F8D0:
/* 8011F8D0 0011C830 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8011F8D4 0011C834 41 82 00 78 */ beq lbl_8011F94C
/* 8011F8D8 0011C838 7F C3 F3 78 */ mr r3, r30
/* 8011F8DC 0011C83C 7F E4 FB 78 */ mr r4, r31
/* 8011F8E0 0011C840 38 A0 00 00 */ li r5, 0
/* 8011F8E4 0011C844 4B FF 64 2D */ bl Touch__10CModelDataCFRC13CStateManageri
/* 8011F8E8 0011C848 88 1E 00 9C */ lbz r0, 0x9c(r30)
/* 8011F8EC 0011C84C 28 00 00 00 */ cmplwi r0, 0
/* 8011F8F0 0011C850 41 82 00 14 */ beq lbl_8011F904
/* 8011F8F4 0011C854 7F E4 FB 78 */ mr r4, r31
/* 8011F8F8 0011C858 38 7E 00 50 */ addi r3, r30, 0x50
/* 8011F8FC 0011C85C 38 A0 00 00 */ li r5, 0
/* 8011F900 0011C860 4B FF 64 11 */ bl Touch__10CModelDataCFRC13CStateManageri
lbl_8011F904:
/* 8011F904 0011C864 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8011F908 0011C868 38 80 00 0C */ li r4, 0xc
/* 8011F90C 0011C86C 80 63 00 00 */ lwz r3, 0(r3)
/* 8011F910 0011C870 4B F7 21 B1 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType
/* 8011F914 0011C874 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8011F918 0011C878 41 82 00 34 */ beq lbl_8011F94C
/* 8011F91C 0011C87C 7F E4 FB 78 */ mr r4, r31
/* 8011F920 0011C880 38 7E 00 A0 */ addi r3, r30, 0xa0
/* 8011F924 0011C884 38 A0 00 00 */ li r5, 0
/* 8011F928 0011C888 4B FF 63 E9 */ bl Touch__10CModelDataCFRC13CStateManageri
/* 8011F92C 0011C88C 7F E4 FB 78 */ mr r4, r31
/* 8011F930 0011C890 38 7E 00 EC */ addi r3, r30, 0xec
/* 8011F934 0011C894 38 A0 00 00 */ li r5, 0
/* 8011F938 0011C898 4B FF 63 D9 */ bl Touch__10CModelDataCFRC13CStateManageri
/* 8011F93C 0011C89C 7F E4 FB 78 */ mr r4, r31
/* 8011F940 0011C8A0 38 7E 01 38 */ addi r3, r30, 0x138
/* 8011F944 0011C8A4 38 A0 00 00 */ li r5, 0
/* 8011F948 0011C8A8 4B FF 63 C9 */ bl Touch__10CModelDataCFRC13CStateManageri
lbl_8011F94C:
/* 8011F94C 0011C8AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011F950 0011C8B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011F954 0011C8B4 83 C1 00 08 */ lwz r30, 8(r1)
/* 8011F958 0011C8B8 7C 08 03 A6 */ mtlr r0
/* 8011F95C 0011C8BC 38 21 00 10 */ addi r1, r1, 0x10
/* 8011F960 0011C8C0 4E 80 00 20 */ blr
.global __dt__11CGrappleArmFv
__dt__11CGrappleArmFv:
/* 8011F964 0011C8C4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8011F968 0011C8C8 7C 08 02 A6 */ mflr r0
/* 8011F96C 0011C8CC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8011F970 0011C8D0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8011F974 0011C8D4 7C 9F 23 78 */ mr r31, r4
/* 8011F978 0011C8D8 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8011F97C 0011C8DC 7C 7E 1B 79 */ or. r30, r3, r3
/* 8011F980 0011C8E0 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8011F984 0011C8E4 93 81 00 20 */ stw r28, 0x20(r1)
/* 8011F988 0011C8E8 41 82 02 68 */ beq lbl_8011FBF0
/* 8011F98C 0011C8EC 38 7E 03 A4 */ addi r3, r30, 0x3a4
/* 8011F990 0011C8F0 38 80 FF FF */ li r4, -1
/* 8011F994 0011C8F4 4B F2 35 E5 */ bl "__dt__Q24rstl34single_ptr<20CRainSplashGenerator>Fv"
/* 8011F998 0011C8F8 34 1E 03 A0 */ addic. r0, r30, 0x3a0
/* 8011F99C 0011C8FC 41 82 00 24 */ beq lbl_8011F9C0
/* 8011F9A0 0011C900 80 7E 03 A0 */ lwz r3, 0x3a0(r30)
/* 8011F9A4 0011C904 28 03 00 00 */ cmplwi r3, 0
/* 8011F9A8 0011C908 41 82 00 18 */ beq lbl_8011F9C0
/* 8011F9AC 0011C90C 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F9B0 0011C910 38 80 00 01 */ li r4, 1
/* 8011F9B4 0011C914 81 8C 00 08 */ lwz r12, 8(r12)
/* 8011F9B8 0011C918 7D 89 03 A6 */ mtctr r12
/* 8011F9BC 0011C91C 4E 80 04 21 */ bctrl
lbl_8011F9C0:
/* 8011F9C0 0011C920 34 1E 03 9C */ addic. r0, r30, 0x39c
/* 8011F9C4 0011C924 41 82 00 24 */ beq lbl_8011F9E8
/* 8011F9C8 0011C928 80 7E 03 9C */ lwz r3, 0x39c(r30)
/* 8011F9CC 0011C92C 28 03 00 00 */ cmplwi r3, 0
/* 8011F9D0 0011C930 41 82 00 18 */ beq lbl_8011F9E8
/* 8011F9D4 0011C934 81 83 00 00 */ lwz r12, 0(r3)
/* 8011F9D8 0011C938 38 80 00 01 */ li r4, 1
/* 8011F9DC 0011C93C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8011F9E0 0011C940 7D 89 03 A6 */ mtctr r12
/* 8011F9E4 0011C944 4E 80 04 21 */ bctrl
lbl_8011F9E8:
/* 8011F9E8 0011C948 34 1E 03 98 */ addic. r0, r30, 0x398
/* 8011F9EC 0011C94C 41 82 00 24 */ beq lbl_8011FA10
/* 8011F9F0 0011C950 80 7E 03 98 */ lwz r3, 0x398(r30)
/* 8011F9F4 0011C954 28 03 00 00 */ cmplwi r3, 0
/* 8011F9F8 0011C958 41 82 00 18 */ beq lbl_8011FA10
/* 8011F9FC 0011C95C 81 83 00 00 */ lwz r12, 0(r3)
/* 8011FA00 0011C960 38 80 00 01 */ li r4, 1
/* 8011FA04 0011C964 81 8C 00 08 */ lwz r12, 8(r12)
/* 8011FA08 0011C968 7D 89 03 A6 */ mtctr r12
/* 8011FA0C 0011C96C 4E 80 04 21 */ bctrl
lbl_8011FA10:
/* 8011FA10 0011C970 34 1E 03 94 */ addic. r0, r30, 0x394
/* 8011FA14 0011C974 41 82 00 24 */ beq lbl_8011FA38
/* 8011FA18 0011C978 80 7E 03 94 */ lwz r3, 0x394(r30)
/* 8011FA1C 0011C97C 28 03 00 00 */ cmplwi r3, 0
/* 8011FA20 0011C980 41 82 00 18 */ beq lbl_8011FA38
/* 8011FA24 0011C984 81 83 00 00 */ lwz r12, 0(r3)
/* 8011FA28 0011C988 38 80 00 01 */ li r4, 1
/* 8011FA2C 0011C98C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8011FA30 0011C990 7D 89 03 A6 */ mtctr r12
/* 8011FA34 0011C994 4E 80 04 21 */ bctrl
lbl_8011FA38:
/* 8011FA38 0011C998 34 1E 03 90 */ addic. r0, r30, 0x390
/* 8011FA3C 0011C99C 41 82 00 24 */ beq lbl_8011FA60
/* 8011FA40 0011C9A0 80 7E 03 90 */ lwz r3, 0x390(r30)
/* 8011FA44 0011C9A4 28 03 00 00 */ cmplwi r3, 0
/* 8011FA48 0011C9A8 41 82 00 18 */ beq lbl_8011FA60
/* 8011FA4C 0011C9AC 81 83 00 00 */ lwz r12, 0(r3)
/* 8011FA50 0011C9B0 38 80 00 01 */ li r4, 1
/* 8011FA54 0011C9B4 81 8C 00 08 */ lwz r12, 8(r12)
/* 8011FA58 0011C9B8 7D 89 03 A6 */ mtctr r12
/* 8011FA5C 0011C9BC 4E 80 04 21 */ bctrl
lbl_8011FA60:
/* 8011FA60 0011C9C0 34 1E 03 84 */ addic. r0, r30, 0x384
/* 8011FA64 0011C9C4 41 82 00 18 */ beq lbl_8011FA7C
/* 8011FA68 0011C9C8 34 1E 03 84 */ addic. r0, r30, 0x384
/* 8011FA6C 0011C9CC 41 82 00 10 */ beq lbl_8011FA7C
/* 8011FA70 0011C9D0 38 7E 03 84 */ addi r3, r30, 0x384
/* 8011FA74 0011C9D4 38 80 00 00 */ li r4, 0
/* 8011FA78 0011C9D8 48 22 13 C9 */ bl __dt__6CTokenFv
lbl_8011FA7C:
/* 8011FA7C 0011C9DC 34 1E 03 78 */ addic. r0, r30, 0x378
/* 8011FA80 0011C9E0 41 82 00 18 */ beq lbl_8011FA98
/* 8011FA84 0011C9E4 34 1E 03 78 */ addic. r0, r30, 0x378
/* 8011FA88 0011C9E8 41 82 00 10 */ beq lbl_8011FA98
/* 8011FA8C 0011C9EC 38 7E 03 78 */ addi r3, r30, 0x378
/* 8011FA90 0011C9F0 38 80 00 00 */ li r4, 0
/* 8011FA94 0011C9F4 48 22 13 AD */ bl __dt__6CTokenFv
lbl_8011FA98:
/* 8011FA98 0011C9F8 34 1E 03 6C */ addic. r0, r30, 0x36c
/* 8011FA9C 0011C9FC 41 82 00 18 */ beq lbl_8011FAB4
/* 8011FAA0 0011CA00 34 1E 03 6C */ addic. r0, r30, 0x36c
/* 8011FAA4 0011CA04 41 82 00 10 */ beq lbl_8011FAB4
/* 8011FAA8 0011CA08 38 7E 03 6C */ addi r3, r30, 0x36c
/* 8011FAAC 0011CA0C 38 80 00 00 */ li r4, 0
/* 8011FAB0 0011CA10 48 22 13 91 */ bl __dt__6CTokenFv
lbl_8011FAB4:
/* 8011FAB4 0011CA14 34 1E 03 60 */ addic. r0, r30, 0x360
/* 8011FAB8 0011CA18 41 82 00 18 */ beq lbl_8011FAD0
/* 8011FABC 0011CA1C 34 1E 03 60 */ addic. r0, r30, 0x360
/* 8011FAC0 0011CA20 41 82 00 10 */ beq lbl_8011FAD0
/* 8011FAC4 0011CA24 38 7E 03 60 */ addi r3, r30, 0x360
/* 8011FAC8 0011CA28 38 80 00 00 */ li r4, 0
/* 8011FACC 0011CA2C 48 22 13 75 */ bl __dt__6CTokenFv
lbl_8011FAD0:
/* 8011FAD0 0011CA30 34 1E 03 54 */ addic. r0, r30, 0x354
/* 8011FAD4 0011CA34 41 82 00 18 */ beq lbl_8011FAEC
/* 8011FAD8 0011CA38 34 1E 03 54 */ addic. r0, r30, 0x354
/* 8011FADC 0011CA3C 41 82 00 10 */ beq lbl_8011FAEC
/* 8011FAE0 0011CA40 38 7E 03 54 */ addi r3, r30, 0x354
/* 8011FAE4 0011CA44 38 80 00 00 */ li r4, 0
/* 8011FAE8 0011CA48 48 22 13 59 */ bl __dt__6CTokenFv
lbl_8011FAEC:
/* 8011FAEC 0011CA4C 38 7E 03 28 */ addi r3, r30, 0x328
/* 8011FAF0 0011CA50 38 80 FF FF */ li r4, -1
/* 8011FAF4 0011CA54 48 00 02 15 */ bl "__dt__Q24rstl28single_ptr<14CGunController>Fv"
/* 8011FAF8 0011CA58 38 7E 01 9C */ addi r3, r30, 0x19c
/* 8011FAFC 0011CA5C 38 80 FF FF */ li r4, -1
/* 8011FB00 0011CA60 48 00 01 15 */ bl sub_8011fc14
/* 8011FB04 0011CA64 34 1E 01 8C */ addic. r0, r30, 0x18c
/* 8011FB08 0011CA68 41 82 00 50 */ beq lbl_8011FB58
/* 8011FB0C 0011CA6C 80 1E 01 90 */ lwz r0, 0x190(r30)
/* 8011FB10 0011CA70 83 9E 01 98 */ lwz r28, 0x198(r30)
/* 8011FB14 0011CA74 54 00 18 38 */ slwi r0, r0, 3
/* 8011FB18 0011CA78 7F BC 02 14 */ add r29, r28, r0
/* 8011FB1C 0011CA7C 93 81 00 0C */ stw r28, 0xc(r1)
/* 8011FB20 0011CA80 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8011FB24 0011CA84 93 A1 00 10 */ stw r29, 0x10(r1)
/* 8011FB28 0011CA88 93 81 00 08 */ stw r28, 8(r1)
/* 8011FB2C 0011CA8C 48 00 00 14 */ b lbl_8011FB40
lbl_8011FB30:
/* 8011FB30 0011CA90 7F 83 E3 78 */ mr r3, r28
/* 8011FB34 0011CA94 38 80 FF FF */ li r4, -1
/* 8011FB38 0011CA98 48 22 13 09 */ bl __dt__6CTokenFv
/* 8011FB3C 0011CA9C 3B 9C 00 08 */ addi r28, r28, 8
lbl_8011FB40:
/* 8011FB40 0011CAA0 7C 1C E8 40 */ cmplw r28, r29
/* 8011FB44 0011CAA4 40 82 FF EC */ bne lbl_8011FB30
/* 8011FB48 0011CAA8 80 7E 01 98 */ lwz r3, 0x198(r30)
/* 8011FB4C 0011CAAC 28 03 00 00 */ cmplwi r3, 0
/* 8011FB50 0011CAB0 41 82 00 08 */ beq lbl_8011FB58
/* 8011FB54 0011CAB4 48 1F 5D DD */ bl Free__7CMemoryFPCv
lbl_8011FB58:
/* 8011FB58 0011CAB8 34 1E 01 84 */ addic. r0, r30, 0x184
/* 8011FB5C 0011CABC 41 82 00 10 */ beq lbl_8011FB6C
/* 8011FB60 0011CAC0 38 7E 01 84 */ addi r3, r30, 0x184
/* 8011FB64 0011CAC4 38 80 00 00 */ li r4, 0
/* 8011FB68 0011CAC8 48 22 12 D9 */ bl __dt__6CTokenFv
lbl_8011FB6C:
/* 8011FB6C 0011CACC 38 7E 01 38 */ addi r3, r30, 0x138
/* 8011FB70 0011CAD0 38 80 FF FF */ li r4, -1
/* 8011FB74 0011CAD4 4B FF 6E D9 */ bl __dt__10CModelDataFv
/* 8011FB78 0011CAD8 38 7E 00 EC */ addi r3, r30, 0xec
/* 8011FB7C 0011CADC 38 80 FF FF */ li r4, -1
/* 8011FB80 0011CAE0 4B FF 6E CD */ bl __dt__10CModelDataFv
/* 8011FB84 0011CAE4 38 7E 00 A0 */ addi r3, r30, 0xa0
/* 8011FB88 0011CAE8 38 80 FF FF */ li r4, -1
/* 8011FB8C 0011CAEC 4B FF 6E C1 */ bl __dt__10CModelDataFv
/* 8011FB90 0011CAF0 34 1E 00 50 */ addic. r0, r30, 0x50
/* 8011FB94 0011CAF4 41 82 00 24 */ beq lbl_8011FBB8
/* 8011FB98 0011CAF8 88 1E 00 9C */ lbz r0, 0x9c(r30)
/* 8011FB9C 0011CAFC 28 00 00 00 */ cmplwi r0, 0
/* 8011FBA0 0011CB00 41 82 00 10 */ beq lbl_8011FBB0
/* 8011FBA4 0011CB04 38 7E 00 50 */ addi r3, r30, 0x50
/* 8011FBA8 0011CB08 38 80 FF FF */ li r4, -1
/* 8011FBAC 0011CB0C 4B FF 6E A1 */ bl __dt__10CModelDataFv
lbl_8011FBB0:
/* 8011FBB0 0011CB10 38 00 00 00 */ li r0, 0
/* 8011FBB4 0011CB14 98 1E 00 9C */ stb r0, 0x9c(r30)
lbl_8011FBB8:
/* 8011FBB8 0011CB18 28 1E 00 00 */ cmplwi r30, 0
/* 8011FBBC 0011CB1C 41 82 00 24 */ beq lbl_8011FBE0
/* 8011FBC0 0011CB20 88 1E 00 4C */ lbz r0, 0x4c(r30)
/* 8011FBC4 0011CB24 28 00 00 00 */ cmplwi r0, 0
/* 8011FBC8 0011CB28 41 82 00 10 */ beq lbl_8011FBD8
/* 8011FBCC 0011CB2C 7F C3 F3 78 */ mr r3, r30
/* 8011FBD0 0011CB30 38 80 FF FF */ li r4, -1
/* 8011FBD4 0011CB34 4B FF 6E 79 */ bl __dt__10CModelDataFv
lbl_8011FBD8:
/* 8011FBD8 0011CB38 38 00 00 00 */ li r0, 0
/* 8011FBDC 0011CB3C 98 1E 00 4C */ stb r0, 0x4c(r30)
lbl_8011FBE0:
/* 8011FBE0 0011CB40 7F E0 07 35 */ extsh. r0, r31
/* 8011FBE4 0011CB44 40 81 00 0C */ ble lbl_8011FBF0
/* 8011FBE8 0011CB48 7F C3 F3 78 */ mr r3, r30
/* 8011FBEC 0011CB4C 48 1F 5D 45 */ bl Free__7CMemoryFPCv
lbl_8011FBF0:
/* 8011FBF0 0011CB50 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8011FBF4 0011CB54 7F C3 F3 78 */ mr r3, r30
/* 8011FBF8 0011CB58 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8011FBFC 0011CB5C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8011FC00 0011CB60 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8011FC04 0011CB64 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8011FC08 0011CB68 7C 08 03 A6 */ mtlr r0
/* 8011FC0C 0011CB6C 38 21 00 30 */ addi r1, r1, 0x30
/* 8011FC10 0011CB70 4E 80 00 20 */ blr
.global sub_8011fc14
sub_8011fc14:
/* 8011FC14 0011CB74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011FC18 0011CB78 7C 08 02 A6 */ mflr r0
/* 8011FC1C 0011CB7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011FC20 0011CB80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8011FC24 0011CB84 7C 9F 23 78 */ mr r31, r4
/* 8011FC28 0011CB88 93 C1 00 08 */ stw r30, 8(r1)
/* 8011FC2C 0011CB8C 7C 7E 1B 79 */ or. r30, r3, r3
/* 8011FC30 0011CB90 41 82 00 18 */ beq lbl_8011FC48
/* 8011FC34 0011CB94 48 00 00 31 */ bl "clear__Q24rstl70reserved_vector<Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>,4>Fv"
/* 8011FC38 0011CB98 7F E0 07 35 */ extsh. r0, r31
/* 8011FC3C 0011CB9C 40 81 00 0C */ ble lbl_8011FC48
/* 8011FC40 0011CBA0 7F C3 F3 78 */ mr r3, r30
/* 8011FC44 0011CBA4 48 1F 5C ED */ bl Free__7CMemoryFPCv
lbl_8011FC48:
/* 8011FC48 0011CBA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011FC4C 0011CBAC 7F C3 F3 78 */ mr r3, r30
/* 8011FC50 0011CBB0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011FC54 0011CBB4 83 C1 00 08 */ lwz r30, 8(r1)
/* 8011FC58 0011CBB8 7C 08 03 A6 */ mtlr r0
/* 8011FC5C 0011CBBC 38 21 00 10 */ addi r1, r1, 0x10
/* 8011FC60 0011CBC0 4E 80 00 20 */ blr
.global "clear__Q24rstl70reserved_vector<Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>,4>Fv"
"clear__Q24rstl70reserved_vector<Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>,4>Fv":
/* 8011FC64 0011CBC4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8011FC68 0011CBC8 7C 08 02 A6 */ mflr r0
/* 8011FC6C 0011CBCC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8011FC70 0011CBD0 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 8011FC74 0011CBD4 7C 7B 1B 78 */ mr r27, r3
/* 8011FC78 0011CBD8 3B 80 00 00 */ li r28, 0
/* 8011FC7C 0011CBDC 3B DB 00 04 */ addi r30, r27, 4
/* 8011FC80 0011CBE0 48 00 00 60 */ b lbl_8011FCE0
lbl_8011FC84:
/* 8011FC84 0011CBE4 28 1E 00 00 */ cmplwi r30, 0
/* 8011FC88 0011CBE8 41 82 00 50 */ beq lbl_8011FCD8
/* 8011FC8C 0011CBEC 80 1E 00 04 */ lwz r0, 4(r30)
/* 8011FC90 0011CBF0 83 BE 00 0C */ lwz r29, 0xc(r30)
/* 8011FC94 0011CBF4 54 00 18 38 */ slwi r0, r0, 3
/* 8011FC98 0011CBF8 7F FD 02 14 */ add r31, r29, r0
/* 8011FC9C 0011CBFC 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8011FCA0 0011CC00 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8011FCA4 0011CC04 93 E1 00 10 */ stw r31, 0x10(r1)
/* 8011FCA8 0011CC08 93 A1 00 08 */ stw r29, 8(r1)
/* 8011FCAC 0011CC0C 48 00 00 14 */ b lbl_8011FCC0
lbl_8011FCB0:
/* 8011FCB0 0011CC10 7F A3 EB 78 */ mr r3, r29
/* 8011FCB4 0011CC14 38 80 FF FF */ li r4, -1
/* 8011FCB8 0011CC18 48 22 11 89 */ bl __dt__6CTokenFv
/* 8011FCBC 0011CC1C 3B BD 00 08 */ addi r29, r29, 8
lbl_8011FCC0:
/* 8011FCC0 0011CC20 7C 1D F8 40 */ cmplw r29, r31
/* 8011FCC4 0011CC24 40 82 FF EC */ bne lbl_8011FCB0
/* 8011FCC8 0011CC28 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8011FCCC 0011CC2C 28 03 00 00 */ cmplwi r3, 0
/* 8011FCD0 0011CC30 41 82 00 08 */ beq lbl_8011FCD8
/* 8011FCD4 0011CC34 48 1F 5C 5D */ bl Free__7CMemoryFPCv
lbl_8011FCD8:
/* 8011FCD8 0011CC38 3B DE 00 10 */ addi r30, r30, 0x10
/* 8011FCDC 0011CC3C 3B 9C 00 01 */ addi r28, r28, 1
lbl_8011FCE0:
/* 8011FCE0 0011CC40 80 1B 00 00 */ lwz r0, 0(r27)
/* 8011FCE4 0011CC44 7C 1C 00 00 */ cmpw r28, r0
/* 8011FCE8 0011CC48 41 80 FF 9C */ blt lbl_8011FC84
/* 8011FCEC 0011CC4C 38 00 00 00 */ li r0, 0
/* 8011FCF0 0011CC50 90 1B 00 00 */ stw r0, 0(r27)
/* 8011FCF4 0011CC54 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 8011FCF8 0011CC58 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8011FCFC 0011CC5C 7C 08 03 A6 */ mtlr r0
/* 8011FD00 0011CC60 38 21 00 30 */ addi r1, r1, 0x30
/* 8011FD04 0011CC64 4E 80 00 20 */ blr
.global "__dt__Q24rstl28single_ptr<14CGunController>Fv"
"__dt__Q24rstl28single_ptr<14CGunController>Fv":
/* 8011FD08 0011CC68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8011FD0C 0011CC6C 7C 08 02 A6 */ mflr r0
/* 8011FD10 0011CC70 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011FD14 0011CC74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8011FD18 0011CC78 7C 9F 23 78 */ mr r31, r4
/* 8011FD1C 0011CC7C 93 C1 00 08 */ stw r30, 8(r1)
/* 8011FD20 0011CC80 7C 7E 1B 79 */ or. r30, r3, r3
/* 8011FD24 0011CC84 41 82 00 20 */ beq lbl_8011FD44
/* 8011FD28 0011CC88 80 7E 00 00 */ lwz r3, 0(r30)
/* 8011FD2C 0011CC8C 38 80 00 01 */ li r4, 1
/* 8011FD30 0011CC90 4B FF DD ED */ bl __dt__14CGunControllerFv
/* 8011FD34 0011CC94 7F E0 07 35 */ extsh. r0, r31
/* 8011FD38 0011CC98 40 81 00 0C */ ble lbl_8011FD44
/* 8011FD3C 0011CC9C 7F C3 F3 78 */ mr r3, r30
/* 8011FD40 0011CCA0 48 1F 5B F1 */ bl Free__7CMemoryFPCv
lbl_8011FD44:
/* 8011FD44 0011CCA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8011FD48 0011CCA8 7F C3 F3 78 */ mr r3, r30
/* 8011FD4C 0011CCAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011FD50 0011CCB0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8011FD54 0011CCB4 7C 08 03 A6 */ mtlr r0
/* 8011FD58 0011CCB8 38 21 00 10 */ addi r1, r1, 0x10
/* 8011FD5C 0011CCBC 4E 80 00 20 */ blr
.global __ct__11CGrappleArmFRC9CVector3f
__ct__11CGrappleArmFRC9CVector3f:
/* 8011FD60 0011CCC0 94 21 FE C0 */ stwu r1, -0x140(r1)
/* 8011FD64 0011CCC4 7C 08 02 A6 */ mflr r0
/* 8011FD68 0011CCC8 80 C2 83 F0 */ lwz r6, lbl_805AA110@sda21(r2)
/* 8011FD6C 0011CCCC 90 01 01 44 */ stw r0, 0x144(r1)
/* 8011FD70 0011CCD0 38 00 00 29 */ li r0, 0x29
/* 8011FD74 0011CCD4 93 E1 01 3C */ stw r31, 0x13c(r1)
/* 8011FD78 0011CCD8 7C 7F 1B 78 */ mr r31, r3
/* 8011FD7C 0011CCDC 38 61 00 DC */ addi r3, r1, 0xdc
/* 8011FD80 0011CCE0 93 C1 01 38 */ stw r30, 0x138(r1)
/* 8011FD84 0011CCE4 7C 9E 23 78 */ mr r30, r4
/* 8011FD88 0011CCE8 93 A1 01 34 */ stw r29, 0x134(r1)
/* 8011FD8C 0011CCEC 93 81 01 30 */ stw r28, 0x130(r1)
/* 8011FD90 0011CCF0 80 AD A1 48 */ lwz r5, gpTweakGunRes@sda21(r13)
/* 8011FD94 0011CCF4 C0 44 00 00 */ lfs f2, 0(r4)
/* 8011FD98 0011CCF8 80 E5 00 08 */ lwz r7, 8(r5)
/* 8011FD9C 0011CCFC 38 A0 00 00 */ li r5, 0
/* 8011FDA0 0011CD00 C0 24 00 04 */ lfs f1, 4(r4)
/* 8011FDA4 0011CD04 C0 04 00 08 */ lfs f0, 8(r4)
/* 8011FDA8 0011CD08 38 81 00 C0 */ addi r4, r1, 0xc0
/* 8011FDAC 0011CD0C 90 E1 00 C0 */ stw r7, 0xc0(r1)
/* 8011FDB0 0011CD10 90 C1 00 C4 */ stw r6, 0xc4(r1)
/* 8011FDB4 0011CD14 D0 41 00 C8 */ stfs f2, 0xc8(r1)
/* 8011FDB8 0011CD18 D0 21 00 CC */ stfs f1, 0xcc(r1)
/* 8011FDBC 0011CD1C D0 01 00 D0 */ stfs f0, 0xd0(r1)
/* 8011FDC0 0011CD20 98 A1 00 D4 */ stb r5, 0xd4(r1)
/* 8011FDC4 0011CD24 90 01 00 D8 */ stw r0, 0xd8(r1)
/* 8011FDC8 0011CD28 4B FF 6D 8D */ bl __ct__10CModelDataFRC8CAnimRes
/* 8011FDCC 0011CD2C 7F E3 FB 78 */ mr r3, r31
/* 8011FDD0 0011CD30 38 81 00 DC */ addi r4, r1, 0xdc
/* 8011FDD4 0011CD34 4B FC 84 C5 */ bl sub_800e8298
/* 8011FDD8 0011CD38 38 61 00 DC */ addi r3, r1, 0xdc
/* 8011FDDC 0011CD3C 38 80 FF FF */ li r4, -1
/* 8011FDE0 0011CD40 4B FF 6C 6D */ bl __dt__10CModelDataFv
/* 8011FDE4 0011CD44 38 00 00 00 */ li r0, 0
/* 8011FDE8 0011CD48 80 62 97 48 */ lwz r3, lbl_805AB468@sda21(r2)
/* 8011FDEC 0011CD4C 98 1F 00 9C */ stb r0, 0x9c(r31)
/* 8011FDF0 0011CD50 48 16 B6 59 */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 8011FDF4 0011CD54 C0 5E 00 00 */ lfs f2, 0(r30)
/* 8011FDF8 0011CD58 38 81 00 B0 */ addi r4, r1, 0xb0
/* 8011FDFC 0011CD5C C0 3E 00 04 */ lfs f1, 4(r30)
/* 8011FE00 0011CD60 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8011FE04 0011CD64 90 61 00 B0 */ stw r3, 0xb0(r1)
/* 8011FE08 0011CD68 38 7F 00 A0 */ addi r3, r31, 0xa0
/* 8011FE0C 0011CD6C D0 41 00 B4 */ stfs f2, 0xb4(r1)
/* 8011FE10 0011CD70 D0 21 00 B8 */ stfs f1, 0xb8(r1)
/* 8011FE14 0011CD74 D0 01 00 BC */ stfs f0, 0xbc(r1)
/* 8011FE18 0011CD78 4B FF 6F 45 */ bl __ct__10CModelDataFRC10CStaticRes
/* 8011FE1C 0011CD7C 80 62 97 4C */ lwz r3, lbl_805AB46C@sda21(r2)
/* 8011FE20 0011CD80 48 16 B6 29 */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 8011FE24 0011CD84 C0 5E 00 00 */ lfs f2, 0(r30)
/* 8011FE28 0011CD88 38 81 00 A0 */ addi r4, r1, 0xa0
/* 8011FE2C 0011CD8C C0 3E 00 04 */ lfs f1, 4(r30)
/* 8011FE30 0011CD90 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8011FE34 0011CD94 90 61 00 A0 */ stw r3, 0xa0(r1)
/* 8011FE38 0011CD98 38 7F 00 EC */ addi r3, r31, 0xec
/* 8011FE3C 0011CD9C D0 41 00 A4 */ stfs f2, 0xa4(r1)
/* 8011FE40 0011CDA0 D0 21 00 A8 */ stfs f1, 0xa8(r1)
/* 8011FE44 0011CDA4 D0 01 00 AC */ stfs f0, 0xac(r1)
/* 8011FE48 0011CDA8 4B FF 6F 15 */ bl __ct__10CModelDataFRC10CStaticRes
/* 8011FE4C 0011CDAC 80 62 97 50 */ lwz r3, lbl_805AB470@sda21(r2)
/* 8011FE50 0011CDB0 48 16 B5 F9 */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 8011FE54 0011CDB4 C0 5E 00 00 */ lfs f2, 0(r30)
/* 8011FE58 0011CDB8 38 81 00 90 */ addi r4, r1, 0x90
/* 8011FE5C 0011CDBC C0 3E 00 04 */ lfs f1, 4(r30)
/* 8011FE60 0011CDC0 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8011FE64 0011CDC4 90 61 00 90 */ stw r3, 0x90(r1)
/* 8011FE68 0011CDC8 38 7F 01 38 */ addi r3, r31, 0x138
/* 8011FE6C 0011CDCC D0 41 00 94 */ stfs f2, 0x94(r1)
/* 8011FE70 0011CDD0 D0 21 00 98 */ stfs f1, 0x98(r1)
/* 8011FE74 0011CDD4 D0 01 00 9C */ stfs f0, 0x9c(r1)
/* 8011FE78 0011CDD8 4B FF 6E E5 */ bl __ct__10CModelDataFRC10CStaticRes
/* 8011FE7C 0011CDDC 80 AD A1 48 */ lwz r5, gpTweakGunRes@sda21(r13)
/* 8011FE80 0011CDE0 3C 60 41 4E */ lis r3, 0x414E4353@ha
/* 8011FE84 0011CDE4 38 03 43 53 */ addi r0, r3, 0x414E4353@l
/* 8011FE88 0011CDE8 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8011FE8C 0011CDEC 80 C5 00 08 */ lwz r6, 8(r5)
/* 8011FE90 0011CDF0 38 61 00 80 */ addi r3, r1, 0x80
/* 8011FE94 0011CDF4 38 A1 00 88 */ addi r5, r1, 0x88
/* 8011FE98 0011CDF8 90 01 00 88 */ stw r0, 0x88(r1)
/* 8011FE9C 0011CDFC 90 C1 00 8C */ stw r6, 0x8c(r1)
/* 8011FEA0 0011CE00 81 84 00 00 */ lwz r12, 0(r4)
/* 8011FEA4 0011CE04 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8011FEA8 0011CE08 7D 89 03 A6 */ mtctr r12
/* 8011FEAC 0011CE0C 4E 80 04 21 */ bctrl
/* 8011FEB0 0011CE10 38 7F 01 84 */ addi r3, r31, 0x184
/* 8011FEB4 0011CE14 38 81 00 80 */ addi r4, r1, 0x80
/* 8011FEB8 0011CE18 48 22 0F F1 */ bl __ct__6CTokenFRC6CToken
/* 8011FEBC 0011CE1C 38 61 00 80 */ addi r3, r1, 0x80
/* 8011FEC0 0011CE20 38 80 FF FF */ li r4, -1
/* 8011FEC4 0011CE24 48 22 0F 7D */ bl __dt__6CTokenFv
/* 8011FEC8 0011CE28 38 00 00 00 */ li r0, 0
/* 8011FECC 0011CE2C 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha
/* 8011FED0 0011CE30 90 1F 01 90 */ stw r0, 0x190(r31)
/* 8011FED4 0011CE34 38 83 66 70 */ addi r4, r3, sIdentity__12CTransform4f@l
/* 8011FED8 0011CE38 38 7F 02 20 */ addi r3, r31, 0x220
/* 8011FEDC 0011CE3C 90 1F 01 94 */ stw r0, 0x194(r31)
/* 8011FEE0 0011CE40 90 1F 01 98 */ stw r0, 0x198(r31)
/* 8011FEE4 0011CE44 90 1F 01 9C */ stw r0, 0x19c(r31)
/* 8011FEE8 0011CE48 48 1F 2C 8D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011FEEC 0011CE4C 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 8011FEF0 0011CE50 38 7F 02 50 */ addi r3, r31, 0x250
/* 8011FEF4 0011CE54 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 8011FEF8 0011CE58 48 1F 2C 7D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011FEFC 0011CE5C 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 8011FF00 0011CE60 38 7F 02 80 */ addi r3, r31, 0x280
/* 8011FF04 0011CE64 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 8011FF08 0011CE68 48 1F 2C 6D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011FF0C 0011CE6C 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 8011FF10 0011CE70 38 7F 02 B0 */ addi r3, r31, 0x2b0
/* 8011FF14 0011CE74 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 8011FF18 0011CE78 48 1F 2C 5D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011FF1C 0011CE7C 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 8011FF20 0011CE80 38 7F 02 E0 */ addi r3, r31, 0x2e0
/* 8011FF24 0011CE84 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 8011FF28 0011CE88 48 1F 2C 4D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8011FF2C 0011CE8C 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8011FF30 0011CE90 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 8011FF34 0011CE94 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 8011FF38 0011CE98 38 C0 00 00 */ li r6, 0
/* 8011FF3C 0011CE9C C0 27 00 00 */ lfs f1, 0(r7)
/* 8011FF40 0011CEA0 38 80 00 0A */ li r4, 0xa
/* 8011FF44 0011CEA4 C0 02 97 64 */ lfs f0, lbl_805AB484@sda21(r2)
/* 8011FF48 0011CEA8 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 8011FF4C 0011CEAC D0 3F 03 10 */ stfs f1, 0x310(r31)
/* 8011FF50 0011CEB0 38 61 00 70 */ addi r3, r1, 0x70
/* 8011FF54 0011CEB4 38 A1 00 78 */ addi r5, r1, 0x78
/* 8011FF58 0011CEB8 C0 27 00 04 */ lfs f1, 4(r7)
/* 8011FF5C 0011CEBC D0 3F 03 14 */ stfs f1, 0x314(r31)
/* 8011FF60 0011CEC0 C0 27 00 08 */ lfs f1, 8(r7)
/* 8011FF64 0011CEC4 D0 3F 03 18 */ stfs f1, 0x318(r31)
/* 8011FF68 0011CEC8 C0 3E 00 00 */ lfs f1, 0(r30)
/* 8011FF6C 0011CECC D0 3F 03 1C */ stfs f1, 0x31c(r31)
/* 8011FF70 0011CED0 C0 3E 00 04 */ lfs f1, 4(r30)
/* 8011FF74 0011CED4 D0 3F 03 20 */ stfs f1, 0x320(r31)
/* 8011FF78 0011CED8 C0 3E 00 08 */ lfs f1, 8(r30)
/* 8011FF7C 0011CEDC D0 3F 03 24 */ stfs f1, 0x324(r31)
/* 8011FF80 0011CEE0 90 DF 03 28 */ stw r6, 0x328(r31)
/* 8011FF84 0011CEE4 90 DF 03 2C */ stw r6, 0x32c(r31)
/* 8011FF88 0011CEE8 90 DF 03 30 */ stw r6, 0x330(r31)
/* 8011FF8C 0011CEEC 90 9F 03 34 */ stw r4, 0x334(r31)
/* 8011FF90 0011CEF0 D0 1F 03 38 */ stfs f0, 0x338(r31)
/* 8011FF94 0011CEF4 D0 1F 03 3C */ stfs f0, 0x33c(r31)
/* 8011FF98 0011CEF8 D0 1F 03 40 */ stfs f0, 0x340(r31)
/* 8011FF9C 0011CEFC D0 1F 03 44 */ stfs f0, 0x344(r31)
/* 8011FFA0 0011CF00 D0 1F 03 48 */ stfs f0, 0x348(r31)
/* 8011FFA4 0011CF04 A0 8D 8A 88 */ lhz r4, lbl_805A7648@sda21(r13)
/* 8011FFA8 0011CF08 B0 9F 03 4C */ sth r4, 0x34c(r31)
/* 8011FFAC 0011CF0C 90 DF 03 50 */ stw r6, 0x350(r31)
/* 8011FFB0 0011CF10 80 CD A1 48 */ lwz r6, gpTweakGunRes@sda21(r13)
/* 8011FFB4 0011CF14 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8011FFB8 0011CF18 80 C6 00 B4 */ lwz r6, 0xb4(r6)
/* 8011FFBC 0011CF1C 90 01 00 78 */ stw r0, 0x78(r1)
/* 8011FFC0 0011CF20 90 C1 00 7C */ stw r6, 0x7c(r1)
/* 8011FFC4 0011CF24 81 84 00 00 */ lwz r12, 0(r4)
/* 8011FFC8 0011CF28 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8011FFCC 0011CF2C 7D 89 03 A6 */ mtctr r12
/* 8011FFD0 0011CF30 4E 80 04 21 */ bctrl
/* 8011FFD4 0011CF34 3B 9F 03 54 */ addi r28, r31, 0x354
/* 8011FFD8 0011CF38 38 81 00 70 */ addi r4, r1, 0x70
/* 8011FFDC 0011CF3C 7F 83 E3 78 */ mr r3, r28
/* 8011FFE0 0011CF40 48 22 0E C9 */ bl __ct__6CTokenFRC6CToken
/* 8011FFE4 0011CF44 7F 83 E3 78 */ mr r3, r28
/* 8011FFE8 0011CF48 48 22 0E 25 */ bl GetObj__6CTokenFv
/* 8011FFEC 0011CF4C 80 03 00 04 */ lwz r0, 4(r3)
/* 8011FFF0 0011CF50 38 61 00 70 */ addi r3, r1, 0x70
/* 8011FFF4 0011CF54 38 80 FF FF */ li r4, -1
/* 8011FFF8 0011CF58 90 1C 00 08 */ stw r0, 8(r28)
/* 8011FFFC 0011CF5C 48 22 0E 45 */ bl __dt__6CTokenFv
/* 80120000 0011CF60 80 AD A1 48 */ lwz r5, gpTweakGunRes@sda21(r13)
/* 80120004 0011CF64 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 80120008 0011CF68 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 8012000C 0011CF6C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80120010 0011CF70 80 C5 00 B8 */ lwz r6, 0xb8(r5)
/* 80120014 0011CF74 38 61 00 60 */ addi r3, r1, 0x60
/* 80120018 0011CF78 38 A1 00 68 */ addi r5, r1, 0x68
/* 8012001C 0011CF7C 90 01 00 68 */ stw r0, 0x68(r1)
/* 80120020 0011CF80 90 C1 00 6C */ stw r6, 0x6c(r1)
/* 80120024 0011CF84 81 84 00 00 */ lwz r12, 0(r4)
/* 80120028 0011CF88 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8012002C 0011CF8C 7D 89 03 A6 */ mtctr r12
/* 80120030 0011CF90 4E 80 04 21 */ bctrl
/* 80120034 0011CF94 3B 9F 03 60 */ addi r28, r31, 0x360
/* 80120038 0011CF98 38 81 00 60 */ addi r4, r1, 0x60
/* 8012003C 0011CF9C 7F 83 E3 78 */ mr r3, r28
/* 80120040 0011CFA0 48 22 0E 69 */ bl __ct__6CTokenFRC6CToken
/* 80120044 0011CFA4 7F 83 E3 78 */ mr r3, r28
/* 80120048 0011CFA8 48 22 0D C5 */ bl GetObj__6CTokenFv
/* 8012004C 0011CFAC 80 03 00 04 */ lwz r0, 4(r3)
/* 80120050 0011CFB0 38 61 00 60 */ addi r3, r1, 0x60
/* 80120054 0011CFB4 38 80 FF FF */ li r4, -1
/* 80120058 0011CFB8 90 1C 00 08 */ stw r0, 8(r28)
/* 8012005C 0011CFBC 48 22 0D E5 */ bl __dt__6CTokenFv
/* 80120060 0011CFC0 80 AD A1 48 */ lwz r5, gpTweakGunRes@sda21(r13)
/* 80120064 0011CFC4 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 80120068 0011CFC8 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 8012006C 0011CFCC 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80120070 0011CFD0 80 C5 00 BC */ lwz r6, 0xbc(r5)
/* 80120074 0011CFD4 38 61 00 50 */ addi r3, r1, 0x50
/* 80120078 0011CFD8 38 A1 00 58 */ addi r5, r1, 0x58
/* 8012007C 0011CFDC 90 01 00 58 */ stw r0, 0x58(r1)
/* 80120080 0011CFE0 90 C1 00 5C */ stw r6, 0x5c(r1)
/* 80120084 0011CFE4 81 84 00 00 */ lwz r12, 0(r4)
/* 80120088 0011CFE8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8012008C 0011CFEC 7D 89 03 A6 */ mtctr r12
/* 80120090 0011CFF0 4E 80 04 21 */ bctrl
/* 80120094 0011CFF4 3B 9F 03 6C */ addi r28, r31, 0x36c
/* 80120098 0011CFF8 38 81 00 50 */ addi r4, r1, 0x50
/* 8012009C 0011CFFC 7F 83 E3 78 */ mr r3, r28
/* 801200A0 0011D000 48 22 0E 09 */ bl __ct__6CTokenFRC6CToken
/* 801200A4 0011D004 7F 83 E3 78 */ mr r3, r28
/* 801200A8 0011D008 48 22 0D 65 */ bl GetObj__6CTokenFv
/* 801200AC 0011D00C 80 03 00 04 */ lwz r0, 4(r3)
/* 801200B0 0011D010 38 61 00 50 */ addi r3, r1, 0x50
/* 801200B4 0011D014 38 80 FF FF */ li r4, -1
/* 801200B8 0011D018 90 1C 00 08 */ stw r0, 8(r28)
/* 801200BC 0011D01C 48 22 0D 85 */ bl __dt__6CTokenFv
/* 801200C0 0011D020 80 AD A1 48 */ lwz r5, gpTweakGunRes@sda21(r13)
/* 801200C4 0011D024 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 801200C8 0011D028 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 801200CC 0011D02C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801200D0 0011D030 80 C5 00 C0 */ lwz r6, 0xc0(r5)
/* 801200D4 0011D034 38 61 00 40 */ addi r3, r1, 0x40
/* 801200D8 0011D038 38 A1 00 48 */ addi r5, r1, 0x48
/* 801200DC 0011D03C 90 01 00 48 */ stw r0, 0x48(r1)
/* 801200E0 0011D040 90 C1 00 4C */ stw r6, 0x4c(r1)
/* 801200E4 0011D044 81 84 00 00 */ lwz r12, 0(r4)
/* 801200E8 0011D048 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801200EC 0011D04C 7D 89 03 A6 */ mtctr r12
/* 801200F0 0011D050 4E 80 04 21 */ bctrl
/* 801200F4 0011D054 3B 9F 03 78 */ addi r28, r31, 0x378
/* 801200F8 0011D058 38 81 00 40 */ addi r4, r1, 0x40
/* 801200FC 0011D05C 7F 83 E3 78 */ mr r3, r28
/* 80120100 0011D060 48 22 0D A9 */ bl __ct__6CTokenFRC6CToken
/* 80120104 0011D064 7F 83 E3 78 */ mr r3, r28
/* 80120108 0011D068 48 22 0D 05 */ bl GetObj__6CTokenFv
/* 8012010C 0011D06C 80 03 00 04 */ lwz r0, 4(r3)
/* 80120110 0011D070 38 61 00 40 */ addi r3, r1, 0x40
/* 80120114 0011D074 38 80 FF FF */ li r4, -1
/* 80120118 0011D078 90 1C 00 08 */ stw r0, 8(r28)
/* 8012011C 0011D07C 48 22 0D 25 */ bl __dt__6CTokenFv
/* 80120120 0011D080 80 AD A1 48 */ lwz r5, gpTweakGunRes@sda21(r13)
/* 80120124 0011D084 3C 60 53 57 */ lis r3, 0x53574843@ha
/* 80120128 0011D088 38 03 48 43 */ addi r0, r3, 0x53574843@l
/* 8012012C 0011D08C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80120130 0011D090 80 C5 00 C4 */ lwz r6, 0xc4(r5)
/* 80120134 0011D094 38 61 00 30 */ addi r3, r1, 0x30
/* 80120138 0011D098 38 A1 00 38 */ addi r5, r1, 0x38
/* 8012013C 0011D09C 90 01 00 38 */ stw r0, 0x38(r1)
/* 80120140 0011D0A0 90 C1 00 3C */ stw r6, 0x3c(r1)
/* 80120144 0011D0A4 81 84 00 00 */ lwz r12, 0(r4)
/* 80120148 0011D0A8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8012014C 0011D0AC 7D 89 03 A6 */ mtctr r12
/* 80120150 0011D0B0 4E 80 04 21 */ bctrl
/* 80120154 0011D0B4 3B 9F 03 84 */ addi r28, r31, 0x384
/* 80120158 0011D0B8 38 81 00 30 */ addi r4, r1, 0x30
/* 8012015C 0011D0BC 7F 83 E3 78 */ mr r3, r28
/* 80120160 0011D0C0 48 22 0D 49 */ bl __ct__6CTokenFRC6CToken
/* 80120164 0011D0C4 7F 83 E3 78 */ mr r3, r28
/* 80120168 0011D0C8 48 22 0C A5 */ bl GetObj__6CTokenFv
/* 8012016C 0011D0CC 80 03 00 04 */ lwz r0, 4(r3)
/* 80120170 0011D0D0 38 61 00 30 */ addi r3, r1, 0x30
/* 80120174 0011D0D4 38 80 FF FF */ li r4, -1
/* 80120178 0011D0D8 90 1C 00 08 */ stw r0, 8(r28)
/* 8012017C 0011D0DC 48 22 0C C5 */ bl __dt__6CTokenFv
/* 80120180 0011D0E0 3C 60 80 3D */ lis r3, lbl_803CF360@ha
/* 80120184 0011D0E4 3B 80 00 00 */ li r28, 0
/* 80120188 0011D0E8 38 83 F3 60 */ addi r4, r3, lbl_803CF360@l
/* 8012018C 0011D0EC 38 60 03 40 */ li r3, 0x340
/* 80120190 0011D0F0 38 84 00 C4 */ addi r4, r4, 0xc4
/* 80120194 0011D0F4 38 A0 00 00 */ li r5, 0
/* 80120198 0011D0F8 48 1F 56 D5 */ bl __nw__FUlPCcPCc
/* 8012019C 0011D0FC 7C 7D 1B 79 */ or. r29, r3, r3
/* 801201A0 0011D100 41 82 00 2C */ beq lbl_801201CC
/* 801201A4 0011D104 38 61 00 28 */ addi r3, r1, 0x28
/* 801201A8 0011D108 38 9F 03 54 */ addi r4, r31, 0x354
/* 801201AC 0011D10C 48 22 0C FD */ bl __ct__6CTokenFRC6CToken
/* 801201B0 0011D110 7F A3 EB 78 */ mr r3, r29
/* 801201B4 0011D114 38 81 00 28 */ addi r4, r1, 0x28
/* 801201B8 0011D118 3B 80 00 01 */ li r28, 1
/* 801201BC 0011D11C 38 A0 00 00 */ li r5, 0
/* 801201C0 0011D120 38 C0 00 01 */ li r6, 1
/* 801201C4 0011D124 48 1F F2 1D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 801201C8 0011D128 7C 7D 1B 78 */ mr r29, r3
lbl_801201CC:
/* 801201CC 0011D12C 7F 80 07 75 */ extsb. r0, r28
/* 801201D0 0011D130 93 BF 03 90 */ stw r29, 0x390(r31)
/* 801201D4 0011D134 41 82 00 10 */ beq lbl_801201E4
/* 801201D8 0011D138 38 61 00 28 */ addi r3, r1, 0x28
/* 801201DC 0011D13C 38 80 00 00 */ li r4, 0
/* 801201E0 0011D140 48 22 0C 61 */ bl __dt__6CTokenFv
lbl_801201E4:
/* 801201E4 0011D144 3C 60 80 3D */ lis r3, lbl_803CF360@ha
/* 801201E8 0011D148 3B 80 00 00 */ li r28, 0
/* 801201EC 0011D14C 38 83 F3 60 */ addi r4, r3, lbl_803CF360@l
/* 801201F0 0011D150 38 60 03 40 */ li r3, 0x340
/* 801201F4 0011D154 38 84 00 C4 */ addi r4, r4, 0xc4
/* 801201F8 0011D158 38 A0 00 00 */ li r5, 0
/* 801201FC 0011D15C 48 1F 56 71 */ bl __nw__FUlPCcPCc
/* 80120200 0011D160 7C 7D 1B 79 */ or. r29, r3, r3
/* 80120204 0011D164 41 82 00 2C */ beq lbl_80120230
/* 80120208 0011D168 38 61 00 20 */ addi r3, r1, 0x20
/* 8012020C 0011D16C 38 9F 03 60 */ addi r4, r31, 0x360
/* 80120210 0011D170 48 22 0C 99 */ bl __ct__6CTokenFRC6CToken
/* 80120214 0011D174 7F A3 EB 78 */ mr r3, r29
/* 80120218 0011D178 38 81 00 20 */ addi r4, r1, 0x20
/* 8012021C 0011D17C 3B 80 00 01 */ li r28, 1
/* 80120220 0011D180 38 A0 00 00 */ li r5, 0
/* 80120224 0011D184 38 C0 00 01 */ li r6, 1
/* 80120228 0011D188 48 1F F1 B9 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8012022C 0011D18C 7C 7D 1B 78 */ mr r29, r3
lbl_80120230:
/* 80120230 0011D190 7F 80 07 75 */ extsb. r0, r28
/* 80120234 0011D194 93 BF 03 94 */ stw r29, 0x394(r31)
/* 80120238 0011D198 41 82 00 10 */ beq lbl_80120248
/* 8012023C 0011D19C 38 61 00 20 */ addi r3, r1, 0x20
/* 80120240 0011D1A0 38 80 00 00 */ li r4, 0
/* 80120244 0011D1A4 48 22 0B FD */ bl __dt__6CTokenFv
lbl_80120248:
/* 80120248 0011D1A8 3C 60 80 3D */ lis r3, lbl_803CF360@ha
/* 8012024C 0011D1AC 3B 80 00 00 */ li r28, 0
/* 80120250 0011D1B0 38 83 F3 60 */ addi r4, r3, lbl_803CF360@l
/* 80120254 0011D1B4 38 60 03 40 */ li r3, 0x340
/* 80120258 0011D1B8 38 84 00 C4 */ addi r4, r4, 0xc4
/* 8012025C 0011D1BC 38 A0 00 00 */ li r5, 0
/* 80120260 0011D1C0 48 1F 56 0D */ bl __nw__FUlPCcPCc
/* 80120264 0011D1C4 7C 7D 1B 79 */ or. r29, r3, r3
/* 80120268 0011D1C8 41 82 00 2C */ beq lbl_80120294
/* 8012026C 0011D1CC 38 61 00 18 */ addi r3, r1, 0x18
/* 80120270 0011D1D0 38 9F 03 6C */ addi r4, r31, 0x36c
/* 80120274 0011D1D4 48 22 0C 35 */ bl __ct__6CTokenFRC6CToken
/* 80120278 0011D1D8 7F A3 EB 78 */ mr r3, r29
/* 8012027C 0011D1DC 38 81 00 18 */ addi r4, r1, 0x18
/* 80120280 0011D1E0 3B 80 00 01 */ li r28, 1
/* 80120284 0011D1E4 38 A0 00 00 */ li r5, 0
/* 80120288 0011D1E8 38 C0 00 01 */ li r6, 1
/* 8012028C 0011D1EC 48 1F F1 55 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 80120290 0011D1F0 7C 7D 1B 78 */ mr r29, r3
lbl_80120294:
/* 80120294 0011D1F4 7F 80 07 75 */ extsb. r0, r28
/* 80120298 0011D1F8 93 BF 03 98 */ stw r29, 0x398(r31)
/* 8012029C 0011D1FC 41 82 00 10 */ beq lbl_801202AC
/* 801202A0 0011D200 38 61 00 18 */ addi r3, r1, 0x18
/* 801202A4 0011D204 38 80 00 00 */ li r4, 0
/* 801202A8 0011D208 48 22 0B 99 */ bl __dt__6CTokenFv
lbl_801202AC:
/* 801202AC 0011D20C 3C 60 80 3D */ lis r3, lbl_803CF360@ha
/* 801202B0 0011D210 3B 80 00 00 */ li r28, 0
/* 801202B4 0011D214 38 83 F3 60 */ addi r4, r3, lbl_803CF360@l
/* 801202B8 0011D218 38 60 03 40 */ li r3, 0x340
/* 801202BC 0011D21C 38 84 00 C4 */ addi r4, r4, 0xc4
/* 801202C0 0011D220 38 A0 00 00 */ li r5, 0
/* 801202C4 0011D224 48 1F 55 A9 */ bl __nw__FUlPCcPCc
/* 801202C8 0011D228 7C 7D 1B 79 */ or. r29, r3, r3
/* 801202CC 0011D22C 41 82 00 2C */ beq lbl_801202F8
/* 801202D0 0011D230 38 61 00 10 */ addi r3, r1, 0x10
/* 801202D4 0011D234 38 9F 03 78 */ addi r4, r31, 0x378
/* 801202D8 0011D238 48 22 0B D1 */ bl __ct__6CTokenFRC6CToken
/* 801202DC 0011D23C 7F A3 EB 78 */ mr r3, r29
/* 801202E0 0011D240 38 81 00 10 */ addi r4, r1, 0x10
/* 801202E4 0011D244 3B 80 00 01 */ li r28, 1
/* 801202E8 0011D248 38 A0 00 00 */ li r5, 0
/* 801202EC 0011D24C 38 C0 00 01 */ li r6, 1
/* 801202F0 0011D250 48 1F F0 F1 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 801202F4 0011D254 7C 7D 1B 78 */ mr r29, r3
lbl_801202F8:
/* 801202F8 0011D258 7F 80 07 75 */ extsb. r0, r28
/* 801202FC 0011D25C 93 BF 03 9C */ stw r29, 0x39c(r31)
/* 80120300 0011D260 41 82 00 10 */ beq lbl_80120310
/* 80120304 0011D264 38 61 00 10 */ addi r3, r1, 0x10
/* 80120308 0011D268 38 80 00 00 */ li r4, 0
/* 8012030C 0011D26C 48 22 0B 35 */ bl __dt__6CTokenFv
lbl_80120310:
/* 80120310 0011D270 3C 60 80 3D */ lis r3, lbl_803CF360@ha
/* 80120314 0011D274 3B 80 00 00 */ li r28, 0
/* 80120318 0011D278 38 83 F3 60 */ addi r4, r3, lbl_803CF360@l
/* 8012031C 0011D27C 38 60 02 10 */ li r3, 0x210
/* 80120320 0011D280 38 84 00 C4 */ addi r4, r4, 0xc4
/* 80120324 0011D284 38 A0 00 00 */ li r5, 0
/* 80120328 0011D288 48 1F 55 45 */ bl __nw__FUlPCcPCc
/* 8012032C 0011D28C 7C 7D 1B 79 */ or. r29, r3, r3
/* 80120330 0011D290 41 82 00 28 */ beq lbl_80120358
/* 80120334 0011D294 38 61 00 08 */ addi r3, r1, 8
/* 80120338 0011D298 38 9F 03 84 */ addi r4, r31, 0x384
/* 8012033C 0011D29C 48 22 0B 6D */ bl __ct__6CTokenFRC6CToken
/* 80120340 0011D2A0 7F A3 EB 78 */ mr r3, r29
/* 80120344 0011D2A4 38 81 00 08 */ addi r4, r1, 8
/* 80120348 0011D2A8 3B 80 00 01 */ li r28, 1
/* 8012034C 0011D2AC 38 A0 00 00 */ li r5, 0
/* 80120350 0011D2B0 48 20 EA 95 */ bl "__ct__15CParticleSwooshF28TToken<18CSwooshDescription>i"
/* 80120354 0011D2B4 7C 7D 1B 78 */ mr r29, r3
lbl_80120358:
/* 80120358 0011D2B8 7F 80 07 75 */ extsb. r0, r28
/* 8012035C 0011D2BC 93 BF 03 A0 */ stw r29, 0x3a0(r31)
/* 80120360 0011D2C0 41 82 00 10 */ beq lbl_80120370
/* 80120364 0011D2C4 38 61 00 08 */ addi r3, r1, 8
/* 80120368 0011D2C8 38 80 00 00 */ li r4, 0
/* 8012036C 0011D2CC 48 22 0A D5 */ bl __dt__6CTokenFv
lbl_80120370:
/* 80120370 0011D2D0 3C 80 80 3D */ lis r4, lbl_803CF360@ha
/* 80120374 0011D2D4 38 60 00 4C */ li r3, 0x4c
/* 80120378 0011D2D8 38 84 F3 60 */ addi r4, r4, lbl_803CF360@l
/* 8012037C 0011D2DC 38 A0 00 00 */ li r5, 0
/* 80120380 0011D2E0 38 84 00 C4 */ addi r4, r4, 0xc4
/* 80120384 0011D2E4 48 1F 54 E9 */ bl __nw__FUlPCcPCc
/* 80120388 0011D2E8 7C 60 1B 79 */ or. r0, r3, r3
/* 8012038C 0011D2EC 41 82 00 20 */ beq lbl_801203AC
/* 80120390 0011D2F0 C0 22 97 64 */ lfs f1, lbl_805AB484@sda21(r2)
/* 80120394 0011D2F4 7F C4 F3 78 */ mr r4, r30
/* 80120398 0011D2F8 C0 42 97 A0 */ lfs f2, lbl_805AB4C0@sda21(r2)
/* 8012039C 0011D2FC 38 A0 00 14 */ li r5, 0x14
/* 801203A0 0011D300 38 C0 00 02 */ li r6, 2
/* 801203A4 0011D304 48 14 A3 95 */ bl __ct__20CRainSplashGeneratorFRC9CVector3fiiff
/* 801203A8 0011D308 7C 60 1B 78 */ mr r0, r3
lbl_801203AC:
/* 801203AC 0011D30C 90 1F 03 A4 */ stw r0, 0x3a4(r31)
/* 801203B0 0011D310 38 C0 FF FF */ li r6, -1
/* 801203B4 0011D314 38 00 20 00 */ li r0, 0x2000
/* 801203B8 0011D318 38 A0 00 00 */ li r5, 0
/* 801203BC 0011D31C 90 DF 03 A8 */ stw r6, 0x3a8(r31)
/* 801203C0 0011D320 38 60 00 01 */ li r3, 1
/* 801203C4 0011D324 38 80 00 00 */ li r4, 0
/* 801203C8 0011D328 90 1F 03 AC */ stw r0, 0x3ac(r31)
/* 801203CC 0011D32C B0 DF 03 B0 */ sth r6, 0x3b0(r31)
/* 801203D0 0011D330 88 1F 03 B2 */ lbz r0, 0x3b2(r31)
/* 801203D4 0011D334 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 801203D8 0011D338 98 1F 03 B2 */ stb r0, 0x3b2(r31)
/* 801203DC 0011D33C 88 1F 03 B2 */ lbz r0, 0x3b2(r31)
/* 801203E0 0011D340 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 801203E4 0011D344 98 1F 03 B2 */ stb r0, 0x3b2(r31)
/* 801203E8 0011D348 88 1F 03 B2 */ lbz r0, 0x3b2(r31)
/* 801203EC 0011D34C 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a
/* 801203F0 0011D350 98 1F 03 B2 */ stb r0, 0x3b2(r31)
/* 801203F4 0011D354 88 1F 03 B2 */ lbz r0, 0x3b2(r31)
/* 801203F8 0011D358 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b
/* 801203FC 0011D35C 98 1F 03 B2 */ stb r0, 0x3b2(r31)
/* 80120400 0011D360 88 1F 03 B2 */ lbz r0, 0x3b2(r31)
/* 80120404 0011D364 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c
/* 80120408 0011D368 98 1F 03 B2 */ stb r0, 0x3b2(r31)
/* 8012040C 0011D36C 88 1F 03 B2 */ lbz r0, 0x3b2(r31)
/* 80120410 0011D370 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d
/* 80120414 0011D374 98 1F 03 B2 */ stb r0, 0x3b2(r31)
/* 80120418 0011D378 88 1F 00 14 */ lbz r0, 0x14(r31)
/* 8012041C 0011D37C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80120420 0011D380 98 1F 00 14 */ stb r0, 0x14(r31)
/* 80120424 0011D384 88 1F 00 B4 */ lbz r0, 0xb4(r31)
/* 80120428 0011D388 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8012042C 0011D38C 98 1F 00 B4 */ stb r0, 0xb4(r31)
/* 80120430 0011D390 88 1F 01 00 */ lbz r0, 0x100(r31)
/* 80120434 0011D394 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80120438 0011D398 98 1F 01 00 */ stb r0, 0x100(r31)
/* 8012043C 0011D39C 88 1F 01 4C */ lbz r0, 0x14c(r31)
/* 80120440 0011D3A0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80120444 0011D3A4 98 1F 01 4C */ stb r0, 0x14c(r31)
/* 80120448 0011D3A8 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13)
/* 8012044C 0011D3AC C0 03 02 E4 */ lfs f0, 0x2e4(r3)
/* 80120450 0011D3B0 D0 0D 8A 78 */ stfs f0, lbl_805A7638@sda21(r13)
/* 80120454 0011D3B4 C0 03 02 DC */ lfs f0, 0x2dc(r3)
/* 80120458 0011D3B8 D0 0D 8A 7C */ stfs f0, lbl_805A763C@sda21(r13)
/* 8012045C 0011D3BC C0 03 02 E0 */ lfs f0, 0x2e0(r3)
/* 80120460 0011D3C0 D0 0D 8A 80 */ stfs f0, lbl_805A7640@sda21(r13)
/* 80120464 0011D3C4 C0 03 02 D8 */ lfs f0, 0x2d8(r3)
/* 80120468 0011D3C8 D0 0D 8A 84 */ stfs f0, lbl_805A7644@sda21(r13)
/* 8012046C 0011D3CC 80 7F 03 9C */ lwz r3, 0x39c(r31)
/* 80120470 0011D3D0 81 83 00 00 */ lwz r12, 0(r3)
/* 80120474 0011D3D4 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80120478 0011D3D8 7D 89 03 A6 */ mtctr r12
/* 8012047C 0011D3DC 4E 80 04 21 */ bctrl
/* 80120480 0011D3E0 80 7F 03 90 */ lwz r3, 0x390(r31)
/* 80120484 0011D3E4 38 80 00 00 */ li r4, 0
/* 80120488 0011D3E8 81 83 00 00 */ lwz r12, 0(r3)
/* 8012048C 0011D3EC 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80120490 0011D3F0 7D 89 03 A6 */ mtctr r12
/* 80120494 0011D3F4 4E 80 04 21 */ bctrl
/* 80120498 0011D3F8 83 BF 03 A0 */ lwz r29, 0x3a0(r31)
/* 8012049C 0011D3FC 3B 80 00 00 */ li r28, 0
/* 801204A0 0011D400 3B C0 00 01 */ li r30, 1
/* 801204A4 0011D404 48 00 00 30 */ b lbl_801204D4
lbl_801204A8:
/* 801204A8 0011D408 80 7F 03 A0 */ lwz r3, 0x3a0(r31)
/* 801204AC 0011D40C C8 22 97 A8 */ lfd f1, lbl_805AB4C8@sda21(r2)
/* 801204B0 0011D410 88 03 01 D0 */ lbz r0, 0x1d0(r3)
/* 801204B4 0011D414 53 C0 2E B4 */ rlwimi r0, r30, 5, 0x1a, 0x1a
/* 801204B8 0011D418 98 03 01 D0 */ stb r0, 0x1d0(r3)
/* 801204BC 0011D41C 80 7F 03 A0 */ lwz r3, 0x3a0(r31)
/* 801204C0 0011D420 81 83 00 00 */ lwz r12, 0(r3)
/* 801204C4 0011D424 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801204C8 0011D428 7D 89 03 A6 */ mtctr r12
/* 801204CC 0011D42C 4E 80 04 21 */ bctrl
/* 801204D0 0011D430 3B 9C 00 01 */ addi r28, r28, 1
lbl_801204D4:
/* 801204D4 0011D434 80 7D 01 60 */ lwz r3, 0x160(r29)
/* 801204D8 0011D438 38 03 FF FF */ addi r0, r3, -1
/* 801204DC 0011D43C 7C 1C 00 00 */ cmpw r28, r0
/* 801204E0 0011D440 41 80 FF C8 */ blt lbl_801204A8
/* 801204E4 0011D444 7F E3 FB 78 */ mr r3, r31
/* 801204E8 0011D448 4B FF D1 5D */ bl BuildSuitDependencyList__11CGrappleArmFv
/* 801204EC 0011D44C 7F E3 FB 78 */ mr r3, r31
/* 801204F0 0011D450 4B FF DB 75 */ bl LoadAnimations__11CGrappleArmFv
/* 801204F4 0011D454 80 01 01 44 */ lwz r0, 0x144(r1)
/* 801204F8 0011D458 7F E3 FB 78 */ mr r3, r31
/* 801204FC 0011D45C 83 E1 01 3C */ lwz r31, 0x13c(r1)
/* 80120500 0011D460 83 C1 01 38 */ lwz r30, 0x138(r1)
/* 80120504 0011D464 83 A1 01 34 */ lwz r29, 0x134(r1)
/* 80120508 0011D468 83 81 01 30 */ lwz r28, 0x130(r1)
/* 8012050C 0011D46C 7C 08 03 A6 */ mtlr r0
/* 80120510 0011D470 38 21 01 40 */ addi r1, r1, 0x140
/* 80120514 0011D474 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803CF320
lbl_803CF320:
# ROM: 0x3CC320
.4byte lbl_803CF3A2
.4byte lbl_803CF3B1
.4byte lbl_803CF3C2
.4byte lbl_803CF3D1
.4byte lbl_803CF3E1
.4byte lbl_803CF3F1
.4byte lbl_803CF402
.4byte lbl_803CF413
.global lbl_803CF340
lbl_803CF340:
# ROM: 0x3CC340
.4byte 0
.4byte 0x00000001
.4byte 0x00000002
.4byte 0x00000003
.4byte 0x00000004
.4byte 0x00000005
.4byte 0x00000006
.4byte 0x00000007
.global lbl_803CF360
lbl_803CF360:
# ROM: 0x3CC360
.asciz "GrappleGear"
.global lbl_803CF36C
lbl_803CF36C:
.asciz "GrapNoz1"
.global lbl_803CF375
lbl_803CF375:
.asciz "GrapNoz2"
.global lbl_803CF37E
lbl_803CF37E:
.asciz "grapLocator_SDK"
.global lbl_803CF38E
lbl_803CF38E:
.asciz "gNozLoc1_SDK"
.global lbl_803CF39B
lbl_803CF39B:
.asciz "LGBeam"
.global lbl_803CF3A2
lbl_803CF3A2:
.asciz "PowerSuit_DGRP"
.global lbl_803CF3B1
lbl_803CF3B1:
.asciz "GravitySuit_DGRP"
.global lbl_803CF3C2
lbl_803CF3C2:
.asciz "VariaSuit_DGRP"
.global lbl_803CF3D1
lbl_803CF3D1:
.asciz "PhazonSuit_DGRP"
.global lbl_803CF3E1
lbl_803CF3E1:
.asciz "FusionSuit_DGRP"
.global lbl_803CF3F1
lbl_803CF3F1:
.asciz "FusionSuitG_DGRP"
.global lbl_803CF402
lbl_803CF402:
.asciz "FusionSuitV_DGRP"
.global lbl_803CF413
lbl_803CF413:
.asciz "FusionSuitP_DGRP"
.asciz "??(??)"
.asciz "Whole Body"
.balign 4