.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global btm_acl_init btm_acl_init: /* 802C342C 002BF08C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3430 002BF090 38 80 7D 00 */ li r4, 0x7d00 /* 802C3434 002BF094 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3438 002BF098 38 00 00 FF */ li r0, 0xff /* 802C343C 002BF09C B0 83 04 C6 */ sth r4, 0x4c6(r3) /* 802C3440 002BF0A0 98 03 27 BF */ stb r0, 0x27bf(r3) /* 802C3444 002BF0A4 4E 80 00 20 */ blr .global btm_handle_to_acl_index btm_handle_to_acl_index: /* 802C3448 002BF0A8 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C344C 002BF0AC 38 A0 00 00 */ li r5, 0 /* 802C3450 002BF0B0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C3454 002BF0B4 88 04 01 4D */ lbz r0, 0x14d(r4) /* 802C3458 002BF0B8 2C 00 00 00 */ cmpwi r0, 0 /* 802C345C 002BF0BC 41 82 00 10 */ beq lbl_802C346C /* 802C3460 002BF0C0 A0 04 00 34 */ lhz r0, 0x34(r4) /* 802C3464 002BF0C4 7C 00 18 40 */ cmplw r0, r3 /* 802C3468 002BF0C8 41 82 00 5C */ beq lbl_802C34C4 lbl_802C346C: /* 802C346C 002BF0CC 88 04 02 69 */ lbz r0, 0x269(r4) /* 802C3470 002BF0D0 38 A0 00 01 */ li r5, 1 /* 802C3474 002BF0D4 2C 00 00 00 */ cmpwi r0, 0 /* 802C3478 002BF0D8 41 82 00 10 */ beq lbl_802C3488 /* 802C347C 002BF0DC A0 04 01 50 */ lhz r0, 0x150(r4) /* 802C3480 002BF0E0 7C 00 18 40 */ cmplw r0, r3 /* 802C3484 002BF0E4 41 82 00 40 */ beq lbl_802C34C4 lbl_802C3488: /* 802C3488 002BF0E8 88 04 03 85 */ lbz r0, 0x385(r4) /* 802C348C 002BF0EC 38 A0 00 02 */ li r5, 2 /* 802C3490 002BF0F0 2C 00 00 00 */ cmpwi r0, 0 /* 802C3494 002BF0F4 41 82 00 10 */ beq lbl_802C34A4 /* 802C3498 002BF0F8 A0 04 02 6C */ lhz r0, 0x26c(r4) /* 802C349C 002BF0FC 7C 00 18 40 */ cmplw r0, r3 /* 802C34A0 002BF100 41 82 00 24 */ beq lbl_802C34C4 lbl_802C34A4: /* 802C34A4 002BF104 88 04 04 A1 */ lbz r0, 0x4a1(r4) /* 802C34A8 002BF108 38 A0 00 03 */ li r5, 3 /* 802C34AC 002BF10C 2C 00 00 00 */ cmpwi r0, 0 /* 802C34B0 002BF110 41 82 00 10 */ beq lbl_802C34C0 /* 802C34B4 002BF114 A0 04 03 88 */ lhz r0, 0x388(r4) /* 802C34B8 002BF118 7C 00 18 40 */ cmplw r0, r3 /* 802C34BC 002BF11C 41 82 00 08 */ beq lbl_802C34C4 lbl_802C34C0: /* 802C34C0 002BF120 38 A0 00 04 */ li r5, 4 lbl_802C34C4: /* 802C34C4 002BF124 7C A3 2B 78 */ mr r3, r5 /* 802C34C8 002BF128 4E 80 00 20 */ blr .global btm_acl_created btm_acl_created: /* 802C34CC 002BF12C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802C34D0 002BF130 7C 08 02 A6 */ mflr r0 /* 802C34D4 002BF134 90 01 00 34 */ stw r0, 0x34(r1) /* 802C34D8 002BF138 39 61 00 30 */ addi r11, r1, 0x30 /* 802C34DC 002BF13C 4B F0 3C 45 */ bl _savegpr_25 /* 802C34E0 002BF140 3D 00 80 57 */ lis r8, lbl_80568B78@ha /* 802C34E4 002BF144 7C 7E 1B 78 */ mr r30, r3 /* 802C34E8 002BF148 39 08 8B 78 */ addi r8, r8, lbl_80568B78@l /* 802C34EC 002BF14C 7C 99 23 78 */ mr r25, r4 /* 802C34F0 002BF150 7C BA 2B 78 */ mr r26, r5 /* 802C34F4 002BF154 7C DB 33 78 */ mr r27, r6 /* 802C34F8 002BF158 7C FC 3B 78 */ mr r28, r7 /* 802C34FC 002BF15C 3B A8 00 34 */ addi r29, r8, 0x34 /* 802C3500 002BF160 3B E0 00 00 */ li r31, 0 lbl_802C3504: /* 802C3504 002BF164 88 1D 01 19 */ lbz r0, 0x119(r29) /* 802C3508 002BF168 2C 00 00 00 */ cmpwi r0, 0 /* 802C350C 002BF16C 41 82 00 20 */ beq lbl_802C352C /* 802C3510 002BF170 7F C4 F3 78 */ mr r4, r30 /* 802C3514 002BF174 38 7D 00 08 */ addi r3, r29, 8 /* 802C3518 002BF178 38 A0 00 06 */ li r5, 6 /* 802C351C 002BF17C 4B F0 6E 7D */ bl memcmp /* 802C3520 002BF180 2C 03 00 00 */ cmpwi r3, 0 /* 802C3524 002BF184 40 82 00 08 */ bne lbl_802C352C /* 802C3528 002BF188 48 00 00 18 */ b lbl_802C3540 lbl_802C352C: /* 802C352C 002BF18C 3B FF 00 01 */ addi r31, r31, 1 /* 802C3530 002BF190 3B BD 01 1C */ addi r29, r29, 0x11c /* 802C3534 002BF194 28 1F 00 04 */ cmplwi r31, 4 /* 802C3538 002BF198 41 80 FF CC */ blt lbl_802C3504 /* 802C353C 002BF19C 3B A0 00 00 */ li r29, 0 lbl_802C3540: /* 802C3540 002BF1A0 2C 1D 00 00 */ cmpwi r29, 0 /* 802C3544 002BF1A4 41 82 00 50 */ beq lbl_802C3594 /* 802C3548 002BF1A8 B3 7D 00 00 */ sth r27, 0(r29) /* 802C354C 002BF1AC 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3550 002BF1B0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3554 002BF1B4 9B 9D 01 1A */ stb r28, 0x11a(r29) /* 802C3558 002BF1B8 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C355C 002BF1BC 28 00 00 04 */ cmplwi r0, 4 /* 802C3560 002BF1C0 41 80 02 68 */ blt lbl_802C37C8 /* 802C3564 002BF1C4 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802C3568 002BF1C8 3C 80 80 44 */ lis r4, lbl_80440CC0@ha /* 802C356C 002BF1CC 88 BE 00 00 */ lbz r5, 0(r30) /* 802C3570 002BF1D0 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802C3574 002BF1D4 88 DE 00 01 */ lbz r6, 1(r30) /* 802C3578 002BF1D8 38 84 0C C0 */ addi r4, r4, lbl_80440CC0@l /* 802C357C 002BF1DC 88 FE 00 02 */ lbz r7, 2(r30) /* 802C3580 002BF1E0 89 1E 00 03 */ lbz r8, 3(r30) /* 802C3584 002BF1E4 89 3E 00 04 */ lbz r9, 4(r30) /* 802C3588 002BF1E8 89 5E 00 05 */ lbz r10, 5(r30) /* 802C358C 002BF1EC 4B FF 9A 15 */ bl LogMsg_6 /* 802C3590 002BF1F0 48 00 02 38 */ b lbl_802C37C8 lbl_802C3594: /* 802C3594 002BF1F4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3598 002BF1F8 38 00 00 04 */ li r0, 4 /* 802C359C 002BF1FC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C35A0 002BF200 38 80 00 00 */ li r4, 0 /* 802C35A4 002BF204 3B E3 00 34 */ addi r31, r3, 0x34 /* 802C35A8 002BF208 7C 09 03 A6 */ mtctr r0 lbl_802C35AC: /* 802C35AC 002BF20C 88 1F 01 19 */ lbz r0, 0x119(r31) /* 802C35B0 002BF210 2C 00 00 00 */ cmpwi r0, 0 /* 802C35B4 002BF214 40 82 02 08 */ bne lbl_802C37BC /* 802C35B8 002BF218 38 60 00 01 */ li r3, 1 /* 802C35BC 002BF21C 38 00 00 00 */ li r0, 0 /* 802C35C0 002BF220 98 7F 01 19 */ stb r3, 0x119(r31) /* 802C35C4 002BF224 54 83 06 3E */ clrlwi r3, r4, 0x18 /* 802C35C8 002BF228 B3 7F 00 00 */ sth r27, 0(r31) /* 802C35CC 002BF22C 9B 9F 01 1A */ stb r28, 0x11a(r31) /* 802C35D0 002BF230 B0 1F 00 04 */ sth r0, 4(r31) /* 802C35D4 002BF234 48 00 5B D5 */ bl btm_pm_sm_alloc /* 802C35D8 002BF238 7F C4 F3 78 */ mr r4, r30 /* 802C35DC 002BF23C 38 7F 00 08 */ addi r3, r31, 8 /* 802C35E0 002BF240 38 A0 00 06 */ li r5, 6 /* 802C35E4 002BF244 4B D4 0A 1D */ bl memcpy /* 802C35E8 002BF248 2C 19 00 00 */ cmpwi r25, 0 /* 802C35EC 002BF24C 41 82 00 14 */ beq lbl_802C3600 /* 802C35F0 002BF250 7F 24 CB 78 */ mr r4, r25 /* 802C35F4 002BF254 38 7F 00 0E */ addi r3, r31, 0xe /* 802C35F8 002BF258 38 A0 00 03 */ li r5, 3 /* 802C35FC 002BF25C 4B D4 0A 05 */ bl memcpy lbl_802C3600: /* 802C3600 002BF260 2C 1A 00 00 */ cmpwi r26, 0 /* 802C3604 002BF264 41 82 00 14 */ beq lbl_802C3618 /* 802C3608 002BF268 7F 44 D3 78 */ mr r4, r26 /* 802C360C 002BF26C 38 7F 00 11 */ addi r3, r31, 0x11 /* 802C3610 002BF270 38 A0 00 F8 */ li r5, 0xf8 /* 802C3614 002BF274 4B D4 09 ED */ bl memcpy lbl_802C3618: /* 802C3618 002BF278 A0 7F 00 00 */ lhz r3, 0(r31) /* 802C361C 002BF27C 48 00 D5 11 */ bl btsnd_hcic_read_rmt_clk_offset /* 802C3620 002BF280 A0 7F 00 00 */ lhz r3, 0(r31) /* 802C3624 002BF284 48 00 D4 8D */ bl btsnd_hcic_rmt_ver_req /* 802C3628 002BF288 7F 63 DB 78 */ mr r3, r27 /* 802C362C 002BF28C 48 00 1F 39 */ bl btm_find_dev_by_handle /* 802C3630 002BF290 2C 03 00 00 */ cmpwi r3, 0 /* 802C3634 002BF294 7C 65 1B 78 */ mr r5, r3 /* 802C3638 002BF298 41 82 01 78 */ beq lbl_802C37B0 /* 802C363C 002BF29C 38 00 00 08 */ li r0, 8 /* 802C3640 002BF2A0 38 C0 00 00 */ li r6, 0 /* 802C3644 002BF2A4 7C 09 03 A6 */ mtctr r0 lbl_802C3648: /* 802C3648 002BF2A8 54 C0 06 3E */ clrlwi r0, r6, 0x18 /* 802C364C 002BF2AC 7C 83 02 14 */ add r4, r3, r0 /* 802C3650 002BF2B0 88 04 00 77 */ lbz r0, 0x77(r4) /* 802C3654 002BF2B4 2C 00 00 00 */ cmpwi r0, 0 /* 802C3658 002BF2B8 41 82 01 50 */ beq lbl_802C37A8 /* 802C365C 002BF2BC 38 85 00 77 */ addi r4, r5, 0x77 /* 802C3660 002BF2C0 38 7F 01 10 */ addi r3, r31, 0x110 /* 802C3664 002BF2C4 38 A0 00 08 */ li r5, 8 /* 802C3668 002BF2C8 4B D4 09 99 */ bl memcpy /* 802C366C 002BF2CC 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3670 002BF2D0 38 00 CC F9 */ li r0, -13063 /* 802C3674 002BF2D4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3678 002BF2D8 A0 A3 06 54 */ lhz r5, 0x654(r3) /* 802C367C 002BF2DC 88 63 06 36 */ lbz r3, 0x636(r3) /* 802C3680 002BF2E0 70 A4 CC 18 */ andi. r4, r5, 0xcc18 /* 802C3684 002BF2E4 28 03 00 03 */ cmplwi r3, 3 /* 802C3688 002BF2E8 7C 9E 00 38 */ and r30, r4, r0 /* 802C368C 002BF2EC 41 80 00 10 */ blt lbl_802C369C /* 802C3690 002BF2F0 70 A0 33 06 */ andi. r0, r5, 0x3306 /* 802C3694 002BF2F4 7C 80 03 78 */ or r0, r4, r0 /* 802C3698 002BF2F8 54 1E 04 3E */ clrlwi r30, r0, 0x10 lbl_802C369C: /* 802C369C 002BF2FC 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C36A0 002BF300 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C36A4 002BF304 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C36A8 002BF308 28 00 00 04 */ cmplwi r0, 4 /* 802C36AC 002BF30C 41 80 00 1C */ blt lbl_802C36C8 /* 802C36B0 002BF310 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802C36B4 002BF314 3C 80 80 44 */ lis r4, lbl_80440D00@ha /* 802C36B8 002BF318 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802C36BC 002BF31C 57 C5 04 3E */ clrlwi r5, r30, 0x10 /* 802C36C0 002BF320 38 84 0D 00 */ addi r4, r4, lbl_80440D00@l /* 802C36C4 002BF324 4B FF 98 65 */ bl LogMsg_1 lbl_802C36C8: /* 802C36C8 002BF328 A0 7F 00 00 */ lhz r3, 0(r31) /* 802C36CC 002BF32C 57 C4 04 3E */ clrlwi r4, r30, 0x10 /* 802C36D0 002BF330 48 00 D0 55 */ bl btsnd_hcic_change_conn_type /* 802C36D4 002BF334 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C36D8 002BF338 41 82 00 08 */ beq lbl_802C36E0 /* 802C36DC 002BF33C B3 DF 00 02 */ sth r30, 2(r31) lbl_802C36E0: /* 802C36E0 002BF340 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C36E4 002BF344 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C36E8 002BF348 A0 04 04 C4 */ lhz r0, 0x4c4(r4) /* 802C36EC 002BF34C 2C 00 00 00 */ cmpwi r0, 0 /* 802C36F0 002BF350 41 82 00 10 */ beq lbl_802C3700 /* 802C36F4 002BF354 38 7F 00 08 */ addi r3, r31, 8 /* 802C36F8 002BF358 38 84 04 C4 */ addi r4, r4, 0x4c4 /* 802C36FC 002BF35C 48 00 05 99 */ bl BTM_SetLinkPolicy lbl_802C3700: /* 802C3700 002BF360 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3704 002BF364 3B A0 00 00 */ li r29, 0 /* 802C3708 002BF368 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C370C 002BF36C A3 83 04 C6 */ lhz r28, 0x4c6(r3) /* 802C3710 002BF370 3B C3 00 34 */ addi r30, r3, 0x34 lbl_802C3714: /* 802C3714 002BF374 88 1E 01 19 */ lbz r0, 0x119(r30) /* 802C3718 002BF378 2C 00 00 00 */ cmpwi r0, 0 /* 802C371C 002BF37C 41 82 00 20 */ beq lbl_802C373C /* 802C3720 002BF380 38 7E 00 08 */ addi r3, r30, 8 /* 802C3724 002BF384 38 9F 00 08 */ addi r4, r31, 8 /* 802C3728 002BF388 38 A0 00 06 */ li r5, 6 /* 802C372C 002BF38C 4B F0 6C 6D */ bl memcmp /* 802C3730 002BF390 2C 03 00 00 */ cmpwi r3, 0 /* 802C3734 002BF394 40 82 00 08 */ bne lbl_802C373C /* 802C3738 002BF398 48 00 00 18 */ b lbl_802C3750 lbl_802C373C: /* 802C373C 002BF39C 3B BD 00 01 */ addi r29, r29, 1 /* 802C3740 002BF3A0 3B DE 01 1C */ addi r30, r30, 0x11c /* 802C3744 002BF3A4 28 1D 00 04 */ cmplwi r29, 4 /* 802C3748 002BF3A8 41 80 FF CC */ blt lbl_802C3714 /* 802C374C 002BF3AC 3B C0 00 00 */ li r30, 0 lbl_802C3750: /* 802C3750 002BF3B0 2C 1E 00 00 */ cmpwi r30, 0 /* 802C3754 002BF3B4 41 82 00 20 */ beq lbl_802C3774 /* 802C3758 002BF3B8 B3 9E 01 0E */ sth r28, 0x10e(r30) /* 802C375C 002BF3BC 88 1E 01 1A */ lbz r0, 0x11a(r30) /* 802C3760 002BF3C0 2C 00 00 00 */ cmpwi r0, 0 /* 802C3764 002BF3C4 40 82 00 10 */ bne lbl_802C3774 /* 802C3768 002BF3C8 A0 7E 00 00 */ lhz r3, 0(r30) /* 802C376C 002BF3CC 7F 84 E3 78 */ mr r4, r28 /* 802C3770 002BF3D0 48 00 E4 B5 */ bl btsnd_hcic_write_link_super_tout lbl_802C3774: /* 802C3774 002BF3D4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3778 002BF3D8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C377C 002BF3DC 81 83 04 C8 */ lwz r12, 0x4c8(r3) /* 802C3780 002BF3E0 2C 0C 00 00 */ cmpwi r12, 0 /* 802C3784 002BF3E4 41 82 00 44 */ beq lbl_802C37C8 /* 802C3788 002BF3E8 38 7F 00 08 */ addi r3, r31, 8 /* 802C378C 002BF3EC 38 9F 00 0E */ addi r4, r31, 0xe /* 802C3790 002BF3F0 38 BF 00 11 */ addi r5, r31, 0x11 /* 802C3794 002BF3F4 38 DF 01 10 */ addi r6, r31, 0x110 /* 802C3798 002BF3F8 38 E0 00 01 */ li r7, 1 /* 802C379C 002BF3FC 7D 89 03 A6 */ mtctr r12 /* 802C37A0 002BF400 4E 80 04 21 */ bctrl /* 802C37A4 002BF404 48 00 00 24 */ b lbl_802C37C8 lbl_802C37A8: /* 802C37A8 002BF408 38 C6 00 01 */ addi r6, r6, 1 /* 802C37AC 002BF40C 42 00 FE 9C */ bdnz lbl_802C3648 lbl_802C37B0: /* 802C37B0 002BF410 A0 7F 00 00 */ lhz r3, 0(r31) /* 802C37B4 002BF414 48 00 D2 81 */ bl btsnd_hcic_rmt_features_req /* 802C37B8 002BF418 48 00 00 10 */ b lbl_802C37C8 lbl_802C37BC: /* 802C37BC 002BF41C 38 84 00 01 */ addi r4, r4, 1 /* 802C37C0 002BF420 3B FF 01 1C */ addi r31, r31, 0x11c /* 802C37C4 002BF424 42 00 FD E8 */ bdnz lbl_802C35AC lbl_802C37C8: /* 802C37C8 002BF428 39 61 00 30 */ addi r11, r1, 0x30 /* 802C37CC 002BF42C 4B F0 39 A1 */ bl _restgpr_25 /* 802C37D0 002BF430 80 01 00 34 */ lwz r0, 0x34(r1) /* 802C37D4 002BF434 7C 08 03 A6 */ mtlr r0 /* 802C37D8 002BF438 38 21 00 30 */ addi r1, r1, 0x30 /* 802C37DC 002BF43C 4E 80 00 20 */ blr .global btm_acl_removed btm_acl_removed: /* 802C37E0 002BF440 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C37E4 002BF444 7C 08 02 A6 */ mflr r0 /* 802C37E8 002BF448 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C37EC 002BF44C 90 01 00 24 */ stw r0, 0x24(r1) /* 802C37F0 002BF450 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C37F4 002BF454 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C37F8 002BF458 3B E0 00 00 */ li r31, 0 /* 802C37FC 002BF45C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C3800 002BF460 3B C4 00 34 */ addi r30, r4, 0x34 /* 802C3804 002BF464 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C3808 002BF468 7C 7D 1B 78 */ mr r29, r3 lbl_802C380C: /* 802C380C 002BF46C 88 1E 01 19 */ lbz r0, 0x119(r30) /* 802C3810 002BF470 2C 00 00 00 */ cmpwi r0, 0 /* 802C3814 002BF474 41 82 00 20 */ beq lbl_802C3834 /* 802C3818 002BF478 7F A4 EB 78 */ mr r4, r29 /* 802C381C 002BF47C 38 7E 00 08 */ addi r3, r30, 8 /* 802C3820 002BF480 38 A0 00 06 */ li r5, 6 /* 802C3824 002BF484 4B F0 6B 75 */ bl memcmp /* 802C3828 002BF488 2C 03 00 00 */ cmpwi r3, 0 /* 802C382C 002BF48C 40 82 00 08 */ bne lbl_802C3834 /* 802C3830 002BF490 48 00 00 18 */ b lbl_802C3848 lbl_802C3834: /* 802C3834 002BF494 3B FF 00 01 */ addi r31, r31, 1 /* 802C3838 002BF498 3B DE 01 1C */ addi r30, r30, 0x11c /* 802C383C 002BF49C 28 1F 00 04 */ cmplwi r31, 4 /* 802C3840 002BF4A0 41 80 FF CC */ blt lbl_802C380C /* 802C3844 002BF4A4 3B C0 00 00 */ li r30, 0 lbl_802C3848: /* 802C3848 002BF4A8 2C 1E 00 00 */ cmpwi r30, 0 /* 802C384C 002BF4AC 41 82 00 3C */ beq lbl_802C3888 /* 802C3850 002BF4B0 38 00 00 00 */ li r0, 0 /* 802C3854 002BF4B4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3858 002BF4B8 98 1E 01 19 */ stb r0, 0x119(r30) /* 802C385C 002BF4BC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3860 002BF4C0 81 83 04 C8 */ lwz r12, 0x4c8(r3) /* 802C3864 002BF4C4 2C 0C 00 00 */ cmpwi r12, 0 /* 802C3868 002BF4C8 41 82 00 20 */ beq lbl_802C3888 /* 802C386C 002BF4CC 7F A3 EB 78 */ mr r3, r29 /* 802C3870 002BF4D0 38 80 00 00 */ li r4, 0 /* 802C3874 002BF4D4 38 A0 00 00 */ li r5, 0 /* 802C3878 002BF4D8 38 C0 00 00 */ li r6, 0 /* 802C387C 002BF4DC 38 E0 00 00 */ li r7, 0 /* 802C3880 002BF4E0 7D 89 03 A6 */ mtctr r12 /* 802C3884 002BF4E4 4E 80 04 21 */ bctrl lbl_802C3888: /* 802C3888 002BF4E8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C388C 002BF4EC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C3890 002BF4F0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C3894 002BF4F4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C3898 002BF4F8 7C 08 03 A6 */ mtlr r0 /* 802C389C 002BF4FC 38 21 00 20 */ addi r1, r1, 0x20 /* 802C38A0 002BF500 4E 80 00 20 */ blr .global btm_acl_device_down btm_acl_device_down: /* 802C38A4 002BF504 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802C38A8 002BF508 7C 08 02 A6 */ mflr r0 /* 802C38AC 002BF50C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C38B0 002BF510 90 01 00 14 */ stw r0, 0x14(r1) /* 802C38B4 002BF514 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C38B8 002BF518 93 E1 00 0C */ stw r31, 0xc(r1) /* 802C38BC 002BF51C 3B E3 00 34 */ addi r31, r3, 0x34 /* 802C38C0 002BF520 93 C1 00 08 */ stw r30, 8(r1) /* 802C38C4 002BF524 3B C0 00 00 */ li r30, 0 lbl_802C38C8: /* 802C38C8 002BF528 88 1F 01 19 */ lbz r0, 0x119(r31) /* 802C38CC 002BF52C 2C 00 00 00 */ cmpwi r0, 0 /* 802C38D0 002BF530 41 82 00 10 */ beq lbl_802C38E0 /* 802C38D4 002BF534 A0 7F 00 00 */ lhz r3, 0(r31) /* 802C38D8 002BF538 38 80 00 03 */ li r4, 3 /* 802C38DC 002BF53C 48 01 44 3D */ bl l2c_link_hci_disc_comp lbl_802C38E0: /* 802C38E0 002BF540 3B DE 00 01 */ addi r30, r30, 1 /* 802C38E4 002BF544 3B FF 01 1C */ addi r31, r31, 0x11c /* 802C38E8 002BF548 28 1E 00 04 */ cmplwi r30, 4 /* 802C38EC 002BF54C 41 80 FF DC */ blt lbl_802C38C8 /* 802C38F0 002BF550 80 01 00 14 */ lwz r0, 0x14(r1) /* 802C38F4 002BF554 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802C38F8 002BF558 83 C1 00 08 */ lwz r30, 8(r1) /* 802C38FC 002BF55C 7C 08 03 A6 */ mtlr r0 /* 802C3900 002BF560 38 21 00 10 */ addi r1, r1, 0x10 /* 802C3904 002BF564 4E 80 00 20 */ blr .global BTM_SwitchRole BTM_SwitchRole: /* 802C3908 002BF568 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802C390C 002BF56C 7C 08 02 A6 */ mflr r0 /* 802C3910 002BF570 90 01 00 34 */ stw r0, 0x34(r1) /* 802C3914 002BF574 39 61 00 30 */ addi r11, r1, 0x30 /* 802C3918 002BF578 4B F0 38 11 */ bl _savegpr_27 /* 802C391C 002BF57C 3C C0 80 57 */ lis r6, lbl_80568B78@ha /* 802C3920 002BF580 7C 7C 1B 78 */ mr r28, r3 /* 802C3924 002BF584 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l /* 802C3928 002BF588 7C 9D 23 78 */ mr r29, r4 /* 802C392C 002BF58C 88 06 06 40 */ lbz r0, 0x640(r6) /* 802C3930 002BF590 7C BE 2B 78 */ mr r30, r5 /* 802C3934 002BF594 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 802C3938 002BF598 40 82 00 0C */ bne lbl_802C3944 /* 802C393C 002BF59C 38 60 00 04 */ li r3, 4 /* 802C3940 002BF5A0 48 00 01 CC */ b lbl_802C3B0C lbl_802C3944: /* 802C3944 002BF5A4 3B E6 00 34 */ addi r31, r6, 0x34 /* 802C3948 002BF5A8 3B 60 00 00 */ li r27, 0 lbl_802C394C: /* 802C394C 002BF5AC 88 1F 01 19 */ lbz r0, 0x119(r31) /* 802C3950 002BF5B0 2C 00 00 00 */ cmpwi r0, 0 /* 802C3954 002BF5B4 41 82 00 20 */ beq lbl_802C3974 /* 802C3958 002BF5B8 7F 84 E3 78 */ mr r4, r28 /* 802C395C 002BF5BC 38 7F 00 08 */ addi r3, r31, 8 /* 802C3960 002BF5C0 38 A0 00 06 */ li r5, 6 /* 802C3964 002BF5C4 4B F0 6A 35 */ bl memcmp /* 802C3968 002BF5C8 2C 03 00 00 */ cmpwi r3, 0 /* 802C396C 002BF5CC 40 82 00 08 */ bne lbl_802C3974 /* 802C3970 002BF5D0 48 00 00 18 */ b lbl_802C3988 lbl_802C3974: /* 802C3974 002BF5D4 3B 7B 00 01 */ addi r27, r27, 1 /* 802C3978 002BF5D8 3B FF 01 1C */ addi r31, r31, 0x11c /* 802C397C 002BF5DC 28 1B 00 04 */ cmplwi r27, 4 /* 802C3980 002BF5E0 41 80 FF CC */ blt lbl_802C394C /* 802C3984 002BF5E4 3B E0 00 00 */ li r31, 0 lbl_802C3988: /* 802C3988 002BF5E8 2C 1F 00 00 */ cmpwi r31, 0 /* 802C398C 002BF5EC 40 82 00 0C */ bne lbl_802C3998 /* 802C3990 002BF5F0 38 60 00 07 */ li r3, 7 /* 802C3994 002BF5F4 48 00 01 78 */ b lbl_802C3B0C lbl_802C3998: /* 802C3998 002BF5F8 88 1F 01 1A */ lbz r0, 0x11a(r31) /* 802C399C 002BF5FC 7C 00 E8 40 */ cmplw r0, r29 /* 802C39A0 002BF600 40 82 00 0C */ bne lbl_802C39AC /* 802C39A4 002BF604 38 60 00 00 */ li r3, 0 /* 802C39A8 002BF608 48 00 01 64 */ b lbl_802C3B0C lbl_802C39AC: /* 802C39AC 002BF60C 7F 83 E3 78 */ mr r3, r28 /* 802C39B0 002BF610 48 00 6E 81 */ bl btm_is_sco_active_by_bdaddr /* 802C39B4 002BF614 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802C39B8 002BF618 28 00 00 01 */ cmplwi r0, 1 /* 802C39BC 002BF61C 40 82 00 0C */ bne lbl_802C39C8 /* 802C39C0 002BF620 38 60 00 03 */ li r3, 3 /* 802C39C4 002BF624 48 00 01 48 */ b lbl_802C3B0C lbl_802C39C8: /* 802C39C8 002BF628 88 1F 01 1B */ lbz r0, 0x11b(r31) /* 802C39CC 002BF62C 2C 00 00 00 */ cmpwi r0, 0 /* 802C39D0 002BF630 41 82 00 34 */ beq lbl_802C3A04 /* 802C39D4 002BF634 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C39D8 002BF638 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C39DC 002BF63C 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C39E0 002BF640 28 00 00 05 */ cmplwi r0, 5 /* 802C39E4 002BF644 41 80 00 18 */ blt lbl_802C39FC /* 802C39E8 002BF648 3C 60 00 0D */ lis r3, 0x000D0004@ha /* 802C39EC 002BF64C 3C 80 80 44 */ lis r4, lbl_80440D20@ha /* 802C39F0 002BF650 38 63 00 04 */ addi r3, r3, 0x000D0004@l /* 802C39F4 002BF654 38 84 0D 20 */ addi r4, r4, lbl_80440D20@l /* 802C39F8 002BF658 4B FF 95 19 */ bl LogMsg_0 lbl_802C39FC: /* 802C39FC 002BF65C 38 60 00 02 */ li r3, 2 /* 802C3A00 002BF660 48 00 01 0C */ b lbl_802C3B0C lbl_802C3A04: /* 802C3A04 002BF664 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3A08 002BF668 38 80 00 00 */ li r4, 0 /* 802C3A0C 002BF66C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3A10 002BF670 38 A0 00 08 */ li r5, 8 /* 802C3A14 002BF674 38 63 06 24 */ addi r3, r3, 0x624 /* 802C3A18 002BF678 4B D4 06 ED */ bl memset /* 802C3A1C 002BF67C 38 7F 00 08 */ addi r3, r31, 8 /* 802C3A20 002BF680 38 81 00 08 */ addi r4, r1, 8 /* 802C3A24 002BF684 48 00 56 55 */ bl BTM_ReadPowerMode /* 802C3A28 002BF688 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C3A2C 002BF68C 41 82 00 08 */ beq lbl_802C3A34 /* 802C3A30 002BF690 48 00 00 DC */ b lbl_802C3B0C lbl_802C3A34: /* 802C3A34 002BF694 88 61 00 08 */ lbz r3, 8(r1) /* 802C3A38 002BF698 38 03 00 FE */ addi r0, r3, 0xfe /* 802C3A3C 002BF69C 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 802C3A40 002BF6A0 28 00 00 01 */ cmplwi r0, 1 /* 802C3A44 002BF6A4 41 81 00 3C */ bgt lbl_802C3A80 /* 802C3A48 002BF6A8 38 00 00 00 */ li r0, 0 /* 802C3A4C 002BF6AC 38 9F 00 08 */ addi r4, r31, 8 /* 802C3A50 002BF6B0 98 01 00 14 */ stb r0, 0x14(r1) /* 802C3A54 002BF6B4 38 A1 00 0C */ addi r5, r1, 0xc /* 802C3A58 002BF6B8 38 60 00 80 */ li r3, 0x80 /* 802C3A5C 002BF6BC 48 00 54 4D */ bl BTM_SetPowerMode /* 802C3A60 002BF6C0 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802C3A64 002BF6C4 28 00 00 01 */ cmplwi r0, 1 /* 802C3A68 002BF6C8 41 82 00 0C */ beq lbl_802C3A74 /* 802C3A6C 002BF6CC 38 60 00 06 */ li r3, 6 /* 802C3A70 002BF6D0 48 00 00 9C */ b lbl_802C3B0C lbl_802C3A74: /* 802C3A74 002BF6D4 38 00 00 01 */ li r0, 1 /* 802C3A78 002BF6D8 98 1F 01 1B */ stb r0, 0x11b(r31) /* 802C3A7C 002BF6DC 48 00 00 6C */ b lbl_802C3AE8 lbl_802C3A80: /* 802C3A80 002BF6E0 7F 83 E3 78 */ mr r3, r28 /* 802C3A84 002BF6E4 48 00 1B 99 */ bl btm_find_dev /* 802C3A88 002BF6E8 2C 03 00 00 */ cmpwi r3, 0 /* 802C3A8C 002BF6EC 41 82 00 38 */ beq lbl_802C3AC4 /* 802C3A90 002BF6F0 88 03 00 76 */ lbz r0, 0x76(r3) /* 802C3A94 002BF6F4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 802C3A98 002BF6F8 41 82 00 2C */ beq lbl_802C3AC4 /* 802C3A9C 002BF6FC A0 7F 00 00 */ lhz r3, 0(r31) /* 802C3AA0 002BF700 38 80 00 00 */ li r4, 0 /* 802C3AA4 002BF704 48 00 CD 8D */ bl btsnd_hcic_set_conn_encrypt /* 802C3AA8 002BF708 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C3AAC 002BF70C 40 82 00 0C */ bne lbl_802C3AB8 /* 802C3AB0 002BF710 38 60 00 03 */ li r3, 3 /* 802C3AB4 002BF714 48 00 00 58 */ b lbl_802C3B0C lbl_802C3AB8: /* 802C3AB8 002BF718 38 00 00 02 */ li r0, 2 /* 802C3ABC 002BF71C 98 1F 01 1B */ stb r0, 0x11b(r31) /* 802C3AC0 002BF720 48 00 00 28 */ b lbl_802C3AE8 lbl_802C3AC4: /* 802C3AC4 002BF724 7F 83 E3 78 */ mr r3, r28 /* 802C3AC8 002BF728 7F A4 EB 78 */ mr r4, r29 /* 802C3ACC 002BF72C 48 00 D6 5D */ bl btsnd_hcic_switch_role /* 802C3AD0 002BF730 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C3AD4 002BF734 40 82 00 0C */ bne lbl_802C3AE0 /* 802C3AD8 002BF738 38 60 00 03 */ li r3, 3 /* 802C3ADC 002BF73C 48 00 00 30 */ b lbl_802C3B0C lbl_802C3AE0: /* 802C3AE0 002BF740 38 00 00 05 */ li r0, 5 /* 802C3AE4 002BF744 98 1F 01 1B */ stb r0, 0x11b(r31) lbl_802C3AE8: /* 802C3AE8 002BF748 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802C3AEC 002BF74C 7F 84 E3 78 */ mr r4, r28 /* 802C3AF0 002BF750 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802C3AF4 002BF754 38 A0 00 06 */ li r5, 6 /* 802C3AF8 002BF758 38 7F 06 26 */ addi r3, r31, 0x626 /* 802C3AFC 002BF75C 4B D4 05 05 */ bl memcpy /* 802C3B00 002BF760 9B BF 06 25 */ stb r29, 0x625(r31) /* 802C3B04 002BF764 38 60 00 01 */ li r3, 1 /* 802C3B08 002BF768 93 DF 06 2C */ stw r30, 0x62c(r31) lbl_802C3B0C: /* 802C3B0C 002BF76C 39 61 00 30 */ addi r11, r1, 0x30 /* 802C3B10 002BF770 4B F0 36 65 */ bl _restgpr_27 /* 802C3B14 002BF774 80 01 00 34 */ lwz r0, 0x34(r1) /* 802C3B18 002BF778 7C 08 03 A6 */ mtlr r0 /* 802C3B1C 002BF77C 38 21 00 30 */ addi r1, r1, 0x30 /* 802C3B20 002BF780 4E 80 00 20 */ blr .global btm_acl_encrypt_change btm_acl_encrypt_change: /* 802C3B24 002BF784 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C3B28 002BF788 7C 08 02 A6 */ mflr r0 /* 802C3B2C 002BF78C 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C3B30 002BF790 38 C0 00 00 */ li r6, 0 /* 802C3B34 002BF794 90 01 00 24 */ stw r0, 0x24(r1) /* 802C3B38 002BF798 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C3B3C 002BF79C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C3B40 002BF7A0 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C3B44 002BF7A4 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C3B48 002BF7A8 88 04 01 4D */ lbz r0, 0x14d(r4) /* 802C3B4C 002BF7AC 2C 00 00 00 */ cmpwi r0, 0 /* 802C3B50 002BF7B0 41 82 00 10 */ beq lbl_802C3B60 /* 802C3B54 002BF7B4 A0 04 00 34 */ lhz r0, 0x34(r4) /* 802C3B58 002BF7B8 7C 00 18 40 */ cmplw r0, r3 /* 802C3B5C 002BF7BC 41 82 00 5C */ beq lbl_802C3BB8 lbl_802C3B60: /* 802C3B60 002BF7C0 88 04 02 69 */ lbz r0, 0x269(r4) /* 802C3B64 002BF7C4 38 C0 00 01 */ li r6, 1 /* 802C3B68 002BF7C8 2C 00 00 00 */ cmpwi r0, 0 /* 802C3B6C 002BF7CC 41 82 00 10 */ beq lbl_802C3B7C /* 802C3B70 002BF7D0 A0 04 01 50 */ lhz r0, 0x150(r4) /* 802C3B74 002BF7D4 7C 00 18 40 */ cmplw r0, r3 /* 802C3B78 002BF7D8 41 82 00 40 */ beq lbl_802C3BB8 lbl_802C3B7C: /* 802C3B7C 002BF7DC 88 04 03 85 */ lbz r0, 0x385(r4) /* 802C3B80 002BF7E0 38 C0 00 02 */ li r6, 2 /* 802C3B84 002BF7E4 2C 00 00 00 */ cmpwi r0, 0 /* 802C3B88 002BF7E8 41 82 00 10 */ beq lbl_802C3B98 /* 802C3B8C 002BF7EC A0 04 02 6C */ lhz r0, 0x26c(r4) /* 802C3B90 002BF7F0 7C 00 18 40 */ cmplw r0, r3 /* 802C3B94 002BF7F4 41 82 00 24 */ beq lbl_802C3BB8 lbl_802C3B98: /* 802C3B98 002BF7F8 88 04 04 A1 */ lbz r0, 0x4a1(r4) /* 802C3B9C 002BF7FC 38 C0 00 03 */ li r6, 3 /* 802C3BA0 002BF800 2C 00 00 00 */ cmpwi r0, 0 /* 802C3BA4 002BF804 41 82 00 10 */ beq lbl_802C3BB4 /* 802C3BA8 002BF808 A0 04 03 88 */ lhz r0, 0x388(r4) /* 802C3BAC 002BF80C 7C 00 18 40 */ cmplw r0, r3 /* 802C3BB0 002BF810 41 82 00 08 */ beq lbl_802C3BB8 lbl_802C3BB4: /* 802C3BB4 002BF814 38 C0 00 04 */ li r6, 4 lbl_802C3BB8: /* 802C3BB8 002BF818 28 06 00 04 */ cmplwi r6, 4 /* 802C3BBC 002BF81C 40 80 00 BC */ bge lbl_802C3C78 /* 802C3BC0 002BF820 1C 06 01 1C */ mulli r0, r6, 0x11c /* 802C3BC4 002BF824 3F C0 80 57 */ lis r30, lbl_80568B78@ha /* 802C3BC8 002BF828 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l /* 802C3BCC 002BF82C 7F BE 02 14 */ add r29, r30, r0 /* 802C3BD0 002BF830 48 00 00 08 */ b lbl_802C3BD8 /* 802C3BD4 002BF834 48 00 00 A4 */ b lbl_802C3C78 lbl_802C3BD8: /* 802C3BD8 002BF838 88 1D 01 4F */ lbz r0, 0x14f(r29) /* 802C3BDC 002BF83C 28 00 00 02 */ cmplwi r0, 2 /* 802C3BE0 002BF840 40 82 00 6C */ bne lbl_802C3C4C /* 802C3BE4 002BF844 2C 05 00 00 */ cmpwi r5, 0 /* 802C3BE8 002BF848 41 82 00 10 */ beq lbl_802C3BF8 /* 802C3BEC 002BF84C 38 00 00 00 */ li r0, 0 /* 802C3BF0 002BF850 98 1D 01 4F */ stb r0, 0x14f(r29) /* 802C3BF4 002BF854 48 00 00 0C */ b lbl_802C3C00 lbl_802C3BF8: /* 802C3BF8 002BF858 38 00 00 03 */ li r0, 3 /* 802C3BFC 002BF85C 98 1D 01 4F */ stb r0, 0x14f(r29) lbl_802C3C00: /* 802C3C00 002BF860 88 1D 01 4E */ lbz r0, 0x14e(r29) /* 802C3C04 002BF864 38 7D 00 3C */ addi r3, r29, 0x3c /* 802C3C08 002BF868 7C 00 00 34 */ cntlzw r0, r0 /* 802C3C0C 002BF86C 54 04 DE 3E */ rlwinm r4, r0, 0x1b, 0x18, 0x1f /* 802C3C10 002BF870 48 00 D5 19 */ bl btsnd_hcic_switch_role /* 802C3C14 002BF874 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C3C18 002BF878 40 82 00 60 */ bne lbl_802C3C78 /* 802C3C1C 002BF87C 3B C0 00 00 */ li r30, 0 /* 802C3C20 002BF880 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802C3C24 002BF884 9B DD 01 4F */ stb r30, 0x14f(r29) /* 802C3C28 002BF888 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802C3C2C 002BF88C 81 9F 06 2C */ lwz r12, 0x62c(r31) /* 802C3C30 002BF890 2C 0C 00 00 */ cmpwi r12, 0 /* 802C3C34 002BF894 41 82 00 44 */ beq lbl_802C3C78 /* 802C3C38 002BF898 38 7F 06 24 */ addi r3, r31, 0x624 /* 802C3C3C 002BF89C 7D 89 03 A6 */ mtctr r12 /* 802C3C40 002BF8A0 4E 80 04 21 */ bctrl /* 802C3C44 002BF8A4 93 DF 06 2C */ stw r30, 0x62c(r31) /* 802C3C48 002BF8A8 48 00 00 30 */ b lbl_802C3C78 lbl_802C3C4C: /* 802C3C4C 002BF8AC 28 00 00 04 */ cmplwi r0, 4 /* 802C3C50 002BF8B0 40 82 00 28 */ bne lbl_802C3C78 /* 802C3C54 002BF8B4 3B E0 00 00 */ li r31, 0 /* 802C3C58 002BF8B8 9B FD 01 4F */ stb r31, 0x14f(r29) /* 802C3C5C 002BF8BC 81 9E 06 2C */ lwz r12, 0x62c(r30) /* 802C3C60 002BF8C0 2C 0C 00 00 */ cmpwi r12, 0 /* 802C3C64 002BF8C4 41 82 00 14 */ beq lbl_802C3C78 /* 802C3C68 002BF8C8 38 7E 06 24 */ addi r3, r30, 0x624 /* 802C3C6C 002BF8CC 7D 89 03 A6 */ mtctr r12 /* 802C3C70 002BF8D0 4E 80 04 21 */ bctrl /* 802C3C74 002BF8D4 93 FE 06 2C */ stw r31, 0x62c(r30) lbl_802C3C78: /* 802C3C78 002BF8D8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C3C7C 002BF8DC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C3C80 002BF8E0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C3C84 002BF8E4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C3C88 002BF8E8 7C 08 03 A6 */ mtlr r0 /* 802C3C8C 002BF8EC 38 21 00 20 */ addi r1, r1, 0x20 /* 802C3C90 002BF8F0 4E 80 00 20 */ blr .global BTM_SetLinkPolicy BTM_SetLinkPolicy: /* 802C3C94 002BF8F4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C3C98 002BF8F8 7C 08 02 A6 */ mflr r0 /* 802C3C9C 002BF8FC 90 01 00 24 */ stw r0, 0x24(r1) /* 802C3CA0 002BF900 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C3CA4 002BF904 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C3CA8 002BF908 3F C0 80 44 */ lis r30, lbl_80440CC0@ha /* 802C3CAC 002BF90C 3B DE 0C C0 */ addi r30, r30, lbl_80440CC0@l /* 802C3CB0 002BF910 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C3CB4 002BF914 7C 9D 23 78 */ mr r29, r4 /* 802C3CB8 002BF918 93 81 00 10 */ stw r28, 0x10(r1) /* 802C3CBC 002BF91C 7C 7C 1B 78 */ mr r28, r3 /* 802C3CC0 002BF920 48 00 2C A1 */ bl BTM_ReadLocalFeatures /* 802C3CC4 002BF924 A0 9D 00 00 */ lhz r4, 0(r29) /* 802C3CC8 002BF928 7C 7F 1B 78 */ mr r31, r3 /* 802C3CCC 002BF92C 2C 04 00 00 */ cmpwi r4, 0 /* 802C3CD0 002BF930 41 82 01 1C */ beq lbl_802C3DEC /* 802C3CD4 002BF934 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802C3CD8 002BF938 41 82 00 3C */ beq lbl_802C3D14 /* 802C3CDC 002BF93C 88 03 00 00 */ lbz r0, 0(r3) /* 802C3CE0 002BF940 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 802C3CE4 002BF944 40 82 00 30 */ bne lbl_802C3D14 /* 802C3CE8 002BF948 54 85 04 3C */ rlwinm r5, r4, 0, 0x10, 0x1e /* 802C3CEC 002BF94C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3CF0 002BF950 B0 BD 00 00 */ sth r5, 0(r29) /* 802C3CF4 002BF954 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3CF8 002BF958 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C3CFC 002BF95C 28 00 00 03 */ cmplwi r0, 3 /* 802C3D00 002BF960 41 80 00 14 */ blt lbl_802C3D14 /* 802C3D04 002BF964 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802C3D08 002BF968 38 9E 00 BC */ addi r4, r30, 0xbc /* 802C3D0C 002BF96C 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802C3D10 002BF970 4B FF 92 19 */ bl LogMsg_1 lbl_802C3D14: /* 802C3D14 002BF974 A0 7D 00 00 */ lhz r3, 0(r29) /* 802C3D18 002BF978 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 802C3D1C 002BF97C 41 82 00 40 */ beq lbl_802C3D5C /* 802C3D20 002BF980 88 1F 00 00 */ lbz r0, 0(r31) /* 802C3D24 002BF984 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 802C3D28 002BF988 40 82 00 34 */ bne lbl_802C3D5C /* 802C3D2C 002BF98C 54 65 07 FA */ rlwinm r5, r3, 0, 0x1f, 0x1d /* 802C3D30 002BF990 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3D34 002BF994 B0 BD 00 00 */ sth r5, 0(r29) /* 802C3D38 002BF998 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3D3C 002BF99C 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C3D40 002BF9A0 28 00 00 03 */ cmplwi r0, 3 /* 802C3D44 002BF9A4 41 80 00 18 */ blt lbl_802C3D5C /* 802C3D48 002BF9A8 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802C3D4C 002BF9AC 38 9E 00 F8 */ addi r4, r30, 0xf8 /* 802C3D50 002BF9B0 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802C3D54 002BF9B4 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 802C3D58 002BF9B8 4B FF 91 D1 */ bl LogMsg_1 lbl_802C3D5C: /* 802C3D5C 002BF9BC A0 7D 00 00 */ lhz r3, 0(r29) /* 802C3D60 002BF9C0 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d /* 802C3D64 002BF9C4 41 82 00 40 */ beq lbl_802C3DA4 /* 802C3D68 002BF9C8 88 1F 00 00 */ lbz r0, 0(r31) /* 802C3D6C 002BF9CC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 802C3D70 002BF9D0 40 82 00 34 */ bne lbl_802C3DA4 /* 802C3D74 002BF9D4 54 65 07 B8 */ rlwinm r5, r3, 0, 0x1e, 0x1c /* 802C3D78 002BF9D8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3D7C 002BF9DC B0 BD 00 00 */ sth r5, 0(r29) /* 802C3D80 002BF9E0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3D84 002BF9E4 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C3D88 002BF9E8 28 00 00 03 */ cmplwi r0, 3 /* 802C3D8C 002BF9EC 41 80 00 18 */ blt lbl_802C3DA4 /* 802C3D90 002BF9F0 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802C3D94 002BF9F4 38 9E 01 30 */ addi r4, r30, 0x130 /* 802C3D98 002BF9F8 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802C3D9C 002BF9FC 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 802C3DA0 002BFA00 4B FF 91 89 */ bl LogMsg_1 lbl_802C3DA4: /* 802C3DA4 002BFA04 A0 7D 00 00 */ lhz r3, 0(r29) /* 802C3DA8 002BFA08 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c /* 802C3DAC 002BFA0C 41 82 00 40 */ beq lbl_802C3DEC /* 802C3DB0 002BFA10 88 1F 00 01 */ lbz r0, 1(r31) /* 802C3DB4 002BFA14 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 802C3DB8 002BFA18 40 82 00 34 */ bne lbl_802C3DEC /* 802C3DBC 002BFA1C 54 65 07 76 */ rlwinm r5, r3, 0, 0x1d, 0x1b /* 802C3DC0 002BFA20 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3DC4 002BFA24 B0 BD 00 00 */ sth r5, 0(r29) /* 802C3DC8 002BFA28 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3DCC 002BFA2C 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C3DD0 002BFA30 28 00 00 03 */ cmplwi r0, 3 /* 802C3DD4 002BFA34 41 80 00 18 */ blt lbl_802C3DEC /* 802C3DD8 002BFA38 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802C3DDC 002BFA3C 38 9E 01 70 */ addi r4, r30, 0x170 /* 802C3DE0 002BFA40 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802C3DE4 002BFA44 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 802C3DE8 002BFA48 4B FF 91 41 */ bl LogMsg_1 lbl_802C3DEC: /* 802C3DEC 002BFA4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C3DF0 002BFA50 3B C0 00 00 */ li r30, 0 /* 802C3DF4 002BFA54 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C3DF8 002BFA58 3B E3 00 34 */ addi r31, r3, 0x34 lbl_802C3DFC: /* 802C3DFC 002BFA5C 88 1F 01 19 */ lbz r0, 0x119(r31) /* 802C3E00 002BFA60 2C 00 00 00 */ cmpwi r0, 0 /* 802C3E04 002BFA64 41 82 00 20 */ beq lbl_802C3E24 /* 802C3E08 002BFA68 7F 84 E3 78 */ mr r4, r28 /* 802C3E0C 002BFA6C 38 7F 00 08 */ addi r3, r31, 8 /* 802C3E10 002BFA70 38 A0 00 06 */ li r5, 6 /* 802C3E14 002BFA74 4B F0 65 85 */ bl memcmp /* 802C3E18 002BFA78 2C 03 00 00 */ cmpwi r3, 0 /* 802C3E1C 002BFA7C 40 82 00 08 */ bne lbl_802C3E24 /* 802C3E20 002BFA80 48 00 00 18 */ b lbl_802C3E38 lbl_802C3E24: /* 802C3E24 002BFA84 3B DE 00 01 */ addi r30, r30, 1 /* 802C3E28 002BFA88 3B FF 01 1C */ addi r31, r31, 0x11c /* 802C3E2C 002BFA8C 28 1E 00 04 */ cmplwi r30, 4 /* 802C3E30 002BFA90 41 80 FF CC */ blt lbl_802C3DFC /* 802C3E34 002BFA94 3B E0 00 00 */ li r31, 0 lbl_802C3E38: /* 802C3E38 002BFA98 2C 1F 00 00 */ cmpwi r31, 0 /* 802C3E3C 002BFA9C 41 82 00 24 */ beq lbl_802C3E60 /* 802C3E40 002BFAA0 A0 7F 00 00 */ lhz r3, 0(r31) /* 802C3E44 002BFAA4 A0 9D 00 00 */ lhz r4, 0(r29) /* 802C3E48 002BFAA8 48 00 D3 91 */ bl btsnd_hcic_write_policy_set /* 802C3E4C 002BFAAC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C3E50 002BFAB0 38 60 00 03 */ li r3, 3 /* 802C3E54 002BFAB4 41 82 00 10 */ beq lbl_802C3E64 /* 802C3E58 002BFAB8 38 60 00 01 */ li r3, 1 /* 802C3E5C 002BFABC 48 00 00 08 */ b lbl_802C3E64 lbl_802C3E60: /* 802C3E60 002BFAC0 38 60 00 07 */ li r3, 7 lbl_802C3E64: /* 802C3E64 002BFAC4 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C3E68 002BFAC8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C3E6C 002BFACC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C3E70 002BFAD0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C3E74 002BFAD4 83 81 00 10 */ lwz r28, 0x10(r1) /* 802C3E78 002BFAD8 7C 08 03 A6 */ mtlr r0 /* 802C3E7C 002BFADC 38 21 00 20 */ addi r1, r1, 0x20 /* 802C3E80 002BFAE0 4E 80 00 20 */ blr .global BTM_SetDefaultLinkPolicy BTM_SetDefaultLinkPolicy: /* 802C3E84 002BFAE4 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C3E88 002BFAE8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C3E8C 002BFAEC B0 64 04 C4 */ sth r3, 0x4c4(r4) /* 802C3E90 002BFAF0 4E 80 00 20 */ blr .global btm_read_link_policy_complete btm_read_link_policy_complete: /* 802C3E94 002BFAF4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802C3E98 002BFAF8 7C 08 02 A6 */ mflr r0 /* 802C3E9C 002BFAFC 90 01 00 34 */ stw r0, 0x34(r1) /* 802C3EA0 002BFB00 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802C3EA4 002BFB04 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802C3EA8 002BFB08 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802C3EAC 002BFB0C 93 C1 00 28 */ stw r30, 0x28(r1) /* 802C3EB0 002BFB10 93 A1 00 24 */ stw r29, 0x24(r1) /* 802C3EB4 002BFB14 3B BF 00 34 */ addi r29, r31, 0x34 /* 802C3EB8 002BFB18 93 81 00 20 */ stw r28, 0x20(r1) /* 802C3EBC 002BFB1C 7C 7C 1B 78 */ mr r28, r3 /* 802C3EC0 002BFB20 38 7F 05 AC */ addi r3, r31, 0x5ac /* 802C3EC4 002BFB24 83 DF 05 C4 */ lwz r30, 0x5c4(r31) /* 802C3EC8 002BFB28 4B FF 96 85 */ bl btu_stop_timer /* 802C3ECC 002BFB2C 38 60 00 00 */ li r3, 0 /* 802C3ED0 002BFB30 2C 1E 00 00 */ cmpwi r30, 0 /* 802C3ED4 002BFB34 90 7F 05 C4 */ stw r3, 0x5c4(r31) /* 802C3ED8 002BFB38 41 82 00 A0 */ beq lbl_802C3F78 /* 802C3EDC 002BFB3C 88 1C 00 00 */ lbz r0, 0(r28) /* 802C3EE0 002BFB40 2C 00 00 00 */ cmpwi r0, 0 /* 802C3EE4 002BFB44 98 01 00 09 */ stb r0, 9(r1) /* 802C3EE8 002BFB48 40 82 00 78 */ bne lbl_802C3F60 /* 802C3EEC 002BFB4C 98 61 00 08 */ stb r3, 8(r1) /* 802C3EF0 002BFB50 38 00 00 04 */ li r0, 4 /* 802C3EF4 002BFB54 38 E0 00 00 */ li r7, 0 /* 802C3EF8 002BFB58 88 9C 00 02 */ lbz r4, 2(r28) /* 802C3EFC 002BFB5C 88 7C 00 04 */ lbz r3, 4(r28) /* 802C3F00 002BFB60 54 85 40 2E */ slwi r5, r4, 8 /* 802C3F04 002BFB64 88 DC 00 01 */ lbz r6, 1(r28) /* 802C3F08 002BFB68 88 9C 00 03 */ lbz r4, 3(r28) /* 802C3F0C 002BFB6C 54 63 40 2E */ slwi r3, r3, 8 /* 802C3F10 002BFB70 7C A6 2A 14 */ add r5, r6, r5 /* 802C3F14 002BFB74 7C 64 1A 14 */ add r3, r4, r3 /* 802C3F18 002BFB78 B0 61 00 10 */ sth r3, 0x10(r1) /* 802C3F1C 002BFB7C 54 A3 04 3E */ clrlwi r3, r5, 0x10 /* 802C3F20 002BFB80 7C 09 03 A6 */ mtctr r0 lbl_802C3F24: /* 802C3F24 002BFB84 88 1D 01 19 */ lbz r0, 0x119(r29) /* 802C3F28 002BFB88 2C 00 00 00 */ cmpwi r0, 0 /* 802C3F2C 002BFB8C 41 82 00 24 */ beq lbl_802C3F50 /* 802C3F30 002BFB90 A0 1D 00 00 */ lhz r0, 0(r29) /* 802C3F34 002BFB94 7C 03 00 40 */ cmplw r3, r0 /* 802C3F38 002BFB98 40 82 00 18 */ bne lbl_802C3F50 /* 802C3F3C 002BFB9C 38 61 00 0A */ addi r3, r1, 0xa /* 802C3F40 002BFBA0 38 9D 00 08 */ addi r4, r29, 8 /* 802C3F44 002BFBA4 38 A0 00 06 */ li r5, 6 /* 802C3F48 002BFBA8 4B D4 00 B9 */ bl memcpy /* 802C3F4C 002BFBAC 48 00 00 1C */ b lbl_802C3F68 lbl_802C3F50: /* 802C3F50 002BFBB0 38 E7 00 01 */ addi r7, r7, 1 /* 802C3F54 002BFBB4 3B BD 01 1C */ addi r29, r29, 0x11c /* 802C3F58 002BFBB8 42 00 FF CC */ bdnz lbl_802C3F24 /* 802C3F5C 002BFBBC 48 00 00 0C */ b lbl_802C3F68 lbl_802C3F60: /* 802C3F60 002BFBC0 38 00 00 0A */ li r0, 0xa /* 802C3F64 002BFBC4 98 01 00 08 */ stb r0, 8(r1) lbl_802C3F68: /* 802C3F68 002BFBC8 7F CC F3 78 */ mr r12, r30 /* 802C3F6C 002BFBCC 38 61 00 08 */ addi r3, r1, 8 /* 802C3F70 002BFBD0 7D 89 03 A6 */ mtctr r12 /* 802C3F74 002BFBD4 4E 80 04 21 */ bctrl lbl_802C3F78: /* 802C3F78 002BFBD8 80 01 00 34 */ lwz r0, 0x34(r1) /* 802C3F7C 002BFBDC 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802C3F80 002BFBE0 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802C3F84 002BFBE4 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802C3F88 002BFBE8 83 81 00 20 */ lwz r28, 0x20(r1) /* 802C3F8C 002BFBEC 7C 08 03 A6 */ mtlr r0 /* 802C3F90 002BFBF0 38 21 00 30 */ addi r1, r1, 0x30 /* 802C3F94 002BFBF4 4E 80 00 20 */ blr .global btm_read_remote_version_complete btm_read_remote_version_complete: /* 802C3F98 002BFBF8 88 03 00 00 */ lbz r0, 0(r3) /* 802C3F9C 002BFBFC 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C3FA0 002BFC00 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C3FA4 002BFC04 2C 00 00 00 */ cmpwi r0, 0 /* 802C3FA8 002BFC08 38 C4 00 34 */ addi r6, r4, 0x34 /* 802C3FAC 002BFC0C 4C 82 00 20 */ bnelr /* 802C3FB0 002BFC10 88 83 00 02 */ lbz r4, 2(r3) /* 802C3FB4 002BFC14 38 00 00 04 */ li r0, 4 /* 802C3FB8 002BFC18 88 A3 00 01 */ lbz r5, 1(r3) /* 802C3FBC 002BFC1C 54 84 40 2E */ slwi r4, r4, 8 /* 802C3FC0 002BFC20 7C 85 22 14 */ add r4, r5, r4 /* 802C3FC4 002BFC24 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 802C3FC8 002BFC28 7C 09 03 A6 */ mtctr r0 lbl_802C3FCC: /* 802C3FCC 002BFC2C 88 06 01 19 */ lbz r0, 0x119(r6) /* 802C3FD0 002BFC30 2C 00 00 00 */ cmpwi r0, 0 /* 802C3FD4 002BFC34 41 82 00 44 */ beq lbl_802C4018 /* 802C3FD8 002BFC38 A0 06 00 00 */ lhz r0, 0(r6) /* 802C3FDC 002BFC3C 7C 00 20 40 */ cmplw r0, r4 /* 802C3FE0 002BFC40 40 82 00 38 */ bne lbl_802C4018 /* 802C3FE4 002BFC44 88 03 00 03 */ lbz r0, 3(r3) /* 802C3FE8 002BFC48 98 06 01 18 */ stb r0, 0x118(r6) /* 802C3FEC 002BFC4C 88 03 00 05 */ lbz r0, 5(r3) /* 802C3FF0 002BFC50 88 83 00 04 */ lbz r4, 4(r3) /* 802C3FF4 002BFC54 54 00 40 2E */ slwi r0, r0, 8 /* 802C3FF8 002BFC58 7C 04 02 14 */ add r0, r4, r0 /* 802C3FFC 002BFC5C B0 06 01 0A */ sth r0, 0x10a(r6) /* 802C4000 002BFC60 88 03 00 07 */ lbz r0, 7(r3) /* 802C4004 002BFC64 88 63 00 06 */ lbz r3, 6(r3) /* 802C4008 002BFC68 54 00 40 2E */ slwi r0, r0, 8 /* 802C400C 002BFC6C 7C 03 02 14 */ add r0, r3, r0 /* 802C4010 002BFC70 B0 06 01 0C */ sth r0, 0x10c(r6) /* 802C4014 002BFC74 4E 80 00 20 */ blr lbl_802C4018: /* 802C4018 002BFC78 38 C6 01 1C */ addi r6, r6, 0x11c /* 802C401C 002BFC7C 42 00 FF B0 */ bdnz lbl_802C3FCC /* 802C4020 002BFC80 4E 80 00 20 */ blr .global btm_read_remote_features_complete btm_read_remote_features_complete: /* 802C4024 002BFC84 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C4028 002BFC88 7C 08 02 A6 */ mflr r0 /* 802C402C 002BFC8C 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C4030 002BFC90 90 01 00 24 */ stw r0, 0x24(r1) /* 802C4034 002BFC94 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C4038 002BFC98 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C403C 002BFC9C 3B E4 00 34 */ addi r31, r4, 0x34 /* 802C4040 002BFCA0 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C4044 002BFCA4 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C4048 002BFCA8 93 81 00 10 */ stw r28, 0x10(r1) /* 802C404C 002BFCAC 88 03 00 00 */ lbz r0, 0(r3) /* 802C4050 002BFCB0 2C 00 00 00 */ cmpwi r0, 0 /* 802C4054 002BFCB4 40 82 01 DC */ bne lbl_802C4230 /* 802C4058 002BFCB8 88 83 00 02 */ lbz r4, 2(r3) /* 802C405C 002BFCBC 38 00 00 04 */ li r0, 4 /* 802C4060 002BFCC0 88 A3 00 01 */ lbz r5, 1(r3) /* 802C4064 002BFCC4 54 84 40 2E */ slwi r4, r4, 8 /* 802C4068 002BFCC8 7C 85 22 14 */ add r4, r5, r4 /* 802C406C 002BFCCC 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 802C4070 002BFCD0 7C 09 03 A6 */ mtctr r0 lbl_802C4074: /* 802C4074 002BFCD4 88 1F 01 19 */ lbz r0, 0x119(r31) /* 802C4078 002BFCD8 2C 00 00 00 */ cmpwi r0, 0 /* 802C407C 002BFCDC 41 82 01 AC */ beq lbl_802C4228 /* 802C4080 002BFCE0 A0 1F 00 00 */ lhz r0, 0(r31) /* 802C4084 002BFCE4 7C 00 20 40 */ cmplw r0, r4 /* 802C4088 002BFCE8 40 82 01 A0 */ bne lbl_802C4228 /* 802C408C 002BFCEC 88 03 00 03 */ lbz r0, 3(r3) /* 802C4090 002BFCF0 98 1F 01 10 */ stb r0, 0x110(r31) /* 802C4094 002BFCF4 88 03 00 04 */ lbz r0, 4(r3) /* 802C4098 002BFCF8 98 1F 01 11 */ stb r0, 0x111(r31) /* 802C409C 002BFCFC 88 03 00 05 */ lbz r0, 5(r3) /* 802C40A0 002BFD00 98 1F 01 12 */ stb r0, 0x112(r31) /* 802C40A4 002BFD04 88 03 00 06 */ lbz r0, 6(r3) /* 802C40A8 002BFD08 98 1F 01 13 */ stb r0, 0x113(r31) /* 802C40AC 002BFD0C 88 03 00 07 */ lbz r0, 7(r3) /* 802C40B0 002BFD10 98 1F 01 14 */ stb r0, 0x114(r31) /* 802C40B4 002BFD14 88 03 00 08 */ lbz r0, 8(r3) /* 802C40B8 002BFD18 98 1F 01 15 */ stb r0, 0x115(r31) /* 802C40BC 002BFD1C 88 03 00 09 */ lbz r0, 9(r3) /* 802C40C0 002BFD20 98 1F 01 16 */ stb r0, 0x116(r31) /* 802C40C4 002BFD24 88 03 00 0A */ lbz r0, 0xa(r3) /* 802C40C8 002BFD28 7C 83 23 78 */ mr r3, r4 /* 802C40CC 002BFD2C 98 1F 01 17 */ stb r0, 0x117(r31) /* 802C40D0 002BFD30 48 00 14 95 */ bl btm_find_dev_by_handle /* 802C40D4 002BFD34 2C 03 00 00 */ cmpwi r3, 0 /* 802C40D8 002BFD38 41 82 00 14 */ beq lbl_802C40EC /* 802C40DC 002BFD3C 38 9F 01 10 */ addi r4, r31, 0x110 /* 802C40E0 002BFD40 38 A0 00 08 */ li r5, 8 /* 802C40E4 002BFD44 38 63 00 77 */ addi r3, r3, 0x77 /* 802C40E8 002BFD48 4B D3 FF 19 */ bl memcpy lbl_802C40EC: /* 802C40EC 002BFD4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C40F0 002BFD50 38 00 CC F9 */ li r0, -13063 /* 802C40F4 002BFD54 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C40F8 002BFD58 A0 A3 06 54 */ lhz r5, 0x654(r3) /* 802C40FC 002BFD5C 88 63 06 36 */ lbz r3, 0x636(r3) /* 802C4100 002BFD60 70 A4 CC 18 */ andi. r4, r5, 0xcc18 /* 802C4104 002BFD64 28 03 00 03 */ cmplwi r3, 3 /* 802C4108 002BFD68 7C 9E 00 38 */ and r30, r4, r0 /* 802C410C 002BFD6C 41 80 00 10 */ blt lbl_802C411C /* 802C4110 002BFD70 70 A0 33 06 */ andi. r0, r5, 0x3306 /* 802C4114 002BFD74 7C 80 03 78 */ or r0, r4, r0 /* 802C4118 002BFD78 54 1E 04 3E */ clrlwi r30, r0, 0x10 lbl_802C411C: /* 802C411C 002BFD7C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C4120 002BFD80 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C4124 002BFD84 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C4128 002BFD88 28 00 00 04 */ cmplwi r0, 4 /* 802C412C 002BFD8C 41 80 00 1C */ blt lbl_802C4148 /* 802C4130 002BFD90 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802C4134 002BFD94 3C 80 80 44 */ lis r4, lbl_80440D00@ha /* 802C4138 002BFD98 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802C413C 002BFD9C 57 C5 04 3E */ clrlwi r5, r30, 0x10 /* 802C4140 002BFDA0 38 84 0D 00 */ addi r4, r4, lbl_80440D00@l /* 802C4144 002BFDA4 4B FF 8D E5 */ bl LogMsg_1 lbl_802C4148: /* 802C4148 002BFDA8 A0 7F 00 00 */ lhz r3, 0(r31) /* 802C414C 002BFDAC 57 C4 04 3E */ clrlwi r4, r30, 0x10 /* 802C4150 002BFDB0 48 00 C5 D5 */ bl btsnd_hcic_change_conn_type /* 802C4154 002BFDB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C4158 002BFDB8 41 82 00 08 */ beq lbl_802C4160 /* 802C415C 002BFDBC B3 DF 00 02 */ sth r30, 2(r31) lbl_802C4160: /* 802C4160 002BFDC0 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C4164 002BFDC4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C4168 002BFDC8 A0 04 04 C4 */ lhz r0, 0x4c4(r4) /* 802C416C 002BFDCC 2C 00 00 00 */ cmpwi r0, 0 /* 802C4170 002BFDD0 41 82 00 10 */ beq lbl_802C4180 /* 802C4174 002BFDD4 38 7F 00 08 */ addi r3, r31, 8 /* 802C4178 002BFDD8 38 84 04 C4 */ addi r4, r4, 0x4c4 /* 802C417C 002BFDDC 4B FF FB 19 */ bl BTM_SetLinkPolicy lbl_802C4180: /* 802C4180 002BFDE0 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C4184 002BFDE4 3B C0 00 00 */ li r30, 0 /* 802C4188 002BFDE8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C418C 002BFDEC A3 83 04 C6 */ lhz r28, 0x4c6(r3) /* 802C4190 002BFDF0 3B A3 00 34 */ addi r29, r3, 0x34 lbl_802C4194: /* 802C4194 002BFDF4 88 1D 01 19 */ lbz r0, 0x119(r29) /* 802C4198 002BFDF8 2C 00 00 00 */ cmpwi r0, 0 /* 802C419C 002BFDFC 41 82 00 20 */ beq lbl_802C41BC /* 802C41A0 002BFE00 38 7D 00 08 */ addi r3, r29, 8 /* 802C41A4 002BFE04 38 9F 00 08 */ addi r4, r31, 8 /* 802C41A8 002BFE08 38 A0 00 06 */ li r5, 6 /* 802C41AC 002BFE0C 4B F0 61 ED */ bl memcmp /* 802C41B0 002BFE10 2C 03 00 00 */ cmpwi r3, 0 /* 802C41B4 002BFE14 40 82 00 08 */ bne lbl_802C41BC /* 802C41B8 002BFE18 48 00 00 18 */ b lbl_802C41D0 lbl_802C41BC: /* 802C41BC 002BFE1C 3B DE 00 01 */ addi r30, r30, 1 /* 802C41C0 002BFE20 3B BD 01 1C */ addi r29, r29, 0x11c /* 802C41C4 002BFE24 28 1E 00 04 */ cmplwi r30, 4 /* 802C41C8 002BFE28 41 80 FF CC */ blt lbl_802C4194 /* 802C41CC 002BFE2C 3B A0 00 00 */ li r29, 0 lbl_802C41D0: /* 802C41D0 002BFE30 2C 1D 00 00 */ cmpwi r29, 0 /* 802C41D4 002BFE34 41 82 00 20 */ beq lbl_802C41F4 /* 802C41D8 002BFE38 B3 9D 01 0E */ sth r28, 0x10e(r29) /* 802C41DC 002BFE3C 88 1D 01 1A */ lbz r0, 0x11a(r29) /* 802C41E0 002BFE40 2C 00 00 00 */ cmpwi r0, 0 /* 802C41E4 002BFE44 40 82 00 10 */ bne lbl_802C41F4 /* 802C41E8 002BFE48 A0 7D 00 00 */ lhz r3, 0(r29) /* 802C41EC 002BFE4C 7F 84 E3 78 */ mr r4, r28 /* 802C41F0 002BFE50 48 00 DA 35 */ bl btsnd_hcic_write_link_super_tout lbl_802C41F4: /* 802C41F4 002BFE54 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C41F8 002BFE58 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C41FC 002BFE5C 81 83 04 C8 */ lwz r12, 0x4c8(r3) /* 802C4200 002BFE60 2C 0C 00 00 */ cmpwi r12, 0 /* 802C4204 002BFE64 41 82 00 2C */ beq lbl_802C4230 /* 802C4208 002BFE68 38 7F 00 08 */ addi r3, r31, 8 /* 802C420C 002BFE6C 38 9F 00 0E */ addi r4, r31, 0xe /* 802C4210 002BFE70 38 BF 00 11 */ addi r5, r31, 0x11 /* 802C4214 002BFE74 38 DF 01 10 */ addi r6, r31, 0x110 /* 802C4218 002BFE78 38 E0 00 01 */ li r7, 1 /* 802C421C 002BFE7C 7D 89 03 A6 */ mtctr r12 /* 802C4220 002BFE80 4E 80 04 21 */ bctrl /* 802C4224 002BFE84 48 00 00 0C */ b lbl_802C4230 lbl_802C4228: /* 802C4228 002BFE88 3B FF 01 1C */ addi r31, r31, 0x11c /* 802C422C 002BFE8C 42 00 FE 48 */ bdnz lbl_802C4074 lbl_802C4230: /* 802C4230 002BFE90 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C4234 002BFE94 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C4238 002BFE98 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C423C 002BFE9C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C4240 002BFEA0 83 81 00 10 */ lwz r28, 0x10(r1) /* 802C4244 002BFEA4 7C 08 03 A6 */ mtlr r0 /* 802C4248 002BFEA8 38 21 00 20 */ addi r1, r1, 0x20 /* 802C424C 002BFEAC 4E 80 00 20 */ blr .global BTM_SetDefaultLinkSuperTout BTM_SetDefaultLinkSuperTout: /* 802C4250 002BFEB0 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C4254 002BFEB4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C4258 002BFEB8 B0 64 04 C6 */ sth r3, 0x4c6(r4) /* 802C425C 002BFEBC 4E 80 00 20 */ blr .global BTM_IsAclConnectionUp BTM_IsAclConnectionUp: /* 802C4260 002BFEC0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C4264 002BFEC4 7C 08 02 A6 */ mflr r0 /* 802C4268 002BFEC8 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C426C 002BFECC 90 01 00 24 */ stw r0, 0x24(r1) /* 802C4270 002BFED0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C4274 002BFED4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C4278 002BFED8 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C427C 002BFEDC 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C4280 002BFEE0 7C 7D 1B 78 */ mr r29, r3 /* 802C4284 002BFEE4 88 04 27 C0 */ lbz r0, 0x27c0(r4) /* 802C4288 002BFEE8 28 00 00 03 */ cmplwi r0, 3 /* 802C428C 002BFEEC 41 80 00 30 */ blt lbl_802C42BC /* 802C4290 002BFEF0 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802C4294 002BFEF4 3C 80 80 44 */ lis r4, lbl_80440EA0@ha /* 802C4298 002BFEF8 88 BD 00 00 */ lbz r5, 0(r29) /* 802C429C 002BFEFC 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802C42A0 002BFF00 88 DD 00 01 */ lbz r6, 1(r29) /* 802C42A4 002BFF04 38 84 0E A0 */ addi r4, r4, lbl_80440EA0@l /* 802C42A8 002BFF08 88 FD 00 02 */ lbz r7, 2(r29) /* 802C42AC 002BFF0C 89 1D 00 03 */ lbz r8, 3(r29) /* 802C42B0 002BFF10 89 3D 00 04 */ lbz r9, 4(r29) /* 802C42B4 002BFF14 89 5D 00 05 */ lbz r10, 5(r29) /* 802C42B8 002BFF18 4B FF 8C E9 */ bl LogMsg_6 lbl_802C42BC: /* 802C42BC 002BFF1C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C42C0 002BFF20 3B E0 00 00 */ li r31, 0 /* 802C42C4 002BFF24 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C42C8 002BFF28 3B C3 00 34 */ addi r30, r3, 0x34 lbl_802C42CC: /* 802C42CC 002BFF2C 88 1E 01 19 */ lbz r0, 0x119(r30) /* 802C42D0 002BFF30 2C 00 00 00 */ cmpwi r0, 0 /* 802C42D4 002BFF34 41 82 00 20 */ beq lbl_802C42F4 /* 802C42D8 002BFF38 7F A4 EB 78 */ mr r4, r29 /* 802C42DC 002BFF3C 38 7E 00 08 */ addi r3, r30, 8 /* 802C42E0 002BFF40 38 A0 00 06 */ li r5, 6 /* 802C42E4 002BFF44 4B F0 60 B5 */ bl memcmp /* 802C42E8 002BFF48 2C 03 00 00 */ cmpwi r3, 0 /* 802C42EC 002BFF4C 40 82 00 08 */ bne lbl_802C42F4 /* 802C42F0 002BFF50 48 00 00 18 */ b lbl_802C4308 lbl_802C42F4: /* 802C42F4 002BFF54 3B FF 00 01 */ addi r31, r31, 1 /* 802C42F8 002BFF58 3B DE 01 1C */ addi r30, r30, 0x11c /* 802C42FC 002BFF5C 28 1F 00 04 */ cmplwi r31, 4 /* 802C4300 002BFF60 41 80 FF CC */ blt lbl_802C42CC /* 802C4304 002BFF64 3B C0 00 00 */ li r30, 0 lbl_802C4308: /* 802C4308 002BFF68 2C 1E 00 00 */ cmpwi r30, 0 /* 802C430C 002BFF6C 41 82 00 0C */ beq lbl_802C4318 /* 802C4310 002BFF70 38 60 00 01 */ li r3, 1 /* 802C4314 002BFF74 48 00 00 08 */ b lbl_802C431C lbl_802C4318: /* 802C4318 002BFF78 38 60 00 00 */ li r3, 0 lbl_802C431C: /* 802C431C 002BFF7C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C4320 002BFF80 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C4324 002BFF84 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C4328 002BFF88 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C432C 002BFF8C 7C 08 03 A6 */ mtlr r0 /* 802C4330 002BFF90 38 21 00 20 */ addi r1, r1, 0x20 /* 802C4334 002BFF94 4E 80 00 20 */ blr .global BTM_GetNumAclLinks BTM_GetNumAclLinks: /* 802C4338 002BFF98 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C433C 002BFF9C 38 60 00 00 */ li r3, 0 /* 802C4340 002BFFA0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C4344 002BFFA4 88 04 01 4D */ lbz r0, 0x14d(r4) /* 802C4348 002BFFA8 2C 00 00 00 */ cmpwi r0, 0 /* 802C434C 002BFFAC 41 82 00 08 */ beq lbl_802C4354 /* 802C4350 002BFFB0 38 60 00 01 */ li r3, 1 lbl_802C4354: /* 802C4354 002BFFB4 88 04 02 69 */ lbz r0, 0x269(r4) /* 802C4358 002BFFB8 2C 00 00 00 */ cmpwi r0, 0 /* 802C435C 002BFFBC 41 82 00 0C */ beq lbl_802C4368 /* 802C4360 002BFFC0 38 03 00 01 */ addi r0, r3, 1 /* 802C4364 002BFFC4 54 03 04 3E */ clrlwi r3, r0, 0x10 lbl_802C4368: /* 802C4368 002BFFC8 88 04 03 85 */ lbz r0, 0x385(r4) /* 802C436C 002BFFCC 2C 00 00 00 */ cmpwi r0, 0 /* 802C4370 002BFFD0 41 82 00 0C */ beq lbl_802C437C /* 802C4374 002BFFD4 38 03 00 01 */ addi r0, r3, 1 /* 802C4378 002BFFD8 54 03 04 3E */ clrlwi r3, r0, 0x10 lbl_802C437C: /* 802C437C 002BFFDC 88 04 04 A1 */ lbz r0, 0x4a1(r4) /* 802C4380 002BFFE0 2C 00 00 00 */ cmpwi r0, 0 /* 802C4384 002BFFE4 4D 82 00 20 */ beqlr /* 802C4388 002BFFE8 38 03 00 01 */ addi r0, r3, 1 /* 802C438C 002BFFEC 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802C4390 002BFFF0 4E 80 00 20 */ blr .global btm_get_acl_disc_reason_code btm_get_acl_disc_reason_code: /* 802C4394 002BFFF4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C4398 002BFFF8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C439C 002BFFFC 88 63 27 BF */ lbz r3, 0x27bf(r3) /* 802C43A0 002C0000 4E 80 00 20 */ blr .global BTM_GetHCIConnHandle BTM_GetHCIConnHandle: /* 802C43A4 002C0004 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C43A8 002C0008 7C 08 02 A6 */ mflr r0 /* 802C43AC 002C000C 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C43B0 002C0010 90 01 00 24 */ stw r0, 0x24(r1) /* 802C43B4 002C0014 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C43B8 002C0018 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C43BC 002C001C 3B E0 00 00 */ li r31, 0 /* 802C43C0 002C0020 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C43C4 002C0024 3B C4 00 34 */ addi r30, r4, 0x34 /* 802C43C8 002C0028 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C43CC 002C002C 7C 7D 1B 78 */ mr r29, r3 lbl_802C43D0: /* 802C43D0 002C0030 88 1E 01 19 */ lbz r0, 0x119(r30) /* 802C43D4 002C0034 2C 00 00 00 */ cmpwi r0, 0 /* 802C43D8 002C0038 41 82 00 20 */ beq lbl_802C43F8 /* 802C43DC 002C003C 7F A4 EB 78 */ mr r4, r29 /* 802C43E0 002C0040 38 7E 00 08 */ addi r3, r30, 8 /* 802C43E4 002C0044 38 A0 00 06 */ li r5, 6 /* 802C43E8 002C0048 4B F0 5F B1 */ bl memcmp /* 802C43EC 002C004C 2C 03 00 00 */ cmpwi r3, 0 /* 802C43F0 002C0050 40 82 00 08 */ bne lbl_802C43F8 /* 802C43F4 002C0054 48 00 00 18 */ b lbl_802C440C lbl_802C43F8: /* 802C43F8 002C0058 3B FF 00 01 */ addi r31, r31, 1 /* 802C43FC 002C005C 3B DE 01 1C */ addi r30, r30, 0x11c /* 802C4400 002C0060 28 1F 00 04 */ cmplwi r31, 4 /* 802C4404 002C0064 41 80 FF CC */ blt lbl_802C43D0 /* 802C4408 002C0068 3B C0 00 00 */ li r30, 0 lbl_802C440C: /* 802C440C 002C006C 2C 1E 00 00 */ cmpwi r30, 0 /* 802C4410 002C0070 41 82 00 0C */ beq lbl_802C441C /* 802C4414 002C0074 A0 7E 00 00 */ lhz r3, 0(r30) /* 802C4418 002C0078 48 00 00 0C */ b lbl_802C4424 lbl_802C441C: /* 802C441C 002C007C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 802C4420 002C0080 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l lbl_802C4424: /* 802C4424 002C0084 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C4428 002C0088 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C442C 002C008C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C4430 002C0090 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C4434 002C0094 7C 08 03 A6 */ mtlr r0 /* 802C4438 002C0098 38 21 00 20 */ addi r1, r1, 0x20 /* 802C443C 002C009C 4E 80 00 20 */ blr .global btm_process_clk_off_comp_evt btm_process_clk_off_comp_evt: /* 802C4440 002C00A0 3C A0 80 57 */ lis r5, lbl_80568B78@ha /* 802C4444 002C00A4 38 C0 00 00 */ li r6, 0 /* 802C4448 002C00A8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l /* 802C444C 002C00AC 88 05 01 4D */ lbz r0, 0x14d(r5) /* 802C4450 002C00B0 2C 00 00 00 */ cmpwi r0, 0 /* 802C4454 002C00B4 41 82 00 10 */ beq lbl_802C4464 /* 802C4458 002C00B8 A0 05 00 34 */ lhz r0, 0x34(r5) /* 802C445C 002C00BC 7C 00 18 40 */ cmplw r0, r3 /* 802C4460 002C00C0 41 82 00 5C */ beq lbl_802C44BC lbl_802C4464: /* 802C4464 002C00C4 88 05 02 69 */ lbz r0, 0x269(r5) /* 802C4468 002C00C8 38 C0 00 01 */ li r6, 1 /* 802C446C 002C00CC 2C 00 00 00 */ cmpwi r0, 0 /* 802C4470 002C00D0 41 82 00 10 */ beq lbl_802C4480 /* 802C4474 002C00D4 A0 05 01 50 */ lhz r0, 0x150(r5) /* 802C4478 002C00D8 7C 00 18 40 */ cmplw r0, r3 /* 802C447C 002C00DC 41 82 00 40 */ beq lbl_802C44BC lbl_802C4480: /* 802C4480 002C00E0 88 05 03 85 */ lbz r0, 0x385(r5) /* 802C4484 002C00E4 38 C0 00 02 */ li r6, 2 /* 802C4488 002C00E8 2C 00 00 00 */ cmpwi r0, 0 /* 802C448C 002C00EC 41 82 00 10 */ beq lbl_802C449C /* 802C4490 002C00F0 A0 05 02 6C */ lhz r0, 0x26c(r5) /* 802C4494 002C00F4 7C 00 18 40 */ cmplw r0, r3 /* 802C4498 002C00F8 41 82 00 24 */ beq lbl_802C44BC lbl_802C449C: /* 802C449C 002C00FC 88 05 04 A1 */ lbz r0, 0x4a1(r5) /* 802C44A0 002C0100 38 C0 00 03 */ li r6, 3 /* 802C44A4 002C0104 2C 00 00 00 */ cmpwi r0, 0 /* 802C44A8 002C0108 41 82 00 10 */ beq lbl_802C44B8 /* 802C44AC 002C010C A0 05 03 88 */ lhz r0, 0x388(r5) /* 802C44B0 002C0110 7C 00 18 40 */ cmplw r0, r3 /* 802C44B4 002C0114 41 82 00 08 */ beq lbl_802C44BC lbl_802C44B8: /* 802C44B8 002C0118 38 C0 00 04 */ li r6, 4 lbl_802C44BC: /* 802C44BC 002C011C 28 06 00 04 */ cmplwi r6, 4 /* 802C44C0 002C0120 4C 80 00 20 */ bgelr /* 802C44C4 002C0124 1C 06 01 1C */ mulli r0, r6, 0x11c /* 802C44C8 002C0128 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C44CC 002C012C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C44D0 002C0130 7C 63 02 14 */ add r3, r3, r0 /* 802C44D4 002C0134 B0 83 00 3A */ sth r4, 0x3a(r3) /* 802C44D8 002C0138 4E 80 00 20 */ blr .global btm_acl_role_changed btm_acl_role_changed: /* 802C44DC 002C013C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802C44E0 002C0140 7C 08 02 A6 */ mflr r0 /* 802C44E4 002C0144 90 01 00 34 */ stw r0, 0x34(r1) /* 802C44E8 002C0148 39 61 00 30 */ addi r11, r1, 0x30 /* 802C44EC 002C014C 4B F0 2C 35 */ bl _savegpr_25 /* 802C44F0 002C0150 2C 04 00 00 */ cmpwi r4, 0 /* 802C44F4 002C0154 7C 79 1B 78 */ mr r25, r3 /* 802C44F8 002C0158 7C 9A 23 78 */ mr r26, r4 /* 802C44FC 002C015C 7C BC 2B 78 */ mr r28, r5 /* 802C4500 002C0160 41 82 00 0C */ beq lbl_802C450C /* 802C4504 002C0164 7F 5B D3 78 */ mr r27, r26 /* 802C4508 002C0168 48 00 00 10 */ b lbl_802C4518 lbl_802C450C: /* 802C450C 002C016C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C4510 002C0170 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C4514 002C0174 3B 63 27 B4 */ addi r27, r3, 0x27b4 lbl_802C4518: /* 802C4518 002C0178 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C451C 002C017C 3B C0 00 00 */ li r30, 0 /* 802C4520 002C0180 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C4524 002C0184 3B A3 00 34 */ addi r29, r3, 0x34 lbl_802C4528: /* 802C4528 002C0188 88 1D 01 19 */ lbz r0, 0x119(r29) /* 802C452C 002C018C 2C 00 00 00 */ cmpwi r0, 0 /* 802C4530 002C0190 41 82 00 20 */ beq lbl_802C4550 /* 802C4534 002C0194 7F 64 DB 78 */ mr r4, r27 /* 802C4538 002C0198 38 7D 00 08 */ addi r3, r29, 8 /* 802C453C 002C019C 38 A0 00 06 */ li r5, 6 /* 802C4540 002C01A0 4B F0 5E 59 */ bl memcmp /* 802C4544 002C01A4 2C 03 00 00 */ cmpwi r3, 0 /* 802C4548 002C01A8 40 82 00 08 */ bne lbl_802C4550 /* 802C454C 002C01AC 48 00 00 18 */ b lbl_802C4564 lbl_802C4550: /* 802C4550 002C01B0 3B DE 00 01 */ addi r30, r30, 1 /* 802C4554 002C01B4 3B BD 01 1C */ addi r29, r29, 0x11c /* 802C4558 002C01B8 28 1E 00 04 */ cmplwi r30, 4 /* 802C455C 002C01BC 41 80 FF CC */ blt lbl_802C4528 /* 802C4560 002C01C0 3B A0 00 00 */ li r29, 0 lbl_802C4564: /* 802C4564 002C01C4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C4568 002C01C8 2C 1D 00 00 */ cmpwi r29, 0 /* 802C456C 002C01CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C4570 002C01D0 3B E3 06 24 */ addi r31, r3, 0x624 /* 802C4574 002C01D4 41 82 01 44 */ beq lbl_802C46B8 /* 802C4578 002C01D8 2C 19 00 00 */ cmpwi r25, 0 /* 802C457C 002C01DC 9B 3F 00 00 */ stb r25, 0(r31) /* 802C4580 002C01E0 40 82 00 1C */ bne lbl_802C459C /* 802C4584 002C01E4 9B 9F 00 01 */ stb r28, 1(r31) /* 802C4588 002C01E8 7F 64 DB 78 */ mr r4, r27 /* 802C458C 002C01EC 38 7F 00 02 */ addi r3, r31, 2 /* 802C4590 002C01F0 38 A0 00 06 */ li r5, 6 /* 802C4594 002C01F4 4B D3 FA 6D */ bl memcpy /* 802C4598 002C01F8 9B 9D 01 1A */ stb r28, 0x11a(r29) lbl_802C459C: /* 802C459C 002C01FC 2C 1A 00 00 */ cmpwi r26, 0 /* 802C45A0 002C0200 41 82 00 78 */ beq lbl_802C4618 /* 802C45A4 002C0204 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C45A8 002C0208 A3 DD 01 0E */ lhz r30, 0x10e(r29) /* 802C45AC 002C020C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C45B0 002C0210 3B 80 00 00 */ li r28, 0 /* 802C45B4 002C0214 3B 63 00 34 */ addi r27, r3, 0x34 lbl_802C45B8: /* 802C45B8 002C0218 88 1B 01 19 */ lbz r0, 0x119(r27) /* 802C45BC 002C021C 2C 00 00 00 */ cmpwi r0, 0 /* 802C45C0 002C0220 41 82 00 20 */ beq lbl_802C45E0 /* 802C45C4 002C0224 38 7B 00 08 */ addi r3, r27, 8 /* 802C45C8 002C0228 38 9D 00 08 */ addi r4, r29, 8 /* 802C45CC 002C022C 38 A0 00 06 */ li r5, 6 /* 802C45D0 002C0230 4B F0 5D C9 */ bl memcmp /* 802C45D4 002C0234 2C 03 00 00 */ cmpwi r3, 0 /* 802C45D8 002C0238 40 82 00 08 */ bne lbl_802C45E0 /* 802C45DC 002C023C 48 00 00 18 */ b lbl_802C45F4 lbl_802C45E0: /* 802C45E0 002C0240 3B 9C 00 01 */ addi r28, r28, 1 /* 802C45E4 002C0244 3B 7B 01 1C */ addi r27, r27, 0x11c /* 802C45E8 002C0248 28 1C 00 04 */ cmplwi r28, 4 /* 802C45EC 002C024C 41 80 FF CC */ blt lbl_802C45B8 /* 802C45F0 002C0250 3B 60 00 00 */ li r27, 0 lbl_802C45F4: /* 802C45F4 002C0254 2C 1B 00 00 */ cmpwi r27, 0 /* 802C45F8 002C0258 41 82 00 20 */ beq lbl_802C4618 /* 802C45FC 002C025C B3 DB 01 0E */ sth r30, 0x10e(r27) /* 802C4600 002C0260 88 1B 01 1A */ lbz r0, 0x11a(r27) /* 802C4604 002C0264 2C 00 00 00 */ cmpwi r0, 0 /* 802C4608 002C0268 40 82 00 10 */ bne lbl_802C4618 /* 802C460C 002C026C A0 7B 00 00 */ lhz r3, 0(r27) /* 802C4610 002C0270 7F C4 F3 78 */ mr r4, r30 /* 802C4614 002C0274 48 00 D6 11 */ bl btsnd_hcic_write_link_super_tout lbl_802C4618: /* 802C4618 002C0278 88 1D 01 1B */ lbz r0, 0x11b(r29) /* 802C461C 002C027C 28 00 00 03 */ cmplwi r0, 3 /* 802C4620 002C0280 40 82 00 24 */ bne lbl_802C4644 /* 802C4624 002C0284 A0 7D 00 00 */ lhz r3, 0(r29) /* 802C4628 002C0288 38 80 00 01 */ li r4, 1 /* 802C462C 002C028C 48 00 C2 05 */ bl btsnd_hcic_set_conn_encrypt /* 802C4630 002C0290 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C4634 002C0294 41 82 00 10 */ beq lbl_802C4644 /* 802C4638 002C0298 38 00 00 04 */ li r0, 4 /* 802C463C 002C029C 98 1D 01 1B */ stb r0, 0x11b(r29) /* 802C4640 002C02A0 48 00 00 78 */ b lbl_802C46B8 lbl_802C4644: /* 802C4644 002C02A4 2C 1D 00 00 */ cmpwi r29, 0 /* 802C4648 002C02A8 41 82 00 18 */ beq lbl_802C4660 /* 802C464C 002C02AC 88 1D 01 1B */ lbz r0, 0x11b(r29) /* 802C4650 002C02B0 28 00 00 05 */ cmplwi r0, 5 /* 802C4654 002C02B4 40 82 00 0C */ bne lbl_802C4660 /* 802C4658 002C02B8 38 00 00 00 */ li r0, 0 /* 802C465C 002C02BC 98 1D 01 1B */ stb r0, 0x11b(r29) lbl_802C4660: /* 802C4660 002C02C0 3F C0 80 57 */ lis r30, lbl_80568B78@ha /* 802C4664 002C02C4 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l /* 802C4668 002C02C8 81 9E 06 2C */ lwz r12, 0x62c(r30) /* 802C466C 002C02CC 2C 0C 00 00 */ cmpwi r12, 0 /* 802C4670 002C02D0 41 82 00 18 */ beq lbl_802C4688 /* 802C4674 002C02D4 7F E3 FB 78 */ mr r3, r31 /* 802C4678 002C02D8 7D 89 03 A6 */ mtctr r12 /* 802C467C 002C02DC 4E 80 04 21 */ bctrl /* 802C4680 002C02E0 38 00 00 00 */ li r0, 0 /* 802C4684 002C02E4 90 1E 06 2C */ stw r0, 0x62c(r30) lbl_802C4688: /* 802C4688 002C02E8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C468C 002C02EC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C4690 002C02F0 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C4694 002C02F4 28 00 00 04 */ cmplwi r0, 4 /* 802C4698 002C02F8 41 80 00 20 */ blt lbl_802C46B8 /* 802C469C 002C02FC 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802C46A0 002C0300 3C 80 80 44 */ lis r4, lbl_80440EDC@ha /* 802C46A4 002C0304 88 BF 00 01 */ lbz r5, 1(r31) /* 802C46A8 002C0308 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802C46AC 002C030C 88 DF 00 00 */ lbz r6, 0(r31) /* 802C46B0 002C0310 38 84 0E DC */ addi r4, r4, lbl_80440EDC@l /* 802C46B4 002C0314 4B FF 88 8D */ bl LogMsg_2 lbl_802C46B8: /* 802C46B8 002C0318 39 61 00 30 */ addi r11, r1, 0x30 /* 802C46BC 002C031C 4B F0 2A B1 */ bl _restgpr_25 /* 802C46C0 002C0320 80 01 00 34 */ lwz r0, 0x34(r1) /* 802C46C4 002C0324 7C 08 03 A6 */ mtlr r0 /* 802C46C8 002C0328 38 21 00 30 */ addi r1, r1, 0x30 /* 802C46CC 002C032C 4E 80 00 20 */ blr .global btm_acl_timeout btm_acl_timeout: /* 802C46D0 002C0330 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C46D4 002C0334 7C 08 02 A6 */ mflr r0 /* 802C46D8 002C0338 90 01 00 24 */ stw r0, 0x24(r1) /* 802C46DC 002C033C 80 03 00 10 */ lwz r0, 0x10(r3) /* 802C46E0 002C0340 28 00 00 04 */ cmplwi r0, 4 /* 802C46E4 002C0344 40 82 00 38 */ bne lbl_802C471C /* 802C46E8 002C0348 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C46EC 002C034C 38 60 00 0A */ li r3, 0xa /* 802C46F0 002C0350 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C46F4 002C0354 38 00 00 00 */ li r0, 0 /* 802C46F8 002C0358 81 84 05 C4 */ lwz r12, 0x5c4(r4) /* 802C46FC 002C035C 98 61 00 08 */ stb r3, 8(r1) /* 802C4700 002C0360 2C 0C 00 00 */ cmpwi r12, 0 /* 802C4704 002C0364 B0 01 00 10 */ sth r0, 0x10(r1) /* 802C4708 002C0368 90 04 05 C4 */ stw r0, 0x5c4(r4) /* 802C470C 002C036C 41 82 00 10 */ beq lbl_802C471C /* 802C4710 002C0370 38 61 00 08 */ addi r3, r1, 8 /* 802C4714 002C0374 7D 89 03 A6 */ mtctr r12 /* 802C4718 002C0378 4E 80 04 21 */ bctrl lbl_802C471C: /* 802C471C 002C037C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C4720 002C0380 7C 08 03 A6 */ mtlr r0 /* 802C4724 002C0384 38 21 00 20 */ addi r1, r1, 0x20 /* 802C4728 002C0388 4E 80 00 20 */ blr .global btm_get_max_packet_size btm_get_max_packet_size: /* 802C472C 002C038C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C4730 002C0390 7C 08 02 A6 */ mflr r0 /* 802C4734 002C0394 90 01 00 24 */ stw r0, 0x24(r1) /* 802C4738 002C0398 39 61 00 20 */ addi r11, r1, 0x20 /* 802C473C 002C039C 4B F0 29 ED */ bl _savegpr_27 /* 802C4740 002C03A0 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C4744 002C03A4 7C 7B 1B 78 */ mr r27, r3 /* 802C4748 002C03A8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C474C 002C03AC 3B C0 00 00 */ li r30, 0 /* 802C4750 002C03B0 3B A4 00 34 */ addi r29, r4, 0x34 lbl_802C4754: /* 802C4754 002C03B4 88 1D 01 19 */ lbz r0, 0x119(r29) /* 802C4758 002C03B8 2C 00 00 00 */ cmpwi r0, 0 /* 802C475C 002C03BC 41 82 00 20 */ beq lbl_802C477C /* 802C4760 002C03C0 7F 64 DB 78 */ mr r4, r27 /* 802C4764 002C03C4 38 7D 00 08 */ addi r3, r29, 8 /* 802C4768 002C03C8 38 A0 00 06 */ li r5, 6 /* 802C476C 002C03CC 4B F0 5C 2D */ bl memcmp /* 802C4770 002C03D0 2C 03 00 00 */ cmpwi r3, 0 /* 802C4774 002C03D4 40 82 00 08 */ bne lbl_802C477C /* 802C4778 002C03D8 48 00 00 18 */ b lbl_802C4790 lbl_802C477C: /* 802C477C 002C03DC 3B DE 00 01 */ addi r30, r30, 1 /* 802C4780 002C03E0 3B BD 01 1C */ addi r29, r29, 0x11c /* 802C4784 002C03E4 28 1E 00 04 */ cmplwi r30, 4 /* 802C4788 002C03E8 41 80 FF CC */ blt lbl_802C4754 /* 802C478C 002C03EC 3B A0 00 00 */ li r29, 0 lbl_802C4790: /* 802C4790 002C03F0 2C 1D 00 00 */ cmpwi r29, 0 /* 802C4794 002C03F4 3B 80 00 00 */ li r28, 0 /* 802C4798 002C03F8 3B E0 00 00 */ li r31, 0 /* 802C479C 002C03FC 41 82 00 0C */ beq lbl_802C47A8 /* 802C47A0 002C0400 A3 9D 00 02 */ lhz r28, 2(r29) /* 802C47A4 002C0404 48 00 00 28 */ b lbl_802C47CC lbl_802C47A8: /* 802C47A8 002C0408 3F C0 80 57 */ lis r30, lbl_80568B78@ha /* 802C47AC 002C040C 7F 64 DB 78 */ mr r4, r27 /* 802C47B0 002C0410 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l /* 802C47B4 002C0414 38 A0 00 06 */ li r5, 6 /* 802C47B8 002C0418 38 7E 06 30 */ addi r3, r30, 0x630 /* 802C47BC 002C041C 4B F0 5B DD */ bl memcmp /* 802C47C0 002C0420 2C 03 00 00 */ cmpwi r3, 0 /* 802C47C4 002C0424 40 82 00 08 */ bne lbl_802C47CC /* 802C47C8 002C0428 A3 9E 06 54 */ lhz r28, 0x654(r30) lbl_802C47CC: /* 802C47CC 002C042C 2C 1C 00 00 */ cmpwi r28, 0 /* 802C47D0 002C0430 41 82 00 C0 */ beq lbl_802C4890 /* 802C47D4 002C0434 57 80 04 A5 */ rlwinm. r0, r28, 0, 0x12, 0x12 /* 802C47D8 002C0438 40 82 00 0C */ bne lbl_802C47E4 /* 802C47DC 002C043C 3B E0 03 FD */ li r31, 0x3fd /* 802C47E0 002C0440 48 00 00 B0 */ b lbl_802C4890 lbl_802C47E4: /* 802C47E4 002C0444 57 80 04 E7 */ rlwinm. r0, r28, 0, 0x13, 0x13 /* 802C47E8 002C0448 40 82 00 0C */ bne lbl_802C47F4 /* 802C47EC 002C044C 3B E0 02 A7 */ li r31, 0x2a7 /* 802C47F0 002C0450 48 00 00 A0 */ b lbl_802C4890 lbl_802C47F4: /* 802C47F4 002C0454 57 80 05 AD */ rlwinm. r0, r28, 0, 0x16, 0x16 /* 802C47F8 002C0458 40 82 00 0C */ bne lbl_802C4804 /* 802C47FC 002C045C 3B E0 02 28 */ li r31, 0x228 /* 802C4800 002C0460 48 00 00 90 */ b lbl_802C4890 lbl_802C4804: /* 802C4804 002C0464 57 80 04 21 */ rlwinm. r0, r28, 0, 0x10, 0x10 /* 802C4808 002C0468 41 82 00 0C */ beq lbl_802C4814 /* 802C480C 002C046C 3B E0 01 53 */ li r31, 0x153 /* 802C4810 002C0470 48 00 00 80 */ b lbl_802C4890 lbl_802C4814: /* 802C4814 002C0474 57 80 05 EF */ rlwinm. r0, r28, 0, 0x17, 0x17 /* 802C4818 002C0478 40 82 00 0C */ bne lbl_802C4824 /* 802C481C 002C047C 3B E0 01 6F */ li r31, 0x16f /* 802C4820 002C0480 48 00 00 70 */ b lbl_802C4890 lbl_802C4824: /* 802C4824 002C0484 57 80 04 63 */ rlwinm. r0, r28, 0, 0x11, 0x11 /* 802C4828 002C0488 41 82 00 0C */ beq lbl_802C4834 /* 802C482C 002C048C 3B E0 00 E0 */ li r31, 0xe0 /* 802C4830 002C0490 48 00 00 60 */ b lbl_802C4890 lbl_802C4834: /* 802C4834 002C0494 57 80 05 29 */ rlwinm. r0, r28, 0, 0x14, 0x14 /* 802C4838 002C0498 41 82 00 0C */ beq lbl_802C4844 /* 802C483C 002C049C 3B E0 00 B7 */ li r31, 0xb7 /* 802C4840 002C04A0 48 00 00 50 */ b lbl_802C4890 lbl_802C4844: /* 802C4844 002C04A4 57 80 05 6B */ rlwinm. r0, r28, 0, 0x15, 0x15 /* 802C4848 002C04A8 41 82 00 0C */ beq lbl_802C4854 /* 802C484C 002C04AC 3B E0 00 79 */ li r31, 0x79 /* 802C4850 002C04B0 48 00 00 40 */ b lbl_802C4890 lbl_802C4854: /* 802C4854 002C04B4 57 80 07 7B */ rlwinm. r0, r28, 0, 0x1d, 0x1d /* 802C4858 002C04B8 40 82 00 0C */ bne lbl_802C4864 /* 802C485C 002C04BC 3B E0 00 53 */ li r31, 0x53 /* 802C4860 002C04C0 48 00 00 30 */ b lbl_802C4890 lbl_802C4864: /* 802C4864 002C04C4 57 80 07 BD */ rlwinm. r0, r28, 0, 0x1e, 0x1e /* 802C4868 002C04C8 40 82 00 0C */ bne lbl_802C4874 /* 802C486C 002C04CC 3B E0 00 36 */ li r31, 0x36 /* 802C4870 002C04D0 48 00 00 20 */ b lbl_802C4890 lbl_802C4874: /* 802C4874 002C04D4 57 80 06 F7 */ rlwinm. r0, r28, 0, 0x1b, 0x1b /* 802C4878 002C04D8 41 82 00 0C */ beq lbl_802C4884 /* 802C487C 002C04DC 3B E0 00 1B */ li r31, 0x1b /* 802C4880 002C04E0 48 00 00 10 */ b lbl_802C4890 lbl_802C4884: /* 802C4884 002C04E4 57 80 07 39 */ rlwinm. r0, r28, 0, 0x1c, 0x1c /* 802C4888 002C04E8 41 82 00 08 */ beq lbl_802C4890 /* 802C488C 002C04EC 3B E0 00 11 */ li r31, 0x11 lbl_802C4890: /* 802C4890 002C04F0 28 1F 03 FD */ cmplwi r31, 0x3fd /* 802C4894 002C04F4 40 82 00 1C */ bne lbl_802C48B0 /* 802C4898 002C04F8 3C 60 80 57 */ lis r3, lbl_80568650@ha /* 802C489C 002C04FC 38 63 86 50 */ addi r3, r3, lbl_80568650@l /* 802C48A0 002C0500 A0 03 00 7C */ lhz r0, 0x7c(r3) /* 802C48A4 002C0504 28 00 03 F9 */ cmplwi r0, 0x3f9 /* 802C48A8 002C0508 40 82 00 08 */ bne lbl_802C48B0 /* 802C48AC 002C050C 3B E0 03 F9 */ li r31, 0x3f9 lbl_802C48B0: /* 802C48B0 002C0510 39 61 00 20 */ addi r11, r1, 0x20 /* 802C48B4 002C0514 7F E3 FB 78 */ mr r3, r31 /* 802C48B8 002C0518 4B F0 28 BD */ bl _restgpr_27 /* 802C48BC 002C051C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C48C0 002C0520 7C 08 03 A6 */ mtlr r0 /* 802C48C4 002C0524 38 21 00 20 */ addi r1, r1, 0x20 /* 802C48C8 002C0528 4E 80 00 20 */ blr .global BTM_AclRegisterForChanges BTM_AclRegisterForChanges: /* 802C48CC 002C052C 2C 03 00 00 */ cmpwi r3, 0 /* 802C48D0 002C0530 40 82 00 18 */ bne lbl_802C48E8 /* 802C48D4 002C0534 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C48D8 002C0538 38 00 00 00 */ li r0, 0 /* 802C48DC 002C053C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C48E0 002C0540 90 03 04 C8 */ stw r0, 0x4c8(r3) /* 802C48E4 002C0544 48 00 00 24 */ b lbl_802C4908 lbl_802C48E8: /* 802C48E8 002C0548 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C48EC 002C054C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C48F0 002C0550 80 04 04 C8 */ lwz r0, 0x4c8(r4) /* 802C48F4 002C0554 2C 00 00 00 */ cmpwi r0, 0 /* 802C48F8 002C0558 41 82 00 0C */ beq lbl_802C4904 /* 802C48FC 002C055C 38 60 00 02 */ li r3, 2 /* 802C4900 002C0560 4E 80 00 20 */ blr lbl_802C4904: /* 802C4904 002C0564 90 64 04 C8 */ stw r3, 0x4c8(r4) lbl_802C4908: /* 802C4908 002C0568 38 60 00 00 */ li r3, 0 /* 802C490C 002C056C 4E 80 00 20 */ blr .global btm_qos_setup_complete btm_qos_setup_complete: /* 802C4910 002C0570 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802C4914 002C0574 7C 08 02 A6 */ mflr r0 /* 802C4918 002C0578 90 01 00 44 */ stw r0, 0x44(r1) /* 802C491C 002C057C 39 61 00 40 */ addi r11, r1, 0x40 /* 802C4920 002C0580 4B F0 28 09 */ bl _savegpr_27 /* 802C4924 002C0584 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802C4928 002C0588 7C 7B 1B 78 */ mr r27, r3 /* 802C492C 002C058C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802C4930 002C0590 7C 9C 23 78 */ mr r28, r4 /* 802C4934 002C0594 83 DF 06 18 */ lwz r30, 0x618(r31) /* 802C4938 002C0598 7C BD 2B 78 */ mr r29, r5 /* 802C493C 002C059C 38 7F 06 00 */ addi r3, r31, 0x600 /* 802C4940 002C05A0 4B FF 8C 0D */ bl btu_stop_timer /* 802C4944 002C05A4 38 00 00 00 */ li r0, 0 /* 802C4948 002C05A8 2C 1E 00 00 */ cmpwi r30, 0 /* 802C494C 002C05AC 90 1F 06 18 */ stw r0, 0x618(r31) /* 802C4950 002C05B0 41 82 00 80 */ beq lbl_802C49D0 /* 802C4954 002C05B4 2C 1D 00 00 */ cmpwi r29, 0 /* 802C4958 002C05B8 9B 61 00 22 */ stb r27, 0x22(r1) /* 802C495C 002C05BC B3 81 00 20 */ sth r28, 0x20(r1) /* 802C4960 002C05C0 41 82 00 34 */ beq lbl_802C4994 /* 802C4964 002C05C4 88 1D 00 00 */ lbz r0, 0(r29) /* 802C4968 002C05C8 98 01 00 08 */ stb r0, 8(r1) /* 802C496C 002C05CC 88 1D 00 01 */ lbz r0, 1(r29) /* 802C4970 002C05D0 98 01 00 09 */ stb r0, 9(r1) /* 802C4974 002C05D4 80 1D 00 04 */ lwz r0, 4(r29) /* 802C4978 002C05D8 90 01 00 0C */ stw r0, 0xc(r1) /* 802C497C 002C05DC 80 1D 00 0C */ lwz r0, 0xc(r29) /* 802C4980 002C05E0 90 01 00 14 */ stw r0, 0x14(r1) /* 802C4984 002C05E4 80 1D 00 10 */ lwz r0, 0x10(r29) /* 802C4988 002C05E8 90 01 00 18 */ stw r0, 0x18(r1) /* 802C498C 002C05EC 80 1D 00 14 */ lwz r0, 0x14(r29) /* 802C4990 002C05F0 90 01 00 1C */ stw r0, 0x1c(r1) lbl_802C4994: /* 802C4994 002C05F4 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C4998 002C05F8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C499C 002C05FC 88 03 27 C0 */ lbz r0, 0x27c0(r3) /* 802C49A0 002C0600 28 00 00 05 */ cmplwi r0, 5 /* 802C49A4 002C0604 41 80 00 1C */ blt lbl_802C49C0 /* 802C49A8 002C0608 3C 60 00 0D */ lis r3, 0x000D0004@ha /* 802C49AC 002C060C 3C 80 80 44 */ lis r4, lbl_80440F44@ha /* 802C49B0 002C0610 80 BD 00 14 */ lwz r5, 0x14(r29) /* 802C49B4 002C0614 38 63 00 04 */ addi r3, r3, 0x000D0004@l /* 802C49B8 002C0618 38 84 0F 44 */ addi r4, r4, lbl_80440F44@l /* 802C49BC 002C061C 4B FF 85 6D */ bl LogMsg_1 lbl_802C49C0: /* 802C49C0 002C0620 7F CC F3 78 */ mr r12, r30 /* 802C49C4 002C0624 38 61 00 08 */ addi r3, r1, 8 /* 802C49C8 002C0628 7D 89 03 A6 */ mtctr r12 /* 802C49CC 002C062C 4E 80 04 21 */ bctrl lbl_802C49D0: /* 802C49D0 002C0630 39 61 00 40 */ addi r11, r1, 0x40 /* 802C49D4 002C0634 4B F0 27 A1 */ bl _restgpr_27 /* 802C49D8 002C0638 80 01 00 44 */ lwz r0, 0x44(r1) /* 802C49DC 002C063C 7C 08 03 A6 */ mtlr r0 /* 802C49E0 002C0640 38 21 00 40 */ addi r1, r1, 0x40 /* 802C49E4 002C0644 4E 80 00 20 */ blr .global BTM_ReadRSSI BTM_ReadRSSI: /* 802C49E8 002C0648 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C49EC 002C064C 7C 08 02 A6 */ mflr r0 /* 802C49F0 002C0650 3C A0 80 57 */ lis r5, lbl_80568B78@ha /* 802C49F4 002C0654 90 01 00 24 */ stw r0, 0x24(r1) /* 802C49F8 002C0658 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l /* 802C49FC 002C065C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C4A00 002C0660 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C4A04 002C0664 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C4A08 002C0668 7C 9D 23 78 */ mr r29, r4 /* 802C4A0C 002C066C 93 81 00 10 */ stw r28, 0x10(r1) /* 802C4A10 002C0670 7C 7C 1B 78 */ mr r28, r3 /* 802C4A14 002C0674 88 05 27 C0 */ lbz r0, 0x27c0(r5) /* 802C4A18 002C0678 28 00 00 03 */ cmplwi r0, 3 /* 802C4A1C 002C067C 41 80 00 30 */ blt lbl_802C4A4C /* 802C4A20 002C0680 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802C4A24 002C0684 3C 80 80 44 */ lis r4, lbl_80440F6C@ha /* 802C4A28 002C0688 88 BC 00 00 */ lbz r5, 0(r28) /* 802C4A2C 002C068C 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802C4A30 002C0690 88 DC 00 01 */ lbz r6, 1(r28) /* 802C4A34 002C0694 38 84 0F 6C */ addi r4, r4, lbl_80440F6C@l /* 802C4A38 002C0698 88 FC 00 02 */ lbz r7, 2(r28) /* 802C4A3C 002C069C 89 1C 00 03 */ lbz r8, 3(r28) /* 802C4A40 002C06A0 89 3C 00 04 */ lbz r9, 4(r28) /* 802C4A44 002C06A4 89 5C 00 05 */ lbz r10, 5(r28) /* 802C4A48 002C06A8 4B FF 85 59 */ bl LogMsg_6 lbl_802C4A4C: /* 802C4A4C 002C06AC 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C4A50 002C06B0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C4A54 002C06B4 80 03 05 E0 */ lwz r0, 0x5e0(r3) /* 802C4A58 002C06B8 2C 00 00 00 */ cmpwi r0, 0 /* 802C4A5C 002C06BC 41 82 00 0C */ beq lbl_802C4A68 /* 802C4A60 002C06C0 38 60 00 02 */ li r3, 2 /* 802C4A64 002C06C4 48 00 00 A0 */ b lbl_802C4B04 lbl_802C4A68: /* 802C4A68 002C06C8 3B C3 00 34 */ addi r30, r3, 0x34 /* 802C4A6C 002C06CC 3B E0 00 00 */ li r31, 0 lbl_802C4A70: /* 802C4A70 002C06D0 88 1E 01 19 */ lbz r0, 0x119(r30) /* 802C4A74 002C06D4 2C 00 00 00 */ cmpwi r0, 0 /* 802C4A78 002C06D8 41 82 00 20 */ beq lbl_802C4A98 /* 802C4A7C 002C06DC 7F 84 E3 78 */ mr r4, r28 /* 802C4A80 002C06E0 38 7E 00 08 */ addi r3, r30, 8 /* 802C4A84 002C06E4 38 A0 00 06 */ li r5, 6 /* 802C4A88 002C06E8 4B F0 59 11 */ bl memcmp /* 802C4A8C 002C06EC 2C 03 00 00 */ cmpwi r3, 0 /* 802C4A90 002C06F0 40 82 00 08 */ bne lbl_802C4A98 /* 802C4A94 002C06F4 48 00 00 18 */ b lbl_802C4AAC lbl_802C4A98: /* 802C4A98 002C06F8 3B FF 00 01 */ addi r31, r31, 1 /* 802C4A9C 002C06FC 3B DE 01 1C */ addi r30, r30, 0x11c /* 802C4AA0 002C0700 28 1F 00 04 */ cmplwi r31, 4 /* 802C4AA4 002C0704 41 80 FF CC */ blt lbl_802C4A70 /* 802C4AA8 002C0708 3B C0 00 00 */ li r30, 0 lbl_802C4AAC: /* 802C4AAC 002C070C 2C 1E 00 00 */ cmpwi r30, 0 /* 802C4AB0 002C0710 41 82 00 50 */ beq lbl_802C4B00 /* 802C4AB4 002C0714 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802C4AB8 002C0718 38 80 00 09 */ li r4, 9 /* 802C4ABC 002C071C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802C4AC0 002C0720 38 A0 00 03 */ li r5, 3 /* 802C4AC4 002C0724 38 7F 05 C8 */ addi r3, r31, 0x5c8 /* 802C4AC8 002C0728 4B FF 8A 15 */ bl btu_start_timer /* 802C4ACC 002C072C 93 BF 05 E0 */ stw r29, 0x5e0(r31) /* 802C4AD0 002C0730 A0 7E 00 00 */ lhz r3, 0(r30) /* 802C4AD4 002C0734 48 00 D4 15 */ bl btsnd_hcic_read_rssi /* 802C4AD8 002C0738 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C4ADC 002C073C 40 82 00 1C */ bne lbl_802C4AF8 /* 802C4AE0 002C0740 38 00 00 00 */ li r0, 0 /* 802C4AE4 002C0744 38 7F 05 C8 */ addi r3, r31, 0x5c8 /* 802C4AE8 002C0748 90 1F 05 E0 */ stw r0, 0x5e0(r31) /* 802C4AEC 002C074C 4B FF 8A 61 */ bl btu_stop_timer /* 802C4AF0 002C0750 38 60 00 03 */ li r3, 3 /* 802C4AF4 002C0754 48 00 00 10 */ b lbl_802C4B04 lbl_802C4AF8: /* 802C4AF8 002C0758 38 60 00 01 */ li r3, 1 /* 802C4AFC 002C075C 48 00 00 08 */ b lbl_802C4B04 lbl_802C4B00: /* 802C4B00 002C0760 38 60 00 07 */ li r3, 7 lbl_802C4B04: /* 802C4B04 002C0764 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C4B08 002C0768 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C4B0C 002C076C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C4B10 002C0770 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C4B14 002C0774 83 81 00 10 */ lwz r28, 0x10(r1) /* 802C4B18 002C0778 7C 08 03 A6 */ mtlr r0 /* 802C4B1C 002C077C 38 21 00 20 */ addi r1, r1, 0x20 /* 802C4B20 002C0780 4E 80 00 20 */ blr .global BTM_ReadLinkQuality BTM_ReadLinkQuality: /* 802C4B24 002C0784 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C4B28 002C0788 7C 08 02 A6 */ mflr r0 /* 802C4B2C 002C078C 3C A0 80 57 */ lis r5, lbl_80568B78@ha /* 802C4B30 002C0790 90 01 00 24 */ stw r0, 0x24(r1) /* 802C4B34 002C0794 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l /* 802C4B38 002C0798 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C4B3C 002C079C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C4B40 002C07A0 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C4B44 002C07A4 7C 9D 23 78 */ mr r29, r4 /* 802C4B48 002C07A8 93 81 00 10 */ stw r28, 0x10(r1) /* 802C4B4C 002C07AC 7C 7C 1B 78 */ mr r28, r3 /* 802C4B50 002C07B0 88 05 27 C0 */ lbz r0, 0x27c0(r5) /* 802C4B54 002C07B4 28 00 00 03 */ cmplwi r0, 3 /* 802C4B58 002C07B8 41 80 00 30 */ blt lbl_802C4B88 /* 802C4B5C 002C07BC 3C 60 00 0D */ lis r3, 0x000D0002@ha /* 802C4B60 002C07C0 3C 80 80 44 */ lis r4, lbl_80440FA0@ha /* 802C4B64 002C07C4 88 BC 00 00 */ lbz r5, 0(r28) /* 802C4B68 002C07C8 38 63 00 02 */ addi r3, r3, 0x000D0002@l /* 802C4B6C 002C07CC 88 DC 00 01 */ lbz r6, 1(r28) /* 802C4B70 002C07D0 38 84 0F A0 */ addi r4, r4, lbl_80440FA0@l /* 802C4B74 002C07D4 88 FC 00 02 */ lbz r7, 2(r28) /* 802C4B78 002C07D8 89 1C 00 03 */ lbz r8, 3(r28) /* 802C4B7C 002C07DC 89 3C 00 04 */ lbz r9, 4(r28) /* 802C4B80 002C07E0 89 5C 00 05 */ lbz r10, 5(r28) /* 802C4B84 002C07E4 4B FF 84 1D */ bl LogMsg_6 lbl_802C4B88: /* 802C4B88 002C07E8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C4B8C 002C07EC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C4B90 002C07F0 80 03 05 FC */ lwz r0, 0x5fc(r3) /* 802C4B94 002C07F4 2C 00 00 00 */ cmpwi r0, 0 /* 802C4B98 002C07F8 41 82 00 0C */ beq lbl_802C4BA4 /* 802C4B9C 002C07FC 38 60 00 02 */ li r3, 2 /* 802C4BA0 002C0800 48 00 00 A0 */ b lbl_802C4C40 lbl_802C4BA4: /* 802C4BA4 002C0804 3B C3 00 34 */ addi r30, r3, 0x34 /* 802C4BA8 002C0808 3B E0 00 00 */ li r31, 0 lbl_802C4BAC: /* 802C4BAC 002C080C 88 1E 01 19 */ lbz r0, 0x119(r30) /* 802C4BB0 002C0810 2C 00 00 00 */ cmpwi r0, 0 /* 802C4BB4 002C0814 41 82 00 20 */ beq lbl_802C4BD4 /* 802C4BB8 002C0818 7F 84 E3 78 */ mr r4, r28 /* 802C4BBC 002C081C 38 7E 00 08 */ addi r3, r30, 8 /* 802C4BC0 002C0820 38 A0 00 06 */ li r5, 6 /* 802C4BC4 002C0824 4B F0 57 D5 */ bl memcmp /* 802C4BC8 002C0828 2C 03 00 00 */ cmpwi r3, 0 /* 802C4BCC 002C082C 40 82 00 08 */ bne lbl_802C4BD4 /* 802C4BD0 002C0830 48 00 00 18 */ b lbl_802C4BE8 lbl_802C4BD4: /* 802C4BD4 002C0834 3B FF 00 01 */ addi r31, r31, 1 /* 802C4BD8 002C0838 3B DE 01 1C */ addi r30, r30, 0x11c /* 802C4BDC 002C083C 28 1F 00 04 */ cmplwi r31, 4 /* 802C4BE0 002C0840 41 80 FF CC */ blt lbl_802C4BAC /* 802C4BE4 002C0844 3B C0 00 00 */ li r30, 0 lbl_802C4BE8: /* 802C4BE8 002C0848 2C 1E 00 00 */ cmpwi r30, 0 /* 802C4BEC 002C084C 41 82 00 50 */ beq lbl_802C4C3C /* 802C4BF0 002C0850 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802C4BF4 002C0854 38 80 00 09 */ li r4, 9 /* 802C4BF8 002C0858 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802C4BFC 002C085C 38 A0 00 03 */ li r5, 3 /* 802C4C00 002C0860 38 7F 05 E4 */ addi r3, r31, 0x5e4 /* 802C4C04 002C0864 4B FF 88 D9 */ bl btu_start_timer /* 802C4C08 002C0868 93 BF 05 FC */ stw r29, 0x5fc(r31) /* 802C4C0C 002C086C A0 7E 00 00 */ lhz r3, 0(r30) /* 802C4C10 002C0870 48 00 D2 5D */ bl btsnd_hcic_get_link_quality /* 802C4C14 002C0874 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C4C18 002C0878 40 82 00 1C */ bne lbl_802C4C34 /* 802C4C1C 002C087C 38 7F 05 E4 */ addi r3, r31, 0x5e4 /* 802C4C20 002C0880 4B FF 89 2D */ bl btu_stop_timer /* 802C4C24 002C0884 38 00 00 00 */ li r0, 0 /* 802C4C28 002C0888 38 60 00 03 */ li r3, 3 /* 802C4C2C 002C088C 90 1F 05 FC */ stw r0, 0x5fc(r31) /* 802C4C30 002C0890 48 00 00 10 */ b lbl_802C4C40 lbl_802C4C34: /* 802C4C34 002C0894 38 60 00 01 */ li r3, 1 /* 802C4C38 002C0898 48 00 00 08 */ b lbl_802C4C40 lbl_802C4C3C: /* 802C4C3C 002C089C 38 60 00 07 */ li r3, 7 lbl_802C4C40: /* 802C4C40 002C08A0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C4C44 002C08A4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C4C48 002C08A8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C4C4C 002C08AC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C4C50 002C08B0 83 81 00 10 */ lwz r28, 0x10(r1) /* 802C4C54 002C08B4 7C 08 03 A6 */ mtlr r0 /* 802C4C58 002C08B8 38 21 00 20 */ addi r1, r1, 0x20 /* 802C4C5C 002C08BC 4E 80 00 20 */ blr .global btm_read_rssi_complete btm_read_rssi_complete: /* 802C4C60 002C08C0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802C4C64 002C08C4 7C 08 02 A6 */ mflr r0 /* 802C4C68 002C08C8 90 01 00 34 */ stw r0, 0x34(r1) /* 802C4C6C 002C08CC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802C4C70 002C08D0 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802C4C74 002C08D4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802C4C78 002C08D8 93 C1 00 28 */ stw r30, 0x28(r1) /* 802C4C7C 002C08DC 93 A1 00 24 */ stw r29, 0x24(r1) /* 802C4C80 002C08E0 3B BF 00 34 */ addi r29, r31, 0x34 /* 802C4C84 002C08E4 93 81 00 20 */ stw r28, 0x20(r1) /* 802C4C88 002C08E8 7C 7C 1B 78 */ mr r28, r3 /* 802C4C8C 002C08EC 38 7F 05 C8 */ addi r3, r31, 0x5c8 /* 802C4C90 002C08F0 83 DF 05 E0 */ lwz r30, 0x5e0(r31) /* 802C4C94 002C08F4 4B FF 88 B9 */ bl btu_stop_timer /* 802C4C98 002C08F8 38 00 00 00 */ li r0, 0 /* 802C4C9C 002C08FC 2C 1E 00 00 */ cmpwi r30, 0 /* 802C4CA0 002C0900 90 1F 05 E0 */ stw r0, 0x5e0(r31) /* 802C4CA4 002C0904 41 82 00 B8 */ beq lbl_802C4D5C /* 802C4CA8 002C0908 88 DC 00 00 */ lbz r6, 0(r28) /* 802C4CAC 002C090C 2C 06 00 00 */ cmpwi r6, 0 /* 802C4CB0 002C0910 98 C1 00 09 */ stb r6, 9(r1) /* 802C4CB4 002C0914 40 82 00 90 */ bne lbl_802C4D44 /* 802C4CB8 002C0918 98 01 00 08 */ stb r0, 8(r1) /* 802C4CBC 002C091C 88 1F 27 C0 */ lbz r0, 0x27c0(r31) /* 802C4CC0 002C0920 88 7C 00 02 */ lbz r3, 2(r28) /* 802C4CC4 002C0924 88 9C 00 01 */ lbz r4, 1(r28) /* 802C4CC8 002C0928 28 00 00 04 */ cmplwi r0, 4 /* 802C4CCC 002C092C 88 BC 00 03 */ lbz r5, 3(r28) /* 802C4CD0 002C0930 54 60 40 2E */ slwi r0, r3, 8 /* 802C4CD4 002C0934 7C 04 02 14 */ add r0, r4, r0 /* 802C4CD8 002C0938 98 A1 00 0A */ stb r5, 0xa(r1) /* 802C4CDC 002C093C 54 1F 04 3E */ clrlwi r31, r0, 0x10 /* 802C4CE0 002C0940 41 80 00 1C */ blt lbl_802C4CFC /* 802C4CE4 002C0944 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802C4CE8 002C0948 3C 80 80 44 */ lis r4, lbl_80440FDC@ha /* 802C4CEC 002C094C 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802C4CF0 002C0950 7C A5 07 74 */ extsb r5, r5 /* 802C4CF4 002C0954 38 84 0F DC */ addi r4, r4, lbl_80440FDC@l /* 802C4CF8 002C0958 4B FF 82 49 */ bl LogMsg_2 lbl_802C4CFC: /* 802C4CFC 002C095C 38 00 00 04 */ li r0, 4 /* 802C4D00 002C0960 38 60 00 00 */ li r3, 0 /* 802C4D04 002C0964 7C 09 03 A6 */ mtctr r0 lbl_802C4D08: /* 802C4D08 002C0968 88 1D 01 19 */ lbz r0, 0x119(r29) /* 802C4D0C 002C096C 2C 00 00 00 */ cmpwi r0, 0 /* 802C4D10 002C0970 41 82 00 24 */ beq lbl_802C4D34 /* 802C4D14 002C0974 A0 1D 00 00 */ lhz r0, 0(r29) /* 802C4D18 002C0978 7C 1F 00 40 */ cmplw r31, r0 /* 802C4D1C 002C097C 40 82 00 18 */ bne lbl_802C4D34 /* 802C4D20 002C0980 38 61 00 0B */ addi r3, r1, 0xb /* 802C4D24 002C0984 38 9D 00 08 */ addi r4, r29, 8 /* 802C4D28 002C0988 38 A0 00 06 */ li r5, 6 /* 802C4D2C 002C098C 4B D3 F2 D5 */ bl memcpy /* 802C4D30 002C0990 48 00 00 1C */ b lbl_802C4D4C lbl_802C4D34: /* 802C4D34 002C0994 38 63 00 01 */ addi r3, r3, 1 /* 802C4D38 002C0998 3B BD 01 1C */ addi r29, r29, 0x11c /* 802C4D3C 002C099C 42 00 FF CC */ bdnz lbl_802C4D08 /* 802C4D40 002C09A0 48 00 00 0C */ b lbl_802C4D4C lbl_802C4D44: /* 802C4D44 002C09A4 38 00 00 0A */ li r0, 0xa /* 802C4D48 002C09A8 98 01 00 08 */ stb r0, 8(r1) lbl_802C4D4C: /* 802C4D4C 002C09AC 7F CC F3 78 */ mr r12, r30 /* 802C4D50 002C09B0 38 61 00 08 */ addi r3, r1, 8 /* 802C4D54 002C09B4 7D 89 03 A6 */ mtctr r12 /* 802C4D58 002C09B8 4E 80 04 21 */ bctrl lbl_802C4D5C: /* 802C4D5C 002C09BC 80 01 00 34 */ lwz r0, 0x34(r1) /* 802C4D60 002C09C0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802C4D64 002C09C4 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802C4D68 002C09C8 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802C4D6C 002C09CC 83 81 00 20 */ lwz r28, 0x20(r1) /* 802C4D70 002C09D0 7C 08 03 A6 */ mtlr r0 /* 802C4D74 002C09D4 38 21 00 30 */ addi r1, r1, 0x30 /* 802C4D78 002C09D8 4E 80 00 20 */ blr .global btm_read_link_quality_complete btm_read_link_quality_complete: /* 802C4D7C 002C09DC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802C4D80 002C09E0 7C 08 02 A6 */ mflr r0 /* 802C4D84 002C09E4 90 01 00 34 */ stw r0, 0x34(r1) /* 802C4D88 002C09E8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802C4D8C 002C09EC 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802C4D90 002C09F0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802C4D94 002C09F4 93 C1 00 28 */ stw r30, 0x28(r1) /* 802C4D98 002C09F8 93 A1 00 24 */ stw r29, 0x24(r1) /* 802C4D9C 002C09FC 3B BF 00 34 */ addi r29, r31, 0x34 /* 802C4DA0 002C0A00 93 81 00 20 */ stw r28, 0x20(r1) /* 802C4DA4 002C0A04 7C 7C 1B 78 */ mr r28, r3 /* 802C4DA8 002C0A08 38 7F 05 C8 */ addi r3, r31, 0x5c8 /* 802C4DAC 002C0A0C 83 DF 05 FC */ lwz r30, 0x5fc(r31) /* 802C4DB0 002C0A10 4B FF 87 9D */ bl btu_stop_timer /* 802C4DB4 002C0A14 38 00 00 00 */ li r0, 0 /* 802C4DB8 002C0A18 2C 1E 00 00 */ cmpwi r30, 0 /* 802C4DBC 002C0A1C 90 1F 05 FC */ stw r0, 0x5fc(r31) /* 802C4DC0 002C0A20 41 82 00 B4 */ beq lbl_802C4E74 /* 802C4DC4 002C0A24 88 DC 00 00 */ lbz r6, 0(r28) /* 802C4DC8 002C0A28 2C 06 00 00 */ cmpwi r6, 0 /* 802C4DCC 002C0A2C 98 C1 00 09 */ stb r6, 9(r1) /* 802C4DD0 002C0A30 40 82 00 8C */ bne lbl_802C4E5C /* 802C4DD4 002C0A34 98 01 00 08 */ stb r0, 8(r1) /* 802C4DD8 002C0A38 88 1F 27 C0 */ lbz r0, 0x27c0(r31) /* 802C4DDC 002C0A3C 88 7C 00 02 */ lbz r3, 2(r28) /* 802C4DE0 002C0A40 88 9C 00 01 */ lbz r4, 1(r28) /* 802C4DE4 002C0A44 28 00 00 04 */ cmplwi r0, 4 /* 802C4DE8 002C0A48 88 BC 00 03 */ lbz r5, 3(r28) /* 802C4DEC 002C0A4C 54 60 40 2E */ slwi r0, r3, 8 /* 802C4DF0 002C0A50 7C 04 02 14 */ add r0, r4, r0 /* 802C4DF4 002C0A54 98 A1 00 0A */ stb r5, 0xa(r1) /* 802C4DF8 002C0A58 54 1F 04 3E */ clrlwi r31, r0, 0x10 /* 802C4DFC 002C0A5C 41 80 00 18 */ blt lbl_802C4E14 /* 802C4E00 002C0A60 3C 60 00 0D */ lis r3, 0x000D0003@ha /* 802C4E04 002C0A64 3C 80 80 44 */ lis r4, lbl_8044100C@ha /* 802C4E08 002C0A68 38 63 00 03 */ addi r3, r3, 0x000D0003@l /* 802C4E0C 002C0A6C 38 84 10 0C */ addi r4, r4, lbl_8044100C@l /* 802C4E10 002C0A70 4B FF 81 31 */ bl LogMsg_2 lbl_802C4E14: /* 802C4E14 002C0A74 38 00 00 04 */ li r0, 4 /* 802C4E18 002C0A78 38 60 00 00 */ li r3, 0 /* 802C4E1C 002C0A7C 7C 09 03 A6 */ mtctr r0 lbl_802C4E20: /* 802C4E20 002C0A80 88 1D 01 19 */ lbz r0, 0x119(r29) /* 802C4E24 002C0A84 2C 00 00 00 */ cmpwi r0, 0 /* 802C4E28 002C0A88 41 82 00 24 */ beq lbl_802C4E4C /* 802C4E2C 002C0A8C A0 1D 00 00 */ lhz r0, 0(r29) /* 802C4E30 002C0A90 7C 1F 00 40 */ cmplw r31, r0 /* 802C4E34 002C0A94 40 82 00 18 */ bne lbl_802C4E4C /* 802C4E38 002C0A98 38 61 00 0B */ addi r3, r1, 0xb /* 802C4E3C 002C0A9C 38 9D 00 08 */ addi r4, r29, 8 /* 802C4E40 002C0AA0 38 A0 00 06 */ li r5, 6 /* 802C4E44 002C0AA4 4B D3 F1 BD */ bl memcpy /* 802C4E48 002C0AA8 48 00 00 1C */ b lbl_802C4E64 lbl_802C4E4C: /* 802C4E4C 002C0AAC 38 63 00 01 */ addi r3, r3, 1 /* 802C4E50 002C0AB0 3B BD 01 1C */ addi r29, r29, 0x11c /* 802C4E54 002C0AB4 42 00 FF CC */ bdnz lbl_802C4E20 /* 802C4E58 002C0AB8 48 00 00 0C */ b lbl_802C4E64 lbl_802C4E5C: /* 802C4E5C 002C0ABC 38 00 00 0A */ li r0, 0xa /* 802C4E60 002C0AC0 98 01 00 08 */ stb r0, 8(r1) lbl_802C4E64: /* 802C4E64 002C0AC4 7F CC F3 78 */ mr r12, r30 /* 802C4E68 002C0AC8 38 61 00 08 */ addi r3, r1, 8 /* 802C4E6C 002C0ACC 7D 89 03 A6 */ mtctr r12 /* 802C4E70 002C0AD0 4E 80 04 21 */ bctrl lbl_802C4E74: /* 802C4E74 002C0AD4 80 01 00 34 */ lwz r0, 0x34(r1) /* 802C4E78 002C0AD8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802C4E7C 002C0ADC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802C4E80 002C0AE0 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802C4E84 002C0AE4 83 81 00 20 */ lwz r28, 0x20(r1) /* 802C4E88 002C0AE8 7C 08 03 A6 */ mtlr r0 /* 802C4E8C 002C0AEC 38 21 00 30 */ addi r1, r1, 0x30 /* 802C4E90 002C0AF0 4E 80 00 20 */ blr .global btm_remove_acl btm_remove_acl: /* 802C4E94 002C0AF4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C4E98 002C0AF8 7C 08 02 A6 */ mflr r0 /* 802C4E9C 002C0AFC 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C4EA0 002C0B00 90 01 00 24 */ stw r0, 0x24(r1) /* 802C4EA4 002C0B04 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C4EA8 002C0B08 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C4EAC 002C0B0C 3B E0 00 00 */ li r31, 0 /* 802C4EB0 002C0B10 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C4EB4 002C0B14 3B C4 00 34 */ addi r30, r4, 0x34 /* 802C4EB8 002C0B18 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C4EBC 002C0B1C 7C 7D 1B 78 */ mr r29, r3 lbl_802C4EC0: /* 802C4EC0 002C0B20 88 1E 01 19 */ lbz r0, 0x119(r30) /* 802C4EC4 002C0B24 2C 00 00 00 */ cmpwi r0, 0 /* 802C4EC8 002C0B28 41 82 00 20 */ beq lbl_802C4EE8 /* 802C4ECC 002C0B2C 7F A4 EB 78 */ mr r4, r29 /* 802C4ED0 002C0B30 38 7E 00 08 */ addi r3, r30, 8 /* 802C4ED4 002C0B34 38 A0 00 06 */ li r5, 6 /* 802C4ED8 002C0B38 4B F0 54 C1 */ bl memcmp /* 802C4EDC 002C0B3C 2C 03 00 00 */ cmpwi r3, 0 /* 802C4EE0 002C0B40 40 82 00 08 */ bne lbl_802C4EE8 /* 802C4EE4 002C0B44 48 00 00 18 */ b lbl_802C4EFC lbl_802C4EE8: /* 802C4EE8 002C0B48 3B FF 00 01 */ addi r31, r31, 1 /* 802C4EEC 002C0B4C 3B DE 01 1C */ addi r30, r30, 0x11c /* 802C4EF0 002C0B50 28 1F 00 04 */ cmplwi r31, 4 /* 802C4EF4 002C0B54 41 80 FF CC */ blt lbl_802C4EC0 /* 802C4EF8 002C0B58 3B C0 00 00 */ li r30, 0 lbl_802C4EFC: /* 802C4EFC 002C0B5C 2C 1E 00 00 */ cmpwi r30, 0 /* 802C4F00 002C0B60 41 82 00 0C */ beq lbl_802C4F0C /* 802C4F04 002C0B64 A0 7E 00 00 */ lhz r3, 0(r30) /* 802C4F08 002C0B68 48 00 00 0C */ b lbl_802C4F14 lbl_802C4F0C: /* 802C4F0C 002C0B6C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 802C4F10 002C0B70 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l lbl_802C4F14: /* 802C4F14 002C0B74 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 802C4F18 002C0B78 38 80 00 13 */ li r4, 0x13 /* 802C4F1C 002C0B7C 48 00 B1 75 */ bl btsnd_hcic_disconnect /* 802C4F20 002C0B80 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C4F24 002C0B84 40 82 00 0C */ bne lbl_802C4F30 /* 802C4F28 002C0B88 38 60 00 03 */ li r3, 3 /* 802C4F2C 002C0B8C 48 00 00 08 */ b lbl_802C4F34 lbl_802C4F30: /* 802C4F30 002C0B90 38 60 00 00 */ li r3, 0 lbl_802C4F34: /* 802C4F34 002C0B94 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C4F38 002C0B98 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C4F3C 002C0B9C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C4F40 002C0BA0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C4F44 002C0BA4 7C 08 03 A6 */ mtlr r0 /* 802C4F48 002C0BA8 38 21 00 20 */ addi r1, r1, 0x20 /* 802C4F4C 002C0BAC 4E 80 00 20 */ blr .global btm_chg_all_acl_pkt_types btm_chg_all_acl_pkt_types: /* 802C4F50 002C0BB0 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802C4F54 002C0BB4 7C 08 02 A6 */ mflr r0 /* 802C4F58 002C0BB8 90 01 00 44 */ stw r0, 0x44(r1) /* 802C4F5C 002C0BBC 39 61 00 40 */ addi r11, r1, 0x40 /* 802C4F60 002C0BC0 4B F0 21 BD */ bl _savegpr_24 /* 802C4F64 002C0BC4 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C4F68 002C0BC8 2C 03 00 00 */ cmpwi r3, 0 /* 802C4F6C 002C0BCC 3B E4 8B 78 */ addi r31, r4, lbl_80568B78@l /* 802C4F70 002C0BD0 3F C0 80 44 */ lis r30, lbl_80440CC0@ha /* 802C4F74 002C0BD4 3B DE 0C C0 */ addi r30, r30, lbl_80440CC0@l /* 802C4F78 002C0BD8 3B 9F 00 34 */ addi r28, r31, 0x34 /* 802C4F7C 002C0BDC 41 82 00 C8 */ beq lbl_802C5044 /* 802C4F80 002C0BE0 3B A0 00 00 */ li r29, 0 /* 802C4F84 002C0BE4 3F 40 00 0D */ lis r26, 0xd /* 802C4F88 002C0BE8 3B 00 CC F9 */ li r24, -13063 lbl_802C4F8C: /* 802C4F8C 002C0BEC 88 1C 01 19 */ lbz r0, 0x119(r28) /* 802C4F90 002C0BF0 2C 00 00 00 */ cmpwi r0, 0 /* 802C4F94 002C0BF4 41 82 00 9C */ beq lbl_802C5030 /* 802C4F98 002C0BF8 88 1F 27 C0 */ lbz r0, 0x27c0(r31) /* 802C4F9C 002C0BFC 28 00 00 05 */ cmplwi r0, 5 /* 802C4FA0 002C0C00 41 80 00 14 */ blt lbl_802C4FB4 /* 802C4FA4 002C0C04 A0 BC 00 00 */ lhz r5, 0(r28) /* 802C4FA8 002C0C08 38 7A 00 04 */ addi r3, r26, 4 /* 802C4FAC 002C0C0C 38 9E 03 8C */ addi r4, r30, 0x38c /* 802C4FB0 002C0C10 4B FF 7F 79 */ bl LogMsg_1 lbl_802C4FB4: /* 802C4FB4 002C0C14 A0 1C 00 02 */ lhz r0, 2(r28) /* 802C4FB8 002C0C18 38 A0 00 18 */ li r5, 0x18 /* 802C4FBC 002C0C1C B0 1C 00 04 */ sth r0, 4(r28) /* 802C4FC0 002C0C20 88 7F 06 36 */ lbz r3, 0x636(r31) /* 802C4FC4 002C0C24 28 03 00 03 */ cmplwi r3, 3 /* 802C4FC8 002C0C28 41 80 00 0C */ blt lbl_802C4FD4 /* 802C4FCC 002C0C2C 60 A0 33 00 */ ori r0, r5, 0x3300 /* 802C4FD0 002C0C30 54 05 04 3E */ clrlwi r5, r0, 0x10 lbl_802C4FD4: /* 802C4FD4 002C0C34 A0 9F 06 54 */ lhz r4, 0x654(r31) /* 802C4FD8 002C0C38 28 83 00 03 */ cmplwi cr1, r3, 3 /* 802C4FDC 002C0C3C 7C A0 20 38 */ and r0, r5, r4 /* 802C4FE0 002C0C40 70 03 CC 18 */ andi. r3, r0, 0xcc18 /* 802C4FE4 002C0C44 7C 79 C0 38 */ and r25, r3, r24 /* 802C4FE8 002C0C48 41 84 00 14 */ blt cr1, lbl_802C4FFC /* 802C4FEC 002C0C4C 7C A0 23 78 */ or r0, r5, r4 /* 802C4FF0 002C0C50 70 00 33 06 */ andi. r0, r0, 0x3306 /* 802C4FF4 002C0C54 7C 60 03 78 */ or r0, r3, r0 /* 802C4FF8 002C0C58 54 19 04 3E */ clrlwi r25, r0, 0x10 lbl_802C4FFC: /* 802C4FFC 002C0C5C 88 1F 27 C0 */ lbz r0, 0x27c0(r31) /* 802C5000 002C0C60 28 00 00 04 */ cmplwi r0, 4 /* 802C5004 002C0C64 41 80 00 14 */ blt lbl_802C5018 /* 802C5008 002C0C68 38 7A 00 03 */ addi r3, r26, 3 /* 802C500C 002C0C6C 38 9E 00 40 */ addi r4, r30, 0x40 /* 802C5010 002C0C70 57 25 04 3E */ clrlwi r5, r25, 0x10 /* 802C5014 002C0C74 4B FF 7F 15 */ bl LogMsg_1 lbl_802C5018: /* 802C5018 002C0C78 A0 7C 00 00 */ lhz r3, 0(r28) /* 802C501C 002C0C7C 57 24 04 3E */ clrlwi r4, r25, 0x10 /* 802C5020 002C0C80 48 00 B7 05 */ bl btsnd_hcic_change_conn_type /* 802C5024 002C0C84 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C5028 002C0C88 41 82 00 08 */ beq lbl_802C5030 /* 802C502C 002C0C8C B3 3C 00 02 */ sth r25, 2(r28) lbl_802C5030: /* 802C5030 002C0C90 3B BD 00 01 */ addi r29, r29, 1 /* 802C5034 002C0C94 3B 9C 01 1C */ addi r28, r28, 0x11c /* 802C5038 002C0C98 28 1D 00 04 */ cmplwi r29, 4 /* 802C503C 002C0C9C 41 80 FF 50 */ blt lbl_802C4F8C /* 802C5040 002C0CA0 48 00 01 18 */ b lbl_802C5158 lbl_802C5044: /* 802C5044 002C0CA4 3B A0 00 00 */ li r29, 0 /* 802C5048 002C0CA8 3F 00 00 0D */ lis r24, 0xd /* 802C504C 002C0CAC 3B 20 00 00 */ li r25, 0 /* 802C5050 002C0CB0 3B 60 CC F9 */ li r27, -13063 lbl_802C5054: /* 802C5054 002C0CB4 88 1C 01 19 */ lbz r0, 0x119(r28) /* 802C5058 002C0CB8 2C 00 00 00 */ cmpwi r0, 0 /* 802C505C 002C0CBC 41 82 00 EC */ beq lbl_802C5148 /* 802C5060 002C0CC0 A0 1C 00 04 */ lhz r0, 4(r28) /* 802C5064 002C0CC4 2C 00 00 00 */ cmpwi r0, 0 /* 802C5068 002C0CC8 41 82 00 E0 */ beq lbl_802C5148 /* 802C506C 002C0CCC 38 7C 00 08 */ addi r3, r28, 8 /* 802C5070 002C0CD0 38 81 00 08 */ addi r4, r1, 8 /* 802C5074 002C0CD4 48 00 40 05 */ bl BTM_ReadPowerMode /* 802C5078 002C0CD8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C507C 002C0CDC 40 82 00 CC */ bne lbl_802C5148 /* 802C5080 002C0CE0 88 01 00 08 */ lbz r0, 8(r1) /* 802C5084 002C0CE4 28 00 00 02 */ cmplwi r0, 2 /* 802C5088 002C0CE8 40 82 00 38 */ bne lbl_802C50C0 /* 802C508C 002C0CEC 88 1F 27 C0 */ lbz r0, 0x27c0(r31) /* 802C5090 002C0CF0 28 00 00 05 */ cmplwi r0, 5 /* 802C5094 002C0CF4 41 80 00 14 */ blt lbl_802C50A8 /* 802C5098 002C0CF8 A0 BC 00 00 */ lhz r5, 0(r28) /* 802C509C 002C0CFC 38 78 00 04 */ addi r3, r24, 4 /* 802C50A0 002C0D00 38 9E 03 BC */ addi r4, r30, 0x3bc /* 802C50A4 002C0D04 4B FF 7E 85 */ bl LogMsg_1 lbl_802C50A8: /* 802C50A8 002C0D08 9B 21 00 14 */ stb r25, 0x14(r1) /* 802C50AC 002C0D0C 38 9C 00 08 */ addi r4, r28, 8 /* 802C50B0 002C0D10 38 A1 00 0C */ addi r5, r1, 0xc /* 802C50B4 002C0D14 38 60 00 80 */ li r3, 0x80 /* 802C50B8 002C0D18 48 00 3D F1 */ bl BTM_SetPowerMode /* 802C50BC 002C0D1C 48 00 00 8C */ b lbl_802C5148 lbl_802C50C0: /* 802C50C0 002C0D20 88 1F 27 C0 */ lbz r0, 0x27c0(r31) /* 802C50C4 002C0D24 28 00 00 05 */ cmplwi r0, 5 /* 802C50C8 002C0D28 41 80 00 18 */ blt lbl_802C50E0 /* 802C50CC 002C0D2C A0 BC 00 00 */ lhz r5, 0(r28) /* 802C50D0 002C0D30 38 78 00 04 */ addi r3, r24, 4 /* 802C50D4 002C0D34 A0 DC 00 02 */ lhz r6, 2(r28) /* 802C50D8 002C0D38 38 9E 03 EC */ addi r4, r30, 0x3ec /* 802C50DC 002C0D3C 4B FF 7E 65 */ bl LogMsg_2 lbl_802C50E0: /* 802C50E0 002C0D40 A0 9C 00 04 */ lhz r4, 4(r28) /* 802C50E4 002C0D44 A0 BF 06 54 */ lhz r5, 0x654(r31) /* 802C50E8 002C0D48 88 1F 06 36 */ lbz r0, 0x636(r31) /* 802C50EC 002C0D4C 7C 83 28 38 */ and r3, r4, r5 /* 802C50F0 002C0D50 70 63 CC 18 */ andi. r3, r3, 0xcc18 /* 802C50F4 002C0D54 28 00 00 03 */ cmplwi r0, 3 /* 802C50F8 002C0D58 7C 7A D8 38 */ and r26, r3, r27 /* 802C50FC 002C0D5C 41 80 00 14 */ blt lbl_802C5110 /* 802C5100 002C0D60 7C 80 2B 78 */ or r0, r4, r5 /* 802C5104 002C0D64 70 00 33 06 */ andi. r0, r0, 0x3306 /* 802C5108 002C0D68 7C 60 03 78 */ or r0, r3, r0 /* 802C510C 002C0D6C 54 1A 04 3E */ clrlwi r26, r0, 0x10 lbl_802C5110: /* 802C5110 002C0D70 88 1F 27 C0 */ lbz r0, 0x27c0(r31) /* 802C5114 002C0D74 28 00 00 04 */ cmplwi r0, 4 /* 802C5118 002C0D78 41 80 00 14 */ blt lbl_802C512C /* 802C511C 002C0D7C 38 78 00 03 */ addi r3, r24, 3 /* 802C5120 002C0D80 38 9E 00 40 */ addi r4, r30, 0x40 /* 802C5124 002C0D84 57 45 04 3E */ clrlwi r5, r26, 0x10 /* 802C5128 002C0D88 4B FF 7E 01 */ bl LogMsg_1 lbl_802C512C: /* 802C512C 002C0D8C A0 7C 00 00 */ lhz r3, 0(r28) /* 802C5130 002C0D90 57 44 04 3E */ clrlwi r4, r26, 0x10 /* 802C5134 002C0D94 48 00 B5 F1 */ bl btsnd_hcic_change_conn_type /* 802C5138 002C0D98 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C513C 002C0D9C 41 82 00 08 */ beq lbl_802C5144 /* 802C5140 002C0DA0 B3 5C 00 02 */ sth r26, 2(r28) lbl_802C5144: /* 802C5144 002C0DA4 B3 3C 00 04 */ sth r25, 4(r28) lbl_802C5148: /* 802C5148 002C0DA8 3B BD 00 01 */ addi r29, r29, 1 /* 802C514C 002C0DAC 3B 9C 01 1C */ addi r28, r28, 0x11c /* 802C5150 002C0DB0 28 1D 00 04 */ cmplwi r29, 4 /* 802C5154 002C0DB4 41 80 FF 00 */ blt lbl_802C5054 lbl_802C5158: /* 802C5158 002C0DB8 39 61 00 40 */ addi r11, r1, 0x40 /* 802C515C 002C0DBC 4B F0 20 0D */ bl _restgpr_24 /* 802C5160 002C0DC0 80 01 00 44 */ lwz r0, 0x44(r1) /* 802C5164 002C0DC4 7C 08 03 A6 */ mtlr r0 /* 802C5168 002C0DC8 38 21 00 40 */ addi r1, r1, 0x40 /* 802C516C 002C0DCC 4E 80 00 20 */ blr