prime/asm/MetroidPrime/CInGameTweakManager.s

1413 lines
71 KiB
ArmAsm
Raw Normal View History

2022-04-14 08:02:42 +00:00
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global sub_8021c164
sub_8021c164:
/* 8021C164 002190C4 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 8021C168 002190C8 7C 08 02 A6 */ mflr r0
/* 8021C16C 002190CC 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 8021C170 002190D0 BE E1 00 CC */ stmw r23, 0xcc(r1)
/* 8021C174 002190D4 7C 79 1B 78 */ mr r25, r3
/* 8021C178 002190D8 38 61 00 90 */ addi r3, r1, 0x90
/* 8021C17C 002190DC 48 00 04 A9 */ bl sub_8021c624
/* 8021C180 002190E0 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8021C184 002190E4 80 61 00 98 */ lwz r3, 0x98(r1)
/* 8021C188 002190E8 2C 00 00 00 */ cmpwi r0, 0
/* 8021C18C 002190EC 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8021C190 002190F0 90 61 00 B8 */ stw r3, 0xb8(r1)
/* 8021C194 002190F4 40 82 00 18 */ bne lbl_8021C1AC
/* 8021C198 002190F8 2C 03 00 00 */ cmpwi r3, 0
/* 8021C19C 002190FC 40 82 00 10 */ bne lbl_8021C1AC
/* 8021C1A0 00219100 38 00 00 00 */ li r0, 0
/* 8021C1A4 00219104 90 01 00 BC */ stw r0, 0xbc(r1)
/* 8021C1A8 00219108 48 00 00 BC */ b lbl_8021C264
lbl_8021C1AC:
/* 8021C1AC 0021910C 80 01 00 B8 */ lwz r0, 0xb8(r1)
/* 8021C1B0 00219110 1C 60 00 48 */ mulli r3, r0, 0x48
/* 8021C1B4 00219114 2C 03 00 00 */ cmpwi r3, 0
/* 8021C1B8 00219118 40 82 00 10 */ bne lbl_8021C1C8
/* 8021C1BC 0021911C 38 00 00 00 */ li r0, 0
/* 8021C1C0 00219120 90 01 00 BC */ stw r0, 0xbc(r1)
/* 8021C1C4 00219124 48 00 00 1C */ b lbl_8021C1E0
lbl_8021C1C8:
/* 8021C1C8 00219128 3C 80 80 3D */ lis r4, lbl_803D3038@ha
/* 8021C1CC 0021912C 38 A0 00 00 */ li r5, 0
/* 8021C1D0 00219130 38 84 30 38 */ addi r4, r4, lbl_803D3038@l
/* 8021C1D4 00219134 38 84 00 1B */ addi r4, r4, 0x1b
/* 8021C1D8 00219138 48 0F 96 41 */ bl __nwa__FUlPCcPCc
/* 8021C1DC 0021913C 90 61 00 BC */ stw r3, 0xbc(r1)
lbl_8021C1E0:
/* 8021C1E0 00219140 83 61 00 B4 */ lwz r27, 0xb4(r1)
/* 8021C1E4 00219144 3A E0 00 00 */ li r23, 0
/* 8021C1E8 00219148 83 41 00 9C */ lwz r26, 0x9c(r1)
/* 8021C1EC 0021914C 83 01 00 BC */ lwz r24, 0xbc(r1)
/* 8021C1F0 00219150 48 00 00 6C */ b lbl_8021C25C
lbl_8021C1F4:
/* 8021C1F4 00219154 28 18 00 00 */ cmplwi r24, 0
/* 8021C1F8 00219158 41 82 00 58 */ beq lbl_8021C250
/* 8021C1FC 0021915C 80 1A 00 00 */ lwz r0, 0(r26)
/* 8021C200 00219160 38 78 00 04 */ addi r3, r24, 4
/* 8021C204 00219164 38 9A 00 04 */ addi r4, r26, 4
/* 8021C208 00219168 90 18 00 00 */ stw r0, 0(r24)
/* 8021C20C 0021916C 48 12 1F 55 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021C210 00219170 38 78 00 14 */ addi r3, r24, 0x14
/* 8021C214 00219174 38 9A 00 14 */ addi r4, r26, 0x14
/* 8021C218 00219178 48 12 1F 49 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021C21C 0021917C C0 1A 00 24 */ lfs f0, 0x24(r26)
/* 8021C220 00219180 38 78 00 30 */ addi r3, r24, 0x30
/* 8021C224 00219184 38 9A 00 30 */ addi r4, r26, 0x30
/* 8021C228 00219188 D0 18 00 24 */ stfs f0, 0x24(r24)
/* 8021C22C 0021918C C0 1A 00 28 */ lfs f0, 0x28(r26)
/* 8021C230 00219190 D0 18 00 28 */ stfs f0, 0x28(r24)
/* 8021C234 00219194 C0 1A 00 2C */ lfs f0, 0x2c(r26)
/* 8021C238 00219198 D0 18 00 2C */ stfs f0, 0x2c(r24)
/* 8021C23C 0021919C 48 12 1F 25 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021C240 002191A0 80 1A 00 40 */ lwz r0, 0x40(r26)
/* 8021C244 002191A4 90 18 00 40 */ stw r0, 0x40(r24)
/* 8021C248 002191A8 80 1A 00 44 */ lwz r0, 0x44(r26)
/* 8021C24C 002191AC 90 18 00 44 */ stw r0, 0x44(r24)
lbl_8021C250:
/* 8021C250 002191B0 3B 18 00 48 */ addi r24, r24, 0x48
/* 8021C254 002191B4 3A F7 00 01 */ addi r23, r23, 1
/* 8021C258 002191B8 3B 5A 00 48 */ addi r26, r26, 0x48
lbl_8021C25C:
/* 8021C25C 002191BC 7C 17 D8 00 */ cmpw r23, r27
/* 8021C260 002191C0 41 80 FF 94 */ blt lbl_8021C1F4
lbl_8021C264:
/* 8021C264 002191C4 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8021C268 002191C8 82 E1 00 9C */ lwz r23, 0x9c(r1)
/* 8021C26C 002191CC 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8021C270 002191D0 92 E1 00 2C */ stw r23, 0x2c(r1)
/* 8021C274 002191D4 7F 17 02 14 */ add r24, r23, r0
/* 8021C278 002191D8 92 E1 00 28 */ stw r23, 0x28(r1)
/* 8021C27C 002191DC 93 01 00 34 */ stw r24, 0x34(r1)
/* 8021C280 002191E0 93 01 00 30 */ stw r24, 0x30(r1)
/* 8021C284 002191E4 48 00 00 44 */ b lbl_8021C2C8
lbl_8021C288:
/* 8021C288 002191E8 28 17 00 00 */ cmplwi r23, 0
/* 8021C28C 002191EC 41 82 00 38 */ beq lbl_8021C2C4
/* 8021C290 002191F0 34 17 00 24 */ addic. r0, r23, 0x24
/* 8021C294 002191F4 41 82 00 10 */ beq lbl_8021C2A4
/* 8021C298 002191F8 34 77 00 30 */ addic. r3, r23, 0x30
/* 8021C29C 002191FC 41 82 00 08 */ beq lbl_8021C2A4
/* 8021C2A0 00219200 48 12 18 41 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021C2A4:
/* 8021C2A4 00219204 34 17 00 14 */ addic. r0, r23, 0x14
/* 8021C2A8 00219208 41 82 00 0C */ beq lbl_8021C2B4
/* 8021C2AC 0021920C 38 77 00 14 */ addi r3, r23, 0x14
/* 8021C2B0 00219210 48 12 18 31 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021C2B4:
/* 8021C2B4 00219214 34 17 00 04 */ addic. r0, r23, 4
/* 8021C2B8 00219218 41 82 00 0C */ beq lbl_8021C2C4
/* 8021C2BC 0021921C 38 77 00 04 */ addi r3, r23, 4
/* 8021C2C0 00219220 48 12 18 21 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021C2C4:
/* 8021C2C4 00219224 3A F7 00 48 */ addi r23, r23, 0x48
lbl_8021C2C8:
/* 8021C2C8 00219228 7C 17 C0 40 */ cmplw r23, r24
/* 8021C2CC 0021922C 40 82 FF BC */ bne lbl_8021C288
/* 8021C2D0 00219230 80 61 00 9C */ lwz r3, 0x9c(r1)
/* 8021C2D4 00219234 28 03 00 00 */ cmplwi r3, 0
/* 8021C2D8 00219238 41 82 00 08 */ beq lbl_8021C2E0
/* 8021C2DC 0021923C 48 0F 96 55 */ bl Free__7CMemoryFPCv
lbl_8021C2E0:
/* 8021C2E0 00219240 38 00 00 00 */ li r0, 0
/* 8021C2E4 00219244 80 81 00 B4 */ lwz r4, 0xb4(r1)
/* 8021C2E8 00219248 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 8021C2EC 0021924C 38 61 00 A0 */ addi r3, r1, 0xa0
/* 8021C2F0 00219250 90 01 00 A8 */ stw r0, 0xa8(r1)
/* 8021C2F4 00219254 90 01 00 AC */ stw r0, 0xac(r1)
/* 8021C2F8 00219258 4B E4 78 2D */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
/* 8021C2FC 0021925C 3B E1 00 80 */ addi r31, r1, 0x80
/* 8021C300 00219260 3C 60 80 3D */ lis r3, lbl_803D3038@ha
/* 8021C304 00219264 93 E1 00 68 */ stw r31, 0x68(r1)
/* 8021C308 00219268 3B C3 30 38 */ addi r30, r3, lbl_803D3038@l
/* 8021C30C 0021926C 83 A1 00 BC */ lwz r29, 0xbc(r1)
/* 8021C310 00219270 3B 40 00 00 */ li r26, 0
/* 8021C314 00219274 93 E1 00 78 */ stw r31, 0x78(r1)
/* 8021C318 00219278 3B 60 00 00 */ li r27, 0
/* 8021C31C 0021927C 83 01 00 B4 */ lwz r24, 0xb4(r1)
/* 8021C320 00219280 93 E1 00 60 */ stw r31, 0x60(r1)
/* 8021C324 00219284 93 E1 00 70 */ stw r31, 0x70(r1)
/* 8021C328 00219288 48 00 01 8C */ b lbl_8021C4B4
lbl_8021C32C:
/* 8021C32C 0021928C 7F 9D DA 14 */ add r28, r29, r27
/* 8021C330 00219290 38 61 00 80 */ addi r3, r1, 0x80
/* 8021C334 00219294 38 9E 00 22 */ addi r4, r30, 0x22
/* 8021C338 00219298 4B DE 89 81 */ bl string_l__4rstlFPCc
/* 8021C33C 0021929C 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 8021C340 002192A0 38 FC 00 04 */ addi r7, r28, 4
/* 8021C344 002192A4 38 60 00 00 */ li r3, 0
/* 8021C348 002192A8 80 C1 00 88 */ lwz r6, 0x88(r1)
/* 8021C34C 002192AC 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 8021C350 002192B0 7C 80 00 D0 */ neg r4, r0
/* 8021C354 002192B4 7C 84 28 14 */ addc r4, r4, r5
/* 8021C358 002192B8 90 E1 00 48 */ stw r7, 0x48(r1)
/* 8021C35C 002192BC 7C 84 21 10 */ subfe r4, r4, r4
/* 8021C360 002192C0 7C 08 20 38 */ and r8, r0, r4
/* 8021C364 002192C4 90 61 00 4C */ stw r3, 0x4c(r1)
/* 8021C368 002192C8 7D 09 43 78 */ mr r9, r8
/* 8021C36C 002192CC 90 E1 00 40 */ stw r7, 0x40(r1)
/* 8021C370 002192D0 91 01 00 44 */ stw r8, 0x44(r1)
/* 8021C374 002192D4 90 E1 00 38 */ stw r7, 0x38(r1)
/* 8021C378 002192D8 91 01 00 3C */ stw r8, 0x3c(r1)
/* 8021C37C 002192DC 90 E1 00 58 */ stw r7, 0x58(r1)
/* 8021C380 002192E0 90 01 00 5C */ stw r0, 0x5c(r1)
/* 8021C384 002192E4 90 E1 00 50 */ stw r7, 0x50(r1)
/* 8021C388 002192E8 90 01 00 54 */ stw r0, 0x54(r1)
/* 8021C38C 002192EC 90 61 00 6C */ stw r3, 0x6c(r1)
/* 8021C390 002192F0 90 61 00 64 */ stw r3, 0x64(r1)
/* 8021C394 002192F4 90 C1 00 7C */ stw r6, 0x7c(r1)
/* 8021C398 002192F8 90 C1 00 74 */ stw r6, 0x74(r1)
/* 8021C39C 002192FC 48 00 00 5C */ b lbl_8021C3F8
lbl_8021C3A0:
/* 8021C3A0 00219300 39 40 00 00 */ li r10, 0
/* 8021C3A4 00219304 48 00 00 2C */ b lbl_8021C3D0
lbl_8021C3A8:
/* 8021C3A8 00219308 80 A7 00 00 */ lwz r5, 0(r7)
/* 8021C3AC 0021930C 80 9F 00 00 */ lwz r4, 0(r31)
/* 8021C3B0 00219310 7C A5 48 AE */ lbzx r5, r5, r9
/* 8021C3B4 00219314 7C 84 50 AE */ lbzx r4, r4, r10
/* 8021C3B8 00219318 7C A5 07 74 */ extsb r5, r5
/* 8021C3BC 0021931C 7C 84 07 74 */ extsb r4, r4
/* 8021C3C0 00219320 7C 05 20 00 */ cmpw r5, r4
/* 8021C3C4 00219324 40 82 00 08 */ bne lbl_8021C3CC
/* 8021C3C8 00219328 48 00 00 54 */ b lbl_8021C41C
lbl_8021C3CC:
/* 8021C3CC 0021932C 39 4A 00 01 */ addi r10, r10, 1
lbl_8021C3D0:
/* 8021C3D0 00219330 7C 1F F8 40 */ cmplw r31, r31
/* 8021C3D4 00219334 38 80 00 00 */ li r4, 0
/* 8021C3D8 00219338 40 82 00 0C */ bne lbl_8021C3E4
/* 8021C3DC 0021933C 7C 0A 30 00 */ cmpw r10, r6
/* 8021C3E0 00219340 41 82 00 08 */ beq lbl_8021C3E8
lbl_8021C3E4:
/* 8021C3E4 00219344 38 80 00 01 */ li r4, 1
lbl_8021C3E8:
/* 8021C3E8 00219348 54 84 06 3F */ clrlwi. r4, r4, 0x18
/* 8021C3EC 0021934C 40 82 FF BC */ bne lbl_8021C3A8
/* 8021C3F0 00219350 39 29 00 01 */ addi r9, r9, 1
/* 8021C3F4 00219354 38 63 00 01 */ addi r3, r3, 1
lbl_8021C3F8:
/* 8021C3F8 00219358 7C 07 38 40 */ cmplw r7, r7
/* 8021C3FC 0021935C 38 80 00 00 */ li r4, 0
/* 8021C400 00219360 40 82 00 0C */ bne lbl_8021C40C
/* 8021C404 00219364 7C 09 00 00 */ cmpw r9, r0
/* 8021C408 00219368 41 82 00 08 */ beq lbl_8021C410
lbl_8021C40C:
/* 8021C40C 0021936C 38 80 00 01 */ li r4, 1
lbl_8021C410:
/* 8021C410 00219370 54 84 06 3F */ clrlwi. r4, r4, 0x18
/* 8021C414 00219374 40 82 FF 8C */ bne lbl_8021C3A0
/* 8021C418 00219378 38 60 FF FF */ li r3, -1
lbl_8021C41C:
/* 8021C41C 0021937C 2C 03 FF FF */ cmpwi r3, -1
/* 8021C420 00219380 7C 83 42 14 */ add r4, r3, r8
/* 8021C424 00219384 40 82 00 08 */ bne lbl_8021C42C
/* 8021C428 00219388 7C 64 1B 78 */ mr r4, r3
lbl_8021C42C:
/* 8021C42C 0021938C 20 64 FF FF */ subfic r3, r4, -1
/* 8021C430 00219390 38 04 00 01 */ addi r0, r4, 1
/* 8021C434 00219394 7C 60 03 78 */ or r0, r3, r0
/* 8021C438 00219398 38 61 00 80 */ addi r3, r1, 0x80
/* 8021C43C 0021939C 54 17 0F FE */ srwi r23, r0, 0x1f
/* 8021C440 002193A0 48 12 16 A1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8021C444 002193A4 28 17 00 00 */ cmplwi r23, 0
/* 8021C448 002193A8 41 82 00 64 */ beq lbl_8021C4AC
/* 8021C44C 002193AC 80 7C 00 40 */ lwz r3, 0x40(r28)
/* 8021C450 002193B0 3C 03 00 01 */ addis r0, r3, 1
/* 8021C454 002193B4 28 00 FF FF */ cmplwi r0, 0xffff
/* 8021C458 002193B8 41 82 00 54 */ beq lbl_8021C4AC
/* 8021C45C 002193BC 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 8021C460 002193C0 80 A1 00 A8 */ lwz r5, 0xa8(r1)
/* 8021C464 002193C4 7C 00 28 00 */ cmpw r0, r5
/* 8021C468 002193C8 41 80 00 1C */ blt lbl_8021C484
/* 8021C46C 002193CC 2C 05 00 00 */ cmpwi r5, 0
/* 8021C470 002193D0 38 61 00 A0 */ addi r3, r1, 0xa0
/* 8021C474 002193D4 38 80 00 04 */ li r4, 4
/* 8021C478 002193D8 41 82 00 08 */ beq lbl_8021C480
/* 8021C47C 002193DC 54 A4 08 3C */ slwi r4, r5, 1
lbl_8021C480:
/* 8021C480 002193E0 4B E4 76 A5 */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
lbl_8021C484:
/* 8021C484 002193E4 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 8021C488 002193E8 80 61 00 AC */ lwz r3, 0xac(r1)
/* 8021C48C 002193EC 54 00 10 3A */ slwi r0, r0, 2
/* 8021C490 002193F0 7C 63 02 15 */ add. r3, r3, r0
/* 8021C494 002193F4 41 82 00 0C */ beq lbl_8021C4A0
/* 8021C498 002193F8 80 1C 00 40 */ lwz r0, 0x40(r28)
/* 8021C49C 002193FC 90 03 00 00 */ stw r0, 0(r3)
lbl_8021C4A0:
/* 8021C4A0 00219400 80 61 00 A4 */ lwz r3, 0xa4(r1)
/* 8021C4A4 00219404 38 03 00 01 */ addi r0, r3, 1
/* 8021C4A8 00219408 90 01 00 A4 */ stw r0, 0xa4(r1)
lbl_8021C4AC:
/* 8021C4AC 0021940C 3B 7B 00 48 */ addi r27, r27, 0x48
/* 8021C4B0 00219410 3B 5A 00 01 */ addi r26, r26, 1
lbl_8021C4B4:
/* 8021C4B4 00219414 7C 1A C0 00 */ cmpw r26, r24
/* 8021C4B8 00219418 41 80 FE 74 */ blt lbl_8021C32C
/* 8021C4BC 0021941C 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 8021C4C0 00219420 90 19 00 04 */ stw r0, 4(r25)
/* 8021C4C4 00219424 80 01 00 A8 */ lwz r0, 0xa8(r1)
/* 8021C4C8 00219428 90 19 00 08 */ stw r0, 8(r25)
/* 8021C4CC 0021942C 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 8021C4D0 00219430 2C 00 00 00 */ cmpwi r0, 0
/* 8021C4D4 00219434 40 82 00 1C */ bne lbl_8021C4F0
/* 8021C4D8 00219438 80 01 00 A8 */ lwz r0, 0xa8(r1)
/* 8021C4DC 0021943C 2C 00 00 00 */ cmpwi r0, 0
/* 8021C4E0 00219440 40 82 00 10 */ bne lbl_8021C4F0
/* 8021C4E4 00219444 38 00 00 00 */ li r0, 0
/* 8021C4E8 00219448 90 19 00 0C */ stw r0, 0xc(r25)
/* 8021C4EC 0021944C 48 00 00 68 */ b lbl_8021C554
lbl_8021C4F0:
/* 8021C4F0 00219450 80 19 00 08 */ lwz r0, 8(r25)
/* 8021C4F4 00219454 54 03 10 3B */ rlwinm. r3, r0, 2, 0, 0x1d
/* 8021C4F8 00219458 40 82 00 10 */ bne lbl_8021C508
/* 8021C4FC 0021945C 38 00 00 00 */ li r0, 0
/* 8021C500 00219460 90 19 00 0C */ stw r0, 0xc(r25)
/* 8021C504 00219464 48 00 00 1C */ b lbl_8021C520
lbl_8021C508:
/* 8021C508 00219468 3C 80 80 3D */ lis r4, lbl_803D3038@ha
/* 8021C50C 0021946C 38 A0 00 00 */ li r5, 0
/* 8021C510 00219470 38 84 30 38 */ addi r4, r4, lbl_803D3038@l
/* 8021C514 00219474 38 84 00 1B */ addi r4, r4, 0x1b
/* 8021C518 00219478 48 0F 93 01 */ bl __nwa__FUlPCcPCc
/* 8021C51C 0021947C 90 79 00 0C */ stw r3, 0xc(r25)
lbl_8021C520:
/* 8021C520 00219480 80 19 00 04 */ lwz r0, 4(r25)
/* 8021C524 00219484 80 81 00 AC */ lwz r4, 0xac(r1)
/* 8021C528 00219488 80 79 00 0C */ lwz r3, 0xc(r25)
/* 8021C52C 0021948C 7C 09 03 A6 */ mtctr r0
/* 8021C530 00219490 2C 00 00 00 */ cmpwi r0, 0
/* 8021C534 00219494 40 81 00 20 */ ble lbl_8021C554
lbl_8021C538:
/* 8021C538 00219498 28 03 00 00 */ cmplwi r3, 0
/* 8021C53C 0021949C 41 82 00 0C */ beq lbl_8021C548
/* 8021C540 002194A0 80 04 00 00 */ lwz r0, 0(r4)
/* 8021C544 002194A4 90 03 00 00 */ stw r0, 0(r3)
lbl_8021C548:
/* 8021C548 002194A8 38 63 00 04 */ addi r3, r3, 4
/* 8021C54C 002194AC 38 84 00 04 */ addi r4, r4, 4
/* 8021C550 002194B0 42 00 FF E8 */ bdnz lbl_8021C538
lbl_8021C554:
/* 8021C554 002194B4 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 8021C558 002194B8 80 61 00 AC */ lwz r3, 0xac(r1)
/* 8021C55C 002194BC 54 00 10 3A */ slwi r0, r0, 2
/* 8021C560 002194C0 7C 03 02 14 */ add r0, r3, r0
/* 8021C564 002194C4 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8021C568 002194C8 7C 64 1B 78 */ mr r4, r3
/* 8021C56C 002194CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8021C570 002194D0 90 01 00 20 */ stw r0, 0x20(r1)
/* 8021C574 002194D4 90 61 00 18 */ stw r3, 0x18(r1)
/* 8021C578 002194D8 48 00 00 08 */ b lbl_8021C580
lbl_8021C57C:
/* 8021C57C 002194DC 38 84 00 04 */ addi r4, r4, 4
lbl_8021C580:
/* 8021C580 002194E0 7C 04 00 40 */ cmplw r4, r0
/* 8021C584 002194E4 40 82 FF F8 */ bne lbl_8021C57C
/* 8021C588 002194E8 28 03 00 00 */ cmplwi r3, 0
/* 8021C58C 002194EC 41 82 00 08 */ beq lbl_8021C594
/* 8021C590 002194F0 48 0F 93 A1 */ bl Free__7CMemoryFPCv
lbl_8021C594:
/* 8021C594 002194F4 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8021C598 002194F8 82 E1 00 BC */ lwz r23, 0xbc(r1)
/* 8021C59C 002194FC 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8021C5A0 00219500 92 E1 00 0C */ stw r23, 0xc(r1)
/* 8021C5A4 00219504 7F 37 02 14 */ add r25, r23, r0
/* 8021C5A8 00219508 92 E1 00 08 */ stw r23, 8(r1)
/* 8021C5AC 0021950C 93 21 00 14 */ stw r25, 0x14(r1)
/* 8021C5B0 00219510 93 21 00 10 */ stw r25, 0x10(r1)
/* 8021C5B4 00219514 48 00 00 44 */ b lbl_8021C5F8
lbl_8021C5B8:
/* 8021C5B8 00219518 28 17 00 00 */ cmplwi r23, 0
/* 8021C5BC 0021951C 41 82 00 38 */ beq lbl_8021C5F4
/* 8021C5C0 00219520 34 17 00 24 */ addic. r0, r23, 0x24
/* 8021C5C4 00219524 41 82 00 10 */ beq lbl_8021C5D4
/* 8021C5C8 00219528 34 77 00 30 */ addic. r3, r23, 0x30
/* 8021C5CC 0021952C 41 82 00 08 */ beq lbl_8021C5D4
/* 8021C5D0 00219530 48 12 15 11 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021C5D4:
/* 8021C5D4 00219534 34 17 00 14 */ addic. r0, r23, 0x14
/* 8021C5D8 00219538 41 82 00 0C */ beq lbl_8021C5E4
/* 8021C5DC 0021953C 38 77 00 14 */ addi r3, r23, 0x14
/* 8021C5E0 00219540 48 12 15 01 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021C5E4:
/* 8021C5E4 00219544 34 17 00 04 */ addic. r0, r23, 4
/* 8021C5E8 00219548 41 82 00 0C */ beq lbl_8021C5F4
/* 8021C5EC 0021954C 38 77 00 04 */ addi r3, r23, 4
/* 8021C5F0 00219550 48 12 14 F1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021C5F4:
/* 8021C5F4 00219554 3A F7 00 48 */ addi r23, r23, 0x48
lbl_8021C5F8:
/* 8021C5F8 00219558 7C 17 C8 40 */ cmplw r23, r25
/* 8021C5FC 0021955C 40 82 FF BC */ bne lbl_8021C5B8
/* 8021C600 00219560 80 61 00 BC */ lwz r3, 0xbc(r1)
/* 8021C604 00219564 28 03 00 00 */ cmplwi r3, 0
/* 8021C608 00219568 41 82 00 08 */ beq lbl_8021C610
/* 8021C60C 0021956C 48 0F 93 25 */ bl Free__7CMemoryFPCv
lbl_8021C610:
/* 8021C610 00219570 BA E1 00 CC */ lmw r23, 0xcc(r1)
/* 8021C614 00219574 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 8021C618 00219578 7C 08 03 A6 */ mtlr r0
/* 8021C61C 0021957C 38 21 00 F0 */ addi r1, r1, 0xf0
/* 8021C620 00219580 4E 80 00 20 */ blr
.global sub_8021c624
sub_8021c624:
/* 8021C624 00219584 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8021C628 00219588 7C 08 02 A6 */ mflr r0
/* 8021C62C 0021958C 90 01 00 74 */ stw r0, 0x74(r1)
/* 8021C630 00219590 38 00 00 00 */ li r0, 0
/* 8021C634 00219594 BF 41 00 58 */ stmw r26, 0x58(r1)
/* 8021C638 00219598 7C 7B 1B 78 */ mr r27, r3
/* 8021C63C 0021959C 7C 9C 23 78 */ mr r28, r4
/* 8021C640 002195A0 7C BA 2B 78 */ mr r26, r5
/* 8021C644 002195A4 38 61 00 40 */ addi r3, r1, 0x40
/* 8021C648 002195A8 38 80 00 08 */ li r4, 8
/* 8021C64C 002195AC 90 01 00 44 */ stw r0, 0x44(r1)
/* 8021C650 002195B0 90 01 00 48 */ stw r0, 0x48(r1)
/* 8021C654 002195B4 90 01 00 4C */ stw r0, 0x4c(r1)
/* 8021C658 002195B8 48 00 0C 79 */ bl sub_8021d2d0
/* 8021C65C 002195BC 3C 60 80 3D */ lis r3, lbl_803D3038@ha
/* 8021C660 002195C0 7F 44 D3 78 */ mr r4, r26
/* 8021C664 002195C4 38 63 30 38 */ addi r3, r3, lbl_803D3038@l
/* 8021C668 002195C8 38 63 00 2D */ addi r3, r3, 0x2d
/* 8021C66C 002195CC 4C C6 31 82 */ crclr 6
/* 8021C670 002195D0 48 0B 9B 41 */ bl Stringize__7CBasicsFPCce
/* 8021C674 002195D4 7C 64 1B 78 */ mr r4, r3
/* 8021C678 002195D8 38 61 00 30 */ addi r3, r1, 0x30
/* 8021C67C 002195DC 38 C1 00 0C */ addi r6, r1, 0xc
/* 8021C680 002195E0 38 A0 FF FF */ li r5, -1
/* 8021C684 002195E4 48 12 07 0D */ bl "__ct__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8021C688 002195E8 3B A0 00 00 */ li r29, 0
/* 8021C68C 002195EC 3B C0 00 00 */ li r30, 0
/* 8021C690 002195F0 48 00 01 04 */ b lbl_8021C794
lbl_8021C694:
/* 8021C694 002195F4 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 8021C698 002195F8 38 61 00 20 */ addi r3, r1, 0x20
/* 8021C69C 002195FC 38 C1 00 08 */ addi r6, r1, 8
/* 8021C6A0 00219600 38 A0 FF FF */ li r5, -1
/* 8021C6A4 00219604 7F E0 F2 14 */ add r31, r0, r30
/* 8021C6A8 00219608 80 9F 00 04 */ lwz r4, 4(r31)
/* 8021C6AC 0021960C 48 12 06 E5 */ bl "__ct__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8021C6B0 00219610 38 61 00 20 */ addi r3, r1, 0x20
/* 8021C6B4 00219614 38 81 00 30 */ addi r4, r1, 0x30
/* 8021C6B8 00219618 38 A0 00 00 */ li r5, 0
/* 8021C6BC 0021961C 48 00 02 69 */ bl sub_8021c924
/* 8021C6C0 00219620 20 83 FF FF */ subfic r4, r3, -1
/* 8021C6C4 00219624 38 03 00 01 */ addi r0, r3, 1
/* 8021C6C8 00219628 7C 80 03 78 */ or r0, r4, r0
/* 8021C6CC 0021962C 38 61 00 20 */ addi r3, r1, 0x20
/* 8021C6D0 00219630 54 1A 0F FE */ srwi r26, r0, 0x1f
/* 8021C6D4 00219634 48 12 05 F9 */ bl "internal_dereference__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8021C6D8 00219638 28 1A 00 00 */ cmplwi r26, 0
/* 8021C6DC 0021963C 41 82 00 B0 */ beq lbl_8021C78C
/* 8021C6E0 00219640 80 81 00 44 */ lwz r4, 0x44(r1)
/* 8021C6E4 00219644 38 61 00 40 */ addi r3, r1, 0x40
/* 8021C6E8 00219648 38 84 00 01 */ addi r4, r4, 1
/* 8021C6EC 0021964C 48 00 0B E5 */ bl sub_8021d2d0
/* 8021C6F0 00219650 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8021C6F4 00219654 80 A1 00 48 */ lwz r5, 0x48(r1)
/* 8021C6F8 00219658 7C 00 28 00 */ cmpw r0, r5
/* 8021C6FC 0021965C 41 80 00 1C */ blt lbl_8021C718
/* 8021C700 00219660 2C 05 00 00 */ cmpwi r5, 0
/* 8021C704 00219664 38 61 00 40 */ addi r3, r1, 0x40
/* 8021C708 00219668 38 80 00 04 */ li r4, 4
/* 8021C70C 0021966C 41 82 00 08 */ beq lbl_8021C714
/* 8021C710 00219670 54 A4 08 3C */ slwi r4, r5, 1
lbl_8021C714:
/* 8021C714 00219674 48 00 0B BD */ bl sub_8021d2d0
lbl_8021C718:
/* 8021C718 00219678 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8021C71C 0021967C 80 61 00 4C */ lwz r3, 0x4c(r1)
/* 8021C720 00219680 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8021C724 00219684 7F 43 02 15 */ add. r26, r3, r0
/* 8021C728 00219688 41 82 00 58 */ beq lbl_8021C780
/* 8021C72C 0021968C 80 1F 00 00 */ lwz r0, 0(r31)
/* 8021C730 00219690 38 7A 00 04 */ addi r3, r26, 4
/* 8021C734 00219694 38 9F 00 04 */ addi r4, r31, 4
/* 8021C738 00219698 90 1A 00 00 */ stw r0, 0(r26)
/* 8021C73C 0021969C 48 12 1A 25 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021C740 002196A0 38 7A 00 14 */ addi r3, r26, 0x14
/* 8021C744 002196A4 38 9F 00 14 */ addi r4, r31, 0x14
/* 8021C748 002196A8 48 12 1A 19 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021C74C 002196AC C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 8021C750 002196B0 38 7A 00 30 */ addi r3, r26, 0x30
/* 8021C754 002196B4 38 9F 00 30 */ addi r4, r31, 0x30
/* 8021C758 002196B8 D0 1A 00 24 */ stfs f0, 0x24(r26)
/* 8021C75C 002196BC C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 8021C760 002196C0 D0 1A 00 28 */ stfs f0, 0x28(r26)
/* 8021C764 002196C4 C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 8021C768 002196C8 D0 1A 00 2C */ stfs f0, 0x2c(r26)
/* 8021C76C 002196CC 48 12 19 F5 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021C770 002196D0 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 8021C774 002196D4 90 1A 00 40 */ stw r0, 0x40(r26)
/* 8021C778 002196D8 80 1F 00 44 */ lwz r0, 0x44(r31)
/* 8021C77C 002196DC 90 1A 00 44 */ stw r0, 0x44(r26)
lbl_8021C780:
/* 8021C780 002196E0 80 61 00 44 */ lwz r3, 0x44(r1)
/* 8021C784 002196E4 38 03 00 01 */ addi r0, r3, 1
/* 8021C788 002196E8 90 01 00 44 */ stw r0, 0x44(r1)
lbl_8021C78C:
/* 8021C78C 002196EC 3B DE 00 48 */ addi r30, r30, 0x48
/* 8021C790 002196F0 3B BD 00 01 */ addi r29, r29, 1
lbl_8021C794:
/* 8021C794 002196F4 80 1C 00 04 */ lwz r0, 4(r28)
/* 8021C798 002196F8 7C 1D 00 00 */ cmpw r29, r0
/* 8021C79C 002196FC 41 80 FE F8 */ blt lbl_8021C694
/* 8021C7A0 00219700 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8021C7A4 00219704 90 1B 00 04 */ stw r0, 4(r27)
/* 8021C7A8 00219708 80 01 00 48 */ lwz r0, 0x48(r1)
/* 8021C7AC 0021970C 90 1B 00 08 */ stw r0, 8(r27)
/* 8021C7B0 00219710 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8021C7B4 00219714 2C 00 00 00 */ cmpwi r0, 0
/* 8021C7B8 00219718 40 82 00 1C */ bne lbl_8021C7D4
/* 8021C7BC 0021971C 80 01 00 48 */ lwz r0, 0x48(r1)
/* 8021C7C0 00219720 2C 00 00 00 */ cmpwi r0, 0
/* 8021C7C4 00219724 40 82 00 10 */ bne lbl_8021C7D4
/* 8021C7C8 00219728 38 00 00 00 */ li r0, 0
/* 8021C7CC 0021972C 90 1B 00 0C */ stw r0, 0xc(r27)
/* 8021C7D0 00219730 48 00 00 BC */ b lbl_8021C88C
lbl_8021C7D4:
/* 8021C7D4 00219734 80 1B 00 08 */ lwz r0, 8(r27)
/* 8021C7D8 00219738 1C 60 00 48 */ mulli r3, r0, 0x48
/* 8021C7DC 0021973C 2C 03 00 00 */ cmpwi r3, 0
/* 8021C7E0 00219740 40 82 00 10 */ bne lbl_8021C7F0
/* 8021C7E4 00219744 38 00 00 00 */ li r0, 0
/* 8021C7E8 00219748 90 1B 00 0C */ stw r0, 0xc(r27)
/* 8021C7EC 0021974C 48 00 00 1C */ b lbl_8021C808
lbl_8021C7F0:
/* 8021C7F0 00219750 3C 80 80 3D */ lis r4, lbl_803D3038@ha
/* 8021C7F4 00219754 38 A0 00 00 */ li r5, 0
/* 8021C7F8 00219758 38 84 30 38 */ addi r4, r4, lbl_803D3038@l
/* 8021C7FC 0021975C 38 84 00 1B */ addi r4, r4, 0x1b
/* 8021C800 00219760 48 0F 90 19 */ bl __nwa__FUlPCcPCc
/* 8021C804 00219764 90 7B 00 0C */ stw r3, 0xc(r27)
lbl_8021C808:
/* 8021C808 00219768 83 BB 00 04 */ lwz r29, 4(r27)
/* 8021C80C 0021976C 3B 40 00 00 */ li r26, 0
/* 8021C810 00219770 83 81 00 4C */ lwz r28, 0x4c(r1)
/* 8021C814 00219774 83 7B 00 0C */ lwz r27, 0xc(r27)
/* 8021C818 00219778 48 00 00 6C */ b lbl_8021C884
lbl_8021C81C:
/* 8021C81C 0021977C 28 1B 00 00 */ cmplwi r27, 0
/* 8021C820 00219780 41 82 00 58 */ beq lbl_8021C878
/* 8021C824 00219784 80 1C 00 00 */ lwz r0, 0(r28)
/* 8021C828 00219788 38 7B 00 04 */ addi r3, r27, 4
/* 8021C82C 0021978C 38 9C 00 04 */ addi r4, r28, 4
/* 8021C830 00219790 90 1B 00 00 */ stw r0, 0(r27)
/* 8021C834 00219794 48 12 19 2D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021C838 00219798 38 7B 00 14 */ addi r3, r27, 0x14
/* 8021C83C 0021979C 38 9C 00 14 */ addi r4, r28, 0x14
/* 8021C840 002197A0 48 12 19 21 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021C844 002197A4 C0 1C 00 24 */ lfs f0, 0x24(r28)
/* 8021C848 002197A8 38 7B 00 30 */ addi r3, r27, 0x30
/* 8021C84C 002197AC 38 9C 00 30 */ addi r4, r28, 0x30
/* 8021C850 002197B0 D0 1B 00 24 */ stfs f0, 0x24(r27)
/* 8021C854 002197B4 C0 1C 00 28 */ lfs f0, 0x28(r28)
/* 8021C858 002197B8 D0 1B 00 28 */ stfs f0, 0x28(r27)
/* 8021C85C 002197BC C0 1C 00 2C */ lfs f0, 0x2c(r28)
/* 8021C860 002197C0 D0 1B 00 2C */ stfs f0, 0x2c(r27)
/* 8021C864 002197C4 48 12 18 FD */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021C868 002197C8 80 1C 00 40 */ lwz r0, 0x40(r28)
/* 8021C86C 002197CC 90 1B 00 40 */ stw r0, 0x40(r27)
/* 8021C870 002197D0 80 1C 00 44 */ lwz r0, 0x44(r28)
/* 8021C874 002197D4 90 1B 00 44 */ stw r0, 0x44(r27)
lbl_8021C878:
/* 8021C878 002197D8 3B 7B 00 48 */ addi r27, r27, 0x48
/* 8021C87C 002197DC 3B 5A 00 01 */ addi r26, r26, 1
/* 8021C880 002197E0 3B 9C 00 48 */ addi r28, r28, 0x48
lbl_8021C884:
/* 8021C884 002197E4 7C 1A E8 00 */ cmpw r26, r29
/* 8021C888 002197E8 41 80 FF 94 */ blt lbl_8021C81C
lbl_8021C88C:
/* 8021C88C 002197EC 38 61 00 30 */ addi r3, r1, 0x30
/* 8021C890 002197F0 48 12 04 3D */ bl "internal_dereference__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8021C894 002197F4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8021C898 002197F8 83 41 00 4C */ lwz r26, 0x4c(r1)
/* 8021C89C 002197FC 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8021C8A0 00219800 93 41 00 14 */ stw r26, 0x14(r1)
/* 8021C8A4 00219804 7F 7A 02 14 */ add r27, r26, r0
/* 8021C8A8 00219808 93 41 00 10 */ stw r26, 0x10(r1)
/* 8021C8AC 0021980C 93 61 00 1C */ stw r27, 0x1c(r1)
/* 8021C8B0 00219810 93 61 00 18 */ stw r27, 0x18(r1)
/* 8021C8B4 00219814 48 00 00 44 */ b lbl_8021C8F8
lbl_8021C8B8:
/* 8021C8B8 00219818 28 1A 00 00 */ cmplwi r26, 0
/* 8021C8BC 0021981C 41 82 00 38 */ beq lbl_8021C8F4
/* 8021C8C0 00219820 34 1A 00 24 */ addic. r0, r26, 0x24
/* 8021C8C4 00219824 41 82 00 10 */ beq lbl_8021C8D4
/* 8021C8C8 00219828 34 7A 00 30 */ addic. r3, r26, 0x30
/* 8021C8CC 0021982C 41 82 00 08 */ beq lbl_8021C8D4
/* 8021C8D0 00219830 48 12 12 11 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021C8D4:
/* 8021C8D4 00219834 34 1A 00 14 */ addic. r0, r26, 0x14
/* 8021C8D8 00219838 41 82 00 0C */ beq lbl_8021C8E4
/* 8021C8DC 0021983C 38 7A 00 14 */ addi r3, r26, 0x14
/* 8021C8E0 00219840 48 12 12 01 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021C8E4:
/* 8021C8E4 00219844 34 1A 00 04 */ addic. r0, r26, 4
/* 8021C8E8 00219848 41 82 00 0C */ beq lbl_8021C8F4
/* 8021C8EC 0021984C 38 7A 00 04 */ addi r3, r26, 4
/* 8021C8F0 00219850 48 12 11 F1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021C8F4:
/* 8021C8F4 00219854 3B 5A 00 48 */ addi r26, r26, 0x48
lbl_8021C8F8:
/* 8021C8F8 00219858 7C 1A D8 40 */ cmplw r26, r27
/* 8021C8FC 0021985C 40 82 FF BC */ bne lbl_8021C8B8
/* 8021C900 00219860 80 61 00 4C */ lwz r3, 0x4c(r1)
/* 8021C904 00219864 28 03 00 00 */ cmplwi r3, 0
/* 8021C908 00219868 41 82 00 08 */ beq lbl_8021C910
/* 8021C90C 0021986C 48 0F 90 25 */ bl Free__7CMemoryFPCv
lbl_8021C910:
/* 8021C910 00219870 BB 41 00 58 */ lmw r26, 0x58(r1)
/* 8021C914 00219874 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8021C918 00219878 7C 08 03 A6 */ mtlr r0
/* 8021C91C 0021987C 38 21 00 70 */ addi r1, r1, 0x70
/* 8021C920 00219880 4E 80 00 20 */ blr
.global sub_8021c924
sub_8021c924:
/* 8021C924 00219884 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8021C928 00219888 2C 05 FF FF */ cmpwi r5, -1
/* 8021C92C 0021988C 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8021C930 00219890 41 82 00 10 */ beq lbl_8021C940
/* 8021C934 00219894 80 03 00 08 */ lwz r0, 8(r3)
/* 8021C938 00219898 7C 05 00 00 */ cmpw r5, r0
/* 8021C93C 0021989C 41 80 00 08 */ blt lbl_8021C944
lbl_8021C940:
/* 8021C940 002198A0 80 A3 00 08 */ lwz r5, 8(r3)
lbl_8021C944:
/* 8021C944 002198A4 80 C3 00 08 */ lwz r6, 8(r3)
/* 8021C948 002198A8 38 E0 00 00 */ li r7, 0
/* 8021C94C 002198AC 80 04 00 08 */ lwz r0, 8(r4)
/* 8021C950 002198B0 7C A8 2B 78 */ mr r8, r5
/* 8021C954 002198B4 90 61 00 38 */ stw r3, 0x38(r1)
/* 8021C958 002198B8 90 E1 00 3C */ stw r7, 0x3c(r1)
/* 8021C95C 002198BC 90 61 00 40 */ stw r3, 0x40(r1)
/* 8021C960 002198C0 90 A1 00 44 */ stw r5, 0x44(r1)
/* 8021C964 002198C4 90 61 00 48 */ stw r3, 0x48(r1)
/* 8021C968 002198C8 90 A1 00 4C */ stw r5, 0x4c(r1)
/* 8021C96C 002198CC 90 61 00 28 */ stw r3, 0x28(r1)
/* 8021C970 002198D0 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 8021C974 002198D4 90 61 00 30 */ stw r3, 0x30(r1)
/* 8021C978 002198D8 90 C1 00 34 */ stw r6, 0x34(r1)
/* 8021C97C 002198DC 90 81 00 18 */ stw r4, 0x18(r1)
/* 8021C980 002198E0 90 E1 00 1C */ stw r7, 0x1c(r1)
/* 8021C984 002198E4 90 81 00 20 */ stw r4, 0x20(r1)
/* 8021C988 002198E8 90 E1 00 24 */ stw r7, 0x24(r1)
/* 8021C98C 002198EC 90 81 00 08 */ stw r4, 8(r1)
/* 8021C990 002198F0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8021C994 002198F4 90 81 00 10 */ stw r4, 0x10(r1)
/* 8021C998 002198F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8021C99C 002198FC 48 00 01 5C */ b lbl_8021CAF8
lbl_8021C9A0:
/* 8021C9A0 00219900 39 20 00 00 */ li r9, 0
/* 8021C9A4 00219904 48 00 01 2C */ b lbl_8021CAD0
lbl_8021C9A8:
/* 8021C9A8 00219908 81 44 00 00 */ lwz r10, 0(r4)
/* 8021C9AC 0021990C 39 60 00 00 */ li r11, 0
/* 8021C9B0 00219910 81 83 00 00 */ lwz r12, 0(r3)
/* 8021C9B4 00219914 7F EA 48 AE */ lbzx r31, r10, r9
/* 8021C9B8 00219918 7F EA 07 74 */ extsb r10, r31
/* 8021C9BC 0021991C 2C 0A 00 61 */ cmpwi r10, 0x61
/* 8021C9C0 00219920 41 80 00 10 */ blt lbl_8021C9D0
/* 8021C9C4 00219924 2C 0A 00 7A */ cmpwi r10, 0x7a
/* 8021C9C8 00219928 41 81 00 08 */ bgt lbl_8021C9D0
/* 8021C9CC 0021992C 39 60 00 01 */ li r11, 1
lbl_8021C9D0:
/* 8021C9D0 00219930 55 6A 06 3F */ clrlwi. r10, r11, 0x18
/* 8021C9D4 00219934 41 82 00 10 */ beq lbl_8021C9E4
/* 8021C9D8 00219938 7F EA 07 74 */ extsb r10, r31
/* 8021C9DC 0021993C 39 6A FF E0 */ addi r11, r10, -32
/* 8021C9E0 00219940 48 00 00 54 */ b lbl_8021CA34
lbl_8021C9E4:
/* 8021C9E4 00219944 7F EB 07 74 */ extsb r11, r31
/* 8021C9E8 00219948 39 40 00 00 */ li r10, 0
/* 8021C9EC 0021994C 2C 0B 00 E0 */ cmpwi r11, 0xe0
/* 8021C9F0 00219950 41 80 00 10 */ blt lbl_8021CA00
/* 8021C9F4 00219954 2C 0B 00 FE */ cmpwi r11, 0xfe
/* 8021C9F8 00219958 41 81 00 08 */ bgt lbl_8021CA00
/* 8021C9FC 0021995C 39 40 00 01 */ li r10, 1
lbl_8021CA00:
/* 8021CA00 00219960 55 4A 06 3F */ clrlwi. r10, r10, 0x18
/* 8021CA04 00219964 41 82 00 0C */ beq lbl_8021CA10
/* 8021CA08 00219968 39 6B FF E0 */ addi r11, r11, -32
/* 8021CA0C 0021996C 48 00 00 28 */ b lbl_8021CA34
lbl_8021CA10:
/* 8021CA10 00219970 2C 0B 30 A0 */ cmpwi r11, 0x30a0
/* 8021CA14 00219974 39 40 00 00 */ li r10, 0
/* 8021CA18 00219978 41 80 00 10 */ blt lbl_8021CA28
/* 8021CA1C 0021997C 2C 0B 30 FF */ cmpwi r11, 0x30ff
/* 8021CA20 00219980 41 81 00 08 */ bgt lbl_8021CA28
/* 8021CA24 00219984 39 40 00 01 */ li r10, 1
lbl_8021CA28:
/* 8021CA28 00219988 55 4A 06 3F */ clrlwi. r10, r10, 0x18
/* 8021CA2C 0021998C 41 82 00 08 */ beq lbl_8021CA34
/* 8021CA30 00219990 39 6B FF A0 */ addi r11, r11, -96
lbl_8021CA34:
/* 8021CA34 00219994 7D 8C 40 AE */ lbzx r12, r12, r8
/* 8021CA38 00219998 7D 7F 07 74 */ extsb r31, r11
/* 8021CA3C 0021999C 39 60 00 00 */ li r11, 0
/* 8021CA40 002199A0 7D 8A 07 74 */ extsb r10, r12
/* 8021CA44 002199A4 2C 0A 00 61 */ cmpwi r10, 0x61
/* 8021CA48 002199A8 41 80 00 10 */ blt lbl_8021CA58
/* 8021CA4C 002199AC 2C 0A 00 7A */ cmpwi r10, 0x7a
/* 8021CA50 002199B0 41 81 00 08 */ bgt lbl_8021CA58
/* 8021CA54 002199B4 39 60 00 01 */ li r11, 1
lbl_8021CA58:
/* 8021CA58 002199B8 55 6A 06 3F */ clrlwi. r10, r11, 0x18
/* 8021CA5C 002199BC 41 82 00 10 */ beq lbl_8021CA6C
/* 8021CA60 002199C0 7D 8A 07 74 */ extsb r10, r12
/* 8021CA64 002199C4 39 6A FF E0 */ addi r11, r10, -32
/* 8021CA68 002199C8 48 00 00 54 */ b lbl_8021CABC
lbl_8021CA6C:
/* 8021CA6C 002199CC 7D 8B 07 74 */ extsb r11, r12
/* 8021CA70 002199D0 39 40 00 00 */ li r10, 0
/* 8021CA74 002199D4 2C 0B 00 E0 */ cmpwi r11, 0xe0
/* 8021CA78 002199D8 41 80 00 10 */ blt lbl_8021CA88
/* 8021CA7C 002199DC 2C 0B 00 FE */ cmpwi r11, 0xfe
/* 8021CA80 002199E0 41 81 00 08 */ bgt lbl_8021CA88
/* 8021CA84 002199E4 39 40 00 01 */ li r10, 1
lbl_8021CA88:
/* 8021CA88 002199E8 55 4A 06 3F */ clrlwi. r10, r10, 0x18
/* 8021CA8C 002199EC 41 82 00 0C */ beq lbl_8021CA98
/* 8021CA90 002199F0 39 6B FF E0 */ addi r11, r11, -32
/* 8021CA94 002199F4 48 00 00 28 */ b lbl_8021CABC
lbl_8021CA98:
/* 8021CA98 002199F8 2C 0B 30 A0 */ cmpwi r11, 0x30a0
/* 8021CA9C 002199FC 39 40 00 00 */ li r10, 0
/* 8021CAA0 00219A00 41 80 00 10 */ blt lbl_8021CAB0
/* 8021CAA4 00219A04 2C 0B 30 FF */ cmpwi r11, 0x30ff
/* 8021CAA8 00219A08 41 81 00 08 */ bgt lbl_8021CAB0
/* 8021CAAC 00219A0C 39 40 00 01 */ li r10, 1
lbl_8021CAB0:
/* 8021CAB0 00219A10 55 4A 06 3F */ clrlwi. r10, r10, 0x18
/* 8021CAB4 00219A14 41 82 00 08 */ beq lbl_8021CABC
/* 8021CAB8 00219A18 39 6B FF A0 */ addi r11, r11, -96
lbl_8021CABC:
/* 8021CABC 00219A1C 7D 6A 07 74 */ extsb r10, r11
/* 8021CAC0 00219A20 7C 0A F8 00 */ cmpw r10, r31
/* 8021CAC4 00219A24 40 82 00 08 */ bne lbl_8021CACC
/* 8021CAC8 00219A28 48 00 00 54 */ b lbl_8021CB1C
lbl_8021CACC:
/* 8021CACC 00219A2C 39 29 00 01 */ addi r9, r9, 1
lbl_8021CAD0:
/* 8021CAD0 00219A30 7C 04 20 40 */ cmplw r4, r4
/* 8021CAD4 00219A34 39 40 00 00 */ li r10, 0
/* 8021CAD8 00219A38 40 82 00 0C */ bne lbl_8021CAE4
/* 8021CADC 00219A3C 7C 09 00 00 */ cmpw r9, r0
/* 8021CAE0 00219A40 41 82 00 08 */ beq lbl_8021CAE8
lbl_8021CAE4:
/* 8021CAE4 00219A44 39 40 00 01 */ li r10, 1
lbl_8021CAE8:
/* 8021CAE8 00219A48 55 4A 06 3F */ clrlwi. r10, r10, 0x18
/* 8021CAEC 00219A4C 40 82 FE BC */ bne lbl_8021C9A8
/* 8021CAF0 00219A50 39 08 00 01 */ addi r8, r8, 1
/* 8021CAF4 00219A54 38 E7 00 01 */ addi r7, r7, 1
lbl_8021CAF8:
/* 8021CAF8 00219A58 7C 03 18 40 */ cmplw r3, r3
/* 8021CAFC 00219A5C 39 20 00 00 */ li r9, 0
/* 8021CB00 00219A60 40 82 00 0C */ bne lbl_8021CB0C
/* 8021CB04 00219A64 7C 08 30 00 */ cmpw r8, r6
/* 8021CB08 00219A68 41 82 00 08 */ beq lbl_8021CB10
lbl_8021CB0C:
/* 8021CB0C 00219A6C 39 20 00 01 */ li r9, 1
lbl_8021CB10:
/* 8021CB10 00219A70 55 29 06 3F */ clrlwi. r9, r9, 0x18
/* 8021CB14 00219A74 40 82 FE 8C */ bne lbl_8021C9A0
/* 8021CB18 00219A78 38 E0 FF FF */ li r7, -1
lbl_8021CB1C:
/* 8021CB1C 00219A7C 2C 07 FF FF */ cmpwi r7, -1
/* 8021CB20 00219A80 7C 67 2A 14 */ add r3, r7, r5
/* 8021CB24 00219A84 40 82 00 08 */ bne lbl_8021CB2C
/* 8021CB28 00219A88 7C E3 3B 78 */ mr r3, r7
lbl_8021CB2C:
/* 8021CB2C 00219A8C 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8021CB30 00219A90 38 21 00 60 */ addi r1, r1, 0x60
/* 8021CB34 00219A94 4E 80 00 20 */ blr
.global sub_8021cb38
sub_8021cb38:
/* 8021CB38 00219A98 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8021CB3C 00219A9C 7C 08 02 A6 */ mflr r0
/* 8021CB40 00219AA0 3C C0 80 3D */ lis r6, lbl_803D3038@ha
/* 8021CB44 00219AA4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8021CB48 00219AA8 38 C6 30 38 */ addi r6, r6, lbl_803D3038@l
/* 8021CB4C 00219AAC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8021CB50 00219AB0 7C 7F 1B 78 */ mr r31, r3
/* 8021CB54 00219AB4 38 66 00 39 */ addi r3, r6, 0x39
/* 8021CB58 00219AB8 80 A5 00 00 */ lwz r5, 0(r5)
/* 8021CB5C 00219ABC 4C C6 31 82 */ crclr 6
/* 8021CB60 00219AC0 48 0B 96 51 */ bl Stringize__7CBasicsFPCce
/* 8021CB64 00219AC4 7C 64 1B 78 */ mr r4, r3
/* 8021CB68 00219AC8 7F E3 FB 78 */ mr r3, r31
/* 8021CB6C 00219ACC 38 C1 00 08 */ addi r6, r1, 8
/* 8021CB70 00219AD0 38 A0 FF FF */ li r5, -1
/* 8021CB74 00219AD4 48 12 16 21 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8021CB78 00219AD8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8021CB7C 00219ADC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8021CB80 00219AE0 7C 08 03 A6 */ mtlr r0
/* 8021CB84 00219AE4 38 21 00 20 */ addi r1, r1, 0x20
/* 8021CB88 00219AE8 4E 80 00 20 */ blr
.global "GetIdentifierForMidiEvent__19CInGameTweakManagerFUiUiRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
"GetIdentifierForMidiEvent__19CInGameTweakManagerFUiUiRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>":
/* 8021CB8C 00219AEC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8021CB90 00219AF0 7C 08 02 A6 */ mflr r0
/* 8021CB94 00219AF4 3C E0 80 3D */ lis r7, lbl_803D3038@ha
/* 8021CB98 00219AF8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8021CB9C 00219AFC 7C 80 23 78 */ mr r0, r4
/* 8021CBA0 00219B00 7C A4 2B 78 */ mr r4, r5
/* 8021CBA4 00219B04 38 E7 30 38 */ addi r7, r7, lbl_803D3038@l
/* 8021CBA8 00219B08 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8021CBAC 00219B0C 7C 7F 1B 78 */ mr r31, r3
/* 8021CBB0 00219B10 7C 05 03 78 */ mr r5, r0
/* 8021CBB4 00219B14 38 67 00 54 */ addi r3, r7, 0x54
/* 8021CBB8 00219B18 80 C6 00 00 */ lwz r6, 0(r6)
/* 8021CBBC 00219B1C 4C C6 31 82 */ crclr 6
/* 8021CBC0 00219B20 48 0B 95 F1 */ bl Stringize__7CBasicsFPCce
/* 8021CBC4 00219B24 7C 64 1B 78 */ mr r4, r3
/* 8021CBC8 00219B28 7F E3 FB 78 */ mr r3, r31
/* 8021CBCC 00219B2C 38 C1 00 08 */ addi r6, r1, 8
/* 8021CBD0 00219B30 38 A0 FF FF */ li r5, -1
/* 8021CBD4 00219B34 48 12 15 C1 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8021CBD8 00219B38 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8021CBDC 00219B3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8021CBE0 00219B40 7C 08 03 A6 */ mtlr r0
/* 8021CBE4 00219B44 38 21 00 20 */ addi r1, r1, 0x20
/* 8021CBE8 00219B48 4E 80 00 20 */ blr
.global sub_8021cbec
sub_8021cbec:
/* 8021CBEC 00219B4C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8021CBF0 00219B50 7C 08 02 A6 */ mflr r0
/* 8021CBF4 00219B54 3C A0 80 3D */ lis r5, lbl_803D3038@ha
/* 8021CBF8 00219B58 90 01 00 24 */ stw r0, 0x24(r1)
/* 8021CBFC 00219B5C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8021CC00 00219B60 7C 7F 1B 78 */ mr r31, r3
/* 8021CC04 00219B64 38 65 30 38 */ addi r3, r5, lbl_803D3038@l
/* 8021CC08 00219B68 38 63 00 7A */ addi r3, r3, 0x7a
/* 8021CC0C 00219B6C 4C C6 31 82 */ crclr 6
/* 8021CC10 00219B70 48 0B 95 A1 */ bl Stringize__7CBasicsFPCce
/* 8021CC14 00219B74 7C 64 1B 78 */ mr r4, r3
/* 8021CC18 00219B78 7F E3 FB 78 */ mr r3, r31
/* 8021CC1C 00219B7C 38 C1 00 08 */ addi r6, r1, 8
/* 8021CC20 00219B80 38 A0 FF FF */ li r5, -1
/* 8021CC24 00219B84 48 12 15 71 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8021CC28 00219B88 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8021CC2C 00219B8C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8021CC30 00219B90 7C 08 03 A6 */ mtlr r0
/* 8021CC34 00219B94 38 21 00 20 */ addi r1, r1, 0x20
/* 8021CC38 00219B98 4E 80 00 20 */ blr
.global sub_8021cc3c
sub_8021cc3c:
/* 8021CC3C 00219B9C 90 83 00 00 */ stw r4, 0(r3)
/* 8021CC40 00219BA0 38 00 00 00 */ li r0, 0
/* 8021CC44 00219BA4 7C 85 23 78 */ mr r5, r4
/* 8021CC48 00219BA8 90 03 00 04 */ stw r0, 4(r3)
/* 8021CC4C 00219BAC 48 00 00 08 */ b lbl_8021CC54
lbl_8021CC50:
/* 8021CC50 00219BB0 38 A5 00 01 */ addi r5, r5, 1
lbl_8021CC54:
/* 8021CC54 00219BB4 88 05 00 00 */ lbz r0, 0(r5)
/* 8021CC58 00219BB8 7C 00 07 75 */ extsb. r0, r0
/* 8021CC5C 00219BBC 40 82 FF F4 */ bne lbl_8021CC50
/* 8021CC60 00219BC0 7C 04 28 50 */ subf r0, r4, r5
/* 8021CC64 00219BC4 90 03 00 08 */ stw r0, 8(r3)
/* 8021CC68 00219BC8 4E 80 00 20 */ blr
.global sub_8021cc6c
sub_8021cc6c:
/* 8021CC6C 00219BCC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8021CC70 00219BD0 7C 08 02 A6 */ mflr r0
/* 8021CC74 00219BD4 38 84 00 04 */ addi r4, r4, 4
/* 8021CC78 00219BD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8021CC7C 00219BDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8021CC80 00219BE0 7C 7F 1B 78 */ mr r31, r3
/* 8021CC84 00219BE4 48 11 E1 39 */ bl sub_8033adbc
/* 8021CC88 00219BE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8021CC8C 00219BEC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8021CC90 00219BF0 7C 08 03 A6 */ mtlr r0
/* 8021CC94 00219BF4 38 21 00 10 */ addi r1, r1, 0x10
/* 8021CC98 00219BF8 4E 80 00 20 */ blr
.global "ReadFromMemoryCard__19CInGameTweakManagerFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
"ReadFromMemoryCard__19CInGameTweakManagerFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>":
/* 8021CC9C 00219BFC 38 60 00 00 */ li r3, 0
/* 8021CCA0 00219C00 4E 80 00 20 */ blr
.global "GetTweakValue__19CInGameTweakManagerCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
"GetTweakValue__19CInGameTweakManagerCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>":
/* 8021CCA4 00219C04 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8021CCA8 00219C08 7C 08 02 A6 */ mflr r0
/* 8021CCAC 00219C0C 90 01 00 44 */ stw r0, 0x44(r1)
/* 8021CCB0 00219C10 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8021CCB4 00219C14 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8021CCB8 00219C18 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8021CCBC 00219C1C 7C 9D 23 78 */ mr r29, r4
/* 8021CCC0 00219C20 93 81 00 30 */ stw r28, 0x30(r1)
/* 8021CCC4 00219C24 7C 7C 1B 78 */ mr r28, r3
/* 8021CCC8 00219C28 83 C3 00 0C */ lwz r30, 0xc(r3)
/* 8021CCCC 00219C2C 48 00 00 60 */ b lbl_8021CD2C
lbl_8021CCD0:
/* 8021CCD0 00219C30 80 9E 00 04 */ lwz r4, 4(r30)
/* 8021CCD4 00219C34 38 61 00 20 */ addi r3, r1, 0x20
/* 8021CCD8 00219C38 38 C1 00 0C */ addi r6, r1, 0xc
/* 8021CCDC 00219C3C 38 A0 FF FF */ li r5, -1
/* 8021CCE0 00219C40 48 12 00 B1 */ bl "__ct__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8021CCE4 00219C44 80 9D 00 00 */ lwz r4, 0(r29)
/* 8021CCE8 00219C48 38 61 00 10 */ addi r3, r1, 0x10
/* 8021CCEC 00219C4C 38 C1 00 08 */ addi r6, r1, 8
/* 8021CCF0 00219C50 38 A0 FF FF */ li r5, -1
/* 8021CCF4 00219C54 48 12 00 9D */ bl "__ct__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8021CCF8 00219C58 38 61 00 20 */ addi r3, r1, 0x20
/* 8021CCFC 00219C5C 38 81 00 10 */ addi r4, r1, 0x10
/* 8021CD00 00219C60 48 00 00 69 */ bl sub_8021cd68
/* 8021CD04 00219C64 7C 7F 1B 78 */ mr r31, r3
/* 8021CD08 00219C68 38 61 00 10 */ addi r3, r1, 0x10
/* 8021CD0C 00219C6C 48 11 FF C1 */ bl "internal_dereference__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8021CD10 00219C70 38 61 00 20 */ addi r3, r1, 0x20
/* 8021CD14 00219C74 48 11 FF B9 */ bl "internal_dereference__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8021CD18 00219C78 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 8021CD1C 00219C7C 41 82 00 0C */ beq lbl_8021CD28
/* 8021CD20 00219C80 7F C3 F3 78 */ mr r3, r30
/* 8021CD24 00219C84 48 00 00 24 */ b lbl_8021CD48
lbl_8021CD28:
/* 8021CD28 00219C88 3B DE 00 48 */ addi r30, r30, 0x48
lbl_8021CD2C:
/* 8021CD2C 00219C8C 80 1C 00 04 */ lwz r0, 4(r28)
/* 8021CD30 00219C90 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 8021CD34 00219C94 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8021CD38 00219C98 7C 03 02 14 */ add r0, r3, r0
/* 8021CD3C 00219C9C 7C 1E 00 40 */ cmplw r30, r0
/* 8021CD40 00219CA0 40 82 FF 90 */ bne lbl_8021CCD0
/* 8021CD44 00219CA4 38 60 00 00 */ li r3, 0
lbl_8021CD48:
/* 8021CD48 00219CA8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8021CD4C 00219CAC 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8021CD50 00219CB0 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8021CD54 00219CB4 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8021CD58 00219CB8 83 81 00 30 */ lwz r28, 0x30(r1)
/* 8021CD5C 00219CBC 7C 08 03 A6 */ mtlr r0
/* 8021CD60 00219CC0 38 21 00 40 */ addi r1, r1, 0x40
/* 8021CD64 00219CC4 4E 80 00 20 */ blr
.global sub_8021cd68
sub_8021cd68:
/* 8021CD68 00219CC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8021CD6C 00219CCC 7C 08 02 A6 */ mflr r0
/* 8021CD70 00219CD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8021CD74 00219CD4 48 00 00 1D */ bl sub_8021cd90
/* 8021CD78 00219CD8 7C 60 00 34 */ cntlzw r0, r3
/* 8021CD7C 00219CDC 54 03 D9 7E */ srwi r3, r0, 5
/* 8021CD80 00219CE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8021CD84 00219CE4 7C 08 03 A6 */ mtlr r0
/* 8021CD88 00219CE8 38 21 00 10 */ addi r1, r1, 0x10
/* 8021CD8C 00219CEC 4E 80 00 20 */ blr
.global sub_8021cd90
sub_8021cd90:
/* 8021CD90 00219CF0 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8021CD94 00219CF4 39 00 00 00 */ li r8, 0
/* 8021CD98 00219CF8 38 C0 00 00 */ li r6, 0
/* 8021CD9C 00219CFC 80 A3 00 08 */ lwz r5, 8(r3)
/* 8021CDA0 00219D00 7C C7 33 78 */ mr r7, r6
/* 8021CDA4 00219D04 80 04 00 08 */ lwz r0, 8(r4)
/* 8021CDA8 00219D08 90 61 00 38 */ stw r3, 0x38(r1)
/* 8021CDAC 00219D0C 91 01 00 3C */ stw r8, 0x3c(r1)
/* 8021CDB0 00219D10 90 61 00 40 */ stw r3, 0x40(r1)
/* 8021CDB4 00219D14 91 01 00 44 */ stw r8, 0x44(r1)
/* 8021CDB8 00219D18 90 61 00 28 */ stw r3, 0x28(r1)
/* 8021CDBC 00219D1C 90 A1 00 2C */ stw r5, 0x2c(r1)
/* 8021CDC0 00219D20 90 61 00 30 */ stw r3, 0x30(r1)
/* 8021CDC4 00219D24 90 A1 00 34 */ stw r5, 0x34(r1)
/* 8021CDC8 00219D28 90 81 00 18 */ stw r4, 0x18(r1)
/* 8021CDCC 00219D2C 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8021CDD0 00219D30 90 81 00 20 */ stw r4, 0x20(r1)
/* 8021CDD4 00219D34 91 01 00 24 */ stw r8, 0x24(r1)
/* 8021CDD8 00219D38 90 81 00 08 */ stw r4, 8(r1)
/* 8021CDDC 00219D3C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8021CDE0 00219D40 90 81 00 10 */ stw r4, 0x10(r1)
/* 8021CDE4 00219D44 90 01 00 14 */ stw r0, 0x14(r1)
/* 8021CDE8 00219D48 48 00 01 30 */ b lbl_8021CF18
lbl_8021CDEC:
/* 8021CDEC 00219D4C 81 03 00 00 */ lwz r8, 0(r3)
/* 8021CDF0 00219D50 39 20 00 00 */ li r9, 0
/* 8021CDF4 00219D54 81 44 00 00 */ lwz r10, 0(r4)
/* 8021CDF8 00219D58 7D 68 30 AE */ lbzx r11, r8, r6
/* 8021CDFC 00219D5C 7D 68 07 74 */ extsb r8, r11
/* 8021CE00 00219D60 2C 08 00 61 */ cmpwi r8, 0x61
/* 8021CE04 00219D64 41 80 00 10 */ blt lbl_8021CE14
/* 8021CE08 00219D68 2C 08 00 7A */ cmpwi r8, 0x7a
/* 8021CE0C 00219D6C 41 81 00 08 */ bgt lbl_8021CE14
/* 8021CE10 00219D70 39 20 00 01 */ li r9, 1
lbl_8021CE14:
/* 8021CE14 00219D74 55 28 06 3F */ clrlwi. r8, r9, 0x18
/* 8021CE18 00219D78 41 82 00 10 */ beq lbl_8021CE28
/* 8021CE1C 00219D7C 7D 68 07 74 */ extsb r8, r11
/* 8021CE20 00219D80 39 28 FF E0 */ addi r9, r8, -32
/* 8021CE24 00219D84 48 00 00 54 */ b lbl_8021CE78
lbl_8021CE28:
/* 8021CE28 00219D88 7D 69 07 74 */ extsb r9, r11
/* 8021CE2C 00219D8C 39 00 00 00 */ li r8, 0
/* 8021CE30 00219D90 2C 09 00 E0 */ cmpwi r9, 0xe0
/* 8021CE34 00219D94 41 80 00 10 */ blt lbl_8021CE44
/* 8021CE38 00219D98 2C 09 00 FE */ cmpwi r9, 0xfe
/* 8021CE3C 00219D9C 41 81 00 08 */ bgt lbl_8021CE44
/* 8021CE40 00219DA0 39 00 00 01 */ li r8, 1
lbl_8021CE44:
/* 8021CE44 00219DA4 55 08 06 3F */ clrlwi. r8, r8, 0x18
/* 8021CE48 00219DA8 41 82 00 0C */ beq lbl_8021CE54
/* 8021CE4C 00219DAC 39 29 FF E0 */ addi r9, r9, -32
/* 8021CE50 00219DB0 48 00 00 28 */ b lbl_8021CE78
lbl_8021CE54:
/* 8021CE54 00219DB4 2C 09 30 A0 */ cmpwi r9, 0x30a0
/* 8021CE58 00219DB8 39 00 00 00 */ li r8, 0
/* 8021CE5C 00219DBC 41 80 00 10 */ blt lbl_8021CE6C
/* 8021CE60 00219DC0 2C 09 30 FF */ cmpwi r9, 0x30ff
/* 8021CE64 00219DC4 41 81 00 08 */ bgt lbl_8021CE6C
/* 8021CE68 00219DC8 39 00 00 01 */ li r8, 1
lbl_8021CE6C:
/* 8021CE6C 00219DCC 55 08 06 3F */ clrlwi. r8, r8, 0x18
/* 8021CE70 00219DD0 41 82 00 08 */ beq lbl_8021CE78
/* 8021CE74 00219DD4 39 29 FF A0 */ addi r9, r9, -96
lbl_8021CE78:
/* 8021CE78 00219DD8 7D 4A 38 AE */ lbzx r10, r10, r7
/* 8021CE7C 00219DDC 7D 2B 07 74 */ extsb r11, r9
/* 8021CE80 00219DE0 39 20 00 00 */ li r9, 0
/* 8021CE84 00219DE4 7D 48 07 74 */ extsb r8, r10
/* 8021CE88 00219DE8 2C 08 00 61 */ cmpwi r8, 0x61
/* 8021CE8C 00219DEC 41 80 00 10 */ blt lbl_8021CE9C
/* 8021CE90 00219DF0 2C 08 00 7A */ cmpwi r8, 0x7a
/* 8021CE94 00219DF4 41 81 00 08 */ bgt lbl_8021CE9C
/* 8021CE98 00219DF8 39 20 00 01 */ li r9, 1
lbl_8021CE9C:
/* 8021CE9C 00219DFC 55 28 06 3F */ clrlwi. r8, r9, 0x18
/* 8021CEA0 00219E00 41 82 00 10 */ beq lbl_8021CEB0
/* 8021CEA4 00219E04 7D 48 07 74 */ extsb r8, r10
/* 8021CEA8 00219E08 39 28 FF E0 */ addi r9, r8, -32
/* 8021CEAC 00219E0C 48 00 00 54 */ b lbl_8021CF00
lbl_8021CEB0:
/* 8021CEB0 00219E10 7D 49 07 74 */ extsb r9, r10
/* 8021CEB4 00219E14 39 00 00 00 */ li r8, 0
/* 8021CEB8 00219E18 2C 09 00 E0 */ cmpwi r9, 0xe0
/* 8021CEBC 00219E1C 41 80 00 10 */ blt lbl_8021CECC
/* 8021CEC0 00219E20 2C 09 00 FE */ cmpwi r9, 0xfe
/* 8021CEC4 00219E24 41 81 00 08 */ bgt lbl_8021CECC
/* 8021CEC8 00219E28 39 00 00 01 */ li r8, 1
lbl_8021CECC:
/* 8021CECC 00219E2C 55 08 06 3F */ clrlwi. r8, r8, 0x18
/* 8021CED0 00219E30 41 82 00 0C */ beq lbl_8021CEDC
/* 8021CED4 00219E34 39 29 FF E0 */ addi r9, r9, -32
/* 8021CED8 00219E38 48 00 00 28 */ b lbl_8021CF00
lbl_8021CEDC:
/* 8021CEDC 00219E3C 2C 09 30 A0 */ cmpwi r9, 0x30a0
/* 8021CEE0 00219E40 39 00 00 00 */ li r8, 0
/* 8021CEE4 00219E44 41 80 00 10 */ blt lbl_8021CEF4
/* 8021CEE8 00219E48 2C 09 30 FF */ cmpwi r9, 0x30ff
/* 8021CEEC 00219E4C 41 81 00 08 */ bgt lbl_8021CEF4
/* 8021CEF0 00219E50 39 00 00 01 */ li r8, 1
lbl_8021CEF4:
/* 8021CEF4 00219E54 55 08 06 3F */ clrlwi. r8, r8, 0x18
/* 8021CEF8 00219E58 41 82 00 08 */ beq lbl_8021CF00
/* 8021CEFC 00219E5C 39 29 FF A0 */ addi r9, r9, -96
lbl_8021CF00:
/* 8021CF00 00219E60 7D 28 07 74 */ extsb r8, r9
/* 8021CF04 00219E64 7D 0B 40 51 */ subf. r8, r11, r8
/* 8021CF08 00219E68 41 82 00 08 */ beq lbl_8021CF10
/* 8021CF0C 00219E6C 48 00 00 D8 */ b lbl_8021CFE4
lbl_8021CF10:
/* 8021CF10 00219E70 38 C6 00 01 */ addi r6, r6, 1
/* 8021CF14 00219E74 38 E7 00 01 */ addi r7, r7, 1
lbl_8021CF18:
/* 8021CF18 00219E78 7C 03 18 40 */ cmplw r3, r3
/* 8021CF1C 00219E7C 39 00 00 00 */ li r8, 0
/* 8021CF20 00219E80 40 82 00 0C */ bne lbl_8021CF2C
/* 8021CF24 00219E84 7C 06 28 00 */ cmpw r6, r5
/* 8021CF28 00219E88 41 82 00 08 */ beq lbl_8021CF30
lbl_8021CF2C:
/* 8021CF2C 00219E8C 39 00 00 01 */ li r8, 1
lbl_8021CF30:
/* 8021CF30 00219E90 55 08 06 3F */ clrlwi. r8, r8, 0x18
/* 8021CF34 00219E94 41 82 00 24 */ beq lbl_8021CF58
/* 8021CF38 00219E98 7C 04 20 40 */ cmplw r4, r4
/* 8021CF3C 00219E9C 39 00 00 00 */ li r8, 0
/* 8021CF40 00219EA0 40 82 00 0C */ bne lbl_8021CF4C
/* 8021CF44 00219EA4 7C 07 00 00 */ cmpw r7, r0
/* 8021CF48 00219EA8 41 82 00 08 */ beq lbl_8021CF50
lbl_8021CF4C:
/* 8021CF4C 00219EAC 39 00 00 01 */ li r8, 1
lbl_8021CF50:
/* 8021CF50 00219EB0 55 08 06 3F */ clrlwi. r8, r8, 0x18
/* 8021CF54 00219EB4 40 82 FE 98 */ bne lbl_8021CDEC
lbl_8021CF58:
/* 8021CF58 00219EB8 80 81 00 40 */ lwz r4, 0x40(r1)
/* 8021CF5C 00219EBC 39 00 00 00 */ li r8, 0
/* 8021CF60 00219EC0 80 61 00 30 */ lwz r3, 0x30(r1)
/* 8021CF64 00219EC4 7C 04 18 40 */ cmplw r4, r3
/* 8021CF68 00219EC8 40 82 00 10 */ bne lbl_8021CF78
/* 8021CF6C 00219ECC 7C 06 28 00 */ cmpw r6, r5
/* 8021CF70 00219ED0 40 82 00 08 */ bne lbl_8021CF78
/* 8021CF74 00219ED4 39 00 00 01 */ li r8, 1
lbl_8021CF78:
/* 8021CF78 00219ED8 55 03 06 3F */ clrlwi. r3, r8, 0x18
/* 8021CF7C 00219EDC 41 82 00 34 */ beq lbl_8021CFB0
/* 8021CF80 00219EE0 80 81 00 20 */ lwz r4, 0x20(r1)
/* 8021CF84 00219EE4 39 00 00 00 */ li r8, 0
/* 8021CF88 00219EE8 80 61 00 10 */ lwz r3, 0x10(r1)
/* 8021CF8C 00219EEC 7C 04 18 40 */ cmplw r4, r3
/* 8021CF90 00219EF0 40 82 00 0C */ bne lbl_8021CF9C
/* 8021CF94 00219EF4 7C 07 00 00 */ cmpw r7, r0
/* 8021CF98 00219EF8 41 82 00 08 */ beq lbl_8021CFA0
lbl_8021CF9C:
/* 8021CF9C 00219EFC 39 00 00 01 */ li r8, 1
lbl_8021CFA0:
/* 8021CFA0 00219F00 55 00 06 3F */ clrlwi. r0, r8, 0x18
/* 8021CFA4 00219F04 41 82 00 0C */ beq lbl_8021CFB0
/* 8021CFA8 00219F08 39 00 FF FF */ li r8, -1
/* 8021CFAC 00219F0C 48 00 00 38 */ b lbl_8021CFE4
lbl_8021CFB0:
/* 8021CFB0 00219F10 80 61 00 40 */ lwz r3, 0x40(r1)
/* 8021CFB4 00219F14 38 80 00 00 */ li r4, 0
/* 8021CFB8 00219F18 80 01 00 30 */ lwz r0, 0x30(r1)
/* 8021CFBC 00219F1C 7C 03 00 40 */ cmplw r3, r0
/* 8021CFC0 00219F20 40 82 00 10 */ bne lbl_8021CFD0
/* 8021CFC4 00219F24 7C 06 28 00 */ cmpw r6, r5
/* 8021CFC8 00219F28 40 82 00 08 */ bne lbl_8021CFD0
/* 8021CFCC 00219F2C 38 80 00 01 */ li r4, 1
lbl_8021CFD0:
/* 8021CFD0 00219F30 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8021CFD4 00219F34 41 82 00 0C */ beq lbl_8021CFE0
/* 8021CFD8 00219F38 39 00 00 00 */ li r8, 0
/* 8021CFDC 00219F3C 48 00 00 08 */ b lbl_8021CFE4
lbl_8021CFE0:
/* 8021CFE0 00219F40 39 00 00 01 */ li r8, 1
lbl_8021CFE4:
/* 8021CFE4 00219F44 7D 03 43 78 */ mr r3, r8
/* 8021CFE8 00219F48 38 21 00 50 */ addi r1, r1, 0x50
/* 8021CFEC 00219F4C 4E 80 00 20 */ blr
.global "HasTweakValue__19CInGameTweakManagerCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
"HasTweakValue__19CInGameTweakManagerCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>":
/* 8021CFF0 00219F50 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8021CFF4 00219F54 7C 08 02 A6 */ mflr r0
/* 8021CFF8 00219F58 90 01 00 44 */ stw r0, 0x44(r1)
/* 8021CFFC 00219F5C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8021D000 00219F60 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8021D004 00219F64 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8021D008 00219F68 7C 9D 23 78 */ mr r29, r4
/* 8021D00C 00219F6C 93 81 00 30 */ stw r28, 0x30(r1)
/* 8021D010 00219F70 7C 7C 1B 78 */ mr r28, r3
/* 8021D014 00219F74 83 C3 00 0C */ lwz r30, 0xc(r3)
/* 8021D018 00219F78 48 00 00 60 */ b lbl_8021D078
lbl_8021D01C:
/* 8021D01C 00219F7C 80 9E 00 04 */ lwz r4, 4(r30)
/* 8021D020 00219F80 38 61 00 20 */ addi r3, r1, 0x20
/* 8021D024 00219F84 38 C1 00 0C */ addi r6, r1, 0xc
/* 8021D028 00219F88 38 A0 FF FF */ li r5, -1
/* 8021D02C 00219F8C 48 11 FD 65 */ bl "__ct__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8021D030 00219F90 80 9D 00 00 */ lwz r4, 0(r29)
/* 8021D034 00219F94 38 61 00 10 */ addi r3, r1, 0x10
/* 8021D038 00219F98 38 C1 00 08 */ addi r6, r1, 8
/* 8021D03C 00219F9C 38 A0 FF FF */ li r5, -1
/* 8021D040 00219FA0 48 11 FD 51 */ bl "__ct__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 8021D044 00219FA4 38 61 00 20 */ addi r3, r1, 0x20
/* 8021D048 00219FA8 38 81 00 10 */ addi r4, r1, 0x10
/* 8021D04C 00219FAC 4B FF FD 1D */ bl sub_8021cd68
/* 8021D050 00219FB0 7C 7F 1B 78 */ mr r31, r3
/* 8021D054 00219FB4 38 61 00 10 */ addi r3, r1, 0x10
/* 8021D058 00219FB8 48 11 FC 75 */ bl "internal_dereference__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8021D05C 00219FBC 38 61 00 20 */ addi r3, r1, 0x20
/* 8021D060 00219FC0 48 11 FC 6D */ bl "internal_dereference__Q24rstl83basic_string<c,Q24rstl31case_insensitive_char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8021D064 00219FC4 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 8021D068 00219FC8 41 82 00 0C */ beq lbl_8021D074
/* 8021D06C 00219FCC 38 60 00 01 */ li r3, 1
/* 8021D070 00219FD0 48 00 00 24 */ b lbl_8021D094
lbl_8021D074:
/* 8021D074 00219FD4 3B DE 00 48 */ addi r30, r30, 0x48
lbl_8021D078:
/* 8021D078 00219FD8 80 1C 00 04 */ lwz r0, 4(r28)
/* 8021D07C 00219FDC 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 8021D080 00219FE0 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8021D084 00219FE4 7C 03 02 14 */ add r0, r3, r0
/* 8021D088 00219FE8 7C 1E 00 40 */ cmplw r30, r0
/* 8021D08C 00219FEC 40 82 FF 90 */ bne lbl_8021D01C
/* 8021D090 00219FF0 38 60 00 00 */ li r3, 0
lbl_8021D094:
/* 8021D094 00219FF4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8021D098 00219FF8 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8021D09C 00219FFC 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8021D0A0 0021A000 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8021D0A4 0021A004 83 81 00 30 */ lwz r28, 0x30(r1)
/* 8021D0A8 0021A008 7C 08 03 A6 */ mtlr r0
/* 8021D0AC 0021A00C 38 21 00 40 */ addi r1, r1, 0x40
/* 8021D0B0 0021A010 4E 80 00 20 */ blr
.global __ct__19CInGameTweakManagerFv
__ct__19CInGameTweakManagerFv:
/* 8021D0B4 0021A014 38 00 00 00 */ li r0, 0
/* 8021D0B8 0021A018 90 03 00 04 */ stw r0, 4(r3)
/* 8021D0BC 0021A01C 90 03 00 08 */ stw r0, 8(r3)
/* 8021D0C0 0021A020 90 03 00 0C */ stw r0, 0xc(r3)
/* 8021D0C4 0021A024 4E 80 00 20 */ blr
.global "substr__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>CFii"
"substr__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>CFii":
/* 8021D0C8 0021A028 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8021D0CC 0021A02C 7C 08 02 A6 */ mflr r0
/* 8021D0D0 0021A030 90 01 00 64 */ stw r0, 0x64(r1)
/* 8021D0D4 0021A034 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8021D0D8 0021A038 7C 7F 1B 78 */ mr r31, r3
/* 8021D0DC 0021A03C 38 61 00 30 */ addi r3, r1, 0x30
/* 8021D0E0 0021A040 93 C1 00 58 */ stw r30, 0x58(r1)
/* 8021D0E4 0021A044 48 12 0A C1 */ bl "range_iterator__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>CFii"
/* 8021D0E8 0021A048 80 E1 00 30 */ lwz r7, 0x30(r1)
/* 8021D0EC 0021A04C 38 61 00 10 */ addi r3, r1, 0x10
/* 8021D0F0 0021A050 80 C1 00 34 */ lwz r6, 0x34(r1)
/* 8021D0F4 0021A054 38 81 00 18 */ addi r4, r1, 0x18
/* 8021D0F8 0021A058 80 A1 00 38 */ lwz r5, 0x38(r1)
/* 8021D0FC 0021A05C 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8021D100 0021A060 90 E1 00 40 */ stw r7, 0x40(r1)
/* 8021D104 0021A064 90 C1 00 44 */ stw r6, 0x44(r1)
/* 8021D108 0021A068 90 A1 00 48 */ stw r5, 0x48(r1)
/* 8021D10C 0021A06C 90 01 00 4C */ stw r0, 0x4c(r1)
/* 8021D110 0021A070 90 A1 00 20 */ stw r5, 0x20(r1)
/* 8021D114 0021A074 90 01 00 24 */ stw r0, 0x24(r1)
/* 8021D118 0021A078 90 E1 00 08 */ stw r7, 8(r1)
/* 8021D11C 0021A07C 90 C1 00 0C */ stw r6, 0xc(r1)
/* 8021D120 0021A080 90 E1 00 28 */ stw r7, 0x28(r1)
/* 8021D124 0021A084 90 C1 00 2C */ stw r6, 0x2c(r1)
/* 8021D128 0021A088 90 A1 00 18 */ stw r5, 0x18(r1)
/* 8021D12C 0021A08C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8021D130 0021A090 90 E1 00 10 */ stw r7, 0x10(r1)
/* 8021D134 0021A094 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8021D138 0021A098 4B FE F6 B9 */ bl sub_8020c7f0
/* 8021D13C 0021A09C 7C 7E 1B 78 */ mr r30, r3
/* 8021D140 0021A0A0 7F E3 FB 78 */ mr r3, r31
/* 8021D144 0021A0A4 38 9E 00 01 */ addi r4, r30, 1
/* 8021D148 0021A0A8 48 12 09 E1 */ bl "internal_allocate__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fi"
/* 8021D14C 0021A0AC 81 01 00 2C */ lwz r8, 0x2c(r1)
/* 8021D150 0021A0B0 38 E0 00 00 */ li r7, 0
/* 8021D154 0021A0B4 81 21 00 24 */ lwz r9, 0x24(r1)
/* 8021D158 0021A0B8 80 A1 00 28 */ lwz r5, 0x28(r1)
/* 8021D15C 0021A0BC 80 61 00 20 */ lwz r3, 0x20(r1)
/* 8021D160 0021A0C0 48 00 00 1C */ b lbl_8021D17C
lbl_8021D164:
/* 8021D164 0021A0C4 80 85 00 00 */ lwz r4, 0(r5)
/* 8021D168 0021A0C8 80 DF 00 00 */ lwz r6, 0(r31)
/* 8021D16C 0021A0CC 7C 04 40 AE */ lbzx r0, r4, r8
/* 8021D170 0021A0D0 39 08 00 01 */ addi r8, r8, 1
/* 8021D174 0021A0D4 7C 06 39 AE */ stbx r0, r6, r7
/* 8021D178 0021A0D8 38 E7 00 01 */ addi r7, r7, 1
lbl_8021D17C:
/* 8021D17C 0021A0DC 7C 05 18 40 */ cmplw r5, r3
/* 8021D180 0021A0E0 38 00 00 00 */ li r0, 0
/* 8021D184 0021A0E4 40 82 00 0C */ bne lbl_8021D190
/* 8021D188 0021A0E8 7C 08 48 00 */ cmpw r8, r9
/* 8021D18C 0021A0EC 41 82 00 08 */ beq lbl_8021D194
lbl_8021D190:
/* 8021D190 0021A0F0 38 00 00 01 */ li r0, 1
lbl_8021D194:
/* 8021D194 0021A0F4 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 8021D198 0021A0F8 40 82 FF CC */ bne lbl_8021D164
/* 8021D19C 0021A0FC 80 7F 00 00 */ lwz r3, 0(r31)
/* 8021D1A0 0021A100 38 00 00 00 */ li r0, 0
/* 8021D1A4 0021A104 7C 03 39 AE */ stbx r0, r3, r7
/* 8021D1A8 0021A108 93 DF 00 08 */ stw r30, 8(r31)
/* 8021D1AC 0021A10C 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8021D1B0 0021A110 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8021D1B4 0021A114 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 8021D1B8 0021A118 7C 08 03 A6 */ mtlr r0
/* 8021D1BC 0021A11C 38 21 00 60 */ addi r1, r1, 0x60
/* 8021D1C0 0021A120 4E 80 00 20 */ blr
.global "reserve__Q24rstl138vector<Q24rstl94pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,10SObjectTag>,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl138vector<Q24rstl94pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,10SObjectTag>,Q24rstl17rmemory_allocator>Fi":
/* 8021D1C4 0021A124 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8021D1C8 0021A128 7C 08 02 A6 */ mflr r0
/* 8021D1CC 0021A12C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8021D1D0 0021A130 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 8021D1D4 0021A134 7C 9F 23 78 */ mr r31, r4
/* 8021D1D8 0021A138 7C 7E 1B 78 */ mr r30, r3
/* 8021D1DC 0021A13C 80 03 00 08 */ lwz r0, 8(r3)
/* 8021D1E0 0021A140 7C 1F 00 00 */ cmpw r31, r0
/* 8021D1E4 0021A144 40 81 00 D8 */ ble lbl_8021D2BC
/* 8021D1E8 0021A148 1C 7F 00 18 */ mulli r3, r31, 0x18
/* 8021D1EC 0021A14C 2C 03 00 00 */ cmpwi r3, 0
/* 8021D1F0 0021A150 40 82 00 0C */ bne lbl_8021D1FC
/* 8021D1F4 0021A154 3B 80 00 00 */ li r28, 0
/* 8021D1F8 0021A158 48 00 00 1C */ b lbl_8021D214
lbl_8021D1FC:
/* 8021D1FC 0021A15C 3C 80 80 3D */ lis r4, lbl_803D3038@ha
/* 8021D200 0021A160 38 A0 00 00 */ li r5, 0
/* 8021D204 0021A164 38 84 30 38 */ addi r4, r4, lbl_803D3038@l
/* 8021D208 0021A168 38 84 00 1B */ addi r4, r4, 0x1b
/* 8021D20C 0021A16C 48 0F 86 0D */ bl __nwa__FUlPCcPCc
/* 8021D210 0021A170 7C 7C 1B 78 */ mr r28, r3
lbl_8021D214:
/* 8021D214 0021A174 80 1E 00 04 */ lwz r0, 4(r30)
/* 8021D218 0021A178 7F 9B E3 78 */ mr r27, r28
/* 8021D21C 0021A17C 83 5E 00 0C */ lwz r26, 0xc(r30)
/* 8021D220 0021A180 1C 00 00 18 */ mulli r0, r0, 0x18
/* 8021D224 0021A184 93 41 00 10 */ stw r26, 0x10(r1)
/* 8021D228 0021A188 7F BA 02 14 */ add r29, r26, r0
/* 8021D22C 0021A18C 93 41 00 14 */ stw r26, 0x14(r1)
/* 8021D230 0021A190 93 A1 00 08 */ stw r29, 8(r1)
/* 8021D234 0021A194 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8021D238 0021A198 48 00 00 30 */ b lbl_8021D268
lbl_8021D23C:
/* 8021D23C 0021A19C 28 1B 00 00 */ cmplwi r27, 0
/* 8021D240 0021A1A0 41 82 00 20 */ beq lbl_8021D260
/* 8021D244 0021A1A4 7F 63 DB 78 */ mr r3, r27
/* 8021D248 0021A1A8 7F 44 D3 78 */ mr r4, r26
/* 8021D24C 0021A1AC 48 12 0F 15 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021D250 0021A1B0 80 1A 00 10 */ lwz r0, 0x10(r26)
/* 8021D254 0021A1B4 90 1B 00 10 */ stw r0, 0x10(r27)
/* 8021D258 0021A1B8 80 1A 00 14 */ lwz r0, 0x14(r26)
/* 8021D25C 0021A1BC 90 1B 00 14 */ stw r0, 0x14(r27)
lbl_8021D260:
/* 8021D260 0021A1C0 3B 7B 00 18 */ addi r27, r27, 0x18
/* 8021D264 0021A1C4 3B 5A 00 18 */ addi r26, r26, 0x18
lbl_8021D268:
/* 8021D268 0021A1C8 7C 1A E8 40 */ cmplw r26, r29
/* 8021D26C 0021A1CC 40 82 FF D0 */ bne lbl_8021D23C
/* 8021D270 0021A1D0 80 1E 00 04 */ lwz r0, 4(r30)
/* 8021D274 0021A1D4 83 5E 00 0C */ lwz r26, 0xc(r30)
/* 8021D278 0021A1D8 1C 00 00 18 */ mulli r0, r0, 0x18
/* 8021D27C 0021A1DC 7F 7A 02 14 */ add r27, r26, r0
/* 8021D280 0021A1E0 48 00 00 1C */ b lbl_8021D29C
lbl_8021D284:
/* 8021D284 0021A1E4 28 1A 00 00 */ cmplwi r26, 0
/* 8021D288 0021A1E8 41 82 00 10 */ beq lbl_8021D298
/* 8021D28C 0021A1EC 41 82 00 0C */ beq lbl_8021D298
/* 8021D290 0021A1F0 7F 43 D3 78 */ mr r3, r26
/* 8021D294 0021A1F4 48 12 08 4D */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021D298:
/* 8021D298 0021A1F8 3B 5A 00 18 */ addi r26, r26, 0x18
lbl_8021D29C:
/* 8021D29C 0021A1FC 7C 1A D8 40 */ cmplw r26, r27
/* 8021D2A0 0021A200 40 82 FF E4 */ bne lbl_8021D284
/* 8021D2A4 0021A204 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8021D2A8 0021A208 28 03 00 00 */ cmplwi r3, 0
/* 8021D2AC 0021A20C 41 82 00 08 */ beq lbl_8021D2B4
/* 8021D2B0 0021A210 48 0F 86 81 */ bl Free__7CMemoryFPCv
lbl_8021D2B4:
/* 8021D2B4 0021A214 93 9E 00 0C */ stw r28, 0xc(r30)
/* 8021D2B8 0021A218 93 FE 00 08 */ stw r31, 8(r30)
lbl_8021D2BC:
/* 8021D2BC 0021A21C BB 41 00 18 */ lmw r26, 0x18(r1)
/* 8021D2C0 0021A220 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8021D2C4 0021A224 7C 08 03 A6 */ mtlr r0
/* 8021D2C8 0021A228 38 21 00 30 */ addi r1, r1, 0x30
/* 8021D2CC 0021A22C 4E 80 00 20 */ blr
.global sub_8021d2d0
sub_8021d2d0:
/* 8021D2D0 0021A230 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8021D2D4 0021A234 7C 08 02 A6 */ mflr r0
/* 8021D2D8 0021A238 90 01 00 34 */ stw r0, 0x34(r1)
/* 8021D2DC 0021A23C BF 41 00 18 */ stmw r26, 0x18(r1)
/* 8021D2E0 0021A240 7C 9E 23 78 */ mr r30, r4
/* 8021D2E4 0021A244 7C 7D 1B 78 */ mr r29, r3
/* 8021D2E8 0021A248 80 03 00 08 */ lwz r0, 8(r3)
/* 8021D2EC 0021A24C 7C 1E 00 00 */ cmpw r30, r0
/* 8021D2F0 0021A250 40 81 01 38 */ ble lbl_8021D428
/* 8021D2F4 0021A254 1C 7E 00 48 */ mulli r3, r30, 0x48
/* 8021D2F8 0021A258 2C 03 00 00 */ cmpwi r3, 0
/* 8021D2FC 0021A25C 40 82 00 0C */ bne lbl_8021D308
/* 8021D300 0021A260 3B E0 00 00 */ li r31, 0
/* 8021D304 0021A264 48 00 00 1C */ b lbl_8021D320
lbl_8021D308:
/* 8021D308 0021A268 3C 80 80 3D */ lis r4, lbl_803D3038@ha
/* 8021D30C 0021A26C 38 A0 00 00 */ li r5, 0
/* 8021D310 0021A270 38 84 30 38 */ addi r4, r4, lbl_803D3038@l
/* 8021D314 0021A274 38 84 00 1B */ addi r4, r4, 0x1b
/* 8021D318 0021A278 48 0F 85 01 */ bl __nwa__FUlPCcPCc
/* 8021D31C 0021A27C 7C 7F 1B 78 */ mr r31, r3
lbl_8021D320:
/* 8021D320 0021A280 80 1D 00 04 */ lwz r0, 4(r29)
/* 8021D324 0021A284 7F FB FB 78 */ mr r27, r31
/* 8021D328 0021A288 83 5D 00 0C */ lwz r26, 0xc(r29)
/* 8021D32C 0021A28C 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8021D330 0021A290 93 41 00 10 */ stw r26, 0x10(r1)
/* 8021D334 0021A294 7F 9A 02 14 */ add r28, r26, r0
/* 8021D338 0021A298 93 41 00 14 */ stw r26, 0x14(r1)
/* 8021D33C 0021A29C 93 81 00 08 */ stw r28, 8(r1)
/* 8021D340 0021A2A0 93 81 00 0C */ stw r28, 0xc(r1)
/* 8021D344 0021A2A4 48 00 00 68 */ b lbl_8021D3AC
lbl_8021D348:
/* 8021D348 0021A2A8 28 1B 00 00 */ cmplwi r27, 0
/* 8021D34C 0021A2AC 41 82 00 58 */ beq lbl_8021D3A4
/* 8021D350 0021A2B0 80 1A 00 00 */ lwz r0, 0(r26)
/* 8021D354 0021A2B4 38 7B 00 04 */ addi r3, r27, 4
/* 8021D358 0021A2B8 38 9A 00 04 */ addi r4, r26, 4
/* 8021D35C 0021A2BC 90 1B 00 00 */ stw r0, 0(r27)
/* 8021D360 0021A2C0 48 12 0E 01 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021D364 0021A2C4 38 7B 00 14 */ addi r3, r27, 0x14
/* 8021D368 0021A2C8 38 9A 00 14 */ addi r4, r26, 0x14
/* 8021D36C 0021A2CC 48 12 0D F5 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021D370 0021A2D0 C0 1A 00 24 */ lfs f0, 0x24(r26)
/* 8021D374 0021A2D4 38 7B 00 30 */ addi r3, r27, 0x30
/* 8021D378 0021A2D8 38 9A 00 30 */ addi r4, r26, 0x30
/* 8021D37C 0021A2DC D0 1B 00 24 */ stfs f0, 0x24(r27)
/* 8021D380 0021A2E0 C0 1A 00 28 */ lfs f0, 0x28(r26)
/* 8021D384 0021A2E4 D0 1B 00 28 */ stfs f0, 0x28(r27)
/* 8021D388 0021A2E8 C0 1A 00 2C */ lfs f0, 0x2c(r26)
/* 8021D38C 0021A2EC D0 1B 00 2C */ stfs f0, 0x2c(r27)
/* 8021D390 0021A2F0 48 12 0D D1 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8021D394 0021A2F4 80 1A 00 40 */ lwz r0, 0x40(r26)
/* 8021D398 0021A2F8 90 1B 00 40 */ stw r0, 0x40(r27)
/* 8021D39C 0021A2FC 80 1A 00 44 */ lwz r0, 0x44(r26)
/* 8021D3A0 0021A300 90 1B 00 44 */ stw r0, 0x44(r27)
lbl_8021D3A4:
/* 8021D3A4 0021A304 3B 7B 00 48 */ addi r27, r27, 0x48
/* 8021D3A8 0021A308 3B 5A 00 48 */ addi r26, r26, 0x48
lbl_8021D3AC:
/* 8021D3AC 0021A30C 7C 1A E0 40 */ cmplw r26, r28
/* 8021D3B0 0021A310 40 82 FF 98 */ bne lbl_8021D348
/* 8021D3B4 0021A314 80 1D 00 04 */ lwz r0, 4(r29)
/* 8021D3B8 0021A318 83 5D 00 0C */ lwz r26, 0xc(r29)
/* 8021D3BC 0021A31C 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8021D3C0 0021A320 7F 7A 02 14 */ add r27, r26, r0
/* 8021D3C4 0021A324 48 00 00 44 */ b lbl_8021D408
lbl_8021D3C8:
/* 8021D3C8 0021A328 28 1A 00 00 */ cmplwi r26, 0
/* 8021D3CC 0021A32C 41 82 00 38 */ beq lbl_8021D404
/* 8021D3D0 0021A330 34 1A 00 24 */ addic. r0, r26, 0x24
/* 8021D3D4 0021A334 41 82 00 10 */ beq lbl_8021D3E4
/* 8021D3D8 0021A338 34 7A 00 30 */ addic. r3, r26, 0x30
/* 8021D3DC 0021A33C 41 82 00 08 */ beq lbl_8021D3E4
/* 8021D3E0 0021A340 48 12 07 01 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021D3E4:
/* 8021D3E4 0021A344 34 1A 00 14 */ addic. r0, r26, 0x14
/* 8021D3E8 0021A348 41 82 00 0C */ beq lbl_8021D3F4
/* 8021D3EC 0021A34C 38 7A 00 14 */ addi r3, r26, 0x14
/* 8021D3F0 0021A350 48 12 06 F1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021D3F4:
/* 8021D3F4 0021A354 34 1A 00 04 */ addic. r0, r26, 4
/* 8021D3F8 0021A358 41 82 00 0C */ beq lbl_8021D404
/* 8021D3FC 0021A35C 38 7A 00 04 */ addi r3, r26, 4
/* 8021D400 0021A360 48 12 06 E1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8021D404:
/* 8021D404 0021A364 3B 5A 00 48 */ addi r26, r26, 0x48
lbl_8021D408:
/* 8021D408 0021A368 7C 1A D8 40 */ cmplw r26, r27
/* 8021D40C 0021A36C 40 82 FF BC */ bne lbl_8021D3C8
/* 8021D410 0021A370 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8021D414 0021A374 28 03 00 00 */ cmplwi r3, 0
/* 8021D418 0021A378 41 82 00 08 */ beq lbl_8021D420
/* 8021D41C 0021A37C 48 0F 85 15 */ bl Free__7CMemoryFPCv
lbl_8021D420:
/* 8021D420 0021A380 93 FD 00 0C */ stw r31, 0xc(r29)
/* 8021D424 0021A384 93 DD 00 08 */ stw r30, 8(r29)
lbl_8021D428:
/* 8021D428 0021A388 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 8021D42C 0021A38C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8021D430 0021A390 7C 08 03 A6 */ mtlr r0
/* 8021D434 0021A394 38 21 00 30 */ addi r1, r1, 0x30
/* 8021D438 0021A398 4E 80 00 20 */ blr