prime/asm/Weapons/CProjectileWeapon.s

2669 lines
129 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global lbl_803EC4C8
lbl_803EC4C8:
# ROM: 0x3E94C8
.4byte 0
.4byte 0
.4byte __dt__17CProjectileWeaponFv
.4byte Update__17CProjectileWeaponFf
.4byte AddToRenderer__17CProjectileWeaponCFv
.4byte Render__17CProjectileWeaponCFv
.4byte GetTranslation__17CProjectileWeaponCFv
.4byte GetTransform__17CProjectileWeaponCFv
.global lbl_803EC4E8
lbl_803EC4E8:
# ROM: 0x3E94E8
.4byte 0
.4byte 0
.4byte __dt__17IWeaponProjectileFv
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.section .sdata
.balign 8
.global lbl_805A8648
lbl_805A8648:
# ROM: 0x3F5FE8
.4byte 0x00000063
.4byte 0
.section .text, "ax"
.global GetBounds__17CProjectileWeaponCFv
GetBounds__17CProjectileWeaponCFv:
/* 802AED08 002ABC68 94 21 FE B0 */ stwu r1, -0x150(r1)
/* 802AED0C 002ABC6C 7C 08 02 A6 */ mflr r0
/* 802AED10 002ABC70 90 01 01 54 */ stw r0, 0x154(r1)
/* 802AED14 002ABC74 93 E1 01 4C */ stw r31, 0x14c(r1)
/* 802AED18 002ABC78 3B E0 00 00 */ li r31, 0
/* 802AED1C 002ABC7C 93 C1 01 48 */ stw r30, 0x148(r1)
/* 802AED20 002ABC80 7C 9E 23 78 */ mr r30, r4
/* 802AED24 002ABC84 3C 80 80 5A */ lis r4, lbl_805A6754@ha
/* 802AED28 002ABC88 93 A1 01 44 */ stw r29, 0x144(r1)
/* 802AED2C 002ABC8C 38 A4 67 54 */ addi r5, r4, lbl_805A6754@l
/* 802AED30 002ABC90 7C 7D 1B 78 */ mr r29, r3
/* 802AED34 002ABC94 80 9E 00 FC */ lwz r4, 0xfc(r30)
/* 802AED38 002ABC98 C0 A5 00 00 */ lfs f5, 0(r5)
/* 802AED3C 002ABC9C C0 85 00 04 */ lfs f4, 4(r5)
/* 802AED40 002ABCA0 28 04 00 00 */ cmplwi r4, 0
/* 802AED44 002ABCA4 C0 65 00 08 */ lfs f3, 8(r5)
/* 802AED48 002ABCA8 C0 45 00 0C */ lfs f2, 0xc(r5)
/* 802AED4C 002ABCAC C0 25 00 10 */ lfs f1, 0x10(r5)
/* 802AED50 002ABCB0 C0 05 00 14 */ lfs f0, 0x14(r5)
/* 802AED54 002ABCB4 D0 A1 01 20 */ stfs f5, 0x120(r1)
/* 802AED58 002ABCB8 D0 81 01 24 */ stfs f4, 0x124(r1)
/* 802AED5C 002ABCBC D0 61 01 28 */ stfs f3, 0x128(r1)
/* 802AED60 002ABCC0 D0 41 01 2C */ stfs f2, 0x12c(r1)
/* 802AED64 002ABCC4 D0 21 01 30 */ stfs f1, 0x130(r1)
/* 802AED68 002ABCC8 D0 01 01 34 */ stfs f0, 0x134(r1)
/* 802AED6C 002ABCCC 41 82 00 9C */ beq lbl_802AEE08
/* 802AED70 002ABCD0 81 84 00 00 */ lwz r12, 0(r4)
/* 802AED74 002ABCD4 38 61 00 78 */ addi r3, r1, 0x78
/* 802AED78 002ABCD8 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 802AED7C 002ABCDC 7D 89 03 A6 */ mtctr r12
/* 802AED80 002ABCE0 4E 80 04 21 */ bctrl
/* 802AED84 002ABCE4 88 01 00 90 */ lbz r0, 0x90(r1)
/* 802AED88 002ABCE8 28 00 00 00 */ cmplwi r0, 0
/* 802AED8C 002ABCEC 98 01 01 1C */ stb r0, 0x11c(r1)
/* 802AED90 002ABCF0 41 82 00 3C */ beq lbl_802AEDCC
/* 802AED94 002ABCF4 34 61 01 04 */ addic. r3, r1, 0x104
/* 802AED98 002ABCF8 41 82 00 34 */ beq lbl_802AEDCC
/* 802AED9C 002ABCFC C0 01 00 78 */ lfs f0, 0x78(r1)
/* 802AEDA0 002ABD00 D0 03 00 00 */ stfs f0, 0(r3)
/* 802AEDA4 002ABD04 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 802AEDA8 002ABD08 D0 03 00 04 */ stfs f0, 4(r3)
/* 802AEDAC 002ABD0C C0 01 00 80 */ lfs f0, 0x80(r1)
/* 802AEDB0 002ABD10 D0 03 00 08 */ stfs f0, 8(r3)
/* 802AEDB4 002ABD14 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 802AEDB8 002ABD18 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802AEDBC 002ABD1C C0 01 00 88 */ lfs f0, 0x88(r1)
/* 802AEDC0 002ABD20 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802AEDC4 002ABD24 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 802AEDC8 002ABD28 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_802AEDCC:
/* 802AEDCC 002ABD2C 88 01 01 1C */ lbz r0, 0x11c(r1)
/* 802AEDD0 002ABD30 38 60 00 00 */ li r3, 0
/* 802AEDD4 002ABD34 98 61 00 90 */ stb r3, 0x90(r1)
/* 802AEDD8 002ABD38 28 00 00 00 */ cmplwi r0, 0
/* 802AEDDC 002ABD3C 41 82 00 24 */ beq lbl_802AEE00
/* 802AEDE0 002ABD40 3B E1 01 04 */ addi r31, r1, 0x104
/* 802AEDE4 002ABD44 38 61 01 20 */ addi r3, r1, 0x120
/* 802AEDE8 002ABD48 7F E4 FB 78 */ mr r4, r31
/* 802AEDEC 002ABD4C 48 08 8D 1D */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AEDF0 002ABD50 38 61 01 20 */ addi r3, r1, 0x120
/* 802AEDF4 002ABD54 38 9F 00 0C */ addi r4, r31, 0xc
/* 802AEDF8 002ABD58 48 08 8D 11 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AEDFC 002ABD5C 3B E0 00 01 */ li r31, 1
lbl_802AEE00:
/* 802AEE00 002ABD60 38 00 00 00 */ li r0, 0
/* 802AEE04 002ABD64 98 01 01 1C */ stb r0, 0x11c(r1)
lbl_802AEE08:
/* 802AEE08 002ABD68 80 9E 01 00 */ lwz r4, 0x100(r30)
/* 802AEE0C 002ABD6C 28 04 00 00 */ cmplwi r4, 0
/* 802AEE10 002ABD70 41 82 00 9C */ beq lbl_802AEEAC
/* 802AEE14 002ABD74 81 84 00 00 */ lwz r12, 0(r4)
/* 802AEE18 002ABD78 38 61 00 5C */ addi r3, r1, 0x5c
/* 802AEE1C 002ABD7C 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 802AEE20 002ABD80 7D 89 03 A6 */ mtctr r12
/* 802AEE24 002ABD84 4E 80 04 21 */ bctrl
/* 802AEE28 002ABD88 88 01 00 74 */ lbz r0, 0x74(r1)
/* 802AEE2C 002ABD8C 28 00 00 00 */ cmplwi r0, 0
/* 802AEE30 002ABD90 98 01 01 00 */ stb r0, 0x100(r1)
/* 802AEE34 002ABD94 41 82 00 3C */ beq lbl_802AEE70
/* 802AEE38 002ABD98 34 61 00 E8 */ addic. r3, r1, 0xe8
/* 802AEE3C 002ABD9C 41 82 00 34 */ beq lbl_802AEE70
/* 802AEE40 002ABDA0 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 802AEE44 002ABDA4 D0 03 00 00 */ stfs f0, 0(r3)
/* 802AEE48 002ABDA8 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 802AEE4C 002ABDAC D0 03 00 04 */ stfs f0, 4(r3)
/* 802AEE50 002ABDB0 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 802AEE54 002ABDB4 D0 03 00 08 */ stfs f0, 8(r3)
/* 802AEE58 002ABDB8 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 802AEE5C 002ABDBC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802AEE60 002ABDC0 C0 01 00 6C */ lfs f0, 0x6c(r1)
/* 802AEE64 002ABDC4 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802AEE68 002ABDC8 C0 01 00 70 */ lfs f0, 0x70(r1)
/* 802AEE6C 002ABDCC D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_802AEE70:
/* 802AEE70 002ABDD0 88 01 01 00 */ lbz r0, 0x100(r1)
/* 802AEE74 002ABDD4 38 60 00 00 */ li r3, 0
/* 802AEE78 002ABDD8 98 61 00 74 */ stb r3, 0x74(r1)
/* 802AEE7C 002ABDDC 28 00 00 00 */ cmplwi r0, 0
/* 802AEE80 002ABDE0 41 82 00 24 */ beq lbl_802AEEA4
/* 802AEE84 002ABDE4 3B E1 00 E8 */ addi r31, r1, 0xe8
/* 802AEE88 002ABDE8 38 61 01 20 */ addi r3, r1, 0x120
/* 802AEE8C 002ABDEC 7F E4 FB 78 */ mr r4, r31
/* 802AEE90 002ABDF0 48 08 8C 79 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AEE94 002ABDF4 38 61 01 20 */ addi r3, r1, 0x120
/* 802AEE98 002ABDF8 38 9F 00 0C */ addi r4, r31, 0xc
/* 802AEE9C 002ABDFC 48 08 8C 6D */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AEEA0 002ABE00 3B E0 00 01 */ li r31, 1
lbl_802AEEA4:
/* 802AEEA4 002ABE04 38 00 00 00 */ li r0, 0
/* 802AEEA8 002ABE08 98 01 01 00 */ stb r0, 0x100(r1)
lbl_802AEEAC:
/* 802AEEAC 002ABE0C 80 9E 01 18 */ lwz r4, 0x118(r30)
/* 802AEEB0 002ABE10 28 04 00 00 */ cmplwi r4, 0
/* 802AEEB4 002ABE14 41 82 00 9C */ beq lbl_802AEF50
/* 802AEEB8 002ABE18 81 84 00 00 */ lwz r12, 0(r4)
/* 802AEEBC 002ABE1C 38 61 00 40 */ addi r3, r1, 0x40
/* 802AEEC0 002ABE20 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 802AEEC4 002ABE24 7D 89 03 A6 */ mtctr r12
/* 802AEEC8 002ABE28 4E 80 04 21 */ bctrl
/* 802AEECC 002ABE2C 88 01 00 58 */ lbz r0, 0x58(r1)
/* 802AEED0 002ABE30 28 00 00 00 */ cmplwi r0, 0
/* 802AEED4 002ABE34 98 01 00 E4 */ stb r0, 0xe4(r1)
/* 802AEED8 002ABE38 41 82 00 3C */ beq lbl_802AEF14
/* 802AEEDC 002ABE3C 34 61 00 CC */ addic. r3, r1, 0xcc
/* 802AEEE0 002ABE40 41 82 00 34 */ beq lbl_802AEF14
/* 802AEEE4 002ABE44 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 802AEEE8 002ABE48 D0 03 00 00 */ stfs f0, 0(r3)
/* 802AEEEC 002ABE4C C0 01 00 44 */ lfs f0, 0x44(r1)
/* 802AEEF0 002ABE50 D0 03 00 04 */ stfs f0, 4(r3)
/* 802AEEF4 002ABE54 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 802AEEF8 002ABE58 D0 03 00 08 */ stfs f0, 8(r3)
/* 802AEEFC 002ABE5C C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 802AEF00 002ABE60 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802AEF04 002ABE64 C0 01 00 50 */ lfs f0, 0x50(r1)
/* 802AEF08 002ABE68 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802AEF0C 002ABE6C C0 01 00 54 */ lfs f0, 0x54(r1)
/* 802AEF10 002ABE70 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_802AEF14:
/* 802AEF14 002ABE74 88 01 00 E4 */ lbz r0, 0xe4(r1)
/* 802AEF18 002ABE78 38 60 00 00 */ li r3, 0
/* 802AEF1C 002ABE7C 98 61 00 58 */ stb r3, 0x58(r1)
/* 802AEF20 002ABE80 28 00 00 00 */ cmplwi r0, 0
/* 802AEF24 002ABE84 41 82 00 24 */ beq lbl_802AEF48
/* 802AEF28 002ABE88 3B E1 00 CC */ addi r31, r1, 0xcc
/* 802AEF2C 002ABE8C 38 61 01 20 */ addi r3, r1, 0x120
/* 802AEF30 002ABE90 7F E4 FB 78 */ mr r4, r31
/* 802AEF34 002ABE94 48 08 8B D5 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AEF38 002ABE98 38 61 01 20 */ addi r3, r1, 0x120
/* 802AEF3C 002ABE9C 38 9F 00 0C */ addi r4, r31, 0xc
/* 802AEF40 002ABEA0 48 08 8B C9 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AEF44 002ABEA4 3B E0 00 01 */ li r31, 1
lbl_802AEF48:
/* 802AEF48 002ABEA8 38 00 00 00 */ li r0, 0
/* 802AEF4C 002ABEAC 98 01 00 E4 */ stb r0, 0xe4(r1)
lbl_802AEF50:
/* 802AEF50 002ABEB0 80 9E 01 1C */ lwz r4, 0x11c(r30)
/* 802AEF54 002ABEB4 28 04 00 00 */ cmplwi r4, 0
/* 802AEF58 002ABEB8 41 82 00 9C */ beq lbl_802AEFF4
/* 802AEF5C 002ABEBC 81 84 00 00 */ lwz r12, 0(r4)
/* 802AEF60 002ABEC0 38 61 00 24 */ addi r3, r1, 0x24
/* 802AEF64 002ABEC4 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 802AEF68 002ABEC8 7D 89 03 A6 */ mtctr r12
/* 802AEF6C 002ABECC 4E 80 04 21 */ bctrl
/* 802AEF70 002ABED0 88 01 00 3C */ lbz r0, 0x3c(r1)
/* 802AEF74 002ABED4 28 00 00 00 */ cmplwi r0, 0
/* 802AEF78 002ABED8 98 01 00 C8 */ stb r0, 0xc8(r1)
/* 802AEF7C 002ABEDC 41 82 00 3C */ beq lbl_802AEFB8
/* 802AEF80 002ABEE0 34 61 00 B0 */ addic. r3, r1, 0xb0
/* 802AEF84 002ABEE4 41 82 00 34 */ beq lbl_802AEFB8
/* 802AEF88 002ABEE8 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 802AEF8C 002ABEEC D0 03 00 00 */ stfs f0, 0(r3)
/* 802AEF90 002ABEF0 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 802AEF94 002ABEF4 D0 03 00 04 */ stfs f0, 4(r3)
/* 802AEF98 002ABEF8 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 802AEF9C 002ABEFC D0 03 00 08 */ stfs f0, 8(r3)
/* 802AEFA0 002ABF00 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 802AEFA4 002ABF04 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802AEFA8 002ABF08 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 802AEFAC 002ABF0C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802AEFB0 002ABF10 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 802AEFB4 002ABF14 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_802AEFB8:
/* 802AEFB8 002ABF18 88 01 00 C8 */ lbz r0, 0xc8(r1)
/* 802AEFBC 002ABF1C 38 60 00 00 */ li r3, 0
/* 802AEFC0 002ABF20 98 61 00 3C */ stb r3, 0x3c(r1)
/* 802AEFC4 002ABF24 28 00 00 00 */ cmplwi r0, 0
/* 802AEFC8 002ABF28 41 82 00 24 */ beq lbl_802AEFEC
/* 802AEFCC 002ABF2C 3B E1 00 B0 */ addi r31, r1, 0xb0
/* 802AEFD0 002ABF30 38 61 01 20 */ addi r3, r1, 0x120
/* 802AEFD4 002ABF34 7F E4 FB 78 */ mr r4, r31
/* 802AEFD8 002ABF38 48 08 8B 31 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AEFDC 002ABF3C 38 61 01 20 */ addi r3, r1, 0x120
/* 802AEFE0 002ABF40 38 9F 00 0C */ addi r4, r31, 0xc
/* 802AEFE4 002ABF44 48 08 8B 25 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AEFE8 002ABF48 3B E0 00 01 */ li r31, 1
lbl_802AEFEC:
/* 802AEFEC 002ABF4C 38 00 00 00 */ li r0, 0
/* 802AEFF0 002ABF50 98 01 00 C8 */ stb r0, 0xc8(r1)
lbl_802AEFF4:
/* 802AEFF4 002ABF54 80 9E 01 20 */ lwz r4, 0x120(r30)
/* 802AEFF8 002ABF58 28 04 00 00 */ cmplwi r4, 0
/* 802AEFFC 002ABF5C 41 82 00 9C */ beq lbl_802AF098
/* 802AF000 002ABF60 81 84 00 00 */ lwz r12, 0(r4)
/* 802AF004 002ABF64 38 61 00 08 */ addi r3, r1, 8
/* 802AF008 002ABF68 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 802AF00C 002ABF6C 7D 89 03 A6 */ mtctr r12
/* 802AF010 002ABF70 4E 80 04 21 */ bctrl
/* 802AF014 002ABF74 88 01 00 20 */ lbz r0, 0x20(r1)
/* 802AF018 002ABF78 28 00 00 00 */ cmplwi r0, 0
/* 802AF01C 002ABF7C 98 01 00 AC */ stb r0, 0xac(r1)
/* 802AF020 002ABF80 41 82 00 3C */ beq lbl_802AF05C
/* 802AF024 002ABF84 34 61 00 94 */ addic. r3, r1, 0x94
/* 802AF028 002ABF88 41 82 00 34 */ beq lbl_802AF05C
/* 802AF02C 002ABF8C C0 01 00 08 */ lfs f0, 8(r1)
/* 802AF030 002ABF90 D0 03 00 00 */ stfs f0, 0(r3)
/* 802AF034 002ABF94 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 802AF038 002ABF98 D0 03 00 04 */ stfs f0, 4(r3)
/* 802AF03C 002ABF9C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 802AF040 002ABFA0 D0 03 00 08 */ stfs f0, 8(r3)
/* 802AF044 002ABFA4 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802AF048 002ABFA8 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802AF04C 002ABFAC C0 01 00 18 */ lfs f0, 0x18(r1)
/* 802AF050 002ABFB0 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802AF054 002ABFB4 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 802AF058 002ABFB8 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_802AF05C:
/* 802AF05C 002ABFBC 88 01 00 AC */ lbz r0, 0xac(r1)
/* 802AF060 002ABFC0 38 60 00 00 */ li r3, 0
/* 802AF064 002ABFC4 98 61 00 20 */ stb r3, 0x20(r1)
/* 802AF068 002ABFC8 28 00 00 00 */ cmplwi r0, 0
/* 802AF06C 002ABFCC 41 82 00 24 */ beq lbl_802AF090
/* 802AF070 002ABFD0 3B C1 00 94 */ addi r30, r1, 0x94
/* 802AF074 002ABFD4 38 61 01 20 */ addi r3, r1, 0x120
/* 802AF078 002ABFD8 7F C4 F3 78 */ mr r4, r30
/* 802AF07C 002ABFDC 48 08 8A 8D */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AF080 002ABFE0 38 61 01 20 */ addi r3, r1, 0x120
/* 802AF084 002ABFE4 38 9E 00 0C */ addi r4, r30, 0xc
/* 802AF088 002ABFE8 48 08 8A 81 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AF08C 002ABFEC 3B E0 00 01 */ li r31, 1
lbl_802AF090:
/* 802AF090 002ABFF0 38 00 00 00 */ li r0, 0
/* 802AF094 002ABFF4 98 01 00 AC */ stb r0, 0xac(r1)
lbl_802AF098:
/* 802AF098 002ABFF8 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 802AF09C 002ABFFC 41 82 00 48 */ beq lbl_802AF0E4
/* 802AF0A0 002AC000 38 00 00 01 */ li r0, 1
/* 802AF0A4 002AC004 28 1D 00 00 */ cmplwi r29, 0
/* 802AF0A8 002AC008 98 1D 00 18 */ stb r0, 0x18(r29)
/* 802AF0AC 002AC00C 41 82 00 40 */ beq lbl_802AF0EC
/* 802AF0B0 002AC010 C0 01 01 20 */ lfs f0, 0x120(r1)
/* 802AF0B4 002AC014 D0 1D 00 00 */ stfs f0, 0(r29)
/* 802AF0B8 002AC018 C0 01 01 24 */ lfs f0, 0x124(r1)
/* 802AF0BC 002AC01C D0 1D 00 04 */ stfs f0, 4(r29)
/* 802AF0C0 002AC020 C0 01 01 28 */ lfs f0, 0x128(r1)
/* 802AF0C4 002AC024 D0 1D 00 08 */ stfs f0, 8(r29)
/* 802AF0C8 002AC028 C0 01 01 2C */ lfs f0, 0x12c(r1)
/* 802AF0CC 002AC02C D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 802AF0D0 002AC030 C0 01 01 30 */ lfs f0, 0x130(r1)
/* 802AF0D4 002AC034 D0 1D 00 10 */ stfs f0, 0x10(r29)
/* 802AF0D8 002AC038 C0 01 01 34 */ lfs f0, 0x134(r1)
/* 802AF0DC 002AC03C D0 1D 00 14 */ stfs f0, 0x14(r29)
/* 802AF0E0 002AC040 48 00 00 0C */ b lbl_802AF0EC
lbl_802AF0E4:
/* 802AF0E4 002AC044 38 00 00 00 */ li r0, 0
/* 802AF0E8 002AC048 98 1D 00 18 */ stb r0, 0x18(r29)
lbl_802AF0EC:
/* 802AF0EC 002AC04C 80 01 01 54 */ lwz r0, 0x154(r1)
/* 802AF0F0 002AC050 83 E1 01 4C */ lwz r31, 0x14c(r1)
/* 802AF0F4 002AC054 83 C1 01 48 */ lwz r30, 0x148(r1)
/* 802AF0F8 002AC058 83 A1 01 44 */ lwz r29, 0x144(r1)
/* 802AF0FC 002AC05C 7C 08 03 A6 */ mtlr r0
/* 802AF100 002AC060 38 21 01 50 */ addi r1, r1, 0x150
/* 802AF104 002AC064 4E 80 00 20 */ blr
.global SetGlobalSeed__17CProjectileWeaponFUs
SetGlobalSeed__17CProjectileWeaponFUs:
/* 802AF108 002AC068 90 6D 9A 88 */ stw r3, lbl_805A8648@sda21(r13)
/* 802AF10C 002AC06C 4E 80 00 20 */ blr
.global sub_802af110
sub_802af110:
/* 802AF110 002AC070 38 63 00 BC */ addi r3, r3, 0xbc
/* 802AF114 002AC074 4E 80 00 20 */ blr
.global SetGravity__17CProjectileWeaponFRC9CVector3f
SetGravity__17CProjectileWeaponFRC9CVector3f:
/* 802AF118 002AC078 C0 04 00 00 */ lfs f0, 0(r4)
/* 802AF11C 002AC07C D0 03 00 BC */ stfs f0, 0xbc(r3)
/* 802AF120 002AC080 C0 04 00 04 */ lfs f0, 4(r4)
/* 802AF124 002AC084 D0 03 00 C0 */ stfs f0, 0xc0(r3)
/* 802AF128 002AC088 C0 04 00 08 */ lfs f0, 8(r4)
/* 802AF12C 002AC08C D0 03 00 C4 */ stfs f0, 0xc4(r3)
/* 802AF130 002AC090 4E 80 00 20 */ blr
.global GetVelocity__17CProjectileWeaponCFv
GetVelocity__17CProjectileWeaponCFv:
/* 802AF134 002AC094 38 63 00 B0 */ addi r3, r3, 0xb0
/* 802AF138 002AC098 4E 80 00 20 */ blr
.global SetVelocity__17CProjectileWeaponFRC9CVector3f
SetVelocity__17CProjectileWeaponFRC9CVector3f:
/* 802AF13C 002AC09C C0 04 00 00 */ lfs f0, 0(r4)
/* 802AF140 002AC0A0 D0 03 00 B0 */ stfs f0, 0xb0(r3)
/* 802AF144 002AC0A4 C0 04 00 04 */ lfs f0, 4(r4)
/* 802AF148 002AC0A8 D0 03 00 B4 */ stfs f0, 0xb4(r3)
/* 802AF14C 002AC0AC C0 04 00 08 */ lfs f0, 8(r4)
/* 802AF150 002AC0B0 D0 03 00 B8 */ stfs f0, 0xb8(r3)
/* 802AF154 002AC0B4 4E 80 00 20 */ blr
.global GetMaxTurnRate__17CProjectileWeaponCFv
GetMaxTurnRate__17CProjectileWeaponCFv:
/* 802AF158 002AC0B8 C0 23 00 E0 */ lfs f1, 0xe0(r3)
/* 802AF15C 002AC0BC 4E 80 00 20 */ blr
.global GetAudibleFallOff__17CProjectileWeaponCFv
GetAudibleFallOff__17CProjectileWeaponCFv:
/* 802AF160 002AC0C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802AF164 002AC0C4 7C 08 02 A6 */ mflr r0
/* 802AF168 002AC0C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802AF16C 002AC0CC DB E1 00 10 */ stfd f31, 0x10(r1)
/* 802AF170 002AC0D0 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 802AF174 002AC0D4 80 83 00 0C */ lwz r4, 0xc(r3)
/* 802AF178 002AC0D8 88 04 00 A0 */ lbz r0, 0xa0(r4)
/* 802AF17C 002AC0DC 28 00 00 00 */ cmplwi r0, 0
/* 802AF180 002AC0E0 40 82 00 0C */ bne lbl_802AF18C
/* 802AF184 002AC0E4 C0 22 C1 F0 */ lfs f1, lbl_805ADF10@sda21(r2)
/* 802AF188 002AC0E8 48 00 00 34 */ b lbl_802AF1BC
lbl_802AF18C:
/* 802AF18C 002AC0EC 38 61 00 08 */ addi r3, r1, 8
/* 802AF190 002AC0F0 38 84 00 94 */ addi r4, r4, 0x94
/* 802AF194 002AC0F4 48 09 1D 15 */ bl __ct__6CTokenFRC6CToken
/* 802AF198 002AC0F8 38 61 00 08 */ addi r3, r1, 8
/* 802AF19C 002AC0FC 48 09 1C 71 */ bl GetObj__6CTokenFv
/* 802AF1A0 002AC100 80 63 00 04 */ lwz r3, 4(r3)
/* 802AF1A4 002AC104 48 00 32 4D */ bl GetAudibleFallOff__22CCollisionResponseDataCFv
/* 802AF1A8 002AC108 FF E0 08 90 */ fmr f31, f1
/* 802AF1AC 002AC10C 38 61 00 08 */ addi r3, r1, 8
/* 802AF1B0 002AC110 38 80 00 00 */ li r4, 0
/* 802AF1B4 002AC114 48 09 1C 8D */ bl __dt__6CTokenFv
/* 802AF1B8 002AC118 FC 20 F8 90 */ fmr f1, f31
lbl_802AF1BC:
/* 802AF1BC 002AC11C E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 802AF1C0 002AC120 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802AF1C4 002AC124 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 802AF1C8 002AC128 7C 08 03 A6 */ mtlr r0
/* 802AF1CC 002AC12C 38 21 00 20 */ addi r1, r1, 0x20
/* 802AF1D0 002AC130 4E 80 00 20 */ blr
.global GetAudibleRange__17CProjectileWeaponCFv
GetAudibleRange__17CProjectileWeaponCFv:
/* 802AF1D4 002AC134 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802AF1D8 002AC138 7C 08 02 A6 */ mflr r0
/* 802AF1DC 002AC13C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802AF1E0 002AC140 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 802AF1E4 002AC144 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 802AF1E8 002AC148 80 83 00 0C */ lwz r4, 0xc(r3)
/* 802AF1EC 002AC14C 88 04 00 A0 */ lbz r0, 0xa0(r4)
/* 802AF1F0 002AC150 28 00 00 00 */ cmplwi r0, 0
/* 802AF1F4 002AC154 40 82 00 0C */ bne lbl_802AF200
/* 802AF1F8 002AC158 C0 22 C1 F0 */ lfs f1, lbl_805ADF10@sda21(r2)
/* 802AF1FC 002AC15C 48 00 00 34 */ b lbl_802AF230
lbl_802AF200:
/* 802AF200 002AC160 38 61 00 08 */ addi r3, r1, 8
/* 802AF204 002AC164 38 84 00 94 */ addi r4, r4, 0x94
/* 802AF208 002AC168 48 09 1C A1 */ bl __ct__6CTokenFRC6CToken
/* 802AF20C 002AC16C 38 61 00 08 */ addi r3, r1, 8
/* 802AF210 002AC170 48 09 1B FD */ bl GetObj__6CTokenFv
/* 802AF214 002AC174 80 63 00 04 */ lwz r3, 4(r3)
/* 802AF218 002AC178 48 00 31 E1 */ bl GetAudibleRange__22CCollisionResponseDataCFv
/* 802AF21C 002AC17C FF E0 08 90 */ fmr f31, f1
/* 802AF220 002AC180 38 61 00 08 */ addi r3, r1, 8
/* 802AF224 002AC184 38 80 00 00 */ li r4, 0
/* 802AF228 002AC188 48 09 1C 19 */ bl __dt__6CTokenFv
/* 802AF22C 002AC18C FC 20 F8 90 */ fmr f1, f31
lbl_802AF230:
/* 802AF230 002AC190 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 802AF234 002AC194 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802AF238 002AC198 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 802AF23C 002AC19C 7C 08 03 A6 */ mtlr r0
/* 802AF240 002AC1A0 38 21 00 20 */ addi r1, r1, 0x20
/* 802AF244 002AC1A4 4E 80 00 20 */ blr
.global GetDecalForCollision__17CProjectileWeaponCF29EWeaponCollisionResponseTypes
GetDecalForCollision__17CProjectileWeaponCF29EWeaponCollisionResponseTypes:
/* 802AF248 002AC1A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802AF24C 002AC1AC 7C 08 02 A6 */ mflr r0
/* 802AF250 002AC1B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802AF254 002AC1B4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802AF258 002AC1B8 7C BF 2B 78 */ mr r31, r5
/* 802AF25C 002AC1BC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802AF260 002AC1C0 7C 7E 1B 78 */ mr r30, r3
/* 802AF264 002AC1C4 80 84 00 0C */ lwz r4, 0xc(r4)
/* 802AF268 002AC1C8 88 04 00 A0 */ lbz r0, 0xa0(r4)
/* 802AF26C 002AC1CC 28 00 00 00 */ cmplwi r0, 0
/* 802AF270 002AC1D0 40 82 00 10 */ bne lbl_802AF280
/* 802AF274 002AC1D4 38 00 00 00 */ li r0, 0
/* 802AF278 002AC1D8 98 1E 00 0C */ stb r0, 0xc(r30)
/* 802AF27C 002AC1DC 48 00 00 38 */ b lbl_802AF2B4
lbl_802AF280:
/* 802AF280 002AC1E0 38 61 00 08 */ addi r3, r1, 8
/* 802AF284 002AC1E4 38 84 00 94 */ addi r4, r4, 0x94
/* 802AF288 002AC1E8 48 09 1C 21 */ bl __ct__6CTokenFRC6CToken
/* 802AF28C 002AC1EC 38 61 00 08 */ addi r3, r1, 8
/* 802AF290 002AC1F0 48 09 1B 7D */ bl GetObj__6CTokenFv
/* 802AF294 002AC1F4 7C 64 1B 78 */ mr r4, r3
/* 802AF298 002AC1F8 7F C3 F3 78 */ mr r3, r30
/* 802AF29C 002AC1FC 80 84 00 04 */ lwz r4, 4(r4)
/* 802AF2A0 002AC200 7F E5 FB 78 */ mr r5, r31
/* 802AF2A4 002AC204 48 00 31 BD */ bl GetDecalDescription__22CCollisionResponseDataCF29EWeaponCollisionResponseTypes
/* 802AF2A8 002AC208 38 61 00 08 */ addi r3, r1, 8
/* 802AF2AC 002AC20C 38 80 00 00 */ li r4, 0
/* 802AF2B0 002AC210 48 09 1B 91 */ bl __dt__6CTokenFv
lbl_802AF2B4:
/* 802AF2B4 002AC214 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802AF2B8 002AC218 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802AF2BC 002AC21C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802AF2C0 002AC220 7C 08 03 A6 */ mtlr r0
/* 802AF2C4 002AC224 38 21 00 20 */ addi r1, r1, 0x20
/* 802AF2C8 002AC228 4E 80 00 20 */ blr
.global GetSoundIdForCollision__17CProjectileWeaponCF29EWeaponCollisionResponseTypes
GetSoundIdForCollision__17CProjectileWeaponCF29EWeaponCollisionResponseTypes:
/* 802AF2CC 002AC22C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802AF2D0 002AC230 7C 08 02 A6 */ mflr r0
/* 802AF2D4 002AC234 90 01 00 24 */ stw r0, 0x24(r1)
/* 802AF2D8 002AC238 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802AF2DC 002AC23C 7C 9F 23 78 */ mr r31, r4
/* 802AF2E0 002AC240 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 802AF2E4 002AC244 88 05 00 A0 */ lbz r0, 0xa0(r5)
/* 802AF2E8 002AC248 28 00 00 00 */ cmplwi r0, 0
/* 802AF2EC 002AC24C 40 82 00 0C */ bne lbl_802AF2F8
/* 802AF2F0 002AC250 38 60 FF FF */ li r3, -1
/* 802AF2F4 002AC254 48 00 00 38 */ b lbl_802AF32C
lbl_802AF2F8:
/* 802AF2F8 002AC258 38 61 00 08 */ addi r3, r1, 8
/* 802AF2FC 002AC25C 38 85 00 94 */ addi r4, r5, 0x94
/* 802AF300 002AC260 48 09 1B A9 */ bl __ct__6CTokenFRC6CToken
/* 802AF304 002AC264 38 61 00 08 */ addi r3, r1, 8
/* 802AF308 002AC268 48 09 1B 05 */ bl GetObj__6CTokenFv
/* 802AF30C 002AC26C 80 63 00 04 */ lwz r3, 4(r3)
/* 802AF310 002AC270 7F E4 FB 78 */ mr r4, r31
/* 802AF314 002AC274 48 00 31 BD */ bl GetSoundEffectId__22CCollisionResponseDataCF29EWeaponCollisionResponseTypes
/* 802AF318 002AC278 7C 7F 1B 78 */ mr r31, r3
/* 802AF31C 002AC27C 38 61 00 08 */ addi r3, r1, 8
/* 802AF320 002AC280 38 80 00 00 */ li r4, 0
/* 802AF324 002AC284 48 09 1B 1D */ bl __dt__6CTokenFv
/* 802AF328 002AC288 7F E3 FB 78 */ mr r3, r31
lbl_802AF32C:
/* 802AF32C 002AC28C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802AF330 002AC290 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802AF334 002AC294 7C 08 03 A6 */ mtlr r0
/* 802AF338 002AC298 38 21 00 20 */ addi r1, r1, 0x20
/* 802AF33C 002AC29C 4E 80 00 20 */ blr
.global CollisionOccured__17CProjectileWeaponF29EWeaponCollisionResponseTypesbbRC9CVector3fRC9CVector3fRC9CVector3f
CollisionOccured__17CProjectileWeaponF29EWeaponCollisionResponseTypesbbRC9CVector3fRC9CVector3fRC9CVector3f:
/* 802AF340 002AC2A0 94 21 FE B0 */ stwu r1, -0x150(r1)
/* 802AF344 002AC2A4 7C 08 02 A6 */ mflr r0
/* 802AF348 002AC2A8 90 01 01 54 */ stw r0, 0x154(r1)
/* 802AF34C 002AC2AC BF 21 01 34 */ stmw r25, 0x134(r1)
/* 802AF350 002AC2B0 7C 7D 1B 78 */ mr r29, r3
/* 802AF354 002AC2B4 7C BF 2B 78 */ mr r31, r5
/* 802AF358 002AC2B8 7C 9E 23 78 */ mr r30, r4
/* 802AF35C 002AC2BC 7C D9 33 78 */ mr r25, r6
/* 802AF360 002AC2C0 7C FA 3B 78 */ mr r26, r7
/* 802AF364 002AC2C4 7D 3B 4B 78 */ mr r27, r9
/* 802AF368 002AC2C8 7D 5C 53 78 */ mr r28, r10
/* 802AF36C 002AC2CC 38 61 00 58 */ addi r3, r1, 0x58
/* 802AF370 002AC2D0 38 A1 00 4C */ addi r5, r1, 0x4c
/* 802AF374 002AC2D4 C0 28 00 04 */ lfs f1, 4(r8)
/* 802AF378 002AC2D8 C0 04 00 78 */ lfs f0, 0x78(r4)
/* 802AF37C 002AC2DC C0 68 00 08 */ lfs f3, 8(r8)
/* 802AF380 002AC2E0 EC 81 00 28 */ fsubs f4, f1, f0
/* 802AF384 002AC2E4 C0 44 00 7C */ lfs f2, 0x7c(r4)
/* 802AF388 002AC2E8 C0 04 00 74 */ lfs f0, 0x74(r4)
/* 802AF38C 002AC2EC 38 9E 00 14 */ addi r4, r30, 0x14
/* 802AF390 002AC2F0 C0 28 00 00 */ lfs f1, 0(r8)
/* 802AF394 002AC2F4 EC 43 10 28 */ fsubs f2, f3, f2
/* 802AF398 002AC2F8 EC 01 00 28 */ fsubs f0, f1, f0
/* 802AF39C 002AC2FC D0 81 00 50 */ stfs f4, 0x50(r1)
/* 802AF3A0 002AC300 D0 41 00 54 */ stfs f2, 0x54(r1)
/* 802AF3A4 002AC304 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 802AF3A8 002AC308 48 06 36 7D */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 802AF3AC 002AC30C C0 21 00 58 */ lfs f1, 0x58(r1)
/* 802AF3B0 002AC310 57 20 06 3F */ clrlwi. r0, r25, 0x18
/* 802AF3B4 002AC314 C0 1E 00 8C */ lfs f0, 0x8c(r30)
/* 802AF3B8 002AC318 C0 81 00 5C */ lfs f4, 0x5c(r1)
/* 802AF3BC 002AC31C C0 7E 00 90 */ lfs f3, 0x90(r30)
/* 802AF3C0 002AC320 EC 01 00 28 */ fsubs f0, f1, f0
/* 802AF3C4 002AC324 C0 41 00 60 */ lfs f2, 0x60(r1)
/* 802AF3C8 002AC328 C0 3E 00 94 */ lfs f1, 0x94(r30)
/* 802AF3CC 002AC32C EC 64 18 28 */ fsubs f3, f4, f3
/* 802AF3D0 002AC330 D0 1E 00 80 */ stfs f0, 0x80(r30)
/* 802AF3D4 002AC334 EC 02 08 28 */ fsubs f0, f2, f1
/* 802AF3D8 002AC338 D0 7E 00 84 */ stfs f3, 0x84(r30)
/* 802AF3DC 002AC33C D0 1E 00 88 */ stfs f0, 0x88(r30)
/* 802AF3E0 002AC340 41 82 01 4C */ beq lbl_802AF52C
/* 802AF3E4 002AC344 7F C4 F3 78 */ mr r4, r30
/* 802AF3E8 002AC348 38 61 00 40 */ addi r3, r1, 0x40
/* 802AF3EC 002AC34C 81 9E 00 00 */ lwz r12, 0(r30)
/* 802AF3F0 002AC350 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AF3F4 002AC354 7D 89 03 A6 */ mtctr r12
/* 802AF3F8 002AC358 4E 80 04 21 */ bctrl
/* 802AF3FC 002AC35C C0 3C 00 04 */ lfs f1, 4(r28)
/* 802AF400 002AC360 57 40 06 3F */ clrlwi. r0, r26, 0x18
/* 802AF404 002AC364 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 802AF408 002AC368 C0 7C 00 08 */ lfs f3, 8(r28)
/* 802AF40C 002AC36C EC 81 00 28 */ fsubs f4, f1, f0
/* 802AF410 002AC370 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 802AF414 002AC374 C0 3C 00 00 */ lfs f1, 0(r28)
/* 802AF418 002AC378 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 802AF41C 002AC37C EC 43 10 28 */ fsubs f2, f3, f2
/* 802AF420 002AC380 D0 81 00 68 */ stfs f4, 0x68(r1)
/* 802AF424 002AC384 EC 01 00 28 */ fsubs f0, f1, f0
/* 802AF428 002AC388 D0 41 00 6C */ stfs f2, 0x6c(r1)
/* 802AF42C 002AC38C D0 01 00 64 */ stfs f0, 0x64(r1)
/* 802AF430 002AC390 41 82 00 4C */ beq lbl_802AF47C
/* 802AF434 002AC394 38 61 00 64 */ addi r3, r1, 0x64
/* 802AF438 002AC398 48 06 52 C1 */ bl CanBeNormalized__9CVector3fCFv
/* 802AF43C 002AC39C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AF440 002AC3A0 41 82 00 3C */ beq lbl_802AF47C
/* 802AF444 002AC3A4 38 61 00 34 */ addi r3, r1, 0x34
/* 802AF448 002AC3A8 38 81 00 64 */ addi r4, r1, 0x64
/* 802AF44C 002AC3AC 48 06 54 05 */ bl AsNormalized__9CVector3fCFv
/* 802AF450 002AC3B0 3C 60 80 5A */ lis r3, skZero3f@ha
/* 802AF454 002AC3B4 3C A0 80 5A */ lis r5, lbl_805A66F4@ha
/* 802AF458 002AC3B8 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 802AF45C 002AC3BC 38 C5 66 F4 */ addi r6, r5, lbl_805A66F4@l
/* 802AF460 002AC3C0 38 61 00 D0 */ addi r3, r1, 0xd0
/* 802AF464 002AC3C4 38 A1 00 34 */ addi r5, r1, 0x34
/* 802AF468 002AC3C8 48 06 46 A9 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 802AF46C 002AC3CC 7F C3 F3 78 */ mr r3, r30
/* 802AF470 002AC3D0 38 81 00 D0 */ addi r4, r1, 0xd0
/* 802AF474 002AC3D4 48 00 10 31 */ bl SetWorldSpaceOrientation__17CProjectileWeaponFRC12CTransform4f
/* 802AF478 002AC3D8 48 00 00 A8 */ b lbl_802AF520
lbl_802AF47C:
/* 802AF47C 002AC3DC 7F C4 F3 78 */ mr r4, r30
/* 802AF480 002AC3E0 38 61 00 A0 */ addi r3, r1, 0xa0
/* 802AF484 002AC3E4 48 00 11 55 */ bl GetTransform__17CProjectileWeaponFv
/* 802AF488 002AC3E8 C0 A1 00 B4 */ lfs f5, 0xb4(r1)
/* 802AF48C 002AC3EC 3C 60 80 5A */ lis r3, skZero3f@ha
/* 802AF490 002AC3F0 C0 FB 00 04 */ lfs f7, 4(r27)
/* 802AF494 002AC3F4 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 802AF498 002AC3F8 C0 81 00 A4 */ lfs f4, 0xa4(r1)
/* 802AF49C 002AC3FC 7F 66 DB 78 */ mr r6, r27
/* 802AF4A0 002AC400 EC 07 01 72 */ fmuls f0, f7, f5
/* 802AF4A4 002AC404 C0 5B 00 00 */ lfs f2, 0(r27)
/* 802AF4A8 002AC408 C0 C1 00 C4 */ lfs f6, 0xc4(r1)
/* 802AF4AC 002AC40C 38 61 00 70 */ addi r3, r1, 0x70
/* 802AF4B0 002AC410 C1 1B 00 08 */ lfs f8, 8(r27)
/* 802AF4B4 002AC414 38 A1 00 1C */ addi r5, r1, 0x1c
/* 802AF4B8 002AC418 EC 02 01 3A */ fmadds f0, f2, f4, f0
/* 802AF4BC 002AC41C C0 22 C1 F4 */ lfs f1, lbl_805ADF14@sda21(r2)
/* 802AF4C0 002AC420 D0 81 00 28 */ stfs f4, 0x28(r1)
/* 802AF4C4 002AC424 EC 08 01 BA */ fmadds f0, f8, f6, f0
/* 802AF4C8 002AC428 D0 A1 00 2C */ stfs f5, 0x2c(r1)
/* 802AF4CC 002AC42C D0 C1 00 30 */ stfs f6, 0x30(r1)
/* 802AF4D0 002AC430 EC 01 00 32 */ fmuls f0, f1, f0
/* 802AF4D4 002AC434 EC 60 00 B2 */ fmuls f3, f0, f2
/* 802AF4D8 002AC438 EC 40 01 F2 */ fmuls f2, f0, f7
/* 802AF4DC 002AC43C EC 20 02 32 */ fmuls f1, f0, f8
/* 802AF4E0 002AC440 EC 04 18 28 */ fsubs f0, f4, f3
/* 802AF4E4 002AC444 D0 61 00 10 */ stfs f3, 0x10(r1)
/* 802AF4E8 002AC448 EC 85 10 28 */ fsubs f4, f5, f2
/* 802AF4EC 002AC44C EC 66 08 28 */ fsubs f3, f6, f1
/* 802AF4F0 002AC450 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 802AF4F4 002AC454 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 802AF4F8 002AC458 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 802AF4FC 002AC45C D0 81 00 20 */ stfs f4, 0x20(r1)
/* 802AF500 002AC460 D0 61 00 24 */ stfs f3, 0x24(r1)
/* 802AF504 002AC464 48 06 46 0D */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 802AF508 002AC468 38 61 01 00 */ addi r3, r1, 0x100
/* 802AF50C 002AC46C 38 81 00 70 */ addi r4, r1, 0x70
/* 802AF510 002AC470 48 06 36 65 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AF514 002AC474 7F C3 F3 78 */ mr r3, r30
/* 802AF518 002AC478 38 81 01 00 */ addi r4, r1, 0x100
/* 802AF51C 002AC47C 48 00 0F 89 */ bl SetWorldSpaceOrientation__17CProjectileWeaponFRC12CTransform4f
lbl_802AF520:
/* 802AF520 002AC480 38 00 00 00 */ li r0, 0
/* 802AF524 002AC484 98 1D 00 0C */ stb r0, 0xc(r29)
/* 802AF528 002AC488 48 00 01 04 */ b lbl_802AF62C
lbl_802AF52C:
/* 802AF52C 002AC48C 88 1E 01 24 */ lbz r0, 0x124(r30)
/* 802AF530 002AC490 38 60 00 00 */ li r3, 0
/* 802AF534 002AC494 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 802AF538 002AC498 98 1E 01 24 */ stb r0, 0x124(r30)
/* 802AF53C 002AC49C 80 7E 00 FC */ lwz r3, 0xfc(r30)
/* 802AF540 002AC4A0 28 03 00 00 */ cmplwi r3, 0
/* 802AF544 002AC4A4 41 82 00 18 */ beq lbl_802AF55C
/* 802AF548 002AC4A8 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF54C 002AC4AC 38 80 00 00 */ li r4, 0
/* 802AF550 002AC4B0 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802AF554 002AC4B4 7D 89 03 A6 */ mtctr r12
/* 802AF558 002AC4B8 4E 80 04 21 */ bctrl
lbl_802AF55C:
/* 802AF55C 002AC4BC 80 7E 01 00 */ lwz r3, 0x100(r30)
/* 802AF560 002AC4C0 28 03 00 00 */ cmplwi r3, 0
/* 802AF564 002AC4C4 41 82 00 18 */ beq lbl_802AF57C
/* 802AF568 002AC4C8 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF56C 002AC4CC 38 80 00 00 */ li r4, 0
/* 802AF570 002AC4D0 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802AF574 002AC4D4 7D 89 03 A6 */ mtctr r12
/* 802AF578 002AC4D8 4E 80 04 21 */ bctrl
lbl_802AF57C:
/* 802AF57C 002AC4DC 80 7E 01 18 */ lwz r3, 0x118(r30)
/* 802AF580 002AC4E0 28 03 00 00 */ cmplwi r3, 0
/* 802AF584 002AC4E4 41 82 00 18 */ beq lbl_802AF59C
/* 802AF588 002AC4E8 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF58C 002AC4EC 38 80 00 00 */ li r4, 0
/* 802AF590 002AC4F0 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802AF594 002AC4F4 7D 89 03 A6 */ mtctr r12
/* 802AF598 002AC4F8 4E 80 04 21 */ bctrl
lbl_802AF59C:
/* 802AF59C 002AC4FC 80 7E 01 1C */ lwz r3, 0x11c(r30)
/* 802AF5A0 002AC500 28 03 00 00 */ cmplwi r3, 0
/* 802AF5A4 002AC504 41 82 00 18 */ beq lbl_802AF5BC
/* 802AF5A8 002AC508 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF5AC 002AC50C 38 80 00 00 */ li r4, 0
/* 802AF5B0 002AC510 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802AF5B4 002AC514 7D 89 03 A6 */ mtctr r12
/* 802AF5B8 002AC518 4E 80 04 21 */ bctrl
lbl_802AF5BC:
/* 802AF5BC 002AC51C 80 7E 01 20 */ lwz r3, 0x120(r30)
/* 802AF5C0 002AC520 28 03 00 00 */ cmplwi r3, 0
/* 802AF5C4 002AC524 41 82 00 18 */ beq lbl_802AF5DC
/* 802AF5C8 002AC528 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF5CC 002AC52C 38 80 00 00 */ li r4, 0
/* 802AF5D0 002AC530 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802AF5D4 002AC534 7D 89 03 A6 */ mtctr r12
/* 802AF5D8 002AC538 4E 80 04 21 */ bctrl
lbl_802AF5DC:
/* 802AF5DC 002AC53C 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 802AF5E0 002AC540 88 04 00 A0 */ lbz r0, 0xa0(r4)
/* 802AF5E4 002AC544 28 00 00 00 */ cmplwi r0, 0
/* 802AF5E8 002AC548 40 82 00 10 */ bne lbl_802AF5F8
/* 802AF5EC 002AC54C 38 00 00 00 */ li r0, 0
/* 802AF5F0 002AC550 98 1D 00 0C */ stb r0, 0xc(r29)
/* 802AF5F4 002AC554 48 00 00 38 */ b lbl_802AF62C
lbl_802AF5F8:
/* 802AF5F8 002AC558 38 61 00 08 */ addi r3, r1, 8
/* 802AF5FC 002AC55C 38 84 00 94 */ addi r4, r4, 0x94
/* 802AF600 002AC560 48 09 18 A9 */ bl __ct__6CTokenFRC6CToken
/* 802AF604 002AC564 38 61 00 08 */ addi r3, r1, 8
/* 802AF608 002AC568 48 09 18 05 */ bl GetObj__6CTokenFv
/* 802AF60C 002AC56C 7C 64 1B 78 */ mr r4, r3
/* 802AF610 002AC570 7F A3 EB 78 */ mr r3, r29
/* 802AF614 002AC574 80 84 00 04 */ lwz r4, 4(r4)
/* 802AF618 002AC578 7F E5 FB 78 */ mr r5, r31
/* 802AF61C 002AC57C 48 00 2F A5 */ bl GetParticleDescription__22CCollisionResponseDataCF29EWeaponCollisionResponseTypes
/* 802AF620 002AC580 38 61 00 08 */ addi r3, r1, 8
/* 802AF624 002AC584 38 80 00 00 */ li r4, 0
/* 802AF628 002AC588 48 09 18 19 */ bl __dt__6CTokenFv
lbl_802AF62C:
/* 802AF62C 002AC58C BB 21 01 34 */ lmw r25, 0x134(r1)
/* 802AF630 002AC590 80 01 01 54 */ lwz r0, 0x154(r1)
/* 802AF634 002AC594 7C 08 03 A6 */ mtlr r0
/* 802AF638 002AC598 38 21 01 50 */ addi r1, r1, 0x150
/* 802AF63C 002AC59C 4E 80 00 20 */ blr
.global RenderParticles__17CProjectileWeaponCFv
RenderParticles__17CProjectileWeaponCFv:
/* 802AF640 002AC5A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AF644 002AC5A4 7C 08 02 A6 */ mflr r0
/* 802AF648 002AC5A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AF64C 002AC5AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AF650 002AC5B0 7C 7F 1B 78 */ mr r31, r3
/* 802AF654 002AC5B4 80 63 00 FC */ lwz r3, 0xfc(r3)
/* 802AF658 002AC5B8 28 03 00 00 */ cmplwi r3, 0
/* 802AF65C 002AC5BC 41 82 00 14 */ beq lbl_802AF670
/* 802AF660 002AC5C0 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF664 002AC5C4 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AF668 002AC5C8 7D 89 03 A6 */ mtctr r12
/* 802AF66C 002AC5CC 4E 80 04 21 */ bctrl
lbl_802AF670:
/* 802AF670 002AC5D0 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802AF674 002AC5D4 28 03 00 00 */ cmplwi r3, 0
/* 802AF678 002AC5D8 41 82 00 14 */ beq lbl_802AF68C
/* 802AF67C 002AC5DC 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF680 002AC5E0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AF684 002AC5E4 7D 89 03 A6 */ mtctr r12
/* 802AF688 002AC5E8 4E 80 04 21 */ bctrl
lbl_802AF68C:
/* 802AF68C 002AC5EC 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802AF690 002AC5F0 28 03 00 00 */ cmplwi r3, 0
/* 802AF694 002AC5F4 41 82 00 14 */ beq lbl_802AF6A8
/* 802AF698 002AC5F8 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF69C 002AC5FC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AF6A0 002AC600 7D 89 03 A6 */ mtctr r12
/* 802AF6A4 002AC604 4E 80 04 21 */ bctrl
lbl_802AF6A8:
/* 802AF6A8 002AC608 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802AF6AC 002AC60C 28 03 00 00 */ cmplwi r3, 0
/* 802AF6B0 002AC610 41 82 00 14 */ beq lbl_802AF6C4
/* 802AF6B4 002AC614 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF6B8 002AC618 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AF6BC 002AC61C 7D 89 03 A6 */ mtctr r12
/* 802AF6C0 002AC620 4E 80 04 21 */ bctrl
lbl_802AF6C4:
/* 802AF6C4 002AC624 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802AF6C8 002AC628 28 03 00 00 */ cmplwi r3, 0
/* 802AF6CC 002AC62C 41 82 00 14 */ beq lbl_802AF6E0
/* 802AF6D0 002AC630 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF6D4 002AC634 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AF6D8 002AC638 7D 89 03 A6 */ mtctr r12
/* 802AF6DC 002AC63C 4E 80 04 21 */ bctrl
lbl_802AF6E0:
/* 802AF6E0 002AC640 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 802AF6E4 002AC644 28 03 00 00 */ cmplwi r3, 0
/* 802AF6E8 002AC648 41 82 00 14 */ beq lbl_802AF6FC
/* 802AF6EC 002AC64C 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF6F0 002AC650 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AF6F4 002AC654 7D 89 03 A6 */ mtctr r12
/* 802AF6F8 002AC658 4E 80 04 21 */ bctrl
lbl_802AF6FC:
/* 802AF6FC 002AC65C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AF700 002AC660 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AF704 002AC664 7C 08 03 A6 */ mtlr r0
/* 802AF708 002AC668 38 21 00 10 */ addi r1, r1, 0x10
/* 802AF70C 002AC66C 4E 80 00 20 */ blr
.global AddToRenderer__17CProjectileWeaponCFv
AddToRenderer__17CProjectileWeaponCFv:
/* 802AF710 002AC670 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AF714 002AC674 7C 08 02 A6 */ mflr r0
/* 802AF718 002AC678 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AF71C 002AC67C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AF720 002AC680 7C 7F 1B 78 */ mr r31, r3
/* 802AF724 002AC684 80 83 00 FC */ lwz r4, 0xfc(r3)
/* 802AF728 002AC688 28 04 00 00 */ cmplwi r4, 0
/* 802AF72C 002AC68C 41 82 00 18 */ beq lbl_802AF744
/* 802AF730 002AC690 80 6D 9A 90 */ lwz r3, sWeaponRenderer__15IWeaponRenderer@sda21(r13)
/* 802AF734 002AC694 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF738 002AC698 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802AF73C 002AC69C 7D 89 03 A6 */ mtctr r12
/* 802AF740 002AC6A0 4E 80 04 21 */ bctrl
lbl_802AF744:
/* 802AF744 002AC6A4 80 9F 01 00 */ lwz r4, 0x100(r31)
/* 802AF748 002AC6A8 28 04 00 00 */ cmplwi r4, 0
/* 802AF74C 002AC6AC 41 82 00 18 */ beq lbl_802AF764
/* 802AF750 002AC6B0 80 6D 9A 90 */ lwz r3, sWeaponRenderer__15IWeaponRenderer@sda21(r13)
/* 802AF754 002AC6B4 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF758 002AC6B8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802AF75C 002AC6BC 7D 89 03 A6 */ mtctr r12
/* 802AF760 002AC6C0 4E 80 04 21 */ bctrl
lbl_802AF764:
/* 802AF764 002AC6C4 80 9F 01 18 */ lwz r4, 0x118(r31)
/* 802AF768 002AC6C8 28 04 00 00 */ cmplwi r4, 0
/* 802AF76C 002AC6CC 41 82 00 18 */ beq lbl_802AF784
/* 802AF770 002AC6D0 80 6D 9A 90 */ lwz r3, sWeaponRenderer__15IWeaponRenderer@sda21(r13)
/* 802AF774 002AC6D4 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF778 002AC6D8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802AF77C 002AC6DC 7D 89 03 A6 */ mtctr r12
/* 802AF780 002AC6E0 4E 80 04 21 */ bctrl
lbl_802AF784:
/* 802AF784 002AC6E4 80 9F 01 1C */ lwz r4, 0x11c(r31)
/* 802AF788 002AC6E8 28 04 00 00 */ cmplwi r4, 0
/* 802AF78C 002AC6EC 41 82 00 18 */ beq lbl_802AF7A4
/* 802AF790 002AC6F0 80 6D 9A 90 */ lwz r3, sWeaponRenderer__15IWeaponRenderer@sda21(r13)
/* 802AF794 002AC6F4 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF798 002AC6F8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802AF79C 002AC6FC 7D 89 03 A6 */ mtctr r12
/* 802AF7A0 002AC700 4E 80 04 21 */ bctrl
lbl_802AF7A4:
/* 802AF7A4 002AC704 80 9F 01 20 */ lwz r4, 0x120(r31)
/* 802AF7A8 002AC708 28 04 00 00 */ cmplwi r4, 0
/* 802AF7AC 002AC70C 41 82 00 18 */ beq lbl_802AF7C4
/* 802AF7B0 002AC710 80 6D 9A 90 */ lwz r3, sWeaponRenderer__15IWeaponRenderer@sda21(r13)
/* 802AF7B4 002AC714 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF7B8 002AC718 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802AF7BC 002AC71C 7D 89 03 A6 */ mtctr r12
/* 802AF7C0 002AC720 4E 80 04 21 */ bctrl
lbl_802AF7C4:
/* 802AF7C4 002AC724 80 9F 01 04 */ lwz r4, 0x104(r31)
/* 802AF7C8 002AC728 28 04 00 00 */ cmplwi r4, 0
/* 802AF7CC 002AC72C 41 82 00 18 */ beq lbl_802AF7E4
/* 802AF7D0 002AC730 80 6D 9A 90 */ lwz r3, sWeaponRenderer__15IWeaponRenderer@sda21(r13)
/* 802AF7D4 002AC734 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF7D8 002AC738 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802AF7DC 002AC73C 7D 89 03 A6 */ mtctr r12
/* 802AF7E0 002AC740 4E 80 04 21 */ bctrl
lbl_802AF7E4:
/* 802AF7E4 002AC744 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AF7E8 002AC748 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AF7EC 002AC74C 7C 08 03 A6 */ mtlr r0
/* 802AF7F0 002AC750 38 21 00 10 */ addi r1, r1, 0x10
/* 802AF7F4 002AC754 4E 80 00 20 */ blr
.global Render__17CProjectileWeaponCFv
Render__17CProjectileWeaponCFv:
/* 802AF7F8 002AC758 94 21 FD 40 */ stwu r1, -0x2c0(r1)
/* 802AF7FC 002AC75C 7C 08 02 A6 */ mflr r0
/* 802AF800 002AC760 90 01 02 C4 */ stw r0, 0x2c4(r1)
/* 802AF804 002AC764 93 E1 02 BC */ stw r31, 0x2bc(r1)
/* 802AF808 002AC768 7C 7F 1B 78 */ mr r31, r3
/* 802AF80C 002AC76C 80 63 00 F4 */ lwz r3, 0xf4(r3)
/* 802AF810 002AC770 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 802AF814 002AC774 7C 03 00 00 */ cmpw r3, r0
/* 802AF818 002AC778 41 81 01 70 */ bgt lbl_802AF988
/* 802AF81C 002AC77C 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802AF820 002AC780 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802AF824 002AC784 41 82 01 64 */ beq lbl_802AF988
/* 802AF828 002AC788 88 1F 01 14 */ lbz r0, 0x114(r31)
/* 802AF82C 002AC78C 28 00 00 00 */ cmplwi r0, 0
/* 802AF830 002AC790 41 82 01 58 */ beq lbl_802AF988
/* 802AF834 002AC794 38 61 00 10 */ addi r3, r1, 0x10
/* 802AF838 002AC798 38 9F 00 44 */ addi r4, r31, 0x44
/* 802AF83C 002AC79C 38 BF 00 8C */ addi r5, r31, 0x8c
/* 802AF840 002AC7A0 48 06 32 A9 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 802AF844 002AC7A4 C0 7F 00 84 */ lfs f3, 0x84(r31)
/* 802AF848 002AC7A8 38 61 01 54 */ addi r3, r1, 0x154
/* 802AF84C 002AC7AC C0 21 00 14 */ lfs f1, 0x14(r1)
/* 802AF850 002AC7B0 38 81 00 28 */ addi r4, r1, 0x28
/* 802AF854 002AC7B4 C0 5F 00 88 */ lfs f2, 0x88(r31)
/* 802AF858 002AC7B8 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 802AF85C 002AC7BC EC 83 08 2A */ fadds f4, f3, f1
/* 802AF860 002AC7C0 C0 3F 00 A8 */ lfs f1, 0xa8(r31)
/* 802AF864 002AC7C4 EC 62 00 2A */ fadds f3, f2, f0
/* 802AF868 002AC7C8 C0 1F 00 AC */ lfs f0, 0xac(r31)
/* 802AF86C 002AC7CC EC C4 08 2A */ fadds f6, f4, f1
/* 802AF870 002AC7D0 C0 5F 00 80 */ lfs f2, 0x80(r31)
/* 802AF874 002AC7D4 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 802AF878 002AC7D8 EC A3 00 2A */ fadds f5, f3, f0
/* 802AF87C 002AC7DC EC 22 08 2A */ fadds f1, f2, f1
/* 802AF880 002AC7E0 C0 1F 00 A4 */ lfs f0, 0xa4(r31)
/* 802AF884 002AC7E4 D0 81 00 20 */ stfs f4, 0x20(r1)
/* 802AF888 002AC7E8 EC 01 00 2A */ fadds f0, f1, f0
/* 802AF88C 002AC7EC D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 802AF890 002AC7F0 D0 61 00 24 */ stfs f3, 0x24(r1)
/* 802AF894 002AC7F4 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 802AF898 002AC7F8 D0 C1 00 2C */ stfs f6, 0x2c(r1)
/* 802AF89C 002AC7FC D0 A1 00 30 */ stfs f5, 0x30(r1)
/* 802AF8A0 002AC800 48 06 38 A1 */ bl Translate__12CTransform4fFRC9CVector3f
/* 802AF8A4 002AC804 38 61 01 E4 */ addi r3, r1, 0x1e4
/* 802AF8A8 002AC808 38 81 01 54 */ addi r4, r1, 0x154
/* 802AF8AC 002AC80C 48 06 32 C9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AF8B0 002AC810 38 61 01 24 */ addi r3, r1, 0x124
/* 802AF8B4 002AC814 38 9F 00 74 */ addi r4, r31, 0x74
/* 802AF8B8 002AC818 48 06 38 89 */ bl Translate__12CTransform4fFRC9CVector3f
/* 802AF8BC 002AC81C 38 61 01 B4 */ addi r3, r1, 0x1b4
/* 802AF8C0 002AC820 38 81 01 24 */ addi r4, r1, 0x124
/* 802AF8C4 002AC824 48 06 32 B1 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AF8C8 002AC828 C0 3F 00 98 */ lfs f1, 0x98(r31)
/* 802AF8CC 002AC82C 38 61 00 F4 */ addi r3, r1, 0xf4
/* 802AF8D0 002AC830 C0 5F 00 9C */ lfs f2, 0x9c(r31)
/* 802AF8D4 002AC834 C0 7F 00 A0 */ lfs f3, 0xa0(r31)
/* 802AF8D8 002AC838 48 06 39 31 */ bl Scale__12CTransform4fFfff
/* 802AF8DC 002AC83C 38 61 01 84 */ addi r3, r1, 0x184
/* 802AF8E0 002AC840 38 81 00 F4 */ addi r4, r1, 0xf4
/* 802AF8E4 002AC844 48 06 32 91 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AF8E8 002AC848 38 61 00 34 */ addi r3, r1, 0x34
/* 802AF8EC 002AC84C 38 81 01 B4 */ addi r4, r1, 0x1b4
/* 802AF8F0 002AC850 38 BF 00 14 */ addi r5, r31, 0x14
/* 802AF8F4 002AC854 48 06 30 5D */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802AF8F8 002AC858 38 61 00 64 */ addi r3, r1, 0x64
/* 802AF8FC 002AC85C 38 81 00 34 */ addi r4, r1, 0x34
/* 802AF900 002AC860 38 A1 01 E4 */ addi r5, r1, 0x1e4
/* 802AF904 002AC864 48 06 30 4D */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802AF908 002AC868 38 61 00 94 */ addi r3, r1, 0x94
/* 802AF90C 002AC86C 38 81 00 64 */ addi r4, r1, 0x64
/* 802AF910 002AC870 38 A1 01 84 */ addi r5, r1, 0x184
/* 802AF914 002AC874 48 06 30 3D */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802AF918 002AC878 38 61 00 C4 */ addi r3, r1, 0xc4
/* 802AF91C 002AC87C 38 81 00 94 */ addi r4, r1, 0x94
/* 802AF920 002AC880 38 BF 00 44 */ addi r5, r31, 0x44
/* 802AF924 002AC884 48 06 30 2D */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802AF928 002AC888 38 61 00 C4 */ addi r3, r1, 0xc4
/* 802AF92C 002AC88C 48 05 CC B5 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f
/* 802AF930 002AC890 3C 80 80 5A */ lis r4, skZero3f@ha
/* 802AF934 002AC894 38 61 02 14 */ addi r3, r1, 0x214
/* 802AF938 002AC898 38 84 66 A0 */ addi r4, r4, skZero3f@l
/* 802AF93C 002AC89C 38 BF 00 C8 */ addi r5, r31, 0xc8
/* 802AF940 002AC8A0 48 05 6B 65 */ bl BuildLocalAmbient__6CLightFRC9CVector3fRC6CColor
/* 802AF944 002AC8A4 38 61 02 64 */ addi r3, r1, 0x264
/* 802AF948 002AC8A8 38 81 02 14 */ addi r4, r1, 0x214
/* 802AF94C 002AC8AC 4B D8 BC 25 */ bl __ct__6CLightFCR6CLight
/* 802AF950 002AC8B0 C0 22 C1 F8 */ lfs f1, lbl_805ADF18@sda21(r2)
/* 802AF954 002AC8B4 38 80 00 00 */ li r4, 0
/* 802AF958 002AC8B8 38 00 00 03 */ li r0, 3
/* 802AF95C 002AC8BC 98 81 00 08 */ stb r4, 8(r1)
/* 802AF960 002AC8C0 FC 40 08 90 */ fmr f2, f1
/* 802AF964 002AC8C4 38 61 00 0C */ addi r3, r1, 0xc
/* 802AF968 002AC8C8 FC 60 08 90 */ fmr f3, f1
/* 802AF96C 002AC8CC 98 81 00 09 */ stb r4, 9(r1)
/* 802AF970 002AC8D0 FC 80 08 90 */ fmr f4, f1
/* 802AF974 002AC8D4 B0 01 00 0A */ sth r0, 0xa(r1)
/* 802AF978 002AC8D8 48 0B 3A 75 */ bl __ct__6CColorFffff
/* 802AF97C 002AC8DC 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 802AF980 002AC8E0 38 81 00 08 */ addi r4, r1, 8
/* 802AF984 002AC8E4 48 0A 62 51 */ bl Draw__6CModelCFRC11CModelFlags
lbl_802AF988:
/* 802AF988 002AC8E8 80 01 02 C4 */ lwz r0, 0x2c4(r1)
/* 802AF98C 002AC8EC 83 E1 02 BC */ lwz r31, 0x2bc(r1)
/* 802AF990 002AC8F0 7C 08 03 A6 */ mtlr r0
/* 802AF994 002AC8F4 38 21 02 C0 */ addi r1, r1, 0x2c0
/* 802AF998 002AC8F8 4E 80 00 20 */ blr
.global IsSystemDeletable__17CProjectileWeaponCFv
IsSystemDeletable__17CProjectileWeaponCFv:
/* 802AF99C 002AC8FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AF9A0 002AC900 7C 08 02 A6 */ mflr r0
/* 802AF9A4 002AC904 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AF9A8 002AC908 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AF9AC 002AC90C 3B E0 00 01 */ li r31, 1
/* 802AF9B0 002AC910 93 C1 00 08 */ stw r30, 8(r1)
/* 802AF9B4 002AC914 7C 7E 1B 78 */ mr r30, r3
/* 802AF9B8 002AC918 80 63 00 FC */ lwz r3, 0xfc(r3)
/* 802AF9BC 002AC91C 28 03 00 00 */ cmplwi r3, 0
/* 802AF9C0 002AC920 41 82 00 24 */ beq lbl_802AF9E4
/* 802AF9C4 002AC924 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF9C8 002AC928 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802AF9CC 002AC92C 7D 89 03 A6 */ mtctr r12
/* 802AF9D0 002AC930 4E 80 04 21 */ bctrl
/* 802AF9D4 002AC934 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AF9D8 002AC938 40 82 00 0C */ bne lbl_802AF9E4
/* 802AF9DC 002AC93C 3B E0 00 00 */ li r31, 0
/* 802AF9E0 002AC940 48 00 01 04 */ b lbl_802AFAE4
lbl_802AF9E4:
/* 802AF9E4 002AC944 80 7E 01 00 */ lwz r3, 0x100(r30)
/* 802AF9E8 002AC948 28 03 00 00 */ cmplwi r3, 0
/* 802AF9EC 002AC94C 41 82 00 24 */ beq lbl_802AFA10
/* 802AF9F0 002AC950 81 83 00 00 */ lwz r12, 0(r3)
/* 802AF9F4 002AC954 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802AF9F8 002AC958 7D 89 03 A6 */ mtctr r12
/* 802AF9FC 002AC95C 4E 80 04 21 */ bctrl
/* 802AFA00 002AC960 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AFA04 002AC964 40 82 00 0C */ bne lbl_802AFA10
/* 802AFA08 002AC968 3B E0 00 00 */ li r31, 0
/* 802AFA0C 002AC96C 48 00 00 D8 */ b lbl_802AFAE4
lbl_802AFA10:
/* 802AFA10 002AC970 80 7E 01 18 */ lwz r3, 0x118(r30)
/* 802AFA14 002AC974 28 03 00 00 */ cmplwi r3, 0
/* 802AFA18 002AC978 41 82 00 24 */ beq lbl_802AFA3C
/* 802AFA1C 002AC97C 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFA20 002AC980 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802AFA24 002AC984 7D 89 03 A6 */ mtctr r12
/* 802AFA28 002AC988 4E 80 04 21 */ bctrl
/* 802AFA2C 002AC98C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AFA30 002AC990 40 82 00 0C */ bne lbl_802AFA3C
/* 802AFA34 002AC994 3B E0 00 00 */ li r31, 0
/* 802AFA38 002AC998 48 00 00 AC */ b lbl_802AFAE4
lbl_802AFA3C:
/* 802AFA3C 002AC99C 80 7E 01 1C */ lwz r3, 0x11c(r30)
/* 802AFA40 002AC9A0 28 03 00 00 */ cmplwi r3, 0
/* 802AFA44 002AC9A4 41 82 00 24 */ beq lbl_802AFA68
/* 802AFA48 002AC9A8 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFA4C 002AC9AC 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802AFA50 002AC9B0 7D 89 03 A6 */ mtctr r12
/* 802AFA54 002AC9B4 4E 80 04 21 */ bctrl
/* 802AFA58 002AC9B8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AFA5C 002AC9BC 40 82 00 0C */ bne lbl_802AFA68
/* 802AFA60 002AC9C0 3B E0 00 00 */ li r31, 0
/* 802AFA64 002AC9C4 48 00 00 80 */ b lbl_802AFAE4
lbl_802AFA68:
/* 802AFA68 002AC9C8 80 7E 01 20 */ lwz r3, 0x120(r30)
/* 802AFA6C 002AC9CC 28 03 00 00 */ cmplwi r3, 0
/* 802AFA70 002AC9D0 41 82 00 24 */ beq lbl_802AFA94
/* 802AFA74 002AC9D4 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFA78 002AC9D8 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802AFA7C 002AC9DC 7D 89 03 A6 */ mtctr r12
/* 802AFA80 002AC9E0 4E 80 04 21 */ bctrl
/* 802AFA84 002AC9E4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AFA88 002AC9E8 40 82 00 0C */ bne lbl_802AFA94
/* 802AFA8C 002AC9EC 3B E0 00 00 */ li r31, 0
/* 802AFA90 002AC9F0 48 00 00 54 */ b lbl_802AFAE4
lbl_802AFA94:
/* 802AFA94 002AC9F4 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 802AFA98 002AC9F8 28 03 00 00 */ cmplwi r3, 0
/* 802AFA9C 002AC9FC 41 82 00 24 */ beq lbl_802AFAC0
/* 802AFAA0 002ACA00 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFAA4 002ACA04 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802AFAA8 002ACA08 7D 89 03 A6 */ mtctr r12
/* 802AFAAC 002ACA0C 4E 80 04 21 */ bctrl
/* 802AFAB0 002ACA10 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AFAB4 002ACA14 40 82 00 0C */ bne lbl_802AFAC0
/* 802AFAB8 002ACA18 3B E0 00 00 */ li r31, 0
/* 802AFABC 002ACA1C 48 00 00 28 */ b lbl_802AFAE4
lbl_802AFAC0:
/* 802AFAC0 002ACA20 88 1E 01 24 */ lbz r0, 0x124(r30)
/* 802AFAC4 002ACA24 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802AFAC8 002ACA28 41 82 00 1C */ beq lbl_802AFAE4
/* 802AFACC 002ACA2C 80 BE 00 F4 */ lwz r5, 0xf4(r30)
/* 802AFAD0 002ACA30 80 1E 00 E8 */ lwz r0, 0xe8(r30)
/* 802AFAD4 002ACA34 7C A4 FE 70 */ srawi r4, r5, 0x1f
/* 802AFAD8 002ACA38 54 03 0F FE */ srwi r3, r0, 0x1f
/* 802AFADC 002ACA3C 7C 00 28 10 */ subfc r0, r0, r5
/* 802AFAE0 002ACA40 7F E4 19 14 */ adde r31, r4, r3
lbl_802AFAE4:
/* 802AFAE4 002ACA44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AFAE8 002ACA48 57 E3 06 3E */ clrlwi r3, r31, 0x18
/* 802AFAEC 002ACA4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AFAF0 002ACA50 83 C1 00 08 */ lwz r30, 8(r1)
/* 802AFAF4 002ACA54 7C 08 03 A6 */ mtlr r0
/* 802AFAF8 002ACA58 38 21 00 10 */ addi r1, r1, 0x10
/* 802AFAFC 002ACA5C 4E 80 00 20 */ blr
.global UpdateChildParticleSystems__17CProjectileWeaponFf
UpdateChildParticleSystems__17CProjectileWeaponFf:
/* 802AFB00 002ACA60 94 21 FE 70 */ stwu r1, -0x190(r1)
/* 802AFB04 002ACA64 7C 08 02 A6 */ mflr r0
/* 802AFB08 002ACA68 90 01 01 94 */ stw r0, 0x194(r1)
/* 802AFB0C 002ACA6C DB E1 01 80 */ stfd f31, 0x180(r1)
/* 802AFB10 002ACA70 F3 E1 01 88 */ psq_st f31, 392(r1), 0, qr0
/* 802AFB14 002ACA74 93 E1 01 7C */ stw r31, 0x17c(r1)
/* 802AFB18 002ACA78 C0 42 C1 FC */ lfs f2, lbl_805ADF1C@sda21(r2)
/* 802AFB1C 002ACA7C 7C 7F 1B 78 */ mr r31, r3
/* 802AFB20 002ACA80 C8 02 C2 08 */ lfd f0, lbl_805ADF28@sda21(r2)
/* 802AFB24 002ACA84 EC 41 10 28 */ fsubs f2, f1, f2
/* 802AFB28 002ACA88 FC 40 12 10 */ fabs f2, f2
/* 802AFB2C 002ACA8C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802AFB30 002ACA90 40 80 00 0C */ bge lbl_802AFB3C
/* 802AFB34 002ACA94 CB E2 C2 00 */ lfd f31, lbl_805ADF20@sda21(r2)
/* 802AFB38 002ACA98 48 00 00 08 */ b lbl_802AFB40
lbl_802AFB3C:
/* 802AFB3C 002ACA9C FF E0 08 90 */ fmr f31, f1
lbl_802AFB40:
/* 802AFB40 002ACAA0 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802AFB44 002ACAA4 28 03 00 00 */ cmplwi r3, 0
/* 802AFB48 002ACAA8 41 82 01 40 */ beq lbl_802AFC88
/* 802AFB4C 002ACAAC 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 802AFB50 002ACAB0 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802AFB54 002ACAB4 7C 00 20 00 */ cmpw r0, r4
/* 802AFB58 002ACAB8 41 82 00 D0 */ beq lbl_802AFC28
/* 802AFB5C 002ACABC 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 802AFB60 002ACAC0 7C 04 00 00 */ cmpw r4, r0
/* 802AFB64 002ACAC4 40 81 00 24 */ ble lbl_802AFB88
/* 802AFB68 002ACAC8 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFB6C 002ACACC 38 80 00 00 */ li r4, 0
/* 802AFB70 002ACAD0 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802AFB74 002ACAD4 7D 89 03 A6 */ mtctr r12
/* 802AFB78 002ACAD8 4E 80 04 21 */ bctrl
/* 802AFB7C 002ACADC 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802AFB80 002ACAE0 48 06 CC 95 */ bl EndLifetime__11CElementGenFv
/* 802AFB84 002ACAE4 48 00 00 A4 */ b lbl_802AFC28
lbl_802AFB88:
/* 802AFB88 002ACAE8 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802AFB8C 002ACAEC 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 802AFB90 002ACAF0 41 82 00 38 */ beq lbl_802AFBC8
/* 802AFB94 002ACAF4 7F E4 FB 78 */ mr r4, r31
/* 802AFB98 002ACAF8 38 61 00 74 */ addi r3, r1, 0x74
/* 802AFB9C 002ACAFC 81 9F 00 00 */ lwz r12, 0(r31)
/* 802AFBA0 002ACB00 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFBA4 002ACB04 7D 89 03 A6 */ mtctr r12
/* 802AFBA8 002ACB08 4E 80 04 21 */ bctrl
/* 802AFBAC 002ACB0C 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802AFBB0 002ACB10 38 81 00 74 */ addi r4, r1, 0x74
/* 802AFBB4 002ACB14 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFBB8 002ACB18 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802AFBBC 002ACB1C 7D 89 03 A6 */ mtctr r12
/* 802AFBC0 002ACB20 4E 80 04 21 */ bctrl
/* 802AFBC4 002ACB24 48 00 00 34 */ b lbl_802AFBF8
lbl_802AFBC8:
/* 802AFBC8 002ACB28 7F E4 FB 78 */ mr r4, r31
/* 802AFBCC 002ACB2C 38 61 00 68 */ addi r3, r1, 0x68
/* 802AFBD0 002ACB30 81 9F 00 00 */ lwz r12, 0(r31)
/* 802AFBD4 002ACB34 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFBD8 002ACB38 7D 89 03 A6 */ mtctr r12
/* 802AFBDC 002ACB3C 4E 80 04 21 */ bctrl
/* 802AFBE0 002ACB40 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802AFBE4 002ACB44 38 81 00 68 */ addi r4, r1, 0x68
/* 802AFBE8 002ACB48 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFBEC 002ACB4C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFBF0 002ACB50 7D 89 03 A6 */ mtctr r12
/* 802AFBF4 002ACB54 4E 80 04 21 */ bctrl
lbl_802AFBF8:
/* 802AFBF8 002ACB58 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802AFBFC 002ACB5C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802AFC00 002ACB60 41 82 00 28 */ beq lbl_802AFC28
/* 802AFC04 002ACB64 7F E4 FB 78 */ mr r4, r31
/* 802AFC08 002ACB68 38 61 01 40 */ addi r3, r1, 0x140
/* 802AFC0C 002ACB6C 48 00 09 CD */ bl GetTransform__17CProjectileWeaponFv
/* 802AFC10 002ACB70 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802AFC14 002ACB74 38 81 01 40 */ addi r4, r1, 0x140
/* 802AFC18 002ACB78 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFC1C 002ACB7C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802AFC20 002ACB80 7D 89 03 A6 */ mtctr r12
/* 802AFC24 002ACB84 4E 80 04 21 */ bctrl
lbl_802AFC28:
/* 802AFC28 002ACB88 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802AFC2C 002ACB8C FC 20 F8 90 */ fmr f1, f31
/* 802AFC30 002ACB90 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFC34 002ACB94 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802AFC38 002ACB98 7D 89 03 A6 */ mtctr r12
/* 802AFC3C 002ACB9C 4E 80 04 21 */ bctrl
/* 802AFC40 002ACBA0 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802AFC44 002ACBA4 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFC48 002ACBA8 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802AFC4C 002ACBAC 7D 89 03 A6 */ mtctr r12
/* 802AFC50 002ACBB0 4E 80 04 21 */ bctrl
/* 802AFC54 002ACBB4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802AFC58 002ACBB8 28 00 00 01 */ cmplwi r0, 1
/* 802AFC5C 002ACBBC 40 82 00 2C */ bne lbl_802AFC88
/* 802AFC60 002ACBC0 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802AFC64 002ACBC4 28 03 00 00 */ cmplwi r3, 0
/* 802AFC68 002ACBC8 41 82 00 18 */ beq lbl_802AFC80
/* 802AFC6C 002ACBCC 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFC70 002ACBD0 38 80 00 01 */ li r4, 1
/* 802AFC74 002ACBD4 81 8C 00 08 */ lwz r12, 8(r12)
/* 802AFC78 002ACBD8 7D 89 03 A6 */ mtctr r12
/* 802AFC7C 002ACBDC 4E 80 04 21 */ bctrl
lbl_802AFC80:
/* 802AFC80 002ACBE0 38 00 00 00 */ li r0, 0
/* 802AFC84 002ACBE4 90 1F 00 FC */ stw r0, 0xfc(r31)
lbl_802AFC88:
/* 802AFC88 002ACBE8 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802AFC8C 002ACBEC 28 03 00 00 */ cmplwi r3, 0
/* 802AFC90 002ACBF0 41 82 01 40 */ beq lbl_802AFDD0
/* 802AFC94 002ACBF4 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 802AFC98 002ACBF8 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802AFC9C 002ACBFC 7C 00 20 00 */ cmpw r0, r4
/* 802AFCA0 002ACC00 41 82 00 D0 */ beq lbl_802AFD70
/* 802AFCA4 002ACC04 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 802AFCA8 002ACC08 7C 04 00 00 */ cmpw r4, r0
/* 802AFCAC 002ACC0C 40 81 00 24 */ ble lbl_802AFCD0
/* 802AFCB0 002ACC10 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFCB4 002ACC14 38 80 00 00 */ li r4, 0
/* 802AFCB8 002ACC18 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802AFCBC 002ACC1C 7D 89 03 A6 */ mtctr r12
/* 802AFCC0 002ACC20 4E 80 04 21 */ bctrl
/* 802AFCC4 002ACC24 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802AFCC8 002ACC28 48 06 CB 4D */ bl EndLifetime__11CElementGenFv
/* 802AFCCC 002ACC2C 48 00 00 A4 */ b lbl_802AFD70
lbl_802AFCD0:
/* 802AFCD0 002ACC30 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802AFCD4 002ACC34 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 802AFCD8 002ACC38 41 82 00 38 */ beq lbl_802AFD10
/* 802AFCDC 002ACC3C 7F E4 FB 78 */ mr r4, r31
/* 802AFCE0 002ACC40 38 61 00 5C */ addi r3, r1, 0x5c
/* 802AFCE4 002ACC44 81 9F 00 00 */ lwz r12, 0(r31)
/* 802AFCE8 002ACC48 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFCEC 002ACC4C 7D 89 03 A6 */ mtctr r12
/* 802AFCF0 002ACC50 4E 80 04 21 */ bctrl
/* 802AFCF4 002ACC54 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802AFCF8 002ACC58 38 81 00 5C */ addi r4, r1, 0x5c
/* 802AFCFC 002ACC5C 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFD00 002ACC60 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802AFD04 002ACC64 7D 89 03 A6 */ mtctr r12
/* 802AFD08 002ACC68 4E 80 04 21 */ bctrl
/* 802AFD0C 002ACC6C 48 00 00 34 */ b lbl_802AFD40
lbl_802AFD10:
/* 802AFD10 002ACC70 7F E4 FB 78 */ mr r4, r31
/* 802AFD14 002ACC74 38 61 00 50 */ addi r3, r1, 0x50
/* 802AFD18 002ACC78 81 9F 00 00 */ lwz r12, 0(r31)
/* 802AFD1C 002ACC7C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFD20 002ACC80 7D 89 03 A6 */ mtctr r12
/* 802AFD24 002ACC84 4E 80 04 21 */ bctrl
/* 802AFD28 002ACC88 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802AFD2C 002ACC8C 38 81 00 50 */ addi r4, r1, 0x50
/* 802AFD30 002ACC90 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFD34 002ACC94 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFD38 002ACC98 7D 89 03 A6 */ mtctr r12
/* 802AFD3C 002ACC9C 4E 80 04 21 */ bctrl
lbl_802AFD40:
/* 802AFD40 002ACCA0 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802AFD44 002ACCA4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802AFD48 002ACCA8 41 82 00 28 */ beq lbl_802AFD70
/* 802AFD4C 002ACCAC 7F E4 FB 78 */ mr r4, r31
/* 802AFD50 002ACCB0 38 61 01 10 */ addi r3, r1, 0x110
/* 802AFD54 002ACCB4 48 00 08 85 */ bl GetTransform__17CProjectileWeaponFv
/* 802AFD58 002ACCB8 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802AFD5C 002ACCBC 38 81 01 10 */ addi r4, r1, 0x110
/* 802AFD60 002ACCC0 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFD64 002ACCC4 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802AFD68 002ACCC8 7D 89 03 A6 */ mtctr r12
/* 802AFD6C 002ACCCC 4E 80 04 21 */ bctrl
lbl_802AFD70:
/* 802AFD70 002ACCD0 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802AFD74 002ACCD4 FC 20 F8 90 */ fmr f1, f31
/* 802AFD78 002ACCD8 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFD7C 002ACCDC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802AFD80 002ACCE0 7D 89 03 A6 */ mtctr r12
/* 802AFD84 002ACCE4 4E 80 04 21 */ bctrl
/* 802AFD88 002ACCE8 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802AFD8C 002ACCEC 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFD90 002ACCF0 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802AFD94 002ACCF4 7D 89 03 A6 */ mtctr r12
/* 802AFD98 002ACCF8 4E 80 04 21 */ bctrl
/* 802AFD9C 002ACCFC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802AFDA0 002ACD00 28 00 00 01 */ cmplwi r0, 1
/* 802AFDA4 002ACD04 40 82 00 2C */ bne lbl_802AFDD0
/* 802AFDA8 002ACD08 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802AFDAC 002ACD0C 28 03 00 00 */ cmplwi r3, 0
/* 802AFDB0 002ACD10 41 82 00 18 */ beq lbl_802AFDC8
/* 802AFDB4 002ACD14 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFDB8 002ACD18 38 80 00 01 */ li r4, 1
/* 802AFDBC 002ACD1C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802AFDC0 002ACD20 7D 89 03 A6 */ mtctr r12
/* 802AFDC4 002ACD24 4E 80 04 21 */ bctrl
lbl_802AFDC8:
/* 802AFDC8 002ACD28 38 00 00 00 */ li r0, 0
/* 802AFDCC 002ACD2C 90 1F 01 00 */ stw r0, 0x100(r31)
lbl_802AFDD0:
/* 802AFDD0 002ACD30 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802AFDD4 002ACD34 28 03 00 00 */ cmplwi r3, 0
/* 802AFDD8 002ACD38 41 82 01 40 */ beq lbl_802AFF18
/* 802AFDDC 002ACD3C 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 802AFDE0 002ACD40 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802AFDE4 002ACD44 7C 00 20 00 */ cmpw r0, r4
/* 802AFDE8 002ACD48 41 82 00 BC */ beq lbl_802AFEA4
/* 802AFDEC 002ACD4C 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 802AFDF0 002ACD50 7C 04 00 00 */ cmpw r4, r0
/* 802AFDF4 002ACD54 40 81 00 1C */ ble lbl_802AFE10
/* 802AFDF8 002ACD58 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFDFC 002ACD5C 38 80 00 00 */ li r4, 0
/* 802AFE00 002ACD60 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802AFE04 002ACD64 7D 89 03 A6 */ mtctr r12
/* 802AFE08 002ACD68 4E 80 04 21 */ bctrl
/* 802AFE0C 002ACD6C 48 00 00 98 */ b lbl_802AFEA4
lbl_802AFE10:
/* 802AFE10 002ACD70 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802AFE14 002ACD74 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 802AFE18 002ACD78 41 82 00 38 */ beq lbl_802AFE50
/* 802AFE1C 002ACD7C 7F E4 FB 78 */ mr r4, r31
/* 802AFE20 002ACD80 38 61 00 44 */ addi r3, r1, 0x44
/* 802AFE24 002ACD84 81 9F 00 00 */ lwz r12, 0(r31)
/* 802AFE28 002ACD88 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFE2C 002ACD8C 7D 89 03 A6 */ mtctr r12
/* 802AFE30 002ACD90 4E 80 04 21 */ bctrl
/* 802AFE34 002ACD94 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802AFE38 002ACD98 38 81 00 44 */ addi r4, r1, 0x44
/* 802AFE3C 002ACD9C 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFE40 002ACDA0 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802AFE44 002ACDA4 7D 89 03 A6 */ mtctr r12
/* 802AFE48 002ACDA8 4E 80 04 21 */ bctrl
/* 802AFE4C 002ACDAC 48 00 00 34 */ b lbl_802AFE80
lbl_802AFE50:
/* 802AFE50 002ACDB0 7F E4 FB 78 */ mr r4, r31
/* 802AFE54 002ACDB4 38 61 00 38 */ addi r3, r1, 0x38
/* 802AFE58 002ACDB8 81 9F 00 00 */ lwz r12, 0(r31)
/* 802AFE5C 002ACDBC 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFE60 002ACDC0 7D 89 03 A6 */ mtctr r12
/* 802AFE64 002ACDC4 4E 80 04 21 */ bctrl
/* 802AFE68 002ACDC8 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802AFE6C 002ACDCC 38 81 00 38 */ addi r4, r1, 0x38
/* 802AFE70 002ACDD0 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFE74 002ACDD4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFE78 002ACDD8 7D 89 03 A6 */ mtctr r12
/* 802AFE7C 002ACDDC 4E 80 04 21 */ bctrl
lbl_802AFE80:
/* 802AFE80 002ACDE0 7F E4 FB 78 */ mr r4, r31
/* 802AFE84 002ACDE4 38 61 00 E0 */ addi r3, r1, 0xe0
/* 802AFE88 002ACDE8 48 00 07 51 */ bl GetTransform__17CProjectileWeaponFv
/* 802AFE8C 002ACDEC 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802AFE90 002ACDF0 38 81 00 E0 */ addi r4, r1, 0xe0
/* 802AFE94 002ACDF4 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFE98 002ACDF8 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802AFE9C 002ACDFC 7D 89 03 A6 */ mtctr r12
/* 802AFEA0 002ACE00 4E 80 04 21 */ bctrl
lbl_802AFEA4:
/* 802AFEA4 002ACE04 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802AFEA8 002ACE08 38 80 00 01 */ li r4, 1
/* 802AFEAC 002ACE0C C8 22 C2 10 */ lfd f1, lbl_805ADF30@sda21(r2)
/* 802AFEB0 002ACE10 88 03 01 D0 */ lbz r0, 0x1d0(r3)
/* 802AFEB4 002ACE14 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 802AFEB8 002ACE18 98 03 01 D0 */ stb r0, 0x1d0(r3)
/* 802AFEBC 002ACE1C 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802AFEC0 002ACE20 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFEC4 002ACE24 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802AFEC8 002ACE28 7D 89 03 A6 */ mtctr r12
/* 802AFECC 002ACE2C 4E 80 04 21 */ bctrl
/* 802AFED0 002ACE30 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802AFED4 002ACE34 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFED8 002ACE38 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802AFEDC 002ACE3C 7D 89 03 A6 */ mtctr r12
/* 802AFEE0 002ACE40 4E 80 04 21 */ bctrl
/* 802AFEE4 002ACE44 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802AFEE8 002ACE48 28 00 00 01 */ cmplwi r0, 1
/* 802AFEEC 002ACE4C 40 82 00 2C */ bne lbl_802AFF18
/* 802AFEF0 002ACE50 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802AFEF4 002ACE54 28 03 00 00 */ cmplwi r3, 0
/* 802AFEF8 002ACE58 41 82 00 18 */ beq lbl_802AFF10
/* 802AFEFC 002ACE5C 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFF00 002ACE60 38 80 00 01 */ li r4, 1
/* 802AFF04 002ACE64 81 8C 00 08 */ lwz r12, 8(r12)
/* 802AFF08 002ACE68 7D 89 03 A6 */ mtctr r12
/* 802AFF0C 002ACE6C 4E 80 04 21 */ bctrl
lbl_802AFF10:
/* 802AFF10 002ACE70 38 00 00 00 */ li r0, 0
/* 802AFF14 002ACE74 90 1F 01 18 */ stw r0, 0x118(r31)
lbl_802AFF18:
/* 802AFF18 002ACE78 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802AFF1C 002ACE7C 28 03 00 00 */ cmplwi r3, 0
/* 802AFF20 002ACE80 41 82 01 40 */ beq lbl_802B0060
/* 802AFF24 002ACE84 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 802AFF28 002ACE88 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802AFF2C 002ACE8C 7C 00 20 00 */ cmpw r0, r4
/* 802AFF30 002ACE90 41 82 00 BC */ beq lbl_802AFFEC
/* 802AFF34 002ACE94 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 802AFF38 002ACE98 7C 04 00 00 */ cmpw r4, r0
/* 802AFF3C 002ACE9C 40 81 00 1C */ ble lbl_802AFF58
/* 802AFF40 002ACEA0 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFF44 002ACEA4 38 80 00 00 */ li r4, 0
/* 802AFF48 002ACEA8 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802AFF4C 002ACEAC 7D 89 03 A6 */ mtctr r12
/* 802AFF50 002ACEB0 4E 80 04 21 */ bctrl
/* 802AFF54 002ACEB4 48 00 00 98 */ b lbl_802AFFEC
lbl_802AFF58:
/* 802AFF58 002ACEB8 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802AFF5C 002ACEBC 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 802AFF60 002ACEC0 41 82 00 38 */ beq lbl_802AFF98
/* 802AFF64 002ACEC4 7F E4 FB 78 */ mr r4, r31
/* 802AFF68 002ACEC8 38 61 00 2C */ addi r3, r1, 0x2c
/* 802AFF6C 002ACECC 81 9F 00 00 */ lwz r12, 0(r31)
/* 802AFF70 002ACED0 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFF74 002ACED4 7D 89 03 A6 */ mtctr r12
/* 802AFF78 002ACED8 4E 80 04 21 */ bctrl
/* 802AFF7C 002ACEDC 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802AFF80 002ACEE0 38 81 00 2C */ addi r4, r1, 0x2c
/* 802AFF84 002ACEE4 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFF88 002ACEE8 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802AFF8C 002ACEEC 7D 89 03 A6 */ mtctr r12
/* 802AFF90 002ACEF0 4E 80 04 21 */ bctrl
/* 802AFF94 002ACEF4 48 00 00 34 */ b lbl_802AFFC8
lbl_802AFF98:
/* 802AFF98 002ACEF8 7F E4 FB 78 */ mr r4, r31
/* 802AFF9C 002ACEFC 38 61 00 20 */ addi r3, r1, 0x20
/* 802AFFA0 002ACF00 81 9F 00 00 */ lwz r12, 0(r31)
/* 802AFFA4 002ACF04 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFFA8 002ACF08 7D 89 03 A6 */ mtctr r12
/* 802AFFAC 002ACF0C 4E 80 04 21 */ bctrl
/* 802AFFB0 002ACF10 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802AFFB4 002ACF14 38 81 00 20 */ addi r4, r1, 0x20
/* 802AFFB8 002ACF18 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFFBC 002ACF1C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AFFC0 002ACF20 7D 89 03 A6 */ mtctr r12
/* 802AFFC4 002ACF24 4E 80 04 21 */ bctrl
lbl_802AFFC8:
/* 802AFFC8 002ACF28 7F E4 FB 78 */ mr r4, r31
/* 802AFFCC 002ACF2C 38 61 00 B0 */ addi r3, r1, 0xb0
/* 802AFFD0 002ACF30 48 00 06 09 */ bl GetTransform__17CProjectileWeaponFv
/* 802AFFD4 002ACF34 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802AFFD8 002ACF38 38 81 00 B0 */ addi r4, r1, 0xb0
/* 802AFFDC 002ACF3C 81 83 00 00 */ lwz r12, 0(r3)
/* 802AFFE0 002ACF40 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802AFFE4 002ACF44 7D 89 03 A6 */ mtctr r12
/* 802AFFE8 002ACF48 4E 80 04 21 */ bctrl
lbl_802AFFEC:
/* 802AFFEC 002ACF4C 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802AFFF0 002ACF50 38 80 00 01 */ li r4, 1
/* 802AFFF4 002ACF54 C8 22 C2 10 */ lfd f1, lbl_805ADF30@sda21(r2)
/* 802AFFF8 002ACF58 88 03 01 D0 */ lbz r0, 0x1d0(r3)
/* 802AFFFC 002ACF5C 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 802B0000 002ACF60 98 03 01 D0 */ stb r0, 0x1d0(r3)
/* 802B0004 002ACF64 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802B0008 002ACF68 81 83 00 00 */ lwz r12, 0(r3)
/* 802B000C 002ACF6C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0010 002ACF70 7D 89 03 A6 */ mtctr r12
/* 802B0014 002ACF74 4E 80 04 21 */ bctrl
/* 802B0018 002ACF78 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802B001C 002ACF7C 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0020 002ACF80 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802B0024 002ACF84 7D 89 03 A6 */ mtctr r12
/* 802B0028 002ACF88 4E 80 04 21 */ bctrl
/* 802B002C 002ACF8C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802B0030 002ACF90 28 00 00 01 */ cmplwi r0, 1
/* 802B0034 002ACF94 40 82 00 2C */ bne lbl_802B0060
/* 802B0038 002ACF98 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802B003C 002ACF9C 28 03 00 00 */ cmplwi r3, 0
/* 802B0040 002ACFA0 41 82 00 18 */ beq lbl_802B0058
/* 802B0044 002ACFA4 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0048 002ACFA8 38 80 00 01 */ li r4, 1
/* 802B004C 002ACFAC 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B0050 002ACFB0 7D 89 03 A6 */ mtctr r12
/* 802B0054 002ACFB4 4E 80 04 21 */ bctrl
lbl_802B0058:
/* 802B0058 002ACFB8 38 00 00 00 */ li r0, 0
/* 802B005C 002ACFBC 90 1F 01 1C */ stw r0, 0x11c(r31)
lbl_802B0060:
/* 802B0060 002ACFC0 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B0064 002ACFC4 28 03 00 00 */ cmplwi r3, 0
/* 802B0068 002ACFC8 41 82 01 40 */ beq lbl_802B01A8
/* 802B006C 002ACFCC 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 802B0070 002ACFD0 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802B0074 002ACFD4 7C 00 20 00 */ cmpw r0, r4
/* 802B0078 002ACFD8 41 82 00 BC */ beq lbl_802B0134
/* 802B007C 002ACFDC 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 802B0080 002ACFE0 7C 04 00 00 */ cmpw r4, r0
/* 802B0084 002ACFE4 40 81 00 1C */ ble lbl_802B00A0
/* 802B0088 002ACFE8 81 83 00 00 */ lwz r12, 0(r3)
/* 802B008C 002ACFEC 38 80 00 00 */ li r4, 0
/* 802B0090 002ACFF0 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802B0094 002ACFF4 7D 89 03 A6 */ mtctr r12
/* 802B0098 002ACFF8 4E 80 04 21 */ bctrl
/* 802B009C 002ACFFC 48 00 00 98 */ b lbl_802B0134
lbl_802B00A0:
/* 802B00A0 002AD000 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B00A4 002AD004 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 802B00A8 002AD008 41 82 00 38 */ beq lbl_802B00E0
/* 802B00AC 002AD00C 7F E4 FB 78 */ mr r4, r31
/* 802B00B0 002AD010 38 61 00 14 */ addi r3, r1, 0x14
/* 802B00B4 002AD014 81 9F 00 00 */ lwz r12, 0(r31)
/* 802B00B8 002AD018 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802B00BC 002AD01C 7D 89 03 A6 */ mtctr r12
/* 802B00C0 002AD020 4E 80 04 21 */ bctrl
/* 802B00C4 002AD024 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B00C8 002AD028 38 81 00 14 */ addi r4, r1, 0x14
/* 802B00CC 002AD02C 81 83 00 00 */ lwz r12, 0(r3)
/* 802B00D0 002AD030 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802B00D4 002AD034 7D 89 03 A6 */ mtctr r12
/* 802B00D8 002AD038 4E 80 04 21 */ bctrl
/* 802B00DC 002AD03C 48 00 00 34 */ b lbl_802B0110
lbl_802B00E0:
/* 802B00E0 002AD040 7F E4 FB 78 */ mr r4, r31
/* 802B00E4 002AD044 38 61 00 08 */ addi r3, r1, 8
/* 802B00E8 002AD048 81 9F 00 00 */ lwz r12, 0(r31)
/* 802B00EC 002AD04C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802B00F0 002AD050 7D 89 03 A6 */ mtctr r12
/* 802B00F4 002AD054 4E 80 04 21 */ bctrl
/* 802B00F8 002AD058 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B00FC 002AD05C 38 81 00 08 */ addi r4, r1, 8
/* 802B0100 002AD060 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0104 002AD064 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802B0108 002AD068 7D 89 03 A6 */ mtctr r12
/* 802B010C 002AD06C 4E 80 04 21 */ bctrl
lbl_802B0110:
/* 802B0110 002AD070 7F E4 FB 78 */ mr r4, r31
/* 802B0114 002AD074 38 61 00 80 */ addi r3, r1, 0x80
/* 802B0118 002AD078 48 00 04 C1 */ bl GetTransform__17CProjectileWeaponFv
/* 802B011C 002AD07C 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B0120 002AD080 38 81 00 80 */ addi r4, r1, 0x80
/* 802B0124 002AD084 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0128 002AD088 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802B012C 002AD08C 7D 89 03 A6 */ mtctr r12
/* 802B0130 002AD090 4E 80 04 21 */ bctrl
lbl_802B0134:
/* 802B0134 002AD094 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B0138 002AD098 38 80 00 01 */ li r4, 1
/* 802B013C 002AD09C C8 22 C2 10 */ lfd f1, lbl_805ADF30@sda21(r2)
/* 802B0140 002AD0A0 88 03 01 D0 */ lbz r0, 0x1d0(r3)
/* 802B0144 002AD0A4 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 802B0148 002AD0A8 98 03 01 D0 */ stb r0, 0x1d0(r3)
/* 802B014C 002AD0AC 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B0150 002AD0B0 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0154 002AD0B4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0158 002AD0B8 7D 89 03 A6 */ mtctr r12
/* 802B015C 002AD0BC 4E 80 04 21 */ bctrl
/* 802B0160 002AD0C0 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B0164 002AD0C4 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0168 002AD0C8 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802B016C 002AD0CC 7D 89 03 A6 */ mtctr r12
/* 802B0170 002AD0D0 4E 80 04 21 */ bctrl
/* 802B0174 002AD0D4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802B0178 002AD0D8 28 00 00 01 */ cmplwi r0, 1
/* 802B017C 002AD0DC 40 82 00 2C */ bne lbl_802B01A8
/* 802B0180 002AD0E0 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B0184 002AD0E4 28 03 00 00 */ cmplwi r3, 0
/* 802B0188 002AD0E8 41 82 00 18 */ beq lbl_802B01A0
/* 802B018C 002AD0EC 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0190 002AD0F0 38 80 00 01 */ li r4, 1
/* 802B0194 002AD0F4 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B0198 002AD0F8 7D 89 03 A6 */ mtctr r12
/* 802B019C 002AD0FC 4E 80 04 21 */ bctrl
lbl_802B01A0:
/* 802B01A0 002AD100 38 00 00 00 */ li r0, 0
/* 802B01A4 002AD104 90 1F 01 20 */ stw r0, 0x120(r31)
lbl_802B01A8:
/* 802B01A8 002AD108 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 802B01AC 002AD10C 28 03 00 00 */ cmplwi r3, 0
/* 802B01B0 002AD110 41 82 00 60 */ beq lbl_802B0210
/* 802B01B4 002AD114 81 83 00 00 */ lwz r12, 0(r3)
/* 802B01B8 002AD118 FC 20 F8 90 */ fmr f1, f31
/* 802B01BC 002AD11C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B01C0 002AD120 7D 89 03 A6 */ mtctr r12
/* 802B01C4 002AD124 4E 80 04 21 */ bctrl
/* 802B01C8 002AD128 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 802B01CC 002AD12C 81 83 00 00 */ lwz r12, 0(r3)
/* 802B01D0 002AD130 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 802B01D4 002AD134 7D 89 03 A6 */ mtctr r12
/* 802B01D8 002AD138 4E 80 04 21 */ bctrl
/* 802B01DC 002AD13C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802B01E0 002AD140 28 00 00 01 */ cmplwi r0, 1
/* 802B01E4 002AD144 40 82 00 2C */ bne lbl_802B0210
/* 802B01E8 002AD148 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 802B01EC 002AD14C 28 03 00 00 */ cmplwi r3, 0
/* 802B01F0 002AD150 41 82 00 18 */ beq lbl_802B0208
/* 802B01F4 002AD154 81 83 00 00 */ lwz r12, 0(r3)
/* 802B01F8 002AD158 38 80 00 01 */ li r4, 1
/* 802B01FC 002AD15C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B0200 002AD160 7D 89 03 A6 */ mtctr r12
/* 802B0204 002AD164 4E 80 04 21 */ bctrl
lbl_802B0208:
/* 802B0208 002AD168 38 00 00 00 */ li r0, 0
/* 802B020C 002AD16C 90 1F 01 04 */ stw r0, 0x104(r31)
lbl_802B0210:
/* 802B0210 002AD170 80 1F 00 F4 */ lwz r0, 0xf4(r31)
/* 802B0214 002AD174 90 1F 00 F8 */ stw r0, 0xf8(r31)
/* 802B0218 002AD178 E3 E1 01 88 */ psq_l f31, 392(r1), 0, qr0
/* 802B021C 002AD17C 80 01 01 94 */ lwz r0, 0x194(r1)
/* 802B0220 002AD180 CB E1 01 80 */ lfd f31, 0x180(r1)
/* 802B0224 002AD184 83 E1 01 7C */ lwz r31, 0x17c(r1)
/* 802B0228 002AD188 7C 08 03 A6 */ mtlr r0
/* 802B022C 002AD18C 38 21 01 90 */ addi r1, r1, 0x190
/* 802B0230 002AD190 4E 80 00 20 */ blr
.global UpdatePSTranslationAndOrientation__17CProjectileWeaponFv
UpdatePSTranslationAndOrientation__17CProjectileWeaponFv:
/* 802B0234 002AD194 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802B0238 002AD198 7C 08 02 A6 */ mflr r0
/* 802B023C 002AD19C 90 01 00 74 */ stw r0, 0x74(r1)
/* 802B0240 002AD1A0 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 802B0244 002AD1A4 7C 7F 1B 78 */ mr r31, r3
/* 802B0248 002AD1A8 80 03 00 E8 */ lwz r0, 0xe8(r3)
/* 802B024C 002AD1AC 80 83 00 F4 */ lwz r4, 0xf4(r3)
/* 802B0250 002AD1B0 7C 00 20 00 */ cmpw r0, r4
/* 802B0254 002AD1B4 41 80 02 3C */ blt lbl_802B0490
/* 802B0258 002AD1B8 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B025C 002AD1BC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802B0260 002AD1C0 41 82 02 30 */ beq lbl_802B0490
/* 802B0264 002AD1C4 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0268 002AD1C8 80 63 00 0C */ lwz r3, 0xc(r3)
/* 802B026C 002AD1CC 28 03 00 00 */ cmplwi r3, 0
/* 802B0270 002AD1D0 41 82 00 1C */ beq lbl_802B028C
/* 802B0274 002AD1D4 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0278 002AD1D8 38 BF 00 B0 */ addi r5, r31, 0xb0
/* 802B027C 002AD1DC 38 DF 00 80 */ addi r6, r31, 0x80
/* 802B0280 002AD1E0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0284 002AD1E4 7D 89 03 A6 */ mtctr r12
/* 802B0288 002AD1E8 4E 80 04 21 */ bctrl
lbl_802B028C:
/* 802B028C 002AD1EC 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0290 002AD1F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 802B0294 002AD1F4 41 82 00 48 */ beq lbl_802B02DC
/* 802B0298 002AD1F8 38 61 00 14 */ addi r3, r1, 0x14
/* 802B029C 002AD1FC 38 9F 00 44 */ addi r4, r31, 0x44
/* 802B02A0 002AD200 38 BF 00 B0 */ addi r5, r31, 0xb0
/* 802B02A4 002AD204 48 06 28 45 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 802B02A8 002AD208 C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 802B02AC 002AD20C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802B02B0 002AD210 EC 01 00 2A */ fadds f0, f1, f0
/* 802B02B4 002AD214 D0 1F 00 80 */ stfs f0, 0x80(r31)
/* 802B02B8 002AD218 C0 3F 00 84 */ lfs f1, 0x84(r31)
/* 802B02BC 002AD21C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 802B02C0 002AD220 EC 01 00 2A */ fadds f0, f1, f0
/* 802B02C4 002AD224 D0 1F 00 84 */ stfs f0, 0x84(r31)
/* 802B02C8 002AD228 C0 3F 00 88 */ lfs f1, 0x88(r31)
/* 802B02CC 002AD22C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 802B02D0 002AD230 EC 01 00 2A */ fadds f0, f1, f0
/* 802B02D4 002AD234 D0 1F 00 88 */ stfs f0, 0x88(r31)
/* 802B02D8 002AD238 48 00 00 34 */ b lbl_802B030C
lbl_802B02DC:
/* 802B02DC 002AD23C C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 802B02E0 002AD240 C0 1F 00 B0 */ lfs f0, 0xb0(r31)
/* 802B02E4 002AD244 EC 01 00 2A */ fadds f0, f1, f0
/* 802B02E8 002AD248 D0 1F 00 80 */ stfs f0, 0x80(r31)
/* 802B02EC 002AD24C C0 3F 00 84 */ lfs f1, 0x84(r31)
/* 802B02F0 002AD250 C0 1F 00 B4 */ lfs f0, 0xb4(r31)
/* 802B02F4 002AD254 EC 01 00 2A */ fadds f0, f1, f0
/* 802B02F8 002AD258 D0 1F 00 84 */ stfs f0, 0x84(r31)
/* 802B02FC 002AD25C C0 3F 00 88 */ lfs f1, 0x88(r31)
/* 802B0300 002AD260 C0 1F 00 B8 */ lfs f0, 0xb8(r31)
/* 802B0304 002AD264 EC 01 00 2A */ fadds f0, f1, f0
/* 802B0308 002AD268 D0 1F 00 88 */ stfs f0, 0x88(r31)
lbl_802B030C:
/* 802B030C 002AD26C C0 82 C1 FC */ lfs f4, lbl_805ADF1C@sda21(r2)
/* 802B0310 002AD270 C0 1F 00 BC */ lfs f0, 0xbc(r31)
/* 802B0314 002AD274 C0 7F 00 C0 */ lfs f3, 0xc0(r31)
/* 802B0318 002AD278 EC 04 00 32 */ fmuls f0, f4, f0
/* 802B031C 002AD27C C0 3F 00 B0 */ lfs f1, 0xb0(r31)
/* 802B0320 002AD280 C0 5F 00 C4 */ lfs f2, 0xc4(r31)
/* 802B0324 002AD284 EC 64 00 F2 */ fmuls f3, f4, f3
/* 802B0328 002AD288 EC 01 00 2A */ fadds f0, f1, f0
/* 802B032C 002AD28C EC 24 00 B2 */ fmuls f1, f4, f2
/* 802B0330 002AD290 D0 1F 00 B0 */ stfs f0, 0xb0(r31)
/* 802B0334 002AD294 C0 1F 00 B4 */ lfs f0, 0xb4(r31)
/* 802B0338 002AD298 EC 00 18 2A */ fadds f0, f0, f3
/* 802B033C 002AD29C D0 1F 00 B4 */ stfs f0, 0xb4(r31)
/* 802B0340 002AD2A0 C0 1F 00 B8 */ lfs f0, 0xb8(r31)
/* 802B0344 002AD2A4 EC 00 08 2A */ fadds f0, f0, f1
/* 802B0348 002AD2A8 D0 1F 00 B8 */ stfs f0, 0xb8(r31)
/* 802B034C 002AD2AC 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0350 002AD2B0 80 63 00 08 */ lwz r3, 8(r3)
/* 802B0354 002AD2B4 28 03 00 00 */ cmplwi r3, 0
/* 802B0358 002AD2B8 41 82 00 98 */ beq lbl_802B03F0
/* 802B035C 002AD2BC C0 02 C1 F0 */ lfs f0, lbl_805ADF10@sda21(r2)
/* 802B0360 002AD2C0 38 A1 00 20 */ addi r5, r1, 0x20
/* 802B0364 002AD2C4 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 802B0368 002AD2C8 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 802B036C 002AD2CC D0 01 00 28 */ stfs f0, 0x28(r1)
/* 802B0370 002AD2D0 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0374 002AD2D4 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802B0378 002AD2D8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B037C 002AD2DC 7D 89 03 A6 */ mtctr r12
/* 802B0380 002AD2E0 4E 80 04 21 */ bctrl
/* 802B0384 002AD2E4 38 61 00 2C */ addi r3, r1, 0x2c
/* 802B0388 002AD2E8 38 9F 00 44 */ addi r4, r31, 0x44
/* 802B038C 002AD2EC 48 06 27 E9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802B0390 002AD2F0 C0 22 C2 18 */ lfs f1, lbl_805ADF38@sda21(r2)
/* 802B0394 002AD2F4 38 61 00 2C */ addi r3, r1, 0x2c
/* 802B0398 002AD2F8 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 802B039C 002AD2FC 38 81 00 10 */ addi r4, r1, 0x10
/* 802B03A0 002AD300 EC 01 00 32 */ fmuls f0, f1, f0
/* 802B03A4 002AD304 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802B03A8 002AD308 48 06 33 4D */ bl RotateLocalX__12CTransform4fFRC9CRelAngle
/* 802B03AC 002AD30C C0 22 C2 18 */ lfs f1, lbl_805ADF38@sda21(r2)
/* 802B03B0 002AD310 38 61 00 2C */ addi r3, r1, 0x2c
/* 802B03B4 002AD314 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 802B03B8 002AD318 38 81 00 0C */ addi r4, r1, 0xc
/* 802B03BC 002AD31C EC 01 00 32 */ fmuls f0, f1, f0
/* 802B03C0 002AD320 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 802B03C4 002AD324 48 06 32 15 */ bl RotateLocalY__12CTransform4fFRC9CRelAngle
/* 802B03C8 002AD328 C0 22 C2 18 */ lfs f1, lbl_805ADF38@sda21(r2)
/* 802B03CC 002AD32C 38 61 00 2C */ addi r3, r1, 0x2c
/* 802B03D0 002AD330 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 802B03D4 002AD334 38 81 00 08 */ addi r4, r1, 8
/* 802B03D8 002AD338 EC 01 00 32 */ fmuls f0, f1, f0
/* 802B03DC 002AD33C D0 01 00 08 */ stfs f0, 8(r1)
/* 802B03E0 002AD340 48 06 30 DD */ bl RotateLocalZ__12CTransform4fFRC9CRelAngle
/* 802B03E4 002AD344 7F E3 FB 78 */ mr r3, r31
/* 802B03E8 002AD348 38 81 00 2C */ addi r4, r1, 0x2c
/* 802B03EC 002AD34C 48 00 01 15 */ bl SetRelativeOrientation__17CProjectileWeaponFRC12CTransform4f
lbl_802B03F0:
/* 802B03F0 002AD350 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B03F4 002AD354 80 63 00 18 */ lwz r3, 0x18(r3)
/* 802B03F8 002AD358 28 03 00 00 */ cmplwi r3, 0
/* 802B03FC 002AD35C 41 82 00 1C */ beq lbl_802B0418
/* 802B0400 002AD360 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0404 002AD364 38 BF 00 98 */ addi r5, r31, 0x98
/* 802B0408 002AD368 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802B040C 002AD36C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0410 002AD370 7D 89 03 A6 */ mtctr r12
/* 802B0414 002AD374 4E 80 04 21 */ bctrl
lbl_802B0418:
/* 802B0418 002AD378 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B041C 002AD37C 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 802B0420 002AD380 28 03 00 00 */ cmplwi r3, 0
/* 802B0424 002AD384 41 82 00 1C */ beq lbl_802B0440
/* 802B0428 002AD388 81 83 00 00 */ lwz r12, 0(r3)
/* 802B042C 002AD38C 38 BF 00 C8 */ addi r5, r31, 0xc8
/* 802B0430 002AD390 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802B0434 002AD394 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0438 002AD398 7D 89 03 A6 */ mtctr r12
/* 802B043C 002AD39C 4E 80 04 21 */ bctrl
lbl_802B0440:
/* 802B0440 002AD3A0 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0444 002AD3A4 80 63 00 20 */ lwz r3, 0x20(r3)
/* 802B0448 002AD3A8 28 03 00 00 */ cmplwi r3, 0
/* 802B044C 002AD3AC 41 82 00 1C */ beq lbl_802B0468
/* 802B0450 002AD3B0 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0454 002AD3B4 38 BF 00 A4 */ addi r5, r31, 0xa4
/* 802B0458 002AD3B8 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802B045C 002AD3BC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0460 002AD3C0 7D 89 03 A6 */ mtctr r12
/* 802B0464 002AD3C4 4E 80 04 21 */ bctrl
lbl_802B0468:
/* 802B0468 002AD3C8 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B046C 002AD3CC 80 63 00 24 */ lwz r3, 0x24(r3)
/* 802B0470 002AD3D0 28 03 00 00 */ cmplwi r3, 0
/* 802B0474 002AD3D4 41 82 00 1C */ beq lbl_802B0490
/* 802B0478 002AD3D8 81 83 00 00 */ lwz r12, 0(r3)
/* 802B047C 002AD3DC 38 BF 00 8C */ addi r5, r31, 0x8c
/* 802B0480 002AD3E0 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802B0484 002AD3E4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0488 002AD3E8 7D 89 03 A6 */ mtctr r12
/* 802B048C 002AD3EC 4E 80 04 21 */ bctrl
lbl_802B0490:
/* 802B0490 002AD3F0 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802B0494 002AD3F4 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 802B0498 002AD3F8 7C 08 03 A6 */ mtlr r0
/* 802B049C 002AD3FC 38 21 00 70 */ addi r1, r1, 0x70
/* 802B04A0 002AD400 4E 80 00 20 */ blr
.global SetWorldSpaceOrientation__17CProjectileWeaponFRC12CTransform4f
SetWorldSpaceOrientation__17CProjectileWeaponFRC12CTransform4f:
/* 802B04A4 002AD404 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802B04A8 002AD408 7C 08 02 A6 */ mflr r0
/* 802B04AC 002AD40C 90 01 00 74 */ stw r0, 0x74(r1)
/* 802B04B0 002AD410 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 802B04B4 002AD414 7C 9F 23 78 */ mr r31, r4
/* 802B04B8 002AD418 93 C1 00 68 */ stw r30, 0x68(r1)
/* 802B04BC 002AD41C 7C 7E 1B 78 */ mr r30, r3
/* 802B04C0 002AD420 38 61 00 08 */ addi r3, r1, 8
/* 802B04C4 002AD424 38 9E 00 14 */ addi r4, r30, 0x14
/* 802B04C8 002AD428 48 06 22 19 */ bl GetInverse__12CTransform4fCFv
/* 802B04CC 002AD42C 7F E5 FB 78 */ mr r5, r31
/* 802B04D0 002AD430 38 61 00 38 */ addi r3, r1, 0x38
/* 802B04D4 002AD434 38 81 00 08 */ addi r4, r1, 8
/* 802B04D8 002AD438 48 06 24 79 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802B04DC 002AD43C 38 7E 00 44 */ addi r3, r30, 0x44
/* 802B04E0 002AD440 38 81 00 38 */ addi r4, r1, 0x38
/* 802B04E4 002AD444 48 06 26 5D */ bl __as__12CTransform4fFRC12CTransform4f
/* 802B04E8 002AD448 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802B04EC 002AD44C 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 802B04F0 002AD450 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 802B04F4 002AD454 7C 08 03 A6 */ mtlr r0
/* 802B04F8 002AD458 38 21 00 70 */ addi r1, r1, 0x70
/* 802B04FC 002AD45C 4E 80 00 20 */ blr
.global SetRelativeOrientation__17CProjectileWeaponFRC12CTransform4f
SetRelativeOrientation__17CProjectileWeaponFRC12CTransform4f:
/* 802B0500 002AD460 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B0504 002AD464 7C 08 02 A6 */ mflr r0
/* 802B0508 002AD468 38 63 00 44 */ addi r3, r3, 0x44
/* 802B050C 002AD46C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B0510 002AD470 48 06 26 31 */ bl __as__12CTransform4fFRC12CTransform4f
/* 802B0514 002AD474 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B0518 002AD478 7C 08 03 A6 */ mtlr r0
/* 802B051C 002AD47C 38 21 00 10 */ addi r1, r1, 0x10
/* 802B0520 002AD480 4E 80 00 20 */ blr
.global GetTranslation__17CProjectileWeaponCFv
GetTranslation__17CProjectileWeaponCFv:
/* 802B0524 002AD484 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802B0528 002AD488 7C 08 02 A6 */ mflr r0
/* 802B052C 002AD48C 90 01 00 44 */ stw r0, 0x44(r1)
/* 802B0530 002AD490 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 802B0534 002AD494 7C 9F 23 78 */ mr r31, r4
/* 802B0538 002AD498 38 9F 00 44 */ addi r4, r31, 0x44
/* 802B053C 002AD49C 93 C1 00 38 */ stw r30, 0x38(r1)
/* 802B0540 002AD4A0 7C 7E 1B 78 */ mr r30, r3
/* 802B0544 002AD4A4 38 61 00 08 */ addi r3, r1, 8
/* 802B0548 002AD4A8 38 BF 00 8C */ addi r5, r31, 0x8c
/* 802B054C 002AD4AC 48 06 25 9D */ bl __ml__12CTransform4fCFRC9CVector3f
/* 802B0550 002AD4B0 C0 3F 00 84 */ lfs f1, 0x84(r31)
/* 802B0554 002AD4B4 38 61 00 20 */ addi r3, r1, 0x20
/* 802B0558 002AD4B8 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 802B055C 002AD4BC 38 9F 00 14 */ addi r4, r31, 0x14
/* 802B0560 002AD4C0 C0 7F 00 88 */ lfs f3, 0x88(r31)
/* 802B0564 002AD4C4 38 A1 00 14 */ addi r5, r1, 0x14
/* 802B0568 002AD4C8 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 802B056C 002AD4CC EC 81 00 2A */ fadds f4, f1, f0
/* 802B0570 002AD4D0 C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 802B0574 002AD4D4 C0 01 00 08 */ lfs f0, 8(r1)
/* 802B0578 002AD4D8 EC 43 10 2A */ fadds f2, f3, f2
/* 802B057C 002AD4DC D0 81 00 18 */ stfs f4, 0x18(r1)
/* 802B0580 002AD4E0 EC 01 00 2A */ fadds f0, f1, f0
/* 802B0584 002AD4E4 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 802B0588 002AD4E8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802B058C 002AD4EC 48 06 25 5D */ bl __ml__12CTransform4fCFRC9CVector3f
/* 802B0590 002AD4F0 C0 21 00 20 */ lfs f1, 0x20(r1)
/* 802B0594 002AD4F4 C0 1F 00 74 */ lfs f0, 0x74(r31)
/* 802B0598 002AD4F8 C0 81 00 24 */ lfs f4, 0x24(r1)
/* 802B059C 002AD4FC C0 7F 00 78 */ lfs f3, 0x78(r31)
/* 802B05A0 002AD500 EC 01 00 2A */ fadds f0, f1, f0
/* 802B05A4 002AD504 C0 41 00 28 */ lfs f2, 0x28(r1)
/* 802B05A8 002AD508 C0 3F 00 7C */ lfs f1, 0x7c(r31)
/* 802B05AC 002AD50C EC 64 18 2A */ fadds f3, f4, f3
/* 802B05B0 002AD510 D0 1E 00 00 */ stfs f0, 0(r30)
/* 802B05B4 002AD514 EC 02 08 2A */ fadds f0, f2, f1
/* 802B05B8 002AD518 D0 7E 00 04 */ stfs f3, 4(r30)
/* 802B05BC 002AD51C D0 1E 00 08 */ stfs f0, 8(r30)
/* 802B05C0 002AD520 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 802B05C4 002AD524 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802B05C8 002AD528 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 802B05CC 002AD52C 7C 08 03 A6 */ mtlr r0
/* 802B05D0 002AD530 38 21 00 40 */ addi r1, r1, 0x40
/* 802B05D4 002AD534 4E 80 00 20 */ blr
.global GetTransform__17CProjectileWeaponFv
GetTransform__17CProjectileWeaponFv:
/* 802B05D8 002AD538 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B05DC 002AD53C 7C 08 02 A6 */ mflr r0
/* 802B05E0 002AD540 7C 85 23 78 */ mr r5, r4
/* 802B05E4 002AD544 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B05E8 002AD548 38 85 00 14 */ addi r4, r5, 0x14
/* 802B05EC 002AD54C 38 A5 00 44 */ addi r5, r5, 0x44
/* 802B05F0 002AD550 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B05F4 002AD554 7C 7F 1B 78 */ mr r31, r3
/* 802B05F8 002AD558 48 06 23 59 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802B05FC 002AD55C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B0600 002AD560 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B0604 002AD564 7C 08 03 A6 */ mtlr r0
/* 802B0608 002AD568 38 21 00 10 */ addi r1, r1, 0x10
/* 802B060C 002AD56C 4E 80 00 20 */ blr
.global GetTransform__17CProjectileWeaponCFv
GetTransform__17CProjectileWeaponCFv:
/* 802B0610 002AD570 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B0614 002AD574 7C 08 02 A6 */ mflr r0
/* 802B0618 002AD578 7C 85 23 78 */ mr r5, r4
/* 802B061C 002AD57C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B0620 002AD580 38 85 00 14 */ addi r4, r5, 0x14
/* 802B0624 002AD584 38 A5 00 44 */ addi r5, r5, 0x44
/* 802B0628 002AD588 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B062C 002AD58C 7C 7F 1B 78 */ mr r31, r3
/* 802B0630 002AD590 48 06 23 21 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802B0634 002AD594 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B0638 002AD598 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B063C 002AD59C 7C 08 03 A6 */ mtlr r0
/* 802B0640 002AD5A0 38 21 00 10 */ addi r1, r1, 0x10
/* 802B0644 002AD5A4 4E 80 00 20 */ blr
.global UpdateParticleFX__17CProjectileWeaponFv
UpdateParticleFX__17CProjectileWeaponFv:
/* 802B0648 002AD5A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B064C 002AD5AC 7C 08 02 A6 */ mflr r0
/* 802B0650 002AD5B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B0654 002AD5B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B0658 002AD5B8 3B E0 00 00 */ li r31, 0
/* 802B065C 002AD5BC 93 C1 00 08 */ stw r30, 8(r1)
/* 802B0660 002AD5C0 7C 7E 1B 78 */ mr r30, r3
/* 802B0664 002AD5C4 48 00 00 14 */ b lbl_802B0678
lbl_802B0668:
/* 802B0668 002AD5C8 C0 22 C1 FC */ lfs f1, lbl_805ADF1C@sda21(r2)
/* 802B066C 002AD5CC 7F C3 F3 78 */ mr r3, r30
/* 802B0670 002AD5D0 4B FF F4 91 */ bl UpdateChildParticleSystems__17CProjectileWeaponFf
/* 802B0674 002AD5D4 3B FF 00 01 */ addi r31, r31, 1
lbl_802B0678:
/* 802B0678 002AD5D8 80 1E 00 EC */ lwz r0, 0xec(r30)
/* 802B067C 002AD5DC 7C 1F 00 00 */ cmpw r31, r0
/* 802B0680 002AD5E0 41 80 FF E8 */ blt lbl_802B0668
/* 802B0684 002AD5E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B0688 002AD5E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B068C 002AD5EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 802B0690 002AD5F0 7C 08 03 A6 */ mtlr r0
/* 802B0694 002AD5F4 38 21 00 10 */ addi r1, r1, 0x10
/* 802B0698 002AD5F8 4E 80 00 20 */ blr
.global Update__17CProjectileWeaponFf
Update__17CProjectileWeaponFf:
/* 802B069C 002AD5FC 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802B06A0 002AD600 7C 08 02 A6 */ mflr r0
/* 802B06A4 002AD604 90 01 00 64 */ stw r0, 0x64(r1)
/* 802B06A8 002AD608 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 802B06AC 002AD60C F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 802B06B0 002AD610 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 802B06B4 002AD614 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 802B06B8 002AD618 DB A1 00 30 */ stfd f29, 0x30(r1)
/* 802B06BC 002AD61C F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0
/* 802B06C0 002AD620 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802B06C4 002AD624 FF C0 08 90 */ fmr f30, f1
/* 802B06C8 002AD628 7C 7F 1B 78 */ mr r31, r3
/* 802B06CC 002AD62C 38 61 00 08 */ addi r3, r1, 8
/* 802B06D0 002AD630 38 9F 00 10 */ addi r4, r31, 0x10
/* 802B06D4 002AD634 48 06 1F AD */ bl __ct__13CGlobalRandomFR9CRandom16
/* 802B06D8 002AD638 80 9F 00 F4 */ lwz r4, 0xf4(r31)
/* 802B06DC 002AD63C 3C 60 43 30 */ lis r3, 0x4330
/* 802B06E0 002AD640 C0 02 C1 FC */ lfs f0, lbl_805ADF1C@sda21(r2)
/* 802B06E4 002AD644 38 00 00 00 */ li r0, 0
/* 802B06E8 002AD648 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 802B06EC 002AD64C 90 61 00 18 */ stw r3, 0x18(r1)
/* 802B06F0 002AD650 EC 1E 00 28 */ fsubs f0, f30, f0
/* 802B06F4 002AD654 C8 42 C2 38 */ lfd f2, lbl_805ADF58@sda21(r2)
/* 802B06F8 002AD658 90 81 00 1C */ stw r4, 0x1c(r1)
/* 802B06FC 002AD65C C8 62 C2 00 */ lfd f3, lbl_805ADF20@sda21(r2)
/* 802B0700 002AD660 C8 21 00 18 */ lfd f1, 0x18(r1)
/* 802B0704 002AD664 FC 80 02 10 */ fabs f4, f0
/* 802B0708 002AD668 C8 02 C2 08 */ lfd f0, lbl_805ADF28@sda21(r2)
/* 802B070C 002AD66C FC 21 10 28 */ fsub f1, f1, f2
/* 802B0710 002AD670 90 1F 00 EC */ stw r0, 0xec(r31)
/* 802B0714 002AD674 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 802B0718 002AD678 FF A3 00 72 */ fmul f29, f3, f1
/* 802B071C 002AD67C 40 80 00 0C */ bge lbl_802B0728
/* 802B0720 002AD680 FC 40 18 90 */ fmr f2, f3
/* 802B0724 002AD684 48 00 00 08 */ b lbl_802B072C
lbl_802B0728:
/* 802B0728 002AD688 FC 40 F0 90 */ fmr f2, f30
lbl_802B072C:
/* 802B072C 002AD68C C8 22 C2 20 */ lfd f1, lbl_805ADF40@sda21(r2)
/* 802B0730 002AD690 C8 02 C2 10 */ lfd f0, lbl_805ADF30@sda21(r2)
/* 802B0734 002AD694 FC 42 00 72 */ fmul f2, f2, f1
/* 802B0738 002AD698 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802B073C 002AD69C 40 80 00 08 */ bge lbl_802B0744
/* 802B0740 002AD6A0 FC 40 00 90 */ fmr f2, f0
lbl_802B0744:
/* 802B0744 002AD6A4 C8 1F 00 D0 */ lfd f0, 0xd0(r31)
/* 802B0748 002AD6A8 CB E2 C2 30 */ lfd f31, lbl_805ADF50@sda21(r2)
/* 802B074C 002AD6AC FC 00 10 2A */ fadd f0, f0, f2
/* 802B0750 002AD6B0 CB C2 C2 28 */ lfd f30, lbl_805ADF48@sda21(r2)
/* 802B0754 002AD6B4 D8 1F 00 D0 */ stfd f0, 0xd0(r31)
/* 802B0758 002AD6B8 48 00 00 4C */ b lbl_802B07A4
lbl_802B075C:
/* 802B075C 002AD6BC 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 802B0760 002AD6C0 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 802B0764 002AD6C4 7C 03 00 00 */ cmpw r3, r0
/* 802B0768 002AD6C8 40 80 00 20 */ bge lbl_802B0788
/* 802B076C 002AD6CC 48 07 9F DD */ bl SetEmitterTime__16CParticleGlobalsFi
/* 802B0770 002AD6D0 80 7F 00 E8 */ lwz r3, 0xe8(r31)
/* 802B0774 002AD6D4 48 07 A0 05 */ bl SetParticleLifetime__16CParticleGlobalsFi
/* 802B0778 002AD6D8 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 802B077C 002AD6DC 48 07 9F 01 */ bl UpdateParticleLifetimeTweenValues__16CParticleGlobalsFi
/* 802B0780 002AD6E0 7F E3 FB 78 */ mr r3, r31
/* 802B0784 002AD6E4 4B FF FA B1 */ bl UpdatePSTranslationAndOrientation__17CProjectileWeaponFv
lbl_802B0788:
/* 802B0788 002AD6E8 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 802B078C 002AD6EC FF BD F0 2A */ fadd f29, f29, f30
/* 802B0790 002AD6F0 38 03 00 01 */ addi r0, r3, 1
/* 802B0794 002AD6F4 90 1F 00 F4 */ stw r0, 0xf4(r31)
/* 802B0798 002AD6F8 80 7F 00 EC */ lwz r3, 0xec(r31)
/* 802B079C 002AD6FC 38 03 00 01 */ addi r0, r3, 1
/* 802B07A0 002AD700 90 1F 00 EC */ stw r0, 0xec(r31)
lbl_802B07A4:
/* 802B07A4 002AD704 C8 1F 00 D0 */ lfd f0, 0xd0(r31)
/* 802B07A8 002AD708 FC 1D 00 40 */ fcmpo cr0, f29, f0
/* 802B07AC 002AD70C 40 80 00 14 */ bge lbl_802B07C0
/* 802B07B0 002AD710 FC 1D 00 28 */ fsub f0, f29, f0
/* 802B07B4 002AD714 FC 00 02 10 */ fabs f0, f0
/* 802B07B8 002AD718 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 802B07BC 002AD71C 40 80 FF A0 */ bge lbl_802B075C
lbl_802B07C0:
/* 802B07C0 002AD720 C8 3F 00 D0 */ lfd f1, 0xd0(r31)
/* 802B07C4 002AD724 C8 02 C2 30 */ lfd f0, lbl_805ADF50@sda21(r2)
/* 802B07C8 002AD728 FC 3D 08 28 */ fsub f1, f29, f1
/* 802B07CC 002AD72C FC 20 0A 10 */ fabs f1, f1
/* 802B07D0 002AD730 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802B07D4 002AD734 40 80 00 08 */ bge lbl_802B07DC
/* 802B07D8 002AD738 DB BF 00 D0 */ stfd f29, 0xd0(r31)
lbl_802B07DC:
/* 802B07DC 002AD73C C8 3F 00 D0 */ lfd f1, 0xd0(r31)
/* 802B07E0 002AD740 C8 02 C2 00 */ lfd f0, lbl_805ADF20@sda21(r2)
/* 802B07E4 002AD744 FC 3D 08 28 */ fsub f1, f29, f1
/* 802B07E8 002AD748 FC 01 00 24 */ fdiv f0, f1, f0
/* 802B07EC 002AD74C FC 00 00 18 */ frsp f0, f0
/* 802B07F0 002AD750 D8 1F 00 D8 */ stfd f0, 0xd8(r31)
/* 802B07F4 002AD754 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 802B07F8 002AD758 80 1F 00 E8 */ lwz r0, 0xe8(r31)
/* 802B07FC 002AD75C 7C 03 00 00 */ cmpw r3, r0
/* 802B0800 002AD760 40 80 00 34 */ bge lbl_802B0834
/* 802B0804 002AD764 C0 02 C1 F0 */ lfs f0, lbl_805ADF10@sda21(r2)
/* 802B0808 002AD768 D0 1F 00 E0 */ stfs f0, 0xe0(r31)
/* 802B080C 002AD76C 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0810 002AD770 80 63 00 30 */ lwz r3, 0x30(r3)
/* 802B0814 002AD774 28 03 00 00 */ cmplwi r3, 0
/* 802B0818 002AD778 41 82 00 1C */ beq lbl_802B0834
/* 802B081C 002AD77C 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0820 002AD780 38 BF 00 E0 */ addi r5, r31, 0xe0
/* 802B0824 002AD784 38 80 00 00 */ li r4, 0
/* 802B0828 002AD788 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B082C 002AD78C 7D 89 03 A6 */ mtctr r12
/* 802B0830 002AD790 4E 80 04 21 */ bctrl
lbl_802B0834:
/* 802B0834 002AD794 38 61 00 08 */ addi r3, r1, 8
/* 802B0838 002AD798 38 80 FF FF */ li r4, -1
/* 802B083C 002AD79C 48 06 1D C9 */ bl __dt__13CGlobalRandomFv
/* 802B0840 002AD7A0 38 60 00 00 */ li r3, 0
/* 802B0844 002AD7A4 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 802B0848 002AD7A8 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 802B084C 002AD7AC E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 802B0850 002AD7B0 CB C1 00 40 */ lfd f30, 0x40(r1)
/* 802B0854 002AD7B4 E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0
/* 802B0858 002AD7B8 CB A1 00 30 */ lfd f29, 0x30(r1)
/* 802B085C 002AD7BC 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802B0860 002AD7C0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802B0864 002AD7C4 7C 08 03 A6 */ mtlr r0
/* 802B0868 002AD7C8 38 21 00 60 */ addi r1, r1, 0x60
/* 802B086C 002AD7CC 4E 80 00 20 */ blr
.global __dt__17CProjectileWeaponFv
__dt__17CProjectileWeaponFv:
/* 802B0870 002AD7D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B0874 002AD7D4 7C 08 02 A6 */ mflr r0
/* 802B0878 002AD7D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B087C 002AD7DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B0880 002AD7E0 7C 7F 1B 79 */ or. r31, r3, r3
/* 802B0884 002AD7E4 93 C1 00 08 */ stw r30, 8(r1)
/* 802B0888 002AD7E8 7C 9E 23 78 */ mr r30, r4
/* 802B088C 002AD7EC 41 82 01 44 */ beq lbl_802B09D0
/* 802B0890 002AD7F0 3C 60 80 3F */ lis r3, lbl_803EC4C8@ha
/* 802B0894 002AD7F4 38 03 C4 C8 */ addi r0, r3, lbl_803EC4C8@l
/* 802B0898 002AD7F8 90 1F 00 00 */ stw r0, 0(r31)
/* 802B089C 002AD7FC 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802B08A0 002AD800 28 03 00 00 */ cmplwi r3, 0
/* 802B08A4 002AD804 41 82 00 18 */ beq lbl_802B08BC
/* 802B08A8 002AD808 81 83 00 00 */ lwz r12, 0(r3)
/* 802B08AC 002AD80C 38 80 00 01 */ li r4, 1
/* 802B08B0 002AD810 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B08B4 002AD814 7D 89 03 A6 */ mtctr r12
/* 802B08B8 002AD818 4E 80 04 21 */ bctrl
lbl_802B08BC:
/* 802B08BC 002AD81C 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802B08C0 002AD820 28 03 00 00 */ cmplwi r3, 0
/* 802B08C4 002AD824 41 82 00 18 */ beq lbl_802B08DC
/* 802B08C8 002AD828 81 83 00 00 */ lwz r12, 0(r3)
/* 802B08CC 002AD82C 38 80 00 01 */ li r4, 1
/* 802B08D0 002AD830 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B08D4 002AD834 7D 89 03 A6 */ mtctr r12
/* 802B08D8 002AD838 4E 80 04 21 */ bctrl
lbl_802B08DC:
/* 802B08DC 002AD83C 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 802B08E0 002AD840 28 03 00 00 */ cmplwi r3, 0
/* 802B08E4 002AD844 41 82 00 18 */ beq lbl_802B08FC
/* 802B08E8 002AD848 81 83 00 00 */ lwz r12, 0(r3)
/* 802B08EC 002AD84C 38 80 00 01 */ li r4, 1
/* 802B08F0 002AD850 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B08F4 002AD854 7D 89 03 A6 */ mtctr r12
/* 802B08F8 002AD858 4E 80 04 21 */ bctrl
lbl_802B08FC:
/* 802B08FC 002AD85C 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802B0900 002AD860 28 03 00 00 */ cmplwi r3, 0
/* 802B0904 002AD864 41 82 00 18 */ beq lbl_802B091C
/* 802B0908 002AD868 81 83 00 00 */ lwz r12, 0(r3)
/* 802B090C 002AD86C 38 80 00 01 */ li r4, 1
/* 802B0910 002AD870 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B0914 002AD874 7D 89 03 A6 */ mtctr r12
/* 802B0918 002AD878 4E 80 04 21 */ bctrl
lbl_802B091C:
/* 802B091C 002AD87C 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802B0920 002AD880 28 03 00 00 */ cmplwi r3, 0
/* 802B0924 002AD884 41 82 00 18 */ beq lbl_802B093C
/* 802B0928 002AD888 81 83 00 00 */ lwz r12, 0(r3)
/* 802B092C 002AD88C 38 80 00 01 */ li r4, 1
/* 802B0930 002AD890 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B0934 002AD894 7D 89 03 A6 */ mtctr r12
/* 802B0938 002AD898 4E 80 04 21 */ bctrl
lbl_802B093C:
/* 802B093C 002AD89C 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B0940 002AD8A0 28 03 00 00 */ cmplwi r3, 0
/* 802B0944 002AD8A4 41 82 00 18 */ beq lbl_802B095C
/* 802B0948 002AD8A8 81 83 00 00 */ lwz r12, 0(r3)
/* 802B094C 002AD8AC 38 80 00 01 */ li r4, 1
/* 802B0950 002AD8B0 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B0954 002AD8B4 7D 89 03 A6 */ mtctr r12
/* 802B0958 002AD8B8 4E 80 04 21 */ bctrl
lbl_802B095C:
/* 802B095C 002AD8BC 34 1F 01 08 */ addic. r0, r31, 0x108
/* 802B0960 002AD8C0 41 82 00 30 */ beq lbl_802B0990
/* 802B0964 002AD8C4 88 1F 01 14 */ lbz r0, 0x114(r31)
/* 802B0968 002AD8C8 28 00 00 00 */ cmplwi r0, 0
/* 802B096C 002AD8CC 41 82 00 1C */ beq lbl_802B0988
/* 802B0970 002AD8D0 34 7F 01 08 */ addic. r3, r31, 0x108
/* 802B0974 002AD8D4 41 82 00 14 */ beq lbl_802B0988
/* 802B0978 002AD8D8 28 03 00 00 */ cmplwi r3, 0
/* 802B097C 002AD8DC 41 82 00 0C */ beq lbl_802B0988
/* 802B0980 002AD8E0 38 80 00 00 */ li r4, 0
/* 802B0984 002AD8E4 48 09 04 BD */ bl __dt__6CTokenFv
lbl_802B0988:
/* 802B0988 002AD8E8 38 00 00 00 */ li r0, 0
/* 802B098C 002AD8EC 98 1F 01 14 */ stb r0, 0x114(r31)
lbl_802B0990:
/* 802B0990 002AD8F0 34 1F 00 04 */ addic. r0, r31, 4
/* 802B0994 002AD8F4 41 82 00 18 */ beq lbl_802B09AC
/* 802B0998 002AD8F8 34 1F 00 04 */ addic. r0, r31, 4
/* 802B099C 002AD8FC 41 82 00 10 */ beq lbl_802B09AC
/* 802B09A0 002AD900 38 7F 00 04 */ addi r3, r31, 4
/* 802B09A4 002AD904 38 80 00 00 */ li r4, 0
/* 802B09A8 002AD908 48 09 04 99 */ bl __dt__6CTokenFv
lbl_802B09AC:
/* 802B09AC 002AD90C 28 1F 00 00 */ cmplwi r31, 0
/* 802B09B0 002AD910 41 82 00 10 */ beq lbl_802B09C0
/* 802B09B4 002AD914 3C 60 80 3F */ lis r3, lbl_803EC4E8@ha
/* 802B09B8 002AD918 38 03 C4 E8 */ addi r0, r3, lbl_803EC4E8@l
/* 802B09BC 002AD91C 90 1F 00 00 */ stw r0, 0(r31)
lbl_802B09C0:
/* 802B09C0 002AD920 7F C0 07 35 */ extsh. r0, r30
/* 802B09C4 002AD924 40 81 00 0C */ ble lbl_802B09D0
/* 802B09C8 002AD928 7F E3 FB 78 */ mr r3, r31
/* 802B09CC 002AD92C 48 06 4F 65 */ bl Free__7CMemoryFPCv
lbl_802B09D0:
/* 802B09D0 002AD930 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B09D4 002AD934 7F E3 FB 78 */ mr r3, r31
/* 802B09D8 002AD938 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B09DC 002AD93C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802B09E0 002AD940 7C 08 03 A6 */ mtlr r0
/* 802B09E4 002AD944 38 21 00 10 */ addi r1, r1, 0x10
/* 802B09E8 002AD948 4E 80 00 20 */ blr
.global "__ct__17CProjectileWeaponFRC28TToken<18CWeaponDescription>RC9CVector3fRC12CTransform4fRC9CVector3f"
"__ct__17CProjectileWeaponFRC28TToken<18CWeaponDescription>RC9CVector3fRC12CTransform4fRC9CVector3f":
/* 802B09EC 002AD94C 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 802B09F0 002AD950 7C 08 02 A6 */ mflr r0
/* 802B09F4 002AD954 3D 20 80 3F */ lis r9, lbl_803EC4E8@ha
/* 802B09F8 002AD958 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 802B09FC 002AD95C 38 09 C4 E8 */ addi r0, r9, lbl_803EC4E8@l
/* 802B0A00 002AD960 BF 41 00 88 */ stmw r26, 0x88(r1)
/* 802B0A04 002AD964 7C 7F 1B 78 */ mr r31, r3
/* 802B0A08 002AD968 3C 60 80 3F */ lis r3, lbl_803EC4C8@ha
/* 802B0A0C 002AD96C 7C BB 2B 78 */ mr r27, r5
/* 802B0A10 002AD970 3B 5F 00 04 */ addi r26, r31, 4
/* 802B0A14 002AD974 7C DD 33 78 */ mr r29, r6
/* 802B0A18 002AD978 7C FE 3B 78 */ mr r30, r7
/* 802B0A1C 002AD97C 7D 1C 43 78 */ mr r28, r8
/* 802B0A20 002AD980 90 1F 00 00 */ stw r0, 0(r31)
/* 802B0A24 002AD984 38 03 C4 C8 */ addi r0, r3, lbl_803EC4C8@l
/* 802B0A28 002AD988 7F 43 D3 78 */ mr r3, r26
/* 802B0A2C 002AD98C 90 1F 00 00 */ stw r0, 0(r31)
/* 802B0A30 002AD990 48 09 04 79 */ bl __ct__6CTokenFRC6CToken
/* 802B0A34 002AD994 7F 43 D3 78 */ mr r3, r26
/* 802B0A38 002AD998 48 09 03 D5 */ bl GetObj__6CTokenFv
/* 802B0A3C 002AD99C 80 03 00 04 */ lwz r0, 4(r3)
/* 802B0A40 002AD9A0 38 7F 00 10 */ addi r3, r31, 0x10
/* 802B0A44 002AD9A4 90 1A 00 08 */ stw r0, 8(r26)
/* 802B0A48 002AD9A8 80 8D 9A 88 */ lwz r4, lbl_805A8648@sda21(r13)
/* 802B0A4C 002AD9AC 48 06 1B A1 */ bl __ct__9CRandom16FUi
/* 802B0A50 002AD9B0 7F A4 EB 78 */ mr r4, r29
/* 802B0A54 002AD9B4 38 7F 00 14 */ addi r3, r31, 0x14
/* 802B0A58 002AD9B8 48 06 21 1D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802B0A5C 002AD9BC 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 802B0A60 002AD9C0 38 7F 00 44 */ addi r3, r31, 0x44
/* 802B0A64 002AD9C4 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 802B0A68 002AD9C8 48 06 21 0D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802B0A6C 002AD9CC C0 3B 00 00 */ lfs f1, 0(r27)
/* 802B0A70 002AD9D0 3C 60 80 5A */ lis r3, skZero3f@ha
/* 802B0A74 002AD9D4 C0 02 C1 F8 */ lfs f0, lbl_805ADF18@sda21(r2)
/* 802B0A78 002AD9D8 D0 3F 00 74 */ stfs f1, 0x74(r31)
/* 802B0A7C 002AD9DC C0 3B 00 04 */ lfs f1, 4(r27)
/* 802B0A80 002AD9E0 D0 3F 00 78 */ stfs f1, 0x78(r31)
/* 802B0A84 002AD9E4 C0 3B 00 08 */ lfs f1, 8(r27)
/* 802B0A88 002AD9E8 D0 3F 00 7C */ stfs f1, 0x7c(r31)
/* 802B0A8C 002AD9EC C4 23 66 A0 */ lfsu f1, skZero3f@l(r3)
/* 802B0A90 002AD9F0 D0 3F 00 80 */ stfs f1, 0x80(r31)
/* 802B0A94 002AD9F4 C0 23 00 04 */ lfs f1, 4(r3)
/* 802B0A98 002AD9F8 D0 3F 00 84 */ stfs f1, 0x84(r31)
/* 802B0A9C 002AD9FC C0 23 00 08 */ lfs f1, 8(r3)
/* 802B0AA0 002ADA00 D0 3F 00 88 */ stfs f1, 0x88(r31)
/* 802B0AA4 002ADA04 C0 23 00 00 */ lfs f1, 0(r3)
/* 802B0AA8 002ADA08 D0 3F 00 8C */ stfs f1, 0x8c(r31)
/* 802B0AAC 002ADA0C C0 23 00 04 */ lfs f1, 4(r3)
/* 802B0AB0 002ADA10 D0 3F 00 90 */ stfs f1, 0x90(r31)
/* 802B0AB4 002ADA14 C0 23 00 08 */ lfs f1, 8(r3)
/* 802B0AB8 002ADA18 D0 3F 00 94 */ stfs f1, 0x94(r31)
/* 802B0ABC 002ADA1C D0 1F 00 98 */ stfs f0, 0x98(r31)
/* 802B0AC0 002ADA20 D0 1F 00 9C */ stfs f0, 0x9c(r31)
/* 802B0AC4 002ADA24 D0 1F 00 A0 */ stfs f0, 0xa0(r31)
/* 802B0AC8 002ADA28 C0 03 00 00 */ lfs f0, 0(r3)
/* 802B0ACC 002ADA2C D0 1F 00 A4 */ stfs f0, 0xa4(r31)
/* 802B0AD0 002ADA30 C0 03 00 04 */ lfs f0, 4(r3)
/* 802B0AD4 002ADA34 D0 1F 00 A8 */ stfs f0, 0xa8(r31)
/* 802B0AD8 002ADA38 C0 03 00 08 */ lfs f0, 8(r3)
/* 802B0ADC 002ADA3C D0 1F 00 AC */ stfs f0, 0xac(r31)
/* 802B0AE0 002ADA40 C0 03 00 00 */ lfs f0, 0(r3)
/* 802B0AE4 002ADA44 D0 1F 00 B0 */ stfs f0, 0xb0(r31)
/* 802B0AE8 002ADA48 C0 03 00 04 */ lfs f0, 4(r3)
/* 802B0AEC 002ADA4C D0 1F 00 B4 */ stfs f0, 0xb4(r31)
/* 802B0AF0 002ADA50 C0 03 00 08 */ lfs f0, 8(r3)
/* 802B0AF4 002ADA54 D0 1F 00 B8 */ stfs f0, 0xb8(r31)
/* 802B0AF8 002ADA58 C0 03 00 00 */ lfs f0, 0(r3)
/* 802B0AFC 002ADA5C D0 1F 00 BC */ stfs f0, 0xbc(r31)
/* 802B0B00 002ADA60 C0 03 00 04 */ lfs f0, 4(r3)
/* 802B0B04 002ADA64 D0 1F 00 C0 */ stfs f0, 0xc0(r31)
/* 802B0B08 002ADA68 C0 03 00 08 */ lfs f0, 8(r3)
/* 802B0B0C 002ADA6C D0 1F 00 C4 */ stfs f0, 0xc4(r31)
/* 802B0B10 002ADA70 48 09 94 9D */ bl White__6CColorFv
/* 802B0B14 002ADA74 80 63 00 00 */ lwz r3, 0(r3)
/* 802B0B18 002ADA78 38 C0 00 00 */ li r6, 0
/* 802B0B1C 002ADA7C C8 22 C2 10 */ lfd f1, lbl_805ADF30@sda21(r2)
/* 802B0B20 002ADA80 38 00 FF FF */ li r0, -1
/* 802B0B24 002ADA84 90 7F 00 C8 */ stw r3, 0xc8(r31)
/* 802B0B28 002ADA88 38 A0 00 01 */ li r5, 1
/* 802B0B2C 002ADA8C C0 02 C1 F0 */ lfs f0, lbl_805ADF10@sda21(r2)
/* 802B0B30 002ADA90 38 61 00 48 */ addi r3, r1, 0x48
/* 802B0B34 002ADA94 D8 3F 00 D0 */ stfd f1, 0xd0(r31)
/* 802B0B38 002ADA98 38 9F 00 10 */ addi r4, r31, 0x10
/* 802B0B3C 002ADA9C D8 3F 00 D8 */ stfd f1, 0xd8(r31)
/* 802B0B40 002ADAA0 D0 1F 00 E0 */ stfs f0, 0xe0(r31)
/* 802B0B44 002ADAA4 93 9F 00 E4 */ stw r28, 0xe4(r31)
/* 802B0B48 002ADAA8 90 DF 00 E8 */ stw r6, 0xe8(r31)
/* 802B0B4C 002ADAAC 90 DF 00 EC */ stw r6, 0xec(r31)
/* 802B0B50 002ADAB0 90 DF 00 F0 */ stw r6, 0xf0(r31)
/* 802B0B54 002ADAB4 90 DF 00 F4 */ stw r6, 0xf4(r31)
/* 802B0B58 002ADAB8 90 1F 00 F8 */ stw r0, 0xf8(r31)
/* 802B0B5C 002ADABC 90 DF 00 FC */ stw r6, 0xfc(r31)
/* 802B0B60 002ADAC0 90 DF 01 00 */ stw r6, 0x100(r31)
/* 802B0B64 002ADAC4 90 DF 01 04 */ stw r6, 0x104(r31)
/* 802B0B68 002ADAC8 98 DF 01 14 */ stb r6, 0x114(r31)
/* 802B0B6C 002ADACC 90 DF 01 18 */ stw r6, 0x118(r31)
/* 802B0B70 002ADAD0 90 DF 01 1C */ stw r6, 0x11c(r31)
/* 802B0B74 002ADAD4 90 DF 01 20 */ stw r6, 0x120(r31)
/* 802B0B78 002ADAD8 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0B7C 002ADADC 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 802B0B80 002ADAE0 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0B84 002ADAE4 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0B88 002ADAE8 50 C0 36 72 */ rlwimi r0, r6, 6, 0x19, 0x19
/* 802B0B8C 002ADAEC 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0B90 002ADAF0 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0B94 002ADAF4 50 C0 2E B4 */ rlwimi r0, r6, 5, 0x1a, 0x1a
/* 802B0B98 002ADAF8 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0B9C 002ADAFC 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0BA0 002ADB00 50 C0 26 F6 */ rlwimi r0, r6, 4, 0x1b, 0x1b
/* 802B0BA4 002ADB04 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0BA8 002ADB08 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0BAC 002ADB0C 50 C0 1F 38 */ rlwimi r0, r6, 3, 0x1c, 0x1c
/* 802B0BB0 002ADB10 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0BB4 002ADB14 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0BB8 002ADB18 50 C0 17 7A */ rlwimi r0, r6, 2, 0x1d, 0x1d
/* 802B0BBC 002ADB1C 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0BC0 002ADB20 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0BC4 002ADB24 50 C0 0F BC */ rlwimi r0, r6, 1, 0x1e, 0x1e
/* 802B0BC8 002ADB28 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0BCC 002ADB2C 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0BD0 002ADB30 50 C0 07 FE */ rlwimi r0, r6, 0, 0x1f, 0x1f
/* 802B0BD4 002ADB34 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0BD8 002ADB38 48 06 1A A9 */ bl __ct__13CGlobalRandomFR9CRandom16
/* 802B0BDC 002ADB3C 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0BE0 002ADB40 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0BE4 002ADB44 88 63 00 10 */ lbz r3, 0x10(r3)
/* 802B0BE8 002ADB48 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
/* 802B0BEC 002ADB4C 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0BF0 002ADB50 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0BF4 002ADB54 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B0BF8 002ADB58 88 63 00 28 */ lbz r3, 0x28(r3)
/* 802B0BFC 002ADB5C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 802B0C00 002ADB60 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B0C04 002ADB64 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0C08 002ADB68 80 9F 00 E4 */ lwz r4, 0xe4(r31)
/* 802B0C0C 002ADB6C 88 03 00 40 */ lbz r0, 0x40(r3)
/* 802B0C10 002ADB70 54 9D 07 FE */ clrlwi r29, r4, 0x1f
/* 802B0C14 002ADB74 28 00 00 00 */ cmplwi r0, 0
/* 802B0C18 002ADB78 41 82 00 8C */ beq lbl_802B0CA4
/* 802B0C1C 002ADB7C 3C 60 80 3D */ lis r3, lbl_803D6188@ha
/* 802B0C20 002ADB80 3B 40 00 00 */ li r26, 0
/* 802B0C24 002ADB84 38 83 61 88 */ addi r4, r3, lbl_803D6188@l
/* 802B0C28 002ADB88 38 A0 00 00 */ li r5, 0
/* 802B0C2C 002ADB8C 38 60 03 40 */ li r3, 0x340
/* 802B0C30 002ADB90 48 06 4C 3D */ bl __nw__FUlPCcPCc
/* 802B0C34 002ADB94 7C 7C 1B 79 */ or. r28, r3, r3
/* 802B0C38 002ADB98 41 82 00 3C */ beq lbl_802B0C74
/* 802B0C3C 002ADB9C 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B0C40 002ADBA0 38 61 00 34 */ addi r3, r1, 0x34
/* 802B0C44 002ADBA4 38 84 00 34 */ addi r4, r4, 0x34
/* 802B0C48 002ADBA8 48 09 02 61 */ bl __ct__6CTokenFRC6CToken
/* 802B0C4C 002ADBAC 28 1D 00 00 */ cmplwi r29, 0
/* 802B0C50 002ADBB0 7F 83 E3 78 */ mr r3, r28
/* 802B0C54 002ADBB4 38 81 00 34 */ addi r4, r1, 0x34
/* 802B0C58 002ADBB8 3B 40 00 01 */ li r26, 1
/* 802B0C5C 002ADBBC 38 A0 00 00 */ li r5, 0
/* 802B0C60 002ADBC0 38 C0 00 01 */ li r6, 1
/* 802B0C64 002ADBC4 41 82 00 08 */ beq lbl_802B0C6C
/* 802B0C68 002ADBC8 38 C0 00 02 */ li r6, 2
lbl_802B0C6C:
/* 802B0C6C 002ADBCC 48 06 E7 75 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 802B0C70 002ADBD0 7C 7C 1B 78 */ mr r28, r3
lbl_802B0C74:
/* 802B0C74 002ADBD4 7F 40 07 75 */ extsb. r0, r26
/* 802B0C78 002ADBD8 93 9F 00 FC */ stw r28, 0xfc(r31)
/* 802B0C7C 002ADBDC 41 82 00 10 */ beq lbl_802B0C8C
/* 802B0C80 002ADBE0 38 61 00 34 */ addi r3, r1, 0x34
/* 802B0C84 002ADBE4 38 80 00 00 */ li r4, 0
/* 802B0C88 002ADBE8 48 09 01 B9 */ bl __dt__6CTokenFv
lbl_802B0C8C:
/* 802B0C8C 002ADBEC 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 802B0C90 002ADBF0 7F C4 F3 78 */ mr r4, r30
/* 802B0C94 002ADBF4 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0C98 002ADBF8 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802B0C9C 002ADBFC 7D 89 03 A6 */ mtctr r12
/* 802B0CA0 002ADC00 4E 80 04 21 */ bctrl
lbl_802B0CA4:
/* 802B0CA4 002ADC04 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0CA8 002ADC08 88 03 00 50 */ lbz r0, 0x50(r3)
/* 802B0CAC 002ADC0C 28 00 00 00 */ cmplwi r0, 0
/* 802B0CB0 002ADC10 41 82 00 8C */ beq lbl_802B0D3C
/* 802B0CB4 002ADC14 3C 60 80 3D */ lis r3, lbl_803D6188@ha
/* 802B0CB8 002ADC18 3B 40 00 00 */ li r26, 0
/* 802B0CBC 002ADC1C 38 83 61 88 */ addi r4, r3, lbl_803D6188@l
/* 802B0CC0 002ADC20 38 A0 00 00 */ li r5, 0
/* 802B0CC4 002ADC24 38 60 03 40 */ li r3, 0x340
/* 802B0CC8 002ADC28 48 06 4B A5 */ bl __nw__FUlPCcPCc
/* 802B0CCC 002ADC2C 7C 7C 1B 79 */ or. r28, r3, r3
/* 802B0CD0 002ADC30 41 82 00 3C */ beq lbl_802B0D0C
/* 802B0CD4 002ADC34 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B0CD8 002ADC38 38 61 00 2C */ addi r3, r1, 0x2c
/* 802B0CDC 002ADC3C 38 84 00 44 */ addi r4, r4, 0x44
/* 802B0CE0 002ADC40 48 09 01 C9 */ bl __ct__6CTokenFRC6CToken
/* 802B0CE4 002ADC44 28 1D 00 00 */ cmplwi r29, 0
/* 802B0CE8 002ADC48 7F 83 E3 78 */ mr r3, r28
/* 802B0CEC 002ADC4C 38 81 00 2C */ addi r4, r1, 0x2c
/* 802B0CF0 002ADC50 3B 40 00 01 */ li r26, 1
/* 802B0CF4 002ADC54 38 A0 00 00 */ li r5, 0
/* 802B0CF8 002ADC58 38 C0 00 01 */ li r6, 1
/* 802B0CFC 002ADC5C 41 82 00 08 */ beq lbl_802B0D04
/* 802B0D00 002ADC60 38 C0 00 02 */ li r6, 2
lbl_802B0D04:
/* 802B0D04 002ADC64 48 06 E6 DD */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 802B0D08 002ADC68 7C 7C 1B 78 */ mr r28, r3
lbl_802B0D0C:
/* 802B0D0C 002ADC6C 7F 40 07 75 */ extsb. r0, r26
/* 802B0D10 002ADC70 93 9F 01 00 */ stw r28, 0x100(r31)
/* 802B0D14 002ADC74 41 82 00 10 */ beq lbl_802B0D24
/* 802B0D18 002ADC78 38 61 00 2C */ addi r3, r1, 0x2c
/* 802B0D1C 002ADC7C 38 80 00 00 */ li r4, 0
/* 802B0D20 002ADC80 48 09 01 21 */ bl __dt__6CTokenFv
lbl_802B0D24:
/* 802B0D24 002ADC84 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 802B0D28 002ADC88 7F C4 F3 78 */ mr r4, r30
/* 802B0D2C 002ADC8C 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0D30 002ADC90 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802B0D34 002ADC94 7D 89 03 A6 */ mtctr r12
/* 802B0D38 002ADC98 4E 80 04 21 */ bctrl
lbl_802B0D3C:
/* 802B0D3C 002ADC9C 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0D40 002ADCA0 88 03 00 60 */ lbz r0, 0x60(r3)
/* 802B0D44 002ADCA4 28 00 00 00 */ cmplwi r0, 0
/* 802B0D48 002ADCA8 41 82 00 7C */ beq lbl_802B0DC4
/* 802B0D4C 002ADCAC 3C 60 80 3D */ lis r3, lbl_803D6188@ha
/* 802B0D50 002ADCB0 3B 40 00 00 */ li r26, 0
/* 802B0D54 002ADCB4 38 83 61 88 */ addi r4, r3, lbl_803D6188@l
/* 802B0D58 002ADCB8 38 A0 00 00 */ li r5, 0
/* 802B0D5C 002ADCBC 38 60 02 10 */ li r3, 0x210
/* 802B0D60 002ADCC0 48 06 4B 0D */ bl __nw__FUlPCcPCc
/* 802B0D64 002ADCC4 7C 7C 1B 79 */ or. r28, r3, r3
/* 802B0D68 002ADCC8 41 82 00 2C */ beq lbl_802B0D94
/* 802B0D6C 002ADCCC 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B0D70 002ADCD0 38 61 00 24 */ addi r3, r1, 0x24
/* 802B0D74 002ADCD4 38 84 00 54 */ addi r4, r4, 0x54
/* 802B0D78 002ADCD8 48 09 01 31 */ bl __ct__6CTokenFRC6CToken
/* 802B0D7C 002ADCDC 7F 83 E3 78 */ mr r3, r28
/* 802B0D80 002ADCE0 38 81 00 24 */ addi r4, r1, 0x24
/* 802B0D84 002ADCE4 3B 40 00 01 */ li r26, 1
/* 802B0D88 002ADCE8 38 A0 00 00 */ li r5, 0
/* 802B0D8C 002ADCEC 48 07 E0 59 */ bl "__ct__15CParticleSwooshF28TToken<18CSwooshDescription>i"
/* 802B0D90 002ADCF0 7C 7C 1B 78 */ mr r28, r3
lbl_802B0D94:
/* 802B0D94 002ADCF4 7F 40 07 75 */ extsb. r0, r26
/* 802B0D98 002ADCF8 93 9F 01 18 */ stw r28, 0x118(r31)
/* 802B0D9C 002ADCFC 41 82 00 10 */ beq lbl_802B0DAC
/* 802B0DA0 002ADD00 38 61 00 24 */ addi r3, r1, 0x24
/* 802B0DA4 002ADD04 38 80 00 00 */ li r4, 0
/* 802B0DA8 002ADD08 48 09 00 99 */ bl __dt__6CTokenFv
lbl_802B0DAC:
/* 802B0DAC 002ADD0C 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 802B0DB0 002ADD10 7F C4 F3 78 */ mr r4, r30
/* 802B0DB4 002ADD14 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0DB8 002ADD18 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802B0DBC 002ADD1C 7D 89 03 A6 */ mtctr r12
/* 802B0DC0 002ADD20 4E 80 04 21 */ bctrl
lbl_802B0DC4:
/* 802B0DC4 002ADD24 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0DC8 002ADD28 88 03 00 70 */ lbz r0, 0x70(r3)
/* 802B0DCC 002ADD2C 28 00 00 00 */ cmplwi r0, 0
/* 802B0DD0 002ADD30 41 82 00 7C */ beq lbl_802B0E4C
/* 802B0DD4 002ADD34 3C 60 80 3D */ lis r3, lbl_803D6188@ha
/* 802B0DD8 002ADD38 3B 40 00 00 */ li r26, 0
/* 802B0DDC 002ADD3C 38 83 61 88 */ addi r4, r3, lbl_803D6188@l
/* 802B0DE0 002ADD40 38 A0 00 00 */ li r5, 0
/* 802B0DE4 002ADD44 38 60 02 10 */ li r3, 0x210
/* 802B0DE8 002ADD48 48 06 4A 85 */ bl __nw__FUlPCcPCc
/* 802B0DEC 002ADD4C 7C 7C 1B 79 */ or. r28, r3, r3
/* 802B0DF0 002ADD50 41 82 00 2C */ beq lbl_802B0E1C
/* 802B0DF4 002ADD54 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B0DF8 002ADD58 38 61 00 1C */ addi r3, r1, 0x1c
/* 802B0DFC 002ADD5C 38 84 00 64 */ addi r4, r4, 0x64
/* 802B0E00 002ADD60 48 09 00 A9 */ bl __ct__6CTokenFRC6CToken
/* 802B0E04 002ADD64 7F 83 E3 78 */ mr r3, r28
/* 802B0E08 002ADD68 38 81 00 1C */ addi r4, r1, 0x1c
/* 802B0E0C 002ADD6C 3B 40 00 01 */ li r26, 1
/* 802B0E10 002ADD70 38 A0 00 00 */ li r5, 0
/* 802B0E14 002ADD74 48 07 DF D1 */ bl "__ct__15CParticleSwooshF28TToken<18CSwooshDescription>i"
/* 802B0E18 002ADD78 7C 7C 1B 78 */ mr r28, r3
lbl_802B0E1C:
/* 802B0E1C 002ADD7C 7F 40 07 75 */ extsb. r0, r26
/* 802B0E20 002ADD80 93 9F 01 1C */ stw r28, 0x11c(r31)
/* 802B0E24 002ADD84 41 82 00 10 */ beq lbl_802B0E34
/* 802B0E28 002ADD88 38 61 00 1C */ addi r3, r1, 0x1c
/* 802B0E2C 002ADD8C 38 80 00 00 */ li r4, 0
/* 802B0E30 002ADD90 48 09 00 11 */ bl __dt__6CTokenFv
lbl_802B0E34:
/* 802B0E34 002ADD94 80 7F 01 1C */ lwz r3, 0x11c(r31)
/* 802B0E38 002ADD98 7F C4 F3 78 */ mr r4, r30
/* 802B0E3C 002ADD9C 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0E40 002ADDA0 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802B0E44 002ADDA4 7D 89 03 A6 */ mtctr r12
/* 802B0E48 002ADDA8 4E 80 04 21 */ bctrl
lbl_802B0E4C:
/* 802B0E4C 002ADDAC 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0E50 002ADDB0 88 03 00 80 */ lbz r0, 0x80(r3)
/* 802B0E54 002ADDB4 28 00 00 00 */ cmplwi r0, 0
/* 802B0E58 002ADDB8 41 82 00 7C */ beq lbl_802B0ED4
/* 802B0E5C 002ADDBC 3C 60 80 3D */ lis r3, lbl_803D6188@ha
/* 802B0E60 002ADDC0 3B 40 00 00 */ li r26, 0
/* 802B0E64 002ADDC4 38 83 61 88 */ addi r4, r3, lbl_803D6188@l
/* 802B0E68 002ADDC8 38 A0 00 00 */ li r5, 0
/* 802B0E6C 002ADDCC 38 60 02 10 */ li r3, 0x210
/* 802B0E70 002ADDD0 48 06 49 FD */ bl __nw__FUlPCcPCc
/* 802B0E74 002ADDD4 7C 7C 1B 79 */ or. r28, r3, r3
/* 802B0E78 002ADDD8 41 82 00 2C */ beq lbl_802B0EA4
/* 802B0E7C 002ADDDC 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B0E80 002ADDE0 38 61 00 14 */ addi r3, r1, 0x14
/* 802B0E84 002ADDE4 38 84 00 74 */ addi r4, r4, 0x74
/* 802B0E88 002ADDE8 48 09 00 21 */ bl __ct__6CTokenFRC6CToken
/* 802B0E8C 002ADDEC 7F 83 E3 78 */ mr r3, r28
/* 802B0E90 002ADDF0 38 81 00 14 */ addi r4, r1, 0x14
/* 802B0E94 002ADDF4 3B 40 00 01 */ li r26, 1
/* 802B0E98 002ADDF8 38 A0 00 00 */ li r5, 0
/* 802B0E9C 002ADDFC 48 07 DF 49 */ bl "__ct__15CParticleSwooshF28TToken<18CSwooshDescription>i"
/* 802B0EA0 002ADE00 7C 7C 1B 78 */ mr r28, r3
lbl_802B0EA4:
/* 802B0EA4 002ADE04 7F 40 07 75 */ extsb. r0, r26
/* 802B0EA8 002ADE08 93 9F 01 20 */ stw r28, 0x120(r31)
/* 802B0EAC 002ADE0C 41 82 00 10 */ beq lbl_802B0EBC
/* 802B0EB0 002ADE10 38 61 00 14 */ addi r3, r1, 0x14
/* 802B0EB4 002ADE14 38 80 00 00 */ li r4, 0
/* 802B0EB8 002ADE18 48 08 FF 89 */ bl __dt__6CTokenFv
lbl_802B0EBC:
/* 802B0EBC 002ADE1C 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 802B0EC0 002ADE20 7F C4 F3 78 */ mr r4, r30
/* 802B0EC4 002ADE24 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0EC8 002ADE28 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802B0ECC 002ADE2C 7D 89 03 A6 */ mtctr r12
/* 802B0ED0 002ADE30 4E 80 04 21 */ bctrl
lbl_802B0ED4:
/* 802B0ED4 002ADE34 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0ED8 002ADE38 80 63 00 14 */ lwz r3, 0x14(r3)
/* 802B0EDC 002ADE3C 28 03 00 00 */ cmplwi r3, 0
/* 802B0EE0 002ADE40 41 82 00 20 */ beq lbl_802B0F00
/* 802B0EE4 002ADE44 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0EE8 002ADE48 38 BF 00 E8 */ addi r5, r31, 0xe8
/* 802B0EEC 002ADE4C 38 80 00 00 */ li r4, 0
/* 802B0EF0 002ADE50 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0EF4 002ADE54 7D 89 03 A6 */ mtctr r12
/* 802B0EF8 002ADE58 4E 80 04 21 */ bctrl
/* 802B0EFC 002ADE5C 48 00 00 10 */ b lbl_802B0F0C
lbl_802B0F00:
/* 802B0F00 002ADE60 3C 60 00 80 */ lis r3, 0x007FFFFF@ha
/* 802B0F04 002ADE64 38 03 FF FF */ addi r0, r3, 0x007FFFFF@l
/* 802B0F08 002ADE68 90 1F 00 E8 */ stw r0, 0xe8(r31)
lbl_802B0F0C:
/* 802B0F0C 002ADE6C 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0F10 002ADE70 80 63 00 04 */ lwz r3, 4(r3)
/* 802B0F14 002ADE74 28 03 00 00 */ cmplwi r3, 0
/* 802B0F18 002ADE78 41 82 00 1C */ beq lbl_802B0F34
/* 802B0F1C 002ADE7C 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0F20 002ADE80 38 BF 00 B0 */ addi r5, r31, 0xb0
/* 802B0F24 002ADE84 38 80 00 00 */ li r4, 0
/* 802B0F28 002ADE88 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0F2C 002ADE8C 7D 89 03 A6 */ mtctr r12
/* 802B0F30 002ADE90 4E 80 04 21 */ bctrl
lbl_802B0F34:
/* 802B0F34 002ADE94 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0F38 002ADE98 80 03 00 00 */ lwz r0, 0(r3)
/* 802B0F3C 002ADE9C 28 00 00 00 */ cmplwi r0, 0
/* 802B0F40 002ADEA0 41 82 00 A8 */ beq lbl_802B0FE8
/* 802B0F44 002ADEA4 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 802B0F48 002ADEA8 38 61 00 54 */ addi r3, r1, 0x54
/* 802B0F4C 002ADEAC 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 802B0F50 002ADEB0 48 06 1C 25 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802B0F54 002ADEB4 C0 02 C1 F0 */ lfs f0, lbl_805ADF10@sda21(r2)
/* 802B0F58 002ADEB8 38 A1 00 3C */ addi r5, r1, 0x3c
/* 802B0F5C 002ADEBC 38 80 00 00 */ li r4, 0
/* 802B0F60 002ADEC0 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 802B0F64 002ADEC4 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 802B0F68 002ADEC8 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 802B0F6C 002ADECC 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0F70 002ADED0 80 63 00 00 */ lwz r3, 0(r3)
/* 802B0F74 002ADED4 81 83 00 00 */ lwz r12, 0(r3)
/* 802B0F78 002ADED8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B0F7C 002ADEDC 7D 89 03 A6 */ mtctr r12
/* 802B0F80 002ADEE0 4E 80 04 21 */ bctrl
/* 802B0F84 002ADEE4 C0 22 C2 18 */ lfs f1, lbl_805ADF38@sda21(r2)
/* 802B0F88 002ADEE8 38 61 00 54 */ addi r3, r1, 0x54
/* 802B0F8C 002ADEEC C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 802B0F90 002ADEF0 38 81 00 10 */ addi r4, r1, 0x10
/* 802B0F94 002ADEF4 EC 01 00 32 */ fmuls f0, f1, f0
/* 802B0F98 002ADEF8 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802B0F9C 002ADEFC 48 06 27 59 */ bl RotateLocalX__12CTransform4fFRC9CRelAngle
/* 802B0FA0 002ADF00 C0 22 C2 18 */ lfs f1, lbl_805ADF38@sda21(r2)
/* 802B0FA4 002ADF04 38 61 00 54 */ addi r3, r1, 0x54
/* 802B0FA8 002ADF08 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 802B0FAC 002ADF0C 38 81 00 0C */ addi r4, r1, 0xc
/* 802B0FB0 002ADF10 EC 01 00 32 */ fmuls f0, f1, f0
/* 802B0FB4 002ADF14 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 802B0FB8 002ADF18 48 06 26 21 */ bl RotateLocalY__12CTransform4fFRC9CRelAngle
/* 802B0FBC 002ADF1C C0 22 C2 18 */ lfs f1, lbl_805ADF38@sda21(r2)
/* 802B0FC0 002ADF20 38 61 00 54 */ addi r3, r1, 0x54
/* 802B0FC4 002ADF24 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 802B0FC8 002ADF28 38 81 00 08 */ addi r4, r1, 8
/* 802B0FCC 002ADF2C EC 01 00 32 */ fmuls f0, f1, f0
/* 802B0FD0 002ADF30 D0 01 00 08 */ stfs f0, 8(r1)
/* 802B0FD4 002ADF34 48 06 24 E9 */ bl RotateLocalZ__12CTransform4fFRC9CRelAngle
/* 802B0FD8 002ADF38 7F E3 FB 78 */ mr r3, r31
/* 802B0FDC 002ADF3C 38 81 00 54 */ addi r4, r1, 0x54
/* 802B0FE0 002ADF40 4B FF F5 21 */ bl SetRelativeOrientation__17CProjectileWeaponFRC12CTransform4f
/* 802B0FE4 002ADF44 48 00 00 14 */ b lbl_802B0FF8
lbl_802B0FE8:
/* 802B0FE8 002ADF48 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 802B0FEC 002ADF4C 7F E3 FB 78 */ mr r3, r31
/* 802B0FF0 002ADF50 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 802B0FF4 002ADF54 4B FF F5 0D */ bl SetRelativeOrientation__17CProjectileWeaponFRC12CTransform4f
lbl_802B0FF8:
/* 802B0FF8 002ADF58 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802B0FFC 002ADF5C 88 03 00 90 */ lbz r0, 0x90(r3)
/* 802B1000 002ADF60 28 00 00 00 */ cmplwi r0, 0
/* 802B1004 002ADF64 41 82 00 5C */ beq lbl_802B1060
/* 802B1008 002ADF68 88 1F 01 14 */ lbz r0, 0x114(r31)
/* 802B100C 002ADF6C 3B A3 00 84 */ addi r29, r3, 0x84
/* 802B1010 002ADF70 28 00 00 00 */ cmplwi r0, 0
/* 802B1014 002ADF74 40 82 00 34 */ bne lbl_802B1048
/* 802B1018 002ADF78 37 9F 01 08 */ addic. r28, r31, 0x108
/* 802B101C 002ADF7C 41 82 00 20 */ beq lbl_802B103C
/* 802B1020 002ADF80 7F 83 E3 78 */ mr r3, r28
/* 802B1024 002ADF84 7F A4 EB 78 */ mr r4, r29
/* 802B1028 002ADF88 48 08 FE 81 */ bl __ct__6CTokenFRC6CToken
/* 802B102C 002ADF8C 80 1D 00 08 */ lwz r0, 8(r29)
/* 802B1030 002ADF90 7F 83 E3 78 */ mr r3, r28
/* 802B1034 002ADF94 90 1C 00 08 */ stw r0, 8(r28)
/* 802B1038 002ADF98 48 08 FD 4D */ bl Lock__6CTokenFv
lbl_802B103C:
/* 802B103C 002ADF9C 38 00 00 01 */ li r0, 1
/* 802B1040 002ADFA0 98 1F 01 14 */ stb r0, 0x114(r31)
/* 802B1044 002ADFA4 48 00 00 1C */ b lbl_802B1060
lbl_802B1048:
/* 802B1048 002ADFA8 3B 9F 01 08 */ addi r28, r31, 0x108
/* 802B104C 002ADFAC 7F A4 EB 78 */ mr r4, r29
/* 802B1050 002ADFB0 7F 83 E3 78 */ mr r3, r28
/* 802B1054 002ADFB4 48 08 FC 71 */ bl __as__6CTokenFRC6CToken
/* 802B1058 002ADFB8 80 1D 00 08 */ lwz r0, 8(r29)
/* 802B105C 002ADFBC 90 1C 00 08 */ stw r0, 8(r28)
lbl_802B1060:
/* 802B1060 002ADFC0 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B1064 002ADFC4 7F E3 FB 78 */ mr r3, r31
/* 802B1068 002ADFC8 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B106C 002ADFCC 88 84 00 2A */ lbz r4, 0x2a(r4)
/* 802B1070 002ADFD0 C0 22 C1 FC */ lfs f1, lbl_805ADF1C@sda21(r2)
/* 802B1074 002ADFD4 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 802B1078 002ADFD8 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B107C 002ADFDC 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B1080 002ADFE0 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B1084 002ADFE4 88 84 00 2B */ lbz r4, 0x2b(r4)
/* 802B1088 002ADFE8 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b
/* 802B108C 002ADFEC 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B1090 002ADFF0 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B1094 002ADFF4 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B1098 002ADFF8 88 84 00 2C */ lbz r4, 0x2c(r4)
/* 802B109C 002ADFFC 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 802B10A0 002AE000 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B10A4 002AE004 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B10A8 002AE008 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B10AC 002AE00C 88 84 00 2D */ lbz r4, 0x2d(r4)
/* 802B10B0 002AE010 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 802B10B4 002AE014 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B10B8 002AE018 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B10BC 002AE01C 88 1F 01 24 */ lbz r0, 0x124(r31)
/* 802B10C0 002AE020 88 84 00 2E */ lbz r4, 0x2e(r4)
/* 802B10C4 002AE024 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e
/* 802B10C8 002AE028 98 1F 01 24 */ stb r0, 0x124(r31)
/* 802B10CC 002AE02C 4B FF EA 35 */ bl UpdateChildParticleSystems__17CProjectileWeaponFf
/* 802B10D0 002AE030 38 61 00 48 */ addi r3, r1, 0x48
/* 802B10D4 002AE034 38 80 FF FF */ li r4, -1
/* 802B10D8 002AE038 48 06 15 2D */ bl __dt__13CGlobalRandomFv
/* 802B10DC 002AE03C 7F E3 FB 78 */ mr r3, r31
/* 802B10E0 002AE040 BB 41 00 88 */ lmw r26, 0x88(r1)
/* 802B10E4 002AE044 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 802B10E8 002AE048 7C 08 03 A6 */ mtlr r0
/* 802B10EC 002AE04C 38 21 00 A0 */ addi r1, r1, 0xa0
/* 802B10F0 002AE050 4E 80 00 20 */ blr
.global __dt__17IWeaponProjectileFv
__dt__17IWeaponProjectileFv:
/* 802B10F4 002AE054 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B10F8 002AE058 7C 08 02 A6 */ mflr r0
/* 802B10FC 002AE05C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B1100 002AE060 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B1104 002AE064 7C 7F 1B 79 */ or. r31, r3, r3
/* 802B1108 002AE068 41 82 00 1C */ beq lbl_802B1124
/* 802B110C 002AE06C 3C A0 80 3F */ lis r5, lbl_803EC4E8@ha
/* 802B1110 002AE070 7C 80 07 35 */ extsh. r0, r4
/* 802B1114 002AE074 38 05 C4 E8 */ addi r0, r5, lbl_803EC4E8@l
/* 802B1118 002AE078 90 1F 00 00 */ stw r0, 0(r31)
/* 802B111C 002AE07C 40 81 00 08 */ ble lbl_802B1124
/* 802B1120 002AE080 48 06 48 11 */ bl Free__7CMemoryFPCv
lbl_802B1124:
/* 802B1124 002AE084 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B1128 002AE088 7F E3 FB 78 */ mr r3, r31
/* 802B112C 002AE08C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B1130 002AE090 7C 08 03 A6 */ mtlr r0
/* 802B1134 002AE094 38 21 00 10 */ addi r1, r1, 0x10
/* 802B1138 002AE098 4E 80 00 20 */ blr
.global GetTickPeriod__17CProjectileWeaponFv
GetTickPeriod__17CProjectileWeaponFv:
/* 802B113C 002AE09C C0 22 C1 FC */ lfs f1, lbl_805ADF1C@sda21(r2)
/* 802B1140 002AE0A0 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805ADF10
lbl_805ADF10:
# ROM: 0x3FA7B0
.4byte 0
.global lbl_805ADF14
lbl_805ADF14:
# ROM: 0x3FA7B4
.float 2.0
.global lbl_805ADF18
lbl_805ADF18:
# ROM: 0x3FA7B8
.float 1.0
.global lbl_805ADF1C
lbl_805ADF1C:
# ROM: 0x3FA7BC
.4byte 0x3C888889
.global lbl_805ADF20
lbl_805ADF20:
# ROM: 0x3FA7C0
.4byte 0x3F911111
.4byte 0x11111111
.global lbl_805ADF28
lbl_805ADF28:
# ROM: 0x3FA7C8
.4byte 0x3EF179EC
.4byte 0xA0000000
.global lbl_805ADF30
lbl_805ADF30:
# ROM: 0x3FA7D0
.4byte 0
.4byte 0
.global lbl_805ADF38
lbl_805ADF38:
# ROM: 0x3FA7D8
.float 0.017453292
.4byte 0
.global lbl_805ADF40
lbl_805ADF40:
# ROM: 0x3FA7E0
.double 1.0
.global lbl_805ADF48
lbl_805ADF48:
# ROM: 0x3FA7E8
.4byte 0x3F911111
.4byte 0x20000000
.global lbl_805ADF50
lbl_805ADF50:
# ROM: 0x3FA7F0
.4byte 0x3EF179EC
.4byte 0x9CBD821E
.global lbl_805ADF58
lbl_805ADF58:
# ROM: 0x3FA7F8
.double 4.503601774854144E15
.section .rodata
.balign 8
.global lbl_803D6188
lbl_803D6188:
# ROM: 0x3D3188
.asciz "??(??)"
.balign 4