donut-decomp/asm/bte/btm_acl_8007dde4.s

2325 lines
106 KiB
ArmAsm
Raw Normal View History

2022-10-16 16:05:58 +00:00
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
2022-10-16 16:31:36 +00:00
.global btm_acl_init
btm_acl_init:
/* 8007DDE4 00079C24 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007DDE8 00079C28 38 80 7D 00 */ li r4, 0x7d00
2022-10-16 16:31:36 +00:00
/* 8007DDEC 00079C2C 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007DDF0 00079C30 38 00 00 FF */ li r0, 0xff
/* 8007DDF4 00079C34 B0 83 04 C6 */ sth r4, 0x4c6(r3)
/* 8007DDF8 00079C38 98 03 27 BF */ stb r0, 0x27bf(r3)
/* 8007DDFC 00079C3C 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_handle_to_acl_index
btm_handle_to_acl_index:
/* 8007DE00 00079C40 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007DE04 00079C44 38 A0 00 00 */ li r5, 0x0
2022-10-16 16:31:36 +00:00
/* 8007DE08 00079C48 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007DE0C 00079C4C 88 04 01 4D */ lbz r0, 0x14d(r4)
/* 8007DE10 00079C50 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007DE14 00079C54 41 82 00 10 */ beq lbl_8007DE24
/* 8007DE18 00079C58 A0 04 00 34 */ lhz r0, 0x34(r4)
/* 8007DE1C 00079C5C 7C 00 18 40 */ cmplw r0, r3
/* 8007DE20 00079C60 41 82 00 5C */ beq lbl_8007DE7C
.global lbl_8007DE24
lbl_8007DE24:
/* 8007DE24 00079C64 88 04 02 69 */ lbz r0, 0x269(r4)
/* 8007DE28 00079C68 38 A0 00 01 */ li r5, 0x1
/* 8007DE2C 00079C6C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007DE30 00079C70 41 82 00 10 */ beq lbl_8007DE40
/* 8007DE34 00079C74 A0 04 01 50 */ lhz r0, 0x150(r4)
/* 8007DE38 00079C78 7C 00 18 40 */ cmplw r0, r3
/* 8007DE3C 00079C7C 41 82 00 40 */ beq lbl_8007DE7C
.global lbl_8007DE40
lbl_8007DE40:
/* 8007DE40 00079C80 88 04 03 85 */ lbz r0, 0x385(r4)
/* 8007DE44 00079C84 38 A0 00 02 */ li r5, 0x2
/* 8007DE48 00079C88 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007DE4C 00079C8C 41 82 00 10 */ beq lbl_8007DE5C
/* 8007DE50 00079C90 A0 04 02 6C */ lhz r0, 0x26c(r4)
/* 8007DE54 00079C94 7C 00 18 40 */ cmplw r0, r3
/* 8007DE58 00079C98 41 82 00 24 */ beq lbl_8007DE7C
.global lbl_8007DE5C
lbl_8007DE5C:
/* 8007DE5C 00079C9C 88 04 04 A1 */ lbz r0, 0x4a1(r4)
/* 8007DE60 00079CA0 38 A0 00 03 */ li r5, 0x3
/* 8007DE64 00079CA4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007DE68 00079CA8 41 82 00 10 */ beq lbl_8007DE78
/* 8007DE6C 00079CAC A0 04 03 88 */ lhz r0, 0x388(r4)
/* 8007DE70 00079CB0 7C 00 18 40 */ cmplw r0, r3
/* 8007DE74 00079CB4 41 82 00 08 */ beq lbl_8007DE7C
.global lbl_8007DE78
lbl_8007DE78:
/* 8007DE78 00079CB8 38 A0 00 04 */ li r5, 0x4
.global lbl_8007DE7C
lbl_8007DE7C:
/* 8007DE7C 00079CBC 7C A3 2B 78 */ mr r3, r5
/* 8007DE80 00079CC0 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_acl_created
btm_acl_created:
2022-10-16 16:05:58 +00:00
/* 8007DE84 00079CC4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8007DE88 00079CC8 7C 08 02 A6 */ mflr r0
/* 8007DE8C 00079CCC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8007DE90 00079CD0 39 61 00 30 */ addi r11, r1, 0x30
/* 8007DE94 00079CD4 4B F8 94 A1 */ bl lbl_80007334
2022-10-16 16:31:36 +00:00
/* 8007DE98 00079CD8 3D 00 80 4F */ lis r8, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007DE9C 00079CDC 7C 7E 1B 78 */ mr r30, r3
2022-10-16 16:31:36 +00:00
/* 8007DEA0 00079CE0 39 08 5F 58 */ addi r8, r8, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007DEA4 00079CE4 7C 99 23 78 */ mr r25, r4
/* 8007DEA8 00079CE8 7C BA 2B 78 */ mr r26, r5
/* 8007DEAC 00079CEC 7C DB 33 78 */ mr r27, r6
/* 8007DEB0 00079CF0 7C FC 3B 78 */ mr r28, r7
/* 8007DEB4 00079CF4 3B A8 00 34 */ addi r29, r8, 0x34
/* 8007DEB8 00079CF8 3B E0 00 00 */ li r31, 0x0
.global lbl_8007DEBC
lbl_8007DEBC:
/* 8007DEBC 00079CFC 88 1D 01 19 */ lbz r0, 0x119(r29)
/* 8007DEC0 00079D00 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007DEC4 00079D04 41 82 00 20 */ beq lbl_8007DEE4
/* 8007DEC8 00079D08 7F C4 F3 78 */ mr r4, r30
/* 8007DECC 00079D0C 38 7D 00 08 */ addi r3, r29, 0x8
/* 8007DED0 00079D10 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007DED4 00079D14 4B F8 CF 9D */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007DED8 00079D18 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007DEDC 00079D1C 40 82 00 08 */ bne lbl_8007DEE4
/* 8007DEE0 00079D20 48 00 00 18 */ b lbl_8007DEF8
.global lbl_8007DEE4
lbl_8007DEE4:
/* 8007DEE4 00079D24 3B FF 00 01 */ addi r31, r31, 0x1
/* 8007DEE8 00079D28 3B BD 01 1C */ addi r29, r29, 0x11c
/* 8007DEEC 00079D2C 28 1F 00 04 */ cmplwi r31, 0x4
/* 8007DEF0 00079D30 41 80 FF CC */ blt lbl_8007DEBC
/* 8007DEF4 00079D34 3B A0 00 00 */ li r29, 0x0
.global lbl_8007DEF8
lbl_8007DEF8:
/* 8007DEF8 00079D38 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8007DEFC 00079D3C 41 82 00 50 */ beq lbl_8007DF4C
/* 8007DF00 00079D40 B3 7D 00 00 */ sth r27, 0x0(r29)
2022-10-16 16:31:36 +00:00
/* 8007DF04 00079D44 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007DF08 00079D48 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007DF0C 00079D4C 9B 9D 01 1A */ stb r28, 0x11a(r29)
/* 8007DF10 00079D50 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007DF14 00079D54 28 00 00 04 */ cmplwi r0, 0x4
/* 8007DF18 00079D58 41 80 02 68 */ blt lbl_8007E180
/* 8007DF1C 00079D5C 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007DF20 00079D60 3C 80 80 44 */ lis r4, "@2591_8043B6B0"@ha
2022-10-16 16:05:58 +00:00
/* 8007DF24 00079D64 88 BE 00 00 */ lbz r5, 0x0(r30)
/* 8007DF28 00079D68 38 63 00 03 */ addi r3, r3, 0x3
/* 8007DF2C 00079D6C 88 DE 00 01 */ lbz r6, 0x1(r30)
2022-10-16 16:31:36 +00:00
/* 8007DF30 00079D70 38 84 B6 B0 */ addi r4, r4, "@2591_8043B6B0"@l
2022-10-16 16:05:58 +00:00
/* 8007DF34 00079D74 88 FE 00 02 */ lbz r7, 0x2(r30)
/* 8007DF38 00079D78 89 1E 00 03 */ lbz r8, 0x3(r30)
/* 8007DF3C 00079D7C 89 3E 00 04 */ lbz r9, 0x4(r30)
/* 8007DF40 00079D80 89 5E 00 05 */ lbz r10, 0x5(r30)
2022-10-16 16:31:36 +00:00
/* 8007DF44 00079D84 4B FF 9A 1D */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
/* 8007DF48 00079D88 48 00 02 38 */ b lbl_8007E180
.global lbl_8007DF4C
lbl_8007DF4C:
2022-10-16 16:31:36 +00:00
/* 8007DF4C 00079D8C 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007DF50 00079D90 38 00 00 04 */ li r0, 0x4
2022-10-16 16:31:36 +00:00
/* 8007DF54 00079D94 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007DF58 00079D98 38 80 00 00 */ li r4, 0x0
/* 8007DF5C 00079D9C 3B E3 00 34 */ addi r31, r3, 0x34
/* 8007DF60 00079DA0 7C 09 03 A6 */ mtctr r0
.global lbl_8007DF64
lbl_8007DF64:
/* 8007DF64 00079DA4 88 1F 01 19 */ lbz r0, 0x119(r31)
/* 8007DF68 00079DA8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007DF6C 00079DAC 40 82 02 08 */ bne lbl_8007E174
/* 8007DF70 00079DB0 38 60 00 01 */ li r3, 0x1
/* 8007DF74 00079DB4 38 00 00 00 */ li r0, 0x0
/* 8007DF78 00079DB8 98 7F 01 19 */ stb r3, 0x119(r31)
/* 8007DF7C 00079DBC 54 83 06 3E */ clrlwi r3, r4, 24
/* 8007DF80 00079DC0 B3 7F 00 00 */ sth r27, 0x0(r31)
/* 8007DF84 00079DC4 9B 9F 01 1A */ stb r28, 0x11a(r31)
/* 8007DF88 00079DC8 B0 1F 00 04 */ sth r0, 0x4(r31)
2022-10-16 16:31:36 +00:00
/* 8007DF8C 00079DCC 48 00 5B CD */ bl btm_pm_sm_alloc
2022-10-16 16:05:58 +00:00
/* 8007DF90 00079DD0 7F C4 F3 78 */ mr r4, r30
/* 8007DF94 00079DD4 38 7F 00 08 */ addi r3, r31, 0x8
/* 8007DF98 00079DD8 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007DF9C 00079DDC 4B F8 60 65 */ bl memcpy
2022-10-16 16:05:58 +00:00
/* 8007DFA0 00079DE0 2C 19 00 00 */ cmpwi r25, 0x0
/* 8007DFA4 00079DE4 41 82 00 14 */ beq lbl_8007DFB8
/* 8007DFA8 00079DE8 7F 24 CB 78 */ mr r4, r25
/* 8007DFAC 00079DEC 38 7F 00 0E */ addi r3, r31, 0xe
/* 8007DFB0 00079DF0 38 A0 00 03 */ li r5, 0x3
2022-10-16 16:31:36 +00:00
/* 8007DFB4 00079DF4 4B F8 60 4D */ bl memcpy
2022-10-16 16:05:58 +00:00
.global lbl_8007DFB8
lbl_8007DFB8:
/* 8007DFB8 00079DF8 2C 1A 00 00 */ cmpwi r26, 0x0
/* 8007DFBC 00079DFC 41 82 00 14 */ beq lbl_8007DFD0
/* 8007DFC0 00079E00 7F 44 D3 78 */ mr r4, r26
/* 8007DFC4 00079E04 38 7F 00 11 */ addi r3, r31, 0x11
/* 8007DFC8 00079E08 38 A0 00 F8 */ li r5, 0xf8
2022-10-16 16:31:36 +00:00
/* 8007DFCC 00079E0C 4B F8 60 35 */ bl memcpy
2022-10-16 16:05:58 +00:00
.global lbl_8007DFD0
lbl_8007DFD0:
/* 8007DFD0 00079E10 A0 7F 00 00 */ lhz r3, 0x0(r31)
2022-10-16 16:31:36 +00:00
/* 8007DFD4 00079E14 48 00 D5 09 */ bl btsnd_hcic_read_rmt_clk_offset
2022-10-16 16:05:58 +00:00
/* 8007DFD8 00079E18 A0 7F 00 00 */ lhz r3, 0x0(r31)
2022-10-16 16:31:36 +00:00
/* 8007DFDC 00079E1C 48 00 D4 85 */ bl btsnd_hcic_rmt_ver_req
2022-10-16 16:05:58 +00:00
/* 8007DFE0 00079E20 7F 63 DB 78 */ mr r3, r27
2022-10-16 16:31:36 +00:00
/* 8007DFE4 00079E24 48 00 1F 39 */ bl btm_find_dev_by_handle
2022-10-16 16:05:58 +00:00
/* 8007DFE8 00079E28 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007DFEC 00079E2C 7C 65 1B 78 */ mr r5, r3
/* 8007DFF0 00079E30 41 82 01 78 */ beq lbl_8007E168
/* 8007DFF4 00079E34 38 00 00 08 */ li r0, 0x8
/* 8007DFF8 00079E38 38 C0 00 00 */ li r6, 0x0
/* 8007DFFC 00079E3C 7C 09 03 A6 */ mtctr r0
.global lbl_8007E000
lbl_8007E000:
/* 8007E000 00079E40 54 C0 06 3E */ clrlwi r0, r6, 24
/* 8007E004 00079E44 7C 83 02 14 */ add r4, r3, r0
/* 8007E008 00079E48 88 04 00 77 */ lbz r0, 0x77(r4)
/* 8007E00C 00079E4C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E010 00079E50 41 82 01 50 */ beq lbl_8007E160
/* 8007E014 00079E54 38 85 00 77 */ addi r4, r5, 0x77
/* 8007E018 00079E58 38 7F 01 10 */ addi r3, r31, 0x110
/* 8007E01C 00079E5C 38 A0 00 08 */ li r5, 0x8
2022-10-16 16:31:36 +00:00
/* 8007E020 00079E60 4B F8 5F E1 */ bl memcpy
/* 8007E024 00079E64 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E028 00079E68 38 00 CC F9 */ li r0, -0x3307
2022-10-16 16:31:36 +00:00
/* 8007E02C 00079E6C 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E030 00079E70 A0 A3 06 54 */ lhz r5, 0x654(r3)
/* 8007E034 00079E74 88 63 06 36 */ lbz r3, 0x636(r3)
/* 8007E038 00079E78 70 A4 CC 18 */ andi. r4, r5, 0xcc18
/* 8007E03C 00079E7C 28 03 00 03 */ cmplwi r3, 0x3
/* 8007E040 00079E80 7C 9E 00 38 */ and r30, r4, r0
/* 8007E044 00079E84 41 80 00 10 */ blt lbl_8007E054
/* 8007E048 00079E88 70 A0 33 06 */ andi. r0, r5, 0x3306
/* 8007E04C 00079E8C 7C 80 03 78 */ or r0, r4, r0
/* 8007E050 00079E90 54 1E 04 3E */ clrlwi r30, r0, 16
.global lbl_8007E054
lbl_8007E054:
2022-10-16 16:31:36 +00:00
/* 8007E054 00079E94 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007E058 00079E98 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E05C 00079E9C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007E060 00079EA0 28 00 00 04 */ cmplwi r0, 0x4
/* 8007E064 00079EA4 41 80 00 1C */ blt lbl_8007E080
/* 8007E068 00079EA8 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007E06C 00079EAC 3C 80 80 44 */ lis r4, "@2592_8043B6F0"@ha
2022-10-16 16:05:58 +00:00
/* 8007E070 00079EB0 38 63 00 03 */ addi r3, r3, 0x3
/* 8007E074 00079EB4 57 C5 04 3E */ clrlwi r5, r30, 16
2022-10-16 16:31:36 +00:00
/* 8007E078 00079EB8 38 84 B6 F0 */ addi r4, r4, "@2592_8043B6F0"@l
/* 8007E07C 00079EBC 4B FF 98 E5 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007E080
lbl_8007E080:
/* 8007E080 00079EC0 A0 7F 00 00 */ lhz r3, 0x0(r31)
/* 8007E084 00079EC4 57 C4 04 3E */ clrlwi r4, r30, 16
2022-10-16 16:31:36 +00:00
/* 8007E088 00079EC8 48 00 D0 4D */ bl btsnd_hcic_change_conn_type
2022-10-16 16:05:58 +00:00
/* 8007E08C 00079ECC 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007E090 00079ED0 41 82 00 08 */ beq lbl_8007E098
/* 8007E094 00079ED4 B3 DF 00 02 */ sth r30, 0x2(r31)
.global lbl_8007E098
lbl_8007E098:
2022-10-16 16:31:36 +00:00
/* 8007E098 00079ED8 3C 80 80 4F */ lis r4, btm_cb@ha
/* 8007E09C 00079EDC 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E0A0 00079EE0 A0 04 04 C4 */ lhz r0, 0x4c4(r4)
/* 8007E0A4 00079EE4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E0A8 00079EE8 41 82 00 10 */ beq lbl_8007E0B8
/* 8007E0AC 00079EEC 38 7F 00 08 */ addi r3, r31, 0x8
/* 8007E0B0 00079EF0 38 84 04 C4 */ addi r4, r4, 0x4c4
2022-10-16 16:31:36 +00:00
/* 8007E0B4 00079EF4 48 00 05 99 */ bl BTM_SetLinkPolicy
2022-10-16 16:05:58 +00:00
.global lbl_8007E0B8
lbl_8007E0B8:
2022-10-16 16:31:36 +00:00
/* 8007E0B8 00079EF8 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E0BC 00079EFC 3B A0 00 00 */ li r29, 0x0
2022-10-16 16:31:36 +00:00
/* 8007E0C0 00079F00 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E0C4 00079F04 A3 83 04 C6 */ lhz r28, 0x4c6(r3)
/* 8007E0C8 00079F08 3B C3 00 34 */ addi r30, r3, 0x34
.global lbl_8007E0CC
lbl_8007E0CC:
/* 8007E0CC 00079F0C 88 1E 01 19 */ lbz r0, 0x119(r30)
/* 8007E0D0 00079F10 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E0D4 00079F14 41 82 00 20 */ beq lbl_8007E0F4
/* 8007E0D8 00079F18 38 7E 00 08 */ addi r3, r30, 0x8
/* 8007E0DC 00079F1C 38 9F 00 08 */ addi r4, r31, 0x8
/* 8007E0E0 00079F20 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007E0E4 00079F24 4B F8 CD 8D */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007E0E8 00079F28 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007E0EC 00079F2C 40 82 00 08 */ bne lbl_8007E0F4
/* 8007E0F0 00079F30 48 00 00 18 */ b lbl_8007E108
.global lbl_8007E0F4
lbl_8007E0F4:
/* 8007E0F4 00079F34 3B BD 00 01 */ addi r29, r29, 0x1
/* 8007E0F8 00079F38 3B DE 01 1C */ addi r30, r30, 0x11c
/* 8007E0FC 00079F3C 28 1D 00 04 */ cmplwi r29, 0x4
/* 8007E100 00079F40 41 80 FF CC */ blt lbl_8007E0CC
/* 8007E104 00079F44 3B C0 00 00 */ li r30, 0x0
.global lbl_8007E108
lbl_8007E108:
/* 8007E108 00079F48 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007E10C 00079F4C 41 82 00 20 */ beq lbl_8007E12C
/* 8007E110 00079F50 B3 9E 01 0E */ sth r28, 0x10e(r30)
/* 8007E114 00079F54 88 1E 01 1A */ lbz r0, 0x11a(r30)
/* 8007E118 00079F58 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E11C 00079F5C 40 82 00 10 */ bne lbl_8007E12C
/* 8007E120 00079F60 A0 7E 00 00 */ lhz r3, 0x0(r30)
/* 8007E124 00079F64 7F 84 E3 78 */ mr r4, r28
2022-10-16 16:31:36 +00:00
/* 8007E128 00079F68 48 00 E4 AD */ bl btsnd_hcic_write_link_super_tout
2022-10-16 16:05:58 +00:00
.global lbl_8007E12C
lbl_8007E12C:
2022-10-16 16:31:36 +00:00
/* 8007E12C 00079F6C 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007E130 00079F70 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E134 00079F74 81 83 04 C8 */ lwz r12, 0x4c8(r3)
/* 8007E138 00079F78 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8007E13C 00079F7C 41 82 00 44 */ beq lbl_8007E180
/* 8007E140 00079F80 38 7F 00 08 */ addi r3, r31, 0x8
/* 8007E144 00079F84 38 9F 00 0E */ addi r4, r31, 0xe
/* 8007E148 00079F88 38 BF 00 11 */ addi r5, r31, 0x11
/* 8007E14C 00079F8C 38 DF 01 10 */ addi r6, r31, 0x110
/* 8007E150 00079F90 38 E0 00 01 */ li r7, 0x1
/* 8007E154 00079F94 7D 89 03 A6 */ mtctr r12
/* 8007E158 00079F98 4E 80 04 21 */ bctrl
/* 8007E15C 00079F9C 48 00 00 24 */ b lbl_8007E180
.global lbl_8007E160
lbl_8007E160:
/* 8007E160 00079FA0 38 C6 00 01 */ addi r6, r6, 0x1
/* 8007E164 00079FA4 42 00 FE 9C */ bdnz lbl_8007E000
.global lbl_8007E168
lbl_8007E168:
/* 8007E168 00079FA8 A0 7F 00 00 */ lhz r3, 0x0(r31)
2022-10-16 16:31:36 +00:00
/* 8007E16C 00079FAC 48 00 D2 79 */ bl btsnd_hcic_rmt_features_req
2022-10-16 16:05:58 +00:00
/* 8007E170 00079FB0 48 00 00 10 */ b lbl_8007E180
.global lbl_8007E174
lbl_8007E174:
/* 8007E174 00079FB4 38 84 00 01 */ addi r4, r4, 0x1
/* 8007E178 00079FB8 3B FF 01 1C */ addi r31, r31, 0x11c
/* 8007E17C 00079FBC 42 00 FD E8 */ bdnz lbl_8007DF64
.global lbl_8007E180
lbl_8007E180:
/* 8007E180 00079FC0 39 61 00 30 */ addi r11, r1, 0x30
/* 8007E184 00079FC4 4B F8 91 FD */ bl lbl_80007380
/* 8007E188 00079FC8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8007E18C 00079FCC 7C 08 03 A6 */ mtlr r0
/* 8007E190 00079FD0 38 21 00 30 */ addi r1, r1, 0x30
/* 8007E194 00079FD4 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_acl_removed
btm_acl_removed:
2022-10-16 16:05:58 +00:00
/* 8007E198 00079FD8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007E19C 00079FDC 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8007E1A0 00079FE0 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E1A4 00079FE4 90 01 00 24 */ stw r0, 0x24(r1)
2022-10-16 16:31:36 +00:00
/* 8007E1A8 00079FE8 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E1AC 00079FEC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007E1B0 00079FF0 3B E0 00 00 */ li r31, 0x0
/* 8007E1B4 00079FF4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8007E1B8 00079FF8 3B C4 00 34 */ addi r30, r4, 0x34
/* 8007E1BC 00079FFC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007E1C0 0007A000 7C 7D 1B 78 */ mr r29, r3
.global lbl_8007E1C4
lbl_8007E1C4:
/* 8007E1C4 0007A004 88 1E 01 19 */ lbz r0, 0x119(r30)
/* 8007E1C8 0007A008 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E1CC 0007A00C 41 82 00 20 */ beq lbl_8007E1EC
/* 8007E1D0 0007A010 7F A4 EB 78 */ mr r4, r29
/* 8007E1D4 0007A014 38 7E 00 08 */ addi r3, r30, 0x8
/* 8007E1D8 0007A018 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007E1DC 0007A01C 4B F8 CC 95 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007E1E0 0007A020 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007E1E4 0007A024 40 82 00 08 */ bne lbl_8007E1EC
/* 8007E1E8 0007A028 48 00 00 18 */ b lbl_8007E200
.global lbl_8007E1EC
lbl_8007E1EC:
/* 8007E1EC 0007A02C 3B FF 00 01 */ addi r31, r31, 0x1
/* 8007E1F0 0007A030 3B DE 01 1C */ addi r30, r30, 0x11c
/* 8007E1F4 0007A034 28 1F 00 04 */ cmplwi r31, 0x4
/* 8007E1F8 0007A038 41 80 FF CC */ blt lbl_8007E1C4
/* 8007E1FC 0007A03C 3B C0 00 00 */ li r30, 0x0
.global lbl_8007E200
lbl_8007E200:
/* 8007E200 0007A040 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007E204 0007A044 41 82 00 3C */ beq lbl_8007E240
/* 8007E208 0007A048 38 00 00 00 */ li r0, 0x0
2022-10-16 16:31:36 +00:00
/* 8007E20C 0007A04C 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E210 0007A050 98 1E 01 19 */ stb r0, 0x119(r30)
2022-10-16 16:31:36 +00:00
/* 8007E214 0007A054 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E218 0007A058 81 83 04 C8 */ lwz r12, 0x4c8(r3)
/* 8007E21C 0007A05C 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8007E220 0007A060 41 82 00 20 */ beq lbl_8007E240
/* 8007E224 0007A064 7F A3 EB 78 */ mr r3, r29
/* 8007E228 0007A068 38 80 00 00 */ li r4, 0x0
/* 8007E22C 0007A06C 38 A0 00 00 */ li r5, 0x0
/* 8007E230 0007A070 38 C0 00 00 */ li r6, 0x0
/* 8007E234 0007A074 38 E0 00 00 */ li r7, 0x0
/* 8007E238 0007A078 7D 89 03 A6 */ mtctr r12
/* 8007E23C 0007A07C 4E 80 04 21 */ bctrl
.global lbl_8007E240
lbl_8007E240:
/* 8007E240 0007A080 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007E244 0007A084 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007E248 0007A088 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007E24C 0007A08C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007E250 0007A090 7C 08 03 A6 */ mtlr r0
/* 8007E254 0007A094 38 21 00 20 */ addi r1, r1, 0x20
/* 8007E258 0007A098 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_acl_device_down
btm_acl_device_down:
2022-10-16 16:05:58 +00:00
/* 8007E25C 0007A09C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8007E260 0007A0A0 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8007E264 0007A0A4 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E268 0007A0A8 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 8007E26C 0007A0AC 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E270 0007A0B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8007E274 0007A0B4 3B E3 00 34 */ addi r31, r3, 0x34
/* 8007E278 0007A0B8 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8007E27C 0007A0BC 3B C0 00 00 */ li r30, 0x0
.global lbl_8007E280
lbl_8007E280:
/* 8007E280 0007A0C0 88 1F 01 19 */ lbz r0, 0x119(r31)
/* 8007E284 0007A0C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E288 0007A0C8 41 82 00 10 */ beq lbl_8007E298
/* 8007E28C 0007A0CC A0 7F 00 00 */ lhz r3, 0x0(r31)
/* 8007E290 0007A0D0 38 80 00 03 */ li r4, 0x3
2022-10-16 16:31:36 +00:00
/* 8007E294 0007A0D4 48 01 44 31 */ bl l2c_link_hci_disc_comp
2022-10-16 16:05:58 +00:00
.global lbl_8007E298
lbl_8007E298:
/* 8007E298 0007A0D8 3B DE 00 01 */ addi r30, r30, 0x1
/* 8007E29C 0007A0DC 3B FF 01 1C */ addi r31, r31, 0x11c
/* 8007E2A0 0007A0E0 28 1E 00 04 */ cmplwi r30, 0x4
/* 8007E2A4 0007A0E4 41 80 FF DC */ blt lbl_8007E280
/* 8007E2A8 0007A0E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8007E2AC 0007A0EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8007E2B0 0007A0F0 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8007E2B4 0007A0F4 7C 08 03 A6 */ mtlr r0
/* 8007E2B8 0007A0F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8007E2BC 0007A0FC 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_SwitchRole
BTM_SwitchRole:
2022-10-16 16:05:58 +00:00
/* 8007E2C0 0007A100 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8007E2C4 0007A104 7C 08 02 A6 */ mflr r0
/* 8007E2C8 0007A108 90 01 00 34 */ stw r0, 0x34(r1)
/* 8007E2CC 0007A10C 39 61 00 30 */ addi r11, r1, 0x30
/* 8007E2D0 0007A110 4B F8 90 6D */ bl lbl_8000733C
2022-10-16 16:31:36 +00:00
/* 8007E2D4 0007A114 3C C0 80 4F */ lis r6, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E2D8 0007A118 7C 7C 1B 78 */ mr r28, r3
2022-10-16 16:31:36 +00:00
/* 8007E2DC 0007A11C 38 C6 5F 58 */ addi r6, r6, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E2E0 0007A120 7C 9D 23 78 */ mr r29, r4
/* 8007E2E4 0007A124 88 06 06 40 */ lbz r0, 0x640(r6)
/* 8007E2E8 0007A128 7C BE 2B 78 */ mr r30, r5
/* 8007E2EC 0007A12C 54 00 06 B5 */ rlwinm. r0, r0, 0, 26, 26
/* 8007E2F0 0007A130 40 82 00 0C */ bne lbl_8007E2FC
/* 8007E2F4 0007A134 38 60 00 04 */ li r3, 0x4
/* 8007E2F8 0007A138 48 00 01 CC */ b lbl_8007E4C4
.global lbl_8007E2FC
lbl_8007E2FC:
/* 8007E2FC 0007A13C 3B E6 00 34 */ addi r31, r6, 0x34
/* 8007E300 0007A140 3B 60 00 00 */ li r27, 0x0
.global lbl_8007E304
lbl_8007E304:
/* 8007E304 0007A144 88 1F 01 19 */ lbz r0, 0x119(r31)
/* 8007E308 0007A148 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E30C 0007A14C 41 82 00 20 */ beq lbl_8007E32C
/* 8007E310 0007A150 7F 84 E3 78 */ mr r4, r28
/* 8007E314 0007A154 38 7F 00 08 */ addi r3, r31, 0x8
/* 8007E318 0007A158 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007E31C 0007A15C 4B F8 CB 55 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007E320 0007A160 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007E324 0007A164 40 82 00 08 */ bne lbl_8007E32C
/* 8007E328 0007A168 48 00 00 18 */ b lbl_8007E340
.global lbl_8007E32C
lbl_8007E32C:
/* 8007E32C 0007A16C 3B 7B 00 01 */ addi r27, r27, 0x1
/* 8007E330 0007A170 3B FF 01 1C */ addi r31, r31, 0x11c
/* 8007E334 0007A174 28 1B 00 04 */ cmplwi r27, 0x4
/* 8007E338 0007A178 41 80 FF CC */ blt lbl_8007E304
/* 8007E33C 0007A17C 3B E0 00 00 */ li r31, 0x0
.global lbl_8007E340
lbl_8007E340:
/* 8007E340 0007A180 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8007E344 0007A184 40 82 00 0C */ bne lbl_8007E350
/* 8007E348 0007A188 38 60 00 07 */ li r3, 0x7
/* 8007E34C 0007A18C 48 00 01 78 */ b lbl_8007E4C4
.global lbl_8007E350
lbl_8007E350:
/* 8007E350 0007A190 88 1F 01 1A */ lbz r0, 0x11a(r31)
/* 8007E354 0007A194 7C 00 E8 40 */ cmplw r0, r29
/* 8007E358 0007A198 40 82 00 0C */ bne lbl_8007E364
/* 8007E35C 0007A19C 38 60 00 00 */ li r3, 0x0
/* 8007E360 0007A1A0 48 00 01 64 */ b lbl_8007E4C4
.global lbl_8007E364
lbl_8007E364:
/* 8007E364 0007A1A4 7F 83 E3 78 */ mr r3, r28
2022-10-16 16:31:36 +00:00
/* 8007E368 0007A1A8 48 00 6E 79 */ bl btm_is_sco_active_by_bdaddr
2022-10-16 16:05:58 +00:00
/* 8007E36C 0007A1AC 54 60 06 3E */ clrlwi r0, r3, 24
/* 8007E370 0007A1B0 28 00 00 01 */ cmplwi r0, 0x1
/* 8007E374 0007A1B4 40 82 00 0C */ bne lbl_8007E380
/* 8007E378 0007A1B8 38 60 00 03 */ li r3, 0x3
/* 8007E37C 0007A1BC 48 00 01 48 */ b lbl_8007E4C4
.global lbl_8007E380
lbl_8007E380:
/* 8007E380 0007A1C0 88 1F 01 1B */ lbz r0, 0x11b(r31)
/* 8007E384 0007A1C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E388 0007A1C8 41 82 00 34 */ beq lbl_8007E3BC
2022-10-16 16:31:36 +00:00
/* 8007E38C 0007A1CC 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007E390 0007A1D0 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E394 0007A1D4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007E398 0007A1D8 28 00 00 05 */ cmplwi r0, 0x5
/* 8007E39C 0007A1DC 41 80 00 18 */ blt lbl_8007E3B4
/* 8007E3A0 0007A1E0 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007E3A4 0007A1E4 3C 80 80 44 */ lis r4, "@2642"@ha
2022-10-16 16:05:58 +00:00
/* 8007E3A8 0007A1E8 38 63 00 04 */ addi r3, r3, 0x4
2022-10-16 16:31:36 +00:00
/* 8007E3AC 0007A1EC 38 84 B7 10 */ addi r4, r4, "@2642"@l
/* 8007E3B0 0007A1F0 4B FF 95 B1 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007E3B4
lbl_8007E3B4:
/* 8007E3B4 0007A1F4 38 60 00 02 */ li r3, 0x2
/* 8007E3B8 0007A1F8 48 00 01 0C */ b lbl_8007E4C4
.global lbl_8007E3BC
lbl_8007E3BC:
2022-10-16 16:31:36 +00:00
/* 8007E3BC 0007A1FC 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E3C0 0007A200 38 80 00 00 */ li r4, 0x0
2022-10-16 16:31:36 +00:00
/* 8007E3C4 0007A204 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E3C8 0007A208 38 A0 00 08 */ li r5, 0x8
/* 8007E3CC 0007A20C 38 63 06 24 */ addi r3, r3, 0x624
2022-10-16 16:31:36 +00:00
/* 8007E3D0 0007A210 4B F8 5F 81 */ bl memset
2022-10-16 16:05:58 +00:00
/* 8007E3D4 0007A214 38 7F 00 08 */ addi r3, r31, 0x8
/* 8007E3D8 0007A218 38 81 00 08 */ addi r4, r1, 0x8
2022-10-16 16:31:36 +00:00
/* 8007E3DC 0007A21C 48 00 56 4D */ bl BTM_ReadPowerMode
2022-10-16 16:05:58 +00:00
/* 8007E3E0 0007A220 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007E3E4 0007A224 41 82 00 08 */ beq lbl_8007E3EC
/* 8007E3E8 0007A228 48 00 00 DC */ b lbl_8007E4C4
.global lbl_8007E3EC
lbl_8007E3EC:
/* 8007E3EC 0007A22C 88 61 00 08 */ lbz r3, 0x8(r1)
/* 8007E3F0 0007A230 38 03 00 FE */ addi r0, r3, 0xfe
/* 8007E3F4 0007A234 54 00 06 3E */ clrlwi r0, r0, 24
/* 8007E3F8 0007A238 28 00 00 01 */ cmplwi r0, 0x1
/* 8007E3FC 0007A23C 41 81 00 3C */ bgt lbl_8007E438
/* 8007E400 0007A240 38 00 00 00 */ li r0, 0x0
/* 8007E404 0007A244 38 9F 00 08 */ addi r4, r31, 0x8
/* 8007E408 0007A248 98 01 00 14 */ stb r0, 0x14(r1)
/* 8007E40C 0007A24C 38 A1 00 0C */ addi r5, r1, 0xc
/* 8007E410 0007A250 38 60 00 80 */ li r3, 0x80
2022-10-16 16:31:36 +00:00
/* 8007E414 0007A254 48 00 54 45 */ bl BTM_SetPowerMode
2022-10-16 16:05:58 +00:00
/* 8007E418 0007A258 54 60 06 3E */ clrlwi r0, r3, 24
/* 8007E41C 0007A25C 28 00 00 01 */ cmplwi r0, 0x1
/* 8007E420 0007A260 41 82 00 0C */ beq lbl_8007E42C
/* 8007E424 0007A264 38 60 00 06 */ li r3, 0x6
/* 8007E428 0007A268 48 00 00 9C */ b lbl_8007E4C4
.global lbl_8007E42C
lbl_8007E42C:
/* 8007E42C 0007A26C 38 00 00 01 */ li r0, 0x1
/* 8007E430 0007A270 98 1F 01 1B */ stb r0, 0x11b(r31)
/* 8007E434 0007A274 48 00 00 6C */ b lbl_8007E4A0
.global lbl_8007E438
lbl_8007E438:
/* 8007E438 0007A278 7F 83 E3 78 */ mr r3, r28
2022-10-16 16:31:36 +00:00
/* 8007E43C 0007A27C 48 00 1B 99 */ bl btm_find_dev
2022-10-16 16:05:58 +00:00
/* 8007E440 0007A280 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007E444 0007A284 41 82 00 38 */ beq lbl_8007E47C
/* 8007E448 0007A288 88 03 00 76 */ lbz r0, 0x76(r3)
/* 8007E44C 0007A28C 54 00 07 7B */ rlwinm. r0, r0, 0, 29, 29
/* 8007E450 0007A290 41 82 00 2C */ beq lbl_8007E47C
/* 8007E454 0007A294 A0 7F 00 00 */ lhz r3, 0x0(r31)
/* 8007E458 0007A298 38 80 00 00 */ li r4, 0x0
2022-10-16 16:31:36 +00:00
/* 8007E45C 0007A29C 48 00 CD 85 */ bl btsnd_hcic_set_conn_encrypt
2022-10-16 16:05:58 +00:00
/* 8007E460 0007A2A0 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007E464 0007A2A4 40 82 00 0C */ bne lbl_8007E470
/* 8007E468 0007A2A8 38 60 00 03 */ li r3, 0x3
/* 8007E46C 0007A2AC 48 00 00 58 */ b lbl_8007E4C4
.global lbl_8007E470
lbl_8007E470:
/* 8007E470 0007A2B0 38 00 00 02 */ li r0, 0x2
/* 8007E474 0007A2B4 98 1F 01 1B */ stb r0, 0x11b(r31)
/* 8007E478 0007A2B8 48 00 00 28 */ b lbl_8007E4A0
.global lbl_8007E47C
lbl_8007E47C:
/* 8007E47C 0007A2BC 7F 83 E3 78 */ mr r3, r28
/* 8007E480 0007A2C0 7F A4 EB 78 */ mr r4, r29
2022-10-16 16:31:36 +00:00
/* 8007E484 0007A2C4 48 00 D6 55 */ bl btsnd_hcic_switch_role
2022-10-16 16:05:58 +00:00
/* 8007E488 0007A2C8 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007E48C 0007A2CC 40 82 00 0C */ bne lbl_8007E498
/* 8007E490 0007A2D0 38 60 00 03 */ li r3, 0x3
/* 8007E494 0007A2D4 48 00 00 30 */ b lbl_8007E4C4
.global lbl_8007E498
lbl_8007E498:
/* 8007E498 0007A2D8 38 00 00 05 */ li r0, 0x5
/* 8007E49C 0007A2DC 98 1F 01 1B */ stb r0, 0x11b(r31)
.global lbl_8007E4A0
lbl_8007E4A0:
2022-10-16 16:31:36 +00:00
/* 8007E4A0 0007A2E0 3F E0 80 4F */ lis r31, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E4A4 0007A2E4 7F 84 E3 78 */ mr r4, r28
2022-10-16 16:31:36 +00:00
/* 8007E4A8 0007A2E8 3B FF 5F 58 */ addi r31, r31, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E4AC 0007A2EC 38 A0 00 06 */ li r5, 0x6
/* 8007E4B0 0007A2F0 38 7F 06 26 */ addi r3, r31, 0x626
2022-10-16 16:31:36 +00:00
/* 8007E4B4 0007A2F4 4B F8 5B 4D */ bl memcpy
2022-10-16 16:05:58 +00:00
/* 8007E4B8 0007A2F8 9B BF 06 25 */ stb r29, 0x625(r31)
/* 8007E4BC 0007A2FC 38 60 00 01 */ li r3, 0x1
/* 8007E4C0 0007A300 93 DF 06 2C */ stw r30, 0x62c(r31)
.global lbl_8007E4C4
lbl_8007E4C4:
/* 8007E4C4 0007A304 39 61 00 30 */ addi r11, r1, 0x30
/* 8007E4C8 0007A308 4B F8 8E C1 */ bl lbl_80007388
/* 8007E4CC 0007A30C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8007E4D0 0007A310 7C 08 03 A6 */ mtlr r0
/* 8007E4D4 0007A314 38 21 00 30 */ addi r1, r1, 0x30
/* 8007E4D8 0007A318 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_acl_encrypt_change
btm_acl_encrypt_change:
2022-10-16 16:05:58 +00:00
/* 8007E4DC 0007A31C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007E4E0 0007A320 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8007E4E4 0007A324 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E4E8 0007A328 38 C0 00 00 */ li r6, 0x0
/* 8007E4EC 0007A32C 90 01 00 24 */ stw r0, 0x24(r1)
2022-10-16 16:31:36 +00:00
/* 8007E4F0 0007A330 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E4F4 0007A334 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007E4F8 0007A338 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8007E4FC 0007A33C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007E500 0007A340 88 04 01 4D */ lbz r0, 0x14d(r4)
/* 8007E504 0007A344 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E508 0007A348 41 82 00 10 */ beq lbl_8007E518
/* 8007E50C 0007A34C A0 04 00 34 */ lhz r0, 0x34(r4)
/* 8007E510 0007A350 7C 00 18 40 */ cmplw r0, r3
/* 8007E514 0007A354 41 82 00 5C */ beq lbl_8007E570
.global lbl_8007E518
lbl_8007E518:
/* 8007E518 0007A358 88 04 02 69 */ lbz r0, 0x269(r4)
/* 8007E51C 0007A35C 38 C0 00 01 */ li r6, 0x1
/* 8007E520 0007A360 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E524 0007A364 41 82 00 10 */ beq lbl_8007E534
/* 8007E528 0007A368 A0 04 01 50 */ lhz r0, 0x150(r4)
/* 8007E52C 0007A36C 7C 00 18 40 */ cmplw r0, r3
/* 8007E530 0007A370 41 82 00 40 */ beq lbl_8007E570
.global lbl_8007E534
lbl_8007E534:
/* 8007E534 0007A374 88 04 03 85 */ lbz r0, 0x385(r4)
/* 8007E538 0007A378 38 C0 00 02 */ li r6, 0x2
/* 8007E53C 0007A37C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E540 0007A380 41 82 00 10 */ beq lbl_8007E550
/* 8007E544 0007A384 A0 04 02 6C */ lhz r0, 0x26c(r4)
/* 8007E548 0007A388 7C 00 18 40 */ cmplw r0, r3
/* 8007E54C 0007A38C 41 82 00 24 */ beq lbl_8007E570
.global lbl_8007E550
lbl_8007E550:
/* 8007E550 0007A390 88 04 04 A1 */ lbz r0, 0x4a1(r4)
/* 8007E554 0007A394 38 C0 00 03 */ li r6, 0x3
/* 8007E558 0007A398 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E55C 0007A39C 41 82 00 10 */ beq lbl_8007E56C
/* 8007E560 0007A3A0 A0 04 03 88 */ lhz r0, 0x388(r4)
/* 8007E564 0007A3A4 7C 00 18 40 */ cmplw r0, r3
/* 8007E568 0007A3A8 41 82 00 08 */ beq lbl_8007E570
.global lbl_8007E56C
lbl_8007E56C:
/* 8007E56C 0007A3AC 38 C0 00 04 */ li r6, 0x4
.global lbl_8007E570
lbl_8007E570:
/* 8007E570 0007A3B0 28 06 00 04 */ cmplwi r6, 0x4
/* 8007E574 0007A3B4 40 80 00 BC */ bge lbl_8007E630
/* 8007E578 0007A3B8 1C 06 01 1C */ mulli r0, r6, 0x11c
2022-10-16 16:31:36 +00:00
/* 8007E57C 0007A3BC 3F C0 80 4F */ lis r30, btm_cb@ha
/* 8007E580 0007A3C0 3B DE 5F 58 */ addi r30, r30, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E584 0007A3C4 7F BE 02 14 */ add r29, r30, r0
/* 8007E588 0007A3C8 48 00 00 08 */ b lbl_8007E590
/* 8007E58C 0007A3CC 48 00 00 A4 */ b lbl_8007E630
.global lbl_8007E590
lbl_8007E590:
/* 8007E590 0007A3D0 88 1D 01 4F */ lbz r0, 0x14f(r29)
/* 8007E594 0007A3D4 28 00 00 02 */ cmplwi r0, 0x2
/* 8007E598 0007A3D8 40 82 00 6C */ bne lbl_8007E604
/* 8007E59C 0007A3DC 2C 05 00 00 */ cmpwi r5, 0x0
/* 8007E5A0 0007A3E0 41 82 00 10 */ beq lbl_8007E5B0
/* 8007E5A4 0007A3E4 38 00 00 00 */ li r0, 0x0
/* 8007E5A8 0007A3E8 98 1D 01 4F */ stb r0, 0x14f(r29)
/* 8007E5AC 0007A3EC 48 00 00 0C */ b lbl_8007E5B8
.global lbl_8007E5B0
lbl_8007E5B0:
/* 8007E5B0 0007A3F0 38 00 00 03 */ li r0, 0x3
/* 8007E5B4 0007A3F4 98 1D 01 4F */ stb r0, 0x14f(r29)
.global lbl_8007E5B8
lbl_8007E5B8:
/* 8007E5B8 0007A3F8 88 1D 01 4E */ lbz r0, 0x14e(r29)
/* 8007E5BC 0007A3FC 38 7D 00 3C */ addi r3, r29, 0x3c
/* 8007E5C0 0007A400 7C 00 00 34 */ cntlzw r0, r0
/* 8007E5C4 0007A404 54 04 DE 3E */ extrwi r4, r0, 8, 19
2022-10-16 16:31:36 +00:00
/* 8007E5C8 0007A408 48 00 D5 11 */ bl btsnd_hcic_switch_role
2022-10-16 16:05:58 +00:00
/* 8007E5CC 0007A40C 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007E5D0 0007A410 40 82 00 60 */ bne lbl_8007E630
/* 8007E5D4 0007A414 3B C0 00 00 */ li r30, 0x0
2022-10-16 16:31:36 +00:00
/* 8007E5D8 0007A418 3F E0 80 4F */ lis r31, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E5DC 0007A41C 9B DD 01 4F */ stb r30, 0x14f(r29)
2022-10-16 16:31:36 +00:00
/* 8007E5E0 0007A420 3B FF 5F 58 */ addi r31, r31, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E5E4 0007A424 81 9F 06 2C */ lwz r12, 0x62c(r31)
/* 8007E5E8 0007A428 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8007E5EC 0007A42C 41 82 00 44 */ beq lbl_8007E630
/* 8007E5F0 0007A430 38 7F 06 24 */ addi r3, r31, 0x624
/* 8007E5F4 0007A434 7D 89 03 A6 */ mtctr r12
/* 8007E5F8 0007A438 4E 80 04 21 */ bctrl
/* 8007E5FC 0007A43C 93 DF 06 2C */ stw r30, 0x62c(r31)
/* 8007E600 0007A440 48 00 00 30 */ b lbl_8007E630
.global lbl_8007E604
lbl_8007E604:
/* 8007E604 0007A444 28 00 00 04 */ cmplwi r0, 0x4
/* 8007E608 0007A448 40 82 00 28 */ bne lbl_8007E630
/* 8007E60C 0007A44C 3B E0 00 00 */ li r31, 0x0
/* 8007E610 0007A450 9B FD 01 4F */ stb r31, 0x14f(r29)
/* 8007E614 0007A454 81 9E 06 2C */ lwz r12, 0x62c(r30)
/* 8007E618 0007A458 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8007E61C 0007A45C 41 82 00 14 */ beq lbl_8007E630
/* 8007E620 0007A460 38 7E 06 24 */ addi r3, r30, 0x624
/* 8007E624 0007A464 7D 89 03 A6 */ mtctr r12
/* 8007E628 0007A468 4E 80 04 21 */ bctrl
/* 8007E62C 0007A46C 93 FE 06 2C */ stw r31, 0x62c(r30)
.global lbl_8007E630
lbl_8007E630:
/* 8007E630 0007A470 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007E634 0007A474 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007E638 0007A478 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007E63C 0007A47C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007E640 0007A480 7C 08 03 A6 */ mtlr r0
/* 8007E644 0007A484 38 21 00 20 */ addi r1, r1, 0x20
/* 8007E648 0007A488 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_SetLinkPolicy
BTM_SetLinkPolicy:
2022-10-16 16:05:58 +00:00
/* 8007E64C 0007A48C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007E650 0007A490 7C 08 02 A6 */ mflr r0
/* 8007E654 0007A494 90 01 00 24 */ stw r0, 0x24(r1)
/* 8007E658 0007A498 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007E65C 0007A49C 93 C1 00 18 */ stw r30, 0x18(r1)
2022-10-16 16:31:36 +00:00
/* 8007E660 0007A4A0 3F C0 80 44 */ lis r30, "@2591_8043B6B0"@ha
/* 8007E664 0007A4A4 3B DE B6 B0 */ addi r30, r30, "@2591_8043B6B0"@l
2022-10-16 16:05:58 +00:00
/* 8007E668 0007A4A8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007E66C 0007A4AC 7C 9D 23 78 */ mr r29, r4
/* 8007E670 0007A4B0 93 81 00 10 */ stw r28, 0x10(r1)
/* 8007E674 0007A4B4 7C 7C 1B 78 */ mr r28, r3
2022-10-16 16:31:36 +00:00
/* 8007E678 0007A4B8 48 00 2C A1 */ bl BTM_ReadLocalFeatures
2022-10-16 16:05:58 +00:00
/* 8007E67C 0007A4BC A0 9D 00 00 */ lhz r4, 0x0(r29)
/* 8007E680 0007A4C0 7C 7F 1B 78 */ mr r31, r3
/* 8007E684 0007A4C4 2C 04 00 00 */ cmpwi r4, 0x0
/* 8007E688 0007A4C8 41 82 01 1C */ beq lbl_8007E7A4
/* 8007E68C 0007A4CC 54 80 07 FF */ clrlwi. r0, r4, 31
/* 8007E690 0007A4D0 41 82 00 3C */ beq lbl_8007E6CC
/* 8007E694 0007A4D4 88 03 00 00 */ lbz r0, 0x0(r3)
/* 8007E698 0007A4D8 54 00 06 B5 */ rlwinm. r0, r0, 0, 26, 26
/* 8007E69C 0007A4DC 40 82 00 30 */ bne lbl_8007E6CC
/* 8007E6A0 0007A4E0 54 85 04 3C */ rlwinm r5, r4, 0, 16, 30
2022-10-16 16:31:36 +00:00
/* 8007E6A4 0007A4E4 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E6A8 0007A4E8 B0 BD 00 00 */ sth r5, 0x0(r29)
2022-10-16 16:31:36 +00:00
/* 8007E6AC 0007A4EC 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E6B0 0007A4F0 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007E6B4 0007A4F4 28 00 00 03 */ cmplwi r0, 0x3
/* 8007E6B8 0007A4F8 41 80 00 14 */ blt lbl_8007E6CC
/* 8007E6BC 0007A4FC 3C 60 00 0D */ lis r3, 0xd
/* 8007E6C0 0007A500 38 9E 00 BC */ addi r4, r30, 0xbc
/* 8007E6C4 0007A504 38 63 00 02 */ addi r3, r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8007E6C8 0007A508 4B FF 92 99 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007E6CC
lbl_8007E6CC:
/* 8007E6CC 0007A50C A0 7D 00 00 */ lhz r3, 0x0(r29)
/* 8007E6D0 0007A510 54 60 07 BD */ rlwinm. r0, r3, 0, 30, 30
/* 8007E6D4 0007A514 41 82 00 40 */ beq lbl_8007E714
/* 8007E6D8 0007A518 88 1F 00 00 */ lbz r0, 0x0(r31)
/* 8007E6DC 0007A51C 54 00 06 73 */ rlwinm. r0, r0, 0, 25, 25
/* 8007E6E0 0007A520 40 82 00 34 */ bne lbl_8007E714
/* 8007E6E4 0007A524 54 65 07 FA */ rlwinm r5, r3, 0, 31, 29
2022-10-16 16:31:36 +00:00
/* 8007E6E8 0007A528 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E6EC 0007A52C B0 BD 00 00 */ sth r5, 0x0(r29)
2022-10-16 16:31:36 +00:00
/* 8007E6F0 0007A530 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E6F4 0007A534 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007E6F8 0007A538 28 00 00 03 */ cmplwi r0, 0x3
/* 8007E6FC 0007A53C 41 80 00 18 */ blt lbl_8007E714
/* 8007E700 0007A540 3C 60 00 0D */ lis r3, 0xd
/* 8007E704 0007A544 38 9E 00 F8 */ addi r4, r30, 0xf8
/* 8007E708 0007A548 38 63 00 02 */ addi r3, r3, 0x2
/* 8007E70C 0007A54C 54 A5 04 3E */ clrlwi r5, r5, 16
2022-10-16 16:31:36 +00:00
/* 8007E710 0007A550 4B FF 92 51 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007E714
lbl_8007E714:
/* 8007E714 0007A554 A0 7D 00 00 */ lhz r3, 0x0(r29)
/* 8007E718 0007A558 54 60 07 7B */ rlwinm. r0, r3, 0, 29, 29
/* 8007E71C 0007A55C 41 82 00 40 */ beq lbl_8007E75C
/* 8007E720 0007A560 88 1F 00 00 */ lbz r0, 0x0(r31)
/* 8007E724 0007A564 54 00 06 31 */ rlwinm. r0, r0, 0, 24, 24
/* 8007E728 0007A568 40 82 00 34 */ bne lbl_8007E75C
/* 8007E72C 0007A56C 54 65 07 B8 */ rlwinm r5, r3, 0, 30, 28
2022-10-16 16:31:36 +00:00
/* 8007E730 0007A570 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E734 0007A574 B0 BD 00 00 */ sth r5, 0x0(r29)
2022-10-16 16:31:36 +00:00
/* 8007E738 0007A578 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E73C 0007A57C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007E740 0007A580 28 00 00 03 */ cmplwi r0, 0x3
/* 8007E744 0007A584 41 80 00 18 */ blt lbl_8007E75C
/* 8007E748 0007A588 3C 60 00 0D */ lis r3, 0xd
/* 8007E74C 0007A58C 38 9E 01 30 */ addi r4, r30, 0x130
/* 8007E750 0007A590 38 63 00 02 */ addi r3, r3, 0x2
/* 8007E754 0007A594 54 A5 04 3E */ clrlwi r5, r5, 16
2022-10-16 16:31:36 +00:00
/* 8007E758 0007A598 4B FF 92 09 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007E75C
lbl_8007E75C:
/* 8007E75C 0007A59C A0 7D 00 00 */ lhz r3, 0x0(r29)
/* 8007E760 0007A5A0 54 60 07 39 */ rlwinm. r0, r3, 0, 28, 28
/* 8007E764 0007A5A4 41 82 00 40 */ beq lbl_8007E7A4
/* 8007E768 0007A5A8 88 1F 00 01 */ lbz r0, 0x1(r31)
/* 8007E76C 0007A5AC 54 00 07 FF */ clrlwi. r0, r0, 31
/* 8007E770 0007A5B0 40 82 00 34 */ bne lbl_8007E7A4
/* 8007E774 0007A5B4 54 65 07 76 */ rlwinm r5, r3, 0, 29, 27
2022-10-16 16:31:36 +00:00
/* 8007E778 0007A5B8 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E77C 0007A5BC B0 BD 00 00 */ sth r5, 0x0(r29)
2022-10-16 16:31:36 +00:00
/* 8007E780 0007A5C0 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E784 0007A5C4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007E788 0007A5C8 28 00 00 03 */ cmplwi r0, 0x3
/* 8007E78C 0007A5CC 41 80 00 18 */ blt lbl_8007E7A4
/* 8007E790 0007A5D0 3C 60 00 0D */ lis r3, 0xd
/* 8007E794 0007A5D4 38 9E 01 70 */ addi r4, r30, 0x170
/* 8007E798 0007A5D8 38 63 00 02 */ addi r3, r3, 0x2
/* 8007E79C 0007A5DC 54 A5 04 3E */ clrlwi r5, r5, 16
2022-10-16 16:31:36 +00:00
/* 8007E7A0 0007A5E0 4B FF 91 C1 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007E7A4
lbl_8007E7A4:
2022-10-16 16:31:36 +00:00
/* 8007E7A4 0007A5E4 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E7A8 0007A5E8 3B C0 00 00 */ li r30, 0x0
2022-10-16 16:31:36 +00:00
/* 8007E7AC 0007A5EC 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E7B0 0007A5F0 3B E3 00 34 */ addi r31, r3, 0x34
.global lbl_8007E7B4
lbl_8007E7B4:
/* 8007E7B4 0007A5F4 88 1F 01 19 */ lbz r0, 0x119(r31)
/* 8007E7B8 0007A5F8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E7BC 0007A5FC 41 82 00 20 */ beq lbl_8007E7DC
/* 8007E7C0 0007A600 7F 84 E3 78 */ mr r4, r28
/* 8007E7C4 0007A604 38 7F 00 08 */ addi r3, r31, 0x8
/* 8007E7C8 0007A608 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007E7CC 0007A60C 4B F8 C6 A5 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007E7D0 0007A610 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007E7D4 0007A614 40 82 00 08 */ bne lbl_8007E7DC
/* 8007E7D8 0007A618 48 00 00 18 */ b lbl_8007E7F0
.global lbl_8007E7DC
lbl_8007E7DC:
/* 8007E7DC 0007A61C 3B DE 00 01 */ addi r30, r30, 0x1
/* 8007E7E0 0007A620 3B FF 01 1C */ addi r31, r31, 0x11c
/* 8007E7E4 0007A624 28 1E 00 04 */ cmplwi r30, 0x4
/* 8007E7E8 0007A628 41 80 FF CC */ blt lbl_8007E7B4
/* 8007E7EC 0007A62C 3B E0 00 00 */ li r31, 0x0
.global lbl_8007E7F0
lbl_8007E7F0:
/* 8007E7F0 0007A630 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8007E7F4 0007A634 41 82 00 24 */ beq lbl_8007E818
/* 8007E7F8 0007A638 A0 7F 00 00 */ lhz r3, 0x0(r31)
/* 8007E7FC 0007A63C A0 9D 00 00 */ lhz r4, 0x0(r29)
2022-10-16 16:31:36 +00:00
/* 8007E800 0007A640 48 00 D3 89 */ bl btsnd_hcic_write_policy_set
2022-10-16 16:05:58 +00:00
/* 8007E804 0007A644 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007E808 0007A648 38 60 00 03 */ li r3, 0x3
/* 8007E80C 0007A64C 41 82 00 10 */ beq lbl_8007E81C
/* 8007E810 0007A650 38 60 00 01 */ li r3, 0x1
/* 8007E814 0007A654 48 00 00 08 */ b lbl_8007E81C
.global lbl_8007E818
lbl_8007E818:
/* 8007E818 0007A658 38 60 00 07 */ li r3, 0x7
.global lbl_8007E81C
lbl_8007E81C:
/* 8007E81C 0007A65C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007E820 0007A660 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007E824 0007A664 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007E828 0007A668 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007E82C 0007A66C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8007E830 0007A670 7C 08 03 A6 */ mtlr r0
/* 8007E834 0007A674 38 21 00 20 */ addi r1, r1, 0x20
/* 8007E838 0007A678 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_SetDefaultLinkPolicy
BTM_SetDefaultLinkPolicy:
/* 8007E83C 0007A67C 3C 80 80 4F */ lis r4, btm_cb@ha
/* 8007E840 0007A680 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E844 0007A684 B0 64 04 C4 */ sth r3, 0x4c4(r4)
/* 8007E848 0007A688 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_read_link_policy_complete
btm_read_link_policy_complete:
2022-10-16 16:05:58 +00:00
/* 8007E84C 0007A68C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8007E850 0007A690 7C 08 02 A6 */ mflr r0
/* 8007E854 0007A694 90 01 00 34 */ stw r0, 0x34(r1)
/* 8007E858 0007A698 93 E1 00 2C */ stw r31, 0x2c(r1)
2022-10-16 16:31:36 +00:00
/* 8007E85C 0007A69C 3F E0 80 4F */ lis r31, btm_cb@ha
/* 8007E860 0007A6A0 3B FF 5F 58 */ addi r31, r31, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E864 0007A6A4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8007E868 0007A6A8 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8007E86C 0007A6AC 3B BF 00 34 */ addi r29, r31, 0x34
/* 8007E870 0007A6B0 93 81 00 20 */ stw r28, 0x20(r1)
/* 8007E874 0007A6B4 7C 7C 1B 78 */ mr r28, r3
/* 8007E878 0007A6B8 38 7F 05 AC */ addi r3, r31, 0x5ac
/* 8007E87C 0007A6BC 83 DF 05 C4 */ lwz r30, 0x5c4(r31)
2022-10-16 16:31:36 +00:00
/* 8007E880 0007A6C0 4B FF 96 A1 */ bl btu_stop_timer
2022-10-16 16:05:58 +00:00
/* 8007E884 0007A6C4 38 60 00 00 */ li r3, 0x0
/* 8007E888 0007A6C8 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007E88C 0007A6CC 90 7F 05 C4 */ stw r3, 0x5c4(r31)
/* 8007E890 0007A6D0 41 82 00 A0 */ beq lbl_8007E930
/* 8007E894 0007A6D4 88 1C 00 00 */ lbz r0, 0x0(r28)
/* 8007E898 0007A6D8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E89C 0007A6DC 98 01 00 09 */ stb r0, 0x9(r1)
/* 8007E8A0 0007A6E0 40 82 00 78 */ bne lbl_8007E918
/* 8007E8A4 0007A6E4 98 61 00 08 */ stb r3, 0x8(r1)
/* 8007E8A8 0007A6E8 38 00 00 04 */ li r0, 0x4
/* 8007E8AC 0007A6EC 38 E0 00 00 */ li r7, 0x0
/* 8007E8B0 0007A6F0 88 9C 00 02 */ lbz r4, 0x2(r28)
/* 8007E8B4 0007A6F4 88 7C 00 04 */ lbz r3, 0x4(r28)
/* 8007E8B8 0007A6F8 54 85 40 2E */ slwi r5, r4, 8
/* 8007E8BC 0007A6FC 88 DC 00 01 */ lbz r6, 0x1(r28)
/* 8007E8C0 0007A700 88 9C 00 03 */ lbz r4, 0x3(r28)
/* 8007E8C4 0007A704 54 63 40 2E */ slwi r3, r3, 8
/* 8007E8C8 0007A708 7C A6 2A 14 */ add r5, r6, r5
/* 8007E8CC 0007A70C 7C 64 1A 14 */ add r3, r4, r3
/* 8007E8D0 0007A710 B0 61 00 10 */ sth r3, 0x10(r1)
/* 8007E8D4 0007A714 54 A3 04 3E */ clrlwi r3, r5, 16
/* 8007E8D8 0007A718 7C 09 03 A6 */ mtctr r0
.global lbl_8007E8DC
lbl_8007E8DC:
/* 8007E8DC 0007A71C 88 1D 01 19 */ lbz r0, 0x119(r29)
/* 8007E8E0 0007A720 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E8E4 0007A724 41 82 00 24 */ beq lbl_8007E908
/* 8007E8E8 0007A728 A0 1D 00 00 */ lhz r0, 0x0(r29)
/* 8007E8EC 0007A72C 7C 03 00 40 */ cmplw r3, r0
/* 8007E8F0 0007A730 40 82 00 18 */ bne lbl_8007E908
/* 8007E8F4 0007A734 38 61 00 0A */ addi r3, r1, 0xa
/* 8007E8F8 0007A738 38 9D 00 08 */ addi r4, r29, 0x8
/* 8007E8FC 0007A73C 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007E900 0007A740 4B F8 57 01 */ bl memcpy
2022-10-16 16:05:58 +00:00
/* 8007E904 0007A744 48 00 00 1C */ b lbl_8007E920
.global lbl_8007E908
lbl_8007E908:
/* 8007E908 0007A748 38 E7 00 01 */ addi r7, r7, 0x1
/* 8007E90C 0007A74C 3B BD 01 1C */ addi r29, r29, 0x11c
/* 8007E910 0007A750 42 00 FF CC */ bdnz lbl_8007E8DC
/* 8007E914 0007A754 48 00 00 0C */ b lbl_8007E920
.global lbl_8007E918
lbl_8007E918:
/* 8007E918 0007A758 38 00 00 0A */ li r0, 0xa
/* 8007E91C 0007A75C 98 01 00 08 */ stb r0, 0x8(r1)
.global lbl_8007E920
lbl_8007E920:
/* 8007E920 0007A760 7F CC F3 78 */ mr r12, r30
/* 8007E924 0007A764 38 61 00 08 */ addi r3, r1, 0x8
/* 8007E928 0007A768 7D 89 03 A6 */ mtctr r12
/* 8007E92C 0007A76C 4E 80 04 21 */ bctrl
.global lbl_8007E930
lbl_8007E930:
/* 8007E930 0007A770 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8007E934 0007A774 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8007E938 0007A778 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8007E93C 0007A77C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8007E940 0007A780 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8007E944 0007A784 7C 08 03 A6 */ mtlr r0
/* 8007E948 0007A788 38 21 00 30 */ addi r1, r1, 0x30
/* 8007E94C 0007A78C 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_read_remote_version_complete
btm_read_remote_version_complete:
2022-10-16 16:05:58 +00:00
/* 8007E950 0007A790 88 03 00 00 */ lbz r0, 0x0(r3)
2022-10-16 16:31:36 +00:00
/* 8007E954 0007A794 3C 80 80 4F */ lis r4, btm_cb@ha
/* 8007E958 0007A798 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E95C 0007A79C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E960 0007A7A0 38 C4 00 34 */ addi r6, r4, 0x34
/* 8007E964 0007A7A4 4C 82 00 20 */ bnelr
/* 8007E968 0007A7A8 88 83 00 02 */ lbz r4, 0x2(r3)
/* 8007E96C 0007A7AC 38 00 00 04 */ li r0, 0x4
/* 8007E970 0007A7B0 88 A3 00 01 */ lbz r5, 0x1(r3)
/* 8007E974 0007A7B4 54 84 40 2E */ slwi r4, r4, 8
/* 8007E978 0007A7B8 7C 85 22 14 */ add r4, r5, r4
/* 8007E97C 0007A7BC 54 84 04 3E */ clrlwi r4, r4, 16
/* 8007E980 0007A7C0 7C 09 03 A6 */ mtctr r0
.global lbl_8007E984
lbl_8007E984:
/* 8007E984 0007A7C4 88 06 01 19 */ lbz r0, 0x119(r6)
/* 8007E988 0007A7C8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007E98C 0007A7CC 41 82 00 44 */ beq lbl_8007E9D0
/* 8007E990 0007A7D0 A0 06 00 00 */ lhz r0, 0x0(r6)
/* 8007E994 0007A7D4 7C 00 20 40 */ cmplw r0, r4
/* 8007E998 0007A7D8 40 82 00 38 */ bne lbl_8007E9D0
/* 8007E99C 0007A7DC 88 03 00 03 */ lbz r0, 0x3(r3)
/* 8007E9A0 0007A7E0 98 06 01 18 */ stb r0, 0x118(r6)
/* 8007E9A4 0007A7E4 88 03 00 05 */ lbz r0, 0x5(r3)
/* 8007E9A8 0007A7E8 88 83 00 04 */ lbz r4, 0x4(r3)
/* 8007E9AC 0007A7EC 54 00 40 2E */ slwi r0, r0, 8
/* 8007E9B0 0007A7F0 7C 04 02 14 */ add r0, r4, r0
/* 8007E9B4 0007A7F4 B0 06 01 0A */ sth r0, 0x10a(r6)
/* 8007E9B8 0007A7F8 88 03 00 07 */ lbz r0, 0x7(r3)
/* 8007E9BC 0007A7FC 88 63 00 06 */ lbz r3, 0x6(r3)
/* 8007E9C0 0007A800 54 00 40 2E */ slwi r0, r0, 8
/* 8007E9C4 0007A804 7C 03 02 14 */ add r0, r3, r0
/* 8007E9C8 0007A808 B0 06 01 0C */ sth r0, 0x10c(r6)
/* 8007E9CC 0007A80C 4E 80 00 20 */ blr
.global lbl_8007E9D0
lbl_8007E9D0:
/* 8007E9D0 0007A810 38 C6 01 1C */ addi r6, r6, 0x11c
/* 8007E9D4 0007A814 42 00 FF B0 */ bdnz lbl_8007E984
/* 8007E9D8 0007A818 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_read_remote_features_complete
btm_read_remote_features_complete:
2022-10-16 16:05:58 +00:00
/* 8007E9DC 0007A81C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007E9E0 0007A820 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8007E9E4 0007A824 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007E9E8 0007A828 90 01 00 24 */ stw r0, 0x24(r1)
2022-10-16 16:31:36 +00:00
/* 8007E9EC 0007A82C 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007E9F0 0007A830 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007E9F4 0007A834 3B E4 00 34 */ addi r31, r4, 0x34
/* 8007E9F8 0007A838 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8007E9FC 0007A83C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007EA00 0007A840 93 81 00 10 */ stw r28, 0x10(r1)
/* 8007EA04 0007A844 88 03 00 00 */ lbz r0, 0x0(r3)
/* 8007EA08 0007A848 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EA0C 0007A84C 40 82 01 DC */ bne lbl_8007EBE8
/* 8007EA10 0007A850 88 83 00 02 */ lbz r4, 0x2(r3)
/* 8007EA14 0007A854 38 00 00 04 */ li r0, 0x4
/* 8007EA18 0007A858 88 A3 00 01 */ lbz r5, 0x1(r3)
/* 8007EA1C 0007A85C 54 84 40 2E */ slwi r4, r4, 8
/* 8007EA20 0007A860 7C 85 22 14 */ add r4, r5, r4
/* 8007EA24 0007A864 54 84 04 3E */ clrlwi r4, r4, 16
/* 8007EA28 0007A868 7C 09 03 A6 */ mtctr r0
.global lbl_8007EA2C
lbl_8007EA2C:
/* 8007EA2C 0007A86C 88 1F 01 19 */ lbz r0, 0x119(r31)
/* 8007EA30 0007A870 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EA34 0007A874 41 82 01 AC */ beq lbl_8007EBE0
/* 8007EA38 0007A878 A0 1F 00 00 */ lhz r0, 0x0(r31)
/* 8007EA3C 0007A87C 7C 00 20 40 */ cmplw r0, r4
/* 8007EA40 0007A880 40 82 01 A0 */ bne lbl_8007EBE0
/* 8007EA44 0007A884 88 03 00 03 */ lbz r0, 0x3(r3)
/* 8007EA48 0007A888 98 1F 01 10 */ stb r0, 0x110(r31)
/* 8007EA4C 0007A88C 88 03 00 04 */ lbz r0, 0x4(r3)
/* 8007EA50 0007A890 98 1F 01 11 */ stb r0, 0x111(r31)
/* 8007EA54 0007A894 88 03 00 05 */ lbz r0, 0x5(r3)
/* 8007EA58 0007A898 98 1F 01 12 */ stb r0, 0x112(r31)
/* 8007EA5C 0007A89C 88 03 00 06 */ lbz r0, 0x6(r3)
/* 8007EA60 0007A8A0 98 1F 01 13 */ stb r0, 0x113(r31)
/* 8007EA64 0007A8A4 88 03 00 07 */ lbz r0, 0x7(r3)
/* 8007EA68 0007A8A8 98 1F 01 14 */ stb r0, 0x114(r31)
/* 8007EA6C 0007A8AC 88 03 00 08 */ lbz r0, 0x8(r3)
/* 8007EA70 0007A8B0 98 1F 01 15 */ stb r0, 0x115(r31)
/* 8007EA74 0007A8B4 88 03 00 09 */ lbz r0, 0x9(r3)
/* 8007EA78 0007A8B8 98 1F 01 16 */ stb r0, 0x116(r31)
/* 8007EA7C 0007A8BC 88 03 00 0A */ lbz r0, 0xa(r3)
/* 8007EA80 0007A8C0 7C 83 23 78 */ mr r3, r4
/* 8007EA84 0007A8C4 98 1F 01 17 */ stb r0, 0x117(r31)
2022-10-16 16:31:36 +00:00
/* 8007EA88 0007A8C8 48 00 14 95 */ bl btm_find_dev_by_handle
2022-10-16 16:05:58 +00:00
/* 8007EA8C 0007A8CC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007EA90 0007A8D0 41 82 00 14 */ beq lbl_8007EAA4
/* 8007EA94 0007A8D4 38 9F 01 10 */ addi r4, r31, 0x110
/* 8007EA98 0007A8D8 38 A0 00 08 */ li r5, 0x8
/* 8007EA9C 0007A8DC 38 63 00 77 */ addi r3, r3, 0x77
2022-10-16 16:31:36 +00:00
/* 8007EAA0 0007A8E0 4B F8 55 61 */ bl memcpy
2022-10-16 16:05:58 +00:00
.global lbl_8007EAA4
lbl_8007EAA4:
2022-10-16 16:31:36 +00:00
/* 8007EAA4 0007A8E4 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007EAA8 0007A8E8 38 00 CC F9 */ li r0, -0x3307
2022-10-16 16:31:36 +00:00
/* 8007EAAC 0007A8EC 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EAB0 0007A8F0 A0 A3 06 54 */ lhz r5, 0x654(r3)
/* 8007EAB4 0007A8F4 88 63 06 36 */ lbz r3, 0x636(r3)
/* 8007EAB8 0007A8F8 70 A4 CC 18 */ andi. r4, r5, 0xcc18
/* 8007EABC 0007A8FC 28 03 00 03 */ cmplwi r3, 0x3
/* 8007EAC0 0007A900 7C 9E 00 38 */ and r30, r4, r0
/* 8007EAC4 0007A904 41 80 00 10 */ blt lbl_8007EAD4
/* 8007EAC8 0007A908 70 A0 33 06 */ andi. r0, r5, 0x3306
/* 8007EACC 0007A90C 7C 80 03 78 */ or r0, r4, r0
/* 8007EAD0 0007A910 54 1E 04 3E */ clrlwi r30, r0, 16
.global lbl_8007EAD4
lbl_8007EAD4:
2022-10-16 16:31:36 +00:00
/* 8007EAD4 0007A914 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007EAD8 0007A918 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EADC 0007A91C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007EAE0 0007A920 28 00 00 04 */ cmplwi r0, 0x4
/* 8007EAE4 0007A924 41 80 00 1C */ blt lbl_8007EB00
/* 8007EAE8 0007A928 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007EAEC 0007A92C 3C 80 80 44 */ lis r4, "@2592_8043B6F0"@ha
2022-10-16 16:05:58 +00:00
/* 8007EAF0 0007A930 38 63 00 03 */ addi r3, r3, 0x3
/* 8007EAF4 0007A934 57 C5 04 3E */ clrlwi r5, r30, 16
2022-10-16 16:31:36 +00:00
/* 8007EAF8 0007A938 38 84 B6 F0 */ addi r4, r4, "@2592_8043B6F0"@l
/* 8007EAFC 0007A93C 4B FF 8E 65 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007EB00
lbl_8007EB00:
/* 8007EB00 0007A940 A0 7F 00 00 */ lhz r3, 0x0(r31)
/* 8007EB04 0007A944 57 C4 04 3E */ clrlwi r4, r30, 16
2022-10-16 16:31:36 +00:00
/* 8007EB08 0007A948 48 00 C5 CD */ bl btsnd_hcic_change_conn_type
2022-10-16 16:05:58 +00:00
/* 8007EB0C 0007A94C 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007EB10 0007A950 41 82 00 08 */ beq lbl_8007EB18
/* 8007EB14 0007A954 B3 DF 00 02 */ sth r30, 0x2(r31)
.global lbl_8007EB18
lbl_8007EB18:
2022-10-16 16:31:36 +00:00
/* 8007EB18 0007A958 3C 80 80 4F */ lis r4, btm_cb@ha
/* 8007EB1C 0007A95C 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EB20 0007A960 A0 04 04 C4 */ lhz r0, 0x4c4(r4)
/* 8007EB24 0007A964 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EB28 0007A968 41 82 00 10 */ beq lbl_8007EB38
/* 8007EB2C 0007A96C 38 7F 00 08 */ addi r3, r31, 0x8
/* 8007EB30 0007A970 38 84 04 C4 */ addi r4, r4, 0x4c4
2022-10-16 16:31:36 +00:00
/* 8007EB34 0007A974 4B FF FB 19 */ bl BTM_SetLinkPolicy
2022-10-16 16:05:58 +00:00
.global lbl_8007EB38
lbl_8007EB38:
2022-10-16 16:31:36 +00:00
/* 8007EB38 0007A978 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007EB3C 0007A97C 3B C0 00 00 */ li r30, 0x0
2022-10-16 16:31:36 +00:00
/* 8007EB40 0007A980 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EB44 0007A984 A3 83 04 C6 */ lhz r28, 0x4c6(r3)
/* 8007EB48 0007A988 3B A3 00 34 */ addi r29, r3, 0x34
.global lbl_8007EB4C
lbl_8007EB4C:
/* 8007EB4C 0007A98C 88 1D 01 19 */ lbz r0, 0x119(r29)
/* 8007EB50 0007A990 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EB54 0007A994 41 82 00 20 */ beq lbl_8007EB74
/* 8007EB58 0007A998 38 7D 00 08 */ addi r3, r29, 0x8
/* 8007EB5C 0007A99C 38 9F 00 08 */ addi r4, r31, 0x8
/* 8007EB60 0007A9A0 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007EB64 0007A9A4 4B F8 C3 0D */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007EB68 0007A9A8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007EB6C 0007A9AC 40 82 00 08 */ bne lbl_8007EB74
/* 8007EB70 0007A9B0 48 00 00 18 */ b lbl_8007EB88
.global lbl_8007EB74
lbl_8007EB74:
/* 8007EB74 0007A9B4 3B DE 00 01 */ addi r30, r30, 0x1
/* 8007EB78 0007A9B8 3B BD 01 1C */ addi r29, r29, 0x11c
/* 8007EB7C 0007A9BC 28 1E 00 04 */ cmplwi r30, 0x4
/* 8007EB80 0007A9C0 41 80 FF CC */ blt lbl_8007EB4C
/* 8007EB84 0007A9C4 3B A0 00 00 */ li r29, 0x0
.global lbl_8007EB88
lbl_8007EB88:
/* 8007EB88 0007A9C8 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8007EB8C 0007A9CC 41 82 00 20 */ beq lbl_8007EBAC
/* 8007EB90 0007A9D0 B3 9D 01 0E */ sth r28, 0x10e(r29)
/* 8007EB94 0007A9D4 88 1D 01 1A */ lbz r0, 0x11a(r29)
/* 8007EB98 0007A9D8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EB9C 0007A9DC 40 82 00 10 */ bne lbl_8007EBAC
/* 8007EBA0 0007A9E0 A0 7D 00 00 */ lhz r3, 0x0(r29)
/* 8007EBA4 0007A9E4 7F 84 E3 78 */ mr r4, r28
2022-10-16 16:31:36 +00:00
/* 8007EBA8 0007A9E8 48 00 DA 2D */ bl btsnd_hcic_write_link_super_tout
2022-10-16 16:05:58 +00:00
.global lbl_8007EBAC
lbl_8007EBAC:
2022-10-16 16:31:36 +00:00
/* 8007EBAC 0007A9EC 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007EBB0 0007A9F0 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EBB4 0007A9F4 81 83 04 C8 */ lwz r12, 0x4c8(r3)
/* 8007EBB8 0007A9F8 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8007EBBC 0007A9FC 41 82 00 2C */ beq lbl_8007EBE8
/* 8007EBC0 0007AA00 38 7F 00 08 */ addi r3, r31, 0x8
/* 8007EBC4 0007AA04 38 9F 00 0E */ addi r4, r31, 0xe
/* 8007EBC8 0007AA08 38 BF 00 11 */ addi r5, r31, 0x11
/* 8007EBCC 0007AA0C 38 DF 01 10 */ addi r6, r31, 0x110
/* 8007EBD0 0007AA10 38 E0 00 01 */ li r7, 0x1
/* 8007EBD4 0007AA14 7D 89 03 A6 */ mtctr r12
/* 8007EBD8 0007AA18 4E 80 04 21 */ bctrl
/* 8007EBDC 0007AA1C 48 00 00 0C */ b lbl_8007EBE8
.global lbl_8007EBE0
lbl_8007EBE0:
/* 8007EBE0 0007AA20 3B FF 01 1C */ addi r31, r31, 0x11c
/* 8007EBE4 0007AA24 42 00 FE 48 */ bdnz lbl_8007EA2C
.global lbl_8007EBE8
lbl_8007EBE8:
/* 8007EBE8 0007AA28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007EBEC 0007AA2C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007EBF0 0007AA30 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007EBF4 0007AA34 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007EBF8 0007AA38 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8007EBFC 0007AA3C 7C 08 03 A6 */ mtlr r0
/* 8007EC00 0007AA40 38 21 00 20 */ addi r1, r1, 0x20
/* 8007EC04 0007AA44 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_SetDefaultLinkSuperTout
BTM_SetDefaultLinkSuperTout:
/* 8007EC08 0007AA48 3C 80 80 4F */ lis r4, btm_cb@ha
/* 8007EC0C 0007AA4C 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EC10 0007AA50 B0 64 04 C6 */ sth r3, 0x4c6(r4)
/* 8007EC14 0007AA54 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_IsAclConnectionUp
BTM_IsAclConnectionUp:
2022-10-16 16:05:58 +00:00
/* 8007EC18 0007AA58 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007EC1C 0007AA5C 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8007EC20 0007AA60 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007EC24 0007AA64 90 01 00 24 */ stw r0, 0x24(r1)
2022-10-16 16:31:36 +00:00
/* 8007EC28 0007AA68 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EC2C 0007AA6C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007EC30 0007AA70 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8007EC34 0007AA74 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007EC38 0007AA78 7C 7D 1B 78 */ mr r29, r3
/* 8007EC3C 0007AA7C 88 04 27 C0 */ lbz r0, 0x27c0(r4)
/* 8007EC40 0007AA80 28 00 00 03 */ cmplwi r0, 0x3
/* 8007EC44 0007AA84 41 80 00 30 */ blt lbl_8007EC74
/* 8007EC48 0007AA88 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007EC4C 0007AA8C 3C 80 80 44 */ lis r4, "@2800"@ha
2022-10-16 16:05:58 +00:00
/* 8007EC50 0007AA90 88 BD 00 00 */ lbz r5, 0x0(r29)
/* 8007EC54 0007AA94 38 63 00 02 */ addi r3, r3, 0x2
/* 8007EC58 0007AA98 88 DD 00 01 */ lbz r6, 0x1(r29)
2022-10-16 16:31:36 +00:00
/* 8007EC5C 0007AA9C 38 84 B8 90 */ addi r4, r4, "@2800"@l
2022-10-16 16:05:58 +00:00
/* 8007EC60 0007AAA0 88 FD 00 02 */ lbz r7, 0x2(r29)
/* 8007EC64 0007AAA4 89 1D 00 03 */ lbz r8, 0x3(r29)
/* 8007EC68 0007AAA8 89 3D 00 04 */ lbz r9, 0x4(r29)
/* 8007EC6C 0007AAAC 89 5D 00 05 */ lbz r10, 0x5(r29)
2022-10-16 16:31:36 +00:00
/* 8007EC70 0007AAB0 4B FF 8C F1 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007EC74
lbl_8007EC74:
2022-10-16 16:31:36 +00:00
/* 8007EC74 0007AAB4 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007EC78 0007AAB8 3B E0 00 00 */ li r31, 0x0
2022-10-16 16:31:36 +00:00
/* 8007EC7C 0007AABC 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EC80 0007AAC0 3B C3 00 34 */ addi r30, r3, 0x34
.global lbl_8007EC84
lbl_8007EC84:
/* 8007EC84 0007AAC4 88 1E 01 19 */ lbz r0, 0x119(r30)
/* 8007EC88 0007AAC8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EC8C 0007AACC 41 82 00 20 */ beq lbl_8007ECAC
/* 8007EC90 0007AAD0 7F A4 EB 78 */ mr r4, r29
/* 8007EC94 0007AAD4 38 7E 00 08 */ addi r3, r30, 0x8
/* 8007EC98 0007AAD8 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007EC9C 0007AADC 4B F8 C1 D5 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007ECA0 0007AAE0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007ECA4 0007AAE4 40 82 00 08 */ bne lbl_8007ECAC
/* 8007ECA8 0007AAE8 48 00 00 18 */ b lbl_8007ECC0
.global lbl_8007ECAC
lbl_8007ECAC:
/* 8007ECAC 0007AAEC 3B FF 00 01 */ addi r31, r31, 0x1
/* 8007ECB0 0007AAF0 3B DE 01 1C */ addi r30, r30, 0x11c
/* 8007ECB4 0007AAF4 28 1F 00 04 */ cmplwi r31, 0x4
/* 8007ECB8 0007AAF8 41 80 FF CC */ blt lbl_8007EC84
/* 8007ECBC 0007AAFC 3B C0 00 00 */ li r30, 0x0
.global lbl_8007ECC0
lbl_8007ECC0:
/* 8007ECC0 0007AB00 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007ECC4 0007AB04 41 82 00 0C */ beq lbl_8007ECD0
/* 8007ECC8 0007AB08 38 60 00 01 */ li r3, 0x1
/* 8007ECCC 0007AB0C 48 00 00 08 */ b lbl_8007ECD4
.global lbl_8007ECD0
lbl_8007ECD0:
/* 8007ECD0 0007AB10 38 60 00 00 */ li r3, 0x0
.global lbl_8007ECD4
lbl_8007ECD4:
/* 8007ECD4 0007AB14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007ECD8 0007AB18 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007ECDC 0007AB1C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007ECE0 0007AB20 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007ECE4 0007AB24 7C 08 03 A6 */ mtlr r0
/* 8007ECE8 0007AB28 38 21 00 20 */ addi r1, r1, 0x20
/* 8007ECEC 0007AB2C 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_GetNumAclLinks
BTM_GetNumAclLinks:
/* 8007ECF0 0007AB30 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007ECF4 0007AB34 38 60 00 00 */ li r3, 0x0
2022-10-16 16:31:36 +00:00
/* 8007ECF8 0007AB38 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007ECFC 0007AB3C 88 04 01 4D */ lbz r0, 0x14d(r4)
/* 8007ED00 0007AB40 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007ED04 0007AB44 41 82 00 08 */ beq lbl_8007ED0C
/* 8007ED08 0007AB48 38 60 00 01 */ li r3, 0x1
.global lbl_8007ED0C
lbl_8007ED0C:
/* 8007ED0C 0007AB4C 88 04 02 69 */ lbz r0, 0x269(r4)
/* 8007ED10 0007AB50 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007ED14 0007AB54 41 82 00 0C */ beq lbl_8007ED20
/* 8007ED18 0007AB58 38 03 00 01 */ addi r0, r3, 0x1
/* 8007ED1C 0007AB5C 54 03 04 3E */ clrlwi r3, r0, 16
.global lbl_8007ED20
lbl_8007ED20:
/* 8007ED20 0007AB60 88 04 03 85 */ lbz r0, 0x385(r4)
/* 8007ED24 0007AB64 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007ED28 0007AB68 41 82 00 0C */ beq lbl_8007ED34
/* 8007ED2C 0007AB6C 38 03 00 01 */ addi r0, r3, 0x1
/* 8007ED30 0007AB70 54 03 04 3E */ clrlwi r3, r0, 16
.global lbl_8007ED34
lbl_8007ED34:
/* 8007ED34 0007AB74 88 04 04 A1 */ lbz r0, 0x4a1(r4)
/* 8007ED38 0007AB78 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007ED3C 0007AB7C 4D 82 00 20 */ beqlr
/* 8007ED40 0007AB80 38 03 00 01 */ addi r0, r3, 0x1
/* 8007ED44 0007AB84 54 03 04 3E */ clrlwi r3, r0, 16
/* 8007ED48 0007AB88 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_get_acl_disc_reason_code
btm_get_acl_disc_reason_code:
/* 8007ED4C 0007AB8C 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007ED50 0007AB90 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007ED54 0007AB94 88 63 27 BF */ lbz r3, 0x27bf(r3)
/* 8007ED58 0007AB98 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_GetHCIConnHandle
BTM_GetHCIConnHandle:
2022-10-16 16:05:58 +00:00
/* 8007ED5C 0007AB9C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007ED60 0007ABA0 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8007ED64 0007ABA4 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007ED68 0007ABA8 90 01 00 24 */ stw r0, 0x24(r1)
2022-10-16 16:31:36 +00:00
/* 8007ED6C 0007ABAC 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007ED70 0007ABB0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007ED74 0007ABB4 3B E0 00 00 */ li r31, 0x0
/* 8007ED78 0007ABB8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8007ED7C 0007ABBC 3B C4 00 34 */ addi r30, r4, 0x34
/* 8007ED80 0007ABC0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007ED84 0007ABC4 7C 7D 1B 78 */ mr r29, r3
.global lbl_8007ED88
lbl_8007ED88:
/* 8007ED88 0007ABC8 88 1E 01 19 */ lbz r0, 0x119(r30)
/* 8007ED8C 0007ABCC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007ED90 0007ABD0 41 82 00 20 */ beq lbl_8007EDB0
/* 8007ED94 0007ABD4 7F A4 EB 78 */ mr r4, r29
/* 8007ED98 0007ABD8 38 7E 00 08 */ addi r3, r30, 0x8
/* 8007ED9C 0007ABDC 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007EDA0 0007ABE0 4B F8 C0 D1 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007EDA4 0007ABE4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007EDA8 0007ABE8 40 82 00 08 */ bne lbl_8007EDB0
/* 8007EDAC 0007ABEC 48 00 00 18 */ b lbl_8007EDC4
.global lbl_8007EDB0
lbl_8007EDB0:
/* 8007EDB0 0007ABF0 3B FF 00 01 */ addi r31, r31, 0x1
/* 8007EDB4 0007ABF4 3B DE 01 1C */ addi r30, r30, 0x11c
/* 8007EDB8 0007ABF8 28 1F 00 04 */ cmplwi r31, 0x4
/* 8007EDBC 0007ABFC 41 80 FF CC */ blt lbl_8007ED88
/* 8007EDC0 0007AC00 3B C0 00 00 */ li r30, 0x0
.global lbl_8007EDC4
lbl_8007EDC4:
/* 8007EDC4 0007AC04 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007EDC8 0007AC08 41 82 00 0C */ beq lbl_8007EDD4
/* 8007EDCC 0007AC0C A0 7E 00 00 */ lhz r3, 0x0(r30)
/* 8007EDD0 0007AC10 48 00 00 0C */ b lbl_8007EDDC
.global lbl_8007EDD4
lbl_8007EDD4:
/* 8007EDD4 0007AC14 3C 60 00 01 */ lis r3, 0x1
/* 8007EDD8 0007AC18 38 63 FF FF */ addi r3, r3, -0x1
.global lbl_8007EDDC
lbl_8007EDDC:
/* 8007EDDC 0007AC1C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007EDE0 0007AC20 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007EDE4 0007AC24 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007EDE8 0007AC28 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007EDEC 0007AC2C 7C 08 03 A6 */ mtlr r0
/* 8007EDF0 0007AC30 38 21 00 20 */ addi r1, r1, 0x20
/* 8007EDF4 0007AC34 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_process_clk_off_comp_evt
btm_process_clk_off_comp_evt:
/* 8007EDF8 0007AC38 3C A0 80 4F */ lis r5, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007EDFC 0007AC3C 38 C0 00 00 */ li r6, 0x0
2022-10-16 16:31:36 +00:00
/* 8007EE00 0007AC40 38 A5 5F 58 */ addi r5, r5, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EE04 0007AC44 88 05 01 4D */ lbz r0, 0x14d(r5)
/* 8007EE08 0007AC48 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EE0C 0007AC4C 41 82 00 10 */ beq lbl_8007EE1C
/* 8007EE10 0007AC50 A0 05 00 34 */ lhz r0, 0x34(r5)
/* 8007EE14 0007AC54 7C 00 18 40 */ cmplw r0, r3
/* 8007EE18 0007AC58 41 82 00 5C */ beq lbl_8007EE74
.global lbl_8007EE1C
lbl_8007EE1C:
/* 8007EE1C 0007AC5C 88 05 02 69 */ lbz r0, 0x269(r5)
/* 8007EE20 0007AC60 38 C0 00 01 */ li r6, 0x1
/* 8007EE24 0007AC64 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EE28 0007AC68 41 82 00 10 */ beq lbl_8007EE38
/* 8007EE2C 0007AC6C A0 05 01 50 */ lhz r0, 0x150(r5)
/* 8007EE30 0007AC70 7C 00 18 40 */ cmplw r0, r3
/* 8007EE34 0007AC74 41 82 00 40 */ beq lbl_8007EE74
.global lbl_8007EE38
lbl_8007EE38:
/* 8007EE38 0007AC78 88 05 03 85 */ lbz r0, 0x385(r5)
/* 8007EE3C 0007AC7C 38 C0 00 02 */ li r6, 0x2
/* 8007EE40 0007AC80 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EE44 0007AC84 41 82 00 10 */ beq lbl_8007EE54
/* 8007EE48 0007AC88 A0 05 02 6C */ lhz r0, 0x26c(r5)
/* 8007EE4C 0007AC8C 7C 00 18 40 */ cmplw r0, r3
/* 8007EE50 0007AC90 41 82 00 24 */ beq lbl_8007EE74
.global lbl_8007EE54
lbl_8007EE54:
/* 8007EE54 0007AC94 88 05 04 A1 */ lbz r0, 0x4a1(r5)
/* 8007EE58 0007AC98 38 C0 00 03 */ li r6, 0x3
/* 8007EE5C 0007AC9C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EE60 0007ACA0 41 82 00 10 */ beq lbl_8007EE70
/* 8007EE64 0007ACA4 A0 05 03 88 */ lhz r0, 0x388(r5)
/* 8007EE68 0007ACA8 7C 00 18 40 */ cmplw r0, r3
/* 8007EE6C 0007ACAC 41 82 00 08 */ beq lbl_8007EE74
.global lbl_8007EE70
lbl_8007EE70:
/* 8007EE70 0007ACB0 38 C0 00 04 */ li r6, 0x4
.global lbl_8007EE74
lbl_8007EE74:
/* 8007EE74 0007ACB4 28 06 00 04 */ cmplwi r6, 0x4
/* 8007EE78 0007ACB8 4C 80 00 20 */ bgelr
/* 8007EE7C 0007ACBC 1C 06 01 1C */ mulli r0, r6, 0x11c
2022-10-16 16:31:36 +00:00
/* 8007EE80 0007ACC0 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007EE84 0007ACC4 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EE88 0007ACC8 7C 63 02 14 */ add r3, r3, r0
/* 8007EE8C 0007ACCC B0 83 00 3A */ sth r4, 0x3a(r3)
/* 8007EE90 0007ACD0 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_acl_role_changed
btm_acl_role_changed:
2022-10-16 16:05:58 +00:00
/* 8007EE94 0007ACD4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8007EE98 0007ACD8 7C 08 02 A6 */ mflr r0
/* 8007EE9C 0007ACDC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8007EEA0 0007ACE0 39 61 00 30 */ addi r11, r1, 0x30
/* 8007EEA4 0007ACE4 4B F8 84 91 */ bl lbl_80007334
/* 8007EEA8 0007ACE8 2C 04 00 00 */ cmpwi r4, 0x0
/* 8007EEAC 0007ACEC 7C 79 1B 78 */ mr r25, r3
/* 8007EEB0 0007ACF0 7C 9A 23 78 */ mr r26, r4
/* 8007EEB4 0007ACF4 7C BC 2B 78 */ mr r28, r5
/* 8007EEB8 0007ACF8 41 82 00 0C */ beq lbl_8007EEC4
/* 8007EEBC 0007ACFC 7F 5B D3 78 */ mr r27, r26
/* 8007EEC0 0007AD00 48 00 00 10 */ b lbl_8007EED0
.global lbl_8007EEC4
lbl_8007EEC4:
2022-10-16 16:31:36 +00:00
/* 8007EEC4 0007AD04 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007EEC8 0007AD08 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EECC 0007AD0C 3B 63 27 B4 */ addi r27, r3, 0x27b4
.global lbl_8007EED0
lbl_8007EED0:
2022-10-16 16:31:36 +00:00
/* 8007EED0 0007AD10 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007EED4 0007AD14 3B C0 00 00 */ li r30, 0x0
2022-10-16 16:31:36 +00:00
/* 8007EED8 0007AD18 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EEDC 0007AD1C 3B A3 00 34 */ addi r29, r3, 0x34
.global lbl_8007EEE0
lbl_8007EEE0:
/* 8007EEE0 0007AD20 88 1D 01 19 */ lbz r0, 0x119(r29)
/* 8007EEE4 0007AD24 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EEE8 0007AD28 41 82 00 20 */ beq lbl_8007EF08
/* 8007EEEC 0007AD2C 7F 64 DB 78 */ mr r4, r27
/* 8007EEF0 0007AD30 38 7D 00 08 */ addi r3, r29, 0x8
/* 8007EEF4 0007AD34 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007EEF8 0007AD38 4B F8 BF 79 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007EEFC 0007AD3C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007EF00 0007AD40 40 82 00 08 */ bne lbl_8007EF08
/* 8007EF04 0007AD44 48 00 00 18 */ b lbl_8007EF1C
.global lbl_8007EF08
lbl_8007EF08:
/* 8007EF08 0007AD48 3B DE 00 01 */ addi r30, r30, 0x1
/* 8007EF0C 0007AD4C 3B BD 01 1C */ addi r29, r29, 0x11c
/* 8007EF10 0007AD50 28 1E 00 04 */ cmplwi r30, 0x4
/* 8007EF14 0007AD54 41 80 FF CC */ blt lbl_8007EEE0
/* 8007EF18 0007AD58 3B A0 00 00 */ li r29, 0x0
.global lbl_8007EF1C
lbl_8007EF1C:
2022-10-16 16:31:36 +00:00
/* 8007EF1C 0007AD5C 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007EF20 0007AD60 2C 1D 00 00 */ cmpwi r29, 0x0
2022-10-16 16:31:36 +00:00
/* 8007EF24 0007AD64 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EF28 0007AD68 3B E3 06 24 */ addi r31, r3, 0x624
/* 8007EF2C 0007AD6C 41 82 01 44 */ beq lbl_8007F070
/* 8007EF30 0007AD70 2C 19 00 00 */ cmpwi r25, 0x0
/* 8007EF34 0007AD74 9B 3F 00 00 */ stb r25, 0x0(r31)
/* 8007EF38 0007AD78 40 82 00 1C */ bne lbl_8007EF54
/* 8007EF3C 0007AD7C 9B 9F 00 01 */ stb r28, 0x1(r31)
/* 8007EF40 0007AD80 7F 64 DB 78 */ mr r4, r27
/* 8007EF44 0007AD84 38 7F 00 02 */ addi r3, r31, 0x2
/* 8007EF48 0007AD88 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007EF4C 0007AD8C 4B F8 50 B5 */ bl memcpy
2022-10-16 16:05:58 +00:00
/* 8007EF50 0007AD90 9B 9D 01 1A */ stb r28, 0x11a(r29)
.global lbl_8007EF54
lbl_8007EF54:
/* 8007EF54 0007AD94 2C 1A 00 00 */ cmpwi r26, 0x0
/* 8007EF58 0007AD98 41 82 00 78 */ beq lbl_8007EFD0
2022-10-16 16:31:36 +00:00
/* 8007EF5C 0007AD9C 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007EF60 0007ADA0 A3 DD 01 0E */ lhz r30, 0x10e(r29)
2022-10-16 16:31:36 +00:00
/* 8007EF64 0007ADA4 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007EF68 0007ADA8 3B 80 00 00 */ li r28, 0x0
/* 8007EF6C 0007ADAC 3B 63 00 34 */ addi r27, r3, 0x34
.global lbl_8007EF70
lbl_8007EF70:
/* 8007EF70 0007ADB0 88 1B 01 19 */ lbz r0, 0x119(r27)
/* 8007EF74 0007ADB4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EF78 0007ADB8 41 82 00 20 */ beq lbl_8007EF98
/* 8007EF7C 0007ADBC 38 7B 00 08 */ addi r3, r27, 0x8
/* 8007EF80 0007ADC0 38 9D 00 08 */ addi r4, r29, 0x8
/* 8007EF84 0007ADC4 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007EF88 0007ADC8 4B F8 BE E9 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007EF8C 0007ADCC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007EF90 0007ADD0 40 82 00 08 */ bne lbl_8007EF98
/* 8007EF94 0007ADD4 48 00 00 18 */ b lbl_8007EFAC
.global lbl_8007EF98
lbl_8007EF98:
/* 8007EF98 0007ADD8 3B 9C 00 01 */ addi r28, r28, 0x1
/* 8007EF9C 0007ADDC 3B 7B 01 1C */ addi r27, r27, 0x11c
/* 8007EFA0 0007ADE0 28 1C 00 04 */ cmplwi r28, 0x4
/* 8007EFA4 0007ADE4 41 80 FF CC */ blt lbl_8007EF70
/* 8007EFA8 0007ADE8 3B 60 00 00 */ li r27, 0x0
.global lbl_8007EFAC
lbl_8007EFAC:
/* 8007EFAC 0007ADEC 2C 1B 00 00 */ cmpwi r27, 0x0
/* 8007EFB0 0007ADF0 41 82 00 20 */ beq lbl_8007EFD0
/* 8007EFB4 0007ADF4 B3 DB 01 0E */ sth r30, 0x10e(r27)
/* 8007EFB8 0007ADF8 88 1B 01 1A */ lbz r0, 0x11a(r27)
/* 8007EFBC 0007ADFC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007EFC0 0007AE00 40 82 00 10 */ bne lbl_8007EFD0
/* 8007EFC4 0007AE04 A0 7B 00 00 */ lhz r3, 0x0(r27)
/* 8007EFC8 0007AE08 7F C4 F3 78 */ mr r4, r30
2022-10-16 16:31:36 +00:00
/* 8007EFCC 0007AE0C 48 00 D6 09 */ bl btsnd_hcic_write_link_super_tout
2022-10-16 16:05:58 +00:00
.global lbl_8007EFD0
lbl_8007EFD0:
/* 8007EFD0 0007AE10 88 1D 01 1B */ lbz r0, 0x11b(r29)
/* 8007EFD4 0007AE14 28 00 00 03 */ cmplwi r0, 0x3
/* 8007EFD8 0007AE18 40 82 00 24 */ bne lbl_8007EFFC
/* 8007EFDC 0007AE1C A0 7D 00 00 */ lhz r3, 0x0(r29)
/* 8007EFE0 0007AE20 38 80 00 01 */ li r4, 0x1
2022-10-16 16:31:36 +00:00
/* 8007EFE4 0007AE24 48 00 C1 FD */ bl btsnd_hcic_set_conn_encrypt
2022-10-16 16:05:58 +00:00
/* 8007EFE8 0007AE28 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007EFEC 0007AE2C 41 82 00 10 */ beq lbl_8007EFFC
/* 8007EFF0 0007AE30 38 00 00 04 */ li r0, 0x4
/* 8007EFF4 0007AE34 98 1D 01 1B */ stb r0, 0x11b(r29)
/* 8007EFF8 0007AE38 48 00 00 78 */ b lbl_8007F070
.global lbl_8007EFFC
lbl_8007EFFC:
/* 8007EFFC 0007AE3C 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8007F000 0007AE40 41 82 00 18 */ beq lbl_8007F018
/* 8007F004 0007AE44 88 1D 01 1B */ lbz r0, 0x11b(r29)
/* 8007F008 0007AE48 28 00 00 05 */ cmplwi r0, 0x5
/* 8007F00C 0007AE4C 40 82 00 0C */ bne lbl_8007F018
/* 8007F010 0007AE50 38 00 00 00 */ li r0, 0x0
/* 8007F014 0007AE54 98 1D 01 1B */ stb r0, 0x11b(r29)
.global lbl_8007F018
lbl_8007F018:
2022-10-16 16:31:36 +00:00
/* 8007F018 0007AE58 3F C0 80 4F */ lis r30, btm_cb@ha
/* 8007F01C 0007AE5C 3B DE 5F 58 */ addi r30, r30, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F020 0007AE60 81 9E 06 2C */ lwz r12, 0x62c(r30)
/* 8007F024 0007AE64 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8007F028 0007AE68 41 82 00 18 */ beq lbl_8007F040
/* 8007F02C 0007AE6C 7F E3 FB 78 */ mr r3, r31
/* 8007F030 0007AE70 7D 89 03 A6 */ mtctr r12
/* 8007F034 0007AE74 4E 80 04 21 */ bctrl
/* 8007F038 0007AE78 38 00 00 00 */ li r0, 0x0
/* 8007F03C 0007AE7C 90 1E 06 2C */ stw r0, 0x62c(r30)
.global lbl_8007F040
lbl_8007F040:
2022-10-16 16:31:36 +00:00
/* 8007F040 0007AE80 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007F044 0007AE84 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F048 0007AE88 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007F04C 0007AE8C 28 00 00 04 */ cmplwi r0, 0x4
/* 8007F050 0007AE90 41 80 00 20 */ blt lbl_8007F070
/* 8007F054 0007AE94 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007F058 0007AE98 3C 80 80 44 */ lis r4, "@2857"@ha
2022-10-16 16:05:58 +00:00
/* 8007F05C 0007AE9C 88 BF 00 01 */ lbz r5, 0x1(r31)
/* 8007F060 0007AEA0 38 63 00 03 */ addi r3, r3, 0x3
/* 8007F064 0007AEA4 88 DF 00 00 */ lbz r6, 0x0(r31)
2022-10-16 16:31:36 +00:00
/* 8007F068 0007AEA8 38 84 B8 CC */ addi r4, r4, "@2857"@l
/* 8007F06C 0007AEAC 4B FF 88 F5 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007F070
lbl_8007F070:
/* 8007F070 0007AEB0 39 61 00 30 */ addi r11, r1, 0x30
/* 8007F074 0007AEB4 4B F8 83 0D */ bl lbl_80007380
/* 8007F078 0007AEB8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8007F07C 0007AEBC 7C 08 03 A6 */ mtlr r0
/* 8007F080 0007AEC0 38 21 00 30 */ addi r1, r1, 0x30
/* 8007F084 0007AEC4 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_acl_timeout
btm_acl_timeout:
2022-10-16 16:05:58 +00:00
/* 8007F088 0007AEC8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007F08C 0007AECC 7C 08 02 A6 */ mflr r0
/* 8007F090 0007AED0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8007F094 0007AED4 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8007F098 0007AED8 28 00 00 04 */ cmplwi r0, 0x4
/* 8007F09C 0007AEDC 40 82 00 38 */ bne lbl_8007F0D4
2022-10-16 16:31:36 +00:00
/* 8007F0A0 0007AEE0 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F0A4 0007AEE4 38 60 00 0A */ li r3, 0xa
2022-10-16 16:31:36 +00:00
/* 8007F0A8 0007AEE8 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F0AC 0007AEEC 38 00 00 00 */ li r0, 0x0
/* 8007F0B0 0007AEF0 81 84 05 C4 */ lwz r12, 0x5c4(r4)
/* 8007F0B4 0007AEF4 98 61 00 08 */ stb r3, 0x8(r1)
/* 8007F0B8 0007AEF8 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8007F0BC 0007AEFC B0 01 00 10 */ sth r0, 0x10(r1)
/* 8007F0C0 0007AF00 90 04 05 C4 */ stw r0, 0x5c4(r4)
/* 8007F0C4 0007AF04 41 82 00 10 */ beq lbl_8007F0D4
/* 8007F0C8 0007AF08 38 61 00 08 */ addi r3, r1, 0x8
/* 8007F0CC 0007AF0C 7D 89 03 A6 */ mtctr r12
/* 8007F0D0 0007AF10 4E 80 04 21 */ bctrl
.global lbl_8007F0D4
lbl_8007F0D4:
/* 8007F0D4 0007AF14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007F0D8 0007AF18 7C 08 03 A6 */ mtlr r0
/* 8007F0DC 0007AF1C 38 21 00 20 */ addi r1, r1, 0x20
/* 8007F0E0 0007AF20 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_get_max_packet_size
btm_get_max_packet_size:
2022-10-16 16:05:58 +00:00
/* 8007F0E4 0007AF24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007F0E8 0007AF28 7C 08 02 A6 */ mflr r0
/* 8007F0EC 0007AF2C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8007F0F0 0007AF30 39 61 00 20 */ addi r11, r1, 0x20
/* 8007F0F4 0007AF34 4B F8 82 49 */ bl lbl_8000733C
2022-10-16 16:31:36 +00:00
/* 8007F0F8 0007AF38 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F0FC 0007AF3C 7C 7B 1B 78 */ mr r27, r3
2022-10-16 16:31:36 +00:00
/* 8007F100 0007AF40 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F104 0007AF44 3B C0 00 00 */ li r30, 0x0
/* 8007F108 0007AF48 3B A4 00 34 */ addi r29, r4, 0x34
.global lbl_8007F10C
lbl_8007F10C:
/* 8007F10C 0007AF4C 88 1D 01 19 */ lbz r0, 0x119(r29)
/* 8007F110 0007AF50 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F114 0007AF54 41 82 00 20 */ beq lbl_8007F134
/* 8007F118 0007AF58 7F 64 DB 78 */ mr r4, r27
/* 8007F11C 0007AF5C 38 7D 00 08 */ addi r3, r29, 0x8
/* 8007F120 0007AF60 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007F124 0007AF64 4B F8 BD 4D */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007F128 0007AF68 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007F12C 0007AF6C 40 82 00 08 */ bne lbl_8007F134
/* 8007F130 0007AF70 48 00 00 18 */ b lbl_8007F148
.global lbl_8007F134
lbl_8007F134:
/* 8007F134 0007AF74 3B DE 00 01 */ addi r30, r30, 0x1
/* 8007F138 0007AF78 3B BD 01 1C */ addi r29, r29, 0x11c
/* 8007F13C 0007AF7C 28 1E 00 04 */ cmplwi r30, 0x4
/* 8007F140 0007AF80 41 80 FF CC */ blt lbl_8007F10C
/* 8007F144 0007AF84 3B A0 00 00 */ li r29, 0x0
.global lbl_8007F148
lbl_8007F148:
/* 8007F148 0007AF88 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8007F14C 0007AF8C 3B 80 00 00 */ li r28, 0x0
/* 8007F150 0007AF90 3B E0 00 00 */ li r31, 0x0
/* 8007F154 0007AF94 41 82 00 0C */ beq lbl_8007F160
/* 8007F158 0007AF98 A3 9D 00 02 */ lhz r28, 0x2(r29)
/* 8007F15C 0007AF9C 48 00 00 28 */ b lbl_8007F184
.global lbl_8007F160
lbl_8007F160:
2022-10-16 16:31:36 +00:00
/* 8007F160 0007AFA0 3F C0 80 4F */ lis r30, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F164 0007AFA4 7F 64 DB 78 */ mr r4, r27
2022-10-16 16:31:36 +00:00
/* 8007F168 0007AFA8 3B DE 5F 58 */ addi r30, r30, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F16C 0007AFAC 38 A0 00 06 */ li r5, 0x6
/* 8007F170 0007AFB0 38 7E 06 30 */ addi r3, r30, 0x630
2022-10-16 16:31:36 +00:00
/* 8007F174 0007AFB4 4B F8 BC FD */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007F178 0007AFB8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007F17C 0007AFBC 40 82 00 08 */ bne lbl_8007F184
/* 8007F180 0007AFC0 A3 9E 06 54 */ lhz r28, 0x654(r30)
.global lbl_8007F184
lbl_8007F184:
/* 8007F184 0007AFC4 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8007F188 0007AFC8 41 82 00 C0 */ beq lbl_8007F248
/* 8007F18C 0007AFCC 57 80 04 A5 */ rlwinm. r0, r28, 0, 18, 18
/* 8007F190 0007AFD0 40 82 00 0C */ bne lbl_8007F19C
/* 8007F194 0007AFD4 3B E0 03 FD */ li r31, 0x3fd
/* 8007F198 0007AFD8 48 00 00 B0 */ b lbl_8007F248
.global lbl_8007F19C
lbl_8007F19C:
/* 8007F19C 0007AFDC 57 80 04 E7 */ rlwinm. r0, r28, 0, 19, 19
/* 8007F1A0 0007AFE0 40 82 00 0C */ bne lbl_8007F1AC
/* 8007F1A4 0007AFE4 3B E0 02 A7 */ li r31, 0x2a7
/* 8007F1A8 0007AFE8 48 00 00 A0 */ b lbl_8007F248
.global lbl_8007F1AC
lbl_8007F1AC:
/* 8007F1AC 0007AFEC 57 80 05 AD */ rlwinm. r0, r28, 0, 22, 22
/* 8007F1B0 0007AFF0 40 82 00 0C */ bne lbl_8007F1BC
/* 8007F1B4 0007AFF4 3B E0 02 28 */ li r31, 0x228
/* 8007F1B8 0007AFF8 48 00 00 90 */ b lbl_8007F248
.global lbl_8007F1BC
lbl_8007F1BC:
/* 8007F1BC 0007AFFC 57 80 04 21 */ rlwinm. r0, r28, 0, 16, 16
/* 8007F1C0 0007B000 41 82 00 0C */ beq lbl_8007F1CC
/* 8007F1C4 0007B004 3B E0 01 53 */ li r31, 0x153
/* 8007F1C8 0007B008 48 00 00 80 */ b lbl_8007F248
.global lbl_8007F1CC
lbl_8007F1CC:
/* 8007F1CC 0007B00C 57 80 05 EF */ rlwinm. r0, r28, 0, 23, 23
/* 8007F1D0 0007B010 40 82 00 0C */ bne lbl_8007F1DC
/* 8007F1D4 0007B014 3B E0 01 6F */ li r31, 0x16f
/* 8007F1D8 0007B018 48 00 00 70 */ b lbl_8007F248
.global lbl_8007F1DC
lbl_8007F1DC:
/* 8007F1DC 0007B01C 57 80 04 63 */ rlwinm. r0, r28, 0, 17, 17
/* 8007F1E0 0007B020 41 82 00 0C */ beq lbl_8007F1EC
/* 8007F1E4 0007B024 3B E0 00 E0 */ li r31, 0xe0
/* 8007F1E8 0007B028 48 00 00 60 */ b lbl_8007F248
.global lbl_8007F1EC
lbl_8007F1EC:
/* 8007F1EC 0007B02C 57 80 05 29 */ rlwinm. r0, r28, 0, 20, 20
/* 8007F1F0 0007B030 41 82 00 0C */ beq lbl_8007F1FC
/* 8007F1F4 0007B034 3B E0 00 B7 */ li r31, 0xb7
/* 8007F1F8 0007B038 48 00 00 50 */ b lbl_8007F248
.global lbl_8007F1FC
lbl_8007F1FC:
/* 8007F1FC 0007B03C 57 80 05 6B */ rlwinm. r0, r28, 0, 21, 21
/* 8007F200 0007B040 41 82 00 0C */ beq lbl_8007F20C
/* 8007F204 0007B044 3B E0 00 79 */ li r31, 0x79
/* 8007F208 0007B048 48 00 00 40 */ b lbl_8007F248
.global lbl_8007F20C
lbl_8007F20C:
/* 8007F20C 0007B04C 57 80 07 7B */ rlwinm. r0, r28, 0, 29, 29
/* 8007F210 0007B050 40 82 00 0C */ bne lbl_8007F21C
/* 8007F214 0007B054 3B E0 00 53 */ li r31, 0x53
/* 8007F218 0007B058 48 00 00 30 */ b lbl_8007F248
.global lbl_8007F21C
lbl_8007F21C:
/* 8007F21C 0007B05C 57 80 07 BD */ rlwinm. r0, r28, 0, 30, 30
/* 8007F220 0007B060 40 82 00 0C */ bne lbl_8007F22C
/* 8007F224 0007B064 3B E0 00 36 */ li r31, 0x36
/* 8007F228 0007B068 48 00 00 20 */ b lbl_8007F248
.global lbl_8007F22C
lbl_8007F22C:
/* 8007F22C 0007B06C 57 80 06 F7 */ rlwinm. r0, r28, 0, 27, 27
/* 8007F230 0007B070 41 82 00 0C */ beq lbl_8007F23C
/* 8007F234 0007B074 3B E0 00 1B */ li r31, 0x1b
/* 8007F238 0007B078 48 00 00 10 */ b lbl_8007F248
.global lbl_8007F23C
lbl_8007F23C:
/* 8007F23C 0007B07C 57 80 07 39 */ rlwinm. r0, r28, 0, 28, 28
/* 8007F240 0007B080 41 82 00 08 */ beq lbl_8007F248
/* 8007F244 0007B084 3B E0 00 11 */ li r31, 0x11
.global lbl_8007F248
lbl_8007F248:
/* 8007F248 0007B088 28 1F 03 FD */ cmplwi r31, 0x3fd
/* 8007F24C 0007B08C 40 82 00 1C */ bne lbl_8007F268
2022-10-16 16:31:36 +00:00
/* 8007F250 0007B090 3C 60 80 4F */ lis r3, btu_cb@ha
/* 8007F254 0007B094 38 63 5A 30 */ addi r3, r3, btu_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F258 0007B098 A0 03 00 7C */ lhz r0, 0x7c(r3)
/* 8007F25C 0007B09C 28 00 03 F9 */ cmplwi r0, 0x3f9
/* 8007F260 0007B0A0 40 82 00 08 */ bne lbl_8007F268
/* 8007F264 0007B0A4 3B E0 03 F9 */ li r31, 0x3f9
.global lbl_8007F268
lbl_8007F268:
/* 8007F268 0007B0A8 39 61 00 20 */ addi r11, r1, 0x20
/* 8007F26C 0007B0AC 7F E3 FB 78 */ mr r3, r31
/* 8007F270 0007B0B0 4B F8 81 19 */ bl lbl_80007388
/* 8007F274 0007B0B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007F278 0007B0B8 7C 08 03 A6 */ mtlr r0
/* 8007F27C 0007B0BC 38 21 00 20 */ addi r1, r1, 0x20
/* 8007F280 0007B0C0 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_AclRegisterForChanges
BTM_AclRegisterForChanges:
2022-10-16 16:05:58 +00:00
/* 8007F284 0007B0C4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007F288 0007B0C8 40 82 00 18 */ bne lbl_8007F2A0
2022-10-16 16:31:36 +00:00
/* 8007F28C 0007B0CC 3C 60 80 4F */ lis r3, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F290 0007B0D0 38 00 00 00 */ li r0, 0x0
2022-10-16 16:31:36 +00:00
/* 8007F294 0007B0D4 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F298 0007B0D8 90 03 04 C8 */ stw r0, 0x4c8(r3)
/* 8007F29C 0007B0DC 48 00 00 24 */ b lbl_8007F2C0
.global lbl_8007F2A0
lbl_8007F2A0:
2022-10-16 16:31:36 +00:00
/* 8007F2A0 0007B0E0 3C 80 80 4F */ lis r4, btm_cb@ha
/* 8007F2A4 0007B0E4 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F2A8 0007B0E8 80 04 04 C8 */ lwz r0, 0x4c8(r4)
/* 8007F2AC 0007B0EC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F2B0 0007B0F0 41 82 00 0C */ beq lbl_8007F2BC
/* 8007F2B4 0007B0F4 38 60 00 02 */ li r3, 0x2
/* 8007F2B8 0007B0F8 4E 80 00 20 */ blr
.global lbl_8007F2BC
lbl_8007F2BC:
/* 8007F2BC 0007B0FC 90 64 04 C8 */ stw r3, 0x4c8(r4)
.global lbl_8007F2C0
lbl_8007F2C0:
/* 8007F2C0 0007B100 38 60 00 00 */ li r3, 0x0
/* 8007F2C4 0007B104 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_qos_setup_complete
btm_qos_setup_complete:
2022-10-16 16:05:58 +00:00
/* 8007F2C8 0007B108 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8007F2CC 0007B10C 7C 08 02 A6 */ mflr r0
/* 8007F2D0 0007B110 90 01 00 44 */ stw r0, 0x44(r1)
/* 8007F2D4 0007B114 39 61 00 40 */ addi r11, r1, 0x40
/* 8007F2D8 0007B118 4B F8 80 65 */ bl lbl_8000733C
2022-10-16 16:31:36 +00:00
/* 8007F2DC 0007B11C 3F E0 80 4F */ lis r31, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F2E0 0007B120 7C 7B 1B 78 */ mr r27, r3
2022-10-16 16:31:36 +00:00
/* 8007F2E4 0007B124 3B FF 5F 58 */ addi r31, r31, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F2E8 0007B128 7C 9C 23 78 */ mr r28, r4
/* 8007F2EC 0007B12C 83 DF 06 18 */ lwz r30, 0x618(r31)
/* 8007F2F0 0007B130 7C BD 2B 78 */ mr r29, r5
/* 8007F2F4 0007B134 38 7F 06 00 */ addi r3, r31, 0x600
2022-10-16 16:31:36 +00:00
/* 8007F2F8 0007B138 4B FF 8C 29 */ bl btu_stop_timer
2022-10-16 16:05:58 +00:00
/* 8007F2FC 0007B13C 38 00 00 00 */ li r0, 0x0
/* 8007F300 0007B140 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007F304 0007B144 90 1F 06 18 */ stw r0, 0x618(r31)
/* 8007F308 0007B148 41 82 00 80 */ beq lbl_8007F388
/* 8007F30C 0007B14C 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8007F310 0007B150 9B 61 00 22 */ stb r27, 0x22(r1)
/* 8007F314 0007B154 B3 81 00 20 */ sth r28, 0x20(r1)
/* 8007F318 0007B158 41 82 00 34 */ beq lbl_8007F34C
/* 8007F31C 0007B15C 88 1D 00 00 */ lbz r0, 0x0(r29)
/* 8007F320 0007B160 98 01 00 08 */ stb r0, 0x8(r1)
/* 8007F324 0007B164 88 1D 00 01 */ lbz r0, 0x1(r29)
/* 8007F328 0007B168 98 01 00 09 */ stb r0, 0x9(r1)
/* 8007F32C 0007B16C 80 1D 00 04 */ lwz r0, 0x4(r29)
/* 8007F330 0007B170 90 01 00 0C */ stw r0, 0xc(r1)
/* 8007F334 0007B174 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8007F338 0007B178 90 01 00 14 */ stw r0, 0x14(r1)
/* 8007F33C 0007B17C 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8007F340 0007B180 90 01 00 18 */ stw r0, 0x18(r1)
/* 8007F344 0007B184 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 8007F348 0007B188 90 01 00 1C */ stw r0, 0x1c(r1)
.global lbl_8007F34C
lbl_8007F34C:
2022-10-16 16:31:36 +00:00
/* 8007F34C 0007B18C 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007F350 0007B190 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F354 0007B194 88 03 27 C0 */ lbz r0, 0x27c0(r3)
/* 8007F358 0007B198 28 00 00 05 */ cmplwi r0, 0x5
/* 8007F35C 0007B19C 41 80 00 1C */ blt lbl_8007F378
/* 8007F360 0007B1A0 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007F364 0007B1A4 3C 80 80 44 */ lis r4, "@2946"@ha
2022-10-16 16:05:58 +00:00
/* 8007F368 0007B1A8 80 BD 00 14 */ lwz r5, 0x14(r29)
/* 8007F36C 0007B1AC 38 63 00 04 */ addi r3, r3, 0x4
2022-10-16 16:31:36 +00:00
/* 8007F370 0007B1B0 38 84 B9 34 */ addi r4, r4, "@2946"@l
/* 8007F374 0007B1B4 4B FF 85 ED */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007F378
lbl_8007F378:
/* 8007F378 0007B1B8 7F CC F3 78 */ mr r12, r30
/* 8007F37C 0007B1BC 38 61 00 08 */ addi r3, r1, 0x8
/* 8007F380 0007B1C0 7D 89 03 A6 */ mtctr r12
/* 8007F384 0007B1C4 4E 80 04 21 */ bctrl
.global lbl_8007F388
lbl_8007F388:
/* 8007F388 0007B1C8 39 61 00 40 */ addi r11, r1, 0x40
/* 8007F38C 0007B1CC 4B F8 7F FD */ bl lbl_80007388
/* 8007F390 0007B1D0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8007F394 0007B1D4 7C 08 03 A6 */ mtlr r0
/* 8007F398 0007B1D8 38 21 00 40 */ addi r1, r1, 0x40
/* 8007F39C 0007B1DC 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_ReadRSSI
BTM_ReadRSSI:
2022-10-16 16:05:58 +00:00
/* 8007F3A0 0007B1E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007F3A4 0007B1E4 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8007F3A8 0007B1E8 3C A0 80 4F */ lis r5, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F3AC 0007B1EC 90 01 00 24 */ stw r0, 0x24(r1)
2022-10-16 16:31:36 +00:00
/* 8007F3B0 0007B1F0 38 A5 5F 58 */ addi r5, r5, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F3B4 0007B1F4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007F3B8 0007B1F8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8007F3BC 0007B1FC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007F3C0 0007B200 7C 9D 23 78 */ mr r29, r4
/* 8007F3C4 0007B204 93 81 00 10 */ stw r28, 0x10(r1)
/* 8007F3C8 0007B208 7C 7C 1B 78 */ mr r28, r3
/* 8007F3CC 0007B20C 88 05 27 C0 */ lbz r0, 0x27c0(r5)
/* 8007F3D0 0007B210 28 00 00 03 */ cmplwi r0, 0x3
/* 8007F3D4 0007B214 41 80 00 30 */ blt lbl_8007F404
/* 8007F3D8 0007B218 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007F3DC 0007B21C 3C 80 80 44 */ lis r4, "@2957_8043B95C"@ha
2022-10-16 16:05:58 +00:00
/* 8007F3E0 0007B220 88 BC 00 00 */ lbz r5, 0x0(r28)
/* 8007F3E4 0007B224 38 63 00 02 */ addi r3, r3, 0x2
/* 8007F3E8 0007B228 88 DC 00 01 */ lbz r6, 0x1(r28)
2022-10-16 16:31:36 +00:00
/* 8007F3EC 0007B22C 38 84 B9 5C */ addi r4, r4, "@2957_8043B95C"@l
2022-10-16 16:05:58 +00:00
/* 8007F3F0 0007B230 88 FC 00 02 */ lbz r7, 0x2(r28)
/* 8007F3F4 0007B234 89 1C 00 03 */ lbz r8, 0x3(r28)
/* 8007F3F8 0007B238 89 3C 00 04 */ lbz r9, 0x4(r28)
/* 8007F3FC 0007B23C 89 5C 00 05 */ lbz r10, 0x5(r28)
2022-10-16 16:31:36 +00:00
/* 8007F400 0007B240 4B FF 85 61 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007F404
lbl_8007F404:
2022-10-16 16:31:36 +00:00
/* 8007F404 0007B244 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007F408 0007B248 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F40C 0007B24C 80 03 05 E0 */ lwz r0, 0x5e0(r3)
/* 8007F410 0007B250 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F414 0007B254 41 82 00 0C */ beq lbl_8007F420
/* 8007F418 0007B258 38 60 00 02 */ li r3, 0x2
/* 8007F41C 0007B25C 48 00 00 A0 */ b lbl_8007F4BC
.global lbl_8007F420
lbl_8007F420:
/* 8007F420 0007B260 3B C3 00 34 */ addi r30, r3, 0x34
/* 8007F424 0007B264 3B E0 00 00 */ li r31, 0x0
.global lbl_8007F428
lbl_8007F428:
/* 8007F428 0007B268 88 1E 01 19 */ lbz r0, 0x119(r30)
/* 8007F42C 0007B26C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F430 0007B270 41 82 00 20 */ beq lbl_8007F450
/* 8007F434 0007B274 7F 84 E3 78 */ mr r4, r28
/* 8007F438 0007B278 38 7E 00 08 */ addi r3, r30, 0x8
/* 8007F43C 0007B27C 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007F440 0007B280 4B F8 BA 31 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007F444 0007B284 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007F448 0007B288 40 82 00 08 */ bne lbl_8007F450
/* 8007F44C 0007B28C 48 00 00 18 */ b lbl_8007F464
.global lbl_8007F450
lbl_8007F450:
/* 8007F450 0007B290 3B FF 00 01 */ addi r31, r31, 0x1
/* 8007F454 0007B294 3B DE 01 1C */ addi r30, r30, 0x11c
/* 8007F458 0007B298 28 1F 00 04 */ cmplwi r31, 0x4
/* 8007F45C 0007B29C 41 80 FF CC */ blt lbl_8007F428
/* 8007F460 0007B2A0 3B C0 00 00 */ li r30, 0x0
.global lbl_8007F464
lbl_8007F464:
/* 8007F464 0007B2A4 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007F468 0007B2A8 41 82 00 50 */ beq lbl_8007F4B8
2022-10-16 16:31:36 +00:00
/* 8007F46C 0007B2AC 3F E0 80 4F */ lis r31, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F470 0007B2B0 38 80 00 09 */ li r4, 0x9
2022-10-16 16:31:36 +00:00
/* 8007F474 0007B2B4 3B FF 5F 58 */ addi r31, r31, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F478 0007B2B8 38 A0 00 03 */ li r5, 0x3
/* 8007F47C 0007B2BC 38 7F 05 C8 */ addi r3, r31, 0x5c8
2022-10-16 16:31:36 +00:00
/* 8007F480 0007B2C0 4B FF 8A 31 */ bl btu_start_timer
2022-10-16 16:05:58 +00:00
/* 8007F484 0007B2C4 93 BF 05 E0 */ stw r29, 0x5e0(r31)
/* 8007F488 0007B2C8 A0 7E 00 00 */ lhz r3, 0x0(r30)
2022-10-16 16:31:36 +00:00
/* 8007F48C 0007B2CC 48 00 D4 0D */ bl btsnd_hcic_read_rssi
2022-10-16 16:05:58 +00:00
/* 8007F490 0007B2D0 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007F494 0007B2D4 40 82 00 1C */ bne lbl_8007F4B0
/* 8007F498 0007B2D8 38 00 00 00 */ li r0, 0x0
/* 8007F49C 0007B2DC 38 7F 05 C8 */ addi r3, r31, 0x5c8
/* 8007F4A0 0007B2E0 90 1F 05 E0 */ stw r0, 0x5e0(r31)
2022-10-16 16:31:36 +00:00
/* 8007F4A4 0007B2E4 4B FF 8A 7D */ bl btu_stop_timer
2022-10-16 16:05:58 +00:00
/* 8007F4A8 0007B2E8 38 60 00 03 */ li r3, 0x3
/* 8007F4AC 0007B2EC 48 00 00 10 */ b lbl_8007F4BC
.global lbl_8007F4B0
lbl_8007F4B0:
/* 8007F4B0 0007B2F0 38 60 00 01 */ li r3, 0x1
/* 8007F4B4 0007B2F4 48 00 00 08 */ b lbl_8007F4BC
.global lbl_8007F4B8
lbl_8007F4B8:
/* 8007F4B8 0007B2F8 38 60 00 07 */ li r3, 0x7
.global lbl_8007F4BC
lbl_8007F4BC:
/* 8007F4BC 0007B2FC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007F4C0 0007B300 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007F4C4 0007B304 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007F4C8 0007B308 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007F4CC 0007B30C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8007F4D0 0007B310 7C 08 03 A6 */ mtlr r0
/* 8007F4D4 0007B314 38 21 00 20 */ addi r1, r1, 0x20
/* 8007F4D8 0007B318 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global BTM_ReadLinkQuality
BTM_ReadLinkQuality:
2022-10-16 16:05:58 +00:00
/* 8007F4DC 0007B31C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007F4E0 0007B320 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8007F4E4 0007B324 3C A0 80 4F */ lis r5, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F4E8 0007B328 90 01 00 24 */ stw r0, 0x24(r1)
2022-10-16 16:31:36 +00:00
/* 8007F4EC 0007B32C 38 A5 5F 58 */ addi r5, r5, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F4F0 0007B330 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007F4F4 0007B334 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8007F4F8 0007B338 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007F4FC 0007B33C 7C 9D 23 78 */ mr r29, r4
/* 8007F500 0007B340 93 81 00 10 */ stw r28, 0x10(r1)
/* 8007F504 0007B344 7C 7C 1B 78 */ mr r28, r3
/* 8007F508 0007B348 88 05 27 C0 */ lbz r0, 0x27c0(r5)
/* 8007F50C 0007B34C 28 00 00 03 */ cmplwi r0, 0x3
/* 8007F510 0007B350 41 80 00 30 */ blt lbl_8007F540
/* 8007F514 0007B354 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007F518 0007B358 3C 80 80 44 */ lis r4, "@2969"@ha
2022-10-16 16:05:58 +00:00
/* 8007F51C 0007B35C 88 BC 00 00 */ lbz r5, 0x0(r28)
/* 8007F520 0007B360 38 63 00 02 */ addi r3, r3, 0x2
/* 8007F524 0007B364 88 DC 00 01 */ lbz r6, 0x1(r28)
2022-10-16 16:31:36 +00:00
/* 8007F528 0007B368 38 84 B9 90 */ addi r4, r4, "@2969"@l
2022-10-16 16:05:58 +00:00
/* 8007F52C 0007B36C 88 FC 00 02 */ lbz r7, 0x2(r28)
/* 8007F530 0007B370 89 1C 00 03 */ lbz r8, 0x3(r28)
/* 8007F534 0007B374 89 3C 00 04 */ lbz r9, 0x4(r28)
/* 8007F538 0007B378 89 5C 00 05 */ lbz r10, 0x5(r28)
2022-10-16 16:31:36 +00:00
/* 8007F53C 0007B37C 4B FF 84 25 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007F540
lbl_8007F540:
2022-10-16 16:31:36 +00:00
/* 8007F540 0007B380 3C 60 80 4F */ lis r3, btm_cb@ha
/* 8007F544 0007B384 38 63 5F 58 */ addi r3, r3, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F548 0007B388 80 03 05 FC */ lwz r0, 0x5fc(r3)
/* 8007F54C 0007B38C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F550 0007B390 41 82 00 0C */ beq lbl_8007F55C
/* 8007F554 0007B394 38 60 00 02 */ li r3, 0x2
/* 8007F558 0007B398 48 00 00 A0 */ b lbl_8007F5F8
.global lbl_8007F55C
lbl_8007F55C:
/* 8007F55C 0007B39C 3B C3 00 34 */ addi r30, r3, 0x34
/* 8007F560 0007B3A0 3B E0 00 00 */ li r31, 0x0
.global lbl_8007F564
lbl_8007F564:
/* 8007F564 0007B3A4 88 1E 01 19 */ lbz r0, 0x119(r30)
/* 8007F568 0007B3A8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F56C 0007B3AC 41 82 00 20 */ beq lbl_8007F58C
/* 8007F570 0007B3B0 7F 84 E3 78 */ mr r4, r28
/* 8007F574 0007B3B4 38 7E 00 08 */ addi r3, r30, 0x8
/* 8007F578 0007B3B8 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007F57C 0007B3BC 4B F8 B8 F5 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007F580 0007B3C0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007F584 0007B3C4 40 82 00 08 */ bne lbl_8007F58C
/* 8007F588 0007B3C8 48 00 00 18 */ b lbl_8007F5A0
.global lbl_8007F58C
lbl_8007F58C:
/* 8007F58C 0007B3CC 3B FF 00 01 */ addi r31, r31, 0x1
/* 8007F590 0007B3D0 3B DE 01 1C */ addi r30, r30, 0x11c
/* 8007F594 0007B3D4 28 1F 00 04 */ cmplwi r31, 0x4
/* 8007F598 0007B3D8 41 80 FF CC */ blt lbl_8007F564
/* 8007F59C 0007B3DC 3B C0 00 00 */ li r30, 0x0
.global lbl_8007F5A0
lbl_8007F5A0:
/* 8007F5A0 0007B3E0 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007F5A4 0007B3E4 41 82 00 50 */ beq lbl_8007F5F4
2022-10-16 16:31:36 +00:00
/* 8007F5A8 0007B3E8 3F E0 80 4F */ lis r31, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F5AC 0007B3EC 38 80 00 09 */ li r4, 0x9
2022-10-16 16:31:36 +00:00
/* 8007F5B0 0007B3F0 3B FF 5F 58 */ addi r31, r31, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F5B4 0007B3F4 38 A0 00 03 */ li r5, 0x3
/* 8007F5B8 0007B3F8 38 7F 05 E4 */ addi r3, r31, 0x5e4
2022-10-16 16:31:36 +00:00
/* 8007F5BC 0007B3FC 4B FF 88 F5 */ bl btu_start_timer
2022-10-16 16:05:58 +00:00
/* 8007F5C0 0007B400 93 BF 05 FC */ stw r29, 0x5fc(r31)
/* 8007F5C4 0007B404 A0 7E 00 00 */ lhz r3, 0x0(r30)
2022-10-16 16:31:36 +00:00
/* 8007F5C8 0007B408 48 00 D2 55 */ bl btsnd_hcic_get_link_quality
2022-10-16 16:05:58 +00:00
/* 8007F5CC 0007B40C 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007F5D0 0007B410 40 82 00 1C */ bne lbl_8007F5EC
/* 8007F5D4 0007B414 38 7F 05 E4 */ addi r3, r31, 0x5e4
2022-10-16 16:31:36 +00:00
/* 8007F5D8 0007B418 4B FF 89 49 */ bl btu_stop_timer
2022-10-16 16:05:58 +00:00
/* 8007F5DC 0007B41C 38 00 00 00 */ li r0, 0x0
/* 8007F5E0 0007B420 38 60 00 03 */ li r3, 0x3
/* 8007F5E4 0007B424 90 1F 05 FC */ stw r0, 0x5fc(r31)
/* 8007F5E8 0007B428 48 00 00 10 */ b lbl_8007F5F8
.global lbl_8007F5EC
lbl_8007F5EC:
/* 8007F5EC 0007B42C 38 60 00 01 */ li r3, 0x1
/* 8007F5F0 0007B430 48 00 00 08 */ b lbl_8007F5F8
.global lbl_8007F5F4
lbl_8007F5F4:
/* 8007F5F4 0007B434 38 60 00 07 */ li r3, 0x7
.global lbl_8007F5F8
lbl_8007F5F8:
/* 8007F5F8 0007B438 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007F5FC 0007B43C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007F600 0007B440 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007F604 0007B444 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007F608 0007B448 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8007F60C 0007B44C 7C 08 03 A6 */ mtlr r0
/* 8007F610 0007B450 38 21 00 20 */ addi r1, r1, 0x20
/* 8007F614 0007B454 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_read_rssi_complete
btm_read_rssi_complete:
2022-10-16 16:05:58 +00:00
/* 8007F618 0007B458 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8007F61C 0007B45C 7C 08 02 A6 */ mflr r0
/* 8007F620 0007B460 90 01 00 34 */ stw r0, 0x34(r1)
/* 8007F624 0007B464 93 E1 00 2C */ stw r31, 0x2c(r1)
2022-10-16 16:31:36 +00:00
/* 8007F628 0007B468 3F E0 80 4F */ lis r31, btm_cb@ha
/* 8007F62C 0007B46C 3B FF 5F 58 */ addi r31, r31, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F630 0007B470 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8007F634 0007B474 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8007F638 0007B478 3B BF 00 34 */ addi r29, r31, 0x34
/* 8007F63C 0007B47C 93 81 00 20 */ stw r28, 0x20(r1)
/* 8007F640 0007B480 7C 7C 1B 78 */ mr r28, r3
/* 8007F644 0007B484 38 7F 05 C8 */ addi r3, r31, 0x5c8
/* 8007F648 0007B488 83 DF 05 E0 */ lwz r30, 0x5e0(r31)
2022-10-16 16:31:36 +00:00
/* 8007F64C 0007B48C 4B FF 88 D5 */ bl btu_stop_timer
2022-10-16 16:05:58 +00:00
/* 8007F650 0007B490 38 00 00 00 */ li r0, 0x0
/* 8007F654 0007B494 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007F658 0007B498 90 1F 05 E0 */ stw r0, 0x5e0(r31)
/* 8007F65C 0007B49C 41 82 00 B8 */ beq lbl_8007F714
/* 8007F660 0007B4A0 88 DC 00 00 */ lbz r6, 0x0(r28)
/* 8007F664 0007B4A4 2C 06 00 00 */ cmpwi r6, 0x0
/* 8007F668 0007B4A8 98 C1 00 09 */ stb r6, 0x9(r1)
/* 8007F66C 0007B4AC 40 82 00 90 */ bne lbl_8007F6FC
/* 8007F670 0007B4B0 98 01 00 08 */ stb r0, 0x8(r1)
/* 8007F674 0007B4B4 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 8007F678 0007B4B8 88 7C 00 02 */ lbz r3, 0x2(r28)
/* 8007F67C 0007B4BC 88 9C 00 01 */ lbz r4, 0x1(r28)
/* 8007F680 0007B4C0 28 00 00 04 */ cmplwi r0, 0x4
/* 8007F684 0007B4C4 88 BC 00 03 */ lbz r5, 0x3(r28)
/* 8007F688 0007B4C8 54 60 40 2E */ slwi r0, r3, 8
/* 8007F68C 0007B4CC 7C 04 02 14 */ add r0, r4, r0
/* 8007F690 0007B4D0 98 A1 00 0A */ stb r5, 0xa(r1)
/* 8007F694 0007B4D4 54 1F 04 3E */ clrlwi r31, r0, 16
/* 8007F698 0007B4D8 41 80 00 1C */ blt lbl_8007F6B4
/* 8007F69C 0007B4DC 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007F6A0 0007B4E0 3C 80 80 44 */ lis r4, "@2982_8043B9CC"@ha
2022-10-16 16:05:58 +00:00
/* 8007F6A4 0007B4E4 38 63 00 03 */ addi r3, r3, 0x3
/* 8007F6A8 0007B4E8 7C A5 07 74 */ extsb r5, r5
2022-10-16 16:31:36 +00:00
/* 8007F6AC 0007B4EC 38 84 B9 CC */ addi r4, r4, "@2982_8043B9CC"@l
/* 8007F6B0 0007B4F0 4B FF 82 B1 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007F6B4
lbl_8007F6B4:
/* 8007F6B4 0007B4F4 38 00 00 04 */ li r0, 0x4
/* 8007F6B8 0007B4F8 38 60 00 00 */ li r3, 0x0
/* 8007F6BC 0007B4FC 7C 09 03 A6 */ mtctr r0
.global lbl_8007F6C0
lbl_8007F6C0:
/* 8007F6C0 0007B500 88 1D 01 19 */ lbz r0, 0x119(r29)
/* 8007F6C4 0007B504 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F6C8 0007B508 41 82 00 24 */ beq lbl_8007F6EC
/* 8007F6CC 0007B50C A0 1D 00 00 */ lhz r0, 0x0(r29)
/* 8007F6D0 0007B510 7C 1F 00 40 */ cmplw r31, r0
/* 8007F6D4 0007B514 40 82 00 18 */ bne lbl_8007F6EC
/* 8007F6D8 0007B518 38 61 00 0B */ addi r3, r1, 0xb
/* 8007F6DC 0007B51C 38 9D 00 08 */ addi r4, r29, 0x8
/* 8007F6E0 0007B520 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007F6E4 0007B524 4B F8 49 1D */ bl memcpy
2022-10-16 16:05:58 +00:00
/* 8007F6E8 0007B528 48 00 00 1C */ b lbl_8007F704
.global lbl_8007F6EC
lbl_8007F6EC:
/* 8007F6EC 0007B52C 38 63 00 01 */ addi r3, r3, 0x1
/* 8007F6F0 0007B530 3B BD 01 1C */ addi r29, r29, 0x11c
/* 8007F6F4 0007B534 42 00 FF CC */ bdnz lbl_8007F6C0
/* 8007F6F8 0007B538 48 00 00 0C */ b lbl_8007F704
.global lbl_8007F6FC
lbl_8007F6FC:
/* 8007F6FC 0007B53C 38 00 00 0A */ li r0, 0xa
/* 8007F700 0007B540 98 01 00 08 */ stb r0, 0x8(r1)
.global lbl_8007F704
lbl_8007F704:
/* 8007F704 0007B544 7F CC F3 78 */ mr r12, r30
/* 8007F708 0007B548 38 61 00 08 */ addi r3, r1, 0x8
/* 8007F70C 0007B54C 7D 89 03 A6 */ mtctr r12
/* 8007F710 0007B550 4E 80 04 21 */ bctrl
.global lbl_8007F714
lbl_8007F714:
/* 8007F714 0007B554 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8007F718 0007B558 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8007F71C 0007B55C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8007F720 0007B560 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8007F724 0007B564 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8007F728 0007B568 7C 08 03 A6 */ mtlr r0
/* 8007F72C 0007B56C 38 21 00 30 */ addi r1, r1, 0x30
/* 8007F730 0007B570 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_read_link_quality_complete
btm_read_link_quality_complete:
2022-10-16 16:05:58 +00:00
/* 8007F734 0007B574 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8007F738 0007B578 7C 08 02 A6 */ mflr r0
/* 8007F73C 0007B57C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8007F740 0007B580 93 E1 00 2C */ stw r31, 0x2c(r1)
2022-10-16 16:31:36 +00:00
/* 8007F744 0007B584 3F E0 80 4F */ lis r31, btm_cb@ha
/* 8007F748 0007B588 3B FF 5F 58 */ addi r31, r31, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F74C 0007B58C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8007F750 0007B590 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8007F754 0007B594 3B BF 00 34 */ addi r29, r31, 0x34
/* 8007F758 0007B598 93 81 00 20 */ stw r28, 0x20(r1)
/* 8007F75C 0007B59C 7C 7C 1B 78 */ mr r28, r3
/* 8007F760 0007B5A0 38 7F 05 C8 */ addi r3, r31, 0x5c8
/* 8007F764 0007B5A4 83 DF 05 FC */ lwz r30, 0x5fc(r31)
2022-10-16 16:31:36 +00:00
/* 8007F768 0007B5A8 4B FF 87 B9 */ bl btu_stop_timer
2022-10-16 16:05:58 +00:00
/* 8007F76C 0007B5AC 38 00 00 00 */ li r0, 0x0
/* 8007F770 0007B5B0 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007F774 0007B5B4 90 1F 05 FC */ stw r0, 0x5fc(r31)
/* 8007F778 0007B5B8 41 82 00 B4 */ beq lbl_8007F82C
/* 8007F77C 0007B5BC 88 DC 00 00 */ lbz r6, 0x0(r28)
/* 8007F780 0007B5C0 2C 06 00 00 */ cmpwi r6, 0x0
/* 8007F784 0007B5C4 98 C1 00 09 */ stb r6, 0x9(r1)
/* 8007F788 0007B5C8 40 82 00 8C */ bne lbl_8007F814
/* 8007F78C 0007B5CC 98 01 00 08 */ stb r0, 0x8(r1)
/* 8007F790 0007B5D0 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 8007F794 0007B5D4 88 7C 00 02 */ lbz r3, 0x2(r28)
/* 8007F798 0007B5D8 88 9C 00 01 */ lbz r4, 0x1(r28)
/* 8007F79C 0007B5DC 28 00 00 04 */ cmplwi r0, 0x4
/* 8007F7A0 0007B5E0 88 BC 00 03 */ lbz r5, 0x3(r28)
/* 8007F7A4 0007B5E4 54 60 40 2E */ slwi r0, r3, 8
/* 8007F7A8 0007B5E8 7C 04 02 14 */ add r0, r4, r0
/* 8007F7AC 0007B5EC 98 A1 00 0A */ stb r5, 0xa(r1)
/* 8007F7B0 0007B5F0 54 1F 04 3E */ clrlwi r31, r0, 16
/* 8007F7B4 0007B5F4 41 80 00 18 */ blt lbl_8007F7CC
/* 8007F7B8 0007B5F8 3C 60 00 0D */ lis r3, 0xd
2022-10-16 16:31:36 +00:00
/* 8007F7BC 0007B5FC 3C 80 80 44 */ lis r4, "@2994_8043B9FC"@ha
2022-10-16 16:05:58 +00:00
/* 8007F7C0 0007B600 38 63 00 03 */ addi r3, r3, 0x3
2022-10-16 16:31:36 +00:00
/* 8007F7C4 0007B604 38 84 B9 FC */ addi r4, r4, "@2994_8043B9FC"@l
/* 8007F7C8 0007B608 4B FF 81 99 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007F7CC
lbl_8007F7CC:
/* 8007F7CC 0007B60C 38 00 00 04 */ li r0, 0x4
/* 8007F7D0 0007B610 38 60 00 00 */ li r3, 0x0
/* 8007F7D4 0007B614 7C 09 03 A6 */ mtctr r0
.global lbl_8007F7D8
lbl_8007F7D8:
/* 8007F7D8 0007B618 88 1D 01 19 */ lbz r0, 0x119(r29)
/* 8007F7DC 0007B61C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F7E0 0007B620 41 82 00 24 */ beq lbl_8007F804
/* 8007F7E4 0007B624 A0 1D 00 00 */ lhz r0, 0x0(r29)
/* 8007F7E8 0007B628 7C 1F 00 40 */ cmplw r31, r0
/* 8007F7EC 0007B62C 40 82 00 18 */ bne lbl_8007F804
/* 8007F7F0 0007B630 38 61 00 0B */ addi r3, r1, 0xb
/* 8007F7F4 0007B634 38 9D 00 08 */ addi r4, r29, 0x8
/* 8007F7F8 0007B638 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007F7FC 0007B63C 4B F8 48 05 */ bl memcpy
2022-10-16 16:05:58 +00:00
/* 8007F800 0007B640 48 00 00 1C */ b lbl_8007F81C
.global lbl_8007F804
lbl_8007F804:
/* 8007F804 0007B644 38 63 00 01 */ addi r3, r3, 0x1
/* 8007F808 0007B648 3B BD 01 1C */ addi r29, r29, 0x11c
/* 8007F80C 0007B64C 42 00 FF CC */ bdnz lbl_8007F7D8
/* 8007F810 0007B650 48 00 00 0C */ b lbl_8007F81C
.global lbl_8007F814
lbl_8007F814:
/* 8007F814 0007B654 38 00 00 0A */ li r0, 0xa
/* 8007F818 0007B658 98 01 00 08 */ stb r0, 0x8(r1)
.global lbl_8007F81C
lbl_8007F81C:
/* 8007F81C 0007B65C 7F CC F3 78 */ mr r12, r30
/* 8007F820 0007B660 38 61 00 08 */ addi r3, r1, 0x8
/* 8007F824 0007B664 7D 89 03 A6 */ mtctr r12
/* 8007F828 0007B668 4E 80 04 21 */ bctrl
.global lbl_8007F82C
lbl_8007F82C:
/* 8007F82C 0007B66C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8007F830 0007B670 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8007F834 0007B674 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8007F838 0007B678 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8007F83C 0007B67C 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8007F840 0007B680 7C 08 03 A6 */ mtlr r0
/* 8007F844 0007B684 38 21 00 30 */ addi r1, r1, 0x30
/* 8007F848 0007B688 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_remove_acl
btm_remove_acl:
2022-10-16 16:05:58 +00:00
/* 8007F84C 0007B68C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007F850 0007B690 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8007F854 0007B694 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F858 0007B698 90 01 00 24 */ stw r0, 0x24(r1)
2022-10-16 16:31:36 +00:00
/* 8007F85C 0007B69C 38 84 5F 58 */ addi r4, r4, btm_cb@l
2022-10-16 16:05:58 +00:00
/* 8007F860 0007B6A0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007F864 0007B6A4 3B E0 00 00 */ li r31, 0x0
/* 8007F868 0007B6A8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8007F86C 0007B6AC 3B C4 00 34 */ addi r30, r4, 0x34
/* 8007F870 0007B6B0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007F874 0007B6B4 7C 7D 1B 78 */ mr r29, r3
.global lbl_8007F878
lbl_8007F878:
/* 8007F878 0007B6B8 88 1E 01 19 */ lbz r0, 0x119(r30)
/* 8007F87C 0007B6BC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F880 0007B6C0 41 82 00 20 */ beq lbl_8007F8A0
/* 8007F884 0007B6C4 7F A4 EB 78 */ mr r4, r29
/* 8007F888 0007B6C8 38 7E 00 08 */ addi r3, r30, 0x8
/* 8007F88C 0007B6CC 38 A0 00 06 */ li r5, 0x6
2022-10-16 16:31:36 +00:00
/* 8007F890 0007B6D0 4B F8 B5 E1 */ bl memcmp
2022-10-16 16:05:58 +00:00
/* 8007F894 0007B6D4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8007F898 0007B6D8 40 82 00 08 */ bne lbl_8007F8A0
/* 8007F89C 0007B6DC 48 00 00 18 */ b lbl_8007F8B4
.global lbl_8007F8A0
lbl_8007F8A0:
/* 8007F8A0 0007B6E0 3B FF 00 01 */ addi r31, r31, 0x1
/* 8007F8A4 0007B6E4 3B DE 01 1C */ addi r30, r30, 0x11c
/* 8007F8A8 0007B6E8 28 1F 00 04 */ cmplwi r31, 0x4
/* 8007F8AC 0007B6EC 41 80 FF CC */ blt lbl_8007F878
/* 8007F8B0 0007B6F0 3B C0 00 00 */ li r30, 0x0
.global lbl_8007F8B4
lbl_8007F8B4:
/* 8007F8B4 0007B6F4 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8007F8B8 0007B6F8 41 82 00 0C */ beq lbl_8007F8C4
/* 8007F8BC 0007B6FC A0 7E 00 00 */ lhz r3, 0x0(r30)
/* 8007F8C0 0007B700 48 00 00 0C */ b lbl_8007F8CC
.global lbl_8007F8C4
lbl_8007F8C4:
/* 8007F8C4 0007B704 3C 60 00 01 */ lis r3, 0x1
/* 8007F8C8 0007B708 38 63 FF FF */ addi r3, r3, -0x1
.global lbl_8007F8CC
lbl_8007F8CC:
/* 8007F8CC 0007B70C 54 63 04 3E */ clrlwi r3, r3, 16
/* 8007F8D0 0007B710 38 80 00 13 */ li r4, 0x13
2022-10-16 16:31:36 +00:00
/* 8007F8D4 0007B714 48 00 B1 6D */ bl btsnd_hcic_disconnect
2022-10-16 16:05:58 +00:00
/* 8007F8D8 0007B718 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007F8DC 0007B71C 40 82 00 0C */ bne lbl_8007F8E8
/* 8007F8E0 0007B720 38 60 00 03 */ li r3, 0x3
/* 8007F8E4 0007B724 48 00 00 08 */ b lbl_8007F8EC
.global lbl_8007F8E8
lbl_8007F8E8:
/* 8007F8E8 0007B728 38 60 00 00 */ li r3, 0x0
.global lbl_8007F8EC
lbl_8007F8EC:
/* 8007F8EC 0007B72C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007F8F0 0007B730 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007F8F4 0007B734 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007F8F8 0007B738 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007F8FC 0007B73C 7C 08 03 A6 */ mtlr r0
/* 8007F900 0007B740 38 21 00 20 */ addi r1, r1, 0x20
/* 8007F904 0007B744 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global btm_chg_all_acl_pkt_types
btm_chg_all_acl_pkt_types:
2022-10-16 16:05:58 +00:00
/* 8007F908 0007B748 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8007F90C 0007B74C 7C 08 02 A6 */ mflr r0
/* 8007F910 0007B750 90 01 00 44 */ stw r0, 0x44(r1)
/* 8007F914 0007B754 39 61 00 40 */ addi r11, r1, 0x40
/* 8007F918 0007B758 4B F8 7A 19 */ bl lbl_80007330
2022-10-16 16:31:36 +00:00
/* 8007F91C 0007B75C 3C 80 80 4F */ lis r4, btm_cb@ha
2022-10-16 16:05:58 +00:00
/* 8007F920 0007B760 2C 03 00 00 */ cmpwi r3, 0x0
2022-10-16 16:31:36 +00:00
/* 8007F924 0007B764 3B E4 5F 58 */ addi r31, r4, btm_cb@l
/* 8007F928 0007B768 3F C0 80 44 */ lis r30, "@2591_8043B6B0"@ha
/* 8007F92C 0007B76C 3B DE B6 B0 */ addi r30, r30, "@2591_8043B6B0"@l
2022-10-16 16:05:58 +00:00
/* 8007F930 0007B770 3B 9F 00 34 */ addi r28, r31, 0x34
/* 8007F934 0007B774 41 82 00 C8 */ beq lbl_8007F9FC
/* 8007F938 0007B778 3B A0 00 00 */ li r29, 0x0
/* 8007F93C 0007B77C 3F 40 00 0D */ lis r26, 0xd
/* 8007F940 0007B780 3B 00 CC F9 */ li r24, -0x3307
.global lbl_8007F944
lbl_8007F944:
/* 8007F944 0007B784 88 1C 01 19 */ lbz r0, 0x119(r28)
/* 8007F948 0007B788 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007F94C 0007B78C 41 82 00 9C */ beq lbl_8007F9E8
/* 8007F950 0007B790 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 8007F954 0007B794 28 00 00 05 */ cmplwi r0, 0x5
/* 8007F958 0007B798 41 80 00 14 */ blt lbl_8007F96C
/* 8007F95C 0007B79C A0 BC 00 00 */ lhz r5, 0x0(r28)
/* 8007F960 0007B7A0 38 7A 00 04 */ addi r3, r26, 0x4
/* 8007F964 0007B7A4 38 9E 03 8C */ addi r4, r30, 0x38c
2022-10-16 16:31:36 +00:00
/* 8007F968 0007B7A8 4B FF 7F F9 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007F96C
lbl_8007F96C:
/* 8007F96C 0007B7AC A0 1C 00 02 */ lhz r0, 0x2(r28)
/* 8007F970 0007B7B0 38 A0 00 18 */ li r5, 0x18
/* 8007F974 0007B7B4 B0 1C 00 04 */ sth r0, 0x4(r28)
/* 8007F978 0007B7B8 88 7F 06 36 */ lbz r3, 0x636(r31)
/* 8007F97C 0007B7BC 28 03 00 03 */ cmplwi r3, 0x3
/* 8007F980 0007B7C0 41 80 00 0C */ blt lbl_8007F98C
/* 8007F984 0007B7C4 60 A0 33 00 */ ori r0, r5, 0x3300
/* 8007F988 0007B7C8 54 05 04 3E */ clrlwi r5, r0, 16
.global lbl_8007F98C
lbl_8007F98C:
/* 8007F98C 0007B7CC A0 9F 06 54 */ lhz r4, 0x654(r31)
/* 8007F990 0007B7D0 28 83 00 03 */ cmplwi cr1, r3, 0x3
/* 8007F994 0007B7D4 7C A0 20 38 */ and r0, r5, r4
/* 8007F998 0007B7D8 70 03 CC 18 */ andi. r3, r0, 0xcc18
/* 8007F99C 0007B7DC 7C 79 C0 38 */ and r25, r3, r24
/* 8007F9A0 0007B7E0 41 84 00 14 */ blt cr1, lbl_8007F9B4
/* 8007F9A4 0007B7E4 7C A0 23 78 */ or r0, r5, r4
/* 8007F9A8 0007B7E8 70 00 33 06 */ andi. r0, r0, 0x3306
/* 8007F9AC 0007B7EC 7C 60 03 78 */ or r0, r3, r0
/* 8007F9B0 0007B7F0 54 19 04 3E */ clrlwi r25, r0, 16
.global lbl_8007F9B4
lbl_8007F9B4:
/* 8007F9B4 0007B7F4 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 8007F9B8 0007B7F8 28 00 00 04 */ cmplwi r0, 0x4
/* 8007F9BC 0007B7FC 41 80 00 14 */ blt lbl_8007F9D0
/* 8007F9C0 0007B800 38 7A 00 03 */ addi r3, r26, 0x3
/* 8007F9C4 0007B804 38 9E 00 40 */ addi r4, r30, 0x40
/* 8007F9C8 0007B808 57 25 04 3E */ clrlwi r5, r25, 16
2022-10-16 16:31:36 +00:00
/* 8007F9CC 0007B80C 4B FF 7F 95 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007F9D0
lbl_8007F9D0:
/* 8007F9D0 0007B810 A0 7C 00 00 */ lhz r3, 0x0(r28)
/* 8007F9D4 0007B814 57 24 04 3E */ clrlwi r4, r25, 16
2022-10-16 16:31:36 +00:00
/* 8007F9D8 0007B818 48 00 B6 FD */ bl btsnd_hcic_change_conn_type
2022-10-16 16:05:58 +00:00
/* 8007F9DC 0007B81C 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007F9E0 0007B820 41 82 00 08 */ beq lbl_8007F9E8
/* 8007F9E4 0007B824 B3 3C 00 02 */ sth r25, 0x2(r28)
.global lbl_8007F9E8
lbl_8007F9E8:
/* 8007F9E8 0007B828 3B BD 00 01 */ addi r29, r29, 0x1
/* 8007F9EC 0007B82C 3B 9C 01 1C */ addi r28, r28, 0x11c
/* 8007F9F0 0007B830 28 1D 00 04 */ cmplwi r29, 0x4
/* 8007F9F4 0007B834 41 80 FF 50 */ blt lbl_8007F944
/* 8007F9F8 0007B838 48 00 01 18 */ b lbl_8007FB10
.global lbl_8007F9FC
lbl_8007F9FC:
/* 8007F9FC 0007B83C 3B A0 00 00 */ li r29, 0x0
/* 8007FA00 0007B840 3F 00 00 0D */ lis r24, 0xd
/* 8007FA04 0007B844 3B 20 00 00 */ li r25, 0x0
/* 8007FA08 0007B848 3B 60 CC F9 */ li r27, -0x3307
.global lbl_8007FA0C
lbl_8007FA0C:
/* 8007FA0C 0007B84C 88 1C 01 19 */ lbz r0, 0x119(r28)
/* 8007FA10 0007B850 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007FA14 0007B854 41 82 00 EC */ beq lbl_8007FB00
/* 8007FA18 0007B858 A0 1C 00 04 */ lhz r0, 0x4(r28)
/* 8007FA1C 0007B85C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8007FA20 0007B860 41 82 00 E0 */ beq lbl_8007FB00
/* 8007FA24 0007B864 38 7C 00 08 */ addi r3, r28, 0x8
/* 8007FA28 0007B868 38 81 00 08 */ addi r4, r1, 0x8
2022-10-16 16:31:36 +00:00
/* 8007FA2C 0007B86C 48 00 3F FD */ bl BTM_ReadPowerMode
2022-10-16 16:05:58 +00:00
/* 8007FA30 0007B870 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007FA34 0007B874 40 82 00 CC */ bne lbl_8007FB00
/* 8007FA38 0007B878 88 01 00 08 */ lbz r0, 0x8(r1)
/* 8007FA3C 0007B87C 28 00 00 02 */ cmplwi r0, 0x2
/* 8007FA40 0007B880 40 82 00 38 */ bne lbl_8007FA78
/* 8007FA44 0007B884 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 8007FA48 0007B888 28 00 00 05 */ cmplwi r0, 0x5
/* 8007FA4C 0007B88C 41 80 00 14 */ blt lbl_8007FA60
/* 8007FA50 0007B890 A0 BC 00 00 */ lhz r5, 0x0(r28)
/* 8007FA54 0007B894 38 78 00 04 */ addi r3, r24, 0x4
/* 8007FA58 0007B898 38 9E 03 BC */ addi r4, r30, 0x3bc
2022-10-16 16:31:36 +00:00
/* 8007FA5C 0007B89C 4B FF 7F 05 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007FA60
lbl_8007FA60:
/* 8007FA60 0007B8A0 9B 21 00 14 */ stb r25, 0x14(r1)
/* 8007FA64 0007B8A4 38 9C 00 08 */ addi r4, r28, 0x8
/* 8007FA68 0007B8A8 38 A1 00 0C */ addi r5, r1, 0xc
/* 8007FA6C 0007B8AC 38 60 00 80 */ li r3, 0x80
2022-10-16 16:31:36 +00:00
/* 8007FA70 0007B8B0 48 00 3D E9 */ bl BTM_SetPowerMode
2022-10-16 16:05:58 +00:00
/* 8007FA74 0007B8B4 48 00 00 8C */ b lbl_8007FB00
.global lbl_8007FA78
lbl_8007FA78:
/* 8007FA78 0007B8B8 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 8007FA7C 0007B8BC 28 00 00 05 */ cmplwi r0, 0x5
/* 8007FA80 0007B8C0 41 80 00 18 */ blt lbl_8007FA98
/* 8007FA84 0007B8C4 A0 BC 00 00 */ lhz r5, 0x0(r28)
/* 8007FA88 0007B8C8 38 78 00 04 */ addi r3, r24, 0x4
/* 8007FA8C 0007B8CC A0 DC 00 02 */ lhz r6, 0x2(r28)
/* 8007FA90 0007B8D0 38 9E 03 EC */ addi r4, r30, 0x3ec
2022-10-16 16:31:36 +00:00
/* 8007FA94 0007B8D4 4B FF 7E CD */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007FA98
lbl_8007FA98:
/* 8007FA98 0007B8D8 A0 9C 00 04 */ lhz r4, 0x4(r28)
/* 8007FA9C 0007B8DC A0 BF 06 54 */ lhz r5, 0x654(r31)
/* 8007FAA0 0007B8E0 88 1F 06 36 */ lbz r0, 0x636(r31)
/* 8007FAA4 0007B8E4 7C 83 28 38 */ and r3, r4, r5
/* 8007FAA8 0007B8E8 70 63 CC 18 */ andi. r3, r3, 0xcc18
/* 8007FAAC 0007B8EC 28 00 00 03 */ cmplwi r0, 0x3
/* 8007FAB0 0007B8F0 7C 7A D8 38 */ and r26, r3, r27
/* 8007FAB4 0007B8F4 41 80 00 14 */ blt lbl_8007FAC8
/* 8007FAB8 0007B8F8 7C 80 2B 78 */ or r0, r4, r5
/* 8007FABC 0007B8FC 70 00 33 06 */ andi. r0, r0, 0x3306
/* 8007FAC0 0007B900 7C 60 03 78 */ or r0, r3, r0
/* 8007FAC4 0007B904 54 1A 04 3E */ clrlwi r26, r0, 16
.global lbl_8007FAC8
lbl_8007FAC8:
/* 8007FAC8 0007B908 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
/* 8007FACC 0007B90C 28 00 00 04 */ cmplwi r0, 0x4
/* 8007FAD0 0007B910 41 80 00 14 */ blt lbl_8007FAE4
/* 8007FAD4 0007B914 38 78 00 03 */ addi r3, r24, 0x3
/* 8007FAD8 0007B918 38 9E 00 40 */ addi r4, r30, 0x40
/* 8007FADC 0007B91C 57 45 04 3E */ clrlwi r5, r26, 16
2022-10-16 16:31:36 +00:00
/* 8007FAE0 0007B920 4B FF 7E 81 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8007FAE4
lbl_8007FAE4:
/* 8007FAE4 0007B924 A0 7C 00 00 */ lhz r3, 0x0(r28)
/* 8007FAE8 0007B928 57 44 04 3E */ clrlwi r4, r26, 16
2022-10-16 16:31:36 +00:00
/* 8007FAEC 0007B92C 48 00 B5 E9 */ bl btsnd_hcic_change_conn_type
2022-10-16 16:05:58 +00:00
/* 8007FAF0 0007B930 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8007FAF4 0007B934 41 82 00 08 */ beq lbl_8007FAFC
/* 8007FAF8 0007B938 B3 5C 00 02 */ sth r26, 0x2(r28)
.global lbl_8007FAFC
lbl_8007FAFC:
/* 8007FAFC 0007B93C B3 3C 00 04 */ sth r25, 0x4(r28)
.global lbl_8007FB00
lbl_8007FB00:
/* 8007FB00 0007B940 3B BD 00 01 */ addi r29, r29, 0x1
/* 8007FB04 0007B944 3B 9C 01 1C */ addi r28, r28, 0x11c
/* 8007FB08 0007B948 28 1D 00 04 */ cmplwi r29, 0x4
/* 8007FB0C 0007B94C 41 80 FF 00 */ blt lbl_8007FA0C
.global lbl_8007FB10
lbl_8007FB10:
/* 8007FB10 0007B950 39 61 00 40 */ addi r11, r1, 0x40
/* 8007FB14 0007B954 4B F8 78 69 */ bl lbl_8000737C
/* 8007FB18 0007B958 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8007FB1C 0007B95C 7C 08 03 A6 */ mtlr r0
/* 8007FB20 0007B960 38 21 00 40 */ addi r1, r1, 0x40
/* 8007FB24 0007B964 4E 80 00 20 */ blr