.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global ISFS_OpenLib ISFS_OpenLib: /* 802A46EC 002A034C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A46F0 002A0350 7C 08 02 A6 */ mflr r0 /* 802A46F4 002A0354 90 01 00 14 */ stw r0, 0x14(r1) /* 802A46F8 002A0358 80 0D 89 94 */ lwz r0, lbl_8063DC54-_SDA_BASE_(r13) /* 802A46FC 002A035C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802A4700 002A0360 3B E0 00 00 */ li r31, 0 /* 802A4704 002A0364 2C 00 00 00 */ cmpwi r0, 0 /* 802A4708 002A0368 93 C1 00 08 */ stw r30, 8(r1) /* 802A470C 002A036C 41 82 00 14 */ beq lbl_802A4720 /* 802A4710 002A0370 4B FF E1 E5 */ bl IPCGetBufferLo /* 802A4714 002A0374 90 6D AE 20 */ stw r3, lbl_806400E0-_SDA_BASE_(r13) /* 802A4718 002A0378 4B FF E1 D5 */ bl IPCGetBufferHi /* 802A471C 002A037C 90 6D AE 24 */ stw r3, lbl_806400E4-_SDA_BASE_(r13) lbl_802A4720: /* 802A4720 002A0380 80 6D AE 20 */ lwz r3, lbl_806400E0-_SDA_BASE_(r13) /* 802A4724 002A0384 80 0D 89 94 */ lwz r0, lbl_8063DC54-_SDA_BASE_(r13) /* 802A4728 002A0388 38 63 00 1F */ addi r3, r3, 0x1f /* 802A472C 002A038C 54 63 00 34 */ rlwinm r3, r3, 0, 0, 0x1a /* 802A4730 002A0390 2C 00 00 00 */ cmpwi r0, 0 /* 802A4734 002A0394 90 6D AE 18 */ stw r3, lbl_806400D8-_SDA_BASE_(r13) /* 802A4738 002A0398 41 82 00 2C */ beq lbl_802A4764 /* 802A473C 002A039C 80 0D AE 24 */ lwz r0, lbl_806400E4-_SDA_BASE_(r13) /* 802A4740 002A03A0 38 83 00 40 */ addi r4, r3, 0x40 /* 802A4744 002A03A4 7C 04 00 40 */ cmplw r4, r0 /* 802A4748 002A03A8 40 81 00 1C */ ble lbl_802A4764 /* 802A474C 002A03AC 3C 60 80 44 */ lis r3, lbl_8043BF90@ha /* 802A4750 002A03B0 38 63 BF 90 */ addi r3, r3, lbl_8043BF90@l /* 802A4754 002A03B4 4C C6 31 82 */ crclr 6 /* 802A4758 002A03B8 4B D6 33 6D */ bl OSReport /* 802A475C 002A03BC 3B E0 FF EA */ li r31, -22 /* 802A4760 002A03C0 48 00 00 98 */ b lbl_802A47F8 lbl_802A4764: /* 802A4764 002A03C4 38 8D 89 98 */ addi r4, r13, lbl_8063DC58-_SDA_BASE_ /* 802A4768 002A03C8 4B F2 9B 69 */ bl strcpy /* 802A476C 002A03CC 80 6D AE 18 */ lwz r3, lbl_806400D8-_SDA_BASE_(r13) /* 802A4770 002A03D0 38 80 00 00 */ li r4, 0 /* 802A4774 002A03D4 4B FF E9 E5 */ bl IOS_Open /* 802A4778 002A03D8 2C 03 00 00 */ cmpwi r3, 0 /* 802A477C 002A03DC 90 6D 89 90 */ stw r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4780 002A03E0 40 80 00 0C */ bge lbl_802A478C /* 802A4784 002A03E4 7C 7F 1B 78 */ mr r31, r3 /* 802A4788 002A03E8 48 00 00 70 */ b lbl_802A47F8 lbl_802A478C: /* 802A478C 002A03EC 80 8D 89 94 */ lwz r4, lbl_8063DC54-_SDA_BASE_(r13) /* 802A4790 002A03F0 83 CD AE 18 */ lwz r30, lbl_806400D8-_SDA_BASE_(r13) /* 802A4794 002A03F4 2C 04 00 00 */ cmpwi r4, 0 /* 802A4798 002A03F8 41 82 00 2C */ beq lbl_802A47C4 /* 802A479C 002A03FC 80 0D AE 24 */ lwz r0, lbl_806400E4-_SDA_BASE_(r13) /* 802A47A0 002A0400 38 7E 15 40 */ addi r3, r30, 0x1540 /* 802A47A4 002A0404 7C 03 00 40 */ cmplw r3, r0 /* 802A47A8 002A0408 40 81 00 1C */ ble lbl_802A47C4 /* 802A47AC 002A040C 3C 60 80 44 */ lis r3, lbl_8043BF90@ha /* 802A47B0 002A0410 38 63 BF 90 */ addi r3, r3, lbl_8043BF90@l /* 802A47B4 002A0414 4C C6 31 82 */ crclr 6 /* 802A47B8 002A0418 4B D6 33 0D */ bl OSReport /* 802A47BC 002A041C 3B E0 FF EA */ li r31, -22 /* 802A47C0 002A0420 48 00 00 38 */ b lbl_802A47F8 lbl_802A47C4: /* 802A47C4 002A0424 2C 04 00 00 */ cmpwi r4, 0 /* 802A47C8 002A0428 41 82 00 14 */ beq lbl_802A47DC /* 802A47CC 002A042C 38 7E 15 40 */ addi r3, r30, 0x1540 /* 802A47D0 002A0430 4B FF E1 2D */ bl IPCSetBufferLo /* 802A47D4 002A0434 38 00 00 00 */ li r0, 0 /* 802A47D8 002A0438 90 0D 89 94 */ stw r0, lbl_8063DC54-_SDA_BASE_(r13) lbl_802A47DC: /* 802A47DC 002A043C 7F C3 F3 78 */ mr r3, r30 /* 802A47E0 002A0440 38 80 15 40 */ li r4, 0x1540 /* 802A47E4 002A0444 4B FF F8 21 */ bl iosCreateHeap /* 802A47E8 002A0448 2C 03 00 00 */ cmpwi r3, 0 /* 802A47EC 002A044C 90 6D AE 28 */ stw r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A47F0 002A0450 40 80 00 08 */ bge lbl_802A47F8 /* 802A47F4 002A0454 3B E0 FF EA */ li r31, -22 lbl_802A47F8: /* 802A47F8 002A0458 7F E3 FB 78 */ mr r3, r31 /* 802A47FC 002A045C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802A4800 002A0460 83 C1 00 08 */ lwz r30, 8(r1) /* 802A4804 002A0464 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A4808 002A0468 7C 08 03 A6 */ mtlr r0 /* 802A480C 002A046C 38 21 00 10 */ addi r1, r1, 0x10 /* 802A4810 002A0470 4E 80 00 20 */ blr _isfsFuncCb: /* 802A4814 002A0474 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A4818 002A0478 7C 08 02 A6 */ mflr r0 /* 802A481C 002A047C 2C 83 00 00 */ cmpwi cr1, r3, 0 /* 802A4820 002A0480 90 01 00 14 */ stw r0, 0x14(r1) /* 802A4824 002A0484 93 E1 00 0C */ stw r31, 0xc(r1) /* 802A4828 002A0488 7C 9F 23 78 */ mr r31, r4 /* 802A482C 002A048C 93 C1 00 08 */ stw r30, 8(r1) /* 802A4830 002A0490 7C 7E 1B 78 */ mr r30, r3 /* 802A4834 002A0494 41 84 00 F4 */ blt cr1, lbl_802A4928 /* 802A4838 002A0498 80 04 01 08 */ lwz r0, 0x108(r4) /* 802A483C 002A049C 2C 00 00 03 */ cmpwi r0, 3 /* 802A4840 002A04A0 41 82 00 5C */ beq lbl_802A489C /* 802A4844 002A04A4 40 80 00 14 */ bge lbl_802A4858 /* 802A4848 002A04A8 2C 00 00 01 */ cmpwi r0, 1 /* 802A484C 002A04AC 41 82 00 18 */ beq lbl_802A4864 /* 802A4850 002A04B0 40 80 00 28 */ bge lbl_802A4878 /* 802A4854 002A04B4 48 00 00 D4 */ b lbl_802A4928 lbl_802A4858: /* 802A4858 002A04B8 2C 00 00 05 */ cmpwi r0, 5 /* 802A485C 002A04BC 40 80 00 CC */ bge lbl_802A4928 /* 802A4860 002A04C0 48 00 00 94 */ b lbl_802A48F4 lbl_802A4864: /* 802A4864 002A04C4 40 86 00 C4 */ bne cr1, lbl_802A4928 /* 802A4868 002A04C8 80 64 01 0C */ lwz r3, 0x10c(r4) /* 802A486C 002A04CC 38 A0 00 1C */ li r5, 0x1c /* 802A4870 002A04D0 4B D5 F7 91 */ bl memcpy /* 802A4874 002A04D4 48 00 00 B4 */ b lbl_802A4928 lbl_802A4878: /* 802A4878 002A04D8 40 86 00 B0 */ bne cr1, lbl_802A4928 /* 802A487C 002A04DC 38 04 00 3F */ addi r0, r4, 0x3f /* 802A4880 002A04E0 80 64 01 0C */ lwz r3, 0x10c(r4) /* 802A4884 002A04E4 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a /* 802A4888 002A04E8 38 04 00 5F */ addi r0, r4, 0x5f /* 802A488C 002A04EC 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a /* 802A4890 002A04F0 80 04 00 00 */ lwz r0, 0(r4) /* 802A4894 002A04F4 90 03 00 00 */ stw r0, 0(r3) /* 802A4898 002A04F8 48 00 00 90 */ b lbl_802A4928 lbl_802A489C: /* 802A489C 002A04FC 40 86 00 8C */ bne cr1, lbl_802A4928 /* 802A48A0 002A0500 38 04 00 5F */ addi r0, r4, 0x5f /* 802A48A4 002A0504 80 64 01 0C */ lwz r3, 0x10c(r4) /* 802A48A8 002A0508 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a /* 802A48AC 002A050C 80 05 00 00 */ lwz r0, 0(r5) /* 802A48B0 002A0510 90 03 00 00 */ stw r0, 0(r3) /* 802A48B4 002A0514 A0 05 00 04 */ lhz r0, 4(r5) /* 802A48B8 002A0518 80 64 01 10 */ lwz r3, 0x110(r4) /* 802A48BC 002A051C B0 03 00 00 */ sth r0, 0(r3) /* 802A48C0 002A0520 88 05 00 49 */ lbz r0, 0x49(r5) /* 802A48C4 002A0524 80 64 01 14 */ lwz r3, 0x114(r4) /* 802A48C8 002A0528 90 03 00 00 */ stw r0, 0(r3) /* 802A48CC 002A052C 88 05 00 46 */ lbz r0, 0x46(r5) /* 802A48D0 002A0530 80 64 01 18 */ lwz r3, 0x118(r4) /* 802A48D4 002A0534 90 03 00 00 */ stw r0, 0(r3) /* 802A48D8 002A0538 88 05 00 47 */ lbz r0, 0x47(r5) /* 802A48DC 002A053C 80 64 01 1C */ lwz r3, 0x11c(r4) /* 802A48E0 002A0540 90 03 00 00 */ stw r0, 0(r3) /* 802A48E4 002A0544 88 05 00 48 */ lbz r0, 0x48(r5) /* 802A48E8 002A0548 80 64 01 20 */ lwz r3, 0x120(r4) /* 802A48EC 002A054C 90 03 00 00 */ stw r0, 0(r3) /* 802A48F0 002A0550 48 00 00 38 */ b lbl_802A4928 lbl_802A48F4: /* 802A48F4 002A0554 40 86 00 34 */ bne cr1, lbl_802A4928 /* 802A48F8 002A0558 38 04 00 3F */ addi r0, r4, 0x3f /* 802A48FC 002A055C 80 64 01 0C */ lwz r3, 0x10c(r4) /* 802A4900 002A0560 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a /* 802A4904 002A0564 38 05 00 5F */ addi r0, r5, 0x5f /* 802A4908 002A0568 54 06 00 34 */ rlwinm r6, r0, 0, 0, 0x1a /* 802A490C 002A056C 80 A6 00 00 */ lwz r5, 0(r6) /* 802A4910 002A0570 38 06 00 23 */ addi r0, r6, 0x23 /* 802A4914 002A0574 54 06 00 34 */ rlwinm r6, r0, 0, 0, 0x1a /* 802A4918 002A0578 90 A3 00 00 */ stw r5, 0(r3) /* 802A491C 002A057C 80 06 00 00 */ lwz r0, 0(r6) /* 802A4920 002A0580 80 64 01 10 */ lwz r3, 0x110(r4) /* 802A4924 002A0584 90 03 00 00 */ stw r0, 0(r3) lbl_802A4928: /* 802A4928 002A0588 38 00 00 00 */ li r0, 0 /* 802A492C 002A058C 90 0D AE 1C */ stw r0, lbl_806400DC-_SDA_BASE_(r13) /* 802A4930 002A0590 81 9F 01 00 */ lwz r12, 0x100(r31) /* 802A4934 002A0594 2C 0C 00 00 */ cmpwi r12, 0 /* 802A4938 002A0598 41 82 00 14 */ beq lbl_802A494C /* 802A493C 002A059C 7F C3 F3 78 */ mr r3, r30 /* 802A4940 002A05A0 80 9F 01 04 */ lwz r4, 0x104(r31) /* 802A4944 002A05A4 7D 89 03 A6 */ mtctr r12 /* 802A4948 002A05A8 4E 80 04 21 */ bctrl lbl_802A494C: /* 802A494C 002A05AC 2C 1F 00 00 */ cmpwi r31, 0 /* 802A4950 002A05B0 41 82 00 10 */ beq lbl_802A4960 /* 802A4954 002A05B4 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A4958 002A05B8 7F E4 FB 78 */ mr r4, r31 /* 802A495C 002A05BC 4B FF F9 E1 */ bl iosFree lbl_802A4960: /* 802A4960 002A05C0 7F C3 F3 78 */ mr r3, r30 /* 802A4964 002A05C4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802A4968 002A05C8 83 C1 00 08 */ lwz r30, 8(r1) /* 802A496C 002A05CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A4970 002A05D0 7C 08 03 A6 */ mtlr r0 /* 802A4974 002A05D4 38 21 00 10 */ addi r1, r1, 0x10 /* 802A4978 002A05D8 4E 80 00 20 */ blr .global ISFS_CreateDir ISFS_CreateDir: /* 802A497C 002A05DC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802A4980 002A05E0 7C 08 02 A6 */ mflr r0 /* 802A4984 002A05E4 90 01 00 34 */ stw r0, 0x34(r1) /* 802A4988 002A05E8 39 61 00 30 */ addi r11, r1, 0x30 /* 802A498C 002A05EC 4B F2 27 95 */ bl _savegpr_25 /* 802A4990 002A05F0 2C 03 00 00 */ cmpwi r3, 0 /* 802A4994 002A05F4 7C 79 1B 78 */ mr r25, r3 /* 802A4998 002A05F8 7C 9A 23 78 */ mr r26, r4 /* 802A499C 002A05FC 7C BB 2B 78 */ mr r27, r5 /* 802A49A0 002A0600 7C DC 33 78 */ mr r28, r6 /* 802A49A4 002A0604 7C FD 3B 78 */ mr r29, r7 /* 802A49A8 002A0608 3B C0 00 00 */ li r30, 0 /* 802A49AC 002A060C 41 82 00 24 */ beq lbl_802A49D0 /* 802A49B0 002A0610 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A49B4 002A0614 2C 00 00 00 */ cmpwi r0, 0 /* 802A49B8 002A0618 41 80 00 18 */ blt lbl_802A49D0 /* 802A49BC 002A061C 38 80 00 40 */ li r4, 0x40 /* 802A49C0 002A0620 4B FF DF 45 */ bl strnlen /* 802A49C4 002A0624 28 03 00 40 */ cmplwi r3, 0x40 /* 802A49C8 002A0628 7C 7F 1B 78 */ mr r31, r3 /* 802A49CC 002A062C 40 82 00 0C */ bne lbl_802A49D8 lbl_802A49D0: /* 802A49D0 002A0630 3B E0 FF 9B */ li r31, -101 /* 802A49D4 002A0634 48 00 00 68 */ b lbl_802A4A3C lbl_802A49D8: /* 802A49D8 002A0638 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A49DC 002A063C 38 80 01 40 */ li r4, 0x140 /* 802A49E0 002A0640 38 A0 00 20 */ li r5, 0x20 /* 802A49E4 002A0644 4B FF F9 55 */ bl iosAllocAligned /* 802A49E8 002A0648 2C 03 00 00 */ cmpwi r3, 0 /* 802A49EC 002A064C 7C 7E 1B 78 */ mr r30, r3 /* 802A49F0 002A0650 40 82 00 0C */ bne lbl_802A49FC /* 802A49F4 002A0654 3B E0 FF EA */ li r31, -22 /* 802A49F8 002A0658 48 00 00 44 */ b lbl_802A4A3C lbl_802A49FC: /* 802A49FC 002A065C 7F 24 CB 78 */ mr r4, r25 /* 802A4A00 002A0660 38 BF 00 01 */ addi r5, r31, 1 /* 802A4A04 002A0664 38 63 00 06 */ addi r3, r3, 6 /* 802A4A08 002A0668 4B D5 F5 F9 */ bl memcpy /* 802A4A0C 002A066C 9B 5E 00 49 */ stb r26, 0x49(r30) /* 802A4A10 002A0670 7F C5 F3 78 */ mr r5, r30 /* 802A4A14 002A0674 38 80 00 03 */ li r4, 3 /* 802A4A18 002A0678 38 C0 00 4C */ li r6, 0x4c /* 802A4A1C 002A067C 9B 7E 00 46 */ stb r27, 0x46(r30) /* 802A4A20 002A0680 38 E0 00 00 */ li r7, 0 /* 802A4A24 002A0684 39 00 00 00 */ li r8, 0 /* 802A4A28 002A0688 9B 9E 00 47 */ stb r28, 0x47(r30) /* 802A4A2C 002A068C 9B BE 00 48 */ stb r29, 0x48(r30) /* 802A4A30 002A0690 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4A34 002A0694 4B FF F0 BD */ bl IOS_Ioctl /* 802A4A38 002A0698 7C 7F 1B 78 */ mr r31, r3 lbl_802A4A3C: /* 802A4A3C 002A069C 2C 1E 00 00 */ cmpwi r30, 0 /* 802A4A40 002A06A0 41 82 00 14 */ beq lbl_802A4A54 /* 802A4A44 002A06A4 41 82 00 10 */ beq lbl_802A4A54 /* 802A4A48 002A06A8 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A4A4C 002A06AC 7F C4 F3 78 */ mr r4, r30 /* 802A4A50 002A06B0 4B FF F8 ED */ bl iosFree lbl_802A4A54: /* 802A4A54 002A06B4 39 61 00 30 */ addi r11, r1, 0x30 /* 802A4A58 002A06B8 7F E3 FB 78 */ mr r3, r31 /* 802A4A5C 002A06BC 4B F2 27 11 */ bl _restgpr_25 /* 802A4A60 002A06C0 80 01 00 34 */ lwz r0, 0x34(r1) /* 802A4A64 002A06C4 7C 08 03 A6 */ mtlr r0 /* 802A4A68 002A06C8 38 21 00 30 */ addi r1, r1, 0x30 /* 802A4A6C 002A06CC 4E 80 00 20 */ blr .global ISFS_CreateDirAsync ISFS_CreateDirAsync: /* 802A4A70 002A06D0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802A4A74 002A06D4 7C 08 02 A6 */ mflr r0 /* 802A4A78 002A06D8 90 01 00 34 */ stw r0, 0x34(r1) /* 802A4A7C 002A06DC 39 61 00 30 */ addi r11, r1, 0x30 /* 802A4A80 002A06E0 4B F2 26 99 */ bl _savegpr_23 /* 802A4A84 002A06E4 2C 03 00 00 */ cmpwi r3, 0 /* 802A4A88 002A06E8 7C 77 1B 78 */ mr r23, r3 /* 802A4A8C 002A06EC 7C 98 23 78 */ mr r24, r4 /* 802A4A90 002A06F0 7C B9 2B 78 */ mr r25, r5 /* 802A4A94 002A06F4 7C DA 33 78 */ mr r26, r6 /* 802A4A98 002A06F8 7C FB 3B 78 */ mr r27, r7 /* 802A4A9C 002A06FC 7D 1C 43 78 */ mr r28, r8 /* 802A4AA0 002A0700 7D 3D 4B 78 */ mr r29, r9 /* 802A4AA4 002A0704 41 82 00 24 */ beq lbl_802A4AC8 /* 802A4AA8 002A0708 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4AAC 002A070C 2C 00 00 00 */ cmpwi r0, 0 /* 802A4AB0 002A0710 41 80 00 18 */ blt lbl_802A4AC8 /* 802A4AB4 002A0714 38 80 00 40 */ li r4, 0x40 /* 802A4AB8 002A0718 4B FF DE 4D */ bl strnlen /* 802A4ABC 002A071C 28 03 00 40 */ cmplwi r3, 0x40 /* 802A4AC0 002A0720 7C 7F 1B 78 */ mr r31, r3 /* 802A4AC4 002A0724 40 82 00 0C */ bne lbl_802A4AD0 lbl_802A4AC8: /* 802A4AC8 002A0728 38 60 FF 9B */ li r3, -101 /* 802A4ACC 002A072C 48 00 00 80 */ b lbl_802A4B4C lbl_802A4AD0: /* 802A4AD0 002A0730 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A4AD4 002A0734 38 80 01 40 */ li r4, 0x140 /* 802A4AD8 002A0738 38 A0 00 20 */ li r5, 0x20 /* 802A4ADC 002A073C 4B FF F8 5D */ bl iosAllocAligned /* 802A4AE0 002A0740 2C 03 00 00 */ cmpwi r3, 0 /* 802A4AE4 002A0744 7C 7E 1B 78 */ mr r30, r3 /* 802A4AE8 002A0748 40 82 00 0C */ bne lbl_802A4AF4 /* 802A4AEC 002A074C 38 60 FF 8A */ li r3, -118 /* 802A4AF0 002A0750 48 00 00 5C */ b lbl_802A4B4C lbl_802A4AF4: /* 802A4AF4 002A0754 93 83 01 00 */ stw r28, 0x100(r3) /* 802A4AF8 002A0758 38 00 00 00 */ li r0, 0 /* 802A4AFC 002A075C 7E E4 BB 78 */ mr r4, r23 /* 802A4B00 002A0760 38 BF 00 01 */ addi r5, r31, 1 /* 802A4B04 002A0764 93 A3 01 04 */ stw r29, 0x104(r3) /* 802A4B08 002A0768 90 03 01 08 */ stw r0, 0x108(r3) /* 802A4B0C 002A076C 38 63 00 06 */ addi r3, r3, 6 /* 802A4B10 002A0770 4B D5 F4 F1 */ bl memcpy /* 802A4B14 002A0774 9B 1E 00 49 */ stb r24, 0x49(r30) /* 802A4B18 002A0778 3D 20 80 2A */ lis r9, _isfsFuncCb@ha /* 802A4B1C 002A077C 7F C5 F3 78 */ mr r5, r30 /* 802A4B20 002A0780 7F CA F3 78 */ mr r10, r30 /* 802A4B24 002A0784 9B 3E 00 46 */ stb r25, 0x46(r30) /* 802A4B28 002A0788 39 29 48 14 */ addi r9, r9, _isfsFuncCb@l /* 802A4B2C 002A078C 38 80 00 03 */ li r4, 3 /* 802A4B30 002A0790 38 C0 00 4C */ li r6, 0x4c /* 802A4B34 002A0794 9B 5E 00 47 */ stb r26, 0x47(r30) /* 802A4B38 002A0798 38 E0 00 00 */ li r7, 0 /* 802A4B3C 002A079C 39 00 00 00 */ li r8, 0 /* 802A4B40 002A07A0 9B 7E 00 48 */ stb r27, 0x48(r30) /* 802A4B44 002A07A4 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4B48 002A07A8 4B FF EE 71 */ bl IOS_IoctlAsync lbl_802A4B4C: /* 802A4B4C 002A07AC 39 61 00 30 */ addi r11, r1, 0x30 /* 802A4B50 002A07B0 4B F2 26 15 */ bl _restgpr_23 /* 802A4B54 002A07B4 80 01 00 34 */ lwz r0, 0x34(r1) /* 802A4B58 002A07B8 7C 08 03 A6 */ mtlr r0 /* 802A4B5C 002A07BC 38 21 00 30 */ addi r1, r1, 0x30 /* 802A4B60 002A07C0 4E 80 00 20 */ blr .global ISFS_ReadDir ISFS_ReadDir: /* 802A4B64 002A07C4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A4B68 002A07C8 7C 08 02 A6 */ mflr r0 /* 802A4B6C 002A07CC 90 01 00 24 */ stw r0, 0x24(r1) /* 802A4B70 002A07D0 39 61 00 20 */ addi r11, r1, 0x20 /* 802A4B74 002A07D4 4B F2 25 B1 */ bl _savegpr_26 /* 802A4B78 002A07D8 2C 03 00 00 */ cmpwi r3, 0 /* 802A4B7C 002A07DC 7C 7A 1B 78 */ mr r26, r3 /* 802A4B80 002A07E0 7C 9B 23 78 */ mr r27, r4 /* 802A4B84 002A07E4 7C BC 2B 78 */ mr r28, r5 /* 802A4B88 002A07E8 3B A0 00 00 */ li r29, 0 /* 802A4B8C 002A07EC 41 82 00 34 */ beq lbl_802A4BC0 /* 802A4B90 002A07F0 2C 05 00 00 */ cmpwi r5, 0 /* 802A4B94 002A07F4 41 82 00 2C */ beq lbl_802A4BC0 /* 802A4B98 002A07F8 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4B9C 002A07FC 2C 00 00 00 */ cmpwi r0, 0 /* 802A4BA0 002A0800 41 80 00 20 */ blt lbl_802A4BC0 /* 802A4BA4 002A0804 54 80 06 FF */ clrlwi. r0, r4, 0x1b /* 802A4BA8 002A0808 40 82 00 18 */ bne lbl_802A4BC0 /* 802A4BAC 002A080C 38 80 00 40 */ li r4, 0x40 /* 802A4BB0 002A0810 4B FF DD 55 */ bl strnlen /* 802A4BB4 002A0814 28 03 00 40 */ cmplwi r3, 0x40 /* 802A4BB8 002A0818 7C 7F 1B 78 */ mr r31, r3 /* 802A4BBC 002A081C 40 82 00 0C */ bne lbl_802A4BC8 lbl_802A4BC0: /* 802A4BC0 002A0820 3B E0 FF 9B */ li r31, -101 /* 802A4BC4 002A0824 48 00 00 C0 */ b lbl_802A4C84 lbl_802A4BC8: /* 802A4BC8 002A0828 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A4BCC 002A082C 38 80 01 40 */ li r4, 0x140 /* 802A4BD0 002A0830 38 A0 00 20 */ li r5, 0x20 /* 802A4BD4 002A0834 4B FF F7 65 */ bl iosAllocAligned /* 802A4BD8 002A0838 2C 03 00 00 */ cmpwi r3, 0 /* 802A4BDC 002A083C 7C 7D 1B 78 */ mr r29, r3 /* 802A4BE0 002A0840 40 82 00 0C */ bne lbl_802A4BEC /* 802A4BE4 002A0844 3B E0 FF EA */ li r31, -22 /* 802A4BE8 002A0848 48 00 00 9C */ b lbl_802A4C84 lbl_802A4BEC: /* 802A4BEC 002A084C 38 03 00 3F */ addi r0, r3, 0x3f /* 802A4BF0 002A0850 7F 44 D3 78 */ mr r4, r26 /* 802A4BF4 002A0854 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a /* 802A4BF8 002A0858 38 BF 00 01 */ addi r5, r31, 1 /* 802A4BFC 002A085C 7F C3 F3 78 */ mr r3, r30 /* 802A4C00 002A0860 4B D5 F4 01 */ bl memcpy /* 802A4C04 002A0864 93 DD 00 00 */ stw r30, 0(r29) /* 802A4C08 002A0868 38 60 00 40 */ li r3, 0x40 /* 802A4C0C 002A086C 38 1E 00 5F */ addi r0, r30, 0x5f /* 802A4C10 002A0870 2C 1B 00 00 */ cmpwi r27, 0 /* 802A4C14 002A0874 90 7D 00 04 */ stw r3, 4(r29) /* 802A4C18 002A0878 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a /* 802A4C1C 002A087C 38 60 00 04 */ li r3, 4 /* 802A4C20 002A0880 93 DD 00 08 */ stw r30, 8(r29) /* 802A4C24 002A0884 90 7D 00 0C */ stw r3, 0xc(r29) /* 802A4C28 002A0888 41 82 00 30 */ beq lbl_802A4C58 /* 802A4C2C 002A088C 80 1C 00 00 */ lwz r0, 0(r28) /* 802A4C30 002A0890 38 A0 00 02 */ li r5, 2 /* 802A4C34 002A0894 38 C0 00 02 */ li r6, 2 /* 802A4C38 002A0898 90 1E 00 00 */ stw r0, 0(r30) /* 802A4C3C 002A089C 93 7D 00 10 */ stw r27, 0x10(r29) /* 802A4C40 002A08A0 80 1C 00 00 */ lwz r0, 0(r28) /* 802A4C44 002A08A4 1C 00 00 0D */ mulli r0, r0, 0xd /* 802A4C48 002A08A8 90 1D 00 14 */ stw r0, 0x14(r29) /* 802A4C4C 002A08AC 93 DD 00 18 */ stw r30, 0x18(r29) /* 802A4C50 002A08B0 90 7D 00 1C */ stw r3, 0x1c(r29) /* 802A4C54 002A08B4 48 00 00 0C */ b lbl_802A4C60 lbl_802A4C58: /* 802A4C58 002A08B8 38 A0 00 01 */ li r5, 1 /* 802A4C5C 002A08BC 38 C0 00 01 */ li r6, 1 lbl_802A4C60: /* 802A4C60 002A08C0 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4C64 002A08C4 7F A7 EB 78 */ mr r7, r29 /* 802A4C68 002A08C8 38 80 00 04 */ li r4, 4 /* 802A4C6C 002A08CC 4B FF F1 D5 */ bl IOS_Ioctlv /* 802A4C70 002A08D0 2C 03 00 00 */ cmpwi r3, 0 /* 802A4C74 002A08D4 7C 7F 1B 78 */ mr r31, r3 /* 802A4C78 002A08D8 40 82 00 0C */ bne lbl_802A4C84 /* 802A4C7C 002A08DC 80 1E 00 00 */ lwz r0, 0(r30) /* 802A4C80 002A08E0 90 1C 00 00 */ stw r0, 0(r28) lbl_802A4C84: /* 802A4C84 002A08E4 2C 1D 00 00 */ cmpwi r29, 0 /* 802A4C88 002A08E8 41 82 00 14 */ beq lbl_802A4C9C /* 802A4C8C 002A08EC 41 82 00 10 */ beq lbl_802A4C9C /* 802A4C90 002A08F0 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A4C94 002A08F4 7F A4 EB 78 */ mr r4, r29 /* 802A4C98 002A08F8 4B FF F6 A5 */ bl iosFree lbl_802A4C9C: /* 802A4C9C 002A08FC 39 61 00 20 */ addi r11, r1, 0x20 /* 802A4CA0 002A0900 7F E3 FB 78 */ mr r3, r31 /* 802A4CA4 002A0904 4B F2 24 CD */ bl _restgpr_26 /* 802A4CA8 002A0908 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A4CAC 002A090C 7C 08 03 A6 */ mtlr r0 /* 802A4CB0 002A0910 38 21 00 20 */ addi r1, r1, 0x20 /* 802A4CB4 002A0914 4E 80 00 20 */ blr .global ISFS_ReadDirAsync ISFS_ReadDirAsync: /* 802A4CB8 002A0918 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802A4CBC 002A091C 7C 08 02 A6 */ mflr r0 /* 802A4CC0 002A0920 90 01 00 34 */ stw r0, 0x34(r1) /* 802A4CC4 002A0924 39 61 00 30 */ addi r11, r1, 0x30 /* 802A4CC8 002A0928 4B F2 24 59 */ bl _savegpr_25 /* 802A4CCC 002A092C 2C 03 00 00 */ cmpwi r3, 0 /* 802A4CD0 002A0930 7C 79 1B 78 */ mr r25, r3 /* 802A4CD4 002A0934 7C 9A 23 78 */ mr r26, r4 /* 802A4CD8 002A0938 7C BB 2B 78 */ mr r27, r5 /* 802A4CDC 002A093C 7C DC 33 78 */ mr r28, r6 /* 802A4CE0 002A0940 7C FD 3B 78 */ mr r29, r7 /* 802A4CE4 002A0944 41 82 00 34 */ beq lbl_802A4D18 /* 802A4CE8 002A0948 2C 05 00 00 */ cmpwi r5, 0 /* 802A4CEC 002A094C 41 82 00 2C */ beq lbl_802A4D18 /* 802A4CF0 002A0950 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4CF4 002A0954 2C 00 00 00 */ cmpwi r0, 0 /* 802A4CF8 002A0958 41 80 00 20 */ blt lbl_802A4D18 /* 802A4CFC 002A095C 54 80 06 FF */ clrlwi. r0, r4, 0x1b /* 802A4D00 002A0960 40 82 00 18 */ bne lbl_802A4D18 /* 802A4D04 002A0964 38 80 00 40 */ li r4, 0x40 /* 802A4D08 002A0968 4B FF DB FD */ bl strnlen /* 802A4D0C 002A096C 28 03 00 40 */ cmplwi r3, 0x40 /* 802A4D10 002A0970 7C 7F 1B 78 */ mr r31, r3 /* 802A4D14 002A0974 40 82 00 0C */ bne lbl_802A4D20 lbl_802A4D18: /* 802A4D18 002A0978 38 60 FF 9B */ li r3, -101 /* 802A4D1C 002A097C 48 00 00 CC */ b lbl_802A4DE8 lbl_802A4D20: /* 802A4D20 002A0980 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A4D24 002A0984 38 80 01 40 */ li r4, 0x140 /* 802A4D28 002A0988 38 A0 00 20 */ li r5, 0x20 /* 802A4D2C 002A098C 4B FF F6 0D */ bl iosAllocAligned /* 802A4D30 002A0990 2C 03 00 00 */ cmpwi r3, 0 /* 802A4D34 002A0994 7C 7E 1B 78 */ mr r30, r3 /* 802A4D38 002A0998 40 82 00 0C */ bne lbl_802A4D44 /* 802A4D3C 002A099C 38 60 FF 8A */ li r3, -118 /* 802A4D40 002A09A0 48 00 00 A8 */ b lbl_802A4DE8 lbl_802A4D44: /* 802A4D44 002A09A4 93 83 01 00 */ stw r28, 0x100(r3) /* 802A4D48 002A09A8 38 C0 00 02 */ li r6, 2 /* 802A4D4C 002A09AC 38 03 00 3F */ addi r0, r3, 0x3f /* 802A4D50 002A09B0 7F 24 CB 78 */ mr r4, r25 /* 802A4D54 002A09B4 93 A3 01 04 */ stw r29, 0x104(r3) /* 802A4D58 002A09B8 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a /* 802A4D5C 002A09BC 38 BF 00 01 */ addi r5, r31, 1 /* 802A4D60 002A09C0 90 C3 01 08 */ stw r6, 0x108(r3) /* 802A4D64 002A09C4 93 63 01 0C */ stw r27, 0x10c(r3) /* 802A4D68 002A09C8 7F A3 EB 78 */ mr r3, r29 /* 802A4D6C 002A09CC 4B D5 F2 95 */ bl memcpy /* 802A4D70 002A09D0 93 BE 00 00 */ stw r29, 0(r30) /* 802A4D74 002A09D4 38 60 00 40 */ li r3, 0x40 /* 802A4D78 002A09D8 38 1D 00 5F */ addi r0, r29, 0x5f /* 802A4D7C 002A09DC 2C 1A 00 00 */ cmpwi r26, 0 /* 802A4D80 002A09E0 90 7E 00 04 */ stw r3, 4(r30) /* 802A4D84 002A09E4 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a /* 802A4D88 002A09E8 38 60 00 04 */ li r3, 4 /* 802A4D8C 002A09EC 90 9E 00 08 */ stw r4, 8(r30) /* 802A4D90 002A09F0 90 7E 00 0C */ stw r3, 0xc(r30) /* 802A4D94 002A09F4 41 82 00 30 */ beq lbl_802A4DC4 /* 802A4D98 002A09F8 80 1B 00 00 */ lwz r0, 0(r27) /* 802A4D9C 002A09FC 38 A0 00 02 */ li r5, 2 /* 802A4DA0 002A0A00 38 C0 00 02 */ li r6, 2 /* 802A4DA4 002A0A04 90 04 00 00 */ stw r0, 0(r4) /* 802A4DA8 002A0A08 93 5E 00 10 */ stw r26, 0x10(r30) /* 802A4DAC 002A0A0C 80 1B 00 00 */ lwz r0, 0(r27) /* 802A4DB0 002A0A10 1C 00 00 0D */ mulli r0, r0, 0xd /* 802A4DB4 002A0A14 90 1E 00 14 */ stw r0, 0x14(r30) /* 802A4DB8 002A0A18 90 9E 00 18 */ stw r4, 0x18(r30) /* 802A4DBC 002A0A1C 90 7E 00 1C */ stw r3, 0x1c(r30) /* 802A4DC0 002A0A20 48 00 00 0C */ b lbl_802A4DCC lbl_802A4DC4: /* 802A4DC4 002A0A24 38 A0 00 01 */ li r5, 1 /* 802A4DC8 002A0A28 38 C0 00 01 */ li r6, 1 lbl_802A4DCC: /* 802A4DCC 002A0A2C 3D 00 80 2A */ lis r8, _isfsFuncCb@ha /* 802A4DD0 002A0A30 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4DD4 002A0A34 7F C7 F3 78 */ mr r7, r30 /* 802A4DD8 002A0A38 7F C9 F3 78 */ mr r9, r30 /* 802A4DDC 002A0A3C 39 08 48 14 */ addi r8, r8, _isfsFuncCb@l /* 802A4DE0 002A0A40 38 80 00 04 */ li r4, 4 /* 802A4DE4 002A0A44 4B FF EF 79 */ bl IOS_IoctlvAsync lbl_802A4DE8: /* 802A4DE8 002A0A48 39 61 00 30 */ addi r11, r1, 0x30 /* 802A4DEC 002A0A4C 4B F2 23 81 */ bl _restgpr_25 /* 802A4DF0 002A0A50 80 01 00 34 */ lwz r0, 0x34(r1) /* 802A4DF4 002A0A54 7C 08 03 A6 */ mtlr r0 /* 802A4DF8 002A0A58 38 21 00 30 */ addi r1, r1, 0x30 /* 802A4DFC 002A0A5C 4E 80 00 20 */ blr .global ISFS_GetAttr ISFS_GetAttr: /* 802A4E00 002A0A60 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802A4E04 002A0A64 7C 08 02 A6 */ mflr r0 /* 802A4E08 002A0A68 90 01 00 34 */ stw r0, 0x34(r1) /* 802A4E0C 002A0A6C 39 61 00 30 */ addi r11, r1, 0x30 /* 802A4E10 002A0A70 4B F2 23 09 */ bl _savegpr_23 /* 802A4E14 002A0A74 2C 03 00 00 */ cmpwi r3, 0 /* 802A4E18 002A0A78 7C 7E 1B 78 */ mr r30, r3 /* 802A4E1C 002A0A7C 7C 97 23 78 */ mr r23, r4 /* 802A4E20 002A0A80 7C B8 2B 78 */ mr r24, r5 /* 802A4E24 002A0A84 7C D9 33 78 */ mr r25, r6 /* 802A4E28 002A0A88 7C FA 3B 78 */ mr r26, r7 /* 802A4E2C 002A0A8C 7D 1B 43 78 */ mr r27, r8 /* 802A4E30 002A0A90 7D 3C 4B 78 */ mr r28, r9 /* 802A4E34 002A0A94 3B A0 00 00 */ li r29, 0 /* 802A4E38 002A0A98 41 82 00 54 */ beq lbl_802A4E8C /* 802A4E3C 002A0A9C 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4E40 002A0AA0 2C 00 00 00 */ cmpwi r0, 0 /* 802A4E44 002A0AA4 41 80 00 48 */ blt lbl_802A4E8C /* 802A4E48 002A0AA8 38 80 00 40 */ li r4, 0x40 /* 802A4E4C 002A0AAC 4B FF DA B9 */ bl strnlen /* 802A4E50 002A0AB0 28 03 00 40 */ cmplwi r3, 0x40 /* 802A4E54 002A0AB4 7C 7F 1B 78 */ mr r31, r3 /* 802A4E58 002A0AB8 41 82 00 34 */ beq lbl_802A4E8C /* 802A4E5C 002A0ABC 2C 17 00 00 */ cmpwi r23, 0 /* 802A4E60 002A0AC0 41 82 00 2C */ beq lbl_802A4E8C /* 802A4E64 002A0AC4 2C 18 00 00 */ cmpwi r24, 0 /* 802A4E68 002A0AC8 41 82 00 24 */ beq lbl_802A4E8C /* 802A4E6C 002A0ACC 2C 19 00 00 */ cmpwi r25, 0 /* 802A4E70 002A0AD0 41 82 00 1C */ beq lbl_802A4E8C /* 802A4E74 002A0AD4 2C 1A 00 00 */ cmpwi r26, 0 /* 802A4E78 002A0AD8 41 82 00 14 */ beq lbl_802A4E8C /* 802A4E7C 002A0ADC 2C 1B 00 00 */ cmpwi r27, 0 /* 802A4E80 002A0AE0 41 82 00 0C */ beq lbl_802A4E8C /* 802A4E84 002A0AE4 2C 1C 00 00 */ cmpwi r28, 0 /* 802A4E88 002A0AE8 40 82 00 0C */ bne lbl_802A4E94 lbl_802A4E8C: /* 802A4E8C 002A0AEC 3B E0 FF 9B */ li r31, -101 /* 802A4E90 002A0AF0 48 00 00 94 */ b lbl_802A4F24 lbl_802A4E94: /* 802A4E94 002A0AF4 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A4E98 002A0AF8 38 80 01 40 */ li r4, 0x140 /* 802A4E9C 002A0AFC 38 A0 00 20 */ li r5, 0x20 /* 802A4EA0 002A0B00 4B FF F4 99 */ bl iosAllocAligned /* 802A4EA4 002A0B04 2C 03 00 00 */ cmpwi r3, 0 /* 802A4EA8 002A0B08 7C 7D 1B 78 */ mr r29, r3 /* 802A4EAC 002A0B0C 40 82 00 0C */ bne lbl_802A4EB8 /* 802A4EB0 002A0B10 3B E0 FF EA */ li r31, -22 /* 802A4EB4 002A0B14 48 00 00 70 */ b lbl_802A4F24 lbl_802A4EB8: /* 802A4EB8 002A0B18 7F C4 F3 78 */ mr r4, r30 /* 802A4EBC 002A0B1C 38 BF 00 01 */ addi r5, r31, 1 /* 802A4EC0 002A0B20 4B D5 F1 41 */ bl memcpy /* 802A4EC4 002A0B24 38 1D 00 5F */ addi r0, r29, 0x5f /* 802A4EC8 002A0B28 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4ECC 002A0B2C 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a /* 802A4ED0 002A0B30 7F A5 EB 78 */ mr r5, r29 /* 802A4ED4 002A0B34 7F C7 F3 78 */ mr r7, r30 /* 802A4ED8 002A0B38 38 80 00 06 */ li r4, 6 /* 802A4EDC 002A0B3C 38 C0 00 40 */ li r6, 0x40 /* 802A4EE0 002A0B40 39 00 00 4C */ li r8, 0x4c /* 802A4EE4 002A0B44 4B FF EC 0D */ bl IOS_Ioctl /* 802A4EE8 002A0B48 2C 03 00 00 */ cmpwi r3, 0 /* 802A4EEC 002A0B4C 7C 7F 1B 78 */ mr r31, r3 /* 802A4EF0 002A0B50 40 82 00 34 */ bne lbl_802A4F24 /* 802A4EF4 002A0B54 80 1E 00 00 */ lwz r0, 0(r30) /* 802A4EF8 002A0B58 90 17 00 00 */ stw r0, 0(r23) /* 802A4EFC 002A0B5C A0 1E 00 04 */ lhz r0, 4(r30) /* 802A4F00 002A0B60 B0 18 00 00 */ sth r0, 0(r24) /* 802A4F04 002A0B64 88 1E 00 49 */ lbz r0, 0x49(r30) /* 802A4F08 002A0B68 90 19 00 00 */ stw r0, 0(r25) /* 802A4F0C 002A0B6C 88 1E 00 46 */ lbz r0, 0x46(r30) /* 802A4F10 002A0B70 90 1A 00 00 */ stw r0, 0(r26) /* 802A4F14 002A0B74 88 1E 00 47 */ lbz r0, 0x47(r30) /* 802A4F18 002A0B78 90 1B 00 00 */ stw r0, 0(r27) /* 802A4F1C 002A0B7C 88 1E 00 48 */ lbz r0, 0x48(r30) /* 802A4F20 002A0B80 90 1C 00 00 */ stw r0, 0(r28) lbl_802A4F24: /* 802A4F24 002A0B84 2C 1D 00 00 */ cmpwi r29, 0 /* 802A4F28 002A0B88 41 82 00 14 */ beq lbl_802A4F3C /* 802A4F2C 002A0B8C 41 82 00 10 */ beq lbl_802A4F3C /* 802A4F30 002A0B90 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A4F34 002A0B94 7F A4 EB 78 */ mr r4, r29 /* 802A4F38 002A0B98 4B FF F4 05 */ bl iosFree lbl_802A4F3C: /* 802A4F3C 002A0B9C 39 61 00 30 */ addi r11, r1, 0x30 /* 802A4F40 002A0BA0 7F E3 FB 78 */ mr r3, r31 /* 802A4F44 002A0BA4 4B F2 22 21 */ bl _restgpr_23 /* 802A4F48 002A0BA8 80 01 00 34 */ lwz r0, 0x34(r1) /* 802A4F4C 002A0BAC 7C 08 03 A6 */ mtlr r0 /* 802A4F50 002A0BB0 38 21 00 30 */ addi r1, r1, 0x30 /* 802A4F54 002A0BB4 4E 80 00 20 */ blr .global ISFS_GetAttrAsync ISFS_GetAttrAsync: /* 802A4F58 002A0BB8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802A4F5C 002A0BBC 7C 08 02 A6 */ mflr r0 /* 802A4F60 002A0BC0 90 01 00 44 */ stw r0, 0x44(r1) /* 802A4F64 002A0BC4 39 61 00 40 */ addi r11, r1, 0x40 /* 802A4F68 002A0BC8 4B F2 21 A9 */ bl _savegpr_21 /* 802A4F6C 002A0BCC 2C 03 00 00 */ cmpwi r3, 0 /* 802A4F70 002A0BD0 83 A1 00 48 */ lwz r29, 0x48(r1) /* 802A4F74 002A0BD4 7C 75 1B 78 */ mr r21, r3 /* 802A4F78 002A0BD8 7C 96 23 78 */ mr r22, r4 /* 802A4F7C 002A0BDC 7C B7 2B 78 */ mr r23, r5 /* 802A4F80 002A0BE0 7C D8 33 78 */ mr r24, r6 /* 802A4F84 002A0BE4 7C F9 3B 78 */ mr r25, r7 /* 802A4F88 002A0BE8 7D 1A 43 78 */ mr r26, r8 /* 802A4F8C 002A0BEC 7D 3B 4B 78 */ mr r27, r9 /* 802A4F90 002A0BF0 7D 5C 53 78 */ mr r28, r10 /* 802A4F94 002A0BF4 41 82 00 54 */ beq lbl_802A4FE8 /* 802A4F98 002A0BF8 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A4F9C 002A0BFC 2C 00 00 00 */ cmpwi r0, 0 /* 802A4FA0 002A0C00 41 80 00 48 */ blt lbl_802A4FE8 /* 802A4FA4 002A0C04 38 80 00 40 */ li r4, 0x40 /* 802A4FA8 002A0C08 4B FF D9 5D */ bl strnlen /* 802A4FAC 002A0C0C 28 03 00 40 */ cmplwi r3, 0x40 /* 802A4FB0 002A0C10 7C 7F 1B 78 */ mr r31, r3 /* 802A4FB4 002A0C14 41 82 00 34 */ beq lbl_802A4FE8 /* 802A4FB8 002A0C18 2C 16 00 00 */ cmpwi r22, 0 /* 802A4FBC 002A0C1C 41 82 00 2C */ beq lbl_802A4FE8 /* 802A4FC0 002A0C20 2C 17 00 00 */ cmpwi r23, 0 /* 802A4FC4 002A0C24 41 82 00 24 */ beq lbl_802A4FE8 /* 802A4FC8 002A0C28 2C 18 00 00 */ cmpwi r24, 0 /* 802A4FCC 002A0C2C 41 82 00 1C */ beq lbl_802A4FE8 /* 802A4FD0 002A0C30 2C 19 00 00 */ cmpwi r25, 0 /* 802A4FD4 002A0C34 41 82 00 14 */ beq lbl_802A4FE8 /* 802A4FD8 002A0C38 2C 1A 00 00 */ cmpwi r26, 0 /* 802A4FDC 002A0C3C 41 82 00 0C */ beq lbl_802A4FE8 /* 802A4FE0 002A0C40 2C 1B 00 00 */ cmpwi r27, 0 /* 802A4FE4 002A0C44 40 82 00 0C */ bne lbl_802A4FF0 lbl_802A4FE8: /* 802A4FE8 002A0C48 38 60 FF 9B */ li r3, -101 /* 802A4FEC 002A0C4C 48 00 00 88 */ b lbl_802A5074 lbl_802A4FF0: /* 802A4FF0 002A0C50 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A4FF4 002A0C54 38 80 01 40 */ li r4, 0x140 /* 802A4FF8 002A0C58 38 A0 00 20 */ li r5, 0x20 /* 802A4FFC 002A0C5C 4B FF F3 3D */ bl iosAllocAligned /* 802A5000 002A0C60 2C 03 00 00 */ cmpwi r3, 0 /* 802A5004 002A0C64 7C 7E 1B 78 */ mr r30, r3 /* 802A5008 002A0C68 40 82 00 0C */ bne lbl_802A5014 /* 802A500C 002A0C6C 38 60 FF 8A */ li r3, -118 /* 802A5010 002A0C70 48 00 00 64 */ b lbl_802A5074 lbl_802A5014: /* 802A5014 002A0C74 92 C3 01 0C */ stw r22, 0x10c(r3) /* 802A5018 002A0C78 38 00 00 03 */ li r0, 3 /* 802A501C 002A0C7C 7E A4 AB 78 */ mr r4, r21 /* 802A5020 002A0C80 38 BF 00 01 */ addi r5, r31, 1 /* 802A5024 002A0C84 92 E3 01 10 */ stw r23, 0x110(r3) /* 802A5028 002A0C88 93 03 01 14 */ stw r24, 0x114(r3) /* 802A502C 002A0C8C 93 23 01 18 */ stw r25, 0x118(r3) /* 802A5030 002A0C90 93 43 01 1C */ stw r26, 0x11c(r3) /* 802A5034 002A0C94 93 63 01 20 */ stw r27, 0x120(r3) /* 802A5038 002A0C98 93 83 01 00 */ stw r28, 0x100(r3) /* 802A503C 002A0C9C 93 A3 01 04 */ stw r29, 0x104(r3) /* 802A5040 002A0CA0 90 03 01 08 */ stw r0, 0x108(r3) /* 802A5044 002A0CA4 4B D5 EF BD */ bl memcpy /* 802A5048 002A0CA8 38 1E 00 5F */ addi r0, r30, 0x5f /* 802A504C 002A0CAC 3D 20 80 2A */ lis r9, _isfsFuncCb@ha /* 802A5050 002A0CB0 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5054 002A0CB4 7F C5 F3 78 */ mr r5, r30 /* 802A5058 002A0CB8 7F CA F3 78 */ mr r10, r30 /* 802A505C 002A0CBC 54 07 00 34 */ rlwinm r7, r0, 0, 0, 0x1a /* 802A5060 002A0CC0 39 29 48 14 */ addi r9, r9, _isfsFuncCb@l /* 802A5064 002A0CC4 38 80 00 06 */ li r4, 6 /* 802A5068 002A0CC8 38 C0 00 40 */ li r6, 0x40 /* 802A506C 002A0CCC 39 00 00 4C */ li r8, 0x4c /* 802A5070 002A0CD0 4B FF E9 49 */ bl IOS_IoctlAsync lbl_802A5074: /* 802A5074 002A0CD4 39 61 00 40 */ addi r11, r1, 0x40 /* 802A5078 002A0CD8 4B F2 20 E5 */ bl _restgpr_21 /* 802A507C 002A0CDC 80 01 00 44 */ lwz r0, 0x44(r1) /* 802A5080 002A0CE0 7C 08 03 A6 */ mtlr r0 /* 802A5084 002A0CE4 38 21 00 40 */ addi r1, r1, 0x40 /* 802A5088 002A0CE8 4E 80 00 20 */ blr .global ISFS_Delete ISFS_Delete: /* 802A508C 002A0CEC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A5090 002A0CF0 7C 08 02 A6 */ mflr r0 /* 802A5094 002A0CF4 2C 03 00 00 */ cmpwi r3, 0 /* 802A5098 002A0CF8 90 01 00 24 */ stw r0, 0x24(r1) /* 802A509C 002A0CFC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802A50A0 002A0D00 93 C1 00 18 */ stw r30, 0x18(r1) /* 802A50A4 002A0D04 3B C0 00 00 */ li r30, 0 /* 802A50A8 002A0D08 93 A1 00 14 */ stw r29, 0x14(r1) /* 802A50AC 002A0D0C 7C 7D 1B 78 */ mr r29, r3 /* 802A50B0 002A0D10 41 82 00 24 */ beq lbl_802A50D4 /* 802A50B4 002A0D14 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A50B8 002A0D18 2C 00 00 00 */ cmpwi r0, 0 /* 802A50BC 002A0D1C 41 80 00 18 */ blt lbl_802A50D4 /* 802A50C0 002A0D20 38 80 00 40 */ li r4, 0x40 /* 802A50C4 002A0D24 4B FF D8 41 */ bl strnlen /* 802A50C8 002A0D28 28 03 00 40 */ cmplwi r3, 0x40 /* 802A50CC 002A0D2C 7C 7F 1B 78 */ mr r31, r3 /* 802A50D0 002A0D30 40 82 00 0C */ bne lbl_802A50DC lbl_802A50D4: /* 802A50D4 002A0D34 3B E0 FF 9B */ li r31, -101 /* 802A50D8 002A0D38 48 00 00 54 */ b lbl_802A512C lbl_802A50DC: /* 802A50DC 002A0D3C 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A50E0 002A0D40 38 80 01 40 */ li r4, 0x140 /* 802A50E4 002A0D44 38 A0 00 20 */ li r5, 0x20 /* 802A50E8 002A0D48 4B FF F2 51 */ bl iosAllocAligned /* 802A50EC 002A0D4C 2C 03 00 00 */ cmpwi r3, 0 /* 802A50F0 002A0D50 7C 7E 1B 78 */ mr r30, r3 /* 802A50F4 002A0D54 40 82 00 0C */ bne lbl_802A5100 /* 802A50F8 002A0D58 3B E0 FF EA */ li r31, -22 /* 802A50FC 002A0D5C 48 00 00 30 */ b lbl_802A512C lbl_802A5100: /* 802A5100 002A0D60 7F A4 EB 78 */ mr r4, r29 /* 802A5104 002A0D64 38 BF 00 01 */ addi r5, r31, 1 /* 802A5108 002A0D68 4B D5 EE F9 */ bl memcpy /* 802A510C 002A0D6C 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5110 002A0D70 7F C5 F3 78 */ mr r5, r30 /* 802A5114 002A0D74 38 80 00 07 */ li r4, 7 /* 802A5118 002A0D78 38 C0 00 40 */ li r6, 0x40 /* 802A511C 002A0D7C 38 E0 00 00 */ li r7, 0 /* 802A5120 002A0D80 39 00 00 00 */ li r8, 0 /* 802A5124 002A0D84 4B FF E9 CD */ bl IOS_Ioctl /* 802A5128 002A0D88 7C 7F 1B 78 */ mr r31, r3 lbl_802A512C: /* 802A512C 002A0D8C 2C 1E 00 00 */ cmpwi r30, 0 /* 802A5130 002A0D90 41 82 00 14 */ beq lbl_802A5144 /* 802A5134 002A0D94 41 82 00 10 */ beq lbl_802A5144 /* 802A5138 002A0D98 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A513C 002A0D9C 7F C4 F3 78 */ mr r4, r30 /* 802A5140 002A0DA0 4B FF F1 FD */ bl iosFree lbl_802A5144: /* 802A5144 002A0DA4 7F E3 FB 78 */ mr r3, r31 /* 802A5148 002A0DA8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802A514C 002A0DAC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802A5150 002A0DB0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802A5154 002A0DB4 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A5158 002A0DB8 7C 08 03 A6 */ mtlr r0 /* 802A515C 002A0DBC 38 21 00 20 */ addi r1, r1, 0x20 /* 802A5160 002A0DC0 4E 80 00 20 */ blr .global ISFS_DeleteAsync ISFS_DeleteAsync: /* 802A5164 002A0DC4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A5168 002A0DC8 7C 08 02 A6 */ mflr r0 /* 802A516C 002A0DCC 90 01 00 24 */ stw r0, 0x24(r1) /* 802A5170 002A0DD0 39 61 00 20 */ addi r11, r1, 0x20 /* 802A5174 002A0DD4 4B F2 1F B5 */ bl _savegpr_27 /* 802A5178 002A0DD8 2C 03 00 00 */ cmpwi r3, 0 /* 802A517C 002A0DDC 7C 7B 1B 78 */ mr r27, r3 /* 802A5180 002A0DE0 7C 9C 23 78 */ mr r28, r4 /* 802A5184 002A0DE4 7C BD 2B 78 */ mr r29, r5 /* 802A5188 002A0DE8 41 82 00 24 */ beq lbl_802A51AC /* 802A518C 002A0DEC 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5190 002A0DF0 2C 00 00 00 */ cmpwi r0, 0 /* 802A5194 002A0DF4 41 80 00 18 */ blt lbl_802A51AC /* 802A5198 002A0DF8 38 80 00 40 */ li r4, 0x40 /* 802A519C 002A0DFC 4B FF D7 69 */ bl strnlen /* 802A51A0 002A0E00 28 03 00 40 */ cmplwi r3, 0x40 /* 802A51A4 002A0E04 7C 7F 1B 78 */ mr r31, r3 /* 802A51A8 002A0E08 40 82 00 0C */ bne lbl_802A51B4 lbl_802A51AC: /* 802A51AC 002A0E0C 38 60 FF 9B */ li r3, -101 /* 802A51B0 002A0E10 48 00 00 6C */ b lbl_802A521C lbl_802A51B4: /* 802A51B4 002A0E14 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A51B8 002A0E18 38 80 01 40 */ li r4, 0x140 /* 802A51BC 002A0E1C 38 A0 00 20 */ li r5, 0x20 /* 802A51C0 002A0E20 4B FF F1 79 */ bl iosAllocAligned /* 802A51C4 002A0E24 2C 03 00 00 */ cmpwi r3, 0 /* 802A51C8 002A0E28 7C 7E 1B 78 */ mr r30, r3 /* 802A51CC 002A0E2C 40 82 00 0C */ bne lbl_802A51D8 /* 802A51D0 002A0E30 38 60 FF 8A */ li r3, -118 /* 802A51D4 002A0E34 48 00 00 48 */ b lbl_802A521C lbl_802A51D8: /* 802A51D8 002A0E38 7F 64 DB 78 */ mr r4, r27 /* 802A51DC 002A0E3C 38 BF 00 01 */ addi r5, r31, 1 /* 802A51E0 002A0E40 4B D5 EE 21 */ bl memcpy /* 802A51E4 002A0E44 93 9E 01 00 */ stw r28, 0x100(r30) /* 802A51E8 002A0E48 3D 20 80 2A */ lis r9, _isfsFuncCb@ha /* 802A51EC 002A0E4C 38 00 00 00 */ li r0, 0 /* 802A51F0 002A0E50 7F C5 F3 78 */ mr r5, r30 /* 802A51F4 002A0E54 93 BE 01 04 */ stw r29, 0x104(r30) /* 802A51F8 002A0E58 7F CA F3 78 */ mr r10, r30 /* 802A51FC 002A0E5C 39 29 48 14 */ addi r9, r9, _isfsFuncCb@l /* 802A5200 002A0E60 38 80 00 07 */ li r4, 7 /* 802A5204 002A0E64 90 1E 01 08 */ stw r0, 0x108(r30) /* 802A5208 002A0E68 38 C0 00 40 */ li r6, 0x40 /* 802A520C 002A0E6C 38 E0 00 00 */ li r7, 0 /* 802A5210 002A0E70 39 00 00 00 */ li r8, 0 /* 802A5214 002A0E74 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5218 002A0E78 4B FF E7 A1 */ bl IOS_IoctlAsync lbl_802A521C: /* 802A521C 002A0E7C 39 61 00 20 */ addi r11, r1, 0x20 /* 802A5220 002A0E80 4B F2 1F 55 */ bl _restgpr_27 /* 802A5224 002A0E84 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A5228 002A0E88 7C 08 03 A6 */ mtlr r0 /* 802A522C 002A0E8C 38 21 00 20 */ addi r1, r1, 0x20 /* 802A5230 002A0E90 4E 80 00 20 */ blr .global ISFS_RenameAsync ISFS_RenameAsync: /* 802A5234 002A0E94 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802A5238 002A0E98 7C 08 02 A6 */ mflr r0 /* 802A523C 002A0E9C 90 01 00 34 */ stw r0, 0x34(r1) /* 802A5240 002A0EA0 39 61 00 30 */ addi r11, r1, 0x30 /* 802A5244 002A0EA4 4B F2 1E DD */ bl _savegpr_25 /* 802A5248 002A0EA8 2C 03 00 00 */ cmpwi r3, 0 /* 802A524C 002A0EAC 7C 79 1B 78 */ mr r25, r3 /* 802A5250 002A0EB0 7C 9A 23 78 */ mr r26, r4 /* 802A5254 002A0EB4 7C BB 2B 78 */ mr r27, r5 /* 802A5258 002A0EB8 7C DC 33 78 */ mr r28, r6 /* 802A525C 002A0EBC 41 82 00 44 */ beq lbl_802A52A0 /* 802A5260 002A0EC0 2C 04 00 00 */ cmpwi r4, 0 /* 802A5264 002A0EC4 41 82 00 3C */ beq lbl_802A52A0 /* 802A5268 002A0EC8 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A526C 002A0ECC 2C 00 00 00 */ cmpwi r0, 0 /* 802A5270 002A0ED0 41 80 00 30 */ blt lbl_802A52A0 /* 802A5274 002A0ED4 38 80 00 40 */ li r4, 0x40 /* 802A5278 002A0ED8 4B FF D6 8D */ bl strnlen /* 802A527C 002A0EDC 28 03 00 40 */ cmplwi r3, 0x40 /* 802A5280 002A0EE0 7C 7E 1B 78 */ mr r30, r3 /* 802A5284 002A0EE4 41 82 00 1C */ beq lbl_802A52A0 /* 802A5288 002A0EE8 7F 43 D3 78 */ mr r3, r26 /* 802A528C 002A0EEC 38 80 00 40 */ li r4, 0x40 /* 802A5290 002A0EF0 4B FF D6 75 */ bl strnlen /* 802A5294 002A0EF4 28 03 00 40 */ cmplwi r3, 0x40 /* 802A5298 002A0EF8 7C 7F 1B 78 */ mr r31, r3 /* 802A529C 002A0EFC 40 82 00 0C */ bne lbl_802A52A8 lbl_802A52A0: /* 802A52A0 002A0F00 38 60 FF 9B */ li r3, -101 /* 802A52A4 002A0F04 48 00 00 7C */ b lbl_802A5320 lbl_802A52A8: /* 802A52A8 002A0F08 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A52AC 002A0F0C 38 80 01 40 */ li r4, 0x140 /* 802A52B0 002A0F10 38 A0 00 20 */ li r5, 0x20 /* 802A52B4 002A0F14 4B FF F0 85 */ bl iosAllocAligned /* 802A52B8 002A0F18 2C 03 00 00 */ cmpwi r3, 0 /* 802A52BC 002A0F1C 7C 7D 1B 78 */ mr r29, r3 /* 802A52C0 002A0F20 40 82 00 0C */ bne lbl_802A52CC /* 802A52C4 002A0F24 38 60 FF 8A */ li r3, -118 /* 802A52C8 002A0F28 48 00 00 58 */ b lbl_802A5320 lbl_802A52CC: /* 802A52CC 002A0F2C 93 63 01 00 */ stw r27, 0x100(r3) /* 802A52D0 002A0F30 38 00 00 00 */ li r0, 0 /* 802A52D4 002A0F34 7F 24 CB 78 */ mr r4, r25 /* 802A52D8 002A0F38 38 BE 00 01 */ addi r5, r30, 1 /* 802A52DC 002A0F3C 93 83 01 04 */ stw r28, 0x104(r3) /* 802A52E0 002A0F40 90 03 01 08 */ stw r0, 0x108(r3) /* 802A52E4 002A0F44 4B D5 ED 1D */ bl memcpy /* 802A52E8 002A0F48 7F 44 D3 78 */ mr r4, r26 /* 802A52EC 002A0F4C 38 7D 00 40 */ addi r3, r29, 0x40 /* 802A52F0 002A0F50 38 BF 00 01 */ addi r5, r31, 1 /* 802A52F4 002A0F54 4B D5 ED 0D */ bl memcpy /* 802A52F8 002A0F58 3D 20 80 2A */ lis r9, _isfsFuncCb@ha /* 802A52FC 002A0F5C 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5300 002A0F60 7F A5 EB 78 */ mr r5, r29 /* 802A5304 002A0F64 7F AA EB 78 */ mr r10, r29 /* 802A5308 002A0F68 39 29 48 14 */ addi r9, r9, _isfsFuncCb@l /* 802A530C 002A0F6C 38 80 00 08 */ li r4, 8 /* 802A5310 002A0F70 38 C0 00 80 */ li r6, 0x80 /* 802A5314 002A0F74 38 E0 00 00 */ li r7, 0 /* 802A5318 002A0F78 39 00 00 00 */ li r8, 0 /* 802A531C 002A0F7C 4B FF E6 9D */ bl IOS_IoctlAsync lbl_802A5320: /* 802A5320 002A0F80 39 61 00 30 */ addi r11, r1, 0x30 /* 802A5324 002A0F84 4B F2 1E 49 */ bl _restgpr_25 /* 802A5328 002A0F88 80 01 00 34 */ lwz r0, 0x34(r1) /* 802A532C 002A0F8C 7C 08 03 A6 */ mtlr r0 /* 802A5330 002A0F90 38 21 00 30 */ addi r1, r1, 0x30 /* 802A5334 002A0F94 4E 80 00 20 */ blr .global ISFS_GetUsageAsync ISFS_GetUsageAsync: /* 802A5338 002A0F98 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802A533C 002A0F9C 7C 08 02 A6 */ mflr r0 /* 802A5340 002A0FA0 90 01 00 34 */ stw r0, 0x34(r1) /* 802A5344 002A0FA4 39 61 00 30 */ addi r11, r1, 0x30 /* 802A5348 002A0FA8 4B F2 1D D9 */ bl _savegpr_25 /* 802A534C 002A0FAC 2C 03 00 00 */ cmpwi r3, 0 /* 802A5350 002A0FB0 7C 79 1B 78 */ mr r25, r3 /* 802A5354 002A0FB4 7C 9A 23 78 */ mr r26, r4 /* 802A5358 002A0FB8 7C BB 2B 78 */ mr r27, r5 /* 802A535C 002A0FBC 7C DF 33 78 */ mr r31, r6 /* 802A5360 002A0FC0 7C FC 3B 78 */ mr r28, r7 /* 802A5364 002A0FC4 41 82 00 34 */ beq lbl_802A5398 /* 802A5368 002A0FC8 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A536C 002A0FCC 2C 00 00 00 */ cmpwi r0, 0 /* 802A5370 002A0FD0 41 80 00 28 */ blt lbl_802A5398 /* 802A5374 002A0FD4 2C 04 00 00 */ cmpwi r4, 0 /* 802A5378 002A0FD8 41 82 00 20 */ beq lbl_802A5398 /* 802A537C 002A0FDC 2C 05 00 00 */ cmpwi r5, 0 /* 802A5380 002A0FE0 41 82 00 18 */ beq lbl_802A5398 /* 802A5384 002A0FE4 38 80 00 40 */ li r4, 0x40 /* 802A5388 002A0FE8 4B FF D5 7D */ bl strnlen /* 802A538C 002A0FEC 28 03 00 40 */ cmplwi r3, 0x40 /* 802A5390 002A0FF0 7C 7E 1B 78 */ mr r30, r3 /* 802A5394 002A0FF4 40 82 00 0C */ bne lbl_802A53A0 lbl_802A5398: /* 802A5398 002A0FF8 38 60 FF 9B */ li r3, -101 /* 802A539C 002A0FFC 48 00 00 A8 */ b lbl_802A5444 lbl_802A53A0: /* 802A53A0 002A1000 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A53A4 002A1004 38 80 01 40 */ li r4, 0x140 /* 802A53A8 002A1008 38 A0 00 20 */ li r5, 0x20 /* 802A53AC 002A100C 4B FF EF 8D */ bl iosAllocAligned /* 802A53B0 002A1010 2C 03 00 00 */ cmpwi r3, 0 /* 802A53B4 002A1014 7C 7D 1B 78 */ mr r29, r3 /* 802A53B8 002A1018 40 82 00 0C */ bne lbl_802A53C4 /* 802A53BC 002A101C 38 60 FF 8A */ li r3, -118 /* 802A53C0 002A1020 48 00 00 84 */ b lbl_802A5444 lbl_802A53C4: /* 802A53C4 002A1024 93 E3 01 00 */ stw r31, 0x100(r3) /* 802A53C8 002A1028 3B E0 00 04 */ li r31, 4 /* 802A53CC 002A102C 38 03 00 37 */ addi r0, r3, 0x37 /* 802A53D0 002A1030 7F 24 CB 78 */ mr r4, r25 /* 802A53D4 002A1034 93 83 01 04 */ stw r28, 0x104(r3) /* 802A53D8 002A1038 54 1C 00 34 */ rlwinm r28, r0, 0, 0, 0x1a /* 802A53DC 002A103C 38 BE 00 01 */ addi r5, r30, 1 /* 802A53E0 002A1040 93 E3 01 08 */ stw r31, 0x108(r3) /* 802A53E4 002A1044 93 43 01 0C */ stw r26, 0x10c(r3) /* 802A53E8 002A1048 93 63 01 10 */ stw r27, 0x110(r3) /* 802A53EC 002A104C 7F 83 E3 78 */ mr r3, r28 /* 802A53F0 002A1050 4B D5 EC 11 */ bl memcpy /* 802A53F4 002A1054 93 9D 00 00 */ stw r28, 0(r29) /* 802A53F8 002A1058 38 60 00 40 */ li r3, 0x40 /* 802A53FC 002A105C 3D 00 80 2A */ lis r8, _isfsFuncCb@ha /* 802A5400 002A1060 38 1C 00 5F */ addi r0, r28, 0x5f /* 802A5404 002A1064 90 7D 00 04 */ stw r3, 4(r29) /* 802A5408 002A1068 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a /* 802A540C 002A106C 38 03 00 23 */ addi r0, r3, 0x23 /* 802A5410 002A1070 7F A7 EB 78 */ mr r7, r29 /* 802A5414 002A1074 90 7D 00 08 */ stw r3, 8(r29) /* 802A5418 002A1078 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 802A541C 002A107C 7F A9 EB 78 */ mr r9, r29 /* 802A5420 002A1080 39 08 48 14 */ addi r8, r8, _isfsFuncCb@l /* 802A5424 002A1084 93 FD 00 0C */ stw r31, 0xc(r29) /* 802A5428 002A1088 38 80 00 0C */ li r4, 0xc /* 802A542C 002A108C 38 A0 00 01 */ li r5, 1 /* 802A5430 002A1090 38 C0 00 02 */ li r6, 2 /* 802A5434 002A1094 90 1D 00 10 */ stw r0, 0x10(r29) /* 802A5438 002A1098 93 FD 00 14 */ stw r31, 0x14(r29) /* 802A543C 002A109C 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5440 002A10A0 4B FF E9 1D */ bl IOS_IoctlvAsync lbl_802A5444: /* 802A5444 002A10A4 39 61 00 30 */ addi r11, r1, 0x30 /* 802A5448 002A10A8 4B F2 1D 25 */ bl _restgpr_25 /* 802A544C 002A10AC 80 01 00 34 */ lwz r0, 0x34(r1) /* 802A5450 002A10B0 7C 08 03 A6 */ mtlr r0 /* 802A5454 002A10B4 38 21 00 30 */ addi r1, r1, 0x30 /* 802A5458 002A10B8 4E 80 00 20 */ blr .global ISFS_CreateFile ISFS_CreateFile: /* 802A545C 002A10BC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802A5460 002A10C0 7C 08 02 A6 */ mflr r0 /* 802A5464 002A10C4 90 01 00 34 */ stw r0, 0x34(r1) /* 802A5468 002A10C8 39 61 00 30 */ addi r11, r1, 0x30 /* 802A546C 002A10CC 4B F2 1C B5 */ bl _savegpr_25 /* 802A5470 002A10D0 2C 03 00 00 */ cmpwi r3, 0 /* 802A5474 002A10D4 7C 79 1B 78 */ mr r25, r3 /* 802A5478 002A10D8 7C 9A 23 78 */ mr r26, r4 /* 802A547C 002A10DC 7C BB 2B 78 */ mr r27, r5 /* 802A5480 002A10E0 7C DC 33 78 */ mr r28, r6 /* 802A5484 002A10E4 7C FD 3B 78 */ mr r29, r7 /* 802A5488 002A10E8 3B C0 00 00 */ li r30, 0 /* 802A548C 002A10EC 41 82 00 24 */ beq lbl_802A54B0 /* 802A5490 002A10F0 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5494 002A10F4 2C 00 00 00 */ cmpwi r0, 0 /* 802A5498 002A10F8 41 80 00 18 */ blt lbl_802A54B0 /* 802A549C 002A10FC 38 80 00 40 */ li r4, 0x40 /* 802A54A0 002A1100 4B FF D4 65 */ bl strnlen /* 802A54A4 002A1104 28 03 00 40 */ cmplwi r3, 0x40 /* 802A54A8 002A1108 7C 7F 1B 78 */ mr r31, r3 /* 802A54AC 002A110C 40 82 00 0C */ bne lbl_802A54B8 lbl_802A54B0: /* 802A54B0 002A1110 3B E0 FF 9B */ li r31, -101 /* 802A54B4 002A1114 48 00 00 68 */ b lbl_802A551C lbl_802A54B8: /* 802A54B8 002A1118 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A54BC 002A111C 38 80 01 40 */ li r4, 0x140 /* 802A54C0 002A1120 38 A0 00 20 */ li r5, 0x20 /* 802A54C4 002A1124 4B FF EE 75 */ bl iosAllocAligned /* 802A54C8 002A1128 2C 03 00 00 */ cmpwi r3, 0 /* 802A54CC 002A112C 7C 7E 1B 78 */ mr r30, r3 /* 802A54D0 002A1130 40 82 00 0C */ bne lbl_802A54DC /* 802A54D4 002A1134 3B E0 FF EA */ li r31, -22 /* 802A54D8 002A1138 48 00 00 44 */ b lbl_802A551C lbl_802A54DC: /* 802A54DC 002A113C 7F 24 CB 78 */ mr r4, r25 /* 802A54E0 002A1140 38 BF 00 01 */ addi r5, r31, 1 /* 802A54E4 002A1144 38 63 00 06 */ addi r3, r3, 6 /* 802A54E8 002A1148 4B D5 EB 19 */ bl memcpy /* 802A54EC 002A114C 9B 5E 00 49 */ stb r26, 0x49(r30) /* 802A54F0 002A1150 7F C5 F3 78 */ mr r5, r30 /* 802A54F4 002A1154 38 80 00 09 */ li r4, 9 /* 802A54F8 002A1158 38 C0 00 4C */ li r6, 0x4c /* 802A54FC 002A115C 9B 7E 00 46 */ stb r27, 0x46(r30) /* 802A5500 002A1160 38 E0 00 00 */ li r7, 0 /* 802A5504 002A1164 39 00 00 00 */ li r8, 0 /* 802A5508 002A1168 9B 9E 00 47 */ stb r28, 0x47(r30) /* 802A550C 002A116C 9B BE 00 48 */ stb r29, 0x48(r30) /* 802A5510 002A1170 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5514 002A1174 4B FF E5 DD */ bl IOS_Ioctl /* 802A5518 002A1178 7C 7F 1B 78 */ mr r31, r3 lbl_802A551C: /* 802A551C 002A117C 2C 1E 00 00 */ cmpwi r30, 0 /* 802A5520 002A1180 41 82 00 14 */ beq lbl_802A5534 /* 802A5524 002A1184 41 82 00 10 */ beq lbl_802A5534 /* 802A5528 002A1188 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A552C 002A118C 7F C4 F3 78 */ mr r4, r30 /* 802A5530 002A1190 4B FF EE 0D */ bl iosFree lbl_802A5534: /* 802A5534 002A1194 39 61 00 30 */ addi r11, r1, 0x30 /* 802A5538 002A1198 7F E3 FB 78 */ mr r3, r31 /* 802A553C 002A119C 4B F2 1C 31 */ bl _restgpr_25 /* 802A5540 002A11A0 80 01 00 34 */ lwz r0, 0x34(r1) /* 802A5544 002A11A4 7C 08 03 A6 */ mtlr r0 /* 802A5548 002A11A8 38 21 00 30 */ addi r1, r1, 0x30 /* 802A554C 002A11AC 4E 80 00 20 */ blr .global ISFS_CreateFileAsync ISFS_CreateFileAsync: /* 802A5550 002A11B0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802A5554 002A11B4 7C 08 02 A6 */ mflr r0 /* 802A5558 002A11B8 90 01 00 34 */ stw r0, 0x34(r1) /* 802A555C 002A11BC 39 61 00 30 */ addi r11, r1, 0x30 /* 802A5560 002A11C0 4B F2 1B B9 */ bl _savegpr_23 /* 802A5564 002A11C4 2C 03 00 00 */ cmpwi r3, 0 /* 802A5568 002A11C8 7C 77 1B 78 */ mr r23, r3 /* 802A556C 002A11CC 7C 98 23 78 */ mr r24, r4 /* 802A5570 002A11D0 7C B9 2B 78 */ mr r25, r5 /* 802A5574 002A11D4 7C DA 33 78 */ mr r26, r6 /* 802A5578 002A11D8 7C FB 3B 78 */ mr r27, r7 /* 802A557C 002A11DC 7D 1C 43 78 */ mr r28, r8 /* 802A5580 002A11E0 7D 3D 4B 78 */ mr r29, r9 /* 802A5584 002A11E4 41 82 00 24 */ beq lbl_802A55A8 /* 802A5588 002A11E8 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A558C 002A11EC 2C 00 00 00 */ cmpwi r0, 0 /* 802A5590 002A11F0 41 80 00 18 */ blt lbl_802A55A8 /* 802A5594 002A11F4 38 80 00 40 */ li r4, 0x40 /* 802A5598 002A11F8 4B FF D3 6D */ bl strnlen /* 802A559C 002A11FC 28 03 00 40 */ cmplwi r3, 0x40 /* 802A55A0 002A1200 7C 7F 1B 78 */ mr r31, r3 /* 802A55A4 002A1204 40 82 00 0C */ bne lbl_802A55B0 lbl_802A55A8: /* 802A55A8 002A1208 38 60 FF 9B */ li r3, -101 /* 802A55AC 002A120C 48 00 00 80 */ b lbl_802A562C lbl_802A55B0: /* 802A55B0 002A1210 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A55B4 002A1214 38 80 01 40 */ li r4, 0x140 /* 802A55B8 002A1218 38 A0 00 20 */ li r5, 0x20 /* 802A55BC 002A121C 4B FF ED 7D */ bl iosAllocAligned /* 802A55C0 002A1220 2C 03 00 00 */ cmpwi r3, 0 /* 802A55C4 002A1224 7C 7E 1B 78 */ mr r30, r3 /* 802A55C8 002A1228 40 82 00 0C */ bne lbl_802A55D4 /* 802A55CC 002A122C 38 60 FF 8A */ li r3, -118 /* 802A55D0 002A1230 48 00 00 5C */ b lbl_802A562C lbl_802A55D4: /* 802A55D4 002A1234 93 83 01 00 */ stw r28, 0x100(r3) /* 802A55D8 002A1238 38 00 00 00 */ li r0, 0 /* 802A55DC 002A123C 7E E4 BB 78 */ mr r4, r23 /* 802A55E0 002A1240 38 BF 00 01 */ addi r5, r31, 1 /* 802A55E4 002A1244 93 A3 01 04 */ stw r29, 0x104(r3) /* 802A55E8 002A1248 90 03 01 08 */ stw r0, 0x108(r3) /* 802A55EC 002A124C 38 63 00 06 */ addi r3, r3, 6 /* 802A55F0 002A1250 4B D5 EA 11 */ bl memcpy /* 802A55F4 002A1254 9B 1E 00 49 */ stb r24, 0x49(r30) /* 802A55F8 002A1258 3D 20 80 2A */ lis r9, _isfsFuncCb@ha /* 802A55FC 002A125C 7F C5 F3 78 */ mr r5, r30 /* 802A5600 002A1260 7F CA F3 78 */ mr r10, r30 /* 802A5604 002A1264 9B 3E 00 46 */ stb r25, 0x46(r30) /* 802A5608 002A1268 39 29 48 14 */ addi r9, r9, _isfsFuncCb@l /* 802A560C 002A126C 38 80 00 09 */ li r4, 9 /* 802A5610 002A1270 38 C0 00 4C */ li r6, 0x4c /* 802A5614 002A1274 9B 5E 00 47 */ stb r26, 0x47(r30) /* 802A5618 002A1278 38 E0 00 00 */ li r7, 0 /* 802A561C 002A127C 39 00 00 00 */ li r8, 0 /* 802A5620 002A1280 9B 7E 00 48 */ stb r27, 0x48(r30) /* 802A5624 002A1284 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5628 002A1288 4B FF E3 91 */ bl IOS_IoctlAsync lbl_802A562C: /* 802A562C 002A128C 39 61 00 30 */ addi r11, r1, 0x30 /* 802A5630 002A1290 4B F2 1B 35 */ bl _restgpr_23 /* 802A5634 002A1294 80 01 00 34 */ lwz r0, 0x34(r1) /* 802A5638 002A1298 7C 08 03 A6 */ mtlr r0 /* 802A563C 002A129C 38 21 00 30 */ addi r1, r1, 0x30 /* 802A5640 002A12A0 4E 80 00 20 */ blr .global ISFS_Open ISFS_Open: /* 802A5644 002A12A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A5648 002A12A8 7C 08 02 A6 */ mflr r0 /* 802A564C 002A12AC 2C 03 00 00 */ cmpwi r3, 0 /* 802A5650 002A12B0 90 01 00 24 */ stw r0, 0x24(r1) /* 802A5654 002A12B4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802A5658 002A12B8 93 C1 00 18 */ stw r30, 0x18(r1) /* 802A565C 002A12BC 3B C0 00 00 */ li r30, 0 /* 802A5660 002A12C0 93 A1 00 14 */ stw r29, 0x14(r1) /* 802A5664 002A12C4 7C 9D 23 78 */ mr r29, r4 /* 802A5668 002A12C8 93 81 00 10 */ stw r28, 0x10(r1) /* 802A566C 002A12CC 7C 7C 1B 78 */ mr r28, r3 /* 802A5670 002A12D0 41 82 00 18 */ beq lbl_802A5688 /* 802A5674 002A12D4 38 80 00 40 */ li r4, 0x40 /* 802A5678 002A12D8 4B FF D2 8D */ bl strnlen /* 802A567C 002A12DC 28 03 00 40 */ cmplwi r3, 0x40 /* 802A5680 002A12E0 7C 7F 1B 78 */ mr r31, r3 /* 802A5684 002A12E4 40 82 00 0C */ bne lbl_802A5690 lbl_802A5688: /* 802A5688 002A12E8 3B E0 FF 9B */ li r31, -101 /* 802A568C 002A12EC 48 00 00 44 */ b lbl_802A56D0 lbl_802A5690: /* 802A5690 002A12F0 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A5694 002A12F4 38 80 01 40 */ li r4, 0x140 /* 802A5698 002A12F8 38 A0 00 20 */ li r5, 0x20 /* 802A569C 002A12FC 4B FF EC 9D */ bl iosAllocAligned /* 802A56A0 002A1300 2C 03 00 00 */ cmpwi r3, 0 /* 802A56A4 002A1304 7C 7E 1B 78 */ mr r30, r3 /* 802A56A8 002A1308 40 82 00 0C */ bne lbl_802A56B4 /* 802A56AC 002A130C 3B E0 FF EA */ li r31, -22 /* 802A56B0 002A1310 48 00 00 20 */ b lbl_802A56D0 lbl_802A56B4: /* 802A56B4 002A1314 7F 84 E3 78 */ mr r4, r28 /* 802A56B8 002A1318 38 BF 00 01 */ addi r5, r31, 1 /* 802A56BC 002A131C 4B D5 E9 45 */ bl memcpy /* 802A56C0 002A1320 7F C3 F3 78 */ mr r3, r30 /* 802A56C4 002A1324 7F A4 EB 78 */ mr r4, r29 /* 802A56C8 002A1328 4B FF DA 91 */ bl IOS_Open /* 802A56CC 002A132C 7C 7F 1B 78 */ mr r31, r3 lbl_802A56D0: /* 802A56D0 002A1330 2C 1E 00 00 */ cmpwi r30, 0 /* 802A56D4 002A1334 41 82 00 14 */ beq lbl_802A56E8 /* 802A56D8 002A1338 41 82 00 10 */ beq lbl_802A56E8 /* 802A56DC 002A133C 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A56E0 002A1340 7F C4 F3 78 */ mr r4, r30 /* 802A56E4 002A1344 4B FF EC 59 */ bl iosFree lbl_802A56E8: /* 802A56E8 002A1348 7F E3 FB 78 */ mr r3, r31 /* 802A56EC 002A134C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802A56F0 002A1350 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802A56F4 002A1354 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802A56F8 002A1358 83 81 00 10 */ lwz r28, 0x10(r1) /* 802A56FC 002A135C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A5700 002A1360 7C 08 03 A6 */ mtlr r0 /* 802A5704 002A1364 38 21 00 20 */ addi r1, r1, 0x20 /* 802A5708 002A1368 4E 80 00 20 */ blr .global ISFS_OpenAsync ISFS_OpenAsync: /* 802A570C 002A136C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A5710 002A1370 7C 08 02 A6 */ mflr r0 /* 802A5714 002A1374 90 01 00 24 */ stw r0, 0x24(r1) /* 802A5718 002A1378 39 61 00 20 */ addi r11, r1, 0x20 /* 802A571C 002A137C 4B F2 1A 09 */ bl _savegpr_26 /* 802A5720 002A1380 2C 03 00 00 */ cmpwi r3, 0 /* 802A5724 002A1384 7C 7A 1B 78 */ mr r26, r3 /* 802A5728 002A1388 7C 9B 23 78 */ mr r27, r4 /* 802A572C 002A138C 7C BC 2B 78 */ mr r28, r5 /* 802A5730 002A1390 7C DD 33 78 */ mr r29, r6 /* 802A5734 002A1394 41 82 00 18 */ beq lbl_802A574C /* 802A5738 002A1398 38 80 00 40 */ li r4, 0x40 /* 802A573C 002A139C 4B FF D1 C9 */ bl strnlen /* 802A5740 002A13A0 28 03 00 40 */ cmplwi r3, 0x40 /* 802A5744 002A13A4 7C 7F 1B 78 */ mr r31, r3 /* 802A5748 002A13A8 40 82 00 0C */ bne lbl_802A5754 lbl_802A574C: /* 802A574C 002A13AC 38 60 FF 9B */ li r3, -101 /* 802A5750 002A13B0 48 00 00 5C */ b lbl_802A57AC lbl_802A5754: /* 802A5754 002A13B4 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A5758 002A13B8 38 80 01 40 */ li r4, 0x140 /* 802A575C 002A13BC 38 A0 00 20 */ li r5, 0x20 /* 802A5760 002A13C0 4B FF EB D9 */ bl iosAllocAligned /* 802A5764 002A13C4 2C 03 00 00 */ cmpwi r3, 0 /* 802A5768 002A13C8 7C 7E 1B 78 */ mr r30, r3 /* 802A576C 002A13CC 40 82 00 0C */ bne lbl_802A5778 /* 802A5770 002A13D0 38 60 FF 8A */ li r3, -118 /* 802A5774 002A13D4 48 00 00 38 */ b lbl_802A57AC lbl_802A5778: /* 802A5778 002A13D8 93 83 01 00 */ stw r28, 0x100(r3) /* 802A577C 002A13DC 38 00 00 00 */ li r0, 0 /* 802A5780 002A13E0 7F 44 D3 78 */ mr r4, r26 /* 802A5784 002A13E4 38 BF 00 01 */ addi r5, r31, 1 /* 802A5788 002A13E8 93 A3 01 04 */ stw r29, 0x104(r3) /* 802A578C 002A13EC 90 03 01 08 */ stw r0, 0x108(r3) /* 802A5790 002A13F0 4B D5 E8 71 */ bl memcpy /* 802A5794 002A13F4 3C A0 80 2A */ lis r5, _isfsFuncCb@ha /* 802A5798 002A13F8 7F C3 F3 78 */ mr r3, r30 /* 802A579C 002A13FC 7F 64 DB 78 */ mr r4, r27 /* 802A57A0 002A1400 7F C6 F3 78 */ mr r6, r30 /* 802A57A4 002A1404 38 A5 48 14 */ addi r5, r5, _isfsFuncCb@l /* 802A57A8 002A1408 4B FF D8 99 */ bl IOS_OpenAsync lbl_802A57AC: /* 802A57AC 002A140C 39 61 00 20 */ addi r11, r1, 0x20 /* 802A57B0 002A1410 4B F2 19 C1 */ bl _restgpr_26 /* 802A57B4 002A1414 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A57B8 002A1418 7C 08 03 A6 */ mtlr r0 /* 802A57BC 002A141C 38 21 00 20 */ addi r1, r1, 0x20 /* 802A57C0 002A1420 4E 80 00 20 */ blr .global ISFS_GetFileStats ISFS_GetFileStats: /* 802A57C4 002A1424 2C 04 00 00 */ cmpwi r4, 0 /* 802A57C8 002A1428 41 82 00 0C */ beq lbl_802A57D4 /* 802A57CC 002A142C 54 80 06 FF */ clrlwi. r0, r4, 0x1b /* 802A57D0 002A1430 41 82 00 0C */ beq lbl_802A57DC lbl_802A57D4: /* 802A57D4 002A1434 38 60 FF 9B */ li r3, -101 /* 802A57D8 002A1438 4E 80 00 20 */ blr lbl_802A57DC: /* 802A57DC 002A143C 7C 87 23 78 */ mr r7, r4 /* 802A57E0 002A1440 38 80 00 0B */ li r4, 0xb /* 802A57E4 002A1444 38 A0 00 00 */ li r5, 0 /* 802A57E8 002A1448 38 C0 00 00 */ li r6, 0 /* 802A57EC 002A144C 39 00 00 08 */ li r8, 8 /* 802A57F0 002A1450 4B FF E3 00 */ b IOS_Ioctl /* 802A57F4 002A1454 4E 80 00 20 */ blr .global ISFS_Seek ISFS_Seek: /* 802A57F8 002A1458 4B FF E0 D8 */ b IOS_Seek .global ISFS_SeekAsync ISFS_SeekAsync: /* 802A57FC 002A145C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A5800 002A1460 7C 08 02 A6 */ mflr r0 /* 802A5804 002A1464 90 01 00 24 */ stw r0, 0x24(r1) /* 802A5808 002A1468 39 61 00 20 */ addi r11, r1, 0x20 /* 802A580C 002A146C 4B F2 19 1D */ bl _savegpr_27 /* 802A5810 002A1470 7C 7B 1B 78 */ mr r27, r3 /* 802A5814 002A1474 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A5818 002A1478 7C 9C 23 78 */ mr r28, r4 /* 802A581C 002A147C 7C BD 2B 78 */ mr r29, r5 /* 802A5820 002A1480 7C DE 33 78 */ mr r30, r6 /* 802A5824 002A1484 7C FF 3B 78 */ mr r31, r7 /* 802A5828 002A1488 38 80 01 40 */ li r4, 0x140 /* 802A582C 002A148C 38 A0 00 20 */ li r5, 0x20 /* 802A5830 002A1490 4B FF EB 09 */ bl iosAllocAligned /* 802A5834 002A1494 2C 03 00 00 */ cmpwi r3, 0 /* 802A5838 002A1498 40 82 00 0C */ bne lbl_802A5844 /* 802A583C 002A149C 38 60 FF 8A */ li r3, -118 /* 802A5840 002A14A0 48 00 00 30 */ b lbl_802A5870 lbl_802A5844: /* 802A5844 002A14A4 93 C3 01 00 */ stw r30, 0x100(r3) /* 802A5848 002A14A8 3C C0 80 2A */ lis r6, _isfsFuncCb@ha /* 802A584C 002A14AC 38 00 00 00 */ li r0, 0 /* 802A5850 002A14B0 7F 84 E3 78 */ mr r4, r28 /* 802A5854 002A14B4 93 E3 01 04 */ stw r31, 0x104(r3) /* 802A5858 002A14B8 7F A5 EB 78 */ mr r5, r29 /* 802A585C 002A14BC 7C 67 1B 78 */ mr r7, r3 /* 802A5860 002A14C0 38 C6 48 14 */ addi r6, r6, _isfsFuncCb@l /* 802A5864 002A14C4 90 03 01 08 */ stw r0, 0x108(r3) /* 802A5868 002A14C8 7F 63 DB 78 */ mr r3, r27 /* 802A586C 002A14CC 4B FF DF 85 */ bl IOS_SeekAsync lbl_802A5870: /* 802A5870 002A14D0 39 61 00 20 */ addi r11, r1, 0x20 /* 802A5874 002A14D4 4B F2 19 01 */ bl _restgpr_27 /* 802A5878 002A14D8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A587C 002A14DC 7C 08 03 A6 */ mtlr r0 /* 802A5880 002A14E0 38 21 00 20 */ addi r1, r1, 0x20 /* 802A5884 002A14E4 4E 80 00 20 */ blr .global ISFS_Read ISFS_Read: /* 802A5888 002A14E8 2C 04 00 00 */ cmpwi r4, 0 /* 802A588C 002A14EC 41 82 00 0C */ beq lbl_802A5898 /* 802A5890 002A14F0 54 80 06 FF */ clrlwi. r0, r4, 0x1b /* 802A5894 002A14F4 41 82 00 0C */ beq lbl_802A58A0 lbl_802A5898: /* 802A5898 002A14F8 38 60 FF 9B */ li r3, -101 /* 802A589C 002A14FC 4E 80 00 20 */ blr lbl_802A58A0: /* 802A58A0 002A1500 4B FF DC 40 */ b IOS_Read /* 802A58A4 002A1504 4E 80 00 20 */ blr .global ISFS_ReadAsync ISFS_ReadAsync: /* 802A58A8 002A1508 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A58AC 002A150C 7C 08 02 A6 */ mflr r0 /* 802A58B0 002A1510 90 01 00 24 */ stw r0, 0x24(r1) /* 802A58B4 002A1514 39 61 00 20 */ addi r11, r1, 0x20 /* 802A58B8 002A1518 4B F2 18 71 */ bl _savegpr_27 /* 802A58BC 002A151C 2C 04 00 00 */ cmpwi r4, 0 /* 802A58C0 002A1520 7C 7B 1B 78 */ mr r27, r3 /* 802A58C4 002A1524 7C 9C 23 78 */ mr r28, r4 /* 802A58C8 002A1528 7C BD 2B 78 */ mr r29, r5 /* 802A58CC 002A152C 7C DE 33 78 */ mr r30, r6 /* 802A58D0 002A1530 7C FF 3B 78 */ mr r31, r7 /* 802A58D4 002A1534 41 82 00 0C */ beq lbl_802A58E0 /* 802A58D8 002A1538 54 80 06 FF */ clrlwi. r0, r4, 0x1b /* 802A58DC 002A153C 41 82 00 0C */ beq lbl_802A58E8 lbl_802A58E0: /* 802A58E0 002A1540 38 60 FF 9B */ li r3, -101 /* 802A58E4 002A1544 48 00 00 50 */ b lbl_802A5934 lbl_802A58E8: /* 802A58E8 002A1548 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A58EC 002A154C 38 80 01 40 */ li r4, 0x140 /* 802A58F0 002A1550 38 A0 00 20 */ li r5, 0x20 /* 802A58F4 002A1554 4B FF EA 45 */ bl iosAllocAligned /* 802A58F8 002A1558 2C 03 00 00 */ cmpwi r3, 0 /* 802A58FC 002A155C 40 82 00 0C */ bne lbl_802A5908 /* 802A5900 002A1560 38 60 FF 8A */ li r3, -118 /* 802A5904 002A1564 48 00 00 30 */ b lbl_802A5934 lbl_802A5908: /* 802A5908 002A1568 93 C3 01 00 */ stw r30, 0x100(r3) /* 802A590C 002A156C 3C C0 80 2A */ lis r6, _isfsFuncCb@ha /* 802A5910 002A1570 38 00 00 00 */ li r0, 0 /* 802A5914 002A1574 7F 84 E3 78 */ mr r4, r28 /* 802A5918 002A1578 93 E3 01 04 */ stw r31, 0x104(r3) /* 802A591C 002A157C 7F A5 EB 78 */ mr r5, r29 /* 802A5920 002A1580 7C 67 1B 78 */ mr r7, r3 /* 802A5924 002A1584 38 C6 48 14 */ addi r6, r6, _isfsFuncCb@l /* 802A5928 002A1588 90 03 01 08 */ stw r0, 0x108(r3) /* 802A592C 002A158C 7F 63 DB 78 */ mr r3, r27 /* 802A5930 002A1590 4B FF DA B1 */ bl IOS_ReadAsync lbl_802A5934: /* 802A5934 002A1594 39 61 00 20 */ addi r11, r1, 0x20 /* 802A5938 002A1598 4B F2 18 3D */ bl _restgpr_27 /* 802A593C 002A159C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A5940 002A15A0 7C 08 03 A6 */ mtlr r0 /* 802A5944 002A15A4 38 21 00 20 */ addi r1, r1, 0x20 /* 802A5948 002A15A8 4E 80 00 20 */ blr .global ISFS_Write ISFS_Write: /* 802A594C 002A15AC 2C 04 00 00 */ cmpwi r4, 0 /* 802A5950 002A15B0 41 82 00 0C */ beq lbl_802A595C /* 802A5954 002A15B4 54 80 06 FF */ clrlwi. r0, r4, 0x1b /* 802A5958 002A15B8 41 82 00 0C */ beq lbl_802A5964 lbl_802A595C: /* 802A595C 002A15BC 38 60 FF 9B */ li r3, -101 /* 802A5960 002A15C0 4E 80 00 20 */ blr lbl_802A5964: /* 802A5964 002A15C4 4B FF DD 84 */ b IOS_Write /* 802A5968 002A15C8 4E 80 00 20 */ blr .global ISFS_WriteAsync ISFS_WriteAsync: /* 802A596C 002A15CC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A5970 002A15D0 7C 08 02 A6 */ mflr r0 /* 802A5974 002A15D4 90 01 00 24 */ stw r0, 0x24(r1) /* 802A5978 002A15D8 39 61 00 20 */ addi r11, r1, 0x20 /* 802A597C 002A15DC 4B F2 17 AD */ bl _savegpr_27 /* 802A5980 002A15E0 2C 04 00 00 */ cmpwi r4, 0 /* 802A5984 002A15E4 7C 7B 1B 78 */ mr r27, r3 /* 802A5988 002A15E8 7C 9C 23 78 */ mr r28, r4 /* 802A598C 002A15EC 7C BD 2B 78 */ mr r29, r5 /* 802A5990 002A15F0 7C DE 33 78 */ mr r30, r6 /* 802A5994 002A15F4 7C FF 3B 78 */ mr r31, r7 /* 802A5998 002A15F8 41 82 00 0C */ beq lbl_802A59A4 /* 802A599C 002A15FC 54 80 06 FF */ clrlwi. r0, r4, 0x1b /* 802A59A0 002A1600 41 82 00 0C */ beq lbl_802A59AC lbl_802A59A4: /* 802A59A4 002A1604 38 60 FF 9B */ li r3, -101 /* 802A59A8 002A1608 48 00 00 50 */ b lbl_802A59F8 lbl_802A59AC: /* 802A59AC 002A160C 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A59B0 002A1610 38 80 01 40 */ li r4, 0x140 /* 802A59B4 002A1614 38 A0 00 20 */ li r5, 0x20 /* 802A59B8 002A1618 4B FF E9 81 */ bl iosAllocAligned /* 802A59BC 002A161C 2C 03 00 00 */ cmpwi r3, 0 /* 802A59C0 002A1620 40 82 00 0C */ bne lbl_802A59CC /* 802A59C4 002A1624 38 60 FF 8A */ li r3, -118 /* 802A59C8 002A1628 48 00 00 30 */ b lbl_802A59F8 lbl_802A59CC: /* 802A59CC 002A162C 93 C3 01 00 */ stw r30, 0x100(r3) /* 802A59D0 002A1630 3C C0 80 2A */ lis r6, _isfsFuncCb@ha /* 802A59D4 002A1634 38 00 00 00 */ li r0, 0 /* 802A59D8 002A1638 7F 84 E3 78 */ mr r4, r28 /* 802A59DC 002A163C 93 E3 01 04 */ stw r31, 0x104(r3) /* 802A59E0 002A1640 7F A5 EB 78 */ mr r5, r29 /* 802A59E4 002A1644 7C 67 1B 78 */ mr r7, r3 /* 802A59E8 002A1648 38 C6 48 14 */ addi r6, r6, _isfsFuncCb@l /* 802A59EC 002A164C 90 03 01 08 */ stw r0, 0x108(r3) /* 802A59F0 002A1650 7F 63 DB 78 */ mr r3, r27 /* 802A59F4 002A1654 4B FF DB F5 */ bl IOS_WriteAsync lbl_802A59F8: /* 802A59F8 002A1658 39 61 00 20 */ addi r11, r1, 0x20 /* 802A59FC 002A165C 4B F2 17 79 */ bl _restgpr_27 /* 802A5A00 002A1660 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A5A04 002A1664 7C 08 03 A6 */ mtlr r0 /* 802A5A08 002A1668 38 21 00 20 */ addi r1, r1, 0x20 /* 802A5A0C 002A166C 4E 80 00 20 */ blr .global ISFS_Close ISFS_Close: /* 802A5A10 002A1670 4B FF D9 28 */ b IOS_Close .global ISFS_CloseAsync ISFS_CloseAsync: /* 802A5A14 002A1674 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A5A18 002A1678 7C 08 02 A6 */ mflr r0 /* 802A5A1C 002A167C 90 01 00 24 */ stw r0, 0x24(r1) /* 802A5A20 002A1680 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802A5A24 002A1684 7C BF 2B 78 */ mr r31, r5 /* 802A5A28 002A1688 38 A0 00 20 */ li r5, 0x20 /* 802A5A2C 002A168C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802A5A30 002A1690 7C 9E 23 78 */ mr r30, r4 /* 802A5A34 002A1694 38 80 01 40 */ li r4, 0x140 /* 802A5A38 002A1698 93 A1 00 14 */ stw r29, 0x14(r1) /* 802A5A3C 002A169C 7C 7D 1B 78 */ mr r29, r3 /* 802A5A40 002A16A0 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A5A44 002A16A4 4B FF E8 F5 */ bl iosAllocAligned /* 802A5A48 002A16A8 2C 03 00 00 */ cmpwi r3, 0 /* 802A5A4C 002A16AC 40 82 00 0C */ bne lbl_802A5A58 /* 802A5A50 002A16B0 38 60 FF 8A */ li r3, -118 /* 802A5A54 002A16B4 48 00 00 28 */ b lbl_802A5A7C lbl_802A5A58: /* 802A5A58 002A16B8 93 C3 01 00 */ stw r30, 0x100(r3) /* 802A5A5C 002A16BC 3C 80 80 2A */ lis r4, _isfsFuncCb@ha /* 802A5A60 002A16C0 38 00 00 00 */ li r0, 0 /* 802A5A64 002A16C4 7C 65 1B 78 */ mr r5, r3 /* 802A5A68 002A16C8 93 E3 01 04 */ stw r31, 0x104(r3) /* 802A5A6C 002A16CC 38 84 48 14 */ addi r4, r4, _isfsFuncCb@l /* 802A5A70 002A16D0 90 03 01 08 */ stw r0, 0x108(r3) /* 802A5A74 002A16D4 7F A3 EB 78 */ mr r3, r29 /* 802A5A78 002A16D8 4B FF D8 01 */ bl IOS_CloseAsync lbl_802A5A7C: /* 802A5A7C 002A16DC 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A5A80 002A16E0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802A5A84 002A16E4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802A5A88 002A16E8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802A5A8C 002A16EC 7C 08 03 A6 */ mtlr r0 /* 802A5A90 002A16F0 38 21 00 20 */ addi r1, r1, 0x20 /* 802A5A94 002A16F4 4E 80 00 20 */ blr .global ISFS_ShutdownAsync ISFS_ShutdownAsync: /* 802A5A98 002A16F8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A5A9C 002A16FC 7C 08 02 A6 */ mflr r0 /* 802A5AA0 002A1700 38 A0 00 20 */ li r5, 0x20 /* 802A5AA4 002A1704 90 01 00 14 */ stw r0, 0x14(r1) /* 802A5AA8 002A1708 93 E1 00 0C */ stw r31, 0xc(r1) /* 802A5AAC 002A170C 7C 9F 23 78 */ mr r31, r4 /* 802A5AB0 002A1710 38 80 01 40 */ li r4, 0x140 /* 802A5AB4 002A1714 93 C1 00 08 */ stw r30, 8(r1) /* 802A5AB8 002A1718 7C 7E 1B 78 */ mr r30, r3 /* 802A5ABC 002A171C 80 6D AE 28 */ lwz r3, lbl_806400E8-_SDA_BASE_(r13) /* 802A5AC0 002A1720 4B FF E8 79 */ bl iosAllocAligned /* 802A5AC4 002A1724 80 0D 89 90 */ lwz r0, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5AC8 002A1728 2C 00 00 00 */ cmpwi r0, 0 /* 802A5ACC 002A172C 40 80 00 0C */ bge lbl_802A5AD8 /* 802A5AD0 002A1730 38 60 FF 9B */ li r3, -101 /* 802A5AD4 002A1734 48 00 00 3C */ b lbl_802A5B10 lbl_802A5AD8: /* 802A5AD8 002A1738 93 C3 01 00 */ stw r30, 0x100(r3) /* 802A5ADC 002A173C 3D 20 80 2A */ lis r9, _isfsFuncCb@ha /* 802A5AE0 002A1740 38 00 00 00 */ li r0, 0 /* 802A5AE4 002A1744 7C 6A 1B 78 */ mr r10, r3 /* 802A5AE8 002A1748 93 E3 01 04 */ stw r31, 0x104(r3) /* 802A5AEC 002A174C 39 29 48 14 */ addi r9, r9, _isfsFuncCb@l /* 802A5AF0 002A1750 38 80 00 0D */ li r4, 0xd /* 802A5AF4 002A1754 38 A0 00 00 */ li r5, 0 /* 802A5AF8 002A1758 90 03 01 08 */ stw r0, 0x108(r3) /* 802A5AFC 002A175C 38 C0 00 00 */ li r6, 0 /* 802A5B00 002A1760 38 E0 00 00 */ li r7, 0 /* 802A5B04 002A1764 39 00 00 00 */ li r8, 0 /* 802A5B08 002A1768 80 6D 89 90 */ lwz r3, lbl_8063DC50-_SDA_BASE_(r13) /* 802A5B0C 002A176C 4B FF DE AD */ bl IOS_IoctlAsync lbl_802A5B10: /* 802A5B10 002A1770 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A5B14 002A1774 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802A5B18 002A1778 83 C1 00 08 */ lwz r30, 8(r1) /* 802A5B1C 002A177C 7C 08 03 A6 */ mtlr r0 /* 802A5B20 002A1780 38 21 00 10 */ addi r1, r1, 0x10 /* 802A5B24 002A1784 4E 80 00 20 */ blr