prime/asm/MetroidPrime/CMemoryCardDriver.s

3671 lines
174 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.balign 8
.global lbl_803E8D38
lbl_803E8D38:
# ROM: 0x3E5D38
.4byte lbl_8024E5F4
.4byte lbl_8024E600
.4byte lbl_8024E600
.4byte lbl_8024E600
.4byte lbl_8024E600
.4byte lbl_8024E600
.4byte lbl_8024E600
.4byte lbl_8024E600
.4byte lbl_8024E5E4
.4byte lbl_8024E600
.4byte lbl_8024E5DC
.4byte lbl_8024E5CC
.4byte lbl_8024E600
.global lbl_803E8D6C
lbl_803E8D6C:
# ROM: 0x3E5D6C
.4byte lbl_8024E7BC
.4byte lbl_8024E700
.4byte lbl_8024E710
.4byte lbl_8024E720
.4byte lbl_8024E730
.4byte lbl_8024E740
.4byte lbl_8024E750
.4byte lbl_8024E760
.4byte lbl_8024E770
.4byte lbl_8024E780
.4byte lbl_8024E790
.4byte lbl_8024E7A0
.4byte lbl_8024E7B0
.section .sdata
.balign 8
.global lbl_805A82D0
lbl_805A82D0:
# ROM: 0x3F5C70
.byte 0x00
.global lbl_805A82D1
lbl_805A82D1:
# ROM: 0x3F5C71
.byte 0x00
.global lbl_805A82D2
lbl_805A82D2:
# ROM: 0x3F5C72
.byte 0x00
.global lbl_805A82D3
lbl_805A82D3:
# ROM: 0x3F5C73
.balign 4
.4byte 0
.section .sbss, "wa"
.balign 8
.global lbl_805A9118
lbl_805A9118:
.skip 0x8
.section .text, "ax"
.global GetCardFreeBytes__17CMemoryCardDriverFv
GetCardFreeBytes__17CMemoryCardDriverFv:
/* 8024C290 002491F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024C294 002491F4 7C 08 02 A6 */ mflr r0
/* 8024C298 002491F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024C29C 002491FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024C2A0 00249200 7C 7F 1B 78 */ mr r31, r3
/* 8024C2A4 00249204 38 9F 00 18 */ addi r4, r31, 0x18
/* 8024C2A8 00249208 80 63 00 00 */ lwz r3, 0(r3)
/* 8024C2AC 0024920C 38 BF 00 1C */ addi r5, r31, 0x1c
/* 8024C2B0 00249210 48 10 20 49 */ bl GetNumFreeBytes__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortRUi
/* 8024C2B4 00249214 2C 03 00 00 */ cmpwi r3, 0
/* 8024C2B8 00249218 41 82 00 14 */ beq lbl_8024C2CC
/* 8024C2BC 0024921C 7F E3 FB 78 */ mr r3, r31
/* 8024C2C0 00249220 48 00 1A 59 */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024C2C4 00249224 38 60 00 00 */ li r3, 0
/* 8024C2C8 00249228 48 00 00 08 */ b lbl_8024C2D0
lbl_8024C2CC:
/* 8024C2CC 0024922C 38 60 00 01 */ li r3, 1
lbl_8024C2D0:
/* 8024C2D0 00249230 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024C2D4 00249234 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024C2D8 00249238 7C 08 03 A6 */ mtlr r0
/* 8024C2DC 0024923C 38 21 00 10 */ addi r1, r1, 0x10
/* 8024C2E0 00249240 4E 80 00 20 */ blr
.global GetGameFileStateInfo__17CMemoryCardDriverFi
GetGameFileStateInfo__17CMemoryCardDriverFi:
/* 8024C2E4 00249244 54 80 18 38 */ slwi r0, r4, 3
/* 8024C2E8 00249248 7C 63 02 14 */ add r3, r3, r0
/* 8024C2EC 0024924C 80 63 00 EC */ lwz r3, 0xec(r3)
/* 8024C2F0 00249250 28 03 00 00 */ cmplwi r3, 0
/* 8024C2F4 00249254 40 82 00 0C */ bne lbl_8024C300
/* 8024C2F8 00249258 38 60 00 00 */ li r3, 0
/* 8024C2FC 0024925C 4E 80 00 20 */ blr
lbl_8024C300:
/* 8024C300 00249260 38 63 03 B0 */ addi r3, r3, 0x3b0
/* 8024C304 00249264 4E 80 00 20 */ blr
.global LoadGameState__13SGameFileSlotFi
LoadGameState__13SGameFileSlotFi:
/* 8024C308 00249268 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8024C30C 0024926C 7C 08 02 A6 */ mflr r0
/* 8024C310 00249270 7C 66 1B 78 */ mr r6, r3
/* 8024C314 00249274 38 A0 03 AC */ li r5, 0x3ac
/* 8024C318 00249278 90 01 00 44 */ stw r0, 0x44(r1)
/* 8024C31C 0024927C 38 61 00 08 */ addi r3, r1, 8
/* 8024C320 00249280 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8024C324 00249284 7C 9F 23 78 */ mr r31, r4
/* 8024C328 00249288 38 86 00 04 */ addi r4, r6, 4
/* 8024C32C 0024928C 48 0F 2E A1 */ bl __ct__15CMemoryInStreamFPCvUl
/* 8024C330 00249290 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 8024C334 00249294 7F E5 FB 78 */ mr r5, r31
/* 8024C338 00249298 38 81 00 08 */ addi r4, r1, 8
/* 8024C33C 0024929C 4B DB 81 69 */ bl StreamNewGameState__5CMainFR12CInputStreami
/* 8024C340 002492A0 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha
/* 8024C344 002492A4 38 61 00 08 */ addi r3, r1, 8
/* 8024C348 002492A8 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l
/* 8024C34C 002492AC 38 80 00 00 */ li r4, 0
/* 8024C350 002492B0 90 01 00 08 */ stw r0, 8(r1)
/* 8024C354 002492B4 48 0F 2D 59 */ bl __dt__12CInputStreamFv
/* 8024C358 002492B8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8024C35C 002492BC 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8024C360 002492C0 7C 08 03 A6 */ mtlr r0
/* 8024C364 002492C4 38 21 00 40 */ addi r1, r1, 0x40
/* 8024C368 002492C8 4E 80 00 20 */ blr
.global InitializeFromGameState__13SGameFileSlotFv
InitializeFromGameState__13SGameFileSlotFv:
/* 8024C36C 002492CC 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8024C370 002492D0 7C 08 02 A6 */ mflr r0
/* 8024C374 002492D4 38 A0 03 AC */ li r5, 0x3ac
/* 8024C378 002492D8 38 C0 00 01 */ li r6, 1
/* 8024C37C 002492DC 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8024C380 002492E0 38 E0 10 00 */ li r7, 0x1000
/* 8024C384 002492E4 93 E1 00 CC */ stw r31, 0xcc(r1)
/* 8024C388 002492E8 7C 7F 1B 78 */ mr r31, r3
/* 8024C38C 002492EC 38 61 00 30 */ addi r3, r1, 0x30
/* 8024C390 002492F0 38 9F 00 04 */ addi r4, r31, 4
/* 8024C394 002492F4 48 0F 2F A9 */ bl __ct__16CMemoryStreamOutFPvUlQ216CMemoryStreamOut10EOwnerShipi
/* 8024C398 002492F8 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8024C39C 002492FC 38 81 00 30 */ addi r4, r1, 0x30
/* 8024C3A0 00249300 4B F8 7C E9 */ bl PutTo__10CGameStateFR16CMemoryStreamOut
/* 8024C3A4 00249304 38 61 00 30 */ addi r3, r1, 0x30
/* 8024C3A8 00249308 38 80 FF FF */ li r4, -1
/* 8024C3AC 0024930C 48 0F 2F 15 */ bl __dt__16CMemoryStreamOutFv
/* 8024C3B0 00249310 38 61 00 08 */ addi r3, r1, 8
/* 8024C3B4 00249314 38 9F 00 04 */ addi r4, r31, 4
/* 8024C3B8 00249318 4B F8 7E 9D */ bl LoadGameFileState__10CGameStateFPCv
/* 8024C3BC 0024931C C8 01 00 08 */ lfd f0, 8(r1)
/* 8024C3C0 00249320 D8 1F 03 B0 */ stfd f0, 0x3b0(r31)
/* 8024C3C4 00249324 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8024C3C8 00249328 90 1F 03 B8 */ stw r0, 0x3b8(r31)
/* 8024C3CC 0024932C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8024C3D0 00249330 D0 1F 03 BC */ stfs f0, 0x3bc(r31)
/* 8024C3D4 00249334 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8024C3D8 00249338 90 1F 03 C0 */ stw r0, 0x3c0(r31)
/* 8024C3DC 0024933C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8024C3E0 00249340 90 1F 03 C4 */ stw r0, 0x3c4(r31)
/* 8024C3E4 00249344 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8024C3E8 00249348 90 1F 03 C8 */ stw r0, 0x3c8(r31)
/* 8024C3EC 0024934C C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8024C3F0 00249350 D0 1F 03 CC */ stfs f0, 0x3cc(r31)
/* 8024C3F4 00249354 88 01 00 28 */ lbz r0, 0x28(r1)
/* 8024C3F8 00249358 98 1F 03 D0 */ stb r0, 0x3d0(r31)
/* 8024C3FC 0024935C 83 E1 00 CC */ lwz r31, 0xcc(r1)
/* 8024C400 00249360 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 8024C404 00249364 7C 08 03 A6 */ mtlr r0
/* 8024C408 00249368 38 21 00 D0 */ addi r1, r1, 0xd0
/* 8024C40C 0024936C 4E 80 00 20 */ blr
.global DoPut__13SGameFileSlotFv
DoPut__13SGameFileSlotFv:
/* 8024C410 00249370 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024C414 00249374 7C 08 02 A6 */ mflr r0
/* 8024C418 00249378 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024C41C 0024937C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024C420 00249380 7C 9F 23 78 */ mr r31, r4
/* 8024C424 00249384 93 C1 00 08 */ stw r30, 8(r1)
/* 8024C428 00249388 7C 7E 1B 78 */ mr r30, r3
/* 8024C42C 0024938C 7F E3 FB 78 */ mr r3, r31
/* 8024C430 00249390 48 0F 30 89 */ bl FlushShiftRegister__13COutputStreamFv
/* 8024C434 00249394 7F E3 FB 78 */ mr r3, r31
/* 8024C438 00249398 38 9E 00 04 */ addi r4, r30, 4
/* 8024C43C 0024939C 38 A0 03 AC */ li r5, 0x3ac
/* 8024C440 002493A0 48 0F 31 69 */ bl DoPut__13COutputStreamFPCvUl
/* 8024C444 002493A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024C448 002493A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024C44C 002493AC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024C450 002493B0 7C 08 03 A6 */ mtlr r0
/* 8024C454 002493B4 38 21 00 10 */ addi r1, r1, 0x10
/* 8024C458 002493B8 4E 80 00 20 */ blr
.global LoadFile
LoadFile:
/* 8024C45C 002493BC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8024C460 002493C0 7C 08 02 A6 */ mflr r0
/* 8024C464 002493C4 90 01 00 44 */ stw r0, 0x44(r1)
/* 8024C468 002493C8 38 00 00 5E */ li r0, 0x5e
/* 8024C46C 002493CC 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8024C470 002493D0 7C 7F 1B 78 */ mr r31, r3
/* 8024C474 002493D4 38 60 03 AC */ li r3, 0x3ac
/* 8024C478 002493D8 90 7F 00 00 */ stw r3, 0(r31)
/* 8024C47C 002493DC 38 BF 00 04 */ addi r5, r31, 4
/* 8024C480 002493E0 38 60 00 00 */ li r3, 0
/* 8024C484 002493E4 7C 09 03 A6 */ mtctr r0
lbl_8024C488:
/* 8024C488 002493E8 28 05 00 00 */ cmplwi r5, 0
/* 8024C48C 002493EC 41 82 00 0C */ beq lbl_8024C498
/* 8024C490 002493F0 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C494 002493F4 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C498:
/* 8024C498 002493F8 34 A5 00 01 */ addic. r5, r5, 1
/* 8024C49C 002493FC 41 82 00 0C */ beq lbl_8024C4A8
/* 8024C4A0 00249400 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C4A4 00249404 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C4A8:
/* 8024C4A8 00249408 34 A5 00 01 */ addic. r5, r5, 1
/* 8024C4AC 0024940C 41 82 00 0C */ beq lbl_8024C4B8
/* 8024C4B0 00249410 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C4B4 00249414 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C4B8:
/* 8024C4B8 00249418 34 A5 00 01 */ addic. r5, r5, 1
/* 8024C4BC 0024941C 41 82 00 0C */ beq lbl_8024C4C8
/* 8024C4C0 00249420 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C4C4 00249424 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C4C8:
/* 8024C4C8 00249428 34 A5 00 01 */ addic. r5, r5, 1
/* 8024C4CC 0024942C 41 82 00 0C */ beq lbl_8024C4D8
/* 8024C4D0 00249430 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C4D4 00249434 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C4D8:
/* 8024C4D8 00249438 34 A5 00 01 */ addic. r5, r5, 1
/* 8024C4DC 0024943C 41 82 00 0C */ beq lbl_8024C4E8
/* 8024C4E0 00249440 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C4E4 00249444 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C4E8:
/* 8024C4E8 00249448 34 A5 00 01 */ addic. r5, r5, 1
/* 8024C4EC 0024944C 41 82 00 0C */ beq lbl_8024C4F8
/* 8024C4F0 00249450 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C4F4 00249454 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C4F8:
/* 8024C4F8 00249458 34 A5 00 01 */ addic. r5, r5, 1
/* 8024C4FC 0024945C 41 82 00 0C */ beq lbl_8024C508
/* 8024C500 00249460 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C504 00249464 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C508:
/* 8024C508 00249468 34 A5 00 01 */ addic. r5, r5, 1
/* 8024C50C 0024946C 41 82 00 0C */ beq lbl_8024C518
/* 8024C510 00249470 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C514 00249474 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C518:
/* 8024C518 00249478 34 A5 00 01 */ addic. r5, r5, 1
/* 8024C51C 0024947C 41 82 00 0C */ beq lbl_8024C528
/* 8024C520 00249480 88 0D 97 13 */ lbz r0, lbl_805A82D3@sda21(r13)
/* 8024C524 00249484 98 05 00 00 */ stb r0, 0(r5)
lbl_8024C528:
/* 8024C528 00249488 38 63 00 09 */ addi r3, r3, 9
/* 8024C52C 0024948C 38 A5 00 01 */ addi r5, r5, 1
/* 8024C530 00249490 42 00 FF 58 */ bdnz lbl_8024C488
/* 8024C534 00249494 7C 83 23 78 */ mr r3, r4
/* 8024C538 00249498 38 9F 00 04 */ addi r4, r31, 4
/* 8024C53C 0024949C 38 A0 03 AC */ li r5, 0x3ac
/* 8024C540 002494A0 48 0F 2A 15 */ bl Get__12CInputStreamFPvUl
/* 8024C544 002494A4 38 61 00 08 */ addi r3, r1, 8
/* 8024C548 002494A8 38 9F 00 04 */ addi r4, r31, 4
/* 8024C54C 002494AC 4B F8 7D 09 */ bl LoadGameFileState__10CGameStateFPCv
/* 8024C550 002494B0 C8 01 00 08 */ lfd f0, 8(r1)
/* 8024C554 002494B4 7F E3 FB 78 */ mr r3, r31
/* 8024C558 002494B8 D8 1F 03 B0 */ stfd f0, 0x3b0(r31)
/* 8024C55C 002494BC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8024C560 002494C0 90 1F 03 B8 */ stw r0, 0x3b8(r31)
/* 8024C564 002494C4 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8024C568 002494C8 D0 1F 03 BC */ stfs f0, 0x3bc(r31)
/* 8024C56C 002494CC 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8024C570 002494D0 90 1F 03 C0 */ stw r0, 0x3c0(r31)
/* 8024C574 002494D4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8024C578 002494D8 90 1F 03 C4 */ stw r0, 0x3c4(r31)
/* 8024C57C 002494DC 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8024C580 002494E0 90 1F 03 C8 */ stw r0, 0x3c8(r31)
/* 8024C584 002494E4 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8024C588 002494E8 D0 1F 03 CC */ stfs f0, 0x3cc(r31)
/* 8024C58C 002494EC 88 01 00 28 */ lbz r0, 0x28(r1)
/* 8024C590 002494F0 98 1F 03 D0 */ stb r0, 0x3d0(r31)
/* 8024C594 002494F4 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8024C598 002494F8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8024C59C 002494FC 7C 08 03 A6 */ mtlr r0
/* 8024C5A0 00249500 38 21 00 40 */ addi r1, r1, 0x40
/* 8024C5A4 00249504 4E 80 00 20 */ blr
.global __ct__13SGameFileSlotFv
__ct__13SGameFileSlotFv:
/* 8024C5A8 00249508 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024C5AC 0024950C 7C 08 02 A6 */ mflr r0
/* 8024C5B0 00249510 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024C5B4 00249514 38 00 00 5E */ li r0, 0x5e
/* 8024C5B8 00249518 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024C5BC 0024951C 7C 7F 1B 78 */ mr r31, r3
/* 8024C5C0 00249520 38 60 03 AC */ li r3, 0x3ac
/* 8024C5C4 00249524 90 7F 00 00 */ stw r3, 0(r31)
/* 8024C5C8 00249528 38 9F 00 04 */ addi r4, r31, 4
/* 8024C5CC 0024952C 38 60 00 00 */ li r3, 0
/* 8024C5D0 00249530 7C 09 03 A6 */ mtctr r0
lbl_8024C5D4:
/* 8024C5D4 00249534 28 04 00 00 */ cmplwi r4, 0
/* 8024C5D8 00249538 41 82 00 0C */ beq lbl_8024C5E4
/* 8024C5DC 0024953C 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C5E0 00249540 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C5E4:
/* 8024C5E4 00249544 34 84 00 01 */ addic. r4, r4, 1
/* 8024C5E8 00249548 41 82 00 0C */ beq lbl_8024C5F4
/* 8024C5EC 0024954C 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C5F0 00249550 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C5F4:
/* 8024C5F4 00249554 34 84 00 01 */ addic. r4, r4, 1
/* 8024C5F8 00249558 41 82 00 0C */ beq lbl_8024C604
/* 8024C5FC 0024955C 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C600 00249560 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C604:
/* 8024C604 00249564 34 84 00 01 */ addic. r4, r4, 1
/* 8024C608 00249568 41 82 00 0C */ beq lbl_8024C614
/* 8024C60C 0024956C 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C610 00249570 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C614:
/* 8024C614 00249574 34 84 00 01 */ addic. r4, r4, 1
/* 8024C618 00249578 41 82 00 0C */ beq lbl_8024C624
/* 8024C61C 0024957C 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C620 00249580 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C624:
/* 8024C624 00249584 34 84 00 01 */ addic. r4, r4, 1
/* 8024C628 00249588 41 82 00 0C */ beq lbl_8024C634
/* 8024C62C 0024958C 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C630 00249590 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C634:
/* 8024C634 00249594 34 84 00 01 */ addic. r4, r4, 1
/* 8024C638 00249598 41 82 00 0C */ beq lbl_8024C644
/* 8024C63C 0024959C 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C640 002495A0 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C644:
/* 8024C644 002495A4 34 84 00 01 */ addic. r4, r4, 1
/* 8024C648 002495A8 41 82 00 0C */ beq lbl_8024C654
/* 8024C64C 002495AC 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C650 002495B0 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C654:
/* 8024C654 002495B4 34 84 00 01 */ addic. r4, r4, 1
/* 8024C658 002495B8 41 82 00 0C */ beq lbl_8024C664
/* 8024C65C 002495BC 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C660 002495C0 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C664:
/* 8024C664 002495C4 34 84 00 01 */ addic. r4, r4, 1
/* 8024C668 002495C8 41 82 00 0C */ beq lbl_8024C674
/* 8024C66C 002495CC 88 0D 97 12 */ lbz r0, lbl_805A82D2@sda21(r13)
/* 8024C670 002495D0 98 04 00 00 */ stb r0, 0(r4)
lbl_8024C674:
/* 8024C674 002495D4 38 63 00 09 */ addi r3, r3, 9
/* 8024C678 002495D8 38 84 00 01 */ addi r4, r4, 1
/* 8024C67C 002495DC 42 00 FF 58 */ bdnz lbl_8024C5D4
/* 8024C680 002495E0 7F E3 FB 78 */ mr r3, r31
/* 8024C684 002495E4 4B FF FC E9 */ bl InitializeFromGameState__13SGameFileSlotFv
/* 8024C688 002495E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024C68C 002495EC 7F E3 FB 78 */ mr r3, r31
/* 8024C690 002495F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024C694 002495F4 7C 08 03 A6 */ mtlr r0
/* 8024C698 002495F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8024C69C 002495FC 4E 80 00 20 */ blr
.global DoPut__11SSaveHeaderFv
DoPut__11SSaveHeaderFv:
/* 8024C6A0 00249600 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8024C6A4 00249604 7C 08 02 A6 */ mflr r0
/* 8024C6A8 00249608 90 01 00 24 */ stw r0, 0x24(r1)
/* 8024C6AC 0024960C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8024C6B0 00249610 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8024C6B4 00249614 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8024C6B8 00249618 7C 9D 23 78 */ mr r29, r4
/* 8024C6BC 0024961C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8024C6C0 00249620 7C 7C 1B 78 */ mr r28, r3
/* 8024C6C4 00249624 80 03 00 00 */ lwz r0, 0(r3)
/* 8024C6C8 00249628 7F A3 EB 78 */ mr r3, r29
/* 8024C6CC 0024962C 90 01 00 08 */ stw r0, 8(r1)
/* 8024C6D0 00249630 48 0F 2D E9 */ bl FlushShiftRegister__13COutputStreamFv
/* 8024C6D4 00249634 7F A3 EB 78 */ mr r3, r29
/* 8024C6D8 00249638 38 81 00 08 */ addi r4, r1, 8
/* 8024C6DC 0024963C 38 A0 00 04 */ li r5, 4
/* 8024C6E0 00249640 48 0F 2E C9 */ bl DoPut__13COutputStreamFPCvUl
/* 8024C6E4 00249644 3B C0 00 00 */ li r30, 0
lbl_8024C6E8:
/* 8024C6E8 00249648 38 1E 00 04 */ addi r0, r30, 4
/* 8024C6EC 0024964C 7F A3 EB 78 */ mr r3, r29
/* 8024C6F0 00249650 7F FC 00 AE */ lbzx r31, r28, r0
/* 8024C6F4 00249654 48 0F 2D C5 */ bl FlushShiftRegister__13COutputStreamFv
/* 8024C6F8 00249658 80 7D 00 04 */ lwz r3, 4(r29)
/* 8024C6FC 0024965C 80 1D 00 08 */ lwz r0, 8(r29)
/* 8024C700 00249660 7C 03 00 40 */ cmplw r3, r0
/* 8024C704 00249664 41 80 00 0C */ blt lbl_8024C710
/* 8024C708 00249668 7F A3 EB 78 */ mr r3, r29
/* 8024C70C 0024966C 48 0F 2E 19 */ bl DoFlush__13COutputStreamFv
lbl_8024C710:
/* 8024C710 00249670 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8024C714 00249674 7C 1F 00 D0 */ neg r0, r31
/* 8024C718 00249678 7C 00 FB 78 */ or r0, r0, r31
/* 8024C71C 0024967C 3B DE 00 01 */ addi r30, r30, 1
/* 8024C720 00249680 38 63 00 01 */ addi r3, r3, 1
/* 8024C724 00249684 90 7D 00 10 */ stw r3, 0x10(r29)
/* 8024C728 00249688 54 05 0F FE */ srwi r5, r0, 0x1f
/* 8024C72C 0024968C 2C 1E 00 03 */ cmpwi r30, 3
/* 8024C730 00249690 80 7D 00 04 */ lwz r3, 4(r29)
/* 8024C734 00249694 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8024C738 00249698 38 03 00 01 */ addi r0, r3, 1
/* 8024C73C 0024969C 90 1D 00 04 */ stw r0, 4(r29)
/* 8024C740 002496A0 7C A4 19 AE */ stbx r5, r4, r3
/* 8024C744 002496A4 41 80 FF A4 */ blt lbl_8024C6E8
/* 8024C748 002496A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8024C74C 002496AC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8024C750 002496B0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8024C754 002496B4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8024C758 002496B8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8024C75C 002496BC 7C 08 03 A6 */ mtlr r0
/* 8024C760 002496C0 38 21 00 20 */ addi r1, r1, 0x20
/* 8024C764 002496C4 4E 80 00 20 */ blr
.global LoadSaveHeader
LoadSaveHeader:
/* 8024C768 002496C8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8024C76C 002496CC 7C 08 02 A6 */ mflr r0
/* 8024C770 002496D0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8024C774 002496D4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8024C778 002496D8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8024C77C 002496DC 7C 9E 23 78 */ mr r30, r4
/* 8024C780 002496E0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8024C784 002496E4 7C 7D 1B 78 */ mr r29, r3
/* 8024C788 002496E8 7F C3 F3 78 */ mr r3, r30
/* 8024C78C 002496EC 48 0F 24 F9 */ bl ReadLong__12CInputStreamFv
/* 8024C790 002496F0 90 7D 00 00 */ stw r3, 0(r29)
/* 8024C794 002496F4 3B E0 00 00 */ li r31, 0
lbl_8024C798:
/* 8024C798 002496F8 7F C3 F3 78 */ mr r3, r30
/* 8024C79C 002496FC 48 0F 25 41 */ bl ReadBool__12CInputStreamFv
/* 8024C7A0 00249700 38 1F 00 04 */ addi r0, r31, 4
/* 8024C7A4 00249704 3B FF 00 01 */ addi r31, r31, 1
/* 8024C7A8 00249708 2C 1F 00 03 */ cmpwi r31, 3
/* 8024C7AC 0024970C 7C 7D 01 AE */ stbx r3, r29, r0
/* 8024C7B0 00249710 41 80 FF E8 */ blt lbl_8024C798
/* 8024C7B4 00249714 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8024C7B8 00249718 7F A3 EB 78 */ mr r3, r29
/* 8024C7BC 0024971C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8024C7C0 00249720 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8024C7C4 00249724 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8024C7C8 00249728 7C 08 03 A6 */ mtlr r0
/* 8024C7CC 0024972C 38 21 00 20 */ addi r1, r1, 0x20
/* 8024C7D0 00249730 4E 80 00 20 */ blr
.global __ct__11SSaveHeaderFi
__ct__11SSaveHeaderFi:
/* 8024C7D4 00249734 90 83 00 00 */ stw r4, 0(r3)
/* 8024C7D8 00249738 4E 80 00 20 */ blr
.global ExportPersistentOptions__17CMemoryCardDriverFv
ExportPersistentOptions__17CMemoryCardDriverFv:
/* 8024C7DC 0024973C 94 21 FE 60 */ stwu r1, -0x1a0(r1)
/* 8024C7E0 00249740 7C 08 02 A6 */ mflr r0
/* 8024C7E4 00249744 38 A0 00 AE */ li r5, 0xae
/* 8024C7E8 00249748 90 01 01 A4 */ stw r0, 0x1a4(r1)
/* 8024C7EC 0024974C 93 E1 01 9C */ stw r31, 0x19c(r1)
/* 8024C7F0 00249750 3B E3 00 34 */ addi r31, r3, 0x34
/* 8024C7F4 00249754 38 61 00 08 */ addi r3, r1, 8
/* 8024C7F8 00249758 7F E4 FB 78 */ mr r4, r31
/* 8024C7FC 0024975C 48 0F 29 D1 */ bl __ct__15CMemoryInStreamFPCvUl
/* 8024C800 00249760 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8024C804 00249764 38 81 00 08 */ addi r4, r1, 8
/* 8024C808 00249768 4B F8 91 61 */ bl __ct__14CSystemOptionsFRC12CInputStream
/* 8024C80C 0024976C 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8024C810 00249770 38 81 00 B8 */ addi r4, r1, 0xb8
/* 8024C814 00249774 4B F8 74 F5 */ bl ExportPersistentOptions__10CGameStateFRC14CSystemOptions
/* 8024C818 00249778 7F E4 FB 78 */ mr r4, r31
/* 8024C81C 0024977C 38 61 00 2C */ addi r3, r1, 0x2c
/* 8024C820 00249780 38 A0 00 AE */ li r5, 0xae
/* 8024C824 00249784 38 C0 00 01 */ li r6, 1
/* 8024C828 00249788 38 E0 10 00 */ li r7, 0x1000
/* 8024C82C 0024978C 48 0F 2B 11 */ bl __ct__16CMemoryStreamOutFPvUlQ216CMemoryStreamOut10EOwnerShipi
/* 8024C830 00249790 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8024C834 00249794 38 81 00 2C */ addi r4, r1, 0x2c
/* 8024C838 00249798 4B F8 8D 59 */ bl PutTo__14CSystemOptionsFR13COutputStream
/* 8024C83C 0024979C 38 61 00 2C */ addi r3, r1, 0x2c
/* 8024C840 002497A0 38 80 FF FF */ li r4, -1
/* 8024C844 002497A4 48 0F 2A 7D */ bl __dt__16CMemoryStreamOutFv
/* 8024C848 002497A8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8024C84C 002497AC 38 80 FF FF */ li r4, -1
/* 8024C850 002497B0 4B DB 79 89 */ bl __dt__14CSystemOptionsFv
/* 8024C854 002497B4 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha
/* 8024C858 002497B8 38 61 00 08 */ addi r3, r1, 8
/* 8024C85C 002497BC 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l
/* 8024C860 002497C0 38 80 00 00 */ li r4, 0
/* 8024C864 002497C4 90 01 00 08 */ stw r0, 8(r1)
/* 8024C868 002497C8 48 0F 28 45 */ bl __dt__12CInputStreamFv
/* 8024C86C 002497CC 80 01 01 A4 */ lwz r0, 0x1a4(r1)
/* 8024C870 002497D0 83 E1 01 9C */ lwz r31, 0x19c(r1)
/* 8024C874 002497D4 7C 08 03 A6 */ mtlr r0
/* 8024C878 002497D8 38 21 01 A0 */ addi r1, r1, 0x1a0
/* 8024C87C 002497DC 4E 80 00 20 */ blr
.global ImportPersistentOptions__17CMemoryCardDriverFv
ImportPersistentOptions__17CMemoryCardDriverFv:
/* 8024C880 002497E0 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 8024C884 002497E4 7C 08 02 A6 */ mflr r0
/* 8024C888 002497E8 7C 64 1B 78 */ mr r4, r3
/* 8024C88C 002497EC 38 A0 00 AE */ li r5, 0xae
/* 8024C890 002497F0 90 01 01 04 */ stw r0, 0x104(r1)
/* 8024C894 002497F4 38 61 00 08 */ addi r3, r1, 8
/* 8024C898 002497F8 38 84 00 34 */ addi r4, r4, 0x34
/* 8024C89C 002497FC 48 0F 29 31 */ bl __ct__15CMemoryInStreamFPCvUl
/* 8024C8A0 00249800 38 61 00 2C */ addi r3, r1, 0x2c
/* 8024C8A4 00249804 38 81 00 08 */ addi r4, r1, 8
/* 8024C8A8 00249808 4B F8 90 C1 */ bl __ct__14CSystemOptionsFRC12CInputStream
/* 8024C8AC 0024980C 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8024C8B0 00249810 38 81 00 2C */ addi r4, r1, 0x2c
/* 8024C8B4 00249814 4B F8 76 19 */ bl ImportPersistentOptions__10CGameStateFRC14CSystemOptions
/* 8024C8B8 00249818 38 61 00 2C */ addi r3, r1, 0x2c
/* 8024C8BC 0024981C 38 80 FF FF */ li r4, -1
/* 8024C8C0 00249820 4B DB 79 19 */ bl __dt__14CSystemOptionsFv
/* 8024C8C4 00249824 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha
/* 8024C8C8 00249828 38 61 00 08 */ addi r3, r1, 8
/* 8024C8CC 0024982C 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l
/* 8024C8D0 00249830 38 80 00 00 */ li r4, 0
/* 8024C8D4 00249834 90 01 00 08 */ stw r0, 8(r1)
/* 8024C8D8 00249838 48 0F 27 D5 */ bl __dt__12CInputStreamFv
/* 8024C8DC 0024983C 80 01 01 04 */ lwz r0, 0x104(r1)
/* 8024C8E0 00249840 7C 08 03 A6 */ mtlr r0
/* 8024C8E4 00249844 38 21 01 00 */ addi r1, r1, 0x100
/* 8024C8E8 00249848 4E 80 00 20 */ blr
.global BuildExistingFileSlot__17CMemoryCardDriverFi
BuildExistingFileSlot__17CMemoryCardDriverFi:
/* 8024C8EC 0024984C 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8024C8F0 00249850 7C 08 02 A6 */ mflr r0
/* 8024C8F4 00249854 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8024C8F8 00249858 54 80 18 38 */ slwi r0, r4, 3
/* 8024C8FC 0024985C 93 E1 00 AC */ stw r31, 0xac(r1)
/* 8024C900 00249860 93 C1 00 A8 */ stw r30, 0xa8(r1)
/* 8024C904 00249864 7C 7E 1B 78 */ mr r30, r3
/* 8024C908 00249868 7F FE 02 14 */ add r31, r30, r0
/* 8024C90C 0024986C 80 AD A0 80 */ lwz r5, gpGameState@sda21(r13)
/* 8024C910 00249870 90 85 02 0C */ stw r4, 0x20c(r5)
/* 8024C914 00249874 80 7F 00 EC */ lwz r3, 0xec(r31)
/* 8024C918 00249878 3B FF 00 E8 */ addi r31, r31, 0xe8
/* 8024C91C 0024987C 28 03 00 00 */ cmplwi r3, 0
/* 8024C920 00249880 40 82 01 50 */ bne lbl_8024CA70
/* 8024C924 00249884 3C 80 80 3D */ lis r4, lbl_803D47CC@ha
/* 8024C928 00249888 38 60 03 D8 */ li r3, 0x3d8
/* 8024C92C 0024988C 38 84 47 CC */ addi r4, r4, lbl_803D47CC@l
/* 8024C930 00249890 38 A0 00 00 */ li r5, 0
/* 8024C934 00249894 38 84 02 A1 */ addi r4, r4, 0x2a1
/* 8024C938 00249898 48 0C 8F 35 */ bl __nw__FUlPCcPCc
/* 8024C93C 0024989C 7C 64 1B 79 */ or. r4, r3, r3
/* 8024C940 002498A0 41 82 00 0C */ beq lbl_8024C94C
/* 8024C944 002498A4 4B FF FC 65 */ bl __ct__13SGameFileSlotFv
/* 8024C948 002498A8 7C 64 1B 78 */ mr r4, r3
lbl_8024C94C:
/* 8024C94C 002498AC 7C 64 00 D0 */ neg r3, r4
/* 8024C950 002498B0 38 01 00 08 */ addi r0, r1, 8
/* 8024C954 002498B4 7C 63 23 78 */ or r3, r3, r4
/* 8024C958 002498B8 90 81 00 0C */ stw r4, 0xc(r1)
/* 8024C95C 002498BC 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8024C960 002498C0 7C 00 F8 40 */ cmplw r0, r31
/* 8024C964 002498C4 98 61 00 08 */ stb r3, 8(r1)
/* 8024C968 002498C8 41 82 00 90 */ beq lbl_8024C9F8
/* 8024C96C 002498CC 88 1F 00 00 */ lbz r0, 0(r31)
/* 8024C970 002498D0 28 00 00 00 */ cmplwi r0, 0
/* 8024C974 002498D4 41 82 00 6C */ beq lbl_8024C9E0
/* 8024C978 002498D8 80 7F 00 04 */ lwz r3, 4(r31)
/* 8024C97C 002498DC 28 03 00 00 */ cmplwi r3, 0
/* 8024C980 002498E0 41 82 00 60 */ beq lbl_8024C9E0
/* 8024C984 002498E4 41 82 00 58 */ beq lbl_8024C9DC
/* 8024C988 002498E8 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024C98C 002498EC 38 80 00 00 */ li r4, 0
/* 8024C990 002498F0 2C 06 00 00 */ cmpwi r6, 0
/* 8024C994 002498F4 40 81 00 40 */ ble lbl_8024C9D4
/* 8024C998 002498F8 2C 06 00 08 */ cmpwi r6, 8
/* 8024C99C 002498FC 38 A6 FF F8 */ addi r5, r6, -8
/* 8024C9A0 00249900 40 81 00 20 */ ble lbl_8024C9C0
/* 8024C9A4 00249904 38 05 00 07 */ addi r0, r5, 7
/* 8024C9A8 00249908 54 00 E8 FE */ srwi r0, r0, 3
/* 8024C9AC 0024990C 7C 09 03 A6 */ mtctr r0
/* 8024C9B0 00249910 2C 05 00 00 */ cmpwi r5, 0
/* 8024C9B4 00249914 40 81 00 0C */ ble lbl_8024C9C0
lbl_8024C9B8:
/* 8024C9B8 00249918 38 84 00 08 */ addi r4, r4, 8
/* 8024C9BC 0024991C 42 00 FF FC */ bdnz lbl_8024C9B8
lbl_8024C9C0:
/* 8024C9C0 00249920 7C 04 30 50 */ subf r0, r4, r6
/* 8024C9C4 00249924 7C 09 03 A6 */ mtctr r0
/* 8024C9C8 00249928 7C 04 30 00 */ cmpw r4, r6
/* 8024C9CC 0024992C 40 80 00 08 */ bge lbl_8024C9D4
lbl_8024C9D0:
/* 8024C9D0 00249930 42 00 00 00 */ bdnz lbl_8024C9D0
lbl_8024C9D4:
/* 8024C9D4 00249934 38 00 00 00 */ li r0, 0
/* 8024C9D8 00249938 90 03 00 00 */ stw r0, 0(r3)
lbl_8024C9DC:
/* 8024C9DC 0024993C 48 0C 8F 55 */ bl Free__7CMemoryFPCv
lbl_8024C9E0:
/* 8024C9E0 00249940 88 61 00 08 */ lbz r3, 8(r1)
/* 8024C9E4 00249944 38 00 00 00 */ li r0, 0
/* 8024C9E8 00249948 98 7F 00 00 */ stb r3, 0(r31)
/* 8024C9EC 0024994C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024C9F0 00249950 90 7F 00 04 */ stw r3, 4(r31)
/* 8024C9F4 00249954 98 01 00 08 */ stb r0, 8(r1)
lbl_8024C9F8:
/* 8024C9F8 00249958 88 01 00 08 */ lbz r0, 8(r1)
/* 8024C9FC 0024995C 28 00 00 00 */ cmplwi r0, 0
/* 8024CA00 00249960 41 82 00 74 */ beq lbl_8024CA74
/* 8024CA04 00249964 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024CA08 00249968 28 03 00 00 */ cmplwi r3, 0
/* 8024CA0C 0024996C 41 82 00 68 */ beq lbl_8024CA74
/* 8024CA10 00249970 41 82 00 58 */ beq lbl_8024CA68
/* 8024CA14 00249974 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024CA18 00249978 38 80 00 00 */ li r4, 0
/* 8024CA1C 0024997C 2C 06 00 00 */ cmpwi r6, 0
/* 8024CA20 00249980 40 81 00 40 */ ble lbl_8024CA60
/* 8024CA24 00249984 2C 06 00 08 */ cmpwi r6, 8
/* 8024CA28 00249988 38 A6 FF F8 */ addi r5, r6, -8
/* 8024CA2C 0024998C 40 81 00 20 */ ble lbl_8024CA4C
/* 8024CA30 00249990 38 05 00 07 */ addi r0, r5, 7
/* 8024CA34 00249994 54 00 E8 FE */ srwi r0, r0, 3
/* 8024CA38 00249998 7C 09 03 A6 */ mtctr r0
/* 8024CA3C 0024999C 2C 05 00 00 */ cmpwi r5, 0
/* 8024CA40 002499A0 40 81 00 0C */ ble lbl_8024CA4C
lbl_8024CA44:
/* 8024CA44 002499A4 38 84 00 08 */ addi r4, r4, 8
/* 8024CA48 002499A8 42 00 FF FC */ bdnz lbl_8024CA44
lbl_8024CA4C:
/* 8024CA4C 002499AC 7C 04 30 50 */ subf r0, r4, r6
/* 8024CA50 002499B0 7C 09 03 A6 */ mtctr r0
/* 8024CA54 002499B4 7C 04 30 00 */ cmpw r4, r6
/* 8024CA58 002499B8 40 80 00 08 */ bge lbl_8024CA60
lbl_8024CA5C:
/* 8024CA5C 002499BC 42 00 00 00 */ bdnz lbl_8024CA5C
lbl_8024CA60:
/* 8024CA60 002499C0 38 00 00 00 */ li r0, 0
/* 8024CA64 002499C4 90 03 00 00 */ stw r0, 0(r3)
lbl_8024CA68:
/* 8024CA68 002499C8 48 0C 8E C9 */ bl Free__7CMemoryFPCv
/* 8024CA6C 002499CC 48 00 00 08 */ b lbl_8024CA74
lbl_8024CA70:
/* 8024CA70 002499D0 4B FF F8 FD */ bl InitializeFromGameState__13SGameFileSlotFv
lbl_8024CA74:
/* 8024CA74 002499D4 38 61 00 10 */ addi r3, r1, 0x10
/* 8024CA78 002499D8 38 9E 00 34 */ addi r4, r30, 0x34
/* 8024CA7C 002499DC 38 A0 00 AE */ li r5, 0xae
/* 8024CA80 002499E0 38 C0 00 01 */ li r6, 1
/* 8024CA84 002499E4 38 E0 10 00 */ li r7, 0x1000
/* 8024CA88 002499E8 48 0F 28 B5 */ bl __ct__16CMemoryStreamOutFPvUlQ216CMemoryStreamOut10EOwnerShipi
/* 8024CA8C 002499EC 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8024CA90 002499F0 38 81 00 10 */ addi r4, r1, 0x10
/* 8024CA94 002499F4 4B F8 75 89 */ bl sub_801d401c
/* 8024CA98 002499F8 38 61 00 10 */ addi r3, r1, 0x10
/* 8024CA9C 002499FC 38 80 FF FF */ li r4, -1
/* 8024CAA0 00249A00 48 0F 28 21 */ bl __dt__16CMemoryStreamOutFv
/* 8024CAA4 00249A04 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8024CAA8 00249A08 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 8024CAAC 00249A0C 83 C1 00 A8 */ lwz r30, 0xa8(r1)
/* 8024CAB0 00249A10 7C 08 03 A6 */ mtlr r0
/* 8024CAB4 00249A14 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8024CAB8 00249A18 4E 80 00 20 */ blr
.global BuildNewFileSlot__17CMemoryCardDriverFi
BuildNewFileSlot__17CMemoryCardDriverFi:
/* 8024CABC 00249A1C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8024CAC0 00249A20 7C 08 02 A6 */ mflr r0
/* 8024CAC4 00249A24 90 01 00 54 */ stw r0, 0x54(r1)
/* 8024CAC8 00249A28 54 80 18 38 */ slwi r0, r4, 3
/* 8024CACC 00249A2C 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8024CAD0 00249A30 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8024CAD4 00249A34 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8024CAD8 00249A38 7C 9D 23 78 */ mr r29, r4
/* 8024CADC 00249A3C 93 81 00 40 */ stw r28, 0x40(r1)
/* 8024CAE0 00249A40 7C 7C 1B 78 */ mr r28, r3
/* 8024CAE4 00249A44 7F DC 02 14 */ add r30, r28, r0
/* 8024CAE8 00249A48 80 AD A0 80 */ lwz r5, gpGameState@sda21(r13)
/* 8024CAEC 00249A4C 88 65 01 78 */ lbz r3, 0x178(r5)
/* 8024CAF0 00249A50 93 A5 02 0C */ stw r29, 0x20c(r5)
/* 8024CAF4 00249A54 54 7F EF FE */ rlwinm r31, r3, 0x1d, 0x1f, 0x1f
/* 8024CAF8 00249A58 80 1E 00 EC */ lwz r0, 0xec(r30)
/* 8024CAFC 00249A5C 3B DE 00 E8 */ addi r30, r30, 0xe8
/* 8024CB00 00249A60 28 00 00 00 */ cmplwi r0, 0
/* 8024CB04 00249A64 40 82 01 4C */ bne lbl_8024CC50
/* 8024CB08 00249A68 3C 80 80 3D */ lis r4, lbl_803D47CC@ha
/* 8024CB0C 00249A6C 38 60 03 D8 */ li r3, 0x3d8
/* 8024CB10 00249A70 38 84 47 CC */ addi r4, r4, lbl_803D47CC@l
/* 8024CB14 00249A74 38 A0 00 00 */ li r5, 0
/* 8024CB18 00249A78 38 84 02 A1 */ addi r4, r4, 0x2a1
/* 8024CB1C 00249A7C 48 0C 8D 51 */ bl __nw__FUlPCcPCc
/* 8024CB20 00249A80 7C 64 1B 79 */ or. r4, r3, r3
/* 8024CB24 00249A84 41 82 00 0C */ beq lbl_8024CB30
/* 8024CB28 00249A88 4B FF FA 81 */ bl __ct__13SGameFileSlotFv
/* 8024CB2C 00249A8C 7C 64 1B 78 */ mr r4, r3
lbl_8024CB30:
/* 8024CB30 00249A90 7C 64 00 D0 */ neg r3, r4
/* 8024CB34 00249A94 38 01 00 08 */ addi r0, r1, 8
/* 8024CB38 00249A98 7C 63 23 78 */ or r3, r3, r4
/* 8024CB3C 00249A9C 90 81 00 0C */ stw r4, 0xc(r1)
/* 8024CB40 00249AA0 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8024CB44 00249AA4 7C 00 F0 40 */ cmplw r0, r30
/* 8024CB48 00249AA8 98 61 00 08 */ stb r3, 8(r1)
/* 8024CB4C 00249AAC 41 82 00 90 */ beq lbl_8024CBDC
/* 8024CB50 00249AB0 88 1E 00 00 */ lbz r0, 0(r30)
/* 8024CB54 00249AB4 28 00 00 00 */ cmplwi r0, 0
/* 8024CB58 00249AB8 41 82 00 6C */ beq lbl_8024CBC4
/* 8024CB5C 00249ABC 80 7E 00 04 */ lwz r3, 4(r30)
/* 8024CB60 00249AC0 28 03 00 00 */ cmplwi r3, 0
/* 8024CB64 00249AC4 41 82 00 60 */ beq lbl_8024CBC4
/* 8024CB68 00249AC8 41 82 00 58 */ beq lbl_8024CBC0
/* 8024CB6C 00249ACC 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024CB70 00249AD0 38 80 00 00 */ li r4, 0
/* 8024CB74 00249AD4 2C 06 00 00 */ cmpwi r6, 0
/* 8024CB78 00249AD8 40 81 00 40 */ ble lbl_8024CBB8
/* 8024CB7C 00249ADC 2C 06 00 08 */ cmpwi r6, 8
/* 8024CB80 00249AE0 38 A6 FF F8 */ addi r5, r6, -8
/* 8024CB84 00249AE4 40 81 00 20 */ ble lbl_8024CBA4
/* 8024CB88 00249AE8 38 05 00 07 */ addi r0, r5, 7
/* 8024CB8C 00249AEC 54 00 E8 FE */ srwi r0, r0, 3
/* 8024CB90 00249AF0 7C 09 03 A6 */ mtctr r0
/* 8024CB94 00249AF4 2C 05 00 00 */ cmpwi r5, 0
/* 8024CB98 00249AF8 40 81 00 0C */ ble lbl_8024CBA4
lbl_8024CB9C:
/* 8024CB9C 00249AFC 38 84 00 08 */ addi r4, r4, 8
/* 8024CBA0 00249B00 42 00 FF FC */ bdnz lbl_8024CB9C
lbl_8024CBA4:
/* 8024CBA4 00249B04 7C 04 30 50 */ subf r0, r4, r6
/* 8024CBA8 00249B08 7C 09 03 A6 */ mtctr r0
/* 8024CBAC 00249B0C 7C 04 30 00 */ cmpw r4, r6
/* 8024CBB0 00249B10 40 80 00 08 */ bge lbl_8024CBB8
lbl_8024CBB4:
/* 8024CBB4 00249B14 42 00 00 00 */ bdnz lbl_8024CBB4
lbl_8024CBB8:
/* 8024CBB8 00249B18 38 00 00 00 */ li r0, 0
/* 8024CBBC 00249B1C 90 03 00 00 */ stw r0, 0(r3)
lbl_8024CBC0:
/* 8024CBC0 00249B20 48 0C 8D 71 */ bl Free__7CMemoryFPCv
lbl_8024CBC4:
/* 8024CBC4 00249B24 88 61 00 08 */ lbz r3, 8(r1)
/* 8024CBC8 00249B28 38 00 00 00 */ li r0, 0
/* 8024CBCC 00249B2C 98 7E 00 00 */ stb r3, 0(r30)
/* 8024CBD0 00249B30 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024CBD4 00249B34 90 7E 00 04 */ stw r3, 4(r30)
/* 8024CBD8 00249B38 98 01 00 08 */ stb r0, 8(r1)
lbl_8024CBDC:
/* 8024CBDC 00249B3C 88 01 00 08 */ lbz r0, 8(r1)
/* 8024CBE0 00249B40 28 00 00 00 */ cmplwi r0, 0
/* 8024CBE4 00249B44 41 82 00 6C */ beq lbl_8024CC50
/* 8024CBE8 00249B48 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024CBEC 00249B4C 28 03 00 00 */ cmplwi r3, 0
/* 8024CBF0 00249B50 41 82 00 60 */ beq lbl_8024CC50
/* 8024CBF4 00249B54 41 82 00 58 */ beq lbl_8024CC4C
/* 8024CBF8 00249B58 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024CBFC 00249B5C 38 80 00 00 */ li r4, 0
/* 8024CC00 00249B60 2C 06 00 00 */ cmpwi r6, 0
/* 8024CC04 00249B64 40 81 00 40 */ ble lbl_8024CC44
/* 8024CC08 00249B68 2C 06 00 08 */ cmpwi r6, 8
/* 8024CC0C 00249B6C 38 A6 FF F8 */ addi r5, r6, -8
/* 8024CC10 00249B70 40 81 00 20 */ ble lbl_8024CC30
/* 8024CC14 00249B74 38 05 00 07 */ addi r0, r5, 7
/* 8024CC18 00249B78 54 00 E8 FE */ srwi r0, r0, 3
/* 8024CC1C 00249B7C 7C 09 03 A6 */ mtctr r0
/* 8024CC20 00249B80 2C 05 00 00 */ cmpwi r5, 0
/* 8024CC24 00249B84 40 81 00 0C */ ble lbl_8024CC30
lbl_8024CC28:
/* 8024CC28 00249B88 38 84 00 08 */ addi r4, r4, 8
/* 8024CC2C 00249B8C 42 00 FF FC */ bdnz lbl_8024CC28
lbl_8024CC30:
/* 8024CC30 00249B90 7C 04 30 50 */ subf r0, r4, r6
/* 8024CC34 00249B94 7C 09 03 A6 */ mtctr r0
/* 8024CC38 00249B98 7C 04 30 00 */ cmpw r4, r6
/* 8024CC3C 00249B9C 40 80 00 08 */ bge lbl_8024CC44
lbl_8024CC40:
/* 8024CC40 00249BA0 42 00 00 00 */ bdnz lbl_8024CC40
lbl_8024CC44:
/* 8024CC44 00249BA4 38 00 00 00 */ li r0, 0
/* 8024CC48 00249BA8 90 03 00 00 */ stw r0, 0(r3)
lbl_8024CC4C:
/* 8024CC4C 00249BAC 48 0C 8C E5 */ bl Free__7CMemoryFPCv
lbl_8024CC50:
/* 8024CC50 00249BB0 80 7E 00 04 */ lwz r3, 4(r30)
/* 8024CC54 00249BB4 7F A4 EB 78 */ mr r4, r29
/* 8024CC58 00249BB8 4B FF F6 B1 */ bl LoadGameState__13SGameFileSlotFi
/* 8024CC5C 00249BBC 38 61 00 10 */ addi r3, r1, 0x10
/* 8024CC60 00249BC0 38 9C 00 34 */ addi r4, r28, 0x34
/* 8024CC64 00249BC4 38 A0 00 AE */ li r5, 0xae
/* 8024CC68 00249BC8 48 0F 25 65 */ bl __ct__15CMemoryInStreamFPCvUl
/* 8024CC6C 00249BCC 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8024CC70 00249BD0 38 81 00 10 */ addi r4, r1, 0x10
/* 8024CC74 00249BD4 4B F8 73 CD */ bl ReadSystemOptions__10CGameStateFR12CInputStream
/* 8024CC78 00249BD8 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha
/* 8024CC7C 00249BDC 38 61 00 10 */ addi r3, r1, 0x10
/* 8024CC80 00249BE0 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l
/* 8024CC84 00249BE4 38 80 00 00 */ li r4, 0
/* 8024CC88 00249BE8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8024CC8C 00249BEC 48 0F 24 21 */ bl __dt__12CInputStreamFv
/* 8024CC90 00249BF0 7F 83 E3 78 */ mr r3, r28
/* 8024CC94 00249BF4 4B FF FB ED */ bl ImportPersistentOptions__17CMemoryCardDriverFv
/* 8024CC98 00249BF8 80 1C 00 28 */ lwz r0, 0x28(r28)
/* 8024CC9C 00249BFC 7F E4 FB 78 */ mr r4, r31
/* 8024CCA0 00249C00 80 BC 00 2C */ lwz r5, 0x2c(r28)
/* 8024CCA4 00249C04 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8024CCA8 00249C08 90 A3 02 14 */ stw r5, 0x214(r3)
/* 8024CCAC 00249C0C 90 03 02 10 */ stw r0, 0x210(r3)
/* 8024CCB0 00249C10 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8024CCB4 00249C14 38 63 00 A8 */ addi r3, r3, 0xa8
/* 8024CCB8 00249C18 4B F8 85 09 */ bl SetHasFusion__14CSystemOptionsFb
/* 8024CCBC 00249C1C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8024CCC0 00249C20 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8024CCC4 00249C24 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8024CCC8 00249C28 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 8024CCCC 00249C2C 83 81 00 40 */ lwz r28, 0x40(r1)
/* 8024CCD0 00249C30 7C 08 03 A6 */ mtlr r0
/* 8024CCD4 00249C34 38 21 00 50 */ addi r1, r1, 0x50
/* 8024CCD8 00249C38 4E 80 00 20 */ blr
.global EraseFileSlot__17CMemoryCardDriverFi
EraseFileSlot__17CMemoryCardDriverFi:
/* 8024CCDC 00249C3C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8024CCE0 00249C40 7C 08 02 A6 */ mflr r0
/* 8024CCE4 00249C44 90 01 00 24 */ stw r0, 0x24(r1)
/* 8024CCE8 00249C48 54 80 18 38 */ slwi r0, r4, 3
/* 8024CCEC 00249C4C 38 80 00 00 */ li r4, 0
/* 8024CCF0 00249C50 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8024CCF4 00249C54 7F E3 02 14 */ add r31, r3, r0
/* 8024CCF8 00249C58 38 01 00 08 */ addi r0, r1, 8
/* 8024CCFC 00249C5C 3B FF 00 E8 */ addi r31, r31, 0xe8
/* 8024CD00 00249C60 98 81 00 08 */ stb r4, 8(r1)
/* 8024CD04 00249C64 7C 00 F8 40 */ cmplw r0, r31
/* 8024CD08 00249C68 90 81 00 0C */ stw r4, 0xc(r1)
/* 8024CD0C 00249C6C 41 82 00 8C */ beq lbl_8024CD98
/* 8024CD10 00249C70 88 1F 00 00 */ lbz r0, 0(r31)
/* 8024CD14 00249C74 28 00 00 00 */ cmplwi r0, 0
/* 8024CD18 00249C78 41 82 00 68 */ beq lbl_8024CD80
/* 8024CD1C 00249C7C 80 7F 00 04 */ lwz r3, 4(r31)
/* 8024CD20 00249C80 28 03 00 00 */ cmplwi r3, 0
/* 8024CD24 00249C84 41 82 00 5C */ beq lbl_8024CD80
/* 8024CD28 00249C88 41 82 00 54 */ beq lbl_8024CD7C
/* 8024CD2C 00249C8C 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024CD30 00249C90 2C 06 00 00 */ cmpwi r6, 0
/* 8024CD34 00249C94 40 81 00 40 */ ble lbl_8024CD74
/* 8024CD38 00249C98 2C 06 00 08 */ cmpwi r6, 8
/* 8024CD3C 00249C9C 38 A6 FF F8 */ addi r5, r6, -8
/* 8024CD40 00249CA0 40 81 00 20 */ ble lbl_8024CD60
/* 8024CD44 00249CA4 38 05 00 07 */ addi r0, r5, 7
/* 8024CD48 00249CA8 54 00 E8 FE */ srwi r0, r0, 3
/* 8024CD4C 00249CAC 7C 09 03 A6 */ mtctr r0
/* 8024CD50 00249CB0 2C 05 00 00 */ cmpwi r5, 0
/* 8024CD54 00249CB4 40 81 00 0C */ ble lbl_8024CD60
lbl_8024CD58:
/* 8024CD58 00249CB8 38 84 00 08 */ addi r4, r4, 8
/* 8024CD5C 00249CBC 42 00 FF FC */ bdnz lbl_8024CD58
lbl_8024CD60:
/* 8024CD60 00249CC0 7C 04 30 50 */ subf r0, r4, r6
/* 8024CD64 00249CC4 7C 09 03 A6 */ mtctr r0
/* 8024CD68 00249CC8 7C 04 30 00 */ cmpw r4, r6
/* 8024CD6C 00249CCC 40 80 00 08 */ bge lbl_8024CD74
lbl_8024CD70:
/* 8024CD70 00249CD0 42 00 00 00 */ bdnz lbl_8024CD70
lbl_8024CD74:
/* 8024CD74 00249CD4 38 00 00 00 */ li r0, 0
/* 8024CD78 00249CD8 90 03 00 00 */ stw r0, 0(r3)
lbl_8024CD7C:
/* 8024CD7C 00249CDC 48 0C 8B B5 */ bl Free__7CMemoryFPCv
lbl_8024CD80:
/* 8024CD80 00249CE0 88 61 00 08 */ lbz r3, 8(r1)
/* 8024CD84 00249CE4 38 00 00 00 */ li r0, 0
/* 8024CD88 00249CE8 98 7F 00 00 */ stb r3, 0(r31)
/* 8024CD8C 00249CEC 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024CD90 00249CF0 90 7F 00 04 */ stw r3, 4(r31)
/* 8024CD94 00249CF4 98 01 00 08 */ stb r0, 8(r1)
lbl_8024CD98:
/* 8024CD98 00249CF8 88 01 00 08 */ lbz r0, 8(r1)
/* 8024CD9C 00249CFC 28 00 00 00 */ cmplwi r0, 0
/* 8024CDA0 00249D00 41 82 00 6C */ beq lbl_8024CE0C
/* 8024CDA4 00249D04 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024CDA8 00249D08 28 03 00 00 */ cmplwi r3, 0
/* 8024CDAC 00249D0C 41 82 00 60 */ beq lbl_8024CE0C
/* 8024CDB0 00249D10 41 82 00 58 */ beq lbl_8024CE08
/* 8024CDB4 00249D14 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024CDB8 00249D18 38 80 00 00 */ li r4, 0
/* 8024CDBC 00249D1C 2C 06 00 00 */ cmpwi r6, 0
/* 8024CDC0 00249D20 40 81 00 40 */ ble lbl_8024CE00
/* 8024CDC4 00249D24 2C 06 00 08 */ cmpwi r6, 8
/* 8024CDC8 00249D28 38 A6 FF F8 */ addi r5, r6, -8
/* 8024CDCC 00249D2C 40 81 00 20 */ ble lbl_8024CDEC
/* 8024CDD0 00249D30 38 05 00 07 */ addi r0, r5, 7
/* 8024CDD4 00249D34 54 00 E8 FE */ srwi r0, r0, 3
/* 8024CDD8 00249D38 7C 09 03 A6 */ mtctr r0
/* 8024CDDC 00249D3C 2C 05 00 00 */ cmpwi r5, 0
/* 8024CDE0 00249D40 40 81 00 0C */ ble lbl_8024CDEC
lbl_8024CDE4:
/* 8024CDE4 00249D44 38 84 00 08 */ addi r4, r4, 8
/* 8024CDE8 00249D48 42 00 FF FC */ bdnz lbl_8024CDE4
lbl_8024CDEC:
/* 8024CDEC 00249D4C 7C 04 30 50 */ subf r0, r4, r6
/* 8024CDF0 00249D50 7C 09 03 A6 */ mtctr r0
/* 8024CDF4 00249D54 7C 04 30 00 */ cmpw r4, r6
/* 8024CDF8 00249D58 40 80 00 08 */ bge lbl_8024CE00
lbl_8024CDFC:
/* 8024CDFC 00249D5C 42 00 00 00 */ bdnz lbl_8024CDFC
lbl_8024CE00:
/* 8024CE00 00249D60 38 00 00 00 */ li r0, 0
/* 8024CE04 00249D64 90 03 00 00 */ stw r0, 0(r3)
lbl_8024CE08:
/* 8024CE08 00249D68 48 0C 8B 29 */ bl Free__7CMemoryFPCv
lbl_8024CE0C:
/* 8024CE0C 00249D6C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8024CE10 00249D70 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8024CE14 00249D74 7C 08 03 A6 */ mtlr r0
/* 8024CE18 00249D78 38 21 00 20 */ addi r1, r1, 0x20
/* 8024CE1C 00249D7C 4E 80 00 20 */ blr
.global ReadFinished__17CMemoryCardDriverFv
ReadFinished__17CMemoryCardDriverFv:
/* 8024CE20 00249D80 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 8024CE24 00249D84 7C 08 02 A6 */ mflr r0
/* 8024CE28 00249D88 38 80 00 00 */ li r4, 0
/* 8024CE2C 00249D8C 38 A0 00 6C */ li r5, 0x6c
/* 8024CE30 00249D90 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 8024CE34 00249D94 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 8024CE38 00249D98 93 C1 00 B8 */ stw r30, 0xb8(r1)
/* 8024CE3C 00249D9C 93 A1 00 B4 */ stw r29, 0xb4(r1)
/* 8024CE40 00249DA0 93 81 00 B0 */ stw r28, 0xb0(r1)
/* 8024CE44 00249DA4 7C 7C 1B 78 */ mr r28, r3
/* 8024CE48 00249DA8 38 61 00 44 */ addi r3, r1, 0x44
/* 8024CE4C 00249DAC 80 1C 01 94 */ lwz r0, 0x194(r28)
/* 8024CE50 00249DB0 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8024CE54 00249DB4 7C DC 02 14 */ add r6, r28, r0
/* 8024CE58 00249DB8 3B A6 01 08 */ addi r29, r6, 0x108
/* 8024CE5C 00249DBC 4B DB 65 4D */ bl memset
/* 8024CE60 00249DC0 7F A3 EB 78 */ mr r3, r29
/* 8024CE64 00249DC4 48 10 1C 41 */ bl GetFileNo__19SMemoryCardFileInfoCFv
/* 8024CE68 00249DC8 7C 64 1B 78 */ mr r4, r3
/* 8024CE6C 00249DCC 80 7C 00 00 */ lwz r3, 0(r28)
/* 8024CE70 00249DD0 38 A1 00 44 */ addi r5, r1, 0x44
/* 8024CE74 00249DD4 48 10 09 BD */ bl GetStatus__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortiR8CardStat
/* 8024CE78 00249DD8 2C 03 00 00 */ cmpwi r3, 0
/* 8024CE7C 00249DDC 41 82 00 10 */ beq lbl_8024CE8C
/* 8024CE80 00249DE0 7F 83 E3 78 */ mr r3, r28
/* 8024CE84 00249DE4 48 00 0E 95 */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024CE88 00249DE8 48 00 03 08 */ b lbl_8024D190
lbl_8024CE8C:
/* 8024CE8C 00249DEC 38 61 00 44 */ addi r3, r1, 0x44
/* 8024CE90 00249DF0 48 10 17 35 */ bl GetTime__8CardStatCFv
/* 8024CE94 00249DF4 90 7C 00 20 */ stw r3, 0x20(r28)
/* 8024CE98 00249DF8 38 61 00 20 */ addi r3, r1, 0x20
/* 8024CE9C 00249DFC 38 A0 0B BC */ li r5, 0xbbc
/* 8024CEA0 00249E00 80 9D 00 40 */ lwz r4, 0x40(r29)
/* 8024CEA4 00249E04 48 0F 23 29 */ bl __ct__15CMemoryInStreamFPCvUl
/* 8024CEA8 00249E08 38 61 00 18 */ addi r3, r1, 0x18
/* 8024CEAC 00249E0C 38 81 00 20 */ addi r4, r1, 0x20
/* 8024CEB0 00249E10 4B FF F8 B9 */ bl LoadSaveHeader
/* 8024CEB4 00249E14 38 61 00 20 */ addi r3, r1, 0x20
/* 8024CEB8 00249E18 38 9C 00 34 */ addi r4, r28, 0x34
/* 8024CEBC 00249E1C 38 A0 00 AE */ li r5, 0xae
/* 8024CEC0 00249E20 48 0F 20 95 */ bl Get__12CInputStreamFPvUl
/* 8024CEC4 00249E24 3B FC 00 E8 */ addi r31, r28, 0xe8
/* 8024CEC8 00249E28 3B C1 00 18 */ addi r30, r1, 0x18
/* 8024CECC 00249E2C 3B A0 00 00 */ li r29, 0
lbl_8024CED0:
/* 8024CED0 00249E30 88 1E 00 04 */ lbz r0, 4(r30)
/* 8024CED4 00249E34 28 00 00 00 */ cmplwi r0, 0
/* 8024CED8 00249E38 41 82 01 5C */ beq lbl_8024D034
/* 8024CEDC 00249E3C 3C 80 80 3D */ lis r4, lbl_803D47CC@ha
/* 8024CEE0 00249E40 38 60 03 D8 */ li r3, 0x3d8
/* 8024CEE4 00249E44 38 84 47 CC */ addi r4, r4, lbl_803D47CC@l
/* 8024CEE8 00249E48 38 A0 00 00 */ li r5, 0
/* 8024CEEC 00249E4C 38 84 02 A1 */ addi r4, r4, 0x2a1
/* 8024CEF0 00249E50 48 0C 89 7D */ bl __nw__FUlPCcPCc
/* 8024CEF4 00249E54 7C 64 1B 79 */ or. r4, r3, r3
/* 8024CEF8 00249E58 41 82 00 10 */ beq lbl_8024CF08
/* 8024CEFC 00249E5C 38 81 00 20 */ addi r4, r1, 0x20
/* 8024CF00 00249E60 4B FF F5 5D */ bl LoadFile
/* 8024CF04 00249E64 7C 64 1B 78 */ mr r4, r3
lbl_8024CF08:
/* 8024CF08 00249E68 7C 64 00 D0 */ neg r3, r4
/* 8024CF0C 00249E6C 38 01 00 10 */ addi r0, r1, 0x10
/* 8024CF10 00249E70 7C 63 23 78 */ or r3, r3, r4
/* 8024CF14 00249E74 90 81 00 14 */ stw r4, 0x14(r1)
/* 8024CF18 00249E78 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8024CF1C 00249E7C 7C 00 F8 40 */ cmplw r0, r31
/* 8024CF20 00249E80 98 61 00 10 */ stb r3, 0x10(r1)
/* 8024CF24 00249E84 41 82 00 94 */ beq lbl_8024CFB8
/* 8024CF28 00249E88 88 1F 00 00 */ lbz r0, 0(r31)
/* 8024CF2C 00249E8C 28 00 00 00 */ cmplwi r0, 0
/* 8024CF30 00249E90 41 82 00 70 */ beq lbl_8024CFA0
/* 8024CF34 00249E94 80 7F 00 04 */ lwz r3, 4(r31)
/* 8024CF38 00249E98 28 03 00 00 */ cmplwi r3, 0
/* 8024CF3C 00249E9C 41 82 00 64 */ beq lbl_8024CFA0
/* 8024CF40 00249EA0 41 82 00 5C */ beq lbl_8024CF9C
/* 8024CF44 00249EA4 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024CF48 00249EA8 38 80 00 00 */ li r4, 0
/* 8024CF4C 00249EAC 2C 06 00 00 */ cmpwi r6, 0
/* 8024CF50 00249EB0 40 81 00 44 */ ble lbl_8024CF94
/* 8024CF54 00249EB4 2C 06 00 08 */ cmpwi r6, 8
/* 8024CF58 00249EB8 38 A6 FF F8 */ addi r5, r6, -8
/* 8024CF5C 00249EBC 40 81 00 20 */ ble lbl_8024CF7C
/* 8024CF60 00249EC0 38 05 00 07 */ addi r0, r5, 7
/* 8024CF64 00249EC4 54 00 E8 FE */ srwi r0, r0, 3
/* 8024CF68 00249EC8 7C 09 03 A6 */ mtctr r0
/* 8024CF6C 00249ECC 2C 05 00 00 */ cmpwi r5, 0
/* 8024CF70 00249ED0 40 81 00 0C */ ble lbl_8024CF7C
lbl_8024CF74:
/* 8024CF74 00249ED4 38 84 00 08 */ addi r4, r4, 8
/* 8024CF78 00249ED8 42 00 FF FC */ bdnz lbl_8024CF74
lbl_8024CF7C:
/* 8024CF7C 00249EDC 7C 04 30 50 */ subf r0, r4, r6
/* 8024CF80 00249EE0 7C 09 03 A6 */ mtctr r0
/* 8024CF84 00249EE4 7C 04 30 00 */ cmpw r4, r6
/* 8024CF88 00249EE8 40 80 00 0C */ bge lbl_8024CF94
lbl_8024CF8C:
/* 8024CF8C 00249EEC 38 84 00 01 */ addi r4, r4, 1
/* 8024CF90 00249EF0 42 00 FF FC */ bdnz lbl_8024CF8C
lbl_8024CF94:
/* 8024CF94 00249EF4 38 00 00 00 */ li r0, 0
/* 8024CF98 00249EF8 90 03 00 00 */ stw r0, 0(r3)
lbl_8024CF9C:
/* 8024CF9C 00249EFC 48 0C 89 95 */ bl Free__7CMemoryFPCv
lbl_8024CFA0:
/* 8024CFA0 00249F00 88 61 00 10 */ lbz r3, 0x10(r1)
/* 8024CFA4 00249F04 38 00 00 00 */ li r0, 0
/* 8024CFA8 00249F08 98 7F 00 00 */ stb r3, 0(r31)
/* 8024CFAC 00249F0C 80 61 00 14 */ lwz r3, 0x14(r1)
/* 8024CFB0 00249F10 90 7F 00 04 */ stw r3, 4(r31)
/* 8024CFB4 00249F14 98 01 00 10 */ stb r0, 0x10(r1)
lbl_8024CFB8:
/* 8024CFB8 00249F18 88 01 00 10 */ lbz r0, 0x10(r1)
/* 8024CFBC 00249F1C 28 00 00 00 */ cmplwi r0, 0
/* 8024CFC0 00249F20 41 82 01 90 */ beq lbl_8024D150
/* 8024CFC4 00249F24 80 61 00 14 */ lwz r3, 0x14(r1)
/* 8024CFC8 00249F28 28 03 00 00 */ cmplwi r3, 0
/* 8024CFCC 00249F2C 41 82 01 84 */ beq lbl_8024D150
/* 8024CFD0 00249F30 41 82 00 5C */ beq lbl_8024D02C
/* 8024CFD4 00249F34 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024CFD8 00249F38 38 80 00 00 */ li r4, 0
/* 8024CFDC 00249F3C 2C 06 00 00 */ cmpwi r6, 0
/* 8024CFE0 00249F40 40 81 00 44 */ ble lbl_8024D024
/* 8024CFE4 00249F44 2C 06 00 08 */ cmpwi r6, 8
/* 8024CFE8 00249F48 38 A6 FF F8 */ addi r5, r6, -8
/* 8024CFEC 00249F4C 40 81 00 20 */ ble lbl_8024D00C
/* 8024CFF0 00249F50 38 05 00 07 */ addi r0, r5, 7
/* 8024CFF4 00249F54 54 00 E8 FE */ srwi r0, r0, 3
/* 8024CFF8 00249F58 7C 09 03 A6 */ mtctr r0
/* 8024CFFC 00249F5C 2C 05 00 00 */ cmpwi r5, 0
/* 8024D000 00249F60 40 81 00 0C */ ble lbl_8024D00C
lbl_8024D004:
/* 8024D004 00249F64 38 84 00 08 */ addi r4, r4, 8
/* 8024D008 00249F68 42 00 FF FC */ bdnz lbl_8024D004
lbl_8024D00C:
/* 8024D00C 00249F6C 7C 04 30 50 */ subf r0, r4, r6
/* 8024D010 00249F70 7C 09 03 A6 */ mtctr r0
/* 8024D014 00249F74 7C 04 30 00 */ cmpw r4, r6
/* 8024D018 00249F78 40 80 00 0C */ bge lbl_8024D024
lbl_8024D01C:
/* 8024D01C 00249F7C 38 84 00 01 */ addi r4, r4, 1
/* 8024D020 00249F80 42 00 FF FC */ bdnz lbl_8024D01C
lbl_8024D024:
/* 8024D024 00249F84 38 00 00 00 */ li r0, 0
/* 8024D028 00249F88 90 03 00 00 */ stw r0, 0(r3)
lbl_8024D02C:
/* 8024D02C 00249F8C 48 0C 89 05 */ bl Free__7CMemoryFPCv
/* 8024D030 00249F90 48 00 01 20 */ b lbl_8024D150
lbl_8024D034:
/* 8024D034 00249F94 38 01 00 08 */ addi r0, r1, 8
/* 8024D038 00249F98 38 80 00 00 */ li r4, 0
/* 8024D03C 00249F9C 7C 00 F8 40 */ cmplw r0, r31
/* 8024D040 00249FA0 98 81 00 08 */ stb r4, 8(r1)
/* 8024D044 00249FA4 90 81 00 0C */ stw r4, 0xc(r1)
/* 8024D048 00249FA8 41 82 00 90 */ beq lbl_8024D0D8
/* 8024D04C 00249FAC 88 1F 00 00 */ lbz r0, 0(r31)
/* 8024D050 00249FB0 28 00 00 00 */ cmplwi r0, 0
/* 8024D054 00249FB4 41 82 00 6C */ beq lbl_8024D0C0
/* 8024D058 00249FB8 80 7F 00 04 */ lwz r3, 4(r31)
/* 8024D05C 00249FBC 28 03 00 00 */ cmplwi r3, 0
/* 8024D060 00249FC0 41 82 00 60 */ beq lbl_8024D0C0
/* 8024D064 00249FC4 41 82 00 58 */ beq lbl_8024D0BC
/* 8024D068 00249FC8 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024D06C 00249FCC 2C 06 00 00 */ cmpwi r6, 0
/* 8024D070 00249FD0 40 81 00 44 */ ble lbl_8024D0B4
/* 8024D074 00249FD4 2C 06 00 08 */ cmpwi r6, 8
/* 8024D078 00249FD8 38 A6 FF F8 */ addi r5, r6, -8
/* 8024D07C 00249FDC 40 81 00 20 */ ble lbl_8024D09C
/* 8024D080 00249FE0 38 05 00 07 */ addi r0, r5, 7
/* 8024D084 00249FE4 54 00 E8 FE */ srwi r0, r0, 3
/* 8024D088 00249FE8 7C 09 03 A6 */ mtctr r0
/* 8024D08C 00249FEC 2C 05 00 00 */ cmpwi r5, 0
/* 8024D090 00249FF0 40 81 00 0C */ ble lbl_8024D09C
lbl_8024D094:
/* 8024D094 00249FF4 38 84 00 08 */ addi r4, r4, 8
/* 8024D098 00249FF8 42 00 FF FC */ bdnz lbl_8024D094
lbl_8024D09C:
/* 8024D09C 00249FFC 7C 04 30 50 */ subf r0, r4, r6
/* 8024D0A0 0024A000 7C 09 03 A6 */ mtctr r0
/* 8024D0A4 0024A004 7C 04 30 00 */ cmpw r4, r6
/* 8024D0A8 0024A008 40 80 00 0C */ bge lbl_8024D0B4
lbl_8024D0AC:
/* 8024D0AC 0024A00C 38 84 00 01 */ addi r4, r4, 1
/* 8024D0B0 0024A010 42 00 FF FC */ bdnz lbl_8024D0AC
lbl_8024D0B4:
/* 8024D0B4 0024A014 38 00 00 00 */ li r0, 0
/* 8024D0B8 0024A018 90 03 00 00 */ stw r0, 0(r3)
lbl_8024D0BC:
/* 8024D0BC 0024A01C 48 0C 88 75 */ bl Free__7CMemoryFPCv
lbl_8024D0C0:
/* 8024D0C0 0024A020 88 61 00 08 */ lbz r3, 8(r1)
/* 8024D0C4 0024A024 38 00 00 00 */ li r0, 0
/* 8024D0C8 0024A028 98 7F 00 00 */ stb r3, 0(r31)
/* 8024D0CC 0024A02C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024D0D0 0024A030 90 7F 00 04 */ stw r3, 4(r31)
/* 8024D0D4 0024A034 98 01 00 08 */ stb r0, 8(r1)
lbl_8024D0D8:
/* 8024D0D8 0024A038 88 01 00 08 */ lbz r0, 8(r1)
/* 8024D0DC 0024A03C 28 00 00 00 */ cmplwi r0, 0
/* 8024D0E0 0024A040 41 82 00 70 */ beq lbl_8024D150
/* 8024D0E4 0024A044 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024D0E8 0024A048 28 03 00 00 */ cmplwi r3, 0
/* 8024D0EC 0024A04C 41 82 00 64 */ beq lbl_8024D150
/* 8024D0F0 0024A050 41 82 00 5C */ beq lbl_8024D14C
/* 8024D0F4 0024A054 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024D0F8 0024A058 38 80 00 00 */ li r4, 0
/* 8024D0FC 0024A05C 2C 06 00 00 */ cmpwi r6, 0
/* 8024D100 0024A060 40 81 00 44 */ ble lbl_8024D144
/* 8024D104 0024A064 2C 06 00 08 */ cmpwi r6, 8
/* 8024D108 0024A068 38 A6 FF F8 */ addi r5, r6, -8
/* 8024D10C 0024A06C 40 81 00 20 */ ble lbl_8024D12C
/* 8024D110 0024A070 38 05 00 07 */ addi r0, r5, 7
/* 8024D114 0024A074 54 00 E8 FE */ srwi r0, r0, 3
/* 8024D118 0024A078 7C 09 03 A6 */ mtctr r0
/* 8024D11C 0024A07C 2C 05 00 00 */ cmpwi r5, 0
/* 8024D120 0024A080 40 81 00 0C */ ble lbl_8024D12C
lbl_8024D124:
/* 8024D124 0024A084 38 84 00 08 */ addi r4, r4, 8
/* 8024D128 0024A088 42 00 FF FC */ bdnz lbl_8024D124
lbl_8024D12C:
/* 8024D12C 0024A08C 7C 04 30 50 */ subf r0, r4, r6
/* 8024D130 0024A090 7C 09 03 A6 */ mtctr r0
/* 8024D134 0024A094 7C 04 30 00 */ cmpw r4, r6
/* 8024D138 0024A098 40 80 00 0C */ bge lbl_8024D144
lbl_8024D13C:
/* 8024D13C 0024A09C 38 84 00 01 */ addi r4, r4, 1
/* 8024D140 0024A0A0 42 00 FF FC */ bdnz lbl_8024D13C
lbl_8024D144:
/* 8024D144 0024A0A4 38 00 00 00 */ li r0, 0
/* 8024D148 0024A0A8 90 03 00 00 */ stw r0, 0(r3)
lbl_8024D14C:
/* 8024D14C 0024A0AC 48 0C 87 E5 */ bl Free__7CMemoryFPCv
lbl_8024D150:
/* 8024D150 0024A0B0 3B BD 00 01 */ addi r29, r29, 1
/* 8024D154 0024A0B4 3B DE 00 01 */ addi r30, r30, 1
/* 8024D158 0024A0B8 2C 1D 00 03 */ cmpwi r29, 3
/* 8024D15C 0024A0BC 3B FF 00 08 */ addi r31, r31, 8
/* 8024D160 0024A0C0 41 80 FD 70 */ blt lbl_8024CED0
/* 8024D164 0024A0C4 88 1C 01 9D */ lbz r0, 0x19d(r28)
/* 8024D168 0024A0C8 28 00 00 00 */ cmplwi r0, 0
/* 8024D16C 0024A0CC 41 82 00 0C */ beq lbl_8024D178
/* 8024D170 0024A0D0 7F 83 E3 78 */ mr r3, r28
/* 8024D174 0024A0D4 4B FF F7 0D */ bl ImportPersistentOptions__17CMemoryCardDriverFv
lbl_8024D178:
/* 8024D178 0024A0D8 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha
/* 8024D17C 0024A0DC 38 61 00 20 */ addi r3, r1, 0x20
/* 8024D180 0024A0E0 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l
/* 8024D184 0024A0E4 38 80 00 00 */ li r4, 0
/* 8024D188 0024A0E8 90 01 00 20 */ stw r0, 0x20(r1)
/* 8024D18C 0024A0EC 48 0F 1F 21 */ bl __dt__12CInputStreamFv
lbl_8024D190:
/* 8024D190 0024A0F0 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 8024D194 0024A0F4 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 8024D198 0024A0F8 83 C1 00 B8 */ lwz r30, 0xb8(r1)
/* 8024D19C 0024A0FC 83 A1 00 B4 */ lwz r29, 0xb4(r1)
/* 8024D1A0 0024A100 83 81 00 B0 */ lwz r28, 0xb0(r1)
/* 8024D1A4 0024A104 7C 08 03 A6 */ mtlr r0
/* 8024D1A8 0024A108 38 21 00 C0 */ addi r1, r1, 0xc0
/* 8024D1AC 0024A10C 4E 80 00 20 */ blr
.global InitializeFileInfo__17CMemoryCardDriverFv
InitializeFileInfo__17CMemoryCardDriverFv:
/* 8024D1B0 0024A110 94 21 FE C0 */ stwu r1, -0x140(r1)
/* 8024D1B4 0024A114 7C 08 02 A6 */ mflr r0
/* 8024D1B8 0024A118 90 01 01 44 */ stw r0, 0x144(r1)
/* 8024D1BC 0024A11C 93 E1 01 3C */ stw r31, 0x13c(r1)
/* 8024D1C0 0024A120 93 C1 01 38 */ stw r30, 0x138(r1)
/* 8024D1C4 0024A124 7C 7E 1B 78 */ mr r30, r3
/* 8024D1C8 0024A128 93 A1 01 34 */ stw r29, 0x134(r1)
/* 8024D1CC 0024A12C 83 E3 01 98 */ lwz r31, 0x198(r3)
/* 8024D1D0 0024A130 4B FF F6 0D */ bl ExportPersistentOptions__17CMemoryCardDriverFv
/* 8024D1D4 0024A134 3C 60 80 3D */ lis r3, lbl_803D47A8@ha
/* 8024D1D8 0024A138 39 63 47 A8 */ addi r11, r3, lbl_803D47A8@l
/* 8024D1DC 0024A13C 81 4B 00 00 */ lwz r10, 0(r11)
/* 8024D1E0 0024A140 81 2B 00 04 */ lwz r9, 4(r11)
/* 8024D1E4 0024A144 81 0B 00 08 */ lwz r8, 8(r11)
/* 8024D1E8 0024A148 80 EB 00 0C */ lwz r7, 0xc(r11)
/* 8024D1EC 0024A14C 80 CB 00 10 */ lwz r6, 0x10(r11)
/* 8024D1F0 0024A150 80 AB 00 14 */ lwz r5, 0x14(r11)
/* 8024D1F4 0024A154 80 8B 00 18 */ lwz r4, 0x18(r11)
/* 8024D1F8 0024A158 80 6B 00 1C */ lwz r3, 0x1c(r11)
/* 8024D1FC 0024A15C 88 0B 00 20 */ lbz r0, 0x20(r11)
/* 8024D200 0024A160 91 41 00 7C */ stw r10, 0x7c(r1)
/* 8024D204 0024A164 91 21 00 80 */ stw r9, 0x80(r1)
/* 8024D208 0024A168 91 01 00 84 */ stw r8, 0x84(r1)
/* 8024D20C 0024A16C 90 E1 00 88 */ stw r7, 0x88(r1)
/* 8024D210 0024A170 90 C1 00 8C */ stw r6, 0x8c(r1)
/* 8024D214 0024A174 90 A1 00 90 */ stw r5, 0x90(r1)
/* 8024D218 0024A178 90 81 00 94 */ stw r4, 0x94(r1)
/* 8024D21C 0024A17C 90 61 00 98 */ stw r3, 0x98(r1)
/* 8024D220 0024A180 98 01 00 9C */ stb r0, 0x9c(r1)
/* 8024D224 0024A184 48 13 81 85 */ bl OSGetTime
/* 8024D228 0024A188 38 A1 00 54 */ addi r5, r1, 0x54
/* 8024D22C 0024A18C 48 13 83 F5 */ bl OSTicksToCalendarTime
/* 8024D230 0024A190 3C 60 51 EC */ lis r3, 0x51EB851F@ha
/* 8024D234 0024A194 80 E1 00 68 */ lwz r7, 0x68(r1)
/* 8024D238 0024A198 38 03 85 1F */ addi r0, r3, 0x51EB851F@l
/* 8024D23C 0024A19C 81 41 00 64 */ lwz r10, 0x64(r1)
/* 8024D240 0024A1A0 7C 00 38 96 */ mulhw r0, r0, r7
/* 8024D244 0024A1A4 3C 80 80 3D */ lis r4, lbl_803D47CC@ha
/* 8024D248 0024A1A8 80 C1 00 60 */ lwz r6, 0x60(r1)
/* 8024D24C 0024A1AC 38 61 00 30 */ addi r3, r1, 0x30
/* 8024D250 0024A1B0 38 84 47 CC */ addi r4, r4, lbl_803D47CC@l
/* 8024D254 0024A1B4 81 01 00 5C */ lwz r8, 0x5c(r1)
/* 8024D258 0024A1B8 7C 00 2E 70 */ srawi r0, r0, 5
/* 8024D25C 0024A1BC 81 21 00 58 */ lwz r9, 0x58(r1)
/* 8024D260 0024A1C0 54 05 0F FE */ srwi r5, r0, 0x1f
/* 8024D264 0024A1C4 38 84 02 A8 */ addi r4, r4, 0x2a8
/* 8024D268 0024A1C8 7C 00 2A 14 */ add r0, r0, r5
/* 8024D26C 0024A1CC 38 AA 00 01 */ addi r5, r10, 1
/* 8024D270 0024A1D0 1C 00 00 64 */ mulli r0, r0, 0x64
/* 8024D274 0024A1D4 7C E0 38 50 */ subf r7, r0, r7
/* 8024D278 0024A1D8 4C C6 31 82 */ crclr 6
/* 8024D27C 0024A1DC 48 14 0A 61 */ bl sprintf
/* 8024D280 0024A1E0 38 61 00 20 */ addi r3, r1, 0x20
/* 8024D284 0024A1E4 38 81 00 7C */ addi r4, r1, 0x7c
/* 8024D288 0024A1E8 4B DB 7A 31 */ bl string_l__4rstlFPCc
/* 8024D28C 0024A1EC 38 61 00 10 */ addi r3, r1, 0x10
/* 8024D290 0024A1F0 38 81 00 20 */ addi r4, r1, 0x20
/* 8024D294 0024A1F4 38 A1 00 30 */ addi r5, r1, 0x30
/* 8024D298 0024A1F8 4B FB EE 5D */ bl "__pl__4rstlFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>PCc"
/* 8024D29C 0024A1FC 7F E3 FB 78 */ mr r3, r31
/* 8024D2A0 0024A200 38 81 00 10 */ addi r4, r1, 0x10
/* 8024D2A4 0024A204 48 10 12 69 */ bl SetComment__13CCardFileInfoFv
/* 8024D2A8 0024A208 38 61 00 10 */ addi r3, r1, 0x10
/* 8024D2AC 0024A20C 48 0F 08 35 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8024D2B0 0024A210 38 61 00 20 */ addi r3, r1, 0x20
/* 8024D2B4 0024A214 48 0F 08 2D */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8024D2B8 0024A218 80 9E 00 04 */ lwz r4, 4(r30)
/* 8024D2BC 0024A21C 7F E3 FB 78 */ mr r3, r31
/* 8024D2C0 0024A220 80 AD A0 64 */ lwz r5, gpSimplePool@sda21(r13)
/* 8024D2C4 0024A224 48 10 0E 45 */ bl LockBannerToken__13CCardFileInfoFiR11CSimplePool
/* 8024D2C8 0024A228 80 9E 00 08 */ lwz r4, 8(r30)
/* 8024D2CC 0024A22C 7F E3 FB 78 */ mr r3, r31
/* 8024D2D0 0024A230 80 CD A0 64 */ lwz r6, gpSimplePool@sda21(r13)
/* 8024D2D4 0024A234 38 A0 00 02 */ li r5, 2
/* 8024D2D8 0024A238 48 10 0D 91 */ bl LockIconToken__13CCardFileInfoFiiR11CSimplePool
/* 8024D2DC 0024A23C 80 7E 01 98 */ lwz r3, 0x198(r30)
/* 8024D2E0 0024A240 38 80 0B BC */ li r4, 0xbbc
/* 8024D2E4 0024A244 38 AD 97 11 */ addi r5, r13, lbl_805A82D1@sda21
/* 8024D2E8 0024A248 3B E3 00 F4 */ addi r31, r3, 0xf4
/* 8024D2EC 0024A24C 7F E3 FB 78 */ mr r3, r31
/* 8024D2F0 0024A250 4B F8 69 2D */ bl "resize__Q24rstl37vector<Uc,Q24rstl17rmemory_allocator>FiRCUc"
/* 8024D2F4 0024A254 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 8024D2F8 0024A258 38 61 00 A0 */ addi r3, r1, 0xa0
/* 8024D2FC 0024A25C 38 A0 0B BC */ li r5, 0xbbc
/* 8024D300 0024A260 38 C0 00 01 */ li r6, 1
/* 8024D304 0024A264 38 E0 10 00 */ li r7, 0x1000
/* 8024D308 0024A268 48 0F 20 35 */ bl __ct__16CMemoryStreamOutFPvUlQ216CMemoryStreamOut10EOwnerShipi
/* 8024D30C 0024A26C 38 61 00 08 */ addi r3, r1, 8
/* 8024D310 0024A270 38 80 00 00 */ li r4, 0
/* 8024D314 0024A274 4B FF F4 C1 */ bl __ct__11SSaveHeaderFi
/* 8024D318 0024A278 80 1E 00 EC */ lwz r0, 0xec(r30)
/* 8024D31C 0024A27C 3B FE 00 E8 */ addi r31, r30, 0xe8
/* 8024D320 0024A280 38 61 00 08 */ addi r3, r1, 8
/* 8024D324 0024A284 38 81 00 A0 */ addi r4, r1, 0xa0
/* 8024D328 0024A288 7C 00 00 34 */ cntlzw r0, r0
/* 8024D32C 0024A28C 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 8024D330 0024A290 7C 00 00 34 */ cntlzw r0, r0
/* 8024D334 0024A294 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 8024D338 0024A298 98 01 00 0C */ stb r0, 0xc(r1)
/* 8024D33C 0024A29C 80 1E 00 F4 */ lwz r0, 0xf4(r30)
/* 8024D340 0024A2A0 7C 00 00 34 */ cntlzw r0, r0
/* 8024D344 0024A2A4 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 8024D348 0024A2A8 7C 00 00 34 */ cntlzw r0, r0
/* 8024D34C 0024A2AC 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 8024D350 0024A2B0 98 01 00 0D */ stb r0, 0xd(r1)
/* 8024D354 0024A2B4 80 BE 00 FC */ lwz r5, 0xfc(r30)
/* 8024D358 0024A2B8 7C 05 00 D0 */ neg r0, r5
/* 8024D35C 0024A2BC 7C 00 2B 78 */ or r0, r0, r5
/* 8024D360 0024A2C0 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8024D364 0024A2C4 98 01 00 0E */ stb r0, 0xe(r1)
/* 8024D368 0024A2C8 4B FF F3 39 */ bl DoPut__11SSaveHeaderFv
/* 8024D36C 0024A2CC 38 61 00 A0 */ addi r3, r1, 0xa0
/* 8024D370 0024A2D0 48 0F 21 49 */ bl FlushShiftRegister__13COutputStreamFv
/* 8024D374 0024A2D4 38 61 00 A0 */ addi r3, r1, 0xa0
/* 8024D378 0024A2D8 38 9E 00 34 */ addi r4, r30, 0x34
/* 8024D37C 0024A2DC 38 A0 00 AE */ li r5, 0xae
/* 8024D380 0024A2E0 48 0F 22 29 */ bl DoPut__13COutputStreamFPCvUl
/* 8024D384 0024A2E4 7F FD FB 78 */ mr r29, r31
/* 8024D388 0024A2E8 48 00 00 1C */ b lbl_8024D3A4
lbl_8024D38C:
/* 8024D38C 0024A2EC 80 7D 00 04 */ lwz r3, 4(r29)
/* 8024D390 0024A2F0 28 03 00 00 */ cmplwi r3, 0
/* 8024D394 0024A2F4 41 82 00 0C */ beq lbl_8024D3A0
/* 8024D398 0024A2F8 38 81 00 A0 */ addi r4, r1, 0xa0
/* 8024D39C 0024A2FC 4B FF F0 75 */ bl DoPut__13SGameFileSlotFv
lbl_8024D3A0:
/* 8024D3A0 0024A300 3B BD 00 08 */ addi r29, r29, 8
lbl_8024D3A4:
/* 8024D3A4 0024A304 80 1E 00 E4 */ lwz r0, 0xe4(r30)
/* 8024D3A8 0024A308 54 00 18 38 */ slwi r0, r0, 3
/* 8024D3AC 0024A30C 7C 1F 02 14 */ add r0, r31, r0
/* 8024D3B0 0024A310 7C 1D 00 40 */ cmplw r29, r0
/* 8024D3B4 0024A314 40 82 FF D8 */ bne lbl_8024D38C
/* 8024D3B8 0024A318 38 61 00 A0 */ addi r3, r1, 0xa0
/* 8024D3BC 0024A31C 38 80 FF FF */ li r4, -1
/* 8024D3C0 0024A320 48 0F 1F 01 */ bl __dt__16CMemoryStreamOutFv
/* 8024D3C4 0024A324 80 01 01 44 */ lwz r0, 0x144(r1)
/* 8024D3C8 0024A328 83 E1 01 3C */ lwz r31, 0x13c(r1)
/* 8024D3CC 0024A32C 83 C1 01 38 */ lwz r30, 0x138(r1)
/* 8024D3D0 0024A330 83 A1 01 34 */ lwz r29, 0x134(r1)
/* 8024D3D4 0024A334 7C 08 03 A6 */ mtlr r0
/* 8024D3D8 0024A338 38 21 01 40 */ addi r1, r1, 0x140
/* 8024D3DC 0024A33C 4E 80 00 20 */ blr
.global StartCardFormat__17CMemoryCardDriverFv
StartCardFormat__17CMemoryCardDriverFv:
/* 8024D3E0 0024A340 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024D3E4 0024A344 7C 08 02 A6 */ mflr r0
/* 8024D3E8 0024A348 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024D3EC 0024A34C 38 00 00 00 */ li r0, 0
/* 8024D3F0 0024A350 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024D3F4 0024A354 7C 7F 1B 78 */ mr r31, r3
/* 8024D3F8 0024A358 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024D3FC 0024A35C 38 00 00 25 */ li r0, 0x25
/* 8024D400 0024A360 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024D404 0024A364 80 63 00 00 */ lwz r3, 0(r3)
/* 8024D408 0024A368 48 10 0F 41 */ bl FormatCard__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPort
/* 8024D40C 0024A36C 7C 64 1B 79 */ or. r4, r3, r3
/* 8024D410 0024A370 41 82 00 0C */ beq lbl_8024D41C
/* 8024D414 0024A374 7F E3 FB 78 */ mr r3, r31
/* 8024D418 0024A378 48 00 0A D1 */ bl UpdateCardFormat__17CMemoryCardDriverF11ECardResult
lbl_8024D41C:
/* 8024D41C 0024A37C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024D420 0024A380 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024D424 0024A384 7C 08 03 A6 */ mtlr r0
/* 8024D428 0024A388 38 21 00 10 */ addi r1, r1, 0x10
/* 8024D42C 0024A38C 4E 80 00 20 */ blr
.global StartFileDeleteAltTransactional__17CMemoryCardDriverFv
StartFileDeleteAltTransactional__17CMemoryCardDriverFv:
/* 8024D430 0024A390 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8024D434 0024A394 7C 08 02 A6 */ mflr r0
/* 8024D438 0024A398 38 82 B8 B0 */ addi r4, r2, skSaveFileNames@sda21
/* 8024D43C 0024A39C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8024D440 0024A3A0 38 00 00 00 */ li r0, 0
/* 8024D444 0024A3A4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8024D448 0024A3A8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8024D44C 0024A3AC 7C 7E 1B 78 */ mr r30, r3
/* 8024D450 0024A3B0 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024D454 0024A3B4 38 00 00 23 */ li r0, 0x23
/* 8024D458 0024A3B8 38 61 00 08 */ addi r3, r1, 8
/* 8024D45C 0024A3BC 90 1E 00 10 */ stw r0, 0x10(r30)
/* 8024D460 0024A3C0 80 1E 01 94 */ lwz r0, 0x194(r30)
/* 8024D464 0024A3C4 7C 00 00 34 */ cntlzw r0, r0
/* 8024D468 0024A3C8 54 00 E8 FA */ rlwinm r0, r0, 0x1d, 3, 0x1d
/* 8024D46C 0024A3CC 7C 84 00 2E */ lwzx r4, r4, r0
/* 8024D470 0024A3D0 4B DB 78 49 */ bl string_l__4rstlFPCc
/* 8024D474 0024A3D4 80 7E 00 00 */ lwz r3, 0(r30)
/* 8024D478 0024A3D8 38 81 00 08 */ addi r4, r1, 8
/* 8024D47C 0024A3DC 48 10 0B 35 */ bl DeleteFile__14CMemoryCardSysFiPCc
/* 8024D480 0024A3E0 7C 60 1B 78 */ mr r0, r3
/* 8024D484 0024A3E4 38 61 00 08 */ addi r3, r1, 8
/* 8024D488 0024A3E8 7C 1F 03 78 */ mr r31, r0
/* 8024D48C 0024A3EC 48 0F 06 55 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8024D490 0024A3F0 2C 1F 00 00 */ cmpwi r31, 0
/* 8024D494 0024A3F4 41 82 00 10 */ beq lbl_8024D4A4
/* 8024D498 0024A3F8 7F C3 F3 78 */ mr r3, r30
/* 8024D49C 0024A3FC 7F E4 FB 78 */ mr r4, r31
/* 8024D4A0 0024A400 48 00 0A 9D */ bl UpdateFileAltDeleteTransactional__17CMemoryCardDriverF11ECardResult
lbl_8024D4A4:
/* 8024D4A4 0024A404 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8024D4A8 0024A408 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8024D4AC 0024A40C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8024D4B0 0024A410 7C 08 03 A6 */ mtlr r0
/* 8024D4B4 0024A414 38 21 00 20 */ addi r1, r1, 0x20
/* 8024D4B8 0024A418 4E 80 00 20 */ blr
.global StartFileWriteTransactional__17CMemoryCardDriverFv
StartFileWriteTransactional__17CMemoryCardDriverFv:
/* 8024D4BC 0024A41C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024D4C0 0024A420 7C 08 02 A6 */ mflr r0
/* 8024D4C4 0024A424 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024D4C8 0024A428 38 00 00 00 */ li r0, 0
/* 8024D4CC 0024A42C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024D4D0 0024A430 7C 7F 1B 78 */ mr r31, r3
/* 8024D4D4 0024A434 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024D4D8 0024A438 38 00 00 22 */ li r0, 0x22
/* 8024D4DC 0024A43C 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024D4E0 0024A440 80 63 01 98 */ lwz r3, 0x198(r3)
/* 8024D4E4 0024A444 48 10 09 61 */ bl Write__14CMemoryCardSysFRQ214CMemoryCardSys13CCardFileInfoPCvUlUl
/* 8024D4E8 0024A448 7C 64 1B 79 */ or. r4, r3, r3
/* 8024D4EC 0024A44C 41 82 00 0C */ beq lbl_8024D4F8
/* 8024D4F0 0024A450 7F E3 FB 78 */ mr r3, r31
/* 8024D4F4 0024A454 48 00 0B ED */ bl UpdateFileWriteTransactional__17CMemoryCardDriverF11ECardResult
lbl_8024D4F8:
/* 8024D4F8 0024A458 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024D4FC 0024A45C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024D500 0024A460 7C 08 03 A6 */ mtlr r0
/* 8024D504 0024A464 38 21 00 10 */ addi r1, r1, 0x10
/* 8024D508 0024A468 4E 80 00 20 */ blr
.global StartFileCreateTransactional__17CMemoryCardDriverFv
StartFileCreateTransactional__17CMemoryCardDriverFv:
/* 8024D50C 0024A46C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8024D510 0024A470 7C 08 02 A6 */ mflr r0
/* 8024D514 0024A474 90 01 00 34 */ stw r0, 0x34(r1)
/* 8024D518 0024A478 38 00 00 00 */ li r0, 0
/* 8024D51C 0024A47C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8024D520 0024A480 7C 7F 1B 78 */ mr r31, r3
/* 8024D524 0024A484 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8024D528 0024A488 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8024D52C 0024A48C 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024D530 0024A490 38 00 00 21 */ li r0, 0x21
/* 8024D534 0024A494 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024D538 0024A498 48 00 16 B9 */ bl ClearFileInfo__17CMemoryCardDriverFv
/* 8024D53C 0024A49C 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 8024D540 0024A4A0 28 00 20 00 */ cmplwi r0, 0x2000
/* 8024D544 0024A4A4 41 80 00 10 */ blt lbl_8024D554
/* 8024D548 0024A4A8 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 8024D54C 0024A4AC 28 00 00 01 */ cmplwi r0, 1
/* 8024D550 0024A4B0 40 80 00 18 */ bge lbl_8024D568
lbl_8024D554:
/* 8024D554 0024A4B4 38 60 00 14 */ li r3, 0x14
/* 8024D558 0024A4B8 38 00 00 05 */ li r0, 5
/* 8024D55C 0024A4BC 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8024D560 0024A4C0 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8024D564 0024A4C4 48 00 00 A4 */ b lbl_8024D608
lbl_8024D568:
/* 8024D568 0024A4C8 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 8024D56C 0024A4CC 3C 60 80 3D */ lis r3, lbl_803D47CC@ha
/* 8024D570 0024A4D0 38 83 47 CC */ addi r4, r3, lbl_803D47CC@l
/* 8024D574 0024A4D4 3B A0 00 00 */ li r29, 0
/* 8024D578 0024A4D8 7C 00 00 34 */ cntlzw r0, r0
/* 8024D57C 0024A4DC 38 60 01 14 */ li r3, 0x114
/* 8024D580 0024A4E0 54 00 D9 7E */ srwi r0, r0, 5
/* 8024D584 0024A4E4 38 84 02 A1 */ addi r4, r4, 0x2a1
/* 8024D588 0024A4E8 90 1F 01 94 */ stw r0, 0x194(r31)
/* 8024D58C 0024A4EC 38 A0 00 00 */ li r5, 0
/* 8024D590 0024A4F0 48 0C 82 DD */ bl __nw__FUlPCcPCc
/* 8024D594 0024A4F4 7C 7E 1B 79 */ or. r30, r3, r3
/* 8024D598 0024A4F8 41 82 00 34 */ beq lbl_8024D5CC
/* 8024D59C 0024A4FC 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 8024D5A0 0024A500 38 82 B8 B0 */ addi r4, r2, skSaveFileNames@sda21
/* 8024D5A4 0024A504 38 61 00 08 */ addi r3, r1, 8
/* 8024D5A8 0024A508 54 00 10 3A */ slwi r0, r0, 2
/* 8024D5AC 0024A50C 7C 84 00 2E */ lwzx r4, r4, r0
/* 8024D5B0 0024A510 4B DB 77 09 */ bl string_l__4rstlFPCc
/* 8024D5B4 0024A514 80 9F 00 00 */ lwz r4, 0(r31)
/* 8024D5B8 0024A518 7F C3 F3 78 */ mr r3, r30
/* 8024D5BC 0024A51C 38 A1 00 08 */ addi r5, r1, 8
/* 8024D5C0 0024A520 3B A0 00 01 */ li r29, 1
/* 8024D5C4 0024A524 48 10 0C 35 */ bl __ct__13CCardFileInfoFRCQ24rstl6string
/* 8024D5C8 0024A528 7C 7E 1B 78 */ mr r30, r3
lbl_8024D5CC:
/* 8024D5CC 0024A52C 7F C4 F3 78 */ mr r4, r30
/* 8024D5D0 0024A530 38 7F 01 98 */ addi r3, r31, 0x198
/* 8024D5D4 0024A534 48 00 00 51 */ bl sub_8024d624
/* 8024D5D8 0024A538 7F A0 07 75 */ extsb. r0, r29
/* 8024D5DC 0024A53C 41 82 00 0C */ beq lbl_8024D5E8
/* 8024D5E0 0024A540 38 61 00 08 */ addi r3, r1, 8
/* 8024D5E4 0024A544 48 0F 04 FD */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8024D5E8:
/* 8024D5E8 0024A548 7F E3 FB 78 */ mr r3, r31
/* 8024D5EC 0024A54C 4B FF FB C5 */ bl InitializeFileInfo__17CMemoryCardDriverFv
/* 8024D5F0 0024A550 80 7F 01 98 */ lwz r3, 0x198(r31)
/* 8024D5F4 0024A554 48 10 09 E5 */ bl "CreateFile__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UiRQ214CMemoryCardSys13CCardFileInfo"
/* 8024D5F8 0024A558 7C 64 1B 79 */ or. r4, r3, r3
/* 8024D5FC 0024A55C 41 82 00 0C */ beq lbl_8024D608
/* 8024D600 0024A560 7F E3 FB 78 */ mr r3, r31
/* 8024D604 0024A564 48 00 0B 85 */ bl UpdateFileCreateTransactional__17CMemoryCardDriverF11ECardResult
lbl_8024D608:
/* 8024D608 0024A568 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8024D60C 0024A56C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8024D610 0024A570 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8024D614 0024A574 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8024D618 0024A578 7C 08 03 A6 */ mtlr r0
/* 8024D61C 0024A57C 38 21 00 30 */ addi r1, r1, 0x30
/* 8024D620 0024A580 4E 80 00 20 */ blr
.global sub_8024d624
sub_8024d624:
/* 8024D624 0024A584 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024D628 0024A588 7C 08 02 A6 */ mflr r0
/* 8024D62C 0024A58C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024D630 0024A590 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024D634 0024A594 7C 9F 23 78 */ mr r31, r4
/* 8024D638 0024A598 38 80 00 01 */ li r4, 1
/* 8024D63C 0024A59C 93 C1 00 08 */ stw r30, 8(r1)
/* 8024D640 0024A5A0 7C 7E 1B 78 */ mr r30, r3
/* 8024D644 0024A5A4 80 63 00 00 */ lwz r3, 0(r3)
/* 8024D648 0024A5A8 48 00 00 25 */ bl __dt__13CCardFileInfoFv
/* 8024D64C 0024A5AC 93 FE 00 00 */ stw r31, 0(r30)
/* 8024D650 0024A5B0 7F C3 F3 78 */ mr r3, r30
/* 8024D654 0024A5B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024D658 0024A5B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024D65C 0024A5BC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024D660 0024A5C0 7C 08 03 A6 */ mtlr r0
/* 8024D664 0024A5C4 38 21 00 10 */ addi r1, r1, 0x10
/* 8024D668 0024A5C8 4E 80 00 20 */ blr
.global __dt__13CCardFileInfoFv
__dt__13CCardFileInfoFv:
/* 8024D66C 0024A5CC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8024D670 0024A5D0 7C 08 02 A6 */ mflr r0
/* 8024D674 0024A5D4 90 01 00 44 */ stw r0, 0x44(r1)
/* 8024D678 0024A5D8 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8024D67C 0024A5DC 7C 9F 23 78 */ mr r31, r4
/* 8024D680 0024A5E0 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8024D684 0024A5E4 7C 7E 1B 79 */ or. r30, r3, r3
/* 8024D688 0024A5E8 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8024D68C 0024A5EC 93 81 00 30 */ stw r28, 0x30(r1)
/* 8024D690 0024A5F0 41 82 01 3C */ beq lbl_8024D7CC
/* 8024D694 0024A5F4 34 1E 01 04 */ addic. r0, r30, 0x104
/* 8024D698 0024A5F8 41 82 00 38 */ beq lbl_8024D6D0
/* 8024D69C 0024A5FC 80 7E 01 10 */ lwz r3, 0x110(r30)
/* 8024D6A0 0024A600 80 1E 01 08 */ lwz r0, 0x108(r30)
/* 8024D6A4 0024A604 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8024D6A8 0024A608 7C 83 02 14 */ add r4, r3, r0
/* 8024D6AC 0024A60C 7C 03 20 50 */ subf r0, r3, r4
/* 8024D6B0 0024A610 90 81 00 24 */ stw r4, 0x24(r1)
/* 8024D6B4 0024A614 90 81 00 20 */ stw r4, 0x20(r1)
/* 8024D6B8 0024A618 90 61 00 18 */ stw r3, 0x18(r1)
/* 8024D6BC 0024A61C 7C 09 03 A6 */ mtctr r0
/* 8024D6C0 0024A620 7C 03 20 40 */ cmplw r3, r4
/* 8024D6C4 0024A624 41 82 00 08 */ beq lbl_8024D6CC
lbl_8024D6C8:
/* 8024D6C8 0024A628 42 00 00 00 */ bdnz lbl_8024D6C8
lbl_8024D6CC:
/* 8024D6CC 0024A62C 48 0C 82 65 */ bl Free__7CMemoryFPCv
lbl_8024D6D0:
/* 8024D6D0 0024A630 34 1E 00 F4 */ addic. r0, r30, 0xf4
/* 8024D6D4 0024A634 41 82 00 40 */ beq lbl_8024D714
/* 8024D6D8 0024A638 80 7E 01 00 */ lwz r3, 0x100(r30)
/* 8024D6DC 0024A63C 80 1E 00 F8 */ lwz r0, 0xf8(r30)
/* 8024D6E0 0024A640 90 61 00 0C */ stw r3, 0xc(r1)
/* 8024D6E4 0024A644 7C 83 02 14 */ add r4, r3, r0
/* 8024D6E8 0024A648 7C 03 20 50 */ subf r0, r3, r4
/* 8024D6EC 0024A64C 90 81 00 14 */ stw r4, 0x14(r1)
/* 8024D6F0 0024A650 90 81 00 10 */ stw r4, 0x10(r1)
/* 8024D6F4 0024A654 90 61 00 08 */ stw r3, 8(r1)
/* 8024D6F8 0024A658 7C 09 03 A6 */ mtctr r0
/* 8024D6FC 0024A65C 7C 03 20 40 */ cmplw r3, r4
/* 8024D700 0024A660 41 82 00 08 */ beq lbl_8024D708
lbl_8024D704:
/* 8024D704 0024A664 42 00 00 00 */ bdnz lbl_8024D704
lbl_8024D708:
/* 8024D708 0024A668 28 03 00 00 */ cmplwi r3, 0
/* 8024D70C 0024A66C 41 82 00 08 */ beq lbl_8024D714
/* 8024D710 0024A670 48 0C 82 21 */ bl Free__7CMemoryFPCv
lbl_8024D714:
/* 8024D714 0024A674 34 1E 00 50 */ addic. r0, r30, 0x50
/* 8024D718 0024A678 41 82 00 50 */ beq lbl_8024D768
/* 8024D71C 0024A67C 3B 9E 00 54 */ addi r28, r30, 0x54
/* 8024D720 0024A680 3B A0 00 00 */ li r29, 0
/* 8024D724 0024A684 48 00 00 30 */ b lbl_8024D754
lbl_8024D728:
/* 8024D728 0024A688 28 1C 00 00 */ cmplwi r28, 0
/* 8024D72C 0024A68C 41 82 00 20 */ beq lbl_8024D74C
/* 8024D730 0024A690 34 1C 00 08 */ addic. r0, r28, 8
/* 8024D734 0024A694 41 82 00 18 */ beq lbl_8024D74C
/* 8024D738 0024A698 34 1C 00 08 */ addic. r0, r28, 8
/* 8024D73C 0024A69C 41 82 00 10 */ beq lbl_8024D74C
/* 8024D740 0024A6A0 38 7C 00 08 */ addi r3, r28, 8
/* 8024D744 0024A6A4 38 80 00 00 */ li r4, 0
/* 8024D748 0024A6A8 48 0F 36 F9 */ bl __dt__6CTokenFv
lbl_8024D74C:
/* 8024D74C 0024A6AC 3B 9C 00 14 */ addi r28, r28, 0x14
/* 8024D750 0024A6B0 3B BD 00 01 */ addi r29, r29, 1
lbl_8024D754:
/* 8024D754 0024A6B4 80 1E 00 50 */ lwz r0, 0x50(r30)
/* 8024D758 0024A6B8 7C 1D 00 00 */ cmpw r29, r0
/* 8024D75C 0024A6BC 41 80 FF CC */ blt lbl_8024D728
/* 8024D760 0024A6C0 38 00 00 00 */ li r0, 0
/* 8024D764 0024A6C4 90 1E 00 50 */ stw r0, 0x50(r30)
lbl_8024D768:
/* 8024D768 0024A6C8 34 1E 00 40 */ addic. r0, r30, 0x40
/* 8024D76C 0024A6CC 41 82 00 30 */ beq lbl_8024D79C
/* 8024D770 0024A6D0 88 1E 00 4C */ lbz r0, 0x4c(r30)
/* 8024D774 0024A6D4 28 00 00 00 */ cmplwi r0, 0
/* 8024D778 0024A6D8 41 82 00 1C */ beq lbl_8024D794
/* 8024D77C 0024A6DC 34 7E 00 40 */ addic. r3, r30, 0x40
/* 8024D780 0024A6E0 41 82 00 14 */ beq lbl_8024D794
/* 8024D784 0024A6E4 28 03 00 00 */ cmplwi r3, 0
/* 8024D788 0024A6E8 41 82 00 0C */ beq lbl_8024D794
/* 8024D78C 0024A6EC 38 80 00 00 */ li r4, 0
/* 8024D790 0024A6F0 48 0F 36 B1 */ bl __dt__6CTokenFv
lbl_8024D794:
/* 8024D794 0024A6F4 38 00 00 00 */ li r0, 0
/* 8024D798 0024A6F8 98 1E 00 4C */ stb r0, 0x4c(r30)
lbl_8024D79C:
/* 8024D79C 0024A6FC 34 1E 00 28 */ addic. r0, r30, 0x28
/* 8024D7A0 0024A700 41 82 00 0C */ beq lbl_8024D7AC
/* 8024D7A4 0024A704 38 7E 00 28 */ addi r3, r30, 0x28
/* 8024D7A8 0024A708 48 0F 03 39 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8024D7AC:
/* 8024D7AC 0024A70C 34 1E 00 18 */ addic. r0, r30, 0x18
/* 8024D7B0 0024A710 41 82 00 0C */ beq lbl_8024D7BC
/* 8024D7B4 0024A714 38 7E 00 18 */ addi r3, r30, 0x18
/* 8024D7B8 0024A718 48 0F 03 29 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8024D7BC:
/* 8024D7BC 0024A71C 7F E0 07 35 */ extsh. r0, r31
/* 8024D7C0 0024A720 40 81 00 0C */ ble lbl_8024D7CC
/* 8024D7C4 0024A724 7F C3 F3 78 */ mr r3, r30
/* 8024D7C8 0024A728 48 0C 81 69 */ bl Free__7CMemoryFPCv
lbl_8024D7CC:
/* 8024D7CC 0024A72C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8024D7D0 0024A730 7F C3 F3 78 */ mr r3, r30
/* 8024D7D4 0024A734 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8024D7D8 0024A738 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8024D7DC 0024A73C 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8024D7E0 0024A740 83 81 00 30 */ lwz r28, 0x30(r1)
/* 8024D7E4 0024A744 7C 08 03 A6 */ mtlr r0
/* 8024D7E8 0024A748 38 21 00 40 */ addi r1, r1, 0x40
/* 8024D7EC 0024A74C 4E 80 00 20 */ blr
.global StartFileWrite__17CMemoryCardDriverFv
StartFileWrite__17CMemoryCardDriverFv:
/* 8024D7F0 0024A750 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024D7F4 0024A754 7C 08 02 A6 */ mflr r0
/* 8024D7F8 0024A758 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024D7FC 0024A75C 38 00 00 00 */ li r0, 0
/* 8024D800 0024A760 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024D804 0024A764 7C 7F 1B 78 */ mr r31, r3
/* 8024D808 0024A768 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024D80C 0024A76C 38 00 00 20 */ li r0, 0x20
/* 8024D810 0024A770 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024D814 0024A774 80 63 01 98 */ lwz r3, 0x198(r3)
/* 8024D818 0024A778 48 10 06 2D */ bl Write__14CMemoryCardSysFRQ214CMemoryCardSys13CCardFileInfoPCvUlUl
/* 8024D81C 0024A77C 7C 64 1B 79 */ or. r4, r3, r3
/* 8024D820 0024A780 41 82 00 0C */ beq lbl_8024D82C
/* 8024D824 0024A784 7F E3 FB 78 */ mr r3, r31
/* 8024D828 0024A788 48 00 09 9D */ bl UpdateFileWrite__17CMemoryCardDriverF11ECardResult
lbl_8024D82C:
/* 8024D82C 0024A78C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024D830 0024A790 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024D834 0024A794 7C 08 03 A6 */ mtlr r0
/* 8024D838 0024A798 38 21 00 10 */ addi r1, r1, 0x10
/* 8024D83C 0024A79C 4E 80 00 20 */ blr
.global StartFileCreate__17CMemoryCardDriverFv
StartFileCreate__17CMemoryCardDriverFv:
/* 8024D840 0024A7A0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8024D844 0024A7A4 7C 08 02 A6 */ mflr r0
/* 8024D848 0024A7A8 38 80 00 00 */ li r4, 0
/* 8024D84C 0024A7AC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8024D850 0024A7B0 38 00 00 1F */ li r0, 0x1f
/* 8024D854 0024A7B4 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8024D858 0024A7B8 7C 7F 1B 78 */ mr r31, r3
/* 8024D85C 0024A7BC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8024D860 0024A7C0 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8024D864 0024A7C4 90 83 00 14 */ stw r4, 0x14(r3)
/* 8024D868 0024A7C8 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024D86C 0024A7CC 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8024D870 0024A7D0 28 00 40 00 */ cmplwi r0, 0x4000
/* 8024D874 0024A7D4 41 80 00 10 */ blt lbl_8024D884
/* 8024D878 0024A7D8 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 8024D87C 0024A7DC 28 00 00 02 */ cmplwi r0, 2
/* 8024D880 0024A7E0 40 80 00 18 */ bge lbl_8024D898
lbl_8024D884:
/* 8024D884 0024A7E4 38 60 00 12 */ li r3, 0x12
/* 8024D888 0024A7E8 38 00 00 05 */ li r0, 5
/* 8024D88C 0024A7EC 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8024D890 0024A7F0 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8024D894 0024A7F4 48 00 00 98 */ b lbl_8024D92C
lbl_8024D898:
/* 8024D898 0024A7F8 3C 60 80 3D */ lis r3, lbl_803D47CC@ha
/* 8024D89C 0024A7FC 90 9F 01 94 */ stw r4, 0x194(r31)
/* 8024D8A0 0024A800 38 63 47 CC */ addi r3, r3, lbl_803D47CC@l
/* 8024D8A4 0024A804 3B A0 00 00 */ li r29, 0
/* 8024D8A8 0024A808 38 83 02 A1 */ addi r4, r3, 0x2a1
/* 8024D8AC 0024A80C 38 60 01 14 */ li r3, 0x114
/* 8024D8B0 0024A810 38 A0 00 00 */ li r5, 0
/* 8024D8B4 0024A814 48 0C 7F B9 */ bl __nw__FUlPCcPCc
/* 8024D8B8 0024A818 7C 7E 1B 79 */ or. r30, r3, r3
/* 8024D8BC 0024A81C 41 82 00 34 */ beq lbl_8024D8F0
/* 8024D8C0 0024A820 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 8024D8C4 0024A824 38 82 B8 B0 */ addi r4, r2, skSaveFileNames@sda21
/* 8024D8C8 0024A828 38 61 00 08 */ addi r3, r1, 8
/* 8024D8CC 0024A82C 54 00 10 3A */ slwi r0, r0, 2
/* 8024D8D0 0024A830 7C 84 00 2E */ lwzx r4, r4, r0
/* 8024D8D4 0024A834 4B DB 73 E5 */ bl string_l__4rstlFPCc
/* 8024D8D8 0024A838 80 9F 00 00 */ lwz r4, 0(r31)
/* 8024D8DC 0024A83C 7F C3 F3 78 */ mr r3, r30
/* 8024D8E0 0024A840 38 A1 00 08 */ addi r5, r1, 8
/* 8024D8E4 0024A844 3B A0 00 01 */ li r29, 1
/* 8024D8E8 0024A848 48 10 09 11 */ bl __ct__13CCardFileInfoFRCQ24rstl6string
/* 8024D8EC 0024A84C 7C 7E 1B 78 */ mr r30, r3
lbl_8024D8F0:
/* 8024D8F0 0024A850 7F C4 F3 78 */ mr r4, r30
/* 8024D8F4 0024A854 38 7F 01 98 */ addi r3, r31, 0x198
/* 8024D8F8 0024A858 4B FF FD 2D */ bl sub_8024d624
/* 8024D8FC 0024A85C 7F A0 07 75 */ extsb. r0, r29
/* 8024D900 0024A860 41 82 00 0C */ beq lbl_8024D90C
/* 8024D904 0024A864 38 61 00 08 */ addi r3, r1, 8
/* 8024D908 0024A868 48 0F 01 D9 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8024D90C:
/* 8024D90C 0024A86C 7F E3 FB 78 */ mr r3, r31
/* 8024D910 0024A870 4B FF F8 A1 */ bl InitializeFileInfo__17CMemoryCardDriverFv
/* 8024D914 0024A874 80 7F 01 98 */ lwz r3, 0x198(r31)
/* 8024D918 0024A878 48 10 06 C1 */ bl "CreateFile__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UiRQ214CMemoryCardSys13CCardFileInfo"
/* 8024D91C 0024A87C 7C 64 1B 79 */ or. r4, r3, r3
/* 8024D920 0024A880 41 82 00 0C */ beq lbl_8024D92C
/* 8024D924 0024A884 7F E3 FB 78 */ mr r3, r31
/* 8024D928 0024A888 48 00 09 39 */ bl UpdateFileCreate__17CMemoryCardDriverF11ECardResult
lbl_8024D92C:
/* 8024D92C 0024A88C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8024D930 0024A890 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8024D934 0024A894 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8024D938 0024A898 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8024D93C 0024A89C 7C 08 03 A6 */ mtlr r0
/* 8024D940 0024A8A0 38 21 00 30 */ addi r1, r1, 0x30
/* 8024D944 0024A8A4 4E 80 00 20 */ blr
.global StartFileRead__17CMemoryCardDriverFv
StartFileRead__17CMemoryCardDriverFv:
/* 8024D948 0024A8A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024D94C 0024A8AC 7C 08 02 A6 */ mflr r0
/* 8024D950 0024A8B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024D954 0024A8B4 38 00 00 00 */ li r0, 0
/* 8024D958 0024A8B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024D95C 0024A8BC 93 C1 00 08 */ stw r30, 8(r1)
/* 8024D960 0024A8C0 7C 7E 1B 78 */ mr r30, r3
/* 8024D964 0024A8C4 3B FE 01 04 */ addi r31, r30, 0x104
/* 8024D968 0024A8C8 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024D96C 0024A8CC 38 00 00 1D */ li r0, 0x1d
/* 8024D970 0024A8D0 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024D974 0024A8D4 80 03 01 94 */ lwz r0, 0x194(r3)
/* 8024D978 0024A8D8 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8024D97C 0024A8DC 7C 7F 02 14 */ add r3, r31, r0
/* 8024D980 0024A8E0 38 63 00 04 */ addi r3, r3, 4
/* 8024D984 0024A8E4 48 10 06 AD */ bl "Open__19SMemoryCardFileInfoFv"
/* 8024D988 0024A8E8 7C 64 1B 79 */ or. r4, r3, r3
/* 8024D98C 0024A8EC 41 82 00 10 */ beq lbl_8024D99C
/* 8024D990 0024A8F0 7F C3 F3 78 */ mr r3, r30
/* 8024D994 0024A8F4 48 00 09 F9 */ bl UpdateFileRead__17CMemoryCardDriverF11ECardResult
/* 8024D998 0024A8F8 48 00 00 28 */ b lbl_8024D9C0
lbl_8024D99C:
/* 8024D99C 0024A8FC 80 1E 01 94 */ lwz r0, 0x194(r30)
/* 8024D9A0 0024A900 1C 60 00 48 */ mulli r3, r0, 0x48
/* 8024D9A4 0024A904 38 63 00 04 */ addi r3, r3, 4
/* 8024D9A8 0024A908 7C 7F 1A 14 */ add r3, r31, r3
/* 8024D9AC 0024A90C 48 0F FF 45 */ bl StartRead__19SMemoryCardFileInfoFv
/* 8024D9B0 0024A910 7C 64 1B 79 */ or. r4, r3, r3
/* 8024D9B4 0024A914 41 82 00 0C */ beq lbl_8024D9C0
/* 8024D9B8 0024A918 7F C3 F3 78 */ mr r3, r30
/* 8024D9BC 0024A91C 48 00 09 D1 */ bl UpdateFileRead__17CMemoryCardDriverF11ECardResult
lbl_8024D9C0:
/* 8024D9C0 0024A920 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024D9C4 0024A924 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024D9C8 0024A928 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024D9CC 0024A92C 7C 08 03 A6 */ mtlr r0
/* 8024D9D0 0024A930 38 21 00 10 */ addi r1, r1, 0x10
/* 8024D9D4 0024A934 4E 80 00 20 */ blr
.global StartFileDeleteAlt__17CMemoryCardDriverFv
StartFileDeleteAlt__17CMemoryCardDriverFv:
/* 8024D9D8 0024A938 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024D9DC 0024A93C 7C 08 02 A6 */ mflr r0
/* 8024D9E0 0024A940 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024D9E4 0024A944 38 00 00 00 */ li r0, 0
/* 8024D9E8 0024A948 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024D9EC 0024A94C 7C 7F 1B 78 */ mr r31, r3
/* 8024D9F0 0024A950 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024D9F4 0024A954 38 00 00 1E */ li r0, 0x1e
/* 8024D9F8 0024A958 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024D9FC 0024A95C 80 03 01 94 */ lwz r0, 0x194(r3)
/* 8024DA00 0024A960 7C 00 00 34 */ cntlzw r0, r0
/* 8024DA04 0024A964 54 00 D9 7E */ srwi r0, r0, 5
/* 8024DA08 0024A968 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8024DA0C 0024A96C 7C 7F 02 14 */ add r3, r31, r0
/* 8024DA10 0024A970 38 63 01 08 */ addi r3, r3, 0x108
/* 8024DA14 0024A974 48 10 10 91 */ bl GetFileNo__19SMemoryCardFileInfoCFv
/* 8024DA18 0024A978 7C 64 1B 78 */ mr r4, r3
/* 8024DA1C 0024A97C 80 7F 00 00 */ lwz r3, 0(r31)
/* 8024DA20 0024A980 48 10 05 6D */ bl FastDeleteFile__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPorti
/* 8024DA24 0024A984 7C 64 1B 79 */ or. r4, r3, r3
/* 8024DA28 0024A988 41 82 00 0C */ beq lbl_8024DA34
/* 8024DA2C 0024A98C 7F E3 FB 78 */ mr r3, r31
/* 8024DA30 0024A990 48 00 09 05 */ bl UpdateFileDeleteAlt__17CMemoryCardDriverF11ECardResult
lbl_8024DA34:
/* 8024DA34 0024A994 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024DA38 0024A998 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024DA3C 0024A99C 7C 08 03 A6 */ mtlr r0
/* 8024DA40 0024A9A0 38 21 00 10 */ addi r1, r1, 0x10
/* 8024DA44 0024A9A4 4E 80 00 20 */ blr
.global StartFileDeleteBad__17CMemoryCardDriverFv
StartFileDeleteBad__17CMemoryCardDriverFv:
/* 8024DA48 0024A9A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024DA4C 0024A9AC 7C 08 02 A6 */ mflr r0
/* 8024DA50 0024A9B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024DA54 0024A9B4 38 00 00 00 */ li r0, 0
/* 8024DA58 0024A9B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024DA5C 0024A9BC 7C 7F 1B 78 */ mr r31, r3
/* 8024DA60 0024A9C0 38 9F 01 04 */ addi r4, r31, 0x104
/* 8024DA64 0024A9C4 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024DA68 0024A9C8 38 60 00 1C */ li r3, 0x1c
/* 8024DA6C 0024A9CC 38 00 00 02 */ li r0, 2
/* 8024DA70 0024A9D0 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8024DA74 0024A9D4 38 60 00 00 */ li r3, 0
/* 8024DA78 0024A9D8 7C 09 03 A6 */ mtctr r0
lbl_8024DA7C:
/* 8024DA7C 0024A9DC 80 04 00 00 */ lwz r0, 0(r4)
/* 8024DA80 0024A9E0 2C 00 00 03 */ cmpwi r0, 3
/* 8024DA84 0024A9E4 40 82 00 30 */ bne lbl_8024DAB4
/* 8024DA88 0024A9E8 90 7F 01 94 */ stw r3, 0x194(r31)
/* 8024DA8C 0024A9EC 38 64 00 04 */ addi r3, r4, 4
/* 8024DA90 0024A9F0 48 10 10 15 */ bl GetFileNo__19SMemoryCardFileInfoCFv
/* 8024DA94 0024A9F4 7C 64 1B 78 */ mr r4, r3
/* 8024DA98 0024A9F8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8024DA9C 0024A9FC 48 10 04 F1 */ bl FastDeleteFile__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPorti
/* 8024DAA0 0024AA00 7C 64 1B 79 */ or. r4, r3, r3
/* 8024DAA4 0024AA04 41 82 00 1C */ beq lbl_8024DAC0
/* 8024DAA8 0024AA08 7F E3 FB 78 */ mr r3, r31
/* 8024DAAC 0024AA0C 48 00 07 F1 */ bl UpdateFileDeleteBad__17CMemoryCardDriverF11ECardResult
/* 8024DAB0 0024AA10 48 00 00 10 */ b lbl_8024DAC0
lbl_8024DAB4:
/* 8024DAB4 0024AA14 38 84 00 48 */ addi r4, r4, 0x48
/* 8024DAB8 0024AA18 38 63 00 01 */ addi r3, r3, 1
/* 8024DABC 0024AA1C 42 00 FF C0 */ bdnz lbl_8024DA7C
lbl_8024DAC0:
/* 8024DAC0 0024AA20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024DAC4 0024AA24 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024DAC8 0024AA28 7C 08 03 A6 */ mtlr r0
/* 8024DACC 0024AA2C 38 21 00 10 */ addi r1, r1, 0x10
/* 8024DAD0 0024AA30 4E 80 00 20 */ blr
.global IndexFiles__17CMemoryCardDriverFv
IndexFiles__17CMemoryCardDriverFv:
/* 8024DAD4 0024AA34 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 8024DAD8 0024AA38 7C 08 02 A6 */ mflr r0
/* 8024DADC 0024AA3C 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 8024DAE0 0024AA40 38 00 00 00 */ li r0, 0
/* 8024DAE4 0024AA44 93 E1 00 EC */ stw r31, 0xec(r1)
/* 8024DAE8 0024AA48 7C 7F 1B 78 */ mr r31, r3
/* 8024DAEC 0024AA4C 93 C1 00 E8 */ stw r30, 0xe8(r1)
/* 8024DAF0 0024AA50 93 A1 00 E4 */ stw r29, 0xe4(r1)
/* 8024DAF4 0024AA54 3B BF 01 04 */ addi r29, r31, 0x104
/* 8024DAF8 0024AA58 7F BE EB 78 */ mr r30, r29
/* 8024DAFC 0024AA5C 93 81 00 E0 */ stw r28, 0xe0(r1)
/* 8024DB00 0024AA60 3B 80 00 00 */ li r28, 0
/* 8024DB04 0024AA64 90 03 00 14 */ stw r0, 0x14(r3)
lbl_8024DB08:
/* 8024DB08 0024AA68 80 1E 00 00 */ lwz r0, 0(r30)
/* 8024DB0C 0024AA6C 2C 00 00 00 */ cmpwi r0, 0
/* 8024DB10 0024AA70 40 82 00 B4 */ bne lbl_8024DBC4
/* 8024DB14 0024AA74 38 7E 00 04 */ addi r3, r30, 4
/* 8024DB18 0024AA78 48 10 05 19 */ bl "Open__19SMemoryCardFileInfoFv"
/* 8024DB1C 0024AA7C 2C 03 FF FC */ cmpwi r3, -4
/* 8024DB20 0024AA80 40 82 00 10 */ bne lbl_8024DB30
/* 8024DB24 0024AA84 38 00 00 01 */ li r0, 1
/* 8024DB28 0024AA88 90 1E 00 00 */ stw r0, 0(r30)
/* 8024DB2C 0024AA8C 48 00 00 98 */ b lbl_8024DBC4
lbl_8024DB30:
/* 8024DB30 0024AA90 2C 03 00 00 */ cmpwi r3, 0
/* 8024DB34 0024AA94 40 82 00 84 */ bne lbl_8024DBB8
/* 8024DB38 0024AA98 38 61 00 74 */ addi r3, r1, 0x74
/* 8024DB3C 0024AA9C 38 80 00 00 */ li r4, 0
/* 8024DB40 0024AAA0 38 A0 00 6C */ li r5, 0x6c
/* 8024DB44 0024AAA4 4B DB 58 65 */ bl memset
/* 8024DB48 0024AAA8 38 7E 00 04 */ addi r3, r30, 4
/* 8024DB4C 0024AAAC 48 10 0F 59 */ bl GetFileNo__19SMemoryCardFileInfoCFv
/* 8024DB50 0024AAB0 7C 64 1B 78 */ mr r4, r3
/* 8024DB54 0024AAB4 80 7F 00 00 */ lwz r3, 0(r31)
/* 8024DB58 0024AAB8 38 A1 00 74 */ addi r5, r1, 0x74
/* 8024DB5C 0024AABC 48 0F FC D5 */ bl GetStatus__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortiR8CardStat
/* 8024DB60 0024AAC0 2C 03 00 00 */ cmpwi r3, 0
/* 8024DB64 0024AAC4 40 82 00 2C */ bne lbl_8024DB90
/* 8024DB68 0024AAC8 38 61 00 74 */ addi r3, r1, 0x74
/* 8024DB6C 0024AACC 48 10 0A 31 */ bl GetCommentAddr__8CardStatCFv
/* 8024DB70 0024AAD0 2C 03 FF FF */ cmpwi r3, -1
/* 8024DB74 0024AAD4 40 82 00 10 */ bne lbl_8024DB84
/* 8024DB78 0024AAD8 38 00 00 03 */ li r0, 3
/* 8024DB7C 0024AADC 90 1E 00 00 */ stw r0, 0(r30)
/* 8024DB80 0024AAE0 48 00 00 1C */ b lbl_8024DB9C
lbl_8024DB84:
/* 8024DB84 0024AAE4 38 00 00 02 */ li r0, 2
/* 8024DB88 0024AAE8 90 1E 00 00 */ stw r0, 0(r30)
/* 8024DB8C 0024AAEC 48 00 00 10 */ b lbl_8024DB9C
lbl_8024DB90:
/* 8024DB90 0024AAF0 7F E3 FB 78 */ mr r3, r31
/* 8024DB94 0024AAF4 48 00 01 85 */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024DB98 0024AAF8 48 00 01 60 */ b lbl_8024DCF8
lbl_8024DB9C:
/* 8024DB9C 0024AAFC 38 7E 00 04 */ addi r3, r30, 4
/* 8024DBA0 0024AB00 48 10 03 A9 */ bl Close__19SMemoryCardFileInfoFv
/* 8024DBA4 0024AB04 2C 03 FF FD */ cmpwi r3, -3
/* 8024DBA8 0024AB08 40 82 00 1C */ bne lbl_8024DBC4
/* 8024DBAC 0024AB0C 7F E3 FB 78 */ mr r3, r31
/* 8024DBB0 0024AB10 48 00 01 69 */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024DBB4 0024AB14 48 00 01 44 */ b lbl_8024DCF8
lbl_8024DBB8:
/* 8024DBB8 0024AB18 7F E3 FB 78 */ mr r3, r31
/* 8024DBBC 0024AB1C 48 00 01 5D */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024DBC0 0024AB20 48 00 01 38 */ b lbl_8024DCF8
lbl_8024DBC4:
/* 8024DBC4 0024AB24 3B 9C 00 01 */ addi r28, r28, 1
/* 8024DBC8 0024AB28 3B DE 00 48 */ addi r30, r30, 0x48
/* 8024DBCC 0024AB2C 2C 1C 00 02 */ cmpwi r28, 2
/* 8024DBD0 0024AB30 41 80 FF 38 */ blt lbl_8024DB08
/* 8024DBD4 0024AB34 80 1D 00 00 */ lwz r0, 0(r29)
/* 8024DBD8 0024AB38 2C 00 00 02 */ cmpwi r0, 2
/* 8024DBDC 0024AB3C 40 82 00 C8 */ bne lbl_8024DCA4
/* 8024DBE0 0024AB40 80 1D 00 48 */ lwz r0, 0x48(r29)
/* 8024DBE4 0024AB44 2C 00 00 02 */ cmpwi r0, 2
/* 8024DBE8 0024AB48 40 82 00 A8 */ bne lbl_8024DC90
/* 8024DBEC 0024AB4C 38 61 00 08 */ addi r3, r1, 8
/* 8024DBF0 0024AB50 38 80 00 00 */ li r4, 0
/* 8024DBF4 0024AB54 38 A0 00 6C */ li r5, 0x6c
/* 8024DBF8 0024AB58 4B DB 57 B1 */ bl memset
/* 8024DBFC 0024AB5C 38 7D 00 04 */ addi r3, r29, 4
/* 8024DC00 0024AB60 48 10 0E A5 */ bl GetFileNo__19SMemoryCardFileInfoCFv
/* 8024DC04 0024AB64 7C 64 1B 78 */ mr r4, r3
/* 8024DC08 0024AB68 80 7F 00 00 */ lwz r3, 0(r31)
/* 8024DC0C 0024AB6C 38 A1 00 08 */ addi r5, r1, 8
/* 8024DC10 0024AB70 48 0F FC 21 */ bl GetStatus__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortiR8CardStat
/* 8024DC14 0024AB74 2C 03 00 00 */ cmpwi r3, 0
/* 8024DC18 0024AB78 40 82 00 6C */ bne lbl_8024DC84
/* 8024DC1C 0024AB7C 38 61 00 08 */ addi r3, r1, 8
/* 8024DC20 0024AB80 48 10 09 A5 */ bl GetTime__8CardStatCFv
/* 8024DC24 0024AB84 7C 7E 1B 78 */ mr r30, r3
/* 8024DC28 0024AB88 38 7D 00 4C */ addi r3, r29, 0x4c
/* 8024DC2C 0024AB8C 48 10 0E 79 */ bl GetFileNo__19SMemoryCardFileInfoCFv
/* 8024DC30 0024AB90 7C 64 1B 78 */ mr r4, r3
/* 8024DC34 0024AB94 80 7F 00 00 */ lwz r3, 0(r31)
/* 8024DC38 0024AB98 38 A1 00 08 */ addi r5, r1, 8
/* 8024DC3C 0024AB9C 48 0F FB F5 */ bl GetStatus__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortiR8CardStat
/* 8024DC40 0024ABA0 2C 03 00 00 */ cmpwi r3, 0
/* 8024DC44 0024ABA4 40 82 00 34 */ bne lbl_8024DC78
/* 8024DC48 0024ABA8 38 61 00 08 */ addi r3, r1, 8
/* 8024DC4C 0024ABAC 48 10 09 79 */ bl GetTime__8CardStatCFv
/* 8024DC50 0024ABB0 7C 1E 18 40 */ cmplw r30, r3
/* 8024DC54 0024ABB4 40 81 00 10 */ ble lbl_8024DC64
/* 8024DC58 0024ABB8 38 00 00 00 */ li r0, 0
/* 8024DC5C 0024ABBC 90 1F 01 94 */ stw r0, 0x194(r31)
/* 8024DC60 0024ABC0 48 00 00 0C */ b lbl_8024DC6C
lbl_8024DC64:
/* 8024DC64 0024ABC4 38 00 00 01 */ li r0, 1
/* 8024DC68 0024ABC8 90 1F 01 94 */ stw r0, 0x194(r31)
lbl_8024DC6C:
/* 8024DC6C 0024ABCC 7F E3 FB 78 */ mr r3, r31
/* 8024DC70 0024ABD0 4B FF FC D9 */ bl StartFileRead__17CMemoryCardDriverFv
/* 8024DC74 0024ABD4 48 00 00 84 */ b lbl_8024DCF8
lbl_8024DC78:
/* 8024DC78 0024ABD8 7F E3 FB 78 */ mr r3, r31
/* 8024DC7C 0024ABDC 48 00 00 9D */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024DC80 0024ABE0 48 00 00 78 */ b lbl_8024DCF8
lbl_8024DC84:
/* 8024DC84 0024ABE4 7F E3 FB 78 */ mr r3, r31
/* 8024DC88 0024ABE8 48 00 00 91 */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024DC8C 0024ABEC 48 00 00 6C */ b lbl_8024DCF8
lbl_8024DC90:
/* 8024DC90 0024ABF0 38 00 00 00 */ li r0, 0
/* 8024DC94 0024ABF4 7F E3 FB 78 */ mr r3, r31
/* 8024DC98 0024ABF8 90 1F 01 94 */ stw r0, 0x194(r31)
/* 8024DC9C 0024ABFC 4B FF FC AD */ bl StartFileRead__17CMemoryCardDriverFv
/* 8024DCA0 0024AC00 48 00 00 58 */ b lbl_8024DCF8
lbl_8024DCA4:
/* 8024DCA4 0024AC04 80 7D 00 48 */ lwz r3, 0x48(r29)
/* 8024DCA8 0024AC08 2C 03 00 02 */ cmpwi r3, 2
/* 8024DCAC 0024AC0C 40 82 00 18 */ bne lbl_8024DCC4
/* 8024DCB0 0024AC10 38 00 00 01 */ li r0, 1
/* 8024DCB4 0024AC14 7F E3 FB 78 */ mr r3, r31
/* 8024DCB8 0024AC18 90 1F 01 94 */ stw r0, 0x194(r31)
/* 8024DCBC 0024AC1C 4B FF FC 8D */ bl StartFileRead__17CMemoryCardDriverFv
/* 8024DCC0 0024AC20 48 00 00 38 */ b lbl_8024DCF8
lbl_8024DCC4:
/* 8024DCC4 0024AC24 2C 00 00 03 */ cmpwi r0, 3
/* 8024DCC8 0024AC28 41 82 00 0C */ beq lbl_8024DCD4
/* 8024DCCC 0024AC2C 2C 03 00 03 */ cmpwi r3, 3
/* 8024DCD0 0024AC30 40 82 00 18 */ bne lbl_8024DCE8
lbl_8024DCD4:
/* 8024DCD4 0024AC34 38 60 00 09 */ li r3, 9
/* 8024DCD8 0024AC38 38 00 00 11 */ li r0, 0x11
/* 8024DCDC 0024AC3C 90 7F 00 14 */ stw r3, 0x14(r31)
/* 8024DCE0 0024AC40 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024DCE4 0024AC44 48 00 00 14 */ b lbl_8024DCF8
lbl_8024DCE8:
/* 8024DCE8 0024AC48 38 60 00 08 */ li r3, 8
/* 8024DCEC 0024AC4C 38 00 00 11 */ li r0, 0x11
/* 8024DCF0 0024AC50 90 7F 00 14 */ stw r3, 0x14(r31)
/* 8024DCF4 0024AC54 90 1F 00 10 */ stw r0, 0x10(r31)
lbl_8024DCF8:
/* 8024DCF8 0024AC58 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 8024DCFC 0024AC5C 83 E1 00 EC */ lwz r31, 0xec(r1)
/* 8024DD00 0024AC60 83 C1 00 E8 */ lwz r30, 0xe8(r1)
/* 8024DD04 0024AC64 83 A1 00 E4 */ lwz r29, 0xe4(r1)
/* 8024DD08 0024AC68 83 81 00 E0 */ lwz r28, 0xe0(r1)
/* 8024DD0C 0024AC6C 7C 08 03 A6 */ mtlr r0
/* 8024DD10 0024AC70 38 21 00 F0 */ addi r1, r1, 0xf0
/* 8024DD14 0024AC74 4E 80 00 20 */ blr
.global NoCardFound__17CMemoryCardDriverFv
NoCardFound__17CMemoryCardDriverFv:
/* 8024DD18 0024AC78 38 00 00 02 */ li r0, 2
/* 8024DD1C 0024AC7C 38 80 00 00 */ li r4, 0
/* 8024DD20 0024AC80 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024DD24 0024AC84 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 8024DD28 0024AC88 88 03 01 60 */ lbz r0, 0x160(r3)
/* 8024DD2C 0024AC8C 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f
/* 8024DD30 0024AC90 98 03 01 60 */ stb r0, 0x160(r3)
/* 8024DD34 0024AC94 4E 80 00 20 */ blr
.global CheckCardCapacity__17CMemoryCardDriverFv
CheckCardCapacity__17CMemoryCardDriverFv:
/* 8024DD38 0024AC98 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8024DD3C 0024AC9C 28 00 20 00 */ cmplwi r0, 0x2000
/* 8024DD40 0024ACA0 41 80 00 10 */ blt lbl_8024DD50
/* 8024DD44 0024ACA4 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8024DD48 0024ACA8 28 00 00 01 */ cmplwi r0, 1
/* 8024DD4C 0024ACAC 4C 80 00 20 */ bgelr
lbl_8024DD50:
/* 8024DD50 0024ACB0 38 00 00 06 */ li r0, 6
/* 8024DD54 0024ACB4 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024DD58 0024ACB8 4E 80 00 20 */ blr
.global ClearError__17CMemoryCardDriverFv
ClearError__17CMemoryCardDriverFv:
/* 8024DD5C 0024ACBC 38 00 00 00 */ li r0, 0
/* 8024DD60 0024ACC0 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024DD64 0024ACC4 4E 80 00 20 */ blr
.global StartCardCheck__17CMemoryCardDriverFv
StartCardCheck__17CMemoryCardDriverFv:
/* 8024DD68 0024ACC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024DD6C 0024ACCC 7C 08 02 A6 */ mflr r0
/* 8024DD70 0024ACD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024DD74 0024ACD4 38 00 00 00 */ li r0, 0
/* 8024DD78 0024ACD8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024DD7C 0024ACDC 7C 7F 1B 78 */ mr r31, r3
/* 8024DD80 0024ACE0 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024DD84 0024ACE4 38 00 00 1B */ li r0, 0x1b
/* 8024DD88 0024ACE8 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024DD8C 0024ACEC 80 63 00 00 */ lwz r3, 0(r3)
/* 8024DD90 0024ACF0 48 10 01 25 */ bl CheckCard__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPort
/* 8024DD94 0024ACF4 7C 64 1B 79 */ or. r4, r3, r3
/* 8024DD98 0024ACF8 41 82 00 0C */ beq lbl_8024DDA4
/* 8024DD9C 0024ACFC 7F E3 FB 78 */ mr r3, r31
/* 8024DDA0 0024AD00 48 00 07 19 */ bl UpdateCardCheck__17CMemoryCardDriverF11ECardResult
lbl_8024DDA4:
/* 8024DDA4 0024AD04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024DDA8 0024AD08 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024DDAC 0024AD0C 7C 08 03 A6 */ mtlr r0
/* 8024DDB0 0024AD10 38 21 00 10 */ addi r1, r1, 0x10
/* 8024DDB4 0024AD14 4E 80 00 20 */ blr
.global StartMountCard__17CMemoryCardDriverFv
StartMountCard__17CMemoryCardDriverFv:
/* 8024DDB8 0024AD18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024DDBC 0024AD1C 7C 08 02 A6 */ mflr r0
/* 8024DDC0 0024AD20 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024DDC4 0024AD24 38 00 00 1A */ li r0, 0x1a
/* 8024DDC8 0024AD28 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024DDCC 0024AD2C 7C 7F 1B 78 */ mr r31, r3
/* 8024DDD0 0024AD30 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024DDD4 0024AD34 38 00 00 00 */ li r0, 0
/* 8024DDD8 0024AD38 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024DDDC 0024AD3C 80 63 00 00 */ lwz r3, 0(r3)
/* 8024DDE0 0024AD40 48 10 05 CD */ bl MountCard__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPort
/* 8024DDE4 0024AD44 7C 64 1B 79 */ or. r4, r3, r3
/* 8024DDE8 0024AD48 41 82 00 0C */ beq lbl_8024DDF4
/* 8024DDEC 0024AD4C 7F E3 FB 78 */ mr r3, r31
/* 8024DDF0 0024AD50 48 00 07 51 */ bl UpdateMountCard__17CMemoryCardDriverF11ECardResult
lbl_8024DDF4:
/* 8024DDF4 0024AD54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024DDF8 0024AD58 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024DDFC 0024AD5C 7C 08 03 A6 */ mtlr r0
/* 8024DE00 0024AD60 38 21 00 10 */ addi r1, r1, 0x10
/* 8024DE04 0024AD64 4E 80 00 20 */ blr
.global UpdateCardProbe__17CMemoryCardDriverFv
UpdateCardProbe__17CMemoryCardDriverFv:
/* 8024DE08 0024AD68 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8024DE0C 0024AD6C 7C 08 02 A6 */ mflr r0
/* 8024DE10 0024AD70 90 01 00 34 */ stw r0, 0x34(r1)
/* 8024DE14 0024AD74 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8024DE18 0024AD78 7C 7F 1B 78 */ mr r31, r3
/* 8024DE1C 0024AD7C 38 61 00 08 */ addi r3, r1, 8
/* 8024DE20 0024AD80 80 9F 00 00 */ lwz r4, 0(r31)
/* 8024DE24 0024AD84 48 10 05 E9 */ bl IsMemoryCardInserted__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPort
/* 8024DE28 0024AD88 80 81 00 08 */ lwz r4, 8(r1)
/* 8024DE2C 0024AD8C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024DE30 0024AD90 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8024DE34 0024AD94 2C 04 00 00 */ cmpwi r4, 0
/* 8024DE38 0024AD98 90 81 00 14 */ stw r4, 0x14(r1)
/* 8024DE3C 0024AD9C 90 61 00 18 */ stw r3, 0x18(r1)
/* 8024DE40 0024ADA0 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8024DE44 0024ADA4 40 82 00 20 */ bne lbl_8024DE64
/* 8024DE48 0024ADA8 2C 00 20 00 */ cmpwi r0, 0x2000
/* 8024DE4C 0024ADAC 41 82 00 48 */ beq lbl_8024DE94
/* 8024DE50 0024ADB0 38 60 00 0C */ li r3, 0xc
/* 8024DE54 0024ADB4 38 00 00 07 */ li r0, 7
/* 8024DE58 0024ADB8 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8024DE5C 0024ADBC 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8024DE60 0024ADC0 48 00 00 44 */ b lbl_8024DEA4
lbl_8024DE64:
/* 8024DE64 0024ADC4 2C 04 FF FF */ cmpwi r4, -1
/* 8024DE68 0024ADC8 41 82 00 3C */ beq lbl_8024DEA4
/* 8024DE6C 0024ADCC 2C 04 FF FE */ cmpwi r4, -2
/* 8024DE70 0024ADD0 40 82 00 18 */ bne lbl_8024DE88
/* 8024DE74 0024ADD4 38 60 00 0C */ li r3, 0xc
/* 8024DE78 0024ADD8 38 00 00 04 */ li r0, 4
/* 8024DE7C 0024ADDC 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8024DE80 0024ADE0 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8024DE84 0024ADE4 48 00 00 20 */ b lbl_8024DEA4
lbl_8024DE88:
/* 8024DE88 0024ADE8 7F E3 FB 78 */ mr r3, r31
/* 8024DE8C 0024ADEC 4B FF FE 8D */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024DE90 0024ADF0 48 00 00 14 */ b lbl_8024DEA4
lbl_8024DE94:
/* 8024DE94 0024ADF4 38 00 00 05 */ li r0, 5
/* 8024DE98 0024ADF8 7F E3 FB 78 */ mr r3, r31
/* 8024DE9C 0024ADFC 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024DEA0 0024AE00 4B FF FF 19 */ bl StartMountCard__17CMemoryCardDriverFv
lbl_8024DEA4:
/* 8024DEA4 0024AE04 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8024DEA8 0024AE08 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8024DEAC 0024AE0C 7C 08 03 A6 */ mtlr r0
/* 8024DEB0 0024AE10 38 21 00 30 */ addi r1, r1, 0x30
/* 8024DEB4 0024AE14 4E 80 00 20 */ blr
.global StartCardProbe__17CMemoryCardDriverFv
StartCardProbe__17CMemoryCardDriverFv:
/* 8024DEB8 0024AE18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024DEBC 0024AE1C 7C 08 02 A6 */ mflr r0
/* 8024DEC0 0024AE20 38 80 00 19 */ li r4, 0x19
/* 8024DEC4 0024AE24 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024DEC8 0024AE28 38 00 00 00 */ li r0, 0
/* 8024DECC 0024AE2C 90 83 00 10 */ stw r4, 0x10(r3)
/* 8024DED0 0024AE30 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024DED4 0024AE34 4B FF FF 35 */ bl UpdateCardProbe__17CMemoryCardDriverFv
/* 8024DED8 0024AE38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024DEDC 0024AE3C 7C 08 03 A6 */ mtlr r0
/* 8024DEE0 0024AE40 38 21 00 10 */ addi r1, r1, 0x10
/* 8024DEE4 0024AE44 4E 80 00 20 */ blr
.global UpdateCardFormat__17CMemoryCardDriverF11ECardResult
UpdateCardFormat__17CMemoryCardDriverF11ECardResult:
/* 8024DEE8 0024AE48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024DEEC 0024AE4C 7C 08 02 A6 */ mflr r0
/* 8024DEF0 0024AE50 2C 04 00 00 */ cmpwi r4, 0
/* 8024DEF4 0024AE54 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024DEF8 0024AE58 40 82 00 10 */ bne lbl_8024DF08
/* 8024DEFC 0024AE5C 38 00 00 04 */ li r0, 4
/* 8024DF00 0024AE60 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024DF04 0024AE64 48 00 00 28 */ b lbl_8024DF2C
lbl_8024DF08:
/* 8024DF08 0024AE68 2C 04 FF FA */ cmpwi r4, -6
/* 8024DF0C 0024AE6C 40 82 00 18 */ bne lbl_8024DF24
/* 8024DF10 0024AE70 38 80 00 18 */ li r4, 0x18
/* 8024DF14 0024AE74 38 00 00 03 */ li r0, 3
/* 8024DF18 0024AE78 90 83 00 10 */ stw r4, 0x10(r3)
/* 8024DF1C 0024AE7C 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024DF20 0024AE80 48 00 00 0C */ b lbl_8024DF2C
lbl_8024DF24:
/* 8024DF24 0024AE84 38 A0 00 18 */ li r5, 0x18
/* 8024DF28 0024AE88 48 00 06 75 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024DF2C:
/* 8024DF2C 0024AE8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024DF30 0024AE90 7C 08 03 A6 */ mtlr r0
/* 8024DF34 0024AE94 38 21 00 10 */ addi r1, r1, 0x10
/* 8024DF38 0024AE98 4E 80 00 20 */ blr
.global UpdateFileAltDeleteTransactional__17CMemoryCardDriverF11ECardResult
UpdateFileAltDeleteTransactional__17CMemoryCardDriverF11ECardResult:
/* 8024DF3C 0024AE9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024DF40 0024AEA0 7C 08 02 A6 */ mflr r0
/* 8024DF44 0024AEA4 2C 04 00 00 */ cmpwi r4, 0
/* 8024DF48 0024AEA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024DF4C 0024AEAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024DF50 0024AEB0 7C 7F 1B 78 */ mr r31, r3
/* 8024DF54 0024AEB4 40 82 00 24 */ bne lbl_8024DF78
/* 8024DF58 0024AEB8 38 00 00 0B */ li r0, 0xb
/* 8024DF5C 0024AEBC 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024DF60 0024AEC0 4B FF E3 31 */ bl GetCardFreeBytes__17CMemoryCardDriverFv
/* 8024DF64 0024AEC4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024DF68 0024AEC8 41 82 00 18 */ beq lbl_8024DF80
/* 8024DF6C 0024AECC 7F E3 FB 78 */ mr r3, r31
/* 8024DF70 0024AED0 48 00 00 69 */ bl StartFileRenameBtoA__17CMemoryCardDriverFv
/* 8024DF74 0024AED4 48 00 00 0C */ b lbl_8024DF80
lbl_8024DF78:
/* 8024DF78 0024AED8 38 A0 00 16 */ li r5, 0x16
/* 8024DF7C 0024AEDC 48 00 06 21 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024DF80:
/* 8024DF80 0024AEE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024DF84 0024AEE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024DF88 0024AEE8 7C 08 03 A6 */ mtlr r0
/* 8024DF8C 0024AEEC 38 21 00 10 */ addi r1, r1, 0x10
/* 8024DF90 0024AEF0 4E 80 00 20 */ blr
.global WriteBackupBuf__17CMemoryCardDriverFv
WriteBackupBuf__17CMemoryCardDriverFv:
/* 8024DF94 0024AEF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024DF98 0024AEF8 7C 08 02 A6 */ mflr r0
/* 8024DF9C 0024AEFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024DFA0 0024AF00 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024DFA4 0024AF04 7C 7F 1B 78 */ mr r31, r3
/* 8024DFA8 0024AF08 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8024DFAC 0024AF0C 4B F8 5C 09 */ bl WriteBackupBuf__10CGameStateFv
/* 8024DFB0 0024AF10 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 8024DFB4 0024AF14 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 8024DFB8 0024AF18 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8024DFBC 0024AF1C 90 83 02 14 */ stw r4, 0x214(r3)
/* 8024DFC0 0024AF20 90 03 02 10 */ stw r0, 0x210(r3)
/* 8024DFC4 0024AF24 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024DFC8 0024AF28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024DFCC 0024AF2C 7C 08 03 A6 */ mtlr r0
/* 8024DFD0 0024AF30 38 21 00 10 */ addi r1, r1, 0x10
/* 8024DFD4 0024AF34 4E 80 00 20 */ blr
.global StartFileRenameBtoA__17CMemoryCardDriverFv
StartFileRenameBtoA__17CMemoryCardDriverFv:
/* 8024DFD8 0024AF38 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8024DFDC 0024AF3C 7C 08 02 A6 */ mflr r0
/* 8024DFE0 0024AF40 90 01 00 34 */ stw r0, 0x34(r1)
/* 8024DFE4 0024AF44 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8024DFE8 0024AF48 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8024DFEC 0024AF4C 7C 7E 1B 78 */ mr r30, r3
/* 8024DFF0 0024AF50 80 03 01 94 */ lwz r0, 0x194(r3)
/* 8024DFF4 0024AF54 2C 00 00 01 */ cmpwi r0, 1
/* 8024DFF8 0024AF58 40 82 00 88 */ bne lbl_8024E080
/* 8024DFFC 0024AF5C 38 60 00 00 */ li r3, 0
/* 8024E000 0024AF60 38 00 00 24 */ li r0, 0x24
/* 8024E004 0024AF64 90 7E 00 14 */ stw r3, 0x14(r30)
/* 8024E008 0024AF68 38 82 B8 B0 */ addi r4, r2, skSaveFileNames@sda21
/* 8024E00C 0024AF6C 38 61 00 18 */ addi r3, r1, 0x18
/* 8024E010 0024AF70 90 1E 00 10 */ stw r0, 0x10(r30)
/* 8024E014 0024AF74 80 BE 01 94 */ lwz r5, 0x194(r30)
/* 8024E018 0024AF78 54 A0 10 3A */ slwi r0, r5, 2
/* 8024E01C 0024AF7C 7C A5 00 34 */ cntlzw r5, r5
/* 8024E020 0024AF80 7C 84 00 2E */ lwzx r4, r4, r0
/* 8024E024 0024AF84 54 BF D9 7E */ srwi r31, r5, 5
/* 8024E028 0024AF88 4B DB 6C 91 */ bl string_l__4rstlFPCc
/* 8024E02C 0024AF8C 57 E0 10 3A */ slwi r0, r31, 2
/* 8024E030 0024AF90 38 62 B8 B0 */ addi r3, r2, skSaveFileNames@sda21
/* 8024E034 0024AF94 7C 83 00 2E */ lwzx r4, r3, r0
/* 8024E038 0024AF98 38 61 00 08 */ addi r3, r1, 8
/* 8024E03C 0024AF9C 4B DB 6C 7D */ bl string_l__4rstlFPCc
/* 8024E040 0024AFA0 80 7E 00 00 */ lwz r3, 0(r30)
/* 8024E044 0024AFA4 38 81 00 18 */ addi r4, r1, 0x18
/* 8024E048 0024AFA8 38 A1 00 08 */ addi r5, r1, 8
/* 8024E04C 0024AFAC 48 0F FE 8D */ bl "Rename__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8024E050 0024AFB0 7C 60 1B 78 */ mr r0, r3
/* 8024E054 0024AFB4 38 61 00 08 */ addi r3, r1, 8
/* 8024E058 0024AFB8 7C 1F 03 78 */ mr r31, r0
/* 8024E05C 0024AFBC 48 0E FA 85 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8024E060 0024AFC0 38 61 00 18 */ addi r3, r1, 0x18
/* 8024E064 0024AFC4 48 0E FA 7D */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8024E068 0024AFC8 2C 1F 00 00 */ cmpwi r31, 0
/* 8024E06C 0024AFCC 41 82 00 20 */ beq lbl_8024E08C
/* 8024E070 0024AFD0 7F C3 F3 78 */ mr r3, r30
/* 8024E074 0024AFD4 7F E4 FB 78 */ mr r4, r31
/* 8024E078 0024AFD8 48 00 00 2D */ bl UpdateFileRenameBtoA__17CMemoryCardDriverF11ECardResult
/* 8024E07C 0024AFDC 48 00 00 10 */ b lbl_8024E08C
lbl_8024E080:
/* 8024E080 0024AFE0 38 00 00 03 */ li r0, 3
/* 8024E084 0024AFE4 90 1E 00 10 */ stw r0, 0x10(r30)
/* 8024E088 0024AFE8 4B FF FF 0D */ bl WriteBackupBuf__17CMemoryCardDriverFv
lbl_8024E08C:
/* 8024E08C 0024AFEC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8024E090 0024AFF0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8024E094 0024AFF4 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8024E098 0024AFF8 7C 08 03 A6 */ mtlr r0
/* 8024E09C 0024AFFC 38 21 00 30 */ addi r1, r1, 0x30
/* 8024E0A0 0024B000 4E 80 00 20 */ blr
.global UpdateFileRenameBtoA__17CMemoryCardDriverF11ECardResult
UpdateFileRenameBtoA__17CMemoryCardDriverF11ECardResult:
/* 8024E0A4 0024B004 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E0A8 0024B008 7C 08 02 A6 */ mflr r0
/* 8024E0AC 0024B00C 2C 04 00 00 */ cmpwi r4, 0
/* 8024E0B0 0024B010 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E0B4 0024B014 40 82 00 14 */ bne lbl_8024E0C8
/* 8024E0B8 0024B018 38 00 00 03 */ li r0, 3
/* 8024E0BC 0024B01C 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024E0C0 0024B020 4B FF FE D5 */ bl WriteBackupBuf__17CMemoryCardDriverFv
/* 8024E0C4 0024B024 48 00 00 0C */ b lbl_8024E0D0
lbl_8024E0C8:
/* 8024E0C8 0024B028 38 A0 00 17 */ li r5, 0x17
/* 8024E0CC 0024B02C 48 00 04 D1 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E0D0:
/* 8024E0D0 0024B030 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E0D4 0024B034 7C 08 03 A6 */ mtlr r0
/* 8024E0D8 0024B038 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E0DC 0024B03C 4E 80 00 20 */ blr
.global UpdateFileWriteTransactional__17CMemoryCardDriverF11ECardResult
UpdateFileWriteTransactional__17CMemoryCardDriverF11ECardResult:
/* 8024E0E0 0024B040 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E0E4 0024B044 7C 08 02 A6 */ mflr r0
/* 8024E0E8 0024B048 2C 04 00 00 */ cmpwi r4, 0
/* 8024E0EC 0024B04C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E0F0 0024B050 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024E0F4 0024B054 7C 7F 1B 78 */ mr r31, r3
/* 8024E0F8 0024B058 40 82 00 74 */ bne lbl_8024E16C
/* 8024E0FC 0024B05C 80 7F 01 98 */ lwz r3, 0x198(r31)
/* 8024E100 0024B060 48 0F FB 15 */ bl PumpCardTransfer__Q214CMemoryCardSys13CCardFileInfoFv
/* 8024E104 0024B064 2C 03 00 00 */ cmpwi r3, 0
/* 8024E108 0024B068 40 82 00 34 */ bne lbl_8024E13C
/* 8024E10C 0024B06C 38 00 00 0A */ li r0, 0xa
/* 8024E110 0024B070 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024E114 0024B074 80 7F 01 98 */ lwz r3, 0x198(r31)
/* 8024E118 0024B078 48 0F FD ED */ bl CloseFile__Q214CMemoryCardSys13CCardFileInfoFv
/* 8024E11C 0024B07C 2C 03 00 00 */ cmpwi r3, 0
/* 8024E120 0024B080 41 82 00 10 */ beq lbl_8024E130
/* 8024E124 0024B084 7F E3 FB 78 */ mr r3, r31
/* 8024E128 0024B088 4B FF FB F1 */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024E12C 0024B08C 48 00 00 48 */ b lbl_8024E174
lbl_8024E130:
/* 8024E130 0024B090 7F E3 FB 78 */ mr r3, r31
/* 8024E134 0024B094 4B FF F2 FD */ bl StartFileDeleteAltTransactional__17CMemoryCardDriverFv
/* 8024E138 0024B098 48 00 00 3C */ b lbl_8024E174
lbl_8024E13C:
/* 8024E13C 0024B09C 2C 03 FF FF */ cmpwi r3, -1
/* 8024E140 0024B0A0 41 82 00 34 */ beq lbl_8024E174
/* 8024E144 0024B0A4 2C 03 FF FB */ cmpwi r3, -5
/* 8024E148 0024B0A8 40 82 00 18 */ bne lbl_8024E160
/* 8024E14C 0024B0AC 38 60 00 15 */ li r3, 0x15
/* 8024E150 0024B0B0 38 00 00 03 */ li r0, 3
/* 8024E154 0024B0B4 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8024E158 0024B0B8 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8024E15C 0024B0BC 48 00 00 18 */ b lbl_8024E174
lbl_8024E160:
/* 8024E160 0024B0C0 7F E3 FB 78 */ mr r3, r31
/* 8024E164 0024B0C4 4B FF FB B5 */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024E168 0024B0C8 48 00 00 0C */ b lbl_8024E174
lbl_8024E16C:
/* 8024E16C 0024B0CC 38 A0 00 15 */ li r5, 0x15
/* 8024E170 0024B0D0 48 00 04 2D */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E174:
/* 8024E174 0024B0D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E178 0024B0D8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024E17C 0024B0DC 7C 08 03 A6 */ mtlr r0
/* 8024E180 0024B0E0 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E184 0024B0E4 4E 80 00 20 */ blr
.global UpdateFileCreateTransactional__17CMemoryCardDriverF11ECardResult
UpdateFileCreateTransactional__17CMemoryCardDriverF11ECardResult:
/* 8024E188 0024B0E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E18C 0024B0EC 7C 08 02 A6 */ mflr r0
/* 8024E190 0024B0F0 2C 04 00 00 */ cmpwi r4, 0
/* 8024E194 0024B0F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E198 0024B0F8 40 82 00 14 */ bne lbl_8024E1AC
/* 8024E19C 0024B0FC 38 00 00 09 */ li r0, 9
/* 8024E1A0 0024B100 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024E1A4 0024B104 4B FF F3 19 */ bl StartFileWriteTransactional__17CMemoryCardDriverFv
/* 8024E1A8 0024B108 48 00 00 0C */ b lbl_8024E1B4
lbl_8024E1AC:
/* 8024E1AC 0024B10C 38 A0 00 14 */ li r5, 0x14
/* 8024E1B0 0024B110 48 00 03 ED */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E1B4:
/* 8024E1B4 0024B114 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E1B8 0024B118 7C 08 03 A6 */ mtlr r0
/* 8024E1BC 0024B11C 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E1C0 0024B120 4E 80 00 20 */ blr
.global UpdateFileWrite__17CMemoryCardDriverF11ECardResult
UpdateFileWrite__17CMemoryCardDriverF11ECardResult:
/* 8024E1C4 0024B124 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E1C8 0024B128 7C 08 02 A6 */ mflr r0
/* 8024E1CC 0024B12C 2C 04 00 00 */ cmpwi r4, 0
/* 8024E1D0 0024B130 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E1D4 0024B134 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024E1D8 0024B138 7C 7F 1B 78 */ mr r31, r3
/* 8024E1DC 0024B13C 40 82 00 68 */ bne lbl_8024E244
/* 8024E1E0 0024B140 80 7F 01 98 */ lwz r3, 0x198(r31)
/* 8024E1E4 0024B144 48 0F FA 31 */ bl PumpCardTransfer__Q214CMemoryCardSys13CCardFileInfoFv
/* 8024E1E8 0024B148 2C 03 00 00 */ cmpwi r3, 0
/* 8024E1EC 0024B14C 40 82 00 28 */ bne lbl_8024E214
/* 8024E1F0 0024B150 38 00 00 01 */ li r0, 1
/* 8024E1F4 0024B154 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024E1F8 0024B158 80 7F 01 98 */ lwz r3, 0x198(r31)
/* 8024E1FC 0024B15C 48 0F FD 09 */ bl CloseFile__Q214CMemoryCardSys13CCardFileInfoFv
/* 8024E200 0024B160 2C 03 00 00 */ cmpwi r3, 0
/* 8024E204 0024B164 41 82 00 48 */ beq lbl_8024E24C
/* 8024E208 0024B168 7F E3 FB 78 */ mr r3, r31
/* 8024E20C 0024B16C 4B FF FB 0D */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024E210 0024B170 48 00 00 3C */ b lbl_8024E24C
lbl_8024E214:
/* 8024E214 0024B174 2C 03 FF FF */ cmpwi r3, -1
/* 8024E218 0024B178 41 82 00 34 */ beq lbl_8024E24C
/* 8024E21C 0024B17C 2C 03 FF FB */ cmpwi r3, -5
/* 8024E220 0024B180 40 82 00 18 */ bne lbl_8024E238
/* 8024E224 0024B184 38 60 00 13 */ li r3, 0x13
/* 8024E228 0024B188 38 00 00 03 */ li r0, 3
/* 8024E22C 0024B18C 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8024E230 0024B190 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8024E234 0024B194 48 00 00 18 */ b lbl_8024E24C
lbl_8024E238:
/* 8024E238 0024B198 7F E3 FB 78 */ mr r3, r31
/* 8024E23C 0024B19C 4B FF FA DD */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024E240 0024B1A0 48 00 00 0C */ b lbl_8024E24C
lbl_8024E244:
/* 8024E244 0024B1A4 38 A0 00 13 */ li r5, 0x13
/* 8024E248 0024B1A8 48 00 03 55 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E24C:
/* 8024E24C 0024B1AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E250 0024B1B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024E254 0024B1B4 7C 08 03 A6 */ mtlr r0
/* 8024E258 0024B1B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E25C 0024B1BC 4E 80 00 20 */ blr
.global UpdateFileCreate__17CMemoryCardDriverF11ECardResult
UpdateFileCreate__17CMemoryCardDriverF11ECardResult:
/* 8024E260 0024B1C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E264 0024B1C4 7C 08 02 A6 */ mflr r0
/* 8024E268 0024B1C8 2C 04 00 00 */ cmpwi r4, 0
/* 8024E26C 0024B1CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E270 0024B1D0 40 82 00 14 */ bne lbl_8024E284
/* 8024E274 0024B1D4 38 00 00 08 */ li r0, 8
/* 8024E278 0024B1D8 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024E27C 0024B1DC 4B FF F5 75 */ bl StartFileWrite__17CMemoryCardDriverFv
/* 8024E280 0024B1E0 48 00 00 0C */ b lbl_8024E28C
lbl_8024E284:
/* 8024E284 0024B1E4 38 A0 00 12 */ li r5, 0x12
/* 8024E288 0024B1E8 48 00 03 15 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E28C:
/* 8024E28C 0024B1EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E290 0024B1F0 7C 08 03 A6 */ mtlr r0
/* 8024E294 0024B1F4 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E298 0024B1F8 4E 80 00 20 */ blr
.global UpdateFileDeleteBad__17CMemoryCardDriverF11ECardResult
UpdateFileDeleteBad__17CMemoryCardDriverF11ECardResult:
/* 8024E29C 0024B1FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E2A0 0024B200 7C 08 02 A6 */ mflr r0
/* 8024E2A4 0024B204 2C 04 00 00 */ cmpwi r4, 0
/* 8024E2A8 0024B208 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E2AC 0024B20C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024E2B0 0024B210 7C 7F 1B 78 */ mr r31, r3
/* 8024E2B4 0024B214 40 82 00 64 */ bne lbl_8024E318
/* 8024E2B8 0024B218 80 9F 01 94 */ lwz r4, 0x194(r31)
/* 8024E2BC 0024B21C 38 BF 01 04 */ addi r5, r31, 0x104
/* 8024E2C0 0024B220 38 00 00 01 */ li r0, 1
/* 8024E2C4 0024B224 1C 84 00 48 */ mulli r4, r4, 0x48
/* 8024E2C8 0024B228 7C 05 21 2E */ stwx r0, r5, r4
/* 8024E2CC 0024B22C 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 8024E2D0 0024B230 7C 00 00 34 */ cntlzw r0, r0
/* 8024E2D4 0024B234 54 00 D9 7E */ srwi r0, r0, 5
/* 8024E2D8 0024B238 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8024E2DC 0024B23C 7C 05 00 2E */ lwzx r0, r5, r0
/* 8024E2E0 0024B240 2C 00 00 03 */ cmpwi r0, 3
/* 8024E2E4 0024B244 40 82 00 14 */ bne lbl_8024E2F8
/* 8024E2E8 0024B248 38 00 00 11 */ li r0, 0x11
/* 8024E2EC 0024B24C 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024E2F0 0024B250 4B FF F7 59 */ bl StartFileDeleteBad__17CMemoryCardDriverFv
/* 8024E2F4 0024B254 48 00 00 2C */ b lbl_8024E320
lbl_8024E2F8:
/* 8024E2F8 0024B258 38 00 00 07 */ li r0, 7
/* 8024E2FC 0024B25C 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024E300 0024B260 4B FF DF 91 */ bl GetCardFreeBytes__17CMemoryCardDriverFv
/* 8024E304 0024B264 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024E308 0024B268 41 82 00 18 */ beq lbl_8024E320
/* 8024E30C 0024B26C 7F E3 FB 78 */ mr r3, r31
/* 8024E310 0024B270 4B FF F7 C5 */ bl IndexFiles__17CMemoryCardDriverFv
/* 8024E314 0024B274 48 00 00 0C */ b lbl_8024E320
lbl_8024E318:
/* 8024E318 0024B278 38 A0 00 0F */ li r5, 0xf
/* 8024E31C 0024B27C 48 00 02 81 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E320:
/* 8024E320 0024B280 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E324 0024B284 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024E328 0024B288 7C 08 03 A6 */ mtlr r0
/* 8024E32C 0024B28C 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E330 0024B290 4E 80 00 20 */ blr
.global UpdateFileDeleteAlt__17CMemoryCardDriverF11ECardResult
UpdateFileDeleteAlt__17CMemoryCardDriverF11ECardResult:
/* 8024E334 0024B294 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E338 0024B298 7C 08 02 A6 */ mflr r0
/* 8024E33C 0024B29C 2C 04 00 00 */ cmpwi r4, 0
/* 8024E340 0024B2A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E344 0024B2A4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024E348 0024B2A8 7C 7F 1B 78 */ mr r31, r3
/* 8024E34C 0024B2AC 40 82 00 24 */ bne lbl_8024E370
/* 8024E350 0024B2B0 38 00 00 01 */ li r0, 1
/* 8024E354 0024B2B4 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024E358 0024B2B8 4B FF DF 39 */ bl GetCardFreeBytes__17CMemoryCardDriverFv
/* 8024E35C 0024B2BC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024E360 0024B2C0 41 82 00 18 */ beq lbl_8024E378
/* 8024E364 0024B2C4 7F E3 FB 78 */ mr r3, r31
/* 8024E368 0024B2C8 4B FF F9 D1 */ bl CheckCardCapacity__17CMemoryCardDriverFv
/* 8024E36C 0024B2CC 48 00 00 0C */ b lbl_8024E378
lbl_8024E370:
/* 8024E370 0024B2D0 38 A0 00 10 */ li r5, 0x10
/* 8024E374 0024B2D4 48 00 02 29 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E378:
/* 8024E378 0024B2D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E37C 0024B2DC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024E380 0024B2E0 7C 08 03 A6 */ mtlr r0
/* 8024E384 0024B2E4 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E388 0024B2E8 4E 80 00 20 */ blr
.global UpdateFileRead__17CMemoryCardDriverF11ECardResult
UpdateFileRead__17CMemoryCardDriverF11ECardResult:
/* 8024E38C 0024B2EC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8024E390 0024B2F0 7C 08 02 A6 */ mflr r0
/* 8024E394 0024B2F4 2C 04 00 00 */ cmpwi r4, 0
/* 8024E398 0024B2F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8024E39C 0024B2FC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8024E3A0 0024B300 7C 7F 1B 78 */ mr r31, r3
/* 8024E3A4 0024B304 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8024E3A8 0024B308 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8024E3AC 0024B30C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8024E3B0 0024B310 40 82 00 E0 */ bne lbl_8024E490
/* 8024E3B4 0024B314 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 8024E3B8 0024B318 3B BF 01 04 */ addi r29, r31, 0x104
/* 8024E3BC 0024B31C 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8024E3C0 0024B320 7C 7D 02 14 */ add r3, r29, r0
/* 8024E3C4 0024B324 38 63 00 04 */ addi r3, r3, 4
/* 8024E3C8 0024B328 48 0F F4 E5 */ bl TryFileRead__19SMemoryCardFileInfoFv
/* 8024E3CC 0024B32C 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 8024E3D0 0024B330 7C 7E 1B 78 */ mr r30, r3
/* 8024E3D4 0024B334 1C 60 00 48 */ mulli r3, r0, 0x48
/* 8024E3D8 0024B338 38 63 00 04 */ addi r3, r3, 4
/* 8024E3DC 0024B33C 7C 7D 1A 14 */ add r3, r29, r3
/* 8024E3E0 0024B340 48 0F FB 69 */ bl Close__19SMemoryCardFileInfoFv
/* 8024E3E4 0024B344 2C 03 00 00 */ cmpwi r3, 0
/* 8024E3E8 0024B348 41 82 00 10 */ beq lbl_8024E3F8
/* 8024E3EC 0024B34C 7F E3 FB 78 */ mr r3, r31
/* 8024E3F0 0024B350 4B FF F9 29 */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024E3F4 0024B354 48 00 00 A4 */ b lbl_8024E498
lbl_8024E3F8:
/* 8024E3F8 0024B358 80 7F 01 94 */ lwz r3, 0x194(r31)
/* 8024E3FC 0024B35C 2C 1E 00 00 */ cmpwi r30, 0
/* 8024E400 0024B360 7C 60 00 34 */ cntlzw r0, r3
/* 8024E404 0024B364 54 1C D9 7E */ srwi r28, r0, 5
/* 8024E408 0024B368 40 82 00 3C */ bne lbl_8024E444
/* 8024E40C 0024B36C 38 00 00 01 */ li r0, 1
/* 8024E410 0024B370 7F E3 FB 78 */ mr r3, r31
/* 8024E414 0024B374 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024E418 0024B378 4B FF EA 09 */ bl ReadFinished__17CMemoryCardDriverFv
/* 8024E41C 0024B37C 1C 1C 00 48 */ mulli r0, r28, 0x48
/* 8024E420 0024B380 7C 1D 00 2E */ lwzx r0, r29, r0
/* 8024E424 0024B384 2C 00 00 01 */ cmpwi r0, 1
/* 8024E428 0024B388 41 82 00 10 */ beq lbl_8024E438
/* 8024E42C 0024B38C 7F E3 FB 78 */ mr r3, r31
/* 8024E430 0024B390 4B FF F5 A9 */ bl StartFileDeleteAlt__17CMemoryCardDriverFv
/* 8024E434 0024B394 48 00 00 64 */ b lbl_8024E498
lbl_8024E438:
/* 8024E438 0024B398 7F E3 FB 78 */ mr r3, r31
/* 8024E43C 0024B39C 4B FF F8 FD */ bl CheckCardCapacity__17CMemoryCardDriverFv
/* 8024E440 0024B3A0 48 00 00 58 */ b lbl_8024E498
lbl_8024E444:
/* 8024E444 0024B3A4 2C 1E FC 15 */ cmpwi r30, -1003
/* 8024E448 0024B3A8 40 82 00 50 */ bne lbl_8024E498
/* 8024E44C 0024B3AC 1C 63 00 48 */ mulli r3, r3, 0x48
/* 8024E450 0024B3B0 38 80 00 03 */ li r4, 3
/* 8024E454 0024B3B4 1C 1C 00 48 */ mulli r0, r28, 0x48
/* 8024E458 0024B3B8 7C 9D 19 2E */ stwx r4, r29, r3
/* 8024E45C 0024B3BC 7C 1D 00 2E */ lwzx r0, r29, r0
/* 8024E460 0024B3C0 2C 00 00 02 */ cmpwi r0, 2
/* 8024E464 0024B3C4 40 82 00 18 */ bne lbl_8024E47C
/* 8024E468 0024B3C8 38 00 00 07 */ li r0, 7
/* 8024E46C 0024B3CC 7F E3 FB 78 */ mr r3, r31
/* 8024E470 0024B3D0 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024E474 0024B3D4 4B FF F6 61 */ bl IndexFiles__17CMemoryCardDriverFv
/* 8024E478 0024B3D8 48 00 00 20 */ b lbl_8024E498
lbl_8024E47C:
/* 8024E47C 0024B3DC 38 60 00 11 */ li r3, 0x11
/* 8024E480 0024B3E0 38 00 00 09 */ li r0, 9
/* 8024E484 0024B3E4 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8024E488 0024B3E8 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8024E48C 0024B3EC 48 00 00 0C */ b lbl_8024E498
lbl_8024E490:
/* 8024E490 0024B3F0 38 A0 00 11 */ li r5, 0x11
/* 8024E494 0024B3F4 48 00 01 09 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E498:
/* 8024E498 0024B3F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8024E49C 0024B3FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8024E4A0 0024B400 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8024E4A4 0024B404 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8024E4A8 0024B408 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8024E4AC 0024B40C 7C 08 03 A6 */ mtlr r0
/* 8024E4B0 0024B410 38 21 00 20 */ addi r1, r1, 0x20
/* 8024E4B4 0024B414 4E 80 00 20 */ blr
.global UpdateCardCheck__17CMemoryCardDriverF11ECardResult
UpdateCardCheck__17CMemoryCardDriverF11ECardResult:
/* 8024E4B8 0024B418 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E4BC 0024B41C 7C 08 02 A6 */ mflr r0
/* 8024E4C0 0024B420 2C 04 00 00 */ cmpwi r4, 0
/* 8024E4C4 0024B424 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E4C8 0024B428 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024E4CC 0024B42C 7C 7F 1B 78 */ mr r31, r3
/* 8024E4D0 0024B430 40 82 00 38 */ bne lbl_8024E508
/* 8024E4D4 0024B434 38 00 00 07 */ li r0, 7
/* 8024E4D8 0024B438 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024E4DC 0024B43C 4B FF DD B5 */ bl GetCardFreeBytes__17CMemoryCardDriverFv
/* 8024E4E0 0024B440 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024E4E4 0024B444 41 82 00 48 */ beq lbl_8024E52C
/* 8024E4E8 0024B448 80 7F 00 00 */ lwz r3, 0(r31)
/* 8024E4EC 0024B44C 38 9F 00 28 */ addi r4, r31, 0x28
/* 8024E4F0 0024B450 48 0F F3 9D */ bl GetSerialNo__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortRx
/* 8024E4F4 0024B454 2C 03 00 00 */ cmpwi r3, 0
/* 8024E4F8 0024B458 41 82 00 34 */ beq lbl_8024E52C
/* 8024E4FC 0024B45C 7F E3 FB 78 */ mr r3, r31
/* 8024E500 0024B460 4B FF F8 19 */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024E504 0024B464 48 00 00 28 */ b lbl_8024E52C
lbl_8024E508:
/* 8024E508 0024B468 2C 04 FF FA */ cmpwi r4, -6
/* 8024E50C 0024B46C 40 82 00 18 */ bne lbl_8024E524
/* 8024E510 0024B470 38 60 00 0E */ li r3, 0xe
/* 8024E514 0024B474 38 00 00 01 */ li r0, 1
/* 8024E518 0024B478 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8024E51C 0024B47C 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8024E520 0024B480 48 00 00 0C */ b lbl_8024E52C
lbl_8024E524:
/* 8024E524 0024B484 38 A0 00 0E */ li r5, 0xe
/* 8024E528 0024B488 48 00 00 75 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E52C:
/* 8024E52C 0024B48C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E530 0024B490 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024E534 0024B494 7C 08 03 A6 */ mtlr r0
/* 8024E538 0024B498 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E53C 0024B49C 4E 80 00 20 */ blr
.global UpdateMountCard__17CMemoryCardDriverF11ECardResult
UpdateMountCard__17CMemoryCardDriverF11ECardResult:
/* 8024E540 0024B4A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E544 0024B4A4 7C 08 02 A6 */ mflr r0
/* 8024E548 0024B4A8 2C 04 00 00 */ cmpwi r4, 0
/* 8024E54C 0024B4AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E550 0024B4B0 40 82 00 14 */ bne lbl_8024E564
/* 8024E554 0024B4B4 38 00 00 06 */ li r0, 6
/* 8024E558 0024B4B8 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024E55C 0024B4BC 4B FF F8 0D */ bl StartCardCheck__17CMemoryCardDriverFv
/* 8024E560 0024B4C0 48 00 00 2C */ b lbl_8024E58C
lbl_8024E564:
/* 8024E564 0024B4C4 2C 04 FF FA */ cmpwi r4, -6
/* 8024E568 0024B4C8 40 82 00 1C */ bne lbl_8024E584
/* 8024E56C 0024B4CC 38 80 00 06 */ li r4, 6
/* 8024E570 0024B4D0 38 00 00 01 */ li r0, 1
/* 8024E574 0024B4D4 90 83 00 10 */ stw r4, 0x10(r3)
/* 8024E578 0024B4D8 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024E57C 0024B4DC 4B FF F7 ED */ bl StartCardCheck__17CMemoryCardDriverFv
/* 8024E580 0024B4E0 48 00 00 0C */ b lbl_8024E58C
lbl_8024E584:
/* 8024E584 0024B4E4 38 A0 00 0D */ li r5, 0xd
/* 8024E588 0024B4E8 48 00 00 15 */ bl HandleCardError__17CMemoryCardDriverF11ECardResult6EState
lbl_8024E58C:
/* 8024E58C 0024B4EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E590 0024B4F0 7C 08 03 A6 */ mtlr r0
/* 8024E594 0024B4F4 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E598 0024B4F8 4E 80 00 20 */ blr
.global HandleCardError__17CMemoryCardDriverF11ECardResult6EState
HandleCardError__17CMemoryCardDriverF11ECardResult6EState:
/* 8024E59C 0024B4FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E5A0 0024B500 7C 08 02 A6 */ mflr r0
/* 8024E5A4 0024B504 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E5A8 0024B508 38 04 00 0D */ addi r0, r4, 0xd
/* 8024E5AC 0024B50C 28 00 00 0C */ cmplwi r0, 0xc
/* 8024E5B0 0024B510 41 81 00 50 */ bgt lbl_8024E600
/* 8024E5B4 0024B514 3C 80 80 3F */ lis r4, lbl_803E8D38@ha
/* 8024E5B8 0024B518 54 00 10 3A */ slwi r0, r0, 2
/* 8024E5BC 0024B51C 38 84 8D 38 */ addi r4, r4, lbl_803E8D38@l
/* 8024E5C0 0024B520 7C 04 00 2E */ lwzx r0, r4, r0
/* 8024E5C4 0024B524 7C 09 03 A6 */ mtctr r0
/* 8024E5C8 0024B528 4E 80 04 20 */ bctr
lbl_8024E5CC:
/* 8024E5CC 0024B52C 90 A3 00 10 */ stw r5, 0x10(r3)
/* 8024E5D0 0024B530 38 00 00 04 */ li r0, 4
/* 8024E5D4 0024B534 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024E5D8 0024B538 48 00 00 28 */ b lbl_8024E600
lbl_8024E5DC:
/* 8024E5DC 0024B53C 4B FF F7 3D */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024E5E0 0024B540 48 00 00 20 */ b lbl_8024E600
lbl_8024E5E4:
/* 8024E5E4 0024B544 90 A3 00 10 */ stw r5, 0x10(r3)
/* 8024E5E8 0024B548 38 00 00 03 */ li r0, 3
/* 8024E5EC 0024B54C 90 03 00 14 */ stw r0, 0x14(r3)
/* 8024E5F0 0024B550 48 00 00 10 */ b lbl_8024E600
lbl_8024E5F4:
/* 8024E5F4 0024B554 90 A3 00 10 */ stw r5, 0x10(r3)
/* 8024E5F8 0024B558 38 00 00 02 */ li r0, 2
/* 8024E5FC 0024B55C 90 03 00 14 */ stw r0, 0x14(r3)
lbl_8024E600:
/* 8024E600 0024B560 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E604 0024B564 7C 08 03 A6 */ mtlr r0
/* 8024E608 0024B568 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E60C 0024B56C 4E 80 00 20 */ blr
.global Update__17CMemoryCardDriverFv
Update__17CMemoryCardDriverFv:
/* 8024E610 0024B570 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8024E614 0024B574 7C 08 02 A6 */ mflr r0
/* 8024E618 0024B578 90 01 00 34 */ stw r0, 0x34(r1)
/* 8024E61C 0024B57C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8024E620 0024B580 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8024E624 0024B584 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8024E628 0024B588 7C 7D 1B 78 */ mr r29, r3
/* 8024E62C 0024B58C 38 61 00 08 */ addi r3, r1, 8
/* 8024E630 0024B590 80 9D 00 00 */ lwz r4, 0(r29)
/* 8024E634 0024B594 48 0F FD D9 */ bl IsMemoryCardInserted__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPort
/* 8024E638 0024B598 80 81 00 08 */ lwz r4, 8(r1)
/* 8024E63C 0024B59C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024E640 0024B5A0 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8024E644 0024B5A4 2C 04 FF FD */ cmpwi r4, -3
/* 8024E648 0024B5A8 90 81 00 14 */ stw r4, 0x14(r1)
/* 8024E64C 0024B5AC 90 61 00 18 */ stw r3, 0x18(r1)
/* 8024E650 0024B5B0 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8024E654 0024B5B4 40 82 00 30 */ bne lbl_8024E684
/* 8024E658 0024B5B8 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8024E65C 0024B5BC 2C 00 00 02 */ cmpwi r0, 2
/* 8024E660 0024B5C0 41 82 00 0C */ beq lbl_8024E66C
/* 8024E664 0024B5C4 7F A3 EB 78 */ mr r3, r29
/* 8024E668 0024B5C8 4B FF F6 B1 */ bl NoCardFound__17CMemoryCardDriverFv
lbl_8024E66C:
/* 8024E66C 0024B5CC 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 8024E670 0024B5D0 38 80 00 00 */ li r4, 0
/* 8024E674 0024B5D4 88 03 01 60 */ lbz r0, 0x160(r3)
/* 8024E678 0024B5D8 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f
/* 8024E67C 0024B5DC 98 03 01 60 */ stb r0, 0x160(r3)
/* 8024E680 0024B5E0 48 00 01 4C */ b lbl_8024E7CC
lbl_8024E684:
/* 8024E684 0024B5E4 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8024E688 0024B5E8 2C 00 00 19 */ cmpwi r0, 0x19
/* 8024E68C 0024B5EC 40 82 00 24 */ bne lbl_8024E6B0
/* 8024E690 0024B5F0 7F A3 EB 78 */ mr r3, r29
/* 8024E694 0024B5F4 4B FF F7 75 */ bl UpdateCardProbe__17CMemoryCardDriverFv
/* 8024E698 0024B5F8 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 8024E69C 0024B5FC 38 80 00 00 */ li r4, 0
/* 8024E6A0 0024B600 88 03 01 60 */ lbz r0, 0x160(r3)
/* 8024E6A4 0024B604 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f
/* 8024E6A8 0024B608 98 03 01 60 */ stb r0, 0x160(r3)
/* 8024E6AC 0024B60C 48 00 01 20 */ b lbl_8024E7CC
lbl_8024E6B0:
/* 8024E6B0 0024B610 80 7D 00 00 */ lwz r3, 0(r29)
/* 8024E6B4 0024B614 48 0F FD 39 */ bl GetResultCode__14CMemoryCardSysFi
/* 8024E6B8 0024B618 7C 60 1B 78 */ mr r0, r3
/* 8024E6BC 0024B61C 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8024E6C0 0024B620 7C 1F 03 78 */ mr r31, r0
/* 8024E6C4 0024B624 3B C0 00 00 */ li r30, 0
/* 8024E6C8 0024B628 48 00 0A 85 */ bl IsCardBusy__17CMemoryCardDriverF6EState
/* 8024E6CC 0024B62C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024E6D0 0024B630 41 82 00 EC */ beq lbl_8024E7BC
/* 8024E6D4 0024B634 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8024E6D8 0024B638 3B C0 00 01 */ li r30, 1
/* 8024E6DC 0024B63C 38 03 FF E7 */ addi r0, r3, -25
/* 8024E6E0 0024B640 28 00 00 0C */ cmplwi r0, 0xc
/* 8024E6E4 0024B644 41 81 00 D8 */ bgt lbl_8024E7BC
/* 8024E6E8 0024B648 3C 60 80 3F */ lis r3, lbl_803E8D6C@ha
/* 8024E6EC 0024B64C 54 00 10 3A */ slwi r0, r0, 2
/* 8024E6F0 0024B650 38 63 8D 6C */ addi r3, r3, lbl_803E8D6C@l
/* 8024E6F4 0024B654 7C 03 00 2E */ lwzx r0, r3, r0
/* 8024E6F8 0024B658 7C 09 03 A6 */ mtctr r0
/* 8024E6FC 0024B65C 4E 80 04 20 */ bctr
lbl_8024E700:
/* 8024E700 0024B660 7F A3 EB 78 */ mr r3, r29
/* 8024E704 0024B664 7F E4 FB 78 */ mr r4, r31
/* 8024E708 0024B668 4B FF FE 39 */ bl UpdateMountCard__17CMemoryCardDriverF11ECardResult
/* 8024E70C 0024B66C 48 00 00 B0 */ b lbl_8024E7BC
lbl_8024E710:
/* 8024E710 0024B670 7F A3 EB 78 */ mr r3, r29
/* 8024E714 0024B674 7F E4 FB 78 */ mr r4, r31
/* 8024E718 0024B678 4B FF FD A1 */ bl UpdateCardCheck__17CMemoryCardDriverF11ECardResult
/* 8024E71C 0024B67C 48 00 00 A0 */ b lbl_8024E7BC
lbl_8024E720:
/* 8024E720 0024B680 7F A3 EB 78 */ mr r3, r29
/* 8024E724 0024B684 7F E4 FB 78 */ mr r4, r31
/* 8024E728 0024B688 4B FF FB 75 */ bl UpdateFileDeleteBad__17CMemoryCardDriverF11ECardResult
/* 8024E72C 0024B68C 48 00 00 90 */ b lbl_8024E7BC
lbl_8024E730:
/* 8024E730 0024B690 7F A3 EB 78 */ mr r3, r29
/* 8024E734 0024B694 7F E4 FB 78 */ mr r4, r31
/* 8024E738 0024B698 4B FF FC 55 */ bl UpdateFileRead__17CMemoryCardDriverF11ECardResult
/* 8024E73C 0024B69C 48 00 00 80 */ b lbl_8024E7BC
lbl_8024E740:
/* 8024E740 0024B6A0 7F A3 EB 78 */ mr r3, r29
/* 8024E744 0024B6A4 7F E4 FB 78 */ mr r4, r31
/* 8024E748 0024B6A8 4B FF FB ED */ bl UpdateFileDeleteAlt__17CMemoryCardDriverF11ECardResult
/* 8024E74C 0024B6AC 48 00 00 70 */ b lbl_8024E7BC
lbl_8024E750:
/* 8024E750 0024B6B0 7F A3 EB 78 */ mr r3, r29
/* 8024E754 0024B6B4 7F E4 FB 78 */ mr r4, r31
/* 8024E758 0024B6B8 4B FF FB 09 */ bl UpdateFileCreate__17CMemoryCardDriverF11ECardResult
/* 8024E75C 0024B6BC 48 00 00 60 */ b lbl_8024E7BC
lbl_8024E760:
/* 8024E760 0024B6C0 7F A3 EB 78 */ mr r3, r29
/* 8024E764 0024B6C4 7F E4 FB 78 */ mr r4, r31
/* 8024E768 0024B6C8 4B FF FA 5D */ bl UpdateFileWrite__17CMemoryCardDriverF11ECardResult
/* 8024E76C 0024B6CC 48 00 00 50 */ b lbl_8024E7BC
lbl_8024E770:
/* 8024E770 0024B6D0 7F A3 EB 78 */ mr r3, r29
/* 8024E774 0024B6D4 7F E4 FB 78 */ mr r4, r31
/* 8024E778 0024B6D8 4B FF FA 11 */ bl UpdateFileCreateTransactional__17CMemoryCardDriverF11ECardResult
/* 8024E77C 0024B6DC 48 00 00 40 */ b lbl_8024E7BC
lbl_8024E780:
/* 8024E780 0024B6E0 7F A3 EB 78 */ mr r3, r29
/* 8024E784 0024B6E4 7F E4 FB 78 */ mr r4, r31
/* 8024E788 0024B6E8 4B FF F9 59 */ bl UpdateFileWriteTransactional__17CMemoryCardDriverF11ECardResult
/* 8024E78C 0024B6EC 48 00 00 30 */ b lbl_8024E7BC
lbl_8024E790:
/* 8024E790 0024B6F0 7F A3 EB 78 */ mr r3, r29
/* 8024E794 0024B6F4 7F E4 FB 78 */ mr r4, r31
/* 8024E798 0024B6F8 4B FF F7 A5 */ bl UpdateFileAltDeleteTransactional__17CMemoryCardDriverF11ECardResult
/* 8024E79C 0024B6FC 48 00 00 20 */ b lbl_8024E7BC
lbl_8024E7A0:
/* 8024E7A0 0024B700 7F A3 EB 78 */ mr r3, r29
/* 8024E7A4 0024B704 7F E4 FB 78 */ mr r4, r31
/* 8024E7A8 0024B708 4B FF F8 FD */ bl UpdateFileRenameBtoA__17CMemoryCardDriverF11ECardResult
/* 8024E7AC 0024B70C 48 00 00 10 */ b lbl_8024E7BC
lbl_8024E7B0:
/* 8024E7B0 0024B710 7F A3 EB 78 */ mr r3, r29
/* 8024E7B4 0024B714 7F E4 FB 78 */ mr r4, r31
/* 8024E7B8 0024B718 4B FF F7 31 */ bl UpdateCardFormat__17CMemoryCardDriverF11ECardResult
lbl_8024E7BC:
/* 8024E7BC 0024B71C 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 8024E7C0 0024B720 88 03 01 60 */ lbz r0, 0x160(r3)
/* 8024E7C4 0024B724 53 C0 07 FE */ rlwimi r0, r30, 0, 0x1f, 0x1f
/* 8024E7C8 0024B728 98 03 01 60 */ stb r0, 0x160(r3)
lbl_8024E7CC:
/* 8024E7CC 0024B72C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8024E7D0 0024B730 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8024E7D4 0024B734 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8024E7D8 0024B738 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8024E7DC 0024B73C 7C 08 03 A6 */ mtlr r0
/* 8024E7E0 0024B740 38 21 00 30 */ addi r1, r1, 0x30
/* 8024E7E4 0024B744 4E 80 00 20 */ blr
.global __dt__17CMemoryCardDriverFv
__dt__17CMemoryCardDriverFv:
/* 8024E7E8 0024B748 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8024E7EC 0024B74C 7C 08 02 A6 */ mflr r0
/* 8024E7F0 0024B750 90 01 00 24 */ stw r0, 0x24(r1)
/* 8024E7F4 0024B754 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8024E7F8 0024B758 7C 9F 23 78 */ mr r31, r4
/* 8024E7FC 0024B75C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8024E800 0024B760 7C 7E 1B 79 */ or. r30, r3, r3
/* 8024E804 0024B764 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8024E808 0024B768 93 81 00 10 */ stw r28, 0x10(r1)
/* 8024E80C 0024B76C 41 82 01 58 */ beq lbl_8024E964
/* 8024E810 0024B770 80 7E 00 00 */ lwz r3, 0(r30)
/* 8024E814 0024B774 48 0F FB 59 */ bl UnmountCard__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPort
/* 8024E818 0024B778 38 C0 00 00 */ li r6, 0
/* 8024E81C 0024B77C 80 AD A0 78 */ lwz r5, gpMain@sda21(r13)
/* 8024E820 0024B780 98 CD A5 58 */ stb r6, lbl_805A9118@sda21(r13)
/* 8024E824 0024B784 38 7E 01 98 */ addi r3, r30, 0x198
/* 8024E828 0024B788 38 80 FF FF */ li r4, -1
/* 8024E82C 0024B78C 88 05 01 60 */ lbz r0, 0x160(r5)
/* 8024E830 0024B790 50 C0 07 FE */ rlwimi r0, r6, 0, 0x1f, 0x1f
/* 8024E834 0024B794 98 05 01 60 */ stb r0, 0x160(r5)
/* 8024E838 0024B798 48 00 03 61 */ bl sub_8024eb98
/* 8024E83C 0024B79C 38 7E 01 00 */ addi r3, r30, 0x100
/* 8024E840 0024B7A0 38 80 FF FF */ li r4, -1
/* 8024E844 0024B7A4 48 00 01 45 */ bl sub_8024e988
/* 8024E848 0024B7A8 34 1E 00 E4 */ addic. r0, r30, 0xe4
/* 8024E84C 0024B7AC 41 82 00 AC */ beq lbl_8024E8F8
/* 8024E850 0024B7B0 3B 9E 00 E8 */ addi r28, r30, 0xe8
/* 8024E854 0024B7B4 3B A0 00 00 */ li r29, 0
/* 8024E858 0024B7B8 48 00 00 8C */ b lbl_8024E8E4
lbl_8024E85C:
/* 8024E85C 0024B7BC 28 1C 00 00 */ cmplwi r28, 0
/* 8024E860 0024B7C0 41 82 00 7C */ beq lbl_8024E8DC
/* 8024E864 0024B7C4 88 1C 00 00 */ lbz r0, 0(r28)
/* 8024E868 0024B7C8 28 00 00 00 */ cmplwi r0, 0
/* 8024E86C 0024B7CC 41 82 00 70 */ beq lbl_8024E8DC
/* 8024E870 0024B7D0 80 7C 00 04 */ lwz r3, 4(r28)
/* 8024E874 0024B7D4 28 03 00 00 */ cmplwi r3, 0
/* 8024E878 0024B7D8 41 82 00 64 */ beq lbl_8024E8DC
/* 8024E87C 0024B7DC 41 82 00 5C */ beq lbl_8024E8D8
/* 8024E880 0024B7E0 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024E884 0024B7E4 38 80 00 00 */ li r4, 0
/* 8024E888 0024B7E8 2C 06 00 00 */ cmpwi r6, 0
/* 8024E88C 0024B7EC 40 81 00 44 */ ble lbl_8024E8D0
/* 8024E890 0024B7F0 2C 06 00 08 */ cmpwi r6, 8
/* 8024E894 0024B7F4 38 A6 FF F8 */ addi r5, r6, -8
/* 8024E898 0024B7F8 40 81 00 20 */ ble lbl_8024E8B8
/* 8024E89C 0024B7FC 38 05 00 07 */ addi r0, r5, 7
/* 8024E8A0 0024B800 54 00 E8 FE */ srwi r0, r0, 3
/* 8024E8A4 0024B804 7C 09 03 A6 */ mtctr r0
/* 8024E8A8 0024B808 2C 05 00 00 */ cmpwi r5, 0
/* 8024E8AC 0024B80C 40 81 00 0C */ ble lbl_8024E8B8
lbl_8024E8B0:
/* 8024E8B0 0024B810 38 84 00 08 */ addi r4, r4, 8
/* 8024E8B4 0024B814 42 00 FF FC */ bdnz lbl_8024E8B0
lbl_8024E8B8:
/* 8024E8B8 0024B818 7C 04 30 50 */ subf r0, r4, r6
/* 8024E8BC 0024B81C 7C 09 03 A6 */ mtctr r0
/* 8024E8C0 0024B820 7C 04 30 00 */ cmpw r4, r6
/* 8024E8C4 0024B824 40 80 00 0C */ bge lbl_8024E8D0
lbl_8024E8C8:
/* 8024E8C8 0024B828 38 84 00 01 */ addi r4, r4, 1
/* 8024E8CC 0024B82C 42 00 FF FC */ bdnz lbl_8024E8C8
lbl_8024E8D0:
/* 8024E8D0 0024B830 38 00 00 00 */ li r0, 0
/* 8024E8D4 0024B834 90 03 00 00 */ stw r0, 0(r3)
lbl_8024E8D8:
/* 8024E8D8 0024B838 48 0C 70 59 */ bl Free__7CMemoryFPCv
lbl_8024E8DC:
/* 8024E8DC 0024B83C 3B 9C 00 08 */ addi r28, r28, 8
/* 8024E8E0 0024B840 3B BD 00 01 */ addi r29, r29, 1
lbl_8024E8E4:
/* 8024E8E4 0024B844 80 1E 00 E4 */ lwz r0, 0xe4(r30)
/* 8024E8E8 0024B848 7C 1D 00 00 */ cmpw r29, r0
/* 8024E8EC 0024B84C 41 80 FF 70 */ blt lbl_8024E85C
/* 8024E8F0 0024B850 38 00 00 00 */ li r0, 0
/* 8024E8F4 0024B854 90 1E 00 E4 */ stw r0, 0xe4(r30)
lbl_8024E8F8:
/* 8024E8F8 0024B858 34 1E 00 30 */ addic. r0, r30, 0x30
/* 8024E8FC 0024B85C 41 82 00 58 */ beq lbl_8024E954
/* 8024E900 0024B860 80 BE 00 30 */ lwz r5, 0x30(r30)
/* 8024E904 0024B864 38 60 00 00 */ li r3, 0
/* 8024E908 0024B868 2C 05 00 00 */ cmpwi r5, 0
/* 8024E90C 0024B86C 40 81 00 40 */ ble lbl_8024E94C
/* 8024E910 0024B870 2C 05 00 08 */ cmpwi r5, 8
/* 8024E914 0024B874 38 85 FF F8 */ addi r4, r5, -8
/* 8024E918 0024B878 40 81 00 20 */ ble lbl_8024E938
/* 8024E91C 0024B87C 38 04 00 07 */ addi r0, r4, 7
/* 8024E920 0024B880 54 00 E8 FE */ srwi r0, r0, 3
/* 8024E924 0024B884 7C 09 03 A6 */ mtctr r0
/* 8024E928 0024B888 2C 04 00 00 */ cmpwi r4, 0
/* 8024E92C 0024B88C 40 81 00 0C */ ble lbl_8024E938
lbl_8024E930:
/* 8024E930 0024B890 38 63 00 08 */ addi r3, r3, 8
/* 8024E934 0024B894 42 00 FF FC */ bdnz lbl_8024E930
lbl_8024E938:
/* 8024E938 0024B898 7C 03 28 50 */ subf r0, r3, r5
/* 8024E93C 0024B89C 7C 09 03 A6 */ mtctr r0
/* 8024E940 0024B8A0 7C 03 28 00 */ cmpw r3, r5
/* 8024E944 0024B8A4 40 80 00 08 */ bge lbl_8024E94C
lbl_8024E948:
/* 8024E948 0024B8A8 42 00 00 00 */ bdnz lbl_8024E948
lbl_8024E94C:
/* 8024E94C 0024B8AC 38 00 00 00 */ li r0, 0
/* 8024E950 0024B8B0 90 1E 00 30 */ stw r0, 0x30(r30)
lbl_8024E954:
/* 8024E954 0024B8B4 7F E0 07 35 */ extsh. r0, r31
/* 8024E958 0024B8B8 40 81 00 0C */ ble lbl_8024E964
/* 8024E95C 0024B8BC 7F C3 F3 78 */ mr r3, r30
/* 8024E960 0024B8C0 48 0C 6F D1 */ bl Free__7CMemoryFPCv
lbl_8024E964:
/* 8024E964 0024B8C4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8024E968 0024B8C8 7F C3 F3 78 */ mr r3, r30
/* 8024E96C 0024B8CC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8024E970 0024B8D0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8024E974 0024B8D4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8024E978 0024B8D8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8024E97C 0024B8DC 7C 08 03 A6 */ mtlr r0
/* 8024E980 0024B8E0 38 21 00 20 */ addi r1, r1, 0x20
/* 8024E984 0024B8E4 4E 80 00 20 */ blr
.global sub_8024e988
sub_8024e988:
/* 8024E988 0024B8E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024E98C 0024B8EC 7C 08 02 A6 */ mflr r0
/* 8024E990 0024B8F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024E994 0024B8F4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024E998 0024B8F8 7C 9F 23 78 */ mr r31, r4
/* 8024E99C 0024B8FC 93 C1 00 08 */ stw r30, 8(r1)
/* 8024E9A0 0024B900 7C 7E 1B 79 */ or. r30, r3, r3
/* 8024E9A4 0024B904 41 82 00 18 */ beq lbl_8024E9BC
/* 8024E9A8 0024B908 48 00 00 31 */ bl sub_8024e9d8
/* 8024E9AC 0024B90C 7F E0 07 35 */ extsh. r0, r31
/* 8024E9B0 0024B910 40 81 00 0C */ ble lbl_8024E9BC
/* 8024E9B4 0024B914 7F C3 F3 78 */ mr r3, r30
/* 8024E9B8 0024B918 48 0C 6F 79 */ bl Free__7CMemoryFPCv
lbl_8024E9BC:
/* 8024E9BC 0024B91C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024E9C0 0024B920 7F C3 F3 78 */ mr r3, r30
/* 8024E9C4 0024B924 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024E9C8 0024B928 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024E9CC 0024B92C 7C 08 03 A6 */ mtlr r0
/* 8024E9D0 0024B930 38 21 00 10 */ addi r1, r1, 0x10
/* 8024E9D4 0024B934 4E 80 00 20 */ blr
.global sub_8024e9d8
sub_8024e9d8:
/* 8024E9D8 0024B938 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8024E9DC 0024B93C 7C 08 02 A6 */ mflr r0
/* 8024E9E0 0024B940 90 01 00 24 */ stw r0, 0x24(r1)
/* 8024E9E4 0024B944 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8024E9E8 0024B948 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8024E9EC 0024B94C 3B C0 00 00 */ li r30, 0
/* 8024E9F0 0024B950 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8024E9F4 0024B954 7C 7D 1B 78 */ mr r29, r3
/* 8024E9F8 0024B958 3B FD 00 04 */ addi r31, r29, 4
/* 8024E9FC 0024B95C 48 00 00 14 */ b lbl_8024EA10
lbl_8024EA00:
/* 8024EA00 0024B960 7F E3 FB 78 */ mr r3, r31
/* 8024EA04 0024B964 48 00 00 3D */ bl sub_8024ea40
/* 8024EA08 0024B968 3B FF 00 48 */ addi r31, r31, 0x48
/* 8024EA0C 0024B96C 3B DE 00 01 */ addi r30, r30, 1
lbl_8024EA10:
/* 8024EA10 0024B970 80 1D 00 00 */ lwz r0, 0(r29)
/* 8024EA14 0024B974 7C 1E 00 00 */ cmpw r30, r0
/* 8024EA18 0024B978 41 80 FF E8 */ blt lbl_8024EA00
/* 8024EA1C 0024B97C 38 00 00 00 */ li r0, 0
/* 8024EA20 0024B980 90 1D 00 00 */ stw r0, 0(r29)
/* 8024EA24 0024B984 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8024EA28 0024B988 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8024EA2C 0024B98C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8024EA30 0024B990 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8024EA34 0024B994 7C 08 03 A6 */ mtlr r0
/* 8024EA38 0024B998 38 21 00 20 */ addi r1, r1, 0x20
/* 8024EA3C 0024B99C 4E 80 00 20 */ blr
.global sub_8024ea40
sub_8024ea40:
/* 8024EA40 0024B9A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024EA44 0024B9A4 7C 08 02 A6 */ mflr r0
/* 8024EA48 0024B9A8 38 80 FF FF */ li r4, -1
/* 8024EA4C 0024B9AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024EA50 0024B9B0 48 00 00 15 */ bl "__dt__Q24rstl29pair<i,19SMemoryCardSlotInfo>Fv"
/* 8024EA54 0024B9B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024EA58 0024B9B8 7C 08 03 A6 */ mtlr r0
/* 8024EA5C 0024B9BC 38 21 00 10 */ addi r1, r1, 0x10
/* 8024EA60 0024B9C0 4E 80 00 20 */ blr
.global "__dt__Q24rstl29pair<i,19SMemoryCardSlotInfo>Fv"
"__dt__Q24rstl29pair<i,19SMemoryCardSlotInfo>Fv":
/* 8024EA64 0024B9C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024EA68 0024B9C8 7C 08 02 A6 */ mflr r0
/* 8024EA6C 0024B9CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024EA70 0024B9D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024EA74 0024B9D4 7C 9F 23 78 */ mr r31, r4
/* 8024EA78 0024B9D8 93 C1 00 08 */ stw r30, 8(r1)
/* 8024EA7C 0024B9DC 7C 7E 1B 79 */ or. r30, r3, r3
/* 8024EA80 0024B9E0 41 82 00 20 */ beq lbl_8024EAA0
/* 8024EA84 0024B9E4 38 7E 00 04 */ addi r3, r30, 4
/* 8024EA88 0024B9E8 38 80 FF FF */ li r4, -1
/* 8024EA8C 0024B9EC 48 00 00 31 */ bl __dt__19SMemoryCardFileInfoFv
/* 8024EA90 0024B9F0 7F E0 07 35 */ extsh. r0, r31
/* 8024EA94 0024B9F4 40 81 00 0C */ ble lbl_8024EAA0
/* 8024EA98 0024B9F8 7F C3 F3 78 */ mr r3, r30
/* 8024EA9C 0024B9FC 48 0C 6E 95 */ bl Free__7CMemoryFPCv
lbl_8024EAA0:
/* 8024EAA0 0024BA00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024EAA4 0024BA04 7F C3 F3 78 */ mr r3, r30
/* 8024EAA8 0024BA08 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024EAAC 0024BA0C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024EAB0 0024BA10 7C 08 03 A6 */ mtlr r0
/* 8024EAB4 0024BA14 38 21 00 10 */ addi r1, r1, 0x10
/* 8024EAB8 0024BA18 4E 80 00 20 */ blr
.global __dt__19SMemoryCardFileInfoFv
__dt__19SMemoryCardFileInfoFv:
/* 8024EABC 0024BA1C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8024EAC0 0024BA20 7C 08 02 A6 */ mflr r0
/* 8024EAC4 0024BA24 90 01 00 34 */ stw r0, 0x34(r1)
/* 8024EAC8 0024BA28 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8024EACC 0024BA2C 7C 9F 23 78 */ mr r31, r4
/* 8024EAD0 0024BA30 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8024EAD4 0024BA34 7C 7E 1B 79 */ or. r30, r3, r3
/* 8024EAD8 0024BA38 41 82 00 A4 */ beq lbl_8024EB7C
/* 8024EADC 0024BA3C 34 1E 00 34 */ addic. r0, r30, 0x34
/* 8024EAE0 0024BA40 41 82 00 40 */ beq lbl_8024EB20
/* 8024EAE4 0024BA44 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 8024EAE8 0024BA48 80 1E 00 38 */ lwz r0, 0x38(r30)
/* 8024EAEC 0024BA4C 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8024EAF0 0024BA50 7C 83 02 14 */ add r4, r3, r0
/* 8024EAF4 0024BA54 7C 03 20 50 */ subf r0, r3, r4
/* 8024EAF8 0024BA58 90 81 00 24 */ stw r4, 0x24(r1)
/* 8024EAFC 0024BA5C 90 81 00 20 */ stw r4, 0x20(r1)
/* 8024EB00 0024BA60 90 61 00 18 */ stw r3, 0x18(r1)
/* 8024EB04 0024BA64 7C 09 03 A6 */ mtctr r0
/* 8024EB08 0024BA68 7C 03 20 40 */ cmplw r3, r4
/* 8024EB0C 0024BA6C 41 82 00 08 */ beq lbl_8024EB14
lbl_8024EB10:
/* 8024EB10 0024BA70 42 00 00 00 */ bdnz lbl_8024EB10
lbl_8024EB14:
/* 8024EB14 0024BA74 28 03 00 00 */ cmplwi r3, 0
/* 8024EB18 0024BA78 41 82 00 08 */ beq lbl_8024EB20
/* 8024EB1C 0024BA7C 48 0C 6E 15 */ bl Free__7CMemoryFPCv
lbl_8024EB20:
/* 8024EB20 0024BA80 34 1E 00 24 */ addic. r0, r30, 0x24
/* 8024EB24 0024BA84 41 82 00 38 */ beq lbl_8024EB5C
/* 8024EB28 0024BA88 80 7E 00 30 */ lwz r3, 0x30(r30)
/* 8024EB2C 0024BA8C 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 8024EB30 0024BA90 90 61 00 0C */ stw r3, 0xc(r1)
/* 8024EB34 0024BA94 7C 83 02 14 */ add r4, r3, r0
/* 8024EB38 0024BA98 7C 03 20 50 */ subf r0, r3, r4
/* 8024EB3C 0024BA9C 90 81 00 14 */ stw r4, 0x14(r1)
/* 8024EB40 0024BAA0 90 81 00 10 */ stw r4, 0x10(r1)
/* 8024EB44 0024BAA4 90 61 00 08 */ stw r3, 8(r1)
/* 8024EB48 0024BAA8 7C 09 03 A6 */ mtctr r0
/* 8024EB4C 0024BAAC 7C 03 20 40 */ cmplw r3, r4
/* 8024EB50 0024BAB0 41 82 00 08 */ beq lbl_8024EB58
lbl_8024EB54:
/* 8024EB54 0024BAB4 42 00 00 00 */ bdnz lbl_8024EB54
lbl_8024EB58:
/* 8024EB58 0024BAB8 48 0C 6D D9 */ bl Free__7CMemoryFPCv
lbl_8024EB5C:
/* 8024EB5C 0024BABC 34 1E 00 14 */ addic. r0, r30, 0x14
/* 8024EB60 0024BAC0 41 82 00 0C */ beq lbl_8024EB6C
/* 8024EB64 0024BAC4 38 7E 00 14 */ addi r3, r30, 0x14
/* 8024EB68 0024BAC8 48 0E EF 79 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8024EB6C:
/* 8024EB6C 0024BACC 7F E0 07 35 */ extsh. r0, r31
/* 8024EB70 0024BAD0 40 81 00 0C */ ble lbl_8024EB7C
/* 8024EB74 0024BAD4 7F C3 F3 78 */ mr r3, r30
/* 8024EB78 0024BAD8 48 0C 6D B9 */ bl Free__7CMemoryFPCv
lbl_8024EB7C:
/* 8024EB7C 0024BADC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8024EB80 0024BAE0 7F C3 F3 78 */ mr r3, r30
/* 8024EB84 0024BAE4 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8024EB88 0024BAE8 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8024EB8C 0024BAEC 7C 08 03 A6 */ mtlr r0
/* 8024EB90 0024BAF0 38 21 00 30 */ addi r1, r1, 0x30
/* 8024EB94 0024BAF4 4E 80 00 20 */ blr
.global sub_8024eb98
sub_8024eb98:
/* 8024EB98 0024BAF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024EB9C 0024BAFC 7C 08 02 A6 */ mflr r0
/* 8024EBA0 0024BB00 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024EBA4 0024BB04 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024EBA8 0024BB08 7C 9F 23 78 */ mr r31, r4
/* 8024EBAC 0024BB0C 93 C1 00 08 */ stw r30, 8(r1)
/* 8024EBB0 0024BB10 7C 7E 1B 79 */ or. r30, r3, r3
/* 8024EBB4 0024BB14 41 82 00 20 */ beq lbl_8024EBD4
/* 8024EBB8 0024BB18 80 7E 00 00 */ lwz r3, 0(r30)
/* 8024EBBC 0024BB1C 38 80 00 01 */ li r4, 1
/* 8024EBC0 0024BB20 4B FF EA AD */ bl __dt__13CCardFileInfoFv
/* 8024EBC4 0024BB24 7F E0 07 35 */ extsh. r0, r31
/* 8024EBC8 0024BB28 40 81 00 0C */ ble lbl_8024EBD4
/* 8024EBCC 0024BB2C 7F C3 F3 78 */ mr r3, r30
/* 8024EBD0 0024BB30 48 0C 6D 61 */ bl Free__7CMemoryFPCv
lbl_8024EBD4:
/* 8024EBD4 0024BB34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024EBD8 0024BB38 7F C3 F3 78 */ mr r3, r30
/* 8024EBDC 0024BB3C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024EBE0 0024BB40 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024EBE4 0024BB44 7C 08 03 A6 */ mtlr r0
/* 8024EBE8 0024BB48 38 21 00 10 */ addi r1, r1, 0x10
/* 8024EBEC 0024BB4C 4E 80 00 20 */ blr
.global ClearFileInfo__17CMemoryCardDriverFv
ClearFileInfo__17CMemoryCardDriverFv:
/* 8024EBF0 0024BB50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024EBF4 0024BB54 7C 08 02 A6 */ mflr r0
/* 8024EBF8 0024BB58 38 80 00 00 */ li r4, 0
/* 8024EBFC 0024BB5C 38 63 01 98 */ addi r3, r3, 0x198
/* 8024EC00 0024BB60 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024EC04 0024BB64 4B FF EA 21 */ bl sub_8024d624
/* 8024EC08 0024BB68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024EC0C 0024BB6C 7C 08 03 A6 */ mtlr r0
/* 8024EC10 0024BB70 38 21 00 10 */ addi r1, r1, 0x10
/* 8024EC14 0024BB74 4E 80 00 20 */ blr
.global __ct__17CMemoryCardDriverFQ214CMemoryCardSys15EMemoryCardPortUiUiUib
__ct__17CMemoryCardDriverFQ214CMemoryCardSys15EMemoryCardPortUiUiUib:
/* 8024EC18 0024BB78 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8024EC1C 0024BB7C 7C 08 02 A6 */ mflr r0
/* 8024EC20 0024BB80 39 20 00 00 */ li r9, 0
/* 8024EC24 0024BB84 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8024EC28 0024BB88 38 00 00 1D */ li r0, 0x1d
/* 8024EC2C 0024BB8C 93 E1 00 CC */ stw r31, 0xcc(r1)
/* 8024EC30 0024BB90 7D 1F 43 78 */ mr r31, r8
/* 8024EC34 0024BB94 93 C1 00 C8 */ stw r30, 0xc8(r1)
/* 8024EC38 0024BB98 7C 7E 1B 78 */ mr r30, r3
/* 8024EC3C 0024BB9C 90 83 00 00 */ stw r4, 0(r3)
/* 8024EC40 0024BBA0 38 60 00 AE */ li r3, 0xae
/* 8024EC44 0024BBA4 38 9E 00 34 */ addi r4, r30, 0x34
/* 8024EC48 0024BBA8 90 BE 00 04 */ stw r5, 4(r30)
/* 8024EC4C 0024BBAC 90 DE 00 08 */ stw r6, 8(r30)
/* 8024EC50 0024BBB0 90 FE 00 0C */ stw r7, 0xc(r30)
/* 8024EC54 0024BBB4 91 3E 00 10 */ stw r9, 0x10(r30)
/* 8024EC58 0024BBB8 91 3E 00 14 */ stw r9, 0x14(r30)
/* 8024EC5C 0024BBBC 91 3E 00 18 */ stw r9, 0x18(r30)
/* 8024EC60 0024BBC0 91 3E 00 1C */ stw r9, 0x1c(r30)
/* 8024EC64 0024BBC4 91 3E 00 20 */ stw r9, 0x20(r30)
/* 8024EC68 0024BBC8 91 3E 00 2C */ stw r9, 0x2c(r30)
/* 8024EC6C 0024BBCC 91 3E 00 28 */ stw r9, 0x28(r30)
/* 8024EC70 0024BBD0 90 7E 00 30 */ stw r3, 0x30(r30)
/* 8024EC74 0024BBD4 7C 09 03 A6 */ mtctr r0
lbl_8024EC78:
/* 8024EC78 0024BBD8 28 04 00 00 */ cmplwi r4, 0
/* 8024EC7C 0024BBDC 41 82 00 0C */ beq lbl_8024EC88
/* 8024EC80 0024BBE0 88 0D 97 10 */ lbz r0, lbl_805A82D0@sda21(r13)
/* 8024EC84 0024BBE4 98 04 00 00 */ stb r0, 0(r4)
lbl_8024EC88:
/* 8024EC88 0024BBE8 34 84 00 01 */ addic. r4, r4, 1
/* 8024EC8C 0024BBEC 41 82 00 0C */ beq lbl_8024EC98
/* 8024EC90 0024BBF0 88 0D 97 10 */ lbz r0, lbl_805A82D0@sda21(r13)
/* 8024EC94 0024BBF4 98 04 00 00 */ stb r0, 0(r4)
lbl_8024EC98:
/* 8024EC98 0024BBF8 34 84 00 01 */ addic. r4, r4, 1
/* 8024EC9C 0024BBFC 41 82 00 0C */ beq lbl_8024ECA8
/* 8024ECA0 0024BC00 88 0D 97 10 */ lbz r0, lbl_805A82D0@sda21(r13)
/* 8024ECA4 0024BC04 98 04 00 00 */ stb r0, 0(r4)
lbl_8024ECA8:
/* 8024ECA8 0024BC08 34 84 00 01 */ addic. r4, r4, 1
/* 8024ECAC 0024BC0C 41 82 00 0C */ beq lbl_8024ECB8
/* 8024ECB0 0024BC10 88 0D 97 10 */ lbz r0, lbl_805A82D0@sda21(r13)
/* 8024ECB4 0024BC14 98 04 00 00 */ stb r0, 0(r4)
lbl_8024ECB8:
/* 8024ECB8 0024BC18 34 84 00 01 */ addic. r4, r4, 1
/* 8024ECBC 0024BC1C 41 82 00 0C */ beq lbl_8024ECC8
/* 8024ECC0 0024BC20 88 0D 97 10 */ lbz r0, lbl_805A82D0@sda21(r13)
/* 8024ECC4 0024BC24 98 04 00 00 */ stb r0, 0(r4)
lbl_8024ECC8:
/* 8024ECC8 0024BC28 34 84 00 01 */ addic. r4, r4, 1
/* 8024ECCC 0024BC2C 41 82 00 0C */ beq lbl_8024ECD8
/* 8024ECD0 0024BC30 88 0D 97 10 */ lbz r0, lbl_805A82D0@sda21(r13)
/* 8024ECD4 0024BC34 98 04 00 00 */ stb r0, 0(r4)
lbl_8024ECD8:
/* 8024ECD8 0024BC38 39 29 00 05 */ addi r9, r9, 5
/* 8024ECDC 0024BC3C 38 84 00 01 */ addi r4, r4, 1
/* 8024ECE0 0024BC40 42 00 FF 98 */ bdnz lbl_8024EC78
/* 8024ECE4 0024BC44 38 60 00 00 */ li r3, 0
/* 8024ECE8 0024BC48 38 00 00 03 */ li r0, 3
/* 8024ECEC 0024BC4C 34 9E 00 E8 */ addic. r4, r30, 0xe8
/* 8024ECF0 0024BC50 98 61 00 08 */ stb r3, 8(r1)
/* 8024ECF4 0024BC54 90 61 00 0C */ stw r3, 0xc(r1)
/* 8024ECF8 0024BC58 90 1E 00 E4 */ stw r0, 0xe4(r30)
/* 8024ECFC 0024BC5C 41 82 00 10 */ beq lbl_8024ED0C
/* 8024ED00 0024BC60 98 64 00 00 */ stb r3, 0(r4)
/* 8024ED04 0024BC64 98 61 00 08 */ stb r3, 8(r1)
/* 8024ED08 0024BC68 90 64 00 04 */ stw r3, 4(r4)
lbl_8024ED0C:
/* 8024ED0C 0024BC6C 34 84 00 08 */ addic. r4, r4, 8
/* 8024ED10 0024BC70 41 82 00 14 */ beq lbl_8024ED24
/* 8024ED14 0024BC74 88 01 00 08 */ lbz r0, 8(r1)
/* 8024ED18 0024BC78 98 04 00 00 */ stb r0, 0(r4)
/* 8024ED1C 0024BC7C 90 64 00 04 */ stw r3, 4(r4)
/* 8024ED20 0024BC80 98 61 00 08 */ stb r3, 8(r1)
lbl_8024ED24:
/* 8024ED24 0024BC84 34 84 00 08 */ addic. r4, r4, 8
/* 8024ED28 0024BC88 41 82 00 14 */ beq lbl_8024ED3C
/* 8024ED2C 0024BC8C 88 01 00 08 */ lbz r0, 8(r1)
/* 8024ED30 0024BC90 98 04 00 00 */ stb r0, 0(r4)
/* 8024ED34 0024BC94 90 64 00 04 */ stw r3, 4(r4)
/* 8024ED38 0024BC98 98 61 00 08 */ stb r3, 8(r1)
lbl_8024ED3C:
/* 8024ED3C 0024BC9C 88 01 00 08 */ lbz r0, 8(r1)
/* 8024ED40 0024BCA0 28 00 00 00 */ cmplwi r0, 0
/* 8024ED44 0024BCA4 41 82 00 6C */ beq lbl_8024EDB0
/* 8024ED48 0024BCA8 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8024ED4C 0024BCAC 28 03 00 00 */ cmplwi r3, 0
/* 8024ED50 0024BCB0 41 82 00 60 */ beq lbl_8024EDB0
/* 8024ED54 0024BCB4 41 82 00 58 */ beq lbl_8024EDAC
/* 8024ED58 0024BCB8 80 C3 00 00 */ lwz r6, 0(r3)
/* 8024ED5C 0024BCBC 38 80 00 00 */ li r4, 0
/* 8024ED60 0024BCC0 2C 06 00 00 */ cmpwi r6, 0
/* 8024ED64 0024BCC4 40 81 00 40 */ ble lbl_8024EDA4
/* 8024ED68 0024BCC8 2C 06 00 08 */ cmpwi r6, 8
/* 8024ED6C 0024BCCC 38 A6 FF F8 */ addi r5, r6, -8
/* 8024ED70 0024BCD0 40 81 00 20 */ ble lbl_8024ED90
/* 8024ED74 0024BCD4 38 05 00 07 */ addi r0, r5, 7
/* 8024ED78 0024BCD8 54 00 E8 FE */ srwi r0, r0, 3
/* 8024ED7C 0024BCDC 7C 09 03 A6 */ mtctr r0
/* 8024ED80 0024BCE0 2C 05 00 00 */ cmpwi r5, 0
/* 8024ED84 0024BCE4 40 81 00 0C */ ble lbl_8024ED90
lbl_8024ED88:
/* 8024ED88 0024BCE8 38 84 00 08 */ addi r4, r4, 8
/* 8024ED8C 0024BCEC 42 00 FF FC */ bdnz lbl_8024ED88
lbl_8024ED90:
/* 8024ED90 0024BCF0 7C 04 30 50 */ subf r0, r4, r6
/* 8024ED94 0024BCF4 7C 09 03 A6 */ mtctr r0
/* 8024ED98 0024BCF8 7C 04 30 00 */ cmpw r4, r6
/* 8024ED9C 0024BCFC 40 80 00 08 */ bge lbl_8024EDA4
lbl_8024EDA0:
/* 8024EDA0 0024BD00 42 00 00 00 */ bdnz lbl_8024EDA0
lbl_8024EDA4:
/* 8024EDA4 0024BD04 38 00 00 00 */ li r0, 0
/* 8024EDA8 0024BD08 90 03 00 00 */ stw r0, 0(r3)
lbl_8024EDAC:
/* 8024EDAC 0024BD0C 48 0C 6B 85 */ bl Free__7CMemoryFPCv
lbl_8024EDB0:
/* 8024EDB0 0024BD10 38 A0 00 00 */ li r5, 0
/* 8024EDB4 0024BD14 38 60 FF FF */ li r3, -1
/* 8024EDB8 0024BD18 90 BE 01 00 */ stw r5, 0x100(r30)
/* 8024EDBC 0024BD1C 38 00 00 01 */ li r0, 1
/* 8024EDC0 0024BD20 80 82 B8 B0 */ lwz r4, skSaveFileNames@sda21(r2)
/* 8024EDC4 0024BD24 90 7E 01 94 */ stw r3, 0x194(r30)
/* 8024EDC8 0024BD28 38 61 00 20 */ addi r3, r1, 0x20
/* 8024EDCC 0024BD2C 90 BE 01 98 */ stw r5, 0x198(r30)
/* 8024EDD0 0024BD30 98 BE 01 9C */ stb r5, 0x19c(r30)
/* 8024EDD4 0024BD34 9B FE 01 9D */ stb r31, 0x19d(r30)
/* 8024EDD8 0024BD38 98 0D A5 58 */ stb r0, lbl_805A9118@sda21(r13)
/* 8024EDDC 0024BD3C 4B DB 5E DD */ bl string_l__4rstlFPCc
/* 8024EDE0 0024BD40 80 9E 00 00 */ lwz r4, 0(r30)
/* 8024EDE4 0024BD44 38 00 00 00 */ li r0, 0
/* 8024EDE8 0024BD48 38 61 00 7C */ addi r3, r1, 0x7c
/* 8024EDEC 0024BD4C 38 A1 00 20 */ addi r5, r1, 0x20
/* 8024EDF0 0024BD50 90 01 00 78 */ stw r0, 0x78(r1)
/* 8024EDF4 0024BD54 48 0F F4 99 */ bl __ct__19SMemoryCardFileInfoFiRCQ24rstl6string
/* 8024EDF8 0024BD58 38 7E 01 00 */ addi r3, r30, 0x100
/* 8024EDFC 0024BD5C 38 81 00 78 */ addi r4, r1, 0x78
/* 8024EE00 0024BD60 48 00 00 7D */ bl sub_8024ee7c
/* 8024EE04 0024BD64 38 61 00 78 */ addi r3, r1, 0x78
/* 8024EE08 0024BD68 38 80 FF FF */ li r4, -1
/* 8024EE0C 0024BD6C 4B FF FC 59 */ bl "__dt__Q24rstl29pair<i,19SMemoryCardSlotInfo>Fv"
/* 8024EE10 0024BD70 38 61 00 20 */ addi r3, r1, 0x20
/* 8024EE14 0024BD74 48 0E EC CD */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8024EE18 0024BD78 38 82 B8 B0 */ addi r4, r2, skSaveFileNames@sda21
/* 8024EE1C 0024BD7C 38 61 00 10 */ addi r3, r1, 0x10
/* 8024EE20 0024BD80 80 84 00 04 */ lwz r4, 4(r4)
/* 8024EE24 0024BD84 4B DB 5E 95 */ bl string_l__4rstlFPCc
/* 8024EE28 0024BD88 80 9E 00 00 */ lwz r4, 0(r30)
/* 8024EE2C 0024BD8C 38 00 00 00 */ li r0, 0
/* 8024EE30 0024BD90 38 61 00 34 */ addi r3, r1, 0x34
/* 8024EE34 0024BD94 38 A1 00 10 */ addi r5, r1, 0x10
/* 8024EE38 0024BD98 90 01 00 30 */ stw r0, 0x30(r1)
/* 8024EE3C 0024BD9C 48 0F F4 51 */ bl __ct__19SMemoryCardFileInfoFiRCQ24rstl6string
/* 8024EE40 0024BDA0 38 7E 01 00 */ addi r3, r30, 0x100
/* 8024EE44 0024BDA4 38 81 00 30 */ addi r4, r1, 0x30
/* 8024EE48 0024BDA8 48 00 00 35 */ bl sub_8024ee7c
/* 8024EE4C 0024BDAC 38 61 00 30 */ addi r3, r1, 0x30
/* 8024EE50 0024BDB0 38 80 FF FF */ li r4, -1
/* 8024EE54 0024BDB4 4B FF FC 11 */ bl "__dt__Q24rstl29pair<i,19SMemoryCardSlotInfo>Fv"
/* 8024EE58 0024BDB8 38 61 00 10 */ addi r3, r1, 0x10
/* 8024EE5C 0024BDBC 48 0E EC 85 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8024EE60 0024BDC0 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 8024EE64 0024BDC4 7F C3 F3 78 */ mr r3, r30
/* 8024EE68 0024BDC8 83 E1 00 CC */ lwz r31, 0xcc(r1)
/* 8024EE6C 0024BDCC 83 C1 00 C8 */ lwz r30, 0xc8(r1)
/* 8024EE70 0024BDD0 7C 08 03 A6 */ mtlr r0
/* 8024EE74 0024BDD4 38 21 00 D0 */ addi r1, r1, 0xd0
/* 8024EE78 0024BDD8 4E 80 00 20 */ blr
.global sub_8024ee7c
sub_8024ee7c:
/* 8024EE7C 0024BDDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024EE80 0024BDE0 7C 08 02 A6 */ mflr r0
/* 8024EE84 0024BDE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024EE88 0024BDE8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024EE8C 0024BDEC 7C 7F 1B 78 */ mr r31, r3
/* 8024EE90 0024BDF0 80 03 00 00 */ lwz r0, 0(r3)
/* 8024EE94 0024BDF4 1C 00 00 48 */ mulli r0, r0, 0x48
/* 8024EE98 0024BDF8 7C 7F 02 14 */ add r3, r31, r0
/* 8024EE9C 0024BDFC 38 63 00 04 */ addi r3, r3, 4
/* 8024EEA0 0024BE00 48 00 00 25 */ bl sub_8024eec4
/* 8024EEA4 0024BE04 80 7F 00 00 */ lwz r3, 0(r31)
/* 8024EEA8 0024BE08 38 03 00 01 */ addi r0, r3, 1
/* 8024EEAC 0024BE0C 90 1F 00 00 */ stw r0, 0(r31)
/* 8024EEB0 0024BE10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024EEB4 0024BE14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024EEB8 0024BE18 7C 08 03 A6 */ mtlr r0
/* 8024EEBC 0024BE1C 38 21 00 10 */ addi r1, r1, 0x10
/* 8024EEC0 0024BE20 4E 80 00 20 */ blr
.global sub_8024eec4
sub_8024eec4:
/* 8024EEC4 0024BE24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024EEC8 0024BE28 7C 08 02 A6 */ mflr r0
/* 8024EECC 0024BE2C 28 03 00 00 */ cmplwi r3, 0
/* 8024EED0 0024BE30 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024EED4 0024BE34 41 82 00 08 */ beq lbl_8024EEDC
/* 8024EED8 0024BE38 48 00 00 15 */ bl sub_8024eeec
lbl_8024EEDC:
/* 8024EEDC 0024BE3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024EEE0 0024BE40 7C 08 03 A6 */ mtlr r0
/* 8024EEE4 0024BE44 38 21 00 10 */ addi r1, r1, 0x10
/* 8024EEE8 0024BE48 4E 80 00 20 */ blr
.global sub_8024eeec
sub_8024eeec:
/* 8024EEEC 0024BE4C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024EEF0 0024BE50 7C 08 02 A6 */ mflr r0
/* 8024EEF4 0024BE54 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024EEF8 0024BE58 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024EEFC 0024BE5C 7C 7F 1B 78 */ mr r31, r3
/* 8024EF00 0024BE60 38 7F 00 04 */ addi r3, r31, 4
/* 8024EF04 0024BE64 80 04 00 00 */ lwz r0, 0(r4)
/* 8024EF08 0024BE68 38 84 00 04 */ addi r4, r4, 4
/* 8024EF0C 0024BE6C 90 1F 00 00 */ stw r0, 0(r31)
/* 8024EF10 0024BE70 48 00 00 1D */ bl sub_8024ef2c
/* 8024EF14 0024BE74 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024EF18 0024BE78 7F E3 FB 78 */ mr r3, r31
/* 8024EF1C 0024BE7C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024EF20 0024BE80 7C 08 03 A6 */ mtlr r0
/* 8024EF24 0024BE84 38 21 00 10 */ addi r1, r1, 0x10
/* 8024EF28 0024BE88 4E 80 00 20 */ blr
.global sub_8024ef2c
sub_8024ef2c:
/* 8024EF2C 0024BE8C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8024EF30 0024BE90 7C 08 02 A6 */ mflr r0
/* 8024EF34 0024BE94 90 01 00 24 */ stw r0, 0x24(r1)
/* 8024EF38 0024BE98 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8024EF3C 0024BE9C 7C 9F 23 78 */ mr r31, r4
/* 8024EF40 0024BEA0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8024EF44 0024BEA4 7C 7E 1B 78 */ mr r30, r3
/* 8024EF48 0024BEA8 38 7E 00 14 */ addi r3, r30, 0x14
/* 8024EF4C 0024BEAC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8024EF50 0024BEB0 80 A4 00 00 */ lwz r5, 0(r4)
/* 8024EF54 0024BEB4 80 04 00 04 */ lwz r0, 4(r4)
/* 8024EF58 0024BEB8 38 9F 00 14 */ addi r4, r31, 0x14
/* 8024EF5C 0024BEBC 90 BE 00 00 */ stw r5, 0(r30)
/* 8024EF60 0024BEC0 90 1E 00 04 */ stw r0, 4(r30)
/* 8024EF64 0024BEC4 80 BF 00 08 */ lwz r5, 8(r31)
/* 8024EF68 0024BEC8 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8024EF6C 0024BECC 90 BE 00 08 */ stw r5, 8(r30)
/* 8024EF70 0024BED0 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8024EF74 0024BED4 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8024EF78 0024BED8 90 1E 00 10 */ stw r0, 0x10(r30)
/* 8024EF7C 0024BEDC 48 0E F1 E5 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8024EF80 0024BEE0 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 8024EF84 0024BEE4 90 1E 00 28 */ stw r0, 0x28(r30)
/* 8024EF88 0024BEE8 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 8024EF8C 0024BEEC 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 8024EF90 0024BEF0 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 8024EF94 0024BEF4 2C 00 00 00 */ cmpwi r0, 0
/* 8024EF98 0024BEF8 40 82 00 1C */ bne lbl_8024EFB4
/* 8024EF9C 0024BEFC 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 8024EFA0 0024BF00 2C 00 00 00 */ cmpwi r0, 0
/* 8024EFA4 0024BF04 40 82 00 10 */ bne lbl_8024EFB4
/* 8024EFA8 0024BF08 38 00 00 00 */ li r0, 0
/* 8024EFAC 0024BF0C 90 1E 00 30 */ stw r0, 0x30(r30)
/* 8024EFB0 0024BF10 48 00 00 88 */ b lbl_8024F038
lbl_8024EFB4:
/* 8024EFB4 0024BF14 83 BE 00 2C */ lwz r29, 0x2c(r30)
/* 8024EFB8 0024BF18 2C 1D 00 00 */ cmpwi r29, 0
/* 8024EFBC 0024BF1C 40 82 00 0C */ bne lbl_8024EFC8
/* 8024EFC0 0024BF20 38 60 00 00 */ li r3, 0
/* 8024EFC4 0024BF24 48 00 00 3C */ b lbl_8024F000
lbl_8024EFC8:
/* 8024EFC8 0024BF28 3C 60 80 3D */ lis r3, lbl_803D47CC@ha
/* 8024EFCC 0024BF2C 3C 80 80 3D */ lis r4, lbl_803D6AA8@ha
/* 8024EFD0 0024BF30 38 A3 47 CC */ addi r5, r3, lbl_803D47CC@l
/* 8024EFD4 0024BF34 38 C4 6A A8 */ addi r6, r4, lbl_803D6AA8@l
/* 8024EFD8 0024BF38 38 61 00 08 */ addi r3, r1, 8
/* 8024EFDC 0024BF3C 38 80 FF FF */ li r4, -1
/* 8024EFE0 0024BF40 38 A5 02 A1 */ addi r5, r5, 0x2a1
/* 8024EFE4 0024BF44 48 08 73 F1 */ bl __ct__10CCallStackFUiPCcPCc
/* 8024EFE8 0024BF48 7C 67 1B 78 */ mr r7, r3
/* 8024EFEC 0024BF4C 7F A3 EB 78 */ mr r3, r29
/* 8024EFF0 0024BF50 38 80 00 02 */ li r4, 2
/* 8024EFF4 0024BF54 38 A0 00 01 */ li r5, 1
/* 8024EFF8 0024BF58 38 C0 00 00 */ li r6, 0
/* 8024EFFC 0024BF5C 48 0C 69 99 */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
lbl_8024F000:
/* 8024F000 0024BF60 90 7E 00 30 */ stw r3, 0x30(r30)
/* 8024F004 0024BF64 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 8024F008 0024BF68 80 9F 00 30 */ lwz r4, 0x30(r31)
/* 8024F00C 0024BF6C 80 7E 00 30 */ lwz r3, 0x30(r30)
/* 8024F010 0024BF70 7C 09 03 A6 */ mtctr r0
/* 8024F014 0024BF74 2C 00 00 00 */ cmpwi r0, 0
/* 8024F018 0024BF78 40 81 00 20 */ ble lbl_8024F038
lbl_8024F01C:
/* 8024F01C 0024BF7C 28 03 00 00 */ cmplwi r3, 0
/* 8024F020 0024BF80 41 82 00 0C */ beq lbl_8024F02C
/* 8024F024 0024BF84 88 04 00 00 */ lbz r0, 0(r4)
/* 8024F028 0024BF88 98 03 00 00 */ stb r0, 0(r3)
lbl_8024F02C:
/* 8024F02C 0024BF8C 38 63 00 01 */ addi r3, r3, 1
/* 8024F030 0024BF90 38 84 00 01 */ addi r4, r4, 1
/* 8024F034 0024BF94 42 00 FF E8 */ bdnz lbl_8024F01C
lbl_8024F038:
/* 8024F038 0024BF98 80 1F 00 38 */ lwz r0, 0x38(r31)
/* 8024F03C 0024BF9C 90 1E 00 38 */ stw r0, 0x38(r30)
/* 8024F040 0024BFA0 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 8024F044 0024BFA4 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 8024F048 0024BFA8 80 1F 00 38 */ lwz r0, 0x38(r31)
/* 8024F04C 0024BFAC 2C 00 00 00 */ cmpwi r0, 0
/* 8024F050 0024BFB0 40 82 00 1C */ bne lbl_8024F06C
/* 8024F054 0024BFB4 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 8024F058 0024BFB8 2C 00 00 00 */ cmpwi r0, 0
/* 8024F05C 0024BFBC 40 82 00 10 */ bne lbl_8024F06C
/* 8024F060 0024BFC0 38 00 00 00 */ li r0, 0
/* 8024F064 0024BFC4 90 1E 00 40 */ stw r0, 0x40(r30)
/* 8024F068 0024BFC8 48 00 00 68 */ b lbl_8024F0D0
lbl_8024F06C:
/* 8024F06C 0024BFCC 80 7E 00 3C */ lwz r3, 0x3c(r30)
/* 8024F070 0024BFD0 2C 03 00 00 */ cmpwi r3, 0
/* 8024F074 0024BFD4 40 82 00 10 */ bne lbl_8024F084
/* 8024F078 0024BFD8 38 00 00 00 */ li r0, 0
/* 8024F07C 0024BFDC 90 1E 00 40 */ stw r0, 0x40(r30)
/* 8024F080 0024BFE0 48 00 00 1C */ b lbl_8024F09C
lbl_8024F084:
/* 8024F084 0024BFE4 3C 80 80 3D */ lis r4, lbl_803D47CC@ha
/* 8024F088 0024BFE8 38 A0 00 00 */ li r5, 0
/* 8024F08C 0024BFEC 38 84 47 CC */ addi r4, r4, lbl_803D47CC@l
/* 8024F090 0024BFF0 38 84 02 A1 */ addi r4, r4, 0x2a1
/* 8024F094 0024BFF4 48 0C 67 85 */ bl __nwa__FUlPCcPCc
/* 8024F098 0024BFF8 90 7E 00 40 */ stw r3, 0x40(r30)
lbl_8024F09C:
/* 8024F09C 0024BFFC 80 1E 00 38 */ lwz r0, 0x38(r30)
/* 8024F0A0 0024C000 80 9F 00 40 */ lwz r4, 0x40(r31)
/* 8024F0A4 0024C004 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 8024F0A8 0024C008 7C 09 03 A6 */ mtctr r0
/* 8024F0AC 0024C00C 2C 00 00 00 */ cmpwi r0, 0
/* 8024F0B0 0024C010 40 81 00 20 */ ble lbl_8024F0D0
lbl_8024F0B4:
/* 8024F0B4 0024C014 28 03 00 00 */ cmplwi r3, 0
/* 8024F0B8 0024C018 41 82 00 0C */ beq lbl_8024F0C4
/* 8024F0BC 0024C01C 88 04 00 00 */ lbz r0, 0(r4)
/* 8024F0C0 0024C020 98 03 00 00 */ stb r0, 0(r3)
lbl_8024F0C4:
/* 8024F0C4 0024C024 38 63 00 01 */ addi r3, r3, 1
/* 8024F0C8 0024C028 38 84 00 01 */ addi r4, r4, 1
/* 8024F0CC 0024C02C 42 00 FF E8 */ bdnz lbl_8024F0B4
lbl_8024F0D0:
/* 8024F0D0 0024C030 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8024F0D4 0024C034 7F C3 F3 78 */ mr r3, r30
/* 8024F0D8 0024C038 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8024F0DC 0024C03C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8024F0E0 0024C040 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8024F0E4 0024C044 7C 08 03 A6 */ mtlr r0
/* 8024F0E8 0024C048 38 21 00 20 */ addi r1, r1, 0x20
/* 8024F0EC 0024C04C 4E 80 00 20 */ blr
.global IsCardWriting__17CMemoryCardDriverF6EState
IsCardWriting__17CMemoryCardDriverF6EState:
/* 8024F0F0 0024C050 38 83 FF E7 */ addi r4, r3, -25
/* 8024F0F4 0024C054 38 A0 00 01 */ li r5, 1
/* 8024F0F8 0024C058 20 04 00 01 */ subfic r0, r4, 1
/* 8024F0FC 0024C05C 7C A4 23 38 */ orc r4, r5, r4
/* 8024F100 0024C060 7C A6 2B 78 */ mr r6, r5
/* 8024F104 0024C064 54 00 F8 7E */ srwi r0, r0, 1
/* 8024F108 0024C068 7C A7 2B 78 */ mr r7, r5
/* 8024F10C 0024C06C 7C 00 20 50 */ subf r0, r0, r4
/* 8024F110 0024C070 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 8024F114 0024C074 40 82 00 08 */ bne lbl_8024F11C
/* 8024F118 0024C078 38 E0 00 00 */ li r7, 0
lbl_8024F11C:
/* 8024F11C 0024C07C 54 E0 06 3F */ clrlwi. r0, r7, 0x18
/* 8024F120 0024C080 40 82 00 10 */ bne lbl_8024F130
/* 8024F124 0024C084 2C 03 00 1B */ cmpwi r3, 0x1b
/* 8024F128 0024C088 41 82 00 08 */ beq lbl_8024F130
/* 8024F12C 0024C08C 38 C0 00 00 */ li r6, 0
lbl_8024F130:
/* 8024F130 0024C090 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 8024F134 0024C094 40 82 00 10 */ bne lbl_8024F144
/* 8024F138 0024C098 2C 03 00 1D */ cmpwi r3, 0x1d
/* 8024F13C 0024C09C 41 82 00 08 */ beq lbl_8024F144
/* 8024F140 0024C0A0 38 A0 00 00 */ li r5, 0
lbl_8024F144:
/* 8024F144 0024C0A4 7C A3 2B 78 */ mr r3, r5
/* 8024F148 0024C0A8 4E 80 00 20 */ blr
.global IsCardBusy__17CMemoryCardDriverF6EState
IsCardBusy__17CMemoryCardDriverF6EState:
/* 8024F14C 0024C0AC 2C 03 00 1A */ cmpwi r3, 0x1a
/* 8024F150 0024C0B0 38 00 00 00 */ li r0, 0
/* 8024F154 0024C0B4 41 80 00 10 */ blt lbl_8024F164
/* 8024F158 0024C0B8 2C 03 00 25 */ cmpwi r3, 0x25
/* 8024F15C 0024C0BC 41 81 00 08 */ bgt lbl_8024F164
/* 8024F160 0024C0C0 38 00 00 01 */ li r0, 1
lbl_8024F164:
/* 8024F164 0024C0C4 7C 03 03 78 */ mr r3, r0
/* 8024F168 0024C0C8 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global skSaveFileNames
skSaveFileNames:
# ROM: 0x3F9E70
.4byte lbl_803D47CC
.4byte lbl_803D47DB
.section .rodata
.balign 8
.global lbl_803D47A8
lbl_803D47A8:
# ROM: 0x3D17A8
.asciz "Metroid Prime "
.balign 4
.global lbl_803D47CC
lbl_803D47CC:
# ROM: 0x3D17CC
.asciz "MetroidPrime A"
.global lbl_803D47DB
lbl_803D47DB:
# ROM: 0x3D17DB
.byte 0x4D
.asciz "etroidPrime B"
.byte 0x4E, 0x6F
.asciz "tLoaded"
.asciz "Loaded"
.byte 0x4E
.asciz "oCard"
.byte 0x53, 0x61
.4byte 0x76656400
.asciz "Formatted"
.byte 0x50, 0x72
.asciz "obed"
.byte 0x4D, 0x6F, 0x75
.asciz "nted"
.byte 0x43, 0x68, 0x65
.asciz "ckedCard"
.byte 0x43, 0x72, 0x65
.asciz "atedInitial"
.asciz "CreatedCopy"
.asciz "WroteCopy"
.byte 0x44, 0x65
.asciz "letedOriginal"
.byte 0x46, 0x61
.asciz "iledProbe"
.byte 0x46, 0x61
.asciz "iledMount"
.byte 0x46, 0x61
.asciz "iledCheck"
.byte 0x46, 0x61
.asciz "iledDeleteCorruptedFile"
.asciz "FailedDeleteDuplicateFile"
.byte 0x46, 0x61
.asciz "iledLoad"
.byte 0x46, 0x61, 0x69
.asciz "ledCreateInitial"
.byte 0x46, 0x61, 0x69
.asciz "ledWriteInitial"
.asciz "FailedCreateCopy"
.byte 0x46, 0x61, 0x69
.asciz "ledWriteCopy"
.byte 0x46, 0x61, 0x69
.asciz "ledDeleteOriginal"
.byte 0x46, 0x61
.asciz "iledRenameCopy"
.byte 0x46
.asciz "ailedFormat"
.asciz "Probing"
.asciz "Mounting"
.byte 0x43, 0x68, 0x65
.asciz "ckingCard"
.byte 0x44, 0x65
.asciz "letingCorruptedFile"
.asciz "Reading"
.asciz "DeletingDuplicateFile"
.byte 0x43, 0x72
.asciz "eatingInitial"
.byte 0x57, 0x72
.asciz "itingInitial"
.byte 0x43, 0x72, 0x65
.asciz "atingCopy"
.byte 0x57, 0x72
.asciz "itingCopy"
.byte 0x44, 0x65
.asciz "letingOriginal"
.byte 0x52
.asciz "enamingCopy"
.asciz "Formatting"
.byte 0x4E
.asciz "oError"
.byte 0x43
.asciz "orruptedFile"
.byte 0x45, 0x6E, 0x63
.asciz "odingMismatch"
.byte 0x44, 0x61
.asciz "maged"
.byte 0x57, 0x72
.asciz "ongDevice"
.byte 0x49, 0x6E
.asciz "sufficientSpace"
.asciz "InsufficientBackupSpace"
.asciz "BadSectorSize"
.byte 0x4E, 0x6F
.asciz "File"
.byte 0x3F, 0x3F, 0x28
.4byte 0x3F3F2900
.asciz "%02d.%02d.%02d %02d:%02d"
.balign 4