tp/asm/m/Do/m_Do_MemCard.s

1013 lines
47 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 8001672c
.global mDoMemCd_Ctrl_c
mDoMemCd_Ctrl_c:
/* 8001672C 0001366C 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_ThdInit
mDoMemCd_Ctrl_c_NS_ThdInit:
/* 80016730 00013670 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80016734 00013674 7C 08 02 A6 */ mflr r0
/* 80016738 00013678 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001673C 0001367C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80016740 00013680 7C 7F 1B 78 */ mr r31, r3
/* 80016744 00013684 48 33 D3 85 */ bl CARDInit
/* 80016748 00013688 38 60 00 00 */ li r3, 0
/* 8001674C 0001368C 98 7F 1F BD */ stb r3, 0x1fbd(r31)
/* 80016750 00013690 38 00 00 02 */ li r0, 2
/* 80016754 00013694 98 1F 1F BE */ stb r0, 0x1fbe(r31)
/* 80016758 00013698 90 7F 1F C4 */ stw r3, 0x1fc4(r31)
/* 8001675C 0001369C 90 7F 1F C0 */ stw r3, 0x1fc0(r31)
/* 80016760 000136A0 98 7F 1F BC */ stb r3, 0x1fbc(r31)
/* 80016764 000136A4 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 80016768 000136A8 48 32 88 A1 */ bl OSInitMutex
/* 8001676C 000136AC 38 7F 1F E4 */ addi r3, r31, 0x1fe4
/* 80016770 000136B0 48 32 8B A1 */ bl OSInitCond
/* 80016774 000136B4 48 32 A5 11 */ bl OSGetCurrentThread
/* 80016778 000136B8 48 32 B6 E5 */ bl OSGetThreadPriority
/* 8001677C 000136BC 7C 68 1B 78 */ mr r8, r3
/* 80016780 000136C0 3C 60 80 3E */ lis r3, lbl_803E0C20@ha
/* 80016784 000136C4 38 63 0C 20 */ addi r3, r3, lbl_803E0C20@l
.global mDoMemCd_main
/* 80016788 000136C8 3C 80 80 01 */ lis r4, mDoMemCd_main@ha
.global mDoMemCd_main
/* 8001678C 000136CC 38 84 74 1C */ addi r4, r4, mDoMemCd_main@l
/* 80016790 000136D0 38 A0 00 00 */ li r5, 0
/* 80016794 000136D4 3C C0 80 3E */ lis r6, lbl_803DFC20@ha
/* 80016798 000136D8 38 C6 FC 20 */ addi r6, r6, lbl_803DFC20@l
/* 8001679C 000136DC 38 C6 10 00 */ addi r6, r6, 0x1000
/* 800167A0 000136E0 38 E0 10 00 */ li r7, 0x1000
/* 800167A4 000136E4 39 08 00 01 */ addi r8, r8, 1
/* 800167A8 000136E8 39 20 00 01 */ li r9, 1
/* 800167AC 000136EC 48 32 AA E1 */ bl OSCreateThread
/* 800167B0 000136F0 3C 60 80 3E */ lis r3, lbl_803E0C20@ha
/* 800167B4 000136F4 38 63 0C 20 */ addi r3, r3, lbl_803E0C20@l
/* 800167B8 000136F8 48 32 AF FD */ bl OSResumeThread
/* 800167BC 000136FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800167C0 00013700 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800167C4 00013704 7C 08 03 A6 */ mtlr r0
/* 800167C8 00013708 38 21 00 10 */ addi r1, r1, 0x10
/* 800167CC 0001370C 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_main
mDoMemCd_Ctrl_c_NS_main:
/* 800167D0 00013710 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800167D4 00013714 7C 08 02 A6 */ mflr r0
/* 800167D8 00013718 90 01 00 14 */ stw r0, 0x14(r1)
/* 800167DC 0001371C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800167E0 00013720 7C 7F 1B 78 */ mr r31, r3
lbl_800167E4:
/* 800167E4 00013724 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 800167E8 00013728 48 32 88 59 */ bl OSLockMutex
/* 800167EC 0001372C 48 00 00 10 */ b lbl_800167FC
lbl_800167F0:
/* 800167F0 00013730 38 7F 1F E4 */ addi r3, r31, 0x1fe4
/* 800167F4 00013734 38 9F 1F CC */ addi r4, r31, 0x1fcc
/* 800167F8 00013738 48 32 8B 39 */ bl OSWaitCond
lbl_800167FC:
/* 800167FC 0001373C 80 1F 1F C0 */ lwz r0, 0x1fc0(r31)
/* 80016800 00013740 2C 00 00 00 */ cmpwi r0, 0
/* 80016804 00013744 41 82 FF EC */ beq lbl_800167F0
/* 80016808 00013748 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 8001680C 0001374C 48 32 89 11 */ bl OSUnlockMutex
/* 80016810 00013750 80 1F 1F C0 */ lwz r0, 0x1fc0(r31)
/* 80016814 00013754 2C 00 00 03 */ cmpwi r0, 3
/* 80016818 00013758 41 82 00 40 */ beq lbl_80016858
/* 8001681C 0001375C 40 80 00 14 */ bge lbl_80016830
/* 80016820 00013760 2C 00 00 01 */ cmpwi r0, 1
/* 80016824 00013764 41 82 00 1C */ beq lbl_80016840
/* 80016828 00013768 40 80 00 24 */ bge lbl_8001684C
/* 8001682C 0001376C 48 00 00 4C */ b lbl_80016878
lbl_80016830:
/* 80016830 00013770 2C 00 00 05 */ cmpwi r0, 5
/* 80016834 00013774 41 82 00 3C */ beq lbl_80016870
/* 80016838 00013778 40 80 00 40 */ bge lbl_80016878
/* 8001683C 0001377C 48 00 00 28 */ b lbl_80016864
lbl_80016840:
/* 80016840 00013780 7F E3 FB 78 */ mr r3, r31
/* 80016844 00013784 48 00 01 C9 */ bl mDoMemCd_Ctrl_c_NS_restore
/* 80016848 00013788 48 00 00 30 */ b lbl_80016878
lbl_8001684C:
/* 8001684C 0001378C 7F E3 FB 78 */ mr r3, r31
/* 80016850 00013790 48 00 03 85 */ bl mDoMemCd_Ctrl_c_NS_store
/* 80016854 00013794 48 00 00 24 */ b lbl_80016878
lbl_80016858:
/* 80016858 00013798 7F E3 FB 78 */ mr r3, r31
/* 8001685C 0001379C 48 00 06 4D */ bl mDoMemCd_Ctrl_c_NS_format
/* 80016860 000137A0 48 00 00 18 */ b lbl_80016878
lbl_80016864:
/* 80016864 000137A4 7F E3 FB 78 */ mr r3, r31
/* 80016868 000137A8 48 00 07 51 */ bl mDoMemCd_Ctrl_c_NS_attach
/* 8001686C 000137AC 48 00 00 0C */ b lbl_80016878
lbl_80016870:
/* 80016870 000137B0 7F E3 FB 78 */ mr r3, r31
/* 80016874 000137B4 48 00 08 9D */ bl mDoMemCd_Ctrl_c_NS_detach
lbl_80016878:
/* 80016878 000137B8 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 8001687C 000137BC 48 32 87 C5 */ bl OSLockMutex
/* 80016880 000137C0 38 00 00 00 */ li r0, 0
/* 80016884 000137C4 90 1F 1F C0 */ stw r0, 0x1fc0(r31)
/* 80016888 000137C8 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 8001688C 000137CC 48 32 88 91 */ bl OSUnlockMutex
/* 80016890 000137D0 4B FF FF 54 */ b lbl_800167E4
.global mDoMemCd_Ctrl_c_NS_update
mDoMemCd_Ctrl_c_NS_update:
/* 80016894 000137D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80016898 000137D8 7C 08 02 A6 */ mflr r0
/* 8001689C 000137DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800168A0 000137E0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800168A4 000137E4 7C 7F 1B 78 */ mr r31, r3
/* 800168A8 000137E8 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
/* 800168AC 000137EC 80 04 00 00 */ lwz r0, 0(r4)
/* 800168B0 000137F0 2C 00 00 00 */ cmpwi r0, 0
/* 800168B4 000137F4 41 82 00 30 */ beq lbl_800168E4
/* 800168B8 000137F8 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 800168BC 000137FC 48 32 87 85 */ bl OSLockMutex
/* 800168C0 00013800 38 00 00 05 */ li r0, 5
/* 800168C4 00013804 90 1F 1F C0 */ stw r0, 0x1fc0(r31)
/* 800168C8 00013808 38 00 00 03 */ li r0, 3
/* 800168CC 0001380C 98 1F 1F BE */ stb r0, 0x1fbe(r31)
/* 800168D0 00013810 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 800168D4 00013814 48 32 88 49 */ bl OSUnlockMutex
/* 800168D8 00013818 38 7F 1F E4 */ addi r3, r31, 0x1fe4
/* 800168DC 0001381C 48 32 8B 29 */ bl OSSignalCond
/* 800168E0 00013820 48 00 00 C0 */ b lbl_800169A0
lbl_800168E4:
/* 800168E4 00013824 38 80 00 00 */ li r4, 0
/* 800168E8 00013828 48 00 04 8D */ bl mDoMemCd_Ctrl_c_NS_getStatus
/* 800168EC 0001382C 28 03 00 0E */ cmplwi r3, 0xe
/* 800168F0 00013830 41 82 00 B0 */ beq lbl_800169A0
/* 800168F4 00013834 38 60 00 00 */ li r3, 0
/* 800168F8 00013838 48 34 01 1D */ bl CARDProbe
/* 800168FC 0001383C 2C 03 00 00 */ cmpwi r3, 0
/* 80016900 00013840 41 82 00 4C */ beq lbl_8001694C
/* 80016904 00013844 7F E3 FB 78 */ mr r3, r31
/* 80016908 00013848 38 80 00 00 */ li r4, 0
/* 8001690C 0001384C 48 00 04 69 */ bl mDoMemCd_Ctrl_c_NS_getStatus
/* 80016910 00013850 28 03 00 00 */ cmplwi r3, 0
/* 80016914 00013854 40 82 00 38 */ bne lbl_8001694C
/* 80016918 00013858 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 8001691C 0001385C 48 32 87 25 */ bl OSLockMutex
/* 80016920 00013860 38 00 00 00 */ li r0, 0
/* 80016924 00013864 98 1F 1F BE */ stb r0, 0x1fbe(r31)
/* 80016928 00013868 38 00 00 0D */ li r0, 0xd
/* 8001692C 0001386C 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80016930 00013870 38 00 00 04 */ li r0, 4
/* 80016934 00013874 90 1F 1F C0 */ stw r0, 0x1fc0(r31)
/* 80016938 00013878 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 8001693C 0001387C 48 32 87 E1 */ bl OSUnlockMutex
/* 80016940 00013880 38 7F 1F E4 */ addi r3, r31, 0x1fe4
/* 80016944 00013884 48 32 8A C1 */ bl OSSignalCond
/* 80016948 00013888 48 00 00 58 */ b lbl_800169A0
lbl_8001694C:
/* 8001694C 0001388C 38 60 00 00 */ li r3, 0
/* 80016950 00013890 48 34 00 C5 */ bl CARDProbe
/* 80016954 00013894 2C 03 00 00 */ cmpwi r3, 0
/* 80016958 00013898 40 82 00 48 */ bne lbl_800169A0
/* 8001695C 0001389C 7F E3 FB 78 */ mr r3, r31
/* 80016960 000138A0 38 80 00 00 */ li r4, 0
/* 80016964 000138A4 48 00 04 11 */ bl mDoMemCd_Ctrl_c_NS_getStatus
/* 80016968 000138A8 28 03 00 00 */ cmplwi r3, 0
/* 8001696C 000138AC 41 82 00 34 */ beq lbl_800169A0
/* 80016970 000138B0 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 80016974 000138B4 48 32 86 CD */ bl OSLockMutex
/* 80016978 000138B8 38 00 00 01 */ li r0, 1
/* 8001697C 000138BC 98 1F 1F BE */ stb r0, 0x1fbe(r31)
/* 80016980 000138C0 38 00 00 0D */ li r0, 0xd
/* 80016984 000138C4 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80016988 000138C8 38 00 00 05 */ li r0, 5
/* 8001698C 000138CC 90 1F 1F C0 */ stw r0, 0x1fc0(r31)
/* 80016990 000138D0 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 80016994 000138D4 48 32 87 89 */ bl OSUnlockMutex
/* 80016998 000138D8 38 7F 1F E4 */ addi r3, r31, 0x1fe4
/* 8001699C 000138DC 48 32 8A 69 */ bl OSSignalCond
lbl_800169A0:
/* 800169A0 000138E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800169A4 000138E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800169A8 000138E8 7C 08 03 A6 */ mtlr r0
/* 800169AC 000138EC 38 21 00 10 */ addi r1, r1, 0x10
/* 800169B0 000138F0 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_load
mDoMemCd_Ctrl_c_NS_load:
/* 800169B4 000138F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800169B8 000138F8 7C 08 02 A6 */ mflr r0
/* 800169BC 000138FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800169C0 00013900 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800169C4 00013904 7C 7F 1B 78 */ mr r31, r3
/* 800169C8 00013908 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 800169CC 0001390C 48 32 88 89 */ bl OSTryLockMutex
/* 800169D0 00013910 2C 03 00 00 */ cmpwi r3, 0
/* 800169D4 00013914 41 82 00 24 */ beq lbl_800169F8
/* 800169D8 00013918 38 00 00 00 */ li r0, 0
/* 800169DC 0001391C 90 1F 1F C8 */ stw r0, 0x1fc8(r31)
/* 800169E0 00013920 38 00 00 01 */ li r0, 1
/* 800169E4 00013924 90 1F 1F C0 */ stw r0, 0x1fc0(r31)
/* 800169E8 00013928 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 800169EC 0001392C 48 32 87 31 */ bl OSUnlockMutex
/* 800169F0 00013930 38 7F 1F E4 */ addi r3, r31, 0x1fe4
/* 800169F4 00013934 48 32 8A 11 */ bl OSSignalCond
lbl_800169F8:
/* 800169F8 00013938 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800169FC 0001393C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80016A00 00013940 7C 08 03 A6 */ mtlr r0
/* 80016A04 00013944 38 21 00 10 */ addi r1, r1, 0x10
/* 80016A08 00013948 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_restore
mDoMemCd_Ctrl_c_NS_restore:
/* 80016A0C 0001394C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80016A10 00013950 7C 08 02 A6 */ mflr r0
/* 80016A14 00013954 90 01 00 34 */ stw r0, 0x34(r1)
/* 80016A18 00013958 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80016A1C 0001395C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80016A20 00013960 7C 7E 1B 78 */ mr r30, r3
/* 80016A24 00013964 38 00 00 00 */ li r0, 0
/* 80016A28 00013968 90 03 1F C8 */ stw r0, 0x1fc8(r3)
/* 80016A2C 0001396C 88 63 1F BC */ lbz r3, 0x1fbc(r3)
/* 80016A30 00013970 3C 80 80 37 */ lis r4, lbl_803743F8@ha
/* 80016A34 00013974 38 84 43 F8 */ addi r4, r4, lbl_803743F8@l
/* 80016A38 00013978 38 A1 00 08 */ addi r5, r1, 8
/* 80016A3C 0001397C 48 34 15 5D */ bl CARDOpen
/* 80016A40 00013980 7C 7F 1B 79 */ or. r31, r3, r3
/* 80016A44 00013984 40 82 00 40 */ bne lbl_80016A84
/* 80016A48 00013988 38 61 00 08 */ addi r3, r1, 8
/* 80016A4C 0001398C 7F C4 F3 78 */ mr r4, r30
/* 80016A50 00013990 38 A0 1F BC */ li r5, 0x1fbc
/* 80016A54 00013994 48 00 0C 49 */ bl mDoMemCdRWm_Restore
/* 80016A58 00013998 2C 03 00 00 */ cmpwi r3, 0
/* 80016A5C 0001399C 40 82 00 10 */ bne lbl_80016A6C
/* 80016A60 000139A0 38 00 00 03 */ li r0, 3
/* 80016A64 000139A4 90 1E 1F C4 */ stw r0, 0x1fc4(r30)
/* 80016A68 000139A8 48 00 00 10 */ b lbl_80016A78
lbl_80016A6C:
/* 80016A6C 000139AC 7F C3 F3 78 */ mr r3, r30
/* 80016A70 000139B0 7F E4 FB 78 */ mr r4, r31
/* 80016A74 000139B4 48 00 08 ED */ bl mDoMemCd_Ctrl_c_NS_setCardState
lbl_80016A78:
/* 80016A78 000139B8 38 61 00 08 */ addi r3, r1, 8
/* 80016A7C 000139BC 48 34 16 39 */ bl CARDClose
/* 80016A80 000139C0 48 00 00 10 */ b lbl_80016A90
lbl_80016A84:
/* 80016A84 000139C4 7F C3 F3 78 */ mr r3, r30
/* 80016A88 000139C8 7F E4 FB 78 */ mr r4, r31
/* 80016A8C 000139CC 48 00 08 D5 */ bl mDoMemCd_Ctrl_c_NS_setCardState
lbl_80016A90:
/* 80016A90 000139D0 38 00 00 01 */ li r0, 1
/* 80016A94 000139D4 90 1E 1F C8 */ stw r0, 0x1fc8(r30)
/* 80016A98 000139D8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80016A9C 000139DC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80016AA0 000139E0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80016AA4 000139E4 7C 08 03 A6 */ mtlr r0
/* 80016AA8 000139E8 38 21 00 30 */ addi r1, r1, 0x30
/* 80016AAC 000139EC 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_LoadSync
mDoMemCd_Ctrl_c_NS_LoadSync:
/* 80016AB0 000139F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80016AB4 000139F4 7C 08 02 A6 */ mflr r0
/* 80016AB8 000139F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80016ABC 000139FC 39 61 00 20 */ addi r11, r1, 0x20
/* 80016AC0 00013A00 48 34 B7 15 */ bl _savegpr_27
/* 80016AC4 00013A04 7C 7B 1B 78 */ mr r27, r3
/* 80016AC8 00013A08 7C 9C 23 78 */ mr r28, r4
/* 80016ACC 00013A0C 7C BD 2B 78 */ mr r29, r5
/* 80016AD0 00013A10 7C DE 33 78 */ mr r30, r6
/* 80016AD4 00013A14 3B E0 00 00 */ li r31, 0
/* 80016AD8 00013A18 80 03 1F C8 */ lwz r0, 0x1fc8(r3)
/* 80016ADC 00013A1C 2C 00 00 00 */ cmpwi r0, 0
/* 80016AE0 00013A20 40 82 00 0C */ bne lbl_80016AEC
/* 80016AE4 00013A24 38 60 00 00 */ li r3, 0
/* 80016AE8 00013A28 48 00 00 58 */ b lbl_80016B40
lbl_80016AEC:
/* 80016AEC 00013A2C 38 7B 1F CC */ addi r3, r27, 0x1fcc
/* 80016AF0 00013A30 48 32 87 65 */ bl OSTryLockMutex
/* 80016AF4 00013A34 2C 03 00 00 */ cmpwi r3, 0
/* 80016AF8 00013A38 41 82 00 44 */ beq lbl_80016B3C
/* 80016AFC 00013A3C 80 1B 1F C4 */ lwz r0, 0x1fc4(r27)
/* 80016B00 00013A40 2C 00 00 03 */ cmpwi r0, 3
/* 80016B04 00013A44 40 82 00 24 */ bne lbl_80016B28
/* 80016B08 00013A48 7F 83 E3 78 */ mr r3, r28
/* 80016B0C 00013A4C 7C 9B F2 14 */ add r4, r27, r30
/* 80016B10 00013A50 7F A5 EB 78 */ mr r5, r29
/* 80016B14 00013A54 4B FE CA 2D */ bl func_80003540
/* 80016B18 00013A58 38 00 00 01 */ li r0, 1
/* 80016B1C 00013A5C 90 1B 1F C4 */ stw r0, 0x1fc4(r27)
/* 80016B20 00013A60 3B E0 00 01 */ li r31, 1
/* 80016B24 00013A64 48 00 00 10 */ b lbl_80016B34
lbl_80016B28:
/* 80016B28 00013A68 38 00 00 02 */ li r0, 2
/* 80016B2C 00013A6C 90 1B 1F C4 */ stw r0, 0x1fc4(r27)
/* 80016B30 00013A70 3B E0 00 02 */ li r31, 2
lbl_80016B34:
/* 80016B34 00013A74 38 7B 1F CC */ addi r3, r27, 0x1fcc
/* 80016B38 00013A78 48 32 85 E5 */ bl OSUnlockMutex
lbl_80016B3C:
/* 80016B3C 00013A7C 7F E3 FB 78 */ mr r3, r31
lbl_80016B40:
/* 80016B40 00013A80 39 61 00 20 */ addi r11, r1, 0x20
/* 80016B44 00013A84 48 34 B6 DD */ bl _restgpr_27
/* 80016B48 00013A88 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80016B4C 00013A8C 7C 08 03 A6 */ mtlr r0
/* 80016B50 00013A90 38 21 00 20 */ addi r1, r1, 0x20
/* 80016B54 00013A94 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_save
mDoMemCd_Ctrl_c_NS_save:
/* 80016B58 00013A98 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80016B5C 00013A9C 7C 08 02 A6 */ mflr r0
/* 80016B60 00013AA0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80016B64 00013AA4 39 61 00 20 */ addi r11, r1, 0x20
/* 80016B68 00013AA8 48 34 B6 71 */ bl _savegpr_28
/* 80016B6C 00013AAC 7C 7C 1B 78 */ mr r28, r3
/* 80016B70 00013AB0 7C 9D 23 78 */ mr r29, r4
/* 80016B74 00013AB4 7C BE 2B 78 */ mr r30, r5
/* 80016B78 00013AB8 7C DF 33 78 */ mr r31, r6
/* 80016B7C 00013ABC 38 7C 1F CC */ addi r3, r28, 0x1fcc
/* 80016B80 00013AC0 48 32 86 D5 */ bl OSTryLockMutex
/* 80016B84 00013AC4 2C 03 00 00 */ cmpwi r3, 0
/* 80016B88 00013AC8 41 82 00 34 */ beq lbl_80016BBC
/* 80016B8C 00013ACC 7C 7C FA 14 */ add r3, r28, r31
/* 80016B90 00013AD0 7F A4 EB 78 */ mr r4, r29
/* 80016B94 00013AD4 7F C5 F3 78 */ mr r5, r30
/* 80016B98 00013AD8 4B FE C9 A9 */ bl func_80003540
/* 80016B9C 00013ADC 38 00 00 00 */ li r0, 0
/* 80016BA0 00013AE0 90 1C 1F C8 */ stw r0, 0x1fc8(r28)
/* 80016BA4 00013AE4 38 00 00 02 */ li r0, 2
/* 80016BA8 00013AE8 90 1C 1F C0 */ stw r0, 0x1fc0(r28)
/* 80016BAC 00013AEC 38 7C 1F CC */ addi r3, r28, 0x1fcc
/* 80016BB0 00013AF0 48 32 85 6D */ bl OSUnlockMutex
/* 80016BB4 00013AF4 38 7C 1F E4 */ addi r3, r28, 0x1fe4
/* 80016BB8 00013AF8 48 32 88 4D */ bl OSSignalCond
lbl_80016BBC:
/* 80016BBC 00013AFC 39 61 00 20 */ addi r11, r1, 0x20
/* 80016BC0 00013B00 48 34 B6 65 */ bl _restgpr_28
/* 80016BC4 00013B04 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80016BC8 00013B08 7C 08 03 A6 */ mtlr r0
/* 80016BCC 00013B0C 38 21 00 20 */ addi r1, r1, 0x20
/* 80016BD0 00013B10 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_store
mDoMemCd_Ctrl_c_NS_store:
/* 80016BD4 00013B14 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80016BD8 00013B18 7C 08 02 A6 */ mflr r0
/* 80016BDC 00013B1C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80016BE0 00013B20 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80016BE4 00013B24 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80016BE8 00013B28 7C 7E 1B 78 */ mr r30, r3
/* 80016BEC 00013B2C 38 00 00 00 */ li r0, 0
/* 80016BF0 00013B30 90 03 1F C8 */ stw r0, 0x1fc8(r3)
/* 80016BF4 00013B34 80 03 1F C4 */ lwz r0, 0x1fc4(r3)
/* 80016BF8 00013B38 2C 00 00 02 */ cmpwi r0, 2
/* 80016BFC 00013B3C 40 82 00 48 */ bne lbl_80016C44
/* 80016C00 00013B40 88 7E 1F BC */ lbz r3, 0x1fbc(r30)
/* 80016C04 00013B44 3C 80 80 37 */ lis r4, lbl_803743F8@ha
/* 80016C08 00013B48 38 84 43 F8 */ addi r4, r4, lbl_803743F8@l
/* 80016C0C 00013B4C 3C A0 00 01 */ lis r5, 0x00008000@ha
/* 80016C10 00013B50 38 A5 80 00 */ addi r5, r5, 0x00008000@l
/* 80016C14 00013B54 38 C1 00 08 */ addi r6, r1, 8
/* 80016C18 00013B58 48 34 18 41 */ bl CARDCreate
/* 80016C1C 00013B5C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80016C20 00013B60 41 82 00 0C */ beq lbl_80016C2C
/* 80016C24 00013B64 2C 1F FF F9 */ cmpwi r31, -7
/* 80016C28 00013B68 40 82 00 10 */ bne lbl_80016C38
lbl_80016C2C:
/* 80016C2C 00013B6C 38 00 00 01 */ li r0, 1
/* 80016C30 00013B70 90 1E 1F C4 */ stw r0, 0x1fc4(r30)
/* 80016C34 00013B74 48 00 00 10 */ b lbl_80016C44
lbl_80016C38:
/* 80016C38 00013B78 7F C3 F3 78 */ mr r3, r30
/* 80016C3C 00013B7C 7F E4 FB 78 */ mr r4, r31
/* 80016C40 00013B80 48 00 07 21 */ bl mDoMemCd_Ctrl_c_NS_setCardState
lbl_80016C44:
/* 80016C44 00013B84 80 1E 1F C4 */ lwz r0, 0x1fc4(r30)
/* 80016C48 00013B88 2C 00 00 01 */ cmpwi r0, 1
/* 80016C4C 00013B8C 40 82 00 68 */ bne lbl_80016CB4
/* 80016C50 00013B90 88 7E 1F BC */ lbz r3, 0x1fbc(r30)
/* 80016C54 00013B94 3C 80 80 37 */ lis r4, lbl_803743F8@ha
/* 80016C58 00013B98 38 84 43 F8 */ addi r4, r4, lbl_803743F8@l
/* 80016C5C 00013B9C 38 A1 00 08 */ addi r5, r1, 8
/* 80016C60 00013BA0 48 34 13 39 */ bl CARDOpen
/* 80016C64 00013BA4 7C 7F 1B 79 */ or. r31, r3, r3
/* 80016C68 00013BA8 40 82 00 3C */ bne lbl_80016CA4
/* 80016C6C 00013BAC 38 61 00 08 */ addi r3, r1, 8
/* 80016C70 00013BB0 7F C4 F3 78 */ mr r4, r30
/* 80016C74 00013BB4 38 A0 1F BC */ li r5, 0x1fbc
/* 80016C78 00013BB8 48 00 08 21 */ bl mDoMemCdRWm_Store
/* 80016C7C 00013BBC 7C 64 1B 79 */ or. r4, r3, r3
/* 80016C80 00013BC0 41 82 00 10 */ beq lbl_80016C90
/* 80016C84 00013BC4 7F C3 F3 78 */ mr r3, r30
/* 80016C88 00013BC8 48 00 06 D9 */ bl mDoMemCd_Ctrl_c_NS_setCardState
/* 80016C8C 00013BCC 48 00 00 0C */ b lbl_80016C98
lbl_80016C90:
/* 80016C90 00013BD0 38 00 00 04 */ li r0, 4
/* 80016C94 00013BD4 90 1E 1F C4 */ stw r0, 0x1fc4(r30)
lbl_80016C98:
/* 80016C98 00013BD8 38 61 00 08 */ addi r3, r1, 8
/* 80016C9C 00013BDC 48 34 14 19 */ bl CARDClose
/* 80016CA0 00013BE0 48 00 00 20 */ b lbl_80016CC0
lbl_80016CA4:
/* 80016CA4 00013BE4 7F C3 F3 78 */ mr r3, r30
/* 80016CA8 00013BE8 7F E4 FB 78 */ mr r4, r31
/* 80016CAC 00013BEC 48 00 06 B5 */ bl mDoMemCd_Ctrl_c_NS_setCardState
/* 80016CB0 00013BF0 48 00 00 10 */ b lbl_80016CC0
lbl_80016CB4:
/* 80016CB4 00013BF4 7F C3 F3 78 */ mr r3, r30
/* 80016CB8 00013BF8 7F E4 FB 78 */ mr r4, r31
/* 80016CBC 00013BFC 48 00 06 A5 */ bl mDoMemCd_Ctrl_c_NS_setCardState
lbl_80016CC0:
/* 80016CC0 00013C00 38 00 00 01 */ li r0, 1
/* 80016CC4 00013C04 90 1E 1F C8 */ stw r0, 0x1fc8(r30)
/* 80016CC8 00013C08 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80016CCC 00013C0C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80016CD0 00013C10 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80016CD4 00013C14 7C 08 03 A6 */ mtlr r0
/* 80016CD8 00013C18 38 21 00 30 */ addi r1, r1, 0x30
/* 80016CDC 00013C1C 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_SaveSync
mDoMemCd_Ctrl_c_NS_SaveSync:
/* 80016CE0 00013C20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80016CE4 00013C24 7C 08 02 A6 */ mflr r0
/* 80016CE8 00013C28 90 01 00 14 */ stw r0, 0x14(r1)
/* 80016CEC 00013C2C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80016CF0 00013C30 93 C1 00 08 */ stw r30, 8(r1)
/* 80016CF4 00013C34 7C 7E 1B 78 */ mr r30, r3
/* 80016CF8 00013C38 3B E0 00 00 */ li r31, 0
/* 80016CFC 00013C3C 80 03 1F C8 */ lwz r0, 0x1fc8(r3)
/* 80016D00 00013C40 2C 00 00 00 */ cmpwi r0, 0
/* 80016D04 00013C44 40 82 00 0C */ bne lbl_80016D10
/* 80016D08 00013C48 38 60 00 00 */ li r3, 0
/* 80016D0C 00013C4C 48 00 00 50 */ b lbl_80016D5C
lbl_80016D10:
/* 80016D10 00013C50 38 7E 1F CC */ addi r3, r30, 0x1fcc
/* 80016D14 00013C54 48 32 85 41 */ bl OSTryLockMutex
/* 80016D18 00013C58 2C 03 00 00 */ cmpwi r3, 0
/* 80016D1C 00013C5C 41 82 00 3C */ beq lbl_80016D58
/* 80016D20 00013C60 80 1E 1F C4 */ lwz r0, 0x1fc4(r30)
/* 80016D24 00013C64 2C 00 00 04 */ cmpwi r0, 4
/* 80016D28 00013C68 40 82 00 14 */ bne lbl_80016D3C
/* 80016D2C 00013C6C 38 00 00 01 */ li r0, 1
/* 80016D30 00013C70 90 1E 1F C4 */ stw r0, 0x1fc4(r30)
/* 80016D34 00013C74 3B E0 00 01 */ li r31, 1
/* 80016D38 00013C78 48 00 00 18 */ b lbl_80016D50
lbl_80016D3C:
/* 80016D3C 00013C7C 2C 00 00 01 */ cmpwi r0, 1
/* 80016D40 00013C80 40 82 00 0C */ bne lbl_80016D4C
/* 80016D44 00013C84 3B E0 00 00 */ li r31, 0
/* 80016D48 00013C88 48 00 00 08 */ b lbl_80016D50
lbl_80016D4C:
/* 80016D4C 00013C8C 3B E0 00 02 */ li r31, 2
lbl_80016D50:
/* 80016D50 00013C90 38 7E 1F CC */ addi r3, r30, 0x1fcc
/* 80016D54 00013C94 48 32 83 C9 */ bl OSUnlockMutex
lbl_80016D58:
/* 80016D58 00013C98 7F E3 FB 78 */ mr r3, r31
lbl_80016D5C:
/* 80016D5C 00013C9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80016D60 00013CA0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80016D64 00013CA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80016D68 00013CA8 7C 08 03 A6 */ mtlr r0
/* 80016D6C 00013CAC 38 21 00 10 */ addi r1, r1, 0x10
/* 80016D70 00013CB0 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_getStatus
mDoMemCd_Ctrl_c_NS_getStatus:
/* 80016D74 00013CB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80016D78 00013CB8 7C 08 02 A6 */ mflr r0
/* 80016D7C 00013CBC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80016D80 00013CC0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80016D84 00013CC4 93 C1 00 08 */ stw r30, 8(r1)
/* 80016D88 00013CC8 7C 7E 1B 78 */ mr r30, r3
/* 80016D8C 00013CCC 38 7E 1F CC */ addi r3, r30, 0x1fcc
/* 80016D90 00013CD0 48 32 84 C5 */ bl OSTryLockMutex
/* 80016D94 00013CD4 2C 03 00 00 */ cmpwi r3, 0
/* 80016D98 00013CD8 41 82 00 A4 */ beq lbl_80016E3C
/* 80016D9C 00013CDC 80 1E 1F C4 */ lwz r0, 0x1fc4(r30)
/* 80016DA0 00013CE0 28 00 00 0D */ cmplwi r0, 0xd
/* 80016DA4 00013CE4 41 81 00 88 */ bgt lbl_80016E2C
/* 80016DA8 00013CE8 3C 60 80 3A */ lis r3, lbl_803A34F8@ha
/* 80016DAC 00013CEC 38 63 34 F8 */ addi r3, r3, lbl_803A34F8@l
/* 80016DB0 00013CF0 54 00 10 3A */ slwi r0, r0, 2
/* 80016DB4 00013CF4 7C 03 00 2E */ lwzx r0, r3, r0
/* 80016DB8 00013CF8 7C 09 03 A6 */ mtctr r0
/* 80016DBC 00013CFC 4E 80 04 20 */ bctr
/* 80016DC0 00013D00 3B E0 00 02 */ li r31, 2
/* 80016DC4 00013D04 48 00 00 68 */ b lbl_80016E2C
/* 80016DC8 00013D08 3B E0 00 01 */ li r31, 1
/* 80016DCC 00013D0C 48 00 00 60 */ b lbl_80016E2C
/* 80016DD0 00013D10 3B E0 00 03 */ li r31, 3
/* 80016DD4 00013D14 48 00 00 58 */ b lbl_80016E2C
/* 80016DD8 00013D18 3B E0 00 04 */ li r31, 4
/* 80016DDC 00013D1C 48 00 00 50 */ b lbl_80016E2C
/* 80016DE0 00013D20 3B E0 00 05 */ li r31, 5
/* 80016DE4 00013D24 48 00 00 48 */ b lbl_80016E2C
/* 80016DE8 00013D28 3B E0 00 00 */ li r31, 0
/* 80016DEC 00013D2C 48 00 00 40 */ b lbl_80016E2C
/* 80016DF0 00013D30 3B E0 00 07 */ li r31, 7
/* 80016DF4 00013D34 48 00 00 38 */ b lbl_80016E2C
/* 80016DF8 00013D38 3B E0 00 06 */ li r31, 6
/* 80016DFC 00013D3C 48 00 00 30 */ b lbl_80016E2C
/* 80016E00 00013D40 3B E0 00 0B */ li r31, 0xb
/* 80016E04 00013D44 48 00 00 28 */ b lbl_80016E2C
/* 80016E08 00013D48 3B E0 00 0C */ li r31, 0xc
/* 80016E0C 00013D4C 48 00 00 20 */ b lbl_80016E2C
/* 80016E10 00013D50 3B E0 00 09 */ li r31, 9
/* 80016E14 00013D54 48 00 00 18 */ b lbl_80016E2C
/* 80016E18 00013D58 3B E0 00 0A */ li r31, 0xa
/* 80016E1C 00013D5C 48 00 00 10 */ b lbl_80016E2C
/* 80016E20 00013D60 3B E0 00 08 */ li r31, 8
/* 80016E24 00013D64 48 00 00 08 */ b lbl_80016E2C
/* 80016E28 00013D68 3B E0 00 0E */ li r31, 0xe
lbl_80016E2C:
/* 80016E2C 00013D6C 38 7E 1F CC */ addi r3, r30, 0x1fcc
/* 80016E30 00013D70 48 32 82 ED */ bl OSUnlockMutex
/* 80016E34 00013D74 7F E3 FB 78 */ mr r3, r31
/* 80016E38 00013D78 48 00 00 08 */ b lbl_80016E40
lbl_80016E3C:
/* 80016E3C 00013D7C 38 60 00 0E */ li r3, 0xe
lbl_80016E40:
/* 80016E40 00013D80 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80016E44 00013D84 83 C1 00 08 */ lwz r30, 8(r1)
/* 80016E48 00013D88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80016E4C 00013D8C 7C 08 03 A6 */ mtlr r0
/* 80016E50 00013D90 38 21 00 10 */ addi r1, r1, 0x10
/* 80016E54 00013D94 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_command_format
mDoMemCd_Ctrl_c_NS_command_format:
/* 80016E58 00013D98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80016E5C 00013D9C 7C 08 02 A6 */ mflr r0
/* 80016E60 00013DA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80016E64 00013DA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80016E68 00013DA8 7C 7F 1B 78 */ mr r31, r3
/* 80016E6C 00013DAC 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 80016E70 00013DB0 48 32 83 E5 */ bl OSTryLockMutex
/* 80016E74 00013DB4 2C 03 00 00 */ cmpwi r3, 0
/* 80016E78 00013DB8 41 82 00 1C */ beq lbl_80016E94
/* 80016E7C 00013DBC 38 00 00 03 */ li r0, 3
/* 80016E80 00013DC0 90 1F 1F C0 */ stw r0, 0x1fc0(r31)
/* 80016E84 00013DC4 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 80016E88 00013DC8 48 32 82 95 */ bl OSUnlockMutex
/* 80016E8C 00013DCC 38 7F 1F E4 */ addi r3, r31, 0x1fe4
/* 80016E90 00013DD0 48 32 85 75 */ bl OSSignalCond
lbl_80016E94:
/* 80016E94 00013DD4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80016E98 00013DD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80016E9C 00013DDC 7C 08 03 A6 */ mtlr r0
/* 80016EA0 00013DE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80016EA4 00013DE4 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_format
mDoMemCd_Ctrl_c_NS_format:
/* 80016EA8 00013DE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80016EAC 00013DEC 7C 08 02 A6 */ mflr r0
/* 80016EB0 00013DF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80016EB4 00013DF4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80016EB8 00013DF8 93 C1 00 08 */ stw r30, 8(r1)
/* 80016EBC 00013DFC 7C 7E 1B 78 */ mr r30, r3
/* 80016EC0 00013E00 38 00 00 00 */ li r0, 0
/* 80016EC4 00013E04 90 03 1F C8 */ stw r0, 0x1fc8(r3)
/* 80016EC8 00013E08 88 63 1F BC */ lbz r3, 0x1fbc(r3)
/* 80016ECC 00013E0C 48 34 0D 55 */ bl CARDFormat
/* 80016ED0 00013E10 7C 7F 1B 78 */ mr r31, r3
/* 80016ED4 00013E14 38 7E 1F CC */ addi r3, r30, 0x1fcc
/* 80016ED8 00013E18 48 32 83 7D */ bl OSTryLockMutex
/* 80016EDC 00013E1C 2C 03 00 00 */ cmpwi r3, 0
/* 80016EE0 00013E20 41 82 00 34 */ beq lbl_80016F14
/* 80016EE4 00013E24 2C 1F 00 00 */ cmpwi r31, 0
/* 80016EE8 00013E28 40 82 00 10 */ bne lbl_80016EF8
/* 80016EEC 00013E2C 38 00 00 05 */ li r0, 5
/* 80016EF0 00013E30 90 1E 1F C4 */ stw r0, 0x1fc4(r30)
/* 80016EF4 00013E34 48 00 00 10 */ b lbl_80016F04
lbl_80016EF8:
/* 80016EF8 00013E38 7F C3 F3 78 */ mr r3, r30
/* 80016EFC 00013E3C 7F E4 FB 78 */ mr r4, r31
/* 80016F00 00013E40 48 00 04 61 */ bl mDoMemCd_Ctrl_c_NS_setCardState
lbl_80016F04:
/* 80016F04 00013E44 38 00 00 01 */ li r0, 1
/* 80016F08 00013E48 90 1E 1F C8 */ stw r0, 0x1fc8(r30)
/* 80016F0C 00013E4C 38 7E 1F CC */ addi r3, r30, 0x1fcc
/* 80016F10 00013E50 48 32 82 0D */ bl OSUnlockMutex
lbl_80016F14:
/* 80016F14 00013E54 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80016F18 00013E58 83 C1 00 08 */ lwz r30, 8(r1)
/* 80016F1C 00013E5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80016F20 00013E60 7C 08 03 A6 */ mtlr r0
/* 80016F24 00013E64 38 21 00 10 */ addi r1, r1, 0x10
/* 80016F28 00013E68 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_FormatSync
mDoMemCd_Ctrl_c_NS_FormatSync:
/* 80016F2C 00013E6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80016F30 00013E70 7C 08 02 A6 */ mflr r0
/* 80016F34 00013E74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80016F38 00013E78 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80016F3C 00013E7C 93 C1 00 08 */ stw r30, 8(r1)
/* 80016F40 00013E80 7C 7E 1B 78 */ mr r30, r3
/* 80016F44 00013E84 3B E0 00 00 */ li r31, 0
/* 80016F48 00013E88 80 03 1F C8 */ lwz r0, 0x1fc8(r3)
/* 80016F4C 00013E8C 2C 00 00 00 */ cmpwi r0, 0
/* 80016F50 00013E90 40 82 00 0C */ bne lbl_80016F5C
/* 80016F54 00013E94 38 60 00 00 */ li r3, 0
/* 80016F58 00013E98 48 00 00 48 */ b lbl_80016FA0
lbl_80016F5C:
/* 80016F5C 00013E9C 38 7E 1F CC */ addi r3, r30, 0x1fcc
/* 80016F60 00013EA0 48 32 82 F5 */ bl OSTryLockMutex
/* 80016F64 00013EA4 2C 03 00 00 */ cmpwi r3, 0
/* 80016F68 00013EA8 41 82 00 34 */ beq lbl_80016F9C
/* 80016F6C 00013EAC 80 1E 1F C4 */ lwz r0, 0x1fc4(r30)
/* 80016F70 00013EB0 2C 00 00 0D */ cmpwi r0, 0xd
/* 80016F74 00013EB4 41 82 00 20 */ beq lbl_80016F94
/* 80016F78 00013EB8 2C 00 00 05 */ cmpwi r0, 5
/* 80016F7C 00013EBC 40 82 00 14 */ bne lbl_80016F90
/* 80016F80 00013EC0 38 00 00 02 */ li r0, 2
/* 80016F84 00013EC4 90 1E 1F C4 */ stw r0, 0x1fc4(r30)
/* 80016F88 00013EC8 3B E0 00 01 */ li r31, 1
/* 80016F8C 00013ECC 48 00 00 08 */ b lbl_80016F94
lbl_80016F90:
/* 80016F90 00013ED0 3B E0 00 02 */ li r31, 2
lbl_80016F94:
/* 80016F94 00013ED4 38 7E 1F CC */ addi r3, r30, 0x1fcc
/* 80016F98 00013ED8 48 32 81 85 */ bl OSUnlockMutex
lbl_80016F9C:
/* 80016F9C 00013EDC 7F E3 FB 78 */ mr r3, r31
lbl_80016FA0:
/* 80016FA0 00013EE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80016FA4 00013EE4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80016FA8 00013EE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80016FAC 00013EEC 7C 08 03 A6 */ mtlr r0
/* 80016FB0 00013EF0 38 21 00 10 */ addi r1, r1, 0x10
/* 80016FB4 00013EF4 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_attach
mDoMemCd_Ctrl_c_NS_attach:
/* 80016FB8 00013EF8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80016FBC 00013EFC 7C 08 02 A6 */ mflr r0
/* 80016FC0 00013F00 90 01 00 24 */ stw r0, 0x24(r1)
/* 80016FC4 00013F04 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80016FC8 00013F08 7C 7F 1B 78 */ mr r31, r3
/* 80016FCC 00013F0C 88 63 1F BC */ lbz r3, 0x1fbc(r3)
/* 80016FD0 00013F10 38 81 00 0C */ addi r4, r1, 0xc
/* 80016FD4 00013F14 38 A1 00 08 */ addi r5, r1, 8
/* 80016FD8 00013F18 48 33 FA 75 */ bl CARDProbeEx
/* 80016FDC 00013F1C 2C 03 FF FD */ cmpwi r3, -3
/* 80016FE0 00013F20 40 82 00 10 */ bne lbl_80016FF0
/* 80016FE4 00013F24 38 00 00 00 */ li r0, 0
/* 80016FE8 00013F28 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80016FEC 00013F2C 48 00 00 B8 */ b lbl_800170A4
lbl_80016FF0:
/* 80016FF0 00013F30 2C 03 FF 80 */ cmpwi r3, -128
/* 80016FF4 00013F34 40 82 00 10 */ bne lbl_80017004
/* 80016FF8 00013F38 38 00 00 0C */ li r0, 0xc
/* 80016FFC 00013F3C 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017000 00013F40 48 00 00 A4 */ b lbl_800170A4
lbl_80017004:
/* 80017004 00013F44 2C 03 FF FE */ cmpwi r3, -2
/* 80017008 00013F48 40 82 00 10 */ bne lbl_80017018
/* 8001700C 00013F4C 38 00 00 0A */ li r0, 0xa
/* 80017010 00013F50 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017014 00013F54 48 00 00 90 */ b lbl_800170A4
lbl_80017018:
/* 80017018 00013F58 80 01 00 08 */ lwz r0, 8(r1)
/* 8001701C 00013F5C 2C 00 20 00 */ cmpwi r0, 0x2000
/* 80017020 00013F60 41 82 00 10 */ beq lbl_80017030
/* 80017024 00013F64 38 00 00 0B */ li r0, 0xb
/* 80017028 00013F68 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 8001702C 00013F6C 48 00 00 78 */ b lbl_800170A4
lbl_80017030:
/* 80017030 00013F70 7F E3 FB 78 */ mr r3, r31
/* 80017034 00013F74 48 00 01 15 */ bl mDoMemCd_Ctrl_c_NS_mount
/* 80017038 00013F78 2C 03 00 00 */ cmpwi r3, 0
/* 8001703C 00013F7C 41 82 00 68 */ beq lbl_800170A4
/* 80017040 00013F80 7F E3 FB 78 */ mr r3, r31
/* 80017044 00013F84 48 00 02 31 */ bl mDoMemCd_Ctrl_c_NS_loadfile
/* 80017048 00013F88 2C 03 00 00 */ cmpwi r3, 0
/* 8001704C 00013F8C 41 82 00 10 */ beq lbl_8001705C
/* 80017050 00013F90 38 00 00 01 */ li r0, 1
/* 80017054 00013F94 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017058 00013F98 48 00 00 4C */ b lbl_800170A4
lbl_8001705C:
/* 8001705C 00013F9C 7F E3 FB 78 */ mr r3, r31
/* 80017060 00013FA0 48 00 02 75 */ bl mDoMemCd_Ctrl_c_NS_checkspace
/* 80017064 00013FA4 2C 03 00 02 */ cmpwi r3, 2
/* 80017068 00013FA8 41 82 00 34 */ beq lbl_8001709C
/* 8001706C 00013FAC 40 80 00 38 */ bge lbl_800170A4
/* 80017070 00013FB0 2C 03 00 00 */ cmpwi r3, 0
/* 80017074 00013FB4 41 82 00 10 */ beq lbl_80017084
/* 80017078 00013FB8 40 80 00 18 */ bge lbl_80017090
/* 8001707C 00013FBC 48 00 00 28 */ b lbl_800170A4
/* 80017080 00013FC0 48 00 00 24 */ b lbl_800170A4
lbl_80017084:
/* 80017084 00013FC4 38 00 00 02 */ li r0, 2
/* 80017088 00013FC8 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 8001708C 00013FCC 48 00 00 18 */ b lbl_800170A4
lbl_80017090:
/* 80017090 00013FD0 38 00 00 08 */ li r0, 8
/* 80017094 00013FD4 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017098 00013FD8 48 00 00 0C */ b lbl_800170A4
lbl_8001709C:
/* 8001709C 00013FDC 38 00 00 09 */ li r0, 9
/* 800170A0 00013FE0 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
lbl_800170A4:
/* 800170A4 00013FE4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800170A8 00013FE8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800170AC 00013FEC 7C 08 03 A6 */ mtlr r0
/* 800170B0 00013FF0 38 21 00 20 */ addi r1, r1, 0x20
/* 800170B4 00013FF4 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_command_attach
mDoMemCd_Ctrl_c_NS_command_attach:
/* 800170B8 00013FF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800170BC 00013FFC 7C 08 02 A6 */ mflr r0
/* 800170C0 00014000 90 01 00 14 */ stw r0, 0x14(r1)
/* 800170C4 00014004 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800170C8 00014008 7C 7F 1B 78 */ mr r31, r3
/* 800170CC 0001400C 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 800170D0 00014010 48 32 81 85 */ bl OSTryLockMutex
/* 800170D4 00014014 2C 03 00 00 */ cmpwi r3, 0
/* 800170D8 00014018 41 82 00 24 */ beq lbl_800170FC
/* 800170DC 0001401C 38 00 00 0D */ li r0, 0xd
/* 800170E0 00014020 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800170E4 00014024 38 00 00 04 */ li r0, 4
/* 800170E8 00014028 90 1F 1F C0 */ stw r0, 0x1fc0(r31)
/* 800170EC 0001402C 38 7F 1F CC */ addi r3, r31, 0x1fcc
/* 800170F0 00014030 48 32 80 2D */ bl OSUnlockMutex
/* 800170F4 00014034 38 7F 1F E4 */ addi r3, r31, 0x1fe4
/* 800170F8 00014038 48 32 83 0D */ bl OSSignalCond
lbl_800170FC:
/* 800170FC 0001403C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80017100 00014040 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80017104 00014044 7C 08 03 A6 */ mtlr r0
/* 80017108 00014048 38 21 00 10 */ addi r1, r1, 0x10
/* 8001710C 0001404C 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_detach
mDoMemCd_Ctrl_c_NS_detach:
/* 80017110 00014050 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80017114 00014054 7C 08 02 A6 */ mflr r0
/* 80017118 00014058 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001711C 0001405C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80017120 00014060 7C 7F 1B 78 */ mr r31, r3
/* 80017124 00014064 88 63 1F BC */ lbz r3, 0x1fbc(r3)
/* 80017128 00014068 48 34 02 B1 */ bl CARDUnmount
/* 8001712C 0001406C 38 00 00 00 */ li r0, 0
/* 80017130 00014070 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017134 00014074 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80017138 00014078 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001713C 0001407C 7C 08 03 A6 */ mtlr r0
/* 80017140 00014080 38 21 00 10 */ addi r1, r1, 0x10
/* 80017144 00014084 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_mount
mDoMemCd_Ctrl_c_NS_mount:
/* 80017148 00014088 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001714C 0001408C 7C 08 02 A6 */ mflr r0
/* 80017150 00014090 90 01 00 14 */ stw r0, 0x14(r1)
/* 80017154 00014094 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80017158 00014098 7C 7F 1B 78 */ mr r31, r3
/* 8001715C 0001409C 88 63 1F BC */ lbz r3, 0x1fbc(r3)
/* 80017160 000140A0 3C 80 80 3E */ lis r4, lbl_803E0F40@ha
/* 80017164 000140A4 38 84 0F 40 */ addi r4, r4, lbl_803E0F40@l
/* 80017168 000140A8 38 A0 00 00 */ li r5, 0
/* 8001716C 000140AC 48 34 01 89 */ bl CARDMount
/* 80017170 000140B0 2C 03 FF FB */ cmpwi r3, -5
/* 80017174 000140B4 41 82 00 44 */ beq lbl_800171B8
/* 80017178 000140B8 40 80 00 28 */ bge lbl_800171A0
/* 8001717C 000140BC 2C 03 FF F3 */ cmpwi r3, -13
/* 80017180 000140C0 41 82 00 CC */ beq lbl_8001724C
/* 80017184 000140C4 40 80 00 10 */ bge lbl_80017194
/* 80017188 000140C8 2C 03 FF 80 */ cmpwi r3, -128
/* 8001718C 000140CC 41 82 00 2C */ beq lbl_800171B8
/* 80017190 000140D0 48 00 00 CC */ b lbl_8001725C
lbl_80017194:
/* 80017194 000140D4 2C 03 FF FA */ cmpwi r3, -6
/* 80017198 000140D8 40 80 00 40 */ bge lbl_800171D8
/* 8001719C 000140DC 48 00 00 C0 */ b lbl_8001725C
lbl_800171A0:
/* 800171A0 000140E0 2C 03 00 00 */ cmpwi r3, 0
/* 800171A4 000140E4 41 82 00 34 */ beq lbl_800171D8
/* 800171A8 000140E8 40 80 00 B4 */ bge lbl_8001725C
/* 800171AC 000140EC 2C 03 FF FD */ cmpwi r3, -3
/* 800171B0 000140F0 41 82 00 18 */ beq lbl_800171C8
/* 800171B4 000140F4 48 00 00 A8 */ b lbl_8001725C
lbl_800171B8:
/* 800171B8 000140F8 38 00 00 0C */ li r0, 0xc
/* 800171BC 000140FC 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800171C0 00014100 38 60 00 00 */ li r3, 0
/* 800171C4 00014104 48 00 00 9C */ b lbl_80017260
lbl_800171C8:
/* 800171C8 00014108 38 00 00 00 */ li r0, 0
/* 800171CC 0001410C 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800171D0 00014110 38 60 00 00 */ li r3, 0
/* 800171D4 00014114 48 00 00 8C */ b lbl_80017260
lbl_800171D8:
/* 800171D8 00014118 88 7F 1F BC */ lbz r3, 0x1fbc(r31)
/* 800171DC 0001411C 48 33 F7 19 */ bl CARDCheck
/* 800171E0 00014120 38 03 00 0D */ addi r0, r3, 0xd
/* 800171E4 00014124 28 00 00 0D */ cmplwi r0, 0xd
/* 800171E8 00014128 41 81 00 74 */ bgt lbl_8001725C
/* 800171EC 0001412C 3C 60 80 3A */ lis r3, lbl_803A3530@ha
/* 800171F0 00014130 38 63 35 30 */ addi r3, r3, lbl_803A3530@l
/* 800171F4 00014134 54 00 10 3A */ slwi r0, r0, 2
/* 800171F8 00014138 7C 03 00 2E */ lwzx r0, r3, r0
/* 800171FC 0001413C 7C 09 03 A6 */ mtctr r0
/* 80017200 00014140 4E 80 04 20 */ bctr
/* 80017204 00014144 38 60 00 01 */ li r3, 1
/* 80017208 00014148 48 00 00 58 */ b lbl_80017260
/* 8001720C 0001414C 38 00 00 07 */ li r0, 7
/* 80017210 00014150 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017214 00014154 38 60 00 00 */ li r3, 0
/* 80017218 00014158 48 00 00 48 */ b lbl_80017260
/* 8001721C 0001415C 38 00 00 0C */ li r0, 0xc
/* 80017220 00014160 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017224 00014164 38 60 00 00 */ li r3, 0
/* 80017228 00014168 48 00 00 38 */ b lbl_80017260
/* 8001722C 0001416C 38 00 00 00 */ li r0, 0
/* 80017230 00014170 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017234 00014174 38 60 00 00 */ li r3, 0
/* 80017238 00014178 48 00 00 28 */ b lbl_80017260
/* 8001723C 0001417C 38 00 00 06 */ li r0, 6
/* 80017240 00014180 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017244 00014184 38 60 00 00 */ li r3, 0
/* 80017248 00014188 48 00 00 18 */ b lbl_80017260
lbl_8001724C:
/* 8001724C 0001418C 38 00 00 06 */ li r0, 6
/* 80017250 00014190 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017254 00014194 38 60 00 00 */ li r3, 0
/* 80017258 00014198 48 00 00 08 */ b lbl_80017260
lbl_8001725C:
/* 8001725C 0001419C 38 60 00 00 */ li r3, 0
lbl_80017260:
/* 80017260 000141A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80017264 000141A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80017268 000141A8 7C 08 03 A6 */ mtlr r0
/* 8001726C 000141AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80017270 000141B0 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_loadfile
mDoMemCd_Ctrl_c_NS_loadfile:
/* 80017274 000141B4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80017278 000141B8 7C 08 02 A6 */ mflr r0
/* 8001727C 000141BC 90 01 00 34 */ stw r0, 0x34(r1)
/* 80017280 000141C0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80017284 000141C4 7C 7F 1B 78 */ mr r31, r3
/* 80017288 000141C8 88 63 1F BC */ lbz r3, 0x1fbc(r3)
/* 8001728C 000141CC 3C 80 80 37 */ lis r4, lbl_803743F8@ha
/* 80017290 000141D0 38 84 43 F8 */ addi r4, r4, lbl_803743F8@l
/* 80017294 000141D4 38 A1 00 08 */ addi r5, r1, 8
/* 80017298 000141D8 48 34 0D 01 */ bl CARDOpen
/* 8001729C 000141DC 7C 64 1B 79 */ or. r4, r3, r3
/* 800172A0 000141E0 40 82 00 14 */ bne lbl_800172B4
/* 800172A4 000141E4 38 61 00 08 */ addi r3, r1, 8
/* 800172A8 000141E8 48 34 0E 0D */ bl CARDClose
/* 800172AC 000141EC 38 60 00 01 */ li r3, 1
/* 800172B0 000141F0 48 00 00 10 */ b lbl_800172C0
lbl_800172B4:
/* 800172B4 000141F4 7F E3 FB 78 */ mr r3, r31
/* 800172B8 000141F8 48 00 00 A9 */ bl mDoMemCd_Ctrl_c_NS_setCardState
/* 800172BC 000141FC 38 60 00 00 */ li r3, 0
lbl_800172C0:
/* 800172C0 00014200 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800172C4 00014204 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800172C8 00014208 7C 08 03 A6 */ mtlr r0
/* 800172CC 0001420C 38 21 00 30 */ addi r1, r1, 0x30
/* 800172D0 00014210 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_checkspace
mDoMemCd_Ctrl_c_NS_checkspace:
/* 800172D4 00014214 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800172D8 00014218 7C 08 02 A6 */ mflr r0
/* 800172DC 0001421C 90 01 00 24 */ stw r0, 0x24(r1)
/* 800172E0 00014220 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800172E4 00014224 7C 7F 1B 78 */ mr r31, r3
/* 800172E8 00014228 88 63 1F BC */ lbz r3, 0x1fbc(r3)
/* 800172EC 0001422C 38 81 00 0C */ addi r4, r1, 0xc
/* 800172F0 00014230 38 A1 00 08 */ addi r5, r1, 8
/* 800172F4 00014234 48 33 C9 DD */ bl CARDFreeBlocks
/* 800172F8 00014238 7C 64 1B 79 */ or. r4, r3, r3
/* 800172FC 0001423C 41 82 00 14 */ beq lbl_80017310
/* 80017300 00014240 7F E3 FB 78 */ mr r3, r31
/* 80017304 00014244 48 00 00 5D */ bl mDoMemCd_Ctrl_c_NS_setCardState
/* 80017308 00014248 38 60 00 03 */ li r3, 3
/* 8001730C 0001424C 48 00 00 40 */ b lbl_8001734C
lbl_80017310:
/* 80017310 00014250 80 81 00 0C */ lwz r4, 0xc(r1)
/* 80017314 00014254 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 80017318 00014258 38 03 80 00 */ addi r0, r3, 0x00008000@l
/* 8001731C 0001425C 7C 04 00 00 */ cmpw r4, r0
/* 80017320 00014260 40 80 00 0C */ bge lbl_8001732C
/* 80017324 00014264 38 60 00 01 */ li r3, 1
/* 80017328 00014268 48 00 00 24 */ b lbl_8001734C
lbl_8001732C:
/* 8001732C 0001426C 80 81 00 08 */ lwz r4, 8(r1)
/* 80017330 00014270 38 60 00 01 */ li r3, 1
/* 80017334 00014274 7C 03 20 10 */ subfc r0, r3, r4
/* 80017338 00014278 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8001733C 0001427C 54 80 0F FE */ srwi r0, r4, 0x1f
/* 80017340 00014280 7C 60 19 10 */ subfe r3, r0, r3
/* 80017344 00014284 38 00 00 02 */ li r0, 2
/* 80017348 00014288 7C 03 18 38 */ and r3, r0, r3
lbl_8001734C:
/* 8001734C 0001428C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80017350 00014290 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80017354 00014294 7C 08 03 A6 */ mtlr r0
/* 80017358 00014298 38 21 00 20 */ addi r1, r1, 0x20
/* 8001735C 0001429C 4E 80 00 20 */ blr
.global mDoMemCd_Ctrl_c_NS_setCardState
mDoMemCd_Ctrl_c_NS_setCardState:
/* 80017360 000142A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80017364 000142A4 7C 08 02 A6 */ mflr r0
/* 80017368 000142A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001736C 000142AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80017370 000142B0 7C 7F 1B 78 */ mr r31, r3
/* 80017374 000142B4 2C 04 FF FB */ cmpwi r4, -5
/* 80017378 000142B8 41 82 00 48 */ beq lbl_800173C0
/* 8001737C 000142BC 40 80 00 28 */ bge lbl_800173A4
/* 80017380 000142C0 2C 04 FF F3 */ cmpwi r4, -13
/* 80017384 000142C4 41 82 00 70 */ beq lbl_800173F4
/* 80017388 000142C8 40 80 00 10 */ bge lbl_80017398
/* 8001738C 000142CC 2C 04 FF 80 */ cmpwi r4, -128
/* 80017390 000142D0 41 82 00 30 */ beq lbl_800173C0
/* 80017394 000142D4 48 00 00 74 */ b lbl_80017408
lbl_80017398:
/* 80017398 000142D8 2C 04 FF FA */ cmpwi r4, -6
/* 8001739C 000142DC 40 80 00 3C */ bge lbl_800173D8
/* 800173A0 000142E0 48 00 00 68 */ b lbl_80017408
lbl_800173A4:
/* 800173A4 000142E4 2C 04 00 00 */ cmpwi r4, 0
/* 800173A8 000142E8 41 82 00 30 */ beq lbl_800173D8
/* 800173AC 000142EC 40 80 00 5C */ bge lbl_80017408
/* 800173B0 000142F0 2C 04 FF FD */ cmpwi r4, -3
/* 800173B4 000142F4 41 82 00 18 */ beq lbl_800173CC
/* 800173B8 000142F8 40 80 00 50 */ bge lbl_80017408
/* 800173BC 000142FC 48 00 00 44 */ b lbl_80017400
lbl_800173C0:
/* 800173C0 00014300 38 00 00 0C */ li r0, 0xc
/* 800173C4 00014304 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800173C8 00014308 48 00 00 40 */ b lbl_80017408
lbl_800173CC:
/* 800173CC 0001430C 38 00 00 00 */ li r0, 0
/* 800173D0 00014310 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800173D4 00014314 48 00 00 34 */ b lbl_80017408
lbl_800173D8:
/* 800173D8 00014318 88 7F 1F BC */ lbz r3, 0x1fbc(r31)
/* 800173DC 0001431C 48 33 F5 19 */ bl CARDCheck
/* 800173E0 00014320 2C 03 00 00 */ cmpwi r3, 0
/* 800173E4 00014324 41 82 00 24 */ beq lbl_80017408
/* 800173E8 00014328 38 00 00 07 */ li r0, 7
/* 800173EC 0001432C 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800173F0 00014330 48 00 00 18 */ b lbl_80017408
lbl_800173F4:
/* 800173F4 00014334 38 00 00 06 */ li r0, 6
/* 800173F8 00014338 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800173FC 0001433C 48 00 00 0C */ b lbl_80017408
lbl_80017400:
/* 80017400 00014340 38 00 00 02 */ li r0, 2
/* 80017404 00014344 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
lbl_80017408:
/* 80017408 00014348 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001740C 0001434C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80017410 00014350 7C 08 03 A6 */ mtlr r0
/* 80017414 00014354 38 21 00 10 */ addi r1, r1, 0x10
/* 80017418 00014358 4E 80 00 20 */ blr
.global mDoMemCd_main
mDoMemCd_main:
/* 8001741C 0001435C 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 80017420 00014360 7C 08 02 A6 */ mflr r0
/* 80017424 00014364 90 01 00 94 */ stw r0, 0x94(r1)
/* 80017428 00014368 48 32 98 5D */ bl OSGetCurrentThread
/* 8001742C 0001436C 7C 64 1B 78 */ mr r4, r3
/* 80017430 00014370 38 61 00 08 */ addi r3, r1, 8
/* 80017434 00014374 38 A0 00 00 */ li r5, 0
/* 80017438 00014378 48 2B A2 81 */ bl __ct__9JKRThreadFP8OSThreadi
/* 8001743C 0001437C 38 61 00 08 */ addi r3, r1, 8
/* 80017440 00014380 38 80 FF FF */ li r4, -1
/* 80017444 00014384 48 2B A3 15 */ bl __dt__9JKRThreadFv
/* 80017448 00014388 4B FF 78 9D */ bl mDoExt_getAssertHeap
/* 8001744C 0001438C 48 2B 6F ED */ bl becomeCurrentHeap__7JKRHeapFv
/* 80017450 00014390 3C 60 80 3F */ lis r3, lbl_803EAF40@ha
/* 80017454 00014394 38 63 AF 40 */ addi r3, r3, lbl_803EAF40@l
/* 80017458 00014398 4B FF F3 79 */ bl mDoMemCd_Ctrl_c_NS_main
/* 8001745C 0001439C 38 60 00 00 */ li r3, 0
/* 80017460 000143A0 80 01 00 94 */ lwz r0, 0x94(r1)
/* 80017464 000143A4 7C 08 03 A6 */ mtlr r0
/* 80017468 000143A8 38 21 00 90 */ addi r1, r1, 0x90
/* 8001746C 000143AC 4E 80 00 20 */ blr
/* 80017470 000143B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80017474 000143B4 7C 08 02 A6 */ mflr r0
/* 80017478 000143B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001747C 000143BC 3C 60 80 3F */ lis r3, lbl_803EAF40@ha
/* 80017480 000143C0 38 63 AF 40 */ addi r3, r3, lbl_803EAF40@l
/* 80017484 000143C4 4B FF F2 A9 */ bl mDoMemCd_Ctrl_c
/* 80017488 000143C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001748C 000143CC 7C 08 03 A6 */ mtlr r0
/* 80017490 000143D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80017494 000143D4 4E 80 00 20 */ blr