.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 uusb_CloseDeviceCB: /* 802BB894 002B74F4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BB898 002B74F8 7C 08 02 A6 */ mflr r0 /* 802BB89C 002B74FC 3C 80 80 56 */ lis r4, lbl_80564DE0@ha /* 802BB8A0 002B7500 90 01 00 24 */ stw r0, 0x24(r1) /* 802BB8A4 002B7504 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802BB8A8 002B7508 3B E4 4D E0 */ addi r31, r4, lbl_80564DE0@l /* 802BB8AC 002B750C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802BB8B0 002B7510 3B C0 00 00 */ li r30, 0 /* 802BB8B4 002B7514 93 A1 00 14 */ stw r29, 0x14(r1) /* 802BB8B8 002B7518 7C 7D 1B 78 */ mr r29, r3 /* 802BB8BC 002B751C 93 C4 4D E0 */ stw r30, 0x4de0(r4) /* 802BB8C0 002B7520 9B DF 00 10 */ stb r30, 0x10(r31) /* 802BB8C4 002B7524 9B DF 00 11 */ stb r30, 0x11(r31) /* 802BB8C8 002B7528 9B DF 00 12 */ stb r30, 0x12(r31) /* 802BB8CC 002B752C 9B DF 00 13 */ stb r30, 0x13(r31) /* 802BB8D0 002B7530 9B CD AE C8 */ stb r30, lbl_80640188-_SDA_BASE_(r13) /* 802BB8D4 002B7534 4B FF 85 99 */ bl IUSB_CloseLib /* 802BB8D8 002B7538 4B FF F8 A9 */ bl GKI_disable /* 802BB8DC 002B753C 38 00 00 05 */ li r0, 5 /* 802BB8E0 002B7540 9B DF 00 28 */ stb r30, 0x28(r31) /* 802BB8E4 002B7544 98 1F 00 29 */ stb r0, 0x29(r31) /* 802BB8E8 002B7548 9B CD AE C9 */ stb r30, lbl_80640189-_SDA_BASE_(r13) /* 802BB8EC 002B754C 4B FF F8 71 */ bl GKI_enable /* 802BB8F0 002B7550 81 9F 00 20 */ lwz r12, 0x20(r31) /* 802BB8F4 002B7554 2C 0C 00 00 */ cmpwi r12, 0 /* 802BB8F8 002B7558 41 82 00 14 */ beq lbl_802BB90C /* 802BB8FC 002B755C 7F A4 07 74 */ extsb r4, r29 /* 802BB900 002B7560 38 60 00 04 */ li r3, 4 /* 802BB904 002B7564 7D 89 03 A6 */ mtctr r12 /* 802BB908 002B7568 4E 80 04 21 */ bctrl lbl_802BB90C: /* 802BB90C 002B756C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BB910 002B7570 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802BB914 002B7574 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802BB918 002B7578 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802BB91C 002B757C 7C 08 03 A6 */ mtlr r0 /* 802BB920 002B7580 38 21 00 20 */ addi r1, r1, 0x20 /* 802BB924 002B7584 4E 80 00 20 */ blr uusb_ReadIntrDataCB: /* 802BB928 002B7588 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BB92C 002B758C 7C 08 02 A6 */ mflr r0 /* 802BB930 002B7590 90 01 00 24 */ stw r0, 0x24(r1) /* 802BB934 002B7594 39 61 00 20 */ addi r11, r1, 0x20 /* 802BB938 002B7598 4B F0 B7 ED */ bl _savegpr_26 /* 802BB93C 002B759C 3C A0 80 56 */ lis r5, lbl_80564DE0@ha /* 802BB940 002B75A0 3F E0 80 44 */ lis r31, lbl_8043F2E8@ha /* 802BB944 002B75A4 38 A5 4D E0 */ addi r5, r5, lbl_80564DE0@l /* 802BB948 002B75A8 7C 7C 1B 78 */ mr r28, r3 /* 802BB94C 002B75AC 88 05 00 28 */ lbz r0, 0x28(r5) /* 802BB950 002B75B0 7C 9D 23 78 */ mr r29, r4 /* 802BB954 002B75B4 3B FF F2 E8 */ addi r31, r31, lbl_8043F2E8@l /* 802BB958 002B75B8 2C 00 00 00 */ cmpwi r0, 0 /* 802BB95C 002B75BC 41 82 00 10 */ beq lbl_802BB96C /* 802BB960 002B75C0 38 7F 00 00 */ addi r3, r31, 0 /* 802BB964 002B75C4 4C C6 31 82 */ crclr 6 /* 802BB968 002B75C8 4B D4 C1 5D */ bl OSReport lbl_802BB96C: /* 802BB96C 002B75CC 3F 60 80 56 */ lis r27, lbl_80564DE0@ha /* 802BB970 002B75D0 38 60 00 00 */ li r3, 0 /* 802BB974 002B75D4 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l /* 802BB978 002B75D8 88 1B 00 29 */ lbz r0, 0x29(r27) /* 802BB97C 002B75DC 98 7B 00 2B */ stb r3, 0x2b(r27) /* 802BB980 002B75E0 28 00 00 02 */ cmplwi r0, 2 /* 802BB984 002B75E4 41 82 00 60 */ beq lbl_802BB9E4 /* 802BB988 002B75E8 88 1B 00 28 */ lbz r0, 0x28(r27) /* 802BB98C 002B75EC 2C 00 00 00 */ cmpwi r0, 0 /* 802BB990 002B75F0 41 82 00 10 */ beq lbl_802BB9A0 /* 802BB994 002B75F4 38 7F 00 28 */ addi r3, r31, 0x28 /* 802BB998 002B75F8 4C C6 31 82 */ crclr 6 /* 802BB99C 002B75FC 4B D4 C1 29 */ bl OSReport lbl_802BB9A0: /* 802BB9A0 002B7600 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BB9A4 002B7604 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BB9A8 002B7608 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BB9AC 002B760C 2C 00 00 00 */ cmpwi r0, 0 /* 802BB9B0 002B7610 41 82 00 10 */ beq lbl_802BB9C0 /* 802BB9B4 002B7614 38 7F 00 6C */ addi r3, r31, 0x6c /* 802BB9B8 002B7618 4C C6 31 82 */ crclr 6 /* 802BB9BC 002B761C 4B D4 C1 09 */ bl OSReport lbl_802BB9C0: /* 802BB9C0 002B7620 7F A3 EB 78 */ mr r3, r29 /* 802BB9C4 002B7624 4B FF E3 71 */ bl GKI_freebuf /* 802BB9C8 002B7628 3F 60 80 56 */ lis r27, lbl_80564DE0@ha /* 802BB9CC 002B762C 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l /* 802BB9D0 002B7630 88 7B 00 1C */ lbz r3, 0x1c(r27) /* 802BB9D4 002B7634 4B FF EE DD */ bl GKI_delete_pool /* 802BB9D8 002B7638 38 00 00 FF */ li r0, 0xff /* 802BB9DC 002B763C 98 1B 00 1C */ stb r0, 0x1c(r27) /* 802BB9E0 002B7640 48 00 01 4C */ b lbl_802BBB2C lbl_802BB9E4: /* 802BB9E4 002B7644 7C 1D 18 40 */ cmplw r29, r3 /* 802BB9E8 002B7648 41 82 01 40 */ beq lbl_802BBB28 /* 802BB9EC 002B764C 2C 1C 00 00 */ cmpwi r28, 0 /* 802BB9F0 002B7650 41 81 00 2C */ bgt lbl_802BBA1C /* 802BB9F4 002B7654 88 1B 00 28 */ lbz r0, 0x28(r27) /* 802BB9F8 002B7658 2C 00 00 00 */ cmpwi r0, 0 /* 802BB9FC 002B765C 41 82 00 14 */ beq lbl_802BBA10 /* 802BBA00 002B7660 7F 84 E3 78 */ mr r4, r28 /* 802BBA04 002B7664 38 7F 00 DC */ addi r3, r31, 0xdc /* 802BBA08 002B7668 4C C6 31 82 */ crclr 6 /* 802BBA0C 002B766C 4B D4 C0 B9 */ bl OSReport lbl_802BBA10: /* 802BBA10 002B7670 7F A3 EB 78 */ mr r3, r29 /* 802BBA14 002B7674 4B FF E3 21 */ bl GKI_freebuf /* 802BBA18 002B7678 48 00 01 10 */ b lbl_802BBB28 lbl_802BBA1C: /* 802BBA1C 002B767C 38 60 00 02 */ li r3, 2 /* 802BBA20 002B7680 4B FF E2 2D */ bl GKI_getpoolbuf /* 802BBA24 002B7684 2C 03 00 00 */ cmpwi r3, 0 /* 802BBA28 002B7688 7C 7E 1B 78 */ mr r30, r3 /* 802BBA2C 002B768C 40 82 00 10 */ bne lbl_802BBA3C /* 802BBA30 002B7690 7F A3 EB 78 */ mr r3, r29 /* 802BBA34 002B7694 4B FF E3 01 */ bl GKI_freebuf /* 802BBA38 002B7698 48 00 00 F0 */ b lbl_802BBB28 lbl_802BBA3C: /* 802BBA3C 002B769C A0 1D 00 04 */ lhz r0, 4(r29) /* 802BBA40 002B76A0 57 84 04 3E */ clrlwi r4, r28, 0x10 /* 802BBA44 002B76A4 38 C0 10 00 */ li r6, 0x1000 /* 802BBA48 002B76A8 B3 9D 00 02 */ sth r28, 2(r29) /* 802BBA4C 002B76AC 7C A4 02 14 */ add r5, r4, r0 /* 802BBA50 002B76B0 7F A4 EB 78 */ mr r4, r29 /* 802BBA54 002B76B4 3B 45 00 08 */ addi r26, r5, 8 /* 802BBA58 002B76B8 B0 DD 00 00 */ sth r6, 0(r29) /* 802BBA5C 002B76BC 57 45 00 3A */ rlwinm r5, r26, 0, 0, 0x1d /* 802BBA60 002B76C0 3B 45 00 04 */ addi r26, r5, 4 /* 802BBA64 002B76C4 7F 45 D3 78 */ mr r5, r26 /* 802BBA68 002B76C8 4B D4 85 99 */ bl memcpy /* 802BBA6C 002B76CC 88 1B 00 28 */ lbz r0, 0x28(r27) /* 802BBA70 002B76D0 2C 00 00 00 */ cmpwi r0, 0 /* 802BBA74 002B76D4 41 82 00 1C */ beq lbl_802BBA90 /* 802BBA78 002B76D8 A0 9E 00 02 */ lhz r4, 2(r30) /* 802BBA7C 002B76DC 7F 46 D3 78 */ mr r6, r26 /* 802BBA80 002B76E0 A0 BE 00 04 */ lhz r5, 4(r30) /* 802BBA84 002B76E4 38 7F 01 14 */ addi r3, r31, 0x114 /* 802BBA88 002B76E8 4C C6 31 82 */ crclr 6 /* 802BBA8C 002B76EC 4B D4 C0 39 */ bl OSReport lbl_802BBA90: /* 802BBA90 002B76F0 A0 1E 00 04 */ lhz r0, 4(r30) /* 802BBA94 002B76F4 3F 60 80 56 */ lis r27, lbl_80564DE0@ha /* 802BBA98 002B76F8 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l /* 802BBA9C 002B76FC 3B 40 00 00 */ li r26, 0 /* 802BBAA0 002B7700 7C 7E 02 14 */ add r3, r30, r0 /* 802BBAA4 002B7704 3B E3 00 08 */ addi r31, r3, 8 /* 802BBAA8 002B7708 48 00 00 28 */ b lbl_802BBAD0 lbl_802BBAAC: /* 802BBAAC 002B770C 88 1B 00 28 */ lbz r0, 0x28(r27) /* 802BBAB0 002B7710 2C 00 00 00 */ cmpwi r0, 0 /* 802BBAB4 002B7714 41 82 00 14 */ beq lbl_802BBAC8 /* 802BBAB8 002B7718 88 9F 00 00 */ lbz r4, 0(r31) /* 802BBABC 002B771C 38 6D 89 D0 */ addi r3, r13, lbl_8063DC90-_SDA_BASE_ /* 802BBAC0 002B7720 4C C6 31 82 */ crclr 6 /* 802BBAC4 002B7724 4B D4 C0 01 */ bl OSReport lbl_802BBAC8: /* 802BBAC8 002B7728 3B 5A 00 01 */ addi r26, r26, 1 /* 802BBACC 002B772C 3B FF 00 01 */ addi r31, r31, 1 lbl_802BBAD0: /* 802BBAD0 002B7730 7C 1A E0 00 */ cmpw r26, r28 /* 802BBAD4 002B7734 41 80 FF D8 */ blt lbl_802BBAAC /* 802BBAD8 002B7738 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BBADC 002B773C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BBAE0 002B7740 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BBAE4 002B7744 2C 00 00 00 */ cmpwi r0, 0 /* 802BBAE8 002B7748 41 82 00 10 */ beq lbl_802BBAF8 /* 802BBAEC 002B774C 38 6D 89 D8 */ addi r3, r13, lbl_8063DC98-_SDA_BASE_ /* 802BBAF0 002B7750 4C C6 31 82 */ crclr 6 /* 802BBAF4 002B7754 4B D4 BF D1 */ bl OSReport lbl_802BBAF8: /* 802BBAF8 002B7758 3C A0 80 56 */ lis r5, lbl_80564E40@ha /* 802BBAFC 002B775C 3C E0 80 2C */ lis r7, bta_ci_hci_msg_handler@ha /* 802BBB00 002B7760 38 A5 4E 40 */ addi r5, r5, lbl_80564E40@l /* 802BBB04 002B7764 7F C3 F3 78 */ mr r3, r30 /* 802BBB08 002B7768 39 05 10 00 */ addi r8, r5, 0x1000 /* 802BBB0C 002B776C 38 E7 CE 18 */ addi r7, r7, bta_ci_hci_msg_handler@l /* 802BBB10 002B7770 38 80 00 00 */ li r4, 0 /* 802BBB14 002B7774 38 A0 00 00 */ li r5, 0 /* 802BBB18 002B7778 38 C0 00 00 */ li r6, 0 /* 802BBB1C 002B777C 4B FA F5 45 */ bl OSSwitchFiberEx /* 802BBB20 002B7780 7F A3 EB 78 */ mr r3, r29 /* 802BBB24 002B7784 4B FF E2 11 */ bl GKI_freebuf lbl_802BBB28: /* 802BBB28 002B7788 48 00 03 39 */ bl uusb_issue_intr_read lbl_802BBB2C: /* 802BBB2C 002B778C 39 61 00 20 */ addi r11, r1, 0x20 /* 802BBB30 002B7790 4B F0 B6 41 */ bl _restgpr_26 /* 802BBB34 002B7794 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BBB38 002B7798 7C 08 03 A6 */ mtlr r0 /* 802BBB3C 002B779C 38 21 00 20 */ addi r1, r1, 0x20 /* 802BBB40 002B77A0 4E 80 00 20 */ blr uusb_ReadBulkDataCB: /* 802BBB44 002B77A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BBB48 002B77A8 7C 08 02 A6 */ mflr r0 /* 802BBB4C 002B77AC 90 01 00 24 */ stw r0, 0x24(r1) /* 802BBB50 002B77B0 39 61 00 20 */ addi r11, r1, 0x20 /* 802BBB54 002B77B4 4B F0 B5 D5 */ bl _savegpr_27 /* 802BBB58 002B77B8 3F 80 80 56 */ lis r28, lbl_80564DE0@ha /* 802BBB5C 002B77BC 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha /* 802BBB60 002B77C0 3B 9C 4D E0 */ addi r28, r28, lbl_80564DE0@l /* 802BBB64 002B77C4 7C 9E 23 78 */ mr r30, r4 /* 802BBB68 002B77C8 88 1C 00 29 */ lbz r0, 0x29(r28) /* 802BBB6C 002B77CC 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l /* 802BBB70 002B77D0 28 00 00 02 */ cmplwi r0, 2 /* 802BBB74 002B77D4 41 82 00 60 */ beq lbl_802BBBD4 /* 802BBB78 002B77D8 88 1C 00 28 */ lbz r0, 0x28(r28) /* 802BBB7C 002B77DC 2C 00 00 00 */ cmpwi r0, 0 /* 802BBB80 002B77E0 41 82 00 10 */ beq lbl_802BBB90 /* 802BBB84 002B77E4 38 7D 01 5C */ addi r3, r29, 0x15c /* 802BBB88 002B77E8 4C C6 31 82 */ crclr 6 /* 802BBB8C 002B77EC 4B D4 BF 39 */ bl OSReport lbl_802BBB90: /* 802BBB90 002B77F0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BBB94 002B77F4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BBB98 002B77F8 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BBB9C 002B77FC 2C 00 00 00 */ cmpwi r0, 0 /* 802BBBA0 002B7800 41 82 00 10 */ beq lbl_802BBBB0 /* 802BBBA4 002B7804 38 7D 01 A0 */ addi r3, r29, 0x1a0 /* 802BBBA8 002B7808 4C C6 31 82 */ crclr 6 /* 802BBBAC 002B780C 4B D4 BF 19 */ bl OSReport lbl_802BBBB0: /* 802BBBB0 002B7810 7F C3 F3 78 */ mr r3, r30 /* 802BBBB4 002B7814 4B FF E1 81 */ bl GKI_freebuf /* 802BBBB8 002B7818 3F 80 80 56 */ lis r28, lbl_80564DE0@ha /* 802BBBBC 002B781C 3B 9C 4D E0 */ addi r28, r28, lbl_80564DE0@l /* 802BBBC0 002B7820 88 7C 00 1D */ lbz r3, 0x1d(r28) /* 802BBBC4 002B7824 4B FF EC ED */ bl GKI_delete_pool /* 802BBBC8 002B7828 38 00 00 FF */ li r0, 0xff /* 802BBBCC 002B782C 98 1C 00 1D */ stb r0, 0x1d(r28) /* 802BBBD0 002B7830 48 00 01 64 */ b lbl_802BBD34 lbl_802BBBD4: /* 802BBBD4 002B7834 2C 03 00 00 */ cmpwi r3, 0 /* 802BBBD8 002B7838 41 81 00 2C */ bgt lbl_802BBC04 /* 802BBBDC 002B783C 88 1C 00 28 */ lbz r0, 0x28(r28) /* 802BBBE0 002B7840 2C 00 00 00 */ cmpwi r0, 0 /* 802BBBE4 002B7844 41 82 00 14 */ beq lbl_802BBBF8 /* 802BBBE8 002B7848 7C 64 1B 78 */ mr r4, r3 /* 802BBBEC 002B784C 38 7D 02 00 */ addi r3, r29, 0x200 /* 802BBBF0 002B7850 4C C6 31 82 */ crclr 6 /* 802BBBF4 002B7854 4B D4 BE D1 */ bl OSReport lbl_802BBBF8: /* 802BBBF8 002B7858 7F C3 F3 78 */ mr r3, r30 /* 802BBBFC 002B785C 4B FF E1 39 */ bl GKI_freebuf /* 802BBC00 002B7860 48 00 01 30 */ b lbl_802BBD30 lbl_802BBC04: /* 802BBC04 002B7864 B0 64 00 02 */ sth r3, 2(r4) /* 802BBC08 002B7868 38 60 00 03 */ li r3, 3 /* 802BBC0C 002B786C 4B FF E0 41 */ bl GKI_getpoolbuf /* 802BBC10 002B7870 2C 03 00 00 */ cmpwi r3, 0 /* 802BBC14 002B7874 7C 7F 1B 78 */ mr r31, r3 /* 802BBC18 002B7878 40 82 00 10 */ bne lbl_802BBC28 /* 802BBC1C 002B787C 7F C3 F3 78 */ mr r3, r30 /* 802BBC20 002B7880 4B FF E1 15 */ bl GKI_freebuf /* 802BBC24 002B7884 48 00 01 0C */ b lbl_802BBD30 lbl_802BBC28: /* 802BBC28 002B7888 A0 BE 00 02 */ lhz r5, 2(r30) /* 802BBC2C 002B788C 7F C4 F3 78 */ mr r4, r30 /* 802BBC30 002B7890 A0 1E 00 04 */ lhz r0, 4(r30) /* 802BBC34 002B7894 7C A5 02 14 */ add r5, r5, r0 /* 802BBC38 002B7898 3B 65 00 08 */ addi r27, r5, 8 /* 802BBC3C 002B789C 57 65 00 3A */ rlwinm r5, r27, 0, 0, 0x1d /* 802BBC40 002B78A0 3B 65 00 04 */ addi r27, r5, 4 /* 802BBC44 002B78A4 7F 65 DB 78 */ mr r5, r27 /* 802BBC48 002B78A8 4B D4 83 B9 */ bl memcpy /* 802BBC4C 002B78AC 88 1C 00 28 */ lbz r0, 0x28(r28) /* 802BBC50 002B78B0 2C 00 00 00 */ cmpwi r0, 0 /* 802BBC54 002B78B4 41 82 00 1C */ beq lbl_802BBC70 /* 802BBC58 002B78B8 A0 9F 00 02 */ lhz r4, 2(r31) /* 802BBC5C 002B78BC 7F 66 DB 78 */ mr r6, r27 /* 802BBC60 002B78C0 A0 BF 00 04 */ lhz r5, 4(r31) /* 802BBC64 002B78C4 38 7D 02 38 */ addi r3, r29, 0x238 /* 802BBC68 002B78C8 4C C6 31 82 */ crclr 6 /* 802BBC6C 002B78CC 4B D4 BE 59 */ bl OSReport lbl_802BBC70: /* 802BBC70 002B78D0 A0 1F 00 04 */ lhz r0, 4(r31) /* 802BBC74 002B78D4 3F 80 80 56 */ lis r28, lbl_80564DE0@ha /* 802BBC78 002B78D8 3B 9C 4D E0 */ addi r28, r28, lbl_80564DE0@l /* 802BBC7C 002B78DC 3B 60 00 00 */ li r27, 0 /* 802BBC80 002B78E0 7C 7F 02 14 */ add r3, r31, r0 /* 802BBC84 002B78E4 3B A3 00 08 */ addi r29, r3, 8 /* 802BBC88 002B78E8 48 00 00 28 */ b lbl_802BBCB0 lbl_802BBC8C: /* 802BBC8C 002B78EC 88 1C 00 28 */ lbz r0, 0x28(r28) /* 802BBC90 002B78F0 2C 00 00 00 */ cmpwi r0, 0 /* 802BBC94 002B78F4 41 82 00 14 */ beq lbl_802BBCA8 /* 802BBC98 002B78F8 88 9D 00 00 */ lbz r4, 0(r29) /* 802BBC9C 002B78FC 38 6D 89 D0 */ addi r3, r13, lbl_8063DC90-_SDA_BASE_ /* 802BBCA0 002B7900 4C C6 31 82 */ crclr 6 /* 802BBCA4 002B7904 4B D4 BE 21 */ bl OSReport lbl_802BBCA8: /* 802BBCA8 002B7908 3B 7B 00 01 */ addi r27, r27, 1 /* 802BBCAC 002B790C 3B BD 00 01 */ addi r29, r29, 1 lbl_802BBCB0: /* 802BBCB0 002B7910 A0 1F 00 02 */ lhz r0, 2(r31) /* 802BBCB4 002B7914 7C 1B 00 00 */ cmpw r27, r0 /* 802BBCB8 002B7918 41 80 FF D4 */ blt lbl_802BBC8C /* 802BBCBC 002B791C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BBCC0 002B7920 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BBCC4 002B7924 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BBCC8 002B7928 2C 00 00 00 */ cmpwi r0, 0 /* 802BBCCC 002B792C 41 82 00 10 */ beq lbl_802BBCDC /* 802BBCD0 002B7930 38 6D 89 D8 */ addi r3, r13, lbl_8063DC98-_SDA_BASE_ /* 802BBCD4 002B7934 4C C6 31 82 */ crclr 6 /* 802BBCD8 002B7938 4B D4 BD ED */ bl OSReport lbl_802BBCDC: /* 802BBCDC 002B793C 7F E3 FB 78 */ mr r3, r31 /* 802BBCE0 002B7940 48 01 C9 3D */ bl l2cap_link_chk_pkt_start /* 802BBCE4 002B7944 38 00 00 00 */ li r0, 0 /* 802BBCE8 002B7948 7C 7F 1B 78 */ mr r31, r3 /* 802BBCEC 002B794C 7C 03 00 40 */ cmplw r3, r0 /* 802BBCF0 002B7950 41 82 00 38 */ beq lbl_802BBD28 /* 802BBCF4 002B7954 48 01 CA F9 */ bl l2cap_link_chk_pkt_end /* 802BBCF8 002B7958 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802BBCFC 002B795C 41 82 00 2C */ beq lbl_802BBD28 /* 802BBD00 002B7960 3C A0 80 56 */ lis r5, lbl_80565E40@ha /* 802BBD04 002B7964 3C E0 80 2C */ lis r7, bta_ci_hci_msg_handler@ha /* 802BBD08 002B7968 38 A5 5E 40 */ addi r5, r5, lbl_80565E40@l /* 802BBD0C 002B796C 7F E3 FB 78 */ mr r3, r31 /* 802BBD10 002B7970 39 05 10 00 */ addi r8, r5, 0x1000 /* 802BBD14 002B7974 38 E7 CE 18 */ addi r7, r7, bta_ci_hci_msg_handler@l /* 802BBD18 002B7978 38 80 00 00 */ li r4, 0 /* 802BBD1C 002B797C 38 A0 00 00 */ li r5, 0 /* 802BBD20 002B7980 38 C0 00 00 */ li r6, 0 /* 802BBD24 002B7984 4B FA F3 3D */ bl OSSwitchFiberEx lbl_802BBD28: /* 802BBD28 002B7988 7F C3 F3 78 */ mr r3, r30 /* 802BBD2C 002B798C 4B FF E0 09 */ bl GKI_freebuf lbl_802BBD30: /* 802BBD30 002B7990 48 00 00 1D */ bl uusb_issue_bulk_read lbl_802BBD34: /* 802BBD34 002B7994 39 61 00 20 */ addi r11, r1, 0x20 /* 802BBD38 002B7998 4B F0 B4 3D */ bl _restgpr_27 /* 802BBD3C 002B799C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BBD40 002B79A0 7C 08 03 A6 */ mtlr r0 /* 802BBD44 002B79A4 38 21 00 20 */ addi r1, r1, 0x20 /* 802BBD48 002B79A8 4E 80 00 20 */ blr .global uusb_issue_bulk_read uusb_issue_bulk_read: /* 802BBD4C 002B79AC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BBD50 002B79B0 7C 08 02 A6 */ mflr r0 /* 802BBD54 002B79B4 90 01 00 24 */ stw r0, 0x24(r1) /* 802BBD58 002B79B8 39 61 00 20 */ addi r11, r1, 0x20 /* 802BBD5C 002B79BC 4B F0 B3 CD */ bl _savegpr_27 /* 802BBD60 002B79C0 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha /* 802BBD64 002B79C4 3F C0 80 56 */ lis r30, lbl_80564DE0@ha /* 802BBD68 002B79C8 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l /* 802BBD6C 002B79CC 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l lbl_802BBD70: /* 802BBD70 002B79D0 88 7F 00 1D */ lbz r3, 0x1d(r31) /* 802BBD74 002B79D4 4B FF DE D9 */ bl GKI_getpoolbuf /* 802BBD78 002B79D8 2C 03 00 00 */ cmpwi r3, 0 /* 802BBD7C 002B79DC 7C 7C 1B 78 */ mr r28, r3 /* 802BBD80 002B79E0 40 82 00 20 */ bne lbl_802BBDA0 /* 802BBD84 002B79E4 88 1F 00 28 */ lbz r0, 0x28(r31) /* 802BBD88 002B79E8 2C 00 00 00 */ cmpwi r0, 0 /* 802BBD8C 002B79EC 41 82 FF E4 */ beq lbl_802BBD70 /* 802BBD90 002B79F0 38 7D 02 80 */ addi r3, r29, 0x280 /* 802BBD94 002B79F4 4C C6 31 82 */ crclr 6 /* 802BBD98 002B79F8 4B D4 BD 2D */ bl OSReport /* 802BBD9C 002B79FC 4B FF FF D4 */ b lbl_802BBD70 lbl_802BBDA0: /* 802BBDA0 002B7A00 38 80 11 00 */ li r4, 0x1100 /* 802BBDA4 002B7A04 38 03 00 27 */ addi r0, r3, 0x27 /* 802BBDA8 002B7A08 B0 83 00 00 */ sth r4, 0(r3) /* 802BBDAC 002B7A0C 38 80 00 00 */ li r4, 0 /* 802BBDB0 002B7A10 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a /* 802BBDB4 002B7A14 38 03 00 08 */ addi r0, r3, 8 /* 802BBDB8 002B7A18 B0 83 00 02 */ sth r4, 2(r3) /* 802BBDBC 002B7A1C 7C 00 D8 50 */ subf r0, r0, r27 /* 802BBDC0 002B7A20 B0 03 00 04 */ sth r0, 4(r3) /* 802BBDC4 002B7A24 4B FF E0 E1 */ bl GKI_get_buf_size /* 802BBDC8 002B7A28 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 802BBDCC 002B7A2C A0 1C 00 04 */ lhz r0, 4(r28) /* 802BBDD0 002B7A30 38 A3 FF D8 */ addi r5, r3, -40 /* 802BBDD4 002B7A34 3C E0 80 2C */ lis r7, uusb_ReadBulkDataCB@ha /* 802BBDD8 002B7A38 80 7E 4D E0 */ lwz r3, 0x4de0(r30) /* 802BBDDC 002B7A3C 7F 66 DB 78 */ mr r6, r27 /* 802BBDE0 002B7A40 88 9F 00 11 */ lbz r4, 0x11(r31) /* 802BBDE4 002B7A44 7F 88 E3 78 */ mr r8, r28 /* 802BBDE8 002B7A48 7C A0 28 50 */ subf r5, r0, r5 /* 802BBDEC 002B7A4C 38 E7 BB 44 */ addi r7, r7, uusb_ReadBulkDataCB@l /* 802BBDF0 002B7A50 4B FF 87 C9 */ bl IUSB_ReadBlkMsgAsync /* 802BBDF4 002B7A54 2C 03 00 00 */ cmpwi r3, 0 /* 802BBDF8 002B7A58 7C 7B 1B 78 */ mr r27, r3 /* 802BBDFC 002B7A5C 41 82 00 4C */ beq lbl_802BBE48 /* 802BBE00 002B7A60 88 1F 00 28 */ lbz r0, 0x28(r31) /* 802BBE04 002B7A64 2C 00 00 00 */ cmpwi r0, 0 /* 802BBE08 002B7A68 41 82 00 14 */ beq lbl_802BBE1C /* 802BBE0C 002B7A6C 7F 64 DB 78 */ mr r4, r27 /* 802BBE10 002B7A70 38 7D 02 D4 */ addi r3, r29, 0x2d4 /* 802BBE14 002B7A74 4C C6 31 82 */ crclr 6 /* 802BBE18 002B7A78 4B D4 BC AD */ bl OSReport lbl_802BBE1C: /* 802BBE1C 002B7A7C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BBE20 002B7A80 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BBE24 002B7A84 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BBE28 002B7A88 2C 00 00 00 */ cmpwi r0, 0 /* 802BBE2C 002B7A8C 41 82 00 14 */ beq lbl_802BBE40 /* 802BBE30 002B7A90 7F 64 DB 78 */ mr r4, r27 /* 802BBE34 002B7A94 38 7D 03 20 */ addi r3, r29, 0x320 /* 802BBE38 002B7A98 4C C6 31 82 */ crclr 6 /* 802BBE3C 002B7A9C 4B D4 BC 89 */ bl OSReport lbl_802BBE40: /* 802BBE40 002B7AA0 7F 83 E3 78 */ mr r3, r28 /* 802BBE44 002B7AA4 4B FF DE F1 */ bl GKI_freebuf lbl_802BBE48: /* 802BBE48 002B7AA8 39 61 00 20 */ addi r11, r1, 0x20 /* 802BBE4C 002B7AAC 4B F0 B3 29 */ bl _restgpr_27 /* 802BBE50 002B7AB0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BBE54 002B7AB4 7C 08 03 A6 */ mtlr r0 /* 802BBE58 002B7AB8 38 21 00 20 */ addi r1, r1, 0x20 /* 802BBE5C 002B7ABC 4E 80 00 20 */ blr .global uusb_issue_intr_read uusb_issue_intr_read: /* 802BBE60 002B7AC0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BBE64 002B7AC4 7C 08 02 A6 */ mflr r0 /* 802BBE68 002B7AC8 90 01 00 24 */ stw r0, 0x24(r1) /* 802BBE6C 002B7ACC 39 61 00 20 */ addi r11, r1, 0x20 /* 802BBE70 002B7AD0 4B F0 B2 B9 */ bl _savegpr_27 /* 802BBE74 002B7AD4 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha /* 802BBE78 002B7AD8 3F C0 80 56 */ lis r30, lbl_80564DE0@ha /* 802BBE7C 002B7ADC 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l /* 802BBE80 002B7AE0 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l lbl_802BBE84: /* 802BBE84 002B7AE4 88 7F 00 1C */ lbz r3, 0x1c(r31) /* 802BBE88 002B7AE8 4B FF DD C5 */ bl GKI_getpoolbuf /* 802BBE8C 002B7AEC 2C 03 00 00 */ cmpwi r3, 0 /* 802BBE90 002B7AF0 7C 7C 1B 78 */ mr r28, r3 /* 802BBE94 002B7AF4 40 82 00 20 */ bne lbl_802BBEB4 /* 802BBE98 002B7AF8 88 1F 00 28 */ lbz r0, 0x28(r31) /* 802BBE9C 002B7AFC 2C 00 00 00 */ cmpwi r0, 0 /* 802BBEA0 002B7B00 41 82 FF E4 */ beq lbl_802BBE84 /* 802BBEA4 002B7B04 38 7D 03 78 */ addi r3, r29, 0x378 /* 802BBEA8 002B7B08 4C C6 31 82 */ crclr 6 /* 802BBEAC 002B7B0C 4B D4 BC 19 */ bl OSReport /* 802BBEB0 002B7B10 4B FF FF D4 */ b lbl_802BBE84 lbl_802BBEB4: /* 802BBEB4 002B7B14 38 80 10 00 */ li r4, 0x1000 /* 802BBEB8 002B7B18 38 03 00 27 */ addi r0, r3, 0x27 /* 802BBEBC 002B7B1C B0 83 00 00 */ sth r4, 0(r3) /* 802BBEC0 002B7B20 38 80 00 00 */ li r4, 0 /* 802BBEC4 002B7B24 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a /* 802BBEC8 002B7B28 38 03 00 08 */ addi r0, r3, 8 /* 802BBECC 002B7B2C B0 83 00 02 */ sth r4, 2(r3) /* 802BBED0 002B7B30 7C 00 D8 50 */ subf r0, r0, r27 /* 802BBED4 002B7B34 B0 03 00 04 */ sth r0, 4(r3) /* 802BBED8 002B7B38 4B FF DF CD */ bl GKI_get_buf_size /* 802BBEDC 002B7B3C 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 802BBEE0 002B7B40 A0 1C 00 04 */ lhz r0, 4(r28) /* 802BBEE4 002B7B44 38 A3 FF D8 */ addi r5, r3, -40 /* 802BBEE8 002B7B48 3C E0 80 2C */ lis r7, uusb_ReadIntrDataCB@ha /* 802BBEEC 002B7B4C 80 7E 4D E0 */ lwz r3, 0x4de0(r30) /* 802BBEF0 002B7B50 7F 66 DB 78 */ mr r6, r27 /* 802BBEF4 002B7B54 88 9F 00 12 */ lbz r4, 0x12(r31) /* 802BBEF8 002B7B58 7F 88 E3 78 */ mr r8, r28 /* 802BBEFC 002B7B5C 7C A0 28 50 */ subf r5, r0, r5 /* 802BBF00 002B7B60 38 E7 B9 28 */ addi r7, r7, uusb_ReadIntrDataCB@l /* 802BBF04 002B7B64 4B FF 86 41 */ bl IUSB_ReadIntrMsgAsync /* 802BBF08 002B7B68 2C 03 00 00 */ cmpwi r3, 0 /* 802BBF0C 002B7B6C 7C 7B 1B 78 */ mr r27, r3 /* 802BBF10 002B7B70 41 82 00 4C */ beq lbl_802BBF5C /* 802BBF14 002B7B74 88 1F 00 28 */ lbz r0, 0x28(r31) /* 802BBF18 002B7B78 2C 00 00 00 */ cmpwi r0, 0 /* 802BBF1C 002B7B7C 41 82 00 14 */ beq lbl_802BBF30 /* 802BBF20 002B7B80 7F 64 DB 78 */ mr r4, r27 /* 802BBF24 002B7B84 38 7D 03 CC */ addi r3, r29, 0x3cc /* 802BBF28 002B7B88 4C C6 31 82 */ crclr 6 /* 802BBF2C 002B7B8C 4B D4 BB 99 */ bl OSReport lbl_802BBF30: /* 802BBF30 002B7B90 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BBF34 002B7B94 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BBF38 002B7B98 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BBF3C 002B7B9C 2C 00 00 00 */ cmpwi r0, 0 /* 802BBF40 002B7BA0 41 82 00 14 */ beq lbl_802BBF54 /* 802BBF44 002B7BA4 7F 64 DB 78 */ mr r4, r27 /* 802BBF48 002B7BA8 38 7D 04 04 */ addi r3, r29, 0x404 /* 802BBF4C 002B7BAC 4C C6 31 82 */ crclr 6 /* 802BBF50 002B7BB0 4B D4 BB 75 */ bl OSReport lbl_802BBF54: /* 802BBF54 002B7BB4 7F 83 E3 78 */ mr r3, r28 /* 802BBF58 002B7BB8 4B FF DD DD */ bl GKI_freebuf lbl_802BBF5C: /* 802BBF5C 002B7BBC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BBF60 002B7BC0 38 00 00 01 */ li r0, 1 /* 802BBF64 002B7BC4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BBF68 002B7BC8 39 61 00 20 */ addi r11, r1, 0x20 /* 802BBF6C 002B7BCC 98 03 00 2B */ stb r0, 0x2b(r3) /* 802BBF70 002B7BD0 4B F0 B2 05 */ bl _restgpr_27 /* 802BBF74 002B7BD4 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BBF78 002B7BD8 7C 08 03 A6 */ mtlr r0 /* 802BBF7C 002B7BDC 38 21 00 20 */ addi r1, r1, 0x20 /* 802BBF80 002B7BE0 4E 80 00 20 */ blr uusb_WriteCtrlDataCB: /* 802BBF84 002B7BE4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BBF88 002B7BE8 7C 08 02 A6 */ mflr r0 /* 802BBF8C 002B7BEC 3C A0 80 56 */ lis r5, lbl_80564DE0@ha /* 802BBF90 002B7BF0 90 01 00 24 */ stw r0, 0x24(r1) /* 802BBF94 002B7BF4 38 A5 4D E0 */ addi r5, r5, lbl_80564DE0@l /* 802BBF98 002B7BF8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802BBF9C 002B7BFC 93 C1 00 18 */ stw r30, 0x18(r1) /* 802BBFA0 002B7C00 7C 7E 1B 78 */ mr r30, r3 /* 802BBFA4 002B7C04 93 A1 00 14 */ stw r29, 0x14(r1) /* 802BBFA8 002B7C08 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha /* 802BBFAC 002B7C0C 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l /* 802BBFB0 002B7C10 93 81 00 10 */ stw r28, 0x10(r1) /* 802BBFB4 002B7C14 7C 9C 23 78 */ mr r28, r4 /* 802BBFB8 002B7C18 88 05 00 28 */ lbz r0, 0x28(r5) /* 802BBFBC 002B7C1C 2C 00 00 00 */ cmpwi r0, 0 /* 802BBFC0 002B7C20 41 82 00 14 */ beq lbl_802BBFD4 /* 802BBFC4 002B7C24 7F C4 F3 78 */ mr r4, r30 /* 802BBFC8 002B7C28 38 7D 04 60 */ addi r3, r29, 0x460 /* 802BBFCC 002B7C2C 4C C6 31 82 */ crclr 6 /* 802BBFD0 002B7C30 4B D4 BA F5 */ bl OSReport lbl_802BBFD4: /* 802BBFD4 002B7C34 2C 1E 00 00 */ cmpwi r30, 0 /* 802BBFD8 002B7C38 40 80 00 28 */ bge lbl_802BC000 /* 802BBFDC 002B7C3C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BBFE0 002B7C40 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BBFE4 002B7C44 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BBFE8 002B7C48 2C 00 00 00 */ cmpwi r0, 0 /* 802BBFEC 002B7C4C 41 82 00 14 */ beq lbl_802BC000 /* 802BBFF0 002B7C50 7F C4 F3 78 */ mr r4, r30 /* 802BBFF4 002B7C54 38 7D 04 98 */ addi r3, r29, 0x498 /* 802BBFF8 002B7C58 4C C6 31 82 */ crclr 6 /* 802BBFFC 002B7C5C 4B D4 BA C9 */ bl OSReport lbl_802BC000: /* 802BC000 002B7C60 2C 1C 00 00 */ cmpwi r28, 0 /* 802BC004 002B7C64 41 82 00 28 */ beq lbl_802BC02C /* 802BC008 002B7C68 7F 83 E3 78 */ mr r3, r28 /* 802BC00C 002B7C6C 4B FF DD 29 */ bl GKI_freebuf /* 802BC010 002B7C70 4B FF F1 71 */ bl GKI_disable /* 802BC014 002B7C74 3C 80 80 56 */ lis r4, lbl_80564DE0@ha /* 802BC018 002B7C78 38 84 4D E0 */ addi r4, r4, lbl_80564DE0@l /* 802BC01C 002B7C7C 88 64 00 48 */ lbz r3, 0x48(r4) /* 802BC020 002B7C80 38 03 FF FF */ addi r0, r3, -1 /* 802BC024 002B7C84 98 04 00 48 */ stb r0, 0x48(r4) /* 802BC028 002B7C88 4B FF F1 35 */ bl GKI_enable lbl_802BC02C: /* 802BC02C 002B7C8C 3F C0 80 56 */ lis r30, lbl_80564DE0@ha /* 802BC030 002B7C90 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l /* 802BC034 002B7C94 88 1F 00 48 */ lbz r0, 0x48(r31) /* 802BC038 002B7C98 28 00 00 05 */ cmplwi r0, 5 /* 802BC03C 002B7C9C 40 80 00 9C */ bge lbl_802BC0D8 /* 802BC040 002B7CA0 A0 1F 00 44 */ lhz r0, 0x44(r31) /* 802BC044 002B7CA4 2C 00 00 00 */ cmpwi r0, 0 /* 802BC048 002B7CA8 41 82 00 90 */ beq lbl_802BC0D8 /* 802BC04C 002B7CAC 38 7F 00 3C */ addi r3, r31, 0x3c /* 802BC050 002B7CB0 4B FF E3 81 */ bl GKI_dequeue /* 802BC054 002B7CB4 90 61 00 08 */ stw r3, 8(r1) /* 802BC058 002B7CB8 7C 7C 1B 78 */ mr r28, r3 /* 802BC05C 002B7CBC 3D 40 80 2C */ lis r10, uusb_WriteCtrlDataCB@ha /* 802BC060 002B7CC0 38 80 00 20 */ li r4, 0x20 /* 802BC064 002B7CC4 A0 03 00 04 */ lhz r0, 4(r3) /* 802BC068 002B7CC8 39 4A BF 84 */ addi r10, r10, uusb_WriteCtrlDataCB@l /* 802BC06C 002B7CCC 80 7E 4D E0 */ lwz r3, 0x4de0(r30) /* 802BC070 002B7CD0 38 A0 00 00 */ li r5, 0 /* 802BC074 002B7CD4 7C DC 02 14 */ add r6, r28, r0 /* 802BC078 002B7CD8 A1 1C 00 02 */ lhz r8, 2(r28) /* 802BC07C 002B7CDC 39 26 00 08 */ addi r9, r6, 8 /* 802BC080 002B7CE0 38 E0 00 00 */ li r7, 0 /* 802BC084 002B7CE4 38 C0 00 00 */ li r6, 0 /* 802BC088 002B7CE8 4B FF 8B AD */ bl IUSB_WriteCtrlMsgAsync /* 802BC08C 002B7CEC 2C 03 00 00 */ cmpwi r3, 0 /* 802BC090 002B7CF0 40 80 00 34 */ bge lbl_802BC0C4 /* 802BC094 002B7CF4 88 1F 00 28 */ lbz r0, 0x28(r31) /* 802BC098 002B7CF8 2C 00 00 00 */ cmpwi r0, 0 /* 802BC09C 002B7CFC 41 82 00 10 */ beq lbl_802BC0AC /* 802BC0A0 002B7D00 38 7D 04 D0 */ addi r3, r29, 0x4d0 /* 802BC0A4 002B7D04 4C C6 31 82 */ crclr 6 /* 802BC0A8 002B7D08 4B D4 BA 1D */ bl OSReport lbl_802BC0AC: /* 802BC0AC 002B7D0C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC0B0 002B7D10 7F 84 E3 78 */ mr r4, r28 /* 802BC0B4 002B7D14 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC0B8 002B7D18 38 63 00 3C */ addi r3, r3, 0x3c /* 802BC0BC 002B7D1C 4B FF E1 D5 */ bl GKI_enqueue_head /* 802BC0C0 002B7D20 48 00 00 18 */ b lbl_802BC0D8 lbl_802BC0C4: /* 802BC0C4 002B7D24 4B FF F0 BD */ bl GKI_disable /* 802BC0C8 002B7D28 88 7F 00 48 */ lbz r3, 0x48(r31) /* 802BC0CC 002B7D2C 38 03 00 01 */ addi r0, r3, 1 /* 802BC0D0 002B7D30 98 1F 00 48 */ stb r0, 0x48(r31) /* 802BC0D4 002B7D34 4B FF F0 89 */ bl GKI_enable lbl_802BC0D8: /* 802BC0D8 002B7D38 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BC0DC 002B7D3C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802BC0E0 002B7D40 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802BC0E4 002B7D44 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802BC0E8 002B7D48 83 81 00 10 */ lwz r28, 0x10(r1) /* 802BC0EC 002B7D4C 7C 08 03 A6 */ mtlr r0 /* 802BC0F0 002B7D50 38 21 00 20 */ addi r1, r1, 0x20 /* 802BC0F4 002B7D54 4E 80 00 20 */ blr uusb_WriteBulkDataCB: /* 802BC0F8 002B7D58 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BC0FC 002B7D5C 7C 08 02 A6 */ mflr r0 /* 802BC100 002B7D60 3C A0 80 56 */ lis r5, lbl_80564DE0@ha /* 802BC104 002B7D64 90 01 00 24 */ stw r0, 0x24(r1) /* 802BC108 002B7D68 38 A5 4D E0 */ addi r5, r5, lbl_80564DE0@l /* 802BC10C 002B7D6C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802BC110 002B7D70 93 C1 00 18 */ stw r30, 0x18(r1) /* 802BC114 002B7D74 7C 7E 1B 78 */ mr r30, r3 /* 802BC118 002B7D78 93 A1 00 14 */ stw r29, 0x14(r1) /* 802BC11C 002B7D7C 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha /* 802BC120 002B7D80 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l /* 802BC124 002B7D84 93 81 00 10 */ stw r28, 0x10(r1) /* 802BC128 002B7D88 7C 9C 23 78 */ mr r28, r4 /* 802BC12C 002B7D8C 88 05 00 28 */ lbz r0, 0x28(r5) /* 802BC130 002B7D90 2C 00 00 00 */ cmpwi r0, 0 /* 802BC134 002B7D94 41 82 00 14 */ beq lbl_802BC148 /* 802BC138 002B7D98 7F C4 F3 78 */ mr r4, r30 /* 802BC13C 002B7D9C 38 7D 05 18 */ addi r3, r29, 0x518 /* 802BC140 002B7DA0 4C C6 31 82 */ crclr 6 /* 802BC144 002B7DA4 4B D4 B9 81 */ bl OSReport lbl_802BC148: /* 802BC148 002B7DA8 2C 1E 00 00 */ cmpwi r30, 0 /* 802BC14C 002B7DAC 40 80 00 28 */ bge lbl_802BC174 /* 802BC150 002B7DB0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC154 002B7DB4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC158 002B7DB8 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC15C 002B7DBC 2C 00 00 00 */ cmpwi r0, 0 /* 802BC160 002B7DC0 41 82 00 14 */ beq lbl_802BC174 /* 802BC164 002B7DC4 7F C4 F3 78 */ mr r4, r30 /* 802BC168 002B7DC8 38 7D 05 50 */ addi r3, r29, 0x550 /* 802BC16C 002B7DCC 4C C6 31 82 */ crclr 6 /* 802BC170 002B7DD0 4B D4 B9 55 */ bl OSReport lbl_802BC174: /* 802BC174 002B7DD4 2C 1C 00 00 */ cmpwi r28, 0 /* 802BC178 002B7DD8 41 82 00 28 */ beq lbl_802BC1A0 /* 802BC17C 002B7DDC 7F 83 E3 78 */ mr r3, r28 /* 802BC180 002B7DE0 4B FF DB B5 */ bl GKI_freebuf /* 802BC184 002B7DE4 4B FF EF FD */ bl GKI_disable /* 802BC188 002B7DE8 3C 80 80 56 */ lis r4, lbl_80564DE0@ha /* 802BC18C 002B7DEC 38 84 4D E0 */ addi r4, r4, lbl_80564DE0@l /* 802BC190 002B7DF0 88 64 00 38 */ lbz r3, 0x38(r4) /* 802BC194 002B7DF4 38 03 FF FF */ addi r0, r3, -1 /* 802BC198 002B7DF8 98 04 00 38 */ stb r0, 0x38(r4) /* 802BC19C 002B7DFC 4B FF EF C1 */ bl GKI_enable lbl_802BC1A0: /* 802BC1A0 002B7E00 3F C0 80 56 */ lis r30, lbl_80564DE0@ha /* 802BC1A4 002B7E04 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l /* 802BC1A8 002B7E08 88 1F 00 38 */ lbz r0, 0x38(r31) /* 802BC1AC 002B7E0C 28 00 00 05 */ cmplwi r0, 5 /* 802BC1B0 002B7E10 40 80 00 90 */ bge lbl_802BC240 /* 802BC1B4 002B7E14 A0 1F 00 34 */ lhz r0, 0x34(r31) /* 802BC1B8 002B7E18 2C 00 00 00 */ cmpwi r0, 0 /* 802BC1BC 002B7E1C 41 82 00 84 */ beq lbl_802BC240 /* 802BC1C0 002B7E20 38 7F 00 2C */ addi r3, r31, 0x2c /* 802BC1C4 002B7E24 4B FF E2 0D */ bl GKI_dequeue /* 802BC1C8 002B7E28 A0 03 00 04 */ lhz r0, 4(r3) /* 802BC1CC 002B7E2C 7C 7C 1B 78 */ mr r28, r3 /* 802BC1D0 002B7E30 3C E0 80 2C */ lis r7, uusb_WriteBulkDataCB@ha /* 802BC1D4 002B7E34 80 7E 4D E0 */ lwz r3, 0x4de0(r30) /* 802BC1D8 002B7E38 7C DC 02 14 */ add r6, r28, r0 /* 802BC1DC 002B7E3C 88 9F 00 10 */ lbz r4, 0x10(r31) /* 802BC1E0 002B7E40 A0 BC 00 02 */ lhz r5, 2(r28) /* 802BC1E4 002B7E44 7F 88 E3 78 */ mr r8, r28 /* 802BC1E8 002B7E48 38 E7 C0 F8 */ addi r7, r7, uusb_WriteBulkDataCB@l /* 802BC1EC 002B7E4C 38 C6 00 08 */ addi r6, r6, 8 /* 802BC1F0 002B7E50 4B FF 84 3D */ bl IUSB_WriteBlkMsgAsync /* 802BC1F4 002B7E54 2C 03 00 00 */ cmpwi r3, 0 /* 802BC1F8 002B7E58 40 80 00 34 */ bge lbl_802BC22C /* 802BC1FC 002B7E5C 88 1F 00 28 */ lbz r0, 0x28(r31) /* 802BC200 002B7E60 2C 00 00 00 */ cmpwi r0, 0 /* 802BC204 002B7E64 41 82 00 10 */ beq lbl_802BC214 /* 802BC208 002B7E68 38 7D 05 88 */ addi r3, r29, 0x588 /* 802BC20C 002B7E6C 4C C6 31 82 */ crclr 6 /* 802BC210 002B7E70 4B D4 B8 B5 */ bl OSReport lbl_802BC214: /* 802BC214 002B7E74 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC218 002B7E78 7F 84 E3 78 */ mr r4, r28 /* 802BC21C 002B7E7C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC220 002B7E80 38 63 00 2C */ addi r3, r3, 0x2c /* 802BC224 002B7E84 4B FF E0 6D */ bl GKI_enqueue_head /* 802BC228 002B7E88 48 00 00 18 */ b lbl_802BC240 lbl_802BC22C: /* 802BC22C 002B7E8C 4B FF EF 55 */ bl GKI_disable /* 802BC230 002B7E90 88 7F 00 38 */ lbz r3, 0x38(r31) /* 802BC234 002B7E94 38 03 00 01 */ addi r0, r3, 1 /* 802BC238 002B7E98 98 1F 00 38 */ stb r0, 0x38(r31) /* 802BC23C 002B7E9C 4B FF EF 21 */ bl GKI_enable lbl_802BC240: /* 802BC240 002B7EA0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BC244 002B7EA4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802BC248 002B7EA8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802BC24C 002B7EAC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802BC250 002B7EB0 83 81 00 10 */ lwz r28, 0x10(r1) /* 802BC254 002B7EB4 7C 08 03 A6 */ mtlr r0 /* 802BC258 002B7EB8 38 21 00 20 */ addi r1, r1, 0x20 /* 802BC25C 002B7EBC 4E 80 00 20 */ blr .global uusb_get_devId uusb_get_devId: /* 802BC260 002B7EC0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802BC264 002B7EC4 7C 08 02 A6 */ mflr r0 /* 802BC268 002B7EC8 7C 85 23 78 */ mr r5, r4 /* 802BC26C 002B7ECC 90 01 00 14 */ stw r0, 0x14(r1) /* 802BC270 002B7ED0 93 E1 00 0C */ stw r31, 0xc(r1) /* 802BC274 002B7ED4 80 0D AE D0 */ lwz r0, lbl_80640190-_SDA_BASE_(r13) /* 802BC278 002B7ED8 28 00 00 01 */ cmplwi r0, 1 /* 802BC27C 002B7EDC 40 82 00 58 */ bne lbl_802BC2D4 /* 802BC280 002B7EE0 80 0D AE CC */ lwz r0, lbl_8064018C-_SDA_BASE_(r13) /* 802BC284 002B7EE4 2C 00 00 00 */ cmpwi r0, 0 /* 802BC288 002B7EE8 40 82 00 24 */ bne lbl_802BC2AC /* 802BC28C 002B7EEC 3C C0 80 56 */ lis r6, lbl_80564DE0@ha /* 802BC290 002B7EF0 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 802BC294 002B7EF4 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 802BC298 002B7EF8 38 6D 89 DC */ addi r3, r13, lbl_8063DC9C-_SDA_BASE_ /* 802BC29C 002B7EFC 38 C6 4D E0 */ addi r6, r6, lbl_80564DE0@l /* 802BC2A0 002B7F00 4B FF 7D 31 */ bl IUSB_OpenDeviceIds /* 802BC2A4 002B7F04 7C 7F 1B 78 */ mr r31, r3 /* 802BC2A8 002B7F08 48 00 00 48 */ b lbl_802BC2F0 lbl_802BC2AC: /* 802BC2AC 002B7F0C 28 00 00 01 */ cmplwi r0, 1 /* 802BC2B0 002B7F10 40 82 00 40 */ bne lbl_802BC2F0 /* 802BC2B4 002B7F14 3C C0 80 56 */ lis r6, lbl_80564DE0@ha /* 802BC2B8 002B7F18 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 802BC2BC 002B7F1C 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 802BC2C0 002B7F20 38 6D 89 E0 */ addi r3, r13, lbl_8063DCA0-_SDA_BASE_ /* 802BC2C4 002B7F24 38 C6 4D E0 */ addi r6, r6, lbl_80564DE0@l /* 802BC2C8 002B7F28 4B FF 7D 09 */ bl IUSB_OpenDeviceIds /* 802BC2CC 002B7F2C 7C 7F 1B 78 */ mr r31, r3 /* 802BC2D0 002B7F30 48 00 00 20 */ b lbl_802BC2F0 lbl_802BC2D4: /* 802BC2D4 002B7F34 3C C0 80 56 */ lis r6, lbl_80564DE0@ha /* 802BC2D8 002B7F38 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 802BC2DC 002B7F3C 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 802BC2E0 002B7F40 38 6D 89 E0 */ addi r3, r13, lbl_8063DCA0-_SDA_BASE_ /* 802BC2E4 002B7F44 38 C6 4D E0 */ addi r6, r6, lbl_80564DE0@l /* 802BC2E8 002B7F48 4B FF 7C E9 */ bl IUSB_OpenDeviceIds /* 802BC2EC 002B7F4C 7C 7F 1B 78 */ mr r31, r3 lbl_802BC2F0: /* 802BC2F0 002B7F50 2C 1F 00 00 */ cmpwi r31, 0 /* 802BC2F4 002B7F54 40 80 00 5C */ bge lbl_802BC350 /* 802BC2F8 002B7F58 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC2FC 002B7F5C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC300 002B7F60 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC304 002B7F64 2C 00 00 00 */ cmpwi r0, 0 /* 802BC308 002B7F68 41 82 00 20 */ beq lbl_802BC328 /* 802BC30C 002B7F6C 3C 60 80 44 */ lis r3, lbl_8043F8B8@ha /* 802BC310 002B7F70 7F E4 FB 78 */ mr r4, r31 /* 802BC314 002B7F74 38 63 F8 B8 */ addi r3, r3, lbl_8043F8B8@l /* 802BC318 002B7F78 38 A0 05 7E */ li r5, 0x57e /* 802BC31C 002B7F7C 38 C0 03 05 */ li r6, 0x305 /* 802BC320 002B7F80 4C C6 31 82 */ crclr 6 /* 802BC324 002B7F84 4B D4 B7 A1 */ bl OSReport lbl_802BC328: /* 802BC328 002B7F88 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC32C 002B7F8C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC330 002B7F90 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC334 002B7F94 2C 00 00 00 */ cmpwi r0, 0 /* 802BC338 002B7F98 41 82 00 1C */ beq lbl_802BC354 /* 802BC33C 002B7F9C 3C 60 80 44 */ lis r3, lbl_8043F918@ha /* 802BC340 002B7FA0 38 63 F9 18 */ addi r3, r3, lbl_8043F918@l /* 802BC344 002B7FA4 4C C6 31 82 */ crclr 6 /* 802BC348 002B7FA8 4B D4 B7 7D */ bl OSReport /* 802BC34C 002B7FAC 48 00 00 08 */ b lbl_802BC354 lbl_802BC350: /* 802BC350 002B7FB0 93 ED 89 CC */ stw r31, lbl_8063DC8C-_SDA_BASE_(r13) lbl_802BC354: /* 802BC354 002B7FB4 7F E3 FB 78 */ mr r3, r31 /* 802BC358 002B7FB8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802BC35C 002B7FBC 80 01 00 14 */ lwz r0, 0x14(r1) /* 802BC360 002B7FC0 7C 08 03 A6 */ mtlr r0 /* 802BC364 002B7FC4 38 21 00 10 */ addi r1, r1, 0x10 /* 802BC368 002B7FC8 4E 80 00 20 */ blr .global UUSB_Register UUSB_Register: /* 802BC36C 002B7FCC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BC370 002B7FD0 7C 08 02 A6 */ mflr r0 /* 802BC374 002B7FD4 38 80 00 00 */ li r4, 0 /* 802BC378 002B7FD8 38 A0 00 4C */ li r5, 0x4c /* 802BC37C 002B7FDC 90 01 00 24 */ stw r0, 0x24(r1) /* 802BC380 002B7FE0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802BC384 002B7FE4 3F E0 80 44 */ lis r31, lbl_8043F2E8@ha /* 802BC388 002B7FE8 3B FF F2 E8 */ addi r31, r31, lbl_8043F2E8@l /* 802BC38C 002B7FEC 93 C1 00 18 */ stw r30, 0x18(r1) /* 802BC390 002B7FF0 7C 7E 1B 78 */ mr r30, r3 /* 802BC394 002B7FF4 93 A1 00 14 */ stw r29, 0x14(r1) /* 802BC398 002B7FF8 3F A0 80 56 */ lis r29, lbl_80564DE0@ha /* 802BC39C 002B7FFC 38 7D 4D E0 */ addi r3, r29, lbl_80564DE0@l /* 802BC3A0 002B8000 4B D4 7D 65 */ bl memset /* 802BC3A4 002B8004 4B FF ED DD */ bl GKI_disable /* 802BC3A8 002B8008 3B BD 4D E0 */ addi r29, r29, 0x4de0 /* 802BC3AC 002B800C 38 00 00 05 */ li r0, 5 /* 802BC3B0 002B8010 98 1D 00 29 */ stb r0, 0x29(r29) /* 802BC3B4 002B8014 4B FF ED A9 */ bl GKI_enable /* 802BC3B8 002B8018 88 0D AE C9 */ lbz r0, lbl_80640189-_SDA_BASE_(r13) /* 802BC3BC 002B801C 2C 00 00 00 */ cmpwi r0, 0 /* 802BC3C0 002B8020 40 82 00 14 */ bne lbl_802BC3D4 /* 802BC3C4 002B8024 38 60 00 00 */ li r3, 0 /* 802BC3C8 002B8028 38 00 00 01 */ li r0, 1 /* 802BC3CC 002B802C 98 7D 00 28 */ stb r3, 0x28(r29) /* 802BC3D0 002B8030 98 0D AE C9 */ stb r0, lbl_80640189-_SDA_BASE_(r13) lbl_802BC3D4: /* 802BC3D4 002B8034 4B FE 69 6D */ bl IPCCltInit /* 802BC3D8 002B8038 2C 03 00 00 */ cmpwi r3, 0 /* 802BC3DC 002B803C 41 82 00 28 */ beq lbl_802BC404 /* 802BC3E0 002B8040 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC3E4 002B8044 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC3E8 002B8048 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC3EC 002B804C 2C 00 00 00 */ cmpwi r0, 0 /* 802BC3F0 002B8050 41 82 01 CC */ beq lbl_802BC5BC /* 802BC3F4 002B8054 38 7F 06 70 */ addi r3, r31, 0x670 /* 802BC3F8 002B8058 4C C6 31 82 */ crclr 6 /* 802BC3FC 002B805C 4B D4 B6 C9 */ bl OSReport /* 802BC400 002B8060 48 00 01 BC */ b lbl_802BC5BC lbl_802BC404: /* 802BC404 002B8064 4B FF 79 71 */ bl IUSB_OpenLib /* 802BC408 002B8068 2C 03 00 00 */ cmpwi r3, 0 /* 802BC40C 002B806C 41 82 00 28 */ beq lbl_802BC434 /* 802BC410 002B8070 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC414 002B8074 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC418 002B8078 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC41C 002B807C 2C 00 00 00 */ cmpwi r0, 0 /* 802BC420 002B8080 41 82 01 9C */ beq lbl_802BC5BC /* 802BC424 002B8084 38 7F 06 A8 */ addi r3, r31, 0x6a8 /* 802BC428 002B8088 4C C6 31 82 */ crclr 6 /* 802BC42C 002B808C 4B D4 B6 99 */ bl OSReport /* 802BC430 002B8090 48 00 01 8C */ b lbl_802BC5BC lbl_802BC434: /* 802BC434 002B8094 88 0D AE D4 */ lbz r0, lbl_80640194-_SDA_BASE_(r13) /* 802BC438 002B8098 3C 80 80 56 */ lis r4, lbl_80564DE0@ha /* 802BC43C 002B809C 38 84 4D E0 */ addi r4, r4, lbl_80564DE0@l /* 802BC440 002B80A0 28 00 00 01 */ cmplwi r0, 1 /* 802BC444 002B80A4 93 C4 00 24 */ stw r30, 0x24(r4) /* 802BC448 002B80A8 40 82 00 18 */ bne lbl_802BC460 /* 802BC44C 002B80AC 80 6D AE D8 */ lwz r3, lbl_80640198-_SDA_BASE_(r13) /* 802BC450 002B80B0 80 0D AE DC */ lwz r0, lbl_8064019C-_SDA_BASE_(r13) /* 802BC454 002B80B4 90 64 00 14 */ stw r3, 0x14(r4) /* 802BC458 002B80B8 90 04 00 18 */ stw r0, 0x18(r4) /* 802BC45C 002B80BC 48 00 00 14 */ b lbl_802BC470 lbl_802BC460: /* 802BC460 002B80C0 38 60 05 7E */ li r3, 0x57e /* 802BC464 002B80C4 38 00 03 05 */ li r0, 0x305 /* 802BC468 002B80C8 90 64 00 14 */ stw r3, 0x14(r4) /* 802BC46C 002B80CC 90 04 00 18 */ stw r0, 0x18(r4) lbl_802BC470: /* 802BC470 002B80D0 3F C0 80 56 */ lis r30, lbl_80564DE0@ha /* 802BC474 002B80D4 38 00 00 00 */ li r0, 0 /* 802BC478 002B80D8 3B BE 4D E0 */ addi r29, r30, lbl_80564DE0@l /* 802BC47C 002B80DC 98 1D 00 10 */ stb r0, 0x10(r29) /* 802BC480 002B80E0 80 7D 00 14 */ lwz r3, 0x14(r29) /* 802BC484 002B80E4 98 1D 00 11 */ stb r0, 0x11(r29) /* 802BC488 002B80E8 80 9D 00 18 */ lwz r4, 0x18(r29) /* 802BC48C 002B80EC 98 1D 00 12 */ stb r0, 0x12(r29) /* 802BC490 002B80F0 98 1D 00 13 */ stb r0, 0x13(r29) /* 802BC494 002B80F4 4B FF FD CD */ bl uusb_get_devId /* 802BC498 002B80F8 2C 03 00 00 */ cmpwi r3, 0 /* 802BC49C 002B80FC 40 80 00 20 */ bge lbl_802BC4BC /* 802BC4A0 002B8100 88 1D 00 28 */ lbz r0, 0x28(r29) /* 802BC4A4 002B8104 2C 00 00 00 */ cmpwi r0, 0 /* 802BC4A8 002B8108 41 82 01 14 */ beq lbl_802BC5BC /* 802BC4AC 002B810C 38 7F 06 E0 */ addi r3, r31, 0x6e0 /* 802BC4B0 002B8110 4C C6 31 82 */ crclr 6 /* 802BC4B4 002B8114 4B D4 B6 11 */ bl OSReport /* 802BC4B8 002B8118 48 00 01 04 */ b lbl_802BC5BC lbl_802BC4BC: /* 802BC4BC 002B811C 88 1D 00 28 */ lbz r0, 0x28(r29) /* 802BC4C0 002B8120 2C 00 00 00 */ cmpwi r0, 0 /* 802BC4C4 002B8124 41 82 00 14 */ beq lbl_802BC4D8 /* 802BC4C8 002B8128 80 9E 4D E0 */ lwz r4, 0x4de0(r30) /* 802BC4CC 002B812C 38 7F 07 20 */ addi r3, r31, 0x720 /* 802BC4D0 002B8130 4C C6 31 82 */ crclr 6 /* 802BC4D4 002B8134 4B D4 B5 F1 */ bl OSReport lbl_802BC4D8: /* 802BC4D8 002B8138 3F A0 80 56 */ lis r29, lbl_80564DE0@ha /* 802BC4DC 002B813C 38 60 00 02 */ li r3, 2 /* 802BC4E0 002B8140 3B BD 4D E0 */ addi r29, r29, lbl_80564DE0@l /* 802BC4E4 002B8144 38 80 00 82 */ li r4, 0x82 /* 802BC4E8 002B8148 38 00 00 81 */ li r0, 0x81 /* 802BC4EC 002B814C 3B C0 00 00 */ li r30, 0 /* 802BC4F0 002B8150 98 7D 00 10 */ stb r3, 0x10(r29) /* 802BC4F4 002B8154 38 7D 00 2C */ addi r3, r29, 0x2c /* 802BC4F8 002B8158 98 9D 00 11 */ stb r4, 0x11(r29) /* 802BC4FC 002B815C 98 1D 00 12 */ stb r0, 0x12(r29) /* 802BC500 002B8160 9B DD 00 13 */ stb r30, 0x13(r29) /* 802BC504 002B8164 4B FF D5 95 */ bl GKI_init_q /* 802BC508 002B8168 9B DD 00 38 */ stb r30, 0x38(r29) /* 802BC50C 002B816C 38 7D 00 3C */ addi r3, r29, 0x3c /* 802BC510 002B8170 4B FF D5 89 */ bl GKI_init_q /* 802BC514 002B8174 9B DD 00 48 */ stb r30, 0x48(r29) /* 802BC518 002B8178 38 60 02 94 */ li r3, 0x294 /* 802BC51C 002B817C 38 80 00 2D */ li r4, 0x2d /* 802BC520 002B8180 38 A0 00 01 */ li r5, 1 /* 802BC524 002B8184 38 C0 00 00 */ li r6, 0 /* 802BC528 002B8188 4B FF E0 41 */ bl GKI_create_pool /* 802BC52C 002B818C 98 7D 00 1C */ stb r3, 0x1c(r29) /* 802BC530 002B8190 38 60 07 08 */ li r3, 0x708 /* 802BC534 002B8194 38 80 00 1E */ li r4, 0x1e /* 802BC538 002B8198 38 A0 00 01 */ li r5, 1 /* 802BC53C 002B819C 38 C0 00 00 */ li r6, 0 /* 802BC540 002B81A0 4B FF E0 29 */ bl GKI_create_pool /* 802BC544 002B81A4 88 9D 00 1C */ lbz r4, 0x1c(r29) /* 802BC548 002B81A8 98 7D 00 1D */ stb r3, 0x1d(r29) /* 802BC54C 002B81AC 28 04 00 FF */ cmplwi r4, 0xff /* 802BC550 002B81B0 41 82 00 10 */ beq lbl_802BC560 /* 802BC554 002B81B4 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 802BC558 002B81B8 28 05 00 FF */ cmplwi r5, 0xff /* 802BC55C 002B81BC 40 82 00 28 */ bne lbl_802BC584 lbl_802BC560: /* 802BC560 002B81C0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC564 002B81C4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC568 002B81C8 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC56C 002B81CC 2C 00 00 00 */ cmpwi r0, 0 /* 802BC570 002B81D0 41 82 00 4C */ beq lbl_802BC5BC /* 802BC574 002B81D4 38 7F 07 68 */ addi r3, r31, 0x768 /* 802BC578 002B81D8 4C C6 31 82 */ crclr 6 /* 802BC57C 002B81DC 4B D4 B5 49 */ bl OSReport /* 802BC580 002B81E0 48 00 00 3C */ b lbl_802BC5BC lbl_802BC584: /* 802BC584 002B81E4 88 1D 00 28 */ lbz r0, 0x28(r29) /* 802BC588 002B81E8 2C 00 00 00 */ cmpwi r0, 0 /* 802BC58C 002B81EC 41 82 00 10 */ beq lbl_802BC59C /* 802BC590 002B81F0 38 7F 07 A4 */ addi r3, r31, 0x7a4 /* 802BC594 002B81F4 4C C6 31 82 */ crclr 6 /* 802BC598 002B81F8 4B D4 B5 2D */ bl OSReport lbl_802BC59C: /* 802BC59C 002B81FC 4B FF EB E5 */ bl GKI_disable /* 802BC5A0 002B8200 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC5A4 002B8204 38 00 00 04 */ li r0, 4 /* 802BC5A8 002B8208 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC5AC 002B820C 98 03 00 29 */ stb r0, 0x29(r3) /* 802BC5B0 002B8210 4B FF EB AD */ bl GKI_enable /* 802BC5B4 002B8214 38 00 00 01 */ li r0, 1 /* 802BC5B8 002B8218 90 0D 89 C8 */ stw r0, lbl_8063DC88-_SDA_BASE_(r13) lbl_802BC5BC: /* 802BC5BC 002B821C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BC5C0 002B8220 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802BC5C4 002B8224 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802BC5C8 002B8228 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802BC5CC 002B822C 7C 08 03 A6 */ mtlr r0 /* 802BC5D0 002B8230 38 21 00 20 */ addi r1, r1, 0x20 /* 802BC5D4 002B8234 4E 80 00 20 */ blr .global UUSB_Open UUSB_Open: /* 802BC5D8 002B8238 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BC5DC 002B823C 7C 08 02 A6 */ mflr r0 /* 802BC5E0 002B8240 90 01 00 24 */ stw r0, 0x24(r1) /* 802BC5E4 002B8244 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802BC5E8 002B8248 3F E0 80 56 */ lis r31, lbl_80564DE0@ha /* 802BC5EC 002B824C 3B FF 4D E0 */ addi r31, r31, lbl_80564DE0@l /* 802BC5F0 002B8250 93 C1 00 18 */ stw r30, 0x18(r1) /* 802BC5F4 002B8254 3F C0 80 44 */ lis r30, lbl_8043F2E8@ha /* 802BC5F8 002B8258 3B DE F2 E8 */ addi r30, r30, lbl_8043F2E8@l /* 802BC5FC 002B825C 93 A1 00 14 */ stw r29, 0x14(r1) /* 802BC600 002B8260 7C 9D 23 78 */ mr r29, r4 /* 802BC604 002B8264 88 1F 00 29 */ lbz r0, 0x29(r31) /* 802BC608 002B8268 28 00 00 04 */ cmplwi r0, 4 /* 802BC60C 002B826C 41 82 00 20 */ beq lbl_802BC62C /* 802BC610 002B8270 88 1F 00 28 */ lbz r0, 0x28(r31) /* 802BC614 002B8274 2C 00 00 00 */ cmpwi r0, 0 /* 802BC618 002B8278 41 82 00 BC */ beq lbl_802BC6D4 /* 802BC61C 002B827C 38 7E 07 F0 */ addi r3, r30, 0x7f0 /* 802BC620 002B8280 4C C6 31 82 */ crclr 6 /* 802BC624 002B8284 4B D4 B4 A1 */ bl OSReport /* 802BC628 002B8288 48 00 00 AC */ b lbl_802BC6D4 lbl_802BC62C: /* 802BC62C 002B828C 88 1F 00 1C */ lbz r0, 0x1c(r31) /* 802BC630 002B8290 28 00 00 FF */ cmplwi r0, 0xff /* 802BC634 002B8294 41 82 00 10 */ beq lbl_802BC644 /* 802BC638 002B8298 88 1F 00 1D */ lbz r0, 0x1d(r31) /* 802BC63C 002B829C 28 00 00 FF */ cmplwi r0, 0xff /* 802BC640 002B82A0 40 82 00 70 */ bne lbl_802BC6B0 lbl_802BC644: /* 802BC644 002B82A4 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC648 002B82A8 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC64C 002B82AC 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC650 002B82B0 2C 00 00 00 */ cmpwi r0, 0 /* 802BC654 002B82B4 41 82 00 10 */ beq lbl_802BC664 /* 802BC658 002B82B8 38 7E 08 38 */ addi r3, r30, 0x838 /* 802BC65C 002B82BC 4C C6 31 82 */ crclr 6 /* 802BC660 002B82C0 4B D4 B4 65 */ bl OSReport lbl_802BC664: /* 802BC664 002B82C4 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC668 002B82C8 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC66C 002B82CC 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC670 002B82D0 2C 00 00 00 */ cmpwi r0, 0 /* 802BC674 002B82D4 41 82 00 14 */ beq lbl_802BC688 /* 802BC678 002B82D8 88 83 00 1C */ lbz r4, 0x1c(r3) /* 802BC67C 002B82DC 38 7E 08 70 */ addi r3, r30, 0x870 /* 802BC680 002B82E0 4C C6 31 82 */ crclr 6 /* 802BC684 002B82E4 4B D4 B4 41 */ bl OSReport lbl_802BC688: /* 802BC688 002B82E8 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC68C 002B82EC 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC690 002B82F0 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC694 002B82F4 2C 00 00 00 */ cmpwi r0, 0 /* 802BC698 002B82F8 41 82 00 3C */ beq lbl_802BC6D4 /* 802BC69C 002B82FC 88 83 00 1D */ lbz r4, 0x1d(r3) /* 802BC6A0 002B8300 38 7E 08 A0 */ addi r3, r30, 0x8a0 /* 802BC6A4 002B8304 4C C6 31 82 */ crclr 6 /* 802BC6A8 002B8308 4B D4 B4 1D */ bl OSReport /* 802BC6AC 002B830C 48 00 00 28 */ b lbl_802BC6D4 lbl_802BC6B0: /* 802BC6B0 002B8310 4B FF EA D1 */ bl GKI_disable /* 802BC6B4 002B8314 38 00 00 02 */ li r0, 2 /* 802BC6B8 002B8318 93 BF 00 20 */ stw r29, 0x20(r31) /* 802BC6BC 002B831C 98 1F 00 29 */ stb r0, 0x29(r31) /* 802BC6C0 002B8320 4B FF EA 9D */ bl GKI_enable /* 802BC6C4 002B8324 4B FF F7 9D */ bl uusb_issue_intr_read /* 802BC6C8 002B8328 4B FF F6 85 */ bl uusb_issue_bulk_read /* 802BC6CC 002B832C 38 00 00 00 */ li r0, 0 /* 802BC6D0 002B8330 90 0D 89 C8 */ stw r0, lbl_8063DC88-_SDA_BASE_(r13) lbl_802BC6D4: /* 802BC6D4 002B8334 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BC6D8 002B8338 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802BC6DC 002B833C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802BC6E0 002B8340 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802BC6E4 002B8344 7C 08 03 A6 */ mtlr r0 /* 802BC6E8 002B8348 38 21 00 20 */ addi r1, r1, 0x20 /* 802BC6EC 002B834C 4E 80 00 20 */ blr .global UUSB_Read UUSB_Read: /* 802BC6F0 002B8350 38 60 00 00 */ li r3, 0 /* 802BC6F4 002B8354 4E 80 00 20 */ blr .global UUSB_Write UUSB_Write: /* 802BC6F8 002B8358 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802BC6FC 002B835C 7C 08 02 A6 */ mflr r0 /* 802BC700 002B8360 90 01 00 34 */ stw r0, 0x34(r1) /* 802BC704 002B8364 39 61 00 30 */ addi r11, r1, 0x30 /* 802BC708 002B8368 4B F0 AA 19 */ bl _savegpr_25 /* 802BC70C 002B836C 3C E0 80 56 */ lis r7, lbl_80564DE0@ha /* 802BC710 002B8370 3F E0 80 44 */ lis r31, lbl_8043F2E8@ha /* 802BC714 002B8374 38 E7 4D E0 */ addi r7, r7, lbl_80564DE0@l /* 802BC718 002B8378 7C 7E 1B 78 */ mr r30, r3 /* 802BC71C 002B837C 88 07 00 29 */ lbz r0, 0x29(r7) /* 802BC720 002B8380 7C 9B 23 78 */ mr r27, r4 /* 802BC724 002B8384 7C BC 2B 78 */ mr r28, r5 /* 802BC728 002B8388 3B FF F2 E8 */ addi r31, r31, lbl_8043F2E8@l /* 802BC72C 002B838C 28 00 00 02 */ cmplwi r0, 2 /* 802BC730 002B8390 3B A0 00 00 */ li r29, 0 /* 802BC734 002B8394 41 82 00 24 */ beq lbl_802BC758 /* 802BC738 002B8398 88 07 00 28 */ lbz r0, 0x28(r7) /* 802BC73C 002B839C 2C 00 00 00 */ cmpwi r0, 0 /* 802BC740 002B83A0 41 82 00 10 */ beq lbl_802BC750 /* 802BC744 002B83A4 38 7F 08 D0 */ addi r3, r31, 0x8d0 /* 802BC748 002B83A8 4C C6 31 82 */ crclr 6 /* 802BC74C 002B83AC 4B D4 B3 79 */ bl OSReport lbl_802BC750: /* 802BC750 002B83B0 38 60 00 00 */ li r3, 0 /* 802BC754 002B83B4 48 00 05 14 */ b lbl_802BCC68 lbl_802BC758: /* 802BC758 002B83B8 88 07 00 28 */ lbz r0, 0x28(r7) /* 802BC75C 002B83BC 2C 00 00 00 */ cmpwi r0, 0 /* 802BC760 002B83C0 41 82 00 20 */ beq lbl_802BC780 /* 802BC764 002B83C4 7C C3 33 78 */ mr r3, r6 /* 802BC768 002B83C8 4B FF D7 3D */ bl GKI_get_buf_size /* 802BC76C 002B83CC 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 802BC770 002B83D0 38 7F 09 08 */ addi r3, r31, 0x908 /* 802BC774 002B83D4 38 84 FF F8 */ addi r4, r4, -8 /* 802BC778 002B83D8 4C C6 31 82 */ crclr 6 /* 802BC77C 002B83DC 4B D4 B3 49 */ bl OSReport lbl_802BC780: /* 802BC780 002B83E0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC784 002B83E4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC788 002B83E8 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC78C 002B83EC 2C 00 00 00 */ cmpwi r0, 0 /* 802BC790 002B83F0 41 82 00 18 */ beq lbl_802BC7A8 /* 802BC794 002B83F4 7F C4 F3 78 */ mr r4, r30 /* 802BC798 002B83F8 7F 85 E3 78 */ mr r5, r28 /* 802BC79C 002B83FC 38 7F 09 28 */ addi r3, r31, 0x928 /* 802BC7A0 002B8400 4C C6 31 82 */ crclr 6 /* 802BC7A4 002B8404 4B D4 B3 21 */ bl OSReport lbl_802BC7A8: /* 802BC7A8 002B8408 3F 40 80 56 */ lis r26, lbl_80564DE0@ha /* 802BC7AC 002B840C 3B 20 00 00 */ li r25, 0 /* 802BC7B0 002B8410 3B 5A 4D E0 */ addi r26, r26, lbl_80564DE0@l /* 802BC7B4 002B8414 48 00 00 28 */ b lbl_802BC7DC lbl_802BC7B8: /* 802BC7B8 002B8418 88 1A 00 28 */ lbz r0, 0x28(r26) /* 802BC7BC 002B841C 2C 00 00 00 */ cmpwi r0, 0 /* 802BC7C0 002B8420 41 82 00 18 */ beq lbl_802BC7D8 /* 802BC7C4 002B8424 57 20 04 3E */ clrlwi r0, r25, 0x10 /* 802BC7C8 002B8428 38 6D 89 D0 */ addi r3, r13, lbl_8063DC90-_SDA_BASE_ /* 802BC7CC 002B842C 7C 9B 00 AE */ lbzx r4, r27, r0 /* 802BC7D0 002B8430 4C C6 31 82 */ crclr 6 /* 802BC7D4 002B8434 4B D4 B2 F1 */ bl OSReport lbl_802BC7D8: /* 802BC7D8 002B8438 3B 39 00 01 */ addi r25, r25, 1 lbl_802BC7DC: /* 802BC7DC 002B843C 57 20 04 3E */ clrlwi r0, r25, 0x10 /* 802BC7E0 002B8440 7C 00 E0 40 */ cmplw r0, r28 /* 802BC7E4 002B8444 41 80 FF D4 */ blt lbl_802BC7B8 /* 802BC7E8 002B8448 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC7EC 002B844C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC7F0 002B8450 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC7F4 002B8454 2C 00 00 00 */ cmpwi r0, 0 /* 802BC7F8 002B8458 41 82 00 10 */ beq lbl_802BC808 /* 802BC7FC 002B845C 38 6D 89 D8 */ addi r3, r13, lbl_8063DC98-_SDA_BASE_ /* 802BC800 002B8460 4C C6 31 82 */ crclr 6 /* 802BC804 002B8464 4B D4 B2 C1 */ bl OSReport lbl_802BC808: /* 802BC808 002B8468 2C 1E 00 02 */ cmpwi r30, 2 /* 802BC80C 002B846C 41 82 02 2C */ beq lbl_802BCA38 /* 802BC810 002B8470 40 80 04 54 */ bge lbl_802BCC64 /* 802BC814 002B8474 2C 1E 00 00 */ cmpwi r30, 0 /* 802BC818 002B8478 41 82 00 0C */ beq lbl_802BC824 /* 802BC81C 002B847C 48 00 04 48 */ b lbl_802BCC64 /* 802BC820 002B8480 48 00 04 44 */ b lbl_802BCC64 lbl_802BC824: /* 802BC824 002B8484 3F A0 80 56 */ lis r29, lbl_80564DE0@ha /* 802BC828 002B8488 3B 5D 4D E0 */ addi r26, r29, lbl_80564DE0@l /* 802BC82C 002B848C 88 7A 00 1C */ lbz r3, 0x1c(r26) /* 802BC830 002B8490 4B FF D4 1D */ bl GKI_getpoolbuf /* 802BC834 002B8494 2C 03 00 00 */ cmpwi r3, 0 /* 802BC838 002B8498 7C 7E 1B 78 */ mr r30, r3 /* 802BC83C 002B849C 40 82 00 24 */ bne lbl_802BC860 /* 802BC840 002B84A0 88 1A 00 28 */ lbz r0, 0x28(r26) /* 802BC844 002B84A4 2C 00 00 00 */ cmpwi r0, 0 /* 802BC848 002B84A8 41 82 00 10 */ beq lbl_802BC858 /* 802BC84C 002B84AC 38 7F 09 58 */ addi r3, r31, 0x958 /* 802BC850 002B84B0 4C C6 31 82 */ crclr 6 /* 802BC854 002B84B4 4B D4 B2 71 */ bl OSReport lbl_802BC858: /* 802BC858 002B84B8 38 60 00 00 */ li r3, 0 /* 802BC85C 002B84BC 48 00 04 0C */ b lbl_802BCC68 lbl_802BC860: /* 802BC860 002B84C0 38 03 00 27 */ addi r0, r3, 0x27 /* 802BC864 002B84C4 B3 83 00 02 */ sth r28, 2(r3) /* 802BC868 002B84C8 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a /* 802BC86C 002B84CC 7F 64 DB 78 */ mr r4, r27 /* 802BC870 002B84D0 38 03 00 08 */ addi r0, r3, 8 /* 802BC874 002B84D4 7F 85 E3 78 */ mr r5, r28 /* 802BC878 002B84D8 7C 00 C8 50 */ subf r0, r0, r25 /* 802BC87C 002B84DC B0 03 00 04 */ sth r0, 4(r3) /* 802BC880 002B84E0 7F 23 CB 78 */ mr r3, r25 /* 802BC884 002B84E4 4B D4 77 7D */ bl memcpy /* 802BC888 002B84E8 88 1A 00 48 */ lbz r0, 0x48(r26) /* 802BC88C 002B84EC 28 00 00 05 */ cmplwi r0, 5 /* 802BC890 002B84F0 40 80 00 44 */ bge lbl_802BC8D4 /* 802BC894 002B84F4 A0 1A 00 44 */ lhz r0, 0x44(r26) /* 802BC898 002B84F8 2C 00 00 00 */ cmpwi r0, 0 /* 802BC89C 002B84FC 40 82 00 38 */ bne lbl_802BC8D4 /* 802BC8A0 002B8500 93 C1 00 08 */ stw r30, 8(r1) /* 802BC8A4 002B8504 3D 40 80 2C */ lis r10, uusb_WriteCtrlDataCB@ha /* 802BC8A8 002B8508 7F 88 E3 78 */ mr r8, r28 /* 802BC8AC 002B850C 7F 29 CB 78 */ mr r9, r25 /* 802BC8B0 002B8510 80 7D 4D E0 */ lwz r3, 0x4de0(r29) /* 802BC8B4 002B8514 39 4A BF 84 */ addi r10, r10, uusb_WriteCtrlDataCB@l /* 802BC8B8 002B8518 38 80 00 20 */ li r4, 0x20 /* 802BC8BC 002B851C 38 A0 00 00 */ li r5, 0 /* 802BC8C0 002B8520 38 C0 00 00 */ li r6, 0 /* 802BC8C4 002B8524 38 E0 00 00 */ li r7, 0 /* 802BC8C8 002B8528 4B FF 83 6D */ bl IUSB_WriteCtrlMsgAsync /* 802BC8CC 002B852C 7C 7D 1B 78 */ mr r29, r3 /* 802BC8D0 002B8530 48 00 00 3C */ b lbl_802BC90C lbl_802BC8D4: /* 802BC8D4 002B8534 3F 60 80 56 */ lis r27, lbl_80564DE0@ha /* 802BC8D8 002B8538 7F C4 F3 78 */ mr r4, r30 /* 802BC8DC 002B853C 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l /* 802BC8E0 002B8540 38 7B 00 3C */ addi r3, r27, 0x3c /* 802BC8E4 002B8544 4B FF D8 71 */ bl GKI_enqueue /* 802BC8E8 002B8548 88 1B 00 28 */ lbz r0, 0x28(r27) /* 802BC8EC 002B854C 2C 00 00 00 */ cmpwi r0, 0 /* 802BC8F0 002B8550 41 82 00 14 */ beq lbl_802BC904 /* 802BC8F4 002B8554 A0 9B 00 44 */ lhz r4, 0x44(r27) /* 802BC8F8 002B8558 38 7F 09 9C */ addi r3, r31, 0x99c /* 802BC8FC 002B855C 4C C6 31 82 */ crclr 6 /* 802BC900 002B8560 4B D4 B1 C5 */ bl OSReport lbl_802BC904: /* 802BC904 002B8564 38 60 00 00 */ li r3, 0 /* 802BC908 002B8568 48 00 03 60 */ b lbl_802BCC68 lbl_802BC90C: /* 802BC90C 002B856C 2C 03 00 00 */ cmpwi r3, 0 /* 802BC910 002B8570 41 82 01 10 */ beq lbl_802BCA20 /* 802BC914 002B8574 88 1A 00 28 */ lbz r0, 0x28(r26) /* 802BC918 002B8578 2C 00 00 00 */ cmpwi r0, 0 /* 802BC91C 002B857C 41 82 00 10 */ beq lbl_802BC92C /* 802BC920 002B8580 38 7F 09 D0 */ addi r3, r31, 0x9d0 /* 802BC924 002B8584 4C C6 31 82 */ crclr 6 /* 802BC928 002B8588 4B D4 B1 9D */ bl OSReport lbl_802BC92C: /* 802BC92C 002B858C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC930 002B8590 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC934 002B8594 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC938 002B8598 2C 00 00 00 */ cmpwi r0, 0 /* 802BC93C 002B859C 41 82 00 10 */ beq lbl_802BC94C /* 802BC940 002B85A0 38 7F 09 D0 */ addi r3, r31, 0x9d0 /* 802BC944 002B85A4 4C C6 31 82 */ crclr 6 /* 802BC948 002B85A8 4B D4 B1 7D */ bl OSReport lbl_802BC94C: /* 802BC94C 002B85AC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC950 002B85B0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC954 002B85B4 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC958 002B85B8 2C 00 00 00 */ cmpwi r0, 0 /* 802BC95C 002B85BC 41 82 00 18 */ beq lbl_802BC974 /* 802BC960 002B85C0 88 A3 00 48 */ lbz r5, 0x48(r3) /* 802BC964 002B85C4 7F A4 EB 78 */ mr r4, r29 /* 802BC968 002B85C8 38 7F 0A 34 */ addi r3, r31, 0xa34 /* 802BC96C 002B85CC 4C C6 31 82 */ crclr 6 /* 802BC970 002B85D0 4B D4 B1 55 */ bl OSReport lbl_802BC974: /* 802BC974 002B85D4 2C 1D FF EA */ cmpwi r29, -22 /* 802BC978 002B85D8 41 82 00 2C */ beq lbl_802BC9A4 /* 802BC97C 002B85DC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC980 002B85E0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC984 002B85E4 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC988 002B85E8 2C 00 00 00 */ cmpwi r0, 0 /* 802BC98C 002B85EC 41 82 00 18 */ beq lbl_802BC9A4 /* 802BC990 002B85F0 88 A3 00 38 */ lbz r5, 0x38(r3) /* 802BC994 002B85F4 7F A4 EB 78 */ mr r4, r29 /* 802BC998 002B85F8 38 7F 0A 90 */ addi r3, r31, 0xa90 /* 802BC99C 002B85FC 4C C6 31 82 */ crclr 6 /* 802BC9A0 002B8600 4B D4 B1 25 */ bl OSReport lbl_802BC9A4: /* 802BC9A4 002B8604 2C 1D FF F8 */ cmpwi r29, -8 /* 802BC9A8 002B8608 40 82 00 2C */ bne lbl_802BC9D4 /* 802BC9AC 002B860C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC9B0 002B8610 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC9B4 002B8614 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC9B8 002B8618 2C 00 00 00 */ cmpwi r0, 0 /* 802BC9BC 002B861C 41 82 00 18 */ beq lbl_802BC9D4 /* 802BC9C0 002B8620 88 A3 00 38 */ lbz r5, 0x38(r3) /* 802BC9C4 002B8624 7F A4 EB 78 */ mr r4, r29 /* 802BC9C8 002B8628 38 7F 0B 00 */ addi r3, r31, 0xb00 /* 802BC9CC 002B862C 4C C6 31 82 */ crclr 6 /* 802BC9D0 002B8630 4B D4 B0 F5 */ bl OSReport lbl_802BC9D4: /* 802BC9D4 002B8634 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC9D8 002B8638 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC9DC 002B863C 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BC9E0 002B8640 2C 00 00 00 */ cmpwi r0, 0 /* 802BC9E4 002B8644 41 82 00 10 */ beq lbl_802BC9F4 /* 802BC9E8 002B8648 38 7F 09 D0 */ addi r3, r31, 0x9d0 /* 802BC9EC 002B864C 4C C6 31 82 */ crclr 6 /* 802BC9F0 002B8650 4B D4 B0 D5 */ bl OSReport lbl_802BC9F4: /* 802BC9F4 002B8654 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BC9F8 002B8658 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BC9FC 002B865C 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BCA00 002B8660 2C 00 00 00 */ cmpwi r0, 0 /* 802BCA04 002B8664 41 82 00 10 */ beq lbl_802BCA14 /* 802BCA08 002B8668 38 7F 09 D0 */ addi r3, r31, 0x9d0 /* 802BCA0C 002B866C 4C C6 31 82 */ crclr 6 /* 802BCA10 002B8670 4B D4 B0 B5 */ bl OSReport lbl_802BCA14: /* 802BCA14 002B8674 7F C3 F3 78 */ mr r3, r30 /* 802BCA18 002B8678 4B FF D3 1D */ bl GKI_freebuf /* 802BCA1C 002B867C 48 00 02 48 */ b lbl_802BCC64 lbl_802BCA20: /* 802BCA20 002B8680 4B FF E7 61 */ bl GKI_disable /* 802BCA24 002B8684 88 7A 00 48 */ lbz r3, 0x48(r26) /* 802BCA28 002B8688 38 03 00 01 */ addi r0, r3, 1 /* 802BCA2C 002B868C 98 1A 00 48 */ stb r0, 0x48(r26) /* 802BCA30 002B8690 4B FF E7 2D */ bl GKI_enable /* 802BCA34 002B8694 48 00 02 30 */ b lbl_802BCC64 lbl_802BCA38: /* 802BCA38 002B8698 3F A0 80 56 */ lis r29, lbl_80564DE0@ha /* 802BCA3C 002B869C 3B BD 4D E0 */ addi r29, r29, lbl_80564DE0@l /* 802BCA40 002B86A0 88 7D 00 1D */ lbz r3, 0x1d(r29) /* 802BCA44 002B86A4 4B FF D2 09 */ bl GKI_getpoolbuf /* 802BCA48 002B86A8 2C 03 00 00 */ cmpwi r3, 0 /* 802BCA4C 002B86AC 7C 7E 1B 78 */ mr r30, r3 /* 802BCA50 002B86B0 40 82 00 24 */ bne lbl_802BCA74 /* 802BCA54 002B86B4 88 1D 00 28 */ lbz r0, 0x28(r29) /* 802BCA58 002B86B8 2C 00 00 00 */ cmpwi r0, 0 /* 802BCA5C 002B86BC 41 82 00 10 */ beq lbl_802BCA6C /* 802BCA60 002B86C0 38 7F 0B 6C */ addi r3, r31, 0xb6c /* 802BCA64 002B86C4 4C C6 31 82 */ crclr 6 /* 802BCA68 002B86C8 4B D4 B0 5D */ bl OSReport lbl_802BCA6C: /* 802BCA6C 002B86CC 38 60 00 00 */ li r3, 0 /* 802BCA70 002B86D0 48 00 01 F8 */ b lbl_802BCC68 lbl_802BCA74: /* 802BCA74 002B86D4 38 03 00 27 */ addi r0, r3, 0x27 /* 802BCA78 002B86D8 B3 83 00 02 */ sth r28, 2(r3) /* 802BCA7C 002B86DC 54 1A 00 34 */ rlwinm r26, r0, 0, 0, 0x1a /* 802BCA80 002B86E0 7F 64 DB 78 */ mr r4, r27 /* 802BCA84 002B86E4 38 03 00 08 */ addi r0, r3, 8 /* 802BCA88 002B86E8 7F 85 E3 78 */ mr r5, r28 /* 802BCA8C 002B86EC 7C 00 D0 50 */ subf r0, r0, r26 /* 802BCA90 002B86F0 B0 03 00 04 */ sth r0, 4(r3) /* 802BCA94 002B86F4 7F 43 D3 78 */ mr r3, r26 /* 802BCA98 002B86F8 4B D4 75 69 */ bl memcpy /* 802BCA9C 002B86FC 28 1C 00 BE */ cmplwi r28, 0xbe /* 802BCAA0 002B8700 40 81 00 1C */ ble lbl_802BCABC /* 802BCAA4 002B8704 88 1D 00 28 */ lbz r0, 0x28(r29) /* 802BCAA8 002B8708 2C 00 00 00 */ cmpwi r0, 0 /* 802BCAAC 002B870C 41 82 00 10 */ beq lbl_802BCABC /* 802BCAB0 002B8710 38 7F 0B B0 */ addi r3, r31, 0xbb0 /* 802BCAB4 002B8714 4C C6 31 82 */ crclr 6 /* 802BCAB8 002B8718 4B D4 B0 0D */ bl OSReport lbl_802BCABC: /* 802BCABC 002B871C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCAC0 002B8720 3B 63 4D E0 */ addi r27, r3, lbl_80564DE0@l /* 802BCAC4 002B8724 88 1B 00 38 */ lbz r0, 0x38(r27) /* 802BCAC8 002B8728 28 00 00 05 */ cmplwi r0, 5 /* 802BCACC 002B872C 40 80 00 38 */ bge lbl_802BCB04 /* 802BCAD0 002B8730 A0 1B 00 34 */ lhz r0, 0x34(r27) /* 802BCAD4 002B8734 2C 00 00 00 */ cmpwi r0, 0 /* 802BCAD8 002B8738 40 82 00 2C */ bne lbl_802BCB04 /* 802BCADC 002B873C 3C E0 80 2C */ lis r7, uusb_WriteBulkDataCB@ha /* 802BCAE0 002B8740 80 63 4D E0 */ lwz r3, 0x4de0(r3) /* 802BCAE4 002B8744 88 9B 00 10 */ lbz r4, 0x10(r27) /* 802BCAE8 002B8748 7F 85 E3 78 */ mr r5, r28 /* 802BCAEC 002B874C 7F 46 D3 78 */ mr r6, r26 /* 802BCAF0 002B8750 7F C8 F3 78 */ mr r8, r30 /* 802BCAF4 002B8754 38 E7 C0 F8 */ addi r7, r7, uusb_WriteBulkDataCB@l /* 802BCAF8 002B8758 4B FF 7B 35 */ bl IUSB_WriteBlkMsgAsync /* 802BCAFC 002B875C 7C 7D 1B 78 */ mr r29, r3 /* 802BCB00 002B8760 48 00 00 3C */ b lbl_802BCB3C lbl_802BCB04: /* 802BCB04 002B8764 3F 60 80 56 */ lis r27, lbl_80564DE0@ha /* 802BCB08 002B8768 7F C4 F3 78 */ mr r4, r30 /* 802BCB0C 002B876C 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l /* 802BCB10 002B8770 38 7B 00 2C */ addi r3, r27, 0x2c /* 802BCB14 002B8774 4B FF D6 41 */ bl GKI_enqueue /* 802BCB18 002B8778 88 1B 00 28 */ lbz r0, 0x28(r27) /* 802BCB1C 002B877C 2C 00 00 00 */ cmpwi r0, 0 /* 802BCB20 002B8780 41 82 00 14 */ beq lbl_802BCB34 /* 802BCB24 002B8784 A0 9B 00 34 */ lhz r4, 0x34(r27) /* 802BCB28 002B8788 38 7F 0B DC */ addi r3, r31, 0xbdc /* 802BCB2C 002B878C 4C C6 31 82 */ crclr 6 /* 802BCB30 002B8790 4B D4 AF 95 */ bl OSReport lbl_802BCB34: /* 802BCB34 002B8794 38 60 00 00 */ li r3, 0 /* 802BCB38 002B8798 48 00 01 30 */ b lbl_802BCC68 lbl_802BCB3C: /* 802BCB3C 002B879C 2C 03 00 00 */ cmpwi r3, 0 /* 802BCB40 002B87A0 41 82 01 10 */ beq lbl_802BCC50 /* 802BCB44 002B87A4 88 1B 00 28 */ lbz r0, 0x28(r27) /* 802BCB48 002B87A8 2C 00 00 00 */ cmpwi r0, 0 /* 802BCB4C 002B87AC 41 82 00 10 */ beq lbl_802BCB5C /* 802BCB50 002B87B0 38 7F 09 D0 */ addi r3, r31, 0x9d0 /* 802BCB54 002B87B4 4C C6 31 82 */ crclr 6 /* 802BCB58 002B87B8 4B D4 AF 6D */ bl OSReport lbl_802BCB5C: /* 802BCB5C 002B87BC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCB60 002B87C0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BCB64 002B87C4 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BCB68 002B87C8 2C 00 00 00 */ cmpwi r0, 0 /* 802BCB6C 002B87CC 41 82 00 10 */ beq lbl_802BCB7C /* 802BCB70 002B87D0 38 7F 09 D0 */ addi r3, r31, 0x9d0 /* 802BCB74 002B87D4 4C C6 31 82 */ crclr 6 /* 802BCB78 002B87D8 4B D4 AF 4D */ bl OSReport lbl_802BCB7C: /* 802BCB7C 002B87DC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCB80 002B87E0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BCB84 002B87E4 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BCB88 002B87E8 2C 00 00 00 */ cmpwi r0, 0 /* 802BCB8C 002B87EC 41 82 00 18 */ beq lbl_802BCBA4 /* 802BCB90 002B87F0 88 A3 00 38 */ lbz r5, 0x38(r3) /* 802BCB94 002B87F4 7F A4 EB 78 */ mr r4, r29 /* 802BCB98 002B87F8 38 7F 0C 10 */ addi r3, r31, 0xc10 /* 802BCB9C 002B87FC 4C C6 31 82 */ crclr 6 /* 802BCBA0 002B8800 4B D4 AF 25 */ bl OSReport lbl_802BCBA4: /* 802BCBA4 002B8804 2C 1D FF EA */ cmpwi r29, -22 /* 802BCBA8 002B8808 41 82 00 2C */ beq lbl_802BCBD4 /* 802BCBAC 002B880C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCBB0 002B8810 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BCBB4 002B8814 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BCBB8 002B8818 2C 00 00 00 */ cmpwi r0, 0 /* 802BCBBC 002B881C 41 82 00 18 */ beq lbl_802BCBD4 /* 802BCBC0 002B8820 88 A3 00 38 */ lbz r5, 0x38(r3) /* 802BCBC4 002B8824 7F A4 EB 78 */ mr r4, r29 /* 802BCBC8 002B8828 38 7F 0C 6C */ addi r3, r31, 0xc6c /* 802BCBCC 002B882C 4C C6 31 82 */ crclr 6 /* 802BCBD0 002B8830 4B D4 AE F5 */ bl OSReport lbl_802BCBD4: /* 802BCBD4 002B8834 2C 1D FF F8 */ cmpwi r29, -8 /* 802BCBD8 002B8838 40 82 00 2C */ bne lbl_802BCC04 /* 802BCBDC 002B883C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCBE0 002B8840 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BCBE4 002B8844 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BCBE8 002B8848 2C 00 00 00 */ cmpwi r0, 0 /* 802BCBEC 002B884C 41 82 00 18 */ beq lbl_802BCC04 /* 802BCBF0 002B8850 88 A3 00 38 */ lbz r5, 0x38(r3) /* 802BCBF4 002B8854 7F A4 EB 78 */ mr r4, r29 /* 802BCBF8 002B8858 38 7F 0C DC */ addi r3, r31, 0xcdc /* 802BCBFC 002B885C 4C C6 31 82 */ crclr 6 /* 802BCC00 002B8860 4B D4 AE C5 */ bl OSReport lbl_802BCC04: /* 802BCC04 002B8864 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCC08 002B8868 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BCC0C 002B886C 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BCC10 002B8870 2C 00 00 00 */ cmpwi r0, 0 /* 802BCC14 002B8874 41 82 00 10 */ beq lbl_802BCC24 /* 802BCC18 002B8878 38 7F 09 D0 */ addi r3, r31, 0x9d0 /* 802BCC1C 002B887C 4C C6 31 82 */ crclr 6 /* 802BCC20 002B8880 4B D4 AE A5 */ bl OSReport lbl_802BCC24: /* 802BCC24 002B8884 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCC28 002B8888 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BCC2C 002B888C 88 03 00 28 */ lbz r0, 0x28(r3) /* 802BCC30 002B8890 2C 00 00 00 */ cmpwi r0, 0 /* 802BCC34 002B8894 41 82 00 10 */ beq lbl_802BCC44 /* 802BCC38 002B8898 38 7F 09 D0 */ addi r3, r31, 0x9d0 /* 802BCC3C 002B889C 4C C6 31 82 */ crclr 6 /* 802BCC40 002B88A0 4B D4 AE 85 */ bl OSReport lbl_802BCC44: /* 802BCC44 002B88A4 7F C3 F3 78 */ mr r3, r30 /* 802BCC48 002B88A8 4B FF D0 ED */ bl GKI_freebuf /* 802BCC4C 002B88AC 48 00 00 18 */ b lbl_802BCC64 lbl_802BCC50: /* 802BCC50 002B88B0 4B FF E5 31 */ bl GKI_disable /* 802BCC54 002B88B4 88 7B 00 38 */ lbz r3, 0x38(r27) /* 802BCC58 002B88B8 38 03 00 01 */ addi r0, r3, 1 /* 802BCC5C 002B88BC 98 1B 00 38 */ stb r0, 0x38(r27) /* 802BCC60 002B88C0 4B FF E4 FD */ bl GKI_enable lbl_802BCC64: /* 802BCC64 002B88C4 57 A3 04 3E */ clrlwi r3, r29, 0x10 lbl_802BCC68: /* 802BCC68 002B88C8 39 61 00 30 */ addi r11, r1, 0x30 /* 802BCC6C 002B88CC 4B F0 A5 01 */ bl _restgpr_25 /* 802BCC70 002B88D0 80 01 00 34 */ lwz r0, 0x34(r1) /* 802BCC74 002B88D4 7C 08 03 A6 */ mtlr r0 /* 802BCC78 002B88D8 38 21 00 30 */ addi r1, r1, 0x30 /* 802BCC7C 002B88DC 4E 80 00 20 */ blr .global UUSB_Close UUSB_Close: /* 802BCC80 002B88E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802BCC84 002B88E4 7C 08 02 A6 */ mflr r0 /* 802BCC88 002B88E8 90 01 00 14 */ stw r0, 0x14(r1) /* 802BCC8C 002B88EC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802BCC90 002B88F0 4B FF E4 F1 */ bl GKI_disable /* 802BCC94 002B88F4 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCC98 002B88F8 38 00 00 00 */ li r0, 0 /* 802BCC9C 002B88FC 3B E3 4D E0 */ addi r31, r3, lbl_80564DE0@l /* 802BCCA0 002B8900 98 1F 00 29 */ stb r0, 0x29(r31) /* 802BCCA4 002B8904 4B FF E4 B9 */ bl GKI_enable /* 802BCCA8 002B8908 A0 1F 00 34 */ lhz r0, 0x34(r31) /* 802BCCAC 002B890C 2C 00 00 00 */ cmpwi r0, 0 /* 802BCCB0 002B8910 41 82 00 20 */ beq lbl_802BCCD0 /* 802BCCB4 002B8914 48 00 00 10 */ b lbl_802BCCC4 lbl_802BCCB8: /* 802BCCB8 002B8918 38 7F 00 2C */ addi r3, r31, 0x2c /* 802BCCBC 002B891C 4B FF D7 15 */ bl GKI_dequeue /* 802BCCC0 002B8920 4B FF D0 75 */ bl GKI_freebuf lbl_802BCCC4: /* 802BCCC4 002B8924 A0 1F 00 34 */ lhz r0, 0x34(r31) /* 802BCCC8 002B8928 2C 00 00 00 */ cmpwi r0, 0 /* 802BCCCC 002B892C 40 82 FF EC */ bne lbl_802BCCB8 lbl_802BCCD0: /* 802BCCD0 002B8930 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCCD4 002B8934 3B E3 4D E0 */ addi r31, r3, lbl_80564DE0@l /* 802BCCD8 002B8938 A0 1F 00 44 */ lhz r0, 0x44(r31) /* 802BCCDC 002B893C 2C 00 00 00 */ cmpwi r0, 0 /* 802BCCE0 002B8940 41 82 00 20 */ beq lbl_802BCD00 /* 802BCCE4 002B8944 48 00 00 10 */ b lbl_802BCCF4 lbl_802BCCE8: /* 802BCCE8 002B8948 38 7F 00 3C */ addi r3, r31, 0x3c /* 802BCCEC 002B894C 4B FF D6 E5 */ bl GKI_dequeue /* 802BCCF0 002B8950 4B FF D0 45 */ bl GKI_freebuf lbl_802BCCF4: /* 802BCCF4 002B8954 A0 1F 00 44 */ lhz r0, 0x44(r31) /* 802BCCF8 002B8958 2C 00 00 00 */ cmpwi r0, 0 /* 802BCCFC 002B895C 40 82 FF EC */ bne lbl_802BCCE8 lbl_802BCD00: /* 802BCD00 002B8960 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCD04 002B8964 3C 80 80 2C */ lis r4, uusb_CloseDeviceCB@ha /* 802BCD08 002B8968 80 63 4D E0 */ lwz r3, lbl_80564DE0@l(r3) /* 802BCD0C 002B896C 38 84 B8 94 */ addi r4, r4, uusb_CloseDeviceCB@l /* 802BCD10 002B8970 38 A0 00 00 */ li r5, 0 /* 802BCD14 002B8974 4B FF 73 F1 */ bl IUSB_CloseDeviceAsync /* 802BCD18 002B8978 80 01 00 14 */ lwz r0, 0x14(r1) /* 802BCD1C 002B897C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802BCD20 002B8980 7C 08 03 A6 */ mtlr r0 /* 802BCD24 002B8984 38 21 00 10 */ addi r1, r1, 0x10 /* 802BCD28 002B8988 4E 80 00 20 */ blr .global UUSB_Unregister UUSB_Unregister: /* 802BCD2C 002B898C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802BCD30 002B8990 7C 08 02 A6 */ mflr r0 /* 802BCD34 002B8994 90 01 00 14 */ stw r0, 0x14(r1) /* 802BCD38 002B8998 4B FF 71 35 */ bl IUSB_CloseLib /* 802BCD3C 002B899C 4B FF E4 45 */ bl GKI_disable /* 802BCD40 002B89A0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha /* 802BCD44 002B89A4 38 00 00 00 */ li r0, 0 /* 802BCD48 002B89A8 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l /* 802BCD4C 002B89AC 38 80 00 05 */ li r4, 5 /* 802BCD50 002B89B0 98 83 00 29 */ stb r4, 0x29(r3) /* 802BCD54 002B89B4 98 03 00 28 */ stb r0, 0x28(r3) /* 802BCD58 002B89B8 98 0D AE C9 */ stb r0, lbl_80640189-_SDA_BASE_(r13) /* 802BCD5C 002B89BC 4B FF E4 01 */ bl GKI_enable /* 802BCD60 002B89C0 80 01 00 14 */ lwz r0, 0x14(r1) /* 802BCD64 002B89C4 7C 08 03 A6 */ mtlr r0 /* 802BCD68 002B89C8 38 21 00 10 */ addi r1, r1, 0x10 /* 802BCD6C 002B89CC 4E 80 00 20 */ blr