prime/asm/Weapons/CCollisionResponseData.s

1870 lines
84 KiB
ArmAsm

.include "macros.inc"
.section .data
.global lbl_803EC518
lbl_803EC518:
# ROM: 0x3E9518
.4byte 0
.4byte 0
.4byte "__dt__50TObjOwnerDerivedFromIObj<22CCollisionResponseData>Fv"
.4byte 0
.section .text, "ax"
.global FCollisionResponseDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer
FCollisionResponseDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer:
/* 802B2158 002AF0B8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802B215C 002AF0BC 7C 08 02 A6 */ mflr r0
/* 802B2160 002AF0C0 3C 80 80 3D */ lis r4, lbl_803D6540@ha
/* 802B2164 002AF0C4 90 01 00 34 */ stw r0, 0x34(r1)
/* 802B2168 002AF0C8 38 84 65 40 */ addi r4, r4, lbl_803D6540@l
/* 802B216C 002AF0CC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802B2170 002AF0D0 7C 7F 1B 78 */ mr r31, r3
/* 802B2174 002AF0D4 38 60 00 38 */ li r3, 0x38
/* 802B2178 002AF0D8 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802B217C 002AF0DC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802B2180 002AF0E0 7C BD 2B 78 */ mr r29, r5
/* 802B2184 002AF0E4 38 A0 00 00 */ li r5, 0
/* 802B2188 002AF0E8 80 E6 00 00 */ lwz r7, 0(r6)
/* 802B218C 002AF0EC 90 E1 00 08 */ stw r7, 8(r1)
/* 802B2190 002AF0F0 80 C7 00 04 */ lwz r6, 4(r7)
/* 802B2194 002AF0F4 38 06 00 01 */ addi r0, r6, 1
/* 802B2198 002AF0F8 90 07 00 04 */ stw r0, 4(r7)
/* 802B219C 002AF0FC 80 C1 00 08 */ lwz r6, 8(r1)
/* 802B21A0 002AF100 80 C6 00 00 */ lwz r6, 0(r6)
/* 802B21A4 002AF104 83 C6 00 04 */ lwz r30, 4(r6)
/* 802B21A8 002AF108 48 06 36 C5 */ bl __nw__FUlPCcPCc
/* 802B21AC 002AF10C 7C 64 1B 79 */ or. r4, r3, r3
/* 802B21B0 002AF110 41 82 00 14 */ beq lbl_802B21C4
/* 802B21B4 002AF114 7F A4 EB 78 */ mr r4, r29
/* 802B21B8 002AF118 7F C5 F3 78 */ mr r5, r30
/* 802B21BC 002AF11C 48 00 0C 7D */ bl __ct__22CCollisionResponseDataFR12CInputStreamP11CSimplePool
/* 802B21C0 002AF120 7C 64 1B 78 */ mr r4, r3
lbl_802B21C4:
/* 802B21C4 002AF124 7C 04 00 D0 */ neg r0, r4
/* 802B21C8 002AF128 90 81 00 10 */ stw r4, 0x10(r1)
/* 802B21CC 002AF12C 7C 00 23 78 */ or r0, r0, r4
/* 802B21D0 002AF130 38 61 00 14 */ addi r3, r1, 0x14
/* 802B21D4 002AF134 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802B21D8 002AF138 38 81 00 0C */ addi r4, r1, 0xc
/* 802B21DC 002AF13C 98 01 00 0C */ stb r0, 0xc(r1)
/* 802B21E0 002AF140 48 00 01 1D */ bl "GetIObjObjectFor__32TToken<22CCollisionResponseData>FRCQ24rstl34auto_ptr<22CCollisionResponseData>"
/* 802B21E4 002AF144 80 61 00 18 */ lwz r3, 0x18(r1)
/* 802B21E8 002AF148 38 00 00 00 */ li r0, 0
/* 802B21EC 002AF14C 98 01 00 14 */ stb r0, 0x14(r1)
/* 802B21F0 002AF150 7C 03 00 D0 */ neg r0, r3
/* 802B21F4 002AF154 7C 00 1B 78 */ or r0, r0, r3
/* 802B21F8 002AF158 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802B21FC 002AF15C 98 1F 00 00 */ stb r0, 0(r31)
/* 802B2200 002AF160 90 7F 00 04 */ stw r3, 4(r31)
/* 802B2204 002AF164 88 01 00 14 */ lbz r0, 0x14(r1)
/* 802B2208 002AF168 28 00 00 00 */ cmplwi r0, 0
/* 802B220C 002AF16C 41 82 00 24 */ beq lbl_802B2230
/* 802B2210 002AF170 80 61 00 18 */ lwz r3, 0x18(r1)
/* 802B2214 002AF174 28 03 00 00 */ cmplwi r3, 0
/* 802B2218 002AF178 41 82 00 18 */ beq lbl_802B2230
/* 802B221C 002AF17C 81 83 00 00 */ lwz r12, 0(r3)
/* 802B2220 002AF180 38 80 00 01 */ li r4, 1
/* 802B2224 002AF184 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B2228 002AF188 7D 89 03 A6 */ mtctr r12
/* 802B222C 002AF18C 4E 80 04 21 */ bctrl
lbl_802B2230:
/* 802B2230 002AF190 88 01 00 0C */ lbz r0, 0xc(r1)
/* 802B2234 002AF194 28 00 00 00 */ cmplwi r0, 0
/* 802B2238 002AF198 41 82 00 10 */ beq lbl_802B2248
/* 802B223C 002AF19C 80 61 00 10 */ lwz r3, 0x10(r1)
/* 802B2240 002AF1A0 38 80 00 01 */ li r4, 1
/* 802B2244 002AF1A4 48 00 04 BD */ bl sub_802b2700
lbl_802B2248:
/* 802B2248 002AF1A8 38 61 00 08 */ addi r3, r1, 8
/* 802B224C 002AF1AC 4B D8 20 B9 */ bl sub_80034304
/* 802B2250 002AF1B0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B2254 002AF1B4 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802B2258 002AF1B8 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802B225C 002AF1BC 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802B2260 002AF1C0 7C 08 03 A6 */ mtlr r0
/* 802B2264 002AF1C4 38 21 00 30 */ addi r1, r1, 0x30
/* 802B2268 002AF1C8 4E 80 00 20 */ blr
.global "__dt__50TObjOwnerDerivedFromIObj<22CCollisionResponseData>Fv"
"__dt__50TObjOwnerDerivedFromIObj<22CCollisionResponseData>Fv":
/* 802B226C 002AF1CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B2270 002AF1D0 7C 08 02 A6 */ mflr r0
/* 802B2274 002AF1D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B2278 002AF1D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B227C 002AF1DC 7C 9F 23 78 */ mr r31, r4
/* 802B2280 002AF1E0 93 C1 00 08 */ stw r30, 8(r1)
/* 802B2284 002AF1E4 7C 7E 1B 79 */ or. r30, r3, r3
/* 802B2288 002AF1E8 41 82 00 58 */ beq lbl_802B22E0
/* 802B228C 002AF1EC 3C 60 80 3F */ lis r3, lbl_803EC518@ha
/* 802B2290 002AF1F0 38 03 C5 18 */ addi r0, r3, lbl_803EC518@l
/* 802B2294 002AF1F4 90 1E 00 00 */ stw r0, 0(r30)
/* 802B2298 002AF1F8 80 7E 00 04 */ lwz r3, 4(r30)
/* 802B229C 002AF1FC 28 03 00 00 */ cmplwi r3, 0
/* 802B22A0 002AF200 41 82 00 0C */ beq lbl_802B22AC
/* 802B22A4 002AF204 38 80 00 01 */ li r4, 1
/* 802B22A8 002AF208 48 00 04 59 */ bl sub_802b2700
lbl_802B22AC:
/* 802B22AC 002AF20C 28 1E 00 00 */ cmplwi r30, 0
/* 802B22B0 002AF210 41 82 00 20 */ beq lbl_802B22D0
/* 802B22B4 002AF214 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha
/* 802B22B8 002AF218 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l
/* 802B22BC 002AF21C 90 1E 00 00 */ stw r0, 0(r30)
/* 802B22C0 002AF220 41 82 00 10 */ beq lbl_802B22D0
/* 802B22C4 002AF224 3C 60 80 3E */ lis r3, __vt__4IObj@ha
/* 802B22C8 002AF228 38 03 8D 6C */ addi r0, r3, __vt__4IObj@l
/* 802B22CC 002AF22C 90 1E 00 00 */ stw r0, 0(r30)
lbl_802B22D0:
/* 802B22D0 002AF230 7F E0 07 35 */ extsh. r0, r31
/* 802B22D4 002AF234 40 81 00 0C */ ble lbl_802B22E0
/* 802B22D8 002AF238 7F C3 F3 78 */ mr r3, r30
/* 802B22DC 002AF23C 48 06 36 55 */ bl Free__7CMemoryFPCv
lbl_802B22E0:
/* 802B22E0 002AF240 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B22E4 002AF244 7F C3 F3 78 */ mr r3, r30
/* 802B22E8 002AF248 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B22EC 002AF24C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802B22F0 002AF250 7C 08 03 A6 */ mtlr r0
/* 802B22F4 002AF254 38 21 00 10 */ addi r1, r1, 0x10
/* 802B22F8 002AF258 4E 80 00 20 */ blr
.global "GetIObjObjectFor__32TToken<22CCollisionResponseData>FRCQ24rstl34auto_ptr<22CCollisionResponseData>"
"GetIObjObjectFor__32TToken<22CCollisionResponseData>FRCQ24rstl34auto_ptr<22CCollisionResponseData>":
/* 802B22FC 002AF25C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B2300 002AF260 7C 08 02 A6 */ mflr r0
/* 802B2304 002AF264 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B2308 002AF268 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B230C 002AF26C 7C 7F 1B 78 */ mr r31, r3
/* 802B2310 002AF270 48 00 00 19 */ bl "GetNewDerivedObject__50TObjOwnerDerivedFromIObj<22CCollisionResponseData>FRCQ24rstl34auto_ptr<22CCollisionResponseData>"
/* 802B2314 002AF274 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B2318 002AF278 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B231C 002AF27C 7C 08 03 A6 */ mtlr r0
/* 802B2320 002AF280 38 21 00 10 */ addi r1, r1, 0x10
/* 802B2324 002AF284 4E 80 00 20 */ blr
.global "GetNewDerivedObject__50TObjOwnerDerivedFromIObj<22CCollisionResponseData>FRCQ24rstl34auto_ptr<22CCollisionResponseData>"
"GetNewDerivedObject__50TObjOwnerDerivedFromIObj<22CCollisionResponseData>FRCQ24rstl34auto_ptr<22CCollisionResponseData>":
/* 802B2328 002AF288 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B232C 002AF28C 7C 08 02 A6 */ mflr r0
/* 802B2330 002AF290 3C A0 80 3D */ lis r5, lbl_803D6540@ha
/* 802B2334 002AF294 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B2338 002AF298 38 05 65 40 */ addi r0, r5, lbl_803D6540@l
/* 802B233C 002AF29C 38 A0 00 00 */ li r5, 0
/* 802B2340 002AF2A0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B2344 002AF2A4 7C 9F 23 78 */ mr r31, r4
/* 802B2348 002AF2A8 7C 04 03 78 */ mr r4, r0
/* 802B234C 002AF2AC 93 C1 00 08 */ stw r30, 8(r1)
/* 802B2350 002AF2B0 7C 7E 1B 78 */ mr r30, r3
/* 802B2354 002AF2B4 38 60 00 08 */ li r3, 8
/* 802B2358 002AF2B8 48 06 35 15 */ bl __nw__FUlPCcPCc
/* 802B235C 002AF2BC 28 03 00 00 */ cmplwi r3, 0
/* 802B2360 002AF2C0 41 82 00 38 */ beq lbl_802B2398
/* 802B2364 002AF2C4 3C 80 80 3E */ lis r4, __vt__4IObj@ha
/* 802B2368 002AF2C8 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha
/* 802B236C 002AF2CC 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l
/* 802B2370 002AF2D0 3C 80 80 3F */ lis r4, lbl_803EC518@ha
/* 802B2374 002AF2D4 90 03 00 00 */ stw r0, 0(r3)
/* 802B2378 002AF2D8 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l
/* 802B237C 002AF2DC 38 A0 00 00 */ li r5, 0
/* 802B2380 002AF2E0 38 04 C5 18 */ addi r0, r4, lbl_803EC518@l
/* 802B2384 002AF2E4 90 C3 00 00 */ stw r6, 0(r3)
/* 802B2388 002AF2E8 98 BF 00 00 */ stb r5, 0(r31)
/* 802B238C 002AF2EC 80 9F 00 04 */ lwz r4, 4(r31)
/* 802B2390 002AF2F0 90 83 00 04 */ stw r4, 4(r3)
/* 802B2394 002AF2F4 90 03 00 00 */ stw r0, 0(r3)
lbl_802B2398:
/* 802B2398 002AF2F8 7C 03 00 D0 */ neg r0, r3
/* 802B239C 002AF2FC 7C 00 1B 78 */ or r0, r0, r3
/* 802B23A0 002AF300 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802B23A4 002AF304 98 1E 00 00 */ stb r0, 0(r30)
/* 802B23A8 002AF308 90 7E 00 04 */ stw r3, 4(r30)
/* 802B23AC 002AF30C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B23B0 002AF310 83 C1 00 08 */ lwz r30, 8(r1)
/* 802B23B4 002AF314 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B23B8 002AF318 7C 08 03 A6 */ mtlr r0
/* 802B23BC 002AF31C 38 21 00 10 */ addi r1, r1, 0x10
/* 802B23C0 002AF320 4E 80 00 20 */ blr
.global GetWorldCollisionResponseType__22CCollisionResponseDataFi
GetWorldCollisionResponseType__22CCollisionResponseDataFi:
/* 802B23C4 002AF324 2C 03 00 00 */ cmpwi r3, 0
/* 802B23C8 002AF328 41 80 00 20 */ blt lbl_802B23E8
/* 802B23CC 002AF32C 2C 03 00 20 */ cmpwi r3, 0x20
/* 802B23D0 002AF330 40 80 00 18 */ bge lbl_802B23E8
/* 802B23D4 002AF334 3C 80 80 3D */ lis r4, lbl_803D6198@ha
/* 802B23D8 002AF338 54 60 10 3A */ slwi r0, r3, 2
/* 802B23DC 002AF33C 38 64 61 98 */ addi r3, r4, lbl_803D6198@l
/* 802B23E0 002AF340 7C 63 00 2E */ lwzx r3, r3, r0
/* 802B23E4 002AF344 4E 80 00 20 */ blr
lbl_802B23E8:
/* 802B23E8 002AF348 38 60 00 01 */ li r3, 1
/* 802B23EC 002AF34C 4E 80 00 20 */ blr
.global GetAudibleFallOff__22CCollisionResponseDataCFv
GetAudibleFallOff__22CCollisionResponseDataCFv:
/* 802B23F0 002AF350 C0 23 00 34 */ lfs f1, 0x34(r3)
/* 802B23F4 002AF354 4E 80 00 20 */ blr
.global GetAudibleRange__22CCollisionResponseDataCFv
GetAudibleRange__22CCollisionResponseDataCFv:
/* 802B23F8 002AF358 C0 23 00 30 */ lfs f1, 0x30(r3)
/* 802B23FC 002AF35C 4E 80 00 20 */ blr
.global ResponseTypeIsEnemySpecial__22CCollisionResponseDataF29EWeaponCollisionResponseTypes
ResponseTypeIsEnemySpecial__22CCollisionResponseDataF29EWeaponCollisionResponseTypes:
/* 802B2400 002AF360 2C 03 00 2C */ cmpwi r3, 0x2c
/* 802B2404 002AF364 41 80 00 14 */ blt lbl_802B2418
/* 802B2408 002AF368 2C 03 00 44 */ cmpwi r3, 0x44
/* 802B240C 002AF36C 41 81 00 0C */ bgt lbl_802B2418
/* 802B2410 002AF370 38 60 00 01 */ li r3, 1
/* 802B2414 002AF374 4E 80 00 20 */ blr
lbl_802B2418:
/* 802B2418 002AF378 38 60 00 00 */ li r3, 0
/* 802B241C 002AF37C 4E 80 00 20 */ blr
.global ResponseTypeIsEnemyNormal__22CCollisionResponseDataF29EWeaponCollisionResponseTypes
ResponseTypeIsEnemyNormal__22CCollisionResponseDataF29EWeaponCollisionResponseTypes:
/* 802B2420 002AF380 2C 03 00 13 */ cmpwi r3, 0x13
/* 802B2424 002AF384 41 80 00 14 */ blt lbl_802B2438
/* 802B2428 002AF388 2C 03 00 2B */ cmpwi r3, 0x2b
/* 802B242C 002AF38C 41 81 00 0C */ bgt lbl_802B2438
/* 802B2430 002AF390 38 60 00 01 */ li r3, 1
/* 802B2434 002AF394 4E 80 00 20 */ blr
lbl_802B2438:
/* 802B2438 002AF398 38 60 00 00 */ li r3, 0
/* 802B243C 002AF39C 4E 80 00 20 */ blr
.global ResponseTypeIsEnemyShielded__22CCollisionResponseDataF29EWeaponCollisionResponseTypes
ResponseTypeIsEnemyShielded__22CCollisionResponseDataF29EWeaponCollisionResponseTypes:
/* 802B2440 002AF3A0 2C 03 00 45 */ cmpwi r3, 0x45
/* 802B2444 002AF3A4 41 80 00 14 */ blt lbl_802B2458
/* 802B2448 002AF3A8 2C 03 00 5D */ cmpwi r3, 0x5d
/* 802B244C 002AF3AC 41 81 00 0C */ bgt lbl_802B2458
/* 802B2450 002AF3B0 38 60 00 01 */ li r3, 1
/* 802B2454 002AF3B4 4E 80 00 20 */ blr
lbl_802B2458:
/* 802B2458 002AF3B8 38 60 00 00 */ li r3, 0
/* 802B245C 002AF3BC 4E 80 00 20 */ blr
.global GetDecalDescription__22CCollisionResponseDataCF29EWeaponCollisionResponseTypes
GetDecalDescription__22CCollisionResponseDataCF29EWeaponCollisionResponseTypes:
/* 802B2460 002AF3C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B2464 002AF3C4 7C 08 02 A6 */ mflr r0
/* 802B2468 002AF3C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B246C 002AF3CC 54 A0 20 36 */ slwi r0, r5, 4
/* 802B2470 002AF3D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B2474 002AF3D4 93 C1 00 08 */ stw r30, 8(r1)
/* 802B2478 002AF3D8 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 802B247C 002AF3DC 7F E4 02 14 */ add r31, r4, r0
/* 802B2480 002AF3E0 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 802B2484 002AF3E4 98 03 00 0C */ stb r0, 0xc(r3)
/* 802B2488 002AF3E8 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 802B248C 002AF3EC 28 00 00 00 */ cmplwi r0, 0
/* 802B2490 002AF3F0 41 82 00 28 */ beq lbl_802B24B8
/* 802B2494 002AF3F4 7C 60 1B 79 */ or. r0, r3, r3
/* 802B2498 002AF3F8 41 82 00 20 */ beq lbl_802B24B8
/* 802B249C 002AF3FC 7C 1E 03 78 */ mr r30, r0
/* 802B24A0 002AF400 7F E4 FB 78 */ mr r4, r31
/* 802B24A4 002AF404 48 08 EA 05 */ bl __ct__6CTokenFRC6CToken
/* 802B24A8 002AF408 80 1F 00 08 */ lwz r0, 8(r31)
/* 802B24AC 002AF40C 7F C3 F3 78 */ mr r3, r30
/* 802B24B0 002AF410 90 1E 00 08 */ stw r0, 8(r30)
/* 802B24B4 002AF414 48 08 E8 D1 */ bl Lock__6CTokenFv
lbl_802B24B8:
/* 802B24B8 002AF418 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B24BC 002AF41C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B24C0 002AF420 83 C1 00 08 */ lwz r30, 8(r1)
/* 802B24C4 002AF424 7C 08 03 A6 */ mtlr r0
/* 802B24C8 002AF428 38 21 00 10 */ addi r1, r1, 0x10
/* 802B24CC 002AF42C 4E 80 00 20 */ blr
.global GetSoundEffectId__22CCollisionResponseDataCF29EWeaponCollisionResponseTypes
GetSoundEffectId__22CCollisionResponseDataCF29EWeaponCollisionResponseTypes:
/* 802B24D0 002AF430 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B24D4 002AF434 7C 08 02 A6 */ mflr r0
/* 802B24D8 002AF438 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B24DC 002AF43C 54 80 10 3A */ slwi r0, r4, 2
/* 802B24E0 002AF440 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B24E4 002AF444 7C 7F 1B 78 */ mr r31, r3
/* 802B24E8 002AF448 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802B24EC 002AF44C 7C 9E 23 78 */ mr r30, r4
/* 802B24F0 002AF450 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B24F4 002AF454 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 802B24F8 002AF458 7C 03 00 2E */ lwzx r0, r3, r0
/* 802B24FC 002AF45C 2C 00 FF FF */ cmpwi r0, -1
/* 802B2500 002AF460 40 82 00 98 */ bne lbl_802B2598
/* 802B2504 002AF464 7F C3 F3 78 */ mr r3, r30
/* 802B2508 002AF468 3B A0 00 00 */ li r29, 0
/* 802B250C 002AF46C 4B FF FF 15 */ bl ResponseTypeIsEnemyNormal__22CCollisionResponseDataF29EWeaponCollisionResponseTypes
/* 802B2510 002AF470 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B2514 002AF474 41 82 00 10 */ beq lbl_802B2524
/* 802B2518 002AF478 3B C0 00 10 */ li r30, 0x10
/* 802B251C 002AF47C 3B A0 00 01 */ li r29, 1
/* 802B2520 002AF480 48 00 00 38 */ b lbl_802B2558
lbl_802B2524:
/* 802B2524 002AF484 7F C3 F3 78 */ mr r3, r30
/* 802B2528 002AF488 4B FF FE D9 */ bl ResponseTypeIsEnemySpecial__22CCollisionResponseDataF29EWeaponCollisionResponseTypes
/* 802B252C 002AF48C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B2530 002AF490 41 82 00 10 */ beq lbl_802B2540
/* 802B2534 002AF494 3B C0 00 11 */ li r30, 0x11
/* 802B2538 002AF498 3B A0 00 01 */ li r29, 1
/* 802B253C 002AF49C 48 00 00 1C */ b lbl_802B2558
lbl_802B2540:
/* 802B2540 002AF4A0 7F C3 F3 78 */ mr r3, r30
/* 802B2544 002AF4A4 4B FF FE FD */ bl ResponseTypeIsEnemyShielded__22CCollisionResponseDataF29EWeaponCollisionResponseTypes
/* 802B2548 002AF4A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B254C 002AF4AC 41 82 00 0C */ beq lbl_802B2558
/* 802B2550 002AF4B0 3B C0 00 12 */ li r30, 0x12
/* 802B2554 002AF4B4 3B A0 00 01 */ li r29, 1
lbl_802B2558:
/* 802B2558 002AF4B8 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 802B255C 002AF4BC 41 82 00 20 */ beq lbl_802B257C
/* 802B2560 002AF4C0 57 C3 20 36 */ slwi r3, r30, 4
/* 802B2564 002AF4C4 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B2568 002AF4C8 38 03 00 0C */ addi r0, r3, 0xc
/* 802B256C 002AF4CC 7C 04 00 AE */ lbzx r0, r4, r0
/* 802B2570 002AF4D0 28 00 00 00 */ cmplwi r0, 0
/* 802B2574 002AF4D4 40 82 00 08 */ bne lbl_802B257C
/* 802B2578 002AF4D8 3B C0 00 10 */ li r30, 0x10
lbl_802B257C:
/* 802B257C 002AF4DC 57 C3 20 36 */ slwi r3, r30, 4
/* 802B2580 002AF4E0 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 802B2584 002AF4E4 38 03 00 0C */ addi r0, r3, 0xc
/* 802B2588 002AF4E8 7C 04 00 AE */ lbzx r0, r4, r0
/* 802B258C 002AF4EC 28 00 00 00 */ cmplwi r0, 0
/* 802B2590 002AF4F0 40 82 00 08 */ bne lbl_802B2598
/* 802B2594 002AF4F4 3B C0 00 01 */ li r30, 1
lbl_802B2598:
/* 802B2598 002AF4F8 80 7F 00 1C */ lwz r3, 0x1c(r31)
/* 802B259C 002AF4FC 57 C0 10 3A */ slwi r0, r30, 2
/* 802B25A0 002AF500 7C 63 00 2E */ lwzx r3, r3, r0
/* 802B25A4 002AF504 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B25A8 002AF508 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802B25AC 002AF50C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802B25B0 002AF510 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B25B4 002AF514 7C 08 03 A6 */ mtlr r0
/* 802B25B8 002AF518 38 21 00 20 */ addi r1, r1, 0x20
/* 802B25BC 002AF51C 4E 80 00 20 */ blr
.global GetParticleDescription__22CCollisionResponseDataCF29EWeaponCollisionResponseTypes
GetParticleDescription__22CCollisionResponseDataCF29EWeaponCollisionResponseTypes:
/* 802B25C0 002AF520 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B25C4 002AF524 7C 08 02 A6 */ mflr r0
/* 802B25C8 002AF528 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B25CC 002AF52C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B25D0 002AF530 7C BF 2B 78 */ mr r31, r5
/* 802B25D4 002AF534 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802B25D8 002AF538 7C 9E 23 78 */ mr r30, r4
/* 802B25DC 002AF53C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B25E0 002AF540 7C 7D 1B 78 */ mr r29, r3
/* 802B25E4 002AF544 93 81 00 10 */ stw r28, 0x10(r1)
/* 802B25E8 002AF548 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 802B25EC 002AF54C 57 E4 20 36 */ slwi r4, r31, 4
/* 802B25F0 002AF550 38 04 00 0C */ addi r0, r4, 0xc
/* 802B25F4 002AF554 7C 05 00 AE */ lbzx r0, r5, r0
/* 802B25F8 002AF558 28 00 00 00 */ cmplwi r0, 0
/* 802B25FC 002AF55C 40 82 00 A0 */ bne lbl_802B269C
/* 802B2600 002AF560 7F E3 FB 78 */ mr r3, r31
/* 802B2604 002AF564 3B 80 00 00 */ li r28, 0
/* 802B2608 002AF568 4B FF FE 19 */ bl ResponseTypeIsEnemyNormal__22CCollisionResponseDataF29EWeaponCollisionResponseTypes
/* 802B260C 002AF56C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B2610 002AF570 41 82 00 10 */ beq lbl_802B2620
/* 802B2614 002AF574 3B E0 00 10 */ li r31, 0x10
/* 802B2618 002AF578 3B 80 00 01 */ li r28, 1
/* 802B261C 002AF57C 48 00 00 38 */ b lbl_802B2654
lbl_802B2620:
/* 802B2620 002AF580 7F E3 FB 78 */ mr r3, r31
/* 802B2624 002AF584 4B FF FD DD */ bl ResponseTypeIsEnemySpecial__22CCollisionResponseDataF29EWeaponCollisionResponseTypes
/* 802B2628 002AF588 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B262C 002AF58C 41 82 00 10 */ beq lbl_802B263C
/* 802B2630 002AF590 3B E0 00 11 */ li r31, 0x11
/* 802B2634 002AF594 3B 80 00 01 */ li r28, 1
/* 802B2638 002AF598 48 00 00 1C */ b lbl_802B2654
lbl_802B263C:
/* 802B263C 002AF59C 7F E3 FB 78 */ mr r3, r31
/* 802B2640 002AF5A0 4B FF FE 01 */ bl ResponseTypeIsEnemyShielded__22CCollisionResponseDataF29EWeaponCollisionResponseTypes
/* 802B2644 002AF5A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B2648 002AF5A8 41 82 00 0C */ beq lbl_802B2654
/* 802B264C 002AF5AC 3B E0 00 12 */ li r31, 0x12
/* 802B2650 002AF5B0 3B 80 00 01 */ li r28, 1
lbl_802B2654:
/* 802B2654 002AF5B4 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 802B2658 002AF5B8 41 82 00 20 */ beq lbl_802B2678
/* 802B265C 002AF5BC 57 E3 20 36 */ slwi r3, r31, 4
/* 802B2660 002AF5C0 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 802B2664 002AF5C4 38 03 00 0C */ addi r0, r3, 0xc
/* 802B2668 002AF5C8 7C 04 00 AE */ lbzx r0, r4, r0
/* 802B266C 002AF5CC 28 00 00 00 */ cmplwi r0, 0
/* 802B2670 002AF5D0 40 82 00 08 */ bne lbl_802B2678
/* 802B2674 002AF5D4 3B E0 00 10 */ li r31, 0x10
lbl_802B2678:
/* 802B2678 002AF5D8 57 E3 20 36 */ slwi r3, r31, 4
/* 802B267C 002AF5DC 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 802B2680 002AF5E0 38 03 00 0C */ addi r0, r3, 0xc
/* 802B2684 002AF5E4 7C 04 00 AE */ lbzx r0, r4, r0
/* 802B2688 002AF5E8 28 00 00 00 */ cmplwi r0, 0
/* 802B268C 002AF5EC 40 82 00 10 */ bne lbl_802B269C
/* 802B2690 002AF5F0 2C 1F 00 00 */ cmpwi r31, 0
/* 802B2694 002AF5F4 41 82 00 08 */ beq lbl_802B269C
/* 802B2698 002AF5F8 3B E0 00 01 */ li r31, 1
lbl_802B269C:
/* 802B269C 002AF5FC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802B26A0 002AF600 57 E0 20 36 */ slwi r0, r31, 4
/* 802B26A4 002AF604 7F C3 02 14 */ add r30, r3, r0
/* 802B26A8 002AF608 88 1E 00 0C */ lbz r0, 0xc(r30)
/* 802B26AC 002AF60C 98 1D 00 0C */ stb r0, 0xc(r29)
/* 802B26B0 002AF610 88 1E 00 0C */ lbz r0, 0xc(r30)
/* 802B26B4 002AF614 28 00 00 00 */ cmplwi r0, 0
/* 802B26B8 002AF618 41 82 00 28 */ beq lbl_802B26E0
/* 802B26BC 002AF61C 28 1D 00 00 */ cmplwi r29, 0
/* 802B26C0 002AF620 41 82 00 20 */ beq lbl_802B26E0
/* 802B26C4 002AF624 7F A3 EB 78 */ mr r3, r29
/* 802B26C8 002AF628 7F C4 F3 78 */ mr r4, r30
/* 802B26CC 002AF62C 48 08 E7 DD */ bl __ct__6CTokenFRC6CToken
/* 802B26D0 002AF630 80 1E 00 08 */ lwz r0, 8(r30)
/* 802B26D4 002AF634 7F A3 EB 78 */ mr r3, r29
/* 802B26D8 002AF638 90 1D 00 08 */ stw r0, 8(r29)
/* 802B26DC 002AF63C 48 08 E6 A9 */ bl Lock__6CTokenFv
lbl_802B26E0:
/* 802B26E0 002AF640 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B26E4 002AF644 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B26E8 002AF648 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802B26EC 002AF64C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802B26F0 002AF650 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802B26F4 002AF654 7C 08 03 A6 */ mtlr r0
/* 802B26F8 002AF658 38 21 00 20 */ addi r1, r1, 0x20
/* 802B26FC 002AF65C 4E 80 00 20 */ blr
.global sub_802b2700
sub_802b2700:
/* 802B2700 002AF660 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B2704 002AF664 7C 08 02 A6 */ mflr r0
/* 802B2708 002AF668 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B270C 002AF66C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B2710 002AF670 7C 9F 23 78 */ mr r31, r4
/* 802B2714 002AF674 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802B2718 002AF678 7C 7E 1B 79 */ or. r30, r3, r3
/* 802B271C 002AF67C 41 82 00 74 */ beq lbl_802B2790
/* 802B2720 002AF680 38 7E 00 20 */ addi r3, r30, 0x20
/* 802B2724 002AF684 38 80 FF FF */ li r4, -1
/* 802B2728 002AF688 48 00 01 3D */ bl sub_802b2864
/* 802B272C 002AF68C 34 1E 00 10 */ addic. r0, r30, 0x10
/* 802B2730 002AF690 41 82 00 44 */ beq lbl_802B2774
/* 802B2734 002AF694 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 802B2738 002AF698 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 802B273C 002AF69C 54 00 10 3A */ slwi r0, r0, 2
/* 802B2740 002AF6A0 7C 03 02 14 */ add r0, r3, r0
/* 802B2744 002AF6A4 90 61 00 0C */ stw r3, 0xc(r1)
/* 802B2748 002AF6A8 7C 64 1B 78 */ mr r4, r3
/* 802B274C 002AF6AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B2750 002AF6B0 90 01 00 10 */ stw r0, 0x10(r1)
/* 802B2754 002AF6B4 90 61 00 08 */ stw r3, 8(r1)
/* 802B2758 002AF6B8 48 00 00 08 */ b lbl_802B2760
lbl_802B275C:
/* 802B275C 002AF6BC 38 84 00 04 */ addi r4, r4, 4
lbl_802B2760:
/* 802B2760 002AF6C0 7C 04 00 40 */ cmplw r4, r0
/* 802B2764 002AF6C4 40 82 FF F8 */ bne lbl_802B275C
/* 802B2768 002AF6C8 28 03 00 00 */ cmplwi r3, 0
/* 802B276C 002AF6CC 41 82 00 08 */ beq lbl_802B2774
/* 802B2770 002AF6D0 48 06 31 C1 */ bl Free__7CMemoryFPCv
lbl_802B2774:
/* 802B2774 002AF6D4 7F C3 F3 78 */ mr r3, r30
/* 802B2778 002AF6D8 38 80 FF FF */ li r4, -1
/* 802B277C 002AF6DC 48 00 00 31 */ bl sub_802b27ac
/* 802B2780 002AF6E0 7F E0 07 35 */ extsh. r0, r31
/* 802B2784 002AF6E4 40 81 00 0C */ ble lbl_802B2790
/* 802B2788 002AF6E8 7F C3 F3 78 */ mr r3, r30
/* 802B278C 002AF6EC 48 06 31 A5 */ bl Free__7CMemoryFPCv
lbl_802B2790:
/* 802B2790 002AF6F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B2794 002AF6F4 7F C3 F3 78 */ mr r3, r30
/* 802B2798 002AF6F8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B279C 002AF6FC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802B27A0 002AF700 7C 08 03 A6 */ mtlr r0
/* 802B27A4 002AF704 38 21 00 20 */ addi r1, r1, 0x20
/* 802B27A8 002AF708 4E 80 00 20 */ blr
.global sub_802b27ac
sub_802b27ac:
/* 802B27AC 002AF70C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802B27B0 002AF710 7C 08 02 A6 */ mflr r0
/* 802B27B4 002AF714 90 01 00 34 */ stw r0, 0x34(r1)
/* 802B27B8 002AF718 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 802B27BC 002AF71C 7C 7B 1B 79 */ or. r27, r3, r3
/* 802B27C0 002AF720 7C 9C 23 78 */ mr r28, r4
/* 802B27C4 002AF724 41 82 00 88 */ beq lbl_802B284C
/* 802B27C8 002AF728 80 1B 00 04 */ lwz r0, 4(r27)
/* 802B27CC 002AF72C 3B E0 00 00 */ li r31, 0
/* 802B27D0 002AF730 83 BB 00 0C */ lwz r29, 0xc(r27)
/* 802B27D4 002AF734 54 00 20 36 */ slwi r0, r0, 4
/* 802B27D8 002AF738 7F DD 02 14 */ add r30, r29, r0
/* 802B27DC 002AF73C 93 A1 00 10 */ stw r29, 0x10(r1)
/* 802B27E0 002AF740 93 C1 00 08 */ stw r30, 8(r1)
/* 802B27E4 002AF744 93 C1 00 0C */ stw r30, 0xc(r1)
/* 802B27E8 002AF748 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B27EC 002AF74C 48 00 00 38 */ b lbl_802B2824
lbl_802B27F0:
/* 802B27F0 002AF750 28 1D 00 00 */ cmplwi r29, 0
/* 802B27F4 002AF754 41 82 00 2C */ beq lbl_802B2820
/* 802B27F8 002AF758 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 802B27FC 002AF75C 28 00 00 00 */ cmplwi r0, 0
/* 802B2800 002AF760 41 82 00 1C */ beq lbl_802B281C
/* 802B2804 002AF764 28 1D 00 00 */ cmplwi r29, 0
/* 802B2808 002AF768 41 82 00 14 */ beq lbl_802B281C
/* 802B280C 002AF76C 41 82 00 10 */ beq lbl_802B281C
/* 802B2810 002AF770 7F A3 EB 78 */ mr r3, r29
/* 802B2814 002AF774 38 80 00 00 */ li r4, 0
/* 802B2818 002AF778 48 08 E6 29 */ bl __dt__6CTokenFv
lbl_802B281C:
/* 802B281C 002AF77C 9B FD 00 0C */ stb r31, 0xc(r29)
lbl_802B2820:
/* 802B2820 002AF780 3B BD 00 10 */ addi r29, r29, 0x10
lbl_802B2824:
/* 802B2824 002AF784 7C 1D F0 40 */ cmplw r29, r30
/* 802B2828 002AF788 40 82 FF C8 */ bne lbl_802B27F0
/* 802B282C 002AF78C 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 802B2830 002AF790 28 03 00 00 */ cmplwi r3, 0
/* 802B2834 002AF794 41 82 00 08 */ beq lbl_802B283C
/* 802B2838 002AF798 48 06 30 F9 */ bl Free__7CMemoryFPCv
lbl_802B283C:
/* 802B283C 002AF79C 7F 80 07 35 */ extsh. r0, r28
/* 802B2840 002AF7A0 40 81 00 0C */ ble lbl_802B284C
/* 802B2844 002AF7A4 7F 63 DB 78 */ mr r3, r27
/* 802B2848 002AF7A8 48 06 30 E9 */ bl Free__7CMemoryFPCv
lbl_802B284C:
/* 802B284C 002AF7AC 7F 63 DB 78 */ mr r3, r27
/* 802B2850 002AF7B0 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 802B2854 002AF7B4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B2858 002AF7B8 7C 08 03 A6 */ mtlr r0
/* 802B285C 002AF7BC 38 21 00 30 */ addi r1, r1, 0x30
/* 802B2860 002AF7C0 4E 80 00 20 */ blr
.global sub_802b2864
sub_802b2864:
/* 802B2864 002AF7C4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802B2868 002AF7C8 7C 08 02 A6 */ mflr r0
/* 802B286C 002AF7CC 90 01 00 34 */ stw r0, 0x34(r1)
/* 802B2870 002AF7D0 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 802B2874 002AF7D4 7C 7B 1B 79 */ or. r27, r3, r3
/* 802B2878 002AF7D8 7C 9C 23 78 */ mr r28, r4
/* 802B287C 002AF7DC 41 82 00 88 */ beq lbl_802B2904
/* 802B2880 002AF7E0 80 1B 00 04 */ lwz r0, 4(r27)
/* 802B2884 002AF7E4 3B E0 00 00 */ li r31, 0
/* 802B2888 002AF7E8 83 BB 00 0C */ lwz r29, 0xc(r27)
/* 802B288C 002AF7EC 54 00 20 36 */ slwi r0, r0, 4
/* 802B2890 002AF7F0 7F DD 02 14 */ add r30, r29, r0
/* 802B2894 002AF7F4 93 A1 00 10 */ stw r29, 0x10(r1)
/* 802B2898 002AF7F8 93 C1 00 08 */ stw r30, 8(r1)
/* 802B289C 002AF7FC 93 C1 00 0C */ stw r30, 0xc(r1)
/* 802B28A0 002AF800 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B28A4 002AF804 48 00 00 38 */ b lbl_802B28DC
lbl_802B28A8:
/* 802B28A8 002AF808 28 1D 00 00 */ cmplwi r29, 0
/* 802B28AC 002AF80C 41 82 00 2C */ beq lbl_802B28D8
/* 802B28B0 002AF810 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 802B28B4 002AF814 28 00 00 00 */ cmplwi r0, 0
/* 802B28B8 002AF818 41 82 00 1C */ beq lbl_802B28D4
/* 802B28BC 002AF81C 28 1D 00 00 */ cmplwi r29, 0
/* 802B28C0 002AF820 41 82 00 14 */ beq lbl_802B28D4
/* 802B28C4 002AF824 41 82 00 10 */ beq lbl_802B28D4
/* 802B28C8 002AF828 7F A3 EB 78 */ mr r3, r29
/* 802B28CC 002AF82C 38 80 00 00 */ li r4, 0
/* 802B28D0 002AF830 48 08 E5 71 */ bl __dt__6CTokenFv
lbl_802B28D4:
/* 802B28D4 002AF834 9B FD 00 0C */ stb r31, 0xc(r29)
lbl_802B28D8:
/* 802B28D8 002AF838 3B BD 00 10 */ addi r29, r29, 0x10
lbl_802B28DC:
/* 802B28DC 002AF83C 7C 1D F0 40 */ cmplw r29, r30
/* 802B28E0 002AF840 40 82 FF C8 */ bne lbl_802B28A8
/* 802B28E4 002AF844 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 802B28E8 002AF848 28 03 00 00 */ cmplwi r3, 0
/* 802B28EC 002AF84C 41 82 00 08 */ beq lbl_802B28F4
/* 802B28F0 002AF850 48 06 30 41 */ bl Free__7CMemoryFPCv
lbl_802B28F4:
/* 802B28F4 002AF854 7F 80 07 35 */ extsh. r0, r28
/* 802B28F8 002AF858 40 81 00 0C */ ble lbl_802B2904
/* 802B28FC 002AF85C 7F 63 DB 78 */ mr r3, r27
/* 802B2900 002AF860 48 06 30 31 */ bl Free__7CMemoryFPCv
lbl_802B2904:
/* 802B2904 002AF864 7F 63 DB 78 */ mr r3, r27
/* 802B2908 002AF868 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 802B290C 002AF86C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B2910 002AF870 7C 08 03 A6 */ mtlr r0
/* 802B2914 002AF874 38 21 00 30 */ addi r1, r1, 0x30
/* 802B2918 002AF878 4E 80 00 20 */ blr
.global AddParticleSystemToResponse__22CCollisionResponseDataF29EWeaponCollisionResponseTypesR12CInputStreamP11CSimplePool
AddParticleSystemToResponse__22CCollisionResponseDataF29EWeaponCollisionResponseTypesR12CInputStreamP11CSimplePool:
/* 802B291C 002AF87C 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802B2920 002AF880 7C 08 02 A6 */ mflr r0
/* 802B2924 002AF884 90 01 00 74 */ stw r0, 0x74(r1)
/* 802B2928 002AF888 38 00 00 00 */ li r0, 0
/* 802B292C 002AF88C 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 802B2930 002AF890 7C 9F 23 78 */ mr r31, r4
/* 802B2934 002AF894 7C A4 2B 78 */ mr r4, r5
/* 802B2938 002AF898 7C C5 33 78 */ mr r5, r6
/* 802B293C 002AF89C 93 C1 00 68 */ stw r30, 0x68(r1)
/* 802B2940 002AF8A0 7C 7E 1B 78 */ mr r30, r3
/* 802B2944 002AF8A4 38 61 00 34 */ addi r3, r1, 0x34
/* 802B2948 002AF8A8 38 C1 00 4C */ addi r6, r1, 0x4c
/* 802B294C 002AF8AC 93 A1 00 64 */ stw r29, 0x64(r1)
/* 802B2950 002AF8B0 90 01 00 50 */ stw r0, 0x50(r1)
/* 802B2954 002AF8B4 90 01 00 54 */ stw r0, 0x54(r1)
/* 802B2958 002AF8B8 90 01 00 58 */ stw r0, 0x58(r1)
/* 802B295C 002AF8BC 48 07 24 35 */ bl "GetChildGeneratorDesc__20CParticleDataFactoryFR12CInputStreamP11CSimplePoolRCQ24rstl37vector<Ui,Q24rstl17rmemory_allocator>"
/* 802B2960 002AF8C0 88 01 00 3C */ lbz r0, 0x3c(r1)
/* 802B2964 002AF8C4 28 00 00 00 */ cmplwi r0, 0
/* 802B2968 002AF8C8 98 01 00 48 */ stb r0, 0x48(r1)
/* 802B296C 002AF8CC 41 82 00 14 */ beq lbl_802B2980
/* 802B2970 002AF8D0 34 61 00 40 */ addic. r3, r1, 0x40
/* 802B2974 002AF8D4 38 81 00 34 */ addi r4, r1, 0x34
/* 802B2978 002AF8D8 41 82 00 08 */ beq lbl_802B2980
/* 802B297C 002AF8DC 48 08 E5 2D */ bl __ct__6CTokenFRC6CToken
lbl_802B2980:
/* 802B2980 002AF8E0 88 01 00 3C */ lbz r0, 0x3c(r1)
/* 802B2984 002AF8E4 28 00 00 00 */ cmplwi r0, 0
/* 802B2988 002AF8E8 41 82 00 14 */ beq lbl_802B299C
/* 802B298C 002AF8EC 34 61 00 34 */ addic. r3, r1, 0x34
/* 802B2990 002AF8F0 41 82 00 0C */ beq lbl_802B299C
/* 802B2994 002AF8F4 38 80 00 00 */ li r4, 0
/* 802B2998 002AF8F8 48 08 E4 A9 */ bl __dt__6CTokenFv
lbl_802B299C:
/* 802B299C 002AF8FC 88 61 00 48 */ lbz r3, 0x48(r1)
/* 802B29A0 002AF900 38 00 00 00 */ li r0, 0
/* 802B29A4 002AF904 98 01 00 3C */ stb r0, 0x3c(r1)
/* 802B29A8 002AF908 28 03 00 00 */ cmplwi r3, 0
/* 802B29AC 002AF90C 41 82 00 FC */ beq lbl_802B2AA8
/* 802B29B0 002AF910 3B A1 00 28 */ addi r29, r1, 0x28
/* 802B29B4 002AF914 38 81 00 40 */ addi r4, r1, 0x40
/* 802B29B8 002AF918 7F A3 EB 78 */ mr r3, r29
/* 802B29BC 002AF91C 48 08 E4 ED */ bl __ct__6CTokenFRC6CToken
/* 802B29C0 002AF920 7F A3 EB 78 */ mr r3, r29
/* 802B29C4 002AF924 48 08 E4 49 */ bl GetObj__6CTokenFv
/* 802B29C8 002AF928 80 63 00 04 */ lwz r3, 4(r3)
/* 802B29CC 002AF92C 57 E0 20 36 */ slwi r0, r31, 4
/* 802B29D0 002AF930 90 61 00 30 */ stw r3, 0x30(r1)
/* 802B29D4 002AF934 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802B29D8 002AF938 7F E3 02 14 */ add r31, r3, r0
/* 802B29DC 002AF93C 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 802B29E0 002AF940 28 00 00 00 */ cmplwi r0, 0
/* 802B29E4 002AF944 40 82 00 38 */ bne lbl_802B2A1C
/* 802B29E8 002AF948 28 1F 00 00 */ cmplwi r31, 0
/* 802B29EC 002AF94C 41 82 00 24 */ beq lbl_802B2A10
/* 802B29F0 002AF950 7F FD FB 78 */ mr r29, r31
/* 802B29F4 002AF954 7F E3 FB 78 */ mr r3, r31
/* 802B29F8 002AF958 38 81 00 28 */ addi r4, r1, 0x28
/* 802B29FC 002AF95C 48 08 E4 AD */ bl __ct__6CTokenFRC6CToken
/* 802B2A00 002AF960 80 01 00 30 */ lwz r0, 0x30(r1)
/* 802B2A04 002AF964 7F A3 EB 78 */ mr r3, r29
/* 802B2A08 002AF968 90 1D 00 08 */ stw r0, 8(r29)
/* 802B2A0C 002AF96C 48 08 E3 79 */ bl Lock__6CTokenFv
lbl_802B2A10:
/* 802B2A10 002AF970 38 00 00 01 */ li r0, 1
/* 802B2A14 002AF974 98 1F 00 0C */ stb r0, 0xc(r31)
/* 802B2A18 002AF978 48 00 00 18 */ b lbl_802B2A30
lbl_802B2A1C:
/* 802B2A1C 002AF97C 7F E3 FB 78 */ mr r3, r31
/* 802B2A20 002AF980 7F A4 EB 78 */ mr r4, r29
/* 802B2A24 002AF984 48 08 E2 A1 */ bl __as__6CTokenFRC6CToken
/* 802B2A28 002AF988 80 01 00 30 */ lwz r0, 0x30(r1)
/* 802B2A2C 002AF98C 90 1F 00 08 */ stw r0, 8(r31)
lbl_802B2A30:
/* 802B2A30 002AF990 38 61 00 28 */ addi r3, r1, 0x28
/* 802B2A34 002AF994 38 80 00 00 */ li r4, 0
/* 802B2A38 002AF998 48 08 E4 09 */ bl __dt__6CTokenFv
/* 802B2A3C 002AF99C 88 01 00 48 */ lbz r0, 0x48(r1)
/* 802B2A40 002AF9A0 28 00 00 00 */ cmplwi r0, 0
/* 802B2A44 002AF9A4 41 82 00 14 */ beq lbl_802B2A58
/* 802B2A48 002AF9A8 34 61 00 40 */ addic. r3, r1, 0x40
/* 802B2A4C 002AF9AC 41 82 00 0C */ beq lbl_802B2A58
/* 802B2A50 002AF9B0 38 80 00 00 */ li r4, 0
/* 802B2A54 002AF9B4 48 08 E3 ED */ bl __dt__6CTokenFv
lbl_802B2A58:
/* 802B2A58 002AF9B8 80 01 00 50 */ lwz r0, 0x50(r1)
/* 802B2A5C 002AF9BC 38 80 00 00 */ li r4, 0
/* 802B2A60 002AF9C0 80 61 00 58 */ lwz r3, 0x58(r1)
/* 802B2A64 002AF9C4 54 00 10 3A */ slwi r0, r0, 2
/* 802B2A68 002AF9C8 98 81 00 48 */ stb r4, 0x48(r1)
/* 802B2A6C 002AF9CC 7C 03 02 14 */ add r0, r3, r0
/* 802B2A70 002AF9D0 7C 64 1B 78 */ mr r4, r3
/* 802B2A74 002AF9D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B2A78 002AF9D8 90 01 00 20 */ stw r0, 0x20(r1)
/* 802B2A7C 002AF9DC 90 61 00 1C */ stw r3, 0x1c(r1)
/* 802B2A80 002AF9E0 90 61 00 18 */ stw r3, 0x18(r1)
/* 802B2A84 002AF9E4 48 00 00 08 */ b lbl_802B2A8C
lbl_802B2A88:
/* 802B2A88 002AF9E8 38 84 00 04 */ addi r4, r4, 4
lbl_802B2A8C:
/* 802B2A8C 002AF9EC 7C 04 00 40 */ cmplw r4, r0
/* 802B2A90 002AF9F0 40 82 FF F8 */ bne lbl_802B2A88
/* 802B2A94 002AF9F4 28 03 00 00 */ cmplwi r3, 0
/* 802B2A98 002AF9F8 41 82 00 08 */ beq lbl_802B2AA0
/* 802B2A9C 002AF9FC 48 06 2E 95 */ bl Free__7CMemoryFPCv
lbl_802B2AA0:
/* 802B2AA0 002AFA00 38 60 00 01 */ li r3, 1
/* 802B2AA4 002AFA04 48 00 00 64 */ b lbl_802B2B08
lbl_802B2AA8:
/* 802B2AA8 002AFA08 41 82 00 14 */ beq lbl_802B2ABC
/* 802B2AAC 002AFA0C 34 61 00 40 */ addic. r3, r1, 0x40
/* 802B2AB0 002AFA10 41 82 00 0C */ beq lbl_802B2ABC
/* 802B2AB4 002AFA14 38 80 00 00 */ li r4, 0
/* 802B2AB8 002AFA18 48 08 E3 89 */ bl __dt__6CTokenFv
lbl_802B2ABC:
/* 802B2ABC 002AFA1C 80 01 00 50 */ lwz r0, 0x50(r1)
/* 802B2AC0 002AFA20 38 80 00 00 */ li r4, 0
/* 802B2AC4 002AFA24 80 61 00 58 */ lwz r3, 0x58(r1)
/* 802B2AC8 002AFA28 54 00 10 3A */ slwi r0, r0, 2
/* 802B2ACC 002AFA2C 98 81 00 48 */ stb r4, 0x48(r1)
/* 802B2AD0 002AFA30 7C 03 02 14 */ add r0, r3, r0
/* 802B2AD4 002AFA34 7C 64 1B 78 */ mr r4, r3
/* 802B2AD8 002AFA38 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B2ADC 002AFA3C 90 01 00 10 */ stw r0, 0x10(r1)
/* 802B2AE0 002AFA40 90 61 00 0C */ stw r3, 0xc(r1)
/* 802B2AE4 002AFA44 90 61 00 08 */ stw r3, 8(r1)
/* 802B2AE8 002AFA48 48 00 00 08 */ b lbl_802B2AF0
lbl_802B2AEC:
/* 802B2AEC 002AFA4C 38 84 00 04 */ addi r4, r4, 4
lbl_802B2AF0:
/* 802B2AF0 002AFA50 7C 04 00 40 */ cmplw r4, r0
/* 802B2AF4 002AFA54 40 82 FF F8 */ bne lbl_802B2AEC
/* 802B2AF8 002AFA58 28 03 00 00 */ cmplwi r3, 0
/* 802B2AFC 002AFA5C 41 82 00 08 */ beq lbl_802B2B04
/* 802B2B00 002AFA60 48 06 2E 31 */ bl Free__7CMemoryFPCv
lbl_802B2B04:
/* 802B2B04 002AFA64 38 60 00 00 */ li r3, 0
lbl_802B2B08:
/* 802B2B08 002AFA68 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802B2B0C 002AFA6C 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 802B2B10 002AFA70 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 802B2B14 002AFA74 83 A1 00 64 */ lwz r29, 0x64(r1)
/* 802B2B18 002AFA78 7C 08 03 A6 */ mtlr r0
/* 802B2B1C 002AFA7C 38 21 00 70 */ addi r1, r1, 0x70
/* 802B2B20 002AFA80 4E 80 00 20 */ blr
.global CheckAndAddDecalToResponse__22CCollisionResponseDataFUiR12CInputStreamP11CSimplePool
CheckAndAddDecalToResponse__22CCollisionResponseDataFUiR12CInputStreamP11CSimplePool:
/* 802B2B24 002AFA84 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802B2B28 002AFA88 7C 08 02 A6 */ mflr r0
/* 802B2B2C 002AFA8C 3C E0 80 3D */ lis r7, lbl_803D6508@ha
/* 802B2B30 002AFA90 90 01 00 44 */ stw r0, 0x44(r1)
/* 802B2B34 002AFA94 38 00 00 0E */ li r0, 0xe
/* 802B2B38 002AFA98 38 E7 65 08 */ addi r7, r7, lbl_803D6508@l
/* 802B2B3C 002AFA9C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 802B2B40 002AFAA0 3B E0 00 00 */ li r31, 0
/* 802B2B44 002AFAA4 93 C1 00 38 */ stw r30, 0x38(r1)
/* 802B2B48 002AFAA8 7C DE 33 78 */ mr r30, r6
/* 802B2B4C 002AFAAC 93 A1 00 34 */ stw r29, 0x34(r1)
/* 802B2B50 002AFAB0 7C BD 2B 78 */ mr r29, r5
/* 802B2B54 002AFAB4 93 81 00 30 */ stw r28, 0x30(r1)
/* 802B2B58 002AFAB8 7C 7C 1B 78 */ mr r28, r3
/* 802B2B5C 002AFABC 7C 09 03 A6 */ mtctr r0
lbl_802B2B60:
/* 802B2B60 002AFAC0 80 07 00 00 */ lwz r0, 0(r7)
/* 802B2B64 002AFAC4 7C 04 00 40 */ cmplw r4, r0
/* 802B2B68 002AFAC8 40 82 01 04 */ bne lbl_802B2C6C
/* 802B2B6C 002AFACC 7F A3 EB 78 */ mr r3, r29
/* 802B2B70 002AFAD0 48 07 58 ED */ bl GetClassID__20CParticleDataFactoryFR12CInputStream
/* 802B2B74 002AFAD4 3C 03 B1 B1 */ addis r0, r3, 0xb1b1
/* 802B2B78 002AFAD8 28 00 4E 45 */ cmplwi r0, 0x4e45
/* 802B2B7C 002AFADC 41 82 00 E8 */ beq lbl_802B2C64
/* 802B2B80 002AFAE0 7F A3 EB 78 */ mr r3, r29
/* 802B2B84 002AFAE4 48 08 C1 01 */ bl ReadLong__12CInputStreamFv
/* 802B2B88 002AFAE8 3C 80 44 50 */ lis r4, 0x44505343@ha
/* 802B2B8C 002AFAEC 90 61 00 1C */ stw r3, 0x1c(r1)
/* 802B2B90 002AFAF0 38 04 53 43 */ addi r0, r4, 0x44505343@l
/* 802B2B94 002AFAF4 7F C4 F3 78 */ mr r4, r30
/* 802B2B98 002AFAF8 90 01 00 18 */ stw r0, 0x18(r1)
/* 802B2B9C 002AFAFC 38 61 00 10 */ addi r3, r1, 0x10
/* 802B2BA0 002AFB00 38 A1 00 18 */ addi r5, r1, 0x18
/* 802B2BA4 002AFB04 81 9E 00 00 */ lwz r12, 0(r30)
/* 802B2BA8 002AFB08 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802B2BAC 002AFB0C 7D 89 03 A6 */ mtctr r12
/* 802B2BB0 002AFB10 4E 80 04 21 */ bctrl
/* 802B2BB4 002AFB14 38 61 00 08 */ addi r3, r1, 8
/* 802B2BB8 002AFB18 38 81 00 10 */ addi r4, r1, 0x10
/* 802B2BBC 002AFB1C 48 08 E2 ED */ bl __ct__6CTokenFRC6CToken
/* 802B2BC0 002AFB20 3B A1 00 20 */ addi r29, r1, 0x20
/* 802B2BC4 002AFB24 38 81 00 08 */ addi r4, r1, 8
/* 802B2BC8 002AFB28 7F A3 EB 78 */ mr r3, r29
/* 802B2BCC 002AFB2C 48 08 E2 DD */ bl __ct__6CTokenFRC6CToken
/* 802B2BD0 002AFB30 7F A3 EB 78 */ mr r3, r29
/* 802B2BD4 002AFB34 48 08 E2 39 */ bl GetObj__6CTokenFv
/* 802B2BD8 002AFB38 80 63 00 04 */ lwz r3, 4(r3)
/* 802B2BDC 002AFB3C 57 E0 20 36 */ slwi r0, r31, 4
/* 802B2BE0 002AFB40 90 61 00 28 */ stw r3, 0x28(r1)
/* 802B2BE4 002AFB44 80 7C 00 2C */ lwz r3, 0x2c(r28)
/* 802B2BE8 002AFB48 7F E3 02 14 */ add r31, r3, r0
/* 802B2BEC 002AFB4C 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 802B2BF0 002AFB50 28 00 00 00 */ cmplwi r0, 0
/* 802B2BF4 002AFB54 40 82 00 38 */ bne lbl_802B2C2C
/* 802B2BF8 002AFB58 28 1F 00 00 */ cmplwi r31, 0
/* 802B2BFC 002AFB5C 41 82 00 24 */ beq lbl_802B2C20
/* 802B2C00 002AFB60 7F FC FB 78 */ mr r28, r31
/* 802B2C04 002AFB64 7F E3 FB 78 */ mr r3, r31
/* 802B2C08 002AFB68 7F A4 EB 78 */ mr r4, r29
/* 802B2C0C 002AFB6C 48 08 E2 9D */ bl __ct__6CTokenFRC6CToken
/* 802B2C10 002AFB70 80 01 00 28 */ lwz r0, 0x28(r1)
/* 802B2C14 002AFB74 7F 83 E3 78 */ mr r3, r28
/* 802B2C18 002AFB78 90 1C 00 08 */ stw r0, 8(r28)
/* 802B2C1C 002AFB7C 48 08 E1 69 */ bl Lock__6CTokenFv
lbl_802B2C20:
/* 802B2C20 002AFB80 38 00 00 01 */ li r0, 1
/* 802B2C24 002AFB84 98 1F 00 0C */ stb r0, 0xc(r31)
/* 802B2C28 002AFB88 48 00 00 18 */ b lbl_802B2C40
lbl_802B2C2C:
/* 802B2C2C 002AFB8C 7F E3 FB 78 */ mr r3, r31
/* 802B2C30 002AFB90 7F A4 EB 78 */ mr r4, r29
/* 802B2C34 002AFB94 48 08 E0 91 */ bl __as__6CTokenFRC6CToken
/* 802B2C38 002AFB98 80 01 00 28 */ lwz r0, 0x28(r1)
/* 802B2C3C 002AFB9C 90 1F 00 08 */ stw r0, 8(r31)
lbl_802B2C40:
/* 802B2C40 002AFBA0 38 61 00 20 */ addi r3, r1, 0x20
/* 802B2C44 002AFBA4 38 80 00 00 */ li r4, 0
/* 802B2C48 002AFBA8 48 08 E1 F9 */ bl __dt__6CTokenFv
/* 802B2C4C 002AFBAC 38 61 00 08 */ addi r3, r1, 8
/* 802B2C50 002AFBB0 38 80 00 00 */ li r4, 0
/* 802B2C54 002AFBB4 48 08 E1 ED */ bl __dt__6CTokenFv
/* 802B2C58 002AFBB8 38 61 00 10 */ addi r3, r1, 0x10
/* 802B2C5C 002AFBBC 38 80 FF FF */ li r4, -1
/* 802B2C60 002AFBC0 48 08 E1 E1 */ bl __dt__6CTokenFv
lbl_802B2C64:
/* 802B2C64 002AFBC4 38 60 00 01 */ li r3, 1
/* 802B2C68 002AFBC8 48 00 00 14 */ b lbl_802B2C7C
lbl_802B2C6C:
/* 802B2C6C 002AFBCC 38 E7 00 04 */ addi r7, r7, 4
/* 802B2C70 002AFBD0 3B FF 00 01 */ addi r31, r31, 1
/* 802B2C74 002AFBD4 42 00 FE EC */ bdnz lbl_802B2B60
/* 802B2C78 002AFBD8 38 60 00 00 */ li r3, 0
lbl_802B2C7C:
/* 802B2C7C 002AFBDC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802B2C80 002AFBE0 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 802B2C84 002AFBE4 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 802B2C88 002AFBE8 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 802B2C8C 002AFBEC 83 81 00 30 */ lwz r28, 0x30(r1)
/* 802B2C90 002AFBF0 7C 08 03 A6 */ mtlr r0
/* 802B2C94 002AFBF4 38 21 00 40 */ addi r1, r1, 0x40
/* 802B2C98 002AFBF8 4E 80 00 20 */ blr
.global CheckAndAddSoundFXToResponse__22CCollisionResponseDataFUiR12CInputStream
CheckAndAddSoundFXToResponse__22CCollisionResponseDataFUiR12CInputStream:
/* 802B2C9C 002AFBFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B2CA0 002AFC00 7C 08 02 A6 */ mflr r0
/* 802B2CA4 002AFC04 3C C0 80 3D */ lis r6, lbl_803D6390@ha
/* 802B2CA8 002AFC08 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B2CAC 002AFC0C 38 00 00 5E */ li r0, 0x5e
/* 802B2CB0 002AFC10 38 C6 63 90 */ addi r6, r6, lbl_803D6390@l
/* 802B2CB4 002AFC14 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B2CB8 002AFC18 3B E0 00 00 */ li r31, 0
/* 802B2CBC 002AFC1C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802B2CC0 002AFC20 7C BE 2B 78 */ mr r30, r5
/* 802B2CC4 002AFC24 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B2CC8 002AFC28 7C 7D 1B 78 */ mr r29, r3
/* 802B2CCC 002AFC2C 7C 09 03 A6 */ mtctr r0
lbl_802B2CD0:
/* 802B2CD0 002AFC30 80 06 00 00 */ lwz r0, 0(r6)
/* 802B2CD4 002AFC34 7C 04 00 40 */ cmplw r4, r0
/* 802B2CD8 002AFC38 40 82 00 34 */ bne lbl_802B2D0C
/* 802B2CDC 002AFC3C 7F C3 F3 78 */ mr r3, r30
/* 802B2CE0 002AFC40 48 07 57 7D */ bl GetClassID__20CParticleDataFactoryFR12CInputStream
/* 802B2CE4 002AFC44 3C 03 B1 B1 */ addis r0, r3, 0xb1b1
/* 802B2CE8 002AFC48 28 00 4E 45 */ cmplwi r0, 0x4e45
/* 802B2CEC 002AFC4C 41 82 00 18 */ beq lbl_802B2D04
/* 802B2CF0 002AFC50 7F C3 F3 78 */ mr r3, r30
/* 802B2CF4 002AFC54 48 08 BF 91 */ bl ReadLong__12CInputStreamFv
/* 802B2CF8 002AFC58 80 9D 00 1C */ lwz r4, 0x1c(r29)
/* 802B2CFC 002AFC5C 57 E0 10 3A */ slwi r0, r31, 2
/* 802B2D00 002AFC60 7C 64 01 2E */ stwx r3, r4, r0
lbl_802B2D04:
/* 802B2D04 002AFC64 38 60 00 01 */ li r3, 1
/* 802B2D08 002AFC68 48 00 00 14 */ b lbl_802B2D1C
lbl_802B2D0C:
/* 802B2D0C 002AFC6C 38 C6 00 04 */ addi r6, r6, 4
/* 802B2D10 002AFC70 3B FF 00 01 */ addi r31, r31, 1
/* 802B2D14 002AFC74 42 00 FF BC */ bdnz lbl_802B2CD0
/* 802B2D18 002AFC78 38 60 00 00 */ li r3, 0
lbl_802B2D1C:
/* 802B2D1C 002AFC7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B2D20 002AFC80 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B2D24 002AFC84 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802B2D28 002AFC88 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802B2D2C 002AFC8C 7C 08 03 A6 */ mtlr r0
/* 802B2D30 002AFC90 38 21 00 20 */ addi r1, r1, 0x20
/* 802B2D34 002AFC94 4E 80 00 20 */ blr
.global CheckAndAddParticleSystemToResponse__22CCollisionResponseDataFUiR12CInputStreamP11CSimplePool
CheckAndAddParticleSystemToResponse__22CCollisionResponseDataFUiR12CInputStreamP11CSimplePool:
/* 802B2D38 002AFC98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B2D3C 002AFC9C 7C 08 02 A6 */ mflr r0
/* 802B2D40 002AFCA0 3C E0 80 3D */ lis r7, lbl_803D6218@ha
/* 802B2D44 002AFCA4 39 00 00 00 */ li r8, 0
/* 802B2D48 002AFCA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B2D4C 002AFCAC 38 00 00 5E */ li r0, 0x5e
/* 802B2D50 002AFCB0 38 E7 62 18 */ addi r7, r7, lbl_803D6218@l
/* 802B2D54 002AFCB4 7C 09 03 A6 */ mtctr r0
lbl_802B2D58:
/* 802B2D58 002AFCB8 80 07 00 00 */ lwz r0, 0(r7)
/* 802B2D5C 002AFCBC 7C 04 00 40 */ cmplw r4, r0
/* 802B2D60 002AFCC0 40 82 00 14 */ bne lbl_802B2D74
/* 802B2D64 002AFCC4 7D 04 43 78 */ mr r4, r8
/* 802B2D68 002AFCC8 4B FF FB B5 */ bl AddParticleSystemToResponse__22CCollisionResponseDataF29EWeaponCollisionResponseTypesR12CInputStreamP11CSimplePool
/* 802B2D6C 002AFCCC 38 60 00 01 */ li r3, 1
/* 802B2D70 002AFCD0 48 00 00 14 */ b lbl_802B2D84
lbl_802B2D74:
/* 802B2D74 002AFCD4 38 E7 00 04 */ addi r7, r7, 4
/* 802B2D78 002AFCD8 39 08 00 01 */ addi r8, r8, 1
/* 802B2D7C 002AFCDC 42 00 FF DC */ bdnz lbl_802B2D58
/* 802B2D80 002AFCE0 38 60 00 00 */ li r3, 0
lbl_802B2D84:
/* 802B2D84 002AFCE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B2D88 002AFCE8 7C 08 03 A6 */ mtlr r0
/* 802B2D8C 002AFCEC 38 21 00 10 */ addi r1, r1, 0x10
/* 802B2D90 002AFCF0 4E 80 00 20 */ blr
.global CheckAndAddResourcesToResponse__22CCollisionResponseDataFUiR12CInputStreamP11CSimplePool
CheckAndAddResourcesToResponse__22CCollisionResponseDataFUiR12CInputStreamP11CSimplePool:
/* 802B2D94 002AFCF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B2D98 002AFCF8 7C 08 02 A6 */ mflr r0
/* 802B2D9C 002AFCFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B2DA0 002AFD00 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B2DA4 002AFD04 7C DF 33 78 */ mr r31, r6
/* 802B2DA8 002AFD08 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802B2DAC 002AFD0C 7C BE 2B 78 */ mr r30, r5
/* 802B2DB0 002AFD10 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B2DB4 002AFD14 7C 9D 23 78 */ mr r29, r4
/* 802B2DB8 002AFD18 93 81 00 10 */ stw r28, 0x10(r1)
/* 802B2DBC 002AFD1C 7C 7C 1B 78 */ mr r28, r3
/* 802B2DC0 002AFD20 4B FF FF 79 */ bl CheckAndAddParticleSystemToResponse__22CCollisionResponseDataFUiR12CInputStreamP11CSimplePool
/* 802B2DC4 002AFD24 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B2DC8 002AFD28 41 82 00 0C */ beq lbl_802B2DD4
/* 802B2DCC 002AFD2C 38 60 00 01 */ li r3, 1
/* 802B2DD0 002AFD30 48 00 00 48 */ b lbl_802B2E18
lbl_802B2DD4:
/* 802B2DD4 002AFD34 7F 83 E3 78 */ mr r3, r28
/* 802B2DD8 002AFD38 7F A4 EB 78 */ mr r4, r29
/* 802B2DDC 002AFD3C 7F C5 F3 78 */ mr r5, r30
/* 802B2DE0 002AFD40 4B FF FE BD */ bl CheckAndAddSoundFXToResponse__22CCollisionResponseDataFUiR12CInputStream
/* 802B2DE4 002AFD44 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B2DE8 002AFD48 41 82 00 0C */ beq lbl_802B2DF4
/* 802B2DEC 002AFD4C 38 60 00 01 */ li r3, 1
/* 802B2DF0 002AFD50 48 00 00 28 */ b lbl_802B2E18
lbl_802B2DF4:
/* 802B2DF4 002AFD54 7F 83 E3 78 */ mr r3, r28
/* 802B2DF8 002AFD58 7F A4 EB 78 */ mr r4, r29
/* 802B2DFC 002AFD5C 7F C5 F3 78 */ mr r5, r30
/* 802B2E00 002AFD60 7F E6 FB 78 */ mr r6, r31
/* 802B2E04 002AFD64 4B FF FD 21 */ bl CheckAndAddDecalToResponse__22CCollisionResponseDataFUiR12CInputStreamP11CSimplePool
/* 802B2E08 002AFD68 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 802B2E0C 002AFD6C 7C 03 00 D0 */ neg r0, r3
/* 802B2E10 002AFD70 7C 00 1B 78 */ or r0, r0, r3
/* 802B2E14 002AFD74 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_802B2E18:
/* 802B2E18 002AFD78 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B2E1C 002AFD7C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B2E20 002AFD80 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802B2E24 002AFD84 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802B2E28 002AFD88 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802B2E2C 002AFD8C 7C 08 03 A6 */ mtlr r0
/* 802B2E30 002AFD90 38 21 00 20 */ addi r1, r1, 0x20
/* 802B2E34 002AFD94 4E 80 00 20 */ blr
.global __ct__22CCollisionResponseDataFR12CInputStreamP11CSimplePool
__ct__22CCollisionResponseDataFR12CInputStreamP11CSimplePool:
/* 802B2E38 002AFD98 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802B2E3C 002AFD9C 7C 08 02 A6 */ mflr r0
/* 802B2E40 002AFDA0 C0 22 C2 44 */ lfs f1, lbl_805ADF64@sda21(r2)
/* 802B2E44 002AFDA4 90 01 00 54 */ stw r0, 0x54(r1)
/* 802B2E48 002AFDA8 38 00 00 00 */ li r0, 0
/* 802B2E4C 002AFDAC C0 02 C2 48 */ lfs f0, lbl_805ADF68@sda21(r2)
/* 802B2E50 002AFDB0 BF 61 00 3C */ stmw r27, 0x3c(r1)
/* 802B2E54 002AFDB4 7C 9D 23 78 */ mr r29, r4
/* 802B2E58 002AFDB8 7C BE 2B 78 */ mr r30, r5
/* 802B2E5C 002AFDBC 7C 7C 1B 78 */ mr r28, r3
/* 802B2E60 002AFDC0 38 A1 00 1C */ addi r5, r1, 0x1c
/* 802B2E64 002AFDC4 3B E0 00 00 */ li r31, 0
/* 802B2E68 002AFDC8 38 80 00 5E */ li r4, 0x5e
/* 802B2E6C 002AFDCC 90 03 00 04 */ stw r0, 4(r3)
/* 802B2E70 002AFDD0 90 03 00 08 */ stw r0, 8(r3)
/* 802B2E74 002AFDD4 90 03 00 0C */ stw r0, 0xc(r3)
/* 802B2E78 002AFDD8 90 03 00 14 */ stw r0, 0x14(r3)
/* 802B2E7C 002AFDDC 90 03 00 18 */ stw r0, 0x18(r3)
/* 802B2E80 002AFDE0 90 03 00 1C */ stw r0, 0x1c(r3)
/* 802B2E84 002AFDE4 90 03 00 24 */ stw r0, 0x24(r3)
/* 802B2E88 002AFDE8 90 03 00 28 */ stw r0, 0x28(r3)
/* 802B2E8C 002AFDEC 90 03 00 2C */ stw r0, 0x2c(r3)
/* 802B2E90 002AFDF0 D0 23 00 30 */ stfs f1, 0x30(r3)
/* 802B2E94 002AFDF4 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 802B2E98 002AFDF8 98 01 00 28 */ stb r0, 0x28(r1)
/* 802B2E9C 002AFDFC 48 00 04 0D */ bl "resize__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fi"
/* 802B2EA0 002AFE00 88 01 00 28 */ lbz r0, 0x28(r1)
/* 802B2EA4 002AFE04 28 00 00 00 */ cmplwi r0, 0
/* 802B2EA8 002AFE08 41 82 00 1C */ beq lbl_802B2EC4
/* 802B2EAC 002AFE0C 34 61 00 1C */ addic. r3, r1, 0x1c
/* 802B2EB0 002AFE10 41 82 00 14 */ beq lbl_802B2EC4
/* 802B2EB4 002AFE14 28 03 00 00 */ cmplwi r3, 0
/* 802B2EB8 002AFE18 41 82 00 0C */ beq lbl_802B2EC4
/* 802B2EBC 002AFE1C 38 80 00 00 */ li r4, 0
/* 802B2EC0 002AFE20 48 08 DF 81 */ bl __dt__6CTokenFv
lbl_802B2EC4:
/* 802B2EC4 002AFE24 38 00 00 00 */ li r0, 0
/* 802B2EC8 002AFE28 38 7C 00 10 */ addi r3, r28, 0x10
/* 802B2ECC 002AFE2C 98 01 00 28 */ stb r0, 0x28(r1)
/* 802B2ED0 002AFE30 38 80 00 5E */ li r4, 0x5e
/* 802B2ED4 002AFE34 38 A2 C2 40 */ addi r5, r2, lbl_805ADF60@sda21
/* 802B2ED8 002AFE38 48 00 02 E1 */ bl "resize__Q24rstl36vector<i,Q24rstl17rmemory_allocator>Fi"
/* 802B2EDC 002AFE3C 38 00 00 00 */ li r0, 0
/* 802B2EE0 002AFE40 38 7C 00 20 */ addi r3, r28, 0x20
/* 802B2EE4 002AFE44 98 01 00 18 */ stb r0, 0x18(r1)
/* 802B2EE8 002AFE48 38 A1 00 0C */ addi r5, r1, 0xc
/* 802B2EEC 002AFE4C 38 80 00 5E */ li r4, 0x5e
/* 802B2EF0 002AFE50 48 00 01 49 */ bl "resize__Q24rstl96vector<Q24rstl52optional_object<33TLockedToken<17CDecalDescription>>,Q24rstl17rmemory_allocator>Fi"
/* 802B2EF4 002AFE54 88 01 00 18 */ lbz r0, 0x18(r1)
/* 802B2EF8 002AFE58 28 00 00 00 */ cmplwi r0, 0
/* 802B2EFC 002AFE5C 41 82 00 1C */ beq lbl_802B2F18
/* 802B2F00 002AFE60 34 61 00 0C */ addic. r3, r1, 0xc
/* 802B2F04 002AFE64 41 82 00 14 */ beq lbl_802B2F18
/* 802B2F08 002AFE68 28 03 00 00 */ cmplwi r3, 0
/* 802B2F0C 002AFE6C 41 82 00 0C */ beq lbl_802B2F18
/* 802B2F10 002AFE70 38 80 00 00 */ li r4, 0
/* 802B2F14 002AFE74 48 08 DF 2D */ bl __dt__6CTokenFv
lbl_802B2F18:
/* 802B2F18 002AFE78 38 00 00 00 */ li r0, 0
/* 802B2F1C 002AFE7C 7F A3 EB 78 */ mr r3, r29
/* 802B2F20 002AFE80 98 01 00 18 */ stb r0, 0x18(r1)
/* 802B2F24 002AFE84 48 07 55 39 */ bl GetClassID__20CParticleDataFactoryFR12CInputStream
/* 802B2F28 002AFE88 3C 03 BC AE */ addis r0, r3, 0xbcae
/* 802B2F2C 002AFE8C 28 00 53 4D */ cmplwi r0, 0x534d
/* 802B2F30 002AFE90 41 82 00 0C */ beq lbl_802B2F3C
/* 802B2F34 002AFE94 7F 83 E3 78 */ mr r3, r28
/* 802B2F38 002AFE98 48 00 00 EC */ b lbl_802B3024
lbl_802B2F3C:
/* 802B2F3C 002AFE9C 38 61 00 08 */ addi r3, r1, 8
/* 802B2F40 002AFEA0 38 80 00 63 */ li r4, 0x63
/* 802B2F44 002AFEA4 48 05 F6 A9 */ bl __ct__9CRandom16FUi
/* 802B2F48 002AFEA8 38 61 00 2C */ addi r3, r1, 0x2c
/* 802B2F4C 002AFEAC 38 81 00 08 */ addi r4, r1, 8
/* 802B2F50 002AFEB0 48 05 F7 31 */ bl __ct__13CGlobalRandomFR9CRandom16
/* 802B2F54 002AFEB4 48 00 00 B8 */ b lbl_802B300C
lbl_802B2F58:
/* 802B2F58 002AFEB8 7F A3 EB 78 */ mr r3, r29
/* 802B2F5C 002AFEBC 48 07 55 01 */ bl GetClassID__20CParticleDataFactoryFR12CInputStream
/* 802B2F60 002AFEC0 7C 60 1B 78 */ mr r0, r3
/* 802B2F64 002AFEC4 7F 83 E3 78 */ mr r3, r28
/* 802B2F68 002AFEC8 7C 1B 03 78 */ mr r27, r0
/* 802B2F6C 002AFECC 7F A5 EB 78 */ mr r5, r29
/* 802B2F70 002AFED0 7F 64 DB 78 */ mr r4, r27
/* 802B2F74 002AFED4 7F C6 F3 78 */ mr r6, r30
/* 802B2F78 002AFED8 4B FF FE 1D */ bl CheckAndAddResourcesToResponse__22CCollisionResponseDataFUiR12CInputStreamP11CSimplePool
/* 802B2F7C 002AFEDC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B2F80 002AFEE0 40 82 00 8C */ bne lbl_802B300C
/* 802B2F84 002AFEE4 3C 60 52 4E */ lis r3, 0x524E4745@ha
/* 802B2F88 002AFEE8 38 03 47 45 */ addi r0, r3, 0x524E4745@l
/* 802B2F8C 002AFEEC 7C 1B 00 00 */ cmpw r27, r0
/* 802B2F90 002AFEF0 41 82 00 30 */ beq lbl_802B2FC0
/* 802B2F94 002AFEF4 40 80 00 18 */ bge lbl_802B2FAC
/* 802B2F98 002AFEF8 3C 60 46 4F */ lis r3, 0x464F4646@ha
/* 802B2F9C 002AFEFC 38 03 46 46 */ addi r0, r3, 0x464F4646@l
/* 802B2FA0 002AFF00 7C 1B 00 00 */ cmpw r27, r0
/* 802B2FA4 002AFF04 41 82 00 34 */ beq lbl_802B2FD8
/* 802B2FA8 002AFF08 48 00 00 50 */ b lbl_802B2FF8
lbl_802B2FAC:
/* 802B2FAC 002AFF0C 3C 60 5F 45 */ lis r3, 0x5F454E44@ha
/* 802B2FB0 002AFF10 38 03 4E 44 */ addi r0, r3, 0x5F454E44@l
/* 802B2FB4 002AFF14 7C 1B 00 00 */ cmpw r27, r0
/* 802B2FB8 002AFF18 41 82 00 38 */ beq lbl_802B2FF0
/* 802B2FBC 002AFF1C 48 00 00 3C */ b lbl_802B2FF8
lbl_802B2FC0:
/* 802B2FC0 002AFF20 7F A3 EB 78 */ mr r3, r29
/* 802B2FC4 002AFF24 48 07 54 99 */ bl GetClassID__20CParticleDataFactoryFR12CInputStream
/* 802B2FC8 002AFF28 7F A3 EB 78 */ mr r3, r29
/* 802B2FCC 002AFF2C 48 07 54 1D */ bl GetReal__20CParticleDataFactoryFR12CInputStream
/* 802B2FD0 002AFF30 D0 3C 00 30 */ stfs f1, 0x30(r28)
/* 802B2FD4 002AFF34 48 00 00 38 */ b lbl_802B300C
lbl_802B2FD8:
/* 802B2FD8 002AFF38 7F A3 EB 78 */ mr r3, r29
/* 802B2FDC 002AFF3C 48 07 54 81 */ bl GetClassID__20CParticleDataFactoryFR12CInputStream
/* 802B2FE0 002AFF40 7F A3 EB 78 */ mr r3, r29
/* 802B2FE4 002AFF44 48 07 54 05 */ bl GetReal__20CParticleDataFactoryFR12CInputStream
/* 802B2FE8 002AFF48 D0 3C 00 34 */ stfs f1, 0x34(r28)
/* 802B2FEC 002AFF4C 48 00 00 20 */ b lbl_802B300C
lbl_802B2FF0:
/* 802B2FF0 002AFF50 3B E0 00 01 */ li r31, 1
/* 802B2FF4 002AFF54 48 00 00 18 */ b lbl_802B300C
lbl_802B2FF8:
/* 802B2FF8 002AFF58 38 61 00 2C */ addi r3, r1, 0x2c
/* 802B2FFC 002AFF5C 38 80 FF FF */ li r4, -1
/* 802B3000 002AFF60 48 05 F6 05 */ bl __dt__13CGlobalRandomFv
/* 802B3004 002AFF64 7F 83 E3 78 */ mr r3, r28
/* 802B3008 002AFF68 48 00 00 1C */ b lbl_802B3024
lbl_802B300C:
/* 802B300C 002AFF6C 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 802B3010 002AFF70 41 82 FF 48 */ beq lbl_802B2F58
/* 802B3014 002AFF74 38 61 00 2C */ addi r3, r1, 0x2c
/* 802B3018 002AFF78 38 80 FF FF */ li r4, -1
/* 802B301C 002AFF7C 48 05 F5 E9 */ bl __dt__13CGlobalRandomFv
/* 802B3020 002AFF80 7F 83 E3 78 */ mr r3, r28
lbl_802B3024:
/* 802B3024 002AFF84 BB 61 00 3C */ lmw r27, 0x3c(r1)
/* 802B3028 002AFF88 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802B302C 002AFF8C 7C 08 03 A6 */ mtlr r0
/* 802B3030 002AFF90 38 21 00 50 */ addi r1, r1, 0x50
/* 802B3034 002AFF94 4E 80 00 20 */ blr
.global "resize__Q24rstl96vector<Q24rstl52optional_object<33TLockedToken<17CDecalDescription>>,Q24rstl17rmemory_allocator>Fi"
"resize__Q24rstl96vector<Q24rstl52optional_object<33TLockedToken<17CDecalDescription>>,Q24rstl17rmemory_allocator>Fi":
/* 802B3038 002AFF98 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B303C 002AFF9C 7C 08 02 A6 */ mflr r0
/* 802B3040 002AFFA0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B3044 002AFFA4 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 802B3048 002AFFA8 7C 7B 1B 78 */ mr r27, r3
/* 802B304C 002AFFAC 7C 9C 23 78 */ mr r28, r4
/* 802B3050 002AFFB0 7C BD 2B 78 */ mr r29, r5
/* 802B3054 002AFFB4 48 00 00 B9 */ bl sub_802b310c
/* 802B3058 002AFFB8 7F 63 DB 78 */ mr r3, r27
/* 802B305C 002AFFBC 7F 84 E3 78 */ mr r4, r28
/* 802B3060 002AFFC0 48 00 05 09 */ bl "reserve__Q24rstl96vector<Q24rstl52optional_object<33TLockedToken<17CDecalDescription>>,Q24rstl17rmemory_allocator>Fi"
/* 802B3064 002AFFC4 3B C0 00 00 */ li r30, 0
/* 802B3068 002AFFC8 48 00 00 88 */ b lbl_802B30F0
lbl_802B306C:
/* 802B306C 002AFFCC 80 1B 00 04 */ lwz r0, 4(r27)
/* 802B3070 002AFFD0 80 BB 00 08 */ lwz r5, 8(r27)
/* 802B3074 002AFFD4 7C 00 28 00 */ cmpw r0, r5
/* 802B3078 002AFFD8 41 80 00 1C */ blt lbl_802B3094
/* 802B307C 002AFFDC 2C 05 00 00 */ cmpwi r5, 0
/* 802B3080 002AFFE0 7F 63 DB 78 */ mr r3, r27
/* 802B3084 002AFFE4 38 80 00 04 */ li r4, 4
/* 802B3088 002AFFE8 41 82 00 08 */ beq lbl_802B3090
/* 802B308C 002AFFEC 54 A4 08 3C */ slwi r4, r5, 1
lbl_802B3090:
/* 802B3090 002AFFF0 48 00 04 D9 */ bl "reserve__Q24rstl96vector<Q24rstl52optional_object<33TLockedToken<17CDecalDescription>>,Q24rstl17rmemory_allocator>Fi"
lbl_802B3094:
/* 802B3094 002AFFF4 80 1B 00 04 */ lwz r0, 4(r27)
/* 802B3098 002AFFF8 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 802B309C 002AFFFC 54 00 20 36 */ slwi r0, r0, 4
/* 802B30A0 002B0000 7F E3 02 15 */ add. r31, r3, r0
/* 802B30A4 002B0004 41 82 00 3C */ beq lbl_802B30E0
/* 802B30A8 002B0008 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 802B30AC 002B000C 98 1F 00 0C */ stb r0, 0xc(r31)
/* 802B30B0 002B0010 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 802B30B4 002B0014 28 00 00 00 */ cmplwi r0, 0
/* 802B30B8 002B0018 41 82 00 28 */ beq lbl_802B30E0
/* 802B30BC 002B001C 28 1F 00 00 */ cmplwi r31, 0
/* 802B30C0 002B0020 41 82 00 20 */ beq lbl_802B30E0
/* 802B30C4 002B0024 7F E3 FB 78 */ mr r3, r31
/* 802B30C8 002B0028 7F A4 EB 78 */ mr r4, r29
/* 802B30CC 002B002C 48 08 DD DD */ bl __ct__6CTokenFRC6CToken
/* 802B30D0 002B0030 80 1D 00 08 */ lwz r0, 8(r29)
/* 802B30D4 002B0034 7F E3 FB 78 */ mr r3, r31
/* 802B30D8 002B0038 90 1F 00 08 */ stw r0, 8(r31)
/* 802B30DC 002B003C 48 08 DC A9 */ bl Lock__6CTokenFv
lbl_802B30E0:
/* 802B30E0 002B0040 80 7B 00 04 */ lwz r3, 4(r27)
/* 802B30E4 002B0044 3B DE 00 01 */ addi r30, r30, 1
/* 802B30E8 002B0048 38 03 00 01 */ addi r0, r3, 1
/* 802B30EC 002B004C 90 1B 00 04 */ stw r0, 4(r27)
lbl_802B30F0:
/* 802B30F0 002B0050 7C 1E E0 00 */ cmpw r30, r28
/* 802B30F4 002B0054 41 80 FF 78 */ blt lbl_802B306C
/* 802B30F8 002B0058 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 802B30FC 002B005C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B3100 002B0060 7C 08 03 A6 */ mtlr r0
/* 802B3104 002B0064 38 21 00 20 */ addi r1, r1, 0x20
/* 802B3108 002B0068 4E 80 00 20 */ blr
.global sub_802b310c
sub_802b310c:
/* 802B310C 002B006C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802B3110 002B0070 7C 08 02 A6 */ mflr r0
/* 802B3114 002B0074 90 01 00 34 */ stw r0, 0x34(r1)
/* 802B3118 002B0078 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802B311C 002B007C 3B E0 00 00 */ li r31, 0
/* 802B3120 002B0080 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802B3124 002B0084 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802B3128 002B0088 93 81 00 20 */ stw r28, 0x20(r1)
/* 802B312C 002B008C 7C 7C 1B 78 */ mr r28, r3
/* 802B3130 002B0090 80 03 00 04 */ lwz r0, 4(r3)
/* 802B3134 002B0094 83 A3 00 0C */ lwz r29, 0xc(r3)
/* 802B3138 002B0098 54 00 20 36 */ slwi r0, r0, 4
/* 802B313C 002B009C 7F DD 02 14 */ add r30, r29, r0
/* 802B3140 002B00A0 93 A1 00 10 */ stw r29, 0x10(r1)
/* 802B3144 002B00A4 93 C1 00 08 */ stw r30, 8(r1)
/* 802B3148 002B00A8 93 C1 00 0C */ stw r30, 0xc(r1)
/* 802B314C 002B00AC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B3150 002B00B0 48 00 00 38 */ b lbl_802B3188
lbl_802B3154:
/* 802B3154 002B00B4 28 1D 00 00 */ cmplwi r29, 0
/* 802B3158 002B00B8 41 82 00 2C */ beq lbl_802B3184
/* 802B315C 002B00BC 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 802B3160 002B00C0 28 00 00 00 */ cmplwi r0, 0
/* 802B3164 002B00C4 41 82 00 1C */ beq lbl_802B3180
/* 802B3168 002B00C8 28 1D 00 00 */ cmplwi r29, 0
/* 802B316C 002B00CC 41 82 00 14 */ beq lbl_802B3180
/* 802B3170 002B00D0 41 82 00 10 */ beq lbl_802B3180
/* 802B3174 002B00D4 7F A3 EB 78 */ mr r3, r29
/* 802B3178 002B00D8 38 80 00 00 */ li r4, 0
/* 802B317C 002B00DC 48 08 DC C5 */ bl __dt__6CTokenFv
lbl_802B3180:
/* 802B3180 002B00E0 9B FD 00 0C */ stb r31, 0xc(r29)
lbl_802B3184:
/* 802B3184 002B00E4 3B BD 00 10 */ addi r29, r29, 0x10
lbl_802B3188:
/* 802B3188 002B00E8 7C 1D F0 40 */ cmplw r29, r30
/* 802B318C 002B00EC 40 82 FF C8 */ bne lbl_802B3154
/* 802B3190 002B00F0 38 00 00 00 */ li r0, 0
/* 802B3194 002B00F4 90 1C 00 04 */ stw r0, 4(r28)
/* 802B3198 002B00F8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B319C 002B00FC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802B31A0 002B0100 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802B31A4 002B0104 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802B31A8 002B0108 83 81 00 20 */ lwz r28, 0x20(r1)
/* 802B31AC 002B010C 7C 08 03 A6 */ mtlr r0
/* 802B31B0 002B0110 38 21 00 30 */ addi r1, r1, 0x30
/* 802B31B4 002B0114 4E 80 00 20 */ blr
.global "resize__Q24rstl36vector<i,Q24rstl17rmemory_allocator>Fi"
"resize__Q24rstl36vector<i,Q24rstl17rmemory_allocator>Fi":
/* 802B31B8 002B0118 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802B31BC 002B011C 7C 08 02 A6 */ mflr r0
/* 802B31C0 002B0120 90 01 00 34 */ stw r0, 0x34(r1)
/* 802B31C4 002B0124 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802B31C8 002B0128 7C BF 2B 78 */ mr r31, r5
/* 802B31CC 002B012C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802B31D0 002B0130 7C 9E 23 78 */ mr r30, r4
/* 802B31D4 002B0134 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802B31D8 002B0138 7C 7D 1B 78 */ mr r29, r3
/* 802B31DC 002B013C 93 81 00 20 */ stw r28, 0x20(r1)
/* 802B31E0 002B0140 80 03 00 04 */ lwz r0, 4(r3)
/* 802B31E4 002B0144 80 63 00 0C */ lwz r3, 0xc(r3)
/* 802B31E8 002B0148 54 00 10 3A */ slwi r0, r0, 2
/* 802B31EC 002B014C 7C 03 02 14 */ add r0, r3, r0
/* 802B31F0 002B0150 90 61 00 0C */ stw r3, 0xc(r1)
/* 802B31F4 002B0154 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B31F8 002B0158 90 01 00 10 */ stw r0, 0x10(r1)
/* 802B31FC 002B015C 90 61 00 08 */ stw r3, 8(r1)
/* 802B3200 002B0160 48 00 00 08 */ b lbl_802B3208
lbl_802B3204:
/* 802B3204 002B0164 38 63 00 04 */ addi r3, r3, 4
lbl_802B3208:
/* 802B3208 002B0168 7C 03 00 40 */ cmplw r3, r0
/* 802B320C 002B016C 40 82 FF F8 */ bne lbl_802B3204
/* 802B3210 002B0170 38 00 00 00 */ li r0, 0
/* 802B3214 002B0174 7F A3 EB 78 */ mr r3, r29
/* 802B3218 002B0178 90 1D 00 04 */ stw r0, 4(r29)
/* 802B321C 002B017C 7F C4 F3 78 */ mr r4, r30
/* 802B3220 002B0180 4B DA 6A 89 */ bl "reserve__Q24rstl36vector<i,Q24rstl17rmemory_allocator>Fi"
/* 802B3224 002B0184 3B 80 00 00 */ li r28, 0
/* 802B3228 002B0188 48 00 00 58 */ b lbl_802B3280
lbl_802B322C:
/* 802B322C 002B018C 80 1D 00 04 */ lwz r0, 4(r29)
/* 802B3230 002B0190 80 BD 00 08 */ lwz r5, 8(r29)
/* 802B3234 002B0194 7C 00 28 00 */ cmpw r0, r5
/* 802B3238 002B0198 41 80 00 1C */ blt lbl_802B3254
/* 802B323C 002B019C 2C 05 00 00 */ cmpwi r5, 0
/* 802B3240 002B01A0 7F A3 EB 78 */ mr r3, r29
/* 802B3244 002B01A4 38 80 00 04 */ li r4, 4
/* 802B3248 002B01A8 41 82 00 08 */ beq lbl_802B3250
/* 802B324C 002B01AC 54 A4 08 3C */ slwi r4, r5, 1
lbl_802B3250:
/* 802B3250 002B01B0 4B DA 6A 59 */ bl "reserve__Q24rstl36vector<i,Q24rstl17rmemory_allocator>Fi"
lbl_802B3254:
/* 802B3254 002B01B4 80 1D 00 04 */ lwz r0, 4(r29)
/* 802B3258 002B01B8 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 802B325C 002B01BC 54 00 10 3A */ slwi r0, r0, 2
/* 802B3260 002B01C0 7C 63 02 15 */ add. r3, r3, r0
/* 802B3264 002B01C4 41 82 00 0C */ beq lbl_802B3270
/* 802B3268 002B01C8 80 1F 00 00 */ lwz r0, 0(r31)
/* 802B326C 002B01CC 90 03 00 00 */ stw r0, 0(r3)
lbl_802B3270:
/* 802B3270 002B01D0 80 7D 00 04 */ lwz r3, 4(r29)
/* 802B3274 002B01D4 3B 9C 00 01 */ addi r28, r28, 1
/* 802B3278 002B01D8 38 03 00 01 */ addi r0, r3, 1
/* 802B327C 002B01DC 90 1D 00 04 */ stw r0, 4(r29)
lbl_802B3280:
/* 802B3280 002B01E0 7C 1C F0 00 */ cmpw r28, r30
/* 802B3284 002B01E4 41 80 FF A8 */ blt lbl_802B322C
/* 802B3288 002B01E8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B328C 002B01EC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802B3290 002B01F0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802B3294 002B01F4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802B3298 002B01F8 83 81 00 20 */ lwz r28, 0x20(r1)
/* 802B329C 002B01FC 7C 08 03 A6 */ mtlr r0
/* 802B32A0 002B0200 38 21 00 30 */ addi r1, r1, 0x30
/* 802B32A4 002B0204 4E 80 00 20 */ blr
.global "resize__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fi"
"resize__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fi":
/* 802B32A8 002B0208 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B32AC 002B020C 7C 08 02 A6 */ mflr r0
/* 802B32B0 002B0210 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B32B4 002B0214 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 802B32B8 002B0218 7C 7B 1B 78 */ mr r27, r3
/* 802B32BC 002B021C 7C 9C 23 78 */ mr r28, r4
/* 802B32C0 002B0220 7C BD 2B 78 */ mr r29, r5
/* 802B32C4 002B0224 48 00 00 B9 */ bl "clear__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fv"
/* 802B32C8 002B0228 7F 63 DB 78 */ mr r3, r27
/* 802B32CC 002B022C 7F 84 E3 78 */ mr r4, r28
/* 802B32D0 002B0230 48 00 01 59 */ bl "reserve__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fi"
/* 802B32D4 002B0234 3B C0 00 00 */ li r30, 0
/* 802B32D8 002B0238 48 00 00 88 */ b lbl_802B3360
lbl_802B32DC:
/* 802B32DC 002B023C 80 1B 00 04 */ lwz r0, 4(r27)
/* 802B32E0 002B0240 80 BB 00 08 */ lwz r5, 8(r27)
/* 802B32E4 002B0244 7C 00 28 00 */ cmpw r0, r5
/* 802B32E8 002B0248 41 80 00 1C */ blt lbl_802B3304
/* 802B32EC 002B024C 2C 05 00 00 */ cmpwi r5, 0
/* 802B32F0 002B0250 7F 63 DB 78 */ mr r3, r27
/* 802B32F4 002B0254 38 80 00 04 */ li r4, 4
/* 802B32F8 002B0258 41 82 00 08 */ beq lbl_802B3300
/* 802B32FC 002B025C 54 A4 08 3C */ slwi r4, r5, 1
lbl_802B3300:
/* 802B3300 002B0260 48 00 01 29 */ bl "reserve__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fi"
lbl_802B3304:
/* 802B3304 002B0264 80 1B 00 04 */ lwz r0, 4(r27)
/* 802B3308 002B0268 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 802B330C 002B026C 54 00 20 36 */ slwi r0, r0, 4
/* 802B3310 002B0270 7F E3 02 15 */ add. r31, r3, r0
/* 802B3314 002B0274 41 82 00 3C */ beq lbl_802B3350
/* 802B3318 002B0278 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 802B331C 002B027C 98 1F 00 0C */ stb r0, 0xc(r31)
/* 802B3320 002B0280 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 802B3324 002B0284 28 00 00 00 */ cmplwi r0, 0
/* 802B3328 002B0288 41 82 00 28 */ beq lbl_802B3350
/* 802B332C 002B028C 28 1F 00 00 */ cmplwi r31, 0
/* 802B3330 002B0290 41 82 00 20 */ beq lbl_802B3350
/* 802B3334 002B0294 7F E3 FB 78 */ mr r3, r31
/* 802B3338 002B0298 7F A4 EB 78 */ mr r4, r29
/* 802B333C 002B029C 48 08 DB 6D */ bl __ct__6CTokenFRC6CToken
/* 802B3340 002B02A0 80 1D 00 08 */ lwz r0, 8(r29)
/* 802B3344 002B02A4 7F E3 FB 78 */ mr r3, r31
/* 802B3348 002B02A8 90 1F 00 08 */ stw r0, 8(r31)
/* 802B334C 002B02AC 48 08 DA 39 */ bl Lock__6CTokenFv
lbl_802B3350:
/* 802B3350 002B02B0 80 7B 00 04 */ lwz r3, 4(r27)
/* 802B3354 002B02B4 3B DE 00 01 */ addi r30, r30, 1
/* 802B3358 002B02B8 38 03 00 01 */ addi r0, r3, 1
/* 802B335C 002B02BC 90 1B 00 04 */ stw r0, 4(r27)
lbl_802B3360:
/* 802B3360 002B02C0 7C 1E E0 00 */ cmpw r30, r28
/* 802B3364 002B02C4 41 80 FF 78 */ blt lbl_802B32DC
/* 802B3368 002B02C8 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 802B336C 002B02CC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B3370 002B02D0 7C 08 03 A6 */ mtlr r0
/* 802B3374 002B02D4 38 21 00 20 */ addi r1, r1, 0x20
/* 802B3378 002B02D8 4E 80 00 20 */ blr
.global "clear__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fv"
"clear__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fv":
/* 802B337C 002B02DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802B3380 002B02E0 7C 08 02 A6 */ mflr r0
/* 802B3384 002B02E4 90 01 00 34 */ stw r0, 0x34(r1)
/* 802B3388 002B02E8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802B338C 002B02EC 3B E0 00 00 */ li r31, 0
/* 802B3390 002B02F0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802B3394 002B02F4 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802B3398 002B02F8 93 81 00 20 */ stw r28, 0x20(r1)
/* 802B339C 002B02FC 7C 7C 1B 78 */ mr r28, r3
/* 802B33A0 002B0300 80 03 00 04 */ lwz r0, 4(r3)
/* 802B33A4 002B0304 83 A3 00 0C */ lwz r29, 0xc(r3)
/* 802B33A8 002B0308 54 00 20 36 */ slwi r0, r0, 4
/* 802B33AC 002B030C 7F DD 02 14 */ add r30, r29, r0
/* 802B33B0 002B0310 93 A1 00 10 */ stw r29, 0x10(r1)
/* 802B33B4 002B0314 93 C1 00 08 */ stw r30, 8(r1)
/* 802B33B8 002B0318 93 C1 00 0C */ stw r30, 0xc(r1)
/* 802B33BC 002B031C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B33C0 002B0320 48 00 00 38 */ b lbl_802B33F8
lbl_802B33C4:
/* 802B33C4 002B0324 28 1D 00 00 */ cmplwi r29, 0
/* 802B33C8 002B0328 41 82 00 2C */ beq lbl_802B33F4
/* 802B33CC 002B032C 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 802B33D0 002B0330 28 00 00 00 */ cmplwi r0, 0
/* 802B33D4 002B0334 41 82 00 1C */ beq lbl_802B33F0
/* 802B33D8 002B0338 28 1D 00 00 */ cmplwi r29, 0
/* 802B33DC 002B033C 41 82 00 14 */ beq lbl_802B33F0
/* 802B33E0 002B0340 41 82 00 10 */ beq lbl_802B33F0
/* 802B33E4 002B0344 7F A3 EB 78 */ mr r3, r29
/* 802B33E8 002B0348 38 80 00 00 */ li r4, 0
/* 802B33EC 002B034C 48 08 DA 55 */ bl __dt__6CTokenFv
lbl_802B33F0:
/* 802B33F0 002B0350 9B FD 00 0C */ stb r31, 0xc(r29)
lbl_802B33F4:
/* 802B33F4 002B0354 3B BD 00 10 */ addi r29, r29, 0x10
lbl_802B33F8:
/* 802B33F8 002B0358 7C 1D F0 40 */ cmplw r29, r30
/* 802B33FC 002B035C 40 82 FF C8 */ bne lbl_802B33C4
/* 802B3400 002B0360 38 00 00 00 */ li r0, 0
/* 802B3404 002B0364 90 1C 00 04 */ stw r0, 4(r28)
/* 802B3408 002B0368 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B340C 002B036C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802B3410 002B0370 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802B3414 002B0374 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802B3418 002B0378 83 81 00 20 */ lwz r28, 0x20(r1)
/* 802B341C 002B037C 7C 08 03 A6 */ mtlr r0
/* 802B3420 002B0380 38 21 00 30 */ addi r1, r1, 0x30
/* 802B3424 002B0384 4E 80 00 20 */ blr
.global "reserve__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl94vector<Q24rstl50optional_object<31TLockedToken<15CGenDescription>>,Q24rstl17rmemory_allocator>Fi":
/* 802B3428 002B0388 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802B342C 002B038C 7C 08 02 A6 */ mflr r0
/* 802B3430 002B0390 90 01 00 34 */ stw r0, 0x34(r1)
/* 802B3434 002B0394 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 802B3438 002B0398 7C 9F 23 78 */ mr r31, r4
/* 802B343C 002B039C 7C 7E 1B 78 */ mr r30, r3
/* 802B3440 002B03A0 80 03 00 08 */ lwz r0, 8(r3)
/* 802B3444 002B03A4 7C 1F 00 00 */ cmpw r31, r0
/* 802B3448 002B03A8 40 81 01 0C */ ble lbl_802B3554
/* 802B344C 002B03AC 57 E3 20 37 */ rlwinm. r3, r31, 4, 0, 0x1b
/* 802B3450 002B03B0 40 82 00 0C */ bne lbl_802B345C
/* 802B3454 002B03B4 3B 80 00 00 */ li r28, 0
/* 802B3458 002B03B8 48 00 00 18 */ b lbl_802B3470
lbl_802B345C:
/* 802B345C 002B03BC 3C 80 80 3D */ lis r4, lbl_803D6540@ha
/* 802B3460 002B03C0 38 A0 00 00 */ li r5, 0
/* 802B3464 002B03C4 38 84 65 40 */ addi r4, r4, lbl_803D6540@l
/* 802B3468 002B03C8 48 06 23 B1 */ bl __nwa__FUlPCcPCc
/* 802B346C 002B03CC 7C 7C 1B 78 */ mr r28, r3
lbl_802B3470:
/* 802B3470 002B03D0 80 1E 00 04 */ lwz r0, 4(r30)
/* 802B3474 002B03D4 7F 9B E3 78 */ mr r27, r28
/* 802B3478 002B03D8 83 5E 00 0C */ lwz r26, 0xc(r30)
/* 802B347C 002B03DC 54 00 20 36 */ slwi r0, r0, 4
/* 802B3480 002B03E0 7F BA 02 14 */ add r29, r26, r0
/* 802B3484 002B03E4 93 41 00 10 */ stw r26, 0x10(r1)
/* 802B3488 002B03E8 93 A1 00 08 */ stw r29, 8(r1)
/* 802B348C 002B03EC 93 A1 00 0C */ stw r29, 0xc(r1)
/* 802B3490 002B03F0 93 41 00 14 */ stw r26, 0x14(r1)
/* 802B3494 002B03F4 48 00 00 4C */ b lbl_802B34E0
lbl_802B3498:
/* 802B3498 002B03F8 28 1B 00 00 */ cmplwi r27, 0
/* 802B349C 002B03FC 41 82 00 3C */ beq lbl_802B34D8
/* 802B34A0 002B0400 88 1A 00 0C */ lbz r0, 0xc(r26)
/* 802B34A4 002B0404 98 1B 00 0C */ stb r0, 0xc(r27)
/* 802B34A8 002B0408 88 1A 00 0C */ lbz r0, 0xc(r26)
/* 802B34AC 002B040C 28 00 00 00 */ cmplwi r0, 0
/* 802B34B0 002B0410 41 82 00 28 */ beq lbl_802B34D8
/* 802B34B4 002B0414 28 1B 00 00 */ cmplwi r27, 0
/* 802B34B8 002B0418 41 82 00 20 */ beq lbl_802B34D8
/* 802B34BC 002B041C 7F 63 DB 78 */ mr r3, r27
/* 802B34C0 002B0420 7F 44 D3 78 */ mr r4, r26
/* 802B34C4 002B0424 48 08 D9 E5 */ bl __ct__6CTokenFRC6CToken
/* 802B34C8 002B0428 80 1A 00 08 */ lwz r0, 8(r26)
/* 802B34CC 002B042C 7F 63 DB 78 */ mr r3, r27
/* 802B34D0 002B0430 90 1B 00 08 */ stw r0, 8(r27)
/* 802B34D4 002B0434 48 08 D8 B1 */ bl Lock__6CTokenFv
lbl_802B34D8:
/* 802B34D8 002B0438 3B 7B 00 10 */ addi r27, r27, 0x10
/* 802B34DC 002B043C 3B 5A 00 10 */ addi r26, r26, 0x10
lbl_802B34E0:
/* 802B34E0 002B0440 7C 1A E8 40 */ cmplw r26, r29
/* 802B34E4 002B0444 40 82 FF B4 */ bne lbl_802B3498
/* 802B34E8 002B0448 80 1E 00 04 */ lwz r0, 4(r30)
/* 802B34EC 002B044C 3B A0 00 00 */ li r29, 0
/* 802B34F0 002B0450 83 5E 00 0C */ lwz r26, 0xc(r30)
/* 802B34F4 002B0454 54 00 20 36 */ slwi r0, r0, 4
/* 802B34F8 002B0458 7F 7A 02 14 */ add r27, r26, r0
/* 802B34FC 002B045C 48 00 00 38 */ b lbl_802B3534
lbl_802B3500:
/* 802B3500 002B0460 28 1A 00 00 */ cmplwi r26, 0
/* 802B3504 002B0464 41 82 00 2C */ beq lbl_802B3530
/* 802B3508 002B0468 88 1A 00 0C */ lbz r0, 0xc(r26)
/* 802B350C 002B046C 28 00 00 00 */ cmplwi r0, 0
/* 802B3510 002B0470 41 82 00 1C */ beq lbl_802B352C
/* 802B3514 002B0474 28 1A 00 00 */ cmplwi r26, 0
/* 802B3518 002B0478 41 82 00 14 */ beq lbl_802B352C
/* 802B351C 002B047C 41 82 00 10 */ beq lbl_802B352C
/* 802B3520 002B0480 7F 43 D3 78 */ mr r3, r26
/* 802B3524 002B0484 38 80 00 00 */ li r4, 0
/* 802B3528 002B0488 48 08 D9 19 */ bl __dt__6CTokenFv
lbl_802B352C:
/* 802B352C 002B048C 9B BA 00 0C */ stb r29, 0xc(r26)
lbl_802B3530:
/* 802B3530 002B0490 3B 5A 00 10 */ addi r26, r26, 0x10
lbl_802B3534:
/* 802B3534 002B0494 7C 1A D8 40 */ cmplw r26, r27
/* 802B3538 002B0498 40 82 FF C8 */ bne lbl_802B3500
/* 802B353C 002B049C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802B3540 002B04A0 28 03 00 00 */ cmplwi r3, 0
/* 802B3544 002B04A4 41 82 00 08 */ beq lbl_802B354C
/* 802B3548 002B04A8 48 06 23 E9 */ bl Free__7CMemoryFPCv
lbl_802B354C:
/* 802B354C 002B04AC 93 9E 00 0C */ stw r28, 0xc(r30)
/* 802B3550 002B04B0 93 FE 00 08 */ stw r31, 8(r30)
lbl_802B3554:
/* 802B3554 002B04B4 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 802B3558 002B04B8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B355C 002B04BC 7C 08 03 A6 */ mtlr r0
/* 802B3560 002B04C0 38 21 00 30 */ addi r1, r1, 0x30
/* 802B3564 002B04C4 4E 80 00 20 */ blr
.global "reserve__Q24rstl96vector<Q24rstl52optional_object<33TLockedToken<17CDecalDescription>>,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl96vector<Q24rstl52optional_object<33TLockedToken<17CDecalDescription>>,Q24rstl17rmemory_allocator>Fi":
/* 802B3568 002B04C8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802B356C 002B04CC 7C 08 02 A6 */ mflr r0
/* 802B3570 002B04D0 90 01 00 34 */ stw r0, 0x34(r1)
/* 802B3574 002B04D4 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 802B3578 002B04D8 7C 9F 23 78 */ mr r31, r4
/* 802B357C 002B04DC 7C 7E 1B 78 */ mr r30, r3
/* 802B3580 002B04E0 80 03 00 08 */ lwz r0, 8(r3)
/* 802B3584 002B04E4 7C 1F 00 00 */ cmpw r31, r0
/* 802B3588 002B04E8 40 81 01 0C */ ble lbl_802B3694
/* 802B358C 002B04EC 57 E3 20 37 */ rlwinm. r3, r31, 4, 0, 0x1b
/* 802B3590 002B04F0 40 82 00 0C */ bne lbl_802B359C
/* 802B3594 002B04F4 3B 80 00 00 */ li r28, 0
/* 802B3598 002B04F8 48 00 00 18 */ b lbl_802B35B0
lbl_802B359C:
/* 802B359C 002B04FC 3C 80 80 3D */ lis r4, lbl_803D6540@ha
/* 802B35A0 002B0500 38 A0 00 00 */ li r5, 0
/* 802B35A4 002B0504 38 84 65 40 */ addi r4, r4, lbl_803D6540@l
/* 802B35A8 002B0508 48 06 22 71 */ bl __nwa__FUlPCcPCc
/* 802B35AC 002B050C 7C 7C 1B 78 */ mr r28, r3
lbl_802B35B0:
/* 802B35B0 002B0510 80 1E 00 04 */ lwz r0, 4(r30)
/* 802B35B4 002B0514 7F 9B E3 78 */ mr r27, r28
/* 802B35B8 002B0518 83 5E 00 0C */ lwz r26, 0xc(r30)
/* 802B35BC 002B051C 54 00 20 36 */ slwi r0, r0, 4
/* 802B35C0 002B0520 7F BA 02 14 */ add r29, r26, r0
/* 802B35C4 002B0524 93 41 00 10 */ stw r26, 0x10(r1)
/* 802B35C8 002B0528 93 A1 00 08 */ stw r29, 8(r1)
/* 802B35CC 002B052C 93 A1 00 0C */ stw r29, 0xc(r1)
/* 802B35D0 002B0530 93 41 00 14 */ stw r26, 0x14(r1)
/* 802B35D4 002B0534 48 00 00 4C */ b lbl_802B3620
lbl_802B35D8:
/* 802B35D8 002B0538 28 1B 00 00 */ cmplwi r27, 0
/* 802B35DC 002B053C 41 82 00 3C */ beq lbl_802B3618
/* 802B35E0 002B0540 88 1A 00 0C */ lbz r0, 0xc(r26)
/* 802B35E4 002B0544 98 1B 00 0C */ stb r0, 0xc(r27)
/* 802B35E8 002B0548 88 1A 00 0C */ lbz r0, 0xc(r26)
/* 802B35EC 002B054C 28 00 00 00 */ cmplwi r0, 0
/* 802B35F0 002B0550 41 82 00 28 */ beq lbl_802B3618
/* 802B35F4 002B0554 28 1B 00 00 */ cmplwi r27, 0
/* 802B35F8 002B0558 41 82 00 20 */ beq lbl_802B3618
/* 802B35FC 002B055C 7F 63 DB 78 */ mr r3, r27
/* 802B3600 002B0560 7F 44 D3 78 */ mr r4, r26
/* 802B3604 002B0564 48 08 D8 A5 */ bl __ct__6CTokenFRC6CToken
/* 802B3608 002B0568 80 1A 00 08 */ lwz r0, 8(r26)
/* 802B360C 002B056C 7F 63 DB 78 */ mr r3, r27
/* 802B3610 002B0570 90 1B 00 08 */ stw r0, 8(r27)
/* 802B3614 002B0574 48 08 D7 71 */ bl Lock__6CTokenFv
lbl_802B3618:
/* 802B3618 002B0578 3B 7B 00 10 */ addi r27, r27, 0x10
/* 802B361C 002B057C 3B 5A 00 10 */ addi r26, r26, 0x10
lbl_802B3620:
/* 802B3620 002B0580 7C 1A E8 40 */ cmplw r26, r29
/* 802B3624 002B0584 40 82 FF B4 */ bne lbl_802B35D8
/* 802B3628 002B0588 80 1E 00 04 */ lwz r0, 4(r30)
/* 802B362C 002B058C 3B A0 00 00 */ li r29, 0
/* 802B3630 002B0590 83 5E 00 0C */ lwz r26, 0xc(r30)
/* 802B3634 002B0594 54 00 20 36 */ slwi r0, r0, 4
/* 802B3638 002B0598 7F 7A 02 14 */ add r27, r26, r0
/* 802B363C 002B059C 48 00 00 38 */ b lbl_802B3674
lbl_802B3640:
/* 802B3640 002B05A0 28 1A 00 00 */ cmplwi r26, 0
/* 802B3644 002B05A4 41 82 00 2C */ beq lbl_802B3670
/* 802B3648 002B05A8 88 1A 00 0C */ lbz r0, 0xc(r26)
/* 802B364C 002B05AC 28 00 00 00 */ cmplwi r0, 0
/* 802B3650 002B05B0 41 82 00 1C */ beq lbl_802B366C
/* 802B3654 002B05B4 28 1A 00 00 */ cmplwi r26, 0
/* 802B3658 002B05B8 41 82 00 14 */ beq lbl_802B366C
/* 802B365C 002B05BC 41 82 00 10 */ beq lbl_802B366C
/* 802B3660 002B05C0 7F 43 D3 78 */ mr r3, r26
/* 802B3664 002B05C4 38 80 00 00 */ li r4, 0
/* 802B3668 002B05C8 48 08 D7 D9 */ bl __dt__6CTokenFv
lbl_802B366C:
/* 802B366C 002B05CC 9B BA 00 0C */ stb r29, 0xc(r26)
lbl_802B3670:
/* 802B3670 002B05D0 3B 5A 00 10 */ addi r26, r26, 0x10
lbl_802B3674:
/* 802B3674 002B05D4 7C 1A D8 40 */ cmplw r26, r27
/* 802B3678 002B05D8 40 82 FF C8 */ bne lbl_802B3640
/* 802B367C 002B05DC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802B3680 002B05E0 28 03 00 00 */ cmplwi r3, 0
/* 802B3684 002B05E4 41 82 00 08 */ beq lbl_802B368C
/* 802B3688 002B05E8 48 06 22 A9 */ bl Free__7CMemoryFPCv
lbl_802B368C:
/* 802B368C 002B05EC 93 9E 00 0C */ stw r28, 0xc(r30)
/* 802B3690 002B05F0 93 FE 00 08 */ stw r31, 8(r30)
lbl_802B3694:
/* 802B3694 002B05F4 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 802B3698 002B05F8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B369C 002B05FC 7C 08 03 A6 */ mtlr r0
/* 802B36A0 002B0600 38 21 00 30 */ addi r1, r1, 0x30
/* 802B36A4 002B0604 4E 80 00 20 */ blr
.section .sdata2, "a"
.global lbl_805ADF60
lbl_805ADF60:
# ROM: 0x3FA800
.4byte 0xFFFFFFFF
.global lbl_805ADF64
lbl_805ADF64:
# ROM: 0x3FA804
.4byte 0x42480000
.global lbl_805ADF68
lbl_805ADF68:
# ROM: 0x3FA808
.float 0.2
.4byte 0
.section .rodata
.global lbl_803D6198
lbl_803D6198:
# ROM: 0x3D3198
.4byte 0x00000001
.4byte 0x00000002
.4byte 0x00000003
.4byte 0x00000004
.4byte 0x00000005
.4byte 0x00000006
.4byte 0x00000003
.4byte 0x00000007
.4byte 0x00000004
.4byte 0x0000000A
.4byte 0x0000000A
.4byte 0x00000005
.4byte 0x00000009
.4byte 0x00000003
.4byte 0x00000001
.4byte 0x00000006
.4byte 0x00000006
.4byte 0x0000000B
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000003
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.global lbl_803D6218
lbl_803D6218:
# ROM: 0x3D3218
.4byte 0x4E4F4450
.4byte 0x44454653
.4byte 0x43525453
.4byte 0x4D544C53
.4byte 0x47524153
.4byte 0x49434545
.4byte 0x474F4F4F
.4byte 0x574F4453
.4byte 0x57415452
.4byte 0x314D5544
.4byte 0x314C4156
.4byte 0x3153414E
.4byte 0x3150524A
.4byte 0x44434852
.4byte 0x44434853
.4byte 0x44435348
.4byte 0x44454E4D
.4byte 0x44455350
.4byte 0x44455348
.4byte 0x42544C45
.4byte 0x57415350
.4byte 0x54414C50
.4byte 0x5054474D
.4byte 0x53504952
.4byte 0x46504952
.4byte 0x46464C45
.4byte 0x50415241
.4byte 0x424D4F4E
.4byte 0x42464C52
.4byte 0x50424F53
.4byte 0x49424F53
.4byte 0x31535641
.4byte 0x31525052
.4byte 0x314D5452
.4byte 0x31504453
.4byte 0x31464C42
.4byte 0x3144524E
.4byte 0x314D5245
.4byte 0x43484F5A
.4byte 0x4A5A4150
.4byte 0x31495345
.4byte 0x31425345
.4byte 0x31415442
.4byte 0x31415441
.4byte 0x42545350
.4byte 0x57575350
.4byte 0x54415350
.4byte 0x54475350
.4byte 0x53505350
.4byte 0x46505350
.4byte 0x46465350
.4byte 0x50535350
.4byte 0x424D5350
.4byte 0x42465350
.4byte 0x50425350
.4byte 0x49425350
.4byte 0x32535641
.4byte 0x32525052
.4byte 0x324D5452
.4byte 0x32504453
.4byte 0x32464C42
.4byte 0x3244524E
.4byte 0x324D5245
.4byte 0x43485350
.4byte 0x4A5A5350
.4byte 0x33495345
.4byte 0x33425345
.4byte 0x33415442
.4byte 0x33415441
.4byte 0x42545348
.4byte 0x57575348
.4byte 0x54415348
.4byte 0x54475348
.4byte 0x53505348
.4byte 0x46505348
.4byte 0x46465348
.4byte 0x50535348
.4byte 0x424D5348
.4byte 0x42465348
.4byte 0x50425348
.4byte 0x49425348
.4byte 0x33535641
.4byte 0x33525052
.4byte 0x334D5452
.4byte 0x33504453
.4byte 0x33464C42
.4byte 0x3344524E
.4byte 0x334D5245
.4byte 0x43485348
.4byte 0x4A5A5348
.4byte 0x35495345
.4byte 0x35425345
.4byte 0x35415442
.4byte 0x35415441
.global lbl_803D6390
lbl_803D6390:
# ROM: 0x3D3390
.4byte 0x4E534658
.4byte 0x44534658
.4byte 0x43534658
.4byte 0x4D534658
.4byte 0x47524658
.4byte 0x49434658
.4byte 0x474F4658
.4byte 0x57534658
.4byte 0x57544658
.4byte 0x324D5544
.4byte 0x324C4156
.4byte 0x3253414E
.4byte 0x3250524A
.4byte 0x44434658
.4byte 0x44534658
.4byte 0x44534858
.4byte 0x44454658
.4byte 0x45534658
.4byte 0x53484658
.4byte 0x42454658
.4byte 0x57574658
.4byte 0x54414658
.4byte 0x47544658
.4byte 0x53504658
.4byte 0x46504658
.4byte 0x46464658
.4byte 0x50414658
.4byte 0x424D4658
.4byte 0x42464658
.4byte 0x50424658
.4byte 0x49424658
.4byte 0x34535641
.4byte 0x34525052
.4byte 0x344D5452
.4byte 0x34504453
.4byte 0x34464C42
.4byte 0x3444524E
.4byte 0x344D5245
.4byte 0x435A4658
.4byte 0x4A5A4153
.4byte 0x32495345
.4byte 0x32425345
.4byte 0x32415442
.4byte 0x32415441
.4byte 0x42534658
.4byte 0x57534658
.4byte 0x54534658
.4byte 0x47534658
.4byte 0x53534658
.4byte 0x46534658
.4byte 0x53464658
.4byte 0x50534658
.4byte 0x4D534658
.4byte 0x53424658
.4byte 0x50425358
.4byte 0x49425358
.4byte 0x35535641
.4byte 0x35525052
.4byte 0x354D5452
.4byte 0x35504453
.4byte 0x35464C42
.4byte 0x3544524E
.4byte 0x354D5245
.4byte 0x43534658
.4byte 0x4A5A5053
.4byte 0x34495345
.4byte 0x34425345
.4byte 0x34415442
.4byte 0x34415441
.4byte 0x42484658
.4byte 0x57484658
.4byte 0x54484658
.4byte 0x47484658
.4byte 0x53484658
.4byte 0x46484658
.4byte 0x48464658
.4byte 0x50484658
.4byte 0x4D484658
.4byte 0x48424658
.4byte 0x50424858
.4byte 0x49424858
.4byte 0x36535641
.4byte 0x36525052
.4byte 0x364D5452
.4byte 0x36504453
.4byte 0x36464C42
.4byte 0x3644524E
.4byte 0x364D5245
.4byte 0x43484658
.4byte 0x4A5A4853
.4byte 0x36495345
.4byte 0x36425345
.4byte 0x36415442
.4byte 0x36415441
.global lbl_803D6508
lbl_803D6508:
# ROM: 0x3D3508
.4byte 0x4E44434C
.4byte 0x4444434C
.4byte 0x434F444C
.4byte 0x4D45444C
.4byte 0x4752444C
.4byte 0x4943444C
.4byte 0x474F444C
.4byte 0x574F444C
.4byte 0x5754444C
.4byte 0x334D5544
.4byte 0x334C4156
.4byte 0x3353414E
.4byte 0x4348444C
.4byte 0x454E444C
.global lbl_803D6540
lbl_803D6540:
# ROM: 0x3D3540
.asciz "??(??)"
.balign 4