.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global BTM_SecRegister BTM_SecRegister: /* 802CA8B8 002C6518 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CA8BC 002C651C 7C 08 02 A6 */ mflr r0 /* 802CA8C0 002C6520 3C C0 80 57 */ lis r6, lbl_80568B78@ha /* 802CA8C4 002C6524 90 01 00 14 */ stw r0, 0x14(r1) /* 802CA8C8 002C6528 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l /* 802CA8CC 002C652C 80 A3 00 00 */ lwz r5, 0(r3) /* 802CA8D0 002C6530 80 83 00 04 */ lwz r4, 4(r3) /* 802CA8D4 002C6534 88 06 27 C0 */ lbz r0, 0x27c0(r6) /* 802CA8D8 002C6538 90 A6 19 0C */ stw r5, 0x190c(r6) /* 802CA8DC 002C653C 28 00 00 04 */ cmplwi r0, 4 /* 802CA8E0 002C6540 90 86 19 10 */ stw r4, 0x1910(r6) /* 802CA8E4 002C6544 80 83 00 08 */ lwz r4, 8(r3) /* 802CA8E8 002C6548 80 03 00 0C */ lwz r0, 0xc(r3) /* 802CA8EC 002C654C 90 86 19 14 */ stw r4, 0x1914(r6) /* 802CA8F0 002C6550 90 06 19 18 */ stw r0, 0x1918(r6) /* 802CA8F4 002C6554 80 83 00 10 */ lwz r4, 0x10(r3) /* 802CA8F8 002C6558 80 03 00 14 */ lwz r0, 0x14(r3) /* 802CA8FC 002C655C 90 86 19 1C */ stw r4, 0x191c(r6) /* 802CA900 002C6560 90 06 19 20 */ stw r0, 0x1920(r6) /* 802CA904 002C6564 41 80 00 18 */ blt lbl_802CA91C /* 802CA908 002C6568 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CA90C 002C656C 3C 80 80 44 */ lis r4, lbl_80441890@ha /* 802CA910 002C6570 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CA914 002C6574 38 84 18 90 */ addi r4, r4, lbl_80441890@l /* 802CA918 002C6578 4B FF 25 F9 */ bl LogMsg_0 lbl_802CA91C: /* 802CA91C 002C657C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CA920 002C6580 38 60 00 01 */ li r3, 1 /* 802CA924 002C6584 7C 08 03 A6 */ mtlr r0 /* 802CA928 002C6588 38 21 00 10 */ addi r1, r1, 0x10 /* 802CA92C 002C658C 4E 80 00 20 */ blr .global BTM_SecAddRmtNameNotifyCallback BTM_SecAddRmtNameNotifyCallback: /* 802CA930 002C6590 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CA934 002C6594 38 00 00 02 */ li r0, 2 /* 802CA938 002C6598 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CA93C 002C659C 38 A0 00 00 */ li r5, 0 /* 802CA940 002C65A0 7C 09 03 A6 */ mtctr r0 lbl_802CA944: /* 802CA944 002C65A4 80 04 19 2C */ lwz r0, 0x192c(r4) /* 802CA948 002C65A8 2C 00 00 00 */ cmpwi r0, 0 /* 802CA94C 002C65AC 40 82 00 20 */ bne lbl_802CA96C /* 802CA950 002C65B0 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CA954 002C65B4 54 A0 10 3A */ slwi r0, r5, 2 /* 802CA958 002C65B8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CA95C 002C65BC 7C 84 02 14 */ add r4, r4, r0 /* 802CA960 002C65C0 90 64 19 2C */ stw r3, 0x192c(r4) /* 802CA964 002C65C4 38 60 00 01 */ li r3, 1 /* 802CA968 002C65C8 4E 80 00 20 */ blr lbl_802CA96C: /* 802CA96C 002C65CC 38 84 00 04 */ addi r4, r4, 4 /* 802CA970 002C65D0 38 A5 00 01 */ addi r5, r5, 1 /* 802CA974 002C65D4 42 00 FF D0 */ bdnz lbl_802CA944 /* 802CA978 002C65D8 38 60 00 00 */ li r3, 0 /* 802CA97C 002C65DC 4E 80 00 20 */ blr .global BTM_SecDeleteRmtNameNotifyCallback BTM_SecDeleteRmtNameNotifyCallback: /* 802CA980 002C65E0 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CA984 002C65E4 38 00 00 02 */ li r0, 2 /* 802CA988 002C65E8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CA98C 002C65EC 38 A0 00 00 */ li r5, 0 /* 802CA990 002C65F0 7C 09 03 A6 */ mtctr r0 lbl_802CA994: /* 802CA994 002C65F4 80 04 19 2C */ lwz r0, 0x192c(r4) /* 802CA998 002C65F8 7C 00 18 40 */ cmplw r0, r3 /* 802CA99C 002C65FC 40 82 00 24 */ bne lbl_802CA9C0 /* 802CA9A0 002C6600 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CA9A4 002C6604 54 A0 10 3A */ slwi r0, r5, 2 /* 802CA9A8 002C6608 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CA9AC 002C660C 38 A0 00 00 */ li r5, 0 /* 802CA9B0 002C6610 7C 83 02 14 */ add r4, r3, r0 /* 802CA9B4 002C6614 90 A4 19 2C */ stw r5, 0x192c(r4) /* 802CA9B8 002C6618 38 60 00 01 */ li r3, 1 /* 802CA9BC 002C661C 4E 80 00 20 */ blr lbl_802CA9C0: /* 802CA9C0 002C6620 38 84 00 04 */ addi r4, r4, 4 /* 802CA9C4 002C6624 38 A5 00 01 */ addi r5, r5, 1 /* 802CA9C8 002C6628 42 00 FF CC */ bdnz lbl_802CA994 /* 802CA9CC 002C662C 38 60 00 00 */ li r3, 0 /* 802CA9D0 002C6630 4E 80 00 20 */ blr .global BTM_SetPinType BTM_SetPinType: /* 802CA9D4 002C6634 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CA9D8 002C6638 7C 08 02 A6 */ mflr r0 /* 802CA9DC 002C663C 3C C0 80 57 */ lis r6, lbl_80568B78@ha /* 802CA9E0 002C6640 90 01 00 24 */ stw r0, 0x24(r1) /* 802CA9E4 002C6644 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l /* 802CA9E8 002C6648 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CA9EC 002C664C 7C BF 2B 78 */ mr r31, r5 /* 802CA9F0 002C6650 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CA9F4 002C6654 7C 9E 23 78 */ mr r30, r4 /* 802CA9F8 002C6658 93 A1 00 14 */ stw r29, 0x14(r1) /* 802CA9FC 002C665C 7C 7D 1B 78 */ mr r29, r3 /* 802CAA00 002C6660 88 06 27 C0 */ lbz r0, 0x27c0(r6) /* 802CAA04 002C6664 28 00 00 03 */ cmplwi r0, 3 /* 802CAA08 002C6668 41 80 00 24 */ blt lbl_802CAA2C /* 802CAA0C 002C666C 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802CAA10 002C6670 3C 80 80 44 */ lis r4, lbl_80441928@ha /* 802CAA14 002C6674 7F A5 EB 78 */ mr r5, r29 /* 802CAA18 002C6678 7F C6 F3 78 */ mr r6, r30 /* 802CAA1C 002C667C 7F E7 FB 78 */ mr r7, r31 /* 802CAA20 002C6680 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802CAA24 002C6684 38 84 19 28 */ addi r4, r4, lbl_80441928@l /* 802CAA28 002C6688 4B FF 25 31 */ bl LogMsg_3 lbl_802CAA2C: /* 802CAA2C 002C668C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CAA30 002C6690 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CAA34 002C6694 88 03 06 4E */ lbz r0, 0x64e(r3) /* 802CAA38 002C6698 28 00 00 01 */ cmplwi r0, 1 /* 802CAA3C 002C669C 40 81 00 0C */ ble lbl_802CAA48 /* 802CAA40 002C66A0 7F A3 EB 78 */ mr r3, r29 /* 802CAA44 002C66A4 48 00 6A 41 */ bl btsnd_hcic_write_pin_type lbl_802CAA48: /* 802CAA48 002C66A8 3C C0 80 57 */ lis r6, lbl_80568B78@ha /* 802CAA4C 002C66AC 7F C4 F3 78 */ mr r4, r30 /* 802CAA50 002C66B0 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l /* 802CAA54 002C66B4 7F E5 FB 78 */ mr r5, r31 /* 802CAA58 002C66B8 9B A6 00 20 */ stb r29, 0x20(r6) /* 802CAA5C 002C66BC 38 66 00 22 */ addi r3, r6, 0x22 /* 802CAA60 002C66C0 9B E6 00 21 */ stb r31, 0x21(r6) /* 802CAA64 002C66C4 4B D3 95 9D */ bl memcpy /* 802CAA68 002C66C8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CAA6C 002C66CC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CAA70 002C66D0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CAA74 002C66D4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802CAA78 002C66D8 7C 08 03 A6 */ mtlr r0 /* 802CAA7C 002C66DC 38 21 00 20 */ addi r1, r1, 0x20 /* 802CAA80 002C66E0 4E 80 00 20 */ blr .global BTM_SetSecurityLevel BTM_SetSecurityLevel: /* 802CAA84 002C66E4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802CAA88 002C66E8 7C 08 02 A6 */ mflr r0 /* 802CAA8C 002C66EC 90 01 00 44 */ stw r0, 0x44(r1) /* 802CAA90 002C66F0 39 61 00 40 */ addi r11, r1, 0x40 /* 802CAA94 002C66F4 4B EF C6 79 */ bl _savegpr_20 /* 802CAA98 002C66F8 3D 40 80 57 */ lis r10, lbl_80568B78@ha /* 802CAA9C 002C66FC 3F E0 80 44 */ lis r31, lbl_80441890@ha /* 802CAAA0 002C6700 39 4A 8B 78 */ addi r10, r10, lbl_80568B78@l /* 802CAAA4 002C6704 3D 60 00 01 */ lis r11, 0x0000FFFF@ha /* 802CAAA8 002C6708 7C 74 1B 78 */ mr r20, r3 /* 802CAAAC 002C670C 7C 95 23 78 */ mr r21, r4 /* 802CAAB0 002C6710 7C B6 2B 78 */ mr r22, r5 /* 802CAAB4 002C6714 7C D7 33 78 */ mr r23, r6 /* 802CAAB8 002C6718 7C F8 3B 78 */ mr r24, r7 /* 802CAABC 002C671C 7D 19 43 78 */ mr r25, r8 /* 802CAAC0 002C6720 7D 3A 4B 78 */ mr r26, r9 /* 802CAAC4 002C6724 3B FF 18 90 */ addi r31, r31, lbl_80441890@l /* 802CAAC8 002C6728 3B 8B FF FF */ addi r28, r11, 0x0000FFFF@l /* 802CAACC 002C672C 3B CA 19 90 */ addi r30, r10, 0x1990 /* 802CAAD0 002C6730 3B 60 00 00 */ li r27, 0 /* 802CAAD4 002C6734 3B A0 00 00 */ li r29, 0 lbl_802CAAD8: /* 802CAAD8 002C6738 88 1E 00 0E */ lbz r0, 0xe(r30) /* 802CAADC 002C673C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CAAE0 002C6740 41 82 00 60 */ beq lbl_802CAB40 /* 802CAAE4 002C6744 A0 1E 00 0C */ lhz r0, 0xc(r30) /* 802CAAE8 002C6748 7C 00 C0 40 */ cmplw r0, r24 /* 802CAAEC 002C674C 40 82 00 64 */ bne lbl_802CAB50 /* 802CAAF0 002C6750 80 1E 00 00 */ lwz r0, 0(r30) /* 802CAAF4 002C6754 7C 00 C8 40 */ cmplw r0, r25 /* 802CAAF8 002C6758 40 82 00 58 */ bne lbl_802CAB50 /* 802CAAFC 002C675C 88 1E 00 0F */ lbz r0, 0xf(r30) /* 802CAB00 002C6760 7C 16 00 40 */ cmplw r22, r0 /* 802CAB04 002C6764 40 82 00 4C */ bne lbl_802CAB50 /* 802CAB08 002C6768 7E A3 AB 78 */ mr r3, r21 /* 802CAB0C 002C676C 38 9E 00 10 */ addi r4, r30, 0x10 /* 802CAB10 002C6770 38 A0 00 15 */ li r5, 0x15 /* 802CAB14 002C6774 4B F0 3A 55 */ bl strncmp /* 802CAB18 002C6778 2C 03 00 00 */ cmpwi r3, 0 /* 802CAB1C 002C677C 41 82 00 1C */ beq lbl_802CAB38 /* 802CAB20 002C6780 7E A3 AB 78 */ mr r3, r21 /* 802CAB24 002C6784 38 9E 00 26 */ addi r4, r30, 0x26 /* 802CAB28 002C6788 38 A0 00 15 */ li r5, 0x15 /* 802CAB2C 002C678C 4B F0 3A 3D */ bl strncmp /* 802CAB30 002C6790 2C 03 00 00 */ cmpwi r3, 0 /* 802CAB34 002C6794 40 82 00 1C */ bne lbl_802CAB50 lbl_802CAB38: /* 802CAB38 002C6798 3B 60 00 01 */ li r27, 1 /* 802CAB3C 002C679C 48 00 00 24 */ b lbl_802CAB60 lbl_802CAB40: /* 802CAB40 002C67A0 2C 1B 00 00 */ cmpwi r27, 0 /* 802CAB44 002C67A4 40 82 00 0C */ bne lbl_802CAB50 /* 802CAB48 002C67A8 3B 60 00 01 */ li r27, 1 /* 802CAB4C 002C67AC 7F BC EB 78 */ mr r28, r29 lbl_802CAB50: /* 802CAB50 002C67B0 3B BD 00 01 */ addi r29, r29, 1 /* 802CAB54 002C67B4 3B DE 00 3C */ addi r30, r30, 0x3c /* 802CAB58 002C67B8 28 1D 00 18 */ cmplwi r29, 0x18 /* 802CAB5C 002C67BC 41 80 FF 7C */ blt lbl_802CAAD8 lbl_802CAB60: /* 802CAB60 002C67C0 2C 1B 00 00 */ cmpwi r27, 0 /* 802CAB64 002C67C4 41 82 01 04 */ beq lbl_802CAC68 /* 802CAB68 002C67C8 57 A0 04 3E */ clrlwi r0, r29, 0x10 /* 802CAB6C 002C67CC 28 00 00 18 */ cmplwi r0, 0x18 /* 802CAB70 002C67D0 41 80 00 20 */ blt lbl_802CAB90 /* 802CAB74 002C67D4 57 80 04 3E */ clrlwi r0, r28, 0x10 /* 802CAB78 002C67D8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CAB7C 002C67DC 1C 00 00 3C */ mulli r0, r0, 0x3c /* 802CAB80 002C67E0 7F 9D E3 78 */ mr r29, r28 /* 802CAB84 002C67E4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CAB88 002C67E8 7C 63 02 14 */ add r3, r3, r0 /* 802CAB8C 002C67EC 3B C3 19 90 */ addi r30, r3, 0x1990 lbl_802CAB90: /* 802CAB90 002C67F0 B3 1E 00 0C */ sth r24, 0xc(r30) /* 802CAB94 002C67F4 2C 14 00 00 */ cmpwi r20, 0 /* 802CAB98 002C67F8 9A DE 00 0F */ stb r22, 0xf(r30) /* 802CAB9C 002C67FC 93 3E 00 00 */ stw r25, 0(r30) /* 802CABA0 002C6800 41 82 00 28 */ beq lbl_802CABC8 /* 802CABA4 002C6804 93 5E 00 04 */ stw r26, 4(r30) /* 802CABA8 002C6808 7E A4 AB 78 */ mr r4, r21 /* 802CABAC 002C680C 38 7E 00 10 */ addi r3, r30, 0x10 /* 802CABB0 002C6810 38 A0 00 15 */ li r5, 0x15 /* 802CABB4 002C6814 88 1E 00 0E */ lbz r0, 0xe(r30) /* 802CABB8 002C6818 54 00 07 72 */ rlwinm r0, r0, 0, 0x1d, 0x19 /* 802CABBC 002C681C 98 1E 00 0E */ stb r0, 0xe(r30) /* 802CABC0 002C6820 4B F0 37 D1 */ bl strncpy /* 802CABC4 002C6824 48 00 00 24 */ b lbl_802CABE8 lbl_802CABC8: /* 802CABC8 002C6828 93 5E 00 08 */ stw r26, 8(r30) /* 802CABCC 002C682C 7E A4 AB 78 */ mr r4, r21 /* 802CABD0 002C6830 38 7E 00 26 */ addi r3, r30, 0x26 /* 802CABD4 002C6834 38 A0 00 15 */ li r5, 0x15 /* 802CABD8 002C6838 88 1E 00 0E */ lbz r0, 0xe(r30) /* 802CABDC 002C683C 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c /* 802CABE0 002C6840 98 1E 00 0E */ stb r0, 0xe(r30) /* 802CABE4 002C6844 4B F0 37 AD */ bl strncpy lbl_802CABE8: /* 802CABE8 002C6848 88 9E 00 0E */ lbz r4, 0xe(r30) /* 802CABEC 002C684C 62 E0 00 80 */ ori r0, r23, 0x80 /* 802CABF0 002C6850 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CABF4 002C6854 7C 80 03 78 */ or r0, r4, r0 /* 802CABF8 002C6858 98 1E 00 0E */ stb r0, 0xe(r30) /* 802CABFC 002C685C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CAC00 002C6860 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CAC04 002C6864 28 00 00 03 */ cmplwi r0, 3 /* 802CAC08 002C6868 41 80 00 2C */ blt lbl_802CAC34 /* 802CAC0C 002C686C 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802CAC10 002C6870 7E C6 B3 78 */ mr r6, r22 /* 802CAC14 002C6874 7E 87 A3 78 */ mr r7, r20 /* 802CAC18 002C6878 7F 08 C3 78 */ mr r8, r24 /* 802CAC1C 002C687C 7F 29 CB 78 */ mr r9, r25 /* 802CAC20 002C6880 7F 4A D3 78 */ mr r10, r26 /* 802CAC24 002C6884 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802CAC28 002C6888 38 9F 00 E0 */ addi r4, r31, 0xe0 /* 802CAC2C 002C688C 57 A5 04 3E */ clrlwi r5, r29, 0x10 /* 802CAC30 002C6890 4B FF 23 71 */ bl LogMsg_6 lbl_802CAC34: /* 802CAC34 002C6894 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CAC38 002C6898 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CAC3C 002C689C 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CAC40 002C68A0 28 00 00 03 */ cmplwi r0, 3 /* 802CAC44 002C68A4 41 80 00 4C */ blt lbl_802CAC90 /* 802CAC48 002C68A8 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802CAC4C 002C68AC 88 BE 00 0E */ lbz r5, 0xe(r30) /* 802CAC50 002C68B0 7E A6 AB 78 */ mr r6, r21 /* 802CAC54 002C68B4 38 9F 01 28 */ addi r4, r31, 0x128 /* 802CAC58 002C68B8 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802CAC5C 002C68BC 38 E0 00 15 */ li r7, 0x15 /* 802CAC60 002C68C0 4B FF 22 F9 */ bl LogMsg_3 /* 802CAC64 002C68C4 48 00 00 2C */ b lbl_802CAC90 lbl_802CAC68: /* 802CAC68 002C68C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CAC6C 002C68CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CAC70 002C68D0 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CAC74 002C68D4 28 00 00 02 */ cmplwi r0, 2 /* 802CAC78 002C68D8 41 80 00 18 */ blt lbl_802CAC90 /* 802CAC7C 002C68DC 3C 60 00 0D */ lis r3, 0x000D0001@ha /* 802CAC80 002C68E0 38 9F 01 70 */ addi r4, r31, 0x170 /* 802CAC84 002C68E4 38 63 00 01 */ addi r3, r3, 0x000D0001@l /* 802CAC88 002C68E8 38 A0 00 18 */ li r5, 0x18 /* 802CAC8C 002C68EC 4B FF 22 9D */ bl LogMsg_1 lbl_802CAC90: /* 802CAC90 002C68F0 39 61 00 40 */ addi r11, r1, 0x40 /* 802CAC94 002C68F4 7F 63 DB 78 */ mr r3, r27 /* 802CAC98 002C68F8 4B EF C4 C1 */ bl _restgpr_20 /* 802CAC9C 002C68FC 80 01 00 44 */ lwz r0, 0x44(r1) /* 802CACA0 002C6900 7C 08 03 A6 */ mtlr r0 /* 802CACA4 002C6904 38 21 00 40 */ addi r1, r1, 0x40 /* 802CACA8 002C6908 4E 80 00 20 */ blr .global BTM_PINCodeReply BTM_PINCodeReply: /* 802CACAC 002C690C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802CACB0 002C6910 7C 08 02 A6 */ mflr r0 /* 802CACB4 002C6914 90 01 00 34 */ stw r0, 0x34(r1) /* 802CACB8 002C6918 39 61 00 30 */ addi r11, r1, 0x30 /* 802CACBC 002C691C 4B EF C4 65 */ bl _savegpr_25 /* 802CACC0 002C6920 3F C0 80 57 */ lis r30, lbl_80568B78@ha /* 802CACC4 002C6924 7C 79 1B 78 */ mr r25, r3 /* 802CACC8 002C6928 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l /* 802CACCC 002C692C 7C 9A 23 78 */ mr r26, r4 /* 802CACD0 002C6930 80 1E 19 4C */ lwz r0, 0x194c(r30) /* 802CACD4 002C6934 7C BB 2B 78 */ mr r27, r5 /* 802CACD8 002C6938 7C DC 33 78 */ mr r28, r6 /* 802CACDC 002C693C 7C FD 3B 78 */ mr r29, r7 /* 802CACE0 002C6940 2C 00 00 00 */ cmpwi r0, 0 /* 802CACE4 002C6944 41 82 00 74 */ beq lbl_802CAD58 /* 802CACE8 002C6948 38 7E 19 3C */ addi r3, r30, 0x193c /* 802CACEC 002C694C 4B FF 28 61 */ bl btu_stop_timer /* 802CACF0 002C6950 3B E0 00 00 */ li r31, 0 /* 802CACF4 002C6954 38 7E 19 54 */ addi r3, r30, 0x1954 /* 802CACF8 002C6958 93 FE 19 4C */ stw r31, 0x194c(r30) /* 802CACFC 002C695C 38 80 00 FF */ li r4, 0xff /* 802CAD00 002C6960 38 A0 00 06 */ li r5, 6 /* 802CAD04 002C6964 4B D3 94 01 */ bl memset /* 802CAD08 002C6968 2C 1A 00 00 */ cmpwi r26, 0 /* 802CAD0C 002C696C 41 82 00 18 */ beq lbl_802CAD24 /* 802CAD10 002C6970 38 00 00 0E */ li r0, 0xe /* 802CAD14 002C6974 7F 23 CB 78 */ mr r3, r25 /* 802CAD18 002C6978 98 1E 27 BF */ stb r0, 0x27bf(r30) /* 802CAD1C 002C697C 48 00 59 69 */ bl btsnd_hcic_pin_code_neg_reply /* 802CAD20 002C6980 48 00 00 38 */ b lbl_802CAD58 lbl_802CAD24: /* 802CAD24 002C6984 9B FE 27 BF */ stb r31, 0x27bf(r30) /* 802CAD28 002C6988 7F 23 CB 78 */ mr r3, r25 /* 802CAD2C 002C698C 7F 64 DB 78 */ mr r4, r27 /* 802CAD30 002C6990 7F 85 E3 78 */ mr r5, r28 /* 802CAD34 002C6994 48 00 57 6D */ bl btsnd_hcic_pin_code_req_reply /* 802CAD38 002C6998 7F 23 CB 78 */ mr r3, r25 /* 802CAD3C 002C699C 4B FF A8 E1 */ bl btm_find_dev /* 802CAD40 002C69A0 2C 03 00 00 */ cmpwi r3, 0 /* 802CAD44 002C69A4 41 82 00 14 */ beq lbl_802CAD58 /* 802CAD48 002C69A8 80 1D 00 00 */ lwz r0, 0(r29) /* 802CAD4C 002C69AC 90 03 00 10 */ stw r0, 0x10(r3) /* 802CAD50 002C69B0 80 1D 00 04 */ lwz r0, 4(r29) /* 802CAD54 002C69B4 90 03 00 14 */ stw r0, 0x14(r3) lbl_802CAD58: /* 802CAD58 002C69B8 39 61 00 30 */ addi r11, r1, 0x30 /* 802CAD5C 002C69BC 4B EF C4 11 */ bl _restgpr_25 /* 802CAD60 002C69C0 80 01 00 34 */ lwz r0, 0x34(r1) /* 802CAD64 002C69C4 7C 08 03 A6 */ mtlr r0 /* 802CAD68 002C69C8 38 21 00 30 */ addi r1, r1, 0x30 /* 802CAD6C 002C69CC 4E 80 00 20 */ blr .global BTM_DeviceAuthorized BTM_DeviceAuthorized: /* 802CAD70 002C69D0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CAD74 002C69D4 7C 08 02 A6 */ mflr r0 /* 802CAD78 002C69D8 90 01 00 24 */ stw r0, 0x24(r1) /* 802CAD7C 002C69DC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CAD80 002C69E0 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CAD84 002C69E4 7C 7E 1B 78 */ mr r30, r3 /* 802CAD88 002C69E8 93 A1 00 14 */ stw r29, 0x14(r1) /* 802CAD8C 002C69EC 7C BD 2B 78 */ mr r29, r5 /* 802CAD90 002C69F0 93 81 00 10 */ stw r28, 0x10(r1) /* 802CAD94 002C69F4 7C 9C 23 78 */ mr r28, r4 /* 802CAD98 002C69F8 4B FF A8 85 */ bl btm_find_dev /* 802CAD9C 002C69FC 2C 83 00 00 */ cmpwi cr1, r3, 0 /* 802CADA0 002C6A00 7C 7F 1B 78 */ mr r31, r3 /* 802CADA4 002C6A04 40 86 00 48 */ bne cr1, lbl_802CADEC /* 802CADA8 002C6A08 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CADAC 002C6A0C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CADB0 002C6A10 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CADB4 002C6A14 28 00 00 02 */ cmplwi r0, 2 /* 802CADB8 002C6A18 41 80 01 74 */ blt lbl_802CAF2C /* 802CADBC 002C6A1C 3C 60 00 0D */ lis r3, 0x000D0001@ha /* 802CADC0 002C6A20 3C 80 80 44 */ lis r4, lbl_80441A30@ha /* 802CADC4 002C6A24 88 BE 00 00 */ lbz r5, 0(r30) /* 802CADC8 002C6A28 38 63 00 01 */ addi r3, r3, 0x000D0001@l /* 802CADCC 002C6A2C 88 DE 00 01 */ lbz r6, 1(r30) /* 802CADD0 002C6A30 38 84 1A 30 */ addi r4, r4, lbl_80441A30@l /* 802CADD4 002C6A34 88 FE 00 02 */ lbz r7, 2(r30) /* 802CADD8 002C6A38 89 1E 00 03 */ lbz r8, 3(r30) /* 802CADDC 002C6A3C 89 3E 00 04 */ lbz r9, 4(r30) /* 802CADE0 002C6A40 89 5E 00 05 */ lbz r10, 5(r30) /* 802CADE4 002C6A44 4B FF 21 BD */ bl LogMsg_6 /* 802CADE8 002C6A48 48 00 01 44 */ b lbl_802CAF2C lbl_802CADEC: /* 802CADEC 002C6A4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CADF0 002C6A50 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CADF4 002C6A54 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CADF8 002C6A58 28 00 00 04 */ cmplwi r0, 4 /* 802CADFC 002C6A5C 41 80 00 2C */ blt lbl_802CAE28 /* 802CAE00 002C6A60 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CAE04 002C6A64 3C 80 80 44 */ lis r4, lbl_80441A90@ha /* 802CAE08 002C6A68 7F 85 E3 78 */ mr r5, r28 /* 802CAE0C 002C6A6C 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CAE10 002C6A70 38 84 1A 90 */ addi r4, r4, lbl_80441A90@l /* 802CAE14 002C6A74 41 86 00 0C */ beq cr1, lbl_802CAE20 /* 802CAE18 002C6A78 88 DF 00 7F */ lbz r6, 0x7f(r31) /* 802CAE1C 002C6A7C 48 00 00 08 */ b lbl_802CAE24 lbl_802CAE20: /* 802CAE20 002C6A80 38 C0 00 00 */ li r6, 0 lbl_802CAE24: /* 802CAE24 002C6A84 4B FF 21 1D */ bl LogMsg_2 lbl_802CAE28: /* 802CAE28 002C6A88 2C 1C 00 00 */ cmpwi r28, 0 /* 802CAE2C 002C6A8C 40 82 00 20 */ bne lbl_802CAE4C /* 802CAE30 002C6A90 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CAE34 002C6A94 60 00 00 01 */ ori r0, r0, 1 /* 802CAE38 002C6A98 98 1F 00 76 */ stb r0, 0x76(r31) /* 802CAE3C 002C6A9C 80 1D 00 00 */ lwz r0, 0(r29) /* 802CAE40 002C6AA0 90 1F 00 10 */ stw r0, 0x10(r31) /* 802CAE44 002C6AA4 80 1D 00 04 */ lwz r0, 4(r29) /* 802CAE48 002C6AA8 90 1F 00 14 */ stw r0, 0x14(r31) lbl_802CAE4C: /* 802CAE4C 002C6AAC 88 1F 00 7F */ lbz r0, 0x7f(r31) /* 802CAE50 002C6AB0 28 00 00 04 */ cmplwi r0, 4 /* 802CAE54 002C6AB4 40 82 00 D8 */ bne lbl_802CAF2C /* 802CAE58 002C6AB8 3B A0 00 00 */ li r29, 0 /* 802CAE5C 002C6ABC 2C 1C 00 00 */ cmpwi r28, 0 /* 802CAE60 002C6AC0 9B BF 00 7F */ stb r29, 0x7f(r31) /* 802CAE64 002C6AC4 41 82 00 5C */ beq lbl_802CAEC0 /* 802CAE68 002C6AC8 80 1F 00 04 */ lwz r0, 4(r31) /* 802CAE6C 002C6ACC 2C 00 00 00 */ cmpwi r0, 0 /* 802CAE70 002C6AD0 41 82 00 BC */ beq lbl_802CAF2C /* 802CAE74 002C6AD4 88 1F 00 80 */ lbz r0, 0x80(r31) /* 802CAE78 002C6AD8 2C 00 00 00 */ cmpwi r0, 0 /* 802CAE7C 002C6ADC 41 82 00 20 */ beq lbl_802CAE9C /* 802CAE80 002C6AE0 80 7F 00 00 */ lwz r3, 0(r31) /* 802CAE84 002C6AE4 2C 03 00 00 */ cmpwi r3, 0 /* 802CAE88 002C6AE8 41 82 00 14 */ beq lbl_802CAE9C /* 802CAE8C 002C6AEC 80 03 00 00 */ lwz r0, 0(r3) /* 802CAE90 002C6AF0 28 00 00 03 */ cmplwi r0, 3 /* 802CAE94 002C6AF4 40 82 00 08 */ bne lbl_802CAE9C /* 802CAE98 002C6AF8 93 A3 00 04 */ stw r29, 4(r3) lbl_802CAE9C: /* 802CAE9C 002C6AFC 81 9F 00 04 */ lwz r12, 4(r31) /* 802CAEA0 002C6B00 7F C3 F3 78 */ mr r3, r30 /* 802CAEA4 002C6B04 7F 85 E3 78 */ mr r5, r28 /* 802CAEA8 002C6B08 80 9F 00 08 */ lwz r4, 8(r31) /* 802CAEAC 002C6B0C 7D 89 03 A6 */ mtctr r12 /* 802CAEB0 002C6B10 4E 80 04 21 */ bctrl /* 802CAEB4 002C6B14 38 00 00 00 */ li r0, 0 /* 802CAEB8 002C6B18 90 1F 00 04 */ stw r0, 4(r31) /* 802CAEBC 002C6B1C 48 00 00 70 */ b lbl_802CAF2C lbl_802CAEC0: /* 802CAEC0 002C6B20 7F E3 FB 78 */ mr r3, r31 /* 802CAEC4 002C6B24 48 00 23 A9 */ bl btm_sec_execute_procedure /* 802CAEC8 002C6B28 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802CAECC 002C6B2C 7C 64 1B 78 */ mr r4, r3 /* 802CAED0 002C6B30 28 00 00 01 */ cmplwi r0, 1 /* 802CAED4 002C6B34 41 82 00 58 */ beq lbl_802CAF2C /* 802CAED8 002C6B38 80 1F 00 04 */ lwz r0, 4(r31) /* 802CAEDC 002C6B3C 2C 00 00 00 */ cmpwi r0, 0 /* 802CAEE0 002C6B40 41 82 00 4C */ beq lbl_802CAF2C /* 802CAEE4 002C6B44 88 1F 00 80 */ lbz r0, 0x80(r31) /* 802CAEE8 002C6B48 2C 00 00 00 */ cmpwi r0, 0 /* 802CAEEC 002C6B4C 41 82 00 20 */ beq lbl_802CAF0C /* 802CAEF0 002C6B50 80 7F 00 00 */ lwz r3, 0(r31) /* 802CAEF4 002C6B54 2C 03 00 00 */ cmpwi r3, 0 /* 802CAEF8 002C6B58 41 82 00 14 */ beq lbl_802CAF0C /* 802CAEFC 002C6B5C 80 03 00 00 */ lwz r0, 0(r3) /* 802CAF00 002C6B60 28 00 00 03 */ cmplwi r0, 3 /* 802CAF04 002C6B64 40 82 00 08 */ bne lbl_802CAF0C /* 802CAF08 002C6B68 93 A3 00 04 */ stw r29, 4(r3) lbl_802CAF0C: /* 802CAF0C 002C6B6C 81 9F 00 04 */ lwz r12, 4(r31) /* 802CAF10 002C6B70 54 85 06 3E */ clrlwi r5, r4, 0x18 /* 802CAF14 002C6B74 7F C3 F3 78 */ mr r3, r30 /* 802CAF18 002C6B78 80 9F 00 08 */ lwz r4, 8(r31) /* 802CAF1C 002C6B7C 7D 89 03 A6 */ mtctr r12 /* 802CAF20 002C6B80 4E 80 04 21 */ bctrl /* 802CAF24 002C6B84 38 00 00 00 */ li r0, 0 /* 802CAF28 002C6B88 90 1F 00 04 */ stw r0, 4(r31) lbl_802CAF2C: /* 802CAF2C 002C6B8C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CAF30 002C6B90 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CAF34 002C6B94 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CAF38 002C6B98 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802CAF3C 002C6B9C 83 81 00 10 */ lwz r28, 0x10(r1) /* 802CAF40 002C6BA0 7C 08 03 A6 */ mtlr r0 /* 802CAF44 002C6BA4 38 21 00 20 */ addi r1, r1, 0x20 /* 802CAF48 002C6BA8 4E 80 00 20 */ blr .global BTM_SecBond BTM_SecBond: /* 802CAF4C 002C6BAC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CAF50 002C6BB0 7C 08 02 A6 */ mflr r0 /* 802CAF54 002C6BB4 90 01 00 24 */ stw r0, 0x24(r1) /* 802CAF58 002C6BB8 39 61 00 20 */ addi r11, r1, 0x20 /* 802CAF5C 002C6BBC 4B EF C1 C9 */ bl _savegpr_26 /* 802CAF60 002C6BC0 3C E0 80 57 */ lis r7, lbl_80568B78@ha /* 802CAF64 002C6BC4 3F E0 80 44 */ lis r31, lbl_80441890@ha /* 802CAF68 002C6BC8 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l /* 802CAF6C 002C6BCC 7C 7C 1B 78 */ mr r28, r3 /* 802CAF70 002C6BD0 88 07 27 C0 */ lbz r0, 0x27c0(r7) /* 802CAF74 002C6BD4 7C 9D 23 78 */ mr r29, r4 /* 802CAF78 002C6BD8 7C BA 2B 78 */ mr r26, r5 /* 802CAF7C 002C6BDC 7C DB 33 78 */ mr r27, r6 /* 802CAF80 002C6BE0 28 00 00 03 */ cmplwi r0, 3 /* 802CAF84 002C6BE4 3B FF 18 90 */ addi r31, r31, lbl_80441890@l /* 802CAF88 002C6BE8 41 80 00 2C */ blt lbl_802CAFB4 /* 802CAF8C 002C6BEC 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802CAF90 002C6BF0 88 BC 00 00 */ lbz r5, 0(r28) /* 802CAF94 002C6BF4 88 DC 00 01 */ lbz r6, 1(r28) /* 802CAF98 002C6BF8 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802CAF9C 002C6BFC 88 FC 00 02 */ lbz r7, 2(r28) /* 802CAFA0 002C6C00 38 9F 02 30 */ addi r4, r31, 0x230 /* 802CAFA4 002C6C04 89 1C 00 03 */ lbz r8, 3(r28) /* 802CAFA8 002C6C08 89 3C 00 04 */ lbz r9, 4(r28) /* 802CAFAC 002C6C0C 89 5C 00 05 */ lbz r10, 5(r28) /* 802CAFB0 002C6C10 4B FF 1F F1 */ bl LogMsg_6 lbl_802CAFB4: /* 802CAFB4 002C6C14 28 1D 00 10 */ cmplwi r29, 0x10 /* 802CAFB8 002C6C18 40 81 00 30 */ ble lbl_802CAFE8 /* 802CAFBC 002C6C1C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CAFC0 002C6C20 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CAFC4 002C6C24 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CAFC8 002C6C28 28 00 00 01 */ cmplwi r0, 1 /* 802CAFCC 002C6C2C 41 80 00 14 */ blt lbl_802CAFE0 /* 802CAFD0 002C6C30 7F A5 EB 78 */ mr r5, r29 /* 802CAFD4 002C6C34 38 9F 02 60 */ addi r4, r31, 0x260 /* 802CAFD8 002C6C38 3C 60 00 0D */ lis r3, 0xd /* 802CAFDC 002C6C3C 4B FF 1F 4D */ bl LogMsg_1 lbl_802CAFE0: /* 802CAFE0 002C6C40 38 60 00 05 */ li r3, 5 /* 802CAFE4 002C6C44 48 00 03 1C */ b lbl_802CB300 lbl_802CAFE8: /* 802CAFE8 002C6C48 7F 83 E3 78 */ mr r3, r28 /* 802CAFEC 002C6C4C 4B FF A6 31 */ bl btm_find_dev /* 802CAFF0 002C6C50 2C 03 00 00 */ cmpwi r3, 0 /* 802CAFF4 002C6C54 7C 7E 1B 78 */ mr r30, r3 /* 802CAFF8 002C6C58 40 82 00 40 */ bne lbl_802CB038 /* 802CAFFC 002C6C5C 7F 83 E3 78 */ mr r3, r28 /* 802CB000 002C6C60 4B FF A4 45 */ bl btm_sec_alloc_dev /* 802CB004 002C6C64 2C 03 00 00 */ cmpwi r3, 0 /* 802CB008 002C6C68 7C 7E 1B 78 */ mr r30, r3 /* 802CB00C 002C6C6C 40 82 00 2C */ bne lbl_802CB038 /* 802CB010 002C6C70 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB014 002C6C74 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB018 002C6C78 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB01C 002C6C7C 28 00 00 01 */ cmplwi r0, 1 /* 802CB020 002C6C80 41 80 00 10 */ blt lbl_802CB030 /* 802CB024 002C6C84 38 9F 02 80 */ addi r4, r31, 0x280 /* 802CB028 002C6C88 3C 60 00 0D */ lis r3, 0xd /* 802CB02C 002C6C8C 4B FF 1E E5 */ bl LogMsg_0 lbl_802CB030: /* 802CB030 002C6C90 38 60 00 03 */ li r3, 3 /* 802CB034 002C6C94 48 00 02 CC */ b lbl_802CB300 lbl_802CB038: /* 802CB038 002C6C98 A0 1E 00 18 */ lhz r0, 0x18(r30) /* 802CB03C 002C6C9C 28 00 FF FF */ cmplwi r0, 0xffff /* 802CB040 002C6CA0 41 82 00 3C */ beq lbl_802CB07C /* 802CB044 002C6CA4 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802CB048 002C6CA8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 802CB04C 002C6CAC 41 82 00 30 */ beq lbl_802CB07C /* 802CB050 002C6CB0 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB054 002C6CB4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB058 002C6CB8 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB05C 002C6CBC 28 00 00 02 */ cmplwi r0, 2 /* 802CB060 002C6CC0 41 80 00 14 */ blt lbl_802CB074 /* 802CB064 002C6CC4 3C 60 00 0D */ lis r3, 0x000D0001@ha /* 802CB068 002C6CC8 38 9F 02 A0 */ addi r4, r31, 0x2a0 /* 802CB06C 002C6CCC 38 63 00 01 */ addi r3, r3, 0x000D0001@l /* 802CB070 002C6CD0 4B FF 1E A1 */ bl LogMsg_0 lbl_802CB074: /* 802CB074 002C6CD4 38 60 00 00 */ li r3, 0 /* 802CB078 002C6CD8 48 00 02 88 */ b lbl_802CB300 lbl_802CB07C: /* 802CB07C 002C6CDC 7F 83 E3 78 */ mr r3, r28 /* 802CB080 002C6CE0 38 80 00 00 */ li r4, 0 /* 802CB084 002C6CE4 4B FF BD 85 */ bl BTM_DeleteStoredLinkKey /* 802CB088 002C6CE8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CB08C 002C6CEC 41 82 00 0C */ beq lbl_802CB098 /* 802CB090 002C6CF0 38 60 00 03 */ li r3, 3 /* 802CB094 002C6CF4 48 00 02 6C */ b lbl_802CB300 lbl_802CB098: /* 802CB098 002C6CF8 38 00 00 50 */ li r0, 0x50 /* 802CB09C 002C6CFC 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB0A0 002C6D00 98 1E 00 81 */ stb r0, 0x81(r30) /* 802CB0A4 002C6D04 38 00 00 01 */ li r0, 1 /* 802CB0A8 002C6D08 2C 1D 00 00 */ cmpwi r29, 0 /* 802CB0AC 002C6D0C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB0B0 002C6D10 98 1E 00 80 */ stb r0, 0x80(r30) /* 802CB0B4 002C6D14 80 1B 00 00 */ lwz r0, 0(r27) /* 802CB0B8 002C6D18 90 1E 00 10 */ stw r0, 0x10(r30) /* 802CB0BC 002C6D1C 80 1B 00 04 */ lwz r0, 4(r27) /* 802CB0C0 002C6D20 90 1E 00 14 */ stw r0, 0x14(r30) /* 802CB0C4 002C6D24 9B A3 19 7F */ stb r29, 0x197f(r3) /* 802CB0C8 002C6D28 41 82 00 14 */ beq lbl_802CB0DC /* 802CB0CC 002C6D2C 7F 44 D3 78 */ mr r4, r26 /* 802CB0D0 002C6D30 7F A5 EB 78 */ mr r5, r29 /* 802CB0D4 002C6D34 38 63 19 80 */ addi r3, r3, 0x1980 /* 802CB0D8 002C6D38 4B D3 8F 29 */ bl memcpy lbl_802CB0DC: /* 802CB0DC 002C6D3C 88 7E 00 76 */ lbz r3, 0x76(r30) /* 802CB0E0 002C6D40 38 00 FF E9 */ li r0, -23 /* 802CB0E4 002C6D44 7C 60 00 38 */ and r0, r3, r0 /* 802CB0E8 002C6D48 98 1E 00 76 */ stb r0, 0x76(r30) /* 802CB0EC 002C6D4C 88 1E 00 23 */ lbz r0, 0x23(r30) /* 802CB0F0 002C6D50 54 00 06 FE */ clrlwi r0, r0, 0x1b /* 802CB0F4 002C6D54 2C 00 00 05 */ cmpwi r0, 5 /* 802CB0F8 002C6D58 40 82 00 34 */ bne lbl_802CB12C /* 802CB0FC 002C6D5C 88 1E 00 24 */ lbz r0, 0x24(r30) /* 802CB100 002C6D60 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CB104 002C6D64 41 82 00 28 */ beq lbl_802CB12C /* 802CB108 002C6D68 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CB10C 002C6D6C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CB110 002C6D70 88 04 00 20 */ lbz r0, 0x20(r4) /* 802CB114 002C6D74 28 00 00 01 */ cmplwi r0, 1 /* 802CB118 002C6D78 41 82 00 14 */ beq lbl_802CB12C /* 802CB11C 002C6D7C 38 00 00 01 */ li r0, 1 /* 802CB120 002C6D80 38 60 00 01 */ li r3, 1 /* 802CB124 002C6D84 98 04 19 7C */ stb r0, 0x197c(r4) /* 802CB128 002C6D88 48 00 63 5D */ bl btsnd_hcic_write_pin_type lbl_802CB12C: /* 802CB12C 002C6D8C 3F A0 80 57 */ lis r29, lbl_80568B78@ha /* 802CB130 002C6D90 3B 60 00 00 */ li r27, 0 /* 802CB134 002C6D94 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l /* 802CB138 002C6D98 9B 7D 19 7E */ stb r27, 0x197e(r29) /* 802CB13C 002C6D9C A0 1E 00 18 */ lhz r0, 0x18(r30) /* 802CB140 002C6DA0 28 00 FF FF */ cmplwi r0, 0xffff /* 802CB144 002C6DA4 41 82 00 3C */ beq lbl_802CB180 /* 802CB148 002C6DA8 88 7E 00 76 */ lbz r3, 0x76(r30) /* 802CB14C 002C6DAC 38 00 00 01 */ li r0, 1 /* 802CB150 002C6DB0 54 63 07 34 */ rlwinm r3, r3, 0, 0x1c, 0x1a /* 802CB154 002C6DB4 98 7E 00 76 */ stb r3, 0x76(r30) /* 802CB158 002C6DB8 98 1E 00 7F */ stb r0, 0x7f(r30) /* 802CB15C 002C6DBC A0 7E 00 18 */ lhz r3, 0x18(r30) /* 802CB160 002C6DC0 48 00 56 55 */ bl btsnd_hcic_auth_request /* 802CB164 002C6DC4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CB168 002C6DC8 40 82 00 0C */ bne lbl_802CB174 /* 802CB16C 002C6DCC 38 60 00 03 */ li r3, 3 /* 802CB170 002C6DD0 48 00 01 90 */ b lbl_802CB300 lbl_802CB174: /* 802CB174 002C6DD4 9B 7D 19 7D */ stb r27, 0x197d(r29) /* 802CB178 002C6DD8 38 60 00 01 */ li r3, 1 /* 802CB17C 002C6DDC 48 00 01 84 */ b lbl_802CB300 lbl_802CB180: /* 802CB180 002C6DE0 88 1D 19 78 */ lbz r0, 0x1978(r29) /* 802CB184 002C6DE4 28 00 00 03 */ cmplwi r0, 3 /* 802CB188 002C6DE8 41 82 00 68 */ beq lbl_802CB1F0 /* 802CB18C 002C6DEC 88 1D 27 C0 */ lbz r0, 0x27c0(r29) /* 802CB190 002C6DF0 28 00 00 05 */ cmplwi r0, 5 /* 802CB194 002C6DF4 41 80 00 14 */ blt lbl_802CB1A8 /* 802CB198 002C6DF8 3C 60 00 0D */ lis r3, 0x000D0004@ha /* 802CB19C 002C6DFC 38 9F 02 C0 */ addi r4, r31, 0x2c0 /* 802CB1A0 002C6E00 38 63 00 04 */ addi r3, r3, 0x000D0004@l /* 802CB1A4 002C6E04 4B FF 1D 6D */ bl LogMsg_0 lbl_802CB1A8: /* 802CB1A8 002C6E08 38 60 00 01 */ li r3, 1 /* 802CB1AC 002C6E0C 48 00 68 4D */ bl btsnd_hcic_write_auth_enable /* 802CB1B0 002C6E10 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CB1B4 002C6E14 40 82 00 2C */ bne lbl_802CB1E0 /* 802CB1B8 002C6E18 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB1BC 002C6E1C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB1C0 002C6E20 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB1C4 002C6E24 28 00 00 01 */ cmplwi r0, 1 /* 802CB1C8 002C6E28 41 80 00 10 */ blt lbl_802CB1D8 /* 802CB1CC 002C6E2C 38 9F 02 E4 */ addi r4, r31, 0x2e4 /* 802CB1D0 002C6E30 3C 60 00 0D */ lis r3, 0xd /* 802CB1D4 002C6E34 4B FF 1D 3D */ bl LogMsg_0 lbl_802CB1D8: /* 802CB1D8 002C6E38 38 60 00 03 */ li r3, 3 /* 802CB1DC 002C6E3C 48 00 01 24 */ b lbl_802CB300 lbl_802CB1E0: /* 802CB1E0 002C6E40 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB1E4 002C6E44 38 00 00 01 */ li r0, 1 /* 802CB1E8 002C6E48 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB1EC 002C6E4C 98 03 19 7B */ stb r0, 0x197b(r3) lbl_802CB1F0: /* 802CB1F0 002C6E50 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB1F4 002C6E54 38 00 00 01 */ li r0, 1 /* 802CB1F8 002C6E58 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB1FC 002C6E5C 98 03 19 7D */ stb r0, 0x197d(r3) /* 802CB200 002C6E60 4B FF B7 61 */ bl BTM_ReadLocalFeatures /* 802CB204 002C6E64 88 83 00 00 */ lbz r4, 0(r3) /* 802CB208 002C6E68 38 00 00 00 */ li r0, 0 /* 802CB20C 002C6E6C 7F 83 E3 78 */ mr r3, r28 /* 802CB210 002C6E70 98 1E 00 85 */ stb r0, 0x85(r30) /* 802CB214 002C6E74 54 9B DF FE */ rlwinm r27, r4, 0x1b, 0x1f, 0x1f /* 802CB218 002C6E78 4B FF CB 11 */ bl BTM_InqDbRead /* 802CB21C 002C6E7C 2C 03 00 00 */ cmpwi r3, 0 /* 802CB220 002C6E80 7C 64 1B 78 */ mr r4, r3 /* 802CB224 002C6E84 41 82 00 28 */ beq lbl_802CB24C /* 802CB228 002C6E88 A0 04 00 00 */ lhz r0, 0(r4) /* 802CB22C 002C6E8C 7F 83 E3 78 */ mr r3, r28 /* 802CB230 002C6E90 88 A4 00 0B */ lbz r5, 0xb(r4) /* 802CB234 002C6E94 7F 68 DB 78 */ mr r8, r27 /* 802CB238 002C6E98 88 C4 00 0D */ lbz r6, 0xd(r4) /* 802CB23C 002C6E9C 60 07 80 00 */ ori r7, r0, 0x8000 /* 802CB240 002C6EA0 38 80 00 18 */ li r4, 0x18 /* 802CB244 002C6EA4 48 00 4D 6D */ bl btsnd_hcic_create_conn /* 802CB248 002C6EA8 48 00 00 20 */ b lbl_802CB268 lbl_802CB24C: /* 802CB24C 002C6EAC A0 FE 00 1A */ lhz r7, 0x1a(r30) /* 802CB250 002C6EB0 7F 83 E3 78 */ mr r3, r28 /* 802CB254 002C6EB4 7F 68 DB 78 */ mr r8, r27 /* 802CB258 002C6EB8 38 80 00 18 */ li r4, 0x18 /* 802CB25C 002C6EBC 38 A0 00 01 */ li r5, 1 /* 802CB260 002C6EC0 38 C0 00 00 */ li r6, 0 /* 802CB264 002C6EC4 48 00 4D 4D */ bl btsnd_hcic_create_conn lbl_802CB268: /* 802CB268 002C6EC8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CB26C 002C6ECC 41 82 00 0C */ beq lbl_802CB278 /* 802CB270 002C6ED0 38 60 00 01 */ li r3, 1 /* 802CB274 002C6ED4 48 00 00 8C */ b lbl_802CB300 lbl_802CB278: /* 802CB278 002C6ED8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB27C 002C6EDC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB280 002C6EE0 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB284 002C6EE4 28 00 00 01 */ cmplwi r0, 1 /* 802CB288 002C6EE8 41 80 00 10 */ blt lbl_802CB298 /* 802CB28C 002C6EEC 38 9F 02 E4 */ addi r4, r31, 0x2e4 /* 802CB290 002C6EF0 3C 60 00 0D */ lis r3, 0xd /* 802CB294 002C6EF4 4B FF 1C 7D */ bl LogMsg_0 lbl_802CB298: /* 802CB298 002C6EF8 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CB29C 002C6EFC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CB2A0 002C6F00 88 04 19 7B */ lbz r0, 0x197b(r4) /* 802CB2A4 002C6F04 2C 00 00 00 */ cmpwi r0, 0 /* 802CB2A8 002C6F08 41 82 00 54 */ beq lbl_802CB2FC /* 802CB2AC 002C6F0C 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CB2B0 002C6F10 38 60 00 00 */ li r3, 0 /* 802CB2B4 002C6F14 98 64 19 7B */ stb r3, 0x197b(r4) /* 802CB2B8 002C6F18 28 00 00 05 */ cmplwi r0, 5 /* 802CB2BC 002C6F1C 41 80 00 24 */ blt lbl_802CB2E0 /* 802CB2C0 002C6F20 88 A4 19 78 */ lbz r5, 0x1978(r4) /* 802CB2C4 002C6F24 3C 60 00 0D */ lis r3, 0x000D0004@ha /* 802CB2C8 002C6F28 38 63 00 04 */ addi r3, r3, 0x000D0004@l /* 802CB2CC 002C6F2C 38 9F 02 FC */ addi r4, r31, 0x2fc /* 802CB2D0 002C6F30 38 05 FF FD */ addi r0, r5, -3 /* 802CB2D4 002C6F34 7C 00 00 34 */ cntlzw r0, r0 /* 802CB2D8 002C6F38 54 05 D9 7E */ srwi r5, r0, 5 /* 802CB2DC 002C6F3C 4B FF 1C 4D */ bl LogMsg_1 lbl_802CB2E0: /* 802CB2E0 002C6F40 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB2E4 002C6F44 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB2E8 002C6F48 88 63 19 78 */ lbz r3, 0x1978(r3) /* 802CB2EC 002C6F4C 38 03 FF FD */ addi r0, r3, -3 /* 802CB2F0 002C6F50 7C 00 00 34 */ cntlzw r0, r0 /* 802CB2F4 002C6F54 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f /* 802CB2F8 002C6F58 48 00 67 01 */ bl btsnd_hcic_write_auth_enable lbl_802CB2FC: /* 802CB2FC 002C6F5C 38 60 00 03 */ li r3, 3 lbl_802CB300: /* 802CB300 002C6F60 39 61 00 20 */ addi r11, r1, 0x20 /* 802CB304 002C6F64 4B EF BE 6D */ bl _restgpr_26 /* 802CB308 002C6F68 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CB30C 002C6F6C 7C 08 03 A6 */ mtlr r0 /* 802CB310 002C6F70 38 21 00 20 */ addi r1, r1, 0x20 /* 802CB314 002C6F74 4E 80 00 20 */ blr .global btm_sec_l2cap_access_req btm_sec_l2cap_access_req: /* 802CB318 002C6F78 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802CB31C 002C6F7C 7C 08 02 A6 */ mflr r0 /* 802CB320 002C6F80 90 01 00 34 */ stw r0, 0x34(r1) /* 802CB324 002C6F84 39 61 00 30 */ addi r11, r1, 0x30 /* 802CB328 002C6F88 4B EF BD F5 */ bl _savegpr_24 /* 802CB32C 002C6F8C 3F E0 80 44 */ lis r31, lbl_80441890@ha /* 802CB330 002C6F90 7C 78 1B 78 */ mr r24, r3 /* 802CB334 002C6F94 7C 99 23 78 */ mr r25, r4 /* 802CB338 002C6F98 7C BA 2B 78 */ mr r26, r5 /* 802CB33C 002C6F9C 7C DB 33 78 */ mr r27, r6 /* 802CB340 002C6FA0 7C FC 3B 78 */ mr r28, r7 /* 802CB344 002C6FA4 3B FF 18 90 */ addi r31, r31, lbl_80441890@l /* 802CB348 002C6FA8 4B FF A2 D5 */ bl btm_find_dev /* 802CB34C 002C6FAC 2C 03 00 00 */ cmpwi r3, 0 /* 802CB350 002C6FB0 7C 7E 1B 78 */ mr r30, r3 /* 802CB354 002C6FB4 40 82 00 68 */ bne lbl_802CB3BC /* 802CB358 002C6FB8 7F 03 C3 78 */ mr r3, r24 /* 802CB35C 002C6FBC 4B FF A0 E9 */ bl btm_sec_alloc_dev /* 802CB360 002C6FC0 2C 03 00 00 */ cmpwi r3, 0 /* 802CB364 002C6FC4 7C 7E 1B 78 */ mr r30, r3 /* 802CB368 002C6FC8 40 82 00 54 */ bne lbl_802CB3BC /* 802CB36C 002C6FCC 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB370 002C6FD0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB374 002C6FD4 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB378 002C6FD8 28 00 00 02 */ cmplwi r0, 2 /* 802CB37C 002C6FDC 41 80 00 18 */ blt lbl_802CB394 /* 802CB380 002C6FE0 3C 60 00 0D */ lis r3, 0x000D0001@ha /* 802CB384 002C6FE4 7F 25 CB 78 */ mr r5, r25 /* 802CB388 002C6FE8 38 63 00 01 */ addi r3, r3, 0x000D0001@l /* 802CB38C 002C6FEC 38 9F 04 10 */ addi r4, r31, 0x410 /* 802CB390 002C6FF0 4B FF 1B 99 */ bl LogMsg_1 lbl_802CB394: /* 802CB394 002C6FF4 2C 1C 00 00 */ cmpwi r28, 0 /* 802CB398 002C6FF8 41 82 00 1C */ beq lbl_802CB3B4 /* 802CB39C 002C6FFC 7F 8C E3 78 */ mr r12, r28 /* 802CB3A0 002C7000 7F 03 C3 78 */ mr r3, r24 /* 802CB3A4 002C7004 38 80 00 00 */ li r4, 0 /* 802CB3A8 002C7008 38 A0 00 03 */ li r5, 3 /* 802CB3AC 002C700C 7D 89 03 A6 */ mtctr r12 /* 802CB3B0 002C7010 4E 80 04 21 */ bctrl lbl_802CB3B4: /* 802CB3B4 002C7014 38 60 00 03 */ li r3, 3 /* 802CB3B8 002C7018 48 00 03 AC */ b lbl_802CB764 lbl_802CB3BC: /* 802CB3BC 002C701C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB3C0 002C7020 38 00 00 04 */ li r0, 4 /* 802CB3C4 002C7024 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB3C8 002C7028 B3 5E 00 18 */ sth r26, 0x18(r30) /* 802CB3CC 002C702C 38 83 19 90 */ addi r4, r3, 0x1990 /* 802CB3D0 002C7030 38 60 00 00 */ li r3, 0 /* 802CB3D4 002C7034 7C 09 03 A6 */ mtctr r0 lbl_802CB3D8: /* 802CB3D8 002C7038 88 04 00 0E */ lbz r0, 0xe(r4) /* 802CB3DC 002C703C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB3E0 002C7040 41 82 00 14 */ beq lbl_802CB3F4 /* 802CB3E4 002C7044 A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB3E8 002C7048 7C 00 C8 40 */ cmplw r0, r25 /* 802CB3EC 002C704C 40 82 00 08 */ bne lbl_802CB3F4 /* 802CB3F0 002C7050 48 00 00 B4 */ b lbl_802CB4A4 lbl_802CB3F4: /* 802CB3F4 002C7054 88 04 00 4A */ lbz r0, 0x4a(r4) /* 802CB3F8 002C7058 38 84 00 3C */ addi r4, r4, 0x3c /* 802CB3FC 002C705C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB400 002C7060 41 82 00 14 */ beq lbl_802CB414 /* 802CB404 002C7064 A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB408 002C7068 7C 00 C8 40 */ cmplw r0, r25 /* 802CB40C 002C706C 40 82 00 08 */ bne lbl_802CB414 /* 802CB410 002C7070 48 00 00 94 */ b lbl_802CB4A4 lbl_802CB414: /* 802CB414 002C7074 88 04 00 4A */ lbz r0, 0x4a(r4) /* 802CB418 002C7078 38 84 00 3C */ addi r4, r4, 0x3c /* 802CB41C 002C707C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB420 002C7080 41 82 00 14 */ beq lbl_802CB434 /* 802CB424 002C7084 A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB428 002C7088 7C 00 C8 40 */ cmplw r0, r25 /* 802CB42C 002C708C 40 82 00 08 */ bne lbl_802CB434 /* 802CB430 002C7090 48 00 00 74 */ b lbl_802CB4A4 lbl_802CB434: /* 802CB434 002C7094 88 04 00 4A */ lbz r0, 0x4a(r4) /* 802CB438 002C7098 38 84 00 3C */ addi r4, r4, 0x3c /* 802CB43C 002C709C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB440 002C70A0 41 82 00 14 */ beq lbl_802CB454 /* 802CB444 002C70A4 A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB448 002C70A8 7C 00 C8 40 */ cmplw r0, r25 /* 802CB44C 002C70AC 40 82 00 08 */ bne lbl_802CB454 /* 802CB450 002C70B0 48 00 00 54 */ b lbl_802CB4A4 lbl_802CB454: /* 802CB454 002C70B4 88 04 00 4A */ lbz r0, 0x4a(r4) /* 802CB458 002C70B8 38 84 00 3C */ addi r4, r4, 0x3c /* 802CB45C 002C70BC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB460 002C70C0 41 82 00 14 */ beq lbl_802CB474 /* 802CB464 002C70C4 A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB468 002C70C8 7C 00 C8 40 */ cmplw r0, r25 /* 802CB46C 002C70CC 40 82 00 08 */ bne lbl_802CB474 /* 802CB470 002C70D0 48 00 00 34 */ b lbl_802CB4A4 lbl_802CB474: /* 802CB474 002C70D4 88 04 00 4A */ lbz r0, 0x4a(r4) /* 802CB478 002C70D8 38 84 00 3C */ addi r4, r4, 0x3c /* 802CB47C 002C70DC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB480 002C70E0 41 82 00 14 */ beq lbl_802CB494 /* 802CB484 002C70E4 A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB488 002C70E8 7C 00 C8 40 */ cmplw r0, r25 /* 802CB48C 002C70EC 40 82 00 08 */ bne lbl_802CB494 /* 802CB490 002C70F0 48 00 00 14 */ b lbl_802CB4A4 lbl_802CB494: /* 802CB494 002C70F4 38 63 00 05 */ addi r3, r3, 5 /* 802CB498 002C70F8 38 84 00 3C */ addi r4, r4, 0x3c /* 802CB49C 002C70FC 42 00 FF 3C */ bdnz lbl_802CB3D8 /* 802CB4A0 002C7100 38 80 00 00 */ li r4, 0 lbl_802CB4A4: /* 802CB4A4 002C7104 2C 04 00 00 */ cmpwi r4, 0 /* 802CB4A8 002C7108 40 82 00 54 */ bne lbl_802CB4FC /* 802CB4AC 002C710C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB4B0 002C7110 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB4B4 002C7114 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB4B8 002C7118 28 00 00 02 */ cmplwi r0, 2 /* 802CB4BC 002C711C 41 80 00 18 */ blt lbl_802CB4D4 /* 802CB4C0 002C7120 3C 60 00 0D */ lis r3, 0x000D0001@ha /* 802CB4C4 002C7124 7F 25 CB 78 */ mr r5, r25 /* 802CB4C8 002C7128 38 63 00 01 */ addi r3, r3, 0x000D0001@l /* 802CB4CC 002C712C 38 9F 04 48 */ addi r4, r31, 0x448 /* 802CB4D0 002C7130 4B FF 1A 59 */ bl LogMsg_1 lbl_802CB4D4: /* 802CB4D4 002C7134 2C 1C 00 00 */ cmpwi r28, 0 /* 802CB4D8 002C7138 41 82 00 1C */ beq lbl_802CB4F4 /* 802CB4DC 002C713C 7F 8C E3 78 */ mr r12, r28 /* 802CB4E0 002C7140 7F 03 C3 78 */ mr r3, r24 /* 802CB4E4 002C7144 38 80 00 00 */ li r4, 0 /* 802CB4E8 002C7148 38 A0 00 04 */ li r5, 4 /* 802CB4EC 002C714C 7D 89 03 A6 */ mtctr r12 /* 802CB4F0 002C7150 4E 80 04 21 */ bctrl lbl_802CB4F4: /* 802CB4F4 002C7154 38 60 00 04 */ li r3, 4 /* 802CB4F8 002C7158 48 00 02 6C */ b lbl_802CB764 lbl_802CB4FC: /* 802CB4FC 002C715C 2C 1B 00 00 */ cmpwi r27, 0 /* 802CB500 002C7160 41 82 00 14 */ beq lbl_802CB514 /* 802CB504 002C7164 41 82 00 14 */ beq lbl_802CB518 /* 802CB508 002C7168 80 1E 00 00 */ lwz r0, 0(r30) /* 802CB50C 002C716C 2C 00 00 00 */ cmpwi r0, 0 /* 802CB510 002C7170 40 82 00 08 */ bne lbl_802CB518 lbl_802CB514: /* 802CB514 002C7174 90 9E 00 00 */ stw r4, 0(r30) lbl_802CB518: /* 802CB518 002C7178 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB51C 002C717C 38 00 00 06 */ li r0, 6 /* 802CB520 002C7180 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB524 002C7184 8B A4 00 0E */ lbz r29, 0xe(r4) /* 802CB528 002C7188 38 E3 19 90 */ addi r7, r3, 0x1990 /* 802CB52C 002C718C 38 C0 00 00 */ li r6, 0 /* 802CB530 002C7190 38 A0 00 00 */ li r5, 0 /* 802CB534 002C7194 7C 09 03 A6 */ mtctr r0 lbl_802CB538: /* 802CB538 002C7198 88 07 00 0E */ lbz r0, 0xe(r7) /* 802CB53C 002C719C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB540 002C71A0 41 82 00 30 */ beq lbl_802CB570 /* 802CB544 002C71A4 A0 67 00 0C */ lhz r3, 0xc(r7) /* 802CB548 002C71A8 A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB54C 002C71AC 7C 03 00 40 */ cmplw r3, r0 /* 802CB550 002C71B0 40 82 00 20 */ bne lbl_802CB570 /* 802CB554 002C71B4 2C 06 00 00 */ cmpwi r6, 0 /* 802CB558 002C71B8 40 82 00 DC */ bne lbl_802CB634 /* 802CB55C 002C71BC 7C 04 38 40 */ cmplw r4, r7 /* 802CB560 002C71C0 40 82 00 10 */ bne lbl_802CB570 /* 802CB564 002C71C4 38 C0 00 01 */ li r6, 1 /* 802CB568 002C71C8 48 00 00 08 */ b lbl_802CB570 /* 802CB56C 002C71CC 48 00 00 C8 */ b lbl_802CB634 lbl_802CB570: /* 802CB570 002C71D0 88 07 00 4A */ lbz r0, 0x4a(r7) /* 802CB574 002C71D4 38 E7 00 3C */ addi r7, r7, 0x3c /* 802CB578 002C71D8 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB57C 002C71DC 41 82 00 30 */ beq lbl_802CB5AC /* 802CB580 002C71E0 A0 67 00 0C */ lhz r3, 0xc(r7) /* 802CB584 002C71E4 A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB588 002C71E8 7C 03 00 40 */ cmplw r3, r0 /* 802CB58C 002C71EC 40 82 00 20 */ bne lbl_802CB5AC /* 802CB590 002C71F0 2C 06 00 00 */ cmpwi r6, 0 /* 802CB594 002C71F4 40 82 00 A0 */ bne lbl_802CB634 /* 802CB598 002C71F8 7C 04 38 40 */ cmplw r4, r7 /* 802CB59C 002C71FC 40 82 00 10 */ bne lbl_802CB5AC /* 802CB5A0 002C7200 38 C0 00 01 */ li r6, 1 /* 802CB5A4 002C7204 48 00 00 08 */ b lbl_802CB5AC /* 802CB5A8 002C7208 48 00 00 8C */ b lbl_802CB634 lbl_802CB5AC: /* 802CB5AC 002C720C 88 07 00 4A */ lbz r0, 0x4a(r7) /* 802CB5B0 002C7210 38 E7 00 3C */ addi r7, r7, 0x3c /* 802CB5B4 002C7214 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB5B8 002C7218 41 82 00 30 */ beq lbl_802CB5E8 /* 802CB5BC 002C721C A0 67 00 0C */ lhz r3, 0xc(r7) /* 802CB5C0 002C7220 A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB5C4 002C7224 7C 03 00 40 */ cmplw r3, r0 /* 802CB5C8 002C7228 40 82 00 20 */ bne lbl_802CB5E8 /* 802CB5CC 002C722C 2C 06 00 00 */ cmpwi r6, 0 /* 802CB5D0 002C7230 40 82 00 64 */ bne lbl_802CB634 /* 802CB5D4 002C7234 7C 04 38 40 */ cmplw r4, r7 /* 802CB5D8 002C7238 40 82 00 10 */ bne lbl_802CB5E8 /* 802CB5DC 002C723C 38 C0 00 01 */ li r6, 1 /* 802CB5E0 002C7240 48 00 00 08 */ b lbl_802CB5E8 /* 802CB5E4 002C7244 48 00 00 50 */ b lbl_802CB634 lbl_802CB5E8: /* 802CB5E8 002C7248 88 07 00 4A */ lbz r0, 0x4a(r7) /* 802CB5EC 002C724C 38 E7 00 3C */ addi r7, r7, 0x3c /* 802CB5F0 002C7250 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB5F4 002C7254 41 82 00 30 */ beq lbl_802CB624 /* 802CB5F8 002C7258 A0 67 00 0C */ lhz r3, 0xc(r7) /* 802CB5FC 002C725C A0 04 00 0C */ lhz r0, 0xc(r4) /* 802CB600 002C7260 7C 03 00 40 */ cmplw r3, r0 /* 802CB604 002C7264 40 82 00 20 */ bne lbl_802CB624 /* 802CB608 002C7268 2C 06 00 00 */ cmpwi r6, 0 /* 802CB60C 002C726C 40 82 00 28 */ bne lbl_802CB634 /* 802CB610 002C7270 7C 04 38 40 */ cmplw r4, r7 /* 802CB614 002C7274 40 82 00 10 */ bne lbl_802CB624 /* 802CB618 002C7278 38 C0 00 01 */ li r6, 1 /* 802CB61C 002C727C 48 00 00 08 */ b lbl_802CB624 /* 802CB620 002C7280 48 00 00 14 */ b lbl_802CB634 lbl_802CB624: /* 802CB624 002C7284 38 A5 00 03 */ addi r5, r5, 3 /* 802CB628 002C7288 38 E7 00 3C */ addi r7, r7, 0x3c /* 802CB62C 002C728C 42 00 FF 0C */ bdnz lbl_802CB538 /* 802CB630 002C7290 38 E0 00 00 */ li r7, 0 lbl_802CB634: /* 802CB634 002C7294 2C 07 00 00 */ cmpwi r7, 0 /* 802CB638 002C7298 41 82 00 54 */ beq lbl_802CB68C /* 802CB63C 002C729C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB640 002C72A0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB644 002C72A4 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB648 002C72A8 28 00 00 04 */ cmplwi r0, 4 /* 802CB64C 002C72AC 41 80 00 18 */ blt lbl_802CB664 /* 802CB650 002C72B0 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CB654 002C72B4 7F 25 CB 78 */ mr r5, r25 /* 802CB658 002C72B8 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CB65C 002C72BC 38 9F 04 8C */ addi r4, r31, 0x48c /* 802CB660 002C72C0 4B FF 18 C9 */ bl LogMsg_1 lbl_802CB664: /* 802CB664 002C72C4 2C 1C 00 00 */ cmpwi r28, 0 /* 802CB668 002C72C8 41 82 00 1C */ beq lbl_802CB684 /* 802CB66C 002C72CC 7F 8C E3 78 */ mr r12, r28 /* 802CB670 002C72D0 7F 03 C3 78 */ mr r3, r24 /* 802CB674 002C72D4 38 80 00 00 */ li r4, 0 /* 802CB678 002C72D8 38 A0 00 00 */ li r5, 0 /* 802CB67C 002C72DC 7D 89 03 A6 */ mtctr r12 /* 802CB680 002C72E0 4E 80 04 21 */ bctrl lbl_802CB684: /* 802CB684 002C72E4 38 60 00 00 */ li r3, 0 /* 802CB688 002C72E8 48 00 00 DC */ b lbl_802CB764 lbl_802CB68C: /* 802CB68C 002C72EC 93 9E 00 04 */ stw r28, 4(r30) /* 802CB690 002C72F0 38 00 00 00 */ li r0, 0 /* 802CB694 002C72F4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB698 002C72F8 90 1E 00 08 */ stw r0, 8(r30) /* 802CB69C 002C72FC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB6A0 002C7300 9B BE 00 81 */ stb r29, 0x81(r30) /* 802CB6A4 002C7304 9B 7E 00 80 */ stb r27, 0x80(r30) /* 802CB6A8 002C7308 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB6AC 002C730C 28 00 00 04 */ cmplwi r0, 4 /* 802CB6B0 002C7310 41 80 00 28 */ blt lbl_802CB6D8 /* 802CB6B4 002C7314 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CB6B8 002C7318 88 FE 00 7F */ lbz r7, 0x7f(r30) /* 802CB6BC 002C731C 89 1E 00 76 */ lbz r8, 0x76(r30) /* 802CB6C0 002C7320 7F 25 CB 78 */ mr r5, r25 /* 802CB6C4 002C7324 7F 46 D3 78 */ mr r6, r26 /* 802CB6C8 002C7328 7F A9 EB 78 */ mr r9, r29 /* 802CB6CC 002C732C 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CB6D0 002C7330 38 9F 04 D0 */ addi r4, r31, 0x4d0 /* 802CB6D4 002C7334 4B FF 18 B5 */ bl LogMsg_5 lbl_802CB6D8: /* 802CB6D8 002C7338 2C 1B 00 00 */ cmpwi r27, 0 /* 802CB6DC 002C733C 40 82 00 48 */ bne lbl_802CB724 /* 802CB6E0 002C7340 57 A0 07 FF */ clrlwi. r0, r29, 0x1f /* 802CB6E4 002C7344 41 82 00 40 */ beq lbl_802CB724 /* 802CB6E8 002C7348 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802CB6EC 002C734C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB6F0 002C7350 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB6F4 002C7354 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e /* 802CB6F8 002C7358 98 1E 00 76 */ stb r0, 0x76(r30) /* 802CB6FC 002C735C 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB700 002C7360 28 00 00 04 */ cmplwi r0, 4 /* 802CB704 002C7364 41 80 00 20 */ blt lbl_802CB724 /* 802CB708 002C7368 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CB70C 002C736C 80 BE 00 14 */ lwz r5, 0x14(r30) /* 802CB710 002C7370 80 DE 00 10 */ lwz r6, 0x10(r30) /* 802CB714 002C7374 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CB718 002C7378 88 FE 00 76 */ lbz r7, 0x76(r30) /* 802CB71C 002C737C 38 9F 05 28 */ addi r4, r31, 0x528 /* 802CB720 002C7380 4B FF 18 39 */ bl LogMsg_3 lbl_802CB724: /* 802CB724 002C7384 7F C3 F3 78 */ mr r3, r30 /* 802CB728 002C7388 48 00 1B 45 */ bl btm_sec_execute_procedure /* 802CB72C 002C738C 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 802CB730 002C7390 7C 79 1B 78 */ mr r25, r3 /* 802CB734 002C7394 28 05 00 01 */ cmplwi r5, 1 /* 802CB738 002C7398 41 82 00 28 */ beq lbl_802CB760 /* 802CB73C 002C739C 2C 1C 00 00 */ cmpwi r28, 0 /* 802CB740 002C73A0 41 82 00 20 */ beq lbl_802CB760 /* 802CB744 002C73A4 7F 8C E3 78 */ mr r12, r28 /* 802CB748 002C73A8 7F 03 C3 78 */ mr r3, r24 /* 802CB74C 002C73AC 80 9E 00 08 */ lwz r4, 8(r30) /* 802CB750 002C73B0 7D 89 03 A6 */ mtctr r12 /* 802CB754 002C73B4 4E 80 04 21 */ bctrl /* 802CB758 002C73B8 38 00 00 00 */ li r0, 0 /* 802CB75C 002C73BC 90 1E 00 04 */ stw r0, 4(r30) lbl_802CB760: /* 802CB760 002C73C0 7F 23 CB 78 */ mr r3, r25 lbl_802CB764: /* 802CB764 002C73C4 39 61 00 30 */ addi r11, r1, 0x30 /* 802CB768 002C73C8 4B EF BA 01 */ bl _restgpr_24 /* 802CB76C 002C73CC 80 01 00 34 */ lwz r0, 0x34(r1) /* 802CB770 002C73D0 7C 08 03 A6 */ mtlr r0 /* 802CB774 002C73D4 38 21 00 30 */ addi r1, r1, 0x30 /* 802CB778 002C73D8 4E 80 00 20 */ blr .global btm_sec_mx_access_request btm_sec_mx_access_request: /* 802CB77C 002C73DC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802CB780 002C73E0 7C 08 02 A6 */ mflr r0 /* 802CB784 002C73E4 90 01 00 34 */ stw r0, 0x34(r1) /* 802CB788 002C73E8 39 61 00 30 */ addi r11, r1, 0x30 /* 802CB78C 002C73EC 4B EF B9 91 */ bl _savegpr_24 /* 802CB790 002C73F0 7C 78 1B 78 */ mr r24, r3 /* 802CB794 002C73F4 7C 99 23 78 */ mr r25, r4 /* 802CB798 002C73F8 7C BA 2B 78 */ mr r26, r5 /* 802CB79C 002C73FC 7C DB 33 78 */ mr r27, r6 /* 802CB7A0 002C7400 7C FC 3B 78 */ mr r28, r7 /* 802CB7A4 002C7404 7D 1D 43 78 */ mr r29, r8 /* 802CB7A8 002C7408 7D 3E 4B 78 */ mr r30, r9 /* 802CB7AC 002C740C 4B FF 9E 71 */ bl btm_find_dev /* 802CB7B0 002C7410 2C 03 00 00 */ cmpwi r3, 0 /* 802CB7B4 002C7414 7C 7F 1B 78 */ mr r31, r3 /* 802CB7B8 002C7418 40 82 00 3C */ bne lbl_802CB7F4 /* 802CB7BC 002C741C 7F 03 C3 78 */ mr r3, r24 /* 802CB7C0 002C7420 4B FF 9C 85 */ bl btm_sec_alloc_dev /* 802CB7C4 002C7424 2C 03 00 00 */ cmpwi r3, 0 /* 802CB7C8 002C7428 7C 7F 1B 78 */ mr r31, r3 /* 802CB7CC 002C742C 40 82 00 28 */ bne lbl_802CB7F4 /* 802CB7D0 002C7430 2C 1D 00 00 */ cmpwi r29, 0 /* 802CB7D4 002C7434 41 82 02 2C */ beq lbl_802CBA00 /* 802CB7D8 002C7438 7F AC EB 78 */ mr r12, r29 /* 802CB7DC 002C743C 7F 03 C3 78 */ mr r3, r24 /* 802CB7E0 002C7440 7F C4 F3 78 */ mr r4, r30 /* 802CB7E4 002C7444 38 A0 00 03 */ li r5, 3 /* 802CB7E8 002C7448 7D 89 03 A6 */ mtctr r12 /* 802CB7EC 002C744C 4E 80 04 21 */ bctrl /* 802CB7F0 002C7450 48 00 02 10 */ b lbl_802CBA00 lbl_802CB7F4: /* 802CB7F4 002C7454 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB7F8 002C7458 38 00 00 08 */ li r0, 8 /* 802CB7FC 002C745C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB800 002C7460 38 80 00 00 */ li r4, 0 /* 802CB804 002C7464 38 A3 19 90 */ addi r5, r3, 0x1990 /* 802CB808 002C7468 7C 09 03 A6 */ mtctr r0 lbl_802CB80C: /* 802CB80C 002C746C 88 05 00 0E */ lbz r0, 0xe(r5) /* 802CB810 002C7470 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB814 002C7474 41 82 00 48 */ beq lbl_802CB85C /* 802CB818 002C7478 A0 05 00 0C */ lhz r0, 0xc(r5) /* 802CB81C 002C747C 7C 00 C8 40 */ cmplw r0, r25 /* 802CB820 002C7480 40 82 00 3C */ bne lbl_802CB85C /* 802CB824 002C7484 80 05 00 00 */ lwz r0, 0(r5) /* 802CB828 002C7488 7C 00 D8 40 */ cmplw r0, r27 /* 802CB82C 002C748C 40 82 00 30 */ bne lbl_802CB85C /* 802CB830 002C7490 2C 1A 00 00 */ cmpwi r26, 0 /* 802CB834 002C7494 41 82 00 10 */ beq lbl_802CB844 /* 802CB838 002C7498 80 05 00 04 */ lwz r0, 4(r5) /* 802CB83C 002C749C 7C 00 E0 40 */ cmplw r0, r28 /* 802CB840 002C74A0 41 82 00 D4 */ beq lbl_802CB914 lbl_802CB844: /* 802CB844 002C74A4 2C 1A 00 00 */ cmpwi r26, 0 /* 802CB848 002C74A8 40 82 00 14 */ bne lbl_802CB85C /* 802CB84C 002C74AC 80 05 00 08 */ lwz r0, 8(r5) /* 802CB850 002C74B0 7C 00 E0 40 */ cmplw r0, r28 /* 802CB854 002C74B4 40 82 00 08 */ bne lbl_802CB85C /* 802CB858 002C74B8 48 00 00 BC */ b lbl_802CB914 lbl_802CB85C: /* 802CB85C 002C74BC 88 05 00 4A */ lbz r0, 0x4a(r5) /* 802CB860 002C74C0 38 A5 00 3C */ addi r5, r5, 0x3c /* 802CB864 002C74C4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB868 002C74C8 41 82 00 48 */ beq lbl_802CB8B0 /* 802CB86C 002C74CC A0 05 00 0C */ lhz r0, 0xc(r5) /* 802CB870 002C74D0 7C 00 C8 40 */ cmplw r0, r25 /* 802CB874 002C74D4 40 82 00 3C */ bne lbl_802CB8B0 /* 802CB878 002C74D8 80 05 00 00 */ lwz r0, 0(r5) /* 802CB87C 002C74DC 7C 00 D8 40 */ cmplw r0, r27 /* 802CB880 002C74E0 40 82 00 30 */ bne lbl_802CB8B0 /* 802CB884 002C74E4 2C 1A 00 00 */ cmpwi r26, 0 /* 802CB888 002C74E8 41 82 00 10 */ beq lbl_802CB898 /* 802CB88C 002C74EC 80 05 00 04 */ lwz r0, 4(r5) /* 802CB890 002C74F0 7C 00 E0 40 */ cmplw r0, r28 /* 802CB894 002C74F4 41 82 00 80 */ beq lbl_802CB914 lbl_802CB898: /* 802CB898 002C74F8 2C 1A 00 00 */ cmpwi r26, 0 /* 802CB89C 002C74FC 40 82 00 14 */ bne lbl_802CB8B0 /* 802CB8A0 002C7500 80 05 00 08 */ lwz r0, 8(r5) /* 802CB8A4 002C7504 7C 00 E0 40 */ cmplw r0, r28 /* 802CB8A8 002C7508 40 82 00 08 */ bne lbl_802CB8B0 /* 802CB8AC 002C750C 48 00 00 68 */ b lbl_802CB914 lbl_802CB8B0: /* 802CB8B0 002C7510 88 05 00 4A */ lbz r0, 0x4a(r5) /* 802CB8B4 002C7514 38 A5 00 3C */ addi r5, r5, 0x3c /* 802CB8B8 002C7518 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CB8BC 002C751C 41 82 00 48 */ beq lbl_802CB904 /* 802CB8C0 002C7520 A0 05 00 0C */ lhz r0, 0xc(r5) /* 802CB8C4 002C7524 7C 00 C8 40 */ cmplw r0, r25 /* 802CB8C8 002C7528 40 82 00 3C */ bne lbl_802CB904 /* 802CB8CC 002C752C 80 05 00 00 */ lwz r0, 0(r5) /* 802CB8D0 002C7530 7C 00 D8 40 */ cmplw r0, r27 /* 802CB8D4 002C7534 40 82 00 30 */ bne lbl_802CB904 /* 802CB8D8 002C7538 2C 1A 00 00 */ cmpwi r26, 0 /* 802CB8DC 002C753C 41 82 00 10 */ beq lbl_802CB8EC /* 802CB8E0 002C7540 80 05 00 04 */ lwz r0, 4(r5) /* 802CB8E4 002C7544 7C 00 E0 40 */ cmplw r0, r28 /* 802CB8E8 002C7548 41 82 00 2C */ beq lbl_802CB914 lbl_802CB8EC: /* 802CB8EC 002C754C 2C 1A 00 00 */ cmpwi r26, 0 /* 802CB8F0 002C7550 40 82 00 14 */ bne lbl_802CB904 /* 802CB8F4 002C7554 80 05 00 08 */ lwz r0, 8(r5) /* 802CB8F8 002C7558 7C 00 E0 40 */ cmplw r0, r28 /* 802CB8FC 002C755C 40 82 00 08 */ bne lbl_802CB904 /* 802CB900 002C7560 48 00 00 14 */ b lbl_802CB914 lbl_802CB904: /* 802CB904 002C7564 38 84 00 02 */ addi r4, r4, 2 /* 802CB908 002C7568 38 A5 00 3C */ addi r5, r5, 0x3c /* 802CB90C 002C756C 42 00 FF 00 */ bdnz lbl_802CB80C /* 802CB910 002C7570 38 A0 00 00 */ li r5, 0 lbl_802CB914: /* 802CB914 002C7574 2C 05 00 00 */ cmpwi r5, 0 /* 802CB918 002C7578 40 82 00 58 */ bne lbl_802CB970 /* 802CB91C 002C757C 2C 1D 00 00 */ cmpwi r29, 0 /* 802CB920 002C7580 41 82 00 1C */ beq lbl_802CB93C /* 802CB924 002C7584 7F AC EB 78 */ mr r12, r29 /* 802CB928 002C7588 7F 03 C3 78 */ mr r3, r24 /* 802CB92C 002C758C 7F C4 F3 78 */ mr r4, r30 /* 802CB930 002C7590 38 A0 00 04 */ li r5, 4 /* 802CB934 002C7594 7D 89 03 A6 */ mtctr r12 /* 802CB938 002C7598 4E 80 04 21 */ bctrl lbl_802CB93C: /* 802CB93C 002C759C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CB940 002C75A0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CB944 002C75A4 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CB948 002C75A8 28 00 00 01 */ cmplwi r0, 1 /* 802CB94C 002C75AC 41 80 00 B4 */ blt lbl_802CBA00 /* 802CB950 002C75B0 3C 80 80 44 */ lis r4, lbl_80441DE8@ha /* 802CB954 002C75B4 7F 25 CB 78 */ mr r5, r25 /* 802CB958 002C75B8 7F 66 DB 78 */ mr r6, r27 /* 802CB95C 002C75BC 7F 87 E3 78 */ mr r7, r28 /* 802CB960 002C75C0 38 84 1D E8 */ addi r4, r4, lbl_80441DE8@l /* 802CB964 002C75C4 3C 60 00 0D */ lis r3, 0xd /* 802CB968 002C75C8 4B FF 15 F1 */ bl LogMsg_3 /* 802CB96C 002C75CC 48 00 00 94 */ b lbl_802CBA00 lbl_802CB970: /* 802CB970 002C75D0 90 BF 00 00 */ stw r5, 0(r31) /* 802CB974 002C75D4 7F E3 FB 78 */ mr r3, r31 /* 802CB978 002C75D8 88 05 00 0E */ lbz r0, 0xe(r5) /* 802CB97C 002C75DC 98 1F 00 81 */ stb r0, 0x81(r31) /* 802CB980 002C75E0 9B 5F 00 80 */ stb r26, 0x80(r31) /* 802CB984 002C75E4 93 BF 00 04 */ stw r29, 4(r31) /* 802CB988 002C75E8 93 DF 00 08 */ stw r30, 8(r31) /* 802CB98C 002C75EC 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CB990 002C75F0 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e /* 802CB994 002C75F4 98 1F 00 76 */ stb r0, 0x76(r31) /* 802CB998 002C75F8 48 00 18 D5 */ bl btm_sec_execute_procedure /* 802CB99C 002C75FC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802CB9A0 002C7600 7C 65 1B 78 */ mr r5, r3 /* 802CB9A4 002C7604 28 00 00 01 */ cmplwi r0, 1 /* 802CB9A8 002C7608 41 82 00 58 */ beq lbl_802CBA00 /* 802CB9AC 002C760C 2C 1D 00 00 */ cmpwi r29, 0 /* 802CB9B0 002C7610 41 82 00 50 */ beq lbl_802CBA00 /* 802CB9B4 002C7614 88 1F 00 80 */ lbz r0, 0x80(r31) /* 802CB9B8 002C7618 2C 00 00 00 */ cmpwi r0, 0 /* 802CB9BC 002C761C 41 82 00 24 */ beq lbl_802CB9E0 /* 802CB9C0 002C7620 80 7F 00 00 */ lwz r3, 0(r31) /* 802CB9C4 002C7624 2C 03 00 00 */ cmpwi r3, 0 /* 802CB9C8 002C7628 41 82 00 18 */ beq lbl_802CB9E0 /* 802CB9CC 002C762C 80 03 00 00 */ lwz r0, 0(r3) /* 802CB9D0 002C7630 28 00 00 03 */ cmplwi r0, 3 /* 802CB9D4 002C7634 40 82 00 0C */ bne lbl_802CB9E0 /* 802CB9D8 002C7638 38 00 00 00 */ li r0, 0 /* 802CB9DC 002C763C 90 03 00 04 */ stw r0, 4(r3) lbl_802CB9E0: /* 802CB9E0 002C7640 7F AC EB 78 */ mr r12, r29 /* 802CB9E4 002C7644 7F 03 C3 78 */ mr r3, r24 /* 802CB9E8 002C7648 7F C4 F3 78 */ mr r4, r30 /* 802CB9EC 002C764C 54 A5 06 3E */ clrlwi r5, r5, 0x18 /* 802CB9F0 002C7650 7D 89 03 A6 */ mtctr r12 /* 802CB9F4 002C7654 4E 80 04 21 */ bctrl /* 802CB9F8 002C7658 38 00 00 00 */ li r0, 0 /* 802CB9FC 002C765C 90 1F 00 04 */ stw r0, 4(r31) lbl_802CBA00: /* 802CBA00 002C7660 39 61 00 30 */ addi r11, r1, 0x30 /* 802CBA04 002C7664 4B EF B7 65 */ bl _restgpr_24 /* 802CBA08 002C7668 80 01 00 34 */ lwz r0, 0x34(r1) /* 802CBA0C 002C766C 7C 08 03 A6 */ mtlr r0 /* 802CBA10 002C7670 38 21 00 30 */ addi r1, r1, 0x30 /* 802CBA14 002C7674 4E 80 00 20 */ blr .global btm_sec_conn_req btm_sec_conn_req: /* 802CBA18 002C7678 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CBA1C 002C767C 7C 08 02 A6 */ mflr r0 /* 802CBA20 002C7680 3C A0 80 57 */ lis r5, lbl_80568B78@ha /* 802CBA24 002C7684 90 01 00 24 */ stw r0, 0x24(r1) /* 802CBA28 002C7688 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l /* 802CBA2C 002C768C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CBA30 002C7690 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CBA34 002C7694 7C 9E 23 78 */ mr r30, r4 /* 802CBA38 002C7698 93 A1 00 14 */ stw r29, 0x14(r1) /* 802CBA3C 002C769C 7C 7D 1B 78 */ mr r29, r3 /* 802CBA40 002C76A0 88 05 19 7A */ lbz r0, 0x197a(r5) /* 802CBA44 002C76A4 2C 00 00 00 */ cmpwi r0, 0 /* 802CBA48 002C76A8 41 82 00 64 */ beq lbl_802CBAAC /* 802CBA4C 002C76AC 4B FF 9B D1 */ bl btm_find_dev /* 802CBA50 002C76B0 2C 03 00 00 */ cmpwi r3, 0 /* 802CBA54 002C76B4 41 82 00 10 */ beq lbl_802CBA64 /* 802CBA58 002C76B8 88 03 00 76 */ lbz r0, 0x76(r3) /* 802CBA5C 002C76BC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 802CBA60 002C76C0 40 82 00 4C */ bne lbl_802CBAAC lbl_802CBA64: /* 802CBA64 002C76C4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CBA68 002C76C8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CBA6C 002C76CC 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CBA70 002C76D0 28 00 00 04 */ cmplwi r0, 4 /* 802CBA74 002C76D4 41 80 00 18 */ blt lbl_802CBA8C /* 802CBA78 002C76D8 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CBA7C 002C76DC 3C 80 80 44 */ lis r4, lbl_80441E28@ha /* 802CBA80 002C76E0 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CBA84 002C76E4 38 84 1E 28 */ addi r4, r4, lbl_80441E28@l /* 802CBA88 002C76E8 4B FF 14 89 */ bl LogMsg_0 lbl_802CBA8C: /* 802CBA8C 002C76EC 38 60 00 02 */ li r3, 2 /* 802CBA90 002C76F0 4B FE E1 BD */ bl GKI_getpoolbuf /* 802CBA94 002C76F4 2C 03 00 00 */ cmpwi r3, 0 /* 802CBA98 002C76F8 41 82 00 90 */ beq lbl_802CBB28 /* 802CBA9C 002C76FC 7F A4 EB 78 */ mr r4, r29 /* 802CBAA0 002C7700 38 A0 00 0F */ li r5, 0xf /* 802CBAA4 002C7704 48 00 47 61 */ bl btsnd_hcic_reject_conn /* 802CBAA8 002C7708 48 00 00 80 */ b lbl_802CBB28 lbl_802CBAAC: /* 802CBAAC 002C770C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CBAB0 002C7710 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CBAB4 002C7714 81 83 19 34 */ lwz r12, 0x1934(r3) /* 802CBAB8 002C7718 2C 0C 00 00 */ cmpwi r12, 0 /* 802CBABC 002C771C 41 82 00 3C */ beq lbl_802CBAF8 /* 802CBAC0 002C7720 7F A3 EB 78 */ mr r3, r29 /* 802CBAC4 002C7724 7F C4 F3 78 */ mr r4, r30 /* 802CBAC8 002C7728 7D 89 03 A6 */ mtctr r12 /* 802CBACC 002C772C 4E 80 04 21 */ bctrl /* 802CBAD0 002C7730 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CBAD4 002C7734 40 82 00 24 */ bne lbl_802CBAF8 /* 802CBAD8 002C7738 38 60 00 02 */ li r3, 2 /* 802CBADC 002C773C 4B FE E1 71 */ bl GKI_getpoolbuf /* 802CBAE0 002C7740 2C 03 00 00 */ cmpwi r3, 0 /* 802CBAE4 002C7744 41 82 00 44 */ beq lbl_802CBB28 /* 802CBAE8 002C7748 7F A4 EB 78 */ mr r4, r29 /* 802CBAEC 002C774C 38 A0 00 0F */ li r5, 0xf /* 802CBAF0 002C7750 48 00 47 15 */ bl btsnd_hcic_reject_conn /* 802CBAF4 002C7754 48 00 00 34 */ b lbl_802CBB28 lbl_802CBAF8: /* 802CBAF8 002C7758 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802CBAFC 002C775C 7F A4 EB 78 */ mr r4, r29 /* 802CBB00 002C7760 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802CBB04 002C7764 38 A0 00 06 */ li r5, 6 /* 802CBB08 002C7768 38 7F 27 B4 */ addi r3, r31, 0x27b4 /* 802CBB0C 002C776C 4B D3 84 F5 */ bl memcpy /* 802CBB10 002C7770 7F C4 F3 78 */ mr r4, r30 /* 802CBB14 002C7774 38 7F 27 BA */ addi r3, r31, 0x27ba /* 802CBB18 002C7778 38 A0 00 03 */ li r5, 3 /* 802CBB1C 002C777C 4B D3 84 E5 */ bl memcpy /* 802CBB20 002C7780 7F A3 EB 78 */ mr r3, r29 /* 802CBB24 002C7784 48 00 BD B5 */ bl l2c_link_hci_conn_req lbl_802CBB28: /* 802CBB28 002C7788 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CBB2C 002C778C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CBB30 002C7790 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CBB34 002C7794 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802CBB38 002C7798 7C 08 03 A6 */ mtlr r0 /* 802CBB3C 002C779C 38 21 00 20 */ addi r1, r1, 0x20 /* 802CBB40 002C77A0 4E 80 00 20 */ blr .global btm_sec_init btm_sec_init: /* 802CBB44 002C77A4 3C C0 80 57 */ lis r6, lbl_80568B78@ha /* 802CBB48 002C77A8 38 80 00 FF */ li r4, 0xff /* 802CBB4C 002C77AC 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l /* 802CBB50 002C77B0 38 A0 00 06 */ li r5, 6 /* 802CBB54 002C77B4 98 66 19 78 */ stb r3, 0x1978(r6) /* 802CBB58 002C77B8 38 66 19 54 */ addi r3, r6, 0x1954 /* 802CBB5C 002C77BC 4B D3 85 A8 */ b memset .global btm_sec_dev_reset btm_sec_dev_reset: /* 802CBB60 002C77C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CBB64 002C77C4 7C 08 02 A6 */ mflr r0 /* 802CBB68 002C77C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CBB6C 002C77CC 90 01 00 14 */ stw r0, 0x14(r1) /* 802CBB70 002C77D0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CBB74 002C77D4 88 03 19 78 */ lbz r0, 0x1978(r3) /* 802CBB78 002C77D8 28 00 00 03 */ cmplwi r0, 3 /* 802CBB7C 002C77DC 40 82 00 14 */ bne lbl_802CBB90 /* 802CBB80 002C77E0 38 60 00 01 */ li r3, 1 /* 802CBB84 002C77E4 48 00 5E 75 */ bl btsnd_hcic_write_auth_enable /* 802CBB88 002C77E8 38 60 00 01 */ li r3, 1 /* 802CBB8C 002C77EC 48 00 5E E1 */ bl btsnd_hcic_write_encr_mode lbl_802CBB90: /* 802CBB90 002C77F0 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CBB94 002C77F4 7C 08 03 A6 */ mtlr r0 /* 802CBB98 002C77F8 38 21 00 10 */ addi r1, r1, 0x10 /* 802CBB9C 002C77FC 4E 80 00 20 */ blr .global btm_sec_abort_access_req btm_sec_abort_access_req: /* 802CBBA0 002C7800 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CBBA4 002C7804 7C 08 02 A6 */ mflr r0 /* 802CBBA8 002C7808 90 01 00 14 */ stw r0, 0x14(r1) /* 802CBBAC 002C780C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802CBBB0 002C7810 93 C1 00 08 */ stw r30, 8(r1) /* 802CBBB4 002C7814 7C 7E 1B 78 */ mr r30, r3 /* 802CBBB8 002C7818 4B FF 9A 65 */ bl btm_find_dev /* 802CBBBC 002C781C 2C 03 00 00 */ cmpwi r3, 0 /* 802CBBC0 002C7820 7C 7F 1B 78 */ mr r31, r3 /* 802CBBC4 002C7824 41 82 00 78 */ beq lbl_802CBC3C /* 802CBBC8 002C7828 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CBBCC 002C782C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CBBD0 002C7830 81 83 19 20 */ lwz r12, 0x1920(r3) /* 802CBBD4 002C7834 2C 0C 00 00 */ cmpwi r12, 0 /* 802CBBD8 002C7838 41 82 00 18 */ beq lbl_802CBBF0 /* 802CBBDC 002C783C 7F C3 F3 78 */ mr r3, r30 /* 802CBBE0 002C7840 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CBBE4 002C7844 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CBBE8 002C7848 7D 89 03 A6 */ mtctr r12 /* 802CBBEC 002C784C 4E 80 04 21 */ bctrl lbl_802CBBF0: /* 802CBBF0 002C7850 88 1F 00 7F */ lbz r0, 0x7f(r31) /* 802CBBF4 002C7854 28 00 00 04 */ cmplwi r0, 4 /* 802CBBF8 002C7858 41 82 00 0C */ beq lbl_802CBC04 /* 802CBBFC 002C785C 28 00 00 01 */ cmplwi r0, 1 /* 802CBC00 002C7860 40 82 00 3C */ bne lbl_802CBC3C lbl_802CBC04: /* 802CBC04 002C7864 38 60 00 00 */ li r3, 0 /* 802CBC08 002C7868 98 7F 00 7F */ stb r3, 0x7f(r31) /* 802CBC0C 002C786C 88 1F 00 80 */ lbz r0, 0x80(r31) /* 802CBC10 002C7870 2C 00 00 00 */ cmpwi r0, 0 /* 802CBC14 002C7874 41 82 00 20 */ beq lbl_802CBC34 /* 802CBC18 002C7878 80 9F 00 00 */ lwz r4, 0(r31) /* 802CBC1C 002C787C 2C 04 00 00 */ cmpwi r4, 0 /* 802CBC20 002C7880 41 82 00 14 */ beq lbl_802CBC34 /* 802CBC24 002C7884 80 04 00 00 */ lwz r0, 0(r4) /* 802CBC28 002C7888 28 00 00 03 */ cmplwi r0, 3 /* 802CBC2C 002C788C 40 82 00 08 */ bne lbl_802CBC34 /* 802CBC30 002C7890 90 64 00 04 */ stw r3, 4(r4) lbl_802CBC34: /* 802CBC34 002C7894 38 00 00 00 */ li r0, 0 /* 802CBC38 002C7898 90 1F 00 04 */ stw r0, 4(r31) lbl_802CBC3C: /* 802CBC3C 002C789C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CBC40 002C78A0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802CBC44 002C78A4 83 C1 00 08 */ lwz r30, 8(r1) /* 802CBC48 002C78A8 7C 08 03 A6 */ mtlr r0 /* 802CBC4C 002C78AC 38 21 00 10 */ addi r1, r1, 0x10 /* 802CBC50 002C78B0 4E 80 00 20 */ blr .global btm_sec_rmt_name_request_complete btm_sec_rmt_name_request_complete: /* 802CBC54 002C78B4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CBC58 002C78B8 7C 08 02 A6 */ mflr r0 /* 802CBC5C 002C78BC 90 01 00 24 */ stw r0, 0x24(r1) /* 802CBC60 002C78C0 39 61 00 20 */ addi r11, r1, 0x20 /* 802CBC64 002C78C4 4B EF B4 C5 */ bl _savegpr_27 /* 802CBC68 002C78C8 2C 03 00 00 */ cmpwi r3, 0 /* 802CBC6C 002C78CC 7C 7B 1B 78 */ mr r27, r3 /* 802CBC70 002C78D0 7C 9C 23 78 */ mr r28, r4 /* 802CBC74 002C78D4 7C BE 2B 78 */ mr r30, r5 /* 802CBC78 002C78D8 41 82 00 10 */ beq lbl_802CBC88 /* 802CBC7C 002C78DC 4B FF 99 A1 */ bl btm_find_dev /* 802CBC80 002C78E0 7C 7F 1B 78 */ mr r31, r3 /* 802CBC84 002C78E4 48 00 00 AC */ b lbl_802CBD30 lbl_802CBC88: /* 802CBC88 002C78E8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CBC8C 002C78EC 38 00 00 04 */ li r0, 4 /* 802CBC90 002C78F0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CBC94 002C78F4 38 80 00 00 */ li r4, 0 /* 802CBC98 002C78F8 3B E3 1F 30 */ addi r31, r3, 0x1f30 /* 802CBC9C 002C78FC 7C 09 03 A6 */ mtctr r0 lbl_802CBCA0: /* 802CBCA0 002C7900 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CBCA4 002C7904 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CBCA8 002C7908 41 82 00 10 */ beq lbl_802CBCB8 /* 802CBCAC 002C790C 88 1F 00 7F */ lbz r0, 0x7f(r31) /* 802CBCB0 002C7910 28 00 00 03 */ cmplwi r0, 3 /* 802CBCB4 002C7914 41 82 00 70 */ beq lbl_802CBD24 lbl_802CBCB8: /* 802CBCB8 002C7918 88 1F 00 FE */ lbz r0, 0xfe(r31) /* 802CBCBC 002C791C 38 84 00 01 */ addi r4, r4, 1 /* 802CBCC0 002C7920 3B FF 00 88 */ addi r31, r31, 0x88 /* 802CBCC4 002C7924 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CBCC8 002C7928 41 82 00 10 */ beq lbl_802CBCD8 /* 802CBCCC 002C792C 88 1F 00 7F */ lbz r0, 0x7f(r31) /* 802CBCD0 002C7930 28 00 00 03 */ cmplwi r0, 3 /* 802CBCD4 002C7934 41 82 00 50 */ beq lbl_802CBD24 lbl_802CBCD8: /* 802CBCD8 002C7938 88 1F 00 FE */ lbz r0, 0xfe(r31) /* 802CBCDC 002C793C 38 84 00 01 */ addi r4, r4, 1 /* 802CBCE0 002C7940 3B FF 00 88 */ addi r31, r31, 0x88 /* 802CBCE4 002C7944 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CBCE8 002C7948 41 82 00 10 */ beq lbl_802CBCF8 /* 802CBCEC 002C794C 88 1F 00 7F */ lbz r0, 0x7f(r31) /* 802CBCF0 002C7950 28 00 00 03 */ cmplwi r0, 3 /* 802CBCF4 002C7954 41 82 00 30 */ beq lbl_802CBD24 lbl_802CBCF8: /* 802CBCF8 002C7958 88 1F 00 FE */ lbz r0, 0xfe(r31) /* 802CBCFC 002C795C 38 84 00 01 */ addi r4, r4, 1 /* 802CBD00 002C7960 3B FF 00 88 */ addi r31, r31, 0x88 /* 802CBD04 002C7964 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CBD08 002C7968 41 82 00 10 */ beq lbl_802CBD18 /* 802CBD0C 002C796C 88 1F 00 7F */ lbz r0, 0x7f(r31) /* 802CBD10 002C7970 28 00 00 03 */ cmplwi r0, 3 /* 802CBD14 002C7974 41 82 00 10 */ beq lbl_802CBD24 lbl_802CBD18: /* 802CBD18 002C7978 38 84 00 01 */ addi r4, r4, 1 /* 802CBD1C 002C797C 3B FF 00 88 */ addi r31, r31, 0x88 /* 802CBD20 002C7980 42 00 FF 80 */ bdnz lbl_802CBCA0 lbl_802CBD24: /* 802CBD24 002C7984 2C 04 00 10 */ cmpwi r4, 0x10 /* 802CBD28 002C7988 40 82 00 08 */ bne lbl_802CBD30 /* 802CBD2C 002C798C 3B E0 00 00 */ li r31, 0 lbl_802CBD30: /* 802CBD30 002C7990 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CBD34 002C7994 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CBD38 002C7998 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CBD3C 002C799C 28 00 00 04 */ cmplwi r0, 4 /* 802CBD40 002C79A0 41 80 00 30 */ blt lbl_802CBD70 /* 802CBD44 002C79A4 2C 1F 00 00 */ cmpwi r31, 0 /* 802CBD48 002C79A8 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CBD4C 002C79AC 3C 80 80 44 */ lis r4, lbl_80441E64@ha /* 802CBD50 002C79B0 7F C5 F3 78 */ mr r5, r30 /* 802CBD54 002C79B4 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CBD58 002C79B8 38 84 1E 64 */ addi r4, r4, lbl_80441E64@l /* 802CBD5C 002C79BC 41 82 00 0C */ beq lbl_802CBD68 /* 802CBD60 002C79C0 88 DF 00 7F */ lbz r6, 0x7f(r31) /* 802CBD64 002C79C4 48 00 00 08 */ b lbl_802CBD6C lbl_802CBD68: /* 802CBD68 002C79C8 38 C0 00 00 */ li r6, 0 lbl_802CBD6C: /* 802CBD6C 002C79CC 4B FF 11 D5 */ bl LogMsg_2 lbl_802CBD70: /* 802CBD70 002C79D0 2C 1F 00 00 */ cmpwi r31, 0 /* 802CBD74 002C79D4 41 82 01 B0 */ beq lbl_802CBF24 /* 802CBD78 002C79D8 2C 1E 00 00 */ cmpwi r30, 0 /* 802CBD7C 002C79DC 40 82 00 5C */ bne lbl_802CBDD8 /* 802CBD80 002C79E0 7F 84 E3 78 */ mr r4, r28 /* 802CBD84 002C79E4 38 7F 00 35 */ addi r3, r31, 0x35 /* 802CBD88 002C79E8 38 A0 00 40 */ li r5, 0x40 /* 802CBD8C 002C79EC 4B D3 82 75 */ bl memcpy /* 802CBD90 002C79F0 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CBD94 002C79F4 3F A0 80 57 */ lis r29, lbl_80568B78@ha /* 802CBD98 002C79F8 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l /* 802CBD9C 002C79FC 3B 80 00 00 */ li r28, 0 /* 802CBDA0 002C7A00 60 00 00 08 */ ori r0, r0, 8 /* 802CBDA4 002C7A04 98 1F 00 76 */ stb r0, 0x76(r31) lbl_802CBDA8: /* 802CBDA8 002C7A08 81 9D 19 2C */ lwz r12, 0x192c(r29) /* 802CBDAC 002C7A0C 2C 0C 00 00 */ cmpwi r12, 0 /* 802CBDB0 002C7A10 41 82 00 18 */ beq lbl_802CBDC8 /* 802CBDB4 002C7A14 7F 63 DB 78 */ mr r3, r27 /* 802CBDB8 002C7A18 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CBDBC 002C7A1C 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CBDC0 002C7A20 7D 89 03 A6 */ mtctr r12 /* 802CBDC4 002C7A24 4E 80 04 21 */ bctrl lbl_802CBDC8: /* 802CBDC8 002C7A28 3B 9C 00 01 */ addi r28, r28, 1 /* 802CBDCC 002C7A2C 3B BD 00 04 */ addi r29, r29, 4 /* 802CBDD0 002C7A30 2C 1C 00 02 */ cmpwi r28, 2 /* 802CBDD4 002C7A34 41 80 FF D4 */ blt lbl_802CBDA8 lbl_802CBDD8: /* 802CBDD8 002C7A38 88 1F 00 82 */ lbz r0, 0x82(r31) /* 802CBDDC 002C7A3C 2C 00 00 00 */ cmpwi r0, 0 /* 802CBDE0 002C7A40 41 82 00 98 */ beq lbl_802CBE78 /* 802CBDE4 002C7A44 88 1F 00 81 */ lbz r0, 0x81(r31) /* 802CBDE8 002C7A48 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CBDEC 002C7A4C 41 82 00 10 */ beq lbl_802CBDFC /* 802CBDF0 002C7A50 88 1F 00 85 */ lbz r0, 0x85(r31) /* 802CBDF4 002C7A54 2C 00 00 00 */ cmpwi r0, 0 /* 802CBDF8 002C7A58 41 82 01 2C */ beq lbl_802CBF24 lbl_802CBDFC: /* 802CBDFC 002C7A5C 38 00 00 00 */ li r0, 0 /* 802CBE00 002C7A60 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CBE04 002C7A64 98 1F 00 82 */ stb r0, 0x82(r31) /* 802CBE08 002C7A68 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CBE0C 002C7A6C 81 83 19 14 */ lwz r12, 0x1914(r3) /* 802CBE10 002C7A70 2C 0C 00 00 */ cmpwi r12, 0 /* 802CBE14 002C7A74 41 82 00 20 */ beq lbl_802CBE34 /* 802CBE18 002C7A78 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CBE1C 002C7A7C 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CBE20 002C7A80 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CBE24 002C7A84 38 DF 00 25 */ addi r6, r31, 0x25 /* 802CBE28 002C7A88 88 FF 00 83 */ lbz r7, 0x83(r31) /* 802CBE2C 002C7A8C 7D 89 03 A6 */ mtctr r12 /* 802CBE30 002C7A90 4E 80 04 21 */ bctrl lbl_802CBE34: /* 802CBE34 002C7A94 3F A0 80 57 */ lis r29, lbl_80568B78@ha /* 802CBE38 002C7A98 3B 80 00 00 */ li r28, 0 /* 802CBE3C 002C7A9C 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l lbl_802CBE40: /* 802CBE40 002C7AA0 81 9D 19 24 */ lwz r12, 0x1924(r29) /* 802CBE44 002C7AA4 2C 0C 00 00 */ cmpwi r12, 0 /* 802CBE48 002C7AA8 41 82 00 20 */ beq lbl_802CBE68 /* 802CBE4C 002C7AAC 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CBE50 002C7AB0 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CBE54 002C7AB4 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CBE58 002C7AB8 38 DF 00 25 */ addi r6, r31, 0x25 /* 802CBE5C 002C7ABC 88 FF 00 83 */ lbz r7, 0x83(r31) /* 802CBE60 002C7AC0 7D 89 03 A6 */ mtctr r12 /* 802CBE64 002C7AC4 4E 80 04 21 */ bctrl lbl_802CBE68: /* 802CBE68 002C7AC8 3B 9C 00 01 */ addi r28, r28, 1 /* 802CBE6C 002C7ACC 3B BD 00 04 */ addi r29, r29, 4 /* 802CBE70 002C7AD0 2C 1C 00 02 */ cmpwi r28, 2 /* 802CBE74 002C7AD4 41 80 FF CC */ blt lbl_802CBE40 lbl_802CBE78: /* 802CBE78 002C7AD8 88 7F 00 81 */ lbz r3, 0x81(r31) /* 802CBE7C 002C7ADC 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 /* 802CBE80 002C7AE0 41 82 00 2C */ beq lbl_802CBEAC /* 802CBE84 002C7AE4 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CBE88 002C7AE8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 802CBE8C 002C7AEC 41 82 00 20 */ beq lbl_802CBEAC /* 802CBE90 002C7AF0 38 00 FF AF */ li r0, -81 /* 802CBE94 002C7AF4 38 80 00 13 */ li r4, 0x13 /* 802CBE98 002C7AF8 7C 60 00 38 */ and r0, r3, r0 /* 802CBE9C 002C7AFC 98 1F 00 81 */ stb r0, 0x81(r31) /* 802CBEA0 002C7B00 A0 7F 00 18 */ lhz r3, 0x18(r31) /* 802CBEA4 002C7B04 48 00 41 ED */ bl btsnd_hcic_disconnect /* 802CBEA8 002C7B08 48 00 00 7C */ b lbl_802CBF24 lbl_802CBEAC: /* 802CBEAC 002C7B0C 88 1F 00 7F */ lbz r0, 0x7f(r31) /* 802CBEB0 002C7B10 28 00 00 03 */ cmplwi r0, 3 /* 802CBEB4 002C7B14 40 82 00 70 */ bne lbl_802CBF24 /* 802CBEB8 002C7B18 3B A0 00 00 */ li r29, 0 /* 802CBEBC 002C7B1C 2C 1E 00 00 */ cmpwi r30, 0 /* 802CBEC0 002C7B20 9B BF 00 7F */ stb r29, 0x7f(r31) /* 802CBEC4 002C7B24 41 82 00 2C */ beq lbl_802CBEF0 /* 802CBEC8 002C7B28 81 9F 00 04 */ lwz r12, 4(r31) /* 802CBECC 002C7B2C 2C 0C 00 00 */ cmpwi r12, 0 /* 802CBED0 002C7B30 41 82 00 54 */ beq lbl_802CBF24 /* 802CBED4 002C7B34 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CBED8 002C7B38 80 9F 00 08 */ lwz r4, 8(r31) /* 802CBEDC 002C7B3C 38 A0 00 0A */ li r5, 0xa /* 802CBEE0 002C7B40 7D 89 03 A6 */ mtctr r12 /* 802CBEE4 002C7B44 4E 80 04 21 */ bctrl /* 802CBEE8 002C7B48 93 BF 00 04 */ stw r29, 4(r31) /* 802CBEEC 002C7B4C 48 00 00 38 */ b lbl_802CBF24 lbl_802CBEF0: /* 802CBEF0 002C7B50 7F E3 FB 78 */ mr r3, r31 /* 802CBEF4 002C7B54 48 00 13 79 */ bl btm_sec_execute_procedure /* 802CBEF8 002C7B58 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 802CBEFC 002C7B5C 28 05 00 01 */ cmplwi r5, 1 /* 802CBF00 002C7B60 41 82 00 24 */ beq lbl_802CBF24 /* 802CBF04 002C7B64 81 9F 00 04 */ lwz r12, 4(r31) /* 802CBF08 002C7B68 2C 0C 00 00 */ cmpwi r12, 0 /* 802CBF0C 002C7B6C 41 82 00 18 */ beq lbl_802CBF24 /* 802CBF10 002C7B70 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CBF14 002C7B74 80 9F 00 08 */ lwz r4, 8(r31) /* 802CBF18 002C7B78 7D 89 03 A6 */ mtctr r12 /* 802CBF1C 002C7B7C 4E 80 04 21 */ bctrl /* 802CBF20 002C7B80 93 BF 00 04 */ stw r29, 4(r31) lbl_802CBF24: /* 802CBF24 002C7B84 39 61 00 20 */ addi r11, r1, 0x20 /* 802CBF28 002C7B88 4B EF B2 4D */ bl _restgpr_27 /* 802CBF2C 002C7B8C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CBF30 002C7B90 7C 08 03 A6 */ mtlr r0 /* 802CBF34 002C7B94 38 21 00 20 */ addi r1, r1, 0x20 /* 802CBF38 002C7B98 4E 80 00 20 */ blr .global btm_sec_auth_complete btm_sec_auth_complete: /* 802CBF3C 002C7B9C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CBF40 002C7BA0 7C 08 02 A6 */ mflr r0 /* 802CBF44 002C7BA4 90 01 00 24 */ stw r0, 0x24(r1) /* 802CBF48 002C7BA8 39 61 00 20 */ addi r11, r1, 0x20 /* 802CBF4C 002C7BAC 4B EF B1 D9 */ bl _savegpr_26 /* 802CBF50 002C7BB0 7C 7D 1B 78 */ mr r29, r3 /* 802CBF54 002C7BB4 7C 9E 23 78 */ mr r30, r4 /* 802CBF58 002C7BB8 4B FF 96 0D */ bl btm_find_dev_by_handle /* 802CBF5C 002C7BBC 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CBF60 002C7BC0 7C 7F 1B 78 */ mr r31, r3 /* 802CBF64 002C7BC4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CBF68 002C7BC8 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CBF6C 002C7BCC 28 00 00 04 */ cmplwi r0, 4 /* 802CBF70 002C7BD0 41 80 00 30 */ blt lbl_802CBFA0 /* 802CBF74 002C7BD4 2C 1F 00 00 */ cmpwi r31, 0 /* 802CBF78 002C7BD8 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CBF7C 002C7BDC 3C 80 80 44 */ lis r4, lbl_80441E9C@ha /* 802CBF80 002C7BE0 7F C5 F3 78 */ mr r5, r30 /* 802CBF84 002C7BE4 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CBF88 002C7BE8 38 84 1E 9C */ addi r4, r4, lbl_80441E9C@l /* 802CBF8C 002C7BEC 41 82 00 0C */ beq lbl_802CBF98 /* 802CBF90 002C7BF0 88 DF 00 7F */ lbz r6, 0x7f(r31) /* 802CBF94 002C7BF4 48 00 00 08 */ b lbl_802CBF9C lbl_802CBF98: /* 802CBF98 002C7BF8 38 C0 00 00 */ li r6, 0 lbl_802CBF9C: /* 802CBF9C 002C7BFC 4B FF 0F A5 */ bl LogMsg_2 lbl_802CBFA0: /* 802CBFA0 002C7C00 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CBFA4 002C7C04 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CBFA8 002C7C08 88 04 19 7B */ lbz r0, 0x197b(r4) /* 802CBFAC 002C7C0C 2C 00 00 00 */ cmpwi r0, 0 /* 802CBFB0 002C7C10 41 82 00 58 */ beq lbl_802CC008 /* 802CBFB4 002C7C14 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CBFB8 002C7C18 38 60 00 00 */ li r3, 0 /* 802CBFBC 002C7C1C 98 64 19 7B */ stb r3, 0x197b(r4) /* 802CBFC0 002C7C20 28 00 00 05 */ cmplwi r0, 5 /* 802CBFC4 002C7C24 41 80 00 28 */ blt lbl_802CBFEC /* 802CBFC8 002C7C28 88 64 19 78 */ lbz r3, 0x1978(r4) /* 802CBFCC 002C7C2C 3C 80 80 44 */ lis r4, lbl_80441B8C@ha /* 802CBFD0 002C7C30 3C A0 00 0D */ lis r5, 0x000D0004@ha /* 802CBFD4 002C7C34 38 03 FF FD */ addi r0, r3, -3 /* 802CBFD8 002C7C38 38 84 1B 8C */ addi r4, r4, lbl_80441B8C@l /* 802CBFDC 002C7C3C 7C 00 00 34 */ cntlzw r0, r0 /* 802CBFE0 002C7C40 38 65 00 04 */ addi r3, r5, 0x000D0004@l /* 802CBFE4 002C7C44 54 05 D9 7E */ srwi r5, r0, 5 /* 802CBFE8 002C7C48 4B FF 0F 41 */ bl LogMsg_1 lbl_802CBFEC: /* 802CBFEC 002C7C4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CBFF0 002C7C50 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CBFF4 002C7C54 88 63 19 78 */ lbz r3, 0x1978(r3) /* 802CBFF8 002C7C58 38 03 FF FD */ addi r0, r3, -3 /* 802CBFFC 002C7C5C 7C 00 00 34 */ cntlzw r0, r0 /* 802CC000 002C7C60 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f /* 802CC004 002C7C64 48 00 59 F5 */ bl btsnd_hcic_write_auth_enable lbl_802CC008: /* 802CC008 002C7C68 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CC00C 002C7C6C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CC010 002C7C70 88 04 19 7C */ lbz r0, 0x197c(r4) /* 802CC014 002C7C74 2C 00 00 00 */ cmpwi r0, 0 /* 802CC018 002C7C78 41 82 00 14 */ beq lbl_802CC02C /* 802CC01C 002C7C7C 38 00 00 00 */ li r0, 0 /* 802CC020 002C7C80 88 64 00 20 */ lbz r3, 0x20(r4) /* 802CC024 002C7C84 98 04 19 7C */ stb r0, 0x197c(r4) /* 802CC028 002C7C88 48 00 54 5D */ bl btsnd_hcic_write_pin_type lbl_802CC02C: /* 802CC02C 002C7C8C 2C 1F 00 00 */ cmpwi r31, 0 /* 802CC030 002C7C90 41 82 00 90 */ beq lbl_802CC0C0 /* 802CC034 002C7C94 88 7F 00 81 */ lbz r3, 0x81(r31) /* 802CC038 002C7C98 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 /* 802CC03C 002C7C9C 41 82 00 84 */ beq lbl_802CC0C0 /* 802CC040 002C7CA0 3F 60 80 57 */ lis r27, lbl_80568B78@ha /* 802CC044 002C7CA4 3B 7B 8B 78 */ addi r27, r27, lbl_80568B78@l /* 802CC048 002C7CA8 88 1B 19 7D */ lbz r0, 0x197d(r27) /* 802CC04C 002C7CAC 2C 00 00 00 */ cmpwi r0, 0 /* 802CC050 002C7CB0 40 82 00 70 */ bne lbl_802CC0C0 /* 802CC054 002C7CB4 38 00 FF AF */ li r0, -81 /* 802CC058 002C7CB8 7C 60 00 38 */ and r0, r3, r0 /* 802CC05C 002C7CBC 98 1F 00 81 */ stb r0, 0x81(r31) /* 802CC060 002C7CC0 8B 5B 19 7E */ lbz r26, 0x197e(r27) /* 802CC064 002C7CC4 2C 1A 00 00 */ cmpwi r26, 0 /* 802CC068 002C7CC8 41 82 00 58 */ beq lbl_802CC0C0 /* 802CC06C 002C7CCC 7F A3 EB 78 */ mr r3, r29 /* 802CC070 002C7CD0 4B FF 94 F5 */ bl btm_find_dev_by_handle /* 802CC074 002C7CD4 2C 03 00 00 */ cmpwi r3, 0 /* 802CC078 002C7CD8 7C 7C 1B 78 */ mr r28, r3 /* 802CC07C 002C7CDC 41 82 00 44 */ beq lbl_802CC0C0 /* 802CC080 002C7CE0 88 03 00 81 */ lbz r0, 0x81(r3) /* 802CC084 002C7CE4 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CC088 002C7CE8 41 82 00 0C */ beq lbl_802CC094 /* 802CC08C 002C7CEC 9B 5B 19 7E */ stb r26, 0x197e(r27) /* 802CC090 002C7CF0 48 00 00 30 */ b lbl_802CC0C0 lbl_802CC094: /* 802CC094 002C7CF4 8B 63 00 7F */ lbz r27, 0x7f(r3) /* 802CC098 002C7CF8 28 1B 00 05 */ cmplwi r27, 5 /* 802CC09C 002C7CFC 41 82 00 24 */ beq lbl_802CC0C0 /* 802CC0A0 002C7D00 38 00 00 05 */ li r0, 5 /* 802CC0A4 002C7D04 7F 44 D3 78 */ mr r4, r26 /* 802CC0A8 002C7D08 98 03 00 7F */ stb r0, 0x7f(r3) /* 802CC0AC 002C7D0C 7F A3 EB 78 */ mr r3, r29 /* 802CC0B0 002C7D10 48 00 3F E1 */ bl btsnd_hcic_disconnect /* 802CC0B4 002C7D14 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CC0B8 002C7D18 40 82 00 08 */ bne lbl_802CC0C0 /* 802CC0BC 002C7D1C 9B 7C 00 7F */ stb r27, 0x7f(r28) lbl_802CC0C0: /* 802CC0C0 002C7D20 2C 1F 00 00 */ cmpwi r31, 0 /* 802CC0C4 002C7D24 41 82 01 A4 */ beq lbl_802CC268 /* 802CC0C8 002C7D28 88 1F 00 7F */ lbz r0, 0x7f(r31) /* 802CC0CC 002C7D2C 28 00 00 01 */ cmplwi r0, 1 /* 802CC0D0 002C7D30 41 82 00 3C */ beq lbl_802CC10C /* 802CC0D4 002C7D34 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CC0D8 002C7D38 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CC0DC 002C7D3C 81 83 19 1C */ lwz r12, 0x191c(r3) /* 802CC0E0 002C7D40 2C 0C 00 00 */ cmpwi r12, 0 /* 802CC0E4 002C7D44 41 82 01 84 */ beq lbl_802CC268 /* 802CC0E8 002C7D48 2C 1E 00 00 */ cmpwi r30, 0 /* 802CC0EC 002C7D4C 41 82 01 7C */ beq lbl_802CC268 /* 802CC0F0 002C7D50 7F C6 F3 78 */ mr r6, r30 /* 802CC0F4 002C7D54 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC0F8 002C7D58 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CC0FC 002C7D5C 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CC100 002C7D60 7D 89 03 A6 */ mtctr r12 /* 802CC104 002C7D64 4E 80 04 21 */ bctrl /* 802CC108 002C7D68 48 00 01 60 */ b lbl_802CC268 lbl_802CC10C: /* 802CC10C 002C7D6C 28 1E 00 0C */ cmplwi r30, 0xc /* 802CC110 002C7D70 40 82 00 18 */ bne lbl_802CC128 /* 802CC114 002C7D74 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CC118 002C7D78 54 00 07 7C */ rlwinm r0, r0, 0, 0x1d, 0x1e /* 802CC11C 002C7D7C 2C 00 00 06 */ cmpwi r0, 6 /* 802CC120 002C7D80 40 82 00 08 */ bne lbl_802CC128 /* 802CC124 002C7D84 3B C0 00 00 */ li r30, 0 lbl_802CC128: /* 802CC128 002C7D88 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CC12C 002C7D8C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CC130 002C7D90 81 83 19 1C */ lwz r12, 0x191c(r3) /* 802CC134 002C7D94 2C 0C 00 00 */ cmpwi r12, 0 /* 802CC138 002C7D98 41 82 00 1C */ beq lbl_802CC154 /* 802CC13C 002C7D9C 7F C6 F3 78 */ mr r6, r30 /* 802CC140 002C7DA0 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC144 002C7DA4 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CC148 002C7DA8 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CC14C 002C7DAC 7D 89 03 A6 */ mtctr r12 /* 802CC150 002C7DB0 4E 80 04 21 */ bctrl lbl_802CC154: /* 802CC154 002C7DB4 3B A0 00 00 */ li r29, 0 /* 802CC158 002C7DB8 9B BF 00 7F */ stb r29, 0x7f(r31) /* 802CC15C 002C7DBC 88 7F 00 81 */ lbz r3, 0x81(r31) /* 802CC160 002C7DC0 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 /* 802CC164 002C7DC4 41 82 00 20 */ beq lbl_802CC184 /* 802CC168 002C7DC8 38 00 FF AF */ li r0, -81 /* 802CC16C 002C7DCC 38 80 00 13 */ li r4, 0x13 /* 802CC170 002C7DD0 7C 60 00 38 */ and r0, r3, r0 /* 802CC174 002C7DD4 98 1F 00 81 */ stb r0, 0x81(r31) /* 802CC178 002C7DD8 A0 7F 00 18 */ lhz r3, 0x18(r31) /* 802CC17C 002C7DDC 48 00 3F 15 */ bl btsnd_hcic_disconnect /* 802CC180 002C7DE0 48 00 00 E8 */ b lbl_802CC268 lbl_802CC184: /* 802CC184 002C7DE4 2C 1E 00 00 */ cmpwi r30, 0 /* 802CC188 002C7DE8 41 82 00 68 */ beq lbl_802CC1F0 /* 802CC18C 002C7DEC 80 1F 00 04 */ lwz r0, 4(r31) /* 802CC190 002C7DF0 2C 00 00 00 */ cmpwi r0, 0 /* 802CC194 002C7DF4 41 82 00 4C */ beq lbl_802CC1E0 /* 802CC198 002C7DF8 88 1F 00 80 */ lbz r0, 0x80(r31) /* 802CC19C 002C7DFC 2C 00 00 00 */ cmpwi r0, 0 /* 802CC1A0 002C7E00 41 82 00 20 */ beq lbl_802CC1C0 /* 802CC1A4 002C7E04 80 7F 00 00 */ lwz r3, 0(r31) /* 802CC1A8 002C7E08 2C 03 00 00 */ cmpwi r3, 0 /* 802CC1AC 002C7E0C 41 82 00 14 */ beq lbl_802CC1C0 /* 802CC1B0 002C7E10 80 03 00 00 */ lwz r0, 0(r3) /* 802CC1B4 002C7E14 28 00 00 03 */ cmplwi r0, 3 /* 802CC1B8 002C7E18 40 82 00 08 */ bne lbl_802CC1C0 /* 802CC1BC 002C7E1C 93 A3 00 04 */ stw r29, 4(r3) lbl_802CC1C0: /* 802CC1C0 002C7E20 81 9F 00 04 */ lwz r12, 4(r31) /* 802CC1C4 002C7E24 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC1C8 002C7E28 80 9F 00 08 */ lwz r4, 8(r31) /* 802CC1CC 002C7E2C 38 A0 00 0A */ li r5, 0xa /* 802CC1D0 002C7E30 7D 89 03 A6 */ mtctr r12 /* 802CC1D4 002C7E34 4E 80 04 21 */ bctrl /* 802CC1D8 002C7E38 38 00 00 00 */ li r0, 0 /* 802CC1DC 002C7E3C 90 1F 00 04 */ stw r0, 4(r31) lbl_802CC1E0: /* 802CC1E0 002C7E40 A0 7F 00 18 */ lhz r3, 0x18(r31) /* 802CC1E4 002C7E44 38 80 00 05 */ li r4, 5 /* 802CC1E8 002C7E48 48 00 3E A9 */ bl btsnd_hcic_disconnect /* 802CC1EC 002C7E4C 48 00 00 7C */ b lbl_802CC268 lbl_802CC1F0: /* 802CC1F0 002C7E50 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CC1F4 002C7E54 7F E3 FB 78 */ mr r3, r31 /* 802CC1F8 002C7E58 60 00 00 02 */ ori r0, r0, 2 /* 802CC1FC 002C7E5C 98 1F 00 76 */ stb r0, 0x76(r31) /* 802CC200 002C7E60 48 00 10 6D */ bl btm_sec_execute_procedure /* 802CC204 002C7E64 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802CC208 002C7E68 7C 64 1B 78 */ mr r4, r3 /* 802CC20C 002C7E6C 28 00 00 01 */ cmplwi r0, 1 /* 802CC210 002C7E70 41 82 00 58 */ beq lbl_802CC268 /* 802CC214 002C7E74 80 1F 00 04 */ lwz r0, 4(r31) /* 802CC218 002C7E78 2C 00 00 00 */ cmpwi r0, 0 /* 802CC21C 002C7E7C 41 82 00 4C */ beq lbl_802CC268 /* 802CC220 002C7E80 88 1F 00 80 */ lbz r0, 0x80(r31) /* 802CC224 002C7E84 2C 00 00 00 */ cmpwi r0, 0 /* 802CC228 002C7E88 41 82 00 20 */ beq lbl_802CC248 /* 802CC22C 002C7E8C 80 7F 00 00 */ lwz r3, 0(r31) /* 802CC230 002C7E90 2C 03 00 00 */ cmpwi r3, 0 /* 802CC234 002C7E94 41 82 00 14 */ beq lbl_802CC248 /* 802CC238 002C7E98 80 03 00 00 */ lwz r0, 0(r3) /* 802CC23C 002C7E9C 28 00 00 03 */ cmplwi r0, 3 /* 802CC240 002C7EA0 40 82 00 08 */ bne lbl_802CC248 /* 802CC244 002C7EA4 93 A3 00 04 */ stw r29, 4(r3) lbl_802CC248: /* 802CC248 002C7EA8 81 9F 00 04 */ lwz r12, 4(r31) /* 802CC24C 002C7EAC 54 85 06 3E */ clrlwi r5, r4, 0x18 /* 802CC250 002C7EB0 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC254 002C7EB4 80 9F 00 08 */ lwz r4, 8(r31) /* 802CC258 002C7EB8 7D 89 03 A6 */ mtctr r12 /* 802CC25C 002C7EBC 4E 80 04 21 */ bctrl /* 802CC260 002C7EC0 38 00 00 00 */ li r0, 0 /* 802CC264 002C7EC4 90 1F 00 04 */ stw r0, 4(r31) lbl_802CC268: /* 802CC268 002C7EC8 39 61 00 20 */ addi r11, r1, 0x20 /* 802CC26C 002C7ECC 4B EF AF 05 */ bl _restgpr_26 /* 802CC270 002C7ED0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CC274 002C7ED4 7C 08 03 A6 */ mtlr r0 /* 802CC278 002C7ED8 38 21 00 20 */ addi r1, r1, 0x20 /* 802CC27C 002C7EDC 4E 80 00 20 */ blr .global btm_sec_mkey_comp_event btm_sec_mkey_comp_event: /* 802CC280 002C7EE0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CC284 002C7EE4 7C 08 02 A6 */ mflr r0 /* 802CC288 002C7EE8 90 01 00 24 */ stw r0, 0x24(r1) /* 802CC28C 002C7EEC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CC290 002C7EF0 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CC294 002C7EF4 7C BE 2B 78 */ mr r30, r5 /* 802CC298 002C7EF8 93 A1 00 14 */ stw r29, 0x14(r1) /* 802CC29C 002C7EFC 7C 9D 23 78 */ mr r29, r4 /* 802CC2A0 002C7F00 4B FF 92 C5 */ bl btm_find_dev_by_handle /* 802CC2A4 002C7F04 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CC2A8 002C7F08 88 E2 A4 80 */ lbz r7, lbl_80642A80-_SDA2_BASE_(r2) /* 802CC2AC 002C7F0C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CC2B0 002C7F10 88 C2 A4 81 */ lbz r6, lbl_80642A81-_SDA2_BASE_(r2) /* 802CC2B4 002C7F14 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CC2B8 002C7F18 7C 7F 1B 78 */ mr r31, r3 /* 802CC2BC 002C7F1C 88 A2 A4 82 */ lbz r5, lbl_80642A82-_SDA2_BASE_(r2) /* 802CC2C0 002C7F20 88 82 A4 83 */ lbz r4, lbl_80642A83-_SDA2_BASE_(r2) /* 802CC2C4 002C7F24 28 00 00 04 */ cmplwi r0, 4 /* 802CC2C8 002C7F28 88 62 A4 84 */ lbz r3, lbl_80642A84-_SDA2_BASE_(r2) /* 802CC2CC 002C7F2C 88 02 A4 85 */ lbz r0, lbl_80642A85-_SDA2_BASE_(r2) /* 802CC2D0 002C7F30 98 E1 00 08 */ stb r7, 8(r1) /* 802CC2D4 002C7F34 98 C1 00 09 */ stb r6, 9(r1) /* 802CC2D8 002C7F38 98 A1 00 0A */ stb r5, 0xa(r1) /* 802CC2DC 002C7F3C 98 81 00 0B */ stb r4, 0xb(r1) /* 802CC2E0 002C7F40 98 61 00 0C */ stb r3, 0xc(r1) /* 802CC2E4 002C7F44 98 01 00 0D */ stb r0, 0xd(r1) /* 802CC2E8 002C7F48 41 80 00 30 */ blt lbl_802CC318 /* 802CC2EC 002C7F4C 2C 1F 00 00 */ cmpwi r31, 0 /* 802CC2F0 002C7F50 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CC2F4 002C7F54 3C 80 80 44 */ lis r4, lbl_80441ED0@ha /* 802CC2F8 002C7F58 7F A5 EB 78 */ mr r5, r29 /* 802CC2FC 002C7F5C 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CC300 002C7F60 38 84 1E D0 */ addi r4, r4, lbl_80441ED0@l /* 802CC304 002C7F64 41 82 00 0C */ beq lbl_802CC310 /* 802CC308 002C7F68 88 DF 00 7F */ lbz r6, 0x7f(r31) /* 802CC30C 002C7F6C 48 00 00 08 */ b lbl_802CC314 lbl_802CC310: /* 802CC310 002C7F70 38 C0 00 00 */ li r6, 0 lbl_802CC314: /* 802CC314 002C7F74 4B FF 0C 2D */ bl LogMsg_2 lbl_802CC318: /* 802CC318 002C7F78 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CC31C 002C7F7C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CC320 002C7F80 81 83 27 B0 */ lwz r12, 0x27b0(r3) /* 802CC324 002C7F84 2C 0C 00 00 */ cmpwi r12, 0 /* 802CC328 002C7F88 41 82 00 38 */ beq lbl_802CC360 /* 802CC32C 002C7F8C 2C 1F 00 00 */ cmpwi r31, 0 /* 802CC330 002C7F90 40 82 00 1C */ bne lbl_802CC34C /* 802CC334 002C7F94 7F A4 EB 78 */ mr r4, r29 /* 802CC338 002C7F98 7F C5 F3 78 */ mr r5, r30 /* 802CC33C 002C7F9C 38 61 00 08 */ addi r3, r1, 8 /* 802CC340 002C7FA0 7D 89 03 A6 */ mtctr r12 /* 802CC344 002C7FA4 4E 80 04 21 */ bctrl /* 802CC348 002C7FA8 48 00 00 18 */ b lbl_802CC360 lbl_802CC34C: /* 802CC34C 002C7FAC 7F A4 EB 78 */ mr r4, r29 /* 802CC350 002C7FB0 7F C5 F3 78 */ mr r5, r30 /* 802CC354 002C7FB4 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC358 002C7FB8 7D 89 03 A6 */ mtctr r12 /* 802CC35C 002C7FBC 4E 80 04 21 */ bctrl lbl_802CC360: /* 802CC360 002C7FC0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CC364 002C7FC4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CC368 002C7FC8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CC36C 002C7FCC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802CC370 002C7FD0 7C 08 03 A6 */ mtlr r0 /* 802CC374 002C7FD4 38 21 00 20 */ addi r1, r1, 0x20 /* 802CC378 002C7FD8 4E 80 00 20 */ blr .global btm_sec_encrypt_change btm_sec_encrypt_change: /* 802CC37C 002C7FDC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CC380 002C7FE0 7C 08 02 A6 */ mflr r0 /* 802CC384 002C7FE4 90 01 00 14 */ stw r0, 0x14(r1) /* 802CC388 002C7FE8 93 E1 00 0C */ stw r31, 0xc(r1) /* 802CC38C 002C7FEC 7C 9F 23 78 */ mr r31, r4 /* 802CC390 002C7FF0 93 C1 00 08 */ stw r30, 8(r1) /* 802CC394 002C7FF4 4B FF 91 D1 */ bl btm_find_dev_by_handle /* 802CC398 002C7FF8 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CC39C 002C7FFC 7C 7E 1B 78 */ mr r30, r3 /* 802CC3A0 002C8000 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CC3A4 002C8004 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CC3A8 002C8008 28 00 00 04 */ cmplwi r0, 4 /* 802CC3AC 002C800C 41 80 00 30 */ blt lbl_802CC3DC /* 802CC3B0 002C8010 2C 1E 00 00 */ cmpwi r30, 0 /* 802CC3B4 002C8014 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CC3B8 002C8018 3C 80 80 44 */ lis r4, lbl_80441F00@ha /* 802CC3BC 002C801C 7F E5 FB 78 */ mr r5, r31 /* 802CC3C0 002C8020 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CC3C4 002C8024 38 84 1F 00 */ addi r4, r4, lbl_80441F00@l /* 802CC3C8 002C8028 41 82 00 0C */ beq lbl_802CC3D4 /* 802CC3CC 002C802C 88 DE 00 7F */ lbz r6, 0x7f(r30) /* 802CC3D0 002C8030 48 00 00 08 */ b lbl_802CC3D8 lbl_802CC3D4: /* 802CC3D4 002C8034 38 C0 00 00 */ li r6, 0 lbl_802CC3D8: /* 802CC3D8 002C8038 4B FF 0B 69 */ bl LogMsg_2 lbl_802CC3DC: /* 802CC3DC 002C803C 2C 1E 00 00 */ cmpwi r30, 0 /* 802CC3E0 002C8040 41 82 00 C0 */ beq lbl_802CC4A0 /* 802CC3E4 002C8044 28 1F 00 23 */ cmplwi r31, 0x23 /* 802CC3E8 002C8048 40 82 00 30 */ bne lbl_802CC418 /* 802CC3EC 002C804C 3C E0 80 57 */ lis r7, lbl_80568B78@ha /* 802CC3F0 002C8050 3C C0 80 2D */ lis r6, btm_sec_collision_timeout@ha /* 802CC3F4 002C8054 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l /* 802CC3F8 002C8058 38 80 00 16 */ li r4, 0x16 /* 802CC3FC 002C805C 38 C6 D7 68 */ addi r6, r6, btm_sec_collision_timeout@l /* 802CC400 002C8060 93 C7 19 38 */ stw r30, 0x1938(r7) /* 802CC404 002C8064 38 67 19 5C */ addi r3, r7, 0x195c /* 802CC408 002C8068 38 A0 00 01 */ li r5, 1 /* 802CC40C 002C806C 90 C7 19 6C */ stw r6, 0x196c(r7) /* 802CC410 002C8070 4B FF 10 CD */ bl btu_start_timer /* 802CC414 002C8074 48 00 00 8C */ b lbl_802CC4A0 lbl_802CC418: /* 802CC418 002C8078 2C 1F 00 00 */ cmpwi r31, 0 /* 802CC41C 002C807C 41 82 00 30 */ beq lbl_802CC44C /* 802CC420 002C8080 81 9E 00 04 */ lwz r12, 4(r30) /* 802CC424 002C8084 2C 0C 00 00 */ cmpwi r12, 0 /* 802CC428 002C8088 41 82 00 78 */ beq lbl_802CC4A0 /* 802CC42C 002C808C 38 7E 00 1C */ addi r3, r30, 0x1c /* 802CC430 002C8090 80 9E 00 08 */ lwz r4, 8(r30) /* 802CC434 002C8094 38 A0 00 0A */ li r5, 0xa /* 802CC438 002C8098 7D 89 03 A6 */ mtctr r12 /* 802CC43C 002C809C 4E 80 04 21 */ bctrl /* 802CC440 002C80A0 38 00 00 00 */ li r0, 0 /* 802CC444 002C80A4 90 1E 00 04 */ stw r0, 4(r30) /* 802CC448 002C80A8 48 00 00 58 */ b lbl_802CC4A0 lbl_802CC44C: /* 802CC44C 002C80AC 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802CC450 002C80B0 60 00 00 06 */ ori r0, r0, 6 /* 802CC454 002C80B4 98 1E 00 76 */ stb r0, 0x76(r30) /* 802CC458 002C80B8 88 1E 00 7F */ lbz r0, 0x7f(r30) /* 802CC45C 002C80BC 28 00 00 02 */ cmplwi r0, 2 /* 802CC460 002C80C0 40 82 00 40 */ bne lbl_802CC4A0 /* 802CC464 002C80C4 3B E0 00 00 */ li r31, 0 /* 802CC468 002C80C8 7F C3 F3 78 */ mr r3, r30 /* 802CC46C 002C80CC 9B FE 00 7F */ stb r31, 0x7f(r30) /* 802CC470 002C80D0 48 00 0D FD */ bl btm_sec_execute_procedure /* 802CC474 002C80D4 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 802CC478 002C80D8 28 05 00 01 */ cmplwi r5, 1 /* 802CC47C 002C80DC 41 82 00 24 */ beq lbl_802CC4A0 /* 802CC480 002C80E0 81 9E 00 04 */ lwz r12, 4(r30) /* 802CC484 002C80E4 2C 0C 00 00 */ cmpwi r12, 0 /* 802CC488 002C80E8 41 82 00 18 */ beq lbl_802CC4A0 /* 802CC48C 002C80EC 38 7E 00 1C */ addi r3, r30, 0x1c /* 802CC490 002C80F0 80 9E 00 08 */ lwz r4, 8(r30) /* 802CC494 002C80F4 7D 89 03 A6 */ mtctr r12 /* 802CC498 002C80F8 4E 80 04 21 */ bctrl /* 802CC49C 002C80FC 93 FE 00 04 */ stw r31, 4(r30) lbl_802CC4A0: /* 802CC4A0 002C8100 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CC4A4 002C8104 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802CC4A8 002C8108 83 C1 00 08 */ lwz r30, 8(r1) /* 802CC4AC 002C810C 7C 08 03 A6 */ mtlr r0 /* 802CC4B0 002C8110 38 21 00 10 */ addi r1, r1, 0x10 /* 802CC4B4 002C8114 4E 80 00 20 */ blr .global btm_sec_is_bonding btm_sec_is_bonding: /* 802CC4B8 002C8118 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CC4BC 002C811C 7C 08 02 A6 */ mflr r0 /* 802CC4C0 002C8120 90 01 00 14 */ stw r0, 0x14(r1) /* 802CC4C4 002C8124 4B FF 90 A1 */ bl btm_find_dev_by_handle /* 802CC4C8 002C8128 2C 03 00 00 */ cmpwi r3, 0 /* 802CC4CC 002C812C 41 82 00 18 */ beq lbl_802CC4E4 /* 802CC4D0 002C8130 88 03 00 81 */ lbz r0, 0x81(r3) /* 802CC4D4 002C8134 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CC4D8 002C8138 41 82 00 0C */ beq lbl_802CC4E4 /* 802CC4DC 002C813C 38 60 00 01 */ li r3, 1 /* 802CC4E0 002C8140 48 00 00 08 */ b lbl_802CC4E8 lbl_802CC4E4: /* 802CC4E4 002C8144 38 60 00 00 */ li r3, 0 lbl_802CC4E8: /* 802CC4E8 002C8148 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CC4EC 002C814C 7C 08 03 A6 */ mtlr r0 /* 802CC4F0 002C8150 38 21 00 10 */ addi r1, r1, 0x10 /* 802CC4F4 002C8154 4E 80 00 20 */ blr .global btm_sec_connected btm_sec_connected: /* 802CC4F8 002C8158 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CC4FC 002C815C 7C 08 02 A6 */ mflr r0 /* 802CC500 002C8160 90 01 00 24 */ stw r0, 0x24(r1) /* 802CC504 002C8164 39 61 00 20 */ addi r11, r1, 0x20 /* 802CC508 002C8168 4B EF AC 21 */ bl _savegpr_27 /* 802CC50C 002C816C 7C 7B 1B 78 */ mr r27, r3 /* 802CC510 002C8170 7C 9C 23 78 */ mr r28, r4 /* 802CC514 002C8174 7C BD 2B 78 */ mr r29, r5 /* 802CC518 002C8178 7C DE 33 78 */ mr r30, r6 /* 802CC51C 002C817C 4B FF 91 01 */ bl btm_find_dev /* 802CC520 002C8180 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CC524 002C8184 7C 7F 1B 78 */ mr r31, r3 /* 802CC528 002C8188 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CC52C 002C818C 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CC530 002C8190 28 00 00 04 */ cmplwi r0, 4 /* 802CC534 002C8194 41 80 00 24 */ blt lbl_802CC558 /* 802CC538 002C8198 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CC53C 002C819C 3C 80 80 44 */ lis r4, lbl_80441F34@ha /* 802CC540 002C81A0 7F 85 E3 78 */ mr r5, r28 /* 802CC544 002C81A4 7F A6 EB 78 */ mr r6, r29 /* 802CC548 002C81A8 7F C7 F3 78 */ mr r7, r30 /* 802CC54C 002C81AC 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CC550 002C81B0 38 84 1F 34 */ addi r4, r4, lbl_80441F34@l /* 802CC554 002C81B4 4B FF 0A 05 */ bl LogMsg_3 lbl_802CC558: /* 802CC558 002C81B8 2C 1F 00 00 */ cmpwi r31, 0 /* 802CC55C 002C81BC 40 82 00 28 */ bne lbl_802CC584 /* 802CC560 002C81C0 2C 1D 00 00 */ cmpwi r29, 0 /* 802CC564 002C81C4 40 82 03 FC */ bne lbl_802CC960 /* 802CC568 002C81C8 7F 63 DB 78 */ mr r3, r27 /* 802CC56C 002C81CC 4B FF 8E D9 */ bl btm_sec_alloc_dev /* 802CC570 002C81D0 2C 03 00 00 */ cmpwi r3, 0 /* 802CC574 002C81D4 7C 7F 1B 78 */ mr r31, r3 /* 802CC578 002C81D8 40 82 00 2C */ bne lbl_802CC5A4 /* 802CC57C 002C81DC 48 00 03 E4 */ b lbl_802CC960 /* 802CC580 002C81E0 48 00 03 E0 */ b lbl_802CC960 lbl_802CC584: /* 802CC584 002C81E4 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CC588 002C81E8 38 00 00 01 */ li r0, 1 /* 802CC58C 002C81EC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CC590 002C81F0 80 64 19 74 */ lwz r3, 0x1974(r4) /* 802CC594 002C81F4 90 7F 00 0C */ stw r3, 0xc(r31) /* 802CC598 002C81F8 38 63 00 01 */ addi r3, r3, 1 /* 802CC59C 002C81FC 90 64 19 74 */ stw r3, 0x1974(r4) /* 802CC5A0 002C8200 98 1F 00 85 */ stb r0, 0x85(r31) lbl_802CC5A4: /* 802CC5A4 002C8204 88 1F 00 81 */ lbz r0, 0x81(r31) /* 802CC5A8 002C8208 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CC5AC 002C820C 41 82 00 90 */ beq lbl_802CC63C /* 802CC5B0 002C8210 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CC5B4 002C8214 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CC5B8 002C8218 88 04 19 7B */ lbz r0, 0x197b(r4) /* 802CC5BC 002C821C 2C 00 00 00 */ cmpwi r0, 0 /* 802CC5C0 002C8220 41 82 00 58 */ beq lbl_802CC618 /* 802CC5C4 002C8224 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CC5C8 002C8228 38 60 00 00 */ li r3, 0 /* 802CC5CC 002C822C 98 64 19 7B */ stb r3, 0x197b(r4) /* 802CC5D0 002C8230 28 00 00 05 */ cmplwi r0, 5 /* 802CC5D4 002C8234 41 80 00 28 */ blt lbl_802CC5FC /* 802CC5D8 002C8238 88 64 19 78 */ lbz r3, 0x1978(r4) /* 802CC5DC 002C823C 3C 80 80 44 */ lis r4, lbl_80441B8C@ha /* 802CC5E0 002C8240 3C A0 00 0D */ lis r5, 0x000D0004@ha /* 802CC5E4 002C8244 38 03 FF FD */ addi r0, r3, -3 /* 802CC5E8 002C8248 38 84 1B 8C */ addi r4, r4, lbl_80441B8C@l /* 802CC5EC 002C824C 7C 00 00 34 */ cntlzw r0, r0 /* 802CC5F0 002C8250 38 65 00 04 */ addi r3, r5, 0x000D0004@l /* 802CC5F4 002C8254 54 05 D9 7E */ srwi r5, r0, 5 /* 802CC5F8 002C8258 4B FF 09 31 */ bl LogMsg_1 lbl_802CC5FC: /* 802CC5FC 002C825C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CC600 002C8260 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CC604 002C8264 88 63 19 78 */ lbz r3, 0x1978(r3) /* 802CC608 002C8268 38 03 FF FD */ addi r0, r3, -3 /* 802CC60C 002C826C 7C 00 00 34 */ cntlzw r0, r0 /* 802CC610 002C8270 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f /* 802CC614 002C8274 48 00 53 E5 */ bl btsnd_hcic_write_auth_enable lbl_802CC618: /* 802CC618 002C8278 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CC61C 002C827C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CC620 002C8280 88 04 19 7C */ lbz r0, 0x197c(r4) /* 802CC624 002C8284 2C 00 00 00 */ cmpwi r0, 0 /* 802CC628 002C8288 41 82 00 14 */ beq lbl_802CC63C /* 802CC62C 002C828C 38 00 00 00 */ li r0, 0 /* 802CC630 002C8290 88 64 00 20 */ lbz r3, 0x20(r4) /* 802CC634 002C8294 98 04 19 7C */ stb r0, 0x197c(r4) /* 802CC638 002C8298 48 00 4E 4D */ bl btsnd_hcic_write_pin_type lbl_802CC63C: /* 802CC63C 002C829C 2C 1D 00 00 */ cmpwi r29, 0 /* 802CC640 002C82A0 41 82 01 6C */ beq lbl_802CC7AC /* 802CC644 002C82A4 28 1D 00 05 */ cmplwi r29, 5 /* 802CC648 002C82A8 41 82 00 50 */ beq lbl_802CC698 /* 802CC64C 002C82AC 28 1D 00 06 */ cmplwi r29, 6 /* 802CC650 002C82B0 41 82 00 48 */ beq lbl_802CC698 /* 802CC654 002C82B4 28 1D 00 0E */ cmplwi r29, 0xe /* 802CC658 002C82B8 41 82 00 40 */ beq lbl_802CC698 /* 802CC65C 002C82BC 28 1D 00 18 */ cmplwi r29, 0x18 /* 802CC660 002C82C0 41 82 00 38 */ beq lbl_802CC698 /* 802CC664 002C82C4 28 1D 00 26 */ cmplwi r29, 0x26 /* 802CC668 002C82C8 41 82 00 30 */ beq lbl_802CC698 /* 802CC66C 002C82CC 28 1D 00 29 */ cmplwi r29, 0x29 /* 802CC670 002C82D0 41 82 00 28 */ beq lbl_802CC698 /* 802CC674 002C82D4 28 1D 00 25 */ cmplwi r29, 0x25 /* 802CC678 002C82D8 41 82 00 20 */ beq lbl_802CC698 /* 802CC67C 002C82DC 28 1D 00 17 */ cmplwi r29, 0x17 /* 802CC680 002C82E0 41 82 00 18 */ beq lbl_802CC698 /* 802CC684 002C82E4 28 1D 00 22 */ cmplwi r29, 0x22 /* 802CC688 002C82E8 41 82 00 10 */ beq lbl_802CC698 /* 802CC68C 002C82EC 88 1F 00 81 */ lbz r0, 0x81(r31) /* 802CC690 002C82F0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CC694 002C82F4 41 82 00 90 */ beq lbl_802CC724 lbl_802CC698: /* 802CC698 002C82F8 88 7F 00 81 */ lbz r3, 0x81(r31) /* 802CC69C 002C82FC 38 00 FF AF */ li r0, -81 /* 802CC6A0 002C8300 3F 80 80 57 */ lis r28, lbl_80568B78@ha /* 802CC6A4 002C8304 7C 60 00 38 */ and r0, r3, r0 /* 802CC6A8 002C8308 98 1F 00 81 */ stb r0, 0x81(r31) /* 802CC6AC 002C830C 3B 9C 8B 78 */ addi r28, r28, lbl_80568B78@l /* 802CC6B0 002C8310 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CC6B4 002C8314 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 802CC6B8 002C8318 98 1F 00 76 */ stb r0, 0x76(r31) /* 802CC6BC 002C831C 80 1C 19 4C */ lwz r0, 0x194c(r28) /* 802CC6C0 002C8320 2C 00 00 00 */ cmpwi r0, 0 /* 802CC6C4 002C8324 41 82 00 18 */ beq lbl_802CC6DC /* 802CC6C8 002C8328 38 7C 19 3C */ addi r3, r28, 0x193c /* 802CC6CC 002C832C 4B FF 0E 81 */ bl btu_stop_timer /* 802CC6D0 002C8330 38 00 00 00 */ li r0, 0 /* 802CC6D4 002C8334 3B A0 00 0E */ li r29, 0xe /* 802CC6D8 002C8338 90 1C 19 4C */ stw r0, 0x194c(r28) lbl_802CC6DC: /* 802CC6DC 002C833C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CC6E0 002C8340 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CC6E4 002C8344 88 03 27 BF */ lbz r0, 0x27bf(r3) /* 802CC6E8 002C8348 28 00 00 0E */ cmplwi r0, 0xe /* 802CC6EC 002C834C 40 82 00 08 */ bne lbl_802CC6F4 /* 802CC6F0 002C8350 3B A0 00 0E */ li r29, 0xe lbl_802CC6F4: /* 802CC6F4 002C8354 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CC6F8 002C8358 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CC6FC 002C835C 81 83 19 1C */ lwz r12, 0x191c(r3) /* 802CC700 002C8360 2C 0C 00 00 */ cmpwi r12, 0 /* 802CC704 002C8364 41 82 02 5C */ beq lbl_802CC960 /* 802CC708 002C8368 7F A6 EB 78 */ mr r6, r29 /* 802CC70C 002C836C 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC710 002C8370 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CC714 002C8374 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CC718 002C8378 7D 89 03 A6 */ mtctr r12 /* 802CC71C 002C837C 4E 80 04 21 */ bctrl /* 802CC720 002C8380 48 00 02 40 */ b lbl_802CC960 lbl_802CC724: /* 802CC724 002C8384 80 1F 00 04 */ lwz r0, 4(r31) /* 802CC728 002C8388 2C 00 00 00 */ cmpwi r0, 0 /* 802CC72C 002C838C 41 82 02 34 */ beq lbl_802CC960 /* 802CC730 002C8390 88 1F 00 80 */ lbz r0, 0x80(r31) /* 802CC734 002C8394 2C 00 00 00 */ cmpwi r0, 0 /* 802CC738 002C8398 41 82 00 24 */ beq lbl_802CC75C /* 802CC73C 002C839C 80 7F 00 00 */ lwz r3, 0(r31) /* 802CC740 002C83A0 2C 03 00 00 */ cmpwi r3, 0 /* 802CC744 002C83A4 41 82 00 18 */ beq lbl_802CC75C /* 802CC748 002C83A8 80 03 00 00 */ lwz r0, 0(r3) /* 802CC74C 002C83AC 28 00 00 03 */ cmplwi r0, 3 /* 802CC750 002C83B0 40 82 00 0C */ bne lbl_802CC75C /* 802CC754 002C83B4 38 00 00 00 */ li r0, 0 /* 802CC758 002C83B8 90 03 00 04 */ stw r0, 4(r3) lbl_802CC75C: /* 802CC75C 002C83BC 28 1D 00 08 */ cmplwi r29, 8 /* 802CC760 002C83C0 41 82 00 14 */ beq lbl_802CC774 /* 802CC764 002C83C4 28 1D 00 1F */ cmplwi r29, 0x1f /* 802CC768 002C83C8 41 82 00 0C */ beq lbl_802CC774 /* 802CC76C 002C83CC 28 1D 00 04 */ cmplwi r29, 4 /* 802CC770 002C83D0 40 82 00 20 */ bne lbl_802CC790 lbl_802CC774: /* 802CC774 002C83D4 81 9F 00 04 */ lwz r12, 4(r31) /* 802CC778 002C83D8 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC77C 002C83DC 80 9F 00 08 */ lwz r4, 8(r31) /* 802CC780 002C83E0 38 A0 00 08 */ li r5, 8 /* 802CC784 002C83E4 7D 89 03 A6 */ mtctr r12 /* 802CC788 002C83E8 4E 80 04 21 */ bctrl /* 802CC78C 002C83EC 48 00 01 D4 */ b lbl_802CC960 lbl_802CC790: /* 802CC790 002C83F0 81 9F 00 04 */ lwz r12, 4(r31) /* 802CC794 002C83F4 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC798 002C83F8 80 9F 00 08 */ lwz r4, 8(r31) /* 802CC79C 002C83FC 38 A0 00 0A */ li r5, 0xa /* 802CC7A0 002C8400 7D 89 03 A6 */ mtctr r12 /* 802CC7A4 002C8404 4E 80 04 21 */ bctrl /* 802CC7A8 002C8408 48 00 01 B8 */ b lbl_802CC960 lbl_802CC7AC: /* 802CC7AC 002C840C 88 1F 00 81 */ lbz r0, 0x81(r31) /* 802CC7B0 002C8410 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CC7B4 002C8414 41 82 00 D8 */ beq lbl_802CC88C /* 802CC7B8 002C8418 88 1F 00 82 */ lbz r0, 0x82(r31) /* 802CC7BC 002C841C 2C 00 00 00 */ cmpwi r0, 0 /* 802CC7C0 002C8420 41 82 00 CC */ beq lbl_802CC88C /* 802CC7C4 002C8424 38 00 00 00 */ li r0, 0 /* 802CC7C8 002C8428 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CC7CC 002C842C 98 1F 00 82 */ stb r0, 0x82(r31) /* 802CC7D0 002C8430 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CC7D4 002C8434 81 83 19 14 */ lwz r12, 0x1914(r3) /* 802CC7D8 002C8438 2C 0C 00 00 */ cmpwi r12, 0 /* 802CC7DC 002C843C 41 82 00 20 */ beq lbl_802CC7FC /* 802CC7E0 002C8440 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC7E4 002C8444 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CC7E8 002C8448 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CC7EC 002C844C 38 DF 00 25 */ addi r6, r31, 0x25 /* 802CC7F0 002C8450 88 FF 00 83 */ lbz r7, 0x83(r31) /* 802CC7F4 002C8454 7D 89 03 A6 */ mtctr r12 /* 802CC7F8 002C8458 4E 80 04 21 */ bctrl lbl_802CC7FC: /* 802CC7FC 002C845C 3F A0 80 57 */ lis r29, lbl_80568B78@ha /* 802CC800 002C8460 3B C0 00 00 */ li r30, 0 /* 802CC804 002C8464 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l lbl_802CC808: /* 802CC808 002C8468 81 9D 19 24 */ lwz r12, 0x1924(r29) /* 802CC80C 002C846C 2C 0C 00 00 */ cmpwi r12, 0 /* 802CC810 002C8470 41 82 00 20 */ beq lbl_802CC830 /* 802CC814 002C8474 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC818 002C8478 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CC81C 002C847C 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CC820 002C8480 38 DF 00 25 */ addi r6, r31, 0x25 /* 802CC824 002C8484 88 FF 00 83 */ lbz r7, 0x83(r31) /* 802CC828 002C8488 7D 89 03 A6 */ mtctr r12 /* 802CC82C 002C848C 4E 80 04 21 */ bctrl lbl_802CC830: /* 802CC830 002C8490 3B DE 00 01 */ addi r30, r30, 1 /* 802CC834 002C8494 3B BD 00 04 */ addi r29, r29, 4 /* 802CC838 002C8498 2C 1E 00 02 */ cmpwi r30, 2 /* 802CC83C 002C849C 41 80 FF CC */ blt lbl_802CC808 /* 802CC840 002C84A0 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CC844 002C84A4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CC848 002C84A8 81 83 19 1C */ lwz r12, 0x191c(r3) /* 802CC84C 002C84AC 2C 0C 00 00 */ cmpwi r12, 0 /* 802CC850 002C84B0 41 82 00 1C */ beq lbl_802CC86C /* 802CC854 002C84B4 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC858 002C84B8 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CC85C 002C84BC 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CC860 002C84C0 38 C0 00 00 */ li r6, 0 /* 802CC864 002C84C4 7D 89 03 A6 */ mtctr r12 /* 802CC868 002C84C8 4E 80 04 21 */ bctrl lbl_802CC86C: /* 802CC86C 002C84CC 88 BF 00 81 */ lbz r5, 0x81(r31) /* 802CC870 002C84D0 38 00 FF AF */ li r0, -81 /* 802CC874 002C84D4 7F 83 E3 78 */ mr r3, r28 /* 802CC878 002C84D8 38 80 00 13 */ li r4, 0x13 /* 802CC87C 002C84DC 7C A0 00 38 */ and r0, r5, r0 /* 802CC880 002C84E0 98 1F 00 81 */ stb r0, 0x81(r31) /* 802CC884 002C84E4 48 00 38 0D */ bl btsnd_hcic_disconnect /* 802CC888 002C84E8 48 00 00 D8 */ b lbl_802CC960 lbl_802CC88C: /* 802CC88C 002C84EC B3 9F 00 18 */ sth r28, 0x18(r31) /* 802CC890 002C84F0 2C 1E 00 00 */ cmpwi r30, 0 /* 802CC894 002C84F4 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CC898 002C84F8 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c /* 802CC89C 002C84FC 98 1F 00 76 */ stb r0, 0x76(r31) /* 802CC8A0 002C8500 41 82 00 10 */ beq lbl_802CC8B0 /* 802CC8A4 002C8504 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CC8A8 002C8508 60 00 00 06 */ ori r0, r0, 6 /* 802CC8AC 002C850C 98 1F 00 76 */ stb r0, 0x76(r31) lbl_802CC8B0: /* 802CC8B0 002C8510 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CC8B4 002C8514 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CC8B8 002C8518 88 03 19 78 */ lbz r0, 0x1978(r3) /* 802CC8BC 002C851C 28 00 00 03 */ cmplwi r0, 3 /* 802CC8C0 002C8520 40 82 00 10 */ bne lbl_802CC8D0 /* 802CC8C4 002C8524 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CC8C8 002C8528 60 00 00 02 */ ori r0, r0, 2 /* 802CC8CC 002C852C 98 1F 00 76 */ stb r0, 0x76(r31) lbl_802CC8D0: /* 802CC8D0 002C8530 38 00 00 00 */ li r0, 0 /* 802CC8D4 002C8534 98 1F 00 84 */ stb r0, 0x84(r31) /* 802CC8D8 002C8538 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CC8DC 002C853C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 802CC8E0 002C8540 41 82 00 10 */ beq lbl_802CC8F0 /* 802CC8E4 002C8544 88 1F 00 80 */ lbz r0, 0x80(r31) /* 802CC8E8 002C8548 2C 00 00 00 */ cmpwi r0, 0 /* 802CC8EC 002C854C 41 82 00 74 */ beq lbl_802CC960 lbl_802CC8F0: /* 802CC8F0 002C8550 7F E3 FB 78 */ mr r3, r31 /* 802CC8F4 002C8554 48 00 09 79 */ bl btm_sec_execute_procedure /* 802CC8F8 002C8558 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802CC8FC 002C855C 7C 64 1B 78 */ mr r4, r3 /* 802CC900 002C8560 28 00 00 01 */ cmplwi r0, 1 /* 802CC904 002C8564 41 82 00 5C */ beq lbl_802CC960 /* 802CC908 002C8568 80 1F 00 04 */ lwz r0, 4(r31) /* 802CC90C 002C856C 2C 00 00 00 */ cmpwi r0, 0 /* 802CC910 002C8570 41 82 00 50 */ beq lbl_802CC960 /* 802CC914 002C8574 88 1F 00 80 */ lbz r0, 0x80(r31) /* 802CC918 002C8578 2C 00 00 00 */ cmpwi r0, 0 /* 802CC91C 002C857C 41 82 00 24 */ beq lbl_802CC940 /* 802CC920 002C8580 80 7F 00 00 */ lwz r3, 0(r31) /* 802CC924 002C8584 2C 03 00 00 */ cmpwi r3, 0 /* 802CC928 002C8588 41 82 00 18 */ beq lbl_802CC940 /* 802CC92C 002C858C 80 03 00 00 */ lwz r0, 0(r3) /* 802CC930 002C8590 28 00 00 03 */ cmplwi r0, 3 /* 802CC934 002C8594 40 82 00 0C */ bne lbl_802CC940 /* 802CC938 002C8598 38 00 00 00 */ li r0, 0 /* 802CC93C 002C859C 90 03 00 04 */ stw r0, 4(r3) lbl_802CC940: /* 802CC940 002C85A0 81 9F 00 04 */ lwz r12, 4(r31) /* 802CC944 002C85A4 54 85 06 3E */ clrlwi r5, r4, 0x18 /* 802CC948 002C85A8 38 7F 00 1C */ addi r3, r31, 0x1c /* 802CC94C 002C85AC 80 9F 00 08 */ lwz r4, 8(r31) /* 802CC950 002C85B0 7D 89 03 A6 */ mtctr r12 /* 802CC954 002C85B4 4E 80 04 21 */ bctrl /* 802CC958 002C85B8 38 00 00 00 */ li r0, 0 /* 802CC95C 002C85BC 90 1F 00 04 */ stw r0, 4(r31) lbl_802CC960: /* 802CC960 002C85C0 39 61 00 20 */ addi r11, r1, 0x20 /* 802CC964 002C85C4 4B EF A8 11 */ bl _restgpr_27 /* 802CC968 002C85C8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CC96C 002C85CC 7C 08 03 A6 */ mtlr r0 /* 802CC970 002C85D0 38 21 00 20 */ addi r1, r1, 0x20 /* 802CC974 002C85D4 4E 80 00 20 */ blr .global btm_sec_disconnect btm_sec_disconnect: /* 802CC978 002C85D8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CC97C 002C85DC 7C 08 02 A6 */ mflr r0 /* 802CC980 002C85E0 90 01 00 24 */ stw r0, 0x24(r1) /* 802CC984 002C85E4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CC988 002C85E8 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CC98C 002C85EC 93 A1 00 14 */ stw r29, 0x14(r1) /* 802CC990 002C85F0 7C 9D 23 78 */ mr r29, r4 /* 802CC994 002C85F4 93 81 00 10 */ stw r28, 0x10(r1) /* 802CC998 002C85F8 7C 7C 1B 78 */ mr r28, r3 /* 802CC99C 002C85FC 4B FF 8B C9 */ bl btm_find_dev_by_handle /* 802CC9A0 002C8600 2C 03 00 00 */ cmpwi r3, 0 /* 802CC9A4 002C8604 7C 7F 1B 78 */ mr r31, r3 /* 802CC9A8 002C8608 40 82 00 0C */ bne lbl_802CC9B4 /* 802CC9AC 002C860C 38 60 00 05 */ li r3, 5 /* 802CC9B0 002C8610 48 00 00 64 */ b lbl_802CCA14 lbl_802CC9B4: /* 802CC9B4 002C8614 88 03 00 81 */ lbz r0, 0x81(r3) /* 802CC9B8 002C8618 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CC9BC 002C861C 41 82 00 18 */ beq lbl_802CC9D4 /* 802CC9C0 002C8620 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CC9C4 002C8624 38 60 00 00 */ li r3, 0 /* 802CC9C8 002C8628 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CC9CC 002C862C 9B A4 19 7E */ stb r29, 0x197e(r4) /* 802CC9D0 002C8630 48 00 00 44 */ b lbl_802CCA14 lbl_802CC9D4: /* 802CC9D4 002C8634 8B C3 00 7F */ lbz r30, 0x7f(r3) /* 802CC9D8 002C8638 28 1E 00 05 */ cmplwi r30, 5 /* 802CC9DC 002C863C 40 82 00 0C */ bne lbl_802CC9E8 /* 802CC9E0 002C8640 38 60 00 01 */ li r3, 1 /* 802CC9E4 002C8644 48 00 00 30 */ b lbl_802CCA14 lbl_802CC9E8: /* 802CC9E8 002C8648 38 00 00 05 */ li r0, 5 /* 802CC9EC 002C864C 7F A4 EB 78 */ mr r4, r29 /* 802CC9F0 002C8650 98 03 00 7F */ stb r0, 0x7f(r3) /* 802CC9F4 002C8654 7F 83 E3 78 */ mr r3, r28 /* 802CC9F8 002C8658 48 00 36 99 */ bl btsnd_hcic_disconnect /* 802CC9FC 002C865C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CCA00 002C8660 41 82 00 0C */ beq lbl_802CCA0C /* 802CCA04 002C8664 38 60 00 01 */ li r3, 1 /* 802CCA08 002C8668 48 00 00 0C */ b lbl_802CCA14 lbl_802CCA0C: /* 802CCA0C 002C866C 9B DF 00 7F */ stb r30, 0x7f(r31) /* 802CCA10 002C8670 38 60 00 03 */ li r3, 3 lbl_802CCA14: /* 802CCA14 002C8674 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CCA18 002C8678 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CCA1C 002C867C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CCA20 002C8680 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802CCA24 002C8684 83 81 00 10 */ lwz r28, 0x10(r1) /* 802CCA28 002C8688 7C 08 03 A6 */ mtlr r0 /* 802CCA2C 002C868C 38 21 00 20 */ addi r1, r1, 0x20 /* 802CCA30 002C8690 4E 80 00 20 */ blr .global btm_sec_disconnected btm_sec_disconnected: /* 802CCA34 002C8694 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CCA38 002C8698 7C 08 02 A6 */ mflr r0 /* 802CCA3C 002C869C 90 01 00 14 */ stw r0, 0x14(r1) /* 802CCA40 002C86A0 93 E1 00 0C */ stw r31, 0xc(r1) /* 802CCA44 002C86A4 7C 9F 23 78 */ mr r31, r4 /* 802CCA48 002C86A8 93 C1 00 08 */ stw r30, 8(r1) /* 802CCA4C 002C86AC 4B FF 8B 19 */ bl btm_find_dev_by_handle /* 802CCA50 002C86B0 2C 03 00 00 */ cmpwi r3, 0 /* 802CCA54 002C86B4 7C 7E 1B 78 */ mr r30, r3 /* 802CCA58 002C86B8 41 82 01 00 */ beq lbl_802CCB58 /* 802CCA5C 002C86BC 88 03 00 81 */ lbz r0, 0x81(r3) /* 802CCA60 002C86C0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CCA64 002C86C4 41 82 00 54 */ beq lbl_802CCAB8 /* 802CCA68 002C86C8 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CCA6C 002C86CC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CCA70 002C86D0 81 84 19 1C */ lwz r12, 0x191c(r4) /* 802CCA74 002C86D4 2C 0C 00 00 */ cmpwi r12, 0 /* 802CCA78 002C86D8 41 82 00 40 */ beq lbl_802CCAB8 /* 802CCA7C 002C86DC 28 1F 00 17 */ cmplwi r31, 0x17 /* 802CCA80 002C86E0 40 82 00 20 */ bne lbl_802CCAA0 /* 802CCA84 002C86E4 38 83 00 22 */ addi r4, r3, 0x22 /* 802CCA88 002C86E8 38 A3 00 35 */ addi r5, r3, 0x35 /* 802CCA8C 002C86EC 38 C0 00 17 */ li r6, 0x17 /* 802CCA90 002C86F0 7D 89 03 A6 */ mtctr r12 /* 802CCA94 002C86F4 38 63 00 1C */ addi r3, r3, 0x1c /* 802CCA98 002C86F8 4E 80 04 21 */ bctrl /* 802CCA9C 002C86FC 48 00 00 1C */ b lbl_802CCAB8 lbl_802CCAA0: /* 802CCAA0 002C8700 38 83 00 22 */ addi r4, r3, 0x22 /* 802CCAA4 002C8704 38 A3 00 35 */ addi r5, r3, 0x35 /* 802CCAA8 002C8708 38 C0 00 05 */ li r6, 5 /* 802CCAAC 002C870C 7D 89 03 A6 */ mtctr r12 /* 802CCAB0 002C8710 38 63 00 1C */ addi r3, r3, 0x1c /* 802CCAB4 002C8714 4E 80 04 21 */ bctrl lbl_802CCAB8: /* 802CCAB8 002C8718 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802CCABC 002C871C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802CCAC0 002C8720 80 1F 19 4C */ lwz r0, 0x194c(r31) /* 802CCAC4 002C8724 2C 00 00 00 */ cmpwi r0, 0 /* 802CCAC8 002C8728 41 82 00 60 */ beq lbl_802CCB28 /* 802CCACC 002C872C 38 7F 19 54 */ addi r3, r31, 0x1954 /* 802CCAD0 002C8730 38 9E 00 1C */ addi r4, r30, 0x1c /* 802CCAD4 002C8734 38 A0 00 06 */ li r5, 6 /* 802CCAD8 002C8738 4B EF D8 C1 */ bl memcmp /* 802CCADC 002C873C 2C 03 00 00 */ cmpwi r3, 0 /* 802CCAE0 002C8740 40 82 00 48 */ bne lbl_802CCB28 /* 802CCAE4 002C8744 38 7F 19 3C */ addi r3, r31, 0x193c /* 802CCAE8 002C8748 4B FF 0A 65 */ bl btu_stop_timer /* 802CCAEC 002C874C 38 00 00 00 */ li r0, 0 /* 802CCAF0 002C8750 38 7F 19 54 */ addi r3, r31, 0x1954 /* 802CCAF4 002C8754 90 1F 19 4C */ stw r0, 0x194c(r31) /* 802CCAF8 002C8758 38 80 00 FF */ li r4, 0xff /* 802CCAFC 002C875C 38 A0 00 06 */ li r5, 6 /* 802CCB00 002C8760 4B D3 76 05 */ bl memset /* 802CCB04 002C8764 81 9F 19 1C */ lwz r12, 0x191c(r31) /* 802CCB08 002C8768 2C 0C 00 00 */ cmpwi r12, 0 /* 802CCB0C 002C876C 41 82 00 1C */ beq lbl_802CCB28 /* 802CCB10 002C8770 38 7E 00 1C */ addi r3, r30, 0x1c /* 802CCB14 002C8774 38 9E 00 22 */ addi r4, r30, 0x22 /* 802CCB18 002C8778 38 BE 00 35 */ addi r5, r30, 0x35 /* 802CCB1C 002C877C 38 C0 00 0E */ li r6, 0xe /* 802CCB20 002C8780 7D 89 03 A6 */ mtctr r12 /* 802CCB24 002C8784 4E 80 04 21 */ bctrl lbl_802CCB28: /* 802CCB28 002C8788 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 802CCB2C 002C878C 38 60 00 00 */ li r3, 0 /* 802CCB30 002C8790 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l /* 802CCB34 002C8794 B0 1E 00 18 */ sth r0, 0x18(r30) /* 802CCB38 002C8798 98 7E 00 7F */ stb r3, 0x7f(r30) /* 802CCB3C 002C879C 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802CCB40 002C87A0 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c /* 802CCB44 002C87A4 98 1E 00 76 */ stb r0, 0x76(r30) /* 802CCB48 002C87A8 88 1E 00 81 */ lbz r0, 0x81(r30) /* 802CCB4C 002C87AC 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18 /* 802CCB50 002C87B0 98 1E 00 81 */ stb r0, 0x81(r30) /* 802CCB54 002C87B4 90 7E 00 04 */ stw r3, 4(r30) lbl_802CCB58: /* 802CCB58 002C87B8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CCB5C 002C87BC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802CCB60 002C87C0 83 C1 00 08 */ lwz r30, 8(r1) /* 802CCB64 002C87C4 7C 08 03 A6 */ mtlr r0 /* 802CCB68 002C87C8 38 21 00 10 */ addi r1, r1, 0x10 /* 802CCB6C 002C87CC 4E 80 00 20 */ blr .global btm_sec_link_key_notification btm_sec_link_key_notification: /* 802CCB70 002C87D0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CCB74 002C87D4 7C 08 02 A6 */ mflr r0 /* 802CCB78 002C87D8 90 01 00 24 */ stw r0, 0x24(r1) /* 802CCB7C 002C87DC 39 61 00 20 */ addi r11, r1, 0x20 /* 802CCB80 002C87E0 4B EF A5 A9 */ bl _savegpr_27 /* 802CCB84 002C87E4 7C 7D 1B 78 */ mr r29, r3 /* 802CCB88 002C87E8 7C 9E 23 78 */ mr r30, r4 /* 802CCB8C 002C87EC 7C BB 2B 78 */ mr r27, r5 /* 802CCB90 002C87F0 4B FF 8A 8D */ bl btm_find_dev /* 802CCB94 002C87F4 2C 03 00 00 */ cmpwi r3, 0 /* 802CCB98 002C87F8 7C 7F 1B 78 */ mr r31, r3 /* 802CCB9C 002C87FC 40 82 00 18 */ bne lbl_802CCBB4 /* 802CCBA0 002C8800 7F A3 EB 78 */ mr r3, r29 /* 802CCBA4 002C8804 4B FF 88 A1 */ bl btm_sec_alloc_dev /* 802CCBA8 002C8808 2C 03 00 00 */ cmpwi r3, 0 /* 802CCBAC 002C880C 7C 7F 1B 78 */ mr r31, r3 /* 802CCBB0 002C8810 41 82 01 54 */ beq lbl_802CCD04 lbl_802CCBB4: /* 802CCBB4 002C8814 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CCBB8 002C8818 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CCBBC 002C881C 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CCBC0 002C8820 28 00 00 04 */ cmplwi r0, 4 /* 802CCBC4 002C8824 41 80 00 30 */ blt lbl_802CCBF4 /* 802CCBC8 002C8828 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CCBCC 002C882C 3C 80 80 44 */ lis r4, lbl_80441F78@ha /* 802CCBD0 002C8830 88 BD 00 00 */ lbz r5, 0(r29) /* 802CCBD4 002C8834 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CCBD8 002C8838 88 DD 00 01 */ lbz r6, 1(r29) /* 802CCBDC 002C883C 38 84 1F 78 */ addi r4, r4, lbl_80441F78@l /* 802CCBE0 002C8840 88 FD 00 02 */ lbz r7, 2(r29) /* 802CCBE4 002C8844 89 1D 00 03 */ lbz r8, 3(r29) /* 802CCBE8 002C8848 89 3D 00 04 */ lbz r9, 4(r29) /* 802CCBEC 002C884C 89 5D 00 05 */ lbz r10, 5(r29) /* 802CCBF0 002C8850 4B FF 03 B1 */ bl LogMsg_6 lbl_802CCBF4: /* 802CCBF4 002C8854 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CCBF8 002C8858 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CCBFC 002C885C 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CCC00 002C8860 28 00 00 04 */ cmplwi r0, 4 /* 802CCC04 002C8864 41 80 00 1C */ blt lbl_802CCC20 /* 802CCC08 002C8868 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CCC0C 002C886C 3C 80 80 44 */ lis r4, lbl_80441FBC@ha /* 802CCC10 002C8870 7F 65 DB 78 */ mr r5, r27 /* 802CCC14 002C8874 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CCC18 002C8878 38 84 1F BC */ addi r4, r4, lbl_80441FBC@l /* 802CCC1C 002C887C 4B FF 03 0D */ bl LogMsg_1 lbl_802CCC20: /* 802CCC20 002C8880 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CCC24 002C8884 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CCC28 002C8888 88 03 06 36 */ lbz r0, 0x636(r3) /* 802CCC2C 002C888C 28 00 00 01 */ cmplwi r0, 1 /* 802CCC30 002C8890 40 80 00 10 */ bge lbl_802CCC40 /* 802CCC34 002C8894 38 00 00 FF */ li r0, 0xff /* 802CCC38 002C8898 98 1F 00 83 */ stb r0, 0x83(r31) /* 802CCC3C 002C889C 48 00 00 08 */ b lbl_802CCC44 lbl_802CCC40: /* 802CCC40 002C88A0 9B 7F 00 83 */ stb r27, 0x83(r31) lbl_802CCC44: /* 802CCC44 002C88A4 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CCC48 002C88A8 7F C4 F3 78 */ mr r4, r30 /* 802CCC4C 002C88AC 38 7F 00 25 */ addi r3, r31, 0x25 /* 802CCC50 002C88B0 38 A0 00 10 */ li r5, 0x10 /* 802CCC54 002C88B4 60 00 00 10 */ ori r0, r0, 0x10 /* 802CCC58 002C88B8 98 1F 00 76 */ stb r0, 0x76(r31) /* 802CCC5C 002C88BC 4B D3 73 A5 */ bl memcpy /* 802CCC60 002C88C0 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CCC64 002C88C4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 802CCC68 002C88C8 41 82 00 1C */ beq lbl_802CCC84 /* 802CCC6C 002C88CC 88 1F 00 81 */ lbz r0, 0x81(r31) /* 802CCC70 002C88D0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CCC74 002C88D4 41 82 00 1C */ beq lbl_802CCC90 /* 802CCC78 002C88D8 88 1F 00 85 */ lbz r0, 0x85(r31) /* 802CCC7C 002C88DC 2C 00 00 00 */ cmpwi r0, 0 /* 802CCC80 002C88E0 40 82 00 10 */ bne lbl_802CCC90 lbl_802CCC84: /* 802CCC84 002C88E4 38 00 00 01 */ li r0, 1 /* 802CCC88 002C88E8 98 1F 00 82 */ stb r0, 0x82(r31) /* 802CCC8C 002C88EC 48 00 00 78 */ b lbl_802CCD04 lbl_802CCC90: /* 802CCC90 002C88F0 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CCC94 002C88F4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CCC98 002C88F8 81 83 19 14 */ lwz r12, 0x1914(r3) /* 802CCC9C 002C88FC 2C 0C 00 00 */ cmpwi r12, 0 /* 802CCCA0 002C8900 41 82 00 20 */ beq lbl_802CCCC0 /* 802CCCA4 002C8904 7F A3 EB 78 */ mr r3, r29 /* 802CCCA8 002C8908 7F C6 F3 78 */ mr r6, r30 /* 802CCCAC 002C890C 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CCCB0 002C8910 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CCCB4 002C8914 88 FF 00 83 */ lbz r7, 0x83(r31) /* 802CCCB8 002C8918 7D 89 03 A6 */ mtctr r12 /* 802CCCBC 002C891C 4E 80 04 21 */ bctrl lbl_802CCCC0: /* 802CCCC0 002C8920 3F 80 80 57 */ lis r28, lbl_80568B78@ha /* 802CCCC4 002C8924 3B 60 00 00 */ li r27, 0 /* 802CCCC8 002C8928 3B 9C 8B 78 */ addi r28, r28, lbl_80568B78@l lbl_802CCCCC: /* 802CCCCC 002C892C 81 9C 19 24 */ lwz r12, 0x1924(r28) /* 802CCCD0 002C8930 2C 0C 00 00 */ cmpwi r12, 0 /* 802CCCD4 002C8934 41 82 00 20 */ beq lbl_802CCCF4 /* 802CCCD8 002C8938 7F A3 EB 78 */ mr r3, r29 /* 802CCCDC 002C893C 7F C6 F3 78 */ mr r6, r30 /* 802CCCE0 002C8940 38 9F 00 22 */ addi r4, r31, 0x22 /* 802CCCE4 002C8944 38 BF 00 35 */ addi r5, r31, 0x35 /* 802CCCE8 002C8948 88 FF 00 83 */ lbz r7, 0x83(r31) /* 802CCCEC 002C894C 7D 89 03 A6 */ mtctr r12 /* 802CCCF0 002C8950 4E 80 04 21 */ bctrl lbl_802CCCF4: /* 802CCCF4 002C8954 3B 7B 00 01 */ addi r27, r27, 1 /* 802CCCF8 002C8958 3B 9C 00 04 */ addi r28, r28, 4 /* 802CCCFC 002C895C 2C 1B 00 02 */ cmpwi r27, 2 /* 802CCD00 002C8960 41 80 FF CC */ blt lbl_802CCCCC lbl_802CCD04: /* 802CCD04 002C8964 39 61 00 20 */ addi r11, r1, 0x20 /* 802CCD08 002C8968 4B EF A4 6D */ bl _restgpr_27 /* 802CCD0C 002C896C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CCD10 002C8970 7C 08 03 A6 */ mtlr r0 /* 802CCD14 002C8974 38 21 00 20 */ addi r1, r1, 0x20 /* 802CCD18 002C8978 4E 80 00 20 */ blr .global btm_sec_link_key_request btm_sec_link_key_request: /* 802CCD1C 002C897C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CCD20 002C8980 7C 08 02 A6 */ mflr r0 /* 802CCD24 002C8984 90 01 00 24 */ stw r0, 0x24(r1) /* 802CCD28 002C8988 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CCD2C 002C898C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CCD30 002C8990 7C 7E 1B 78 */ mr r30, r3 /* 802CCD34 002C8994 4B FF 88 E9 */ bl btm_find_dev /* 802CCD38 002C8998 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CCD3C 002C899C 7C 7F 1B 78 */ mr r31, r3 /* 802CCD40 002C89A0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CCD44 002C89A4 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CCD48 002C89A8 28 00 00 04 */ cmplwi r0, 4 /* 802CCD4C 002C89AC 41 80 00 30 */ blt lbl_802CCD7C /* 802CCD50 002C89B0 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CCD54 002C89B4 3C 80 80 44 */ lis r4, lbl_80441FE8@ha /* 802CCD58 002C89B8 88 BE 00 00 */ lbz r5, 0(r30) /* 802CCD5C 002C89BC 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CCD60 002C89C0 88 DE 00 01 */ lbz r6, 1(r30) /* 802CCD64 002C89C4 38 84 1F E8 */ addi r4, r4, lbl_80441FE8@l /* 802CCD68 002C89C8 88 FE 00 02 */ lbz r7, 2(r30) /* 802CCD6C 002C89CC 89 1E 00 03 */ lbz r8, 3(r30) /* 802CCD70 002C89D0 89 3E 00 04 */ lbz r9, 4(r30) /* 802CCD74 002C89D4 89 5E 00 05 */ lbz r10, 5(r30) /* 802CCD78 002C89D8 4B FF 02 29 */ bl LogMsg_6 lbl_802CCD7C: /* 802CCD7C 002C89DC 2C 1F 00 00 */ cmpwi r31, 0 /* 802CCD80 002C89E0 41 82 00 20 */ beq lbl_802CCDA0 /* 802CCD84 002C89E4 88 1F 00 76 */ lbz r0, 0x76(r31) /* 802CCD88 002C89E8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 802CCD8C 002C89EC 41 82 00 14 */ beq lbl_802CCDA0 /* 802CCD90 002C89F0 7F C3 F3 78 */ mr r3, r30 /* 802CCD94 002C89F4 38 9F 00 25 */ addi r4, r31, 0x25 /* 802CCD98 002C89F8 48 00 34 C9 */ bl btsnd_hcic_link_key_req_reply /* 802CCD9C 002C89FC 48 00 00 98 */ b lbl_802CCE34 lbl_802CCDA0: /* 802CCDA0 002C8A00 2C 1F 00 00 */ cmpwi r31, 0 /* 802CCDA4 002C8A04 40 82 00 10 */ bne lbl_802CCDB4 /* 802CCDA8 002C8A08 7F C3 F3 78 */ mr r3, r30 /* 802CCDAC 002C8A0C 4B FF 86 99 */ bl btm_sec_alloc_dev /* 802CCDB0 002C8A10 7C 7F 1B 78 */ mr r31, r3 lbl_802CCDB4: /* 802CCDB4 002C8A14 88 1F 00 81 */ lbz r0, 0x81(r31) /* 802CCDB8 002C8A18 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CCDBC 002C8A1C 40 82 00 70 */ bne lbl_802CCE2C /* 802CCDC0 002C8A20 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CCDC4 002C8A24 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CCDC8 002C8A28 81 83 19 18 */ lwz r12, 0x1918(r3) /* 802CCDCC 002C8A2C 2C 0C 00 00 */ cmpwi r12, 0 /* 802CCDD0 002C8A30 41 82 00 5C */ beq lbl_802CCE2C /* 802CCDD4 002C8A34 2C 1F 00 00 */ cmpwi r31, 0 /* 802CCDD8 002C8A38 41 82 00 2C */ beq lbl_802CCE04 /* 802CCDDC 002C8A3C 7F C3 F3 78 */ mr r3, r30 /* 802CCDE0 002C8A40 38 9F 00 25 */ addi r4, r31, 0x25 /* 802CCDE4 002C8A44 7D 89 03 A6 */ mtctr r12 /* 802CCDE8 002C8A48 4E 80 04 21 */ bctrl /* 802CCDEC 002C8A4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CCDF0 002C8A50 40 82 00 3C */ bne lbl_802CCE2C /* 802CCDF4 002C8A54 7F C3 F3 78 */ mr r3, r30 /* 802CCDF8 002C8A58 38 9F 00 25 */ addi r4, r31, 0x25 /* 802CCDFC 002C8A5C 48 00 34 65 */ bl btsnd_hcic_link_key_req_reply /* 802CCE00 002C8A60 48 00 00 34 */ b lbl_802CCE34 lbl_802CCE04: /* 802CCE04 002C8A64 7F C3 F3 78 */ mr r3, r30 /* 802CCE08 002C8A68 38 81 00 08 */ addi r4, r1, 8 /* 802CCE0C 002C8A6C 7D 89 03 A6 */ mtctr r12 /* 802CCE10 002C8A70 4E 80 04 21 */ bctrl /* 802CCE14 002C8A74 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CCE18 002C8A78 40 82 00 14 */ bne lbl_802CCE2C /* 802CCE1C 002C8A7C 7F C3 F3 78 */ mr r3, r30 /* 802CCE20 002C8A80 38 81 00 08 */ addi r4, r1, 8 /* 802CCE24 002C8A84 48 00 34 3D */ bl btsnd_hcic_link_key_req_reply /* 802CCE28 002C8A88 48 00 00 0C */ b lbl_802CCE34 lbl_802CCE2C: /* 802CCE2C 002C8A8C 7F C3 F3 78 */ mr r3, r30 /* 802CCE30 002C8A90 48 00 35 D1 */ bl btsnd_hcic_link_key_neg_reply lbl_802CCE34: /* 802CCE34 002C8A94 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CCE38 002C8A98 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CCE3C 002C8A9C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CCE40 002C8AA0 7C 08 03 A6 */ mtlr r0 /* 802CCE44 002C8AA4 38 21 00 20 */ addi r1, r1, 0x20 /* 802CCE48 002C8AA8 4E 80 00 20 */ blr btm_sec_pin_code_request_timeout: /* 802CCE4C 002C8AAC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CCE50 002C8AB0 7C 08 02 A6 */ mflr r0 /* 802CCE54 002C8AB4 90 01 00 14 */ stw r0, 0x14(r1) /* 802CCE58 002C8AB8 93 E1 00 0C */ stw r31, 0xc(r1) /* 802CCE5C 002C8ABC 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802CCE60 002C8AC0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802CCE64 002C8AC4 88 1F 27 C0 */ lbz r0, 0x27c0(r31) /* 802CCE68 002C8AC8 28 00 00 04 */ cmplwi r0, 4 /* 802CCE6C 002C8ACC 41 80 00 18 */ blt lbl_802CCE84 /* 802CCE70 002C8AD0 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CCE74 002C8AD4 3C 80 80 44 */ lis r4, lbl_80442028@ha /* 802CCE78 002C8AD8 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CCE7C 002C8ADC 38 84 20 28 */ addi r4, r4, lbl_80442028@l /* 802CCE80 002C8AE0 4B FF 00 91 */ bl LogMsg_0 lbl_802CCE84: /* 802CCE84 002C8AE4 38 00 00 00 */ li r0, 0 /* 802CCE88 002C8AE8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CCE8C 002C8AEC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CCE90 002C8AF0 90 1F 19 4C */ stw r0, 0x194c(r31) /* 802CCE94 002C8AF4 38 63 19 54 */ addi r3, r3, 0x1954 /* 802CCE98 002C8AF8 38 80 00 FF */ li r4, 0xff /* 802CCE9C 002C8AFC 38 A0 00 06 */ li r5, 6 /* 802CCEA0 002C8B00 4B D3 72 65 */ bl memset /* 802CCEA4 002C8B04 38 7F 27 B4 */ addi r3, r31, 0x27b4 /* 802CCEA8 002C8B08 48 00 37 DD */ bl btsnd_hcic_pin_code_neg_reply /* 802CCEAC 002C8B0C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CCEB0 002C8B10 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802CCEB4 002C8B14 7C 08 03 A6 */ mtlr r0 /* 802CCEB8 002C8B18 38 21 00 10 */ addi r1, r1, 0x10 /* 802CCEBC 002C8B1C 4E 80 00 20 */ blr .global btm_sec_pin_code_request btm_sec_pin_code_request: /* 802CCEC0 002C8B20 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CCEC4 002C8B24 7C 08 02 A6 */ mflr r0 /* 802CCEC8 002C8B28 90 01 00 24 */ stw r0, 0x24(r1) /* 802CCECC 002C8B2C 39 61 00 20 */ addi r11, r1, 0x20 /* 802CCED0 002C8B30 4B EF A2 59 */ bl _savegpr_27 /* 802CCED4 002C8B34 3F A0 80 57 */ lis r29, lbl_80568B78@ha /* 802CCED8 002C8B38 3F E0 80 44 */ lis r31, lbl_80441890@ha /* 802CCEDC 002C8B3C 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l /* 802CCEE0 002C8B40 7C 7B 1B 78 */ mr r27, r3 /* 802CCEE4 002C8B44 88 1D 27 C0 */ lbz r0, 0x27c0(r29) /* 802CCEE8 002C8B48 3B FF 18 90 */ addi r31, r31, lbl_80441890@l /* 802CCEEC 002C8B4C 3B 80 00 00 */ li r28, 0 /* 802CCEF0 002C8B50 3B C0 00 00 */ li r30, 0 /* 802CCEF4 002C8B54 28 00 00 04 */ cmplwi r0, 4 /* 802CCEF8 002C8B58 41 80 00 2C */ blt lbl_802CCF24 /* 802CCEFC 002C8B5C 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CCF00 002C8B60 88 BB 00 00 */ lbz r5, 0(r27) /* 802CCF04 002C8B64 88 DB 00 01 */ lbz r6, 1(r27) /* 802CCF08 002C8B68 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CCF0C 002C8B6C 88 FB 00 02 */ lbz r7, 2(r27) /* 802CCF10 002C8B70 38 9F 07 BC */ addi r4, r31, 0x7bc /* 802CCF14 002C8B74 89 1B 00 03 */ lbz r8, 3(r27) /* 802CCF18 002C8B78 89 3B 00 04 */ lbz r9, 4(r27) /* 802CCF1C 002C8B7C 89 5B 00 05 */ lbz r10, 5(r27) /* 802CCF20 002C8B80 4B FF 00 81 */ bl LogMsg_6 lbl_802CCF24: /* 802CCF24 002C8B84 88 1D 19 79 */ lbz r0, 0x1979(r29) /* 802CCF28 002C8B88 2C 00 00 00 */ cmpwi r0, 0 /* 802CCF2C 002C8B8C 40 82 00 E4 */ bne lbl_802CD010 /* 802CCF30 002C8B90 88 1D 00 20 */ lbz r0, 0x20(r29) /* 802CCF34 002C8B94 28 00 00 01 */ cmplwi r0, 1 /* 802CCF38 002C8B98 40 82 00 D8 */ bne lbl_802CD010 /* 802CCF3C 002C8B9C 7F 63 DB 78 */ mr r3, r27 /* 802CCF40 002C8BA0 4B FF 86 DD */ bl btm_find_dev /* 802CCF44 002C8BA4 2C 03 00 00 */ cmpwi r3, 0 /* 802CCF48 002C8BA8 40 82 00 A0 */ bne lbl_802CCFE8 /* 802CCF4C 002C8BAC 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CCF50 002C8BB0 38 00 00 02 */ li r0, 2 /* 802CCF54 002C8BB4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CCF58 002C8BB8 38 63 1F 30 */ addi r3, r3, 0x1f30 /* 802CCF5C 002C8BBC 7C 09 03 A6 */ mtctr r0 lbl_802CCF60: /* 802CCF60 002C8BC0 88 03 00 76 */ lbz r0, 0x76(r3) /* 802CCF64 002C8BC4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CCF68 002C8BC8 41 82 00 80 */ beq lbl_802CCFE8 /* 802CCF6C 002C8BCC 88 03 00 FE */ lbz r0, 0xfe(r3) /* 802CCF70 002C8BD0 3B DE 00 01 */ addi r30, r30, 1 /* 802CCF74 002C8BD4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CCF78 002C8BD8 41 82 00 70 */ beq lbl_802CCFE8 /* 802CCF7C 002C8BDC 88 03 01 86 */ lbz r0, 0x186(r3) /* 802CCF80 002C8BE0 3B DE 00 01 */ addi r30, r30, 1 /* 802CCF84 002C8BE4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CCF88 002C8BE8 41 82 00 60 */ beq lbl_802CCFE8 /* 802CCF8C 002C8BEC 88 03 02 0E */ lbz r0, 0x20e(r3) /* 802CCF90 002C8BF0 3B DE 00 01 */ addi r30, r30, 1 /* 802CCF94 002C8BF4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CCF98 002C8BF8 41 82 00 50 */ beq lbl_802CCFE8 /* 802CCF9C 002C8BFC 88 03 02 96 */ lbz r0, 0x296(r3) /* 802CCFA0 002C8C00 3B DE 00 01 */ addi r30, r30, 1 /* 802CCFA4 002C8C04 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CCFA8 002C8C08 41 82 00 40 */ beq lbl_802CCFE8 /* 802CCFAC 002C8C0C 88 03 03 1E */ lbz r0, 0x31e(r3) /* 802CCFB0 002C8C10 3B DE 00 01 */ addi r30, r30, 1 /* 802CCFB4 002C8C14 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CCFB8 002C8C18 41 82 00 30 */ beq lbl_802CCFE8 /* 802CCFBC 002C8C1C 88 03 03 A6 */ lbz r0, 0x3a6(r3) /* 802CCFC0 002C8C20 3B DE 00 01 */ addi r30, r30, 1 /* 802CCFC4 002C8C24 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CCFC8 002C8C28 41 82 00 20 */ beq lbl_802CCFE8 /* 802CCFCC 002C8C2C 88 03 04 2E */ lbz r0, 0x42e(r3) /* 802CCFD0 002C8C30 3B DE 00 01 */ addi r30, r30, 1 /* 802CCFD4 002C8C34 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802CCFD8 002C8C38 41 82 00 10 */ beq lbl_802CCFE8 /* 802CCFDC 002C8C3C 3B DE 00 01 */ addi r30, r30, 1 /* 802CCFE0 002C8C40 38 63 04 40 */ addi r3, r3, 0x440 /* 802CCFE4 002C8C44 42 00 FF 7C */ bdnz lbl_802CCF60 lbl_802CCFE8: /* 802CCFE8 002C8C48 2C 1E 00 10 */ cmpwi r30, 0x10 /* 802CCFEC 002C8C4C 41 80 00 10 */ blt lbl_802CCFFC /* 802CCFF0 002C8C50 7F 63 DB 78 */ mr r3, r27 /* 802CCFF4 002C8C54 48 00 36 91 */ bl btsnd_hcic_pin_code_neg_reply /* 802CCFF8 002C8C58 48 00 02 0C */ b lbl_802CD204 lbl_802CCFFC: /* 802CCFFC 002C8C5C 88 9D 00 21 */ lbz r4, 0x21(r29) /* 802CD000 002C8C60 7F 63 DB 78 */ mr r3, r27 /* 802CD004 002C8C64 38 BD 00 22 */ addi r5, r29, 0x22 /* 802CD008 002C8C68 48 00 34 99 */ bl btsnd_hcic_pin_code_req_reply /* 802CD00C 002C8C6C 48 00 01 F8 */ b lbl_802CD204 lbl_802CD010: /* 802CD010 002C8C70 7F 63 DB 78 */ mr r3, r27 /* 802CD014 002C8C74 4B FF 86 09 */ bl btm_find_dev /* 802CD018 002C8C78 2C 03 00 00 */ cmpwi r3, 0 /* 802CD01C 002C8C7C 7C 7E 1B 78 */ mr r30, r3 /* 802CD020 002C8C80 40 82 00 10 */ bne lbl_802CD030 /* 802CD024 002C8C84 7F 63 DB 78 */ mr r3, r27 /* 802CD028 002C8C88 4B FF 84 1D */ bl btm_sec_alloc_dev /* 802CD02C 002C8C8C 7C 7E 1B 78 */ mr r30, r3 lbl_802CD030: /* 802CD030 002C8C90 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD034 002C8C94 7F 64 DB 78 */ mr r4, r27 /* 802CD038 002C8C98 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD03C 002C8C9C 38 A0 00 06 */ li r5, 6 /* 802CD040 002C8CA0 38 63 19 54 */ addi r3, r3, 0x1954 /* 802CD044 002C8CA4 4B D3 6F BD */ bl memcpy /* 802CD048 002C8CA8 2C 1E 00 00 */ cmpwi r30, 0 /* 802CD04C 002C8CAC 41 82 01 74 */ beq lbl_802CD1C0 /* 802CD050 002C8CB0 7F 63 DB 78 */ mr r3, r27 /* 802CD054 002C8CB4 38 9D 27 B4 */ addi r4, r29, 0x27b4 /* 802CD058 002C8CB8 38 A0 00 06 */ li r5, 6 /* 802CD05C 002C8CBC 4B EF D3 3D */ bl memcmp /* 802CD060 002C8CC0 2C 03 00 00 */ cmpwi r3, 0 /* 802CD064 002C8CC4 40 82 00 14 */ bne lbl_802CD078 /* 802CD068 002C8CC8 38 7E 00 22 */ addi r3, r30, 0x22 /* 802CD06C 002C8CCC 38 9D 27 BA */ addi r4, r29, 0x27ba /* 802CD070 002C8CD0 38 A0 00 03 */ li r5, 3 /* 802CD074 002C8CD4 4B D3 6F 8D */ bl memcpy lbl_802CD078: /* 802CD078 002C8CD8 88 1E 00 81 */ lbz r0, 0x81(r30) /* 802CD07C 002C8CDC 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CD080 002C8CE0 41 82 00 A0 */ beq lbl_802CD120 /* 802CD084 002C8CE4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD088 002C8CE8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD08C 002C8CEC 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CD090 002C8CF0 28 00 00 04 */ cmplwi r0, 4 /* 802CD094 002C8CF4 41 80 00 14 */ blt lbl_802CD0A8 /* 802CD098 002C8CF8 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CD09C 002C8CFC 38 9F 07 FC */ addi r4, r31, 0x7fc /* 802CD0A0 002C8D00 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CD0A4 002C8D04 4B FE FE 6D */ bl LogMsg_0 lbl_802CD0A8: /* 802CD0A8 002C8D08 88 9D 19 7F */ lbz r4, 0x197f(r29) /* 802CD0AC 002C8D0C 7F 63 DB 78 */ mr r3, r27 /* 802CD0B0 002C8D10 38 BD 19 80 */ addi r5, r29, 0x1980 /* 802CD0B4 002C8D14 48 00 33 ED */ bl btsnd_hcic_pin_code_req_reply /* 802CD0B8 002C8D18 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CD0BC 002C8D1C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CD0C0 002C8D20 88 04 19 7B */ lbz r0, 0x197b(r4) /* 802CD0C4 002C8D24 2C 00 00 00 */ cmpwi r0, 0 /* 802CD0C8 002C8D28 41 82 00 FC */ beq lbl_802CD1C4 /* 802CD0CC 002C8D2C 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CD0D0 002C8D30 38 60 00 00 */ li r3, 0 /* 802CD0D4 002C8D34 98 64 19 7B */ stb r3, 0x197b(r4) /* 802CD0D8 002C8D38 28 00 00 05 */ cmplwi r0, 5 /* 802CD0DC 002C8D3C 41 80 00 24 */ blt lbl_802CD100 /* 802CD0E0 002C8D40 88 A4 19 78 */ lbz r5, 0x1978(r4) /* 802CD0E4 002C8D44 3C 60 00 0D */ lis r3, 0x000D0004@ha /* 802CD0E8 002C8D48 38 63 00 04 */ addi r3, r3, 0x000D0004@l /* 802CD0EC 002C8D4C 38 9F 08 2C */ addi r4, r31, 0x82c /* 802CD0F0 002C8D50 38 05 FF FD */ addi r0, r5, -3 /* 802CD0F4 002C8D54 7C 00 00 34 */ cntlzw r0, r0 /* 802CD0F8 002C8D58 54 05 D9 7E */ srwi r5, r0, 5 /* 802CD0FC 002C8D5C 4B FE FE 2D */ bl LogMsg_1 lbl_802CD100: /* 802CD100 002C8D60 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD104 002C8D64 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD108 002C8D68 88 63 19 78 */ lbz r3, 0x1978(r3) /* 802CD10C 002C8D6C 38 03 FF FD */ addi r0, r3, -3 /* 802CD110 002C8D70 7C 00 00 34 */ cntlzw r0, r0 /* 802CD114 002C8D74 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f /* 802CD118 002C8D78 48 00 48 E1 */ bl btsnd_hcic_write_auth_enable /* 802CD11C 002C8D7C 48 00 00 A8 */ b lbl_802CD1C4 lbl_802CD120: /* 802CD120 002C8D80 88 1D 19 79 */ lbz r0, 0x1979(r29) /* 802CD124 002C8D84 2C 00 00 00 */ cmpwi r0, 0 /* 802CD128 002C8D88 40 82 00 38 */ bne lbl_802CD160 /* 802CD12C 002C8D8C 80 1D 19 10 */ lwz r0, 0x1910(r29) /* 802CD130 002C8D90 2C 00 00 00 */ cmpwi r0, 0 /* 802CD134 002C8D94 41 82 00 2C */ beq lbl_802CD160 /* 802CD138 002C8D98 88 1E 00 80 */ lbz r0, 0x80(r30) /* 802CD13C 002C8D9C 2C 00 00 00 */ cmpwi r0, 0 /* 802CD140 002C8DA0 40 82 00 28 */ bne lbl_802CD168 /* 802CD144 002C8DA4 88 1E 00 23 */ lbz r0, 0x23(r30) /* 802CD148 002C8DA8 54 00 06 FE */ clrlwi r0, r0, 0x1b /* 802CD14C 002C8DAC 2C 00 00 05 */ cmpwi r0, 5 /* 802CD150 002C8DB0 40 82 00 18 */ bne lbl_802CD168 /* 802CD154 002C8DB4 88 1E 00 24 */ lbz r0, 0x24(r30) /* 802CD158 002C8DB8 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802CD15C 002C8DBC 41 82 00 0C */ beq lbl_802CD168 lbl_802CD160: /* 802CD160 002C8DC0 3B 80 00 01 */ li r28, 1 /* 802CD164 002C8DC4 48 00 00 60 */ b lbl_802CD1C4 lbl_802CD168: /* 802CD168 002C8DC8 7F 64 DB 78 */ mr r4, r27 /* 802CD16C 002C8DCC 38 7D 27 B4 */ addi r3, r29, 0x27b4 /* 802CD170 002C8DD0 38 A0 00 06 */ li r5, 6 /* 802CD174 002C8DD4 4B D3 6E 8D */ bl memcpy /* 802CD178 002C8DD8 38 7D 27 BA */ addi r3, r29, 0x27ba /* 802CD17C 002C8DDC 38 9E 00 22 */ addi r4, r30, 0x22 /* 802CD180 002C8DE0 38 A0 00 03 */ li r5, 3 /* 802CD184 002C8DE4 4B D3 6E 7D */ bl memcpy /* 802CD188 002C8DE8 3C A0 80 2D */ lis r5, btm_sec_pin_code_request_timeout@ha /* 802CD18C 002C8DEC 38 7D 19 3C */ addi r3, r29, 0x193c /* 802CD190 002C8DF0 38 A5 CE 4C */ addi r5, r5, btm_sec_pin_code_request_timeout@l /* 802CD194 002C8DF4 38 80 00 16 */ li r4, 0x16 /* 802CD198 002C8DF8 90 BD 19 4C */ stw r5, 0x194c(r29) /* 802CD19C 002C8DFC 38 A0 00 3C */ li r5, 0x3c /* 802CD1A0 002C8E00 4B FF 03 3D */ bl btu_start_timer /* 802CD1A4 002C8E04 81 9D 19 10 */ lwz r12, 0x1910(r29) /* 802CD1A8 002C8E08 7F 63 DB 78 */ mr r3, r27 /* 802CD1AC 002C8E0C 38 9E 00 22 */ addi r4, r30, 0x22 /* 802CD1B0 002C8E10 38 BE 00 35 */ addi r5, r30, 0x35 /* 802CD1B4 002C8E14 7D 89 03 A6 */ mtctr r12 /* 802CD1B8 002C8E18 4E 80 04 21 */ bctrl /* 802CD1BC 002C8E1C 48 00 00 08 */ b lbl_802CD1C4 lbl_802CD1C0: /* 802CD1C0 002C8E20 3B 80 00 01 */ li r28, 1 lbl_802CD1C4: /* 802CD1C4 002C8E24 2C 1C 00 00 */ cmpwi r28, 0 /* 802CD1C8 002C8E28 41 82 00 3C */ beq lbl_802CD204 /* 802CD1CC 002C8E2C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD1D0 002C8E30 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD1D4 002C8E34 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CD1D8 002C8E38 28 00 00 02 */ cmplwi r0, 2 /* 802CD1DC 002C8E3C 41 80 00 20 */ blt lbl_802CD1FC /* 802CD1E0 002C8E40 3C 60 00 0D */ lis r3, 0x000D0001@ha /* 802CD1E4 002C8E44 88 BD 19 79 */ lbz r5, 0x1979(r29) /* 802CD1E8 002C8E48 80 DD 19 10 */ lwz r6, 0x1910(r29) /* 802CD1EC 002C8E4C 7F C7 F3 78 */ mr r7, r30 /* 802CD1F0 002C8E50 38 63 00 01 */ addi r3, r3, 0x000D0001@l /* 802CD1F4 002C8E54 38 9F 08 5C */ addi r4, r31, 0x85c /* 802CD1F8 002C8E58 4B FE FD 61 */ bl LogMsg_3 lbl_802CD1FC: /* 802CD1FC 002C8E5C 7F 63 DB 78 */ mr r3, r27 /* 802CD200 002C8E60 48 00 34 85 */ bl btsnd_hcic_pin_code_neg_reply lbl_802CD204: /* 802CD204 002C8E64 39 61 00 20 */ addi r11, r1, 0x20 /* 802CD208 002C8E68 4B EF 9F 6D */ bl _restgpr_27 /* 802CD20C 002C8E6C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CD210 002C8E70 7C 08 03 A6 */ mtlr r0 /* 802CD214 002C8E74 38 21 00 20 */ addi r1, r1, 0x20 /* 802CD218 002C8E78 4E 80 00 20 */ blr .global btm_sec_update_clock_offset btm_sec_update_clock_offset: /* 802CD21C 002C8E7C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CD220 002C8E80 7C 08 02 A6 */ mflr r0 /* 802CD224 002C8E84 90 01 00 14 */ stw r0, 0x14(r1) /* 802CD228 002C8E88 93 E1 00 0C */ stw r31, 0xc(r1) /* 802CD22C 002C8E8C 7C 9F 23 78 */ mr r31, r4 /* 802CD230 002C8E90 4B FF 83 35 */ bl btm_find_dev_by_handle /* 802CD234 002C8E94 2C 03 00 00 */ cmpwi r3, 0 /* 802CD238 002C8E98 41 82 00 20 */ beq lbl_802CD258 /* 802CD23C 002C8E9C 63 FF 80 00 */ ori r31, r31, 0x8000 /* 802CD240 002C8EA0 B3 E3 00 1A */ sth r31, 0x1a(r3) /* 802CD244 002C8EA4 38 63 00 1C */ addi r3, r3, 0x1c /* 802CD248 002C8EA8 4B FF AA E1 */ bl BTM_InqDbRead /* 802CD24C 002C8EAC 2C 03 00 00 */ cmpwi r3, 0 /* 802CD250 002C8EB0 41 82 00 08 */ beq lbl_802CD258 /* 802CD254 002C8EB4 B3 E3 00 00 */ sth r31, 0(r3) lbl_802CD258: /* 802CD258 002C8EB8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CD25C 002C8EBC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802CD260 002C8EC0 7C 08 03 A6 */ mtlr r0 /* 802CD264 002C8EC4 38 21 00 10 */ addi r1, r1, 0x10 /* 802CD268 002C8EC8 4E 80 00 20 */ blr .global btm_sec_execute_procedure btm_sec_execute_procedure: /* 802CD26C 002C8ECC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CD270 002C8ED0 7C 08 02 A6 */ mflr r0 /* 802CD274 002C8ED4 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CD278 002C8ED8 90 01 00 24 */ stw r0, 0x24(r1) /* 802CD27C 002C8EDC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CD280 002C8EE0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CD284 002C8EE4 3F E0 80 44 */ lis r31, lbl_80441890@ha /* 802CD288 002C8EE8 3B FF 18 90 */ addi r31, r31, lbl_80441890@l /* 802CD28C 002C8EEC 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CD290 002C8EF0 7C 7E 1B 78 */ mr r30, r3 /* 802CD294 002C8EF4 93 A1 00 14 */ stw r29, 0x14(r1) /* 802CD298 002C8EF8 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802CD29C 002C8EFC 28 00 00 04 */ cmplwi r0, 4 /* 802CD2A0 002C8F00 41 80 00 20 */ blt lbl_802CD2C0 /* 802CD2A4 002C8F04 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CD2A8 002C8F08 88 BE 00 81 */ lbz r5, 0x81(r30) /* 802CD2AC 002C8F0C 88 DE 00 76 */ lbz r6, 0x76(r30) /* 802CD2B0 002C8F10 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CD2B4 002C8F14 88 FE 00 7F */ lbz r7, 0x7f(r30) /* 802CD2B8 002C8F18 38 9F 08 AC */ addi r4, r31, 0x8ac /* 802CD2BC 002C8F1C 4B FE FC 9D */ bl LogMsg_3 lbl_802CD2C0: /* 802CD2C0 002C8F20 88 1E 00 7F */ lbz r0, 0x7f(r30) /* 802CD2C4 002C8F24 2C 00 00 00 */ cmpwi r0, 0 /* 802CD2C8 002C8F28 41 82 00 0C */ beq lbl_802CD2D4 /* 802CD2CC 002C8F2C 38 60 00 01 */ li r3, 1 /* 802CD2D0 002C8F30 48 00 03 60 */ b lbl_802CD630 lbl_802CD2D4: /* 802CD2D4 002C8F34 A0 1E 00 18 */ lhz r0, 0x18(r30) /* 802CD2D8 002C8F38 28 80 FF FF */ cmplwi cr1, r0, 0xffff /* 802CD2DC 002C8F3C 40 86 00 60 */ bne cr1, lbl_802CD33C /* 802CD2E0 002C8F40 38 7E 00 1C */ addi r3, r30, 0x1c /* 802CD2E4 002C8F44 48 00 C7 B1 */ bl l2cu_allocate_lcb /* 802CD2E8 002C8F48 2C 03 00 00 */ cmpwi r3, 0 /* 802CD2EC 002C8F4C 40 82 00 2C */ bne lbl_802CD318 /* 802CD2F0 002C8F50 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802CD2F4 002C8F54 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) /* 802CD2F8 002C8F58 28 00 00 02 */ cmplwi r0, 2 /* 802CD2FC 002C8F5C 41 80 00 14 */ blt lbl_802CD310 /* 802CD300 002C8F60 3C 60 00 08 */ lis r3, 0x00080001@ha /* 802CD304 002C8F64 38 9F 08 EC */ addi r4, r31, 0x8ec /* 802CD308 002C8F68 38 63 00 01 */ addi r3, r3, 0x00080001@l /* 802CD30C 002C8F6C 4B FE FC 05 */ bl LogMsg_0 lbl_802CD310: /* 802CD310 002C8F70 38 60 00 03 */ li r3, 3 /* 802CD314 002C8F74 48 00 03 1C */ b lbl_802CD630 lbl_802CD318: /* 802CD318 002C8F78 48 00 E2 E1 */ bl l2cu_create_conn /* 802CD31C 002C8F7C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CD320 002C8F80 40 82 00 0C */ bne lbl_802CD32C /* 802CD324 002C8F84 38 60 00 03 */ li r3, 3 /* 802CD328 002C8F88 48 00 03 08 */ b lbl_802CD630 lbl_802CD32C: /* 802CD32C 002C8F8C 38 00 00 01 */ li r0, 1 /* 802CD330 002C8F90 38 60 00 01 */ li r3, 1 /* 802CD334 002C8F94 98 1E 00 80 */ stb r0, 0x80(r30) /* 802CD338 002C8F98 48 00 02 F8 */ b lbl_802CD630 lbl_802CD33C: /* 802CD33C 002C8F9C 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802CD340 002C8FA0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 802CD344 002C8FA4 40 82 00 88 */ bne lbl_802CD3CC /* 802CD348 002C8FA8 41 86 00 84 */ beq cr1, lbl_802CD3CC /* 802CD34C 002C8FAC 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD350 002C8FB0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD354 002C8FB4 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CD358 002C8FB8 28 00 00 04 */ cmplwi r0, 4 /* 802CD35C 002C8FBC 41 80 00 14 */ blt lbl_802CD370 /* 802CD360 002C8FC0 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CD364 002C8FC4 38 9F 09 10 */ addi r4, r31, 0x910 /* 802CD368 002C8FC8 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CD36C 002C8FCC 4B FE FB A5 */ bl LogMsg_0 lbl_802CD370: /* 802CD370 002C8FD0 8B BE 00 7F */ lbz r29, 0x7f(r30) /* 802CD374 002C8FD4 38 00 00 03 */ li r0, 3 /* 802CD378 002C8FD8 38 7E 00 1C */ addi r3, r30, 0x1c /* 802CD37C 002C8FDC 38 80 00 00 */ li r4, 0 /* 802CD380 002C8FE0 98 1E 00 7F */ stb r0, 0x7f(r30) /* 802CD384 002C8FE4 38 A0 00 02 */ li r5, 2 /* 802CD388 002C8FE8 38 C0 00 1E */ li r6, 0x1e /* 802CD38C 002C8FEC 38 E0 00 00 */ li r7, 0 /* 802CD390 002C8FF0 4B FF B7 19 */ bl btm_initiate_rem_name /* 802CD394 002C8FF4 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802CD398 002C8FF8 28 00 00 01 */ cmplwi r0, 1 /* 802CD39C 002C8FFC 41 82 00 10 */ beq lbl_802CD3AC /* 802CD3A0 002C9000 9B BE 00 7F */ stb r29, 0x7f(r30) /* 802CD3A4 002C9004 38 00 00 00 */ li r0, 0 /* 802CD3A8 002C9008 48 00 00 08 */ b lbl_802CD3B0 lbl_802CD3AC: /* 802CD3AC 002C900C 38 00 00 01 */ li r0, 1 lbl_802CD3B0: /* 802CD3B0 002C9010 2C 00 00 00 */ cmpwi r0, 0 /* 802CD3B4 002C9014 41 82 00 0C */ beq lbl_802CD3C0 /* 802CD3B8 002C9018 38 60 00 01 */ li r3, 1 /* 802CD3BC 002C901C 48 00 02 74 */ b lbl_802CD630 lbl_802CD3C0: /* 802CD3C0 002C9020 88 1E 00 76 */ lbz r0, 0x76(r30) /* 802CD3C4 002C9024 60 00 00 08 */ ori r0, r0, 8 /* 802CD3C8 002C9028 98 1E 00 76 */ stb r0, 0x76(r30) lbl_802CD3CC: /* 802CD3CC 002C902C 88 9E 00 76 */ lbz r4, 0x76(r30) /* 802CD3D0 002C9030 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e /* 802CD3D4 002C9034 40 82 00 88 */ bne lbl_802CD45C /* 802CD3D8 002C9038 88 7E 00 80 */ lbz r3, 0x80(r30) /* 802CD3DC 002C903C 2C 03 00 00 */ cmpwi r3, 0 /* 802CD3E0 002C9040 41 82 00 10 */ beq lbl_802CD3F0 /* 802CD3E4 002C9044 88 1E 00 81 */ lbz r0, 0x81(r30) /* 802CD3E8 002C9048 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 802CD3EC 002C904C 40 82 00 18 */ bne lbl_802CD404 lbl_802CD3F0: /* 802CD3F0 002C9050 2C 03 00 00 */ cmpwi r3, 0 /* 802CD3F4 002C9054 40 82 00 68 */ bne lbl_802CD45C /* 802CD3F8 002C9058 88 1E 00 81 */ lbz r0, 0x81(r30) /* 802CD3FC 002C905C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 802CD400 002C9060 41 82 00 5C */ beq lbl_802CD45C lbl_802CD404: /* 802CD404 002C9064 A0 1E 00 18 */ lhz r0, 0x18(r30) /* 802CD408 002C9068 28 00 FF FF */ cmplwi r0, 0xffff /* 802CD40C 002C906C 41 82 00 50 */ beq lbl_802CD45C /* 802CD410 002C9070 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD414 002C9074 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD418 002C9078 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CD41C 002C907C 28 00 00 04 */ cmplwi r0, 4 /* 802CD420 002C9080 41 80 00 14 */ blt lbl_802CD434 /* 802CD424 002C9084 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CD428 002C9088 38 9F 09 34 */ addi r4, r31, 0x934 /* 802CD42C 002C908C 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CD430 002C9090 4B FE FA E1 */ bl LogMsg_0 lbl_802CD434: /* 802CD434 002C9094 38 00 00 01 */ li r0, 1 /* 802CD438 002C9098 A0 7E 00 18 */ lhz r3, 0x18(r30) /* 802CD43C 002C909C 98 1E 00 7F */ stb r0, 0x7f(r30) /* 802CD440 002C90A0 48 00 33 75 */ bl btsnd_hcic_auth_request /* 802CD444 002C90A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CD448 002C90A8 40 82 00 0C */ bne lbl_802CD454 /* 802CD44C 002C90AC 38 60 00 03 */ li r3, 3 /* 802CD450 002C90B0 48 00 01 E0 */ b lbl_802CD630 lbl_802CD454: /* 802CD454 002C90B4 38 60 00 01 */ li r3, 1 /* 802CD458 002C90B8 48 00 01 D8 */ b lbl_802CD630 lbl_802CD45C: /* 802CD45C 002C90BC 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d /* 802CD460 002C90C0 40 82 00 A0 */ bne lbl_802CD500 /* 802CD464 002C90C4 88 7E 00 80 */ lbz r3, 0x80(r30) /* 802CD468 002C90C8 2C 03 00 00 */ cmpwi r3, 0 /* 802CD46C 002C90CC 41 82 00 10 */ beq lbl_802CD47C /* 802CD470 002C90D0 88 1E 00 81 */ lbz r0, 0x81(r30) /* 802CD474 002C90D4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 802CD478 002C90D8 40 82 00 18 */ bne lbl_802CD490 lbl_802CD47C: /* 802CD47C 002C90DC 2C 03 00 00 */ cmpwi r3, 0 /* 802CD480 002C90E0 40 82 00 80 */ bne lbl_802CD500 /* 802CD484 002C90E4 88 1E 00 81 */ lbz r0, 0x81(r30) /* 802CD488 002C90E8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 802CD48C 002C90EC 41 82 00 74 */ beq lbl_802CD500 lbl_802CD490: /* 802CD490 002C90F0 A0 1E 00 18 */ lhz r0, 0x18(r30) /* 802CD494 002C90F4 28 00 FF FF */ cmplwi r0, 0xffff /* 802CD498 002C90F8 41 82 00 68 */ beq lbl_802CD500 /* 802CD49C 002C90FC 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD4A0 002C9100 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD4A4 002C9104 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CD4A8 002C9108 28 00 00 04 */ cmplwi r0, 4 /* 802CD4AC 002C910C 41 80 00 14 */ blt lbl_802CD4C0 /* 802CD4B0 002C9110 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CD4B4 002C9114 38 9F 09 5C */ addi r4, r31, 0x95c /* 802CD4B8 002C9118 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CD4BC 002C911C 4B FE FA 55 */ bl LogMsg_0 lbl_802CD4C0: /* 802CD4C0 002C9120 A0 7E 00 18 */ lhz r3, 0x18(r30) /* 802CD4C4 002C9124 38 80 00 01 */ li r4, 1 /* 802CD4C8 002C9128 48 00 33 69 */ bl btsnd_hcic_set_conn_encrypt /* 802CD4CC 002C912C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CD4D0 002C9130 40 82 00 0C */ bne lbl_802CD4DC /* 802CD4D4 002C9134 38 60 00 00 */ li r3, 0 /* 802CD4D8 002C9138 48 00 00 10 */ b lbl_802CD4E8 lbl_802CD4DC: /* 802CD4DC 002C913C 38 00 00 02 */ li r0, 2 /* 802CD4E0 002C9140 38 60 00 01 */ li r3, 1 /* 802CD4E4 002C9144 98 1E 00 7F */ stb r0, 0x7f(r30) lbl_802CD4E8: /* 802CD4E8 002C9148 2C 03 00 00 */ cmpwi r3, 0 /* 802CD4EC 002C914C 40 82 00 0C */ bne lbl_802CD4F8 /* 802CD4F0 002C9150 38 60 00 03 */ li r3, 3 /* 802CD4F4 002C9154 48 00 01 3C */ b lbl_802CD630 lbl_802CD4F8: /* 802CD4F8 002C9158 38 60 00 01 */ li r3, 1 /* 802CD4FC 002C915C 48 00 01 34 */ b lbl_802CD630 lbl_802CD500: /* 802CD500 002C9160 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802CD504 002C9164 40 82 00 CC */ bne lbl_802CD5D0 /* 802CD508 002C9168 88 7E 00 80 */ lbz r3, 0x80(r30) /* 802CD50C 002C916C 2C 03 00 00 */ cmpwi r3, 0 /* 802CD510 002C9170 41 82 00 10 */ beq lbl_802CD520 /* 802CD514 002C9174 88 1E 00 81 */ lbz r0, 0x81(r30) /* 802CD518 002C9178 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 802CD51C 002C917C 40 82 00 18 */ bne lbl_802CD534 lbl_802CD520: /* 802CD520 002C9180 2C 03 00 00 */ cmpwi r3, 0 /* 802CD524 002C9184 40 82 00 AC */ bne lbl_802CD5D0 /* 802CD528 002C9188 88 1E 00 81 */ lbz r0, 0x81(r30) /* 802CD52C 002C918C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 802CD530 002C9190 41 82 00 A0 */ beq lbl_802CD5D0 lbl_802CD534: /* 802CD534 002C9194 80 7E 00 10 */ lwz r3, 0x10(r30) /* 802CD538 002C9198 3C 03 00 01 */ addis r0, r3, 1 /* 802CD53C 002C919C 28 00 FF FF */ cmplwi r0, 0xffff /* 802CD540 002C91A0 41 82 00 0C */ beq lbl_802CD54C /* 802CD544 002C91A4 38 00 00 00 */ li r0, 0 /* 802CD548 002C91A8 48 00 00 20 */ b lbl_802CD568 lbl_802CD54C: /* 802CD54C 002C91AC 80 7E 00 14 */ lwz r3, 0x14(r30) /* 802CD550 002C91B0 3C 03 00 01 */ addis r0, r3, 1 /* 802CD554 002C91B4 28 00 FF FF */ cmplwi r0, 0xffff /* 802CD558 002C91B8 41 82 00 0C */ beq lbl_802CD564 /* 802CD55C 002C91BC 38 00 00 00 */ li r0, 0 /* 802CD560 002C91C0 48 00 00 08 */ b lbl_802CD568 lbl_802CD564: /* 802CD564 002C91C4 38 00 00 01 */ li r0, 1 lbl_802CD568: /* 802CD568 002C91C8 2C 00 00 00 */ cmpwi r0, 0 /* 802CD56C 002C91CC 40 82 00 64 */ bne lbl_802CD5D0 /* 802CD570 002C91D0 80 7E 00 00 */ lwz r3, 0(r30) /* 802CD574 002C91D4 88 63 00 0F */ lbz r3, 0xf(r3) /* 802CD578 002C91D8 28 03 00 2E */ cmplwi r3, 0x2e /* 802CD57C 002C91DC 40 80 00 54 */ bge lbl_802CD5D0 /* 802CD580 002C91E0 54 60 EE FA */ rlwinm r0, r3, 0x1d, 0x1b, 0x1d /* 802CD584 002C91E4 54 64 06 FE */ clrlwi r4, r3, 0x1b /* 802CD588 002C91E8 7C 7E 02 14 */ add r3, r30, r0 /* 802CD58C 002C91EC 38 A0 00 01 */ li r5, 1 /* 802CD590 002C91F0 80 03 00 10 */ lwz r0, 0x10(r3) /* 802CD594 002C91F4 7C A3 20 30 */ slw r3, r5, r4 /* 802CD598 002C91F8 7C 60 00 39 */ and. r0, r3, r0 /* 802CD59C 002C91FC 40 82 00 34 */ bne lbl_802CD5D0 /* 802CD5A0 002C9200 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD5A4 002C9204 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD5A8 002C9208 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CD5AC 002C920C 28 00 00 04 */ cmplwi r0, 4 /* 802CD5B0 002C9210 41 80 00 14 */ blt lbl_802CD5C4 /* 802CD5B4 002C9214 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CD5B8 002C9218 38 9F 09 80 */ addi r4, r31, 0x980 /* 802CD5BC 002C921C 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CD5C0 002C9220 4B FE F9 51 */ bl LogMsg_0 lbl_802CD5C4: /* 802CD5C4 002C9224 7F C3 F3 78 */ mr r3, r30 /* 802CD5C8 002C9228 48 00 00 85 */ bl btm_sec_start_authorization /* 802CD5CC 002C922C 48 00 00 64 */ b lbl_802CD630 lbl_802CD5D0: /* 802CD5D0 002C9230 88 1E 00 81 */ lbz r0, 0x81(r30) /* 802CD5D4 002C9234 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD5D8 002C9238 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD5DC 002C923C 54 00 06 32 */ rlwinm r0, r0, 0, 0x18, 0x19 /* 802CD5E0 002C9240 98 1E 00 81 */ stb r0, 0x81(r30) /* 802CD5E4 002C9244 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CD5E8 002C9248 28 00 00 04 */ cmplwi r0, 4 /* 802CD5EC 002C924C 41 80 00 1C */ blt lbl_802CD608 /* 802CD5F0 002C9250 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CD5F4 002C9254 80 BE 00 14 */ lwz r5, 0x14(r30) /* 802CD5F8 002C9258 80 DE 00 10 */ lwz r6, 0x10(r30) /* 802CD5FC 002C925C 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CD600 002C9260 38 9F 09 A8 */ addi r4, r31, 0x9a8 /* 802CD604 002C9264 4B FE F9 3D */ bl LogMsg_2 lbl_802CD608: /* 802CD608 002C9268 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD60C 002C926C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD610 002C9270 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CD614 002C9274 28 00 00 04 */ cmplwi r0, 4 /* 802CD618 002C9278 41 80 00 14 */ blt lbl_802CD62C /* 802CD61C 002C927C 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CD620 002C9280 38 9F 09 D0 */ addi r4, r31, 0x9d0 /* 802CD624 002C9284 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CD628 002C9288 4B FE F8 E9 */ bl LogMsg_0 lbl_802CD62C: /* 802CD62C 002C928C 38 60 00 00 */ li r3, 0 lbl_802CD630: /* 802CD630 002C9290 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CD634 002C9294 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CD638 002C9298 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CD63C 002C929C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802CD640 002C92A0 7C 08 03 A6 */ mtlr r0 /* 802CD644 002C92A4 38 21 00 20 */ addi r1, r1, 0x20 /* 802CD648 002C92A8 4E 80 00 20 */ blr .global btm_sec_start_authorization btm_sec_start_authorization: /* 802CD64C 002C92AC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CD650 002C92B0 7C 08 02 A6 */ mflr r0 /* 802CD654 002C92B4 38 C0 00 00 */ li r6, 0 /* 802CD658 002C92B8 90 01 00 14 */ stw r0, 0x14(r1) /* 802CD65C 002C92BC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802CD660 002C92C0 93 C1 00 08 */ stw r30, 8(r1) /* 802CD664 002C92C4 7C 7E 1B 78 */ mr r30, r3 /* 802CD668 002C92C8 88 03 00 76 */ lbz r0, 0x76(r3) /* 802CD66C 002C92CC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 802CD670 002C92D0 40 82 00 10 */ bne lbl_802CD680 /* 802CD674 002C92D4 A0 03 00 18 */ lhz r0, 0x18(r3) /* 802CD678 002C92D8 28 00 FF FF */ cmplwi r0, 0xffff /* 802CD67C 002C92DC 40 82 00 9C */ bne lbl_802CD718 lbl_802CD680: /* 802CD680 002C92E0 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CD684 002C92E4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CD688 002C92E8 80 04 19 0C */ lwz r0, 0x190c(r4) /* 802CD68C 002C92EC 2C 00 00 00 */ cmpwi r0, 0 /* 802CD690 002C92F0 40 82 00 0C */ bne lbl_802CD69C /* 802CD694 002C92F4 38 60 00 04 */ li r3, 4 /* 802CD698 002C92F8 48 00 00 B8 */ b lbl_802CD750 lbl_802CD69C: /* 802CD69C 002C92FC 80 83 00 00 */ lwz r4, 0(r3) /* 802CD6A0 002C9300 2C 04 00 00 */ cmpwi r4, 0 /* 802CD6A4 002C9304 41 82 00 24 */ beq lbl_802CD6C8 /* 802CD6A8 002C9308 88 03 00 80 */ lbz r0, 0x80(r3) /* 802CD6AC 002C930C 2C 00 00 00 */ cmpwi r0, 0 /* 802CD6B0 002C9310 41 82 00 0C */ beq lbl_802CD6BC /* 802CD6B4 002C9314 38 C4 00 10 */ addi r6, r4, 0x10 /* 802CD6B8 002C9318 48 00 00 08 */ b lbl_802CD6C0 lbl_802CD6BC: /* 802CD6BC 002C931C 38 C4 00 26 */ addi r6, r4, 0x26 lbl_802CD6C0: /* 802CD6C0 002C9320 88 E4 00 0F */ lbz r7, 0xf(r4) /* 802CD6C4 002C9324 48 00 00 08 */ b lbl_802CD6CC lbl_802CD6C8: /* 802CD6C8 002C9328 38 E0 00 00 */ li r7, 0 lbl_802CD6CC: /* 802CD6CC 002C932C 38 00 00 04 */ li r0, 4 /* 802CD6D0 002C9330 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CD6D4 002C9334 98 03 00 7F */ stb r0, 0x7f(r3) /* 802CD6D8 002C9338 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CD6DC 002C933C 38 A3 00 35 */ addi r5, r3, 0x35 /* 802CD6E0 002C9340 89 03 00 80 */ lbz r8, 0x80(r3) /* 802CD6E4 002C9344 81 84 19 0C */ lwz r12, 0x190c(r4) /* 802CD6E8 002C9348 38 83 00 22 */ addi r4, r3, 0x22 /* 802CD6EC 002C934C 7D 89 03 A6 */ mtctr r12 /* 802CD6F0 002C9350 38 63 00 1C */ addi r3, r3, 0x1c /* 802CD6F4 002C9354 4E 80 04 21 */ bctrl /* 802CD6F8 002C9358 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CD6FC 002C935C 40 82 00 54 */ bne lbl_802CD750 /* 802CD700 002C9360 88 9E 00 76 */ lbz r4, 0x76(r30) /* 802CD704 002C9364 38 00 00 00 */ li r0, 0 /* 802CD708 002C9368 98 1E 00 7F */ stb r0, 0x7f(r30) /* 802CD70C 002C936C 60 80 00 01 */ ori r0, r4, 1 /* 802CD710 002C9370 98 1E 00 76 */ stb r0, 0x76(r30) /* 802CD714 002C9374 48 00 00 3C */ b lbl_802CD750 lbl_802CD718: /* 802CD718 002C9378 8B E3 00 7F */ lbz r31, 0x7f(r3) /* 802CD71C 002C937C 38 00 00 03 */ li r0, 3 /* 802CD720 002C9380 38 80 00 00 */ li r4, 0 /* 802CD724 002C9384 38 A0 00 02 */ li r5, 2 /* 802CD728 002C9388 98 03 00 7F */ stb r0, 0x7f(r3) /* 802CD72C 002C938C 38 C0 00 1E */ li r6, 0x1e /* 802CD730 002C9390 38 E0 00 00 */ li r7, 0 /* 802CD734 002C9394 38 63 00 1C */ addi r3, r3, 0x1c /* 802CD738 002C9398 4B FF B3 71 */ bl btm_initiate_rem_name /* 802CD73C 002C939C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802CD740 002C93A0 28 00 00 01 */ cmplwi r0, 1 /* 802CD744 002C93A4 41 82 00 08 */ beq lbl_802CD74C /* 802CD748 002C93A8 9B FE 00 7F */ stb r31, 0x7f(r30) lbl_802CD74C: /* 802CD74C 002C93AC 38 60 00 01 */ li r3, 1 lbl_802CD750: /* 802CD750 002C93B0 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CD754 002C93B4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802CD758 002C93B8 83 C1 00 08 */ lwz r30, 8(r1) /* 802CD75C 002C93BC 7C 08 03 A6 */ mtlr r0 /* 802CD760 002C93C0 38 21 00 10 */ addi r1, r1, 0x10 /* 802CD764 002C93C4 4E 80 00 20 */ blr btm_sec_collision_timeout: /* 802CD768 002C93C8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CD76C 002C93CC 7C 08 02 A6 */ mflr r0 /* 802CD770 002C93D0 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CD774 002C93D4 90 01 00 14 */ stw r0, 0x14(r1) /* 802CD778 002C93D8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CD77C 002C93DC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802CD780 002C93E0 93 C1 00 08 */ stw r30, 8(r1) /* 802CD784 002C93E4 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802CD788 002C93E8 28 00 00 04 */ cmplwi r0, 4 /* 802CD78C 002C93EC 41 80 00 18 */ blt lbl_802CD7A4 /* 802CD790 002C93F0 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802CD794 002C93F4 3C 80 80 44 */ lis r4, lbl_80442284@ha /* 802CD798 002C93F8 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802CD79C 002C93FC 38 84 22 84 */ addi r4, r4, lbl_80442284@l /* 802CD7A0 002C9400 4B FE F7 71 */ bl LogMsg_0 lbl_802CD7A4: /* 802CD7A4 002C9404 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802CD7A8 002C9408 3B C0 00 00 */ li r30, 0 /* 802CD7AC 002C940C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802CD7B0 002C9410 93 DF 19 6C */ stw r30, 0x196c(r31) /* 802CD7B4 002C9414 80 7F 19 38 */ lwz r3, 0x1938(r31) /* 802CD7B8 002C9418 4B FF FA B5 */ bl btm_sec_execute_procedure /* 802CD7BC 002C941C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802CD7C0 002C9420 28 00 00 01 */ cmplwi r0, 1 /* 802CD7C4 002C9424 41 82 00 6C */ beq lbl_802CD830 /* 802CD7C8 002C9428 80 9F 19 38 */ lwz r4, 0x1938(r31) /* 802CD7CC 002C942C 80 04 00 04 */ lwz r0, 4(r4) /* 802CD7D0 002C9430 2C 00 00 00 */ cmpwi r0, 0 /* 802CD7D4 002C9434 41 82 00 5C */ beq lbl_802CD830 /* 802CD7D8 002C9438 88 04 00 80 */ lbz r0, 0x80(r4) /* 802CD7DC 002C943C 2C 00 00 00 */ cmpwi r0, 0 /* 802CD7E0 002C9440 41 82 00 20 */ beq lbl_802CD800 /* 802CD7E4 002C9444 80 84 00 00 */ lwz r4, 0(r4) /* 802CD7E8 002C9448 2C 04 00 00 */ cmpwi r4, 0 /* 802CD7EC 002C944C 41 82 00 14 */ beq lbl_802CD800 /* 802CD7F0 002C9450 80 04 00 00 */ lwz r0, 0(r4) /* 802CD7F4 002C9454 28 00 00 03 */ cmplwi r0, 3 /* 802CD7F8 002C9458 40 82 00 08 */ bne lbl_802CD800 /* 802CD7FC 002C945C 93 C4 00 04 */ stw r30, 4(r4) lbl_802CD800: /* 802CD800 002C9460 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802CD804 002C9464 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 802CD808 002C9468 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802CD80C 002C946C 80 9F 19 38 */ lwz r4, 0x1938(r31) /* 802CD810 002C9470 81 84 00 04 */ lwz r12, 4(r4) /* 802CD814 002C9474 38 64 00 1C */ addi r3, r4, 0x1c /* 802CD818 002C9478 80 84 00 08 */ lwz r4, 8(r4) /* 802CD81C 002C947C 7D 89 03 A6 */ mtctr r12 /* 802CD820 002C9480 4E 80 04 21 */ bctrl /* 802CD824 002C9484 80 7F 19 38 */ lwz r3, 0x1938(r31) /* 802CD828 002C9488 38 00 00 00 */ li r0, 0 /* 802CD82C 002C948C 90 03 00 04 */ stw r0, 4(r3) lbl_802CD830: /* 802CD830 002C9490 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CD834 002C9494 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802CD838 002C9498 83 C1 00 08 */ lwz r30, 8(r1) /* 802CD83C 002C949C 7C 08 03 A6 */ mtlr r0 /* 802CD840 002C94A0 38 21 00 10 */ addi r1, r1, 0x10 /* 802CD844 002C94A4 4E 80 00 20 */ blr .global btm_read_trusted_mask btm_read_trusted_mask: /* 802CD848 002C94A8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CD84C 002C94AC 7C 08 02 A6 */ mflr r0 /* 802CD850 002C94B0 90 01 00 14 */ stw r0, 0x14(r1) /* 802CD854 002C94B4 4B FF 7D C9 */ bl btm_find_dev /* 802CD858 002C94B8 2C 03 00 00 */ cmpwi r3, 0 /* 802CD85C 002C94BC 41 82 00 0C */ beq lbl_802CD868 /* 802CD860 002C94C0 38 63 00 10 */ addi r3, r3, 0x10 /* 802CD864 002C94C4 48 00 00 08 */ b lbl_802CD86C lbl_802CD868: /* 802CD868 002C94C8 38 60 00 00 */ li r3, 0 lbl_802CD86C: /* 802CD86C 002C94CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 802CD870 002C94D0 7C 08 03 A6 */ mtlr r0 /* 802CD874 002C94D4 38 21 00 10 */ addi r1, r1, 0x10 /* 802CD878 002C94D8 4E 80 00 20 */ blr