.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global USB_LOG USB_LOG: /* 802B3C20 002AF880 94 21 FF 80 */ stwu r1, -0x80(r1) /* 802B3C24 002AF884 7C 08 02 A6 */ mflr r0 /* 802B3C28 002AF888 90 01 00 84 */ stw r0, 0x84(r1) /* 802B3C2C 002AF88C 93 E1 00 7C */ stw r31, 0x7c(r1) /* 802B3C30 002AF890 7C 7F 1B 78 */ mr r31, r3 /* 802B3C34 002AF894 40 86 00 24 */ bne cr1, lbl_802B3C58 /* 802B3C38 002AF898 D8 21 00 28 */ stfd f1, 0x28(r1) /* 802B3C3C 002AF89C D8 41 00 30 */ stfd f2, 0x30(r1) /* 802B3C40 002AF8A0 D8 61 00 38 */ stfd f3, 0x38(r1) /* 802B3C44 002AF8A4 D8 81 00 40 */ stfd f4, 0x40(r1) /* 802B3C48 002AF8A8 D8 A1 00 48 */ stfd f5, 0x48(r1) /* 802B3C4C 002AF8AC D8 C1 00 50 */ stfd f6, 0x50(r1) /* 802B3C50 002AF8B0 D8 E1 00 58 */ stfd f7, 0x58(r1) /* 802B3C54 002AF8B4 D9 01 00 60 */ stfd f8, 0x60(r1) lbl_802B3C58: /* 802B3C58 002AF8B8 88 0D AE A0 */ lbz r0, lbl_80640160-_SDA_BASE_(r13) /* 802B3C5C 002AF8BC 90 61 00 08 */ stw r3, 8(r1) /* 802B3C60 002AF8C0 2C 00 00 00 */ cmpwi r0, 0 /* 802B3C64 002AF8C4 90 81 00 0C */ stw r4, 0xc(r1) /* 802B3C68 002AF8C8 90 A1 00 10 */ stw r5, 0x10(r1) /* 802B3C6C 002AF8CC 90 C1 00 14 */ stw r6, 0x14(r1) /* 802B3C70 002AF8D0 90 E1 00 18 */ stw r7, 0x18(r1) /* 802B3C74 002AF8D4 91 01 00 1C */ stw r8, 0x1c(r1) /* 802B3C78 002AF8D8 91 21 00 20 */ stw r9, 0x20(r1) /* 802B3C7C 002AF8DC 91 41 00 24 */ stw r10, 0x24(r1) /* 802B3C80 002AF8E0 41 82 00 34 */ beq lbl_802B3CB4 /* 802B3C84 002AF8E4 38 6D 89 B4 */ addi r3, r13, lbl_8063DC74-_SDA_BASE_ /* 802B3C88 002AF8E8 4C C6 31 82 */ crclr 6 /* 802B3C8C 002AF8EC 4B D5 3E 39 */ bl OSReport /* 802B3C90 002AF8F0 38 A1 00 88 */ addi r5, r1, 0x88 /* 802B3C94 002AF8F4 38 01 00 08 */ addi r0, r1, 8 /* 802B3C98 002AF8F8 3C 60 01 00 */ lis r3, 0x100 /* 802B3C9C 002AF8FC 90 A1 00 6C */ stw r5, 0x6c(r1) /* 802B3CA0 002AF900 38 81 00 68 */ addi r4, r1, 0x68 /* 802B3CA4 002AF904 90 61 00 68 */ stw r3, 0x68(r1) /* 802B3CA8 002AF908 7F E3 FB 78 */ mr r3, r31 /* 802B3CAC 002AF90C 90 01 00 70 */ stw r0, 0x70(r1) /* 802B3CB0 002AF910 4B F1 8C 7D */ bl vprintf lbl_802B3CB4: /* 802B3CB4 002AF914 80 01 00 84 */ lwz r0, 0x84(r1) /* 802B3CB8 002AF918 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 802B3CBC 002AF91C 7C 08 03 A6 */ mtlr r0 /* 802B3CC0 002AF920 38 21 00 80 */ addi r1, r1, 0x80 /* 802B3CC4 002AF924 4E 80 00 20 */ blr .global USB_ERR USB_ERR: /* 802B3CC8 002AF928 94 21 FF 80 */ stwu r1, -0x80(r1) /* 802B3CCC 002AF92C 7C 08 02 A6 */ mflr r0 /* 802B3CD0 002AF930 90 01 00 84 */ stw r0, 0x84(r1) /* 802B3CD4 002AF934 93 E1 00 7C */ stw r31, 0x7c(r1) /* 802B3CD8 002AF938 7C 7F 1B 78 */ mr r31, r3 /* 802B3CDC 002AF93C 40 86 00 24 */ bne cr1, lbl_802B3D00 /* 802B3CE0 002AF940 D8 21 00 28 */ stfd f1, 0x28(r1) /* 802B3CE4 002AF944 D8 41 00 30 */ stfd f2, 0x30(r1) /* 802B3CE8 002AF948 D8 61 00 38 */ stfd f3, 0x38(r1) /* 802B3CEC 002AF94C D8 81 00 40 */ stfd f4, 0x40(r1) /* 802B3CF0 002AF950 D8 A1 00 48 */ stfd f5, 0x48(r1) /* 802B3CF4 002AF954 D8 C1 00 50 */ stfd f6, 0x50(r1) /* 802B3CF8 002AF958 D8 E1 00 58 */ stfd f7, 0x58(r1) /* 802B3CFC 002AF95C D9 01 00 60 */ stfd f8, 0x60(r1) lbl_802B3D00: /* 802B3D00 002AF960 88 0D AE A0 */ lbz r0, lbl_80640160-_SDA_BASE_(r13) /* 802B3D04 002AF964 90 61 00 08 */ stw r3, 8(r1) /* 802B3D08 002AF968 2C 00 00 00 */ cmpwi r0, 0 /* 802B3D0C 002AF96C 90 81 00 0C */ stw r4, 0xc(r1) /* 802B3D10 002AF970 90 A1 00 10 */ stw r5, 0x10(r1) /* 802B3D14 002AF974 90 C1 00 14 */ stw r6, 0x14(r1) /* 802B3D18 002AF978 90 E1 00 18 */ stw r7, 0x18(r1) /* 802B3D1C 002AF97C 91 01 00 1C */ stw r8, 0x1c(r1) /* 802B3D20 002AF980 91 21 00 20 */ stw r9, 0x20(r1) /* 802B3D24 002AF984 91 41 00 24 */ stw r10, 0x24(r1) /* 802B3D28 002AF988 41 82 00 38 */ beq lbl_802B3D60 /* 802B3D2C 002AF98C 3C 60 80 44 */ lis r3, lbl_8043DA28@ha /* 802B3D30 002AF990 38 63 DA 28 */ addi r3, r3, lbl_8043DA28@l /* 802B3D34 002AF994 4C C6 31 82 */ crclr 6 /* 802B3D38 002AF998 4B D5 3D 8D */ bl OSReport /* 802B3D3C 002AF99C 38 A1 00 88 */ addi r5, r1, 0x88 /* 802B3D40 002AF9A0 38 01 00 08 */ addi r0, r1, 8 /* 802B3D44 002AF9A4 3C 60 01 00 */ lis r3, 0x100 /* 802B3D48 002AF9A8 90 A1 00 6C */ stw r5, 0x6c(r1) /* 802B3D4C 002AF9AC 38 81 00 68 */ addi r4, r1, 0x68 /* 802B3D50 002AF9B0 90 61 00 68 */ stw r3, 0x68(r1) /* 802B3D54 002AF9B4 7F E3 FB 78 */ mr r3, r31 /* 802B3D58 002AF9B8 90 01 00 70 */ stw r0, 0x70(r1) /* 802B3D5C 002AF9BC 4B F1 8B D1 */ bl vprintf lbl_802B3D60: /* 802B3D60 002AF9C0 80 01 00 84 */ lwz r0, 0x84(r1) /* 802B3D64 002AF9C4 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 802B3D68 002AF9C8 7C 08 03 A6 */ mtlr r0 /* 802B3D6C 002AF9CC 38 21 00 80 */ addi r1, r1, 0x80 /* 802B3D70 002AF9D0 4E 80 00 20 */ blr .global IUSB_OpenLib IUSB_OpenLib: /* 802B3D74 002AF9D4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802B3D78 002AF9D8 7C 08 02 A6 */ mflr r0 /* 802B3D7C 002AF9DC 90 01 00 24 */ stw r0, 0x24(r1) /* 802B3D80 002AF9E0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802B3D84 002AF9E4 3F E0 80 44 */ lis r31, lbl_8043DA28@ha /* 802B3D88 002AF9E8 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l /* 802B3D8C 002AF9EC 93 C1 00 18 */ stw r30, 0x18(r1) /* 802B3D90 002AF9F0 3B C0 00 00 */ li r30, 0 /* 802B3D94 002AF9F4 93 A1 00 14 */ stw r29, 0x14(r1) /* 802B3D98 002AF9F8 4B FB A9 C5 */ bl OSDisableInterrupts /* 802B3D9C 002AF9FC 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B3DA0 002AFA00 7C 7D 1B 78 */ mr r29, r3 /* 802B3DA4 002AFA04 2C 04 FF FF */ cmpwi r4, -1 /* 802B3DA8 002AFA08 41 82 00 14 */ beq lbl_802B3DBC /* 802B3DAC 002AFA0C 38 7F 00 0C */ addi r3, r31, 0xc /* 802B3DB0 002AFA10 4C C6 31 82 */ crclr 6 /* 802B3DB4 002AFA14 4B FF FE 6D */ bl USB_LOG /* 802B3DB8 002AFA18 48 00 00 8C */ b lbl_802B3E44 lbl_802B3DBC: /* 802B3DBC 002AFA1C 80 0D AE 98 */ lwz r0, lbl_80640158-_SDA_BASE_(r13) /* 802B3DC0 002AFA20 2C 00 00 00 */ cmpwi r0, 0 /* 802B3DC4 002AFA24 40 82 00 58 */ bne lbl_802B3E1C /* 802B3DC8 002AFA28 4B FE EB 2D */ bl IPCGetBufferLo /* 802B3DCC 002AFA2C 90 6D AE 98 */ stw r3, lbl_80640158-_SDA_BASE_(r13) /* 802B3DD0 002AFA30 4B FE EB 1D */ bl IPCGetBufferHi /* 802B3DD4 002AFA34 90 6D AE 9C */ stw r3, lbl_8064015C-_SDA_BASE_(r13) /* 802B3DD8 002AFA38 7C 66 1B 78 */ mr r6, r3 /* 802B3DDC 002AFA3C 80 AD AE 98 */ lwz r5, lbl_80640158-_SDA_BASE_(r13) /* 802B3DE0 002AFA40 38 7F 00 3C */ addi r3, r31, 0x3c /* 802B3DE4 002AFA44 38 80 00 80 */ li r4, 0x80 /* 802B3DE8 002AFA48 4C C6 31 82 */ crclr 6 /* 802B3DEC 002AFA4C 4B FF FE 35 */ bl USB_LOG /* 802B3DF0 002AFA50 80 6D AE 98 */ lwz r3, lbl_80640158-_SDA_BASE_(r13) /* 802B3DF4 002AFA54 80 0D AE 9C */ lwz r0, lbl_8064015C-_SDA_BASE_(r13) /* 802B3DF8 002AFA58 38 63 10 00 */ addi r3, r3, 0x1000 /* 802B3DFC 002AFA5C 7C 03 00 40 */ cmplw r3, r0 /* 802B3E00 002AFA60 40 81 00 18 */ ble lbl_802B3E18 /* 802B3E04 002AFA64 38 7F 00 5C */ addi r3, r31, 0x5c /* 802B3E08 002AFA68 4C C6 31 82 */ crclr 6 /* 802B3E0C 002AFA6C 4B FF FE BD */ bl USB_ERR /* 802B3E10 002AFA70 3B C0 FF EA */ li r30, -22 /* 802B3E14 002AFA74 48 00 00 30 */ b lbl_802B3E44 lbl_802B3E18: /* 802B3E18 002AFA78 4B FE EA E5 */ bl IPCSetBufferLo lbl_802B3E1C: /* 802B3E1C 002AFA7C 80 6D AE 98 */ lwz r3, lbl_80640158-_SDA_BASE_(r13) /* 802B3E20 002AFA80 38 80 10 00 */ li r4, 0x1000 /* 802B3E24 002AFA84 4B FF 01 E1 */ bl iosCreateHeap /* 802B3E28 002AFA88 2C 03 00 00 */ cmpwi r3, 0 /* 802B3E2C 002AFA8C 90 6D 89 B0 */ stw r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B3E30 002AFA90 40 80 00 14 */ bge lbl_802B3E44 /* 802B3E34 002AFA94 38 7F 00 74 */ addi r3, r31, 0x74 /* 802B3E38 002AFA98 4C C6 31 82 */ crclr 6 /* 802B3E3C 002AFA9C 4B FF FE 8D */ bl USB_ERR /* 802B3E40 002AFAA0 3B C0 FF EA */ li r30, -22 lbl_802B3E44: /* 802B3E44 002AFAA4 7F A3 EB 78 */ mr r3, r29 /* 802B3E48 002AFAA8 4B FB A9 3D */ bl OSRestoreInterrupts /* 802B3E4C 002AFAAC 7F C3 F3 78 */ mr r3, r30 /* 802B3E50 002AFAB0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802B3E54 002AFAB4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802B3E58 002AFAB8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802B3E5C 002AFABC 80 01 00 24 */ lwz r0, 0x24(r1) /* 802B3E60 002AFAC0 7C 08 03 A6 */ mtlr r0 /* 802B3E64 002AFAC4 38 21 00 20 */ addi r1, r1, 0x20 /* 802B3E68 002AFAC8 4E 80 00 20 */ blr .global IUSB_CloseLib IUSB_CloseLib: /* 802B3E6C 002AFACC 38 60 00 00 */ li r3, 0 /* 802B3E70 002AFAD0 4E 80 00 20 */ blr _intBlkCtrlCb: /* 802B3E74 002AFAD4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802B3E78 002AFAD8 7C 08 02 A6 */ mflr r0 /* 802B3E7C 002AFADC 90 01 00 24 */ stw r0, 0x24(r1) /* 802B3E80 002AFAE0 39 61 00 20 */ addi r11, r1, 0x20 /* 802B3E84 002AFAE4 4B F1 32 A1 */ bl _savegpr_26 /* 802B3E88 002AFAE8 3F E0 80 44 */ lis r31, lbl_8043DA28@ha /* 802B3E8C 002AFAEC 7C 7A 1B 78 */ mr r26, r3 /* 802B3E90 002AFAF0 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l /* 802B3E94 002AFAF4 7C 9B 23 78 */ mr r27, r4 /* 802B3E98 002AFAF8 7F 44 D3 78 */ mr r4, r26 /* 802B3E9C 002AFAFC 38 7F 00 88 */ addi r3, r31, 0x88 /* 802B3EA0 002AFB00 4C C6 31 82 */ crclr 6 /* 802B3EA4 002AFB04 4B FF FD 7D */ bl USB_LOG /* 802B3EA8 002AFB08 80 9B 00 2C */ lwz r4, 0x2c(r27) /* 802B3EAC 002AFB0C 38 7F 00 A8 */ addi r3, r31, 0xa8 /* 802B3EB0 002AFB10 4C C6 31 82 */ crclr 6 /* 802B3EB4 002AFB14 4B FF FD 6D */ bl USB_LOG /* 802B3EB8 002AFB18 80 1B 00 2C */ lwz r0, 0x2c(r27) /* 802B3EBC 002AFB1C 28 00 00 07 */ cmplwi r0, 7 /* 802B3EC0 002AFB20 41 82 00 24 */ beq lbl_802B3EE4 /* 802B3EC4 002AFB24 28 00 00 03 */ cmplwi r0, 3 /* 802B3EC8 002AFB28 41 82 00 1C */ beq lbl_802B3EE4 /* 802B3ECC 002AFB2C 2C 00 00 00 */ cmpwi r0, 0 /* 802B3ED0 002AFB30 41 82 00 14 */ beq lbl_802B3EE4 /* 802B3ED4 002AFB34 38 7F 00 C8 */ addi r3, r31, 0xc8 /* 802B3ED8 002AFB38 4C C6 31 82 */ crclr 6 /* 802B3EDC 002AFB3C 4B FF FD ED */ bl USB_ERR /* 802B3EE0 002AFB40 48 00 00 70 */ b lbl_802B3F50 lbl_802B3EE4: /* 802B3EE4 002AFB44 7F 7D DB 78 */ mr r29, r27 /* 802B3EE8 002AFB48 3B 80 00 00 */ li r28, 0 /* 802B3EEC 002AFB4C 48 00 00 58 */ b lbl_802B3F44 lbl_802B3EF0: /* 802B3EF0 002AFB50 80 BD 00 0C */ lwz r5, 0xc(r29) /* 802B3EF4 002AFB54 7F 84 E3 78 */ mr r4, r28 /* 802B3EF8 002AFB58 38 7F 00 F0 */ addi r3, r31, 0xf0 /* 802B3EFC 002AFB5C 4C C6 31 82 */ crclr 6 /* 802B3F00 002AFB60 4B FF FD 21 */ bl USB_LOG /* 802B3F04 002AFB64 83 DD 00 0C */ lwz r30, 0xc(r29) /* 802B3F08 002AFB68 2C 1E 00 00 */ cmpwi r30, 0 /* 802B3F0C 002AFB6C 41 82 00 30 */ beq lbl_802B3F3C /* 802B3F10 002AFB70 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B3F14 002AFB74 7F C4 F3 78 */ mr r4, r30 /* 802B3F18 002AFB78 4B FF 04 25 */ bl iosFree /* 802B3F1C 002AFB7C 2C 03 00 00 */ cmpwi r3, 0 /* 802B3F20 002AFB80 40 80 00 1C */ bge lbl_802B3F3C /* 802B3F24 002AFB84 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B3F28 002AFB88 7C 66 1B 78 */ mr r6, r3 /* 802B3F2C 002AFB8C 7F C5 F3 78 */ mr r5, r30 /* 802B3F30 002AFB90 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B3F34 002AFB94 4C C6 31 82 */ crclr 6 /* 802B3F38 002AFB98 4B FF FD 91 */ bl USB_ERR lbl_802B3F3C: /* 802B3F3C 002AFB9C 3B BD 00 04 */ addi r29, r29, 4 /* 802B3F40 002AFBA0 3B 9C 00 01 */ addi r28, r28, 1 lbl_802B3F44: /* 802B3F44 002AFBA4 80 1B 00 2C */ lwz r0, 0x2c(r27) /* 802B3F48 002AFBA8 7C 1C 00 40 */ cmplw r28, r0 /* 802B3F4C 002AFBAC 41 80 FF A4 */ blt lbl_802B3EF0 lbl_802B3F50: /* 802B3F50 002AFBB0 80 9B 00 00 */ lwz r4, 0(r27) /* 802B3F54 002AFBB4 38 7F 01 28 */ addi r3, r31, 0x128 /* 802B3F58 002AFBB8 80 BB 00 04 */ lwz r5, 4(r27) /* 802B3F5C 002AFBBC 4C C6 31 82 */ crclr 6 /* 802B3F60 002AFBC0 4B FF FC C1 */ bl USB_LOG /* 802B3F64 002AFBC4 81 9B 00 00 */ lwz r12, 0(r27) /* 802B3F68 002AFBC8 2C 0C 00 00 */ cmpwi r12, 0 /* 802B3F6C 002AFBCC 41 82 00 14 */ beq lbl_802B3F80 /* 802B3F70 002AFBD0 7F 43 D3 78 */ mr r3, r26 /* 802B3F74 002AFBD4 80 9B 00 04 */ lwz r4, 4(r27) /* 802B3F78 002AFBD8 7D 89 03 A6 */ mtctr r12 /* 802B3F7C 002AFBDC 4E 80 04 21 */ bctrl lbl_802B3F80: /* 802B3F80 002AFBE0 2C 1B 00 00 */ cmpwi r27, 0 /* 802B3F84 002AFBE4 41 82 00 30 */ beq lbl_802B3FB4 /* 802B3F88 002AFBE8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B3F8C 002AFBEC 7F 64 DB 78 */ mr r4, r27 /* 802B3F90 002AFBF0 4B FF 03 AD */ bl iosFree /* 802B3F94 002AFBF4 2C 03 00 00 */ cmpwi r3, 0 /* 802B3F98 002AFBF8 40 80 00 1C */ bge lbl_802B3FB4 /* 802B3F9C 002AFBFC 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B3FA0 002AFC00 7C 66 1B 78 */ mr r6, r3 /* 802B3FA4 002AFC04 7F 65 DB 78 */ mr r5, r27 /* 802B3FA8 002AFC08 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B3FAC 002AFC0C 4C C6 31 82 */ crclr 6 /* 802B3FB0 002AFC10 4B FF FD 19 */ bl USB_ERR lbl_802B3FB4: /* 802B3FB4 002AFC14 39 61 00 20 */ addi r11, r1, 0x20 /* 802B3FB8 002AFC18 7F 43 D3 78 */ mr r3, r26 /* 802B3FBC 002AFC1C 4B F1 31 B5 */ bl _restgpr_26 /* 802B3FC0 002AFC20 80 01 00 24 */ lwz r0, 0x24(r1) /* 802B3FC4 002AFC24 7C 08 03 A6 */ mtlr r0 /* 802B3FC8 002AFC28 38 21 00 20 */ addi r1, r1, 0x20 /* 802B3FCC 002AFC2C 4E 80 00 20 */ blr .global IUSB_OpenDeviceIds IUSB_OpenDeviceIds: /* 802B3FD0 002AFC30 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802B3FD4 002AFC34 7C 08 02 A6 */ mflr r0 /* 802B3FD8 002AFC38 90 01 00 24 */ stw r0, 0x24(r1) /* 802B3FDC 002AFC3C 39 61 00 20 */ addi r11, r1, 0x20 /* 802B3FE0 002AFC40 4B F1 31 45 */ bl _savegpr_26 /* 802B3FE4 002AFC44 2C 06 00 00 */ cmpwi r6, 0 /* 802B3FE8 002AFC48 3F E0 80 44 */ lis r31, lbl_8043DA28@ha /* 802B3FEC 002AFC4C 7C 7A 1B 78 */ mr r26, r3 /* 802B3FF0 002AFC50 7C 9B 23 78 */ mr r27, r4 /* 802B3FF4 002AFC54 7C BE 2B 78 */ mr r30, r5 /* 802B3FF8 002AFC58 7C DC 33 78 */ mr r28, r6 /* 802B3FFC 002AFC5C 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l /* 802B4000 002AFC60 3B A0 00 00 */ li r29, 0 /* 802B4004 002AFC64 40 82 00 0C */ bne lbl_802B4010 /* 802B4008 002AFC68 3B C0 FF FC */ li r30, -4 /* 802B400C 002AFC6C 48 00 00 A8 */ b lbl_802B40B4 lbl_802B4010: /* 802B4010 002AFC70 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4014 002AFC74 38 80 00 80 */ li r4, 0x80 /* 802B4018 002AFC78 38 A0 00 20 */ li r5, 0x20 /* 802B401C 002AFC7C 4B FF 03 1D */ bl iosAllocAligned /* 802B4020 002AFC80 2C 03 00 00 */ cmpwi r3, 0 /* 802B4024 002AFC84 7C 7D 1B 78 */ mr r29, r3 /* 802B4028 002AFC88 40 82 00 1C */ bne lbl_802B4044 /* 802B402C 002AFC8C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4030 002AFC90 7F A6 EB 78 */ mr r6, r29 /* 802B4034 002AFC94 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B4038 002AFC98 38 A0 00 80 */ li r5, 0x80 /* 802B403C 002AFC9C 4C C6 31 82 */ crclr 6 /* 802B4040 002AFCA0 4B FF FC 89 */ bl USB_ERR lbl_802B4044: /* 802B4044 002AFCA4 2C 1D 00 00 */ cmpwi r29, 0 /* 802B4048 002AFCA8 40 82 00 18 */ bne lbl_802B4060 /* 802B404C 002AFCAC 38 7F 01 60 */ addi r3, r31, 0x160 /* 802B4050 002AFCB0 4C C6 31 82 */ crclr 6 /* 802B4054 002AFCB4 4B FF FC 75 */ bl USB_ERR /* 802B4058 002AFCB8 3B C0 FF EA */ li r30, -22 /* 802B405C 002AFCBC 48 00 00 58 */ b lbl_802B40B4 lbl_802B4060: /* 802B4060 002AFCC0 7F 46 D3 78 */ mr r6, r26 /* 802B4064 002AFCC4 7F 67 DB 78 */ mr r7, r27 /* 802B4068 002AFCC8 7F C8 F3 78 */ mr r8, r30 /* 802B406C 002AFCCC 38 7D 00 40 */ addi r3, r29, 0x40 /* 802B4070 002AFCD0 38 BF 01 84 */ addi r5, r31, 0x184 /* 802B4074 002AFCD4 38 80 00 40 */ li r4, 0x40 /* 802B4078 002AFCD8 4C C6 31 82 */ crclr 6 /* 802B407C 002AFCDC 4B F1 89 A9 */ bl snprintf /* 802B4080 002AFCE0 38 7F 01 98 */ addi r3, r31, 0x198 /* 802B4084 002AFCE4 38 9D 00 40 */ addi r4, r29, 0x40 /* 802B4088 002AFCE8 4C C6 31 82 */ crclr 6 /* 802B408C 002AFCEC 4B FF FB 95 */ bl USB_LOG /* 802B4090 002AFCF0 38 7D 00 40 */ addi r3, r29, 0x40 /* 802B4094 002AFCF4 38 80 00 00 */ li r4, 0 /* 802B4098 002AFCF8 4B FE F0 C1 */ bl IOS_Open /* 802B409C 002AFCFC 7C 7E 1B 78 */ mr r30, r3 /* 802B40A0 002AFD00 38 7F 01 AC */ addi r3, r31, 0x1ac /* 802B40A4 002AFD04 7F C4 F3 78 */ mr r4, r30 /* 802B40A8 002AFD08 4C C6 31 82 */ crclr 6 /* 802B40AC 002AFD0C 4B FF FB 75 */ bl USB_LOG /* 802B40B0 002AFD10 93 DC 00 00 */ stw r30, 0(r28) lbl_802B40B4: /* 802B40B4 002AFD14 2C 1D 00 00 */ cmpwi r29, 0 /* 802B40B8 002AFD18 41 82 00 30 */ beq lbl_802B40E8 /* 802B40BC 002AFD1C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B40C0 002AFD20 7F A4 EB 78 */ mr r4, r29 /* 802B40C4 002AFD24 4B FF 02 79 */ bl iosFree /* 802B40C8 002AFD28 2C 03 00 00 */ cmpwi r3, 0 /* 802B40CC 002AFD2C 40 80 00 1C */ bge lbl_802B40E8 /* 802B40D0 002AFD30 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B40D4 002AFD34 7C 66 1B 78 */ mr r6, r3 /* 802B40D8 002AFD38 7F A5 EB 78 */ mr r5, r29 /* 802B40DC 002AFD3C 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B40E0 002AFD40 4C C6 31 82 */ crclr 6 /* 802B40E4 002AFD44 4B FF FB E5 */ bl USB_ERR lbl_802B40E8: /* 802B40E8 002AFD48 39 61 00 20 */ addi r11, r1, 0x20 /* 802B40EC 002AFD4C 7F C3 F3 78 */ mr r3, r30 /* 802B40F0 002AFD50 4B F1 30 81 */ bl _restgpr_26 /* 802B40F4 002AFD54 80 01 00 24 */ lwz r0, 0x24(r1) /* 802B40F8 002AFD58 7C 08 03 A6 */ mtlr r0 /* 802B40FC 002AFD5C 38 21 00 20 */ addi r1, r1, 0x20 /* 802B4100 002AFD60 4E 80 00 20 */ blr .global IUSB_CloseDeviceAsync IUSB_CloseDeviceAsync: /* 802B4104 002AFD64 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802B4108 002AFD68 7C 08 02 A6 */ mflr r0 /* 802B410C 002AFD6C 90 01 00 24 */ stw r0, 0x24(r1) /* 802B4110 002AFD70 39 61 00 20 */ addi r11, r1, 0x20 /* 802B4114 002AFD74 4B F1 30 15 */ bl _savegpr_27 /* 802B4118 002AFD78 3F E0 80 44 */ lis r31, lbl_8043DA28@ha /* 802B411C 002AFD7C 7C 7B 1B 78 */ mr r27, r3 /* 802B4120 002AFD80 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l /* 802B4124 002AFD84 7C 9C 23 78 */ mr r28, r4 /* 802B4128 002AFD88 7C BD 2B 78 */ mr r29, r5 /* 802B412C 002AFD8C 38 7F 01 FC */ addi r3, r31, 0x1fc /* 802B4130 002AFD90 4C C6 31 82 */ crclr 6 /* 802B4134 002AFD94 4B FF FA ED */ bl USB_LOG /* 802B4138 002AFD98 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B413C 002AFD9C 38 80 00 80 */ li r4, 0x80 /* 802B4140 002AFDA0 38 A0 00 20 */ li r5, 0x20 /* 802B4144 002AFDA4 4B FF 01 F5 */ bl iosAllocAligned /* 802B4148 002AFDA8 2C 03 00 00 */ cmpwi r3, 0 /* 802B414C 002AFDAC 7C 7E 1B 78 */ mr r30, r3 /* 802B4150 002AFDB0 40 82 00 1C */ bne lbl_802B416C /* 802B4154 002AFDB4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4158 002AFDB8 7F C6 F3 78 */ mr r6, r30 /* 802B415C 002AFDBC 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B4160 002AFDC0 38 A0 00 80 */ li r5, 0x80 /* 802B4164 002AFDC4 4C C6 31 82 */ crclr 6 /* 802B4168 002AFDC8 4B FF FB 61 */ bl USB_ERR lbl_802B416C: /* 802B416C 002AFDCC 2C 1E 00 00 */ cmpwi r30, 0 /* 802B4170 002AFDD0 40 82 00 18 */ bne lbl_802B4188 /* 802B4174 002AFDD4 38 7F 02 28 */ addi r3, r31, 0x228 /* 802B4178 002AFDD8 4C C6 31 82 */ crclr 6 /* 802B417C 002AFDDC 4B FF FB 4D */ bl USB_ERR /* 802B4180 002AFDE0 3B A0 FF EA */ li r29, -22 /* 802B4184 002AFDE4 48 00 00 78 */ b lbl_802B41FC lbl_802B4188: /* 802B4188 002AFDE8 93 9E 00 00 */ stw r28, 0(r30) /* 802B418C 002AFDEC 3C 80 80 2B */ lis r4, _intBlkCtrlCb@ha /* 802B4190 002AFDF0 38 00 00 00 */ li r0, 0 /* 802B4194 002AFDF4 7F 63 DB 78 */ mr r3, r27 /* 802B4198 002AFDF8 93 BE 00 04 */ stw r29, 4(r30) /* 802B419C 002AFDFC 7F C5 F3 78 */ mr r5, r30 /* 802B41A0 002AFE00 38 84 3E 74 */ addi r4, r4, _intBlkCtrlCb@l /* 802B41A4 002AFE04 90 1E 00 2C */ stw r0, 0x2c(r30) /* 802B41A8 002AFE08 4B FE F0 D1 */ bl IOS_CloseAsync /* 802B41AC 002AFE0C 7C 7D 1B 78 */ mr r29, r3 /* 802B41B0 002AFE10 38 7F 02 0C */ addi r3, r31, 0x20c /* 802B41B4 002AFE14 7F A4 EB 78 */ mr r4, r29 /* 802B41B8 002AFE18 4C C6 31 82 */ crclr 6 /* 802B41BC 002AFE1C 4B FF FA 65 */ bl USB_LOG /* 802B41C0 002AFE20 2C 1D 00 00 */ cmpwi r29, 0 /* 802B41C4 002AFE24 40 80 00 38 */ bge lbl_802B41FC /* 802B41C8 002AFE28 2C 1E 00 00 */ cmpwi r30, 0 /* 802B41CC 002AFE2C 41 82 00 30 */ beq lbl_802B41FC /* 802B41D0 002AFE30 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B41D4 002AFE34 7F C4 F3 78 */ mr r4, r30 /* 802B41D8 002AFE38 4B FF 01 65 */ bl iosFree /* 802B41DC 002AFE3C 2C 03 00 00 */ cmpwi r3, 0 /* 802B41E0 002AFE40 40 80 00 1C */ bge lbl_802B41FC /* 802B41E4 002AFE44 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B41E8 002AFE48 7C 66 1B 78 */ mr r6, r3 /* 802B41EC 002AFE4C 7F C5 F3 78 */ mr r5, r30 /* 802B41F0 002AFE50 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B41F4 002AFE54 4C C6 31 82 */ crclr 6 /* 802B41F8 002AFE58 4B FF FA D1 */ bl USB_ERR lbl_802B41FC: /* 802B41FC 002AFE5C 39 61 00 20 */ addi r11, r1, 0x20 /* 802B4200 002AFE60 7F A3 EB 78 */ mr r3, r29 /* 802B4204 002AFE64 4B F1 2F 71 */ bl _restgpr_27 /* 802B4208 002AFE68 80 01 00 24 */ lwz r0, 0x24(r1) /* 802B420C 002AFE6C 7C 08 03 A6 */ mtlr r0 /* 802B4210 002AFE70 38 21 00 20 */ addi r1, r1, 0x20 /* 802B4214 002AFE74 4E 80 00 20 */ blr .global __IntrBlkMsgInt __IntrBlkMsgInt: /* 802B4218 002AFE78 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802B421C 002AFE7C 7C 08 02 A6 */ mflr r0 /* 802B4220 002AFE80 90 01 00 44 */ stw r0, 0x44(r1) /* 802B4224 002AFE84 39 61 00 40 */ addi r11, r1, 0x40 /* 802B4228 002AFE88 4B F1 2E E5 */ bl _savegpr_20 /* 802B422C 002AFE8C 7C 74 1B 78 */ mr r20, r3 /* 802B4230 002AFE90 3F E0 80 44 */ lis r31, lbl_8043DA28@ha /* 802B4234 002AFE94 7C 9E 23 78 */ mr r30, r4 /* 802B4238 002AFE98 7C B5 2B 78 */ mr r21, r5 /* 802B423C 002AFE9C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4240 002AFEA0 7C D6 33 78 */ mr r22, r6 /* 802B4244 002AFEA4 7C F7 3B 78 */ mr r23, r7 /* 802B4248 002AFEA8 7D 18 43 78 */ mr r24, r8 /* 802B424C 002AFEAC 7D 39 4B 78 */ mr r25, r9 /* 802B4250 002AFEB0 7D 5D 53 78 */ mr r29, r10 /* 802B4254 002AFEB4 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l /* 802B4258 002AFEB8 38 80 00 60 */ li r4, 0x60 /* 802B425C 002AFEBC 38 A0 00 20 */ li r5, 0x20 /* 802B4260 002AFEC0 4B FF 00 D9 */ bl iosAllocAligned /* 802B4264 002AFEC4 2C 03 00 00 */ cmpwi r3, 0 /* 802B4268 002AFEC8 7C 7C 1B 78 */ mr r28, r3 /* 802B426C 002AFECC 40 82 00 1C */ bne lbl_802B4288 /* 802B4270 002AFED0 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4274 002AFED4 7F 86 E3 78 */ mr r6, r28 /* 802B4278 002AFED8 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B427C 002AFEDC 38 A0 00 60 */ li r5, 0x60 /* 802B4280 002AFEE0 4C C6 31 82 */ crclr 6 /* 802B4284 002AFEE4 4B FF FA 45 */ bl USB_ERR lbl_802B4288: /* 802B4288 002AFEE8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B428C 002AFEEC 38 80 00 20 */ li r4, 0x20 /* 802B4290 002AFEF0 38 A0 00 20 */ li r5, 0x20 /* 802B4294 002AFEF4 4B FF 00 A5 */ bl iosAllocAligned /* 802B4298 002AFEF8 2C 03 00 00 */ cmpwi r3, 0 /* 802B429C 002AFEFC 7C 7B 1B 78 */ mr r27, r3 /* 802B42A0 002AFF00 40 82 00 1C */ bne lbl_802B42BC /* 802B42A4 002AFF04 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B42A8 002AFF08 7F 66 DB 78 */ mr r6, r27 /* 802B42AC 002AFF0C 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B42B0 002AFF10 38 A0 00 20 */ li r5, 0x20 /* 802B42B4 002AFF14 4C C6 31 82 */ crclr 6 /* 802B42B8 002AFF18 4B FF FA 11 */ bl USB_ERR lbl_802B42BC: /* 802B42BC 002AFF1C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B42C0 002AFF20 38 80 00 20 */ li r4, 0x20 /* 802B42C4 002AFF24 38 A0 00 20 */ li r5, 0x20 /* 802B42C8 002AFF28 4B FF 00 71 */ bl iosAllocAligned /* 802B42CC 002AFF2C 2C 03 00 00 */ cmpwi r3, 0 /* 802B42D0 002AFF30 7C 7A 1B 78 */ mr r26, r3 /* 802B42D4 002AFF34 40 82 00 1C */ bne lbl_802B42F0 /* 802B42D8 002AFF38 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B42DC 002AFF3C 7F 46 D3 78 */ mr r6, r26 /* 802B42E0 002AFF40 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B42E4 002AFF44 38 A0 00 20 */ li r5, 0x20 /* 802B42E8 002AFF48 4C C6 31 82 */ crclr 6 /* 802B42EC 002AFF4C 4B FF F9 DD */ bl USB_ERR lbl_802B42F0: /* 802B42F0 002AFF50 2C 1C 00 00 */ cmpwi r28, 0 /* 802B42F4 002AFF54 41 82 00 14 */ beq lbl_802B4308 /* 802B42F8 002AFF58 2C 1B 00 00 */ cmpwi r27, 0 /* 802B42FC 002AFF5C 41 82 00 0C */ beq lbl_802B4308 /* 802B4300 002AFF60 2C 1A 00 00 */ cmpwi r26, 0 /* 802B4304 002AFF64 40 82 00 18 */ bne lbl_802B431C lbl_802B4308: /* 802B4308 002AFF68 38 7F 02 94 */ addi r3, r31, 0x294 /* 802B430C 002AFF6C 4C C6 31 82 */ crclr 6 /* 802B4310 002AFF70 4B FF F9 B9 */ bl USB_ERR /* 802B4314 002AFF74 3B A0 FF EA */ li r29, -22 /* 802B4318 002AFF78 48 00 01 74 */ b lbl_802B448C lbl_802B431C: /* 802B431C 002AFF7C 9B DB 00 00 */ stb r30, 0(r27) /* 802B4320 002AFF80 38 A0 00 01 */ li r5, 1 /* 802B4324 002AFF84 38 00 00 02 */ li r0, 2 /* 802B4328 002AFF88 7F 63 DB 78 */ mr r3, r27 /* 802B432C 002AFF8C B2 BA 00 00 */ sth r21, 0(r26) /* 802B4330 002AFF90 38 80 00 20 */ li r4, 0x20 /* 802B4334 002AFF94 93 7C 00 00 */ stw r27, 0(r28) /* 802B4338 002AFF98 90 BC 00 04 */ stw r5, 4(r28) /* 802B433C 002AFF9C 93 5C 00 08 */ stw r26, 8(r28) /* 802B4340 002AFFA0 90 1C 00 0C */ stw r0, 0xc(r28) /* 802B4344 002AFFA4 92 DC 00 10 */ stw r22, 0x10(r28) /* 802B4348 002AFFA8 92 BC 00 14 */ stw r21, 0x14(r28) /* 802B434C 002AFFAC 4B FB 63 09 */ bl DCFlushRange /* 802B4350 002AFFB0 7F 43 D3 78 */ mr r3, r26 /* 802B4354 002AFFB4 38 80 00 20 */ li r4, 0x20 /* 802B4358 002AFFB8 4B FB 62 FD */ bl DCFlushRange /* 802B435C 002AFFBC 7F 83 E3 78 */ mr r3, r28 /* 802B4360 002AFFC0 38 80 00 60 */ li r4, 0x60 /* 802B4364 002AFFC4 4B FB 62 F1 */ bl DCFlushRange /* 802B4368 002AFFC8 2C 1D 00 00 */ cmpwi r29, 0 /* 802B436C 002AFFCC 40 82 00 34 */ bne lbl_802B43A0 /* 802B4370 002AFFD0 7E 83 A3 78 */ mr r3, r20 /* 802B4374 002AFFD4 7E E4 BB 78 */ mr r4, r23 /* 802B4378 002AFFD8 7F 87 E3 78 */ mr r7, r28 /* 802B437C 002AFFDC 38 A0 00 02 */ li r5, 2 /* 802B4380 002AFFE0 38 C0 00 01 */ li r6, 1 /* 802B4384 002AFFE4 4B FE FA BD */ bl IOS_Ioctlv /* 802B4388 002AFFE8 7C 7D 1B 78 */ mr r29, r3 /* 802B438C 002AFFEC 38 7F 02 B8 */ addi r3, r31, 0x2b8 /* 802B4390 002AFFF0 7F A4 EB 78 */ mr r4, r29 /* 802B4394 002AFFF4 4C C6 31 82 */ crclr 6 /* 802B4398 002AFFF8 4B FF F8 89 */ bl USB_LOG /* 802B439C 002AFFFC 48 00 00 F0 */ b lbl_802B448C lbl_802B43A0: /* 802B43A0 002B0000 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B43A4 002B0004 38 80 00 80 */ li r4, 0x80 /* 802B43A8 002B0008 38 A0 00 20 */ li r5, 0x20 /* 802B43AC 002B000C 4B FE FF 8D */ bl iosAllocAligned /* 802B43B0 002B0010 2C 03 00 00 */ cmpwi r3, 0 /* 802B43B4 002B0014 7C 7E 1B 78 */ mr r30, r3 /* 802B43B8 002B0018 40 82 00 1C */ bne lbl_802B43D4 /* 802B43BC 002B001C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B43C0 002B0020 7F C6 F3 78 */ mr r6, r30 /* 802B43C4 002B0024 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B43C8 002B0028 38 A0 00 80 */ li r5, 0x80 /* 802B43CC 002B002C 4C C6 31 82 */ crclr 6 /* 802B43D0 002B0030 4B FF F8 F9 */ bl USB_ERR lbl_802B43D4: /* 802B43D4 002B0034 2C 1E 00 00 */ cmpwi r30, 0 /* 802B43D8 002B0038 40 82 00 18 */ bne lbl_802B43F0 /* 802B43DC 002B003C 38 7F 02 D8 */ addi r3, r31, 0x2d8 /* 802B43E0 002B0040 4C C6 31 82 */ crclr 6 /* 802B43E4 002B0044 4B FF F8 E5 */ bl USB_ERR /* 802B43E8 002B0048 3B A0 FF EA */ li r29, -22 /* 802B43EC 002B004C 48 00 00 A0 */ b lbl_802B448C lbl_802B43F0: /* 802B43F0 002B0050 93 1E 00 00 */ stw r24, 0(r30) /* 802B43F4 002B0054 7F 04 C3 78 */ mr r4, r24 /* 802B43F8 002B0058 7F 25 CB 78 */ mr r5, r25 /* 802B43FC 002B005C 38 7F 03 04 */ addi r3, r31, 0x304 /* 802B4400 002B0060 93 3E 00 04 */ stw r25, 4(r30) /* 802B4404 002B0064 4C C6 31 82 */ crclr 6 /* 802B4408 002B0068 4B FF F8 19 */ bl USB_LOG /* 802B440C 002B006C 38 00 00 03 */ li r0, 3 /* 802B4410 002B0070 3D 00 80 2B */ lis r8, _intBlkCtrlCb@ha /* 802B4414 002B0074 90 1E 00 2C */ stw r0, 0x2c(r30) /* 802B4418 002B0078 7E 83 A3 78 */ mr r3, r20 /* 802B441C 002B007C 7E E4 BB 78 */ mr r4, r23 /* 802B4420 002B0080 7F 87 E3 78 */ mr r7, r28 /* 802B4424 002B0084 93 7E 00 0C */ stw r27, 0xc(r30) /* 802B4428 002B0088 7F C9 F3 78 */ mr r9, r30 /* 802B442C 002B008C 39 08 3E 74 */ addi r8, r8, _intBlkCtrlCb@l /* 802B4430 002B0090 38 A0 00 02 */ li r5, 2 /* 802B4434 002B0094 93 5E 00 10 */ stw r26, 0x10(r30) /* 802B4438 002B0098 38 C0 00 01 */ li r6, 1 /* 802B443C 002B009C 93 9E 00 14 */ stw r28, 0x14(r30) /* 802B4440 002B00A0 92 DE 00 40 */ stw r22, 0x40(r30) /* 802B4444 002B00A4 B2 BE 00 44 */ sth r21, 0x44(r30) /* 802B4448 002B00A8 4B FE F9 15 */ bl IOS_IoctlvAsync /* 802B444C 002B00AC 2C 03 00 00 */ cmpwi r3, 0 /* 802B4450 002B00B0 7C 7D 1B 78 */ mr r29, r3 /* 802B4454 002B00B4 40 80 00 D4 */ bge lbl_802B4528 /* 802B4458 002B00B8 2C 1E 00 00 */ cmpwi r30, 0 /* 802B445C 002B00BC 41 82 00 30 */ beq lbl_802B448C /* 802B4460 002B00C0 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4464 002B00C4 7F C4 F3 78 */ mr r4, r30 /* 802B4468 002B00C8 4B FE FE D5 */ bl iosFree /* 802B446C 002B00CC 2C 03 00 00 */ cmpwi r3, 0 /* 802B4470 002B00D0 40 80 00 1C */ bge lbl_802B448C /* 802B4474 002B00D4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4478 002B00D8 7C 66 1B 78 */ mr r6, r3 /* 802B447C 002B00DC 7F C5 F3 78 */ mr r5, r30 /* 802B4480 002B00E0 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4484 002B00E4 4C C6 31 82 */ crclr 6 /* 802B4488 002B00E8 4B FF F8 41 */ bl USB_ERR lbl_802B448C: /* 802B448C 002B00EC 2C 1B 00 00 */ cmpwi r27, 0 /* 802B4490 002B00F0 41 82 00 30 */ beq lbl_802B44C0 /* 802B4494 002B00F4 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4498 002B00F8 7F 64 DB 78 */ mr r4, r27 /* 802B449C 002B00FC 4B FE FE A1 */ bl iosFree /* 802B44A0 002B0100 2C 03 00 00 */ cmpwi r3, 0 /* 802B44A4 002B0104 40 80 00 1C */ bge lbl_802B44C0 /* 802B44A8 002B0108 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B44AC 002B010C 7C 66 1B 78 */ mr r6, r3 /* 802B44B0 002B0110 7F 65 DB 78 */ mr r5, r27 /* 802B44B4 002B0114 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B44B8 002B0118 4C C6 31 82 */ crclr 6 /* 802B44BC 002B011C 4B FF F8 0D */ bl USB_ERR lbl_802B44C0: /* 802B44C0 002B0120 2C 1A 00 00 */ cmpwi r26, 0 /* 802B44C4 002B0124 41 82 00 30 */ beq lbl_802B44F4 /* 802B44C8 002B0128 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B44CC 002B012C 7F 44 D3 78 */ mr r4, r26 /* 802B44D0 002B0130 4B FE FE 6D */ bl iosFree /* 802B44D4 002B0134 2C 03 00 00 */ cmpwi r3, 0 /* 802B44D8 002B0138 40 80 00 1C */ bge lbl_802B44F4 /* 802B44DC 002B013C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B44E0 002B0140 7C 66 1B 78 */ mr r6, r3 /* 802B44E4 002B0144 7F 45 D3 78 */ mr r5, r26 /* 802B44E8 002B0148 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B44EC 002B014C 4C C6 31 82 */ crclr 6 /* 802B44F0 002B0150 4B FF F7 D9 */ bl USB_ERR lbl_802B44F4: /* 802B44F4 002B0154 2C 1C 00 00 */ cmpwi r28, 0 /* 802B44F8 002B0158 41 82 00 30 */ beq lbl_802B4528 /* 802B44FC 002B015C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4500 002B0160 7F 84 E3 78 */ mr r4, r28 /* 802B4504 002B0164 4B FE FE 39 */ bl iosFree /* 802B4508 002B0168 2C 03 00 00 */ cmpwi r3, 0 /* 802B450C 002B016C 40 80 00 1C */ bge lbl_802B4528 /* 802B4510 002B0170 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4514 002B0174 7C 66 1B 78 */ mr r6, r3 /* 802B4518 002B0178 7F 85 E3 78 */ mr r5, r28 /* 802B451C 002B017C 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4520 002B0180 4C C6 31 82 */ crclr 6 /* 802B4524 002B0184 4B FF F7 A5 */ bl USB_ERR lbl_802B4528: /* 802B4528 002B0188 39 61 00 40 */ addi r11, r1, 0x40 /* 802B452C 002B018C 7F A3 EB 78 */ mr r3, r29 /* 802B4530 002B0190 4B F1 2C 29 */ bl _restgpr_20 /* 802B4534 002B0194 80 01 00 44 */ lwz r0, 0x44(r1) /* 802B4538 002B0198 7C 08 03 A6 */ mtlr r0 /* 802B453C 002B019C 38 21 00 40 */ addi r1, r1, 0x40 /* 802B4540 002B01A0 4E 80 00 20 */ blr .global IUSB_ReadIntrMsgAsync IUSB_ReadIntrMsgAsync: /* 802B4544 002B01A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802B4548 002B01A8 7C 08 02 A6 */ mflr r0 /* 802B454C 002B01AC 90 01 00 24 */ stw r0, 0x24(r1) /* 802B4550 002B01B0 39 61 00 20 */ addi r11, r1, 0x20 /* 802B4554 002B01B4 4B F1 2B D1 */ bl _savegpr_26 /* 802B4558 002B01B8 7C BC 2B 78 */ mr r28, r5 /* 802B455C 002B01BC 7C DD 33 78 */ mr r29, r6 /* 802B4560 002B01C0 7C 7A 1B 78 */ mr r26, r3 /* 802B4564 002B01C4 7C 9B 23 78 */ mr r27, r4 /* 802B4568 002B01C8 7C FE 3B 78 */ mr r30, r7 /* 802B456C 002B01CC 7D 1F 43 78 */ mr r31, r8 /* 802B4570 002B01D0 7F A3 EB 78 */ mr r3, r29 /* 802B4574 002B01D4 7F 84 E3 78 */ mr r4, r28 /* 802B4578 002B01D8 4B FB 60 B1 */ bl DCInvalidateRange /* 802B457C 002B01DC 7F 43 D3 78 */ mr r3, r26 /* 802B4580 002B01E0 7F 64 DB 78 */ mr r4, r27 /* 802B4584 002B01E4 7F 85 E3 78 */ mr r5, r28 /* 802B4588 002B01E8 7F A6 EB 78 */ mr r6, r29 /* 802B458C 002B01EC 7F C8 F3 78 */ mr r8, r30 /* 802B4590 002B01F0 7F E9 FB 78 */ mr r9, r31 /* 802B4594 002B01F4 38 E0 00 02 */ li r7, 2 /* 802B4598 002B01F8 39 40 00 01 */ li r10, 1 /* 802B459C 002B01FC 4B FF FC 7D */ bl __IntrBlkMsgInt /* 802B45A0 002B0200 39 61 00 20 */ addi r11, r1, 0x20 /* 802B45A4 002B0204 4B F1 2B CD */ bl _restgpr_26 /* 802B45A8 002B0208 80 01 00 24 */ lwz r0, 0x24(r1) /* 802B45AC 002B020C 7C 08 03 A6 */ mtlr r0 /* 802B45B0 002B0210 38 21 00 20 */ addi r1, r1, 0x20 /* 802B45B4 002B0214 4E 80 00 20 */ blr .global IUSB_ReadBlkMsgAsync IUSB_ReadBlkMsgAsync: /* 802B45B8 002B0218 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802B45BC 002B021C 7C 08 02 A6 */ mflr r0 /* 802B45C0 002B0220 90 01 00 24 */ stw r0, 0x24(r1) /* 802B45C4 002B0224 39 61 00 20 */ addi r11, r1, 0x20 /* 802B45C8 002B0228 4B F1 2B 5D */ bl _savegpr_26 /* 802B45CC 002B022C 7C BC 2B 78 */ mr r28, r5 /* 802B45D0 002B0230 7C DD 33 78 */ mr r29, r6 /* 802B45D4 002B0234 7C 7A 1B 78 */ mr r26, r3 /* 802B45D8 002B0238 7C 9B 23 78 */ mr r27, r4 /* 802B45DC 002B023C 7C FE 3B 78 */ mr r30, r7 /* 802B45E0 002B0240 7D 1F 43 78 */ mr r31, r8 /* 802B45E4 002B0244 7F A3 EB 78 */ mr r3, r29 /* 802B45E8 002B0248 7F 84 E3 78 */ mr r4, r28 /* 802B45EC 002B024C 4B FB 60 3D */ bl DCInvalidateRange /* 802B45F0 002B0250 7F 43 D3 78 */ mr r3, r26 /* 802B45F4 002B0254 7F 64 DB 78 */ mr r4, r27 /* 802B45F8 002B0258 7F 85 E3 78 */ mr r5, r28 /* 802B45FC 002B025C 7F A6 EB 78 */ mr r6, r29 /* 802B4600 002B0260 7F C8 F3 78 */ mr r8, r30 /* 802B4604 002B0264 7F E9 FB 78 */ mr r9, r31 /* 802B4608 002B0268 38 E0 00 01 */ li r7, 1 /* 802B460C 002B026C 39 40 00 01 */ li r10, 1 /* 802B4610 002B0270 4B FF FC 09 */ bl __IntrBlkMsgInt /* 802B4614 002B0274 39 61 00 20 */ addi r11, r1, 0x20 /* 802B4618 002B0278 4B F1 2B 59 */ bl _restgpr_26 /* 802B461C 002B027C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802B4620 002B0280 7C 08 03 A6 */ mtlr r0 /* 802B4624 002B0284 38 21 00 20 */ addi r1, r1, 0x20 /* 802B4628 002B0288 4E 80 00 20 */ blr .global IUSB_WriteBlkMsgAsync IUSB_WriteBlkMsgAsync: /* 802B462C 002B028C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802B4630 002B0290 7C 08 02 A6 */ mflr r0 /* 802B4634 002B0294 90 01 00 24 */ stw r0, 0x24(r1) /* 802B4638 002B0298 39 61 00 20 */ addi r11, r1, 0x20 /* 802B463C 002B029C 4B F1 2A E9 */ bl _savegpr_26 /* 802B4640 002B02A0 7C BC 2B 78 */ mr r28, r5 /* 802B4644 002B02A4 7C DD 33 78 */ mr r29, r6 /* 802B4648 002B02A8 7C 7A 1B 78 */ mr r26, r3 /* 802B464C 002B02AC 7C 9B 23 78 */ mr r27, r4 /* 802B4650 002B02B0 7C FE 3B 78 */ mr r30, r7 /* 802B4654 002B02B4 7D 1F 43 78 */ mr r31, r8 /* 802B4658 002B02B8 7F A3 EB 78 */ mr r3, r29 /* 802B465C 002B02BC 7F 84 E3 78 */ mr r4, r28 /* 802B4660 002B02C0 4B FB 5F F5 */ bl DCFlushRange /* 802B4664 002B02C4 7F 43 D3 78 */ mr r3, r26 /* 802B4668 002B02C8 7F 64 DB 78 */ mr r4, r27 /* 802B466C 002B02CC 7F 85 E3 78 */ mr r5, r28 /* 802B4670 002B02D0 7F A6 EB 78 */ mr r6, r29 /* 802B4674 002B02D4 7F C8 F3 78 */ mr r8, r30 /* 802B4678 002B02D8 7F E9 FB 78 */ mr r9, r31 /* 802B467C 002B02DC 38 E0 00 01 */ li r7, 1 /* 802B4680 002B02E0 39 40 00 01 */ li r10, 1 /* 802B4684 002B02E4 4B FF FB 95 */ bl __IntrBlkMsgInt /* 802B4688 002B02E8 39 61 00 20 */ addi r11, r1, 0x20 /* 802B468C 002B02EC 4B F1 2A E5 */ bl _restgpr_26 /* 802B4690 002B02F0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802B4694 002B02F4 7C 08 03 A6 */ mtlr r0 /* 802B4698 002B02F8 38 21 00 20 */ addi r1, r1, 0x20 /* 802B469C 002B02FC 4E 80 00 20 */ blr .global __CtrlMsgInt __CtrlMsgInt: /* 802B46A0 002B0300 94 21 FF B0 */ stwu r1, -0x50(r1) /* 802B46A4 002B0304 7C 08 02 A6 */ mflr r0 /* 802B46A8 002B0308 90 01 00 54 */ stw r0, 0x54(r1) /* 802B46AC 002B030C 39 61 00 50 */ addi r11, r1, 0x50 /* 802B46B0 002B0310 4B F1 2A 45 */ bl __save_gpr /* 802B46B4 002B0314 2C 09 00 00 */ cmpwi r9, 0 /* 802B46B8 002B0318 3F E0 80 44 */ lis r31, lbl_8043DA28@ha /* 802B46BC 002B031C 82 E1 00 58 */ lwz r23, 0x58(r1) /* 802B46C0 002B0320 7C 6F 1B 78 */ mr r15, r3 /* 802B46C4 002B0324 89 C1 00 5F */ lbz r14, 0x5f(r1) /* 802B46C8 002B0328 7C 90 23 78 */ mr r16, r4 /* 802B46CC 002B032C 7C B1 2B 78 */ mr r17, r5 /* 802B46D0 002B0330 7C D2 33 78 */ mr r18, r6 /* 802B46D4 002B0334 7C F3 3B 78 */ mr r19, r7 /* 802B46D8 002B0338 7D 14 43 78 */ mr r20, r8 /* 802B46DC 002B033C 7D 35 4B 78 */ mr r21, r9 /* 802B46E0 002B0340 7D 56 53 78 */ mr r22, r10 /* 802B46E4 002B0344 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l /* 802B46E8 002B0348 40 82 00 0C */ bne lbl_802B46F4 /* 802B46EC 002B034C 2C 08 00 00 */ cmpwi r8, 0 /* 802B46F0 002B0350 40 82 00 0C */ bne lbl_802B46FC lbl_802B46F4: /* 802B46F4 002B0354 55 20 06 FF */ clrlwi. r0, r9, 0x1b /* 802B46F8 002B0358 41 82 00 18 */ beq lbl_802B4710 lbl_802B46FC: /* 802B46FC 002B035C 38 7F 03 28 */ addi r3, r31, 0x328 /* 802B4700 002B0360 39 E0 FF FC */ li r15, -4 /* 802B4704 002B0364 4C C6 31 82 */ crclr 6 /* 802B4708 002B0368 4B FF F5 C1 */ bl USB_ERR /* 802B470C 002B036C 48 00 05 0C */ b lbl_802B4C18 lbl_802B4710: /* 802B4710 002B0370 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4714 002B0374 38 80 00 E0 */ li r4, 0xe0 /* 802B4718 002B0378 38 A0 00 20 */ li r5, 0x20 /* 802B471C 002B037C 4B FE FC 1D */ bl iosAllocAligned /* 802B4720 002B0380 2C 03 00 00 */ cmpwi r3, 0 /* 802B4724 002B0384 7C 7E 1B 78 */ mr r30, r3 /* 802B4728 002B0388 40 82 00 1C */ bne lbl_802B4744 /* 802B472C 002B038C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4730 002B0390 7F C6 F3 78 */ mr r6, r30 /* 802B4734 002B0394 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B4738 002B0398 38 A0 00 E0 */ li r5, 0xe0 /* 802B473C 002B039C 4C C6 31 82 */ crclr 6 /* 802B4740 002B03A0 4B FF F5 89 */ bl USB_ERR lbl_802B4744: /* 802B4744 002B03A4 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4748 002B03A8 38 80 00 20 */ li r4, 0x20 /* 802B474C 002B03AC 38 A0 00 20 */ li r5, 0x20 /* 802B4750 002B03B0 4B FE FB E9 */ bl iosAllocAligned /* 802B4754 002B03B4 2C 03 00 00 */ cmpwi r3, 0 /* 802B4758 002B03B8 7C 7D 1B 78 */ mr r29, r3 /* 802B475C 002B03BC 40 82 00 1C */ bne lbl_802B4778 /* 802B4760 002B03C0 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4764 002B03C4 7F A6 EB 78 */ mr r6, r29 /* 802B4768 002B03C8 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B476C 002B03CC 38 A0 00 20 */ li r5, 0x20 /* 802B4770 002B03D0 4C C6 31 82 */ crclr 6 /* 802B4774 002B03D4 4B FF F5 55 */ bl USB_ERR lbl_802B4778: /* 802B4778 002B03D8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B477C 002B03DC 38 80 00 20 */ li r4, 0x20 /* 802B4780 002B03E0 38 A0 00 20 */ li r5, 0x20 /* 802B4784 002B03E4 4B FE FB B5 */ bl iosAllocAligned /* 802B4788 002B03E8 2C 03 00 00 */ cmpwi r3, 0 /* 802B478C 002B03EC 7C 7C 1B 78 */ mr r28, r3 /* 802B4790 002B03F0 40 82 00 1C */ bne lbl_802B47AC /* 802B4794 002B03F4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4798 002B03F8 7F 86 E3 78 */ mr r6, r28 /* 802B479C 002B03FC 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B47A0 002B0400 38 A0 00 20 */ li r5, 0x20 /* 802B47A4 002B0404 4C C6 31 82 */ crclr 6 /* 802B47A8 002B0408 4B FF F5 21 */ bl USB_ERR lbl_802B47AC: /* 802B47AC 002B040C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B47B0 002B0410 38 80 00 20 */ li r4, 0x20 /* 802B47B4 002B0414 38 A0 00 20 */ li r5, 0x20 /* 802B47B8 002B0418 4B FE FB 81 */ bl iosAllocAligned /* 802B47BC 002B041C 2C 03 00 00 */ cmpwi r3, 0 /* 802B47C0 002B0420 7C 7B 1B 78 */ mr r27, r3 /* 802B47C4 002B0424 40 82 00 1C */ bne lbl_802B47E0 /* 802B47C8 002B0428 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B47CC 002B042C 7F 66 DB 78 */ mr r6, r27 /* 802B47D0 002B0430 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B47D4 002B0434 38 A0 00 20 */ li r5, 0x20 /* 802B47D8 002B0438 4C C6 31 82 */ crclr 6 /* 802B47DC 002B043C 4B FF F4 ED */ bl USB_ERR lbl_802B47E0: /* 802B47E0 002B0440 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B47E4 002B0444 38 80 00 20 */ li r4, 0x20 /* 802B47E8 002B0448 38 A0 00 20 */ li r5, 0x20 /* 802B47EC 002B044C 4B FE FB 4D */ bl iosAllocAligned /* 802B47F0 002B0450 2C 03 00 00 */ cmpwi r3, 0 /* 802B47F4 002B0454 7C 7A 1B 78 */ mr r26, r3 /* 802B47F8 002B0458 40 82 00 1C */ bne lbl_802B4814 /* 802B47FC 002B045C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4800 002B0460 7F 46 D3 78 */ mr r6, r26 /* 802B4804 002B0464 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B4808 002B0468 38 A0 00 20 */ li r5, 0x20 /* 802B480C 002B046C 4C C6 31 82 */ crclr 6 /* 802B4810 002B0470 4B FF F4 B9 */ bl USB_ERR lbl_802B4814: /* 802B4814 002B0474 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4818 002B0478 38 80 00 20 */ li r4, 0x20 /* 802B481C 002B047C 38 A0 00 20 */ li r5, 0x20 /* 802B4820 002B0480 4B FE FB 19 */ bl iosAllocAligned /* 802B4824 002B0484 2C 03 00 00 */ cmpwi r3, 0 /* 802B4828 002B0488 7C 79 1B 78 */ mr r25, r3 /* 802B482C 002B048C 40 82 00 1C */ bne lbl_802B4848 /* 802B4830 002B0490 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4834 002B0494 7F 26 CB 78 */ mr r6, r25 /* 802B4838 002B0498 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B483C 002B049C 38 A0 00 20 */ li r5, 0x20 /* 802B4840 002B04A0 4C C6 31 82 */ crclr 6 /* 802B4844 002B04A4 4B FF F4 85 */ bl USB_ERR lbl_802B4848: /* 802B4848 002B04A8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B484C 002B04AC 38 80 00 20 */ li r4, 0x20 /* 802B4850 002B04B0 38 A0 00 20 */ li r5, 0x20 /* 802B4854 002B04B4 4B FE FA E5 */ bl iosAllocAligned /* 802B4858 002B04B8 2C 03 00 00 */ cmpwi r3, 0 /* 802B485C 002B04BC 7C 78 1B 78 */ mr r24, r3 /* 802B4860 002B04C0 40 82 00 1C */ bne lbl_802B487C /* 802B4864 002B04C4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4868 002B04C8 7F 06 C3 78 */ mr r6, r24 /* 802B486C 002B04CC 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B4870 002B04D0 38 A0 00 20 */ li r5, 0x20 /* 802B4874 002B04D4 4C C6 31 82 */ crclr 6 /* 802B4878 002B04D8 4B FF F4 51 */ bl USB_ERR lbl_802B487C: /* 802B487C 002B04DC 2C 1D 00 00 */ cmpwi r29, 0 /* 802B4880 002B04E0 41 82 00 34 */ beq lbl_802B48B4 /* 802B4884 002B04E4 2C 1C 00 00 */ cmpwi r28, 0 /* 802B4888 002B04E8 41 82 00 2C */ beq lbl_802B48B4 /* 802B488C 002B04EC 2C 1B 00 00 */ cmpwi r27, 0 /* 802B4890 002B04F0 41 82 00 24 */ beq lbl_802B48B4 /* 802B4894 002B04F4 2C 1A 00 00 */ cmpwi r26, 0 /* 802B4898 002B04F8 41 82 00 1C */ beq lbl_802B48B4 /* 802B489C 002B04FC 2C 19 00 00 */ cmpwi r25, 0 /* 802B48A0 002B0500 41 82 00 14 */ beq lbl_802B48B4 /* 802B48A4 002B0504 2C 18 00 00 */ cmpwi r24, 0 /* 802B48A8 002B0508 41 82 00 0C */ beq lbl_802B48B4 /* 802B48AC 002B050C 2C 1E 00 00 */ cmpwi r30, 0 /* 802B48B0 002B0510 40 82 00 18 */ bne lbl_802B48C8 lbl_802B48B4: /* 802B48B4 002B0514 38 7F 03 44 */ addi r3, r31, 0x344 /* 802B48B8 002B0518 4C C6 31 82 */ crclr 6 /* 802B48BC 002B051C 4B FF F4 0D */ bl USB_ERR /* 802B48C0 002B0520 39 E0 FF EA */ li r15, -22 /* 802B48C4 002B0524 48 00 01 E8 */ b lbl_802B4AAC lbl_802B48C8: /* 802B48C8 002B0528 9A 1D 00 00 */ stb r16, 0(r29) /* 802B48CC 002B052C 38 C0 00 00 */ li r6, 0 /* 802B48D0 002B0530 38 A0 00 01 */ li r5, 1 /* 802B48D4 002B0534 38 00 00 02 */ li r0, 2 /* 802B48D8 002B0538 9A 3C 00 00 */ stb r17, 0(r28) /* 802B48DC 002B053C 7F A3 EB 78 */ mr r3, r29 /* 802B48E0 002B0540 38 80 00 20 */ li r4, 0x20 /* 802B48E4 002B0544 7E 40 D7 2C */ sthbrx r18, 0, r26 /* 802B48E8 002B0548 7E 60 CF 2C */ sthbrx r19, 0, r25 /* 802B48EC 002B054C 7E 80 C7 2C */ sthbrx r20, 0, r24 /* 802B48F0 002B0550 98 DB 00 00 */ stb r6, 0(r27) /* 802B48F4 002B0554 93 BE 00 00 */ stw r29, 0(r30) /* 802B48F8 002B0558 90 BE 00 04 */ stw r5, 4(r30) /* 802B48FC 002B055C 93 9E 00 08 */ stw r28, 8(r30) /* 802B4900 002B0560 90 BE 00 0C */ stw r5, 0xc(r30) /* 802B4904 002B0564 93 5E 00 10 */ stw r26, 0x10(r30) /* 802B4908 002B0568 90 1E 00 14 */ stw r0, 0x14(r30) /* 802B490C 002B056C 93 3E 00 18 */ stw r25, 0x18(r30) /* 802B4910 002B0570 90 1E 00 1C */ stw r0, 0x1c(r30) /* 802B4914 002B0574 93 1E 00 20 */ stw r24, 0x20(r30) /* 802B4918 002B0578 90 1E 00 24 */ stw r0, 0x24(r30) /* 802B491C 002B057C 93 7E 00 28 */ stw r27, 0x28(r30) /* 802B4920 002B0580 90 BE 00 2C */ stw r5, 0x2c(r30) /* 802B4924 002B0584 92 BE 00 30 */ stw r21, 0x30(r30) /* 802B4928 002B0588 92 9E 00 34 */ stw r20, 0x34(r30) /* 802B492C 002B058C 4B FB 5D 29 */ bl DCFlushRange /* 802B4930 002B0590 7F 83 E3 78 */ mr r3, r28 /* 802B4934 002B0594 38 80 00 20 */ li r4, 0x20 /* 802B4938 002B0598 4B FB 5D 1D */ bl DCFlushRange /* 802B493C 002B059C 7F 63 DB 78 */ mr r3, r27 /* 802B4940 002B05A0 38 80 00 20 */ li r4, 0x20 /* 802B4944 002B05A4 4B FB 5D 11 */ bl DCFlushRange /* 802B4948 002B05A8 7F 43 D3 78 */ mr r3, r26 /* 802B494C 002B05AC 38 80 00 20 */ li r4, 0x20 /* 802B4950 002B05B0 4B FB 5D 05 */ bl DCFlushRange /* 802B4954 002B05B4 7F 23 CB 78 */ mr r3, r25 /* 802B4958 002B05B8 38 80 00 20 */ li r4, 0x20 /* 802B495C 002B05BC 4B FB 5C F9 */ bl DCFlushRange /* 802B4960 002B05C0 7F 03 C3 78 */ mr r3, r24 /* 802B4964 002B05C4 38 80 00 20 */ li r4, 0x20 /* 802B4968 002B05C8 4B FB 5C ED */ bl DCFlushRange /* 802B496C 002B05CC 7F C3 F3 78 */ mr r3, r30 /* 802B4970 002B05D0 38 80 00 E0 */ li r4, 0xe0 /* 802B4974 002B05D4 4B FB 5C E1 */ bl DCFlushRange /* 802B4978 002B05D8 2C 0E 00 00 */ cmpwi r14, 0 /* 802B497C 002B05DC 40 82 00 24 */ bne lbl_802B49A0 /* 802B4980 002B05E0 7D E3 7B 78 */ mr r3, r15 /* 802B4984 002B05E4 7F C7 F3 78 */ mr r7, r30 /* 802B4988 002B05E8 38 80 00 00 */ li r4, 0 /* 802B498C 002B05EC 38 A0 00 06 */ li r5, 6 /* 802B4990 002B05F0 38 C0 00 01 */ li r6, 1 /* 802B4994 002B05F4 4B FE F4 AD */ bl IOS_Ioctlv /* 802B4998 002B05F8 7C 6F 1B 78 */ mr r15, r3 /* 802B499C 002B05FC 48 00 01 10 */ b lbl_802B4AAC lbl_802B49A0: /* 802B49A0 002B0600 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B49A4 002B0604 38 80 00 80 */ li r4, 0x80 /* 802B49A8 002B0608 38 A0 00 20 */ li r5, 0x20 /* 802B49AC 002B060C 4B FE F9 8D */ bl iosAllocAligned /* 802B49B0 002B0610 2C 03 00 00 */ cmpwi r3, 0 /* 802B49B4 002B0614 7C 6E 1B 78 */ mr r14, r3 /* 802B49B8 002B0618 40 82 00 1C */ bne lbl_802B49D4 /* 802B49BC 002B061C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B49C0 002B0620 7D C6 73 78 */ mr r6, r14 /* 802B49C4 002B0624 38 7F 01 3C */ addi r3, r31, 0x13c /* 802B49C8 002B0628 38 A0 00 80 */ li r5, 0x80 /* 802B49CC 002B062C 4C C6 31 82 */ crclr 6 /* 802B49D0 002B0630 4B FF F2 F9 */ bl USB_ERR lbl_802B49D4: /* 802B49D4 002B0634 2C 0E 00 00 */ cmpwi r14, 0 /* 802B49D8 002B0638 40 82 00 18 */ bne lbl_802B49F0 /* 802B49DC 002B063C 38 7F 03 64 */ addi r3, r31, 0x364 /* 802B49E0 002B0640 4C C6 31 82 */ crclr 6 /* 802B49E4 002B0644 4B FF F2 E5 */ bl USB_ERR /* 802B49E8 002B0648 39 E0 FF EA */ li r15, -22 /* 802B49EC 002B064C 48 00 00 C0 */ b lbl_802B4AAC lbl_802B49F0: /* 802B49F0 002B0650 92 CE 00 00 */ stw r22, 0(r14) /* 802B49F4 002B0654 7E C4 B3 78 */ mr r4, r22 /* 802B49F8 002B0658 7E E5 BB 78 */ mr r5, r23 /* 802B49FC 002B065C 38 7F 03 8C */ addi r3, r31, 0x38c /* 802B4A00 002B0660 92 EE 00 04 */ stw r23, 4(r14) /* 802B4A04 002B0664 4C C6 31 82 */ crclr 6 /* 802B4A08 002B0668 4B FF F2 19 */ bl USB_LOG /* 802B4A0C 002B066C 38 00 00 07 */ li r0, 7 /* 802B4A10 002B0670 3D 00 80 2B */ lis r8, _intBlkCtrlCb@ha /* 802B4A14 002B0674 90 0E 00 2C */ stw r0, 0x2c(r14) /* 802B4A18 002B0678 7D E3 7B 78 */ mr r3, r15 /* 802B4A1C 002B067C 7F C7 F3 78 */ mr r7, r30 /* 802B4A20 002B0680 7D C9 73 78 */ mr r9, r14 /* 802B4A24 002B0684 93 AE 00 0C */ stw r29, 0xc(r14) /* 802B4A28 002B0688 39 08 3E 74 */ addi r8, r8, _intBlkCtrlCb@l /* 802B4A2C 002B068C 38 80 00 00 */ li r4, 0 /* 802B4A30 002B0690 38 A0 00 06 */ li r5, 6 /* 802B4A34 002B0694 93 8E 00 10 */ stw r28, 0x10(r14) /* 802B4A38 002B0698 38 C0 00 01 */ li r6, 1 /* 802B4A3C 002B069C 93 4E 00 14 */ stw r26, 0x14(r14) /* 802B4A40 002B06A0 93 2E 00 18 */ stw r25, 0x18(r14) /* 802B4A44 002B06A4 93 0E 00 1C */ stw r24, 0x1c(r14) /* 802B4A48 002B06A8 93 6E 00 20 */ stw r27, 0x20(r14) /* 802B4A4C 002B06AC 93 CE 00 24 */ stw r30, 0x24(r14) /* 802B4A50 002B06B0 92 AE 00 40 */ stw r21, 0x40(r14) /* 802B4A54 002B06B4 B2 8E 00 44 */ sth r20, 0x44(r14) /* 802B4A58 002B06B8 4B FE F3 05 */ bl IOS_IoctlvAsync /* 802B4A5C 002B06BC 7C 6F 1B 78 */ mr r15, r3 /* 802B4A60 002B06C0 38 7F 03 B0 */ addi r3, r31, 0x3b0 /* 802B4A64 002B06C4 7D E4 7B 78 */ mr r4, r15 /* 802B4A68 002B06C8 4C C6 31 82 */ crclr 6 /* 802B4A6C 002B06CC 4B FF F1 B5 */ bl USB_LOG /* 802B4A70 002B06D0 2C 0F 00 00 */ cmpwi r15, 0 /* 802B4A74 002B06D4 40 80 01 A4 */ bge lbl_802B4C18 /* 802B4A78 002B06D8 2C 0E 00 00 */ cmpwi r14, 0 /* 802B4A7C 002B06DC 41 82 00 30 */ beq lbl_802B4AAC /* 802B4A80 002B06E0 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4A84 002B06E4 7D C4 73 78 */ mr r4, r14 /* 802B4A88 002B06E8 4B FE F8 B5 */ bl iosFree /* 802B4A8C 002B06EC 2C 03 00 00 */ cmpwi r3, 0 /* 802B4A90 002B06F0 40 80 00 1C */ bge lbl_802B4AAC /* 802B4A94 002B06F4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4A98 002B06F8 7C 66 1B 78 */ mr r6, r3 /* 802B4A9C 002B06FC 7D C5 73 78 */ mr r5, r14 /* 802B4AA0 002B0700 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4AA4 002B0704 4C C6 31 82 */ crclr 6 /* 802B4AA8 002B0708 4B FF F2 21 */ bl USB_ERR lbl_802B4AAC: /* 802B4AAC 002B070C 2C 1D 00 00 */ cmpwi r29, 0 /* 802B4AB0 002B0710 41 82 00 30 */ beq lbl_802B4AE0 /* 802B4AB4 002B0714 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4AB8 002B0718 7F A4 EB 78 */ mr r4, r29 /* 802B4ABC 002B071C 4B FE F8 81 */ bl iosFree /* 802B4AC0 002B0720 2C 03 00 00 */ cmpwi r3, 0 /* 802B4AC4 002B0724 40 80 00 1C */ bge lbl_802B4AE0 /* 802B4AC8 002B0728 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4ACC 002B072C 7C 66 1B 78 */ mr r6, r3 /* 802B4AD0 002B0730 7F A5 EB 78 */ mr r5, r29 /* 802B4AD4 002B0734 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4AD8 002B0738 4C C6 31 82 */ crclr 6 /* 802B4ADC 002B073C 4B FF F1 ED */ bl USB_ERR lbl_802B4AE0: /* 802B4AE0 002B0740 2C 1C 00 00 */ cmpwi r28, 0 /* 802B4AE4 002B0744 41 82 00 30 */ beq lbl_802B4B14 /* 802B4AE8 002B0748 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4AEC 002B074C 7F 84 E3 78 */ mr r4, r28 /* 802B4AF0 002B0750 4B FE F8 4D */ bl iosFree /* 802B4AF4 002B0754 2C 03 00 00 */ cmpwi r3, 0 /* 802B4AF8 002B0758 40 80 00 1C */ bge lbl_802B4B14 /* 802B4AFC 002B075C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4B00 002B0760 7C 66 1B 78 */ mr r6, r3 /* 802B4B04 002B0764 7F 85 E3 78 */ mr r5, r28 /* 802B4B08 002B0768 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4B0C 002B076C 4C C6 31 82 */ crclr 6 /* 802B4B10 002B0770 4B FF F1 B9 */ bl USB_ERR lbl_802B4B14: /* 802B4B14 002B0774 2C 1A 00 00 */ cmpwi r26, 0 /* 802B4B18 002B0778 41 82 00 30 */ beq lbl_802B4B48 /* 802B4B1C 002B077C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4B20 002B0780 7F 44 D3 78 */ mr r4, r26 /* 802B4B24 002B0784 4B FE F8 19 */ bl iosFree /* 802B4B28 002B0788 2C 03 00 00 */ cmpwi r3, 0 /* 802B4B2C 002B078C 40 80 00 1C */ bge lbl_802B4B48 /* 802B4B30 002B0790 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4B34 002B0794 7C 66 1B 78 */ mr r6, r3 /* 802B4B38 002B0798 7F 45 D3 78 */ mr r5, r26 /* 802B4B3C 002B079C 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4B40 002B07A0 4C C6 31 82 */ crclr 6 /* 802B4B44 002B07A4 4B FF F1 85 */ bl USB_ERR lbl_802B4B48: /* 802B4B48 002B07A8 2C 19 00 00 */ cmpwi r25, 0 /* 802B4B4C 002B07AC 41 82 00 30 */ beq lbl_802B4B7C /* 802B4B50 002B07B0 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4B54 002B07B4 7F 24 CB 78 */ mr r4, r25 /* 802B4B58 002B07B8 4B FE F7 E5 */ bl iosFree /* 802B4B5C 002B07BC 2C 03 00 00 */ cmpwi r3, 0 /* 802B4B60 002B07C0 40 80 00 1C */ bge lbl_802B4B7C /* 802B4B64 002B07C4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4B68 002B07C8 7C 66 1B 78 */ mr r6, r3 /* 802B4B6C 002B07CC 7F 25 CB 78 */ mr r5, r25 /* 802B4B70 002B07D0 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4B74 002B07D4 4C C6 31 82 */ crclr 6 /* 802B4B78 002B07D8 4B FF F1 51 */ bl USB_ERR lbl_802B4B7C: /* 802B4B7C 002B07DC 2C 18 00 00 */ cmpwi r24, 0 /* 802B4B80 002B07E0 41 82 00 30 */ beq lbl_802B4BB0 /* 802B4B84 002B07E4 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4B88 002B07E8 7F 04 C3 78 */ mr r4, r24 /* 802B4B8C 002B07EC 4B FE F7 B1 */ bl iosFree /* 802B4B90 002B07F0 2C 03 00 00 */ cmpwi r3, 0 /* 802B4B94 002B07F4 40 80 00 1C */ bge lbl_802B4BB0 /* 802B4B98 002B07F8 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4B9C 002B07FC 7C 66 1B 78 */ mr r6, r3 /* 802B4BA0 002B0800 7F 05 C3 78 */ mr r5, r24 /* 802B4BA4 002B0804 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4BA8 002B0808 4C C6 31 82 */ crclr 6 /* 802B4BAC 002B080C 4B FF F1 1D */ bl USB_ERR lbl_802B4BB0: /* 802B4BB0 002B0810 2C 1B 00 00 */ cmpwi r27, 0 /* 802B4BB4 002B0814 41 82 00 30 */ beq lbl_802B4BE4 /* 802B4BB8 002B0818 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4BBC 002B081C 7F 64 DB 78 */ mr r4, r27 /* 802B4BC0 002B0820 4B FE F7 7D */ bl iosFree /* 802B4BC4 002B0824 2C 03 00 00 */ cmpwi r3, 0 /* 802B4BC8 002B0828 40 80 00 1C */ bge lbl_802B4BE4 /* 802B4BCC 002B082C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4BD0 002B0830 7C 66 1B 78 */ mr r6, r3 /* 802B4BD4 002B0834 7F 65 DB 78 */ mr r5, r27 /* 802B4BD8 002B0838 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4BDC 002B083C 4C C6 31 82 */ crclr 6 /* 802B4BE0 002B0840 4B FF F0 E9 */ bl USB_ERR lbl_802B4BE4: /* 802B4BE4 002B0844 2C 1E 00 00 */ cmpwi r30, 0 /* 802B4BE8 002B0848 41 82 00 30 */ beq lbl_802B4C18 /* 802B4BEC 002B084C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4BF0 002B0850 7F C4 F3 78 */ mr r4, r30 /* 802B4BF4 002B0854 4B FE F7 49 */ bl iosFree /* 802B4BF8 002B0858 2C 03 00 00 */ cmpwi r3, 0 /* 802B4BFC 002B085C 40 80 00 1C */ bge lbl_802B4C18 /* 802B4C00 002B0860 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) /* 802B4C04 002B0864 7C 66 1B 78 */ mr r6, r3 /* 802B4C08 002B0868 7F C5 F3 78 */ mr r5, r30 /* 802B4C0C 002B086C 38 7F 01 08 */ addi r3, r31, 0x108 /* 802B4C10 002B0870 4C C6 31 82 */ crclr 6 /* 802B4C14 002B0874 4B FF F0 B5 */ bl USB_ERR lbl_802B4C18: /* 802B4C18 002B0878 39 61 00 50 */ addi r11, r1, 0x50 /* 802B4C1C 002B087C 7D E3 7B 78 */ mr r3, r15 /* 802B4C20 002B0880 4B F1 25 21 */ bl __restore_gpr /* 802B4C24 002B0884 80 01 00 54 */ lwz r0, 0x54(r1) /* 802B4C28 002B0888 7C 08 03 A6 */ mtlr r0 /* 802B4C2C 002B088C 38 21 00 50 */ addi r1, r1, 0x50 /* 802B4C30 002B0890 4E 80 00 20 */ blr .global IUSB_WriteCtrlMsgAsync IUSB_WriteCtrlMsgAsync: /* 802B4C34 002B0894 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802B4C38 002B0898 7C 08 02 A6 */ mflr r0 /* 802B4C3C 002B089C 90 01 00 44 */ stw r0, 0x44(r1) /* 802B4C40 002B08A0 39 61 00 40 */ addi r11, r1, 0x40 /* 802B4C44 002B08A4 4B F1 24 D5 */ bl _savegpr_23 /* 802B4C48 002B08A8 7D 1C 43 78 */ mr r28, r8 /* 802B4C4C 002B08AC 7D 3D 4B 78 */ mr r29, r9 /* 802B4C50 002B08B0 7C 77 1B 78 */ mr r23, r3 /* 802B4C54 002B08B4 7C 98 23 78 */ mr r24, r4 /* 802B4C58 002B08B8 83 E1 00 48 */ lwz r31, 0x48(r1) /* 802B4C5C 002B08BC 7C B9 2B 78 */ mr r25, r5 /* 802B4C60 002B08C0 7C DA 33 78 */ mr r26, r6 /* 802B4C64 002B08C4 7C FB 3B 78 */ mr r27, r7 /* 802B4C68 002B08C8 7D 5E 53 78 */ mr r30, r10 /* 802B4C6C 002B08CC 7F A3 EB 78 */ mr r3, r29 /* 802B4C70 002B08D0 7F 84 E3 78 */ mr r4, r28 /* 802B4C74 002B08D4 4B FB 59 E1 */ bl DCFlushRange /* 802B4C78 002B08D8 93 E1 00 08 */ stw r31, 8(r1) /* 802B4C7C 002B08DC 38 00 00 01 */ li r0, 1 /* 802B4C80 002B08E0 7E E3 BB 78 */ mr r3, r23 /* 802B4C84 002B08E4 7F 04 C3 78 */ mr r4, r24 /* 802B4C88 002B08E8 90 01 00 0C */ stw r0, 0xc(r1) /* 802B4C8C 002B08EC 7F 25 CB 78 */ mr r5, r25 /* 802B4C90 002B08F0 7F 46 D3 78 */ mr r6, r26 /* 802B4C94 002B08F4 7F 67 DB 78 */ mr r7, r27 /* 802B4C98 002B08F8 7F 88 E3 78 */ mr r8, r28 /* 802B4C9C 002B08FC 7F A9 EB 78 */ mr r9, r29 /* 802B4CA0 002B0900 7F CA F3 78 */ mr r10, r30 /* 802B4CA4 002B0904 4B FF F9 FD */ bl __CtrlMsgInt /* 802B4CA8 002B0908 39 61 00 40 */ addi r11, r1, 0x40 /* 802B4CAC 002B090C 4B F1 24 B9 */ bl _restgpr_23 /* 802B4CB0 002B0910 80 01 00 44 */ lwz r0, 0x44(r1) /* 802B4CB4 002B0914 7C 08 03 A6 */ mtlr r0 /* 802B4CB8 002B0918 38 21 00 40 */ addi r1, r1, 0x40 /* 802B4CBC 002B091C 4E 80 00 20 */ blr