.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global nandOpen nandOpen: /* 802E82F4 002E3F54 94 21 FF A0 */ stwu r1, -0x60(r1) /* 802E82F8 002E3F58 7C 08 02 A6 */ mflr r0 /* 802E82FC 002E3F5C 90 01 00 64 */ stw r0, 0x64(r1) /* 802E8300 002E3F60 39 61 00 60 */ addi r11, r1, 0x60 /* 802E8304 002E3F64 4B ED EE 25 */ bl _savegpr_27 /* 802E8308 002E3F68 38 00 00 00 */ li r0, 0 /* 802E830C 002E3F6C 7C 9B 23 78 */ mr r27, r4 /* 802E8310 002E3F70 90 01 00 08 */ stw r0, 8(r1) /* 802E8314 002E3F74 7C 64 1B 78 */ mr r4, r3 /* 802E8318 002E3F78 7C BC 2B 78 */ mr r28, r5 /* 802E831C 002E3F7C 7C DD 33 78 */ mr r29, r6 /* 802E8320 002E3F80 90 01 00 0C */ stw r0, 0xc(r1) /* 802E8324 002E3F84 7C FE 3B 78 */ mr r30, r7 /* 802E8328 002E3F88 38 61 00 08 */ addi r3, r1, 8 /* 802E832C 002E3F8C 3B E0 00 00 */ li r31, 0 /* 802E8330 002E3F90 90 01 00 10 */ stw r0, 0x10(r1) /* 802E8334 002E3F94 90 01 00 14 */ stw r0, 0x14(r1) /* 802E8338 002E3F98 90 01 00 18 */ stw r0, 0x18(r1) /* 802E833C 002E3F9C 90 01 00 1C */ stw r0, 0x1c(r1) /* 802E8340 002E3FA0 90 01 00 20 */ stw r0, 0x20(r1) /* 802E8344 002E3FA4 90 01 00 24 */ stw r0, 0x24(r1) /* 802E8348 002E3FA8 90 01 00 28 */ stw r0, 0x28(r1) /* 802E834C 002E3FAC 90 01 00 2C */ stw r0, 0x2c(r1) /* 802E8350 002E3FB0 90 01 00 30 */ stw r0, 0x30(r1) /* 802E8354 002E3FB4 90 01 00 34 */ stw r0, 0x34(r1) /* 802E8358 002E3FB8 90 01 00 38 */ stw r0, 0x38(r1) /* 802E835C 002E3FBC 90 01 00 3C */ stw r0, 0x3c(r1) /* 802E8360 002E3FC0 90 01 00 40 */ stw r0, 0x40(r1) /* 802E8364 002E3FC4 90 01 00 44 */ stw r0, 0x44(r1) /* 802E8368 002E3FC8 48 00 11 71 */ bl nandGenerateAbsPath /* 802E836C 002E3FCC 2C 1E 00 00 */ cmpwi r30, 0 /* 802E8370 002E3FD0 40 82 00 1C */ bne lbl_802E838C /* 802E8374 002E3FD4 38 61 00 08 */ addi r3, r1, 8 /* 802E8378 002E3FD8 48 00 0F ED */ bl nandIsPrivatePath /* 802E837C 002E3FDC 2C 03 00 00 */ cmpwi r3, 0 /* 802E8380 002E3FE0 41 82 00 0C */ beq lbl_802E838C /* 802E8384 002E3FE4 38 60 FF 9A */ li r3, -102 /* 802E8388 002E3FE8 48 00 00 68 */ b lbl_802E83F0 lbl_802E838C: /* 802E838C 002E3FEC 2C 1B 00 02 */ cmpwi r27, 2 /* 802E8390 002E3FF0 41 82 00 2C */ beq lbl_802E83BC /* 802E8394 002E3FF4 40 80 00 10 */ bge lbl_802E83A4 /* 802E8398 002E3FF8 2C 1B 00 01 */ cmpwi r27, 1 /* 802E839C 002E3FFC 40 80 00 18 */ bge lbl_802E83B4 /* 802E83A0 002E4000 48 00 00 20 */ b lbl_802E83C0 lbl_802E83A4: /* 802E83A4 002E4004 2C 1B 00 04 */ cmpwi r27, 4 /* 802E83A8 002E4008 40 80 00 18 */ bge lbl_802E83C0 /* 802E83AC 002E400C 3B E0 00 03 */ li r31, 3 /* 802E83B0 002E4010 48 00 00 10 */ b lbl_802E83C0 lbl_802E83B4: /* 802E83B4 002E4014 3B E0 00 01 */ li r31, 1 /* 802E83B8 002E4018 48 00 00 08 */ b lbl_802E83C0 lbl_802E83BC: /* 802E83BC 002E401C 3B E0 00 02 */ li r31, 2 lbl_802E83C0: /* 802E83C0 002E4020 2C 1D 00 00 */ cmpwi r29, 0 /* 802E83C4 002E4024 41 82 00 20 */ beq lbl_802E83E4 /* 802E83C8 002E4028 3C A0 80 2F */ lis r5, nandOpenCallback@ha /* 802E83CC 002E402C 7F E4 FB 78 */ mr r4, r31 /* 802E83D0 002E4030 7F 86 E3 78 */ mr r6, r28 /* 802E83D4 002E4034 38 61 00 08 */ addi r3, r1, 8 /* 802E83D8 002E4038 38 A5 86 10 */ addi r5, r5, nandOpenCallback@l /* 802E83DC 002E403C 4B FB D3 31 */ bl ISFS_OpenAsync /* 802E83E0 002E4040 48 00 00 10 */ b lbl_802E83F0 lbl_802E83E4: /* 802E83E4 002E4044 7F E4 FB 78 */ mr r4, r31 /* 802E83E8 002E4048 38 61 00 08 */ addi r3, r1, 8 /* 802E83EC 002E404C 4B FB D2 59 */ bl ISFS_Open lbl_802E83F0: /* 802E83F0 002E4050 39 61 00 60 */ addi r11, r1, 0x60 /* 802E83F4 002E4054 4B ED ED 81 */ bl _restgpr_27 /* 802E83F8 002E4058 80 01 00 64 */ lwz r0, 0x64(r1) /* 802E83FC 002E405C 7C 08 03 A6 */ mtlr r0 /* 802E8400 002E4060 38 21 00 60 */ addi r1, r1, 0x60 /* 802E8404 002E4064 4E 80 00 20 */ blr .global NANDOpen NANDOpen: /* 802E8408 002E4068 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E840C 002E406C 7C 08 02 A6 */ mflr r0 /* 802E8410 002E4070 90 01 00 24 */ stw r0, 0x24(r1) /* 802E8414 002E4074 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802E8418 002E4078 7C BF 2B 78 */ mr r31, r5 /* 802E841C 002E407C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802E8420 002E4080 7C 9E 23 78 */ mr r30, r4 /* 802E8424 002E4084 93 A1 00 14 */ stw r29, 0x14(r1) /* 802E8428 002E4088 7C 7D 1B 78 */ mr r29, r3 /* 802E842C 002E408C 48 00 0F C5 */ bl nandIsInitialized /* 802E8430 002E4090 2C 03 00 00 */ cmpwi r3, 0 /* 802E8434 002E4094 40 82 00 0C */ bne lbl_802E8440 /* 802E8438 002E4098 38 60 FF 80 */ li r3, -128 /* 802E843C 002E409C 48 00 00 3C */ b lbl_802E8478 lbl_802E8440: /* 802E8440 002E40A0 7F A3 EB 78 */ mr r3, r29 /* 802E8444 002E40A4 7F E4 FB 78 */ mr r4, r31 /* 802E8448 002E40A8 38 A0 00 00 */ li r5, 0 /* 802E844C 002E40AC 38 C0 00 00 */ li r6, 0 /* 802E8450 002E40B0 38 E0 00 00 */ li r7, 0 /* 802E8454 002E40B4 4B FF FE A1 */ bl nandOpen /* 802E8458 002E40B8 2C 03 00 00 */ cmpwi r3, 0 /* 802E845C 002E40BC 41 80 00 18 */ blt lbl_802E8474 /* 802E8460 002E40C0 38 00 00 01 */ li r0, 1 /* 802E8464 002E40C4 90 7E 00 00 */ stw r3, 0(r30) /* 802E8468 002E40C8 38 60 00 00 */ li r3, 0 /* 802E846C 002E40CC 98 1E 00 8A */ stb r0, 0x8a(r30) /* 802E8470 002E40D0 48 00 00 08 */ b lbl_802E8478 lbl_802E8474: /* 802E8474 002E40D4 48 00 0F 95 */ bl nandConvertErrorCode lbl_802E8478: /* 802E8478 002E40D8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E847C 002E40DC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802E8480 002E40E0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802E8484 002E40E4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802E8488 002E40E8 7C 08 03 A6 */ mtlr r0 /* 802E848C 002E40EC 38 21 00 20 */ addi r1, r1, 0x20 /* 802E8490 002E40F0 4E 80 00 20 */ blr .global NANDPrivateOpen NANDPrivateOpen: /* 802E8494 002E40F4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E8498 002E40F8 7C 08 02 A6 */ mflr r0 /* 802E849C 002E40FC 90 01 00 24 */ stw r0, 0x24(r1) /* 802E84A0 002E4100 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802E84A4 002E4104 7C BF 2B 78 */ mr r31, r5 /* 802E84A8 002E4108 93 C1 00 18 */ stw r30, 0x18(r1) /* 802E84AC 002E410C 7C 9E 23 78 */ mr r30, r4 /* 802E84B0 002E4110 93 A1 00 14 */ stw r29, 0x14(r1) /* 802E84B4 002E4114 7C 7D 1B 78 */ mr r29, r3 /* 802E84B8 002E4118 48 00 0F 39 */ bl nandIsInitialized /* 802E84BC 002E411C 2C 03 00 00 */ cmpwi r3, 0 /* 802E84C0 002E4120 40 82 00 0C */ bne lbl_802E84CC /* 802E84C4 002E4124 38 60 FF 80 */ li r3, -128 /* 802E84C8 002E4128 48 00 00 3C */ b lbl_802E8504 lbl_802E84CC: /* 802E84CC 002E412C 7F A3 EB 78 */ mr r3, r29 /* 802E84D0 002E4130 7F E4 FB 78 */ mr r4, r31 /* 802E84D4 002E4134 38 A0 00 00 */ li r5, 0 /* 802E84D8 002E4138 38 C0 00 00 */ li r6, 0 /* 802E84DC 002E413C 38 E0 00 01 */ li r7, 1 /* 802E84E0 002E4140 4B FF FE 15 */ bl nandOpen /* 802E84E4 002E4144 2C 03 00 00 */ cmpwi r3, 0 /* 802E84E8 002E4148 41 80 00 18 */ blt lbl_802E8500 /* 802E84EC 002E414C 38 00 00 01 */ li r0, 1 /* 802E84F0 002E4150 90 7E 00 00 */ stw r3, 0(r30) /* 802E84F4 002E4154 38 60 00 00 */ li r3, 0 /* 802E84F8 002E4158 98 1E 00 8A */ stb r0, 0x8a(r30) /* 802E84FC 002E415C 48 00 00 08 */ b lbl_802E8504 lbl_802E8500: /* 802E8500 002E4160 48 00 0F 09 */ bl nandConvertErrorCode lbl_802E8504: /* 802E8504 002E4164 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E8508 002E4168 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802E850C 002E416C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802E8510 002E4170 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802E8514 002E4174 7C 08 03 A6 */ mtlr r0 /* 802E8518 002E4178 38 21 00 20 */ addi r1, r1, 0x20 /* 802E851C 002E417C 4E 80 00 20 */ blr .global NANDOpenAsync NANDOpenAsync: /* 802E8520 002E4180 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E8524 002E4184 7C 08 02 A6 */ mflr r0 /* 802E8528 002E4188 90 01 00 24 */ stw r0, 0x24(r1) /* 802E852C 002E418C 39 61 00 20 */ addi r11, r1, 0x20 /* 802E8530 002E4190 4B ED EB F9 */ bl _savegpr_27 /* 802E8534 002E4194 7C 7B 1B 78 */ mr r27, r3 /* 802E8538 002E4198 7C 9C 23 78 */ mr r28, r4 /* 802E853C 002E419C 7C BD 2B 78 */ mr r29, r5 /* 802E8540 002E41A0 7C DE 33 78 */ mr r30, r6 /* 802E8544 002E41A4 7C FF 3B 78 */ mr r31, r7 /* 802E8548 002E41A8 48 00 0E A9 */ bl nandIsInitialized /* 802E854C 002E41AC 2C 03 00 00 */ cmpwi r3, 0 /* 802E8550 002E41B0 40 82 00 0C */ bne lbl_802E855C /* 802E8554 002E41B4 38 60 FF 80 */ li r3, -128 /* 802E8558 002E41B8 48 00 00 28 */ b lbl_802E8580 lbl_802E855C: /* 802E855C 002E41BC 93 DF 00 04 */ stw r30, 4(r31) /* 802E8560 002E41C0 7F 63 DB 78 */ mr r3, r27 /* 802E8564 002E41C4 7F A4 EB 78 */ mr r4, r29 /* 802E8568 002E41C8 7F E5 FB 78 */ mr r5, r31 /* 802E856C 002E41CC 93 9F 00 08 */ stw r28, 8(r31) /* 802E8570 002E41D0 38 C0 00 01 */ li r6, 1 /* 802E8574 002E41D4 38 E0 00 00 */ li r7, 0 /* 802E8578 002E41D8 4B FF FD 7D */ bl nandOpen /* 802E857C 002E41DC 48 00 0E 8D */ bl nandConvertErrorCode lbl_802E8580: /* 802E8580 002E41E0 39 61 00 20 */ addi r11, r1, 0x20 /* 802E8584 002E41E4 4B ED EB F1 */ bl _restgpr_27 /* 802E8588 002E41E8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E858C 002E41EC 7C 08 03 A6 */ mtlr r0 /* 802E8590 002E41F0 38 21 00 20 */ addi r1, r1, 0x20 /* 802E8594 002E41F4 4E 80 00 20 */ blr .global NANDPrivateOpenAsync NANDPrivateOpenAsync: /* 802E8598 002E41F8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E859C 002E41FC 7C 08 02 A6 */ mflr r0 /* 802E85A0 002E4200 90 01 00 24 */ stw r0, 0x24(r1) /* 802E85A4 002E4204 39 61 00 20 */ addi r11, r1, 0x20 /* 802E85A8 002E4208 4B ED EB 81 */ bl _savegpr_27 /* 802E85AC 002E420C 7C 7B 1B 78 */ mr r27, r3 /* 802E85B0 002E4210 7C 9C 23 78 */ mr r28, r4 /* 802E85B4 002E4214 7C BD 2B 78 */ mr r29, r5 /* 802E85B8 002E4218 7C DE 33 78 */ mr r30, r6 /* 802E85BC 002E421C 7C FF 3B 78 */ mr r31, r7 /* 802E85C0 002E4220 48 00 0E 31 */ bl nandIsInitialized /* 802E85C4 002E4224 2C 03 00 00 */ cmpwi r3, 0 /* 802E85C8 002E4228 40 82 00 0C */ bne lbl_802E85D4 /* 802E85CC 002E422C 38 60 FF 80 */ li r3, -128 /* 802E85D0 002E4230 48 00 00 28 */ b lbl_802E85F8 lbl_802E85D4: /* 802E85D4 002E4234 93 DF 00 04 */ stw r30, 4(r31) /* 802E85D8 002E4238 7F 63 DB 78 */ mr r3, r27 /* 802E85DC 002E423C 7F A4 EB 78 */ mr r4, r29 /* 802E85E0 002E4240 7F E5 FB 78 */ mr r5, r31 /* 802E85E4 002E4244 93 9F 00 08 */ stw r28, 8(r31) /* 802E85E8 002E4248 38 C0 00 01 */ li r6, 1 /* 802E85EC 002E424C 38 E0 00 01 */ li r7, 1 /* 802E85F0 002E4250 4B FF FD 05 */ bl nandOpen /* 802E85F4 002E4254 48 00 0E 15 */ bl nandConvertErrorCode lbl_802E85F8: /* 802E85F8 002E4258 39 61 00 20 */ addi r11, r1, 0x20 /* 802E85FC 002E425C 4B ED EB 79 */ bl _restgpr_27 /* 802E8600 002E4260 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E8604 002E4264 7C 08 03 A6 */ mtlr r0 /* 802E8608 002E4268 38 21 00 20 */ addi r1, r1, 0x20 /* 802E860C 002E426C 4E 80 00 20 */ blr nandOpenCallback: /* 802E8610 002E4270 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E8614 002E4274 7C 08 02 A6 */ mflr r0 /* 802E8618 002E4278 2C 03 00 00 */ cmpwi r3, 0 /* 802E861C 002E427C 90 01 00 14 */ stw r0, 0x14(r1) /* 802E8620 002E4280 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E8624 002E4284 7C 9F 23 78 */ mr r31, r4 /* 802E8628 002E4288 41 80 00 38 */ blt lbl_802E8660 /* 802E862C 002E428C 80 A4 00 08 */ lwz r5, 8(r4) /* 802E8630 002E4290 38 C0 00 02 */ li r6, 2 /* 802E8634 002E4294 38 00 00 01 */ li r0, 1 /* 802E8638 002E4298 90 65 00 00 */ stw r3, 0(r5) /* 802E863C 002E429C 38 60 00 00 */ li r3, 0 /* 802E8640 002E42A0 80 A4 00 08 */ lwz r5, 8(r4) /* 802E8644 002E42A4 98 C5 00 89 */ stb r6, 0x89(r5) /* 802E8648 002E42A8 80 A4 00 08 */ lwz r5, 8(r4) /* 802E864C 002E42AC 98 05 00 8A */ stb r0, 0x8a(r5) /* 802E8650 002E42B0 81 84 00 04 */ lwz r12, 4(r4) /* 802E8654 002E42B4 7D 89 03 A6 */ mtctr r12 /* 802E8658 002E42B8 4E 80 04 21 */ bctrl /* 802E865C 002E42BC 48 00 00 18 */ b lbl_802E8674 lbl_802E8660: /* 802E8660 002E42C0 48 00 0D A9 */ bl nandConvertErrorCode /* 802E8664 002E42C4 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8668 002E42C8 7F E4 FB 78 */ mr r4, r31 /* 802E866C 002E42CC 7D 89 03 A6 */ mtctr r12 /* 802E8670 002E42D0 4E 80 04 21 */ bctrl lbl_802E8674: /* 802E8674 002E42D4 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E8678 002E42D8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E867C 002E42DC 7C 08 03 A6 */ mtlr r0 /* 802E8680 002E42E0 38 21 00 10 */ addi r1, r1, 0x10 /* 802E8684 002E42E4 4E 80 00 20 */ blr .global NANDClose NANDClose: /* 802E8688 002E42E8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E868C 002E42EC 7C 08 02 A6 */ mflr r0 /* 802E8690 002E42F0 90 01 00 14 */ stw r0, 0x14(r1) /* 802E8694 002E42F4 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E8698 002E42F8 7C 7F 1B 78 */ mr r31, r3 /* 802E869C 002E42FC 48 00 0D 55 */ bl nandIsInitialized /* 802E86A0 002E4300 2C 03 00 00 */ cmpwi r3, 0 /* 802E86A4 002E4304 40 82 00 0C */ bne lbl_802E86B0 /* 802E86A8 002E4308 38 60 FF 80 */ li r3, -128 /* 802E86AC 002E430C 48 00 00 34 */ b lbl_802E86E0 lbl_802E86B0: /* 802E86B0 002E4310 88 1F 00 8A */ lbz r0, 0x8a(r31) /* 802E86B4 002E4314 28 00 00 01 */ cmplwi r0, 1 /* 802E86B8 002E4318 41 82 00 0C */ beq lbl_802E86C4 /* 802E86BC 002E431C 38 60 FF F8 */ li r3, -8 /* 802E86C0 002E4320 48 00 00 20 */ b lbl_802E86E0 lbl_802E86C4: /* 802E86C4 002E4324 80 7F 00 00 */ lwz r3, 0(r31) /* 802E86C8 002E4328 4B FB D3 49 */ bl ISFS_Close /* 802E86CC 002E432C 2C 03 00 00 */ cmpwi r3, 0 /* 802E86D0 002E4330 40 82 00 0C */ bne lbl_802E86DC /* 802E86D4 002E4334 38 00 00 02 */ li r0, 2 /* 802E86D8 002E4338 98 1F 00 8A */ stb r0, 0x8a(r31) lbl_802E86DC: /* 802E86DC 002E433C 48 00 0D 2D */ bl nandConvertErrorCode lbl_802E86E0: /* 802E86E0 002E4340 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E86E4 002E4344 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E86E8 002E4348 7C 08 03 A6 */ mtlr r0 /* 802E86EC 002E434C 38 21 00 10 */ addi r1, r1, 0x10 /* 802E86F0 002E4350 4E 80 00 20 */ blr .global NANDCloseAsync NANDCloseAsync: /* 802E86F4 002E4354 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E86F8 002E4358 7C 08 02 A6 */ mflr r0 /* 802E86FC 002E435C 90 01 00 24 */ stw r0, 0x24(r1) /* 802E8700 002E4360 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802E8704 002E4364 7C BF 2B 78 */ mr r31, r5 /* 802E8708 002E4368 93 C1 00 18 */ stw r30, 0x18(r1) /* 802E870C 002E436C 7C 9E 23 78 */ mr r30, r4 /* 802E8710 002E4370 93 A1 00 14 */ stw r29, 0x14(r1) /* 802E8714 002E4374 7C 7D 1B 78 */ mr r29, r3 /* 802E8718 002E4378 48 00 0C D9 */ bl nandIsInitialized /* 802E871C 002E437C 2C 03 00 00 */ cmpwi r3, 0 /* 802E8720 002E4380 40 82 00 0C */ bne lbl_802E872C /* 802E8724 002E4384 38 60 FF 80 */ li r3, -128 /* 802E8728 002E4388 48 00 00 38 */ b lbl_802E8760 lbl_802E872C: /* 802E872C 002E438C 88 1D 00 8A */ lbz r0, 0x8a(r29) /* 802E8730 002E4390 28 00 00 01 */ cmplwi r0, 1 /* 802E8734 002E4394 41 82 00 0C */ beq lbl_802E8740 /* 802E8738 002E4398 38 60 FF F8 */ li r3, -8 /* 802E873C 002E439C 48 00 00 24 */ b lbl_802E8760 lbl_802E8740: /* 802E8740 002E43A0 93 DF 00 04 */ stw r30, 4(r31) /* 802E8744 002E43A4 3C 80 80 2F */ lis r4, nandCloseCallback@ha /* 802E8748 002E43A8 7F E5 FB 78 */ mr r5, r31 /* 802E874C 002E43AC 93 BF 00 08 */ stw r29, 8(r31) /* 802E8750 002E43B0 38 84 8F 8C */ addi r4, r4, nandCloseCallback@l /* 802E8754 002E43B4 80 7D 00 00 */ lwz r3, 0(r29) /* 802E8758 002E43B8 4B FB D2 BD */ bl ISFS_CloseAsync /* 802E875C 002E43BC 48 00 0C AD */ bl nandConvertErrorCode lbl_802E8760: /* 802E8760 002E43C0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E8764 002E43C4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802E8768 002E43C8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802E876C 002E43CC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802E8770 002E43D0 7C 08 03 A6 */ mtlr r0 /* 802E8774 002E43D4 38 21 00 20 */ addi r1, r1, 0x20 /* 802E8778 002E43D8 4E 80 00 20 */ blr .global nandSafeOpenAsync nandSafeOpenAsync: /* 802E877C 002E43DC 39 40 00 00 */ li r10, 0 /* 802E8780 002E43E0 48 00 00 04 */ b lbl_802E8784 lbl_802E8784: /* 802E8784 002E43E4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802E8788 002E43E8 7C 08 02 A6 */ mflr r0 /* 802E878C 002E43EC 90 01 00 34 */ stw r0, 0x34(r1) /* 802E8790 002E43F0 39 61 00 30 */ addi r11, r1, 0x30 /* 802E8794 002E43F4 4B ED E9 89 */ bl _savegpr_24 /* 802E8798 002E43F8 7C 78 1B 78 */ mr r24, r3 /* 802E879C 002E43FC 7C 99 23 78 */ mr r25, r4 /* 802E87A0 002E4400 7C BA 2B 78 */ mr r26, r5 /* 802E87A4 002E4404 7C DB 33 78 */ mr r27, r6 /* 802E87A8 002E4408 7C FC 3B 78 */ mr r28, r7 /* 802E87AC 002E440C 7D 1D 43 78 */ mr r29, r8 /* 802E87B0 002E4410 7D 3E 4B 78 */ mr r30, r9 /* 802E87B4 002E4414 7D 5F 53 78 */ mr r31, r10 /* 802E87B8 002E4418 48 00 0C 39 */ bl nandIsInitialized /* 802E87BC 002E441C 2C 03 00 00 */ cmpwi r3, 0 /* 802E87C0 002E4420 40 82 00 0C */ bne lbl_802E87CC /* 802E87C4 002E4424 38 60 FF 80 */ li r3, -128 /* 802E87C8 002E4428 48 00 00 EC */ b lbl_802E88B4 lbl_802E87CC: /* 802E87CC 002E442C 38 00 00 00 */ li r0, 0 /* 802E87D0 002E4430 9B 59 00 88 */ stb r26, 0x88(r25) /* 802E87D4 002E4434 7F 04 C3 78 */ mr r4, r24 /* 802E87D8 002E4438 38 79 00 08 */ addi r3, r25, 8 /* 802E87DC 002E443C 98 19 00 89 */ stb r0, 0x89(r25) /* 802E87E0 002E4440 48 00 0C F9 */ bl nandGenerateAbsPath /* 802E87E4 002E4444 2C 1F 00 00 */ cmpwi r31, 0 /* 802E87E8 002E4448 40 82 00 1C */ bne lbl_802E8804 /* 802E87EC 002E444C 38 79 00 08 */ addi r3, r25, 8 /* 802E87F0 002E4450 48 00 0B 75 */ bl nandIsPrivatePath /* 802E87F4 002E4454 2C 03 00 00 */ cmpwi r3, 0 /* 802E87F8 002E4458 41 82 00 0C */ beq lbl_802E8804 /* 802E87FC 002E445C 38 60 FF FF */ li r3, -1 /* 802E8800 002E4460 48 00 00 B4 */ b lbl_802E88B4 lbl_802E8804: /* 802E8804 002E4464 28 1A 00 01 */ cmplwi r26, 1 /* 802E8808 002E4468 40 82 00 3C */ bne lbl_802E8844 /* 802E880C 002E446C 3C A0 80 2F */ lis r5, nandReadOpenCallback@ha /* 802E8810 002E4470 93 3E 00 08 */ stw r25, 8(r30) /* 802E8814 002E4474 7F C6 F3 78 */ mr r6, r30 /* 802E8818 002E4478 38 79 00 08 */ addi r3, r25, 8 /* 802E881C 002E447C 93 BE 00 04 */ stw r29, 4(r30) /* 802E8820 002E4480 38 A5 8C 60 */ addi r5, r5, nandReadOpenCallback@l /* 802E8824 002E4484 38 80 00 01 */ li r4, 1 /* 802E8828 002E4488 4B FB CE E5 */ bl ISFS_OpenAsync /* 802E882C 002E448C 2C 03 00 00 */ cmpwi r3, 0 /* 802E8830 002E4490 40 82 00 0C */ bne lbl_802E883C /* 802E8834 002E4494 38 60 00 00 */ li r3, 0 /* 802E8838 002E4498 48 00 00 7C */ b lbl_802E88B4 lbl_802E883C: /* 802E883C 002E449C 48 00 0B CD */ bl nandConvertErrorCode /* 802E8840 002E44A0 48 00 00 74 */ b lbl_802E88B4 lbl_802E8844: /* 802E8844 002E44A4 38 1A 00 FE */ addi r0, r26, 0xfe /* 802E8848 002E44A8 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 802E884C 002E44AC 28 00 00 01 */ cmplwi r0, 1 /* 802E8850 002E44B0 41 81 00 60 */ bgt lbl_802E88B0 /* 802E8854 002E44B4 3B E0 00 00 */ li r31, 0 /* 802E8858 002E44B8 3C 60 80 44 */ lis r3, lbl_80445640@ha /* 802E885C 002E44BC 3D 00 80 2F */ lis r8, nandSafeOpenCallback@ha /* 802E8860 002E44C0 93 3E 00 08 */ stw r25, 8(r30) /* 802E8864 002E44C4 7F C9 F3 78 */ mr r9, r30 /* 802E8868 002E44C8 38 63 56 40 */ addi r3, r3, lbl_80445640@l /* 802E886C 002E44CC 93 BE 00 04 */ stw r29, 4(r30) /* 802E8870 002E44D0 39 08 88 CC */ addi r8, r8, nandSafeOpenCallback@l /* 802E8874 002E44D4 38 80 00 00 */ li r4, 0 /* 802E8878 002E44D8 38 A0 00 03 */ li r5, 3 /* 802E887C 002E44DC 93 FE 00 7C */ stw r31, 0x7c(r30) /* 802E8880 002E44E0 38 C0 00 03 */ li r6, 3 /* 802E8884 002E44E4 38 E0 00 03 */ li r7, 3 /* 802E8888 002E44E8 93 7E 00 80 */ stw r27, 0x80(r30) /* 802E888C 002E44EC 93 9E 00 84 */ stw r28, 0x84(r30) /* 802E8890 002E44F0 4B FB C1 E1 */ bl ISFS_CreateDirAsync /* 802E8894 002E44F4 2C 03 00 00 */ cmpwi r3, 0 /* 802E8898 002E44F8 40 82 00 08 */ bne lbl_802E88A0 /* 802E889C 002E44FC 48 00 00 0C */ b lbl_802E88A8 lbl_802E88A0: /* 802E88A0 002E4500 48 00 0B 69 */ bl nandConvertErrorCode /* 802E88A4 002E4504 7C 7F 1B 78 */ mr r31, r3 lbl_802E88A8: /* 802E88A8 002E4508 7F E3 FB 78 */ mr r3, r31 /* 802E88AC 002E450C 48 00 00 08 */ b lbl_802E88B4 lbl_802E88B0: /* 802E88B0 002E4510 38 60 FF F8 */ li r3, -8 lbl_802E88B4: /* 802E88B4 002E4514 39 61 00 30 */ addi r11, r1, 0x30 /* 802E88B8 002E4518 4B ED E8 B1 */ bl _restgpr_24 /* 802E88BC 002E451C 80 01 00 34 */ lwz r0, 0x34(r1) /* 802E88C0 002E4520 7C 08 03 A6 */ mtlr r0 /* 802E88C4 002E4524 38 21 00 30 */ addi r1, r1, 0x30 /* 802E88C8 002E4528 4E 80 00 20 */ blr nandSafeOpenCallback: /* 802E88CC 002E452C 94 21 FF 90 */ stwu r1, -0x70(r1) /* 802E88D0 002E4530 7C 08 02 A6 */ mflr r0 /* 802E88D4 002E4534 2C 03 00 00 */ cmpwi r3, 0 /* 802E88D8 002E4538 90 01 00 74 */ stw r0, 0x74(r1) /* 802E88DC 002E453C 93 E1 00 6C */ stw r31, 0x6c(r1) /* 802E88E0 002E4540 7C 9F 23 78 */ mr r31, r4 /* 802E88E4 002E4544 93 C1 00 68 */ stw r30, 0x68(r1) /* 802E88E8 002E4548 93 A1 00 64 */ stw r29, 0x64(r1) /* 802E88EC 002E454C 93 81 00 60 */ stw r28, 0x60(r1) /* 802E88F0 002E4550 7C 7C 1B 78 */ mr r28, r3 /* 802E88F4 002E4554 40 80 00 18 */ bge lbl_802E890C /* 802E88F8 002E4558 2C 03 FF 97 */ cmpwi r3, -105 /* 802E88FC 002E455C 40 82 03 2C */ bne lbl_802E8C28 /* 802E8900 002E4560 80 04 00 7C */ lwz r0, 0x7c(r4) /* 802E8904 002E4564 2C 00 00 00 */ cmpwi r0, 0 /* 802E8908 002E4568 40 82 03 20 */ bne lbl_802E8C28 lbl_802E890C: /* 802E890C 002E456C 80 04 00 7C */ lwz r0, 0x7c(r4) /* 802E8910 002E4570 38 C0 FF 8B */ li r6, -117 /* 802E8914 002E4574 83 A4 00 08 */ lwz r29, 8(r4) /* 802E8918 002E4578 2C 00 00 00 */ cmpwi r0, 0 /* 802E891C 002E457C 40 82 00 0C */ bne lbl_802E8928 /* 802E8920 002E4580 38 00 00 01 */ li r0, 1 /* 802E8924 002E4584 98 1D 00 89 */ stb r0, 0x89(r29) lbl_802E8928: /* 802E8928 002E4588 80 A4 00 7C */ lwz r5, 0x7c(r4) /* 802E892C 002E458C 38 05 00 01 */ addi r0, r5, 1 /* 802E8930 002E4590 2C 00 00 01 */ cmpwi r0, 1 /* 802E8934 002E4594 90 04 00 7C */ stw r0, 0x7c(r4) /* 802E8938 002E4598 40 82 00 38 */ bne lbl_802E8970 /* 802E893C 002E459C 3D 40 80 2F */ lis r10, nandSafeOpenCallback@ha /* 802E8940 002E45A0 90 81 00 08 */ stw r4, 8(r1) /* 802E8944 002E45A4 38 7D 00 08 */ addi r3, r29, 8 /* 802E8948 002E45A8 38 A4 00 1C */ addi r5, r4, 0x1c /* 802E894C 002E45AC 38 C4 00 20 */ addi r6, r4, 0x20 /* 802E8950 002E45B0 38 E4 00 24 */ addi r7, r4, 0x24 /* 802E8954 002E45B4 39 04 00 28 */ addi r8, r4, 0x28 /* 802E8958 002E45B8 39 24 00 2C */ addi r9, r4, 0x2c /* 802E895C 002E45BC 39 4A 88 CC */ addi r10, r10, nandSafeOpenCallback@l /* 802E8960 002E45C0 38 84 00 18 */ addi r4, r4, 0x18 /* 802E8964 002E45C4 4B FB C5 F5 */ bl ISFS_GetAttrAsync /* 802E8968 002E45C8 7C 66 1B 78 */ mr r6, r3 /* 802E896C 002E45CC 48 00 02 98 */ b lbl_802E8C04 lbl_802E8970: /* 802E8970 002E45D0 2C 00 00 02 */ cmpwi r0, 2 /* 802E8974 002E45D4 40 82 00 24 */ bne lbl_802E8998 /* 802E8978 002E45D8 3C A0 80 2F */ lis r5, nandSafeOpenCallback@ha /* 802E897C 002E45DC 7F E6 FB 78 */ mr r6, r31 /* 802E8980 002E45E0 38 7D 00 08 */ addi r3, r29, 8 /* 802E8984 002E45E4 38 80 00 01 */ li r4, 1 /* 802E8988 002E45E8 38 A5 88 CC */ addi r5, r5, nandSafeOpenCallback@l /* 802E898C 002E45EC 4B FB CD 81 */ bl ISFS_OpenAsync /* 802E8990 002E45F0 7C 66 1B 78 */ mr r6, r3 /* 802E8994 002E45F4 48 00 02 70 */ b lbl_802E8C04 lbl_802E8998: /* 802E8998 002E45F8 2C 00 00 03 */ cmpwi r0, 3 /* 802E899C 002E45FC 40 82 00 70 */ bne lbl_802E8A0C /* 802E89A0 002E4600 38 00 00 02 */ li r0, 2 /* 802E89A4 002E4604 98 1D 00 89 */ stb r0, 0x89(r29) /* 802E89A8 002E4608 4B F8 5D B5 */ bl OSDisableInterrupts /* 802E89AC 002E460C 83 CD AF 00 */ lwz r30, lbl_806401C0-_SDA_BASE_(r13) /* 802E89B0 002E4610 38 1E 00 01 */ addi r0, r30, 1 /* 802E89B4 002E4614 90 0D AF 00 */ stw r0, lbl_806401C0-_SDA_BASE_(r13) /* 802E89B8 002E4618 4B F8 5D CD */ bl OSRestoreInterrupts /* 802E89BC 002E461C 93 DF 00 8C */ stw r30, 0x8c(r31) /* 802E89C0 002E4620 3C A0 80 44 */ lis r5, lbl_80445640@ha /* 802E89C4 002E4624 38 61 00 20 */ addi r3, r1, 0x20 /* 802E89C8 002E4628 38 8D 8A 78 */ addi r4, r13, lbl_8063DD38-_SDA_BASE_ /* 802E89CC 002E462C 93 9D 00 04 */ stw r28, 4(r29) /* 802E89D0 002E4630 38 A5 56 40 */ addi r5, r5, lbl_80445640@l /* 802E89D4 002E4634 80 DF 00 8C */ lwz r6, 0x8c(r31) /* 802E89D8 002E4638 4C C6 31 82 */ crclr 6 /* 802E89DC 002E463C 4B EE 41 21 */ bl sprintf /* 802E89E0 002E4640 3D 00 80 2F */ lis r8, nandSafeOpenCallback@ha /* 802E89E4 002E4644 7F E9 FB 78 */ mr r9, r31 /* 802E89E8 002E4648 38 61 00 20 */ addi r3, r1, 0x20 /* 802E89EC 002E464C 38 80 00 00 */ li r4, 0 /* 802E89F0 002E4650 39 08 88 CC */ addi r8, r8, nandSafeOpenCallback@l /* 802E89F4 002E4654 38 A0 00 03 */ li r5, 3 /* 802E89F8 002E4658 38 C0 00 00 */ li r6, 0 /* 802E89FC 002E465C 38 E0 00 00 */ li r7, 0 /* 802E8A00 002E4660 4B FB C0 71 */ bl ISFS_CreateDirAsync /* 802E8A04 002E4664 7C 66 1B 78 */ mr r6, r3 /* 802E8A08 002E4668 48 00 01 FC */ b lbl_802E8C04 lbl_802E8A0C: /* 802E8A0C 002E466C 2C 00 00 04 */ cmpwi r0, 4 /* 802E8A10 002E4670 40 82 00 68 */ bne lbl_802E8A78 /* 802E8A14 002E4674 38 00 00 03 */ li r0, 3 /* 802E8A18 002E4678 38 61 00 10 */ addi r3, r1, 0x10 /* 802E8A1C 002E467C 98 1D 00 89 */ stb r0, 0x89(r29) /* 802E8A20 002E4680 38 9D 00 08 */ addi r4, r29, 8 /* 802E8A24 002E4684 48 00 07 6D */ bl nandGetRelativeName /* 802E8A28 002E4688 3C 80 80 44 */ lis r4, lbl_8044564C@ha /* 802E8A2C 002E468C 3C A0 80 44 */ lis r5, lbl_80445640@ha /* 802E8A30 002E4690 80 DF 00 8C */ lwz r6, 0x8c(r31) /* 802E8A34 002E4694 38 7D 00 48 */ addi r3, r29, 0x48 /* 802E8A38 002E4698 38 84 56 4C */ addi r4, r4, lbl_8044564C@l /* 802E8A3C 002E469C 38 A5 56 40 */ addi r5, r5, lbl_80445640@l /* 802E8A40 002E46A0 38 E1 00 10 */ addi r7, r1, 0x10 /* 802E8A44 002E46A4 4C C6 31 82 */ crclr 6 /* 802E8A48 002E46A8 4B EE 40 B5 */ bl sprintf /* 802E8A4C 002E46AC 3D 00 80 2F */ lis r8, nandSafeOpenCallback@ha /* 802E8A50 002E46B0 80 9F 00 20 */ lwz r4, 0x20(r31) /* 802E8A54 002E46B4 80 BF 00 24 */ lwz r5, 0x24(r31) /* 802E8A58 002E46B8 7F E9 FB 78 */ mr r9, r31 /* 802E8A5C 002E46BC 80 DF 00 28 */ lwz r6, 0x28(r31) /* 802E8A60 002E46C0 38 7D 00 48 */ addi r3, r29, 0x48 /* 802E8A64 002E46C4 80 FF 00 2C */ lwz r7, 0x2c(r31) /* 802E8A68 002E46C8 39 08 88 CC */ addi r8, r8, nandSafeOpenCallback@l /* 802E8A6C 002E46CC 4B FB CA E5 */ bl ISFS_CreateFileAsync /* 802E8A70 002E46D0 7C 66 1B 78 */ mr r6, r3 /* 802E8A74 002E46D4 48 00 01 90 */ b lbl_802E8C04 lbl_802E8A78: /* 802E8A78 002E46D8 2C 00 00 05 */ cmpwi r0, 5 /* 802E8A7C 002E46DC 40 82 00 68 */ bne lbl_802E8AE4 /* 802E8A80 002E46E0 38 00 00 04 */ li r0, 4 /* 802E8A84 002E46E4 98 1D 00 89 */ stb r0, 0x89(r29) /* 802E8A88 002E46E8 88 1D 00 88 */ lbz r0, 0x88(r29) /* 802E8A8C 002E46EC 28 00 00 02 */ cmplwi r0, 2 /* 802E8A90 002E46F0 40 82 00 24 */ bne lbl_802E8AB4 /* 802E8A94 002E46F4 3C A0 80 2F */ lis r5, nandSafeOpenCallback@ha /* 802E8A98 002E46F8 7F E6 FB 78 */ mr r6, r31 /* 802E8A9C 002E46FC 38 7D 00 48 */ addi r3, r29, 0x48 /* 802E8AA0 002E4700 38 80 00 02 */ li r4, 2 /* 802E8AA4 002E4704 38 A5 88 CC */ addi r5, r5, nandSafeOpenCallback@l /* 802E8AA8 002E4708 4B FB CC 65 */ bl ISFS_OpenAsync /* 802E8AAC 002E470C 7C 66 1B 78 */ mr r6, r3 /* 802E8AB0 002E4710 48 00 01 54 */ b lbl_802E8C04 lbl_802E8AB4: /* 802E8AB4 002E4714 28 00 00 03 */ cmplwi r0, 3 /* 802E8AB8 002E4718 40 82 00 24 */ bne lbl_802E8ADC /* 802E8ABC 002E471C 3C A0 80 2F */ lis r5, nandSafeOpenCallback@ha /* 802E8AC0 002E4720 7F E6 FB 78 */ mr r6, r31 /* 802E8AC4 002E4724 38 7D 00 48 */ addi r3, r29, 0x48 /* 802E8AC8 002E4728 38 80 00 03 */ li r4, 3 /* 802E8ACC 002E472C 38 A5 88 CC */ addi r5, r5, nandSafeOpenCallback@l /* 802E8AD0 002E4730 4B FB CC 3D */ bl ISFS_OpenAsync /* 802E8AD4 002E4734 7C 66 1B 78 */ mr r6, r3 /* 802E8AD8 002E4738 48 00 01 2C */ b lbl_802E8C04 lbl_802E8ADC: /* 802E8ADC 002E473C 38 C0 FF 8B */ li r6, -117 /* 802E8AE0 002E4740 48 00 01 24 */ b lbl_802E8C04 lbl_802E8AE4: /* 802E8AE4 002E4744 2C 00 00 06 */ cmpwi r0, 6 /* 802E8AE8 002E4748 40 82 00 3C */ bne lbl_802E8B24 /* 802E8AEC 002E474C 90 7D 00 00 */ stw r3, 0(r29) /* 802E8AF0 002E4750 38 60 00 05 */ li r3, 5 /* 802E8AF4 002E4754 3C C0 80 2F */ lis r6, nandSafeOpenCallback@ha /* 802E8AF8 002E4758 38 00 00 07 */ li r0, 7 /* 802E8AFC 002E475C 98 7D 00 89 */ stb r3, 0x89(r29) /* 802E8B00 002E4760 7F E7 FB 78 */ mr r7, r31 /* 802E8B04 002E4764 38 C6 88 CC */ addi r6, r6, nandSafeOpenCallback@l /* 802E8B08 002E4768 90 04 00 7C */ stw r0, 0x7c(r4) /* 802E8B0C 002E476C 80 84 00 80 */ lwz r4, 0x80(r4) /* 802E8B10 002E4770 80 7D 00 04 */ lwz r3, 4(r29) /* 802E8B14 002E4774 80 BF 00 84 */ lwz r5, 0x84(r31) /* 802E8B18 002E4778 4B FB CD 91 */ bl ISFS_ReadAsync /* 802E8B1C 002E477C 7C 66 1B 78 */ mr r6, r3 /* 802E8B20 002E4780 48 00 00 E4 */ b lbl_802E8C04 lbl_802E8B24: /* 802E8B24 002E4784 2C 00 00 07 */ cmpwi r0, 7 /* 802E8B28 002E4788 40 82 00 28 */ bne lbl_802E8B50 /* 802E8B2C 002E478C 3C C0 80 2F */ lis r6, nandSafeOpenCallback@ha /* 802E8B30 002E4790 80 7D 00 04 */ lwz r3, 4(r29) /* 802E8B34 002E4794 80 84 00 80 */ lwz r4, 0x80(r4) /* 802E8B38 002E4798 7F E7 FB 78 */ mr r7, r31 /* 802E8B3C 002E479C 80 BF 00 84 */ lwz r5, 0x84(r31) /* 802E8B40 002E47A0 38 C6 88 CC */ addi r6, r6, nandSafeOpenCallback@l /* 802E8B44 002E47A4 4B FB CD 65 */ bl ISFS_ReadAsync /* 802E8B48 002E47A8 7C 66 1B 78 */ mr r6, r3 /* 802E8B4C 002E47AC 48 00 00 B8 */ b lbl_802E8C04 lbl_802E8B50: /* 802E8B50 002E47B0 2C 00 00 08 */ cmpwi r0, 8 /* 802E8B54 002E47B4 40 82 00 60 */ bne lbl_802E8BB4 /* 802E8B58 002E47B8 2C 03 00 00 */ cmpwi r3, 0 /* 802E8B5C 002E47BC 40 81 00 30 */ ble lbl_802E8B8C /* 802E8B60 002E47C0 38 00 00 06 */ li r0, 6 /* 802E8B64 002E47C4 3C C0 80 2F */ lis r6, nandSafeOpenCallback@ha /* 802E8B68 002E47C8 90 04 00 7C */ stw r0, 0x7c(r4) /* 802E8B6C 002E47CC 7F 85 E3 78 */ mr r5, r28 /* 802E8B70 002E47D0 80 84 00 80 */ lwz r4, 0x80(r4) /* 802E8B74 002E47D4 7F E7 FB 78 */ mr r7, r31 /* 802E8B78 002E47D8 80 7D 00 00 */ lwz r3, 0(r29) /* 802E8B7C 002E47DC 38 C6 88 CC */ addi r6, r6, nandSafeOpenCallback@l /* 802E8B80 002E47E0 4B FB CD ED */ bl ISFS_WriteAsync /* 802E8B84 002E47E4 7C 66 1B 78 */ mr r6, r3 /* 802E8B88 002E47E8 48 00 00 7C */ b lbl_802E8C04 lbl_802E8B8C: /* 802E8B8C 002E47EC 40 82 00 78 */ bne lbl_802E8C04 /* 802E8B90 002E47F0 3C C0 80 2F */ lis r6, nandSafeOpenCallback@ha /* 802E8B94 002E47F4 80 7D 00 00 */ lwz r3, 0(r29) /* 802E8B98 002E47F8 7F E7 FB 78 */ mr r7, r31 /* 802E8B9C 002E47FC 38 80 00 00 */ li r4, 0 /* 802E8BA0 002E4800 38 C6 88 CC */ addi r6, r6, nandSafeOpenCallback@l /* 802E8BA4 002E4804 38 A0 00 00 */ li r5, 0 /* 802E8BA8 002E4808 4B FB CC 55 */ bl ISFS_SeekAsync /* 802E8BAC 002E480C 7C 66 1B 78 */ mr r6, r3 /* 802E8BB0 002E4810 48 00 00 54 */ b lbl_802E8C04 lbl_802E8BB4: /* 802E8BB4 002E4814 2C 00 00 09 */ cmpwi r0, 9 /* 802E8BB8 002E4818 40 82 00 4C */ bne lbl_802E8C04 /* 802E8BBC 002E481C 2C 03 00 00 */ cmpwi r3, 0 /* 802E8BC0 002E4820 40 82 00 28 */ bne lbl_802E8BE8 /* 802E8BC4 002E4824 38 00 00 03 */ li r0, 3 /* 802E8BC8 002E4828 38 60 00 00 */ li r3, 0 /* 802E8BCC 002E482C 98 1D 00 8A */ stb r0, 0x8a(r29) /* 802E8BD0 002E4830 48 00 08 39 */ bl nandConvertErrorCode /* 802E8BD4 002E4834 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8BD8 002E4838 7F E4 FB 78 */ mr r4, r31 /* 802E8BDC 002E483C 7D 89 03 A6 */ mtctr r12 /* 802E8BE0 002E4840 4E 80 04 21 */ bctrl /* 802E8BE4 002E4844 48 00 00 5C */ b lbl_802E8C40 lbl_802E8BE8: /* 802E8BE8 002E4848 7F 83 E3 78 */ mr r3, r28 /* 802E8BEC 002E484C 48 00 08 1D */ bl nandConvertErrorCode /* 802E8BF0 002E4850 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8BF4 002E4854 7F E4 FB 78 */ mr r4, r31 /* 802E8BF8 002E4858 7D 89 03 A6 */ mtctr r12 /* 802E8BFC 002E485C 4E 80 04 21 */ bctrl /* 802E8C00 002E4860 48 00 00 40 */ b lbl_802E8C40 lbl_802E8C04: /* 802E8C04 002E4864 2C 06 00 00 */ cmpwi r6, 0 /* 802E8C08 002E4868 41 82 00 38 */ beq lbl_802E8C40 /* 802E8C0C 002E486C 7C C3 33 78 */ mr r3, r6 /* 802E8C10 002E4870 48 00 07 F9 */ bl nandConvertErrorCode /* 802E8C14 002E4874 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8C18 002E4878 7F E4 FB 78 */ mr r4, r31 /* 802E8C1C 002E487C 7D 89 03 A6 */ mtctr r12 /* 802E8C20 002E4880 4E 80 04 21 */ bctrl /* 802E8C24 002E4884 48 00 00 1C */ b lbl_802E8C40 lbl_802E8C28: /* 802E8C28 002E4888 7F 83 E3 78 */ mr r3, r28 /* 802E8C2C 002E488C 48 00 07 DD */ bl nandConvertErrorCode /* 802E8C30 002E4890 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8C34 002E4894 7F E4 FB 78 */ mr r4, r31 /* 802E8C38 002E4898 7D 89 03 A6 */ mtctr r12 /* 802E8C3C 002E489C 4E 80 04 21 */ bctrl lbl_802E8C40: /* 802E8C40 002E48A0 80 01 00 74 */ lwz r0, 0x74(r1) /* 802E8C44 002E48A4 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 802E8C48 002E48A8 83 C1 00 68 */ lwz r30, 0x68(r1) /* 802E8C4C 002E48AC 83 A1 00 64 */ lwz r29, 0x64(r1) /* 802E8C50 002E48B0 83 81 00 60 */ lwz r28, 0x60(r1) /* 802E8C54 002E48B4 7C 08 03 A6 */ mtlr r0 /* 802E8C58 002E48B8 38 21 00 70 */ addi r1, r1, 0x70 /* 802E8C5C 002E48BC 4E 80 00 20 */ blr nandReadOpenCallback: /* 802E8C60 002E48C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E8C64 002E48C4 7C 08 02 A6 */ mflr r0 /* 802E8C68 002E48C8 2C 03 00 00 */ cmpwi r3, 0 /* 802E8C6C 002E48CC 90 01 00 14 */ stw r0, 0x14(r1) /* 802E8C70 002E48D0 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E8C74 002E48D4 7C 9F 23 78 */ mr r31, r4 /* 802E8C78 002E48D8 41 80 00 38 */ blt lbl_802E8CB0 /* 802E8C7C 002E48DC 80 A4 00 08 */ lwz r5, 8(r4) /* 802E8C80 002E48E0 38 C0 00 02 */ li r6, 2 /* 802E8C84 002E48E4 38 00 00 03 */ li r0, 3 /* 802E8C88 002E48E8 90 65 00 00 */ stw r3, 0(r5) /* 802E8C8C 002E48EC 38 60 00 00 */ li r3, 0 /* 802E8C90 002E48F0 80 A4 00 08 */ lwz r5, 8(r4) /* 802E8C94 002E48F4 98 C5 00 89 */ stb r6, 0x89(r5) /* 802E8C98 002E48F8 80 A4 00 08 */ lwz r5, 8(r4) /* 802E8C9C 002E48FC 98 05 00 8A */ stb r0, 0x8a(r5) /* 802E8CA0 002E4900 81 84 00 04 */ lwz r12, 4(r4) /* 802E8CA4 002E4904 7D 89 03 A6 */ mtctr r12 /* 802E8CA8 002E4908 4E 80 04 21 */ bctrl /* 802E8CAC 002E490C 48 00 00 18 */ b lbl_802E8CC4 lbl_802E8CB0: /* 802E8CB0 002E4910 48 00 07 59 */ bl nandConvertErrorCode /* 802E8CB4 002E4914 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8CB8 002E4918 7F E4 FB 78 */ mr r4, r31 /* 802E8CBC 002E491C 7D 89 03 A6 */ mtctr r12 /* 802E8CC0 002E4920 4E 80 04 21 */ bctrl lbl_802E8CC4: /* 802E8CC4 002E4924 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E8CC8 002E4928 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E8CCC 002E492C 7C 08 03 A6 */ mtlr r0 /* 802E8CD0 002E4930 38 21 00 10 */ addi r1, r1, 0x10 /* 802E8CD4 002E4934 4E 80 00 20 */ blr .global NANDSafeCloseAsync NANDSafeCloseAsync: /* 802E8CD8 002E4938 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802E8CDC 002E493C 7C 08 02 A6 */ mflr r0 /* 802E8CE0 002E4940 90 01 00 24 */ stw r0, 0x24(r1) /* 802E8CE4 002E4944 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802E8CE8 002E4948 7C BF 2B 78 */ mr r31, r5 /* 802E8CEC 002E494C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802E8CF0 002E4950 7C 9E 23 78 */ mr r30, r4 /* 802E8CF4 002E4954 93 A1 00 14 */ stw r29, 0x14(r1) /* 802E8CF8 002E4958 7C 7D 1B 78 */ mr r29, r3 /* 802E8CFC 002E495C 48 00 06 F5 */ bl nandIsInitialized /* 802E8D00 002E4960 2C 03 00 00 */ cmpwi r3, 0 /* 802E8D04 002E4964 40 82 00 0C */ bne lbl_802E8D10 /* 802E8D08 002E4968 38 60 FF 80 */ li r3, -128 /* 802E8D0C 002E496C 48 00 00 84 */ b lbl_802E8D90 lbl_802E8D10: /* 802E8D10 002E4970 88 1D 00 8A */ lbz r0, 0x8a(r29) /* 802E8D14 002E4974 28 00 00 03 */ cmplwi r0, 3 /* 802E8D18 002E4978 41 82 00 0C */ beq lbl_802E8D24 /* 802E8D1C 002E497C 38 60 FF F8 */ li r3, -8 /* 802E8D20 002E4980 48 00 00 70 */ b lbl_802E8D90 lbl_802E8D24: /* 802E8D24 002E4984 88 7D 00 88 */ lbz r3, 0x88(r29) /* 802E8D28 002E4988 28 03 00 01 */ cmplwi r3, 1 /* 802E8D2C 002E498C 40 82 00 24 */ bne lbl_802E8D50 /* 802E8D30 002E4990 93 BF 00 08 */ stw r29, 8(r31) /* 802E8D34 002E4994 3C 80 80 2F */ lis r4, nandReadCloseCallback@ha /* 802E8D38 002E4998 7F E5 FB 78 */ mr r5, r31 /* 802E8D3C 002E499C 93 DF 00 04 */ stw r30, 4(r31) /* 802E8D40 002E49A0 38 84 8F 30 */ addi r4, r4, nandReadCloseCallback@l /* 802E8D44 002E49A4 80 7D 00 00 */ lwz r3, 0(r29) /* 802E8D48 002E49A8 4B FB CC CD */ bl ISFS_CloseAsync /* 802E8D4C 002E49AC 48 00 00 40 */ b lbl_802E8D8C lbl_802E8D50: /* 802E8D50 002E49B0 38 03 00 FE */ addi r0, r3, 0xfe /* 802E8D54 002E49B4 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 802E8D58 002E49B8 28 00 00 01 */ cmplwi r0, 1 /* 802E8D5C 002E49BC 41 81 00 2C */ bgt lbl_802E8D88 /* 802E8D60 002E49C0 38 00 00 0A */ li r0, 0xa /* 802E8D64 002E49C4 3C 80 80 2F */ lis r4, nandSafeCloseCallback@ha /* 802E8D68 002E49C8 93 BF 00 08 */ stw r29, 8(r31) /* 802E8D6C 002E49CC 7F E5 FB 78 */ mr r5, r31 /* 802E8D70 002E49D0 38 84 8D AC */ addi r4, r4, nandSafeCloseCallback@l /* 802E8D74 002E49D4 93 DF 00 04 */ stw r30, 4(r31) /* 802E8D78 002E49D8 90 1F 00 7C */ stw r0, 0x7c(r31) /* 802E8D7C 002E49DC 80 7D 00 00 */ lwz r3, 0(r29) /* 802E8D80 002E49E0 4B FB CC 95 */ bl ISFS_CloseAsync /* 802E8D84 002E49E4 48 00 00 08 */ b lbl_802E8D8C lbl_802E8D88: /* 802E8D88 002E49E8 38 60 FF 9B */ li r3, -101 lbl_802E8D8C: /* 802E8D8C 002E49EC 48 00 06 7D */ bl nandConvertErrorCode lbl_802E8D90: /* 802E8D90 002E49F0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802E8D94 002E49F4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802E8D98 002E49F8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802E8D9C 002E49FC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802E8DA0 002E4A00 7C 08 03 A6 */ mtlr r0 /* 802E8DA4 002E4A04 38 21 00 20 */ addi r1, r1, 0x20 /* 802E8DA8 002E4A08 4E 80 00 20 */ blr nandSafeCloseCallback: /* 802E8DAC 002E4A0C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 802E8DB0 002E4A10 7C 08 02 A6 */ mflr r0 /* 802E8DB4 002E4A14 2C 03 00 00 */ cmpwi r3, 0 /* 802E8DB8 002E4A18 90 01 00 54 */ stw r0, 0x54(r1) /* 802E8DBC 002E4A1C 93 E1 00 4C */ stw r31, 0x4c(r1) /* 802E8DC0 002E4A20 7C 9F 23 78 */ mr r31, r4 /* 802E8DC4 002E4A24 40 82 01 44 */ bne lbl_802E8F08 /* 802E8DC8 002E4A28 80 A4 00 7C */ lwz r5, 0x7c(r4) /* 802E8DCC 002E4A2C 38 C0 FF 8B */ li r6, -117 /* 802E8DD0 002E4A30 80 E4 00 08 */ lwz r7, 8(r4) /* 802E8DD4 002E4A34 38 05 00 01 */ addi r0, r5, 1 /* 802E8DD8 002E4A38 2C 00 00 0B */ cmpwi r0, 0xb /* 802E8DDC 002E4A3C 90 04 00 7C */ stw r0, 0x7c(r4) /* 802E8DE0 002E4A40 40 82 00 28 */ bne lbl_802E8E08 /* 802E8DE4 002E4A44 38 00 00 06 */ li r0, 6 /* 802E8DE8 002E4A48 3C 80 80 2F */ lis r4, nandSafeCloseCallback@ha /* 802E8DEC 002E4A4C 98 07 00 89 */ stb r0, 0x89(r7) /* 802E8DF0 002E4A50 7F E5 FB 78 */ mr r5, r31 /* 802E8DF4 002E4A54 38 84 8D AC */ addi r4, r4, nandSafeCloseCallback@l /* 802E8DF8 002E4A58 80 67 00 04 */ lwz r3, 4(r7) /* 802E8DFC 002E4A5C 4B FB CC 19 */ bl ISFS_CloseAsync /* 802E8E00 002E4A60 7C 66 1B 78 */ mr r6, r3 /* 802E8E04 002E4A64 48 00 00 E0 */ b lbl_802E8EE4 lbl_802E8E08: /* 802E8E08 002E4A68 2C 00 00 0C */ cmpwi r0, 0xc /* 802E8E0C 002E4A6C 40 82 00 2C */ bne lbl_802E8E38 /* 802E8E10 002E4A70 38 00 00 07 */ li r0, 7 /* 802E8E14 002E4A74 3C A0 80 2F */ lis r5, nandSafeCloseCallback@ha /* 802E8E18 002E4A78 98 07 00 89 */ stb r0, 0x89(r7) /* 802E8E1C 002E4A7C 7F E6 FB 78 */ mr r6, r31 /* 802E8E20 002E4A80 38 67 00 48 */ addi r3, r7, 0x48 /* 802E8E24 002E4A84 38 87 00 08 */ addi r4, r7, 8 /* 802E8E28 002E4A88 38 A5 8D AC */ addi r5, r5, nandSafeCloseCallback@l /* 802E8E2C 002E4A8C 4B FB C4 09 */ bl ISFS_RenameAsync /* 802E8E30 002E4A90 7C 66 1B 78 */ mr r6, r3 /* 802E8E34 002E4A94 48 00 00 B0 */ b lbl_802E8EE4 lbl_802E8E38: /* 802E8E38 002E4A98 2C 00 00 0D */ cmpwi r0, 0xd /* 802E8E3C 002E4A9C 40 82 00 78 */ bne lbl_802E8EB4 /* 802E8E40 002E4AA0 38 A0 00 00 */ li r5, 0 /* 802E8E44 002E4AA4 38 00 00 08 */ li r0, 8 /* 802E8E48 002E4AA8 90 A1 00 08 */ stw r5, 8(r1) /* 802E8E4C 002E4AAC 38 61 00 08 */ addi r3, r1, 8 /* 802E8E50 002E4AB0 38 87 00 48 */ addi r4, r7, 0x48 /* 802E8E54 002E4AB4 90 A1 00 0C */ stw r5, 0xc(r1) /* 802E8E58 002E4AB8 90 A1 00 10 */ stw r5, 0x10(r1) /* 802E8E5C 002E4ABC 90 A1 00 14 */ stw r5, 0x14(r1) /* 802E8E60 002E4AC0 90 A1 00 18 */ stw r5, 0x18(r1) /* 802E8E64 002E4AC4 90 A1 00 1C */ stw r5, 0x1c(r1) /* 802E8E68 002E4AC8 90 A1 00 20 */ stw r5, 0x20(r1) /* 802E8E6C 002E4ACC 90 A1 00 24 */ stw r5, 0x24(r1) /* 802E8E70 002E4AD0 90 A1 00 28 */ stw r5, 0x28(r1) /* 802E8E74 002E4AD4 90 A1 00 2C */ stw r5, 0x2c(r1) /* 802E8E78 002E4AD8 90 A1 00 30 */ stw r5, 0x30(r1) /* 802E8E7C 002E4ADC 90 A1 00 34 */ stw r5, 0x34(r1) /* 802E8E80 002E4AE0 90 A1 00 38 */ stw r5, 0x38(r1) /* 802E8E84 002E4AE4 90 A1 00 3C */ stw r5, 0x3c(r1) /* 802E8E88 002E4AE8 90 A1 00 40 */ stw r5, 0x40(r1) /* 802E8E8C 002E4AEC 90 A1 00 44 */ stw r5, 0x44(r1) /* 802E8E90 002E4AF0 98 07 00 89 */ stb r0, 0x89(r7) /* 802E8E94 002E4AF4 48 00 07 0D */ bl nandGetParentDirectory /* 802E8E98 002E4AF8 3C 80 80 2F */ lis r4, nandSafeCloseCallback@ha /* 802E8E9C 002E4AFC 7F E5 FB 78 */ mr r5, r31 /* 802E8EA0 002E4B00 38 61 00 08 */ addi r3, r1, 8 /* 802E8EA4 002E4B04 38 84 8D AC */ addi r4, r4, nandSafeCloseCallback@l /* 802E8EA8 002E4B08 4B FB C2 BD */ bl ISFS_DeleteAsync /* 802E8EAC 002E4B0C 7C 66 1B 78 */ mr r6, r3 /* 802E8EB0 002E4B10 48 00 00 34 */ b lbl_802E8EE4 lbl_802E8EB4: /* 802E8EB4 002E4B14 2C 00 00 0E */ cmpwi r0, 0xe /* 802E8EB8 002E4B18 40 82 00 2C */ bne lbl_802E8EE4 /* 802E8EBC 002E4B1C 38 80 00 09 */ li r4, 9 /* 802E8EC0 002E4B20 38 00 00 04 */ li r0, 4 /* 802E8EC4 002E4B24 98 87 00 89 */ stb r4, 0x89(r7) /* 802E8EC8 002E4B28 98 07 00 8A */ stb r0, 0x8a(r7) /* 802E8ECC 002E4B2C 48 00 05 3D */ bl nandConvertErrorCode /* 802E8ED0 002E4B30 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8ED4 002E4B34 7F E4 FB 78 */ mr r4, r31 /* 802E8ED8 002E4B38 7D 89 03 A6 */ mtctr r12 /* 802E8EDC 002E4B3C 4E 80 04 21 */ bctrl /* 802E8EE0 002E4B40 48 00 00 3C */ b lbl_802E8F1C lbl_802E8EE4: /* 802E8EE4 002E4B44 2C 06 00 00 */ cmpwi r6, 0 /* 802E8EE8 002E4B48 41 82 00 34 */ beq lbl_802E8F1C /* 802E8EEC 002E4B4C 7C C3 33 78 */ mr r3, r6 /* 802E8EF0 002E4B50 48 00 05 19 */ bl nandConvertErrorCode /* 802E8EF4 002E4B54 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8EF8 002E4B58 7F E4 FB 78 */ mr r4, r31 /* 802E8EFC 002E4B5C 7D 89 03 A6 */ mtctr r12 /* 802E8F00 002E4B60 4E 80 04 21 */ bctrl /* 802E8F04 002E4B64 48 00 00 18 */ b lbl_802E8F1C lbl_802E8F08: /* 802E8F08 002E4B68 48 00 05 01 */ bl nandConvertErrorCode /* 802E8F0C 002E4B6C 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8F10 002E4B70 7F E4 FB 78 */ mr r4, r31 /* 802E8F14 002E4B74 7D 89 03 A6 */ mtctr r12 /* 802E8F18 002E4B78 4E 80 04 21 */ bctrl lbl_802E8F1C: /* 802E8F1C 002E4B7C 80 01 00 54 */ lwz r0, 0x54(r1) /* 802E8F20 002E4B80 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 802E8F24 002E4B84 7C 08 03 A6 */ mtlr r0 /* 802E8F28 002E4B88 38 21 00 50 */ addi r1, r1, 0x50 /* 802E8F2C 002E4B8C 4E 80 00 20 */ blr nandReadCloseCallback: /* 802E8F30 002E4B90 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E8F34 002E4B94 7C 08 02 A6 */ mflr r0 /* 802E8F38 002E4B98 2C 03 00 00 */ cmpwi r3, 0 /* 802E8F3C 002E4B9C 90 01 00 14 */ stw r0, 0x14(r1) /* 802E8F40 002E4BA0 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E8F44 002E4BA4 7C 9F 23 78 */ mr r31, r4 /* 802E8F48 002E4BA8 40 82 00 1C */ bne lbl_802E8F64 /* 802E8F4C 002E4BAC 80 A4 00 08 */ lwz r5, 8(r4) /* 802E8F50 002E4BB0 38 C0 00 07 */ li r6, 7 /* 802E8F54 002E4BB4 38 00 00 04 */ li r0, 4 /* 802E8F58 002E4BB8 98 C5 00 89 */ stb r6, 0x89(r5) /* 802E8F5C 002E4BBC 80 84 00 08 */ lwz r4, 8(r4) /* 802E8F60 002E4BC0 98 04 00 8A */ stb r0, 0x8a(r4) lbl_802E8F64: /* 802E8F64 002E4BC4 48 00 04 A5 */ bl nandConvertErrorCode /* 802E8F68 002E4BC8 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8F6C 002E4BCC 7F E4 FB 78 */ mr r4, r31 /* 802E8F70 002E4BD0 7D 89 03 A6 */ mtctr r12 /* 802E8F74 002E4BD4 4E 80 04 21 */ bctrl /* 802E8F78 002E4BD8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E8F7C 002E4BDC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E8F80 002E4BE0 7C 08 03 A6 */ mtlr r0 /* 802E8F84 002E4BE4 38 21 00 10 */ addi r1, r1, 0x10 /* 802E8F88 002E4BE8 4E 80 00 20 */ blr nandCloseCallback: /* 802E8F8C 002E4BEC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802E8F90 002E4BF0 7C 08 02 A6 */ mflr r0 /* 802E8F94 002E4BF4 2C 03 00 00 */ cmpwi r3, 0 /* 802E8F98 002E4BF8 90 01 00 14 */ stw r0, 0x14(r1) /* 802E8F9C 002E4BFC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802E8FA0 002E4C00 7C 9F 23 78 */ mr r31, r4 /* 802E8FA4 002E4C04 40 82 00 1C */ bne lbl_802E8FC0 /* 802E8FA8 002E4C08 80 A4 00 08 */ lwz r5, 8(r4) /* 802E8FAC 002E4C0C 38 C0 00 07 */ li r6, 7 /* 802E8FB0 002E4C10 38 00 00 02 */ li r0, 2 /* 802E8FB4 002E4C14 98 C5 00 89 */ stb r6, 0x89(r5) /* 802E8FB8 002E4C18 80 84 00 08 */ lwz r4, 8(r4) /* 802E8FBC 002E4C1C 98 04 00 8A */ stb r0, 0x8a(r4) lbl_802E8FC0: /* 802E8FC0 002E4C20 48 00 04 49 */ bl nandConvertErrorCode /* 802E8FC4 002E4C24 81 9F 00 04 */ lwz r12, 4(r31) /* 802E8FC8 002E4C28 7F E4 FB 78 */ mr r4, r31 /* 802E8FCC 002E4C2C 7D 89 03 A6 */ mtctr r12 /* 802E8FD0 002E4C30 4E 80 04 21 */ bctrl /* 802E8FD4 002E4C34 80 01 00 14 */ lwz r0, 0x14(r1) /* 802E8FD8 002E4C38 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802E8FDC 002E4C3C 7C 08 03 A6 */ mtlr r0 /* 802E8FE0 002E4C40 38 21 00 10 */ addi r1, r1, 0x10 /* 802E8FE4 002E4C44 4E 80 00 20 */ blr