prime/asm/Kyoto_CWD/CMemoryCardDriver.s

3473 lines
169 KiB
ArmAsm
Raw Normal View History

2022-04-14 08:02:42 +00:00
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.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__5CMainFR12CInputStream
/* 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__19SMemoryCardFileInfoFv
/* 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__14CMemoryCardSysFiiP8CARDStat
/* 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__8CARDStatFv
/* 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__17CMemoryCardDriverFv
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, lbl_805AD5D0@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__17CMemoryCardDriverFv
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__17CMemoryCardDriverFv
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, lbl_805AD5D0@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__17CMemoryCardDriverFv
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__17CMemoryCardDriverFv
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, lbl_805AD5D0@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__17CMemoryCardDriverFv
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 "OpenFile__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RQ214CMemoryCardSys13CCardFileInfo"
/* 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__17CMemoryCardDriverFv
/* 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__17CMemoryCardDriverFv
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__19SMemoryCardFileInfoFv
/* 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__14CMemoryCardSysFii
/* 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__17CMemoryCardDriverFv
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__19SMemoryCardFileInfoFv
/* 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__14CMemoryCardSysFii
/* 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__17CMemoryCardDriverFv
/* 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 "OpenFile__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPortRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RQ214CMemoryCardSys13CCardFileInfo"
/* 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__19SMemoryCardFileInfoFv
/* 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__14CMemoryCardSysFiiP8CARDStat
/* 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__8CARDStatFv
/* 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__19SMemoryCardFileInfo
/* 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__19SMemoryCardFileInfoFv
/* 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__14CMemoryCardSysFiiP8CARDStat
/* 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__8CARDStatFv
/* 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__19SMemoryCardFileInfoFv
/* 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__14CMemoryCardSysFiiP8CARDStat
/* 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__8CARDStatFv
/* 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__14CMemoryCardSysFv
/* 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__17CMemoryCardDriverFv
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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateCardFormat__17CMemoryCardDriverFv:
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateFileAltDeleteTransactional__17CMemoryCardDriverFv:
/* 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__17CMemoryCardDriverFi
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, lbl_805AD5D0@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, lbl_805AD5D0@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__14CMemoryCardSysFiPCcPCc
/* 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__17CMemoryCardDriverFv
/* 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__17CMemoryCardDriverFv
UpdateFileRenameBtoA__17CMemoryCardDriverFv:
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateFileWriteTransactional__17CMemoryCardDriverFv:
/* 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__13CCardFileInfoFv
/* 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 Close__13CCardFileInfoFv
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateFileCreateTransactional__17CMemoryCardDriverFv:
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateFileWrite__17CMemoryCardDriverFv:
/* 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__13CCardFileInfoFv
/* 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 Close__13CCardFileInfoFv
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateFileCreate__17CMemoryCardDriverFv:
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateFileDeleteBad__17CMemoryCardDriverFv:
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateFileDeleteAlt__17CMemoryCardDriverFv:
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateFileRead__17CMemoryCardDriverFv:
/* 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__19SMemoryCardFileInfo
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFv
UpdateCardCheck__17CMemoryCardDriverFv:
/* 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__14CMemoryCardSysFiRx
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFi
UpdateMountCard__17CMemoryCardDriverFi:
/* 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__17CMemoryCardDriverFi
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__17CMemoryCardDriverFi
HandleCardError__17CMemoryCardDriverFi:
/* 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
/* 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
/* 8024E5DC 0024B53C 4B FF F7 3D */ bl NoCardFound__17CMemoryCardDriverFv
/* 8024E5E0 0024B540 48 00 00 20 */ b lbl_8024E600
/* 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
/* 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
/* 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__17CMemoryCardDriverFi
/* 8024E70C 0024B66C 48 00 00 B0 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E71C 0024B67C 48 00 00 A0 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E72C 0024B68C 48 00 00 90 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E73C 0024B69C 48 00 00 80 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E74C 0024B6AC 48 00 00 70 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E75C 0024B6BC 48 00 00 60 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E76C 0024B6CC 48 00 00 50 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E77C 0024B6DC 48 00 00 40 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E78C 0024B6EC 48 00 00 30 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E79C 0024B6FC 48 00 00 20 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
/* 8024E7AC 0024B70C 48 00 00 10 */ b lbl_8024E7BC
/* 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__17CMemoryCardDriverFv
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__17CMemoryCardDriverFv
__ct__17CMemoryCardDriverFv:
/* 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, lbl_805AD5D0@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, lbl_805AD5D0@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