donut-decomp/asm/bte/btm_acl.s

2631 lines
111 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
2022-10-17 08:41:13 +00:00
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "@2591_8043B6B0"
"@2591_8043B6B0":
.4byte 0x4475706C
.4byte 0x69636174
.4byte 0x65206274
.4byte 0x6D5F6163
.4byte 0x6C5F6372
.4byte 0x65617465
.4byte 0x643A2052
.4byte 0x656D4264
.4byte 0x41646472
.4byte 0x3A202530
.4byte 0x32782530
.4byte 0x32782530
.4byte 0x32782530
.4byte 0x32782530
.4byte 0x32782530
.4byte 0x32780000
.global "@2592_8043B6F0"
"@2592_8043B6F0":
.4byte 0x53657450
.4byte 0x61636B65
.4byte 0x74547970
.4byte 0x65204D61
.4byte 0x736B202D
.4byte 0x3E203078
.4byte 0x25303478
.4byte 0
.global "@2642"
"@2642":
.4byte 0x526F6C65
.4byte 0x20636861
.4byte 0x6E676520
.4byte 0x72657175
.4byte 0x65737420
.4byte 0x6465636C
.4byte 0x696E6564
.4byte 0x2073696E
.4byte 0x63652074
.4byte 0x68652070
.4byte 0x72657669
.4byte 0x6F757320
.4byte 0x72657175
.4byte 0x65737420
.4byte 0x666F7220
.4byte 0x74686973
.4byte 0x20646576
.4byte 0x69636520
.4byte 0x6973206E
.4byte 0x6F742063
.4byte 0x6F6D706C
.4byte 0x65746564
.4byte 0x20000000
.4byte 0x42544D5F
.4byte 0x5365744C
.4byte 0x696E6B50
.4byte 0x6F6C6963
.4byte 0x79207377
.4byte 0x69746368
.4byte 0x206E6F74
.4byte 0x20737570
.4byte 0x706F7274
.4byte 0x65642028
.4byte 0x73657474
.4byte 0x696E6773
.4byte 0x3A203078
.4byte 0x25303478
.4byte 0x29000000
.4byte 0x42544D5F
.4byte 0x5365744C
.4byte 0x696E6B50
.4byte 0x6F6C6963
.4byte 0x7920686F
.4byte 0x6C64206E
.4byte 0x6F742073
.4byte 0x7570706F
.4byte 0x72746564
.4byte 0x20287365
.4byte 0x7474696E
.4byte 0x67733A20
.4byte 0x30782530
.4byte 0x34782900
.4byte 0x42544D5F
.4byte 0x5365744C
.4byte 0x696E6B50
.4byte 0x6F6C6963
.4byte 0x7920736E
.4byte 0x69666620
.4byte 0x6E6F7420
.4byte 0x73757070
.4byte 0x6F727465
.4byte 0x64202873
.4byte 0x65747469
.4byte 0x6E67733A
.4byte 0x20307825
.4byte 0x30347829
.4byte 0
.4byte 0
.4byte 0x42544D5F
.4byte 0x5365744C
.4byte 0x696E6B50
.4byte 0x6F6C6963
.4byte 0x79207061
.4byte 0x726B206E
.4byte 0x6F742073
.4byte 0x7570706F
.4byte 0x72746564
.4byte 0x20287365
.4byte 0x7474696E
.4byte 0x67733A20
.4byte 0x30782530
.4byte 0x34782900
.4byte 0x42544D5F
.4byte 0x52656164
.4byte 0x4C696E6B
.4byte 0x506F6C69
.4byte 0x63793A20
.4byte 0x52656D42
.4byte 0x64416464
.4byte 0x723A2025
.4byte 0x30327825
.4byte 0x30327825
.4byte 0x30327825
.4byte 0x30327825
.4byte 0x30327825
.4byte 0x30327800
.global "@2800"
"@2800":
.4byte 0x42544D5F
.4byte 0x52656164
.4byte 0x436C6F63
.4byte 0x6B4F6666
.4byte 0x7365743A
.4byte 0x2052656D
.4byte 0x42644164
.4byte 0x64723A20
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0
.global "@2857"
"@2857":
.4byte 0x526F6C65
.4byte 0x20537769
.4byte 0x74636820
.4byte 0x4576656E
.4byte 0x743A206E
.4byte 0x65775F72
.4byte 0x6F6C6520
.4byte 0x30782530
.4byte 0x32782C20
.4byte 0x48434920
.4byte 0x53746174
.4byte 0x75732030
.4byte 0x78253032
.4byte 0x78000000
.4byte 0x42544D5F
.4byte 0x53657451
.4byte 0x6F533A20
.4byte 0x42644164
.4byte 0x64723A20
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0
.global "@2946"
"@2946":
.4byte 0x42544D3A
.4byte 0x20705F66
.4byte 0x6C6F772D
.4byte 0x3E64656C
.4byte 0x61795F76
.4byte 0x61726961
.4byte 0x74696F6E
.4byte 0x3A203078
.4byte 0x25303278
.4byte 0
.global "@2957_8043B95C"
"@2957_8043B95C":
.4byte 0x42544D5F
.4byte 0x52656164
.4byte 0x52535349
.4byte 0x3A205265
.4byte 0x6D426441
.4byte 0x6464723A
.4byte 0x20253032
.4byte 0x78253032
.4byte 0x78253032
.4byte 0x78253032
.4byte 0x78253032
.4byte 0x78253032
.4byte 0x78000000
.global "@2969"
"@2969":
.4byte 0x42544D5F
.4byte 0x52656164
.4byte 0x4C696E6B
.4byte 0x5175616C
.4byte 0x6974793A
.4byte 0x2052656D
.4byte 0x42644164
.4byte 0x64723A20
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0x25303278
.4byte 0
.global "@2982_8043B9CC"
"@2982_8043B9CC":
.4byte 0x42544D20
.4byte 0x52535349
.4byte 0x20436F6D
.4byte 0x706C6574
.4byte 0x653A2072
.4byte 0x73736920
.4byte 0x25642C20
.4byte 0x68636920
.4byte 0x73746174
.4byte 0x75732030
.4byte 0x78253032
.4byte 0x78000000
.global "@2994_8043B9FC"
"@2994_8043B9FC":
.4byte 0x42544D20
.4byte 0x4C696E6B
.4byte 0x20517561
.4byte 0x6C697479
.4byte 0x20436F6D
.4byte 0x706C6574
.4byte 0x653A204C
.4byte 0x696E6B20
.4byte 0x5175616C
.4byte 0x69747920
.4byte 0x25642C20
.4byte 0x68636920
.4byte 0x73746174
.4byte 0x75732030
.4byte 0x78253032
.4byte 0x78000000
.4byte 0x62746D20
.4byte 0x4245464F
.4byte 0x52452053
.4byte 0x434F2073
.4byte 0x65747469
.4byte 0x6E672074
.4byte 0x6F203120
.4byte 0x736C6F74
.4byte 0x3B206863
.4byte 0x69206864
.4byte 0x6C203078
.4byte 0x25780000
.4byte 0x62746D20
.4byte 0x6C617374
.4byte 0x2053434F
.4byte 0x2072656D
.4byte 0x6F766564
.4byte 0x3B20756E
.4byte 0x736E6966
.4byte 0x66696E67
.4byte 0x20686369
.4byte 0x2068646C
.4byte 0x20307825
.4byte 0x78000000
.4byte 0x62746D20
.4byte 0x6C617374
.4byte 0x2053434F
.4byte 0x2072656D
.4byte 0x6F766564
.4byte 0x3B206863
.4byte 0x69206864
.4byte 0x6C203078
.4byte 0x25782C20
.4byte 0x74797065
.4byte 0x73203078
.4byte 0x25303278
.4byte 0