prime/asm/MetroidPrime/CDecalManager.s

1047 lines
50 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .ctors, "wa"
lbl_ctor:
.4byte __sinit_CDecalManager_cpp
.section .bss
.balign 8
.lcomm lbl_8046C558, 0xC, 4
.lcomm lbl_8046C564, 0xC, 4
.comm mDecalPool__13CDecalManager, 0x1E04, 4
.comm lbl_8056F654, 0x104, 4 # MWCC .comm bug
.comm mActiveIndexList__13CDecalManager, 0x104, 4
.section .sbss
.balign 8
# CDecalManager
.global lbl_805A8F28
lbl_805A8F28:
.skip 0x4
.global lbl_805A8F2C
lbl_805A8F2C:
.skip 0x4
.global lbl_805A8F30
lbl_805A8F30:
.skip 0x4
.global lbl_805A8F34
lbl_805A8F34:
.skip 0x4
.global lbl_805A8F38
lbl_805A8F38:
.skip 0x8
.section .sdata2, "a"
.balign 8
.global lbl_805AB378
lbl_805AB378:
# ROM: 0x3F7C18
.float 0.75
.global lbl_805AB37C
lbl_805AB37C:
# ROM: 0x3F7C1C
.float 0.01
.global lbl_805AB380
lbl_805AB380:
# ROM: 0x3F7C20
.float 0.0
.4byte 0
.section .text, "ax"
.global AddToRenderer__13CDecalManagerFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__13CDecalManagerFRC14CFrustumPlanesRC13CStateManager:
/* 80116EC4 00113E24 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80116EC8 00113E28 7C 08 02 A6 */ mflr r0
/* 80116ECC 00113E2C 3C A0 80 57 */ lis r5, mActiveIndexList__13CDecalManager@ha
/* 80116ED0 00113E30 3C 60 80 57 */ lis r3, mDecalPool__13CDecalManager@ha
/* 80116ED4 00113E34 90 01 00 64 */ stw r0, 0x64(r1)
/* 80116ED8 00113E38 38 A5 F7 58 */ addi r5, r5, mActiveIndexList__13CDecalManager@l
/* 80116EDC 00113E3C 38 63 D8 50 */ addi r3, r3, mDecalPool__13CDecalManager@l
/* 80116EE0 00113E40 BF 61 00 4C */ stmw r27, 0x4c(r1)
/* 80116EE4 00113E44 7C 9F 23 78 */ mr r31, r4
/* 80116EE8 00113E48 38 85 00 04 */ addi r4, r5, 4
/* 80116EEC 00113E4C 3B A3 00 04 */ addi r29, r3, 4
/* 80116EF0 00113E50 7C 9B 23 78 */ mr r27, r4
/* 80116EF4 00113E54 80 05 00 00 */ lwz r0, 0(r5)
/* 80116EF8 00113E58 54 00 10 3A */ slwi r0, r0, 2
/* 80116EFC 00113E5C 7F C4 02 14 */ add r30, r4, r0
/* 80116F00 00113E60 48 00 00 9C */ b lbl_80116F9C
lbl_80116F04:
/* 80116F04 00113E64 80 1B 00 00 */ lwz r0, 0(r27)
/* 80116F08 00113E68 1C 00 00 78 */ mulli r0, r0, 0x78
/* 80116F0C 00113E6C 7F 9D 02 14 */ add r28, r29, r0
/* 80116F10 00113E70 88 1C 00 75 */ lbz r0, 0x75(r28)
/* 80116F14 00113E74 54 00 C0 02 */ rlwinm r0, r0, 0x18, 0, 1
/* 80116F18 00113E78 7C 00 FE 70 */ srawi r0, r0, 0x1f
/* 80116F1C 00113E7C 7C 00 07 75 */ extsb. r0, r0
/* 80116F20 00113E80 40 82 00 10 */ bne lbl_80116F30
/* 80116F24 00113E84 80 1F 0F 34 */ lwz r0, 0xf34(r31)
/* 80116F28 00113E88 2C 00 00 00 */ cmpwi r0, 0
/* 80116F2C 00113E8C 41 82 00 6C */ beq lbl_80116F98
lbl_80116F30:
/* 80116F30 00113E90 C0 5C 00 38 */ lfs f2, 0x38(r28)
/* 80116F34 00113E94 38 61 00 2C */ addi r3, r1, 0x2c
/* 80116F38 00113E98 C0 3C 00 28 */ lfs f1, 0x28(r28)
/* 80116F3C 00113E9C 38 81 00 14 */ addi r4, r1, 0x14
/* 80116F40 00113EA0 C0 1C 00 18 */ lfs f0, 0x18(r28)
/* 80116F44 00113EA4 38 A1 00 08 */ addi r5, r1, 8
/* 80116F48 00113EA8 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80116F4C 00113EAC D0 01 00 08 */ stfs f0, 8(r1)
/* 80116F50 00113EB0 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 80116F54 00113EB4 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80116F58 00113EB8 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80116F5C 00113EBC D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 80116F60 00113EC0 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 80116F64 00113EC4 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80116F68 00113EC8 D0 41 00 28 */ stfs f2, 0x28(r1)
/* 80116F6C 00113ECC 48 22 15 9D */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 80116F70 00113ED0 7C 66 1B 78 */ mr r6, r3
/* 80116F74 00113ED4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80116F78 00113ED8 7F 84 E3 78 */ mr r4, r28
/* 80116F7C 00113EDC 38 A1 00 20 */ addi r5, r1, 0x20
/* 80116F80 00113EE0 81 83 00 00 */ lwz r12, 0(r3)
/* 80116F84 00113EE4 38 E0 00 02 */ li r7, 2
/* 80116F88 00113EE8 39 00 00 00 */ li r8, 0
/* 80116F8C 00113EEC 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 80116F90 00113EF0 7D 89 03 A6 */ mtctr r12
/* 80116F94 00113EF4 4E 80 04 21 */ bctrl
lbl_80116F98:
/* 80116F98 00113EF8 3B 7B 00 04 */ addi r27, r27, 4
lbl_80116F9C:
/* 80116F9C 00113EFC 7C 1B F0 40 */ cmplw r27, r30
/* 80116FA0 00113F00 40 82 FF 64 */ bne lbl_80116F04
/* 80116FA4 00113F04 BB 61 00 4C */ lmw r27, 0x4c(r1)
/* 80116FA8 00113F08 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80116FAC 00113F0C 7C 08 03 A6 */ mtlr r0
/* 80116FB0 00113F10 38 21 00 60 */ addi r1, r1, 0x60
/* 80116FB4 00113F14 4E 80 00 20 */ blr
.global Update__13CDecalManagerFfR13CStateManager
Update__13CDecalManagerFfR13CStateManager:
/* 80116FB8 00113F18 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80116FBC 00113F1C 7C 08 02 A6 */ mflr r0
/* 80116FC0 00113F20 90 01 00 34 */ stw r0, 0x34(r1)
/* 80116FC4 00113F24 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80116FC8 00113F28 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80116FCC 00113F2C BF 61 00 0C */ stmw r27, 0xc(r1)
/* 80116FD0 00113F30 FF E0 08 90 */ fmr f31, f1
/* 80116FD4 00113F34 C0 0D A3 70 */ lfs f0, lbl_805A8F30@sda21(r13)
/* 80116FD8 00113F38 3C A0 80 57 */ lis r5, mActiveIndexList__13CDecalManager@ha
/* 80116FDC 00113F3C 3C 80 80 57 */ lis r4, mDecalPool__13CDecalManager@ha
/* 80116FE0 00113F40 3B E5 F7 58 */ addi r31, r5, mActiveIndexList__13CDecalManager@l
/* 80116FE4 00113F44 7C 7B 1B 78 */ mr r27, r3
/* 80116FE8 00113F48 EC 00 F8 2A */ fadds f0, f0, f31
/* 80116FEC 00113F4C 3B BF 00 04 */ addi r29, r31, 4
/* 80116FF0 00113F50 38 64 D8 50 */ addi r3, r4, mDecalPool__13CDecalManager@l
/* 80116FF4 00113F54 7F BC EB 78 */ mr r28, r29
/* 80116FF8 00113F58 D0 0D A3 70 */ stfs f0, lbl_805A8F30@sda21(r13)
/* 80116FFC 00113F5C 3B C3 00 04 */ addi r30, r3, 4
/* 80117000 00113F60 48 00 00 48 */ b lbl_80117048
lbl_80117004:
/* 80117004 00113F64 80 9C 00 00 */ lwz r4, 0(r28)
/* 80117008 00113F68 80 1B 08 CC */ lwz r0, 0x8cc(r27)
/* 8011700C 00113F6C 1C 64 00 78 */ mulli r3, r4, 0x78
/* 80117010 00113F70 7C 7E 1A 14 */ add r3, r30, r3
/* 80117014 00113F74 80 A3 00 70 */ lwz r5, 0x70(r3)
/* 80117018 00113F78 7C 05 00 00 */ cmpw r5, r0
/* 8011701C 00113F7C 40 82 00 10 */ bne lbl_8011702C
/* 80117020 00113F80 80 03 00 5C */ lwz r0, 0x5c(r3)
/* 80117024 00113F84 2C 00 00 07 */ cmpwi r0, 7
/* 80117028 00113F88 40 82 00 14 */ bne lbl_8011703C
lbl_8011702C:
/* 8011702C 00113F8C 7F 83 E3 78 */ mr r3, r28
/* 80117030 00113F90 48 00 00 49 */ bl RemoveFromActiveList__13CDecalManagerFPii
/* 80117034 00113F94 7C 7C 1B 78 */ mr r28, r3
/* 80117038 00113F98 48 00 00 10 */ b lbl_80117048
lbl_8011703C:
/* 8011703C 00113F9C FC 20 F8 90 */ fmr f1, f31
/* 80117040 00113FA0 48 19 D7 E9 */ bl Update__6CDecalFf
/* 80117044 00113FA4 3B 9C 00 04 */ addi r28, r28, 4
lbl_80117048:
/* 80117048 00113FA8 80 1F 00 00 */ lwz r0, 0(r31)
/* 8011704C 00113FAC 54 00 10 3A */ slwi r0, r0, 2
/* 80117050 00113FB0 7C 1D 02 14 */ add r0, r29, r0
/* 80117054 00113FB4 7C 1C 00 40 */ cmplw r28, r0
/* 80117058 00113FB8 40 82 FF AC */ bne lbl_80117004
/* 8011705C 00113FBC E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80117060 00113FC0 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80117064 00113FC4 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 80117068 00113FC8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8011706C 00113FCC 7C 08 03 A6 */ mtlr r0
/* 80117070 00113FD0 38 21 00 30 */ addi r1, r1, 0x30
/* 80117074 00113FD4 4E 80 00 20 */ blr
.global RemoveFromActiveList__13CDecalManagerFPii
RemoveFromActiveList__13CDecalManagerFPii:
/* 80117078 00113FD8 3C A0 80 57 */ lis r5, mActiveIndexList__13CDecalManager@ha
/* 8011707C 00113FDC 38 C5 F7 58 */ addi r6, r5, mActiveIndexList__13CDecalManager@l
/* 80117080 00113FE0 39 06 00 04 */ addi r8, r6, 4
/* 80117084 00113FE4 7C 03 40 40 */ cmplw r3, r8
/* 80117088 00113FE8 41 80 00 5C */ blt lbl_801170E4
/* 8011708C 00113FEC 80 06 00 00 */ lwz r0, 0(r6)
/* 80117090 00113FF0 54 00 10 3A */ slwi r0, r0, 2
/* 80117094 00113FF4 7C 08 02 14 */ add r0, r8, r0
/* 80117098 00113FF8 7C 03 00 40 */ cmplw r3, r0
/* 8011709C 00113FFC 40 80 00 48 */ bge lbl_801170E4
/* 801170A0 00114000 7C 67 1B 78 */ mr r7, r3
/* 801170A4 00114004 48 00 00 10 */ b lbl_801170B4
lbl_801170A8:
/* 801170A8 00114008 80 07 00 04 */ lwz r0, 4(r7)
/* 801170AC 0011400C 90 07 00 00 */ stw r0, 0(r7)
/* 801170B0 00114010 38 E7 00 04 */ addi r7, r7, 4
lbl_801170B4:
/* 801170B4 00114014 80 06 00 00 */ lwz r0, 0(r6)
/* 801170B8 00114018 54 05 10 3A */ slwi r5, r0, 2
/* 801170BC 0011401C 38 05 FF FC */ addi r0, r5, -4
/* 801170C0 00114020 7C 08 02 14 */ add r0, r8, r0
/* 801170C4 00114024 7C 07 00 40 */ cmplw r7, r0
/* 801170C8 00114028 41 80 FF E0 */ blt lbl_801170A8
/* 801170CC 0011402C 3C A0 80 57 */ lis r5, mActiveIndexList__13CDecalManager@ha
/* 801170D0 00114030 38 C5 F7 58 */ addi r6, r5, mActiveIndexList__13CDecalManager@l
/* 801170D4 00114034 80 A6 00 00 */ lwz r5, 0(r6)
/* 801170D8 00114038 38 05 FF FF */ addi r0, r5, -1
/* 801170DC 0011403C 90 06 00 00 */ stw r0, 0(r6)
/* 801170E0 00114040 48 00 00 14 */ b lbl_801170F4
lbl_801170E4:
/* 801170E4 00114044 3C 60 80 57 */ lis r3, mActiveIndexList__13CDecalManager@ha
/* 801170E8 00114048 80 03 F7 58 */ lwz r0, mActiveIndexList__13CDecalManager@l(r3)
/* 801170EC 0011404C 54 00 10 3A */ slwi r0, r0, 2
/* 801170F0 00114050 7C 68 02 14 */ add r3, r8, r0
lbl_801170F4:
/* 801170F4 00114054 1C A4 00 78 */ mulli r5, r4, 0x78
/* 801170F8 00114058 80 ED A3 68 */ lwz r7, lbl_805A8F28@sda21(r13)
/* 801170FC 0011405C 80 0D A3 74 */ lwz r0, lbl_805A8F34@sda21(r13)
/* 80117100 00114060 3C C0 80 57 */ lis r6, mDecalPool__13CDecalManager@ha
/* 80117104 00114064 90 8D A3 68 */ stw r4, lbl_805A8F28@sda21(r13)
/* 80117108 00114068 38 C6 D8 50 */ addi r6, r6, mDecalPool__13CDecalManager@l
/* 8011710C 0011406C 7C 00 20 00 */ cmpw r0, r4
/* 80117110 00114070 7C 86 2A 14 */ add r4, r6, r5
/* 80117114 00114074 98 E4 00 78 */ stb r7, 0x78(r4)
/* 80117118 00114078 4C 82 00 20 */ bnelr
/* 8011711C 0011407C 38 00 FF FF */ li r0, -1
/* 80117120 00114080 90 0D A3 74 */ stw r0, lbl_805A8F34@sda21(r13)
/* 80117124 00114084 4E 80 00 20 */ blr
.global "AddDecal__13CDecalManagerFRC27TToken<17CDecalDescription>RC12CTransform4fR13CStateManager"
"AddDecal__13CDecalManagerFRC27TToken<17CDecalDescription>RC12CTransform4fR13CStateManager":
/* 80117128 00114088 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8011712C 0011408C 7C 08 02 A6 */ mflr r0
/* 80117130 00114090 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80117134 00114094 BF 21 00 94 */ stmw r25, 0x94(r1)
/* 80117138 00114098 7C 79 1B 78 */ mr r25, r3
/* 8011713C 0011409C 7C 9A 23 78 */ mr r26, r4
/* 80117140 001140A0 7C BB 2B 78 */ mr r27, r5
/* 80117144 001140A4 7C DC 33 78 */ mr r28, r6
/* 80117148 001140A8 80 ED A3 74 */ lwz r7, lbl_805A8F34@sda21(r13)
/* 8011714C 001140AC 80 63 00 00 */ lwz r3, 0(r3)
/* 80117150 001140B0 2C 07 FF FF */ cmpwi r7, -1
/* 80117154 001140B4 83 C3 00 08 */ lwz r30, 8(r3)
/* 80117158 001140B8 41 82 00 8C */ beq lbl_801171E4
/* 8011715C 001140BC C0 2D A3 70 */ lfs f1, lbl_805A8F30@sda21(r13)
/* 80117160 001140C0 C0 02 96 58 */ lfs f0, lbl_805AB378@sda21(r2)
/* 80117164 001140C4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80117168 001140C8 40 80 00 7C */ bge lbl_801171E4
/* 8011716C 001140CC 80 0D A3 78 */ lwz r0, lbl_805A8F38@sda21(r13)
/* 80117170 001140D0 7C 00 F0 40 */ cmplw r0, r30
/* 80117174 001140D4 40 82 00 70 */ bne lbl_801171E4
/* 80117178 001140D8 1C 07 00 78 */ mulli r0, r7, 0x78
/* 8011717C 001140DC 3C 60 80 57 */ lis r3, mDecalPool__13CDecalManager@ha
/* 80117180 001140E0 C0 5A 00 1C */ lfs f2, 0x1c(r26)
/* 80117184 001140E4 38 63 D8 50 */ addi r3, r3, mDecalPool__13CDecalManager@l
/* 80117188 001140E8 C0 1A 00 0C */ lfs f0, 0xc(r26)
/* 8011718C 001140EC 7C 63 02 14 */ add r3, r3, r0
/* 80117190 001140F0 C0 E3 00 2C */ lfs f7, 0x2c(r3)
/* 80117194 001140F4 C0 23 00 1C */ lfs f1, 0x1c(r3)
/* 80117198 001140F8 EC C7 10 28 */ fsubs f6, f7, f2
/* 8011719C 001140FC C1 03 00 3C */ lfs f8, 0x3c(r3)
/* 801171A0 00114100 EC 81 00 28 */ fsubs f4, f1, f0
/* 801171A4 00114104 C0 5A 00 2C */ lfs f2, 0x2c(r26)
/* 801171A8 00114108 C0 02 96 5C */ lfs f0, lbl_805AB37C@sda21(r2)
/* 801171AC 0011410C EC A8 10 28 */ fsubs f5, f8, f2
/* 801171B0 00114110 EC 44 01 32 */ fmuls f2, f4, f4
/* 801171B4 00114114 D0 21 00 08 */ stfs f1, 8(r1)
/* 801171B8 00114118 EC 26 01 B2 */ fmuls f1, f6, f6
/* 801171BC 0011411C EC 65 01 72 */ fmuls f3, f5, f5
/* 801171C0 00114120 D0 E1 00 0C */ stfs f7, 0xc(r1)
/* 801171C4 00114124 EC 22 08 2A */ fadds f1, f2, f1
/* 801171C8 00114128 D1 01 00 10 */ stfs f8, 0x10(r1)
/* 801171CC 0011412C D0 81 00 14 */ stfs f4, 0x14(r1)
/* 801171D0 00114130 EC 23 08 2A */ fadds f1, f3, f1
/* 801171D4 00114134 D0 C1 00 18 */ stfs f6, 0x18(r1)
/* 801171D8 00114138 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801171DC 0011413C D0 A1 00 1C */ stfs f5, 0x1c(r1)
/* 801171E0 00114140 41 80 01 00 */ blt lbl_801172E0
lbl_801171E4:
/* 801171E4 00114144 80 0D A3 68 */ lwz r0, lbl_805A8F28@sda21(r13)
/* 801171E8 00114148 2C 00 FF FF */ cmpwi r0, -1
/* 801171EC 0011414C 40 82 00 14 */ bne lbl_80117200
/* 801171F0 00114150 3C 60 80 57 */ lis r3, mActiveIndexList__13CDecalManager@ha
/* 801171F4 00114154 38 63 F7 58 */ addi r3, r3, mActiveIndexList__13CDecalManager@l
/* 801171F8 00114158 84 83 00 04 */ lwzu r4, 4(r3)
/* 801171FC 0011415C 4B FF FE 7D */ bl RemoveFromActiveList__13CDecalManagerFPii
lbl_80117200:
/* 80117200 00114160 83 AD A3 68 */ lwz r29, lbl_805A8F28@sda21(r13)
/* 80117204 00114164 3C 60 80 57 */ lis r3, mDecalPool__13CDecalManager@ha
/* 80117208 00114168 38 63 D8 50 */ addi r3, r3, mDecalPool__13CDecalManager@l
/* 8011720C 0011416C 1C 1D 00 78 */ mulli r0, r29, 0x78
/* 80117210 00114170 7F E3 02 14 */ add r31, r3, r0
/* 80117214 00114174 88 7F 00 78 */ lbz r3, 0x78(r31)
/* 80117218 00114178 88 1F 00 70 */ lbz r0, 0x70(r31)
/* 8011721C 0011417C 3B FF 00 04 */ addi r31, r31, 4
/* 80117220 00114180 7C 63 07 74 */ extsb r3, r3
/* 80117224 00114184 28 00 00 00 */ cmplwi r0, 0
/* 80117228 00114188 90 6D A3 68 */ stw r3, lbl_805A8F28@sda21(r13)
/* 8011722C 0011418C 41 82 00 20 */ beq lbl_8011724C
/* 80117230 00114190 28 1F 00 00 */ cmplwi r31, 0
/* 80117234 00114194 41 82 00 18 */ beq lbl_8011724C
/* 80117238 00114198 41 82 00 14 */ beq lbl_8011724C
/* 8011723C 0011419C 41 82 00 10 */ beq lbl_8011724C
/* 80117240 001141A0 7F E3 FB 78 */ mr r3, r31
/* 80117244 001141A4 38 80 00 00 */ li r4, 0
/* 80117248 001141A8 48 22 9B F9 */ bl __dt__6CTokenFv
lbl_8011724C:
/* 8011724C 001141AC 38 00 00 00 */ li r0, 0
/* 80117250 001141B0 7F 24 CB 78 */ mr r4, r25
/* 80117254 001141B4 98 1F 00 6C */ stb r0, 0x6c(r31)
/* 80117258 001141B8 7F 45 D3 78 */ mr r5, r26
/* 8011725C 001141BC 38 61 00 20 */ addi r3, r1, 0x20
/* 80117260 001141C0 48 19 E1 D1 */ bl "__ct__6CDecalFRC27TToken<17CDecalDescription>RC12CTransform4f"
/* 80117264 001141C4 7F E3 FB 78 */ mr r3, r31
/* 80117268 001141C8 38 81 00 20 */ addi r4, r1, 0x20
/* 8011726C 001141CC 48 00 00 89 */ bl "assign__Q24rstl24optional_object<6CDecal>FRC6CDecal"
/* 80117270 001141D0 38 61 00 20 */ addi r3, r1, 0x20
/* 80117274 001141D4 38 80 00 00 */ li r4, 0
/* 80117278 001141D8 48 22 9B C9 */ bl __dt__6CTokenFv
/* 8011727C 001141DC 80 BC 08 CC */ lwz r5, 0x8cc(r28)
/* 80117280 001141E0 3C 60 80 57 */ lis r3, mActiveIndexList__13CDecalManager@ha
/* 80117284 001141E4 20 9B 00 01 */ subfic r4, r27, 1
/* 80117288 001141E8 84 03 F7 58 */ lwzu r0, mActiveIndexList__13CDecalManager@l(r3)
/* 8011728C 001141EC 7C 84 00 34 */ cntlzw r4, r4
/* 80117290 001141F0 90 BF 00 70 */ stw r5, 0x70(r31)
/* 80117294 001141F4 54 00 10 3A */ slwi r0, r0, 2
/* 80117298 001141F8 C0 02 96 60 */ lfs f0, lbl_805AB380@sda21(r2)
/* 8011729C 001141FC 7C A3 02 14 */ add r5, r3, r0
/* 801172A0 00114200 54 84 D9 7E */ srwi r4, r4, 5
/* 801172A4 00114204 7C 83 07 74 */ extsb r3, r4
/* 801172A8 00114208 88 1F 00 75 */ lbz r0, 0x75(r31)
/* 801172AC 0011420C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801172B0 00114210 34 A5 00 04 */ addic. r5, r5, 4
/* 801172B4 00114214 D0 0D A3 70 */ stfs f0, lbl_805A8F30@sda21(r13)
/* 801172B8 00114218 98 1F 00 75 */ stb r0, 0x75(r31)
/* 801172BC 0011421C 93 AD A3 74 */ stw r29, lbl_805A8F34@sda21(r13)
/* 801172C0 00114220 93 CD A3 78 */ stw r30, lbl_805A8F38@sda21(r13)
/* 801172C4 00114224 41 82 00 08 */ beq lbl_801172CC
/* 801172C8 00114228 93 A5 00 00 */ stw r29, 0(r5)
lbl_801172CC:
/* 801172CC 0011422C 3C 60 80 57 */ lis r3, mActiveIndexList__13CDecalManager@ha
/* 801172D0 00114230 38 83 F7 58 */ addi r4, r3, mActiveIndexList__13CDecalManager@l
/* 801172D4 00114234 80 64 00 00 */ lwz r3, 0(r4)
/* 801172D8 00114238 38 03 00 01 */ addi r0, r3, 1
/* 801172DC 0011423C 90 04 00 00 */ stw r0, 0(r4)
lbl_801172E0:
/* 801172E0 00114240 BB 21 00 94 */ lmw r25, 0x94(r1)
/* 801172E4 00114244 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 801172E8 00114248 7C 08 03 A6 */ mtlr r0
/* 801172EC 0011424C 38 21 00 B0 */ addi r1, r1, 0xb0
/* 801172F0 00114250 4E 80 00 20 */ blr
.global "assign__Q24rstl24optional_object<6CDecal>FRC6CDecal"
"assign__Q24rstl24optional_object<6CDecal>FRC6CDecal":
/* 801172F4 00114254 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801172F8 00114258 7C 08 02 A6 */ mflr r0
/* 801172FC 0011425C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80117300 00114260 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80117304 00114264 7C 7F 1B 78 */ mr r31, r3
/* 80117308 00114268 48 00 00 1D */ bl sub_80117324
/* 8011730C 0011426C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117310 00114270 7F E3 FB 78 */ mr r3, r31
/* 80117314 00114274 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80117318 00114278 7C 08 03 A6 */ mtlr r0
/* 8011731C 0011427C 38 21 00 10 */ addi r1, r1, 0x10
/* 80117320 00114280 4E 80 00 20 */ blr
.global sub_80117324
sub_80117324:
/* 80117324 00114284 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80117328 00114288 7C 08 02 A6 */ mflr r0
/* 8011732C 0011428C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80117330 00114290 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80117334 00114294 7C 9F 23 78 */ mr r31, r4
/* 80117338 00114298 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8011733C 0011429C 7C 7E 1B 78 */ mr r30, r3
/* 80117340 001142A0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80117344 001142A4 93 81 00 10 */ stw r28, 0x10(r1)
/* 80117348 001142A8 88 03 00 6C */ lbz r0, 0x6c(r3)
/* 8011734C 001142AC 28 00 00 00 */ cmplwi r0, 0
/* 80117350 001142B0 40 82 00 A0 */ bne lbl_801173F0
/* 80117354 001142B4 7F C0 F3 79 */ or. r0, r30, r30
/* 80117358 001142B8 41 82 00 8C */ beq lbl_801173E4
/* 8011735C 001142BC 7C 1C 03 78 */ mr r28, r0
/* 80117360 001142C0 7C 1D 03 78 */ mr r29, r0
/* 80117364 001142C4 48 22 9B 45 */ bl __ct__6CTokenFRC6CToken
/* 80117368 001142C8 80 1F 00 08 */ lwz r0, 8(r31)
/* 8011736C 001142CC 7F A3 EB 78 */ mr r3, r29
/* 80117370 001142D0 90 1D 00 08 */ stw r0, 8(r29)
/* 80117374 001142D4 48 22 9A 11 */ bl Lock__6CTokenFv
/* 80117378 001142D8 38 7C 00 0C */ addi r3, r28, 0xc
/* 8011737C 001142DC 38 9F 00 0C */ addi r4, r31, 0xc
/* 80117380 001142E0 48 1F B7 F5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80117384 001142E4 88 1F 00 3C */ lbz r0, 0x3c(r31)
/* 80117388 001142E8 98 1C 00 3C */ stb r0, 0x3c(r28)
/* 8011738C 001142EC 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 80117390 001142F0 90 1C 00 40 */ stw r0, 0x40(r28)
/* 80117394 001142F4 C0 1F 00 44 */ lfs f0, 0x44(r31)
/* 80117398 001142F8 D0 1C 00 44 */ stfs f0, 0x44(r28)
/* 8011739C 001142FC 88 1F 00 48 */ lbz r0, 0x48(r31)
/* 801173A0 00114300 98 1C 00 48 */ stb r0, 0x48(r28)
/* 801173A4 00114304 80 1F 00 4C */ lwz r0, 0x4c(r31)
/* 801173A8 00114308 90 1C 00 4C */ stw r0, 0x4c(r28)
/* 801173AC 0011430C C0 1F 00 50 */ lfs f0, 0x50(r31)
/* 801173B0 00114310 D0 1C 00 50 */ stfs f0, 0x50(r28)
/* 801173B4 00114314 80 1F 00 54 */ lwz r0, 0x54(r31)
/* 801173B8 00114318 90 1C 00 54 */ stw r0, 0x54(r28)
/* 801173BC 0011431C 80 1F 00 58 */ lwz r0, 0x58(r31)
/* 801173C0 00114320 90 1C 00 58 */ stw r0, 0x58(r28)
/* 801173C4 00114324 80 1F 00 5C */ lwz r0, 0x5c(r31)
/* 801173C8 00114328 90 1C 00 5C */ stw r0, 0x5c(r28)
/* 801173CC 0011432C C0 1F 00 60 */ lfs f0, 0x60(r31)
/* 801173D0 00114330 D0 1C 00 60 */ stfs f0, 0x60(r28)
/* 801173D4 00114334 C0 1F 00 64 */ lfs f0, 0x64(r31)
/* 801173D8 00114338 D0 1C 00 64 */ stfs f0, 0x64(r28)
/* 801173DC 0011433C C0 1F 00 68 */ lfs f0, 0x68(r31)
/* 801173E0 00114340 D0 1C 00 68 */ stfs f0, 0x68(r28)
lbl_801173E4:
/* 801173E4 00114344 38 00 00 01 */ li r0, 1
/* 801173E8 00114348 98 1E 00 6C */ stb r0, 0x6c(r30)
/* 801173EC 0011434C 48 00 00 7C */ b lbl_80117468
lbl_801173F0:
/* 801173F0 00114350 48 22 98 D5 */ bl __as__6CTokenFRC6CToken
/* 801173F4 00114354 80 1F 00 08 */ lwz r0, 8(r31)
/* 801173F8 00114358 38 7E 00 0C */ addi r3, r30, 0xc
/* 801173FC 0011435C 38 9F 00 0C */ addi r4, r31, 0xc
/* 80117400 00114360 90 1E 00 08 */ stw r0, 8(r30)
/* 80117404 00114364 48 1F B7 3D */ bl __as__12CTransform4fFRC12CTransform4f
/* 80117408 00114368 80 7F 00 3C */ lwz r3, 0x3c(r31)
/* 8011740C 0011436C 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 80117410 00114370 90 7E 00 3C */ stw r3, 0x3c(r30)
/* 80117414 00114374 90 1E 00 40 */ stw r0, 0x40(r30)
/* 80117418 00114378 80 1F 00 44 */ lwz r0, 0x44(r31)
/* 8011741C 0011437C 90 1E 00 44 */ stw r0, 0x44(r30)
/* 80117420 00114380 80 7F 00 48 */ lwz r3, 0x48(r31)
/* 80117424 00114384 80 1F 00 4C */ lwz r0, 0x4c(r31)
/* 80117428 00114388 90 7E 00 48 */ stw r3, 0x48(r30)
/* 8011742C 0011438C 90 1E 00 4C */ stw r0, 0x4c(r30)
/* 80117430 00114390 80 1F 00 50 */ lwz r0, 0x50(r31)
/* 80117434 00114394 90 1E 00 50 */ stw r0, 0x50(r30)
/* 80117438 00114398 80 1F 00 54 */ lwz r0, 0x54(r31)
/* 8011743C 0011439C 90 1E 00 54 */ stw r0, 0x54(r30)
/* 80117440 001143A0 80 1F 00 58 */ lwz r0, 0x58(r31)
/* 80117444 001143A4 90 1E 00 58 */ stw r0, 0x58(r30)
/* 80117448 001143A8 80 1F 00 5C */ lwz r0, 0x5c(r31)
/* 8011744C 001143AC 90 1E 00 5C */ stw r0, 0x5c(r30)
/* 80117450 001143B0 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 80117454 001143B4 80 1F 00 64 */ lwz r0, 0x64(r31)
/* 80117458 001143B8 90 7E 00 60 */ stw r3, 0x60(r30)
/* 8011745C 001143BC 90 1E 00 64 */ stw r0, 0x64(r30)
/* 80117460 001143C0 80 1F 00 68 */ lwz r0, 0x68(r31)
/* 80117464 001143C4 90 1E 00 68 */ stw r0, 0x68(r30)
lbl_80117468:
/* 80117468 001143C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8011746C 001143CC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80117470 001143D0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80117474 001143D4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80117478 001143D8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8011747C 001143DC 7C 08 03 A6 */ mtlr r0
/* 80117480 001143E0 38 21 00 20 */ addi r1, r1, 0x20
/* 80117484 001143E4 4E 80 00 20 */ blr
.global Reinitialize__13CDecalManagerFv
Reinitialize__13CDecalManagerFv:
/* 80117488 001143E8 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 8011748C 001143EC 7C 08 02 A6 */ mflr r0
/* 80117490 001143F0 90 01 01 04 */ stw r0, 0x104(r1)
/* 80117494 001143F4 93 E1 00 FC */ stw r31, 0xfc(r1)
/* 80117498 001143F8 93 C1 00 F8 */ stw r30, 0xf8(r1)
/* 8011749C 001143FC 88 0D A3 6C */ lbz r0, lbl_805A8F2C@sda21(r13)
/* 801174A0 00114400 28 00 00 00 */ cmplwi r0, 0
/* 801174A4 00114404 40 82 00 08 */ bne lbl_801174AC
/* 801174A8 00114408 48 00 04 AD */ bl Initialize__13CDecalManagerFv
lbl_801174AC:
/* 801174AC 0011440C 3C 60 80 57 */ lis r3, mDecalPool__13CDecalManager@ha
/* 801174B0 00114410 3B C0 00 00 */ li r30, 0
/* 801174B4 00114414 38 63 D8 50 */ addi r3, r3, mDecalPool__13CDecalManager@l
/* 801174B8 00114418 3B E3 00 04 */ addi r31, r3, 4
lbl_801174BC:
/* 801174BC 0011441C 39 00 00 00 */ li r8, 0
/* 801174C0 00114420 38 1E FF FF */ addi r0, r30, -1
/* 801174C4 00114424 99 01 00 F4 */ stb r8, 0xf4(r1)
/* 801174C8 00114428 38 61 00 10 */ addi r3, r1, 0x10
/* 801174CC 0011442C 38 81 00 88 */ addi r4, r1, 0x88
/* 801174D0 00114430 38 A1 00 0C */ addi r5, r1, 0xc
/* 801174D4 00114434 91 01 00 08 */ stw r8, 8(r1)
/* 801174D8 00114438 7C 06 07 74 */ extsb r6, r0
/* 801174DC 0011443C 38 E0 00 00 */ li r7, 0
/* 801174E0 00114440 91 01 00 0C */ stw r8, 0xc(r1)
/* 801174E4 00114444 48 00 01 C5 */ bl "__as__Q24rstl24optional_object<6CDecal>FRCQ24rstl24optional_object<6CDecal>"
/* 801174E8 00114448 7F E3 FB 78 */ mr r3, r31
/* 801174EC 0011444C 38 81 00 10 */ addi r4, r1, 0x10
/* 801174F0 00114450 48 00 00 ED */ bl sub_801175dc
/* 801174F4 00114454 88 01 00 7C */ lbz r0, 0x7c(r1)
/* 801174F8 00114458 28 00 00 00 */ cmplwi r0, 0
/* 801174FC 0011445C 41 82 00 20 */ beq lbl_8011751C
/* 80117500 00114460 34 61 00 10 */ addic. r3, r1, 0x10
/* 80117504 00114464 41 82 00 18 */ beq lbl_8011751C
/* 80117508 00114468 28 03 00 00 */ cmplwi r3, 0
/* 8011750C 0011446C 41 82 00 10 */ beq lbl_8011751C
/* 80117510 00114470 41 82 00 0C */ beq lbl_8011751C
/* 80117514 00114474 38 80 00 00 */ li r4, 0
/* 80117518 00114478 48 22 99 29 */ bl __dt__6CTokenFv
lbl_8011751C:
/* 8011751C 0011447C 88 01 00 F4 */ lbz r0, 0xf4(r1)
/* 80117520 00114480 38 60 00 00 */ li r3, 0
/* 80117524 00114484 98 61 00 7C */ stb r3, 0x7c(r1)
/* 80117528 00114488 28 00 00 00 */ cmplwi r0, 0
/* 8011752C 0011448C 41 82 00 20 */ beq lbl_8011754C
/* 80117530 00114490 34 61 00 88 */ addic. r3, r1, 0x88
/* 80117534 00114494 41 82 00 18 */ beq lbl_8011754C
/* 80117538 00114498 28 03 00 00 */ cmplwi r3, 0
/* 8011753C 0011449C 41 82 00 10 */ beq lbl_8011754C
/* 80117540 001144A0 41 82 00 0C */ beq lbl_8011754C
/* 80117544 001144A4 38 80 00 00 */ li r4, 0
/* 80117548 001144A8 48 22 98 F9 */ bl __dt__6CTokenFv
lbl_8011754C:
/* 8011754C 001144AC 3B DE 00 01 */ addi r30, r30, 1
/* 80117550 001144B0 38 80 00 00 */ li r4, 0
/* 80117554 001144B4 2C 1E 00 40 */ cmpwi r30, 0x40
/* 80117558 001144B8 98 81 00 F4 */ stb r4, 0xf4(r1)
/* 8011755C 001144BC 3B FF 00 78 */ addi r31, r31, 0x78
/* 80117560 001144C0 41 80 FF 5C */ blt lbl_801174BC
/* 80117564 001144C4 3C 60 80 57 */ lis r3, mActiveIndexList__13CDecalManager@ha
/* 80117568 001144C8 80 A3 F7 58 */ lwz r5, mActiveIndexList__13CDecalManager@l(r3)
/* 8011756C 001144CC 2C 05 00 00 */ cmpwi r5, 0
/* 80117570 001144D0 40 81 00 40 */ ble lbl_801175B0
/* 80117574 001144D4 2C 05 00 08 */ cmpwi r5, 8
/* 80117578 001144D8 38 65 FF F8 */ addi r3, r5, -8
/* 8011757C 001144DC 40 81 00 20 */ ble lbl_8011759C
/* 80117580 001144E0 38 03 00 07 */ addi r0, r3, 7
/* 80117584 001144E4 54 00 E8 FE */ srwi r0, r0, 3
/* 80117588 001144E8 7C 09 03 A6 */ mtctr r0
/* 8011758C 001144EC 2C 03 00 00 */ cmpwi r3, 0
/* 80117590 001144F0 40 81 00 0C */ ble lbl_8011759C
lbl_80117594:
/* 80117594 001144F4 38 84 00 08 */ addi r4, r4, 8
/* 80117598 001144F8 42 00 FF FC */ bdnz lbl_80117594
lbl_8011759C:
/* 8011759C 001144FC 7C 04 28 50 */ subf r0, r4, r5
/* 801175A0 00114500 7C 09 03 A6 */ mtctr r0
/* 801175A4 00114504 7C 04 28 00 */ cmpw r4, r5
/* 801175A8 00114508 40 80 00 08 */ bge lbl_801175B0
lbl_801175AC:
/* 801175AC 0011450C 42 00 00 00 */ bdnz lbl_801175AC
lbl_801175B0:
/* 801175B0 00114510 38 00 00 3F */ li r0, 0x3f
/* 801175B4 00114514 3C 60 80 57 */ lis r3, mActiveIndexList__13CDecalManager@ha
/* 801175B8 00114518 38 80 00 00 */ li r4, 0
/* 801175BC 0011451C 90 0D A3 68 */ stw r0, lbl_805A8F28@sda21(r13)
/* 801175C0 00114520 90 83 F7 58 */ stw r4, mActiveIndexList__13CDecalManager@l(r3)
/* 801175C4 00114524 83 E1 00 FC */ lwz r31, 0xfc(r1)
/* 801175C8 00114528 80 01 01 04 */ lwz r0, 0x104(r1)
/* 801175CC 0011452C 83 C1 00 F8 */ lwz r30, 0xf8(r1)
/* 801175D0 00114530 7C 08 03 A6 */ mtlr r0
/* 801175D4 00114534 38 21 01 00 */ addi r1, r1, 0x100
/* 801175D8 00114538 4E 80 00 20 */ blr
.global sub_801175dc
sub_801175dc:
/* 801175DC 0011453C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801175E0 00114540 7C 08 02 A6 */ mflr r0
/* 801175E4 00114544 90 01 00 14 */ stw r0, 0x14(r1)
/* 801175E8 00114548 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801175EC 0011454C 7C 9F 23 78 */ mr r31, r4
/* 801175F0 00114550 93 C1 00 08 */ stw r30, 8(r1)
/* 801175F4 00114554 7C 7E 1B 78 */ mr r30, r3
/* 801175F8 00114558 48 00 00 39 */ bl sub_80117630
/* 801175FC 0011455C 80 1F 00 70 */ lwz r0, 0x70(r31)
/* 80117600 00114560 7F C3 F3 78 */ mr r3, r30
/* 80117604 00114564 90 1E 00 70 */ stw r0, 0x70(r30)
/* 80117608 00114568 88 1F 00 74 */ lbz r0, 0x74(r31)
/* 8011760C 0011456C 98 1E 00 74 */ stb r0, 0x74(r30)
/* 80117610 00114570 88 1F 00 75 */ lbz r0, 0x75(r31)
/* 80117614 00114574 98 1E 00 75 */ stb r0, 0x75(r30)
/* 80117618 00114578 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011761C 0011457C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80117620 00114580 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117624 00114584 7C 08 03 A6 */ mtlr r0
/* 80117628 00114588 38 21 00 10 */ addi r1, r1, 0x10
/* 8011762C 0011458C 4E 80 00 20 */ blr
.global sub_80117630
sub_80117630:
/* 80117630 00114590 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80117634 00114594 7C 08 02 A6 */ mflr r0
/* 80117638 00114598 90 01 00 14 */ stw r0, 0x14(r1)
/* 8011763C 0011459C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80117640 001145A0 7C 7F 1B 78 */ mr r31, r3
/* 80117644 001145A4 7C 1F 20 40 */ cmplw r31, r4
/* 80117648 001145A8 40 82 00 08 */ bne lbl_80117650
/* 8011764C 001145AC 48 00 00 48 */ b lbl_80117694
lbl_80117650:
/* 80117650 001145B0 88 04 00 6C */ lbz r0, 0x6c(r4)
/* 80117654 001145B4 28 00 00 00 */ cmplwi r0, 0
/* 80117658 001145B8 41 82 00 0C */ beq lbl_80117664
/* 8011765C 001145BC 4B FF FC C9 */ bl sub_80117324
/* 80117660 001145C0 48 00 00 30 */ b lbl_80117690
lbl_80117664:
/* 80117664 001145C4 88 1F 00 6C */ lbz r0, 0x6c(r31)
/* 80117668 001145C8 28 00 00 00 */ cmplwi r0, 0
/* 8011766C 001145CC 41 82 00 1C */ beq lbl_80117688
/* 80117670 001145D0 28 1F 00 00 */ cmplwi r31, 0
/* 80117674 001145D4 41 82 00 14 */ beq lbl_80117688
/* 80117678 001145D8 41 82 00 10 */ beq lbl_80117688
/* 8011767C 001145DC 41 82 00 0C */ beq lbl_80117688
/* 80117680 001145E0 38 80 00 00 */ li r4, 0
/* 80117684 001145E4 48 22 97 BD */ bl __dt__6CTokenFv
lbl_80117688:
/* 80117688 001145E8 38 00 00 00 */ li r0, 0
/* 8011768C 001145EC 98 1F 00 6C */ stb r0, 0x6c(r31)
lbl_80117690:
/* 80117690 001145F0 7F E3 FB 78 */ mr r3, r31
lbl_80117694:
/* 80117694 001145F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117698 001145F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8011769C 001145FC 7C 08 03 A6 */ mtlr r0
/* 801176A0 00114600 38 21 00 10 */ addi r1, r1, 0x10
/* 801176A4 00114604 4E 80 00 20 */ blr
.global "__as__Q24rstl24optional_object<6CDecal>FRCQ24rstl24optional_object<6CDecal>"
"__as__Q24rstl24optional_object<6CDecal>FRCQ24rstl24optional_object<6CDecal>":
/* 801176A8 00114608 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801176AC 0011460C 7C 08 02 A6 */ mflr r0
/* 801176B0 00114610 90 01 00 24 */ stw r0, 0x24(r1)
/* 801176B4 00114614 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801176B8 00114618 7C FF 3B 78 */ mr r31, r7
/* 801176BC 0011461C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801176C0 00114620 7C DE 33 78 */ mr r30, r6
/* 801176C4 00114624 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801176C8 00114628 7C BD 2B 78 */ mr r29, r5
/* 801176CC 0011462C 93 81 00 10 */ stw r28, 0x10(r1)
/* 801176D0 00114630 7C 7C 1B 78 */ mr r28, r3
/* 801176D4 00114634 48 00 00 45 */ bl sub_80117718
/* 801176D8 00114638 80 1D 00 00 */ lwz r0, 0(r29)
/* 801176DC 0011463C 7F E4 07 74 */ extsb r4, r31
/* 801176E0 00114640 7F 83 E3 78 */ mr r3, r28
/* 801176E4 00114644 90 1C 00 70 */ stw r0, 0x70(r28)
/* 801176E8 00114648 9B DC 00 74 */ stb r30, 0x74(r28)
/* 801176EC 0011464C 88 1C 00 75 */ lbz r0, 0x75(r28)
/* 801176F0 00114650 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 801176F4 00114654 98 1C 00 75 */ stb r0, 0x75(r28)
/* 801176F8 00114658 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801176FC 0011465C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80117700 00114660 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80117704 00114664 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80117708 00114668 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8011770C 0011466C 7C 08 03 A6 */ mtlr r0
/* 80117710 00114670 38 21 00 20 */ addi r1, r1, 0x20
/* 80117714 00114674 4E 80 00 20 */ blr
.global sub_80117718
sub_80117718:
/* 80117718 00114678 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8011771C 0011467C 7C 08 02 A6 */ mflr r0
/* 80117720 00114680 90 01 00 24 */ stw r0, 0x24(r1)
/* 80117724 00114684 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80117728 00114688 7C 9F 23 78 */ mr r31, r4
/* 8011772C 0011468C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80117730 00114690 7C 7E 1B 78 */ mr r30, r3
/* 80117734 00114694 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80117738 00114698 93 81 00 10 */ stw r28, 0x10(r1)
/* 8011773C 0011469C 88 04 00 6C */ lbz r0, 0x6c(r4)
/* 80117740 001146A0 98 03 00 6C */ stb r0, 0x6c(r3)
/* 80117744 001146A4 88 04 00 6C */ lbz r0, 0x6c(r4)
/* 80117748 001146A8 28 00 00 00 */ cmplwi r0, 0
/* 8011774C 001146AC 41 82 00 94 */ beq lbl_801177E0
/* 80117750 001146B0 7F C0 F3 79 */ or. r0, r30, r30
/* 80117754 001146B4 41 82 00 8C */ beq lbl_801177E0
/* 80117758 001146B8 7C 1C 03 78 */ mr r28, r0
/* 8011775C 001146BC 7C 1D 03 78 */ mr r29, r0
/* 80117760 001146C0 48 22 97 49 */ bl __ct__6CTokenFRC6CToken
/* 80117764 001146C4 80 1F 00 08 */ lwz r0, 8(r31)
/* 80117768 001146C8 7F A3 EB 78 */ mr r3, r29
/* 8011776C 001146CC 90 1D 00 08 */ stw r0, 8(r29)
/* 80117770 001146D0 48 22 96 15 */ bl Lock__6CTokenFv
/* 80117774 001146D4 38 7C 00 0C */ addi r3, r28, 0xc
/* 80117778 001146D8 38 9F 00 0C */ addi r4, r31, 0xc
/* 8011777C 001146DC 48 1F B3 F9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80117780 001146E0 88 1F 00 3C */ lbz r0, 0x3c(r31)
/* 80117784 001146E4 98 1C 00 3C */ stb r0, 0x3c(r28)
/* 80117788 001146E8 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 8011778C 001146EC 90 1C 00 40 */ stw r0, 0x40(r28)
/* 80117790 001146F0 C0 1F 00 44 */ lfs f0, 0x44(r31)
/* 80117794 001146F4 D0 1C 00 44 */ stfs f0, 0x44(r28)
/* 80117798 001146F8 88 1F 00 48 */ lbz r0, 0x48(r31)
/* 8011779C 001146FC 98 1C 00 48 */ stb r0, 0x48(r28)
/* 801177A0 00114700 80 1F 00 4C */ lwz r0, 0x4c(r31)
/* 801177A4 00114704 90 1C 00 4C */ stw r0, 0x4c(r28)
/* 801177A8 00114708 C0 1F 00 50 */ lfs f0, 0x50(r31)
/* 801177AC 0011470C D0 1C 00 50 */ stfs f0, 0x50(r28)
/* 801177B0 00114710 80 1F 00 54 */ lwz r0, 0x54(r31)
/* 801177B4 00114714 90 1C 00 54 */ stw r0, 0x54(r28)
/* 801177B8 00114718 80 1F 00 58 */ lwz r0, 0x58(r31)
/* 801177BC 0011471C 90 1C 00 58 */ stw r0, 0x58(r28)
/* 801177C0 00114720 80 1F 00 5C */ lwz r0, 0x5c(r31)
/* 801177C4 00114724 90 1C 00 5C */ stw r0, 0x5c(r28)
/* 801177C8 00114728 C0 1F 00 60 */ lfs f0, 0x60(r31)
/* 801177CC 0011472C D0 1C 00 60 */ stfs f0, 0x60(r28)
/* 801177D0 00114730 C0 1F 00 64 */ lfs f0, 0x64(r31)
/* 801177D4 00114734 D0 1C 00 64 */ stfs f0, 0x64(r28)
/* 801177D8 00114738 C0 1F 00 68 */ lfs f0, 0x68(r31)
/* 801177DC 0011473C D0 1C 00 68 */ stfs f0, 0x68(r28)
lbl_801177E0:
/* 801177E0 00114740 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801177E4 00114744 7F C3 F3 78 */ mr r3, r30
/* 801177E8 00114748 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801177EC 0011474C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801177F0 00114750 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801177F4 00114754 83 81 00 10 */ lwz r28, 0x10(r1)
/* 801177F8 00114758 7C 08 03 A6 */ mtlr r0
/* 801177FC 0011475C 38 21 00 20 */ addi r1, r1, 0x20
/* 80117800 00114760 4E 80 00 20 */ blr
.global ShutDown__13CDecalManagerFv
ShutDown__13CDecalManagerFv:
/* 80117804 00114764 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80117808 00114768 7C 08 02 A6 */ mflr r0
/* 8011780C 0011476C 3C 60 80 57 */ lis r3, mActiveIndexList__13CDecalManager@ha
/* 80117810 00114770 38 80 00 00 */ li r4, 0
/* 80117814 00114774 90 01 00 14 */ stw r0, 0x14(r1)
/* 80117818 00114778 80 A3 F7 58 */ lwz r5, mActiveIndexList__13CDecalManager@l(r3)
/* 8011781C 0011477C 2C 05 00 00 */ cmpwi r5, 0
/* 80117820 00114780 40 81 00 40 */ ble lbl_80117860
/* 80117824 00114784 2C 05 00 08 */ cmpwi r5, 8
/* 80117828 00114788 38 65 FF F8 */ addi r3, r5, -8
/* 8011782C 0011478C 40 81 00 20 */ ble lbl_8011784C
/* 80117830 00114790 38 03 00 07 */ addi r0, r3, 7
/* 80117834 00114794 54 00 E8 FE */ srwi r0, r0, 3
/* 80117838 00114798 7C 09 03 A6 */ mtctr r0
/* 8011783C 0011479C 2C 03 00 00 */ cmpwi r3, 0
/* 80117840 001147A0 40 81 00 0C */ ble lbl_8011784C
lbl_80117844:
/* 80117844 001147A4 38 84 00 08 */ addi r4, r4, 8
/* 80117848 001147A8 42 00 FF FC */ bdnz lbl_80117844
lbl_8011784C:
/* 8011784C 001147AC 7C 04 28 50 */ subf r0, r4, r5
/* 80117850 001147B0 7C 09 03 A6 */ mtctr r0
/* 80117854 001147B4 7C 04 28 00 */ cmpw r4, r5
/* 80117858 001147B8 40 80 00 08 */ bge lbl_80117860
lbl_8011785C:
/* 8011785C 001147BC 42 00 00 00 */ bdnz lbl_8011785C
lbl_80117860:
/* 80117860 001147C0 3C 80 80 57 */ lis r4, mActiveIndexList__13CDecalManager@ha
/* 80117864 001147C4 38 00 00 00 */ li r0, 0
/* 80117868 001147C8 3C 60 80 57 */ lis r3, mDecalPool__13CDecalManager@ha
/* 8011786C 001147CC 90 04 F7 58 */ stw r0, mActiveIndexList__13CDecalManager@l(r4)
/* 80117870 001147D0 38 63 D8 50 */ addi r3, r3, mDecalPool__13CDecalManager@l
/* 80117874 001147D4 48 00 00 1D */ bl "data__Q24rstl44reserved_vector<Q213CDecalManager6SDecal,64>Fv"
/* 80117878 001147D8 38 00 00 00 */ li r0, 0
/* 8011787C 001147DC 98 0D A3 6C */ stb r0, lbl_805A8F2C@sda21(r13)
/* 80117880 001147E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117884 001147E4 7C 08 03 A6 */ mtlr r0
/* 80117888 001147E8 38 21 00 10 */ addi r1, r1, 0x10
/* 8011788C 001147EC 4E 80 00 20 */ blr
.global "data__Q24rstl44reserved_vector<Q213CDecalManager6SDecal,64>Fv"
"data__Q24rstl44reserved_vector<Q213CDecalManager6SDecal,64>Fv":
/* 80117890 001147F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80117894 001147F4 7C 08 02 A6 */ mflr r0
/* 80117898 001147F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8011789C 001147FC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801178A0 00114800 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801178A4 00114804 3B C0 00 00 */ li r30, 0
/* 801178A8 00114808 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801178AC 0011480C 7C 7D 1B 78 */ mr r29, r3
/* 801178B0 00114810 3B FD 00 04 */ addi r31, r29, 4
/* 801178B4 00114814 48 00 00 14 */ b lbl_801178C8
lbl_801178B8:
/* 801178B8 00114818 7F E3 FB 78 */ mr r3, r31
/* 801178BC 0011481C 48 00 00 3D */ bl sub_801178f8
/* 801178C0 00114820 3B FF 00 78 */ addi r31, r31, 0x78
/* 801178C4 00114824 3B DE 00 01 */ addi r30, r30, 1
lbl_801178C8:
/* 801178C8 00114828 80 1D 00 00 */ lwz r0, 0(r29)
/* 801178CC 0011482C 7C 1E 00 00 */ cmpw r30, r0
/* 801178D0 00114830 41 80 FF E8 */ blt lbl_801178B8
/* 801178D4 00114834 38 00 00 00 */ li r0, 0
/* 801178D8 00114838 90 1D 00 00 */ stw r0, 0(r29)
/* 801178DC 0011483C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801178E0 00114840 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801178E4 00114844 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801178E8 00114848 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801178EC 0011484C 7C 08 03 A6 */ mtlr r0
/* 801178F0 00114850 38 21 00 20 */ addi r1, r1, 0x20
/* 801178F4 00114854 4E 80 00 20 */ blr
.global sub_801178f8
sub_801178f8:
/* 801178F8 00114858 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801178FC 0011485C 7C 08 02 A6 */ mflr r0
/* 80117900 00114860 90 01 00 14 */ stw r0, 0x14(r1)
/* 80117904 00114864 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80117908 00114868 7C 7F 1B 79 */ or. r31, r3, r3
/* 8011790C 0011486C 41 82 00 34 */ beq lbl_80117940
/* 80117910 00114870 41 82 00 30 */ beq lbl_80117940
/* 80117914 00114874 88 1F 00 6C */ lbz r0, 0x6c(r31)
/* 80117918 00114878 28 00 00 00 */ cmplwi r0, 0
/* 8011791C 0011487C 41 82 00 1C */ beq lbl_80117938
/* 80117920 00114880 28 1F 00 00 */ cmplwi r31, 0
/* 80117924 00114884 41 82 00 14 */ beq lbl_80117938
/* 80117928 00114888 41 82 00 10 */ beq lbl_80117938
/* 8011792C 0011488C 41 82 00 0C */ beq lbl_80117938
/* 80117930 00114890 38 80 00 00 */ li r4, 0
/* 80117934 00114894 48 22 95 0D */ bl __dt__6CTokenFv
lbl_80117938:
/* 80117938 00114898 38 00 00 00 */ li r0, 0
/* 8011793C 0011489C 98 1F 00 6C */ stb r0, 0x6c(r31)
lbl_80117940:
/* 80117940 001148A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117944 001148A4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80117948 001148A8 7C 08 03 A6 */ mtlr r0
/* 8011794C 001148AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80117950 001148B0 4E 80 00 20 */ blr
.global Initialize__13CDecalManagerFv
Initialize__13CDecalManagerFv:
/* 80117954 001148B4 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 80117958 001148B8 7C 08 02 A6 */ mflr r0
/* 8011795C 001148BC 90 01 01 04 */ stw r0, 0x104(r1)
/* 80117960 001148C0 93 E1 00 FC */ stw r31, 0xfc(r1)
/* 80117964 001148C4 93 C1 00 F8 */ stw r30, 0xf8(r1)
/* 80117968 001148C8 88 0D A3 6C */ lbz r0, lbl_805A8F2C@sda21(r13)
/* 8011796C 001148CC 28 00 00 00 */ cmplwi r0, 0
/* 80117970 001148D0 40 82 00 E4 */ bne lbl_80117A54
/* 80117974 001148D4 3C 60 80 57 */ lis r3, mDecalPool__13CDecalManager@ha
/* 80117978 001148D8 38 63 D8 50 */ addi r3, r3, mDecalPool__13CDecalManager@l
/* 8011797C 001148DC 4B FF FF 15 */ bl "data__Q24rstl44reserved_vector<Q213CDecalManager6SDecal,64>Fv"
/* 80117980 001148E0 3C 60 80 57 */ lis r3, mDecalPool__13CDecalManager@ha
/* 80117984 001148E4 3B C0 00 00 */ li r30, 0
/* 80117988 001148E8 3B E3 D8 50 */ addi r31, r3, mDecalPool__13CDecalManager@l
lbl_8011798C:
/* 8011798C 001148EC 39 00 00 00 */ li r8, 0
/* 80117990 001148F0 38 1E FF FF */ addi r0, r30, -1
/* 80117994 001148F4 99 01 00 F4 */ stb r8, 0xf4(r1)
/* 80117998 001148F8 38 61 00 10 */ addi r3, r1, 0x10
/* 8011799C 001148FC 38 81 00 88 */ addi r4, r1, 0x88
/* 801179A0 00114900 38 A1 00 0C */ addi r5, r1, 0xc
/* 801179A4 00114904 91 01 00 08 */ stw r8, 8(r1)
/* 801179A8 00114908 7C 06 07 74 */ extsb r6, r0
/* 801179AC 0011490C 38 E0 00 00 */ li r7, 0
/* 801179B0 00114910 91 01 00 0C */ stw r8, 0xc(r1)
/* 801179B4 00114914 4B FF FC F5 */ bl "__as__Q24rstl24optional_object<6CDecal>FRCQ24rstl24optional_object<6CDecal>"
/* 801179B8 00114918 7F E3 FB 78 */ mr r3, r31
/* 801179BC 0011491C 38 81 00 10 */ addi r4, r1, 0x10
/* 801179C0 00114920 48 00 00 AD */ bl sub_80117a6c
/* 801179C4 00114924 88 01 00 7C */ lbz r0, 0x7c(r1)
/* 801179C8 00114928 28 00 00 00 */ cmplwi r0, 0
/* 801179CC 0011492C 41 82 00 20 */ beq lbl_801179EC
/* 801179D0 00114930 34 61 00 10 */ addic. r3, r1, 0x10
/* 801179D4 00114934 41 82 00 18 */ beq lbl_801179EC
/* 801179D8 00114938 28 03 00 00 */ cmplwi r3, 0
/* 801179DC 0011493C 41 82 00 10 */ beq lbl_801179EC
/* 801179E0 00114940 41 82 00 0C */ beq lbl_801179EC
/* 801179E4 00114944 38 80 00 00 */ li r4, 0
/* 801179E8 00114948 48 22 94 59 */ bl __dt__6CTokenFv
lbl_801179EC:
/* 801179EC 0011494C 88 01 00 F4 */ lbz r0, 0xf4(r1)
/* 801179F0 00114950 38 60 00 00 */ li r3, 0
/* 801179F4 00114954 98 61 00 7C */ stb r3, 0x7c(r1)
/* 801179F8 00114958 28 00 00 00 */ cmplwi r0, 0
/* 801179FC 0011495C 41 82 00 20 */ beq lbl_80117A1C
/* 80117A00 00114960 34 61 00 88 */ addic. r3, r1, 0x88
/* 80117A04 00114964 41 82 00 18 */ beq lbl_80117A1C
/* 80117A08 00114968 28 03 00 00 */ cmplwi r3, 0
/* 80117A0C 0011496C 41 82 00 10 */ beq lbl_80117A1C
/* 80117A10 00114970 41 82 00 0C */ beq lbl_80117A1C
/* 80117A14 00114974 38 80 00 00 */ li r4, 0
/* 80117A18 00114978 48 22 94 29 */ bl __dt__6CTokenFv
lbl_80117A1C:
/* 80117A1C 0011497C 3B DE 00 01 */ addi r30, r30, 1
/* 80117A20 00114980 38 00 00 00 */ li r0, 0
/* 80117A24 00114984 2C 1E 00 40 */ cmpwi r30, 0x40
/* 80117A28 00114988 98 01 00 F4 */ stb r0, 0xf4(r1)
/* 80117A2C 0011498C 41 80 FF 60 */ blt lbl_8011798C
/* 80117A30 00114990 C0 02 96 60 */ lfs f0, lbl_805AB380@sda21(r2)
/* 80117A34 00114994 38 00 FF FF */ li r0, -1
/* 80117A38 00114998 38 80 00 3F */ li r4, 0x3f
/* 80117A3C 0011499C 38 60 00 01 */ li r3, 1
/* 80117A40 001149A0 90 8D A3 68 */ stw r4, lbl_805A8F28@sda21(r13)
/* 80117A44 001149A4 98 6D A3 6C */ stb r3, lbl_805A8F2C@sda21(r13)
/* 80117A48 001149A8 D0 0D A3 70 */ stfs f0, lbl_805A8F30@sda21(r13)
/* 80117A4C 001149AC 90 0D A3 74 */ stw r0, lbl_805A8F34@sda21(r13)
/* 80117A50 001149B0 90 0D A3 78 */ stw r0, lbl_805A8F38@sda21(r13)
lbl_80117A54:
/* 80117A54 001149B4 80 01 01 04 */ lwz r0, 0x104(r1)
/* 80117A58 001149B8 83 E1 00 FC */ lwz r31, 0xfc(r1)
/* 80117A5C 001149BC 83 C1 00 F8 */ lwz r30, 0xf8(r1)
/* 80117A60 001149C0 7C 08 03 A6 */ mtlr r0
/* 80117A64 001149C4 38 21 01 00 */ addi r1, r1, 0x100
/* 80117A68 001149C8 4E 80 00 20 */ blr
.global sub_80117a6c
sub_80117a6c:
/* 80117A6C 001149CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80117A70 001149D0 7C 08 02 A6 */ mflr r0
/* 80117A74 001149D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80117A78 001149D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80117A7C 001149DC 7C 7F 1B 78 */ mr r31, r3
/* 80117A80 001149E0 80 03 00 00 */ lwz r0, 0(r3)
/* 80117A84 001149E4 1C 00 00 78 */ mulli r0, r0, 0x78
/* 80117A88 001149E8 7C 7F 02 14 */ add r3, r31, r0
/* 80117A8C 001149EC 38 63 00 04 */ addi r3, r3, 4
/* 80117A90 001149F0 48 00 00 25 */ bl sub_80117ab4
/* 80117A94 001149F4 80 7F 00 00 */ lwz r3, 0(r31)
/* 80117A98 001149F8 38 03 00 01 */ addi r0, r3, 1
/* 80117A9C 001149FC 90 1F 00 00 */ stw r0, 0(r31)
/* 80117AA0 00114A00 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80117AA4 00114A04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117AA8 00114A08 7C 08 03 A6 */ mtlr r0
/* 80117AAC 00114A0C 38 21 00 10 */ addi r1, r1, 0x10
/* 80117AB0 00114A10 4E 80 00 20 */ blr
.global sub_80117ab4
sub_80117ab4:
/* 80117AB4 00114A14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80117AB8 00114A18 7C 08 02 A6 */ mflr r0
/* 80117ABC 00114A1C 28 03 00 00 */ cmplwi r3, 0
/* 80117AC0 00114A20 90 01 00 14 */ stw r0, 0x14(r1)
/* 80117AC4 00114A24 41 82 00 08 */ beq lbl_80117ACC
/* 80117AC8 00114A28 48 00 00 15 */ bl sub_80117adc
lbl_80117ACC:
/* 80117ACC 00114A2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117AD0 00114A30 7C 08 03 A6 */ mtlr r0
/* 80117AD4 00114A34 38 21 00 10 */ addi r1, r1, 0x10
/* 80117AD8 00114A38 4E 80 00 20 */ blr
.global sub_80117adc
sub_80117adc:
/* 80117ADC 00114A3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80117AE0 00114A40 7C 08 02 A6 */ mflr r0
/* 80117AE4 00114A44 90 01 00 14 */ stw r0, 0x14(r1)
/* 80117AE8 00114A48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80117AEC 00114A4C 7C 9F 23 78 */ mr r31, r4
/* 80117AF0 00114A50 93 C1 00 08 */ stw r30, 8(r1)
/* 80117AF4 00114A54 7C 7E 1B 78 */ mr r30, r3
/* 80117AF8 00114A58 4B FF FC 21 */ bl sub_80117718
/* 80117AFC 00114A5C 80 1F 00 70 */ lwz r0, 0x70(r31)
/* 80117B00 00114A60 7F C3 F3 78 */ mr r3, r30
/* 80117B04 00114A64 90 1E 00 70 */ stw r0, 0x70(r30)
/* 80117B08 00114A68 88 1F 00 74 */ lbz r0, 0x74(r31)
/* 80117B0C 00114A6C 98 1E 00 74 */ stb r0, 0x74(r30)
/* 80117B10 00114A70 88 1F 00 75 */ lbz r0, 0x75(r31)
/* 80117B14 00114A74 98 1E 00 75 */ stb r0, 0x75(r30)
/* 80117B18 00114A78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80117B1C 00114A7C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80117B20 00114A80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117B24 00114A84 7C 08 03 A6 */ mtlr r0
/* 80117B28 00114A88 38 21 00 10 */ addi r1, r1, 0x10
/* 80117B2C 00114A8C 4E 80 00 20 */ blr
.global __sinit_CDecalManager_cpp
__sinit_CDecalManager_cpp:
/* 80117B30 00114A90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80117B34 00114A94 7C 08 02 A6 */ mflr r0
/* 80117B38 00114A98 3C 80 80 11 */ lis r4, "__dt__Q24rstl44reserved_vector<Q213CDecalManager6SDecal,64>Fv"@ha
/* 80117B3C 00114A9C 3C A0 80 47 */ lis r5, lbl_8046C558@ha
/* 80117B40 00114AA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80117B44 00114AA4 38 00 00 00 */ li r0, 0
/* 80117B48 00114AA8 3C 60 80 57 */ lis r3, mDecalPool__13CDecalManager@ha
/* 80117B4C 00114AAC 38 84 7C 20 */ addi r4, r4, "__dt__Q24rstl44reserved_vector<Q213CDecalManager6SDecal,64>Fv"@l
/* 80117B50 00114AB0 94 03 D8 50 */ stwu r0, mDecalPool__13CDecalManager@l(r3)
/* 80117B54 00114AB4 38 A5 C5 58 */ addi r5, r5, lbl_8046C558@l
/* 80117B58 00114AB8 48 27 1B 35 */ bl __register_global_object
/* 80117B5C 00114ABC 38 00 00 00 */ li r0, 0
/* 80117B60 00114AC0 3C 60 80 57 */ lis r3, mActiveIndexList__13CDecalManager@ha
/* 80117B64 00114AC4 3C 80 80 11 */ lis r4, "__dt__Q24rstl21reserved_vector<i,64>Fv"@ha
/* 80117B68 00114AC8 3C A0 80 47 */ lis r5, lbl_8046C564@ha
/* 80117B6C 00114ACC 94 03 F7 58 */ stwu r0, mActiveIndexList__13CDecalManager@l(r3)
/* 80117B70 00114AD0 38 84 7B 8C */ addi r4, r4, "__dt__Q24rstl21reserved_vector<i,64>Fv"@l
/* 80117B74 00114AD4 38 A5 C5 64 */ addi r5, r5, lbl_8046C564@l
/* 80117B78 00114AD8 48 27 1B 15 */ bl __register_global_object
/* 80117B7C 00114ADC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117B80 00114AE0 7C 08 03 A6 */ mtlr r0
/* 80117B84 00114AE4 38 21 00 10 */ addi r1, r1, 0x10
/* 80117B88 00114AE8 4E 80 00 20 */ blr
.global "__dt__Q24rstl21reserved_vector<i,64>Fv"
"__dt__Q24rstl21reserved_vector<i,64>Fv":
/* 80117B8C 00114AEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80117B90 00114AF0 7C 08 02 A6 */ mflr r0
/* 80117B94 00114AF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80117B98 00114AF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80117B9C 00114AFC 7C 7F 1B 79 */ or. r31, r3, r3
/* 80117BA0 00114B00 41 82 00 68 */ beq lbl_80117C08
/* 80117BA4 00114B04 80 DF 00 00 */ lwz r6, 0(r31)
/* 80117BA8 00114B08 38 60 00 00 */ li r3, 0
/* 80117BAC 00114B0C 2C 06 00 00 */ cmpwi r6, 0
/* 80117BB0 00114B10 40 81 00 40 */ ble lbl_80117BF0
/* 80117BB4 00114B14 2C 06 00 08 */ cmpwi r6, 8
/* 80117BB8 00114B18 38 A6 FF F8 */ addi r5, r6, -8
/* 80117BBC 00114B1C 40 81 00 20 */ ble lbl_80117BDC
/* 80117BC0 00114B20 38 05 00 07 */ addi r0, r5, 7
/* 80117BC4 00114B24 54 00 E8 FE */ srwi r0, r0, 3
/* 80117BC8 00114B28 7C 09 03 A6 */ mtctr r0
/* 80117BCC 00114B2C 2C 05 00 00 */ cmpwi r5, 0
/* 80117BD0 00114B30 40 81 00 0C */ ble lbl_80117BDC
lbl_80117BD4:
/* 80117BD4 00114B34 38 63 00 08 */ addi r3, r3, 8
/* 80117BD8 00114B38 42 00 FF FC */ bdnz lbl_80117BD4
lbl_80117BDC:
/* 80117BDC 00114B3C 7C 03 30 50 */ subf r0, r3, r6
/* 80117BE0 00114B40 7C 09 03 A6 */ mtctr r0
/* 80117BE4 00114B44 7C 03 30 00 */ cmpw r3, r6
/* 80117BE8 00114B48 40 80 00 08 */ bge lbl_80117BF0
lbl_80117BEC:
/* 80117BEC 00114B4C 42 00 00 00 */ bdnz lbl_80117BEC
lbl_80117BF0:
/* 80117BF0 00114B50 38 60 00 00 */ li r3, 0
/* 80117BF4 00114B54 7C 80 07 35 */ extsh. r0, r4
/* 80117BF8 00114B58 90 7F 00 00 */ stw r3, 0(r31)
/* 80117BFC 00114B5C 40 81 00 0C */ ble lbl_80117C08
/* 80117C00 00114B60 7F E3 FB 78 */ mr r3, r31
/* 80117C04 00114B64 48 1F DD 2D */ bl Free__7CMemoryFPCv
lbl_80117C08:
/* 80117C08 00114B68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117C0C 00114B6C 7F E3 FB 78 */ mr r3, r31
/* 80117C10 00114B70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80117C14 00114B74 7C 08 03 A6 */ mtlr r0
/* 80117C18 00114B78 38 21 00 10 */ addi r1, r1, 0x10
/* 80117C1C 00114B7C 4E 80 00 20 */ blr
.global "__dt__Q24rstl44reserved_vector<Q213CDecalManager6SDecal,64>Fv"
"__dt__Q24rstl44reserved_vector<Q213CDecalManager6SDecal,64>Fv":
/* 80117C20 00114B80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80117C24 00114B84 7C 08 02 A6 */ mflr r0
/* 80117C28 00114B88 90 01 00 14 */ stw r0, 0x14(r1)
/* 80117C2C 00114B8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80117C30 00114B90 7C 9F 23 78 */ mr r31, r4
/* 80117C34 00114B94 93 C1 00 08 */ stw r30, 8(r1)
/* 80117C38 00114B98 7C 7E 1B 79 */ or. r30, r3, r3
/* 80117C3C 00114B9C 41 82 00 18 */ beq lbl_80117C54
/* 80117C40 00114BA0 4B FF FC 51 */ bl "data__Q24rstl44reserved_vector<Q213CDecalManager6SDecal,64>Fv"
/* 80117C44 00114BA4 7F E0 07 35 */ extsh. r0, r31
/* 80117C48 00114BA8 40 81 00 0C */ ble lbl_80117C54
/* 80117C4C 00114BAC 7F C3 F3 78 */ mr r3, r30
/* 80117C50 00114BB0 48 1F DC E1 */ bl Free__7CMemoryFPCv
lbl_80117C54:
/* 80117C54 00114BB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80117C58 00114BB8 7F C3 F3 78 */ mr r3, r30
/* 80117C5C 00114BBC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80117C60 00114BC0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80117C64 00114BC4 7C 08 03 A6 */ mtlr r0
/* 80117C68 00114BC8 38 21 00 10 */ addi r1, r1, 0x10
/* 80117C6C 00114BCC 4E 80 00 20 */ blr