From c943fbc11f7d8c44c48334fd1574d9cc3958859f Mon Sep 17 00:00:00 2001 From: Max Date: Sun, 4 Oct 2020 21:54:53 -0400 Subject: split WPADHIDParser.s --- asm/SDK/DebuggerDriver.s | 242 -- asm/SDK/FS/fs.s | 1474 +++++++++++ asm/SDK/IPC/ipcMain.s | 55 + asm/SDK/IPC/ipcProfile.s | 133 + asm/SDK/IPC/ipcclt.s | 1695 ++++++++++++ asm/SDK/IPC/memory.s | 373 +++ asm/SDK/NdevExi2A/DebuggerDriver.s | 242 ++ asm/SDK/NdevExi2A/exi2.s | 539 ++++ asm/SDK/WPAD/WPAD.s | 2 +- asm/SDK/WPAD/WPADHIDParser.s | 5096 ++++++++++++++++++++++++++++++++++++ asm/SDK/exi2.s | 539 ---- asm/SDK/fs.s | 1474 ----------- asm/SDK/ipcMain.s | 55 - asm/SDK/ipcProfile.s | 133 - asm/SDK/ipcclt.s | 1695 ------------ asm/SDK/memory.s | 373 --- 16 files changed, 9608 insertions(+), 4512 deletions(-) delete mode 100644 asm/SDK/DebuggerDriver.s create mode 100644 asm/SDK/FS/fs.s create mode 100644 asm/SDK/IPC/ipcMain.s create mode 100644 asm/SDK/IPC/ipcProfile.s create mode 100644 asm/SDK/IPC/ipcclt.s create mode 100644 asm/SDK/IPC/memory.s create mode 100644 asm/SDK/NdevExi2A/DebuggerDriver.s create mode 100644 asm/SDK/NdevExi2A/exi2.s create mode 100644 asm/SDK/WPAD/WPADHIDParser.s delete mode 100644 asm/SDK/exi2.s delete mode 100644 asm/SDK/fs.s delete mode 100644 asm/SDK/ipcMain.s delete mode 100644 asm/SDK/ipcProfile.s delete mode 100644 asm/SDK/ipcclt.s delete mode 100644 asm/SDK/memory.s (limited to 'asm/SDK') diff --git a/asm/SDK/DebuggerDriver.s b/asm/SDK/DebuggerDriver.s deleted file mode 100644 index bf83ef9..0000000 --- a/asm/SDK/DebuggerDriver.s +++ /dev/null @@ -1,242 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 0x80006980 - 0x803E1E60 - -.global __DBMtrHandler -__DBMtrHandler: -/* 801D9F70 001D5BD0 81 8D 9F F0 */ lwz r12, lbl_8063F2B0-_SDA_BASE_(r13) -/* 801D9F74 001D5BD4 38 00 00 01 */ li r0, 1 -/* 801D9F78 001D5BD8 98 0D 9F F8 */ stb r0, lbl_8063F2B8-_SDA_BASE_(r13) -/* 801D9F7C 001D5BDC 2C 0C 00 00 */ cmpwi r12, 0 -/* 801D9F80 001D5BE0 4D 82 00 20 */ beqlr -/* 801D9F84 001D5BE4 38 60 00 00 */ li r3, 0 -/* 801D9F88 001D5BE8 7D 89 03 A6 */ mtctr r12 -/* 801D9F8C 001D5BEC 4E 80 04 20 */ bctr -/* 801D9F90 001D5BF0 4E 80 00 20 */ blr - -.global __DBIntrHandler -__DBIntrHandler: -/* 801D9F94 001D5BF4 38 00 10 00 */ li r0, 0x1000 -/* 801D9F98 001D5BF8 3C A0 CC 00 */ lis r5, 0xCC003000@ha -/* 801D9F9C 001D5BFC 90 05 30 00 */ stw r0, 0xCC003000@l(r5) -/* 801D9FA0 001D5C00 81 8D 9F F4 */ lwz r12, lbl_8063F2B4-_SDA_BASE_(r13) -/* 801D9FA4 001D5C04 2C 0C 00 00 */ cmpwi r12, 0 -/* 801D9FA8 001D5C08 4D 82 00 20 */ beqlr -/* 801D9FAC 001D5C0C 7D 89 03 A6 */ mtctr r12 -/* 801D9FB0 001D5C10 4E 80 04 20 */ bctr -/* 801D9FB4 001D5C14 4E 80 00 20 */ blr - -.global DBInitComm -DBInitComm: -/* 801D9FB8 001D5C18 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801D9FBC 001D5C1C 7C 08 02 A6 */ mflr r0 -/* 801D9FC0 001D5C20 90 01 00 24 */ stw r0, 0x24(r1) -/* 801D9FC4 001D5C24 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801D9FC8 001D5C28 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801D9FCC 001D5C2C 7C 9E 23 78 */ mr r30, r4 -/* 801D9FD0 001D5C30 93 A1 00 14 */ stw r29, 0x14(r1) -/* 801D9FD4 001D5C34 7C 7D 1B 78 */ mr r29, r3 -/* 801D9FD8 001D5C38 48 09 47 85 */ bl OSDisableInterrupts -/* 801D9FDC 001D5C3C 38 0D 9F F8 */ addi r0, r13, lbl_8063F2B8-_SDA_BASE_ -/* 801D9FE0 001D5C40 7C 7F 1B 78 */ mr r31, r3 -/* 801D9FE4 001D5C44 90 1D 00 00 */ stw r0, 0(r29) -/* 801D9FE8 001D5C48 93 CD 9F F0 */ stw r30, lbl_8063F2B0-_SDA_BASE_(r13) -/* 801D9FEC 001D5C4C 48 00 05 A1 */ bl __DBEXIInit -/* 801D9FF0 001D5C50 7F E3 FB 78 */ mr r3, r31 -/* 801D9FF4 001D5C54 48 09 47 91 */ bl OSRestoreInterrupts -/* 801D9FF8 001D5C58 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801D9FFC 001D5C5C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801DA000 001D5C60 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801DA004 001D5C64 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 801DA008 001D5C68 7C 08 03 A6 */ mtlr r0 -/* 801DA00C 001D5C6C 38 21 00 20 */ addi r1, r1, 0x20 -/* 801DA010 001D5C70 4E 80 00 20 */ blr - -.global DBInitInterrupts -DBInitInterrupts: -/* 801DA014 001D5C74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801DA018 001D5C78 7C 08 02 A6 */ mflr r0 -/* 801DA01C 001D5C7C 3C 60 00 02 */ lis r3, 0x00018000@ha -/* 801DA020 001D5C80 90 01 00 14 */ stw r0, 0x14(r1) -/* 801DA024 001D5C84 38 63 80 00 */ addi r3, r3, 0x00018000@l -/* 801DA028 001D5C88 48 09 4A C5 */ bl __OSMaskInterrupts -/* 801DA02C 001D5C8C 38 60 00 40 */ li r3, 0x40 -/* 801DA030 001D5C90 48 09 4A BD */ bl __OSMaskInterrupts -/* 801DA034 001D5C94 3C 60 80 1E */ lis r3, __DBMtrHandler@ha -/* 801DA038 001D5C98 3C 80 80 1E */ lis r4, __DBIntrHandler@ha -/* 801DA03C 001D5C9C 38 63 9F 70 */ addi r3, r3, __DBMtrHandler@l -/* 801DA040 001D5CA0 90 6D 9F F4 */ stw r3, lbl_8063F2B4-_SDA_BASE_(r13) -/* 801DA044 001D5CA4 38 84 9F 94 */ addi r4, r4, __DBIntrHandler@l -/* 801DA048 001D5CA8 38 60 00 19 */ li r3, 0x19 -/* 801DA04C 001D5CAC 48 09 47 5D */ bl __OSSetInterruptHandler -/* 801DA050 001D5CB0 38 60 00 40 */ li r3, 0x40 -/* 801DA054 001D5CB4 48 09 4B 19 */ bl __OSUnmaskInterrupts -/* 801DA058 001D5CB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801DA05C 001D5CBC 7C 08 03 A6 */ mtlr r0 -/* 801DA060 001D5CC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801DA064 001D5CC4 4E 80 00 20 */ blr - -.global DBQueryData -DBQueryData: -/* 801DA068 001D5CC8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801DA06C 001D5CCC 7C 08 02 A6 */ mflr r0 -/* 801DA070 001D5CD0 38 60 00 00 */ li r3, 0 -/* 801DA074 001D5CD4 90 01 00 24 */ stw r0, 0x24(r1) -/* 801DA078 001D5CD8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801DA07C 001D5CDC 80 0D A0 00 */ lwz r0, lbl_8063F2C0-_SDA_BASE_(r13) -/* 801DA080 001D5CE0 98 6D 9F F8 */ stb r3, lbl_8063F2B8-_SDA_BASE_(r13) -/* 801DA084 001D5CE4 2C 00 00 00 */ cmpwi r0, 0 -/* 801DA088 001D5CE8 40 82 00 6C */ bne lbl_801DA0F4 -/* 801DA08C 001D5CEC 48 09 46 D1 */ bl OSDisableInterrupts -/* 801DA090 001D5CF0 7C 7F 1B 78 */ mr r31, r3 -/* 801DA094 001D5CF4 38 81 00 08 */ addi r4, r1, 8 -/* 801DA098 001D5CF8 3C 60 34 00 */ lis r3, 0x3400 -/* 801DA09C 001D5CFC 38 A0 00 01 */ li r5, 1 -/* 801DA0A0 001D5D00 48 00 05 A9 */ bl __DBEXIReadReg -/* 801DA0A4 001D5D04 88 01 00 08 */ lbz r0, 8(r1) -/* 801DA0A8 001D5D08 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 801DA0AC 001D5D0C 40 82 00 40 */ bne lbl_801DA0EC -/* 801DA0B0 001D5D10 3C 60 34 00 */ lis r3, 0x34000200@ha -/* 801DA0B4 001D5D14 38 81 00 0C */ addi r4, r1, 0xc -/* 801DA0B8 001D5D18 38 63 02 00 */ addi r3, r3, 0x34000200@l -/* 801DA0BC 001D5D1C 38 A0 00 04 */ li r5, 4 -/* 801DA0C0 001D5D20 48 00 05 89 */ bl __DBEXIReadReg -/* 801DA0C4 001D5D24 80 81 00 0C */ lwz r4, 0xc(r1) -/* 801DA0C8 001D5D28 54 83 00 CE */ rlwinm r3, r4, 0, 3, 7 -/* 801DA0CC 001D5D2C 3C 03 E1 00 */ addis r0, r3, 0xe100 -/* 801DA0D0 001D5D30 28 00 00 00 */ cmplwi r0, 0 -/* 801DA0D4 001D5D34 40 82 00 18 */ bne lbl_801DA0EC -/* 801DA0D8 001D5D38 54 83 04 FE */ clrlwi r3, r4, 0x13 -/* 801DA0DC 001D5D3C 38 00 00 01 */ li r0, 1 -/* 801DA0E0 001D5D40 90 8D 9F FC */ stw r4, lbl_8063F2BC-_SDA_BASE_(r13) -/* 801DA0E4 001D5D44 90 6D A0 00 */ stw r3, lbl_8063F2C0-_SDA_BASE_(r13) -/* 801DA0E8 001D5D48 98 0D 9F F8 */ stb r0, lbl_8063F2B8-_SDA_BASE_(r13) -lbl_801DA0EC: -/* 801DA0EC 001D5D4C 7F E3 FB 78 */ mr r3, r31 -/* 801DA0F0 001D5D50 48 09 46 95 */ bl OSRestoreInterrupts -lbl_801DA0F4: -/* 801DA0F4 001D5D54 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801DA0F8 001D5D58 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801DA0FC 001D5D5C 80 6D A0 00 */ lwz r3, lbl_8063F2C0-_SDA_BASE_(r13) -/* 801DA100 001D5D60 7C 08 03 A6 */ mtlr r0 -/* 801DA104 001D5D64 38 21 00 20 */ addi r1, r1, 0x20 -/* 801DA108 001D5D68 4E 80 00 20 */ blr - -.global DBRead -DBRead: -/* 801DA10C 001D5D6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801DA110 001D5D70 7C 08 02 A6 */ mflr r0 -/* 801DA114 001D5D74 90 01 00 14 */ stw r0, 0x14(r1) -/* 801DA118 001D5D78 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801DA11C 001D5D7C 7C 9F 23 78 */ mr r31, r4 -/* 801DA120 001D5D80 93 C1 00 08 */ stw r30, 8(r1) -/* 801DA124 001D5D84 7C 7E 1B 78 */ mr r30, r3 -/* 801DA128 001D5D88 48 09 46 35 */ bl OSDisableInterrupts -/* 801DA12C 001D5D8C 80 AD 9F FC */ lwz r5, lbl_8063F2BC-_SDA_BASE_(r13) -/* 801DA130 001D5D90 38 1F 00 03 */ addi r0, r31, 3 -/* 801DA134 001D5D94 7C 7F 1B 78 */ mr r31, r3 -/* 801DA138 001D5D98 7F C4 F3 78 */ mr r4, r30 -/* 801DA13C 001D5D9C 54 A3 87 FE */ rlwinm r3, r5, 0x10, 0x1f, 0x1f -/* 801DA140 001D5DA0 54 05 00 3A */ rlwinm r5, r0, 0, 0, 0x1d -/* 801DA144 001D5DA4 7C 03 00 D0 */ neg r0, r3 -/* 801DA148 001D5DA8 54 03 05 28 */ rlwinm r3, r0, 0, 0x14, 0x14 -/* 801DA14C 001D5DAC 3C 63 00 D1 */ addis r3, r3, 0xd1 -/* 801DA150 001D5DB0 38 03 10 00 */ addi r0, r3, 0x1000 -/* 801DA154 001D5DB4 54 03 30 AE */ rlwinm r3, r0, 6, 2, 0x17 -/* 801DA158 001D5DB8 48 00 07 19 */ bl __DBEXIReadRam -/* 801DA15C 001D5DBC 38 00 00 00 */ li r0, 0 -/* 801DA160 001D5DC0 7F E3 FB 78 */ mr r3, r31 -/* 801DA164 001D5DC4 90 0D A0 00 */ stw r0, lbl_8063F2C0-_SDA_BASE_(r13) -/* 801DA168 001D5DC8 98 0D 9F F8 */ stb r0, lbl_8063F2B8-_SDA_BASE_(r13) -/* 801DA16C 001D5DCC 48 09 46 19 */ bl OSRestoreInterrupts -/* 801DA170 001D5DD0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801DA174 001D5DD4 38 60 00 00 */ li r3, 0 -/* 801DA178 001D5DD8 83 C1 00 08 */ lwz r30, 8(r1) -/* 801DA17C 001D5DDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801DA180 001D5DE0 7C 08 03 A6 */ mtlr r0 -/* 801DA184 001D5DE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801DA188 001D5DE8 4E 80 00 20 */ blr - -.global DBWrite -DBWrite: -/* 801DA18C 001D5DEC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801DA190 001D5DF0 7C 08 02 A6 */ mflr r0 -/* 801DA194 001D5DF4 90 01 00 34 */ stw r0, 0x34(r1) -/* 801DA198 001D5DF8 39 61 00 30 */ addi r11, r1, 0x30 -/* 801DA19C 001D5DFC 4B FE CF 8D */ bl _savegpr_27 -/* 801DA1A0 001D5E00 7C 7B 1B 78 */ mr r27, r3 -/* 801DA1A4 001D5E04 7C 9C 23 78 */ mr r28, r4 -/* 801DA1A8 001D5E08 48 09 45 B5 */ bl OSDisableInterrupts -/* 801DA1AC 001D5E0C 7C 7F 1B 78 */ mr r31, r3 -lbl_801DA1B0: -/* 801DA1B0 001D5E10 38 81 00 0A */ addi r4, r1, 0xa -/* 801DA1B4 001D5E14 3C 60 34 00 */ lis r3, 0x3400 -/* 801DA1B8 001D5E18 38 A0 00 01 */ li r5, 1 -/* 801DA1BC 001D5E1C 48 00 04 8D */ bl __DBEXIReadReg -/* 801DA1C0 001D5E20 88 01 00 0A */ lbz r0, 0xa(r1) -/* 801DA1C4 001D5E24 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 801DA1C8 001D5E28 40 82 FF E8 */ bne lbl_801DA1B0 -/* 801DA1CC 001D5E2C 88 6D 84 08 */ lbz r3, lbl_8063D6C8-_SDA_BASE_(r13) -/* 801DA1D0 001D5E30 38 1C 00 03 */ addi r0, r28, 3 -/* 801DA1D4 001D5E34 54 1D 00 3A */ rlwinm r29, r0, 0, 0, 0x1d -/* 801DA1D8 001D5E38 38 63 00 01 */ addi r3, r3, 1 -/* 801DA1DC 001D5E3C 54 60 07 FE */ clrlwi r0, r3, 0x1f -/* 801DA1E0 001D5E40 98 6D 84 08 */ stb r3, lbl_8063D6C8-_SDA_BASE_(r13) -/* 801DA1E4 001D5E44 7C 00 00 D0 */ neg r0, r0 -/* 801DA1E8 001D5E48 54 03 05 28 */ rlwinm r3, r0, 0, 0x14, 0x14 -/* 801DA1EC 001D5E4C 3C 03 00 D1 */ addis r0, r3, 0xd1 -/* 801DA1F0 001D5E50 54 00 30 AE */ rlwinm r0, r0, 6, 2, 0x17 -/* 801DA1F4 001D5E54 64 1E 80 00 */ oris r30, r0, 0x8000 -lbl_801DA1F8: -/* 801DA1F8 001D5E58 7F C3 F3 78 */ mr r3, r30 -/* 801DA1FC 001D5E5C 7F 64 DB 78 */ mr r4, r27 -/* 801DA200 001D5E60 7F A5 EB 78 */ mr r5, r29 -/* 801DA204 001D5E64 48 00 07 4D */ bl __DBEXIWriteRam -/* 801DA208 001D5E68 2C 03 00 00 */ cmpwi r3, 0 -/* 801DA20C 001D5E6C 41 82 FF EC */ beq lbl_801DA1F8 -lbl_801DA210: -/* 801DA210 001D5E70 38 81 00 09 */ addi r4, r1, 9 -/* 801DA214 001D5E74 3C 60 34 00 */ lis r3, 0x3400 -/* 801DA218 001D5E78 38 A0 00 01 */ li r5, 1 -/* 801DA21C 001D5E7C 48 00 04 2D */ bl __DBEXIReadReg -/* 801DA220 001D5E80 88 01 00 09 */ lbz r0, 9(r1) -/* 801DA224 001D5E84 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 801DA228 001D5E88 40 82 FF E8 */ bne lbl_801DA210 -/* 801DA22C 001D5E8C 88 6D 84 08 */ lbz r3, lbl_8063D6C8-_SDA_BASE_(r13) -/* 801DA230 001D5E90 57 80 04 FE */ clrlwi r0, r28, 0x13 -/* 801DA234 001D5E94 64 1D 1F 00 */ oris r29, r0, 0x1f00 -/* 801DA238 001D5E98 3F C0 B4 00 */ lis r30, 0xB4000100@ha -/* 801DA23C 001D5E9C 50 7D 82 1E */ rlwimi r29, r3, 0x10, 8, 0xf -lbl_801DA240: -/* 801DA240 001D5EA0 93 A1 00 0C */ stw r29, 0xc(r1) -/* 801DA244 001D5EA4 38 7E 01 00 */ addi r3, r30, 0xB4000100@l -/* 801DA248 001D5EA8 38 81 00 0C */ addi r4, r1, 0xc -/* 801DA24C 001D5EAC 38 A0 00 04 */ li r5, 4 -/* 801DA250 001D5EB0 48 00 05 1D */ bl __DBEXIWriteReg -/* 801DA254 001D5EB4 2C 03 00 00 */ cmpwi r3, 0 -/* 801DA258 001D5EB8 41 82 FF E8 */ beq lbl_801DA240 -lbl_801DA25C: -/* 801DA25C 001D5EBC 38 81 00 08 */ addi r4, r1, 8 -/* 801DA260 001D5EC0 3C 60 34 00 */ lis r3, 0x3400 -/* 801DA264 001D5EC4 38 A0 00 01 */ li r5, 1 -/* 801DA268 001D5EC8 48 00 03 E1 */ bl __DBEXIReadReg -/* 801DA26C 001D5ECC 88 01 00 08 */ lbz r0, 8(r1) -/* 801DA270 001D5ED0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 801DA274 001D5ED4 40 82 FF E8 */ bne lbl_801DA25C -/* 801DA278 001D5ED8 7F E3 FB 78 */ mr r3, r31 -/* 801DA27C 001D5EDC 48 09 45 09 */ bl OSRestoreInterrupts -/* 801DA280 001D5EE0 39 61 00 30 */ addi r11, r1, 0x30 -/* 801DA284 001D5EE4 38 60 00 00 */ li r3, 0 -/* 801DA288 001D5EE8 4B FE CE ED */ bl _restgpr_27 -/* 801DA28C 001D5EEC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801DA290 001D5EF0 7C 08 03 A6 */ mtlr r0 -/* 801DA294 001D5EF4 38 21 00 30 */ addi r1, r1, 0x30 -/* 801DA298 001D5EF8 4E 80 00 20 */ blr - -.global DBOpen -DBOpen: -/* 801DA29C 001D5EFC 4E 80 00 20 */ blr - -.global DBClose -DBClose: -/* 801DA2A0 001D5F00 4E 80 00 20 */ blr diff --git a/asm/SDK/FS/fs.s b/asm/SDK/FS/fs.s new file mode 100644 index 0000000..f3d27b5 --- /dev/null +++ b/asm/SDK/FS/fs.s @@ -0,0 +1,1474 @@ +.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 func_80007AC4 +/* 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 func_80007AC4 +/* 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 diff --git a/asm/SDK/IPC/ipcMain.s b/asm/SDK/IPC/ipcMain.s new file mode 100644 index 0000000..783c5c4 --- /dev/null +++ b/asm/SDK/IPC/ipcMain.s @@ -0,0 +1,55 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global IPCInit +IPCInit: +/* 802A2880 0029E4E0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802A2884 0029E4E4 7C 08 02 A6 */ mflr r0 +/* 802A2888 0029E4E8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802A288C 0029E4EC 88 0D AD E8 */ lbz r0, lbl_806400A8-_SDA_BASE_(r13) +/* 802A2890 0029E4F0 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2894 0029E4F4 40 82 00 28 */ bne lbl_802A28BC +/* 802A2898 0029E4F8 4B FD 08 0D */ bl __OSGetIPCBufferHi +/* 802A289C 0029E4FC 90 6D AD F8 */ stw r3, lbl_806400B8-_SDA_BASE_(r13) +/* 802A28A0 0029E500 4B FD 08 0D */ bl __OSGetIPCBufferLo +/* 802A28A4 0029E504 80 8D AD F8 */ lwz r4, lbl_806400B8-_SDA_BASE_(r13) +/* 802A28A8 0029E508 38 00 00 01 */ li r0, 1 +/* 802A28AC 0029E50C 90 6D AD F4 */ stw r3, lbl_806400B4-_SDA_BASE_(r13) +/* 802A28B0 0029E510 90 8D AD F0 */ stw r4, lbl_806400B0-_SDA_BASE_(r13) +/* 802A28B4 0029E514 90 6D AD EC */ stw r3, lbl_806400AC-_SDA_BASE_(r13) +/* 802A28B8 0029E518 98 0D AD E8 */ stb r0, lbl_806400A8-_SDA_BASE_(r13) +lbl_802A28BC: +/* 802A28BC 0029E51C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802A28C0 0029E520 7C 08 03 A6 */ mtlr r0 +/* 802A28C4 0029E524 38 21 00 10 */ addi r1, r1, 0x10 +/* 802A28C8 0029E528 4E 80 00 20 */ blr + +.global IPCReadReg +IPCReadReg: +/* 802A28CC 0029E52C 54 60 10 3A */ slwi r0, r3, 2 +/* 802A28D0 0029E530 3C 60 CD 00 */ lis r3, 0xcd00 +/* 802A28D4 0029E534 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802A28D8 0029E538 4E 80 00 20 */ blr + +.global IPCWriteReg +IPCWriteReg: +/* 802A28DC 0029E53C 54 60 10 3A */ slwi r0, r3, 2 +/* 802A28E0 0029E540 3C 60 CD 00 */ lis r3, 0xcd00 +/* 802A28E4 0029E544 7C 83 01 2E */ stwx r4, r3, r0 +/* 802A28E8 0029E548 4E 80 00 20 */ blr + +.global IPCGetBufferHi +IPCGetBufferHi: +/* 802A28EC 0029E54C 80 6D AD F0 */ lwz r3, lbl_806400B0-_SDA_BASE_(r13) +/* 802A28F0 0029E550 4E 80 00 20 */ blr + +.global IPCGetBufferLo +IPCGetBufferLo: +/* 802A28F4 0029E554 80 6D AD EC */ lwz r3, lbl_806400AC-_SDA_BASE_(r13) +/* 802A28F8 0029E558 4E 80 00 20 */ blr + +.global IPCSetBufferLo +IPCSetBufferLo: +/* 802A28FC 0029E55C 90 6D AD EC */ stw r3, lbl_806400AC-_SDA_BASE_(r13) +/* 802A2900 0029E560 4E 80 00 20 */ blr diff --git a/asm/SDK/IPC/ipcProfile.s b/asm/SDK/IPC/ipcProfile.s new file mode 100644 index 0000000..e956ce2 --- /dev/null +++ b/asm/SDK/IPC/ipcProfile.s @@ -0,0 +1,133 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global IPCiProfInit +IPCiProfInit: +/* 802A4528 002A0188 38 80 00 00 */ li r4, 0 +/* 802A452C 002A018C 3C A0 80 53 */ lis r5, lbl_80536CB0@ha +/* 802A4530 002A0190 3C C0 80 53 */ lis r6, lbl_80536C30@ha +/* 802A4534 002A0194 38 00 00 02 */ li r0, 2 +/* 802A4538 002A0198 90 8D AE 10 */ stw r4, lbl_806400D0-_SDA_BASE_(r13) +/* 802A453C 002A019C 38 A5 6C B0 */ addi r5, r5, lbl_80536CB0@l +/* 802A4540 002A01A0 38 C6 6C 30 */ addi r6, r6, lbl_80536C30@l +/* 802A4544 002A01A4 38 60 FF FF */ li r3, -1 +/* 802A4548 002A01A8 90 8D AE 14 */ stw r4, lbl_806400D4-_SDA_BASE_(r13) +/* 802A454C 002A01AC 7C 09 03 A6 */ mtctr r0 +lbl_802A4550: +/* 802A4550 002A01B0 90 85 00 00 */ stw r4, 0(r5) +/* 802A4554 002A01B4 90 66 00 00 */ stw r3, 0(r6) +/* 802A4558 002A01B8 90 85 00 04 */ stw r4, 4(r5) +/* 802A455C 002A01BC 90 66 00 04 */ stw r3, 4(r6) +/* 802A4560 002A01C0 90 85 00 08 */ stw r4, 8(r5) +/* 802A4564 002A01C4 90 66 00 08 */ stw r3, 8(r6) +/* 802A4568 002A01C8 90 85 00 0C */ stw r4, 0xc(r5) +/* 802A456C 002A01CC 90 66 00 0C */ stw r3, 0xc(r6) +/* 802A4570 002A01D0 90 85 00 10 */ stw r4, 0x10(r5) +/* 802A4574 002A01D4 90 66 00 10 */ stw r3, 0x10(r6) +/* 802A4578 002A01D8 90 85 00 14 */ stw r4, 0x14(r5) +/* 802A457C 002A01DC 90 66 00 14 */ stw r3, 0x14(r6) +/* 802A4580 002A01E0 90 85 00 18 */ stw r4, 0x18(r5) +/* 802A4584 002A01E4 90 66 00 18 */ stw r3, 0x18(r6) +/* 802A4588 002A01E8 90 85 00 1C */ stw r4, 0x1c(r5) +/* 802A458C 002A01EC 90 66 00 1C */ stw r3, 0x1c(r6) +/* 802A4590 002A01F0 90 85 00 20 */ stw r4, 0x20(r5) +/* 802A4594 002A01F4 90 66 00 20 */ stw r3, 0x20(r6) +/* 802A4598 002A01F8 90 85 00 24 */ stw r4, 0x24(r5) +/* 802A459C 002A01FC 90 66 00 24 */ stw r3, 0x24(r6) +/* 802A45A0 002A0200 90 85 00 28 */ stw r4, 0x28(r5) +/* 802A45A4 002A0204 90 66 00 28 */ stw r3, 0x28(r6) +/* 802A45A8 002A0208 90 85 00 2C */ stw r4, 0x2c(r5) +/* 802A45AC 002A020C 90 66 00 2C */ stw r3, 0x2c(r6) +/* 802A45B0 002A0210 90 85 00 30 */ stw r4, 0x30(r5) +/* 802A45B4 002A0214 90 66 00 30 */ stw r3, 0x30(r6) +/* 802A45B8 002A0218 90 85 00 34 */ stw r4, 0x34(r5) +/* 802A45BC 002A021C 90 66 00 34 */ stw r3, 0x34(r6) +/* 802A45C0 002A0220 90 85 00 38 */ stw r4, 0x38(r5) +/* 802A45C4 002A0224 90 66 00 38 */ stw r3, 0x38(r6) +/* 802A45C8 002A0228 90 85 00 3C */ stw r4, 0x3c(r5) +/* 802A45CC 002A022C 38 A5 00 40 */ addi r5, r5, 0x40 +/* 802A45D0 002A0230 90 66 00 3C */ stw r3, 0x3c(r6) +/* 802A45D4 002A0234 38 C6 00 40 */ addi r6, r6, 0x40 +/* 802A45D8 002A0238 42 00 FF 78 */ bdnz lbl_802A4550 +/* 802A45DC 002A023C 4E 80 00 20 */ blr + +.global IPCiProfQueueReq +IPCiProfQueueReq: +/* 802A45E0 002A0240 80 CD AE 10 */ lwz r6, lbl_806400D0-_SDA_BASE_(r13) +/* 802A45E4 002A0244 3D 00 80 53 */ lis r8, lbl_80536CB0@ha +/* 802A45E8 002A0248 80 AD AE 14 */ lwz r5, lbl_806400D4-_SDA_BASE_(r13) +/* 802A45EC 002A024C 3D 20 80 53 */ lis r9, lbl_80536C30@ha +/* 802A45F0 002A0250 38 C6 00 01 */ addi r6, r6, 1 +/* 802A45F4 002A0254 38 00 00 20 */ li r0, 0x20 +/* 802A45F8 002A0258 38 A5 00 01 */ addi r5, r5, 1 +/* 802A45FC 002A025C 90 CD AE 10 */ stw r6, lbl_806400D0-_SDA_BASE_(r13) +/* 802A4600 002A0260 39 08 6C B0 */ addi r8, r8, lbl_80536CB0@l +/* 802A4604 002A0264 39 29 6C 30 */ addi r9, r9, lbl_80536C30@l +/* 802A4608 002A0268 90 AD AE 14 */ stw r5, lbl_806400D4-_SDA_BASE_(r13) +/* 802A460C 002A026C 38 E0 00 00 */ li r7, 0 +/* 802A4610 002A0270 7C 09 03 A6 */ mtctr r0 +lbl_802A4614: +/* 802A4614 002A0274 80 08 00 00 */ lwz r0, 0(r8) +/* 802A4618 002A0278 2C 00 00 00 */ cmpwi r0, 0 +/* 802A461C 002A027C 40 82 00 30 */ bne lbl_802A464C +/* 802A4620 002A0280 80 09 00 00 */ lwz r0, 0(r9) +/* 802A4624 002A0284 2C 00 FF FF */ cmpwi r0, -1 +/* 802A4628 002A0288 40 82 00 24 */ bne lbl_802A464C +/* 802A462C 002A028C 3C C0 80 53 */ lis r6, lbl_80536CB0@ha +/* 802A4630 002A0290 3C A0 80 53 */ lis r5, lbl_80536C30@ha +/* 802A4634 002A0294 54 E0 10 3A */ slwi r0, r7, 2 +/* 802A4638 002A0298 38 C6 6C B0 */ addi r6, r6, lbl_80536CB0@l +/* 802A463C 002A029C 38 A5 6C 30 */ addi r5, r5, lbl_80536C30@l +/* 802A4640 002A02A0 7C 66 01 2E */ stwx r3, r6, r0 +/* 802A4644 002A02A4 7C 85 01 2E */ stwx r4, r5, r0 +/* 802A4648 002A02A8 4E 80 00 20 */ blr +lbl_802A464C: +/* 802A464C 002A02AC 39 08 00 04 */ addi r8, r8, 4 +/* 802A4650 002A02B0 39 29 00 04 */ addi r9, r9, 4 +/* 802A4654 002A02B4 38 E7 00 01 */ addi r7, r7, 1 +/* 802A4658 002A02B8 42 00 FF BC */ bdnz lbl_802A4614 +/* 802A465C 002A02BC 4E 80 00 20 */ blr + +.global IPCiProfAck +IPCiProfAck: +/* 802A4660 002A02C0 80 6D AE 14 */ lwz r3, lbl_806400D4-_SDA_BASE_(r13) +/* 802A4664 002A02C4 38 03 FF FF */ addi r0, r3, -1 +/* 802A4668 002A02C8 90 0D AE 14 */ stw r0, lbl_806400D4-_SDA_BASE_(r13) +/* 802A466C 002A02CC 4E 80 00 20 */ blr + +.global IPCiProfReply +IPCiProfReply: +/* 802A4670 002A02D0 80 AD AE 10 */ lwz r5, lbl_806400D0-_SDA_BASE_(r13) +/* 802A4674 002A02D4 3C C0 80 53 */ lis r6, lbl_80536CB0@ha +/* 802A4678 002A02D8 3C E0 80 53 */ lis r7, lbl_80536C30@ha +/* 802A467C 002A02DC 38 00 00 20 */ li r0, 0x20 +/* 802A4680 002A02E0 38 A5 FF FF */ addi r5, r5, -1 +/* 802A4684 002A02E4 38 C6 6C B0 */ addi r6, r6, lbl_80536CB0@l +/* 802A4688 002A02E8 90 AD AE 10 */ stw r5, lbl_806400D0-_SDA_BASE_(r13) +/* 802A468C 002A02EC 38 E7 6C 30 */ addi r7, r7, lbl_80536C30@l +/* 802A4690 002A02F0 38 A0 00 00 */ li r5, 0 +/* 802A4694 002A02F4 7C 09 03 A6 */ mtctr r0 +lbl_802A4698: +/* 802A4698 002A02F8 80 06 00 00 */ lwz r0, 0(r6) +/* 802A469C 002A02FC 7C 03 00 40 */ cmplw r3, r0 +/* 802A46A0 002A0300 40 82 00 38 */ bne lbl_802A46D8 +/* 802A46A4 002A0304 80 07 00 00 */ lwz r0, 0(r7) +/* 802A46A8 002A0308 7C 04 00 00 */ cmpw r4, r0 +/* 802A46AC 002A030C 40 82 00 2C */ bne lbl_802A46D8 +/* 802A46B0 002A0310 3C 80 80 53 */ lis r4, lbl_80536CB0@ha +/* 802A46B4 002A0314 3C 60 80 53 */ lis r3, lbl_80536C30@ha +/* 802A46B8 002A0318 54 A6 10 3A */ slwi r6, r5, 2 +/* 802A46BC 002A031C 38 A0 00 00 */ li r5, 0 +/* 802A46C0 002A0320 38 84 6C B0 */ addi r4, r4, lbl_80536CB0@l +/* 802A46C4 002A0324 38 63 6C 30 */ addi r3, r3, lbl_80536C30@l +/* 802A46C8 002A0328 38 00 FF FF */ li r0, -1 +/* 802A46CC 002A032C 7C A4 31 2E */ stwx r5, r4, r6 +/* 802A46D0 002A0330 7C 03 31 2E */ stwx r0, r3, r6 +/* 802A46D4 002A0334 4E 80 00 20 */ blr +lbl_802A46D8: +/* 802A46D8 002A0338 38 C6 00 04 */ addi r6, r6, 4 +/* 802A46DC 002A033C 38 E7 00 04 */ addi r7, r7, 4 +/* 802A46E0 002A0340 38 A5 00 01 */ addi r5, r5, 1 +/* 802A46E4 002A0344 42 00 FF B4 */ bdnz lbl_802A4698 +/* 802A46E8 002A0348 4E 80 00 20 */ blr diff --git a/asm/SDK/IPC/ipcclt.s b/asm/SDK/IPC/ipcclt.s new file mode 100644 index 0000000..4fcfe96 --- /dev/null +++ b/asm/SDK/IPC/ipcclt.s @@ -0,0 +1,1695 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global strnlen +strnlen: +/* 802A2904 0029E564 7C 65 1B 78 */ mr r5, r3 +/* 802A2908 0029E568 48 00 00 08 */ b lbl_802A2910 +lbl_802A290C: +/* 802A290C 0029E56C 38 A5 00 01 */ addi r5, r5, 1 +lbl_802A2910: +/* 802A2910 0029E570 88 05 00 00 */ lbz r0, 0(r5) +/* 802A2914 0029E574 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2918 0029E578 41 82 00 10 */ beq lbl_802A2928 +/* 802A291C 0029E57C 2C 04 00 00 */ cmpwi r4, 0 +/* 802A2920 0029E580 38 84 FF FF */ addi r4, r4, -1 +/* 802A2924 0029E584 40 82 FF E8 */ bne lbl_802A290C +lbl_802A2928: +/* 802A2928 0029E588 7C 63 28 50 */ subf r3, r3, r5 +/* 802A292C 0029E58C 4E 80 00 20 */ blr + +.global IpcReplyHandler +IpcReplyHandler: +/* 802A2930 0029E590 94 21 FD 20 */ stwu r1, -0x2e0(r1) +/* 802A2934 0029E594 7C 08 02 A6 */ mflr r0 +/* 802A2938 0029E598 38 60 00 02 */ li r3, 2 +/* 802A293C 0029E59C 90 01 02 E4 */ stw r0, 0x2e4(r1) +/* 802A2940 0029E5A0 93 E1 02 DC */ stw r31, 0x2dc(r1) +/* 802A2944 0029E5A4 93 C1 02 D8 */ stw r30, 0x2d8(r1) +/* 802A2948 0029E5A8 7C 9E 23 78 */ mr r30, r4 +/* 802A294C 0029E5AC 93 A1 02 D4 */ stw r29, 0x2d4(r1) +/* 802A2950 0029E5B0 93 81 02 D0 */ stw r28, 0x2d0(r1) +/* 802A2954 0029E5B4 4B FF FF 79 */ bl IPCReadReg +/* 802A2958 0029E5B8 2C 03 00 00 */ cmpwi r3, 0 +/* 802A295C 0029E5BC 41 82 02 0C */ beq lbl_802A2B68 +/* 802A2960 0029E5C0 3F E3 80 00 */ addis r31, r3, 0x8000 +/* 802A2964 0029E5C4 38 60 00 01 */ li r3, 1 +/* 802A2968 0029E5C8 4B FF FF 65 */ bl IPCReadReg +/* 802A296C 0029E5CC 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b +/* 802A2970 0029E5D0 38 60 00 01 */ li r3, 1 +/* 802A2974 0029E5D4 60 04 00 04 */ ori r4, r0, 4 +/* 802A2978 0029E5D8 4B FF FF 65 */ bl IPCWriteReg +/* 802A297C 0029E5DC 3C 00 40 00 */ lis r0, 0x4000 +/* 802A2980 0029E5E0 3C 60 CD 00 */ lis r3, 0xCD000030@ha +/* 802A2984 0029E5E4 90 03 00 30 */ stw r0, 0xCD000030@l(r3) +/* 802A2988 0029E5E8 7F E3 FB 78 */ mr r3, r31 +/* 802A298C 0029E5EC 38 80 00 20 */ li r4, 0x20 +/* 802A2990 0029E5F0 4B FC 7C 99 */ bl DCInvalidateRange +/* 802A2994 0029E5F4 80 1F 00 08 */ lwz r0, 8(r31) +/* 802A2998 0029E5F8 2C 00 00 06 */ cmpwi r0, 6 +/* 802A299C 0029E5FC 41 82 00 54 */ beq lbl_802A29F0 +/* 802A29A0 0029E600 40 80 00 10 */ bge lbl_802A29B0 +/* 802A29A4 0029E604 2C 00 00 03 */ cmpwi r0, 3 +/* 802A29A8 0029E608 41 82 00 14 */ beq lbl_802A29BC +/* 802A29AC 0029E60C 48 00 01 40 */ b lbl_802A2AEC +lbl_802A29B0: +/* 802A29B0 0029E610 2C 00 00 08 */ cmpwi r0, 8 +/* 802A29B4 0029E614 40 80 01 38 */ bge lbl_802A2AEC +/* 802A29B8 0029E618 48 00 00 70 */ b lbl_802A2A28 +lbl_802A29BC: +/* 802A29BC 0029E61C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 802A29C0 0029E620 2C 03 00 00 */ cmpwi r3, 0 +/* 802A29C4 0029E624 41 82 00 0C */ beq lbl_802A29D0 +/* 802A29C8 0029E628 3C 03 80 00 */ addis r0, r3, 0x8000 +/* 802A29CC 0029E62C 48 00 00 08 */ b lbl_802A29D4 +lbl_802A29D0: +/* 802A29D0 0029E630 38 00 00 00 */ li r0, 0 +lbl_802A29D4: +/* 802A29D4 0029E634 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802A29D8 0029E638 80 9F 00 04 */ lwz r4, 4(r31) +/* 802A29DC 0029E63C 2C 04 00 00 */ cmpwi r4, 0 +/* 802A29E0 0029E640 40 81 01 0C */ ble lbl_802A2AEC +/* 802A29E4 0029E644 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 802A29E8 0029E648 4B FC 7C 41 */ bl DCInvalidateRange +/* 802A29EC 0029E64C 48 00 01 00 */ b lbl_802A2AEC +lbl_802A29F0: +/* 802A29F0 0029E650 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 802A29F4 0029E654 2C 03 00 00 */ cmpwi r3, 0 +/* 802A29F8 0029E658 41 82 00 0C */ beq lbl_802A2A04 +/* 802A29FC 0029E65C 3C 03 80 00 */ addis r0, r3, 0x8000 +/* 802A2A00 0029E660 48 00 00 08 */ b lbl_802A2A08 +lbl_802A2A04: +/* 802A2A04 0029E664 38 00 00 00 */ li r0, 0 +lbl_802A2A08: +/* 802A2A08 0029E668 90 1F 00 18 */ stw r0, 0x18(r31) +/* 802A2A0C 0029E66C 80 7F 00 10 */ lwz r3, 0x10(r31) +/* 802A2A10 0029E670 80 9F 00 14 */ lwz r4, 0x14(r31) +/* 802A2A14 0029E674 4B FC 7C 15 */ bl DCInvalidateRange +/* 802A2A18 0029E678 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 802A2A1C 0029E67C 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 802A2A20 0029E680 4B FC 7C 09 */ bl DCInvalidateRange +/* 802A2A24 0029E684 48 00 00 C8 */ b lbl_802A2AEC +lbl_802A2A28: +/* 802A2A28 0029E688 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 802A2A2C 0029E68C 2C 03 00 00 */ cmpwi r3, 0 +/* 802A2A30 0029E690 41 82 00 0C */ beq lbl_802A2A3C +/* 802A2A34 0029E694 3C 63 80 00 */ addis r3, r3, 0x8000 +/* 802A2A38 0029E698 48 00 00 08 */ b lbl_802A2A40 +lbl_802A2A3C: +/* 802A2A3C 0029E69C 38 60 00 00 */ li r3, 0 +lbl_802A2A40: +/* 802A2A40 0029E6A0 90 7F 00 18 */ stw r3, 0x18(r31) +/* 802A2A44 0029E6A4 80 9F 00 10 */ lwz r4, 0x10(r31) +/* 802A2A48 0029E6A8 80 1F 00 14 */ lwz r0, 0x14(r31) +/* 802A2A4C 0029E6AC 7C 04 02 14 */ add r0, r4, r0 +/* 802A2A50 0029E6B0 54 04 18 38 */ slwi r4, r0, 3 +/* 802A2A54 0029E6B4 4B FC 7B D5 */ bl DCInvalidateRange +/* 802A2A58 0029E6B8 3B 80 00 00 */ li r28, 0 +/* 802A2A5C 0029E6BC 3B A0 00 00 */ li r29, 0 +/* 802A2A60 0029E6C0 48 00 00 44 */ b lbl_802A2AA4 +lbl_802A2A64: +/* 802A2A64 0029E6C4 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 802A2A68 0029E6C8 7C 63 E8 2E */ lwzx r3, r3, r29 +/* 802A2A6C 0029E6CC 2C 03 00 00 */ cmpwi r3, 0 +/* 802A2A70 0029E6D0 41 82 00 0C */ beq lbl_802A2A7C +/* 802A2A74 0029E6D4 3C 03 80 00 */ addis r0, r3, 0x8000 +/* 802A2A78 0029E6D8 48 00 00 08 */ b lbl_802A2A80 +lbl_802A2A7C: +/* 802A2A7C 0029E6DC 38 00 00 00 */ li r0, 0 +lbl_802A2A80: +/* 802A2A80 0029E6E0 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 802A2A84 0029E6E4 7C 03 E9 2E */ stwx r0, r3, r29 +/* 802A2A88 0029E6E8 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 802A2A8C 0029E6EC 7C 83 EA 14 */ add r4, r3, r29 +/* 802A2A90 0029E6F0 7C 63 E8 2E */ lwzx r3, r3, r29 +/* 802A2A94 0029E6F4 80 84 00 04 */ lwz r4, 4(r4) +/* 802A2A98 0029E6F8 4B FC 7B 91 */ bl DCInvalidateRange +/* 802A2A9C 0029E6FC 3B 9C 00 01 */ addi r28, r28, 1 +/* 802A2AA0 0029E700 3B BD 00 08 */ addi r29, r29, 8 +lbl_802A2AA4: +/* 802A2AA4 0029E704 80 7F 00 10 */ lwz r3, 0x10(r31) +/* 802A2AA8 0029E708 80 1F 00 14 */ lwz r0, 0x14(r31) +/* 802A2AAC 0029E70C 7C 03 02 14 */ add r0, r3, r0 +/* 802A2AB0 0029E710 7C 1C 00 40 */ cmplw r28, r0 +/* 802A2AB4 0029E714 41 80 FF B0 */ blt lbl_802A2A64 +/* 802A2AB8 0029E718 80 0D AE 00 */ lwz r0, lbl_806400C0-_SDA_BASE_(r13) +/* 802A2ABC 0029E71C 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2AC0 0029E720 41 82 00 2C */ beq lbl_802A2AEC +/* 802A2AC4 0029E724 80 0D AE 04 */ lwz r0, lbl_806400C4-_SDA_BASE_(r13) +/* 802A2AC8 0029E728 7C 00 F8 40 */ cmplw r0, r31 +/* 802A2ACC 0029E72C 40 82 00 20 */ bne lbl_802A2AEC +/* 802A2AD0 0029E730 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2AD4 0029E734 38 00 00 00 */ li r0, 0 +/* 802A2AD8 0029E738 90 0D AE 00 */ stw r0, lbl_806400C0-_SDA_BASE_(r13) +/* 802A2ADC 0029E73C 2C 03 00 01 */ cmpwi r3, 1 +/* 802A2AE0 0029E740 40 80 00 0C */ bge lbl_802A2AEC +/* 802A2AE4 0029E744 38 03 00 01 */ addi r0, r3, 1 +/* 802A2AE8 0029E748 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) +lbl_802A2AEC: +/* 802A2AEC 0029E74C 80 1F 00 20 */ lwz r0, 0x20(r31) +/* 802A2AF0 0029E750 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2AF4 0029E754 41 82 00 48 */ beq lbl_802A2B3C +/* 802A2AF8 0029E758 38 61 00 08 */ addi r3, r1, 8 +/* 802A2AFC 0029E75C 4B FC 85 95 */ bl OSClearContext +/* 802A2B00 0029E760 38 61 00 08 */ addi r3, r1, 8 +/* 802A2B04 0029E764 4B FC 83 65 */ bl OSSetCurrentContext +/* 802A2B08 0029E768 81 9F 00 20 */ lwz r12, 0x20(r31) +/* 802A2B0C 0029E76C 80 7F 00 04 */ lwz r3, 4(r31) +/* 802A2B10 0029E770 80 9F 00 24 */ lwz r4, 0x24(r31) +/* 802A2B14 0029E774 7D 89 03 A6 */ mtctr r12 +/* 802A2B18 0029E778 4E 80 04 21 */ bctrl +/* 802A2B1C 0029E77C 38 61 00 08 */ addi r3, r1, 8 +/* 802A2B20 0029E780 4B FC 85 71 */ bl OSClearContext +/* 802A2B24 0029E784 7F C3 F3 78 */ mr r3, r30 +/* 802A2B28 0029E788 4B FC 83 41 */ bl OSSetCurrentContext +/* 802A2B2C 0029E78C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A2B30 0029E790 7F E4 FB 78 */ mr r4, r31 +/* 802A2B34 0029E794 48 00 18 09 */ bl iosFree +/* 802A2B38 0029E798 48 00 00 0C */ b lbl_802A2B44 +lbl_802A2B3C: +/* 802A2B3C 0029E79C 38 7F 00 2C */ addi r3, r31, 0x2c +/* 802A2B40 0029E7A0 4B FC F9 21 */ bl OSWakeupThread +lbl_802A2B44: +/* 802A2B44 0029E7A4 38 60 00 01 */ li r3, 1 +/* 802A2B48 0029E7A8 4B FF FD 85 */ bl IPCReadReg +/* 802A2B4C 0029E7AC 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b +/* 802A2B50 0029E7B0 38 60 00 01 */ li r3, 1 +/* 802A2B54 0029E7B4 60 04 00 08 */ ori r4, r0, 8 +/* 802A2B58 0029E7B8 4B FF FD 85 */ bl IPCWriteReg +/* 802A2B5C 0029E7BC 80 9F 00 08 */ lwz r4, 8(r31) +/* 802A2B60 0029E7C0 7F E3 FB 78 */ mr r3, r31 +/* 802A2B64 0029E7C4 48 00 1B 0D */ bl IPCiProfReply +lbl_802A2B68: +/* 802A2B68 0029E7C8 80 01 02 E4 */ lwz r0, 0x2e4(r1) +/* 802A2B6C 0029E7CC 83 E1 02 DC */ lwz r31, 0x2dc(r1) +/* 802A2B70 0029E7D0 83 C1 02 D8 */ lwz r30, 0x2d8(r1) +/* 802A2B74 0029E7D4 83 A1 02 D4 */ lwz r29, 0x2d4(r1) +/* 802A2B78 0029E7D8 83 81 02 D0 */ lwz r28, 0x2d0(r1) +/* 802A2B7C 0029E7DC 7C 08 03 A6 */ mtlr r0 +/* 802A2B80 0029E7E0 38 21 02 E0 */ addi r1, r1, 0x2e0 +/* 802A2B84 0029E7E4 4E 80 00 20 */ blr + +IPCInterruptHandler: +/* 802A2B88 0029E7E8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802A2B8C 0029E7EC 7C 08 02 A6 */ mflr r0 +/* 802A2B90 0029E7F0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802A2B94 0029E7F4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802A2B98 0029E7F8 7C 9F 23 78 */ mr r31, r4 +/* 802A2B9C 0029E7FC 93 C1 00 08 */ stw r30, 8(r1) +/* 802A2BA0 0029E800 7C 7E 1B 78 */ mr r30, r3 +/* 802A2BA4 0029E804 38 60 00 01 */ li r3, 1 +/* 802A2BA8 0029E808 4B FF FD 25 */ bl IPCReadReg +/* 802A2BAC 0029E80C 70 60 00 14 */ andi. r0, r3, 0x14 +/* 802A2BB0 0029E810 28 00 00 14 */ cmplwi r0, 0x14 +/* 802A2BB4 0029E814 40 82 00 10 */ bne lbl_802A2BC4 +/* 802A2BB8 0029E818 7F C3 F3 78 */ mr r3, r30 +/* 802A2BBC 0029E81C 7F E4 FB 78 */ mr r4, r31 +/* 802A2BC0 0029E820 4B FF FD 71 */ bl IpcReplyHandler +lbl_802A2BC4: +/* 802A2BC4 0029E824 38 60 00 01 */ li r3, 1 +/* 802A2BC8 0029E828 4B FF FD 05 */ bl IPCReadReg +/* 802A2BCC 0029E82C 70 60 00 22 */ andi. r0, r3, 0x22 +/* 802A2BD0 0029E830 28 00 00 22 */ cmplwi r0, 0x22 +/* 802A2BD4 0029E834 40 82 01 54 */ bne lbl_802A2D28 +/* 802A2BD8 0029E838 38 60 00 01 */ li r3, 1 +/* 802A2BDC 0029E83C 4B FF FC F1 */ bl IPCReadReg +/* 802A2BE0 0029E840 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b +/* 802A2BE4 0029E844 38 60 00 01 */ li r3, 1 +/* 802A2BE8 0029E848 60 04 00 02 */ ori r4, r0, 2 +/* 802A2BEC 0029E84C 4B FF FC F1 */ bl IPCWriteReg +/* 802A2BF0 0029E850 3C 00 40 00 */ lis r0, 0x4000 +/* 802A2BF4 0029E854 3C 60 CD 00 */ lis r3, 0xCD000030@ha +/* 802A2BF8 0029E858 90 03 00 30 */ stw r0, 0xCD000030@l(r3) +/* 802A2BFC 0029E85C 83 ED 89 88 */ lwz r31, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2C00 0029E860 2C 1F 00 01 */ cmpwi r31, 1 +/* 802A2C04 0029E864 40 80 00 10 */ bge lbl_802A2C14 +/* 802A2C08 0029E868 3B FF 00 01 */ addi r31, r31, 1 +/* 802A2C0C 0029E86C 93 ED 89 88 */ stw r31, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2C10 0029E870 48 00 1A 51 */ bl IPCiProfAck +lbl_802A2C14: +/* 802A2C14 0029E874 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A2C18 0029E878 40 81 01 10 */ ble lbl_802A2D28 +/* 802A2C1C 0029E87C 80 0D AE 00 */ lwz r0, lbl_806400C0-_SDA_BASE_(r13) +/* 802A2C20 0029E880 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2C24 0029E884 41 82 00 38 */ beq lbl_802A2C5C +/* 802A2C28 0029E888 80 6D AE 04 */ lwz r3, lbl_806400C4-_SDA_BASE_(r13) +/* 802A2C2C 0029E88C 38 00 00 00 */ li r0, 0 +/* 802A2C30 0029E890 90 03 00 04 */ stw r0, 4(r3) +/* 802A2C34 0029E894 80 6D AE 04 */ lwz r3, lbl_806400C4-_SDA_BASE_(r13) +/* 802A2C38 0029E898 90 0D AE 00 */ stw r0, lbl_806400C0-_SDA_BASE_(r13) +/* 802A2C3C 0029E89C 38 63 00 2C */ addi r3, r3, 0x2c +/* 802A2C40 0029E8A0 4B FC F8 21 */ bl OSWakeupThread +/* 802A2C44 0029E8A4 38 60 00 01 */ li r3, 1 +/* 802A2C48 0029E8A8 4B FF FC 85 */ bl IPCReadReg +/* 802A2C4C 0029E8AC 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b +/* 802A2C50 0029E8B0 38 60 00 01 */ li r3, 1 +/* 802A2C54 0029E8B4 60 04 00 08 */ ori r4, r0, 8 +/* 802A2C58 0029E8B8 4B FF FC 85 */ bl IPCWriteReg +lbl_802A2C5C: +/* 802A2C5C 0029E8BC 3C 80 80 53 */ lis r4, lbl_80536B60@ha +/* 802A2C60 0029E8C0 38 64 6B 60 */ addi r3, r4, lbl_80536B60@l +/* 802A2C64 0029E8C4 80 84 6B 60 */ lwz r4, 0x6b60(r4) +/* 802A2C68 0029E8C8 80 03 00 04 */ lwz r0, 4(r3) +/* 802A2C6C 0029E8CC 7C 00 20 40 */ cmplw r0, r4 +/* 802A2C70 0029E8D0 40 80 00 0C */ bge lbl_802A2C7C +/* 802A2C74 0029E8D4 7C 04 00 50 */ subf r0, r4, r0 +/* 802A2C78 0029E8D8 48 00 00 10 */ b lbl_802A2C88 +lbl_802A2C7C: +/* 802A2C7C 0029E8DC 7C 04 00 50 */ subf r0, r4, r0 +/* 802A2C80 0029E8E0 7C 00 00 34 */ cntlzw r0, r0 +/* 802A2C84 0029E8E4 54 00 D9 7E */ srwi r0, r0, 5 +lbl_802A2C88: +/* 802A2C88 0029E8E8 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2C8C 0029E8EC 40 82 00 9C */ bne lbl_802A2D28 +/* 802A2C90 0029E8F0 3C 60 80 53 */ lis r3, lbl_80536B60@ha +/* 802A2C94 0029E8F4 38 63 6B 60 */ addi r3, r3, lbl_80536B60@l +/* 802A2C98 0029E8F8 80 03 00 08 */ lwz r0, 8(r3) +/* 802A2C9C 0029E8FC 54 00 10 3A */ slwi r0, r0, 2 +/* 802A2CA0 0029E900 7C 63 02 14 */ add r3, r3, r0 +/* 802A2CA4 0029E904 80 83 00 10 */ lwz r4, 0x10(r3) +/* 802A2CA8 0029E908 2C 04 00 00 */ cmpwi r4, 0 +/* 802A2CAC 0029E90C 41 82 00 7C */ beq lbl_802A2D28 +/* 802A2CB0 0029E910 80 04 00 28 */ lwz r0, 0x28(r4) +/* 802A2CB4 0029E914 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2CB8 0029E918 41 82 00 1C */ beq lbl_802A2CD4 +/* 802A2CBC 0029E91C 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2CC0 0029E920 38 00 00 01 */ li r0, 1 +/* 802A2CC4 0029E924 90 0D AE 00 */ stw r0, lbl_806400C0-_SDA_BASE_(r13) +/* 802A2CC8 0029E928 38 03 FF FF */ addi r0, r3, -1 +/* 802A2CCC 0029E92C 90 8D AE 04 */ stw r4, lbl_806400C4-_SDA_BASE_(r13) +/* 802A2CD0 0029E930 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) +lbl_802A2CD4: +/* 802A2CD4 0029E934 3C 84 80 00 */ addis r4, r4, 0x8000 +/* 802A2CD8 0029E938 38 60 00 00 */ li r3, 0 +/* 802A2CDC 0029E93C 4B FF FC 01 */ bl IPCWriteReg +/* 802A2CE0 0029E940 3C E0 80 53 */ lis r7, lbl_80536B60@ha +/* 802A2CE4 0029E944 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2CE8 0029E948 38 C7 6B 60 */ addi r6, r7, lbl_80536B60@l +/* 802A2CEC 0029E94C 80 87 6B 60 */ lwz r4, 0x6b60(r7) +/* 802A2CF0 0029E950 80 A6 00 08 */ lwz r5, 8(r6) +/* 802A2CF4 0029E954 38 03 FF FF */ addi r0, r3, -1 +/* 802A2CF8 0029E958 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2CFC 0029E95C 38 84 00 01 */ addi r4, r4, 1 +/* 802A2D00 0029E960 38 05 00 01 */ addi r0, r5, 1 +/* 802A2D04 0029E964 38 60 00 01 */ li r3, 1 +/* 802A2D08 0029E968 54 00 07 3E */ clrlwi r0, r0, 0x1c +/* 802A2D0C 0029E96C 90 87 6B 60 */ stw r4, 0x6b60(r7) +/* 802A2D10 0029E970 90 06 00 08 */ stw r0, 8(r6) +/* 802A2D14 0029E974 4B FF FB B9 */ bl IPCReadReg +/* 802A2D18 0029E978 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b +/* 802A2D1C 0029E97C 38 60 00 01 */ li r3, 1 +/* 802A2D20 0029E980 60 04 00 01 */ ori r4, r0, 1 +/* 802A2D24 0029E984 4B FF FB B9 */ bl IPCWriteReg +lbl_802A2D28: +/* 802A2D28 0029E988 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802A2D2C 0029E98C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802A2D30 0029E990 83 C1 00 08 */ lwz r30, 8(r1) +/* 802A2D34 0029E994 7C 08 03 A6 */ mtlr r0 +/* 802A2D38 0029E998 38 21 00 10 */ addi r1, r1, 0x10 +/* 802A2D3C 0029E99C 4E 80 00 20 */ blr + +.global IPCCltInit +IPCCltInit: +/* 802A2D40 0029E9A0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A2D44 0029E9A4 7C 08 02 A6 */ mflr r0 +/* 802A2D48 0029E9A8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A2D4C 0029E9AC 80 0D AE 08 */ lwz r0, lbl_806400C8-_SDA_BASE_(r13) +/* 802A2D50 0029E9B0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A2D54 0029E9B4 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2D58 0029E9B8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A2D5C 0029E9BC 3B C0 00 00 */ li r30, 0 +/* 802A2D60 0029E9C0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A2D64 0029E9C4 40 82 00 70 */ bne lbl_802A2DD4 +/* 802A2D68 0029E9C8 38 00 00 01 */ li r0, 1 +/* 802A2D6C 0029E9CC 90 0D AE 08 */ stw r0, lbl_806400C8-_SDA_BASE_(r13) +/* 802A2D70 0029E9D0 4B FF FB 11 */ bl IPCInit +/* 802A2D74 0029E9D4 4B FF FB 81 */ bl IPCGetBufferLo +/* 802A2D78 0029E9D8 7C 7D 1B 78 */ mr r29, r3 +/* 802A2D7C 0029E9DC 3B E3 08 00 */ addi r31, r3, 0x800 +/* 802A2D80 0029E9E0 4B FF FB 6D */ bl IPCGetBufferHi +/* 802A2D84 0029E9E4 7C 1F 18 40 */ cmplw r31, r3 +/* 802A2D88 0029E9E8 40 81 00 0C */ ble lbl_802A2D94 +/* 802A2D8C 0029E9EC 3B C0 FF EA */ li r30, -22 +/* 802A2D90 0029E9F0 48 00 00 44 */ b lbl_802A2DD4 +lbl_802A2D94: +/* 802A2D94 0029E9F4 7F A3 EB 78 */ mr r3, r29 +/* 802A2D98 0029E9F8 38 80 08 00 */ li r4, 0x800 +/* 802A2D9C 0029E9FC 48 00 12 69 */ bl iosCreateHeap +/* 802A2DA0 0029EA00 90 6D 89 8C */ stw r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A2DA4 0029EA04 7F E3 FB 78 */ mr r3, r31 +/* 802A2DA8 0029EA08 4B FF FB 55 */ bl IPCSetBufferLo +/* 802A2DAC 0029EA0C 3C 80 80 2A */ lis r4, IPCInterruptHandler@ha +/* 802A2DB0 0029EA10 38 60 00 1B */ li r3, 0x1b +/* 802A2DB4 0029EA14 38 84 2B 88 */ addi r4, r4, IPCInterruptHandler@l +/* 802A2DB8 0029EA18 4B FC B9 F1 */ bl __OSSetInterruptHandler +/* 802A2DBC 0029EA1C 38 60 00 10 */ li r3, 0x10 +/* 802A2DC0 0029EA20 4B FC BD AD */ bl __OSUnmaskInterrupts +/* 802A2DC4 0029EA24 38 60 00 01 */ li r3, 1 +/* 802A2DC8 0029EA28 38 80 00 38 */ li r4, 0x38 +/* 802A2DCC 0029EA2C 4B FF FB 11 */ bl IPCWriteReg +/* 802A2DD0 0029EA30 48 00 17 59 */ bl IPCiProfInit +lbl_802A2DD4: +/* 802A2DD4 0029EA34 7F C3 F3 78 */ mr r3, r30 +/* 802A2DD8 0029EA38 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A2DDC 0029EA3C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A2DE0 0029EA40 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A2DE4 0029EA44 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A2DE8 0029EA48 7C 08 03 A6 */ mtlr r0 +/* 802A2DEC 0029EA4C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A2DF0 0029EA50 4E 80 00 20 */ blr + +.global __ios_Ipc2 +__ios_Ipc2: +/* 802A2DF4 0029EA54 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A2DF8 0029EA58 7C 08 02 A6 */ mflr r0 +/* 802A2DFC 0029EA5C 2C 03 00 00 */ cmpwi r3, 0 +/* 802A2E00 0029EA60 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A2E04 0029EA64 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A2E08 0029EA68 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A2E0C 0029EA6C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A2E10 0029EA70 7C 9D 23 78 */ mr r29, r4 +/* 802A2E14 0029EA74 93 81 00 10 */ stw r28, 0x10(r1) +/* 802A2E18 0029EA78 7C 7C 1B 78 */ mr r28, r3 +/* 802A2E1C 0029EA7C 40 82 00 0C */ bne lbl_802A2E28 +/* 802A2E20 0029EA80 3B E0 FF FC */ li r31, -4 +/* 802A2E24 0029EA84 48 00 01 DC */ b lbl_802A3000 +lbl_802A2E28: +/* 802A2E28 0029EA88 2C 04 00 00 */ cmpwi r4, 0 +/* 802A2E2C 0029EA8C 40 82 00 0C */ bne lbl_802A2E38 +/* 802A2E30 0029EA90 38 63 00 2C */ addi r3, r3, 0x2c +/* 802A2E34 0029EA94 4B FC E4 B5 */ bl OSInitThreadQueue +lbl_802A2E38: +/* 802A2E38 0029EA98 7F 83 E3 78 */ mr r3, r28 +/* 802A2E3C 0029EA9C 38 80 00 20 */ li r4, 0x20 +/* 802A2E40 0029EAA0 4B FC 78 15 */ bl DCFlushRange +/* 802A2E44 0029EAA4 4B FC B9 19 */ bl OSDisableInterrupts +/* 802A2E48 0029EAA8 3C 80 80 53 */ lis r4, lbl_80536B60@ha +/* 802A2E4C 0029EAAC 7C 7E 1B 78 */ mr r30, r3 +/* 802A2E50 0029EAB0 38 64 6B 60 */ addi r3, r4, lbl_80536B60@l +/* 802A2E54 0029EAB4 80 84 6B 60 */ lwz r4, 0x6b60(r4) +/* 802A2E58 0029EAB8 80 03 00 04 */ lwz r0, 4(r3) +/* 802A2E5C 0029EABC 3B E0 00 00 */ li r31, 0 +/* 802A2E60 0029EAC0 7C 00 20 40 */ cmplw r0, r4 +/* 802A2E64 0029EAC4 40 80 00 0C */ bge lbl_802A2E70 +/* 802A2E68 0029EAC8 7C 04 00 50 */ subf r0, r4, r0 +/* 802A2E6C 0029EACC 48 00 00 20 */ b lbl_802A2E8C +lbl_802A2E70: +/* 802A2E70 0029EAD0 7C 84 00 50 */ subf r4, r4, r0 +/* 802A2E74 0029EAD4 38 60 00 10 */ li r3, 0x10 +/* 802A2E78 0029EAD8 38 04 FF F0 */ addi r0, r4, -16 +/* 802A2E7C 0029EADC 7C 83 1B 38 */ orc r3, r4, r3 +/* 802A2E80 0029EAE0 54 00 F8 7E */ srwi r0, r0, 1 +/* 802A2E84 0029EAE4 7C 00 18 50 */ subf r0, r0, r3 +/* 802A2E88 0029EAE8 54 00 0F FE */ srwi r0, r0, 0x1f +lbl_802A2E8C: +/* 802A2E8C 0029EAEC 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2E90 0029EAF0 41 82 00 0C */ beq lbl_802A2E9C +/* 802A2E94 0029EAF4 3B E0 FF F8 */ li r31, -8 +/* 802A2E98 0029EAF8 48 00 00 44 */ b lbl_802A2EDC +lbl_802A2E9C: +/* 802A2E9C 0029EAFC 3C C0 80 53 */ lis r6, lbl_80536B60@ha +/* 802A2EA0 0029EB00 7F 83 E3 78 */ mr r3, r28 +/* 802A2EA4 0029EB04 38 C6 6B 60 */ addi r6, r6, lbl_80536B60@l +/* 802A2EA8 0029EB08 80 06 00 0C */ lwz r0, 0xc(r6) +/* 802A2EAC 0029EB0C 54 00 10 3A */ slwi r0, r0, 2 +/* 802A2EB0 0029EB10 7C 86 02 14 */ add r4, r6, r0 +/* 802A2EB4 0029EB14 93 84 00 10 */ stw r28, 0x10(r4) +/* 802A2EB8 0029EB18 80 A6 00 0C */ lwz r5, 0xc(r6) +/* 802A2EBC 0029EB1C 80 86 00 04 */ lwz r4, 4(r6) +/* 802A2EC0 0029EB20 38 05 00 01 */ addi r0, r5, 1 +/* 802A2EC4 0029EB24 54 05 07 3E */ clrlwi r5, r0, 0x1c +/* 802A2EC8 0029EB28 38 04 00 01 */ addi r0, r4, 1 +/* 802A2ECC 0029EB2C 90 A6 00 0C */ stw r5, 0xc(r6) +/* 802A2ED0 0029EB30 90 06 00 04 */ stw r0, 4(r6) +/* 802A2ED4 0029EB34 80 9C 00 08 */ lwz r4, 8(r28) +/* 802A2ED8 0029EB38 48 00 17 09 */ bl IPCiProfQueueReq +lbl_802A2EDC: +/* 802A2EDC 0029EB3C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A2EE0 0029EB40 41 82 00 24 */ beq lbl_802A2F04 +/* 802A2EE4 0029EB44 7F C3 F3 78 */ mr r3, r30 +/* 802A2EE8 0029EB48 4B FC B8 9D */ bl OSRestoreInterrupts +/* 802A2EEC 0029EB4C 2C 1D 00 00 */ cmpwi r29, 0 +/* 802A2EF0 0029EB50 41 82 01 10 */ beq lbl_802A3000 +/* 802A2EF4 0029EB54 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A2EF8 0029EB58 7F 84 E3 78 */ mr r4, r28 +/* 802A2EFC 0029EB5C 48 00 14 41 */ bl iosFree +/* 802A2F00 0029EB60 48 00 01 00 */ b lbl_802A3000 +lbl_802A2F04: +/* 802A2F04 0029EB64 80 0D 89 88 */ lwz r0, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2F08 0029EB68 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2F0C 0029EB6C 40 81 00 D0 */ ble lbl_802A2FDC +/* 802A2F10 0029EB70 3C 80 80 53 */ lis r4, lbl_80536B60@ha +/* 802A2F14 0029EB74 38 64 6B 60 */ addi r3, r4, lbl_80536B60@l +/* 802A2F18 0029EB78 80 84 6B 60 */ lwz r4, 0x6b60(r4) +/* 802A2F1C 0029EB7C 80 03 00 04 */ lwz r0, 4(r3) +/* 802A2F20 0029EB80 7C 00 20 40 */ cmplw r0, r4 +/* 802A2F24 0029EB84 40 80 00 0C */ bge lbl_802A2F30 +/* 802A2F28 0029EB88 7C 04 00 50 */ subf r0, r4, r0 +/* 802A2F2C 0029EB8C 48 00 00 10 */ b lbl_802A2F3C +lbl_802A2F30: +/* 802A2F30 0029EB90 7C 04 00 50 */ subf r0, r4, r0 +/* 802A2F34 0029EB94 7C 00 00 34 */ cntlzw r0, r0 +/* 802A2F38 0029EB98 54 00 D9 7E */ srwi r0, r0, 5 +lbl_802A2F3C: +/* 802A2F3C 0029EB9C 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2F40 0029EBA0 40 82 00 9C */ bne lbl_802A2FDC +/* 802A2F44 0029EBA4 3C 60 80 53 */ lis r3, lbl_80536B60@ha +/* 802A2F48 0029EBA8 38 63 6B 60 */ addi r3, r3, lbl_80536B60@l +/* 802A2F4C 0029EBAC 80 03 00 08 */ lwz r0, 8(r3) +/* 802A2F50 0029EBB0 54 00 10 3A */ slwi r0, r0, 2 +/* 802A2F54 0029EBB4 7C 63 02 14 */ add r3, r3, r0 +/* 802A2F58 0029EBB8 80 83 00 10 */ lwz r4, 0x10(r3) +/* 802A2F5C 0029EBBC 2C 04 00 00 */ cmpwi r4, 0 +/* 802A2F60 0029EBC0 41 82 00 7C */ beq lbl_802A2FDC +/* 802A2F64 0029EBC4 80 04 00 28 */ lwz r0, 0x28(r4) +/* 802A2F68 0029EBC8 2C 00 00 00 */ cmpwi r0, 0 +/* 802A2F6C 0029EBCC 41 82 00 1C */ beq lbl_802A2F88 +/* 802A2F70 0029EBD0 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2F74 0029EBD4 38 00 00 01 */ li r0, 1 +/* 802A2F78 0029EBD8 90 0D AE 00 */ stw r0, lbl_806400C0-_SDA_BASE_(r13) +/* 802A2F7C 0029EBDC 38 03 FF FF */ addi r0, r3, -1 +/* 802A2F80 0029EBE0 90 8D AE 04 */ stw r4, lbl_806400C4-_SDA_BASE_(r13) +/* 802A2F84 0029EBE4 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) +lbl_802A2F88: +/* 802A2F88 0029EBE8 3C 84 80 00 */ addis r4, r4, 0x8000 +/* 802A2F8C 0029EBEC 38 60 00 00 */ li r3, 0 +/* 802A2F90 0029EBF0 4B FF F9 4D */ bl IPCWriteReg +/* 802A2F94 0029EBF4 3C E0 80 53 */ lis r7, lbl_80536B60@ha +/* 802A2F98 0029EBF8 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2F9C 0029EBFC 38 C7 6B 60 */ addi r6, r7, lbl_80536B60@l +/* 802A2FA0 0029EC00 80 87 6B 60 */ lwz r4, 0x6b60(r7) +/* 802A2FA4 0029EC04 80 A6 00 08 */ lwz r5, 8(r6) +/* 802A2FA8 0029EC08 38 03 FF FF */ addi r0, r3, -1 +/* 802A2FAC 0029EC0C 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) +/* 802A2FB0 0029EC10 38 84 00 01 */ addi r4, r4, 1 +/* 802A2FB4 0029EC14 38 05 00 01 */ addi r0, r5, 1 +/* 802A2FB8 0029EC18 38 60 00 01 */ li r3, 1 +/* 802A2FBC 0029EC1C 54 00 07 3E */ clrlwi r0, r0, 0x1c +/* 802A2FC0 0029EC20 90 87 6B 60 */ stw r4, 0x6b60(r7) +/* 802A2FC4 0029EC24 90 06 00 08 */ stw r0, 8(r6) +/* 802A2FC8 0029EC28 4B FF F9 05 */ bl IPCReadReg +/* 802A2FCC 0029EC2C 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b +/* 802A2FD0 0029EC30 38 60 00 01 */ li r3, 1 +/* 802A2FD4 0029EC34 60 04 00 01 */ ori r4, r0, 1 +/* 802A2FD8 0029EC38 4B FF F9 05 */ bl IPCWriteReg +lbl_802A2FDC: +/* 802A2FDC 0029EC3C 2C 1D 00 00 */ cmpwi r29, 0 +/* 802A2FE0 0029EC40 40 82 00 0C */ bne lbl_802A2FEC +/* 802A2FE4 0029EC44 38 7C 00 2C */ addi r3, r28, 0x2c +/* 802A2FE8 0029EC48 4B FC F3 8D */ bl OSSleepThread +lbl_802A2FEC: +/* 802A2FEC 0029EC4C 7F C3 F3 78 */ mr r3, r30 +/* 802A2FF0 0029EC50 4B FC B7 95 */ bl OSRestoreInterrupts +/* 802A2FF4 0029EC54 2C 1D 00 00 */ cmpwi r29, 0 +/* 802A2FF8 0029EC58 40 82 00 08 */ bne lbl_802A3000 +/* 802A2FFC 0029EC5C 83 FC 00 04 */ lwz r31, 4(r28) +lbl_802A3000: +/* 802A3000 0029EC60 2C 1C 00 00 */ cmpwi r28, 0 +/* 802A3004 0029EC64 41 82 00 18 */ beq lbl_802A301C +/* 802A3008 0029EC68 2C 1D 00 00 */ cmpwi r29, 0 +/* 802A300C 0029EC6C 40 82 00 10 */ bne lbl_802A301C +/* 802A3010 0029EC70 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3014 0029EC74 7F 84 E3 78 */ mr r4, r28 +/* 802A3018 0029EC78 48 00 13 25 */ bl iosFree +lbl_802A301C: +/* 802A301C 0029EC7C 7F E3 FB 78 */ mr r3, r31 +/* 802A3020 0029EC80 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A3024 0029EC84 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A3028 0029EC88 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A302C 0029EC8C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802A3030 0029EC90 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A3034 0029EC94 7C 08 03 A6 */ mtlr r0 +/* 802A3038 0029EC98 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A303C 0029EC9C 4E 80 00 20 */ blr + +.global IOS_OpenAsync +IOS_OpenAsync: +/* 802A3040 0029ECA0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802A3044 0029ECA4 7C 08 02 A6 */ mflr r0 +/* 802A3048 0029ECA8 90 01 00 34 */ stw r0, 0x34(r1) +/* 802A304C 0029ECAC 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3050 0029ECB0 4B F2 40 D9 */ bl _savegpr_27 +/* 802A3054 0029ECB4 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3058 0029ECB8 7C 7B 1B 78 */ mr r27, r3 +/* 802A305C 0029ECBC 7C 9C 23 78 */ mr r28, r4 +/* 802A3060 0029ECC0 7C BD 2B 78 */ mr r29, r5 +/* 802A3064 0029ECC4 7C DF 33 78 */ mr r31, r6 +/* 802A3068 0029ECC8 3B C0 00 00 */ li r30, 0 +/* 802A306C 0029ECCC 40 82 00 0C */ bne lbl_802A3078 +/* 802A3070 0029ECD0 3B C0 FF FC */ li r30, -4 +/* 802A3074 0029ECD4 48 00 00 4C */ b lbl_802A30C0 +lbl_802A3078: +/* 802A3078 0029ECD8 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A307C 0029ECDC 38 80 00 40 */ li r4, 0x40 +/* 802A3080 0029ECE0 38 A0 00 20 */ li r5, 0x20 +/* 802A3084 0029ECE4 48 00 12 B5 */ bl iosAllocAligned +/* 802A3088 0029ECE8 2C 03 00 00 */ cmpwi r3, 0 +/* 802A308C 0029ECEC 90 61 00 08 */ stw r3, 8(r1) +/* 802A3090 0029ECF0 40 82 00 0C */ bne lbl_802A309C +/* 802A3094 0029ECF4 3B C0 FF EA */ li r30, -22 +/* 802A3098 0029ECF8 48 00 00 28 */ b lbl_802A30C0 +lbl_802A309C: +/* 802A309C 0029ECFC 93 A3 00 20 */ stw r29, 0x20(r3) +/* 802A30A0 0029ED00 38 A0 00 00 */ li r5, 0 +/* 802A30A4 0029ED04 38 00 00 01 */ li r0, 1 +/* 802A30A8 0029ED08 80 81 00 08 */ lwz r4, 8(r1) +/* 802A30AC 0029ED0C 93 E4 00 24 */ stw r31, 0x24(r4) +/* 802A30B0 0029ED10 80 81 00 08 */ lwz r4, 8(r1) +/* 802A30B4 0029ED14 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A30B8 0029ED18 90 03 00 00 */ stw r0, 0(r3) +/* 802A30BC 0029ED1C 90 A3 00 08 */ stw r5, 8(r3) +lbl_802A30C0: +/* 802A30C0 0029ED20 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A30C4 0029ED24 40 82 00 78 */ bne lbl_802A313C +/* 802A30C8 0029ED28 83 E1 00 08 */ lwz r31, 8(r1) +/* 802A30CC 0029ED2C 3B C0 00 00 */ li r30, 0 +/* 802A30D0 0029ED30 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A30D4 0029ED34 40 82 00 0C */ bne lbl_802A30E0 +/* 802A30D8 0029ED38 3B C0 FF FC */ li r30, -4 +/* 802A30DC 0029ED3C 48 00 00 48 */ b lbl_802A3124 +lbl_802A30E0: +/* 802A30E0 0029ED40 7F 63 DB 78 */ mr r3, r27 +/* 802A30E4 0029ED44 38 80 00 40 */ li r4, 0x40 +/* 802A30E8 0029ED48 48 00 00 08 */ b lbl_802A30F0 +lbl_802A30EC: +/* 802A30EC 0029ED4C 38 63 00 01 */ addi r3, r3, 1 +lbl_802A30F0: +/* 802A30F0 0029ED50 88 03 00 00 */ lbz r0, 0(r3) +/* 802A30F4 0029ED54 2C 00 00 00 */ cmpwi r0, 0 +/* 802A30F8 0029ED58 41 82 00 10 */ beq lbl_802A3108 +/* 802A30FC 0029ED5C 2C 04 00 00 */ cmpwi r4, 0 +/* 802A3100 0029ED60 38 84 FF FF */ addi r4, r4, -1 +/* 802A3104 0029ED64 40 82 FF E8 */ bne lbl_802A30EC +lbl_802A3108: +/* 802A3108 0029ED68 7C 9B 18 50 */ subf r4, r27, r3 +/* 802A310C 0029ED6C 7F 63 DB 78 */ mr r3, r27 +/* 802A3110 0029ED70 38 84 00 01 */ addi r4, r4, 1 +/* 802A3114 0029ED74 4B FC 75 41 */ bl DCFlushRange +/* 802A3118 0029ED78 3C 1B 80 00 */ addis r0, r27, 0x8000 +/* 802A311C 0029ED7C 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802A3120 0029ED80 93 9F 00 10 */ stw r28, 0x10(r31) +lbl_802A3124: +/* 802A3124 0029ED84 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A3128 0029ED88 40 82 00 14 */ bne lbl_802A313C +/* 802A312C 0029ED8C 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3130 0029ED90 7F A4 EB 78 */ mr r4, r29 +/* 802A3134 0029ED94 4B FF FC C1 */ bl __ios_Ipc2 +/* 802A3138 0029ED98 7C 7E 1B 78 */ mr r30, r3 +lbl_802A313C: +/* 802A313C 0029ED9C 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3140 0029EDA0 7F C3 F3 78 */ mr r3, r30 +/* 802A3144 0029EDA4 4B F2 40 31 */ bl _restgpr_27 +/* 802A3148 0029EDA8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802A314C 0029EDAC 7C 08 03 A6 */ mtlr r0 +/* 802A3150 0029EDB0 38 21 00 30 */ addi r1, r1, 0x30 +/* 802A3154 0029EDB4 4E 80 00 20 */ blr + +.global IOS_Open +IOS_Open: +/* 802A3158 0029EDB8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A315C 0029EDBC 7C 08 02 A6 */ mflr r0 +/* 802A3160 0029EDC0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A3164 0029EDC4 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3168 0029EDC8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A316C 0029EDCC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A3170 0029EDD0 3B C0 00 00 */ li r30, 0 +/* 802A3174 0029EDD4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A3178 0029EDD8 7C 9D 23 78 */ mr r29, r4 +/* 802A317C 0029EDDC 93 81 00 10 */ stw r28, 0x10(r1) +/* 802A3180 0029EDE0 7C 7C 1B 78 */ mr r28, r3 +/* 802A3184 0029EDE4 40 82 00 0C */ bne lbl_802A3190 +/* 802A3188 0029EDE8 3B C0 FF FC */ li r30, -4 +/* 802A318C 0029EDEC 48 00 00 4C */ b lbl_802A31D8 +lbl_802A3190: +/* 802A3190 0029EDF0 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3194 0029EDF4 38 80 00 40 */ li r4, 0x40 +/* 802A3198 0029EDF8 38 A0 00 20 */ li r5, 0x20 +/* 802A319C 0029EDFC 48 00 11 9D */ bl iosAllocAligned +/* 802A31A0 0029EE00 2C 03 00 00 */ cmpwi r3, 0 +/* 802A31A4 0029EE04 90 61 00 08 */ stw r3, 8(r1) +/* 802A31A8 0029EE08 40 82 00 0C */ bne lbl_802A31B4 +/* 802A31AC 0029EE0C 3B C0 FF EA */ li r30, -22 +/* 802A31B0 0029EE10 48 00 00 28 */ b lbl_802A31D8 +lbl_802A31B4: +/* 802A31B4 0029EE14 38 A0 00 00 */ li r5, 0 +/* 802A31B8 0029EE18 38 00 00 01 */ li r0, 1 +/* 802A31BC 0029EE1C 90 A3 00 20 */ stw r5, 0x20(r3) +/* 802A31C0 0029EE20 80 81 00 08 */ lwz r4, 8(r1) +/* 802A31C4 0029EE24 90 A4 00 24 */ stw r5, 0x24(r4) +/* 802A31C8 0029EE28 80 81 00 08 */ lwz r4, 8(r1) +/* 802A31CC 0029EE2C 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A31D0 0029EE30 90 03 00 00 */ stw r0, 0(r3) +/* 802A31D4 0029EE34 90 A3 00 08 */ stw r5, 8(r3) +lbl_802A31D8: +/* 802A31D8 0029EE38 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A31DC 0029EE3C 40 82 00 78 */ bne lbl_802A3254 +/* 802A31E0 0029EE40 83 E1 00 08 */ lwz r31, 8(r1) +/* 802A31E4 0029EE44 3B C0 00 00 */ li r30, 0 +/* 802A31E8 0029EE48 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A31EC 0029EE4C 40 82 00 0C */ bne lbl_802A31F8 +/* 802A31F0 0029EE50 3B C0 FF FC */ li r30, -4 +/* 802A31F4 0029EE54 48 00 00 48 */ b lbl_802A323C +lbl_802A31F8: +/* 802A31F8 0029EE58 7F 83 E3 78 */ mr r3, r28 +/* 802A31FC 0029EE5C 38 80 00 40 */ li r4, 0x40 +/* 802A3200 0029EE60 48 00 00 08 */ b lbl_802A3208 +lbl_802A3204: +/* 802A3204 0029EE64 38 63 00 01 */ addi r3, r3, 1 +lbl_802A3208: +/* 802A3208 0029EE68 88 03 00 00 */ lbz r0, 0(r3) +/* 802A320C 0029EE6C 2C 00 00 00 */ cmpwi r0, 0 +/* 802A3210 0029EE70 41 82 00 10 */ beq lbl_802A3220 +/* 802A3214 0029EE74 2C 04 00 00 */ cmpwi r4, 0 +/* 802A3218 0029EE78 38 84 FF FF */ addi r4, r4, -1 +/* 802A321C 0029EE7C 40 82 FF E8 */ bne lbl_802A3204 +lbl_802A3220: +/* 802A3220 0029EE80 7C 9C 18 50 */ subf r4, r28, r3 +/* 802A3224 0029EE84 7F 83 E3 78 */ mr r3, r28 +/* 802A3228 0029EE88 38 84 00 01 */ addi r4, r4, 1 +/* 802A322C 0029EE8C 4B FC 74 29 */ bl DCFlushRange +/* 802A3230 0029EE90 3C 1C 80 00 */ addis r0, r28, 0x8000 +/* 802A3234 0029EE94 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802A3238 0029EE98 93 BF 00 10 */ stw r29, 0x10(r31) +lbl_802A323C: +/* 802A323C 0029EE9C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A3240 0029EEA0 40 82 00 14 */ bne lbl_802A3254 +/* 802A3244 0029EEA4 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3248 0029EEA8 38 80 00 00 */ li r4, 0 +/* 802A324C 0029EEAC 4B FF FB A9 */ bl __ios_Ipc2 +/* 802A3250 0029EEB0 7C 7E 1B 78 */ mr r30, r3 +lbl_802A3254: +/* 802A3254 0029EEB4 7F C3 F3 78 */ mr r3, r30 +/* 802A3258 0029EEB8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A325C 0029EEBC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A3260 0029EEC0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A3264 0029EEC4 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802A3268 0029EEC8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A326C 0029EECC 7C 08 03 A6 */ mtlr r0 +/* 802A3270 0029EED0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A3274 0029EED4 4E 80 00 20 */ blr + +.global IOS_CloseAsync +IOS_CloseAsync: +/* 802A3278 0029EED8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A327C 0029EEDC 7C 08 02 A6 */ mflr r0 +/* 802A3280 0029EEE0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A3284 0029EEE4 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3288 0029EEE8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A328C 0029EEEC 3B E0 00 00 */ li r31, 0 +/* 802A3290 0029EEF0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A3294 0029EEF4 7C BE 2B 78 */ mr r30, r5 +/* 802A3298 0029EEF8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A329C 0029EEFC 7C 9D 23 78 */ mr r29, r4 +/* 802A32A0 0029EF00 93 81 00 10 */ stw r28, 0x10(r1) +/* 802A32A4 0029EF04 7C 7C 1B 78 */ mr r28, r3 +/* 802A32A8 0029EF08 40 82 00 0C */ bne lbl_802A32B4 +/* 802A32AC 0029EF0C 3B E0 FF FC */ li r31, -4 +/* 802A32B0 0029EF10 48 00 00 4C */ b lbl_802A32FC +lbl_802A32B4: +/* 802A32B4 0029EF14 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A32B8 0029EF18 38 80 00 40 */ li r4, 0x40 +/* 802A32BC 0029EF1C 38 A0 00 20 */ li r5, 0x20 +/* 802A32C0 0029EF20 48 00 10 79 */ bl iosAllocAligned +/* 802A32C4 0029EF24 2C 03 00 00 */ cmpwi r3, 0 +/* 802A32C8 0029EF28 90 61 00 08 */ stw r3, 8(r1) +/* 802A32CC 0029EF2C 40 82 00 0C */ bne lbl_802A32D8 +/* 802A32D0 0029EF30 3B E0 FF EA */ li r31, -22 +/* 802A32D4 0029EF34 48 00 00 28 */ b lbl_802A32FC +lbl_802A32D8: +/* 802A32D8 0029EF38 93 A3 00 20 */ stw r29, 0x20(r3) +/* 802A32DC 0029EF3C 38 A0 00 00 */ li r5, 0 +/* 802A32E0 0029EF40 38 00 00 02 */ li r0, 2 +/* 802A32E4 0029EF44 80 81 00 08 */ lwz r4, 8(r1) +/* 802A32E8 0029EF48 93 C4 00 24 */ stw r30, 0x24(r4) +/* 802A32EC 0029EF4C 80 81 00 08 */ lwz r4, 8(r1) +/* 802A32F0 0029EF50 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A32F4 0029EF54 90 03 00 00 */ stw r0, 0(r3) +/* 802A32F8 0029EF58 93 83 00 08 */ stw r28, 8(r3) +lbl_802A32FC: +/* 802A32FC 0029EF5C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3300 0029EF60 40 82 00 14 */ bne lbl_802A3314 +/* 802A3304 0029EF64 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3308 0029EF68 7F A4 EB 78 */ mr r4, r29 +/* 802A330C 0029EF6C 4B FF FA E9 */ bl __ios_Ipc2 +/* 802A3310 0029EF70 7C 7F 1B 78 */ mr r31, r3 +lbl_802A3314: +/* 802A3314 0029EF74 7F E3 FB 78 */ mr r3, r31 +/* 802A3318 0029EF78 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A331C 0029EF7C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A3320 0029EF80 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A3324 0029EF84 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802A3328 0029EF88 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A332C 0029EF8C 7C 08 03 A6 */ mtlr r0 +/* 802A3330 0029EF90 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A3334 0029EF94 4E 80 00 20 */ blr + +.global IOS_Close +IOS_Close: +/* 802A3338 0029EF98 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A333C 0029EF9C 7C 08 02 A6 */ mflr r0 +/* 802A3340 0029EFA0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A3344 0029EFA4 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3348 0029EFA8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A334C 0029EFAC 3B E0 00 00 */ li r31, 0 +/* 802A3350 0029EFB0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A3354 0029EFB4 7C 7E 1B 78 */ mr r30, r3 +/* 802A3358 0029EFB8 40 82 00 0C */ bne lbl_802A3364 +/* 802A335C 0029EFBC 3B E0 FF FC */ li r31, -4 +/* 802A3360 0029EFC0 48 00 00 4C */ b lbl_802A33AC +lbl_802A3364: +/* 802A3364 0029EFC4 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3368 0029EFC8 38 80 00 40 */ li r4, 0x40 +/* 802A336C 0029EFCC 38 A0 00 20 */ li r5, 0x20 +/* 802A3370 0029EFD0 48 00 0F C9 */ bl iosAllocAligned +/* 802A3374 0029EFD4 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3378 0029EFD8 90 61 00 08 */ stw r3, 8(r1) +/* 802A337C 0029EFDC 40 82 00 0C */ bne lbl_802A3388 +/* 802A3380 0029EFE0 3B E0 FF EA */ li r31, -22 +/* 802A3384 0029EFE4 48 00 00 28 */ b lbl_802A33AC +lbl_802A3388: +/* 802A3388 0029EFE8 38 A0 00 00 */ li r5, 0 +/* 802A338C 0029EFEC 38 00 00 02 */ li r0, 2 +/* 802A3390 0029EFF0 90 A3 00 20 */ stw r5, 0x20(r3) +/* 802A3394 0029EFF4 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3398 0029EFF8 90 A4 00 24 */ stw r5, 0x24(r4) +/* 802A339C 0029EFFC 80 81 00 08 */ lwz r4, 8(r1) +/* 802A33A0 0029F000 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A33A4 0029F004 90 03 00 00 */ stw r0, 0(r3) +/* 802A33A8 0029F008 93 C3 00 08 */ stw r30, 8(r3) +lbl_802A33AC: +/* 802A33AC 0029F00C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A33B0 0029F010 40 82 00 14 */ bne lbl_802A33C4 +/* 802A33B4 0029F014 80 61 00 08 */ lwz r3, 8(r1) +/* 802A33B8 0029F018 38 80 00 00 */ li r4, 0 +/* 802A33BC 0029F01C 4B FF FA 39 */ bl __ios_Ipc2 +/* 802A33C0 0029F020 7C 7F 1B 78 */ mr r31, r3 +lbl_802A33C4: +/* 802A33C4 0029F024 7F E3 FB 78 */ mr r3, r31 +/* 802A33C8 0029F028 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A33CC 0029F02C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A33D0 0029F030 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A33D4 0029F034 7C 08 03 A6 */ mtlr r0 +/* 802A33D8 0029F038 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A33DC 0029F03C 4E 80 00 20 */ blr + +.global IOS_ReadAsync +IOS_ReadAsync: +/* 802A33E0 0029F040 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802A33E4 0029F044 7C 08 02 A6 */ mflr r0 +/* 802A33E8 0029F048 90 01 00 34 */ stw r0, 0x34(r1) +/* 802A33EC 0029F04C 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A33F0 0029F050 4B F2 3D 35 */ bl _savegpr_26 +/* 802A33F4 0029F054 34 01 00 08 */ addic. r0, r1, 8 +/* 802A33F8 0029F058 7C 7A 1B 78 */ mr r26, r3 +/* 802A33FC 0029F05C 7C 9B 23 78 */ mr r27, r4 +/* 802A3400 0029F060 7C BC 2B 78 */ mr r28, r5 +/* 802A3404 0029F064 7C DD 33 78 */ mr r29, r6 +/* 802A3408 0029F068 7C FF 3B 78 */ mr r31, r7 +/* 802A340C 0029F06C 3B C0 00 00 */ li r30, 0 +/* 802A3410 0029F070 40 82 00 0C */ bne lbl_802A341C +/* 802A3414 0029F074 3B C0 FF FC */ li r30, -4 +/* 802A3418 0029F078 48 00 00 4C */ b lbl_802A3464 +lbl_802A341C: +/* 802A341C 0029F07C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3420 0029F080 38 80 00 40 */ li r4, 0x40 +/* 802A3424 0029F084 38 A0 00 20 */ li r5, 0x20 +/* 802A3428 0029F088 48 00 0F 11 */ bl iosAllocAligned +/* 802A342C 0029F08C 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3430 0029F090 90 61 00 08 */ stw r3, 8(r1) +/* 802A3434 0029F094 40 82 00 0C */ bne lbl_802A3440 +/* 802A3438 0029F098 3B C0 FF EA */ li r30, -22 +/* 802A343C 0029F09C 48 00 00 28 */ b lbl_802A3464 +lbl_802A3440: +/* 802A3440 0029F0A0 93 A3 00 20 */ stw r29, 0x20(r3) +/* 802A3444 0029F0A4 38 A0 00 00 */ li r5, 0 +/* 802A3448 0029F0A8 38 00 00 03 */ li r0, 3 +/* 802A344C 0029F0AC 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3450 0029F0B0 93 E4 00 24 */ stw r31, 0x24(r4) +/* 802A3454 0029F0B4 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3458 0029F0B8 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A345C 0029F0BC 90 03 00 00 */ stw r0, 0(r3) +/* 802A3460 0029F0C0 93 43 00 08 */ stw r26, 8(r3) +lbl_802A3464: +/* 802A3464 0029F0C4 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A3468 0029F0C8 40 82 00 5C */ bne lbl_802A34C4 +/* 802A346C 0029F0CC 83 E1 00 08 */ lwz r31, 8(r1) +/* 802A3470 0029F0D0 3B C0 00 00 */ li r30, 0 +/* 802A3474 0029F0D4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3478 0029F0D8 40 82 00 0C */ bne lbl_802A3484 +/* 802A347C 0029F0DC 3B C0 FF FC */ li r30, -4 +/* 802A3480 0029F0E0 48 00 00 2C */ b lbl_802A34AC +lbl_802A3484: +/* 802A3484 0029F0E4 7F 63 DB 78 */ mr r3, r27 +/* 802A3488 0029F0E8 7F 84 E3 78 */ mr r4, r28 +/* 802A348C 0029F0EC 4B FC 71 9D */ bl DCInvalidateRange +/* 802A3490 0029F0F0 2C 1B 00 00 */ cmpwi r27, 0 +/* 802A3494 0029F0F4 41 82 00 0C */ beq lbl_802A34A0 +/* 802A3498 0029F0F8 3C 1B 80 00 */ addis r0, r27, 0x8000 +/* 802A349C 0029F0FC 48 00 00 08 */ b lbl_802A34A4 +lbl_802A34A0: +/* 802A34A0 0029F100 38 00 00 00 */ li r0, 0 +lbl_802A34A4: +/* 802A34A4 0029F104 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802A34A8 0029F108 93 9F 00 10 */ stw r28, 0x10(r31) +lbl_802A34AC: +/* 802A34AC 0029F10C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A34B0 0029F110 40 82 00 14 */ bne lbl_802A34C4 +/* 802A34B4 0029F114 80 61 00 08 */ lwz r3, 8(r1) +/* 802A34B8 0029F118 7F A4 EB 78 */ mr r4, r29 +/* 802A34BC 0029F11C 4B FF F9 39 */ bl __ios_Ipc2 +/* 802A34C0 0029F120 7C 7E 1B 78 */ mr r30, r3 +lbl_802A34C4: +/* 802A34C4 0029F124 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A34C8 0029F128 7F C3 F3 78 */ mr r3, r30 +/* 802A34CC 0029F12C 4B F2 3C A5 */ bl _restgpr_26 +/* 802A34D0 0029F130 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802A34D4 0029F134 7C 08 03 A6 */ mtlr r0 +/* 802A34D8 0029F138 38 21 00 30 */ addi r1, r1, 0x30 +/* 802A34DC 0029F13C 4E 80 00 20 */ blr + +.global IOS_Read +IOS_Read: +/* 802A34E0 0029F140 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A34E4 0029F144 7C 08 02 A6 */ mflr r0 +/* 802A34E8 0029F148 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A34EC 0029F14C 34 01 00 08 */ addic. r0, r1, 8 +/* 802A34F0 0029F150 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A34F4 0029F154 7C 7F 1B 78 */ mr r31, r3 +/* 802A34F8 0029F158 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A34FC 0029F15C 3B C0 00 00 */ li r30, 0 +/* 802A3500 0029F160 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A3504 0029F164 7C BD 2B 78 */ mr r29, r5 +/* 802A3508 0029F168 93 81 00 10 */ stw r28, 0x10(r1) +/* 802A350C 0029F16C 7C 9C 23 78 */ mr r28, r4 +/* 802A3510 0029F170 40 82 00 0C */ bne lbl_802A351C +/* 802A3514 0029F174 3B C0 FF FC */ li r30, -4 +/* 802A3518 0029F178 48 00 00 4C */ b lbl_802A3564 +lbl_802A351C: +/* 802A351C 0029F17C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3520 0029F180 38 80 00 40 */ li r4, 0x40 +/* 802A3524 0029F184 38 A0 00 20 */ li r5, 0x20 +/* 802A3528 0029F188 48 00 0E 11 */ bl iosAllocAligned +/* 802A352C 0029F18C 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3530 0029F190 90 61 00 08 */ stw r3, 8(r1) +/* 802A3534 0029F194 40 82 00 0C */ bne lbl_802A3540 +/* 802A3538 0029F198 3B C0 FF EA */ li r30, -22 +/* 802A353C 0029F19C 48 00 00 28 */ b lbl_802A3564 +lbl_802A3540: +/* 802A3540 0029F1A0 38 A0 00 00 */ li r5, 0 +/* 802A3544 0029F1A4 38 00 00 03 */ li r0, 3 +/* 802A3548 0029F1A8 90 A3 00 20 */ stw r5, 0x20(r3) +/* 802A354C 0029F1AC 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3550 0029F1B0 90 A4 00 24 */ stw r5, 0x24(r4) +/* 802A3554 0029F1B4 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3558 0029F1B8 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A355C 0029F1BC 90 03 00 00 */ stw r0, 0(r3) +/* 802A3560 0029F1C0 93 E3 00 08 */ stw r31, 8(r3) +lbl_802A3564: +/* 802A3564 0029F1C4 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A3568 0029F1C8 40 82 00 5C */ bne lbl_802A35C4 +/* 802A356C 0029F1CC 83 E1 00 08 */ lwz r31, 8(r1) +/* 802A3570 0029F1D0 3B C0 00 00 */ li r30, 0 +/* 802A3574 0029F1D4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3578 0029F1D8 40 82 00 0C */ bne lbl_802A3584 +/* 802A357C 0029F1DC 3B C0 FF FC */ li r30, -4 +/* 802A3580 0029F1E0 48 00 00 2C */ b lbl_802A35AC +lbl_802A3584: +/* 802A3584 0029F1E4 7F 83 E3 78 */ mr r3, r28 +/* 802A3588 0029F1E8 7F A4 EB 78 */ mr r4, r29 +/* 802A358C 0029F1EC 4B FC 70 9D */ bl DCInvalidateRange +/* 802A3590 0029F1F0 2C 1C 00 00 */ cmpwi r28, 0 +/* 802A3594 0029F1F4 41 82 00 0C */ beq lbl_802A35A0 +/* 802A3598 0029F1F8 3C 1C 80 00 */ addis r0, r28, 0x8000 +/* 802A359C 0029F1FC 48 00 00 08 */ b lbl_802A35A4 +lbl_802A35A0: +/* 802A35A0 0029F200 38 00 00 00 */ li r0, 0 +lbl_802A35A4: +/* 802A35A4 0029F204 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802A35A8 0029F208 93 BF 00 10 */ stw r29, 0x10(r31) +lbl_802A35AC: +/* 802A35AC 0029F20C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A35B0 0029F210 40 82 00 14 */ bne lbl_802A35C4 +/* 802A35B4 0029F214 80 61 00 08 */ lwz r3, 8(r1) +/* 802A35B8 0029F218 38 80 00 00 */ li r4, 0 +/* 802A35BC 0029F21C 4B FF F8 39 */ bl __ios_Ipc2 +/* 802A35C0 0029F220 7C 7E 1B 78 */ mr r30, r3 +lbl_802A35C4: +/* 802A35C4 0029F224 7F C3 F3 78 */ mr r3, r30 +/* 802A35C8 0029F228 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A35CC 0029F22C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A35D0 0029F230 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A35D4 0029F234 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802A35D8 0029F238 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A35DC 0029F23C 7C 08 03 A6 */ mtlr r0 +/* 802A35E0 0029F240 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A35E4 0029F244 4E 80 00 20 */ blr + +.global IOS_WriteAsync +IOS_WriteAsync: +/* 802A35E8 0029F248 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802A35EC 0029F24C 7C 08 02 A6 */ mflr r0 +/* 802A35F0 0029F250 90 01 00 34 */ stw r0, 0x34(r1) +/* 802A35F4 0029F254 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A35F8 0029F258 4B F2 3B 2D */ bl _savegpr_26 +/* 802A35FC 0029F25C 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3600 0029F260 7C 7A 1B 78 */ mr r26, r3 +/* 802A3604 0029F264 7C 9B 23 78 */ mr r27, r4 +/* 802A3608 0029F268 7C BC 2B 78 */ mr r28, r5 +/* 802A360C 0029F26C 7C DD 33 78 */ mr r29, r6 +/* 802A3610 0029F270 7C FE 3B 78 */ mr r30, r7 +/* 802A3614 0029F274 3B E0 00 00 */ li r31, 0 +/* 802A3618 0029F278 40 82 00 0C */ bne lbl_802A3624 +/* 802A361C 0029F27C 3B E0 FF FC */ li r31, -4 +/* 802A3620 0029F280 48 00 00 4C */ b lbl_802A366C +lbl_802A3624: +/* 802A3624 0029F284 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3628 0029F288 38 80 00 40 */ li r4, 0x40 +/* 802A362C 0029F28C 38 A0 00 20 */ li r5, 0x20 +/* 802A3630 0029F290 48 00 0D 09 */ bl iosAllocAligned +/* 802A3634 0029F294 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3638 0029F298 90 61 00 08 */ stw r3, 8(r1) +/* 802A363C 0029F29C 40 82 00 0C */ bne lbl_802A3648 +/* 802A3640 0029F2A0 3B E0 FF EA */ li r31, -22 +/* 802A3644 0029F2A4 48 00 00 28 */ b lbl_802A366C +lbl_802A3648: +/* 802A3648 0029F2A8 93 A3 00 20 */ stw r29, 0x20(r3) +/* 802A364C 0029F2AC 38 A0 00 00 */ li r5, 0 +/* 802A3650 0029F2B0 38 00 00 04 */ li r0, 4 +/* 802A3654 0029F2B4 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3658 0029F2B8 93 C4 00 24 */ stw r30, 0x24(r4) +/* 802A365C 0029F2BC 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3660 0029F2C0 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A3664 0029F2C4 90 03 00 00 */ stw r0, 0(r3) +/* 802A3668 0029F2C8 93 43 00 08 */ stw r26, 8(r3) +lbl_802A366C: +/* 802A366C 0029F2CC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3670 0029F2D0 40 82 00 5C */ bne lbl_802A36CC +/* 802A3674 0029F2D4 80 A1 00 08 */ lwz r5, 8(r1) +/* 802A3678 0029F2D8 3B E0 00 00 */ li r31, 0 +/* 802A367C 0029F2DC 2C 05 00 00 */ cmpwi r5, 0 +/* 802A3680 0029F2E0 40 82 00 0C */ bne lbl_802A368C +/* 802A3684 0029F2E4 3B E0 FF FC */ li r31, -4 +/* 802A3688 0029F2E8 48 00 00 2C */ b lbl_802A36B4 +lbl_802A368C: +/* 802A368C 0029F2EC 2C 1B 00 00 */ cmpwi r27, 0 +/* 802A3690 0029F2F0 41 82 00 0C */ beq lbl_802A369C +/* 802A3694 0029F2F4 3C 1B 80 00 */ addis r0, r27, 0x8000 +/* 802A3698 0029F2F8 48 00 00 08 */ b lbl_802A36A0 +lbl_802A369C: +/* 802A369C 0029F2FC 38 00 00 00 */ li r0, 0 +lbl_802A36A0: +/* 802A36A0 0029F300 90 05 00 0C */ stw r0, 0xc(r5) +/* 802A36A4 0029F304 7F 63 DB 78 */ mr r3, r27 +/* 802A36A8 0029F308 7F 84 E3 78 */ mr r4, r28 +/* 802A36AC 0029F30C 93 85 00 10 */ stw r28, 0x10(r5) +/* 802A36B0 0029F310 4B FC 6F A5 */ bl DCFlushRange +lbl_802A36B4: +/* 802A36B4 0029F314 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A36B8 0029F318 40 82 00 14 */ bne lbl_802A36CC +/* 802A36BC 0029F31C 80 61 00 08 */ lwz r3, 8(r1) +/* 802A36C0 0029F320 7F A4 EB 78 */ mr r4, r29 +/* 802A36C4 0029F324 4B FF F7 31 */ bl __ios_Ipc2 +/* 802A36C8 0029F328 7C 7F 1B 78 */ mr r31, r3 +lbl_802A36CC: +/* 802A36CC 0029F32C 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A36D0 0029F330 7F E3 FB 78 */ mr r3, r31 +/* 802A36D4 0029F334 4B F2 3A 9D */ bl _restgpr_26 +/* 802A36D8 0029F338 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802A36DC 0029F33C 7C 08 03 A6 */ mtlr r0 +/* 802A36E0 0029F340 38 21 00 30 */ addi r1, r1, 0x30 +/* 802A36E4 0029F344 4E 80 00 20 */ blr + +.global IOS_Write +IOS_Write: +/* 802A36E8 0029F348 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A36EC 0029F34C 7C 08 02 A6 */ mflr r0 +/* 802A36F0 0029F350 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A36F4 0029F354 34 01 00 08 */ addic. r0, r1, 8 +/* 802A36F8 0029F358 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A36FC 0029F35C 3B E0 00 00 */ li r31, 0 +/* 802A3700 0029F360 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A3704 0029F364 7C BE 2B 78 */ mr r30, r5 +/* 802A3708 0029F368 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A370C 0029F36C 7C 9D 23 78 */ mr r29, r4 +/* 802A3710 0029F370 93 81 00 10 */ stw r28, 0x10(r1) +/* 802A3714 0029F374 7C 7C 1B 78 */ mr r28, r3 +/* 802A3718 0029F378 40 82 00 0C */ bne lbl_802A3724 +/* 802A371C 0029F37C 3B E0 FF FC */ li r31, -4 +/* 802A3720 0029F380 48 00 00 4C */ b lbl_802A376C +lbl_802A3724: +/* 802A3724 0029F384 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3728 0029F388 38 80 00 40 */ li r4, 0x40 +/* 802A372C 0029F38C 38 A0 00 20 */ li r5, 0x20 +/* 802A3730 0029F390 48 00 0C 09 */ bl iosAllocAligned +/* 802A3734 0029F394 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3738 0029F398 90 61 00 08 */ stw r3, 8(r1) +/* 802A373C 0029F39C 40 82 00 0C */ bne lbl_802A3748 +/* 802A3740 0029F3A0 3B E0 FF EA */ li r31, -22 +/* 802A3744 0029F3A4 48 00 00 28 */ b lbl_802A376C +lbl_802A3748: +/* 802A3748 0029F3A8 38 A0 00 00 */ li r5, 0 +/* 802A374C 0029F3AC 38 00 00 04 */ li r0, 4 +/* 802A3750 0029F3B0 90 A3 00 20 */ stw r5, 0x20(r3) +/* 802A3754 0029F3B4 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3758 0029F3B8 90 A4 00 24 */ stw r5, 0x24(r4) +/* 802A375C 0029F3BC 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3760 0029F3C0 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A3764 0029F3C4 90 03 00 00 */ stw r0, 0(r3) +/* 802A3768 0029F3C8 93 83 00 08 */ stw r28, 8(r3) +lbl_802A376C: +/* 802A376C 0029F3CC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3770 0029F3D0 40 82 00 5C */ bne lbl_802A37CC +/* 802A3774 0029F3D4 80 A1 00 08 */ lwz r5, 8(r1) +/* 802A3778 0029F3D8 3B E0 00 00 */ li r31, 0 +/* 802A377C 0029F3DC 2C 05 00 00 */ cmpwi r5, 0 +/* 802A3780 0029F3E0 40 82 00 0C */ bne lbl_802A378C +/* 802A3784 0029F3E4 3B E0 FF FC */ li r31, -4 +/* 802A3788 0029F3E8 48 00 00 2C */ b lbl_802A37B4 +lbl_802A378C: +/* 802A378C 0029F3EC 2C 1D 00 00 */ cmpwi r29, 0 +/* 802A3790 0029F3F0 41 82 00 0C */ beq lbl_802A379C +/* 802A3794 0029F3F4 3C 1D 80 00 */ addis r0, r29, 0x8000 +/* 802A3798 0029F3F8 48 00 00 08 */ b lbl_802A37A0 +lbl_802A379C: +/* 802A379C 0029F3FC 38 00 00 00 */ li r0, 0 +lbl_802A37A0: +/* 802A37A0 0029F400 90 05 00 0C */ stw r0, 0xc(r5) +/* 802A37A4 0029F404 7F A3 EB 78 */ mr r3, r29 +/* 802A37A8 0029F408 7F C4 F3 78 */ mr r4, r30 +/* 802A37AC 0029F40C 93 C5 00 10 */ stw r30, 0x10(r5) +/* 802A37B0 0029F410 4B FC 6E A5 */ bl DCFlushRange +lbl_802A37B4: +/* 802A37B4 0029F414 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A37B8 0029F418 40 82 00 14 */ bne lbl_802A37CC +/* 802A37BC 0029F41C 80 61 00 08 */ lwz r3, 8(r1) +/* 802A37C0 0029F420 38 80 00 00 */ li r4, 0 +/* 802A37C4 0029F424 4B FF F6 31 */ bl __ios_Ipc2 +/* 802A37C8 0029F428 7C 7F 1B 78 */ mr r31, r3 +lbl_802A37CC: +/* 802A37CC 0029F42C 7F E3 FB 78 */ mr r3, r31 +/* 802A37D0 0029F430 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A37D4 0029F434 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A37D8 0029F438 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A37DC 0029F43C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802A37E0 0029F440 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A37E4 0029F444 7C 08 03 A6 */ mtlr r0 +/* 802A37E8 0029F448 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A37EC 0029F44C 4E 80 00 20 */ blr + +.global IOS_SeekAsync +IOS_SeekAsync: +/* 802A37F0 0029F450 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802A37F4 0029F454 7C 08 02 A6 */ mflr r0 +/* 802A37F8 0029F458 90 01 00 34 */ stw r0, 0x34(r1) +/* 802A37FC 0029F45C 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3800 0029F460 4B F2 39 25 */ bl _savegpr_26 +/* 802A3804 0029F464 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3808 0029F468 7C 7A 1B 78 */ mr r26, r3 +/* 802A380C 0029F46C 7C 9B 23 78 */ mr r27, r4 +/* 802A3810 0029F470 7C BC 2B 78 */ mr r28, r5 +/* 802A3814 0029F474 7C DD 33 78 */ mr r29, r6 +/* 802A3818 0029F478 7C FE 3B 78 */ mr r30, r7 +/* 802A381C 0029F47C 3B E0 00 00 */ li r31, 0 +/* 802A3820 0029F480 40 82 00 0C */ bne lbl_802A382C +/* 802A3824 0029F484 3B E0 FF FC */ li r31, -4 +/* 802A3828 0029F488 48 00 00 4C */ b lbl_802A3874 +lbl_802A382C: +/* 802A382C 0029F48C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3830 0029F490 38 80 00 40 */ li r4, 0x40 +/* 802A3834 0029F494 38 A0 00 20 */ li r5, 0x20 +/* 802A3838 0029F498 48 00 0B 01 */ bl iosAllocAligned +/* 802A383C 0029F49C 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3840 0029F4A0 90 61 00 08 */ stw r3, 8(r1) +/* 802A3844 0029F4A4 40 82 00 0C */ bne lbl_802A3850 +/* 802A3848 0029F4A8 3B E0 FF EA */ li r31, -22 +/* 802A384C 0029F4AC 48 00 00 28 */ b lbl_802A3874 +lbl_802A3850: +/* 802A3850 0029F4B0 93 A3 00 20 */ stw r29, 0x20(r3) +/* 802A3854 0029F4B4 38 A0 00 00 */ li r5, 0 +/* 802A3858 0029F4B8 38 00 00 05 */ li r0, 5 +/* 802A385C 0029F4BC 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3860 0029F4C0 93 C4 00 24 */ stw r30, 0x24(r4) +/* 802A3864 0029F4C4 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3868 0029F4C8 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A386C 0029F4CC 90 03 00 00 */ stw r0, 0(r3) +/* 802A3870 0029F4D0 93 43 00 08 */ stw r26, 8(r3) +lbl_802A3874: +/* 802A3874 0029F4D4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3878 0029F4D8 40 82 00 3C */ bne lbl_802A38B4 +/* 802A387C 0029F4DC 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3880 0029F4E0 3B E0 00 00 */ li r31, 0 +/* 802A3884 0029F4E4 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3888 0029F4E8 40 82 00 0C */ bne lbl_802A3894 +/* 802A388C 0029F4EC 3B E0 FF FC */ li r31, -4 +/* 802A3890 0029F4F0 48 00 00 0C */ b lbl_802A389C +lbl_802A3894: +/* 802A3894 0029F4F4 93 63 00 0C */ stw r27, 0xc(r3) +/* 802A3898 0029F4F8 93 83 00 10 */ stw r28, 0x10(r3) +lbl_802A389C: +/* 802A389C 0029F4FC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A38A0 0029F500 40 82 00 14 */ bne lbl_802A38B4 +/* 802A38A4 0029F504 80 61 00 08 */ lwz r3, 8(r1) +/* 802A38A8 0029F508 7F A4 EB 78 */ mr r4, r29 +/* 802A38AC 0029F50C 4B FF F5 49 */ bl __ios_Ipc2 +/* 802A38B0 0029F510 7C 7F 1B 78 */ mr r31, r3 +lbl_802A38B4: +/* 802A38B4 0029F514 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A38B8 0029F518 7F E3 FB 78 */ mr r3, r31 +/* 802A38BC 0029F51C 4B F2 38 B5 */ bl _restgpr_26 +/* 802A38C0 0029F520 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802A38C4 0029F524 7C 08 03 A6 */ mtlr r0 +/* 802A38C8 0029F528 38 21 00 30 */ addi r1, r1, 0x30 +/* 802A38CC 0029F52C 4E 80 00 20 */ blr + +.global IOS_Seek +IOS_Seek: +/* 802A38D0 0029F530 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A38D4 0029F534 7C 08 02 A6 */ mflr r0 +/* 802A38D8 0029F538 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A38DC 0029F53C 34 01 00 08 */ addic. r0, r1, 8 +/* 802A38E0 0029F540 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A38E4 0029F544 3B E0 00 00 */ li r31, 0 +/* 802A38E8 0029F548 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A38EC 0029F54C 7C BE 2B 78 */ mr r30, r5 +/* 802A38F0 0029F550 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A38F4 0029F554 7C 9D 23 78 */ mr r29, r4 +/* 802A38F8 0029F558 93 81 00 10 */ stw r28, 0x10(r1) +/* 802A38FC 0029F55C 7C 7C 1B 78 */ mr r28, r3 +/* 802A3900 0029F560 40 82 00 0C */ bne lbl_802A390C +/* 802A3904 0029F564 3B E0 FF FC */ li r31, -4 +/* 802A3908 0029F568 48 00 00 4C */ b lbl_802A3954 +lbl_802A390C: +/* 802A390C 0029F56C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3910 0029F570 38 80 00 40 */ li r4, 0x40 +/* 802A3914 0029F574 38 A0 00 20 */ li r5, 0x20 +/* 802A3918 0029F578 48 00 0A 21 */ bl iosAllocAligned +/* 802A391C 0029F57C 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3920 0029F580 90 61 00 08 */ stw r3, 8(r1) +/* 802A3924 0029F584 40 82 00 0C */ bne lbl_802A3930 +/* 802A3928 0029F588 3B E0 FF EA */ li r31, -22 +/* 802A392C 0029F58C 48 00 00 28 */ b lbl_802A3954 +lbl_802A3930: +/* 802A3930 0029F590 38 A0 00 00 */ li r5, 0 +/* 802A3934 0029F594 38 00 00 05 */ li r0, 5 +/* 802A3938 0029F598 90 A3 00 20 */ stw r5, 0x20(r3) +/* 802A393C 0029F59C 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3940 0029F5A0 90 A4 00 24 */ stw r5, 0x24(r4) +/* 802A3944 0029F5A4 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3948 0029F5A8 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A394C 0029F5AC 90 03 00 00 */ stw r0, 0(r3) +/* 802A3950 0029F5B0 93 83 00 08 */ stw r28, 8(r3) +lbl_802A3954: +/* 802A3954 0029F5B4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3958 0029F5B8 40 82 00 3C */ bne lbl_802A3994 +/* 802A395C 0029F5BC 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3960 0029F5C0 3B E0 00 00 */ li r31, 0 +/* 802A3964 0029F5C4 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3968 0029F5C8 40 82 00 0C */ bne lbl_802A3974 +/* 802A396C 0029F5CC 3B E0 FF FC */ li r31, -4 +/* 802A3970 0029F5D0 48 00 00 0C */ b lbl_802A397C +lbl_802A3974: +/* 802A3974 0029F5D4 93 A3 00 0C */ stw r29, 0xc(r3) +/* 802A3978 0029F5D8 93 C3 00 10 */ stw r30, 0x10(r3) +lbl_802A397C: +/* 802A397C 0029F5DC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3980 0029F5E0 40 82 00 14 */ bne lbl_802A3994 +/* 802A3984 0029F5E4 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3988 0029F5E8 38 80 00 00 */ li r4, 0 +/* 802A398C 0029F5EC 4B FF F4 69 */ bl __ios_Ipc2 +/* 802A3990 0029F5F0 7C 7F 1B 78 */ mr r31, r3 +lbl_802A3994: +/* 802A3994 0029F5F4 7F E3 FB 78 */ mr r3, r31 +/* 802A3998 0029F5F8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A399C 0029F5FC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A39A0 0029F600 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A39A4 0029F604 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802A39A8 0029F608 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A39AC 0029F60C 7C 08 03 A6 */ mtlr r0 +/* 802A39B0 0029F610 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A39B4 0029F614 4E 80 00 20 */ blr + +.global IOS_IoctlAsync +IOS_IoctlAsync: +/* 802A39B8 0029F618 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802A39BC 0029F61C 7C 08 02 A6 */ mflr r0 +/* 802A39C0 0029F620 90 01 00 44 */ stw r0, 0x44(r1) +/* 802A39C4 0029F624 39 61 00 40 */ addi r11, r1, 0x40 +/* 802A39C8 0029F628 4B F2 37 51 */ bl _savegpr_23 +/* 802A39CC 0029F62C 34 01 00 08 */ addic. r0, r1, 8 +/* 802A39D0 0029F630 7C 77 1B 78 */ mr r23, r3 +/* 802A39D4 0029F634 7C 98 23 78 */ mr r24, r4 +/* 802A39D8 0029F638 7C B9 2B 78 */ mr r25, r5 +/* 802A39DC 0029F63C 7C DA 33 78 */ mr r26, r6 +/* 802A39E0 0029F640 7C FB 3B 78 */ mr r27, r7 +/* 802A39E4 0029F644 7D 1C 43 78 */ mr r28, r8 +/* 802A39E8 0029F648 7D 3D 4B 78 */ mr r29, r9 +/* 802A39EC 0029F64C 7D 5E 53 78 */ mr r30, r10 +/* 802A39F0 0029F650 3B E0 00 00 */ li r31, 0 +/* 802A39F4 0029F654 40 82 00 0C */ bne lbl_802A3A00 +/* 802A39F8 0029F658 3B E0 FF FC */ li r31, -4 +/* 802A39FC 0029F65C 48 00 00 4C */ b lbl_802A3A48 +lbl_802A3A00: +/* 802A3A00 0029F660 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3A04 0029F664 38 80 00 40 */ li r4, 0x40 +/* 802A3A08 0029F668 38 A0 00 20 */ li r5, 0x20 +/* 802A3A0C 0029F66C 48 00 09 2D */ bl iosAllocAligned +/* 802A3A10 0029F670 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3A14 0029F674 90 61 00 08 */ stw r3, 8(r1) +/* 802A3A18 0029F678 40 82 00 0C */ bne lbl_802A3A24 +/* 802A3A1C 0029F67C 3B E0 FF EA */ li r31, -22 +/* 802A3A20 0029F680 48 00 00 28 */ b lbl_802A3A48 +lbl_802A3A24: +/* 802A3A24 0029F684 93 A3 00 20 */ stw r29, 0x20(r3) +/* 802A3A28 0029F688 38 A0 00 00 */ li r5, 0 +/* 802A3A2C 0029F68C 38 00 00 06 */ li r0, 6 +/* 802A3A30 0029F690 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3A34 0029F694 93 C4 00 24 */ stw r30, 0x24(r4) +/* 802A3A38 0029F698 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3A3C 0029F69C 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A3A40 0029F6A0 90 03 00 00 */ stw r0, 0(r3) +/* 802A3A44 0029F6A4 92 E3 00 08 */ stw r23, 8(r3) +lbl_802A3A48: +/* 802A3A48 0029F6A8 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3A4C 0029F6AC 40 82 00 88 */ bne lbl_802A3AD4 +/* 802A3A50 0029F6B0 80 A1 00 08 */ lwz r5, 8(r1) +/* 802A3A54 0029F6B4 3B E0 00 00 */ li r31, 0 +/* 802A3A58 0029F6B8 2C 05 00 00 */ cmpwi r5, 0 +/* 802A3A5C 0029F6BC 40 82 00 0C */ bne lbl_802A3A68 +/* 802A3A60 0029F6C0 3B E0 FF FC */ li r31, -4 +/* 802A3A64 0029F6C4 48 00 00 58 */ b lbl_802A3ABC +lbl_802A3A68: +/* 802A3A68 0029F6C8 2C 1B 00 00 */ cmpwi r27, 0 +/* 802A3A6C 0029F6CC 93 05 00 0C */ stw r24, 0xc(r5) +/* 802A3A70 0029F6D0 41 82 00 0C */ beq lbl_802A3A7C +/* 802A3A74 0029F6D4 3C 1B 80 00 */ addis r0, r27, 0x8000 +/* 802A3A78 0029F6D8 48 00 00 08 */ b lbl_802A3A80 +lbl_802A3A7C: +/* 802A3A7C 0029F6DC 38 00 00 00 */ li r0, 0 +lbl_802A3A80: +/* 802A3A80 0029F6E0 90 05 00 18 */ stw r0, 0x18(r5) +/* 802A3A84 0029F6E4 2C 19 00 00 */ cmpwi r25, 0 +/* 802A3A88 0029F6E8 93 85 00 1C */ stw r28, 0x1c(r5) +/* 802A3A8C 0029F6EC 41 82 00 0C */ beq lbl_802A3A98 +/* 802A3A90 0029F6F0 3C 19 80 00 */ addis r0, r25, 0x8000 +/* 802A3A94 0029F6F4 48 00 00 08 */ b lbl_802A3A9C +lbl_802A3A98: +/* 802A3A98 0029F6F8 38 00 00 00 */ li r0, 0 +lbl_802A3A9C: +/* 802A3A9C 0029F6FC 90 05 00 10 */ stw r0, 0x10(r5) +/* 802A3AA0 0029F700 7F 23 CB 78 */ mr r3, r25 +/* 802A3AA4 0029F704 7F 44 D3 78 */ mr r4, r26 +/* 802A3AA8 0029F708 93 45 00 14 */ stw r26, 0x14(r5) +/* 802A3AAC 0029F70C 4B FC 6B A9 */ bl DCFlushRange +/* 802A3AB0 0029F710 7F 63 DB 78 */ mr r3, r27 +/* 802A3AB4 0029F714 7F 84 E3 78 */ mr r4, r28 +/* 802A3AB8 0029F718 4B FC 6B 9D */ bl DCFlushRange +lbl_802A3ABC: +/* 802A3ABC 0029F71C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3AC0 0029F720 40 82 00 14 */ bne lbl_802A3AD4 +/* 802A3AC4 0029F724 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3AC8 0029F728 7F A4 EB 78 */ mr r4, r29 +/* 802A3ACC 0029F72C 4B FF F3 29 */ bl __ios_Ipc2 +/* 802A3AD0 0029F730 7C 7F 1B 78 */ mr r31, r3 +lbl_802A3AD4: +/* 802A3AD4 0029F734 39 61 00 40 */ addi r11, r1, 0x40 +/* 802A3AD8 0029F738 7F E3 FB 78 */ mr r3, r31 +/* 802A3ADC 0029F73C 4B F2 36 89 */ bl _restgpr_23 +/* 802A3AE0 0029F740 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802A3AE4 0029F744 7C 08 03 A6 */ mtlr r0 +/* 802A3AE8 0029F748 38 21 00 40 */ addi r1, r1, 0x40 +/* 802A3AEC 0029F74C 4E 80 00 20 */ blr + +.global IOS_Ioctl +IOS_Ioctl: +/* 802A3AF0 0029F750 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802A3AF4 0029F754 7C 08 02 A6 */ mflr r0 +/* 802A3AF8 0029F758 90 01 00 34 */ stw r0, 0x34(r1) +/* 802A3AFC 0029F75C 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3B00 0029F760 4B F2 36 21 */ bl _savegpr_25 +/* 802A3B04 0029F764 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3B08 0029F768 7C 79 1B 78 */ mr r25, r3 +/* 802A3B0C 0029F76C 7C 9A 23 78 */ mr r26, r4 +/* 802A3B10 0029F770 7C BB 2B 78 */ mr r27, r5 +/* 802A3B14 0029F774 7C DC 33 78 */ mr r28, r6 +/* 802A3B18 0029F778 7C FD 3B 78 */ mr r29, r7 +/* 802A3B1C 0029F77C 7D 1E 43 78 */ mr r30, r8 +/* 802A3B20 0029F780 3B E0 00 00 */ li r31, 0 +/* 802A3B24 0029F784 40 82 00 0C */ bne lbl_802A3B30 +/* 802A3B28 0029F788 3B E0 FF FC */ li r31, -4 +/* 802A3B2C 0029F78C 48 00 00 4C */ b lbl_802A3B78 +lbl_802A3B30: +/* 802A3B30 0029F790 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3B34 0029F794 38 80 00 40 */ li r4, 0x40 +/* 802A3B38 0029F798 38 A0 00 20 */ li r5, 0x20 +/* 802A3B3C 0029F79C 48 00 07 FD */ bl iosAllocAligned +/* 802A3B40 0029F7A0 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3B44 0029F7A4 90 61 00 08 */ stw r3, 8(r1) +/* 802A3B48 0029F7A8 40 82 00 0C */ bne lbl_802A3B54 +/* 802A3B4C 0029F7AC 3B E0 FF EA */ li r31, -22 +/* 802A3B50 0029F7B0 48 00 00 28 */ b lbl_802A3B78 +lbl_802A3B54: +/* 802A3B54 0029F7B4 38 A0 00 00 */ li r5, 0 +/* 802A3B58 0029F7B8 38 00 00 06 */ li r0, 6 +/* 802A3B5C 0029F7BC 90 A3 00 20 */ stw r5, 0x20(r3) +/* 802A3B60 0029F7C0 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3B64 0029F7C4 90 A4 00 24 */ stw r5, 0x24(r4) +/* 802A3B68 0029F7C8 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3B6C 0029F7CC 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A3B70 0029F7D0 90 03 00 00 */ stw r0, 0(r3) +/* 802A3B74 0029F7D4 93 23 00 08 */ stw r25, 8(r3) +lbl_802A3B78: +/* 802A3B78 0029F7D8 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3B7C 0029F7DC 40 82 00 88 */ bne lbl_802A3C04 +/* 802A3B80 0029F7E0 80 A1 00 08 */ lwz r5, 8(r1) +/* 802A3B84 0029F7E4 3B E0 00 00 */ li r31, 0 +/* 802A3B88 0029F7E8 2C 05 00 00 */ cmpwi r5, 0 +/* 802A3B8C 0029F7EC 40 82 00 0C */ bne lbl_802A3B98 +/* 802A3B90 0029F7F0 3B E0 FF FC */ li r31, -4 +/* 802A3B94 0029F7F4 48 00 00 58 */ b lbl_802A3BEC +lbl_802A3B98: +/* 802A3B98 0029F7F8 2C 1D 00 00 */ cmpwi r29, 0 +/* 802A3B9C 0029F7FC 93 45 00 0C */ stw r26, 0xc(r5) +/* 802A3BA0 0029F800 41 82 00 0C */ beq lbl_802A3BAC +/* 802A3BA4 0029F804 3C 1D 80 00 */ addis r0, r29, 0x8000 +/* 802A3BA8 0029F808 48 00 00 08 */ b lbl_802A3BB0 +lbl_802A3BAC: +/* 802A3BAC 0029F80C 38 00 00 00 */ li r0, 0 +lbl_802A3BB0: +/* 802A3BB0 0029F810 90 05 00 18 */ stw r0, 0x18(r5) +/* 802A3BB4 0029F814 2C 1B 00 00 */ cmpwi r27, 0 +/* 802A3BB8 0029F818 93 C5 00 1C */ stw r30, 0x1c(r5) +/* 802A3BBC 0029F81C 41 82 00 0C */ beq lbl_802A3BC8 +/* 802A3BC0 0029F820 3C 1B 80 00 */ addis r0, r27, 0x8000 +/* 802A3BC4 0029F824 48 00 00 08 */ b lbl_802A3BCC +lbl_802A3BC8: +/* 802A3BC8 0029F828 38 00 00 00 */ li r0, 0 +lbl_802A3BCC: +/* 802A3BCC 0029F82C 90 05 00 10 */ stw r0, 0x10(r5) +/* 802A3BD0 0029F830 7F 63 DB 78 */ mr r3, r27 +/* 802A3BD4 0029F834 7F 84 E3 78 */ mr r4, r28 +/* 802A3BD8 0029F838 93 85 00 14 */ stw r28, 0x14(r5) +/* 802A3BDC 0029F83C 4B FC 6A 79 */ bl DCFlushRange +/* 802A3BE0 0029F840 7F A3 EB 78 */ mr r3, r29 +/* 802A3BE4 0029F844 7F C4 F3 78 */ mr r4, r30 +/* 802A3BE8 0029F848 4B FC 6A 6D */ bl DCFlushRange +lbl_802A3BEC: +/* 802A3BEC 0029F84C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3BF0 0029F850 40 82 00 14 */ bne lbl_802A3C04 +/* 802A3BF4 0029F854 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3BF8 0029F858 38 80 00 00 */ li r4, 0 +/* 802A3BFC 0029F85C 4B FF F1 F9 */ bl __ios_Ipc2 +/* 802A3C00 0029F860 7C 7F 1B 78 */ mr r31, r3 +lbl_802A3C04: +/* 802A3C04 0029F864 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3C08 0029F868 7F E3 FB 78 */ mr r3, r31 +/* 802A3C0C 0029F86C 4B F2 35 61 */ bl _restgpr_25 +/* 802A3C10 0029F870 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802A3C14 0029F874 7C 08 03 A6 */ mtlr r0 +/* 802A3C18 0029F878 38 21 00 30 */ addi r1, r1, 0x30 +/* 802A3C1C 0029F87C 4E 80 00 20 */ blr + +.global __ios_Ioctlv +__ios_Ioctlv: +/* 802A3C20 0029F880 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A3C24 0029F884 7C 08 02 A6 */ mflr r0 +/* 802A3C28 0029F888 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A3C2C 0029F88C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802A3C30 0029F890 4B F2 34 F5 */ bl _savegpr_26 +/* 802A3C34 0029F894 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3C38 0029F898 7C 7D 1B 78 */ mr r29, r3 +/* 802A3C3C 0029F89C 7C FE 3B 78 */ mr r30, r7 +/* 802A3C40 0029F8A0 3B E0 00 00 */ li r31, 0 +/* 802A3C44 0029F8A4 40 82 00 0C */ bne lbl_802A3C50 +/* 802A3C48 0029F8A8 3B E0 FF FC */ li r31, -4 +/* 802A3C4C 0029F8AC 48 00 00 F4 */ b lbl_802A3D40 +lbl_802A3C50: +/* 802A3C50 0029F8B0 90 83 00 0C */ stw r4, 0xc(r3) +/* 802A3C54 0029F8B4 54 BB 18 38 */ slwi r27, r5, 3 +/* 802A3C58 0029F8B8 3B 40 00 00 */ li r26, 0 +/* 802A3C5C 0029F8BC 3B 80 00 00 */ li r28, 0 +/* 802A3C60 0029F8C0 90 A3 00 10 */ stw r5, 0x10(r3) +/* 802A3C64 0029F8C4 90 C3 00 14 */ stw r6, 0x14(r3) +/* 802A3C68 0029F8C8 90 E3 00 18 */ stw r7, 0x18(r3) +/* 802A3C6C 0029F8CC 48 00 00 48 */ b lbl_802A3CB4 +lbl_802A3C70: +/* 802A3C70 0029F8D0 80 7D 00 18 */ lwz r3, 0x18(r29) +/* 802A3C74 0029F8D4 7C 1C DA 14 */ add r0, r28, r27 +/* 802A3C78 0029F8D8 7C 83 02 14 */ add r4, r3, r0 +/* 802A3C7C 0029F8DC 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802A3C80 0029F8E0 80 84 00 04 */ lwz r4, 4(r4) +/* 802A3C84 0029F8E4 4B FC 69 D1 */ bl DCFlushRange +/* 802A3C88 0029F8E8 80 9D 00 18 */ lwz r4, 0x18(r29) +/* 802A3C8C 0029F8EC 7C 7C DA 14 */ add r3, r28, r27 +/* 802A3C90 0029F8F0 7C A4 18 2E */ lwzx r5, r4, r3 +/* 802A3C94 0029F8F4 2C 05 00 00 */ cmpwi r5, 0 +/* 802A3C98 0029F8F8 41 82 00 0C */ beq lbl_802A3CA4 +/* 802A3C9C 0029F8FC 3C 05 80 00 */ addis r0, r5, 0x8000 +/* 802A3CA0 0029F900 48 00 00 08 */ b lbl_802A3CA8 +lbl_802A3CA4: +/* 802A3CA4 0029F904 38 00 00 00 */ li r0, 0 +lbl_802A3CA8: +/* 802A3CA8 0029F908 7C 04 19 2E */ stwx r0, r4, r3 +/* 802A3CAC 0029F90C 3B 9C 00 08 */ addi r28, r28, 8 +/* 802A3CB0 0029F910 3B 5A 00 01 */ addi r26, r26, 1 +lbl_802A3CB4: +/* 802A3CB4 0029F914 80 1D 00 14 */ lwz r0, 0x14(r29) +/* 802A3CB8 0029F918 7C 1A 00 40 */ cmplw r26, r0 +/* 802A3CBC 0029F91C 41 80 FF B4 */ blt lbl_802A3C70 +/* 802A3CC0 0029F920 3B 60 00 00 */ li r27, 0 +/* 802A3CC4 0029F924 3B 80 00 00 */ li r28, 0 +/* 802A3CC8 0029F928 48 00 00 40 */ b lbl_802A3D08 +lbl_802A3CCC: +/* 802A3CCC 0029F92C 80 1D 00 18 */ lwz r0, 0x18(r29) +/* 802A3CD0 0029F930 7C 80 E2 14 */ add r4, r0, r28 +/* 802A3CD4 0029F934 7C 7C 00 2E */ lwzx r3, r28, r0 +/* 802A3CD8 0029F938 80 84 00 04 */ lwz r4, 4(r4) +/* 802A3CDC 0029F93C 4B FC 69 79 */ bl DCFlushRange +/* 802A3CE0 0029F940 80 7D 00 18 */ lwz r3, 0x18(r29) +/* 802A3CE4 0029F944 7C 83 E0 2E */ lwzx r4, r3, r28 +/* 802A3CE8 0029F948 2C 04 00 00 */ cmpwi r4, 0 +/* 802A3CEC 0029F94C 41 82 00 0C */ beq lbl_802A3CF8 +/* 802A3CF0 0029F950 3C 04 80 00 */ addis r0, r4, 0x8000 +/* 802A3CF4 0029F954 48 00 00 08 */ b lbl_802A3CFC +lbl_802A3CF8: +/* 802A3CF8 0029F958 38 00 00 00 */ li r0, 0 +lbl_802A3CFC: +/* 802A3CFC 0029F95C 7C 03 E1 2E */ stwx r0, r3, r28 +/* 802A3D00 0029F960 3B 9C 00 08 */ addi r28, r28, 8 +/* 802A3D04 0029F964 3B 7B 00 01 */ addi r27, r27, 1 +lbl_802A3D08: +/* 802A3D08 0029F968 80 9D 00 10 */ lwz r4, 0x10(r29) +/* 802A3D0C 0029F96C 7C 1B 20 40 */ cmplw r27, r4 +/* 802A3D10 0029F970 41 80 FF BC */ blt lbl_802A3CCC +/* 802A3D14 0029F974 80 1D 00 14 */ lwz r0, 0x14(r29) +/* 802A3D18 0029F978 80 7D 00 18 */ lwz r3, 0x18(r29) +/* 802A3D1C 0029F97C 7C 04 02 14 */ add r0, r4, r0 +/* 802A3D20 0029F980 54 04 18 38 */ slwi r4, r0, 3 +/* 802A3D24 0029F984 4B FC 69 31 */ bl DCFlushRange +/* 802A3D28 0029F988 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A3D2C 0029F98C 41 82 00 0C */ beq lbl_802A3D38 +/* 802A3D30 0029F990 3C 1E 80 00 */ addis r0, r30, 0x8000 +/* 802A3D34 0029F994 48 00 00 08 */ b lbl_802A3D3C +lbl_802A3D38: +/* 802A3D38 0029F998 38 00 00 00 */ li r0, 0 +lbl_802A3D3C: +/* 802A3D3C 0029F99C 90 1D 00 18 */ stw r0, 0x18(r29) +lbl_802A3D40: +/* 802A3D40 0029F9A0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802A3D44 0029F9A4 7F E3 FB 78 */ mr r3, r31 +/* 802A3D48 0029F9A8 4B F2 34 29 */ bl _restgpr_26 +/* 802A3D4C 0029F9AC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A3D50 0029F9B0 7C 08 03 A6 */ mtlr r0 +/* 802A3D54 0029F9B4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A3D58 0029F9B8 4E 80 00 20 */ blr + +.global IOS_IoctlvAsync +IOS_IoctlvAsync: +/* 802A3D5C 0029F9BC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802A3D60 0029F9C0 7C 08 02 A6 */ mflr r0 +/* 802A3D64 0029F9C4 90 01 00 34 */ stw r0, 0x34(r1) +/* 802A3D68 0029F9C8 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3D6C 0029F9CC 4B F2 33 B1 */ bl _savegpr_24 +/* 802A3D70 0029F9D0 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3D74 0029F9D4 7C 78 1B 78 */ mr r24, r3 +/* 802A3D78 0029F9D8 7C 99 23 78 */ mr r25, r4 +/* 802A3D7C 0029F9DC 7C BA 2B 78 */ mr r26, r5 +/* 802A3D80 0029F9E0 7C DB 33 78 */ mr r27, r6 +/* 802A3D84 0029F9E4 7C FC 3B 78 */ mr r28, r7 +/* 802A3D88 0029F9E8 7D 1D 43 78 */ mr r29, r8 +/* 802A3D8C 0029F9EC 7D 3E 4B 78 */ mr r30, r9 +/* 802A3D90 0029F9F0 3B E0 00 00 */ li r31, 0 +/* 802A3D94 0029F9F4 40 82 00 0C */ bne lbl_802A3DA0 +/* 802A3D98 0029F9F8 3B E0 FF FC */ li r31, -4 +/* 802A3D9C 0029F9FC 48 00 00 4C */ b lbl_802A3DE8 +lbl_802A3DA0: +/* 802A3DA0 0029FA00 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3DA4 0029FA04 38 80 00 40 */ li r4, 0x40 +/* 802A3DA8 0029FA08 38 A0 00 20 */ li r5, 0x20 +/* 802A3DAC 0029FA0C 48 00 05 8D */ bl iosAllocAligned +/* 802A3DB0 0029FA10 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3DB4 0029FA14 90 61 00 08 */ stw r3, 8(r1) +/* 802A3DB8 0029FA18 40 82 00 0C */ bne lbl_802A3DC4 +/* 802A3DBC 0029FA1C 3B E0 FF EA */ li r31, -22 +/* 802A3DC0 0029FA20 48 00 00 28 */ b lbl_802A3DE8 +lbl_802A3DC4: +/* 802A3DC4 0029FA24 93 A3 00 20 */ stw r29, 0x20(r3) +/* 802A3DC8 0029FA28 38 A0 00 00 */ li r5, 0 +/* 802A3DCC 0029FA2C 38 00 00 07 */ li r0, 7 +/* 802A3DD0 0029FA30 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3DD4 0029FA34 93 C4 00 24 */ stw r30, 0x24(r4) +/* 802A3DD8 0029FA38 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3DDC 0029FA3C 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A3DE0 0029FA40 90 03 00 00 */ stw r0, 0(r3) +/* 802A3DE4 0029FA44 93 03 00 08 */ stw r24, 8(r3) +lbl_802A3DE8: +/* 802A3DE8 0029FA48 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3DEC 0029FA4C 40 82 00 38 */ bne lbl_802A3E24 +/* 802A3DF0 0029FA50 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3DF4 0029FA54 7F 24 CB 78 */ mr r4, r25 +/* 802A3DF8 0029FA58 7F 45 D3 78 */ mr r5, r26 +/* 802A3DFC 0029FA5C 7F 66 DB 78 */ mr r6, r27 +/* 802A3E00 0029FA60 7F 87 E3 78 */ mr r7, r28 +/* 802A3E04 0029FA64 4B FF FE 1D */ bl __ios_Ioctlv +/* 802A3E08 0029FA68 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3E0C 0029FA6C 7C 7F 1B 78 */ mr r31, r3 +/* 802A3E10 0029FA70 40 82 00 14 */ bne lbl_802A3E24 +/* 802A3E14 0029FA74 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3E18 0029FA78 7F A4 EB 78 */ mr r4, r29 +/* 802A3E1C 0029FA7C 4B FF EF D9 */ bl __ios_Ipc2 +/* 802A3E20 0029FA80 7C 7F 1B 78 */ mr r31, r3 +lbl_802A3E24: +/* 802A3E24 0029FA84 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3E28 0029FA88 7F E3 FB 78 */ mr r3, r31 +/* 802A3E2C 0029FA8C 4B F2 33 3D */ bl _restgpr_24 +/* 802A3E30 0029FA90 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802A3E34 0029FA94 7C 08 03 A6 */ mtlr r0 +/* 802A3E38 0029FA98 38 21 00 30 */ addi r1, r1, 0x30 +/* 802A3E3C 0029FA9C 4E 80 00 20 */ blr + +.global IOS_Ioctlv +IOS_Ioctlv: +/* 802A3E40 0029FAA0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802A3E44 0029FAA4 7C 08 02 A6 */ mflr r0 +/* 802A3E48 0029FAA8 90 01 00 34 */ stw r0, 0x34(r1) +/* 802A3E4C 0029FAAC 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3E50 0029FAB0 4B F2 32 D5 */ bl _savegpr_26 +/* 802A3E54 0029FAB4 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3E58 0029FAB8 7C 7A 1B 78 */ mr r26, r3 +/* 802A3E5C 0029FABC 7C 9B 23 78 */ mr r27, r4 +/* 802A3E60 0029FAC0 7C BC 2B 78 */ mr r28, r5 +/* 802A3E64 0029FAC4 7C DD 33 78 */ mr r29, r6 +/* 802A3E68 0029FAC8 7C FE 3B 78 */ mr r30, r7 +/* 802A3E6C 0029FACC 3B E0 00 00 */ li r31, 0 +/* 802A3E70 0029FAD0 40 82 00 0C */ bne lbl_802A3E7C +/* 802A3E74 0029FAD4 3B E0 FF FC */ li r31, -4 +/* 802A3E78 0029FAD8 48 00 00 4C */ b lbl_802A3EC4 +lbl_802A3E7C: +/* 802A3E7C 0029FADC 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3E80 0029FAE0 38 80 00 40 */ li r4, 0x40 +/* 802A3E84 0029FAE4 38 A0 00 20 */ li r5, 0x20 +/* 802A3E88 0029FAE8 48 00 04 B1 */ bl iosAllocAligned +/* 802A3E8C 0029FAEC 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3E90 0029FAF0 90 61 00 08 */ stw r3, 8(r1) +/* 802A3E94 0029FAF4 40 82 00 0C */ bne lbl_802A3EA0 +/* 802A3E98 0029FAF8 3B E0 FF EA */ li r31, -22 +/* 802A3E9C 0029FAFC 48 00 00 28 */ b lbl_802A3EC4 +lbl_802A3EA0: +/* 802A3EA0 0029FB00 38 A0 00 00 */ li r5, 0 +/* 802A3EA4 0029FB04 38 00 00 07 */ li r0, 7 +/* 802A3EA8 0029FB08 90 A3 00 20 */ stw r5, 0x20(r3) +/* 802A3EAC 0029FB0C 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3EB0 0029FB10 90 A4 00 24 */ stw r5, 0x24(r4) +/* 802A3EB4 0029FB14 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3EB8 0029FB18 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A3EBC 0029FB1C 90 03 00 00 */ stw r0, 0(r3) +/* 802A3EC0 0029FB20 93 43 00 08 */ stw r26, 8(r3) +lbl_802A3EC4: +/* 802A3EC4 0029FB24 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3EC8 0029FB28 40 82 00 38 */ bne lbl_802A3F00 +/* 802A3ECC 0029FB2C 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3ED0 0029FB30 7F 64 DB 78 */ mr r4, r27 +/* 802A3ED4 0029FB34 7F 85 E3 78 */ mr r5, r28 +/* 802A3ED8 0029FB38 7F A6 EB 78 */ mr r6, r29 +/* 802A3EDC 0029FB3C 7F C7 F3 78 */ mr r7, r30 +/* 802A3EE0 0029FB40 4B FF FD 41 */ bl __ios_Ioctlv +/* 802A3EE4 0029FB44 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3EE8 0029FB48 7C 7F 1B 78 */ mr r31, r3 +/* 802A3EEC 0029FB4C 40 82 00 14 */ bne lbl_802A3F00 +/* 802A3EF0 0029FB50 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3EF4 0029FB54 38 80 00 00 */ li r4, 0 +/* 802A3EF8 0029FB58 4B FF EE FD */ bl __ios_Ipc2 +/* 802A3EFC 0029FB5C 7C 7F 1B 78 */ mr r31, r3 +lbl_802A3F00: +/* 802A3F00 0029FB60 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3F04 0029FB64 7F E3 FB 78 */ mr r3, r31 +/* 802A3F08 0029FB68 4B F2 32 69 */ bl _restgpr_26 +/* 802A3F0C 0029FB6C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802A3F10 0029FB70 7C 08 03 A6 */ mtlr r0 +/* 802A3F14 0029FB74 38 21 00 30 */ addi r1, r1, 0x30 +/* 802A3F18 0029FB78 4E 80 00 20 */ blr + +.global IOS_IoctlvReboot +IOS_IoctlvReboot: +/* 802A3F1C 0029FB7C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802A3F20 0029FB80 7C 08 02 A6 */ mflr r0 +/* 802A3F24 0029FB84 90 01 00 34 */ stw r0, 0x34(r1) +/* 802A3F28 0029FB88 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3F2C 0029FB8C 4B F2 31 F9 */ bl _savegpr_26 +/* 802A3F30 0029FB90 34 01 00 08 */ addic. r0, r1, 8 +/* 802A3F34 0029FB94 7C 7A 1B 78 */ mr r26, r3 +/* 802A3F38 0029FB98 7C 9B 23 78 */ mr r27, r4 +/* 802A3F3C 0029FB9C 7C BC 2B 78 */ mr r28, r5 +/* 802A3F40 0029FBA0 7C DD 33 78 */ mr r29, r6 +/* 802A3F44 0029FBA4 7C FE 3B 78 */ mr r30, r7 +/* 802A3F48 0029FBA8 3B E0 00 00 */ li r31, 0 +/* 802A3F4C 0029FBAC 40 82 00 0C */ bne lbl_802A3F58 +/* 802A3F50 0029FBB0 3B E0 FF FC */ li r31, -4 +/* 802A3F54 0029FBB4 48 00 00 4C */ b lbl_802A3FA0 +lbl_802A3F58: +/* 802A3F58 0029FBB8 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) +/* 802A3F5C 0029FBBC 38 80 00 40 */ li r4, 0x40 +/* 802A3F60 0029FBC0 38 A0 00 20 */ li r5, 0x20 +/* 802A3F64 0029FBC4 48 00 03 D5 */ bl iosAllocAligned +/* 802A3F68 0029FBC8 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3F6C 0029FBCC 90 61 00 08 */ stw r3, 8(r1) +/* 802A3F70 0029FBD0 40 82 00 0C */ bne lbl_802A3F7C +/* 802A3F74 0029FBD4 3B E0 FF EA */ li r31, -22 +/* 802A3F78 0029FBD8 48 00 00 28 */ b lbl_802A3FA0 +lbl_802A3F7C: +/* 802A3F7C 0029FBDC 38 A0 00 00 */ li r5, 0 +/* 802A3F80 0029FBE0 38 00 00 07 */ li r0, 7 +/* 802A3F84 0029FBE4 90 A3 00 20 */ stw r5, 0x20(r3) +/* 802A3F88 0029FBE8 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3F8C 0029FBEC 90 A4 00 24 */ stw r5, 0x24(r4) +/* 802A3F90 0029FBF0 80 81 00 08 */ lwz r4, 8(r1) +/* 802A3F94 0029FBF4 90 A4 00 28 */ stw r5, 0x28(r4) +/* 802A3F98 0029FBF8 90 03 00 00 */ stw r0, 0(r3) +/* 802A3F9C 0029FBFC 93 43 00 08 */ stw r26, 8(r3) +lbl_802A3FA0: +/* 802A3FA0 0029FC00 2C 1F 00 00 */ cmpwi r31, 0 +/* 802A3FA4 0029FC04 40 82 00 44 */ bne lbl_802A3FE8 +/* 802A3FA8 0029FC08 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3FAC 0029FC0C 38 00 00 01 */ li r0, 1 +/* 802A3FB0 0029FC10 7F 64 DB 78 */ mr r4, r27 +/* 802A3FB4 0029FC14 7F 85 E3 78 */ mr r5, r28 +/* 802A3FB8 0029FC18 90 03 00 28 */ stw r0, 0x28(r3) +/* 802A3FBC 0029FC1C 7F A6 EB 78 */ mr r6, r29 +/* 802A3FC0 0029FC20 7F C7 F3 78 */ mr r7, r30 +/* 802A3FC4 0029FC24 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3FC8 0029FC28 4B FF FC 59 */ bl __ios_Ioctlv +/* 802A3FCC 0029FC2C 2C 03 00 00 */ cmpwi r3, 0 +/* 802A3FD0 0029FC30 7C 7F 1B 78 */ mr r31, r3 +/* 802A3FD4 0029FC34 40 82 00 14 */ bne lbl_802A3FE8 +/* 802A3FD8 0029FC38 80 61 00 08 */ lwz r3, 8(r1) +/* 802A3FDC 0029FC3C 38 80 00 00 */ li r4, 0 +/* 802A3FE0 0029FC40 4B FF EE 15 */ bl __ios_Ipc2 +/* 802A3FE4 0029FC44 7C 7F 1B 78 */ mr r31, r3 +lbl_802A3FE8: +/* 802A3FE8 0029FC48 39 61 00 30 */ addi r11, r1, 0x30 +/* 802A3FEC 0029FC4C 7F E3 FB 78 */ mr r3, r31 +/* 802A3FF0 0029FC50 4B F2 31 81 */ bl _restgpr_26 +/* 802A3FF4 0029FC54 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802A3FF8 0029FC58 7C 08 03 A6 */ mtlr r0 +/* 802A3FFC 0029FC5C 38 21 00 30 */ addi r1, r1, 0x30 +/* 802A4000 0029FC60 4E 80 00 20 */ blr diff --git a/asm/SDK/IPC/memory.s b/asm/SDK/IPC/memory.s new file mode 100644 index 0000000..69e943a --- /dev/null +++ b/asm/SDK/IPC/memory.s @@ -0,0 +1,373 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global iosCreateHeap +iosCreateHeap: +/* 802A4004 0029FC64 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A4008 0029FC68 7C 08 02 A6 */ mflr r0 +/* 802A400C 0029FC6C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A4010 0029FC70 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A4014 0029FC74 3B E0 FF FC */ li r31, -4 +/* 802A4018 0029FC78 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A401C 0029FC7C 7C 9E 23 78 */ mr r30, r4 +/* 802A4020 0029FC80 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A4024 0029FC84 7C 7D 1B 78 */ mr r29, r3 +/* 802A4028 0029FC88 4B FC A7 35 */ bl OSDisableInterrupts +/* 802A402C 0029FC8C 57 A0 06 FF */ clrlwi. r0, r29, 0x1b +/* 802A4030 0029FC90 40 82 00 E0 */ bne lbl_802A4110 +/* 802A4034 0029FC94 3C 80 80 53 */ lis r4, 0x8053 +/* 802A4038 0029FC98 84 04 6B B0 */ lwzu r0, 0x6bb0(r4) +/* 802A403C 0029FC9C 3B E0 00 00 */ li r31, 0 +/* 802A4040 0029FCA0 2C 00 00 00 */ cmpwi r0, 0 +/* 802A4044 0029FCA4 41 82 00 78 */ beq lbl_802A40BC +/* 802A4048 0029FCA8 80 04 00 10 */ lwz r0, 0x10(r4) +/* 802A404C 0029FCAC 3B E0 00 01 */ li r31, 1 +/* 802A4050 0029FCB0 2C 00 00 00 */ cmpwi r0, 0 +/* 802A4054 0029FCB4 41 82 00 68 */ beq lbl_802A40BC +/* 802A4058 0029FCB8 80 04 00 20 */ lwz r0, 0x20(r4) +/* 802A405C 0029FCBC 3B E0 00 02 */ li r31, 2 +/* 802A4060 0029FCC0 2C 00 00 00 */ cmpwi r0, 0 +/* 802A4064 0029FCC4 41 82 00 58 */ beq lbl_802A40BC +/* 802A4068 0029FCC8 80 04 00 30 */ lwz r0, 0x30(r4) +/* 802A406C 0029FCCC 3B E0 00 03 */ li r31, 3 +/* 802A4070 0029FCD0 2C 00 00 00 */ cmpwi r0, 0 +/* 802A4074 0029FCD4 41 82 00 48 */ beq lbl_802A40BC +/* 802A4078 0029FCD8 80 04 00 40 */ lwz r0, 0x40(r4) +/* 802A407C 0029FCDC 3B E0 00 04 */ li r31, 4 +/* 802A4080 0029FCE0 2C 00 00 00 */ cmpwi r0, 0 +/* 802A4084 0029FCE4 41 82 00 38 */ beq lbl_802A40BC +/* 802A4088 0029FCE8 80 04 00 50 */ lwz r0, 0x50(r4) +/* 802A408C 0029FCEC 3B E0 00 05 */ li r31, 5 +/* 802A4090 0029FCF0 2C 00 00 00 */ cmpwi r0, 0 +/* 802A4094 0029FCF4 41 82 00 28 */ beq lbl_802A40BC +/* 802A4098 0029FCF8 80 04 00 60 */ lwz r0, 0x60(r4) +/* 802A409C 0029FCFC 3B E0 00 06 */ li r31, 6 +/* 802A40A0 0029FD00 2C 00 00 00 */ cmpwi r0, 0 +/* 802A40A4 0029FD04 41 82 00 18 */ beq lbl_802A40BC +/* 802A40A8 0029FD08 80 04 00 70 */ lwz r0, 0x70(r4) +/* 802A40AC 0029FD0C 3B E0 00 07 */ li r31, 7 +/* 802A40B0 0029FD10 2C 00 00 00 */ cmpwi r0, 0 +/* 802A40B4 0029FD14 41 82 00 08 */ beq lbl_802A40BC +/* 802A40B8 0029FD18 3B E0 00 08 */ li r31, 8 +lbl_802A40BC: +/* 802A40BC 0029FD1C 2C 1F 00 08 */ cmpwi r31, 8 +/* 802A40C0 0029FD20 40 82 00 0C */ bne lbl_802A40CC +/* 802A40C4 0029FD24 3B E0 FF FB */ li r31, -5 +/* 802A40C8 0029FD28 48 00 00 48 */ b lbl_802A4110 +lbl_802A40CC: +/* 802A40CC 0029FD2C 3C A0 80 53 */ lis r5, lbl_80536BB0@ha +/* 802A40D0 0029FD30 57 E0 20 36 */ slwi r0, r31, 4 +/* 802A40D4 0029FD34 38 A5 6B B0 */ addi r5, r5, lbl_80536BB0@l +/* 802A40D8 0029FD38 3C 80 BA BE */ lis r4, 0xbabe +/* 802A40DC 0029FD3C 7C C5 02 14 */ add r6, r5, r0 +/* 802A40E0 0029FD40 38 00 00 00 */ li r0, 0 +/* 802A40E4 0029FD44 93 A6 00 00 */ stw r29, 0(r6) +/* 802A40E8 0029FD48 38 BE FF F0 */ addi r5, r30, -16 +/* 802A40EC 0029FD4C 93 C6 00 08 */ stw r30, 8(r6) +/* 802A40F0 0029FD50 93 A6 00 0C */ stw r29, 0xc(r6) +/* 802A40F4 0029FD54 90 9D 00 00 */ stw r4, 0(r29) +/* 802A40F8 0029FD58 80 86 00 0C */ lwz r4, 0xc(r6) +/* 802A40FC 0029FD5C 90 A4 00 04 */ stw r5, 4(r4) +/* 802A4100 0029FD60 80 86 00 0C */ lwz r4, 0xc(r6) +/* 802A4104 0029FD64 90 04 00 08 */ stw r0, 8(r4) +/* 802A4108 0029FD68 80 86 00 0C */ lwz r4, 0xc(r6) +/* 802A410C 0029FD6C 90 04 00 0C */ stw r0, 0xc(r4) +lbl_802A4110: +/* 802A4110 0029FD70 4B FC A6 75 */ bl OSRestoreInterrupts +/* 802A4114 0029FD74 7F E3 FB 78 */ mr r3, r31 +/* 802A4118 0029FD78 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A411C 0029FD7C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A4120 0029FD80 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A4124 0029FD84 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A4128 0029FD88 7C 08 03 A6 */ mtlr r0 +/* 802A412C 0029FD8C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A4130 0029FD90 4E 80 00 20 */ blr +__iosAlloc: +/* 802A4134 0029FD94 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A4138 0029FD98 7C 08 02 A6 */ mflr r0 +/* 802A413C 0029FD9C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A4140 0029FDA0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A4144 0029FDA4 3B E0 00 00 */ li r31, 0 +/* 802A4148 0029FDA8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A414C 0029FDAC 7C BE 2B 78 */ mr r30, r5 +/* 802A4150 0029FDB0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A4154 0029FDB4 7C 9D 23 78 */ mr r29, r4 +/* 802A4158 0029FDB8 93 81 00 10 */ stw r28, 0x10(r1) +/* 802A415C 0029FDBC 7C 7C 1B 78 */ mr r28, r3 +/* 802A4160 0029FDC0 4B FC A5 FD */ bl OSDisableInterrupts +/* 802A4164 0029FDC4 2C 1D 00 00 */ cmpwi r29, 0 +/* 802A4168 0029FDC8 41 82 01 A8 */ beq lbl_802A4310 +/* 802A416C 0029FDCC 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A4170 0029FDD0 41 82 01 A0 */ beq lbl_802A4310 +/* 802A4174 0029FDD4 38 1E FF FF */ addi r0, r30, -1 +/* 802A4178 0029FDD8 7F C0 00 39 */ and. r0, r30, r0 +/* 802A417C 0029FDDC 40 82 01 94 */ bne lbl_802A4310 +/* 802A4180 0029FDE0 28 1E 00 20 */ cmplwi r30, 0x20 +/* 802A4184 0029FDE4 40 80 00 08 */ bge lbl_802A418C +/* 802A4188 0029FDE8 3B C0 00 20 */ li r30, 0x20 +lbl_802A418C: +/* 802A418C 0029FDEC 2C 1C 00 00 */ cmpwi r28, 0 +/* 802A4190 0029FDF0 38 1D 00 1F */ addi r0, r29, 0x1f +/* 802A4194 0029FDF4 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a +/* 802A4198 0029FDF8 41 80 00 24 */ blt lbl_802A41BC +/* 802A419C 0029FDFC 2C 1C 00 08 */ cmpwi r28, 8 +/* 802A41A0 0029FE00 40 80 00 1C */ bge lbl_802A41BC +/* 802A41A4 0029FE04 3C 80 80 53 */ lis r4, lbl_80536BB0@ha +/* 802A41A8 0029FE08 57 80 20 36 */ slwi r0, r28, 4 +/* 802A41AC 0029FE0C 38 84 6B B0 */ addi r4, r4, lbl_80536BB0@l +/* 802A41B0 0029FE10 7C 04 00 6E */ lwzux r0, r4, r0 +/* 802A41B4 0029FE14 2C 00 00 00 */ cmpwi r0, 0 +/* 802A41B8 0029FE18 40 82 00 0C */ bne lbl_802A41C4 +lbl_802A41BC: +/* 802A41BC 0029FE1C 3B E0 00 00 */ li r31, 0 +/* 802A41C0 0029FE20 48 00 01 50 */ b lbl_802A4310 +lbl_802A41C4: +/* 802A41C4 0029FE24 81 04 00 0C */ lwz r8, 0xc(r4) +/* 802A41C8 0029FE28 38 DE FF FF */ addi r6, r30, -1 +/* 802A41CC 0029FE2C 38 A0 00 00 */ li r5, 0 +/* 802A41D0 0029FE30 48 00 00 58 */ b lbl_802A4228 +lbl_802A41D4: +/* 802A41D4 0029FE34 80 E8 00 04 */ lwz r7, 4(r8) +/* 802A41D8 0029FE38 38 08 00 10 */ addi r0, r8, 0x10 +/* 802A41DC 0029FE3C 7C 00 30 38 */ and r0, r0, r6 +/* 802A41E0 0029FE40 7C 07 E8 40 */ cmplw r7, r29 +/* 802A41E4 0029FE44 7C 00 F0 50 */ subf r0, r0, r30 +/* 802A41E8 0029FE48 7C C0 00 38 */ and r0, r6, r0 +/* 802A41EC 0029FE4C 40 82 00 14 */ bne lbl_802A4200 +/* 802A41F0 0029FE50 2C 00 00 00 */ cmpwi r0, 0 +/* 802A41F4 0029FE54 40 82 00 0C */ bne lbl_802A4200 +/* 802A41F8 0029FE58 7D 05 43 78 */ mr r5, r8 +/* 802A41FC 0029FE5C 48 00 00 34 */ b lbl_802A4230 +lbl_802A4200: +/* 802A4200 0029FE60 7C 1D 02 14 */ add r0, r29, r0 +/* 802A4204 0029FE64 7C 07 00 40 */ cmplw r7, r0 +/* 802A4208 0029FE68 41 80 00 1C */ blt lbl_802A4224 +/* 802A420C 0029FE6C 2C 05 00 00 */ cmpwi r5, 0 +/* 802A4210 0029FE70 41 82 00 10 */ beq lbl_802A4220 +/* 802A4214 0029FE74 80 05 00 04 */ lwz r0, 4(r5) +/* 802A4218 0029FE78 7C 07 00 40 */ cmplw r7, r0 +/* 802A421C 0029FE7C 40 80 00 08 */ bge lbl_802A4224 +lbl_802A4220: +/* 802A4220 0029FE80 7D 05 43 78 */ mr r5, r8 +lbl_802A4224: +/* 802A4224 0029FE84 81 08 00 0C */ lwz r8, 0xc(r8) +lbl_802A4228: +/* 802A4228 0029FE88 2C 08 00 00 */ cmpwi r8, 0 +/* 802A422C 0029FE8C 40 82 FF A8 */ bne lbl_802A41D4 +lbl_802A4230: +/* 802A4230 0029FE90 2C 05 00 00 */ cmpwi r5, 0 +/* 802A4234 0029FE94 41 82 00 DC */ beq lbl_802A4310 +/* 802A4238 0029FE98 38 FE FF FF */ addi r7, r30, -1 +/* 802A423C 0029FE9C 38 05 00 10 */ addi r0, r5, 0x10 +/* 802A4240 0029FEA0 7C 00 38 38 */ and r0, r0, r7 +/* 802A4244 0029FEA4 80 C5 00 04 */ lwz r6, 4(r5) +/* 802A4248 0029FEA8 7C 00 F0 50 */ subf r0, r0, r30 +/* 802A424C 0029FEAC 7C E8 00 38 */ and r8, r7, r0 +/* 802A4250 0029FEB0 7C FD 42 14 */ add r7, r29, r8 +/* 802A4254 0029FEB4 38 07 00 10 */ addi r0, r7, 0x10 +/* 802A4258 0029FEB8 7C 06 00 40 */ cmplw r6, r0 +/* 802A425C 0029FEBC 40 81 00 48 */ ble lbl_802A42A4 +/* 802A4260 0029FEC0 7C C5 EA 14 */ add r6, r5, r29 +/* 802A4264 0029FEC4 3C 00 BA BE */ lis r0, 0xbabe +/* 802A4268 0029FEC8 7D 28 32 14 */ add r9, r8, r6 +/* 802A426C 0029FECC 90 09 00 10 */ stw r0, 0x10(r9) +/* 802A4270 0029FED0 80 05 00 04 */ lwz r0, 4(r5) +/* 802A4274 0029FED4 7C 1D 00 50 */ subf r0, r29, r0 +/* 802A4278 0029FED8 7C C8 00 50 */ subf r6, r8, r0 +/* 802A427C 0029FEDC 38 06 FF F0 */ addi r0, r6, -16 +/* 802A4280 0029FEE0 90 09 00 14 */ stw r0, 0x14(r9) +/* 802A4284 0029FEE4 80 C5 00 0C */ lwz r6, 0xc(r5) +/* 802A4288 0029FEE8 2C 06 00 00 */ cmpwi r6, 0 +/* 802A428C 0029FEEC 90 C9 00 1C */ stw r6, 0x1c(r9) +/* 802A4290 0029FEF0 39 29 00 10 */ addi r9, r9, 0x10 +/* 802A4294 0029FEF4 41 82 00 08 */ beq lbl_802A429C +/* 802A4298 0029FEF8 91 26 00 08 */ stw r9, 8(r6) +lbl_802A429C: +/* 802A429C 0029FEFC 91 25 00 0C */ stw r9, 0xc(r5) +/* 802A42A0 0029FF00 90 E5 00 04 */ stw r7, 4(r5) +lbl_802A42A4: +/* 802A42A4 0029FF04 3C C0 BA BE */ lis r6, 0xBABE0001@ha +/* 802A42A8 0029FF08 38 06 00 01 */ addi r0, r6, 0xBABE0001@l +/* 802A42AC 0029FF0C 90 05 00 00 */ stw r0, 0(r5) +/* 802A42B0 0029FF10 80 C5 00 08 */ lwz r6, 8(r5) +/* 802A42B4 0029FF14 2C 06 00 00 */ cmpwi r6, 0 +/* 802A42B8 0029FF18 41 82 00 10 */ beq lbl_802A42C8 +/* 802A42BC 0029FF1C 80 05 00 0C */ lwz r0, 0xc(r5) +/* 802A42C0 0029FF20 90 06 00 0C */ stw r0, 0xc(r6) +/* 802A42C4 0029FF24 48 00 00 0C */ b lbl_802A42D0 +lbl_802A42C8: +/* 802A42C8 0029FF28 80 05 00 0C */ lwz r0, 0xc(r5) +/* 802A42CC 0029FF2C 90 04 00 0C */ stw r0, 0xc(r4) +lbl_802A42D0: +/* 802A42D0 0029FF30 80 85 00 0C */ lwz r4, 0xc(r5) +/* 802A42D4 0029FF34 2C 04 00 00 */ cmpwi r4, 0 +/* 802A42D8 0029FF38 41 82 00 0C */ beq lbl_802A42E4 +/* 802A42DC 0029FF3C 80 05 00 08 */ lwz r0, 8(r5) +/* 802A42E0 0029FF40 90 04 00 08 */ stw r0, 8(r4) +lbl_802A42E4: +/* 802A42E4 0029FF44 38 00 00 00 */ li r0, 0 +/* 802A42E8 0029FF48 7F E5 42 14 */ add r31, r5, r8 +/* 802A42EC 0029FF4C 90 05 00 0C */ stw r0, 0xc(r5) +/* 802A42F0 0029FF50 2C 08 00 00 */ cmpwi r8, 0 +/* 802A42F4 0029FF54 3B FF 00 10 */ addi r31, r31, 0x10 +/* 802A42F8 0029FF58 90 05 00 08 */ stw r0, 8(r5) +/* 802A42FC 0029FF5C 41 82 00 14 */ beq lbl_802A4310 +/* 802A4300 0029FF60 3C 80 BA BE */ lis r4, 0xBABE0002@ha +/* 802A4304 0029FF64 38 04 00 02 */ addi r0, r4, 0xBABE0002@l +/* 802A4308 0029FF68 90 1F FF F0 */ stw r0, -0x10(r31) +/* 802A430C 0029FF6C 90 BF FF F8 */ stw r5, -8(r31) +lbl_802A4310: +/* 802A4310 0029FF70 4B FC A4 75 */ bl OSRestoreInterrupts +/* 802A4314 0029FF74 7F E3 FB 78 */ mr r3, r31 +/* 802A4318 0029FF78 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A431C 0029FF7C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A4320 0029FF80 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A4324 0029FF84 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802A4328 0029FF88 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A432C 0029FF8C 7C 08 03 A6 */ mtlr r0 +/* 802A4330 0029FF90 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A4334 0029FF94 4E 80 00 20 */ blr + +.global iosAllocAligned +iosAllocAligned: +/* 802A4338 0029FF98 4B FF FD FC */ b __iosAlloc + +.global iosFree +iosFree: +/* 802A433C 0029FF9C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802A4340 0029FFA0 7C 08 02 A6 */ mflr r0 +/* 802A4344 0029FFA4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802A4348 0029FFA8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802A434C 0029FFAC 3B E0 FF FC */ li r31, -4 +/* 802A4350 0029FFB0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802A4354 0029FFB4 7C 9E 23 78 */ mr r30, r4 +/* 802A4358 0029FFB8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802A435C 0029FFBC 7C 7D 1B 78 */ mr r29, r3 +/* 802A4360 0029FFC0 4B FC A3 FD */ bl OSDisableInterrupts +/* 802A4364 0029FFC4 2C 1E 00 00 */ cmpwi r30, 0 +/* 802A4368 0029FFC8 41 82 01 9C */ beq lbl_802A4504 +/* 802A436C 0029FFCC 2C 1D 00 00 */ cmpwi r29, 0 +/* 802A4370 0029FFD0 41 80 00 28 */ blt lbl_802A4398 +/* 802A4374 0029FFD4 2C 1D 00 08 */ cmpwi r29, 8 +/* 802A4378 0029FFD8 40 80 00 20 */ bge lbl_802A4398 +/* 802A437C 0029FFDC 3C 80 80 53 */ lis r4, lbl_80536BB0@ha +/* 802A4380 0029FFE0 57 A0 20 36 */ slwi r0, r29, 4 +/* 802A4384 0029FFE4 38 84 6B B0 */ addi r4, r4, lbl_80536BB0@l +/* 802A4388 0029FFE8 7C A4 02 14 */ add r5, r4, r0 +/* 802A438C 0029FFEC 7C 84 00 2E */ lwzx r4, r4, r0 +/* 802A4390 0029FFF0 2C 04 00 00 */ cmpwi r4, 0 +/* 802A4394 0029FFF4 40 82 00 0C */ bne lbl_802A43A0 +lbl_802A4398: +/* 802A4398 0029FFF8 3B E0 FF FC */ li r31, -4 +/* 802A439C 0029FFFC 48 00 01 68 */ b lbl_802A4504 +lbl_802A43A0: +/* 802A43A0 002A0000 38 04 00 10 */ addi r0, r4, 0x10 +/* 802A43A4 002A0004 7C 1E 00 40 */ cmplw r30, r0 +/* 802A43A8 002A0008 41 80 01 5C */ blt lbl_802A4504 +/* 802A43AC 002A000C 80 05 00 08 */ lwz r0, 8(r5) +/* 802A43B0 002A0010 7C 04 02 14 */ add r0, r4, r0 +/* 802A43B4 002A0014 7C 1E 00 40 */ cmplw r30, r0 +/* 802A43B8 002A0018 41 81 01 4C */ bgt lbl_802A4504 +/* 802A43BC 002A001C 80 9E FF F0 */ lwz r4, -0x10(r30) +/* 802A43C0 002A0020 38 DE FF F0 */ addi r6, r30, -16 +/* 802A43C4 002A0024 3C 04 45 42 */ addis r0, r4, 0x4542 +/* 802A43C8 002A0028 28 00 00 02 */ cmplwi r0, 2 +/* 802A43CC 002A002C 40 82 00 08 */ bne lbl_802A43D4 +/* 802A43D0 002A0030 80 C6 00 08 */ lwz r6, 8(r6) +lbl_802A43D4: +/* 802A43D4 002A0034 80 86 00 00 */ lwz r4, 0(r6) +/* 802A43D8 002A0038 3C 04 45 42 */ addis r0, r4, 0x4542 +/* 802A43DC 002A003C 28 00 00 01 */ cmplwi r0, 1 +/* 802A43E0 002A0040 40 82 01 24 */ bne lbl_802A4504 +/* 802A43E4 002A0044 3C 00 BA BE */ lis r0, 0xbabe +/* 802A43E8 002A0048 90 06 00 00 */ stw r0, 0(r6) +/* 802A43EC 002A004C 80 85 00 0C */ lwz r4, 0xc(r5) +/* 802A43F0 002A0050 7C 87 23 78 */ mr r7, r4 +/* 802A43F4 002A0054 48 00 00 1C */ b lbl_802A4410 +lbl_802A43F8: +/* 802A43F8 002A0058 80 07 00 0C */ lwz r0, 0xc(r7) +/* 802A43FC 002A005C 2C 00 00 00 */ cmpwi r0, 0 +/* 802A4400 002A0060 41 82 00 18 */ beq lbl_802A4418 +/* 802A4404 002A0064 7C 00 30 40 */ cmplw r0, r6 +/* 802A4408 002A0068 41 81 00 10 */ bgt lbl_802A4418 +/* 802A440C 002A006C 7C 07 03 78 */ mr r7, r0 +lbl_802A4410: +/* 802A4410 002A0070 2C 07 00 00 */ cmpwi r7, 0 +/* 802A4414 002A0074 40 82 FF E4 */ bne lbl_802A43F8 +lbl_802A4418: +/* 802A4418 002A0078 2C 07 00 00 */ cmpwi r7, 0 +/* 802A441C 002A007C 41 82 00 30 */ beq lbl_802A444C +/* 802A4420 002A0080 7C 06 38 40 */ cmplw r6, r7 +/* 802A4424 002A0084 40 81 00 28 */ ble lbl_802A444C +/* 802A4428 002A0088 90 E6 00 08 */ stw r7, 8(r6) +/* 802A442C 002A008C 80 07 00 0C */ lwz r0, 0xc(r7) +/* 802A4430 002A0090 90 06 00 0C */ stw r0, 0xc(r6) +/* 802A4434 002A0094 90 C7 00 0C */ stw r6, 0xc(r7) +/* 802A4438 002A0098 80 86 00 0C */ lwz r4, 0xc(r6) +/* 802A443C 002A009C 2C 04 00 00 */ cmpwi r4, 0 +/* 802A4440 002A00A0 41 82 00 2C */ beq lbl_802A446C +/* 802A4444 002A00A4 90 C4 00 08 */ stw r6, 8(r4) +/* 802A4448 002A00A8 48 00 00 24 */ b lbl_802A446C +lbl_802A444C: +/* 802A444C 002A00AC 90 86 00 0C */ stw r4, 0xc(r6) +/* 802A4450 002A00B0 38 00 00 00 */ li r0, 0 +/* 802A4454 002A00B4 90 C5 00 0C */ stw r6, 0xc(r5) +/* 802A4458 002A00B8 90 06 00 08 */ stw r0, 8(r6) +/* 802A445C 002A00BC 80 86 00 0C */ lwz r4, 0xc(r6) +/* 802A4460 002A00C0 2C 04 00 00 */ cmpwi r4, 0 +/* 802A4464 002A00C4 41 82 00 08 */ beq lbl_802A446C +/* 802A4468 002A00C8 90 C4 00 08 */ stw r6, 8(r4) +lbl_802A446C: +/* 802A446C 002A00CC 2C 06 00 00 */ cmpwi r6, 0 +/* 802A4470 002A00D0 41 82 00 44 */ beq lbl_802A44B4 +/* 802A4474 002A00D4 80 06 00 04 */ lwz r0, 4(r6) +/* 802A4478 002A00D8 80 A6 00 0C */ lwz r5, 0xc(r6) +/* 802A447C 002A00DC 7C 86 02 14 */ add r4, r6, r0 +/* 802A4480 002A00E0 38 04 00 10 */ addi r0, r4, 0x10 +/* 802A4484 002A00E4 7C 05 00 40 */ cmplw r5, r0 +/* 802A4488 002A00E8 40 82 00 2C */ bne lbl_802A44B4 +/* 802A448C 002A00EC 80 85 00 0C */ lwz r4, 0xc(r5) +/* 802A4490 002A00F0 2C 04 00 00 */ cmpwi r4, 0 +/* 802A4494 002A00F4 90 86 00 0C */ stw r4, 0xc(r6) +/* 802A4498 002A00F8 41 82 00 08 */ beq lbl_802A44A0 +/* 802A449C 002A00FC 90 C4 00 08 */ stw r6, 8(r4) +lbl_802A44A0: +/* 802A44A0 002A0100 80 86 00 04 */ lwz r4, 4(r6) +/* 802A44A4 002A0104 80 05 00 04 */ lwz r0, 4(r5) +/* 802A44A8 002A0108 7C 80 22 14 */ add r4, r0, r4 +/* 802A44AC 002A010C 38 04 00 10 */ addi r0, r4, 0x10 +/* 802A44B0 002A0110 90 06 00 04 */ stw r0, 4(r6) +lbl_802A44B4: +/* 802A44B4 002A0114 80 A6 00 08 */ lwz r5, 8(r6) +/* 802A44B8 002A0118 2C 05 00 00 */ cmpwi r5, 0 +/* 802A44BC 002A011C 41 82 00 44 */ beq lbl_802A4500 +/* 802A44C0 002A0120 80 05 00 04 */ lwz r0, 4(r5) +/* 802A44C4 002A0124 80 C5 00 0C */ lwz r6, 0xc(r5) +/* 802A44C8 002A0128 7C 85 02 14 */ add r4, r5, r0 +/* 802A44CC 002A012C 38 04 00 10 */ addi r0, r4, 0x10 +/* 802A44D0 002A0130 7C 06 00 40 */ cmplw r6, r0 +/* 802A44D4 002A0134 40 82 00 2C */ bne lbl_802A4500 +/* 802A44D8 002A0138 80 86 00 0C */ lwz r4, 0xc(r6) +/* 802A44DC 002A013C 2C 04 00 00 */ cmpwi r4, 0 +/* 802A44E0 002A0140 90 85 00 0C */ stw r4, 0xc(r5) +/* 802A44E4 002A0144 41 82 00 08 */ beq lbl_802A44EC +/* 802A44E8 002A0148 90 A4 00 08 */ stw r5, 8(r4) +lbl_802A44EC: +/* 802A44EC 002A014C 80 85 00 04 */ lwz r4, 4(r5) +/* 802A44F0 002A0150 80 06 00 04 */ lwz r0, 4(r6) +/* 802A44F4 002A0154 7C 80 22 14 */ add r4, r0, r4 +/* 802A44F8 002A0158 38 04 00 10 */ addi r0, r4, 0x10 +/* 802A44FC 002A015C 90 05 00 04 */ stw r0, 4(r5) +lbl_802A4500: +/* 802A4500 002A0160 3B E0 00 00 */ li r31, 0 +lbl_802A4504: +/* 802A4504 002A0164 4B FC A2 81 */ bl OSRestoreInterrupts +/* 802A4508 002A0168 7F E3 FB 78 */ mr r3, r31 +/* 802A450C 002A016C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802A4510 002A0170 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802A4514 002A0174 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802A4518 002A0178 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802A451C 002A017C 7C 08 03 A6 */ mtlr r0 +/* 802A4520 002A0180 38 21 00 20 */ addi r1, r1, 0x20 +/* 802A4524 002A0184 4E 80 00 20 */ blr diff --git a/asm/SDK/NdevExi2A/DebuggerDriver.s b/asm/SDK/NdevExi2A/DebuggerDriver.s new file mode 100644 index 0000000..bf83ef9 --- /dev/null +++ b/asm/SDK/NdevExi2A/DebuggerDriver.s @@ -0,0 +1,242 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __DBMtrHandler +__DBMtrHandler: +/* 801D9F70 001D5BD0 81 8D 9F F0 */ lwz r12, lbl_8063F2B0-_SDA_BASE_(r13) +/* 801D9F74 001D5BD4 38 00 00 01 */ li r0, 1 +/* 801D9F78 001D5BD8 98 0D 9F F8 */ stb r0, lbl_8063F2B8-_SDA_BASE_(r13) +/* 801D9F7C 001D5BDC 2C 0C 00 00 */ cmpwi r12, 0 +/* 801D9F80 001D5BE0 4D 82 00 20 */ beqlr +/* 801D9F84 001D5BE4 38 60 00 00 */ li r3, 0 +/* 801D9F88 001D5BE8 7D 89 03 A6 */ mtctr r12 +/* 801D9F8C 001D5BEC 4E 80 04 20 */ bctr +/* 801D9F90 001D5BF0 4E 80 00 20 */ blr + +.global __DBIntrHandler +__DBIntrHandler: +/* 801D9F94 001D5BF4 38 00 10 00 */ li r0, 0x1000 +/* 801D9F98 001D5BF8 3C A0 CC 00 */ lis r5, 0xCC003000@ha +/* 801D9F9C 001D5BFC 90 05 30 00 */ stw r0, 0xCC003000@l(r5) +/* 801D9FA0 001D5C00 81 8D 9F F4 */ lwz r12, lbl_8063F2B4-_SDA_BASE_(r13) +/* 801D9FA4 001D5C04 2C 0C 00 00 */ cmpwi r12, 0 +/* 801D9FA8 001D5C08 4D 82 00 20 */ beqlr +/* 801D9FAC 001D5C0C 7D 89 03 A6 */ mtctr r12 +/* 801D9FB0 001D5C10 4E 80 04 20 */ bctr +/* 801D9FB4 001D5C14 4E 80 00 20 */ blr + +.global DBInitComm +DBInitComm: +/* 801D9FB8 001D5C18 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801D9FBC 001D5C1C 7C 08 02 A6 */ mflr r0 +/* 801D9FC0 001D5C20 90 01 00 24 */ stw r0, 0x24(r1) +/* 801D9FC4 001D5C24 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801D9FC8 001D5C28 93 C1 00 18 */ stw r30, 0x18(r1) +/* 801D9FCC 001D5C2C 7C 9E 23 78 */ mr r30, r4 +/* 801D9FD0 001D5C30 93 A1 00 14 */ stw r29, 0x14(r1) +/* 801D9FD4 001D5C34 7C 7D 1B 78 */ mr r29, r3 +/* 801D9FD8 001D5C38 48 09 47 85 */ bl OSDisableInterrupts +/* 801D9FDC 001D5C3C 38 0D 9F F8 */ addi r0, r13, lbl_8063F2B8-_SDA_BASE_ +/* 801D9FE0 001D5C40 7C 7F 1B 78 */ mr r31, r3 +/* 801D9FE4 001D5C44 90 1D 00 00 */ stw r0, 0(r29) +/* 801D9FE8 001D5C48 93 CD 9F F0 */ stw r30, lbl_8063F2B0-_SDA_BASE_(r13) +/* 801D9FEC 001D5C4C 48 00 05 A1 */ bl __DBEXIInit +/* 801D9FF0 001D5C50 7F E3 FB 78 */ mr r3, r31 +/* 801D9FF4 001D5C54 48 09 47 91 */ bl OSRestoreInterrupts +/* 801D9FF8 001D5C58 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801D9FFC 001D5C5C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801DA000 001D5C60 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 801DA004 001D5C64 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 801DA008 001D5C68 7C 08 03 A6 */ mtlr r0 +/* 801DA00C 001D5C6C 38 21 00 20 */ addi r1, r1, 0x20 +/* 801DA010 001D5C70 4E 80 00 20 */ blr + +.global DBInitInterrupts +DBInitInterrupts: +/* 801DA014 001D5C74 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801DA018 001D5C78 7C 08 02 A6 */ mflr r0 +/* 801DA01C 001D5C7C 3C 60 00 02 */ lis r3, 0x00018000@ha +/* 801DA020 001D5C80 90 01 00 14 */ stw r0, 0x14(r1) +/* 801DA024 001D5C84 38 63 80 00 */ addi r3, r3, 0x00018000@l +/* 801DA028 001D5C88 48 09 4A C5 */ bl __OSMaskInterrupts +/* 801DA02C 001D5C8C 38 60 00 40 */ li r3, 0x40 +/* 801DA030 001D5C90 48 09 4A BD */ bl __OSMaskInterrupts +/* 801DA034 001D5C94 3C 60 80 1E */ lis r3, __DBMtrHandler@ha +/* 801DA038 001D5C98 3C 80 80 1E */ lis r4, __DBIntrHandler@ha +/* 801DA03C 001D5C9C 38 63 9F 70 */ addi r3, r3, __DBMtrHandler@l +/* 801DA040 001D5CA0 90 6D 9F F4 */ stw r3, lbl_8063F2B4-_SDA_BASE_(r13) +/* 801DA044 001D5CA4 38 84 9F 94 */ addi r4, r4, __DBIntrHandler@l +/* 801DA048 001D5CA8 38 60 00 19 */ li r3, 0x19 +/* 801DA04C 001D5CAC 48 09 47 5D */ bl __OSSetInterruptHandler +/* 801DA050 001D5CB0 38 60 00 40 */ li r3, 0x40 +/* 801DA054 001D5CB4 48 09 4B 19 */ bl __OSUnmaskInterrupts +/* 801DA058 001D5CB8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801DA05C 001D5CBC 7C 08 03 A6 */ mtlr r0 +/* 801DA060 001D5CC0 38 21 00 10 */ addi r1, r1, 0x10 +/* 801DA064 001D5CC4 4E 80 00 20 */ blr + +.global DBQueryData +DBQueryData: +/* 801DA068 001D5CC8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801DA06C 001D5CCC 7C 08 02 A6 */ mflr r0 +/* 801DA070 001D5CD0 38 60 00 00 */ li r3, 0 +/* 801DA074 001D5CD4 90 01 00 24 */ stw r0, 0x24(r1) +/* 801DA078 001D5CD8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801DA07C 001D5CDC 80 0D A0 00 */ lwz r0, lbl_8063F2C0-_SDA_BASE_(r13) +/* 801DA080 001D5CE0 98 6D 9F F8 */ stb r3, lbl_8063F2B8-_SDA_BASE_(r13) +/* 801DA084 001D5CE4 2C 00 00 00 */ cmpwi r0, 0 +/* 801DA088 001D5CE8 40 82 00 6C */ bne lbl_801DA0F4 +/* 801DA08C 001D5CEC 48 09 46 D1 */ bl OSDisableInterrupts +/* 801DA090 001D5CF0 7C 7F 1B 78 */ mr r31, r3 +/* 801DA094 001D5CF4 38 81 00 08 */ addi r4, r1, 8 +/* 801DA098 001D5CF8 3C 60 34 00 */ lis r3, 0x3400 +/* 801DA09C 001D5CFC 38 A0 00 01 */ li r5, 1 +/* 801DA0A0 001D5D00 48 00 05 A9 */ bl __DBEXIReadReg +/* 801DA0A4 001D5D04 88 01 00 08 */ lbz r0, 8(r1) +/* 801DA0A8 001D5D08 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 801DA0AC 001D5D0C 40 82 00 40 */ bne lbl_801DA0EC +/* 801DA0B0 001D5D10 3C 60 34 00 */ lis r3, 0x34000200@ha +/* 801DA0B4 001D5D14 38 81 00 0C */ addi r4, r1, 0xc +/* 801DA0B8 001D5D18 38 63 02 00 */ addi r3, r3, 0x34000200@l +/* 801DA0BC 001D5D1C 38 A0 00 04 */ li r5, 4 +/* 801DA0C0 001D5D20 48 00 05 89 */ bl __DBEXIReadReg +/* 801DA0C4 001D5D24 80 81 00 0C */ lwz r4, 0xc(r1) +/* 801DA0C8 001D5D28 54 83 00 CE */ rlwinm r3, r4, 0, 3, 7 +/* 801DA0CC 001D5D2C 3C 03 E1 00 */ addis r0, r3, 0xe100 +/* 801DA0D0 001D5D30 28 00 00 00 */ cmplwi r0, 0 +/* 801DA0D4 001D5D34 40 82 00 18 */ bne lbl_801DA0EC +/* 801DA0D8 001D5D38 54 83 04 FE */ clrlwi r3, r4, 0x13 +/* 801DA0DC 001D5D3C 38 00 00 01 */ li r0, 1 +/* 801DA0E0 001D5D40 90 8D 9F FC */ stw r4, lbl_8063F2BC-_SDA_BASE_(r13) +/* 801DA0E4 001D5D44 90 6D A0 00 */ stw r3, lbl_8063F2C0-_SDA_BASE_(r13) +/* 801DA0E8 001D5D48 98 0D 9F F8 */ stb r0, lbl_8063F2B8-_SDA_BASE_(r13) +lbl_801DA0EC: +/* 801DA0EC 001D5D4C 7F E3 FB 78 */ mr r3, r31 +/* 801DA0F0 001D5D50 48 09 46 95 */ bl OSRestoreInterrupts +lbl_801DA0F4: +/* 801DA0F4 001D5D54 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801DA0F8 001D5D58 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801DA0FC 001D5D5C 80 6D A0 00 */ lwz r3, lbl_8063F2C0-_SDA_BASE_(r13) +/* 801DA100 001D5D60 7C 08 03 A6 */ mtlr r0 +/* 801DA104 001D5D64 38 21 00 20 */ addi r1, r1, 0x20 +/* 801DA108 001D5D68 4E 80 00 20 */ blr + +.global DBRead +DBRead: +/* 801DA10C 001D5D6C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801DA110 001D5D70 7C 08 02 A6 */ mflr r0 +/* 801DA114 001D5D74 90 01 00 14 */ stw r0, 0x14(r1) +/* 801DA118 001D5D78 93 E1 00 0C */ stw r31, 0xc(r1) +/* 801DA11C 001D5D7C 7C 9F 23 78 */ mr r31, r4 +/* 801DA120 001D5D80 93 C1 00 08 */ stw r30, 8(r1) +/* 801DA124 001D5D84 7C 7E 1B 78 */ mr r30, r3 +/* 801DA128 001D5D88 48 09 46 35 */ bl OSDisableInterrupts +/* 801DA12C 001D5D8C 80 AD 9F FC */ lwz r5, lbl_8063F2BC-_SDA_BASE_(r13) +/* 801DA130 001D5D90 38 1F 00 03 */ addi r0, r31, 3 +/* 801DA134 001D5D94 7C 7F 1B 78 */ mr r31, r3 +/* 801DA138 001D5D98 7F C4 F3 78 */ mr r4, r30 +/* 801DA13C 001D5D9C 54 A3 87 FE */ rlwinm r3, r5, 0x10, 0x1f, 0x1f +/* 801DA140 001D5DA0 54 05 00 3A */ rlwinm r5, r0, 0, 0, 0x1d +/* 801DA144 001D5DA4 7C 03 00 D0 */ neg r0, r3 +/* 801DA148 001D5DA8 54 03 05 28 */ rlwinm r3, r0, 0, 0x14, 0x14 +/* 801DA14C 001D5DAC 3C 63 00 D1 */ addis r3, r3, 0xd1 +/* 801DA150 001D5DB0 38 03 10 00 */ addi r0, r3, 0x1000 +/* 801DA154 001D5DB4 54 03 30 AE */ rlwinm r3, r0, 6, 2, 0x17 +/* 801DA158 001D5DB8 48 00 07 19 */ bl __DBEXIReadRam +/* 801DA15C 001D5DBC 38 00 00 00 */ li r0, 0 +/* 801DA160 001D5DC0 7F E3 FB 78 */ mr r3, r31 +/* 801DA164 001D5DC4 90 0D A0 00 */ stw r0, lbl_8063F2C0-_SDA_BASE_(r13) +/* 801DA168 001D5DC8 98 0D 9F F8 */ stb r0, lbl_8063F2B8-_SDA_BASE_(r13) +/* 801DA16C 001D5DCC 48 09 46 19 */ bl OSRestoreInterrupts +/* 801DA170 001D5DD0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 801DA174 001D5DD4 38 60 00 00 */ li r3, 0 +/* 801DA178 001D5DD8 83 C1 00 08 */ lwz r30, 8(r1) +/* 801DA17C 001D5DDC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801DA180 001D5DE0 7C 08 03 A6 */ mtlr r0 +/* 801DA184 001D5DE4 38 21 00 10 */ addi r1, r1, 0x10 +/* 801DA188 001D5DE8 4E 80 00 20 */ blr + +.global DBWrite +DBWrite: +/* 801DA18C 001D5DEC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 801DA190 001D5DF0 7C 08 02 A6 */ mflr r0 +/* 801DA194 001D5DF4 90 01 00 34 */ stw r0, 0x34(r1) +/* 801DA198 001D5DF8 39 61 00 30 */ addi r11, r1, 0x30 +/* 801DA19C 001D5DFC 4B FE CF 8D */ bl _savegpr_27 +/* 801DA1A0 001D5E00 7C 7B 1B 78 */ mr r27, r3 +/* 801DA1A4 001D5E04 7C 9C 23 78 */ mr r28, r4 +/* 801DA1A8 001D5E08 48 09 45 B5 */ bl OSDisableInterrupts +/* 801DA1AC 001D5E0C 7C 7F 1B 78 */ mr r31, r3 +lbl_801DA1B0: +/* 801DA1B0 001D5E10 38 81 00 0A */ addi r4, r1, 0xa +/* 801DA1B4 001D5E14 3C 60 34 00 */ lis r3, 0x3400 +/* 801DA1B8 001D5E18 38 A0 00 01 */ li r5, 1 +/* 801DA1BC 001D5E1C 48 00 04 8D */ bl __DBEXIReadReg +/* 801DA1C0 001D5E20 88 01 00 0A */ lbz r0, 0xa(r1) +/* 801DA1C4 001D5E24 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 801DA1C8 001D5E28 40 82 FF E8 */ bne lbl_801DA1B0 +/* 801DA1CC 001D5E2C 88 6D 84 08 */ lbz r3, lbl_8063D6C8-_SDA_BASE_(r13) +/* 801DA1D0 001D5E30 38 1C 00 03 */ addi r0, r28, 3 +/* 801DA1D4 001D5E34 54 1D 00 3A */ rlwinm r29, r0, 0, 0, 0x1d +/* 801DA1D8 001D5E38 38 63 00 01 */ addi r3, r3, 1 +/* 801DA1DC 001D5E3C 54 60 07 FE */ clrlwi r0, r3, 0x1f +/* 801DA1E0 001D5E40 98 6D 84 08 */ stb r3, lbl_8063D6C8-_SDA_BASE_(r13) +/* 801DA1E4 001D5E44 7C 00 00 D0 */ neg r0, r0 +/* 801DA1E8 001D5E48 54 03 05 28 */ rlwinm r3, r0, 0, 0x14, 0x14 +/* 801DA1EC 001D5E4C 3C 03 00 D1 */ addis r0, r3, 0xd1 +/* 801DA1F0 001D5E50 54 00 30 AE */ rlwinm r0, r0, 6, 2, 0x17 +/* 801DA1F4 001D5E54 64 1E 80 00 */ oris r30, r0, 0x8000 +lbl_801DA1F8: +/* 801DA1F8 001D5E58 7F C3 F3 78 */ mr r3, r30 +/* 801DA1FC 001D5E5C 7F 64 DB 78 */ mr r4, r27 +/* 801DA200 001D5E60 7F A5 EB 78 */ mr r5, r29 +/* 801DA204 001D5E64 48 00 07 4D */ bl __DBEXIWriteRam +/* 801DA208 001D5E68 2C 03 00 00 */ cmpwi r3, 0 +/* 801DA20C 001D5E6C 41 82 FF EC */ beq lbl_801DA1F8 +lbl_801DA210: +/* 801DA210 001D5E70 38 81 00 09 */ addi r4, r1, 9 +/* 801DA214 001D5E74 3C 60 34 00 */ lis r3, 0x3400 +/* 801DA218 001D5E78 38 A0 00 01 */ li r5, 1 +/* 801DA21C 001D5E7C 48 00 04 2D */ bl __DBEXIReadReg +/* 801DA220 001D5E80 88 01 00 09 */ lbz r0, 9(r1) +/* 801DA224 001D5E84 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 801DA228 001D5E88 40 82 FF E8 */ bne lbl_801DA210 +/* 801DA22C 001D5E8C 88 6D 84 08 */ lbz r3, lbl_8063D6C8-_SDA_BASE_(r13) +/* 801DA230 001D5E90 57 80 04 FE */ clrlwi r0, r28, 0x13 +/* 801DA234 001D5E94 64 1D 1F 00 */ oris r29, r0, 0x1f00 +/* 801DA238 001D5E98 3F C0 B4 00 */ lis r30, 0xB4000100@ha +/* 801DA23C 001D5E9C 50 7D 82 1E */ rlwimi r29, r3, 0x10, 8, 0xf +lbl_801DA240: +/* 801DA240 001D5EA0 93 A1 00 0C */ stw r29, 0xc(r1) +/* 801DA244 001D5EA4 38 7E 01 00 */ addi r3, r30, 0xB4000100@l +/* 801DA248 001D5EA8 38 81 00 0C */ addi r4, r1, 0xc +/* 801DA24C 001D5EAC 38 A0 00 04 */ li r5, 4 +/* 801DA250 001D5EB0 48 00 05 1D */ bl __DBEXIWriteReg +/* 801DA254 001D5EB4 2C 03 00 00 */ cmpwi r3, 0 +/* 801DA258 001D5EB8 41 82 FF E8 */ beq lbl_801DA240 +lbl_801DA25C: +/* 801DA25C 001D5EBC 38 81 00 08 */ addi r4, r1, 8 +/* 801DA260 001D5EC0 3C 60 34 00 */ lis r3, 0x3400 +/* 801DA264 001D5EC4 38 A0 00 01 */ li r5, 1 +/* 801DA268 001D5EC8 48 00 03 E1 */ bl __DBEXIReadReg +/* 801DA26C 001D5ECC 88 01 00 08 */ lbz r0, 8(r1) +/* 801DA270 001D5ED0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 801DA274 001D5ED4 40 82 FF E8 */ bne lbl_801DA25C +/* 801DA278 001D5ED8 7F E3 FB 78 */ mr r3, r31 +/* 801DA27C 001D5EDC 48 09 45 09 */ bl OSRestoreInterrupts +/* 801DA280 001D5EE0 39 61 00 30 */ addi r11, r1, 0x30 +/* 801DA284 001D5EE4 38 60 00 00 */ li r3, 0 +/* 801DA288 001D5EE8 4B FE CE ED */ bl _restgpr_27 +/* 801DA28C 001D5EEC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 801DA290 001D5EF0 7C 08 03 A6 */ mtlr r0 +/* 801DA294 001D5EF4 38 21 00 30 */ addi r1, r1, 0x30 +/* 801DA298 001D5EF8 4E 80 00 20 */ blr + +.global DBOpen +DBOpen: +/* 801DA29C 001D5EFC 4E 80 00 20 */ blr + +.global DBClose +DBClose: +/* 801DA2A0 001D5F00 4E 80 00 20 */ blr diff --git a/asm/SDK/NdevExi2A/exi2.s b/asm/SDK/NdevExi2A/exi2.s new file mode 100644 index 0000000..d69761e --- /dev/null +++ b/asm/SDK/NdevExi2A/exi2.s @@ -0,0 +1,539 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __EXI2Imm +__EXI2Imm: +/* 801DA2A4 001D5F04 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801DA2A8 001D5F08 7C 08 02 A6 */ mflr r0 +/* 801DA2AC 001D5F0C 90 01 00 24 */ stw r0, 0x24(r1) +/* 801DA2B0 001D5F10 39 61 00 20 */ addi r11, r1, 0x20 +/* 801DA2B4 001D5F14 4B FE CE 71 */ bl _savegpr_26 +/* 801DA2B8 001D5F18 2C 05 00 00 */ cmpwi r5, 0 +/* 801DA2BC 001D5F1C 41 82 01 5C */ beq lbl_801DA418 +/* 801DA2C0 001D5F20 2C 84 00 00 */ cmpwi cr1, r4, 0 +/* 801DA2C4 001D5F24 38 00 00 00 */ li r0, 0 +/* 801DA2C8 001D5F28 38 E0 00 00 */ li r7, 0 +/* 801DA2CC 001D5F2C 40 85 01 44 */ ble cr1, lbl_801DA410 +/* 801DA2D0 001D5F30 2C 04 00 08 */ cmpwi r4, 8 +/* 801DA2D4 001D5F34 39 24 FF F8 */ addi r9, r4, -8 +/* 801DA2D8 001D5F38 40 81 01 04 */ ble lbl_801DA3DC +/* 801DA2DC 001D5F3C 39 00 00 00 */ li r8, 0 +/* 801DA2E0 001D5F40 41 84 00 18 */ blt cr1, lbl_801DA2F8 +/* 801DA2E4 001D5F44 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha +/* 801DA2E8 001D5F48 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l +/* 801DA2EC 001D5F4C 7C 04 30 00 */ cmpw r4, r6 +/* 801DA2F0 001D5F50 41 81 00 08 */ bgt lbl_801DA2F8 +/* 801DA2F4 001D5F54 39 00 00 01 */ li r8, 1 +lbl_801DA2F8: +/* 801DA2F8 001D5F58 2C 08 00 00 */ cmpwi r8, 0 +/* 801DA2FC 001D5F5C 41 82 00 E0 */ beq lbl_801DA3DC +/* 801DA300 001D5F60 39 09 00 07 */ addi r8, r9, 7 +/* 801DA304 001D5F64 7C 66 1B 78 */ mr r6, r3 +/* 801DA308 001D5F68 55 08 E8 FE */ srwi r8, r8, 3 +/* 801DA30C 001D5F6C 7D 09 03 A6 */ mtctr r8 +/* 801DA310 001D5F70 2C 09 00 00 */ cmpwi r9, 0 +/* 801DA314 001D5F74 40 81 00 C8 */ ble lbl_801DA3DC +lbl_801DA318: +/* 801DA318 001D5F78 21 27 00 03 */ subfic r9, r7, 3 +/* 801DA31C 001D5F7C 39 07 00 01 */ addi r8, r7, 1 +/* 801DA320 001D5F80 23 88 00 03 */ subfic r28, r8, 3 +/* 801DA324 001D5F84 89 46 00 00 */ lbz r10, 0(r6) +/* 801DA328 001D5F88 39 07 00 02 */ addi r8, r7, 2 +/* 801DA32C 001D5F8C 8B 66 00 01 */ lbz r27, 1(r6) +/* 801DA330 001D5F90 23 A8 00 03 */ subfic r29, r8, 3 +/* 801DA334 001D5F94 57 9C 18 38 */ slwi r28, r28, 3 +/* 801DA338 001D5F98 55 28 18 38 */ slwi r8, r9, 3 +/* 801DA33C 001D5F9C 7D 87 00 D0 */ neg r12, r7 +/* 801DA340 001D5FA0 7D 5A 40 30 */ slw r26, r10, r8 +/* 801DA344 001D5FA4 57 BE 18 38 */ slwi r30, r29, 3 +/* 801DA348 001D5FA8 8B E6 00 02 */ lbz r31, 2(r6) +/* 801DA34C 001D5FAC 39 07 00 04 */ addi r8, r7, 4 +/* 801DA350 001D5FB0 21 68 00 03 */ subfic r11, r8, 3 +/* 801DA354 001D5FB4 7C 00 D3 78 */ or r0, r0, r26 +/* 801DA358 001D5FB8 7F 7C E0 30 */ slw r28, r27, r28 +/* 801DA35C 001D5FBC 39 07 00 05 */ addi r8, r7, 5 +/* 801DA360 001D5FC0 7F FF F0 30 */ slw r31, r31, r30 +/* 801DA364 001D5FC4 8B A6 00 03 */ lbz r29, 3(r6) +/* 801DA368 001D5FC8 55 8C 18 38 */ slwi r12, r12, 3 +/* 801DA36C 001D5FCC 7C 00 E3 78 */ or r0, r0, r28 +/* 801DA370 001D5FD0 21 48 00 03 */ subfic r10, r8, 3 +/* 801DA374 001D5FD4 39 07 00 06 */ addi r8, r7, 6 +/* 801DA378 001D5FD8 7F BD 60 30 */ slw r29, r29, r12 +/* 801DA37C 001D5FDC 7C 00 FB 78 */ or r0, r0, r31 +/* 801DA380 001D5FE0 21 28 00 03 */ subfic r9, r8, 3 +/* 801DA384 001D5FE4 39 07 00 07 */ addi r8, r7, 7 +/* 801DA388 001D5FE8 55 4C 18 38 */ slwi r12, r10, 3 +/* 801DA38C 001D5FEC 8B E6 00 05 */ lbz r31, 5(r6) +/* 801DA390 001D5FF0 21 08 00 03 */ subfic r8, r8, 3 +/* 801DA394 001D5FF4 55 2A 18 38 */ slwi r10, r9, 3 +/* 801DA398 001D5FF8 8B C6 00 04 */ lbz r30, 4(r6) +/* 801DA39C 001D5FFC 55 6B 18 38 */ slwi r11, r11, 3 +/* 801DA3A0 001D6000 7C 00 EB 78 */ or r0, r0, r29 +/* 801DA3A4 001D6004 89 26 00 07 */ lbz r9, 7(r6) +/* 801DA3A8 001D6008 7F DE 58 30 */ slw r30, r30, r11 +/* 801DA3AC 001D600C 89 66 00 06 */ lbz r11, 6(r6) +/* 801DA3B0 001D6010 55 08 18 38 */ slwi r8, r8, 3 +/* 801DA3B4 001D6014 7F EC 60 30 */ slw r12, r31, r12 +/* 801DA3B8 001D6018 7C 00 F3 78 */ or r0, r0, r30 +/* 801DA3BC 001D601C 7D 6A 50 30 */ slw r10, r11, r10 +/* 801DA3C0 001D6020 7C 00 63 78 */ or r0, r0, r12 +/* 801DA3C4 001D6024 7D 28 40 30 */ slw r8, r9, r8 +/* 801DA3C8 001D6028 7C 00 53 78 */ or r0, r0, r10 +/* 801DA3CC 001D602C 38 E7 00 08 */ addi r7, r7, 8 +/* 801DA3D0 001D6030 7C 00 43 78 */ or r0, r0, r8 +/* 801DA3D4 001D6034 38 C6 00 08 */ addi r6, r6, 8 +/* 801DA3D8 001D6038 42 00 FF 40 */ bdnz lbl_801DA318 +lbl_801DA3DC: +/* 801DA3DC 001D603C 7C C7 20 50 */ subf r6, r7, r4 +/* 801DA3E0 001D6040 7D 23 3A 14 */ add r9, r3, r7 +/* 801DA3E4 001D6044 7C C9 03 A6 */ mtctr r6 +/* 801DA3E8 001D6048 7C 07 20 00 */ cmpw r7, r4 +/* 801DA3EC 001D604C 40 80 00 24 */ bge lbl_801DA410 +lbl_801DA3F0: +/* 801DA3F0 001D6050 20 C7 00 03 */ subfic r6, r7, 3 +/* 801DA3F4 001D6054 89 09 00 00 */ lbz r8, 0(r9) +/* 801DA3F8 001D6058 54 C6 18 38 */ slwi r6, r6, 3 +/* 801DA3FC 001D605C 39 29 00 01 */ addi r9, r9, 1 +/* 801DA400 001D6060 7D 06 30 30 */ slw r6, r8, r6 +/* 801DA404 001D6064 38 E7 00 01 */ addi r7, r7, 1 +/* 801DA408 001D6068 7C 00 33 78 */ or r0, r0, r6 +/* 801DA40C 001D606C 42 00 FF E4 */ bdnz lbl_801DA3F0 +lbl_801DA410: +/* 801DA410 001D6070 3C C0 CD 00 */ lis r6, 0xCD006838@ha +/* 801DA414 001D6074 90 06 68 38 */ stw r0, 0xCD006838@l(r6) +lbl_801DA418: +/* 801DA418 001D6078 54 A6 10 3A */ slwi r6, r5, 2 +/* 801DA41C 001D607C 38 04 FF FF */ addi r0, r4, -1 +/* 801DA420 001D6080 60 C7 00 01 */ ori r7, r6, 1 +/* 801DA424 001D6084 54 00 20 36 */ slwi r0, r0, 4 +/* 801DA428 001D6088 3C C0 CD 00 */ lis r6, 0xCD006834@ha +/* 801DA42C 001D608C 7C E0 03 78 */ or r0, r7, r0 +/* 801DA430 001D6090 90 06 68 34 */ stw r0, 0xCD006834@l(r6) +lbl_801DA434: +/* 801DA434 001D6094 80 06 68 34 */ lwz r0, 0x6834(r6) +/* 801DA438 001D6098 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA43C 001D609C 40 82 FF F8 */ bne lbl_801DA434 +/* 801DA440 001D60A0 2C 05 00 00 */ cmpwi r5, 0 +/* 801DA444 001D60A4 40 82 01 2C */ bne lbl_801DA570 +/* 801DA448 001D60A8 3C A0 CD 00 */ lis r5, 0xCD006838@ha +/* 801DA44C 001D60AC 2C 84 00 00 */ cmpwi cr1, r4, 0 +/* 801DA450 001D60B0 80 05 68 38 */ lwz r0, 0xCD006838@l(r5) +/* 801DA454 001D60B4 38 A0 00 00 */ li r5, 0 +/* 801DA458 001D60B8 40 85 01 18 */ ble cr1, lbl_801DA570 +/* 801DA45C 001D60BC 2C 04 00 08 */ cmpwi r4, 8 +/* 801DA460 001D60C0 38 E4 FF F8 */ addi r7, r4, -8 +/* 801DA464 001D60C4 40 81 00 E0 */ ble lbl_801DA544 +/* 801DA468 001D60C8 39 00 00 00 */ li r8, 0 +/* 801DA46C 001D60CC 41 84 00 18 */ blt cr1, lbl_801DA484 +/* 801DA470 001D60D0 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha +/* 801DA474 001D60D4 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l +/* 801DA478 001D60D8 7C 04 30 00 */ cmpw r4, r6 +/* 801DA47C 001D60DC 41 81 00 08 */ bgt lbl_801DA484 +/* 801DA480 001D60E0 39 00 00 01 */ li r8, 1 +lbl_801DA484: +/* 801DA484 001D60E4 2C 08 00 00 */ cmpwi r8, 0 +/* 801DA488 001D60E8 41 82 00 BC */ beq lbl_801DA544 +/* 801DA48C 001D60EC 38 C7 00 07 */ addi r6, r7, 7 +/* 801DA490 001D60F0 54 C6 E8 FE */ srwi r6, r6, 3 +/* 801DA494 001D60F4 7C C9 03 A6 */ mtctr r6 +/* 801DA498 001D60F8 2C 07 00 00 */ cmpwi r7, 0 +/* 801DA49C 001D60FC 40 81 00 A8 */ ble lbl_801DA544 +lbl_801DA4A0: +/* 801DA4A0 001D6100 20 C5 00 03 */ subfic r6, r5, 3 +/* 801DA4A4 001D6104 38 E5 00 01 */ addi r7, r5, 1 +/* 801DA4A8 001D6108 54 C8 18 38 */ slwi r8, r6, 3 +/* 801DA4AC 001D610C 7C 09 44 30 */ srw r9, r0, r8 +/* 801DA4B0 001D6110 20 E7 00 03 */ subfic r7, r7, 3 +/* 801DA4B4 001D6114 54 E8 18 38 */ slwi r8, r7, 3 +/* 801DA4B8 001D6118 99 23 00 00 */ stb r9, 0(r3) +/* 801DA4BC 001D611C 38 E5 00 02 */ addi r7, r5, 2 +/* 801DA4C0 001D6120 7C C5 00 D0 */ neg r6, r5 +/* 801DA4C4 001D6124 7C 09 44 30 */ srw r9, r0, r8 +/* 801DA4C8 001D6128 54 C8 18 38 */ slwi r8, r6, 3 +/* 801DA4CC 001D612C 20 E7 00 03 */ subfic r7, r7, 3 +/* 801DA4D0 001D6130 54 E6 18 38 */ slwi r6, r7, 3 +/* 801DA4D4 001D6134 99 23 00 01 */ stb r9, 1(r3) +/* 801DA4D8 001D6138 7C 09 34 30 */ srw r9, r0, r6 +/* 801DA4DC 001D613C 7C 08 44 30 */ srw r8, r0, r8 +/* 801DA4E0 001D6140 38 C5 00 04 */ addi r6, r5, 4 +/* 801DA4E4 001D6144 99 23 00 02 */ stb r9, 2(r3) +/* 801DA4E8 001D6148 20 E6 00 03 */ subfic r7, r6, 3 +/* 801DA4EC 001D614C 38 C5 00 05 */ addi r6, r5, 5 +/* 801DA4F0 001D6150 99 03 00 03 */ stb r8, 3(r3) +/* 801DA4F4 001D6154 54 E7 18 38 */ slwi r7, r7, 3 +/* 801DA4F8 001D6158 7C 09 3C 30 */ srw r9, r0, r7 +/* 801DA4FC 001D615C 20 C6 00 03 */ subfic r6, r6, 3 +/* 801DA500 001D6160 54 C8 18 38 */ slwi r8, r6, 3 +/* 801DA504 001D6164 99 23 00 04 */ stb r9, 4(r3) +/* 801DA508 001D6168 38 C5 00 06 */ addi r6, r5, 6 +/* 801DA50C 001D616C 20 E6 00 03 */ subfic r7, r6, 3 +/* 801DA510 001D6170 7C 08 44 30 */ srw r8, r0, r8 +/* 801DA514 001D6174 38 C5 00 07 */ addi r6, r5, 7 +/* 801DA518 001D6178 99 03 00 05 */ stb r8, 5(r3) +/* 801DA51C 001D617C 54 E7 18 38 */ slwi r7, r7, 3 +/* 801DA520 001D6180 38 A5 00 08 */ addi r5, r5, 8 +/* 801DA524 001D6184 20 C6 00 03 */ subfic r6, r6, 3 +/* 801DA528 001D6188 7C 07 3C 30 */ srw r7, r0, r7 +/* 801DA52C 001D618C 54 C6 18 38 */ slwi r6, r6, 3 +/* 801DA530 001D6190 98 E3 00 06 */ stb r7, 6(r3) +/* 801DA534 001D6194 7C 06 34 30 */ srw r6, r0, r6 +/* 801DA538 001D6198 98 C3 00 07 */ stb r6, 7(r3) +/* 801DA53C 001D619C 38 63 00 08 */ addi r3, r3, 8 +/* 801DA540 001D61A0 42 00 FF 60 */ bdnz lbl_801DA4A0 +lbl_801DA544: +/* 801DA544 001D61A4 7C C5 20 50 */ subf r6, r5, r4 +/* 801DA548 001D61A8 7C C9 03 A6 */ mtctr r6 +/* 801DA54C 001D61AC 7C 05 20 00 */ cmpw r5, r4 +/* 801DA550 001D61B0 40 80 00 20 */ bge lbl_801DA570 +lbl_801DA554: +/* 801DA554 001D61B4 20 85 00 03 */ subfic r4, r5, 3 +/* 801DA558 001D61B8 38 A5 00 01 */ addi r5, r5, 1 +/* 801DA55C 001D61BC 54 84 18 38 */ slwi r4, r4, 3 +/* 801DA560 001D61C0 7C 04 24 30 */ srw r4, r0, r4 +/* 801DA564 001D61C4 98 83 00 00 */ stb r4, 0(r3) +/* 801DA568 001D61C8 38 63 00 01 */ addi r3, r3, 1 +/* 801DA56C 001D61CC 42 00 FF E8 */ bdnz lbl_801DA554 +lbl_801DA570: +/* 801DA570 001D61D0 39 61 00 20 */ addi r11, r1, 0x20 +/* 801DA574 001D61D4 38 60 00 01 */ li r3, 1 +/* 801DA578 001D61D8 4B FE CB F9 */ bl _restgpr_26 +/* 801DA57C 001D61DC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801DA580 001D61E0 7C 08 03 A6 */ mtlr r0 +/* 801DA584 001D61E4 38 21 00 20 */ addi r1, r1, 0x20 +/* 801DA588 001D61E8 4E 80 00 20 */ blr + +.global __DBEXIInit +__DBEXIInit: +/* 801DA58C 001D61EC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801DA590 001D61F0 7C 08 02 A6 */ mflr r0 +/* 801DA594 001D61F4 3C 60 00 02 */ lis r3, 0x00018000@ha +/* 801DA598 001D61F8 90 01 00 24 */ stw r0, 0x24(r1) +/* 801DA59C 001D61FC 38 63 80 00 */ addi r3, r3, 0x00018000@l +/* 801DA5A0 001D6200 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801DA5A4 001D6204 48 09 45 49 */ bl __OSMaskInterrupts +/* 801DA5A8 001D6208 3C 60 CD 00 */ lis r3, 0xCD006834@ha +lbl_801DA5AC: +/* 801DA5AC 001D620C 80 03 68 34 */ lwz r0, 0xCD006834@l(r3) +/* 801DA5B0 001D6210 54 00 07 FE */ clrlwi r0, r0, 0x1f +/* 801DA5B4 001D6214 28 00 00 01 */ cmplwi r0, 1 +/* 801DA5B8 001D6218 41 82 FF F4 */ beq lbl_801DA5AC +/* 801DA5BC 001D621C 3F E0 CD 00 */ lis r31, 0xCD006828@ha +/* 801DA5C0 001D6220 38 00 00 00 */ li r0, 0 +/* 801DA5C4 001D6224 90 1F 68 28 */ stw r0, 0xCD006828@l(r31) +/* 801DA5C8 001D6228 3C 60 B4 00 */ lis r3, 0xb400 +/* 801DA5CC 001D622C 3C 00 D4 00 */ lis r0, 0xd400 +/* 801DA5D0 001D6230 38 80 00 04 */ li r4, 4 +/* 801DA5D4 001D6234 90 61 00 0C */ stw r3, 0xc(r1) +/* 801DA5D8 001D6238 38 61 00 0C */ addi r3, r1, 0xc +/* 801DA5DC 001D623C 38 A0 00 01 */ li r5, 1 +/* 801DA5E0 001D6240 90 01 00 08 */ stw r0, 8(r1) +/* 801DA5E4 001D6244 80 1F 68 28 */ lwz r0, 0x6828(r31) +/* 801DA5E8 001D6248 70 00 04 05 */ andi. r0, r0, 0x405 +/* 801DA5EC 001D624C 60 00 00 C0 */ ori r0, r0, 0xc0 +/* 801DA5F0 001D6250 90 1F 68 28 */ stw r0, 0x6828(r31) +/* 801DA5F4 001D6254 4B FF FC B1 */ bl __EXI2Imm +lbl_801DA5F8: +/* 801DA5F8 001D6258 80 1F 68 34 */ lwz r0, 0x6834(r31) +/* 801DA5FC 001D625C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA600 001D6260 40 82 FF F8 */ bne lbl_801DA5F8 +/* 801DA604 001D6264 38 61 00 08 */ addi r3, r1, 8 +/* 801DA608 001D6268 38 80 00 04 */ li r4, 4 +/* 801DA60C 001D626C 38 A0 00 01 */ li r5, 1 +/* 801DA610 001D6270 4B FF FC 95 */ bl __EXI2Imm +/* 801DA614 001D6274 3C 60 CD 00 */ lis r3, 0xCD006834@ha +lbl_801DA618: +/* 801DA618 001D6278 80 03 68 34 */ lwz r0, 0xCD006834@l(r3) +/* 801DA61C 001D627C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA620 001D6280 40 82 FF F8 */ bne lbl_801DA618 +/* 801DA624 001D6284 3C 60 CD 00 */ lis r3, 0xCD006828@ha +/* 801DA628 001D6288 80 03 68 28 */ lwz r0, 0xCD006828@l(r3) +/* 801DA62C 001D628C 70 00 04 05 */ andi. r0, r0, 0x405 +/* 801DA630 001D6290 90 03 68 28 */ stw r0, 0x6828(r3) +/* 801DA634 001D6294 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801DA638 001D6298 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801DA63C 001D629C 7C 08 03 A6 */ mtlr r0 +/* 801DA640 001D62A0 38 21 00 20 */ addi r1, r1, 0x20 +/* 801DA644 001D62A4 4E 80 00 20 */ blr + +.global __DBEXIReadReg +__DBEXIReadReg: +/* 801DA648 001D62A8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801DA64C 001D62AC 7C 08 02 A6 */ mflr r0 +/* 801DA650 001D62B0 38 C0 00 00 */ li r6, 0 +/* 801DA654 001D62B4 90 01 00 24 */ stw r0, 0x24(r1) +/* 801DA658 001D62B8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801DA65C 001D62BC 7C BF 2B 78 */ mr r31, r5 +/* 801DA660 001D62C0 38 A0 00 01 */ li r5, 1 +/* 801DA664 001D62C4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 801DA668 001D62C8 7C 9E 23 78 */ mr r30, r4 +/* 801DA66C 001D62CC 38 80 00 04 */ li r4, 4 +/* 801DA670 001D62D0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 801DA674 001D62D4 93 81 00 10 */ stw r28, 0x10(r1) +/* 801DA678 001D62D8 3F 80 CD 00 */ lis r28, 0xCD006828@ha +/* 801DA67C 001D62DC 90 61 00 08 */ stw r3, 8(r1) +/* 801DA680 001D62E0 38 61 00 08 */ addi r3, r1, 8 +/* 801DA684 001D62E4 90 C1 00 0C */ stw r6, 0xc(r1) +/* 801DA688 001D62E8 80 1C 68 28 */ lwz r0, 0xCD006828@l(r28) +/* 801DA68C 001D62EC 70 00 04 05 */ andi. r0, r0, 0x405 +/* 801DA690 001D62F0 60 00 00 C0 */ ori r0, r0, 0xc0 +/* 801DA694 001D62F4 90 1C 68 28 */ stw r0, 0x6828(r28) +/* 801DA698 001D62F8 4B FF FC 0D */ bl __EXI2Imm +/* 801DA69C 001D62FC 7C 60 00 34 */ cntlzw r0, r3 +/* 801DA6A0 001D6300 54 1D D9 7E */ srwi r29, r0, 5 +lbl_801DA6A4: +/* 801DA6A4 001D6304 80 1C 68 34 */ lwz r0, 0x6834(r28) +/* 801DA6A8 001D6308 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA6AC 001D630C 40 82 FF F8 */ bne lbl_801DA6A4 +/* 801DA6B0 001D6310 38 61 00 0C */ addi r3, r1, 0xc +/* 801DA6B4 001D6314 38 80 00 04 */ li r4, 4 +/* 801DA6B8 001D6318 38 A0 00 00 */ li r5, 0 +/* 801DA6BC 001D631C 4B FF FB E9 */ bl __EXI2Imm +/* 801DA6C0 001D6320 7C 60 00 34 */ cntlzw r0, r3 +/* 801DA6C4 001D6324 3C 60 CD 00 */ lis r3, 0xCD006834@ha +/* 801DA6C8 001D6328 54 00 D9 7E */ srwi r0, r0, 5 +/* 801DA6CC 001D632C 7F A6 03 78 */ or r6, r29, r0 +lbl_801DA6D0: +/* 801DA6D0 001D6330 80 03 68 34 */ lwz r0, 0xCD006834@l(r3) +/* 801DA6D4 001D6334 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA6D8 001D6338 40 82 FF F8 */ bne lbl_801DA6D0 +/* 801DA6DC 001D633C 3C 60 CD 00 */ lis r3, 0xCD006828@ha +/* 801DA6E0 001D6340 2C 9F 00 02 */ cmpwi cr1, r31, 2 +/* 801DA6E4 001D6344 80 03 68 28 */ lwz r0, 0xCD006828@l(r3) +/* 801DA6E8 001D6348 70 00 04 05 */ andi. r0, r0, 0x405 +/* 801DA6EC 001D634C 90 03 68 28 */ stw r0, 0x6828(r3) +/* 801DA6F0 001D6350 41 86 00 24 */ beq cr1, lbl_801DA714 +/* 801DA6F4 001D6354 40 84 00 34 */ bge cr1, lbl_801DA728 +/* 801DA6F8 001D6358 2C 1F 00 01 */ cmpwi r31, 1 +/* 801DA6FC 001D635C 40 80 00 08 */ bge lbl_801DA704 +/* 801DA700 001D6360 48 00 00 28 */ b lbl_801DA728 +lbl_801DA704: +/* 801DA704 001D6364 80 01 00 0C */ lwz r0, 0xc(r1) +/* 801DA708 001D6368 54 00 46 3E */ srwi r0, r0, 0x18 +/* 801DA70C 001D636C 98 1E 00 00 */ stb r0, 0(r30) +/* 801DA710 001D6370 48 00 00 34 */ b lbl_801DA744 +lbl_801DA714: +/* 801DA714 001D6374 80 61 00 0C */ lwz r3, 0xc(r1) +/* 801DA718 001D6378 54 60 C4 2E */ rlwinm r0, r3, 0x18, 0x10, 0x17 +/* 801DA71C 001D637C 50 60 46 3E */ rlwimi r0, r3, 8, 0x18, 0x1f +/* 801DA720 001D6380 B0 1E 00 00 */ sth r0, 0(r30) +/* 801DA724 001D6384 48 00 00 20 */ b lbl_801DA744 +lbl_801DA728: +/* 801DA728 001D6388 80 81 00 0C */ lwz r4, 0xc(r1) +/* 801DA72C 001D638C 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf +/* 801DA730 001D6390 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17 +/* 801DA734 001D6394 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7 +/* 801DA738 001D6398 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f +/* 801DA73C 001D639C 7C 60 03 78 */ or r0, r3, r0 +/* 801DA740 001D63A0 90 1E 00 00 */ stw r0, 0(r30) +lbl_801DA744: +/* 801DA744 001D63A4 7C C0 00 34 */ cntlzw r0, r6 +/* 801DA748 001D63A8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801DA74C 001D63AC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 801DA750 001D63B0 54 03 D9 7E */ srwi r3, r0, 5 +/* 801DA754 001D63B4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 801DA758 001D63B8 83 81 00 10 */ lwz r28, 0x10(r1) +/* 801DA75C 001D63BC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801DA760 001D63C0 7C 08 03 A6 */ mtlr r0 +/* 801DA764 001D63C4 38 21 00 20 */ addi r1, r1, 0x20 +/* 801DA768 001D63C8 4E 80 00 20 */ blr + +.global __DBEXIWriteReg +__DBEXIWriteReg: +/* 801DA76C 001D63CC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801DA770 001D63D0 7C 08 02 A6 */ mflr r0 +/* 801DA774 001D63D4 2C 05 00 02 */ cmpwi r5, 2 +/* 801DA778 001D63D8 90 01 00 24 */ stw r0, 0x24(r1) +/* 801DA77C 001D63DC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801DA780 001D63E0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 801DA784 001D63E4 90 61 00 08 */ stw r3, 8(r1) +/* 801DA788 001D63E8 41 82 00 24 */ beq lbl_801DA7AC +/* 801DA78C 001D63EC 40 80 00 34 */ bge lbl_801DA7C0 +/* 801DA790 001D63F0 2C 05 00 01 */ cmpwi r5, 1 +/* 801DA794 001D63F4 40 80 00 08 */ bge lbl_801DA79C +/* 801DA798 001D63F8 48 00 00 28 */ b lbl_801DA7C0 +lbl_801DA79C: +/* 801DA79C 001D63FC 88 04 00 00 */ lbz r0, 0(r4) +/* 801DA7A0 001D6400 54 00 C0 0E */ slwi r0, r0, 0x18 +/* 801DA7A4 001D6404 90 01 00 0C */ stw r0, 0xc(r1) +/* 801DA7A8 001D6408 48 00 00 34 */ b lbl_801DA7DC +lbl_801DA7AC: +/* 801DA7AC 001D640C A0 64 00 00 */ lhz r3, 0(r4) +/* 801DA7B0 001D6410 54 60 42 1E */ rlwinm r0, r3, 8, 8, 0xf +/* 801DA7B4 001D6414 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 +/* 801DA7B8 001D6418 90 01 00 0C */ stw r0, 0xc(r1) +/* 801DA7BC 001D641C 48 00 00 20 */ b lbl_801DA7DC +lbl_801DA7C0: +/* 801DA7C0 001D6420 80 84 00 00 */ lwz r4, 0(r4) +/* 801DA7C4 001D6424 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf +/* 801DA7C8 001D6428 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17 +/* 801DA7CC 001D642C 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7 +/* 801DA7D0 001D6430 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f +/* 801DA7D4 001D6434 7C 60 03 78 */ or r0, r3, r0 +/* 801DA7D8 001D6438 90 01 00 0C */ stw r0, 0xc(r1) +lbl_801DA7DC: +/* 801DA7DC 001D643C 3F C0 CD 00 */ lis r30, 0xCD006828@ha +/* 801DA7E0 001D6440 38 61 00 08 */ addi r3, r1, 8 +/* 801DA7E4 001D6444 80 1E 68 28 */ lwz r0, 0xCD006828@l(r30) +/* 801DA7E8 001D6448 38 80 00 04 */ li r4, 4 +/* 801DA7EC 001D644C 38 A0 00 01 */ li r5, 1 +/* 801DA7F0 001D6450 70 00 04 05 */ andi. r0, r0, 0x405 +/* 801DA7F4 001D6454 60 00 00 C0 */ ori r0, r0, 0xc0 +/* 801DA7F8 001D6458 90 1E 68 28 */ stw r0, 0x6828(r30) +/* 801DA7FC 001D645C 4B FF FA A9 */ bl __EXI2Imm +/* 801DA800 001D6460 7C 60 00 34 */ cntlzw r0, r3 +/* 801DA804 001D6464 54 1F D9 7E */ srwi r31, r0, 5 +lbl_801DA808: +/* 801DA808 001D6468 80 1E 68 34 */ lwz r0, 0x6834(r30) +/* 801DA80C 001D646C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA810 001D6470 40 82 FF F8 */ bne lbl_801DA808 +/* 801DA814 001D6474 38 61 00 0C */ addi r3, r1, 0xc +/* 801DA818 001D6478 38 80 00 04 */ li r4, 4 +/* 801DA81C 001D647C 38 A0 00 01 */ li r5, 1 +/* 801DA820 001D6480 4B FF FA 85 */ bl __EXI2Imm +/* 801DA824 001D6484 7C 60 00 34 */ cntlzw r0, r3 +/* 801DA828 001D6488 3C 60 CD 00 */ lis r3, 0xCD006834@ha +/* 801DA82C 001D648C 54 00 D9 7E */ srwi r0, r0, 5 +/* 801DA830 001D6490 7F E5 03 78 */ or r5, r31, r0 +lbl_801DA834: +/* 801DA834 001D6494 80 03 68 34 */ lwz r0, 0xCD006834@l(r3) +/* 801DA838 001D6498 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA83C 001D649C 40 82 FF F8 */ bne lbl_801DA834 +/* 801DA840 001D64A0 3C 80 CD 00 */ lis r4, 0xCD006828@ha +/* 801DA844 001D64A4 7C A0 00 34 */ cntlzw r0, r5 +/* 801DA848 001D64A8 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4) +/* 801DA84C 001D64AC 54 03 D9 7E */ srwi r3, r0, 5 +/* 801DA850 001D64B0 70 A0 04 05 */ andi. r0, r5, 0x405 +/* 801DA854 001D64B4 90 04 68 28 */ stw r0, 0x6828(r4) +/* 801DA858 001D64B8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801DA85C 001D64BC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801DA860 001D64C0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 801DA864 001D64C4 7C 08 03 A6 */ mtlr r0 +/* 801DA868 001D64C8 38 21 00 20 */ addi r1, r1, 0x20 +/* 801DA86C 001D64CC 4E 80 00 20 */ blr + +.global __DBEXIReadRam +__DBEXIReadRam: +/* 801DA870 001D64D0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801DA874 001D64D4 7C 08 02 A6 */ mflr r0 +/* 801DA878 001D64D8 90 01 00 24 */ stw r0, 0x24(r1) +/* 801DA87C 001D64DC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801DA880 001D64E0 3F E0 CD 00 */ lis r31, 0xCD006828@ha +/* 801DA884 001D64E4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 801DA888 001D64E8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 801DA88C 001D64EC 7C 9D 23 78 */ mr r29, r4 +/* 801DA890 001D64F0 38 80 00 04 */ li r4, 4 +/* 801DA894 001D64F4 93 81 00 10 */ stw r28, 0x10(r1) +/* 801DA898 001D64F8 7C BC 2B 78 */ mr r28, r5 +/* 801DA89C 001D64FC 38 A0 00 01 */ li r5, 1 +/* 801DA8A0 001D6500 90 61 00 08 */ stw r3, 8(r1) +/* 801DA8A4 001D6504 38 61 00 08 */ addi r3, r1, 8 +/* 801DA8A8 001D6508 80 1F 68 28 */ lwz r0, 0xCD006828@l(r31) +/* 801DA8AC 001D650C 70 00 04 05 */ andi. r0, r0, 0x405 +/* 801DA8B0 001D6510 60 00 00 C0 */ ori r0, r0, 0xc0 +/* 801DA8B4 001D6514 90 1F 68 28 */ stw r0, 0x6828(r31) +/* 801DA8B8 001D6518 4B FF F9 ED */ bl __EXI2Imm +/* 801DA8BC 001D651C 7C 60 00 34 */ cntlzw r0, r3 +/* 801DA8C0 001D6520 54 1E D9 7E */ srwi r30, r0, 5 +lbl_801DA8C4: +/* 801DA8C4 001D6524 80 1F 68 34 */ lwz r0, 0x6834(r31) +/* 801DA8C8 001D6528 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA8CC 001D652C 40 82 FF F8 */ bne lbl_801DA8C4 +/* 801DA8D0 001D6530 3F E0 CD 00 */ lis r31, 0xcd00 +/* 801DA8D4 001D6534 48 00 00 3C */ b lbl_801DA910 +lbl_801DA8D8: +/* 801DA8D8 001D6538 38 61 00 0C */ addi r3, r1, 0xc +/* 801DA8DC 001D653C 38 80 00 04 */ li r4, 4 +/* 801DA8E0 001D6540 38 A0 00 00 */ li r5, 0 +/* 801DA8E4 001D6544 4B FF F9 C1 */ bl __EXI2Imm +/* 801DA8E8 001D6548 7C 60 00 34 */ cntlzw r0, r3 +/* 801DA8EC 001D654C 54 00 D9 7E */ srwi r0, r0, 5 +/* 801DA8F0 001D6550 7F DE 03 78 */ or r30, r30, r0 +lbl_801DA8F4: +/* 801DA8F4 001D6554 80 1F 68 34 */ lwz r0, 0x6834(r31) +/* 801DA8F8 001D6558 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA8FC 001D655C 40 82 FF F8 */ bne lbl_801DA8F4 +/* 801DA900 001D6560 80 01 00 0C */ lwz r0, 0xc(r1) +/* 801DA904 001D6564 3B 9C FF FC */ addi r28, r28, -4 +/* 801DA908 001D6568 90 1D 00 00 */ stw r0, 0(r29) +/* 801DA90C 001D656C 3B BD 00 04 */ addi r29, r29, 4 +lbl_801DA910: +/* 801DA910 001D6570 2C 1C 00 00 */ cmpwi r28, 0 +/* 801DA914 001D6574 41 81 FF C4 */ bgt lbl_801DA8D8 +/* 801DA918 001D6578 3C 80 CD 00 */ lis r4, 0xCD006828@ha +/* 801DA91C 001D657C 7F C0 00 34 */ cntlzw r0, r30 +/* 801DA920 001D6580 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4) +/* 801DA924 001D6584 54 03 D9 7E */ srwi r3, r0, 5 +/* 801DA928 001D6588 70 A0 04 05 */ andi. r0, r5, 0x405 +/* 801DA92C 001D658C 90 04 68 28 */ stw r0, 0x6828(r4) +/* 801DA930 001D6590 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801DA934 001D6594 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801DA938 001D6598 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 801DA93C 001D659C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 801DA940 001D65A0 83 81 00 10 */ lwz r28, 0x10(r1) +/* 801DA944 001D65A4 7C 08 03 A6 */ mtlr r0 +/* 801DA948 001D65A8 38 21 00 20 */ addi r1, r1, 0x20 +/* 801DA94C 001D65AC 4E 80 00 20 */ blr + +.global __DBEXIWriteRam +__DBEXIWriteRam: +/* 801DA950 001D65B0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801DA954 001D65B4 7C 08 02 A6 */ mflr r0 +/* 801DA958 001D65B8 90 01 00 24 */ stw r0, 0x24(r1) +/* 801DA95C 001D65BC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801DA960 001D65C0 3F E0 CD 00 */ lis r31, 0xCD006828@ha +/* 801DA964 001D65C4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 801DA968 001D65C8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 801DA96C 001D65CC 7C 9D 23 78 */ mr r29, r4 +/* 801DA970 001D65D0 38 80 00 04 */ li r4, 4 +/* 801DA974 001D65D4 93 81 00 10 */ stw r28, 0x10(r1) +/* 801DA978 001D65D8 7C BC 2B 78 */ mr r28, r5 +/* 801DA97C 001D65DC 38 A0 00 01 */ li r5, 1 +/* 801DA980 001D65E0 90 61 00 08 */ stw r3, 8(r1) +/* 801DA984 001D65E4 38 61 00 08 */ addi r3, r1, 8 +/* 801DA988 001D65E8 80 1F 68 28 */ lwz r0, 0xCD006828@l(r31) +/* 801DA98C 001D65EC 70 00 04 05 */ andi. r0, r0, 0x405 +/* 801DA990 001D65F0 60 00 00 C0 */ ori r0, r0, 0xc0 +/* 801DA994 001D65F4 90 1F 68 28 */ stw r0, 0x6828(r31) +/* 801DA998 001D65F8 4B FF F9 0D */ bl __EXI2Imm +/* 801DA99C 001D65FC 7C 60 00 34 */ cntlzw r0, r3 +/* 801DA9A0 001D6600 54 1E D9 7E */ srwi r30, r0, 5 +lbl_801DA9A4: +/* 801DA9A4 001D6604 80 1F 68 34 */ lwz r0, 0x6834(r31) +/* 801DA9A8 001D6608 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA9AC 001D660C 40 82 FF F8 */ bne lbl_801DA9A4 +/* 801DA9B0 001D6610 3F E0 CD 00 */ lis r31, 0xcd00 +/* 801DA9B4 001D6614 48 00 00 3C */ b lbl_801DA9F0 +lbl_801DA9B8: +/* 801DA9B8 001D6618 80 1D 00 00 */ lwz r0, 0(r29) +/* 801DA9BC 001D661C 38 61 00 0C */ addi r3, r1, 0xc +/* 801DA9C0 001D6620 38 80 00 04 */ li r4, 4 +/* 801DA9C4 001D6624 38 A0 00 01 */ li r5, 1 +/* 801DA9C8 001D6628 90 01 00 0C */ stw r0, 0xc(r1) +/* 801DA9CC 001D662C 3B BD 00 04 */ addi r29, r29, 4 +/* 801DA9D0 001D6630 4B FF F8 D5 */ bl __EXI2Imm +/* 801DA9D4 001D6634 7C 60 00 34 */ cntlzw r0, r3 +/* 801DA9D8 001D6638 54 00 D9 7E */ srwi r0, r0, 5 +/* 801DA9DC 001D663C 7F DE 03 78 */ or r30, r30, r0 +lbl_801DA9E0: +/* 801DA9E0 001D6640 80 1F 68 34 */ lwz r0, 0x6834(r31) +/* 801DA9E4 001D6644 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801DA9E8 001D6648 40 82 FF F8 */ bne lbl_801DA9E0 +/* 801DA9EC 001D664C 3B 9C FF FC */ addi r28, r28, -4 +lbl_801DA9F0: +/* 801DA9F0 001D6650 2C 1C 00 00 */ cmpwi r28, 0 +/* 801DA9F4 001D6654 41 81 FF C4 */ bgt lbl_801DA9B8 +/* 801DA9F8 001D6658 3C 80 CD 00 */ lis r4, 0xCD006828@ha +/* 801DA9FC 001D665C 7F C0 00 34 */ cntlzw r0, r30 +/* 801DAA00 001D6660 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4) +/* 801DAA04 001D6664 54 03 D9 7E */ srwi r3, r0, 5 +/* 801DAA08 001D6668 70 A0 04 05 */ andi. r0, r5, 0x405 +/* 801DAA0C 001D666C 90 04 68 28 */ stw r0, 0x6828(r4) +/* 801DAA10 001D6670 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801DAA14 001D6674 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801DAA18 001D6678 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 801DAA1C 001D667C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 801DAA20 001D6680 83 81 00 10 */ lwz r28, 0x10(r1) +/* 801DAA24 001D6684 7C 08 03 A6 */ mtlr r0 +/* 801DAA28 001D6688 38 21 00 20 */ addi r1, r1, 0x20 +/* 801DAA2C 001D668C 4E 80 00 20 */ blr diff --git a/asm/SDK/WPAD/WPAD.s b/asm/SDK/WPAD/WPAD.s index 4d3d877..954e33f 100644 --- a/asm/SDK/WPAD/WPAD.s +++ b/asm/SDK/WPAD/WPAD.s @@ -3327,7 +3327,7 @@ WPADiRecvCallback: /* 802A8B64 002A47C4 28 00 00 04 */ cmplwi r0, 4 /* 802A8B68 002A47C8 41 81 00 2C */ bgt lbl_802A8B94 /* 802A8B6C 002A47CC 7C 03 03 78 */ mr r3, r0 -/* 802A8B70 002A47D0 48 00 56 B9 */ bl func_802AE228 +/* 802A8B70 002A47D0 48 00 56 B9 */ bl WPADiHIDParser /* 802A8B74 002A47D4 2C 03 00 00 */ cmpwi r3, 0 /* 802A8B78 002A47D8 7C 64 1B 78 */ mr r4, r3 /* 802A8B7C 002A47DC 41 82 00 2C */ beq lbl_802A8BA8 diff --git a/asm/SDK/WPAD/WPADHIDParser.s b/asm/SDK/WPAD/WPADHIDParser.s new file mode 100644 index 0000000..4e93f65 --- /dev/null +++ b/asm/SDK/WPAD/WPADHIDParser.s @@ -0,0 +1,5096 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +abortInitExtension: +/* 802AD1BC 002A8E1C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802AD1C0 002A8E20 7C 08 02 A6 */ mflr r0 +/* 802AD1C4 002A8E24 90 01 00 24 */ stw r0, 0x24(r1) +/* 802AD1C8 002A8E28 39 61 00 20 */ addi r11, r1, 0x20 +/* 802AD1CC 002A8E2C 4B F1 9F 5D */ bl _savegpr_27 +/* 802AD1D0 002A8E30 3F C0 80 53 */ lis r30, lbl_80536D70@ha +/* 802AD1D4 002A8E34 2C 04 00 00 */ cmpwi r4, 0 +/* 802AD1D8 002A8E38 54 7F 10 3A */ slwi r31, r3, 2 +/* 802AD1DC 002A8E3C 7C 7B 1B 78 */ mr r27, r3 +/* 802AD1E0 002A8E40 3B DE 6D 70 */ addi r30, r30, lbl_80536D70@l +/* 802AD1E4 002A8E44 7C 9C 23 78 */ mr r28, r4 +/* 802AD1E8 002A8E48 7F BE F8 2E */ lwzx r29, r30, r31 +/* 802AD1EC 002A8E4C 41 82 00 E0 */ beq lbl_802AD2CC +/* 802AD1F0 002A8E50 38 7D 05 EC */ addi r3, r29, 0x5ec +/* 802AD1F4 002A8E54 4B FF FF 69 */ bl WPADiClearQueue +/* 802AD1F8 002A8E58 2C 1C FF FF */ cmpwi r28, -1 +/* 802AD1FC 002A8E5C 40 82 00 0C */ bne lbl_802AD208 +/* 802AD200 002A8E60 38 80 00 FD */ li r4, 0xfd +/* 802AD204 002A8E64 48 00 00 AC */ b lbl_802AD2B0 +lbl_802AD208: +/* 802AD208 002A8E68 80 1D 08 40 */ lwz r0, 0x840(r29) +/* 802AD20C 002A8E6C 2C 00 00 00 */ cmpwi r0, 0 +/* 802AD210 002A8E70 41 82 00 8C */ beq lbl_802AD29C +/* 802AD214 002A8E74 38 8D AE 70 */ addi r4, r13, lbl_80640130-_SDA_BASE_ +/* 802AD218 002A8E78 7C 64 D8 AE */ lbzx r3, r4, r27 +/* 802AD21C 002A8E7C 38 03 00 01 */ addi r0, r3, 1 +/* 802AD220 002A8E80 28 03 00 20 */ cmplwi r3, 0x20 +/* 802AD224 002A8E84 7C 04 D9 AE */ stbx r0, r4, r27 +/* 802AD228 002A8E88 40 80 00 6C */ bge lbl_802AD294 +/* 802AD22C 002A8E8C 7F BE F8 2E */ lwzx r29, r30, r31 +/* 802AD230 002A8E90 38 7D 05 EC */ addi r3, r29, 0x5ec +/* 802AD234 002A8E94 4B FF FF 29 */ bl WPADiClearQueue +/* 802AD238 002A8E98 3F C0 80 2B */ lis r30, abortInitExtension@ha +/* 802AD23C 002A8E9C 80 9D 08 B8 */ lwz r4, 0x8b8(r29) +/* 802AD240 002A8EA0 38 7D 05 EC */ addi r3, r29, 0x5ec +/* 802AD244 002A8EA4 38 BE D1 BC */ addi r5, r30, abortInitExtension@l +/* 802AD248 002A8EA8 4B FF F7 65 */ bl WPADiSendSetReportType +/* 802AD24C 002A8EAC 3F E0 04 A4 */ lis r31, 0x04A400F0@ha +/* 802AD250 002A8EB0 38 7D 05 EC */ addi r3, r29, 0x5ec +/* 802AD254 002A8EB4 38 BF 00 F0 */ addi r5, r31, 0x04A400F0@l +/* 802AD258 002A8EB8 38 DE D1 BC */ addi r6, r30, -11844 +/* 802AD25C 002A8EBC 38 80 00 55 */ li r4, 0x55 +/* 802AD260 002A8EC0 4B FF F9 5D */ bl WPADiSendWriteDataCmd +/* 802AD264 002A8EC4 38 7D 05 EC */ addi r3, r29, 0x5ec +/* 802AD268 002A8EC8 38 BF 00 FB */ addi r5, r31, 0xfb +/* 802AD26C 002A8ECC 38 DE D1 BC */ addi r6, r30, -11844 +/* 802AD270 002A8ED0 38 80 00 00 */ li r4, 0 +/* 802AD274 002A8ED4 4B FF F9 49 */ bl WPADiSendWriteDataCmd +/* 802AD278 002A8ED8 38 7D 05 EC */ addi r3, r29, 0x5ec +/* 802AD27C 002A8EDC 38 9D 09 34 */ addi r4, r29, 0x934 +/* 802AD280 002A8EE0 38 DF 00 FE */ addi r6, r31, 0xfe +/* 802AD284 002A8EE4 38 FE D1 BC */ addi r7, r30, -11844 +/* 802AD288 002A8EE8 38 A0 00 02 */ li r5, 2 +/* 802AD28C 002A8EEC 4B FF FC 9D */ bl WPADiSendReadData +/* 802AD290 002A8EF0 48 00 00 3C */ b lbl_802AD2CC +lbl_802AD294: +/* 802AD294 002A8EF4 38 80 00 FC */ li r4, 0xfc +/* 802AD298 002A8EF8 48 00 00 18 */ b lbl_802AD2B0 +lbl_802AD29C: +/* 802AD29C 002A8EFC 80 9D 08 B8 */ lwz r4, 0x8b8(r29) +/* 802AD2A0 002A8F00 38 7D 05 EC */ addi r3, r29, 0x5ec +/* 802AD2A4 002A8F04 38 A0 00 00 */ li r5, 0 +/* 802AD2A8 002A8F08 4B FF F7 05 */ bl WPADiSendSetReportType +/* 802AD2AC 002A8F0C 48 00 00 20 */ b lbl_802AD2CC +lbl_802AD2B0: +/* 802AD2B0 002A8F10 98 9D 08 C1 */ stb r4, 0x8c1(r29) +/* 802AD2B4 002A8F14 81 9D 08 A0 */ lwz r12, 0x8a0(r29) +/* 802AD2B8 002A8F18 2C 0C 00 00 */ cmpwi r12, 0 +/* 802AD2BC 002A8F1C 41 82 00 10 */ beq lbl_802AD2CC +/* 802AD2C0 002A8F20 7F 63 DB 78 */ mr r3, r27 +/* 802AD2C4 002A8F24 7D 89 03 A6 */ mtctr r12 +/* 802AD2C8 002A8F28 4E 80 04 21 */ bctrl +lbl_802AD2CC: +/* 802AD2CC 002A8F2C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802AD2D0 002A8F30 4B F1 9E A5 */ bl _restgpr_27 +/* 802AD2D4 002A8F34 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802AD2D8 002A8F38 7C 08 03 A6 */ mtlr r0 +/* 802AD2DC 002A8F3C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802AD2E0 002A8F40 4E 80 00 20 */ blr + +.global getDevConfig +getDevConfig: +/* 802AD2E4 002A8F44 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802AD2E8 002A8F48 7C 08 02 A6 */ mflr r0 +/* 802AD2EC 002A8F4C 90 01 00 34 */ stw r0, 0x34(r1) +/* 802AD2F0 002A8F50 39 61 00 30 */ addi r11, r1, 0x30 +/* 802AD2F4 002A8F54 4B F1 9E 21 */ bl _savegpr_22 +/* 802AD2F8 002A8F58 3D 00 80 53 */ lis r8, lbl_80536D70@ha +/* 802AD2FC 002A8F5C 54 60 10 3A */ slwi r0, r3, 2 +/* 802AD300 002A8F60 39 08 6D 70 */ addi r8, r8, lbl_80536D70@l +/* 802AD304 002A8F64 3F C0 80 44 */ lis r30, lbl_8043C2A0@ha +/* 802AD308 002A8F68 7F 68 00 2E */ lwzx r27, r8, r0 +/* 802AD30C 002A8F6C 39 40 00 00 */ li r10, 0 +/* 802AD310 002A8F70 A0 E2 A4 08 */ lhz r7, lbl_80642A08-_SDA2_BASE_(r2) +/* 802AD314 002A8F74 2C 04 00 00 */ cmpwi r4, 0 +/* 802AD318 002A8F78 A2 C2 A4 0A */ lhz r22, lbl_80642A0A-_SDA2_BASE_(r2) +/* 802AD31C 002A8F7C 39 20 00 01 */ li r9, 1 +/* 802AD320 002A8F80 A2 E2 A4 0C */ lhz r23, lbl_80642A0C-_SDA2_BASE_(r2) +/* 802AD324 002A8F84 39 00 00 02 */ li r8, 2 +/* 802AD328 002A8F88 A3 E2 A4 0E */ lhz r31, lbl_80642A0E-_SDA2_BASE_(r2) +/* 802AD32C 002A8F8C 38 60 02 12 */ li r3, 0x212 +/* 802AD330 002A8F90 A0 02 A4 10 */ lhz r0, lbl_80642A10-_SDA2_BASE_(r2) +/* 802AD334 002A8F94 7C B8 2B 78 */ mr r24, r5 +/* 802AD338 002A8F98 A3 A2 A4 12 */ lhz r29, lbl_80642A12-_SDA2_BASE_(r2) +/* 802AD33C 002A8F9C 7C D9 33 78 */ mr r25, r6 +/* 802AD340 002A8FA0 A3 82 A4 14 */ lhz r28, lbl_80642A14-_SDA2_BASE_(r2) +/* 802AD344 002A8FA4 3B DE C2 A0 */ addi r30, r30, lbl_8043C2A0@l +/* 802AD348 002A8FA8 A1 82 A4 16 */ lhz r12, lbl_80642A16-_SDA2_BASE_(r2) +/* 802AD34C 002A8FAC 83 5B 09 74 */ lwz r26, 0x974(r27) +/* 802AD350 002A8FB0 B0 E5 00 08 */ sth r7, 8(r5) +/* 802AD354 002A8FB4 38 E0 00 03 */ li r7, 3 +/* 802AD358 002A8FB8 B0 05 00 0A */ sth r0, 0xa(r5) +/* 802AD35C 002A8FBC 38 00 02 7C */ li r0, 0x27c +/* 802AD360 002A8FC0 89 7B 08 CA */ lbz r11, 0x8ca(r27) +/* 802AD364 002A8FC4 B1 65 00 0C */ sth r11, 0xc(r5) +/* 802AD368 002A8FC8 99 45 00 0E */ stb r10, 0xe(r5) +/* 802AD36C 002A8FCC B2 C5 00 10 */ sth r22, 0x10(r5) +/* 802AD370 002A8FD0 B3 A5 00 12 */ sth r29, 0x12(r5) +/* 802AD374 002A8FD4 88 9B 08 CA */ lbz r4, 0x8ca(r27) +/* 802AD378 002A8FD8 B0 85 00 14 */ sth r4, 0x14(r5) +/* 802AD37C 002A8FDC 99 25 00 16 */ stb r9, 0x16(r5) +/* 802AD380 002A8FE0 B2 E5 00 18 */ sth r23, 0x18(r5) +/* 802AD384 002A8FE4 B3 85 00 1A */ sth r28, 0x1a(r5) +/* 802AD388 002A8FE8 88 9B 08 CA */ lbz r4, 0x8ca(r27) +/* 802AD38C 002A8FEC B0 85 00 1C */ sth r4, 0x1c(r5) +/* 802AD390 002A8FF0 99 05 00 1E */ stb r8, 0x1e(r5) +/* 802AD394 002A8FF4 B3 E5 00 20 */ sth r31, 0x20(r5) +/* 802AD398 002A8FF8 B1 85 00 22 */ sth r12, 0x22(r5) +/* 802AD39C 002A8FFC 88 9B 08 CA */ lbz r4, 0x8ca(r27) +/* 802AD3A0 002A9000 B0 85 00 24 */ sth r4, 0x24(r5) +/* 802AD3A4 002A9004 98 E5 00 26 */ stb r7, 0x26(r5) +/* 802AD3A8 002A9008 B0 7B 08 74 */ sth r3, 0x874(r27) +/* 802AD3AC 002A900C B0 7B 08 76 */ sth r3, 0x876(r27) +/* 802AD3B0 002A9010 B0 7B 08 78 */ sth r3, 0x878(r27) +/* 802AD3B4 002A9014 B0 1B 08 7A */ sth r0, 0x87a(r27) +/* 802AD3B8 002A9018 B0 1B 08 7C */ sth r0, 0x87c(r27) +/* 802AD3BC 002A901C B0 1B 08 7E */ sth r0, 0x87e(r27) +/* 802AD3C0 002A9020 99 5B 08 81 */ stb r10, 0x881(r27) +/* 802AD3C4 002A9024 99 5B 08 80 */ stb r10, 0x880(r27) +/* 802AD3C8 002A9028 40 82 05 48 */ bne lbl_802AD910 +/* 802AD3CC 002A902C 80 1B 08 E0 */ lwz r0, 0x8e0(r27) +/* 802AD3D0 002A9030 2C 00 00 00 */ cmpwi r0, 0 +/* 802AD3D4 002A9034 40 82 02 BC */ bne lbl_802AD690 +/* 802AD3D8 002A9038 3B 80 00 00 */ li r28, 0 +/* 802AD3DC 002A903C 3F E0 80 00 */ lis r31, 0x8000 +lbl_802AD3E0: +/* 802AD3E0 002A9040 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 802AD3E4 002A9044 38 60 00 00 */ li r3, 0 +/* 802AD3E8 002A9048 1F A0 00 0B */ mulli r29, r0, 0xb +/* 802AD3EC 002A904C 38 BD 00 0A */ addi r5, r29, 0xa +/* 802AD3F0 002A9050 7C 1D 28 00 */ cmpw r29, r5 +/* 802AD3F4 002A9054 7F A4 EB 78 */ mr r4, r29 +/* 802AD3F8 002A9058 40 80 01 30 */ bge lbl_802AD528 +/* 802AD3FC 002A905C 38 DD 00 02 */ addi r6, r29, 2 +/* 802AD400 002A9060 38 E0 00 00 */ li r7, 0 +/* 802AD404 002A9064 39 00 00 00 */ li r8, 0 +/* 802AD408 002A9068 39 20 00 00 */ li r9, 0 +/* 802AD40C 002A906C 39 40 00 00 */ li r10, 0 +/* 802AD410 002A9070 41 81 00 14 */ bgt lbl_802AD424 +/* 802AD414 002A9074 38 1F FF FE */ addi r0, r31, -2 +/* 802AD418 002A9078 7C 05 00 00 */ cmpw r5, r0 +/* 802AD41C 002A907C 41 81 00 08 */ bgt lbl_802AD424 +/* 802AD420 002A9080 39 40 00 01 */ li r10, 1 +lbl_802AD424: +/* 802AD424 002A9084 2C 0A 00 00 */ cmpwi r10, 0 +/* 802AD428 002A9088 41 82 00 14 */ beq lbl_802AD43C +/* 802AD42C 002A908C 38 1F FF FE */ addi r0, r31, -2 +/* 802AD430 002A9090 7C 1D 00 00 */ cmpw r29, r0 +/* 802AD434 002A9094 41 81 00 08 */ bgt lbl_802AD43C +/* 802AD438 002A9098 39 20 00 01 */ li r9, 1 +lbl_802AD43C: +/* 802AD43C 002A909C 2C 09 00 00 */ cmpwi r9, 0 +/* 802AD440 002A90A0 41 82 00 14 */ beq lbl_802AD454 +/* 802AD444 002A90A4 3C 1D 80 00 */ addis r0, r29, 0x8000 +/* 802AD448 002A90A8 28 00 00 00 */ cmplwi r0, 0 +/* 802AD44C 002A90AC 41 82 00 08 */ beq lbl_802AD454 +/* 802AD450 002A90B0 39 00 00 01 */ li r8, 1 +lbl_802AD454: +/* 802AD454 002A90B4 2C 08 00 00 */ cmpwi r8, 0 +/* 802AD458 002A90B8 41 82 00 38 */ beq lbl_802AD490 +/* 802AD45C 002A90BC 38 BD 00 0A */ addi r5, r29, 0xa +/* 802AD460 002A90C0 7C 1D 00 D0 */ neg r0, r29 +/* 802AD464 002A90C4 54 A8 00 00 */ rlwinm r8, r5, 0, 0, 0 +/* 802AD468 002A90C8 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 +/* 802AD46C 002A90CC 38 A0 00 01 */ li r5, 1 +/* 802AD470 002A90D0 7C 08 00 00 */ cmpw r8, r0 +/* 802AD474 002A90D4 40 82 00 10 */ bne lbl_802AD484 +/* 802AD478 002A90D8 2C 08 00 00 */ cmpwi r8, 0 +/* 802AD47C 002A90DC 41 82 00 08 */ beq lbl_802AD484 +/* 802AD480 002A90E0 38 A0 00 00 */ li r5, 0 +lbl_802AD484: +/* 802AD484 002A90E4 2C 05 00 00 */ cmpwi r5, 0 +/* 802AD488 002A90E8 41 82 00 08 */ beq lbl_802AD490 +/* 802AD48C 002A90EC 38 E0 00 01 */ li r7, 1 +lbl_802AD490: +/* 802AD490 002A90F0 2C 07 00 00 */ cmpwi r7, 0 +/* 802AD494 002A90F4 41 82 00 68 */ beq lbl_802AD4FC +/* 802AD498 002A90F8 38 06 00 07 */ addi r0, r6, 7 +/* 802AD49C 002A90FC 7C 1D 00 50 */ subf r0, r29, r0 +/* 802AD4A0 002A9100 54 00 E8 FE */ srwi r0, r0, 3 +/* 802AD4A4 002A9104 7C 09 03 A6 */ mtctr r0 +/* 802AD4A8 002A9108 7C 1D 30 00 */ cmpw r29, r6 +/* 802AD4AC 002A910C 40 80 00 50 */ bge lbl_802AD4FC +lbl_802AD4B0: +/* 802AD4B0 002A9110 7C DA 22 14 */ add r6, r26, r4 +/* 802AD4B4 002A9114 7C BA 20 AE */ lbzx r5, r26, r4 +/* 802AD4B8 002A9118 88 06 00 01 */ lbz r0, 1(r6) +/* 802AD4BC 002A911C 38 84 00 08 */ addi r4, r4, 8 +/* 802AD4C0 002A9120 7C 63 2A 14 */ add r3, r3, r5 +/* 802AD4C4 002A9124 88 A6 00 02 */ lbz r5, 2(r6) +/* 802AD4C8 002A9128 7C 63 02 14 */ add r3, r3, r0 +/* 802AD4CC 002A912C 88 06 00 03 */ lbz r0, 3(r6) +/* 802AD4D0 002A9130 7C 63 2A 14 */ add r3, r3, r5 +/* 802AD4D4 002A9134 88 A6 00 04 */ lbz r5, 4(r6) +/* 802AD4D8 002A9138 7C 63 02 14 */ add r3, r3, r0 +/* 802AD4DC 002A913C 88 06 00 05 */ lbz r0, 5(r6) +/* 802AD4E0 002A9140 7C 63 2A 14 */ add r3, r3, r5 +/* 802AD4E4 002A9144 88 A6 00 06 */ lbz r5, 6(r6) +/* 802AD4E8 002A9148 7C 63 02 14 */ add r3, r3, r0 +/* 802AD4EC 002A914C 88 06 00 07 */ lbz r0, 7(r6) +/* 802AD4F0 002A9150 7C 63 2A 14 */ add r3, r3, r5 +/* 802AD4F4 002A9154 7C 63 02 14 */ add r3, r3, r0 +/* 802AD4F8 002A9158 42 00 FF B8 */ bdnz lbl_802AD4B0 +lbl_802AD4FC: +/* 802AD4FC 002A915C 38 DD 00 0A */ addi r6, r29, 0xa +/* 802AD500 002A9160 7C BA 22 14 */ add r5, r26, r4 +/* 802AD504 002A9164 7C 04 30 50 */ subf r0, r4, r6 +/* 802AD508 002A9168 7C 09 03 A6 */ mtctr r0 +/* 802AD50C 002A916C 7C 04 30 00 */ cmpw r4, r6 +/* 802AD510 002A9170 40 80 00 18 */ bge lbl_802AD528 +lbl_802AD514: +/* 802AD514 002A9174 88 05 00 00 */ lbz r0, 0(r5) +/* 802AD518 002A9178 38 84 00 01 */ addi r4, r4, 1 +/* 802AD51C 002A917C 38 A5 00 01 */ addi r5, r5, 1 +/* 802AD520 002A9180 7C 63 02 14 */ add r3, r3, r0 +/* 802AD524 002A9184 42 00 FF F0 */ bdnz lbl_802AD514 +lbl_802AD528: +/* 802AD528 002A9188 7C 9A EA 14 */ add r4, r26, r29 +/* 802AD52C 002A918C 38 63 00 55 */ addi r3, r3, 0x55 +/* 802AD530 002A9190 88 04 00 0A */ lbz r0, 0xa(r4) +/* 802AD534 002A9194 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 802AD538 002A9198 7C 03 00 40 */ cmplw r3, r0 +/* 802AD53C 002A919C 40 82 01 38 */ bne lbl_802AD674 +/* 802AD540 002A91A0 38 7E 00 98 */ addi r3, r30, 0x98 +/* 802AD544 002A91A4 4C C6 31 82 */ crclr 6 +/* 802AD548 002A91A8 48 00 63 19 */ bl func_802B3860 +/* 802AD54C 002A91AC 7C 7D CA 14 */ add r3, r29, r25 +/* 802AD550 002A91B0 7C 99 E8 AE */ lbzx r4, r25, r29 +/* 802AD554 002A91B4 88 03 00 02 */ lbz r0, 2(r3) +/* 802AD558 002A91B8 38 C0 00 00 */ li r6, 0 +/* 802AD55C 002A91BC 7C 87 07 34 */ extsh r7, r4 +/* 802AD560 002A91C0 38 A0 00 01 */ li r5, 1 +/* 802AD564 002A91C4 54 00 25 AE */ rlwinm r0, r0, 4, 0x16, 0x17 +/* 802AD568 002A91C8 38 80 00 02 */ li r4, 2 +/* 802AD56C 002A91CC 7C E7 03 78 */ or r7, r7, r0 +/* 802AD570 002A91D0 B0 F8 00 08 */ sth r7, 8(r24) +/* 802AD574 002A91D4 38 00 00 03 */ li r0, 3 +/* 802AD578 002A91D8 89 03 00 01 */ lbz r8, 1(r3) +/* 802AD57C 002A91DC 88 E3 00 02 */ lbz r7, 2(r3) +/* 802AD580 002A91E0 7D 08 07 34 */ extsh r8, r8 +/* 802AD584 002A91E4 54 E7 15 AE */ rlwinm r7, r7, 2, 0x16, 0x17 +/* 802AD588 002A91E8 7D 07 3B 78 */ or r7, r8, r7 +/* 802AD58C 002A91EC 7C E7 07 34 */ extsh r7, r7 +/* 802AD590 002A91F0 20 E7 02 FF */ subfic r7, r7, 0x2ff +/* 802AD594 002A91F4 B0 F8 00 0A */ sth r7, 0xa(r24) +/* 802AD598 002A91F8 88 FB 08 CA */ lbz r7, 0x8ca(r27) +/* 802AD59C 002A91FC B0 F8 00 0C */ sth r7, 0xc(r24) +/* 802AD5A0 002A9200 98 D8 00 0E */ stb r6, 0xe(r24) +/* 802AD5A4 002A9204 88 E3 00 03 */ lbz r7, 3(r3) +/* 802AD5A8 002A9208 88 C3 00 02 */ lbz r6, 2(r3) +/* 802AD5AC 002A920C 7C E7 07 34 */ extsh r7, r7 +/* 802AD5B0 002A9210 54 C6 45 AE */ rlwinm r6, r6, 8, 0x16, 0x17 +/* 802AD5B4 002A9214 7C E6 33 78 */ or r6, r7, r6 +/* 802AD5B8 002A9218 B0 D8 00 10 */ sth r6, 0x10(r24) +/* 802AD5BC 002A921C 88 E3 00 04 */ lbz r7, 4(r3) +/* 802AD5C0 002A9220 88 C3 00 02 */ lbz r6, 2(r3) +/* 802AD5C4 002A9224 7C E7 07 34 */ extsh r7, r7 +/* 802AD5C8 002A9228 54 C6 35 AE */ rlwinm r6, r6, 6, 0x16, 0x17 +/* 802AD5CC 002A922C 7C E6 33 78 */ or r6, r7, r6 +/* 802AD5D0 002A9230 7C C6 07 34 */ extsh r6, r6 +/* 802AD5D4 002A9234 20 C6 02 FF */ subfic r6, r6, 0x2ff +/* 802AD5D8 002A9238 B0 D8 00 12 */ sth r6, 0x12(r24) +/* 802AD5DC 002A923C 88 DB 08 CA */ lbz r6, 0x8ca(r27) +/* 802AD5E0 002A9240 B0 D8 00 14 */ sth r6, 0x14(r24) +/* 802AD5E4 002A9244 98 B8 00 16 */ stb r5, 0x16(r24) +/* 802AD5E8 002A9248 88 C3 00 05 */ lbz r6, 5(r3) +/* 802AD5EC 002A924C 88 A3 00 07 */ lbz r5, 7(r3) +/* 802AD5F0 002A9250 7C C6 07 34 */ extsh r6, r6 +/* 802AD5F4 002A9254 54 A5 25 AE */ rlwinm r5, r5, 4, 0x16, 0x17 +/* 802AD5F8 002A9258 7C C5 2B 78 */ or r5, r6, r5 +/* 802AD5FC 002A925C B0 B8 00 18 */ sth r5, 0x18(r24) +/* 802AD600 002A9260 88 C3 00 06 */ lbz r6, 6(r3) +/* 802AD604 002A9264 88 A3 00 07 */ lbz r5, 7(r3) +/* 802AD608 002A9268 7C C6 07 34 */ extsh r6, r6 +/* 802AD60C 002A926C 54 A5 15 AE */ rlwinm r5, r5, 2, 0x16, 0x17 +/* 802AD610 002A9270 7C C5 2B 78 */ or r5, r6, r5 +/* 802AD614 002A9274 7C A5 07 34 */ extsh r5, r5 +/* 802AD618 002A9278 20 A5 02 FF */ subfic r5, r5, 0x2ff +/* 802AD61C 002A927C B0 B8 00 1A */ sth r5, 0x1a(r24) +/* 802AD620 002A9280 88 BB 08 CA */ lbz r5, 0x8ca(r27) +/* 802AD624 002A9284 B0 B8 00 1C */ sth r5, 0x1c(r24) +/* 802AD628 002A9288 98 98 00 1E */ stb r4, 0x1e(r24) +/* 802AD62C 002A928C 88 A3 00 08 */ lbz r5, 8(r3) +/* 802AD630 002A9290 88 83 00 07 */ lbz r4, 7(r3) +/* 802AD634 002A9294 7C A5 07 34 */ extsh r5, r5 +/* 802AD638 002A9298 54 84 45 AE */ rlwinm r4, r4, 8, 0x16, 0x17 +/* 802AD63C 002A929C 7C A4 23 78 */ or r4, r5, r4 +/* 802AD640 002A92A0 B0 98 00 20 */ sth r4, 0x20(r24) +/* 802AD644 002A92A4 88 83 00 09 */ lbz r4, 9(r3) +/* 802AD648 002A92A8 88 63 00 07 */ lbz r3, 7(r3) +/* 802AD64C 002A92AC 7C 84 07 34 */ extsh r4, r4 +/* 802AD650 002A92B0 54 63 35 AE */ rlwinm r3, r3, 6, 0x16, 0x17 +/* 802AD654 002A92B4 7C 83 1B 78 */ or r3, r4, r3 +/* 802AD658 002A92B8 7C 63 07 34 */ extsh r3, r3 +/* 802AD65C 002A92BC 20 63 02 FF */ subfic r3, r3, 0x2ff +/* 802AD660 002A92C0 B0 78 00 22 */ sth r3, 0x22(r24) +/* 802AD664 002A92C4 88 7B 08 CA */ lbz r3, 0x8ca(r27) +/* 802AD668 002A92C8 B0 78 00 24 */ sth r3, 0x24(r24) +/* 802AD66C 002A92CC 98 18 00 26 */ stb r0, 0x26(r24) +/* 802AD670 002A92D0 48 00 00 2C */ b lbl_802AD69C +lbl_802AD674: +/* 802AD674 002A92D4 38 7E 00 B0 */ addi r3, r30, 0xb0 +/* 802AD678 002A92D8 4C C6 31 82 */ crclr 6 +/* 802AD67C 002A92DC 48 00 61 E5 */ bl func_802B3860 +/* 802AD680 002A92E0 3B 9C 00 01 */ addi r28, r28, 1 +/* 802AD684 002A92E4 28 1C 00 02 */ cmplwi r28, 2 +/* 802AD688 002A92E8 41 80 FD 58 */ blt lbl_802AD3E0 +/* 802AD68C 002A92EC 48 00 00 10 */ b lbl_802AD69C +lbl_802AD690: +/* 802AD690 002A92F0 38 7E 00 C8 */ addi r3, r30, 0xc8 +/* 802AD694 002A92F4 4C C6 31 82 */ crclr 6 +/* 802AD698 002A92F8 48 00 61 C9 */ bl func_802B3860 +lbl_802AD69C: +/* 802AD69C 002A92FC 3B A0 00 00 */ li r29, 0 +/* 802AD6A0 002A9300 3F E0 80 00 */ lis r31, 0x8000 +lbl_802AD6A4: +/* 802AD6A4 002A9304 80 1B 08 E0 */ lwz r0, 0x8e0(r27) +/* 802AD6A8 002A9308 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802AD6AC 002A930C 1F 83 00 0A */ mulli r28, r3, 0xa +/* 802AD6B0 002A9310 2C 00 00 00 */ cmpwi r0, 0 +/* 802AD6B4 002A9314 38 60 00 00 */ li r3, 0 +/* 802AD6B8 002A9318 40 82 00 08 */ bne lbl_802AD6C0 +/* 802AD6BC 002A931C 3B 9C 00 16 */ addi r28, r28, 0x16 +lbl_802AD6C0: +/* 802AD6C0 002A9320 38 BC 00 09 */ addi r5, r28, 9 +/* 802AD6C4 002A9324 7F 84 E3 78 */ mr r4, r28 +/* 802AD6C8 002A9328 7C 1C 28 00 */ cmpw r28, r5 +/* 802AD6CC 002A932C 40 80 01 30 */ bge lbl_802AD7FC +/* 802AD6D0 002A9330 38 DC 00 01 */ addi r6, r28, 1 +/* 802AD6D4 002A9334 38 E0 00 00 */ li r7, 0 +/* 802AD6D8 002A9338 39 00 00 00 */ li r8, 0 +/* 802AD6DC 002A933C 39 20 00 00 */ li r9, 0 +/* 802AD6E0 002A9340 39 40 00 00 */ li r10, 0 +/* 802AD6E4 002A9344 41 81 00 14 */ bgt lbl_802AD6F8 +/* 802AD6E8 002A9348 38 1F FF FE */ addi r0, r31, -2 +/* 802AD6EC 002A934C 7C 05 00 00 */ cmpw r5, r0 +/* 802AD6F0 002A9350 41 81 00 08 */ bgt lbl_802AD6F8 +/* 802AD6F4 002A9354 39 40 00 01 */ li r10, 1 +lbl_802AD6F8: +/* 802AD6F8 002A9358 2C 0A 00 00 */ cmpwi r10, 0 +/* 802AD6FC 002A935C 41 82 00 14 */ beq lbl_802AD710 +/* 802AD700 002A9360 38 1F FF FE */ addi r0, r31, -2 +/* 802AD704 002A9364 7C 1C 00 00 */ cmpw r28, r0 +/* 802AD708 002A9368 41 81 00 08 */ bgt lbl_802AD710 +/* 802AD70C 002A936C 39 20 00 01 */ li r9, 1 +lbl_802AD710: +/* 802AD710 002A9370 2C 09 00 00 */ cmpwi r9, 0 +/* 802AD714 002A9374 41 82 00 14 */ beq lbl_802AD728 +/* 802AD718 002A9378 3C 1C 80 00 */ addis r0, r28, 0x8000 +/* 802AD71C 002A937C 28 00 00 00 */ cmplwi r0, 0 +/* 802AD720 002A9380 41 82 00 08 */ beq lbl_802AD728 +/* 802AD724 002A9384 39 00 00 01 */ li r8, 1 +lbl_802AD728: +/* 802AD728 002A9388 2C 08 00 00 */ cmpwi r8, 0 +/* 802AD72C 002A938C 41 82 00 38 */ beq lbl_802AD764 +/* 802AD730 002A9390 38 BC 00 09 */ addi r5, r28, 9 +/* 802AD734 002A9394 7C 1C 00 D0 */ neg r0, r28 +/* 802AD738 002A9398 54 A8 00 00 */ rlwinm r8, r5, 0, 0, 0 +/* 802AD73C 002A939C 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 +/* 802AD740 002A93A0 38 A0 00 01 */ li r5, 1 +/* 802AD744 002A93A4 7C 08 00 00 */ cmpw r8, r0 +/* 802AD748 002A93A8 40 82 00 10 */ bne lbl_802AD758 +/* 802AD74C 002A93AC 2C 08 00 00 */ cmpwi r8, 0 +/* 802AD750 002A93B0 41 82 00 08 */ beq lbl_802AD758 +/* 802AD754 002A93B4 38 A0 00 00 */ li r5, 0 +lbl_802AD758: +/* 802AD758 002A93B8 2C 05 00 00 */ cmpwi r5, 0 +/* 802AD75C 002A93BC 41 82 00 08 */ beq lbl_802AD764 +/* 802AD760 002A93C0 38 E0 00 01 */ li r7, 1 +lbl_802AD764: +/* 802AD764 002A93C4 2C 07 00 00 */ cmpwi r7, 0 +/* 802AD768 002A93C8 41 82 00 68 */ beq lbl_802AD7D0 +/* 802AD76C 002A93CC 38 06 00 07 */ addi r0, r6, 7 +/* 802AD770 002A93D0 7C 1C 00 50 */ subf r0, r28, r0 +/* 802AD774 002A93D4 54 00 E8 FE */ srwi r0, r0, 3 +/* 802AD778 002A93D8 7C 09 03 A6 */ mtctr r0 +/* 802AD77C 002A93DC 7C 1C 30 00 */ cmpw r28, r6 +/* 802AD780 002A93E0 40 80 00 50 */ bge lbl_802AD7D0 +lbl_802AD784: +/* 802AD784 002A93E4 7C DA 22 14 */ add r6, r26, r4 +/* 802AD788 002A93E8 7C BA 20 AE */ lbzx r5, r26, r4 +/* 802AD78C 002A93EC 88 06 00 01 */ lbz r0, 1(r6) +/* 802AD790 002A93F0 38 84 00 08 */ addi r4, r4, 8 +/* 802AD794 002A93F4 7C 63 2A 14 */ add r3, r3, r5 +/* 802AD798 002A93F8 88 A6 00 02 */ lbz r5, 2(r6) +/* 802AD79C 002A93FC 7C 63 02 14 */ add r3, r3, r0 +/* 802AD7A0 002A9400 88 06 00 03 */ lbz r0, 3(r6) +/* 802AD7A4 002A9404 7C 63 2A 14 */ add r3, r3, r5 +/* 802AD7A8 002A9408 88 A6 00 04 */ lbz r5, 4(r6) +/* 802AD7AC 002A940C 7C 63 02 14 */ add r3, r3, r0 +/* 802AD7B0 002A9410 88 06 00 05 */ lbz r0, 5(r6) +/* 802AD7B4 002A9414 7C 63 2A 14 */ add r3, r3, r5 +/* 802AD7B8 002A9418 88 A6 00 06 */ lbz r5, 6(r6) +/* 802AD7BC 002A941C 7C 63 02 14 */ add r3, r3, r0 +/* 802AD7C0 002A9420 88 06 00 07 */ lbz r0, 7(r6) +/* 802AD7C4 002A9424 7C 63 2A 14 */ add r3, r3, r5 +/* 802AD7C8 002A9428 7C 63 02 14 */ add r3, r3, r0 +/* 802AD7CC 002A942C 42 00 FF B8 */ bdnz lbl_802AD784 +lbl_802AD7D0: +/* 802AD7D0 002A9430 38 DC 00 09 */ addi r6, r28, 9 +/* 802AD7D4 002A9434 7C BA 22 14 */ add r5, r26, r4 +/* 802AD7D8 002A9438 7C 04 30 50 */ subf r0, r4, r6 +/* 802AD7DC 002A943C 7C 09 03 A6 */ mtctr r0 +/* 802AD7E0 002A9440 7C 04 30 00 */ cmpw r4, r6 +/* 802AD7E4 002A9444 40 80 00 18 */ bge lbl_802AD7FC +lbl_802AD7E8: +/* 802AD7E8 002A9448 88 05 00 00 */ lbz r0, 0(r5) +/* 802AD7EC 002A944C 38 84 00 01 */ addi r4, r4, 1 +/* 802AD7F0 002A9450 38 A5 00 01 */ addi r5, r5, 1 +/* 802AD7F4 002A9454 7C 63 02 14 */ add r3, r3, r0 +/* 802AD7F8 002A9458 42 00 FF F0 */ bdnz lbl_802AD7E8 +lbl_802AD7FC: +/* 802AD7FC 002A945C 7E DA E2 14 */ add r22, r26, r28 +/* 802AD800 002A9460 38 63 00 55 */ addi r3, r3, 0x55 +/* 802AD804 002A9464 88 16 00 09 */ lbz r0, 9(r22) +/* 802AD808 002A9468 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 802AD80C 002A946C 7C 03 00 40 */ cmplw r3, r0 +/* 802AD810 002A9470 40 82 00 A4 */ bne lbl_802AD8B4 +/* 802AD814 002A9474 38 7E 01 0C */ addi r3, r30, 0x10c +/* 802AD818 002A9478 4C C6 31 82 */ crclr 6 +/* 802AD81C 002A947C 48 00 60 45 */ bl func_802B3860 +/* 802AD820 002A9480 88 16 00 03 */ lbz r0, 3(r22) +/* 802AD824 002A9484 88 76 00 00 */ lbz r3, 0(r22) +/* 802AD828 002A9488 54 00 E7 BE */ rlwinm r0, r0, 0x1c, 0x1e, 0x1f +/* 802AD82C 002A948C 50 60 15 BA */ rlwimi r0, r3, 2, 0x16, 0x1d +/* 802AD830 002A9490 B0 1B 08 74 */ sth r0, 0x874(r27) +/* 802AD834 002A9494 88 16 00 03 */ lbz r0, 3(r22) +/* 802AD838 002A9498 88 76 00 01 */ lbz r3, 1(r22) +/* 802AD83C 002A949C 54 00 F7 BE */ rlwinm r0, r0, 0x1e, 0x1e, 0x1f +/* 802AD840 002A94A0 50 60 15 BA */ rlwimi r0, r3, 2, 0x16, 0x1d +/* 802AD844 002A94A4 B0 1B 08 76 */ sth r0, 0x876(r27) +/* 802AD848 002A94A8 88 16 00 03 */ lbz r0, 3(r22) +/* 802AD84C 002A94AC 88 76 00 02 */ lbz r3, 2(r22) +/* 802AD850 002A94B0 54 00 07 BE */ clrlwi r0, r0, 0x1e +/* 802AD854 002A94B4 50 60 15 BA */ rlwimi r0, r3, 2, 0x16, 0x1d +/* 802AD858 002A94B8 B0 1B 08 78 */ sth r0, 0x878(r27) +/* 802AD85C 002A94BC 88 16 00 07 */ lbz r0, 7(r22) +/* 802AD860 002A94C0 88 76 00 04 */ lbz r3, 4(r22) +/* 802AD864 002A94C4 54 00 E7 BE */ rlwinm r0, r0, 0x1c, 0x1e, 0x1f +/* 802AD868 002A94C8 50 60 15 BA */ rlwimi r0, r3, 2, 0x16, 0x1d +/* 802AD86C 002A94CC B0 1B 08 7A */ sth r0, 0x87a(r27) +/* 802AD870 002A94D0 88 16 00 07 */ lbz r0, 7(r22) +/* 802AD874 002A94D4 88 76 00 05 */ lbz r3, 5(r22) +/* 802AD878 002A94D8 54 00 F7 BE */ rlwinm r0, r0, 0x1e, 0x1e, 0x1f +/* 802AD87C 002A94DC 50 60 15 BA */ rlwimi r0, r3, 2, 0x16, 0x1d +/* 802AD880 002A94E0 B0 1B 08 7C */ sth r0, 0x87c(r27) +/* 802AD884 002A94E4 88 16 00 07 */ lbz r0, 7(r22) +/* 802AD888 002A94E8 88 76 00 06 */ lbz r3, 6(r22) +/* 802AD88C 002A94EC 54 00 07 BE */ clrlwi r0, r0, 0x1e +/* 802AD890 002A94F0 50 60 15 BA */ rlwimi r0, r3, 2, 0x16, 0x1d +/* 802AD894 002A94F4 B0 1B 08 7E */ sth r0, 0x87e(r27) +/* 802AD898 002A94F8 88 16 00 08 */ lbz r0, 8(r22) +/* 802AD89C 002A94FC 54 00 06 7E */ clrlwi r0, r0, 0x19 +/* 802AD8A0 002A9500 98 1B 08 81 */ stb r0, 0x881(r27) +/* 802AD8A4 002A9504 88 16 00 08 */ lbz r0, 8(r22) +/* 802AD8A8 002A9508 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18 +/* 802AD8AC 002A950C 98 1B 08 80 */ stb r0, 0x880(r27) +/* 802AD8B0 002A9510 48 00 00 1C */ b lbl_802AD8CC +lbl_802AD8B4: +/* 802AD8B4 002A9514 38 7E 01 18 */ addi r3, r30, 0x118 +/* 802AD8B8 002A9518 4C C6 31 82 */ crclr 6 +/* 802AD8BC 002A951C 48 00 5F A5 */ bl func_802B3860 +/* 802AD8C0 002A9520 3B BD 00 01 */ addi r29, r29, 1 +/* 802AD8C4 002A9524 28 1D 00 02 */ cmplwi r29, 2 +/* 802AD8C8 002A9528 41 80 FD DC */ blt lbl_802AD6A4 +lbl_802AD8CC: +/* 802AD8CC 002A952C A8 9B 08 74 */ lha r4, 0x874(r27) +/* 802AD8D0 002A9530 38 7E 01 28 */ addi r3, r30, 0x128 +/* 802AD8D4 002A9534 A8 BB 08 76 */ lha r5, 0x876(r27) +/* 802AD8D8 002A9538 A8 DB 08 78 */ lha r6, 0x878(r27) +/* 802AD8DC 002A953C 4C C6 31 82 */ crclr 6 +/* 802AD8E0 002A9540 48 00 5F 81 */ bl func_802B3860 +/* 802AD8E4 002A9544 A8 9B 08 7A */ lha r4, 0x87a(r27) +/* 802AD8E8 002A9548 38 7E 01 50 */ addi r3, r30, 0x150 +/* 802AD8EC 002A954C A8 BB 08 7C */ lha r5, 0x87c(r27) +/* 802AD8F0 002A9550 A8 DB 08 7E */ lha r6, 0x87e(r27) +/* 802AD8F4 002A9554 4C C6 31 82 */ crclr 6 +/* 802AD8F8 002A9558 48 00 5F 69 */ bl func_802B3860 +/* 802AD8FC 002A955C 88 9B 08 81 */ lbz r4, 0x881(r27) +/* 802AD900 002A9560 38 7E 01 78 */ addi r3, r30, 0x178 +/* 802AD904 002A9564 88 BB 08 80 */ lbz r5, 0x880(r27) +/* 802AD908 002A9568 4C C6 31 82 */ crclr 6 +/* 802AD90C 002A956C 48 00 5F 55 */ bl func_802B3860 +lbl_802AD910: +/* 802AD910 002A9570 39 61 00 30 */ addi r11, r1, 0x30 +/* 802AD914 002A9574 4B F1 98 4D */ bl _restgpr_22 +/* 802AD918 002A9578 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802AD91C 002A957C 7C 08 03 A6 */ mtlr r0 +/* 802AD920 002A9580 38 21 00 30 */ addi r1, r1, 0x30 +/* 802AD924 002A9584 4E 80 00 20 */ blr + +.global getExtConfig +getExtConfig: +/* 802AD928 002A9588 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802AD92C 002A958C 7C 08 02 A6 */ mflr r0 +/* 802AD930 002A9590 90 01 00 24 */ stw r0, 0x24(r1) +/* 802AD934 002A9594 39 61 00 20 */ addi r11, r1, 0x20 +/* 802AD938 002A9598 4B F1 97 ED */ bl _savegpr_26 +/* 802AD93C 002A959C 3C A0 80 53 */ lis r5, lbl_80536D70@ha +/* 802AD940 002A95A0 3F E0 80 44 */ lis r31, lbl_8043C2A0@ha +/* 802AD944 002A95A4 54 60 10 3A */ slwi r0, r3, 2 +/* 802AD948 002A95A8 2C 04 00 00 */ cmpwi r4, 0 +/* 802AD94C 002A95AC 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l +/* 802AD950 002A95B0 7C 7B 1B 78 */ mr r27, r3 +/* 802AD954 002A95B4 7F C5 00 2E */ lwzx r30, r5, r0 +/* 802AD958 002A95B8 3B FF C2 A0 */ addi r31, r31, lbl_8043C2A0@l +/* 802AD95C 002A95BC 3B 80 FF FF */ li r28, -1 +/* 802AD960 002A95C0 83 BE 09 74 */ lwz r29, 0x974(r30) +/* 802AD964 002A95C4 41 82 00 20 */ beq lbl_802AD984 +/* 802AD968 002A95C8 40 80 00 2C */ bge lbl_802AD994 +/* 802AD96C 002A95CC 2C 04 FF FF */ cmpwi r4, -1 +/* 802AD970 002A95D0 40 80 00 08 */ bge lbl_802AD978 +/* 802AD974 002A95D4 48 00 00 20 */ b lbl_802AD994 +lbl_802AD978: +/* 802AD978 002A95D8 38 00 00 FD */ li r0, 0xfd +/* 802AD97C 002A95DC 98 1E 08 C1 */ stb r0, 0x8c1(r30) +/* 802AD980 002A95E0 48 00 00 1C */ b lbl_802AD99C +lbl_802AD984: +/* 802AD984 002A95E4 38 8D AE 78 */ addi r4, r13, lbl_80640138-_SDA_BASE_ +/* 802AD988 002A95E8 7C 04 18 AE */ lbzx r0, r4, r3 +/* 802AD98C 002A95EC 98 1E 08 C1 */ stb r0, 0x8c1(r30) +/* 802AD990 002A95F0 48 00 00 0C */ b lbl_802AD99C +lbl_802AD994: +/* 802AD994 002A95F4 38 00 00 FC */ li r0, 0xfc +/* 802AD998 002A95F8 98 1E 08 C1 */ stb r0, 0x8c1(r30) +lbl_802AD99C: +/* 802AD99C 002A95FC 38 8D AE 74 */ addi r4, r13, lbl_80640134-_SDA_BASE_ +/* 802AD9A0 002A9600 7C 04 18 AE */ lbzx r0, r4, r3 +/* 802AD9A4 002A9604 98 1E 08 C2 */ stb r0, 0x8c2(r30) +/* 802AD9A8 002A9608 88 7E 08 C1 */ lbz r3, 0x8c1(r30) +/* 802AD9AC 002A960C 38 03 00 FF */ addi r0, r3, 0xff +/* 802AD9B0 002A9610 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802AD9B4 002A9614 28 00 00 01 */ cmplwi r0, 1 +/* 802AD9B8 002A9618 41 81 04 34 */ bgt lbl_802ADDEC +/* 802AD9BC 002A961C 7F 63 DB 78 */ mr r3, r27 +/* 802AD9C0 002A9620 7F A4 EB 78 */ mr r4, r29 +/* 802AD9C4 002A9624 38 A0 00 20 */ li r5, 0x20 +/* 802AD9C8 002A9628 38 C0 00 20 */ li r6, 0x20 +/* 802AD9CC 002A962C 48 00 50 8D */ bl func_802B2A58 +/* 802AD9D0 002A9630 38 A0 00 00 */ li r5, 0 +/* 802AD9D4 002A9634 38 80 00 00 */ li r4, 0 +/* 802AD9D8 002A9638 3C 60 80 00 */ lis r3, 0x8000 +lbl_802AD9DC: +/* 802AD9DC 002A963C 39 04 00 0E */ addi r8, r4, 0xe +/* 802AD9E0 002A9640 7C 86 23 78 */ mr r6, r4 +/* 802AD9E4 002A9644 7C 04 40 00 */ cmpw r4, r8 +/* 802AD9E8 002A9648 38 E0 00 00 */ li r7, 0 +/* 802AD9EC 002A964C 40 80 01 30 */ bge lbl_802ADB1C +/* 802AD9F0 002A9650 39 24 00 06 */ addi r9, r4, 6 +/* 802AD9F4 002A9654 39 40 00 00 */ li r10, 0 +/* 802AD9F8 002A9658 39 60 00 00 */ li r11, 0 +/* 802AD9FC 002A965C 39 80 00 00 */ li r12, 0 +/* 802ADA00 002A9660 3B 40 00 00 */ li r26, 0 +/* 802ADA04 002A9664 41 81 00 14 */ bgt lbl_802ADA18 +/* 802ADA08 002A9668 38 03 FF FE */ addi r0, r3, -2 +/* 802ADA0C 002A966C 7C 08 00 00 */ cmpw r8, r0 +/* 802ADA10 002A9670 41 81 00 08 */ bgt lbl_802ADA18 +/* 802ADA14 002A9674 3B 40 00 01 */ li r26, 1 +lbl_802ADA18: +/* 802ADA18 002A9678 2C 1A 00 00 */ cmpwi r26, 0 +/* 802ADA1C 002A967C 41 82 00 14 */ beq lbl_802ADA30 +/* 802ADA20 002A9680 38 03 FF FE */ addi r0, r3, -2 +/* 802ADA24 002A9684 7C 04 00 00 */ cmpw r4, r0 +/* 802ADA28 002A9688 41 81 00 08 */ bgt lbl_802ADA30 +/* 802ADA2C 002A968C 39 80 00 01 */ li r12, 1 +lbl_802ADA30: +/* 802ADA30 002A9690 2C 0C 00 00 */ cmpwi r12, 0 +/* 802ADA34 002A9694 41 82 00 14 */ beq lbl_802ADA48 +/* 802ADA38 002A9698 3C 04 80 00 */ addis r0, r4, 0x8000 +/* 802ADA3C 002A969C 28 00 00 00 */ cmplwi r0, 0 +/* 802ADA40 002A96A0 41 82 00 08 */ beq lbl_802ADA48 +/* 802ADA44 002A96A4 39 60 00 01 */ li r11, 1 +lbl_802ADA48: +/* 802ADA48 002A96A8 2C 0B 00 00 */ cmpwi r11, 0 +/* 802ADA4C 002A96AC 41 82 00 38 */ beq lbl_802ADA84 +/* 802ADA50 002A96B0 39 04 00 0E */ addi r8, r4, 0xe +/* 802ADA54 002A96B4 7C 04 00 D0 */ neg r0, r4 +/* 802ADA58 002A96B8 55 0B 00 00 */ rlwinm r11, r8, 0, 0, 0 +/* 802ADA5C 002A96BC 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 +/* 802ADA60 002A96C0 39 00 00 01 */ li r8, 1 +/* 802ADA64 002A96C4 7C 0B 00 00 */ cmpw r11, r0 +/* 802ADA68 002A96C8 40 82 00 10 */ bne lbl_802ADA78 +/* 802ADA6C 002A96CC 2C 0B 00 00 */ cmpwi r11, 0 +/* 802ADA70 002A96D0 41 82 00 08 */ beq lbl_802ADA78 +/* 802ADA74 002A96D4 39 00 00 00 */ li r8, 0 +lbl_802ADA78: +/* 802ADA78 002A96D8 2C 08 00 00 */ cmpwi r8, 0 +/* 802ADA7C 002A96DC 41 82 00 08 */ beq lbl_802ADA84 +/* 802ADA80 002A96E0 39 40 00 01 */ li r10, 1 +lbl_802ADA84: +/* 802ADA84 002A96E4 2C 0A 00 00 */ cmpwi r10, 0 +/* 802ADA88 002A96E8 41 82 00 68 */ beq lbl_802ADAF0 +/* 802ADA8C 002A96EC 38 09 00 07 */ addi r0, r9, 7 +/* 802ADA90 002A96F0 7C 04 00 50 */ subf r0, r4, r0 +/* 802ADA94 002A96F4 54 00 E8 FE */ srwi r0, r0, 3 +/* 802ADA98 002A96F8 7C 09 03 A6 */ mtctr r0 +/* 802ADA9C 002A96FC 7C 04 48 00 */ cmpw r4, r9 +/* 802ADAA0 002A9700 40 80 00 50 */ bge lbl_802ADAF0 +lbl_802ADAA4: +/* 802ADAA4 002A9704 7D 3D 32 14 */ add r9, r29, r6 +/* 802ADAA8 002A9708 7D 1D 30 AE */ lbzx r8, r29, r6 +/* 802ADAAC 002A970C 88 09 00 01 */ lbz r0, 1(r9) +/* 802ADAB0 002A9710 38 C6 00 08 */ addi r6, r6, 8 +/* 802ADAB4 002A9714 7C E7 42 14 */ add r7, r7, r8 +/* 802ADAB8 002A9718 89 09 00 02 */ lbz r8, 2(r9) +/* 802ADABC 002A971C 7C E7 02 14 */ add r7, r7, r0 +/* 802ADAC0 002A9720 88 09 00 03 */ lbz r0, 3(r9) +/* 802ADAC4 002A9724 7C E7 42 14 */ add r7, r7, r8 +/* 802ADAC8 002A9728 89 09 00 04 */ lbz r8, 4(r9) +/* 802ADACC 002A972C 7C E7 02 14 */ add r7, r7, r0 +/* 802ADAD0 002A9730 88 09 00 05 */ lbz r0, 5(r9) +/* 802ADAD4 002A9734 7C E7 42 14 */ add r7, r7, r8 +/* 802ADAD8 002A9738 89 09 00 06 */ lbz r8, 6(r9) +/* 802ADADC 002A973C 7C E7 02 14 */ add r7, r7, r0 +/* 802ADAE0 002A9740 88 09 00 07 */ lbz r0, 7(r9) +/* 802ADAE4 002A9744 7C E7 42 14 */ add r7, r7, r8 +/* 802ADAE8 002A9748 7C E7 02 14 */ add r7, r7, r0 +/* 802ADAEC 002A974C 42 00 FF B8 */ bdnz lbl_802ADAA4 +lbl_802ADAF0: +/* 802ADAF0 002A9750 39 24 00 0E */ addi r9, r4, 0xe +/* 802ADAF4 002A9754 7D 1D 32 14 */ add r8, r29, r6 +/* 802ADAF8 002A9758 7C 06 48 50 */ subf r0, r6, r9 +/* 802ADAFC 002A975C 7C 09 03 A6 */ mtctr r0 +/* 802ADB00 002A9760 7C 06 48 00 */ cmpw r6, r9 +/* 802ADB04 002A9764 40 80 00 18 */ bge lbl_802ADB1C +lbl_802ADB08: +/* 802ADB08 002A9768 88 08 00 00 */ lbz r0, 0(r8) +/* 802ADB0C 002A976C 38 C6 00 01 */ addi r6, r6, 1 +/* 802ADB10 002A9770 39 08 00 01 */ addi r8, r8, 1 +/* 802ADB14 002A9774 7C E7 02 14 */ add r7, r7, r0 +/* 802ADB18 002A9778 42 00 FF F0 */ bdnz lbl_802ADB08 +lbl_802ADB1C: +/* 802ADB1C 002A977C 7D 1D 22 14 */ add r8, r29, r4 +/* 802ADB20 002A9780 38 C7 00 55 */ addi r6, r7, 0x55 +/* 802ADB24 002A9784 88 08 00 0E */ lbz r0, 0xe(r8) +/* 802ADB28 002A9788 54 C6 06 3E */ clrlwi r6, r6, 0x18 +/* 802ADB2C 002A978C 7C 06 00 40 */ cmplw r6, r0 +/* 802ADB30 002A9790 40 82 00 1C */ bne lbl_802ADB4C +/* 802ADB34 002A9794 38 C7 00 AA */ addi r6, r7, 0xaa +/* 802ADB38 002A9798 88 08 00 0F */ lbz r0, 0xf(r8) +/* 802ADB3C 002A979C 54 C6 06 3E */ clrlwi r6, r6, 0x18 +/* 802ADB40 002A97A0 7C 06 00 40 */ cmplw r6, r0 +/* 802ADB44 002A97A4 40 82 00 08 */ bne lbl_802ADB4C +/* 802ADB48 002A97A8 7C 9C 23 78 */ mr r28, r4 +lbl_802ADB4C: +/* 802ADB4C 002A97AC 38 A5 00 01 */ addi r5, r5, 1 +/* 802ADB50 002A97B0 38 84 00 10 */ addi r4, r4, 0x10 +/* 802ADB54 002A97B4 2C 05 00 02 */ cmpwi r5, 2 +/* 802ADB58 002A97B8 41 80 FE 84 */ blt lbl_802AD9DC +/* 802ADB5C 002A97BC 88 1E 08 C1 */ lbz r0, 0x8c1(r30) +/* 802ADB60 002A97C0 2C 00 00 02 */ cmpwi r0, 2 +/* 802ADB64 002A97C4 41 82 01 74 */ beq lbl_802ADCD8 +/* 802ADB68 002A97C8 40 80 02 7C */ bge lbl_802ADDE4 +/* 802ADB6C 002A97CC 2C 00 00 01 */ cmpwi r0, 1 +/* 802ADB70 002A97D0 40 80 00 08 */ bge lbl_802ADB78 +/* 802ADB74 002A97D4 48 00 02 70 */ b lbl_802ADDE4 +lbl_802ADB78: +/* 802ADB78 002A97D8 2C 1C 00 00 */ cmpwi r28, 0 +/* 802ADB7C 002A97DC 40 80 00 34 */ bge lbl_802ADBB0 +/* 802ADB80 002A97E0 38 7F 01 94 */ addi r3, r31, 0x194 +/* 802ADB84 002A97E4 4C C6 31 82 */ crclr 6 +/* 802ADB88 002A97E8 48 00 5C D9 */ bl func_802B3860 +/* 802ADB8C 002A97EC 38 60 02 00 */ li r3, 0x200 +/* 802ADB90 002A97F0 38 00 02 CC */ li r0, 0x2cc +/* 802ADB94 002A97F4 B0 7E 08 8E */ sth r3, 0x88e(r30) +/* 802ADB98 002A97F8 B0 7E 08 90 */ sth r3, 0x890(r30) +/* 802ADB9C 002A97FC B0 7E 08 92 */ sth r3, 0x892(r30) +/* 802ADBA0 002A9800 B0 1E 08 94 */ sth r0, 0x894(r30) +/* 802ADBA4 002A9804 B0 1E 08 96 */ sth r0, 0x896(r30) +/* 802ADBA8 002A9808 B0 1E 08 98 */ sth r0, 0x898(r30) +/* 802ADBAC 002A980C 48 00 02 38 */ b lbl_802ADDE4 +lbl_802ADBB0: +/* 802ADBB0 002A9810 7C FC EA 14 */ add r7, r28, r29 +/* 802ADBB4 002A9814 7C 9D E0 AE */ lbzx r4, r29, r28 +/* 802ADBB8 002A9818 88 07 00 03 */ lbz r0, 3(r7) +/* 802ADBBC 002A981C 38 7F 01 A8 */ addi r3, r31, 0x1a8 +/* 802ADBC0 002A9820 54 00 E7 BE */ rlwinm r0, r0, 0x1c, 0x1e, 0x1f +/* 802ADBC4 002A9824 50 80 15 BA */ rlwimi r0, r4, 2, 0x16, 0x1d +/* 802ADBC8 002A9828 B0 1E 08 8E */ sth r0, 0x88e(r30) +/* 802ADBCC 002A982C 7C 04 07 34 */ extsh r4, r0 +/* 802ADBD0 002A9830 88 07 00 03 */ lbz r0, 3(r7) +/* 802ADBD4 002A9834 88 A7 00 01 */ lbz r5, 1(r7) +/* 802ADBD8 002A9838 54 00 F7 BE */ rlwinm r0, r0, 0x1e, 0x1e, 0x1f +/* 802ADBDC 002A983C 50 A0 15 BA */ rlwimi r0, r5, 2, 0x16, 0x1d +/* 802ADBE0 002A9840 B0 1E 08 90 */ sth r0, 0x890(r30) +/* 802ADBE4 002A9844 7C 05 07 34 */ extsh r5, r0 +/* 802ADBE8 002A9848 88 07 00 03 */ lbz r0, 3(r7) +/* 802ADBEC 002A984C 88 C7 00 02 */ lbz r6, 2(r7) +/* 802ADBF0 002A9850 54 00 07 BE */ clrlwi r0, r0, 0x1e +/* 802ADBF4 002A9854 50 C0 15 BA */ rlwimi r0, r6, 2, 0x16, 0x1d +/* 802ADBF8 002A9858 B0 1E 08 92 */ sth r0, 0x892(r30) +/* 802ADBFC 002A985C 7C 06 07 34 */ extsh r6, r0 +/* 802ADC00 002A9860 88 07 00 07 */ lbz r0, 7(r7) +/* 802ADC04 002A9864 89 07 00 04 */ lbz r8, 4(r7) +/* 802ADC08 002A9868 54 00 E7 BE */ rlwinm r0, r0, 0x1c, 0x1e, 0x1f +/* 802ADC0C 002A986C 51 00 15 BA */ rlwimi r0, r8, 2, 0x16, 0x1d +/* 802ADC10 002A9870 B0 1E 08 94 */ sth r0, 0x894(r30) +/* 802ADC14 002A9874 88 07 00 07 */ lbz r0, 7(r7) +/* 802ADC18 002A9878 89 07 00 05 */ lbz r8, 5(r7) +/* 802ADC1C 002A987C 54 00 F7 BE */ rlwinm r0, r0, 0x1e, 0x1e, 0x1f +/* 802ADC20 002A9880 51 00 15 BA */ rlwimi r0, r8, 2, 0x16, 0x1d +/* 802ADC24 002A9884 B0 1E 08 96 */ sth r0, 0x896(r30) +/* 802ADC28 002A9888 88 07 00 07 */ lbz r0, 7(r7) +/* 802ADC2C 002A988C 89 07 00 06 */ lbz r8, 6(r7) +/* 802ADC30 002A9890 54 00 07 BE */ clrlwi r0, r0, 0x1e +/* 802ADC34 002A9894 51 00 15 BA */ rlwimi r0, r8, 2, 0x16, 0x1d +/* 802ADC38 002A9898 B0 1E 08 98 */ sth r0, 0x898(r30) +/* 802ADC3C 002A989C 88 07 00 08 */ lbz r0, 8(r7) +/* 802ADC40 002A98A0 7C 00 07 74 */ extsb r0, r0 +/* 802ADC44 002A98A4 B0 1E 08 86 */ sth r0, 0x886(r30) +/* 802ADC48 002A98A8 88 07 00 09 */ lbz r0, 9(r7) +/* 802ADC4C 002A98AC 7C 00 07 74 */ extsb r0, r0 +/* 802ADC50 002A98B0 B0 1E 08 84 */ sth r0, 0x884(r30) +/* 802ADC54 002A98B4 88 07 00 0A */ lbz r0, 0xa(r7) +/* 802ADC58 002A98B8 7C 00 07 74 */ extsb r0, r0 +/* 802ADC5C 002A98BC B0 1E 08 82 */ sth r0, 0x882(r30) +/* 802ADC60 002A98C0 88 07 00 0B */ lbz r0, 0xb(r7) +/* 802ADC64 002A98C4 7C 00 07 74 */ extsb r0, r0 +/* 802ADC68 002A98C8 B0 1E 08 8C */ sth r0, 0x88c(r30) +/* 802ADC6C 002A98CC 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802ADC70 002A98D0 7C 00 07 74 */ extsb r0, r0 +/* 802ADC74 002A98D4 B0 1E 08 8A */ sth r0, 0x88a(r30) +/* 802ADC78 002A98D8 88 07 00 0D */ lbz r0, 0xd(r7) +/* 802ADC7C 002A98DC 7C 00 07 74 */ extsb r0, r0 +/* 802ADC80 002A98E0 B0 1E 08 88 */ sth r0, 0x888(r30) +/* 802ADC84 002A98E4 4C C6 31 82 */ crclr 6 +/* 802ADC88 002A98E8 48 00 5B D9 */ bl func_802B3860 +/* 802ADC8C 002A98EC A8 9E 08 94 */ lha r4, 0x894(r30) +/* 802ADC90 002A98F0 38 7F 01 D8 */ addi r3, r31, 0x1d8 +/* 802ADC94 002A98F4 A8 BE 08 96 */ lha r5, 0x896(r30) +/* 802ADC98 002A98F8 A8 DE 08 98 */ lha r6, 0x898(r30) +/* 802ADC9C 002A98FC 4C C6 31 82 */ crclr 6 +/* 802ADCA0 002A9900 48 00 5B C1 */ bl func_802B3860 +/* 802ADCA4 002A9904 A8 9E 08 82 */ lha r4, 0x882(r30) +/* 802ADCA8 002A9908 38 7F 02 08 */ addi r3, r31, 0x208 +/* 802ADCAC 002A990C A8 BE 08 86 */ lha r5, 0x886(r30) +/* 802ADCB0 002A9910 A8 DE 08 84 */ lha r6, 0x884(r30) +/* 802ADCB4 002A9914 4C C6 31 82 */ crclr 6 +/* 802ADCB8 002A9918 48 00 5B A9 */ bl func_802B3860 +/* 802ADCBC 002A991C A8 9E 08 88 */ lha r4, 0x888(r30) +/* 802ADCC0 002A9920 38 7F 02 30 */ addi r3, r31, 0x230 +/* 802ADCC4 002A9924 A8 BE 08 8C */ lha r5, 0x88c(r30) +/* 802ADCC8 002A9928 A8 DE 08 8A */ lha r6, 0x88a(r30) +/* 802ADCCC 002A992C 4C C6 31 82 */ crclr 6 +/* 802ADCD0 002A9930 48 00 5B 91 */ bl func_802B3860 +/* 802ADCD4 002A9934 48 00 01 10 */ b lbl_802ADDE4 +lbl_802ADCD8: +/* 802ADCD8 002A9938 7C 1D E0 AE */ lbzx r0, r29, r28 +/* 802ADCDC 002A993C 7C FC EA 14 */ add r7, r28, r29 +/* 802ADCE0 002A9940 38 7F 02 58 */ addi r3, r31, 0x258 +/* 802ADCE4 002A9944 7C 05 07 74 */ extsb r5, r0 +/* 802ADCE8 002A9948 B0 BE 08 86 */ sth r5, 0x886(r30) +/* 802ADCEC 002A994C 88 07 00 01 */ lbz r0, 1(r7) +/* 802ADCF0 002A9950 7C 06 07 74 */ extsb r6, r0 +/* 802ADCF4 002A9954 B0 DE 08 84 */ sth r6, 0x884(r30) +/* 802ADCF8 002A9958 88 07 00 02 */ lbz r0, 2(r7) +/* 802ADCFC 002A995C 7C 04 07 74 */ extsb r4, r0 +/* 802ADD00 002A9960 B0 9E 08 82 */ sth r4, 0x882(r30) +/* 802ADD04 002A9964 88 07 00 03 */ lbz r0, 3(r7) +/* 802ADD08 002A9968 7C 00 07 74 */ extsb r0, r0 +/* 802ADD0C 002A996C B0 1E 08 8C */ sth r0, 0x88c(r30) +/* 802ADD10 002A9970 88 07 00 04 */ lbz r0, 4(r7) +/* 802ADD14 002A9974 7C 00 07 74 */ extsb r0, r0 +/* 802ADD18 002A9978 B0 1E 08 8A */ sth r0, 0x88a(r30) +/* 802ADD1C 002A997C 88 07 00 05 */ lbz r0, 5(r7) +/* 802ADD20 002A9980 7C 00 07 74 */ extsb r0, r0 +/* 802ADD24 002A9984 B0 1E 08 88 */ sth r0, 0x888(r30) +/* 802ADD28 002A9988 88 07 00 06 */ lbz r0, 6(r7) +/* 802ADD2C 002A998C 7C 00 07 74 */ extsb r0, r0 +/* 802ADD30 002A9990 B0 1E 08 92 */ sth r0, 0x892(r30) +/* 802ADD34 002A9994 88 07 00 07 */ lbz r0, 7(r7) +/* 802ADD38 002A9998 7C 00 07 74 */ extsb r0, r0 +/* 802ADD3C 002A999C B0 1E 08 90 */ sth r0, 0x890(r30) +/* 802ADD40 002A99A0 88 07 00 08 */ lbz r0, 8(r7) +/* 802ADD44 002A99A4 7C 00 07 74 */ extsb r0, r0 +/* 802ADD48 002A99A8 B0 1E 08 8E */ sth r0, 0x88e(r30) +/* 802ADD4C 002A99AC 88 07 00 09 */ lbz r0, 9(r7) +/* 802ADD50 002A99B0 7C 00 07 74 */ extsb r0, r0 +/* 802ADD54 002A99B4 B0 1E 08 98 */ sth r0, 0x898(r30) +/* 802ADD58 002A99B8 88 07 00 0A */ lbz r0, 0xa(r7) +/* 802ADD5C 002A99BC 7C 00 07 74 */ extsb r0, r0 +/* 802ADD60 002A99C0 B0 1E 08 96 */ sth r0, 0x896(r30) +/* 802ADD64 002A99C4 88 07 00 0B */ lbz r0, 0xb(r7) +/* 802ADD68 002A99C8 7C 00 07 74 */ extsb r0, r0 +/* 802ADD6C 002A99CC B0 1E 08 94 */ sth r0, 0x894(r30) +/* 802ADD70 002A99D0 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802ADD74 002A99D4 98 1E 08 9A */ stb r0, 0x89a(r30) +/* 802ADD78 002A99D8 88 07 00 0D */ lbz r0, 0xd(r7) +/* 802ADD7C 002A99DC 98 1E 08 9B */ stb r0, 0x89b(r30) +/* 802ADD80 002A99E0 4C C6 31 82 */ crclr 6 +/* 802ADD84 002A99E4 48 00 5A DD */ bl func_802B3860 +/* 802ADD88 002A99E8 A8 9E 08 88 */ lha r4, 0x888(r30) +/* 802ADD8C 002A99EC 38 7F 02 80 */ addi r3, r31, 0x280 +/* 802ADD90 002A99F0 A8 BE 08 8C */ lha r5, 0x88c(r30) +/* 802ADD94 002A99F4 A8 DE 08 8A */ lha r6, 0x88a(r30) +/* 802ADD98 002A99F8 4C C6 31 82 */ crclr 6 +/* 802ADD9C 002A99FC 48 00 5A C5 */ bl func_802B3860 +/* 802ADDA0 002A9A00 A8 9E 08 8E */ lha r4, 0x88e(r30) +/* 802ADDA4 002A9A04 38 7F 02 A8 */ addi r3, r31, 0x2a8 +/* 802ADDA8 002A9A08 A8 BE 08 92 */ lha r5, 0x892(r30) +/* 802ADDAC 002A9A0C A8 DE 08 90 */ lha r6, 0x890(r30) +/* 802ADDB0 002A9A10 4C C6 31 82 */ crclr 6 +/* 802ADDB4 002A9A14 48 00 5A AD */ bl func_802B3860 +/* 802ADDB8 002A9A18 A8 9E 08 94 */ lha r4, 0x894(r30) +/* 802ADDBC 002A9A1C 38 7F 02 D0 */ addi r3, r31, 0x2d0 +/* 802ADDC0 002A9A20 A8 BE 08 98 */ lha r5, 0x898(r30) +/* 802ADDC4 002A9A24 A8 DE 08 96 */ lha r6, 0x896(r30) +/* 802ADDC8 002A9A28 4C C6 31 82 */ crclr 6 +/* 802ADDCC 002A9A2C 48 00 5A 95 */ bl func_802B3860 +/* 802ADDD0 002A9A30 88 9E 08 9A */ lbz r4, 0x89a(r30) +/* 802ADDD4 002A9A34 38 7F 02 F8 */ addi r3, r31, 0x2f8 +/* 802ADDD8 002A9A38 88 BE 08 9B */ lbz r5, 0x89b(r30) +/* 802ADDDC 002A9A3C 4C C6 31 82 */ crclr 6 +/* 802ADDE0 002A9A40 48 00 5A 81 */ bl func_802B3860 +lbl_802ADDE4: +/* 802ADDE4 002A9A44 38 00 00 00 */ li r0, 0 +/* 802ADDE8 002A9A48 98 1E 09 11 */ stb r0, 0x911(r30) +lbl_802ADDEC: +/* 802ADDEC 002A9A4C 81 9E 08 9C */ lwz r12, 0x89c(r30) +/* 802ADDF0 002A9A50 2C 0C 00 00 */ cmpwi r12, 0 +/* 802ADDF4 002A9A54 41 82 00 1C */ beq lbl_802ADE10 +/* 802ADDF8 002A9A58 7F 63 DB 78 */ mr r3, r27 +/* 802ADDFC 002A9A5C 88 9E 08 C1 */ lbz r4, 0x8c1(r30) +/* 802ADE00 002A9A60 7D 89 03 A6 */ mtctr r12 +/* 802ADE04 002A9A64 4E 80 04 21 */ bctrl +/* 802ADE08 002A9A68 38 00 00 00 */ li r0, 0 +/* 802ADE0C 002A9A6C 90 1E 08 9C */ stw r0, 0x89c(r30) +lbl_802ADE10: +/* 802ADE10 002A9A70 39 61 00 20 */ addi r11, r1, 0x20 +/* 802ADE14 002A9A74 4B F1 93 5D */ bl _restgpr_26 +/* 802ADE18 002A9A78 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802ADE1C 002A9A7C 7C 08 03 A6 */ mtlr r0 +/* 802ADE20 002A9A80 38 21 00 20 */ addi r1, r1, 0x20 +/* 802ADE24 002A9A84 4E 80 00 20 */ blr + +.global getExtType +getExtType: +/* 802ADE28 002A9A88 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802ADE2C 002A9A8C 7C 08 02 A6 */ mflr r0 +/* 802ADE30 002A9A90 90 01 00 24 */ stw r0, 0x24(r1) +/* 802ADE34 002A9A94 39 61 00 20 */ addi r11, r1, 0x20 +/* 802ADE38 002A9A98 4B F1 92 F1 */ bl _savegpr_27 +/* 802ADE3C 002A9A9C 3C A0 80 53 */ lis r5, lbl_80536D70@ha +/* 802ADE40 002A9AA0 54 60 10 3A */ slwi r0, r3, 2 +/* 802ADE44 002A9AA4 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l +/* 802ADE48 002A9AA8 2C 04 00 00 */ cmpwi r4, 0 +/* 802ADE4C 002A9AAC 7F E5 00 2E */ lwzx r31, r5, r0 +/* 802ADE50 002A9AB0 7C 7D 1B 78 */ mr r29, r3 +/* 802ADE54 002A9AB4 80 9F 09 74 */ lwz r4, 0x974(r31) +/* 802ADE58 002A9AB8 3B DF 05 EC */ addi r30, r31, 0x5ec +/* 802ADE5C 002A9ABC 40 82 02 14 */ bne lbl_802AE070 +/* 802ADE60 002A9AC0 88 04 00 00 */ lbz r0, 0(r4) +/* 802ADE64 002A9AC4 3B 6D AE 74 */ addi r27, r13, lbl_80640134-_SDA_BASE_ +/* 802ADE68 002A9AC8 7C 1B 19 AE */ stbx r0, r27, r3 +/* 802ADE6C 002A9ACC 88 04 00 01 */ lbz r0, 1(r4) +/* 802ADE70 002A9AD0 2C 00 00 01 */ cmpwi r0, 1 +/* 802ADE74 002A9AD4 41 82 00 28 */ beq lbl_802ADE9C +/* 802ADE78 002A9AD8 40 80 00 38 */ bge lbl_802ADEB0 +/* 802ADE7C 002A9ADC 2C 00 00 00 */ cmpwi r0, 0 +/* 802ADE80 002A9AE0 40 80 00 08 */ bge lbl_802ADE88 +/* 802ADE84 002A9AE4 48 00 00 2C */ b lbl_802ADEB0 +lbl_802ADE88: +/* 802ADE88 002A9AE8 38 8D AE 78 */ addi r4, r13, lbl_80640138-_SDA_BASE_ +/* 802ADE8C 002A9AEC 38 00 00 01 */ li r0, 1 +/* 802ADE90 002A9AF0 7C 04 19 AE */ stbx r0, r4, r3 +/* 802ADE94 002A9AF4 7F 84 1A 14 */ add r28, r4, r3 +/* 802ADE98 002A9AF8 48 00 00 28 */ b lbl_802ADEC0 +lbl_802ADE9C: +/* 802ADE9C 002A9AFC 38 8D AE 78 */ addi r4, r13, lbl_80640138-_SDA_BASE_ +/* 802ADEA0 002A9B00 38 00 00 02 */ li r0, 2 +/* 802ADEA4 002A9B04 7C 04 19 AE */ stbx r0, r4, r3 +/* 802ADEA8 002A9B08 7F 84 1A 14 */ add r28, r4, r3 +/* 802ADEAC 002A9B0C 48 00 00 14 */ b lbl_802ADEC0 +lbl_802ADEB0: +/* 802ADEB0 002A9B10 38 8D AE 78 */ addi r4, r13, lbl_80640138-_SDA_BASE_ +/* 802ADEB4 002A9B14 38 00 00 FB */ li r0, 0xfb +/* 802ADEB8 002A9B18 7C 04 19 AE */ stbx r0, r4, r3 +/* 802ADEBC 002A9B1C 7F 84 1A 14 */ add r28, r4, r3 +lbl_802ADEC0: +/* 802ADEC0 002A9B20 88 1C 00 00 */ lbz r0, 0(r28) +/* 802ADEC4 002A9B24 28 00 00 02 */ cmplwi r0, 2 +/* 802ADEC8 002A9B28 40 82 00 20 */ bne lbl_802ADEE8 +/* 802ADECC 002A9B2C 7C 1B 18 AE */ lbzx r0, r27, r3 +/* 802ADED0 002A9B30 28 00 00 01 */ cmplwi r0, 1 +/* 802ADED4 002A9B34 41 80 00 0C */ blt lbl_802ADEE0 +/* 802ADED8 002A9B38 28 00 00 03 */ cmplwi r0, 3 +/* 802ADEDC 002A9B3C 40 81 00 0C */ ble lbl_802ADEE8 +lbl_802ADEE0: +/* 802ADEE0 002A9B40 38 00 00 FC */ li r0, 0xfc +/* 802ADEE4 002A9B44 98 1C 00 00 */ stb r0, 0(r28) +lbl_802ADEE8: +/* 802ADEE8 002A9B48 3C 60 80 44 */ lis r3, lbl_8043C5B0@ha +/* 802ADEEC 002A9B4C 88 9C 00 00 */ lbz r4, 0(r28) +/* 802ADEF0 002A9B50 38 63 C5 B0 */ addi r3, r3, lbl_8043C5B0@l +/* 802ADEF4 002A9B54 4C C6 31 82 */ crclr 6 +/* 802ADEF8 002A9B58 48 00 59 69 */ bl func_802B3860 +/* 802ADEFC 002A9B5C 3C 60 80 44 */ lis r3, lbl_8043C5BC@ha +/* 802ADF00 002A9B60 7C 9B E8 AE */ lbzx r4, r27, r29 +/* 802ADF04 002A9B64 38 63 C5 BC */ addi r3, r3, lbl_8043C5BC@l +/* 802ADF08 002A9B68 4C C6 31 82 */ crclr 6 +/* 802ADF0C 002A9B6C 48 00 59 55 */ bl func_802B3860 +/* 802ADF10 002A9B70 88 7C 00 00 */ lbz r3, 0(r28) +/* 802ADF14 002A9B74 38 03 00 05 */ addi r0, r3, 5 +/* 802ADF18 002A9B78 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802ADF1C 002A9B7C 28 00 00 01 */ cmplwi r0, 1 +/* 802ADF20 002A9B80 41 81 00 30 */ bgt lbl_802ADF50 +/* 802ADF24 002A9B84 98 7F 08 C1 */ stb r3, 0x8c1(r31) +/* 802ADF28 002A9B88 7C 1B E8 AE */ lbzx r0, r27, r29 +/* 802ADF2C 002A9B8C 98 1F 08 C2 */ stb r0, 0x8c2(r31) +/* 802ADF30 002A9B90 81 9F 08 A0 */ lwz r12, 0x8a0(r31) +/* 802ADF34 002A9B94 2C 0C 00 00 */ cmpwi r12, 0 +/* 802ADF38 002A9B98 41 82 01 48 */ beq lbl_802AE080 +/* 802ADF3C 002A9B9C 7F A3 EB 78 */ mr r3, r29 +/* 802ADF40 002A9BA0 88 9F 08 C1 */ lbz r4, 0x8c1(r31) +/* 802ADF44 002A9BA4 7D 89 03 A6 */ mtctr r12 +/* 802ADF48 002A9BA8 4E 80 04 21 */ bctrl +/* 802ADF4C 002A9BAC 48 00 01 34 */ b lbl_802AE080 +lbl_802ADF50: +/* 802ADF50 002A9BB0 38 03 00 FF */ addi r0, r3, 0xff +/* 802ADF54 002A9BB4 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802ADF58 002A9BB8 28 00 00 01 */ cmplwi r0, 1 +/* 802ADF5C 002A9BBC 41 81 00 8C */ bgt lbl_802ADFE8 +/* 802ADF60 002A9BC0 3F 80 04 A4 */ lis r28, 0x04A400F0@ha +/* 802ADF64 002A9BC4 3F 60 80 2B */ lis r27, abortInitExtension@ha +/* 802ADF68 002A9BC8 7F C3 F3 78 */ mr r3, r30 +/* 802ADF6C 002A9BCC 38 80 00 AA */ li r4, 0xaa +/* 802ADF70 002A9BD0 38 BC 00 F0 */ addi r5, r28, 0x04A400F0@l +/* 802ADF74 002A9BD4 38 DB D1 BC */ addi r6, r27, abortInitExtension@l +/* 802ADF78 002A9BD8 4B FF EC 45 */ bl WPADiSendWriteDataCmd +/* 802ADF7C 002A9BDC 7F A3 EB 78 */ mr r3, r29 +/* 802ADF80 002A9BE0 48 00 3C F1 */ bl func_802B1C70 +/* 802ADF84 002A9BE4 7F C3 F3 78 */ mr r3, r30 +/* 802ADF88 002A9BE8 38 9F 09 14 */ addi r4, r31, 0x914 +/* 802ADF8C 002A9BEC 38 DC 00 40 */ addi r6, r28, 0x40 +/* 802ADF90 002A9BF0 38 FB D1 BC */ addi r7, r27, -11844 +/* 802ADF94 002A9BF4 38 A0 00 06 */ li r5, 6 +/* 802ADF98 002A9BF8 4B FF ED D9 */ bl WPADiSendWriteData +/* 802ADF9C 002A9BFC 7F C3 F3 78 */ mr r3, r30 +/* 802ADFA0 002A9C00 38 9F 09 1A */ addi r4, r31, 0x91a +/* 802ADFA4 002A9C04 38 DC 00 46 */ addi r6, r28, 0x46 +/* 802ADFA8 002A9C08 38 FB D1 BC */ addi r7, r27, -11844 +/* 802ADFAC 002A9C0C 38 A0 00 06 */ li r5, 6 +/* 802ADFB0 002A9C10 4B FF ED C1 */ bl WPADiSendWriteData +/* 802ADFB4 002A9C14 7F C3 F3 78 */ mr r3, r30 +/* 802ADFB8 002A9C18 38 9F 09 20 */ addi r4, r31, 0x920 +/* 802ADFBC 002A9C1C 38 DC 00 4C */ addi r6, r28, 0x4c +/* 802ADFC0 002A9C20 38 FB D1 BC */ addi r7, r27, -11844 +/* 802ADFC4 002A9C24 38 A0 00 04 */ li r5, 4 +/* 802ADFC8 002A9C28 4B FF ED A9 */ bl WPADiSendWriteData +/* 802ADFCC 002A9C2C 80 FF 08 A0 */ lwz r7, 0x8a0(r31) +/* 802ADFD0 002A9C30 7F C3 F3 78 */ mr r3, r30 +/* 802ADFD4 002A9C34 38 9F 09 34 */ addi r4, r31, 0x934 +/* 802ADFD8 002A9C38 38 DC 00 20 */ addi r6, r28, 0x20 +/* 802ADFDC 002A9C3C 38 A0 00 20 */ li r5, 0x20 +/* 802ADFE0 002A9C40 4B FF EF 49 */ bl WPADiSendReadData +/* 802ADFE4 002A9C44 48 00 00 9C */ b lbl_802AE080 +lbl_802ADFE8: +/* 802ADFE8 002A9C48 3F 60 04 A4 */ lis r27, 0x04A400F0@ha +/* 802ADFEC 002A9C4C 3F 80 80 2B */ lis r28, abortInitExtension@ha +/* 802ADFF0 002A9C50 7F C3 F3 78 */ mr r3, r30 +/* 802ADFF4 002A9C54 38 80 00 AA */ li r4, 0xaa +/* 802ADFF8 002A9C58 38 BB 00 F0 */ addi r5, r27, 0x04A400F0@l +/* 802ADFFC 002A9C5C 38 DC D1 BC */ addi r6, r28, abortInitExtension@l +/* 802AE000 002A9C60 4B FF EB BD */ bl WPADiSendWriteDataCmd +/* 802AE004 002A9C64 7F A3 EB 78 */ mr r3, r29 +/* 802AE008 002A9C68 48 00 43 59 */ bl func_802B2360 +/* 802AE00C 002A9C6C 7F C3 F3 78 */ mr r3, r30 +/* 802AE010 002A9C70 38 9F 09 14 */ addi r4, r31, 0x914 +/* 802AE014 002A9C74 38 DB 00 40 */ addi r6, r27, 0x40 +/* 802AE018 002A9C78 38 FC D1 BC */ addi r7, r28, -11844 +/* 802AE01C 002A9C7C 38 A0 00 06 */ li r5, 6 +/* 802AE020 002A9C80 4B FF ED 51 */ bl WPADiSendWriteData +/* 802AE024 002A9C84 7F C3 F3 78 */ mr r3, r30 +/* 802AE028 002A9C88 38 9F 09 1A */ addi r4, r31, 0x91a +/* 802AE02C 002A9C8C 38 DB 00 46 */ addi r6, r27, 0x46 +/* 802AE030 002A9C90 38 FC D1 BC */ addi r7, r28, -11844 +/* 802AE034 002A9C94 38 A0 00 06 */ li r5, 6 +/* 802AE038 002A9C98 4B FF ED 39 */ bl WPADiSendWriteData +/* 802AE03C 002A9C9C 7F C3 F3 78 */ mr r3, r30 +/* 802AE040 002A9CA0 38 9F 09 20 */ addi r4, r31, 0x920 +/* 802AE044 002A9CA4 38 DB 00 4C */ addi r6, r27, 0x4c +/* 802AE048 002A9CA8 38 FC D1 BC */ addi r7, r28, -11844 +/* 802AE04C 002A9CAC 38 A0 00 04 */ li r5, 4 +/* 802AE050 002A9CB0 4B FF ED 21 */ bl WPADiSendWriteData +/* 802AE054 002A9CB4 80 FF 08 A0 */ lwz r7, 0x8a0(r31) +/* 802AE058 002A9CB8 7F C3 F3 78 */ mr r3, r30 +/* 802AE05C 002A9CBC 38 9F 09 34 */ addi r4, r31, 0x934 +/* 802AE060 002A9CC0 38 DB 00 20 */ addi r6, r27, 0x20 +/* 802AE064 002A9CC4 38 A0 00 20 */ li r5, 0x20 +/* 802AE068 002A9CC8 4B FF EE C1 */ bl WPADiSendReadData +/* 802AE06C 002A9CCC 48 00 00 14 */ b lbl_802AE080 +lbl_802AE070: +/* 802AE070 002A9CD0 38 60 00 FC */ li r3, 0xfc +/* 802AE074 002A9CD4 38 00 00 00 */ li r0, 0 +/* 802AE078 002A9CD8 98 7F 08 C1 */ stb r3, 0x8c1(r31) +/* 802AE07C 002A9CDC 98 1F 08 C2 */ stb r0, 0x8c2(r31) +lbl_802AE080: +/* 802AE080 002A9CE0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802AE084 002A9CE4 4B F1 90 F1 */ bl _restgpr_27 +/* 802AE088 002A9CE8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802AE08C 002A9CEC 7C 08 03 A6 */ mtlr r0 +/* 802AE090 002A9CF0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802AE094 002A9CF4 4E 80 00 20 */ blr + +.global getGameInfo +getGameInfo: +/* 802AE098 002A9CF8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802AE09C 002A9CFC 7C 08 02 A6 */ mflr r0 +/* 802AE0A0 002A9D00 3C C0 80 53 */ lis r6, lbl_80536D70@ha +/* 802AE0A4 002A9D04 2C 04 00 00 */ cmpwi r4, 0 +/* 802AE0A8 002A9D08 90 01 00 14 */ stw r0, 0x14(r1) +/* 802AE0AC 002A9D0C 54 60 10 3A */ slwi r0, r3, 2 +/* 802AE0B0 002A9D10 38 C6 6D 70 */ addi r6, r6, lbl_80536D70@l +/* 802AE0B4 002A9D14 39 20 00 00 */ li r9, 0 +/* 802AE0B8 002A9D18 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802AE0BC 002A9D1C 93 C1 00 08 */ stw r30, 8(r1) +/* 802AE0C0 002A9D20 7C BE 2B 78 */ mr r30, r5 +/* 802AE0C4 002A9D24 7F E6 00 2E */ lwzx r31, r6, r0 +/* 802AE0C8 002A9D28 80 9F 09 74 */ lwz r4, 0x974(r31) +/* 802AE0CC 002A9D2C 40 82 01 44 */ bne lbl_802AE210 +/* 802AE0D0 002A9D30 38 00 00 02 */ li r0, 2 +/* 802AE0D4 002A9D34 39 00 00 00 */ li r8, 0 +/* 802AE0D8 002A9D38 7C 09 03 A6 */ mtctr r0 +lbl_802AE0DC: +/* 802AE0DC 002A9D3C 7C E4 42 14 */ add r7, r4, r8 +/* 802AE0E0 002A9D40 7C C4 40 AE */ lbzx r6, r4, r8 +/* 802AE0E4 002A9D44 88 67 00 01 */ lbz r3, 1(r7) +/* 802AE0E8 002A9D48 39 08 00 07 */ addi r8, r8, 7 +/* 802AE0EC 002A9D4C 7D 29 32 14 */ add r9, r9, r6 +/* 802AE0F0 002A9D50 88 07 00 02 */ lbz r0, 2(r7) +/* 802AE0F4 002A9D54 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE0F8 002A9D58 88 67 00 03 */ lbz r3, 3(r7) +/* 802AE0FC 002A9D5C 7D 29 02 14 */ add r9, r9, r0 +/* 802AE100 002A9D60 88 07 00 04 */ lbz r0, 4(r7) +/* 802AE104 002A9D64 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE108 002A9D68 88 67 00 05 */ lbz r3, 5(r7) +/* 802AE10C 002A9D6C 7D 29 02 14 */ add r9, r9, r0 +/* 802AE110 002A9D70 88 07 00 06 */ lbz r0, 6(r7) +/* 802AE114 002A9D74 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE118 002A9D78 7C E4 42 14 */ add r7, r4, r8 +/* 802AE11C 002A9D7C 7C C4 40 AE */ lbzx r6, r4, r8 +/* 802AE120 002A9D80 7D 29 02 14 */ add r9, r9, r0 +/* 802AE124 002A9D84 88 67 00 01 */ lbz r3, 1(r7) +/* 802AE128 002A9D88 39 08 00 07 */ addi r8, r8, 7 +/* 802AE12C 002A9D8C 7D 29 32 14 */ add r9, r9, r6 +/* 802AE130 002A9D90 88 07 00 02 */ lbz r0, 2(r7) +/* 802AE134 002A9D94 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE138 002A9D98 88 67 00 03 */ lbz r3, 3(r7) +/* 802AE13C 002A9D9C 7D 29 02 14 */ add r9, r9, r0 +/* 802AE140 002A9DA0 88 07 00 04 */ lbz r0, 4(r7) +/* 802AE144 002A9DA4 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE148 002A9DA8 88 67 00 05 */ lbz r3, 5(r7) +/* 802AE14C 002A9DAC 7D 29 02 14 */ add r9, r9, r0 +/* 802AE150 002A9DB0 88 07 00 06 */ lbz r0, 6(r7) +/* 802AE154 002A9DB4 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE158 002A9DB8 7C E4 42 14 */ add r7, r4, r8 +/* 802AE15C 002A9DBC 7C C4 40 AE */ lbzx r6, r4, r8 +/* 802AE160 002A9DC0 7D 29 02 14 */ add r9, r9, r0 +/* 802AE164 002A9DC4 88 67 00 01 */ lbz r3, 1(r7) +/* 802AE168 002A9DC8 39 08 00 07 */ addi r8, r8, 7 +/* 802AE16C 002A9DCC 7D 29 32 14 */ add r9, r9, r6 +/* 802AE170 002A9DD0 88 07 00 02 */ lbz r0, 2(r7) +/* 802AE174 002A9DD4 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE178 002A9DD8 88 67 00 03 */ lbz r3, 3(r7) +/* 802AE17C 002A9DDC 7D 29 02 14 */ add r9, r9, r0 +/* 802AE180 002A9DE0 88 07 00 04 */ lbz r0, 4(r7) +/* 802AE184 002A9DE4 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE188 002A9DE8 88 67 00 05 */ lbz r3, 5(r7) +/* 802AE18C 002A9DEC 7D 29 02 14 */ add r9, r9, r0 +/* 802AE190 002A9DF0 88 07 00 06 */ lbz r0, 6(r7) +/* 802AE194 002A9DF4 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE198 002A9DF8 7D 29 02 14 */ add r9, r9, r0 +/* 802AE19C 002A9DFC 42 00 FF 40 */ bdnz lbl_802AE0DC +/* 802AE1A0 002A9E00 7C C8 22 14 */ add r6, r8, r4 +/* 802AE1A4 002A9E04 7C 04 40 AE */ lbzx r0, r4, r8 +/* 802AE1A8 002A9E08 88 66 00 01 */ lbz r3, 1(r6) +/* 802AE1AC 002A9E0C 7D 29 02 14 */ add r9, r9, r0 +/* 802AE1B0 002A9E10 88 06 00 02 */ lbz r0, 2(r6) +/* 802AE1B4 002A9E14 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE1B8 002A9E18 88 66 00 03 */ lbz r3, 3(r6) +/* 802AE1BC 002A9E1C 7D 29 02 14 */ add r9, r9, r0 +/* 802AE1C0 002A9E20 88 06 00 04 */ lbz r0, 4(r6) +/* 802AE1C4 002A9E24 7D 29 1A 14 */ add r9, r9, r3 +/* 802AE1C8 002A9E28 88 64 00 2F */ lbz r3, 0x2f(r4) +/* 802AE1CC 002A9E2C 7D 29 02 14 */ add r9, r9, r0 +/* 802AE1D0 002A9E30 38 09 00 55 */ addi r0, r9, 0x55 +/* 802AE1D4 002A9E34 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802AE1D8 002A9E38 7C 03 00 40 */ cmplw r3, r0 +/* 802AE1DC 002A9E3C 40 82 00 24 */ bne lbl_802AE200 +/* 802AE1E0 002A9E40 7F E3 FB 78 */ mr r3, r31 +/* 802AE1E4 002A9E44 38 A0 00 38 */ li r5, 0x38 +/* 802AE1E8 002A9E48 4B D5 5E 19 */ bl memcpy +/* 802AE1EC 002A9E4C 57 C0 15 BA */ rlwinm r0, r30, 2, 0x16, 0x1d +/* 802AE1F0 002A9E50 38 80 00 00 */ li r4, 0 +/* 802AE1F4 002A9E54 7C 7F 02 14 */ add r3, r31, r0 +/* 802AE1F8 002A9E58 90 83 00 38 */ stw r4, 0x38(r3) +/* 802AE1FC 002A9E5C 48 00 00 14 */ b lbl_802AE210 +lbl_802AE200: +/* 802AE200 002A9E60 54 A0 15 BA */ rlwinm r0, r5, 2, 0x16, 0x1d +/* 802AE204 002A9E64 38 80 FF FC */ li r4, -4 +/* 802AE208 002A9E68 7C 7F 02 14 */ add r3, r31, r0 +/* 802AE20C 002A9E6C 90 83 00 38 */ stw r4, 0x38(r3) +lbl_802AE210: +/* 802AE210 002A9E70 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802AE214 002A9E74 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802AE218 002A9E78 83 C1 00 08 */ lwz r30, 8(r1) +/* 802AE21C 002A9E7C 7C 08 03 A6 */ mtlr r0 +/* 802AE220 002A9E80 38 21 00 10 */ addi r1, r1, 0x10 +/* 802AE224 002A9E84 4E 80 00 20 */ blr + +.global WPADiHIDParser +WPADiHIDParser: +/* 802AE228 002A9E88 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802AE22C 002A9E8C 7C 08 02 A6 */ mflr r0 +/* 802AE230 002A9E90 90 01 00 24 */ stw r0, 0x24(r1) +/* 802AE234 002A9E94 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802AE238 002A9E98 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802AE23C 002A9E9C 3B C0 00 00 */ li r30, 0 +/* 802AE240 002A9EA0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802AE244 002A9EA4 7C 9D 23 78 */ mr r29, r4 +/* 802AE248 002A9EA8 93 81 00 10 */ stw r28, 0x10(r1) +/* 802AE24C 002A9EAC 7C 7C 1B 78 */ mr r28, r3 +/* 802AE250 002A9EB0 88 04 00 00 */ lbz r0, 0(r4) +/* 802AE254 002A9EB4 28 00 00 20 */ cmplwi r0, 0x20 +/* 802AE258 002A9EB8 41 80 00 58 */ blt lbl_802AE2B0 +/* 802AE25C 002A9EBC 28 00 00 3F */ cmplwi r0, 0x3f +/* 802AE260 002A9EC0 41 81 00 50 */ bgt lbl_802AE2B0 +/* 802AE264 002A9EC4 4B FC 04 F9 */ bl OSDisableInterrupts +/* 802AE268 002A9EC8 88 9D 00 00 */ lbz r4, 0(r29) +/* 802AE26C 002A9ECC 3C A0 80 44 */ lis r5, lbl_8043C2A0@ha +/* 802AE270 002A9ED0 7C 7F 1B 78 */ mr r31, r3 +/* 802AE274 002A9ED4 7F 83 E3 78 */ mr r3, r28 +/* 802AE278 002A9ED8 38 04 FF E0 */ addi r0, r4, -32 +/* 802AE27C 002A9EDC 38 A5 C2 A0 */ addi r5, r5, lbl_8043C2A0@l +/* 802AE280 002A9EE0 54 00 10 3A */ slwi r0, r0, 2 +/* 802AE284 002A9EE4 7F A4 EB 78 */ mr r4, r29 +/* 802AE288 002A9EE8 7D 85 00 2E */ lwzx r12, r5, r0 +/* 802AE28C 002A9EEC 7D 89 03 A6 */ mtctr r12 +/* 802AE290 002A9EF0 4E 80 04 21 */ bctrl +/* 802AE294 002A9EF4 7F E3 FB 78 */ mr r3, r31 +/* 802AE298 002A9EF8 4B FC 04 ED */ bl OSRestoreInterrupts +/* 802AE29C 002A9EFC 7F 83 E3 78 */ mr r3, r28 +/* 802AE2A0 002A9F00 4B FF B6 ED */ bl WPADiExcludeButton +/* 802AE2A4 002A9F04 7F 83 E3 78 */ mr r3, r28 +/* 802AE2A8 002A9F08 4B FF B7 A9 */ bl WPADiCopyOut +/* 802AE2AC 002A9F0C 48 00 00 08 */ b lbl_802AE2B4 +lbl_802AE2B0: +/* 802AE2B0 002A9F10 3B C0 FF FF */ li r30, -1 +lbl_802AE2B4: +/* 802AE2B4 002A9F14 7F C3 F3 78 */ mr r3, r30 +/* 802AE2B8 002A9F18 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802AE2BC 002A9F1C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802AE2C0 002A9F20 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802AE2C4 002A9F24 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802AE2C8 002A9F28 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802AE2CC 002A9F2C 7C 08 03 A6 */ mtlr r0 +/* 802AE2D0 002A9F30 38 21 00 20 */ addi r1, r1, 0x20 +/* 802AE2D4 002A9F34 4E 80 00 20 */ blr + +.global __a1_20_status_report +__a1_20_status_report: +/* 802AE2D8 002A9F38 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802AE2DC 002A9F3C 7C 08 02 A6 */ mflr r0 +/* 802AE2E0 002A9F40 90 01 00 34 */ stw r0, 0x34(r1) +/* 802AE2E4 002A9F44 39 61 00 30 */ addi r11, r1, 0x30 +/* 802AE2E8 002A9F48 4B F1 8E 31 */ bl _savegpr_23 +/* 802AE2EC 002A9F4C 3F E0 80 44 */ lis r31, lbl_8043C2A0@ha +/* 802AE2F0 002A9F50 7C 79 1B 78 */ mr r25, r3 +/* 802AE2F4 002A9F54 3B FF C2 A0 */ addi r31, r31, lbl_8043C2A0@l +/* 802AE2F8 002A9F58 7C 9A 23 78 */ mr r26, r4 +/* 802AE2FC 002A9F5C 38 7F 03 28 */ addi r3, r31, 0x328 +/* 802AE300 002A9F60 4C C6 31 82 */ crclr 6 +/* 802AE304 002A9F64 48 00 55 5D */ bl func_802B3860 +/* 802AE308 002A9F68 4B FC 04 55 */ bl OSDisableInterrupts +/* 802AE30C 002A9F6C 3C 80 80 53 */ lis r4, lbl_80536D70@ha +/* 802AE310 002A9F70 57 20 15 BA */ rlwinm r0, r25, 2, 0x16, 0x1d +/* 802AE314 002A9F74 38 84 6D 70 */ addi r4, r4, lbl_80536D70@l +/* 802AE318 002A9F78 7C 7D 1B 78 */ mr r29, r3 +/* 802AE31C 002A9F7C 7F C4 00 2E */ lwzx r30, r4, r0 +/* 802AE320 002A9F80 80 1E 08 DC */ lwz r0, 0x8dc(r30) +/* 802AE324 002A9F84 2C 00 00 00 */ cmpwi r0, 0 +/* 802AE328 002A9F88 40 82 00 0C */ bne lbl_802AE334 +/* 802AE32C 002A9F8C 4B FC 04 59 */ bl OSRestoreInterrupts +/* 802AE330 002A9F90 48 00 03 A0 */ b lbl_802AE6D0 +lbl_802AE334: +/* 802AE334 002A9F94 88 9E 08 C8 */ lbz r4, 0x8c8(r30) +/* 802AE338 002A9F98 38 00 00 02 */ li r0, 2 +/* 802AE33C 002A9F9C 38 A0 00 00 */ li r5, 0 +/* 802AE340 002A9FA0 38 60 00 00 */ li r3, 0 +/* 802AE344 002A9FA4 1C 84 00 60 */ mulli r4, r4, 0x60 +/* 802AE348 002A9FA8 7C 9E 22 14 */ add r4, r30, r4 +/* 802AE34C 002A9FAC 3B 64 00 A0 */ addi r27, r4, 0xa0 +/* 802AE350 002A9FB0 7C 09 03 A6 */ mtctr r0 +lbl_802AE354: +/* 802AE354 002A9FB4 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE358 002A9FB8 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE35C 002A9FBC 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE360 002A9FC0 98 64 00 01 */ stb r3, 1(r4) +/* 802AE364 002A9FC4 98 64 00 02 */ stb r3, 2(r4) +/* 802AE368 002A9FC8 98 64 00 03 */ stb r3, 3(r4) +/* 802AE36C 002A9FCC 98 64 00 04 */ stb r3, 4(r4) +/* 802AE370 002A9FD0 98 64 00 05 */ stb r3, 5(r4) +/* 802AE374 002A9FD4 98 64 00 06 */ stb r3, 6(r4) +/* 802AE378 002A9FD8 98 64 00 07 */ stb r3, 7(r4) +/* 802AE37C 002A9FDC 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE380 002A9FE0 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE384 002A9FE4 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE388 002A9FE8 98 64 00 01 */ stb r3, 1(r4) +/* 802AE38C 002A9FEC 98 64 00 02 */ stb r3, 2(r4) +/* 802AE390 002A9FF0 98 64 00 03 */ stb r3, 3(r4) +/* 802AE394 002A9FF4 98 64 00 04 */ stb r3, 4(r4) +/* 802AE398 002A9FF8 98 64 00 05 */ stb r3, 5(r4) +/* 802AE39C 002A9FFC 98 64 00 06 */ stb r3, 6(r4) +/* 802AE3A0 002AA000 98 64 00 07 */ stb r3, 7(r4) +/* 802AE3A4 002AA004 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE3A8 002AA008 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE3AC 002AA00C 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE3B0 002AA010 98 64 00 01 */ stb r3, 1(r4) +/* 802AE3B4 002AA014 98 64 00 02 */ stb r3, 2(r4) +/* 802AE3B8 002AA018 98 64 00 03 */ stb r3, 3(r4) +/* 802AE3BC 002AA01C 98 64 00 04 */ stb r3, 4(r4) +/* 802AE3C0 002AA020 98 64 00 05 */ stb r3, 5(r4) +/* 802AE3C4 002AA024 98 64 00 06 */ stb r3, 6(r4) +/* 802AE3C8 002AA028 98 64 00 07 */ stb r3, 7(r4) +/* 802AE3CC 002AA02C 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE3D0 002AA030 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE3D4 002AA034 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE3D8 002AA038 98 64 00 01 */ stb r3, 1(r4) +/* 802AE3DC 002AA03C 98 64 00 02 */ stb r3, 2(r4) +/* 802AE3E0 002AA040 98 64 00 03 */ stb r3, 3(r4) +/* 802AE3E4 002AA044 98 64 00 04 */ stb r3, 4(r4) +/* 802AE3E8 002AA048 98 64 00 05 */ stb r3, 5(r4) +/* 802AE3EC 002AA04C 98 64 00 06 */ stb r3, 6(r4) +/* 802AE3F0 002AA050 98 64 00 07 */ stb r3, 7(r4) +/* 802AE3F4 002AA054 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE3F8 002AA058 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE3FC 002AA05C 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE400 002AA060 98 64 00 01 */ stb r3, 1(r4) +/* 802AE404 002AA064 98 64 00 02 */ stb r3, 2(r4) +/* 802AE408 002AA068 98 64 00 03 */ stb r3, 3(r4) +/* 802AE40C 002AA06C 98 64 00 04 */ stb r3, 4(r4) +/* 802AE410 002AA070 98 64 00 05 */ stb r3, 5(r4) +/* 802AE414 002AA074 98 64 00 06 */ stb r3, 6(r4) +/* 802AE418 002AA078 98 64 00 07 */ stb r3, 7(r4) +/* 802AE41C 002AA07C 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE420 002AA080 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE424 002AA084 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE428 002AA088 98 64 00 01 */ stb r3, 1(r4) +/* 802AE42C 002AA08C 98 64 00 02 */ stb r3, 2(r4) +/* 802AE430 002AA090 98 64 00 03 */ stb r3, 3(r4) +/* 802AE434 002AA094 98 64 00 04 */ stb r3, 4(r4) +/* 802AE438 002AA098 98 64 00 05 */ stb r3, 5(r4) +/* 802AE43C 002AA09C 98 64 00 06 */ stb r3, 6(r4) +/* 802AE440 002AA0A0 98 64 00 07 */ stb r3, 7(r4) +/* 802AE444 002AA0A4 42 00 FF 10 */ bdnz lbl_802AE354 +/* 802AE448 002AA0A8 88 9A 00 02 */ lbz r4, 2(r26) +/* 802AE44C 002AA0AC 38 60 00 00 */ li r3, 0 +/* 802AE450 002AA0B0 88 1A 00 01 */ lbz r0, 1(r26) +/* 802AE454 002AA0B4 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 +/* 802AE458 002AA0B8 83 9E 08 40 */ lwz r28, 0x840(r30) +/* 802AE45C 002AA0BC 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802AE460 002AA0C0 B0 1B 00 00 */ sth r0, 0(r27) +/* 802AE464 002AA0C4 88 1A 00 01 */ lbz r0, 1(r26) +/* 802AE468 002AA0C8 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18 +/* 802AE46C 002AA0CC 7C 00 3E 70 */ srawi r0, r0, 7 +/* 802AE470 002AA0D0 90 1E 08 48 */ stw r0, 0x848(r30) +/* 802AE474 002AA0D4 88 1A 00 03 */ lbz r0, 3(r26) +/* 802AE478 002AA0D8 54 00 EF FE */ rlwinm r0, r0, 0x1d, 0x1f, 0x1f +/* 802AE47C 002AA0DC 90 1E 08 38 */ stw r0, 0x838(r30) +/* 802AE480 002AA0E0 88 1A 00 03 */ lbz r0, 3(r26) +/* 802AE484 002AA0E4 54 00 F7 FE */ rlwinm r0, r0, 0x1e, 0x1f, 0x1f +/* 802AE488 002AA0E8 90 1E 08 3C */ stw r0, 0x83c(r30) +/* 802AE48C 002AA0EC 88 1A 00 03 */ lbz r0, 3(r26) +/* 802AE490 002AA0F0 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f +/* 802AE494 002AA0F4 90 1E 08 40 */ stw r0, 0x840(r30) +/* 802AE498 002AA0F8 88 1A 00 03 */ lbz r0, 3(r26) +/* 802AE49C 002AA0FC 54 00 07 FE */ clrlwi r0, r0, 0x1f +/* 802AE4A0 002AA100 90 1E 08 44 */ stw r0, 0x844(r30) +/* 802AE4A4 002AA104 88 1A 00 03 */ lbz r0, 3(r26) +/* 802AE4A8 002AA108 54 00 E7 3E */ rlwinm r0, r0, 0x1c, 0x1c, 0x1f +/* 802AE4AC 002AA10C 98 1E 08 4D */ stb r0, 0x84d(r30) +/* 802AE4B0 002AA110 98 7E 08 4E */ stb r3, 0x84e(r30) +/* 802AE4B4 002AA114 88 1A 00 05 */ lbz r0, 5(r26) +/* 802AE4B8 002AA118 54 00 06 36 */ rlwinm r0, r0, 0, 0x18, 0x1b +/* 802AE4BC 002AA11C 98 1E 08 4F */ stb r0, 0x84f(r30) +/* 802AE4C0 002AA120 88 1A 00 06 */ lbz r0, 6(r26) +/* 802AE4C4 002AA124 28 00 00 55 */ cmplwi r0, 0x55 +/* 802AE4C8 002AA128 41 80 00 10 */ blt lbl_802AE4D8 +/* 802AE4CC 002AA12C 38 00 00 04 */ li r0, 4 +/* 802AE4D0 002AA130 98 1E 08 4C */ stb r0, 0x84c(r30) +/* 802AE4D4 002AA134 48 00 00 44 */ b lbl_802AE518 +lbl_802AE4D8: +/* 802AE4D8 002AA138 28 00 00 44 */ cmplwi r0, 0x44 +/* 802AE4DC 002AA13C 41 80 00 10 */ blt lbl_802AE4EC +/* 802AE4E0 002AA140 38 00 00 03 */ li r0, 3 +/* 802AE4E4 002AA144 98 1E 08 4C */ stb r0, 0x84c(r30) +/* 802AE4E8 002AA148 48 00 00 30 */ b lbl_802AE518 +lbl_802AE4EC: +/* 802AE4EC 002AA14C 28 00 00 33 */ cmplwi r0, 0x33 +/* 802AE4F0 002AA150 41 80 00 10 */ blt lbl_802AE500 +/* 802AE4F4 002AA154 38 00 00 02 */ li r0, 2 +/* 802AE4F8 002AA158 98 1E 08 4C */ stb r0, 0x84c(r30) +/* 802AE4FC 002AA15C 48 00 00 1C */ b lbl_802AE518 +lbl_802AE500: +/* 802AE500 002AA160 28 00 00 03 */ cmplwi r0, 3 +/* 802AE504 002AA164 41 80 00 10 */ blt lbl_802AE514 +/* 802AE508 002AA168 38 00 00 01 */ li r0, 1 +/* 802AE50C 002AA16C 98 1E 08 4C */ stb r0, 0x84c(r30) +/* 802AE510 002AA170 48 00 00 08 */ b lbl_802AE518 +lbl_802AE514: +/* 802AE514 002AA174 98 7E 08 4C */ stb r3, 0x84c(r30) +lbl_802AE518: +/* 802AE518 002AA178 80 1E 08 40 */ lwz r0, 0x840(r30) +/* 802AE51C 002AA17C 2C 00 00 00 */ cmpwi r0, 0 +/* 802AE520 002AA180 41 82 00 D8 */ beq lbl_802AE5F8 +/* 802AE524 002AA184 2C 1C 00 00 */ cmpwi r28, 0 +/* 802AE528 002AA188 40 82 00 C0 */ bne lbl_802AE5E8 +/* 802AE52C 002AA18C 38 7F 03 3C */ addi r3, r31, 0x33c +/* 802AE530 002AA190 4C C6 31 82 */ crclr 6 +/* 802AE534 002AA194 48 00 53 2D */ bl func_802B3860 +/* 802AE538 002AA198 3C 60 80 53 */ lis r3, lbl_80536D70@ha +/* 802AE53C 002AA19C 57 20 15 BA */ rlwinm r0, r25, 2, 0x16, 0x1d +/* 802AE540 002AA1A0 38 63 6D 70 */ addi r3, r3, lbl_80536D70@l +/* 802AE544 002AA1A4 82 FE 08 A0 */ lwz r23, 0x8a0(r30) +/* 802AE548 002AA1A8 7F 03 00 2E */ lwzx r24, r3, r0 +/* 802AE54C 002AA1AC 3B E0 00 00 */ li r31, 0 +/* 802AE550 002AA1B0 38 6D AE 70 */ addi r3, r13, lbl_80640130-_SDA_BASE_ +/* 802AE554 002AA1B4 7F E3 C9 AE */ stbx r31, r3, r25 +/* 802AE558 002AA1B8 38 78 05 EC */ addi r3, r24, 0x5ec +/* 802AE55C 002AA1BC 4B FF EC 01 */ bl WPADiClearQueue +/* 802AE560 002AA1C0 3F 80 80 2B */ lis r28, abortInitExtension@ha +/* 802AE564 002AA1C4 80 98 08 B8 */ lwz r4, 0x8b8(r24) +/* 802AE568 002AA1C8 38 78 05 EC */ addi r3, r24, 0x5ec +/* 802AE56C 002AA1CC 38 BC D1 BC */ addi r5, r28, abortInitExtension@l +/* 802AE570 002AA1D0 4B FF E4 3D */ bl WPADiSendSetReportType +/* 802AE574 002AA1D4 3F 40 04 A4 */ lis r26, 0x04A400F0@ha +/* 802AE578 002AA1D8 38 78 05 EC */ addi r3, r24, 0x5ec +/* 802AE57C 002AA1DC 38 BA 00 F0 */ addi r5, r26, 0x04A400F0@l +/* 802AE580 002AA1E0 38 DC D1 BC */ addi r6, r28, -11844 +/* 802AE584 002AA1E4 38 80 00 55 */ li r4, 0x55 +/* 802AE588 002AA1E8 4B FF E6 35 */ bl WPADiSendWriteDataCmd +/* 802AE58C 002AA1EC 38 78 05 EC */ addi r3, r24, 0x5ec +/* 802AE590 002AA1F0 38 BA 00 FB */ addi r5, r26, 0xfb +/* 802AE594 002AA1F4 38 DC D1 BC */ addi r6, r28, -11844 +/* 802AE598 002AA1F8 38 80 00 00 */ li r4, 0 +/* 802AE59C 002AA1FC 4B FF E6 21 */ bl WPADiSendWriteDataCmd +/* 802AE5A0 002AA200 38 78 05 EC */ addi r3, r24, 0x5ec +/* 802AE5A4 002AA204 38 98 09 34 */ addi r4, r24, 0x934 +/* 802AE5A8 002AA208 38 DA 00 FE */ addi r6, r26, 0xfe +/* 802AE5AC 002AA20C 38 FC D1 BC */ addi r7, r28, -11844 +/* 802AE5B0 002AA210 38 A0 00 02 */ li r5, 2 +/* 802AE5B4 002AA214 4B FF E9 75 */ bl WPADiSendReadData +/* 802AE5B8 002AA218 9B FE 09 11 */ stb r31, 0x911(r30) +/* 802AE5BC 002AA21C 38 00 00 FF */ li r0, 0xff +/* 802AE5C0 002AA220 2C 17 00 00 */ cmpwi r23, 0 +/* 802AE5C4 002AA224 98 1E 08 C1 */ stb r0, 0x8c1(r30) +/* 802AE5C8 002AA228 9B FE 08 C2 */ stb r31, 0x8c2(r30) +/* 802AE5CC 002AA22C 41 82 00 84 */ beq lbl_802AE650 +/* 802AE5D0 002AA230 7E EC BB 78 */ mr r12, r23 +/* 802AE5D4 002AA234 7F 23 CB 78 */ mr r3, r25 +/* 802AE5D8 002AA238 38 80 00 FF */ li r4, 0xff +/* 802AE5DC 002AA23C 7D 89 03 A6 */ mtctr r12 +/* 802AE5E0 002AA240 4E 80 04 21 */ bctrl +/* 802AE5E4 002AA244 48 00 00 6C */ b lbl_802AE650 +lbl_802AE5E8: +/* 802AE5E8 002AA248 38 7F 03 54 */ addi r3, r31, 0x354 +/* 802AE5EC 002AA24C 4C C6 31 82 */ crclr 6 +/* 802AE5F0 002AA250 48 00 52 71 */ bl func_802B3860 +/* 802AE5F4 002AA254 48 00 00 5C */ b lbl_802AE650 +lbl_802AE5F8: +/* 802AE5F8 002AA258 38 00 00 00 */ li r0, 0 +/* 802AE5FC 002AA25C 38 7E 05 EC */ addi r3, r30, 0x5ec +/* 802AE600 002AA260 98 1E 08 C1 */ stb r0, 0x8c1(r30) +/* 802AE604 002AA264 98 1E 08 C2 */ stb r0, 0x8c2(r30) +/* 802AE608 002AA268 4B FF EB 55 */ bl WPADiClearQueue +/* 802AE60C 002AA26C 80 9E 08 B8 */ lwz r4, 0x8b8(r30) +/* 802AE610 002AA270 38 7E 05 EC */ addi r3, r30, 0x5ec +/* 802AE614 002AA274 38 A0 00 00 */ li r5, 0 +/* 802AE618 002AA278 4B FF E3 95 */ bl WPADiSendSetReportType +/* 802AE61C 002AA27C 2C 1C 00 00 */ cmpwi r28, 0 +/* 802AE620 002AA280 41 82 00 24 */ beq lbl_802AE644 +/* 802AE624 002AA284 81 9E 08 A0 */ lwz r12, 0x8a0(r30) +/* 802AE628 002AA288 2C 0C 00 00 */ cmpwi r12, 0 +/* 802AE62C 002AA28C 41 82 00 24 */ beq lbl_802AE650 +/* 802AE630 002AA290 7F 23 CB 78 */ mr r3, r25 +/* 802AE634 002AA294 38 80 00 00 */ li r4, 0 +/* 802AE638 002AA298 7D 89 03 A6 */ mtctr r12 +/* 802AE63C 002AA29C 4E 80 04 21 */ bctrl +/* 802AE640 002AA2A0 48 00 00 10 */ b lbl_802AE650 +lbl_802AE644: +/* 802AE644 002AA2A4 38 7F 03 6C */ addi r3, r31, 0x36c +/* 802AE648 002AA2A8 4C C6 31 82 */ crclr 6 +/* 802AE64C 002AA2AC 48 00 52 15 */ bl func_802B3860 +lbl_802AE650: +/* 802AE650 002AA2B0 80 7E 08 50 */ lwz r3, 0x850(r30) +/* 802AE654 002AA2B4 2C 03 00 00 */ cmpwi r3, 0 +/* 802AE658 002AA2B8 41 82 00 18 */ beq lbl_802AE670 +/* 802AE65C 002AA2BC 38 9E 08 38 */ addi r4, r30, 0x838 +/* 802AE660 002AA2C0 38 A0 00 18 */ li r5, 0x18 +/* 802AE664 002AA2C4 4B D5 59 9D */ bl memcpy +/* 802AE668 002AA2C8 38 00 00 00 */ li r0, 0 +/* 802AE66C 002AA2CC 90 1E 08 50 */ stw r0, 0x850(r30) +lbl_802AE670: +/* 802AE670 002AA2D0 81 9E 08 9C */ lwz r12, 0x89c(r30) +/* 802AE674 002AA2D4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802AE678 002AA2D8 41 82 00 28 */ beq lbl_802AE6A0 +/* 802AE67C 002AA2DC 88 1E 08 C0 */ lbz r0, 0x8c0(r30) +/* 802AE680 002AA2E0 2C 00 00 00 */ cmpwi r0, 0 +/* 802AE684 002AA2E4 41 82 00 1C */ beq lbl_802AE6A0 +/* 802AE688 002AA2E8 7F 23 CB 78 */ mr r3, r25 +/* 802AE68C 002AA2EC 38 80 00 00 */ li r4, 0 +/* 802AE690 002AA2F0 7D 89 03 A6 */ mtctr r12 +/* 802AE694 002AA2F4 4E 80 04 21 */ bctrl +/* 802AE698 002AA2F8 38 00 00 00 */ li r0, 0 +/* 802AE69C 002AA2FC 90 1E 08 9C */ stw r0, 0x89c(r30) +lbl_802AE6A0: +/* 802AE6A0 002AA300 38 60 FF FE */ li r3, -2 +/* 802AE6A4 002AA304 38 00 00 00 */ li r0, 0 +/* 802AE6A8 002AA308 98 7B 00 29 */ stb r3, 0x29(r27) +/* 802AE6AC 002AA30C 7F A3 EB 78 */ mr r3, r29 +/* 802AE6B0 002AA310 88 9E 08 C1 */ lbz r4, 0x8c1(r30) +/* 802AE6B4 002AA314 98 9B 00 28 */ stb r4, 0x28(r27) +/* 802AE6B8 002AA318 98 1E 08 C0 */ stb r0, 0x8c0(r30) +/* 802AE6BC 002AA31C 88 1E 08 C8 */ lbz r0, 0x8c8(r30) +/* 802AE6C0 002AA320 7C 00 00 34 */ cntlzw r0, r0 +/* 802AE6C4 002AA324 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802AE6C8 002AA328 98 1E 08 C8 */ stb r0, 0x8c8(r30) +/* 802AE6CC 002AA32C 4B FC 00 B9 */ bl OSRestoreInterrupts +lbl_802AE6D0: +/* 802AE6D0 002AA330 39 61 00 30 */ addi r11, r1, 0x30 +/* 802AE6D4 002AA334 4B F1 8A 91 */ bl _restgpr_23 +/* 802AE6D8 002AA338 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802AE6DC 002AA33C 7C 08 03 A6 */ mtlr r0 +/* 802AE6E0 002AA340 38 21 00 30 */ addi r1, r1, 0x30 +/* 802AE6E4 002AA344 4E 80 00 20 */ blr + +.global __a1_21_user_data +__a1_21_user_data: +/* 802AE6E8 002AA348 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802AE6EC 002AA34C 7C 08 02 A6 */ mflr r0 +/* 802AE6F0 002AA350 90 01 00 34 */ stw r0, 0x34(r1) +/* 802AE6F4 002AA354 39 61 00 30 */ addi r11, r1, 0x30 +/* 802AE6F8 002AA358 4B F1 8A 21 */ bl _savegpr_23 +/* 802AE6FC 002AA35C 3F C0 80 44 */ lis r30, lbl_8043C2A0@ha +/* 802AE700 002AA360 7C 78 1B 78 */ mr r24, r3 +/* 802AE704 002AA364 7C 99 23 78 */ mr r25, r4 +/* 802AE708 002AA368 3B DE C2 A0 */ addi r30, r30, lbl_8043C2A0@l +/* 802AE70C 002AA36C 4B FC 00 51 */ bl OSDisableInterrupts +/* 802AE710 002AA370 3C 80 80 53 */ lis r4, lbl_80536D70@ha +/* 802AE714 002AA374 7C 7C 1B 78 */ mr r28, r3 +/* 802AE718 002AA378 57 05 15 BA */ rlwinm r5, r24, 2, 0x16, 0x1d +/* 802AE71C 002AA37C 38 00 00 02 */ li r0, 2 +/* 802AE720 002AA380 38 84 6D 70 */ addi r4, r4, lbl_80536D70@l +/* 802AE724 002AA384 38 60 00 00 */ li r3, 0 +/* 802AE728 002AA388 7F A4 28 2E */ lwzx r29, r4, r5 +/* 802AE72C 002AA38C 38 A0 00 00 */ li r5, 0 +/* 802AE730 002AA390 88 9D 08 C8 */ lbz r4, 0x8c8(r29) +/* 802AE734 002AA394 1C 84 00 60 */ mulli r4, r4, 0x60 +/* 802AE738 002AA398 7C 9D 22 14 */ add r4, r29, r4 +/* 802AE73C 002AA39C 3B 64 00 A0 */ addi r27, r4, 0xa0 +/* 802AE740 002AA3A0 7C 09 03 A6 */ mtctr r0 +lbl_802AE744: +/* 802AE744 002AA3A4 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE748 002AA3A8 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE74C 002AA3AC 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE750 002AA3B0 98 64 00 01 */ stb r3, 1(r4) +/* 802AE754 002AA3B4 98 64 00 02 */ stb r3, 2(r4) +/* 802AE758 002AA3B8 98 64 00 03 */ stb r3, 3(r4) +/* 802AE75C 002AA3BC 98 64 00 04 */ stb r3, 4(r4) +/* 802AE760 002AA3C0 98 64 00 05 */ stb r3, 5(r4) +/* 802AE764 002AA3C4 98 64 00 06 */ stb r3, 6(r4) +/* 802AE768 002AA3C8 98 64 00 07 */ stb r3, 7(r4) +/* 802AE76C 002AA3CC 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE770 002AA3D0 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE774 002AA3D4 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE778 002AA3D8 98 64 00 01 */ stb r3, 1(r4) +/* 802AE77C 002AA3DC 98 64 00 02 */ stb r3, 2(r4) +/* 802AE780 002AA3E0 98 64 00 03 */ stb r3, 3(r4) +/* 802AE784 002AA3E4 98 64 00 04 */ stb r3, 4(r4) +/* 802AE788 002AA3E8 98 64 00 05 */ stb r3, 5(r4) +/* 802AE78C 002AA3EC 98 64 00 06 */ stb r3, 6(r4) +/* 802AE790 002AA3F0 98 64 00 07 */ stb r3, 7(r4) +/* 802AE794 002AA3F4 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE798 002AA3F8 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE79C 002AA3FC 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE7A0 002AA400 98 64 00 01 */ stb r3, 1(r4) +/* 802AE7A4 002AA404 98 64 00 02 */ stb r3, 2(r4) +/* 802AE7A8 002AA408 98 64 00 03 */ stb r3, 3(r4) +/* 802AE7AC 002AA40C 98 64 00 04 */ stb r3, 4(r4) +/* 802AE7B0 002AA410 98 64 00 05 */ stb r3, 5(r4) +/* 802AE7B4 002AA414 98 64 00 06 */ stb r3, 6(r4) +/* 802AE7B8 002AA418 98 64 00 07 */ stb r3, 7(r4) +/* 802AE7BC 002AA41C 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE7C0 002AA420 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE7C4 002AA424 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE7C8 002AA428 98 64 00 01 */ stb r3, 1(r4) +/* 802AE7CC 002AA42C 98 64 00 02 */ stb r3, 2(r4) +/* 802AE7D0 002AA430 98 64 00 03 */ stb r3, 3(r4) +/* 802AE7D4 002AA434 98 64 00 04 */ stb r3, 4(r4) +/* 802AE7D8 002AA438 98 64 00 05 */ stb r3, 5(r4) +/* 802AE7DC 002AA43C 98 64 00 06 */ stb r3, 6(r4) +/* 802AE7E0 002AA440 98 64 00 07 */ stb r3, 7(r4) +/* 802AE7E4 002AA444 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE7E8 002AA448 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE7EC 002AA44C 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE7F0 002AA450 98 64 00 01 */ stb r3, 1(r4) +/* 802AE7F4 002AA454 98 64 00 02 */ stb r3, 2(r4) +/* 802AE7F8 002AA458 98 64 00 03 */ stb r3, 3(r4) +/* 802AE7FC 002AA45C 98 64 00 04 */ stb r3, 4(r4) +/* 802AE800 002AA460 98 64 00 05 */ stb r3, 5(r4) +/* 802AE804 002AA464 98 64 00 06 */ stb r3, 6(r4) +/* 802AE808 002AA468 98 64 00 07 */ stb r3, 7(r4) +/* 802AE80C 002AA46C 7C 9B 2A 14 */ add r4, r27, r5 +/* 802AE810 002AA470 7C 7B 29 AE */ stbx r3, r27, r5 +/* 802AE814 002AA474 38 A5 00 08 */ addi r5, r5, 8 +/* 802AE818 002AA478 98 64 00 01 */ stb r3, 1(r4) +/* 802AE81C 002AA47C 98 64 00 02 */ stb r3, 2(r4) +/* 802AE820 002AA480 98 64 00 03 */ stb r3, 3(r4) +/* 802AE824 002AA484 98 64 00 04 */ stb r3, 4(r4) +/* 802AE828 002AA488 98 64 00 05 */ stb r3, 5(r4) +/* 802AE82C 002AA48C 98 64 00 06 */ stb r3, 6(r4) +/* 802AE830 002AA490 98 64 00 07 */ stb r3, 7(r4) +/* 802AE834 002AA494 42 00 FF 10 */ bdnz lbl_802AE744 +/* 802AE838 002AA498 88 79 00 02 */ lbz r3, 2(r25) +/* 802AE83C 002AA49C 88 19 00 01 */ lbz r0, 1(r25) +/* 802AE840 002AA4A0 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802AE844 002AA4A4 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802AE848 002AA4A8 B0 1B 00 00 */ sth r0, 0(r27) +/* 802AE84C 002AA4AC 88 99 00 03 */ lbz r4, 3(r25) +/* 802AE850 002AA4B0 88 79 00 04 */ lbz r3, 4(r25) +/* 802AE854 002AA4B4 54 80 07 3F */ clrlwi. r0, r4, 0x1c +/* 802AE858 002AA4B8 7C 84 26 70 */ srawi r4, r4, 4 +/* 802AE85C 002AA4BC 8B F9 00 05 */ lbz r31, 5(r25) +/* 802AE860 002AA4C0 38 04 00 01 */ addi r0, r4, 1 +/* 802AE864 002AA4C4 50 7F 44 2E */ rlwimi r31, r3, 8, 0x10, 0x17 +/* 802AE868 002AA4C8 54 1A 06 3E */ clrlwi r26, r0, 0x18 +/* 802AE86C 002AA4CC 41 82 00 58 */ beq lbl_802AE8C4 +/* 802AE870 002AA4D0 38 7E 03 84 */ addi r3, r30, 0x384 +/* 802AE874 002AA4D4 4C C6 31 82 */ crclr 6 +/* 802AE878 002AA4D8 48 00 4F E9 */ bl func_802B3860 +/* 802AE87C 002AA4DC 38 00 FF FF */ li r0, -1 +/* 802AE880 002AA4E0 90 1D 09 7C */ stw r0, 0x97c(r29) +/* 802AE884 002AA4E4 81 9D 08 9C */ lwz r12, 0x89c(r29) +/* 802AE888 002AA4E8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802AE88C 002AA4EC 41 82 00 30 */ beq lbl_802AE8BC +/* 802AE890 002AA4F0 80 1D 08 A0 */ lwz r0, 0x8a0(r29) +/* 802AE894 002AA4F4 2C 00 00 00 */ cmpwi r0, 0 +/* 802AE898 002AA4F8 41 82 00 0C */ beq lbl_802AE8A4 +/* 802AE89C 002AA4FC 7C 00 60 40 */ cmplw r0, r12 +/* 802AE8A0 002AA500 41 82 00 14 */ beq lbl_802AE8B4 +lbl_802AE8A4: +/* 802AE8A4 002AA504 7F 03 C3 78 */ mr r3, r24 +/* 802AE8A8 002AA508 38 80 FF FD */ li r4, -3 +/* 802AE8AC 002AA50C 7D 89 03 A6 */ mtctr r12 +/* 802AE8B0 002AA510 4E 80 04 21 */ bctrl +lbl_802AE8B4: +/* 802AE8B4 002AA514 38 00 00 00 */ li r0, 0 +/* 802AE8B8 002AA518 90 1D 08 9C */ stw r0, 0x89c(r29) +lbl_802AE8BC: +/* 802AE8BC 002AA51C 38 00 00 00 */ li r0, 0 +/* 802AE8C0 002AA520 90 1D 08 BC */ stw r0, 0x8bc(r29) +lbl_802AE8C4: +/* 802AE8C4 002AA524 80 1D 09 78 */ lwz r0, 0x978(r29) +/* 802AE8C8 002AA528 57 E3 04 3E */ clrlwi r3, r31, 0x10 +/* 802AE8CC 002AA52C 54 17 04 3E */ clrlwi r23, r0, 0x10 +/* 802AE8D0 002AA530 7C 03 B8 40 */ cmplw r3, r23 +/* 802AE8D4 002AA534 7C 17 F8 50 */ subf r0, r23, r31 +/* 802AE8D8 002AA538 7C 06 07 34 */ extsh r6, r0 +/* 802AE8DC 002AA53C 41 80 01 50 */ blt lbl_802AEA2C +/* 802AE8E0 002AA540 A0 1D 09 80 */ lhz r0, 0x980(r29) +/* 802AE8E4 002AA544 7C 17 02 14 */ add r0, r23, r0 +/* 802AE8E8 002AA548 7C 03 00 00 */ cmpw r3, r0 +/* 802AE8EC 002AA54C 41 81 01 40 */ bgt lbl_802AEA2C +/* 802AE8F0 002AA550 80 1D 09 74 */ lwz r0, 0x974(r29) +/* 802AE8F4 002AA554 7F 45 D3 78 */ mr r5, r26 +/* 802AE8F8 002AA558 38 99 00 06 */ addi r4, r25, 6 +/* 802AE8FC 002AA55C 7C 60 32 14 */ add r3, r0, r6 +/* 802AE900 002AA560 4B D5 57 01 */ bl memcpy +/* 802AE904 002AA564 A0 7D 09 80 */ lhz r3, 0x980(r29) +/* 802AE908 002AA568 57 E0 04 3E */ clrlwi r0, r31, 0x10 +/* 802AE90C 002AA56C 7C 00 D2 14 */ add r0, r0, r26 +/* 802AE910 002AA570 7C 77 1A 14 */ add r3, r23, r3 +/* 802AE914 002AA574 7C 03 00 00 */ cmpw r3, r0 +/* 802AE918 002AA578 40 82 01 20 */ bne lbl_802AEA38 +/* 802AE91C 002AA57C 80 9D 09 78 */ lwz r4, 0x978(r29) +/* 802AE920 002AA580 38 7E 03 9C */ addi r3, r30, 0x39c +/* 802AE924 002AA584 4C C6 31 82 */ crclr 6 +/* 802AE928 002AA588 48 00 4F 39 */ bl func_802B3860 +/* 802AE92C 002AA58C A0 9D 09 80 */ lhz r4, 0x980(r29) +/* 802AE930 002AA590 38 7E 03 B0 */ addi r3, r30, 0x3b0 +/* 802AE934 002AA594 4C C6 31 82 */ crclr 6 +/* 802AE938 002AA598 48 00 4F 29 */ bl func_802B3860 +/* 802AE93C 002AA59C 80 9D 09 78 */ lwz r4, 0x978(r29) +/* 802AE940 002AA5A0 38 00 FF FD */ li r0, -3 +/* 802AE944 002AA5A4 80 7D 09 7C */ lwz r3, 0x97c(r29) +/* 802AE948 002AA5A8 2C 04 00 00 */ cmpwi r4, 0 +/* 802AE94C 002AA5AC 7C 63 FE 70 */ srawi r3, r3, 0x1f +/* 802AE950 002AA5B0 7C 17 18 38 */ and r23, r0, r3 +/* 802AE954 002AA5B4 40 82 00 10 */ bne lbl_802AE964 +/* 802AE958 002AA5B8 80 1D 08 E0 */ lwz r0, 0x8e0(r29) +/* 802AE95C 002AA5BC 2C 00 00 00 */ cmpwi r0, 0 +/* 802AE960 002AA5C0 41 82 00 18 */ beq lbl_802AE978 +lbl_802AE964: +/* 802AE964 002AA5C4 28 04 17 6C */ cmplwi r4, 0x176c +/* 802AE968 002AA5C8 40 82 00 24 */ bne lbl_802AE98C +/* 802AE96C 002AA5CC 80 1D 08 E0 */ lwz r0, 0x8e0(r29) +/* 802AE970 002AA5D0 2C 00 00 01 */ cmpwi r0, 1 +/* 802AE974 002AA5D4 40 82 00 18 */ bne lbl_802AE98C +lbl_802AE978: +/* 802AE978 002AA5D8 7F 03 C3 78 */ mr r3, r24 +/* 802AE97C 002AA5DC 7E E4 BB 78 */ mr r4, r23 +/* 802AE980 002AA5E0 7F 65 DB 78 */ mr r5, r27 +/* 802AE984 002AA5E4 7F 26 CB 78 */ mr r6, r25 +/* 802AE988 002AA5E8 4B FF E9 5D */ bl getDevConfig +lbl_802AE98C: +/* 802AE98C 002AA5EC 80 7D 09 78 */ lwz r3, 0x978(r29) +/* 802AE990 002AA5F0 3C 03 FB 5C */ addis r0, r3, 0xfb5c +/* 802AE994 002AA5F4 28 00 00 20 */ cmplwi r0, 0x20 +/* 802AE998 002AA5F8 40 82 00 10 */ bne lbl_802AE9A8 +/* 802AE99C 002AA5FC 7F 03 C3 78 */ mr r3, r24 +/* 802AE9A0 002AA600 7E E4 BB 78 */ mr r4, r23 +/* 802AE9A4 002AA604 4B FF EF 85 */ bl getExtConfig +lbl_802AE9A8: +/* 802AE9A8 002AA608 80 7D 09 78 */ lwz r3, 0x978(r29) +/* 802AE9AC 002AA60C 3C 03 FB 5C */ addis r0, r3, 0xfb5c +/* 802AE9B0 002AA610 28 00 00 FE */ cmplwi r0, 0xfe +/* 802AE9B4 002AA614 40 82 00 10 */ bne lbl_802AE9C4 +/* 802AE9B8 002AA618 7F 03 C3 78 */ mr r3, r24 +/* 802AE9BC 002AA61C 7E E4 BB 78 */ mr r4, r23 +/* 802AE9C0 002AA620 4B FF F4 69 */ bl getExtType +lbl_802AE9C4: +/* 802AE9C4 002AA624 80 1D 09 78 */ lwz r0, 0x978(r29) +/* 802AE9C8 002AA628 28 00 00 2A */ cmplwi r0, 0x2a +/* 802AE9CC 002AA62C 40 82 00 14 */ bne lbl_802AE9E0 +/* 802AE9D0 002AA630 7F 03 C3 78 */ mr r3, r24 +/* 802AE9D4 002AA634 7E E4 BB 78 */ mr r4, r23 +/* 802AE9D8 002AA638 38 A0 00 00 */ li r5, 0 +/* 802AE9DC 002AA63C 4B FF F6 BD */ bl getGameInfo +lbl_802AE9E0: +/* 802AE9E0 002AA640 80 1D 09 78 */ lwz r0, 0x978(r29) +/* 802AE9E4 002AA644 28 00 00 62 */ cmplwi r0, 0x62 +/* 802AE9E8 002AA648 40 82 00 14 */ bne lbl_802AE9FC +/* 802AE9EC 002AA64C 7F 03 C3 78 */ mr r3, r24 +/* 802AE9F0 002AA650 7E E4 BB 78 */ mr r4, r23 +/* 802AE9F4 002AA654 38 A0 00 01 */ li r5, 1 +/* 802AE9F8 002AA658 4B FF F6 A1 */ bl getGameInfo +lbl_802AE9FC: +/* 802AE9FC 002AA65C 81 9D 08 9C */ lwz r12, 0x89c(r29) +/* 802AEA00 002AA660 2C 0C 00 00 */ cmpwi r12, 0 +/* 802AEA04 002AA664 41 82 00 1C */ beq lbl_802AEA20 +/* 802AEA08 002AA668 7F 03 C3 78 */ mr r3, r24 +/* 802AEA0C 002AA66C 7E E4 BB 78 */ mr r4, r23 +/* 802AEA10 002AA670 7D 89 03 A6 */ mtctr r12 +/* 802AEA14 002AA674 4E 80 04 21 */ bctrl +/* 802AEA18 002AA678 38 00 00 00 */ li r0, 0 +/* 802AEA1C 002AA67C 90 1D 08 9C */ stw r0, 0x89c(r29) +lbl_802AEA20: +/* 802AEA20 002AA680 38 00 00 00 */ li r0, 0 +/* 802AEA24 002AA684 90 1D 08 BC */ stw r0, 0x8bc(r29) +/* 802AEA28 002AA688 48 00 00 10 */ b lbl_802AEA38 +lbl_802AEA2C: +/* 802AEA2C 002AA68C 38 7E 03 C0 */ addi r3, r30, 0x3c0 +/* 802AEA30 002AA690 4C C6 31 82 */ crclr 6 +/* 802AEA34 002AA694 48 00 4E 2D */ bl func_802B3860 +lbl_802AEA38: +/* 802AEA38 002AA698 38 00 FF FE */ li r0, -2 +/* 802AEA3C 002AA69C 7F 83 E3 78 */ mr r3, r28 +/* 802AEA40 002AA6A0 98 1B 00 29 */ stb r0, 0x29(r27) +/* 802AEA44 002AA6A4 88 1D 08 C1 */ lbz r0, 0x8c1(r29) +/* 802AEA48 002AA6A8 98 1B 00 28 */ stb r0, 0x28(r27) +/* 802AEA4C 002AA6AC 88 1D 08 C8 */ lbz r0, 0x8c8(r29) +/* 802AEA50 002AA6B0 7C 00 00 34 */ cntlzw r0, r0 +/* 802AEA54 002AA6B4 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802AEA58 002AA6B8 98 1D 08 C8 */ stb r0, 0x8c8(r29) +/* 802AEA5C 002AA6BC 4B FB FD 29 */ bl OSRestoreInterrupts +/* 802AEA60 002AA6C0 39 61 00 30 */ addi r11, r1, 0x30 +/* 802AEA64 002AA6C4 4B F1 87 01 */ bl _restgpr_23 +/* 802AEA68 002AA6C8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802AEA6C 002AA6CC 7C 08 03 A6 */ mtlr r0 +/* 802AEA70 002AA6D0 38 21 00 30 */ addi r1, r1, 0x30 +/* 802AEA74 002AA6D4 4E 80 00 20 */ blr + +.global __a1_22_ack +__a1_22_ack: +/* 802AEA78 002AA6D8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802AEA7C 002AA6DC 7C 08 02 A6 */ mflr r0 +/* 802AEA80 002AA6E0 90 01 00 34 */ stw r0, 0x34(r1) +/* 802AEA84 002AA6E4 39 61 00 30 */ addi r11, r1, 0x30 +/* 802AEA88 002AA6E8 4B F1 86 99 */ bl _savegpr_25 +/* 802AEA8C 002AA6EC 3F E0 80 44 */ lis r31, lbl_8043C2A0@ha +/* 802AEA90 002AA6F0 7C 7A 1B 78 */ mr r26, r3 +/* 802AEA94 002AA6F4 7C 9B 23 78 */ mr r27, r4 +/* 802AEA98 002AA6F8 3B FF C2 A0 */ addi r31, r31, lbl_8043C2A0@l +/* 802AEA9C 002AA6FC 4B FB FC C1 */ bl OSDisableInterrupts +/* 802AEAA0 002AA700 7C 7D 1B 78 */ mr r29, r3 +/* 802AEAA4 002AA704 38 7F 03 E0 */ addi r3, r31, 0x3e0 +/* 802AEAA8 002AA708 4C C6 31 82 */ crclr 6 +/* 802AEAAC 002AA70C 48 00 4D B5 */ bl func_802B3860 +/* 802AEAB0 002AA710 3C 60 80 53 */ lis r3, lbl_80536D70@ha +/* 802AEAB4 002AA714 57 44 15 BA */ rlwinm r4, r26, 2, 0x16, 0x1d +/* 802AEAB8 002AA718 38 63 6D 70 */ addi r3, r3, lbl_80536D70@l +/* 802AEABC 002AA71C 38 00 00 02 */ li r0, 2 +/* 802AEAC0 002AA720 7F C3 20 2E */ lwzx r30, r3, r4 +/* 802AEAC4 002AA724 38 A0 00 00 */ li r5, 0 +/* 802AEAC8 002AA728 38 60 00 00 */ li r3, 0 +/* 802AEACC 002AA72C 88 9E 08 C8 */ lbz r4, 0x8c8(r30) +/* 802AEAD0 002AA730 1C 84 00 60 */ mulli r4, r4, 0x60 +/* 802AEAD4 002AA734 7C 9E 22 14 */ add r4, r30, r4 +/* 802AEAD8 002AA738 3B 84 00 A0 */ addi r28, r4, 0xa0 +/* 802AEADC 002AA73C 7C 09 03 A6 */ mtctr r0 +lbl_802AEAE0: +/* 802AEAE0 002AA740 7C 7C 29 AE */ stbx r3, r28, r5 +/* 802AEAE4 002AA744 7C 9C 2A 14 */ add r4, r28, r5 +/* 802AEAE8 002AA748 38 A5 00 08 */ addi r5, r5, 8 +/* 802AEAEC 002AA74C 98 64 00 01 */ stb r3, 1(r4) +/* 802AEAF0 002AA750 98 64 00 02 */ stb r3, 2(r4) +/* 802AEAF4 002AA754 98 64 00 03 */ stb r3, 3(r4) +/* 802AEAF8 002AA758 98 64 00 04 */ stb r3, 4(r4) +/* 802AEAFC 002AA75C 98 64 00 05 */ stb r3, 5(r4) +/* 802AEB00 002AA760 98 64 00 06 */ stb r3, 6(r4) +/* 802AEB04 002AA764 98 64 00 07 */ stb r3, 7(r4) +/* 802AEB08 002AA768 7C 9C 2A 14 */ add r4, r28, r5 +/* 802AEB0C 002AA76C 7C 7C 29 AE */ stbx r3, r28, r5 +/* 802AEB10 002AA770 38 A5 00 08 */ addi r5, r5, 8 +/* 802AEB14 002AA774 98 64 00 01 */ stb r3, 1(r4) +/* 802AEB18 002AA778 98 64 00 02 */ stb r3, 2(r4) +/* 802AEB1C 002AA77C 98 64 00 03 */ stb r3, 3(r4) +/* 802AEB20 002AA780 98 64 00 04 */ stb r3, 4(r4) +/* 802AEB24 002AA784 98 64 00 05 */ stb r3, 5(r4) +/* 802AEB28 002AA788 98 64 00 06 */ stb r3, 6(r4) +/* 802AEB2C 002AA78C 98 64 00 07 */ stb r3, 7(r4) +/* 802AEB30 002AA790 7C 9C 2A 14 */ add r4, r28, r5 +/* 802AEB34 002AA794 7C 7C 29 AE */ stbx r3, r28, r5 +/* 802AEB38 002AA798 38 A5 00 08 */ addi r5, r5, 8 +/* 802AEB3C 002AA79C 98 64 00 01 */ stb r3, 1(r4) +/* 802AEB40 002AA7A0 98 64 00 02 */ stb r3, 2(r4) +/* 802AEB44 002AA7A4 98 64 00 03 */ stb r3, 3(r4) +/* 802AEB48 002AA7A8 98 64 00 04 */ stb r3, 4(r4) +/* 802AEB4C 002AA7AC 98 64 00 05 */ stb r3, 5(r4) +/* 802AEB50 002AA7B0 98 64 00 06 */ stb r3, 6(r4) +/* 802AEB54 002AA7B4 98 64 00 07 */ stb r3, 7(r4) +/* 802AEB58 002AA7B8 7C 9C 2A 14 */ add r4, r28, r5 +/* 802AEB5C 002AA7BC 7C 7C 29 AE */ stbx r3, r28, r5 +/* 802AEB60 002AA7C0 38 A5 00 08 */ addi r5, r5, 8 +/* 802AEB64 002AA7C4 98 64 00 01 */ stb r3, 1(r4) +/* 802AEB68 002AA7C8 98 64 00 02 */ stb r3, 2(r4) +/* 802AEB6C 002AA7CC 98 64 00 03 */ stb r3, 3(r4) +/* 802AEB70 002AA7D0 98 64 00 04 */ stb r3, 4(r4) +/* 802AEB74 002AA7D4 98 64 00 05 */ stb r3, 5(r4) +/* 802AEB78 002AA7D8 98 64 00 06 */ stb r3, 6(r4) +/* 802AEB7C 002AA7DC 98 64 00 07 */ stb r3, 7(r4) +/* 802AEB80 002AA7E0 7C 9C 2A 14 */ add r4, r28, r5 +/* 802AEB84 002AA7E4 7C 7C 29 AE */ stbx r3, r28, r5 +/* 802AEB88 002AA7E8 38 A5 00 08 */ addi r5, r5, 8 +/* 802AEB8C 002AA7EC 98 64 00 01 */ stb r3, 1(r4) +/* 802AEB90 002AA7F0 98 64 00 02 */ stb r3, 2(r4) +/* 802AEB94 002AA7F4 98 64 00 03 */ stb r3, 3(r4) +/* 802AEB98 002AA7F8 98 64 00 04 */ stb r3, 4(r4) +/* 802AEB9C 002AA7FC 98 64 00 05 */ stb r3, 5(r4) +/* 802AEBA0 002AA800 98 64 00 06 */ stb r3, 6(r4) +/* 802AEBA4 002AA804 98 64 00 07 */ stb r3, 7(r4) +/* 802AEBA8 002AA808 7C 9C 2A 14 */ add r4, r28, r5 +/* 802AEBAC 002AA80C 7C 7C 29 AE */ stbx r3, r28, r5 +/* 802AEBB0 002AA810 38 A5 00 08 */ addi r5, r5, 8 +/* 802AEBB4 002AA814 98 64 00 01 */ stb r3, 1(r4) +/* 802AEBB8 002AA818 98 64 00 02 */ stb r3, 2(r4) +/* 802AEBBC 002AA81C 98 64 00 03 */ stb r3, 3(r4) +/* 802AEBC0 002AA820 98 64 00 04 */ stb r3, 4(r4) +/* 802AEBC4 002AA824 98 64 00 05 */ stb r3, 5(r4) +/* 802AEBC8 002AA828 98 64 00 06 */ stb r3, 6(r4) +/* 802AEBCC 002AA82C 98 64 00 07 */ stb r3, 7(r4) +/* 802AEBD0 002AA830 42 00 FF 10 */ bdnz lbl_802AEAE0 +/* 802AEBD4 002AA834 88 9B 00 02 */ lbz r4, 2(r27) +/* 802AEBD8 002AA838 38 7F 03 F0 */ addi r3, r31, 0x3f0 +/* 802AEBDC 002AA83C 88 1B 00 01 */ lbz r0, 1(r27) +/* 802AEBE0 002AA840 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 +/* 802AEBE4 002AA844 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802AEBE8 002AA848 B0 1C 00 00 */ sth r0, 0(r28) +/* 802AEBEC 002AA84C 8B 3B 00 03 */ lbz r25, 3(r27) +/* 802AEBF0 002AA850 8B 7B 00 04 */ lbz r27, 4(r27) +/* 802AEBF4 002AA854 7F 24 CB 78 */ mr r4, r25 +/* 802AEBF8 002AA858 7F 65 DB 78 */ mr r5, r27 +/* 802AEBFC 002AA85C 4C C6 31 82 */ crclr 6 +/* 802AEC00 002AA860 48 00 4C 61 */ bl func_802B3860 +/* 802AEC04 002AA864 38 00 FF FE */ li r0, -2 +/* 802AEC08 002AA868 7F 63 00 34 */ cntlzw r3, r27 +/* 802AEC0C 002AA86C 98 1C 00 29 */ stb r0, 0x29(r28) +/* 802AEC10 002AA870 54 64 DF FE */ rlwinm r4, r3, 0x1b, 0x1f, 0x1f +/* 802AEC14 002AA874 2C 1B 00 00 */ cmpwi r27, 0 +/* 802AEC18 002AA878 38 60 FF FD */ li r3, -3 +/* 802AEC1C 002AA87C 88 1E 08 C1 */ lbz r0, 0x8c1(r30) +/* 802AEC20 002AA880 7C 84 00 D0 */ neg r4, r4 +/* 802AEC24 002AA884 98 1C 00 28 */ stb r0, 0x28(r28) +/* 802AEC28 002AA888 7C 7C 20 78 */ andc r28, r3, r4 +/* 802AEC2C 002AA88C 41 82 00 18 */ beq lbl_802AEC44 +/* 802AEC30 002AA890 7F 24 CB 78 */ mr r4, r25 +/* 802AEC34 002AA894 7F 65 DB 78 */ mr r5, r27 +/* 802AEC38 002AA898 38 7F 04 1C */ addi r3, r31, 0x41c +/* 802AEC3C 002AA89C 4C C6 31 82 */ crclr 6 +/* 802AEC40 002AA8A0 48 00 4C 21 */ bl func_802B3860 +lbl_802AEC44: +/* 802AEC44 002AA8A4 88 1E 09 87 */ lbz r0, 0x987(r30) +/* 802AEC48 002AA8A8 7C 00 C8 40 */ cmplw r0, r25 +/* 802AEC4C 002AA8AC 40 82 00 34 */ bne lbl_802AEC80 +/* 802AEC50 002AA8B0 81 9E 08 9C */ lwz r12, 0x89c(r30) +/* 802AEC54 002AA8B4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802AEC58 002AA8B8 41 82 00 1C */ beq lbl_802AEC74 +/* 802AEC5C 002AA8BC 7F 43 D3 78 */ mr r3, r26 +/* 802AEC60 002AA8C0 7F 84 E3 78 */ mr r4, r28 +/* 802AEC64 002AA8C4 7D 89 03 A6 */ mtctr r12 +/* 802AEC68 002AA8C8 4E 80 04 21 */ bctrl +/* 802AEC6C 002AA8CC 38 00 00 00 */ li r0, 0 +/* 802AEC70 002AA8D0 90 1E 08 9C */ stw r0, 0x89c(r30) +lbl_802AEC74: +/* 802AEC74 002AA8D4 38 00 00 00 */ li r0, 0 +/* 802AEC78 002AA8D8 90 1E 08 BC */ stw r0, 0x8bc(r30) +/* 802AEC7C 002AA8DC 48 00 00 10 */ b lbl_802AEC8C +lbl_802AEC80: +/* 802AEC80 002AA8E0 38 7F 04 4C */ addi r3, r31, 0x44c +/* 802AEC84 002AA8E4 4C C6 31 82 */ crclr 6 +/* 802AEC88 002AA8E8 48 00 4B D9 */ bl func_802B3860 +lbl_802AEC8C: +/* 802AEC8C 002AA8EC 88 1E 08 C8 */ lbz r0, 0x8c8(r30) +/* 802AEC90 002AA8F0 7F A3 EB 78 */ mr r3, r29 +/* 802AEC94 002AA8F4 7C 00 00 34 */ cntlzw r0, r0 +/* 802AEC98 002AA8F8 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802AEC9C 002AA8FC 98 1E 08 C8 */ stb r0, 0x8c8(r30) +/* 802AECA0 002AA900 4B FB FA E5 */ bl OSRestoreInterrupts +/* 802AECA4 002AA904 39 61 00 30 */ addi r11, r1, 0x30 +/* 802AECA8 002AA908 4B F1 84 C5 */ bl _restgpr_25 +/* 802AECAC 002AA90C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802AECB0 002AA910 7C 08 03 A6 */ mtlr r0 +/* 802AECB4 002AA914 38 21 00 30 */ addi r1, r1, 0x30 +/* 802AECB8 002AA918 4E 80 00 20 */ blr + +.global __parse_dpd_data +__parse_dpd_data: +/* 802AECBC 002AA91C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802AECC0 002AA920 28 04 00 03 */ cmplwi r4, 3 +/* 802AECC4 002AA924 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802AECC8 002AA928 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802AECCC 002AA92C 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802AECD0 002AA930 40 82 01 78 */ bne lbl_802AEE48 +/* 802AECD4 002AA934 38 80 00 04 */ li r4, 4 +/* 802AECD8 002AA938 C8 62 A4 20 */ lfd f3, lbl_80642A20-_SDA2_BASE_(r2) +/* 802AECDC 002AA93C C0 22 A4 18 */ lfs f1, lbl_80642A18-_SDA2_BASE_(r2) +/* 802AECE0 002AA940 38 E0 00 00 */ li r7, 0 +/* 802AECE4 002AA944 3C 00 43 30 */ lis r0, 0x4330 +/* 802AECE8 002AA948 39 40 00 00 */ li r10, 0 +/* 802AECEC 002AA94C 39 20 02 FF */ li r9, 0x2ff +/* 802AECF0 002AA950 7C 89 03 A6 */ mtctr r4 +lbl_802AECF4: +/* 802AECF4 002AA954 54 E8 06 3E */ clrlwi r8, r7, 0x18 +/* 802AECF8 002AA958 54 E4 15 BA */ rlwinm r4, r7, 2, 0x16, 0x1d +/* 802AECFC 002AA95C 7D 08 20 50 */ subf r8, r8, r4 +/* 802AED00 002AA960 38 88 00 02 */ addi r4, r8, 2 +/* 802AED04 002AA964 7C 04 30 00 */ cmpw r4, r6 +/* 802AED08 002AA968 40 80 01 00 */ bge lbl_802AEE08 +/* 802AED0C 002AA96C 7D 65 42 14 */ add r11, r5, r8 +/* 802AED10 002AA970 81 03 00 00 */ lwz r8, 0(r3) +/* 802AED14 002AA974 8B AB 00 02 */ lbz r29, 2(r11) +/* 802AED18 002AA978 54 E4 1D 78 */ rlwinm r4, r7, 3, 0x15, 0x1c +/* 802AED1C 002AA97C 8B CB 00 00 */ lbz r30, 0(r11) +/* 802AED20 002AA980 7D 88 22 14 */ add r12, r8, r4 +/* 802AED24 002AA984 89 6B 00 01 */ lbz r11, 1(r11) +/* 802AED28 002AA988 57 BF 25 AE */ rlwinm r31, r29, 4, 0x16, 0x17 +/* 802AED2C 002AA98C 7F DE 07 34 */ extsh r30, r30 +/* 802AED30 002AA990 57 A8 15 AE */ rlwinm r8, r29, 2, 0x16, 0x17 +/* 802AED34 002AA994 7F DF FB 78 */ or r31, r30, r31 +/* 802AED38 002AA998 7D 6B 07 34 */ extsh r11, r11 +/* 802AED3C 002AA99C 7D 68 43 78 */ or r8, r11, r8 +/* 802AED40 002AA9A0 B3 EC 00 08 */ sth r31, 8(r12) +/* 802AED44 002AA9A4 7D 0C 07 34 */ extsh r12, r8 +/* 802AED48 002AA9A8 57 AB 07 3E */ clrlwi r11, r29, 0x1c +/* 802AED4C 002AA9AC 81 03 00 00 */ lwz r8, 0(r3) +/* 802AED50 002AA9B0 21 8C 02 FF */ subfic r12, r12, 0x2ff +/* 802AED54 002AA9B4 90 01 00 08 */ stw r0, 8(r1) +/* 802AED58 002AA9B8 7D 08 22 14 */ add r8, r8, r4 +/* 802AED5C 002AA9BC B1 88 00 0A */ sth r12, 0xa(r8) +/* 802AED60 002AA9C0 81 03 00 00 */ lwz r8, 0(r3) +/* 802AED64 002AA9C4 90 01 00 10 */ stw r0, 0x10(r1) +/* 802AED68 002AA9C8 7D 08 22 14 */ add r8, r8, r4 +/* 802AED6C 002AA9CC B1 68 00 0C */ sth r11, 0xc(r8) +/* 802AED70 002AA9D0 81 03 00 00 */ lwz r8, 0(r3) +/* 802AED74 002AA9D4 7D 68 22 14 */ add r11, r8, r4 +/* 802AED78 002AA9D8 A1 0B 00 0C */ lhz r8, 0xc(r11) +/* 802AED7C 002AA9DC 91 01 00 0C */ stw r8, 0xc(r1) +/* 802AED80 002AA9E0 91 01 00 14 */ stw r8, 0x14(r1) +/* 802AED84 002AA9E4 C8 41 00 08 */ lfd f2, 8(r1) +/* 802AED88 002AA9E8 C8 01 00 10 */ lfd f0, 0x10(r1) +/* 802AED8C 002AA9EC EC 42 18 28 */ fsubs f2, f2, f3 +/* 802AED90 002AA9F0 EC 00 18 28 */ fsubs f0, f0, f3 +/* 802AED94 002AA9F4 EC 02 00 32 */ fmuls f0, f2, f0 +/* 802AED98 002AA9F8 EC 01 00 32 */ fmuls f0, f1, f0 +/* 802AED9C 002AA9FC FC 00 00 1E */ fctiwz f0, f0 +/* 802AEDA0 002AAA00 D8 01 00 18 */ stfd f0, 0x18(r1) +/* 802AEDA4 002AAA04 81 01 00 1C */ lwz r8, 0x1c(r1) +/* 802AEDA8 002AAA08 55 08 06 3E */ clrlwi r8, r8, 0x18 +/* 802AEDAC 002AAA0C B1 0B 00 0C */ sth r8, 0xc(r11) +/* 802AEDB0 002AAA10 81 03 00 00 */ lwz r8, 0(r3) +/* 802AEDB4 002AAA14 7D 68 22 14 */ add r11, r8, r4 +/* 802AEDB8 002AAA18 A1 0B 00 0C */ lhz r8, 0xc(r11) +/* 802AEDBC 002AAA1C 2C 08 00 00 */ cmpwi r8, 0 +/* 802AEDC0 002AAA20 41 82 00 1C */ beq lbl_802AEDDC +/* 802AEDC4 002AAA24 A9 0B 00 08 */ lha r8, 8(r11) +/* 802AEDC8 002AAA28 2C 08 03 FF */ cmpwi r8, 0x3ff +/* 802AEDCC 002AAA2C 41 82 00 10 */ beq lbl_802AEDDC +/* 802AEDD0 002AAA30 A9 0B 00 0A */ lha r8, 0xa(r11) +/* 802AEDD4 002AAA34 2C 08 02 FF */ cmpwi r8, 0x2ff +/* 802AEDD8 002AAA38 40 82 00 20 */ bne lbl_802AEDF8 +lbl_802AEDDC: +/* 802AEDDC 002AAA3C B1 4B 00 08 */ sth r10, 8(r11) +/* 802AEDE0 002AAA40 81 03 00 00 */ lwz r8, 0(r3) +/* 802AEDE4 002AAA44 7D 08 22 14 */ add r8, r8, r4 +/* 802AEDE8 002AAA48 B1 28 00 0A */ sth r9, 0xa(r8) +/* 802AEDEC 002AAA4C 81 03 00 00 */ lwz r8, 0(r3) +/* 802AEDF0 002AAA50 7D 08 22 14 */ add r8, r8, r4 +/* 802AEDF4 002AAA54 B1 48 00 0C */ sth r10, 0xc(r8) +lbl_802AEDF8: +/* 802AEDF8 002AAA58 81 03 00 00 */ lwz r8, 0(r3) +/* 802AEDFC 002AAA5C 7C 88 22 14 */ add r4, r8, r4 +/* 802AEE00 002AAA60 98 E4 00 0E */ stb r7, 0xe(r4) +/* 802AEE04 002AAA64 48 00 00 38 */ b lbl_802AEE3C +lbl_802AEE08: +/* 802AEE08 002AAA68 80 83 00 00 */ lwz r4, 0(r3) +/* 802AEE0C 002AAA6C 54 E8 1D 78 */ rlwinm r8, r7, 3, 0x15, 0x1c +/* 802AEE10 002AAA70 7C 84 42 14 */ add r4, r4, r8 +/* 802AEE14 002AAA74 B1 44 00 08 */ sth r10, 8(r4) +/* 802AEE18 002AAA78 80 83 00 00 */ lwz r4, 0(r3) +/* 802AEE1C 002AAA7C 7C 84 42 14 */ add r4, r4, r8 +/* 802AEE20 002AAA80 B1 24 00 0A */ sth r9, 0xa(r4) +/* 802AEE24 002AAA84 80 83 00 00 */ lwz r4, 0(r3) +/* 802AEE28 002AAA88 7C 84 42 14 */ add r4, r4, r8 +/* 802AEE2C 002AAA8C B1 44 00 0C */ sth r10, 0xc(r4) +/* 802AEE30 002AAA90 80 83 00 00 */ lwz r4, 0(r3) +/* 802AEE34 002AAA94 7C 84 42 14 */ add r4, r4, r8 +/* 802AEE38 002AAA98 98 E4 00 0E */ stb r7, 0xe(r4) +lbl_802AEE3C: +/* 802AEE3C 002AAA9C 38 E7 00 01 */ addi r7, r7, 1 +/* 802AEE40 002AAAA0 42 00 FE B4 */ bdnz lbl_802AECF4 +/* 802AEE44 002AAAA4 48 00 01 3C */ b lbl_802AEF80 +lbl_802AEE48: +/* 802AEE48 002AAAA8 28 04 00 01 */ cmplwi r4, 1 +/* 802AEE4C 002AAAAC 40 82 01 34 */ bne lbl_802AEF80 +/* 802AEE50 002AAAB0 38 00 00 04 */ li r0, 4 +/* 802AEE54 002AAAB4 38 80 00 00 */ li r4, 0 +/* 802AEE58 002AAAB8 38 E0 00 0C */ li r7, 0xc +/* 802AEE5C 002AAABC 39 20 00 00 */ li r9, 0 +/* 802AEE60 002AAAC0 39 00 02 FF */ li r8, 0x2ff +/* 802AEE64 002AAAC4 7C 09 03 A6 */ mtctr r0 +lbl_802AEE68: +/* 802AEE68 002AAAC8 54 8B 06 3E */ clrlwi r11, r4, 0x18 +/* 802AEE6C 002AAACC 54 8A 15 BA */ rlwinm r10, r4, 2, 0x16, 0x1d +/* 802AEE70 002AAAD0 55 66 0F FE */ srwi r6, r11, 0x1f +/* 802AEE74 002AAAD4 54 80 07 FE */ clrlwi r0, r4, 0x1f +/* 802AEE78 002AAAD8 7D 6B 50 50 */ subf r11, r11, r10 +/* 802AEE7C 002AAADC 54 8C FE 7E */ rlwinm r12, r4, 0x1f, 0x19, 0x1f +/* 802AEE80 002AAAE0 54 8A 0D FA */ rlwinm r10, r4, 1, 0x17, 0x1d +/* 802AEE84 002AAAE4 7C 00 32 78 */ xor r0, r0, r6 +/* 802AEE88 002AAAE8 7D 65 5A 14 */ add r11, r5, r11 +/* 802AEE8C 002AAAEC 7D 6C 58 50 */ subf r11, r12, r11 +/* 802AEE90 002AAAF0 7D 4A 62 14 */ add r10, r10, r12 +/* 802AEE94 002AAAF4 7C 06 00 51 */ subf. r0, r6, r0 +/* 802AEE98 002AAAF8 8B EB 00 00 */ lbz r31, 0(r11) +/* 802AEE9C 002AAAFC 7C C5 52 14 */ add r6, r5, r10 +/* 802AEEA0 002AAB00 89 8B 00 01 */ lbz r12, 1(r11) +/* 802AEEA4 002AAB04 8B C6 00 02 */ lbz r30, 2(r6) +/* 802AEEA8 002AAB08 40 82 00 44 */ bne lbl_802AEEEC +/* 802AEEAC 002AAB0C 80 C3 00 00 */ lwz r6, 0(r3) +/* 802AEEB0 002AAB10 54 80 1D 78 */ rlwinm r0, r4, 3, 0x15, 0x1c +/* 802AEEB4 002AAB14 7F EB 07 34 */ extsh r11, r31 +/* 802AEEB8 002AAB18 57 CA 25 AE */ rlwinm r10, r30, 4, 0x16, 0x17 +/* 802AEEBC 002AAB1C 7D 6A 53 78 */ or r10, r11, r10 +/* 802AEEC0 002AAB20 7C C6 02 14 */ add r6, r6, r0 +/* 802AEEC4 002AAB24 B1 46 00 08 */ sth r10, 8(r6) +/* 802AEEC8 002AAB28 7D 8A 07 34 */ extsh r10, r12 +/* 802AEECC 002AAB2C 57 C6 15 AE */ rlwinm r6, r30, 2, 0x16, 0x17 +/* 802AEED0 002AAB30 7D 4A 33 78 */ or r10, r10, r6 +/* 802AEED4 002AAB34 80 C3 00 00 */ lwz r6, 0(r3) +/* 802AEED8 002AAB38 7D 4A 07 34 */ extsh r10, r10 +/* 802AEEDC 002AAB3C 21 4A 02 FF */ subfic r10, r10, 0x2ff +/* 802AEEE0 002AAB40 7C C6 02 14 */ add r6, r6, r0 +/* 802AEEE4 002AAB44 B1 46 00 0A */ sth r10, 0xa(r6) +/* 802AEEE8 002AAB48 48 00 00 40 */ b lbl_802AEF28 +lbl_802AEEEC: +/* 802AEEEC 002AAB4C 80 C3 00 00 */ lwz r6, 0(r3) +/* 802AEEF0 002AAB50 54 80 1D 78 */ rlwinm r0, r4, 3, 0x15, 0x1c +/* 802AEEF4 002AAB54 7F EB 07 34 */ extsh r11, r31 +/* 802AEEF8 002AAB58 57 CA 45 AE */ rlwinm r10, r30, 8, 0x16, 0x17 +/* 802AEEFC 002AAB5C 7D 6A 53 78 */ or r10, r11, r10 +/* 802AEF00 002AAB60 7C C6 02 14 */ add r6, r6, r0 +/* 802AEF04 002AAB64 B1 46 00 08 */ sth r10, 8(r6) +/* 802AEF08 002AAB68 7D 8A 07 34 */ extsh r10, r12 +/* 802AEF0C 002AAB6C 57 C6 35 AE */ rlwinm r6, r30, 6, 0x16, 0x17 +/* 802AEF10 002AAB70 7D 4A 33 78 */ or r10, r10, r6 +/* 802AEF14 002AAB74 80 C3 00 00 */ lwz r6, 0(r3) +/* 802AEF18 002AAB78 7D 4A 07 34 */ extsh r10, r10 +/* 802AEF1C 002AAB7C 21 4A 02 FF */ subfic r10, r10, 0x2ff +/* 802AEF20 002AAB80 7C C6 02 14 */ add r6, r6, r0 +/* 802AEF24 002AAB84 B1 46 00 0A */ sth r10, 0xa(r6) +lbl_802AEF28: +/* 802AEF28 002AAB88 80 C3 00 00 */ lwz r6, 0(r3) +/* 802AEF2C 002AAB8C 7D 46 02 14 */ add r10, r6, r0 +/* 802AEF30 002AAB90 A8 CA 00 08 */ lha r6, 8(r10) +/* 802AEF34 002AAB94 2C 06 03 FF */ cmpwi r6, 0x3ff +/* 802AEF38 002AAB98 41 82 00 10 */ beq lbl_802AEF48 +/* 802AEF3C 002AAB9C A8 CA 00 0A */ lha r6, 0xa(r10) +/* 802AEF40 002AABA0 2C 06 02 FF */ cmpwi r6, 0x2ff +/* 802AEF44 002AABA4 40 82 00 24 */ bne lbl_802AEF68 +lbl_802AEF48: +/* 802AEF48 002AABA8 B1 2A 00 08 */ sth r9, 8(r10) +/* 802AEF4C 002AABAC 80 C3 00 00 */ lwz r6, 0(r3) +/* 802AEF50 002AABB0 7C C6 02 14 */ add r6, r6, r0 +/* 802AEF54 002AABB4 B1 06 00 0A */ sth r8, 0xa(r6) +/* 802AEF58 002AABB8 80 C3 00 00 */ lwz r6, 0(r3) +/* 802AEF5C 002AABBC 7C C6 02 14 */ add r6, r6, r0 +/* 802AEF60 002AABC0 B1 26 00 0C */ sth r9, 0xc(r6) +/* 802AEF64 002AABC4 48 00 00 08 */ b lbl_802AEF6C +lbl_802AEF68: +/* 802AEF68 002AABC8 B0 EA 00 0C */ sth r7, 0xc(r10) +lbl_802AEF6C: +/* 802AEF6C 002AABCC 80 C3 00 00 */ lwz r6, 0(r3) +/* 802AEF70 002AABD0 7C C6 02 14 */ add r6, r6, r0 +/* 802AEF74 002AABD4 98 86 00 0E */ stb r4, 0xe(r6) +/* 802AEF78 002AABD8 38 84 00 01 */ addi r4, r4, 1 +/* 802AEF7C 002AABDC 42 00 FE EC */ bdnz lbl_802AEE68 +lbl_802AEF80: +/* 802AEF80 002AABE0 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802AEF84 002AABE4 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802AEF88 002AABE8 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802AEF8C 002AABEC 38 21 00 30 */ addi r1, r1, 0x30 +/* 802AEF90 002AABF0 4E 80 00 20 */ blr + +.global __a1_30_data_type +__a1_30_data_type: +/* 802AEF94 002AABF4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802AEF98 002AABF8 7C 08 02 A6 */ mflr r0 +/* 802AEF9C 002AABFC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802AEFA0 002AAC00 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802AEFA4 002AAC04 7C 9F 23 78 */ mr r31, r4 +/* 802AEFA8 002AAC08 93 C1 00 08 */ stw r30, 8(r1) +/* 802AEFAC 002AAC0C 7C 7E 1B 78 */ mr r30, r3 +/* 802AEFB0 002AAC10 4B FB F7 AD */ bl OSDisableInterrupts +/* 802AEFB4 002AAC14 3C 80 80 53 */ lis r4, lbl_80536D70@ha +/* 802AEFB8 002AAC18 57 C5 15 BA */ rlwinm r5, r30, 2, 0x16, 0x1d +/* 802AEFBC 002AAC1C 38 84 6D 70 */ addi r4, r4, lbl_80536D70@l +/* 802AEFC0 002AAC20 38 00 00 02 */ li r0, 2 +/* 802AEFC4 002AAC24 7C C4 28 2E */ lwzx r6, r4, r5 +/* 802AEFC8 002AAC28 39 00 00 00 */ li r8, 0 +/* 802AEFCC 002AAC2C 38 80 00 00 */ li r4, 0 +/* 802AEFD0 002AAC30 88 A6 08 C8 */ lbz r5, 0x8c8(r6) +/* 802AEFD4 002AAC34 1C A5 00 60 */ mulli r5, r5, 0x60 +/* 802AEFD8 002AAC38 7C A6 2A 14 */ add r5, r6, r5 +/* 802AEFDC 002AAC3C 38 E5 00 A0 */ addi r7, r5, 0xa0 +/* 802AEFE0 002AAC40 7C 09 03 A6 */ mtctr r0 +lbl_802AEFE4: +/* 802AEFE4 002AAC44 7C 87 41 AE */ stbx r4, r7, r8 +/* 802AEFE8 002AAC48 7C A7 42 14 */ add r5, r7, r8 +/* 802AEFEC 002AAC4C 39 08 00 08 */ addi r8, r8, 8 +/* 802AEFF0 002AAC50 98 85 00 01 */ stb r4, 1(r5) +/* 802AEFF4 002AAC54 98 85 00 02 */ stb r4, 2(r5) +/* 802AEFF8 002AAC58 98 85 00 03 */ stb r4, 3(r5) +/* 802AEFFC 002AAC5C 98 85 00 04 */ stb r4, 4(r5) +/* 802AF000 002AAC60 98 85 00 05 */ stb r4, 5(r5) +/* 802AF004 002AAC64 98 85 00 06 */ stb r4, 6(r5) +/* 802AF008 002AAC68 98 85 00 07 */ stb r4, 7(r5) +/* 802AF00C 002AAC6C 7C A7 42 14 */ add r5, r7, r8 +/* 802AF010 002AAC70 7C 87 41 AE */ stbx r4, r7, r8 +/* 802AF014 002AAC74 39 08 00 08 */ addi r8, r8, 8 +/* 802AF018 002AAC78 98 85 00 01 */ stb r4, 1(r5) +/* 802AF01C 002AAC7C 98 85 00 02 */ stb r4, 2(r5) +/* 802AF020 002AAC80 98 85 00 03 */ stb r4, 3(r5) +/* 802AF024 002AAC84 98 85 00 04 */ stb r4, 4(r5) +/* 802AF028 002AAC88 98 85 00 05 */ stb r4, 5(r5) +/* 802AF02C 002AAC8C 98 85 00 06 */ stb r4, 6(r5) +/* 802AF030 002AAC90 98 85 00 07 */ stb r4, 7(r5) +/* 802AF034 002AAC94 7C A7 42 14 */ add r5, r7, r8 +/* 802AF038 002AAC98 7C 87 41 AE */ stbx r4, r7, r8 +/* 802AF03C 002AAC9C 39 08 00 08 */ addi r8, r8, 8 +/* 802AF040 002AACA0 98 85 00 01 */ stb r4, 1(r5) +/* 802AF044 002AACA4 98 85 00 02 */ stb r4, 2(r5) +/* 802AF048 002AACA8 98 85 00 03 */ stb r4, 3(r5) +/* 802AF04C 002AACAC 98 85 00 04 */ stb r4, 4(r5) +/* 802AF050 002AACB0 98 85 00 05 */ stb r4, 5(r5) +/* 802AF054 002AACB4 98 85 00 06 */ stb r4, 6(r5) +/* 802AF058 002AACB8 98 85 00 07 */ stb r4, 7(r5) +/* 802AF05C 002AACBC 7C A7 42 14 */ add r5, r7, r8 +/* 802AF060 002AACC0 7C 87 41 AE */ stbx r4, r7, r8 +/* 802AF064 002AACC4 39 08 00 08 */ addi r8, r8, 8 +/* 802AF068 002AACC8 98 85 00 01 */ stb r4, 1(r5) +/* 802AF06C 002AACCC 98 85 00 02 */ stb r4, 2(r5) +/* 802AF070 002AACD0 98 85 00 03 */ stb r4, 3(r5) +/* 802AF074 002AACD4 98 85 00 04 */ stb r4, 4(r5) +/* 802AF078 002AACD8 98 85 00 05 */ stb r4, 5(r5) +/* 802AF07C 002AACDC 98 85 00 06 */ stb r4, 6(r5) +/* 802AF080 002AACE0 98 85 00 07 */ stb r4, 7(r5) +/* 802AF084 002AACE4 7C A7 42 14 */ add r5, r7, r8 +/* 802AF088 002AACE8 7C 87 41 AE */ stbx r4, r7, r8 +/* 802AF08C 002AACEC 39 08 00 08 */ addi r8, r8, 8 +/* 802AF090 002AACF0 98 85 00 01 */ stb r4, 1(r5) +/* 802AF094 002AACF4 98 85 00 02 */ stb r4, 2(r5) +/* 802AF098 002AACF8 98 85 00 03 */ stb r4, 3(r5) +/* 802AF09C 002AACFC 98 85 00 04 */ stb r4, 4(r5) +/* 802AF0A0 002AAD00 98 85 00 05 */ stb r4, 5(r5) +/* 802AF0A4 002AAD04 98 85 00 06 */ stb r4, 6(r5) +/* 802AF0A8 002AAD08 98 85 00 07 */ stb r4, 7(r5) +/* 802AF0AC 002AAD0C 7C A7 42 14 */ add r5, r7, r8 +/* 802AF0B0 002AAD10 7C 87 41 AE */ stbx r4, r7, r8 +/* 802AF0B4 002AAD14 39 08 00 08 */ addi r8, r8, 8 +/* 802AF0B8 002AAD18 98 85 00 01 */ stb r4, 1(r5) +/* 802AF0BC 002AAD1C 98 85 00 02 */ stb r4, 2(r5) +/* 802AF0C0 002AAD20 98 85 00 03 */ stb r4, 3(r5) +/* 802AF0C4 002AAD24 98 85 00 04 */ stb r4, 4(r5) +/* 802AF0C8 002AAD28 98 85 00 05 */ stb r4, 5(r5) +/* 802AF0CC 002AAD2C 98 85 00 06 */ stb r4, 6(r5) +/* 802AF0D0 002AAD30 98 85 00 07 */ stb r4, 7(r5) +/* 802AF0D4 002AAD34 42 00 FF 10 */ bdnz lbl_802AEFE4 +/* 802AF0D8 002AAD38 88 9F 00 02 */ lbz r4, 2(r31) +/* 802AF0DC 002AAD3C 88 1F 00 01 */ lbz r0, 1(r31) +/* 802AF0E0 002AAD40 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 +/* 802AF0E4 002AAD44 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802AF0E8 002AAD48 B0 07 00 00 */ sth r0, 0(r7) +/* 802AF0EC 002AAD4C 80 06 08 B8 */ lwz r0, 0x8b8(r6) +/* 802AF0F0 002AAD50 2C 00 00 00 */ cmpwi r0, 0 +/* 802AF0F4 002AAD54 40 82 00 10 */ bne lbl_802AF104 +/* 802AF0F8 002AAD58 38 00 00 00 */ li r0, 0 +/* 802AF0FC 002AAD5C 98 07 00 29 */ stb r0, 0x29(r7) +/* 802AF100 002AAD60 48 00 00 0C */ b lbl_802AF10C +lbl_802AF104: +/* 802AF104 002AAD64 38 00 FF FC */ li r0, -4 +/* 802AF108 002AAD68 98 07 00 29 */ stb r0, 0x29(r7) +lbl_802AF10C: +/* 802AF10C 002AAD6C 88 06 08 C1 */ lbz r0, 0x8c1(r6) +/* 802AF110 002AAD70 98 07 00 28 */ stb r0, 0x28(r7) +/* 802AF114 002AAD74 88 1F 00 01 */ lbz r0, 1(r31) +/* 802AF118 002AAD78 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f +/* 802AF11C 002AAD7C 90 06 08 48 */ stw r0, 0x848(r6) +/* 802AF120 002AAD80 88 06 08 C8 */ lbz r0, 0x8c8(r6) +/* 802AF124 002AAD84 7C 00 00 34 */ cntlzw r0, r0 +/* 802AF128 002AAD88 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802AF12C 002AAD8C 98 06 08 C8 */ stb r0, 0x8c8(r6) +/* 802AF130 002AAD90 4B FB F6 55 */ bl OSRestoreInterrupts +/* 802AF134 002AAD94 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802AF138 002AAD98 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802AF13C 002AAD9C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802AF140 002AADA0 7C 08 03 A6 */ mtlr r0 +/* 802AF144 002AADA4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802AF148 002AADA8 4E 80 00 20 */ blr + +.global __a1_31_data_type +__a1_31_data_type: +/* 802AF14C 002AADAC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802AF150 002AADB0 7C 08 02 A6 */ mflr r0 +/* 802AF154 002AADB4 3C A0 80 53 */ lis r5, lbl_80536D70@ha +/* 802AF158 002AADB8 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d +/* 802AF15C 002AADBC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802AF160 002AADC0 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l +/* 802AF164 002AADC4 38 00 00 02 */ li r0, 2 +/* 802AF168 002AADC8 38 E0 00 00 */ li r7, 0 +/* 802AF16C 002AADCC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802AF170 002AADD0 7F E5 18 2E */ lwzx r31, r5, r3 +/* 802AF174 002AADD4 38 A0 00 00 */ li r5, 0 +/* 802AF178 002AADD8 88 7F 08 C8 */ lbz r3, 0x8c8(r31) +/* 802AF17C 002AADDC 1C 63 00 60 */ mulli r3, r3, 0x60 +/* 802AF180 002AADE0 7C 7F 1A 14 */ add r3, r31, r3 +/* 802AF184 002AADE4 38 63 00 A0 */ addi r3, r3, 0xa0 +/* 802AF188 002AADE8 7C 09 03 A6 */ mtctr r0 +lbl_802AF18C: +/* 802AF18C 002AADEC 7C A3 39 AE */ stbx r5, r3, r7 +/* 802AF190 002AADF0 7C C3 3A 14 */ add r6, r3, r7 +/* 802AF194 002AADF4 38 E7 00 08 */ addi r7, r7, 8 +/* 802AF198 002AADF8 98 A6 00 01 */ stb r5, 1(r6) +/* 802AF19C 002AADFC 98 A6 00 02 */ stb r5, 2(r6) +/* 802AF1A0 002AAE00 98 A6 00 03 */ stb r5, 3(r6) +/* 802AF1A4 002AAE04 98 A6 00 04 */ stb r5, 4(r6) +/* 802AF1A8 002AAE08 98 A6 00 05 */ stb r5, 5(r6) +/* 802AF1AC 002AAE0C 98 A6 00 06 */ stb r5, 6(r6) +/* 802AF1B0 002AAE10 98 A6 00 07 */ stb r5, 7(r6) +/* 802AF1B4 002AAE14 7C C3 3A 14 */ add r6, r3, r7 +/* 802AF1B8 002AAE18 7C A3 39 AE */ stbx r5, r3, r7 +/* 802AF1BC 002AAE1C 38 E7 00 08 */ addi r7, r7, 8 +/* 802AF1C0 002AAE20 98 A6 00 01 */ stb r5, 1(r6) +/* 802AF1C4 002AAE24 98 A6 00 02 */ stb r5, 2(r6) +/* 802AF1C8 002AAE28 98 A6 00 03 */ stb r5, 3(r6) +/* 802AF1CC 002AAE2C 98 A6 00 04 */ stb r5, 4(r6) +/* 802AF1D0 002AAE30 98 A6 00 05 */ stb r5, 5(r6) +/* 802AF1D4 002AAE34 98 A6 00 06 */ stb r5, 6(r6) +/* 802AF1D8 002AAE38 98 A6 00 07 */ stb r5, 7(r6) +/* 802AF1DC 002AAE3C 7C C3 3A 14 */ add r6, r3, r7 +/* 802AF1E0 002AAE40 7C A3 39 AE */ stbx r5, r3, r7 +/* 802AF1E4 002AAE44 38 E7 00 08 */ addi r7, r7, 8 +/* 802AF1E8 002AAE48 98 A6 00 01 */ stb r5, 1(r6) +/* 802AF1EC 002AAE4C 98 A6 00 02 */ stb r5, 2(r6) +/* 802AF1F0 002AAE50 98 A6 00 03 */ stb r5, 3(r6) +/* 802AF1F4 002AAE54 98 A6 00 04 */ stb r5, 4(r6) +/* 802AF1F8 002AAE58 98 A6 00 05 */ stb r5, 5(r6) +/* 802AF1FC 002AAE5C 98 A6 00 06 */ stb r5, 6(r6) +/* 802AF200 002AAE60 98 A6 00 07 */ stb r5, 7(r6) +/* 802AF204 002AAE64 7C C3 3A 14 */ add r6, r3, r7 +/* 802AF208 002AAE68 7C A3 39 AE */ stbx r5, r3, r7 +/* 802AF20C 002AAE6C 38 E7 00 08 */ addi r7, r7, 8 +/* 802AF210 002AAE70 98 A6 00 01 */ stb r5, 1(r6) +/* 802AF214 002AAE74 98 A6 00 02 */ stb r5, 2(r6) +/* 802AF218 002AAE78 98 A6 00 03 */ stb r5, 3(r6) +/* 802AF21C 002AAE7C 98 A6 00 04 */ stb r5, 4(r6) +/* 802AF220 002AAE80 98 A6 00 05 */ stb r5, 5(r6) +/* 802AF224 002AAE84 98 A6 00 06 */ stb r5, 6(r6) +/* 802AF228 002AAE88 98 A6 00 07 */ stb r5, 7(r6) +/* 802AF22C 002AAE8C 7C C3 3A 14 */ add r6, r3, r7 +/* 802AF230 002AAE90 7C A3 39 AE */ stbx r5, r3, r7 +/* 802AF234 002AAE94 38 E7 00 08 */ addi r7, r7, 8 +/* 802AF238 002AAE98 98 A6 00 01 */ stb r5, 1(r6) +/* 802AF23C 002AAE9C 98 A6 00 02 */ stb r5, 2(r6) +/* 802AF240 002AAEA0 98 A6 00 03 */ stb r5, 3(r6) +/* 802AF244 002AAEA4 98 A6 00 04 */ stb r5, 4(r6) +/* 802AF248 002AAEA8 98 A6 00 05 */ stb r5, 5(r6) +/* 802AF24C 002AAEAC 98 A6 00 06 */ stb r5, 6(r6) +/* 802AF250 002AAEB0 98 A6 00 07 */ stb r5, 7(r6) +/* 802AF254 002AAEB4 7C C3 3A 14 */ add r6, r3, r7 +/* 802AF258 002AAEB8 7C A3 39 AE */ stbx r5, r3, r7 +/* 802AF25C 002AAEBC 38 E7 00 08 */ addi r7, r7, 8 +/* 802AF260 002AAEC0 98 A6 00 01 */ stb r5, 1(r6) +/* 802AF264 002AAEC4 98 A6 00 02 */ stb r5, 2(r6) +/* 802AF268 002AAEC8 98 A6 00 03 */ stb r5, 3(r6) +/* 802AF26C 002AAECC 98 A6 00 04 */ stb r5, 4(r6) +/* 802AF270 002AAED0 98 A6 00 05 */ stb r5, 5(r6) +/* 802AF274 002AAED4 98 A6 00 06 */ stb r5, 6(r6) +/* 802AF278 002AAED8 98 A6 00 07 */ stb r5, 7(r6) +/* 802AF27C 002AAEDC 42 00 FF 10 */ bdnz lbl_802AF18C +/* 802AF280 002AAEE0 88 A4 00 02 */ lbz r5, 2(r4) +/* 802AF284 002AAEE4 88 04 00 01 */ lbz r0, 1(r4) +/* 802AF288 002AAEE8 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 +/* 802AF28C 002AAEEC 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802AF290 002AAEF0 B0 03 00 00 */ sth r0, 0(r3) +/* 802AF294 002AAEF4 80 1F 08 B8 */ lwz r0, 0x8b8(r31) +/* 802AF298 002AAEF8 28 00 00 01 */ cmplwi r0, 1 +/* 802AF29C 002AAEFC 41 81 00 10 */ bgt lbl_802AF2AC +/* 802AF2A0 002AAF00 38 00 00 00 */ li r0, 0 +/* 802AF2A4 002AAF04 98 03 00 29 */ stb r0, 0x29(r3) +/* 802AF2A8 002AAF08 48 00 00 0C */ b lbl_802AF2B4 +lbl_802AF2AC: +/* 802AF2AC 002AAF0C 38 00 FF FC */ li r0, -4 +/* 802AF2B0 002AAF10 98 03 00 29 */ stb r0, 0x29(r3) +lbl_802AF2B4: +/* 802AF2B4 002AAF14 88 1F 08 C1 */ lbz r0, 0x8c1(r31) +/* 802AF2B8 002AAF18 98 03 00 28 */ stb r0, 0x28(r3) +/* 802AF2BC 002AAF1C 88 04 00 01 */ lbz r0, 1(r4) +/* 802AF2C0 002AAF20 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f +/* 802AF2C4 002AAF24 90 1F 08 48 */ stw r0, 0x848(r31) +/* 802AF2C8 002AAF28 88 A4 00 03 */ lbz r5, 3(r4) +/* 802AF2CC 002AAF2C 88 04 00 01 */ lbz r0, 1(r4) +/* 802AF2D0 002AAF30 54 A5 10 3A */ slwi r5, r5, 2 +/* 802AF2D4 002AAF34 A8 DF 08 74 */ lha r6, 0x874(r31) +/* 802AF2D8 002AAF38 7C A5 07 34 */ extsh r5, r5 +/* 802AF2DC 002AAF3C 54 00 DF BE */ rlwinm r0, r0, 0x1b, 0x1e, 0x1f +/* 802AF2E0 002AAF40 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802AF2E4 002AAF44 7C A5 07 34 */ extsh r5, r5 +/* 802AF2E8 002AAF48 7C A0 03 78 */ or r0, r5, r0 +/* 802AF2EC 002AAF4C 7C 00 07 34 */ extsh r0, r0 +/* 802AF2F0 002AAF50 7C 06 00 50 */ subf r0, r6, r0 +/* 802AF2F4 002AAF54 B0 03 00 02 */ sth r0, 2(r3) +/* 802AF2F8 002AAF58 88 A4 00 04 */ lbz r5, 4(r4) +/* 802AF2FC 002AAF5C 88 04 00 02 */ lbz r0, 2(r4) +/* 802AF300 002AAF60 54 A5 10 3A */ slwi r5, r5, 2 +/* 802AF304 002AAF64 A8 DF 08 76 */ lha r6, 0x876(r31) +/* 802AF308 002AAF68 7C A5 07 34 */ extsh r5, r5 +/* 802AF30C 002AAF6C 54 00 E7 BC */ rlwinm r0, r0, 0x1c, 0x1e, 0x1e +/* 802AF310 002AAF70 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802AF314 002AAF74 7C A5 07 34 */ extsh r5, r5 +/* 802AF318 002AAF78 7C 00 07 34 */ extsh r0, r0 +/* 802AF31C 002AAF7C 7C A0 03 78 */ or r0, r5, r0 +/* 802AF320 002AAF80 7C 00 07 34 */ extsh r0, r0 +/* 802AF324 002AAF84 7C 06 00 50 */ subf r0, r6, r0 +/* 802AF328 002AAF88 B0 03 00 04 */ sth r0, 4(r3) +/* 802AF32C 002AAF8C 88 A4 00 05 */ lbz r5, 5(r4) +/* 802AF330 002AAF90 88 04 00 02 */ lbz r0, 2(r4) +/* 802AF334 002AAF94 54 A4 10 3A */ slwi r4, r5, 2 +/* 802AF338 002AAF98 A8 BF 08 78 */ lha r5, 0x878(r31) +/* 802AF33C 002AAF9C 7C 84 07 34 */ extsh r4, r4 +/* 802AF340 002AAFA0 54 00 DF BC */ rlwinm r0, r0, 0x1b, 0x1e, 0x1e +/* 802AF344 002AAFA4 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d +/* 802AF348 002AAFA8 7C 84 07 34 */ extsh r4, r4 +/* 802AF34C 002AAFAC 7C 00 07 34 */ extsh r0, r0 +/* 802AF350 002AAFB0 7C 80 03 78 */ or r0, r4, r0 +/* 802AF354 002AAFB4 7C 00 07 34 */ extsh r0, r0 +/* 802AF358 002AAFB8 7C 05 00 50 */ subf r0, r5, r0 +/* 802AF35C 002AAFBC B0 03 00 06 */ sth r0, 6(r3) +/* 802AF360 002AAFC0 4B FB F3 FD */ bl OSDisableInterrupts +/* 802AF364 002AAFC4 88 1F 08 C8 */ lbz r0, 0x8c8(r31) +/* 802AF368 002AAFC8 7C 00 00 34 */ cntlzw r0, r0 +/* 802AF36C 002AAFCC 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802AF370 002AAFD0 98 1F 08 C8 */ stb r0, 0x8c8(r31) +/* 802AF374 002AAFD4 4B FB F4 11 */ bl OSRestoreInterrupts +/* 802AF378 002AAFD8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802AF37C 002AAFDC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802AF380 002AAFE0 7C 08 03 A6 */ mtlr r0 +/* 802AF384 002AAFE4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802AF388 002AAFE8 4E 80 00 20 */ blr + +.global __a1_32_data_type +__a1_32_data_type: +/* 802AF38C 002AAFEC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802AF390 002AAFF0 7C 08 02 A6 */ mflr r0 +/* 802AF394 002AAFF4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802AF398 002AAFF8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802AF39C 002AAFFC 4B F1 7D 8D */ bl _savegpr_27 +/* 802AF3A0 002AB000 7C 7D 1B 78 */ mr r29, r3 +/* 802AF3A4 002AB004 7C 9B 23 78 */ mr r27, r4 +/* 802AF3A8 002AB008 4B FB F3 B5 */ bl OSDisableInterrupts +/* 802AF3AC 002AB00C 3C 80 80 53 */ lis r4, lbl_80536D70@ha +/* 802AF3B0 002AB010 7C 7C 1B 78 */ mr r28, r3 +/* 802AF3B4 002AB014 57 A5 15 BA */ rlwinm r5, r29, 2, 0x16, 0x1d +/* 802AF3B8 002AB018 38 00 00 02 */ li r0, 2 +/* 802AF3BC 002AB01C 38 84 6D 70 */ addi r4, r4, lbl_80536D70@l +/* 802AF3C0 002AB020 38 60 00 00 */ li r3, 0 +/* 802AF3C4 002AB024 7F E4 28 2E */ lwzx r31, r4, r5 +/* 802AF3C8 002AB028 38 A0 00 00 */ li r5, 0 +/* 802AF3CC 002AB02C 88 9F 08 C8 */ lbz r4, 0x8c8(r31) +/* 802AF3D0 002AB030 1C 84 00 60 */ mulli r4, r4, 0x60 +/* 802AF3D4 002AB034 7C 9F 22 14 */ add r4, r31, r4 +/* 802AF3D8 002AB038 3B C4 00 A0 */ addi r30, r4, 0xa0 +/* 802AF3DC 002AB03C 7C 09 03 A6 */ mtctr r0 +lbl_802AF3E0: +/* 802AF3E0 002AB040 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802AF3E4 002AB044 7C 9E 2A 14 */ add r4, r30, r5 +/* 802AF3E8 002AB048 38 A5 00 08 */ addi r5, r5, 8 +/* 802AF3EC 002AB04C 98 64 00 01 */ stb r3, 1(r4) +/* 802AF3F0 002AB050 98 64 00 02 */ stb r3, 2(r4) +/* 802AF3F4 002AB054 98 64 00 03 */ stb r3, 3(r4) +/* 802AF3F8 002AB058 98 64 00 04 */ stb r3, 4(r4) +/* 802AF3FC 002AB05C 98 64 00 05 */ stb r3, 5(r4) +/* 802AF400 002AB060 98 64 00 06 */ stb r3, 6(r4) +/* 802AF404 002AB064 98 64 00 07 */ stb r3, 7(r4) +/* 802AF408 002AB068 7C 9E 2A 14 */ add r4, r30, r5 +/* 802AF40C 002AB06C 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802AF410 002AB070 38 A5 00 08 */ addi r5, r5, 8 +/* 802AF414 002AB074 98 64 00 01 */ stb r3, 1(r4) +/* 802AF418 002AB078 98 64 00 02 */ stb r3, 2(r4) +/* 802AF41C 002AB07C 98 64 00 03 */ stb r3, 3(r4) +/* 802AF420 002AB080 98 64 00 04 */ stb r3, 4(r4) +/* 802AF424 002AB084 98 64 00 05 */ stb r3, 5(r4) +/* 802AF428 002AB088 98 64 00 06 */ stb r3, 6(r4) +/* 802AF42C 002AB08C 98 64 00 07 */ stb r3, 7(r4) +/* 802AF430 002AB090 7C 9E 2A 14 */ add r4, r30, r5 +/* 802AF434 002AB094 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802AF438 002AB098 38 A5 00 08 */ addi r5, r5, 8 +/* 802AF43C 002AB09C 98 64 00 01 */ stb r3, 1(r4) +/* 802AF440 002AB0A0 98 64 00 02 */ stb r3, 2(r4) +/* 802AF444 002AB0A4 98 64 00 03 */ stb r3, 3(r4) +/* 802AF448 002AB0A8 98 64 00 04 */ stb r3, 4(r4) +/* 802AF44C 002AB0AC 98 64 00 05 */ stb r3, 5(r4) +/* 802AF450 002AB0B0 98 64 00 06 */ stb r3, 6(r4) +/* 802AF454 002AB0B4 98 64 00 07 */ stb r3, 7(r4) +/* 802AF458 002AB0B8 7C 9E 2A 14 */ add r4, r30, r5 +/* 802AF45C 002AB0BC 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802AF460 002AB0C0 38 A5 00 08 */ addi r5, r5, 8 +/* 802AF464 002AB0C4 98 64 00 01 */ stb r3, 1(r4) +/* 802AF468 002AB0C8 98 64 00 02 */ stb r3, 2(r4) +/* 802AF46C 002AB0CC 98 64 00 03 */ stb r3, 3(r4) +/* 802AF470 002AB0D0 98 64 00 04 */ stb r3, 4(r4) +/* 802AF474 002AB0D4 98 64 00 05 */ stb r3, 5(r4) +/* 802AF478 002AB0D8 98 64 00 06 */ stb r3, 6(r4) +/* 802AF47C 002AB0DC 98 64 00 07 */ stb r3, 7(r4) +/* 802AF480 002AB0E0 7C 9E 2A 14 */ add r4, r30, r5 +/* 802AF484 002AB0E4 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802AF488 002AB0E8 38 A5 00 08 */ addi r5, r5, 8 +/* 802AF48C 002AB0EC 98 64 00 01 */ stb r3, 1(r4) +/* 802AF490 002AB0F0 98 64 00 02 */ stb r3, 2(r4) +/* 802AF494 002AB0F4 98 64 00 03 */ stb r3, 3(r4) +/* 802AF498 002AB0F8 98 64 00 04 */ stb r3, 4(r4) +/* 802AF49C 002AB0FC 98 64 00 05 */ stb r3, 5(r4) +/* 802AF4A0 002AB100 98 64 00 06 */ stb r3, 6(r4) +/* 802AF4A4 002AB104 98 64 00 07 */ stb r3, 7(r4) +/* 802AF4A8 002AB108 7C 9E 2A 14 */ add r4, r30, r5 +/* 802AF4AC 002AB10C 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802AF4B0 002AB110 38 A5 00 08 */ addi r5, r5, 8 +/* 802AF4B4 002AB114 98 64 00 01 */ stb r3, 1(r4) +/* 802AF4B8 002AB118 98 64 00 02 */ stb r3, 2(r4) +/* 802AF4BC 002AB11C 98 64 00 03 */ stb r3, 3(r4) +/* 802AF4C0 002AB120 98 64 00 04 */ stb r3, 4(r4) +/* 802AF4C4 002AB124 98 64 00 05 */ stb r3, 5(r4) +/* 802AF4C8 002AB128 98 64 00 06 */ stb r3, 6(r4) +/* 802AF4CC 002AB12C 98 64 00 07 */ stb r3, 7(r4) +/* 802AF4D0 002AB130 42 00 FF 10 */ bdnz lbl_802AF3E0 +/* 802AF4D4 002AB134 88 7B 00 02 */ lbz r3, 2(r27) +/* 802AF4D8 002AB138 88 1B 00 01 */ lbz r0, 1(r27) +/* 802AF4DC 002AB13C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802AF4E0 002AB140 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802AF4E4 002AB144 B0 1E 00 00 */ sth r0, 0(r30) +/* 802AF4E8 002AB148 80 1F 08 B8 */ lwz r0, 0x8b8(r31) +/* 802AF4EC 002AB14C 2C 00 00 00 */ cmpwi r0, 0 +/* 802AF4F0 002AB150 41 82 00 14 */ beq lbl_802AF504 +/* 802AF4F4 002AB154 28 00 00 03 */ cmplwi r0, 3 +/* 802AF4F8 002AB158 41 82 00 0C */ beq lbl_802AF504 +/* 802AF4FC 002AB15C 28 00 00 06 */ cmplwi r0, 6 +/* 802AF500 002AB160 40 82 00 10 */ bne lbl_802AF510 +lbl_802AF504: +/* 802AF504 002AB164 38 00 00 00 */ li r0, 0 +/* 802AF508 002AB168 98 1E 00 29 */ stb r0, 0x29(r30) +/* 802AF50C 002AB16C 48 00 00 0C */ b lbl_802AF518 +lbl_802AF510: +/* 802AF510 002AB170 38 00 FF FC */ li r0, -4 +/* 802AF514 002AB174 98 1E 00 29 */ stb r0, 0x29(r30) +lbl_802AF518: +/* 802AF518 002AB178 88 1F 08 C1 */ lbz r0, 0x8c1(r31) +/* 802AF51C 002AB17C 3C 60 80 54 */ lis r3, lbl_8053A468@ha +/* 802AF520 002AB180 38 63 A4 68 */ addi r3, r3, lbl_8053A468@l +/* 802AF524 002AB184 38 9B 00 03 */ addi r4, r27, 3 +/* 802AF528 002AB188 98 1E 00 28 */ stb r0, 0x28(r30) +/* 802AF52C 002AB18C 38 A0 00 08 */ li r5, 8 +/* 802AF530 002AB190 88 1B 00 01 */ lbz r0, 1(r27) +/* 802AF534 002AB194 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f +/* 802AF538 002AB198 90 1F 08 48 */ stw r0, 0x848(r31) +/* 802AF53C 002AB19C 4B D5 4A C5 */ bl memcpy +/* 802AF540 002AB1A0 7F A3 EB 78 */ mr r3, r29 +/* 802AF544 002AB1A4 38 9B 00 03 */ addi r4, r27, 3 +/* 802AF548 002AB1A8 38 A0 00 08 */ li r5, 8 +/* 802AF54C 002AB1AC 38 C0 00 00 */ li r6, 0 +/* 802AF550 002AB1B0 48 00 35 09 */ bl func_802B2A58 +/* 802AF554 002AB1B4 80 1F 08 40 */ lwz r0, 0x840(r31) +/* 802AF558 002AB1B8 2C 00 00 00 */ cmpwi r0, 0 +/* 802AF55C 002AB1BC 41 82 05 B8 */ beq lbl_802AFB14 +/* 802AF560 002AB1C0 88 1F 08 C1 */ lbz r0, 0x8c1(r31) +/* 802AF564 002AB1C4 28 00 00 01 */ cmplwi r0, 1 +/* 802AF568 002AB1C8 40 82 01 80 */ bne lbl_802AF6E8 +/* 802AF56C 002AB1CC 88 7F 08 C8 */ lbz r3, 0x8c8(r31) +/* 802AF570 002AB1D0 88 1B 00 03 */ lbz r0, 3(r27) +/* 802AF574 002AB1D4 1C 63 00 60 */ mulli r3, r3, 0x60 +/* 802AF578 002AB1D8 7C 7F 1A 14 */ add r3, r31, r3 +/* 802AF57C 002AB1DC 98 03 00 D0 */ stb r0, 0xd0(r3) +/* 802AF580 002AB1E0 88 1B 00 04 */ lbz r0, 4(r27) +/* 802AF584 002AB1E4 98 03 00 D1 */ stb r0, 0xd1(r3) +/* 802AF588 002AB1E8 88 1B 00 05 */ lbz r0, 5(r27) +/* 802AF58C 002AB1EC 88 9B 00 08 */ lbz r4, 8(r27) +/* 802AF590 002AB1F0 54 00 10 3A */ slwi r0, r0, 2 +/* 802AF594 002AB1F4 A8 DF 08 8E */ lha r6, 0x88e(r31) +/* 802AF598 002AB1F8 7C 05 07 34 */ extsh r5, r0 +/* 802AF59C 002AB1FC 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802AF5A0 002AB200 54 80 F7 BE */ rlwinm r0, r4, 0x1e, 0x1e, 0x1f +/* 802AF5A4 002AB204 7C 84 16 70 */ srawi r4, r4, 2 +/* 802AF5A8 002AB208 7C A4 07 34 */ extsh r4, r5 +/* 802AF5AC 002AB20C 7C 80 03 78 */ or r0, r4, r0 +/* 802AF5B0 002AB210 7C 00 07 34 */ extsh r0, r0 +/* 802AF5B4 002AB214 7C 06 00 50 */ subf r0, r6, r0 +/* 802AF5B8 002AB218 B0 03 00 CA */ sth r0, 0xca(r3) +/* 802AF5BC 002AB21C 88 1B 00 06 */ lbz r0, 6(r27) +/* 802AF5C0 002AB220 88 9B 00 08 */ lbz r4, 8(r27) +/* 802AF5C4 002AB224 54 00 10 3A */ slwi r0, r0, 2 +/* 802AF5C8 002AB228 A8 DF 08 90 */ lha r6, 0x890(r31) +/* 802AF5CC 002AB22C 7C 05 07 34 */ extsh r5, r0 +/* 802AF5D0 002AB230 54 80 E7 BE */ rlwinm r0, r4, 0x1c, 0x1e, 0x1f +/* 802AF5D4 002AB234 7C 84 26 70 */ srawi r4, r4, 4 +/* 802AF5D8 002AB238 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802AF5DC 002AB23C 7C A4 07 34 */ extsh r4, r5 +/* 802AF5E0 002AB240 7C 80 03 78 */ or r0, r4, r0 +/* 802AF5E4 002AB244 7C 00 07 34 */ extsh r0, r0 +/* 802AF5E8 002AB248 7C 06 00 50 */ subf r0, r6, r0 +/* 802AF5EC 002AB24C B0 03 00 CC */ sth r0, 0xcc(r3) +/* 802AF5F0 002AB250 88 9B 00 07 */ lbz r4, 7(r27) +/* 802AF5F4 002AB254 88 1B 00 08 */ lbz r0, 8(r27) +/* 802AF5F8 002AB258 54 84 10 3A */ slwi r4, r4, 2 +/* 802AF5FC 002AB25C A8 BF 08 92 */ lha r5, 0x892(r31) +/* 802AF600 002AB260 7C 84 07 34 */ extsh r4, r4 +/* 802AF604 002AB264 7C 00 36 70 */ srawi r0, r0, 6 +/* 802AF608 002AB268 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d +/* 802AF60C 002AB26C 7C 84 07 34 */ extsh r4, r4 +/* 802AF610 002AB270 7C 80 03 78 */ or r0, r4, r0 +/* 802AF614 002AB274 7C 00 07 34 */ extsh r0, r0 +/* 802AF618 002AB278 7C 05 00 50 */ subf r0, r5, r0 +/* 802AF61C 002AB27C B0 03 00 CE */ sth r0, 0xce(r3) +/* 802AF620 002AB280 88 1B 00 08 */ lbz r0, 8(r27) +/* 802AF624 002AB284 A0 83 00 A0 */ lhz r4, 0xa0(r3) +/* 802AF628 002AB288 7C 00 00 F8 */ nor r0, r0, r0 +/* 802AF62C 002AB28C 54 00 6C 64 */ rlwinm r0, r0, 0xd, 0x11, 0x12 +/* 802AF630 002AB290 7C 80 03 78 */ or r0, r4, r0 +/* 802AF634 002AB294 B0 03 00 A0 */ sth r0, 0xa0(r3) +/* 802AF638 002AB298 88 1F 09 11 */ lbz r0, 0x911(r31) +/* 802AF63C 002AB29C 2C 00 00 00 */ cmpwi r0, 0 +/* 802AF640 002AB2A0 40 82 00 24 */ bne lbl_802AF664 +/* 802AF644 002AB2A4 38 00 00 01 */ li r0, 1 +/* 802AF648 002AB2A8 98 1F 09 11 */ stb r0, 0x911(r31) +/* 802AF64C 002AB2AC 88 03 00 D0 */ lbz r0, 0xd0(r3) +/* 802AF650 002AB2B0 7C 00 07 74 */ extsb r0, r0 +/* 802AF654 002AB2B4 B0 1F 08 82 */ sth r0, 0x882(r31) +/* 802AF658 002AB2B8 88 03 00 D1 */ lbz r0, 0xd1(r3) +/* 802AF65C 002AB2BC 7C 00 07 74 */ extsb r0, r0 +/* 802AF660 002AB2C0 B0 1F 08 88 */ sth r0, 0x888(r31) +lbl_802AF664: +/* 802AF664 002AB2C4 A8 9F 08 82 */ lha r4, 0x882(r31) +/* 802AF668 002AB2C8 88 03 00 D0 */ lbz r0, 0xd0(r3) +/* 802AF66C 002AB2CC 54 85 06 3E */ clrlwi r5, r4, 0x18 +/* 802AF670 002AB2D0 A8 9F 08 88 */ lha r4, 0x888(r31) +/* 802AF674 002AB2D4 7C A5 00 50 */ subf r5, r5, r0 +/* 802AF678 002AB2D8 88 03 00 D1 */ lbz r0, 0xd1(r3) +/* 802AF67C 002AB2DC 7C A5 07 34 */ extsh r5, r5 +/* 802AF680 002AB2E0 54 84 06 3E */ clrlwi r4, r4, 0x18 +/* 802AF684 002AB2E4 2C 05 FF 80 */ cmpwi r5, -128 +/* 802AF688 002AB2E8 7C 04 00 50 */ subf r0, r4, r0 +/* 802AF68C 002AB2EC 7C 04 07 34 */ extsh r4, r0 +/* 802AF690 002AB2F0 40 80 00 10 */ bge lbl_802AF6A0 +/* 802AF694 002AB2F4 38 00 FF 80 */ li r0, -128 +/* 802AF698 002AB2F8 98 03 00 D0 */ stb r0, 0xd0(r3) +/* 802AF69C 002AB2FC 48 00 00 1C */ b lbl_802AF6B8 +lbl_802AF6A0: +/* 802AF6A0 002AB300 2C 05 00 7F */ cmpwi r5, 0x7f +/* 802AF6A4 002AB304 40 81 00 10 */ ble lbl_802AF6B4 +/* 802AF6A8 002AB308 38 00 00 7F */ li r0, 0x7f +/* 802AF6AC 002AB30C 98 03 00 D0 */ stb r0, 0xd0(r3) +/* 802AF6B0 002AB310 48 00 00 08 */ b lbl_802AF6B8 +lbl_802AF6B4: +/* 802AF6B4 002AB314 98 A3 00 D0 */ stb r5, 0xd0(r3) +lbl_802AF6B8: +/* 802AF6B8 002AB318 2C 04 FF 80 */ cmpwi r4, -128 +/* 802AF6BC 002AB31C 40 80 00 10 */ bge lbl_802AF6CC +/* 802AF6C0 002AB320 38 00 FF 80 */ li r0, -128 +/* 802AF6C4 002AB324 98 03 00 D1 */ stb r0, 0xd1(r3) +/* 802AF6C8 002AB328 48 00 04 18 */ b lbl_802AFAE0 +lbl_802AF6CC: +/* 802AF6CC 002AB32C 2C 04 00 7F */ cmpwi r4, 0x7f +/* 802AF6D0 002AB330 40 81 00 10 */ ble lbl_802AF6E0 +/* 802AF6D4 002AB334 38 00 00 7F */ li r0, 0x7f +/* 802AF6D8 002AB338 98 03 00 D1 */ stb r0, 0xd1(r3) +/* 802AF6DC 002AB33C 48 00 04 04 */ b lbl_802AFAE0 +lbl_802AF6E0: +/* 802AF6E0 002AB340 98 83 00 D1 */ stb r4, 0xd1(r3) +/* 802AF6E4 002AB344 48 00 03 FC */ b lbl_802AFAE0 +lbl_802AF6E8: +/* 802AF6E8 002AB348 28 00 00 02 */ cmplwi r0, 2 +/* 802AF6EC 002AB34C 40 82 03 F4 */ bne lbl_802AFAE0 +/* 802AF6F0 002AB350 88 1F 08 C2 */ lbz r0, 0x8c2(r31) +/* 802AF6F4 002AB354 2C 00 00 02 */ cmpwi r0, 2 +/* 802AF6F8 002AB358 41 82 00 E4 */ beq lbl_802AF7DC +/* 802AF6FC 002AB35C 40 80 00 10 */ bge lbl_802AF70C +/* 802AF700 002AB360 2C 00 00 01 */ cmpwi r0, 1 +/* 802AF704 002AB364 40 80 00 14 */ bge lbl_802AF718 +/* 802AF708 002AB368 48 00 02 58 */ b lbl_802AF960 +lbl_802AF70C: +/* 802AF70C 002AB36C 2C 00 00 04 */ cmpwi r0, 4 +/* 802AF710 002AB370 40 80 02 50 */ bge lbl_802AF960 +/* 802AF714 002AB374 48 00 01 B8 */ b lbl_802AF8CC +lbl_802AF718: +/* 802AF718 002AB378 88 7F 08 C8 */ lbz r3, 0x8c8(r31) +/* 802AF71C 002AB37C 88 1B 00 03 */ lbz r0, 3(r27) +/* 802AF720 002AB380 1C 63 00 60 */ mulli r3, r3, 0x60 +/* 802AF724 002AB384 54 00 25 B6 */ rlwinm r0, r0, 4, 0x16, 0x1b +/* 802AF728 002AB388 7C 9F 1A 14 */ add r4, r31, r3 +/* 802AF72C 002AB38C 7C 03 07 34 */ extsh r3, r0 +/* 802AF730 002AB390 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF734 002AB394 3B A4 00 A0 */ addi r29, r4, 0xa0 +/* 802AF738 002AB398 B0 04 00 CC */ sth r0, 0xcc(r4) +/* 802AF73C 002AB39C 88 1B 00 04 */ lbz r0, 4(r27) +/* 802AF740 002AB3A0 54 00 25 B6 */ rlwinm r0, r0, 4, 0x16, 0x1b +/* 802AF744 002AB3A4 7C 03 07 34 */ extsh r3, r0 +/* 802AF748 002AB3A8 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF74C 002AB3AC B0 04 00 CE */ sth r0, 0xce(r4) +/* 802AF750 002AB3B0 88 7B 00 04 */ lbz r3, 4(r27) +/* 802AF754 002AB3B4 88 BB 00 05 */ lbz r5, 5(r27) +/* 802AF758 002AB3B8 88 9B 00 03 */ lbz r4, 3(r27) +/* 802AF75C 002AB3BC 54 60 DF 7C */ rlwinm r0, r3, 0x1b, 0x1d, 0x1e +/* 802AF760 002AB3C0 7C A5 3E 70 */ srawi r5, r5, 7 +/* 802AF764 002AB3C4 50 80 EE F8 */ rlwimi r0, r4, 0x1d, 0x1b, 0x1c +/* 802AF768 002AB3C8 7C 84 1E 70 */ srawi r4, r4, 3 +/* 802AF76C 002AB3CC 7C A0 03 78 */ or r0, r5, r0 +/* 802AF770 002AB3D0 7C 63 2E 70 */ srawi r3, r3, 5 +/* 802AF774 002AB3D4 7C 00 07 34 */ extsh r0, r0 +/* 802AF778 002AB3D8 54 00 28 34 */ slwi r0, r0, 5 +/* 802AF77C 002AB3DC 7C 03 07 34 */ extsh r3, r0 +/* 802AF780 002AB3E0 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF784 002AB3E4 B0 1D 00 30 */ sth r0, 0x30(r29) +/* 802AF788 002AB3E8 88 1B 00 05 */ lbz r0, 5(r27) +/* 802AF78C 002AB3EC 54 00 2D B4 */ rlwinm r0, r0, 5, 0x16, 0x1a +/* 802AF790 002AB3F0 7C 03 07 34 */ extsh r3, r0 +/* 802AF794 002AB3F4 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF798 002AB3F8 B0 1D 00 32 */ sth r0, 0x32(r29) +/* 802AF79C 002AB3FC 88 7B 00 05 */ lbz r3, 5(r27) +/* 802AF7A0 002AB400 88 1B 00 06 */ lbz r0, 6(r27) +/* 802AF7A4 002AB404 7C 63 16 70 */ srawi r3, r3, 2 +/* 802AF7A8 002AB408 7C 00 2E 70 */ srawi r0, r0, 5 +/* 802AF7AC 002AB40C 50 60 06 F8 */ rlwimi r0, r3, 0, 0x1b, 0x1c +/* 802AF7B0 002AB410 54 00 1E 38 */ rlwinm r0, r0, 3, 0x18, 0x1c +/* 802AF7B4 002AB414 98 1D 00 34 */ stb r0, 0x34(r29) +/* 802AF7B8 002AB418 88 1B 00 06 */ lbz r0, 6(r27) +/* 802AF7BC 002AB41C 54 00 1E 38 */ rlwinm r0, r0, 3, 0x18, 0x1c +/* 802AF7C0 002AB420 98 1D 00 35 */ stb r0, 0x35(r29) +/* 802AF7C4 002AB424 88 7B 00 07 */ lbz r3, 7(r27) +/* 802AF7C8 002AB428 88 1B 00 08 */ lbz r0, 8(r27) +/* 802AF7CC 002AB42C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802AF7D0 002AB430 68 00 FF FF */ xori r0, r0, 0xffff +/* 802AF7D4 002AB434 B0 1D 00 2A */ sth r0, 0x2a(r29) +/* 802AF7D8 002AB438 48 00 01 88 */ b lbl_802AF960 +lbl_802AF7DC: +/* 802AF7DC 002AB43C 88 1B 00 03 */ lbz r0, 3(r27) +/* 802AF7E0 002AB440 88 9F 08 C8 */ lbz r4, 0x8c8(r31) +/* 802AF7E4 002AB444 54 03 10 3A */ slwi r3, r0, 2 +/* 802AF7E8 002AB448 88 1B 00 07 */ lbz r0, 7(r27) +/* 802AF7EC 002AB44C 7C 63 07 34 */ extsh r3, r3 +/* 802AF7F0 002AB450 54 63 00 3A */ rlwinm r3, r3, 0, 0, 0x1d +/* 802AF7F4 002AB454 54 00 07 BE */ clrlwi r0, r0, 0x1e +/* 802AF7F8 002AB458 1C 84 00 60 */ mulli r4, r4, 0x60 +/* 802AF7FC 002AB45C 7C 63 07 34 */ extsh r3, r3 +/* 802AF800 002AB460 7C 60 03 78 */ or r0, r3, r0 +/* 802AF804 002AB464 7C 03 07 34 */ extsh r3, r0 +/* 802AF808 002AB468 7C 9F 22 14 */ add r4, r31, r4 +/* 802AF80C 002AB46C 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF810 002AB470 B0 04 00 CC */ sth r0, 0xcc(r4) +/* 802AF814 002AB474 3B A4 00 A0 */ addi r29, r4, 0xa0 +/* 802AF818 002AB478 88 7B 00 07 */ lbz r3, 7(r27) +/* 802AF81C 002AB47C 88 9B 00 04 */ lbz r4, 4(r27) +/* 802AF820 002AB480 54 60 F7 BE */ rlwinm r0, r3, 0x1e, 0x1e, 0x1f +/* 802AF824 002AB484 7C 63 16 70 */ srawi r3, r3, 2 +/* 802AF828 002AB488 54 83 10 3A */ slwi r3, r4, 2 +/* 802AF82C 002AB48C 7C 63 07 34 */ extsh r3, r3 +/* 802AF830 002AB490 54 63 00 3A */ rlwinm r3, r3, 0, 0, 0x1d +/* 802AF834 002AB494 7C 63 07 34 */ extsh r3, r3 +/* 802AF838 002AB498 7C 60 03 78 */ or r0, r3, r0 +/* 802AF83C 002AB49C 7C 03 07 34 */ extsh r3, r0 +/* 802AF840 002AB4A0 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF844 002AB4A4 B0 1D 00 30 */ sth r0, 0x30(r29) +/* 802AF848 002AB4A8 88 7B 00 07 */ lbz r3, 7(r27) +/* 802AF84C 002AB4AC 88 9B 00 05 */ lbz r4, 5(r27) +/* 802AF850 002AB4B0 54 60 E7 BE */ rlwinm r0, r3, 0x1c, 0x1e, 0x1f +/* 802AF854 002AB4B4 7C 63 26 70 */ srawi r3, r3, 4 +/* 802AF858 002AB4B8 54 83 10 3A */ slwi r3, r4, 2 +/* 802AF85C 002AB4BC 7C 63 07 34 */ extsh r3, r3 +/* 802AF860 002AB4C0 54 63 00 3A */ rlwinm r3, r3, 0, 0, 0x1d +/* 802AF864 002AB4C4 7C 63 07 34 */ extsh r3, r3 +/* 802AF868 002AB4C8 7C 60 03 78 */ or r0, r3, r0 +/* 802AF86C 002AB4CC 7C 03 07 34 */ extsh r3, r0 +/* 802AF870 002AB4D0 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF874 002AB4D4 B0 1D 00 2E */ sth r0, 0x2e(r29) +/* 802AF878 002AB4D8 88 7B 00 06 */ lbz r3, 6(r27) +/* 802AF87C 002AB4DC 88 1B 00 07 */ lbz r0, 7(r27) +/* 802AF880 002AB4E0 54 63 10 3A */ slwi r3, r3, 2 +/* 802AF884 002AB4E4 7C 63 07 34 */ extsh r3, r3 +/* 802AF888 002AB4E8 7C 00 36 70 */ srawi r0, r0, 6 +/* 802AF88C 002AB4EC 54 63 00 3A */ rlwinm r3, r3, 0, 0, 0x1d +/* 802AF890 002AB4F0 7C 63 07 34 */ extsh r3, r3 +/* 802AF894 002AB4F4 7C 60 03 78 */ or r0, r3, r0 +/* 802AF898 002AB4F8 7C 03 07 34 */ extsh r3, r0 +/* 802AF89C 002AB4FC 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF8A0 002AB500 B0 1D 00 32 */ sth r0, 0x32(r29) +/* 802AF8A4 002AB504 88 1B 00 08 */ lbz r0, 8(r27) +/* 802AF8A8 002AB508 98 1D 00 34 */ stb r0, 0x34(r29) +/* 802AF8AC 002AB50C 88 1B 00 09 */ lbz r0, 9(r27) +/* 802AF8B0 002AB510 98 1D 00 35 */ stb r0, 0x35(r29) +/* 802AF8B4 002AB514 88 7B 00 0A */ lbz r3, 0xa(r27) +/* 802AF8B8 002AB518 88 1B 00 0B */ lbz r0, 0xb(r27) +/* 802AF8BC 002AB51C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802AF8C0 002AB520 68 00 FF FF */ xori r0, r0, 0xffff +/* 802AF8C4 002AB524 B0 1D 00 2A */ sth r0, 0x2a(r29) +/* 802AF8C8 002AB528 48 00 00 98 */ b lbl_802AF960 +lbl_802AF8CC: +/* 802AF8CC 002AB52C 88 7F 08 C8 */ lbz r3, 0x8c8(r31) +/* 802AF8D0 002AB530 88 1B 00 03 */ lbz r0, 3(r27) +/* 802AF8D4 002AB534 1C 63 00 60 */ mulli r3, r3, 0x60 +/* 802AF8D8 002AB538 7C 00 07 34 */ extsh r0, r0 +/* 802AF8DC 002AB53C 7C 9F 1A 14 */ add r4, r31, r3 +/* 802AF8E0 002AB540 54 00 10 3A */ slwi r0, r0, 2 +/* 802AF8E4 002AB544 7C 03 07 34 */ extsh r3, r0 +/* 802AF8E8 002AB548 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF8EC 002AB54C 3B A4 00 A0 */ addi r29, r4, 0xa0 +/* 802AF8F0 002AB550 B0 04 00 CC */ sth r0, 0xcc(r4) +/* 802AF8F4 002AB554 88 1B 00 04 */ lbz r0, 4(r27) +/* 802AF8F8 002AB558 7C 00 07 34 */ extsh r0, r0 +/* 802AF8FC 002AB55C 54 00 10 3A */ slwi r0, r0, 2 +/* 802AF900 002AB560 7C 03 07 34 */ extsh r3, r0 +/* 802AF904 002AB564 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF908 002AB568 B0 04 00 D0 */ sth r0, 0xd0(r4) +/* 802AF90C 002AB56C 88 1B 00 05 */ lbz r0, 5(r27) +/* 802AF910 002AB570 7C 00 07 34 */ extsh r0, r0 +/* 802AF914 002AB574 54 00 10 3A */ slwi r0, r0, 2 +/* 802AF918 002AB578 7C 03 07 34 */ extsh r3, r0 +/* 802AF91C 002AB57C 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF920 002AB580 B0 04 00 CE */ sth r0, 0xce(r4) +/* 802AF924 002AB584 88 1B 00 06 */ lbz r0, 6(r27) +/* 802AF928 002AB588 7C 00 07 34 */ extsh r0, r0 +/* 802AF92C 002AB58C 54 00 10 3A */ slwi r0, r0, 2 +/* 802AF930 002AB590 7C 03 07 34 */ extsh r3, r0 +/* 802AF934 002AB594 38 03 FE 00 */ addi r0, r3, -512 +/* 802AF938 002AB598 B0 04 00 D2 */ sth r0, 0xd2(r4) +/* 802AF93C 002AB59C 88 1B 00 07 */ lbz r0, 7(r27) +/* 802AF940 002AB5A0 98 04 00 D4 */ stb r0, 0xd4(r4) +/* 802AF944 002AB5A4 88 1B 00 08 */ lbz r0, 8(r27) +/* 802AF948 002AB5A8 98 04 00 D5 */ stb r0, 0xd5(r4) +/* 802AF94C 002AB5AC 88 7B 00 09 */ lbz r3, 9(r27) +/* 802AF950 002AB5B0 88 1B 00 0A */ lbz r0, 0xa(r27) +/* 802AF954 002AB5B4 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802AF958 002AB5B8 68 00 FF FF */ xori r0, r0, 0xffff +/* 802AF95C 002AB5BC B0 04 00 CA */ sth r0, 0xca(r4) +lbl_802AF960: +/* 802AF960 002AB5C0 88 1F 09 11 */ lbz r0, 0x911(r31) +/* 802AF964 002AB5C4 2C 00 00 00 */ cmpwi r0, 0 +/* 802AF968 002AB5C8 40 82 00 3C */ bne lbl_802AF9A4 +/* 802AF96C 002AB5CC 38 00 00 01 */ li r0, 1 +/* 802AF970 002AB5D0 98 1F 09 11 */ stb r0, 0x911(r31) +/* 802AF974 002AB5D4 A8 1D 00 2C */ lha r0, 0x2c(r29) +/* 802AF978 002AB5D8 B0 1F 08 82 */ sth r0, 0x882(r31) +/* 802AF97C 002AB5DC A8 1D 00 2E */ lha r0, 0x2e(r29) +/* 802AF980 002AB5E0 B0 1F 08 88 */ sth r0, 0x888(r31) +/* 802AF984 002AB5E4 A8 1D 00 30 */ lha r0, 0x30(r29) +/* 802AF988 002AB5E8 B0 1F 08 8E */ sth r0, 0x88e(r31) +/* 802AF98C 002AB5EC A8 1D 00 32 */ lha r0, 0x32(r29) +/* 802AF990 002AB5F0 B0 1F 08 94 */ sth r0, 0x894(r31) +/* 802AF994 002AB5F4 88 1D 00 34 */ lbz r0, 0x34(r29) +/* 802AF998 002AB5F8 98 1F 08 9A */ stb r0, 0x89a(r31) +/* 802AF99C 002AB5FC 88 1D 00 35 */ lbz r0, 0x35(r29) +/* 802AF9A0 002AB600 98 1F 08 9B */ stb r0, 0x89b(r31) +lbl_802AF9A4: +/* 802AF9A4 002AB604 A8 9F 08 82 */ lha r4, 0x882(r31) +/* 802AF9A8 002AB608 A8 1D 00 2C */ lha r0, 0x2c(r29) +/* 802AF9AC 002AB60C A8 7F 08 88 */ lha r3, 0x888(r31) +/* 802AF9B0 002AB610 7C 84 00 50 */ subf r4, r4, r0 +/* 802AF9B4 002AB614 A8 1D 00 2E */ lha r0, 0x2e(r29) +/* 802AF9B8 002AB618 7C 84 07 34 */ extsh r4, r4 +/* 802AF9BC 002AB61C 7C 03 00 50 */ subf r0, r3, r0 +/* 802AF9C0 002AB620 2C 04 FE 00 */ cmpwi r4, -512 +/* 802AF9C4 002AB624 7C 03 07 34 */ extsh r3, r0 +/* 802AF9C8 002AB628 40 80 00 10 */ bge lbl_802AF9D8 +/* 802AF9CC 002AB62C 38 00 FE 00 */ li r0, -512 +/* 802AF9D0 002AB630 B0 1D 00 2C */ sth r0, 0x2c(r29) +/* 802AF9D4 002AB634 48 00 00 1C */ b lbl_802AF9F0 +lbl_802AF9D8: +/* 802AF9D8 002AB638 2C 04 01 FF */ cmpwi r4, 0x1ff +/* 802AF9DC 002AB63C 40 81 00 10 */ ble lbl_802AF9EC +/* 802AF9E0 002AB640 38 00 01 FF */ li r0, 0x1ff +/* 802AF9E4 002AB644 B0 1D 00 2C */ sth r0, 0x2c(r29) +/* 802AF9E8 002AB648 48 00 00 08 */ b lbl_802AF9F0 +lbl_802AF9EC: +/* 802AF9EC 002AB64C B0 9D 00 2C */ sth r4, 0x2c(r29) +lbl_802AF9F0: +/* 802AF9F0 002AB650 2C 03 FE 00 */ cmpwi r3, -512 +/* 802AF9F4 002AB654 40 80 00 10 */ bge lbl_802AFA04 +/* 802AF9F8 002AB658 38 00 FE 00 */ li r0, -512 +/* 802AF9FC 002AB65C B0 1D 00 2E */ sth r0, 0x2e(r29) +/* 802AFA00 002AB660 48 00 00 1C */ b lbl_802AFA1C +lbl_802AFA04: +/* 802AFA04 002AB664 2C 03 01 FF */ cmpwi r3, 0x1ff +/* 802AFA08 002AB668 40 81 00 10 */ ble lbl_802AFA18 +/* 802AFA0C 002AB66C 38 00 01 FF */ li r0, 0x1ff +/* 802AFA10 002AB670 B0 1D 00 2E */ sth r0, 0x2e(r29) +/* 802AFA14 002AB674 48 00 00 08 */ b lbl_802AFA1C +lbl_802AFA18: +/* 802AFA18 002AB678 B0 7D 00 2E */ sth r3, 0x2e(r29) +lbl_802AFA1C: +/* 802AFA1C 002AB67C A8 9F 08 8E */ lha r4, 0x88e(r31) +/* 802AFA20 002AB680 A8 1D 00 30 */ lha r0, 0x30(r29) +/* 802AFA24 002AB684 A8 7F 08 94 */ lha r3, 0x894(r31) +/* 802AFA28 002AB688 7C 84 00 50 */ subf r4, r4, r0 +/* 802AFA2C 002AB68C A8 1D 00 32 */ lha r0, 0x32(r29) +/* 802AFA30 002AB690 7C 84 07 34 */ extsh r4, r4 +/* 802AFA34 002AB694 7C 03 00 50 */ subf r0, r3, r0 +/* 802AFA38 002AB698 2C 04 FE 00 */ cmpwi r4, -512 +/* 802AFA3C 002AB69C 7C 03 07 34 */ extsh r3, r0 +/* 802AFA40 002AB6A0 40 80 00 10 */ bge lbl_802AFA50 +/* 802AFA44 002AB6A4 38 00 FE 00 */ li r0, -512 +/* 802AFA48 002AB6A8 B0 1D 00 30 */ sth r0, 0x30(r29) +/* 802AFA4C 002AB6AC 48 00 00 1C */ b lbl_802AFA68 +lbl_802AFA50: +/* 802AFA50 002AB6B0 2C 04 01 FF */ cmpwi r4, 0x1ff +/* 802AFA54 002AB6B4 40 81 00 10 */ ble lbl_802AFA64 +/* 802AFA58 002AB6B8 38 00 01 FF */ li r0, 0x1ff +/* 802AFA5C 002AB6BC B0 1D 00 30 */ sth r0, 0x30(r29) +/* 802AFA60 002AB6C0 48 00 00 08 */ b lbl_802AFA68 +lbl_802AFA64: +/* 802AFA64 002AB6C4 B0 9D 00 30 */ sth r4, 0x30(r29) +lbl_802AFA68: +/* 802AFA68 002AB6C8 2C 03 FE 00 */ cmpwi r3, -512 +/* 802AFA6C 002AB6CC 40 80 00 10 */ bge lbl_802AFA7C +/* 802AFA70 002AB6D0 38 00 FE 00 */ li r0, -512 +/* 802AFA74 002AB6D4 B0 1D 00 32 */ sth r0, 0x32(r29) +/* 802AFA78 002AB6D8 48 00 00 1C */ b lbl_802AFA94 +lbl_802AFA7C: +/* 802AFA7C 002AB6DC 2C 03 01 FF */ cmpwi r3, 0x1ff +/* 802AFA80 002AB6E0 40 81 00 10 */ ble lbl_802AFA90 +/* 802AFA84 002AB6E4 38 00 01 FF */ li r0, 0x1ff +/* 802AFA88 002AB6E8 B0 1D 00 32 */ sth r0, 0x32(r29) +/* 802AFA8C 002AB6EC 48 00 00 08 */ b lbl_802AFA94 +lbl_802AFA90: +/* 802AFA90 002AB6F0 B0 7D 00 32 */ sth r3, 0x32(r29) +lbl_802AFA94: +/* 802AFA94 002AB6F4 88 9F 08 9A */ lbz r4, 0x89a(r31) +/* 802AFA98 002AB6F8 88 1D 00 34 */ lbz r0, 0x34(r29) +/* 802AFA9C 002AB6FC 88 7F 08 9B */ lbz r3, 0x89b(r31) +/* 802AFAA0 002AB700 7C 84 00 50 */ subf r4, r4, r0 +/* 802AFAA4 002AB704 88 1D 00 35 */ lbz r0, 0x35(r29) +/* 802AFAA8 002AB708 7C 84 07 35 */ extsh. r4, r4 +/* 802AFAAC 002AB70C 7C 03 00 50 */ subf r0, r3, r0 +/* 802AFAB0 002AB710 7C 03 07 34 */ extsh r3, r0 +/* 802AFAB4 002AB714 40 80 00 10 */ bge lbl_802AFAC4 +/* 802AFAB8 002AB718 38 00 00 00 */ li r0, 0 +/* 802AFABC 002AB71C 98 1D 00 34 */ stb r0, 0x34(r29) +/* 802AFAC0 002AB720 48 00 00 08 */ b lbl_802AFAC8 +lbl_802AFAC4: +/* 802AFAC4 002AB724 98 9D 00 34 */ stb r4, 0x34(r29) +lbl_802AFAC8: +/* 802AFAC8 002AB728 2C 03 00 00 */ cmpwi r3, 0 +/* 802AFACC 002AB72C 40 80 00 10 */ bge lbl_802AFADC +/* 802AFAD0 002AB730 38 00 00 00 */ li r0, 0 +/* 802AFAD4 002AB734 98 1D 00 35 */ stb r0, 0x35(r29) +/* 802AFAD8 002AB738 48 00 00 08 */ b lbl_802AFAE0 +lbl_802AFADC: +/* 802AFADC 002AB73C 98 7D 00 35 */ stb r3, 0x35(r29) +lbl_802AFAE0: +/* 802AFAE0 002AB740 3C 60 80 54 */ lis r3, lbl_8053A468@ha +/* 802AFAE4 002AB744 3C 80 80 44 */ lis r4, lbl_8043C320@ha +/* 802AFAE8 002AB748 38 63 A4 68 */ addi r3, r3, lbl_8053A468@l +/* 802AFAEC 002AB74C 38 A0 00 08 */ li r5, 8 +/* 802AFAF0 002AB750 38 84 C3 20 */ addi r4, r4, lbl_8043C320@l +/* 802AFAF4 002AB754 4B F1 A8 A5 */ bl memcmp +/* 802AFAF8 002AB758 2C 03 00 00 */ cmpwi r3, 0 +/* 802AFAFC 002AB75C 40 82 00 18 */ bne lbl_802AFB14 +/* 802AFB00 002AB760 88 1E 00 29 */ lbz r0, 0x29(r30) +/* 802AFB04 002AB764 7C 00 07 75 */ extsb. r0, r0 +/* 802AFB08 002AB768 40 82 00 0C */ bne lbl_802AFB14 +/* 802AFB0C 002AB76C 38 00 FF F9 */ li r0, -7 +/* 802AFB10 002AB770 98 1E 00 29 */ stb r0, 0x29(r30) +lbl_802AFB14: +/* 802AFB14 002AB774 88 1F 08 C8 */ lbz r0, 0x8c8(r31) +/* 802AFB18 002AB778 7F 83 E3 78 */ mr r3, r28 +/* 802AFB1C 002AB77C 7C 00 00 34 */ cntlzw r0, r0 +/* 802AFB20 002AB780 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802AFB24 002AB784 98 1F 08 C8 */ stb r0, 0x8c8(r31) +/* 802AFB28 002AB788 4B FB EC 5D */ bl OSRestoreInterrupts +/* 802AFB2C 002AB78C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802AFB30 002AB790 4B F1 76 45 */ bl _restgpr_27 +/* 802AFB34 002AB794 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802AFB38 002AB798 7C 08 03 A6 */ mtlr r0 +/* 802AFB3C 002AB79C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802AFB40 002AB7A0 4E 80 00 20 */ blr + +.global __a1_33_data_type +__a1_33_data_type: +/* 802AFB44 002AB7A4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802AFB48 002AB7A8 7C 08 02 A6 */ mflr r0 +/* 802AFB4C 002AB7AC 3C A0 80 53 */ lis r5, lbl_80536D70@ha +/* 802AFB50 002AB7B0 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d +/* 802AFB54 002AB7B4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802AFB58 002AB7B8 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l +/* 802AFB5C 002AB7BC 38 00 00 02 */ li r0, 2 +/* 802AFB60 002AB7C0 38 E0 00 00 */ li r7, 0 +/* 802AFB64 002AB7C4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802AFB68 002AB7C8 7F E5 18 2E */ lwzx r31, r5, r3 +/* 802AFB6C 002AB7CC 38 60 00 00 */ li r3, 0 +/* 802AFB70 002AB7D0 88 BF 08 C8 */ lbz r5, 0x8c8(r31) +/* 802AFB74 002AB7D4 1C A5 00 60 */ mulli r5, r5, 0x60 +/* 802AFB78 002AB7D8 7C BF 2A 14 */ add r5, r31, r5 +/* 802AFB7C 002AB7DC 38 A5 00 A0 */ addi r5, r5, 0xa0 +/* 802AFB80 002AB7E0 90 A1 00 08 */ stw r5, 8(r1) +/* 802AFB84 002AB7E4 7C 09 03 A6 */ mtctr r0 +lbl_802AFB88: +/* 802AFB88 002AB7E8 7C 65 39 AE */ stbx r3, r5, r7 +/* 802AFB8C 002AB7EC 7C C5 3A 14 */ add r6, r5, r7 +/* 802AFB90 002AB7F0 38 E7 00 08 */ addi r7, r7, 8 +/* 802AFB94 002AB7F4 98 66 00 01 */ stb r3, 1(r6) +/* 802AFB98 002AB7F8 98 66 00 02 */ stb r3, 2(r6) +/* 802AFB9C 002AB7FC 98 66 00 03 */ stb r3, 3(r6) +/* 802AFBA0 002AB800 98 66 00 04 */ stb r3, 4(r6) +/* 802AFBA4 002AB804 98 66 00 05 */ stb r3, 5(r6) +/* 802AFBA8 002AB808 98 66 00 06 */ stb r3, 6(r6) +/* 802AFBAC 002AB80C 98 66 00 07 */ stb r3, 7(r6) +/* 802AFBB0 002AB810 7C C5 3A 14 */ add r6, r5, r7 +/* 802AFBB4 002AB814 7C 65 39 AE */ stbx r3, r5, r7 +/* 802AFBB8 002AB818 38 E7 00 08 */ addi r7, r7, 8 +/* 802AFBBC 002AB81C 98 66 00 01 */ stb r3, 1(r6) +/* 802AFBC0 002AB820 98 66 00 02 */ stb r3, 2(r6) +/* 802AFBC4 002AB824 98 66 00 03 */ stb r3, 3(r6) +/* 802AFBC8 002AB828 98 66 00 04 */ stb r3, 4(r6) +/* 802AFBCC 002AB82C 98 66 00 05 */ stb r3, 5(r6) +/* 802AFBD0 002AB830 98 66 00 06 */ stb r3, 6(r6) +/* 802AFBD4 002AB834 98 66 00 07 */ stb r3, 7(r6) +/* 802AFBD8 002AB838 7C C5 3A 14 */ add r6, r5, r7 +/* 802AFBDC 002AB83C 7C 65 39 AE */ stbx r3, r5, r7 +/* 802AFBE0 002AB840 38 E7 00 08 */ addi r7, r7, 8 +/* 802AFBE4 002AB844 98 66 00 01 */ stb r3, 1(r6) +/* 802AFBE8 002AB848 98 66 00 02 */ stb r3, 2(r6) +/* 802AFBEC 002AB84C 98 66 00 03 */ stb r3, 3(r6) +/* 802AFBF0 002AB850 98 66 00 04 */ stb r3, 4(r6) +/* 802AFBF4 002AB854 98 66 00 05 */ stb r3, 5(r6) +/* 802AFBF8 002AB858 98 66 00 06 */ stb r3, 6(r6) +/* 802AFBFC 002AB85C 98 66 00 07 */ stb r3, 7(r6) +/* 802AFC00 002AB860 7C C5 3A 14 */ add r6, r5, r7 +/* 802AFC04 002AB864 7C 65 39 AE */ stbx r3, r5, r7 +/* 802AFC08 002AB868 38 E7 00 08 */ addi r7, r7, 8 +/* 802AFC0C 002AB86C 98 66 00 01 */ stb r3, 1(r6) +/* 802AFC10 002AB870 98 66 00 02 */ stb r3, 2(r6) +/* 802AFC14 002AB874 98 66 00 03 */ stb r3, 3(r6) +/* 802AFC18 002AB878 98 66 00 04 */ stb r3, 4(r6) +/* 802AFC1C 002AB87C 98 66 00 05 */ stb r3, 5(r6) +/* 802AFC20 002AB880 98 66 00 06 */ stb r3, 6(r6) +/* 802AFC24 002AB884 98 66 00 07 */ stb r3, 7(r6) +/* 802AFC28 002AB888 7C C5 3A 14 */ add r6, r5, r7 +/* 802AFC2C 002AB88C 7C 65 39 AE */ stbx r3, r5, r7 +/* 802AFC30 002AB890 38 E7 00 08 */ addi r7, r7, 8 +/* 802AFC34 002AB894 98 66 00 01 */ stb r3, 1(r6) +/* 802AFC38 002AB898 98 66 00 02 */ stb r3, 2(r6) +/* 802AFC3C 002AB89C 98 66 00 03 */ stb r3, 3(r6) +/* 802AFC40 002AB8A0 98 66 00 04 */ stb r3, 4(r6) +/* 802AFC44 002AB8A4 98 66 00 05 */ stb r3, 5(r6) +/* 802AFC48 002AB8A8 98 66 00 06 */ stb r3, 6(r6) +/* 802AFC4C 002AB8AC 98 66 00 07 */ stb r3, 7(r6) +/* 802AFC50 002AB8B0 7C C5 3A 14 */ add r6, r5, r7 +/* 802AFC54 002AB8B4 7C 65 39 AE */ stbx r3, r5, r7 +/* 802AFC58 002AB8B8 38 E7 00 08 */ addi r7, r7, 8 +/* 802AFC5C 002AB8BC 98 66 00 01 */ stb r3, 1(r6) +/* 802AFC60 002AB8C0 98 66 00 02 */ stb r3, 2(r6) +/* 802AFC64 002AB8C4 98 66 00 03 */ stb r3, 3(r6) +/* 802AFC68 002AB8C8 98 66 00 04 */ stb r3, 4(r6) +/* 802AFC6C 002AB8CC 98 66 00 05 */ stb r3, 5(r6) +/* 802AFC70 002AB8D0 98 66 00 06 */ stb r3, 6(r6) +/* 802AFC74 002AB8D4 98 66 00 07 */ stb r3, 7(r6) +/* 802AFC78 002AB8D8 42 00 FF 10 */ bdnz lbl_802AFB88 +/* 802AFC7C 002AB8DC 88 A4 00 02 */ lbz r5, 2(r4) +/* 802AFC80 002AB8E0 88 04 00 01 */ lbz r0, 1(r4) +/* 802AFC84 002AB8E4 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 +/* 802AFC88 002AB8E8 80 61 00 08 */ lwz r3, 8(r1) +/* 802AFC8C 002AB8EC 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802AFC90 002AB8F0 B0 03 00 00 */ sth r0, 0(r3) +/* 802AFC94 002AB8F4 80 1F 08 B8 */ lwz r0, 0x8b8(r31) +/* 802AFC98 002AB8F8 28 00 00 02 */ cmplwi r0, 2 +/* 802AFC9C 002AB8FC 41 81 00 14 */ bgt lbl_802AFCB0 +/* 802AFCA0 002AB900 80 61 00 08 */ lwz r3, 8(r1) +/* 802AFCA4 002AB904 38 00 00 00 */ li r0, 0 +/* 802AFCA8 002AB908 98 03 00 29 */ stb r0, 0x29(r3) +/* 802AFCAC 002AB90C 48 00 00 10 */ b lbl_802AFCBC +lbl_802AFCB0: +/* 802AFCB0 002AB910 80 61 00 08 */ lwz r3, 8(r1) +/* 802AFCB4 002AB914 38 00 FF FC */ li r0, -4 +/* 802AFCB8 002AB918 98 03 00 29 */ stb r0, 0x29(r3) +lbl_802AFCBC: +/* 802AFCBC 002AB91C 88 1F 08 C1 */ lbz r0, 0x8c1(r31) +/* 802AFCC0 002AB920 38 A4 00 06 */ addi r5, r4, 6 +/* 802AFCC4 002AB924 80 E1 00 08 */ lwz r7, 8(r1) +/* 802AFCC8 002AB928 38 61 00 08 */ addi r3, r1, 8 +/* 802AFCCC 002AB92C 38 C0 00 0C */ li r6, 0xc +/* 802AFCD0 002AB930 98 07 00 28 */ stb r0, 0x28(r7) +/* 802AFCD4 002AB934 88 04 00 01 */ lbz r0, 1(r4) +/* 802AFCD8 002AB938 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f +/* 802AFCDC 002AB93C 90 1F 08 48 */ stw r0, 0x848(r31) +/* 802AFCE0 002AB940 88 E4 00 03 */ lbz r7, 3(r4) +/* 802AFCE4 002AB944 88 04 00 01 */ lbz r0, 1(r4) +/* 802AFCE8 002AB948 54 E7 10 3A */ slwi r7, r7, 2 +/* 802AFCEC 002AB94C A9 3F 08 74 */ lha r9, 0x874(r31) +/* 802AFCF0 002AB950 7C E7 07 34 */ extsh r7, r7 +/* 802AFCF4 002AB954 54 00 DF BE */ rlwinm r0, r0, 0x1b, 0x1e, 0x1f +/* 802AFCF8 002AB958 54 E8 00 3A */ rlwinm r8, r7, 0, 0, 0x1d +/* 802AFCFC 002AB95C 80 E1 00 08 */ lwz r7, 8(r1) +/* 802AFD00 002AB960 7D 08 07 34 */ extsh r8, r8 +/* 802AFD04 002AB964 7D 00 03 78 */ or r0, r8, r0 +/* 802AFD08 002AB968 7C 00 07 34 */ extsh r0, r0 +/* 802AFD0C 002AB96C 7C 09 00 50 */ subf r0, r9, r0 +/* 802AFD10 002AB970 B0 07 00 02 */ sth r0, 2(r7) +/* 802AFD14 002AB974 88 E4 00 04 */ lbz r7, 4(r4) +/* 802AFD18 002AB978 88 04 00 02 */ lbz r0, 2(r4) +/* 802AFD1C 002AB97C 54 E7 10 3A */ slwi r7, r7, 2 +/* 802AFD20 002AB980 A9 3F 08 76 */ lha r9, 0x876(r31) +/* 802AFD24 002AB984 7C E7 07 34 */ extsh r7, r7 +/* 802AFD28 002AB988 54 00 E7 BC */ rlwinm r0, r0, 0x1c, 0x1e, 0x1e +/* 802AFD2C 002AB98C 54 E8 00 3A */ rlwinm r8, r7, 0, 0, 0x1d +/* 802AFD30 002AB990 80 E1 00 08 */ lwz r7, 8(r1) +/* 802AFD34 002AB994 7D 08 07 34 */ extsh r8, r8 +/* 802AFD38 002AB998 7C 00 07 34 */ extsh r0, r0 +/* 802AFD3C 002AB99C 7D 00 03 78 */ or r0, r8, r0 +/* 802AFD40 002AB9A0 7C 00 07 34 */ extsh r0, r0 +/* 802AFD44 002AB9A4 7C 09 00 50 */ subf r0, r9, r0 +/* 802AFD48 002AB9A8 B0 07 00 04 */ sth r0, 4(r7) +/* 802AFD4C 002AB9AC 88 E4 00 05 */ lbz r7, 5(r4) +/* 802AFD50 002AB9B0 88 04 00 02 */ lbz r0, 2(r4) +/* 802AFD54 002AB9B4 54 E4 10 3A */ slwi r4, r7, 2 +/* 802AFD58 002AB9B8 A9 1F 08 78 */ lha r8, 0x878(r31) +/* 802AFD5C 002AB9BC 7C 84 07 34 */ extsh r4, r4 +/* 802AFD60 002AB9C0 54 00 DF BC */ rlwinm r0, r0, 0x1b, 0x1e, 0x1e +/* 802AFD64 002AB9C4 54 87 00 3A */ rlwinm r7, r4, 0, 0, 0x1d +/* 802AFD68 002AB9C8 80 81 00 08 */ lwz r4, 8(r1) +/* 802AFD6C 002AB9CC 7C E7 07 34 */ extsh r7, r7 +/* 802AFD70 002AB9D0 7C 00 07 34 */ extsh r0, r0 +/* 802AFD74 002AB9D4 7C E0 03 78 */ or r0, r7, r0 +/* 802AFD78 002AB9D8 7C 00 07 34 */ extsh r0, r0 +/* 802AFD7C 002AB9DC 7C 08 00 50 */ subf r0, r8, r0 +/* 802AFD80 002AB9E0 B0 04 00 06 */ sth r0, 6(r4) +/* 802AFD84 002AB9E4 88 9F 08 CB */ lbz r4, 0x8cb(r31) +/* 802AFD88 002AB9E8 4B FF EF 35 */ bl __parse_dpd_data +/* 802AFD8C 002AB9EC 4B FB E9 D1 */ bl OSDisableInterrupts +/* 802AFD90 002AB9F0 88 1F 08 C8 */ lbz r0, 0x8c8(r31) +/* 802AFD94 002AB9F4 7C 00 00 34 */ cntlzw r0, r0 +/* 802AFD98 002AB9F8 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802AFD9C 002AB9FC 98 1F 08 C8 */ stb r0, 0x8c8(r31) +/* 802AFDA0 002ABA00 4B FB E9 E5 */ bl OSRestoreInterrupts +/* 802AFDA4 002ABA04 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802AFDA8 002ABA08 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802AFDAC 002ABA0C 7C 08 03 A6 */ mtlr r0 +/* 802AFDB0 002ABA10 38 21 00 20 */ addi r1, r1, 0x20 +/* 802AFDB4 002ABA14 4E 80 00 20 */ blr + +.global __a1_34_data_type +__a1_34_data_type: +/* 802AFDB8 002ABA18 4E 80 00 20 */ blr + +.global __a1_35_data_type +__a1_35_data_type: +/* 802AFDBC 002ABA1C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802AFDC0 002ABA20 7C 08 02 A6 */ mflr r0 +/* 802AFDC4 002ABA24 3C A0 80 53 */ lis r5, lbl_80536D70@ha +/* 802AFDC8 002ABA28 54 66 15 BA */ rlwinm r6, r3, 2, 0x16, 0x1d +/* 802AFDCC 002ABA2C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802AFDD0 002ABA30 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l +/* 802AFDD4 002ABA34 38 00 00 02 */ li r0, 2 +/* 802AFDD8 002ABA38 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802AFDDC 002ABA3C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802AFDE0 002ABA40 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802AFDE4 002ABA44 7C 7D 1B 78 */ mr r29, r3 +/* 802AFDE8 002ABA48 38 60 00 00 */ li r3, 0 +/* 802AFDEC 002ABA4C 93 81 00 10 */ stw r28, 0x10(r1) +/* 802AFDF0 002ABA50 7C 9C 23 78 */ mr r28, r4 +/* 802AFDF4 002ABA54 7F E5 30 2E */ lwzx r31, r5, r6 +/* 802AFDF8 002ABA58 38 C0 00 00 */ li r6, 0 +/* 802AFDFC 002ABA5C 88 BF 08 C8 */ lbz r5, 0x8c8(r31) +/* 802AFE00 002ABA60 1C A5 00 60 */ mulli r5, r5, 0x60 +/* 802AFE04 002ABA64 7C BF 2A 14 */ add r5, r31, r5 +/* 802AFE08 002ABA68 3B C5 00 A0 */ addi r30, r5, 0xa0 +/* 802AFE0C 002ABA6C 7C 09 03 A6 */ mtctr r0 +lbl_802AFE10: +/* 802AFE10 002ABA70 7C 7E 31 AE */ stbx r3, r30, r6 +/* 802AFE14 002ABA74 7C BE 32 14 */ add r5, r30, r6 +/* 802AFE18 002ABA78 38 C6 00 08 */ addi r6, r6, 8 +/* 802AFE1C 002ABA7C 98 65 00 01 */ stb r3, 1(r5) +/* 802AFE20 002ABA80 98 65 00 02 */ stb r3, 2(r5) +/* 802AFE24 002ABA84 98 65 00 03 */ stb r3, 3(r5) +/* 802AFE28 002ABA88 98 65 00 04 */ stb r3, 4(r5) +/* 802AFE2C 002ABA8C 98 65 00 05 */ stb r3, 5(r5) +/* 802AFE30 002ABA90 98 65 00 06 */ stb r3, 6(r5) +/* 802AFE34 002ABA94 98 65 00 07 */ stb r3, 7(r5) +/* 802AFE38 002ABA98 7C BE 32 14 */ add r5, r30, r6 +/* 802AFE3C 002ABA9C 7C 7E 31 AE */ stbx r3, r30, r6 +/* 802AFE40 002ABAA0 38 C6 00 08 */ addi r6, r6, 8 +/* 802AFE44 002ABAA4 98 65 00 01 */ stb r3, 1(r5) +/* 802AFE48 002ABAA8 98 65 00 02 */ stb r3, 2(r5) +/* 802AFE4C 002ABAAC 98 65 00 03 */ stb r3, 3(r5) +/* 802AFE50 002ABAB0 98 65 00 04 */ stb r3, 4(r5) +/* 802AFE54 002ABAB4 98 65 00 05 */ stb r3, 5(r5) +/* 802AFE58 002ABAB8 98 65 00 06 */ stb r3, 6(r5) +/* 802AFE5C 002ABABC 98 65 00 07 */ stb r3, 7(r5) +/* 802AFE60 002ABAC0 7C BE 32 14 */ add r5, r30, r6 +/* 802AFE64 002ABAC4 7C 7E 31 AE */ stbx r3, r30, r6 +/* 802AFE68 002ABAC8 38 C6 00 08 */ addi r6, r6, 8 +/* 802AFE6C 002ABACC 98 65 00 01 */ stb r3, 1(r5) +/* 802AFE70 002ABAD0 98 65 00 02 */ stb r3, 2(r5) +/* 802AFE74 002ABAD4 98 65 00 03 */ stb r3, 3(r5) +/* 802AFE78 002ABAD8 98 65 00 04 */ stb r3, 4(r5) +/* 802AFE7C 002ABADC 98 65 00 05 */ stb r3, 5(r5) +/* 802AFE80 002ABAE0 98 65 00 06 */ stb r3, 6(r5) +/* 802AFE84 002ABAE4 98 65 00 07 */ stb r3, 7(r5) +/* 802AFE88 002ABAE8 7C BE 32 14 */ add r5, r30, r6 +/* 802AFE8C 002ABAEC 7C 7E 31 AE */ stbx r3, r30, r6 +/* 802AFE90 002ABAF0 38 C6 00 08 */ addi r6, r6, 8 +/* 802AFE94 002ABAF4 98 65 00 01 */ stb r3, 1(r5) +/* 802AFE98 002ABAF8 98 65 00 02 */ stb r3, 2(r5) +/* 802AFE9C 002ABAFC 98 65 00 03 */ stb r3, 3(r5) +/* 802AFEA0 002ABB00 98 65 00 04 */ stb r3, 4(r5) +/* 802AFEA4 002ABB04 98 65 00 05 */ stb r3, 5(r5) +/* 802AFEA8 002ABB08 98 65 00 06 */ stb r3, 6(r5) +/* 802AFEAC 002ABB0C 98 65 00 07 */ stb r3, 7(r5) +/* 802AFEB0 002ABB10 7C BE 32 14 */ add r5, r30, r6 +/* 802AFEB4 002ABB14 7C 7E 31 AE */ stbx r3, r30, r6 +/* 802AFEB8 002ABB18 38 C6 00 08 */ addi r6, r6, 8 +/* 802AFEBC 002ABB1C 98 65 00 01 */ stb r3, 1(r5) +/* 802AFEC0 002ABB20 98 65 00 02 */ stb r3, 2(r5) +/* 802AFEC4 002ABB24 98 65 00 03 */ stb r3, 3(r5) +/* 802AFEC8 002ABB28 98 65 00 04 */ stb r3, 4(r5) +/* 802AFECC 002ABB2C 98 65 00 05 */ stb r3, 5(r5) +/* 802AFED0 002ABB30 98 65 00 06 */ stb r3, 6(r5) +/* 802AFED4 002ABB34 98 65 00 07 */ stb r3, 7(r5) +/* 802AFED8 002ABB38 7C BE 32 14 */ add r5, r30, r6 +/* 802AFEDC 002ABB3C 7C 7E 31 AE */ stbx r3, r30, r6 +/* 802AFEE0 002ABB40 38 C6 00 08 */ addi r6, r6, 8 +/* 802AFEE4 002ABB44 98 65 00 01 */ stb r3, 1(r5) +/* 802AFEE8 002ABB48 98 65 00 02 */ stb r3, 2(r5) +/* 802AFEEC 002ABB4C 98 65 00 03 */ stb r3, 3(r5) +/* 802AFEF0 002ABB50 98 65 00 04 */ stb r3, 4(r5) +/* 802AFEF4 002ABB54 98 65 00 05 */ stb r3, 5(r5) +/* 802AFEF8 002ABB58 98 65 00 06 */ stb r3, 6(r5) +/* 802AFEFC 002ABB5C 98 65 00 07 */ stb r3, 7(r5) +/* 802AFF00 002ABB60 42 00 FF 10 */ bdnz lbl_802AFE10 +/* 802AFF04 002ABB64 88 64 00 02 */ lbz r3, 2(r4) +/* 802AFF08 002ABB68 88 04 00 01 */ lbz r0, 1(r4) +/* 802AFF0C 002ABB6C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802AFF10 002ABB70 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802AFF14 002ABB74 B0 1E 00 00 */ sth r0, 0(r30) +/* 802AFF18 002ABB78 80 7F 08 B8 */ lwz r3, 0x8b8(r31) +/* 802AFF1C 002ABB7C 2C 03 00 00 */ cmpwi r3, 0 +/* 802AFF20 002ABB80 41 82 00 28 */ beq lbl_802AFF48 +/* 802AFF24 002ABB84 28 03 00 01 */ cmplwi r3, 1 +/* 802AFF28 002ABB88 41 82 00 20 */ beq lbl_802AFF48 +/* 802AFF2C 002ABB8C 28 03 00 03 */ cmplwi r3, 3 +/* 802AFF30 002ABB90 41 82 00 18 */ beq lbl_802AFF48 +/* 802AFF34 002ABB94 28 03 00 04 */ cmplwi r3, 4 +/* 802AFF38 002ABB98 41 82 00 10 */ beq lbl_802AFF48 +/* 802AFF3C 002ABB9C 38 03 FF FA */ addi r0, r3, -6 +/* 802AFF40 002ABBA0 28 00 00 01 */ cmplwi r0, 1 +/* 802AFF44 002ABBA4 41 81 00 10 */ bgt lbl_802AFF54 +lbl_802AFF48: +/* 802AFF48 002ABBA8 38 00 00 00 */ li r0, 0 +/* 802AFF4C 002ABBAC 98 1E 00 29 */ stb r0, 0x29(r30) +/* 802AFF50 002ABBB0 48 00 00 0C */ b lbl_802AFF5C +lbl_802AFF54: +/* 802AFF54 002ABBB4 38 00 FF FC */ li r0, -4 +/* 802AFF58 002ABBB8 98 1E 00 29 */ stb r0, 0x29(r30) +lbl_802AFF5C: +/* 802AFF5C 002ABBBC 88 1F 08 C1 */ lbz r0, 0x8c1(r31) +/* 802AFF60 002ABBC0 3C 60 80 54 */ lis r3, lbl_8053A468@ha +/* 802AFF64 002ABBC4 38 63 A4 68 */ addi r3, r3, lbl_8053A468@l +/* 802AFF68 002ABBC8 38 A0 00 10 */ li r5, 0x10 +/* 802AFF6C 002ABBCC 98 1E 00 28 */ stb r0, 0x28(r30) +/* 802AFF70 002ABBD0 88 04 00 01 */ lbz r0, 1(r4) +/* 802AFF74 002ABBD4 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f +/* 802AFF78 002ABBD8 90 1F 08 48 */ stw r0, 0x848(r31) +/* 802AFF7C 002ABBDC 88 C4 00 03 */ lbz r6, 3(r4) +/* 802AFF80 002ABBE0 88 04 00 01 */ lbz r0, 1(r4) +/* 802AFF84 002ABBE4 54 C6 10 3A */ slwi r6, r6, 2 +/* 802AFF88 002ABBE8 A8 FF 08 74 */ lha r7, 0x874(r31) +/* 802AFF8C 002ABBEC 7C C6 07 34 */ extsh r6, r6 +/* 802AFF90 002ABBF0 54 00 DF BE */ rlwinm r0, r0, 0x1b, 0x1e, 0x1f +/* 802AFF94 002ABBF4 54 C6 00 3A */ rlwinm r6, r6, 0, 0, 0x1d +/* 802AFF98 002ABBF8 7C C6 07 34 */ extsh r6, r6 +/* 802AFF9C 002ABBFC 7C C0 03 78 */ or r0, r6, r0 +/* 802AFFA0 002ABC00 7C 00 07 34 */ extsh r0, r0 +/* 802AFFA4 002ABC04 7C 07 00 50 */ subf r0, r7, r0 +/* 802AFFA8 002ABC08 B0 1E 00 02 */ sth r0, 2(r30) +/* 802AFFAC 002ABC0C 88 C4 00 04 */ lbz r6, 4(r4) +/* 802AFFB0 002ABC10 88 04 00 02 */ lbz r0, 2(r4) +/* 802AFFB4 002ABC14 54 C6 10 3A */ slwi r6, r6, 2 +/* 802AFFB8 002ABC18 A8 FF 08 76 */ lha r7, 0x876(r31) +/* 802AFFBC 002ABC1C 7C C6 07 34 */ extsh r6, r6 +/* 802AFFC0 002ABC20 54 00 E7 BC */ rlwinm r0, r0, 0x1c, 0x1e, 0x1e +/* 802AFFC4 002ABC24 54 C6 00 3A */ rlwinm r6, r6, 0, 0, 0x1d +/* 802AFFC8 002ABC28 7C C6 07 34 */ extsh r6, r6 +/* 802AFFCC 002ABC2C 7C 00 07 34 */ extsh r0, r0 +/* 802AFFD0 002ABC30 7C C0 03 78 */ or r0, r6, r0 +/* 802AFFD4 002ABC34 7C 00 07 34 */ extsh r0, r0 +/* 802AFFD8 002ABC38 7C 07 00 50 */ subf r0, r7, r0 +/* 802AFFDC 002ABC3C B0 1E 00 04 */ sth r0, 4(r30) +/* 802AFFE0 002ABC40 88 C4 00 05 */ lbz r6, 5(r4) +/* 802AFFE4 002ABC44 88 04 00 02 */ lbz r0, 2(r4) +/* 802AFFE8 002ABC48 38 84 00 06 */ addi r4, r4, 6 +/* 802AFFEC 002ABC4C 54 C6 10 3A */ slwi r6, r6, 2 +/* 802AFFF0 002ABC50 A8 FF 08 78 */ lha r7, 0x878(r31) +/* 802AFFF4 002ABC54 7C C6 07 34 */ extsh r6, r6 +/* 802AFFF8 002ABC58 54 00 DF BC */ rlwinm r0, r0, 0x1b, 0x1e, 0x1e +/* 802AFFFC 002ABC5C 54 C6 00 3A */ rlwinm r6, r6, 0, 0, 0x1d +/* 802B0000 002ABC60 7C C6 07 34 */ extsh r6, r6 +/* 802B0004 002ABC64 7C 00 07 34 */ extsh r0, r0 +/* 802B0008 002ABC68 7C C0 03 78 */ or r0, r6, r0 +/* 802B000C 002ABC6C 7C 00 07 34 */ extsh r0, r0 +/* 802B0010 002ABC70 7C 07 00 50 */ subf r0, r7, r0 +/* 802B0014 002ABC74 B0 1E 00 06 */ sth r0, 6(r30) +/* 802B0018 002ABC78 4B D5 3F E9 */ bl memcpy +/* 802B001C 002ABC7C 7F A3 EB 78 */ mr r3, r29 +/* 802B0020 002ABC80 38 9C 00 06 */ addi r4, r28, 6 +/* 802B0024 002ABC84 38 A0 00 10 */ li r5, 0x10 +/* 802B0028 002ABC88 38 C0 00 00 */ li r6, 0 +/* 802B002C 002ABC8C 48 00 2A 2D */ bl func_802B2A58 +/* 802B0030 002ABC90 80 1F 08 40 */ lwz r0, 0x840(r31) +/* 802B0034 002ABC94 2C 00 00 00 */ cmpwi r0, 0 +/* 802B0038 002ABC98 41 82 05 B8 */ beq lbl_802B05F0 +/* 802B003C 002ABC9C 88 1F 08 C1 */ lbz r0, 0x8c1(r31) +/* 802B0040 002ABCA0 28 00 00 01 */ cmplwi r0, 1 +/* 802B0044 002ABCA4 40 82 01 80 */ bne lbl_802B01C4 +/* 802B0048 002ABCA8 88 7F 08 C8 */ lbz r3, 0x8c8(r31) +/* 802B004C 002ABCAC 88 1C 00 06 */ lbz r0, 6(r28) +/* 802B0050 002ABCB0 1C 63 00 60 */ mulli r3, r3, 0x60 +/* 802B0054 002ABCB4 7C 7F 1A 14 */ add r3, r31, r3 +/* 802B0058 002ABCB8 98 03 00 D0 */ stb r0, 0xd0(r3) +/* 802B005C 002ABCBC 88 1C 00 07 */ lbz r0, 7(r28) +/* 802B0060 002ABCC0 98 03 00 D1 */ stb r0, 0xd1(r3) +/* 802B0064 002ABCC4 88 1C 00 08 */ lbz r0, 8(r28) +/* 802B0068 002ABCC8 88 9C 00 0B */ lbz r4, 0xb(r28) +/* 802B006C 002ABCCC 54 00 10 3A */ slwi r0, r0, 2 +/* 802B0070 002ABCD0 A8 DF 08 8E */ lha r6, 0x88e(r31) +/* 802B0074 002ABCD4 7C 05 07 34 */ extsh r5, r0 +/* 802B0078 002ABCD8 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802B007C 002ABCDC 54 80 F7 BE */ rlwinm r0, r4, 0x1e, 0x1e, 0x1f +/* 802B0080 002ABCE0 7C 84 16 70 */ srawi r4, r4, 2 +/* 802B0084 002ABCE4 7C A4 07 34 */ extsh r4, r5 +/* 802B0088 002ABCE8 7C 80 03 78 */ or r0, r4, r0 +/* 802B008C 002ABCEC 7C 00 07 34 */ extsh r0, r0 +/* 802B0090 002ABCF0 7C 06 00 50 */ subf r0, r6, r0 +/* 802B0094 002ABCF4 B0 03 00 CA */ sth r0, 0xca(r3) +/* 802B0098 002ABCF8 88 1C 00 09 */ lbz r0, 9(r28) +/* 802B009C 002ABCFC 88 9C 00 0B */ lbz r4, 0xb(r28) +/* 802B00A0 002ABD00 54 00 10 3A */ slwi r0, r0, 2 +/* 802B00A4 002ABD04 A8 DF 08 90 */ lha r6, 0x890(r31) +/* 802B00A8 002ABD08 7C 05 07 34 */ extsh r5, r0 +/* 802B00AC 002ABD0C 54 80 E7 BE */ rlwinm r0, r4, 0x1c, 0x1e, 0x1f +/* 802B00B0 002ABD10 7C 84 26 70 */ srawi r4, r4, 4 +/* 802B00B4 002ABD14 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802B00B8 002ABD18 7C A4 07 34 */ extsh r4, r5 +/* 802B00BC 002ABD1C 7C 80 03 78 */ or r0, r4, r0 +/* 802B00C0 002ABD20 7C 00 07 34 */ extsh r0, r0 +/* 802B00C4 002ABD24 7C 06 00 50 */ subf r0, r6, r0 +/* 802B00C8 002ABD28 B0 03 00 CC */ sth r0, 0xcc(r3) +/* 802B00CC 002ABD2C 88 9C 00 0A */ lbz r4, 0xa(r28) +/* 802B00D0 002ABD30 88 1C 00 0B */ lbz r0, 0xb(r28) +/* 802B00D4 002ABD34 54 84 10 3A */ slwi r4, r4, 2 +/* 802B00D8 002ABD38 A8 BF 08 92 */ lha r5, 0x892(r31) +/* 802B00DC 002ABD3C 7C 84 07 34 */ extsh r4, r4 +/* 802B00E0 002ABD40 7C 00 36 70 */ srawi r0, r0, 6 +/* 802B00E4 002ABD44 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d +/* 802B00E8 002ABD48 7C 84 07 34 */ extsh r4, r4 +/* 802B00EC 002ABD4C 7C 80 03 78 */ or r0, r4, r0 +/* 802B00F0 002ABD50 7C 00 07 34 */ extsh r0, r0 +/* 802B00F4 002ABD54 7C 05 00 50 */ subf r0, r5, r0 +/* 802B00F8 002ABD58 B0 03 00 CE */ sth r0, 0xce(r3) +/* 802B00FC 002ABD5C 88 1C 00 0B */ lbz r0, 0xb(r28) +/* 802B0100 002ABD60 A0 83 00 A0 */ lhz r4, 0xa0(r3) +/* 802B0104 002ABD64 7C 00 00 F8 */ nor r0, r0, r0 +/* 802B0108 002ABD68 54 00 6C 64 */ rlwinm r0, r0, 0xd, 0x11, 0x12 +/* 802B010C 002ABD6C 7C 80 03 78 */ or r0, r4, r0 +/* 802B0110 002ABD70 B0 03 00 A0 */ sth r0, 0xa0(r3) +/* 802B0114 002ABD74 88 1F 09 11 */ lbz r0, 0x911(r31) +/* 802B0118 002ABD78 2C 00 00 00 */ cmpwi r0, 0 +/* 802B011C 002ABD7C 40 82 00 24 */ bne lbl_802B0140 +/* 802B0120 002ABD80 38 00 00 01 */ li r0, 1 +/* 802B0124 002ABD84 98 1F 09 11 */ stb r0, 0x911(r31) +/* 802B0128 002ABD88 88 03 00 D0 */ lbz r0, 0xd0(r3) +/* 802B012C 002ABD8C 7C 00 07 74 */ extsb r0, r0 +/* 802B0130 002ABD90 B0 1F 08 82 */ sth r0, 0x882(r31) +/* 802B0134 002ABD94 88 03 00 D1 */ lbz r0, 0xd1(r3) +/* 802B0138 002ABD98 7C 00 07 74 */ extsb r0, r0 +/* 802B013C 002ABD9C B0 1F 08 88 */ sth r0, 0x888(r31) +lbl_802B0140: +/* 802B0140 002ABDA0 A8 9F 08 82 */ lha r4, 0x882(r31) +/* 802B0144 002ABDA4 88 03 00 D0 */ lbz r0, 0xd0(r3) +/* 802B0148 002ABDA8 54 85 06 3E */ clrlwi r5, r4, 0x18 +/* 802B014C 002ABDAC A8 9F 08 88 */ lha r4, 0x888(r31) +/* 802B0150 002ABDB0 7C A5 00 50 */ subf r5, r5, r0 +/* 802B0154 002ABDB4 88 03 00 D1 */ lbz r0, 0xd1(r3) +/* 802B0158 002ABDB8 7C A5 07 34 */ extsh r5, r5 +/* 802B015C 002ABDBC 54 84 06 3E */ clrlwi r4, r4, 0x18 +/* 802B0160 002ABDC0 2C 05 FF 80 */ cmpwi r5, -128 +/* 802B0164 002ABDC4 7C 04 00 50 */ subf r0, r4, r0 +/* 802B0168 002ABDC8 7C 04 07 34 */ extsh r4, r0 +/* 802B016C 002ABDCC 40 80 00 10 */ bge lbl_802B017C +/* 802B0170 002ABDD0 38 00 FF 80 */ li r0, -128 +/* 802B0174 002ABDD4 98 03 00 D0 */ stb r0, 0xd0(r3) +/* 802B0178 002ABDD8 48 00 00 1C */ b lbl_802B0194 +lbl_802B017C: +/* 802B017C 002ABDDC 2C 05 00 7F */ cmpwi r5, 0x7f +/* 802B0180 002ABDE0 40 81 00 10 */ ble lbl_802B0190 +/* 802B0184 002ABDE4 38 00 00 7F */ li r0, 0x7f +/* 802B0188 002ABDE8 98 03 00 D0 */ stb r0, 0xd0(r3) +/* 802B018C 002ABDEC 48 00 00 08 */ b lbl_802B0194 +lbl_802B0190: +/* 802B0190 002ABDF0 98 A3 00 D0 */ stb r5, 0xd0(r3) +lbl_802B0194: +/* 802B0194 002ABDF4 2C 04 FF 80 */ cmpwi r4, -128 +/* 802B0198 002ABDF8 40 80 00 10 */ bge lbl_802B01A8 +/* 802B019C 002ABDFC 38 00 FF 80 */ li r0, -128 +/* 802B01A0 002ABE00 98 03 00 D1 */ stb r0, 0xd1(r3) +/* 802B01A4 002ABE04 48 00 04 18 */ b lbl_802B05BC +lbl_802B01A8: +/* 802B01A8 002ABE08 2C 04 00 7F */ cmpwi r4, 0x7f +/* 802B01AC 002ABE0C 40 81 00 10 */ ble lbl_802B01BC +/* 802B01B0 002ABE10 38 00 00 7F */ li r0, 0x7f +/* 802B01B4 002ABE14 98 03 00 D1 */ stb r0, 0xd1(r3) +/* 802B01B8 002ABE18 48 00 04 04 */ b lbl_802B05BC +lbl_802B01BC: +/* 802B01BC 002ABE1C 98 83 00 D1 */ stb r4, 0xd1(r3) +/* 802B01C0 002ABE20 48 00 03 FC */ b lbl_802B05BC +lbl_802B01C4: +/* 802B01C4 002ABE24 28 00 00 02 */ cmplwi r0, 2 +/* 802B01C8 002ABE28 40 82 03 F4 */ bne lbl_802B05BC +/* 802B01CC 002ABE2C 88 1F 08 C2 */ lbz r0, 0x8c2(r31) +/* 802B01D0 002ABE30 2C 00 00 02 */ cmpwi r0, 2 +/* 802B01D4 002ABE34 41 82 00 E4 */ beq lbl_802B02B8 +/* 802B01D8 002ABE38 40 80 00 10 */ bge lbl_802B01E8 +/* 802B01DC 002ABE3C 2C 00 00 01 */ cmpwi r0, 1 +/* 802B01E0 002ABE40 40 80 00 14 */ bge lbl_802B01F4 +/* 802B01E4 002ABE44 48 00 02 58 */ b lbl_802B043C +lbl_802B01E8: +/* 802B01E8 002ABE48 2C 00 00 04 */ cmpwi r0, 4 +/* 802B01EC 002ABE4C 40 80 02 50 */ bge lbl_802B043C +/* 802B01F0 002ABE50 48 00 01 B8 */ b lbl_802B03A8 +lbl_802B01F4: +/* 802B01F4 002ABE54 88 7F 08 C8 */ lbz r3, 0x8c8(r31) +/* 802B01F8 002ABE58 88 1C 00 06 */ lbz r0, 6(r28) +/* 802B01FC 002ABE5C 1C 63 00 60 */ mulli r3, r3, 0x60 +/* 802B0200 002ABE60 54 00 25 B6 */ rlwinm r0, r0, 4, 0x16, 0x1b +/* 802B0204 002ABE64 7C 9F 1A 14 */ add r4, r31, r3 +/* 802B0208 002ABE68 7C 03 07 34 */ extsh r3, r0 +/* 802B020C 002ABE6C 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0210 002ABE70 3B A4 00 A0 */ addi r29, r4, 0xa0 +/* 802B0214 002ABE74 B0 04 00 CC */ sth r0, 0xcc(r4) +/* 802B0218 002ABE78 88 1C 00 07 */ lbz r0, 7(r28) +/* 802B021C 002ABE7C 54 00 25 B6 */ rlwinm r0, r0, 4, 0x16, 0x1b +/* 802B0220 002ABE80 7C 03 07 34 */ extsh r3, r0 +/* 802B0224 002ABE84 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0228 002ABE88 B0 04 00 CE */ sth r0, 0xce(r4) +/* 802B022C 002ABE8C 88 7C 00 07 */ lbz r3, 7(r28) +/* 802B0230 002ABE90 88 BC 00 08 */ lbz r5, 8(r28) +/* 802B0234 002ABE94 88 9C 00 06 */ lbz r4, 6(r28) +/* 802B0238 002ABE98 54 60 DF 7C */ rlwinm r0, r3, 0x1b, 0x1d, 0x1e +/* 802B023C 002ABE9C 7C A5 3E 70 */ srawi r5, r5, 7 +/* 802B0240 002ABEA0 50 80 EE F8 */ rlwimi r0, r4, 0x1d, 0x1b, 0x1c +/* 802B0244 002ABEA4 7C 84 1E 70 */ srawi r4, r4, 3 +/* 802B0248 002ABEA8 7C A0 03 78 */ or r0, r5, r0 +/* 802B024C 002ABEAC 7C 63 2E 70 */ srawi r3, r3, 5 +/* 802B0250 002ABEB0 7C 00 07 34 */ extsh r0, r0 +/* 802B0254 002ABEB4 54 00 28 34 */ slwi r0, r0, 5 +/* 802B0258 002ABEB8 7C 03 07 34 */ extsh r3, r0 +/* 802B025C 002ABEBC 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0260 002ABEC0 B0 1D 00 30 */ sth r0, 0x30(r29) +/* 802B0264 002ABEC4 88 1C 00 08 */ lbz r0, 8(r28) +/* 802B0268 002ABEC8 54 00 2D B4 */ rlwinm r0, r0, 5, 0x16, 0x1a +/* 802B026C 002ABECC 7C 03 07 34 */ extsh r3, r0 +/* 802B0270 002ABED0 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0274 002ABED4 B0 1D 00 32 */ sth r0, 0x32(r29) +/* 802B0278 002ABED8 88 7C 00 08 */ lbz r3, 8(r28) +/* 802B027C 002ABEDC 88 1C 00 09 */ lbz r0, 9(r28) +/* 802B0280 002ABEE0 7C 63 16 70 */ srawi r3, r3, 2 +/* 802B0284 002ABEE4 7C 00 2E 70 */ srawi r0, r0, 5 +/* 802B0288 002ABEE8 50 60 06 F8 */ rlwimi r0, r3, 0, 0x1b, 0x1c +/* 802B028C 002ABEEC 54 00 1E 38 */ rlwinm r0, r0, 3, 0x18, 0x1c +/* 802B0290 002ABEF0 98 1D 00 34 */ stb r0, 0x34(r29) +/* 802B0294 002ABEF4 88 1C 00 09 */ lbz r0, 9(r28) +/* 802B0298 002ABEF8 54 00 1E 38 */ rlwinm r0, r0, 3, 0x18, 0x1c +/* 802B029C 002ABEFC 98 1D 00 35 */ stb r0, 0x35(r29) +/* 802B02A0 002ABF00 88 7C 00 0A */ lbz r3, 0xa(r28) +/* 802B02A4 002ABF04 88 1C 00 0B */ lbz r0, 0xb(r28) +/* 802B02A8 002ABF08 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802B02AC 002ABF0C 68 00 FF FF */ xori r0, r0, 0xffff +/* 802B02B0 002ABF10 B0 1D 00 2A */ sth r0, 0x2a(r29) +/* 802B02B4 002ABF14 48 00 01 88 */ b lbl_802B043C +lbl_802B02B8: +/* 802B02B8 002ABF18 88 1C 00 06 */ lbz r0, 6(r28) +/* 802B02BC 002ABF1C 88 9F 08 C8 */ lbz r4, 0x8c8(r31) +/* 802B02C0 002ABF20 54 03 10 3A */ slwi r3, r0, 2 +/* 802B02C4 002ABF24 88 1C 00 0A */ lbz r0, 0xa(r28) +/* 802B02C8 002ABF28 7C 63 07 34 */ extsh r3, r3 +/* 802B02CC 002ABF2C 54 63 00 3A */ rlwinm r3, r3, 0, 0, 0x1d +/* 802B02D0 002ABF30 54 00 07 BE */ clrlwi r0, r0, 0x1e +/* 802B02D4 002ABF34 1C 84 00 60 */ mulli r4, r4, 0x60 +/* 802B02D8 002ABF38 7C 63 07 34 */ extsh r3, r3 +/* 802B02DC 002ABF3C 7C 60 03 78 */ or r0, r3, r0 +/* 802B02E0 002ABF40 7C 03 07 34 */ extsh r3, r0 +/* 802B02E4 002ABF44 7C 9F 22 14 */ add r4, r31, r4 +/* 802B02E8 002ABF48 38 03 FE 00 */ addi r0, r3, -512 +/* 802B02EC 002ABF4C B0 04 00 CC */ sth r0, 0xcc(r4) +/* 802B02F0 002ABF50 3B A4 00 A0 */ addi r29, r4, 0xa0 +/* 802B02F4 002ABF54 88 7C 00 0A */ lbz r3, 0xa(r28) +/* 802B02F8 002ABF58 88 9C 00 07 */ lbz r4, 7(r28) +/* 802B02FC 002ABF5C 54 60 F7 BE */ rlwinm r0, r3, 0x1e, 0x1e, 0x1f +/* 802B0300 002ABF60 7C 63 16 70 */ srawi r3, r3, 2 +/* 802B0304 002ABF64 54 83 10 3A */ slwi r3, r4, 2 +/* 802B0308 002ABF68 7C 63 07 34 */ extsh r3, r3 +/* 802B030C 002ABF6C 54 63 00 3A */ rlwinm r3, r3, 0, 0, 0x1d +/* 802B0310 002ABF70 7C 63 07 34 */ extsh r3, r3 +/* 802B0314 002ABF74 7C 60 03 78 */ or r0, r3, r0 +/* 802B0318 002ABF78 7C 03 07 34 */ extsh r3, r0 +/* 802B031C 002ABF7C 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0320 002ABF80 B0 1D 00 30 */ sth r0, 0x30(r29) +/* 802B0324 002ABF84 88 7C 00 0A */ lbz r3, 0xa(r28) +/* 802B0328 002ABF88 88 9C 00 08 */ lbz r4, 8(r28) +/* 802B032C 002ABF8C 54 60 E7 BE */ rlwinm r0, r3, 0x1c, 0x1e, 0x1f +/* 802B0330 002ABF90 7C 63 26 70 */ srawi r3, r3, 4 +/* 802B0334 002ABF94 54 83 10 3A */ slwi r3, r4, 2 +/* 802B0338 002ABF98 7C 63 07 34 */ extsh r3, r3 +/* 802B033C 002ABF9C 54 63 00 3A */ rlwinm r3, r3, 0, 0, 0x1d +/* 802B0340 002ABFA0 7C 63 07 34 */ extsh r3, r3 +/* 802B0344 002ABFA4 7C 60 03 78 */ or r0, r3, r0 +/* 802B0348 002ABFA8 7C 03 07 34 */ extsh r3, r0 +/* 802B034C 002ABFAC 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0350 002ABFB0 B0 1D 00 2E */ sth r0, 0x2e(r29) +/* 802B0354 002ABFB4 88 7C 00 09 */ lbz r3, 9(r28) +/* 802B0358 002ABFB8 88 1C 00 0A */ lbz r0, 0xa(r28) +/* 802B035C 002ABFBC 54 63 10 3A */ slwi r3, r3, 2 +/* 802B0360 002ABFC0 7C 63 07 34 */ extsh r3, r3 +/* 802B0364 002ABFC4 7C 00 36 70 */ srawi r0, r0, 6 +/* 802B0368 002ABFC8 54 63 00 3A */ rlwinm r3, r3, 0, 0, 0x1d +/* 802B036C 002ABFCC 7C 63 07 34 */ extsh r3, r3 +/* 802B0370 002ABFD0 7C 60 03 78 */ or r0, r3, r0 +/* 802B0374 002ABFD4 7C 03 07 34 */ extsh r3, r0 +/* 802B0378 002ABFD8 38 03 FE 00 */ addi r0, r3, -512 +/* 802B037C 002ABFDC B0 1D 00 32 */ sth r0, 0x32(r29) +/* 802B0380 002ABFE0 88 1C 00 0B */ lbz r0, 0xb(r28) +/* 802B0384 002ABFE4 98 1D 00 34 */ stb r0, 0x34(r29) +/* 802B0388 002ABFE8 88 1C 00 0C */ lbz r0, 0xc(r28) +/* 802B038C 002ABFEC 98 1D 00 35 */ stb r0, 0x35(r29) +/* 802B0390 002ABFF0 88 7C 00 0D */ lbz r3, 0xd(r28) +/* 802B0394 002ABFF4 88 1C 00 0E */ lbz r0, 0xe(r28) +/* 802B0398 002ABFF8 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802B039C 002ABFFC 68 00 FF FF */ xori r0, r0, 0xffff +/* 802B03A0 002AC000 B0 1D 00 2A */ sth r0, 0x2a(r29) +/* 802B03A4 002AC004 48 00 00 98 */ b lbl_802B043C +lbl_802B03A8: +/* 802B03A8 002AC008 88 7F 08 C8 */ lbz r3, 0x8c8(r31) +/* 802B03AC 002AC00C 88 1C 00 06 */ lbz r0, 6(r28) +/* 802B03B0 002AC010 1C 63 00 60 */ mulli r3, r3, 0x60 +/* 802B03B4 002AC014 7C 00 07 34 */ extsh r0, r0 +/* 802B03B8 002AC018 7C 9F 1A 14 */ add r4, r31, r3 +/* 802B03BC 002AC01C 54 00 10 3A */ slwi r0, r0, 2 +/* 802B03C0 002AC020 7C 03 07 34 */ extsh r3, r0 +/* 802B03C4 002AC024 38 03 FE 00 */ addi r0, r3, -512 +/* 802B03C8 002AC028 3B A4 00 A0 */ addi r29, r4, 0xa0 +/* 802B03CC 002AC02C B0 04 00 CC */ sth r0, 0xcc(r4) +/* 802B03D0 002AC030 88 1C 00 07 */ lbz r0, 7(r28) +/* 802B03D4 002AC034 7C 00 07 34 */ extsh r0, r0 +/* 802B03D8 002AC038 54 00 10 3A */ slwi r0, r0, 2 +/* 802B03DC 002AC03C 7C 03 07 34 */ extsh r3, r0 +/* 802B03E0 002AC040 38 03 FE 00 */ addi r0, r3, -512 +/* 802B03E4 002AC044 B0 04 00 D0 */ sth r0, 0xd0(r4) +/* 802B03E8 002AC048 88 1C 00 08 */ lbz r0, 8(r28) +/* 802B03EC 002AC04C 7C 00 07 34 */ extsh r0, r0 +/* 802B03F0 002AC050 54 00 10 3A */ slwi r0, r0, 2 +/* 802B03F4 002AC054 7C 03 07 34 */ extsh r3, r0 +/* 802B03F8 002AC058 38 03 FE 00 */ addi r0, r3, -512 +/* 802B03FC 002AC05C B0 04 00 CE */ sth r0, 0xce(r4) +/* 802B0400 002AC060 88 1C 00 09 */ lbz r0, 9(r28) +/* 802B0404 002AC064 7C 00 07 34 */ extsh r0, r0 +/* 802B0408 002AC068 54 00 10 3A */ slwi r0, r0, 2 +/* 802B040C 002AC06C 7C 03 07 34 */ extsh r3, r0 +/* 802B0410 002AC070 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0414 002AC074 B0 04 00 D2 */ sth r0, 0xd2(r4) +/* 802B0418 002AC078 88 1C 00 0A */ lbz r0, 0xa(r28) +/* 802B041C 002AC07C 98 04 00 D4 */ stb r0, 0xd4(r4) +/* 802B0420 002AC080 88 1C 00 0B */ lbz r0, 0xb(r28) +/* 802B0424 002AC084 98 04 00 D5 */ stb r0, 0xd5(r4) +/* 802B0428 002AC088 88 7C 00 0C */ lbz r3, 0xc(r28) +/* 802B042C 002AC08C 88 1C 00 0D */ lbz r0, 0xd(r28) +/* 802B0430 002AC090 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802B0434 002AC094 68 00 FF FF */ xori r0, r0, 0xffff +/* 802B0438 002AC098 B0 04 00 CA */ sth r0, 0xca(r4) +lbl_802B043C: +/* 802B043C 002AC09C 88 1F 09 11 */ lbz r0, 0x911(r31) +/* 802B0440 002AC0A0 2C 00 00 00 */ cmpwi r0, 0 +/* 802B0444 002AC0A4 40 82 00 3C */ bne lbl_802B0480 +/* 802B0448 002AC0A8 38 00 00 01 */ li r0, 1 +/* 802B044C 002AC0AC 98 1F 09 11 */ stb r0, 0x911(r31) +/* 802B0450 002AC0B0 A8 1D 00 2C */ lha r0, 0x2c(r29) +/* 802B0454 002AC0B4 B0 1F 08 82 */ sth r0, 0x882(r31) +/* 802B0458 002AC0B8 A8 1D 00 2E */ lha r0, 0x2e(r29) +/* 802B045C 002AC0BC B0 1F 08 88 */ sth r0, 0x888(r31) +/* 802B0460 002AC0C0 A8 1D 00 30 */ lha r0, 0x30(r29) +/* 802B0464 002AC0C4 B0 1F 08 8E */ sth r0, 0x88e(r31) +/* 802B0468 002AC0C8 A8 1D 00 32 */ lha r0, 0x32(r29) +/* 802B046C 002AC0CC B0 1F 08 94 */ sth r0, 0x894(r31) +/* 802B0470 002AC0D0 88 1D 00 34 */ lbz r0, 0x34(r29) +/* 802B0474 002AC0D4 98 1F 08 9A */ stb r0, 0x89a(r31) +/* 802B0478 002AC0D8 88 1D 00 35 */ lbz r0, 0x35(r29) +/* 802B047C 002AC0DC 98 1F 08 9B */ stb r0, 0x89b(r31) +lbl_802B0480: +/* 802B0480 002AC0E0 A8 9F 08 82 */ lha r4, 0x882(r31) +/* 802B0484 002AC0E4 A8 1D 00 2C */ lha r0, 0x2c(r29) +/* 802B0488 002AC0E8 A8 7F 08 88 */ lha r3, 0x888(r31) +/* 802B048C 002AC0EC 7C 84 00 50 */ subf r4, r4, r0 +/* 802B0490 002AC0F0 A8 1D 00 2E */ lha r0, 0x2e(r29) +/* 802B0494 002AC0F4 7C 84 07 34 */ extsh r4, r4 +/* 802B0498 002AC0F8 7C 03 00 50 */ subf r0, r3, r0 +/* 802B049C 002AC0FC 2C 04 FE 00 */ cmpwi r4, -512 +/* 802B04A0 002AC100 7C 03 07 34 */ extsh r3, r0 +/* 802B04A4 002AC104 40 80 00 10 */ bge lbl_802B04B4 +/* 802B04A8 002AC108 38 00 FE 00 */ li r0, -512 +/* 802B04AC 002AC10C B0 1D 00 2C */ sth r0, 0x2c(r29) +/* 802B04B0 002AC110 48 00 00 1C */ b lbl_802B04CC +lbl_802B04B4: +/* 802B04B4 002AC114 2C 04 01 FF */ cmpwi r4, 0x1ff +/* 802B04B8 002AC118 40 81 00 10 */ ble lbl_802B04C8 +/* 802B04BC 002AC11C 38 00 01 FF */ li r0, 0x1ff +/* 802B04C0 002AC120 B0 1D 00 2C */ sth r0, 0x2c(r29) +/* 802B04C4 002AC124 48 00 00 08 */ b lbl_802B04CC +lbl_802B04C8: +/* 802B04C8 002AC128 B0 9D 00 2C */ sth r4, 0x2c(r29) +lbl_802B04CC: +/* 802B04CC 002AC12C 2C 03 FE 00 */ cmpwi r3, -512 +/* 802B04D0 002AC130 40 80 00 10 */ bge lbl_802B04E0 +/* 802B04D4 002AC134 38 00 FE 00 */ li r0, -512 +/* 802B04D8 002AC138 B0 1D 00 2E */ sth r0, 0x2e(r29) +/* 802B04DC 002AC13C 48 00 00 1C */ b lbl_802B04F8 +lbl_802B04E0: +/* 802B04E0 002AC140 2C 03 01 FF */ cmpwi r3, 0x1ff +/* 802B04E4 002AC144 40 81 00 10 */ ble lbl_802B04F4 +/* 802B04E8 002AC148 38 00 01 FF */ li r0, 0x1ff +/* 802B04EC 002AC14C B0 1D 00 2E */ sth r0, 0x2e(r29) +/* 802B04F0 002AC150 48 00 00 08 */ b lbl_802B04F8 +lbl_802B04F4: +/* 802B04F4 002AC154 B0 7D 00 2E */ sth r3, 0x2e(r29) +lbl_802B04F8: +/* 802B04F8 002AC158 A8 9F 08 8E */ lha r4, 0x88e(r31) +/* 802B04FC 002AC15C A8 1D 00 30 */ lha r0, 0x30(r29) +/* 802B0500 002AC160 A8 7F 08 94 */ lha r3, 0x894(r31) +/* 802B0504 002AC164 7C 84 00 50 */ subf r4, r4, r0 +/* 802B0508 002AC168 A8 1D 00 32 */ lha r0, 0x32(r29) +/* 802B050C 002AC16C 7C 84 07 34 */ extsh r4, r4 +/* 802B0510 002AC170 7C 03 00 50 */ subf r0, r3, r0 +/* 802B0514 002AC174 2C 04 FE 00 */ cmpwi r4, -512 +/* 802B0518 002AC178 7C 03 07 34 */ extsh r3, r0 +/* 802B051C 002AC17C 40 80 00 10 */ bge lbl_802B052C +/* 802B0520 002AC180 38 00 FE 00 */ li r0, -512 +/* 802B0524 002AC184 B0 1D 00 30 */ sth r0, 0x30(r29) +/* 802B0528 002AC188 48 00 00 1C */ b lbl_802B0544 +lbl_802B052C: +/* 802B052C 002AC18C 2C 04 01 FF */ cmpwi r4, 0x1ff +/* 802B0530 002AC190 40 81 00 10 */ ble lbl_802B0540 +/* 802B0534 002AC194 38 00 01 FF */ li r0, 0x1ff +/* 802B0538 002AC198 B0 1D 00 30 */ sth r0, 0x30(r29) +/* 802B053C 002AC19C 48 00 00 08 */ b lbl_802B0544 +lbl_802B0540: +/* 802B0540 002AC1A0 B0 9D 00 30 */ sth r4, 0x30(r29) +lbl_802B0544: +/* 802B0544 002AC1A4 2C 03 FE 00 */ cmpwi r3, -512 +/* 802B0548 002AC1A8 40 80 00 10 */ bge lbl_802B0558 +/* 802B054C 002AC1AC 38 00 FE 00 */ li r0, -512 +/* 802B0550 002AC1B0 B0 1D 00 32 */ sth r0, 0x32(r29) +/* 802B0554 002AC1B4 48 00 00 1C */ b lbl_802B0570 +lbl_802B0558: +/* 802B0558 002AC1B8 2C 03 01 FF */ cmpwi r3, 0x1ff +/* 802B055C 002AC1BC 40 81 00 10 */ ble lbl_802B056C +/* 802B0560 002AC1C0 38 00 01 FF */ li r0, 0x1ff +/* 802B0564 002AC1C4 B0 1D 00 32 */ sth r0, 0x32(r29) +/* 802B0568 002AC1C8 48 00 00 08 */ b lbl_802B0570 +lbl_802B056C: +/* 802B056C 002AC1CC B0 7D 00 32 */ sth r3, 0x32(r29) +lbl_802B0570: +/* 802B0570 002AC1D0 88 9F 08 9A */ lbz r4, 0x89a(r31) +/* 802B0574 002AC1D4 88 1D 00 34 */ lbz r0, 0x34(r29) +/* 802B0578 002AC1D8 88 7F 08 9B */ lbz r3, 0x89b(r31) +/* 802B057C 002AC1DC 7C 84 00 50 */ subf r4, r4, r0 +/* 802B0580 002AC1E0 88 1D 00 35 */ lbz r0, 0x35(r29) +/* 802B0584 002AC1E4 7C 84 07 35 */ extsh. r4, r4 +/* 802B0588 002AC1E8 7C 03 00 50 */ subf r0, r3, r0 +/* 802B058C 002AC1EC 7C 03 07 34 */ extsh r3, r0 +/* 802B0590 002AC1F0 40 80 00 10 */ bge lbl_802B05A0 +/* 802B0594 002AC1F4 38 00 00 00 */ li r0, 0 +/* 802B0598 002AC1F8 98 1D 00 34 */ stb r0, 0x34(r29) +/* 802B059C 002AC1FC 48 00 00 08 */ b lbl_802B05A4 +lbl_802B05A0: +/* 802B05A0 002AC200 98 9D 00 34 */ stb r4, 0x34(r29) +lbl_802B05A4: +/* 802B05A4 002AC204 2C 03 00 00 */ cmpwi r3, 0 +/* 802B05A8 002AC208 40 80 00 10 */ bge lbl_802B05B8 +/* 802B05AC 002AC20C 38 00 00 00 */ li r0, 0 +/* 802B05B0 002AC210 98 1D 00 35 */ stb r0, 0x35(r29) +/* 802B05B4 002AC214 48 00 00 08 */ b lbl_802B05BC +lbl_802B05B8: +/* 802B05B8 002AC218 98 7D 00 35 */ stb r3, 0x35(r29) +lbl_802B05BC: +/* 802B05BC 002AC21C 3C 60 80 54 */ lis r3, lbl_8053A468@ha +/* 802B05C0 002AC220 3C 80 80 44 */ lis r4, lbl_8043C320@ha +/* 802B05C4 002AC224 38 63 A4 68 */ addi r3, r3, lbl_8053A468@l +/* 802B05C8 002AC228 38 A0 00 10 */ li r5, 0x10 +/* 802B05CC 002AC22C 38 84 C3 20 */ addi r4, r4, lbl_8043C320@l +/* 802B05D0 002AC230 4B F1 9D C9 */ bl memcmp +/* 802B05D4 002AC234 2C 03 00 00 */ cmpwi r3, 0 +/* 802B05D8 002AC238 40 82 00 18 */ bne lbl_802B05F0 +/* 802B05DC 002AC23C 88 1E 00 29 */ lbz r0, 0x29(r30) +/* 802B05E0 002AC240 7C 00 07 75 */ extsb. r0, r0 +/* 802B05E4 002AC244 40 82 00 0C */ bne lbl_802B05F0 +/* 802B05E8 002AC248 38 00 FF F9 */ li r0, -7 +/* 802B05EC 002AC24C 98 1E 00 29 */ stb r0, 0x29(r30) +lbl_802B05F0: +/* 802B05F0 002AC250 4B FB E1 6D */ bl OSDisableInterrupts +/* 802B05F4 002AC254 88 1F 08 C8 */ lbz r0, 0x8c8(r31) +/* 802B05F8 002AC258 7C 00 00 34 */ cntlzw r0, r0 +/* 802B05FC 002AC25C 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802B0600 002AC260 98 1F 08 C8 */ stb r0, 0x8c8(r31) +/* 802B0604 002AC264 4B FB E1 81 */ bl OSRestoreInterrupts +/* 802B0608 002AC268 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B060C 002AC26C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B0610 002AC270 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B0614 002AC274 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B0618 002AC278 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802B061C 002AC27C 7C 08 03 A6 */ mtlr r0 +/* 802B0620 002AC280 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B0624 002AC284 4E 80 00 20 */ blr + +.global __a1_36_data_type +__a1_36_data_type: +/* 802B0628 002AC288 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B062C 002AC28C 7C 08 02 A6 */ mflr r0 +/* 802B0630 002AC290 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B0634 002AC294 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B0638 002AC298 4B F1 6A ED */ bl _savegpr_26 +/* 802B063C 002AC29C 7C 7B 1B 78 */ mr r27, r3 +/* 802B0640 002AC2A0 7C 9C 23 78 */ mr r28, r4 +/* 802B0644 002AC2A4 4B FB E1 19 */ bl OSDisableInterrupts +/* 802B0648 002AC2A8 3C 80 80 53 */ lis r4, lbl_80536D70@ha +/* 802B064C 002AC2AC 7C 7D 1B 78 */ mr r29, r3 +/* 802B0650 002AC2B0 57 65 15 BA */ rlwinm r5, r27, 2, 0x16, 0x1d +/* 802B0654 002AC2B4 38 00 00 02 */ li r0, 2 +/* 802B0658 002AC2B8 38 84 6D 70 */ addi r4, r4, lbl_80536D70@l +/* 802B065C 002AC2BC 38 60 00 00 */ li r3, 0 +/* 802B0660 002AC2C0 7F E4 28 2E */ lwzx r31, r4, r5 +/* 802B0664 002AC2C4 38 A0 00 00 */ li r5, 0 +/* 802B0668 002AC2C8 88 9F 08 C8 */ lbz r4, 0x8c8(r31) +/* 802B066C 002AC2CC 1C 84 00 60 */ mulli r4, r4, 0x60 +/* 802B0670 002AC2D0 7C 9F 22 14 */ add r4, r31, r4 +/* 802B0674 002AC2D4 3B C4 00 A0 */ addi r30, r4, 0xa0 +/* 802B0678 002AC2D8 7C 09 03 A6 */ mtctr r0 +lbl_802B067C: +/* 802B067C 002AC2DC 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802B0680 002AC2E0 7C 9E 2A 14 */ add r4, r30, r5 +/* 802B0684 002AC2E4 38 A5 00 08 */ addi r5, r5, 8 +/* 802B0688 002AC2E8 98 64 00 01 */ stb r3, 1(r4) +/* 802B068C 002AC2EC 98 64 00 02 */ stb r3, 2(r4) +/* 802B0690 002AC2F0 98 64 00 03 */ stb r3, 3(r4) +/* 802B0694 002AC2F4 98 64 00 04 */ stb r3, 4(r4) +/* 802B0698 002AC2F8 98 64 00 05 */ stb r3, 5(r4) +/* 802B069C 002AC2FC 98 64 00 06 */ stb r3, 6(r4) +/* 802B06A0 002AC300 98 64 00 07 */ stb r3, 7(r4) +/* 802B06A4 002AC304 7C 9E 2A 14 */ add r4, r30, r5 +/* 802B06A8 002AC308 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802B06AC 002AC30C 38 A5 00 08 */ addi r5, r5, 8 +/* 802B06B0 002AC310 98 64 00 01 */ stb r3, 1(r4) +/* 802B06B4 002AC314 98 64 00 02 */ stb r3, 2(r4) +/* 802B06B8 002AC318 98 64 00 03 */ stb r3, 3(r4) +/* 802B06BC 002AC31C 98 64 00 04 */ stb r3, 4(r4) +/* 802B06C0 002AC320 98 64 00 05 */ stb r3, 5(r4) +/* 802B06C4 002AC324 98 64 00 06 */ stb r3, 6(r4) +/* 802B06C8 002AC328 98 64 00 07 */ stb r3, 7(r4) +/* 802B06CC 002AC32C 7C 9E 2A 14 */ add r4, r30, r5 +/* 802B06D0 002AC330 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802B06D4 002AC334 38 A5 00 08 */ addi r5, r5, 8 +/* 802B06D8 002AC338 98 64 00 01 */ stb r3, 1(r4) +/* 802B06DC 002AC33C 98 64 00 02 */ stb r3, 2(r4) +/* 802B06E0 002AC340 98 64 00 03 */ stb r3, 3(r4) +/* 802B06E4 002AC344 98 64 00 04 */ stb r3, 4(r4) +/* 802B06E8 002AC348 98 64 00 05 */ stb r3, 5(r4) +/* 802B06EC 002AC34C 98 64 00 06 */ stb r3, 6(r4) +/* 802B06F0 002AC350 98 64 00 07 */ stb r3, 7(r4) +/* 802B06F4 002AC354 7C 9E 2A 14 */ add r4, r30, r5 +/* 802B06F8 002AC358 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802B06FC 002AC35C 38 A5 00 08 */ addi r5, r5, 8 +/* 802B0700 002AC360 98 64 00 01 */ stb r3, 1(r4) +/* 802B0704 002AC364 98 64 00 02 */ stb r3, 2(r4) +/* 802B0708 002AC368 98 64 00 03 */ stb r3, 3(r4) +/* 802B070C 002AC36C 98 64 00 04 */ stb r3, 4(r4) +/* 802B0710 002AC370 98 64 00 05 */ stb r3, 5(r4) +/* 802B0714 002AC374 98 64 00 06 */ stb r3, 6(r4) +/* 802B0718 002AC378 98 64 00 07 */ stb r3, 7(r4) +/* 802B071C 002AC37C 7C 9E 2A 14 */ add r4, r30, r5 +/* 802B0720 002AC380 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802B0724 002AC384 38 A5 00 08 */ addi r5, r5, 8 +/* 802B0728 002AC388 98 64 00 01 */ stb r3, 1(r4) +/* 802B072C 002AC38C 98 64 00 02 */ stb r3, 2(r4) +/* 802B0730 002AC390 98 64 00 03 */ stb r3, 3(r4) +/* 802B0734 002AC394 98 64 00 04 */ stb r3, 4(r4) +/* 802B0738 002AC398 98 64 00 05 */ stb r3, 5(r4) +/* 802B073C 002AC39C 98 64 00 06 */ stb r3, 6(r4) +/* 802B0740 002AC3A0 98 64 00 07 */ stb r3, 7(r4) +/* 802B0744 002AC3A4 7C 9E 2A 14 */ add r4, r30, r5 +/* 802B0748 002AC3A8 7C 7E 29 AE */ stbx r3, r30, r5 +/* 802B074C 002AC3AC 38 A5 00 08 */ addi r5, r5, 8 +/* 802B0750 002AC3B0 98 64 00 01 */ stb r3, 1(r4) +/* 802B0754 002AC3B4 98 64 00 02 */ stb r3, 2(r4) +/* 802B0758 002AC3B8 98 64 00 03 */ stb r3, 3(r4) +/* 802B075C 002AC3BC 98 64 00 04 */ stb r3, 4(r4) +/* 802B0760 002AC3C0 98 64 00 05 */ stb r3, 5(r4) +/* 802B0764 002AC3C4 98 64 00 06 */ stb r3, 6(r4) +/* 802B0768 002AC3C8 98 64 00 07 */ stb r3, 7(r4) +/* 802B076C 002AC3CC 42 00 FF 10 */ bdnz lbl_802B067C +/* 802B0770 002AC3D0 88 BC 00 02 */ lbz r5, 2(r28) +/* 802B0774 002AC3D4 3F 40 80 54 */ lis r26, lbl_8053A468@ha +/* 802B0778 002AC3D8 88 9C 00 01 */ lbz r4, 1(r28) +/* 802B077C 002AC3DC 38 00 FF FC */ li r0, -4 +/* 802B0780 002AC3E0 50 A4 44 2E */ rlwimi r4, r5, 8, 0x10, 0x17 +/* 802B0784 002AC3E4 38 7A A4 68 */ addi r3, r26, lbl_8053A468@l +/* 802B0788 002AC3E8 70 86 9F 1F */ andi. r6, r4, 0x9f1f +/* 802B078C 002AC3EC 38 A0 00 09 */ li r5, 9 +/* 802B0790 002AC3F0 38 9C 00 0D */ addi r4, r28, 0xd +/* 802B0794 002AC3F4 B0 DE 00 00 */ sth r6, 0(r30) +/* 802B0798 002AC3F8 98 1E 00 29 */ stb r0, 0x29(r30) +/* 802B079C 002AC3FC 88 1F 08 C1 */ lbz r0, 0x8c1(r31) +/* 802B07A0 002AC400 98 1E 00 28 */ stb r0, 0x28(r30) +/* 802B07A4 002AC404 88 1C 00 01 */ lbz r0, 1(r28) +/* 802B07A8 002AC408 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f +/* 802B07AC 002AC40C 90 1F 08 48 */ stw r0, 0x848(r31) +/* 802B07B0 002AC410 4B D5 38 51 */ bl memcpy +/* 802B07B4 002AC414 7F 63 DB 78 */ mr r3, r27 +/* 802B07B8 002AC418 38 9C 00 0D */ addi r4, r28, 0xd +/* 802B07BC 002AC41C 38 A0 00 09 */ li r5, 9 +/* 802B07C0 002AC420 38 C0 00 00 */ li r6, 0 +/* 802B07C4 002AC424 48 00 22 95 */ bl func_802B2A58 +/* 802B07C8 002AC428 80 1F 08 40 */ lwz r0, 0x840(r31) +/* 802B07CC 002AC42C 2C 00 00 00 */ cmpwi r0, 0 +/* 802B07D0 002AC430 41 82 00 34 */ beq lbl_802B0804 +/* 802B07D4 002AC434 3C 80 80 44 */ lis r4, lbl_8043C320@ha +/* 802B07D8 002AC438 38 7A A4 68 */ addi r3, r26, -23448 +/* 802B07DC 002AC43C 38 84 C3 20 */ addi r4, r4, lbl_8043C320@l +/* 802B07E0 002AC440 38 A0 00 09 */ li r5, 9 +/* 802B07E4 002AC444 4B F1 9B B5 */ bl memcmp +/* 802B07E8 002AC448 2C 03 00 00 */ cmpwi r3, 0 +/* 802B07EC 002AC44C 40 82 00 18 */ bne lbl_802B0804 +/* 802B07F0 002AC450 88 1E 00 29 */ lbz r0, 0x29(r30) +/* 802B07F4 002AC454 7C 00 07 75 */ extsb. r0, r0 +/* 802B07F8 002AC458 40 82 00 0C */ bne lbl_802B0804 +/* 802B07FC 002AC45C 38 00 FF F9 */ li r0, -7 +/* 802B0800 002AC460 98 1E 00 29 */ stb r0, 0x29(r30) +lbl_802B0804: +/* 802B0804 002AC464 88 1F 08 C8 */ lbz r0, 0x8c8(r31) +/* 802B0808 002AC468 7F A3 EB 78 */ mr r3, r29 +/* 802B080C 002AC46C 7C 00 00 34 */ cntlzw r0, r0 +/* 802B0810 002AC470 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802B0814 002AC474 98 1F 08 C8 */ stb r0, 0x8c8(r31) +/* 802B0818 002AC478 4B FB DF 6D */ bl OSRestoreInterrupts +/* 802B081C 002AC47C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B0820 002AC480 4B F1 69 51 */ bl _restgpr_26 +/* 802B0824 002AC484 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B0828 002AC488 7C 08 03 A6 */ mtlr r0 +/* 802B082C 002AC48C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B0830 002AC490 4E 80 00 20 */ blr + +.global __a1_37_data_type +__a1_37_data_type: +/* 802B0834 002AC494 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B0838 002AC498 7C 08 02 A6 */ mflr r0 +/* 802B083C 002AC49C 3C A0 80 53 */ lis r5, lbl_80536D70@ha +/* 802B0840 002AC4A0 54 66 15 BA */ rlwinm r6, r3, 2, 0x16, 0x1d +/* 802B0844 002AC4A4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B0848 002AC4A8 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l +/* 802B084C 002AC4AC 38 00 00 02 */ li r0, 2 +/* 802B0850 002AC4B0 38 E0 00 00 */ li r7, 0 +/* 802B0854 002AC4B4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B0858 002AC4B8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B085C 002AC4BC 7C 7E 1B 78 */ mr r30, r3 +/* 802B0860 002AC4C0 38 60 00 00 */ li r3, 0 +/* 802B0864 002AC4C4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B0868 002AC4C8 7C 9D 23 78 */ mr r29, r4 +/* 802B086C 002AC4CC 7F E5 30 2E */ lwzx r31, r5, r6 +/* 802B0870 002AC4D0 88 BF 08 C8 */ lbz r5, 0x8c8(r31) +/* 802B0874 002AC4D4 1C A5 00 60 */ mulli r5, r5, 0x60 +/* 802B0878 002AC4D8 7C BF 2A 14 */ add r5, r31, r5 +/* 802B087C 002AC4DC 38 A5 00 A0 */ addi r5, r5, 0xa0 +/* 802B0880 002AC4E0 90 A1 00 08 */ stw r5, 8(r1) +/* 802B0884 002AC4E4 7C 09 03 A6 */ mtctr r0 +lbl_802B0888: +/* 802B0888 002AC4E8 7C 65 39 AE */ stbx r3, r5, r7 +/* 802B088C 002AC4EC 7C C5 3A 14 */ add r6, r5, r7 +/* 802B0890 002AC4F0 38 E7 00 08 */ addi r7, r7, 8 +/* 802B0894 002AC4F4 98 66 00 01 */ stb r3, 1(r6) +/* 802B0898 002AC4F8 98 66 00 02 */ stb r3, 2(r6) +/* 802B089C 002AC4FC 98 66 00 03 */ stb r3, 3(r6) +/* 802B08A0 002AC500 98 66 00 04 */ stb r3, 4(r6) +/* 802B08A4 002AC504 98 66 00 05 */ stb r3, 5(r6) +/* 802B08A8 002AC508 98 66 00 06 */ stb r3, 6(r6) +/* 802B08AC 002AC50C 98 66 00 07 */ stb r3, 7(r6) +/* 802B08B0 002AC510 7C C5 3A 14 */ add r6, r5, r7 +/* 802B08B4 002AC514 7C 65 39 AE */ stbx r3, r5, r7 +/* 802B08B8 002AC518 38 E7 00 08 */ addi r7, r7, 8 +/* 802B08BC 002AC51C 98 66 00 01 */ stb r3, 1(r6) +/* 802B08C0 002AC520 98 66 00 02 */ stb r3, 2(r6) +/* 802B08C4 002AC524 98 66 00 03 */ stb r3, 3(r6) +/* 802B08C8 002AC528 98 66 00 04 */ stb r3, 4(r6) +/* 802B08CC 002AC52C 98 66 00 05 */ stb r3, 5(r6) +/* 802B08D0 002AC530 98 66 00 06 */ stb r3, 6(r6) +/* 802B08D4 002AC534 98 66 00 07 */ stb r3, 7(r6) +/* 802B08D8 002AC538 7C C5 3A 14 */ add r6, r5, r7 +/* 802B08DC 002AC53C 7C 65 39 AE */ stbx r3, r5, r7 +/* 802B08E0 002AC540 38 E7 00 08 */ addi r7, r7, 8 +/* 802B08E4 002AC544 98 66 00 01 */ stb r3, 1(r6) +/* 802B08E8 002AC548 98 66 00 02 */ stb r3, 2(r6) +/* 802B08EC 002AC54C 98 66 00 03 */ stb r3, 3(r6) +/* 802B08F0 002AC550 98 66 00 04 */ stb r3, 4(r6) +/* 802B08F4 002AC554 98 66 00 05 */ stb r3, 5(r6) +/* 802B08F8 002AC558 98 66 00 06 */ stb r3, 6(r6) +/* 802B08FC 002AC55C 98 66 00 07 */ stb r3, 7(r6) +/* 802B0900 002AC560 7C C5 3A 14 */ add r6, r5, r7 +/* 802B0904 002AC564 7C 65 39 AE */ stbx r3, r5, r7 +/* 802B0908 002AC568 38 E7 00 08 */ addi r7, r7, 8 +/* 802B090C 002AC56C 98 66 00 01 */ stb r3, 1(r6) +/* 802B0910 002AC570 98 66 00 02 */ stb r3, 2(r6) +/* 802B0914 002AC574 98 66 00 03 */ stb r3, 3(r6) +/* 802B0918 002AC578 98 66 00 04 */ stb r3, 4(r6) +/* 802B091C 002AC57C 98 66 00 05 */ stb r3, 5(r6) +/* 802B0920 002AC580 98 66 00 06 */ stb r3, 6(r6) +/* 802B0924 002AC584 98 66 00 07 */ stb r3, 7(r6) +/* 802B0928 002AC588 7C C5 3A 14 */ add r6, r5, r7 +/* 802B092C 002AC58C 7C 65 39 AE */ stbx r3, r5, r7 +/* 802B0930 002AC590 38 E7 00 08 */ addi r7, r7, 8 +/* 802B0934 002AC594 98 66 00 01 */ stb r3, 1(r6) +/* 802B0938 002AC598 98 66 00 02 */ stb r3, 2(r6) +/* 802B093C 002AC59C 98 66 00 03 */ stb r3, 3(r6) +/* 802B0940 002AC5A0 98 66 00 04 */ stb r3, 4(r6) +/* 802B0944 002AC5A4 98 66 00 05 */ stb r3, 5(r6) +/* 802B0948 002AC5A8 98 66 00 06 */ stb r3, 6(r6) +/* 802B094C 002AC5AC 98 66 00 07 */ stb r3, 7(r6) +/* 802B0950 002AC5B0 7C C5 3A 14 */ add r6, r5, r7 +/* 802B0954 002AC5B4 7C 65 39 AE */ stbx r3, r5, r7 +/* 802B0958 002AC5B8 38 E7 00 08 */ addi r7, r7, 8 +/* 802B095C 002AC5BC 98 66 00 01 */ stb r3, 1(r6) +/* 802B0960 002AC5C0 98 66 00 02 */ stb r3, 2(r6) +/* 802B0964 002AC5C4 98 66 00 03 */ stb r3, 3(r6) +/* 802B0968 002AC5C8 98 66 00 04 */ stb r3, 4(r6) +/* 802B096C 002AC5CC 98 66 00 05 */ stb r3, 5(r6) +/* 802B0970 002AC5D0 98 66 00 06 */ stb r3, 6(r6) +/* 802B0974 002AC5D4 98 66 00 07 */ stb r3, 7(r6) +/* 802B0978 002AC5D8 42 00 FF 10 */ bdnz lbl_802B0888 +/* 802B097C 002AC5DC 88 A4 00 02 */ lbz r5, 2(r4) +/* 802B0980 002AC5E0 88 04 00 01 */ lbz r0, 1(r4) +/* 802B0984 002AC5E4 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 +/* 802B0988 002AC5E8 80 61 00 08 */ lwz r3, 8(r1) +/* 802B098C 002AC5EC 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802B0990 002AC5F0 B0 03 00 00 */ sth r0, 0(r3) +/* 802B0994 002AC5F4 80 1F 08 B8 */ lwz r0, 0x8b8(r31) +/* 802B0998 002AC5F8 28 00 00 08 */ cmplwi r0, 8 +/* 802B099C 002AC5FC 41 81 00 14 */ bgt lbl_802B09B0 +/* 802B09A0 002AC600 80 61 00 08 */ lwz r3, 8(r1) +/* 802B09A4 002AC604 38 00 00 00 */ li r0, 0 +/* 802B09A8 002AC608 98 03 00 29 */ stb r0, 0x29(r3) +/* 802B09AC 002AC60C 48 00 00 10 */ b lbl_802B09BC +lbl_802B09B0: +/* 802B09B0 002AC610 80 61 00 08 */ lwz r3, 8(r1) +/* 802B09B4 002AC614 38 00 FF FC */ li r0, -4 +/* 802B09B8 002AC618 98 03 00 29 */ stb r0, 0x29(r3) +lbl_802B09BC: +/* 802B09BC 002AC61C 88 1F 08 C1 */ lbz r0, 0x8c1(r31) +/* 802B09C0 002AC620 38 61 00 08 */ addi r3, r1, 8 +/* 802B09C4 002AC624 80 E1 00 08 */ lwz r7, 8(r1) +/* 802B09C8 002AC628 38 BD 00 06 */ addi r5, r29, 6 +/* 802B09CC 002AC62C 38 C0 00 0A */ li r6, 0xa +/* 802B09D0 002AC630 98 07 00 28 */ stb r0, 0x28(r7) +/* 802B09D4 002AC634 88 04 00 01 */ lbz r0, 1(r4) +/* 802B09D8 002AC638 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f +/* 802B09DC 002AC63C 90 1F 08 48 */ stw r0, 0x848(r31) +/* 802B09E0 002AC640 88 E4 00 03 */ lbz r7, 3(r4) +/* 802B09E4 002AC644 88 04 00 01 */ lbz r0, 1(r4) +/* 802B09E8 002AC648 54 E7 10 3A */ slwi r7, r7, 2 +/* 802B09EC 002AC64C A9 3F 08 74 */ lha r9, 0x874(r31) +/* 802B09F0 002AC650 7C E7 07 34 */ extsh r7, r7 +/* 802B09F4 002AC654 54 00 DF BE */ rlwinm r0, r0, 0x1b, 0x1e, 0x1f +/* 802B09F8 002AC658 54 E8 00 3A */ rlwinm r8, r7, 0, 0, 0x1d +/* 802B09FC 002AC65C 80 E1 00 08 */ lwz r7, 8(r1) +/* 802B0A00 002AC660 7D 08 07 34 */ extsh r8, r8 +/* 802B0A04 002AC664 7D 00 03 78 */ or r0, r8, r0 +/* 802B0A08 002AC668 7C 00 07 34 */ extsh r0, r0 +/* 802B0A0C 002AC66C 7C 09 00 50 */ subf r0, r9, r0 +/* 802B0A10 002AC670 B0 07 00 02 */ sth r0, 2(r7) +/* 802B0A14 002AC674 88 E4 00 04 */ lbz r7, 4(r4) +/* 802B0A18 002AC678 88 04 00 02 */ lbz r0, 2(r4) +/* 802B0A1C 002AC67C 54 E7 10 3A */ slwi r7, r7, 2 +/* 802B0A20 002AC680 A9 3F 08 76 */ lha r9, 0x876(r31) +/* 802B0A24 002AC684 7C E7 07 34 */ extsh r7, r7 +/* 802B0A28 002AC688 54 00 E7 BC */ rlwinm r0, r0, 0x1c, 0x1e, 0x1e +/* 802B0A2C 002AC68C 54 E8 00 3A */ rlwinm r8, r7, 0, 0, 0x1d +/* 802B0A30 002AC690 80 E1 00 08 */ lwz r7, 8(r1) +/* 802B0A34 002AC694 7D 08 07 34 */ extsh r8, r8 +/* 802B0A38 002AC698 7C 00 07 34 */ extsh r0, r0 +/* 802B0A3C 002AC69C 7D 00 03 78 */ or r0, r8, r0 +/* 802B0A40 002AC6A0 7C 00 07 34 */ extsh r0, r0 +/* 802B0A44 002AC6A4 7C 09 00 50 */ subf r0, r9, r0 +/* 802B0A48 002AC6A8 B0 07 00 04 */ sth r0, 4(r7) +/* 802B0A4C 002AC6AC 88 E4 00 05 */ lbz r7, 5(r4) +/* 802B0A50 002AC6B0 88 04 00 02 */ lbz r0, 2(r4) +/* 802B0A54 002AC6B4 54 E4 10 3A */ slwi r4, r7, 2 +/* 802B0A58 002AC6B8 A9 1F 08 78 */ lha r8, 0x878(r31) +/* 802B0A5C 002AC6BC 7C 84 07 34 */ extsh r4, r4 +/* 802B0A60 002AC6C0 54 00 DF BC */ rlwinm r0, r0, 0x1b, 0x1e, 0x1e +/* 802B0A64 002AC6C4 54 87 00 3A */ rlwinm r7, r4, 0, 0, 0x1d +/* 802B0A68 002AC6C8 80 81 00 08 */ lwz r4, 8(r1) +/* 802B0A6C 002AC6CC 7C E7 07 34 */ extsh r7, r7 +/* 802B0A70 002AC6D0 7C 00 07 34 */ extsh r0, r0 +/* 802B0A74 002AC6D4 7C E0 03 78 */ or r0, r7, r0 +/* 802B0A78 002AC6D8 7C 00 07 34 */ extsh r0, r0 +/* 802B0A7C 002AC6DC 7C 08 00 50 */ subf r0, r8, r0 +/* 802B0A80 002AC6E0 B0 04 00 06 */ sth r0, 6(r4) +/* 802B0A84 002AC6E4 88 9F 08 CB */ lbz r4, 0x8cb(r31) +/* 802B0A88 002AC6E8 4B FF E2 35 */ bl __parse_dpd_data +/* 802B0A8C 002AC6EC 3C 60 80 54 */ lis r3, lbl_8053A468@ha +/* 802B0A90 002AC6F0 38 9D 00 10 */ addi r4, r29, 0x10 +/* 802B0A94 002AC6F4 38 63 A4 68 */ addi r3, r3, lbl_8053A468@l +/* 802B0A98 002AC6F8 38 A0 00 06 */ li r5, 6 +/* 802B0A9C 002AC6FC 4B D5 35 65 */ bl memcpy +/* 802B0AA0 002AC700 7F C3 F3 78 */ mr r3, r30 +/* 802B0AA4 002AC704 38 9D 00 10 */ addi r4, r29, 0x10 +/* 802B0AA8 002AC708 38 A0 00 06 */ li r5, 6 +/* 802B0AAC 002AC70C 38 C0 00 00 */ li r6, 0 +/* 802B0AB0 002AC710 48 00 1F A9 */ bl func_802B2A58 +/* 802B0AB4 002AC714 80 1F 08 40 */ lwz r0, 0x840(r31) +/* 802B0AB8 002AC718 2C 00 00 00 */ cmpwi r0, 0 +/* 802B0ABC 002AC71C 41 82 05 A0 */ beq lbl_802B105C +/* 802B0AC0 002AC720 88 1F 08 C1 */ lbz r0, 0x8c1(r31) +/* 802B0AC4 002AC724 28 00 00 01 */ cmplwi r0, 1 +/* 802B0AC8 002AC728 40 82 01 80 */ bne lbl_802B0C48 +/* 802B0ACC 002AC72C 88 7F 08 C8 */ lbz r3, 0x8c8(r31) +/* 802B0AD0 002AC730 88 1D 00 10 */ lbz r0, 0x10(r29) +/* 802B0AD4 002AC734 1C 63 00 60 */ mulli r3, r3, 0x60 +/* 802B0AD8 002AC738 7C 7F 1A 14 */ add r3, r31, r3 +/* 802B0ADC 002AC73C 98 03 00 D0 */ stb r0, 0xd0(r3) +/* 802B0AE0 002AC740 88 1D 00 11 */ lbz r0, 0x11(r29) +/* 802B0AE4 002AC744 98 03 00 D1 */ stb r0, 0xd1(r3) +/* 802B0AE8 002AC748 88 1D 00 12 */ lbz r0, 0x12(r29) +/* 802B0AEC 002AC74C 88 9D 00 15 */ lbz r4, 0x15(r29) +/* 802B0AF0 002AC750 54 00 10 3A */ slwi r0, r0, 2 +/* 802B0AF4 002AC754 A8 DF 08 8E */ lha r6, 0x88e(r31) +/* 802B0AF8 002AC758 7C 05 07 34 */ extsh r5, r0 +/* 802B0AFC 002AC75C 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802B0B00 002AC760 54 80 F7 BE */ rlwinm r0, r4, 0x1e, 0x1e, 0x1f +/* 802B0B04 002AC764 7C 84 16 70 */ srawi r4, r4, 2 +/* 802B0B08 002AC768 7C A4 07 34 */ extsh r4, r5 +/* 802B0B0C 002AC76C 7C 80 03 78 */ or r0, r4, r0 +/* 802B0B10 002AC770 7C 00 07 34 */ extsh r0, r0 +/* 802B0B14 002AC774 7C 06 00 50 */ subf r0, r6, r0 +/* 802B0B18 002AC778 B0 03 00 CA */ sth r0, 0xca(r3) +/* 802B0B1C 002AC77C 88 1D 00 13 */ lbz r0, 0x13(r29) +/* 802B0B20 002AC780 88 9D 00 15 */ lbz r4, 0x15(r29) +/* 802B0B24 002AC784 54 00 10 3A */ slwi r0, r0, 2 +/* 802B0B28 002AC788 A8 DF 08 90 */ lha r6, 0x890(r31) +/* 802B0B2C 002AC78C 7C 05 07 34 */ extsh r5, r0 +/* 802B0B30 002AC790 54 80 E7 BE */ rlwinm r0, r4, 0x1c, 0x1e, 0x1f +/* 802B0B34 002AC794 7C 84 26 70 */ srawi r4, r4, 4 +/* 802B0B38 002AC798 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802B0B3C 002AC79C 7C A4 07 34 */ extsh r4, r5 +/* 802B0B40 002AC7A0 7C 80 03 78 */ or r0, r4, r0 +/* 802B0B44 002AC7A4 7C 00 07 34 */ extsh r0, r0 +/* 802B0B48 002AC7A8 7C 06 00 50 */ subf r0, r6, r0 +/* 802B0B4C 002AC7AC B0 03 00 CC */ sth r0, 0xcc(r3) +/* 802B0B50 002AC7B0 88 9D 00 14 */ lbz r4, 0x14(r29) +/* 802B0B54 002AC7B4 88 1D 00 15 */ lbz r0, 0x15(r29) +/* 802B0B58 002AC7B8 54 84 10 3A */ slwi r4, r4, 2 +/* 802B0B5C 002AC7BC A8 BF 08 92 */ lha r5, 0x892(r31) +/* 802B0B60 002AC7C0 7C 84 07 34 */ extsh r4, r4 +/* 802B0B64 002AC7C4 7C 00 36 70 */ srawi r0, r0, 6 +/* 802B0B68 002AC7C8 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d +/* 802B0B6C 002AC7CC 7C 84 07 34 */ extsh r4, r4 +/* 802B0B70 002AC7D0 7C 80 03 78 */ or r0, r4, r0 +/* 802B0B74 002AC7D4 7C 00 07 34 */ extsh r0, r0 +/* 802B0B78 002AC7D8 7C 05 00 50 */ subf r0, r5, r0 +/* 802B0B7C 002AC7DC B0 03 00 CE */ sth r0, 0xce(r3) +/* 802B0B80 002AC7E0 88 1D 00 15 */ lbz r0, 0x15(r29) +/* 802B0B84 002AC7E4 A0 83 00 A0 */ lhz r4, 0xa0(r3) +/* 802B0B88 002AC7E8 7C 00 00 F8 */ nor r0, r0, r0 +/* 802B0B8C 002AC7EC 54 00 6C 64 */ rlwinm r0, r0, 0xd, 0x11, 0x12 +/* 802B0B90 002AC7F0 7C 80 03 78 */ or r0, r4, r0 +/* 802B0B94 002AC7F4 B0 03 00 A0 */ sth r0, 0xa0(r3) +/* 802B0B98 002AC7F8 88 1F 09 11 */ lbz r0, 0x911(r31) +/* 802B0B9C 002AC7FC 2C 00 00 00 */ cmpwi r0, 0 +/* 802B0BA0 002AC800 40 82 00 24 */ bne lbl_802B0BC4 +/* 802B0BA4 002AC804 38 00 00 01 */ li r0, 1 +/* 802B0BA8 002AC808 98 1F 09 11 */ stb r0, 0x911(r31) +/* 802B0BAC 002AC80C 88 03 00 D0 */ lbz r0, 0xd0(r3) +/* 802B0BB0 002AC810 7C 00 07 74 */ extsb r0, r0 +/* 802B0BB4 002AC814 B0 1F 08 82 */ sth r0, 0x882(r31) +/* 802B0BB8 002AC818 88 03 00 D1 */ lbz r0, 0xd1(r3) +/* 802B0BBC 002AC81C 7C 00 07 74 */ extsb r0, r0 +/* 802B0BC0 002AC820 B0 1F 08 88 */ sth r0, 0x888(r31) +lbl_802B0BC4: +/* 802B0BC4 002AC824 A8 9F 08 82 */ lha r4, 0x882(r31) +/* 802B0BC8 002AC828 88 03 00 D0 */ lbz r0, 0xd0(r3) +/* 802B0BCC 002AC82C 54 85 06 3E */ clrlwi r5, r4, 0x18 +/* 802B0BD0 002AC830 A8 9F 08 88 */ lha r4, 0x888(r31) +/* 802B0BD4 002AC834 7C A5 00 50 */ subf r5, r5, r0 +/* 802B0BD8 002AC838 88 03 00 D1 */ lbz r0, 0xd1(r3) +/* 802B0BDC 002AC83C 7C A5 07 34 */ extsh r5, r5 +/* 802B0BE0 002AC840 54 84 06 3E */ clrlwi r4, r4, 0x18 +/* 802B0BE4 002AC844 2C 05 FF 80 */ cmpwi r5, -128 +/* 802B0BE8 002AC848 7C 04 00 50 */ subf r0, r4, r0 +/* 802B0BEC 002AC84C 7C 04 07 34 */ extsh r4, r0 +/* 802B0BF0 002AC850 40 80 00 10 */ bge lbl_802B0C00 +/* 802B0BF4 002AC854 38 00 FF 80 */ li r0, -128 +/* 802B0BF8 002AC858 98 03 00 D0 */ stb r0, 0xd0(r3) +/* 802B0BFC 002AC85C 48 00 00 1C */ b lbl_802B0C18 +lbl_802B0C00: +/* 802B0C00 002AC860 2C 05 00 7F */ cmpwi r5, 0x7f +/* 802B0C04 002AC864 40 81 00 10 */ ble lbl_802B0C14 +/* 802B0C08 002AC868 38 00 00 7F */ li r0, 0x7f +/* 802B0C0C 002AC86C 98 03 00 D0 */ stb r0, 0xd0(r3) +/* 802B0C10 002AC870 48 00 00 08 */ b lbl_802B0C18 +lbl_802B0C14: +/* 802B0C14 002AC874 98 A3 00 D0 */ stb r5, 0xd0(r3) +lbl_802B0C18: +/* 802B0C18 002AC878 2C 04 FF 80 */ cmpwi r4, -128 +/* 802B0C1C 002AC87C 40 80 00 10 */ bge lbl_802B0C2C +/* 802B0C20 002AC880 38 00 FF 80 */ li r0, -128 +/* 802B0C24 002AC884 98 03 00 D1 */ stb r0, 0xd1(r3) +/* 802B0C28 002AC888 48 00 03 FC */ b lbl_802B1024 +lbl_802B0C2C: +/* 802B0C2C 002AC88C 2C 04 00 7F */ cmpwi r4, 0x7f +/* 802B0C30 002AC890 40 81 00 10 */ ble lbl_802B0C40 +/* 802B0C34 002AC894 38 00 00 7F */ li r0, 0x7f +/* 802B0C38 002AC898 98 03 00 D1 */ stb r0, 0xd1(r3) +/* 802B0C3C 002AC89C 48 00 03 E8 */ b lbl_802B1024 +lbl_802B0C40: +/* 802B0C40 002AC8A0 98 83 00 D1 */ stb r4, 0xd1(r3) +/* 802B0C44 002AC8A4 48 00 03 E0 */ b lbl_802B1024 +lbl_802B0C48: +/* 802B0C48 002AC8A8 28 00 00 02 */ cmplwi r0, 2 +/* 802B0C4C 002AC8AC 40 82 03 D8 */ bne lbl_802B1024 +/* 802B0C50 002AC8B0 88 1F 08 C2 */ lbz r0, 0x8c2(r31) +/* 802B0C54 002AC8B4 2C 00 00 02 */ cmpwi r0, 2 +/* 802B0C58 002AC8B8 41 82 00 E4 */ beq lbl_802B0D3C +/* 802B0C5C 002AC8BC 40 80 00 10 */ bge lbl_802B0C6C +/* 802B0C60 002AC8C0 2C 00 00 01 */ cmpwi r0, 1 +/* 802B0C64 002AC8C4 40 80 00 14 */ bge lbl_802B0C78 +/* 802B0C68 002AC8C8 48 00 02 3C */ b lbl_802B0EA4 +lbl_802B0C6C: +/* 802B0C6C 002AC8CC 2C 00 00 04 */ cmpwi r0, 4 +/* 802B0C70 002AC8D0 40 80 02 34 */ bge lbl_802B0EA4 +/* 802B0C74 002AC8D4 48 00 01 A8 */ b lbl_802B0E1C +lbl_802B0C78: +/* 802B0C78 002AC8D8 88 7F 08 C8 */ lbz r3, 0x8c8(r31) +/* 802B0C7C 002AC8DC 88 1D 00 10 */ lbz r0, 0x10(r29) +/* 802B0C80 002AC8E0 1C 63 00 60 */ mulli r3, r3, 0x60 +/* 802B0C84 002AC8E4 54 00 25 B6 */ rlwinm r0, r0, 4, 0x16, 0x1b +/* 802B0C88 002AC8E8 7C 9F 1A 14 */ add r4, r31, r3 +/* 802B0C8C 002AC8EC 7C 03 07 34 */ extsh r3, r0 +/* 802B0C90 002AC8F0 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0C94 002AC8F4 3B C4 00 A0 */ addi r30, r4, 0xa0 +/* 802B0C98 002AC8F8 B0 04 00 CC */ sth r0, 0xcc(r4) +/* 802B0C9C 002AC8FC 88 1D 00 11 */ lbz r0, 0x11(r29) +/* 802B0CA0 002AC900 54 00 25 B6 */ rlwinm r0, r0, 4, 0x16, 0x1b +/* 802B0CA4 002AC904 7C 03 07 34 */ extsh r3, r0 +/* 802B0CA8 002AC908 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0CAC 002AC90C B0 04 00 CE */ sth r0, 0xce(r4) +/* 802B0CB0 002AC910 88 7D 00 11 */ lbz r3, 0x11(r29) +/* 802B0CB4 002AC914 88 BD 00 12 */ lbz r5, 0x12(r29) +/* 802B0CB8 002AC918 88 9D 00 10 */ lbz r4, 0x10(r29) +/* 802B0CBC 002AC91C 54 60 DF 7C */ rlwinm r0, r3, 0x1b, 0x1d, 0x1e +/* 802B0CC0 002AC920 7C A5 3E 70 */ srawi r5, r5, 7 +/* 802B0CC4 002AC924 50 80 EE F8 */ rlwimi r0, r4, 0x1d, 0x1b, 0x1c +/* 802B0CC8 002AC928 7C 84 1E 70 */ srawi r4, r4, 3 +/* 802B0CCC 002AC92C 7C A0 03 78 */ or r0, r5, r0 +/* 802B0CD0 002AC930 7C 63 2E 70 */ srawi r3, r3, 5 +/* 802B0CD4 002AC934 7C 00 07 34 */ extsh r0, r0 +/* 802B0CD8 002AC938 54 00 28 34 */ slwi r0, r0, 5 +/* 802B0CDC 002AC93C 7C 03 07 34 */ extsh r3, r0 +/* 802B0CE0 002AC940 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0CE4 002AC944 B0 1E 00 30 */ sth r0, 0x30(r30) +/* 802B0CE8 002AC948 88 1D 00 12 */ lbz r0, 0x12(r29) +/* 802B0CEC 002AC94C 54 00 2D B4 */ rlwinm r0, r0, 5, 0x16, 0x1a +/* 802B0CF0 002AC950 7C 03 07 34 */ extsh r3, r0 +/* 802B0CF4 002AC954 38 03 FE 00 */ addi r0, r3, -512 +/* 802B0CF8 002AC958 B0 1E 00 32 */ sth r0, 0x32(r30) +/* 802B0CFC 002AC95C 88 7D 00 12 */ lbz r3, 0x12(r29) +/* 802B0D00 002AC960 88 1D 00 13 */ lbz r0, 0x13(r29) +/* 802B0D04 002AC964 7C 63 16 70 */ srawi r3, r3, 2 +/* 802B0D08 002AC968 7C 00 2E 70 */ srawi r0, r0, 5 +/* 802B0D0C 002AC96C 50 60 06 F8 */ rlwimi r0, r3, 0, 0x1b, 0x1c +/* 802B0D10 002AC970 54 00 1E 38 */ rlwinm r0, r0, 3, 0x18, 0x1c +/* 802B0D14 002AC974 98 1E 00 34 */ stb r0, 0x34(r30) +/* 802B0D18 002AC978 88 1D 00 13 */ lbz r0, 0x13(r29) +/* 802B0D1C 002AC97C 54 00 1E 38 */ rlwinm r0, r0, 3, 0x18, 0x1c +/* 802B0D20 002AC980 98 1E 00 35 */ stb r0, 0x35(r30) +/* 802B0D24 002AC984 88 7D 00 14 */ lbz r3, 0x14(r29) +/* 802B0D28 002AC988 88 1D 00 15 */ lbz r0, 0x15(r29) +/* 802B0D2C 002AC98C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802B0D30 002AC990 68 00 FF FF */ xori r0, r0, 0xffff +/* 802B0D34 002AC994 B0 1E 00 2A */ sth r0, 0x2a(r30) +/* 802B0D38 002AC998 48 00 01 6C */ b lbl_802B0EA4 +lbl_802B0D3C: +/* 802B0D3C 002AC99C 88 7D 00 10 */ lbz r3, 0x10(r29) +/* 802B0D40 002AC9A0 38 00 00 00 */ li r0, 0 +/* 802B0D44 002AC9A4 88 BF 08 C8 */ lbz r5, 0x8c8(r31) +/* 802B0D48 002AC9A8 54 64 10 3A */ slwi r4, r3, 2 +/* 802B0D4C 002AC9AC 88 7D 00 14 */ lbz r3, 0x14(r29) +/* 802B0D50 002AC9B0 7C 84 07 34 */ extsh r4, r4 +/* 802B0D54 002AC9B4 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d +/* 802B0D58 002AC9B8 54 63 07 BE */ clrlwi r3, r3, 0x1e +/* 802B0D5C 002AC9BC 7C 84 07 34 */ extsh r4, r4 +/* 802B0D60 002AC9C0 7C 83 1B 78 */ or r3, r4, r3 +/* 802B0D64 002AC9C4 1C A5 00 60 */ mulli r5, r5, 0x60 +/* 802B0D68 002AC9C8 7C 63 07 34 */ extsh r3, r3 +/* 802B0D6C 002AC9CC 7C 9F 2A 14 */ add r4, r31, r5 +/* 802B0D70 002AC9D0 38 63 FE 00 */ addi r3, r3, -512 +/* 802B0D74 002AC9D4 B0 64 00 CC */ sth r3, 0xcc(r4) +/* 802B0D78 002AC9D8 3B C4 00 A0 */ addi r30, r4, 0xa0 +/* 802B0D7C 002AC9DC 88 9D 00 14 */ lbz r4, 0x14(r29) +/* 802B0D80 002AC9E0 88 BD 00 11 */ lbz r5, 0x11(r29) +/* 802B0D84 002AC9E4 54 83 F7 BE */ rlwinm r3, r4, 0x1e, 0x1e, 0x1f +/* 802B0D88 002AC9E8 7C 84 16 70 */ srawi r4, r4, 2 +/* 802B0D8C 002AC9EC 54 A4 10 3A */ slwi r4, r5, 2 +/* 802B0D90 002AC9F0 7C 84 07 34 */ extsh r4, r4 +/* 802B0D94 002AC9F4 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d +/* 802B0D98 002AC9F8 7C 84 07 34 */ extsh r4, r4 +/* 802B0D9C 002AC9FC 7C 83 1B 78 */ or r3, r4, r3 +/* 802B0DA0 002ACA00 7C 63 07 34 */ extsh r3, r3 +/* 802B0DA4 002ACA04 38 63 FE 00 */ addi r3, r3, -512 +/* 802B0DA8 002ACA08 B0 7E 00 30 */ sth r3, 0x30(r30) +/* 802B0DAC 002ACA0C 88 9D 00 14 */ lbz r4, 0x14(r29) +/* 802B0DB0 002ACA10 88 BD 00 12 */ lbz r5, 0x12(r29) +/* 802B0DB4 002ACA14 54 83 E7 BE */ rlwinm r3, r4, 0x1c, 0x1e, 0x1f +/* 802B0DB8 002ACA18 7C 84 26 70 */ srawi r4, r4, 4 +/* 802B0DBC 002ACA1C 54 A4 10 3A */ slwi r4, r5, 2 +/* 802B0DC0 002ACA20 7C 84 07 34 */ extsh r4, r4 +/* 802B0DC4 002ACA24 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d +/* 802B0DC8 002ACA28 7C 84 07 34 */ extsh r4, r4 +/* 802B0DCC 002ACA2C 7C 83 1B 78 */ or r3, r4, r3 +/* 802B0DD0 002ACA30 7C 63 07 34 */ extsh r3, r3 +/* 802B0DD4 002ACA34 38 63 FE 00 */ addi r3, r3, -512 +/* 802B0DD8 002ACA38 B0 7E 00 2E */ sth r3, 0x2e(r30) +/* 802B0DDC 002ACA3C 88 9D 00 13 */ lbz r4, 0x13(r29) +/* 802B0DE0 002ACA40 88 7D 00 14 */ lbz r3, 0x14(r29) +/* 802B0DE4 002ACA44 54 84 10 3A */ slwi r4, r4, 2 +/* 802B0DE8 002ACA48 7C 84 07 34 */ extsh r4, r4 +/* 802B0DEC 002ACA4C 7C 63 36 70 */ srawi r3, r3, 6 +/* 802B0DF0 002ACA50 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d +/* 802B0DF4 002ACA54 7C 84 07 34 */ extsh r4, r4 +/* 802B0DF8 002ACA58 7C 83 1B 78 */ or r3, r4, r3 +/* 802B0DFC 002ACA5C 7C 63 07 34 */ extsh r3, r3 +/* 802B0E00 002ACA60 38 63 FE 00 */ addi r3, r3, -512 +/* 802B0E04 002ACA64 B0 7E 00 32 */ sth r3, 0x32(r30) +/* 802B0E08 002ACA68 88 7D 00 15 */ lbz r3, 0x15(r29) +/* 802B0E0C 002ACA6C 98 7E 00 34 */ stb r3, 0x34(r30) +/* 802B0E10 002ACA70 98 1E 00 35 */ stb r0, 0x35(r30) +/* 802B0E14 002ACA74 B0 1E 00 2A */ sth r0, 0x2a(r30) +/* 802B0E18 002ACA78 48 00 00 8C */ b lbl_802B0EA4 +lbl_802B0E1C: +/* 802B0E1C 002ACA7C 88 9F 08 C8 */ lbz r4, 0x8c8(r31) +/* 802B0E20 002ACA80 38 00 00 00 */ li r0, 0 +/* 802B0E24 002ACA84 88 7D 00 10 */ lbz r3, 0x10(r29) +/* 802B0E28 002ACA88 1C 84 00 60 */ mulli r4, r4, 0x60 +/* 802B0E2C 002ACA8C 7C 63 07 34 */ extsh r3, r3 +/* 802B0E30 002ACA90 54 63 10 3A */ slwi r3, r3, 2 +/* 802B0E34 002ACA94 7C 63 07 34 */ extsh r3, r3 +/* 802B0E38 002ACA98 7C 9F 22 14 */ add r4, r31, r4 +/* 802B0E3C 002ACA9C 38 63 FE 00 */ addi r3, r3, -512 +/* 802B0E40 002ACAA0 B0 64 00 CC */ sth r3, 0xcc(r4) +/* 802B0E44 002ACAA4 3B C4 00 A0 */ addi r30, r4, 0xa0 +/* 802B0E48 002ACAA8 88 7D 00 11 */ lbz r3, 0x11(r29) +/* 802B0E4C 002ACAAC 7C 63 07 34 */ extsh r3, r3 +/* 802B0E50 002ACAB0 54 63 10 3A */ slwi r3, r3, 2 +/* 802B0E54 002ACAB4 7C 63 07 34 */ extsh r3, r3 +/* 802B0E58 002ACAB8 38 63 FE 00 */ addi r3, r3, -512 +/* 802B0E5C 002ACABC B0 64 00 D0 */ sth r3, 0xd0(r4) +/* 802B0E60 002ACAC0 88 7D 00 12 */ lbz r3, 0x12(r29) +/* 802B0E64 002ACAC4 7C 63 07 34 */ extsh r3, r3 +/* 802B0E68 002ACAC8 54 63 10 3A */ slwi r3, r3, 2 +/* 802B0E6C 002ACACC 7C 63 07 34 */ extsh r3, r3 +/* 802B0E70 002ACAD0 38 63 FE 00 */ addi r3, r3, -512 +/* 802B0E74 002ACAD4 B0 64 00 CE */ sth r3, 0xce(r4) +/* 802B0E78 002ACAD8 88 7D 00 13 */ lbz r3, 0x13(r29) +/* 802B0E7C 002ACADC 7C 63 07 34 */ extsh r3, r3 +/* 802B0E80 002ACAE0 54 63 10 3A */ slwi r3, r3, 2 +/* 802B0E84 002ACAE4 7C 63 07 34 */ extsh r3, r3 +/* 802B0E88 002ACAE8 38 63 FE 00 */ addi r3, r3, -512 +/* 802B0E8C 002ACAEC B0 64 00 D2 */ sth r3, 0xd2(r4) +/* 802B0E90 002ACAF0 88 7D 00 14 */ lbz r3, 0x14(r29) +/* 802B0E94 002ACAF4 98 64 00 D4 */ stb r3, 0xd4(r4) +/* 802B0E98 002ACAF8 88 7D 00 15 */ lbz r3, 0x15(r29) +/* 802B0E9C 002ACAFC 98 64 00 D5 */ stb r3, 0xd5(r4) +/* 802B0EA0 002ACB00 B0 04 00 CA */ sth r0, 0xca(r4) +lbl_802B0EA4: +/* 802B0EA4 002ACB04 88 1F 09 11 */ lbz r0, 0x911(r31) +/* 802B0EA8 002ACB08 2C 00 00 00 */ cmpwi r0, 0 +/* 802B0EAC 002ACB0C 40 82 00 3C */ bne lbl_802B0EE8 +/* 802B0EB0 002ACB10 38 00 00 01 */ li r0, 1 +/* 802B0EB4 002ACB14 98 1F 09 11 */ stb r0, 0x911(r31) +/* 802B0EB8 002ACB18 A8 1E 00 2C */ lha r0, 0x2c(r30) +/* 802B0EBC 002ACB1C B0 1F 08 82 */ sth r0, 0x882(r31) +/* 802B0EC0 002ACB20 A8 1E 00 2E */ lha r0, 0x2e(r30) +/* 802B0EC4 002ACB24 B0 1F 08 88 */ sth r0, 0x888(r31) +/* 802B0EC8 002ACB28 A8 1E 00 30 */ lha r0, 0x30(r30) +/* 802B0ECC 002ACB2C B0 1F 08 8E */ sth r0, 0x88e(r31) +/* 802B0ED0 002ACB30 A8 1E 00 32 */ lha r0, 0x32(r30) +/* 802B0ED4 002ACB34 B0 1F 08 94 */ sth r0, 0x894(r31) +/* 802B0ED8 002ACB38 88 1E 00 34 */ lbz r0, 0x34(r30) +/* 802B0EDC 002ACB3C 98 1F 08 9A */ stb r0, 0x89a(r31) +/* 802B0EE0 002ACB40 88 1E 00 35 */ lbz r0, 0x35(r30) +/* 802B0EE4 002ACB44 98 1F 08 9B */ stb r0, 0x89b(r31) +lbl_802B0EE8: +/* 802B0EE8 002ACB48 A8 9F 08 82 */ lha r4, 0x882(r31) +/* 802B0EEC 002ACB4C A8 1E 00 2C */ lha r0, 0x2c(r30) +/* 802B0EF0 002ACB50 A8 7F 08 88 */ lha r3, 0x888(r31) +/* 802B0EF4 002ACB54 7C 84 00 50 */ subf r4, r4, r0 +/* 802B0EF8 002ACB58 A8 1E 00 2E */ lha r0, 0x2e(r30) +/* 802B0EFC 002ACB5C 7C 84 07 34 */ extsh r4, r4 +/* 802B0F00 002ACB60 7C 03 00 50 */ subf r0, r3, r0 +/* 802B0F04 002ACB64 2C 04 FE 00 */ cmpwi r4, -512 +/* 802B0F08 002ACB68 7C 03 07 34 */ extsh r3, r0 +/* 802B0F0C 002ACB6C 40 80 00 10 */ bge lbl_802B0F1C +/* 802B0F10 002ACB70 38 00 FE 00 */ li r0, -512 +/* 802B0F14 002ACB74 B0 1E 00 2C */ sth r0, 0x2c(r30) +/* 802B0F18 002ACB78 48 00 00 1C */ b lbl_802B0F34 +lbl_802B0F1C: +/* 802B0F1C 002ACB7C 2C 04 01 FF */ cmpwi r4, 0x1ff +/* 802B0F20 002ACB80 40 81 00 10 */ ble lbl_802B0F30 +/* 802B0F24 002ACB84 38 00 01 FF */ li r0, 0x1ff +/* 802B0F28 002ACB88 B0 1E 00 2C */ sth r0, 0x2c(r30) +/* 802B0F2C 002ACB8C 48 00 00 08 */ b lbl_802B0F34 +lbl_802B0F30: +/* 802B0F30 002ACB90 B0 9E 00 2C */ sth r4, 0x2c(r30) +lbl_802B0F34: +/* 802B0F34 002ACB94 2C 03 FE 00 */ cmpwi r3, -512 +/* 802B0F38 002ACB98 40 80 00 10 */ bge lbl_802B0F48 +/* 802B0F3C 002ACB9C 38 00 FE 00 */ li r0, -512 +/* 802B0F40 002ACBA0 B0 1E 00 2E */ sth r0, 0x2e(r30) +/* 802B0F44 002ACBA4 48 00 00 1C */ b lbl_802B0F60 +lbl_802B0F48: +/* 802B0F48 002ACBA8 2C 03 01 FF */ cmpwi r3, 0x1ff +/* 802B0F4C 002ACBAC 40 81 00 10 */ ble lbl_802B0F5C +/* 802B0F50 002ACBB0 38 00 01 FF */ li r0, 0x1ff +/* 802B0F54 002ACBB4 B0 1E 00 2E */ sth r0, 0x2e(r30) +/* 802B0F58 002ACBB8 48 00 00 08 */ b lbl_802B0F60 +lbl_802B0F5C: +/* 802B0F5C 002ACBBC B0 7E 00 2E */ sth r3, 0x2e(r30) +lbl_802B0F60: +/* 802B0F60 002ACBC0 A8 9F 08 8E */ lha r4, 0x88e(r31) +/* 802B0F64 002ACBC4 A8 1E 00 30 */ lha r0, 0x30(r30) +/* 802B0F68 002ACBC8 A8 7F 08 94 */ lha r3, 0x894(r31) +/* 802B0F6C 002ACBCC 7C 84 00 50 */ subf r4, r4, r0 +/* 802B0F70 002ACBD0 A8 1E 00 32 */ lha r0, 0x32(r30) +/* 802B0F74 002ACBD4 7C 84 07 34 */ extsh r4, r4 +/* 802B0F78 002ACBD8 7C 03 00 50 */ subf r0, r3, r0 +/* 802B0F7C 002ACBDC 2C 04 FE 00 */ cmpwi r4, -512 +/* 802B0F80 002ACBE0 7C 03 07 34 */ extsh r3, r0 +/* 802B0F84 002ACBE4 40 80 00 10 */ bge lbl_802B0F94 +/* 802B0F88 002ACBE8 38 00 FE 00 */ li r0, -512 +/* 802B0F8C 002ACBEC B0 1E 00 30 */ sth r0, 0x30(r30) +/* 802B0F90 002ACBF0 48 00 00 1C */ b lbl_802B0FAC +lbl_802B0F94: +/* 802B0F94 002ACBF4 2C 04 01 FF */ cmpwi r4, 0x1ff +/* 802B0F98 002ACBF8 40 81 00 10 */ ble lbl_802B0FA8 +/* 802B0F9C 002ACBFC 38 00 01 FF */ li r0, 0x1ff +/* 802B0FA0 002ACC00 B0 1E 00 30 */ sth r0, 0x30(r30) +/* 802B0FA4 002ACC04 48 00 00 08 */ b lbl_802B0FAC +lbl_802B0FA8: +/* 802B0FA8 002ACC08 B0 9E 00 30 */ sth r4, 0x30(r30) +lbl_802B0FAC: +/* 802B0FAC 002ACC0C 2C 03 FE 00 */ cmpwi r3, -512 +/* 802B0FB0 002ACC10 40 80 00 10 */ bge lbl_802B0FC0 +/* 802B0FB4 002ACC14 38 00 FE 00 */ li r0, -512 +/* 802B0FB8 002ACC18 B0 1E 00 32 */ sth r0, 0x32(r30) +/* 802B0FBC 002ACC1C 48 00 00 1C */ b lbl_802B0FD8 +lbl_802B0FC0: +/* 802B0FC0 002ACC20 2C 03 01 FF */ cmpwi r3, 0x1ff +/* 802B0FC4 002ACC24 40 81 00 10 */ ble lbl_802B0FD4 +/* 802B0FC8 002ACC28 38 00 01 FF */ li r0, 0x1ff +/* 802B0FCC 002ACC2C B0 1E 00 32 */ sth r0, 0x32(r30) +/* 802B0FD0 002ACC30 48 00 00 08 */ b lbl_802B0FD8 +lbl_802B0FD4: +/* 802B0FD4 002ACC34 B0 7E 00 32 */ sth r3, 0x32(r30) +lbl_802B0FD8: +/* 802B0FD8 002ACC38 88 9F 08 9A */ lbz r4, 0x89a(r31) +/* 802B0FDC 002ACC3C 88 1E 00 34 */ lbz r0, 0x34(r30) +/* 802B0FE0 002ACC40 88 7F 08 9B */ lbz r3, 0x89b(r31) +/* 802B0FE4 002ACC44 7C 84 00 50 */ subf r4, r4, r0 +/* 802B0FE8 002ACC48 88 1E 00 35 */ lbz r0, 0x35(r30) +/* 802B0FEC 002ACC4C 7C 84 07 35 */ extsh. r4, r4 +/* 802B0FF0 002ACC50 7C 03 00 50 */ subf r0, r3, r0 +/* 802B0FF4 002ACC54 7C 03 07 34 */ extsh r3, r0 +/* 802B0FF8 002ACC58 40 80 00 10 */ bge lbl_802B1008 +/* 802B0FFC 002ACC5C 38 00 00 00 */ li r0, 0 +/* 802B1000 002ACC60 98 1E 00 34 */ stb r0, 0x34(r30) +/* 802B1004 002ACC64 48 00 00 08 */ b lbl_802B100C +lbl_802B1008: +/* 802B1008 002ACC68 98 9E 00 34 */ stb r4, 0x34(r30) +lbl_802B100C: +/* 802B100C 002ACC6C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B1010 002ACC70 40 80 00 10 */ bge lbl_802B1020 +/* 802B1014 002ACC74 38 00 00 00 */ li r0, 0 +/* 802B1018 002ACC78 98 1E 00 35 */ stb r0, 0x35(r30) +/* 802B101C 002ACC7C 48 00 00 08 */ b lbl_802B1024 +lbl_802B1020: +/* 802B1020 002ACC80 98 7E 00 35 */ stb r3, 0x35(r30) +lbl_802B1024: +/* 802B1024 002ACC84 3C 60 80 54 */ lis r3, lbl_8053A468@ha +/* 802B1028 002ACC88 3C 80 80 44 */ lis r4, lbl_8043C320@ha +/* 802B102C 002ACC8C 38 63 A4 68 */ addi r3, r3, lbl_8053A468@l +/* 802B1030 002ACC90 38 A0 00 06 */ li r5, 6 +/* 802B1034 002ACC94 38 84 C3 20 */ addi r4, r4, lbl_8043C320@l +/* 802B1038 002ACC98 4B F1 93 61 */ bl memcmp +/* 802B103C 002ACC9C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B1040 002ACCA0 40 82 00 1C */ bne lbl_802B105C +/* 802B1044 002ACCA4 80 61 00 08 */ lwz r3, 8(r1) +/* 802B1048 002ACCA8 88 03 00 29 */ lbz r0, 0x29(r3) +/* 802B104C 002ACCAC 7C 00 07 75 */ extsb. r0, r0 +/* 802B1050 002ACCB0 40 82 00 0C */ bne lbl_802B105C +/* 802B1054 002ACCB4 38 00 FF F9 */ li r0, -7 +/* 802B1058 002ACCB8 98 03 00 29 */ stb r0, 0x29(r3) +lbl_802B105C: +/* 802B105C 002ACCBC 4B FB D7 01 */ bl OSDisableInterrupts +/* 802B1060 002ACCC0 88 1F 08 C8 */ lbz r0, 0x8c8(r31) +/* 802B1064 002ACCC4 7C 00 00 34 */ cntlzw r0, r0 +/* 802B1068 002ACCC8 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f +/* 802B106C 002ACCCC 98 1F 08 C8 */ stb r0, 0x8c8(r31) +/* 802B1070 002ACCD0 4B FB D7 15 */ bl OSRestoreInterrupts +/* 802B1074 002ACCD4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B1078 002ACCD8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B107C 002ACCDC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B1080 002ACCE0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B1084 002ACCE4 7C 08 03 A6 */ mtlr r0 +/* 802B1088 002ACCE8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B108C 002ACCEC 4E 80 00 20 */ blr + +.global __a1_3d_data_type +__a1_3d_data_type: +/* 802B1090 002ACCF0 4E 80 00 20 */ blr + +.global __a1_3e_data_type +__a1_3e_data_type: +/* 802B1094 002ACCF4 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802B1098 002ACCF8 7C 08 02 A6 */ mflr r0 +/* 802B109C 002ACCFC 90 01 00 44 */ stw r0, 0x44(r1) +/* 802B10A0 002ACD00 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B10A4 002ACD04 4B F1 60 85 */ bl _savegpr_27 +/* 802B10A8 002ACD08 3C A0 80 53 */ lis r5, lbl_80536D70@ha +/* 802B10AC 002ACD0C 3C E0 43 30 */ lis r7, 0x4330 +/* 802B10B0 002ACD10 3B ED AE 68 */ addi r31, r13, lbl_80640128-_SDA_BASE_ +/* 802B10B4 002ACD14 54 66 15 BA */ rlwinm r6, r3, 2, 0x16, 0x1d +/* 802B10B8 002ACD18 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l +/* 802B10BC 002ACD1C 7C 1F 18 AE */ lbzx r0, r31, r3 +/* 802B10C0 002ACD20 7F C5 30 2E */ lwzx r30, r5, r6 +/* 802B10C4 002ACD24 7C 7C 1B 78 */ mr r28, r3 +/* 802B10C8 002ACD28 2C 00 00 00 */ cmpwi r0, 0 +/* 802B10CC 002ACD2C 90 E1 00 08 */ stw r7, 8(r1) +/* 802B10D0 002ACD30 88 1E 08 C8 */ lbz r0, 0x8c8(r30) +/* 802B10D4 002ACD34 90 E1 00 10 */ stw r7, 0x10(r1) +/* 802B10D8 002ACD38 1C 00 00 60 */ mulli r0, r0, 0x60 +/* 802B10DC 002ACD3C 7C BE 02 14 */ add r5, r30, r0 +/* 802B10E0 002ACD40 3B A5 00 A0 */ addi r29, r5, 0xa0 +/* 802B10E4 002ACD44 40 82 01 18 */ bne lbl_802B11FC +/* 802B10E8 002ACD48 38 AD AE 6C */ addi r5, r13, lbl_8064012C-_SDA_BASE_ +/* 802B10EC 002ACD4C 7C 05 18 AE */ lbzx r0, r5, r3 +/* 802B10F0 002ACD50 2C 00 00 00 */ cmpwi r0, 0 +/* 802B10F4 002ACD54 40 82 01 08 */ bne lbl_802B11FC +/* 802B10F8 002ACD58 38 00 00 02 */ li r0, 2 +/* 802B10FC 002ACD5C 38 C0 00 00 */ li r6, 0 +/* 802B1100 002ACD60 38 60 00 00 */ li r3, 0 +/* 802B1104 002ACD64 7C 09 03 A6 */ mtctr r0 +lbl_802B1108: +/* 802B1108 002ACD68 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B110C 002ACD6C 7C BD 32 14 */ add r5, r29, r6 +/* 802B1110 002ACD70 38 C6 00 08 */ addi r6, r6, 8 +/* 802B1114 002ACD74 98 65 00 01 */ stb r3, 1(r5) +/* 802B1118 002ACD78 98 65 00 02 */ stb r3, 2(r5) +/* 802B111C 002ACD7C 98 65 00 03 */ stb r3, 3(r5) +/* 802B1120 002ACD80 98 65 00 04 */ stb r3, 4(r5) +/* 802B1124 002ACD84 98 65 00 05 */ stb r3, 5(r5) +/* 802B1128 002ACD88 98 65 00 06 */ stb r3, 6(r5) +/* 802B112C 002ACD8C 98 65 00 07 */ stb r3, 7(r5) +/* 802B1130 002ACD90 7C BD 32 14 */ add r5, r29, r6 +/* 802B1134 002ACD94 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B1138 002ACD98 38 C6 00 08 */ addi r6, r6, 8 +/* 802B113C 002ACD9C 98 65 00 01 */ stb r3, 1(r5) +/* 802B1140 002ACDA0 98 65 00 02 */ stb r3, 2(r5) +/* 802B1144 002ACDA4 98 65 00 03 */ stb r3, 3(r5) +/* 802B1148 002ACDA8 98 65 00 04 */ stb r3, 4(r5) +/* 802B114C 002ACDAC 98 65 00 05 */ stb r3, 5(r5) +/* 802B1150 002ACDB0 98 65 00 06 */ stb r3, 6(r5) +/* 802B1154 002ACDB4 98 65 00 07 */ stb r3, 7(r5) +/* 802B1158 002ACDB8 7C BD 32 14 */ add r5, r29, r6 +/* 802B115C 002ACDBC 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B1160 002ACDC0 38 C6 00 08 */ addi r6, r6, 8 +/* 802B1164 002ACDC4 98 65 00 01 */ stb r3, 1(r5) +/* 802B1168 002ACDC8 98 65 00 02 */ stb r3, 2(r5) +/* 802B116C 002ACDCC 98 65 00 03 */ stb r3, 3(r5) +/* 802B1170 002ACDD0 98 65 00 04 */ stb r3, 4(r5) +/* 802B1174 002ACDD4 98 65 00 05 */ stb r3, 5(r5) +/* 802B1178 002ACDD8 98 65 00 06 */ stb r3, 6(r5) +/* 802B117C 002ACDDC 98 65 00 07 */ stb r3, 7(r5) +/* 802B1180 002ACDE0 7C BD 32 14 */ add r5, r29, r6 +/* 802B1184 002ACDE4 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B1188 002ACDE8 38 C6 00 08 */ addi r6, r6, 8 +/* 802B118C 002ACDEC 98 65 00 01 */ stb r3, 1(r5) +/* 802B1190 002ACDF0 98 65 00 02 */ stb r3, 2(r5) +/* 802B1194 002ACDF4 98 65 00 03 */ stb r3, 3(r5) +/* 802B1198 002ACDF8 98 65 00 04 */ stb r3, 4(r5) +/* 802B119C 002ACDFC 98 65 00 05 */ stb r3, 5(r5) +/* 802B11A0 002ACE00 98 65 00 06 */ stb r3, 6(r5) +/* 802B11A4 002ACE04 98 65 00 07 */ stb r3, 7(r5) +/* 802B11A8 002ACE08 7C BD 32 14 */ add r5, r29, r6 +/* 802B11AC 002ACE0C 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B11B0 002ACE10 38 C6 00 08 */ addi r6, r6, 8 +/* 802B11B4 002ACE14 98 65 00 01 */ stb r3, 1(r5) +/* 802B11B8 002ACE18 98 65 00 02 */ stb r3, 2(r5) +/* 802B11BC 002ACE1C 98 65 00 03 */ stb r3, 3(r5) +/* 802B11C0 002ACE20 98 65 00 04 */ stb r3, 4(r5) +/* 802B11C4 002ACE24 98 65 00 05 */ stb r3, 5(r5) +/* 802B11C8 002ACE28 98 65 00 06 */ stb r3, 6(r5) +/* 802B11CC 002ACE2C 98 65 00 07 */ stb r3, 7(r5) +/* 802B11D0 002ACE30 7C BD 32 14 */ add r5, r29, r6 +/* 802B11D4 002ACE34 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B11D8 002ACE38 38 C6 00 08 */ addi r6, r6, 8 +/* 802B11DC 002ACE3C 98 65 00 01 */ stb r3, 1(r5) +/* 802B11E0 002ACE40 98 65 00 02 */ stb r3, 2(r5) +/* 802B11E4 002ACE44 98 65 00 03 */ stb r3, 3(r5) +/* 802B11E8 002ACE48 98 65 00 04 */ stb r3, 4(r5) +/* 802B11EC 002ACE4C 98 65 00 05 */ stb r3, 5(r5) +/* 802B11F0 002ACE50 98 65 00 06 */ stb r3, 6(r5) +/* 802B11F4 002ACE54 98 65 00 07 */ stb r3, 7(r5) +/* 802B11F8 002ACE58 42 00 FF 10 */ bdnz lbl_802B1108 +lbl_802B11FC: +/* 802B11FC 002ACE5C 88 64 00 02 */ lbz r3, 2(r4) +/* 802B1200 002ACE60 88 04 00 01 */ lbz r0, 1(r4) +/* 802B1204 002ACE64 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802B1208 002ACE68 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802B120C 002ACE6C B0 1D 00 00 */ sth r0, 0(r29) +/* 802B1210 002ACE70 80 1E 08 B8 */ lwz r0, 0x8b8(r30) +/* 802B1214 002ACE74 2C 00 00 00 */ cmpwi r0, 0 +/* 802B1218 002ACE78 41 82 00 14 */ beq lbl_802B122C +/* 802B121C 002ACE7C 28 00 00 01 */ cmplwi r0, 1 +/* 802B1220 002ACE80 41 82 00 0C */ beq lbl_802B122C +/* 802B1224 002ACE84 28 00 00 09 */ cmplwi r0, 9 +/* 802B1228 002ACE88 40 82 00 10 */ bne lbl_802B1238 +lbl_802B122C: +/* 802B122C 002ACE8C 38 00 00 00 */ li r0, 0 +/* 802B1230 002ACE90 98 1D 00 29 */ stb r0, 0x29(r29) +/* 802B1234 002ACE94 48 00 00 0C */ b lbl_802B1240 +lbl_802B1238: +/* 802B1238 002ACE98 38 00 FF FC */ li r0, -4 +/* 802B123C 002ACE9C 98 1D 00 29 */ stb r0, 0x29(r29) +lbl_802B1240: +/* 802B1240 002ACEA0 88 7E 08 C1 */ lbz r3, 0x8c1(r30) +/* 802B1244 002ACEA4 38 00 00 00 */ li r0, 0 +/* 802B1248 002ACEA8 98 7D 00 28 */ stb r3, 0x28(r29) +/* 802B124C 002ACEAC 90 1E 08 48 */ stw r0, 0x848(r30) +/* 802B1250 002ACEB0 88 04 00 03 */ lbz r0, 3(r4) +/* 802B1254 002ACEB4 88 64 00 01 */ lbz r3, 1(r4) +/* 802B1258 002ACEB8 54 00 10 3A */ slwi r0, r0, 2 +/* 802B125C 002ACEBC A8 DE 08 74 */ lha r6, 0x874(r30) +/* 802B1260 002ACEC0 7C 05 07 34 */ extsh r5, r0 +/* 802B1264 002ACEC4 54 60 D7 BC */ rlwinm r0, r3, 0x1a, 0x1e, 0x1e +/* 802B1268 002ACEC8 7C 63 36 70 */ srawi r3, r3, 6 +/* 802B126C 002ACECC 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802B1270 002ACED0 7C A3 07 34 */ extsh r3, r5 +/* 802B1274 002ACED4 7C 00 07 34 */ extsh r0, r0 +/* 802B1278 002ACED8 7C 60 03 78 */ or r0, r3, r0 +/* 802B127C 002ACEDC 7C 00 07 34 */ extsh r0, r0 +/* 802B1280 002ACEE0 7C 06 00 50 */ subf r0, r6, r0 +/* 802B1284 002ACEE4 B0 1D 00 02 */ sth r0, 2(r29) +/* 802B1288 002ACEE8 88 64 00 02 */ lbz r3, 2(r4) +/* 802B128C 002ACEEC 88 04 00 01 */ lbz r0, 1(r4) +/* 802B1290 002ACEF0 54 63 18 38 */ slwi r3, r3, 3 +/* 802B1294 002ACEF4 A8 BD 00 06 */ lha r5, 6(r29) +/* 802B1298 002ACEF8 7C 63 07 34 */ extsh r3, r3 +/* 802B129C 002ACEFC 54 00 0E 32 */ rlwinm r0, r0, 1, 0x18, 0x19 +/* 802B12A0 002ACF00 54 63 00 2E */ rlwinm r3, r3, 0, 0, 0x17 +/* 802B12A4 002ACF04 7C 63 07 34 */ extsh r3, r3 +/* 802B12A8 002ACF08 7C 60 03 78 */ or r0, r3, r0 +/* 802B12AC 002ACF0C 7C 00 07 34 */ extsh r0, r0 +/* 802B12B0 002ACF10 7C A0 03 78 */ or r0, r5, r0 +/* 802B12B4 002ACF14 B0 1D 00 06 */ sth r0, 6(r29) +/* 802B12B8 002ACF18 88 64 00 04 */ lbz r3, 4(r4) +/* 802B12BC 002ACF1C 88 04 00 06 */ lbz r0, 6(r4) +/* 802B12C0 002ACF20 7C 63 07 34 */ extsh r3, r3 +/* 802B12C4 002ACF24 54 00 25 AE */ rlwinm r0, r0, 4, 0x16, 0x17 +/* 802B12C8 002ACF28 7C 60 03 78 */ or r0, r3, r0 +/* 802B12CC 002ACF2C B0 1D 00 08 */ sth r0, 8(r29) +/* 802B12D0 002ACF30 88 64 00 05 */ lbz r3, 5(r4) +/* 802B12D4 002ACF34 88 04 00 06 */ lbz r0, 6(r4) +/* 802B12D8 002ACF38 7C 63 07 34 */ extsh r3, r3 +/* 802B12DC 002ACF3C 54 00 15 AE */ rlwinm r0, r0, 2, 0x16, 0x17 +/* 802B12E0 002ACF40 7C 60 03 78 */ or r0, r3, r0 +/* 802B12E4 002ACF44 7C 00 07 34 */ extsh r0, r0 +/* 802B12E8 002ACF48 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B12EC 002ACF4C B0 1D 00 0A */ sth r0, 0xa(r29) +/* 802B12F0 002ACF50 88 64 00 0B */ lbz r3, 0xb(r4) +/* 802B12F4 002ACF54 88 04 00 0C */ lbz r0, 0xc(r4) +/* 802B12F8 002ACF58 54 63 44 2E */ rlwinm r3, r3, 8, 0x10, 0x17 +/* 802B12FC 002ACF5C 7C 63 07 34 */ extsh r3, r3 +/* 802B1300 002ACF60 7C 60 03 78 */ or r0, r3, r0 +/* 802B1304 002ACF64 54 00 34 32 */ rlwinm r0, r0, 6, 0x10, 0x19 +/* 802B1308 002ACF68 B0 1D 00 32 */ sth r0, 0x32(r29) +/* 802B130C 002ACF6C 88 04 00 06 */ lbz r0, 6(r4) +/* 802B1310 002ACF70 54 00 07 3E */ clrlwi r0, r0, 0x1c +/* 802B1314 002ACF74 98 1D 00 34 */ stb r0, 0x34(r29) +/* 802B1318 002ACF78 88 C4 00 07 */ lbz r6, 7(r4) +/* 802B131C 002ACF7C 7C C5 07 74 */ extsb r5, r6 +/* 802B1320 002ACF80 38 65 00 01 */ addi r3, r5, 1 +/* 802B1324 002ACF84 20 05 FF FF */ subfic r0, r5, -1 +/* 802B1328 002ACF88 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B132C 002ACF8C 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B1330 002ACF90 7C C0 00 78 */ andc r0, r6, r0 +/* 802B1334 002ACF94 B0 1D 00 2A */ sth r0, 0x2a(r29) +/* 802B1338 002ACF98 88 C4 00 08 */ lbz r6, 8(r4) +/* 802B133C 002ACF9C 7C C5 07 74 */ extsb r5, r6 +/* 802B1340 002ACFA0 38 65 00 01 */ addi r3, r5, 1 +/* 802B1344 002ACFA4 20 05 FF FF */ subfic r0, r5, -1 +/* 802B1348 002ACFA8 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B134C 002ACFAC 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B1350 002ACFB0 7C C0 00 78 */ andc r0, r6, r0 +/* 802B1354 002ACFB4 B0 1D 00 2C */ sth r0, 0x2c(r29) +/* 802B1358 002ACFB8 88 C4 00 09 */ lbz r6, 9(r4) +/* 802B135C 002ACFBC 7C C5 07 74 */ extsb r5, r6 +/* 802B1360 002ACFC0 C8 62 A4 28 */ lfd f3, lbl_80642A28-_SDA2_BASE_(r2) +/* 802B1364 002ACFC4 38 65 00 01 */ addi r3, r5, 1 +/* 802B1368 002ACFC8 C0 02 A4 18 */ lfs f0, lbl_80642A18-_SDA2_BASE_(r2) +/* 802B136C 002ACFCC 20 05 FF FF */ subfic r0, r5, -1 +/* 802B1370 002ACFD0 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B1374 002ACFD4 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B1378 002ACFD8 7C C0 00 78 */ andc r0, r6, r0 +/* 802B137C 002ACFDC B0 1D 00 2E */ sth r0, 0x2e(r29) +/* 802B1380 002ACFE0 7C 00 07 34 */ extsh r0, r0 +/* 802B1384 002ACFE4 54 03 18 38 */ slwi r3, r0, 3 +/* 802B1388 002ACFE8 A8 1D 00 2A */ lha r0, 0x2a(r29) +/* 802B138C 002ACFEC 88 E4 00 0A */ lbz r7, 0xa(r4) +/* 802B1390 002ACFF0 54 00 18 38 */ slwi r0, r0, 3 +/* 802B1394 002ACFF4 B0 1D 00 2A */ sth r0, 0x2a(r29) +/* 802B1398 002ACFF8 7C E5 07 74 */ extsb r5, r7 +/* 802B139C 002ACFFC 38 C5 00 01 */ addi r6, r5, 1 +/* 802B13A0 002AD000 A8 1D 00 2C */ lha r0, 0x2c(r29) +/* 802B13A4 002AD004 20 A5 FF FF */ subfic r5, r5, -1 +/* 802B13A8 002AD008 7C C5 28 F8 */ nor r5, r6, r5 +/* 802B13AC 002AD00C 54 00 18 38 */ slwi r0, r0, 3 +/* 802B13B0 002AD010 7C A5 FE 70 */ srawi r5, r5, 0x1f +/* 802B13B4 002AD014 7C 00 07 34 */ extsh r0, r0 +/* 802B13B8 002AD018 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B13BC 002AD01C 7C E5 28 78 */ andc r5, r7, r5 +/* 802B13C0 002AD020 B0 1D 00 2C */ sth r0, 0x2c(r29) +/* 802B13C4 002AD024 7C A0 07 34 */ extsh r0, r5 +/* 802B13C8 002AD028 54 00 18 38 */ slwi r0, r0, 3 +/* 802B13CC 002AD02C 7C 00 07 34 */ extsh r0, r0 +/* 802B13D0 002AD030 B0 7D 00 2E */ sth r3, 0x2e(r29) +/* 802B13D4 002AD034 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B13D8 002AD038 B0 1D 00 30 */ sth r0, 0x30(r29) +/* 802B13DC 002AD03C 88 1D 00 34 */ lbz r0, 0x34(r29) +/* 802B13E0 002AD040 7C 00 07 74 */ extsb r0, r0 +/* 802B13E4 002AD044 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 802B13E8 002AD048 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B13EC 002AD04C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B13F0 002AD050 C8 41 00 08 */ lfd f2, 8(r1) +/* 802B13F4 002AD054 C8 21 00 10 */ lfd f1, 0x10(r1) +/* 802B13F8 002AD058 EC 42 18 28 */ fsubs f2, f2, f3 +/* 802B13FC 002AD05C EC 21 18 28 */ fsubs f1, f1, f3 +/* 802B1400 002AD060 EC 22 00 72 */ fmuls f1, f2, f1 +/* 802B1404 002AD064 EC 00 00 72 */ fmuls f0, f0, f1 +/* 802B1408 002AD068 FC 00 00 1E */ fctiwz f0, f0 +/* 802B140C 002AD06C D8 01 00 18 */ stfd f0, 0x18(r1) +/* 802B1410 002AD070 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 802B1414 002AD074 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802B1418 002AD078 B0 7D 00 0C */ sth r3, 0xc(r29) +/* 802B141C 002AD07C 41 82 00 28 */ beq lbl_802B1444 +/* 802B1420 002AD080 A8 1D 00 08 */ lha r0, 8(r29) +/* 802B1424 002AD084 2C 00 03 FF */ cmpwi r0, 0x3ff +/* 802B1428 002AD088 41 82 00 1C */ beq lbl_802B1444 +/* 802B142C 002AD08C A8 1D 00 0A */ lha r0, 0xa(r29) +/* 802B1430 002AD090 2C 00 02 FF */ cmpwi r0, 0x2ff +/* 802B1434 002AD094 41 82 00 10 */ beq lbl_802B1444 +/* 802B1438 002AD098 88 1D 00 34 */ lbz r0, 0x34(r29) +/* 802B143C 002AD09C 2C 00 00 0F */ cmpwi r0, 0xf +/* 802B1440 002AD0A0 40 82 00 20 */ bne lbl_802B1460 +lbl_802B1444: +/* 802B1444 002AD0A4 38 60 00 00 */ li r3, 0 +/* 802B1448 002AD0A8 38 00 02 FF */ li r0, 0x2ff +/* 802B144C 002AD0AC B0 7D 00 08 */ sth r3, 8(r29) +/* 802B1450 002AD0B0 B0 1D 00 0A */ sth r0, 0xa(r29) +/* 802B1454 002AD0B4 B0 7D 00 0C */ sth r3, 0xc(r29) +/* 802B1458 002AD0B8 B0 7D 00 32 */ sth r3, 0x32(r29) +/* 802B145C 002AD0BC 98 7D 00 34 */ stb r3, 0x34(r29) +lbl_802B1460: +/* 802B1460 002AD0C0 38 00 00 00 */ li r0, 0 +/* 802B1464 002AD0C4 C8 62 A4 28 */ lfd f3, lbl_80642A28-_SDA2_BASE_(r2) +/* 802B1468 002AD0C8 98 1D 00 0E */ stb r0, 0xe(r29) +/* 802B146C 002AD0CC C0 02 A4 18 */ lfs f0, lbl_80642A18-_SDA2_BASE_(r2) +/* 802B1470 002AD0D0 88 64 00 0D */ lbz r3, 0xd(r4) +/* 802B1474 002AD0D4 88 04 00 0F */ lbz r0, 0xf(r4) +/* 802B1478 002AD0D8 7C 63 07 34 */ extsh r3, r3 +/* 802B147C 002AD0DC 54 00 25 AE */ rlwinm r0, r0, 4, 0x16, 0x17 +/* 802B1480 002AD0E0 7C 60 03 78 */ or r0, r3, r0 +/* 802B1484 002AD0E4 B0 1D 00 10 */ sth r0, 0x10(r29) +/* 802B1488 002AD0E8 88 64 00 0E */ lbz r3, 0xe(r4) +/* 802B148C 002AD0EC 88 04 00 0F */ lbz r0, 0xf(r4) +/* 802B1490 002AD0F0 7C 63 07 34 */ extsh r3, r3 +/* 802B1494 002AD0F4 54 00 15 AE */ rlwinm r0, r0, 2, 0x16, 0x17 +/* 802B1498 002AD0F8 7C 60 03 78 */ or r0, r3, r0 +/* 802B149C 002AD0FC 7C 00 07 34 */ extsh r0, r0 +/* 802B14A0 002AD100 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B14A4 002AD104 B0 1D 00 12 */ sth r0, 0x12(r29) +/* 802B14A8 002AD108 88 64 00 14 */ lbz r3, 0x14(r4) +/* 802B14AC 002AD10C 88 04 00 15 */ lbz r0, 0x15(r4) +/* 802B14B0 002AD110 54 63 44 2E */ rlwinm r3, r3, 8, 0x10, 0x17 +/* 802B14B4 002AD114 7C 63 07 34 */ extsh r3, r3 +/* 802B14B8 002AD118 7C 60 03 78 */ or r0, r3, r0 +/* 802B14BC 002AD11C 54 00 34 32 */ rlwinm r0, r0, 6, 0x10, 0x19 +/* 802B14C0 002AD120 B0 1D 00 3E */ sth r0, 0x3e(r29) +/* 802B14C4 002AD124 88 04 00 0F */ lbz r0, 0xf(r4) +/* 802B14C8 002AD128 54 00 07 3E */ clrlwi r0, r0, 0x1c +/* 802B14CC 002AD12C 98 1D 00 40 */ stb r0, 0x40(r29) +/* 802B14D0 002AD130 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 802B14D4 002AD134 88 C4 00 10 */ lbz r6, 0x10(r4) +/* 802B14D8 002AD138 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B14DC 002AD13C 7C C5 07 74 */ extsb r5, r6 +/* 802B14E0 002AD140 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B14E4 002AD144 38 65 00 01 */ addi r3, r5, 1 +/* 802B14E8 002AD148 20 05 FF FF */ subfic r0, r5, -1 +/* 802B14EC 002AD14C C8 41 00 08 */ lfd f2, 8(r1) +/* 802B14F0 002AD150 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B14F4 002AD154 C8 21 00 10 */ lfd f1, 0x10(r1) +/* 802B14F8 002AD158 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B14FC 002AD15C EC 42 18 28 */ fsubs f2, f2, f3 +/* 802B1500 002AD160 7C C0 00 78 */ andc r0, r6, r0 +/* 802B1504 002AD164 EC 21 18 28 */ fsubs f1, f1, f3 +/* 802B1508 002AD168 B0 1D 00 36 */ sth r0, 0x36(r29) +/* 802B150C 002AD16C 7C 00 07 34 */ extsh r0, r0 +/* 802B1510 002AD170 54 07 18 38 */ slwi r7, r0, 3 +/* 802B1514 002AD174 88 C4 00 11 */ lbz r6, 0x11(r4) +/* 802B1518 002AD178 EC 22 00 72 */ fmuls f1, f2, f1 +/* 802B151C 002AD17C 7C C5 07 74 */ extsb r5, r6 +/* 802B1520 002AD180 EC 00 00 72 */ fmuls f0, f0, f1 +/* 802B1524 002AD184 38 65 00 01 */ addi r3, r5, 1 +/* 802B1528 002AD188 20 05 FF FF */ subfic r0, r5, -1 +/* 802B152C 002AD18C 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B1530 002AD190 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B1534 002AD194 FC 00 00 1E */ fctiwz f0, f0 +/* 802B1538 002AD198 7C C0 00 78 */ andc r0, r6, r0 +/* 802B153C 002AD19C B0 1D 00 38 */ sth r0, 0x38(r29) +/* 802B1540 002AD1A0 7C 00 07 34 */ extsh r0, r0 +/* 802B1544 002AD1A4 54 00 18 38 */ slwi r0, r0, 3 +/* 802B1548 002AD1A8 89 24 00 12 */ lbz r9, 0x12(r4) +/* 802B154C 002AD1AC 7C 06 07 34 */ extsh r6, r0 +/* 802B1550 002AD1B0 D8 01 00 18 */ stfd f0, 0x18(r1) +/* 802B1554 002AD1B4 7D 28 07 74 */ extsb r8, r9 +/* 802B1558 002AD1B8 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 802B155C 002AD1BC 38 A8 00 01 */ addi r5, r8, 1 +/* 802B1560 002AD1C0 20 08 FF FF */ subfic r0, r8, -1 +/* 802B1564 002AD1C4 7C A5 00 F8 */ nor r5, r5, r0 +/* 802B1568 002AD1C8 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802B156C 002AD1CC 7C A0 FE 70 */ srawi r0, r5, 0x1f +/* 802B1570 002AD1D0 7D 20 00 78 */ andc r0, r9, r0 +/* 802B1574 002AD1D4 B0 1D 00 3A */ sth r0, 0x3a(r29) +/* 802B1578 002AD1D8 7C 00 07 34 */ extsh r0, r0 +/* 802B157C 002AD1DC 54 05 18 38 */ slwi r5, r0, 3 +/* 802B1580 002AD1E0 89 24 00 13 */ lbz r9, 0x13(r4) +/* 802B1584 002AD1E4 7D 28 07 74 */ extsb r8, r9 +/* 802B1588 002AD1E8 B0 FD 00 36 */ sth r7, 0x36(r29) +/* 802B158C 002AD1EC 38 88 00 01 */ addi r4, r8, 1 +/* 802B1590 002AD1F0 20 08 FF FF */ subfic r0, r8, -1 +/* 802B1594 002AD1F4 7C 80 00 F8 */ nor r0, r4, r0 +/* 802B1598 002AD1F8 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B159C 002AD1FC 7D 24 00 78 */ andc r4, r9, r0 +/* 802B15A0 002AD200 20 06 02 FF */ subfic r0, r6, 0x2ff +/* 802B15A4 002AD204 B0 1D 00 38 */ sth r0, 0x38(r29) +/* 802B15A8 002AD208 7C 80 07 34 */ extsh r0, r4 +/* 802B15AC 002AD20C 54 00 18 38 */ slwi r0, r0, 3 +/* 802B15B0 002AD210 7C 00 07 34 */ extsh r0, r0 +/* 802B15B4 002AD214 B0 BD 00 3A */ sth r5, 0x3a(r29) +/* 802B15B8 002AD218 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B15BC 002AD21C B0 1D 00 3C */ sth r0, 0x3c(r29) +/* 802B15C0 002AD220 B0 7D 00 14 */ sth r3, 0x14(r29) +/* 802B15C4 002AD224 41 82 00 28 */ beq lbl_802B15EC +/* 802B15C8 002AD228 A8 1D 00 10 */ lha r0, 0x10(r29) +/* 802B15CC 002AD22C 2C 00 03 FF */ cmpwi r0, 0x3ff +/* 802B15D0 002AD230 41 82 00 1C */ beq lbl_802B15EC +/* 802B15D4 002AD234 A8 1D 00 12 */ lha r0, 0x12(r29) +/* 802B15D8 002AD238 2C 00 02 FF */ cmpwi r0, 0x2ff +/* 802B15DC 002AD23C 41 82 00 10 */ beq lbl_802B15EC +/* 802B15E0 002AD240 88 1D 00 40 */ lbz r0, 0x40(r29) +/* 802B15E4 002AD244 2C 00 00 0F */ cmpwi r0, 0xf +/* 802B15E8 002AD248 40 82 00 20 */ bne lbl_802B1608 +lbl_802B15EC: +/* 802B15EC 002AD24C 38 60 00 00 */ li r3, 0 +/* 802B15F0 002AD250 38 00 02 FF */ li r0, 0x2ff +/* 802B15F4 002AD254 B0 7D 00 10 */ sth r3, 0x10(r29) +/* 802B15F8 002AD258 B0 1D 00 12 */ sth r0, 0x12(r29) +/* 802B15FC 002AD25C B0 7D 00 14 */ sth r3, 0x14(r29) +/* 802B1600 002AD260 B0 7D 00 3E */ sth r3, 0x3e(r29) +/* 802B1604 002AD264 98 7D 00 40 */ stb r3, 0x40(r29) +lbl_802B1608: +/* 802B1608 002AD268 3B 60 00 01 */ li r27, 1 +/* 802B160C 002AD26C 9B 7D 00 16 */ stb r27, 0x16(r29) +/* 802B1610 002AD270 4B FB D1 4D */ bl OSDisableInterrupts +/* 802B1614 002AD274 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B1618 002AD278 7F 7F E1 AE */ stbx r27, r31, r28 +/* 802B161C 002AD27C 41 82 00 40 */ beq lbl_802B165C +/* 802B1620 002AD280 38 CD AE 6C */ addi r6, r13, lbl_8064012C-_SDA_BASE_ +/* 802B1624 002AD284 7C 06 E0 AE */ lbzx r0, r6, r28 +/* 802B1628 002AD288 2C 00 00 00 */ cmpwi r0, 0 +/* 802B162C 002AD28C 41 82 00 30 */ beq lbl_802B165C +/* 802B1630 002AD290 A8 BE 08 78 */ lha r5, 0x878(r30) +/* 802B1634 002AD294 38 00 00 00 */ li r0, 0 +/* 802B1638 002AD298 A8 9D 00 06 */ lha r4, 6(r29) +/* 802B163C 002AD29C 7C 85 20 50 */ subf r4, r5, r4 +/* 802B1640 002AD2A0 B0 9D 00 06 */ sth r4, 6(r29) +/* 802B1644 002AD2A4 88 9E 08 C8 */ lbz r4, 0x8c8(r30) +/* 802B1648 002AD2A8 7C 84 00 34 */ cntlzw r4, r4 +/* 802B164C 002AD2AC 54 84 DE 3E */ rlwinm r4, r4, 0x1b, 0x18, 0x1f +/* 802B1650 002AD2B0 98 9E 08 C8 */ stb r4, 0x8c8(r30) +/* 802B1654 002AD2B4 7C 06 E1 AE */ stbx r0, r6, r28 +/* 802B1658 002AD2B8 7C 1F E1 AE */ stbx r0, r31, r28 +lbl_802B165C: +/* 802B165C 002AD2BC 4B FB D1 29 */ bl OSRestoreInterrupts +/* 802B1660 002AD2C0 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B1664 002AD2C4 4B F1 5B 11 */ bl _restgpr_27 +/* 802B1668 002AD2C8 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802B166C 002AD2CC 7C 08 03 A6 */ mtlr r0 +/* 802B1670 002AD2D0 38 21 00 40 */ addi r1, r1, 0x40 +/* 802B1674 002AD2D4 4E 80 00 20 */ blr + +.global __a1_3f_data_type +__a1_3f_data_type: +/* 802B1678 002AD2D8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802B167C 002AD2DC 7C 08 02 A6 */ mflr r0 +/* 802B1680 002AD2E0 3C E0 43 30 */ lis r7, 0x4330 +/* 802B1684 002AD2E4 3C A0 80 53 */ lis r5, lbl_80536D70@ha +/* 802B1688 002AD2E8 90 01 00 34 */ stw r0, 0x34(r1) +/* 802B168C 002AD2EC 54 66 15 BA */ rlwinm r6, r3, 2, 0x16, 0x1d +/* 802B1690 002AD2F0 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l +/* 802B1694 002AD2F4 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802B1698 002AD2F8 3B ED AE 68 */ addi r31, r13, lbl_80640128-_SDA_BASE_ +/* 802B169C 002AD2FC 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802B16A0 002AD300 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802B16A4 002AD304 93 81 00 20 */ stw r28, 0x20(r1) +/* 802B16A8 002AD308 7C 7C 1B 78 */ mr r28, r3 +/* 802B16AC 002AD30C 7C 1F 18 AE */ lbzx r0, r31, r3 +/* 802B16B0 002AD310 7F C5 30 2E */ lwzx r30, r5, r6 +/* 802B16B4 002AD314 2C 00 00 00 */ cmpwi r0, 0 +/* 802B16B8 002AD318 90 E1 00 08 */ stw r7, 8(r1) +/* 802B16BC 002AD31C 88 1E 08 C8 */ lbz r0, 0x8c8(r30) +/* 802B16C0 002AD320 90 E1 00 10 */ stw r7, 0x10(r1) +/* 802B16C4 002AD324 1C 00 00 60 */ mulli r0, r0, 0x60 +/* 802B16C8 002AD328 7C BE 02 14 */ add r5, r30, r0 +/* 802B16CC 002AD32C 3B A5 00 A0 */ addi r29, r5, 0xa0 +/* 802B16D0 002AD330 40 82 01 18 */ bne lbl_802B17E8 +/* 802B16D4 002AD334 38 AD AE 6C */ addi r5, r13, lbl_8064012C-_SDA_BASE_ +/* 802B16D8 002AD338 7C 05 18 AE */ lbzx r0, r5, r3 +/* 802B16DC 002AD33C 2C 00 00 00 */ cmpwi r0, 0 +/* 802B16E0 002AD340 40 82 01 08 */ bne lbl_802B17E8 +/* 802B16E4 002AD344 38 00 00 02 */ li r0, 2 +/* 802B16E8 002AD348 38 C0 00 00 */ li r6, 0 +/* 802B16EC 002AD34C 38 60 00 00 */ li r3, 0 +/* 802B16F0 002AD350 7C 09 03 A6 */ mtctr r0 +lbl_802B16F4: +/* 802B16F4 002AD354 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B16F8 002AD358 7C BD 32 14 */ add r5, r29, r6 +/* 802B16FC 002AD35C 38 C6 00 08 */ addi r6, r6, 8 +/* 802B1700 002AD360 98 65 00 01 */ stb r3, 1(r5) +/* 802B1704 002AD364 98 65 00 02 */ stb r3, 2(r5) +/* 802B1708 002AD368 98 65 00 03 */ stb r3, 3(r5) +/* 802B170C 002AD36C 98 65 00 04 */ stb r3, 4(r5) +/* 802B1710 002AD370 98 65 00 05 */ stb r3, 5(r5) +/* 802B1714 002AD374 98 65 00 06 */ stb r3, 6(r5) +/* 802B1718 002AD378 98 65 00 07 */ stb r3, 7(r5) +/* 802B171C 002AD37C 7C BD 32 14 */ add r5, r29, r6 +/* 802B1720 002AD380 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B1724 002AD384 38 C6 00 08 */ addi r6, r6, 8 +/* 802B1728 002AD388 98 65 00 01 */ stb r3, 1(r5) +/* 802B172C 002AD38C 98 65 00 02 */ stb r3, 2(r5) +/* 802B1730 002AD390 98 65 00 03 */ stb r3, 3(r5) +/* 802B1734 002AD394 98 65 00 04 */ stb r3, 4(r5) +/* 802B1738 002AD398 98 65 00 05 */ stb r3, 5(r5) +/* 802B173C 002AD39C 98 65 00 06 */ stb r3, 6(r5) +/* 802B1740 002AD3A0 98 65 00 07 */ stb r3, 7(r5) +/* 802B1744 002AD3A4 7C BD 32 14 */ add r5, r29, r6 +/* 802B1748 002AD3A8 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B174C 002AD3AC 38 C6 00 08 */ addi r6, r6, 8 +/* 802B1750 002AD3B0 98 65 00 01 */ stb r3, 1(r5) +/* 802B1754 002AD3B4 98 65 00 02 */ stb r3, 2(r5) +/* 802B1758 002AD3B8 98 65 00 03 */ stb r3, 3(r5) +/* 802B175C 002AD3BC 98 65 00 04 */ stb r3, 4(r5) +/* 802B1760 002AD3C0 98 65 00 05 */ stb r3, 5(r5) +/* 802B1764 002AD3C4 98 65 00 06 */ stb r3, 6(r5) +/* 802B1768 002AD3C8 98 65 00 07 */ stb r3, 7(r5) +/* 802B176C 002AD3CC 7C BD 32 14 */ add r5, r29, r6 +/* 802B1770 002AD3D0 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B1774 002AD3D4 38 C6 00 08 */ addi r6, r6, 8 +/* 802B1778 002AD3D8 98 65 00 01 */ stb r3, 1(r5) +/* 802B177C 002AD3DC 98 65 00 02 */ stb r3, 2(r5) +/* 802B1780 002AD3E0 98 65 00 03 */ stb r3, 3(r5) +/* 802B1784 002AD3E4 98 65 00 04 */ stb r3, 4(r5) +/* 802B1788 002AD3E8 98 65 00 05 */ stb r3, 5(r5) +/* 802B178C 002AD3EC 98 65 00 06 */ stb r3, 6(r5) +/* 802B1790 002AD3F0 98 65 00 07 */ stb r3, 7(r5) +/* 802B1794 002AD3F4 7C BD 32 14 */ add r5, r29, r6 +/* 802B1798 002AD3F8 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B179C 002AD3FC 38 C6 00 08 */ addi r6, r6, 8 +/* 802B17A0 002AD400 98 65 00 01 */ stb r3, 1(r5) +/* 802B17A4 002AD404 98 65 00 02 */ stb r3, 2(r5) +/* 802B17A8 002AD408 98 65 00 03 */ stb r3, 3(r5) +/* 802B17AC 002AD40C 98 65 00 04 */ stb r3, 4(r5) +/* 802B17B0 002AD410 98 65 00 05 */ stb r3, 5(r5) +/* 802B17B4 002AD414 98 65 00 06 */ stb r3, 6(r5) +/* 802B17B8 002AD418 98 65 00 07 */ stb r3, 7(r5) +/* 802B17BC 002AD41C 7C BD 32 14 */ add r5, r29, r6 +/* 802B17C0 002AD420 7C 7D 31 AE */ stbx r3, r29, r6 +/* 802B17C4 002AD424 38 C6 00 08 */ addi r6, r6, 8 +/* 802B17C8 002AD428 98 65 00 01 */ stb r3, 1(r5) +/* 802B17CC 002AD42C 98 65 00 02 */ stb r3, 2(r5) +/* 802B17D0 002AD430 98 65 00 03 */ stb r3, 3(r5) +/* 802B17D4 002AD434 98 65 00 04 */ stb r3, 4(r5) +/* 802B17D8 002AD438 98 65 00 05 */ stb r3, 5(r5) +/* 802B17DC 002AD43C 98 65 00 06 */ stb r3, 6(r5) +/* 802B17E0 002AD440 98 65 00 07 */ stb r3, 7(r5) +/* 802B17E4 002AD444 42 00 FF 10 */ bdnz lbl_802B16F4 +lbl_802B17E8: +/* 802B17E8 002AD448 88 64 00 02 */ lbz r3, 2(r4) +/* 802B17EC 002AD44C 88 04 00 01 */ lbz r0, 1(r4) +/* 802B17F0 002AD450 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 +/* 802B17F4 002AD454 70 00 9F 1F */ andi. r0, r0, 0x9f1f +/* 802B17F8 002AD458 B0 1D 00 00 */ sth r0, 0(r29) +/* 802B17FC 002AD45C 80 1E 08 B8 */ lwz r0, 0x8b8(r30) +/* 802B1800 002AD460 2C 00 00 00 */ cmpwi r0, 0 +/* 802B1804 002AD464 41 82 00 14 */ beq lbl_802B1818 +/* 802B1808 002AD468 28 00 00 01 */ cmplwi r0, 1 +/* 802B180C 002AD46C 41 82 00 0C */ beq lbl_802B1818 +/* 802B1810 002AD470 28 00 00 09 */ cmplwi r0, 9 +/* 802B1814 002AD474 40 82 00 10 */ bne lbl_802B1824 +lbl_802B1818: +/* 802B1818 002AD478 38 00 00 00 */ li r0, 0 +/* 802B181C 002AD47C 98 1D 00 29 */ stb r0, 0x29(r29) +/* 802B1820 002AD480 48 00 00 0C */ b lbl_802B182C +lbl_802B1824: +/* 802B1824 002AD484 38 00 FF FC */ li r0, -4 +/* 802B1828 002AD488 98 1D 00 29 */ stb r0, 0x29(r29) +lbl_802B182C: +/* 802B182C 002AD48C 88 7E 08 C1 */ lbz r3, 0x8c1(r30) +/* 802B1830 002AD490 38 00 00 00 */ li r0, 0 +/* 802B1834 002AD494 98 7D 00 28 */ stb r3, 0x28(r29) +/* 802B1838 002AD498 90 1E 08 48 */ stw r0, 0x848(r30) +/* 802B183C 002AD49C 88 04 00 03 */ lbz r0, 3(r4) +/* 802B1840 002AD4A0 88 64 00 01 */ lbz r3, 1(r4) +/* 802B1844 002AD4A4 54 00 10 3A */ slwi r0, r0, 2 +/* 802B1848 002AD4A8 A8 DE 08 76 */ lha r6, 0x876(r30) +/* 802B184C 002AD4AC 7C 05 07 34 */ extsh r5, r0 +/* 802B1850 002AD4B0 54 60 D7 BC */ rlwinm r0, r3, 0x1a, 0x1e, 0x1e +/* 802B1854 002AD4B4 7C 63 36 70 */ srawi r3, r3, 6 +/* 802B1858 002AD4B8 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d +/* 802B185C 002AD4BC 7C A3 07 34 */ extsh r3, r5 +/* 802B1860 002AD4C0 7C 00 07 34 */ extsh r0, r0 +/* 802B1864 002AD4C4 7C 60 03 78 */ or r0, r3, r0 +/* 802B1868 002AD4C8 7C 00 07 34 */ extsh r0, r0 +/* 802B186C 002AD4CC 7C 06 00 50 */ subf r0, r6, r0 +/* 802B1870 002AD4D0 B0 1D 00 04 */ sth r0, 4(r29) +/* 802B1874 002AD4D4 88 64 00 01 */ lbz r3, 1(r4) +/* 802B1878 002AD4D8 88 C4 00 02 */ lbz r6, 2(r4) +/* 802B187C 002AD4DC 54 60 EF 3A */ rlwinm r0, r3, 0x1d, 0x1c, 0x1d +/* 802B1880 002AD4E0 A8 FD 00 06 */ lha r7, 6(r29) +/* 802B1884 002AD4E4 50 C0 FE B6 */ rlwimi r0, r6, 0x1f, 0x1a, 0x1b +/* 802B1888 002AD4E8 7C C5 0E 70 */ srawi r5, r6, 1 +/* 802B188C 002AD4EC 7C 00 07 34 */ extsh r0, r0 +/* 802B1890 002AD4F0 7C 63 1E 70 */ srawi r3, r3, 3 +/* 802B1894 002AD4F4 7C E0 03 78 */ or r0, r7, r0 +/* 802B1898 002AD4F8 B0 1D 00 06 */ sth r0, 6(r29) +/* 802B189C 002AD4FC 88 64 00 04 */ lbz r3, 4(r4) +/* 802B18A0 002AD500 88 04 00 06 */ lbz r0, 6(r4) +/* 802B18A4 002AD504 7C 63 07 34 */ extsh r3, r3 +/* 802B18A8 002AD508 54 00 25 AE */ rlwinm r0, r0, 4, 0x16, 0x17 +/* 802B18AC 002AD50C 7C 60 03 78 */ or r0, r3, r0 +/* 802B18B0 002AD510 B0 1D 00 18 */ sth r0, 0x18(r29) +/* 802B18B4 002AD514 88 64 00 05 */ lbz r3, 5(r4) +/* 802B18B8 002AD518 88 04 00 06 */ lbz r0, 6(r4) +/* 802B18BC 002AD51C 7C 63 07 34 */ extsh r3, r3 +/* 802B18C0 002AD520 54 00 15 AE */ rlwinm r0, r0, 2, 0x16, 0x17 +/* 802B18C4 002AD524 7C 60 03 78 */ or r0, r3, r0 +/* 802B18C8 002AD528 7C 00 07 34 */ extsh r0, r0 +/* 802B18CC 002AD52C 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B18D0 002AD530 B0 1D 00 1A */ sth r0, 0x1a(r29) +/* 802B18D4 002AD534 88 64 00 0B */ lbz r3, 0xb(r4) +/* 802B18D8 002AD538 88 04 00 0C */ lbz r0, 0xc(r4) +/* 802B18DC 002AD53C 54 63 44 2E */ rlwinm r3, r3, 8, 0x10, 0x17 +/* 802B18E0 002AD540 7C 63 07 34 */ extsh r3, r3 +/* 802B18E4 002AD544 7C 60 03 78 */ or r0, r3, r0 +/* 802B18E8 002AD548 54 00 34 32 */ rlwinm r0, r0, 6, 0x10, 0x19 +/* 802B18EC 002AD54C B0 1D 00 4A */ sth r0, 0x4a(r29) +/* 802B18F0 002AD550 88 04 00 06 */ lbz r0, 6(r4) +/* 802B18F4 002AD554 54 00 07 3E */ clrlwi r0, r0, 0x1c +/* 802B18F8 002AD558 98 1D 00 4C */ stb r0, 0x4c(r29) +/* 802B18FC 002AD55C 88 C4 00 07 */ lbz r6, 7(r4) +/* 802B1900 002AD560 7C C5 07 74 */ extsb r5, r6 +/* 802B1904 002AD564 38 65 00 01 */ addi r3, r5, 1 +/* 802B1908 002AD568 20 05 FF FF */ subfic r0, r5, -1 +/* 802B190C 002AD56C 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B1910 002AD570 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B1914 002AD574 7C C0 00 78 */ andc r0, r6, r0 +/* 802B1918 002AD578 B0 1D 00 42 */ sth r0, 0x42(r29) +/* 802B191C 002AD57C 88 C4 00 08 */ lbz r6, 8(r4) +/* 802B1920 002AD580 7C C5 07 74 */ extsb r5, r6 +/* 802B1924 002AD584 38 65 00 01 */ addi r3, r5, 1 +/* 802B1928 002AD588 20 05 FF FF */ subfic r0, r5, -1 +/* 802B192C 002AD58C 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B1930 002AD590 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B1934 002AD594 7C C0 00 78 */ andc r0, r6, r0 +/* 802B1938 002AD598 B0 1D 00 44 */ sth r0, 0x44(r29) +/* 802B193C 002AD59C 88 C4 00 09 */ lbz r6, 9(r4) +/* 802B1940 002AD5A0 7C C5 07 74 */ extsb r5, r6 +/* 802B1944 002AD5A4 C8 62 A4 28 */ lfd f3, lbl_80642A28-_SDA2_BASE_(r2) +/* 802B1948 002AD5A8 38 65 00 01 */ addi r3, r5, 1 +/* 802B194C 002AD5AC C0 02 A4 18 */ lfs f0, lbl_80642A18-_SDA2_BASE_(r2) +/* 802B1950 002AD5B0 20 05 FF FF */ subfic r0, r5, -1 +/* 802B1954 002AD5B4 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B1958 002AD5B8 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B195C 002AD5BC 7C C0 00 78 */ andc r0, r6, r0 +/* 802B1960 002AD5C0 B0 1D 00 46 */ sth r0, 0x46(r29) +/* 802B1964 002AD5C4 7C 00 07 34 */ extsh r0, r0 +/* 802B1968 002AD5C8 54 03 18 38 */ slwi r3, r0, 3 +/* 802B196C 002AD5CC A8 1D 00 42 */ lha r0, 0x42(r29) +/* 802B1970 002AD5D0 88 E4 00 0A */ lbz r7, 0xa(r4) +/* 802B1974 002AD5D4 54 00 18 38 */ slwi r0, r0, 3 +/* 802B1978 002AD5D8 B0 1D 00 42 */ sth r0, 0x42(r29) +/* 802B197C 002AD5DC 7C E5 07 74 */ extsb r5, r7 +/* 802B1980 002AD5E0 38 C5 00 01 */ addi r6, r5, 1 +/* 802B1984 002AD5E4 A8 1D 00 44 */ lha r0, 0x44(r29) +/* 802B1988 002AD5E8 20 A5 FF FF */ subfic r5, r5, -1 +/* 802B198C 002AD5EC 7C C5 28 F8 */ nor r5, r6, r5 +/* 802B1990 002AD5F0 54 00 18 38 */ slwi r0, r0, 3 +/* 802B1994 002AD5F4 7C A5 FE 70 */ srawi r5, r5, 0x1f +/* 802B1998 002AD5F8 7C 00 07 34 */ extsh r0, r0 +/* 802B199C 002AD5FC 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B19A0 002AD600 7C E5 28 78 */ andc r5, r7, r5 +/* 802B19A4 002AD604 B0 1D 00 44 */ sth r0, 0x44(r29) +/* 802B19A8 002AD608 7C A0 07 34 */ extsh r0, r5 +/* 802B19AC 002AD60C 54 00 18 38 */ slwi r0, r0, 3 +/* 802B19B0 002AD610 7C 00 07 34 */ extsh r0, r0 +/* 802B19B4 002AD614 B0 7D 00 46 */ sth r3, 0x46(r29) +/* 802B19B8 002AD618 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B19BC 002AD61C B0 1D 00 48 */ sth r0, 0x48(r29) +/* 802B19C0 002AD620 88 1D 00 4C */ lbz r0, 0x4c(r29) +/* 802B19C4 002AD624 7C 00 07 74 */ extsb r0, r0 +/* 802B19C8 002AD628 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 802B19CC 002AD62C 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B19D0 002AD630 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B19D4 002AD634 C8 41 00 08 */ lfd f2, 8(r1) +/* 802B19D8 002AD638 C8 21 00 10 */ lfd f1, 0x10(r1) +/* 802B19DC 002AD63C EC 42 18 28 */ fsubs f2, f2, f3 +/* 802B19E0 002AD640 EC 21 18 28 */ fsubs f1, f1, f3 +/* 802B19E4 002AD644 EC 22 00 72 */ fmuls f1, f2, f1 +/* 802B19E8 002AD648 EC 00 00 72 */ fmuls f0, f0, f1 +/* 802B19EC 002AD64C FC 00 00 1E */ fctiwz f0, f0 +/* 802B19F0 002AD650 D8 01 00 18 */ stfd f0, 0x18(r1) +/* 802B19F4 002AD654 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 802B19F8 002AD658 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802B19FC 002AD65C B0 7D 00 1C */ sth r3, 0x1c(r29) +/* 802B1A00 002AD660 41 82 00 28 */ beq lbl_802B1A28 +/* 802B1A04 002AD664 A8 1D 00 18 */ lha r0, 0x18(r29) +/* 802B1A08 002AD668 2C 00 03 FF */ cmpwi r0, 0x3ff +/* 802B1A0C 002AD66C 41 82 00 1C */ beq lbl_802B1A28 +/* 802B1A10 002AD670 A8 1D 00 1A */ lha r0, 0x1a(r29) +/* 802B1A14 002AD674 2C 00 02 FF */ cmpwi r0, 0x2ff +/* 802B1A18 002AD678 41 82 00 10 */ beq lbl_802B1A28 +/* 802B1A1C 002AD67C 88 1D 00 4C */ lbz r0, 0x4c(r29) +/* 802B1A20 002AD680 2C 00 00 0F */ cmpwi r0, 0xf +/* 802B1A24 002AD684 40 82 00 20 */ bne lbl_802B1A44 +lbl_802B1A28: +/* 802B1A28 002AD688 38 60 00 00 */ li r3, 0 +/* 802B1A2C 002AD68C 38 00 02 FF */ li r0, 0x2ff +/* 802B1A30 002AD690 B0 7D 00 18 */ sth r3, 0x18(r29) +/* 802B1A34 002AD694 B0 1D 00 1A */ sth r0, 0x1a(r29) +/* 802B1A38 002AD698 B0 7D 00 1C */ sth r3, 0x1c(r29) +/* 802B1A3C 002AD69C B0 7D 00 4A */ sth r3, 0x4a(r29) +/* 802B1A40 002AD6A0 98 7D 00 4C */ stb r3, 0x4c(r29) +lbl_802B1A44: +/* 802B1A44 002AD6A4 38 00 00 02 */ li r0, 2 +/* 802B1A48 002AD6A8 C8 62 A4 28 */ lfd f3, lbl_80642A28-_SDA2_BASE_(r2) +/* 802B1A4C 002AD6AC 98 1D 00 1E */ stb r0, 0x1e(r29) +/* 802B1A50 002AD6B0 C0 02 A4 18 */ lfs f0, lbl_80642A18-_SDA2_BASE_(r2) +/* 802B1A54 002AD6B4 88 64 00 0D */ lbz r3, 0xd(r4) +/* 802B1A58 002AD6B8 88 04 00 0F */ lbz r0, 0xf(r4) +/* 802B1A5C 002AD6BC 7C 63 07 34 */ extsh r3, r3 +/* 802B1A60 002AD6C0 54 00 25 AE */ rlwinm r0, r0, 4, 0x16, 0x17 +/* 802B1A64 002AD6C4 7C 60 03 78 */ or r0, r3, r0 +/* 802B1A68 002AD6C8 B0 1D 00 20 */ sth r0, 0x20(r29) +/* 802B1A6C 002AD6CC 88 64 00 0E */ lbz r3, 0xe(r4) +/* 802B1A70 002AD6D0 88 04 00 0F */ lbz r0, 0xf(r4) +/* 802B1A74 002AD6D4 7C 63 07 34 */ extsh r3, r3 +/* 802B1A78 002AD6D8 54 00 15 AE */ rlwinm r0, r0, 2, 0x16, 0x17 +/* 802B1A7C 002AD6DC 7C 60 03 78 */ or r0, r3, r0 +/* 802B1A80 002AD6E0 7C 00 07 34 */ extsh r0, r0 +/* 802B1A84 002AD6E4 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B1A88 002AD6E8 B0 1D 00 22 */ sth r0, 0x22(r29) +/* 802B1A8C 002AD6EC 88 64 00 14 */ lbz r3, 0x14(r4) +/* 802B1A90 002AD6F0 88 04 00 15 */ lbz r0, 0x15(r4) +/* 802B1A94 002AD6F4 54 63 44 2E */ rlwinm r3, r3, 8, 0x10, 0x17 +/* 802B1A98 002AD6F8 7C 63 07 34 */ extsh r3, r3 +/* 802B1A9C 002AD6FC 7C 60 03 78 */ or r0, r3, r0 +/* 802B1AA0 002AD700 54 00 34 32 */ rlwinm r0, r0, 6, 0x10, 0x19 +/* 802B1AA4 002AD704 B0 1D 00 56 */ sth r0, 0x56(r29) +/* 802B1AA8 002AD708 88 04 00 0F */ lbz r0, 0xf(r4) +/* 802B1AAC 002AD70C 54 00 07 3E */ clrlwi r0, r0, 0x1c +/* 802B1AB0 002AD710 98 1D 00 58 */ stb r0, 0x58(r29) +/* 802B1AB4 002AD714 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 802B1AB8 002AD718 88 C4 00 10 */ lbz r6, 0x10(r4) +/* 802B1ABC 002AD71C 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B1AC0 002AD720 7C C5 07 74 */ extsb r5, r6 +/* 802B1AC4 002AD724 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B1AC8 002AD728 38 65 00 01 */ addi r3, r5, 1 +/* 802B1ACC 002AD72C 20 05 FF FF */ subfic r0, r5, -1 +/* 802B1AD0 002AD730 C8 41 00 08 */ lfd f2, 8(r1) +/* 802B1AD4 002AD734 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B1AD8 002AD738 C8 21 00 10 */ lfd f1, 0x10(r1) +/* 802B1ADC 002AD73C 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B1AE0 002AD740 EC 42 18 28 */ fsubs f2, f2, f3 +/* 802B1AE4 002AD744 7C C0 00 78 */ andc r0, r6, r0 +/* 802B1AE8 002AD748 EC 21 18 28 */ fsubs f1, f1, f3 +/* 802B1AEC 002AD74C B0 1D 00 4E */ sth r0, 0x4e(r29) +/* 802B1AF0 002AD750 7C 00 07 34 */ extsh r0, r0 +/* 802B1AF4 002AD754 54 07 18 38 */ slwi r7, r0, 3 +/* 802B1AF8 002AD758 88 C4 00 11 */ lbz r6, 0x11(r4) +/* 802B1AFC 002AD75C EC 22 00 72 */ fmuls f1, f2, f1 +/* 802B1B00 002AD760 7C C5 07 74 */ extsb r5, r6 +/* 802B1B04 002AD764 EC 00 00 72 */ fmuls f0, f0, f1 +/* 802B1B08 002AD768 38 65 00 01 */ addi r3, r5, 1 +/* 802B1B0C 002AD76C 20 05 FF FF */ subfic r0, r5, -1 +/* 802B1B10 002AD770 7C 60 00 F8 */ nor r0, r3, r0 +/* 802B1B14 002AD774 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B1B18 002AD778 FC 00 00 1E */ fctiwz f0, f0 +/* 802B1B1C 002AD77C 7C C0 00 78 */ andc r0, r6, r0 +/* 802B1B20 002AD780 B0 1D 00 50 */ sth r0, 0x50(r29) +/* 802B1B24 002AD784 7C 00 07 34 */ extsh r0, r0 +/* 802B1B28 002AD788 54 00 18 38 */ slwi r0, r0, 3 +/* 802B1B2C 002AD78C 89 24 00 12 */ lbz r9, 0x12(r4) +/* 802B1B30 002AD790 7C 06 07 34 */ extsh r6, r0 +/* 802B1B34 002AD794 D8 01 00 18 */ stfd f0, 0x18(r1) +/* 802B1B38 002AD798 7D 28 07 74 */ extsb r8, r9 +/* 802B1B3C 002AD79C 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 802B1B40 002AD7A0 38 A8 00 01 */ addi r5, r8, 1 +/* 802B1B44 002AD7A4 20 08 FF FF */ subfic r0, r8, -1 +/* 802B1B48 002AD7A8 7C A5 00 F8 */ nor r5, r5, r0 +/* 802B1B4C 002AD7AC 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802B1B50 002AD7B0 7C A0 FE 70 */ srawi r0, r5, 0x1f +/* 802B1B54 002AD7B4 7D 20 00 78 */ andc r0, r9, r0 +/* 802B1B58 002AD7B8 B0 1D 00 52 */ sth r0, 0x52(r29) +/* 802B1B5C 002AD7BC 7C 00 07 34 */ extsh r0, r0 +/* 802B1B60 002AD7C0 54 05 18 38 */ slwi r5, r0, 3 +/* 802B1B64 002AD7C4 89 24 00 13 */ lbz r9, 0x13(r4) +/* 802B1B68 002AD7C8 7D 28 07 74 */ extsb r8, r9 +/* 802B1B6C 002AD7CC B0 FD 00 4E */ sth r7, 0x4e(r29) +/* 802B1B70 002AD7D0 38 88 00 01 */ addi r4, r8, 1 +/* 802B1B74 002AD7D4 20 08 FF FF */ subfic r0, r8, -1 +/* 802B1B78 002AD7D8 7C 80 00 F8 */ nor r0, r4, r0 +/* 802B1B7C 002AD7DC 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802B1B80 002AD7E0 7D 24 00 78 */ andc r4, r9, r0 +/* 802B1B84 002AD7E4 20 06 02 FF */ subfic r0, r6, 0x2ff +/* 802B1B88 002AD7E8 B0 1D 00 50 */ sth r0, 0x50(r29) +/* 802B1B8C 002AD7EC 7C 80 07 34 */ extsh r0, r4 +/* 802B1B90 002AD7F0 54 00 18 38 */ slwi r0, r0, 3 +/* 802B1B94 002AD7F4 7C 00 07 34 */ extsh r0, r0 +/* 802B1B98 002AD7F8 B0 BD 00 52 */ sth r5, 0x52(r29) +/* 802B1B9C 002AD7FC 20 00 02 FF */ subfic r0, r0, 0x2ff +/* 802B1BA0 002AD800 B0 1D 00 54 */ sth r0, 0x54(r29) +/* 802B1BA4 002AD804 B0 7D 00 24 */ sth r3, 0x24(r29) +/* 802B1BA8 002AD808 41 82 00 28 */ beq lbl_802B1BD0 +/* 802B1BAC 002AD80C A8 1D 00 20 */ lha r0, 0x20(r29) +/* 802B1BB0 002AD810 2C 00 03 FF */ cmpwi r0, 0x3ff +/* 802B1BB4 002AD814 41 82 00 1C */ beq lbl_802B1BD0 +/* 802B1BB8 002AD818 A8 1D 00 22 */ lha r0, 0x22(r29) +/* 802B1BBC 002AD81C 2C 00 02 FF */ cmpwi r0, 0x2ff +/* 802B1BC0 002AD820 41 82 00 10 */ beq lbl_802B1BD0 +/* 802B1BC4 002AD824 88 1D 00 58 */ lbz r0, 0x58(r29) +/* 802B1BC8 002AD828 2C 00 00 0F */ cmpwi r0, 0xf +/* 802B1BCC 002AD82C 40 82 00 20 */ bne lbl_802B1BEC +lbl_802B1BD0: +/* 802B1BD0 002AD830 38 60 00 00 */ li r3, 0 +/* 802B1BD4 002AD834 38 00 02 FF */ li r0, 0x2ff +/* 802B1BD8 002AD838 B0 7D 00 20 */ sth r3, 0x20(r29) +/* 802B1BDC 002AD83C B0 1D 00 22 */ sth r0, 0x22(r29) +/* 802B1BE0 002AD840 B0 7D 00 24 */ sth r3, 0x24(r29) +/* 802B1BE4 002AD844 B0 7D 00 56 */ sth r3, 0x56(r29) +/* 802B1BE8 002AD848 98 7D 00 58 */ stb r3, 0x58(r29) +lbl_802B1BEC: +/* 802B1BEC 002AD84C 38 00 00 03 */ li r0, 3 +/* 802B1BF0 002AD850 98 1D 00 26 */ stb r0, 0x26(r29) +/* 802B1BF4 002AD854 4B FB CB 69 */ bl OSDisableInterrupts +/* 802B1BF8 002AD858 7C 1F E0 AE */ lbzx r0, r31, r28 +/* 802B1BFC 002AD85C 38 CD AE 6C */ addi r6, r13, lbl_8064012C-_SDA_BASE_ +/* 802B1C00 002AD860 38 80 00 01 */ li r4, 1 +/* 802B1C04 002AD864 2C 00 00 00 */ cmpwi r0, 0 +/* 802B1C08 002AD868 7C 86 E1 AE */ stbx r4, r6, r28 +/* 802B1C0C 002AD86C 41 82 00 3C */ beq lbl_802B1C48 +/* 802B1C10 002AD870 7C 06 E0 AE */ lbzx r0, r6, r28 +/* 802B1C14 002AD874 2C 00 00 00 */ cmpwi r0, 0 +/* 802B1C18 002AD878 41 82 00 30 */ beq lbl_802B1C48 +/* 802B1C1C 002AD87C A8 BE 08 78 */ lha r5, 0x878(r30) +/* 802B1C20 002AD880 38 00 00 00 */ li r0, 0 +/* 802B1C24 002AD884 A8 9D 00 06 */ lha r4, 6(r29) +/* 802B1C28 002AD888 7C 85 20 50 */ subf r4, r5, r4 +/* 802B1C2C 002AD88C B0 9D 00 06 */ sth r4, 6(r29) +/* 802B1C30 002AD890 88 9E 08 C8 */ lbz r4, 0x8c8(r30) +/* 802B1C34 002AD894 7C 84 00 34 */ cntlzw r4, r4 +/* 802B1C38 002AD898 54 84 DE 3E */ rlwinm r4, r4, 0x1b, 0x18, 0x1f +/* 802B1C3C 002AD89C 98 9E 08 C8 */ stb r4, 0x8c8(r30) +/* 802B1C40 002AD8A0 7C 06 E1 AE */ stbx r0, r6, r28 +/* 802B1C44 002AD8A4 7C 1F E1 AE */ stbx r0, r31, r28 +lbl_802B1C48: +/* 802B1C48 002AD8A8 4B FB CB 3D */ bl OSRestoreInterrupts +/* 802B1C4C 002AD8AC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802B1C50 002AD8B0 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802B1C54 002AD8B4 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802B1C58 002AD8B8 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802B1C5C 002AD8BC 83 81 00 20 */ lwz r28, 0x20(r1) +/* 802B1C60 002AD8C0 7C 08 03 A6 */ mtlr r0 +/* 802B1C64 002AD8C4 38 21 00 30 */ addi r1, r1, 0x30 +/* 802B1C68 002AD8C8 4E 80 00 20 */ blr + +.global __a1_unused_report +__a1_unused_report: +/* 802B1C6C 002AD8CC 4E 80 00 20 */ blr diff --git a/asm/SDK/exi2.s b/asm/SDK/exi2.s deleted file mode 100644 index d69761e..0000000 --- a/asm/SDK/exi2.s +++ /dev/null @@ -1,539 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 0x80006980 - 0x803E1E60 - -.global __EXI2Imm -__EXI2Imm: -/* 801DA2A4 001D5F04 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801DA2A8 001D5F08 7C 08 02 A6 */ mflr r0 -/* 801DA2AC 001D5F0C 90 01 00 24 */ stw r0, 0x24(r1) -/* 801DA2B0 001D5F10 39 61 00 20 */ addi r11, r1, 0x20 -/* 801DA2B4 001D5F14 4B FE CE 71 */ bl _savegpr_26 -/* 801DA2B8 001D5F18 2C 05 00 00 */ cmpwi r5, 0 -/* 801DA2BC 001D5F1C 41 82 01 5C */ beq lbl_801DA418 -/* 801DA2C0 001D5F20 2C 84 00 00 */ cmpwi cr1, r4, 0 -/* 801DA2C4 001D5F24 38 00 00 00 */ li r0, 0 -/* 801DA2C8 001D5F28 38 E0 00 00 */ li r7, 0 -/* 801DA2CC 001D5F2C 40 85 01 44 */ ble cr1, lbl_801DA410 -/* 801DA2D0 001D5F30 2C 04 00 08 */ cmpwi r4, 8 -/* 801DA2D4 001D5F34 39 24 FF F8 */ addi r9, r4, -8 -/* 801DA2D8 001D5F38 40 81 01 04 */ ble lbl_801DA3DC -/* 801DA2DC 001D5F3C 39 00 00 00 */ li r8, 0 -/* 801DA2E0 001D5F40 41 84 00 18 */ blt cr1, lbl_801DA2F8 -/* 801DA2E4 001D5F44 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha -/* 801DA2E8 001D5F48 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l -/* 801DA2EC 001D5F4C 7C 04 30 00 */ cmpw r4, r6 -/* 801DA2F0 001D5F50 41 81 00 08 */ bgt lbl_801DA2F8 -/* 801DA2F4 001D5F54 39 00 00 01 */ li r8, 1 -lbl_801DA2F8: -/* 801DA2F8 001D5F58 2C 08 00 00 */ cmpwi r8, 0 -/* 801DA2FC 001D5F5C 41 82 00 E0 */ beq lbl_801DA3DC -/* 801DA300 001D5F60 39 09 00 07 */ addi r8, r9, 7 -/* 801DA304 001D5F64 7C 66 1B 78 */ mr r6, r3 -/* 801DA308 001D5F68 55 08 E8 FE */ srwi r8, r8, 3 -/* 801DA30C 001D5F6C 7D 09 03 A6 */ mtctr r8 -/* 801DA310 001D5F70 2C 09 00 00 */ cmpwi r9, 0 -/* 801DA314 001D5F74 40 81 00 C8 */ ble lbl_801DA3DC -lbl_801DA318: -/* 801DA318 001D5F78 21 27 00 03 */ subfic r9, r7, 3 -/* 801DA31C 001D5F7C 39 07 00 01 */ addi r8, r7, 1 -/* 801DA320 001D5F80 23 88 00 03 */ subfic r28, r8, 3 -/* 801DA324 001D5F84 89 46 00 00 */ lbz r10, 0(r6) -/* 801DA328 001D5F88 39 07 00 02 */ addi r8, r7, 2 -/* 801DA32C 001D5F8C 8B 66 00 01 */ lbz r27, 1(r6) -/* 801DA330 001D5F90 23 A8 00 03 */ subfic r29, r8, 3 -/* 801DA334 001D5F94 57 9C 18 38 */ slwi r28, r28, 3 -/* 801DA338 001D5F98 55 28 18 38 */ slwi r8, r9, 3 -/* 801DA33C 001D5F9C 7D 87 00 D0 */ neg r12, r7 -/* 801DA340 001D5FA0 7D 5A 40 30 */ slw r26, r10, r8 -/* 801DA344 001D5FA4 57 BE 18 38 */ slwi r30, r29, 3 -/* 801DA348 001D5FA8 8B E6 00 02 */ lbz r31, 2(r6) -/* 801DA34C 001D5FAC 39 07 00 04 */ addi r8, r7, 4 -/* 801DA350 001D5FB0 21 68 00 03 */ subfic r11, r8, 3 -/* 801DA354 001D5FB4 7C 00 D3 78 */ or r0, r0, r26 -/* 801DA358 001D5FB8 7F 7C E0 30 */ slw r28, r27, r28 -/* 801DA35C 001D5FBC 39 07 00 05 */ addi r8, r7, 5 -/* 801DA360 001D5FC0 7F FF F0 30 */ slw r31, r31, r30 -/* 801DA364 001D5FC4 8B A6 00 03 */ lbz r29, 3(r6) -/* 801DA368 001D5FC8 55 8C 18 38 */ slwi r12, r12, 3 -/* 801DA36C 001D5FCC 7C 00 E3 78 */ or r0, r0, r28 -/* 801DA370 001D5FD0 21 48 00 03 */ subfic r10, r8, 3 -/* 801DA374 001D5FD4 39 07 00 06 */ addi r8, r7, 6 -/* 801DA378 001D5FD8 7F BD 60 30 */ slw r29, r29, r12 -/* 801DA37C 001D5FDC 7C 00 FB 78 */ or r0, r0, r31 -/* 801DA380 001D5FE0 21 28 00 03 */ subfic r9, r8, 3 -/* 801DA384 001D5FE4 39 07 00 07 */ addi r8, r7, 7 -/* 801DA388 001D5FE8 55 4C 18 38 */ slwi r12, r10, 3 -/* 801DA38C 001D5FEC 8B E6 00 05 */ lbz r31, 5(r6) -/* 801DA390 001D5FF0 21 08 00 03 */ subfic r8, r8, 3 -/* 801DA394 001D5FF4 55 2A 18 38 */ slwi r10, r9, 3 -/* 801DA398 001D5FF8 8B C6 00 04 */ lbz r30, 4(r6) -/* 801DA39C 001D5FFC 55 6B 18 38 */ slwi r11, r11, 3 -/* 801DA3A0 001D6000 7C 00 EB 78 */ or r0, r0, r29 -/* 801DA3A4 001D6004 89 26 00 07 */ lbz r9, 7(r6) -/* 801DA3A8 001D6008 7F DE 58 30 */ slw r30, r30, r11 -/* 801DA3AC 001D600C 89 66 00 06 */ lbz r11, 6(r6) -/* 801DA3B0 001D6010 55 08 18 38 */ slwi r8, r8, 3 -/* 801DA3B4 001D6014 7F EC 60 30 */ slw r12, r31, r12 -/* 801DA3B8 001D6018 7C 00 F3 78 */ or r0, r0, r30 -/* 801DA3BC 001D601C 7D 6A 50 30 */ slw r10, r11, r10 -/* 801DA3C0 001D6020 7C 00 63 78 */ or r0, r0, r12 -/* 801DA3C4 001D6024 7D 28 40 30 */ slw r8, r9, r8 -/* 801DA3C8 001D6028 7C 00 53 78 */ or r0, r0, r10 -/* 801DA3CC 001D602C 38 E7 00 08 */ addi r7, r7, 8 -/* 801DA3D0 001D6030 7C 00 43 78 */ or r0, r0, r8 -/* 801DA3D4 001D6034 38 C6 00 08 */ addi r6, r6, 8 -/* 801DA3D8 001D6038 42 00 FF 40 */ bdnz lbl_801DA318 -lbl_801DA3DC: -/* 801DA3DC 001D603C 7C C7 20 50 */ subf r6, r7, r4 -/* 801DA3E0 001D6040 7D 23 3A 14 */ add r9, r3, r7 -/* 801DA3E4 001D6044 7C C9 03 A6 */ mtctr r6 -/* 801DA3E8 001D6048 7C 07 20 00 */ cmpw r7, r4 -/* 801DA3EC 001D604C 40 80 00 24 */ bge lbl_801DA410 -lbl_801DA3F0: -/* 801DA3F0 001D6050 20 C7 00 03 */ subfic r6, r7, 3 -/* 801DA3F4 001D6054 89 09 00 00 */ lbz r8, 0(r9) -/* 801DA3F8 001D6058 54 C6 18 38 */ slwi r6, r6, 3 -/* 801DA3FC 001D605C 39 29 00 01 */ addi r9, r9, 1 -/* 801DA400 001D6060 7D 06 30 30 */ slw r6, r8, r6 -/* 801DA404 001D6064 38 E7 00 01 */ addi r7, r7, 1 -/* 801DA408 001D6068 7C 00 33 78 */ or r0, r0, r6 -/* 801DA40C 001D606C 42 00 FF E4 */ bdnz lbl_801DA3F0 -lbl_801DA410: -/* 801DA410 001D6070 3C C0 CD 00 */ lis r6, 0xCD006838@ha -/* 801DA414 001D6074 90 06 68 38 */ stw r0, 0xCD006838@l(r6) -lbl_801DA418: -/* 801DA418 001D6078 54 A6 10 3A */ slwi r6, r5, 2 -/* 801DA41C 001D607C 38 04 FF FF */ addi r0, r4, -1 -/* 801DA420 001D6080 60 C7 00 01 */ ori r7, r6, 1 -/* 801DA424 001D6084 54 00 20 36 */ slwi r0, r0, 4 -/* 801DA428 001D6088 3C C0 CD 00 */ lis r6, 0xCD006834@ha -/* 801DA42C 001D608C 7C E0 03 78 */ or r0, r7, r0 -/* 801DA430 001D6090 90 06 68 34 */ stw r0, 0xCD006834@l(r6) -lbl_801DA434: -/* 801DA434 001D6094 80 06 68 34 */ lwz r0, 0x6834(r6) -/* 801DA438 001D6098 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA43C 001D609C 40 82 FF F8 */ bne lbl_801DA434 -/* 801DA440 001D60A0 2C 05 00 00 */ cmpwi r5, 0 -/* 801DA444 001D60A4 40 82 01 2C */ bne lbl_801DA570 -/* 801DA448 001D60A8 3C A0 CD 00 */ lis r5, 0xCD006838@ha -/* 801DA44C 001D60AC 2C 84 00 00 */ cmpwi cr1, r4, 0 -/* 801DA450 001D60B0 80 05 68 38 */ lwz r0, 0xCD006838@l(r5) -/* 801DA454 001D60B4 38 A0 00 00 */ li r5, 0 -/* 801DA458 001D60B8 40 85 01 18 */ ble cr1, lbl_801DA570 -/* 801DA45C 001D60BC 2C 04 00 08 */ cmpwi r4, 8 -/* 801DA460 001D60C0 38 E4 FF F8 */ addi r7, r4, -8 -/* 801DA464 001D60C4 40 81 00 E0 */ ble lbl_801DA544 -/* 801DA468 001D60C8 39 00 00 00 */ li r8, 0 -/* 801DA46C 001D60CC 41 84 00 18 */ blt cr1, lbl_801DA484 -/* 801DA470 001D60D0 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha -/* 801DA474 001D60D4 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l -/* 801DA478 001D60D8 7C 04 30 00 */ cmpw r4, r6 -/* 801DA47C 001D60DC 41 81 00 08 */ bgt lbl_801DA484 -/* 801DA480 001D60E0 39 00 00 01 */ li r8, 1 -lbl_801DA484: -/* 801DA484 001D60E4 2C 08 00 00 */ cmpwi r8, 0 -/* 801DA488 001D60E8 41 82 00 BC */ beq lbl_801DA544 -/* 801DA48C 001D60EC 38 C7 00 07 */ addi r6, r7, 7 -/* 801DA490 001D60F0 54 C6 E8 FE */ srwi r6, r6, 3 -/* 801DA494 001D60F4 7C C9 03 A6 */ mtctr r6 -/* 801DA498 001D60F8 2C 07 00 00 */ cmpwi r7, 0 -/* 801DA49C 001D60FC 40 81 00 A8 */ ble lbl_801DA544 -lbl_801DA4A0: -/* 801DA4A0 001D6100 20 C5 00 03 */ subfic r6, r5, 3 -/* 801DA4A4 001D6104 38 E5 00 01 */ addi r7, r5, 1 -/* 801DA4A8 001D6108 54 C8 18 38 */ slwi r8, r6, 3 -/* 801DA4AC 001D610C 7C 09 44 30 */ srw r9, r0, r8 -/* 801DA4B0 001D6110 20 E7 00 03 */ subfic r7, r7, 3 -/* 801DA4B4 001D6114 54 E8 18 38 */ slwi r8, r7, 3 -/* 801DA4B8 001D6118 99 23 00 00 */ stb r9, 0(r3) -/* 801DA4BC 001D611C 38 E5 00 02 */ addi r7, r5, 2 -/* 801DA4C0 001D6120 7C C5 00 D0 */ neg r6, r5 -/* 801DA4C4 001D6124 7C 09 44 30 */ srw r9, r0, r8 -/* 801DA4C8 001D6128 54 C8 18 38 */ slwi r8, r6, 3 -/* 801DA4CC 001D612C 20 E7 00 03 */ subfic r7, r7, 3 -/* 801DA4D0 001D6130 54 E6 18 38 */ slwi r6, r7, 3 -/* 801DA4D4 001D6134 99 23 00 01 */ stb r9, 1(r3) -/* 801DA4D8 001D6138 7C 09 34 30 */ srw r9, r0, r6 -/* 801DA4DC 001D613C 7C 08 44 30 */ srw r8, r0, r8 -/* 801DA4E0 001D6140 38 C5 00 04 */ addi r6, r5, 4 -/* 801DA4E4 001D6144 99 23 00 02 */ stb r9, 2(r3) -/* 801DA4E8 001D6148 20 E6 00 03 */ subfic r7, r6, 3 -/* 801DA4EC 001D614C 38 C5 00 05 */ addi r6, r5, 5 -/* 801DA4F0 001D6150 99 03 00 03 */ stb r8, 3(r3) -/* 801DA4F4 001D6154 54 E7 18 38 */ slwi r7, r7, 3 -/* 801DA4F8 001D6158 7C 09 3C 30 */ srw r9, r0, r7 -/* 801DA4FC 001D615C 20 C6 00 03 */ subfic r6, r6, 3 -/* 801DA500 001D6160 54 C8 18 38 */ slwi r8, r6, 3 -/* 801DA504 001D6164 99 23 00 04 */ stb r9, 4(r3) -/* 801DA508 001D6168 38 C5 00 06 */ addi r6, r5, 6 -/* 801DA50C 001D616C 20 E6 00 03 */ subfic r7, r6, 3 -/* 801DA510 001D6170 7C 08 44 30 */ srw r8, r0, r8 -/* 801DA514 001D6174 38 C5 00 07 */ addi r6, r5, 7 -/* 801DA518 001D6178 99 03 00 05 */ stb r8, 5(r3) -/* 801DA51C 001D617C 54 E7 18 38 */ slwi r7, r7, 3 -/* 801DA520 001D6180 38 A5 00 08 */ addi r5, r5, 8 -/* 801DA524 001D6184 20 C6 00 03 */ subfic r6, r6, 3 -/* 801DA528 001D6188 7C 07 3C 30 */ srw r7, r0, r7 -/* 801DA52C 001D618C 54 C6 18 38 */ slwi r6, r6, 3 -/* 801DA530 001D6190 98 E3 00 06 */ stb r7, 6(r3) -/* 801DA534 001D6194 7C 06 34 30 */ srw r6, r0, r6 -/* 801DA538 001D6198 98 C3 00 07 */ stb r6, 7(r3) -/* 801DA53C 001D619C 38 63 00 08 */ addi r3, r3, 8 -/* 801DA540 001D61A0 42 00 FF 60 */ bdnz lbl_801DA4A0 -lbl_801DA544: -/* 801DA544 001D61A4 7C C5 20 50 */ subf r6, r5, r4 -/* 801DA548 001D61A8 7C C9 03 A6 */ mtctr r6 -/* 801DA54C 001D61AC 7C 05 20 00 */ cmpw r5, r4 -/* 801DA550 001D61B0 40 80 00 20 */ bge lbl_801DA570 -lbl_801DA554: -/* 801DA554 001D61B4 20 85 00 03 */ subfic r4, r5, 3 -/* 801DA558 001D61B8 38 A5 00 01 */ addi r5, r5, 1 -/* 801DA55C 001D61BC 54 84 18 38 */ slwi r4, r4, 3 -/* 801DA560 001D61C0 7C 04 24 30 */ srw r4, r0, r4 -/* 801DA564 001D61C4 98 83 00 00 */ stb r4, 0(r3) -/* 801DA568 001D61C8 38 63 00 01 */ addi r3, r3, 1 -/* 801DA56C 001D61CC 42 00 FF E8 */ bdnz lbl_801DA554 -lbl_801DA570: -/* 801DA570 001D61D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 801DA574 001D61D4 38 60 00 01 */ li r3, 1 -/* 801DA578 001D61D8 4B FE CB F9 */ bl _restgpr_26 -/* 801DA57C 001D61DC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801DA580 001D61E0 7C 08 03 A6 */ mtlr r0 -/* 801DA584 001D61E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 801DA588 001D61E8 4E 80 00 20 */ blr - -.global __DBEXIInit -__DBEXIInit: -/* 801DA58C 001D61EC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801DA590 001D61F0 7C 08 02 A6 */ mflr r0 -/* 801DA594 001D61F4 3C 60 00 02 */ lis r3, 0x00018000@ha -/* 801DA598 001D61F8 90 01 00 24 */ stw r0, 0x24(r1) -/* 801DA59C 001D61FC 38 63 80 00 */ addi r3, r3, 0x00018000@l -/* 801DA5A0 001D6200 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801DA5A4 001D6204 48 09 45 49 */ bl __OSMaskInterrupts -/* 801DA5A8 001D6208 3C 60 CD 00 */ lis r3, 0xCD006834@ha -lbl_801DA5AC: -/* 801DA5AC 001D620C 80 03 68 34 */ lwz r0, 0xCD006834@l(r3) -/* 801DA5B0 001D6210 54 00 07 FE */ clrlwi r0, r0, 0x1f -/* 801DA5B4 001D6214 28 00 00 01 */ cmplwi r0, 1 -/* 801DA5B8 001D6218 41 82 FF F4 */ beq lbl_801DA5AC -/* 801DA5BC 001D621C 3F E0 CD 00 */ lis r31, 0xCD006828@ha -/* 801DA5C0 001D6220 38 00 00 00 */ li r0, 0 -/* 801DA5C4 001D6224 90 1F 68 28 */ stw r0, 0xCD006828@l(r31) -/* 801DA5C8 001D6228 3C 60 B4 00 */ lis r3, 0xb400 -/* 801DA5CC 001D622C 3C 00 D4 00 */ lis r0, 0xd400 -/* 801DA5D0 001D6230 38 80 00 04 */ li r4, 4 -/* 801DA5D4 001D6234 90 61 00 0C */ stw r3, 0xc(r1) -/* 801DA5D8 001D6238 38 61 00 0C */ addi r3, r1, 0xc -/* 801DA5DC 001D623C 38 A0 00 01 */ li r5, 1 -/* 801DA5E0 001D6240 90 01 00 08 */ stw r0, 8(r1) -/* 801DA5E4 001D6244 80 1F 68 28 */ lwz r0, 0x6828(r31) -/* 801DA5E8 001D6248 70 00 04 05 */ andi. r0, r0, 0x405 -/* 801DA5EC 001D624C 60 00 00 C0 */ ori r0, r0, 0xc0 -/* 801DA5F0 001D6250 90 1F 68 28 */ stw r0, 0x6828(r31) -/* 801DA5F4 001D6254 4B FF FC B1 */ bl __EXI2Imm -lbl_801DA5F8: -/* 801DA5F8 001D6258 80 1F 68 34 */ lwz r0, 0x6834(r31) -/* 801DA5FC 001D625C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA600 001D6260 40 82 FF F8 */ bne lbl_801DA5F8 -/* 801DA604 001D6264 38 61 00 08 */ addi r3, r1, 8 -/* 801DA608 001D6268 38 80 00 04 */ li r4, 4 -/* 801DA60C 001D626C 38 A0 00 01 */ li r5, 1 -/* 801DA610 001D6270 4B FF FC 95 */ bl __EXI2Imm -/* 801DA614 001D6274 3C 60 CD 00 */ lis r3, 0xCD006834@ha -lbl_801DA618: -/* 801DA618 001D6278 80 03 68 34 */ lwz r0, 0xCD006834@l(r3) -/* 801DA61C 001D627C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA620 001D6280 40 82 FF F8 */ bne lbl_801DA618 -/* 801DA624 001D6284 3C 60 CD 00 */ lis r3, 0xCD006828@ha -/* 801DA628 001D6288 80 03 68 28 */ lwz r0, 0xCD006828@l(r3) -/* 801DA62C 001D628C 70 00 04 05 */ andi. r0, r0, 0x405 -/* 801DA630 001D6290 90 03 68 28 */ stw r0, 0x6828(r3) -/* 801DA634 001D6294 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801DA638 001D6298 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801DA63C 001D629C 7C 08 03 A6 */ mtlr r0 -/* 801DA640 001D62A0 38 21 00 20 */ addi r1, r1, 0x20 -/* 801DA644 001D62A4 4E 80 00 20 */ blr - -.global __DBEXIReadReg -__DBEXIReadReg: -/* 801DA648 001D62A8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801DA64C 001D62AC 7C 08 02 A6 */ mflr r0 -/* 801DA650 001D62B0 38 C0 00 00 */ li r6, 0 -/* 801DA654 001D62B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 801DA658 001D62B8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801DA65C 001D62BC 7C BF 2B 78 */ mr r31, r5 -/* 801DA660 001D62C0 38 A0 00 01 */ li r5, 1 -/* 801DA664 001D62C4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801DA668 001D62C8 7C 9E 23 78 */ mr r30, r4 -/* 801DA66C 001D62CC 38 80 00 04 */ li r4, 4 -/* 801DA670 001D62D0 93 A1 00 14 */ stw r29, 0x14(r1) -/* 801DA674 001D62D4 93 81 00 10 */ stw r28, 0x10(r1) -/* 801DA678 001D62D8 3F 80 CD 00 */ lis r28, 0xCD006828@ha -/* 801DA67C 001D62DC 90 61 00 08 */ stw r3, 8(r1) -/* 801DA680 001D62E0 38 61 00 08 */ addi r3, r1, 8 -/* 801DA684 001D62E4 90 C1 00 0C */ stw r6, 0xc(r1) -/* 801DA688 001D62E8 80 1C 68 28 */ lwz r0, 0xCD006828@l(r28) -/* 801DA68C 001D62EC 70 00 04 05 */ andi. r0, r0, 0x405 -/* 801DA690 001D62F0 60 00 00 C0 */ ori r0, r0, 0xc0 -/* 801DA694 001D62F4 90 1C 68 28 */ stw r0, 0x6828(r28) -/* 801DA698 001D62F8 4B FF FC 0D */ bl __EXI2Imm -/* 801DA69C 001D62FC 7C 60 00 34 */ cntlzw r0, r3 -/* 801DA6A0 001D6300 54 1D D9 7E */ srwi r29, r0, 5 -lbl_801DA6A4: -/* 801DA6A4 001D6304 80 1C 68 34 */ lwz r0, 0x6834(r28) -/* 801DA6A8 001D6308 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA6AC 001D630C 40 82 FF F8 */ bne lbl_801DA6A4 -/* 801DA6B0 001D6310 38 61 00 0C */ addi r3, r1, 0xc -/* 801DA6B4 001D6314 38 80 00 04 */ li r4, 4 -/* 801DA6B8 001D6318 38 A0 00 00 */ li r5, 0 -/* 801DA6BC 001D631C 4B FF FB E9 */ bl __EXI2Imm -/* 801DA6C0 001D6320 7C 60 00 34 */ cntlzw r0, r3 -/* 801DA6C4 001D6324 3C 60 CD 00 */ lis r3, 0xCD006834@ha -/* 801DA6C8 001D6328 54 00 D9 7E */ srwi r0, r0, 5 -/* 801DA6CC 001D632C 7F A6 03 78 */ or r6, r29, r0 -lbl_801DA6D0: -/* 801DA6D0 001D6330 80 03 68 34 */ lwz r0, 0xCD006834@l(r3) -/* 801DA6D4 001D6334 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA6D8 001D6338 40 82 FF F8 */ bne lbl_801DA6D0 -/* 801DA6DC 001D633C 3C 60 CD 00 */ lis r3, 0xCD006828@ha -/* 801DA6E0 001D6340 2C 9F 00 02 */ cmpwi cr1, r31, 2 -/* 801DA6E4 001D6344 80 03 68 28 */ lwz r0, 0xCD006828@l(r3) -/* 801DA6E8 001D6348 70 00 04 05 */ andi. r0, r0, 0x405 -/* 801DA6EC 001D634C 90 03 68 28 */ stw r0, 0x6828(r3) -/* 801DA6F0 001D6350 41 86 00 24 */ beq cr1, lbl_801DA714 -/* 801DA6F4 001D6354 40 84 00 34 */ bge cr1, lbl_801DA728 -/* 801DA6F8 001D6358 2C 1F 00 01 */ cmpwi r31, 1 -/* 801DA6FC 001D635C 40 80 00 08 */ bge lbl_801DA704 -/* 801DA700 001D6360 48 00 00 28 */ b lbl_801DA728 -lbl_801DA704: -/* 801DA704 001D6364 80 01 00 0C */ lwz r0, 0xc(r1) -/* 801DA708 001D6368 54 00 46 3E */ srwi r0, r0, 0x18 -/* 801DA70C 001D636C 98 1E 00 00 */ stb r0, 0(r30) -/* 801DA710 001D6370 48 00 00 34 */ b lbl_801DA744 -lbl_801DA714: -/* 801DA714 001D6374 80 61 00 0C */ lwz r3, 0xc(r1) -/* 801DA718 001D6378 54 60 C4 2E */ rlwinm r0, r3, 0x18, 0x10, 0x17 -/* 801DA71C 001D637C 50 60 46 3E */ rlwimi r0, r3, 8, 0x18, 0x1f -/* 801DA720 001D6380 B0 1E 00 00 */ sth r0, 0(r30) -/* 801DA724 001D6384 48 00 00 20 */ b lbl_801DA744 -lbl_801DA728: -/* 801DA728 001D6388 80 81 00 0C */ lwz r4, 0xc(r1) -/* 801DA72C 001D638C 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf -/* 801DA730 001D6390 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17 -/* 801DA734 001D6394 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7 -/* 801DA738 001D6398 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f -/* 801DA73C 001D639C 7C 60 03 78 */ or r0, r3, r0 -/* 801DA740 001D63A0 90 1E 00 00 */ stw r0, 0(r30) -lbl_801DA744: -/* 801DA744 001D63A4 7C C0 00 34 */ cntlzw r0, r6 -/* 801DA748 001D63A8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801DA74C 001D63AC 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801DA750 001D63B0 54 03 D9 7E */ srwi r3, r0, 5 -/* 801DA754 001D63B4 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 801DA758 001D63B8 83 81 00 10 */ lwz r28, 0x10(r1) -/* 801DA75C 001D63BC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801DA760 001D63C0 7C 08 03 A6 */ mtlr r0 -/* 801DA764 001D63C4 38 21 00 20 */ addi r1, r1, 0x20 -/* 801DA768 001D63C8 4E 80 00 20 */ blr - -.global __DBEXIWriteReg -__DBEXIWriteReg: -/* 801DA76C 001D63CC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801DA770 001D63D0 7C 08 02 A6 */ mflr r0 -/* 801DA774 001D63D4 2C 05 00 02 */ cmpwi r5, 2 -/* 801DA778 001D63D8 90 01 00 24 */ stw r0, 0x24(r1) -/* 801DA77C 001D63DC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801DA780 001D63E0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801DA784 001D63E4 90 61 00 08 */ stw r3, 8(r1) -/* 801DA788 001D63E8 41 82 00 24 */ beq lbl_801DA7AC -/* 801DA78C 001D63EC 40 80 00 34 */ bge lbl_801DA7C0 -/* 801DA790 001D63F0 2C 05 00 01 */ cmpwi r5, 1 -/* 801DA794 001D63F4 40 80 00 08 */ bge lbl_801DA79C -/* 801DA798 001D63F8 48 00 00 28 */ b lbl_801DA7C0 -lbl_801DA79C: -/* 801DA79C 001D63FC 88 04 00 00 */ lbz r0, 0(r4) -/* 801DA7A0 001D6400 54 00 C0 0E */ slwi r0, r0, 0x18 -/* 801DA7A4 001D6404 90 01 00 0C */ stw r0, 0xc(r1) -/* 801DA7A8 001D6408 48 00 00 34 */ b lbl_801DA7DC -lbl_801DA7AC: -/* 801DA7AC 001D640C A0 64 00 00 */ lhz r3, 0(r4) -/* 801DA7B0 001D6410 54 60 42 1E */ rlwinm r0, r3, 8, 8, 0xf -/* 801DA7B4 001D6414 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 -/* 801DA7B8 001D6418 90 01 00 0C */ stw r0, 0xc(r1) -/* 801DA7BC 001D641C 48 00 00 20 */ b lbl_801DA7DC -lbl_801DA7C0: -/* 801DA7C0 001D6420 80 84 00 00 */ lwz r4, 0(r4) -/* 801DA7C4 001D6424 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf -/* 801DA7C8 001D6428 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17 -/* 801DA7CC 001D642C 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7 -/* 801DA7D0 001D6430 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f -/* 801DA7D4 001D6434 7C 60 03 78 */ or r0, r3, r0 -/* 801DA7D8 001D6438 90 01 00 0C */ stw r0, 0xc(r1) -lbl_801DA7DC: -/* 801DA7DC 001D643C 3F C0 CD 00 */ lis r30, 0xCD006828@ha -/* 801DA7E0 001D6440 38 61 00 08 */ addi r3, r1, 8 -/* 801DA7E4 001D6444 80 1E 68 28 */ lwz r0, 0xCD006828@l(r30) -/* 801DA7E8 001D6448 38 80 00 04 */ li r4, 4 -/* 801DA7EC 001D644C 38 A0 00 01 */ li r5, 1 -/* 801DA7F0 001D6450 70 00 04 05 */ andi. r0, r0, 0x405 -/* 801DA7F4 001D6454 60 00 00 C0 */ ori r0, r0, 0xc0 -/* 801DA7F8 001D6458 90 1E 68 28 */ stw r0, 0x6828(r30) -/* 801DA7FC 001D645C 4B FF FA A9 */ bl __EXI2Imm -/* 801DA800 001D6460 7C 60 00 34 */ cntlzw r0, r3 -/* 801DA804 001D6464 54 1F D9 7E */ srwi r31, r0, 5 -lbl_801DA808: -/* 801DA808 001D6468 80 1E 68 34 */ lwz r0, 0x6834(r30) -/* 801DA80C 001D646C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA810 001D6470 40 82 FF F8 */ bne lbl_801DA808 -/* 801DA814 001D6474 38 61 00 0C */ addi r3, r1, 0xc -/* 801DA818 001D6478 38 80 00 04 */ li r4, 4 -/* 801DA81C 001D647C 38 A0 00 01 */ li r5, 1 -/* 801DA820 001D6480 4B FF FA 85 */ bl __EXI2Imm -/* 801DA824 001D6484 7C 60 00 34 */ cntlzw r0, r3 -/* 801DA828 001D6488 3C 60 CD 00 */ lis r3, 0xCD006834@ha -/* 801DA82C 001D648C 54 00 D9 7E */ srwi r0, r0, 5 -/* 801DA830 001D6490 7F E5 03 78 */ or r5, r31, r0 -lbl_801DA834: -/* 801DA834 001D6494 80 03 68 34 */ lwz r0, 0xCD006834@l(r3) -/* 801DA838 001D6498 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA83C 001D649C 40 82 FF F8 */ bne lbl_801DA834 -/* 801DA840 001D64A0 3C 80 CD 00 */ lis r4, 0xCD006828@ha -/* 801DA844 001D64A4 7C A0 00 34 */ cntlzw r0, r5 -/* 801DA848 001D64A8 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4) -/* 801DA84C 001D64AC 54 03 D9 7E */ srwi r3, r0, 5 -/* 801DA850 001D64B0 70 A0 04 05 */ andi. r0, r5, 0x405 -/* 801DA854 001D64B4 90 04 68 28 */ stw r0, 0x6828(r4) -/* 801DA858 001D64B8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801DA85C 001D64BC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801DA860 001D64C0 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801DA864 001D64C4 7C 08 03 A6 */ mtlr r0 -/* 801DA868 001D64C8 38 21 00 20 */ addi r1, r1, 0x20 -/* 801DA86C 001D64CC 4E 80 00 20 */ blr - -.global __DBEXIReadRam -__DBEXIReadRam: -/* 801DA870 001D64D0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801DA874 001D64D4 7C 08 02 A6 */ mflr r0 -/* 801DA878 001D64D8 90 01 00 24 */ stw r0, 0x24(r1) -/* 801DA87C 001D64DC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801DA880 001D64E0 3F E0 CD 00 */ lis r31, 0xCD006828@ha -/* 801DA884 001D64E4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801DA888 001D64E8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 801DA88C 001D64EC 7C 9D 23 78 */ mr r29, r4 -/* 801DA890 001D64F0 38 80 00 04 */ li r4, 4 -/* 801DA894 001D64F4 93 81 00 10 */ stw r28, 0x10(r1) -/* 801DA898 001D64F8 7C BC 2B 78 */ mr r28, r5 -/* 801DA89C 001D64FC 38 A0 00 01 */ li r5, 1 -/* 801DA8A0 001D6500 90 61 00 08 */ stw r3, 8(r1) -/* 801DA8A4 001D6504 38 61 00 08 */ addi r3, r1, 8 -/* 801DA8A8 001D6508 80 1F 68 28 */ lwz r0, 0xCD006828@l(r31) -/* 801DA8AC 001D650C 70 00 04 05 */ andi. r0, r0, 0x405 -/* 801DA8B0 001D6510 60 00 00 C0 */ ori r0, r0, 0xc0 -/* 801DA8B4 001D6514 90 1F 68 28 */ stw r0, 0x6828(r31) -/* 801DA8B8 001D6518 4B FF F9 ED */ bl __EXI2Imm -/* 801DA8BC 001D651C 7C 60 00 34 */ cntlzw r0, r3 -/* 801DA8C0 001D6520 54 1E D9 7E */ srwi r30, r0, 5 -lbl_801DA8C4: -/* 801DA8C4 001D6524 80 1F 68 34 */ lwz r0, 0x6834(r31) -/* 801DA8C8 001D6528 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA8CC 001D652C 40 82 FF F8 */ bne lbl_801DA8C4 -/* 801DA8D0 001D6530 3F E0 CD 00 */ lis r31, 0xcd00 -/* 801DA8D4 001D6534 48 00 00 3C */ b lbl_801DA910 -lbl_801DA8D8: -/* 801DA8D8 001D6538 38 61 00 0C */ addi r3, r1, 0xc -/* 801DA8DC 001D653C 38 80 00 04 */ li r4, 4 -/* 801DA8E0 001D6540 38 A0 00 00 */ li r5, 0 -/* 801DA8E4 001D6544 4B FF F9 C1 */ bl __EXI2Imm -/* 801DA8E8 001D6548 7C 60 00 34 */ cntlzw r0, r3 -/* 801DA8EC 001D654C 54 00 D9 7E */ srwi r0, r0, 5 -/* 801DA8F0 001D6550 7F DE 03 78 */ or r30, r30, r0 -lbl_801DA8F4: -/* 801DA8F4 001D6554 80 1F 68 34 */ lwz r0, 0x6834(r31) -/* 801DA8F8 001D6558 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA8FC 001D655C 40 82 FF F8 */ bne lbl_801DA8F4 -/* 801DA900 001D6560 80 01 00 0C */ lwz r0, 0xc(r1) -/* 801DA904 001D6564 3B 9C FF FC */ addi r28, r28, -4 -/* 801DA908 001D6568 90 1D 00 00 */ stw r0, 0(r29) -/* 801DA90C 001D656C 3B BD 00 04 */ addi r29, r29, 4 -lbl_801DA910: -/* 801DA910 001D6570 2C 1C 00 00 */ cmpwi r28, 0 -/* 801DA914 001D6574 41 81 FF C4 */ bgt lbl_801DA8D8 -/* 801DA918 001D6578 3C 80 CD 00 */ lis r4, 0xCD006828@ha -/* 801DA91C 001D657C 7F C0 00 34 */ cntlzw r0, r30 -/* 801DA920 001D6580 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4) -/* 801DA924 001D6584 54 03 D9 7E */ srwi r3, r0, 5 -/* 801DA928 001D6588 70 A0 04 05 */ andi. r0, r5, 0x405 -/* 801DA92C 001D658C 90 04 68 28 */ stw r0, 0x6828(r4) -/* 801DA930 001D6590 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801DA934 001D6594 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801DA938 001D6598 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801DA93C 001D659C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 801DA940 001D65A0 83 81 00 10 */ lwz r28, 0x10(r1) -/* 801DA944 001D65A4 7C 08 03 A6 */ mtlr r0 -/* 801DA948 001D65A8 38 21 00 20 */ addi r1, r1, 0x20 -/* 801DA94C 001D65AC 4E 80 00 20 */ blr - -.global __DBEXIWriteRam -__DBEXIWriteRam: -/* 801DA950 001D65B0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801DA954 001D65B4 7C 08 02 A6 */ mflr r0 -/* 801DA958 001D65B8 90 01 00 24 */ stw r0, 0x24(r1) -/* 801DA95C 001D65BC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801DA960 001D65C0 3F E0 CD 00 */ lis r31, 0xCD006828@ha -/* 801DA964 001D65C4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801DA968 001D65C8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 801DA96C 001D65CC 7C 9D 23 78 */ mr r29, r4 -/* 801DA970 001D65D0 38 80 00 04 */ li r4, 4 -/* 801DA974 001D65D4 93 81 00 10 */ stw r28, 0x10(r1) -/* 801DA978 001D65D8 7C BC 2B 78 */ mr r28, r5 -/* 801DA97C 001D65DC 38 A0 00 01 */ li r5, 1 -/* 801DA980 001D65E0 90 61 00 08 */ stw r3, 8(r1) -/* 801DA984 001D65E4 38 61 00 08 */ addi r3, r1, 8 -/* 801DA988 001D65E8 80 1F 68 28 */ lwz r0, 0xCD006828@l(r31) -/* 801DA98C 001D65EC 70 00 04 05 */ andi. r0, r0, 0x405 -/* 801DA990 001D65F0 60 00 00 C0 */ ori r0, r0, 0xc0 -/* 801DA994 001D65F4 90 1F 68 28 */ stw r0, 0x6828(r31) -/* 801DA998 001D65F8 4B FF F9 0D */ bl __EXI2Imm -/* 801DA99C 001D65FC 7C 60 00 34 */ cntlzw r0, r3 -/* 801DA9A0 001D6600 54 1E D9 7E */ srwi r30, r0, 5 -lbl_801DA9A4: -/* 801DA9A4 001D6604 80 1F 68 34 */ lwz r0, 0x6834(r31) -/* 801DA9A8 001D6608 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA9AC 001D660C 40 82 FF F8 */ bne lbl_801DA9A4 -/* 801DA9B0 001D6610 3F E0 CD 00 */ lis r31, 0xcd00 -/* 801DA9B4 001D6614 48 00 00 3C */ b lbl_801DA9F0 -lbl_801DA9B8: -/* 801DA9B8 001D6618 80 1D 00 00 */ lwz r0, 0(r29) -/* 801DA9BC 001D661C 38 61 00 0C */ addi r3, r1, 0xc -/* 801DA9C0 001D6620 38 80 00 04 */ li r4, 4 -/* 801DA9C4 001D6624 38 A0 00 01 */ li r5, 1 -/* 801DA9C8 001D6628 90 01 00 0C */ stw r0, 0xc(r1) -/* 801DA9CC 001D662C 3B BD 00 04 */ addi r29, r29, 4 -/* 801DA9D0 001D6630 4B FF F8 D5 */ bl __EXI2Imm -/* 801DA9D4 001D6634 7C 60 00 34 */ cntlzw r0, r3 -/* 801DA9D8 001D6638 54 00 D9 7E */ srwi r0, r0, 5 -/* 801DA9DC 001D663C 7F DE 03 78 */ or r30, r30, r0 -lbl_801DA9E0: -/* 801DA9E0 001D6640 80 1F 68 34 */ lwz r0, 0x6834(r31) -/* 801DA9E4 001D6644 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801DA9E8 001D6648 40 82 FF F8 */ bne lbl_801DA9E0 -/* 801DA9EC 001D664C 3B 9C FF FC */ addi r28, r28, -4 -lbl_801DA9F0: -/* 801DA9F0 001D6650 2C 1C 00 00 */ cmpwi r28, 0 -/* 801DA9F4 001D6654 41 81 FF C4 */ bgt lbl_801DA9B8 -/* 801DA9F8 001D6658 3C 80 CD 00 */ lis r4, 0xCD006828@ha -/* 801DA9FC 001D665C 7F C0 00 34 */ cntlzw r0, r30 -/* 801DAA00 001D6660 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4) -/* 801DAA04 001D6664 54 03 D9 7E */ srwi r3, r0, 5 -/* 801DAA08 001D6668 70 A0 04 05 */ andi. r0, r5, 0x405 -/* 801DAA0C 001D666C 90 04 68 28 */ stw r0, 0x6828(r4) -/* 801DAA10 001D6670 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801DAA14 001D6674 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801DAA18 001D6678 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801DAA1C 001D667C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 801DAA20 001D6680 83 81 00 10 */ lwz r28, 0x10(r1) -/* 801DAA24 001D6684 7C 08 03 A6 */ mtlr r0 -/* 801DAA28 001D6688 38 21 00 20 */ addi r1, r1, 0x20 -/* 801DAA2C 001D668C 4E 80 00 20 */ blr diff --git a/asm/SDK/fs.s b/asm/SDK/fs.s deleted file mode 100644 index f3d27b5..0000000 --- a/asm/SDK/fs.s +++ /dev/null @@ -1,1474 +0,0 @@ -.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 func_80007AC4 -/* 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 func_80007AC4 -/* 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 diff --git a/asm/SDK/ipcMain.s b/asm/SDK/ipcMain.s deleted file mode 100644 index 783c5c4..0000000 --- a/asm/SDK/ipcMain.s +++ /dev/null @@ -1,55 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 0x80006980 - 0x803E1E60 - -.global IPCInit -IPCInit: -/* 802A2880 0029E4E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2884 0029E4E4 7C 08 02 A6 */ mflr r0 -/* 802A2888 0029E4E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A288C 0029E4EC 88 0D AD E8 */ lbz r0, lbl_806400A8-_SDA_BASE_(r13) -/* 802A2890 0029E4F0 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2894 0029E4F4 40 82 00 28 */ bne lbl_802A28BC -/* 802A2898 0029E4F8 4B FD 08 0D */ bl __OSGetIPCBufferHi -/* 802A289C 0029E4FC 90 6D AD F8 */ stw r3, lbl_806400B8-_SDA_BASE_(r13) -/* 802A28A0 0029E500 4B FD 08 0D */ bl __OSGetIPCBufferLo -/* 802A28A4 0029E504 80 8D AD F8 */ lwz r4, lbl_806400B8-_SDA_BASE_(r13) -/* 802A28A8 0029E508 38 00 00 01 */ li r0, 1 -/* 802A28AC 0029E50C 90 6D AD F4 */ stw r3, lbl_806400B4-_SDA_BASE_(r13) -/* 802A28B0 0029E510 90 8D AD F0 */ stw r4, lbl_806400B0-_SDA_BASE_(r13) -/* 802A28B4 0029E514 90 6D AD EC */ stw r3, lbl_806400AC-_SDA_BASE_(r13) -/* 802A28B8 0029E518 98 0D AD E8 */ stb r0, lbl_806400A8-_SDA_BASE_(r13) -lbl_802A28BC: -/* 802A28BC 0029E51C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A28C0 0029E520 7C 08 03 A6 */ mtlr r0 -/* 802A28C4 0029E524 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A28C8 0029E528 4E 80 00 20 */ blr - -.global IPCReadReg -IPCReadReg: -/* 802A28CC 0029E52C 54 60 10 3A */ slwi r0, r3, 2 -/* 802A28D0 0029E530 3C 60 CD 00 */ lis r3, 0xcd00 -/* 802A28D4 0029E534 7C 63 00 2E */ lwzx r3, r3, r0 -/* 802A28D8 0029E538 4E 80 00 20 */ blr - -.global IPCWriteReg -IPCWriteReg: -/* 802A28DC 0029E53C 54 60 10 3A */ slwi r0, r3, 2 -/* 802A28E0 0029E540 3C 60 CD 00 */ lis r3, 0xcd00 -/* 802A28E4 0029E544 7C 83 01 2E */ stwx r4, r3, r0 -/* 802A28E8 0029E548 4E 80 00 20 */ blr - -.global IPCGetBufferHi -IPCGetBufferHi: -/* 802A28EC 0029E54C 80 6D AD F0 */ lwz r3, lbl_806400B0-_SDA_BASE_(r13) -/* 802A28F0 0029E550 4E 80 00 20 */ blr - -.global IPCGetBufferLo -IPCGetBufferLo: -/* 802A28F4 0029E554 80 6D AD EC */ lwz r3, lbl_806400AC-_SDA_BASE_(r13) -/* 802A28F8 0029E558 4E 80 00 20 */ blr - -.global IPCSetBufferLo -IPCSetBufferLo: -/* 802A28FC 0029E55C 90 6D AD EC */ stw r3, lbl_806400AC-_SDA_BASE_(r13) -/* 802A2900 0029E560 4E 80 00 20 */ blr diff --git a/asm/SDK/ipcProfile.s b/asm/SDK/ipcProfile.s deleted file mode 100644 index e956ce2..0000000 --- a/asm/SDK/ipcProfile.s +++ /dev/null @@ -1,133 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 0x80006980 - 0x803E1E60 - -.global IPCiProfInit -IPCiProfInit: -/* 802A4528 002A0188 38 80 00 00 */ li r4, 0 -/* 802A452C 002A018C 3C A0 80 53 */ lis r5, lbl_80536CB0@ha -/* 802A4530 002A0190 3C C0 80 53 */ lis r6, lbl_80536C30@ha -/* 802A4534 002A0194 38 00 00 02 */ li r0, 2 -/* 802A4538 002A0198 90 8D AE 10 */ stw r4, lbl_806400D0-_SDA_BASE_(r13) -/* 802A453C 002A019C 38 A5 6C B0 */ addi r5, r5, lbl_80536CB0@l -/* 802A4540 002A01A0 38 C6 6C 30 */ addi r6, r6, lbl_80536C30@l -/* 802A4544 002A01A4 38 60 FF FF */ li r3, -1 -/* 802A4548 002A01A8 90 8D AE 14 */ stw r4, lbl_806400D4-_SDA_BASE_(r13) -/* 802A454C 002A01AC 7C 09 03 A6 */ mtctr r0 -lbl_802A4550: -/* 802A4550 002A01B0 90 85 00 00 */ stw r4, 0(r5) -/* 802A4554 002A01B4 90 66 00 00 */ stw r3, 0(r6) -/* 802A4558 002A01B8 90 85 00 04 */ stw r4, 4(r5) -/* 802A455C 002A01BC 90 66 00 04 */ stw r3, 4(r6) -/* 802A4560 002A01C0 90 85 00 08 */ stw r4, 8(r5) -/* 802A4564 002A01C4 90 66 00 08 */ stw r3, 8(r6) -/* 802A4568 002A01C8 90 85 00 0C */ stw r4, 0xc(r5) -/* 802A456C 002A01CC 90 66 00 0C */ stw r3, 0xc(r6) -/* 802A4570 002A01D0 90 85 00 10 */ stw r4, 0x10(r5) -/* 802A4574 002A01D4 90 66 00 10 */ stw r3, 0x10(r6) -/* 802A4578 002A01D8 90 85 00 14 */ stw r4, 0x14(r5) -/* 802A457C 002A01DC 90 66 00 14 */ stw r3, 0x14(r6) -/* 802A4580 002A01E0 90 85 00 18 */ stw r4, 0x18(r5) -/* 802A4584 002A01E4 90 66 00 18 */ stw r3, 0x18(r6) -/* 802A4588 002A01E8 90 85 00 1C */ stw r4, 0x1c(r5) -/* 802A458C 002A01EC 90 66 00 1C */ stw r3, 0x1c(r6) -/* 802A4590 002A01F0 90 85 00 20 */ stw r4, 0x20(r5) -/* 802A4594 002A01F4 90 66 00 20 */ stw r3, 0x20(r6) -/* 802A4598 002A01F8 90 85 00 24 */ stw r4, 0x24(r5) -/* 802A459C 002A01FC 90 66 00 24 */ stw r3, 0x24(r6) -/* 802A45A0 002A0200 90 85 00 28 */ stw r4, 0x28(r5) -/* 802A45A4 002A0204 90 66 00 28 */ stw r3, 0x28(r6) -/* 802A45A8 002A0208 90 85 00 2C */ stw r4, 0x2c(r5) -/* 802A45AC 002A020C 90 66 00 2C */ stw r3, 0x2c(r6) -/* 802A45B0 002A0210 90 85 00 30 */ stw r4, 0x30(r5) -/* 802A45B4 002A0214 90 66 00 30 */ stw r3, 0x30(r6) -/* 802A45B8 002A0218 90 85 00 34 */ stw r4, 0x34(r5) -/* 802A45BC 002A021C 90 66 00 34 */ stw r3, 0x34(r6) -/* 802A45C0 002A0220 90 85 00 38 */ stw r4, 0x38(r5) -/* 802A45C4 002A0224 90 66 00 38 */ stw r3, 0x38(r6) -/* 802A45C8 002A0228 90 85 00 3C */ stw r4, 0x3c(r5) -/* 802A45CC 002A022C 38 A5 00 40 */ addi r5, r5, 0x40 -/* 802A45D0 002A0230 90 66 00 3C */ stw r3, 0x3c(r6) -/* 802A45D4 002A0234 38 C6 00 40 */ addi r6, r6, 0x40 -/* 802A45D8 002A0238 42 00 FF 78 */ bdnz lbl_802A4550 -/* 802A45DC 002A023C 4E 80 00 20 */ blr - -.global IPCiProfQueueReq -IPCiProfQueueReq: -/* 802A45E0 002A0240 80 CD AE 10 */ lwz r6, lbl_806400D0-_SDA_BASE_(r13) -/* 802A45E4 002A0244 3D 00 80 53 */ lis r8, lbl_80536CB0@ha -/* 802A45E8 002A0248 80 AD AE 14 */ lwz r5, lbl_806400D4-_SDA_BASE_(r13) -/* 802A45EC 002A024C 3D 20 80 53 */ lis r9, lbl_80536C30@ha -/* 802A45F0 002A0250 38 C6 00 01 */ addi r6, r6, 1 -/* 802A45F4 002A0254 38 00 00 20 */ li r0, 0x20 -/* 802A45F8 002A0258 38 A5 00 01 */ addi r5, r5, 1 -/* 802A45FC 002A025C 90 CD AE 10 */ stw r6, lbl_806400D0-_SDA_BASE_(r13) -/* 802A4600 002A0260 39 08 6C B0 */ addi r8, r8, lbl_80536CB0@l -/* 802A4604 002A0264 39 29 6C 30 */ addi r9, r9, lbl_80536C30@l -/* 802A4608 002A0268 90 AD AE 14 */ stw r5, lbl_806400D4-_SDA_BASE_(r13) -/* 802A460C 002A026C 38 E0 00 00 */ li r7, 0 -/* 802A4610 002A0270 7C 09 03 A6 */ mtctr r0 -lbl_802A4614: -/* 802A4614 002A0274 80 08 00 00 */ lwz r0, 0(r8) -/* 802A4618 002A0278 2C 00 00 00 */ cmpwi r0, 0 -/* 802A461C 002A027C 40 82 00 30 */ bne lbl_802A464C -/* 802A4620 002A0280 80 09 00 00 */ lwz r0, 0(r9) -/* 802A4624 002A0284 2C 00 FF FF */ cmpwi r0, -1 -/* 802A4628 002A0288 40 82 00 24 */ bne lbl_802A464C -/* 802A462C 002A028C 3C C0 80 53 */ lis r6, lbl_80536CB0@ha -/* 802A4630 002A0290 3C A0 80 53 */ lis r5, lbl_80536C30@ha -/* 802A4634 002A0294 54 E0 10 3A */ slwi r0, r7, 2 -/* 802A4638 002A0298 38 C6 6C B0 */ addi r6, r6, lbl_80536CB0@l -/* 802A463C 002A029C 38 A5 6C 30 */ addi r5, r5, lbl_80536C30@l -/* 802A4640 002A02A0 7C 66 01 2E */ stwx r3, r6, r0 -/* 802A4644 002A02A4 7C 85 01 2E */ stwx r4, r5, r0 -/* 802A4648 002A02A8 4E 80 00 20 */ blr -lbl_802A464C: -/* 802A464C 002A02AC 39 08 00 04 */ addi r8, r8, 4 -/* 802A4650 002A02B0 39 29 00 04 */ addi r9, r9, 4 -/* 802A4654 002A02B4 38 E7 00 01 */ addi r7, r7, 1 -/* 802A4658 002A02B8 42 00 FF BC */ bdnz lbl_802A4614 -/* 802A465C 002A02BC 4E 80 00 20 */ blr - -.global IPCiProfAck -IPCiProfAck: -/* 802A4660 002A02C0 80 6D AE 14 */ lwz r3, lbl_806400D4-_SDA_BASE_(r13) -/* 802A4664 002A02C4 38 03 FF FF */ addi r0, r3, -1 -/* 802A4668 002A02C8 90 0D AE 14 */ stw r0, lbl_806400D4-_SDA_BASE_(r13) -/* 802A466C 002A02CC 4E 80 00 20 */ blr - -.global IPCiProfReply -IPCiProfReply: -/* 802A4670 002A02D0 80 AD AE 10 */ lwz r5, lbl_806400D0-_SDA_BASE_(r13) -/* 802A4674 002A02D4 3C C0 80 53 */ lis r6, lbl_80536CB0@ha -/* 802A4678 002A02D8 3C E0 80 53 */ lis r7, lbl_80536C30@ha -/* 802A467C 002A02DC 38 00 00 20 */ li r0, 0x20 -/* 802A4680 002A02E0 38 A5 FF FF */ addi r5, r5, -1 -/* 802A4684 002A02E4 38 C6 6C B0 */ addi r6, r6, lbl_80536CB0@l -/* 802A4688 002A02E8 90 AD AE 10 */ stw r5, lbl_806400D0-_SDA_BASE_(r13) -/* 802A468C 002A02EC 38 E7 6C 30 */ addi r7, r7, lbl_80536C30@l -/* 802A4690 002A02F0 38 A0 00 00 */ li r5, 0 -/* 802A4694 002A02F4 7C 09 03 A6 */ mtctr r0 -lbl_802A4698: -/* 802A4698 002A02F8 80 06 00 00 */ lwz r0, 0(r6) -/* 802A469C 002A02FC 7C 03 00 40 */ cmplw r3, r0 -/* 802A46A0 002A0300 40 82 00 38 */ bne lbl_802A46D8 -/* 802A46A4 002A0304 80 07 00 00 */ lwz r0, 0(r7) -/* 802A46A8 002A0308 7C 04 00 00 */ cmpw r4, r0 -/* 802A46AC 002A030C 40 82 00 2C */ bne lbl_802A46D8 -/* 802A46B0 002A0310 3C 80 80 53 */ lis r4, lbl_80536CB0@ha -/* 802A46B4 002A0314 3C 60 80 53 */ lis r3, lbl_80536C30@ha -/* 802A46B8 002A0318 54 A6 10 3A */ slwi r6, r5, 2 -/* 802A46BC 002A031C 38 A0 00 00 */ li r5, 0 -/* 802A46C0 002A0320 38 84 6C B0 */ addi r4, r4, lbl_80536CB0@l -/* 802A46C4 002A0324 38 63 6C 30 */ addi r3, r3, lbl_80536C30@l -/* 802A46C8 002A0328 38 00 FF FF */ li r0, -1 -/* 802A46CC 002A032C 7C A4 31 2E */ stwx r5, r4, r6 -/* 802A46D0 002A0330 7C 03 31 2E */ stwx r0, r3, r6 -/* 802A46D4 002A0334 4E 80 00 20 */ blr -lbl_802A46D8: -/* 802A46D8 002A0338 38 C6 00 04 */ addi r6, r6, 4 -/* 802A46DC 002A033C 38 E7 00 04 */ addi r7, r7, 4 -/* 802A46E0 002A0340 38 A5 00 01 */ addi r5, r5, 1 -/* 802A46E4 002A0344 42 00 FF B4 */ bdnz lbl_802A4698 -/* 802A46E8 002A0348 4E 80 00 20 */ blr diff --git a/asm/SDK/ipcclt.s b/asm/SDK/ipcclt.s deleted file mode 100644 index 4fcfe96..0000000 --- a/asm/SDK/ipcclt.s +++ /dev/null @@ -1,1695 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 0x80006980 - 0x803E1E60 - -.global strnlen -strnlen: -/* 802A2904 0029E564 7C 65 1B 78 */ mr r5, r3 -/* 802A2908 0029E568 48 00 00 08 */ b lbl_802A2910 -lbl_802A290C: -/* 802A290C 0029E56C 38 A5 00 01 */ addi r5, r5, 1 -lbl_802A2910: -/* 802A2910 0029E570 88 05 00 00 */ lbz r0, 0(r5) -/* 802A2914 0029E574 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2918 0029E578 41 82 00 10 */ beq lbl_802A2928 -/* 802A291C 0029E57C 2C 04 00 00 */ cmpwi r4, 0 -/* 802A2920 0029E580 38 84 FF FF */ addi r4, r4, -1 -/* 802A2924 0029E584 40 82 FF E8 */ bne lbl_802A290C -lbl_802A2928: -/* 802A2928 0029E588 7C 63 28 50 */ subf r3, r3, r5 -/* 802A292C 0029E58C 4E 80 00 20 */ blr - -.global IpcReplyHandler -IpcReplyHandler: -/* 802A2930 0029E590 94 21 FD 20 */ stwu r1, -0x2e0(r1) -/* 802A2934 0029E594 7C 08 02 A6 */ mflr r0 -/* 802A2938 0029E598 38 60 00 02 */ li r3, 2 -/* 802A293C 0029E59C 90 01 02 E4 */ stw r0, 0x2e4(r1) -/* 802A2940 0029E5A0 93 E1 02 DC */ stw r31, 0x2dc(r1) -/* 802A2944 0029E5A4 93 C1 02 D8 */ stw r30, 0x2d8(r1) -/* 802A2948 0029E5A8 7C 9E 23 78 */ mr r30, r4 -/* 802A294C 0029E5AC 93 A1 02 D4 */ stw r29, 0x2d4(r1) -/* 802A2950 0029E5B0 93 81 02 D0 */ stw r28, 0x2d0(r1) -/* 802A2954 0029E5B4 4B FF FF 79 */ bl IPCReadReg -/* 802A2958 0029E5B8 2C 03 00 00 */ cmpwi r3, 0 -/* 802A295C 0029E5BC 41 82 02 0C */ beq lbl_802A2B68 -/* 802A2960 0029E5C0 3F E3 80 00 */ addis r31, r3, 0x8000 -/* 802A2964 0029E5C4 38 60 00 01 */ li r3, 1 -/* 802A2968 0029E5C8 4B FF FF 65 */ bl IPCReadReg -/* 802A296C 0029E5CC 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b -/* 802A2970 0029E5D0 38 60 00 01 */ li r3, 1 -/* 802A2974 0029E5D4 60 04 00 04 */ ori r4, r0, 4 -/* 802A2978 0029E5D8 4B FF FF 65 */ bl IPCWriteReg -/* 802A297C 0029E5DC 3C 00 40 00 */ lis r0, 0x4000 -/* 802A2980 0029E5E0 3C 60 CD 00 */ lis r3, 0xCD000030@ha -/* 802A2984 0029E5E4 90 03 00 30 */ stw r0, 0xCD000030@l(r3) -/* 802A2988 0029E5E8 7F E3 FB 78 */ mr r3, r31 -/* 802A298C 0029E5EC 38 80 00 20 */ li r4, 0x20 -/* 802A2990 0029E5F0 4B FC 7C 99 */ bl DCInvalidateRange -/* 802A2994 0029E5F4 80 1F 00 08 */ lwz r0, 8(r31) -/* 802A2998 0029E5F8 2C 00 00 06 */ cmpwi r0, 6 -/* 802A299C 0029E5FC 41 82 00 54 */ beq lbl_802A29F0 -/* 802A29A0 0029E600 40 80 00 10 */ bge lbl_802A29B0 -/* 802A29A4 0029E604 2C 00 00 03 */ cmpwi r0, 3 -/* 802A29A8 0029E608 41 82 00 14 */ beq lbl_802A29BC -/* 802A29AC 0029E60C 48 00 01 40 */ b lbl_802A2AEC -lbl_802A29B0: -/* 802A29B0 0029E610 2C 00 00 08 */ cmpwi r0, 8 -/* 802A29B4 0029E614 40 80 01 38 */ bge lbl_802A2AEC -/* 802A29B8 0029E618 48 00 00 70 */ b lbl_802A2A28 -lbl_802A29BC: -/* 802A29BC 0029E61C 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 802A29C0 0029E620 2C 03 00 00 */ cmpwi r3, 0 -/* 802A29C4 0029E624 41 82 00 0C */ beq lbl_802A29D0 -/* 802A29C8 0029E628 3C 03 80 00 */ addis r0, r3, 0x8000 -/* 802A29CC 0029E62C 48 00 00 08 */ b lbl_802A29D4 -lbl_802A29D0: -/* 802A29D0 0029E630 38 00 00 00 */ li r0, 0 -lbl_802A29D4: -/* 802A29D4 0029E634 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802A29D8 0029E638 80 9F 00 04 */ lwz r4, 4(r31) -/* 802A29DC 0029E63C 2C 04 00 00 */ cmpwi r4, 0 -/* 802A29E0 0029E640 40 81 01 0C */ ble lbl_802A2AEC -/* 802A29E4 0029E644 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 802A29E8 0029E648 4B FC 7C 41 */ bl DCInvalidateRange -/* 802A29EC 0029E64C 48 00 01 00 */ b lbl_802A2AEC -lbl_802A29F0: -/* 802A29F0 0029E650 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802A29F4 0029E654 2C 03 00 00 */ cmpwi r3, 0 -/* 802A29F8 0029E658 41 82 00 0C */ beq lbl_802A2A04 -/* 802A29FC 0029E65C 3C 03 80 00 */ addis r0, r3, 0x8000 -/* 802A2A00 0029E660 48 00 00 08 */ b lbl_802A2A08 -lbl_802A2A04: -/* 802A2A04 0029E664 38 00 00 00 */ li r0, 0 -lbl_802A2A08: -/* 802A2A08 0029E668 90 1F 00 18 */ stw r0, 0x18(r31) -/* 802A2A0C 0029E66C 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 802A2A10 0029E670 80 9F 00 14 */ lwz r4, 0x14(r31) -/* 802A2A14 0029E674 4B FC 7C 15 */ bl DCInvalidateRange -/* 802A2A18 0029E678 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802A2A1C 0029E67C 80 9F 00 1C */ lwz r4, 0x1c(r31) -/* 802A2A20 0029E680 4B FC 7C 09 */ bl DCInvalidateRange -/* 802A2A24 0029E684 48 00 00 C8 */ b lbl_802A2AEC -lbl_802A2A28: -/* 802A2A28 0029E688 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802A2A2C 0029E68C 2C 03 00 00 */ cmpwi r3, 0 -/* 802A2A30 0029E690 41 82 00 0C */ beq lbl_802A2A3C -/* 802A2A34 0029E694 3C 63 80 00 */ addis r3, r3, 0x8000 -/* 802A2A38 0029E698 48 00 00 08 */ b lbl_802A2A40 -lbl_802A2A3C: -/* 802A2A3C 0029E69C 38 60 00 00 */ li r3, 0 -lbl_802A2A40: -/* 802A2A40 0029E6A0 90 7F 00 18 */ stw r3, 0x18(r31) -/* 802A2A44 0029E6A4 80 9F 00 10 */ lwz r4, 0x10(r31) -/* 802A2A48 0029E6A8 80 1F 00 14 */ lwz r0, 0x14(r31) -/* 802A2A4C 0029E6AC 7C 04 02 14 */ add r0, r4, r0 -/* 802A2A50 0029E6B0 54 04 18 38 */ slwi r4, r0, 3 -/* 802A2A54 0029E6B4 4B FC 7B D5 */ bl DCInvalidateRange -/* 802A2A58 0029E6B8 3B 80 00 00 */ li r28, 0 -/* 802A2A5C 0029E6BC 3B A0 00 00 */ li r29, 0 -/* 802A2A60 0029E6C0 48 00 00 44 */ b lbl_802A2AA4 -lbl_802A2A64: -/* 802A2A64 0029E6C4 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802A2A68 0029E6C8 7C 63 E8 2E */ lwzx r3, r3, r29 -/* 802A2A6C 0029E6CC 2C 03 00 00 */ cmpwi r3, 0 -/* 802A2A70 0029E6D0 41 82 00 0C */ beq lbl_802A2A7C -/* 802A2A74 0029E6D4 3C 03 80 00 */ addis r0, r3, 0x8000 -/* 802A2A78 0029E6D8 48 00 00 08 */ b lbl_802A2A80 -lbl_802A2A7C: -/* 802A2A7C 0029E6DC 38 00 00 00 */ li r0, 0 -lbl_802A2A80: -/* 802A2A80 0029E6E0 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802A2A84 0029E6E4 7C 03 E9 2E */ stwx r0, r3, r29 -/* 802A2A88 0029E6E8 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 802A2A8C 0029E6EC 7C 83 EA 14 */ add r4, r3, r29 -/* 802A2A90 0029E6F0 7C 63 E8 2E */ lwzx r3, r3, r29 -/* 802A2A94 0029E6F4 80 84 00 04 */ lwz r4, 4(r4) -/* 802A2A98 0029E6F8 4B FC 7B 91 */ bl DCInvalidateRange -/* 802A2A9C 0029E6FC 3B 9C 00 01 */ addi r28, r28, 1 -/* 802A2AA0 0029E700 3B BD 00 08 */ addi r29, r29, 8 -lbl_802A2AA4: -/* 802A2AA4 0029E704 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 802A2AA8 0029E708 80 1F 00 14 */ lwz r0, 0x14(r31) -/* 802A2AAC 0029E70C 7C 03 02 14 */ add r0, r3, r0 -/* 802A2AB0 0029E710 7C 1C 00 40 */ cmplw r28, r0 -/* 802A2AB4 0029E714 41 80 FF B0 */ blt lbl_802A2A64 -/* 802A2AB8 0029E718 80 0D AE 00 */ lwz r0, lbl_806400C0-_SDA_BASE_(r13) -/* 802A2ABC 0029E71C 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2AC0 0029E720 41 82 00 2C */ beq lbl_802A2AEC -/* 802A2AC4 0029E724 80 0D AE 04 */ lwz r0, lbl_806400C4-_SDA_BASE_(r13) -/* 802A2AC8 0029E728 7C 00 F8 40 */ cmplw r0, r31 -/* 802A2ACC 0029E72C 40 82 00 20 */ bne lbl_802A2AEC -/* 802A2AD0 0029E730 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2AD4 0029E734 38 00 00 00 */ li r0, 0 -/* 802A2AD8 0029E738 90 0D AE 00 */ stw r0, lbl_806400C0-_SDA_BASE_(r13) -/* 802A2ADC 0029E73C 2C 03 00 01 */ cmpwi r3, 1 -/* 802A2AE0 0029E740 40 80 00 0C */ bge lbl_802A2AEC -/* 802A2AE4 0029E744 38 03 00 01 */ addi r0, r3, 1 -/* 802A2AE8 0029E748 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) -lbl_802A2AEC: -/* 802A2AEC 0029E74C 80 1F 00 20 */ lwz r0, 0x20(r31) -/* 802A2AF0 0029E750 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2AF4 0029E754 41 82 00 48 */ beq lbl_802A2B3C -/* 802A2AF8 0029E758 38 61 00 08 */ addi r3, r1, 8 -/* 802A2AFC 0029E75C 4B FC 85 95 */ bl OSClearContext -/* 802A2B00 0029E760 38 61 00 08 */ addi r3, r1, 8 -/* 802A2B04 0029E764 4B FC 83 65 */ bl OSSetCurrentContext -/* 802A2B08 0029E768 81 9F 00 20 */ lwz r12, 0x20(r31) -/* 802A2B0C 0029E76C 80 7F 00 04 */ lwz r3, 4(r31) -/* 802A2B10 0029E770 80 9F 00 24 */ lwz r4, 0x24(r31) -/* 802A2B14 0029E774 7D 89 03 A6 */ mtctr r12 -/* 802A2B18 0029E778 4E 80 04 21 */ bctrl -/* 802A2B1C 0029E77C 38 61 00 08 */ addi r3, r1, 8 -/* 802A2B20 0029E780 4B FC 85 71 */ bl OSClearContext -/* 802A2B24 0029E784 7F C3 F3 78 */ mr r3, r30 -/* 802A2B28 0029E788 4B FC 83 41 */ bl OSSetCurrentContext -/* 802A2B2C 0029E78C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A2B30 0029E790 7F E4 FB 78 */ mr r4, r31 -/* 802A2B34 0029E794 48 00 18 09 */ bl iosFree -/* 802A2B38 0029E798 48 00 00 0C */ b lbl_802A2B44 -lbl_802A2B3C: -/* 802A2B3C 0029E79C 38 7F 00 2C */ addi r3, r31, 0x2c -/* 802A2B40 0029E7A0 4B FC F9 21 */ bl OSWakeupThread -lbl_802A2B44: -/* 802A2B44 0029E7A4 38 60 00 01 */ li r3, 1 -/* 802A2B48 0029E7A8 4B FF FD 85 */ bl IPCReadReg -/* 802A2B4C 0029E7AC 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b -/* 802A2B50 0029E7B0 38 60 00 01 */ li r3, 1 -/* 802A2B54 0029E7B4 60 04 00 08 */ ori r4, r0, 8 -/* 802A2B58 0029E7B8 4B FF FD 85 */ bl IPCWriteReg -/* 802A2B5C 0029E7BC 80 9F 00 08 */ lwz r4, 8(r31) -/* 802A2B60 0029E7C0 7F E3 FB 78 */ mr r3, r31 -/* 802A2B64 0029E7C4 48 00 1B 0D */ bl IPCiProfReply -lbl_802A2B68: -/* 802A2B68 0029E7C8 80 01 02 E4 */ lwz r0, 0x2e4(r1) -/* 802A2B6C 0029E7CC 83 E1 02 DC */ lwz r31, 0x2dc(r1) -/* 802A2B70 0029E7D0 83 C1 02 D8 */ lwz r30, 0x2d8(r1) -/* 802A2B74 0029E7D4 83 A1 02 D4 */ lwz r29, 0x2d4(r1) -/* 802A2B78 0029E7D8 83 81 02 D0 */ lwz r28, 0x2d0(r1) -/* 802A2B7C 0029E7DC 7C 08 03 A6 */ mtlr r0 -/* 802A2B80 0029E7E0 38 21 02 E0 */ addi r1, r1, 0x2e0 -/* 802A2B84 0029E7E4 4E 80 00 20 */ blr - -IPCInterruptHandler: -/* 802A2B88 0029E7E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2B8C 0029E7EC 7C 08 02 A6 */ mflr r0 -/* 802A2B90 0029E7F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A2B94 0029E7F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A2B98 0029E7F8 7C 9F 23 78 */ mr r31, r4 -/* 802A2B9C 0029E7FC 93 C1 00 08 */ stw r30, 8(r1) -/* 802A2BA0 0029E800 7C 7E 1B 78 */ mr r30, r3 -/* 802A2BA4 0029E804 38 60 00 01 */ li r3, 1 -/* 802A2BA8 0029E808 4B FF FD 25 */ bl IPCReadReg -/* 802A2BAC 0029E80C 70 60 00 14 */ andi. r0, r3, 0x14 -/* 802A2BB0 0029E810 28 00 00 14 */ cmplwi r0, 0x14 -/* 802A2BB4 0029E814 40 82 00 10 */ bne lbl_802A2BC4 -/* 802A2BB8 0029E818 7F C3 F3 78 */ mr r3, r30 -/* 802A2BBC 0029E81C 7F E4 FB 78 */ mr r4, r31 -/* 802A2BC0 0029E820 4B FF FD 71 */ bl IpcReplyHandler -lbl_802A2BC4: -/* 802A2BC4 0029E824 38 60 00 01 */ li r3, 1 -/* 802A2BC8 0029E828 4B FF FD 05 */ bl IPCReadReg -/* 802A2BCC 0029E82C 70 60 00 22 */ andi. r0, r3, 0x22 -/* 802A2BD0 0029E830 28 00 00 22 */ cmplwi r0, 0x22 -/* 802A2BD4 0029E834 40 82 01 54 */ bne lbl_802A2D28 -/* 802A2BD8 0029E838 38 60 00 01 */ li r3, 1 -/* 802A2BDC 0029E83C 4B FF FC F1 */ bl IPCReadReg -/* 802A2BE0 0029E840 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b -/* 802A2BE4 0029E844 38 60 00 01 */ li r3, 1 -/* 802A2BE8 0029E848 60 04 00 02 */ ori r4, r0, 2 -/* 802A2BEC 0029E84C 4B FF FC F1 */ bl IPCWriteReg -/* 802A2BF0 0029E850 3C 00 40 00 */ lis r0, 0x4000 -/* 802A2BF4 0029E854 3C 60 CD 00 */ lis r3, 0xCD000030@ha -/* 802A2BF8 0029E858 90 03 00 30 */ stw r0, 0xCD000030@l(r3) -/* 802A2BFC 0029E85C 83 ED 89 88 */ lwz r31, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2C00 0029E860 2C 1F 00 01 */ cmpwi r31, 1 -/* 802A2C04 0029E864 40 80 00 10 */ bge lbl_802A2C14 -/* 802A2C08 0029E868 3B FF 00 01 */ addi r31, r31, 1 -/* 802A2C0C 0029E86C 93 ED 89 88 */ stw r31, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2C10 0029E870 48 00 1A 51 */ bl IPCiProfAck -lbl_802A2C14: -/* 802A2C14 0029E874 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A2C18 0029E878 40 81 01 10 */ ble lbl_802A2D28 -/* 802A2C1C 0029E87C 80 0D AE 00 */ lwz r0, lbl_806400C0-_SDA_BASE_(r13) -/* 802A2C20 0029E880 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2C24 0029E884 41 82 00 38 */ beq lbl_802A2C5C -/* 802A2C28 0029E888 80 6D AE 04 */ lwz r3, lbl_806400C4-_SDA_BASE_(r13) -/* 802A2C2C 0029E88C 38 00 00 00 */ li r0, 0 -/* 802A2C30 0029E890 90 03 00 04 */ stw r0, 4(r3) -/* 802A2C34 0029E894 80 6D AE 04 */ lwz r3, lbl_806400C4-_SDA_BASE_(r13) -/* 802A2C38 0029E898 90 0D AE 00 */ stw r0, lbl_806400C0-_SDA_BASE_(r13) -/* 802A2C3C 0029E89C 38 63 00 2C */ addi r3, r3, 0x2c -/* 802A2C40 0029E8A0 4B FC F8 21 */ bl OSWakeupThread -/* 802A2C44 0029E8A4 38 60 00 01 */ li r3, 1 -/* 802A2C48 0029E8A8 4B FF FC 85 */ bl IPCReadReg -/* 802A2C4C 0029E8AC 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b -/* 802A2C50 0029E8B0 38 60 00 01 */ li r3, 1 -/* 802A2C54 0029E8B4 60 04 00 08 */ ori r4, r0, 8 -/* 802A2C58 0029E8B8 4B FF FC 85 */ bl IPCWriteReg -lbl_802A2C5C: -/* 802A2C5C 0029E8BC 3C 80 80 53 */ lis r4, lbl_80536B60@ha -/* 802A2C60 0029E8C0 38 64 6B 60 */ addi r3, r4, lbl_80536B60@l -/* 802A2C64 0029E8C4 80 84 6B 60 */ lwz r4, 0x6b60(r4) -/* 802A2C68 0029E8C8 80 03 00 04 */ lwz r0, 4(r3) -/* 802A2C6C 0029E8CC 7C 00 20 40 */ cmplw r0, r4 -/* 802A2C70 0029E8D0 40 80 00 0C */ bge lbl_802A2C7C -/* 802A2C74 0029E8D4 7C 04 00 50 */ subf r0, r4, r0 -/* 802A2C78 0029E8D8 48 00 00 10 */ b lbl_802A2C88 -lbl_802A2C7C: -/* 802A2C7C 0029E8DC 7C 04 00 50 */ subf r0, r4, r0 -/* 802A2C80 0029E8E0 7C 00 00 34 */ cntlzw r0, r0 -/* 802A2C84 0029E8E4 54 00 D9 7E */ srwi r0, r0, 5 -lbl_802A2C88: -/* 802A2C88 0029E8E8 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2C8C 0029E8EC 40 82 00 9C */ bne lbl_802A2D28 -/* 802A2C90 0029E8F0 3C 60 80 53 */ lis r3, lbl_80536B60@ha -/* 802A2C94 0029E8F4 38 63 6B 60 */ addi r3, r3, lbl_80536B60@l -/* 802A2C98 0029E8F8 80 03 00 08 */ lwz r0, 8(r3) -/* 802A2C9C 0029E8FC 54 00 10 3A */ slwi r0, r0, 2 -/* 802A2CA0 0029E900 7C 63 02 14 */ add r3, r3, r0 -/* 802A2CA4 0029E904 80 83 00 10 */ lwz r4, 0x10(r3) -/* 802A2CA8 0029E908 2C 04 00 00 */ cmpwi r4, 0 -/* 802A2CAC 0029E90C 41 82 00 7C */ beq lbl_802A2D28 -/* 802A2CB0 0029E910 80 04 00 28 */ lwz r0, 0x28(r4) -/* 802A2CB4 0029E914 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2CB8 0029E918 41 82 00 1C */ beq lbl_802A2CD4 -/* 802A2CBC 0029E91C 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2CC0 0029E920 38 00 00 01 */ li r0, 1 -/* 802A2CC4 0029E924 90 0D AE 00 */ stw r0, lbl_806400C0-_SDA_BASE_(r13) -/* 802A2CC8 0029E928 38 03 FF FF */ addi r0, r3, -1 -/* 802A2CCC 0029E92C 90 8D AE 04 */ stw r4, lbl_806400C4-_SDA_BASE_(r13) -/* 802A2CD0 0029E930 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) -lbl_802A2CD4: -/* 802A2CD4 0029E934 3C 84 80 00 */ addis r4, r4, 0x8000 -/* 802A2CD8 0029E938 38 60 00 00 */ li r3, 0 -/* 802A2CDC 0029E93C 4B FF FC 01 */ bl IPCWriteReg -/* 802A2CE0 0029E940 3C E0 80 53 */ lis r7, lbl_80536B60@ha -/* 802A2CE4 0029E944 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2CE8 0029E948 38 C7 6B 60 */ addi r6, r7, lbl_80536B60@l -/* 802A2CEC 0029E94C 80 87 6B 60 */ lwz r4, 0x6b60(r7) -/* 802A2CF0 0029E950 80 A6 00 08 */ lwz r5, 8(r6) -/* 802A2CF4 0029E954 38 03 FF FF */ addi r0, r3, -1 -/* 802A2CF8 0029E958 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2CFC 0029E95C 38 84 00 01 */ addi r4, r4, 1 -/* 802A2D00 0029E960 38 05 00 01 */ addi r0, r5, 1 -/* 802A2D04 0029E964 38 60 00 01 */ li r3, 1 -/* 802A2D08 0029E968 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 802A2D0C 0029E96C 90 87 6B 60 */ stw r4, 0x6b60(r7) -/* 802A2D10 0029E970 90 06 00 08 */ stw r0, 8(r6) -/* 802A2D14 0029E974 4B FF FB B9 */ bl IPCReadReg -/* 802A2D18 0029E978 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b -/* 802A2D1C 0029E97C 38 60 00 01 */ li r3, 1 -/* 802A2D20 0029E980 60 04 00 01 */ ori r4, r0, 1 -/* 802A2D24 0029E984 4B FF FB B9 */ bl IPCWriteReg -lbl_802A2D28: -/* 802A2D28 0029E988 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A2D2C 0029E98C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A2D30 0029E990 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A2D34 0029E994 7C 08 03 A6 */ mtlr r0 -/* 802A2D38 0029E998 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2D3C 0029E99C 4E 80 00 20 */ blr - -.global IPCCltInit -IPCCltInit: -/* 802A2D40 0029E9A0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A2D44 0029E9A4 7C 08 02 A6 */ mflr r0 -/* 802A2D48 0029E9A8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A2D4C 0029E9AC 80 0D AE 08 */ lwz r0, lbl_806400C8-_SDA_BASE_(r13) -/* 802A2D50 0029E9B0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A2D54 0029E9B4 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2D58 0029E9B8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A2D5C 0029E9BC 3B C0 00 00 */ li r30, 0 -/* 802A2D60 0029E9C0 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A2D64 0029E9C4 40 82 00 70 */ bne lbl_802A2DD4 -/* 802A2D68 0029E9C8 38 00 00 01 */ li r0, 1 -/* 802A2D6C 0029E9CC 90 0D AE 08 */ stw r0, lbl_806400C8-_SDA_BASE_(r13) -/* 802A2D70 0029E9D0 4B FF FB 11 */ bl IPCInit -/* 802A2D74 0029E9D4 4B FF FB 81 */ bl IPCGetBufferLo -/* 802A2D78 0029E9D8 7C 7D 1B 78 */ mr r29, r3 -/* 802A2D7C 0029E9DC 3B E3 08 00 */ addi r31, r3, 0x800 -/* 802A2D80 0029E9E0 4B FF FB 6D */ bl IPCGetBufferHi -/* 802A2D84 0029E9E4 7C 1F 18 40 */ cmplw r31, r3 -/* 802A2D88 0029E9E8 40 81 00 0C */ ble lbl_802A2D94 -/* 802A2D8C 0029E9EC 3B C0 FF EA */ li r30, -22 -/* 802A2D90 0029E9F0 48 00 00 44 */ b lbl_802A2DD4 -lbl_802A2D94: -/* 802A2D94 0029E9F4 7F A3 EB 78 */ mr r3, r29 -/* 802A2D98 0029E9F8 38 80 08 00 */ li r4, 0x800 -/* 802A2D9C 0029E9FC 48 00 12 69 */ bl iosCreateHeap -/* 802A2DA0 0029EA00 90 6D 89 8C */ stw r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A2DA4 0029EA04 7F E3 FB 78 */ mr r3, r31 -/* 802A2DA8 0029EA08 4B FF FB 55 */ bl IPCSetBufferLo -/* 802A2DAC 0029EA0C 3C 80 80 2A */ lis r4, IPCInterruptHandler@ha -/* 802A2DB0 0029EA10 38 60 00 1B */ li r3, 0x1b -/* 802A2DB4 0029EA14 38 84 2B 88 */ addi r4, r4, IPCInterruptHandler@l -/* 802A2DB8 0029EA18 4B FC B9 F1 */ bl __OSSetInterruptHandler -/* 802A2DBC 0029EA1C 38 60 00 10 */ li r3, 0x10 -/* 802A2DC0 0029EA20 4B FC BD AD */ bl __OSUnmaskInterrupts -/* 802A2DC4 0029EA24 38 60 00 01 */ li r3, 1 -/* 802A2DC8 0029EA28 38 80 00 38 */ li r4, 0x38 -/* 802A2DCC 0029EA2C 4B FF FB 11 */ bl IPCWriteReg -/* 802A2DD0 0029EA30 48 00 17 59 */ bl IPCiProfInit -lbl_802A2DD4: -/* 802A2DD4 0029EA34 7F C3 F3 78 */ mr r3, r30 -/* 802A2DD8 0029EA38 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A2DDC 0029EA3C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A2DE0 0029EA40 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A2DE4 0029EA44 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A2DE8 0029EA48 7C 08 03 A6 */ mtlr r0 -/* 802A2DEC 0029EA4C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A2DF0 0029EA50 4E 80 00 20 */ blr - -.global __ios_Ipc2 -__ios_Ipc2: -/* 802A2DF4 0029EA54 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A2DF8 0029EA58 7C 08 02 A6 */ mflr r0 -/* 802A2DFC 0029EA5C 2C 03 00 00 */ cmpwi r3, 0 -/* 802A2E00 0029EA60 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A2E04 0029EA64 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A2E08 0029EA68 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A2E0C 0029EA6C 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A2E10 0029EA70 7C 9D 23 78 */ mr r29, r4 -/* 802A2E14 0029EA74 93 81 00 10 */ stw r28, 0x10(r1) -/* 802A2E18 0029EA78 7C 7C 1B 78 */ mr r28, r3 -/* 802A2E1C 0029EA7C 40 82 00 0C */ bne lbl_802A2E28 -/* 802A2E20 0029EA80 3B E0 FF FC */ li r31, -4 -/* 802A2E24 0029EA84 48 00 01 DC */ b lbl_802A3000 -lbl_802A2E28: -/* 802A2E28 0029EA88 2C 04 00 00 */ cmpwi r4, 0 -/* 802A2E2C 0029EA8C 40 82 00 0C */ bne lbl_802A2E38 -/* 802A2E30 0029EA90 38 63 00 2C */ addi r3, r3, 0x2c -/* 802A2E34 0029EA94 4B FC E4 B5 */ bl OSInitThreadQueue -lbl_802A2E38: -/* 802A2E38 0029EA98 7F 83 E3 78 */ mr r3, r28 -/* 802A2E3C 0029EA9C 38 80 00 20 */ li r4, 0x20 -/* 802A2E40 0029EAA0 4B FC 78 15 */ bl DCFlushRange -/* 802A2E44 0029EAA4 4B FC B9 19 */ bl OSDisableInterrupts -/* 802A2E48 0029EAA8 3C 80 80 53 */ lis r4, lbl_80536B60@ha -/* 802A2E4C 0029EAAC 7C 7E 1B 78 */ mr r30, r3 -/* 802A2E50 0029EAB0 38 64 6B 60 */ addi r3, r4, lbl_80536B60@l -/* 802A2E54 0029EAB4 80 84 6B 60 */ lwz r4, 0x6b60(r4) -/* 802A2E58 0029EAB8 80 03 00 04 */ lwz r0, 4(r3) -/* 802A2E5C 0029EABC 3B E0 00 00 */ li r31, 0 -/* 802A2E60 0029EAC0 7C 00 20 40 */ cmplw r0, r4 -/* 802A2E64 0029EAC4 40 80 00 0C */ bge lbl_802A2E70 -/* 802A2E68 0029EAC8 7C 04 00 50 */ subf r0, r4, r0 -/* 802A2E6C 0029EACC 48 00 00 20 */ b lbl_802A2E8C -lbl_802A2E70: -/* 802A2E70 0029EAD0 7C 84 00 50 */ subf r4, r4, r0 -/* 802A2E74 0029EAD4 38 60 00 10 */ li r3, 0x10 -/* 802A2E78 0029EAD8 38 04 FF F0 */ addi r0, r4, -16 -/* 802A2E7C 0029EADC 7C 83 1B 38 */ orc r3, r4, r3 -/* 802A2E80 0029EAE0 54 00 F8 7E */ srwi r0, r0, 1 -/* 802A2E84 0029EAE4 7C 00 18 50 */ subf r0, r0, r3 -/* 802A2E88 0029EAE8 54 00 0F FE */ srwi r0, r0, 0x1f -lbl_802A2E8C: -/* 802A2E8C 0029EAEC 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2E90 0029EAF0 41 82 00 0C */ beq lbl_802A2E9C -/* 802A2E94 0029EAF4 3B E0 FF F8 */ li r31, -8 -/* 802A2E98 0029EAF8 48 00 00 44 */ b lbl_802A2EDC -lbl_802A2E9C: -/* 802A2E9C 0029EAFC 3C C0 80 53 */ lis r6, lbl_80536B60@ha -/* 802A2EA0 0029EB00 7F 83 E3 78 */ mr r3, r28 -/* 802A2EA4 0029EB04 38 C6 6B 60 */ addi r6, r6, lbl_80536B60@l -/* 802A2EA8 0029EB08 80 06 00 0C */ lwz r0, 0xc(r6) -/* 802A2EAC 0029EB0C 54 00 10 3A */ slwi r0, r0, 2 -/* 802A2EB0 0029EB10 7C 86 02 14 */ add r4, r6, r0 -/* 802A2EB4 0029EB14 93 84 00 10 */ stw r28, 0x10(r4) -/* 802A2EB8 0029EB18 80 A6 00 0C */ lwz r5, 0xc(r6) -/* 802A2EBC 0029EB1C 80 86 00 04 */ lwz r4, 4(r6) -/* 802A2EC0 0029EB20 38 05 00 01 */ addi r0, r5, 1 -/* 802A2EC4 0029EB24 54 05 07 3E */ clrlwi r5, r0, 0x1c -/* 802A2EC8 0029EB28 38 04 00 01 */ addi r0, r4, 1 -/* 802A2ECC 0029EB2C 90 A6 00 0C */ stw r5, 0xc(r6) -/* 802A2ED0 0029EB30 90 06 00 04 */ stw r0, 4(r6) -/* 802A2ED4 0029EB34 80 9C 00 08 */ lwz r4, 8(r28) -/* 802A2ED8 0029EB38 48 00 17 09 */ bl IPCiProfQueueReq -lbl_802A2EDC: -/* 802A2EDC 0029EB3C 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A2EE0 0029EB40 41 82 00 24 */ beq lbl_802A2F04 -/* 802A2EE4 0029EB44 7F C3 F3 78 */ mr r3, r30 -/* 802A2EE8 0029EB48 4B FC B8 9D */ bl OSRestoreInterrupts -/* 802A2EEC 0029EB4C 2C 1D 00 00 */ cmpwi r29, 0 -/* 802A2EF0 0029EB50 41 82 01 10 */ beq lbl_802A3000 -/* 802A2EF4 0029EB54 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A2EF8 0029EB58 7F 84 E3 78 */ mr r4, r28 -/* 802A2EFC 0029EB5C 48 00 14 41 */ bl iosFree -/* 802A2F00 0029EB60 48 00 01 00 */ b lbl_802A3000 -lbl_802A2F04: -/* 802A2F04 0029EB64 80 0D 89 88 */ lwz r0, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2F08 0029EB68 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2F0C 0029EB6C 40 81 00 D0 */ ble lbl_802A2FDC -/* 802A2F10 0029EB70 3C 80 80 53 */ lis r4, lbl_80536B60@ha -/* 802A2F14 0029EB74 38 64 6B 60 */ addi r3, r4, lbl_80536B60@l -/* 802A2F18 0029EB78 80 84 6B 60 */ lwz r4, 0x6b60(r4) -/* 802A2F1C 0029EB7C 80 03 00 04 */ lwz r0, 4(r3) -/* 802A2F20 0029EB80 7C 00 20 40 */ cmplw r0, r4 -/* 802A2F24 0029EB84 40 80 00 0C */ bge lbl_802A2F30 -/* 802A2F28 0029EB88 7C 04 00 50 */ subf r0, r4, r0 -/* 802A2F2C 0029EB8C 48 00 00 10 */ b lbl_802A2F3C -lbl_802A2F30: -/* 802A2F30 0029EB90 7C 04 00 50 */ subf r0, r4, r0 -/* 802A2F34 0029EB94 7C 00 00 34 */ cntlzw r0, r0 -/* 802A2F38 0029EB98 54 00 D9 7E */ srwi r0, r0, 5 -lbl_802A2F3C: -/* 802A2F3C 0029EB9C 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2F40 0029EBA0 40 82 00 9C */ bne lbl_802A2FDC -/* 802A2F44 0029EBA4 3C 60 80 53 */ lis r3, lbl_80536B60@ha -/* 802A2F48 0029EBA8 38 63 6B 60 */ addi r3, r3, lbl_80536B60@l -/* 802A2F4C 0029EBAC 80 03 00 08 */ lwz r0, 8(r3) -/* 802A2F50 0029EBB0 54 00 10 3A */ slwi r0, r0, 2 -/* 802A2F54 0029EBB4 7C 63 02 14 */ add r3, r3, r0 -/* 802A2F58 0029EBB8 80 83 00 10 */ lwz r4, 0x10(r3) -/* 802A2F5C 0029EBBC 2C 04 00 00 */ cmpwi r4, 0 -/* 802A2F60 0029EBC0 41 82 00 7C */ beq lbl_802A2FDC -/* 802A2F64 0029EBC4 80 04 00 28 */ lwz r0, 0x28(r4) -/* 802A2F68 0029EBC8 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2F6C 0029EBCC 41 82 00 1C */ beq lbl_802A2F88 -/* 802A2F70 0029EBD0 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2F74 0029EBD4 38 00 00 01 */ li r0, 1 -/* 802A2F78 0029EBD8 90 0D AE 00 */ stw r0, lbl_806400C0-_SDA_BASE_(r13) -/* 802A2F7C 0029EBDC 38 03 FF FF */ addi r0, r3, -1 -/* 802A2F80 0029EBE0 90 8D AE 04 */ stw r4, lbl_806400C4-_SDA_BASE_(r13) -/* 802A2F84 0029EBE4 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) -lbl_802A2F88: -/* 802A2F88 0029EBE8 3C 84 80 00 */ addis r4, r4, 0x8000 -/* 802A2F8C 0029EBEC 38 60 00 00 */ li r3, 0 -/* 802A2F90 0029EBF0 4B FF F9 4D */ bl IPCWriteReg -/* 802A2F94 0029EBF4 3C E0 80 53 */ lis r7, lbl_80536B60@ha -/* 802A2F98 0029EBF8 80 6D 89 88 */ lwz r3, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2F9C 0029EBFC 38 C7 6B 60 */ addi r6, r7, lbl_80536B60@l -/* 802A2FA0 0029EC00 80 87 6B 60 */ lwz r4, 0x6b60(r7) -/* 802A2FA4 0029EC04 80 A6 00 08 */ lwz r5, 8(r6) -/* 802A2FA8 0029EC08 38 03 FF FF */ addi r0, r3, -1 -/* 802A2FAC 0029EC0C 90 0D 89 88 */ stw r0, lbl_8063DC48-_SDA_BASE_(r13) -/* 802A2FB0 0029EC10 38 84 00 01 */ addi r4, r4, 1 -/* 802A2FB4 0029EC14 38 05 00 01 */ addi r0, r5, 1 -/* 802A2FB8 0029EC18 38 60 00 01 */ li r3, 1 -/* 802A2FBC 0029EC1C 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 802A2FC0 0029EC20 90 87 6B 60 */ stw r4, 0x6b60(r7) -/* 802A2FC4 0029EC24 90 06 00 08 */ stw r0, 8(r6) -/* 802A2FC8 0029EC28 4B FF F9 05 */ bl IPCReadReg -/* 802A2FCC 0029EC2C 54 60 06 B6 */ rlwinm r0, r3, 0, 0x1a, 0x1b -/* 802A2FD0 0029EC30 38 60 00 01 */ li r3, 1 -/* 802A2FD4 0029EC34 60 04 00 01 */ ori r4, r0, 1 -/* 802A2FD8 0029EC38 4B FF F9 05 */ bl IPCWriteReg -lbl_802A2FDC: -/* 802A2FDC 0029EC3C 2C 1D 00 00 */ cmpwi r29, 0 -/* 802A2FE0 0029EC40 40 82 00 0C */ bne lbl_802A2FEC -/* 802A2FE4 0029EC44 38 7C 00 2C */ addi r3, r28, 0x2c -/* 802A2FE8 0029EC48 4B FC F3 8D */ bl OSSleepThread -lbl_802A2FEC: -/* 802A2FEC 0029EC4C 7F C3 F3 78 */ mr r3, r30 -/* 802A2FF0 0029EC50 4B FC B7 95 */ bl OSRestoreInterrupts -/* 802A2FF4 0029EC54 2C 1D 00 00 */ cmpwi r29, 0 -/* 802A2FF8 0029EC58 40 82 00 08 */ bne lbl_802A3000 -/* 802A2FFC 0029EC5C 83 FC 00 04 */ lwz r31, 4(r28) -lbl_802A3000: -/* 802A3000 0029EC60 2C 1C 00 00 */ cmpwi r28, 0 -/* 802A3004 0029EC64 41 82 00 18 */ beq lbl_802A301C -/* 802A3008 0029EC68 2C 1D 00 00 */ cmpwi r29, 0 -/* 802A300C 0029EC6C 40 82 00 10 */ bne lbl_802A301C -/* 802A3010 0029EC70 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3014 0029EC74 7F 84 E3 78 */ mr r4, r28 -/* 802A3018 0029EC78 48 00 13 25 */ bl iosFree -lbl_802A301C: -/* 802A301C 0029EC7C 7F E3 FB 78 */ mr r3, r31 -/* 802A3020 0029EC80 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A3024 0029EC84 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A3028 0029EC88 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A302C 0029EC8C 83 81 00 10 */ lwz r28, 0x10(r1) -/* 802A3030 0029EC90 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A3034 0029EC94 7C 08 03 A6 */ mtlr r0 -/* 802A3038 0029EC98 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A303C 0029EC9C 4E 80 00 20 */ blr - -.global IOS_OpenAsync -IOS_OpenAsync: -/* 802A3040 0029ECA0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A3044 0029ECA4 7C 08 02 A6 */ mflr r0 -/* 802A3048 0029ECA8 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A304C 0029ECAC 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3050 0029ECB0 4B F2 40 D9 */ bl _savegpr_27 -/* 802A3054 0029ECB4 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3058 0029ECB8 7C 7B 1B 78 */ mr r27, r3 -/* 802A305C 0029ECBC 7C 9C 23 78 */ mr r28, r4 -/* 802A3060 0029ECC0 7C BD 2B 78 */ mr r29, r5 -/* 802A3064 0029ECC4 7C DF 33 78 */ mr r31, r6 -/* 802A3068 0029ECC8 3B C0 00 00 */ li r30, 0 -/* 802A306C 0029ECCC 40 82 00 0C */ bne lbl_802A3078 -/* 802A3070 0029ECD0 3B C0 FF FC */ li r30, -4 -/* 802A3074 0029ECD4 48 00 00 4C */ b lbl_802A30C0 -lbl_802A3078: -/* 802A3078 0029ECD8 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A307C 0029ECDC 38 80 00 40 */ li r4, 0x40 -/* 802A3080 0029ECE0 38 A0 00 20 */ li r5, 0x20 -/* 802A3084 0029ECE4 48 00 12 B5 */ bl iosAllocAligned -/* 802A3088 0029ECE8 2C 03 00 00 */ cmpwi r3, 0 -/* 802A308C 0029ECEC 90 61 00 08 */ stw r3, 8(r1) -/* 802A3090 0029ECF0 40 82 00 0C */ bne lbl_802A309C -/* 802A3094 0029ECF4 3B C0 FF EA */ li r30, -22 -/* 802A3098 0029ECF8 48 00 00 28 */ b lbl_802A30C0 -lbl_802A309C: -/* 802A309C 0029ECFC 93 A3 00 20 */ stw r29, 0x20(r3) -/* 802A30A0 0029ED00 38 A0 00 00 */ li r5, 0 -/* 802A30A4 0029ED04 38 00 00 01 */ li r0, 1 -/* 802A30A8 0029ED08 80 81 00 08 */ lwz r4, 8(r1) -/* 802A30AC 0029ED0C 93 E4 00 24 */ stw r31, 0x24(r4) -/* 802A30B0 0029ED10 80 81 00 08 */ lwz r4, 8(r1) -/* 802A30B4 0029ED14 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A30B8 0029ED18 90 03 00 00 */ stw r0, 0(r3) -/* 802A30BC 0029ED1C 90 A3 00 08 */ stw r5, 8(r3) -lbl_802A30C0: -/* 802A30C0 0029ED20 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A30C4 0029ED24 40 82 00 78 */ bne lbl_802A313C -/* 802A30C8 0029ED28 83 E1 00 08 */ lwz r31, 8(r1) -/* 802A30CC 0029ED2C 3B C0 00 00 */ li r30, 0 -/* 802A30D0 0029ED30 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A30D4 0029ED34 40 82 00 0C */ bne lbl_802A30E0 -/* 802A30D8 0029ED38 3B C0 FF FC */ li r30, -4 -/* 802A30DC 0029ED3C 48 00 00 48 */ b lbl_802A3124 -lbl_802A30E0: -/* 802A30E0 0029ED40 7F 63 DB 78 */ mr r3, r27 -/* 802A30E4 0029ED44 38 80 00 40 */ li r4, 0x40 -/* 802A30E8 0029ED48 48 00 00 08 */ b lbl_802A30F0 -lbl_802A30EC: -/* 802A30EC 0029ED4C 38 63 00 01 */ addi r3, r3, 1 -lbl_802A30F0: -/* 802A30F0 0029ED50 88 03 00 00 */ lbz r0, 0(r3) -/* 802A30F4 0029ED54 2C 00 00 00 */ cmpwi r0, 0 -/* 802A30F8 0029ED58 41 82 00 10 */ beq lbl_802A3108 -/* 802A30FC 0029ED5C 2C 04 00 00 */ cmpwi r4, 0 -/* 802A3100 0029ED60 38 84 FF FF */ addi r4, r4, -1 -/* 802A3104 0029ED64 40 82 FF E8 */ bne lbl_802A30EC -lbl_802A3108: -/* 802A3108 0029ED68 7C 9B 18 50 */ subf r4, r27, r3 -/* 802A310C 0029ED6C 7F 63 DB 78 */ mr r3, r27 -/* 802A3110 0029ED70 38 84 00 01 */ addi r4, r4, 1 -/* 802A3114 0029ED74 4B FC 75 41 */ bl DCFlushRange -/* 802A3118 0029ED78 3C 1B 80 00 */ addis r0, r27, 0x8000 -/* 802A311C 0029ED7C 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802A3120 0029ED80 93 9F 00 10 */ stw r28, 0x10(r31) -lbl_802A3124: -/* 802A3124 0029ED84 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A3128 0029ED88 40 82 00 14 */ bne lbl_802A313C -/* 802A312C 0029ED8C 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3130 0029ED90 7F A4 EB 78 */ mr r4, r29 -/* 802A3134 0029ED94 4B FF FC C1 */ bl __ios_Ipc2 -/* 802A3138 0029ED98 7C 7E 1B 78 */ mr r30, r3 -lbl_802A313C: -/* 802A313C 0029ED9C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3140 0029EDA0 7F C3 F3 78 */ mr r3, r30 -/* 802A3144 0029EDA4 4B F2 40 31 */ bl _restgpr_27 -/* 802A3148 0029EDA8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A314C 0029EDAC 7C 08 03 A6 */ mtlr r0 -/* 802A3150 0029EDB0 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A3154 0029EDB4 4E 80 00 20 */ blr - -.global IOS_Open -IOS_Open: -/* 802A3158 0029EDB8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A315C 0029EDBC 7C 08 02 A6 */ mflr r0 -/* 802A3160 0029EDC0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A3164 0029EDC4 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3168 0029EDC8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A316C 0029EDCC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A3170 0029EDD0 3B C0 00 00 */ li r30, 0 -/* 802A3174 0029EDD4 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A3178 0029EDD8 7C 9D 23 78 */ mr r29, r4 -/* 802A317C 0029EDDC 93 81 00 10 */ stw r28, 0x10(r1) -/* 802A3180 0029EDE0 7C 7C 1B 78 */ mr r28, r3 -/* 802A3184 0029EDE4 40 82 00 0C */ bne lbl_802A3190 -/* 802A3188 0029EDE8 3B C0 FF FC */ li r30, -4 -/* 802A318C 0029EDEC 48 00 00 4C */ b lbl_802A31D8 -lbl_802A3190: -/* 802A3190 0029EDF0 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3194 0029EDF4 38 80 00 40 */ li r4, 0x40 -/* 802A3198 0029EDF8 38 A0 00 20 */ li r5, 0x20 -/* 802A319C 0029EDFC 48 00 11 9D */ bl iosAllocAligned -/* 802A31A0 0029EE00 2C 03 00 00 */ cmpwi r3, 0 -/* 802A31A4 0029EE04 90 61 00 08 */ stw r3, 8(r1) -/* 802A31A8 0029EE08 40 82 00 0C */ bne lbl_802A31B4 -/* 802A31AC 0029EE0C 3B C0 FF EA */ li r30, -22 -/* 802A31B0 0029EE10 48 00 00 28 */ b lbl_802A31D8 -lbl_802A31B4: -/* 802A31B4 0029EE14 38 A0 00 00 */ li r5, 0 -/* 802A31B8 0029EE18 38 00 00 01 */ li r0, 1 -/* 802A31BC 0029EE1C 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802A31C0 0029EE20 80 81 00 08 */ lwz r4, 8(r1) -/* 802A31C4 0029EE24 90 A4 00 24 */ stw r5, 0x24(r4) -/* 802A31C8 0029EE28 80 81 00 08 */ lwz r4, 8(r1) -/* 802A31CC 0029EE2C 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A31D0 0029EE30 90 03 00 00 */ stw r0, 0(r3) -/* 802A31D4 0029EE34 90 A3 00 08 */ stw r5, 8(r3) -lbl_802A31D8: -/* 802A31D8 0029EE38 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A31DC 0029EE3C 40 82 00 78 */ bne lbl_802A3254 -/* 802A31E0 0029EE40 83 E1 00 08 */ lwz r31, 8(r1) -/* 802A31E4 0029EE44 3B C0 00 00 */ li r30, 0 -/* 802A31E8 0029EE48 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A31EC 0029EE4C 40 82 00 0C */ bne lbl_802A31F8 -/* 802A31F0 0029EE50 3B C0 FF FC */ li r30, -4 -/* 802A31F4 0029EE54 48 00 00 48 */ b lbl_802A323C -lbl_802A31F8: -/* 802A31F8 0029EE58 7F 83 E3 78 */ mr r3, r28 -/* 802A31FC 0029EE5C 38 80 00 40 */ li r4, 0x40 -/* 802A3200 0029EE60 48 00 00 08 */ b lbl_802A3208 -lbl_802A3204: -/* 802A3204 0029EE64 38 63 00 01 */ addi r3, r3, 1 -lbl_802A3208: -/* 802A3208 0029EE68 88 03 00 00 */ lbz r0, 0(r3) -/* 802A320C 0029EE6C 2C 00 00 00 */ cmpwi r0, 0 -/* 802A3210 0029EE70 41 82 00 10 */ beq lbl_802A3220 -/* 802A3214 0029EE74 2C 04 00 00 */ cmpwi r4, 0 -/* 802A3218 0029EE78 38 84 FF FF */ addi r4, r4, -1 -/* 802A321C 0029EE7C 40 82 FF E8 */ bne lbl_802A3204 -lbl_802A3220: -/* 802A3220 0029EE80 7C 9C 18 50 */ subf r4, r28, r3 -/* 802A3224 0029EE84 7F 83 E3 78 */ mr r3, r28 -/* 802A3228 0029EE88 38 84 00 01 */ addi r4, r4, 1 -/* 802A322C 0029EE8C 4B FC 74 29 */ bl DCFlushRange -/* 802A3230 0029EE90 3C 1C 80 00 */ addis r0, r28, 0x8000 -/* 802A3234 0029EE94 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802A3238 0029EE98 93 BF 00 10 */ stw r29, 0x10(r31) -lbl_802A323C: -/* 802A323C 0029EE9C 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A3240 0029EEA0 40 82 00 14 */ bne lbl_802A3254 -/* 802A3244 0029EEA4 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3248 0029EEA8 38 80 00 00 */ li r4, 0 -/* 802A324C 0029EEAC 4B FF FB A9 */ bl __ios_Ipc2 -/* 802A3250 0029EEB0 7C 7E 1B 78 */ mr r30, r3 -lbl_802A3254: -/* 802A3254 0029EEB4 7F C3 F3 78 */ mr r3, r30 -/* 802A3258 0029EEB8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A325C 0029EEBC 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A3260 0029EEC0 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A3264 0029EEC4 83 81 00 10 */ lwz r28, 0x10(r1) -/* 802A3268 0029EEC8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A326C 0029EECC 7C 08 03 A6 */ mtlr r0 -/* 802A3270 0029EED0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A3274 0029EED4 4E 80 00 20 */ blr - -.global IOS_CloseAsync -IOS_CloseAsync: -/* 802A3278 0029EED8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A327C 0029EEDC 7C 08 02 A6 */ mflr r0 -/* 802A3280 0029EEE0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A3284 0029EEE4 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3288 0029EEE8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A328C 0029EEEC 3B E0 00 00 */ li r31, 0 -/* 802A3290 0029EEF0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A3294 0029EEF4 7C BE 2B 78 */ mr r30, r5 -/* 802A3298 0029EEF8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A329C 0029EEFC 7C 9D 23 78 */ mr r29, r4 -/* 802A32A0 0029EF00 93 81 00 10 */ stw r28, 0x10(r1) -/* 802A32A4 0029EF04 7C 7C 1B 78 */ mr r28, r3 -/* 802A32A8 0029EF08 40 82 00 0C */ bne lbl_802A32B4 -/* 802A32AC 0029EF0C 3B E0 FF FC */ li r31, -4 -/* 802A32B0 0029EF10 48 00 00 4C */ b lbl_802A32FC -lbl_802A32B4: -/* 802A32B4 0029EF14 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A32B8 0029EF18 38 80 00 40 */ li r4, 0x40 -/* 802A32BC 0029EF1C 38 A0 00 20 */ li r5, 0x20 -/* 802A32C0 0029EF20 48 00 10 79 */ bl iosAllocAligned -/* 802A32C4 0029EF24 2C 03 00 00 */ cmpwi r3, 0 -/* 802A32C8 0029EF28 90 61 00 08 */ stw r3, 8(r1) -/* 802A32CC 0029EF2C 40 82 00 0C */ bne lbl_802A32D8 -/* 802A32D0 0029EF30 3B E0 FF EA */ li r31, -22 -/* 802A32D4 0029EF34 48 00 00 28 */ b lbl_802A32FC -lbl_802A32D8: -/* 802A32D8 0029EF38 93 A3 00 20 */ stw r29, 0x20(r3) -/* 802A32DC 0029EF3C 38 A0 00 00 */ li r5, 0 -/* 802A32E0 0029EF40 38 00 00 02 */ li r0, 2 -/* 802A32E4 0029EF44 80 81 00 08 */ lwz r4, 8(r1) -/* 802A32E8 0029EF48 93 C4 00 24 */ stw r30, 0x24(r4) -/* 802A32EC 0029EF4C 80 81 00 08 */ lwz r4, 8(r1) -/* 802A32F0 0029EF50 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A32F4 0029EF54 90 03 00 00 */ stw r0, 0(r3) -/* 802A32F8 0029EF58 93 83 00 08 */ stw r28, 8(r3) -lbl_802A32FC: -/* 802A32FC 0029EF5C 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3300 0029EF60 40 82 00 14 */ bne lbl_802A3314 -/* 802A3304 0029EF64 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3308 0029EF68 7F A4 EB 78 */ mr r4, r29 -/* 802A330C 0029EF6C 4B FF FA E9 */ bl __ios_Ipc2 -/* 802A3310 0029EF70 7C 7F 1B 78 */ mr r31, r3 -lbl_802A3314: -/* 802A3314 0029EF74 7F E3 FB 78 */ mr r3, r31 -/* 802A3318 0029EF78 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A331C 0029EF7C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A3320 0029EF80 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A3324 0029EF84 83 81 00 10 */ lwz r28, 0x10(r1) -/* 802A3328 0029EF88 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A332C 0029EF8C 7C 08 03 A6 */ mtlr r0 -/* 802A3330 0029EF90 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A3334 0029EF94 4E 80 00 20 */ blr - -.global IOS_Close -IOS_Close: -/* 802A3338 0029EF98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A333C 0029EF9C 7C 08 02 A6 */ mflr r0 -/* 802A3340 0029EFA0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A3344 0029EFA4 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3348 0029EFA8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A334C 0029EFAC 3B E0 00 00 */ li r31, 0 -/* 802A3350 0029EFB0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A3354 0029EFB4 7C 7E 1B 78 */ mr r30, r3 -/* 802A3358 0029EFB8 40 82 00 0C */ bne lbl_802A3364 -/* 802A335C 0029EFBC 3B E0 FF FC */ li r31, -4 -/* 802A3360 0029EFC0 48 00 00 4C */ b lbl_802A33AC -lbl_802A3364: -/* 802A3364 0029EFC4 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3368 0029EFC8 38 80 00 40 */ li r4, 0x40 -/* 802A336C 0029EFCC 38 A0 00 20 */ li r5, 0x20 -/* 802A3370 0029EFD0 48 00 0F C9 */ bl iosAllocAligned -/* 802A3374 0029EFD4 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3378 0029EFD8 90 61 00 08 */ stw r3, 8(r1) -/* 802A337C 0029EFDC 40 82 00 0C */ bne lbl_802A3388 -/* 802A3380 0029EFE0 3B E0 FF EA */ li r31, -22 -/* 802A3384 0029EFE4 48 00 00 28 */ b lbl_802A33AC -lbl_802A3388: -/* 802A3388 0029EFE8 38 A0 00 00 */ li r5, 0 -/* 802A338C 0029EFEC 38 00 00 02 */ li r0, 2 -/* 802A3390 0029EFF0 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802A3394 0029EFF4 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3398 0029EFF8 90 A4 00 24 */ stw r5, 0x24(r4) -/* 802A339C 0029EFFC 80 81 00 08 */ lwz r4, 8(r1) -/* 802A33A0 0029F000 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A33A4 0029F004 90 03 00 00 */ stw r0, 0(r3) -/* 802A33A8 0029F008 93 C3 00 08 */ stw r30, 8(r3) -lbl_802A33AC: -/* 802A33AC 0029F00C 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A33B0 0029F010 40 82 00 14 */ bne lbl_802A33C4 -/* 802A33B4 0029F014 80 61 00 08 */ lwz r3, 8(r1) -/* 802A33B8 0029F018 38 80 00 00 */ li r4, 0 -/* 802A33BC 0029F01C 4B FF FA 39 */ bl __ios_Ipc2 -/* 802A33C0 0029F020 7C 7F 1B 78 */ mr r31, r3 -lbl_802A33C4: -/* 802A33C4 0029F024 7F E3 FB 78 */ mr r3, r31 -/* 802A33C8 0029F028 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A33CC 0029F02C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A33D0 0029F030 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A33D4 0029F034 7C 08 03 A6 */ mtlr r0 -/* 802A33D8 0029F038 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A33DC 0029F03C 4E 80 00 20 */ blr - -.global IOS_ReadAsync -IOS_ReadAsync: -/* 802A33E0 0029F040 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A33E4 0029F044 7C 08 02 A6 */ mflr r0 -/* 802A33E8 0029F048 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A33EC 0029F04C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A33F0 0029F050 4B F2 3D 35 */ bl _savegpr_26 -/* 802A33F4 0029F054 34 01 00 08 */ addic. r0, r1, 8 -/* 802A33F8 0029F058 7C 7A 1B 78 */ mr r26, r3 -/* 802A33FC 0029F05C 7C 9B 23 78 */ mr r27, r4 -/* 802A3400 0029F060 7C BC 2B 78 */ mr r28, r5 -/* 802A3404 0029F064 7C DD 33 78 */ mr r29, r6 -/* 802A3408 0029F068 7C FF 3B 78 */ mr r31, r7 -/* 802A340C 0029F06C 3B C0 00 00 */ li r30, 0 -/* 802A3410 0029F070 40 82 00 0C */ bne lbl_802A341C -/* 802A3414 0029F074 3B C0 FF FC */ li r30, -4 -/* 802A3418 0029F078 48 00 00 4C */ b lbl_802A3464 -lbl_802A341C: -/* 802A341C 0029F07C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3420 0029F080 38 80 00 40 */ li r4, 0x40 -/* 802A3424 0029F084 38 A0 00 20 */ li r5, 0x20 -/* 802A3428 0029F088 48 00 0F 11 */ bl iosAllocAligned -/* 802A342C 0029F08C 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3430 0029F090 90 61 00 08 */ stw r3, 8(r1) -/* 802A3434 0029F094 40 82 00 0C */ bne lbl_802A3440 -/* 802A3438 0029F098 3B C0 FF EA */ li r30, -22 -/* 802A343C 0029F09C 48 00 00 28 */ b lbl_802A3464 -lbl_802A3440: -/* 802A3440 0029F0A0 93 A3 00 20 */ stw r29, 0x20(r3) -/* 802A3444 0029F0A4 38 A0 00 00 */ li r5, 0 -/* 802A3448 0029F0A8 38 00 00 03 */ li r0, 3 -/* 802A344C 0029F0AC 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3450 0029F0B0 93 E4 00 24 */ stw r31, 0x24(r4) -/* 802A3454 0029F0B4 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3458 0029F0B8 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A345C 0029F0BC 90 03 00 00 */ stw r0, 0(r3) -/* 802A3460 0029F0C0 93 43 00 08 */ stw r26, 8(r3) -lbl_802A3464: -/* 802A3464 0029F0C4 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A3468 0029F0C8 40 82 00 5C */ bne lbl_802A34C4 -/* 802A346C 0029F0CC 83 E1 00 08 */ lwz r31, 8(r1) -/* 802A3470 0029F0D0 3B C0 00 00 */ li r30, 0 -/* 802A3474 0029F0D4 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3478 0029F0D8 40 82 00 0C */ bne lbl_802A3484 -/* 802A347C 0029F0DC 3B C0 FF FC */ li r30, -4 -/* 802A3480 0029F0E0 48 00 00 2C */ b lbl_802A34AC -lbl_802A3484: -/* 802A3484 0029F0E4 7F 63 DB 78 */ mr r3, r27 -/* 802A3488 0029F0E8 7F 84 E3 78 */ mr r4, r28 -/* 802A348C 0029F0EC 4B FC 71 9D */ bl DCInvalidateRange -/* 802A3490 0029F0F0 2C 1B 00 00 */ cmpwi r27, 0 -/* 802A3494 0029F0F4 41 82 00 0C */ beq lbl_802A34A0 -/* 802A3498 0029F0F8 3C 1B 80 00 */ addis r0, r27, 0x8000 -/* 802A349C 0029F0FC 48 00 00 08 */ b lbl_802A34A4 -lbl_802A34A0: -/* 802A34A0 0029F100 38 00 00 00 */ li r0, 0 -lbl_802A34A4: -/* 802A34A4 0029F104 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802A34A8 0029F108 93 9F 00 10 */ stw r28, 0x10(r31) -lbl_802A34AC: -/* 802A34AC 0029F10C 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A34B0 0029F110 40 82 00 14 */ bne lbl_802A34C4 -/* 802A34B4 0029F114 80 61 00 08 */ lwz r3, 8(r1) -/* 802A34B8 0029F118 7F A4 EB 78 */ mr r4, r29 -/* 802A34BC 0029F11C 4B FF F9 39 */ bl __ios_Ipc2 -/* 802A34C0 0029F120 7C 7E 1B 78 */ mr r30, r3 -lbl_802A34C4: -/* 802A34C4 0029F124 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A34C8 0029F128 7F C3 F3 78 */ mr r3, r30 -/* 802A34CC 0029F12C 4B F2 3C A5 */ bl _restgpr_26 -/* 802A34D0 0029F130 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A34D4 0029F134 7C 08 03 A6 */ mtlr r0 -/* 802A34D8 0029F138 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A34DC 0029F13C 4E 80 00 20 */ blr - -.global IOS_Read -IOS_Read: -/* 802A34E0 0029F140 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A34E4 0029F144 7C 08 02 A6 */ mflr r0 -/* 802A34E8 0029F148 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A34EC 0029F14C 34 01 00 08 */ addic. r0, r1, 8 -/* 802A34F0 0029F150 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A34F4 0029F154 7C 7F 1B 78 */ mr r31, r3 -/* 802A34F8 0029F158 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A34FC 0029F15C 3B C0 00 00 */ li r30, 0 -/* 802A3500 0029F160 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A3504 0029F164 7C BD 2B 78 */ mr r29, r5 -/* 802A3508 0029F168 93 81 00 10 */ stw r28, 0x10(r1) -/* 802A350C 0029F16C 7C 9C 23 78 */ mr r28, r4 -/* 802A3510 0029F170 40 82 00 0C */ bne lbl_802A351C -/* 802A3514 0029F174 3B C0 FF FC */ li r30, -4 -/* 802A3518 0029F178 48 00 00 4C */ b lbl_802A3564 -lbl_802A351C: -/* 802A351C 0029F17C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3520 0029F180 38 80 00 40 */ li r4, 0x40 -/* 802A3524 0029F184 38 A0 00 20 */ li r5, 0x20 -/* 802A3528 0029F188 48 00 0E 11 */ bl iosAllocAligned -/* 802A352C 0029F18C 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3530 0029F190 90 61 00 08 */ stw r3, 8(r1) -/* 802A3534 0029F194 40 82 00 0C */ bne lbl_802A3540 -/* 802A3538 0029F198 3B C0 FF EA */ li r30, -22 -/* 802A353C 0029F19C 48 00 00 28 */ b lbl_802A3564 -lbl_802A3540: -/* 802A3540 0029F1A0 38 A0 00 00 */ li r5, 0 -/* 802A3544 0029F1A4 38 00 00 03 */ li r0, 3 -/* 802A3548 0029F1A8 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802A354C 0029F1AC 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3550 0029F1B0 90 A4 00 24 */ stw r5, 0x24(r4) -/* 802A3554 0029F1B4 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3558 0029F1B8 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A355C 0029F1BC 90 03 00 00 */ stw r0, 0(r3) -/* 802A3560 0029F1C0 93 E3 00 08 */ stw r31, 8(r3) -lbl_802A3564: -/* 802A3564 0029F1C4 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A3568 0029F1C8 40 82 00 5C */ bne lbl_802A35C4 -/* 802A356C 0029F1CC 83 E1 00 08 */ lwz r31, 8(r1) -/* 802A3570 0029F1D0 3B C0 00 00 */ li r30, 0 -/* 802A3574 0029F1D4 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3578 0029F1D8 40 82 00 0C */ bne lbl_802A3584 -/* 802A357C 0029F1DC 3B C0 FF FC */ li r30, -4 -/* 802A3580 0029F1E0 48 00 00 2C */ b lbl_802A35AC -lbl_802A3584: -/* 802A3584 0029F1E4 7F 83 E3 78 */ mr r3, r28 -/* 802A3588 0029F1E8 7F A4 EB 78 */ mr r4, r29 -/* 802A358C 0029F1EC 4B FC 70 9D */ bl DCInvalidateRange -/* 802A3590 0029F1F0 2C 1C 00 00 */ cmpwi r28, 0 -/* 802A3594 0029F1F4 41 82 00 0C */ beq lbl_802A35A0 -/* 802A3598 0029F1F8 3C 1C 80 00 */ addis r0, r28, 0x8000 -/* 802A359C 0029F1FC 48 00 00 08 */ b lbl_802A35A4 -lbl_802A35A0: -/* 802A35A0 0029F200 38 00 00 00 */ li r0, 0 -lbl_802A35A4: -/* 802A35A4 0029F204 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802A35A8 0029F208 93 BF 00 10 */ stw r29, 0x10(r31) -lbl_802A35AC: -/* 802A35AC 0029F20C 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A35B0 0029F210 40 82 00 14 */ bne lbl_802A35C4 -/* 802A35B4 0029F214 80 61 00 08 */ lwz r3, 8(r1) -/* 802A35B8 0029F218 38 80 00 00 */ li r4, 0 -/* 802A35BC 0029F21C 4B FF F8 39 */ bl __ios_Ipc2 -/* 802A35C0 0029F220 7C 7E 1B 78 */ mr r30, r3 -lbl_802A35C4: -/* 802A35C4 0029F224 7F C3 F3 78 */ mr r3, r30 -/* 802A35C8 0029F228 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A35CC 0029F22C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A35D0 0029F230 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A35D4 0029F234 83 81 00 10 */ lwz r28, 0x10(r1) -/* 802A35D8 0029F238 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A35DC 0029F23C 7C 08 03 A6 */ mtlr r0 -/* 802A35E0 0029F240 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A35E4 0029F244 4E 80 00 20 */ blr - -.global IOS_WriteAsync -IOS_WriteAsync: -/* 802A35E8 0029F248 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A35EC 0029F24C 7C 08 02 A6 */ mflr r0 -/* 802A35F0 0029F250 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A35F4 0029F254 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A35F8 0029F258 4B F2 3B 2D */ bl _savegpr_26 -/* 802A35FC 0029F25C 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3600 0029F260 7C 7A 1B 78 */ mr r26, r3 -/* 802A3604 0029F264 7C 9B 23 78 */ mr r27, r4 -/* 802A3608 0029F268 7C BC 2B 78 */ mr r28, r5 -/* 802A360C 0029F26C 7C DD 33 78 */ mr r29, r6 -/* 802A3610 0029F270 7C FE 3B 78 */ mr r30, r7 -/* 802A3614 0029F274 3B E0 00 00 */ li r31, 0 -/* 802A3618 0029F278 40 82 00 0C */ bne lbl_802A3624 -/* 802A361C 0029F27C 3B E0 FF FC */ li r31, -4 -/* 802A3620 0029F280 48 00 00 4C */ b lbl_802A366C -lbl_802A3624: -/* 802A3624 0029F284 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3628 0029F288 38 80 00 40 */ li r4, 0x40 -/* 802A362C 0029F28C 38 A0 00 20 */ li r5, 0x20 -/* 802A3630 0029F290 48 00 0D 09 */ bl iosAllocAligned -/* 802A3634 0029F294 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3638 0029F298 90 61 00 08 */ stw r3, 8(r1) -/* 802A363C 0029F29C 40 82 00 0C */ bne lbl_802A3648 -/* 802A3640 0029F2A0 3B E0 FF EA */ li r31, -22 -/* 802A3644 0029F2A4 48 00 00 28 */ b lbl_802A366C -lbl_802A3648: -/* 802A3648 0029F2A8 93 A3 00 20 */ stw r29, 0x20(r3) -/* 802A364C 0029F2AC 38 A0 00 00 */ li r5, 0 -/* 802A3650 0029F2B0 38 00 00 04 */ li r0, 4 -/* 802A3654 0029F2B4 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3658 0029F2B8 93 C4 00 24 */ stw r30, 0x24(r4) -/* 802A365C 0029F2BC 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3660 0029F2C0 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A3664 0029F2C4 90 03 00 00 */ stw r0, 0(r3) -/* 802A3668 0029F2C8 93 43 00 08 */ stw r26, 8(r3) -lbl_802A366C: -/* 802A366C 0029F2CC 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3670 0029F2D0 40 82 00 5C */ bne lbl_802A36CC -/* 802A3674 0029F2D4 80 A1 00 08 */ lwz r5, 8(r1) -/* 802A3678 0029F2D8 3B E0 00 00 */ li r31, 0 -/* 802A367C 0029F2DC 2C 05 00 00 */ cmpwi r5, 0 -/* 802A3680 0029F2E0 40 82 00 0C */ bne lbl_802A368C -/* 802A3684 0029F2E4 3B E0 FF FC */ li r31, -4 -/* 802A3688 0029F2E8 48 00 00 2C */ b lbl_802A36B4 -lbl_802A368C: -/* 802A368C 0029F2EC 2C 1B 00 00 */ cmpwi r27, 0 -/* 802A3690 0029F2F0 41 82 00 0C */ beq lbl_802A369C -/* 802A3694 0029F2F4 3C 1B 80 00 */ addis r0, r27, 0x8000 -/* 802A3698 0029F2F8 48 00 00 08 */ b lbl_802A36A0 -lbl_802A369C: -/* 802A369C 0029F2FC 38 00 00 00 */ li r0, 0 -lbl_802A36A0: -/* 802A36A0 0029F300 90 05 00 0C */ stw r0, 0xc(r5) -/* 802A36A4 0029F304 7F 63 DB 78 */ mr r3, r27 -/* 802A36A8 0029F308 7F 84 E3 78 */ mr r4, r28 -/* 802A36AC 0029F30C 93 85 00 10 */ stw r28, 0x10(r5) -/* 802A36B0 0029F310 4B FC 6F A5 */ bl DCFlushRange -lbl_802A36B4: -/* 802A36B4 0029F314 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A36B8 0029F318 40 82 00 14 */ bne lbl_802A36CC -/* 802A36BC 0029F31C 80 61 00 08 */ lwz r3, 8(r1) -/* 802A36C0 0029F320 7F A4 EB 78 */ mr r4, r29 -/* 802A36C4 0029F324 4B FF F7 31 */ bl __ios_Ipc2 -/* 802A36C8 0029F328 7C 7F 1B 78 */ mr r31, r3 -lbl_802A36CC: -/* 802A36CC 0029F32C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A36D0 0029F330 7F E3 FB 78 */ mr r3, r31 -/* 802A36D4 0029F334 4B F2 3A 9D */ bl _restgpr_26 -/* 802A36D8 0029F338 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A36DC 0029F33C 7C 08 03 A6 */ mtlr r0 -/* 802A36E0 0029F340 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A36E4 0029F344 4E 80 00 20 */ blr - -.global IOS_Write -IOS_Write: -/* 802A36E8 0029F348 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A36EC 0029F34C 7C 08 02 A6 */ mflr r0 -/* 802A36F0 0029F350 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A36F4 0029F354 34 01 00 08 */ addic. r0, r1, 8 -/* 802A36F8 0029F358 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A36FC 0029F35C 3B E0 00 00 */ li r31, 0 -/* 802A3700 0029F360 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A3704 0029F364 7C BE 2B 78 */ mr r30, r5 -/* 802A3708 0029F368 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A370C 0029F36C 7C 9D 23 78 */ mr r29, r4 -/* 802A3710 0029F370 93 81 00 10 */ stw r28, 0x10(r1) -/* 802A3714 0029F374 7C 7C 1B 78 */ mr r28, r3 -/* 802A3718 0029F378 40 82 00 0C */ bne lbl_802A3724 -/* 802A371C 0029F37C 3B E0 FF FC */ li r31, -4 -/* 802A3720 0029F380 48 00 00 4C */ b lbl_802A376C -lbl_802A3724: -/* 802A3724 0029F384 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3728 0029F388 38 80 00 40 */ li r4, 0x40 -/* 802A372C 0029F38C 38 A0 00 20 */ li r5, 0x20 -/* 802A3730 0029F390 48 00 0C 09 */ bl iosAllocAligned -/* 802A3734 0029F394 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3738 0029F398 90 61 00 08 */ stw r3, 8(r1) -/* 802A373C 0029F39C 40 82 00 0C */ bne lbl_802A3748 -/* 802A3740 0029F3A0 3B E0 FF EA */ li r31, -22 -/* 802A3744 0029F3A4 48 00 00 28 */ b lbl_802A376C -lbl_802A3748: -/* 802A3748 0029F3A8 38 A0 00 00 */ li r5, 0 -/* 802A374C 0029F3AC 38 00 00 04 */ li r0, 4 -/* 802A3750 0029F3B0 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802A3754 0029F3B4 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3758 0029F3B8 90 A4 00 24 */ stw r5, 0x24(r4) -/* 802A375C 0029F3BC 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3760 0029F3C0 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A3764 0029F3C4 90 03 00 00 */ stw r0, 0(r3) -/* 802A3768 0029F3C8 93 83 00 08 */ stw r28, 8(r3) -lbl_802A376C: -/* 802A376C 0029F3CC 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3770 0029F3D0 40 82 00 5C */ bne lbl_802A37CC -/* 802A3774 0029F3D4 80 A1 00 08 */ lwz r5, 8(r1) -/* 802A3778 0029F3D8 3B E0 00 00 */ li r31, 0 -/* 802A377C 0029F3DC 2C 05 00 00 */ cmpwi r5, 0 -/* 802A3780 0029F3E0 40 82 00 0C */ bne lbl_802A378C -/* 802A3784 0029F3E4 3B E0 FF FC */ li r31, -4 -/* 802A3788 0029F3E8 48 00 00 2C */ b lbl_802A37B4 -lbl_802A378C: -/* 802A378C 0029F3EC 2C 1D 00 00 */ cmpwi r29, 0 -/* 802A3790 0029F3F0 41 82 00 0C */ beq lbl_802A379C -/* 802A3794 0029F3F4 3C 1D 80 00 */ addis r0, r29, 0x8000 -/* 802A3798 0029F3F8 48 00 00 08 */ b lbl_802A37A0 -lbl_802A379C: -/* 802A379C 0029F3FC 38 00 00 00 */ li r0, 0 -lbl_802A37A0: -/* 802A37A0 0029F400 90 05 00 0C */ stw r0, 0xc(r5) -/* 802A37A4 0029F404 7F A3 EB 78 */ mr r3, r29 -/* 802A37A8 0029F408 7F C4 F3 78 */ mr r4, r30 -/* 802A37AC 0029F40C 93 C5 00 10 */ stw r30, 0x10(r5) -/* 802A37B0 0029F410 4B FC 6E A5 */ bl DCFlushRange -lbl_802A37B4: -/* 802A37B4 0029F414 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A37B8 0029F418 40 82 00 14 */ bne lbl_802A37CC -/* 802A37BC 0029F41C 80 61 00 08 */ lwz r3, 8(r1) -/* 802A37C0 0029F420 38 80 00 00 */ li r4, 0 -/* 802A37C4 0029F424 4B FF F6 31 */ bl __ios_Ipc2 -/* 802A37C8 0029F428 7C 7F 1B 78 */ mr r31, r3 -lbl_802A37CC: -/* 802A37CC 0029F42C 7F E3 FB 78 */ mr r3, r31 -/* 802A37D0 0029F430 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A37D4 0029F434 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A37D8 0029F438 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A37DC 0029F43C 83 81 00 10 */ lwz r28, 0x10(r1) -/* 802A37E0 0029F440 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A37E4 0029F444 7C 08 03 A6 */ mtlr r0 -/* 802A37E8 0029F448 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A37EC 0029F44C 4E 80 00 20 */ blr - -.global IOS_SeekAsync -IOS_SeekAsync: -/* 802A37F0 0029F450 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A37F4 0029F454 7C 08 02 A6 */ mflr r0 -/* 802A37F8 0029F458 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A37FC 0029F45C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3800 0029F460 4B F2 39 25 */ bl _savegpr_26 -/* 802A3804 0029F464 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3808 0029F468 7C 7A 1B 78 */ mr r26, r3 -/* 802A380C 0029F46C 7C 9B 23 78 */ mr r27, r4 -/* 802A3810 0029F470 7C BC 2B 78 */ mr r28, r5 -/* 802A3814 0029F474 7C DD 33 78 */ mr r29, r6 -/* 802A3818 0029F478 7C FE 3B 78 */ mr r30, r7 -/* 802A381C 0029F47C 3B E0 00 00 */ li r31, 0 -/* 802A3820 0029F480 40 82 00 0C */ bne lbl_802A382C -/* 802A3824 0029F484 3B E0 FF FC */ li r31, -4 -/* 802A3828 0029F488 48 00 00 4C */ b lbl_802A3874 -lbl_802A382C: -/* 802A382C 0029F48C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3830 0029F490 38 80 00 40 */ li r4, 0x40 -/* 802A3834 0029F494 38 A0 00 20 */ li r5, 0x20 -/* 802A3838 0029F498 48 00 0B 01 */ bl iosAllocAligned -/* 802A383C 0029F49C 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3840 0029F4A0 90 61 00 08 */ stw r3, 8(r1) -/* 802A3844 0029F4A4 40 82 00 0C */ bne lbl_802A3850 -/* 802A3848 0029F4A8 3B E0 FF EA */ li r31, -22 -/* 802A384C 0029F4AC 48 00 00 28 */ b lbl_802A3874 -lbl_802A3850: -/* 802A3850 0029F4B0 93 A3 00 20 */ stw r29, 0x20(r3) -/* 802A3854 0029F4B4 38 A0 00 00 */ li r5, 0 -/* 802A3858 0029F4B8 38 00 00 05 */ li r0, 5 -/* 802A385C 0029F4BC 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3860 0029F4C0 93 C4 00 24 */ stw r30, 0x24(r4) -/* 802A3864 0029F4C4 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3868 0029F4C8 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A386C 0029F4CC 90 03 00 00 */ stw r0, 0(r3) -/* 802A3870 0029F4D0 93 43 00 08 */ stw r26, 8(r3) -lbl_802A3874: -/* 802A3874 0029F4D4 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3878 0029F4D8 40 82 00 3C */ bne lbl_802A38B4 -/* 802A387C 0029F4DC 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3880 0029F4E0 3B E0 00 00 */ li r31, 0 -/* 802A3884 0029F4E4 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3888 0029F4E8 40 82 00 0C */ bne lbl_802A3894 -/* 802A388C 0029F4EC 3B E0 FF FC */ li r31, -4 -/* 802A3890 0029F4F0 48 00 00 0C */ b lbl_802A389C -lbl_802A3894: -/* 802A3894 0029F4F4 93 63 00 0C */ stw r27, 0xc(r3) -/* 802A3898 0029F4F8 93 83 00 10 */ stw r28, 0x10(r3) -lbl_802A389C: -/* 802A389C 0029F4FC 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A38A0 0029F500 40 82 00 14 */ bne lbl_802A38B4 -/* 802A38A4 0029F504 80 61 00 08 */ lwz r3, 8(r1) -/* 802A38A8 0029F508 7F A4 EB 78 */ mr r4, r29 -/* 802A38AC 0029F50C 4B FF F5 49 */ bl __ios_Ipc2 -/* 802A38B0 0029F510 7C 7F 1B 78 */ mr r31, r3 -lbl_802A38B4: -/* 802A38B4 0029F514 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A38B8 0029F518 7F E3 FB 78 */ mr r3, r31 -/* 802A38BC 0029F51C 4B F2 38 B5 */ bl _restgpr_26 -/* 802A38C0 0029F520 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A38C4 0029F524 7C 08 03 A6 */ mtlr r0 -/* 802A38C8 0029F528 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A38CC 0029F52C 4E 80 00 20 */ blr - -.global IOS_Seek -IOS_Seek: -/* 802A38D0 0029F530 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A38D4 0029F534 7C 08 02 A6 */ mflr r0 -/* 802A38D8 0029F538 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A38DC 0029F53C 34 01 00 08 */ addic. r0, r1, 8 -/* 802A38E0 0029F540 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A38E4 0029F544 3B E0 00 00 */ li r31, 0 -/* 802A38E8 0029F548 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A38EC 0029F54C 7C BE 2B 78 */ mr r30, r5 -/* 802A38F0 0029F550 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A38F4 0029F554 7C 9D 23 78 */ mr r29, r4 -/* 802A38F8 0029F558 93 81 00 10 */ stw r28, 0x10(r1) -/* 802A38FC 0029F55C 7C 7C 1B 78 */ mr r28, r3 -/* 802A3900 0029F560 40 82 00 0C */ bne lbl_802A390C -/* 802A3904 0029F564 3B E0 FF FC */ li r31, -4 -/* 802A3908 0029F568 48 00 00 4C */ b lbl_802A3954 -lbl_802A390C: -/* 802A390C 0029F56C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3910 0029F570 38 80 00 40 */ li r4, 0x40 -/* 802A3914 0029F574 38 A0 00 20 */ li r5, 0x20 -/* 802A3918 0029F578 48 00 0A 21 */ bl iosAllocAligned -/* 802A391C 0029F57C 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3920 0029F580 90 61 00 08 */ stw r3, 8(r1) -/* 802A3924 0029F584 40 82 00 0C */ bne lbl_802A3930 -/* 802A3928 0029F588 3B E0 FF EA */ li r31, -22 -/* 802A392C 0029F58C 48 00 00 28 */ b lbl_802A3954 -lbl_802A3930: -/* 802A3930 0029F590 38 A0 00 00 */ li r5, 0 -/* 802A3934 0029F594 38 00 00 05 */ li r0, 5 -/* 802A3938 0029F598 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802A393C 0029F59C 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3940 0029F5A0 90 A4 00 24 */ stw r5, 0x24(r4) -/* 802A3944 0029F5A4 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3948 0029F5A8 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A394C 0029F5AC 90 03 00 00 */ stw r0, 0(r3) -/* 802A3950 0029F5B0 93 83 00 08 */ stw r28, 8(r3) -lbl_802A3954: -/* 802A3954 0029F5B4 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3958 0029F5B8 40 82 00 3C */ bne lbl_802A3994 -/* 802A395C 0029F5BC 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3960 0029F5C0 3B E0 00 00 */ li r31, 0 -/* 802A3964 0029F5C4 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3968 0029F5C8 40 82 00 0C */ bne lbl_802A3974 -/* 802A396C 0029F5CC 3B E0 FF FC */ li r31, -4 -/* 802A3970 0029F5D0 48 00 00 0C */ b lbl_802A397C -lbl_802A3974: -/* 802A3974 0029F5D4 93 A3 00 0C */ stw r29, 0xc(r3) -/* 802A3978 0029F5D8 93 C3 00 10 */ stw r30, 0x10(r3) -lbl_802A397C: -/* 802A397C 0029F5DC 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3980 0029F5E0 40 82 00 14 */ bne lbl_802A3994 -/* 802A3984 0029F5E4 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3988 0029F5E8 38 80 00 00 */ li r4, 0 -/* 802A398C 0029F5EC 4B FF F4 69 */ bl __ios_Ipc2 -/* 802A3990 0029F5F0 7C 7F 1B 78 */ mr r31, r3 -lbl_802A3994: -/* 802A3994 0029F5F4 7F E3 FB 78 */ mr r3, r31 -/* 802A3998 0029F5F8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A399C 0029F5FC 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A39A0 0029F600 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A39A4 0029F604 83 81 00 10 */ lwz r28, 0x10(r1) -/* 802A39A8 0029F608 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A39AC 0029F60C 7C 08 03 A6 */ mtlr r0 -/* 802A39B0 0029F610 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A39B4 0029F614 4E 80 00 20 */ blr - -.global IOS_IoctlAsync -IOS_IoctlAsync: -/* 802A39B8 0029F618 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802A39BC 0029F61C 7C 08 02 A6 */ mflr r0 -/* 802A39C0 0029F620 90 01 00 44 */ stw r0, 0x44(r1) -/* 802A39C4 0029F624 39 61 00 40 */ addi r11, r1, 0x40 -/* 802A39C8 0029F628 4B F2 37 51 */ bl _savegpr_23 -/* 802A39CC 0029F62C 34 01 00 08 */ addic. r0, r1, 8 -/* 802A39D0 0029F630 7C 77 1B 78 */ mr r23, r3 -/* 802A39D4 0029F634 7C 98 23 78 */ mr r24, r4 -/* 802A39D8 0029F638 7C B9 2B 78 */ mr r25, r5 -/* 802A39DC 0029F63C 7C DA 33 78 */ mr r26, r6 -/* 802A39E0 0029F640 7C FB 3B 78 */ mr r27, r7 -/* 802A39E4 0029F644 7D 1C 43 78 */ mr r28, r8 -/* 802A39E8 0029F648 7D 3D 4B 78 */ mr r29, r9 -/* 802A39EC 0029F64C 7D 5E 53 78 */ mr r30, r10 -/* 802A39F0 0029F650 3B E0 00 00 */ li r31, 0 -/* 802A39F4 0029F654 40 82 00 0C */ bne lbl_802A3A00 -/* 802A39F8 0029F658 3B E0 FF FC */ li r31, -4 -/* 802A39FC 0029F65C 48 00 00 4C */ b lbl_802A3A48 -lbl_802A3A00: -/* 802A3A00 0029F660 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3A04 0029F664 38 80 00 40 */ li r4, 0x40 -/* 802A3A08 0029F668 38 A0 00 20 */ li r5, 0x20 -/* 802A3A0C 0029F66C 48 00 09 2D */ bl iosAllocAligned -/* 802A3A10 0029F670 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3A14 0029F674 90 61 00 08 */ stw r3, 8(r1) -/* 802A3A18 0029F678 40 82 00 0C */ bne lbl_802A3A24 -/* 802A3A1C 0029F67C 3B E0 FF EA */ li r31, -22 -/* 802A3A20 0029F680 48 00 00 28 */ b lbl_802A3A48 -lbl_802A3A24: -/* 802A3A24 0029F684 93 A3 00 20 */ stw r29, 0x20(r3) -/* 802A3A28 0029F688 38 A0 00 00 */ li r5, 0 -/* 802A3A2C 0029F68C 38 00 00 06 */ li r0, 6 -/* 802A3A30 0029F690 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3A34 0029F694 93 C4 00 24 */ stw r30, 0x24(r4) -/* 802A3A38 0029F698 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3A3C 0029F69C 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A3A40 0029F6A0 90 03 00 00 */ stw r0, 0(r3) -/* 802A3A44 0029F6A4 92 E3 00 08 */ stw r23, 8(r3) -lbl_802A3A48: -/* 802A3A48 0029F6A8 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3A4C 0029F6AC 40 82 00 88 */ bne lbl_802A3AD4 -/* 802A3A50 0029F6B0 80 A1 00 08 */ lwz r5, 8(r1) -/* 802A3A54 0029F6B4 3B E0 00 00 */ li r31, 0 -/* 802A3A58 0029F6B8 2C 05 00 00 */ cmpwi r5, 0 -/* 802A3A5C 0029F6BC 40 82 00 0C */ bne lbl_802A3A68 -/* 802A3A60 0029F6C0 3B E0 FF FC */ li r31, -4 -/* 802A3A64 0029F6C4 48 00 00 58 */ b lbl_802A3ABC -lbl_802A3A68: -/* 802A3A68 0029F6C8 2C 1B 00 00 */ cmpwi r27, 0 -/* 802A3A6C 0029F6CC 93 05 00 0C */ stw r24, 0xc(r5) -/* 802A3A70 0029F6D0 41 82 00 0C */ beq lbl_802A3A7C -/* 802A3A74 0029F6D4 3C 1B 80 00 */ addis r0, r27, 0x8000 -/* 802A3A78 0029F6D8 48 00 00 08 */ b lbl_802A3A80 -lbl_802A3A7C: -/* 802A3A7C 0029F6DC 38 00 00 00 */ li r0, 0 -lbl_802A3A80: -/* 802A3A80 0029F6E0 90 05 00 18 */ stw r0, 0x18(r5) -/* 802A3A84 0029F6E4 2C 19 00 00 */ cmpwi r25, 0 -/* 802A3A88 0029F6E8 93 85 00 1C */ stw r28, 0x1c(r5) -/* 802A3A8C 0029F6EC 41 82 00 0C */ beq lbl_802A3A98 -/* 802A3A90 0029F6F0 3C 19 80 00 */ addis r0, r25, 0x8000 -/* 802A3A94 0029F6F4 48 00 00 08 */ b lbl_802A3A9C -lbl_802A3A98: -/* 802A3A98 0029F6F8 38 00 00 00 */ li r0, 0 -lbl_802A3A9C: -/* 802A3A9C 0029F6FC 90 05 00 10 */ stw r0, 0x10(r5) -/* 802A3AA0 0029F700 7F 23 CB 78 */ mr r3, r25 -/* 802A3AA4 0029F704 7F 44 D3 78 */ mr r4, r26 -/* 802A3AA8 0029F708 93 45 00 14 */ stw r26, 0x14(r5) -/* 802A3AAC 0029F70C 4B FC 6B A9 */ bl DCFlushRange -/* 802A3AB0 0029F710 7F 63 DB 78 */ mr r3, r27 -/* 802A3AB4 0029F714 7F 84 E3 78 */ mr r4, r28 -/* 802A3AB8 0029F718 4B FC 6B 9D */ bl DCFlushRange -lbl_802A3ABC: -/* 802A3ABC 0029F71C 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3AC0 0029F720 40 82 00 14 */ bne lbl_802A3AD4 -/* 802A3AC4 0029F724 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3AC8 0029F728 7F A4 EB 78 */ mr r4, r29 -/* 802A3ACC 0029F72C 4B FF F3 29 */ bl __ios_Ipc2 -/* 802A3AD0 0029F730 7C 7F 1B 78 */ mr r31, r3 -lbl_802A3AD4: -/* 802A3AD4 0029F734 39 61 00 40 */ addi r11, r1, 0x40 -/* 802A3AD8 0029F738 7F E3 FB 78 */ mr r3, r31 -/* 802A3ADC 0029F73C 4B F2 36 89 */ bl _restgpr_23 -/* 802A3AE0 0029F740 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802A3AE4 0029F744 7C 08 03 A6 */ mtlr r0 -/* 802A3AE8 0029F748 38 21 00 40 */ addi r1, r1, 0x40 -/* 802A3AEC 0029F74C 4E 80 00 20 */ blr - -.global IOS_Ioctl -IOS_Ioctl: -/* 802A3AF0 0029F750 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A3AF4 0029F754 7C 08 02 A6 */ mflr r0 -/* 802A3AF8 0029F758 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A3AFC 0029F75C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3B00 0029F760 4B F2 36 21 */ bl _savegpr_25 -/* 802A3B04 0029F764 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3B08 0029F768 7C 79 1B 78 */ mr r25, r3 -/* 802A3B0C 0029F76C 7C 9A 23 78 */ mr r26, r4 -/* 802A3B10 0029F770 7C BB 2B 78 */ mr r27, r5 -/* 802A3B14 0029F774 7C DC 33 78 */ mr r28, r6 -/* 802A3B18 0029F778 7C FD 3B 78 */ mr r29, r7 -/* 802A3B1C 0029F77C 7D 1E 43 78 */ mr r30, r8 -/* 802A3B20 0029F780 3B E0 00 00 */ li r31, 0 -/* 802A3B24 0029F784 40 82 00 0C */ bne lbl_802A3B30 -/* 802A3B28 0029F788 3B E0 FF FC */ li r31, -4 -/* 802A3B2C 0029F78C 48 00 00 4C */ b lbl_802A3B78 -lbl_802A3B30: -/* 802A3B30 0029F790 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3B34 0029F794 38 80 00 40 */ li r4, 0x40 -/* 802A3B38 0029F798 38 A0 00 20 */ li r5, 0x20 -/* 802A3B3C 0029F79C 48 00 07 FD */ bl iosAllocAligned -/* 802A3B40 0029F7A0 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3B44 0029F7A4 90 61 00 08 */ stw r3, 8(r1) -/* 802A3B48 0029F7A8 40 82 00 0C */ bne lbl_802A3B54 -/* 802A3B4C 0029F7AC 3B E0 FF EA */ li r31, -22 -/* 802A3B50 0029F7B0 48 00 00 28 */ b lbl_802A3B78 -lbl_802A3B54: -/* 802A3B54 0029F7B4 38 A0 00 00 */ li r5, 0 -/* 802A3B58 0029F7B8 38 00 00 06 */ li r0, 6 -/* 802A3B5C 0029F7BC 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802A3B60 0029F7C0 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3B64 0029F7C4 90 A4 00 24 */ stw r5, 0x24(r4) -/* 802A3B68 0029F7C8 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3B6C 0029F7CC 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A3B70 0029F7D0 90 03 00 00 */ stw r0, 0(r3) -/* 802A3B74 0029F7D4 93 23 00 08 */ stw r25, 8(r3) -lbl_802A3B78: -/* 802A3B78 0029F7D8 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3B7C 0029F7DC 40 82 00 88 */ bne lbl_802A3C04 -/* 802A3B80 0029F7E0 80 A1 00 08 */ lwz r5, 8(r1) -/* 802A3B84 0029F7E4 3B E0 00 00 */ li r31, 0 -/* 802A3B88 0029F7E8 2C 05 00 00 */ cmpwi r5, 0 -/* 802A3B8C 0029F7EC 40 82 00 0C */ bne lbl_802A3B98 -/* 802A3B90 0029F7F0 3B E0 FF FC */ li r31, -4 -/* 802A3B94 0029F7F4 48 00 00 58 */ b lbl_802A3BEC -lbl_802A3B98: -/* 802A3B98 0029F7F8 2C 1D 00 00 */ cmpwi r29, 0 -/* 802A3B9C 0029F7FC 93 45 00 0C */ stw r26, 0xc(r5) -/* 802A3BA0 0029F800 41 82 00 0C */ beq lbl_802A3BAC -/* 802A3BA4 0029F804 3C 1D 80 00 */ addis r0, r29, 0x8000 -/* 802A3BA8 0029F808 48 00 00 08 */ b lbl_802A3BB0 -lbl_802A3BAC: -/* 802A3BAC 0029F80C 38 00 00 00 */ li r0, 0 -lbl_802A3BB0: -/* 802A3BB0 0029F810 90 05 00 18 */ stw r0, 0x18(r5) -/* 802A3BB4 0029F814 2C 1B 00 00 */ cmpwi r27, 0 -/* 802A3BB8 0029F818 93 C5 00 1C */ stw r30, 0x1c(r5) -/* 802A3BBC 0029F81C 41 82 00 0C */ beq lbl_802A3BC8 -/* 802A3BC0 0029F820 3C 1B 80 00 */ addis r0, r27, 0x8000 -/* 802A3BC4 0029F824 48 00 00 08 */ b lbl_802A3BCC -lbl_802A3BC8: -/* 802A3BC8 0029F828 38 00 00 00 */ li r0, 0 -lbl_802A3BCC: -/* 802A3BCC 0029F82C 90 05 00 10 */ stw r0, 0x10(r5) -/* 802A3BD0 0029F830 7F 63 DB 78 */ mr r3, r27 -/* 802A3BD4 0029F834 7F 84 E3 78 */ mr r4, r28 -/* 802A3BD8 0029F838 93 85 00 14 */ stw r28, 0x14(r5) -/* 802A3BDC 0029F83C 4B FC 6A 79 */ bl DCFlushRange -/* 802A3BE0 0029F840 7F A3 EB 78 */ mr r3, r29 -/* 802A3BE4 0029F844 7F C4 F3 78 */ mr r4, r30 -/* 802A3BE8 0029F848 4B FC 6A 6D */ bl DCFlushRange -lbl_802A3BEC: -/* 802A3BEC 0029F84C 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3BF0 0029F850 40 82 00 14 */ bne lbl_802A3C04 -/* 802A3BF4 0029F854 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3BF8 0029F858 38 80 00 00 */ li r4, 0 -/* 802A3BFC 0029F85C 4B FF F1 F9 */ bl __ios_Ipc2 -/* 802A3C00 0029F860 7C 7F 1B 78 */ mr r31, r3 -lbl_802A3C04: -/* 802A3C04 0029F864 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3C08 0029F868 7F E3 FB 78 */ mr r3, r31 -/* 802A3C0C 0029F86C 4B F2 35 61 */ bl _restgpr_25 -/* 802A3C10 0029F870 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A3C14 0029F874 7C 08 03 A6 */ mtlr r0 -/* 802A3C18 0029F878 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A3C1C 0029F87C 4E 80 00 20 */ blr - -.global __ios_Ioctlv -__ios_Ioctlv: -/* 802A3C20 0029F880 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A3C24 0029F884 7C 08 02 A6 */ mflr r0 -/* 802A3C28 0029F888 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A3C2C 0029F88C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A3C30 0029F890 4B F2 34 F5 */ bl _savegpr_26 -/* 802A3C34 0029F894 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3C38 0029F898 7C 7D 1B 78 */ mr r29, r3 -/* 802A3C3C 0029F89C 7C FE 3B 78 */ mr r30, r7 -/* 802A3C40 0029F8A0 3B E0 00 00 */ li r31, 0 -/* 802A3C44 0029F8A4 40 82 00 0C */ bne lbl_802A3C50 -/* 802A3C48 0029F8A8 3B E0 FF FC */ li r31, -4 -/* 802A3C4C 0029F8AC 48 00 00 F4 */ b lbl_802A3D40 -lbl_802A3C50: -/* 802A3C50 0029F8B0 90 83 00 0C */ stw r4, 0xc(r3) -/* 802A3C54 0029F8B4 54 BB 18 38 */ slwi r27, r5, 3 -/* 802A3C58 0029F8B8 3B 40 00 00 */ li r26, 0 -/* 802A3C5C 0029F8BC 3B 80 00 00 */ li r28, 0 -/* 802A3C60 0029F8C0 90 A3 00 10 */ stw r5, 0x10(r3) -/* 802A3C64 0029F8C4 90 C3 00 14 */ stw r6, 0x14(r3) -/* 802A3C68 0029F8C8 90 E3 00 18 */ stw r7, 0x18(r3) -/* 802A3C6C 0029F8CC 48 00 00 48 */ b lbl_802A3CB4 -lbl_802A3C70: -/* 802A3C70 0029F8D0 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 802A3C74 0029F8D4 7C 1C DA 14 */ add r0, r28, r27 -/* 802A3C78 0029F8D8 7C 83 02 14 */ add r4, r3, r0 -/* 802A3C7C 0029F8DC 7C 63 00 2E */ lwzx r3, r3, r0 -/* 802A3C80 0029F8E0 80 84 00 04 */ lwz r4, 4(r4) -/* 802A3C84 0029F8E4 4B FC 69 D1 */ bl DCFlushRange -/* 802A3C88 0029F8E8 80 9D 00 18 */ lwz r4, 0x18(r29) -/* 802A3C8C 0029F8EC 7C 7C DA 14 */ add r3, r28, r27 -/* 802A3C90 0029F8F0 7C A4 18 2E */ lwzx r5, r4, r3 -/* 802A3C94 0029F8F4 2C 05 00 00 */ cmpwi r5, 0 -/* 802A3C98 0029F8F8 41 82 00 0C */ beq lbl_802A3CA4 -/* 802A3C9C 0029F8FC 3C 05 80 00 */ addis r0, r5, 0x8000 -/* 802A3CA0 0029F900 48 00 00 08 */ b lbl_802A3CA8 -lbl_802A3CA4: -/* 802A3CA4 0029F904 38 00 00 00 */ li r0, 0 -lbl_802A3CA8: -/* 802A3CA8 0029F908 7C 04 19 2E */ stwx r0, r4, r3 -/* 802A3CAC 0029F90C 3B 9C 00 08 */ addi r28, r28, 8 -/* 802A3CB0 0029F910 3B 5A 00 01 */ addi r26, r26, 1 -lbl_802A3CB4: -/* 802A3CB4 0029F914 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 802A3CB8 0029F918 7C 1A 00 40 */ cmplw r26, r0 -/* 802A3CBC 0029F91C 41 80 FF B4 */ blt lbl_802A3C70 -/* 802A3CC0 0029F920 3B 60 00 00 */ li r27, 0 -/* 802A3CC4 0029F924 3B 80 00 00 */ li r28, 0 -/* 802A3CC8 0029F928 48 00 00 40 */ b lbl_802A3D08 -lbl_802A3CCC: -/* 802A3CCC 0029F92C 80 1D 00 18 */ lwz r0, 0x18(r29) -/* 802A3CD0 0029F930 7C 80 E2 14 */ add r4, r0, r28 -/* 802A3CD4 0029F934 7C 7C 00 2E */ lwzx r3, r28, r0 -/* 802A3CD8 0029F938 80 84 00 04 */ lwz r4, 4(r4) -/* 802A3CDC 0029F93C 4B FC 69 79 */ bl DCFlushRange -/* 802A3CE0 0029F940 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 802A3CE4 0029F944 7C 83 E0 2E */ lwzx r4, r3, r28 -/* 802A3CE8 0029F948 2C 04 00 00 */ cmpwi r4, 0 -/* 802A3CEC 0029F94C 41 82 00 0C */ beq lbl_802A3CF8 -/* 802A3CF0 0029F950 3C 04 80 00 */ addis r0, r4, 0x8000 -/* 802A3CF4 0029F954 48 00 00 08 */ b lbl_802A3CFC -lbl_802A3CF8: -/* 802A3CF8 0029F958 38 00 00 00 */ li r0, 0 -lbl_802A3CFC: -/* 802A3CFC 0029F95C 7C 03 E1 2E */ stwx r0, r3, r28 -/* 802A3D00 0029F960 3B 9C 00 08 */ addi r28, r28, 8 -/* 802A3D04 0029F964 3B 7B 00 01 */ addi r27, r27, 1 -lbl_802A3D08: -/* 802A3D08 0029F968 80 9D 00 10 */ lwz r4, 0x10(r29) -/* 802A3D0C 0029F96C 7C 1B 20 40 */ cmplw r27, r4 -/* 802A3D10 0029F970 41 80 FF BC */ blt lbl_802A3CCC -/* 802A3D14 0029F974 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 802A3D18 0029F978 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 802A3D1C 0029F97C 7C 04 02 14 */ add r0, r4, r0 -/* 802A3D20 0029F980 54 04 18 38 */ slwi r4, r0, 3 -/* 802A3D24 0029F984 4B FC 69 31 */ bl DCFlushRange -/* 802A3D28 0029F988 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A3D2C 0029F98C 41 82 00 0C */ beq lbl_802A3D38 -/* 802A3D30 0029F990 3C 1E 80 00 */ addis r0, r30, 0x8000 -/* 802A3D34 0029F994 48 00 00 08 */ b lbl_802A3D3C -lbl_802A3D38: -/* 802A3D38 0029F998 38 00 00 00 */ li r0, 0 -lbl_802A3D3C: -/* 802A3D3C 0029F99C 90 1D 00 18 */ stw r0, 0x18(r29) -lbl_802A3D40: -/* 802A3D40 0029F9A0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A3D44 0029F9A4 7F E3 FB 78 */ mr r3, r31 -/* 802A3D48 0029F9A8 4B F2 34 29 */ bl _restgpr_26 -/* 802A3D4C 0029F9AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A3D50 0029F9B0 7C 08 03 A6 */ mtlr r0 -/* 802A3D54 0029F9B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A3D58 0029F9B8 4E 80 00 20 */ blr - -.global IOS_IoctlvAsync -IOS_IoctlvAsync: -/* 802A3D5C 0029F9BC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A3D60 0029F9C0 7C 08 02 A6 */ mflr r0 -/* 802A3D64 0029F9C4 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A3D68 0029F9C8 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3D6C 0029F9CC 4B F2 33 B1 */ bl _savegpr_24 -/* 802A3D70 0029F9D0 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3D74 0029F9D4 7C 78 1B 78 */ mr r24, r3 -/* 802A3D78 0029F9D8 7C 99 23 78 */ mr r25, r4 -/* 802A3D7C 0029F9DC 7C BA 2B 78 */ mr r26, r5 -/* 802A3D80 0029F9E0 7C DB 33 78 */ mr r27, r6 -/* 802A3D84 0029F9E4 7C FC 3B 78 */ mr r28, r7 -/* 802A3D88 0029F9E8 7D 1D 43 78 */ mr r29, r8 -/* 802A3D8C 0029F9EC 7D 3E 4B 78 */ mr r30, r9 -/* 802A3D90 0029F9F0 3B E0 00 00 */ li r31, 0 -/* 802A3D94 0029F9F4 40 82 00 0C */ bne lbl_802A3DA0 -/* 802A3D98 0029F9F8 3B E0 FF FC */ li r31, -4 -/* 802A3D9C 0029F9FC 48 00 00 4C */ b lbl_802A3DE8 -lbl_802A3DA0: -/* 802A3DA0 0029FA00 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3DA4 0029FA04 38 80 00 40 */ li r4, 0x40 -/* 802A3DA8 0029FA08 38 A0 00 20 */ li r5, 0x20 -/* 802A3DAC 0029FA0C 48 00 05 8D */ bl iosAllocAligned -/* 802A3DB0 0029FA10 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3DB4 0029FA14 90 61 00 08 */ stw r3, 8(r1) -/* 802A3DB8 0029FA18 40 82 00 0C */ bne lbl_802A3DC4 -/* 802A3DBC 0029FA1C 3B E0 FF EA */ li r31, -22 -/* 802A3DC0 0029FA20 48 00 00 28 */ b lbl_802A3DE8 -lbl_802A3DC4: -/* 802A3DC4 0029FA24 93 A3 00 20 */ stw r29, 0x20(r3) -/* 802A3DC8 0029FA28 38 A0 00 00 */ li r5, 0 -/* 802A3DCC 0029FA2C 38 00 00 07 */ li r0, 7 -/* 802A3DD0 0029FA30 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3DD4 0029FA34 93 C4 00 24 */ stw r30, 0x24(r4) -/* 802A3DD8 0029FA38 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3DDC 0029FA3C 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A3DE0 0029FA40 90 03 00 00 */ stw r0, 0(r3) -/* 802A3DE4 0029FA44 93 03 00 08 */ stw r24, 8(r3) -lbl_802A3DE8: -/* 802A3DE8 0029FA48 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3DEC 0029FA4C 40 82 00 38 */ bne lbl_802A3E24 -/* 802A3DF0 0029FA50 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3DF4 0029FA54 7F 24 CB 78 */ mr r4, r25 -/* 802A3DF8 0029FA58 7F 45 D3 78 */ mr r5, r26 -/* 802A3DFC 0029FA5C 7F 66 DB 78 */ mr r6, r27 -/* 802A3E00 0029FA60 7F 87 E3 78 */ mr r7, r28 -/* 802A3E04 0029FA64 4B FF FE 1D */ bl __ios_Ioctlv -/* 802A3E08 0029FA68 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3E0C 0029FA6C 7C 7F 1B 78 */ mr r31, r3 -/* 802A3E10 0029FA70 40 82 00 14 */ bne lbl_802A3E24 -/* 802A3E14 0029FA74 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3E18 0029FA78 7F A4 EB 78 */ mr r4, r29 -/* 802A3E1C 0029FA7C 4B FF EF D9 */ bl __ios_Ipc2 -/* 802A3E20 0029FA80 7C 7F 1B 78 */ mr r31, r3 -lbl_802A3E24: -/* 802A3E24 0029FA84 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3E28 0029FA88 7F E3 FB 78 */ mr r3, r31 -/* 802A3E2C 0029FA8C 4B F2 33 3D */ bl _restgpr_24 -/* 802A3E30 0029FA90 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A3E34 0029FA94 7C 08 03 A6 */ mtlr r0 -/* 802A3E38 0029FA98 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A3E3C 0029FA9C 4E 80 00 20 */ blr - -.global IOS_Ioctlv -IOS_Ioctlv: -/* 802A3E40 0029FAA0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A3E44 0029FAA4 7C 08 02 A6 */ mflr r0 -/* 802A3E48 0029FAA8 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A3E4C 0029FAAC 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3E50 0029FAB0 4B F2 32 D5 */ bl _savegpr_26 -/* 802A3E54 0029FAB4 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3E58 0029FAB8 7C 7A 1B 78 */ mr r26, r3 -/* 802A3E5C 0029FABC 7C 9B 23 78 */ mr r27, r4 -/* 802A3E60 0029FAC0 7C BC 2B 78 */ mr r28, r5 -/* 802A3E64 0029FAC4 7C DD 33 78 */ mr r29, r6 -/* 802A3E68 0029FAC8 7C FE 3B 78 */ mr r30, r7 -/* 802A3E6C 0029FACC 3B E0 00 00 */ li r31, 0 -/* 802A3E70 0029FAD0 40 82 00 0C */ bne lbl_802A3E7C -/* 802A3E74 0029FAD4 3B E0 FF FC */ li r31, -4 -/* 802A3E78 0029FAD8 48 00 00 4C */ b lbl_802A3EC4 -lbl_802A3E7C: -/* 802A3E7C 0029FADC 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3E80 0029FAE0 38 80 00 40 */ li r4, 0x40 -/* 802A3E84 0029FAE4 38 A0 00 20 */ li r5, 0x20 -/* 802A3E88 0029FAE8 48 00 04 B1 */ bl iosAllocAligned -/* 802A3E8C 0029FAEC 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3E90 0029FAF0 90 61 00 08 */ stw r3, 8(r1) -/* 802A3E94 0029FAF4 40 82 00 0C */ bne lbl_802A3EA0 -/* 802A3E98 0029FAF8 3B E0 FF EA */ li r31, -22 -/* 802A3E9C 0029FAFC 48 00 00 28 */ b lbl_802A3EC4 -lbl_802A3EA0: -/* 802A3EA0 0029FB00 38 A0 00 00 */ li r5, 0 -/* 802A3EA4 0029FB04 38 00 00 07 */ li r0, 7 -/* 802A3EA8 0029FB08 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802A3EAC 0029FB0C 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3EB0 0029FB10 90 A4 00 24 */ stw r5, 0x24(r4) -/* 802A3EB4 0029FB14 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3EB8 0029FB18 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A3EBC 0029FB1C 90 03 00 00 */ stw r0, 0(r3) -/* 802A3EC0 0029FB20 93 43 00 08 */ stw r26, 8(r3) -lbl_802A3EC4: -/* 802A3EC4 0029FB24 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3EC8 0029FB28 40 82 00 38 */ bne lbl_802A3F00 -/* 802A3ECC 0029FB2C 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3ED0 0029FB30 7F 64 DB 78 */ mr r4, r27 -/* 802A3ED4 0029FB34 7F 85 E3 78 */ mr r5, r28 -/* 802A3ED8 0029FB38 7F A6 EB 78 */ mr r6, r29 -/* 802A3EDC 0029FB3C 7F C7 F3 78 */ mr r7, r30 -/* 802A3EE0 0029FB40 4B FF FD 41 */ bl __ios_Ioctlv -/* 802A3EE4 0029FB44 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3EE8 0029FB48 7C 7F 1B 78 */ mr r31, r3 -/* 802A3EEC 0029FB4C 40 82 00 14 */ bne lbl_802A3F00 -/* 802A3EF0 0029FB50 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3EF4 0029FB54 38 80 00 00 */ li r4, 0 -/* 802A3EF8 0029FB58 4B FF EE FD */ bl __ios_Ipc2 -/* 802A3EFC 0029FB5C 7C 7F 1B 78 */ mr r31, r3 -lbl_802A3F00: -/* 802A3F00 0029FB60 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3F04 0029FB64 7F E3 FB 78 */ mr r3, r31 -/* 802A3F08 0029FB68 4B F2 32 69 */ bl _restgpr_26 -/* 802A3F0C 0029FB6C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A3F10 0029FB70 7C 08 03 A6 */ mtlr r0 -/* 802A3F14 0029FB74 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A3F18 0029FB78 4E 80 00 20 */ blr - -.global IOS_IoctlvReboot -IOS_IoctlvReboot: -/* 802A3F1C 0029FB7C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A3F20 0029FB80 7C 08 02 A6 */ mflr r0 -/* 802A3F24 0029FB84 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A3F28 0029FB88 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3F2C 0029FB8C 4B F2 31 F9 */ bl _savegpr_26 -/* 802A3F30 0029FB90 34 01 00 08 */ addic. r0, r1, 8 -/* 802A3F34 0029FB94 7C 7A 1B 78 */ mr r26, r3 -/* 802A3F38 0029FB98 7C 9B 23 78 */ mr r27, r4 -/* 802A3F3C 0029FB9C 7C BC 2B 78 */ mr r28, r5 -/* 802A3F40 0029FBA0 7C DD 33 78 */ mr r29, r6 -/* 802A3F44 0029FBA4 7C FE 3B 78 */ mr r30, r7 -/* 802A3F48 0029FBA8 3B E0 00 00 */ li r31, 0 -/* 802A3F4C 0029FBAC 40 82 00 0C */ bne lbl_802A3F58 -/* 802A3F50 0029FBB0 3B E0 FF FC */ li r31, -4 -/* 802A3F54 0029FBB4 48 00 00 4C */ b lbl_802A3FA0 -lbl_802A3F58: -/* 802A3F58 0029FBB8 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) -/* 802A3F5C 0029FBBC 38 80 00 40 */ li r4, 0x40 -/* 802A3F60 0029FBC0 38 A0 00 20 */ li r5, 0x20 -/* 802A3F64 0029FBC4 48 00 03 D5 */ bl iosAllocAligned -/* 802A3F68 0029FBC8 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3F6C 0029FBCC 90 61 00 08 */ stw r3, 8(r1) -/* 802A3F70 0029FBD0 40 82 00 0C */ bne lbl_802A3F7C -/* 802A3F74 0029FBD4 3B E0 FF EA */ li r31, -22 -/* 802A3F78 0029FBD8 48 00 00 28 */ b lbl_802A3FA0 -lbl_802A3F7C: -/* 802A3F7C 0029FBDC 38 A0 00 00 */ li r5, 0 -/* 802A3F80 0029FBE0 38 00 00 07 */ li r0, 7 -/* 802A3F84 0029FBE4 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802A3F88 0029FBE8 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3F8C 0029FBEC 90 A4 00 24 */ stw r5, 0x24(r4) -/* 802A3F90 0029FBF0 80 81 00 08 */ lwz r4, 8(r1) -/* 802A3F94 0029FBF4 90 A4 00 28 */ stw r5, 0x28(r4) -/* 802A3F98 0029FBF8 90 03 00 00 */ stw r0, 0(r3) -/* 802A3F9C 0029FBFC 93 43 00 08 */ stw r26, 8(r3) -lbl_802A3FA0: -/* 802A3FA0 0029FC00 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A3FA4 0029FC04 40 82 00 44 */ bne lbl_802A3FE8 -/* 802A3FA8 0029FC08 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3FAC 0029FC0C 38 00 00 01 */ li r0, 1 -/* 802A3FB0 0029FC10 7F 64 DB 78 */ mr r4, r27 -/* 802A3FB4 0029FC14 7F 85 E3 78 */ mr r5, r28 -/* 802A3FB8 0029FC18 90 03 00 28 */ stw r0, 0x28(r3) -/* 802A3FBC 0029FC1C 7F A6 EB 78 */ mr r6, r29 -/* 802A3FC0 0029FC20 7F C7 F3 78 */ mr r7, r30 -/* 802A3FC4 0029FC24 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3FC8 0029FC28 4B FF FC 59 */ bl __ios_Ioctlv -/* 802A3FCC 0029FC2C 2C 03 00 00 */ cmpwi r3, 0 -/* 802A3FD0 0029FC30 7C 7F 1B 78 */ mr r31, r3 -/* 802A3FD4 0029FC34 40 82 00 14 */ bne lbl_802A3FE8 -/* 802A3FD8 0029FC38 80 61 00 08 */ lwz r3, 8(r1) -/* 802A3FDC 0029FC3C 38 80 00 00 */ li r4, 0 -/* 802A3FE0 0029FC40 4B FF EE 15 */ bl __ios_Ipc2 -/* 802A3FE4 0029FC44 7C 7F 1B 78 */ mr r31, r3 -lbl_802A3FE8: -/* 802A3FE8 0029FC48 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A3FEC 0029FC4C 7F E3 FB 78 */ mr r3, r31 -/* 802A3FF0 0029FC50 4B F2 31 81 */ bl _restgpr_26 -/* 802A3FF4 0029FC54 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A3FF8 0029FC58 7C 08 03 A6 */ mtlr r0 -/* 802A3FFC 0029FC5C 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A4000 0029FC60 4E 80 00 20 */ blr diff --git a/asm/SDK/memory.s b/asm/SDK/memory.s deleted file mode 100644 index 69e943a..0000000 --- a/asm/SDK/memory.s +++ /dev/null @@ -1,373 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 0x80006980 - 0x803E1E60 - -.global iosCreateHeap -iosCreateHeap: -/* 802A4004 0029FC64 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A4008 0029FC68 7C 08 02 A6 */ mflr r0 -/* 802A400C 0029FC6C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A4010 0029FC70 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A4014 0029FC74 3B E0 FF FC */ li r31, -4 -/* 802A4018 0029FC78 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A401C 0029FC7C 7C 9E 23 78 */ mr r30, r4 -/* 802A4020 0029FC80 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A4024 0029FC84 7C 7D 1B 78 */ mr r29, r3 -/* 802A4028 0029FC88 4B FC A7 35 */ bl OSDisableInterrupts -/* 802A402C 0029FC8C 57 A0 06 FF */ clrlwi. r0, r29, 0x1b -/* 802A4030 0029FC90 40 82 00 E0 */ bne lbl_802A4110 -/* 802A4034 0029FC94 3C 80 80 53 */ lis r4, 0x8053 -/* 802A4038 0029FC98 84 04 6B B0 */ lwzu r0, 0x6bb0(r4) -/* 802A403C 0029FC9C 3B E0 00 00 */ li r31, 0 -/* 802A4040 0029FCA0 2C 00 00 00 */ cmpwi r0, 0 -/* 802A4044 0029FCA4 41 82 00 78 */ beq lbl_802A40BC -/* 802A4048 0029FCA8 80 04 00 10 */ lwz r0, 0x10(r4) -/* 802A404C 0029FCAC 3B E0 00 01 */ li r31, 1 -/* 802A4050 0029FCB0 2C 00 00 00 */ cmpwi r0, 0 -/* 802A4054 0029FCB4 41 82 00 68 */ beq lbl_802A40BC -/* 802A4058 0029FCB8 80 04 00 20 */ lwz r0, 0x20(r4) -/* 802A405C 0029FCBC 3B E0 00 02 */ li r31, 2 -/* 802A4060 0029FCC0 2C 00 00 00 */ cmpwi r0, 0 -/* 802A4064 0029FCC4 41 82 00 58 */ beq lbl_802A40BC -/* 802A4068 0029FCC8 80 04 00 30 */ lwz r0, 0x30(r4) -/* 802A406C 0029FCCC 3B E0 00 03 */ li r31, 3 -/* 802A4070 0029FCD0 2C 00 00 00 */ cmpwi r0, 0 -/* 802A4074 0029FCD4 41 82 00 48 */ beq lbl_802A40BC -/* 802A4078 0029FCD8 80 04 00 40 */ lwz r0, 0x40(r4) -/* 802A407C 0029FCDC 3B E0 00 04 */ li r31, 4 -/* 802A4080 0029FCE0 2C 00 00 00 */ cmpwi r0, 0 -/* 802A4084 0029FCE4 41 82 00 38 */ beq lbl_802A40BC -/* 802A4088 0029FCE8 80 04 00 50 */ lwz r0, 0x50(r4) -/* 802A408C 0029FCEC 3B E0 00 05 */ li r31, 5 -/* 802A4090 0029FCF0 2C 00 00 00 */ cmpwi r0, 0 -/* 802A4094 0029FCF4 41 82 00 28 */ beq lbl_802A40BC -/* 802A4098 0029FCF8 80 04 00 60 */ lwz r0, 0x60(r4) -/* 802A409C 0029FCFC 3B E0 00 06 */ li r31, 6 -/* 802A40A0 0029FD00 2C 00 00 00 */ cmpwi r0, 0 -/* 802A40A4 0029FD04 41 82 00 18 */ beq lbl_802A40BC -/* 802A40A8 0029FD08 80 04 00 70 */ lwz r0, 0x70(r4) -/* 802A40AC 0029FD0C 3B E0 00 07 */ li r31, 7 -/* 802A40B0 0029FD10 2C 00 00 00 */ cmpwi r0, 0 -/* 802A40B4 0029FD14 41 82 00 08 */ beq lbl_802A40BC -/* 802A40B8 0029FD18 3B E0 00 08 */ li r31, 8 -lbl_802A40BC: -/* 802A40BC 0029FD1C 2C 1F 00 08 */ cmpwi r31, 8 -/* 802A40C0 0029FD20 40 82 00 0C */ bne lbl_802A40CC -/* 802A40C4 0029FD24 3B E0 FF FB */ li r31, -5 -/* 802A40C8 0029FD28 48 00 00 48 */ b lbl_802A4110 -lbl_802A40CC: -/* 802A40CC 0029FD2C 3C A0 80 53 */ lis r5, lbl_80536BB0@ha -/* 802A40D0 0029FD30 57 E0 20 36 */ slwi r0, r31, 4 -/* 802A40D4 0029FD34 38 A5 6B B0 */ addi r5, r5, lbl_80536BB0@l -/* 802A40D8 0029FD38 3C 80 BA BE */ lis r4, 0xbabe -/* 802A40DC 0029FD3C 7C C5 02 14 */ add r6, r5, r0 -/* 802A40E0 0029FD40 38 00 00 00 */ li r0, 0 -/* 802A40E4 0029FD44 93 A6 00 00 */ stw r29, 0(r6) -/* 802A40E8 0029FD48 38 BE FF F0 */ addi r5, r30, -16 -/* 802A40EC 0029FD4C 93 C6 00 08 */ stw r30, 8(r6) -/* 802A40F0 0029FD50 93 A6 00 0C */ stw r29, 0xc(r6) -/* 802A40F4 0029FD54 90 9D 00 00 */ stw r4, 0(r29) -/* 802A40F8 0029FD58 80 86 00 0C */ lwz r4, 0xc(r6) -/* 802A40FC 0029FD5C 90 A4 00 04 */ stw r5, 4(r4) -/* 802A4100 0029FD60 80 86 00 0C */ lwz r4, 0xc(r6) -/* 802A4104 0029FD64 90 04 00 08 */ stw r0, 8(r4) -/* 802A4108 0029FD68 80 86 00 0C */ lwz r4, 0xc(r6) -/* 802A410C 0029FD6C 90 04 00 0C */ stw r0, 0xc(r4) -lbl_802A4110: -/* 802A4110 0029FD70 4B FC A6 75 */ bl OSRestoreInterrupts -/* 802A4114 0029FD74 7F E3 FB 78 */ mr r3, r31 -/* 802A4118 0029FD78 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A411C 0029FD7C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A4120 0029FD80 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A4124 0029FD84 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A4128 0029FD88 7C 08 03 A6 */ mtlr r0 -/* 802A412C 0029FD8C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A4130 0029FD90 4E 80 00 20 */ blr -__iosAlloc: -/* 802A4134 0029FD94 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A4138 0029FD98 7C 08 02 A6 */ mflr r0 -/* 802A413C 0029FD9C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A4140 0029FDA0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A4144 0029FDA4 3B E0 00 00 */ li r31, 0 -/* 802A4148 0029FDA8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A414C 0029FDAC 7C BE 2B 78 */ mr r30, r5 -/* 802A4150 0029FDB0 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A4154 0029FDB4 7C 9D 23 78 */ mr r29, r4 -/* 802A4158 0029FDB8 93 81 00 10 */ stw r28, 0x10(r1) -/* 802A415C 0029FDBC 7C 7C 1B 78 */ mr r28, r3 -/* 802A4160 0029FDC0 4B FC A5 FD */ bl OSDisableInterrupts -/* 802A4164 0029FDC4 2C 1D 00 00 */ cmpwi r29, 0 -/* 802A4168 0029FDC8 41 82 01 A8 */ beq lbl_802A4310 -/* 802A416C 0029FDCC 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A4170 0029FDD0 41 82 01 A0 */ beq lbl_802A4310 -/* 802A4174 0029FDD4 38 1E FF FF */ addi r0, r30, -1 -/* 802A4178 0029FDD8 7F C0 00 39 */ and. r0, r30, r0 -/* 802A417C 0029FDDC 40 82 01 94 */ bne lbl_802A4310 -/* 802A4180 0029FDE0 28 1E 00 20 */ cmplwi r30, 0x20 -/* 802A4184 0029FDE4 40 80 00 08 */ bge lbl_802A418C -/* 802A4188 0029FDE8 3B C0 00 20 */ li r30, 0x20 -lbl_802A418C: -/* 802A418C 0029FDEC 2C 1C 00 00 */ cmpwi r28, 0 -/* 802A4190 0029FDF0 38 1D 00 1F */ addi r0, r29, 0x1f -/* 802A4194 0029FDF4 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a -/* 802A4198 0029FDF8 41 80 00 24 */ blt lbl_802A41BC -/* 802A419C 0029FDFC 2C 1C 00 08 */ cmpwi r28, 8 -/* 802A41A0 0029FE00 40 80 00 1C */ bge lbl_802A41BC -/* 802A41A4 0029FE04 3C 80 80 53 */ lis r4, lbl_80536BB0@ha -/* 802A41A8 0029FE08 57 80 20 36 */ slwi r0, r28, 4 -/* 802A41AC 0029FE0C 38 84 6B B0 */ addi r4, r4, lbl_80536BB0@l -/* 802A41B0 0029FE10 7C 04 00 6E */ lwzux r0, r4, r0 -/* 802A41B4 0029FE14 2C 00 00 00 */ cmpwi r0, 0 -/* 802A41B8 0029FE18 40 82 00 0C */ bne lbl_802A41C4 -lbl_802A41BC: -/* 802A41BC 0029FE1C 3B E0 00 00 */ li r31, 0 -/* 802A41C0 0029FE20 48 00 01 50 */ b lbl_802A4310 -lbl_802A41C4: -/* 802A41C4 0029FE24 81 04 00 0C */ lwz r8, 0xc(r4) -/* 802A41C8 0029FE28 38 DE FF FF */ addi r6, r30, -1 -/* 802A41CC 0029FE2C 38 A0 00 00 */ li r5, 0 -/* 802A41D0 0029FE30 48 00 00 58 */ b lbl_802A4228 -lbl_802A41D4: -/* 802A41D4 0029FE34 80 E8 00 04 */ lwz r7, 4(r8) -/* 802A41D8 0029FE38 38 08 00 10 */ addi r0, r8, 0x10 -/* 802A41DC 0029FE3C 7C 00 30 38 */ and r0, r0, r6 -/* 802A41E0 0029FE40 7C 07 E8 40 */ cmplw r7, r29 -/* 802A41E4 0029FE44 7C 00 F0 50 */ subf r0, r0, r30 -/* 802A41E8 0029FE48 7C C0 00 38 */ and r0, r6, r0 -/* 802A41EC 0029FE4C 40 82 00 14 */ bne lbl_802A4200 -/* 802A41F0 0029FE50 2C 00 00 00 */ cmpwi r0, 0 -/* 802A41F4 0029FE54 40 82 00 0C */ bne lbl_802A4200 -/* 802A41F8 0029FE58 7D 05 43 78 */ mr r5, r8 -/* 802A41FC 0029FE5C 48 00 00 34 */ b lbl_802A4230 -lbl_802A4200: -/* 802A4200 0029FE60 7C 1D 02 14 */ add r0, r29, r0 -/* 802A4204 0029FE64 7C 07 00 40 */ cmplw r7, r0 -/* 802A4208 0029FE68 41 80 00 1C */ blt lbl_802A4224 -/* 802A420C 0029FE6C 2C 05 00 00 */ cmpwi r5, 0 -/* 802A4210 0029FE70 41 82 00 10 */ beq lbl_802A4220 -/* 802A4214 0029FE74 80 05 00 04 */ lwz r0, 4(r5) -/* 802A4218 0029FE78 7C 07 00 40 */ cmplw r7, r0 -/* 802A421C 0029FE7C 40 80 00 08 */ bge lbl_802A4224 -lbl_802A4220: -/* 802A4220 0029FE80 7D 05 43 78 */ mr r5, r8 -lbl_802A4224: -/* 802A4224 0029FE84 81 08 00 0C */ lwz r8, 0xc(r8) -lbl_802A4228: -/* 802A4228 0029FE88 2C 08 00 00 */ cmpwi r8, 0 -/* 802A422C 0029FE8C 40 82 FF A8 */ bne lbl_802A41D4 -lbl_802A4230: -/* 802A4230 0029FE90 2C 05 00 00 */ cmpwi r5, 0 -/* 802A4234 0029FE94 41 82 00 DC */ beq lbl_802A4310 -/* 802A4238 0029FE98 38 FE FF FF */ addi r7, r30, -1 -/* 802A423C 0029FE9C 38 05 00 10 */ addi r0, r5, 0x10 -/* 802A4240 0029FEA0 7C 00 38 38 */ and r0, r0, r7 -/* 802A4244 0029FEA4 80 C5 00 04 */ lwz r6, 4(r5) -/* 802A4248 0029FEA8 7C 00 F0 50 */ subf r0, r0, r30 -/* 802A424C 0029FEAC 7C E8 00 38 */ and r8, r7, r0 -/* 802A4250 0029FEB0 7C FD 42 14 */ add r7, r29, r8 -/* 802A4254 0029FEB4 38 07 00 10 */ addi r0, r7, 0x10 -/* 802A4258 0029FEB8 7C 06 00 40 */ cmplw r6, r0 -/* 802A425C 0029FEBC 40 81 00 48 */ ble lbl_802A42A4 -/* 802A4260 0029FEC0 7C C5 EA 14 */ add r6, r5, r29 -/* 802A4264 0029FEC4 3C 00 BA BE */ lis r0, 0xbabe -/* 802A4268 0029FEC8 7D 28 32 14 */ add r9, r8, r6 -/* 802A426C 0029FECC 90 09 00 10 */ stw r0, 0x10(r9) -/* 802A4270 0029FED0 80 05 00 04 */ lwz r0, 4(r5) -/* 802A4274 0029FED4 7C 1D 00 50 */ subf r0, r29, r0 -/* 802A4278 0029FED8 7C C8 00 50 */ subf r6, r8, r0 -/* 802A427C 0029FEDC 38 06 FF F0 */ addi r0, r6, -16 -/* 802A4280 0029FEE0 90 09 00 14 */ stw r0, 0x14(r9) -/* 802A4284 0029FEE4 80 C5 00 0C */ lwz r6, 0xc(r5) -/* 802A4288 0029FEE8 2C 06 00 00 */ cmpwi r6, 0 -/* 802A428C 0029FEEC 90 C9 00 1C */ stw r6, 0x1c(r9) -/* 802A4290 0029FEF0 39 29 00 10 */ addi r9, r9, 0x10 -/* 802A4294 0029FEF4 41 82 00 08 */ beq lbl_802A429C -/* 802A4298 0029FEF8 91 26 00 08 */ stw r9, 8(r6) -lbl_802A429C: -/* 802A429C 0029FEFC 91 25 00 0C */ stw r9, 0xc(r5) -/* 802A42A0 0029FF00 90 E5 00 04 */ stw r7, 4(r5) -lbl_802A42A4: -/* 802A42A4 0029FF04 3C C0 BA BE */ lis r6, 0xBABE0001@ha -/* 802A42A8 0029FF08 38 06 00 01 */ addi r0, r6, 0xBABE0001@l -/* 802A42AC 0029FF0C 90 05 00 00 */ stw r0, 0(r5) -/* 802A42B0 0029FF10 80 C5 00 08 */ lwz r6, 8(r5) -/* 802A42B4 0029FF14 2C 06 00 00 */ cmpwi r6, 0 -/* 802A42B8 0029FF18 41 82 00 10 */ beq lbl_802A42C8 -/* 802A42BC 0029FF1C 80 05 00 0C */ lwz r0, 0xc(r5) -/* 802A42C0 0029FF20 90 06 00 0C */ stw r0, 0xc(r6) -/* 802A42C4 0029FF24 48 00 00 0C */ b lbl_802A42D0 -lbl_802A42C8: -/* 802A42C8 0029FF28 80 05 00 0C */ lwz r0, 0xc(r5) -/* 802A42CC 0029FF2C 90 04 00 0C */ stw r0, 0xc(r4) -lbl_802A42D0: -/* 802A42D0 0029FF30 80 85 00 0C */ lwz r4, 0xc(r5) -/* 802A42D4 0029FF34 2C 04 00 00 */ cmpwi r4, 0 -/* 802A42D8 0029FF38 41 82 00 0C */ beq lbl_802A42E4 -/* 802A42DC 0029FF3C 80 05 00 08 */ lwz r0, 8(r5) -/* 802A42E0 0029FF40 90 04 00 08 */ stw r0, 8(r4) -lbl_802A42E4: -/* 802A42E4 0029FF44 38 00 00 00 */ li r0, 0 -/* 802A42E8 0029FF48 7F E5 42 14 */ add r31, r5, r8 -/* 802A42EC 0029FF4C 90 05 00 0C */ stw r0, 0xc(r5) -/* 802A42F0 0029FF50 2C 08 00 00 */ cmpwi r8, 0 -/* 802A42F4 0029FF54 3B FF 00 10 */ addi r31, r31, 0x10 -/* 802A42F8 0029FF58 90 05 00 08 */ stw r0, 8(r5) -/* 802A42FC 0029FF5C 41 82 00 14 */ beq lbl_802A4310 -/* 802A4300 0029FF60 3C 80 BA BE */ lis r4, 0xBABE0002@ha -/* 802A4304 0029FF64 38 04 00 02 */ addi r0, r4, 0xBABE0002@l -/* 802A4308 0029FF68 90 1F FF F0 */ stw r0, -0x10(r31) -/* 802A430C 0029FF6C 90 BF FF F8 */ stw r5, -8(r31) -lbl_802A4310: -/* 802A4310 0029FF70 4B FC A4 75 */ bl OSRestoreInterrupts -/* 802A4314 0029FF74 7F E3 FB 78 */ mr r3, r31 -/* 802A4318 0029FF78 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A431C 0029FF7C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A4320 0029FF80 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A4324 0029FF84 83 81 00 10 */ lwz r28, 0x10(r1) -/* 802A4328 0029FF88 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A432C 0029FF8C 7C 08 03 A6 */ mtlr r0 -/* 802A4330 0029FF90 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A4334 0029FF94 4E 80 00 20 */ blr - -.global iosAllocAligned -iosAllocAligned: -/* 802A4338 0029FF98 4B FF FD FC */ b __iosAlloc - -.global iosFree -iosFree: -/* 802A433C 0029FF9C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A4340 0029FFA0 7C 08 02 A6 */ mflr r0 -/* 802A4344 0029FFA4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A4348 0029FFA8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A434C 0029FFAC 3B E0 FF FC */ li r31, -4 -/* 802A4350 0029FFB0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A4354 0029FFB4 7C 9E 23 78 */ mr r30, r4 -/* 802A4358 0029FFB8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 802A435C 0029FFBC 7C 7D 1B 78 */ mr r29, r3 -/* 802A4360 0029FFC0 4B FC A3 FD */ bl OSDisableInterrupts -/* 802A4364 0029FFC4 2C 1E 00 00 */ cmpwi r30, 0 -/* 802A4368 0029FFC8 41 82 01 9C */ beq lbl_802A4504 -/* 802A436C 0029FFCC 2C 1D 00 00 */ cmpwi r29, 0 -/* 802A4370 0029FFD0 41 80 00 28 */ blt lbl_802A4398 -/* 802A4374 0029FFD4 2C 1D 00 08 */ cmpwi r29, 8 -/* 802A4378 0029FFD8 40 80 00 20 */ bge lbl_802A4398 -/* 802A437C 0029FFDC 3C 80 80 53 */ lis r4, lbl_80536BB0@ha -/* 802A4380 0029FFE0 57 A0 20 36 */ slwi r0, r29, 4 -/* 802A4384 0029FFE4 38 84 6B B0 */ addi r4, r4, lbl_80536BB0@l -/* 802A4388 0029FFE8 7C A4 02 14 */ add r5, r4, r0 -/* 802A438C 0029FFEC 7C 84 00 2E */ lwzx r4, r4, r0 -/* 802A4390 0029FFF0 2C 04 00 00 */ cmpwi r4, 0 -/* 802A4394 0029FFF4 40 82 00 0C */ bne lbl_802A43A0 -lbl_802A4398: -/* 802A4398 0029FFF8 3B E0 FF FC */ li r31, -4 -/* 802A439C 0029FFFC 48 00 01 68 */ b lbl_802A4504 -lbl_802A43A0: -/* 802A43A0 002A0000 38 04 00 10 */ addi r0, r4, 0x10 -/* 802A43A4 002A0004 7C 1E 00 40 */ cmplw r30, r0 -/* 802A43A8 002A0008 41 80 01 5C */ blt lbl_802A4504 -/* 802A43AC 002A000C 80 05 00 08 */ lwz r0, 8(r5) -/* 802A43B0 002A0010 7C 04 02 14 */ add r0, r4, r0 -/* 802A43B4 002A0014 7C 1E 00 40 */ cmplw r30, r0 -/* 802A43B8 002A0018 41 81 01 4C */ bgt lbl_802A4504 -/* 802A43BC 002A001C 80 9E FF F0 */ lwz r4, -0x10(r30) -/* 802A43C0 002A0020 38 DE FF F0 */ addi r6, r30, -16 -/* 802A43C4 002A0024 3C 04 45 42 */ addis r0, r4, 0x4542 -/* 802A43C8 002A0028 28 00 00 02 */ cmplwi r0, 2 -/* 802A43CC 002A002C 40 82 00 08 */ bne lbl_802A43D4 -/* 802A43D0 002A0030 80 C6 00 08 */ lwz r6, 8(r6) -lbl_802A43D4: -/* 802A43D4 002A0034 80 86 00 00 */ lwz r4, 0(r6) -/* 802A43D8 002A0038 3C 04 45 42 */ addis r0, r4, 0x4542 -/* 802A43DC 002A003C 28 00 00 01 */ cmplwi r0, 1 -/* 802A43E0 002A0040 40 82 01 24 */ bne lbl_802A4504 -/* 802A43E4 002A0044 3C 00 BA BE */ lis r0, 0xbabe -/* 802A43E8 002A0048 90 06 00 00 */ stw r0, 0(r6) -/* 802A43EC 002A004C 80 85 00 0C */ lwz r4, 0xc(r5) -/* 802A43F0 002A0050 7C 87 23 78 */ mr r7, r4 -/* 802A43F4 002A0054 48 00 00 1C */ b lbl_802A4410 -lbl_802A43F8: -/* 802A43F8 002A0058 80 07 00 0C */ lwz r0, 0xc(r7) -/* 802A43FC 002A005C 2C 00 00 00 */ cmpwi r0, 0 -/* 802A4400 002A0060 41 82 00 18 */ beq lbl_802A4418 -/* 802A4404 002A0064 7C 00 30 40 */ cmplw r0, r6 -/* 802A4408 002A0068 41 81 00 10 */ bgt lbl_802A4418 -/* 802A440C 002A006C 7C 07 03 78 */ mr r7, r0 -lbl_802A4410: -/* 802A4410 002A0070 2C 07 00 00 */ cmpwi r7, 0 -/* 802A4414 002A0074 40 82 FF E4 */ bne lbl_802A43F8 -lbl_802A4418: -/* 802A4418 002A0078 2C 07 00 00 */ cmpwi r7, 0 -/* 802A441C 002A007C 41 82 00 30 */ beq lbl_802A444C -/* 802A4420 002A0080 7C 06 38 40 */ cmplw r6, r7 -/* 802A4424 002A0084 40 81 00 28 */ ble lbl_802A444C -/* 802A4428 002A0088 90 E6 00 08 */ stw r7, 8(r6) -/* 802A442C 002A008C 80 07 00 0C */ lwz r0, 0xc(r7) -/* 802A4430 002A0090 90 06 00 0C */ stw r0, 0xc(r6) -/* 802A4434 002A0094 90 C7 00 0C */ stw r6, 0xc(r7) -/* 802A4438 002A0098 80 86 00 0C */ lwz r4, 0xc(r6) -/* 802A443C 002A009C 2C 04 00 00 */ cmpwi r4, 0 -/* 802A4440 002A00A0 41 82 00 2C */ beq lbl_802A446C -/* 802A4444 002A00A4 90 C4 00 08 */ stw r6, 8(r4) -/* 802A4448 002A00A8 48 00 00 24 */ b lbl_802A446C -lbl_802A444C: -/* 802A444C 002A00AC 90 86 00 0C */ stw r4, 0xc(r6) -/* 802A4450 002A00B0 38 00 00 00 */ li r0, 0 -/* 802A4454 002A00B4 90 C5 00 0C */ stw r6, 0xc(r5) -/* 802A4458 002A00B8 90 06 00 08 */ stw r0, 8(r6) -/* 802A445C 002A00BC 80 86 00 0C */ lwz r4, 0xc(r6) -/* 802A4460 002A00C0 2C 04 00 00 */ cmpwi r4, 0 -/* 802A4464 002A00C4 41 82 00 08 */ beq lbl_802A446C -/* 802A4468 002A00C8 90 C4 00 08 */ stw r6, 8(r4) -lbl_802A446C: -/* 802A446C 002A00CC 2C 06 00 00 */ cmpwi r6, 0 -/* 802A4470 002A00D0 41 82 00 44 */ beq lbl_802A44B4 -/* 802A4474 002A00D4 80 06 00 04 */ lwz r0, 4(r6) -/* 802A4478 002A00D8 80 A6 00 0C */ lwz r5, 0xc(r6) -/* 802A447C 002A00DC 7C 86 02 14 */ add r4, r6, r0 -/* 802A4480 002A00E0 38 04 00 10 */ addi r0, r4, 0x10 -/* 802A4484 002A00E4 7C 05 00 40 */ cmplw r5, r0 -/* 802A4488 002A00E8 40 82 00 2C */ bne lbl_802A44B4 -/* 802A448C 002A00EC 80 85 00 0C */ lwz r4, 0xc(r5) -/* 802A4490 002A00F0 2C 04 00 00 */ cmpwi r4, 0 -/* 802A4494 002A00F4 90 86 00 0C */ stw r4, 0xc(r6) -/* 802A4498 002A00F8 41 82 00 08 */ beq lbl_802A44A0 -/* 802A449C 002A00FC 90 C4 00 08 */ stw r6, 8(r4) -lbl_802A44A0: -/* 802A44A0 002A0100 80 86 00 04 */ lwz r4, 4(r6) -/* 802A44A4 002A0104 80 05 00 04 */ lwz r0, 4(r5) -/* 802A44A8 002A0108 7C 80 22 14 */ add r4, r0, r4 -/* 802A44AC 002A010C 38 04 00 10 */ addi r0, r4, 0x10 -/* 802A44B0 002A0110 90 06 00 04 */ stw r0, 4(r6) -lbl_802A44B4: -/* 802A44B4 002A0114 80 A6 00 08 */ lwz r5, 8(r6) -/* 802A44B8 002A0118 2C 05 00 00 */ cmpwi r5, 0 -/* 802A44BC 002A011C 41 82 00 44 */ beq lbl_802A4500 -/* 802A44C0 002A0120 80 05 00 04 */ lwz r0, 4(r5) -/* 802A44C4 002A0124 80 C5 00 0C */ lwz r6, 0xc(r5) -/* 802A44C8 002A0128 7C 85 02 14 */ add r4, r5, r0 -/* 802A44CC 002A012C 38 04 00 10 */ addi r0, r4, 0x10 -/* 802A44D0 002A0130 7C 06 00 40 */ cmplw r6, r0 -/* 802A44D4 002A0134 40 82 00 2C */ bne lbl_802A4500 -/* 802A44D8 002A0138 80 86 00 0C */ lwz r4, 0xc(r6) -/* 802A44DC 002A013C 2C 04 00 00 */ cmpwi r4, 0 -/* 802A44E0 002A0140 90 85 00 0C */ stw r4, 0xc(r5) -/* 802A44E4 002A0144 41 82 00 08 */ beq lbl_802A44EC -/* 802A44E8 002A0148 90 A4 00 08 */ stw r5, 8(r4) -lbl_802A44EC: -/* 802A44EC 002A014C 80 85 00 04 */ lwz r4, 4(r5) -/* 802A44F0 002A0150 80 06 00 04 */ lwz r0, 4(r6) -/* 802A44F4 002A0154 7C 80 22 14 */ add r4, r0, r4 -/* 802A44F8 002A0158 38 04 00 10 */ addi r0, r4, 0x10 -/* 802A44FC 002A015C 90 05 00 04 */ stw r0, 4(r5) -lbl_802A4500: -/* 802A4500 002A0160 3B E0 00 00 */ li r31, 0 -lbl_802A4504: -/* 802A4504 002A0164 4B FC A2 81 */ bl OSRestoreInterrupts -/* 802A4508 002A0168 7F E3 FB 78 */ mr r3, r31 -/* 802A450C 002A016C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A4510 002A0170 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A4514 002A0174 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 802A4518 002A0178 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A451C 002A017C 7C 08 03 A6 */ mtlr r0 -/* 802A4520 002A0180 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A4524 002A0184 4E 80 00 20 */ blr -- cgit v1.2.3