.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global HID_HostGetSDPRecord HID_HostGetSDPRecord: /* 802D2A70 002CE6D0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802D2A74 002CE6D4 7C 08 02 A6 */ mflr r0 /* 802D2A78 002CE6D8 90 01 00 34 */ stw r0, 0x34(r1) /* 802D2A7C 002CE6DC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802D2A80 002CE6E0 3F E0 80 57 */ lis r31, lbl_8056B838@ha /* 802D2A84 002CE6E4 3B FF B8 38 */ addi r31, r31, lbl_8056B838@l /* 802D2A88 002CE6E8 93 C1 00 28 */ stw r30, 0x28(r1) /* 802D2A8C 002CE6EC 7C DE 33 78 */ mr r30, r6 /* 802D2A90 002CE6F0 93 A1 00 24 */ stw r29, 0x24(r1) /* 802D2A94 002CE6F4 7C 9D 23 78 */ mr r29, r4 /* 802D2A98 002CE6F8 93 81 00 20 */ stw r28, 0x20(r1) /* 802D2A9C 002CE6FC 7C 7C 1B 78 */ mr r28, r3 /* 802D2AA0 002CE700 88 1F 03 80 */ lbz r0, 0x380(r31) /* 802D2AA4 002CE704 2C 00 00 00 */ cmpwi r0, 0 /* 802D2AA8 002CE708 41 82 00 0C */ beq lbl_802D2AB4 /* 802D2AAC 002CE70C 38 60 00 10 */ li r3, 0x10 /* 802D2AB0 002CE710 48 00 00 68 */ b lbl_802D2B18 lbl_802D2AB4: /* 802D2AB4 002CE714 38 E0 00 02 */ li r7, 2 /* 802D2AB8 002CE718 38 00 11 24 */ li r0, 0x1124 /* 802D2ABC 002CE71C 90 9F 03 88 */ stw r4, 0x388(r31) /* 802D2AC0 002CE720 7C A4 2B 78 */ mr r4, r5 /* 802D2AC4 002CE724 7F A3 EB 78 */ mr r3, r29 /* 802D2AC8 002CE728 38 C1 00 08 */ addi r6, r1, 8 /* 802D2ACC 002CE72C B0 E1 00 08 */ sth r7, 8(r1) /* 802D2AD0 002CE730 38 A0 00 01 */ li r5, 1 /* 802D2AD4 002CE734 38 E0 00 00 */ li r7, 0 /* 802D2AD8 002CE738 39 00 00 00 */ li r8, 0 /* 802D2ADC 002CE73C B0 01 00 0C */ sth r0, 0xc(r1) /* 802D2AE0 002CE740 48 00 F3 09 */ bl SDP_InitDiscoveryDb /* 802D2AE4 002CE744 3C A0 80 2D */ lis r5, hidh_search_callback@ha /* 802D2AE8 002CE748 7F 83 E3 78 */ mr r3, r28 /* 802D2AEC 002CE74C 7F A4 EB 78 */ mr r4, r29 /* 802D2AF0 002CE750 38 A5 2B 38 */ addi r5, r5, hidh_search_callback@l /* 802D2AF4 002CE754 48 00 F6 6D */ bl SDP_ServiceSearchRequest /* 802D2AF8 002CE758 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D2AFC 002CE75C 41 82 00 18 */ beq lbl_802D2B14 /* 802D2B00 002CE760 38 00 00 01 */ li r0, 1 /* 802D2B04 002CE764 93 DF 03 84 */ stw r30, 0x384(r31) /* 802D2B08 002CE768 38 60 00 00 */ li r3, 0 /* 802D2B0C 002CE76C 98 1F 03 80 */ stb r0, 0x380(r31) /* 802D2B10 002CE770 48 00 00 08 */ b lbl_802D2B18 lbl_802D2B14: /* 802D2B14 002CE774 38 60 00 03 */ li r3, 3 lbl_802D2B18: /* 802D2B18 002CE778 80 01 00 34 */ lwz r0, 0x34(r1) /* 802D2B1C 002CE77C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802D2B20 002CE780 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802D2B24 002CE784 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802D2B28 002CE788 83 81 00 20 */ lwz r28, 0x20(r1) /* 802D2B2C 002CE78C 7C 08 03 A6 */ mtlr r0 /* 802D2B30 002CE790 38 21 00 30 */ addi r1, r1, 0x30 /* 802D2B34 002CE794 4E 80 00 20 */ blr hidh_search_callback: /* 802D2B38 002CE798 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802D2B3C 002CE79C 7C 08 02 A6 */ mflr r0 /* 802D2B40 002CE7A0 38 80 00 02 */ li r4, 2 /* 802D2B44 002CE7A4 2C 03 00 00 */ cmpwi r3, 0 /* 802D2B48 002CE7A8 90 01 00 34 */ stw r0, 0x34(r1) /* 802D2B4C 002CE7AC 38 00 11 24 */ li r0, 0x1124 /* 802D2B50 002CE7B0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802D2B54 002CE7B4 93 C1 00 28 */ stw r30, 0x28(r1) /* 802D2B58 002CE7B8 93 A1 00 24 */ stw r29, 0x24(r1) /* 802D2B5C 002CE7BC 3B A0 00 00 */ li r29, 0 /* 802D2B60 002CE7C0 93 81 00 20 */ stw r28, 0x20(r1) /* 802D2B64 002CE7C4 3F 80 80 57 */ lis r28, lbl_8056B838@ha /* 802D2B68 002CE7C8 3B 9C B8 38 */ addi r28, r28, lbl_8056B838@l /* 802D2B6C 002CE7CC B0 81 00 08 */ sth r4, 8(r1) /* 802D2B70 002CE7D0 3B DC 03 8C */ addi r30, r28, 0x38c /* 802D2B74 002CE7D4 80 9C 03 88 */ lwz r4, 0x388(r28) /* 802D2B78 002CE7D8 B0 01 00 0C */ sth r0, 0xc(r1) /* 802D2B7C 002CE7DC 9B BC 03 80 */ stb r29, 0x380(r28) /* 802D2B80 002CE7E0 41 82 00 1C */ beq lbl_802D2B9C /* 802D2B84 002CE7E4 81 9C 03 84 */ lwz r12, 0x384(r28) /* 802D2B88 002CE7E8 38 80 00 00 */ li r4, 0 /* 802D2B8C 002CE7EC 38 A0 00 00 */ li r5, 0 /* 802D2B90 002CE7F0 7D 89 03 A6 */ mtctr r12 /* 802D2B94 002CE7F4 4E 80 04 21 */ bctrl /* 802D2B98 002CE7F8 48 00 03 D0 */ b lbl_802D2F68 lbl_802D2B9C: /* 802D2B9C 002CE7FC 7C 83 23 78 */ mr r3, r4 /* 802D2BA0 002CE800 38 81 00 08 */ addi r4, r1, 8 /* 802D2BA4 002CE804 38 A0 00 00 */ li r5, 0 /* 802D2BA8 002CE808 48 00 F7 6D */ bl SDP_FindServiceUUIDInDb /* 802D2BAC 002CE80C 2C 03 00 00 */ cmpwi r3, 0 /* 802D2BB0 002CE810 7C 7F 1B 78 */ mr r31, r3 /* 802D2BB4 002CE814 40 82 00 20 */ bne lbl_802D2BD4 /* 802D2BB8 002CE818 81 9C 03 84 */ lwz r12, 0x384(r28) /* 802D2BBC 002CE81C 38 60 00 0C */ li r3, 0xc /* 802D2BC0 002CE820 38 80 00 00 */ li r4, 0 /* 802D2BC4 002CE824 38 A0 00 00 */ li r5, 0 /* 802D2BC8 002CE828 7D 89 03 A6 */ mtctr r12 /* 802D2BCC 002CE82C 4E 80 04 21 */ bctrl /* 802D2BD0 002CE830 48 00 03 98 */ b lbl_802D2F68 lbl_802D2BD4: /* 802D2BD4 002CE834 7F C3 F3 78 */ mr r3, r30 /* 802D2BD8 002CE838 38 80 00 00 */ li r4, 0 /* 802D2BDC 002CE83C 38 A0 00 74 */ li r5, 0x74 /* 802D2BE0 002CE840 4B D3 15 25 */ bl memset /* 802D2BE4 002CE844 7F E3 FB 78 */ mr r3, r31 /* 802D2BE8 002CE848 38 80 02 06 */ li r4, 0x206 /* 802D2BEC 002CE84C 48 00 F6 35 */ bl SDP_FindAttributeInRec /* 802D2BF0 002CE850 2C 03 00 00 */ cmpwi r3, 0 /* 802D2BF4 002CE854 41 82 00 58 */ beq lbl_802D2C4C /* 802D2BF8 002CE858 A0 03 00 06 */ lhz r0, 6(r3) /* 802D2BFC 002CE85C 7C 00 66 70 */ srawi r0, r0, 0xc /* 802D2C00 002CE860 2C 00 00 06 */ cmpwi r0, 6 /* 802D2C04 002CE864 40 82 00 48 */ bne lbl_802D2C4C /* 802D2C08 002CE868 80 63 00 08 */ lwz r3, 8(r3) /* 802D2C0C 002CE86C 2C 03 00 00 */ cmpwi r3, 0 /* 802D2C10 002CE870 41 82 00 3C */ beq lbl_802D2C4C /* 802D2C14 002CE874 A0 03 00 06 */ lhz r0, 6(r3) /* 802D2C18 002CE878 7C 00 66 70 */ srawi r0, r0, 0xc /* 802D2C1C 002CE87C 2C 00 00 06 */ cmpwi r0, 6 /* 802D2C20 002CE880 40 82 00 2C */ bne lbl_802D2C4C /* 802D2C24 002CE884 80 63 00 08 */ lwz r3, 8(r3) /* 802D2C28 002CE888 2C 03 00 00 */ cmpwi r3, 0 /* 802D2C2C 002CE88C 41 82 00 20 */ beq lbl_802D2C4C /* 802D2C30 002CE890 80 83 00 00 */ lwz r4, 0(r3) /* 802D2C34 002CE894 2C 04 00 00 */ cmpwi r4, 0 /* 802D2C38 002CE898 41 82 00 14 */ beq lbl_802D2C4C /* 802D2C3C 002CE89C A0 64 00 06 */ lhz r3, 6(r4) /* 802D2C40 002CE8A0 7C 60 66 70 */ srawi r0, r3, 0xc /* 802D2C44 002CE8A4 2C 00 00 04 */ cmpwi r0, 4 /* 802D2C48 002CE8A8 41 82 00 28 */ beq lbl_802D2C70 lbl_802D2C4C: /* 802D2C4C 002CE8AC 3C A0 80 57 */ lis r5, lbl_8056B838@ha /* 802D2C50 002CE8B0 38 60 00 0D */ li r3, 0xd /* 802D2C54 002CE8B4 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l /* 802D2C58 002CE8B8 38 80 00 00 */ li r4, 0 /* 802D2C5C 002CE8BC 81 85 03 84 */ lwz r12, 0x384(r5) /* 802D2C60 002CE8C0 38 A0 00 00 */ li r5, 0 /* 802D2C64 002CE8C4 7D 89 03 A6 */ mtctr r12 /* 802D2C68 002CE8C8 4E 80 04 21 */ bctrl /* 802D2C6C 002CE8CC 48 00 02 FC */ b lbl_802D2F68 lbl_802D2C70: /* 802D2C70 002CE8D0 54 60 05 3F */ clrlwi. r0, r3, 0x14 /* 802D2C74 002CE8D4 B0 1E 00 68 */ sth r0, 0x68(r30) /* 802D2C78 002CE8D8 41 82 00 0C */ beq lbl_802D2C84 /* 802D2C7C 002CE8DC 38 04 00 08 */ addi r0, r4, 8 /* 802D2C80 002CE8E0 90 1E 00 6C */ stw r0, 0x6c(r30) lbl_802D2C84: /* 802D2C84 002CE8E4 7F E3 FB 78 */ mr r3, r31 /* 802D2C88 002CE8E8 38 80 02 04 */ li r4, 0x204 /* 802D2C8C 002CE8EC 48 00 F5 95 */ bl SDP_FindAttributeInRec /* 802D2C90 002CE8F0 2C 03 00 00 */ cmpwi r3, 0 /* 802D2C94 002CE8F4 41 82 00 14 */ beq lbl_802D2CA8 /* 802D2C98 002CE8F8 88 03 00 08 */ lbz r0, 8(r3) /* 802D2C9C 002CE8FC 2C 00 00 00 */ cmpwi r0, 0 /* 802D2CA0 002CE900 41 82 00 08 */ beq lbl_802D2CA8 /* 802D2CA4 002CE904 63 BD 00 01 */ ori r29, r29, 1 lbl_802D2CA8: /* 802D2CA8 002CE908 7F E3 FB 78 */ mr r3, r31 /* 802D2CAC 002CE90C 38 80 02 05 */ li r4, 0x205 /* 802D2CB0 002CE910 48 00 F5 71 */ bl SDP_FindAttributeInRec /* 802D2CB4 002CE914 2C 03 00 00 */ cmpwi r3, 0 /* 802D2CB8 002CE918 41 82 00 18 */ beq lbl_802D2CD0 /* 802D2CBC 002CE91C 88 03 00 08 */ lbz r0, 8(r3) /* 802D2CC0 002CE920 2C 00 00 00 */ cmpwi r0, 0 /* 802D2CC4 002CE924 41 82 00 0C */ beq lbl_802D2CD0 /* 802D2CC8 002CE928 63 A0 00 04 */ ori r0, r29, 4 /* 802D2CCC 002CE92C 54 1D 04 3E */ clrlwi r29, r0, 0x10 lbl_802D2CD0: /* 802D2CD0 002CE930 7F E3 FB 78 */ mr r3, r31 /* 802D2CD4 002CE934 38 80 02 0D */ li r4, 0x20d /* 802D2CD8 002CE938 48 00 F5 49 */ bl SDP_FindAttributeInRec /* 802D2CDC 002CE93C 2C 03 00 00 */ cmpwi r3, 0 /* 802D2CE0 002CE940 41 82 00 18 */ beq lbl_802D2CF8 /* 802D2CE4 002CE944 88 03 00 08 */ lbz r0, 8(r3) /* 802D2CE8 002CE948 2C 00 00 00 */ cmpwi r0, 0 /* 802D2CEC 002CE94C 41 82 00 0C */ beq lbl_802D2CF8 /* 802D2CF0 002CE950 63 A0 00 02 */ ori r0, r29, 2 /* 802D2CF4 002CE954 54 1D 04 3E */ clrlwi r29, r0, 0x10 lbl_802D2CF8: /* 802D2CF8 002CE958 7F E3 FB 78 */ mr r3, r31 /* 802D2CFC 002CE95C 38 80 02 08 */ li r4, 0x208 /* 802D2D00 002CE960 48 00 F5 21 */ bl SDP_FindAttributeInRec /* 802D2D04 002CE964 2C 03 00 00 */ cmpwi r3, 0 /* 802D2D08 002CE968 41 82 00 18 */ beq lbl_802D2D20 /* 802D2D0C 002CE96C 88 03 00 08 */ lbz r0, 8(r3) /* 802D2D10 002CE970 2C 00 00 00 */ cmpwi r0, 0 /* 802D2D14 002CE974 41 82 00 0C */ beq lbl_802D2D20 /* 802D2D18 002CE978 63 A0 00 08 */ ori r0, r29, 8 /* 802D2D1C 002CE97C 54 1D 04 3E */ clrlwi r29, r0, 0x10 lbl_802D2D20: /* 802D2D20 002CE980 7F E3 FB 78 */ mr r3, r31 /* 802D2D24 002CE984 38 80 02 09 */ li r4, 0x209 /* 802D2D28 002CE988 48 00 F4 F9 */ bl SDP_FindAttributeInRec /* 802D2D2C 002CE98C 2C 03 00 00 */ cmpwi r3, 0 /* 802D2D30 002CE990 41 82 00 18 */ beq lbl_802D2D48 /* 802D2D34 002CE994 88 03 00 08 */ lbz r0, 8(r3) /* 802D2D38 002CE998 2C 00 00 00 */ cmpwi r0, 0 /* 802D2D3C 002CE99C 41 82 00 0C */ beq lbl_802D2D48 /* 802D2D40 002CE9A0 63 A0 00 10 */ ori r0, r29, 0x10 /* 802D2D44 002CE9A4 54 1D 04 3E */ clrlwi r29, r0, 0x10 lbl_802D2D48: /* 802D2D48 002CE9A8 7F E3 FB 78 */ mr r3, r31 /* 802D2D4C 002CE9AC 38 80 02 0A */ li r4, 0x20a /* 802D2D50 002CE9B0 48 00 F4 D1 */ bl SDP_FindAttributeInRec /* 802D2D54 002CE9B4 2C 03 00 00 */ cmpwi r3, 0 /* 802D2D58 002CE9B8 41 82 00 18 */ beq lbl_802D2D70 /* 802D2D5C 002CE9BC 88 03 00 08 */ lbz r0, 8(r3) /* 802D2D60 002CE9C0 2C 00 00 00 */ cmpwi r0, 0 /* 802D2D64 002CE9C4 41 82 00 0C */ beq lbl_802D2D70 /* 802D2D68 002CE9C8 63 A0 00 20 */ ori r0, r29, 0x20 /* 802D2D6C 002CE9CC 54 1D 04 3E */ clrlwi r29, r0, 0x10 lbl_802D2D70: /* 802D2D70 002CE9D0 7F E3 FB 78 */ mr r3, r31 /* 802D2D74 002CE9D4 38 80 01 00 */ li r4, 0x100 /* 802D2D78 002CE9D8 48 00 F4 A9 */ bl SDP_FindAttributeInRec /* 802D2D7C 002CE9DC 2C 03 00 00 */ cmpwi r3, 0 /* 802D2D80 002CE9E0 7C 64 1B 78 */ mr r4, r3 /* 802D2D84 002CE9E4 41 82 00 4C */ beq lbl_802D2DD0 /* 802D2D88 002CE9E8 A0 03 00 06 */ lhz r0, 6(r3) /* 802D2D8C 002CE9EC 54 1C 05 3E */ clrlwi r28, r0, 0x14 /* 802D2D90 002CE9F0 28 1C 00 20 */ cmplwi r28, 0x20 /* 802D2D94 002CE9F4 40 80 00 20 */ bge lbl_802D2DB4 /* 802D2D98 002CE9F8 7F C3 F3 78 */ mr r3, r30 /* 802D2D9C 002CE9FC 7F 85 E3 78 */ mr r5, r28 /* 802D2DA0 002CEA00 38 84 00 08 */ addi r4, r4, 8 /* 802D2DA4 002CEA04 4B D3 12 5D */ bl memcpy /* 802D2DA8 002CEA08 38 00 00 00 */ li r0, 0 /* 802D2DAC 002CEA0C 7C 1E E1 AE */ stbx r0, r30, r28 /* 802D2DB0 002CEA10 48 00 00 28 */ b lbl_802D2DD8 lbl_802D2DB4: /* 802D2DB4 002CEA14 7F C3 F3 78 */ mr r3, r30 /* 802D2DB8 002CEA18 38 84 00 08 */ addi r4, r4, 8 /* 802D2DBC 002CEA1C 38 A0 00 1F */ li r5, 0x1f /* 802D2DC0 002CEA20 4B D3 12 41 */ bl memcpy /* 802D2DC4 002CEA24 38 00 00 00 */ li r0, 0 /* 802D2DC8 002CEA28 98 1E 00 20 */ stb r0, 0x20(r30) /* 802D2DCC 002CEA2C 48 00 00 0C */ b lbl_802D2DD8 lbl_802D2DD0: /* 802D2DD0 002CEA30 38 00 00 00 */ li r0, 0 /* 802D2DD4 002CEA34 98 1E 00 00 */ stb r0, 0(r30) lbl_802D2DD8: /* 802D2DD8 002CEA38 7F E3 FB 78 */ mr r3, r31 /* 802D2DDC 002CEA3C 38 80 01 01 */ li r4, 0x101 /* 802D2DE0 002CEA40 48 00 F4 41 */ bl SDP_FindAttributeInRec /* 802D2DE4 002CEA44 2C 03 00 00 */ cmpwi r3, 0 /* 802D2DE8 002CEA48 7C 64 1B 78 */ mr r4, r3 /* 802D2DEC 002CEA4C 41 82 00 50 */ beq lbl_802D2E3C /* 802D2DF0 002CEA50 A0 03 00 06 */ lhz r0, 6(r3) /* 802D2DF4 002CEA54 54 1C 05 3E */ clrlwi r28, r0, 0x14 /* 802D2DF8 002CEA58 28 1C 00 20 */ cmplwi r28, 0x20 /* 802D2DFC 002CEA5C 40 80 00 24 */ bge lbl_802D2E20 /* 802D2E00 002CEA60 7F 85 E3 78 */ mr r5, r28 /* 802D2E04 002CEA64 38 7E 00 20 */ addi r3, r30, 0x20 /* 802D2E08 002CEA68 38 84 00 08 */ addi r4, r4, 8 /* 802D2E0C 002CEA6C 4B D3 11 F5 */ bl memcpy /* 802D2E10 002CEA70 7C 7E E2 14 */ add r3, r30, r28 /* 802D2E14 002CEA74 38 00 00 00 */ li r0, 0 /* 802D2E18 002CEA78 98 03 00 20 */ stb r0, 0x20(r3) /* 802D2E1C 002CEA7C 48 00 00 28 */ b lbl_802D2E44 lbl_802D2E20: /* 802D2E20 002CEA80 38 7E 00 20 */ addi r3, r30, 0x20 /* 802D2E24 002CEA84 38 84 00 08 */ addi r4, r4, 8 /* 802D2E28 002CEA88 38 A0 00 1F */ li r5, 0x1f /* 802D2E2C 002CEA8C 4B D3 11 D5 */ bl memcpy /* 802D2E30 002CEA90 38 00 00 00 */ li r0, 0 /* 802D2E34 002CEA94 98 1E 00 40 */ stb r0, 0x40(r30) /* 802D2E38 002CEA98 48 00 00 0C */ b lbl_802D2E44 lbl_802D2E3C: /* 802D2E3C 002CEA9C 38 00 00 00 */ li r0, 0 /* 802D2E40 002CEAA0 98 1E 00 20 */ stb r0, 0x20(r30) lbl_802D2E44: /* 802D2E44 002CEAA4 7F E3 FB 78 */ mr r3, r31 /* 802D2E48 002CEAA8 38 80 01 02 */ li r4, 0x102 /* 802D2E4C 002CEAAC 48 00 F3 D5 */ bl SDP_FindAttributeInRec /* 802D2E50 002CEAB0 2C 03 00 00 */ cmpwi r3, 0 /* 802D2E54 002CEAB4 7C 64 1B 78 */ mr r4, r3 /* 802D2E58 002CEAB8 41 82 00 50 */ beq lbl_802D2EA8 /* 802D2E5C 002CEABC A0 03 00 06 */ lhz r0, 6(r3) /* 802D2E60 002CEAC0 54 1C 05 3E */ clrlwi r28, r0, 0x14 /* 802D2E64 002CEAC4 28 1C 00 20 */ cmplwi r28, 0x20 /* 802D2E68 002CEAC8 40 80 00 24 */ bge lbl_802D2E8C /* 802D2E6C 002CEACC 7F 85 E3 78 */ mr r5, r28 /* 802D2E70 002CEAD0 38 7E 00 40 */ addi r3, r30, 0x40 /* 802D2E74 002CEAD4 38 84 00 08 */ addi r4, r4, 8 /* 802D2E78 002CEAD8 4B D3 11 89 */ bl memcpy /* 802D2E7C 002CEADC 7C 7E E2 14 */ add r3, r30, r28 /* 802D2E80 002CEAE0 38 00 00 00 */ li r0, 0 /* 802D2E84 002CEAE4 98 03 00 40 */ stb r0, 0x40(r3) /* 802D2E88 002CEAE8 48 00 00 28 */ b lbl_802D2EB0 lbl_802D2E8C: /* 802D2E8C 002CEAEC 38 7E 00 40 */ addi r3, r30, 0x40 /* 802D2E90 002CEAF0 38 84 00 08 */ addi r4, r4, 8 /* 802D2E94 002CEAF4 38 A0 00 1F */ li r5, 0x1f /* 802D2E98 002CEAF8 4B D3 11 69 */ bl memcpy /* 802D2E9C 002CEAFC 38 00 00 00 */ li r0, 0 /* 802D2EA0 002CEB00 98 1E 00 60 */ stb r0, 0x60(r30) /* 802D2EA4 002CEB04 48 00 00 0C */ b lbl_802D2EB0 lbl_802D2EA8: /* 802D2EA8 002CEB08 38 00 00 00 */ li r0, 0 /* 802D2EAC 002CEB0C 98 1E 00 40 */ stb r0, 0x40(r30) lbl_802D2EB0: /* 802D2EB0 002CEB10 7F E3 FB 78 */ mr r3, r31 /* 802D2EB4 002CEB14 38 80 02 00 */ li r4, 0x200 /* 802D2EB8 002CEB18 48 00 F3 69 */ bl SDP_FindAttributeInRec /* 802D2EBC 002CEB1C 2C 03 00 00 */ cmpwi r3, 0 /* 802D2EC0 002CEB20 41 82 00 0C */ beq lbl_802D2ECC /* 802D2EC4 002CEB24 A0 03 00 08 */ lhz r0, 8(r3) /* 802D2EC8 002CEB28 B0 1E 00 60 */ sth r0, 0x60(r30) lbl_802D2ECC: /* 802D2ECC 002CEB2C 7F E3 FB 78 */ mr r3, r31 /* 802D2ED0 002CEB30 38 80 02 03 */ li r4, 0x203 /* 802D2ED4 002CEB34 48 00 F3 4D */ bl SDP_FindAttributeInRec /* 802D2ED8 002CEB38 2C 03 00 00 */ cmpwi r3, 0 /* 802D2EDC 002CEB3C 41 82 00 0C */ beq lbl_802D2EE8 /* 802D2EE0 002CEB40 88 03 00 08 */ lbz r0, 8(r3) /* 802D2EE4 002CEB44 98 1E 00 65 */ stb r0, 0x65(r30) lbl_802D2EE8: /* 802D2EE8 002CEB48 7F E3 FB 78 */ mr r3, r31 /* 802D2EEC 002CEB4C 38 80 02 02 */ li r4, 0x202 /* 802D2EF0 002CEB50 48 00 F3 31 */ bl SDP_FindAttributeInRec /* 802D2EF4 002CEB54 2C 03 00 00 */ cmpwi r3, 0 /* 802D2EF8 002CEB58 41 82 00 0C */ beq lbl_802D2F04 /* 802D2EFC 002CEB5C 88 03 00 08 */ lbz r0, 8(r3) /* 802D2F00 002CEB60 98 1E 00 64 */ stb r0, 0x64(r30) lbl_802D2F04: /* 802D2F04 002CEB64 7F E3 FB 78 */ mr r3, r31 /* 802D2F08 002CEB68 38 80 02 01 */ li r4, 0x201 /* 802D2F0C 002CEB6C 48 00 F3 15 */ bl SDP_FindAttributeInRec /* 802D2F10 002CEB70 2C 03 00 00 */ cmpwi r3, 0 /* 802D2F14 002CEB74 41 82 00 0C */ beq lbl_802D2F20 /* 802D2F18 002CEB78 A0 03 00 08 */ lhz r0, 8(r3) /* 802D2F1C 002CEB7C B0 1E 00 62 */ sth r0, 0x62(r30) lbl_802D2F20: /* 802D2F20 002CEB80 7F E3 FB 78 */ mr r3, r31 /* 802D2F24 002CEB84 38 80 02 0C */ li r4, 0x20c /* 802D2F28 002CEB88 48 00 F2 F9 */ bl SDP_FindAttributeInRec /* 802D2F2C 002CEB8C 2C 03 00 00 */ cmpwi r3, 0 /* 802D2F30 002CEB90 41 82 00 14 */ beq lbl_802D2F44 /* 802D2F34 002CEB94 A0 03 00 08 */ lhz r0, 8(r3) /* 802D2F38 002CEB98 63 A3 00 40 */ ori r3, r29, 0x40 /* 802D2F3C 002CEB9C 54 7D 04 3E */ clrlwi r29, r3, 0x10 /* 802D2F40 002CEBA0 B0 1E 00 66 */ sth r0, 0x66(r30) lbl_802D2F44: /* 802D2F44 002CEBA4 3C C0 80 57 */ lis r6, lbl_8056B838@ha /* 802D2F48 002CEBA8 57 A4 04 3E */ clrlwi r4, r29, 0x10 /* 802D2F4C 002CEBAC 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l /* 802D2F50 002CEBB0 38 60 00 00 */ li r3, 0 /* 802D2F54 002CEBB4 81 86 03 84 */ lwz r12, 0x384(r6) /* 802D2F58 002CEBB8 38 A6 03 8C */ addi r5, r6, 0x38c /* 802D2F5C 002CEBBC 93 E6 03 FC */ stw r31, 0x3fc(r6) /* 802D2F60 002CEBC0 7D 89 03 A6 */ mtctr r12 /* 802D2F64 002CEBC4 4E 80 04 21 */ bctrl lbl_802D2F68: /* 802D2F68 002CEBC8 80 01 00 34 */ lwz r0, 0x34(r1) /* 802D2F6C 002CEBCC 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802D2F70 002CEBD0 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802D2F74 002CEBD4 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802D2F78 002CEBD8 83 81 00 20 */ lwz r28, 0x20(r1) /* 802D2F7C 002CEBDC 7C 08 03 A6 */ mtlr r0 /* 802D2F80 002CEBE0 38 21 00 30 */ addi r1, r1, 0x30 /* 802D2F84 002CEBE4 4E 80 00 20 */ blr .global HID_HostInit HID_HostInit: /* 802D2F88 002CEBE8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D2F8C 002CEBEC 7C 08 02 A6 */ mflr r0 /* 802D2F90 002CEBF0 38 80 00 00 */ li r4, 0 /* 802D2F94 002CEBF4 38 A0 04 04 */ li r5, 0x404 /* 802D2F98 002CEBF8 90 01 00 14 */ stw r0, 0x14(r1) /* 802D2F9C 002CEBFC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D2FA0 002CEC00 3F E0 80 57 */ lis r31, lbl_8056B838@ha /* 802D2FA4 002CEC04 38 7F B8 38 */ addi r3, r31, lbl_8056B838@l /* 802D2FA8 002CEC08 4B D3 11 5D */ bl memset /* 802D2FAC 002CEC0C 38 7F B8 38 */ addi r3, r31, -18376 /* 802D2FB0 002CEC10 38 00 00 00 */ li r0, 0 /* 802D2FB4 002CEC14 98 03 04 01 */ stb r0, 0x401(r3) /* 802D2FB8 002CEC18 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802D2FBC 002CEC1C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802D2FC0 002CEC20 7C 08 03 A6 */ mtlr r0 /* 802D2FC4 002CEC24 38 21 00 10 */ addi r1, r1, 0x10 /* 802D2FC8 002CEC28 4E 80 00 20 */ blr .global HID_HostRegister HID_HostRegister: /* 802D2FCC 002CEC2C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D2FD0 002CEC30 7C 08 02 A6 */ mflr r0 /* 802D2FD4 002CEC34 90 01 00 14 */ stw r0, 0x14(r1) /* 802D2FD8 002CEC38 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D2FDC 002CEC3C 3F E0 80 57 */ lis r31, lbl_8056B838@ha /* 802D2FE0 002CEC40 3B FF B8 38 */ addi r31, r31, lbl_8056B838@l /* 802D2FE4 002CEC44 93 C1 00 08 */ stw r30, 8(r1) /* 802D2FE8 002CEC48 7C 7E 1B 78 */ mr r30, r3 /* 802D2FEC 002CEC4C 88 1F 04 00 */ lbz r0, 0x400(r31) /* 802D2FF0 002CEC50 2C 00 00 00 */ cmpwi r0, 0 /* 802D2FF4 002CEC54 41 82 00 0C */ beq lbl_802D3000 /* 802D2FF8 002CEC58 38 60 00 02 */ li r3, 2 /* 802D2FFC 002CEC5C 48 00 00 34 */ b lbl_802D3030 lbl_802D3000: /* 802D3000 002CEC60 2C 03 00 00 */ cmpwi r3, 0 /* 802D3004 002CEC64 40 82 00 0C */ bne lbl_802D3010 /* 802D3008 002CEC68 38 60 00 05 */ li r3, 5 /* 802D300C 002CEC6C 48 00 00 24 */ b lbl_802D3030 lbl_802D3010: /* 802D3010 002CEC70 48 00 07 E1 */ bl hidh_conn_reg /* 802D3014 002CEC74 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D3018 002CEC78 41 82 00 08 */ beq lbl_802D3020 /* 802D301C 002CEC7C 48 00 00 14 */ b lbl_802D3030 lbl_802D3020: /* 802D3020 002CEC80 38 00 00 01 */ li r0, 1 /* 802D3024 002CEC84 93 DF 03 40 */ stw r30, 0x340(r31) /* 802D3028 002CEC88 38 60 00 00 */ li r3, 0 /* 802D302C 002CEC8C 98 1F 04 00 */ stb r0, 0x400(r31) lbl_802D3030: /* 802D3030 002CEC90 80 01 00 14 */ lwz r0, 0x14(r1) /* 802D3034 002CEC94 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802D3038 002CEC98 83 C1 00 08 */ lwz r30, 8(r1) /* 802D303C 002CEC9C 7C 08 03 A6 */ mtlr r0 /* 802D3040 002CECA0 38 21 00 10 */ addi r1, r1, 0x10 /* 802D3044 002CECA4 4E 80 00 20 */ blr .global HID_HostDeregister HID_HostDeregister: /* 802D3048 002CECA8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D304C 002CECAC 7C 08 02 A6 */ mflr r0 /* 802D3050 002CECB0 90 01 00 24 */ stw r0, 0x24(r1) /* 802D3054 002CECB4 39 61 00 20 */ addi r11, r1, 0x20 /* 802D3058 002CECB8 4B EF 40 D1 */ bl _savegpr_27 /* 802D305C 002CECBC 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D3060 002CECC0 3B A3 B8 38 */ addi r29, r3, lbl_8056B838@l /* 802D3064 002CECC4 88 1D 04 00 */ lbz r0, 0x400(r29) /* 802D3068 002CECC8 2C 00 00 00 */ cmpwi r0, 0 /* 802D306C 002CECCC 40 82 00 0C */ bne lbl_802D3078 /* 802D3070 002CECD0 38 60 00 01 */ li r3, 1 /* 802D3074 002CECD4 48 00 00 A0 */ b lbl_802D3114 lbl_802D3078: /* 802D3078 002CECD8 3B 60 00 00 */ li r27, 0 /* 802D307C 002CECDC 3B C0 00 01 */ li r30, 1 /* 802D3080 002CECE0 3B E0 00 00 */ li r31, 0 lbl_802D3084: /* 802D3084 002CECE4 88 1D 04 00 */ lbz r0, 0x400(r29) /* 802D3088 002CECE8 2F 00 00 00 */ cmpwi cr6, r0, 0 /* 802D308C 002CECEC 41 9A 00 64 */ beq cr6, lbl_802D30F0 /* 802D3090 002CECF0 57 60 06 3E */ clrlwi r0, r27, 0x18 /* 802D3094 002CECF4 28 80 00 10 */ cmplwi cr1, r0, 0x10 /* 802D3098 002CECF8 41 85 00 58 */ bgt cr1, lbl_802D30F0 /* 802D309C 002CECFC 1C 00 00 34 */ mulli r0, r0, 0x34 /* 802D30A0 002CED00 7F 9D 02 14 */ add r28, r29, r0 /* 802D30A4 002CED04 7C 1D 00 AE */ lbzx r0, r29, r0 /* 802D30A8 002CED08 2C 00 00 00 */ cmpwi r0, 0 /* 802D30AC 002CED0C 41 82 00 44 */ beq lbl_802D30F0 /* 802D30B0 002CED10 41 9A 00 30 */ beq cr6, lbl_802D30E0 /* 802D30B4 002CED14 41 85 00 2C */ bgt cr1, lbl_802D30E0 /* 802D30B8 002CED18 41 82 00 28 */ beq lbl_802D30E0 /* 802D30BC 002CED1C 9B DC 00 0C */ stb r30, 0xc(r28) /* 802D30C0 002CED20 38 7C 00 1C */ addi r3, r28, 0x1c /* 802D30C4 002CED24 4B FE A4 89 */ bl btu_stop_timer /* 802D30C8 002CED28 88 1C 00 0A */ lbz r0, 0xa(r28) /* 802D30CC 002CED2C 28 00 00 01 */ cmplwi r0, 1 /* 802D30D0 002CED30 40 82 00 10 */ bne lbl_802D30E0 /* 802D30D4 002CED34 9B DC 00 0C */ stb r30, 0xc(r28) /* 802D30D8 002CED38 57 63 06 3E */ clrlwi r3, r27, 0x18 /* 802D30DC 002CED3C 48 00 08 6D */ bl hidh_conn_disconnect lbl_802D30E0: /* 802D30E0 002CED40 9B FC 00 00 */ stb r31, 0(r28) /* 802D30E4 002CED44 9B FC 00 10 */ stb r31, 0x10(r28) /* 802D30E8 002CED48 B3 FC 00 16 */ sth r31, 0x16(r28) /* 802D30EC 002CED4C B3 FC 00 14 */ sth r31, 0x14(r28) lbl_802D30F0: /* 802D30F0 002CED50 3B 7B 00 01 */ addi r27, r27, 1 /* 802D30F4 002CED54 28 1B 00 10 */ cmplwi r27, 0x10 /* 802D30F8 002CED58 41 80 FF 8C */ blt lbl_802D3084 /* 802D30FC 002CED5C 48 00 27 09 */ bl hidh_conn_dereg /* 802D3100 002CED60 3C 80 80 57 */ lis r4, lbl_8056B838@ha /* 802D3104 002CED64 38 00 00 00 */ li r0, 0 /* 802D3108 002CED68 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l /* 802D310C 002CED6C 38 60 00 00 */ li r3, 0 /* 802D3110 002CED70 98 04 04 00 */ stb r0, 0x400(r4) lbl_802D3114: /* 802D3114 002CED74 39 61 00 20 */ addi r11, r1, 0x20 /* 802D3118 002CED78 4B EF 40 5D */ bl _restgpr_27 /* 802D311C 002CED7C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D3120 002CED80 7C 08 03 A6 */ mtlr r0 /* 802D3124 002CED84 38 21 00 20 */ addi r1, r1, 0x20 /* 802D3128 002CED88 4E 80 00 20 */ blr .global HID_HostAddDev HID_HostAddDev: /* 802D312C 002CED8C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D3130 002CED90 7C 08 02 A6 */ mflr r0 /* 802D3134 002CED94 90 01 00 24 */ stw r0, 0x24(r1) /* 802D3138 002CED98 39 61 00 20 */ addi r11, r1, 0x20 /* 802D313C 002CED9C 4B EF 3F E9 */ bl _savegpr_26 /* 802D3140 002CEDA0 3F E0 80 57 */ lis r31, lbl_8056B838@ha /* 802D3144 002CEDA4 7C 7A 1B 78 */ mr r26, r3 /* 802D3148 002CEDA8 3B FF B8 38 */ addi r31, r31, lbl_8056B838@l /* 802D314C 002CEDAC 7C 9B 23 78 */ mr r27, r4 /* 802D3150 002CEDB0 88 1F 04 00 */ lbz r0, 0x400(r31) /* 802D3154 002CEDB4 7C BC 2B 78 */ mr r28, r5 /* 802D3158 002CEDB8 2C 00 00 00 */ cmpwi r0, 0 /* 802D315C 002CEDBC 40 82 00 0C */ bne lbl_802D3168 /* 802D3160 002CEDC0 38 60 00 01 */ li r3, 1 /* 802D3164 002CEDC4 48 00 01 40 */ b lbl_802D32A4 lbl_802D3168: /* 802D3168 002CEDC8 3B A0 00 00 */ li r29, 0 lbl_802D316C: /* 802D316C 002CEDCC 7F 43 D3 78 */ mr r3, r26 /* 802D3170 002CEDD0 38 9F 00 01 */ addi r4, r31, 1 /* 802D3174 002CEDD4 38 A0 00 06 */ li r5, 6 /* 802D3178 002CEDD8 4B EF 72 21 */ bl memcmp /* 802D317C 002CEDDC 2C 03 00 00 */ cmpwi r3, 0 /* 802D3180 002CEDE0 41 82 00 14 */ beq lbl_802D3194 /* 802D3184 002CEDE4 3B BD 00 01 */ addi r29, r29, 1 /* 802D3188 002CEDE8 3B FF 00 34 */ addi r31, r31, 0x34 /* 802D318C 002CEDEC 2C 1D 00 10 */ cmpwi r29, 0x10 /* 802D3190 002CEDF0 41 80 FF DC */ blt lbl_802D316C lbl_802D3194: /* 802D3194 002CEDF4 2C 1D 00 10 */ cmpwi r29, 0x10 /* 802D3198 002CEDF8 40 82 00 A0 */ bne lbl_802D3238 /* 802D319C 002CEDFC 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D31A0 002CEE00 38 00 00 02 */ li r0, 2 /* 802D31A4 002CEE04 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D31A8 002CEE08 3B A0 00 00 */ li r29, 0 /* 802D31AC 002CEE0C 7C 09 03 A6 */ mtctr r0 lbl_802D31B0: /* 802D31B0 002CEE10 88 03 00 00 */ lbz r0, 0(r3) /* 802D31B4 002CEE14 2C 00 00 00 */ cmpwi r0, 0 /* 802D31B8 002CEE18 41 82 00 80 */ beq lbl_802D3238 /* 802D31BC 002CEE1C 88 03 00 34 */ lbz r0, 0x34(r3) /* 802D31C0 002CEE20 3B BD 00 01 */ addi r29, r29, 1 /* 802D31C4 002CEE24 2C 00 00 00 */ cmpwi r0, 0 /* 802D31C8 002CEE28 41 82 00 70 */ beq lbl_802D3238 /* 802D31CC 002CEE2C 88 03 00 68 */ lbz r0, 0x68(r3) /* 802D31D0 002CEE30 3B BD 00 01 */ addi r29, r29, 1 /* 802D31D4 002CEE34 2C 00 00 00 */ cmpwi r0, 0 /* 802D31D8 002CEE38 41 82 00 60 */ beq lbl_802D3238 /* 802D31DC 002CEE3C 88 03 00 9C */ lbz r0, 0x9c(r3) /* 802D31E0 002CEE40 3B BD 00 01 */ addi r29, r29, 1 /* 802D31E4 002CEE44 2C 00 00 00 */ cmpwi r0, 0 /* 802D31E8 002CEE48 41 82 00 50 */ beq lbl_802D3238 /* 802D31EC 002CEE4C 88 03 00 D0 */ lbz r0, 0xd0(r3) /* 802D31F0 002CEE50 3B BD 00 01 */ addi r29, r29, 1 /* 802D31F4 002CEE54 2C 00 00 00 */ cmpwi r0, 0 /* 802D31F8 002CEE58 41 82 00 40 */ beq lbl_802D3238 /* 802D31FC 002CEE5C 88 03 01 04 */ lbz r0, 0x104(r3) /* 802D3200 002CEE60 3B BD 00 01 */ addi r29, r29, 1 /* 802D3204 002CEE64 2C 00 00 00 */ cmpwi r0, 0 /* 802D3208 002CEE68 41 82 00 30 */ beq lbl_802D3238 /* 802D320C 002CEE6C 88 03 01 38 */ lbz r0, 0x138(r3) /* 802D3210 002CEE70 3B BD 00 01 */ addi r29, r29, 1 /* 802D3214 002CEE74 2C 00 00 00 */ cmpwi r0, 0 /* 802D3218 002CEE78 41 82 00 20 */ beq lbl_802D3238 /* 802D321C 002CEE7C 88 03 01 6C */ lbz r0, 0x16c(r3) /* 802D3220 002CEE80 3B BD 00 01 */ addi r29, r29, 1 /* 802D3224 002CEE84 2C 00 00 00 */ cmpwi r0, 0 /* 802D3228 002CEE88 41 82 00 10 */ beq lbl_802D3238 /* 802D322C 002CEE8C 38 63 01 A0 */ addi r3, r3, 0x1a0 /* 802D3230 002CEE90 3B BD 00 01 */ addi r29, r29, 1 /* 802D3234 002CEE94 42 00 FF 7C */ bdnz lbl_802D31B0 lbl_802D3238: /* 802D3238 002CEE98 2C 1D 00 10 */ cmpwi r29, 0x10 /* 802D323C 002CEE9C 40 82 00 0C */ bne lbl_802D3248 /* 802D3240 002CEEA0 38 60 00 03 */ li r3, 3 /* 802D3244 002CEEA4 48 00 00 60 */ b lbl_802D32A4 lbl_802D3248: /* 802D3248 002CEEA8 1F DD 00 34 */ mulli r30, r29, 0x34 /* 802D324C 002CEEAC 3F E0 80 57 */ lis r31, lbl_8056B838@ha /* 802D3250 002CEEB0 3B FF B8 38 */ addi r31, r31, lbl_8056B838@l /* 802D3254 002CEEB4 7C 1F F0 AE */ lbzx r0, r31, r30 /* 802D3258 002CEEB8 2C 00 00 00 */ cmpwi r0, 0 /* 802D325C 002CEEBC 40 82 00 30 */ bne lbl_802D328C /* 802D3260 002CEEC0 38 00 00 01 */ li r0, 1 /* 802D3264 002CEEC4 7C 7F F2 14 */ add r3, r31, r30 /* 802D3268 002CEEC8 7C 1F F1 AE */ stbx r0, r31, r30 /* 802D326C 002CEECC 7F 44 D3 78 */ mr r4, r26 /* 802D3270 002CEED0 38 63 00 01 */ addi r3, r3, 1 /* 802D3274 002CEED4 38 A0 00 06 */ li r5, 6 /* 802D3278 002CEED8 4B D3 0D 89 */ bl memcpy /* 802D327C 002CEEDC 7C 7F F2 14 */ add r3, r31, r30 /* 802D3280 002CEEE0 38 00 00 00 */ li r0, 0 /* 802D3284 002CEEE4 98 03 00 0A */ stb r0, 0xa(r3) /* 802D3288 002CEEE8 98 03 00 0C */ stb r0, 0xc(r3) lbl_802D328C: /* 802D328C 002CEEEC 3C 80 80 57 */ lis r4, lbl_8056B838@ha /* 802D3290 002CEEF0 38 60 00 00 */ li r3, 0 /* 802D3294 002CEEF4 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l /* 802D3298 002CEEF8 7C 84 F2 14 */ add r4, r4, r30 /* 802D329C 002CEEFC B3 64 00 08 */ sth r27, 8(r4) /* 802D32A0 002CEF00 9B BC 00 00 */ stb r29, 0(r28) lbl_802D32A4: /* 802D32A4 002CEF04 39 61 00 20 */ addi r11, r1, 0x20 /* 802D32A8 002CEF08 4B EF 3E C9 */ bl _restgpr_26 /* 802D32AC 002CEF0C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D32B0 002CEF10 7C 08 03 A6 */ mtlr r0 /* 802D32B4 002CEF14 38 21 00 20 */ addi r1, r1, 0x20 /* 802D32B8 002CEF18 4E 80 00 20 */ blr .global HID_HostRemoveDev HID_HostRemoveDev: /* 802D32BC 002CEF1C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D32C0 002CEF20 7C 08 02 A6 */ mflr r0 /* 802D32C4 002CEF24 90 01 00 24 */ stw r0, 0x24(r1) /* 802D32C8 002CEF28 39 61 00 20 */ addi r11, r1, 0x20 /* 802D32CC 002CEF2C 4B EF 3E 5D */ bl _savegpr_27 /* 802D32D0 002CEF30 3F C0 80 57 */ lis r30, lbl_8056B838@ha /* 802D32D4 002CEF34 7C 7B 1B 78 */ mr r27, r3 /* 802D32D8 002CEF38 3B DE B8 38 */ addi r30, r30, lbl_8056B838@l /* 802D32DC 002CEF3C 88 1E 04 00 */ lbz r0, 0x400(r30) /* 802D32E0 002CEF40 2F 00 00 00 */ cmpwi cr6, r0, 0 /* 802D32E4 002CEF44 40 9A 00 0C */ bne cr6, lbl_802D32F0 /* 802D32E8 002CEF48 38 60 00 01 */ li r3, 1 /* 802D32EC 002CEF4C 48 00 00 80 */ b lbl_802D336C lbl_802D32F0: /* 802D32F0 002CEF50 28 83 00 10 */ cmplwi cr1, r3, 0x10 /* 802D32F4 002CEF54 41 85 00 18 */ bgt cr1, lbl_802D330C /* 802D32F8 002CEF58 1F 83 00 34 */ mulli r28, r3, 0x34 /* 802D32FC 002CEF5C 7C 1E E0 AE */ lbzx r0, r30, r28 /* 802D3300 002CEF60 7F BE E2 14 */ add r29, r30, r28 /* 802D3304 002CEF64 2C 00 00 00 */ cmpwi r0, 0 /* 802D3308 002CEF68 40 82 00 0C */ bne lbl_802D3314 lbl_802D330C: /* 802D330C 002CEF6C 38 60 00 05 */ li r3, 5 /* 802D3310 002CEF70 48 00 00 5C */ b lbl_802D336C lbl_802D3314: /* 802D3314 002CEF74 41 9A 00 34 */ beq cr6, lbl_802D3348 /* 802D3318 002CEF78 41 85 00 30 */ bgt cr1, lbl_802D3348 /* 802D331C 002CEF7C 41 82 00 2C */ beq lbl_802D3348 /* 802D3320 002CEF80 3B E0 00 01 */ li r31, 1 /* 802D3324 002CEF84 38 7D 00 1C */ addi r3, r29, 0x1c /* 802D3328 002CEF88 9B FD 00 0C */ stb r31, 0xc(r29) /* 802D332C 002CEF8C 4B FE A2 21 */ bl btu_stop_timer /* 802D3330 002CEF90 88 1D 00 0A */ lbz r0, 0xa(r29) /* 802D3334 002CEF94 28 00 00 01 */ cmplwi r0, 1 /* 802D3338 002CEF98 40 82 00 10 */ bne lbl_802D3348 /* 802D333C 002CEF9C 9B FD 00 0C */ stb r31, 0xc(r29) /* 802D3340 002CEFA0 7F 63 DB 78 */ mr r3, r27 /* 802D3344 002CEFA4 48 00 06 05 */ bl hidh_conn_disconnect lbl_802D3348: /* 802D3348 002CEFA8 38 00 00 00 */ li r0, 0 /* 802D334C 002CEFAC 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D3350 002CEFB0 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D3354 002CEFB4 98 1D 00 00 */ stb r0, 0(r29) /* 802D3358 002CEFB8 7C 83 E2 14 */ add r4, r3, r28 /* 802D335C 002CEFBC 98 04 00 10 */ stb r0, 0x10(r4) /* 802D3360 002CEFC0 38 60 00 00 */ li r3, 0 /* 802D3364 002CEFC4 B0 04 00 16 */ sth r0, 0x16(r4) /* 802D3368 002CEFC8 B0 04 00 14 */ sth r0, 0x14(r4) lbl_802D336C: /* 802D336C 002CEFCC 39 61 00 20 */ addi r11, r1, 0x20 /* 802D3370 002CEFD0 4B EF 3E 05 */ bl _restgpr_27 /* 802D3374 002CEFD4 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D3378 002CEFD8 7C 08 03 A6 */ mtlr r0 /* 802D337C 002CEFDC 38 21 00 20 */ addi r1, r1, 0x20 /* 802D3380 002CEFE0 4E 80 00 20 */ blr .global HID_HostOpenDev HID_HostOpenDev: /* 802D3384 002CEFE4 3C 80 80 57 */ lis r4, lbl_8056B838@ha /* 802D3388 002CEFE8 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l /* 802D338C 002CEFEC 88 04 04 00 */ lbz r0, 0x400(r4) /* 802D3390 002CEFF0 2C 00 00 00 */ cmpwi r0, 0 /* 802D3394 002CEFF4 40 82 00 0C */ bne lbl_802D33A0 /* 802D3398 002CEFF8 38 60 00 01 */ li r3, 1 /* 802D339C 002CEFFC 4E 80 00 20 */ blr lbl_802D33A0: /* 802D33A0 002CF000 28 03 00 10 */ cmplwi r3, 0x10 /* 802D33A4 002CF004 41 81 00 14 */ bgt lbl_802D33B8 /* 802D33A8 002CF008 1C A3 00 34 */ mulli r5, r3, 0x34 /* 802D33AC 002CF00C 7C 04 28 AE */ lbzx r0, r4, r5 /* 802D33B0 002CF010 2C 00 00 00 */ cmpwi r0, 0 /* 802D33B4 002CF014 40 82 00 0C */ bne lbl_802D33C0 lbl_802D33B8: /* 802D33B8 002CF018 38 60 00 05 */ li r3, 5 /* 802D33BC 002CF01C 4E 80 00 20 */ blr lbl_802D33C0: /* 802D33C0 002CF020 7C 84 2A 14 */ add r4, r4, r5 /* 802D33C4 002CF024 88 04 00 0A */ lbz r0, 0xa(r4) /* 802D33C8 002CF028 2C 00 00 00 */ cmpwi r0, 0 /* 802D33CC 002CF02C 41 82 00 0C */ beq lbl_802D33D8 /* 802D33D0 002CF030 38 60 00 0A */ li r3, 0xa /* 802D33D4 002CF034 4E 80 00 20 */ blr lbl_802D33D8: /* 802D33D8 002CF038 38 00 00 01 */ li r0, 1 /* 802D33DC 002CF03C 98 04 00 0C */ stb r0, 0xc(r4) /* 802D33E0 002CF040 48 00 23 28 */ b hidh_conn_initiate /* 802D33E4 002CF044 4E 80 00 20 */ blr .global HID_HostWriteDev HID_HostWriteDev: /* 802D33E8 002CF048 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802D33EC 002CF04C 7C 08 02 A6 */ mflr r0 /* 802D33F0 002CF050 90 01 00 34 */ stw r0, 0x34(r1) /* 802D33F4 002CF054 39 61 00 30 */ addi r11, r1, 0x30 /* 802D33F8 002CF058 4B EF 3D 25 */ bl _savegpr_24 /* 802D33FC 002CF05C 3D 20 80 57 */ lis r9, lbl_8056B838@ha /* 802D3400 002CF060 3F E0 80 44 */ lis r31, lbl_80442740@ha /* 802D3404 002CF064 39 29 B8 38 */ addi r9, r9, lbl_8056B838@l /* 802D3408 002CF068 7C 79 1B 78 */ mr r25, r3 /* 802D340C 002CF06C 88 09 04 00 */ lbz r0, 0x400(r9) /* 802D3410 002CF070 7C 9A 23 78 */ mr r26, r4 /* 802D3414 002CF074 7C BB 2B 78 */ mr r27, r5 /* 802D3418 002CF078 7C DC 33 78 */ mr r28, r6 /* 802D341C 002CF07C 2C 00 00 00 */ cmpwi r0, 0 /* 802D3420 002CF080 7C FD 3B 78 */ mr r29, r7 /* 802D3424 002CF084 7D 1E 43 78 */ mr r30, r8 /* 802D3428 002CF088 3B FF 27 40 */ addi r31, r31, lbl_80442740@l /* 802D342C 002CF08C 3B 00 00 00 */ li r24, 0 /* 802D3430 002CF090 40 82 00 20 */ bne lbl_802D3450 /* 802D3434 002CF094 88 09 04 01 */ lbz r0, 0x401(r9) /* 802D3438 002CF098 28 00 00 01 */ cmplwi r0, 1 /* 802D343C 002CF09C 41 80 00 10 */ blt lbl_802D344C /* 802D3440 002CF0A0 38 9F 00 00 */ addi r4, r31, 0 /* 802D3444 002CF0A4 3C 60 00 1E */ lis r3, 0x1e /* 802D3448 002CF0A8 4B FE 9A C9 */ bl LogMsg_0 lbl_802D344C: /* 802D344C 002CF0AC 3B 00 00 01 */ li r24, 1 lbl_802D3450: /* 802D3450 002CF0B0 28 19 00 10 */ cmplwi r25, 0x10 /* 802D3454 002CF0B4 41 81 00 1C */ bgt lbl_802D3470 /* 802D3458 002CF0B8 1C 19 00 34 */ mulli r0, r25, 0x34 /* 802D345C 002CF0BC 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D3460 002CF0C0 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D3464 002CF0C4 7C 03 00 AE */ lbzx r0, r3, r0 /* 802D3468 002CF0C8 2C 00 00 00 */ cmpwi r0, 0 /* 802D346C 002CF0CC 40 82 00 28 */ bne lbl_802D3494 lbl_802D3470: /* 802D3470 002CF0D0 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D3474 002CF0D4 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D3478 002CF0D8 88 03 04 01 */ lbz r0, 0x401(r3) /* 802D347C 002CF0DC 28 00 00 01 */ cmplwi r0, 1 /* 802D3480 002CF0E0 41 80 00 10 */ blt lbl_802D3490 /* 802D3484 002CF0E4 38 9F 00 18 */ addi r4, r31, 0x18 /* 802D3488 002CF0E8 3C 60 00 1E */ lis r3, 0x1e /* 802D348C 002CF0EC 4B FE 9A 85 */ bl LogMsg_0 lbl_802D3490: /* 802D3490 002CF0F0 3B 00 00 05 */ li r24, 5 lbl_802D3494: /* 802D3494 002CF0F4 1C 19 00 34 */ mulli r0, r25, 0x34 /* 802D3498 002CF0F8 3C 80 80 57 */ lis r4, lbl_8056B838@ha /* 802D349C 002CF0FC 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l /* 802D34A0 002CF100 7C 64 02 14 */ add r3, r4, r0 /* 802D34A4 002CF104 88 03 00 0A */ lbz r0, 0xa(r3) /* 802D34A8 002CF108 28 00 00 01 */ cmplwi r0, 1 /* 802D34AC 002CF10C 41 82 00 24 */ beq lbl_802D34D0 /* 802D34B0 002CF110 88 04 04 01 */ lbz r0, 0x401(r4) /* 802D34B4 002CF114 28 00 00 01 */ cmplwi r0, 1 /* 802D34B8 002CF118 41 80 00 14 */ blt lbl_802D34CC /* 802D34BC 002CF11C 7F 25 CB 78 */ mr r5, r25 /* 802D34C0 002CF120 38 9F 00 30 */ addi r4, r31, 0x30 /* 802D34C4 002CF124 3C 60 00 1E */ lis r3, 0x1e /* 802D34C8 002CF128 4B FE 9A 61 */ bl LogMsg_1 lbl_802D34CC: /* 802D34CC 002CF12C 3B 00 00 04 */ li r24, 4 lbl_802D34D0: /* 802D34D0 002CF130 2C 18 00 00 */ cmpwi r24, 0 /* 802D34D4 002CF134 41 82 00 18 */ beq lbl_802D34EC /* 802D34D8 002CF138 2C 1E 00 00 */ cmpwi r30, 0 /* 802D34DC 002CF13C 41 82 00 30 */ beq lbl_802D350C /* 802D34E0 002CF140 7F C3 F3 78 */ mr r3, r30 /* 802D34E4 002CF144 4B FE 68 51 */ bl GKI_freebuf /* 802D34E8 002CF148 48 00 00 24 */ b lbl_802D350C lbl_802D34EC: /* 802D34EC 002CF14C 7F 23 CB 78 */ mr r3, r25 /* 802D34F0 002CF150 7F 44 D3 78 */ mr r4, r26 /* 802D34F4 002CF154 7F 65 DB 78 */ mr r5, r27 /* 802D34F8 002CF158 7F 86 E3 78 */ mr r6, r28 /* 802D34FC 002CF15C 7F A7 EB 78 */ mr r7, r29 /* 802D3500 002CF160 7F C8 F3 78 */ mr r8, r30 /* 802D3504 002CF164 48 00 1F 69 */ bl hidh_conn_snd_data /* 802D3508 002CF168 7C 78 1B 78 */ mr r24, r3 lbl_802D350C: /* 802D350C 002CF16C 39 61 00 30 */ addi r11, r1, 0x30 /* 802D3510 002CF170 7F 03 C3 78 */ mr r3, r24 /* 802D3514 002CF174 4B EF 3C 55 */ bl _restgpr_24 /* 802D3518 002CF178 80 01 00 34 */ lwz r0, 0x34(r1) /* 802D351C 002CF17C 7C 08 03 A6 */ mtlr r0 /* 802D3520 002CF180 38 21 00 30 */ addi r1, r1, 0x30 /* 802D3524 002CF184 4E 80 00 20 */ blr .global HID_HostCloseDev HID_HostCloseDev: /* 802D3528 002CF188 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D352C 002CF18C 7C 08 02 A6 */ mflr r0 /* 802D3530 002CF190 90 01 00 24 */ stw r0, 0x24(r1) /* 802D3534 002CF194 39 61 00 20 */ addi r11, r1, 0x20 /* 802D3538 002CF198 4B EF 3B F1 */ bl _savegpr_27 /* 802D353C 002CF19C 3F C0 80 57 */ lis r30, lbl_8056B838@ha /* 802D3540 002CF1A0 7C 7B 1B 78 */ mr r27, r3 /* 802D3544 002CF1A4 3B DE B8 38 */ addi r30, r30, lbl_8056B838@l /* 802D3548 002CF1A8 88 1E 04 00 */ lbz r0, 0x400(r30) /* 802D354C 002CF1AC 2C 00 00 00 */ cmpwi r0, 0 /* 802D3550 002CF1B0 40 82 00 0C */ bne lbl_802D355C /* 802D3554 002CF1B4 38 60 00 01 */ li r3, 1 /* 802D3558 002CF1B8 48 00 00 58 */ b lbl_802D35B0 lbl_802D355C: /* 802D355C 002CF1BC 28 03 00 10 */ cmplwi r3, 0x10 /* 802D3560 002CF1C0 41 81 00 18 */ bgt lbl_802D3578 /* 802D3564 002CF1C4 1F 83 00 34 */ mulli r28, r3, 0x34 /* 802D3568 002CF1C8 7C 1E E0 AE */ lbzx r0, r30, r28 /* 802D356C 002CF1CC 7F BE E2 14 */ add r29, r30, r28 /* 802D3570 002CF1D0 2C 00 00 00 */ cmpwi r0, 0 /* 802D3574 002CF1D4 40 82 00 0C */ bne lbl_802D3580 lbl_802D3578: /* 802D3578 002CF1D8 38 60 00 05 */ li r3, 5 /* 802D357C 002CF1DC 48 00 00 34 */ b lbl_802D35B0 lbl_802D3580: /* 802D3580 002CF1E0 3B E0 00 01 */ li r31, 1 /* 802D3584 002CF1E4 38 7D 00 1C */ addi r3, r29, 0x1c /* 802D3588 002CF1E8 9B FD 00 0C */ stb r31, 0xc(r29) /* 802D358C 002CF1EC 4B FE 9F C1 */ bl btu_stop_timer /* 802D3590 002CF1F0 88 1D 00 0A */ lbz r0, 0xa(r29) /* 802D3594 002CF1F4 28 00 00 01 */ cmplwi r0, 1 /* 802D3598 002CF1F8 41 82 00 0C */ beq lbl_802D35A4 /* 802D359C 002CF1FC 38 60 00 04 */ li r3, 4 /* 802D35A0 002CF200 48 00 00 10 */ b lbl_802D35B0 lbl_802D35A4: /* 802D35A4 002CF204 9B FD 00 0C */ stb r31, 0xc(r29) /* 802D35A8 002CF208 7F 63 DB 78 */ mr r3, r27 /* 802D35AC 002CF20C 48 00 03 9D */ bl hidh_conn_disconnect lbl_802D35B0: /* 802D35B0 002CF210 39 61 00 20 */ addi r11, r1, 0x20 /* 802D35B4 002CF214 4B EF 3B C1 */ bl _restgpr_27 /* 802D35B8 002CF218 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D35BC 002CF21C 7C 08 03 A6 */ mtlr r0 /* 802D35C0 002CF220 38 21 00 20 */ addi r1, r1, 0x20 /* 802D35C4 002CF224 4E 80 00 20 */ blr .global HID_HostSetSecurityLevel HID_HostSetSecurityLevel: /* 802D35C8 002CF228 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D35CC 002CF22C 7C 08 02 A6 */ mflr r0 /* 802D35D0 002CF230 38 A0 00 20 */ li r5, 0x20 /* 802D35D4 002CF234 38 E0 00 11 */ li r7, 0x11 /* 802D35D8 002CF238 90 01 00 24 */ stw r0, 0x24(r1) /* 802D35DC 002CF23C 39 00 00 06 */ li r8, 6 /* 802D35E0 002CF240 39 20 00 01 */ li r9, 1 /* 802D35E4 002CF244 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802D35E8 002CF248 3F E0 80 44 */ lis r31, lbl_80442740@ha /* 802D35EC 002CF24C 3B FF 27 40 */ addi r31, r31, lbl_80442740@l /* 802D35F0 002CF250 93 C1 00 18 */ stw r30, 0x18(r1) /* 802D35F4 002CF254 7C 9E 23 78 */ mr r30, r4 /* 802D35F8 002CF258 7F C6 F3 78 */ mr r6, r30 /* 802D35FC 002CF25C 93 A1 00 14 */ stw r29, 0x14(r1) /* 802D3600 002CF260 7C 7D 1B 78 */ mr r29, r3 /* 802D3604 002CF264 38 60 00 00 */ li r3, 0 /* 802D3608 002CF268 7F A4 EB 78 */ mr r4, r29 /* 802D360C 002CF26C 4B FF 74 79 */ bl BTM_SetSecurityLevel /* 802D3610 002CF270 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D3614 002CF274 40 82 00 2C */ bne lbl_802D3640 /* 802D3618 002CF278 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D361C 002CF27C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D3620 002CF280 88 03 04 01 */ lbz r0, 0x401(r3) /* 802D3624 002CF284 28 00 00 01 */ cmplwi r0, 1 /* 802D3628 002CF288 41 80 00 10 */ blt lbl_802D3638 /* 802D362C 002CF28C 38 9F 00 54 */ addi r4, r31, 0x54 /* 802D3630 002CF290 3C 60 00 1E */ lis r3, 0x1e /* 802D3634 002CF294 4B FE 98 DD */ bl LogMsg_0 lbl_802D3638: /* 802D3638 002CF298 38 60 00 03 */ li r3, 3 /* 802D363C 002CF29C 48 00 01 98 */ b lbl_802D37D4 lbl_802D3640: /* 802D3640 002CF2A0 7F A4 EB 78 */ mr r4, r29 /* 802D3644 002CF2A4 7F C6 F3 78 */ mr r6, r30 /* 802D3648 002CF2A8 38 60 00 01 */ li r3, 1 /* 802D364C 002CF2AC 38 A0 00 20 */ li r5, 0x20 /* 802D3650 002CF2B0 38 E0 00 11 */ li r7, 0x11 /* 802D3654 002CF2B4 39 00 00 06 */ li r8, 6 /* 802D3658 002CF2B8 39 20 00 01 */ li r9, 1 /* 802D365C 002CF2BC 4B FF 74 29 */ bl BTM_SetSecurityLevel /* 802D3660 002CF2C0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D3664 002CF2C4 40 82 00 2C */ bne lbl_802D3690 /* 802D3668 002CF2C8 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D366C 002CF2CC 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D3670 002CF2D0 88 03 04 01 */ lbz r0, 0x401(r3) /* 802D3674 002CF2D4 28 00 00 01 */ cmplwi r0, 1 /* 802D3678 002CF2D8 41 80 00 10 */ blt lbl_802D3688 /* 802D367C 002CF2DC 38 9F 00 74 */ addi r4, r31, 0x74 /* 802D3680 002CF2E0 3C 60 00 1E */ lis r3, 0x1e /* 802D3684 002CF2E4 4B FE 98 8D */ bl LogMsg_0 lbl_802D3688: /* 802D3688 002CF2E8 38 60 00 03 */ li r3, 3 /* 802D368C 002CF2EC 48 00 01 48 */ b lbl_802D37D4 lbl_802D3690: /* 802D3690 002CF2F0 7F A4 EB 78 */ mr r4, r29 /* 802D3694 002CF2F4 38 60 00 00 */ li r3, 0 /* 802D3698 002CF2F8 38 A0 00 21 */ li r5, 0x21 /* 802D369C 002CF2FC 38 C0 00 00 */ li r6, 0 /* 802D36A0 002CF300 38 E0 00 11 */ li r7, 0x11 /* 802D36A4 002CF304 39 00 00 06 */ li r8, 6 /* 802D36A8 002CF308 39 20 00 02 */ li r9, 2 /* 802D36AC 002CF30C 4B FF 73 D9 */ bl BTM_SetSecurityLevel /* 802D36B0 002CF310 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D36B4 002CF314 40 82 00 2C */ bne lbl_802D36E0 /* 802D36B8 002CF318 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D36BC 002CF31C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D36C0 002CF320 88 03 04 01 */ lbz r0, 0x401(r3) /* 802D36C4 002CF324 28 00 00 01 */ cmplwi r0, 1 /* 802D36C8 002CF328 41 80 00 10 */ blt lbl_802D36D8 /* 802D36CC 002CF32C 38 9F 00 94 */ addi r4, r31, 0x94 /* 802D36D0 002CF330 3C 60 00 1E */ lis r3, 0x1e /* 802D36D4 002CF334 4B FE 98 3D */ bl LogMsg_0 lbl_802D36D8: /* 802D36D8 002CF338 38 60 00 03 */ li r3, 3 /* 802D36DC 002CF33C 48 00 00 F8 */ b lbl_802D37D4 lbl_802D36E0: /* 802D36E0 002CF340 7F A4 EB 78 */ mr r4, r29 /* 802D36E4 002CF344 38 60 00 01 */ li r3, 1 /* 802D36E8 002CF348 38 A0 00 21 */ li r5, 0x21 /* 802D36EC 002CF34C 38 C0 00 00 */ li r6, 0 /* 802D36F0 002CF350 38 E0 00 11 */ li r7, 0x11 /* 802D36F4 002CF354 39 00 00 06 */ li r8, 6 /* 802D36F8 002CF358 39 20 00 02 */ li r9, 2 /* 802D36FC 002CF35C 4B FF 73 89 */ bl BTM_SetSecurityLevel /* 802D3700 002CF360 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D3704 002CF364 40 82 00 2C */ bne lbl_802D3730 /* 802D3708 002CF368 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D370C 002CF36C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D3710 002CF370 88 03 04 01 */ lbz r0, 0x401(r3) /* 802D3714 002CF374 28 00 00 01 */ cmplwi r0, 1 /* 802D3718 002CF378 41 80 00 10 */ blt lbl_802D3728 /* 802D371C 002CF37C 38 9F 00 B4 */ addi r4, r31, 0xb4 /* 802D3720 002CF380 3C 60 00 1E */ lis r3, 0x1e /* 802D3724 002CF384 4B FE 97 ED */ bl LogMsg_0 lbl_802D3728: /* 802D3728 002CF388 38 60 00 03 */ li r3, 3 /* 802D372C 002CF38C 48 00 00 A8 */ b lbl_802D37D4 lbl_802D3730: /* 802D3730 002CF390 7F A4 EB 78 */ mr r4, r29 /* 802D3734 002CF394 38 60 00 01 */ li r3, 1 /* 802D3738 002CF398 38 A0 00 22 */ li r5, 0x22 /* 802D373C 002CF39C 38 C0 00 00 */ li r6, 0 /* 802D3740 002CF3A0 38 E0 00 13 */ li r7, 0x13 /* 802D3744 002CF3A4 39 00 00 06 */ li r8, 6 /* 802D3748 002CF3A8 39 20 00 00 */ li r9, 0 /* 802D374C 002CF3AC 4B FF 73 39 */ bl BTM_SetSecurityLevel /* 802D3750 002CF3B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D3754 002CF3B4 40 82 00 2C */ bne lbl_802D3780 /* 802D3758 002CF3B8 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D375C 002CF3BC 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D3760 002CF3C0 88 03 04 01 */ lbz r0, 0x401(r3) /* 802D3764 002CF3C4 28 00 00 01 */ cmplwi r0, 1 /* 802D3768 002CF3C8 41 80 00 10 */ blt lbl_802D3778 /* 802D376C 002CF3CC 38 9F 00 D4 */ addi r4, r31, 0xd4 /* 802D3770 002CF3D0 3C 60 00 1E */ lis r3, 0x1e /* 802D3774 002CF3D4 4B FE 97 9D */ bl LogMsg_0 lbl_802D3778: /* 802D3778 002CF3D8 38 60 00 03 */ li r3, 3 /* 802D377C 002CF3DC 48 00 00 58 */ b lbl_802D37D4 lbl_802D3780: /* 802D3780 002CF3E0 7F A4 EB 78 */ mr r4, r29 /* 802D3784 002CF3E4 38 60 00 00 */ li r3, 0 /* 802D3788 002CF3E8 38 A0 00 22 */ li r5, 0x22 /* 802D378C 002CF3EC 38 C0 00 00 */ li r6, 0 /* 802D3790 002CF3F0 38 E0 00 13 */ li r7, 0x13 /* 802D3794 002CF3F4 39 00 00 06 */ li r8, 6 /* 802D3798 002CF3F8 39 20 00 00 */ li r9, 0 /* 802D379C 002CF3FC 4B FF 72 E9 */ bl BTM_SetSecurityLevel /* 802D37A0 002CF400 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D37A4 002CF404 40 82 00 2C */ bne lbl_802D37D0 /* 802D37A8 002CF408 3C 60 80 57 */ lis r3, lbl_8056B838@ha /* 802D37AC 002CF40C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l /* 802D37B0 002CF410 88 03 04 01 */ lbz r0, 0x401(r3) /* 802D37B4 002CF414 28 00 00 01 */ cmplwi r0, 1 /* 802D37B8 002CF418 41 80 00 10 */ blt lbl_802D37C8 /* 802D37BC 002CF41C 38 9F 00 F4 */ addi r4, r31, 0xf4 /* 802D37C0 002CF420 3C 60 00 1E */ lis r3, 0x1e /* 802D37C4 002CF424 4B FE 97 4D */ bl LogMsg_0 lbl_802D37C8: /* 802D37C8 002CF428 38 60 00 03 */ li r3, 3 /* 802D37CC 002CF42C 48 00 00 08 */ b lbl_802D37D4 lbl_802D37D0: /* 802D37D0 002CF430 38 60 00 00 */ li r3, 0 lbl_802D37D4: /* 802D37D4 002CF434 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D37D8 002CF438 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802D37DC 002CF43C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802D37E0 002CF440 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802D37E4 002CF444 7C 08 03 A6 */ mtlr r0 /* 802D37E8 002CF448 38 21 00 20 */ addi r1, r1, 0x20 /* 802D37EC 002CF44C 4E 80 00 20 */ blr