prime/asm/Weapons/CCollisionResponseData.s

1594 lines
79 KiB
ArmAsm
Raw Normal View History

.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, lbl_803D8D78@ha
/* 802B22B8 002AF218 38 03 8D 78 */ addi r0, r3, lbl_803D8D78@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, lbl_803D8D6C@ha
/* 802B22C8 002AF228 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@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, lbl_803D8D6C@ha
/* 802B2368 002AF2C8 3C A0 80 3E */ lis r5, lbl_803D8D78@ha
/* 802B236C 002AF2CC 38 04 8D 6C */ addi r0, r4, lbl_803D8D6C@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, lbl_803D8D78@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