.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global nandRemoveTailToken nandRemoveTailToken: /* 802E8FE8 002E4C48 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E8FEC 002E4C4C 7C 08 02 A6 */ mflr r0 /* 802E8FF0 002E4C50 90 01 00 24 */ stw r0, 0x24(r1) /* 802E8FF4 002E4C54 88 04 00 00 */ lbz r0, 0(r4) /* 802E8FF8 002E4C58 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802E8FFC 002E4C5C 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E9000 002E4C60 93 C1 00 18 */ stw r30, 0x18(r1) /* 802E9004 002E4C64 7C 9E 23 78 */ mr r30, r4 /* 802E9008 002E4C68 93 A1 00 14 */ stw r29, 0x14(r1) /* 802E900C 002E4C6C 7C 7D 1B 78 */ mr r29, r3 /* 802E9010 002E4C70 40 82 00 24 */ bne lbl_802E9034 /* 802E9014 002E4C74 88 04 00 01 */ lbz r0, 1(r4) /* 802E9018 002E4C78 7C 00 07 75 */ extsb. r0, r0 /* 802E901C 002E4C7C 40 82 00 18 */ bne lbl_802E9034 /* 802E9020 002E4C80 38 80 00 2F */ li r4, 0x2f /* 802E9024 002E4C84 38 00 00 00 */ li r0, 0 /* 802E9028 002E4C88 98 83 00 00 */ stb r4, 0(r3) /* 802E902C 002E4C8C 98 03 00 01 */ stb r0, 1(r3) /* 802E9030 002E4C90 48 00 00 70 */ b lbl_802E90A0 lbl_802E9034: /* 802E9034 002E4C94 7F C3 F3 78 */ mr r3, r30 /* 802E9038 002E4C98 4B ED DB 2D */ bl strlen /* 802E903C 002E4C9C 37 E3 FF FF */ addic. r31, r3, -1 /* 802E9040 002E4CA0 38 1F 00 01 */ addi r0, r31, 1 /* 802E9044 002E4CA4 7C 7E FA 14 */ add r3, r30, r31 /* 802E9048 002E4CA8 7C 09 03 A6 */ mtctr r0 /* 802E904C 002E4CAC 41 80 00 54 */ blt lbl_802E90A0 lbl_802E9050: /* 802E9050 002E4CB0 88 03 00 00 */ lbz r0, 0(r3) /* 802E9054 002E4CB4 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E9058 002E4CB8 40 82 00 3C */ bne lbl_802E9094 /* 802E905C 002E4CBC 2C 1F 00 00 */ cmpwi r31, 0 /* 802E9060 002E4CC0 41 82 00 20 */ beq lbl_802E9080 /* 802E9064 002E4CC4 7F A3 EB 78 */ mr r3, r29 /* 802E9068 002E4CC8 7F C4 F3 78 */ mr r4, r30 /* 802E906C 002E4CCC 7F E5 FB 78 */ mr r5, r31 /* 802E9070 002E4CD0 4B EE 53 21 */ bl strncpy /* 802E9074 002E4CD4 38 00 00 00 */ li r0, 0 /* 802E9078 002E4CD8 7C 1D F9 AE */ stbx r0, r29, r31 /* 802E907C 002E4CDC 48 00 00 24 */ b lbl_802E90A0 lbl_802E9080: /* 802E9080 002E4CE0 38 60 00 2F */ li r3, 0x2f /* 802E9084 002E4CE4 38 00 00 00 */ li r0, 0 /* 802E9088 002E4CE8 98 7D 00 00 */ stb r3, 0(r29) /* 802E908C 002E4CEC 98 1D 00 01 */ stb r0, 1(r29) /* 802E9090 002E4CF0 48 00 00 10 */ b lbl_802E90A0 lbl_802E9094: /* 802E9094 002E4CF4 3B FF FF FF */ addi r31, r31, -1 /* 802E9098 002E4CF8 38 63 FF FF */ addi r3, r3, -1 /* 802E909C 002E4CFC 42 00 FF B4 */ bdnz lbl_802E9050 lbl_802E90A0: /* 802E90A0 002E4D00 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E90A4 002E4D04 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802E90A8 002E4D08 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802E90AC 002E4D0C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802E90B0 002E4D10 7C 08 03 A6 */ mtlr r0 /* 802E90B4 002E4D14 38 21 00 20 */ addi r1, r1, 0x20 /* 802E90B8 002E4D18 4E 80 00 20 */ blr .global nandGetHeadToken nandGetHeadToken: /* 802E90BC 002E4D1C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E90C0 002E4D20 7C 08 02 A6 */ mflr r0 /* 802E90C4 002E4D24 90 01 00 24 */ stw r0, 0x24(r1) /* 802E90C8 002E4D28 39 61 00 20 */ addi r11, r1, 0x20 /* 802E90CC 002E4D2C 4B ED E0 5D */ bl _savegpr_27 /* 802E90D0 002E4D30 7C 7B 1B 78 */ mr r27, r3 /* 802E90D4 002E4D34 7C 9C 23 78 */ mr r28, r4 /* 802E90D8 002E4D38 7C BD 2B 78 */ mr r29, r5 /* 802E90DC 002E4D3C 7C BF 2B 78 */ mr r31, r5 /* 802E90E0 002E4D40 3B C0 00 00 */ li r30, 0 /* 802E90E4 002E4D44 48 00 00 84 */ b lbl_802E9168 lbl_802E90E8: /* 802E90E8 002E4D48 88 1F 00 00 */ lbz r0, 0(r31) /* 802E90EC 002E4D4C 7C 00 07 74 */ extsb r0, r0 /* 802E90F0 002E4D50 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E90F4 002E4D54 40 82 00 44 */ bne lbl_802E9138 /* 802E90F8 002E4D58 7F 63 DB 78 */ mr r3, r27 /* 802E90FC 002E4D5C 7F A4 EB 78 */ mr r4, r29 /* 802E9100 002E4D60 7F C5 F3 78 */ mr r5, r30 /* 802E9104 002E4D64 4B EE 52 8D */ bl strncpy /* 802E9108 002E4D68 7C 9E EA 14 */ add r4, r30, r29 /* 802E910C 002E4D6C 38 60 00 00 */ li r3, 0 /* 802E9110 002E4D70 88 04 00 01 */ lbz r0, 1(r4) /* 802E9114 002E4D74 7C 7B F1 AE */ stbx r3, r27, r30 /* 802E9118 002E4D78 7C 00 07 75 */ extsb. r0, r0 /* 802E911C 002E4D7C 40 82 00 0C */ bne lbl_802E9128 /* 802E9120 002E4D80 98 7C 00 00 */ stb r3, 0(r28) /* 802E9124 002E4D84 48 00 00 54 */ b lbl_802E9178 lbl_802E9128: /* 802E9128 002E4D88 7F 83 E3 78 */ mr r3, r28 /* 802E912C 002E4D8C 38 84 00 01 */ addi r4, r4, 1 /* 802E9130 002E4D90 4B EE 51 A1 */ bl strcpy /* 802E9134 002E4D94 48 00 00 44 */ b lbl_802E9178 lbl_802E9138: /* 802E9138 002E4D98 2C 00 00 00 */ cmpwi r0, 0 /* 802E913C 002E4D9C 40 82 00 24 */ bne lbl_802E9160 /* 802E9140 002E4DA0 7F 63 DB 78 */ mr r3, r27 /* 802E9144 002E4DA4 7F A4 EB 78 */ mr r4, r29 /* 802E9148 002E4DA8 7F C5 F3 78 */ mr r5, r30 /* 802E914C 002E4DAC 4B EE 52 45 */ bl strncpy /* 802E9150 002E4DB0 38 00 00 00 */ li r0, 0 /* 802E9154 002E4DB4 7C 1B F1 AE */ stbx r0, r27, r30 /* 802E9158 002E4DB8 98 1C 00 00 */ stb r0, 0(r28) /* 802E915C 002E4DBC 48 00 00 1C */ b lbl_802E9178 lbl_802E9160: /* 802E9160 002E4DC0 3B DE 00 01 */ addi r30, r30, 1 /* 802E9164 002E4DC4 3B FF 00 01 */ addi r31, r31, 1 lbl_802E9168: /* 802E9168 002E4DC8 7F A3 EB 78 */ mr r3, r29 /* 802E916C 002E4DCC 4B ED D9 F9 */ bl strlen /* 802E9170 002E4DD0 7C 1E 18 40 */ cmplw r30, r3 /* 802E9174 002E4DD4 40 81 FF 74 */ ble lbl_802E90E8 lbl_802E9178: /* 802E9178 002E4DD8 39 61 00 20 */ addi r11, r1, 0x20 /* 802E917C 002E4DDC 4B ED DF F9 */ bl _restgpr_27 /* 802E9180 002E4DE0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E9184 002E4DE4 7C 08 03 A6 */ mtlr r0 /* 802E9188 002E4DE8 38 21 00 20 */ addi r1, r1, 0x20 /* 802E918C 002E4DEC 4E 80 00 20 */ blr .global nandGetRelativeName nandGetRelativeName: /* 802E9190 002E4DF0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E9194 002E4DF4 7C 08 02 A6 */ mflr r0 /* 802E9198 002E4DF8 90 01 00 14 */ stw r0, 0x14(r1) /* 802E919C 002E4DFC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E91A0 002E4E00 7C 9F 23 78 */ mr r31, r4 /* 802E91A4 002E4E04 93 C1 00 08 */ stw r30, 8(r1) /* 802E91A8 002E4E08 7C 7E 1B 78 */ mr r30, r3 /* 802E91AC 002E4E0C 38 6D 8A 84 */ addi r3, r13, lbl_8063DD44-_SDA_BASE_ /* 802E91B0 002E4E10 4B EE 52 9D */ bl strcmp /* 802E91B4 002E4E14 2C 03 00 00 */ cmpwi r3, 0 /* 802E91B8 002E4E18 40 82 00 14 */ bne lbl_802E91CC /* 802E91BC 002E4E1C 7F C3 F3 78 */ mr r3, r30 /* 802E91C0 002E4E20 38 8D 8A 88 */ addi r4, r13, lbl_8063DD48-_SDA_BASE_ /* 802E91C4 002E4E24 4B EE 51 0D */ bl strcpy /* 802E91C8 002E4E28 48 00 00 48 */ b lbl_802E9210 lbl_802E91CC: /* 802E91CC 002E4E2C 7F E3 FB 78 */ mr r3, r31 /* 802E91D0 002E4E30 4B ED D9 95 */ bl strlen /* 802E91D4 002E4E34 34 83 FF FF */ addic. r4, r3, -1 /* 802E91D8 002E4E38 38 04 00 01 */ addi r0, r4, 1 /* 802E91DC 002E4E3C 7C 7F 22 14 */ add r3, r31, r4 /* 802E91E0 002E4E40 7C 09 03 A6 */ mtctr r0 /* 802E91E4 002E4E44 41 80 00 1C */ blt lbl_802E9200 lbl_802E91E8: /* 802E91E8 002E4E48 88 03 00 00 */ lbz r0, 0(r3) /* 802E91EC 002E4E4C 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E91F0 002E4E50 41 82 00 10 */ beq lbl_802E9200 /* 802E91F4 002E4E54 38 84 FF FF */ addi r4, r4, -1 /* 802E91F8 002E4E58 38 63 FF FF */ addi r3, r3, -1 /* 802E91FC 002E4E5C 42 00 FF EC */ bdnz lbl_802E91E8 lbl_802E9200: /* 802E9200 002E4E60 7C 9F 22 14 */ add r4, r31, r4 /* 802E9204 002E4E64 7F C3 F3 78 */ mr r3, r30 /* 802E9208 002E4E68 38 84 00 01 */ addi r4, r4, 1 /* 802E920C 002E4E6C 4B EE 50 C5 */ bl strcpy lbl_802E9210: /* 802E9210 002E4E70 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E9214 002E4E74 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E9218 002E4E78 83 C1 00 08 */ lwz r30, 8(r1) /* 802E921C 002E4E7C 7C 08 03 A6 */ mtlr r0 /* 802E9220 002E4E80 38 21 00 10 */ addi r1, r1, 0x10 /* 802E9224 002E4E84 4E 80 00 20 */ blr .global nandConvertPath nandConvertPath: /* 802E9228 002E4E88 94 21 FD E0 */ stwu r1, -0x220(r1) /* 802E922C 002E4E8C 7C 08 02 A6 */ mflr r0 /* 802E9230 002E4E90 90 01 02 24 */ stw r0, 0x224(r1) /* 802E9234 002E4E94 93 E1 02 1C */ stw r31, 0x21c(r1) /* 802E9238 002E4E98 7C BF 2B 78 */ mr r31, r5 /* 802E923C 002E4E9C 93 C1 02 18 */ stw r30, 0x218(r1) /* 802E9240 002E4EA0 7C 9E 23 78 */ mr r30, r4 /* 802E9244 002E4EA4 93 A1 02 14 */ stw r29, 0x214(r1) /* 802E9248 002E4EA8 7C 7D 1B 78 */ mr r29, r3 /* 802E924C 002E4EAC 7F E3 FB 78 */ mr r3, r31 /* 802E9250 002E4EB0 4B ED D9 15 */ bl strlen /* 802E9254 002E4EB4 2C 03 00 00 */ cmpwi r3, 0 /* 802E9258 002E4EB8 40 82 00 14 */ bne lbl_802E926C /* 802E925C 002E4EBC 7F A3 EB 78 */ mr r3, r29 /* 802E9260 002E4EC0 7F C4 F3 78 */ mr r4, r30 /* 802E9264 002E4EC4 4B EE 50 6D */ bl strcpy /* 802E9268 002E4EC8 48 00 00 E0 */ b lbl_802E9348 lbl_802E926C: /* 802E926C 002E4ECC 7F E5 FB 78 */ mr r5, r31 /* 802E9270 002E4ED0 38 61 01 88 */ addi r3, r1, 0x188 /* 802E9274 002E4ED4 38 81 01 08 */ addi r4, r1, 0x108 /* 802E9278 002E4ED8 4B FF FE 45 */ bl nandGetHeadToken /* 802E927C 002E4EDC 38 61 01 88 */ addi r3, r1, 0x188 /* 802E9280 002E4EE0 38 8D 8A 8C */ addi r4, r13, lbl_8063DD4C-_SDA_BASE_ /* 802E9284 002E4EE4 4B EE 51 C9 */ bl strcmp /* 802E9288 002E4EE8 2C 03 00 00 */ cmpwi r3, 0 /* 802E928C 002E4EEC 40 82 00 18 */ bne lbl_802E92A4 /* 802E9290 002E4EF0 7F A3 EB 78 */ mr r3, r29 /* 802E9294 002E4EF4 7F C4 F3 78 */ mr r4, r30 /* 802E9298 002E4EF8 38 A1 01 08 */ addi r5, r1, 0x108 /* 802E929C 002E4EFC 4B FF FF 8D */ bl nandConvertPath /* 802E92A0 002E4F00 48 00 00 A8 */ b lbl_802E9348 lbl_802E92A4: /* 802E92A4 002E4F04 38 61 01 88 */ addi r3, r1, 0x188 /* 802E92A8 002E4F08 38 8D 8A 90 */ addi r4, r13, lbl_8063DD50-_SDA_BASE_ /* 802E92AC 002E4F0C 4B EE 51 A1 */ bl strcmp /* 802E92B0 002E4F10 2C 03 00 00 */ cmpwi r3, 0 /* 802E92B4 002E4F14 40 82 00 24 */ bne lbl_802E92D8 /* 802E92B8 002E4F18 7F C4 F3 78 */ mr r4, r30 /* 802E92BC 002E4F1C 38 61 00 88 */ addi r3, r1, 0x88 /* 802E92C0 002E4F20 4B FF FD 29 */ bl nandRemoveTailToken /* 802E92C4 002E4F24 7F A3 EB 78 */ mr r3, r29 /* 802E92C8 002E4F28 38 81 00 88 */ addi r4, r1, 0x88 /* 802E92CC 002E4F2C 38 A1 01 08 */ addi r5, r1, 0x108 /* 802E92D0 002E4F30 4B FF FF 59 */ bl nandConvertPath /* 802E92D4 002E4F34 48 00 00 74 */ b lbl_802E9348 lbl_802E92D8: /* 802E92D8 002E4F38 88 01 01 88 */ lbz r0, 0x188(r1) /* 802E92DC 002E4F3C 7C 00 07 75 */ extsb. r0, r0 /* 802E92E0 002E4F40 41 82 00 5C */ beq lbl_802E933C /* 802E92E4 002E4F44 7F C3 F3 78 */ mr r3, r30 /* 802E92E8 002E4F48 38 8D 8A 84 */ addi r4, r13, lbl_8063DD44-_SDA_BASE_ /* 802E92EC 002E4F4C 4B EE 51 61 */ bl strcmp /* 802E92F0 002E4F50 2C 03 00 00 */ cmpwi r3, 0 /* 802E92F4 002E4F54 40 82 00 1C */ bne lbl_802E9310 /* 802E92F8 002E4F58 38 61 00 08 */ addi r3, r1, 8 /* 802E92FC 002E4F5C 38 A1 01 88 */ addi r5, r1, 0x188 /* 802E9300 002E4F60 38 8D 8A 94 */ addi r4, r13, lbl_8063DD54-_SDA_BASE_ /* 802E9304 002E4F64 4C C6 31 82 */ crclr 6 /* 802E9308 002E4F68 4B EE 37 F5 */ bl sprintf /* 802E930C 002E4F6C 48 00 00 1C */ b lbl_802E9328 lbl_802E9310: /* 802E9310 002E4F70 7F C5 F3 78 */ mr r5, r30 /* 802E9314 002E4F74 38 61 00 08 */ addi r3, r1, 8 /* 802E9318 002E4F78 38 C1 01 88 */ addi r6, r1, 0x188 /* 802E931C 002E4F7C 38 8D 8A 98 */ addi r4, r13, lbl_8063DD58-_SDA_BASE_ /* 802E9320 002E4F80 4C C6 31 82 */ crclr 6 /* 802E9324 002E4F84 4B EE 37 D9 */ bl sprintf lbl_802E9328: /* 802E9328 002E4F88 7F A3 EB 78 */ mr r3, r29 /* 802E932C 002E4F8C 38 81 00 08 */ addi r4, r1, 8 /* 802E9330 002E4F90 38 A1 01 08 */ addi r5, r1, 0x108 /* 802E9334 002E4F94 4B FF FE F5 */ bl nandConvertPath /* 802E9338 002E4F98 48 00 00 10 */ b lbl_802E9348 lbl_802E933C: /* 802E933C 002E4F9C 7F A3 EB 78 */ mr r3, r29 /* 802E9340 002E4FA0 7F C4 F3 78 */ mr r4, r30 /* 802E9344 002E4FA4 4B EE 4F 8D */ bl strcpy lbl_802E9348: /* 802E9348 002E4FA8 80 01 02 24 */ lwz r0, 0x224(r1) /* 802E934C 002E4FAC 83 E1 02 1C */ lwz r31, 0x21c(r1) /* 802E9350 002E4FB0 83 C1 02 18 */ lwz r30, 0x218(r1) /* 802E9354 002E4FB4 83 A1 02 14 */ lwz r29, 0x214(r1) /* 802E9358 002E4FB8 7C 08 03 A6 */ mtlr r0 /* 802E935C 002E4FBC 38 21 02 20 */ addi r1, r1, 0x220 /* 802E9360 002E4FC0 4E 80 00 20 */ blr .global nandIsPrivatePath nandIsPrivatePath: /* 802E9364 002E4FC4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E9368 002E4FC8 7C 08 02 A6 */ mflr r0 /* 802E936C 002E4FCC 3C 80 80 44 */ lis r4, lbl_80445710@ha /* 802E9370 002E4FD0 38 A0 00 08 */ li r5, 8 /* 802E9374 002E4FD4 90 01 00 14 */ stw r0, 0x14(r1) /* 802E9378 002E4FD8 38 84 57 10 */ addi r4, r4, lbl_80445710@l /* 802E937C 002E4FDC 4B EE 51 ED */ bl strncmp /* 802E9380 002E4FE0 7C 60 00 34 */ cntlzw r0, r3 /* 802E9384 002E4FE4 54 03 D9 7E */ srwi r3, r0, 5 /* 802E9388 002E4FE8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E938C 002E4FEC 7C 08 03 A6 */ mtlr r0 /* 802E9390 002E4FF0 38 21 00 10 */ addi r1, r1, 0x10 /* 802E9394 002E4FF4 4E 80 00 20 */ blr .global nandIsUnderPrivatePath nandIsUnderPrivatePath: /* 802E9398 002E4FF8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E939C 002E4FFC 7C 08 02 A6 */ mflr r0 /* 802E93A0 002E5000 3C 80 80 44 */ lis r4, lbl_8044571C@ha /* 802E93A4 002E5004 38 A0 00 09 */ li r5, 9 /* 802E93A8 002E5008 90 01 00 14 */ stw r0, 0x14(r1) /* 802E93AC 002E500C 38 84 57 1C */ addi r4, r4, lbl_8044571C@l /* 802E93B0 002E5010 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E93B4 002E5014 7C 7F 1B 78 */ mr r31, r3 /* 802E93B8 002E5018 4B EE 51 B1 */ bl strncmp /* 802E93BC 002E501C 2C 03 00 00 */ cmpwi r3, 0 /* 802E93C0 002E5020 40 82 00 18 */ bne lbl_802E93D8 /* 802E93C4 002E5024 88 1F 00 09 */ lbz r0, 9(r31) /* 802E93C8 002E5028 7C 00 07 75 */ extsb. r0, r0 /* 802E93CC 002E502C 41 82 00 0C */ beq lbl_802E93D8 /* 802E93D0 002E5030 38 60 00 01 */ li r3, 1 /* 802E93D4 002E5034 48 00 00 08 */ b lbl_802E93DC lbl_802E93D8: /* 802E93D8 002E5038 38 60 00 00 */ li r3, 0 lbl_802E93DC: /* 802E93DC 002E503C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E93E0 002E5040 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E93E4 002E5044 7C 08 03 A6 */ mtlr r0 /* 802E93E8 002E5048 38 21 00 10 */ addi r1, r1, 0x10 /* 802E93EC 002E504C 4E 80 00 20 */ blr .global nandIsInitialized nandIsInitialized: /* 802E93F0 002E5050 80 6D AF 08 */ lwz r3, lbl_806401C8-_SDA_BASE_(r13) /* 802E93F4 002E5054 38 03 FF FE */ addi r0, r3, -2 /* 802E93F8 002E5058 7C 00 00 34 */ cntlzw r0, r0 /* 802E93FC 002E505C 54 03 D9 7E */ srwi r3, r0, 5 /* 802E9400 002E5060 4E 80 00 20 */ blr .global nandReportErrorCode nandReportErrorCode: /* 802E9404 002E5064 4E 80 00 20 */ blr .global nandConvertErrorCode nandConvertErrorCode: /* 802E9408 002E5068 94 21 FE B0 */ stwu r1, -0x150(r1) /* 802E940C 002E506C 7C 08 02 A6 */ mflr r0 /* 802E9410 002E5070 3C 80 80 40 */ lis r4, lbl_803FDF20@ha /* 802E9414 002E5074 90 01 01 54 */ stw r0, 0x154(r1) /* 802E9418 002E5078 38 84 DF 20 */ addi r4, r4, lbl_803FDF20@l /* 802E941C 002E507C 38 00 00 28 */ li r0, 0x28 /* 802E9420 002E5080 38 C1 00 04 */ addi r6, r1, 4 /* 802E9424 002E5084 93 E1 01 4C */ stw r31, 0x14c(r1) /* 802E9428 002E5088 38 A4 FF FC */ addi r5, r4, -4 /* 802E942C 002E508C 93 C1 01 48 */ stw r30, 0x148(r1) /* 802E9430 002E5090 7C 7E 1B 78 */ mr r30, r3 /* 802E9434 002E5094 7C 09 03 A6 */ mtctr r0 lbl_802E9438: /* 802E9438 002E5098 80 85 00 04 */ lwz r4, 4(r5) /* 802E943C 002E509C 84 05 00 08 */ lwzu r0, 8(r5) /* 802E9440 002E50A0 90 86 00 04 */ stw r4, 4(r6) /* 802E9444 002E50A4 94 06 00 08 */ stwu r0, 8(r6) /* 802E9448 002E50A8 42 00 FF F0 */ bdnz lbl_802E9438 /* 802E944C 002E50AC 2C 03 00 00 */ cmpwi r3, 0 /* 802E9450 002E50B0 3B E0 00 00 */ li r31, 0 /* 802E9454 002E50B4 41 80 00 0C */ blt lbl_802E9460 /* 802E9458 002E50B8 7F C3 F3 78 */ mr r3, r30 /* 802E945C 002E50BC 48 00 00 64 */ b lbl_802E94C0 lbl_802E9460: /* 802E9460 002E50C0 38 00 00 28 */ li r0, 0x28 /* 802E9464 002E50C4 38 81 00 08 */ addi r4, r1, 8 /* 802E9468 002E50C8 7C 09 03 A6 */ mtctr r0 lbl_802E946C: /* 802E946C 002E50CC 80 04 00 00 */ lwz r0, 0(r4) /* 802E9470 002E50D0 7C 03 00 00 */ cmpw r3, r0 /* 802E9474 002E50D4 40 82 00 20 */ bne lbl_802E9494 /* 802E9478 002E50D8 7F C3 F3 78 */ mr r3, r30 /* 802E947C 002E50DC 4B FF FF 89 */ bl nandReportErrorCode /* 802E9480 002E50E0 38 1F 00 01 */ addi r0, r31, 1 /* 802E9484 002E50E4 38 61 00 08 */ addi r3, r1, 8 /* 802E9488 002E50E8 54 00 10 3A */ slwi r0, r0, 2 /* 802E948C 002E50EC 7C 63 00 2E */ lwzx r3, r3, r0 /* 802E9490 002E50F0 48 00 00 30 */ b lbl_802E94C0 lbl_802E9494: /* 802E9494 002E50F4 38 84 00 08 */ addi r4, r4, 8 /* 802E9498 002E50F8 3B FF 00 02 */ addi r31, r31, 2 /* 802E949C 002E50FC 42 00 FF D0 */ bdnz lbl_802E946C /* 802E94A0 002E5100 3C 60 80 44 */ lis r3, lbl_80445728@ha /* 802E94A4 002E5104 7F C4 F3 78 */ mr r4, r30 /* 802E94A8 002E5108 38 63 57 28 */ addi r3, r3, lbl_80445728@l /* 802E94AC 002E510C 4C C6 31 82 */ crclr 6 /* 802E94B0 002E5110 4B D1 E6 15 */ bl OSReport /* 802E94B4 002E5114 7F C3 F3 78 */ mr r3, r30 /* 802E94B8 002E5118 4B FF FF 4D */ bl nandReportErrorCode /* 802E94BC 002E511C 38 60 FF C0 */ li r3, -64 lbl_802E94C0: /* 802E94C0 002E5120 80 01 01 54 */ lwz r0, 0x154(r1) /* 802E94C4 002E5124 83 E1 01 4C */ lwz r31, 0x14c(r1) /* 802E94C8 002E5128 83 C1 01 48 */ lwz r30, 0x148(r1) /* 802E94CC 002E512C 7C 08 03 A6 */ mtlr r0 /* 802E94D0 002E5130 38 21 01 50 */ addi r1, r1, 0x150 /* 802E94D4 002E5134 4E 80 00 20 */ blr .global nandGenerateAbsPath nandGenerateAbsPath: /* 802E94D8 002E5138 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E94DC 002E513C 7C 08 02 A6 */ mflr r0 /* 802E94E0 002E5140 90 01 00 14 */ stw r0, 0x14(r1) /* 802E94E4 002E5144 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E94E8 002E5148 7C 9F 23 78 */ mr r31, r4 /* 802E94EC 002E514C 93 C1 00 08 */ stw r30, 8(r1) /* 802E94F0 002E5150 7C 7E 1B 78 */ mr r30, r3 /* 802E94F4 002E5154 7F E3 FB 78 */ mr r3, r31 /* 802E94F8 002E5158 4B ED D6 6D */ bl strlen /* 802E94FC 002E515C 2C 03 00 00 */ cmpwi r3, 0 /* 802E9500 002E5160 40 82 00 14 */ bne lbl_802E9514 /* 802E9504 002E5164 7F C3 F3 78 */ mr r3, r30 /* 802E9508 002E5168 38 8D 8A 88 */ addi r4, r13, lbl_8063DD48-_SDA_BASE_ /* 802E950C 002E516C 4B EE 4D C5 */ bl strcpy /* 802E9510 002E5170 48 00 00 78 */ b lbl_802E9588 lbl_802E9514: /* 802E9514 002E5174 88 1F 00 00 */ lbz r0, 0(r31) /* 802E9518 002E5178 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E951C 002E517C 40 82 00 0C */ bne lbl_802E9528 /* 802E9520 002E5180 38 00 00 00 */ li r0, 0 /* 802E9524 002E5184 48 00 00 08 */ b lbl_802E952C lbl_802E9528: /* 802E9528 002E5188 38 00 00 01 */ li r0, 1 lbl_802E952C: /* 802E952C 002E518C 2C 00 00 00 */ cmpwi r0, 0 /* 802E9530 002E5190 41 82 00 1C */ beq lbl_802E954C /* 802E9534 002E5194 3C 80 80 44 */ lis r4, lbl_804456C0@ha /* 802E9538 002E5198 7F C3 F3 78 */ mr r3, r30 /* 802E953C 002E519C 7F E5 FB 78 */ mr r5, r31 /* 802E9540 002E51A0 38 84 56 C0 */ addi r4, r4, lbl_804456C0@l /* 802E9544 002E51A4 4B FF FC E5 */ bl nandConvertPath /* 802E9548 002E51A8 48 00 00 40 */ b lbl_802E9588 lbl_802E954C: /* 802E954C 002E51AC 7F C3 F3 78 */ mr r3, r30 /* 802E9550 002E51B0 7F E4 FB 78 */ mr r4, r31 /* 802E9554 002E51B4 4B EE 4D 7D */ bl strcpy /* 802E9558 002E51B8 7F C3 F3 78 */ mr r3, r30 /* 802E955C 002E51BC 4B ED D6 09 */ bl strlen /* 802E9560 002E51C0 2C 03 00 00 */ cmpwi r3, 0 /* 802E9564 002E51C4 41 82 00 24 */ beq lbl_802E9588 /* 802E9568 002E51C8 7C 83 F2 14 */ add r4, r3, r30 /* 802E956C 002E51CC 88 04 FF FF */ lbz r0, -1(r4) /* 802E9570 002E51D0 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E9574 002E51D4 40 82 00 14 */ bne lbl_802E9588 /* 802E9578 002E51D8 34 03 FF FF */ addic. r0, r3, -1 /* 802E957C 002E51DC 41 82 00 0C */ beq lbl_802E9588 /* 802E9580 002E51E0 38 00 00 00 */ li r0, 0 /* 802E9584 002E51E4 98 04 FF FF */ stb r0, -1(r4) lbl_802E9588: /* 802E9588 002E51E8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E958C 002E51EC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E9590 002E51F0 83 C1 00 08 */ lwz r30, 8(r1) /* 802E9594 002E51F4 7C 08 03 A6 */ mtlr r0 /* 802E9598 002E51F8 38 21 00 10 */ addi r1, r1, 0x10 /* 802E959C 002E51FC 4E 80 00 20 */ blr .global nandGetParentDirectory nandGetParentDirectory: /* 802E95A0 002E5200 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E95A4 002E5204 7C 08 02 A6 */ mflr r0 /* 802E95A8 002E5208 90 01 00 24 */ stw r0, 0x24(r1) /* 802E95AC 002E520C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802E95B0 002E5210 93 C1 00 18 */ stw r30, 0x18(r1) /* 802E95B4 002E5214 7C 9E 23 78 */ mr r30, r4 /* 802E95B8 002E5218 93 A1 00 14 */ stw r29, 0x14(r1) /* 802E95BC 002E521C 7C 7D 1B 78 */ mr r29, r3 /* 802E95C0 002E5220 7F C3 F3 78 */ mr r3, r30 /* 802E95C4 002E5224 4B ED D5 A1 */ bl strlen /* 802E95C8 002E5228 38 03 00 01 */ addi r0, r3, 1 /* 802E95CC 002E522C 7C 7F 1B 78 */ mr r31, r3 /* 802E95D0 002E5230 7C 9E 1A 14 */ add r4, r30, r3 /* 802E95D4 002E5234 7C 09 03 A6 */ mtctr r0 /* 802E95D8 002E5238 2C 03 00 00 */ cmpwi r3, 0 /* 802E95DC 002E523C 41 80 00 1C */ blt lbl_802E95F8 lbl_802E95E0: /* 802E95E0 002E5240 88 04 00 00 */ lbz r0, 0(r4) /* 802E95E4 002E5244 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E95E8 002E5248 41 82 00 10 */ beq lbl_802E95F8 /* 802E95EC 002E524C 3B FF FF FF */ addi r31, r31, -1 /* 802E95F0 002E5250 38 84 FF FF */ addi r4, r4, -1 /* 802E95F4 002E5254 42 00 FF EC */ bdnz lbl_802E95E0 lbl_802E95F8: /* 802E95F8 002E5258 2C 1F 00 00 */ cmpwi r31, 0 /* 802E95FC 002E525C 40 82 00 14 */ bne lbl_802E9610 /* 802E9600 002E5260 7F A3 EB 78 */ mr r3, r29 /* 802E9604 002E5264 38 8D 8A 84 */ addi r4, r13, lbl_8063DD44-_SDA_BASE_ /* 802E9608 002E5268 4B EE 4C C9 */ bl strcpy /* 802E960C 002E526C 48 00 00 1C */ b lbl_802E9628 lbl_802E9610: /* 802E9610 002E5270 7F A3 EB 78 */ mr r3, r29 /* 802E9614 002E5274 7F C4 F3 78 */ mr r4, r30 /* 802E9618 002E5278 7F E5 FB 78 */ mr r5, r31 /* 802E961C 002E527C 4B EE 4D 75 */ bl strncpy /* 802E9620 002E5280 38 00 00 00 */ li r0, 0 /* 802E9624 002E5284 7C 1D F9 AE */ stbx r0, r29, r31 lbl_802E9628: /* 802E9628 002E5288 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E962C 002E528C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802E9630 002E5290 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802E9634 002E5294 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802E9638 002E5298 7C 08 03 A6 */ mtlr r0 /* 802E963C 002E529C 38 21 00 20 */ addi r1, r1, 0x20 /* 802E9640 002E52A0 4E 80 00 20 */ blr .global NANDInit NANDInit: /* 802E9644 002E52A4 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 802E9648 002E52A8 7C 2C 0B 78 */ mr r12, r1 /* 802E964C 002E52AC 21 6B FD 40 */ subfic r11, r11, -704 /* 802E9650 002E52B0 7C 21 59 6E */ stwux r1, r1, r11 /* 802E9654 002E52B4 7C 08 02 A6 */ mflr r0 /* 802E9658 002E52B8 90 0C 00 04 */ stw r0, 4(r12) /* 802E965C 002E52BC 93 EC FF FC */ stw r31, -4(r12) /* 802E9660 002E52C0 3F E0 80 44 */ lis r31, lbl_80445660@ha /* 802E9664 002E52C4 3B FF 56 60 */ addi r31, r31, lbl_80445660@l /* 802E9668 002E52C8 93 CC FF F8 */ stw r30, -8(r12) /* 802E966C 002E52CC 93 AC FF F4 */ stw r29, -0xc(r12) /* 802E9670 002E52D0 93 8C FF F0 */ stw r28, -0x10(r12) /* 802E9674 002E52D4 4B F8 50 E9 */ bl OSDisableInterrupts /* 802E9678 002E52D8 80 0D AF 08 */ lwz r0, lbl_806401C8-_SDA_BASE_(r13) /* 802E967C 002E52DC 2C 00 00 01 */ cmpwi r0, 1 /* 802E9680 002E52E0 40 82 00 10 */ bne lbl_802E9690 /* 802E9684 002E52E4 4B F8 51 01 */ bl OSRestoreInterrupts /* 802E9688 002E52E8 38 60 FF FD */ li r3, -3 /* 802E968C 002E52EC 48 00 02 08 */ b lbl_802E9894 lbl_802E9690: /* 802E9690 002E52F0 2C 00 00 02 */ cmpwi r0, 2 /* 802E9694 002E52F4 40 82 00 10 */ bne lbl_802E96A4 /* 802E9698 002E52F8 4B F8 50 ED */ bl OSRestoreInterrupts /* 802E969C 002E52FC 38 60 00 00 */ li r3, 0 /* 802E96A0 002E5300 48 00 01 F4 */ b lbl_802E9894 lbl_802E96A4: /* 802E96A4 002E5304 38 00 00 01 */ li r0, 1 /* 802E96A8 002E5308 90 0D AF 08 */ stw r0, lbl_806401C8-_SDA_BASE_(r13) /* 802E96AC 002E530C 4B F8 50 D9 */ bl OSRestoreInterrupts /* 802E96B0 002E5310 4B FB B0 3D */ bl ISFS_OpenLib /* 802E96B4 002E5314 2C 03 00 00 */ cmpwi r3, 0 /* 802E96B8 002E5318 7C 7C 1B 78 */ mr r28, r3 /* 802E96BC 002E531C 40 82 01 2C */ bne lbl_802E97E8 /* 802E96C0 002E5320 38 60 FF FF */ li r3, -1 /* 802E96C4 002E5324 3B 80 00 00 */ li r28, 0 /* 802E96C8 002E5328 90 61 00 20 */ stw r3, 0x20(r1) /* 802E96CC 002E532C 38 6D 8A A0 */ addi r3, r13, lbl_8063DD60-_SDA_BASE_ /* 802E96D0 002E5330 38 80 00 00 */ li r4, 0 /* 802E96D4 002E5334 4B FB 9A 85 */ bl IOS_Open /* 802E96D8 002E5338 2C 03 00 00 */ cmpwi r3, 0 /* 802E96DC 002E533C 90 61 00 20 */ stw r3, 0x20(r1) /* 802E96E0 002E5340 40 80 00 08 */ bge lbl_802E96E8 /* 802E96E4 002E5344 7C 7C 1B 78 */ mr r28, r3 lbl_802E96E8: /* 802E96E8 002E5348 2C 1C 00 00 */ cmpwi r28, 0 /* 802E96EC 002E534C 40 82 00 64 */ bne lbl_802E9750 /* 802E96F0 002E5350 2C 03 00 00 */ cmpwi r3, 0 /* 802E96F4 002E5354 38 E1 00 40 */ addi r7, r1, 0x40 /* 802E96F8 002E5358 41 80 00 14 */ blt lbl_802E970C /* 802E96FC 002E535C 38 81 00 28 */ addi r4, r1, 0x28 /* 802E9700 002E5360 38 00 00 00 */ li r0, 0 /* 802E9704 002E5364 7C 04 00 40 */ cmplw r4, r0 /* 802E9708 002E5368 40 82 00 0C */ bne lbl_802E9714 lbl_802E970C: /* 802E970C 002E536C 38 60 FC 07 */ li r3, -1017 /* 802E9710 002E5370 48 00 00 3C */ b lbl_802E974C lbl_802E9714: /* 802E9714 002E5374 38 81 00 60 */ addi r4, r1, 0x60 /* 802E9718 002E5378 38 00 00 08 */ li r0, 8 /* 802E971C 002E537C 90 81 00 40 */ stw r4, 0x40(r1) /* 802E9720 002E5380 38 80 00 20 */ li r4, 0x20 /* 802E9724 002E5384 38 A0 00 00 */ li r5, 0 /* 802E9728 002E5388 38 C0 00 01 */ li r6, 1 /* 802E972C 002E538C 90 01 00 44 */ stw r0, 0x44(r1) /* 802E9730 002E5390 4B FB A7 11 */ bl IOS_Ioctlv /* 802E9734 002E5394 2C 03 00 00 */ cmpwi r3, 0 /* 802E9738 002E5398 40 82 00 14 */ bne lbl_802E974C /* 802E973C 002E539C 80 01 00 60 */ lwz r0, 0x60(r1) /* 802E9740 002E53A0 80 81 00 64 */ lwz r4, 0x64(r1) /* 802E9744 002E53A4 90 01 00 28 */ stw r0, 0x28(r1) /* 802E9748 002E53A8 90 81 00 2C */ stw r4, 0x2c(r1) lbl_802E974C: /* 802E974C 002E53AC 7C 7C 1B 78 */ mr r28, r3 lbl_802E9750: /* 802E9750 002E53B0 2C 1C 00 00 */ cmpwi r28, 0 /* 802E9754 002E53B4 40 82 00 20 */ bne lbl_802E9774 /* 802E9758 002E53B8 3C E0 80 57 */ lis r7, lbl_80570E80@ha /* 802E975C 002E53BC 80 A1 00 28 */ lwz r5, 0x28(r1) /* 802E9760 002E53C0 80 C1 00 2C */ lwz r6, 0x2c(r1) /* 802E9764 002E53C4 38 61 00 20 */ addi r3, r1, 0x20 /* 802E9768 002E53C8 38 E7 0E 80 */ addi r7, r7, lbl_80570E80@l /* 802E976C 002E53CC 48 00 0E 65 */ bl _ES_GetDataDir /* 802E9770 002E53D0 7C 7C 1B 78 */ mr r28, r3 lbl_802E9774: /* 802E9774 002E53D4 2C 1C 00 00 */ cmpwi r28, 0 /* 802E9778 002E53D8 40 82 00 14 */ bne lbl_802E978C /* 802E977C 002E53DC 3C 80 80 57 */ lis r4, lbl_80570E80@ha /* 802E9780 002E53E0 38 7F 00 60 */ addi r3, r31, 0x60 /* 802E9784 002E53E4 38 84 0E 80 */ addi r4, r4, lbl_80570E80@l /* 802E9788 002E53E8 4B EE 4B 49 */ bl strcpy lbl_802E978C: /* 802E978C 002E53EC 80 61 00 20 */ lwz r3, 0x20(r1) /* 802E9790 002E53F0 2C 03 00 00 */ cmpwi r3, 0 /* 802E9794 002E53F4 41 80 00 18 */ blt lbl_802E97AC /* 802E9798 002E53F8 4B FB 9B A1 */ bl IOS_Close /* 802E979C 002E53FC 2C 03 00 00 */ cmpwi r3, 0 /* 802E97A0 002E5400 40 82 00 0C */ bne lbl_802E97AC /* 802E97A4 002E5404 38 60 FF FF */ li r3, -1 /* 802E97A8 002E5408 90 61 00 20 */ stw r3, 0x20(r1) lbl_802E97AC: /* 802E97AC 002E540C 2C 1C 00 00 */ cmpwi r28, 0 /* 802E97B0 002E5410 41 82 00 10 */ beq lbl_802E97C0 /* 802E97B4 002E5414 38 7F 00 FC */ addi r3, r31, 0xfc /* 802E97B8 002E5418 4C C6 31 82 */ crclr 6 /* 802E97BC 002E541C 4B D1 E3 09 */ bl OSReport lbl_802E97C0: /* 802E97C0 002E5420 38 7F 00 A0 */ addi r3, r31, 0xa0 /* 802E97C4 002E5424 4B F8 64 CD */ bl OSRegisterShutdownFunction /* 802E97C8 002E5428 4B F8 4F 95 */ bl OSDisableInterrupts /* 802E97CC 002E542C 38 00 00 02 */ li r0, 2 /* 802E97D0 002E5430 90 0D AF 08 */ stw r0, lbl_806401C8-_SDA_BASE_(r13) /* 802E97D4 002E5434 4B F8 4F B1 */ bl OSRestoreInterrupts /* 802E97D8 002E5438 80 6D 8A 80 */ lwz r3, lbl_8063DD40-_SDA_BASE_(r13) /* 802E97DC 002E543C 4B F7 FE 75 */ bl OSRegisterVersion /* 802E97E0 002E5440 38 60 00 00 */ li r3, 0 /* 802E97E4 002E5444 48 00 00 B0 */ b lbl_802E9894 lbl_802E97E8: /* 802E97E8 002E5448 4B F8 4F 75 */ bl OSDisableInterrupts /* 802E97EC 002E544C 38 00 00 00 */ li r0, 0 /* 802E97F0 002E5450 90 0D AF 08 */ stw r0, lbl_806401C8-_SDA_BASE_(r13) /* 802E97F4 002E5454 4B F8 4F 91 */ bl OSRestoreInterrupts /* 802E97F8 002E5458 3C 60 80 40 */ lis r3, lbl_803FDF20@ha /* 802E97FC 002E545C 38 00 00 28 */ li r0, 0x28 /* 802E9800 002E5460 38 63 DF 20 */ addi r3, r3, lbl_803FDF20@l /* 802E9804 002E5464 38 A1 01 5C */ addi r5, r1, 0x15c /* 802E9808 002E5468 38 83 FF FC */ addi r4, r3, -4 /* 802E980C 002E546C 7C 09 03 A6 */ mtctr r0 lbl_802E9810: /* 802E9810 002E5470 80 64 00 04 */ lwz r3, 4(r4) /* 802E9814 002E5474 84 04 00 08 */ lwzu r0, 8(r4) /* 802E9818 002E5478 90 65 00 04 */ stw r3, 4(r5) /* 802E981C 002E547C 94 05 00 08 */ stwu r0, 8(r5) /* 802E9820 002E5480 42 00 FF F0 */ bdnz lbl_802E9810 /* 802E9824 002E5484 2C 1C 00 00 */ cmpwi r28, 0 /* 802E9828 002E5488 3B A0 00 00 */ li r29, 0 /* 802E982C 002E548C 38 60 00 00 */ li r3, 0 /* 802E9830 002E5490 41 80 00 08 */ blt lbl_802E9838 /* 802E9834 002E5494 48 00 00 5C */ b lbl_802E9890 lbl_802E9838: /* 802E9838 002E5498 38 00 00 28 */ li r0, 0x28 /* 802E983C 002E549C 3B C1 01 60 */ addi r30, r1, 0x160 /* 802E9840 002E54A0 7C 09 03 A6 */ mtctr r0 lbl_802E9844: /* 802E9844 002E54A4 7C 1E 18 2E */ lwzx r0, r30, r3 /* 802E9848 002E54A8 7C 1C 00 00 */ cmpw r28, r0 /* 802E984C 002E54AC 40 82 00 1C */ bne lbl_802E9868 /* 802E9850 002E54B0 7F 83 E3 78 */ mr r3, r28 /* 802E9854 002E54B4 4B FF FB B1 */ bl nandReportErrorCode /* 802E9858 002E54B8 38 1D 00 01 */ addi r0, r29, 1 /* 802E985C 002E54BC 54 00 10 3A */ slwi r0, r0, 2 /* 802E9860 002E54C0 7F 9E 00 2E */ lwzx r28, r30, r0 /* 802E9864 002E54C4 48 00 00 2C */ b lbl_802E9890 lbl_802E9868: /* 802E9868 002E54C8 3B BD 00 02 */ addi r29, r29, 2 /* 802E986C 002E54CC 38 63 00 08 */ addi r3, r3, 8 /* 802E9870 002E54D0 42 00 FF D4 */ bdnz lbl_802E9844 /* 802E9874 002E54D4 7F 84 E3 78 */ mr r4, r28 /* 802E9878 002E54D8 38 7F 00 C8 */ addi r3, r31, 0xc8 /* 802E987C 002E54DC 4C C6 31 82 */ crclr 6 /* 802E9880 002E54E0 4B D1 E2 45 */ bl OSReport /* 802E9884 002E54E4 7F 83 E3 78 */ mr r3, r28 /* 802E9888 002E54E8 4B FF FB 7D */ bl nandReportErrorCode /* 802E988C 002E54EC 3B 80 FF C0 */ li r28, -64 lbl_802E9890: /* 802E9890 002E54F0 7F 83 E3 78 */ mr r3, r28 lbl_802E9894: /* 802E9894 002E54F4 81 41 00 00 */ lwz r10, 0(r1) /* 802E9898 002E54F8 80 0A 00 04 */ lwz r0, 4(r10) /* 802E989C 002E54FC 83 EA FF FC */ lwz r31, -4(r10) /* 802E98A0 002E5500 83 CA FF F8 */ lwz r30, -8(r10) /* 802E98A4 002E5504 83 AA FF F4 */ lwz r29, -0xc(r10) /* 802E98A8 002E5508 83 8A FF F0 */ lwz r28, -0x10(r10) /* 802E98AC 002E550C 7C 08 03 A6 */ mtlr r0 /* 802E98B0 002E5510 7D 41 53 78 */ mr r1, r10 /* 802E98B4 002E5514 4E 80 00 20 */ blr nandOnShutdown: /* 802E98B8 002E5518 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802E98BC 002E551C 7C 08 02 A6 */ mflr r0 /* 802E98C0 002E5520 90 01 00 34 */ stw r0, 0x34(r1) /* 802E98C4 002E5524 39 61 00 30 */ addi r11, r1, 0x30 /* 802E98C8 002E5528 4B ED D8 5D */ bl _savegpr_26 /* 802E98CC 002E552C 2C 03 00 00 */ cmpwi r3, 0 /* 802E98D0 002E5530 40 82 00 98 */ bne lbl_802E9968 /* 802E98D4 002E5534 28 04 00 02 */ cmplwi r4, 2 /* 802E98D8 002E5538 40 82 00 88 */ bne lbl_802E9960 /* 802E98DC 002E553C 3B 40 00 00 */ li r26, 0 /* 802E98E0 002E5540 93 41 00 08 */ stw r26, 8(r1) /* 802E98E4 002E5544 4B F8 8E D5 */ bl OSGetTime /* 802E98E8 002E5548 3C A0 80 2F */ lis r5, nandShutdownCallback@ha /* 802E98EC 002E554C 7C 9B 23 78 */ mr r27, r4 /* 802E98F0 002E5550 7C 7C 1B 78 */ mr r28, r3 /* 802E98F4 002E5554 38 81 00 08 */ addi r4, r1, 8 /* 802E98F8 002E5558 38 65 99 84 */ addi r3, r5, nandShutdownCallback@l /* 802E98FC 002E555C 4B FB C1 9D */ bl ISFS_ShutdownAsync /* 802E9900 002E5560 3C 60 10 62 */ lis r3, 0x10624DD3@ha /* 802E9904 002E5564 3F C0 80 00 */ lis r30, 0x8000 /* 802E9908 002E5568 3B A3 4D D3 */ addi r29, r3, 0x10624DD3@l /* 802E990C 002E556C 3B E0 01 F4 */ li r31, 0x1f4 /* 802E9910 002E5570 48 00 00 10 */ b lbl_802E9920 lbl_802E9914: /* 802E9914 002E5574 80 01 00 08 */ lwz r0, 8(r1) /* 802E9918 002E5578 2C 00 00 00 */ cmpwi r0, 0 /* 802E991C 002E557C 40 82 00 44 */ bne lbl_802E9960 lbl_802E9920: /* 802E9920 002E5580 4B F8 8E 99 */ bl OSGetTime /* 802E9924 002E5584 80 1E 00 F8 */ lwz r0, 0xf8(r30) /* 802E9928 002E5588 7C 9B 20 10 */ subfc r4, r27, r4 /* 802E992C 002E558C 7C 7C 19 10 */ subfe r3, r28, r3 /* 802E9930 002E5590 38 A0 00 00 */ li r5, 0 /* 802E9934 002E5594 54 00 F0 BE */ srwi r0, r0, 2 /* 802E9938 002E5598 7C 1D 00 16 */ mulhwu r0, r29, r0 /* 802E993C 002E559C 54 06 D1 BE */ srwi r6, r0, 6 /* 802E9940 002E55A0 4B ED D9 39 */ bl __div2i /* 802E9944 002E55A4 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 802E9948 002E55A8 6F 45 80 00 */ xoris r5, r26, 0x8000 /* 802E994C 002E55AC 7C 7F 20 10 */ subfc r3, r31, r4 /* 802E9950 002E55B0 7C A5 01 10 */ subfe r5, r5, r0 /* 802E9954 002E55B4 7C A0 01 10 */ subfe r5, r0, r0 /* 802E9958 002E55B8 7C A5 00 D1 */ neg. r5, r5 /* 802E995C 002E55BC 40 82 FF B8 */ bne lbl_802E9914 lbl_802E9960: /* 802E9960 002E55C0 38 60 00 01 */ li r3, 1 /* 802E9964 002E55C4 48 00 00 08 */ b lbl_802E996C lbl_802E9968: /* 802E9968 002E55C8 38 60 00 01 */ li r3, 1 lbl_802E996C: /* 802E996C 002E55CC 39 61 00 30 */ addi r11, r1, 0x30 /* 802E9970 002E55D0 4B ED D8 01 */ bl _restgpr_26 /* 802E9974 002E55D4 80 01 00 34 */ lwz r0, 0x34(r1) /* 802E9978 002E55D8 7C 08 03 A6 */ mtlr r0 /* 802E997C 002E55DC 38 21 00 30 */ addi r1, r1, 0x30 /* 802E9980 002E55E0 4E 80 00 20 */ blr .global nandShutdownCallback nandShutdownCallback: /* 802E9984 002E55E4 38 00 00 01 */ li r0, 1 /* 802E9988 002E55E8 90 04 00 00 */ stw r0, 0(r4) /* 802E998C 002E55EC 4E 80 00 20 */ blr .global nandChangeDir nandChangeDir: /* 802E9990 002E55F0 94 21 FF A0 */ stwu r1, -0x60(r1) /* 802E9994 002E55F4 7C 08 02 A6 */ mflr r0 /* 802E9998 002E55F8 2C 05 00 00 */ cmpwi r5, 0 /* 802E999C 002E55FC 90 01 00 64 */ stw r0, 0x64(r1) /* 802E99A0 002E5600 93 E1 00 5C */ stw r31, 0x5c(r1) /* 802E99A4 002E5604 7C DF 33 78 */ mr r31, r6 /* 802E99A8 002E5608 93 C1 00 58 */ stw r30, 0x58(r1) /* 802E99AC 002E560C 7C 9E 23 78 */ mr r30, r4 /* 802E99B0 002E5610 93 A1 00 54 */ stw r29, 0x54(r1) /* 802E99B4 002E5614 7C 7D 1B 78 */ mr r29, r3 /* 802E99B8 002E5618 41 82 00 F4 */ beq lbl_802E9AAC /* 802E99BC 002E561C 4B ED D1 A9 */ bl strlen /* 802E99C0 002E5620 2C 03 00 00 */ cmpwi r3, 0 /* 802E99C4 002E5624 40 82 00 14 */ bne lbl_802E99D8 /* 802E99C8 002E5628 38 7E 00 34 */ addi r3, r30, 0x34 /* 802E99CC 002E562C 38 8D 8A 88 */ addi r4, r13, lbl_8063DD48-_SDA_BASE_ /* 802E99D0 002E5630 4B EE 49 01 */ bl strcpy /* 802E99D4 002E5634 48 00 00 78 */ b lbl_802E9A4C lbl_802E99D8: /* 802E99D8 002E5638 88 1D 00 00 */ lbz r0, 0(r29) /* 802E99DC 002E563C 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E99E0 002E5640 40 82 00 0C */ bne lbl_802E99EC /* 802E99E4 002E5644 38 00 00 00 */ li r0, 0 /* 802E99E8 002E5648 48 00 00 08 */ b lbl_802E99F0 lbl_802E99EC: /* 802E99EC 002E564C 38 00 00 01 */ li r0, 1 lbl_802E99F0: /* 802E99F0 002E5650 2C 00 00 00 */ cmpwi r0, 0 /* 802E99F4 002E5654 41 82 00 1C */ beq lbl_802E9A10 /* 802E99F8 002E5658 3C 80 80 44 */ lis r4, lbl_804456C0@ha /* 802E99FC 002E565C 7F A5 EB 78 */ mr r5, r29 /* 802E9A00 002E5660 38 7E 00 34 */ addi r3, r30, 0x34 /* 802E9A04 002E5664 38 84 56 C0 */ addi r4, r4, lbl_804456C0@l /* 802E9A08 002E5668 4B FF F8 21 */ bl nandConvertPath /* 802E9A0C 002E566C 48 00 00 40 */ b lbl_802E9A4C lbl_802E9A10: /* 802E9A10 002E5670 7F A4 EB 78 */ mr r4, r29 /* 802E9A14 002E5674 38 7E 00 34 */ addi r3, r30, 0x34 /* 802E9A18 002E5678 4B EE 48 B9 */ bl strcpy /* 802E9A1C 002E567C 38 7E 00 34 */ addi r3, r30, 0x34 /* 802E9A20 002E5680 4B ED D1 45 */ bl strlen /* 802E9A24 002E5684 2C 03 00 00 */ cmpwi r3, 0 /* 802E9A28 002E5688 41 82 00 24 */ beq lbl_802E9A4C /* 802E9A2C 002E568C 7C 83 F2 14 */ add r4, r3, r30 /* 802E9A30 002E5690 88 04 00 33 */ lbz r0, 0x33(r4) /* 802E9A34 002E5694 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E9A38 002E5698 40 82 00 14 */ bne lbl_802E9A4C /* 802E9A3C 002E569C 34 03 FF FF */ addic. r0, r3, -1 /* 802E9A40 002E56A0 41 82 00 0C */ beq lbl_802E9A4C /* 802E9A44 002E56A4 38 00 00 00 */ li r0, 0 /* 802E9A48 002E56A8 98 04 00 33 */ stb r0, 0x33(r4) lbl_802E9A4C: /* 802E9A4C 002E56AC 2C 1F 00 00 */ cmpwi r31, 0 /* 802E9A50 002E56B0 40 82 00 3C */ bne lbl_802E9A8C /* 802E9A54 002E56B4 3C 80 80 44 */ lis r4, lbl_80445710@ha /* 802E9A58 002E56B8 38 7E 00 34 */ addi r3, r30, 0x34 /* 802E9A5C 002E56BC 38 84 57 10 */ addi r4, r4, lbl_80445710@l /* 802E9A60 002E56C0 38 A0 00 08 */ li r5, 8 /* 802E9A64 002E56C4 4B EE 4B 05 */ bl strncmp /* 802E9A68 002E56C8 2C 03 00 00 */ cmpwi r3, 0 /* 802E9A6C 002E56CC 40 82 00 0C */ bne lbl_802E9A78 /* 802E9A70 002E56D0 38 00 00 01 */ li r0, 1 /* 802E9A74 002E56D4 48 00 00 08 */ b lbl_802E9A7C lbl_802E9A78: /* 802E9A78 002E56D8 38 00 00 00 */ li r0, 0 lbl_802E9A7C: /* 802E9A7C 002E56DC 2C 00 00 00 */ cmpwi r0, 0 /* 802E9A80 002E56E0 41 82 00 0C */ beq lbl_802E9A8C /* 802E9A84 002E56E4 38 60 FF 9A */ li r3, -102 /* 802E9A88 002E56E8 48 00 01 80 */ b lbl_802E9C08 lbl_802E9A8C: /* 802E9A8C 002E56EC 3C C0 80 2F */ lis r6, nandChangeDirCallback@ha /* 802E9A90 002E56F0 7F C7 F3 78 */ mr r7, r30 /* 802E9A94 002E56F4 38 7E 00 34 */ addi r3, r30, 0x34 /* 802E9A98 002E56F8 38 BE 00 30 */ addi r5, r30, 0x30 /* 802E9A9C 002E56FC 38 C6 9D 1C */ addi r6, r6, nandChangeDirCallback@l /* 802E9AA0 002E5700 38 80 00 00 */ li r4, 0 /* 802E9AA4 002E5704 4B FB B2 15 */ bl ISFS_ReadDirAsync /* 802E9AA8 002E5708 48 00 01 60 */ b lbl_802E9C08 lbl_802E9AAC: /* 802E9AAC 002E570C 38 00 00 00 */ li r0, 0 /* 802E9AB0 002E5710 90 01 00 08 */ stw r0, 8(r1) /* 802E9AB4 002E5714 90 01 00 10 */ stw r0, 0x10(r1) /* 802E9AB8 002E5718 90 01 00 14 */ stw r0, 0x14(r1) /* 802E9ABC 002E571C 90 01 00 18 */ stw r0, 0x18(r1) /* 802E9AC0 002E5720 90 01 00 1C */ stw r0, 0x1c(r1) /* 802E9AC4 002E5724 90 01 00 20 */ stw r0, 0x20(r1) /* 802E9AC8 002E5728 90 01 00 24 */ stw r0, 0x24(r1) /* 802E9ACC 002E572C 90 01 00 28 */ stw r0, 0x28(r1) /* 802E9AD0 002E5730 90 01 00 2C */ stw r0, 0x2c(r1) /* 802E9AD4 002E5734 90 01 00 30 */ stw r0, 0x30(r1) /* 802E9AD8 002E5738 90 01 00 34 */ stw r0, 0x34(r1) /* 802E9ADC 002E573C 90 01 00 38 */ stw r0, 0x38(r1) /* 802E9AE0 002E5740 90 01 00 3C */ stw r0, 0x3c(r1) /* 802E9AE4 002E5744 90 01 00 40 */ stw r0, 0x40(r1) /* 802E9AE8 002E5748 90 01 00 44 */ stw r0, 0x44(r1) /* 802E9AEC 002E574C 90 01 00 48 */ stw r0, 0x48(r1) /* 802E9AF0 002E5750 90 01 00 4C */ stw r0, 0x4c(r1) /* 802E9AF4 002E5754 4B ED D0 71 */ bl strlen /* 802E9AF8 002E5758 2C 03 00 00 */ cmpwi r3, 0 /* 802E9AFC 002E575C 40 82 00 14 */ bne lbl_802E9B10 /* 802E9B00 002E5760 38 61 00 10 */ addi r3, r1, 0x10 /* 802E9B04 002E5764 38 8D 8A 88 */ addi r4, r13, lbl_8063DD48-_SDA_BASE_ /* 802E9B08 002E5768 4B EE 47 C9 */ bl strcpy /* 802E9B0C 002E576C 48 00 00 7C */ b lbl_802E9B88 lbl_802E9B10: /* 802E9B10 002E5770 88 1D 00 00 */ lbz r0, 0(r29) /* 802E9B14 002E5774 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E9B18 002E5778 40 82 00 0C */ bne lbl_802E9B24 /* 802E9B1C 002E577C 38 00 00 00 */ li r0, 0 /* 802E9B20 002E5780 48 00 00 08 */ b lbl_802E9B28 lbl_802E9B24: /* 802E9B24 002E5784 38 00 00 01 */ li r0, 1 lbl_802E9B28: /* 802E9B28 002E5788 2C 00 00 00 */ cmpwi r0, 0 /* 802E9B2C 002E578C 41 82 00 1C */ beq lbl_802E9B48 /* 802E9B30 002E5790 3C 80 80 44 */ lis r4, lbl_804456C0@ha /* 802E9B34 002E5794 7F A5 EB 78 */ mr r5, r29 /* 802E9B38 002E5798 38 61 00 10 */ addi r3, r1, 0x10 /* 802E9B3C 002E579C 38 84 56 C0 */ addi r4, r4, lbl_804456C0@l /* 802E9B40 002E57A0 4B FF F6 E9 */ bl nandConvertPath /* 802E9B44 002E57A4 48 00 00 44 */ b lbl_802E9B88 lbl_802E9B48: /* 802E9B48 002E57A8 7F A4 EB 78 */ mr r4, r29 /* 802E9B4C 002E57AC 38 61 00 10 */ addi r3, r1, 0x10 /* 802E9B50 002E57B0 4B EE 47 81 */ bl strcpy /* 802E9B54 002E57B4 38 61 00 10 */ addi r3, r1, 0x10 /* 802E9B58 002E57B8 4B ED D0 0D */ bl strlen /* 802E9B5C 002E57BC 2C 03 00 00 */ cmpwi r3, 0 /* 802E9B60 002E57C0 41 82 00 28 */ beq lbl_802E9B88 /* 802E9B64 002E57C4 38 01 00 10 */ addi r0, r1, 0x10 /* 802E9B68 002E57C8 7C 83 02 14 */ add r4, r3, r0 /* 802E9B6C 002E57CC 88 04 FF FF */ lbz r0, -1(r4) /* 802E9B70 002E57D0 2C 00 00 2F */ cmpwi r0, 0x2f /* 802E9B74 002E57D4 40 82 00 14 */ bne lbl_802E9B88 /* 802E9B78 002E57D8 34 03 FF FF */ addic. r0, r3, -1 /* 802E9B7C 002E57DC 41 82 00 0C */ beq lbl_802E9B88 /* 802E9B80 002E57E0 38 00 00 00 */ li r0, 0 /* 802E9B84 002E57E4 98 04 FF FF */ stb r0, -1(r4) lbl_802E9B88: /* 802E9B88 002E57E8 2C 1F 00 00 */ cmpwi r31, 0 /* 802E9B8C 002E57EC 40 82 00 3C */ bne lbl_802E9BC8 /* 802E9B90 002E57F0 3C 80 80 44 */ lis r4, lbl_80445710@ha /* 802E9B94 002E57F4 38 61 00 10 */ addi r3, r1, 0x10 /* 802E9B98 002E57F8 38 84 57 10 */ addi r4, r4, lbl_80445710@l /* 802E9B9C 002E57FC 38 A0 00 08 */ li r5, 8 /* 802E9BA0 002E5800 4B EE 49 C9 */ bl strncmp /* 802E9BA4 002E5804 2C 03 00 00 */ cmpwi r3, 0 /* 802E9BA8 002E5808 40 82 00 0C */ bne lbl_802E9BB4 /* 802E9BAC 002E580C 38 00 00 01 */ li r0, 1 /* 802E9BB0 002E5810 48 00 00 08 */ b lbl_802E9BB8 lbl_802E9BB4: /* 802E9BB4 002E5814 38 00 00 00 */ li r0, 0 lbl_802E9BB8: /* 802E9BB8 002E5818 2C 00 00 00 */ cmpwi r0, 0 /* 802E9BBC 002E581C 41 82 00 0C */ beq lbl_802E9BC8 /* 802E9BC0 002E5820 38 60 FF 9A */ li r3, -102 /* 802E9BC4 002E5824 48 00 00 44 */ b lbl_802E9C08 lbl_802E9BC8: /* 802E9BC8 002E5828 38 61 00 10 */ addi r3, r1, 0x10 /* 802E9BCC 002E582C 38 A1 00 08 */ addi r5, r1, 8 /* 802E9BD0 002E5830 38 80 00 00 */ li r4, 0 /* 802E9BD4 002E5834 4B FB AF 91 */ bl ISFS_ReadDir /* 802E9BD8 002E5838 2C 03 00 00 */ cmpwi r3, 0 /* 802E9BDC 002E583C 7C 7F 1B 78 */ mr r31, r3 /* 802E9BE0 002E5840 40 82 00 24 */ bne lbl_802E9C04 /* 802E9BE4 002E5844 4B F8 4B 79 */ bl OSDisableInterrupts /* 802E9BE8 002E5848 3C 80 80 44 */ lis r4, lbl_804456C0@ha /* 802E9BEC 002E584C 7C 7E 1B 78 */ mr r30, r3 /* 802E9BF0 002E5850 38 64 56 C0 */ addi r3, r4, lbl_804456C0@l /* 802E9BF4 002E5854 38 81 00 10 */ addi r4, r1, 0x10 /* 802E9BF8 002E5858 4B EE 46 D9 */ bl strcpy /* 802E9BFC 002E585C 7F C3 F3 78 */ mr r3, r30 /* 802E9C00 002E5860 4B F8 4B 85 */ bl OSRestoreInterrupts lbl_802E9C04: /* 802E9C04 002E5864 7F E3 FB 78 */ mr r3, r31 lbl_802E9C08: /* 802E9C08 002E5868 80 01 00 64 */ lwz r0, 0x64(r1) /* 802E9C0C 002E586C 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 802E9C10 002E5870 83 C1 00 58 */ lwz r30, 0x58(r1) /* 802E9C14 002E5874 83 A1 00 54 */ lwz r29, 0x54(r1) /* 802E9C18 002E5878 7C 08 03 A6 */ mtlr r0 /* 802E9C1C 002E587C 38 21 00 60 */ addi r1, r1, 0x60 /* 802E9C20 002E5880 4E 80 00 20 */ blr # either NANDChangeDirAsync or NANDPrivateChangeDirAsync .global func_802E9C24 func_802E9C24: /* 802E9C24 002E5884 94 21 FE B0 */ stwu r1, -0x150(r1) /* 802E9C28 002E5888 7C 08 02 A6 */ mflr r0 /* 802E9C2C 002E588C 90 01 01 54 */ stw r0, 0x154(r1) /* 802E9C30 002E5890 93 E1 01 4C */ stw r31, 0x14c(r1) /* 802E9C34 002E5894 93 C1 01 48 */ stw r30, 0x148(r1) /* 802E9C38 002E5898 80 0D AF 08 */ lwz r0, lbl_806401C8-_SDA_BASE_(r13) /* 802E9C3C 002E589C 2C 00 00 02 */ cmpwi r0, 2 /* 802E9C40 002E58A0 41 82 00 0C */ beq lbl_802E9C4C /* 802E9C44 002E58A4 38 60 FF 80 */ li r3, -128 /* 802E9C48 002E58A8 48 00 00 BC */ b lbl_802E9D04 lbl_802E9C4C: /* 802E9C4C 002E58AC 90 85 00 04 */ stw r4, 4(r5) /* 802E9C50 002E58B0 7C A4 2B 78 */ mr r4, r5 /* 802E9C54 002E58B4 38 A0 00 01 */ li r5, 1 /* 802E9C58 002E58B8 38 C0 00 00 */ li r6, 0 /* 802E9C5C 002E58BC 4B FF FD 35 */ bl nandChangeDir /* 802E9C60 002E58C0 3C 80 80 40 */ lis r4, lbl_803FDF20@ha /* 802E9C64 002E58C4 38 00 00 28 */ li r0, 0x28 /* 802E9C68 002E58C8 38 84 DF 20 */ addi r4, r4, lbl_803FDF20@l /* 802E9C6C 002E58CC 7C 7F 1B 78 */ mr r31, r3 /* 802E9C70 002E58D0 38 C1 00 04 */ addi r6, r1, 4 /* 802E9C74 002E58D4 38 A4 FF FC */ addi r5, r4, -4 /* 802E9C78 002E58D8 7C 09 03 A6 */ mtctr r0 lbl_802E9C7C: /* 802E9C7C 002E58DC 80 85 00 04 */ lwz r4, 4(r5) /* 802E9C80 002E58E0 84 05 00 08 */ lwzu r0, 8(r5) /* 802E9C84 002E58E4 90 86 00 04 */ stw r4, 4(r6) /* 802E9C88 002E58E8 94 06 00 08 */ stwu r0, 8(r6) /* 802E9C8C 002E58EC 42 00 FF F0 */ bdnz lbl_802E9C7C /* 802E9C90 002E58F0 2C 03 00 00 */ cmpwi r3, 0 /* 802E9C94 002E58F4 3B C0 00 00 */ li r30, 0 /* 802E9C98 002E58F8 41 80 00 08 */ blt lbl_802E9CA0 /* 802E9C9C 002E58FC 48 00 00 64 */ b lbl_802E9D00 lbl_802E9CA0: /* 802E9CA0 002E5900 38 00 00 28 */ li r0, 0x28 /* 802E9CA4 002E5904 38 81 00 08 */ addi r4, r1, 8 /* 802E9CA8 002E5908 7C 09 03 A6 */ mtctr r0 lbl_802E9CAC: /* 802E9CAC 002E590C 80 04 00 00 */ lwz r0, 0(r4) /* 802E9CB0 002E5910 7C 03 00 00 */ cmpw r3, r0 /* 802E9CB4 002E5914 40 82 00 20 */ bne lbl_802E9CD4 /* 802E9CB8 002E5918 7F E3 FB 78 */ mr r3, r31 /* 802E9CBC 002E591C 4B FF F7 49 */ bl nandReportErrorCode /* 802E9CC0 002E5920 38 1E 00 01 */ addi r0, r30, 1 /* 802E9CC4 002E5924 38 61 00 08 */ addi r3, r1, 8 /* 802E9CC8 002E5928 54 00 10 3A */ slwi r0, r0, 2 /* 802E9CCC 002E592C 7F E3 00 2E */ lwzx r31, r3, r0 /* 802E9CD0 002E5930 48 00 00 30 */ b lbl_802E9D00 lbl_802E9CD4: /* 802E9CD4 002E5934 38 84 00 08 */ addi r4, r4, 8 /* 802E9CD8 002E5938 3B DE 00 02 */ addi r30, r30, 2 /* 802E9CDC 002E593C 42 00 FF D0 */ bdnz lbl_802E9CAC /* 802E9CE0 002E5940 3C 60 80 44 */ lis r3, lbl_80445728@ha /* 802E9CE4 002E5944 7F E4 FB 78 */ mr r4, r31 /* 802E9CE8 002E5948 38 63 57 28 */ addi r3, r3, lbl_80445728@l /* 802E9CEC 002E594C 4C C6 31 82 */ crclr 6 /* 802E9CF0 002E5950 4B D1 DD D5 */ bl OSReport /* 802E9CF4 002E5954 7F E3 FB 78 */ mr r3, r31 /* 802E9CF8 002E5958 4B FF F7 0D */ bl nandReportErrorCode /* 802E9CFC 002E595C 3B E0 FF C0 */ li r31, -64 lbl_802E9D00: /* 802E9D00 002E5960 7F E3 FB 78 */ mr r3, r31 lbl_802E9D04: /* 802E9D04 002E5964 80 01 01 54 */ lwz r0, 0x154(r1) /* 802E9D08 002E5968 83 E1 01 4C */ lwz r31, 0x14c(r1) /* 802E9D0C 002E596C 83 C1 01 48 */ lwz r30, 0x148(r1) /* 802E9D10 002E5970 7C 08 03 A6 */ mtlr r0 /* 802E9D14 002E5974 38 21 01 50 */ addi r1, r1, 0x150 /* 802E9D18 002E5978 4E 80 00 20 */ blr nandChangeDirCallback: /* 802E9D1C 002E597C 94 21 FE A0 */ stwu r1, -0x160(r1) /* 802E9D20 002E5980 7C 08 02 A6 */ mflr r0 /* 802E9D24 002E5984 2C 03 00 00 */ cmpwi r3, 0 /* 802E9D28 002E5988 90 01 01 64 */ stw r0, 0x164(r1) /* 802E9D2C 002E598C 93 E1 01 5C */ stw r31, 0x15c(r1) /* 802E9D30 002E5990 93 C1 01 58 */ stw r30, 0x158(r1) /* 802E9D34 002E5994 93 A1 01 54 */ stw r29, 0x154(r1) /* 802E9D38 002E5998 7C 9D 23 78 */ mr r29, r4 /* 802E9D3C 002E599C 93 81 01 50 */ stw r28, 0x150(r1) /* 802E9D40 002E59A0 7C 7C 1B 78 */ mr r28, r3 /* 802E9D44 002E59A4 40 82 00 24 */ bne lbl_802E9D68 /* 802E9D48 002E59A8 4B F8 4A 15 */ bl OSDisableInterrupts /* 802E9D4C 002E59AC 3C 80 80 44 */ lis r4, lbl_804456C0@ha /* 802E9D50 002E59B0 7C 7E 1B 78 */ mr r30, r3 /* 802E9D54 002E59B4 38 64 56 C0 */ addi r3, r4, lbl_804456C0@l /* 802E9D58 002E59B8 38 9D 00 34 */ addi r4, r29, 0x34 /* 802E9D5C 002E59BC 4B EE 45 75 */ bl strcpy /* 802E9D60 002E59C0 7F C3 F3 78 */ mr r3, r30 /* 802E9D64 002E59C4 4B F8 4A 21 */ bl OSRestoreInterrupts lbl_802E9D68: /* 802E9D68 002E59C8 3C 60 80 40 */ lis r3, lbl_803FDF20@ha /* 802E9D6C 002E59CC 38 00 00 28 */ li r0, 0x28 /* 802E9D70 002E59D0 38 63 DF 20 */ addi r3, r3, lbl_803FDF20@l /* 802E9D74 002E59D4 38 A1 00 04 */ addi r5, r1, 4 /* 802E9D78 002E59D8 38 83 FF FC */ addi r4, r3, -4 /* 802E9D7C 002E59DC 7C 09 03 A6 */ mtctr r0 lbl_802E9D80: /* 802E9D80 002E59E0 80 64 00 04 */ lwz r3, 4(r4) /* 802E9D84 002E59E4 84 04 00 08 */ lwzu r0, 8(r4) /* 802E9D88 002E59E8 90 65 00 04 */ stw r3, 4(r5) /* 802E9D8C 002E59EC 94 05 00 08 */ stwu r0, 8(r5) /* 802E9D90 002E59F0 42 00 FF F0 */ bdnz lbl_802E9D80 /* 802E9D94 002E59F4 2C 1C 00 00 */ cmpwi r28, 0 /* 802E9D98 002E59F8 3B C0 00 00 */ li r30, 0 /* 802E9D9C 002E59FC 38 60 00 00 */ li r3, 0 /* 802E9DA0 002E5A00 41 80 00 08 */ blt lbl_802E9DA8 /* 802E9DA4 002E5A04 48 00 00 60 */ b lbl_802E9E04 lbl_802E9DA8: /* 802E9DA8 002E5A08 38 00 00 28 */ li r0, 0x28 /* 802E9DAC 002E5A0C 3B E1 00 08 */ addi r31, r1, 8 /* 802E9DB0 002E5A10 7C 09 03 A6 */ mtctr r0 lbl_802E9DB4: /* 802E9DB4 002E5A14 7C 1F 18 2E */ lwzx r0, r31, r3 /* 802E9DB8 002E5A18 7C 1C 00 00 */ cmpw r28, r0 /* 802E9DBC 002E5A1C 40 82 00 1C */ bne lbl_802E9DD8 /* 802E9DC0 002E5A20 7F 83 E3 78 */ mr r3, r28 /* 802E9DC4 002E5A24 4B FF F6 41 */ bl nandReportErrorCode /* 802E9DC8 002E5A28 38 1E 00 01 */ addi r0, r30, 1 /* 802E9DCC 002E5A2C 54 00 10 3A */ slwi r0, r0, 2 /* 802E9DD0 002E5A30 7F 9F 00 2E */ lwzx r28, r31, r0 /* 802E9DD4 002E5A34 48 00 00 30 */ b lbl_802E9E04 lbl_802E9DD8: /* 802E9DD8 002E5A38 3B DE 00 02 */ addi r30, r30, 2 /* 802E9DDC 002E5A3C 38 63 00 08 */ addi r3, r3, 8 /* 802E9DE0 002E5A40 42 00 FF D4 */ bdnz lbl_802E9DB4 /* 802E9DE4 002E5A44 3C 60 80 44 */ lis r3, lbl_80445728@ha /* 802E9DE8 002E5A48 7F 84 E3 78 */ mr r4, r28 /* 802E9DEC 002E5A4C 38 63 57 28 */ addi r3, r3, lbl_80445728@l /* 802E9DF0 002E5A50 4C C6 31 82 */ crclr 6 /* 802E9DF4 002E5A54 4B D1 DC D1 */ bl OSReport /* 802E9DF8 002E5A58 7F 83 E3 78 */ mr r3, r28 /* 802E9DFC 002E5A5C 4B FF F6 09 */ bl nandReportErrorCode /* 802E9E00 002E5A60 3B 80 FF C0 */ li r28, -64 lbl_802E9E04: /* 802E9E04 002E5A64 81 9D 00 04 */ lwz r12, 4(r29) /* 802E9E08 002E5A68 7F 83 E3 78 */ mr r3, r28 /* 802E9E0C 002E5A6C 7F A4 EB 78 */ mr r4, r29 /* 802E9E10 002E5A70 7D 89 03 A6 */ mtctr r12 /* 802E9E14 002E5A74 4E 80 04 21 */ bctrl /* 802E9E18 002E5A78 80 01 01 64 */ lwz r0, 0x164(r1) /* 802E9E1C 002E5A7C 83 E1 01 5C */ lwz r31, 0x15c(r1) /* 802E9E20 002E5A80 83 C1 01 58 */ lwz r30, 0x158(r1) /* 802E9E24 002E5A84 83 A1 01 54 */ lwz r29, 0x154(r1) /* 802E9E28 002E5A88 83 81 01 50 */ lwz r28, 0x150(r1) /* 802E9E2C 002E5A8C 7C 08 03 A6 */ mtlr r0 /* 802E9E30 002E5A90 38 21 01 60 */ addi r1, r1, 0x160 /* 802E9E34 002E5A94 4E 80 00 20 */ blr .global NANDGetCurrentDir NANDGetCurrentDir: /* 802E9E38 002E5A98 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E9E3C 002E5A9C 7C 08 02 A6 */ mflr r0 /* 802E9E40 002E5AA0 90 01 00 14 */ stw r0, 0x14(r1) /* 802E9E44 002E5AA4 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E9E48 002E5AA8 93 C1 00 08 */ stw r30, 8(r1) /* 802E9E4C 002E5AAC 7C 7E 1B 78 */ mr r30, r3 /* 802E9E50 002E5AB0 80 0D AF 08 */ lwz r0, lbl_806401C8-_SDA_BASE_(r13) /* 802E9E54 002E5AB4 2C 00 00 02 */ cmpwi r0, 2 /* 802E9E58 002E5AB8 40 82 00 0C */ bne lbl_802E9E64 /* 802E9E5C 002E5ABC 38 00 00 01 */ li r0, 1 /* 802E9E60 002E5AC0 48 00 00 08 */ b lbl_802E9E68 lbl_802E9E64: /* 802E9E64 002E5AC4 38 00 00 00 */ li r0, 0 lbl_802E9E68: /* 802E9E68 002E5AC8 2C 00 00 00 */ cmpwi r0, 0 /* 802E9E6C 002E5ACC 40 82 00 0C */ bne lbl_802E9E78 /* 802E9E70 002E5AD0 38 60 FF 80 */ li r3, -128 /* 802E9E74 002E5AD4 48 00 00 28 */ b lbl_802E9E9C lbl_802E9E78: /* 802E9E78 002E5AD8 4B F8 48 E5 */ bl OSDisableInterrupts /* 802E9E7C 002E5ADC 3C 80 80 44 */ lis r4, lbl_804456C0@ha /* 802E9E80 002E5AE0 7C 7F 1B 78 */ mr r31, r3 /* 802E9E84 002E5AE4 7F C3 F3 78 */ mr r3, r30 /* 802E9E88 002E5AE8 38 84 56 C0 */ addi r4, r4, lbl_804456C0@l /* 802E9E8C 002E5AEC 4B EE 44 45 */ bl strcpy /* 802E9E90 002E5AF0 7F E3 FB 78 */ mr r3, r31 /* 802E9E94 002E5AF4 4B F8 48 F1 */ bl OSRestoreInterrupts /* 802E9E98 002E5AF8 38 60 00 00 */ li r3, 0 lbl_802E9E9C: /* 802E9E9C 002E5AFC 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E9EA0 002E5B00 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E9EA4 002E5B04 83 C1 00 08 */ lwz r30, 8(r1) /* 802E9EA8 002E5B08 7C 08 03 A6 */ mtlr r0 /* 802E9EAC 002E5B0C 38 21 00 10 */ addi r1, r1, 0x10 /* 802E9EB0 002E5B10 4E 80 00 20 */ blr .global NANDGetHomeDir NANDGetHomeDir: /* 802E9EB4 002E5B14 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E9EB8 002E5B18 7C 08 02 A6 */ mflr r0 /* 802E9EBC 002E5B1C 90 01 00 14 */ stw r0, 0x14(r1) /* 802E9EC0 002E5B20 80 0D AF 08 */ lwz r0, lbl_806401C8-_SDA_BASE_(r13) /* 802E9EC4 002E5B24 2C 00 00 02 */ cmpwi r0, 2 /* 802E9EC8 002E5B28 40 82 00 0C */ bne lbl_802E9ED4 /* 802E9ECC 002E5B2C 38 00 00 01 */ li r0, 1 /* 802E9ED0 002E5B30 48 00 00 08 */ b lbl_802E9ED8 lbl_802E9ED4: /* 802E9ED4 002E5B34 38 00 00 00 */ li r0, 0 lbl_802E9ED8: /* 802E9ED8 002E5B38 2C 00 00 00 */ cmpwi r0, 0 /* 802E9EDC 002E5B3C 40 82 00 0C */ bne lbl_802E9EE8 /* 802E9EE0 002E5B40 38 60 FF 80 */ li r3, -128 /* 802E9EE4 002E5B44 48 00 00 14 */ b lbl_802E9EF8 lbl_802E9EE8: /* 802E9EE8 002E5B48 3C 80 80 57 */ lis r4, lbl_80570E80@ha /* 802E9EEC 002E5B4C 38 84 0E 80 */ addi r4, r4, lbl_80570E80@l /* 802E9EF0 002E5B50 4B EE 43 E1 */ bl strcpy /* 802E9EF4 002E5B54 38 60 00 00 */ li r3, 0 lbl_802E9EF8: /* 802E9EF8 002E5B58 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E9EFC 002E5B5C 7C 08 03 A6 */ mtlr r0 /* 802E9F00 002E5B60 38 21 00 10 */ addi r1, r1, 0x10 /* 802E9F04 002E5B64 4E 80 00 20 */ blr .global nandCallback nandCallback: /* 802E9F08 002E5B68 94 21 FE A0 */ stwu r1, -0x160(r1) /* 802E9F0C 002E5B6C 7C 08 02 A6 */ mflr r0 /* 802E9F10 002E5B70 3C A0 80 40 */ lis r5, lbl_803FDF20@ha /* 802E9F14 002E5B74 90 01 01 64 */ stw r0, 0x164(r1) /* 802E9F18 002E5B78 38 A5 DF 20 */ addi r5, r5, lbl_803FDF20@l /* 802E9F1C 002E5B7C 38 00 00 28 */ li r0, 0x28 /* 802E9F20 002E5B80 38 C1 00 04 */ addi r6, r1, 4 /* 802E9F24 002E5B84 93 E1 01 5C */ stw r31, 0x15c(r1) /* 802E9F28 002E5B88 38 A5 FF FC */ addi r5, r5, -4 /* 802E9F2C 002E5B8C 93 C1 01 58 */ stw r30, 0x158(r1) /* 802E9F30 002E5B90 7C 9E 23 78 */ mr r30, r4 /* 802E9F34 002E5B94 93 A1 01 54 */ stw r29, 0x154(r1) /* 802E9F38 002E5B98 7C 7D 1B 78 */ mr r29, r3 /* 802E9F3C 002E5B9C 7C 09 03 A6 */ mtctr r0 lbl_802E9F40: /* 802E9F40 002E5BA0 80 85 00 04 */ lwz r4, 4(r5) /* 802E9F44 002E5BA4 84 05 00 08 */ lwzu r0, 8(r5) /* 802E9F48 002E5BA8 90 86 00 04 */ stw r4, 4(r6) /* 802E9F4C 002E5BAC 94 06 00 08 */ stwu r0, 8(r6) /* 802E9F50 002E5BB0 42 00 FF F0 */ bdnz lbl_802E9F40 /* 802E9F54 002E5BB4 2C 03 00 00 */ cmpwi r3, 0 /* 802E9F58 002E5BB8 3B E0 00 00 */ li r31, 0 /* 802E9F5C 002E5BBC 41 80 00 08 */ blt lbl_802E9F64 /* 802E9F60 002E5BC0 48 00 00 64 */ b lbl_802E9FC4 lbl_802E9F64: /* 802E9F64 002E5BC4 38 00 00 28 */ li r0, 0x28 /* 802E9F68 002E5BC8 38 81 00 08 */ addi r4, r1, 8 /* 802E9F6C 002E5BCC 7C 09 03 A6 */ mtctr r0 lbl_802E9F70: /* 802E9F70 002E5BD0 80 04 00 00 */ lwz r0, 0(r4) /* 802E9F74 002E5BD4 7C 03 00 00 */ cmpw r3, r0 /* 802E9F78 002E5BD8 40 82 00 20 */ bne lbl_802E9F98 /* 802E9F7C 002E5BDC 7F A3 EB 78 */ mr r3, r29 /* 802E9F80 002E5BE0 4B FF F4 85 */ bl nandReportErrorCode /* 802E9F84 002E5BE4 38 1F 00 01 */ addi r0, r31, 1 /* 802E9F88 002E5BE8 38 61 00 08 */ addi r3, r1, 8 /* 802E9F8C 002E5BEC 54 00 10 3A */ slwi r0, r0, 2 /* 802E9F90 002E5BF0 7F A3 00 2E */ lwzx r29, r3, r0 /* 802E9F94 002E5BF4 48 00 00 30 */ b lbl_802E9FC4 lbl_802E9F98: /* 802E9F98 002E5BF8 38 84 00 08 */ addi r4, r4, 8 /* 802E9F9C 002E5BFC 3B FF 00 02 */ addi r31, r31, 2 /* 802E9FA0 002E5C00 42 00 FF D0 */ bdnz lbl_802E9F70 /* 802E9FA4 002E5C04 3C 60 80 44 */ lis r3, lbl_80445728@ha /* 802E9FA8 002E5C08 7F A4 EB 78 */ mr r4, r29 /* 802E9FAC 002E5C0C 38 63 57 28 */ addi r3, r3, lbl_80445728@l /* 802E9FB0 002E5C10 4C C6 31 82 */ crclr 6 /* 802E9FB4 002E5C14 4B D1 DB 11 */ bl OSReport /* 802E9FB8 002E5C18 7F A3 EB 78 */ mr r3, r29 /* 802E9FBC 002E5C1C 4B FF F4 49 */ bl nandReportErrorCode /* 802E9FC0 002E5C20 3B A0 FF C0 */ li r29, -64 lbl_802E9FC4: /* 802E9FC4 002E5C24 81 9E 00 04 */ lwz r12, 4(r30) /* 802E9FC8 002E5C28 7F A3 EB 78 */ mr r3, r29 /* 802E9FCC 002E5C2C 7F C4 F3 78 */ mr r4, r30 /* 802E9FD0 002E5C30 7D 89 03 A6 */ mtctr r12 /* 802E9FD4 002E5C34 4E 80 04 21 */ bctrl /* 802E9FD8 002E5C38 80 01 01 64 */ lwz r0, 0x164(r1) /* 802E9FDC 002E5C3C 83 E1 01 5C */ lwz r31, 0x15c(r1) /* 802E9FE0 002E5C40 83 C1 01 58 */ lwz r30, 0x158(r1) /* 802E9FE4 002E5C44 83 A1 01 54 */ lwz r29, 0x154(r1) /* 802E9FE8 002E5C48 7C 08 03 A6 */ mtlr r0 /* 802E9FEC 002E5C4C 38 21 01 60 */ addi r1, r1, 0x160 /* 802E9FF0 002E5C50 4E 80 00 20 */ blr .global nandGetType nandGetType: /* 802E9FF4 002E5C54 94 21 FF 90 */ stwu r1, -0x70(r1) /* 802E9FF8 002E5C58 7C 08 02 A6 */ mflr r0 /* 802E9FFC 002E5C5C 90 01 00 74 */ stw r0, 0x74(r1) /* 802EA000 002E5C60 39 61 00 70 */ addi r11, r1, 0x70 /* 802EA004 002E5C64 4B ED D1 25 */ bl _savegpr_27 /* 802EA008 002E5C68 7C 7B 1B 78 */ mr r27, r3 /* 802EA00C 002E5C6C 7C 9E 23 78 */ mr r30, r4 /* 802EA010 002E5C70 7C BC 2B 78 */ mr r28, r5 /* 802EA014 002E5C74 7C DD 33 78 */ mr r29, r6 /* 802EA018 002E5C78 7C FF 3B 78 */ mr r31, r7 /* 802EA01C 002E5C7C 4B ED CB 49 */ bl strlen /* 802EA020 002E5C80 2C 03 00 00 */ cmpwi r3, 0 /* 802EA024 002E5C84 40 82 00 0C */ bne lbl_802EA030 /* 802EA028 002E5C88 38 60 FF 9B */ li r3, -101 /* 802EA02C 002E5C8C 48 00 02 84 */ b lbl_802EA2B0 lbl_802EA030: /* 802EA030 002E5C90 2C 1D 00 00 */ cmpwi r29, 0 /* 802EA034 002E5C94 41 82 01 08 */ beq lbl_802EA13C /* 802EA038 002E5C98 7F 63 DB 78 */ mr r3, r27 /* 802EA03C 002E5C9C 4B ED CB 29 */ bl strlen /* 802EA040 002E5CA0 2C 03 00 00 */ cmpwi r3, 0 /* 802EA044 002E5CA4 40 82 00 14 */ bne lbl_802EA058 /* 802EA048 002E5CA8 38 7C 00 34 */ addi r3, r28, 0x34 /* 802EA04C 002E5CAC 38 8D 8A 88 */ addi r4, r13, lbl_8063DD48-_SDA_BASE_ /* 802EA050 002E5CB0 4B EE 42 81 */ bl strcpy /* 802EA054 002E5CB4 48 00 00 78 */ b lbl_802EA0CC lbl_802EA058: /* 802EA058 002E5CB8 88 1B 00 00 */ lbz r0, 0(r27) /* 802EA05C 002E5CBC 2C 00 00 2F */ cmpwi r0, 0x2f /* 802EA060 002E5CC0 40 82 00 0C */ bne lbl_802EA06C /* 802EA064 002E5CC4 38 00 00 00 */ li r0, 0 /* 802EA068 002E5CC8 48 00 00 08 */ b lbl_802EA070 lbl_802EA06C: /* 802EA06C 002E5CCC 38 00 00 01 */ li r0, 1 lbl_802EA070: /* 802EA070 002E5CD0 2C 00 00 00 */ cmpwi r0, 0 /* 802EA074 002E5CD4 41 82 00 1C */ beq lbl_802EA090 /* 802EA078 002E5CD8 3C 80 80 44 */ lis r4, lbl_804456C0@ha /* 802EA07C 002E5CDC 7F 65 DB 78 */ mr r5, r27 /* 802EA080 002E5CE0 38 7C 00 34 */ addi r3, r28, 0x34 /* 802EA084 002E5CE4 38 84 56 C0 */ addi r4, r4, lbl_804456C0@l /* 802EA088 002E5CE8 4B FF F1 A1 */ bl nandConvertPath /* 802EA08C 002E5CEC 48 00 00 40 */ b lbl_802EA0CC lbl_802EA090: /* 802EA090 002E5CF0 7F 64 DB 78 */ mr r4, r27 /* 802EA094 002E5CF4 38 7C 00 34 */ addi r3, r28, 0x34 /* 802EA098 002E5CF8 4B EE 42 39 */ bl strcpy /* 802EA09C 002E5CFC 38 7C 00 34 */ addi r3, r28, 0x34 /* 802EA0A0 002E5D00 4B ED CA C5 */ bl strlen /* 802EA0A4 002E5D04 2C 03 00 00 */ cmpwi r3, 0 /* 802EA0A8 002E5D08 41 82 00 24 */ beq lbl_802EA0CC /* 802EA0AC 002E5D0C 7C 83 E2 14 */ add r4, r3, r28 /* 802EA0B0 002E5D10 88 04 00 33 */ lbz r0, 0x33(r4) /* 802EA0B4 002E5D14 2C 00 00 2F */ cmpwi r0, 0x2f /* 802EA0B8 002E5D18 40 82 00 14 */ bne lbl_802EA0CC /* 802EA0BC 002E5D1C 34 03 FF FF */ addic. r0, r3, -1 /* 802EA0C0 002E5D20 41 82 00 0C */ beq lbl_802EA0CC /* 802EA0C4 002E5D24 38 00 00 00 */ li r0, 0 /* 802EA0C8 002E5D28 98 04 00 33 */ stb r0, 0x33(r4) lbl_802EA0CC: /* 802EA0CC 002E5D2C 2C 1F 00 00 */ cmpwi r31, 0 /* 802EA0D0 002E5D30 40 82 00 48 */ bne lbl_802EA118 /* 802EA0D4 002E5D34 3C 80 80 44 */ lis r4, lbl_8044571C@ha /* 802EA0D8 002E5D38 38 7C 00 34 */ addi r3, r28, 0x34 /* 802EA0DC 002E5D3C 38 84 57 1C */ addi r4, r4, lbl_8044571C@l /* 802EA0E0 002E5D40 38 A0 00 09 */ li r5, 9 /* 802EA0E4 002E5D44 4B EE 44 85 */ bl strncmp /* 802EA0E8 002E5D48 2C 03 00 00 */ cmpwi r3, 0 /* 802EA0EC 002E5D4C 40 82 00 18 */ bne lbl_802EA104 /* 802EA0F0 002E5D50 88 1C 00 3D */ lbz r0, 0x3d(r28) /* 802EA0F4 002E5D54 7C 00 07 75 */ extsb. r0, r0 /* 802EA0F8 002E5D58 41 82 00 0C */ beq lbl_802EA104 /* 802EA0FC 002E5D5C 38 00 00 01 */ li r0, 1 /* 802EA100 002E5D60 48 00 00 08 */ b lbl_802EA108 lbl_802EA104: /* 802EA104 002E5D64 38 00 00 00 */ li r0, 0 lbl_802EA108: /* 802EA108 002E5D68 2C 00 00 00 */ cmpwi r0, 0 /* 802EA10C 002E5D6C 41 82 00 0C */ beq lbl_802EA118 /* 802EA110 002E5D70 38 60 FF 9A */ li r3, -102 /* 802EA114 002E5D74 48 00 01 9C */ b lbl_802EA2B0 lbl_802EA118: /* 802EA118 002E5D78 3C C0 80 2F */ lis r6, nandGetTypeCallback@ha /* 802EA11C 002E5D7C 93 DC 00 88 */ stw r30, 0x88(r28) /* 802EA120 002E5D80 7F 87 E3 78 */ mr r7, r28 /* 802EA124 002E5D84 38 7C 00 34 */ addi r3, r28, 0x34 /* 802EA128 002E5D88 38 BC 00 30 */ addi r5, r28, 0x30 /* 802EA12C 002E5D8C 38 C6 A3 C0 */ addi r6, r6, nandGetTypeCallback@l /* 802EA130 002E5D90 38 80 00 00 */ li r4, 0 /* 802EA134 002E5D94 4B FB AB 85 */ bl ISFS_ReadDirAsync /* 802EA138 002E5D98 48 00 01 78 */ b lbl_802EA2B0 lbl_802EA13C: /* 802EA13C 002E5D9C 38 00 00 00 */ li r0, 0 /* 802EA140 002E5DA0 7F 63 DB 78 */ mr r3, r27 /* 802EA144 002E5DA4 90 01 00 10 */ stw r0, 0x10(r1) /* 802EA148 002E5DA8 90 01 00 14 */ stw r0, 0x14(r1) /* 802EA14C 002E5DAC 90 01 00 18 */ stw r0, 0x18(r1) /* 802EA150 002E5DB0 90 01 00 1C */ stw r0, 0x1c(r1) /* 802EA154 002E5DB4 90 01 00 20 */ stw r0, 0x20(r1) /* 802EA158 002E5DB8 90 01 00 24 */ stw r0, 0x24(r1) /* 802EA15C 002E5DBC 90 01 00 28 */ stw r0, 0x28(r1) /* 802EA160 002E5DC0 90 01 00 2C */ stw r0, 0x2c(r1) /* 802EA164 002E5DC4 90 01 00 30 */ stw r0, 0x30(r1) /* 802EA168 002E5DC8 90 01 00 34 */ stw r0, 0x34(r1) /* 802EA16C 002E5DCC 90 01 00 38 */ stw r0, 0x38(r1) /* 802EA170 002E5DD0 90 01 00 3C */ stw r0, 0x3c(r1) /* 802EA174 002E5DD4 90 01 00 40 */ stw r0, 0x40(r1) /* 802EA178 002E5DD8 90 01 00 44 */ stw r0, 0x44(r1) /* 802EA17C 002E5DDC 90 01 00 48 */ stw r0, 0x48(r1) /* 802EA180 002E5DE0 90 01 00 4C */ stw r0, 0x4c(r1) /* 802EA184 002E5DE4 4B ED C9 E1 */ bl strlen /* 802EA188 002E5DE8 2C 03 00 00 */ cmpwi r3, 0 /* 802EA18C 002E5DEC 40 82 00 14 */ bne lbl_802EA1A0 /* 802EA190 002E5DF0 38 61 00 10 */ addi r3, r1, 0x10 /* 802EA194 002E5DF4 38 8D 8A 88 */ addi r4, r13, lbl_8063DD48-_SDA_BASE_ /* 802EA198 002E5DF8 4B EE 41 39 */ bl strcpy /* 802EA19C 002E5DFC 48 00 00 7C */ b lbl_802EA218 lbl_802EA1A0: /* 802EA1A0 002E5E00 88 1B 00 00 */ lbz r0, 0(r27) /* 802EA1A4 002E5E04 2C 00 00 2F */ cmpwi r0, 0x2f /* 802EA1A8 002E5E08 40 82 00 0C */ bne lbl_802EA1B4 /* 802EA1AC 002E5E0C 38 00 00 00 */ li r0, 0 /* 802EA1B0 002E5E10 48 00 00 08 */ b lbl_802EA1B8 lbl_802EA1B4: /* 802EA1B4 002E5E14 38 00 00 01 */ li r0, 1 lbl_802EA1B8: /* 802EA1B8 002E5E18 2C 00 00 00 */ cmpwi r0, 0 /* 802EA1BC 002E5E1C 41 82 00 1C */ beq lbl_802EA1D8 /* 802EA1C0 002E5E20 3C 80 80 44 */ lis r4, lbl_804456C0@ha /* 802EA1C4 002E5E24 7F 65 DB 78 */ mr r5, r27 /* 802EA1C8 002E5E28 38 61 00 10 */ addi r3, r1, 0x10 /* 802EA1CC 002E5E2C 38 84 56 C0 */ addi r4, r4, lbl_804456C0@l /* 802EA1D0 002E5E30 4B FF F0 59 */ bl nandConvertPath /* 802EA1D4 002E5E34 48 00 00 44 */ b lbl_802EA218 lbl_802EA1D8: /* 802EA1D8 002E5E38 7F 64 DB 78 */ mr r4, r27 /* 802EA1DC 002E5E3C 38 61 00 10 */ addi r3, r1, 0x10 /* 802EA1E0 002E5E40 4B EE 40 F1 */ bl strcpy /* 802EA1E4 002E5E44 38 61 00 10 */ addi r3, r1, 0x10 /* 802EA1E8 002E5E48 4B ED C9 7D */ bl strlen /* 802EA1EC 002E5E4C 2C 03 00 00 */ cmpwi r3, 0 /* 802EA1F0 002E5E50 41 82 00 28 */ beq lbl_802EA218 /* 802EA1F4 002E5E54 38 01 00 10 */ addi r0, r1, 0x10 /* 802EA1F8 002E5E58 7C 83 02 14 */ add r4, r3, r0 /* 802EA1FC 002E5E5C 88 04 FF FF */ lbz r0, -1(r4) /* 802EA200 002E5E60 2C 00 00 2F */ cmpwi r0, 0x2f /* 802EA204 002E5E64 40 82 00 14 */ bne lbl_802EA218 /* 802EA208 002E5E68 34 03 FF FF */ addic. r0, r3, -1 /* 802EA20C 002E5E6C 41 82 00 0C */ beq lbl_802EA218 /* 802EA210 002E5E70 38 00 00 00 */ li r0, 0 /* 802EA214 002E5E74 98 04 FF FF */ stb r0, -1(r4) lbl_802EA218: /* 802EA218 002E5E78 2C 1F 00 00 */ cmpwi r31, 0 /* 802EA21C 002E5E7C 40 82 00 48 */ bne lbl_802EA264 /* 802EA220 002E5E80 3C 80 80 44 */ lis r4, lbl_8044571C@ha /* 802EA224 002E5E84 38 61 00 10 */ addi r3, r1, 0x10 /* 802EA228 002E5E88 38 84 57 1C */ addi r4, r4, lbl_8044571C@l /* 802EA22C 002E5E8C 38 A0 00 09 */ li r5, 9 /* 802EA230 002E5E90 4B EE 43 39 */ bl strncmp /* 802EA234 002E5E94 2C 03 00 00 */ cmpwi r3, 0 /* 802EA238 002E5E98 40 82 00 18 */ bne lbl_802EA250 /* 802EA23C 002E5E9C 88 01 00 19 */ lbz r0, 0x19(r1) /* 802EA240 002E5EA0 7C 00 07 75 */ extsb. r0, r0 /* 802EA244 002E5EA4 41 82 00 0C */ beq lbl_802EA250 /* 802EA248 002E5EA8 38 00 00 01 */ li r0, 1 /* 802EA24C 002E5EAC 48 00 00 08 */ b lbl_802EA254 lbl_802EA250: /* 802EA250 002E5EB0 38 00 00 00 */ li r0, 0 lbl_802EA254: /* 802EA254 002E5EB4 2C 00 00 00 */ cmpwi r0, 0 /* 802EA258 002E5EB8 41 82 00 0C */ beq lbl_802EA264 /* 802EA25C 002E5EBC 38 60 FF 9A */ li r3, -102 /* 802EA260 002E5EC0 48 00 00 50 */ b lbl_802EA2B0 lbl_802EA264: /* 802EA264 002E5EC4 38 00 00 00 */ li r0, 0 /* 802EA268 002E5EC8 38 61 00 10 */ addi r3, r1, 0x10 /* 802EA26C 002E5ECC 90 01 00 08 */ stw r0, 8(r1) /* 802EA270 002E5ED0 38 A1 00 08 */ addi r5, r1, 8 /* 802EA274 002E5ED4 38 80 00 00 */ li r4, 0 /* 802EA278 002E5ED8 4B FB A8 ED */ bl ISFS_ReadDir /* 802EA27C 002E5EDC 2C 03 00 00 */ cmpwi r3, 0 /* 802EA280 002E5EE0 41 82 00 0C */ beq lbl_802EA28C /* 802EA284 002E5EE4 2C 03 FF 9A */ cmpwi r3, -102 /* 802EA288 002E5EE8 40 82 00 14 */ bne lbl_802EA29C lbl_802EA28C: /* 802EA28C 002E5EEC 38 00 00 02 */ li r0, 2 /* 802EA290 002E5EF0 38 60 00 00 */ li r3, 0 /* 802EA294 002E5EF4 98 1E 00 00 */ stb r0, 0(r30) /* 802EA298 002E5EF8 48 00 00 18 */ b lbl_802EA2B0 lbl_802EA29C: /* 802EA29C 002E5EFC 2C 03 FF 9B */ cmpwi r3, -101 /* 802EA2A0 002E5F00 40 82 00 10 */ bne lbl_802EA2B0 /* 802EA2A4 002E5F04 38 00 00 01 */ li r0, 1 /* 802EA2A8 002E5F08 38 60 00 00 */ li r3, 0 /* 802EA2AC 002E5F0C 98 1E 00 00 */ stb r0, 0(r30) lbl_802EA2B0: /* 802EA2B0 002E5F10 39 61 00 70 */ addi r11, r1, 0x70 /* 802EA2B4 002E5F14 4B ED CE C1 */ bl _restgpr_27 /* 802EA2B8 002E5F18 80 01 00 74 */ lwz r0, 0x74(r1) /* 802EA2BC 002E5F1C 7C 08 03 A6 */ mtlr r0 /* 802EA2C0 002E5F20 38 21 00 70 */ addi r1, r1, 0x70 /* 802EA2C4 002E5F24 4E 80 00 20 */ blr .global NANDPrivateGetTypeAsync NANDPrivateGetTypeAsync: /* 802EA2C8 002E5F28 94 21 FE B0 */ stwu r1, -0x150(r1) /* 802EA2CC 002E5F2C 7C 08 02 A6 */ mflr r0 /* 802EA2D0 002E5F30 90 01 01 54 */ stw r0, 0x154(r1) /* 802EA2D4 002E5F34 93 E1 01 4C */ stw r31, 0x14c(r1) /* 802EA2D8 002E5F38 93 C1 01 48 */ stw r30, 0x148(r1) /* 802EA2DC 002E5F3C 80 0D AF 08 */ lwz r0, lbl_806401C8-_SDA_BASE_(r13) /* 802EA2E0 002E5F40 2C 00 00 02 */ cmpwi r0, 2 /* 802EA2E4 002E5F44 41 82 00 0C */ beq lbl_802EA2F0 /* 802EA2E8 002E5F48 38 60 FF 80 */ li r3, -128 /* 802EA2EC 002E5F4C 48 00 00 BC */ b lbl_802EA3A8 lbl_802EA2F0: /* 802EA2F0 002E5F50 90 A6 00 04 */ stw r5, 4(r6) /* 802EA2F4 002E5F54 7C C5 33 78 */ mr r5, r6 /* 802EA2F8 002E5F58 38 C0 00 01 */ li r6, 1 /* 802EA2FC 002E5F5C 38 E0 00 01 */ li r7, 1 /* 802EA300 002E5F60 4B FF FC F5 */ bl nandGetType /* 802EA304 002E5F64 3C 80 80 40 */ lis r4, lbl_803FDF20@ha /* 802EA308 002E5F68 38 00 00 28 */ li r0, 0x28 /* 802EA30C 002E5F6C 38 84 DF 20 */ addi r4, r4, lbl_803FDF20@l /* 802EA310 002E5F70 7C 7F 1B 78 */ mr r31, r3 /* 802EA314 002E5F74 38 C1 00 04 */ addi r6, r1, 4 /* 802EA318 002E5F78 38 A4 FF FC */ addi r5, r4, -4 /* 802EA31C 002E5F7C 7C 09 03 A6 */ mtctr r0 lbl_802EA320: /* 802EA320 002E5F80 80 85 00 04 */ lwz r4, 4(r5) /* 802EA324 002E5F84 84 05 00 08 */ lwzu r0, 8(r5) /* 802EA328 002E5F88 90 86 00 04 */ stw r4, 4(r6) /* 802EA32C 002E5F8C 94 06 00 08 */ stwu r0, 8(r6) /* 802EA330 002E5F90 42 00 FF F0 */ bdnz lbl_802EA320 /* 802EA334 002E5F94 2C 03 00 00 */ cmpwi r3, 0 /* 802EA338 002E5F98 3B C0 00 00 */ li r30, 0 /* 802EA33C 002E5F9C 41 80 00 08 */ blt lbl_802EA344 /* 802EA340 002E5FA0 48 00 00 64 */ b lbl_802EA3A4 lbl_802EA344: /* 802EA344 002E5FA4 38 00 00 28 */ li r0, 0x28 /* 802EA348 002E5FA8 38 81 00 08 */ addi r4, r1, 8 /* 802EA34C 002E5FAC 7C 09 03 A6 */ mtctr r0 lbl_802EA350: /* 802EA350 002E5FB0 80 04 00 00 */ lwz r0, 0(r4) /* 802EA354 002E5FB4 7C 03 00 00 */ cmpw r3, r0 /* 802EA358 002E5FB8 40 82 00 20 */ bne lbl_802EA378 /* 802EA35C 002E5FBC 7F E3 FB 78 */ mr r3, r31 /* 802EA360 002E5FC0 4B FF F0 A5 */ bl nandReportErrorCode /* 802EA364 002E5FC4 38 1E 00 01 */ addi r0, r30, 1 /* 802EA368 002E5FC8 38 61 00 08 */ addi r3, r1, 8 /* 802EA36C 002E5FCC 54 00 10 3A */ slwi r0, r0, 2 /* 802EA370 002E5FD0 7F E3 00 2E */ lwzx r31, r3, r0 /* 802EA374 002E5FD4 48 00 00 30 */ b lbl_802EA3A4 lbl_802EA378: /* 802EA378 002E5FD8 38 84 00 08 */ addi r4, r4, 8 /* 802EA37C 002E5FDC 3B DE 00 02 */ addi r30, r30, 2 /* 802EA380 002E5FE0 42 00 FF D0 */ bdnz lbl_802EA350 /* 802EA384 002E5FE4 3C 60 80 44 */ lis r3, lbl_80445728@ha /* 802EA388 002E5FE8 7F E4 FB 78 */ mr r4, r31 /* 802EA38C 002E5FEC 38 63 57 28 */ addi r3, r3, lbl_80445728@l /* 802EA390 002E5FF0 4C C6 31 82 */ crclr 6 /* 802EA394 002E5FF4 4B D1 D7 31 */ bl OSReport /* 802EA398 002E5FF8 7F E3 FB 78 */ mr r3, r31 /* 802EA39C 002E5FFC 4B FF F0 69 */ bl nandReportErrorCode /* 802EA3A0 002E6000 3B E0 FF C0 */ li r31, -64 lbl_802EA3A4: /* 802EA3A4 002E6004 7F E3 FB 78 */ mr r3, r31 lbl_802EA3A8: /* 802EA3A8 002E6008 80 01 01 54 */ lwz r0, 0x154(r1) /* 802EA3AC 002E600C 83 E1 01 4C */ lwz r31, 0x14c(r1) /* 802EA3B0 002E6010 83 C1 01 48 */ lwz r30, 0x148(r1) /* 802EA3B4 002E6014 7C 08 03 A6 */ mtlr r0 /* 802EA3B8 002E6018 38 21 01 50 */ addi r1, r1, 0x150 /* 802EA3BC 002E601C 4E 80 00 20 */ blr nandGetTypeCallback: /* 802EA3C0 002E6020 94 21 FE A0 */ stwu r1, -0x160(r1) /* 802EA3C4 002E6024 7C 08 02 A6 */ mflr r0 /* 802EA3C8 002E6028 2C 03 00 00 */ cmpwi r3, 0 /* 802EA3CC 002E602C 90 01 01 64 */ stw r0, 0x164(r1) /* 802EA3D0 002E6030 93 E1 01 5C */ stw r31, 0x15c(r1) /* 802EA3D4 002E6034 7C 9F 23 78 */ mr r31, r4 /* 802EA3D8 002E6038 93 C1 01 58 */ stw r30, 0x158(r1) /* 802EA3DC 002E603C 93 A1 01 54 */ stw r29, 0x154(r1) /* 802EA3E0 002E6040 7C 7D 1B 78 */ mr r29, r3 /* 802EA3E4 002E6044 41 82 00 0C */ beq lbl_802EA3F0 /* 802EA3E8 002E6048 2C 03 FF 9A */ cmpwi r3, -102 /* 802EA3EC 002E604C 40 82 00 18 */ bne lbl_802EA404 lbl_802EA3F0: /* 802EA3F0 002E6050 80 64 00 88 */ lwz r3, 0x88(r4) /* 802EA3F4 002E6054 38 00 00 02 */ li r0, 2 /* 802EA3F8 002E6058 3B A0 00 00 */ li r29, 0 /* 802EA3FC 002E605C 98 03 00 00 */ stb r0, 0(r3) /* 802EA400 002E6060 48 00 00 1C */ b lbl_802EA41C lbl_802EA404: /* 802EA404 002E6064 2C 03 FF 9B */ cmpwi r3, -101 /* 802EA408 002E6068 40 82 00 14 */ bne lbl_802EA41C /* 802EA40C 002E606C 80 64 00 88 */ lwz r3, 0x88(r4) /* 802EA410 002E6070 38 00 00 01 */ li r0, 1 /* 802EA414 002E6074 3B A0 00 00 */ li r29, 0 /* 802EA418 002E6078 98 03 00 00 */ stb r0, 0(r3) lbl_802EA41C: /* 802EA41C 002E607C 3C 60 80 40 */ lis r3, lbl_803FDF20@ha /* 802EA420 002E6080 38 00 00 28 */ li r0, 0x28 /* 802EA424 002E6084 38 63 DF 20 */ addi r3, r3, lbl_803FDF20@l /* 802EA428 002E6088 38 A1 00 04 */ addi r5, r1, 4 /* 802EA42C 002E608C 38 83 FF FC */ addi r4, r3, -4 /* 802EA430 002E6090 7C 09 03 A6 */ mtctr r0 lbl_802EA434: /* 802EA434 002E6094 80 64 00 04 */ lwz r3, 4(r4) /* 802EA438 002E6098 84 04 00 08 */ lwzu r0, 8(r4) /* 802EA43C 002E609C 90 65 00 04 */ stw r3, 4(r5) /* 802EA440 002E60A0 94 05 00 08 */ stwu r0, 8(r5) /* 802EA444 002E60A4 42 00 FF F0 */ bdnz lbl_802EA434 /* 802EA448 002E60A8 2C 1D 00 00 */ cmpwi r29, 0 /* 802EA44C 002E60AC 3B C0 00 00 */ li r30, 0 /* 802EA450 002E60B0 41 80 00 08 */ blt lbl_802EA458 /* 802EA454 002E60B4 48 00 00 64 */ b lbl_802EA4B8 lbl_802EA458: /* 802EA458 002E60B8 38 00 00 28 */ li r0, 0x28 /* 802EA45C 002E60BC 38 61 00 08 */ addi r3, r1, 8 /* 802EA460 002E60C0 7C 09 03 A6 */ mtctr r0 lbl_802EA464: /* 802EA464 002E60C4 80 03 00 00 */ lwz r0, 0(r3) /* 802EA468 002E60C8 7C 1D 00 00 */ cmpw r29, r0 /* 802EA46C 002E60CC 40 82 00 20 */ bne lbl_802EA48C /* 802EA470 002E60D0 7F A3 EB 78 */ mr r3, r29 /* 802EA474 002E60D4 4B FF EF 91 */ bl nandReportErrorCode /* 802EA478 002E60D8 38 1E 00 01 */ addi r0, r30, 1 /* 802EA47C 002E60DC 38 61 00 08 */ addi r3, r1, 8 /* 802EA480 002E60E0 54 00 10 3A */ slwi r0, r0, 2 /* 802EA484 002E60E4 7F A3 00 2E */ lwzx r29, r3, r0 /* 802EA488 002E60E8 48 00 00 30 */ b lbl_802EA4B8 lbl_802EA48C: /* 802EA48C 002E60EC 38 63 00 08 */ addi r3, r3, 8 /* 802EA490 002E60F0 3B DE 00 02 */ addi r30, r30, 2 /* 802EA494 002E60F4 42 00 FF D0 */ bdnz lbl_802EA464 /* 802EA498 002E60F8 3C 60 80 44 */ lis r3, lbl_80445728@ha /* 802EA49C 002E60FC 7F A4 EB 78 */ mr r4, r29 /* 802EA4A0 002E6100 38 63 57 28 */ addi r3, r3, lbl_80445728@l /* 802EA4A4 002E6104 4C C6 31 82 */ crclr 6 /* 802EA4A8 002E6108 4B D1 D6 1D */ bl OSReport /* 802EA4AC 002E610C 7F A3 EB 78 */ mr r3, r29 /* 802EA4B0 002E6110 4B FF EF 55 */ bl nandReportErrorCode /* 802EA4B4 002E6114 3B A0 FF C0 */ li r29, -64 lbl_802EA4B8: /* 802EA4B8 002E6118 81 9F 00 04 */ lwz r12, 4(r31) /* 802EA4BC 002E611C 7F A3 EB 78 */ mr r3, r29 /* 802EA4C0 002E6120 7F E4 FB 78 */ mr r4, r31 /* 802EA4C4 002E6124 7D 89 03 A6 */ mtctr r12 /* 802EA4C8 002E6128 4E 80 04 21 */ bctrl /* 802EA4CC 002E612C 80 01 01 64 */ lwz r0, 0x164(r1) /* 802EA4D0 002E6130 83 E1 01 5C */ lwz r31, 0x15c(r1) /* 802EA4D4 002E6134 83 C1 01 58 */ lwz r30, 0x158(r1) /* 802EA4D8 002E6138 83 A1 01 54 */ lwz r29, 0x154(r1) /* 802EA4DC 002E613C 7C 08 03 A6 */ mtlr r0 /* 802EA4E0 002E6140 38 21 01 60 */ addi r1, r1, 0x160 /* 802EA4E4 002E6144 4E 80 00 20 */ blr .global nandGetHomeDir nandGetHomeDir: /* 802EA4E8 002E6148 3C 60 80 57 */ lis r3, lbl_80570E80@ha /* 802EA4EC 002E614C 38 63 0E 80 */ addi r3, r3, lbl_80570E80@l /* 802EA4F0 002E6150 4E 80 00 20 */ blr .global NANDInitBanner NANDInitBanner: /* 802EA4F4 002E6154 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802EA4F8 002E6158 7C 08 02 A6 */ mflr r0 /* 802EA4FC 002E615C 3C E0 00 01 */ lis r7, 0x0000F0A0@ha /* 802EA500 002E6160 90 01 00 24 */ stw r0, 0x24(r1) /* 802EA504 002E6164 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802EA508 002E6168 7C DF 33 78 */ mr r31, r6 /* 802EA50C 002E616C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802EA510 002E6170 7C BE 2B 78 */ mr r30, r5 /* 802EA514 002E6174 38 A7 F0 A0 */ addi r5, r7, 0x0000F0A0@l /* 802EA518 002E6178 93 A1 00 14 */ stw r29, 0x14(r1) /* 802EA51C 002E617C 7C 9D 23 78 */ mr r29, r4 /* 802EA520 002E6180 38 80 00 00 */ li r4, 0 /* 802EA524 002E6184 93 81 00 10 */ stw r28, 0x10(r1) /* 802EA528 002E6188 7C 7C 1B 78 */ mr r28, r3 /* 802EA52C 002E618C 4B D1 9B D9 */ bl memset /* 802EA530 002E6190 3C 60 57 49 */ lis r3, 0x5749424E@ha /* 802EA534 002E6194 93 BC 00 04 */ stw r29, 4(r28) /* 802EA538 002E6198 38 03 42 4E */ addi r0, r3, 0x5749424E@l /* 802EA53C 002E619C 38 8D 8A A8 */ addi r4, r13, lbl_8063DD68-_SDA_BASE_ /* 802EA540 002E61A0 90 1C 00 00 */ stw r0, 0(r28) /* 802EA544 002E61A4 7F C3 F3 78 */ mr r3, r30 /* 802EA548 002E61A8 4B EE 62 E9 */ bl wcscmp /* 802EA54C 002E61AC 2C 03 00 00 */ cmpwi r3, 0 /* 802EA550 002E61B0 40 82 00 18 */ bne lbl_802EA568 /* 802EA554 002E61B4 38 7C 00 20 */ addi r3, r28, 0x20 /* 802EA558 002E61B8 38 8D 8A AC */ addi r4, r13, lbl_8063DD6C-_SDA_BASE_ /* 802EA55C 002E61BC 38 A0 00 20 */ li r5, 0x20 /* 802EA560 002E61C0 4B EE 62 8D */ bl wcsncpy /* 802EA564 002E61C4 48 00 00 14 */ b lbl_802EA578 lbl_802EA568: /* 802EA568 002E61C8 7F C4 F3 78 */ mr r4, r30 /* 802EA56C 002E61CC 38 7C 00 20 */ addi r3, r28, 0x20 /* 802EA570 002E61D0 38 A0 00 20 */ li r5, 0x20 /* 802EA574 002E61D4 4B EE 62 79 */ bl wcsncpy lbl_802EA578: /* 802EA578 002E61D8 7F E3 FB 78 */ mr r3, r31 /* 802EA57C 002E61DC 38 8D 8A A8 */ addi r4, r13, lbl_8063DD68-_SDA_BASE_ /* 802EA580 002E61E0 4B EE 62 B1 */ bl wcscmp /* 802EA584 002E61E4 2C 03 00 00 */ cmpwi r3, 0 /* 802EA588 002E61E8 40 82 00 18 */ bne lbl_802EA5A0 /* 802EA58C 002E61EC 38 7C 00 60 */ addi r3, r28, 0x60 /* 802EA590 002E61F0 38 8D 8A AC */ addi r4, r13, lbl_8063DD6C-_SDA_BASE_ /* 802EA594 002E61F4 38 A0 00 20 */ li r5, 0x20 /* 802EA598 002E61F8 4B EE 62 55 */ bl wcsncpy /* 802EA59C 002E61FC 48 00 00 14 */ b lbl_802EA5B0 lbl_802EA5A0: /* 802EA5A0 002E6200 7F E4 FB 78 */ mr r4, r31 /* 802EA5A4 002E6204 38 7C 00 60 */ addi r3, r28, 0x60 /* 802EA5A8 002E6208 38 A0 00 20 */ li r5, 0x20 /* 802EA5AC 002E620C 4B EE 62 41 */ bl wcsncpy lbl_802EA5B0: /* 802EA5B0 002E6210 80 01 00 24 */ lwz r0, 0x24(r1) /* 802EA5B4 002E6214 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802EA5B8 002E6218 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802EA5BC 002E621C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802EA5C0 002E6220 83 81 00 10 */ lwz r28, 0x10(r1) /* 802EA5C4 002E6224 7C 08 03 A6 */ mtlr r0 /* 802EA5C8 002E6228 38 21 00 20 */ addi r1, r1, 0x20 /* 802EA5CC 002E622C 4E 80 00 20 */ blr # could also be _ESP_GetDataDir .global _ES_GetDataDir _ES_GetDataDir: /* 802EA5D0 002E6230 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 802EA5D4 002E6234 7C 2C 0B 78 */ mr r12, r1 /* 802EA5D8 002E6238 21 6B FE C0 */ subfic r11, r11, -320 /* 802EA5DC 002E623C 7C 21 59 6E */ stwux r1, r1, r11 /* 802EA5E0 002E6240 7C 08 02 A6 */ mflr r0 /* 802EA5E4 002E6244 90 0C 00 04 */ stw r0, 4(r12) /* 802EA5E8 002E6248 39 21 00 20 */ addi r9, r1, 0x20 /* 802EA5EC 002E624C 39 41 00 40 */ addi r10, r1, 0x40 /* 802EA5F0 002E6250 80 03 00 00 */ lwz r0, 0(r3) /* 802EA5F4 002E6254 2C 00 00 00 */ cmpwi r0, 0 /* 802EA5F8 002E6258 41 80 00 10 */ blt lbl_802EA608 /* 802EA5FC 002E625C 38 00 00 00 */ li r0, 0 /* 802EA600 002E6260 7C 07 00 40 */ cmplw r7, r0 /* 802EA604 002E6264 40 82 00 0C */ bne lbl_802EA610 lbl_802EA608: /* 802EA608 002E6268 38 60 FC 07 */ li r3, -1017 /* 802EA60C 002E626C 48 00 00 4C */ b lbl_802EA658 lbl_802EA610: /* 802EA610 002E6270 54 E0 06 FF */ clrlwi. r0, r7, 0x1b /* 802EA614 002E6274 41 82 00 0C */ beq lbl_802EA620 /* 802EA618 002E6278 38 60 FC 07 */ li r3, -1017 /* 802EA61C 002E627C 48 00 00 3C */ b lbl_802EA658 lbl_802EA620: /* 802EA620 002E6280 39 00 00 08 */ li r8, 8 /* 802EA624 002E6284 38 00 00 1E */ li r0, 0x1e /* 802EA628 002E6288 90 C1 00 44 */ stw r6, 0x44(r1) /* 802EA62C 002E628C 38 80 00 1D */ li r4, 0x1d /* 802EA630 002E6290 38 C0 00 01 */ li r6, 1 /* 802EA634 002E6294 90 A1 00 40 */ stw r5, 0x40(r1) /* 802EA638 002E6298 38 A0 00 01 */ li r5, 1 /* 802EA63C 002E629C 90 E1 00 28 */ stw r7, 0x28(r1) /* 802EA640 002E62A0 7D 27 4B 78 */ mr r7, r9 /* 802EA644 002E62A4 91 41 00 20 */ stw r10, 0x20(r1) /* 802EA648 002E62A8 91 01 00 24 */ stw r8, 0x24(r1) /* 802EA64C 002E62AC 90 01 00 2C */ stw r0, 0x2c(r1) /* 802EA650 002E62B0 80 63 00 00 */ lwz r3, 0(r3) /* 802EA654 002E62B4 4B FB 97 ED */ bl IOS_Ioctlv lbl_802EA658: /* 802EA658 002E62B8 81 41 00 00 */ lwz r10, 0(r1) /* 802EA65C 002E62BC 80 0A 00 04 */ lwz r0, 4(r10) /* 802EA660 002E62C0 7C 08 03 A6 */ mtlr r0 /* 802EA664 002E62C4 7D 41 53 78 */ mr r1, r10 /* 802EA668 002E62C8 4E 80 00 20 */ blr