summaryrefslogtreecommitdiff
path: root/asm/SDK
diff options
context:
space:
mode:
Diffstat (limited to 'asm/SDK')
-rw-r--r--asm/SDK/BTE/bta_dm_act.s80
-rw-r--r--asm/SDK/BTE/bta_dm_api.s6
-rw-r--r--asm/SDK/BTE/bta_dm_pm.s6
-rw-r--r--asm/SDK/BTE/bta_hh_act.s38
-rw-r--r--asm/SDK/BTE/bta_hh_main.s401
-rw-r--r--asm/SDK/BTE/bta_hh_utils.s273
-rw-r--r--asm/SDK/BTE/btm_acl.s2158
-rw-r--r--asm/SDK/BTE/btm_dev.s503
-rw-r--r--asm/SDK/BTE/btm_devctl.s1859
-rw-r--r--asm/SDK/BTE/btm_discovery.s90
-rw-r--r--asm/SDK/BTE/btm_inq.s1965
-rw-r--r--asm/SDK/BTE/btm_main.s29
-rw-r--r--asm/SDK/BTE/btu_task1.s8
-rw-r--r--asm/SDK/WPAD/WPAD.s6
-rw-r--r--asm/SDK/WUD/WUD.s50
15 files changed, 7375 insertions, 97 deletions
diff --git a/asm/SDK/BTE/bta_dm_act.s b/asm/SDK/BTE/bta_dm_act.s
index fbdf901..fabd3fc 100644
--- a/asm/SDK/BTE/bta_dm_act.s
+++ b/asm/SDK/BTE/bta_dm_act.s
@@ -25,7 +25,7 @@ bta_dm_enable:
/* 802BDD3C 002B999C 38 A0 00 03 */ li r5, 3
/* 802BDD40 002B99A0 4B D4 62 C1 */ bl memcpy
/* 802BDD44 002B99A4 38 61 00 08 */ addi r3, r1, 8
-/* 802BDD48 002B99A8 48 00 8B 89 */ bl func_802C68D0
+/* 802BDD48 002B99A8 48 00 8B 89 */ bl BTM_SetDeviceClass
/* 802BDD4C 002B99AC 3C 80 80 57 */ lis r4, lbl_80568814@ha
/* 802BDD50 002B99B0 80 1E 00 08 */ lwz r0, 8(r30)
/* 802BDD54 002B99B4 38 84 88 14 */ addi r4, r4, lbl_80568814@l
@@ -35,17 +35,17 @@ bta_dm_enable:
/* 802BDD64 002B99C4 48 00 CB 55 */ bl func_802CA8B8
/* 802BDD68 002B99C8 3B FF DA C0 */ addi r31, r31, -9536
/* 802BDD6C 002B99CC A0 7F 00 08 */ lhz r3, 8(r31)
-/* 802BDD70 002B99D0 48 00 64 E1 */ bl func_802C4250
+/* 802BDD70 002B99D0 48 00 64 E1 */ bl BTM_SetDefaultLinkSuperTout
/* 802BDD74 002B99D4 A0 7F 00 06 */ lhz r3, 6(r31)
-/* 802BDD78 002B99D8 48 00 8E 49 */ bl func_802C6BC0
+/* 802BDD78 002B99D8 48 00 8E 49 */ bl BTM_WritePageTimeout
/* 802BDD7C 002B99DC A0 7F 00 04 */ lhz r3, 4(r31)
-/* 802BDD80 002B99E0 48 00 61 05 */ bl func_802C3E84
+/* 802BDD80 002B99E0 48 00 61 05 */ bl BTM_SetDefaultLinkPolicy
/* 802BDD84 002B99E4 3C 60 80 2C */ lis r3, bta_dm_acl_change_cback@ha
/* 802BDD88 002B99E8 38 63 F7 30 */ addi r3, r3, bta_dm_acl_change_cback@l
-/* 802BDD8C 002B99EC 48 00 6B 41 */ bl func_802C48CC
+/* 802BDD8C 002B99EC 48 00 6B 41 */ bl BTM_AclRegisterForChanges
/* 802BDD90 002B99F0 3C 60 80 2C */ lis r3, bta_dm_local_addr_cback@ha
/* 802BDD94 002B99F4 38 63 F5 D8 */ addi r3, r3, bta_dm_local_addr_cback@l
-/* 802BDD98 002B99F8 48 00 8A 65 */ bl func_802C67FC
+/* 802BDD98 002B99F8 48 00 8A 65 */ bl BTM_ReadLocalDeviceAddr
/* 802BDD9C 002B99FC 3C 60 80 2C */ lis r3, bta_dm_rm_cback@ha
/* 802BDDA0 002B9A00 38 63 FE 30 */ addi r3, r3, bta_dm_rm_cback@l
/* 802BDDA4 002B9A04 4B FF F8 91 */ bl bta_sys_rm_register
@@ -83,13 +83,13 @@ bta_dm_disable:
/* 802BDE1C 002B9A7C 38 60 00 00 */ li r3, 0
/* 802BDE20 002B9A80 38 80 00 00 */ li r4, 0
/* 802BDE24 002B9A84 38 A0 00 00 */ li r5, 0
-/* 802BDE28 002B9A88 48 00 94 D1 */ bl func_802C72F8
+/* 802BDE28 002B9A88 48 00 94 D1 */ bl BTM_SetDiscoverability
/* 802BDE2C 002B9A8C 38 60 00 00 */ li r3, 0
/* 802BDE30 002B9A90 38 80 00 00 */ li r4, 0
/* 802BDE34 002B9A94 38 A0 00 00 */ li r5, 0
-/* 802BDE38 002B9A98 48 00 99 3D */ bl func_802C7774
+/* 802BDE38 002B9A98 48 00 99 3D */ bl BTM_SetConnectability
/* 802BDE3C 002B9A9C 48 00 28 25 */ bl bta_dm_disable_pm
-/* 802BDE40 002B9AA0 48 00 64 F9 */ bl func_802C4338
+/* 802BDE40 002B9AA0 48 00 64 F9 */ bl BTM_GetNumAclLinks
/* 802BDE44 002B9AA4 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802BDE48 002B9AA8 40 82 00 2C */ bne lbl_802BDE74
/* 802BDE4C 002B9AAC 3C C0 80 2C */ lis r6, bta_dm_disable_conn_down_timer_cback@ha
@@ -134,7 +134,7 @@ bta_dm_disable_timer_cback:
/* 802BDED8 002B9B38 38 84 00 68 */ addi r4, r4, lbl_80440068@l
/* 802BDEDC 002B9B3C 4B FF F0 35 */ bl LogMsg_0
lbl_802BDEE0:
-/* 802BDEE0 002B9B40 48 00 64 59 */ bl func_802C4338
+/* 802BDEE0 002B9B40 48 00 64 59 */ bl BTM_GetNumAclLinks
/* 802BDEE4 002B9B44 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802BDEE8 002B9B48 41 82 00 48 */ beq lbl_802BDF30
/* 802BDEEC 002B9B4C 3C 60 80 57 */ lis r3, lbl_80568814@ha
@@ -148,7 +148,7 @@ lbl_802BDF08:
/* 802BDF08 002B9B68 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 802BDF0C 002B9B6C 1C 00 00 0B */ mulli r0, r0, 0xb
/* 802BDF10 002B9B70 7C 7F 02 14 */ add r3, r31, r0
-/* 802BDF14 002B9B74 48 00 6F 81 */ bl func_802C4E94
+/* 802BDF14 002B9B74 48 00 6F 81 */ bl btm_remove_acl
/* 802BDF18 002B9B78 3B DE 00 01 */ addi r30, r30, 1
lbl_802BDF1C:
/* 802BDF1C 002B9B7C 88 1F 00 4D */ lbz r0, 0x4d(r31)
@@ -176,7 +176,7 @@ lbl_802BDF54:
bta_dm_set_dev_name:
/* 802BDF6C 002B9BCC 38 63 00 08 */ addi r3, r3, 8
-/* 802BDF70 002B9BD0 48 00 87 48 */ b lbl_802C66B8
+/* 802BDF70 002B9BD0 48 00 87 48 */ b BTM_SetLocalDeviceName
bta_dm_set_visibility:
/* 802BDF74 002B9BD4 94 21 FF F0 */ stwu r1, -0x10(r1)
@@ -187,11 +187,11 @@ bta_dm_set_visibility:
/* 802BDF88 002B9BE8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802BDF8C 002B9BEC 7C 7F 1B 78 */ mr r31, r3
/* 802BDF90 002B9BF0 88 63 00 08 */ lbz r3, 8(r3)
-/* 802BDF94 002B9BF4 48 00 93 65 */ bl func_802C72F8
+/* 802BDF94 002B9BF4 48 00 93 65 */ bl BTM_SetDiscoverability
/* 802BDF98 002B9BF8 88 7F 00 09 */ lbz r3, 9(r31)
/* 802BDF9C 002B9BFC 38 80 00 00 */ li r4, 0
/* 802BDFA0 002B9C00 38 A0 00 00 */ li r5, 0
-/* 802BDFA4 002B9C04 48 00 97 D1 */ bl func_802C7774
+/* 802BDFA4 002B9C04 48 00 97 D1 */ bl BTM_SetConnectability
/* 802BDFA8 002B9C08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BDFAC 002B9C0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802BDFB0 002B9C10 7C 08 03 A6 */ mtlr r0
@@ -342,7 +342,7 @@ bta_dm_search_start:
/* 802BE1A8 002B9E08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802BE1AC 002B9E0C 7C 7F 1B 78 */ mr r31, r3
/* 802BE1B0 002B9E10 38 60 00 00 */ li r3, 0
-/* 802BE1B4 002B9E14 48 00 9E 29 */ bl func_802C7FDC
+/* 802BE1B4 002B9E14 48 00 9E 29 */ bl BTM_ClearInqDb
/* 802BE1B8 002B9E18 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 802BE1BC 002B9E1C 3C 60 80 57 */ lis r3, lbl_80568798@ha
/* 802BE1C0 002B9E20 3C 80 80 2C */ lis r4, bta_dm_inq_results_cb@ha
@@ -354,7 +354,7 @@ bta_dm_search_start:
/* 802BE1D8 002B9E38 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 802BE1DC 002B9E3C 38 A5 F0 54 */ addi r5, r5, bta_dm_inq_cmpl_cb@l
/* 802BE1E0 002B9E40 90 06 00 08 */ stw r0, 8(r6)
-/* 802BE1E4 002B9E44 48 00 98 31 */ bl func_802C7A14
+/* 802BE1E4 002B9E44 48 00 98 31 */ bl BTM_StartInquiry
/* 802BE1E8 002B9E48 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BE1EC 002B9E4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802BE1F0 002B9E50 7C 08 03 A6 */ mtlr r0
@@ -366,11 +366,11 @@ bta_dm_search_cancel:
/* 802BE200 002B9E60 7C 08 02 A6 */ mflr r0
/* 802BE204 002B9E64 38 60 00 00 */ li r3, 0
/* 802BE208 002B9E68 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802BE20C 002B9E6C 48 00 9D D1 */ bl func_802C7FDC
-/* 802BE210 002B9E70 48 00 96 ED */ bl func_802C78FC
+/* 802BE20C 002B9E6C 48 00 9D D1 */ bl BTM_ClearInqDb
+/* 802BE210 002B9E70 48 00 96 ED */ bl BTM_IsInquiryActive
/* 802BE214 002B9E74 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802BE218 002B9E78 41 82 00 40 */ beq lbl_802BE258
-/* 802BE21C 002B9E7C 48 00 96 F1 */ bl func_802C790C
+/* 802BE21C 002B9E7C 48 00 96 F1 */ bl BTM_CancelInquiry
/* 802BE220 002B9E80 3C 80 80 57 */ lis r4, lbl_80568798@ha
/* 802BE224 002B9E84 38 60 00 04 */ li r3, 4
/* 802BE228 002B9E88 81 84 87 98 */ lwz r12, lbl_80568798@l(r4)
@@ -391,7 +391,7 @@ lbl_802BE258:
/* 802BE260 002B9EC0 80 03 00 08 */ lwz r0, 8(r3)
/* 802BE264 002B9EC4 2C 00 00 00 */ cmpwi r0, 0
/* 802BE268 002B9EC8 40 82 00 08 */ bne lbl_802BE270
-/* 802BE26C 002B9ECC 48 00 9A 45 */ bl func_802C7CB0
+/* 802BE26C 002B9ECC 48 00 9A 45 */ bl BTM_CancelRemoteDeviceName
lbl_802BE270:
/* 802BE270 002B9ED0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BE274 002B9ED4 7C 08 03 A6 */ mtlr r0
@@ -444,7 +444,7 @@ lbl_802BE318:
/* 802BE320 002B9F80 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
/* 802BE324 002B9F84 38 7F 00 1A */ addi r3, r31, 0x1a
/* 802BE328 002B9F88 38 84 F1 6C */ addi r4, r4, bta_dm_disc_remname_cback@l
-/* 802BE32C 002B9F8C 48 00 98 9D */ bl func_802C7BC8
+/* 802BE32C 002B9F8C 48 00 98 9D */ bl BTM_ReadRemoteDeviceName
/* 802BE330 002B9F90 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802BE334 002B9F94 28 00 00 01 */ cmplwi r0, 1
/* 802BE338 002B9F98 41 82 00 44 */ beq lbl_802BE37C
@@ -480,7 +480,7 @@ bta_dm_inq_cmpl:
/* 802BE3A4 002BA004 4B F0 8D 85 */ bl _savegpr_27
/* 802BE3A8 002BA008 7C 7F 1B 78 */ mr r31, r3
/* 802BE3AC 002BA00C 3B 60 00 01 */ li r27, 1
-/* 802BE3B0 002BA010 48 00 9A 39 */ bl func_802C7DE8
+/* 802BE3B0 002BA010 48 00 9A 39 */ bl BTM_InqDbFirst
/* 802BE3B4 002BA014 3F 80 80 57 */ lis r28, lbl_80568798@ha
/* 802BE3B8 002BA018 2C 03 00 00 */ cmpwi r3, 0
/* 802BE3BC 002BA01C 3B BC 87 98 */ addi r29, r28, lbl_80568798@l
@@ -491,7 +491,7 @@ bta_dm_inq_cmpl:
/* 802BE3D0 002BA030 2C 00 00 00 */ cmpwi r0, 0
/* 802BE3D4 002BA034 41 82 00 78 */ beq lbl_802BE44C
/* 802BE3D8 002BA038 38 63 00 02 */ addi r3, r3, 2
-/* 802BE3DC 002BA03C 48 00 5E 85 */ bl func_802C4260
+/* 802BE3DC 002BA03C 48 00 5E 85 */ bl BTM_IsAclConnectionUp
/* 802BE3E0 002BA040 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802BE3E4 002BA044 41 82 00 10 */ beq lbl_802BE3F4
/* 802BE3E8 002BA048 38 00 00 00 */ li r0, 0
@@ -559,7 +559,7 @@ lbl_802BE4BC:
/* 802BE4C8 002BA128 80 7E 00 04 */ lwz r3, 4(r30)
/* 802BE4CC 002BA12C 38 84 F0 E0 */ addi r4, r4, bta_dm_remname_cback@l
/* 802BE4D0 002BA130 38 63 00 02 */ addi r3, r3, 2
-/* 802BE4D4 002BA134 48 00 96 F5 */ bl func_802C7BC8
+/* 802BE4D4 002BA134 48 00 96 F5 */ bl BTM_ReadRemoteDeviceName
/* 802BE4D8 002BA138 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802BE4DC 002BA13C 28 00 00 01 */ cmplwi r0, 1
/* 802BE4E0 002BA140 41 82 00 4C */ beq lbl_802BE52C
@@ -586,7 +586,7 @@ lbl_802BE52C:
/* 802BE530 002BA190 48 00 00 1C */ b lbl_802BE54C
lbl_802BE534:
/* 802BE534 002BA194 80 7D 00 04 */ lwz r3, 4(r29)
-/* 802BE538 002BA198 48 00 99 69 */ bl func_802C7EA0
+/* 802BE538 002BA198 48 00 99 69 */ bl BTM_InqDbNext
/* 802BE53C 002BA19C 90 7D 00 04 */ stw r3, 4(r29)
lbl_802BE540:
/* 802BE540 002BA1A0 80 9D 00 04 */ lwz r4, 4(r29)
@@ -667,7 +667,7 @@ lbl_802BE644:
/* 802BE650 002BA2B0 80 7E 00 04 */ lwz r3, 4(r30)
/* 802BE654 002BA2B4 38 84 F0 E0 */ addi r4, r4, bta_dm_remname_cback@l
/* 802BE658 002BA2B8 38 63 00 02 */ addi r3, r3, 2
-/* 802BE65C 002BA2BC 48 00 95 6D */ bl func_802C7BC8
+/* 802BE65C 002BA2BC 48 00 95 6D */ bl BTM_ReadRemoteDeviceName
/* 802BE660 002BA2C0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802BE664 002BA2C4 28 00 00 01 */ cmplwi r0, 1
/* 802BE668 002BA2C8 41 82 00 4C */ beq lbl_802BE6B4
@@ -694,7 +694,7 @@ lbl_802BE6B4:
/* 802BE6B8 002BA318 48 00 00 18 */ b lbl_802BE6D0
lbl_802BE6BC:
/* 802BE6BC 002BA31C 80 7D 00 04 */ lwz r3, 4(r29)
-/* 802BE6C0 002BA320 48 00 97 E1 */ bl func_802C7EA0
+/* 802BE6C0 002BA320 48 00 97 E1 */ bl BTM_InqDbNext
/* 802BE6C4 002BA324 2C 03 00 00 */ cmpwi r3, 0
/* 802BE6C8 002BA328 90 7D 00 04 */ stw r3, 4(r29)
/* 802BE6CC 002BA32C 40 82 FF 18 */ bne lbl_802BE5E4
@@ -845,7 +845,7 @@ lbl_802BE894:
/* 802BE8DC 002BA53C 7C 00 07 75 */ extsb. r0, r0
/* 802BE8E0 002BA540 40 82 00 18 */ bne lbl_802BE8F8
/* 802BE8E4 002BA544 38 7E 00 1A */ addi r3, r30, 0x1a
-/* 802BE8E8 002BA548 48 00 6A BD */ bl func_802C53A4
+/* 802BE8E8 002BA548 48 00 6A BD */ bl BTM_SecReadDevName
/* 802BE8EC 002BA54C 2C 03 00 00 */ cmpwi r3, 0
/* 802BE8F0 002BA550 41 82 00 08 */ beq lbl_802BE8F8
/* 802BE8F4 002BA554 7C 7F 1B 78 */ mr r31, r3
@@ -898,7 +898,7 @@ lbl_802BE93C:
/* 802BE9A0 002BA600 7C 00 07 75 */ extsb. r0, r0
/* 802BE9A4 002BA604 40 82 00 18 */ bne lbl_802BE9BC
/* 802BE9A8 002BA608 38 7F 00 1A */ addi r3, r31, 0x1a
-/* 802BE9AC 002BA60C 48 00 69 F9 */ bl func_802C53A4
+/* 802BE9AC 002BA60C 48 00 69 F9 */ bl BTM_SecReadDevName
/* 802BE9B0 002BA610 2C 03 00 00 */ cmpwi r3, 0
/* 802BE9B4 002BA614 41 82 00 08 */ beq lbl_802BE9BC
/* 802BE9B8 002BA618 7C 7E 1B 78 */ mr r30, r3
@@ -1239,7 +1239,7 @@ lbl_802BEE08:
/* 802BEE50 002BAAB0 7C 00 07 75 */ extsb. r0, r0
/* 802BEE54 002BAAB4 40 82 00 18 */ bne lbl_802BEE6C
/* 802BEE58 002BAAB8 38 7A 00 1A */ addi r3, r26, 0x1a
-/* 802BEE5C 002BAABC 48 00 65 49 */ bl func_802C53A4
+/* 802BEE5C 002BAABC 48 00 65 49 */ bl BTM_SecReadDevName
/* 802BEE60 002BAAC0 2C 03 00 00 */ cmpwi r3, 0
/* 802BEE64 002BAAC4 41 82 00 08 */ beq lbl_802BEE6C
/* 802BEE68 002BAAC8 7C 77 1B 78 */ mr r23, r3
@@ -1268,12 +1268,12 @@ bta_dm_discover_next_device:
/* 802BEEB0 002BAB10 3F C0 80 57 */ lis r30, lbl_80568798@ha
/* 802BEEB4 002BAB14 3B DE 87 98 */ addi r30, r30, lbl_80568798@l
/* 802BEEB8 002BAB18 80 7E 00 04 */ lwz r3, 4(r30)
-/* 802BEEBC 002BAB1C 48 00 8F E5 */ bl func_802C7EA0
+/* 802BEEBC 002BAB1C 48 00 8F E5 */ bl BTM_InqDbNext
/* 802BEEC0 002BAB20 2C 03 00 00 */ cmpwi r3, 0
/* 802BEEC4 002BAB24 90 7E 00 04 */ stw r3, 4(r30)
/* 802BEEC8 002BAB28 41 82 00 78 */ beq lbl_802BEF40
/* 802BEECC 002BAB2C 38 63 00 02 */ addi r3, r3, 2
-/* 802BEED0 002BAB30 48 00 53 91 */ bl func_802C4260
+/* 802BEED0 002BAB30 48 00 53 91 */ bl BTM_IsAclConnectionUp
/* 802BEED4 002BAB34 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802BEED8 002BAB38 41 82 00 10 */ beq lbl_802BEEE8
/* 802BEEDC 002BAB3C 38 00 00 00 */ li r0, 0
@@ -1358,7 +1358,7 @@ bta_dm_inq_results_cb:
/* 802BEFF4 002BAC54 88 1F 00 0E */ lbz r0, 0xe(r31)
/* 802BEFF8 002BAC58 38 7F 00 02 */ addi r3, r31, 2
/* 802BEFFC 002BAC5C 98 01 00 11 */ stb r0, 0x11(r1)
-/* 802BF000 002BAC60 48 00 8D 29 */ bl func_802C7D28
+/* 802BF000 002BAC60 48 00 8D 29 */ bl BTM_InqDbRead
/* 802BF004 002BAC64 2C 03 00 00 */ cmpwi r3, 0
/* 802BF008 002BAC68 7C 7F 1B 78 */ mr r31, r3
/* 802BF00C 002BAC6C 41 82 00 0C */ beq lbl_802BF018
@@ -1498,7 +1498,7 @@ lbl_802BF1D8:
/* 802BF1F0 002BAE50 4E 80 00 20 */ blr
bta_dm_cancel_rmt_name:
-/* 802BF1F4 002BAE54 48 00 8A BC */ b func_802C7CB0
+/* 802BF1F4 002BAE54 48 00 8A BC */ b BTM_CancelRemoteDeviceName
bta_dm_authorize_cback:
/* 802BF1F8 002BAE58 94 21 FE D0 */ stwu r1, -0x130(r1)
@@ -1644,7 +1644,7 @@ lbl_802BF3C4:
/* 802BF3F4 002BB054 98 1F 00 FF */ stb r0, 0xff(r31)
/* 802BF3F8 002BB058 88 1D 00 02 */ lbz r0, 2(r29)
/* 802BF3FC 002BB05C 98 1F 01 00 */ stb r0, 0x100(r31)
-/* 802BF400 002BB060 48 00 87 C9 */ bl func_802C7BC8
+/* 802BF400 002BB060 48 00 87 C9 */ bl BTM_ReadRemoteDeviceName
/* 802BF404 002BB064 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802BF408 002BB068 28 00 00 01 */ cmplwi r0, 1
/* 802BF40C 002BB06C 40 82 00 0C */ bne lbl_802BF418
@@ -1824,7 +1824,7 @@ lbl_802BF674:
/* 802BF678 002BB2D8 38 9E FA 3C */ addi r4, r30, -1476
/* 802BF67C 002BB2DC 1C 00 00 0B */ mulli r0, r0, 0xb
/* 802BF680 002BB2E0 7C 7F 02 14 */ add r3, r31, r0
-/* 802BF684 002BB2E4 48 00 53 65 */ bl func_802C49E8
+/* 802BF684 002BB2E4 48 00 53 65 */ bl BTM_ReadRSSI
/* 802BF688 002BB2E8 3B BD 00 01 */ addi r29, r29, 1
lbl_802BF68C:
/* 802BF68C 002BB2EC 88 1F 00 4D */ lbz r0, 0x4d(r31)
@@ -1845,7 +1845,7 @@ lbl_802BF6BC:
/* 802BF6C0 002BB320 38 9F FA A8 */ addi r4, r31, -1368
/* 802BF6C4 002BB324 1C 00 00 0B */ mulli r0, r0, 0xb
/* 802BF6C8 002BB328 7C 7E 02 14 */ add r3, r30, r0
-/* 802BF6CC 002BB32C 48 00 54 59 */ bl func_802C4B24
+/* 802BF6CC 002BB32C 48 00 54 59 */ bl BTM_ReadLinkQuality
/* 802BF6D0 002BB330 3B BD 00 01 */ addi r29, r29, 1
lbl_802BF6D4:
/* 802BF6D4 002BB334 88 1E 00 4D */ lbz r0, 0x4d(r30)
@@ -2046,7 +2046,7 @@ lbl_802BF988:
/* 802BF990 002BB5F0 88 1E 00 72 */ lbz r0, 0x72(r30)
/* 802BF994 002BB5F4 2C 00 00 00 */ cmpwi r0, 0
/* 802BF998 002BB5F8 41 82 00 3C */ beq lbl_802BF9D4
-/* 802BF99C 002BB5FC 48 00 49 9D */ bl func_802C4338
+/* 802BF99C 002BB5FC 48 00 49 9D */ bl BTM_GetNumAclLinks
/* 802BF9A0 002BB600 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802BF9A4 002BB604 40 82 00 30 */ bne lbl_802BF9D4
/* 802BF9A8 002BB608 38 00 00 00 */ li r0, 0
@@ -2064,7 +2064,7 @@ lbl_802BF9D4:
/* 802BF9D4 002BB634 7F E4 FB 78 */ mr r4, r31
/* 802BF9D8 002BB638 38 61 00 08 */ addi r3, r1, 8
/* 802BF9DC 002BB63C 4B FF DB 85 */ bl bdcpy
-/* 802BF9E0 002BB640 48 00 49 B5 */ bl func_802C4394
+/* 802BF9E0 002BB640 48 00 49 B5 */ bl btm_get_acl_disc_reason_code
/* 802BF9E4 002BB644 3C A0 80 57 */ lis r5, lbl_80568814@ha
/* 802BF9E8 002BB648 98 61 00 0E */ stb r3, 0xe(r1)
/* 802BF9EC 002BB64C 38 A5 88 14 */ addi r5, r5, lbl_80568814@l
@@ -2517,7 +2517,7 @@ bta_dm_send_hci_reset:
lbl_802C0010:
/* 802C0010 002BBC70 3C 60 80 2C */ lis r3, bta_dm_reset_complete@ha
/* 802C0014 002BBC74 38 63 FF D8 */ addi r3, r3, bta_dm_reset_complete@l
-/* 802C0018 002BBC78 48 00 5A 11 */ bl func_802C5A28
+/* 802C0018 002BBC78 48 00 5A 11 */ bl BTM_SendHciReset
/* 802C001C 002BBC7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C0020 002BBC80 7C 08 03 A6 */ mtlr r0
/* 802C0024 002BBC84 38 21 00 10 */ addi r1, r1, 0x10
diff --git a/asm/SDK/BTE/bta_dm_api.s b/asm/SDK/BTE/bta_dm_api.s
index 682f297..89c395f 100644
--- a/asm/SDK/BTE/bta_dm_api.s
+++ b/asm/SDK/BTE/bta_dm_api.s
@@ -66,7 +66,7 @@ BTA_DmIsDeviceUp:
/* 802C00F4 002BBD54 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C00F8 002BBD58 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C00FC 002BBD5C 4B FF AF A9 */ bl GKI_sched_lock
-/* 802C0100 002BBD60 48 00 59 D1 */ bl func_802C5AD0
+/* 802C0100 002BBD60 48 00 59 D1 */ bl BTM_IsDeviceUp
/* 802C0104 002BBD64 7C 7F 1B 78 */ mr r31, r3
/* 802C0108 002BBD68 4B FF AF A1 */ bl GKI_sched_unlock
/* 802C010C 002BBD6C 7F E3 FB 78 */ mr r3, r31
@@ -280,7 +280,7 @@ lbl_802C03CC:
/* 802C03DC 002BC03C 38 80 00 00 */ li r4, 0
/* 802C03E0 002BC040 38 A0 00 00 */ li r5, 0
/* 802C03E4 002BC044 38 C0 00 00 */ li r6, 0
-/* 802C03E8 002BC048 48 00 4D 89 */ bl func_802C5170
+/* 802C03E8 002BC048 48 00 4D 89 */ bl BTM_SecAddDevice
/* 802C03EC 002BC04C 7C 7C 1B 78 */ mr r28, r3
/* 802C03F0 002BC050 4B FF AC B9 */ bl GKI_sched_unlock
/* 802C03F4 002BC054 57 80 06 3E */ clrlwi r0, r28, 0x18
@@ -302,7 +302,7 @@ BTA_DmRemoveDevice:
/* 802C0428 002BC088 7C 7F 1B 78 */ mr r31, r3
/* 802C042C 002BC08C 4B FF AC 79 */ bl GKI_sched_lock
/* 802C0430 002BC090 7F E3 FB 78 */ mr r3, r31
-/* 802C0434 002BC094 48 00 4E C5 */ bl func_802C52F8
+/* 802C0434 002BC094 48 00 4E C5 */ bl BTM_SecDeleteDevice
/* 802C0438 002BC098 7C 7F 1B 78 */ mr r31, r3
/* 802C043C 002BC09C 4B FF AC 6D */ bl GKI_sched_unlock
/* 802C0440 002BC0A0 57 E0 06 3E */ clrlwi r0, r31, 0x18
diff --git a/asm/SDK/BTE/bta_dm_pm.s b/asm/SDK/BTE/bta_dm_pm.s
index 4301fad..bc4b43d 100644
--- a/asm/SDK/BTE/bta_dm_pm.s
+++ b/asm/SDK/BTE/bta_dm_pm.s
@@ -52,7 +52,7 @@ bta_dm_pm_cback:
/* 802C0694 002BC2F4 7C BB 2B 78 */ mr r27, r5
/* 802C0698 002BC2F8 7C DC 33 78 */ mr r28, r6
/* 802C069C 002BC2FC 38 61 00 0C */ addi r3, r1, 0xc
-/* 802C06A0 002BC300 48 00 61 E5 */ bl func_802C6884
+/* 802C06A0 002BC300 48 00 61 E5 */ bl BTM_ReadLocalVersion
/* 802C06A4 002BC304 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C06A8 002BC308 40 82 00 6C */ bne lbl_802C0714
/* 802C06AC 002BC30C A0 01 00 12 */ lhz r0, 0x12(r1)
@@ -70,7 +70,7 @@ bta_dm_pm_cback:
/* 802C06DC 002BC33C A0 05 00 04 */ lhz r0, 4(r5)
/* 802C06E0 002BC340 70 00 00 0B */ andi. r0, r0, 0xb
/* 802C06E4 002BC344 B0 01 00 08 */ sth r0, 8(r1)
-/* 802C06E8 002BC348 48 00 35 AD */ bl func_802C3C94
+/* 802C06E8 002BC348 48 00 35 AD */ bl BTM_SetLinkPolicy
/* 802C06EC 002BC34C 48 00 00 28 */ b lbl_802C0714
lbl_802C06F0:
/* 802C06F0 002BC350 28 19 00 05 */ cmplwi r25, 5
@@ -81,7 +81,7 @@ lbl_802C06F0:
/* 802C0704 002BC364 38 81 00 08 */ addi r4, r1, 8
/* 802C0708 002BC368 A0 05 00 04 */ lhz r0, 4(r5)
/* 802C070C 002BC36C B0 01 00 08 */ sth r0, 8(r1)
-/* 802C0710 002BC370 48 00 35 85 */ bl func_802C3C94
+/* 802C0710 002BC370 48 00 35 85 */ bl BTM_SetLinkPolicy
lbl_802C0714:
/* 802C0714 002BC374 80 AD 89 F0 */ lwz r5, lbl_8063DCB0-_SDA_BASE_(r13)
/* 802C0718 002BC378 3B C0 00 01 */ li r30, 1
diff --git a/asm/SDK/BTE/bta_hh_act.s b/asm/SDK/BTE/bta_hh_act.s
index df6f139..15b83ed 100644
--- a/asm/SDK/BTE/bta_hh_act.s
+++ b/asm/SDK/BTE/bta_hh_act.s
@@ -161,7 +161,7 @@ lbl_802C1244:
/* 802C1258 002BCEB8 38 63 00 10 */ addi r3, r3, 0x10
/* 802C125C 002BCEBC 38 80 17 01 */ li r4, 0x1701
/* 802C1260 002BCEC0 38 A0 00 00 */ li r5, 0
-/* 802C1264 002BCEC4 48 00 18 C9 */ bl func_802C2B2C
+/* 802C1264 002BCEC4 48 00 18 C9 */ bl bta_hh_sm_execute
lbl_802C1268:
/* 802C1268 002BCEC8 3B DE 00 01 */ addi r30, r30, 1
/* 802C126C 002BCECC 28 1E 00 10 */ cmplwi r30, 0x10
@@ -254,7 +254,7 @@ lbl_802C137C:
lbl_802C13A4:
/* 802C13A4 002BD004 88 9E 00 64 */ lbz r4, 0x64(r30)
/* 802C13A8 002BD008 7F E3 FB 78 */ mr r3, r31
-/* 802C13AC 002BD00C 48 00 1F 4D */ bl func_802C32F8
+/* 802C13AC 002BD00C 48 00 1F 4D */ bl bta_hh_tod_spt
/* 802C13B0 002BD010 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C13B4 002BD014 41 82 00 6C */ beq lbl_802C1420
/* 802C13B8 002BD018 88 1F 00 16 */ lbz r0, 0x16(r31)
@@ -278,7 +278,7 @@ lbl_802C13A4:
/* 802C1400 002BD060 57 A5 04 3E */ clrlwi r5, r29, 0x10
/* 802C1404 002BD064 88 FE 00 64 */ lbz r7, 0x64(r30)
/* 802C1408 002BD068 89 1F 00 15 */ lbz r8, 0x15(r31)
-/* 802C140C 002BD06C 48 00 1E 31 */ bl func_802C323C
+/* 802C140C 002BD06C 48 00 1E 31 */ bl bta_hh_add_device_to_list
/* 802C1410 002BD070 48 00 00 18 */ b lbl_802C1428
lbl_802C1414:
/* 802C1414 002BD074 38 00 00 00 */ li r0, 0
@@ -295,7 +295,7 @@ lbl_802C1428:
/* 802C1438 002BD098 7F E3 FB 78 */ mr r3, r31
/* 802C143C 002BD09C 38 A1 00 08 */ addi r5, r1, 8
/* 802C1440 002BD0A0 38 80 17 07 */ li r4, 0x1707
-/* 802C1444 002BD0A4 48 00 16 E9 */ bl func_802C2B2C
+/* 802C1444 002BD0A4 48 00 16 E9 */ bl bta_hh_sm_execute
/* 802C1448 002BD0A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C144C 002BD0AC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C1450 002BD0B0 83 C1 00 18 */ lwz r30, 0x18(r1)
@@ -349,7 +349,7 @@ lbl_802C14CC:
/* 802C1500 002BD160 38 C0 00 00 */ li r6, 0
/* 802C1504 002BD164 88 FF 00 13 */ lbz r7, 0x13(r31)
/* 802C1508 002BD168 89 1F 00 15 */ lbz r8, 0x15(r31)
-/* 802C150C 002BD16C 48 00 1D 31 */ bl func_802C323C
+/* 802C150C 002BD16C 48 00 1D 31 */ bl bta_hh_add_device_to_list
/* 802C1510 002BD170 3C 60 80 57 */ lis r3, lbl_80568948@ha
/* 802C1514 002BD174 88 01 00 08 */ lbz r0, 8(r1)
/* 802C1518 002BD178 38 63 89 48 */ addi r3, r3, lbl_80568948@l
@@ -360,7 +360,7 @@ lbl_802C1528:
/* 802C1528 002BD188 7F E3 FB 78 */ mr r3, r31
/* 802C152C 002BD18C 38 A1 00 09 */ addi r5, r1, 9
/* 802C1530 002BD190 38 80 17 07 */ li r4, 0x1707
-/* 802C1534 002BD194 48 00 15 F9 */ bl func_802C2B2C
+/* 802C1534 002BD194 48 00 15 F9 */ bl bta_hh_sm_execute
/* 802C1538 002BD198 48 00 00 A4 */ b lbl_802C15DC
lbl_802C153C:
/* 802C153C 002BD19C 3F C0 80 57 */ lis r30, lbl_80568948@ha
@@ -404,7 +404,7 @@ lbl_802C15C0:
/* 802C15CC 002BD22C 7F E3 FB 78 */ mr r3, r31
/* 802C15D0 002BD230 38 A1 00 09 */ addi r5, r1, 9
/* 802C15D4 002BD234 38 80 17 07 */ li r4, 0x1707
-/* 802C15D8 002BD238 48 00 15 55 */ bl func_802C2B2C
+/* 802C15D8 002BD238 48 00 15 55 */ bl bta_hh_sm_execute
lbl_802C15DC:
/* 802C15DC 002BD23C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C15E0 002BD240 83 E1 00 1C */ lwz r31, 0x1c(r1)
@@ -470,7 +470,7 @@ lbl_802C16BC:
/* 802C16BC 002BD31C 7F A3 EB 78 */ mr r3, r29
/* 802C16C0 002BD320 38 80 17 0B */ li r4, 0x170b
/* 802C16C4 002BD324 38 A0 00 00 */ li r5, 0
-/* 802C16C8 002BD328 48 00 14 65 */ bl func_802C2B2C
+/* 802C16C8 002BD328 48 00 14 65 */ bl bta_hh_sm_execute
lbl_802C16CC:
/* 802C16CC 002BD32C 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 802C16D0 002BD330 41 82 00 74 */ beq lbl_802C1744
@@ -494,7 +494,7 @@ lbl_802C16F4:
/* 802C1710 002BD370 7F A3 EB 78 */ mr r3, r29
/* 802C1714 002BD374 38 80 17 01 */ li r4, 0x1701
/* 802C1718 002BD378 38 A0 00 00 */ li r5, 0
-/* 802C171C 002BD37C 48 00 14 11 */ bl func_802C2B2C
+/* 802C171C 002BD37C 48 00 14 11 */ bl bta_hh_sm_execute
/* 802C1720 002BD380 88 1D 00 15 */ lbz r0, 0x15(r29)
/* 802C1724 002BD384 2C 00 00 00 */ cmpwi r0, 0
/* 802C1728 002BD388 40 82 00 18 */ bne lbl_802C1740
@@ -502,9 +502,9 @@ lbl_802C16F4:
/* 802C1730 002BD390 2C 00 00 00 */ cmpwi r0, 0
/* 802C1734 002BD394 40 82 00 0C */ bne lbl_802C1740
/* 802C1738 002BD398 7F A3 EB 78 */ mr r3, r29
-/* 802C173C 002BD39C 48 00 1A 81 */ bl func_802C31BC
+/* 802C173C 002BD39C 48 00 1A 81 */ bl bta_hh_clean_up_kdev
lbl_802C1740:
-/* 802C1740 002BD3A0 48 00 1C 0D */ bl func_802C334C
+/* 802C1740 002BD3A0 48 00 1C 0D */ bl bta_hh_trace_dev_db
lbl_802C1744:
/* 802C1744 002BD3A4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C1748 002BD3A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
@@ -656,7 +656,7 @@ lbl_802C1940:
/* 802C194C 002BD5AC 7F C3 F3 78 */ mr r3, r30
/* 802C1950 002BD5B0 7F E5 FB 78 */ mr r5, r31
/* 802C1954 002BD5B4 38 80 17 0B */ li r4, 0x170b
-/* 802C1958 002BD5B8 48 00 11 D5 */ bl func_802C2B2C
+/* 802C1958 002BD5B8 48 00 11 D5 */ bl bta_hh_sm_execute
/* 802C195C 002BD5BC 48 00 00 34 */ b lbl_802C1990
lbl_802C1960:
/* 802C1960 002BD5C0 38 00 00 01 */ li r0, 1
@@ -846,7 +846,7 @@ lbl_802C1BCC:
/* 802C1BF4 002BD854 81 85 02 24 */ lwz r12, 0x224(r5)
/* 802C1BF8 002BD858 7D 89 03 A6 */ mtctr r12
/* 802C1BFC 002BD85C 4E 80 04 21 */ bctrl
-/* 802C1C00 002BD860 48 00 17 4D */ bl func_802C334C
+/* 802C1C00 002BD860 48 00 17 4D */ bl bta_hh_trace_dev_db
/* 802C1C04 002BD864 38 00 00 00 */ li r0, 0
/* 802C1C08 002BD868 B0 1F 00 10 */ sth r0, 0x10(r31)
/* 802C1C0C 002BD86C 88 01 00 16 */ lbz r0, 0x16(r1)
@@ -1063,7 +1063,7 @@ lbl_802C1EE4:
/* 802C1F0C 002BDB6C 81 85 02 24 */ lwz r12, 0x224(r5)
/* 802C1F10 002BDB70 7D 89 03 A6 */ mtctr r12
/* 802C1F14 002BDB74 4E 80 04 21 */ bctrl
-/* 802C1F18 002BDB78 48 00 14 35 */ bl func_802C334C
+/* 802C1F18 002BDB78 48 00 14 35 */ bl bta_hh_trace_dev_db
/* 802C1F1C 002BDB7C 48 00 01 2C */ b lbl_802C2048
lbl_802C1F20:
/* 802C1F20 002BDB80 88 63 00 16 */ lbz r3, 0x16(r3)
@@ -1099,9 +1099,9 @@ lbl_802C1F6C:
/* 802C1F94 002BDBF4 88 7F 00 16 */ lbz r3, 0x16(r31)
/* 802C1F98 002BDBF8 48 01 13 25 */ bl func_802D32BC
/* 802C1F9C 002BDBFC 7F E3 FB 78 */ mr r3, r31
-/* 802C1FA0 002BDC00 48 00 12 1D */ bl func_802C31BC
+/* 802C1FA0 002BDC00 48 00 12 1D */ bl bta_hh_clean_up_kdev
lbl_802C1FA4:
-/* 802C1FA4 002BDC04 48 00 13 A9 */ bl func_802C334C
+/* 802C1FA4 002BDC04 48 00 13 A9 */ bl bta_hh_trace_dev_db
/* 802C1FA8 002BDC08 38 80 00 00 */ li r4, 0
/* 802C1FAC 002BDC0C 3C 60 80 57 */ lis r3, lbl_80568948@ha
/* 802C1FB0 002BDC10 98 9F 00 17 */ stb r4, 0x17(r31)
@@ -1202,7 +1202,7 @@ lbl_802C20C4:
/* 802C210C 002BDD6C A0 BF 00 0E */ lhz r5, 0xe(r31)
/* 802C2110 002BDD70 88 FF 00 12 */ lbz r7, 0x12(r31)
/* 802C2114 002BDD74 89 1F 00 13 */ lbz r8, 0x13(r31)
-/* 802C2118 002BDD78 48 00 11 25 */ bl func_802C323C
+/* 802C2118 002BDD78 48 00 11 25 */ bl bta_hh_add_device_to_list
/* 802C211C 002BDD7C 3C 60 80 57 */ lis r3, lbl_80568948@ha
/* 802C2120 002BDD80 88 01 00 08 */ lbz r0, 8(r1)
/* 802C2124 002BDD84 38 63 89 48 */ addi r3, r3, lbl_80568948@l
@@ -1215,7 +1215,7 @@ lbl_802C2138:
/* 802C213C 002BDD9C 98 61 00 17 */ stb r3, 0x17(r1)
/* 802C2140 002BDDA0 98 01 00 16 */ stb r0, 0x16(r1)
lbl_802C2144:
-/* 802C2144 002BDDA4 48 00 12 09 */ bl func_802C334C
+/* 802C2144 002BDDA4 48 00 12 09 */ bl bta_hh_trace_dev_db
/* 802C2148 002BDDA8 48 00 00 64 */ b lbl_802C21AC
lbl_802C214C:
/* 802C214C 002BDDAC A0 04 00 06 */ lhz r0, 6(r4)
@@ -1233,7 +1233,7 @@ lbl_802C214C:
/* 802C217C 002BDDDC 38 00 00 00 */ li r0, 0
/* 802C2180 002BDDE0 7F C3 F3 78 */ mr r3, r30
/* 802C2184 002BDDE4 98 01 00 16 */ stb r0, 0x16(r1)
-/* 802C2188 002BDDE8 48 00 10 35 */ bl func_802C31BC
+/* 802C2188 002BDDE8 48 00 10 35 */ bl bta_hh_clean_up_kdev
/* 802C218C 002BDDEC 48 00 00 20 */ b lbl_802C21AC
lbl_802C2190:
/* 802C2190 002BDDF0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
diff --git a/asm/SDK/BTE/bta_hh_main.s b/asm/SDK/BTE/bta_hh_main.s
new file mode 100644
index 0000000..0ca6001
--- /dev/null
+++ b/asm/SDK/BTE/bta_hh_main.s
@@ -0,0 +1,401 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global bta_hh_sm_execute
+bta_hh_sm_execute:
+/* 802C2B2C 002BE78C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802C2B30 002BE790 7C 08 02 A6 */ mflr r0
+/* 802C2B34 002BE794 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802C2B38 002BE798 39 61 00 40 */ addi r11, r1, 0x40
+/* 802C2B3C 002BE79C 4B F0 45 E9 */ bl _savegpr_26
+/* 802C2B40 002BE7A0 3F E0 80 44 */ lis r31, lbl_80440720@ha
+/* 802C2B44 002BE7A4 7C 7B 1B 78 */ mr r27, r3
+/* 802C2B48 002BE7A8 7C 9C 23 78 */ mr r28, r4
+/* 802C2B4C 002BE7AC 7C BD 2B 78 */ mr r29, r5
+/* 802C2B50 002BE7B0 3B FF 07 20 */ addi r31, r31, lbl_80440720@l
+/* 802C2B54 002BE7B4 38 61 00 08 */ addi r3, r1, 8
+/* 802C2B58 002BE7B8 3B C0 00 00 */ li r30, 0
+/* 802C2B5C 002BE7BC 38 80 00 00 */ li r4, 0
+/* 802C2B60 002BE7C0 38 A0 00 20 */ li r5, 0x20
+/* 802C2B64 002BE7C4 4B D4 15 A1 */ bl memset
+/* 802C2B68 002BE7C8 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C2B6C 002BE7CC 40 82 01 58 */ bne lbl_802C2CC4
+/* 802C2B70 002BE7D0 3C 60 80 57 */ lis r3, lbl_80568948@ha
+/* 802C2B74 002BE7D4 38 63 89 48 */ addi r3, r3, lbl_80568948@l
+/* 802C2B78 002BE7D8 80 03 02 24 */ lwz r0, 0x224(r3)
+/* 802C2B7C 002BE7DC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C2B80 002BE7E0 41 82 02 E8 */ beq lbl_802C2E68
+/* 802C2B84 002BE7E4 2C 1C 17 08 */ cmpwi r28, 0x1708
+/* 802C2B88 002BE7E8 41 82 00 90 */ beq lbl_802C2C18
+/* 802C2B8C 002BE7EC 40 80 00 1C */ bge lbl_802C2BA8
+/* 802C2B90 002BE7F0 2C 1C 17 01 */ cmpwi r28, 0x1701
+/* 802C2B94 002BE7F4 41 82 00 D8 */ beq lbl_802C2C6C
+/* 802C2B98 002BE7F8 40 80 00 EC */ bge lbl_802C2C84
+/* 802C2B9C 002BE7FC 2C 1C 17 00 */ cmpwi r28, 0x1700
+/* 802C2BA0 002BE800 40 80 00 14 */ bge lbl_802C2BB4
+/* 802C2BA4 002BE804 48 00 00 E0 */ b lbl_802C2C84
+lbl_802C2BA8:
+/* 802C2BA8 002BE808 2C 1C 17 0A */ cmpwi r28, 0x170a
+/* 802C2BAC 002BE80C 41 82 00 2C */ beq lbl_802C2BD8
+/* 802C2BB0 002BE810 48 00 00 D4 */ b lbl_802C2C84
+lbl_802C2BB4:
+/* 802C2BB4 002BE814 38 61 00 08 */ addi r3, r1, 8
+/* 802C2BB8 002BE818 38 9D 00 08 */ addi r4, r29, 8
+/* 802C2BBC 002BE81C 3B C0 00 02 */ li r30, 2
+/* 802C2BC0 002BE820 4B FF A9 A1 */ bl bdcpy
+/* 802C2BC4 002BE824 38 60 00 09 */ li r3, 9
+/* 802C2BC8 002BE828 38 00 00 FF */ li r0, 0xff
+/* 802C2BCC 002BE82C 98 61 00 0E */ stb r3, 0xe(r1)
+/* 802C2BD0 002BE830 98 01 00 0F */ stb r0, 0xf(r1)
+/* 802C2BD4 002BE834 48 00 00 CC */ b lbl_802C2CA0
+lbl_802C2BD8:
+/* 802C2BD8 002BE838 A3 DD 00 10 */ lhz r30, 0x10(r29)
+/* 802C2BDC 002BE83C 28 1E 00 0B */ cmplwi r30, 0xb
+/* 802C2BE0 002BE840 40 82 00 24 */ bne lbl_802C2C04
+/* 802C2BE4 002BE844 38 61 00 08 */ addi r3, r1, 8
+/* 802C2BE8 002BE848 38 9D 00 08 */ addi r4, r29, 8
+/* 802C2BEC 002BE84C 4B FF A9 75 */ bl bdcpy
+/* 802C2BF0 002BE850 38 60 00 09 */ li r3, 9
+/* 802C2BF4 002BE854 38 00 00 FF */ li r0, 0xff
+/* 802C2BF8 002BE858 98 61 00 0E */ stb r3, 0xe(r1)
+/* 802C2BFC 002BE85C 98 01 00 0F */ stb r0, 0xf(r1)
+/* 802C2C00 002BE860 48 00 00 A0 */ b lbl_802C2CA0
+lbl_802C2C04:
+/* 802C2C04 002BE864 38 00 00 0D */ li r0, 0xd
+/* 802C2C08 002BE868 98 01 00 0E */ stb r0, 0xe(r1)
+/* 802C2C0C 002BE86C A0 1D 00 06 */ lhz r0, 6(r29)
+/* 802C2C10 002BE870 98 01 00 0F */ stb r0, 0xf(r1)
+/* 802C2C14 002BE874 48 00 00 8C */ b lbl_802C2CA0
+lbl_802C2C18:
+/* 802C2C18 002BE878 8B DD 00 08 */ lbz r30, 8(r29)
+/* 802C2C1C 002BE87C 28 1E 00 07 */ cmplwi r30, 7
+/* 802C2C20 002BE880 41 82 00 14 */ beq lbl_802C2C34
+/* 802C2C24 002BE884 28 1E 00 05 */ cmplwi r30, 5
+/* 802C2C28 002BE888 41 82 00 0C */ beq lbl_802C2C34
+/* 802C2C2C 002BE88C 28 1E 00 09 */ cmplwi r30, 9
+/* 802C2C30 002BE890 40 82 00 18 */ bne lbl_802C2C48
+lbl_802C2C34:
+/* 802C2C34 002BE894 38 00 00 0D */ li r0, 0xd
+/* 802C2C38 002BE898 98 01 00 08 */ stb r0, 8(r1)
+/* 802C2C3C 002BE89C A0 1D 00 06 */ lhz r0, 6(r29)
+/* 802C2C40 002BE8A0 98 01 00 09 */ stb r0, 9(r1)
+/* 802C2C44 002BE8A4 48 00 00 5C */ b lbl_802C2CA0
+lbl_802C2C48:
+/* 802C2C48 002BE8A8 28 1E 00 0A */ cmplwi r30, 0xa
+/* 802C2C4C 002BE8AC 41 82 00 54 */ beq lbl_802C2CA0
+/* 802C2C50 002BE8B0 28 1E 00 01 */ cmplwi r30, 1
+/* 802C2C54 002BE8B4 41 82 00 4C */ beq lbl_802C2CA0
+/* 802C2C58 002BE8B8 A0 7D 00 06 */ lhz r3, 6(r29)
+/* 802C2C5C 002BE8BC 38 00 00 0D */ li r0, 0xd
+/* 802C2C60 002BE8C0 98 61 00 09 */ stb r3, 9(r1)
+/* 802C2C64 002BE8C4 98 01 00 08 */ stb r0, 8(r1)
+/* 802C2C68 002BE8C8 48 00 00 38 */ b lbl_802C2CA0
+lbl_802C2C6C:
+/* 802C2C6C 002BE8CC 38 00 00 0D */ li r0, 0xd
+/* 802C2C70 002BE8D0 3B C0 00 03 */ li r30, 3
+/* 802C2C74 002BE8D4 98 01 00 08 */ stb r0, 8(r1)
+/* 802C2C78 002BE8D8 A0 1D 00 06 */ lhz r0, 6(r29)
+/* 802C2C7C 002BE8DC 98 01 00 09 */ stb r0, 9(r1)
+/* 802C2C80 002BE8E0 48 00 00 20 */ b lbl_802C2CA0
+lbl_802C2C84:
+/* 802C2C84 002BE8E4 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C2C88 002BE8E8 28 00 00 01 */ cmplwi r0, 1
+/* 802C2C8C 002BE8EC 41 80 00 14 */ blt lbl_802C2CA0
+/* 802C2C90 002BE8F0 A0 BD 00 06 */ lhz r5, 6(r29)
+/* 802C2C94 002BE8F4 38 9F 00 00 */ addi r4, r31, 0
+/* 802C2C98 002BE8F8 38 60 05 00 */ li r3, 0x500
+/* 802C2C9C 002BE8FC 4B FF A2 8D */ bl LogMsg_1
+lbl_802C2CA0:
+/* 802C2CA0 002BE900 57 C3 04 3F */ clrlwi. r3, r30, 0x10
+/* 802C2CA4 002BE904 41 82 01 C4 */ beq lbl_802C2E68
+/* 802C2CA8 002BE908 3C A0 80 57 */ lis r5, lbl_80568948@ha
+/* 802C2CAC 002BE90C 38 81 00 08 */ addi r4, r1, 8
+/* 802C2CB0 002BE910 38 A5 89 48 */ addi r5, r5, lbl_80568948@l
+/* 802C2CB4 002BE914 81 85 02 24 */ lwz r12, 0x224(r5)
+/* 802C2CB8 002BE918 7D 89 03 A6 */ mtctr r12
+/* 802C2CBC 002BE91C 4E 80 04 21 */ bctrl
+/* 802C2CC0 002BE920 48 00 01 A8 */ b lbl_802C2E68
+lbl_802C2CC4:
+/* 802C2CC4 002BE924 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C2CC8 002BE928 8B DB 00 1C */ lbz r30, 0x1c(r27)
+/* 802C2CCC 002BE92C 28 00 00 04 */ cmplwi r0, 4
+/* 802C2CD0 002BE930 41 80 00 70 */ blt lbl_802C2D40
+/* 802C2CD4 002BE934 2C 1E 00 02 */ cmpwi r30, 2
+/* 802C2CD8 002BE938 41 82 00 34 */ beq lbl_802C2D0C
+/* 802C2CDC 002BE93C 40 80 00 14 */ bge lbl_802C2CF0
+/* 802C2CE0 002BE940 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C2CE4 002BE944 41 82 00 18 */ beq lbl_802C2CFC
+/* 802C2CE8 002BE948 40 80 00 1C */ bge lbl_802C2D04
+/* 802C2CEC 002BE94C 48 00 00 30 */ b lbl_802C2D1C
+lbl_802C2CF0:
+/* 802C2CF0 002BE950 2C 1E 00 04 */ cmpwi r30, 4
+/* 802C2CF4 002BE954 40 80 00 28 */ bge lbl_802C2D1C
+/* 802C2CF8 002BE958 48 00 00 1C */ b lbl_802C2D14
+lbl_802C2CFC:
+/* 802C2CFC 002BE95C 3B 5F 00 1C */ addi r26, r31, 0x1c
+/* 802C2D00 002BE960 48 00 00 20 */ b lbl_802C2D20
+lbl_802C2D04:
+/* 802C2D04 002BE964 3B 5F 00 2C */ addi r26, r31, 0x2c
+/* 802C2D08 002BE968 48 00 00 18 */ b lbl_802C2D20
+lbl_802C2D0C:
+/* 802C2D0C 002BE96C 3B 5F 00 3C */ addi r26, r31, 0x3c
+/* 802C2D10 002BE970 48 00 00 10 */ b lbl_802C2D20
+lbl_802C2D14:
+/* 802C2D14 002BE974 3B 5F 00 50 */ addi r26, r31, 0x50
+/* 802C2D18 002BE978 48 00 00 08 */ b lbl_802C2D20
+lbl_802C2D1C:
+/* 802C2D1C 002BE97C 3B 5F 00 60 */ addi r26, r31, 0x60
+lbl_802C2D20:
+/* 802C2D20 002BE980 7F 83 E3 78 */ mr r3, r28
+/* 802C2D24 002BE984 48 00 02 A9 */ bl bta_hh_evt_code
+/* 802C2D28 002BE988 7C 67 1B 78 */ mr r7, r3
+/* 802C2D2C 002BE98C 7F C5 F3 78 */ mr r5, r30
+/* 802C2D30 002BE990 7F 46 D3 78 */ mr r6, r26
+/* 802C2D34 002BE994 38 9F 00 78 */ addi r4, r31, 0x78
+/* 802C2D38 002BE998 38 60 05 03 */ li r3, 0x503
+/* 802C2D3C 002BE99C 4B FF A2 1D */ bl LogMsg_3
+lbl_802C2D40:
+/* 802C2D40 002BE9A0 88 9B 00 1C */ lbz r4, 0x1c(r27)
+/* 802C2D44 002BE9A4 3C 60 80 40 */ lis r3, lbl_803FDDA8@ha
+/* 802C2D48 002BE9A8 38 63 DD A8 */ addi r3, r3, lbl_803FDDA8@l
+/* 802C2D4C 002BE9AC 57 9C 06 3E */ clrlwi r28, r28, 0x18
+/* 802C2D50 002BE9B0 38 04 FF FF */ addi r0, r4, -1
+/* 802C2D54 002BE9B4 54 00 10 3A */ slwi r0, r0, 2
+/* 802C2D58 002BE9B8 57 84 08 3C */ slwi r4, r28, 1
+/* 802C2D5C 002BE9BC 7C A3 00 2E */ lwzx r5, r3, r0
+/* 802C2D60 002BE9C0 7C 65 22 14 */ add r3, r5, r4
+/* 802C2D64 002BE9C4 88 03 00 01 */ lbz r0, 1(r3)
+/* 802C2D68 002BE9C8 98 1B 00 1C */ stb r0, 0x1c(r27)
+/* 802C2D6C 002BE9CC 7C 05 20 AE */ lbzx r0, r5, r4
+/* 802C2D70 002BE9D0 28 00 00 0C */ cmplwi r0, 0xc
+/* 802C2D74 002BE9D4 41 82 00 24 */ beq lbl_802C2D98
+/* 802C2D78 002BE9D8 3C 80 80 40 */ lis r4, lbl_803FDD30@ha
+/* 802C2D7C 002BE9DC 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
+/* 802C2D80 002BE9E0 38 84 DD 30 */ addi r4, r4, lbl_803FDD30@l
+/* 802C2D84 002BE9E4 7F 63 DB 78 */ mr r3, r27
+/* 802C2D88 002BE9E8 7D 84 00 2E */ lwzx r12, r4, r0
+/* 802C2D8C 002BE9EC 7F A4 EB 78 */ mr r4, r29
+/* 802C2D90 002BE9F0 7D 89 03 A6 */ mtctr r12
+/* 802C2D94 002BE9F4 4E 80 04 21 */ bctrl
+lbl_802C2D98:
+/* 802C2D98 002BE9F8 88 7B 00 1C */ lbz r3, 0x1c(r27)
+/* 802C2D9C 002BE9FC 7C 1E 18 40 */ cmplw r30, r3
+/* 802C2DA0 002BEA00 41 82 00 C8 */ beq lbl_802C2E68
+/* 802C2DA4 002BEA04 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C2DA8 002BEA08 28 00 00 05 */ cmplwi r0, 5
+/* 802C2DAC 002BEA0C 41 80 00 BC */ blt lbl_802C2E68
+/* 802C2DB0 002BEA10 2C 1E 00 02 */ cmpwi r30, 2
+/* 802C2DB4 002BEA14 41 82 00 34 */ beq lbl_802C2DE8
+/* 802C2DB8 002BEA18 40 80 00 14 */ bge lbl_802C2DCC
+/* 802C2DBC 002BEA1C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C2DC0 002BEA20 41 82 00 18 */ beq lbl_802C2DD8
+/* 802C2DC4 002BEA24 40 80 00 1C */ bge lbl_802C2DE0
+/* 802C2DC8 002BEA28 48 00 00 30 */ b lbl_802C2DF8
+lbl_802C2DCC:
+/* 802C2DCC 002BEA2C 2C 1E 00 04 */ cmpwi r30, 4
+/* 802C2DD0 002BEA30 40 80 00 28 */ bge lbl_802C2DF8
+/* 802C2DD4 002BEA34 48 00 00 1C */ b lbl_802C2DF0
+lbl_802C2DD8:
+/* 802C2DD8 002BEA38 3B 5F 00 1C */ addi r26, r31, 0x1c
+/* 802C2DDC 002BEA3C 48 00 00 20 */ b lbl_802C2DFC
+lbl_802C2DE0:
+/* 802C2DE0 002BEA40 3B 5F 00 2C */ addi r26, r31, 0x2c
+/* 802C2DE4 002BEA44 48 00 00 18 */ b lbl_802C2DFC
+lbl_802C2DE8:
+/* 802C2DE8 002BEA48 3B 5F 00 3C */ addi r26, r31, 0x3c
+/* 802C2DEC 002BEA4C 48 00 00 10 */ b lbl_802C2DFC
+lbl_802C2DF0:
+/* 802C2DF0 002BEA50 3B 5F 00 50 */ addi r26, r31, 0x50
+/* 802C2DF4 002BEA54 48 00 00 08 */ b lbl_802C2DFC
+lbl_802C2DF8:
+/* 802C2DF8 002BEA58 3B 5F 00 60 */ addi r26, r31, 0x60
+lbl_802C2DFC:
+/* 802C2DFC 002BEA5C 2C 03 00 02 */ cmpwi r3, 2
+/* 802C2E00 002BEA60 41 82 00 34 */ beq lbl_802C2E34
+/* 802C2E04 002BEA64 40 80 00 14 */ bge lbl_802C2E18
+/* 802C2E08 002BEA68 2C 03 00 00 */ cmpwi r3, 0
+/* 802C2E0C 002BEA6C 41 82 00 18 */ beq lbl_802C2E24
+/* 802C2E10 002BEA70 40 80 00 1C */ bge lbl_802C2E2C
+/* 802C2E14 002BEA74 48 00 00 30 */ b lbl_802C2E44
+lbl_802C2E18:
+/* 802C2E18 002BEA78 2C 03 00 04 */ cmpwi r3, 4
+/* 802C2E1C 002BEA7C 40 80 00 28 */ bge lbl_802C2E44
+/* 802C2E20 002BEA80 48 00 00 1C */ b lbl_802C2E3C
+lbl_802C2E24:
+/* 802C2E24 002BEA84 3B 7F 00 1C */ addi r27, r31, 0x1c
+/* 802C2E28 002BEA88 48 00 00 20 */ b lbl_802C2E48
+lbl_802C2E2C:
+/* 802C2E2C 002BEA8C 3B 7F 00 2C */ addi r27, r31, 0x2c
+/* 802C2E30 002BEA90 48 00 00 18 */ b lbl_802C2E48
+lbl_802C2E34:
+/* 802C2E34 002BEA94 3B 7F 00 3C */ addi r27, r31, 0x3c
+/* 802C2E38 002BEA98 48 00 00 10 */ b lbl_802C2E48
+lbl_802C2E3C:
+/* 802C2E3C 002BEA9C 3B 7F 00 50 */ addi r27, r31, 0x50
+/* 802C2E40 002BEAA0 48 00 00 08 */ b lbl_802C2E48
+lbl_802C2E44:
+/* 802C2E44 002BEAA4 3B 7F 00 60 */ addi r27, r31, 0x60
+lbl_802C2E48:
+/* 802C2E48 002BEAA8 7F 83 E3 78 */ mr r3, r28
+/* 802C2E4C 002BEAAC 48 00 01 81 */ bl bta_hh_evt_code
+/* 802C2E50 002BEAB0 7C 67 1B 78 */ mr r7, r3
+/* 802C2E54 002BEAB4 7F 45 D3 78 */ mr r5, r26
+/* 802C2E58 002BEAB8 7F 66 DB 78 */ mr r6, r27
+/* 802C2E5C 002BEABC 38 9F 00 AC */ addi r4, r31, 0xac
+/* 802C2E60 002BEAC0 38 60 05 04 */ li r3, 0x504
+/* 802C2E64 002BEAC4 4B FF A0 F5 */ bl LogMsg_3
+lbl_802C2E68:
+/* 802C2E68 002BEAC8 39 61 00 40 */ addi r11, r1, 0x40
+/* 802C2E6C 002BEACC 4B F0 43 05 */ bl _restgpr_26
+/* 802C2E70 002BEAD0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802C2E74 002BEAD4 7C 08 03 A6 */ mtlr r0
+/* 802C2E78 002BEAD8 38 21 00 40 */ addi r1, r1, 0x40
+/* 802C2E7C 002BEADC 4E 80 00 20 */ blr
+
+bta_hh_hdl_event:
+/* 802C2E80 002BEAE0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C2E84 002BEAE4 7C 08 02 A6 */ mflr r0
+/* 802C2E88 002BEAE8 38 C0 00 10 */ li r6, 0x10
+/* 802C2E8C 002BEAEC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C2E90 002BEAF0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C2E94 002BEAF4 3B E0 00 00 */ li r31, 0
+/* 802C2E98 002BEAF8 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C2E9C 002BEAFC 7C 7E 1B 78 */ mr r30, r3
+/* 802C2EA0 002BEB00 A0 03 00 00 */ lhz r0, 0(r3)
+/* 802C2EA4 002BEB04 2C 00 17 0E */ cmpwi r0, 0x170e
+/* 802C2EA8 002BEB08 41 82 00 3C */ beq lbl_802C2EE4
+/* 802C2EAC 002BEB0C 40 80 00 14 */ bge lbl_802C2EC0
+/* 802C2EB0 002BEB10 2C 00 17 0C */ cmpwi r0, 0x170c
+/* 802C2EB4 002BEB14 41 82 00 18 */ beq lbl_802C2ECC
+/* 802C2EB8 002BEB18 40 80 00 1C */ bge lbl_802C2ED4
+/* 802C2EBC 002BEB1C 48 00 00 30 */ b lbl_802C2EEC
+lbl_802C2EC0:
+/* 802C2EC0 002BEB20 2C 00 17 10 */ cmpwi r0, 0x1710
+/* 802C2EC4 002BEB24 40 80 00 28 */ bge lbl_802C2EEC
+/* 802C2EC8 002BEB28 48 00 00 14 */ b lbl_802C2EDC
+lbl_802C2ECC:
+/* 802C2ECC 002BEB2C 4B FF E1 49 */ bl bta_hh_api_enable
+/* 802C2ED0 002BEB30 48 00 00 E0 */ b lbl_802C2FB0
+lbl_802C2ED4:
+/* 802C2ED4 002BEB34 4B FF E2 B5 */ bl bta_hh_api_disable
+/* 802C2ED8 002BEB38 48 00 00 D8 */ b lbl_802C2FB0
+lbl_802C2EDC:
+/* 802C2EDC 002BEB3C 4B FF E3 B1 */ bl bta_hh_disc_cmpl
+/* 802C2EE0 002BEB40 48 00 00 D0 */ b lbl_802C2FB0
+lbl_802C2EE4:
+/* 802C2EE4 002BEB44 4B FF F2 FD */ bl bta_hh_get_acl_q_info
+/* 802C2EE8 002BEB48 48 00 00 C8 */ b lbl_802C2FB0
+lbl_802C2EEC:
+/* 802C2EEC 002BEB4C 28 00 17 00 */ cmplwi r0, 0x1700
+/* 802C2EF0 002BEB50 40 82 00 14 */ bne lbl_802C2F04
+/* 802C2EF4 002BEB54 38 63 00 08 */ addi r3, r3, 8
+/* 802C2EF8 002BEB58 48 00 01 89 */ bl bta_hh_find_cb
+/* 802C2EFC 002BEB5C 7C 66 1B 78 */ mr r6, r3
+/* 802C2F00 002BEB60 48 00 00 5C */ b lbl_802C2F5C
+lbl_802C2F04:
+/* 802C2F04 002BEB64 28 00 17 0A */ cmplwi r0, 0x170a
+/* 802C2F08 002BEB68 40 82 00 38 */ bne lbl_802C2F40
+/* 802C2F0C 002BEB6C A0 03 00 10 */ lhz r0, 0x10(r3)
+/* 802C2F10 002BEB70 28 00 00 0B */ cmplwi r0, 0xb
+/* 802C2F14 002BEB74 40 82 00 14 */ bne lbl_802C2F28
+/* 802C2F18 002BEB78 38 63 00 08 */ addi r3, r3, 8
+/* 802C2F1C 002BEB7C 48 00 01 65 */ bl bta_hh_find_cb
+/* 802C2F20 002BEB80 7C 66 1B 78 */ mr r6, r3
+/* 802C2F24 002BEB84 48 00 00 38 */ b lbl_802C2F5C
+lbl_802C2F28:
+/* 802C2F28 002BEB88 3C 80 80 57 */ lis r4, lbl_80568948@ha
+/* 802C2F2C 002BEB8C A0 03 00 06 */ lhz r0, 6(r3)
+/* 802C2F30 002BEB90 38 84 89 48 */ addi r4, r4, lbl_80568948@l
+/* 802C2F34 002BEB94 7C 64 02 14 */ add r3, r4, r0
+/* 802C2F38 002BEB98 88 C3 02 14 */ lbz r6, 0x214(r3)
+/* 802C2F3C 002BEB9C 48 00 00 20 */ b lbl_802C2F5C
+lbl_802C2F40:
+/* 802C2F40 002BEBA0 A0 03 00 06 */ lhz r0, 6(r3)
+/* 802C2F44 002BEBA4 28 00 00 10 */ cmplwi r0, 0x10
+/* 802C2F48 002BEBA8 40 80 00 14 */ bge lbl_802C2F5C
+/* 802C2F4C 002BEBAC 3C 60 80 57 */ lis r3, lbl_80568948@ha
+/* 802C2F50 002BEBB0 38 63 89 48 */ addi r3, r3, lbl_80568948@l
+/* 802C2F54 002BEBB4 7C 63 02 14 */ add r3, r3, r0
+/* 802C2F58 002BEBB8 88 C3 02 14 */ lbz r6, 0x214(r3)
+lbl_802C2F5C:
+/* 802C2F5C 002BEBBC 54 C0 06 3E */ clrlwi r0, r6, 0x18
+/* 802C2F60 002BEBC0 28 00 00 10 */ cmplwi r0, 0x10
+/* 802C2F64 002BEBC4 41 82 00 18 */ beq lbl_802C2F7C
+/* 802C2F68 002BEBC8 3C 60 80 57 */ lis r3, lbl_80568948@ha
+/* 802C2F6C 002BEBCC 54 C0 2C F4 */ rlwinm r0, r6, 5, 0x13, 0x1a
+/* 802C2F70 002BEBD0 38 63 89 48 */ addi r3, r3, lbl_80568948@l
+/* 802C2F74 002BEBD4 7C 63 02 14 */ add r3, r3, r0
+/* 802C2F78 002BEBD8 3B E3 00 10 */ addi r31, r3, 0x10
+lbl_802C2F7C:
+/* 802C2F7C 002BEBDC 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C2F80 002BEBE0 28 00 00 05 */ cmplwi r0, 5
+/* 802C2F84 002BEBE4 41 80 00 1C */ blt lbl_802C2FA0
+/* 802C2F88 002BEBE8 3C 80 80 44 */ lis r4, lbl_804407FC@ha
+/* 802C2F8C 002BEBEC A0 BE 00 06 */ lhz r5, 6(r30)
+/* 802C2F90 002BEBF0 38 84 07 FC */ addi r4, r4, lbl_804407FC@l
+/* 802C2F94 002BEBF4 54 C6 06 3E */ clrlwi r6, r6, 0x18
+/* 802C2F98 002BEBF8 38 60 05 04 */ li r3, 0x504
+/* 802C2F9C 002BEBFC 4B FF 9F A5 */ bl LogMsg_2
+lbl_802C2FA0:
+/* 802C2FA0 002BEC00 A0 9E 00 00 */ lhz r4, 0(r30)
+/* 802C2FA4 002BEC04 7F E3 FB 78 */ mr r3, r31
+/* 802C2FA8 002BEC08 7F C5 F3 78 */ mr r5, r30
+/* 802C2FAC 002BEC0C 4B FF FB 81 */ bl bta_hh_sm_execute
+lbl_802C2FB0:
+/* 802C2FB0 002BEC10 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C2FB4 002BEC14 38 60 00 01 */ li r3, 1
+/* 802C2FB8 002BEC18 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C2FBC 002BEC1C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C2FC0 002BEC20 7C 08 03 A6 */ mtlr r0
+/* 802C2FC4 002BEC24 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C2FC8 002BEC28 4E 80 00 20 */ blr
+
+.global bta_hh_evt_code
+bta_hh_evt_code:
+/* 802C2FCC 002BEC2C 38 03 E9 00 */ addi r0, r3, -5888
+/* 802C2FD0 002BEC30 3C 80 80 44 */ lis r4, lbl_80440720@ha
+/* 802C2FD4 002BEC34 28 00 00 0F */ cmplwi r0, 0xf
+/* 802C2FD8 002BEC38 38 84 07 20 */ addi r4, r4, lbl_80440720@l
+/* 802C2FDC 002BEC3C 41 81 00 9C */ bgt lbl_802C3078
+/* 802C2FE0 002BEC40 3C 60 80 44 */ lis r3, lbl_804409C0@ha
+/* 802C2FE4 002BEC44 54 00 10 3A */ slwi r0, r0, 2
+/* 802C2FE8 002BEC48 38 63 09 C0 */ addi r3, r3, lbl_804409C0@l
+/* 802C2FEC 002BEC4C 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802C2FF0 002BEC50 7C 69 03 A6 */ mtctr r3
+/* 802C2FF4 002BEC54 4E 80 04 20 */ bctr
+/* 802C2FF8 002BEC58 38 64 01 08 */ addi r3, r4, 0x108
+/* 802C2FFC 002BEC5C 4E 80 00 20 */ blr
+/* 802C3000 002BEC60 38 64 01 20 */ addi r3, r4, 0x120
+/* 802C3004 002BEC64 4E 80 00 20 */ blr
+/* 802C3008 002BEC68 38 64 01 38 */ addi r3, r4, 0x138
+/* 802C300C 002BEC6C 4E 80 00 20 */ blr
+/* 802C3010 002BEC70 38 64 01 4C */ addi r3, r4, 0x14c
+/* 802C3014 002BEC74 4E 80 00 20 */ blr
+/* 802C3018 002BEC78 38 64 01 64 */ addi r3, r4, 0x164
+/* 802C301C 002BEC7C 4E 80 00 20 */ blr
+/* 802C3020 002BEC80 38 64 01 78 */ addi r3, r4, 0x178
+/* 802C3024 002BEC84 4E 80 00 20 */ blr
+/* 802C3028 002BEC88 38 64 01 90 */ addi r3, r4, 0x190
+/* 802C302C 002BEC8C 4E 80 00 20 */ blr
+/* 802C3030 002BEC90 38 64 01 A8 */ addi r3, r4, 0x1a8
+/* 802C3034 002BEC94 4E 80 00 20 */ blr
+/* 802C3038 002BEC98 38 64 01 BC */ addi r3, r4, 0x1bc
+/* 802C303C 002BEC9C 4E 80 00 20 */ blr
+/* 802C3040 002BECA0 38 64 01 D4 */ addi r3, r4, 0x1d4
+/* 802C3044 002BECA4 4E 80 00 20 */ blr
+/* 802C3048 002BECA8 38 64 01 F0 */ addi r3, r4, 0x1f0
+/* 802C304C 002BECAC 4E 80 00 20 */ blr
+/* 802C3050 002BECB0 38 64 02 04 */ addi r3, r4, 0x204
+/* 802C3054 002BECB4 4E 80 00 20 */ blr
+/* 802C3058 002BECB8 38 64 02 1C */ addi r3, r4, 0x21c
+/* 802C305C 002BECBC 4E 80 00 20 */ blr
+/* 802C3060 002BECC0 38 64 02 38 */ addi r3, r4, 0x238
+/* 802C3064 002BECC4 4E 80 00 20 */ blr
+/* 802C3068 002BECC8 38 64 02 50 */ addi r3, r4, 0x250
+/* 802C306C 002BECCC 4E 80 00 20 */ blr
+/* 802C3070 002BECD0 38 64 02 68 */ addi r3, r4, 0x268
+/* 802C3074 002BECD4 4E 80 00 20 */ blr
+lbl_802C3078:
+/* 802C3078 002BECD8 38 64 02 84 */ addi r3, r4, 0x284
+/* 802C307C 002BECDC 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/bta_hh_utils.s b/asm/SDK/BTE/bta_hh_utils.s
new file mode 100644
index 0000000..69b7399
--- /dev/null
+++ b/asm/SDK/BTE/bta_hh_utils.s
@@ -0,0 +1,273 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global bta_hh_find_cb
+bta_hh_find_cb:
+/* 802C3080 002BECE0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C3084 002BECE4 7C 08 02 A6 */ mflr r0
+/* 802C3088 002BECE8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C308C 002BECEC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C3090 002BECF0 4B F0 40 99 */ bl _savegpr_27
+/* 802C3094 002BECF4 3F E0 80 57 */ lis r31, lbl_80568948@ha
+/* 802C3098 002BECF8 3F C0 80 44 */ lis r30, lbl_80440A00@ha
+/* 802C309C 002BECFC 7C 7B 1B 78 */ mr r27, r3
+/* 802C30A0 002BED00 3B 80 00 00 */ li r28, 0
+/* 802C30A4 002BED04 3B DE 0A 00 */ addi r30, r30, lbl_80440A00@l
+/* 802C30A8 002BED08 3B FF 89 48 */ addi r31, r31, lbl_80568948@l
+lbl_802C30AC:
+/* 802C30AC 002BED0C 57 9D 2C F4 */ rlwinm r29, r28, 5, 0x13, 0x1a
+/* 802C30B0 002BED10 7F 63 DB 78 */ mr r3, r27
+/* 802C30B4 002BED14 7C 9F EA 14 */ add r4, r31, r29
+/* 802C30B8 002BED18 38 84 00 18 */ addi r4, r4, 0x18
+/* 802C30BC 002BED1C 4B FF A4 D9 */ bl bdcmp
+/* 802C30C0 002BED20 2C 03 00 00 */ cmpwi r3, 0
+/* 802C30C4 002BED24 40 82 00 44 */ bne lbl_802C3108
+/* 802C30C8 002BED28 7F 63 DB 78 */ mr r3, r27
+/* 802C30CC 002BED2C 38 82 AA 28 */ addi r4, r2, lbl_80643028-_SDA2_BASE_
+/* 802C30D0 002BED30 4B FF A4 C5 */ bl bdcmp
+/* 802C30D4 002BED34 2C 03 00 00 */ cmpwi r3, 0
+/* 802C30D8 002BED38 41 82 00 30 */ beq lbl_802C3108
+/* 802C30DC 002BED3C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C30E0 002BED40 28 00 00 05 */ cmplwi r0, 5
+/* 802C30E4 002BED44 41 80 00 1C */ blt lbl_802C3100
+/* 802C30E8 002BED48 7C 7F EA 14 */ add r3, r31, r29
+/* 802C30EC 002BED4C 38 9E 00 00 */ addi r4, r30, 0
+/* 802C30F0 002BED50 88 C3 00 26 */ lbz r6, 0x26(r3)
+/* 802C30F4 002BED54 57 85 06 3E */ clrlwi r5, r28, 0x18
+/* 802C30F8 002BED58 38 60 05 04 */ li r3, 0x504
+/* 802C30FC 002BED5C 4B FF 9E 45 */ bl LogMsg_2
+lbl_802C3100:
+/* 802C3100 002BED60 7F 83 E3 78 */ mr r3, r28
+/* 802C3104 002BED64 48 00 00 A0 */ b lbl_802C31A4
+lbl_802C3108:
+/* 802C3108 002BED68 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C310C 002BED6C 28 00 00 05 */ cmplwi r0, 5
+/* 802C3110 002BED70 41 80 00 24 */ blt lbl_802C3134
+/* 802C3114 002BED74 7D 1F EA 14 */ add r8, r31, r29
+/* 802C3118 002BED78 38 9E 00 24 */ addi r4, r30, 0x24
+/* 802C311C 002BED7C 88 A8 00 28 */ lbz r5, 0x28(r8)
+/* 802C3120 002BED80 57 86 06 3E */ clrlwi r6, r28, 0x18
+/* 802C3124 002BED84 88 E8 00 26 */ lbz r7, 0x26(r8)
+/* 802C3128 002BED88 38 60 05 04 */ li r3, 0x504
+/* 802C312C 002BED8C 89 08 00 2C */ lbz r8, 0x2c(r8)
+/* 802C3130 002BED90 4B FF 9E 41 */ bl LogMsg_4
+lbl_802C3134:
+/* 802C3134 002BED94 3B 9C 00 01 */ addi r28, r28, 1
+/* 802C3138 002BED98 28 1C 00 10 */ cmplwi r28, 0x10
+/* 802C313C 002BED9C 41 80 FF 70 */ blt lbl_802C30AC
+/* 802C3140 002BEDA0 3C 80 80 57 */ lis r4, lbl_80568948@ha
+/* 802C3144 002BEDA4 38 00 00 10 */ li r0, 0x10
+/* 802C3148 002BEDA8 38 84 89 48 */ addi r4, r4, lbl_80568948@l
+/* 802C314C 002BEDAC 3B A0 00 00 */ li r29, 0
+/* 802C3150 002BEDB0 7C 09 03 A6 */ mtctr r0
+lbl_802C3154:
+/* 802C3154 002BEDB4 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a
+/* 802C3158 002BEDB8 7C 64 02 14 */ add r3, r4, r0
+/* 802C315C 002BEDBC 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802C3160 002BEDC0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3164 002BEDC4 40 82 00 14 */ bne lbl_802C3178
+/* 802C3168 002BEDC8 7F 64 DB 78 */ mr r4, r27
+/* 802C316C 002BEDCC 38 63 00 18 */ addi r3, r3, 0x18
+/* 802C3170 002BEDD0 4B FF A3 F1 */ bl bdcpy
+/* 802C3174 002BEDD4 48 00 00 0C */ b lbl_802C3180
+lbl_802C3178:
+/* 802C3178 002BEDD8 3B BD 00 01 */ addi r29, r29, 1
+/* 802C317C 002BEDDC 42 00 FF D8 */ bdnz lbl_802C3154
+lbl_802C3180:
+/* 802C3180 002BEDE0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C3184 002BEDE4 28 00 00 05 */ cmplwi r0, 5
+/* 802C3188 002BEDE8 41 80 00 18 */ blt lbl_802C31A0
+/* 802C318C 002BEDEC 38 9E 00 58 */ addi r4, r30, 0x58
+/* 802C3190 002BEDF0 57 A5 06 3E */ clrlwi r5, r29, 0x18
+/* 802C3194 002BEDF4 38 60 05 04 */ li r3, 0x504
+/* 802C3198 002BEDF8 38 C0 00 10 */ li r6, 0x10
+/* 802C319C 002BEDFC 4B FF 9D A5 */ bl LogMsg_2
+lbl_802C31A0:
+/* 802C31A0 002BEE00 7F A3 EB 78 */ mr r3, r29
+lbl_802C31A4:
+/* 802C31A4 002BEE04 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C31A8 002BEE08 4B F0 3F CD */ bl _restgpr_27
+/* 802C31AC 002BEE0C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C31B0 002BEE10 7C 08 03 A6 */ mtlr r0
+/* 802C31B4 002BEE14 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C31B8 002BEE18 4E 80 00 20 */ blr
+
+.global bta_hh_clean_up_kdev
+bta_hh_clean_up_kdev:
+/* 802C31BC 002BEE1C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C31C0 002BEE20 7C 08 02 A6 */ mflr r0
+/* 802C31C4 002BEE24 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C31C8 002BEE28 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C31CC 002BEE2C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C31D0 002BEE30 7C 7E 1B 78 */ mr r30, r3
+/* 802C31D4 002BEE34 88 A3 00 16 */ lbz r5, 0x16(r3)
+/* 802C31D8 002BEE38 28 05 00 FF */ cmplwi r5, 0xff
+/* 802C31DC 002BEE3C 41 82 00 18 */ beq lbl_802C31F4
+/* 802C31E0 002BEE40 3C 80 80 57 */ lis r4, lbl_80568948@ha
+/* 802C31E4 002BEE44 38 00 00 10 */ li r0, 0x10
+/* 802C31E8 002BEE48 38 84 89 48 */ addi r4, r4, lbl_80568948@l
+/* 802C31EC 002BEE4C 7C 84 2A 14 */ add r4, r4, r5
+/* 802C31F0 002BEE50 98 04 02 14 */ stb r0, 0x214(r4)
+lbl_802C31F4:
+/* 802C31F4 002BEE54 8B E3 00 12 */ lbz r31, 0x12(r3)
+/* 802C31F8 002BEE58 38 63 00 04 */ addi r3, r3, 4
+/* 802C31FC 002BEE5C 4B FF AA B1 */ bl utl_freebuf
+/* 802C3200 002BEE60 7F C3 F3 78 */ mr r3, r30
+/* 802C3204 002BEE64 38 80 00 00 */ li r4, 0
+/* 802C3208 002BEE68 38 A0 00 20 */ li r5, 0x20
+/* 802C320C 002BEE6C 4B D4 0E F9 */ bl memset
+/* 802C3210 002BEE70 38 60 00 01 */ li r3, 1
+/* 802C3214 002BEE74 38 00 00 FF */ li r0, 0xff
+/* 802C3218 002BEE78 9B FE 00 12 */ stb r31, 0x12(r30)
+/* 802C321C 002BEE7C 98 7E 00 1C */ stb r3, 0x1c(r30)
+/* 802C3220 002BEE80 98 1E 00 16 */ stb r0, 0x16(r30)
+/* 802C3224 002BEE84 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C3228 002BEE88 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C322C 002BEE8C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C3230 002BEE90 7C 08 03 A6 */ mtlr r0
+/* 802C3234 002BEE94 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C3238 002BEE98 4E 80 00 20 */ blr
+
+.global bta_hh_add_device_to_list
+bta_hh_add_device_to_list:
+/* 802C323C 002BEE9C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C3240 002BEEA0 7C 08 02 A6 */ mflr r0
+/* 802C3244 002BEEA4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C3248 002BEEA8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C324C 002BEEAC 4B F0 3E D9 */ bl _savegpr_26
+/* 802C3250 002BEEB0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C3254 002BEEB4 7C 7A 1B 78 */ mr r26, r3
+/* 802C3258 002BEEB8 7C 9B 23 78 */ mr r27, r4
+/* 802C325C 002BEEBC 7C BC 2B 78 */ mr r28, r5
+/* 802C3260 002BEEC0 28 00 00 05 */ cmplwi r0, 5
+/* 802C3264 002BEEC4 7C DD 33 78 */ mr r29, r6
+/* 802C3268 002BEEC8 7C FE 3B 78 */ mr r30, r7
+/* 802C326C 002BEECC 7D 1F 43 78 */ mr r31, r8
+/* 802C3270 002BEED0 41 80 00 18 */ blt lbl_802C3288
+/* 802C3274 002BEED4 3C 80 80 44 */ lis r4, lbl_80440A84@ha
+/* 802C3278 002BEED8 7F C5 F3 78 */ mr r5, r30
+/* 802C327C 002BEEDC 38 84 0A 84 */ addi r4, r4, lbl_80440A84@l
+/* 802C3280 002BEEE0 38 60 05 04 */ li r3, 0x504
+/* 802C3284 002BEEE4 4B FF 9C A5 */ bl LogMsg_1
+lbl_802C3288:
+/* 802C3288 002BEEE8 38 00 00 01 */ li r0, 1
+/* 802C328C 002BEEEC 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C3290 002BEEF0 9B 7A 00 16 */ stb r27, 0x16(r26)
+/* 802C3294 002BEEF4 98 1A 00 18 */ stb r0, 0x18(r26)
+/* 802C3298 002BEEF8 B3 9A 00 0E */ sth r28, 0xe(r26)
+/* 802C329C 002BEEFC 9B DA 00 13 */ stb r30, 0x13(r26)
+/* 802C32A0 002BEF00 9B FA 00 15 */ stb r31, 0x15(r26)
+/* 802C32A4 002BEF04 41 82 00 3C */ beq lbl_802C32E0
+/* 802C32A8 002BEF08 38 7A 00 04 */ addi r3, r26, 4
+/* 802C32AC 002BEF0C 4B FF AA 01 */ bl utl_freebuf
+/* 802C32B0 002BEF10 A0 7D 00 00 */ lhz r3, 0(r29)
+/* 802C32B4 002BEF14 2C 03 00 00 */ cmpwi r3, 0
+/* 802C32B8 002BEF18 41 82 00 28 */ beq lbl_802C32E0
+/* 802C32BC 002BEF1C 4B FF 67 F1 */ bl GKI_getbuf
+/* 802C32C0 002BEF20 2C 03 00 00 */ cmpwi r3, 0
+/* 802C32C4 002BEF24 90 7A 00 04 */ stw r3, 4(r26)
+/* 802C32C8 002BEF28 41 82 00 18 */ beq lbl_802C32E0
+/* 802C32CC 002BEF2C A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802C32D0 002BEF30 B0 1A 00 00 */ sth r0, 0(r26)
+/* 802C32D4 002BEF34 80 9D 00 04 */ lwz r4, 4(r29)
+/* 802C32D8 002BEF38 A0 BD 00 00 */ lhz r5, 0(r29)
+/* 802C32DC 002BEF3C 4B D4 0D 25 */ bl memcpy
+lbl_802C32E0:
+/* 802C32E0 002BEF40 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C32E4 002BEF44 4B F0 3E 8D */ bl _restgpr_26
+/* 802C32E8 002BEF48 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C32EC 002BEF4C 7C 08 03 A6 */ mtlr r0
+/* 802C32F0 002BEF50 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C32F4 002BEF54 4E 80 00 20 */ blr
+
+.global bta_hh_tod_spt
+bta_hh_tod_spt:
+/* 802C32F8 002BEF58 80 ED 8A 08 */ lwz r7, lbl_8063DCC8-_SDA_BASE_(r13)
+/* 802C32FC 002BEF5C 54 89 F6 BE */ rlwinm r9, r4, 0x1e, 0x1a, 0x1f
+/* 802C3300 002BEF60 39 00 00 00 */ li r8, 0
+/* 802C3304 002BEF64 88 A7 00 00 */ lbz r5, 0(r7)
+/* 802C3308 002BEF68 48 00 00 30 */ b lbl_802C3338
+lbl_802C330C:
+/* 802C330C 002BEF6C 80 87 00 04 */ lwz r4, 4(r7)
+/* 802C3310 002BEF70 55 06 0D FC */ rlwinm r6, r8, 1, 0x17, 0x1e
+/* 802C3314 002BEF74 7C 04 30 AE */ lbzx r0, r4, r6
+/* 802C3318 002BEF78 7C 09 00 40 */ cmplw r9, r0
+/* 802C331C 002BEF7C 40 82 00 18 */ bne lbl_802C3334
+/* 802C3320 002BEF80 7C 84 32 14 */ add r4, r4, r6
+/* 802C3324 002BEF84 88 04 00 01 */ lbz r0, 1(r4)
+/* 802C3328 002BEF88 98 03 00 15 */ stb r0, 0x15(r3)
+/* 802C332C 002BEF8C 38 60 00 01 */ li r3, 1
+/* 802C3330 002BEF90 4E 80 00 20 */ blr
+lbl_802C3334:
+/* 802C3334 002BEF94 39 08 00 01 */ addi r8, r8, 1
+lbl_802C3338:
+/* 802C3338 002BEF98 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 802C333C 002BEF9C 7C 00 28 40 */ cmplw r0, r5
+/* 802C3340 002BEFA0 41 80 FF CC */ blt lbl_802C330C
+/* 802C3344 002BEFA4 38 60 00 00 */ li r3, 0
+/* 802C3348 002BEFA8 4E 80 00 20 */ blr
+
+.global bta_hh_trace_dev_db
+bta_hh_trace_dev_db:
+/* 802C334C 002BEFAC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C3350 002BEFB0 7C 08 02 A6 */ mflr r0
+/* 802C3354 002BEFB4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C3358 002BEFB8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C335C 002BEFBC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C3360 002BEFC0 3F C0 80 44 */ lis r30, lbl_80440A00@ha
+/* 802C3364 002BEFC4 3B DE 0A 00 */ addi r30, r30, lbl_80440A00@l
+/* 802C3368 002BEFC8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C336C 002BEFCC 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C3370 002BEFD0 28 00 00 05 */ cmplwi r0, 5
+/* 802C3374 002BEFD4 41 80 00 10 */ blt lbl_802C3384
+/* 802C3378 002BEFD8 38 9E 01 E4 */ addi r4, r30, 0x1e4
+/* 802C337C 002BEFDC 38 60 05 04 */ li r3, 0x504
+/* 802C3380 002BEFE0 4B FF 9B 91 */ bl LogMsg_0
+lbl_802C3384:
+/* 802C3384 002BEFE4 3C 60 80 57 */ lis r3, lbl_80568948@ha
+/* 802C3388 002BEFE8 3B A0 00 00 */ li r29, 0
+/* 802C338C 002BEFEC 3B E3 89 48 */ addi r31, r3, lbl_80568948@l
+lbl_802C3390:
+/* 802C3390 002BEFF0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C3394 002BEFF4 28 00 00 05 */ cmplwi r0, 5
+/* 802C3398 002BEFF8 41 80 00 24 */ blt lbl_802C33BC
+/* 802C339C 002BEFFC 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a
+/* 802C33A0 002BF000 38 9E 02 20 */ addi r4, r30, 0x220
+/* 802C33A4 002BF004 7C FF 02 14 */ add r7, r31, r0
+/* 802C33A8 002BF008 57 A5 06 3E */ clrlwi r5, r29, 0x18
+/* 802C33AC 002BF00C 88 C7 00 28 */ lbz r6, 0x28(r7)
+/* 802C33B0 002BF010 38 60 05 04 */ li r3, 0x504
+/* 802C33B4 002BF014 88 E7 00 26 */ lbz r7, 0x26(r7)
+/* 802C33B8 002BF018 4B FF 9B A1 */ bl LogMsg_3
+lbl_802C33BC:
+/* 802C33BC 002BF01C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C33C0 002BF020 28 00 00 05 */ cmplwi r0, 5
+/* 802C33C4 002BF024 41 80 00 28 */ blt lbl_802C33EC
+/* 802C33C8 002BF028 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a
+/* 802C33CC 002BF02C 38 9E 02 44 */ addi r4, r30, 0x244
+/* 802C33D0 002BF030 7D 1F 02 14 */ add r8, r31, r0
+/* 802C33D4 002BF034 38 60 05 04 */ li r3, 0x504
+/* 802C33D8 002BF038 A0 A8 00 1E */ lhz r5, 0x1e(r8)
+/* 802C33DC 002BF03C 88 C8 00 2C */ lbz r6, 0x2c(r8)
+/* 802C33E0 002BF040 88 E8 00 23 */ lbz r7, 0x23(r8)
+/* 802C33E4 002BF044 89 08 00 22 */ lbz r8, 0x22(r8)
+/* 802C33E8 002BF048 4B FF 9B 89 */ bl LogMsg_4
+lbl_802C33EC:
+/* 802C33EC 002BF04C 3B BD 00 01 */ addi r29, r29, 1
+/* 802C33F0 002BF050 28 1D 00 10 */ cmplwi r29, 0x10
+/* 802C33F4 002BF054 41 80 FF 9C */ blt lbl_802C3390
+/* 802C33F8 002BF058 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802C33FC 002BF05C 28 00 00 05 */ cmplwi r0, 5
+/* 802C3400 002BF060 41 80 00 10 */ blt lbl_802C3410
+/* 802C3404 002BF064 38 9E 02 80 */ addi r4, r30, 0x280
+/* 802C3408 002BF068 38 60 05 04 */ li r3, 0x504
+/* 802C340C 002BF06C 4B FF 9B 05 */ bl LogMsg_0
+lbl_802C3410:
+/* 802C3410 002BF070 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C3414 002BF074 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C3418 002BF078 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C341C 002BF07C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C3420 002BF080 7C 08 03 A6 */ mtlr r0
+/* 802C3424 002BF084 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C3428 002BF088 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btm_acl.s b/asm/SDK/BTE/btm_acl.s
new file mode 100644
index 0000000..451ab50
--- /dev/null
+++ b/asm/SDK/BTE/btm_acl.s
@@ -0,0 +1,2158 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global btm_acl_init
+btm_acl_init:
+/* 802C342C 002BF08C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3430 002BF090 38 80 7D 00 */ li r4, 0x7d00
+/* 802C3434 002BF094 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3438 002BF098 38 00 00 FF */ li r0, 0xff
+/* 802C343C 002BF09C B0 83 04 C6 */ sth r4, 0x4c6(r3)
+/* 802C3440 002BF0A0 98 03 27 BF */ stb r0, 0x27bf(r3)
+/* 802C3444 002BF0A4 4E 80 00 20 */ blr
+
+.global btm_handle_to_acl_index
+btm_handle_to_acl_index:
+/* 802C3448 002BF0A8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C344C 002BF0AC 38 A0 00 00 */ li r5, 0
+/* 802C3450 002BF0B0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C3454 002BF0B4 88 04 01 4D */ lbz r0, 0x14d(r4)
+/* 802C3458 002BF0B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C345C 002BF0BC 41 82 00 10 */ beq lbl_802C346C
+/* 802C3460 002BF0C0 A0 04 00 34 */ lhz r0, 0x34(r4)
+/* 802C3464 002BF0C4 7C 00 18 40 */ cmplw r0, r3
+/* 802C3468 002BF0C8 41 82 00 5C */ beq lbl_802C34C4
+lbl_802C346C:
+/* 802C346C 002BF0CC 88 04 02 69 */ lbz r0, 0x269(r4)
+/* 802C3470 002BF0D0 38 A0 00 01 */ li r5, 1
+/* 802C3474 002BF0D4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3478 002BF0D8 41 82 00 10 */ beq lbl_802C3488
+/* 802C347C 002BF0DC A0 04 01 50 */ lhz r0, 0x150(r4)
+/* 802C3480 002BF0E0 7C 00 18 40 */ cmplw r0, r3
+/* 802C3484 002BF0E4 41 82 00 40 */ beq lbl_802C34C4
+lbl_802C3488:
+/* 802C3488 002BF0E8 88 04 03 85 */ lbz r0, 0x385(r4)
+/* 802C348C 002BF0EC 38 A0 00 02 */ li r5, 2
+/* 802C3490 002BF0F0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3494 002BF0F4 41 82 00 10 */ beq lbl_802C34A4
+/* 802C3498 002BF0F8 A0 04 02 6C */ lhz r0, 0x26c(r4)
+/* 802C349C 002BF0FC 7C 00 18 40 */ cmplw r0, r3
+/* 802C34A0 002BF100 41 82 00 24 */ beq lbl_802C34C4
+lbl_802C34A4:
+/* 802C34A4 002BF104 88 04 04 A1 */ lbz r0, 0x4a1(r4)
+/* 802C34A8 002BF108 38 A0 00 03 */ li r5, 3
+/* 802C34AC 002BF10C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C34B0 002BF110 41 82 00 10 */ beq lbl_802C34C0
+/* 802C34B4 002BF114 A0 04 03 88 */ lhz r0, 0x388(r4)
+/* 802C34B8 002BF118 7C 00 18 40 */ cmplw r0, r3
+/* 802C34BC 002BF11C 41 82 00 08 */ beq lbl_802C34C4
+lbl_802C34C0:
+/* 802C34C0 002BF120 38 A0 00 04 */ li r5, 4
+lbl_802C34C4:
+/* 802C34C4 002BF124 7C A3 2B 78 */ mr r3, r5
+/* 802C34C8 002BF128 4E 80 00 20 */ blr
+
+.global btm_acl_created
+btm_acl_created:
+/* 802C34CC 002BF12C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C34D0 002BF130 7C 08 02 A6 */ mflr r0
+/* 802C34D4 002BF134 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C34D8 002BF138 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C34DC 002BF13C 4B F0 3C 45 */ bl _savegpr_25
+/* 802C34E0 002BF140 3D 00 80 57 */ lis r8, lbl_80568B78@ha
+/* 802C34E4 002BF144 7C 7E 1B 78 */ mr r30, r3
+/* 802C34E8 002BF148 39 08 8B 78 */ addi r8, r8, lbl_80568B78@l
+/* 802C34EC 002BF14C 7C 99 23 78 */ mr r25, r4
+/* 802C34F0 002BF150 7C BA 2B 78 */ mr r26, r5
+/* 802C34F4 002BF154 7C DB 33 78 */ mr r27, r6
+/* 802C34F8 002BF158 7C FC 3B 78 */ mr r28, r7
+/* 802C34FC 002BF15C 3B A8 00 34 */ addi r29, r8, 0x34
+/* 802C3500 002BF160 3B E0 00 00 */ li r31, 0
+lbl_802C3504:
+/* 802C3504 002BF164 88 1D 01 19 */ lbz r0, 0x119(r29)
+/* 802C3508 002BF168 2C 00 00 00 */ cmpwi r0, 0
+/* 802C350C 002BF16C 41 82 00 20 */ beq lbl_802C352C
+/* 802C3510 002BF170 7F C4 F3 78 */ mr r4, r30
+/* 802C3514 002BF174 38 7D 00 08 */ addi r3, r29, 8
+/* 802C3518 002BF178 38 A0 00 06 */ li r5, 6
+/* 802C351C 002BF17C 4B F0 6E 7D */ bl memcmp
+/* 802C3520 002BF180 2C 03 00 00 */ cmpwi r3, 0
+/* 802C3524 002BF184 40 82 00 08 */ bne lbl_802C352C
+/* 802C3528 002BF188 48 00 00 18 */ b lbl_802C3540
+lbl_802C352C:
+/* 802C352C 002BF18C 3B FF 00 01 */ addi r31, r31, 1
+/* 802C3530 002BF190 3B BD 01 1C */ addi r29, r29, 0x11c
+/* 802C3534 002BF194 28 1F 00 04 */ cmplwi r31, 4
+/* 802C3538 002BF198 41 80 FF CC */ blt lbl_802C3504
+/* 802C353C 002BF19C 3B A0 00 00 */ li r29, 0
+lbl_802C3540:
+/* 802C3540 002BF1A0 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C3544 002BF1A4 41 82 00 50 */ beq lbl_802C3594
+/* 802C3548 002BF1A8 B3 7D 00 00 */ sth r27, 0(r29)
+/* 802C354C 002BF1AC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3550 002BF1B0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3554 002BF1B4 9B 9D 01 1A */ stb r28, 0x11a(r29)
+/* 802C3558 002BF1B8 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C355C 002BF1BC 28 00 00 04 */ cmplwi r0, 4
+/* 802C3560 002BF1C0 41 80 02 68 */ blt lbl_802C37C8
+/* 802C3564 002BF1C4 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C3568 002BF1C8 3C 80 80 44 */ lis r4, lbl_80440CC0@ha
+/* 802C356C 002BF1CC 88 BE 00 00 */ lbz r5, 0(r30)
+/* 802C3570 002BF1D0 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C3574 002BF1D4 88 DE 00 01 */ lbz r6, 1(r30)
+/* 802C3578 002BF1D8 38 84 0C C0 */ addi r4, r4, lbl_80440CC0@l
+/* 802C357C 002BF1DC 88 FE 00 02 */ lbz r7, 2(r30)
+/* 802C3580 002BF1E0 89 1E 00 03 */ lbz r8, 3(r30)
+/* 802C3584 002BF1E4 89 3E 00 04 */ lbz r9, 4(r30)
+/* 802C3588 002BF1E8 89 5E 00 05 */ lbz r10, 5(r30)
+/* 802C358C 002BF1EC 4B FF 9A 15 */ bl LogMsg_6
+/* 802C3590 002BF1F0 48 00 02 38 */ b lbl_802C37C8
+lbl_802C3594:
+/* 802C3594 002BF1F4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3598 002BF1F8 38 00 00 04 */ li r0, 4
+/* 802C359C 002BF1FC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C35A0 002BF200 38 80 00 00 */ li r4, 0
+/* 802C35A4 002BF204 3B E3 00 34 */ addi r31, r3, 0x34
+/* 802C35A8 002BF208 7C 09 03 A6 */ mtctr r0
+lbl_802C35AC:
+/* 802C35AC 002BF20C 88 1F 01 19 */ lbz r0, 0x119(r31)
+/* 802C35B0 002BF210 2C 00 00 00 */ cmpwi r0, 0
+/* 802C35B4 002BF214 40 82 02 08 */ bne lbl_802C37BC
+/* 802C35B8 002BF218 38 60 00 01 */ li r3, 1
+/* 802C35BC 002BF21C 38 00 00 00 */ li r0, 0
+/* 802C35C0 002BF220 98 7F 01 19 */ stb r3, 0x119(r31)
+/* 802C35C4 002BF224 54 83 06 3E */ clrlwi r3, r4, 0x18
+/* 802C35C8 002BF228 B3 7F 00 00 */ sth r27, 0(r31)
+/* 802C35CC 002BF22C 9B 9F 01 1A */ stb r28, 0x11a(r31)
+/* 802C35D0 002BF230 B0 1F 00 04 */ sth r0, 4(r31)
+/* 802C35D4 002BF234 48 00 5B D5 */ bl func_802C91A8
+/* 802C35D8 002BF238 7F C4 F3 78 */ mr r4, r30
+/* 802C35DC 002BF23C 38 7F 00 08 */ addi r3, r31, 8
+/* 802C35E0 002BF240 38 A0 00 06 */ li r5, 6
+/* 802C35E4 002BF244 4B D4 0A 1D */ bl memcpy
+/* 802C35E8 002BF248 2C 19 00 00 */ cmpwi r25, 0
+/* 802C35EC 002BF24C 41 82 00 14 */ beq lbl_802C3600
+/* 802C35F0 002BF250 7F 24 CB 78 */ mr r4, r25
+/* 802C35F4 002BF254 38 7F 00 0E */ addi r3, r31, 0xe
+/* 802C35F8 002BF258 38 A0 00 03 */ li r5, 3
+/* 802C35FC 002BF25C 4B D4 0A 05 */ bl memcpy
+lbl_802C3600:
+/* 802C3600 002BF260 2C 1A 00 00 */ cmpwi r26, 0
+/* 802C3604 002BF264 41 82 00 14 */ beq lbl_802C3618
+/* 802C3608 002BF268 7F 44 D3 78 */ mr r4, r26
+/* 802C360C 002BF26C 38 7F 00 11 */ addi r3, r31, 0x11
+/* 802C3610 002BF270 38 A0 00 F8 */ li r5, 0xf8
+/* 802C3614 002BF274 4B D4 09 ED */ bl memcpy
+lbl_802C3618:
+/* 802C3618 002BF278 A0 7F 00 00 */ lhz r3, 0(r31)
+/* 802C361C 002BF27C 48 00 D5 11 */ bl func_802D0B2C
+/* 802C3620 002BF280 A0 7F 00 00 */ lhz r3, 0(r31)
+/* 802C3624 002BF284 48 00 D4 8D */ bl func_802D0AB0
+/* 802C3628 002BF288 7F 63 DB 78 */ mr r3, r27
+/* 802C362C 002BF28C 48 00 1F 39 */ bl btm_find_dev_by_handle
+/* 802C3630 002BF290 2C 03 00 00 */ cmpwi r3, 0
+/* 802C3634 002BF294 7C 65 1B 78 */ mr r5, r3
+/* 802C3638 002BF298 41 82 01 78 */ beq lbl_802C37B0
+/* 802C363C 002BF29C 38 00 00 08 */ li r0, 8
+/* 802C3640 002BF2A0 38 C0 00 00 */ li r6, 0
+/* 802C3644 002BF2A4 7C 09 03 A6 */ mtctr r0
+lbl_802C3648:
+/* 802C3648 002BF2A8 54 C0 06 3E */ clrlwi r0, r6, 0x18
+/* 802C364C 002BF2AC 7C 83 02 14 */ add r4, r3, r0
+/* 802C3650 002BF2B0 88 04 00 77 */ lbz r0, 0x77(r4)
+/* 802C3654 002BF2B4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3658 002BF2B8 41 82 01 50 */ beq lbl_802C37A8
+/* 802C365C 002BF2BC 38 85 00 77 */ addi r4, r5, 0x77
+/* 802C3660 002BF2C0 38 7F 01 10 */ addi r3, r31, 0x110
+/* 802C3664 002BF2C4 38 A0 00 08 */ li r5, 8
+/* 802C3668 002BF2C8 4B D4 09 99 */ bl memcpy
+/* 802C366C 002BF2CC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3670 002BF2D0 38 00 CC F9 */ li r0, -13063
+/* 802C3674 002BF2D4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3678 002BF2D8 A0 A3 06 54 */ lhz r5, 0x654(r3)
+/* 802C367C 002BF2DC 88 63 06 36 */ lbz r3, 0x636(r3)
+/* 802C3680 002BF2E0 70 A4 CC 18 */ andi. r4, r5, 0xcc18
+/* 802C3684 002BF2E4 28 03 00 03 */ cmplwi r3, 3
+/* 802C3688 002BF2E8 7C 9E 00 38 */ and r30, r4, r0
+/* 802C368C 002BF2EC 41 80 00 10 */ blt lbl_802C369C
+/* 802C3690 002BF2F0 70 A0 33 06 */ andi. r0, r5, 0x3306
+/* 802C3694 002BF2F4 7C 80 03 78 */ or r0, r4, r0
+/* 802C3698 002BF2F8 54 1E 04 3E */ clrlwi r30, r0, 0x10
+lbl_802C369C:
+/* 802C369C 002BF2FC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C36A0 002BF300 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C36A4 002BF304 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C36A8 002BF308 28 00 00 04 */ cmplwi r0, 4
+/* 802C36AC 002BF30C 41 80 00 1C */ blt lbl_802C36C8
+/* 802C36B0 002BF310 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C36B4 002BF314 3C 80 80 44 */ lis r4, lbl_80440D00@ha
+/* 802C36B8 002BF318 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C36BC 002BF31C 57 C5 04 3E */ clrlwi r5, r30, 0x10
+/* 802C36C0 002BF320 38 84 0D 00 */ addi r4, r4, lbl_80440D00@l
+/* 802C36C4 002BF324 4B FF 98 65 */ bl LogMsg_1
+lbl_802C36C8:
+/* 802C36C8 002BF328 A0 7F 00 00 */ lhz r3, 0(r31)
+/* 802C36CC 002BF32C 57 C4 04 3E */ clrlwi r4, r30, 0x10
+/* 802C36D0 002BF330 48 00 D0 55 */ bl func_802D0724
+/* 802C36D4 002BF334 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C36D8 002BF338 41 82 00 08 */ beq lbl_802C36E0
+/* 802C36DC 002BF33C B3 DF 00 02 */ sth r30, 2(r31)
+lbl_802C36E0:
+/* 802C36E0 002BF340 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C36E4 002BF344 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C36E8 002BF348 A0 04 04 C4 */ lhz r0, 0x4c4(r4)
+/* 802C36EC 002BF34C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C36F0 002BF350 41 82 00 10 */ beq lbl_802C3700
+/* 802C36F4 002BF354 38 7F 00 08 */ addi r3, r31, 8
+/* 802C36F8 002BF358 38 84 04 C4 */ addi r4, r4, 0x4c4
+/* 802C36FC 002BF35C 48 00 05 99 */ bl BTM_SetLinkPolicy
+lbl_802C3700:
+/* 802C3700 002BF360 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3704 002BF364 3B A0 00 00 */ li r29, 0
+/* 802C3708 002BF368 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C370C 002BF36C A3 83 04 C6 */ lhz r28, 0x4c6(r3)
+/* 802C3710 002BF370 3B C3 00 34 */ addi r30, r3, 0x34
+lbl_802C3714:
+/* 802C3714 002BF374 88 1E 01 19 */ lbz r0, 0x119(r30)
+/* 802C3718 002BF378 2C 00 00 00 */ cmpwi r0, 0
+/* 802C371C 002BF37C 41 82 00 20 */ beq lbl_802C373C
+/* 802C3720 002BF380 38 7E 00 08 */ addi r3, r30, 8
+/* 802C3724 002BF384 38 9F 00 08 */ addi r4, r31, 8
+/* 802C3728 002BF388 38 A0 00 06 */ li r5, 6
+/* 802C372C 002BF38C 4B F0 6C 6D */ bl memcmp
+/* 802C3730 002BF390 2C 03 00 00 */ cmpwi r3, 0
+/* 802C3734 002BF394 40 82 00 08 */ bne lbl_802C373C
+/* 802C3738 002BF398 48 00 00 18 */ b lbl_802C3750
+lbl_802C373C:
+/* 802C373C 002BF39C 3B BD 00 01 */ addi r29, r29, 1
+/* 802C3740 002BF3A0 3B DE 01 1C */ addi r30, r30, 0x11c
+/* 802C3744 002BF3A4 28 1D 00 04 */ cmplwi r29, 4
+/* 802C3748 002BF3A8 41 80 FF CC */ blt lbl_802C3714
+/* 802C374C 002BF3AC 3B C0 00 00 */ li r30, 0
+lbl_802C3750:
+/* 802C3750 002BF3B0 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C3754 002BF3B4 41 82 00 20 */ beq lbl_802C3774
+/* 802C3758 002BF3B8 B3 9E 01 0E */ sth r28, 0x10e(r30)
+/* 802C375C 002BF3BC 88 1E 01 1A */ lbz r0, 0x11a(r30)
+/* 802C3760 002BF3C0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3764 002BF3C4 40 82 00 10 */ bne lbl_802C3774
+/* 802C3768 002BF3C8 A0 7E 00 00 */ lhz r3, 0(r30)
+/* 802C376C 002BF3CC 7F 84 E3 78 */ mr r4, r28
+/* 802C3770 002BF3D0 48 00 E4 B5 */ bl func_802D1C24
+lbl_802C3774:
+/* 802C3774 002BF3D4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3778 002BF3D8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C377C 002BF3DC 81 83 04 C8 */ lwz r12, 0x4c8(r3)
+/* 802C3780 002BF3E0 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C3784 002BF3E4 41 82 00 44 */ beq lbl_802C37C8
+/* 802C3788 002BF3E8 38 7F 00 08 */ addi r3, r31, 8
+/* 802C378C 002BF3EC 38 9F 00 0E */ addi r4, r31, 0xe
+/* 802C3790 002BF3F0 38 BF 00 11 */ addi r5, r31, 0x11
+/* 802C3794 002BF3F4 38 DF 01 10 */ addi r6, r31, 0x110
+/* 802C3798 002BF3F8 38 E0 00 01 */ li r7, 1
+/* 802C379C 002BF3FC 7D 89 03 A6 */ mtctr r12
+/* 802C37A0 002BF400 4E 80 04 21 */ bctrl
+/* 802C37A4 002BF404 48 00 00 24 */ b lbl_802C37C8
+lbl_802C37A8:
+/* 802C37A8 002BF408 38 C6 00 01 */ addi r6, r6, 1
+/* 802C37AC 002BF40C 42 00 FE 9C */ bdnz lbl_802C3648
+lbl_802C37B0:
+/* 802C37B0 002BF410 A0 7F 00 00 */ lhz r3, 0(r31)
+/* 802C37B4 002BF414 48 00 D2 81 */ bl func_802D0A34
+/* 802C37B8 002BF418 48 00 00 10 */ b lbl_802C37C8
+lbl_802C37BC:
+/* 802C37BC 002BF41C 38 84 00 01 */ addi r4, r4, 1
+/* 802C37C0 002BF420 3B FF 01 1C */ addi r31, r31, 0x11c
+/* 802C37C4 002BF424 42 00 FD E8 */ bdnz lbl_802C35AC
+lbl_802C37C8:
+/* 802C37C8 002BF428 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C37CC 002BF42C 4B F0 39 A1 */ bl _restgpr_25
+/* 802C37D0 002BF430 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C37D4 002BF434 7C 08 03 A6 */ mtlr r0
+/* 802C37D8 002BF438 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C37DC 002BF43C 4E 80 00 20 */ blr
+
+.global btm_acl_removed
+btm_acl_removed:
+/* 802C37E0 002BF440 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C37E4 002BF444 7C 08 02 A6 */ mflr r0
+/* 802C37E8 002BF448 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C37EC 002BF44C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C37F0 002BF450 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C37F4 002BF454 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C37F8 002BF458 3B E0 00 00 */ li r31, 0
+/* 802C37FC 002BF45C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C3800 002BF460 3B C4 00 34 */ addi r30, r4, 0x34
+/* 802C3804 002BF464 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C3808 002BF468 7C 7D 1B 78 */ mr r29, r3
+lbl_802C380C:
+/* 802C380C 002BF46C 88 1E 01 19 */ lbz r0, 0x119(r30)
+/* 802C3810 002BF470 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3814 002BF474 41 82 00 20 */ beq lbl_802C3834
+/* 802C3818 002BF478 7F A4 EB 78 */ mr r4, r29
+/* 802C381C 002BF47C 38 7E 00 08 */ addi r3, r30, 8
+/* 802C3820 002BF480 38 A0 00 06 */ li r5, 6
+/* 802C3824 002BF484 4B F0 6B 75 */ bl memcmp
+/* 802C3828 002BF488 2C 03 00 00 */ cmpwi r3, 0
+/* 802C382C 002BF48C 40 82 00 08 */ bne lbl_802C3834
+/* 802C3830 002BF490 48 00 00 18 */ b lbl_802C3848
+lbl_802C3834:
+/* 802C3834 002BF494 3B FF 00 01 */ addi r31, r31, 1
+/* 802C3838 002BF498 3B DE 01 1C */ addi r30, r30, 0x11c
+/* 802C383C 002BF49C 28 1F 00 04 */ cmplwi r31, 4
+/* 802C3840 002BF4A0 41 80 FF CC */ blt lbl_802C380C
+/* 802C3844 002BF4A4 3B C0 00 00 */ li r30, 0
+lbl_802C3848:
+/* 802C3848 002BF4A8 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C384C 002BF4AC 41 82 00 3C */ beq lbl_802C3888
+/* 802C3850 002BF4B0 38 00 00 00 */ li r0, 0
+/* 802C3854 002BF4B4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3858 002BF4B8 98 1E 01 19 */ stb r0, 0x119(r30)
+/* 802C385C 002BF4BC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3860 002BF4C0 81 83 04 C8 */ lwz r12, 0x4c8(r3)
+/* 802C3864 002BF4C4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C3868 002BF4C8 41 82 00 20 */ beq lbl_802C3888
+/* 802C386C 002BF4CC 7F A3 EB 78 */ mr r3, r29
+/* 802C3870 002BF4D0 38 80 00 00 */ li r4, 0
+/* 802C3874 002BF4D4 38 A0 00 00 */ li r5, 0
+/* 802C3878 002BF4D8 38 C0 00 00 */ li r6, 0
+/* 802C387C 002BF4DC 38 E0 00 00 */ li r7, 0
+/* 802C3880 002BF4E0 7D 89 03 A6 */ mtctr r12
+/* 802C3884 002BF4E4 4E 80 04 21 */ bctrl
+lbl_802C3888:
+/* 802C3888 002BF4E8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C388C 002BF4EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C3890 002BF4F0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C3894 002BF4F4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C3898 002BF4F8 7C 08 03 A6 */ mtlr r0
+/* 802C389C 002BF4FC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C38A0 002BF500 4E 80 00 20 */ blr
+
+.global btm_acl_device_down
+btm_acl_device_down:
+/* 802C38A4 002BF504 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C38A8 002BF508 7C 08 02 A6 */ mflr r0
+/* 802C38AC 002BF50C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C38B0 002BF510 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C38B4 002BF514 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C38B8 002BF518 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C38BC 002BF51C 3B E3 00 34 */ addi r31, r3, 0x34
+/* 802C38C0 002BF520 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C38C4 002BF524 3B C0 00 00 */ li r30, 0
+lbl_802C38C8:
+/* 802C38C8 002BF528 88 1F 01 19 */ lbz r0, 0x119(r31)
+/* 802C38CC 002BF52C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C38D0 002BF530 41 82 00 10 */ beq lbl_802C38E0
+/* 802C38D4 002BF534 A0 7F 00 00 */ lhz r3, 0(r31)
+/* 802C38D8 002BF538 38 80 00 03 */ li r4, 3
+/* 802C38DC 002BF53C 48 01 44 3D */ bl func_802D7D18
+lbl_802C38E0:
+/* 802C38E0 002BF540 3B DE 00 01 */ addi r30, r30, 1
+/* 802C38E4 002BF544 3B FF 01 1C */ addi r31, r31, 0x11c
+/* 802C38E8 002BF548 28 1E 00 04 */ cmplwi r30, 4
+/* 802C38EC 002BF54C 41 80 FF DC */ blt lbl_802C38C8
+/* 802C38F0 002BF550 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C38F4 002BF554 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C38F8 002BF558 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C38FC 002BF55C 7C 08 03 A6 */ mtlr r0
+/* 802C3900 002BF560 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C3904 002BF564 4E 80 00 20 */ blr
+
+.global BTM_SwitchRole
+BTM_SwitchRole:
+/* 802C3908 002BF568 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C390C 002BF56C 7C 08 02 A6 */ mflr r0
+/* 802C3910 002BF570 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C3914 002BF574 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C3918 002BF578 4B F0 38 11 */ bl _savegpr_27
+/* 802C391C 002BF57C 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C3920 002BF580 7C 7C 1B 78 */ mr r28, r3
+/* 802C3924 002BF584 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C3928 002BF588 7C 9D 23 78 */ mr r29, r4
+/* 802C392C 002BF58C 88 06 06 40 */ lbz r0, 0x640(r6)
+/* 802C3930 002BF590 7C BE 2B 78 */ mr r30, r5
+/* 802C3934 002BF594 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802C3938 002BF598 40 82 00 0C */ bne lbl_802C3944
+/* 802C393C 002BF59C 38 60 00 04 */ li r3, 4
+/* 802C3940 002BF5A0 48 00 01 CC */ b lbl_802C3B0C
+lbl_802C3944:
+/* 802C3944 002BF5A4 3B E6 00 34 */ addi r31, r6, 0x34
+/* 802C3948 002BF5A8 3B 60 00 00 */ li r27, 0
+lbl_802C394C:
+/* 802C394C 002BF5AC 88 1F 01 19 */ lbz r0, 0x119(r31)
+/* 802C3950 002BF5B0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3954 002BF5B4 41 82 00 20 */ beq lbl_802C3974
+/* 802C3958 002BF5B8 7F 84 E3 78 */ mr r4, r28
+/* 802C395C 002BF5BC 38 7F 00 08 */ addi r3, r31, 8
+/* 802C3960 002BF5C0 38 A0 00 06 */ li r5, 6
+/* 802C3964 002BF5C4 4B F0 6A 35 */ bl memcmp
+/* 802C3968 002BF5C8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C396C 002BF5CC 40 82 00 08 */ bne lbl_802C3974
+/* 802C3970 002BF5D0 48 00 00 18 */ b lbl_802C3988
+lbl_802C3974:
+/* 802C3974 002BF5D4 3B 7B 00 01 */ addi r27, r27, 1
+/* 802C3978 002BF5D8 3B FF 01 1C */ addi r31, r31, 0x11c
+/* 802C397C 002BF5DC 28 1B 00 04 */ cmplwi r27, 4
+/* 802C3980 002BF5E0 41 80 FF CC */ blt lbl_802C394C
+/* 802C3984 002BF5E4 3B E0 00 00 */ li r31, 0
+lbl_802C3988:
+/* 802C3988 002BF5E8 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C398C 002BF5EC 40 82 00 0C */ bne lbl_802C3998
+/* 802C3990 002BF5F0 38 60 00 07 */ li r3, 7
+/* 802C3994 002BF5F4 48 00 01 78 */ b lbl_802C3B0C
+lbl_802C3998:
+/* 802C3998 002BF5F8 88 1F 01 1A */ lbz r0, 0x11a(r31)
+/* 802C399C 002BF5FC 7C 00 E8 40 */ cmplw r0, r29
+/* 802C39A0 002BF600 40 82 00 0C */ bne lbl_802C39AC
+/* 802C39A4 002BF604 38 60 00 00 */ li r3, 0
+/* 802C39A8 002BF608 48 00 01 64 */ b lbl_802C3B0C
+lbl_802C39AC:
+/* 802C39AC 002BF60C 7F 83 E3 78 */ mr r3, r28
+/* 802C39B0 002BF610 48 00 6E 81 */ bl func_802CA830
+/* 802C39B4 002BF614 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802C39B8 002BF618 28 00 00 01 */ cmplwi r0, 1
+/* 802C39BC 002BF61C 40 82 00 0C */ bne lbl_802C39C8
+/* 802C39C0 002BF620 38 60 00 03 */ li r3, 3
+/* 802C39C4 002BF624 48 00 01 48 */ b lbl_802C3B0C
+lbl_802C39C8:
+/* 802C39C8 002BF628 88 1F 01 1B */ lbz r0, 0x11b(r31)
+/* 802C39CC 002BF62C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C39D0 002BF630 41 82 00 34 */ beq lbl_802C3A04
+/* 802C39D4 002BF634 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C39D8 002BF638 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C39DC 002BF63C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C39E0 002BF640 28 00 00 05 */ cmplwi r0, 5
+/* 802C39E4 002BF644 41 80 00 18 */ blt lbl_802C39FC
+/* 802C39E8 002BF648 3C 60 00 0D */ lis r3, 0x000D0004@ha
+/* 802C39EC 002BF64C 3C 80 80 44 */ lis r4, lbl_80440D20@ha
+/* 802C39F0 002BF650 38 63 00 04 */ addi r3, r3, 0x000D0004@l
+/* 802C39F4 002BF654 38 84 0D 20 */ addi r4, r4, lbl_80440D20@l
+/* 802C39F8 002BF658 4B FF 95 19 */ bl LogMsg_0
+lbl_802C39FC:
+/* 802C39FC 002BF65C 38 60 00 02 */ li r3, 2
+/* 802C3A00 002BF660 48 00 01 0C */ b lbl_802C3B0C
+lbl_802C3A04:
+/* 802C3A04 002BF664 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3A08 002BF668 38 80 00 00 */ li r4, 0
+/* 802C3A0C 002BF66C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3A10 002BF670 38 A0 00 08 */ li r5, 8
+/* 802C3A14 002BF674 38 63 06 24 */ addi r3, r3, 0x624
+/* 802C3A18 002BF678 4B D4 06 ED */ bl memset
+/* 802C3A1C 002BF67C 38 7F 00 08 */ addi r3, r31, 8
+/* 802C3A20 002BF680 38 81 00 08 */ addi r4, r1, 8
+/* 802C3A24 002BF684 48 00 56 55 */ bl func_802C9078
+/* 802C3A28 002BF688 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C3A2C 002BF68C 41 82 00 08 */ beq lbl_802C3A34
+/* 802C3A30 002BF690 48 00 00 DC */ b lbl_802C3B0C
+lbl_802C3A34:
+/* 802C3A34 002BF694 88 61 00 08 */ lbz r3, 8(r1)
+/* 802C3A38 002BF698 38 03 00 FE */ addi r0, r3, 0xfe
+/* 802C3A3C 002BF69C 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 802C3A40 002BF6A0 28 00 00 01 */ cmplwi r0, 1
+/* 802C3A44 002BF6A4 41 81 00 3C */ bgt lbl_802C3A80
+/* 802C3A48 002BF6A8 38 00 00 00 */ li r0, 0
+/* 802C3A4C 002BF6AC 38 9F 00 08 */ addi r4, r31, 8
+/* 802C3A50 002BF6B0 98 01 00 14 */ stb r0, 0x14(r1)
+/* 802C3A54 002BF6B4 38 A1 00 0C */ addi r5, r1, 0xc
+/* 802C3A58 002BF6B8 38 60 00 80 */ li r3, 0x80
+/* 802C3A5C 002BF6BC 48 00 54 4D */ bl func_802C8EA8
+/* 802C3A60 002BF6C0 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802C3A64 002BF6C4 28 00 00 01 */ cmplwi r0, 1
+/* 802C3A68 002BF6C8 41 82 00 0C */ beq lbl_802C3A74
+/* 802C3A6C 002BF6CC 38 60 00 06 */ li r3, 6
+/* 802C3A70 002BF6D0 48 00 00 9C */ b lbl_802C3B0C
+lbl_802C3A74:
+/* 802C3A74 002BF6D4 38 00 00 01 */ li r0, 1
+/* 802C3A78 002BF6D8 98 1F 01 1B */ stb r0, 0x11b(r31)
+/* 802C3A7C 002BF6DC 48 00 00 6C */ b lbl_802C3AE8
+lbl_802C3A80:
+/* 802C3A80 002BF6E0 7F 83 E3 78 */ mr r3, r28
+/* 802C3A84 002BF6E4 48 00 1B 99 */ bl btm_find_dev
+/* 802C3A88 002BF6E8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C3A8C 002BF6EC 41 82 00 38 */ beq lbl_802C3AC4
+/* 802C3A90 002BF6F0 88 03 00 76 */ lbz r0, 0x76(r3)
+/* 802C3A94 002BF6F4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802C3A98 002BF6F8 41 82 00 2C */ beq lbl_802C3AC4
+/* 802C3A9C 002BF6FC A0 7F 00 00 */ lhz r3, 0(r31)
+/* 802C3AA0 002BF700 38 80 00 00 */ li r4, 0
+/* 802C3AA4 002BF704 48 00 CD 8D */ bl func_802D0830
+/* 802C3AA8 002BF708 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C3AAC 002BF70C 40 82 00 0C */ bne lbl_802C3AB8
+/* 802C3AB0 002BF710 38 60 00 03 */ li r3, 3
+/* 802C3AB4 002BF714 48 00 00 58 */ b lbl_802C3B0C
+lbl_802C3AB8:
+/* 802C3AB8 002BF718 38 00 00 02 */ li r0, 2
+/* 802C3ABC 002BF71C 98 1F 01 1B */ stb r0, 0x11b(r31)
+/* 802C3AC0 002BF720 48 00 00 28 */ b lbl_802C3AE8
+lbl_802C3AC4:
+/* 802C3AC4 002BF724 7F 83 E3 78 */ mr r3, r28
+/* 802C3AC8 002BF728 7F A4 EB 78 */ mr r4, r29
+/* 802C3ACC 002BF72C 48 00 D6 5D */ bl func_802D1128
+/* 802C3AD0 002BF730 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C3AD4 002BF734 40 82 00 0C */ bne lbl_802C3AE0
+/* 802C3AD8 002BF738 38 60 00 03 */ li r3, 3
+/* 802C3ADC 002BF73C 48 00 00 30 */ b lbl_802C3B0C
+lbl_802C3AE0:
+/* 802C3AE0 002BF740 38 00 00 05 */ li r0, 5
+/* 802C3AE4 002BF744 98 1F 01 1B */ stb r0, 0x11b(r31)
+lbl_802C3AE8:
+/* 802C3AE8 002BF748 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C3AEC 002BF74C 7F 84 E3 78 */ mr r4, r28
+/* 802C3AF0 002BF750 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C3AF4 002BF754 38 A0 00 06 */ li r5, 6
+/* 802C3AF8 002BF758 38 7F 06 26 */ addi r3, r31, 0x626
+/* 802C3AFC 002BF75C 4B D4 05 05 */ bl memcpy
+/* 802C3B00 002BF760 9B BF 06 25 */ stb r29, 0x625(r31)
+/* 802C3B04 002BF764 38 60 00 01 */ li r3, 1
+/* 802C3B08 002BF768 93 DF 06 2C */ stw r30, 0x62c(r31)
+lbl_802C3B0C:
+/* 802C3B0C 002BF76C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C3B10 002BF770 4B F0 36 65 */ bl _restgpr_27
+/* 802C3B14 002BF774 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C3B18 002BF778 7C 08 03 A6 */ mtlr r0
+/* 802C3B1C 002BF77C 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C3B20 002BF780 4E 80 00 20 */ blr
+
+.global btm_acl_encrypt_change
+btm_acl_encrypt_change:
+/* 802C3B24 002BF784 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C3B28 002BF788 7C 08 02 A6 */ mflr r0
+/* 802C3B2C 002BF78C 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C3B30 002BF790 38 C0 00 00 */ li r6, 0
+/* 802C3B34 002BF794 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C3B38 002BF798 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C3B3C 002BF79C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C3B40 002BF7A0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C3B44 002BF7A4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C3B48 002BF7A8 88 04 01 4D */ lbz r0, 0x14d(r4)
+/* 802C3B4C 002BF7AC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3B50 002BF7B0 41 82 00 10 */ beq lbl_802C3B60
+/* 802C3B54 002BF7B4 A0 04 00 34 */ lhz r0, 0x34(r4)
+/* 802C3B58 002BF7B8 7C 00 18 40 */ cmplw r0, r3
+/* 802C3B5C 002BF7BC 41 82 00 5C */ beq lbl_802C3BB8
+lbl_802C3B60:
+/* 802C3B60 002BF7C0 88 04 02 69 */ lbz r0, 0x269(r4)
+/* 802C3B64 002BF7C4 38 C0 00 01 */ li r6, 1
+/* 802C3B68 002BF7C8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3B6C 002BF7CC 41 82 00 10 */ beq lbl_802C3B7C
+/* 802C3B70 002BF7D0 A0 04 01 50 */ lhz r0, 0x150(r4)
+/* 802C3B74 002BF7D4 7C 00 18 40 */ cmplw r0, r3
+/* 802C3B78 002BF7D8 41 82 00 40 */ beq lbl_802C3BB8
+lbl_802C3B7C:
+/* 802C3B7C 002BF7DC 88 04 03 85 */ lbz r0, 0x385(r4)
+/* 802C3B80 002BF7E0 38 C0 00 02 */ li r6, 2
+/* 802C3B84 002BF7E4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3B88 002BF7E8 41 82 00 10 */ beq lbl_802C3B98
+/* 802C3B8C 002BF7EC A0 04 02 6C */ lhz r0, 0x26c(r4)
+/* 802C3B90 002BF7F0 7C 00 18 40 */ cmplw r0, r3
+/* 802C3B94 002BF7F4 41 82 00 24 */ beq lbl_802C3BB8
+lbl_802C3B98:
+/* 802C3B98 002BF7F8 88 04 04 A1 */ lbz r0, 0x4a1(r4)
+/* 802C3B9C 002BF7FC 38 C0 00 03 */ li r6, 3
+/* 802C3BA0 002BF800 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3BA4 002BF804 41 82 00 10 */ beq lbl_802C3BB4
+/* 802C3BA8 002BF808 A0 04 03 88 */ lhz r0, 0x388(r4)
+/* 802C3BAC 002BF80C 7C 00 18 40 */ cmplw r0, r3
+/* 802C3BB0 002BF810 41 82 00 08 */ beq lbl_802C3BB8
+lbl_802C3BB4:
+/* 802C3BB4 002BF814 38 C0 00 04 */ li r6, 4
+lbl_802C3BB8:
+/* 802C3BB8 002BF818 28 06 00 04 */ cmplwi r6, 4
+/* 802C3BBC 002BF81C 40 80 00 BC */ bge lbl_802C3C78
+/* 802C3BC0 002BF820 1C 06 01 1C */ mulli r0, r6, 0x11c
+/* 802C3BC4 002BF824 3F C0 80 57 */ lis r30, lbl_80568B78@ha
+/* 802C3BC8 002BF828 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
+/* 802C3BCC 002BF82C 7F BE 02 14 */ add r29, r30, r0
+/* 802C3BD0 002BF830 48 00 00 08 */ b lbl_802C3BD8
+/* 802C3BD4 002BF834 48 00 00 A4 */ b lbl_802C3C78
+lbl_802C3BD8:
+/* 802C3BD8 002BF838 88 1D 01 4F */ lbz r0, 0x14f(r29)
+/* 802C3BDC 002BF83C 28 00 00 02 */ cmplwi r0, 2
+/* 802C3BE0 002BF840 40 82 00 6C */ bne lbl_802C3C4C
+/* 802C3BE4 002BF844 2C 05 00 00 */ cmpwi r5, 0
+/* 802C3BE8 002BF848 41 82 00 10 */ beq lbl_802C3BF8
+/* 802C3BEC 002BF84C 38 00 00 00 */ li r0, 0
+/* 802C3BF0 002BF850 98 1D 01 4F */ stb r0, 0x14f(r29)
+/* 802C3BF4 002BF854 48 00 00 0C */ b lbl_802C3C00
+lbl_802C3BF8:
+/* 802C3BF8 002BF858 38 00 00 03 */ li r0, 3
+/* 802C3BFC 002BF85C 98 1D 01 4F */ stb r0, 0x14f(r29)
+lbl_802C3C00:
+/* 802C3C00 002BF860 88 1D 01 4E */ lbz r0, 0x14e(r29)
+/* 802C3C04 002BF864 38 7D 00 3C */ addi r3, r29, 0x3c
+/* 802C3C08 002BF868 7C 00 00 34 */ cntlzw r0, r0
+/* 802C3C0C 002BF86C 54 04 DE 3E */ rlwinm r4, r0, 0x1b, 0x18, 0x1f
+/* 802C3C10 002BF870 48 00 D5 19 */ bl func_802D1128
+/* 802C3C14 002BF874 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C3C18 002BF878 40 82 00 60 */ bne lbl_802C3C78
+/* 802C3C1C 002BF87C 3B C0 00 00 */ li r30, 0
+/* 802C3C20 002BF880 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C3C24 002BF884 9B DD 01 4F */ stb r30, 0x14f(r29)
+/* 802C3C28 002BF888 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C3C2C 002BF88C 81 9F 06 2C */ lwz r12, 0x62c(r31)
+/* 802C3C30 002BF890 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C3C34 002BF894 41 82 00 44 */ beq lbl_802C3C78
+/* 802C3C38 002BF898 38 7F 06 24 */ addi r3, r31, 0x624
+/* 802C3C3C 002BF89C 7D 89 03 A6 */ mtctr r12
+/* 802C3C40 002BF8A0 4E 80 04 21 */ bctrl
+/* 802C3C44 002BF8A4 93 DF 06 2C */ stw r30, 0x62c(r31)
+/* 802C3C48 002BF8A8 48 00 00 30 */ b lbl_802C3C78
+lbl_802C3C4C:
+/* 802C3C4C 002BF8AC 28 00 00 04 */ cmplwi r0, 4
+/* 802C3C50 002BF8B0 40 82 00 28 */ bne lbl_802C3C78
+/* 802C3C54 002BF8B4 3B E0 00 00 */ li r31, 0
+/* 802C3C58 002BF8B8 9B FD 01 4F */ stb r31, 0x14f(r29)
+/* 802C3C5C 002BF8BC 81 9E 06 2C */ lwz r12, 0x62c(r30)
+/* 802C3C60 002BF8C0 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C3C64 002BF8C4 41 82 00 14 */ beq lbl_802C3C78
+/* 802C3C68 002BF8C8 38 7E 06 24 */ addi r3, r30, 0x624
+/* 802C3C6C 002BF8CC 7D 89 03 A6 */ mtctr r12
+/* 802C3C70 002BF8D0 4E 80 04 21 */ bctrl
+/* 802C3C74 002BF8D4 93 FE 06 2C */ stw r31, 0x62c(r30)
+lbl_802C3C78:
+/* 802C3C78 002BF8D8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C3C7C 002BF8DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C3C80 002BF8E0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C3C84 002BF8E4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C3C88 002BF8E8 7C 08 03 A6 */ mtlr r0
+/* 802C3C8C 002BF8EC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C3C90 002BF8F0 4E 80 00 20 */ blr
+
+.global BTM_SetLinkPolicy
+BTM_SetLinkPolicy:
+/* 802C3C94 002BF8F4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C3C98 002BF8F8 7C 08 02 A6 */ mflr r0
+/* 802C3C9C 002BF8FC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C3CA0 002BF900 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C3CA4 002BF904 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C3CA8 002BF908 3F C0 80 44 */ lis r30, lbl_80440CC0@ha
+/* 802C3CAC 002BF90C 3B DE 0C C0 */ addi r30, r30, lbl_80440CC0@l
+/* 802C3CB0 002BF910 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C3CB4 002BF914 7C 9D 23 78 */ mr r29, r4
+/* 802C3CB8 002BF918 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802C3CBC 002BF91C 7C 7C 1B 78 */ mr r28, r3
+/* 802C3CC0 002BF920 48 00 2C A1 */ bl BTM_ReadLocalFeatures
+/* 802C3CC4 002BF924 A0 9D 00 00 */ lhz r4, 0(r29)
+/* 802C3CC8 002BF928 7C 7F 1B 78 */ mr r31, r3
+/* 802C3CCC 002BF92C 2C 04 00 00 */ cmpwi r4, 0
+/* 802C3CD0 002BF930 41 82 01 1C */ beq lbl_802C3DEC
+/* 802C3CD4 002BF934 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802C3CD8 002BF938 41 82 00 3C */ beq lbl_802C3D14
+/* 802C3CDC 002BF93C 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C3CE0 002BF940 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802C3CE4 002BF944 40 82 00 30 */ bne lbl_802C3D14
+/* 802C3CE8 002BF948 54 85 04 3C */ rlwinm r5, r4, 0, 0x10, 0x1e
+/* 802C3CEC 002BF94C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3CF0 002BF950 B0 BD 00 00 */ sth r5, 0(r29)
+/* 802C3CF4 002BF954 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3CF8 002BF958 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C3CFC 002BF95C 28 00 00 03 */ cmplwi r0, 3
+/* 802C3D00 002BF960 41 80 00 14 */ blt lbl_802C3D14
+/* 802C3D04 002BF964 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C3D08 002BF968 38 9E 00 BC */ addi r4, r30, 0xbc
+/* 802C3D0C 002BF96C 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C3D10 002BF970 4B FF 92 19 */ bl LogMsg_1
+lbl_802C3D14:
+/* 802C3D14 002BF974 A0 7D 00 00 */ lhz r3, 0(r29)
+/* 802C3D18 002BF978 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
+/* 802C3D1C 002BF97C 41 82 00 40 */ beq lbl_802C3D5C
+/* 802C3D20 002BF980 88 1F 00 00 */ lbz r0, 0(r31)
+/* 802C3D24 002BF984 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802C3D28 002BF988 40 82 00 34 */ bne lbl_802C3D5C
+/* 802C3D2C 002BF98C 54 65 07 FA */ rlwinm r5, r3, 0, 0x1f, 0x1d
+/* 802C3D30 002BF990 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3D34 002BF994 B0 BD 00 00 */ sth r5, 0(r29)
+/* 802C3D38 002BF998 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3D3C 002BF99C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C3D40 002BF9A0 28 00 00 03 */ cmplwi r0, 3
+/* 802C3D44 002BF9A4 41 80 00 18 */ blt lbl_802C3D5C
+/* 802C3D48 002BF9A8 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C3D4C 002BF9AC 38 9E 00 F8 */ addi r4, r30, 0xf8
+/* 802C3D50 002BF9B0 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C3D54 002BF9B4 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802C3D58 002BF9B8 4B FF 91 D1 */ bl LogMsg_1
+lbl_802C3D5C:
+/* 802C3D5C 002BF9BC A0 7D 00 00 */ lhz r3, 0(r29)
+/* 802C3D60 002BF9C0 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 802C3D64 002BF9C4 41 82 00 40 */ beq lbl_802C3DA4
+/* 802C3D68 002BF9C8 88 1F 00 00 */ lbz r0, 0(r31)
+/* 802C3D6C 002BF9CC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C3D70 002BF9D0 40 82 00 34 */ bne lbl_802C3DA4
+/* 802C3D74 002BF9D4 54 65 07 B8 */ rlwinm r5, r3, 0, 0x1e, 0x1c
+/* 802C3D78 002BF9D8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3D7C 002BF9DC B0 BD 00 00 */ sth r5, 0(r29)
+/* 802C3D80 002BF9E0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3D84 002BF9E4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C3D88 002BF9E8 28 00 00 03 */ cmplwi r0, 3
+/* 802C3D8C 002BF9EC 41 80 00 18 */ blt lbl_802C3DA4
+/* 802C3D90 002BF9F0 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C3D94 002BF9F4 38 9E 01 30 */ addi r4, r30, 0x130
+/* 802C3D98 002BF9F8 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C3D9C 002BF9FC 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802C3DA0 002BFA00 4B FF 91 89 */ bl LogMsg_1
+lbl_802C3DA4:
+/* 802C3DA4 002BFA04 A0 7D 00 00 */ lhz r3, 0(r29)
+/* 802C3DA8 002BFA08 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c
+/* 802C3DAC 002BFA0C 41 82 00 40 */ beq lbl_802C3DEC
+/* 802C3DB0 002BFA10 88 1F 00 01 */ lbz r0, 1(r31)
+/* 802C3DB4 002BFA14 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802C3DB8 002BFA18 40 82 00 34 */ bne lbl_802C3DEC
+/* 802C3DBC 002BFA1C 54 65 07 76 */ rlwinm r5, r3, 0, 0x1d, 0x1b
+/* 802C3DC0 002BFA20 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3DC4 002BFA24 B0 BD 00 00 */ sth r5, 0(r29)
+/* 802C3DC8 002BFA28 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3DCC 002BFA2C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C3DD0 002BFA30 28 00 00 03 */ cmplwi r0, 3
+/* 802C3DD4 002BFA34 41 80 00 18 */ blt lbl_802C3DEC
+/* 802C3DD8 002BFA38 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C3DDC 002BFA3C 38 9E 01 70 */ addi r4, r30, 0x170
+/* 802C3DE0 002BFA40 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C3DE4 002BFA44 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802C3DE8 002BFA48 4B FF 91 41 */ bl LogMsg_1
+lbl_802C3DEC:
+/* 802C3DEC 002BFA4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C3DF0 002BFA50 3B C0 00 00 */ li r30, 0
+/* 802C3DF4 002BFA54 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C3DF8 002BFA58 3B E3 00 34 */ addi r31, r3, 0x34
+lbl_802C3DFC:
+/* 802C3DFC 002BFA5C 88 1F 01 19 */ lbz r0, 0x119(r31)
+/* 802C3E00 002BFA60 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3E04 002BFA64 41 82 00 20 */ beq lbl_802C3E24
+/* 802C3E08 002BFA68 7F 84 E3 78 */ mr r4, r28
+/* 802C3E0C 002BFA6C 38 7F 00 08 */ addi r3, r31, 8
+/* 802C3E10 002BFA70 38 A0 00 06 */ li r5, 6
+/* 802C3E14 002BFA74 4B F0 65 85 */ bl memcmp
+/* 802C3E18 002BFA78 2C 03 00 00 */ cmpwi r3, 0
+/* 802C3E1C 002BFA7C 40 82 00 08 */ bne lbl_802C3E24
+/* 802C3E20 002BFA80 48 00 00 18 */ b lbl_802C3E38
+lbl_802C3E24:
+/* 802C3E24 002BFA84 3B DE 00 01 */ addi r30, r30, 1
+/* 802C3E28 002BFA88 3B FF 01 1C */ addi r31, r31, 0x11c
+/* 802C3E2C 002BFA8C 28 1E 00 04 */ cmplwi r30, 4
+/* 802C3E30 002BFA90 41 80 FF CC */ blt lbl_802C3DFC
+/* 802C3E34 002BFA94 3B E0 00 00 */ li r31, 0
+lbl_802C3E38:
+/* 802C3E38 002BFA98 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C3E3C 002BFA9C 41 82 00 24 */ beq lbl_802C3E60
+/* 802C3E40 002BFAA0 A0 7F 00 00 */ lhz r3, 0(r31)
+/* 802C3E44 002BFAA4 A0 9D 00 00 */ lhz r4, 0(r29)
+/* 802C3E48 002BFAA8 48 00 D3 91 */ bl func_802D11D8
+/* 802C3E4C 002BFAAC 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C3E50 002BFAB0 38 60 00 03 */ li r3, 3
+/* 802C3E54 002BFAB4 41 82 00 10 */ beq lbl_802C3E64
+/* 802C3E58 002BFAB8 38 60 00 01 */ li r3, 1
+/* 802C3E5C 002BFABC 48 00 00 08 */ b lbl_802C3E64
+lbl_802C3E60:
+/* 802C3E60 002BFAC0 38 60 00 07 */ li r3, 7
+lbl_802C3E64:
+/* 802C3E64 002BFAC4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C3E68 002BFAC8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C3E6C 002BFACC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C3E70 002BFAD0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C3E74 002BFAD4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802C3E78 002BFAD8 7C 08 03 A6 */ mtlr r0
+/* 802C3E7C 002BFADC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C3E80 002BFAE0 4E 80 00 20 */ blr
+
+.global BTM_SetDefaultLinkPolicy
+BTM_SetDefaultLinkPolicy:
+/* 802C3E84 002BFAE4 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C3E88 002BFAE8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C3E8C 002BFAEC B0 64 04 C4 */ sth r3, 0x4c4(r4)
+/* 802C3E90 002BFAF0 4E 80 00 20 */ blr
+
+.global btm_read_link_policy_complete
+btm_read_link_policy_complete:
+/* 802C3E94 002BFAF4 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C3E98 002BFAF8 7C 08 02 A6 */ mflr r0
+/* 802C3E9C 002BFAFC 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C3EA0 002BFB00 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 802C3EA4 002BFB04 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C3EA8 002BFB08 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C3EAC 002BFB0C 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 802C3EB0 002BFB10 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 802C3EB4 002BFB14 3B BF 00 34 */ addi r29, r31, 0x34
+/* 802C3EB8 002BFB18 93 81 00 20 */ stw r28, 0x20(r1)
+/* 802C3EBC 002BFB1C 7C 7C 1B 78 */ mr r28, r3
+/* 802C3EC0 002BFB20 38 7F 05 AC */ addi r3, r31, 0x5ac
+/* 802C3EC4 002BFB24 83 DF 05 C4 */ lwz r30, 0x5c4(r31)
+/* 802C3EC8 002BFB28 4B FF 96 85 */ bl btu_stop_timer
+/* 802C3ECC 002BFB2C 38 60 00 00 */ li r3, 0
+/* 802C3ED0 002BFB30 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C3ED4 002BFB34 90 7F 05 C4 */ stw r3, 0x5c4(r31)
+/* 802C3ED8 002BFB38 41 82 00 A0 */ beq lbl_802C3F78
+/* 802C3EDC 002BFB3C 88 1C 00 00 */ lbz r0, 0(r28)
+/* 802C3EE0 002BFB40 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3EE4 002BFB44 98 01 00 09 */ stb r0, 9(r1)
+/* 802C3EE8 002BFB48 40 82 00 78 */ bne lbl_802C3F60
+/* 802C3EEC 002BFB4C 98 61 00 08 */ stb r3, 8(r1)
+/* 802C3EF0 002BFB50 38 00 00 04 */ li r0, 4
+/* 802C3EF4 002BFB54 38 E0 00 00 */ li r7, 0
+/* 802C3EF8 002BFB58 88 9C 00 02 */ lbz r4, 2(r28)
+/* 802C3EFC 002BFB5C 88 7C 00 04 */ lbz r3, 4(r28)
+/* 802C3F00 002BFB60 54 85 40 2E */ slwi r5, r4, 8
+/* 802C3F04 002BFB64 88 DC 00 01 */ lbz r6, 1(r28)
+/* 802C3F08 002BFB68 88 9C 00 03 */ lbz r4, 3(r28)
+/* 802C3F0C 002BFB6C 54 63 40 2E */ slwi r3, r3, 8
+/* 802C3F10 002BFB70 7C A6 2A 14 */ add r5, r6, r5
+/* 802C3F14 002BFB74 7C 64 1A 14 */ add r3, r4, r3
+/* 802C3F18 002BFB78 B0 61 00 10 */ sth r3, 0x10(r1)
+/* 802C3F1C 002BFB7C 54 A3 04 3E */ clrlwi r3, r5, 0x10
+/* 802C3F20 002BFB80 7C 09 03 A6 */ mtctr r0
+lbl_802C3F24:
+/* 802C3F24 002BFB84 88 1D 01 19 */ lbz r0, 0x119(r29)
+/* 802C3F28 002BFB88 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3F2C 002BFB8C 41 82 00 24 */ beq lbl_802C3F50
+/* 802C3F30 002BFB90 A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802C3F34 002BFB94 7C 03 00 40 */ cmplw r3, r0
+/* 802C3F38 002BFB98 40 82 00 18 */ bne lbl_802C3F50
+/* 802C3F3C 002BFB9C 38 61 00 0A */ addi r3, r1, 0xa
+/* 802C3F40 002BFBA0 38 9D 00 08 */ addi r4, r29, 8
+/* 802C3F44 002BFBA4 38 A0 00 06 */ li r5, 6
+/* 802C3F48 002BFBA8 4B D4 00 B9 */ bl memcpy
+/* 802C3F4C 002BFBAC 48 00 00 1C */ b lbl_802C3F68
+lbl_802C3F50:
+/* 802C3F50 002BFBB0 38 E7 00 01 */ addi r7, r7, 1
+/* 802C3F54 002BFBB4 3B BD 01 1C */ addi r29, r29, 0x11c
+/* 802C3F58 002BFBB8 42 00 FF CC */ bdnz lbl_802C3F24
+/* 802C3F5C 002BFBBC 48 00 00 0C */ b lbl_802C3F68
+lbl_802C3F60:
+/* 802C3F60 002BFBC0 38 00 00 0A */ li r0, 0xa
+/* 802C3F64 002BFBC4 98 01 00 08 */ stb r0, 8(r1)
+lbl_802C3F68:
+/* 802C3F68 002BFBC8 7F CC F3 78 */ mr r12, r30
+/* 802C3F6C 002BFBCC 38 61 00 08 */ addi r3, r1, 8
+/* 802C3F70 002BFBD0 7D 89 03 A6 */ mtctr r12
+/* 802C3F74 002BFBD4 4E 80 04 21 */ bctrl
+lbl_802C3F78:
+/* 802C3F78 002BFBD8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C3F7C 002BFBDC 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 802C3F80 002BFBE0 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 802C3F84 002BFBE4 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 802C3F88 002BFBE8 83 81 00 20 */ lwz r28, 0x20(r1)
+/* 802C3F8C 002BFBEC 7C 08 03 A6 */ mtlr r0
+/* 802C3F90 002BFBF0 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C3F94 002BFBF4 4E 80 00 20 */ blr
+
+.global btm_read_remote_version_complete
+btm_read_remote_version_complete:
+/* 802C3F98 002BFBF8 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C3F9C 002BFBFC 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C3FA0 002BFC00 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C3FA4 002BFC04 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3FA8 002BFC08 38 C4 00 34 */ addi r6, r4, 0x34
+/* 802C3FAC 002BFC0C 4C 82 00 20 */ bnelr
+/* 802C3FB0 002BFC10 88 83 00 02 */ lbz r4, 2(r3)
+/* 802C3FB4 002BFC14 38 00 00 04 */ li r0, 4
+/* 802C3FB8 002BFC18 88 A3 00 01 */ lbz r5, 1(r3)
+/* 802C3FBC 002BFC1C 54 84 40 2E */ slwi r4, r4, 8
+/* 802C3FC0 002BFC20 7C 85 22 14 */ add r4, r5, r4
+/* 802C3FC4 002BFC24 54 84 04 3E */ clrlwi r4, r4, 0x10
+/* 802C3FC8 002BFC28 7C 09 03 A6 */ mtctr r0
+lbl_802C3FCC:
+/* 802C3FCC 002BFC2C 88 06 01 19 */ lbz r0, 0x119(r6)
+/* 802C3FD0 002BFC30 2C 00 00 00 */ cmpwi r0, 0
+/* 802C3FD4 002BFC34 41 82 00 44 */ beq lbl_802C4018
+/* 802C3FD8 002BFC38 A0 06 00 00 */ lhz r0, 0(r6)
+/* 802C3FDC 002BFC3C 7C 00 20 40 */ cmplw r0, r4
+/* 802C3FE0 002BFC40 40 82 00 38 */ bne lbl_802C4018
+/* 802C3FE4 002BFC44 88 03 00 03 */ lbz r0, 3(r3)
+/* 802C3FE8 002BFC48 98 06 01 18 */ stb r0, 0x118(r6)
+/* 802C3FEC 002BFC4C 88 03 00 05 */ lbz r0, 5(r3)
+/* 802C3FF0 002BFC50 88 83 00 04 */ lbz r4, 4(r3)
+/* 802C3FF4 002BFC54 54 00 40 2E */ slwi r0, r0, 8
+/* 802C3FF8 002BFC58 7C 04 02 14 */ add r0, r4, r0
+/* 802C3FFC 002BFC5C B0 06 01 0A */ sth r0, 0x10a(r6)
+/* 802C4000 002BFC60 88 03 00 07 */ lbz r0, 7(r3)
+/* 802C4004 002BFC64 88 63 00 06 */ lbz r3, 6(r3)
+/* 802C4008 002BFC68 54 00 40 2E */ slwi r0, r0, 8
+/* 802C400C 002BFC6C 7C 03 02 14 */ add r0, r3, r0
+/* 802C4010 002BFC70 B0 06 01 0C */ sth r0, 0x10c(r6)
+/* 802C4014 002BFC74 4E 80 00 20 */ blr
+lbl_802C4018:
+/* 802C4018 002BFC78 38 C6 01 1C */ addi r6, r6, 0x11c
+/* 802C401C 002BFC7C 42 00 FF B0 */ bdnz lbl_802C3FCC
+/* 802C4020 002BFC80 4E 80 00 20 */ blr
+
+.global btm_read_remote_features_complete
+btm_read_remote_features_complete:
+/* 802C4024 002BFC84 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C4028 002BFC88 7C 08 02 A6 */ mflr r0
+/* 802C402C 002BFC8C 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C4030 002BFC90 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C4034 002BFC94 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C4038 002BFC98 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C403C 002BFC9C 3B E4 00 34 */ addi r31, r4, 0x34
+/* 802C4040 002BFCA0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C4044 002BFCA4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C4048 002BFCA8 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802C404C 002BFCAC 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C4050 002BFCB0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4054 002BFCB4 40 82 01 DC */ bne lbl_802C4230
+/* 802C4058 002BFCB8 88 83 00 02 */ lbz r4, 2(r3)
+/* 802C405C 002BFCBC 38 00 00 04 */ li r0, 4
+/* 802C4060 002BFCC0 88 A3 00 01 */ lbz r5, 1(r3)
+/* 802C4064 002BFCC4 54 84 40 2E */ slwi r4, r4, 8
+/* 802C4068 002BFCC8 7C 85 22 14 */ add r4, r5, r4
+/* 802C406C 002BFCCC 54 84 04 3E */ clrlwi r4, r4, 0x10
+/* 802C4070 002BFCD0 7C 09 03 A6 */ mtctr r0
+lbl_802C4074:
+/* 802C4074 002BFCD4 88 1F 01 19 */ lbz r0, 0x119(r31)
+/* 802C4078 002BFCD8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C407C 002BFCDC 41 82 01 AC */ beq lbl_802C4228
+/* 802C4080 002BFCE0 A0 1F 00 00 */ lhz r0, 0(r31)
+/* 802C4084 002BFCE4 7C 00 20 40 */ cmplw r0, r4
+/* 802C4088 002BFCE8 40 82 01 A0 */ bne lbl_802C4228
+/* 802C408C 002BFCEC 88 03 00 03 */ lbz r0, 3(r3)
+/* 802C4090 002BFCF0 98 1F 01 10 */ stb r0, 0x110(r31)
+/* 802C4094 002BFCF4 88 03 00 04 */ lbz r0, 4(r3)
+/* 802C4098 002BFCF8 98 1F 01 11 */ stb r0, 0x111(r31)
+/* 802C409C 002BFCFC 88 03 00 05 */ lbz r0, 5(r3)
+/* 802C40A0 002BFD00 98 1F 01 12 */ stb r0, 0x112(r31)
+/* 802C40A4 002BFD04 88 03 00 06 */ lbz r0, 6(r3)
+/* 802C40A8 002BFD08 98 1F 01 13 */ stb r0, 0x113(r31)
+/* 802C40AC 002BFD0C 88 03 00 07 */ lbz r0, 7(r3)
+/* 802C40B0 002BFD10 98 1F 01 14 */ stb r0, 0x114(r31)
+/* 802C40B4 002BFD14 88 03 00 08 */ lbz r0, 8(r3)
+/* 802C40B8 002BFD18 98 1F 01 15 */ stb r0, 0x115(r31)
+/* 802C40BC 002BFD1C 88 03 00 09 */ lbz r0, 9(r3)
+/* 802C40C0 002BFD20 98 1F 01 16 */ stb r0, 0x116(r31)
+/* 802C40C4 002BFD24 88 03 00 0A */ lbz r0, 0xa(r3)
+/* 802C40C8 002BFD28 7C 83 23 78 */ mr r3, r4
+/* 802C40CC 002BFD2C 98 1F 01 17 */ stb r0, 0x117(r31)
+/* 802C40D0 002BFD30 48 00 14 95 */ bl btm_find_dev_by_handle
+/* 802C40D4 002BFD34 2C 03 00 00 */ cmpwi r3, 0
+/* 802C40D8 002BFD38 41 82 00 14 */ beq lbl_802C40EC
+/* 802C40DC 002BFD3C 38 9F 01 10 */ addi r4, r31, 0x110
+/* 802C40E0 002BFD40 38 A0 00 08 */ li r5, 8
+/* 802C40E4 002BFD44 38 63 00 77 */ addi r3, r3, 0x77
+/* 802C40E8 002BFD48 4B D3 FF 19 */ bl memcpy
+lbl_802C40EC:
+/* 802C40EC 002BFD4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C40F0 002BFD50 38 00 CC F9 */ li r0, -13063
+/* 802C40F4 002BFD54 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C40F8 002BFD58 A0 A3 06 54 */ lhz r5, 0x654(r3)
+/* 802C40FC 002BFD5C 88 63 06 36 */ lbz r3, 0x636(r3)
+/* 802C4100 002BFD60 70 A4 CC 18 */ andi. r4, r5, 0xcc18
+/* 802C4104 002BFD64 28 03 00 03 */ cmplwi r3, 3
+/* 802C4108 002BFD68 7C 9E 00 38 */ and r30, r4, r0
+/* 802C410C 002BFD6C 41 80 00 10 */ blt lbl_802C411C
+/* 802C4110 002BFD70 70 A0 33 06 */ andi. r0, r5, 0x3306
+/* 802C4114 002BFD74 7C 80 03 78 */ or r0, r4, r0
+/* 802C4118 002BFD78 54 1E 04 3E */ clrlwi r30, r0, 0x10
+lbl_802C411C:
+/* 802C411C 002BFD7C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C4120 002BFD80 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C4124 002BFD84 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C4128 002BFD88 28 00 00 04 */ cmplwi r0, 4
+/* 802C412C 002BFD8C 41 80 00 1C */ blt lbl_802C4148
+/* 802C4130 002BFD90 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C4134 002BFD94 3C 80 80 44 */ lis r4, lbl_80440D00@ha
+/* 802C4138 002BFD98 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C413C 002BFD9C 57 C5 04 3E */ clrlwi r5, r30, 0x10
+/* 802C4140 002BFDA0 38 84 0D 00 */ addi r4, r4, lbl_80440D00@l
+/* 802C4144 002BFDA4 4B FF 8D E5 */ bl LogMsg_1
+lbl_802C4148:
+/* 802C4148 002BFDA8 A0 7F 00 00 */ lhz r3, 0(r31)
+/* 802C414C 002BFDAC 57 C4 04 3E */ clrlwi r4, r30, 0x10
+/* 802C4150 002BFDB0 48 00 C5 D5 */ bl func_802D0724
+/* 802C4154 002BFDB4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C4158 002BFDB8 41 82 00 08 */ beq lbl_802C4160
+/* 802C415C 002BFDBC B3 DF 00 02 */ sth r30, 2(r31)
+lbl_802C4160:
+/* 802C4160 002BFDC0 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C4164 002BFDC4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C4168 002BFDC8 A0 04 04 C4 */ lhz r0, 0x4c4(r4)
+/* 802C416C 002BFDCC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4170 002BFDD0 41 82 00 10 */ beq lbl_802C4180
+/* 802C4174 002BFDD4 38 7F 00 08 */ addi r3, r31, 8
+/* 802C4178 002BFDD8 38 84 04 C4 */ addi r4, r4, 0x4c4
+/* 802C417C 002BFDDC 4B FF FB 19 */ bl BTM_SetLinkPolicy
+lbl_802C4180:
+/* 802C4180 002BFDE0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C4184 002BFDE4 3B C0 00 00 */ li r30, 0
+/* 802C4188 002BFDE8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C418C 002BFDEC A3 83 04 C6 */ lhz r28, 0x4c6(r3)
+/* 802C4190 002BFDF0 3B A3 00 34 */ addi r29, r3, 0x34
+lbl_802C4194:
+/* 802C4194 002BFDF4 88 1D 01 19 */ lbz r0, 0x119(r29)
+/* 802C4198 002BFDF8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C419C 002BFDFC 41 82 00 20 */ beq lbl_802C41BC
+/* 802C41A0 002BFE00 38 7D 00 08 */ addi r3, r29, 8
+/* 802C41A4 002BFE04 38 9F 00 08 */ addi r4, r31, 8
+/* 802C41A8 002BFE08 38 A0 00 06 */ li r5, 6
+/* 802C41AC 002BFE0C 4B F0 61 ED */ bl memcmp
+/* 802C41B0 002BFE10 2C 03 00 00 */ cmpwi r3, 0
+/* 802C41B4 002BFE14 40 82 00 08 */ bne lbl_802C41BC
+/* 802C41B8 002BFE18 48 00 00 18 */ b lbl_802C41D0
+lbl_802C41BC:
+/* 802C41BC 002BFE1C 3B DE 00 01 */ addi r30, r30, 1
+/* 802C41C0 002BFE20 3B BD 01 1C */ addi r29, r29, 0x11c
+/* 802C41C4 002BFE24 28 1E 00 04 */ cmplwi r30, 4
+/* 802C41C8 002BFE28 41 80 FF CC */ blt lbl_802C4194
+/* 802C41CC 002BFE2C 3B A0 00 00 */ li r29, 0
+lbl_802C41D0:
+/* 802C41D0 002BFE30 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C41D4 002BFE34 41 82 00 20 */ beq lbl_802C41F4
+/* 802C41D8 002BFE38 B3 9D 01 0E */ sth r28, 0x10e(r29)
+/* 802C41DC 002BFE3C 88 1D 01 1A */ lbz r0, 0x11a(r29)
+/* 802C41E0 002BFE40 2C 00 00 00 */ cmpwi r0, 0
+/* 802C41E4 002BFE44 40 82 00 10 */ bne lbl_802C41F4
+/* 802C41E8 002BFE48 A0 7D 00 00 */ lhz r3, 0(r29)
+/* 802C41EC 002BFE4C 7F 84 E3 78 */ mr r4, r28
+/* 802C41F0 002BFE50 48 00 DA 35 */ bl func_802D1C24
+lbl_802C41F4:
+/* 802C41F4 002BFE54 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C41F8 002BFE58 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C41FC 002BFE5C 81 83 04 C8 */ lwz r12, 0x4c8(r3)
+/* 802C4200 002BFE60 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C4204 002BFE64 41 82 00 2C */ beq lbl_802C4230
+/* 802C4208 002BFE68 38 7F 00 08 */ addi r3, r31, 8
+/* 802C420C 002BFE6C 38 9F 00 0E */ addi r4, r31, 0xe
+/* 802C4210 002BFE70 38 BF 00 11 */ addi r5, r31, 0x11
+/* 802C4214 002BFE74 38 DF 01 10 */ addi r6, r31, 0x110
+/* 802C4218 002BFE78 38 E0 00 01 */ li r7, 1
+/* 802C421C 002BFE7C 7D 89 03 A6 */ mtctr r12
+/* 802C4220 002BFE80 4E 80 04 21 */ bctrl
+/* 802C4224 002BFE84 48 00 00 0C */ b lbl_802C4230
+lbl_802C4228:
+/* 802C4228 002BFE88 3B FF 01 1C */ addi r31, r31, 0x11c
+/* 802C422C 002BFE8C 42 00 FE 48 */ bdnz lbl_802C4074
+lbl_802C4230:
+/* 802C4230 002BFE90 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C4234 002BFE94 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C4238 002BFE98 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C423C 002BFE9C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C4240 002BFEA0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802C4244 002BFEA4 7C 08 03 A6 */ mtlr r0
+/* 802C4248 002BFEA8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C424C 002BFEAC 4E 80 00 20 */ blr
+
+.global BTM_SetDefaultLinkSuperTout
+BTM_SetDefaultLinkSuperTout:
+/* 802C4250 002BFEB0 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C4254 002BFEB4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C4258 002BFEB8 B0 64 04 C6 */ sth r3, 0x4c6(r4)
+/* 802C425C 002BFEBC 4E 80 00 20 */ blr
+
+.global BTM_IsAclConnectionUp
+BTM_IsAclConnectionUp:
+/* 802C4260 002BFEC0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C4264 002BFEC4 7C 08 02 A6 */ mflr r0
+/* 802C4268 002BFEC8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C426C 002BFECC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C4270 002BFED0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C4274 002BFED4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C4278 002BFED8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C427C 002BFEDC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C4280 002BFEE0 7C 7D 1B 78 */ mr r29, r3
+/* 802C4284 002BFEE4 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802C4288 002BFEE8 28 00 00 03 */ cmplwi r0, 3
+/* 802C428C 002BFEEC 41 80 00 30 */ blt lbl_802C42BC
+/* 802C4290 002BFEF0 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C4294 002BFEF4 3C 80 80 44 */ lis r4, lbl_80440EA0@ha
+/* 802C4298 002BFEF8 88 BD 00 00 */ lbz r5, 0(r29)
+/* 802C429C 002BFEFC 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C42A0 002BFF00 88 DD 00 01 */ lbz r6, 1(r29)
+/* 802C42A4 002BFF04 38 84 0E A0 */ addi r4, r4, lbl_80440EA0@l
+/* 802C42A8 002BFF08 88 FD 00 02 */ lbz r7, 2(r29)
+/* 802C42AC 002BFF0C 89 1D 00 03 */ lbz r8, 3(r29)
+/* 802C42B0 002BFF10 89 3D 00 04 */ lbz r9, 4(r29)
+/* 802C42B4 002BFF14 89 5D 00 05 */ lbz r10, 5(r29)
+/* 802C42B8 002BFF18 4B FF 8C E9 */ bl LogMsg_6
+lbl_802C42BC:
+/* 802C42BC 002BFF1C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C42C0 002BFF20 3B E0 00 00 */ li r31, 0
+/* 802C42C4 002BFF24 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C42C8 002BFF28 3B C3 00 34 */ addi r30, r3, 0x34
+lbl_802C42CC:
+/* 802C42CC 002BFF2C 88 1E 01 19 */ lbz r0, 0x119(r30)
+/* 802C42D0 002BFF30 2C 00 00 00 */ cmpwi r0, 0
+/* 802C42D4 002BFF34 41 82 00 20 */ beq lbl_802C42F4
+/* 802C42D8 002BFF38 7F A4 EB 78 */ mr r4, r29
+/* 802C42DC 002BFF3C 38 7E 00 08 */ addi r3, r30, 8
+/* 802C42E0 002BFF40 38 A0 00 06 */ li r5, 6
+/* 802C42E4 002BFF44 4B F0 60 B5 */ bl memcmp
+/* 802C42E8 002BFF48 2C 03 00 00 */ cmpwi r3, 0
+/* 802C42EC 002BFF4C 40 82 00 08 */ bne lbl_802C42F4
+/* 802C42F0 002BFF50 48 00 00 18 */ b lbl_802C4308
+lbl_802C42F4:
+/* 802C42F4 002BFF54 3B FF 00 01 */ addi r31, r31, 1
+/* 802C42F8 002BFF58 3B DE 01 1C */ addi r30, r30, 0x11c
+/* 802C42FC 002BFF5C 28 1F 00 04 */ cmplwi r31, 4
+/* 802C4300 002BFF60 41 80 FF CC */ blt lbl_802C42CC
+/* 802C4304 002BFF64 3B C0 00 00 */ li r30, 0
+lbl_802C4308:
+/* 802C4308 002BFF68 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C430C 002BFF6C 41 82 00 0C */ beq lbl_802C4318
+/* 802C4310 002BFF70 38 60 00 01 */ li r3, 1
+/* 802C4314 002BFF74 48 00 00 08 */ b lbl_802C431C
+lbl_802C4318:
+/* 802C4318 002BFF78 38 60 00 00 */ li r3, 0
+lbl_802C431C:
+/* 802C431C 002BFF7C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C4320 002BFF80 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C4324 002BFF84 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C4328 002BFF88 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C432C 002BFF8C 7C 08 03 A6 */ mtlr r0
+/* 802C4330 002BFF90 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C4334 002BFF94 4E 80 00 20 */ blr
+
+.global BTM_GetNumAclLinks
+BTM_GetNumAclLinks:
+/* 802C4338 002BFF98 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C433C 002BFF9C 38 60 00 00 */ li r3, 0
+/* 802C4340 002BFFA0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C4344 002BFFA4 88 04 01 4D */ lbz r0, 0x14d(r4)
+/* 802C4348 002BFFA8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C434C 002BFFAC 41 82 00 08 */ beq lbl_802C4354
+/* 802C4350 002BFFB0 38 60 00 01 */ li r3, 1
+lbl_802C4354:
+/* 802C4354 002BFFB4 88 04 02 69 */ lbz r0, 0x269(r4)
+/* 802C4358 002BFFB8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C435C 002BFFBC 41 82 00 0C */ beq lbl_802C4368
+/* 802C4360 002BFFC0 38 03 00 01 */ addi r0, r3, 1
+/* 802C4364 002BFFC4 54 03 04 3E */ clrlwi r3, r0, 0x10
+lbl_802C4368:
+/* 802C4368 002BFFC8 88 04 03 85 */ lbz r0, 0x385(r4)
+/* 802C436C 002BFFCC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4370 002BFFD0 41 82 00 0C */ beq lbl_802C437C
+/* 802C4374 002BFFD4 38 03 00 01 */ addi r0, r3, 1
+/* 802C4378 002BFFD8 54 03 04 3E */ clrlwi r3, r0, 0x10
+lbl_802C437C:
+/* 802C437C 002BFFDC 88 04 04 A1 */ lbz r0, 0x4a1(r4)
+/* 802C4380 002BFFE0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4384 002BFFE4 4D 82 00 20 */ beqlr
+/* 802C4388 002BFFE8 38 03 00 01 */ addi r0, r3, 1
+/* 802C438C 002BFFEC 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802C4390 002BFFF0 4E 80 00 20 */ blr
+
+.global btm_get_acl_disc_reason_code
+btm_get_acl_disc_reason_code:
+/* 802C4394 002BFFF4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C4398 002BFFF8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C439C 002BFFFC 88 63 27 BF */ lbz r3, 0x27bf(r3)
+/* 802C43A0 002C0000 4E 80 00 20 */ blr
+
+.global BTM_GetHCIConnHandle
+BTM_GetHCIConnHandle:
+/* 802C43A4 002C0004 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C43A8 002C0008 7C 08 02 A6 */ mflr r0
+/* 802C43AC 002C000C 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C43B0 002C0010 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C43B4 002C0014 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C43B8 002C0018 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C43BC 002C001C 3B E0 00 00 */ li r31, 0
+/* 802C43C0 002C0020 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C43C4 002C0024 3B C4 00 34 */ addi r30, r4, 0x34
+/* 802C43C8 002C0028 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C43CC 002C002C 7C 7D 1B 78 */ mr r29, r3
+lbl_802C43D0:
+/* 802C43D0 002C0030 88 1E 01 19 */ lbz r0, 0x119(r30)
+/* 802C43D4 002C0034 2C 00 00 00 */ cmpwi r0, 0
+/* 802C43D8 002C0038 41 82 00 20 */ beq lbl_802C43F8
+/* 802C43DC 002C003C 7F A4 EB 78 */ mr r4, r29
+/* 802C43E0 002C0040 38 7E 00 08 */ addi r3, r30, 8
+/* 802C43E4 002C0044 38 A0 00 06 */ li r5, 6
+/* 802C43E8 002C0048 4B F0 5F B1 */ bl memcmp
+/* 802C43EC 002C004C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C43F0 002C0050 40 82 00 08 */ bne lbl_802C43F8
+/* 802C43F4 002C0054 48 00 00 18 */ b lbl_802C440C
+lbl_802C43F8:
+/* 802C43F8 002C0058 3B FF 00 01 */ addi r31, r31, 1
+/* 802C43FC 002C005C 3B DE 01 1C */ addi r30, r30, 0x11c
+/* 802C4400 002C0060 28 1F 00 04 */ cmplwi r31, 4
+/* 802C4404 002C0064 41 80 FF CC */ blt lbl_802C43D0
+/* 802C4408 002C0068 3B C0 00 00 */ li r30, 0
+lbl_802C440C:
+/* 802C440C 002C006C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C4410 002C0070 41 82 00 0C */ beq lbl_802C441C
+/* 802C4414 002C0074 A0 7E 00 00 */ lhz r3, 0(r30)
+/* 802C4418 002C0078 48 00 00 0C */ b lbl_802C4424
+lbl_802C441C:
+/* 802C441C 002C007C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802C4420 002C0080 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
+lbl_802C4424:
+/* 802C4424 002C0084 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C4428 002C0088 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C442C 002C008C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C4430 002C0090 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C4434 002C0094 7C 08 03 A6 */ mtlr r0
+/* 802C4438 002C0098 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C443C 002C009C 4E 80 00 20 */ blr
+
+.global btm_process_clk_off_comp_evt
+btm_process_clk_off_comp_evt:
+/* 802C4440 002C00A0 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C4444 002C00A4 38 C0 00 00 */ li r6, 0
+/* 802C4448 002C00A8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C444C 002C00AC 88 05 01 4D */ lbz r0, 0x14d(r5)
+/* 802C4450 002C00B0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4454 002C00B4 41 82 00 10 */ beq lbl_802C4464
+/* 802C4458 002C00B8 A0 05 00 34 */ lhz r0, 0x34(r5)
+/* 802C445C 002C00BC 7C 00 18 40 */ cmplw r0, r3
+/* 802C4460 002C00C0 41 82 00 5C */ beq lbl_802C44BC
+lbl_802C4464:
+/* 802C4464 002C00C4 88 05 02 69 */ lbz r0, 0x269(r5)
+/* 802C4468 002C00C8 38 C0 00 01 */ li r6, 1
+/* 802C446C 002C00CC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4470 002C00D0 41 82 00 10 */ beq lbl_802C4480
+/* 802C4474 002C00D4 A0 05 01 50 */ lhz r0, 0x150(r5)
+/* 802C4478 002C00D8 7C 00 18 40 */ cmplw r0, r3
+/* 802C447C 002C00DC 41 82 00 40 */ beq lbl_802C44BC
+lbl_802C4480:
+/* 802C4480 002C00E0 88 05 03 85 */ lbz r0, 0x385(r5)
+/* 802C4484 002C00E4 38 C0 00 02 */ li r6, 2
+/* 802C4488 002C00E8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C448C 002C00EC 41 82 00 10 */ beq lbl_802C449C
+/* 802C4490 002C00F0 A0 05 02 6C */ lhz r0, 0x26c(r5)
+/* 802C4494 002C00F4 7C 00 18 40 */ cmplw r0, r3
+/* 802C4498 002C00F8 41 82 00 24 */ beq lbl_802C44BC
+lbl_802C449C:
+/* 802C449C 002C00FC 88 05 04 A1 */ lbz r0, 0x4a1(r5)
+/* 802C44A0 002C0100 38 C0 00 03 */ li r6, 3
+/* 802C44A4 002C0104 2C 00 00 00 */ cmpwi r0, 0
+/* 802C44A8 002C0108 41 82 00 10 */ beq lbl_802C44B8
+/* 802C44AC 002C010C A0 05 03 88 */ lhz r0, 0x388(r5)
+/* 802C44B0 002C0110 7C 00 18 40 */ cmplw r0, r3
+/* 802C44B4 002C0114 41 82 00 08 */ beq lbl_802C44BC
+lbl_802C44B8:
+/* 802C44B8 002C0118 38 C0 00 04 */ li r6, 4
+lbl_802C44BC:
+/* 802C44BC 002C011C 28 06 00 04 */ cmplwi r6, 4
+/* 802C44C0 002C0120 4C 80 00 20 */ bgelr
+/* 802C44C4 002C0124 1C 06 01 1C */ mulli r0, r6, 0x11c
+/* 802C44C8 002C0128 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C44CC 002C012C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C44D0 002C0130 7C 63 02 14 */ add r3, r3, r0
+/* 802C44D4 002C0134 B0 83 00 3A */ sth r4, 0x3a(r3)
+/* 802C44D8 002C0138 4E 80 00 20 */ blr
+
+.global btm_acl_role_changed
+btm_acl_role_changed:
+/* 802C44DC 002C013C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C44E0 002C0140 7C 08 02 A6 */ mflr r0
+/* 802C44E4 002C0144 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C44E8 002C0148 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C44EC 002C014C 4B F0 2C 35 */ bl _savegpr_25
+/* 802C44F0 002C0150 2C 04 00 00 */ cmpwi r4, 0
+/* 802C44F4 002C0154 7C 79 1B 78 */ mr r25, r3
+/* 802C44F8 002C0158 7C 9A 23 78 */ mr r26, r4
+/* 802C44FC 002C015C 7C BC 2B 78 */ mr r28, r5
+/* 802C4500 002C0160 41 82 00 0C */ beq lbl_802C450C
+/* 802C4504 002C0164 7F 5B D3 78 */ mr r27, r26
+/* 802C4508 002C0168 48 00 00 10 */ b lbl_802C4518
+lbl_802C450C:
+/* 802C450C 002C016C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C4510 002C0170 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C4514 002C0174 3B 63 27 B4 */ addi r27, r3, 0x27b4
+lbl_802C4518:
+/* 802C4518 002C0178 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C451C 002C017C 3B C0 00 00 */ li r30, 0
+/* 802C4520 002C0180 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C4524 002C0184 3B A3 00 34 */ addi r29, r3, 0x34
+lbl_802C4528:
+/* 802C4528 002C0188 88 1D 01 19 */ lbz r0, 0x119(r29)
+/* 802C452C 002C018C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4530 002C0190 41 82 00 20 */ beq lbl_802C4550
+/* 802C4534 002C0194 7F 64 DB 78 */ mr r4, r27
+/* 802C4538 002C0198 38 7D 00 08 */ addi r3, r29, 8
+/* 802C453C 002C019C 38 A0 00 06 */ li r5, 6
+/* 802C4540 002C01A0 4B F0 5E 59 */ bl memcmp
+/* 802C4544 002C01A4 2C 03 00 00 */ cmpwi r3, 0
+/* 802C4548 002C01A8 40 82 00 08 */ bne lbl_802C4550
+/* 802C454C 002C01AC 48 00 00 18 */ b lbl_802C4564
+lbl_802C4550:
+/* 802C4550 002C01B0 3B DE 00 01 */ addi r30, r30, 1
+/* 802C4554 002C01B4 3B BD 01 1C */ addi r29, r29, 0x11c
+/* 802C4558 002C01B8 28 1E 00 04 */ cmplwi r30, 4
+/* 802C455C 002C01BC 41 80 FF CC */ blt lbl_802C4528
+/* 802C4560 002C01C0 3B A0 00 00 */ li r29, 0
+lbl_802C4564:
+/* 802C4564 002C01C4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C4568 002C01C8 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C456C 002C01CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C4570 002C01D0 3B E3 06 24 */ addi r31, r3, 0x624
+/* 802C4574 002C01D4 41 82 01 44 */ beq lbl_802C46B8
+/* 802C4578 002C01D8 2C 19 00 00 */ cmpwi r25, 0
+/* 802C457C 002C01DC 9B 3F 00 00 */ stb r25, 0(r31)
+/* 802C4580 002C01E0 40 82 00 1C */ bne lbl_802C459C
+/* 802C4584 002C01E4 9B 9F 00 01 */ stb r28, 1(r31)
+/* 802C4588 002C01E8 7F 64 DB 78 */ mr r4, r27
+/* 802C458C 002C01EC 38 7F 00 02 */ addi r3, r31, 2
+/* 802C4590 002C01F0 38 A0 00 06 */ li r5, 6
+/* 802C4594 002C01F4 4B D3 FA 6D */ bl memcpy
+/* 802C4598 002C01F8 9B 9D 01 1A */ stb r28, 0x11a(r29)
+lbl_802C459C:
+/* 802C459C 002C01FC 2C 1A 00 00 */ cmpwi r26, 0
+/* 802C45A0 002C0200 41 82 00 78 */ beq lbl_802C4618
+/* 802C45A4 002C0204 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C45A8 002C0208 A3 DD 01 0E */ lhz r30, 0x10e(r29)
+/* 802C45AC 002C020C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C45B0 002C0210 3B 80 00 00 */ li r28, 0
+/* 802C45B4 002C0214 3B 63 00 34 */ addi r27, r3, 0x34
+lbl_802C45B8:
+/* 802C45B8 002C0218 88 1B 01 19 */ lbz r0, 0x119(r27)
+/* 802C45BC 002C021C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C45C0 002C0220 41 82 00 20 */ beq lbl_802C45E0
+/* 802C45C4 002C0224 38 7B 00 08 */ addi r3, r27, 8
+/* 802C45C8 002C0228 38 9D 00 08 */ addi r4, r29, 8
+/* 802C45CC 002C022C 38 A0 00 06 */ li r5, 6
+/* 802C45D0 002C0230 4B F0 5D C9 */ bl memcmp
+/* 802C45D4 002C0234 2C 03 00 00 */ cmpwi r3, 0
+/* 802C45D8 002C0238 40 82 00 08 */ bne lbl_802C45E0
+/* 802C45DC 002C023C 48 00 00 18 */ b lbl_802C45F4
+lbl_802C45E0:
+/* 802C45E0 002C0240 3B 9C 00 01 */ addi r28, r28, 1
+/* 802C45E4 002C0244 3B 7B 01 1C */ addi r27, r27, 0x11c
+/* 802C45E8 002C0248 28 1C 00 04 */ cmplwi r28, 4
+/* 802C45EC 002C024C 41 80 FF CC */ blt lbl_802C45B8
+/* 802C45F0 002C0250 3B 60 00 00 */ li r27, 0
+lbl_802C45F4:
+/* 802C45F4 002C0254 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C45F8 002C0258 41 82 00 20 */ beq lbl_802C4618
+/* 802C45FC 002C025C B3 DB 01 0E */ sth r30, 0x10e(r27)
+/* 802C4600 002C0260 88 1B 01 1A */ lbz r0, 0x11a(r27)
+/* 802C4604 002C0264 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4608 002C0268 40 82 00 10 */ bne lbl_802C4618
+/* 802C460C 002C026C A0 7B 00 00 */ lhz r3, 0(r27)
+/* 802C4610 002C0270 7F C4 F3 78 */ mr r4, r30
+/* 802C4614 002C0274 48 00 D6 11 */ bl func_802D1C24
+lbl_802C4618:
+/* 802C4618 002C0278 88 1D 01 1B */ lbz r0, 0x11b(r29)
+/* 802C461C 002C027C 28 00 00 03 */ cmplwi r0, 3
+/* 802C4620 002C0280 40 82 00 24 */ bne lbl_802C4644
+/* 802C4624 002C0284 A0 7D 00 00 */ lhz r3, 0(r29)
+/* 802C4628 002C0288 38 80 00 01 */ li r4, 1
+/* 802C462C 002C028C 48 00 C2 05 */ bl func_802D0830
+/* 802C4630 002C0290 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C4634 002C0294 41 82 00 10 */ beq lbl_802C4644
+/* 802C4638 002C0298 38 00 00 04 */ li r0, 4
+/* 802C463C 002C029C 98 1D 01 1B */ stb r0, 0x11b(r29)
+/* 802C4640 002C02A0 48 00 00 78 */ b lbl_802C46B8
+lbl_802C4644:
+/* 802C4644 002C02A4 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C4648 002C02A8 41 82 00 18 */ beq lbl_802C4660
+/* 802C464C 002C02AC 88 1D 01 1B */ lbz r0, 0x11b(r29)
+/* 802C4650 002C02B0 28 00 00 05 */ cmplwi r0, 5
+/* 802C4654 002C02B4 40 82 00 0C */ bne lbl_802C4660
+/* 802C4658 002C02B8 38 00 00 00 */ li r0, 0
+/* 802C465C 002C02BC 98 1D 01 1B */ stb r0, 0x11b(r29)
+lbl_802C4660:
+/* 802C4660 002C02C0 3F C0 80 57 */ lis r30, lbl_80568B78@ha
+/* 802C4664 002C02C4 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
+/* 802C4668 002C02C8 81 9E 06 2C */ lwz r12, 0x62c(r30)
+/* 802C466C 002C02CC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C4670 002C02D0 41 82 00 18 */ beq lbl_802C4688
+/* 802C4674 002C02D4 7F E3 FB 78 */ mr r3, r31
+/* 802C4678 002C02D8 7D 89 03 A6 */ mtctr r12
+/* 802C467C 002C02DC 4E 80 04 21 */ bctrl
+/* 802C4680 002C02E0 38 00 00 00 */ li r0, 0
+/* 802C4684 002C02E4 90 1E 06 2C */ stw r0, 0x62c(r30)
+lbl_802C4688:
+/* 802C4688 002C02E8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C468C 002C02EC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C4690 002C02F0 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C4694 002C02F4 28 00 00 04 */ cmplwi r0, 4
+/* 802C4698 002C02F8 41 80 00 20 */ blt lbl_802C46B8
+/* 802C469C 002C02FC 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C46A0 002C0300 3C 80 80 44 */ lis r4, lbl_80440EDC@ha
+/* 802C46A4 002C0304 88 BF 00 01 */ lbz r5, 1(r31)
+/* 802C46A8 002C0308 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C46AC 002C030C 88 DF 00 00 */ lbz r6, 0(r31)
+/* 802C46B0 002C0310 38 84 0E DC */ addi r4, r4, lbl_80440EDC@l
+/* 802C46B4 002C0314 4B FF 88 8D */ bl LogMsg_2
+lbl_802C46B8:
+/* 802C46B8 002C0318 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C46BC 002C031C 4B F0 2A B1 */ bl _restgpr_25
+/* 802C46C0 002C0320 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C46C4 002C0324 7C 08 03 A6 */ mtlr r0
+/* 802C46C8 002C0328 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C46CC 002C032C 4E 80 00 20 */ blr
+
+.global btm_acl_timeout
+btm_acl_timeout:
+/* 802C46D0 002C0330 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C46D4 002C0334 7C 08 02 A6 */ mflr r0
+/* 802C46D8 002C0338 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C46DC 002C033C 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 802C46E0 002C0340 28 00 00 04 */ cmplwi r0, 4
+/* 802C46E4 002C0344 40 82 00 38 */ bne lbl_802C471C
+/* 802C46E8 002C0348 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C46EC 002C034C 38 60 00 0A */ li r3, 0xa
+/* 802C46F0 002C0350 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C46F4 002C0354 38 00 00 00 */ li r0, 0
+/* 802C46F8 002C0358 81 84 05 C4 */ lwz r12, 0x5c4(r4)
+/* 802C46FC 002C035C 98 61 00 08 */ stb r3, 8(r1)
+/* 802C4700 002C0360 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C4704 002C0364 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 802C4708 002C0368 90 04 05 C4 */ stw r0, 0x5c4(r4)
+/* 802C470C 002C036C 41 82 00 10 */ beq lbl_802C471C
+/* 802C4710 002C0370 38 61 00 08 */ addi r3, r1, 8
+/* 802C4714 002C0374 7D 89 03 A6 */ mtctr r12
+/* 802C4718 002C0378 4E 80 04 21 */ bctrl
+lbl_802C471C:
+/* 802C471C 002C037C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C4720 002C0380 7C 08 03 A6 */ mtlr r0
+/* 802C4724 002C0384 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C4728 002C0388 4E 80 00 20 */ blr
+
+.global btm_get_max_packet_size
+btm_get_max_packet_size:
+/* 802C472C 002C038C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C4730 002C0390 7C 08 02 A6 */ mflr r0
+/* 802C4734 002C0394 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C4738 002C0398 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C473C 002C039C 4B F0 29 ED */ bl _savegpr_27
+/* 802C4740 002C03A0 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C4744 002C03A4 7C 7B 1B 78 */ mr r27, r3
+/* 802C4748 002C03A8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C474C 002C03AC 3B C0 00 00 */ li r30, 0
+/* 802C4750 002C03B0 3B A4 00 34 */ addi r29, r4, 0x34
+lbl_802C4754:
+/* 802C4754 002C03B4 88 1D 01 19 */ lbz r0, 0x119(r29)
+/* 802C4758 002C03B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C475C 002C03BC 41 82 00 20 */ beq lbl_802C477C
+/* 802C4760 002C03C0 7F 64 DB 78 */ mr r4, r27
+/* 802C4764 002C03C4 38 7D 00 08 */ addi r3, r29, 8
+/* 802C4768 002C03C8 38 A0 00 06 */ li r5, 6
+/* 802C476C 002C03CC 4B F0 5C 2D */ bl memcmp
+/* 802C4770 002C03D0 2C 03 00 00 */ cmpwi r3, 0
+/* 802C4774 002C03D4 40 82 00 08 */ bne lbl_802C477C
+/* 802C4778 002C03D8 48 00 00 18 */ b lbl_802C4790
+lbl_802C477C:
+/* 802C477C 002C03DC 3B DE 00 01 */ addi r30, r30, 1
+/* 802C4780 002C03E0 3B BD 01 1C */ addi r29, r29, 0x11c
+/* 802C4784 002C03E4 28 1E 00 04 */ cmplwi r30, 4
+/* 802C4788 002C03E8 41 80 FF CC */ blt lbl_802C4754
+/* 802C478C 002C03EC 3B A0 00 00 */ li r29, 0
+lbl_802C4790:
+/* 802C4790 002C03F0 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C4794 002C03F4 3B 80 00 00 */ li r28, 0
+/* 802C4798 002C03F8 3B E0 00 00 */ li r31, 0
+/* 802C479C 002C03FC 41 82 00 0C */ beq lbl_802C47A8
+/* 802C47A0 002C0400 A3 9D 00 02 */ lhz r28, 2(r29)
+/* 802C47A4 002C0404 48 00 00 28 */ b lbl_802C47CC
+lbl_802C47A8:
+/* 802C47A8 002C0408 3F C0 80 57 */ lis r30, lbl_80568B78@ha
+/* 802C47AC 002C040C 7F 64 DB 78 */ mr r4, r27
+/* 802C47B0 002C0410 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
+/* 802C47B4 002C0414 38 A0 00 06 */ li r5, 6
+/* 802C47B8 002C0418 38 7E 06 30 */ addi r3, r30, 0x630
+/* 802C47BC 002C041C 4B F0 5B DD */ bl memcmp
+/* 802C47C0 002C0420 2C 03 00 00 */ cmpwi r3, 0
+/* 802C47C4 002C0424 40 82 00 08 */ bne lbl_802C47CC
+/* 802C47C8 002C0428 A3 9E 06 54 */ lhz r28, 0x654(r30)
+lbl_802C47CC:
+/* 802C47CC 002C042C 2C 1C 00 00 */ cmpwi r28, 0
+/* 802C47D0 002C0430 41 82 00 C0 */ beq lbl_802C4890
+/* 802C47D4 002C0434 57 80 04 A5 */ rlwinm. r0, r28, 0, 0x12, 0x12
+/* 802C47D8 002C0438 40 82 00 0C */ bne lbl_802C47E4
+/* 802C47DC 002C043C 3B E0 03 FD */ li r31, 0x3fd
+/* 802C47E0 002C0440 48 00 00 B0 */ b lbl_802C4890
+lbl_802C47E4:
+/* 802C47E4 002C0444 57 80 04 E7 */ rlwinm. r0, r28, 0, 0x13, 0x13
+/* 802C47E8 002C0448 40 82 00 0C */ bne lbl_802C47F4
+/* 802C47EC 002C044C 3B E0 02 A7 */ li r31, 0x2a7
+/* 802C47F0 002C0450 48 00 00 A0 */ b lbl_802C4890
+lbl_802C47F4:
+/* 802C47F4 002C0454 57 80 05 AD */ rlwinm. r0, r28, 0, 0x16, 0x16
+/* 802C47F8 002C0458 40 82 00 0C */ bne lbl_802C4804
+/* 802C47FC 002C045C 3B E0 02 28 */ li r31, 0x228
+/* 802C4800 002C0460 48 00 00 90 */ b lbl_802C4890
+lbl_802C4804:
+/* 802C4804 002C0464 57 80 04 21 */ rlwinm. r0, r28, 0, 0x10, 0x10
+/* 802C4808 002C0468 41 82 00 0C */ beq lbl_802C4814
+/* 802C480C 002C046C 3B E0 01 53 */ li r31, 0x153
+/* 802C4810 002C0470 48 00 00 80 */ b lbl_802C4890
+lbl_802C4814:
+/* 802C4814 002C0474 57 80 05 EF */ rlwinm. r0, r28, 0, 0x17, 0x17
+/* 802C4818 002C0478 40 82 00 0C */ bne lbl_802C4824
+/* 802C481C 002C047C 3B E0 01 6F */ li r31, 0x16f
+/* 802C4820 002C0480 48 00 00 70 */ b lbl_802C4890
+lbl_802C4824:
+/* 802C4824 002C0484 57 80 04 63 */ rlwinm. r0, r28, 0, 0x11, 0x11
+/* 802C4828 002C0488 41 82 00 0C */ beq lbl_802C4834
+/* 802C482C 002C048C 3B E0 00 E0 */ li r31, 0xe0
+/* 802C4830 002C0490 48 00 00 60 */ b lbl_802C4890
+lbl_802C4834:
+/* 802C4834 002C0494 57 80 05 29 */ rlwinm. r0, r28, 0, 0x14, 0x14
+/* 802C4838 002C0498 41 82 00 0C */ beq lbl_802C4844
+/* 802C483C 002C049C 3B E0 00 B7 */ li r31, 0xb7
+/* 802C4840 002C04A0 48 00 00 50 */ b lbl_802C4890
+lbl_802C4844:
+/* 802C4844 002C04A4 57 80 05 6B */ rlwinm. r0, r28, 0, 0x15, 0x15
+/* 802C4848 002C04A8 41 82 00 0C */ beq lbl_802C4854
+/* 802C484C 002C04AC 3B E0 00 79 */ li r31, 0x79
+/* 802C4850 002C04B0 48 00 00 40 */ b lbl_802C4890
+lbl_802C4854:
+/* 802C4854 002C04B4 57 80 07 7B */ rlwinm. r0, r28, 0, 0x1d, 0x1d
+/* 802C4858 002C04B8 40 82 00 0C */ bne lbl_802C4864
+/* 802C485C 002C04BC 3B E0 00 53 */ li r31, 0x53
+/* 802C4860 002C04C0 48 00 00 30 */ b lbl_802C4890
+lbl_802C4864:
+/* 802C4864 002C04C4 57 80 07 BD */ rlwinm. r0, r28, 0, 0x1e, 0x1e
+/* 802C4868 002C04C8 40 82 00 0C */ bne lbl_802C4874
+/* 802C486C 002C04CC 3B E0 00 36 */ li r31, 0x36
+/* 802C4870 002C04D0 48 00 00 20 */ b lbl_802C4890
+lbl_802C4874:
+/* 802C4874 002C04D4 57 80 06 F7 */ rlwinm. r0, r28, 0, 0x1b, 0x1b
+/* 802C4878 002C04D8 41 82 00 0C */ beq lbl_802C4884
+/* 802C487C 002C04DC 3B E0 00 1B */ li r31, 0x1b
+/* 802C4880 002C04E0 48 00 00 10 */ b lbl_802C4890
+lbl_802C4884:
+/* 802C4884 002C04E4 57 80 07 39 */ rlwinm. r0, r28, 0, 0x1c, 0x1c
+/* 802C4888 002C04E8 41 82 00 08 */ beq lbl_802C4890
+/* 802C488C 002C04EC 3B E0 00 11 */ li r31, 0x11
+lbl_802C4890:
+/* 802C4890 002C04F0 28 1F 03 FD */ cmplwi r31, 0x3fd
+/* 802C4894 002C04F4 40 82 00 1C */ bne lbl_802C48B0
+/* 802C4898 002C04F8 3C 60 80 57 */ lis r3, lbl_80568650@ha
+/* 802C489C 002C04FC 38 63 86 50 */ addi r3, r3, lbl_80568650@l
+/* 802C48A0 002C0500 A0 03 00 7C */ lhz r0, 0x7c(r3)
+/* 802C48A4 002C0504 28 00 03 F9 */ cmplwi r0, 0x3f9
+/* 802C48A8 002C0508 40 82 00 08 */ bne lbl_802C48B0
+/* 802C48AC 002C050C 3B E0 03 F9 */ li r31, 0x3f9
+lbl_802C48B0:
+/* 802C48B0 002C0510 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C48B4 002C0514 7F E3 FB 78 */ mr r3, r31
+/* 802C48B8 002C0518 4B F0 28 BD */ bl _restgpr_27
+/* 802C48BC 002C051C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C48C0 002C0520 7C 08 03 A6 */ mtlr r0
+/* 802C48C4 002C0524 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C48C8 002C0528 4E 80 00 20 */ blr
+
+.global BTM_AclRegisterForChanges
+BTM_AclRegisterForChanges:
+/* 802C48CC 002C052C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C48D0 002C0530 40 82 00 18 */ bne lbl_802C48E8
+/* 802C48D4 002C0534 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C48D8 002C0538 38 00 00 00 */ li r0, 0
+/* 802C48DC 002C053C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C48E0 002C0540 90 03 04 C8 */ stw r0, 0x4c8(r3)
+/* 802C48E4 002C0544 48 00 00 24 */ b lbl_802C4908
+lbl_802C48E8:
+/* 802C48E8 002C0548 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C48EC 002C054C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C48F0 002C0550 80 04 04 C8 */ lwz r0, 0x4c8(r4)
+/* 802C48F4 002C0554 2C 00 00 00 */ cmpwi r0, 0
+/* 802C48F8 002C0558 41 82 00 0C */ beq lbl_802C4904
+/* 802C48FC 002C055C 38 60 00 02 */ li r3, 2
+/* 802C4900 002C0560 4E 80 00 20 */ blr
+lbl_802C4904:
+/* 802C4904 002C0564 90 64 04 C8 */ stw r3, 0x4c8(r4)
+lbl_802C4908:
+/* 802C4908 002C0568 38 60 00 00 */ li r3, 0
+/* 802C490C 002C056C 4E 80 00 20 */ blr
+
+.global btm_qos_setup_complete
+btm_qos_setup_complete:
+/* 802C4910 002C0570 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802C4914 002C0574 7C 08 02 A6 */ mflr r0
+/* 802C4918 002C0578 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802C491C 002C057C 39 61 00 40 */ addi r11, r1, 0x40
+/* 802C4920 002C0580 4B F0 28 09 */ bl _savegpr_27
+/* 802C4924 002C0584 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C4928 002C0588 7C 7B 1B 78 */ mr r27, r3
+/* 802C492C 002C058C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C4930 002C0590 7C 9C 23 78 */ mr r28, r4
+/* 802C4934 002C0594 83 DF 06 18 */ lwz r30, 0x618(r31)
+/* 802C4938 002C0598 7C BD 2B 78 */ mr r29, r5
+/* 802C493C 002C059C 38 7F 06 00 */ addi r3, r31, 0x600
+/* 802C4940 002C05A0 4B FF 8C 0D */ bl btu_stop_timer
+/* 802C4944 002C05A4 38 00 00 00 */ li r0, 0
+/* 802C4948 002C05A8 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C494C 002C05AC 90 1F 06 18 */ stw r0, 0x618(r31)
+/* 802C4950 002C05B0 41 82 00 80 */ beq lbl_802C49D0
+/* 802C4954 002C05B4 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C4958 002C05B8 9B 61 00 22 */ stb r27, 0x22(r1)
+/* 802C495C 002C05BC B3 81 00 20 */ sth r28, 0x20(r1)
+/* 802C4960 002C05C0 41 82 00 34 */ beq lbl_802C4994
+/* 802C4964 002C05C4 88 1D 00 00 */ lbz r0, 0(r29)
+/* 802C4968 002C05C8 98 01 00 08 */ stb r0, 8(r1)
+/* 802C496C 002C05CC 88 1D 00 01 */ lbz r0, 1(r29)
+/* 802C4970 002C05D0 98 01 00 09 */ stb r0, 9(r1)
+/* 802C4974 002C05D4 80 1D 00 04 */ lwz r0, 4(r29)
+/* 802C4978 002C05D8 90 01 00 0C */ stw r0, 0xc(r1)
+/* 802C497C 002C05DC 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 802C4980 002C05E0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C4984 002C05E4 80 1D 00 10 */ lwz r0, 0x10(r29)
+/* 802C4988 002C05E8 90 01 00 18 */ stw r0, 0x18(r1)
+/* 802C498C 002C05EC 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 802C4990 002C05F0 90 01 00 1C */ stw r0, 0x1c(r1)
+lbl_802C4994:
+/* 802C4994 002C05F4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C4998 002C05F8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C499C 002C05FC 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C49A0 002C0600 28 00 00 05 */ cmplwi r0, 5
+/* 802C49A4 002C0604 41 80 00 1C */ blt lbl_802C49C0
+/* 802C49A8 002C0608 3C 60 00 0D */ lis r3, 0x000D0004@ha
+/* 802C49AC 002C060C 3C 80 80 44 */ lis r4, lbl_80440F44@ha
+/* 802C49B0 002C0610 80 BD 00 14 */ lwz r5, 0x14(r29)
+/* 802C49B4 002C0614 38 63 00 04 */ addi r3, r3, 0x000D0004@l
+/* 802C49B8 002C0618 38 84 0F 44 */ addi r4, r4, lbl_80440F44@l
+/* 802C49BC 002C061C 4B FF 85 6D */ bl LogMsg_1
+lbl_802C49C0:
+/* 802C49C0 002C0620 7F CC F3 78 */ mr r12, r30
+/* 802C49C4 002C0624 38 61 00 08 */ addi r3, r1, 8
+/* 802C49C8 002C0628 7D 89 03 A6 */ mtctr r12
+/* 802C49CC 002C062C 4E 80 04 21 */ bctrl
+lbl_802C49D0:
+/* 802C49D0 002C0630 39 61 00 40 */ addi r11, r1, 0x40
+/* 802C49D4 002C0634 4B F0 27 A1 */ bl _restgpr_27
+/* 802C49D8 002C0638 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802C49DC 002C063C 7C 08 03 A6 */ mtlr r0
+/* 802C49E0 002C0640 38 21 00 40 */ addi r1, r1, 0x40
+/* 802C49E4 002C0644 4E 80 00 20 */ blr
+
+.global BTM_ReadRSSI
+BTM_ReadRSSI:
+/* 802C49E8 002C0648 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C49EC 002C064C 7C 08 02 A6 */ mflr r0
+/* 802C49F0 002C0650 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C49F4 002C0654 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C49F8 002C0658 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C49FC 002C065C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C4A00 002C0660 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C4A04 002C0664 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C4A08 002C0668 7C 9D 23 78 */ mr r29, r4
+/* 802C4A0C 002C066C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802C4A10 002C0670 7C 7C 1B 78 */ mr r28, r3
+/* 802C4A14 002C0674 88 05 27 C0 */ lbz r0, 0x27c0(r5)
+/* 802C4A18 002C0678 28 00 00 03 */ cmplwi r0, 3
+/* 802C4A1C 002C067C 41 80 00 30 */ blt lbl_802C4A4C
+/* 802C4A20 002C0680 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C4A24 002C0684 3C 80 80 44 */ lis r4, lbl_80440F6C@ha
+/* 802C4A28 002C0688 88 BC 00 00 */ lbz r5, 0(r28)
+/* 802C4A2C 002C068C 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C4A30 002C0690 88 DC 00 01 */ lbz r6, 1(r28)
+/* 802C4A34 002C0694 38 84 0F 6C */ addi r4, r4, lbl_80440F6C@l
+/* 802C4A38 002C0698 88 FC 00 02 */ lbz r7, 2(r28)
+/* 802C4A3C 002C069C 89 1C 00 03 */ lbz r8, 3(r28)
+/* 802C4A40 002C06A0 89 3C 00 04 */ lbz r9, 4(r28)
+/* 802C4A44 002C06A4 89 5C 00 05 */ lbz r10, 5(r28)
+/* 802C4A48 002C06A8 4B FF 85 59 */ bl LogMsg_6
+lbl_802C4A4C:
+/* 802C4A4C 002C06AC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C4A50 002C06B0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C4A54 002C06B4 80 03 05 E0 */ lwz r0, 0x5e0(r3)
+/* 802C4A58 002C06B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4A5C 002C06BC 41 82 00 0C */ beq lbl_802C4A68
+/* 802C4A60 002C06C0 38 60 00 02 */ li r3, 2
+/* 802C4A64 002C06C4 48 00 00 A0 */ b lbl_802C4B04
+lbl_802C4A68:
+/* 802C4A68 002C06C8 3B C3 00 34 */ addi r30, r3, 0x34
+/* 802C4A6C 002C06CC 3B E0 00 00 */ li r31, 0
+lbl_802C4A70:
+/* 802C4A70 002C06D0 88 1E 01 19 */ lbz r0, 0x119(r30)
+/* 802C4A74 002C06D4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4A78 002C06D8 41 82 00 20 */ beq lbl_802C4A98
+/* 802C4A7C 002C06DC 7F 84 E3 78 */ mr r4, r28
+/* 802C4A80 002C06E0 38 7E 00 08 */ addi r3, r30, 8
+/* 802C4A84 002C06E4 38 A0 00 06 */ li r5, 6
+/* 802C4A88 002C06E8 4B F0 59 11 */ bl memcmp
+/* 802C4A8C 002C06EC 2C 03 00 00 */ cmpwi r3, 0
+/* 802C4A90 002C06F0 40 82 00 08 */ bne lbl_802C4A98
+/* 802C4A94 002C06F4 48 00 00 18 */ b lbl_802C4AAC
+lbl_802C4A98:
+/* 802C4A98 002C06F8 3B FF 00 01 */ addi r31, r31, 1
+/* 802C4A9C 002C06FC 3B DE 01 1C */ addi r30, r30, 0x11c
+/* 802C4AA0 002C0700 28 1F 00 04 */ cmplwi r31, 4
+/* 802C4AA4 002C0704 41 80 FF CC */ blt lbl_802C4A70
+/* 802C4AA8 002C0708 3B C0 00 00 */ li r30, 0
+lbl_802C4AAC:
+/* 802C4AAC 002C070C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C4AB0 002C0710 41 82 00 50 */ beq lbl_802C4B00
+/* 802C4AB4 002C0714 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C4AB8 002C0718 38 80 00 09 */ li r4, 9
+/* 802C4ABC 002C071C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C4AC0 002C0720 38 A0 00 03 */ li r5, 3
+/* 802C4AC4 002C0724 38 7F 05 C8 */ addi r3, r31, 0x5c8
+/* 802C4AC8 002C0728 4B FF 8A 15 */ bl btu_start_timer
+/* 802C4ACC 002C072C 93 BF 05 E0 */ stw r29, 0x5e0(r31)
+/* 802C4AD0 002C0730 A0 7E 00 00 */ lhz r3, 0(r30)
+/* 802C4AD4 002C0734 48 00 D4 15 */ bl func_802D1EE8
+/* 802C4AD8 002C0738 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C4ADC 002C073C 40 82 00 1C */ bne lbl_802C4AF8
+/* 802C4AE0 002C0740 38 00 00 00 */ li r0, 0
+/* 802C4AE4 002C0744 38 7F 05 C8 */ addi r3, r31, 0x5c8
+/* 802C4AE8 002C0748 90 1F 05 E0 */ stw r0, 0x5e0(r31)
+/* 802C4AEC 002C074C 4B FF 8A 61 */ bl btu_stop_timer
+/* 802C4AF0 002C0750 38 60 00 03 */ li r3, 3
+/* 802C4AF4 002C0754 48 00 00 10 */ b lbl_802C4B04
+lbl_802C4AF8:
+/* 802C4AF8 002C0758 38 60 00 01 */ li r3, 1
+/* 802C4AFC 002C075C 48 00 00 08 */ b lbl_802C4B04
+lbl_802C4B00:
+/* 802C4B00 002C0760 38 60 00 07 */ li r3, 7
+lbl_802C4B04:
+/* 802C4B04 002C0764 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C4B08 002C0768 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C4B0C 002C076C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C4B10 002C0770 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C4B14 002C0774 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802C4B18 002C0778 7C 08 03 A6 */ mtlr r0
+/* 802C4B1C 002C077C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C4B20 002C0780 4E 80 00 20 */ blr
+
+.global BTM_ReadLinkQuality
+BTM_ReadLinkQuality:
+/* 802C4B24 002C0784 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C4B28 002C0788 7C 08 02 A6 */ mflr r0
+/* 802C4B2C 002C078C 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C4B30 002C0790 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C4B34 002C0794 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C4B38 002C0798 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C4B3C 002C079C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C4B40 002C07A0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C4B44 002C07A4 7C 9D 23 78 */ mr r29, r4
+/* 802C4B48 002C07A8 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802C4B4C 002C07AC 7C 7C 1B 78 */ mr r28, r3
+/* 802C4B50 002C07B0 88 05 27 C0 */ lbz r0, 0x27c0(r5)
+/* 802C4B54 002C07B4 28 00 00 03 */ cmplwi r0, 3
+/* 802C4B58 002C07B8 41 80 00 30 */ blt lbl_802C4B88
+/* 802C4B5C 002C07BC 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C4B60 002C07C0 3C 80 80 44 */ lis r4, lbl_80440FA0@ha
+/* 802C4B64 002C07C4 88 BC 00 00 */ lbz r5, 0(r28)
+/* 802C4B68 002C07C8 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C4B6C 002C07CC 88 DC 00 01 */ lbz r6, 1(r28)
+/* 802C4B70 002C07D0 38 84 0F A0 */ addi r4, r4, lbl_80440FA0@l
+/* 802C4B74 002C07D4 88 FC 00 02 */ lbz r7, 2(r28)
+/* 802C4B78 002C07D8 89 1C 00 03 */ lbz r8, 3(r28)
+/* 802C4B7C 002C07DC 89 3C 00 04 */ lbz r9, 4(r28)
+/* 802C4B80 002C07E0 89 5C 00 05 */ lbz r10, 5(r28)
+/* 802C4B84 002C07E4 4B FF 84 1D */ bl LogMsg_6
+lbl_802C4B88:
+/* 802C4B88 002C07E8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C4B8C 002C07EC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C4B90 002C07F0 80 03 05 FC */ lwz r0, 0x5fc(r3)
+/* 802C4B94 002C07F4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4B98 002C07F8 41 82 00 0C */ beq lbl_802C4BA4
+/* 802C4B9C 002C07FC 38 60 00 02 */ li r3, 2
+/* 802C4BA0 002C0800 48 00 00 A0 */ b lbl_802C4C40
+lbl_802C4BA4:
+/* 802C4BA4 002C0804 3B C3 00 34 */ addi r30, r3, 0x34
+/* 802C4BA8 002C0808 3B E0 00 00 */ li r31, 0
+lbl_802C4BAC:
+/* 802C4BAC 002C080C 88 1E 01 19 */ lbz r0, 0x119(r30)
+/* 802C4BB0 002C0810 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4BB4 002C0814 41 82 00 20 */ beq lbl_802C4BD4
+/* 802C4BB8 002C0818 7F 84 E3 78 */ mr r4, r28
+/* 802C4BBC 002C081C 38 7E 00 08 */ addi r3, r30, 8
+/* 802C4BC0 002C0820 38 A0 00 06 */ li r5, 6
+/* 802C4BC4 002C0824 4B F0 57 D5 */ bl memcmp
+/* 802C4BC8 002C0828 2C 03 00 00 */ cmpwi r3, 0
+/* 802C4BCC 002C082C 40 82 00 08 */ bne lbl_802C4BD4
+/* 802C4BD0 002C0830 48 00 00 18 */ b lbl_802C4BE8
+lbl_802C4BD4:
+/* 802C4BD4 002C0834 3B FF 00 01 */ addi r31, r31, 1
+/* 802C4BD8 002C0838 3B DE 01 1C */ addi r30, r30, 0x11c
+/* 802C4BDC 002C083C 28 1F 00 04 */ cmplwi r31, 4
+/* 802C4BE0 002C0840 41 80 FF CC */ blt lbl_802C4BAC
+/* 802C4BE4 002C0844 3B C0 00 00 */ li r30, 0
+lbl_802C4BE8:
+/* 802C4BE8 002C0848 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C4BEC 002C084C 41 82 00 50 */ beq lbl_802C4C3C
+/* 802C4BF0 002C0850 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C4BF4 002C0854 38 80 00 09 */ li r4, 9
+/* 802C4BF8 002C0858 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C4BFC 002C085C 38 A0 00 03 */ li r5, 3
+/* 802C4C00 002C0860 38 7F 05 E4 */ addi r3, r31, 0x5e4
+/* 802C4C04 002C0864 4B FF 88 D9 */ bl btu_start_timer
+/* 802C4C08 002C0868 93 BF 05 FC */ stw r29, 0x5fc(r31)
+/* 802C4C0C 002C086C A0 7E 00 00 */ lhz r3, 0(r30)
+/* 802C4C10 002C0870 48 00 D2 5D */ bl func_802D1E6C
+/* 802C4C14 002C0874 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C4C18 002C0878 40 82 00 1C */ bne lbl_802C4C34
+/* 802C4C1C 002C087C 38 7F 05 E4 */ addi r3, r31, 0x5e4
+/* 802C4C20 002C0880 4B FF 89 2D */ bl btu_stop_timer
+/* 802C4C24 002C0884 38 00 00 00 */ li r0, 0
+/* 802C4C28 002C0888 38 60 00 03 */ li r3, 3
+/* 802C4C2C 002C088C 90 1F 05 FC */ stw r0, 0x5fc(r31)
+/* 802C4C30 002C0890 48 00 00 10 */ b lbl_802C4C40
+lbl_802C4C34:
+/* 802C4C34 002C0894 38 60 00 01 */ li r3, 1
+/* 802C4C38 002C0898 48 00 00 08 */ b lbl_802C4C40
+lbl_802C4C3C:
+/* 802C4C3C 002C089C 38 60 00 07 */ li r3, 7
+lbl_802C4C40:
+/* 802C4C40 002C08A0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C4C44 002C08A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C4C48 002C08A8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C4C4C 002C08AC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C4C50 002C08B0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802C4C54 002C08B4 7C 08 03 A6 */ mtlr r0
+/* 802C4C58 002C08B8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C4C5C 002C08BC 4E 80 00 20 */ blr
+
+.global btm_read_rssi_complete
+btm_read_rssi_complete:
+/* 802C4C60 002C08C0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C4C64 002C08C4 7C 08 02 A6 */ mflr r0
+/* 802C4C68 002C08C8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C4C6C 002C08CC 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 802C4C70 002C08D0 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C4C74 002C08D4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C4C78 002C08D8 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 802C4C7C 002C08DC 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 802C4C80 002C08E0 3B BF 00 34 */ addi r29, r31, 0x34
+/* 802C4C84 002C08E4 93 81 00 20 */ stw r28, 0x20(r1)
+/* 802C4C88 002C08E8 7C 7C 1B 78 */ mr r28, r3
+/* 802C4C8C 002C08EC 38 7F 05 C8 */ addi r3, r31, 0x5c8
+/* 802C4C90 002C08F0 83 DF 05 E0 */ lwz r30, 0x5e0(r31)
+/* 802C4C94 002C08F4 4B FF 88 B9 */ bl btu_stop_timer
+/* 802C4C98 002C08F8 38 00 00 00 */ li r0, 0
+/* 802C4C9C 002C08FC 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C4CA0 002C0900 90 1F 05 E0 */ stw r0, 0x5e0(r31)
+/* 802C4CA4 002C0904 41 82 00 B8 */ beq lbl_802C4D5C
+/* 802C4CA8 002C0908 88 DC 00 00 */ lbz r6, 0(r28)
+/* 802C4CAC 002C090C 2C 06 00 00 */ cmpwi r6, 0
+/* 802C4CB0 002C0910 98 C1 00 09 */ stb r6, 9(r1)
+/* 802C4CB4 002C0914 40 82 00 90 */ bne lbl_802C4D44
+/* 802C4CB8 002C0918 98 01 00 08 */ stb r0, 8(r1)
+/* 802C4CBC 002C091C 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C4CC0 002C0920 88 7C 00 02 */ lbz r3, 2(r28)
+/* 802C4CC4 002C0924 88 9C 00 01 */ lbz r4, 1(r28)
+/* 802C4CC8 002C0928 28 00 00 04 */ cmplwi r0, 4
+/* 802C4CCC 002C092C 88 BC 00 03 */ lbz r5, 3(r28)
+/* 802C4CD0 002C0930 54 60 40 2E */ slwi r0, r3, 8
+/* 802C4CD4 002C0934 7C 04 02 14 */ add r0, r4, r0
+/* 802C4CD8 002C0938 98 A1 00 0A */ stb r5, 0xa(r1)
+/* 802C4CDC 002C093C 54 1F 04 3E */ clrlwi r31, r0, 0x10
+/* 802C4CE0 002C0940 41 80 00 1C */ blt lbl_802C4CFC
+/* 802C4CE4 002C0944 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C4CE8 002C0948 3C 80 80 44 */ lis r4, lbl_80440FDC@ha
+/* 802C4CEC 002C094C 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C4CF0 002C0950 7C A5 07 74 */ extsb r5, r5
+/* 802C4CF4 002C0954 38 84 0F DC */ addi r4, r4, lbl_80440FDC@l
+/* 802C4CF8 002C0958 4B FF 82 49 */ bl LogMsg_2
+lbl_802C4CFC:
+/* 802C4CFC 002C095C 38 00 00 04 */ li r0, 4
+/* 802C4D00 002C0960 38 60 00 00 */ li r3, 0
+/* 802C4D04 002C0964 7C 09 03 A6 */ mtctr r0
+lbl_802C4D08:
+/* 802C4D08 002C0968 88 1D 01 19 */ lbz r0, 0x119(r29)
+/* 802C4D0C 002C096C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4D10 002C0970 41 82 00 24 */ beq lbl_802C4D34
+/* 802C4D14 002C0974 A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802C4D18 002C0978 7C 1F 00 40 */ cmplw r31, r0
+/* 802C4D1C 002C097C 40 82 00 18 */ bne lbl_802C4D34
+/* 802C4D20 002C0980 38 61 00 0B */ addi r3, r1, 0xb
+/* 802C4D24 002C0984 38 9D 00 08 */ addi r4, r29, 8
+/* 802C4D28 002C0988 38 A0 00 06 */ li r5, 6
+/* 802C4D2C 002C098C 4B D3 F2 D5 */ bl memcpy
+/* 802C4D30 002C0990 48 00 00 1C */ b lbl_802C4D4C
+lbl_802C4D34:
+/* 802C4D34 002C0994 38 63 00 01 */ addi r3, r3, 1
+/* 802C4D38 002C0998 3B BD 01 1C */ addi r29, r29, 0x11c
+/* 802C4D3C 002C099C 42 00 FF CC */ bdnz lbl_802C4D08
+/* 802C4D40 002C09A0 48 00 00 0C */ b lbl_802C4D4C
+lbl_802C4D44:
+/* 802C4D44 002C09A4 38 00 00 0A */ li r0, 0xa
+/* 802C4D48 002C09A8 98 01 00 08 */ stb r0, 8(r1)
+lbl_802C4D4C:
+/* 802C4D4C 002C09AC 7F CC F3 78 */ mr r12, r30
+/* 802C4D50 002C09B0 38 61 00 08 */ addi r3, r1, 8
+/* 802C4D54 002C09B4 7D 89 03 A6 */ mtctr r12
+/* 802C4D58 002C09B8 4E 80 04 21 */ bctrl
+lbl_802C4D5C:
+/* 802C4D5C 002C09BC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C4D60 002C09C0 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 802C4D64 002C09C4 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 802C4D68 002C09C8 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 802C4D6C 002C09CC 83 81 00 20 */ lwz r28, 0x20(r1)
+/* 802C4D70 002C09D0 7C 08 03 A6 */ mtlr r0
+/* 802C4D74 002C09D4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C4D78 002C09D8 4E 80 00 20 */ blr
+
+.global btm_read_link_quality_complete
+btm_read_link_quality_complete:
+/* 802C4D7C 002C09DC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C4D80 002C09E0 7C 08 02 A6 */ mflr r0
+/* 802C4D84 002C09E4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C4D88 002C09E8 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 802C4D8C 002C09EC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C4D90 002C09F0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C4D94 002C09F4 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 802C4D98 002C09F8 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 802C4D9C 002C09FC 3B BF 00 34 */ addi r29, r31, 0x34
+/* 802C4DA0 002C0A00 93 81 00 20 */ stw r28, 0x20(r1)
+/* 802C4DA4 002C0A04 7C 7C 1B 78 */ mr r28, r3
+/* 802C4DA8 002C0A08 38 7F 05 C8 */ addi r3, r31, 0x5c8
+/* 802C4DAC 002C0A0C 83 DF 05 FC */ lwz r30, 0x5fc(r31)
+/* 802C4DB0 002C0A10 4B FF 87 9D */ bl btu_stop_timer
+/* 802C4DB4 002C0A14 38 00 00 00 */ li r0, 0
+/* 802C4DB8 002C0A18 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C4DBC 002C0A1C 90 1F 05 FC */ stw r0, 0x5fc(r31)
+/* 802C4DC0 002C0A20 41 82 00 B4 */ beq lbl_802C4E74
+/* 802C4DC4 002C0A24 88 DC 00 00 */ lbz r6, 0(r28)
+/* 802C4DC8 002C0A28 2C 06 00 00 */ cmpwi r6, 0
+/* 802C4DCC 002C0A2C 98 C1 00 09 */ stb r6, 9(r1)
+/* 802C4DD0 002C0A30 40 82 00 8C */ bne lbl_802C4E5C
+/* 802C4DD4 002C0A34 98 01 00 08 */ stb r0, 8(r1)
+/* 802C4DD8 002C0A38 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C4DDC 002C0A3C 88 7C 00 02 */ lbz r3, 2(r28)
+/* 802C4DE0 002C0A40 88 9C 00 01 */ lbz r4, 1(r28)
+/* 802C4DE4 002C0A44 28 00 00 04 */ cmplwi r0, 4
+/* 802C4DE8 002C0A48 88 BC 00 03 */ lbz r5, 3(r28)
+/* 802C4DEC 002C0A4C 54 60 40 2E */ slwi r0, r3, 8
+/* 802C4DF0 002C0A50 7C 04 02 14 */ add r0, r4, r0
+/* 802C4DF4 002C0A54 98 A1 00 0A */ stb r5, 0xa(r1)
+/* 802C4DF8 002C0A58 54 1F 04 3E */ clrlwi r31, r0, 0x10
+/* 802C4DFC 002C0A5C 41 80 00 18 */ blt lbl_802C4E14
+/* 802C4E00 002C0A60 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C4E04 002C0A64 3C 80 80 44 */ lis r4, lbl_8044100C@ha
+/* 802C4E08 002C0A68 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C4E0C 002C0A6C 38 84 10 0C */ addi r4, r4, lbl_8044100C@l
+/* 802C4E10 002C0A70 4B FF 81 31 */ bl LogMsg_2
+lbl_802C4E14:
+/* 802C4E14 002C0A74 38 00 00 04 */ li r0, 4
+/* 802C4E18 002C0A78 38 60 00 00 */ li r3, 0
+/* 802C4E1C 002C0A7C 7C 09 03 A6 */ mtctr r0
+lbl_802C4E20:
+/* 802C4E20 002C0A80 88 1D 01 19 */ lbz r0, 0x119(r29)
+/* 802C4E24 002C0A84 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4E28 002C0A88 41 82 00 24 */ beq lbl_802C4E4C
+/* 802C4E2C 002C0A8C A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802C4E30 002C0A90 7C 1F 00 40 */ cmplw r31, r0
+/* 802C4E34 002C0A94 40 82 00 18 */ bne lbl_802C4E4C
+/* 802C4E38 002C0A98 38 61 00 0B */ addi r3, r1, 0xb
+/* 802C4E3C 002C0A9C 38 9D 00 08 */ addi r4, r29, 8
+/* 802C4E40 002C0AA0 38 A0 00 06 */ li r5, 6
+/* 802C4E44 002C0AA4 4B D3 F1 BD */ bl memcpy
+/* 802C4E48 002C0AA8 48 00 00 1C */ b lbl_802C4E64
+lbl_802C4E4C:
+/* 802C4E4C 002C0AAC 38 63 00 01 */ addi r3, r3, 1
+/* 802C4E50 002C0AB0 3B BD 01 1C */ addi r29, r29, 0x11c
+/* 802C4E54 002C0AB4 42 00 FF CC */ bdnz lbl_802C4E20
+/* 802C4E58 002C0AB8 48 00 00 0C */ b lbl_802C4E64
+lbl_802C4E5C:
+/* 802C4E5C 002C0ABC 38 00 00 0A */ li r0, 0xa
+/* 802C4E60 002C0AC0 98 01 00 08 */ stb r0, 8(r1)
+lbl_802C4E64:
+/* 802C4E64 002C0AC4 7F CC F3 78 */ mr r12, r30
+/* 802C4E68 002C0AC8 38 61 00 08 */ addi r3, r1, 8
+/* 802C4E6C 002C0ACC 7D 89 03 A6 */ mtctr r12
+/* 802C4E70 002C0AD0 4E 80 04 21 */ bctrl
+lbl_802C4E74:
+/* 802C4E74 002C0AD4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C4E78 002C0AD8 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 802C4E7C 002C0ADC 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 802C4E80 002C0AE0 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 802C4E84 002C0AE4 83 81 00 20 */ lwz r28, 0x20(r1)
+/* 802C4E88 002C0AE8 7C 08 03 A6 */ mtlr r0
+/* 802C4E8C 002C0AEC 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C4E90 002C0AF0 4E 80 00 20 */ blr
+
+.global btm_remove_acl
+btm_remove_acl:
+/* 802C4E94 002C0AF4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C4E98 002C0AF8 7C 08 02 A6 */ mflr r0
+/* 802C4E9C 002C0AFC 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C4EA0 002C0B00 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C4EA4 002C0B04 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C4EA8 002C0B08 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C4EAC 002C0B0C 3B E0 00 00 */ li r31, 0
+/* 802C4EB0 002C0B10 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C4EB4 002C0B14 3B C4 00 34 */ addi r30, r4, 0x34
+/* 802C4EB8 002C0B18 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C4EBC 002C0B1C 7C 7D 1B 78 */ mr r29, r3
+lbl_802C4EC0:
+/* 802C4EC0 002C0B20 88 1E 01 19 */ lbz r0, 0x119(r30)
+/* 802C4EC4 002C0B24 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4EC8 002C0B28 41 82 00 20 */ beq lbl_802C4EE8
+/* 802C4ECC 002C0B2C 7F A4 EB 78 */ mr r4, r29
+/* 802C4ED0 002C0B30 38 7E 00 08 */ addi r3, r30, 8
+/* 802C4ED4 002C0B34 38 A0 00 06 */ li r5, 6
+/* 802C4ED8 002C0B38 4B F0 54 C1 */ bl memcmp
+/* 802C4EDC 002C0B3C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C4EE0 002C0B40 40 82 00 08 */ bne lbl_802C4EE8
+/* 802C4EE4 002C0B44 48 00 00 18 */ b lbl_802C4EFC
+lbl_802C4EE8:
+/* 802C4EE8 002C0B48 3B FF 00 01 */ addi r31, r31, 1
+/* 802C4EEC 002C0B4C 3B DE 01 1C */ addi r30, r30, 0x11c
+/* 802C4EF0 002C0B50 28 1F 00 04 */ cmplwi r31, 4
+/* 802C4EF4 002C0B54 41 80 FF CC */ blt lbl_802C4EC0
+/* 802C4EF8 002C0B58 3B C0 00 00 */ li r30, 0
+lbl_802C4EFC:
+/* 802C4EFC 002C0B5C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C4F00 002C0B60 41 82 00 0C */ beq lbl_802C4F0C
+/* 802C4F04 002C0B64 A0 7E 00 00 */ lhz r3, 0(r30)
+/* 802C4F08 002C0B68 48 00 00 0C */ b lbl_802C4F14
+lbl_802C4F0C:
+/* 802C4F0C 002C0B6C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802C4F10 002C0B70 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
+lbl_802C4F14:
+/* 802C4F14 002C0B74 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802C4F18 002C0B78 38 80 00 13 */ li r4, 0x13
+/* 802C4F1C 002C0B7C 48 00 B1 75 */ bl func_802D0090
+/* 802C4F20 002C0B80 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C4F24 002C0B84 40 82 00 0C */ bne lbl_802C4F30
+/* 802C4F28 002C0B88 38 60 00 03 */ li r3, 3
+/* 802C4F2C 002C0B8C 48 00 00 08 */ b lbl_802C4F34
+lbl_802C4F30:
+/* 802C4F30 002C0B90 38 60 00 00 */ li r3, 0
+lbl_802C4F34:
+/* 802C4F34 002C0B94 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C4F38 002C0B98 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C4F3C 002C0B9C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C4F40 002C0BA0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C4F44 002C0BA4 7C 08 03 A6 */ mtlr r0
+/* 802C4F48 002C0BA8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C4F4C 002C0BAC 4E 80 00 20 */ blr
+
+.global btm_chg_all_acl_pkt_types
+btm_chg_all_acl_pkt_types:
+/* 802C4F50 002C0BB0 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802C4F54 002C0BB4 7C 08 02 A6 */ mflr r0
+/* 802C4F58 002C0BB8 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802C4F5C 002C0BBC 39 61 00 40 */ addi r11, r1, 0x40
+/* 802C4F60 002C0BC0 4B F0 21 BD */ bl _savegpr_24
+/* 802C4F64 002C0BC4 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C4F68 002C0BC8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C4F6C 002C0BCC 3B E4 8B 78 */ addi r31, r4, lbl_80568B78@l
+/* 802C4F70 002C0BD0 3F C0 80 44 */ lis r30, lbl_80440CC0@ha
+/* 802C4F74 002C0BD4 3B DE 0C C0 */ addi r30, r30, lbl_80440CC0@l
+/* 802C4F78 002C0BD8 3B 9F 00 34 */ addi r28, r31, 0x34
+/* 802C4F7C 002C0BDC 41 82 00 C8 */ beq lbl_802C5044
+/* 802C4F80 002C0BE0 3B A0 00 00 */ li r29, 0
+/* 802C4F84 002C0BE4 3F 40 00 0D */ lis r26, 0xd
+/* 802C4F88 002C0BE8 3B 00 CC F9 */ li r24, -13063
+lbl_802C4F8C:
+/* 802C4F8C 002C0BEC 88 1C 01 19 */ lbz r0, 0x119(r28)
+/* 802C4F90 002C0BF0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C4F94 002C0BF4 41 82 00 9C */ beq lbl_802C5030
+/* 802C4F98 002C0BF8 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C4F9C 002C0BFC 28 00 00 05 */ cmplwi r0, 5
+/* 802C4FA0 002C0C00 41 80 00 14 */ blt lbl_802C4FB4
+/* 802C4FA4 002C0C04 A0 BC 00 00 */ lhz r5, 0(r28)
+/* 802C4FA8 002C0C08 38 7A 00 04 */ addi r3, r26, 4
+/* 802C4FAC 002C0C0C 38 9E 03 8C */ addi r4, r30, 0x38c
+/* 802C4FB0 002C0C10 4B FF 7F 79 */ bl LogMsg_1
+lbl_802C4FB4:
+/* 802C4FB4 002C0C14 A0 1C 00 02 */ lhz r0, 2(r28)
+/* 802C4FB8 002C0C18 38 A0 00 18 */ li r5, 0x18
+/* 802C4FBC 002C0C1C B0 1C 00 04 */ sth r0, 4(r28)
+/* 802C4FC0 002C0C20 88 7F 06 36 */ lbz r3, 0x636(r31)
+/* 802C4FC4 002C0C24 28 03 00 03 */ cmplwi r3, 3
+/* 802C4FC8 002C0C28 41 80 00 0C */ blt lbl_802C4FD4
+/* 802C4FCC 002C0C2C 60 A0 33 00 */ ori r0, r5, 0x3300
+/* 802C4FD0 002C0C30 54 05 04 3E */ clrlwi r5, r0, 0x10
+lbl_802C4FD4:
+/* 802C4FD4 002C0C34 A0 9F 06 54 */ lhz r4, 0x654(r31)
+/* 802C4FD8 002C0C38 28 83 00 03 */ cmplwi cr1, r3, 3
+/* 802C4FDC 002C0C3C 7C A0 20 38 */ and r0, r5, r4
+/* 802C4FE0 002C0C40 70 03 CC 18 */ andi. r3, r0, 0xcc18
+/* 802C4FE4 002C0C44 7C 79 C0 38 */ and r25, r3, r24
+/* 802C4FE8 002C0C48 41 84 00 14 */ blt cr1, lbl_802C4FFC
+/* 802C4FEC 002C0C4C 7C A0 23 78 */ or r0, r5, r4
+/* 802C4FF0 002C0C50 70 00 33 06 */ andi. r0, r0, 0x3306
+/* 802C4FF4 002C0C54 7C 60 03 78 */ or r0, r3, r0
+/* 802C4FF8 002C0C58 54 19 04 3E */ clrlwi r25, r0, 0x10
+lbl_802C4FFC:
+/* 802C4FFC 002C0C5C 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C5000 002C0C60 28 00 00 04 */ cmplwi r0, 4
+/* 802C5004 002C0C64 41 80 00 14 */ blt lbl_802C5018
+/* 802C5008 002C0C68 38 7A 00 03 */ addi r3, r26, 3
+/* 802C500C 002C0C6C 38 9E 00 40 */ addi r4, r30, 0x40
+/* 802C5010 002C0C70 57 25 04 3E */ clrlwi r5, r25, 0x10
+/* 802C5014 002C0C74 4B FF 7F 15 */ bl LogMsg_1
+lbl_802C5018:
+/* 802C5018 002C0C78 A0 7C 00 00 */ lhz r3, 0(r28)
+/* 802C501C 002C0C7C 57 24 04 3E */ clrlwi r4, r25, 0x10
+/* 802C5020 002C0C80 48 00 B7 05 */ bl func_802D0724
+/* 802C5024 002C0C84 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C5028 002C0C88 41 82 00 08 */ beq lbl_802C5030
+/* 802C502C 002C0C8C B3 3C 00 02 */ sth r25, 2(r28)
+lbl_802C5030:
+/* 802C5030 002C0C90 3B BD 00 01 */ addi r29, r29, 1
+/* 802C5034 002C0C94 3B 9C 01 1C */ addi r28, r28, 0x11c
+/* 802C5038 002C0C98 28 1D 00 04 */ cmplwi r29, 4
+/* 802C503C 002C0C9C 41 80 FF 50 */ blt lbl_802C4F8C
+/* 802C5040 002C0CA0 48 00 01 18 */ b lbl_802C5158
+lbl_802C5044:
+/* 802C5044 002C0CA4 3B A0 00 00 */ li r29, 0
+/* 802C5048 002C0CA8 3F 00 00 0D */ lis r24, 0xd
+/* 802C504C 002C0CAC 3B 20 00 00 */ li r25, 0
+/* 802C5050 002C0CB0 3B 60 CC F9 */ li r27, -13063
+lbl_802C5054:
+/* 802C5054 002C0CB4 88 1C 01 19 */ lbz r0, 0x119(r28)
+/* 802C5058 002C0CB8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C505C 002C0CBC 41 82 00 EC */ beq lbl_802C5148
+/* 802C5060 002C0CC0 A0 1C 00 04 */ lhz r0, 4(r28)
+/* 802C5064 002C0CC4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C5068 002C0CC8 41 82 00 E0 */ beq lbl_802C5148
+/* 802C506C 002C0CCC 38 7C 00 08 */ addi r3, r28, 8
+/* 802C5070 002C0CD0 38 81 00 08 */ addi r4, r1, 8
+/* 802C5074 002C0CD4 48 00 40 05 */ bl func_802C9078
+/* 802C5078 002C0CD8 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C507C 002C0CDC 40 82 00 CC */ bne lbl_802C5148
+/* 802C5080 002C0CE0 88 01 00 08 */ lbz r0, 8(r1)
+/* 802C5084 002C0CE4 28 00 00 02 */ cmplwi r0, 2
+/* 802C5088 002C0CE8 40 82 00 38 */ bne lbl_802C50C0
+/* 802C508C 002C0CEC 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C5090 002C0CF0 28 00 00 05 */ cmplwi r0, 5
+/* 802C5094 002C0CF4 41 80 00 14 */ blt lbl_802C50A8
+/* 802C5098 002C0CF8 A0 BC 00 00 */ lhz r5, 0(r28)
+/* 802C509C 002C0CFC 38 78 00 04 */ addi r3, r24, 4
+/* 802C50A0 002C0D00 38 9E 03 BC */ addi r4, r30, 0x3bc
+/* 802C50A4 002C0D04 4B FF 7E 85 */ bl LogMsg_1
+lbl_802C50A8:
+/* 802C50A8 002C0D08 9B 21 00 14 */ stb r25, 0x14(r1)
+/* 802C50AC 002C0D0C 38 9C 00 08 */ addi r4, r28, 8
+/* 802C50B0 002C0D10 38 A1 00 0C */ addi r5, r1, 0xc
+/* 802C50B4 002C0D14 38 60 00 80 */ li r3, 0x80
+/* 802C50B8 002C0D18 48 00 3D F1 */ bl func_802C8EA8
+/* 802C50BC 002C0D1C 48 00 00 8C */ b lbl_802C5148
+lbl_802C50C0:
+/* 802C50C0 002C0D20 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C50C4 002C0D24 28 00 00 05 */ cmplwi r0, 5
+/* 802C50C8 002C0D28 41 80 00 18 */ blt lbl_802C50E0
+/* 802C50CC 002C0D2C A0 BC 00 00 */ lhz r5, 0(r28)
+/* 802C50D0 002C0D30 38 78 00 04 */ addi r3, r24, 4
+/* 802C50D4 002C0D34 A0 DC 00 02 */ lhz r6, 2(r28)
+/* 802C50D8 002C0D38 38 9E 03 EC */ addi r4, r30, 0x3ec
+/* 802C50DC 002C0D3C 4B FF 7E 65 */ bl LogMsg_2
+lbl_802C50E0:
+/* 802C50E0 002C0D40 A0 9C 00 04 */ lhz r4, 4(r28)
+/* 802C50E4 002C0D44 A0 BF 06 54 */ lhz r5, 0x654(r31)
+/* 802C50E8 002C0D48 88 1F 06 36 */ lbz r0, 0x636(r31)
+/* 802C50EC 002C0D4C 7C 83 28 38 */ and r3, r4, r5
+/* 802C50F0 002C0D50 70 63 CC 18 */ andi. r3, r3, 0xcc18
+/* 802C50F4 002C0D54 28 00 00 03 */ cmplwi r0, 3
+/* 802C50F8 002C0D58 7C 7A D8 38 */ and r26, r3, r27
+/* 802C50FC 002C0D5C 41 80 00 14 */ blt lbl_802C5110
+/* 802C5100 002C0D60 7C 80 2B 78 */ or r0, r4, r5
+/* 802C5104 002C0D64 70 00 33 06 */ andi. r0, r0, 0x3306
+/* 802C5108 002C0D68 7C 60 03 78 */ or r0, r3, r0
+/* 802C510C 002C0D6C 54 1A 04 3E */ clrlwi r26, r0, 0x10
+lbl_802C5110:
+/* 802C5110 002C0D70 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C5114 002C0D74 28 00 00 04 */ cmplwi r0, 4
+/* 802C5118 002C0D78 41 80 00 14 */ blt lbl_802C512C
+/* 802C511C 002C0D7C 38 78 00 03 */ addi r3, r24, 3
+/* 802C5120 002C0D80 38 9E 00 40 */ addi r4, r30, 0x40
+/* 802C5124 002C0D84 57 45 04 3E */ clrlwi r5, r26, 0x10
+/* 802C5128 002C0D88 4B FF 7E 01 */ bl LogMsg_1
+lbl_802C512C:
+/* 802C512C 002C0D8C A0 7C 00 00 */ lhz r3, 0(r28)
+/* 802C5130 002C0D90 57 44 04 3E */ clrlwi r4, r26, 0x10
+/* 802C5134 002C0D94 48 00 B5 F1 */ bl func_802D0724
+/* 802C5138 002C0D98 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C513C 002C0D9C 41 82 00 08 */ beq lbl_802C5144
+/* 802C5140 002C0DA0 B3 5C 00 02 */ sth r26, 2(r28)
+lbl_802C5144:
+/* 802C5144 002C0DA4 B3 3C 00 04 */ sth r25, 4(r28)
+lbl_802C5148:
+/* 802C5148 002C0DA8 3B BD 00 01 */ addi r29, r29, 1
+/* 802C514C 002C0DAC 3B 9C 01 1C */ addi r28, r28, 0x11c
+/* 802C5150 002C0DB0 28 1D 00 04 */ cmplwi r29, 4
+/* 802C5154 002C0DB4 41 80 FF 00 */ blt lbl_802C5054
+lbl_802C5158:
+/* 802C5158 002C0DB8 39 61 00 40 */ addi r11, r1, 0x40
+/* 802C515C 002C0DBC 4B F0 20 0D */ bl _restgpr_24
+/* 802C5160 002C0DC0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802C5164 002C0DC4 7C 08 03 A6 */ mtlr r0
+/* 802C5168 002C0DC8 38 21 00 40 */ addi r1, r1, 0x40
+/* 802C516C 002C0DCC 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btm_dev.s b/asm/SDK/BTE/btm_dev.s
new file mode 100644
index 0000000..bb8ab25
--- /dev/null
+++ b/asm/SDK/BTE/btm_dev.s
@@ -0,0 +1,503 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global BTM_SecAddDevice
+BTM_SecAddDevice:
+/* 802C5170 002C0DD0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C5174 002C0DD4 7C 08 02 A6 */ mflr r0
+/* 802C5178 002C0DD8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C517C 002C0DDC 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C5180 002C0DE0 4B F0 1F 9D */ bl _savegpr_24
+/* 802C5184 002C0DE4 3D 20 80 57 */ lis r9, lbl_80568B78@ha
+/* 802C5188 002C0DE8 7C 78 1B 78 */ mr r24, r3
+/* 802C518C 002C0DEC 39 29 8B 78 */ addi r9, r9, lbl_80568B78@l
+/* 802C5190 002C0DF0 7C 99 23 78 */ mr r25, r4
+/* 802C5194 002C0DF4 7C BA 2B 78 */ mr r26, r5
+/* 802C5198 002C0DF8 7C DB 33 78 */ mr r27, r6
+/* 802C519C 002C0DFC 7C FC 3B 78 */ mr r28, r7
+/* 802C51A0 002C0E00 7D 1D 43 78 */ mr r29, r8
+/* 802C51A4 002C0E04 3B C9 1F 30 */ addi r30, r9, 0x1f30
+/* 802C51A8 002C0E08 3B E0 00 00 */ li r31, 0
+lbl_802C51AC:
+/* 802C51AC 002C0E0C 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802C51B0 002C0E10 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C51B4 002C0E14 41 82 00 20 */ beq lbl_802C51D4
+/* 802C51B8 002C0E18 7F 04 C3 78 */ mr r4, r24
+/* 802C51BC 002C0E1C 38 7E 00 1C */ addi r3, r30, 0x1c
+/* 802C51C0 002C0E20 38 A0 00 06 */ li r5, 6
+/* 802C51C4 002C0E24 4B F0 51 D5 */ bl memcmp
+/* 802C51C8 002C0E28 2C 03 00 00 */ cmpwi r3, 0
+/* 802C51CC 002C0E2C 40 82 00 08 */ bne lbl_802C51D4
+/* 802C51D0 002C0E30 48 00 00 18 */ b lbl_802C51E8
+lbl_802C51D4:
+/* 802C51D4 002C0E34 3B FF 00 01 */ addi r31, r31, 1
+/* 802C51D8 002C0E38 3B DE 00 88 */ addi r30, r30, 0x88
+/* 802C51DC 002C0E3C 2C 1F 00 10 */ cmpwi r31, 0x10
+/* 802C51E0 002C0E40 41 80 FF CC */ blt lbl_802C51AC
+/* 802C51E4 002C0E44 3B C0 00 00 */ li r30, 0
+lbl_802C51E8:
+/* 802C51E8 002C0E48 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C51EC 002C0E4C 40 82 00 20 */ bne lbl_802C520C
+/* 802C51F0 002C0E50 7F 03 C3 78 */ mr r3, r24
+/* 802C51F4 002C0E54 48 00 02 51 */ bl btm_sec_alloc_dev
+/* 802C51F8 002C0E58 2C 03 00 00 */ cmpwi r3, 0
+/* 802C51FC 002C0E5C 7C 7E 1B 78 */ mr r30, r3
+/* 802C5200 002C0E60 40 82 00 24 */ bne lbl_802C5224
+/* 802C5204 002C0E64 38 60 00 00 */ li r3, 0
+/* 802C5208 002C0E68 48 00 00 D8 */ b lbl_802C52E0
+lbl_802C520C:
+/* 802C520C 002C0E6C 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C5210 002C0E70 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C5214 002C0E74 80 64 19 74 */ lwz r3, 0x1974(r4)
+/* 802C5218 002C0E78 90 7E 00 0C */ stw r3, 0xc(r30)
+/* 802C521C 002C0E7C 38 03 00 01 */ addi r0, r3, 1
+/* 802C5220 002C0E80 90 04 19 74 */ stw r0, 0x1974(r4)
+lbl_802C5224:
+/* 802C5224 002C0E84 2C 19 00 00 */ cmpwi r25, 0
+/* 802C5228 002C0E88 41 82 00 14 */ beq lbl_802C523C
+/* 802C522C 002C0E8C 7F 24 CB 78 */ mr r4, r25
+/* 802C5230 002C0E90 38 7E 00 22 */ addi r3, r30, 0x22
+/* 802C5234 002C0E94 38 A0 00 03 */ li r5, 3
+/* 802C5238 002C0E98 4B D3 ED C9 */ bl memcpy
+lbl_802C523C:
+/* 802C523C 002C0E9C 38 7E 00 35 */ addi r3, r30, 0x35
+/* 802C5240 002C0EA0 38 80 00 00 */ li r4, 0
+/* 802C5244 002C0EA4 38 A0 00 41 */ li r5, 0x41
+/* 802C5248 002C0EA8 4B D3 EE BD */ bl memset
+/* 802C524C 002C0EAC 2C 1A 00 00 */ cmpwi r26, 0
+/* 802C5250 002C0EB0 41 82 00 2C */ beq lbl_802C527C
+/* 802C5254 002C0EB4 88 1A 00 00 */ lbz r0, 0(r26)
+/* 802C5258 002C0EB8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C525C 002C0EBC 41 82 00 20 */ beq lbl_802C527C
+/* 802C5260 002C0EC0 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802C5264 002C0EC4 7F 44 D3 78 */ mr r4, r26
+/* 802C5268 002C0EC8 38 7E 00 35 */ addi r3, r30, 0x35
+/* 802C526C 002C0ECC 38 A0 00 40 */ li r5, 0x40
+/* 802C5270 002C0ED0 60 00 00 08 */ ori r0, r0, 8
+/* 802C5274 002C0ED4 98 1E 00 76 */ stb r0, 0x76(r30)
+/* 802C5278 002C0ED8 4B F0 91 19 */ bl strncpy
+lbl_802C527C:
+/* 802C527C 002C0EDC 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C5280 002C0EE0 41 82 00 18 */ beq lbl_802C5298
+/* 802C5284 002C0EE4 7F 64 DB 78 */ mr r4, r27
+/* 802C5288 002C0EE8 38 7E 00 77 */ addi r3, r30, 0x77
+/* 802C528C 002C0EEC 38 A0 00 08 */ li r5, 8
+/* 802C5290 002C0EF0 4B D3 ED 71 */ bl memcpy
+/* 802C5294 002C0EF4 48 00 00 14 */ b lbl_802C52A8
+lbl_802C5298:
+/* 802C5298 002C0EF8 38 7E 00 77 */ addi r3, r30, 0x77
+/* 802C529C 002C0EFC 38 80 00 00 */ li r4, 0
+/* 802C52A0 002C0F00 38 A0 00 08 */ li r5, 8
+/* 802C52A4 002C0F04 4B D3 EE 61 */ bl memset
+lbl_802C52A8:
+/* 802C52A8 002C0F08 80 1C 00 00 */ lwz r0, 0(r28)
+/* 802C52AC 002C0F0C 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C52B0 002C0F10 90 1E 00 10 */ stw r0, 0x10(r30)
+/* 802C52B4 002C0F14 80 1C 00 04 */ lwz r0, 4(r28)
+/* 802C52B8 002C0F18 90 1E 00 14 */ stw r0, 0x14(r30)
+/* 802C52BC 002C0F1C 41 82 00 20 */ beq lbl_802C52DC
+/* 802C52C0 002C0F20 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802C52C4 002C0F24 7F A4 EB 78 */ mr r4, r29
+/* 802C52C8 002C0F28 38 7E 00 25 */ addi r3, r30, 0x25
+/* 802C52CC 002C0F2C 38 A0 00 10 */ li r5, 0x10
+/* 802C52D0 002C0F30 60 00 00 10 */ ori r0, r0, 0x10
+/* 802C52D4 002C0F34 98 1E 00 76 */ stb r0, 0x76(r30)
+/* 802C52D8 002C0F38 4B D3 ED 29 */ bl memcpy
+lbl_802C52DC:
+/* 802C52DC 002C0F3C 38 60 00 01 */ li r3, 1
+lbl_802C52E0:
+/* 802C52E0 002C0F40 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C52E4 002C0F44 4B F0 1E 85 */ bl _restgpr_24
+/* 802C52E8 002C0F48 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C52EC 002C0F4C 7C 08 03 A6 */ mtlr r0
+/* 802C52F0 002C0F50 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C52F4 002C0F54 4E 80 00 20 */ blr
+
+.global BTM_SecDeleteDevice
+BTM_SecDeleteDevice:
+/* 802C52F8 002C0F58 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C52FC 002C0F5C 7C 08 02 A6 */ mflr r0
+/* 802C5300 002C0F60 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C5304 002C0F64 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C5308 002C0F68 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C530C 002C0F6C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C5310 002C0F70 3B E0 00 00 */ li r31, 0
+/* 802C5314 002C0F74 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C5318 002C0F78 3B C4 1F 30 */ addi r30, r4, 0x1f30
+/* 802C531C 002C0F7C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C5320 002C0F80 7C 7D 1B 78 */ mr r29, r3
+lbl_802C5324:
+/* 802C5324 002C0F84 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802C5328 002C0F88 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C532C 002C0F8C 41 82 00 20 */ beq lbl_802C534C
+/* 802C5330 002C0F90 7F A4 EB 78 */ mr r4, r29
+/* 802C5334 002C0F94 38 7E 00 1C */ addi r3, r30, 0x1c
+/* 802C5338 002C0F98 38 A0 00 06 */ li r5, 6
+/* 802C533C 002C0F9C 4B F0 50 5D */ bl memcmp
+/* 802C5340 002C0FA0 2C 03 00 00 */ cmpwi r3, 0
+/* 802C5344 002C0FA4 40 82 00 08 */ bne lbl_802C534C
+/* 802C5348 002C0FA8 48 00 00 18 */ b lbl_802C5360
+lbl_802C534C:
+/* 802C534C 002C0FAC 3B FF 00 01 */ addi r31, r31, 1
+/* 802C5350 002C0FB0 3B DE 00 88 */ addi r30, r30, 0x88
+/* 802C5354 002C0FB4 2C 1F 00 10 */ cmpwi r31, 0x10
+/* 802C5358 002C0FB8 41 80 FF CC */ blt lbl_802C5324
+/* 802C535C 002C0FBC 3B C0 00 00 */ li r30, 0
+lbl_802C5360:
+/* 802C5360 002C0FC0 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C5364 002C0FC4 40 82 00 0C */ bne lbl_802C5370
+/* 802C5368 002C0FC8 38 60 00 00 */ li r3, 0
+/* 802C536C 002C0FCC 48 00 00 1C */ b lbl_802C5388
+lbl_802C5370:
+/* 802C5370 002C0FD0 38 00 00 00 */ li r0, 0
+/* 802C5374 002C0FD4 7F A3 EB 78 */ mr r3, r29
+/* 802C5378 002C0FD8 98 1E 00 76 */ stb r0, 0x76(r30)
+/* 802C537C 002C0FDC 38 80 00 00 */ li r4, 0
+/* 802C5380 002C0FE0 48 00 1A 89 */ bl BTM_DeleteStoredLinkKey
+/* 802C5384 002C0FE4 38 60 00 01 */ li r3, 1
+lbl_802C5388:
+/* 802C5388 002C0FE8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C538C 002C0FEC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C5390 002C0FF0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C5394 002C0FF4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C5398 002C0FF8 7C 08 03 A6 */ mtlr r0
+/* 802C539C 002C0FFC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C53A0 002C1000 4E 80 00 20 */ blr
+
+.global BTM_SecReadDevName
+BTM_SecReadDevName:
+/* 802C53A4 002C1004 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C53A8 002C1008 7C 08 02 A6 */ mflr r0
+/* 802C53AC 002C100C 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C53B0 002C1010 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C53B4 002C1014 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C53B8 002C1018 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C53BC 002C101C 3B E0 00 00 */ li r31, 0
+/* 802C53C0 002C1020 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C53C4 002C1024 3B C4 1F 30 */ addi r30, r4, 0x1f30
+/* 802C53C8 002C1028 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C53CC 002C102C 3B A0 00 00 */ li r29, 0
+/* 802C53D0 002C1030 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802C53D4 002C1034 7C 7C 1B 78 */ mr r28, r3
+lbl_802C53D8:
+/* 802C53D8 002C1038 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802C53DC 002C103C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C53E0 002C1040 41 82 00 20 */ beq lbl_802C5400
+/* 802C53E4 002C1044 7F 84 E3 78 */ mr r4, r28
+/* 802C53E8 002C1048 38 7E 00 1C */ addi r3, r30, 0x1c
+/* 802C53EC 002C104C 38 A0 00 06 */ li r5, 6
+/* 802C53F0 002C1050 4B F0 4F A9 */ bl memcmp
+/* 802C53F4 002C1054 2C 03 00 00 */ cmpwi r3, 0
+/* 802C53F8 002C1058 40 82 00 08 */ bne lbl_802C5400
+/* 802C53FC 002C105C 48 00 00 18 */ b lbl_802C5414
+lbl_802C5400:
+/* 802C5400 002C1060 3B FF 00 01 */ addi r31, r31, 1
+/* 802C5404 002C1064 3B DE 00 88 */ addi r30, r30, 0x88
+/* 802C5408 002C1068 2C 1F 00 10 */ cmpwi r31, 0x10
+/* 802C540C 002C106C 41 80 FF CC */ blt lbl_802C53D8
+/* 802C5410 002C1070 3B C0 00 00 */ li r30, 0
+lbl_802C5414:
+/* 802C5414 002C1074 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C5418 002C1078 41 82 00 08 */ beq lbl_802C5420
+/* 802C541C 002C107C 3B BE 00 35 */ addi r29, r30, 0x35
+lbl_802C5420:
+/* 802C5420 002C1080 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C5424 002C1084 7F A3 EB 78 */ mr r3, r29
+/* 802C5428 002C1088 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C542C 002C108C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C5430 002C1090 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802C5434 002C1094 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C5438 002C1098 7C 08 03 A6 */ mtlr r0
+/* 802C543C 002C109C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C5440 002C10A0 4E 80 00 20 */ blr
+
+.global btm_sec_alloc_dev
+btm_sec_alloc_dev:
+/* 802C5444 002C10A4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C5448 002C10A8 7C 08 02 A6 */ mflr r0
+/* 802C544C 002C10AC 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C5450 002C10B0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C5454 002C10B4 38 00 00 10 */ li r0, 0x10
+/* 802C5458 002C10B8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C545C 002C10BC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C5460 002C10C0 3B E0 00 00 */ li r31, 0
+/* 802C5464 002C10C4 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C5468 002C10C8 7C 7E 1B 78 */ mr r30, r3
+/* 802C546C 002C10CC 38 60 00 00 */ li r3, 0
+/* 802C5470 002C10D0 7C 09 03 A6 */ mtctr r0
+lbl_802C5474:
+/* 802C5474 002C10D4 88 04 1F A6 */ lbz r0, 0x1fa6(r4)
+/* 802C5478 002C10D8 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C547C 002C10DC 40 82 00 1C */ bne lbl_802C5498
+/* 802C5480 002C10E0 1C 03 00 88 */ mulli r0, r3, 0x88
+/* 802C5484 002C10E4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C5488 002C10E8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C548C 002C10EC 7C 63 02 14 */ add r3, r3, r0
+/* 802C5490 002C10F0 3B E3 1F 30 */ addi r31, r3, 0x1f30
+/* 802C5494 002C10F4 48 00 00 10 */ b lbl_802C54A4
+lbl_802C5498:
+/* 802C5498 002C10F8 38 84 00 88 */ addi r4, r4, 0x88
+/* 802C549C 002C10FC 38 63 00 01 */ addi r3, r3, 1
+/* 802C54A0 002C1100 42 00 FF D4 */ bdnz lbl_802C5474
+lbl_802C54A4:
+/* 802C54A4 002C1104 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C54A8 002C1108 40 82 00 0C */ bne lbl_802C54B4
+/* 802C54AC 002C110C 48 00 01 F9 */ bl btm_find_oldest_dev
+/* 802C54B0 002C1110 7C 7F 1B 78 */ mr r31, r3
+lbl_802C54B4:
+/* 802C54B4 002C1114 7F E3 FB 78 */ mr r3, r31
+/* 802C54B8 002C1118 38 80 00 00 */ li r4, 0
+/* 802C54BC 002C111C 38 A0 00 88 */ li r5, 0x88
+/* 802C54C0 002C1120 4B D3 EC 45 */ bl memset
+/* 802C54C4 002C1124 38 60 00 80 */ li r3, 0x80
+/* 802C54C8 002C1128 38 00 00 00 */ li r0, 0
+/* 802C54CC 002C112C 98 7F 00 76 */ stb r3, 0x76(r31)
+/* 802C54D0 002C1130 7F C3 F3 78 */ mr r3, r30
+/* 802C54D4 002C1134 98 1F 00 85 */ stb r0, 0x85(r31)
+/* 802C54D8 002C1138 48 00 28 51 */ bl BTM_InqDbRead
+/* 802C54DC 002C113C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C54E0 002C1140 7C 64 1B 78 */ mr r4, r3
+/* 802C54E4 002C1144 41 82 00 18 */ beq lbl_802C54FC
+/* 802C54E8 002C1148 38 7F 00 22 */ addi r3, r31, 0x22
+/* 802C54EC 002C114C 38 84 00 08 */ addi r4, r4, 8
+/* 802C54F0 002C1150 38 A0 00 03 */ li r5, 3
+/* 802C54F4 002C1154 4B D3 EB 0D */ bl memcpy
+/* 802C54F8 002C1158 48 00 00 1C */ b lbl_802C5514
+lbl_802C54FC:
+/* 802C54FC 002C115C 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C5500 002C1160 38 7F 00 22 */ addi r3, r31, 0x22
+/* 802C5504 002C1164 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C5508 002C1168 38 A0 00 03 */ li r5, 3
+/* 802C550C 002C116C 38 84 27 BA */ addi r4, r4, 0x27ba
+/* 802C5510 002C1170 4B D3 EA F1 */ bl memcpy
+lbl_802C5514:
+/* 802C5514 002C1174 7F C4 F3 78 */ mr r4, r30
+/* 802C5518 002C1178 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802C551C 002C117C 38 A0 00 06 */ li r5, 6
+/* 802C5520 002C1180 4B D3 EA E1 */ bl memcpy
+/* 802C5524 002C1184 7F C3 F3 78 */ mr r3, r30
+/* 802C5528 002C1188 4B FF EE 7D */ bl BTM_GetHCIConnHandle
+/* 802C552C 002C118C B0 7F 00 18 */ sth r3, 0x18(r31)
+/* 802C5530 002C1190 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C5534 002C1194 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C5538 002C1198 7F E3 FB 78 */ mr r3, r31
+/* 802C553C 002C119C 80 85 19 74 */ lwz r4, 0x1974(r5)
+/* 802C5540 002C11A0 90 9F 00 0C */ stw r4, 0xc(r31)
+/* 802C5544 002C11A4 38 04 00 01 */ addi r0, r4, 1
+/* 802C5548 002C11A8 90 05 19 74 */ stw r0, 0x1974(r5)
+/* 802C554C 002C11AC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C5550 002C11B0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C5554 002C11B4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C5558 002C11B8 7C 08 03 A6 */ mtlr r0
+/* 802C555C 002C11BC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C5560 002C11C0 4E 80 00 20 */ blr
+
+.global btm_find_dev_by_handle
+btm_find_dev_by_handle:
+/* 802C5564 002C11C4 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C5568 002C11C8 38 00 00 04 */ li r0, 4
+/* 802C556C 002C11CC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C5570 002C11D0 38 A0 00 00 */ li r5, 0
+/* 802C5574 002C11D4 38 84 1F 30 */ addi r4, r4, 0x1f30
+/* 802C5578 002C11D8 7C 09 03 A6 */ mtctr r0
+lbl_802C557C:
+/* 802C557C 002C11DC 88 04 00 76 */ lbz r0, 0x76(r4)
+/* 802C5580 002C11E0 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C5584 002C11E4 41 82 00 18 */ beq lbl_802C559C
+/* 802C5588 002C11E8 A0 04 00 18 */ lhz r0, 0x18(r4)
+/* 802C558C 002C11EC 7C 00 18 40 */ cmplw r0, r3
+/* 802C5590 002C11F0 40 82 00 0C */ bne lbl_802C559C
+/* 802C5594 002C11F4 7C 83 23 78 */ mr r3, r4
+/* 802C5598 002C11F8 4E 80 00 20 */ blr
+lbl_802C559C:
+/* 802C559C 002C11FC 88 04 00 FE */ lbz r0, 0xfe(r4)
+/* 802C55A0 002C1200 38 84 00 88 */ addi r4, r4, 0x88
+/* 802C55A4 002C1204 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C55A8 002C1208 41 82 00 18 */ beq lbl_802C55C0
+/* 802C55AC 002C120C A0 04 00 18 */ lhz r0, 0x18(r4)
+/* 802C55B0 002C1210 7C 00 18 40 */ cmplw r0, r3
+/* 802C55B4 002C1214 40 82 00 0C */ bne lbl_802C55C0
+/* 802C55B8 002C1218 7C 83 23 78 */ mr r3, r4
+/* 802C55BC 002C121C 4E 80 00 20 */ blr
+lbl_802C55C0:
+/* 802C55C0 002C1220 88 04 00 FE */ lbz r0, 0xfe(r4)
+/* 802C55C4 002C1224 38 84 00 88 */ addi r4, r4, 0x88
+/* 802C55C8 002C1228 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C55CC 002C122C 41 82 00 18 */ beq lbl_802C55E4
+/* 802C55D0 002C1230 A0 04 00 18 */ lhz r0, 0x18(r4)
+/* 802C55D4 002C1234 7C 00 18 40 */ cmplw r0, r3
+/* 802C55D8 002C1238 40 82 00 0C */ bne lbl_802C55E4
+/* 802C55DC 002C123C 7C 83 23 78 */ mr r3, r4
+/* 802C55E0 002C1240 4E 80 00 20 */ blr
+lbl_802C55E4:
+/* 802C55E4 002C1244 88 04 00 FE */ lbz r0, 0xfe(r4)
+/* 802C55E8 002C1248 38 84 00 88 */ addi r4, r4, 0x88
+/* 802C55EC 002C124C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C55F0 002C1250 41 82 00 18 */ beq lbl_802C5608
+/* 802C55F4 002C1254 A0 04 00 18 */ lhz r0, 0x18(r4)
+/* 802C55F8 002C1258 7C 00 18 40 */ cmplw r0, r3
+/* 802C55FC 002C125C 40 82 00 0C */ bne lbl_802C5608
+/* 802C5600 002C1260 7C 83 23 78 */ mr r3, r4
+/* 802C5604 002C1264 4E 80 00 20 */ blr
+lbl_802C5608:
+/* 802C5608 002C1268 38 A5 00 03 */ addi r5, r5, 3
+/* 802C560C 002C126C 38 84 00 88 */ addi r4, r4, 0x88
+/* 802C5610 002C1270 42 00 FF 6C */ bdnz lbl_802C557C
+/* 802C5614 002C1274 38 60 00 00 */ li r3, 0
+/* 802C5618 002C1278 4E 80 00 20 */ blr
+
+.global btm_find_dev
+btm_find_dev:
+/* 802C561C 002C127C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C5620 002C1280 7C 08 02 A6 */ mflr r0
+/* 802C5624 002C1284 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C5628 002C1288 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C562C 002C128C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C5630 002C1290 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C5634 002C1294 3B E4 1F 30 */ addi r31, r4, 0x1f30
+/* 802C5638 002C1298 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C563C 002C129C 3B C0 00 00 */ li r30, 0
+/* 802C5640 002C12A0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C5644 002C12A4 7C 7D 1B 78 */ mr r29, r3
+lbl_802C5648:
+/* 802C5648 002C12A8 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802C564C 002C12AC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C5650 002C12B0 41 82 00 24 */ beq lbl_802C5674
+/* 802C5654 002C12B4 7F A4 EB 78 */ mr r4, r29
+/* 802C5658 002C12B8 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802C565C 002C12BC 38 A0 00 06 */ li r5, 6
+/* 802C5660 002C12C0 4B F0 4D 39 */ bl memcmp
+/* 802C5664 002C12C4 2C 03 00 00 */ cmpwi r3, 0
+/* 802C5668 002C12C8 40 82 00 0C */ bne lbl_802C5674
+/* 802C566C 002C12CC 7F E3 FB 78 */ mr r3, r31
+/* 802C5670 002C12D0 48 00 00 18 */ b lbl_802C5688
+lbl_802C5674:
+/* 802C5674 002C12D4 3B DE 00 01 */ addi r30, r30, 1
+/* 802C5678 002C12D8 3B FF 00 88 */ addi r31, r31, 0x88
+/* 802C567C 002C12DC 2C 1E 00 10 */ cmpwi r30, 0x10
+/* 802C5680 002C12E0 41 80 FF C8 */ blt lbl_802C5648
+/* 802C5684 002C12E4 38 60 00 00 */ li r3, 0
+lbl_802C5688:
+/* 802C5688 002C12E8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C568C 002C12EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C5690 002C12F0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C5694 002C12F4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C5698 002C12F8 7C 08 03 A6 */ mtlr r0
+/* 802C569C 002C12FC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C56A0 002C1300 4E 80 00 20 */ blr
+
+.global btm_find_oldest_dev
+btm_find_oldest_dev:
+/* 802C56A4 002C1304 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C56A8 002C1308 38 00 00 04 */ li r0, 4
+/* 802C56AC 002C130C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C56B0 002C1310 38 C0 FF FF */ li r6, -1
+/* 802C56B4 002C1314 38 A3 1F 30 */ addi r5, r3, 0x1f30
+/* 802C56B8 002C1318 38 E0 00 00 */ li r7, 0
+/* 802C56BC 002C131C 7C A3 2B 78 */ mr r3, r5
+/* 802C56C0 002C1320 7C 09 03 A6 */ mtctr r0
+lbl_802C56C4:
+/* 802C56C4 002C1324 88 85 00 76 */ lbz r4, 0x76(r5)
+/* 802C56C8 002C1328 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
+/* 802C56CC 002C132C 41 82 00 20 */ beq lbl_802C56EC
+/* 802C56D0 002C1330 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
+/* 802C56D4 002C1334 40 82 00 18 */ bne lbl_802C56EC
+/* 802C56D8 002C1338 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 802C56DC 002C133C 7C 00 30 40 */ cmplw r0, r6
+/* 802C56E0 002C1340 40 80 00 0C */ bge lbl_802C56EC
+/* 802C56E4 002C1344 7C A3 2B 78 */ mr r3, r5
+/* 802C56E8 002C1348 7C 06 03 78 */ mr r6, r0
+lbl_802C56EC:
+/* 802C56EC 002C134C 88 85 00 FE */ lbz r4, 0xfe(r5)
+/* 802C56F0 002C1350 38 A5 00 88 */ addi r5, r5, 0x88
+/* 802C56F4 002C1354 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
+/* 802C56F8 002C1358 41 82 00 20 */ beq lbl_802C5718
+/* 802C56FC 002C135C 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
+/* 802C5700 002C1360 40 82 00 18 */ bne lbl_802C5718
+/* 802C5704 002C1364 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 802C5708 002C1368 7C 00 30 40 */ cmplw r0, r6
+/* 802C570C 002C136C 40 80 00 0C */ bge lbl_802C5718
+/* 802C5710 002C1370 7C A3 2B 78 */ mr r3, r5
+/* 802C5714 002C1374 7C 06 03 78 */ mr r6, r0
+lbl_802C5718:
+/* 802C5718 002C1378 88 85 00 FE */ lbz r4, 0xfe(r5)
+/* 802C571C 002C137C 38 A5 00 88 */ addi r5, r5, 0x88
+/* 802C5720 002C1380 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
+/* 802C5724 002C1384 41 82 00 20 */ beq lbl_802C5744
+/* 802C5728 002C1388 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
+/* 802C572C 002C138C 40 82 00 18 */ bne lbl_802C5744
+/* 802C5730 002C1390 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 802C5734 002C1394 7C 00 30 40 */ cmplw r0, r6
+/* 802C5738 002C1398 40 80 00 0C */ bge lbl_802C5744
+/* 802C573C 002C139C 7C A3 2B 78 */ mr r3, r5
+/* 802C5740 002C13A0 7C 06 03 78 */ mr r6, r0
+lbl_802C5744:
+/* 802C5744 002C13A4 88 85 00 FE */ lbz r4, 0xfe(r5)
+/* 802C5748 002C13A8 38 A5 00 88 */ addi r5, r5, 0x88
+/* 802C574C 002C13AC 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
+/* 802C5750 002C13B0 41 82 00 20 */ beq lbl_802C5770
+/* 802C5754 002C13B4 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
+/* 802C5758 002C13B8 40 82 00 18 */ bne lbl_802C5770
+/* 802C575C 002C13BC 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 802C5760 002C13C0 7C 00 30 40 */ cmplw r0, r6
+/* 802C5764 002C13C4 40 80 00 0C */ bge lbl_802C5770
+/* 802C5768 002C13C8 7C A3 2B 78 */ mr r3, r5
+/* 802C576C 002C13CC 7C 06 03 78 */ mr r6, r0
+lbl_802C5770:
+/* 802C5770 002C13D0 38 E7 00 03 */ addi r7, r7, 3
+/* 802C5774 002C13D4 38 A5 00 88 */ addi r5, r5, 0x88
+/* 802C5778 002C13D8 42 00 FF 4C */ bdnz lbl_802C56C4
+/* 802C577C 002C13DC 3C 06 00 01 */ addis r0, r6, 1
+/* 802C5780 002C13E0 28 00 FF FF */ cmplwi r0, 0xffff
+/* 802C5784 002C13E4 4C 82 00 20 */ bnelr
+/* 802C5788 002C13E8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C578C 002C13EC 38 00 00 04 */ li r0, 4
+/* 802C5790 002C13F0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C5794 002C13F4 38 A0 00 00 */ li r5, 0
+/* 802C5798 002C13F8 38 84 1F 30 */ addi r4, r4, 0x1f30
+/* 802C579C 002C13FC 7C 09 03 A6 */ mtctr r0
+lbl_802C57A0:
+/* 802C57A0 002C1400 88 04 00 76 */ lbz r0, 0x76(r4)
+/* 802C57A4 002C1404 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C57A8 002C1408 41 82 00 18 */ beq lbl_802C57C0
+/* 802C57AC 002C140C 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802C57B0 002C1410 7C 00 30 40 */ cmplw r0, r6
+/* 802C57B4 002C1414 40 80 00 0C */ bge lbl_802C57C0
+/* 802C57B8 002C1418 7C 83 23 78 */ mr r3, r4
+/* 802C57BC 002C141C 7C 06 03 78 */ mr r6, r0
+lbl_802C57C0:
+/* 802C57C0 002C1420 88 04 00 FE */ lbz r0, 0xfe(r4)
+/* 802C57C4 002C1424 38 84 00 88 */ addi r4, r4, 0x88
+/* 802C57C8 002C1428 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C57CC 002C142C 41 82 00 18 */ beq lbl_802C57E4
+/* 802C57D0 002C1430 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802C57D4 002C1434 7C 00 30 40 */ cmplw r0, r6
+/* 802C57D8 002C1438 40 80 00 0C */ bge lbl_802C57E4
+/* 802C57DC 002C143C 7C 83 23 78 */ mr r3, r4
+/* 802C57E0 002C1440 7C 06 03 78 */ mr r6, r0
+lbl_802C57E4:
+/* 802C57E4 002C1444 88 04 00 FE */ lbz r0, 0xfe(r4)
+/* 802C57E8 002C1448 38 84 00 88 */ addi r4, r4, 0x88
+/* 802C57EC 002C144C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C57F0 002C1450 41 82 00 18 */ beq lbl_802C5808
+/* 802C57F4 002C1454 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802C57F8 002C1458 7C 00 30 40 */ cmplw r0, r6
+/* 802C57FC 002C145C 40 80 00 0C */ bge lbl_802C5808
+/* 802C5800 002C1460 7C 83 23 78 */ mr r3, r4
+/* 802C5804 002C1464 7C 06 03 78 */ mr r6, r0
+lbl_802C5808:
+/* 802C5808 002C1468 88 04 00 FE */ lbz r0, 0xfe(r4)
+/* 802C580C 002C146C 38 84 00 88 */ addi r4, r4, 0x88
+/* 802C5810 002C1470 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C5814 002C1474 41 82 00 18 */ beq lbl_802C582C
+/* 802C5818 002C1478 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802C581C 002C147C 7C 00 30 40 */ cmplw r0, r6
+/* 802C5820 002C1480 40 80 00 0C */ bge lbl_802C582C
+/* 802C5824 002C1484 7C 83 23 78 */ mr r3, r4
+/* 802C5828 002C1488 7C 06 03 78 */ mr r6, r0
+lbl_802C582C:
+/* 802C582C 002C148C 38 A5 00 03 */ addi r5, r5, 3
+/* 802C5830 002C1490 38 84 00 88 */ addi r4, r4, 0x88
+/* 802C5834 002C1494 42 00 FF 6C */ bdnz lbl_802C57A0
+/* 802C5838 002C1498 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btm_devctl.s b/asm/SDK/BTE/btm_devctl.s
new file mode 100644
index 0000000..f76555a
--- /dev/null
+++ b/asm/SDK/BTE/btm_devctl.s
@@ -0,0 +1,1859 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global btm_dev_init
+btm_dev_init:
+/* 802C583C 002C149C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C5840 002C14A0 7C 08 02 A6 */ mflr r0
+/* 802C5844 002C14A4 38 8D 8A 38 */ addi r4, r13, lbl_8063DCF8-_SDA_BASE_
+/* 802C5848 002C14A8 38 A0 00 03 */ li r5, 3
+/* 802C584C 002C14AC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C5850 002C14B0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C5854 002C14B4 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C5858 002C14B8 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C585C 002C14BC 38 7F 06 48 */ addi r3, r31, 0x648
+/* 802C5860 002C14C0 4B D3 E7 A1 */ bl memcpy
+/* 802C5864 002C14C4 3C 60 00 01 */ lis r3, 0x0000CC18@ha
+/* 802C5868 002C14C8 38 E0 00 FF */ li r7, 0xff
+/* 802C586C 002C14CC 39 23 CC 18 */ addi r9, r3, 0x0000CC18@l
+/* 802C5870 002C14D0 39 80 00 01 */ li r12, 1
+/* 802C5874 002C14D4 38 60 14 00 */ li r3, 0x1400
+/* 802C5878 002C14D8 39 60 00 02 */ li r11, 2
+/* 802C587C 002C14DC 39 40 00 04 */ li r10, 4
+/* 802C5880 002C14E0 39 00 00 3F */ li r8, 0x3f
+/* 802C5884 002C14E4 38 C0 00 00 */ li r6, 0
+/* 802C5888 002C14E8 38 00 00 05 */ li r0, 5
+/* 802C588C 002C14EC B0 7F 06 4C */ sth r3, 0x64c(r31)
+/* 802C5890 002C14F0 38 7F 05 74 */ addi r3, r31, 0x574
+/* 802C5894 002C14F4 38 80 00 01 */ li r4, 1
+/* 802C5898 002C14F8 38 A0 00 04 */ li r5, 4
+/* 802C589C 002C14FC 91 9F 05 84 */ stw r12, 0x584(r31)
+/* 802C58A0 002C1500 91 7F 05 A0 */ stw r11, 0x5a0(r31)
+/* 802C58A4 002C1504 91 5F 05 BC */ stw r10, 0x5bc(r31)
+/* 802C58A8 002C1508 B1 3F 06 54 */ sth r9, 0x654(r31)
+/* 802C58AC 002C150C B1 1F 06 56 */ sth r8, 0x656(r31)
+/* 802C58B0 002C1510 98 FF 27 BD */ stb r7, 0x27bd(r31)
+/* 802C58B4 002C1514 98 FF 27 BE */ stb r7, 0x27be(r31)
+/* 802C58B8 002C1518 98 DF 06 4E */ stb r6, 0x64e(r31)
+/* 802C58BC 002C151C 98 1F 06 4F */ stb r0, 0x64f(r31)
+/* 802C58C0 002C1520 4B FF 7C 1D */ bl btu_start_timer
+/* 802C58C4 002C1524 48 00 B9 A9 */ bl func_802D126C
+/* 802C58C8 002C1528 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C58CC 002C152C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C58D0 002C1530 7C 08 03 A6 */ mtlr r0
+/* 802C58D4 002C1534 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C58D8 002C1538 4E 80 00 20 */ blr
+
+.global btm_db_reset
+btm_db_reset:
+/* 802C58DC 002C153C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C58E0 002C1540 7C 08 02 A6 */ mflr r0
+/* 802C58E4 002C1544 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C58E8 002C1548 38 00 00 0C */ li r0, 0xc
+/* 802C58EC 002C154C 98 01 00 08 */ stb r0, 8(r1)
+/* 802C58F0 002C1550 48 00 27 BD */ bl btm_inq_db_reset
+/* 802C58F4 002C1554 48 00 19 49 */ bl btm_discovery_db_reset
+/* 802C58F8 002C1558 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C58FC 002C155C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C5900 002C1560 81 83 05 A8 */ lwz r12, 0x5a8(r3)
+/* 802C5904 002C1564 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C5908 002C1568 41 82 00 1C */ beq lbl_802C5924
+/* 802C590C 002C156C 38 00 00 00 */ li r0, 0
+/* 802C5910 002C1570 90 03 05 A8 */ stw r0, 0x5a8(r3)
+/* 802C5914 002C1574 41 82 00 10 */ beq lbl_802C5924
+/* 802C5918 002C1578 38 60 00 00 */ li r3, 0
+/* 802C591C 002C157C 7D 89 03 A6 */ mtctr r12
+/* 802C5920 002C1580 4E 80 04 21 */ bctrl
+lbl_802C5924:
+/* 802C5924 002C1584 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C5928 002C1588 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C592C 002C158C 81 83 05 C4 */ lwz r12, 0x5c4(r3)
+/* 802C5930 002C1590 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C5934 002C1594 41 82 00 1C */ beq lbl_802C5950
+/* 802C5938 002C1598 38 00 00 00 */ li r0, 0
+/* 802C593C 002C159C 90 03 05 C4 */ stw r0, 0x5c4(r3)
+/* 802C5940 002C15A0 41 82 00 10 */ beq lbl_802C5950
+/* 802C5944 002C15A4 38 61 00 08 */ addi r3, r1, 8
+/* 802C5948 002C15A8 7D 89 03 A6 */ mtctr r12
+/* 802C594C 002C15AC 4E 80 04 21 */ bctrl
+lbl_802C5950:
+/* 802C5950 002C15B0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C5954 002C15B4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C5958 002C15B8 81 83 05 E0 */ lwz r12, 0x5e0(r3)
+/* 802C595C 002C15BC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C5960 002C15C0 41 82 00 1C */ beq lbl_802C597C
+/* 802C5964 002C15C4 38 00 00 00 */ li r0, 0
+/* 802C5968 002C15C8 90 03 05 E0 */ stw r0, 0x5e0(r3)
+/* 802C596C 002C15CC 41 82 00 10 */ beq lbl_802C597C
+/* 802C5970 002C15D0 38 61 00 08 */ addi r3, r1, 8
+/* 802C5974 002C15D4 7D 89 03 A6 */ mtctr r12
+/* 802C5978 002C15D8 4E 80 04 21 */ bctrl
+lbl_802C597C:
+/* 802C597C 002C15DC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C5980 002C15E0 7C 08 03 A6 */ mtlr r0
+/* 802C5984 002C15E4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C5988 002C15E8 4E 80 00 20 */ blr
+
+.global BTM_DeviceReset
+BTM_DeviceReset:
+/* 802C598C 002C15EC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C5990 002C15F0 7C 08 02 A6 */ mflr r0
+/* 802C5994 002C15F4 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C5998 002C15F8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C599C 002C15FC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C59A0 002C1600 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C59A4 002C1604 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C59A8 002C1608 7C 7E 1B 78 */ mr r30, r3
+/* 802C59AC 002C160C 80 04 05 8C */ lwz r0, 0x58c(r4)
+/* 802C59B0 002C1610 2C 00 00 00 */ cmpwi r0, 0
+/* 802C59B4 002C1614 41 82 00 0C */ beq lbl_802C59C0
+/* 802C59B8 002C1618 7C 00 18 40 */ cmplw r0, r3
+/* 802C59BC 002C161C 40 82 00 54 */ bne lbl_802C5A10
+lbl_802C59C0:
+/* 802C59C0 002C1620 4B FF DE E5 */ bl btm_acl_device_down
+/* 802C59C4 002C1624 4B FF FF 19 */ bl btm_db_reset
+/* 802C59C8 002C1628 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C59CC 002C162C 38 C0 00 00 */ li r6, 0
+/* 802C59D0 002C1630 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C59D4 002C1634 38 00 00 05 */ li r0, 5
+/* 802C59D8 002C1638 93 DF 05 8C */ stw r30, 0x58c(r31)
+/* 802C59DC 002C163C 38 7F 05 74 */ addi r3, r31, 0x574
+/* 802C59E0 002C1640 38 80 00 01 */ li r4, 1
+/* 802C59E4 002C1644 38 A0 00 04 */ li r5, 4
+/* 802C59E8 002C1648 98 DF 06 4E */ stb r6, 0x64e(r31)
+/* 802C59EC 002C164C 98 1F 06 4F */ stb r0, 0x64f(r31)
+/* 802C59F0 002C1650 4B FF 7A ED */ bl btu_start_timer
+/* 802C59F4 002C1654 48 00 B8 79 */ bl func_802D126C
+/* 802C59F8 002C1658 81 9F 05 68 */ lwz r12, 0x568(r31)
+/* 802C59FC 002C165C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C5A00 002C1660 41 82 00 10 */ beq lbl_802C5A10
+/* 802C5A04 002C1664 38 60 00 01 */ li r3, 1
+/* 802C5A08 002C1668 7D 89 03 A6 */ mtctr r12
+/* 802C5A0C 002C166C 4E 80 04 21 */ bctrl
+lbl_802C5A10:
+/* 802C5A10 002C1670 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C5A14 002C1674 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C5A18 002C1678 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C5A1C 002C167C 7C 08 03 A6 */ mtlr r0
+/* 802C5A20 002C1680 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C5A24 002C1684 4E 80 00 20 */ blr
+
+.global BTM_SendHciReset
+BTM_SendHciReset:
+/* 802C5A28 002C1688 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C5A2C 002C168C 7C 08 02 A6 */ mflr r0
+/* 802C5A30 002C1690 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C5A34 002C1694 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C5A38 002C1698 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C5A3C 002C169C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C5A40 002C16A0 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C5A44 002C16A4 7C 7E 1B 78 */ mr r30, r3
+/* 802C5A48 002C16A8 80 04 05 8C */ lwz r0, 0x58c(r4)
+/* 802C5A4C 002C16AC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C5A50 002C16B0 41 82 00 18 */ beq lbl_802C5A68
+/* 802C5A54 002C16B4 7C 00 18 40 */ cmplw r0, r3
+/* 802C5A58 002C16B8 41 82 00 10 */ beq lbl_802C5A68
+/* 802C5A5C 002C16BC 80 04 06 20 */ lwz r0, 0x620(r4)
+/* 802C5A60 002C16C0 7C 00 18 40 */ cmplw r0, r3
+/* 802C5A64 002C16C4 40 82 00 54 */ bne lbl_802C5AB8
+lbl_802C5A68:
+/* 802C5A68 002C16C8 4B FF DE 3D */ bl btm_acl_device_down
+/* 802C5A6C 002C16CC 4B FF FE 71 */ bl btm_db_reset
+/* 802C5A70 002C16D0 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C5A74 002C16D4 38 C0 00 00 */ li r6, 0
+/* 802C5A78 002C16D8 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C5A7C 002C16DC 38 00 00 05 */ li r0, 5
+/* 802C5A80 002C16E0 93 DF 06 20 */ stw r30, 0x620(r31)
+/* 802C5A84 002C16E4 38 7F 05 74 */ addi r3, r31, 0x574
+/* 802C5A88 002C16E8 38 80 00 01 */ li r4, 1
+/* 802C5A8C 002C16EC 38 A0 00 04 */ li r5, 4
+/* 802C5A90 002C16F0 98 DF 06 4E */ stb r6, 0x64e(r31)
+/* 802C5A94 002C16F4 98 1F 06 4F */ stb r0, 0x64f(r31)
+/* 802C5A98 002C16F8 4B FF 7A 45 */ bl btu_start_timer
+/* 802C5A9C 002C16FC 48 00 B7 D1 */ bl func_802D126C
+/* 802C5AA0 002C1700 81 9F 05 68 */ lwz r12, 0x568(r31)
+/* 802C5AA4 002C1704 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C5AA8 002C1708 41 82 00 10 */ beq lbl_802C5AB8
+/* 802C5AAC 002C170C 38 60 00 01 */ li r3, 1
+/* 802C5AB0 002C1710 7D 89 03 A6 */ mtctr r12
+/* 802C5AB4 002C1714 4E 80 04 21 */ bctrl
+lbl_802C5AB8:
+/* 802C5AB8 002C1718 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C5ABC 002C171C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C5AC0 002C1720 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C5AC4 002C1724 7C 08 03 A6 */ mtlr r0
+/* 802C5AC8 002C1728 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C5ACC 002C172C 4E 80 00 20 */ blr
+
+.global BTM_IsDeviceUp
+BTM_IsDeviceUp:
+/* 802C5AD0 002C1730 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C5AD4 002C1734 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C5AD8 002C1738 88 63 06 4E */ lbz r3, 0x64e(r3)
+/* 802C5ADC 002C173C 38 03 FF FB */ addi r0, r3, -5
+/* 802C5AE0 002C1740 7C 00 00 34 */ cntlzw r0, r0
+/* 802C5AE4 002C1744 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802C5AE8 002C1748 4E 80 00 20 */ blr
+
+.global BTM_SetAfhChannels
+BTM_SetAfhChannels:
+/* 802C5AEC 002C174C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C5AF0 002C1750 7C 08 02 A6 */ mflr r0
+/* 802C5AF4 002C1754 3C E0 80 57 */ lis r7, lbl_80568B78@ha
+/* 802C5AF8 002C1758 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C5AFC 002C175C 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l
+/* 802C5B00 002C1760 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C5B04 002C1764 7C 9F 23 78 */ mr r31, r4
+/* 802C5B08 002C1768 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C5B0C 002C176C 7C 7E 1B 78 */ mr r30, r3
+/* 802C5B10 002C1770 88 07 27 C0 */ lbz r0, 0x27c0(r7)
+/* 802C5B14 002C1774 28 00 00 03 */ cmplwi r0, 3
+/* 802C5B18 002C1778 41 80 00 28 */ blt lbl_802C5B40
+/* 802C5B1C 002C177C 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C5B20 002C1780 3C 80 80 44 */ lis r4, lbl_804410E0@ha
+/* 802C5B24 002C1784 88 C7 27 BD */ lbz r6, 0x27bd(r7)
+/* 802C5B28 002C1788 7F C5 F3 78 */ mr r5, r30
+/* 802C5B2C 002C178C 89 07 27 BE */ lbz r8, 0x27be(r7)
+/* 802C5B30 002C1790 7F E7 FB 78 */ mr r7, r31
+/* 802C5B34 002C1794 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C5B38 002C1798 38 84 10 E0 */ addi r4, r4, lbl_804410E0@l
+/* 802C5B3C 002C179C 4B FF 74 35 */ bl LogMsg_4
+lbl_802C5B40:
+/* 802C5B40 002C17A0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C5B44 002C17A4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C5B48 002C17A8 88 83 06 45 */ lbz r4, 0x645(r3)
+/* 802C5B4C 002C17AC 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c
+/* 802C5B50 002C17B0 40 82 00 20 */ bne lbl_802C5B70
+/* 802C5B54 002C17B4 88 03 06 44 */ lbz r0, 0x644(r3)
+/* 802C5B58 002C17B8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 802C5B5C 002C17BC 40 82 00 14 */ bne lbl_802C5B70
+/* 802C5B60 002C17C0 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
+/* 802C5B64 002C17C4 40 82 00 0C */ bne lbl_802C5B70
+/* 802C5B68 002C17C8 38 60 00 04 */ li r3, 4
+/* 802C5B6C 002C17CC 48 00 00 58 */ b lbl_802C5BC4
+lbl_802C5B70:
+/* 802C5B70 002C17D0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C5B74 002C17D4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C5B78 002C17D8 88 03 27 BD */ lbz r0, 0x27bd(r3)
+/* 802C5B7C 002C17DC 7C 00 F0 40 */ cmplw r0, r30
+/* 802C5B80 002C17E0 40 82 00 10 */ bne lbl_802C5B90
+/* 802C5B84 002C17E4 88 03 27 BE */ lbz r0, 0x27be(r3)
+/* 802C5B88 002C17E8 7C 00 F8 40 */ cmplw r0, r31
+/* 802C5B8C 002C17EC 41 82 00 34 */ beq lbl_802C5BC0
+lbl_802C5B90:
+/* 802C5B90 002C17F0 7F C3 F3 78 */ mr r3, r30
+/* 802C5B94 002C17F4 7F E4 FB 78 */ mr r4, r31
+/* 802C5B98 002C17F8 48 00 C3 C9 */ bl func_802D1F60
+/* 802C5B9C 002C17FC 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C5BA0 002C1800 41 82 00 18 */ beq lbl_802C5BB8
+/* 802C5BA4 002C1804 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C5BA8 002C1808 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C5BAC 002C180C 9B C3 27 BD */ stb r30, 0x27bd(r3)
+/* 802C5BB0 002C1810 9B E3 27 BE */ stb r31, 0x27be(r3)
+/* 802C5BB4 002C1814 48 00 00 0C */ b lbl_802C5BC0
+lbl_802C5BB8:
+/* 802C5BB8 002C1818 38 60 00 03 */ li r3, 3
+/* 802C5BBC 002C181C 48 00 00 08 */ b lbl_802C5BC4
+lbl_802C5BC0:
+/* 802C5BC0 002C1820 38 60 00 00 */ li r3, 0
+lbl_802C5BC4:
+/* 802C5BC4 002C1824 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C5BC8 002C1828 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C5BCC 002C182C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C5BD0 002C1830 7C 08 03 A6 */ mtlr r0
+/* 802C5BD4 002C1834 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C5BD8 002C1838 4E 80 00 20 */ blr
+
+.global btm_dev_timeout
+btm_dev_timeout:
+/* 802C5BDC 002C183C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C5BE0 002C1840 7C 08 02 A6 */ mflr r0
+/* 802C5BE4 002C1844 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C5BE8 002C1848 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C5BEC 002C184C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C5BF0 002C1850 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 802C5BF4 002C1854 28 00 00 01 */ cmplwi r0, 1
+/* 802C5BF8 002C1858 40 82 02 34 */ bne lbl_802C5E2C
+/* 802C5BFC 002C185C 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C5C00 002C1860 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C5C04 002C1864 88 06 06 4E */ lbz r0, 0x64e(r6)
+/* 802C5C08 002C1868 2C 00 00 02 */ cmpwi r0, 2
+/* 802C5C0C 002C186C 41 82 01 60 */ beq lbl_802C5D6C
+/* 802C5C10 002C1870 40 80 00 14 */ bge lbl_802C5C24
+/* 802C5C14 002C1874 2C 00 00 00 */ cmpwi r0, 0
+/* 802C5C18 002C1878 41 82 00 18 */ beq lbl_802C5C30
+/* 802C5C1C 002C187C 40 80 00 3C */ bge lbl_802C5C58
+/* 802C5C20 002C1880 48 00 02 3C */ b lbl_802C5E5C
+lbl_802C5C24:
+/* 802C5C24 002C1884 2C 00 00 04 */ cmpwi r0, 4
+/* 802C5C28 002C1888 40 80 02 34 */ bge lbl_802C5E5C
+/* 802C5C2C 002C188C 48 00 01 A4 */ b lbl_802C5DD0
+lbl_802C5C30:
+/* 802C5C30 002C1890 38 60 00 00 */ li r3, 0
+/* 802C5C34 002C1894 38 00 00 05 */ li r0, 5
+/* 802C5C38 002C1898 98 66 06 4E */ stb r3, 0x64e(r6)
+/* 802C5C3C 002C189C 38 66 05 74 */ addi r3, r6, 0x574
+/* 802C5C40 002C18A0 38 80 00 01 */ li r4, 1
+/* 802C5C44 002C18A4 38 A0 00 04 */ li r5, 4
+/* 802C5C48 002C18A8 98 06 06 4F */ stb r0, 0x64f(r6)
+/* 802C5C4C 002C18AC 4B FF 78 91 */ bl btu_start_timer
+/* 802C5C50 002C18B0 48 00 B6 1D */ bl func_802D126C
+/* 802C5C54 002C18B4 48 00 02 08 */ b lbl_802C5E5C
+lbl_802C5C58:
+/* 802C5C58 002C18B8 38 00 00 04 */ li r0, 4
+/* 802C5C5C 002C18BC 38 60 00 02 */ li r3, 2
+/* 802C5C60 002C18C0 98 66 06 4E */ stb r3, 0x64e(r6)
+/* 802C5C64 002C18C4 98 06 06 4F */ stb r0, 0x64f(r6)
+/* 802C5C68 002C18C8 48 00 00 18 */ b lbl_802C5C80
+/* 802C5C6C 002C18CC 98 06 06 4F */ stb r0, 0x64f(r6)
+/* 802C5C70 002C18D0 98 06 06 4E */ stb r0, 0x64e(r6)
+/* 802C5C74 002C18D4 4B FF 78 69 */ bl btu_start_timer
+/* 802C5C78 002C18D8 48 00 B5 F5 */ bl func_802D126C
+/* 802C5C7C 002C18DC 48 00 00 28 */ b lbl_802C5CA4
+lbl_802C5C80:
+/* 802C5C80 002C18E0 38 66 05 74 */ addi r3, r6, 0x574
+/* 802C5C84 002C18E4 38 80 00 01 */ li r4, 1
+/* 802C5C88 002C18E8 38 A0 00 01 */ li r5, 1
+/* 802C5C8C 002C18EC 4B FF 78 51 */ bl btu_start_timer
+/* 802C5C90 002C18F0 38 60 00 02 */ li r3, 2
+/* 802C5C94 002C18F4 4B FF 3F B9 */ bl GKI_getpoolbuf
+/* 802C5C98 002C18F8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C5C9C 002C18FC 41 82 00 08 */ beq lbl_802C5CA4
+/* 802C5CA0 002C1900 48 00 C1 45 */ bl func_802D1DE4
+lbl_802C5CA4:
+/* 802C5CA4 002C1904 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C5CA8 002C1908 38 A0 00 03 */ li r5, 3
+/* 802C5CAC 002C190C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C5CB0 002C1910 38 7F 06 48 */ addi r3, r31, 0x648
+/* 802C5CB4 002C1914 7C 64 1B 78 */ mr r4, r3
+/* 802C5CB8 002C1918 4B D3 E3 49 */ bl memcpy
+/* 802C5CBC 002C191C 88 1F 06 4E */ lbz r0, 0x64e(r31)
+/* 802C5CC0 002C1920 2C 00 00 00 */ cmpwi r0, 0
+/* 802C5CC4 002C1924 41 82 00 24 */ beq lbl_802C5CE8
+/* 802C5CC8 002C1928 28 00 00 01 */ cmplwi r0, 1
+/* 802C5CCC 002C192C 41 82 00 1C */ beq lbl_802C5CE8
+/* 802C5CD0 002C1930 38 60 00 02 */ li r3, 2
+/* 802C5CD4 002C1934 4B FF 3F 79 */ bl GKI_getpoolbuf
+/* 802C5CD8 002C1938 2C 03 00 00 */ cmpwi r3, 0
+/* 802C5CDC 002C193C 41 82 00 0C */ beq lbl_802C5CE8
+/* 802C5CE0 002C1940 38 9F 06 48 */ addi r4, r31, 0x648
+/* 802C5CE4 002C1944 48 00 BD FD */ bl func_802D1AE0
+lbl_802C5CE8:
+/* 802C5CE8 002C1948 3C 00 80 57 */ lis r0, 0x8057
+/* 802C5CEC 002C194C 37 E0 8B 78 */ addic. r31, r0, -29832
+/* 802C5CF0 002C1950 41 82 00 60 */ beq lbl_802C5D50
+/* 802C5CF4 002C1954 88 1F 06 4E */ lbz r0, 0x64e(r31)
+/* 802C5CF8 002C1958 2C 00 00 00 */ cmpwi r0, 0
+/* 802C5CFC 002C195C 41 82 00 54 */ beq lbl_802C5D50
+/* 802C5D00 002C1960 28 00 00 01 */ cmplwi r0, 1
+/* 802C5D04 002C1964 41 82 00 4C */ beq lbl_802C5D50
+/* 802C5D08 002C1968 38 60 00 02 */ li r3, 2
+/* 802C5D0C 002C196C 4B FF 3F 41 */ bl GKI_getpoolbuf
+/* 802C5D10 002C1970 2C 03 00 00 */ cmpwi r3, 0
+/* 802C5D14 002C1974 7C 7E 1B 78 */ mr r30, r3
+/* 802C5D18 002C1978 41 82 00 38 */ beq lbl_802C5D50
+/* 802C5D1C 002C197C 7C 1F F8 40 */ cmplw r31, r31
+/* 802C5D20 002C1980 41 82 00 24 */ beq lbl_802C5D44
+/* 802C5D24 002C1984 7F E3 FB 78 */ mr r3, r31
+/* 802C5D28 002C1988 38 80 00 00 */ li r4, 0
+/* 802C5D2C 002C198C 38 A0 00 20 */ li r5, 0x20
+/* 802C5D30 002C1990 4B D3 E3 D5 */ bl memset
+/* 802C5D34 002C1994 7F E3 FB 78 */ mr r3, r31
+/* 802C5D38 002C1998 7F E4 FB 78 */ mr r4, r31
+/* 802C5D3C 002C199C 38 A0 00 1F */ li r5, 0x1f
+/* 802C5D40 002C19A0 4B F0 86 51 */ bl strncpy
+lbl_802C5D44:
+/* 802C5D44 002C19A4 7F C3 F3 78 */ mr r3, r30
+/* 802C5D48 002C19A8 7F E4 FB 78 */ mr r4, r31
+/* 802C5D4C 002C19AC 48 00 BA 7D */ bl func_802D17C8
+lbl_802C5D50:
+/* 802C5D50 002C19B0 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C5D54 002C19B4 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C5D58 002C19B8 88 65 00 20 */ lbz r3, 0x20(r5)
+/* 802C5D5C 002C19BC 38 85 00 22 */ addi r4, r5, 0x22
+/* 802C5D60 002C19C0 88 A5 00 21 */ lbz r5, 0x21(r5)
+/* 802C5D64 002C19C4 48 00 4C 71 */ bl func_802CA9D4
+/* 802C5D68 002C19C8 48 00 00 F4 */ b lbl_802C5E5C
+lbl_802C5D6C:
+/* 802C5D6C 002C19CC 88 66 06 4F */ lbz r3, 0x64f(r6)
+/* 802C5D70 002C19D0 38 63 FF FF */ addi r3, r3, -1
+/* 802C5D74 002C19D4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C5D78 002C19D8 98 66 06 4F */ stb r3, 0x64f(r6)
+/* 802C5D7C 002C19DC 40 82 00 2C */ bne lbl_802C5DA8
+/* 802C5D80 002C19E0 38 60 00 00 */ li r3, 0
+/* 802C5D84 002C19E4 38 00 00 05 */ li r0, 5
+/* 802C5D88 002C19E8 98 66 06 4E */ stb r3, 0x64e(r6)
+/* 802C5D8C 002C19EC 38 66 05 74 */ addi r3, r6, 0x574
+/* 802C5D90 002C19F0 38 80 00 01 */ li r4, 1
+/* 802C5D94 002C19F4 38 A0 00 04 */ li r5, 4
+/* 802C5D98 002C19F8 98 06 06 4F */ stb r0, 0x64f(r6)
+/* 802C5D9C 002C19FC 4B FF 77 41 */ bl btu_start_timer
+/* 802C5DA0 002C1A00 48 00 B4 CD */ bl func_802D126C
+/* 802C5DA4 002C1A04 48 00 00 B8 */ b lbl_802C5E5C
+lbl_802C5DA8:
+/* 802C5DA8 002C1A08 38 66 05 74 */ addi r3, r6, 0x574
+/* 802C5DAC 002C1A0C 38 80 00 01 */ li r4, 1
+/* 802C5DB0 002C1A10 38 A0 00 01 */ li r5, 1
+/* 802C5DB4 002C1A14 4B FF 77 29 */ bl btu_start_timer
+/* 802C5DB8 002C1A18 38 60 00 02 */ li r3, 2
+/* 802C5DBC 002C1A1C 4B FF 3E 91 */ bl GKI_getpoolbuf
+/* 802C5DC0 002C1A20 2C 03 00 00 */ cmpwi r3, 0
+/* 802C5DC4 002C1A24 41 82 00 98 */ beq lbl_802C5E5C
+/* 802C5DC8 002C1A28 48 00 C0 1D */ bl func_802D1DE4
+/* 802C5DCC 002C1A2C 48 00 00 90 */ b lbl_802C5E5C
+lbl_802C5DD0:
+/* 802C5DD0 002C1A30 88 66 06 4F */ lbz r3, 0x64f(r6)
+/* 802C5DD4 002C1A34 38 63 FF FF */ addi r3, r3, -1
+/* 802C5DD8 002C1A38 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C5DDC 002C1A3C 98 66 06 4F */ stb r3, 0x64f(r6)
+/* 802C5DE0 002C1A40 40 82 00 2C */ bne lbl_802C5E0C
+/* 802C5DE4 002C1A44 38 60 00 00 */ li r3, 0
+/* 802C5DE8 002C1A48 38 00 00 05 */ li r0, 5
+/* 802C5DEC 002C1A4C 98 66 06 4E */ stb r3, 0x64e(r6)
+/* 802C5DF0 002C1A50 38 66 05 74 */ addi r3, r6, 0x574
+/* 802C5DF4 002C1A54 38 80 00 01 */ li r4, 1
+/* 802C5DF8 002C1A58 38 A0 00 04 */ li r5, 4
+/* 802C5DFC 002C1A5C 98 06 06 4F */ stb r0, 0x64f(r6)
+/* 802C5E00 002C1A60 4B FF 76 DD */ bl btu_start_timer
+/* 802C5E04 002C1A64 48 00 B4 69 */ bl func_802D126C
+/* 802C5E08 002C1A68 48 00 00 54 */ b lbl_802C5E5C
+lbl_802C5E0C:
+/* 802C5E0C 002C1A6C 38 66 05 74 */ addi r3, r6, 0x574
+/* 802C5E10 002C1A70 38 80 00 01 */ li r4, 1
+/* 802C5E14 002C1A74 38 A0 00 01 */ li r5, 1
+/* 802C5E18 002C1A78 4B FF 76 C5 */ bl btu_start_timer
+/* 802C5E1C 002C1A7C 48 00 BF 0D */ bl func_802D1D28
+/* 802C5E20 002C1A80 48 00 BF ED */ bl func_802D1E0C
+/* 802C5E24 002C1A84 48 00 33 0D */ bl func_802C9130
+/* 802C5E28 002C1A88 48 00 00 34 */ b lbl_802C5E5C
+lbl_802C5E2C:
+/* 802C5E2C 002C1A8C 28 00 00 02 */ cmplwi r0, 2
+/* 802C5E30 002C1A90 40 82 00 2C */ bne lbl_802C5E5C
+/* 802C5E34 002C1A94 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C5E38 002C1A98 38 00 00 00 */ li r0, 0
+/* 802C5E3C 002C1A9C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C5E40 002C1AA0 81 83 05 A8 */ lwz r12, 0x5a8(r3)
+/* 802C5E44 002C1AA4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C5E48 002C1AA8 90 03 05 A8 */ stw r0, 0x5a8(r3)
+/* 802C5E4C 002C1AAC 41 82 00 10 */ beq lbl_802C5E5C
+/* 802C5E50 002C1AB0 38 60 00 00 */ li r3, 0
+/* 802C5E54 002C1AB4 7D 89 03 A6 */ mtctr r12
+/* 802C5E58 002C1AB8 4E 80 04 21 */ bctrl
+lbl_802C5E5C:
+/* 802C5E5C 002C1ABC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C5E60 002C1AC0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C5E64 002C1AC4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C5E68 002C1AC8 7C 08 03 A6 */ mtlr r0
+/* 802C5E6C 002C1ACC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C5E70 002C1AD0 4E 80 00 20 */ blr
+
+.global btm_reset_complete
+btm_reset_complete:
+/* 802C5E74 002C1AD4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C5E78 002C1AD8 7C 08 02 A6 */ mflr r0
+/* 802C5E7C 002C1ADC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C5E80 002C1AE0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C5E84 002C1AE4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C5E88 002C1AE8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C5E8C 002C1AEC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C5E90 002C1AF0 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C5E94 002C1AF4 28 00 00 04 */ cmplwi r0, 4
+/* 802C5E98 002C1AF8 41 80 00 18 */ blt lbl_802C5EB0
+/* 802C5E9C 002C1AFC 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C5EA0 002C1B00 3C 80 80 44 */ lis r4, lbl_80441110@ha
+/* 802C5EA4 002C1B04 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C5EA8 002C1B08 38 84 11 10 */ addi r4, r4, lbl_80441110@l
+/* 802C5EAC 002C1B0C 4B FF 70 65 */ bl LogMsg_0
+lbl_802C5EB0:
+/* 802C5EB0 002C1B10 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C5EB4 002C1B14 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C5EB8 002C1B18 81 9F 06 20 */ lwz r12, 0x620(r31)
+/* 802C5EBC 002C1B1C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C5EC0 002C1B20 41 82 00 1C */ beq lbl_802C5EDC
+/* 802C5EC4 002C1B24 38 00 00 00 */ li r0, 0
+/* 802C5EC8 002C1B28 38 60 00 00 */ li r3, 0
+/* 802C5ECC 002C1B2C 90 1F 06 20 */ stw r0, 0x620(r31)
+/* 802C5ED0 002C1B30 7D 89 03 A6 */ mtctr r12
+/* 802C5ED4 002C1B34 4E 80 04 21 */ bctrl
+/* 802C5ED8 002C1B38 48 00 01 48 */ b lbl_802C6020
+lbl_802C5EDC:
+/* 802C5EDC 002C1B3C 88 1F 06 4E */ lbz r0, 0x64e(r31)
+/* 802C5EE0 002C1B40 2C 00 00 00 */ cmpwi r0, 0
+/* 802C5EE4 002C1B44 40 82 01 3C */ bne lbl_802C6020
+/* 802C5EE8 002C1B48 48 01 56 A5 */ bl func_802DB58C
+/* 802C5EEC 002C1B4C 38 C0 00 12 */ li r6, 0x12
+/* 802C5EF0 002C1B50 38 A0 08 00 */ li r5, 0x800
+/* 802C5EF4 002C1B54 38 80 00 00 */ li r4, 0
+/* 802C5EF8 002C1B58 38 00 00 04 */ li r0, 4
+/* 802C5EFC 002C1B5C 38 60 00 02 */ li r3, 2
+/* 802C5F00 002C1B60 B0 DF 16 A0 */ sth r6, 0x16a0(r31)
+/* 802C5F04 002C1B64 B0 BF 16 A2 */ sth r5, 0x16a2(r31)
+/* 802C5F08 002C1B68 B0 9F 16 A4 */ sth r4, 0x16a4(r31)
+/* 802C5F0C 002C1B6C B0 DF 16 9C */ sth r6, 0x169c(r31)
+/* 802C5F10 002C1B70 B0 BF 16 9E */ sth r5, 0x169e(r31)
+/* 802C5F14 002C1B74 B0 9F 16 A6 */ sth r4, 0x16a6(r31)
+/* 802C5F18 002C1B78 98 7F 06 4E */ stb r3, 0x64e(r31)
+/* 802C5F1C 002C1B7C 98 1F 06 4F */ stb r0, 0x64f(r31)
+/* 802C5F20 002C1B80 48 00 00 18 */ b lbl_802C5F38
+/* 802C5F24 002C1B84 98 9F 06 4E */ stb r4, 0x64e(r31)
+/* 802C5F28 002C1B88 98 1F 06 4F */ stb r0, 0x64f(r31)
+/* 802C5F2C 002C1B8C 4B FF 75 B1 */ bl btu_start_timer
+/* 802C5F30 002C1B90 48 00 B3 3D */ bl func_802D126C
+/* 802C5F34 002C1B94 48 00 00 28 */ b lbl_802C5F5C
+lbl_802C5F38:
+/* 802C5F38 002C1B98 38 7F 05 74 */ addi r3, r31, 0x574
+/* 802C5F3C 002C1B9C 38 80 00 01 */ li r4, 1
+/* 802C5F40 002C1BA0 38 A0 00 01 */ li r5, 1
+/* 802C5F44 002C1BA4 4B FF 75 99 */ bl btu_start_timer
+/* 802C5F48 002C1BA8 38 60 00 02 */ li r3, 2
+/* 802C5F4C 002C1BAC 4B FF 3D 01 */ bl GKI_getpoolbuf
+/* 802C5F50 002C1BB0 2C 03 00 00 */ cmpwi r3, 0
+/* 802C5F54 002C1BB4 41 82 00 08 */ beq lbl_802C5F5C
+/* 802C5F58 002C1BB8 48 00 BE 8D */ bl func_802D1DE4
+lbl_802C5F5C:
+/* 802C5F5C 002C1BBC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C5F60 002C1BC0 38 A0 00 03 */ li r5, 3
+/* 802C5F64 002C1BC4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C5F68 002C1BC8 38 7F 06 48 */ addi r3, r31, 0x648
+/* 802C5F6C 002C1BCC 7C 64 1B 78 */ mr r4, r3
+/* 802C5F70 002C1BD0 4B D3 E0 91 */ bl memcpy
+/* 802C5F74 002C1BD4 88 1F 06 4E */ lbz r0, 0x64e(r31)
+/* 802C5F78 002C1BD8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C5F7C 002C1BDC 41 82 00 24 */ beq lbl_802C5FA0
+/* 802C5F80 002C1BE0 28 00 00 01 */ cmplwi r0, 1
+/* 802C5F84 002C1BE4 41 82 00 1C */ beq lbl_802C5FA0
+/* 802C5F88 002C1BE8 38 60 00 02 */ li r3, 2
+/* 802C5F8C 002C1BEC 4B FF 3C C1 */ bl GKI_getpoolbuf
+/* 802C5F90 002C1BF0 2C 03 00 00 */ cmpwi r3, 0
+/* 802C5F94 002C1BF4 41 82 00 0C */ beq lbl_802C5FA0
+/* 802C5F98 002C1BF8 38 9F 06 48 */ addi r4, r31, 0x648
+/* 802C5F9C 002C1BFC 48 00 BB 45 */ bl func_802D1AE0
+lbl_802C5FA0:
+/* 802C5FA0 002C1C00 3C 00 80 57 */ lis r0, 0x8057
+/* 802C5FA4 002C1C04 37 E0 8B 78 */ addic. r31, r0, -29832
+/* 802C5FA8 002C1C08 41 82 00 60 */ beq lbl_802C6008
+/* 802C5FAC 002C1C0C 88 1F 06 4E */ lbz r0, 0x64e(r31)
+/* 802C5FB0 002C1C10 2C 00 00 00 */ cmpwi r0, 0
+/* 802C5FB4 002C1C14 41 82 00 54 */ beq lbl_802C6008
+/* 802C5FB8 002C1C18 28 00 00 01 */ cmplwi r0, 1
+/* 802C5FBC 002C1C1C 41 82 00 4C */ beq lbl_802C6008
+/* 802C5FC0 002C1C20 38 60 00 02 */ li r3, 2
+/* 802C5FC4 002C1C24 4B FF 3C 89 */ bl GKI_getpoolbuf
+/* 802C5FC8 002C1C28 2C 03 00 00 */ cmpwi r3, 0
+/* 802C5FCC 002C1C2C 7C 7E 1B 78 */ mr r30, r3
+/* 802C5FD0 002C1C30 41 82 00 38 */ beq lbl_802C6008
+/* 802C5FD4 002C1C34 7C 1F F8 40 */ cmplw r31, r31
+/* 802C5FD8 002C1C38 41 82 00 24 */ beq lbl_802C5FFC
+/* 802C5FDC 002C1C3C 7F E3 FB 78 */ mr r3, r31
+/* 802C5FE0 002C1C40 38 80 00 00 */ li r4, 0
+/* 802C5FE4 002C1C44 38 A0 00 20 */ li r5, 0x20
+/* 802C5FE8 002C1C48 4B D3 E1 1D */ bl memset
+/* 802C5FEC 002C1C4C 7F E3 FB 78 */ mr r3, r31
+/* 802C5FF0 002C1C50 7F E4 FB 78 */ mr r4, r31
+/* 802C5FF4 002C1C54 38 A0 00 1F */ li r5, 0x1f
+/* 802C5FF8 002C1C58 4B F0 83 99 */ bl strncpy
+lbl_802C5FFC:
+/* 802C5FFC 002C1C5C 7F C3 F3 78 */ mr r3, r30
+/* 802C6000 002C1C60 7F E4 FB 78 */ mr r4, r31
+/* 802C6004 002C1C64 48 00 B7 C5 */ bl func_802D17C8
+lbl_802C6008:
+/* 802C6008 002C1C68 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C600C 002C1C6C 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C6010 002C1C70 88 65 00 20 */ lbz r3, 0x20(r5)
+/* 802C6014 002C1C74 38 85 00 22 */ addi r4, r5, 0x22
+/* 802C6018 002C1C78 88 A5 00 21 */ lbz r5, 0x21(r5)
+/* 802C601C 002C1C7C 48 00 49 B9 */ bl func_802CA9D4
+lbl_802C6020:
+/* 802C6020 002C1C80 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C6024 002C1C84 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C6028 002C1C88 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C602C 002C1C8C 7C 08 03 A6 */ mtlr r0
+/* 802C6030 002C1C90 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C6034 002C1C94 4E 80 00 20 */ blr
+
+.global btm_read_hci_buf_size_complete
+btm_read_hci_buf_size_complete:
+/* 802C6038 002C1C98 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C603C 002C1C9C 7C 08 02 A6 */ mflr r0
+/* 802C6040 002C1CA0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C6044 002C1CA4 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C6048 002C1CA8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C604C 002C1CAC 40 82 00 58 */ bne lbl_802C60A4
+/* 802C6050 002C1CB0 88 03 00 02 */ lbz r0, 2(r3)
+/* 802C6054 002C1CB4 3C C0 80 57 */ lis r6, lbl_80568650@ha
+/* 802C6058 002C1CB8 88 83 00 01 */ lbz r4, 1(r3)
+/* 802C605C 002C1CBC 38 C6 86 50 */ addi r6, r6, lbl_80568650@l
+/* 802C6060 002C1CC0 54 00 40 2E */ slwi r0, r0, 8
+/* 802C6064 002C1CC4 7C 04 02 14 */ add r0, r4, r0
+/* 802C6068 002C1CC8 B0 06 00 7C */ sth r0, 0x7c(r6)
+/* 802C606C 002C1CCC 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802C6070 002C1CD0 38 04 00 04 */ addi r0, r4, 4
+/* 802C6074 002C1CD4 88 83 00 05 */ lbz r4, 5(r3)
+/* 802C6078 002C1CD8 88 A3 00 04 */ lbz r5, 4(r3)
+/* 802C607C 002C1CDC 54 83 40 2E */ slwi r3, r4, 8
+/* 802C6080 002C1CE0 7C 65 1A 14 */ add r3, r5, r3
+/* 802C6084 002C1CE4 B0 06 00 7E */ sth r0, 0x7e(r6)
+/* 802C6088 002C1CE8 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802C608C 002C1CEC 48 01 25 7D */ bl func_802D8608
+/* 802C6090 002C1CF0 38 60 06 9B */ li r3, 0x69b
+/* 802C6094 002C1CF4 38 80 00 1E */ li r4, 0x1e
+/* 802C6098 002C1CF8 38 A0 00 14 */ li r5, 0x14
+/* 802C609C 002C1CFC 38 C0 00 0A */ li r6, 0xa
+/* 802C60A0 002C1D00 48 00 BA C9 */ bl func_802D1B68
+lbl_802C60A4:
+/* 802C60A4 002C1D04 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C60A8 002C1D08 38 00 00 04 */ li r0, 4
+/* 802C60AC 002C1D0C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C60B0 002C1D10 38 80 00 03 */ li r4, 3
+/* 802C60B4 002C1D14 98 83 06 4E */ stb r4, 0x64e(r3)
+/* 802C60B8 002C1D18 98 03 06 4F */ stb r0, 0x64f(r3)
+/* 802C60BC 002C1D1C 48 00 00 18 */ b lbl_802C60D4
+/* 802C60C0 002C1D20 98 03 06 4F */ stb r0, 0x64f(r3)
+/* 802C60C4 002C1D24 98 03 06 4E */ stb r0, 0x64e(r3)
+/* 802C60C8 002C1D28 4B FF 74 15 */ bl btu_start_timer
+/* 802C60CC 002C1D2C 48 00 B1 A1 */ bl func_802D126C
+/* 802C60D0 002C1D30 48 00 00 20 */ b lbl_802C60F0
+lbl_802C60D4:
+/* 802C60D4 002C1D34 38 63 05 74 */ addi r3, r3, 0x574
+/* 802C60D8 002C1D38 38 80 00 01 */ li r4, 1
+/* 802C60DC 002C1D3C 38 A0 00 01 */ li r5, 1
+/* 802C60E0 002C1D40 4B FF 73 FD */ bl btu_start_timer
+/* 802C60E4 002C1D44 48 00 BC 45 */ bl func_802D1D28
+/* 802C60E8 002C1D48 48 00 BD 25 */ bl func_802D1E0C
+/* 802C60EC 002C1D4C 48 00 30 45 */ bl func_802C9130
+lbl_802C60F0:
+/* 802C60F0 002C1D50 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C60F4 002C1D54 7C 08 03 A6 */ mtlr r0
+/* 802C60F8 002C1D58 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C60FC 002C1D5C 4E 80 00 20 */ blr
+
+.global btm_read_local_version_complete
+btm_read_local_version_complete:
+/* 802C6100 002C1D60 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C6104 002C1D64 7C 08 02 A6 */ mflr r0
+/* 802C6108 002C1D68 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C610C 002C1D6C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C6110 002C1D70 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C6114 002C1D74 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C6118 002C1D78 2C 00 00 00 */ cmpwi r0, 0
+/* 802C611C 002C1D7C 40 82 00 50 */ bne lbl_802C616C
+/* 802C6120 002C1D80 88 03 00 01 */ lbz r0, 1(r3)
+/* 802C6124 002C1D84 98 05 06 36 */ stb r0, 0x636(r5)
+/* 802C6128 002C1D88 88 03 00 03 */ lbz r0, 3(r3)
+/* 802C612C 002C1D8C 88 83 00 02 */ lbz r4, 2(r3)
+/* 802C6130 002C1D90 54 00 40 2E */ slwi r0, r0, 8
+/* 802C6134 002C1D94 7C 04 02 14 */ add r0, r4, r0
+/* 802C6138 002C1D98 B0 05 06 38 */ sth r0, 0x638(r5)
+/* 802C613C 002C1D9C 88 03 00 04 */ lbz r0, 4(r3)
+/* 802C6140 002C1DA0 98 05 06 3A */ stb r0, 0x63a(r5)
+/* 802C6144 002C1DA4 88 03 00 06 */ lbz r0, 6(r3)
+/* 802C6148 002C1DA8 88 83 00 05 */ lbz r4, 5(r3)
+/* 802C614C 002C1DAC 54 00 40 2E */ slwi r0, r0, 8
+/* 802C6150 002C1DB0 7C 04 02 14 */ add r0, r4, r0
+/* 802C6154 002C1DB4 B0 05 06 3C */ sth r0, 0x63c(r5)
+/* 802C6158 002C1DB8 88 03 00 08 */ lbz r0, 8(r3)
+/* 802C615C 002C1DBC 88 63 00 07 */ lbz r3, 7(r3)
+/* 802C6160 002C1DC0 54 00 40 2E */ slwi r0, r0, 8
+/* 802C6164 002C1DC4 7C 03 02 14 */ add r0, r3, r0
+/* 802C6168 002C1DC8 B0 05 06 3E */ sth r0, 0x63e(r5)
+lbl_802C616C:
+/* 802C616C 002C1DCC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6170 002C1DD0 38 00 00 04 */ li r0, 4
+/* 802C6174 002C1DD4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6178 002C1DD8 98 03 06 4E */ stb r0, 0x64e(r3)
+/* 802C617C 002C1DDC 98 03 06 4F */ stb r0, 0x64f(r3)
+/* 802C6180 002C1DE0 48 00 00 18 */ b lbl_802C6198
+/* 802C6184 002C1DE4 98 03 06 4F */ stb r0, 0x64f(r3)
+/* 802C6188 002C1DE8 98 03 06 4E */ stb r0, 0x64e(r3)
+/* 802C618C 002C1DEC 4B FF 73 51 */ bl btu_start_timer
+/* 802C6190 002C1DF0 48 00 B0 DD */ bl func_802D126C
+/* 802C6194 002C1DF4 48 00 00 18 */ b lbl_802C61AC
+lbl_802C6198:
+/* 802C6198 002C1DF8 38 63 05 74 */ addi r3, r3, 0x574
+/* 802C619C 002C1DFC 38 80 00 01 */ li r4, 1
+/* 802C61A0 002C1E00 38 A0 00 01 */ li r5, 1
+/* 802C61A4 002C1E04 4B FF 73 39 */ bl btu_start_timer
+/* 802C61A8 002C1E08 48 00 BB E1 */ bl func_802D1D88
+lbl_802C61AC:
+/* 802C61AC 002C1E0C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C61B0 002C1E10 7C 08 03 A6 */ mtlr r0
+/* 802C61B4 002C1E14 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C61B8 002C1E18 4E 80 00 20 */ blr
+
+.global btm_read_local_features_complete
+btm_read_local_features_complete:
+/* 802C61BC 002C1E1C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C61C0 002C1E20 7C 08 02 A6 */ mflr r0
+/* 802C61C4 002C1E24 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C61C8 002C1E28 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C61CC 002C1E2C 4B F0 0F 5D */ bl _savegpr_27
+/* 802C61D0 002C1E30 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C61D4 002C1E34 3F C0 80 44 */ lis r30, lbl_804410E0@ha
+/* 802C61D8 002C1E38 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C61DC 002C1E3C 38 00 00 00 */ li r0, 0
+/* 802C61E0 002C1E40 83 9F 05 8C */ lwz r28, 0x58c(r31)
+/* 802C61E4 002C1E44 3B DE 10 E0 */ addi r30, r30, lbl_804410E0@l
+/* 802C61E8 002C1E48 90 1F 05 8C */ stw r0, 0x58c(r31)
+/* 802C61EC 002C1E4C 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C61F0 002C1E50 2C 00 00 00 */ cmpwi r0, 0
+/* 802C61F4 002C1E54 40 82 04 AC */ bne lbl_802C66A0
+/* 802C61F8 002C1E58 38 00 00 05 */ li r0, 5
+/* 802C61FC 002C1E5C 38 80 00 18 */ li r4, 0x18
+/* 802C6200 002C1E60 98 1F 06 4E */ stb r0, 0x64e(r31)
+/* 802C6204 002C1E64 88 03 00 01 */ lbz r0, 1(r3)
+/* 802C6208 002C1E68 98 1F 06 40 */ stb r0, 0x640(r31)
+/* 802C620C 002C1E6C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802C6210 002C1E70 88 03 00 02 */ lbz r0, 2(r3)
+/* 802C6214 002C1E74 98 1F 06 41 */ stb r0, 0x641(r31)
+/* 802C6218 002C1E78 88 03 00 03 */ lbz r0, 3(r3)
+/* 802C621C 002C1E7C 98 1F 06 42 */ stb r0, 0x642(r31)
+/* 802C6220 002C1E80 88 03 00 04 */ lbz r0, 4(r3)
+/* 802C6224 002C1E84 98 1F 06 43 */ stb r0, 0x643(r31)
+/* 802C6228 002C1E88 88 03 00 05 */ lbz r0, 5(r3)
+/* 802C622C 002C1E8C 98 1F 06 44 */ stb r0, 0x644(r31)
+/* 802C6230 002C1E90 88 03 00 06 */ lbz r0, 6(r3)
+/* 802C6234 002C1E94 98 1F 06 45 */ stb r0, 0x645(r31)
+/* 802C6238 002C1E98 88 03 00 07 */ lbz r0, 7(r3)
+/* 802C623C 002C1E9C 98 1F 06 46 */ stb r0, 0x646(r31)
+/* 802C6240 002C1EA0 88 03 00 08 */ lbz r0, 8(r3)
+/* 802C6244 002C1EA4 98 1F 06 47 */ stb r0, 0x647(r31)
+/* 802C6248 002C1EA8 B0 9F 06 54 */ sth r4, 0x654(r31)
+/* 802C624C 002C1EAC 41 82 00 0C */ beq lbl_802C6258
+/* 802C6250 002C1EB0 60 80 0C 00 */ ori r0, r4, 0xc00
+/* 802C6254 002C1EB4 B0 1F 06 54 */ sth r0, 0x654(r31)
+lbl_802C6258:
+/* 802C6258 002C1EB8 88 1F 06 40 */ lbz r0, 0x640(r31)
+/* 802C625C 002C1EBC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802C6260 002C1EC0 41 82 00 18 */ beq lbl_802C6278
+/* 802C6264 002C1EC4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6268 002C1EC8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C626C 002C1ECC A0 03 06 54 */ lhz r0, 0x654(r3)
+/* 802C6270 002C1ED0 60 00 C0 00 */ ori r0, r0, 0xc000
+/* 802C6274 002C1ED4 B0 03 06 54 */ sth r0, 0x654(r3)
+lbl_802C6278:
+/* 802C6278 002C1ED8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C627C 002C1EDC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6280 002C1EE0 88 03 06 36 */ lbz r0, 0x636(r3)
+/* 802C6284 002C1EE4 28 00 00 03 */ cmplwi r0, 3
+/* 802C6288 002C1EE8 41 80 00 90 */ blt lbl_802C6318
+/* 802C628C 002C1EEC 88 1F 06 43 */ lbz r0, 0x643(r31)
+/* 802C6290 002C1EF0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802C6294 002C1EF4 40 82 00 10 */ bne lbl_802C62A4
+/* 802C6298 002C1EF8 A0 03 06 54 */ lhz r0, 0x654(r3)
+/* 802C629C 002C1EFC 60 00 11 02 */ ori r0, r0, 0x1102
+/* 802C62A0 002C1F00 B0 03 06 54 */ sth r0, 0x654(r3)
+lbl_802C62A4:
+/* 802C62A4 002C1F04 88 1F 06 43 */ lbz r0, 0x643(r31)
+/* 802C62A8 002C1F08 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802C62AC 002C1F0C 40 82 00 18 */ bne lbl_802C62C4
+/* 802C62B0 002C1F10 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C62B4 002C1F14 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C62B8 002C1F18 A0 03 06 54 */ lhz r0, 0x654(r3)
+/* 802C62BC 002C1F1C 60 00 22 04 */ ori r0, r0, 0x2204
+/* 802C62C0 002C1F20 B0 03 06 54 */ sth r0, 0x654(r3)
+lbl_802C62C4:
+/* 802C62C4 002C1F24 88 7F 06 43 */ lbz r3, 0x643(r31)
+/* 802C62C8 002C1F28 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
+/* 802C62CC 002C1F2C 40 82 00 0C */ bne lbl_802C62D8
+/* 802C62D0 002C1F30 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 802C62D4 002C1F34 41 82 00 44 */ beq lbl_802C6318
+lbl_802C62D8:
+/* 802C62D8 002C1F38 88 1F 06 44 */ lbz r0, 0x644(r31)
+/* 802C62DC 002C1F3C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C62E0 002C1F40 40 82 00 18 */ bne lbl_802C62F8
+/* 802C62E4 002C1F44 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C62E8 002C1F48 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C62EC 002C1F4C A0 03 06 54 */ lhz r0, 0x654(r3)
+/* 802C62F0 002C1F50 60 00 03 00 */ ori r0, r0, 0x300
+/* 802C62F4 002C1F54 B0 03 06 54 */ sth r0, 0x654(r3)
+lbl_802C62F8:
+/* 802C62F8 002C1F58 88 1F 06 45 */ lbz r0, 0x645(r31)
+/* 802C62FC 002C1F5C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802C6300 002C1F60 40 82 00 18 */ bne lbl_802C6318
+/* 802C6304 002C1F64 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6308 002C1F68 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C630C 002C1F6C A0 03 06 54 */ lhz r0, 0x654(r3)
+/* 802C6310 002C1F70 60 00 30 00 */ ori r0, r0, 0x3000
+/* 802C6314 002C1F74 B0 03 06 54 */ sth r0, 0x654(r3)
+lbl_802C6318:
+/* 802C6318 002C1F78 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C631C 002C1F7C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6320 002C1F80 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802C6324 002C1F84 28 00 00 05 */ cmplwi r0, 5
+/* 802C6328 002C1F88 41 80 00 18 */ blt lbl_802C6340
+/* 802C632C 002C1F8C 3C 60 00 0D */ lis r3, 0x000D0004@ha
+/* 802C6330 002C1F90 A0 A4 06 54 */ lhz r5, 0x654(r4)
+/* 802C6334 002C1F94 38 63 00 04 */ addi r3, r3, 0x000D0004@l
+/* 802C6338 002C1F98 38 9E 00 44 */ addi r4, r30, 0x44
+/* 802C633C 002C1F9C 4B FF 6B ED */ bl LogMsg_1
+lbl_802C6340:
+/* 802C6340 002C1FA0 88 7F 06 41 */ lbz r3, 0x641(r31)
+/* 802C6344 002C1FA4 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6348 002C1FA8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C634C 002C1FAC 38 A0 00 00 */ li r5, 0
+/* 802C6350 002C1FB0 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c
+/* 802C6354 002C1FB4 B0 A4 06 56 */ sth r5, 0x656(r4)
+/* 802C6358 002C1FB8 98 A4 19 08 */ stb r5, 0x1908(r4)
+/* 802C635C 002C1FBC 41 82 00 3C */ beq lbl_802C6398
+/* 802C6360 002C1FC0 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
+/* 802C6364 002C1FC4 38 00 00 01 */ li r0, 1
+/* 802C6368 002C1FC8 B0 04 06 56 */ sth r0, 0x656(r4)
+/* 802C636C 002C1FCC 41 82 00 0C */ beq lbl_802C6378
+/* 802C6370 002C1FD0 60 00 00 02 */ ori r0, r0, 2
+/* 802C6374 002C1FD4 B0 04 06 56 */ sth r0, 0x656(r4)
+lbl_802C6378:
+/* 802C6378 002C1FD8 88 1F 06 41 */ lbz r0, 0x641(r31)
+/* 802C637C 002C1FDC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802C6380 002C1FE0 41 82 00 18 */ beq lbl_802C6398
+/* 802C6384 002C1FE4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6388 002C1FE8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C638C 002C1FEC A0 03 06 56 */ lhz r0, 0x656(r3)
+/* 802C6390 002C1FF0 60 00 00 04 */ ori r0, r0, 4
+/* 802C6394 002C1FF4 B0 03 06 56 */ sth r0, 0x656(r3)
+lbl_802C6398:
+/* 802C6398 002C1FF8 88 1F 06 43 */ lbz r0, 0x643(r31)
+/* 802C639C 002C1FFC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C63A0 002C2000 41 82 00 18 */ beq lbl_802C63B8
+/* 802C63A4 002C2004 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C63A8 002C2008 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C63AC 002C200C A0 03 06 56 */ lhz r0, 0x656(r3)
+/* 802C63B0 002C2010 60 00 00 08 */ ori r0, r0, 8
+/* 802C63B4 002C2014 B0 03 06 56 */ sth r0, 0x656(r3)
+lbl_802C63B8:
+/* 802C63B8 002C2018 88 1F 06 44 */ lbz r0, 0x644(r31)
+/* 802C63BC 002C201C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802C63C0 002C2020 41 82 00 18 */ beq lbl_802C63D8
+/* 802C63C4 002C2024 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C63C8 002C2028 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C63CC 002C202C A0 03 06 56 */ lhz r0, 0x656(r3)
+/* 802C63D0 002C2030 60 00 00 10 */ ori r0, r0, 0x10
+/* 802C63D4 002C2034 B0 03 06 56 */ sth r0, 0x656(r3)
+lbl_802C63D8:
+/* 802C63D8 002C2038 88 1F 06 44 */ lbz r0, 0x644(r31)
+/* 802C63DC 002C203C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802C63E0 002C2040 41 82 00 18 */ beq lbl_802C63F8
+/* 802C63E4 002C2044 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C63E8 002C2048 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C63EC 002C204C A0 03 06 56 */ lhz r0, 0x656(r3)
+/* 802C63F0 002C2050 60 00 00 20 */ ori r0, r0, 0x20
+/* 802C63F4 002C2054 B0 03 06 56 */ sth r0, 0x656(r3)
+lbl_802C63F8:
+/* 802C63F8 002C2058 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C63FC 002C205C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6400 002C2060 A0 64 06 56 */ lhz r3, 0x656(r4)
+/* 802C6404 002C2064 54 60 06 B9 */ rlwinm. r0, r3, 0, 0x1a, 0x1c
+/* 802C6408 002C2068 41 82 00 74 */ beq lbl_802C647C
+/* 802C640C 002C206C 88 BF 06 45 */ lbz r5, 0x645(r31)
+/* 802C6410 002C2070 38 00 00 01 */ li r0, 1
+/* 802C6414 002C2074 98 04 19 08 */ stb r0, 0x1908(r4)
+/* 802C6418 002C2078 54 A0 06 B5 */ rlwinm. r0, r5, 0, 0x1a, 0x1a
+/* 802C641C 002C207C 41 82 00 18 */ beq lbl_802C6434
+/* 802C6420 002C2080 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
+/* 802C6424 002C2084 40 82 00 18 */ bne lbl_802C643C
+/* 802C6428 002C2088 60 60 01 00 */ ori r0, r3, 0x100
+/* 802C642C 002C208C B0 04 06 56 */ sth r0, 0x656(r4)
+/* 802C6430 002C2090 48 00 00 0C */ b lbl_802C643C
+lbl_802C6434:
+/* 802C6434 002C2094 60 60 01 40 */ ori r0, r3, 0x140
+/* 802C6438 002C2098 B0 04 06 56 */ sth r0, 0x656(r4)
+lbl_802C643C:
+/* 802C643C 002C209C 88 7F 06 45 */ lbz r3, 0x645(r31)
+/* 802C6440 002C20A0 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
+/* 802C6444 002C20A4 41 82 00 24 */ beq lbl_802C6468
+/* 802C6448 002C20A8 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
+/* 802C644C 002C20AC 40 82 00 30 */ bne lbl_802C647C
+/* 802C6450 002C20B0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6454 002C20B4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6458 002C20B8 A0 03 06 56 */ lhz r0, 0x656(r3)
+/* 802C645C 002C20BC 60 00 02 00 */ ori r0, r0, 0x200
+/* 802C6460 002C20C0 B0 03 06 56 */ sth r0, 0x656(r3)
+/* 802C6464 002C20C4 48 00 00 18 */ b lbl_802C647C
+lbl_802C6468:
+/* 802C6468 002C20C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C646C 002C20CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6470 002C20D0 A0 03 06 56 */ lhz r0, 0x656(r3)
+/* 802C6474 002C20D4 60 00 02 80 */ ori r0, r0, 0x280
+/* 802C6478 002C20D8 B0 03 06 56 */ sth r0, 0x656(r3)
+lbl_802C647C:
+/* 802C647C 002C20DC 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6480 002C20E0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6484 002C20E4 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802C6488 002C20E8 28 00 00 05 */ cmplwi r0, 5
+/* 802C648C 002C20EC 41 80 00 18 */ blt lbl_802C64A4
+/* 802C6490 002C20F0 3C 60 00 0D */ lis r3, 0x000D0004@ha
+/* 802C6494 002C20F4 A0 A4 06 56 */ lhz r5, 0x656(r4)
+/* 802C6498 002C20F8 38 63 00 04 */ addi r3, r3, 0x000D0004@l
+/* 802C649C 002C20FC 38 9E 00 70 */ addi r4, r30, 0x70
+/* 802C64A0 002C2100 4B FF 6A 89 */ bl LogMsg_1
+lbl_802C64A4:
+/* 802C64A4 002C2104 88 1F 06 40 */ lbz r0, 0x640(r31)
+/* 802C64A8 002C2108 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802C64AC 002C210C 41 82 00 1C */ beq lbl_802C64C8
+/* 802C64B0 002C2110 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C64B4 002C2114 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C64B8 002C2118 A0 03 04 C4 */ lhz r0, 0x4c4(r3)
+/* 802C64BC 002C211C 60 00 00 01 */ ori r0, r0, 1
+/* 802C64C0 002C2120 B0 03 04 C4 */ sth r0, 0x4c4(r3)
+/* 802C64C4 002C2124 48 00 00 18 */ b lbl_802C64DC
+lbl_802C64C8:
+/* 802C64C8 002C2128 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C64CC 002C212C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C64D0 002C2130 A0 03 04 C4 */ lhz r0, 0x4c4(r3)
+/* 802C64D4 002C2134 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e
+/* 802C64D8 002C2138 B0 03 04 C4 */ sth r0, 0x4c4(r3)
+lbl_802C64DC:
+/* 802C64DC 002C213C 88 1F 06 40 */ lbz r0, 0x640(r31)
+/* 802C64E0 002C2140 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802C64E4 002C2144 41 82 00 1C */ beq lbl_802C6500
+/* 802C64E8 002C2148 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C64EC 002C214C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C64F0 002C2150 A0 03 04 C4 */ lhz r0, 0x4c4(r3)
+/* 802C64F4 002C2154 60 00 00 02 */ ori r0, r0, 2
+/* 802C64F8 002C2158 B0 03 04 C4 */ sth r0, 0x4c4(r3)
+/* 802C64FC 002C215C 48 00 00 18 */ b lbl_802C6514
+lbl_802C6500:
+/* 802C6500 002C2160 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6504 002C2164 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6508 002C2168 A0 03 04 C4 */ lhz r0, 0x4c4(r3)
+/* 802C650C 002C216C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
+/* 802C6510 002C2170 B0 03 04 C4 */ sth r0, 0x4c4(r3)
+lbl_802C6514:
+/* 802C6514 002C2174 88 1F 06 40 */ lbz r0, 0x640(r31)
+/* 802C6518 002C2178 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802C651C 002C217C 41 82 00 1C */ beq lbl_802C6538
+/* 802C6520 002C2180 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6524 002C2184 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6528 002C2188 A0 03 04 C4 */ lhz r0, 0x4c4(r3)
+/* 802C652C 002C218C 60 00 00 04 */ ori r0, r0, 4
+/* 802C6530 002C2190 B0 03 04 C4 */ sth r0, 0x4c4(r3)
+/* 802C6534 002C2194 48 00 00 18 */ b lbl_802C654C
+lbl_802C6538:
+/* 802C6538 002C2198 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C653C 002C219C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6540 002C21A0 A0 03 04 C4 */ lhz r0, 0x4c4(r3)
+/* 802C6544 002C21A4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
+/* 802C6548 002C21A8 B0 03 04 C4 */ sth r0, 0x4c4(r3)
+lbl_802C654C:
+/* 802C654C 002C21AC 88 1F 06 41 */ lbz r0, 0x641(r31)
+/* 802C6550 002C21B0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802C6554 002C21B4 41 82 00 1C */ beq lbl_802C6570
+/* 802C6558 002C21B8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C655C 002C21BC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6560 002C21C0 A0 03 04 C4 */ lhz r0, 0x4c4(r3)
+/* 802C6564 002C21C4 60 00 00 08 */ ori r0, r0, 8
+/* 802C6568 002C21C8 B0 03 04 C4 */ sth r0, 0x4c4(r3)
+/* 802C656C 002C21CC 48 00 00 18 */ b lbl_802C6584
+lbl_802C6570:
+/* 802C6570 002C21D0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6574 002C21D4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6578 002C21D8 A0 03 04 C4 */ lhz r0, 0x4c4(r3)
+/* 802C657C 002C21DC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
+/* 802C6580 002C21E0 B0 03 04 C4 */ sth r0, 0x4c4(r3)
+lbl_802C6584:
+/* 802C6584 002C21E4 48 00 55 DD */ bl func_802CBB60
+/* 802C6588 002C21E8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C658C 002C21EC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6590 002C21F0 8B A4 27 BE */ lbz r29, 0x27be(r4)
+/* 802C6594 002C21F4 28 1D 00 FF */ cmplwi r29, 0xff
+/* 802C6598 002C21F8 41 82 00 AC */ beq lbl_802C6644
+/* 802C659C 002C21FC 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802C65A0 002C2200 38 60 00 FF */ li r3, 0xff
+/* 802C65A4 002C2204 8B 64 27 BD */ lbz r27, 0x27bd(r4)
+/* 802C65A8 002C2208 28 00 00 03 */ cmplwi r0, 3
+/* 802C65AC 002C220C 98 64 27 BE */ stb r3, 0x27be(r4)
+/* 802C65B0 002C2210 98 64 27 BD */ stb r3, 0x27bd(r4)
+/* 802C65B4 002C2214 41 80 00 24 */ blt lbl_802C65D8
+/* 802C65B8 002C2218 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C65BC 002C221C 7F 65 DB 78 */ mr r5, r27
+/* 802C65C0 002C2220 7F A7 EB 78 */ mr r7, r29
+/* 802C65C4 002C2224 38 9E 00 00 */ addi r4, r30, 0
+/* 802C65C8 002C2228 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C65CC 002C222C 38 C0 00 FF */ li r6, 0xff
+/* 802C65D0 002C2230 39 00 00 FF */ li r8, 0xff
+/* 802C65D4 002C2234 4B FF 69 9D */ bl LogMsg_4
+lbl_802C65D8:
+/* 802C65D8 002C2238 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C65DC 002C223C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C65E0 002C2240 88 83 06 45 */ lbz r4, 0x645(r3)
+/* 802C65E4 002C2244 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c
+/* 802C65E8 002C2248 40 82 00 18 */ bne lbl_802C6600
+/* 802C65EC 002C224C 88 03 06 44 */ lbz r0, 0x644(r3)
+/* 802C65F0 002C2250 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 802C65F4 002C2254 40 82 00 0C */ bne lbl_802C6600
+/* 802C65F8 002C2258 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
+/* 802C65FC 002C225C 41 82 00 48 */ beq lbl_802C6644
+lbl_802C6600:
+/* 802C6600 002C2260 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6604 002C2264 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6608 002C2268 88 03 27 BD */ lbz r0, 0x27bd(r3)
+/* 802C660C 002C226C 7C 00 D8 40 */ cmplw r0, r27
+/* 802C6610 002C2270 40 82 00 10 */ bne lbl_802C6620
+/* 802C6614 002C2274 88 03 27 BE */ lbz r0, 0x27be(r3)
+/* 802C6618 002C2278 7C 00 E8 40 */ cmplw r0, r29
+/* 802C661C 002C227C 41 82 00 28 */ beq lbl_802C6644
+lbl_802C6620:
+/* 802C6620 002C2280 7F 63 DB 78 */ mr r3, r27
+/* 802C6624 002C2284 7F A4 EB 78 */ mr r4, r29
+/* 802C6628 002C2288 48 00 B9 39 */ bl func_802D1F60
+/* 802C662C 002C228C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C6630 002C2290 41 82 00 14 */ beq lbl_802C6644
+/* 802C6634 002C2294 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6638 002C2298 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C663C 002C229C 9B 63 27 BD */ stb r27, 0x27bd(r3)
+/* 802C6640 002C22A0 9B A3 27 BE */ stb r29, 0x27be(r3)
+lbl_802C6644:
+/* 802C6644 002C22A4 88 1F 06 43 */ lbz r0, 0x643(r31)
+/* 802C6648 002C22A8 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802C664C 002C22AC 41 82 00 0C */ beq lbl_802C6658
+/* 802C6650 002C22B0 38 60 00 01 */ li r3, 1
+/* 802C6654 002C22B4 48 00 10 89 */ bl BTM_SetInquiryMode
+lbl_802C6658:
+/* 802C6658 002C22B8 38 60 00 01 */ li r3, 1
+/* 802C665C 002C22BC 48 00 0F D1 */ bl BTM_SetPageScanType
+/* 802C6660 002C22C0 38 60 00 01 */ li r3, 1
+/* 802C6664 002C22C4 48 00 0F 19 */ bl BTM_SetInquiryScanType
+/* 802C6668 002C22C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C666C 002C22CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6670 002C22D0 81 83 05 68 */ lwz r12, 0x568(r3)
+/* 802C6674 002C22D4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C6678 002C22D8 41 82 00 10 */ beq lbl_802C6688
+/* 802C667C 002C22DC 38 60 00 00 */ li r3, 0
+/* 802C6680 002C22E0 7D 89 03 A6 */ mtctr r12
+/* 802C6684 002C22E4 4E 80 04 21 */ bctrl
+lbl_802C6688:
+/* 802C6688 002C22E8 2C 1C 00 00 */ cmpwi r28, 0
+/* 802C668C 002C22EC 41 82 00 14 */ beq lbl_802C66A0
+/* 802C6690 002C22F0 7F 8C E3 78 */ mr r12, r28
+/* 802C6694 002C22F4 38 60 00 00 */ li r3, 0
+/* 802C6698 002C22F8 7D 89 03 A6 */ mtctr r12
+/* 802C669C 002C22FC 4E 80 04 21 */ bctrl
+lbl_802C66A0:
+/* 802C66A0 002C2300 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C66A4 002C2304 4B F0 0A D1 */ bl _restgpr_27
+/* 802C66A8 002C2308 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C66AC 002C230C 7C 08 03 A6 */ mtlr r0
+/* 802C66B0 002C2310 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C66B4 002C2314 4E 80 00 20 */ blr
+
+.global BTM_SetLocalDeviceName
+BTM_SetLocalDeviceName:
+/* 802C66B8 002C2318 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C66BC 002C231C 7C 08 02 A6 */ mflr r0
+/* 802C66C0 002C2320 2C 03 00 00 */ cmpwi r3, 0
+/* 802C66C4 002C2324 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C66C8 002C2328 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C66CC 002C232C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C66D0 002C2330 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C66D4 002C2334 7C 7D 1B 78 */ mr r29, r3
+/* 802C66D8 002C2338 40 82 00 0C */ bne lbl_802C66E4
+/* 802C66DC 002C233C 38 60 00 05 */ li r3, 5
+/* 802C66E0 002C2340 48 00 00 74 */ b lbl_802C6754
+lbl_802C66E4:
+/* 802C66E4 002C2344 3F C0 80 57 */ lis r30, lbl_80568B78@ha
+/* 802C66E8 002C2348 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
+/* 802C66EC 002C234C 88 1E 06 4E */ lbz r0, 0x64e(r30)
+/* 802C66F0 002C2350 28 00 00 01 */ cmplwi r0, 1
+/* 802C66F4 002C2354 41 81 00 0C */ bgt lbl_802C6700
+/* 802C66F8 002C2358 38 60 00 0C */ li r3, 0xc
+/* 802C66FC 002C235C 48 00 00 58 */ b lbl_802C6754
+lbl_802C6700:
+/* 802C6700 002C2360 38 60 00 02 */ li r3, 2
+/* 802C6704 002C2364 4B FF 35 49 */ bl GKI_getpoolbuf
+/* 802C6708 002C2368 2C 03 00 00 */ cmpwi r3, 0
+/* 802C670C 002C236C 7C 7F 1B 78 */ mr r31, r3
+/* 802C6710 002C2370 41 82 00 40 */ beq lbl_802C6750
+/* 802C6714 002C2374 7C 1E E8 40 */ cmplw r30, r29
+/* 802C6718 002C2378 41 82 00 24 */ beq lbl_802C673C
+/* 802C671C 002C237C 7F C3 F3 78 */ mr r3, r30
+/* 802C6720 002C2380 38 80 00 00 */ li r4, 0
+/* 802C6724 002C2384 38 A0 00 20 */ li r5, 0x20
+/* 802C6728 002C2388 4B D3 D9 DD */ bl memset
+/* 802C672C 002C238C 7F C3 F3 78 */ mr r3, r30
+/* 802C6730 002C2390 7F A4 EB 78 */ mr r4, r29
+/* 802C6734 002C2394 38 A0 00 1F */ li r5, 0x1f
+/* 802C6738 002C2398 4B F0 7C 59 */ bl strncpy
+lbl_802C673C:
+/* 802C673C 002C239C 7F E3 FB 78 */ mr r3, r31
+/* 802C6740 002C23A0 7F C4 F3 78 */ mr r4, r30
+/* 802C6744 002C23A4 48 00 B0 85 */ bl func_802D17C8
+/* 802C6748 002C23A8 38 60 00 01 */ li r3, 1
+/* 802C674C 002C23AC 48 00 00 08 */ b lbl_802C6754
+lbl_802C6750:
+/* 802C6750 002C23B0 38 60 00 03 */ li r3, 3
+lbl_802C6754:
+/* 802C6754 002C23B4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C6758 002C23B8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C675C 002C23BC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C6760 002C23C0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C6764 002C23C4 7C 08 03 A6 */ mtlr r0
+/* 802C6768 002C23C8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C676C 002C23CC 4E 80 00 20 */ blr
+
+.global btm_read_local_name_complete
+btm_read_local_name_complete:
+/* 802C6770 002C23D0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C6774 002C23D4 7C 08 02 A6 */ mflr r0
+/* 802C6778 002C23D8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C677C 002C23DC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C6780 002C23E0 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C6784 002C23E4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C6788 002C23E8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C678C 002C23EC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C6790 002C23F0 7C 7D 1B 78 */ mr r29, r3
+/* 802C6794 002C23F4 38 7F 05 90 */ addi r3, r31, 0x590
+/* 802C6798 002C23F8 83 DF 05 A8 */ lwz r30, 0x5a8(r31)
+/* 802C679C 002C23FC 4B FF 6D B1 */ bl btu_stop_timer
+/* 802C67A0 002C2400 38 00 00 00 */ li r0, 0
+/* 802C67A4 002C2404 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C67A8 002C2408 90 1F 05 A8 */ stw r0, 0x5a8(r31)
+/* 802C67AC 002C240C 41 82 00 34 */ beq lbl_802C67E0
+/* 802C67B0 002C2410 88 1D 00 00 */ lbz r0, 0(r29)
+/* 802C67B4 002C2414 2C 00 00 00 */ cmpwi r0, 0
+/* 802C67B8 002C2418 40 82 00 18 */ bne lbl_802C67D0
+/* 802C67BC 002C241C 7F CC F3 78 */ mr r12, r30
+/* 802C67C0 002C2420 38 7D 00 01 */ addi r3, r29, 1
+/* 802C67C4 002C2424 7D 89 03 A6 */ mtctr r12
+/* 802C67C8 002C2428 4E 80 04 21 */ bctrl
+/* 802C67CC 002C242C 48 00 00 14 */ b lbl_802C67E0
+lbl_802C67D0:
+/* 802C67D0 002C2430 7F CC F3 78 */ mr r12, r30
+/* 802C67D4 002C2434 38 60 00 00 */ li r3, 0
+/* 802C67D8 002C2438 7D 89 03 A6 */ mtctr r12
+/* 802C67DC 002C243C 4E 80 04 21 */ bctrl
+lbl_802C67E0:
+/* 802C67E0 002C2440 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C67E4 002C2444 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C67E8 002C2448 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C67EC 002C244C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C67F0 002C2450 7C 08 03 A6 */ mtlr r0
+/* 802C67F4 002C2454 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C67F8 002C2458 4E 80 00 20 */ blr
+
+.global BTM_ReadLocalDeviceAddr
+BTM_ReadLocalDeviceAddr:
+/* 802C67FC 002C245C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C6800 002C2460 7C 08 02 A6 */ mflr r0
+/* 802C6804 002C2464 2C 03 00 00 */ cmpwi r3, 0
+/* 802C6808 002C2468 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C680C 002C246C 41 82 00 1C */ beq lbl_802C6828
+/* 802C6810 002C2470 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6814 002C2474 7C 6C 1B 78 */ mr r12, r3
+/* 802C6818 002C2478 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C681C 002C247C 38 64 06 30 */ addi r3, r4, 0x630
+/* 802C6820 002C2480 7D 89 03 A6 */ mtctr r12
+/* 802C6824 002C2484 4E 80 04 21 */ bctrl
+lbl_802C6828:
+/* 802C6828 002C2488 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C682C 002C248C 38 60 00 00 */ li r3, 0
+/* 802C6830 002C2490 7C 08 03 A6 */ mtlr r0
+/* 802C6834 002C2494 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C6838 002C2498 4E 80 00 20 */ blr
+
+.global btm_read_local_addr_complete
+btm_read_local_addr_complete:
+/* 802C683C 002C249C 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C6840 002C24A0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C6844 002C24A4 4C 82 00 20 */ bnelr
+/* 802C6848 002C24A8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C684C 002C24AC 88 03 00 01 */ lbz r0, 1(r3)
+/* 802C6850 002C24B0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6854 002C24B4 98 04 06 35 */ stb r0, 0x635(r4)
+/* 802C6858 002C24B8 88 03 00 02 */ lbz r0, 2(r3)
+/* 802C685C 002C24BC 98 04 06 34 */ stb r0, 0x634(r4)
+/* 802C6860 002C24C0 88 03 00 03 */ lbz r0, 3(r3)
+/* 802C6864 002C24C4 98 04 06 33 */ stb r0, 0x633(r4)
+/* 802C6868 002C24C8 88 03 00 04 */ lbz r0, 4(r3)
+/* 802C686C 002C24CC 98 04 06 32 */ stb r0, 0x632(r4)
+/* 802C6870 002C24D0 88 03 00 05 */ lbz r0, 5(r3)
+/* 802C6874 002C24D4 98 04 06 31 */ stb r0, 0x631(r4)
+/* 802C6878 002C24D8 88 03 00 06 */ lbz r0, 6(r3)
+/* 802C687C 002C24DC 98 04 06 30 */ stb r0, 0x630(r4)
+/* 802C6880 002C24E0 4E 80 00 20 */ blr
+
+.global BTM_ReadLocalVersion
+BTM_ReadLocalVersion:
+/* 802C6884 002C24E4 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C6888 002C24E8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C688C 002C24EC 88 05 06 4E */ lbz r0, 0x64e(r5)
+/* 802C6890 002C24F0 28 00 00 04 */ cmplwi r0, 4
+/* 802C6894 002C24F4 40 80 00 0C */ bge lbl_802C68A0
+/* 802C6898 002C24F8 38 60 00 0C */ li r3, 0xc
+/* 802C689C 002C24FC 4E 80 00 20 */ blr
+lbl_802C68A0:
+/* 802C68A0 002C2500 A0 85 06 36 */ lhz r4, 0x636(r5)
+/* 802C68A4 002C2504 A0 05 06 38 */ lhz r0, 0x638(r5)
+/* 802C68A8 002C2508 B0 83 00 00 */ sth r4, 0(r3)
+/* 802C68AC 002C250C B0 03 00 02 */ sth r0, 2(r3)
+/* 802C68B0 002C2510 A0 85 06 3A */ lhz r4, 0x63a(r5)
+/* 802C68B4 002C2514 A0 05 06 3C */ lhz r0, 0x63c(r5)
+/* 802C68B8 002C2518 B0 83 00 04 */ sth r4, 4(r3)
+/* 802C68BC 002C251C B0 03 00 06 */ sth r0, 6(r3)
+/* 802C68C0 002C2520 A0 05 06 3E */ lhz r0, 0x63e(r5)
+/* 802C68C4 002C2524 B0 03 00 08 */ sth r0, 8(r3)
+/* 802C68C8 002C2528 38 60 00 00 */ li r3, 0
+/* 802C68CC 002C252C 4E 80 00 20 */ blr
+
+.global BTM_SetDeviceClass
+BTM_SetDeviceClass:
+/* 802C68D0 002C2530 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C68D4 002C2534 7C 08 02 A6 */ mflr r0
+/* 802C68D8 002C2538 38 A0 00 03 */ li r5, 3
+/* 802C68DC 002C253C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C68E0 002C2540 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C68E4 002C2544 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C68E8 002C2548 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C68EC 002C254C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C68F0 002C2550 7C 7E 1B 78 */ mr r30, r3
+/* 802C68F4 002C2554 7F C4 F3 78 */ mr r4, r30
+/* 802C68F8 002C2558 38 7F 06 48 */ addi r3, r31, 0x648
+/* 802C68FC 002C255C 4B D3 D7 05 */ bl memcpy
+/* 802C6900 002C2560 88 1F 06 4E */ lbz r0, 0x64e(r31)
+/* 802C6904 002C2564 28 00 00 01 */ cmplwi r0, 1
+/* 802C6908 002C2568 41 81 00 0C */ bgt lbl_802C6914
+/* 802C690C 002C256C 38 60 00 0C */ li r3, 0xc
+/* 802C6910 002C2570 48 00 00 28 */ b lbl_802C6938
+lbl_802C6914:
+/* 802C6914 002C2574 38 60 00 02 */ li r3, 2
+/* 802C6918 002C2578 4B FF 33 35 */ bl GKI_getpoolbuf
+/* 802C691C 002C257C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C6920 002C2580 41 82 00 14 */ beq lbl_802C6934
+/* 802C6924 002C2584 7F C4 F3 78 */ mr r4, r30
+/* 802C6928 002C2588 48 00 B1 B9 */ bl func_802D1AE0
+/* 802C692C 002C258C 38 60 00 00 */ li r3, 0
+/* 802C6930 002C2590 48 00 00 08 */ b lbl_802C6938
+lbl_802C6934:
+/* 802C6934 002C2594 38 60 00 03 */ li r3, 3
+lbl_802C6938:
+/* 802C6938 002C2598 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C693C 002C259C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C6940 002C25A0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C6944 002C25A4 7C 08 03 A6 */ mtlr r0
+/* 802C6948 002C25A8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C694C 002C25AC 4E 80 00 20 */ blr
+
+.global BTM_ReadDeviceClass
+BTM_ReadDeviceClass:
+/* 802C6950 002C25B0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6954 002C25B4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6958 002C25B8 38 63 06 48 */ addi r3, r3, 0x648
+/* 802C695C 002C25BC 4E 80 00 20 */ blr
+
+.global BTM_ReadLocalFeatures
+BTM_ReadLocalFeatures:
+/* 802C6960 002C25C0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6964 002C25C4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6968 002C25C8 38 63 06 40 */ addi r3, r3, 0x640
+/* 802C696C 002C25CC 4E 80 00 20 */ blr
+
+.global BTM_RegisterForDeviceStatusNotif
+BTM_RegisterForDeviceStatusNotif:
+/* 802C6970 002C25D0 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6974 002C25D4 7C 60 1B 78 */ mr r0, r3
+/* 802C6978 002C25D8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C697C 002C25DC 80 64 05 68 */ lwz r3, 0x568(r4)
+/* 802C6980 002C25E0 90 04 05 68 */ stw r0, 0x568(r4)
+/* 802C6984 002C25E4 4E 80 00 20 */ blr
+
+.global BTM_VendorSpecificCommand
+BTM_VendorSpecificCommand:
+/* 802C6988 002C25E8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C698C 002C25EC 7C 08 02 A6 */ mflr r0
+/* 802C6990 002C25F0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C6994 002C25F4 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C6998 002C25F8 4B F0 07 91 */ bl _savegpr_27
+/* 802C699C 002C25FC 3C E0 80 57 */ lis r7, lbl_80568B78@ha
+/* 802C69A0 002C2600 7C 7B 1B 78 */ mr r27, r3
+/* 802C69A4 002C2604 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l
+/* 802C69A8 002C2608 7C 9C 23 78 */ mr r28, r4
+/* 802C69AC 002C260C 88 07 27 C0 */ lbz r0, 0x27c0(r7)
+/* 802C69B0 002C2610 7C BD 2B 78 */ mr r29, r5
+/* 802C69B4 002C2614 7C DE 33 78 */ mr r30, r6
+/* 802C69B8 002C2618 28 00 00 04 */ cmplwi r0, 4
+/* 802C69BC 002C261C 41 80 00 20 */ blt lbl_802C69DC
+/* 802C69C0 002C2620 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C69C4 002C2624 3C 80 80 44 */ lis r4, lbl_8044117C@ha
+/* 802C69C8 002C2628 7F 65 DB 78 */ mr r5, r27
+/* 802C69CC 002C262C 7F 86 E3 78 */ mr r6, r28
+/* 802C69D0 002C2630 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C69D4 002C2634 38 84 11 7C */ addi r4, r4, lbl_8044117C@l
+/* 802C69D8 002C2638 4B FF 65 69 */ bl LogMsg_2
+lbl_802C69DC:
+/* 802C69DC 002C263C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C69E0 002C2640 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C69E4 002C2644 88 1F 06 50 */ lbz r0, 0x650(r31)
+/* 802C69E8 002C2648 2C 00 00 00 */ cmpwi r0, 0
+/* 802C69EC 002C264C 41 82 00 2C */ beq lbl_802C6A18
+/* 802C69F0 002C2650 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C69F4 002C2654 28 00 00 04 */ cmplwi r0, 4
+/* 802C69F8 002C2658 41 80 00 18 */ blt lbl_802C6A10
+/* 802C69FC 002C265C 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C6A00 002C2660 3C 80 80 44 */ lis r4, lbl_804411BC@ha
+/* 802C6A04 002C2664 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C6A08 002C2668 38 84 11 BC */ addi r4, r4, lbl_804411BC@l
+/* 802C6A0C 002C266C 4B FF 65 05 */ bl LogMsg_0
+lbl_802C6A10:
+/* 802C6A10 002C2670 38 60 00 02 */ li r3, 2
+/* 802C6A14 002C2674 48 00 00 58 */ b lbl_802C6A6C
+lbl_802C6A18:
+/* 802C6A18 002C2678 38 1C 00 0B */ addi r0, r28, 0xb
+/* 802C6A1C 002C267C 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802C6A20 002C2680 4B FF 30 8D */ bl GKI_getbuf
+/* 802C6A24 002C2684 2C 03 00 00 */ cmpwi r3, 0
+/* 802C6A28 002C2688 41 82 00 40 */ beq lbl_802C6A68
+/* 802C6A2C 002C268C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C6A30 002C2690 93 DF 06 1C */ stw r30, 0x61c(r31)
+/* 802C6A34 002C2694 41 82 00 0C */ beq lbl_802C6A40
+/* 802C6A38 002C2698 38 00 00 01 */ li r0, 1
+/* 802C6A3C 002C269C 98 1F 06 50 */ stb r0, 0x650(r31)
+lbl_802C6A40:
+/* 802C6A40 002C26A0 7F 64 DB 78 */ mr r4, r27
+/* 802C6A44 002C26A4 7F 85 E3 78 */ mr r5, r28
+/* 802C6A48 002C26A8 7F A6 EB 78 */ mr r6, r29
+/* 802C6A4C 002C26AC 48 00 B9 C5 */ bl func_802D2410
+/* 802C6A50 002C26B0 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C6A54 002C26B4 41 82 00 0C */ beq lbl_802C6A60
+/* 802C6A58 002C26B8 38 60 00 01 */ li r3, 1
+/* 802C6A5C 002C26BC 48 00 00 10 */ b lbl_802C6A6C
+lbl_802C6A60:
+/* 802C6A60 002C26C0 38 60 00 00 */ li r3, 0
+/* 802C6A64 002C26C4 48 00 00 08 */ b lbl_802C6A6C
+lbl_802C6A68:
+/* 802C6A68 002C26C8 38 60 00 03 */ li r3, 3
+lbl_802C6A6C:
+/* 802C6A6C 002C26CC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C6A70 002C26D0 4B F0 07 05 */ bl _restgpr_27
+/* 802C6A74 002C26D4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C6A78 002C26D8 7C 08 03 A6 */ mtlr r0
+/* 802C6A7C 002C26DC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C6A80 002C26E0 4E 80 00 20 */ blr
+
+.global btm_vsc_complete
+btm_vsc_complete:
+/* 802C6A84 002C26E4 94 21 FE E0 */ stwu r1, -0x120(r1)
+/* 802C6A88 002C26E8 7C 08 02 A6 */ mflr r0
+/* 802C6A8C 002C26EC 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C6A90 002C26F0 7C 67 1B 78 */ mr r7, r3
+/* 802C6A94 002C26F4 90 01 01 24 */ stw r0, 0x124(r1)
+/* 802C6A98 002C26F8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C6A9C 002C26FC 38 00 00 00 */ li r0, 0
+/* 802C6AA0 002C2700 38 61 00 0C */ addi r3, r1, 0xc
+/* 802C6AA4 002C2704 93 E1 01 1C */ stw r31, 0x11c(r1)
+/* 802C6AA8 002C2708 83 E6 06 1C */ lwz r31, 0x61c(r6)
+/* 802C6AAC 002C270C 98 06 06 50 */ stb r0, 0x650(r6)
+/* 802C6AB0 002C2710 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C6AB4 002C2714 90 06 06 1C */ stw r0, 0x61c(r6)
+/* 802C6AB8 002C2718 41 82 00 24 */ beq lbl_802C6ADC
+/* 802C6ABC 002C271C B0 81 00 08 */ sth r4, 8(r1)
+/* 802C6AC0 002C2720 7C E4 3B 78 */ mr r4, r7
+/* 802C6AC4 002C2724 B0 A1 00 0A */ sth r5, 0xa(r1)
+/* 802C6AC8 002C2728 4B D3 D5 39 */ bl memcpy
+/* 802C6ACC 002C272C 7F EC FB 78 */ mr r12, r31
+/* 802C6AD0 002C2730 38 61 00 08 */ addi r3, r1, 8
+/* 802C6AD4 002C2734 7D 89 03 A6 */ mtctr r12
+/* 802C6AD8 002C2738 4E 80 04 21 */ bctrl
+lbl_802C6ADC:
+/* 802C6ADC 002C273C 80 01 01 24 */ lwz r0, 0x124(r1)
+/* 802C6AE0 002C2740 83 E1 01 1C */ lwz r31, 0x11c(r1)
+/* 802C6AE4 002C2744 7C 08 03 A6 */ mtlr r0
+/* 802C6AE8 002C2748 38 21 01 20 */ addi r1, r1, 0x120
+/* 802C6AEC 002C274C 4E 80 00 20 */ blr
+
+.global BTM_RegisterForVSEvents
+BTM_RegisterForVSEvents:
+/* 802C6AF0 002C2750 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6AF4 002C2754 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6AF8 002C2758 80 04 05 6C */ lwz r0, 0x56c(r4)
+/* 802C6AFC 002C275C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C6B00 002C2760 41 82 00 14 */ beq lbl_802C6B14
+/* 802C6B04 002C2764 2C 03 00 00 */ cmpwi r3, 0
+/* 802C6B08 002C2768 41 82 00 0C */ beq lbl_802C6B14
+/* 802C6B0C 002C276C 38 60 00 02 */ li r3, 2
+/* 802C6B10 002C2770 4E 80 00 20 */ blr
+lbl_802C6B14:
+/* 802C6B14 002C2774 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6B18 002C2778 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6B1C 002C277C 90 64 05 6C */ stw r3, 0x56c(r4)
+/* 802C6B20 002C2780 38 60 00 00 */ li r3, 0
+/* 802C6B24 002C2784 4E 80 00 20 */ blr
+
+.global btm_vendor_specific_evt
+btm_vendor_specific_evt:
+/* 802C6B28 002C2788 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C6B2C 002C278C 7C 08 02 A6 */ mflr r0
+/* 802C6B30 002C2790 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C6B34 002C2794 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C6B38 002C2798 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C6B3C 002C279C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C6B40 002C27A0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C6B44 002C27A4 7C 9E 23 78 */ mr r30, r4
+/* 802C6B48 002C27A8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C6B4C 002C27AC 7C 7D 1B 78 */ mr r29, r3
+/* 802C6B50 002C27B0 A0 1F 06 3C */ lhz r0, 0x63c(r31)
+/* 802C6B54 002C27B4 28 00 00 12 */ cmplwi r0, 0x12
+/* 802C6B58 002C27B8 41 82 00 24 */ beq lbl_802C6B7C
+/* 802C6B5C 002C27BC 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C6B60 002C27C0 28 00 00 04 */ cmplwi r0, 4
+/* 802C6B64 002C27C4 41 80 00 18 */ blt lbl_802C6B7C
+/* 802C6B68 002C27C8 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C6B6C 002C27CC 3C 80 80 44 */ lis r4, lbl_80441200@ha
+/* 802C6B70 002C27D0 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C6B74 002C27D4 38 84 12 00 */ addi r4, r4, lbl_80441200@l
+/* 802C6B78 002C27D8 4B FF 63 99 */ bl LogMsg_0
+lbl_802C6B7C:
+/* 802C6B7C 002C27DC 81 9F 05 6C */ lwz r12, 0x56c(r31)
+/* 802C6B80 002C27E0 38 00 00 00 */ li r0, 0
+/* 802C6B84 002C27E4 90 1F 06 1C */ stw r0, 0x61c(r31)
+/* 802C6B88 002C27E8 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C6B8C 002C27EC 98 1F 06 50 */ stb r0, 0x650(r31)
+/* 802C6B90 002C27F0 41 82 00 14 */ beq lbl_802C6BA4
+/* 802C6B94 002C27F4 7F C3 F3 78 */ mr r3, r30
+/* 802C6B98 002C27F8 7F A4 EB 78 */ mr r4, r29
+/* 802C6B9C 002C27FC 7D 89 03 A6 */ mtctr r12
+/* 802C6BA0 002C2800 4E 80 04 21 */ bctrl
+lbl_802C6BA4:
+/* 802C6BA4 002C2804 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C6BA8 002C2808 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C6BAC 002C280C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C6BB0 002C2810 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C6BB4 002C2814 7C 08 03 A6 */ mtlr r0
+/* 802C6BB8 002C2818 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C6BBC 002C281C 4E 80 00 20 */ blr
+
+.global BTM_WritePageTimeout
+BTM_WritePageTimeout:
+/* 802C6BC0 002C2820 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C6BC4 002C2824 7C 08 02 A6 */ mflr r0
+/* 802C6BC8 002C2828 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6BCC 002C282C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C6BD0 002C2830 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6BD4 002C2834 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C6BD8 002C2838 7C 7F 1B 78 */ mr r31, r3
+/* 802C6BDC 002C283C 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802C6BE0 002C2840 28 00 00 04 */ cmplwi r0, 4
+/* 802C6BE4 002C2844 41 80 00 1C */ blt lbl_802C6C00
+/* 802C6BE8 002C2848 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C6BEC 002C284C 3C 80 80 44 */ lis r4, lbl_80441240@ha
+/* 802C6BF0 002C2850 7F E5 FB 78 */ mr r5, r31
+/* 802C6BF4 002C2854 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C6BF8 002C2858 38 84 12 40 */ addi r4, r4, lbl_80441240@l
+/* 802C6BFC 002C285C 4B FF 63 2D */ bl LogMsg_1
+lbl_802C6C00:
+/* 802C6C00 002C2860 1C 1F 02 71 */ mulli r0, r31, 0x271
+/* 802C6C04 002C2864 3C 60 10 62 */ lis r3, 0x10624DD3@ha
+/* 802C6C08 002C2868 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6C0C 002C286C 38 63 4D D3 */ addi r3, r3, 0x10624DD3@l
+/* 802C6C10 002C2870 7C 03 00 96 */ mulhw r0, r3, r0
+/* 802C6C14 002C2874 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6C18 002C2878 38 60 00 02 */ li r3, 2
+/* 802C6C1C 002C287C 7C 00 36 70 */ srawi r0, r0, 6
+/* 802C6C20 002C2880 54 05 0F FE */ srwi r5, r0, 0x1f
+/* 802C6C24 002C2884 7C 00 2A 14 */ add r0, r0, r5
+/* 802C6C28 002C2888 B0 04 06 4C */ sth r0, 0x64c(r4)
+/* 802C6C2C 002C288C 4B FF 30 21 */ bl GKI_getpoolbuf
+/* 802C6C30 002C2890 2C 03 00 00 */ cmpwi r3, 0
+/* 802C6C34 002C2894 41 82 00 14 */ beq lbl_802C6C48
+/* 802C6C38 002C2898 7F E4 FB 78 */ mr r4, r31
+/* 802C6C3C 002C289C 48 00 AC CD */ bl func_802D1908
+/* 802C6C40 002C28A0 38 60 00 00 */ li r3, 0
+/* 802C6C44 002C28A4 48 00 00 08 */ b lbl_802C6C4C
+lbl_802C6C48:
+/* 802C6C48 002C28A8 38 60 00 03 */ li r3, 3
+lbl_802C6C4C:
+/* 802C6C4C 002C28AC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C6C50 002C28B0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C6C54 002C28B4 7C 08 03 A6 */ mtlr r0
+/* 802C6C58 002C28B8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C6C5C 002C28BC 4E 80 00 20 */ blr
+
+.global BTM_ReadStoredLinkKey
+BTM_ReadStoredLinkKey:
+/* 802C6C60 002C28C0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C6C64 002C28C4 7C 08 02 A6 */ mflr r0
+/* 802C6C68 002C28C8 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C6C6C 002C28CC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C6C70 002C28D0 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C6C74 002C28D4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C6C78 002C28D8 3B E0 00 00 */ li r31, 0
+/* 802C6C7C 002C28DC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C6C80 002C28E0 7C 9E 23 78 */ mr r30, r4
+/* 802C6C84 002C28E4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C6C88 002C28E8 7C 7D 1B 78 */ mr r29, r3
+/* 802C6C8C 002C28EC 80 05 05 70 */ lwz r0, 0x570(r5)
+/* 802C6C90 002C28F0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C6C94 002C28F4 41 82 00 0C */ beq lbl_802C6CA0
+/* 802C6C98 002C28F8 38 60 00 02 */ li r3, 2
+/* 802C6C9C 002C28FC 48 00 00 80 */ b lbl_802C6D1C
+lbl_802C6CA0:
+/* 802C6CA0 002C2900 2C 03 00 00 */ cmpwi r3, 0
+/* 802C6CA4 002C2904 40 82 00 0C */ bne lbl_802C6CB0
+/* 802C6CA8 002C2908 3B E0 00 01 */ li r31, 1
+/* 802C6CAC 002C290C 3B A1 00 08 */ addi r29, r1, 8
+lbl_802C6CB0:
+/* 802C6CB0 002C2910 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6CB4 002C2914 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6CB8 002C2918 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C6CBC 002C291C 28 00 00 04 */ cmplwi r0, 4
+/* 802C6CC0 002C2920 41 80 00 28 */ blt lbl_802C6CE8
+/* 802C6CC4 002C2924 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C6CC8 002C2928 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C6CCC 002C292C 3C 80 80 44 */ lis r4, lbl_804412B0@ha
+/* 802C6CD0 002C2930 38 AD 8A 44 */ addi r5, r13, lbl_8063DD04-_SDA_BASE_
+/* 802C6CD4 002C2934 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C6CD8 002C2938 38 84 12 B0 */ addi r4, r4, lbl_804412B0@l
+/* 802C6CDC 002C293C 41 82 00 08 */ beq lbl_802C6CE4
+/* 802C6CE0 002C2940 38 AD 8A 3C */ addi r5, r13, lbl_8063DCFC-_SDA_BASE_
+lbl_802C6CE4:
+/* 802C6CE4 002C2944 4B FF 62 45 */ bl LogMsg_1
+lbl_802C6CE8:
+/* 802C6CE8 002C2948 38 60 00 02 */ li r3, 2
+/* 802C6CEC 002C294C 4B FF 2F 61 */ bl GKI_getpoolbuf
+/* 802C6CF0 002C2950 2C 03 00 00 */ cmpwi r3, 0
+/* 802C6CF4 002C2954 41 82 00 24 */ beq lbl_802C6D18
+/* 802C6CF8 002C2958 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C6CFC 002C295C 7F A4 EB 78 */ mr r4, r29
+/* 802C6D00 002C2960 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C6D04 002C2964 7F E5 FB 78 */ mr r5, r31
+/* 802C6D08 002C2968 93 C6 05 70 */ stw r30, 0x570(r6)
+/* 802C6D0C 002C296C 48 00 A7 ED */ bl func_802D14F8
+/* 802C6D10 002C2970 38 60 00 00 */ li r3, 0
+/* 802C6D14 002C2974 48 00 00 08 */ b lbl_802C6D1C
+lbl_802C6D18:
+/* 802C6D18 002C2978 38 60 00 03 */ li r3, 3
+lbl_802C6D1C:
+/* 802C6D1C 002C297C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C6D20 002C2980 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C6D24 002C2984 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C6D28 002C2988 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C6D2C 002C298C 7C 08 03 A6 */ mtlr r0
+/* 802C6D30 002C2990 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C6D34 002C2994 4E 80 00 20 */ blr
+
+.global BTM_WriteStoredLinkKey
+BTM_WriteStoredLinkKey:
+/* 802C6D38 002C2998 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C6D3C 002C299C 7C 08 02 A6 */ mflr r0
+/* 802C6D40 002C29A0 3C E0 80 57 */ lis r7, lbl_80568B78@ha
+/* 802C6D44 002C29A4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C6D48 002C29A8 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l
+/* 802C6D4C 002C29AC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C6D50 002C29B0 7C DF 33 78 */ mr r31, r6
+/* 802C6D54 002C29B4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C6D58 002C29B8 7C BE 2B 78 */ mr r30, r5
+/* 802C6D5C 002C29BC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C6D60 002C29C0 7C 9D 23 78 */ mr r29, r4
+/* 802C6D64 002C29C4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802C6D68 002C29C8 7C 7C 1B 78 */ mr r28, r3
+/* 802C6D6C 002C29CC 80 07 05 70 */ lwz r0, 0x570(r7)
+/* 802C6D70 002C29D0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C6D74 002C29D4 41 82 00 0C */ beq lbl_802C6D80
+/* 802C6D78 002C29D8 38 60 00 02 */ li r3, 2
+/* 802C6D7C 002C29DC 48 00 00 6C */ b lbl_802C6DE8
+lbl_802C6D80:
+/* 802C6D80 002C29E0 88 07 27 C0 */ lbz r0, 0x27c0(r7)
+/* 802C6D84 002C29E4 28 00 00 04 */ cmplwi r0, 4
+/* 802C6D88 002C29E8 41 80 00 1C */ blt lbl_802C6DA4
+/* 802C6D8C 002C29EC 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C6D90 002C29F0 3C 80 80 44 */ lis r4, lbl_804412DC@ha
+/* 802C6D94 002C29F4 7F 85 E3 78 */ mr r5, r28
+/* 802C6D98 002C29F8 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C6D9C 002C29FC 38 84 12 DC */ addi r4, r4, lbl_804412DC@l
+/* 802C6DA0 002C2A00 4B FF 61 89 */ bl LogMsg_1
+lbl_802C6DA4:
+/* 802C6DA4 002C2A04 28 1C 00 0B */ cmplwi r28, 0xb
+/* 802C6DA8 002C2A08 40 81 00 08 */ ble lbl_802C6DB0
+/* 802C6DAC 002C2A0C 3B 80 00 0B */ li r28, 0xb
+lbl_802C6DB0:
+/* 802C6DB0 002C2A10 38 60 00 02 */ li r3, 2
+/* 802C6DB4 002C2A14 4B FF 2E 99 */ bl GKI_getpoolbuf
+/* 802C6DB8 002C2A18 2C 03 00 00 */ cmpwi r3, 0
+/* 802C6DBC 002C2A1C 41 82 00 28 */ beq lbl_802C6DE4
+/* 802C6DC0 002C2A20 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C6DC4 002C2A24 7F 84 E3 78 */ mr r4, r28
+/* 802C6DC8 002C2A28 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C6DCC 002C2A2C 7F A5 EB 78 */ mr r5, r29
+/* 802C6DD0 002C2A30 93 E6 05 70 */ stw r31, 0x570(r6)
+/* 802C6DD4 002C2A34 7F C6 F3 78 */ mr r6, r30
+/* 802C6DD8 002C2A38 48 00 A7 81 */ bl func_802D1558
+/* 802C6DDC 002C2A3C 38 60 00 00 */ li r3, 0
+/* 802C6DE0 002C2A40 48 00 00 08 */ b lbl_802C6DE8
+lbl_802C6DE4:
+/* 802C6DE4 002C2A44 38 60 00 03 */ li r3, 3
+lbl_802C6DE8:
+/* 802C6DE8 002C2A48 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C6DEC 002C2A4C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C6DF0 002C2A50 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C6DF4 002C2A54 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C6DF8 002C2A58 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802C6DFC 002C2A5C 7C 08 03 A6 */ mtlr r0
+/* 802C6E00 002C2A60 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C6E04 002C2A64 4E 80 00 20 */ blr
+
+.global BTM_DeleteStoredLinkKey
+BTM_DeleteStoredLinkKey:
+/* 802C6E08 002C2A68 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C6E0C 002C2A6C 7C 08 02 A6 */ mflr r0
+/* 802C6E10 002C2A70 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C6E14 002C2A74 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C6E18 002C2A78 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C6E1C 002C2A7C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C6E20 002C2A80 3B E0 00 00 */ li r31, 0
+/* 802C6E24 002C2A84 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C6E28 002C2A88 7C 9E 23 78 */ mr r30, r4
+/* 802C6E2C 002C2A8C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C6E30 002C2A90 7C 7D 1B 78 */ mr r29, r3
+/* 802C6E34 002C2A94 80 05 05 70 */ lwz r0, 0x570(r5)
+/* 802C6E38 002C2A98 2C 00 00 00 */ cmpwi r0, 0
+/* 802C6E3C 002C2A9C 41 82 00 0C */ beq lbl_802C6E48
+/* 802C6E40 002C2AA0 38 60 00 02 */ li r3, 2
+/* 802C6E44 002C2AA4 48 00 00 78 */ b lbl_802C6EBC
+lbl_802C6E48:
+/* 802C6E48 002C2AA8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C6E4C 002C2AAC 40 82 00 0C */ bne lbl_802C6E58
+/* 802C6E50 002C2AB0 3B E0 00 01 */ li r31, 1
+/* 802C6E54 002C2AB4 3B A1 00 08 */ addi r29, r1, 8
+lbl_802C6E58:
+/* 802C6E58 002C2AB8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C6E5C 002C2ABC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C6E60 002C2AC0 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C6E64 002C2AC4 28 00 00 04 */ cmplwi r0, 4
+/* 802C6E68 002C2AC8 41 80 00 28 */ blt lbl_802C6E90
+/* 802C6E6C 002C2ACC 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C6E70 002C2AD0 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802C6E74 002C2AD4 3C 80 80 44 */ lis r4, lbl_80441308@ha
+/* 802C6E78 002C2AD8 38 AD 8A 44 */ addi r5, r13, lbl_8063DD04-_SDA_BASE_
+/* 802C6E7C 002C2ADC 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802C6E80 002C2AE0 38 84 13 08 */ addi r4, r4, lbl_80441308@l
+/* 802C6E84 002C2AE4 41 82 00 08 */ beq lbl_802C6E8C
+/* 802C6E88 002C2AE8 38 AD 8A 3C */ addi r5, r13, lbl_8063DCFC-_SDA_BASE_
+lbl_802C6E8C:
+/* 802C6E8C 002C2AEC 4B FF 60 9D */ bl LogMsg_1
+lbl_802C6E90:
+/* 802C6E90 002C2AF0 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C6E94 002C2AF4 7F A3 EB 78 */ mr r3, r29
+/* 802C6E98 002C2AF8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C6E9C 002C2AFC 7F E4 FB 78 */ mr r4, r31
+/* 802C6EA0 002C2B00 93 C5 05 70 */ stw r30, 0x570(r5)
+/* 802C6EA4 002C2B04 48 00 A8 75 */ bl func_802D1718
+/* 802C6EA8 002C2B08 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C6EAC 002C2B0C 40 82 00 0C */ bne lbl_802C6EB8
+/* 802C6EB0 002C2B10 38 60 00 03 */ li r3, 3
+/* 802C6EB4 002C2B14 48 00 00 08 */ b lbl_802C6EBC
+lbl_802C6EB8:
+/* 802C6EB8 002C2B18 38 60 00 00 */ li r3, 0
+lbl_802C6EBC:
+/* 802C6EBC 002C2B1C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C6EC0 002C2B20 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C6EC4 002C2B24 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C6EC8 002C2B28 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C6ECC 002C2B2C 7C 08 03 A6 */ mtlr r0
+/* 802C6ED0 002C2B30 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C6ED4 002C2B34 4E 80 00 20 */ blr
+
+.global btm_read_stored_link_key_complete
+btm_read_stored_link_key_complete:
+/* 802C6ED8 002C2B38 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C6EDC 002C2B3C 7C 08 02 A6 */ mflr r0
+/* 802C6EE0 002C2B40 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6EE4 002C2B44 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C6EE8 002C2B48 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6EEC 002C2B4C 38 00 00 00 */ li r0, 0
+/* 802C6EF0 002C2B50 81 84 05 70 */ lwz r12, 0x570(r4)
+/* 802C6EF4 002C2B54 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C6EF8 002C2B58 90 04 05 70 */ stw r0, 0x570(r4)
+/* 802C6EFC 002C2B5C 41 82 00 48 */ beq lbl_802C6F44
+/* 802C6F00 002C2B60 38 00 00 02 */ li r0, 2
+/* 802C6F04 002C2B64 98 01 00 08 */ stb r0, 8(r1)
+/* 802C6F08 002C2B68 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C6F0C 002C2B6C 98 01 00 09 */ stb r0, 9(r1)
+/* 802C6F10 002C2B70 88 03 00 02 */ lbz r0, 2(r3)
+/* 802C6F14 002C2B74 88 83 00 01 */ lbz r4, 1(r3)
+/* 802C6F18 002C2B78 54 00 40 2E */ slwi r0, r0, 8
+/* 802C6F1C 002C2B7C 7C 04 02 14 */ add r0, r4, r0
+/* 802C6F20 002C2B80 B0 01 00 0A */ sth r0, 0xa(r1)
+/* 802C6F24 002C2B84 88 03 00 04 */ lbz r0, 4(r3)
+/* 802C6F28 002C2B88 88 83 00 03 */ lbz r4, 3(r3)
+/* 802C6F2C 002C2B8C 38 61 00 08 */ addi r3, r1, 8
+/* 802C6F30 002C2B90 54 00 40 2E */ slwi r0, r0, 8
+/* 802C6F34 002C2B94 7C 04 02 14 */ add r0, r4, r0
+/* 802C6F38 002C2B98 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 802C6F3C 002C2B9C 7D 89 03 A6 */ mtctr r12
+/* 802C6F40 002C2BA0 4E 80 04 21 */ bctrl
+lbl_802C6F44:
+/* 802C6F44 002C2BA4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C6F48 002C2BA8 7C 08 03 A6 */ mtlr r0
+/* 802C6F4C 002C2BAC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C6F50 002C2BB0 4E 80 00 20 */ blr
+
+.global btm_write_stored_link_key_complete
+btm_write_stored_link_key_complete:
+/* 802C6F54 002C2BB4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C6F58 002C2BB8 7C 08 02 A6 */ mflr r0
+/* 802C6F5C 002C2BBC 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6F60 002C2BC0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C6F64 002C2BC4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6F68 002C2BC8 38 00 00 00 */ li r0, 0
+/* 802C6F6C 002C2BCC 81 84 05 70 */ lwz r12, 0x570(r4)
+/* 802C6F70 002C2BD0 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C6F74 002C2BD4 90 04 05 70 */ stw r0, 0x570(r4)
+/* 802C6F78 002C2BD8 41 82 00 28 */ beq lbl_802C6FA0
+/* 802C6F7C 002C2BDC 38 00 00 03 */ li r0, 3
+/* 802C6F80 002C2BE0 98 01 00 08 */ stb r0, 8(r1)
+/* 802C6F84 002C2BE4 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C6F88 002C2BE8 98 01 00 09 */ stb r0, 9(r1)
+/* 802C6F8C 002C2BEC 88 03 00 01 */ lbz r0, 1(r3)
+/* 802C6F90 002C2BF0 38 61 00 08 */ addi r3, r1, 8
+/* 802C6F94 002C2BF4 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802C6F98 002C2BF8 7D 89 03 A6 */ mtctr r12
+/* 802C6F9C 002C2BFC 4E 80 04 21 */ bctrl
+lbl_802C6FA0:
+/* 802C6FA0 002C2C00 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C6FA4 002C2C04 7C 08 03 A6 */ mtlr r0
+/* 802C6FA8 002C2C08 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C6FAC 002C2C0C 4E 80 00 20 */ blr
+
+.global btm_delete_stored_link_key_complete
+btm_delete_stored_link_key_complete:
+/* 802C6FB0 002C2C10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C6FB4 002C2C14 7C 08 02 A6 */ mflr r0
+/* 802C6FB8 002C2C18 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C6FBC 002C2C1C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C6FC0 002C2C20 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C6FC4 002C2C24 38 00 00 00 */ li r0, 0
+/* 802C6FC8 002C2C28 81 84 05 70 */ lwz r12, 0x570(r4)
+/* 802C6FCC 002C2C2C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C6FD0 002C2C30 90 04 05 70 */ stw r0, 0x570(r4)
+/* 802C6FD4 002C2C34 41 82 00 34 */ beq lbl_802C7008
+/* 802C6FD8 002C2C38 38 00 00 04 */ li r0, 4
+/* 802C6FDC 002C2C3C 98 01 00 08 */ stb r0, 8(r1)
+/* 802C6FE0 002C2C40 88 03 00 00 */ lbz r0, 0(r3)
+/* 802C6FE4 002C2C44 98 01 00 09 */ stb r0, 9(r1)
+/* 802C6FE8 002C2C48 88 03 00 02 */ lbz r0, 2(r3)
+/* 802C6FEC 002C2C4C 88 83 00 01 */ lbz r4, 1(r3)
+/* 802C6FF0 002C2C50 38 61 00 08 */ addi r3, r1, 8
+/* 802C6FF4 002C2C54 54 00 40 2E */ slwi r0, r0, 8
+/* 802C6FF8 002C2C58 7C 04 02 14 */ add r0, r4, r0
+/* 802C6FFC 002C2C5C B0 01 00 0A */ sth r0, 0xa(r1)
+/* 802C7000 002C2C60 7D 89 03 A6 */ mtctr r12
+/* 802C7004 002C2C64 4E 80 04 21 */ bctrl
+lbl_802C7008:
+/* 802C7008 002C2C68 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C700C 002C2C6C 7C 08 03 A6 */ mtlr r0
+/* 802C7010 002C2C70 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C7014 002C2C74 4E 80 00 20 */ blr
+
+.global btm_return_link_keys_evt
+btm_return_link_keys_evt:
+/* 802C7018 002C2C78 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C701C 002C2C7C 7C 08 02 A6 */ mflr r0
+/* 802C7020 002C2C80 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C7024 002C2C84 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C7028 002C2C88 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C702C 002C2C8C 81 84 05 70 */ lwz r12, 0x570(r4)
+/* 802C7030 002C2C90 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C7034 002C2C94 41 82 01 60 */ beq lbl_802C7194
+/* 802C7038 002C2C98 38 A3 00 02 */ addi r5, r3, 2
+/* 802C703C 002C2C9C 38 80 00 00 */ li r4, 0
+/* 802C7040 002C2CA0 48 00 01 3C */ b lbl_802C717C
+lbl_802C7044:
+/* 802C7044 002C2CA4 89 65 00 00 */ lbz r11, 0(r5)
+/* 802C7048 002C2CA8 38 84 00 01 */ addi r4, r4, 1
+/* 802C704C 002C2CAC 89 45 00 01 */ lbz r10, 1(r5)
+/* 802C7050 002C2CB0 89 25 00 02 */ lbz r9, 2(r5)
+/* 802C7054 002C2CB4 89 05 00 03 */ lbz r8, 3(r5)
+/* 802C7058 002C2CB8 88 E5 00 04 */ lbz r7, 4(r5)
+/* 802C705C 002C2CBC 88 C5 00 05 */ lbz r6, 5(r5)
+/* 802C7060 002C2CC0 88 05 00 06 */ lbz r0, 6(r5)
+/* 802C7064 002C2CC4 98 01 00 17 */ stb r0, 0x17(r1)
+/* 802C7068 002C2CC8 88 05 00 07 */ lbz r0, 7(r5)
+/* 802C706C 002C2CCC 98 01 00 16 */ stb r0, 0x16(r1)
+/* 802C7070 002C2CD0 88 05 00 08 */ lbz r0, 8(r5)
+/* 802C7074 002C2CD4 98 01 00 15 */ stb r0, 0x15(r1)
+/* 802C7078 002C2CD8 88 05 00 09 */ lbz r0, 9(r5)
+/* 802C707C 002C2CDC 98 01 00 14 */ stb r0, 0x14(r1)
+/* 802C7080 002C2CE0 88 05 00 0A */ lbz r0, 0xa(r5)
+/* 802C7084 002C2CE4 98 01 00 13 */ stb r0, 0x13(r1)
+/* 802C7088 002C2CE8 88 05 00 0B */ lbz r0, 0xb(r5)
+/* 802C708C 002C2CEC 98 01 00 12 */ stb r0, 0x12(r1)
+/* 802C7090 002C2CF0 88 05 00 0C */ lbz r0, 0xc(r5)
+/* 802C7094 002C2CF4 98 01 00 11 */ stb r0, 0x11(r1)
+/* 802C7098 002C2CF8 88 05 00 0D */ lbz r0, 0xd(r5)
+/* 802C709C 002C2CFC 98 01 00 10 */ stb r0, 0x10(r1)
+/* 802C70A0 002C2D00 88 05 00 0E */ lbz r0, 0xe(r5)
+/* 802C70A4 002C2D04 98 01 00 0F */ stb r0, 0xf(r1)
+/* 802C70A8 002C2D08 88 05 00 0F */ lbz r0, 0xf(r5)
+/* 802C70AC 002C2D0C 98 01 00 0E */ stb r0, 0xe(r1)
+/* 802C70B0 002C2D10 88 05 00 10 */ lbz r0, 0x10(r5)
+/* 802C70B4 002C2D14 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802C70B8 002C2D18 88 05 00 11 */ lbz r0, 0x11(r5)
+/* 802C70BC 002C2D1C 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802C70C0 002C2D20 88 05 00 12 */ lbz r0, 0x12(r5)
+/* 802C70C4 002C2D24 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802C70C8 002C2D28 88 05 00 13 */ lbz r0, 0x13(r5)
+/* 802C70CC 002C2D2C 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802C70D0 002C2D30 88 05 00 14 */ lbz r0, 0x14(r5)
+/* 802C70D4 002C2D34 98 01 00 09 */ stb r0, 9(r1)
+/* 802C70D8 002C2D38 88 05 00 15 */ lbz r0, 0x15(r5)
+/* 802C70DC 002C2D3C 98 01 00 08 */ stb r0, 8(r1)
+/* 802C70E0 002C2D40 98 C5 00 00 */ stb r6, 0(r5)
+/* 802C70E4 002C2D44 98 E5 00 01 */ stb r7, 1(r5)
+/* 802C70E8 002C2D48 99 05 00 02 */ stb r8, 2(r5)
+/* 802C70EC 002C2D4C 99 25 00 03 */ stb r9, 3(r5)
+/* 802C70F0 002C2D50 99 45 00 04 */ stb r10, 4(r5)
+/* 802C70F4 002C2D54 99 65 00 05 */ stb r11, 5(r5)
+/* 802C70F8 002C2D58 88 01 00 08 */ lbz r0, 8(r1)
+/* 802C70FC 002C2D5C 98 05 00 06 */ stb r0, 6(r5)
+/* 802C7100 002C2D60 88 01 00 09 */ lbz r0, 9(r1)
+/* 802C7104 002C2D64 98 05 00 07 */ stb r0, 7(r5)
+/* 802C7108 002C2D68 88 01 00 0A */ lbz r0, 0xa(r1)
+/* 802C710C 002C2D6C 98 05 00 08 */ stb r0, 8(r5)
+/* 802C7110 002C2D70 88 01 00 0B */ lbz r0, 0xb(r1)
+/* 802C7114 002C2D74 98 05 00 09 */ stb r0, 9(r5)
+/* 802C7118 002C2D78 88 01 00 0C */ lbz r0, 0xc(r1)
+/* 802C711C 002C2D7C 98 05 00 0A */ stb r0, 0xa(r5)
+/* 802C7120 002C2D80 88 01 00 0D */ lbz r0, 0xd(r1)
+/* 802C7124 002C2D84 98 05 00 0B */ stb r0, 0xb(r5)
+/* 802C7128 002C2D88 88 01 00 0E */ lbz r0, 0xe(r1)
+/* 802C712C 002C2D8C 98 05 00 0C */ stb r0, 0xc(r5)
+/* 802C7130 002C2D90 88 01 00 0F */ lbz r0, 0xf(r1)
+/* 802C7134 002C2D94 98 05 00 0D */ stb r0, 0xd(r5)
+/* 802C7138 002C2D98 88 01 00 10 */ lbz r0, 0x10(r1)
+/* 802C713C 002C2D9C 98 05 00 0E */ stb r0, 0xe(r5)
+/* 802C7140 002C2DA0 88 01 00 11 */ lbz r0, 0x11(r1)
+/* 802C7144 002C2DA4 98 05 00 0F */ stb r0, 0xf(r5)
+/* 802C7148 002C2DA8 88 01 00 12 */ lbz r0, 0x12(r1)
+/* 802C714C 002C2DAC 98 05 00 10 */ stb r0, 0x10(r5)
+/* 802C7150 002C2DB0 88 01 00 13 */ lbz r0, 0x13(r1)
+/* 802C7154 002C2DB4 98 05 00 11 */ stb r0, 0x11(r5)
+/* 802C7158 002C2DB8 88 01 00 14 */ lbz r0, 0x14(r1)
+/* 802C715C 002C2DBC 98 05 00 12 */ stb r0, 0x12(r5)
+/* 802C7160 002C2DC0 88 01 00 15 */ lbz r0, 0x15(r1)
+/* 802C7164 002C2DC4 98 05 00 13 */ stb r0, 0x13(r5)
+/* 802C7168 002C2DC8 88 01 00 16 */ lbz r0, 0x16(r1)
+/* 802C716C 002C2DCC 98 05 00 14 */ stb r0, 0x14(r5)
+/* 802C7170 002C2DD0 88 01 00 17 */ lbz r0, 0x17(r1)
+/* 802C7174 002C2DD4 98 05 00 15 */ stb r0, 0x15(r5)
+/* 802C7178 002C2DD8 38 A5 00 16 */ addi r5, r5, 0x16
+lbl_802C717C:
+/* 802C717C 002C2DDC 88 03 00 01 */ lbz r0, 1(r3)
+/* 802C7180 002C2DE0 54 86 06 3E */ clrlwi r6, r4, 0x18
+/* 802C7184 002C2DE4 7C 06 00 40 */ cmplw r6, r0
+/* 802C7188 002C2DE8 41 80 FE BC */ blt lbl_802C7044
+/* 802C718C 002C2DEC 7D 89 03 A6 */ mtctr r12
+/* 802C7190 002C2DF0 4E 80 04 21 */ bctrl
+lbl_802C7194:
+/* 802C7194 002C2DF4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C7198 002C2DF8 7C 08 03 A6 */ mtlr r0
+/* 802C719C 002C2DFC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C71A0 002C2E00 4E 80 00 20 */ blr
+
+.global btm_report_device_status
+btm_report_device_status:
+/* 802C71A4 002C2E04 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C71A8 002C2E08 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C71AC 002C2E0C 81 84 05 68 */ lwz r12, 0x568(r4)
+/* 802C71B0 002C2E10 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C71B4 002C2E14 4D 82 00 20 */ beqlr
+/* 802C71B8 002C2E18 7D 89 03 A6 */ mtctr r12
+/* 802C71BC 002C2E1C 4E 80 04 20 */ bctr
+/* 802C71C0 002C2E20 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btm_discovery.s b/asm/SDK/BTE/btm_discovery.s
new file mode 100644
index 0000000..2bbf878
--- /dev/null
+++ b/asm/SDK/BTE/btm_discovery.s
@@ -0,0 +1,90 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global btm_discovery_db_init
+btm_discovery_db_init:
+/* 802C71C4 002C2E24 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C71C8 002C2E28 7C 08 02 A6 */ mflr r0
+/* 802C71CC 002C2E2C 38 80 00 00 */ li r4, 0
+/* 802C71D0 002C2E30 38 A0 10 20 */ li r5, 0x1020
+/* 802C71D4 002C2E34 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C71D8 002C2E38 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C71DC 002C2E3C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C71E0 002C2E40 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C71E4 002C2E44 38 1F 06 D4 */ addi r0, r31, 0x6d4
+/* 802C71E8 002C2E48 90 1F 16 78 */ stw r0, 0x1678(r31)
+/* 802C71EC 002C2E4C 38 7F 06 58 */ addi r3, r31, 0x658
+/* 802C71F0 002C2E50 4B D3 CF 15 */ bl memset
+/* 802C71F4 002C2E54 38 60 00 01 */ li r3, 1
+/* 802C71F8 002C2E58 38 80 00 02 */ li r4, 2
+/* 802C71FC 002C2E5C 38 00 10 02 */ li r0, 0x1002
+/* 802C7200 002C2E60 B0 7F 06 70 */ sth r3, 0x670(r31)
+/* 802C7204 002C2E64 80 7F 16 78 */ lwz r3, 0x1678(r31)
+/* 802C7208 002C2E68 38 DF 06 74 */ addi r6, r31, 0x674
+/* 802C720C 002C2E6C B0 9F 06 74 */ sth r4, 0x674(r31)
+/* 802C7210 002C2E70 38 80 0F A0 */ li r4, 0xfa0
+/* 802C7214 002C2E74 38 A0 00 01 */ li r5, 1
+/* 802C7218 002C2E78 38 E0 00 00 */ li r7, 0
+/* 802C721C 002C2E7C B0 1F 06 78 */ sth r0, 0x678(r31)
+/* 802C7220 002C2E80 39 00 00 00 */ li r8, 0
+/* 802C7224 002C2E84 48 01 AB C5 */ bl func_802E1DE8
+/* 802C7228 002C2E88 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C722C 002C2E8C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C7230 002C2E90 7C 08 03 A6 */ mtlr r0
+/* 802C7234 002C2E94 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C7238 002C2E98 4E 80 00 20 */ blr
+
+.global btm_discovery_db_reset
+btm_discovery_db_reset:
+/* 802C723C 002C2E9C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C7240 002C2EA0 7C 08 02 A6 */ mflr r0
+/* 802C7244 002C2EA4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C7248 002C2EA8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C724C 002C2EAC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C7250 002C2EB0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C7254 002C2EB4 38 7F 06 58 */ addi r3, r31, 0x658
+/* 802C7258 002C2EB8 4B FF 62 F5 */ bl btu_stop_timer
+/* 802C725C 002C2EBC 88 1F 16 74 */ lbz r0, 0x1674(r31)
+/* 802C7260 002C2EC0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7264 002C2EC4 41 82 00 28 */ beq lbl_802C728C
+/* 802C7268 002C2EC8 81 9F 06 D0 */ lwz r12, 0x6d0(r31)
+/* 802C726C 002C2ECC 38 00 00 00 */ li r0, 0
+/* 802C7270 002C2ED0 98 1F 16 74 */ stb r0, 0x1674(r31)
+/* 802C7274 002C2ED4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C7278 002C2ED8 90 1F 06 D0 */ stw r0, 0x6d0(r31)
+/* 802C727C 002C2EDC 41 82 00 10 */ beq lbl_802C728C
+/* 802C7280 002C2EE0 38 60 00 00 */ li r3, 0
+/* 802C7284 002C2EE4 7D 89 03 A6 */ mtctr r12
+/* 802C7288 002C2EE8 4E 80 04 21 */ bctrl
+lbl_802C728C:
+/* 802C728C 002C2EEC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C7290 002C2EF0 38 80 00 00 */ li r4, 0
+/* 802C7294 002C2EF4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C7298 002C2EF8 38 A0 10 20 */ li r5, 0x1020
+/* 802C729C 002C2EFC 38 1F 06 D4 */ addi r0, r31, 0x6d4
+/* 802C72A0 002C2F00 90 1F 16 78 */ stw r0, 0x1678(r31)
+/* 802C72A4 002C2F04 38 7F 06 58 */ addi r3, r31, 0x658
+/* 802C72A8 002C2F08 4B D3 CE 5D */ bl memset
+/* 802C72AC 002C2F0C 38 60 00 01 */ li r3, 1
+/* 802C72B0 002C2F10 38 80 00 02 */ li r4, 2
+/* 802C72B4 002C2F14 38 00 10 02 */ li r0, 0x1002
+/* 802C72B8 002C2F18 B0 7F 06 70 */ sth r3, 0x670(r31)
+/* 802C72BC 002C2F1C 80 7F 16 78 */ lwz r3, 0x1678(r31)
+/* 802C72C0 002C2F20 38 DF 06 74 */ addi r6, r31, 0x674
+/* 802C72C4 002C2F24 B0 9F 06 74 */ sth r4, 0x674(r31)
+/* 802C72C8 002C2F28 38 80 0F A0 */ li r4, 0xfa0
+/* 802C72CC 002C2F2C 38 A0 00 01 */ li r5, 1
+/* 802C72D0 002C2F30 38 E0 00 00 */ li r7, 0
+/* 802C72D4 002C2F34 B0 1F 06 78 */ sth r0, 0x678(r31)
+/* 802C72D8 002C2F38 39 00 00 00 */ li r8, 0
+/* 802C72DC 002C2F3C 48 01 AB 0D */ bl func_802E1DE8
+/* 802C72E0 002C2F40 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C72E4 002C2F44 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C72E8 002C2F48 7C 08 03 A6 */ mtlr r0
+/* 802C72EC 002C2F4C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C72F0 002C2F50 4E 80 00 20 */ blr
+
+.global btm_discovery_timeout
+btm_discovery_timeout:
+/* 802C72F4 002C2F54 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btm_inq.s b/asm/SDK/BTE/btm_inq.s
new file mode 100644
index 0000000..a9974af
--- /dev/null
+++ b/asm/SDK/BTE/btm_inq.s
@@ -0,0 +1,1965 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global BTM_SetDiscoverability
+BTM_SetDiscoverability:
+/* 802C72F8 002C2F58 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C72FC 002C2F5C 7C 08 02 A6 */ mflr r0
+/* 802C7300 002C2F60 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C7304 002C2F64 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C7308 002C2F68 4B EF FE 21 */ bl _savegpr_27
+/* 802C730C 002C2F6C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C7310 002C2F70 7C 7F 1B 78 */ mr r31, r3
+/* 802C7314 002C2F74 7C 9B 23 78 */ mr r27, r4
+/* 802C7318 002C2F78 7C BC 2B 78 */ mr r28, r5
+/* 802C731C 002C2F7C 3B C0 00 00 */ li r30, 0
+/* 802C7320 002C2F80 41 82 00 1C */ beq lbl_802C733C
+/* 802C7324 002C2F84 28 03 00 01 */ cmplwi r3, 1
+/* 802C7328 002C2F88 41 82 00 14 */ beq lbl_802C733C
+/* 802C732C 002C2F8C 28 03 00 02 */ cmplwi r3, 2
+/* 802C7330 002C2F90 41 82 00 0C */ beq lbl_802C733C
+/* 802C7334 002C2F94 38 60 00 05 */ li r3, 5
+/* 802C7338 002C2F98 48 00 02 2C */ b lbl_802C7564
+lbl_802C733C:
+/* 802C733C 002C2F9C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C7340 002C2FA0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C7344 002C2FA4 88 03 06 4E */ lbz r0, 0x64e(r3)
+/* 802C7348 002C2FA8 28 00 00 03 */ cmplwi r0, 3
+/* 802C734C 002C2FAC 40 80 00 0C */ bge lbl_802C7358
+/* 802C7350 002C2FB0 38 60 00 0C */ li r3, 0xc
+/* 802C7354 002C2FB4 48 00 02 10 */ b lbl_802C7564
+lbl_802C7358:
+/* 802C7358 002C2FB8 2C 04 00 00 */ cmpwi r4, 0
+/* 802C735C 002C2FBC 40 82 00 08 */ bne lbl_802C7364
+/* 802C7360 002C2FC0 3B 60 00 12 */ li r27, 0x12
+lbl_802C7364:
+/* 802C7364 002C2FC4 2C 05 00 00 */ cmpwi r5, 0
+/* 802C7368 002C2FC8 40 82 00 08 */ bne lbl_802C7370
+/* 802C736C 002C2FCC 3B 80 08 00 */ li r28, 0x800
+lbl_802C7370:
+/* 802C7370 002C2FD0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C7374 002C2FD4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C7378 002C2FD8 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C737C 002C2FDC 28 00 00 03 */ cmplwi r0, 3
+/* 802C7380 002C2FE0 41 80 00 24 */ blt lbl_802C73A4
+/* 802C7384 002C2FE4 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C7388 002C2FE8 3C 80 80 44 */ lis r4, lbl_80441340@ha
+/* 802C738C 002C2FEC 7F E5 FB 78 */ mr r5, r31
+/* 802C7390 002C2FF0 7F 66 DB 78 */ mr r6, r27
+/* 802C7394 002C2FF4 7F 87 E3 78 */ mr r7, r28
+/* 802C7398 002C2FF8 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C739C 002C2FFC 38 84 13 40 */ addi r4, r4, lbl_80441340@l
+/* 802C73A0 002C3000 4B FF 5B B9 */ bl LogMsg_3
+lbl_802C73A4:
+/* 802C73A4 002C3004 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C73A8 002C3008 41 82 00 34 */ beq lbl_802C73DC
+/* 802C73AC 002C300C 28 1B 00 12 */ cmplwi r27, 0x12
+/* 802C73B0 002C3010 41 80 00 24 */ blt lbl_802C73D4
+/* 802C73B4 002C3014 28 1B 10 00 */ cmplwi r27, 0x1000
+/* 802C73B8 002C3018 41 81 00 1C */ bgt lbl_802C73D4
+/* 802C73BC 002C301C 28 1C 00 12 */ cmplwi r28, 0x12
+/* 802C73C0 002C3020 41 80 00 14 */ blt lbl_802C73D4
+/* 802C73C4 002C3024 28 1C 10 00 */ cmplwi r28, 0x1000
+/* 802C73C8 002C3028 41 81 00 0C */ bgt lbl_802C73D4
+/* 802C73CC 002C302C 7C 1B E0 40 */ cmplw r27, r28
+/* 802C73D0 002C3030 40 81 00 0C */ ble lbl_802C73DC
+lbl_802C73D4:
+/* 802C73D4 002C3034 38 60 00 05 */ li r3, 5
+/* 802C73D8 002C3038 48 00 01 8C */ b lbl_802C7564
+lbl_802C73DC:
+/* 802C73DC 002C303C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C73E0 002C3040 41 82 00 70 */ beq lbl_802C7450
+/* 802C73E4 002C3044 38 60 00 02 */ li r3, 2
+/* 802C73E8 002C3048 4B FF 28 65 */ bl GKI_getpoolbuf
+/* 802C73EC 002C304C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C73F0 002C3050 7C 7D 1B 78 */ mr r29, r3
+/* 802C73F4 002C3054 41 82 00 54 */ beq lbl_802C7448
+/* 802C73F8 002C3058 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802C73FC 002C305C 41 82 00 38 */ beq lbl_802C7434
+/* 802C7400 002C3060 38 61 00 0C */ addi r3, r1, 0xc
+/* 802C7404 002C3064 38 82 A4 74 */ addi r4, r2, lbl_80642A74-_SDA2_BASE_
+/* 802C7408 002C3068 38 A0 00 03 */ li r5, 3
+/* 802C740C 002C306C 4B D3 CB F5 */ bl memcpy
+/* 802C7410 002C3070 38 61 00 0F */ addi r3, r1, 0xf
+/* 802C7414 002C3074 38 82 A4 70 */ addi r4, r2, lbl_80642A70-_SDA2_BASE_
+/* 802C7418 002C3078 38 A0 00 03 */ li r5, 3
+/* 802C741C 002C307C 4B D3 CB E5 */ bl memcpy
+/* 802C7420 002C3080 7F A3 EB 78 */ mr r3, r29
+/* 802C7424 002C3084 38 A1 00 0C */ addi r5, r1, 0xc
+/* 802C7428 002C3088 38 80 00 02 */ li r4, 2
+/* 802C742C 002C308C 48 00 A8 8D */ bl func_802D1CB8
+/* 802C7430 002C3090 48 00 00 10 */ b lbl_802C7440
+lbl_802C7434:
+/* 802C7434 002C3094 38 80 00 01 */ li r4, 1
+/* 802C7438 002C3098 38 A2 A4 70 */ addi r5, r2, lbl_80642A70-_SDA2_BASE_
+/* 802C743C 002C309C 48 00 A8 7D */ bl func_802D1CB8
+lbl_802C7440:
+/* 802C7440 002C30A0 63 DE 00 01 */ ori r30, r30, 1
+/* 802C7444 002C30A4 48 00 00 0C */ b lbl_802C7450
+lbl_802C7448:
+/* 802C7448 002C30A8 38 60 00 03 */ li r3, 3
+/* 802C744C 002C30AC 48 00 01 18 */ b lbl_802C7564
+lbl_802C7450:
+/* 802C7450 002C30B0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C7454 002C30B4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C7458 002C30B8 A0 03 16 A0 */ lhz r0, 0x16a0(r3)
+/* 802C745C 002C30BC 7C 1B 00 40 */ cmplw r27, r0
+/* 802C7460 002C30C0 40 82 00 10 */ bne lbl_802C7470
+/* 802C7464 002C30C4 A0 03 16 A2 */ lhz r0, 0x16a2(r3)
+/* 802C7468 002C30C8 7C 1C 00 40 */ cmplw r28, r0
+/* 802C746C 002C30CC 41 82 00 3C */ beq lbl_802C74A8
+lbl_802C7470:
+/* 802C7470 002C30D0 38 60 00 02 */ li r3, 2
+/* 802C7474 002C30D4 4B FF 27 D9 */ bl GKI_getpoolbuf
+/* 802C7478 002C30D8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C747C 002C30DC 41 82 00 24 */ beq lbl_802C74A0
+/* 802C7480 002C30E0 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C7484 002C30E4 7F 84 E3 78 */ mr r4, r28
+/* 802C7488 002C30E8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C748C 002C30EC 7F 65 DB 78 */ mr r5, r27
+/* 802C7490 002C30F0 B3 66 16 A0 */ sth r27, 0x16a0(r6)
+/* 802C7494 002C30F4 B3 86 16 A2 */ sth r28, 0x16a2(r6)
+/* 802C7498 002C30F8 48 00 A5 1D */ bl func_802D19B4
+/* 802C749C 002C30FC 48 00 00 0C */ b lbl_802C74A8
+lbl_802C74A0:
+/* 802C74A0 002C3100 38 60 00 03 */ li r3, 3
+/* 802C74A4 002C3104 48 00 00 C0 */ b lbl_802C7564
+lbl_802C74A8:
+/* 802C74A8 002C3108 38 60 00 02 */ li r3, 2
+/* 802C74AC 002C310C 4B FF 27 A1 */ bl GKI_getpoolbuf
+/* 802C74B0 002C3110 2C 03 00 00 */ cmpwi r3, 0
+/* 802C74B4 002C3114 41 82 00 38 */ beq lbl_802C74EC
+/* 802C74B8 002C3118 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C74BC 002C311C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C74C0 002C3120 A0 04 16 9A */ lhz r0, 0x169a(r4)
+/* 802C74C4 002C3124 2C 00 00 00 */ cmpwi r0, 0
+/* 802C74C8 002C3128 41 82 00 0C */ beq lbl_802C74D4
+/* 802C74CC 002C312C 63 C0 00 02 */ ori r0, r30, 2
+/* 802C74D0 002C3130 54 1E 06 3E */ clrlwi r30, r0, 0x18
+lbl_802C74D4:
+/* 802C74D4 002C3134 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C74D8 002C3138 57 C4 06 3E */ clrlwi r4, r30, 0x18
+/* 802C74DC 002C313C 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C74E0 002C3140 B3 E5 16 98 */ sth r31, 0x1698(r5)
+/* 802C74E4 002C3144 48 00 A4 5D */ bl func_802D1940
+/* 802C74E8 002C3148 48 00 00 0C */ b lbl_802C74F4
+lbl_802C74EC:
+/* 802C74EC 002C314C 38 60 00 03 */ li r3, 3
+/* 802C74F0 002C3150 48 00 00 74 */ b lbl_802C7564
+lbl_802C74F4:
+/* 802C74F4 002C3154 4B FF F4 5D */ bl BTM_ReadDeviceClass
+/* 802C74F8 002C3158 88 83 00 00 */ lbz r4, 0(r3)
+/* 802C74FC 002C315C 57 E6 07 FE */ clrlwi r6, r31, 0x1f
+/* 802C7500 002C3160 88 A3 00 01 */ lbz r5, 1(r3)
+/* 802C7504 002C3164 54 84 44 2E */ rlwinm r4, r4, 8, 0x10, 0x17
+/* 802C7508 002C3168 54 A0 06 34 */ rlwinm r0, r5, 0, 0x18, 0x1a
+/* 802C750C 002C316C 7C 84 02 14 */ add r4, r4, r0
+/* 802C7510 002C3170 54 80 DF FE */ rlwinm r0, r4, 0x1b, 0x1f, 0x1f
+/* 802C7514 002C3174 7C C0 02 79 */ xor. r0, r6, r0
+/* 802C7518 002C3178 54 84 04 3E */ clrlwi r4, r4, 0x10
+/* 802C751C 002C317C 41 82 00 44 */ beq lbl_802C7560
+/* 802C7520 002C3180 88 63 00 02 */ lbz r3, 2(r3)
+/* 802C7524 002C3184 2C 06 00 00 */ cmpwi r6, 0
+/* 802C7528 002C3188 54 80 06 F2 */ rlwinm r0, r4, 0, 0x1b, 0x19
+/* 802C752C 002C318C 54 A5 06 FE */ clrlwi r5, r5, 0x1b
+/* 802C7530 002C3190 54 66 06 3A */ rlwinm r6, r3, 0, 0x18, 0x1d
+/* 802C7534 002C3194 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802C7538 002C3198 41 82 00 08 */ beq lbl_802C7540
+/* 802C753C 002C319C 60 80 00 20 */ ori r0, r4, 0x20
+lbl_802C7540:
+/* 802C7540 002C31A0 54 03 06 34 */ rlwinm r3, r0, 0, 0x18, 0x1a
+/* 802C7544 002C31A4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802C7548 002C31A8 7C 85 1A 14 */ add r4, r5, r3
+/* 802C754C 002C31AC 98 C1 00 0A */ stb r6, 0xa(r1)
+/* 802C7550 002C31B0 38 61 00 08 */ addi r3, r1, 8
+/* 802C7554 002C31B4 98 81 00 09 */ stb r4, 9(r1)
+/* 802C7558 002C31B8 98 01 00 08 */ stb r0, 8(r1)
+/* 802C755C 002C31BC 4B FF F3 75 */ bl BTM_SetDeviceClass
+lbl_802C7560:
+/* 802C7560 002C31C0 38 60 00 00 */ li r3, 0
+lbl_802C7564:
+/* 802C7564 002C31C4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C7568 002C31C8 4B EF FC 0D */ bl _restgpr_27
+/* 802C756C 002C31CC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C7570 002C31D0 7C 08 03 A6 */ mtlr r0
+/* 802C7574 002C31D4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C7578 002C31D8 4E 80 00 20 */ blr
+
+.global BTM_SetInquiryScanType
+BTM_SetInquiryScanType:
+/* 802C757C 002C31DC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C7580 002C31E0 7C 08 02 A6 */ mflr r0
+/* 802C7584 002C31E4 2C 03 00 00 */ cmpwi r3, 0
+/* 802C7588 002C31E8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C758C 002C31EC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C7590 002C31F0 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C7594 002C31F4 7C 7E 1B 78 */ mr r30, r3
+/* 802C7598 002C31F8 41 82 00 14 */ beq lbl_802C75AC
+/* 802C759C 002C31FC 28 03 00 01 */ cmplwi r3, 1
+/* 802C75A0 002C3200 41 82 00 0C */ beq lbl_802C75AC
+/* 802C75A4 002C3204 38 60 00 05 */ li r3, 5
+/* 802C75A8 002C3208 48 00 00 6C */ b lbl_802C7614
+lbl_802C75AC:
+/* 802C75AC 002C320C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C75B0 002C3210 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C75B4 002C3214 88 1F 06 43 */ lbz r0, 0x643(r31)
+/* 802C75B8 002C3218 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 802C75BC 002C321C 40 82 00 0C */ bne lbl_802C75C8
+/* 802C75C0 002C3220 38 60 00 04 */ li r3, 4
+/* 802C75C4 002C3224 48 00 00 50 */ b lbl_802C7614
+lbl_802C75C8:
+/* 802C75C8 002C3228 A0 1F 16 A4 */ lhz r0, 0x16a4(r31)
+/* 802C75CC 002C322C 7C 03 00 40 */ cmplw r3, r0
+/* 802C75D0 002C3230 41 82 00 40 */ beq lbl_802C7610
+/* 802C75D4 002C3234 4B FF E4 FD */ bl BTM_IsDeviceUp
+/* 802C75D8 002C3238 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C75DC 002C323C 41 82 00 2C */ beq lbl_802C7608
+/* 802C75E0 002C3240 38 60 00 02 */ li r3, 2
+/* 802C75E4 002C3244 4B FF 26 69 */ bl GKI_getpoolbuf
+/* 802C75E8 002C3248 2C 03 00 00 */ cmpwi r3, 0
+/* 802C75EC 002C324C 41 82 00 14 */ beq lbl_802C7600
+/* 802C75F0 002C3250 57 C4 06 3E */ clrlwi r4, r30, 0x18
+/* 802C75F4 002C3254 48 00 AD 8D */ bl func_802D2380
+/* 802C75F8 002C3258 B3 DF 16 A4 */ sth r30, 0x16a4(r31)
+/* 802C75FC 002C325C 48 00 00 14 */ b lbl_802C7610
+lbl_802C7600:
+/* 802C7600 002C3260 38 60 00 03 */ li r3, 3
+/* 802C7604 002C3264 48 00 00 10 */ b lbl_802C7614
+lbl_802C7608:
+/* 802C7608 002C3268 38 60 00 06 */ li r3, 6
+/* 802C760C 002C326C 48 00 00 08 */ b lbl_802C7614
+lbl_802C7610:
+/* 802C7610 002C3270 38 60 00 00 */ li r3, 0
+lbl_802C7614:
+/* 802C7614 002C3274 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C7618 002C3278 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C761C 002C327C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C7620 002C3280 7C 08 03 A6 */ mtlr r0
+/* 802C7624 002C3284 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C7628 002C3288 4E 80 00 20 */ blr
+
+.global BTM_SetPageScanType
+BTM_SetPageScanType:
+/* 802C762C 002C328C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C7630 002C3290 7C 08 02 A6 */ mflr r0
+/* 802C7634 002C3294 2C 03 00 00 */ cmpwi r3, 0
+/* 802C7638 002C3298 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C763C 002C329C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C7640 002C32A0 93 C1 00 08 */ stw r30, 8(r1)
+/* 802C7644 002C32A4 7C 7E 1B 78 */ mr r30, r3
+/* 802C7648 002C32A8 41 82 00 14 */ beq lbl_802C765C
+/* 802C764C 002C32AC 28 03 00 01 */ cmplwi r3, 1
+/* 802C7650 002C32B0 41 82 00 0C */ beq lbl_802C765C
+/* 802C7654 002C32B4 38 60 00 05 */ li r3, 5
+/* 802C7658 002C32B8 48 00 00 6C */ b lbl_802C76C4
+lbl_802C765C:
+/* 802C765C 002C32BC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C7660 002C32C0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C7664 002C32C4 88 1F 06 43 */ lbz r0, 0x643(r31)
+/* 802C7668 002C32C8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802C766C 002C32CC 40 82 00 0C */ bne lbl_802C7678
+/* 802C7670 002C32D0 38 60 00 04 */ li r3, 4
+/* 802C7674 002C32D4 48 00 00 50 */ b lbl_802C76C4
+lbl_802C7678:
+/* 802C7678 002C32D8 A0 1F 16 A6 */ lhz r0, 0x16a6(r31)
+/* 802C767C 002C32DC 7C 03 00 40 */ cmplw r3, r0
+/* 802C7680 002C32E0 41 82 00 40 */ beq lbl_802C76C0
+/* 802C7684 002C32E4 4B FF E4 4D */ bl BTM_IsDeviceUp
+/* 802C7688 002C32E8 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C768C 002C32EC 41 82 00 2C */ beq lbl_802C76B8
+/* 802C7690 002C32F0 38 60 00 02 */ li r3, 2
+/* 802C7694 002C32F4 4B FF 25 B9 */ bl GKI_getpoolbuf
+/* 802C7698 002C32F8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C769C 002C32FC 41 82 00 14 */ beq lbl_802C76B0
+/* 802C76A0 002C3300 57 C4 06 3E */ clrlwi r4, r30, 0x18
+/* 802C76A4 002C3304 48 00 AD 3D */ bl func_802D23E0
+/* 802C76A8 002C3308 B3 DF 16 A6 */ sth r30, 0x16a6(r31)
+/* 802C76AC 002C330C 48 00 00 14 */ b lbl_802C76C0
+lbl_802C76B0:
+/* 802C76B0 002C3310 38 60 00 03 */ li r3, 3
+/* 802C76B4 002C3314 48 00 00 10 */ b lbl_802C76C4
+lbl_802C76B8:
+/* 802C76B8 002C3318 38 60 00 06 */ li r3, 6
+/* 802C76BC 002C331C 48 00 00 08 */ b lbl_802C76C4
+lbl_802C76C0:
+/* 802C76C0 002C3320 38 60 00 00 */ li r3, 0
+lbl_802C76C4:
+/* 802C76C4 002C3324 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C76C8 002C3328 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C76CC 002C332C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802C76D0 002C3330 7C 08 03 A6 */ mtlr r0
+/* 802C76D4 002C3334 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C76D8 002C3338 4E 80 00 20 */ blr
+
+.global BTM_SetInquiryMode
+BTM_SetInquiryMode:
+/* 802C76DC 002C333C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C76E0 002C3340 7C 08 02 A6 */ mflr r0
+/* 802C76E4 002C3344 2C 03 00 00 */ cmpwi r3, 0
+/* 802C76E8 002C3348 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C76EC 002C334C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C76F0 002C3350 7C 7F 1B 78 */ mr r31, r3
+/* 802C76F4 002C3354 41 82 00 14 */ beq lbl_802C7708
+/* 802C76F8 002C3358 28 03 00 01 */ cmplwi r3, 1
+/* 802C76FC 002C335C 41 82 00 0C */ beq lbl_802C7708
+/* 802C7700 002C3360 38 60 00 05 */ li r3, 5
+/* 802C7704 002C3364 48 00 00 5C */ b lbl_802C7760
+lbl_802C7708:
+/* 802C7708 002C3368 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C770C 002C336C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C7710 002C3370 88 03 06 43 */ lbz r0, 0x643(r3)
+/* 802C7714 002C3374 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802C7718 002C3378 40 82 00 0C */ bne lbl_802C7724
+/* 802C771C 002C337C 38 60 00 04 */ li r3, 4
+/* 802C7720 002C3380 48 00 00 40 */ b lbl_802C7760
+lbl_802C7724:
+/* 802C7724 002C3384 4B FF E3 AD */ bl BTM_IsDeviceUp
+/* 802C7728 002C3388 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C772C 002C338C 40 82 00 0C */ bne lbl_802C7738
+/* 802C7730 002C3390 38 60 00 06 */ li r3, 6
+/* 802C7734 002C3394 48 00 00 2C */ b lbl_802C7760
+lbl_802C7738:
+/* 802C7738 002C3398 38 60 00 02 */ li r3, 2
+/* 802C773C 002C339C 4B FF 25 11 */ bl GKI_getpoolbuf
+/* 802C7740 002C33A0 2C 03 00 00 */ cmpwi r3, 0
+/* 802C7744 002C33A4 41 82 00 10 */ beq lbl_802C7754
+/* 802C7748 002C33A8 7F E4 FB 78 */ mr r4, r31
+/* 802C774C 002C33AC 48 00 AC 65 */ bl func_802D23B0
+/* 802C7750 002C33B0 48 00 00 0C */ b lbl_802C775C
+lbl_802C7754:
+/* 802C7754 002C33B4 38 60 00 03 */ li r3, 3
+/* 802C7758 002C33B8 48 00 00 08 */ b lbl_802C7760
+lbl_802C775C:
+/* 802C775C 002C33BC 38 60 00 00 */ li r3, 0
+lbl_802C7760:
+/* 802C7760 002C33C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C7764 002C33C4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C7768 002C33C8 7C 08 03 A6 */ mtlr r0
+/* 802C776C 002C33CC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C7770 002C33D0 4E 80 00 20 */ blr
+
+.global BTM_SetConnectability
+BTM_SetConnectability:
+/* 802C7774 002C33D4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C7778 002C33D8 7C 08 02 A6 */ mflr r0
+/* 802C777C 002C33DC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C7780 002C33E0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C7784 002C33E4 4B EF F9 A5 */ bl _savegpr_27
+/* 802C7788 002C33E8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C778C 002C33EC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C7790 002C33F0 7C 7B 1B 78 */ mr r27, r3
+/* 802C7794 002C33F4 7C 9C 23 78 */ mr r28, r4
+/* 802C7798 002C33F8 7C BD 2B 78 */ mr r29, r5
+/* 802C779C 002C33FC 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C77A0 002C3400 3B C0 00 00 */ li r30, 0
+/* 802C77A4 002C3404 41 82 00 14 */ beq lbl_802C77B8
+/* 802C77A8 002C3408 28 03 00 01 */ cmplwi r3, 1
+/* 802C77AC 002C340C 41 82 00 0C */ beq lbl_802C77B8
+/* 802C77B0 002C3410 38 60 00 05 */ li r3, 5
+/* 802C77B4 002C3414 48 00 01 30 */ b lbl_802C78E4
+lbl_802C77B8:
+/* 802C77B8 002C3418 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C77BC 002C341C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C77C0 002C3420 88 03 06 4E */ lbz r0, 0x64e(r3)
+/* 802C77C4 002C3424 28 00 00 03 */ cmplwi r0, 3
+/* 802C77C8 002C3428 40 80 00 0C */ bge lbl_802C77D4
+/* 802C77CC 002C342C 38 60 00 0C */ li r3, 0xc
+/* 802C77D0 002C3430 48 00 01 14 */ b lbl_802C78E4
+lbl_802C77D4:
+/* 802C77D4 002C3434 2C 04 00 00 */ cmpwi r4, 0
+/* 802C77D8 002C3438 40 82 00 08 */ bne lbl_802C77E0
+/* 802C77DC 002C343C 3B 80 00 12 */ li r28, 0x12
+lbl_802C77E0:
+/* 802C77E0 002C3440 2C 05 00 00 */ cmpwi r5, 0
+/* 802C77E4 002C3444 40 82 00 08 */ bne lbl_802C77EC
+/* 802C77E8 002C3448 3B A0 08 00 */ li r29, 0x800
+lbl_802C77EC:
+/* 802C77EC 002C344C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C77F0 002C3450 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C77F4 002C3454 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C77F8 002C3458 28 00 00 03 */ cmplwi r0, 3
+/* 802C77FC 002C345C 41 80 00 24 */ blt lbl_802C7820
+/* 802C7800 002C3460 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C7804 002C3464 3C 80 80 44 */ lis r4, lbl_8044139C@ha
+/* 802C7808 002C3468 7F 65 DB 78 */ mr r5, r27
+/* 802C780C 002C346C 7F 86 E3 78 */ mr r6, r28
+/* 802C7810 002C3470 7F A7 EB 78 */ mr r7, r29
+/* 802C7814 002C3474 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C7818 002C3478 38 84 13 9C */ addi r4, r4, lbl_8044139C@l
+/* 802C781C 002C347C 4B FF 57 3D */ bl LogMsg_3
+lbl_802C7820:
+/* 802C7820 002C3480 28 1B 00 01 */ cmplwi r27, 1
+/* 802C7824 002C3484 40 82 00 38 */ bne lbl_802C785C
+/* 802C7828 002C3488 28 1C 00 12 */ cmplwi r28, 0x12
+/* 802C782C 002C348C 41 80 00 24 */ blt lbl_802C7850
+/* 802C7830 002C3490 28 1C 10 00 */ cmplwi r28, 0x1000
+/* 802C7834 002C3494 41 81 00 1C */ bgt lbl_802C7850
+/* 802C7838 002C3498 28 1D 00 12 */ cmplwi r29, 0x12
+/* 802C783C 002C349C 41 80 00 14 */ blt lbl_802C7850
+/* 802C7840 002C34A0 28 1D 10 00 */ cmplwi r29, 0x1000
+/* 802C7844 002C34A4 41 81 00 0C */ bgt lbl_802C7850
+/* 802C7848 002C34A8 7C 1C E8 40 */ cmplw r28, r29
+/* 802C784C 002C34AC 40 81 00 0C */ ble lbl_802C7858
+lbl_802C7850:
+/* 802C7850 002C34B0 38 60 00 05 */ li r3, 5
+/* 802C7854 002C34B4 48 00 00 90 */ b lbl_802C78E4
+lbl_802C7858:
+/* 802C7858 002C34B8 63 DE 00 02 */ ori r30, r30, 2
+lbl_802C785C:
+/* 802C785C 002C34BC A0 1F 16 9C */ lhz r0, 0x169c(r31)
+/* 802C7860 002C34C0 7C 1C 00 40 */ cmplw r28, r0
+/* 802C7864 002C34C4 40 82 00 10 */ bne lbl_802C7874
+/* 802C7868 002C34C8 A0 1F 16 9E */ lhz r0, 0x169e(r31)
+/* 802C786C 002C34CC 7C 1D 00 40 */ cmplw r29, r0
+/* 802C7870 002C34D0 41 82 00 34 */ beq lbl_802C78A4
+lbl_802C7874:
+/* 802C7874 002C34D4 38 60 00 02 */ li r3, 2
+/* 802C7878 002C34D8 4B FF 23 D5 */ bl GKI_getpoolbuf
+/* 802C787C 002C34DC 2C 03 00 00 */ cmpwi r3, 0
+/* 802C7880 002C34E0 41 82 00 1C */ beq lbl_802C789C
+/* 802C7884 002C34E4 B3 9F 16 9C */ sth r28, 0x169c(r31)
+/* 802C7888 002C34E8 7F A4 EB 78 */ mr r4, r29
+/* 802C788C 002C34EC 7F 85 E3 78 */ mr r5, r28
+/* 802C7890 002C34F0 B3 BF 16 9E */ sth r29, 0x169e(r31)
+/* 802C7894 002C34F4 48 00 A0 DD */ bl func_802D1970
+/* 802C7898 002C34F8 48 00 00 0C */ b lbl_802C78A4
+lbl_802C789C:
+/* 802C789C 002C34FC 38 60 00 03 */ li r3, 3
+/* 802C78A0 002C3500 48 00 00 44 */ b lbl_802C78E4
+lbl_802C78A4:
+/* 802C78A4 002C3504 38 60 00 02 */ li r3, 2
+/* 802C78A8 002C3508 4B FF 23 A5 */ bl GKI_getpoolbuf
+/* 802C78AC 002C350C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C78B0 002C3510 41 82 00 28 */ beq lbl_802C78D8
+/* 802C78B4 002C3514 A0 1F 16 98 */ lhz r0, 0x1698(r31)
+/* 802C78B8 002C3518 2C 00 00 00 */ cmpwi r0, 0
+/* 802C78BC 002C351C 41 82 00 0C */ beq lbl_802C78C8
+/* 802C78C0 002C3520 63 C0 00 01 */ ori r0, r30, 1
+/* 802C78C4 002C3524 54 1E 06 3E */ clrlwi r30, r0, 0x18
+lbl_802C78C8:
+/* 802C78C8 002C3528 B3 7F 16 9A */ sth r27, 0x169a(r31)
+/* 802C78CC 002C352C 57 C4 06 3E */ clrlwi r4, r30, 0x18
+/* 802C78D0 002C3530 48 00 A0 71 */ bl func_802D1940
+/* 802C78D4 002C3534 48 00 00 0C */ b lbl_802C78E0
+lbl_802C78D8:
+/* 802C78D8 002C3538 38 60 00 03 */ li r3, 3
+/* 802C78DC 002C353C 48 00 00 08 */ b lbl_802C78E4
+lbl_802C78E0:
+/* 802C78E0 002C3540 38 60 00 00 */ li r3, 0
+lbl_802C78E4:
+/* 802C78E4 002C3544 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C78E8 002C3548 4B EF F8 8D */ bl _restgpr_27
+/* 802C78EC 002C354C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C78F0 002C3550 7C 08 03 A6 */ mtlr r0
+/* 802C78F4 002C3554 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C78F8 002C3558 4E 80 00 20 */ blr
+
+.global BTM_IsInquiryActive
+BTM_IsInquiryActive:
+/* 802C78FC 002C355C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C7900 002C3560 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C7904 002C3564 88 63 18 48 */ lbz r3, 0x1848(r3)
+/* 802C7908 002C3568 4E 80 00 20 */ blr
+
+.global BTM_CancelInquiry
+BTM_CancelInquiry:
+/* 802C790C 002C356C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C7910 002C3570 7C 08 02 A6 */ mflr r0
+/* 802C7914 002C3574 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C7918 002C3578 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C791C 002C357C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C7920 002C3580 3F C0 80 57 */ lis r30, lbl_80568B78@ha
+/* 802C7924 002C3584 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
+/* 802C7928 002C3588 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C792C 002C358C 3B A0 00 00 */ li r29, 0
+/* 802C7930 002C3590 88 1E 27 C0 */ lbz r0, 0x27c0(r30)
+/* 802C7934 002C3594 28 00 00 03 */ cmplwi r0, 3
+/* 802C7938 002C3598 41 80 00 18 */ blt lbl_802C7950
+/* 802C793C 002C359C 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C7940 002C35A0 3C 80 80 44 */ lis r4, lbl_804413F0@ha
+/* 802C7944 002C35A4 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C7948 002C35A8 38 84 13 F0 */ addi r4, r4, lbl_804413F0@l
+/* 802C794C 002C35AC 4B FF 55 C5 */ bl LogMsg_0
+lbl_802C7950:
+/* 802C7950 002C35B0 4B FF E1 81 */ bl BTM_IsDeviceUp
+/* 802C7954 002C35B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C7958 002C35B8 40 82 00 0C */ bne lbl_802C7964
+/* 802C795C 002C35BC 38 60 00 06 */ li r3, 6
+/* 802C7960 002C35C0 48 00 00 98 */ b lbl_802C79F8
+lbl_802C7964:
+/* 802C7964 002C35C4 88 1E 18 48 */ lbz r0, 0x1848(r30)
+/* 802C7968 002C35C8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C796C 002C35CC 41 82 00 88 */ beq lbl_802C79F4
+/* 802C7970 002C35D0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802C7974 002C35D4 40 82 00 80 */ bne lbl_802C79F4
+/* 802C7978 002C35D8 88 1E 18 44 */ lbz r0, 0x1844(r30)
+/* 802C797C 002C35DC 38 80 00 00 */ li r4, 0
+/* 802C7980 002C35E0 98 9E 18 48 */ stb r4, 0x1848(r30)
+/* 802C7984 002C35E4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7988 002C35E8 98 9E 18 47 */ stb r4, 0x1847(r30)
+/* 802C798C 002C35EC 90 9E 16 B4 */ stw r4, 0x16b4(r30)
+/* 802C7990 002C35F0 90 9E 16 B0 */ stw r4, 0x16b0(r30)
+/* 802C7994 002C35F4 41 82 00 18 */ beq lbl_802C79AC
+/* 802C7998 002C35F8 88 7E 18 45 */ lbz r3, 0x1845(r30)
+/* 802C799C 002C35FC 98 9E 18 44 */ stb r4, 0x1844(r30)
+/* 802C79A0 002C3600 38 03 00 01 */ addi r0, r3, 1
+/* 802C79A4 002C3604 98 1E 18 45 */ stb r0, 0x1845(r30)
+/* 802C79A8 002C3608 48 00 00 14 */ b lbl_802C79BC
+lbl_802C79AC:
+/* 802C79AC 002C360C 48 00 84 E5 */ bl func_802CFE90
+/* 802C79B0 002C3610 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C79B4 002C3614 40 82 00 08 */ bne lbl_802C79BC
+/* 802C79B8 002C3618 3B A0 00 03 */ li r29, 3
+lbl_802C79BC:
+/* 802C79BC 002C361C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C79C0 002C3620 80 9E 16 C0 */ lwz r4, 0x16c0(r30)
+/* 802C79C4 002C3624 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C79C8 002C3628 80 7F 16 DC */ lwz r3, 0x16dc(r31)
+/* 802C79CC 002C362C 38 04 00 01 */ addi r0, r4, 1
+/* 802C79D0 002C3630 90 1E 16 C0 */ stw r0, 0x16c0(r30)
+/* 802C79D4 002C3634 2C 03 00 00 */ cmpwi r3, 0
+/* 802C79D8 002C3638 41 82 00 10 */ beq lbl_802C79E8
+/* 802C79DC 002C363C 4B FF 23 59 */ bl GKI_freebuf
+/* 802C79E0 002C3640 38 00 00 00 */ li r0, 0
+/* 802C79E4 002C3644 90 1F 16 DC */ stw r0, 0x16dc(r31)
+lbl_802C79E8:
+/* 802C79E8 002C3648 38 00 00 00 */ li r0, 0
+/* 802C79EC 002C364C B0 1F 16 E0 */ sth r0, 0x16e0(r31)
+/* 802C79F0 002C3650 B0 1F 16 E2 */ sth r0, 0x16e2(r31)
+lbl_802C79F4:
+/* 802C79F4 002C3654 7F A3 EB 78 */ mr r3, r29
+lbl_802C79F8:
+/* 802C79F8 002C3658 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C79FC 002C365C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C7A00 002C3660 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C7A04 002C3664 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C7A08 002C3668 7C 08 03 A6 */ mtlr r0
+/* 802C7A0C 002C366C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C7A10 002C3670 4E 80 00 20 */ blr
+
+.global BTM_StartInquiry
+BTM_StartInquiry:
+/* 802C7A14 002C3674 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C7A18 002C3678 7C 08 02 A6 */ mflr r0
+/* 802C7A1C 002C367C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C7A20 002C3680 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C7A24 002C3684 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C7A28 002C3688 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C7A2C 002C368C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C7A30 002C3690 7C BE 2B 78 */ mr r30, r5
+/* 802C7A34 002C3694 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C7A38 002C3698 7C 9D 23 78 */ mr r29, r4
+/* 802C7A3C 002C369C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802C7A40 002C36A0 7C 7C 1B 78 */ mr r28, r3
+/* 802C7A44 002C36A4 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C7A48 002C36A8 28 00 00 03 */ cmplwi r0, 3
+/* 802C7A4C 002C36AC 41 80 00 28 */ blt lbl_802C7A74
+/* 802C7A50 002C36B0 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C7A54 002C36B4 3C 80 80 44 */ lis r4, lbl_8044140C@ha
+/* 802C7A58 002C36B8 88 BC 00 00 */ lbz r5, 0(r28)
+/* 802C7A5C 002C36BC 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C7A60 002C36C0 88 DC 00 01 */ lbz r6, 1(r28)
+/* 802C7A64 002C36C4 38 84 14 0C */ addi r4, r4, lbl_8044140C@l
+/* 802C7A68 002C36C8 88 FC 00 02 */ lbz r7, 2(r28)
+/* 802C7A6C 002C36CC 89 1C 00 03 */ lbz r8, 3(r28)
+/* 802C7A70 002C36D0 4B FF 55 01 */ bl LogMsg_4
+lbl_802C7A74:
+/* 802C7A74 002C36D4 88 1F 18 48 */ lbz r0, 0x1848(r31)
+/* 802C7A78 002C36D8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7A7C 002C36DC 40 82 00 10 */ bne lbl_802C7A8C
+/* 802C7A80 002C36E0 88 1F 18 44 */ lbz r0, 0x1844(r31)
+/* 802C7A84 002C36E4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7A88 002C36E8 41 82 00 0C */ beq lbl_802C7A94
+lbl_802C7A8C:
+/* 802C7A8C 002C36EC 38 60 00 02 */ li r3, 2
+/* 802C7A90 002C36F0 48 00 01 18 */ b lbl_802C7BA8
+lbl_802C7A94:
+/* 802C7A94 002C36F4 88 1C 00 00 */ lbz r0, 0(r28)
+/* 802C7A98 002C36F8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7A9C 002C36FC 41 82 00 14 */ beq lbl_802C7AB0
+/* 802C7AA0 002C3700 28 00 00 01 */ cmplwi r0, 1
+/* 802C7AA4 002C3704 41 82 00 0C */ beq lbl_802C7AB0
+/* 802C7AA8 002C3708 38 60 00 05 */ li r3, 5
+/* 802C7AAC 002C370C 48 00 00 FC */ b lbl_802C7BA8
+lbl_802C7AB0:
+/* 802C7AB0 002C3710 4B FF E0 21 */ bl BTM_IsDeviceUp
+/* 802C7AB4 002C3714 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C7AB8 002C3718 40 82 00 0C */ bne lbl_802C7AC4
+/* 802C7ABC 002C371C 38 60 00 06 */ li r3, 6
+/* 802C7AC0 002C3720 48 00 00 E8 */ b lbl_802C7BA8
+lbl_802C7AC4:
+/* 802C7AC4 002C3724 88 BC 00 00 */ lbz r5, 0(r28)
+/* 802C7AC8 002C3728 38 00 00 03 */ li r0, 3
+/* 802C7ACC 002C372C 88 7C 00 01 */ lbz r3, 1(r28)
+/* 802C7AD0 002C3730 38 C0 00 00 */ li r6, 0
+/* 802C7AD4 002C3734 38 80 00 01 */ li r4, 1
+/* 802C7AD8 002C3738 98 BF 18 34 */ stb r5, 0x1834(r31)
+/* 802C7ADC 002C373C 98 7F 18 35 */ stb r3, 0x1835(r31)
+/* 802C7AE0 002C3740 88 BC 00 02 */ lbz r5, 2(r28)
+/* 802C7AE4 002C3744 88 7C 00 03 */ lbz r3, 3(r28)
+/* 802C7AE8 002C3748 98 BF 18 36 */ stb r5, 0x1836(r31)
+/* 802C7AEC 002C374C 98 7F 18 37 */ stb r3, 0x1837(r31)
+/* 802C7AF0 002C3750 88 BC 00 04 */ lbz r5, 4(r28)
+/* 802C7AF4 002C3754 88 7C 00 05 */ lbz r3, 5(r28)
+/* 802C7AF8 002C3758 98 BF 18 38 */ stb r5, 0x1838(r31)
+/* 802C7AFC 002C375C 98 7F 18 39 */ stb r3, 0x1839(r31)
+/* 802C7B00 002C3760 88 BC 00 06 */ lbz r5, 6(r28)
+/* 802C7B04 002C3764 88 7C 00 07 */ lbz r3, 7(r28)
+/* 802C7B08 002C3768 98 BF 18 3A */ stb r5, 0x183a(r31)
+/* 802C7B0C 002C376C 98 7F 18 3B */ stb r3, 0x183b(r31)
+/* 802C7B10 002C3770 88 7C 00 08 */ lbz r3, 8(r28)
+/* 802C7B14 002C3774 98 7F 18 3C */ stb r3, 0x183c(r31)
+/* 802C7B18 002C3778 88 7C 00 09 */ lbz r3, 9(r28)
+/* 802C7B1C 002C377C 98 7F 18 3D */ stb r3, 0x183d(r31)
+/* 802C7B20 002C3780 98 1F 18 47 */ stb r0, 0x1847(r31)
+/* 802C7B24 002C3784 93 DF 16 B0 */ stw r30, 0x16b0(r31)
+/* 802C7B28 002C3788 93 BF 16 B4 */ stw r29, 0x16b4(r31)
+/* 802C7B2C 002C378C 98 DF 18 3F */ stb r6, 0x183f(r31)
+/* 802C7B30 002C3790 88 BC 00 00 */ lbz r5, 0(r28)
+/* 802C7B34 002C3794 38 65 FF FF */ addi r3, r5, -1
+/* 802C7B38 002C3798 20 05 00 01 */ subfic r0, r5, 1
+/* 802C7B3C 002C379C 7C 60 00 F8 */ nor r0, r3, r0
+/* 802C7B40 002C37A0 7C 03 FE 70 */ srawi r3, r0, 0x1f
+/* 802C7B44 002C37A4 38 03 00 02 */ addi r0, r3, 2
+/* 802C7B48 002C37A8 98 1F 18 48 */ stb r0, 0x1848(r31)
+/* 802C7B4C 002C37AC 88 1C 00 03 */ lbz r0, 3(r28)
+/* 802C7B50 002C37B0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7B54 002C37B4 41 82 00 14 */ beq lbl_802C7B68
+/* 802C7B58 002C37B8 41 80 00 28 */ blt lbl_802C7B80
+/* 802C7B5C 002C37BC 2C 00 00 03 */ cmpwi r0, 3
+/* 802C7B60 002C37C0 40 80 00 20 */ bge lbl_802C7B80
+/* 802C7B64 002C37C4 48 00 00 10 */ b lbl_802C7B74
+lbl_802C7B68:
+/* 802C7B68 002C37C8 38 00 00 02 */ li r0, 2
+/* 802C7B6C 002C37CC 98 1F 18 47 */ stb r0, 0x1847(r31)
+/* 802C7B70 002C37D0 48 00 00 18 */ b lbl_802C7B88
+lbl_802C7B74:
+/* 802C7B74 002C37D4 98 9F 18 47 */ stb r4, 0x1847(r31)
+/* 802C7B78 002C37D8 98 DC 00 03 */ stb r6, 3(r28)
+/* 802C7B7C 002C37DC 48 00 00 0C */ b lbl_802C7B88
+lbl_802C7B80:
+/* 802C7B80 002C37E0 38 60 00 05 */ li r3, 5
+/* 802C7B84 002C37E4 48 00 00 24 */ b lbl_802C7BA8
+lbl_802C7B88:
+/* 802C7B88 002C37E8 88 7C 00 03 */ lbz r3, 3(r28)
+/* 802C7B8C 002C37EC 38 9C 00 04 */ addi r4, r28, 4
+/* 802C7B90 002C37F0 48 00 08 99 */ bl btm_set_inq_event_filter
+/* 802C7B94 002C37F4 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802C7B98 002C37F8 28 00 00 01 */ cmplwi r0, 1
+/* 802C7B9C 002C37FC 41 82 00 0C */ beq lbl_802C7BA8
+/* 802C7BA0 002C3800 38 00 00 00 */ li r0, 0
+/* 802C7BA4 002C3804 98 1F 18 47 */ stb r0, 0x1847(r31)
+lbl_802C7BA8:
+/* 802C7BA8 002C3808 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C7BAC 002C380C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C7BB0 002C3810 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C7BB4 002C3814 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C7BB8 002C3818 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802C7BBC 002C381C 7C 08 03 A6 */ mtlr r0
+/* 802C7BC0 002C3820 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C7BC4 002C3824 4E 80 00 20 */ blr
+
+.global BTM_ReadRemoteDeviceName
+BTM_ReadRemoteDeviceName:
+/* 802C7BC8 002C3828 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C7BCC 002C382C 7C 08 02 A6 */ mflr r0
+/* 802C7BD0 002C3830 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C7BD4 002C3834 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C7BD8 002C3838 4B EF F5 51 */ bl _savegpr_27
+/* 802C7BDC 002C383C 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C7BE0 002C3840 7C 7B 1B 78 */ mr r27, r3
+/* 802C7BE4 002C3844 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C7BE8 002C3848 7C 9C 23 78 */ mr r28, r4
+/* 802C7BEC 002C384C 88 05 27 C0 */ lbz r0, 0x27c0(r5)
+/* 802C7BF0 002C3850 3B A0 00 00 */ li r29, 0
+/* 802C7BF4 002C3854 28 00 00 03 */ cmplwi r0, 3
+/* 802C7BF8 002C3858 41 80 00 30 */ blt lbl_802C7C28
+/* 802C7BFC 002C385C 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C7C00 002C3860 3C 80 80 44 */ lis r4, lbl_80441444@ha
+/* 802C7C04 002C3864 88 BB 00 00 */ lbz r5, 0(r27)
+/* 802C7C08 002C3868 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C7C0C 002C386C 88 DB 00 01 */ lbz r6, 1(r27)
+/* 802C7C10 002C3870 38 84 14 44 */ addi r4, r4, lbl_80441444@l
+/* 802C7C14 002C3874 88 FB 00 02 */ lbz r7, 2(r27)
+/* 802C7C18 002C3878 89 1B 00 03 */ lbz r8, 3(r27)
+/* 802C7C1C 002C387C 89 3B 00 04 */ lbz r9, 4(r27)
+/* 802C7C20 002C3880 89 5B 00 05 */ lbz r10, 5(r27)
+/* 802C7C24 002C3884 4B FF 53 7D */ bl LogMsg_6
+lbl_802C7C28:
+/* 802C7C28 002C3888 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C7C2C 002C388C 3B C0 00 00 */ li r30, 0
+/* 802C7C30 002C3890 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C7C34 002C3894 3B E3 16 E4 */ addi r31, r3, 0x16e4
+lbl_802C7C38:
+/* 802C7C38 002C3898 88 1F 00 1A */ lbz r0, 0x1a(r31)
+/* 802C7C3C 002C389C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7C40 002C38A0 41 82 00 20 */ beq lbl_802C7C60
+/* 802C7C44 002C38A4 7F 64 DB 78 */ mr r4, r27
+/* 802C7C48 002C38A8 38 7F 00 0A */ addi r3, r31, 0xa
+/* 802C7C4C 002C38AC 38 A0 00 06 */ li r5, 6
+/* 802C7C50 002C38B0 4B F0 27 49 */ bl memcmp
+/* 802C7C54 002C38B4 2C 03 00 00 */ cmpwi r3, 0
+/* 802C7C58 002C38B8 40 82 00 08 */ bne lbl_802C7C60
+/* 802C7C5C 002C38BC 48 00 00 18 */ b lbl_802C7C74
+lbl_802C7C60:
+/* 802C7C60 002C38C0 3B DE 00 01 */ addi r30, r30, 1
+/* 802C7C64 002C38C4 3B FF 00 1C */ addi r31, r31, 0x1c
+/* 802C7C68 002C38C8 28 1E 00 0C */ cmplwi r30, 0xc
+/* 802C7C6C 002C38CC 41 80 FF CC */ blt lbl_802C7C38
+/* 802C7C70 002C38D0 3B E0 00 00 */ li r31, 0
+lbl_802C7C74:
+/* 802C7C74 002C38D4 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C7C78 002C38D8 41 82 00 08 */ beq lbl_802C7C80
+/* 802C7C7C 002C38DC 3B BF 00 08 */ addi r29, r31, 8
+lbl_802C7C80:
+/* 802C7C80 002C38E0 7F 63 DB 78 */ mr r3, r27
+/* 802C7C84 002C38E4 7F A4 EB 78 */ mr r4, r29
+/* 802C7C88 002C38E8 7F 87 E3 78 */ mr r7, r28
+/* 802C7C8C 002C38EC 38 A0 00 01 */ li r5, 1
+/* 802C7C90 002C38F0 38 C0 00 28 */ li r6, 0x28
+/* 802C7C94 002C38F4 48 00 0E 15 */ bl btm_initiate_rem_name
+/* 802C7C98 002C38F8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C7C9C 002C38FC 4B EF F4 D9 */ bl _restgpr_27
+/* 802C7CA0 002C3900 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C7CA4 002C3904 7C 08 03 A6 */ mtlr r0
+/* 802C7CA8 002C3908 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C7CAC 002C390C 4E 80 00 20 */ blr
+
+.global BTM_CancelRemoteDeviceName
+BTM_CancelRemoteDeviceName:
+/* 802C7CB0 002C3910 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C7CB4 002C3914 7C 08 02 A6 */ mflr r0
+/* 802C7CB8 002C3918 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C7CBC 002C391C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C7CC0 002C3920 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C7CC4 002C3924 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C7CC8 002C3928 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C7CCC 002C392C 28 00 00 03 */ cmplwi r0, 3
+/* 802C7CD0 002C3930 41 80 00 18 */ blt lbl_802C7CE8
+/* 802C7CD4 002C3934 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C7CD8 002C3938 3C 80 80 44 */ lis r4, lbl_80441484@ha
+/* 802C7CDC 002C393C 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C7CE0 002C3940 38 84 14 84 */ addi r4, r4, lbl_80441484@l
+/* 802C7CE4 002C3944 4B FF 52 2D */ bl LogMsg_0
+lbl_802C7CE8:
+/* 802C7CE8 002C3948 88 1F 16 AE */ lbz r0, 0x16ae(r31)
+/* 802C7CEC 002C394C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802C7CF0 002C3950 41 82 00 20 */ beq lbl_802C7D10
+/* 802C7CF4 002C3954 38 7F 16 A8 */ addi r3, r31, 0x16a8
+/* 802C7CF8 002C3958 48 00 8C 9D */ bl func_802D0994
+/* 802C7CFC 002C395C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C7D00 002C3960 38 60 00 03 */ li r3, 3
+/* 802C7D04 002C3964 41 82 00 10 */ beq lbl_802C7D14
+/* 802C7D08 002C3968 38 60 00 01 */ li r3, 1
+/* 802C7D0C 002C396C 48 00 00 08 */ b lbl_802C7D14
+lbl_802C7D10:
+/* 802C7D10 002C3970 38 60 00 06 */ li r3, 6
+lbl_802C7D14:
+/* 802C7D14 002C3974 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C7D18 002C3978 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C7D1C 002C397C 7C 08 03 A6 */ mtlr r0
+/* 802C7D20 002C3980 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C7D24 002C3984 4E 80 00 20 */ blr
+
+.global BTM_InqDbRead
+BTM_InqDbRead:
+/* 802C7D28 002C3988 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C7D2C 002C398C 7C 08 02 A6 */ mflr r0
+/* 802C7D30 002C3990 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C7D34 002C3994 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C7D38 002C3998 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C7D3C 002C399C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C7D40 002C39A0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C7D44 002C39A4 3B C4 16 E4 */ addi r30, r4, 0x16e4
+/* 802C7D48 002C39A8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C7D4C 002C39AC 7C 7D 1B 78 */ mr r29, r3
+/* 802C7D50 002C39B0 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802C7D54 002C39B4 28 00 00 03 */ cmplwi r0, 3
+/* 802C7D58 002C39B8 41 80 00 30 */ blt lbl_802C7D88
+/* 802C7D5C 002C39BC 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802C7D60 002C39C0 3C 80 80 44 */ lis r4, lbl_804414A4@ha
+/* 802C7D64 002C39C4 88 BD 00 00 */ lbz r5, 0(r29)
+/* 802C7D68 002C39C8 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802C7D6C 002C39CC 88 DD 00 01 */ lbz r6, 1(r29)
+/* 802C7D70 002C39D0 38 84 14 A4 */ addi r4, r4, lbl_804414A4@l
+/* 802C7D74 002C39D4 88 FD 00 02 */ lbz r7, 2(r29)
+/* 802C7D78 002C39D8 89 1D 00 03 */ lbz r8, 3(r29)
+/* 802C7D7C 002C39DC 89 3D 00 04 */ lbz r9, 4(r29)
+/* 802C7D80 002C39E0 89 5D 00 05 */ lbz r10, 5(r29)
+/* 802C7D84 002C39E4 4B FF 52 1D */ bl LogMsg_6
+lbl_802C7D88:
+/* 802C7D88 002C39E8 3B E0 00 00 */ li r31, 0
+lbl_802C7D8C:
+/* 802C7D8C 002C39EC 88 1E 00 1A */ lbz r0, 0x1a(r30)
+/* 802C7D90 002C39F0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7D94 002C39F4 41 82 00 24 */ beq lbl_802C7DB8
+/* 802C7D98 002C39F8 7F A4 EB 78 */ mr r4, r29
+/* 802C7D9C 002C39FC 38 7E 00 0A */ addi r3, r30, 0xa
+/* 802C7DA0 002C3A00 38 A0 00 06 */ li r5, 6
+/* 802C7DA4 002C3A04 4B F0 25 F5 */ bl memcmp
+/* 802C7DA8 002C3A08 2C 03 00 00 */ cmpwi r3, 0
+/* 802C7DAC 002C3A0C 40 82 00 0C */ bne lbl_802C7DB8
+/* 802C7DB0 002C3A10 38 7E 00 08 */ addi r3, r30, 8
+/* 802C7DB4 002C3A14 48 00 00 18 */ b lbl_802C7DCC
+lbl_802C7DB8:
+/* 802C7DB8 002C3A18 3B FF 00 01 */ addi r31, r31, 1
+/* 802C7DBC 002C3A1C 3B DE 00 1C */ addi r30, r30, 0x1c
+/* 802C7DC0 002C3A20 28 1F 00 0C */ cmplwi r31, 0xc
+/* 802C7DC4 002C3A24 41 80 FF C8 */ blt lbl_802C7D8C
+/* 802C7DC8 002C3A28 38 60 00 00 */ li r3, 0
+lbl_802C7DCC:
+/* 802C7DCC 002C3A2C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C7DD0 002C3A30 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C7DD4 002C3A34 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C7DD8 002C3A38 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C7DDC 002C3A3C 7C 08 03 A6 */ mtlr r0
+/* 802C7DE0 002C3A40 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C7DE4 002C3A44 4E 80 00 20 */ blr
+
+.global BTM_InqDbFirst
+BTM_InqDbFirst:
+/* 802C7DE8 002C3A48 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C7DEC 002C3A4C 38 00 00 02 */ li r0, 2
+/* 802C7DF0 002C3A50 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C7DF4 002C3A54 38 80 00 00 */ li r4, 0
+/* 802C7DF8 002C3A58 38 63 16 E4 */ addi r3, r3, 0x16e4
+/* 802C7DFC 002C3A5C 7C 09 03 A6 */ mtctr r0
+lbl_802C7E00:
+/* 802C7E00 002C3A60 88 03 00 1A */ lbz r0, 0x1a(r3)
+/* 802C7E04 002C3A64 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7E08 002C3A68 41 82 00 0C */ beq lbl_802C7E14
+/* 802C7E0C 002C3A6C 38 63 00 08 */ addi r3, r3, 8
+/* 802C7E10 002C3A70 4E 80 00 20 */ blr
+lbl_802C7E14:
+/* 802C7E14 002C3A74 88 03 00 36 */ lbz r0, 0x36(r3)
+/* 802C7E18 002C3A78 38 84 00 01 */ addi r4, r4, 1
+/* 802C7E1C 002C3A7C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7E20 002C3A80 41 82 00 0C */ beq lbl_802C7E2C
+/* 802C7E24 002C3A84 38 63 00 24 */ addi r3, r3, 0x24
+/* 802C7E28 002C3A88 4E 80 00 20 */ blr
+lbl_802C7E2C:
+/* 802C7E2C 002C3A8C 88 03 00 52 */ lbz r0, 0x52(r3)
+/* 802C7E30 002C3A90 38 84 00 01 */ addi r4, r4, 1
+/* 802C7E34 002C3A94 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7E38 002C3A98 41 82 00 0C */ beq lbl_802C7E44
+/* 802C7E3C 002C3A9C 38 63 00 40 */ addi r3, r3, 0x40
+/* 802C7E40 002C3AA0 4E 80 00 20 */ blr
+lbl_802C7E44:
+/* 802C7E44 002C3AA4 88 03 00 6E */ lbz r0, 0x6e(r3)
+/* 802C7E48 002C3AA8 38 84 00 01 */ addi r4, r4, 1
+/* 802C7E4C 002C3AAC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7E50 002C3AB0 41 82 00 0C */ beq lbl_802C7E5C
+/* 802C7E54 002C3AB4 38 63 00 5C */ addi r3, r3, 0x5c
+/* 802C7E58 002C3AB8 4E 80 00 20 */ blr
+lbl_802C7E5C:
+/* 802C7E5C 002C3ABC 88 03 00 8A */ lbz r0, 0x8a(r3)
+/* 802C7E60 002C3AC0 38 84 00 01 */ addi r4, r4, 1
+/* 802C7E64 002C3AC4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7E68 002C3AC8 41 82 00 0C */ beq lbl_802C7E74
+/* 802C7E6C 002C3ACC 38 63 00 78 */ addi r3, r3, 0x78
+/* 802C7E70 002C3AD0 4E 80 00 20 */ blr
+lbl_802C7E74:
+/* 802C7E74 002C3AD4 88 03 00 A6 */ lbz r0, 0xa6(r3)
+/* 802C7E78 002C3AD8 38 84 00 01 */ addi r4, r4, 1
+/* 802C7E7C 002C3ADC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7E80 002C3AE0 41 82 00 0C */ beq lbl_802C7E8C
+/* 802C7E84 002C3AE4 38 63 00 94 */ addi r3, r3, 0x94
+/* 802C7E88 002C3AE8 4E 80 00 20 */ blr
+lbl_802C7E8C:
+/* 802C7E8C 002C3AEC 38 84 00 01 */ addi r4, r4, 1
+/* 802C7E90 002C3AF0 38 63 00 A8 */ addi r3, r3, 0xa8
+/* 802C7E94 002C3AF4 42 00 FF 6C */ bdnz lbl_802C7E00
+/* 802C7E98 002C3AF8 38 60 00 00 */ li r3, 0
+/* 802C7E9C 002C3AFC 4E 80 00 20 */ blr
+
+.global BTM_InqDbNext
+BTM_InqDbNext:
+/* 802C7EA0 002C3B00 2C 03 00 00 */ cmpwi r3, 0
+/* 802C7EA4 002C3B04 41 82 00 80 */ beq lbl_802C7F24
+/* 802C7EA8 002C3B08 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C7EAC 002C3B0C 3C 80 92 49 */ lis r4, 0x92492493@ha
+/* 802C7EB0 002C3B10 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C7EB4 002C3B14 38 03 FF F8 */ addi r0, r3, -8
+/* 802C7EB8 002C3B18 38 65 16 E4 */ addi r3, r5, 0x16e4
+/* 802C7EBC 002C3B1C 38 84 24 93 */ addi r4, r4, 0x92492493@l
+/* 802C7EC0 002C3B20 7C 03 00 50 */ subf r0, r3, r0
+/* 802C7EC4 002C3B24 7C 64 00 96 */ mulhw r3, r4, r0
+/* 802C7EC8 002C3B28 7C 03 02 14 */ add r0, r3, r0
+/* 802C7ECC 002C3B2C 7C 00 26 70 */ srawi r0, r0, 4
+/* 802C7ED0 002C3B30 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 802C7ED4 002C3B34 7C 60 1A 14 */ add r3, r0, r3
+/* 802C7ED8 002C3B38 38 03 00 01 */ addi r0, r3, 1
+/* 802C7EDC 002C3B3C 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802C7EE0 002C3B40 1C 64 00 1C */ mulli r3, r4, 0x1c
+/* 802C7EE4 002C3B44 20 04 00 0C */ subfic r0, r4, 0xc
+/* 802C7EE8 002C3B48 7C 65 1A 14 */ add r3, r5, r3
+/* 802C7EEC 002C3B4C 38 63 16 E4 */ addi r3, r3, 0x16e4
+/* 802C7EF0 002C3B50 7C 09 03 A6 */ mtctr r0
+/* 802C7EF4 002C3B54 28 04 00 0C */ cmplwi r4, 0xc
+/* 802C7EF8 002C3B58 40 80 00 24 */ bge lbl_802C7F1C
+lbl_802C7EFC:
+/* 802C7EFC 002C3B5C 88 03 00 1A */ lbz r0, 0x1a(r3)
+/* 802C7F00 002C3B60 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7F04 002C3B64 41 82 00 0C */ beq lbl_802C7F10
+/* 802C7F08 002C3B68 38 63 00 08 */ addi r3, r3, 8
+/* 802C7F0C 002C3B6C 4E 80 00 20 */ blr
+lbl_802C7F10:
+/* 802C7F10 002C3B70 38 84 00 01 */ addi r4, r4, 1
+/* 802C7F14 002C3B74 38 63 00 1C */ addi r3, r3, 0x1c
+/* 802C7F18 002C3B78 42 00 FF E4 */ bdnz lbl_802C7EFC
+lbl_802C7F1C:
+/* 802C7F1C 002C3B7C 38 60 00 00 */ li r3, 0
+/* 802C7F20 002C3B80 4E 80 00 20 */ blr
+lbl_802C7F24:
+/* 802C7F24 002C3B84 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C7F28 002C3B88 38 00 00 02 */ li r0, 2
+/* 802C7F2C 002C3B8C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C7F30 002C3B90 38 80 00 00 */ li r4, 0
+/* 802C7F34 002C3B94 38 63 16 E4 */ addi r3, r3, 0x16e4
+/* 802C7F38 002C3B98 7C 09 03 A6 */ mtctr r0
+lbl_802C7F3C:
+/* 802C7F3C 002C3B9C 88 03 00 1A */ lbz r0, 0x1a(r3)
+/* 802C7F40 002C3BA0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7F44 002C3BA4 41 82 00 0C */ beq lbl_802C7F50
+/* 802C7F48 002C3BA8 38 63 00 08 */ addi r3, r3, 8
+/* 802C7F4C 002C3BAC 4E 80 00 20 */ blr
+lbl_802C7F50:
+/* 802C7F50 002C3BB0 88 03 00 36 */ lbz r0, 0x36(r3)
+/* 802C7F54 002C3BB4 38 84 00 01 */ addi r4, r4, 1
+/* 802C7F58 002C3BB8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7F5C 002C3BBC 41 82 00 0C */ beq lbl_802C7F68
+/* 802C7F60 002C3BC0 38 63 00 24 */ addi r3, r3, 0x24
+/* 802C7F64 002C3BC4 4E 80 00 20 */ blr
+lbl_802C7F68:
+/* 802C7F68 002C3BC8 88 03 00 52 */ lbz r0, 0x52(r3)
+/* 802C7F6C 002C3BCC 38 84 00 01 */ addi r4, r4, 1
+/* 802C7F70 002C3BD0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7F74 002C3BD4 41 82 00 0C */ beq lbl_802C7F80
+/* 802C7F78 002C3BD8 38 63 00 40 */ addi r3, r3, 0x40
+/* 802C7F7C 002C3BDC 4E 80 00 20 */ blr
+lbl_802C7F80:
+/* 802C7F80 002C3BE0 88 03 00 6E */ lbz r0, 0x6e(r3)
+/* 802C7F84 002C3BE4 38 84 00 01 */ addi r4, r4, 1
+/* 802C7F88 002C3BE8 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7F8C 002C3BEC 41 82 00 0C */ beq lbl_802C7F98
+/* 802C7F90 002C3BF0 38 63 00 5C */ addi r3, r3, 0x5c
+/* 802C7F94 002C3BF4 4E 80 00 20 */ blr
+lbl_802C7F98:
+/* 802C7F98 002C3BF8 88 03 00 8A */ lbz r0, 0x8a(r3)
+/* 802C7F9C 002C3BFC 38 84 00 01 */ addi r4, r4, 1
+/* 802C7FA0 002C3C00 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7FA4 002C3C04 41 82 00 0C */ beq lbl_802C7FB0
+/* 802C7FA8 002C3C08 38 63 00 78 */ addi r3, r3, 0x78
+/* 802C7FAC 002C3C0C 4E 80 00 20 */ blr
+lbl_802C7FB0:
+/* 802C7FB0 002C3C10 88 03 00 A6 */ lbz r0, 0xa6(r3)
+/* 802C7FB4 002C3C14 38 84 00 01 */ addi r4, r4, 1
+/* 802C7FB8 002C3C18 2C 00 00 00 */ cmpwi r0, 0
+/* 802C7FBC 002C3C1C 41 82 00 0C */ beq lbl_802C7FC8
+/* 802C7FC0 002C3C20 38 63 00 94 */ addi r3, r3, 0x94
+/* 802C7FC4 002C3C24 4E 80 00 20 */ blr
+lbl_802C7FC8:
+/* 802C7FC8 002C3C28 38 84 00 01 */ addi r4, r4, 1
+/* 802C7FCC 002C3C2C 38 63 00 A8 */ addi r3, r3, 0xa8
+/* 802C7FD0 002C3C30 42 00 FF 6C */ bdnz lbl_802C7F3C
+/* 802C7FD4 002C3C34 38 60 00 00 */ li r3, 0
+/* 802C7FD8 002C3C38 4E 80 00 20 */ blr
+
+.global BTM_ClearInqDb
+BTM_ClearInqDb:
+/* 802C7FDC 002C3C3C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C7FE0 002C3C40 7C 08 02 A6 */ mflr r0
+/* 802C7FE4 002C3C44 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C7FE8 002C3C48 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C7FEC 002C3C4C 4B EF F1 3D */ bl _savegpr_27
+/* 802C7FF0 002C3C50 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C7FF4 002C3C54 7C 7B 1B 78 */ mr r27, r3
+/* 802C7FF8 002C3C58 3B C4 8B 78 */ addi r30, r4, lbl_80568B78@l
+/* 802C7FFC 002C3C5C 88 1E 18 48 */ lbz r0, 0x1848(r30)
+/* 802C8000 002C3C60 2C 00 00 00 */ cmpwi r0, 0
+/* 802C8004 002C3C64 40 82 00 1C */ bne lbl_802C8020
+/* 802C8008 002C3C68 88 1E 16 AE */ lbz r0, 0x16ae(r30)
+/* 802C800C 002C3C6C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C8010 002C3C70 40 82 00 10 */ bne lbl_802C8020
+/* 802C8014 002C3C74 88 1E 18 44 */ lbz r0, 0x1844(r30)
+/* 802C8018 002C3C78 2C 00 00 00 */ cmpwi r0, 0
+/* 802C801C 002C3C7C 41 82 00 0C */ beq lbl_802C8028
+lbl_802C8020:
+/* 802C8020 002C3C80 38 60 00 02 */ li r3, 2
+/* 802C8024 002C3C84 48 00 00 70 */ b lbl_802C8094
+lbl_802C8028:
+/* 802C8028 002C3C88 3B 9E 16 E4 */ addi r28, r30, 0x16e4
+/* 802C802C 002C3C8C 3B A0 00 00 */ li r29, 0
+/* 802C8030 002C3C90 3B E0 00 00 */ li r31, 0
+lbl_802C8034:
+/* 802C8034 002C3C94 88 1C 00 1A */ lbz r0, 0x1a(r28)
+/* 802C8038 002C3C98 2C 00 00 00 */ cmpwi r0, 0
+/* 802C803C 002C3C9C 41 82 00 44 */ beq lbl_802C8080
+/* 802C8040 002C3CA0 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C8044 002C3CA4 41 82 00 1C */ beq lbl_802C8060
+/* 802C8048 002C3CA8 7F 64 DB 78 */ mr r4, r27
+/* 802C804C 002C3CAC 38 7C 00 0A */ addi r3, r28, 0xa
+/* 802C8050 002C3CB0 38 A0 00 06 */ li r5, 6
+/* 802C8054 002C3CB4 4B F0 23 45 */ bl memcmp
+/* 802C8058 002C3CB8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C805C 002C3CBC 40 82 00 24 */ bne lbl_802C8080
+lbl_802C8060:
+/* 802C8060 002C3CC0 9B FC 00 1A */ stb r31, 0x1a(r28)
+/* 802C8064 002C3CC4 81 9E 16 BC */ lwz r12, 0x16bc(r30)
+/* 802C8068 002C3CC8 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C806C 002C3CCC 41 82 00 14 */ beq lbl_802C8080
+/* 802C8070 002C3CD0 38 7C 00 08 */ addi r3, r28, 8
+/* 802C8074 002C3CD4 38 80 00 00 */ li r4, 0
+/* 802C8078 002C3CD8 7D 89 03 A6 */ mtctr r12
+/* 802C807C 002C3CDC 4E 80 04 21 */ bctrl
+lbl_802C8080:
+/* 802C8080 002C3CE0 3B BD 00 01 */ addi r29, r29, 1
+/* 802C8084 002C3CE4 3B 9C 00 1C */ addi r28, r28, 0x1c
+/* 802C8088 002C3CE8 28 1D 00 0C */ cmplwi r29, 0xc
+/* 802C808C 002C3CEC 41 80 FF A8 */ blt lbl_802C8034
+/* 802C8090 002C3CF0 38 60 00 00 */ li r3, 0
+lbl_802C8094:
+/* 802C8094 002C3CF4 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C8098 002C3CF8 4B EF F0 DD */ bl _restgpr_27
+/* 802C809C 002C3CFC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C80A0 002C3D00 7C 08 03 A6 */ mtlr r0
+/* 802C80A4 002C3D04 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C80A8 002C3D08 4E 80 00 20 */ blr
+
+.global btm_inq_db_reset
+btm_inq_db_reset:
+/* 802C80AC 002C3D0C 94 21 FE E0 */ stwu r1, -0x120(r1)
+/* 802C80B0 002C3D10 7C 08 02 A6 */ mflr r0
+/* 802C80B4 002C3D14 90 01 01 24 */ stw r0, 0x124(r1)
+/* 802C80B8 002C3D18 39 61 01 20 */ addi r11, r1, 0x120
+/* 802C80BC 002C3D1C 4B EF F0 6D */ bl _savegpr_27
+/* 802C80C0 002C3D20 3F A0 80 57 */ lis r29, lbl_80568B78@ha
+/* 802C80C4 002C3D24 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l
+/* 802C80C8 002C3D28 38 7D 16 C4 */ addi r3, r29, 0x16c4
+/* 802C80CC 002C3D2C 4B FF 54 81 */ bl btu_stop_timer
+/* 802C80D0 002C3D30 88 7D 18 48 */ lbz r3, 0x1848(r29)
+/* 802C80D4 002C3D34 2C 03 00 00 */ cmpwi r3, 0
+/* 802C80D8 002C3D38 41 82 00 38 */ beq lbl_802C8110
+/* 802C80DC 002C3D3C 38 03 00 FF */ addi r0, r3, 0xff
+/* 802C80E0 002C3D40 38 60 00 00 */ li r3, 0
+/* 802C80E4 002C3D44 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 802C80E8 002C3D48 98 7D 18 48 */ stb r3, 0x1848(r29)
+/* 802C80EC 002C3D4C 28 00 00 01 */ cmplwi r0, 1
+/* 802C80F0 002C3D50 41 81 00 20 */ bgt lbl_802C8110
+/* 802C80F4 002C3D54 81 9D 16 B0 */ lwz r12, 0x16b0(r29)
+/* 802C80F8 002C3D58 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C80FC 002C3D5C 41 82 00 14 */ beq lbl_802C8110
+/* 802C8100 002C3D60 98 61 00 09 */ stb r3, 9(r1)
+/* 802C8104 002C3D64 38 61 00 09 */ addi r3, r1, 9
+/* 802C8108 002C3D68 7D 89 03 A6 */ mtctr r12
+/* 802C810C 002C3D6C 4E 80 04 21 */ bctrl
+lbl_802C8110:
+/* 802C8110 002C3D70 88 1D 16 AE */ lbz r0, 0x16ae(r29)
+/* 802C8114 002C3D74 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802C8118 002C3D78 41 82 00 48 */ beq lbl_802C8160
+/* 802C811C 002C3D7C 38 7D 16 80 */ addi r3, r29, 0x1680
+/* 802C8120 002C3D80 4B FF 54 2D */ bl btu_stop_timer
+/* 802C8124 002C3D84 3B C0 00 00 */ li r30, 0
+/* 802C8128 002C3D88 38 7D 16 A8 */ addi r3, r29, 0x16a8
+/* 802C812C 002C3D8C 9B DD 16 AE */ stb r30, 0x16ae(r29)
+/* 802C8130 002C3D90 38 80 00 00 */ li r4, 0
+/* 802C8134 002C3D94 38 A0 00 06 */ li r5, 6
+/* 802C8138 002C3D98 4B D3 BF CD */ bl memset
+/* 802C813C 002C3D9C 81 9D 16 7C */ lwz r12, 0x167c(r29)
+/* 802C8140 002C3DA0 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C8144 002C3DA4 41 82 00 1C */ beq lbl_802C8160
+/* 802C8148 002C3DA8 38 00 00 0C */ li r0, 0xc
+/* 802C814C 002C3DAC 38 61 00 0C */ addi r3, r1, 0xc
+/* 802C8150 002C3DB0 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 802C8154 002C3DB4 7D 89 03 A6 */ mtctr r12
+/* 802C8158 002C3DB8 4E 80 04 21 */ bctrl
+/* 802C815C 002C3DBC 93 DD 16 7C */ stw r30, 0x167c(r29)
+lbl_802C8160:
+/* 802C8160 002C3DC0 88 1D 18 44 */ lbz r0, 0x1844(r29)
+/* 802C8164 002C3DC4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C8168 002C3DC8 41 82 00 2C */ beq lbl_802C8194
+/* 802C816C 002C3DCC 81 9D 16 B8 */ lwz r12, 0x16b8(r29)
+/* 802C8170 002C3DD0 38 00 00 00 */ li r0, 0
+/* 802C8174 002C3DD4 98 1D 18 44 */ stb r0, 0x1844(r29)
+/* 802C8178 002C3DD8 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C817C 002C3DDC 41 82 00 18 */ beq lbl_802C8194
+/* 802C8180 002C3DE0 38 00 00 0C */ li r0, 0xc
+/* 802C8184 002C3DE4 38 61 00 08 */ addi r3, r1, 8
+/* 802C8188 002C3DE8 98 01 00 08 */ stb r0, 8(r1)
+/* 802C818C 002C3DEC 7D 89 03 A6 */ mtctr r12
+/* 802C8190 002C3DF0 4E 80 04 21 */ bctrl
+lbl_802C8194:
+/* 802C8194 002C3DF4 3B C0 00 00 */ li r30, 0
+/* 802C8198 002C3DF8 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C819C 002C3DFC 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C81A0 002C3E00 9B DD 18 47 */ stb r30, 0x1847(r29)
+/* 802C81A4 002C3E04 3B 80 00 00 */ li r28, 0
+/* 802C81A8 002C3E08 9B DD 18 45 */ stb r30, 0x1845(r29)
+/* 802C81AC 002C3E0C 3B 7F 16 E4 */ addi r27, r31, 0x16e4
+/* 802C81B0 002C3E10 93 DD 16 B4 */ stw r30, 0x16b4(r29)
+lbl_802C81B4:
+/* 802C81B4 002C3E14 88 1B 00 1A */ lbz r0, 0x1a(r27)
+/* 802C81B8 002C3E18 2C 00 00 00 */ cmpwi r0, 0
+/* 802C81BC 002C3E1C 41 82 00 24 */ beq lbl_802C81E0
+/* 802C81C0 002C3E20 9B DB 00 1A */ stb r30, 0x1a(r27)
+/* 802C81C4 002C3E24 81 9F 16 BC */ lwz r12, 0x16bc(r31)
+/* 802C81C8 002C3E28 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C81CC 002C3E2C 41 82 00 14 */ beq lbl_802C81E0
+/* 802C81D0 002C3E30 38 7B 00 08 */ addi r3, r27, 8
+/* 802C81D4 002C3E34 38 80 00 00 */ li r4, 0
+/* 802C81D8 002C3E38 7D 89 03 A6 */ mtctr r12
+/* 802C81DC 002C3E3C 4E 80 04 21 */ bctrl
+lbl_802C81E0:
+/* 802C81E0 002C3E40 3B 9C 00 01 */ addi r28, r28, 1
+/* 802C81E4 002C3E44 3B 7B 00 1C */ addi r27, r27, 0x1c
+/* 802C81E8 002C3E48 28 1C 00 0C */ cmplwi r28, 0xc
+/* 802C81EC 002C3E4C 41 80 FF C8 */ blt lbl_802C81B4
+/* 802C81F0 002C3E50 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C81F4 002C3E54 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C81F8 002C3E58 80 7F 16 DC */ lwz r3, 0x16dc(r31)
+/* 802C81FC 002C3E5C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8200 002C3E60 41 82 00 10 */ beq lbl_802C8210
+/* 802C8204 002C3E64 4B FF 1B 31 */ bl GKI_freebuf
+/* 802C8208 002C3E68 38 00 00 00 */ li r0, 0
+/* 802C820C 002C3E6C 90 1F 16 DC */ stw r0, 0x16dc(r31)
+lbl_802C8210:
+/* 802C8210 002C3E70 38 00 00 00 */ li r0, 0
+/* 802C8214 002C3E74 39 61 01 20 */ addi r11, r1, 0x120
+/* 802C8218 002C3E78 B0 1F 16 E0 */ sth r0, 0x16e0(r31)
+/* 802C821C 002C3E7C B0 1F 16 E2 */ sth r0, 0x16e2(r31)
+/* 802C8220 002C3E80 B0 1D 16 98 */ sth r0, 0x1698(r29)
+/* 802C8224 002C3E84 B0 1D 16 9A */ sth r0, 0x169a(r29)
+/* 802C8228 002C3E88 B0 1D 16 A6 */ sth r0, 0x16a6(r29)
+/* 802C822C 002C3E8C B0 1D 16 A4 */ sth r0, 0x16a4(r29)
+/* 802C8230 002C3E90 4B EF EF 45 */ bl _restgpr_27
+/* 802C8234 002C3E94 80 01 01 24 */ lwz r0, 0x124(r1)
+/* 802C8238 002C3E98 7C 08 03 A6 */ mtlr r0
+/* 802C823C 002C3E9C 38 21 01 20 */ addi r1, r1, 0x120
+/* 802C8240 002C3EA0 4E 80 00 20 */ blr
+
+.global btm_inq_db_init
+btm_inq_db_init:
+/* 802C8244 002C3EA4 4E 80 00 20 */ blr
+
+.global btm_inq_find_bdaddr
+btm_inq_find_bdaddr:
+/* 802C8248 002C3EA8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C824C 002C3EAC 7C 08 02 A6 */ mflr r0
+/* 802C8250 002C3EB0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C8254 002C3EB4 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C8258 002C3EB8 4B EF EE D1 */ bl _savegpr_27
+/* 802C825C 002C3EBC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C8260 002C3EC0 7C 7B 1B 78 */ mr r27, r3
+/* 802C8264 002C3EC4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C8268 002C3EC8 88 1F 18 48 */ lbz r0, 0x1848(r31)
+/* 802C826C 002C3ECC 83 BF 16 DC */ lwz r29, 0x16dc(r31)
+/* 802C8270 002C3ED0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802C8274 002C3ED4 40 82 00 0C */ bne lbl_802C8280
+/* 802C8278 002C3ED8 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C827C 002C3EDC 40 82 00 0C */ bne lbl_802C8288
+lbl_802C8280:
+/* 802C8280 002C3EE0 38 60 00 00 */ li r3, 0
+/* 802C8284 002C3EE4 48 00 00 88 */ b lbl_802C830C
+lbl_802C8288:
+/* 802C8288 002C3EE8 A3 DF 16 E0 */ lhz r30, 0x16e0(r31)
+/* 802C828C 002C3EEC 3B 80 00 00 */ li r28, 0
+/* 802C8290 002C3EF0 48 00 00 3C */ b lbl_802C82CC
+lbl_802C8294:
+/* 802C8294 002C3EF4 7F 64 DB 78 */ mr r4, r27
+/* 802C8298 002C3EF8 38 7D 00 04 */ addi r3, r29, 4
+/* 802C829C 002C3EFC 38 A0 00 06 */ li r5, 6
+/* 802C82A0 002C3F00 4B F0 20 F9 */ bl memcmp
+/* 802C82A4 002C3F04 2C 03 00 00 */ cmpwi r3, 0
+/* 802C82A8 002C3F08 40 82 00 1C */ bne lbl_802C82C4
+/* 802C82AC 002C3F0C 80 7D 00 00 */ lwz r3, 0(r29)
+/* 802C82B0 002C3F10 80 1F 16 C0 */ lwz r0, 0x16c0(r31)
+/* 802C82B4 002C3F14 7C 03 00 40 */ cmplw r3, r0
+/* 802C82B8 002C3F18 40 82 00 0C */ bne lbl_802C82C4
+/* 802C82BC 002C3F1C 38 60 00 01 */ li r3, 1
+/* 802C82C0 002C3F20 48 00 00 4C */ b lbl_802C830C
+lbl_802C82C4:
+/* 802C82C4 002C3F24 3B 9C 00 01 */ addi r28, r28, 1
+/* 802C82C8 002C3F28 3B BD 00 0C */ addi r29, r29, 0xc
+lbl_802C82CC:
+/* 802C82CC 002C3F2C 57 83 04 3E */ clrlwi r3, r28, 0x10
+/* 802C82D0 002C3F30 7C 03 F0 40 */ cmplw r3, r30
+/* 802C82D4 002C3F34 41 80 FF C0 */ blt lbl_802C8294
+/* 802C82D8 002C3F38 A0 1F 16 E2 */ lhz r0, 0x16e2(r31)
+/* 802C82DC 002C3F3C 7C 03 00 40 */ cmplw r3, r0
+/* 802C82E0 002C3F40 40 80 00 28 */ bge lbl_802C8308
+/* 802C82E4 002C3F44 80 1F 16 C0 */ lwz r0, 0x16c0(r31)
+/* 802C82E8 002C3F48 7F 64 DB 78 */ mr r4, r27
+/* 802C82EC 002C3F4C 38 7D 00 04 */ addi r3, r29, 4
+/* 802C82F0 002C3F50 38 A0 00 06 */ li r5, 6
+/* 802C82F4 002C3F54 90 1D 00 00 */ stw r0, 0(r29)
+/* 802C82F8 002C3F58 4B D3 BD 09 */ bl memcpy
+/* 802C82FC 002C3F5C A0 7F 16 E0 */ lhz r3, 0x16e0(r31)
+/* 802C8300 002C3F60 38 03 00 01 */ addi r0, r3, 1
+/* 802C8304 002C3F64 B0 1F 16 E0 */ sth r0, 0x16e0(r31)
+lbl_802C8308:
+/* 802C8308 002C3F68 38 60 00 00 */ li r3, 0
+lbl_802C830C:
+/* 802C830C 002C3F6C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C8310 002C3F70 4B EF EE 65 */ bl _restgpr_27
+/* 802C8314 002C3F74 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C8318 002C3F78 7C 08 03 A6 */ mtlr r0
+/* 802C831C 002C3F7C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C8320 002C3F80 4E 80 00 20 */ blr
+
+.global btm_inq_db_new
+btm_inq_db_new:
+/* 802C8324 002C3F84 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C8328 002C3F88 7C 08 02 A6 */ mflr r0
+/* 802C832C 002C3F8C 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C8330 002C3F90 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C8334 002C3F94 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C8338 002C3F98 38 00 00 0C */ li r0, 0xc
+/* 802C833C 002C3F9C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C8340 002C3FA0 3B E4 16 E4 */ addi r31, r4, 0x16e4
+/* 802C8344 002C3FA4 38 80 FF FF */ li r4, -1
+/* 802C8348 002C3FA8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C834C 002C3FAC 7F FE FB 78 */ mr r30, r31
+/* 802C8350 002C3FB0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C8354 002C3FB4 7C 7D 1B 78 */ mr r29, r3
+/* 802C8358 002C3FB8 38 60 00 00 */ li r3, 0
+/* 802C835C 002C3FBC 7C 09 03 A6 */ mtctr r0
+lbl_802C8360:
+/* 802C8360 002C3FC0 88 1F 00 1A */ lbz r0, 0x1a(r31)
+/* 802C8364 002C3FC4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C8368 002C3FC8 40 82 00 34 */ bne lbl_802C839C
+/* 802C836C 002C3FCC 7F E3 FB 78 */ mr r3, r31
+/* 802C8370 002C3FD0 38 80 00 00 */ li r4, 0
+/* 802C8374 002C3FD4 38 A0 00 1C */ li r5, 0x1c
+/* 802C8378 002C3FD8 4B D3 BD 8D */ bl memset
+/* 802C837C 002C3FDC 7F A4 EB 78 */ mr r4, r29
+/* 802C8380 002C3FE0 38 7F 00 0A */ addi r3, r31, 0xa
+/* 802C8384 002C3FE4 38 A0 00 06 */ li r5, 6
+/* 802C8388 002C3FE8 4B D3 BC 79 */ bl memcpy
+/* 802C838C 002C3FEC 38 00 00 01 */ li r0, 1
+/* 802C8390 002C3FF0 7F E3 FB 78 */ mr r3, r31
+/* 802C8394 002C3FF4 98 1F 00 1A */ stb r0, 0x1a(r31)
+/* 802C8398 002C3FF8 48 00 00 74 */ b lbl_802C840C
+lbl_802C839C:
+/* 802C839C 002C3FFC 80 1F 00 00 */ lwz r0, 0(r31)
+/* 802C83A0 002C4000 7C 00 20 40 */ cmplw r0, r4
+/* 802C83A4 002C4004 40 80 00 0C */ bge lbl_802C83B0
+/* 802C83A8 002C4008 7F FE FB 78 */ mr r30, r31
+/* 802C83AC 002C400C 7C 04 03 78 */ mr r4, r0
+lbl_802C83B0:
+/* 802C83B0 002C4010 38 63 00 01 */ addi r3, r3, 1
+/* 802C83B4 002C4014 3B FF 00 1C */ addi r31, r31, 0x1c
+/* 802C83B8 002C4018 42 00 FF A8 */ bdnz lbl_802C8360
+/* 802C83BC 002C401C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C83C0 002C4020 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C83C4 002C4024 81 83 16 BC */ lwz r12, 0x16bc(r3)
+/* 802C83C8 002C4028 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C83CC 002C402C 41 82 00 14 */ beq lbl_802C83E0
+/* 802C83D0 002C4030 38 7E 00 08 */ addi r3, r30, 8
+/* 802C83D4 002C4034 38 80 00 00 */ li r4, 0
+/* 802C83D8 002C4038 7D 89 03 A6 */ mtctr r12
+/* 802C83DC 002C403C 4E 80 04 21 */ bctrl
+lbl_802C83E0:
+/* 802C83E0 002C4040 7F C3 F3 78 */ mr r3, r30
+/* 802C83E4 002C4044 38 80 00 00 */ li r4, 0
+/* 802C83E8 002C4048 38 A0 00 1C */ li r5, 0x1c
+/* 802C83EC 002C404C 4B D3 BD 19 */ bl memset
+/* 802C83F0 002C4050 7F A4 EB 78 */ mr r4, r29
+/* 802C83F4 002C4054 38 7E 00 0A */ addi r3, r30, 0xa
+/* 802C83F8 002C4058 38 A0 00 06 */ li r5, 6
+/* 802C83FC 002C405C 4B D3 BC 05 */ bl memcpy
+/* 802C8400 002C4060 38 00 00 01 */ li r0, 1
+/* 802C8404 002C4064 7F C3 F3 78 */ mr r3, r30
+/* 802C8408 002C4068 98 1E 00 1A */ stb r0, 0x1a(r30)
+lbl_802C840C:
+/* 802C840C 002C406C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C8410 002C4070 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C8414 002C4074 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C8418 002C4078 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C841C 002C407C 7C 08 03 A6 */ mtlr r0
+/* 802C8420 002C4080 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C8424 002C4084 4E 80 00 20 */ blr
+
+.global btm_set_inq_event_filter
+btm_set_inq_event_filter:
+/* 802C8428 002C4088 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C842C 002C408C 7C 08 02 A6 */ mflr r0
+/* 802C8430 002C4090 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C8434 002C4094 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C8438 002C4098 4B EF EC F1 */ bl _savegpr_27
+/* 802C843C 002C409C 7C 7B 1B 78 */ mr r27, r3
+/* 802C8440 002C40A0 7C 9C 23 78 */ mr r28, r4
+/* 802C8444 002C40A4 3B A1 00 08 */ addi r29, r1, 8
+/* 802C8448 002C40A8 3B C0 00 06 */ li r30, 6
+/* 802C844C 002C40AC 38 60 00 02 */ li r3, 2
+/* 802C8450 002C40B0 4B FF 17 FD */ bl GKI_getpoolbuf
+/* 802C8454 002C40B4 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8458 002C40B8 7C 7F 1B 78 */ mr r31, r3
+/* 802C845C 002C40BC 41 82 00 94 */ beq lbl_802C84F0
+/* 802C8460 002C40C0 2C 1B 00 01 */ cmpwi r27, 1
+/* 802C8464 002C40C4 41 82 00 20 */ beq lbl_802C8484
+/* 802C8468 002C40C8 40 80 00 10 */ bge lbl_802C8478
+/* 802C846C 002C40CC 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C8470 002C40D0 40 80 00 40 */ bge lbl_802C84B0
+/* 802C8474 002C40D4 48 00 00 44 */ b lbl_802C84B8
+lbl_802C8478:
+/* 802C8478 002C40D8 2C 1B 00 03 */ cmpwi r27, 3
+/* 802C847C 002C40DC 40 80 00 3C */ bge lbl_802C84B8
+/* 802C8480 002C40E0 48 00 00 28 */ b lbl_802C84A8
+lbl_802C8484:
+/* 802C8484 002C40E4 7F A3 EB 78 */ mr r3, r29
+/* 802C8488 002C40E8 7F 84 E3 78 */ mr r4, r28
+/* 802C848C 002C40EC 38 A0 00 03 */ li r5, 3
+/* 802C8490 002C40F0 4B D3 BB 71 */ bl memcpy
+/* 802C8494 002C40F4 38 61 00 0B */ addi r3, r1, 0xb
+/* 802C8498 002C40F8 38 9C 00 03 */ addi r4, r28, 3
+/* 802C849C 002C40FC 38 A0 00 03 */ li r5, 3
+/* 802C84A0 002C4100 4B D3 BB 61 */ bl memcpy
+/* 802C84A4 002C4104 48 00 00 1C */ b lbl_802C84C0
+lbl_802C84A8:
+/* 802C84A8 002C4108 7F 9D E3 78 */ mr r29, r28
+/* 802C84AC 002C410C 48 00 00 14 */ b lbl_802C84C0
+lbl_802C84B0:
+/* 802C84B0 002C4110 3B C0 00 00 */ li r30, 0
+/* 802C84B4 002C4114 48 00 00 0C */ b lbl_802C84C0
+lbl_802C84B8:
+/* 802C84B8 002C4118 38 60 00 05 */ li r3, 5
+/* 802C84BC 002C411C 48 00 00 38 */ b lbl_802C84F4
+lbl_802C84C0:
+/* 802C84C0 002C4120 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C84C4 002C4124 38 00 00 01 */ li r0, 1
+/* 802C84C8 002C4128 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C84CC 002C412C 7F E3 FB 78 */ mr r3, r31
+/* 802C84D0 002C4130 98 04 18 44 */ stb r0, 0x1844(r4)
+/* 802C84D4 002C4134 7F 65 DB 78 */ mr r5, r27
+/* 802C84D8 002C4138 7F A6 EB 78 */ mr r6, r29
+/* 802C84DC 002C413C 7F C7 F3 78 */ mr r7, r30
+/* 802C84E0 002C4140 38 80 00 01 */ li r4, 1
+/* 802C84E4 002C4144 48 00 8D E5 */ bl func_802D12C8
+/* 802C84E8 002C4148 38 60 00 01 */ li r3, 1
+/* 802C84EC 002C414C 48 00 00 08 */ b lbl_802C84F4
+lbl_802C84F0:
+/* 802C84F0 002C4150 38 60 00 03 */ li r3, 3
+lbl_802C84F4:
+/* 802C84F4 002C4154 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C84F8 002C4158 4B EF EC 7D */ bl _restgpr_27
+/* 802C84FC 002C415C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C8500 002C4160 7C 08 03 A6 */ mtlr r0
+/* 802C8504 002C4164 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C8508 002C4168 4E 80 00 20 */ blr
+
+.global btm_event_filter_complete
+btm_event_filter_complete:
+/* 802C850C 002C416C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C8510 002C4170 7C 08 02 A6 */ mflr r0
+/* 802C8514 002C4174 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C8518 002C4178 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C851C 002C417C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C8520 002C4180 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C8524 002C4184 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C8528 002C4188 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C852C 002C418C 88 9F 18 45 */ lbz r4, 0x1845(r31)
+/* 802C8530 002C4190 83 BF 16 B8 */ lwz r29, 0x16b8(r31)
+/* 802C8534 002C4194 2C 04 00 00 */ cmpwi r4, 0
+/* 802C8538 002C4198 41 82 00 10 */ beq lbl_802C8548
+/* 802C853C 002C419C 38 04 FF FF */ addi r0, r4, -1
+/* 802C8540 002C41A0 98 1F 18 45 */ stb r0, 0x1845(r31)
+/* 802C8544 002C41A4 48 00 01 CC */ b lbl_802C8710
+lbl_802C8548:
+/* 802C8548 002C41A8 88 1F 18 44 */ lbz r0, 0x1844(r31)
+/* 802C854C 002C41AC 28 00 00 01 */ cmplwi r0, 1
+/* 802C8550 002C41B0 40 82 01 C0 */ bne lbl_802C8710
+/* 802C8554 002C41B4 88 A3 00 00 */ lbz r5, 0(r3)
+/* 802C8558 002C41B8 2C 05 00 00 */ cmpwi r5, 0
+/* 802C855C 002C41BC 41 82 00 30 */ beq lbl_802C858C
+/* 802C8560 002C41C0 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802C8564 002C41C4 28 00 00 02 */ cmplwi r0, 2
+/* 802C8568 002C41C8 41 80 00 18 */ blt lbl_802C8580
+/* 802C856C 002C41CC 3C 60 00 0D */ lis r3, 0x000D0001@ha
+/* 802C8570 002C41D0 3C 80 80 44 */ lis r4, lbl_804414D8@ha
+/* 802C8574 002C41D4 38 63 00 01 */ addi r3, r3, 0x000D0001@l
+/* 802C8578 002C41D8 38 84 14 D8 */ addi r4, r4, lbl_804414D8@l
+/* 802C857C 002C41DC 4B FF 49 AD */ bl LogMsg_1
+lbl_802C8580:
+/* 802C8580 002C41E0 38 00 00 0A */ li r0, 0xa
+/* 802C8584 002C41E4 98 01 00 08 */ stb r0, 8(r1)
+/* 802C8588 002C41E8 48 00 00 0C */ b lbl_802C8594
+lbl_802C858C:
+/* 802C858C 002C41EC 38 00 00 00 */ li r0, 0
+/* 802C8590 002C41F0 98 01 00 08 */ stb r0, 8(r1)
+lbl_802C8594:
+/* 802C8594 002C41F4 88 7F 18 47 */ lbz r3, 0x1847(r31)
+/* 802C8598 002C41F8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C859C 002C41FC 40 82 00 28 */ bne lbl_802C85C4
+/* 802C85A0 002C4200 38 00 00 00 */ li r0, 0
+/* 802C85A4 002C4204 2C 1D 00 00 */ cmpwi r29, 0
+/* 802C85A8 002C4208 98 1F 18 44 */ stb r0, 0x1844(r31)
+/* 802C85AC 002C420C 41 82 01 64 */ beq lbl_802C8710
+/* 802C85B0 002C4210 7F AC EB 78 */ mr r12, r29
+/* 802C85B4 002C4214 38 61 00 08 */ addi r3, r1, 8
+/* 802C85B8 002C4218 7D 89 03 A6 */ mtctr r12
+/* 802C85BC 002C421C 4E 80 04 21 */ bctrl
+/* 802C85C0 002C4220 48 00 01 50 */ b lbl_802C8710
+lbl_802C85C4:
+/* 802C85C4 002C4224 2C 00 00 00 */ cmpwi r0, 0
+/* 802C85C8 002C4228 41 82 00 20 */ beq lbl_802C85E8
+/* 802C85CC 002C422C 38 60 00 0A */ li r3, 0xa
+/* 802C85D0 002C4230 48 00 03 D5 */ bl btm_process_inq_complete
+/* 802C85D4 002C4234 38 00 00 00 */ li r0, 0
+/* 802C85D8 002C4238 98 1F 18 44 */ stb r0, 0x1844(r31)
+/* 802C85DC 002C423C 98 1F 18 48 */ stb r0, 0x1848(r31)
+/* 802C85E0 002C4240 98 1F 18 47 */ stb r0, 0x1847(r31)
+/* 802C85E4 002C4244 48 00 01 2C */ b lbl_802C8710
+lbl_802C85E8:
+/* 802C85E8 002C4248 28 03 00 01 */ cmplwi r3, 1
+/* 802C85EC 002C424C 40 82 00 40 */ bne lbl_802C862C
+/* 802C85F0 002C4250 88 7F 18 37 */ lbz r3, 0x1837(r31)
+/* 802C85F4 002C4254 38 9F 18 38 */ addi r4, r31, 0x1838
+/* 802C85F8 002C4258 4B FF FE 31 */ bl btm_set_inq_event_filter
+/* 802C85FC 002C425C 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802C8600 002C4260 98 61 00 08 */ stb r3, 8(r1)
+/* 802C8604 002C4264 28 00 00 01 */ cmplwi r0, 1
+/* 802C8608 002C4268 40 82 00 10 */ bne lbl_802C8618
+/* 802C860C 002C426C 38 00 00 02 */ li r0, 2
+/* 802C8610 002C4270 98 1F 18 47 */ stb r0, 0x1847(r31)
+/* 802C8614 002C4274 48 00 00 FC */ b lbl_802C8710
+lbl_802C8618:
+/* 802C8618 002C4278 38 00 00 00 */ li r0, 0
+/* 802C861C 002C427C 38 60 00 0A */ li r3, 0xa
+/* 802C8620 002C4280 98 1F 18 44 */ stb r0, 0x1844(r31)
+/* 802C8624 002C4284 48 00 03 81 */ bl btm_process_inq_complete
+/* 802C8628 002C4288 48 00 00 E8 */ b lbl_802C8710
+lbl_802C862C:
+/* 802C862C 002C428C 88 9F 18 36 */ lbz r4, 0x1836(r31)
+/* 802C8630 002C4290 38 00 00 03 */ li r0, 3
+/* 802C8634 002C4294 38 60 00 00 */ li r3, 0
+/* 802C8638 002C4298 98 1F 18 47 */ stb r0, 0x1847(r31)
+/* 802C863C 002C429C 28 04 00 0C */ cmplwi r4, 0xc
+/* 802C8640 002C42A0 38 00 00 0C */ li r0, 0xc
+/* 802C8644 002C42A4 98 7F 18 44 */ stb r3, 0x1844(r31)
+/* 802C8648 002C42A8 41 81 00 08 */ bgt lbl_802C8650
+/* 802C864C 002C42AC 7C 80 23 78 */ mr r0, r4
+lbl_802C8650:
+/* 802C8650 002C42B0 88 7F 18 48 */ lbz r3, 0x1848(r31)
+/* 802C8654 002C42B4 3B A2 A4 70 */ addi r29, r2, lbl_80642A70-_SDA2_BASE_
+/* 802C8658 002C42B8 98 1F 18 36 */ stb r0, 0x1836(r31)
+/* 802C865C 002C42BC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 802C8660 002C42C0 41 82 00 08 */ beq lbl_802C8668
+/* 802C8664 002C42C4 3B A2 A4 74 */ addi r29, r2, lbl_80642A74-_SDA2_BASE_
+lbl_802C8668:
+/* 802C8668 002C42C8 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 802C866C 002C42CC 41 82 00 30 */ beq lbl_802C869C
+/* 802C8670 002C42D0 A0 7F 18 42 */ lhz r3, 0x1842(r31)
+/* 802C8674 002C42D4 7F A5 EB 78 */ mr r5, r29
+/* 802C8678 002C42D8 A0 9F 18 40 */ lhz r4, 0x1840(r31)
+/* 802C867C 002C42DC 88 DF 18 35 */ lbz r6, 0x1835(r31)
+/* 802C8680 002C42E0 88 FF 18 36 */ lbz r7, 0x1836(r31)
+/* 802C8684 002C42E4 48 00 78 6D */ bl func_802CFEF0
+/* 802C8688 002C42E8 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C868C 002C42EC 40 82 00 84 */ bne lbl_802C8710
+/* 802C8690 002C42F0 38 60 00 03 */ li r3, 3
+/* 802C8694 002C42F4 48 00 03 11 */ bl btm_process_inq_complete
+/* 802C8698 002C42F8 48 00 00 78 */ b lbl_802C8710
+lbl_802C869C:
+/* 802C869C 002C42FC 3F C0 80 57 */ lis r30, lbl_80568B78@ha
+/* 802C86A0 002C4300 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
+/* 802C86A4 002C4304 80 7E 16 DC */ lwz r3, 0x16dc(r30)
+/* 802C86A8 002C4308 2C 03 00 00 */ cmpwi r3, 0
+/* 802C86AC 002C430C 41 82 00 10 */ beq lbl_802C86BC
+/* 802C86B0 002C4310 4B FF 16 85 */ bl GKI_freebuf
+/* 802C86B4 002C4314 38 00 00 00 */ li r0, 0
+/* 802C86B8 002C4318 90 1E 16 DC */ stw r0, 0x16dc(r30)
+lbl_802C86BC:
+/* 802C86BC 002C431C 38 00 00 00 */ li r0, 0
+/* 802C86C0 002C4320 38 60 07 08 */ li r3, 0x708
+/* 802C86C4 002C4324 B0 1E 16 E0 */ sth r0, 0x16e0(r30)
+/* 802C86C8 002C4328 B0 1E 16 E2 */ sth r0, 0x16e2(r30)
+/* 802C86CC 002C432C 4B FF 13 E1 */ bl GKI_getbuf
+/* 802C86D0 002C4330 2C 03 00 00 */ cmpwi r3, 0
+/* 802C86D4 002C4334 90 7F 16 DC */ stw r3, 0x16dc(r31)
+/* 802C86D8 002C4338 41 82 00 18 */ beq lbl_802C86F0
+/* 802C86DC 002C433C 38 00 00 96 */ li r0, 0x96
+/* 802C86E0 002C4340 38 80 00 00 */ li r4, 0
+/* 802C86E4 002C4344 B0 1F 16 E2 */ sth r0, 0x16e2(r31)
+/* 802C86E8 002C4348 38 A0 07 08 */ li r5, 0x708
+/* 802C86EC 002C434C 4B D3 BA 19 */ bl memset
+lbl_802C86F0:
+/* 802C86F0 002C4350 88 9F 18 35 */ lbz r4, 0x1835(r31)
+/* 802C86F4 002C4354 7F A3 EB 78 */ mr r3, r29
+/* 802C86F8 002C4358 38 A0 00 00 */ li r5, 0
+/* 802C86FC 002C435C 48 00 76 ED */ bl func_802CFDE8
+/* 802C8700 002C4360 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C8704 002C4364 40 82 00 0C */ bne lbl_802C8710
+/* 802C8708 002C4368 38 60 00 03 */ li r3, 3
+/* 802C870C 002C436C 48 00 02 99 */ bl btm_process_inq_complete
+lbl_802C8710:
+/* 802C8710 002C4370 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C8714 002C4374 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C8718 002C4378 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C871C 002C437C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C8720 002C4380 7C 08 03 A6 */ mtlr r0
+/* 802C8724 002C4384 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C8728 002C4388 4E 80 00 20 */ blr
+
+.global btm_process_inq_results
+btm_process_inq_results:
+/* 802C872C 002C438C 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 802C8730 002C4390 7C 08 02 A6 */ mflr r0
+/* 802C8734 002C4394 90 01 00 64 */ stw r0, 0x64(r1)
+/* 802C8738 002C4398 39 61 00 60 */ addi r11, r1, 0x60
+/* 802C873C 002C439C 4B EF E9 C1 */ bl _savegpr_16
+/* 802C8740 002C43A0 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C8744 002C43A4 7C 92 23 78 */ mr r18, r4
+/* 802C8748 002C43A8 3B 65 8B 78 */ addi r27, r5, lbl_80568B78@l
+/* 802C874C 002C43AC 3A E0 00 01 */ li r23, 1
+/* 802C8750 002C43B0 88 1B 18 48 */ lbz r0, 0x1848(r27)
+/* 802C8754 002C43B4 3A A0 00 00 */ li r21, 0
+/* 802C8758 002C43B8 82 DB 16 B4 */ lwz r22, 0x16b4(r27)
+/* 802C875C 002C43BC 3A 80 00 00 */ li r20, 0
+/* 802C8760 002C43C0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C8764 002C43C4 41 82 02 28 */ beq lbl_802C898C
+/* 802C8768 002C43C8 8B 83 00 00 */ lbz r28, 0(r3)
+/* 802C876C 002C43CC 3A 23 00 01 */ addi r17, r3, 1
+/* 802C8770 002C43D0 3B 40 00 00 */ li r26, 0
+/* 802C8774 002C43D4 3B E0 00 7F */ li r31, 0x7f
+/* 802C8778 002C43D8 3A 00 00 00 */ li r16, 0
+/* 802C877C 002C43DC 48 00 02 04 */ b lbl_802C8980
+lbl_802C8780:
+/* 802C8780 002C43E0 88 11 00 00 */ lbz r0, 0(r17)
+/* 802C8784 002C43E4 2C 12 00 00 */ cmpwi r18, 0
+/* 802C8788 002C43E8 98 01 00 11 */ stb r0, 0x11(r1)
+/* 802C878C 002C43EC 88 11 00 01 */ lbz r0, 1(r17)
+/* 802C8790 002C43F0 98 01 00 10 */ stb r0, 0x10(r1)
+/* 802C8794 002C43F4 88 11 00 02 */ lbz r0, 2(r17)
+/* 802C8798 002C43F8 98 01 00 0F */ stb r0, 0xf(r1)
+/* 802C879C 002C43FC 88 11 00 03 */ lbz r0, 3(r17)
+/* 802C87A0 002C4400 98 01 00 0E */ stb r0, 0xe(r1)
+/* 802C87A4 002C4404 88 11 00 04 */ lbz r0, 4(r17)
+/* 802C87A8 002C4408 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802C87AC 002C440C 88 11 00 05 */ lbz r0, 5(r17)
+/* 802C87B0 002C4410 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802C87B4 002C4414 8B B1 00 06 */ lbz r29, 6(r17)
+/* 802C87B8 002C4418 8B D1 00 07 */ lbz r30, 7(r17)
+/* 802C87BC 002C441C 3A 31 00 08 */ addi r17, r17, 8
+/* 802C87C0 002C4420 40 82 00 0C */ bne lbl_802C87CC
+/* 802C87C4 002C4424 8A B1 00 00 */ lbz r21, 0(r17)
+/* 802C87C8 002C4428 3A 31 00 01 */ addi r17, r17, 1
+lbl_802C87CC:
+/* 802C87CC 002C442C 88 11 00 00 */ lbz r0, 0(r17)
+/* 802C87D0 002C4430 2C 12 00 00 */ cmpwi r18, 0
+/* 802C87D4 002C4434 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802C87D8 002C4438 88 11 00 01 */ lbz r0, 1(r17)
+/* 802C87DC 002C443C 98 01 00 09 */ stb r0, 9(r1)
+/* 802C87E0 002C4440 88 11 00 02 */ lbz r0, 2(r17)
+/* 802C87E4 002C4444 98 01 00 08 */ stb r0, 8(r1)
+/* 802C87E8 002C4448 88 11 00 04 */ lbz r0, 4(r17)
+/* 802C87EC 002C444C 88 71 00 03 */ lbz r3, 3(r17)
+/* 802C87F0 002C4450 3A 31 00 05 */ addi r17, r17, 5
+/* 802C87F4 002C4454 54 00 40 2E */ slwi r0, r0, 8
+/* 802C87F8 002C4458 7C 03 02 14 */ add r0, r3, r0
+/* 802C87FC 002C445C 54 13 04 3E */ clrlwi r19, r0, 0x10
+/* 802C8800 002C4460 41 82 00 0C */ beq lbl_802C880C
+/* 802C8804 002C4464 8A 91 00 00 */ lbz r20, 0(r17)
+/* 802C8808 002C4468 3A 31 00 01 */ addi r17, r17, 1
+lbl_802C880C:
+/* 802C880C 002C446C 38 61 00 0C */ addi r3, r1, 0xc
+/* 802C8810 002C4470 4B FF FA 39 */ bl btm_inq_find_bdaddr
+/* 802C8814 002C4474 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C8818 002C4478 40 82 01 64 */ bne lbl_802C897C
+/* 802C881C 002C447C 81 9B 18 4C */ lwz r12, 0x184c(r27)
+/* 802C8820 002C4480 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C8824 002C4484 41 82 00 1C */ beq lbl_802C8840
+/* 802C8828 002C4488 38 61 00 0C */ addi r3, r1, 0xc
+/* 802C882C 002C448C 38 81 00 08 */ addi r4, r1, 8
+/* 802C8830 002C4490 7D 89 03 A6 */ mtctr r12
+/* 802C8834 002C4494 4E 80 04 21 */ bctrl
+/* 802C8838 002C4498 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C883C 002C449C 41 82 01 40 */ beq lbl_802C897C
+lbl_802C8840:
+/* 802C8840 002C44A0 3B 3B 16 E4 */ addi r25, r27, 0x16e4
+/* 802C8844 002C44A4 3B 00 00 00 */ li r24, 0
+lbl_802C8848:
+/* 802C8848 002C44A8 88 19 00 1A */ lbz r0, 0x1a(r25)
+/* 802C884C 002C44AC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C8850 002C44B0 41 82 00 20 */ beq lbl_802C8870
+/* 802C8854 002C44B4 38 79 00 0A */ addi r3, r25, 0xa
+/* 802C8858 002C44B8 38 81 00 0C */ addi r4, r1, 0xc
+/* 802C885C 002C44BC 38 A0 00 06 */ li r5, 6
+/* 802C8860 002C44C0 4B F0 1B 39 */ bl memcmp
+/* 802C8864 002C44C4 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8868 002C44C8 40 82 00 08 */ bne lbl_802C8870
+/* 802C886C 002C44CC 48 00 00 18 */ b lbl_802C8884
+lbl_802C8870:
+/* 802C8870 002C44D0 3B 18 00 01 */ addi r24, r24, 1
+/* 802C8874 002C44D4 3B 39 00 1C */ addi r25, r25, 0x1c
+/* 802C8878 002C44D8 28 18 00 0C */ cmplwi r24, 0xc
+/* 802C887C 002C44DC 41 80 FF CC */ blt lbl_802C8848
+/* 802C8880 002C44E0 3B 20 00 00 */ li r25, 0
+lbl_802C8884:
+/* 802C8884 002C44E4 2C 19 00 00 */ cmpwi r25, 0
+/* 802C8888 002C44E8 40 82 00 18 */ bne lbl_802C88A0
+/* 802C888C 002C44EC 38 61 00 0C */ addi r3, r1, 0xc
+/* 802C8890 002C44F0 4B FF FA 95 */ bl btm_inq_db_new
+/* 802C8894 002C44F4 7C 79 1B 78 */ mr r25, r3
+/* 802C8898 002C44F8 3A E0 00 01 */ li r23, 1
+/* 802C889C 002C44FC 48 00 00 18 */ b lbl_802C88B4
+lbl_802C88A0:
+/* 802C88A0 002C4500 80 79 00 04 */ lwz r3, 4(r25)
+/* 802C88A4 002C4504 80 1B 16 C0 */ lwz r0, 0x16c0(r27)
+/* 802C88A8 002C4508 7C 03 00 40 */ cmplw r3, r0
+/* 802C88AC 002C450C 40 82 00 08 */ bne lbl_802C88B4
+/* 802C88B0 002C4510 3A E0 00 00 */ li r23, 0
+lbl_802C88B4:
+/* 802C88B4 002C4514 28 17 00 01 */ cmplwi r23, 1
+/* 802C88B8 002C4518 40 82 00 C4 */ bne lbl_802C897C
+/* 802C88BC 002C451C 9B B9 00 13 */ stb r29, 0x13(r25)
+/* 802C88C0 002C4520 2C 12 00 00 */ cmpwi r18, 0
+/* 802C88C4 002C4524 88 A1 00 08 */ lbz r5, 8(r1)
+/* 802C88C8 002C4528 62 60 80 00 */ ori r0, r19, 0x8000
+/* 802C88CC 002C452C 9B D9 00 14 */ stb r30, 0x14(r25)
+/* 802C88D0 002C4530 3B 19 00 08 */ addi r24, r25, 8
+/* 802C88D4 002C4534 88 81 00 09 */ lbz r4, 9(r1)
+/* 802C88D8 002C4538 9A B9 00 15 */ stb r21, 0x15(r25)
+/* 802C88DC 002C453C 88 61 00 0A */ lbz r3, 0xa(r1)
+/* 802C88E0 002C4540 98 B9 00 10 */ stb r5, 0x10(r25)
+/* 802C88E4 002C4544 98 99 00 11 */ stb r4, 0x11(r25)
+/* 802C88E8 002C4548 98 79 00 12 */ stb r3, 0x12(r25)
+/* 802C88EC 002C454C B0 19 00 08 */ sth r0, 8(r25)
+/* 802C88F0 002C4550 41 82 00 0C */ beq lbl_802C88FC
+/* 802C88F4 002C4554 9A 98 00 0E */ stb r20, 0xe(r24)
+/* 802C88F8 002C4558 48 00 00 08 */ b lbl_802C8900
+lbl_802C88FC:
+/* 802C88FC 002C455C 9B F8 00 0E */ stb r31, 0xe(r24)
+lbl_802C8900:
+/* 802C8900 002C4560 4B FF 21 CD */ bl GKI_get_tick_count
+/* 802C8904 002C4564 90 79 00 00 */ stw r3, 0(r25)
+/* 802C8908 002C4568 80 1B 16 C0 */ lwz r0, 0x16c0(r27)
+/* 802C890C 002C456C 90 19 00 04 */ stw r0, 4(r25)
+/* 802C8910 002C4570 88 1B 18 48 */ lbz r0, 0x1848(r27)
+/* 802C8914 002C4574 88 7B 18 3F */ lbz r3, 0x183f(r27)
+/* 802C8918 002C4578 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802C891C 002C457C 38 03 00 01 */ addi r0, r3, 1
+/* 802C8920 002C4580 98 1B 18 3F */ stb r0, 0x183f(r27)
+/* 802C8924 002C4584 40 82 00 20 */ bne lbl_802C8944
+/* 802C8928 002C4588 88 7B 18 36 */ lbz r3, 0x1836(r27)
+/* 802C892C 002C458C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8930 002C4590 41 82 00 14 */ beq lbl_802C8944
+/* 802C8934 002C4594 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 802C8938 002C4598 7C 00 18 40 */ cmplw r0, r3
+/* 802C893C 002C459C 40 82 00 08 */ bne lbl_802C8944
+/* 802C8940 002C45A0 48 00 75 51 */ bl func_802CFE90
+lbl_802C8944:
+/* 802C8944 002C45A4 2C 16 00 00 */ cmpwi r22, 0
+/* 802C8948 002C45A8 9A 19 00 18 */ stb r16, 0x18(r25)
+/* 802C894C 002C45AC 41 82 00 14 */ beq lbl_802C8960
+/* 802C8950 002C45B0 7E CC B3 78 */ mr r12, r22
+/* 802C8954 002C45B4 7F 03 C3 78 */ mr r3, r24
+/* 802C8958 002C45B8 7D 89 03 A6 */ mtctr r12
+/* 802C895C 002C45BC 4E 80 04 21 */ bctrl
+lbl_802C8960:
+/* 802C8960 002C45C0 81 9B 16 BC */ lwz r12, 0x16bc(r27)
+/* 802C8964 002C45C4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C8968 002C45C8 41 82 00 14 */ beq lbl_802C897C
+/* 802C896C 002C45CC 38 79 00 08 */ addi r3, r25, 8
+/* 802C8970 002C45D0 38 80 00 01 */ li r4, 1
+/* 802C8974 002C45D4 7D 89 03 A6 */ mtctr r12
+/* 802C8978 002C45D8 4E 80 04 21 */ bctrl
+lbl_802C897C:
+/* 802C897C 002C45DC 3B 5A 00 01 */ addi r26, r26, 1
+lbl_802C8980:
+/* 802C8980 002C45E0 57 40 06 3E */ clrlwi r0, r26, 0x18
+/* 802C8984 002C45E4 7C 00 E0 40 */ cmplw r0, r28
+/* 802C8988 002C45E8 41 80 FD F8 */ blt lbl_802C8780
+lbl_802C898C:
+/* 802C898C 002C45EC 39 61 00 60 */ addi r11, r1, 0x60
+/* 802C8990 002C45F0 4B EF E7 B9 */ bl _restgpr_16
+/* 802C8994 002C45F4 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 802C8998 002C45F8 7C 08 03 A6 */ mtlr r0
+/* 802C899C 002C45FC 38 21 00 60 */ addi r1, r1, 0x60
+/* 802C89A0 002C4600 4E 80 00 20 */ blr
+
+.global btm_process_inq_complete
+btm_process_inq_complete:
+/* 802C89A4 002C4604 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C89A8 002C4608 7C 08 02 A6 */ mflr r0
+/* 802C89AC 002C460C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C89B0 002C4610 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C89B4 002C4614 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C89B8 002C4618 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C89BC 002C461C 3F A0 80 57 */ lis r29, lbl_80568B78@ha
+/* 802C89C0 002C4620 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l
+/* 802C89C4 002C4624 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802C89C8 002C4628 88 1D 18 48 */ lbz r0, 0x1848(r29)
+/* 802C89CC 002C462C 83 9D 16 B0 */ lwz r28, 0x16b0(r29)
+/* 802C89D0 002C4630 2C 00 00 00 */ cmpwi r0, 0
+/* 802C89D4 002C4634 41 82 00 B4 */ beq lbl_802C8A88
+/* 802C89D8 002C4638 80 9D 16 C0 */ lwz r4, 0x16c0(r29)
+/* 802C89DC 002C463C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C89E0 002C4640 38 60 00 0A */ li r3, 0xa
+/* 802C89E4 002C4644 38 04 00 01 */ addi r0, r4, 1
+/* 802C89E8 002C4648 90 1D 16 C0 */ stw r0, 0x16c0(r29)
+/* 802C89EC 002C464C 40 82 00 08 */ bne lbl_802C89F4
+/* 802C89F0 002C4650 38 60 00 00 */ li r3, 0
+lbl_802C89F4:
+/* 802C89F4 002C4654 88 1D 18 48 */ lbz r0, 0x1848(r29)
+/* 802C89F8 002C4658 98 7D 18 3E */ stb r3, 0x183e(r29)
+/* 802C89FC 002C465C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802C8A00 002C4660 40 82 00 88 */ bne lbl_802C8A88
+/* 802C8A04 002C4664 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C8A08 002C4668 3B C0 00 00 */ li r30, 0
+/* 802C8A0C 002C466C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C8A10 002C4670 93 DD 16 B4 */ stw r30, 0x16b4(r29)
+/* 802C8A14 002C4674 80 7F 16 DC */ lwz r3, 0x16dc(r31)
+/* 802C8A18 002C4678 9B DD 18 48 */ stb r30, 0x1848(r29)
+/* 802C8A1C 002C467C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8A20 002C4680 9B DD 18 47 */ stb r30, 0x1847(r29)
+/* 802C8A24 002C4684 93 DD 16 B0 */ stw r30, 0x16b0(r29)
+/* 802C8A28 002C4688 41 82 00 0C */ beq lbl_802C8A34
+/* 802C8A2C 002C468C 4B FF 13 09 */ bl GKI_freebuf
+/* 802C8A30 002C4690 93 DF 16 DC */ stw r30, 0x16dc(r31)
+lbl_802C8A34:
+/* 802C8A34 002C4694 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C8A38 002C4698 38 80 00 00 */ li r4, 0
+/* 802C8A3C 002C469C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C8A40 002C46A0 B0 9F 16 E0 */ sth r4, 0x16e0(r31)
+/* 802C8A44 002C46A4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C8A48 002C46A8 B0 9F 16 E2 */ sth r4, 0x16e2(r31)
+/* 802C8A4C 002C46AC 28 00 00 05 */ cmplwi r0, 5
+/* 802C8A50 002C46B0 41 80 00 20 */ blt lbl_802C8A70
+/* 802C8A54 002C46B4 3C 60 00 0D */ lis r3, 0x000D0004@ha
+/* 802C8A58 002C46B8 3C 80 80 44 */ lis r4, lbl_80441514@ha
+/* 802C8A5C 002C46BC 88 BD 18 3E */ lbz r5, 0x183e(r29)
+/* 802C8A60 002C46C0 38 63 00 04 */ addi r3, r3, 0x000D0004@l
+/* 802C8A64 002C46C4 88 DD 18 3F */ lbz r6, 0x183f(r29)
+/* 802C8A68 002C46C8 38 84 15 14 */ addi r4, r4, lbl_80441514@l
+/* 802C8A6C 002C46CC 4B FF 44 D5 */ bl LogMsg_2
+lbl_802C8A70:
+/* 802C8A70 002C46D0 2C 1C 00 00 */ cmpwi r28, 0
+/* 802C8A74 002C46D4 41 82 00 14 */ beq lbl_802C8A88
+/* 802C8A78 002C46D8 7F 8C E3 78 */ mr r12, r28
+/* 802C8A7C 002C46DC 38 7D 18 3E */ addi r3, r29, 0x183e
+/* 802C8A80 002C46E0 7D 89 03 A6 */ mtctr r12
+/* 802C8A84 002C46E4 4E 80 04 21 */ bctrl
+lbl_802C8A88:
+/* 802C8A88 002C46E8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C8A8C 002C46EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C8A90 002C46F0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C8A94 002C46F4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C8A98 002C46F8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802C8A9C 002C46FC 7C 08 03 A6 */ mtlr r0
+/* 802C8AA0 002C4700 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C8AA4 002C4704 4E 80 00 20 */ blr
+
+.global btm_initiate_rem_name
+btm_initiate_rem_name:
+/* 802C8AA8 002C4708 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C8AAC 002C470C 7C 08 02 A6 */ mflr r0
+/* 802C8AB0 002C4710 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C8AB4 002C4714 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C8AB8 002C4718 4B EF E6 61 */ bl _savegpr_23
+/* 802C8ABC 002C471C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C8AC0 002C4720 7C 77 1B 78 */ mr r23, r3
+/* 802C8AC4 002C4724 7C 98 23 78 */ mr r24, r4
+/* 802C8AC8 002C4728 7C B9 2B 78 */ mr r25, r5
+/* 802C8ACC 002C472C 7C DA 33 78 */ mr r26, r6
+/* 802C8AD0 002C4730 7C FB 3B 78 */ mr r27, r7
+/* 802C8AD4 002C4734 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C8AD8 002C4738 3B C0 00 01 */ li r30, 1
+/* 802C8ADC 002C473C 3B A0 00 01 */ li r29, 1
+/* 802C8AE0 002C4740 3B 80 00 01 */ li r28, 1
+/* 802C8AE4 002C4744 4B FF CF ED */ bl BTM_IsDeviceUp
+/* 802C8AE8 002C4748 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C8AEC 002C474C 40 82 00 0C */ bne lbl_802C8AF8
+/* 802C8AF0 002C4750 38 60 00 06 */ li r3, 6
+/* 802C8AF4 002C4754 48 00 00 EC */ b lbl_802C8BE0
+lbl_802C8AF8:
+/* 802C8AF8 002C4758 88 7F 16 AE */ lbz r3, 0x16ae(r31)
+/* 802C8AFC 002C475C 7C 60 C8 39 */ and. r0, r3, r25
+/* 802C8B00 002C4760 40 82 00 D8 */ bne lbl_802C8BD8
+/* 802C8B04 002C4764 28 19 00 01 */ cmplwi r25, 1
+/* 802C8B08 002C4768 40 82 00 3C */ bne lbl_802C8B44
+/* 802C8B0C 002C476C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8B10 002C4770 41 82 00 2C */ beq lbl_802C8B3C
+/* 802C8B14 002C4774 7E E3 BB 78 */ mr r3, r23
+/* 802C8B18 002C4778 38 9F 16 A8 */ addi r4, r31, 0x16a8
+/* 802C8B1C 002C477C 38 A0 00 06 */ li r5, 6
+/* 802C8B20 002C4780 4B F0 18 79 */ bl memcmp
+/* 802C8B24 002C4784 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8B28 002C4788 40 82 00 0C */ bne lbl_802C8B34
+/* 802C8B2C 002C478C 3B C0 00 00 */ li r30, 0
+/* 802C8B30 002C4790 48 00 00 0C */ b lbl_802C8B3C
+lbl_802C8B34:
+/* 802C8B34 002C4794 38 60 00 02 */ li r3, 2
+/* 802C8B38 002C4798 48 00 00 A8 */ b lbl_802C8BE0
+lbl_802C8B3C:
+/* 802C8B3C 002C479C 93 7F 16 7C */ stw r27, 0x167c(r31)
+/* 802C8B40 002C47A0 48 00 00 14 */ b lbl_802C8B54
+lbl_802C8B44:
+/* 802C8B44 002C47A4 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8B48 002C47A8 41 82 00 0C */ beq lbl_802C8B54
+/* 802C8B4C 002C47AC 38 60 00 02 */ li r3, 2
+/* 802C8B50 002C47B0 48 00 00 90 */ b lbl_802C8BE0
+lbl_802C8B54:
+/* 802C8B54 002C47B4 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C8B58 002C47B8 41 82 00 60 */ beq lbl_802C8BB8
+/* 802C8B5C 002C47BC 7E E4 BB 78 */ mr r4, r23
+/* 802C8B60 002C47C0 38 7F 16 A8 */ addi r3, r31, 0x16a8
+/* 802C8B64 002C47C4 38 A0 00 06 */ li r5, 6
+/* 802C8B68 002C47C8 4B D3 B4 99 */ bl memcpy
+/* 802C8B6C 002C47CC 7F 45 D3 78 */ mr r5, r26
+/* 802C8B70 002C47D0 38 7F 16 80 */ addi r3, r31, 0x1680
+/* 802C8B74 002C47D4 38 80 00 0A */ li r4, 0xa
+/* 802C8B78 002C47D8 4B FF 49 65 */ bl btu_start_timer
+/* 802C8B7C 002C47DC 2C 18 00 00 */ cmpwi r24, 0
+/* 802C8B80 002C47E0 41 82 00 20 */ beq lbl_802C8BA0
+/* 802C8B84 002C47E4 A0 18 00 00 */ lhz r0, 0(r24)
+/* 802C8B88 002C47E8 7E E3 BB 78 */ mr r3, r23
+/* 802C8B8C 002C47EC 88 98 00 0B */ lbz r4, 0xb(r24)
+/* 802C8B90 002C47F0 88 B8 00 0D */ lbz r5, 0xd(r24)
+/* 802C8B94 002C47F4 60 06 80 00 */ ori r6, r0, 0x8000
+/* 802C8B98 002C47F8 48 00 7D 25 */ bl func_802D08BC
+/* 802C8B9C 002C47FC 48 00 00 18 */ b lbl_802C8BB4
+lbl_802C8BA0:
+/* 802C8BA0 002C4800 7E E3 BB 78 */ mr r3, r23
+/* 802C8BA4 002C4804 38 80 00 01 */ li r4, 1
+/* 802C8BA8 002C4808 38 A0 00 00 */ li r5, 0
+/* 802C8BAC 002C480C 38 C0 00 00 */ li r6, 0
+/* 802C8BB0 002C4810 48 00 7D 0D */ bl func_802D08BC
+lbl_802C8BB4:
+/* 802C8BB4 002C4814 7C 7D 1B 78 */ mr r29, r3
+lbl_802C8BB8:
+/* 802C8BB8 002C4818 57 A0 06 3F */ clrlwi. r0, r29, 0x18
+/* 802C8BBC 002C481C 41 82 00 14 */ beq lbl_802C8BD0
+/* 802C8BC0 002C4820 88 1F 16 AE */ lbz r0, 0x16ae(r31)
+/* 802C8BC4 002C4824 7C 00 CB 78 */ or r0, r0, r25
+/* 802C8BC8 002C4828 98 1F 16 AE */ stb r0, 0x16ae(r31)
+/* 802C8BCC 002C482C 48 00 00 10 */ b lbl_802C8BDC
+lbl_802C8BD0:
+/* 802C8BD0 002C4830 3B 80 00 03 */ li r28, 3
+/* 802C8BD4 002C4834 48 00 00 08 */ b lbl_802C8BDC
+lbl_802C8BD8:
+/* 802C8BD8 002C4838 3B 80 00 02 */ li r28, 2
+lbl_802C8BDC:
+/* 802C8BDC 002C483C 7F 83 E3 78 */ mr r3, r28
+lbl_802C8BE0:
+/* 802C8BE0 002C4840 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C8BE4 002C4844 4B EF E5 81 */ bl _restgpr_23
+/* 802C8BE8 002C4848 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C8BEC 002C484C 7C 08 03 A6 */ mtlr r0
+/* 802C8BF0 002C4850 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C8BF4 002C4854 4E 80 00 20 */ blr
+
+.global btm_process_remote_name
+btm_process_remote_name:
+/* 802C8BF8 002C4858 94 21 FE E0 */ stwu r1, -0x120(r1)
+/* 802C8BFC 002C485C 7C 08 02 A6 */ mflr r0
+/* 802C8C00 002C4860 90 01 01 24 */ stw r0, 0x124(r1)
+/* 802C8C04 002C4864 39 61 01 20 */ addi r11, r1, 0x120
+/* 802C8C08 002C4868 4B EF E5 1D */ bl _savegpr_26
+/* 802C8C0C 002C486C 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C8C10 002C4870 7C 9A 23 78 */ mr r26, r4
+/* 802C8C14 002C4874 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C8C18 002C4878 7C BB 2B 78 */ mr r27, r5
+/* 802C8C1C 002C487C 83 DF 16 7C */ lwz r30, 0x167c(r31)
+/* 802C8C20 002C4880 7C DC 33 78 */ mr r28, r6
+/* 802C8C24 002C4884 8B BF 16 AE */ lbz r29, 0x16ae(r31)
+/* 802C8C28 002C4888 38 7F 16 80 */ addi r3, r31, 0x1680
+/* 802C8C2C 002C488C 4B FF 49 21 */ bl btu_stop_timer
+/* 802C8C30 002C4890 38 60 00 00 */ li r3, 0
+/* 802C8C34 002C4894 2C 1C 00 00 */ cmpwi r28, 0
+/* 802C8C38 002C4898 98 7F 16 AE */ stb r3, 0x16ae(r31)
+/* 802C8C3C 002C489C 40 82 00 B4 */ bne lbl_802C8CF0
+/* 802C8C40 002C48A0 28 1B 00 F8 */ cmplwi r27, 0xf8
+/* 802C8C44 002C48A4 38 81 00 0C */ addi r4, r1, 0xc
+/* 802C8C48 002C48A8 38 60 00 F8 */ li r3, 0xf8
+/* 802C8C4C 002C48AC 40 80 00 08 */ bge lbl_802C8C54
+/* 802C8C50 002C48B0 7F 63 DB 78 */ mr r3, r27
+lbl_802C8C54:
+/* 802C8C54 002C48B4 54 65 04 3F */ clrlwi. r5, r3, 0x10
+/* 802C8C58 002C48B8 38 00 00 00 */ li r0, 0
+/* 802C8C5C 002C48BC B0 61 00 0A */ sth r3, 0xa(r1)
+/* 802C8C60 002C48C0 B0 01 00 08 */ sth r0, 8(r1)
+/* 802C8C64 002C48C4 7C A3 2B 78 */ mr r3, r5
+/* 802C8C68 002C48C8 41 82 00 98 */ beq lbl_802C8D00
+/* 802C8C6C 002C48CC 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
+/* 802C8C70 002C48D0 7C 09 03 A6 */ mtctr r0
+/* 802C8C74 002C48D4 41 82 00 5C */ beq lbl_802C8CD0
+lbl_802C8C78:
+/* 802C8C78 002C48D8 88 1A 00 00 */ lbz r0, 0(r26)
+/* 802C8C7C 002C48DC 38 A5 FF F8 */ addi r5, r5, -8
+/* 802C8C80 002C48E0 98 04 00 00 */ stb r0, 0(r4)
+/* 802C8C84 002C48E4 88 1A 00 01 */ lbz r0, 1(r26)
+/* 802C8C88 002C48E8 98 04 00 01 */ stb r0, 1(r4)
+/* 802C8C8C 002C48EC 88 1A 00 02 */ lbz r0, 2(r26)
+/* 802C8C90 002C48F0 98 04 00 02 */ stb r0, 2(r4)
+/* 802C8C94 002C48F4 88 1A 00 03 */ lbz r0, 3(r26)
+/* 802C8C98 002C48F8 98 04 00 03 */ stb r0, 3(r4)
+/* 802C8C9C 002C48FC 88 1A 00 04 */ lbz r0, 4(r26)
+/* 802C8CA0 002C4900 98 04 00 04 */ stb r0, 4(r4)
+/* 802C8CA4 002C4904 88 1A 00 05 */ lbz r0, 5(r26)
+/* 802C8CA8 002C4908 98 04 00 05 */ stb r0, 5(r4)
+/* 802C8CAC 002C490C 88 1A 00 06 */ lbz r0, 6(r26)
+/* 802C8CB0 002C4910 98 04 00 06 */ stb r0, 6(r4)
+/* 802C8CB4 002C4914 88 1A 00 07 */ lbz r0, 7(r26)
+/* 802C8CB8 002C4918 3B 5A 00 08 */ addi r26, r26, 8
+/* 802C8CBC 002C491C 98 04 00 07 */ stb r0, 7(r4)
+/* 802C8CC0 002C4920 38 84 00 08 */ addi r4, r4, 8
+/* 802C8CC4 002C4924 42 00 FF B4 */ bdnz lbl_802C8C78
+/* 802C8CC8 002C4928 70 63 00 07 */ andi. r3, r3, 7
+/* 802C8CCC 002C492C 41 82 00 34 */ beq lbl_802C8D00
+lbl_802C8CD0:
+/* 802C8CD0 002C4930 7C 69 03 A6 */ mtctr r3
+lbl_802C8CD4:
+/* 802C8CD4 002C4934 88 1A 00 00 */ lbz r0, 0(r26)
+/* 802C8CD8 002C4938 38 A5 FF FF */ addi r5, r5, -1
+/* 802C8CDC 002C493C 3B 5A 00 01 */ addi r26, r26, 1
+/* 802C8CE0 002C4940 98 04 00 00 */ stb r0, 0(r4)
+/* 802C8CE4 002C4944 38 84 00 01 */ addi r4, r4, 1
+/* 802C8CE8 002C4948 42 00 FF EC */ bdnz lbl_802C8CD4
+/* 802C8CEC 002C494C 48 00 00 14 */ b lbl_802C8D00
+lbl_802C8CF0:
+/* 802C8CF0 002C4950 38 00 00 09 */ li r0, 9
+/* 802C8CF4 002C4954 B0 61 00 0A */ sth r3, 0xa(r1)
+/* 802C8CF8 002C4958 B0 01 00 08 */ sth r0, 8(r1)
+/* 802C8CFC 002C495C 98 61 00 0C */ stb r3, 0xc(r1)
+lbl_802C8D00:
+/* 802C8D00 002C4960 38 7F 16 A8 */ addi r3, r31, 0x16a8
+/* 802C8D04 002C4964 38 80 00 00 */ li r4, 0
+/* 802C8D08 002C4968 38 A0 00 06 */ li r5, 6
+/* 802C8D0C 002C496C 4B D3 B3 F9 */ bl memset
+/* 802C8D10 002C4970 57 A0 07 FF */ clrlwi. r0, r29, 0x1f
+/* 802C8D14 002C4974 41 82 00 24 */ beq lbl_802C8D38
+/* 802C8D18 002C4978 38 00 00 00 */ li r0, 0
+/* 802C8D1C 002C497C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802C8D20 002C4980 90 1F 16 7C */ stw r0, 0x167c(r31)
+/* 802C8D24 002C4984 41 82 00 14 */ beq lbl_802C8D38
+/* 802C8D28 002C4988 7F CC F3 78 */ mr r12, r30
+/* 802C8D2C 002C498C 38 61 00 08 */ addi r3, r1, 8
+/* 802C8D30 002C4990 7D 89 03 A6 */ mtctr r12
+/* 802C8D34 002C4994 4E 80 04 21 */ bctrl
+lbl_802C8D38:
+/* 802C8D38 002C4998 39 61 01 20 */ addi r11, r1, 0x120
+/* 802C8D3C 002C499C 4B EF E4 35 */ bl _restgpr_26
+/* 802C8D40 002C49A0 80 01 01 24 */ lwz r0, 0x124(r1)
+/* 802C8D44 002C49A4 7C 08 03 A6 */ mtlr r0
+/* 802C8D48 002C49A8 38 21 01 20 */ addi r1, r1, 0x120
+/* 802C8D4C 002C49AC 4E 80 00 20 */ blr
+
+.global btm_inq_rmt_name_failed
+btm_inq_rmt_name_failed:
+/* 802C8D50 002C49B0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C8D54 002C49B4 7C 08 02 A6 */ mflr r0
+/* 802C8D58 002C49B8 38 60 00 00 */ li r3, 0
+/* 802C8D5C 002C49BC 38 80 00 00 */ li r4, 0
+/* 802C8D60 002C49C0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C8D64 002C49C4 38 A0 00 00 */ li r5, 0
+/* 802C8D68 002C49C8 38 C0 00 1F */ li r6, 0x1f
+/* 802C8D6C 002C49CC 4B FF FE 8D */ bl btm_process_remote_name
+/* 802C8D70 002C49D0 38 60 00 00 */ li r3, 0
+/* 802C8D74 002C49D4 38 80 00 00 */ li r4, 0
+/* 802C8D78 002C49D8 38 A0 00 1F */ li r5, 0x1f
+/* 802C8D7C 002C49DC 48 00 2E D9 */ bl func_802CBC54
+/* 802C8D80 002C49E0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C8D84 002C49E4 7C 08 03 A6 */ mtlr r0
+/* 802C8D88 002C49E8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C8D8C 002C49EC 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btm_main.s b/asm/SDK/BTE/btm_main.s
new file mode 100644
index 0000000..c0cefdd
--- /dev/null
+++ b/asm/SDK/BTE/btm_main.s
@@ -0,0 +1,29 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global btm_init
+btm_init:
+/* 802C8D90 002C49F0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C8D94 002C49F4 7C 08 02 A6 */ mflr r0
+/* 802C8D98 002C49F8 38 80 00 00 */ li r4, 0
+/* 802C8D9C 002C49FC 38 A0 27 C4 */ li r5, 0x27c4
+/* 802C8DA0 002C4A00 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C8DA4 002C4A04 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C8DA8 002C4A08 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C8DAC 002C4A0C 38 7F 8B 78 */ addi r3, r31, lbl_80568B78@l
+/* 802C8DB0 002C4A10 4B D3 B3 55 */ bl memset
+/* 802C8DB4 002C4A14 38 7F 8B 78 */ addi r3, r31, -29832
+/* 802C8DB8 002C4A18 38 00 00 00 */ li r0, 0
+/* 802C8DBC 002C4A1C 98 03 27 C0 */ stb r0, 0x27c0(r3)
+/* 802C8DC0 002C4A20 4B FF F4 85 */ bl btm_inq_db_init
+/* 802C8DC4 002C4A24 4B FF A6 69 */ bl btm_acl_init
+/* 802C8DC8 002C4A28 38 60 00 02 */ li r3, 2
+/* 802C8DCC 002C4A2C 48 00 2D 79 */ bl func_802CBB44
+/* 802C8DD0 002C4A30 48 00 0C B1 */ bl func_802C9A80
+/* 802C8DD4 002C4A34 4B FF CA 69 */ bl btm_dev_init
+/* 802C8DD8 002C4A38 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C8DDC 002C4A3C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C8DE0 002C4A40 7C 08 03 A6 */ mtlr r0
+/* 802C8DE4 002C4A44 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C8DE8 002C4A48 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btu_task1.s b/asm/SDK/BTE/btu_task1.s
index 026e161..910f253 100644
--- a/asm/SDK/BTE/btu_task1.s
+++ b/asm/SDK/BTE/btu_task1.s
@@ -192,11 +192,11 @@ lbl_802BD388:
/* 802BD390 002B8FF0 48 00 00 78 */ b lbl_802BD408
lbl_802BD394:
/* 802BD394 002B8FF4 7F 83 E3 78 */ mr r3, r28
-/* 802BD398 002B8FF8 48 00 88 45 */ bl func_802C5BDC
+/* 802BD398 002B8FF8 48 00 88 45 */ bl btm_dev_timeout
/* 802BD39C 002B8FFC 48 00 00 C0 */ b lbl_802BD45C
lbl_802BD3A0:
/* 802BD3A0 002B9000 7F 83 E3 78 */ mr r3, r28
-/* 802BD3A4 002B9004 48 00 73 2D */ bl func_802C46D0
+/* 802BD3A4 002B9004 48 00 73 2D */ bl btm_acl_timeout
/* 802BD3A8 002B9008 48 00 00 B4 */ b lbl_802BD45C
lbl_802BD3AC:
/* 802BD3AC 002B900C 7F 83 E3 78 */ mr r3, r28
@@ -207,10 +207,10 @@ lbl_802BD3B8:
/* 802BD3BC 002B901C 48 02 82 BD */ bl func_802E5678
/* 802BD3C0 002B9020 48 00 00 9C */ b lbl_802BD45C
lbl_802BD3C4:
-/* 802BD3C4 002B9024 48 00 B9 8D */ bl func_802C8D50
+/* 802BD3C4 002B9024 48 00 B9 8D */ bl btm_inq_rmt_name_failed
/* 802BD3C8 002B9028 48 00 00 94 */ b lbl_802BD45C
lbl_802BD3CC:
-/* 802BD3CC 002B902C 48 00 9F 29 */ bl func_802C72F4
+/* 802BD3CC 002B902C 48 00 9F 29 */ bl btm_discovery_timeout
/* 802BD3D0 002B9030 48 00 00 8C */ b lbl_802BD45C
lbl_802BD3D4:
/* 802BD3D4 002B9034 7F 83 E3 78 */ mr r3, r28
diff --git a/asm/SDK/WPAD/WPAD.s b/asm/SDK/WPAD/WPAD.s
index cc6c8f4..7bae24b 100644
--- a/asm/SDK/WPAD/WPAD.s
+++ b/asm/SDK/WPAD/WPAD.s
@@ -273,7 +273,7 @@ lbl_802A5F3C:
/* 802A5F48 002A1BA8 4B D5 E1 BD */ bl memset
lbl_802A5F4C:
/* 802A5F4C 002A1BAC 38 61 00 08 */ addi r3, r1, 8
-/* 802A5F50 002A1BB0 48 01 EF 45 */ bl func_802C4E94
+/* 802A5F50 002A1BB0 48 01 EF 45 */ bl btm_remove_acl
/* 802A5F54 002A1BB4 48 00 00 14 */ b lbl_802A5F68
lbl_802A5F58:
/* 802A5F58 002A1BB8 4B FC 88 05 */ bl OSDisableInterrupts
@@ -2297,7 +2297,7 @@ lbl_802A7C14:
/* 802A7C20 002A3880 4B D5 C4 E5 */ bl memset
lbl_802A7C24:
/* 802A7C24 002A3884 38 61 00 08 */ addi r3, r1, 8
-/* 802A7C28 002A3888 48 01 D2 6D */ bl func_802C4E94
+/* 802A7C28 002A3888 48 01 D2 6D */ bl btm_remove_acl
lbl_802A7C2C:
/* 802A7C2C 002A388C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A7C30 002A3890 83 E1 00 1C */ lwz r31, 0x1c(r1)
@@ -2359,7 +2359,7 @@ lbl_802A7CFC:
/* 802A7D08 002A3968 4B D5 C3 FD */ bl memset
lbl_802A7D0C:
/* 802A7D0C 002A396C 38 61 00 08 */ addi r3, r1, 8
-/* 802A7D10 002A3970 48 01 D1 85 */ bl func_802C4E94
+/* 802A7D10 002A3970 48 01 D1 85 */ bl btm_remove_acl
lbl_802A7D14:
/* 802A7D14 002A3974 39 61 00 30 */ addi r11, r1, 0x30
/* 802A7D18 002A3978 4B F1 F4 5D */ bl _restgpr_27
diff --git a/asm/SDK/WUD/WUD.s b/asm/SDK/WUD/WUD.s
index 158ee7c..f61d79c 100644
--- a/asm/SDK/WUD/WUD.s
+++ b/asm/SDK/WUD/WUD.s
@@ -901,7 +901,7 @@ lbl_802B5878:
/* 802B5938 002B1598 38 BE 00 46 */ addi r5, r30, 0x46
/* 802B593C 002B159C 38 C6 8B 08 */ addi r6, r6, WUDStoredLinkKeyCallback@l
/* 802B5940 002B15A0 38 60 00 01 */ li r3, 1
-/* 802B5944 002B15A4 48 01 13 F5 */ bl func_802C6D38
+/* 802B5944 002B15A4 48 01 13 F5 */ bl BTM_WriteStoredLinkKey
/* 802B5948 002B15A8 38 00 00 08 */ li r0, 8
lbl_802B594C:
/* 802B594C 002B15AC 98 1D 00 0C */ stb r0, 0xc(r29)
@@ -1033,7 +1033,7 @@ lbl_802B5AE8:
/* 802B5AEC 002B174C 28 00 00 01 */ cmplwi r0, 1
/* 802B5AF0 002B1750 40 81 00 0C */ ble lbl_802B5AFC
/* 802B5AF4 002B1754 38 7F 00 40 */ addi r3, r31, 0x40
-/* 802B5AF8 002B1758 48 00 F3 9D */ bl func_802C4E94
+/* 802B5AF8 002B1758 48 00 F3 9D */ bl btm_remove_acl
lbl_802B5AFC:
/* 802B5AFC 002B175C 3B DE 00 01 */ addi r30, r30, 1
/* 802B5B00 002B1760 3B FF 00 60 */ addi r31, r31, 0x60
@@ -1046,7 +1046,7 @@ lbl_802B5B14:
/* 802B5B18 002B1778 28 00 00 01 */ cmplwi r0, 1
/* 802B5B1C 002B177C 40 81 00 0C */ ble lbl_802B5B28
/* 802B5B20 002B1780 38 7F 00 40 */ addi r3, r31, 0x40
-/* 802B5B24 002B1784 48 00 F3 71 */ bl func_802C4E94
+/* 802B5B24 002B1784 48 00 F3 71 */ bl btm_remove_acl
lbl_802B5B28:
/* 802B5B28 002B1788 3B DE 00 01 */ addi r30, r30, 1
/* 802B5B2C 002B178C 3B FF 00 60 */ addi r31, r31, 0x60
@@ -1247,7 +1247,7 @@ lbl_802B5DC0:
/* 802B5DE4 002B1A44 98 1C 00 0E */ stb r0, 0xe(r28)
/* 802B5DE8 002B1A48 38 7F 00 40 */ addi r3, r31, 0x40
/* 802B5DEC 002B1A4C 38 84 8B 08 */ addi r4, r4, WUDStoredLinkKeyCallback@l
-/* 802B5DF0 002B1A50 48 01 10 19 */ bl func_802C6E08
+/* 802B5DF0 002B1A50 48 01 10 19 */ bl BTM_DeleteStoredLinkKey
/* 802B5DF4 002B1A54 38 00 00 00 */ li r0, 0
/* 802B5DF8 002B1A58 38 60 00 02 */ li r3, 2
/* 802B5DFC 002B1A5C 98 1F 00 5C */ stb r0, 0x5c(r31)
@@ -1315,7 +1315,7 @@ lbl_802B5EC0:
/* 802B5ED4 002B1B34 98 1F 00 0E */ stb r0, 0xe(r31)
/* 802B5ED8 002B1B38 38 84 8B 08 */ addi r4, r4, WUDStoredLinkKeyCallback@l
/* 802B5EDC 002B1B3C 38 60 00 00 */ li r3, 0
-/* 802B5EE0 002B1B40 48 01 0D 81 */ bl func_802C6C60
+/* 802B5EE0 002B1B40 48 01 0D 81 */ bl BTM_ReadStoredLinkKey
lbl_802B5EE4:
/* 802B5EE4 002B1B44 38 00 00 02 */ li r0, 2
/* 802B5EE8 002B1B48 98 1F 00 0F */ stb r0, 0xf(r31)
@@ -1331,7 +1331,7 @@ lbl_802B5EFC:
/* 802B5F08 002B1B68 38 7F 07 10 */ addi r3, r31, 0x710
/* 802B5F0C 002B1B6C 4B FB 3B 6D */ bl OSCancelAlarm
/* 802B5F10 002B1B70 38 61 00 08 */ addi r3, r1, 8
-/* 802B5F14 002B1B74 48 01 09 71 */ bl func_802C6884
+/* 802B5F14 002B1B74 48 01 09 71 */ bl BTM_ReadLocalVersion
/* 802B5F18 002B1B78 88 81 00 08 */ lbz r4, 8(r1)
/* 802B5F1C 002B1B7C 38 7E 02 C0 */ addi r3, r30, 0x2c0
/* 802B5F20 002B1B80 4C C6 31 82 */ crclr 6
@@ -1395,7 +1395,7 @@ lbl_802B5EFC:
/* 802B6008 002B1C68 7C 07 02 14 */ add r0, r7, r0
/* 802B600C 002B1C6C 91 0D AE B4 */ stw r8, lbl_80640174-_SDA_BASE_(r13)
/* 802B6010 002B1C70 90 0D AE BC */ stw r0, lbl_8064017C-_SDA_BASE_(r13)
-/* 802B6014 002B1C74 48 01 09 75 */ bl func_802C6988
+/* 802B6014 002B1C74 48 01 09 75 */ bl BTM_VendorSpecificCommand
/* 802B6018 002B1C78 48 00 00 08 */ b lbl_802B6020
lbl_802B601C:
/* 802B601C 002B1C7C 48 00 13 95 */ bl WUDiInitSub
@@ -2384,7 +2384,7 @@ lbl_802B6DCC:
lbl_802B6DD8:
/* 802B6DD8 002B2A38 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 802B6DDC 002B2A3C 54 84 06 3E */ clrlwi r4, r4, 0x18
-/* 802B6DE0 002B2A40 48 00 ED 0D */ bl func_802C5AEC
+/* 802B6DE0 002B2A40 48 00 ED 0D */ bl BTM_SetAfhChannels
/* 802B6DE4 002B2A44 7C 60 1B 78 */ mr r0, r3
/* 802B6DE8 002B2A48 3C 60 80 44 */ lis r3, lbl_8043E4F8@ha
/* 802B6DEC 002B2A4C 38 63 E4 F8 */ addi r3, r3, lbl_8043E4F8@l
@@ -2491,7 +2491,7 @@ remove_patch_cb:
/* 802B6F44 002B2BA4 40 82 00 14 */ bne lbl_802B6F58
/* 802B6F48 002B2BA8 3C 60 80 2B */ lis r3, reset_again_cb@ha
/* 802B6F4C 002B2BAC 38 63 6F 30 */ addi r3, r3, reset_again_cb@l
-/* 802B6F50 002B2BB0 48 00 EA 3D */ bl func_802C598C
+/* 802B6F50 002B2BB0 48 00 EA 3D */ bl BTM_DeviceReset
/* 802B6F54 002B2BB4 48 00 01 48 */ b lbl_802B709C
lbl_802B6F58:
/* 802B6F58 002B2BB8 80 6D AE BC */ lwz r3, lbl_8064017C-_SDA_BASE_(r13)
@@ -2580,7 +2580,7 @@ lbl_802B7074:
/* 802B708C 002B2CEC 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B7090 002B2CF0 38 A1 00 08 */ addi r5, r1, 8
/* 802B7094 002B2CF4 38 C6 70 AC */ addi r6, r6, write_patch_cb@l
-/* 802B7098 002B2CF8 48 00 F8 F1 */ bl func_802C6988
+/* 802B7098 002B2CF8 48 00 F8 F1 */ bl BTM_VendorSpecificCommand
lbl_802B709C:
/* 802B709C 002B2CFC 80 01 01 14 */ lwz r0, 0x114(r1)
/* 802B70A0 002B2D00 7C 08 03 A6 */ mtlr r0
@@ -2629,7 +2629,7 @@ lbl_802B70FC:
/* 802B7140 002B2DA0 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B7144 002B2DA4 38 A1 01 08 */ addi r5, r1, 0x108
/* 802B7148 002B2DA8 38 C6 72 DC */ addi r6, r6, install_patch_cb@l
-/* 802B714C 002B2DAC 48 00 F8 3D */ bl func_802C6988
+/* 802B714C 002B2DAC 48 00 F8 3D */ bl BTM_VendorSpecificCommand
/* 802B7150 002B2DB0 48 00 01 74 */ b lbl_802B72C4
lbl_802B7154:
/* 802B7154 002B2DB4 7C 04 00 50 */ subf r0, r4, r0
@@ -2725,12 +2725,12 @@ lbl_802B7284:
/* 802B72A4 002B2F04 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B72A8 002B2F08 38 A1 00 08 */ addi r5, r1, 8
/* 802B72AC 002B2F0C 38 C6 70 AC */ addi r6, r6, write_patch_cb@l
-/* 802B72B0 002B2F10 48 00 F6 D9 */ bl func_802C6988
+/* 802B72B0 002B2F10 48 00 F6 D9 */ bl BTM_VendorSpecificCommand
/* 802B72B4 002B2F14 48 00 00 10 */ b lbl_802B72C4
lbl_802B72B8:
/* 802B72B8 002B2F18 3C 60 80 2B */ lis r3, reset_again_cb@ha
/* 802B72BC 002B2F1C 38 63 6F 30 */ addi r3, r3, reset_again_cb@l
-/* 802B72C0 002B2F20 48 00 E6 CD */ bl func_802C598C
+/* 802B72C0 002B2F20 48 00 E6 CD */ bl BTM_DeviceReset
lbl_802B72C4:
/* 802B72C4 002B2F24 80 01 02 14 */ lwz r0, 0x214(r1)
/* 802B72C8 002B2F28 83 E1 02 0C */ lwz r31, 0x20c(r1)
@@ -2753,7 +2753,7 @@ install_patch_cb:
/* 802B7304 002B2F64 40 82 00 14 */ bne lbl_802B7318
/* 802B7308 002B2F68 3C 60 80 2B */ lis r3, reset_again_cb@ha
/* 802B730C 002B2F6C 38 63 6F 30 */ addi r3, r3, reset_again_cb@l
-/* 802B7310 002B2F70 48 00 E6 7D */ bl func_802C598C
+/* 802B7310 002B2F70 48 00 E6 7D */ bl BTM_DeviceReset
/* 802B7314 002B2F74 48 00 00 84 */ b lbl_802B7398
lbl_802B7318:
/* 802B7318 002B2F78 7C 65 00 50 */ subf r3, r5, r0
@@ -2784,12 +2784,12 @@ lbl_802B732C:
/* 802B7378 002B2FD8 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B737C 002B2FDC 38 A1 00 08 */ addi r5, r1, 8
/* 802B7380 002B2FE0 38 C6 72 DC */ addi r6, r6, install_patch_cb@l
-/* 802B7384 002B2FE4 48 00 F6 05 */ bl func_802C6988
+/* 802B7384 002B2FE4 48 00 F6 05 */ bl BTM_VendorSpecificCommand
/* 802B7388 002B2FE8 48 00 00 10 */ b lbl_802B7398
lbl_802B738C:
/* 802B738C 002B2FEC 3C 60 80 2B */ lis r3, reset_again_cb@ha
/* 802B7390 002B2FF0 38 63 6F 30 */ addi r3, r3, reset_again_cb@l
-/* 802B7394 002B2FF4 48 00 E5 F9 */ bl func_802C598C
+/* 802B7394 002B2FF4 48 00 E5 F9 */ bl BTM_DeviceReset
lbl_802B7398:
/* 802B7398 002B2FF8 80 01 01 14 */ lwz r0, 0x114(r1)
/* 802B739C 002B2FFC 83 E1 01 0C */ lwz r31, 0x10c(r1)
@@ -2830,13 +2830,13 @@ WUDiInitSub:
/* 802B741C 002B307C 38 61 00 0C */ addi r3, r1, 0xc
/* 802B7420 002B3080 48 00 8D 05 */ bl BTA_DmSetDeviceName
/* 802B7424 002B3084 38 61 00 08 */ addi r3, r1, 8
-/* 802B7428 002B3088 48 00 F4 A9 */ bl func_802C68D0
+/* 802B7428 002B3088 48 00 F4 A9 */ bl BTM_SetDeviceClass
/* 802B742C 002B308C 3C 60 80 2C */ lis r3, WUDVendorSpecificCallback@ha
/* 802B7430 002B3090 38 63 87 80 */ addi r3, r3, WUDVendorSpecificCallback@l
-/* 802B7434 002B3094 48 00 F6 BD */ bl func_802C6AF0
+/* 802B7434 002B3094 48 00 F6 BD */ bl BTM_RegisterForVSEvents
/* 802B7438 002B3098 3C 60 80 2C */ lis r3, WUDDeviceStatusCallback@ha
/* 802B743C 002B309C 38 63 8A B8 */ addi r3, r3, WUDDeviceStatusCallback@l
-/* 802B7440 002B30A0 48 00 F5 31 */ bl func_802C6970
+/* 802B7440 002B30A0 48 00 F5 31 */ bl BTM_RegisterForDeviceStatusNotif
/* 802B7444 002B30A4 3C A0 80 2C */ lis r5, WUDPowerManagerCallback@ha
/* 802B7448 002B30A8 38 9D 07 0A */ addi r4, r29, 0x70a
/* 802B744C 002B30AC 38 A5 8D F4 */ addi r5, r5, WUDPowerManagerCallback@l
@@ -2845,11 +2845,11 @@ WUDiInitSub:
/* 802B7458 002B30B8 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 802B745C 002B30BC 38 03 80 00 */ addi r0, r3, 0x00008000@l
/* 802B7460 002B30C0 54 03 04 3E */ clrlwi r3, r0, 0x10
-/* 802B7464 002B30C4 48 00 F7 5D */ bl func_802C6BC0
+/* 802B7464 002B30C4 48 00 F7 5D */ bl BTM_WritePageTimeout
/* 802B7468 002B30C8 38 60 00 05 */ li r3, 5
-/* 802B746C 002B30CC 48 00 CA 19 */ bl func_802C3E84
+/* 802B746C 002B30CC 48 00 CA 19 */ bl BTM_SetDefaultLinkPolicy
/* 802B7470 002B30D0 38 60 06 40 */ li r3, 0x640
-/* 802B7474 002B30D4 48 00 CD DD */ bl func_802C4250
+/* 802B7474 002B30D4 48 00 CD DD */ bl BTM_SetDefaultLinkSuperTout
/* 802B7478 002B30D8 7F BF EB 78 */ mr r31, r29
/* 802B747C 002B30DC 3B DD 01 24 */ addi r30, r29, 0x124
/* 802B7480 002B30E0 3B 80 00 00 */ li r28, 0
@@ -3786,7 +3786,7 @@ lbl_802B8188:
/* 802B8198 002B3DF8 38 7B 00 40 */ addi r3, r27, 0x40
/* 802B819C 002B3DFC 4B FF F4 85 */ bl WUDiRemoveDevice
/* 802B81A0 002B3E00 38 7B 00 40 */ addi r3, r27, 0x40
-/* 802B81A4 002B3E04 48 00 CC F1 */ bl func_802C4E94
+/* 802B81A4 002B3E04 48 00 CC F1 */ bl btm_remove_acl
lbl_802B81A8:
/* 802B81A8 002B3E08 38 7F 0C E8 */ addi r3, r31, 0xce8
/* 802B81AC 002B3E0C 38 00 00 01 */ li r0, 1
@@ -3919,7 +3919,7 @@ lbl_802B8384:
/* 802B83A0 002B4000 40 82 00 44 */ bne lbl_802B83E4
lbl_802B83A4:
/* 802B83A4 002B4004 7F 83 E3 78 */ mr r3, r28
-/* 802B83A8 002B4008 48 00 CA ED */ bl func_802C4E94
+/* 802B83A8 002B4008 48 00 CA ED */ bl btm_remove_acl
/* 802B83AC 002B400C 2C 1A 00 00 */ cmpwi r26, 0
/* 802B83B0 002B4010 38 7E 09 0C */ addi r3, r30, 0x90c
/* 802B83B4 002B4014 38 9E 09 40 */ addi r4, r30, 0x940
@@ -4116,7 +4116,7 @@ lbl_802B866C:
/* 802B8670 002B42D0 38 03 80 00 */ addi r0, r3, 0x00008000@l
lbl_802B8674:
/* 802B8674 002B42D4 54 03 04 3E */ clrlwi r3, r0, 0x10
-/* 802B8678 002B42D8 48 00 E5 49 */ bl func_802C6BC0
+/* 802B8678 002B42D8 48 00 E5 49 */ bl BTM_WritePageTimeout
/* 802B867C 002B42DC 48 00 00 E4 */ b lbl_802B8760
lbl_802B8680:
/* 802B8680 002B42E0 38 7D 0A 50 */ addi r3, r29, 0xa50