diff options
author | Max <mparisi@stevens.edu> | 2020-10-06 12:25:47 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-10-06 12:25:47 -0400 |
commit | 1ef4f2490138f81ac5a18535b876a038fa72c0cb (patch) | |
tree | 1f8a217853310ccceff5902c405ed529b524a004 /asm/SDK | |
parent | c8ac0d39d726885ba85ba3a0b1db0c4632017b2a (diff) |
split btm_pm, btm_sco, btm_sec, btu_hcif, btu_init, gap_api, and wbt_ext
Diffstat (limited to 'asm/SDK')
-rw-r--r-- | asm/SDK/BTE/bta_dm_act.s | 32 | ||||
-rw-r--r-- | asm/SDK/BTE/bta_dm_pm.s | 14 | ||||
-rw-r--r-- | asm/SDK/BTE/bte_init.s | 2 | ||||
-rw-r--r-- | asm/SDK/BTE/bte_main.s | 2 | ||||
-rw-r--r-- | asm/SDK/BTE/btm_acl.s | 12 | ||||
-rw-r--r-- | asm/SDK/BTE/btm_devctl.s | 10 | ||||
-rw-r--r-- | asm/SDK/BTE/btm_inq.s | 2 | ||||
-rw-r--r-- | asm/SDK/BTE/btm_main.s | 4 | ||||
-rw-r--r-- | asm/SDK/BTE/btm_pm.s | 920 | ||||
-rw-r--r-- | asm/SDK/BTE/btm_sco.s | 1043 | ||||
-rw-r--r-- | asm/SDK/BTE/btm_sec.s | 3422 | ||||
-rw-r--r-- | asm/SDK/BTE/btu_hcif.s | 1322 | ||||
-rw-r--r-- | asm/SDK/BTE/btu_init.s | 39 | ||||
-rw-r--r-- | asm/SDK/BTE/btu_task1.s | 10 | ||||
-rw-r--r-- | asm/SDK/BTE/gap_api.s | 30 | ||||
-rw-r--r-- | asm/SDK/BTE/wbt_ext.s | 64 | ||||
-rw-r--r-- | asm/SDK/WUD/WUD.s | 8 |
17 files changed, 6888 insertions, 48 deletions
diff --git a/asm/SDK/BTE/bta_dm_act.s b/asm/SDK/BTE/bta_dm_act.s index fabd3fc..827568f 100644 --- a/asm/SDK/BTE/bta_dm_act.s +++ b/asm/SDK/BTE/bta_dm_act.s @@ -32,7 +32,7 @@ bta_dm_enable: /* 802BDD58 002B99B8 3C 60 80 40 */ lis r3, lbl_803FDBF0@ha
/* 802BDD5C 002B99BC 90 04 00 50 */ stw r0, 0x50(r4)
/* 802BDD60 002B99C0 38 63 DB F0 */ addi r3, r3, lbl_803FDBF0@l
-/* 802BDD64 002B99C4 48 00 CB 55 */ bl func_802CA8B8
+/* 802BDD64 002B99C4 48 00 CB 55 */ bl BTM_SecRegister
/* 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 BTM_SetDefaultLinkSuperTout
@@ -64,7 +64,7 @@ bta_dm_enable: /* 802BDDD8 002B9A38 38 80 00 00 */ li r4, 0
/* 802BDDDC 002B9A3C 38 63 FB 14 */ addi r3, r3, bta_dm_l2cap_server_compress_cback@l
/* 802BDDE0 002B9A40 48 01 86 19 */ bl func_802D63F8
-/* 802BDDE4 002B9A44 48 01 0D 6D */ bl func_802CEB50
+/* 802BDDE4 002B9A44 48 01 0D 6D */ bl WBT_ExtCreateRecord
/* 802BDDE8 002B9A48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802BDDEC 002B9A4C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802BDDF0 002B9A50 83 C1 00 18 */ lwz r30, 0x18(r1)
@@ -205,7 +205,7 @@ bta_dm_bond: /* 802BDFC8 002B9C28 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802BDFCC 002B9C2C 7C 7F 1B 78 */ mr r31, r3
/* 802BDFD0 002B9C30 38 63 00 08 */ addi r3, r3, 8
-/* 802BDFD4 002B9C34 48 00 F8 75 */ bl func_802CD848
+/* 802BDFD4 002B9C34 48 00 F8 75 */ bl btm_read_trusted_mask
/* 802BDFD8 002B9C38 2C 03 00 00 */ cmpwi r3, 0
/* 802BDFDC 002B9C3C 41 82 00 18 */ beq lbl_802BDFF4
/* 802BDFE0 002B9C40 7C 64 1B 78 */ mr r4, r3
@@ -223,7 +223,7 @@ lbl_802BE004: /* 802BE008 002B9C68 38 7F 00 08 */ addi r3, r31, 8
/* 802BE00C 002B9C6C 38 BF 00 0F */ addi r5, r31, 0xf
/* 802BE010 002B9C70 38 C1 00 08 */ addi r6, r1, 8
-/* 802BE014 002B9C74 48 00 CF 39 */ bl func_802CAF4C
+/* 802BE014 002B9C74 48 00 CF 39 */ bl BTM_SecBond
/* 802BE018 002B9C78 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802BE01C 002B9C7C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802BE020 002B9C80 7C 08 03 A6 */ mtlr r0
@@ -237,7 +237,7 @@ bta_dm_pin_reply: /* 802BE038 002B9C98 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802BE03C 002B9C9C 7C 7F 1B 78 */ mr r31, r3
/* 802BE040 002B9CA0 38 63 00 08 */ addi r3, r3, 8
-/* 802BE044 002B9CA4 48 00 F8 05 */ bl func_802CD848
+/* 802BE044 002B9CA4 48 00 F8 05 */ bl btm_read_trusted_mask
/* 802BE048 002B9CA8 2C 03 00 00 */ cmpwi r3, 0
/* 802BE04C 002B9CAC 41 82 00 18 */ beq lbl_802BE064
/* 802BE050 002B9CB0 7C 64 1B 78 */ mr r4, r3
@@ -259,7 +259,7 @@ lbl_802BE074: /* 802BE088 002B9CE8 38 DF 00 10 */ addi r6, r31, 0x10
/* 802BE08C 002B9CEC 38 E1 00 08 */ addi r7, r1, 8
/* 802BE090 002B9CF0 38 80 00 00 */ li r4, 0
-/* 802BE094 002B9CF4 48 00 CC 19 */ bl func_802CACAC
+/* 802BE094 002B9CF4 48 00 CC 19 */ bl BTM_PINCodeReply
/* 802BE098 002B9CF8 48 00 00 1C */ b lbl_802BE0B4
lbl_802BE09C:
/* 802BE09C 002B9CFC 38 7F 00 08 */ addi r3, r31, 8
@@ -267,7 +267,7 @@ lbl_802BE09C: /* 802BE0A4 002B9D04 38 80 00 0B */ li r4, 0xb
/* 802BE0A8 002B9D08 38 A0 00 00 */ li r5, 0
/* 802BE0AC 002B9D0C 38 C0 00 00 */ li r6, 0
-/* 802BE0B0 002B9D10 48 00 CB FD */ bl func_802CACAC
+/* 802BE0B0 002B9D10 48 00 CB FD */ bl BTM_PINCodeReply
lbl_802BE0B4:
/* 802BE0B4 002B9D14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802BE0B8 002B9D18 83 E1 00 1C */ lwz r31, 0x1c(r1)
@@ -282,7 +282,7 @@ bta_dm_auth_reply: /* 802BE0D4 002B9D34 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802BE0D8 002B9D38 7C 7F 1B 78 */ mr r31, r3
/* 802BE0DC 002B9D3C 38 63 00 08 */ addi r3, r3, 8
-/* 802BE0E0 002B9D40 48 00 F7 69 */ bl func_802CD848
+/* 802BE0E0 002B9D40 48 00 F7 69 */ bl btm_read_trusted_mask
/* 802BE0E4 002B9D44 2C 03 00 00 */ cmpwi r3, 0
/* 802BE0E8 002B9D48 41 82 00 18 */ beq lbl_802BE100
/* 802BE0EC 002B9D4C 7C 64 1B 78 */ mr r4, r3
@@ -321,13 +321,13 @@ lbl_802BE164: /* 802BE164 002B9DC4 38 7F 00 08 */ addi r3, r31, 8
/* 802BE168 002B9DC8 38 A1 00 08 */ addi r5, r1, 8
/* 802BE16C 002B9DCC 38 80 00 00 */ li r4, 0
-/* 802BE170 002B9DD0 48 00 CC 01 */ bl func_802CAD70
+/* 802BE170 002B9DD0 48 00 CC 01 */ bl BTM_DeviceAuthorized
/* 802BE174 002B9DD4 48 00 00 14 */ b lbl_802BE188
lbl_802BE178:
/* 802BE178 002B9DD8 38 7F 00 08 */ addi r3, r31, 8
/* 802BE17C 002B9DDC 38 A1 00 08 */ addi r5, r1, 8
/* 802BE180 002B9DE0 38 80 00 0B */ li r4, 0xb
-/* 802BE184 002B9DE4 48 00 CB ED */ bl func_802CAD70
+/* 802BE184 002B9DE4 48 00 CB ED */ bl BTM_DeviceAuthorized
lbl_802BE188:
/* 802BE188 002B9DE8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802BE18C 002B9DEC 83 E1 00 1C */ lwz r31, 0x1c(r1)
@@ -418,7 +418,7 @@ bta_dm_discover: /* 802BE2C0 002B9F20 98 1F 00 70 */ stb r0, 0x70(r31)
/* 802BE2C4 002B9F24 90 1F 00 10 */ stw r0, 0x10(r31)
/* 802BE2C8 002B9F28 98 1F 00 20 */ stb r0, 0x20(r31)
-/* 802BE2CC 002B9F2C 48 00 C6 65 */ bl func_802CA930
+/* 802BE2CC 002B9F2C 48 00 C6 65 */ bl BTM_SecAddRmtNameNotifyCallback
/* 802BE2D0 002B9F30 38 7F 00 1A */ addi r3, r31, 0x1a
/* 802BE2D4 002B9F34 38 9E 00 08 */ addi r4, r30, 8
/* 802BE2D8 002B9F38 4B FF F2 89 */ bl bdcpy
@@ -507,7 +507,7 @@ lbl_802BE3FC: /* 802BE408 002BA068 3B A0 00 00 */ li r29, 0
/* 802BE40C 002BA06C 9B BE 00 79 */ stb r29, 0x79(r30)
/* 802BE410 002BA070 38 63 F0 A0 */ addi r3, r3, bta_dm_service_search_remname_cback@l
-/* 802BE414 002BA074 48 00 C5 1D */ bl func_802CA930
+/* 802BE414 002BA074 48 00 C5 1D */ bl BTM_SecAddRmtNameNotifyCallback
/* 802BE418 002BA078 80 1E 00 08 */ lwz r0, 8(r30)
/* 802BE41C 002BA07C 38 7E 00 1A */ addi r3, r30, 0x1a
/* 802BE420 002BA080 80 9E 00 04 */ lwz r4, 4(r30)
@@ -826,7 +826,7 @@ lbl_802BE864: lbl_802BE894:
/* 802BE894 002BA4F4 3C 60 80 2C */ lis r3, bta_dm_service_search_remname_cback@ha
/* 802BE898 002BA4F8 38 63 F0 A0 */ addi r3, r3, bta_dm_service_search_remname_cback@l
-/* 802BE89C 002BA4FC 48 00 C0 E5 */ bl func_802CA980
+/* 802BE89C 002BA4FC 48 00 C0 E5 */ bl BTM_SecDeleteRmtNameNotifyCallback
/* 802BE8A0 002BA500 38 60 01 10 */ li r3, 0x110
/* 802BE8A4 002BA504 4B FF B2 09 */ bl GKI_getbuf
/* 802BE8A8 002BA508 2C 03 00 00 */ cmpwi r3, 0
@@ -878,7 +878,7 @@ lbl_802BE93C: /* 802BE950 002BA5B0 3C 60 80 2C */ lis r3, bta_dm_service_search_remname_cback@ha
/* 802BE954 002BA5B4 90 1F 00 14 */ stw r0, 0x14(r31)
/* 802BE958 002BA5B8 38 63 F0 A0 */ addi r3, r3, bta_dm_service_search_remname_cback@l
-/* 802BE95C 002BA5BC 48 00 C0 25 */ bl func_802CA980
+/* 802BE95C 002BA5BC 48 00 C0 25 */ bl BTM_SecDeleteRmtNameNotifyCallback
/* 802BE960 002BA5C0 38 60 01 10 */ li r3, 0x110
/* 802BE964 002BA5C4 4B FF B1 49 */ bl GKI_getbuf
/* 802BE968 002BA5C8 2C 03 00 00 */ cmpwi r3, 0
@@ -1289,7 +1289,7 @@ lbl_802BEEF0: /* 802BEEFC 002BAB5C 3B C0 00 00 */ li r30, 0
/* 802BEF00 002BAB60 9B DF 00 79 */ stb r30, 0x79(r31)
/* 802BEF04 002BAB64 38 63 F0 A0 */ addi r3, r3, bta_dm_service_search_remname_cback@l
-/* 802BEF08 002BAB68 48 00 BA 29 */ bl func_802CA930
+/* 802BEF08 002BAB68 48 00 BA 29 */ bl BTM_SecAddRmtNameNotifyCallback
/* 802BEF0C 002BAB6C 80 1F 00 08 */ lwz r0, 8(r31)
/* 802BEF10 002BAB70 38 7F 00 1A */ addi r3, r31, 0x1a
/* 802BEF14 002BAB74 80 9F 00 04 */ lwz r4, 4(r31)
@@ -1416,7 +1416,7 @@ bta_dm_service_search_remname_cback: /* 802BF0C0 002BAD20 4B F0 F2 D1 */ bl strncpy
/* 802BF0C4 002BAD24 3C 60 80 2C */ lis r3, bta_dm_service_search_remname_cback@ha
/* 802BF0C8 002BAD28 38 63 F0 A0 */ addi r3, r3, bta_dm_service_search_remname_cback@l
-/* 802BF0CC 002BAD2C 48 00 B8 B5 */ bl func_802CA980
+/* 802BF0CC 002BAD2C 48 00 B8 B5 */ bl BTM_SecDeleteRmtNameNotifyCallback
/* 802BF0D0 002BAD30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BF0D4 002BAD34 7C 08 03 A6 */ mtlr r0
/* 802BF0D8 002BAD38 38 21 00 10 */ addi r1, r1, 0x10
diff --git a/asm/SDK/BTE/bta_dm_pm.s b/asm/SDK/BTE/bta_dm_pm.s index bc4b43d..89c7976 100644 --- a/asm/SDK/BTE/bta_dm_pm.s +++ b/asm/SDK/BTE/bta_dm_pm.s @@ -25,7 +25,7 @@ bta_dm_init_pm: /* 802C0640 002BC2A0 38 60 00 03 */ li r3, 3
/* 802C0644 002BC2A4 38 84 00 95 */ addi r4, r4, 0x95
/* 802C0648 002BC2A8 38 A5 0D 78 */ addi r5, r5, bta_dm_pm_btm_cback@l
-/* 802C064C 002BC2AC 48 00 87 A1 */ bl func_802C8DEC
+/* 802C064C 002BC2AC 48 00 87 A1 */ bl BTM_PmRegister
lbl_802C0650:
/* 802C0650 002BC2B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C0654 002BC2B4 7C 08 03 A6 */ mtlr r0
@@ -39,7 +39,7 @@ bta_dm_disable_pm: /* 802C0668 002BC2C8 38 84 88 14 */ addi r4, r4, lbl_80568814@l
/* 802C066C 002BC2CC 38 A0 00 00 */ li r5, 0
/* 802C0670 002BC2D0 38 84 00 95 */ addi r4, r4, 0x95
-/* 802C0674 002BC2D4 48 00 87 78 */ b func_802C8DEC
+/* 802C0674 002BC2D4 48 00 87 78 */ b BTM_PmRegister
bta_dm_pm_cback:
/* 802C0678 002BC2D8 94 21 FF C0 */ stwu r1, -0x40(r1)
@@ -487,7 +487,7 @@ lbl_802C0CA4: /* 802C0CB8 002BC918 7E 83 A3 78 */ mr r3, r20
/* 802C0CBC 002BC91C 98 18 00 09 */ stb r0, 9(r24)
/* 802C0CC0 002BC920 38 81 00 09 */ addi r4, r1, 9
-/* 802C0CC4 002BC924 48 00 83 B5 */ bl func_802C9078
+/* 802C0CC4 002BC924 48 00 83 B5 */ bl BTM_ReadPowerMode
/* 802C0CC8 002BC928 88 01 00 09 */ lbz r0, 9(r1)
/* 802C0CCC 002BC92C 28 00 00 03 */ cmplwi r0, 3
/* 802C0CD0 002BC930 41 82 00 90 */ beq lbl_802C0D60
@@ -497,7 +497,7 @@ lbl_802C0CA4: /* 802C0CE0 002BC940 7E 84 A3 78 */ mr r4, r20
/* 802C0CE4 002BC944 88 63 00 95 */ lbz r3, 0x95(r3)
/* 802C0CE8 002BC948 38 A5 00 0A */ addi r5, r5, 0xa
-/* 802C0CEC 002BC94C 48 00 81 BD */ bl func_802C8EA8
+/* 802C0CEC 002BC94C 48 00 81 BD */ bl BTM_SetPowerMode
/* 802C0CF0 002BC950 48 00 00 70 */ b lbl_802C0D60
lbl_802C0CF4:
/* 802C0CF4 002BC954 28 00 00 02 */ cmplwi r0, 2
@@ -506,7 +506,7 @@ lbl_802C0CF4: /* 802C0D00 002BC960 7E 83 A3 78 */ mr r3, r20
/* 802C0D04 002BC964 98 18 00 09 */ stb r0, 9(r24)
/* 802C0D08 002BC968 38 81 00 08 */ addi r4, r1, 8
-/* 802C0D0C 002BC96C 48 00 83 6D */ bl func_802C9078
+/* 802C0D0C 002BC96C 48 00 83 6D */ bl BTM_ReadPowerMode
/* 802C0D10 002BC970 88 01 00 08 */ lbz r0, 8(r1)
/* 802C0D14 002BC974 28 00 00 02 */ cmplwi r0, 2
/* 802C0D18 002BC978 41 82 00 48 */ beq lbl_802C0D60
@@ -515,7 +515,7 @@ lbl_802C0CF4: /* 802C0D24 002BC984 38 63 88 14 */ addi r3, r3, lbl_80568814@l
/* 802C0D28 002BC988 7E 84 A3 78 */ mr r4, r20
/* 802C0D2C 002BC98C 88 63 00 95 */ lbz r3, 0x95(r3)
-/* 802C0D30 002BC990 48 00 81 79 */ bl func_802C8EA8
+/* 802C0D30 002BC990 48 00 81 79 */ bl BTM_SetPowerMode
/* 802C0D34 002BC994 48 00 00 2C */ b lbl_802C0D60
lbl_802C0D38:
/* 802C0D38 002BC998 28 00 00 04 */ cmplwi r0, 4
@@ -527,7 +527,7 @@ lbl_802C0D38: /* 802C0D50 002BC9B0 88 63 00 95 */ lbz r3, 0x95(r3)
/* 802C0D54 002BC9B4 7E 84 A3 78 */ mr r4, r20
/* 802C0D58 002BC9B8 38 A1 00 0C */ addi r5, r1, 0xc
-/* 802C0D5C 002BC9BC 48 00 81 4D */ bl func_802C8EA8
+/* 802C0D5C 002BC9BC 48 00 81 4D */ bl BTM_SetPowerMode
lbl_802C0D60:
/* 802C0D60 002BC9C0 39 61 00 50 */ addi r11, r1, 0x50
/* 802C0D64 002BC9C4 4B F0 63 F5 */ bl _restgpr_20
diff --git a/asm/SDK/BTE/bte_init.s b/asm/SDK/BTE/bte_init.s index 508fe00..05d83ef 100644 --- a/asm/SDK/BTE/bte_init.s +++ b/asm/SDK/BTE/bte_init.s @@ -8,7 +8,7 @@ BTE_InitStack: /* 802BCE2C 002B8A8C 7C 08 02 A6 */ mflr r0
/* 802BCE30 002B8A90 90 01 00 14 */ stw r0, 0x14(r1)
/* 802BCE34 002B8A94 48 01 EB 25 */ bl func_802DB958
-/* 802BCE38 002B8A98 48 01 1D F9 */ bl func_802CEC30
+/* 802BCE38 002B8A98 48 01 1D F9 */ bl GAP_Init
/* 802BCE3C 002B8A9C 48 01 56 C9 */ bl func_802D2504
/* 802BCE40 002B8AA0 48 01 61 49 */ bl func_802D2F88
/* 802BCE44 002B8AA4 80 01 00 14 */ lwz r0, 0x14(r1)
diff --git a/asm/SDK/BTE/bte_main.s b/asm/SDK/BTE/bte_main.s index 7c7e5b8..b282261 100644 --- a/asm/SDK/BTE/bte_main.s +++ b/asm/SDK/BTE/bte_main.s @@ -20,7 +20,7 @@ BTA_Init: /* 802BCFE4 002B8C44 90 0D AE EC */ stw r0, lbl_806401AC-_SDA_BASE_(r13)
/* 802BCFE8 002B8C48 4B FF DF 81 */ bl GKI_init
/* 802BCFEC 002B8C4C 4B FF E1 71 */ bl GKI_enable
-/* 802BCFF0 002B8C50 48 01 1B 15 */ bl func_802CEB04
+/* 802BCFF0 002B8C50 48 01 1B 15 */ bl BTE_Init
/* 802BCFF4 002B8C54 3C 80 80 40 */ lis r4, lbl_803FDAA8@ha
/* 802BCFF8 002B8C58 38 0D 8A 20 */ addi r0, r13, lbl_8063DCE0-_SDA_BASE_
/* 802BCFFC 002B8C5C 38 84 DA A8 */ addi r4, r4, lbl_803FDAA8@l
diff --git a/asm/SDK/BTE/btm_acl.s b/asm/SDK/BTE/btm_acl.s index 451ab50..604790d 100644 --- a/asm/SDK/BTE/btm_acl.s +++ b/asm/SDK/BTE/btm_acl.s @@ -126,7 +126,7 @@ lbl_802C35AC: /* 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
+/* 802C35D4 002BF234 48 00 5B D5 */ bl btm_pm_sm_alloc
/* 802C35D8 002BF238 7F C4 F3 78 */ mr r4, r30
/* 802C35DC 002BF23C 38 7F 00 08 */ addi r3, r31, 8
/* 802C35E0 002BF240 38 A0 00 06 */ li r5, 6
@@ -409,7 +409,7 @@ lbl_802C3998: /* 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
+/* 802C39B0 002BF610 48 00 6E 81 */ bl btm_is_sco_active_by_bdaddr
/* 802C39B4 002BF614 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802C39B8 002BF618 28 00 00 01 */ cmplwi r0, 1
/* 802C39BC 002BF61C 40 82 00 0C */ bne lbl_802C39C8
@@ -441,7 +441,7 @@ lbl_802C3A04: /* 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
+/* 802C3A24 002BF684 48 00 56 55 */ bl BTM_ReadPowerMode
/* 802C3A28 002BF688 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C3A2C 002BF68C 41 82 00 08 */ beq lbl_802C3A34
/* 802C3A30 002BF690 48 00 00 DC */ b lbl_802C3B0C
@@ -456,7 +456,7 @@ lbl_802C3A34: /* 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
+/* 802C3A5C 002BF6BC 48 00 54 4D */ bl BTM_SetPowerMode
/* 802C3A60 002BF6C0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802C3A64 002BF6C4 28 00 00 01 */ cmplwi r0, 1
/* 802C3A68 002BF6C8 41 82 00 0C */ beq lbl_802C3A74
@@ -2085,7 +2085,7 @@ lbl_802C5054: /* 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
+/* 802C5074 002C0CD4 48 00 40 05 */ bl BTM_ReadPowerMode
/* 802C5078 002C0CD8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C507C 002C0CDC 40 82 00 CC */ bne lbl_802C5148
/* 802C5080 002C0CE0 88 01 00 08 */ lbz r0, 8(r1)
@@ -2103,7 +2103,7 @@ lbl_802C50A8: /* 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
+/* 802C50B8 002C0D18 48 00 3D F1 */ bl BTM_SetPowerMode
/* 802C50BC 002C0D1C 48 00 00 8C */ b lbl_802C5148
lbl_802C50C0:
/* 802C50C0 002C0D20 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
diff --git a/asm/SDK/BTE/btm_devctl.s b/asm/SDK/BTE/btm_devctl.s index f76555a..27adef1 100644 --- a/asm/SDK/BTE/btm_devctl.s +++ b/asm/SDK/BTE/btm_devctl.s @@ -373,7 +373,7 @@ lbl_802C5D50: /* 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
+/* 802C5D64 002C19C4 48 00 4C 71 */ bl BTM_SetPinType
/* 802C5D68 002C19C8 48 00 00 F4 */ b lbl_802C5E5C
lbl_802C5D6C:
/* 802C5D6C 002C19CC 88 66 06 4F */ lbz r3, 0x64f(r6)
@@ -425,7 +425,7 @@ lbl_802C5E0C: /* 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
+/* 802C5E24 002C1A84 48 00 33 0D */ bl btm_pm_reset
/* 802C5E28 002C1A88 48 00 00 34 */ b lbl_802C5E5C
lbl_802C5E2C:
/* 802C5E2C 002C1A8C 28 00 00 02 */ cmplwi r0, 2
@@ -563,7 +563,7 @@ lbl_802C6008: /* 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
+/* 802C601C 002C1C7C 48 00 49 B9 */ bl BTM_SetPinType
lbl_802C6020:
/* 802C6020 002C1C80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C6024 002C1C84 83 E1 00 0C */ lwz r31, 0xc(r1)
@@ -621,7 +621,7 @@ lbl_802C60D4: /* 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
+/* 802C60EC 002C1D4C 48 00 30 45 */ bl btm_pm_reset
lbl_802C60F0:
/* 802C60F0 002C1D50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C60F4 002C1D54 7C 08 03 A6 */ mtlr r0
@@ -951,7 +951,7 @@ lbl_802C6570: /* 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
+/* 802C6584 002C21E4 48 00 55 DD */ bl btm_sec_dev_reset
/* 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)
diff --git a/asm/SDK/BTE/btm_inq.s b/asm/SDK/BTE/btm_inq.s index a9974af..7a04897 100644 --- a/asm/SDK/BTE/btm_inq.s +++ b/asm/SDK/BTE/btm_inq.s @@ -1958,7 +1958,7 @@ btm_inq_rmt_name_failed: /* 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
+/* 802C8D7C 002C49DC 48 00 2E D9 */ bl btm_sec_rmt_name_request_complete
/* 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
diff --git a/asm/SDK/BTE/btm_main.s b/asm/SDK/BTE/btm_main.s index c0cefdd..b6340f6 100644 --- a/asm/SDK/BTE/btm_main.s +++ b/asm/SDK/BTE/btm_main.s @@ -19,8 +19,8 @@ btm_init: /* 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
+/* 802C8DCC 002C4A2C 48 00 2D 79 */ bl btm_sec_init
+/* 802C8DD0 002C4A30 48 00 0C B1 */ bl btm_sco_init
/* 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)
diff --git a/asm/SDK/BTE/btm_pm.s b/asm/SDK/BTE/btm_pm.s new file mode 100644 index 0000000..af35c65 --- /dev/null +++ b/asm/SDK/BTE/btm_pm.s @@ -0,0 +1,920 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global BTM_PmRegister
+BTM_PmRegister:
+/* 802C8DEC 002C4A4C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 802C8DF0 002C4A50 41 82 00 38 */ beq lbl_802C8E28
+/* 802C8DF4 002C4A54 88 04 00 00 */ lbz r0, 0(r4)
+/* 802C8DF8 002C4A58 28 00 00 02 */ cmplwi r0, 2
+/* 802C8DFC 002C4A5C 41 80 00 0C */ blt lbl_802C8E08
+/* 802C8E00 002C4A60 38 60 00 05 */ li r3, 5
+/* 802C8E04 002C4A64 4E 80 00 20 */ blr
+lbl_802C8E08:
+/* 802C8E08 002C4A68 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C8E0C 002C4A6C 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c
+/* 802C8E10 002C4A70 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C8E14 002C4A74 38 A0 00 00 */ li r5, 0
+/* 802C8E18 002C4A78 7C 83 02 14 */ add r4, r3, r0
+/* 802C8E1C 002C4A7C 98 A4 05 58 */ stb r5, 0x558(r4)
+/* 802C8E20 002C4A80 38 60 00 00 */ li r3, 0
+/* 802C8E24 002C4A84 4E 80 00 20 */ blr
+lbl_802C8E28:
+/* 802C8E28 002C4A88 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C8E2C 002C4A8C 38 00 00 02 */ li r0, 2
+/* 802C8E30 002C4A90 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C8E34 002C4A94 38 E0 00 00 */ li r7, 0
+/* 802C8E38 002C4A98 7C 09 03 A6 */ mtctr r0
+lbl_802C8E3C:
+/* 802C8E3C 002C4A9C 88 06 05 58 */ lbz r0, 0x558(r6)
+/* 802C8E40 002C4AA0 2C 00 00 00 */ cmpwi r0, 0
+/* 802C8E44 002C4AA4 40 82 00 50 */ bne lbl_802C8E94
+/* 802C8E48 002C4AA8 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
+/* 802C8E4C 002C4AAC 41 82 00 28 */ beq lbl_802C8E74
+/* 802C8E50 002C4AB0 2C 05 00 00 */ cmpwi r5, 0
+/* 802C8E54 002C4AB4 40 82 00 0C */ bne lbl_802C8E60
+/* 802C8E58 002C4AB8 38 60 00 05 */ li r3, 5
+/* 802C8E5C 002C4ABC 4E 80 00 20 */ blr
+lbl_802C8E60:
+/* 802C8E60 002C4AC0 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C8E64 002C4AC4 54 E0 18 38 */ slwi r0, r7, 3
+/* 802C8E68 002C4AC8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C8E6C 002C4ACC 7C C6 02 14 */ add r6, r6, r0
+/* 802C8E70 002C4AD0 90 A6 05 54 */ stw r5, 0x554(r6)
+lbl_802C8E74:
+/* 802C8E74 002C4AD4 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C8E78 002C4AD8 54 E0 18 38 */ slwi r0, r7, 3
+/* 802C8E7C 002C4ADC 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C8E80 002C4AE0 7C A5 02 14 */ add r5, r5, r0
+/* 802C8E84 002C4AE4 98 65 05 58 */ stb r3, 0x558(r5)
+/* 802C8E88 002C4AE8 38 60 00 00 */ li r3, 0
+/* 802C8E8C 002C4AEC 98 E4 00 00 */ stb r7, 0(r4)
+/* 802C8E90 002C4AF0 4E 80 00 20 */ blr
+lbl_802C8E94:
+/* 802C8E94 002C4AF4 38 C6 00 08 */ addi r6, r6, 8
+/* 802C8E98 002C4AF8 38 E7 00 01 */ addi r7, r7, 1
+/* 802C8E9C 002C4AFC 42 00 FF A0 */ bdnz lbl_802C8E3C
+/* 802C8EA0 002C4B00 38 60 00 03 */ li r3, 3
+/* 802C8EA4 002C4B04 4E 80 00 20 */ blr
+
+.global BTM_SetPowerMode
+BTM_SetPowerMode:
+/* 802C8EA8 002C4B08 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C8EAC 002C4B0C 7C 08 02 A6 */ mflr r0
+/* 802C8EB0 002C4B10 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C8EB4 002C4B14 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C8EB8 002C4B18 4B EF E2 6D */ bl _savegpr_26
+/* 802C8EBC 002C4B1C 28 03 00 02 */ cmplwi r3, 2
+/* 802C8EC0 002C4B20 7C 7B 1B 78 */ mr r27, r3
+/* 802C8EC4 002C4B24 7C 9A 23 78 */ mr r26, r4
+/* 802C8EC8 002C4B28 7C BC 2B 78 */ mr r28, r5
+/* 802C8ECC 002C4B2C 41 80 00 08 */ blt lbl_802C8ED4
+/* 802C8ED0 002C4B30 3B 60 00 80 */ li r27, 0x80
+lbl_802C8ED4:
+/* 802C8ED4 002C4B34 2C 05 00 00 */ cmpwi r5, 0
+/* 802C8ED8 002C4B38 40 82 00 0C */ bne lbl_802C8EE4
+/* 802C8EDC 002C4B3C 38 60 00 05 */ li r3, 5
+/* 802C8EE0 002C4B40 48 00 01 80 */ b lbl_802C9060
+lbl_802C8EE4:
+/* 802C8EE4 002C4B44 88 05 00 08 */ lbz r0, 8(r5)
+/* 802C8EE8 002C4B48 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C8EEC 002C4B4C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C8EF0 002C4B50 3B A0 00 00 */ li r29, 0
+/* 802C8EF4 002C4B54 54 1F 07 34 */ rlwinm r31, r0, 0, 0x1c, 0x1a
+/* 802C8EF8 002C4B58 3B C3 00 34 */ addi r30, r3, 0x34
+lbl_802C8EFC:
+/* 802C8EFC 002C4B5C 88 1E 01 19 */ lbz r0, 0x119(r30)
+/* 802C8F00 002C4B60 2C 00 00 00 */ cmpwi r0, 0
+/* 802C8F04 002C4B64 41 82 00 1C */ beq lbl_802C8F20
+/* 802C8F08 002C4B68 7F 44 D3 78 */ mr r4, r26
+/* 802C8F0C 002C4B6C 38 7E 00 08 */ addi r3, r30, 8
+/* 802C8F10 002C4B70 38 A0 00 06 */ li r5, 6
+/* 802C8F14 002C4B74 4B F0 14 85 */ bl memcmp
+/* 802C8F18 002C4B78 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8F1C 002C4B7C 41 82 00 14 */ beq lbl_802C8F30
+lbl_802C8F20:
+/* 802C8F20 002C4B80 3B BD 00 01 */ addi r29, r29, 1
+/* 802C8F24 002C4B84 3B DE 01 1C */ addi r30, r30, 0x11c
+/* 802C8F28 002C4B88 28 1D 00 04 */ cmplwi r29, 4
+/* 802C8F2C 002C4B8C 41 80 FF D0 */ blt lbl_802C8EFC
+lbl_802C8F30:
+/* 802C8F30 002C4B90 57 BE 06 3E */ clrlwi r30, r29, 0x18
+/* 802C8F34 002C4B94 2C 1E 00 04 */ cmpwi r30, 4
+/* 802C8F38 002C4B98 40 82 00 0C */ bne lbl_802C8F44
+/* 802C8F3C 002C4B9C 38 60 00 07 */ li r3, 7
+/* 802C8F40 002C4BA0 48 00 01 20 */ b lbl_802C9060
+lbl_802C8F44:
+/* 802C8F44 002C4BA4 1C 1E 00 22 */ mulli r0, r30, 0x22
+/* 802C8F48 002C4BA8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C8F4C 002C4BAC 57 E3 06 3F */ clrlwi. r3, r31, 0x18
+/* 802C8F50 002C4BB0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C8F54 002C4BB4 7C 84 02 14 */ add r4, r4, r0
+/* 802C8F58 002C4BB8 3B A4 04 CC */ addi r29, r4, 0x4cc
+/* 802C8F5C 002C4BBC 41 82 00 30 */ beq lbl_802C8F8C
+/* 802C8F60 002C4BC0 3B 43 FF FF */ addi r26, r3, -1
+/* 802C8F64 002C4BC4 4B FF D9 FD */ bl BTM_ReadLocalFeatures
+/* 802C8F68 002C4BC8 38 82 A4 78 */ addi r4, r2, lbl_80642A78-_SDA2_BASE_
+/* 802C8F6C 002C4BCC 38 A2 A4 7C */ addi r5, r2, lbl_80642A7C-_SDA2_BASE_
+/* 802C8F70 002C4BD0 7C 04 D0 AE */ lbzx r0, r4, r26
+/* 802C8F74 002C4BD4 7C 85 D0 AE */ lbzx r4, r5, r26
+/* 802C8F78 002C4BD8 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802C8F7C 002C4BDC 7C 80 00 39 */ and. r0, r4, r0
+/* 802C8F80 002C4BE0 40 82 00 0C */ bne lbl_802C8F8C
+/* 802C8F84 002C4BE4 38 60 00 04 */ li r3, 4
+/* 802C8F88 002C4BE8 48 00 00 D8 */ b lbl_802C9060
+lbl_802C8F8C:
+/* 802C8F8C 002C4BEC 88 1D 00 20 */ lbz r0, 0x20(r29)
+/* 802C8F90 002C4BF0 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802C8F94 002C4BF4 7C 03 00 40 */ cmplw r3, r0
+/* 802C8F98 002C4BF8 40 82 00 30 */ bne lbl_802C8FC8
+/* 802C8F9C 002C4BFC 2C 03 00 00 */ cmpwi r3, 0
+/* 802C8FA0 002C4C00 41 82 00 20 */ beq lbl_802C8FC0
+/* 802C8FA4 002C4C04 A0 7D 00 1E */ lhz r3, 0x1e(r29)
+/* 802C8FA8 002C4C08 A0 1C 00 00 */ lhz r0, 0(r28)
+/* 802C8FAC 002C4C0C 7C 00 18 40 */ cmplw r0, r3
+/* 802C8FB0 002C4C10 41 80 00 18 */ blt lbl_802C8FC8
+/* 802C8FB4 002C4C14 A0 1C 00 02 */ lhz r0, 2(r28)
+/* 802C8FB8 002C4C18 7C 00 18 40 */ cmplw r0, r3
+/* 802C8FBC 002C4C1C 41 81 00 0C */ bgt lbl_802C8FC8
+lbl_802C8FC0:
+/* 802C8FC0 002C4C20 38 60 00 00 */ li r3, 0
+/* 802C8FC4 002C4C24 48 00 00 9C */ b lbl_802C9060
+lbl_802C8FC8:
+/* 802C8FC8 002C4C28 28 1B 00 80 */ cmplwi r27, 0x80
+/* 802C8FCC 002C4C2C 41 82 00 54 */ beq lbl_802C9020
+/* 802C8FD0 002C4C30 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C8FD4 002C4C34 57 60 1D 78 */ rlwinm r0, r27, 3, 0x15, 0x1c
+/* 802C8FD8 002C4C38 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C8FDC 002C4C3C 7C 63 02 14 */ add r3, r3, r0
+/* 802C8FE0 002C4C40 88 03 05 58 */ lbz r0, 0x558(r3)
+/* 802C8FE4 002C4C44 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802C8FE8 002C4C48 41 82 00 38 */ beq lbl_802C9020
+/* 802C8FEC 002C4C4C A0 9C 00 00 */ lhz r4, 0(r28)
+/* 802C8FF0 002C4C50 1C BB 00 0A */ mulli r5, r27, 0xa
+/* 802C8FF4 002C4C54 A0 7C 00 02 */ lhz r3, 2(r28)
+/* 802C8FF8 002C4C58 38 00 00 01 */ li r0, 1
+/* 802C8FFC 002C4C5C 7C 85 EB 6E */ sthux r4, r5, r29
+/* 802C9000 002C4C60 B0 65 00 02 */ sth r3, 2(r5)
+/* 802C9004 002C4C64 A0 9C 00 04 */ lhz r4, 4(r28)
+/* 802C9008 002C4C68 A0 7C 00 06 */ lhz r3, 6(r28)
+/* 802C900C 002C4C6C B0 85 00 04 */ sth r4, 4(r5)
+/* 802C9010 002C4C70 B0 65 00 06 */ sth r3, 6(r5)
+/* 802C9014 002C4C74 A0 7C 00 08 */ lhz r3, 8(r28)
+/* 802C9018 002C4C78 B0 65 00 08 */ sth r3, 8(r5)
+/* 802C901C 002C4C7C 98 1D 00 21 */ stb r0, 0x21(r29)
+lbl_802C9020:
+/* 802C9020 002C4C80 88 1D 00 20 */ lbz r0, 0x20(r29)
+/* 802C9024 002C4C84 28 00 00 01 */ cmplwi r0, 1
+/* 802C9028 002C4C88 41 82 00 20 */ beq lbl_802C9048
+/* 802C902C 002C4C8C 28 00 00 04 */ cmplwi r0, 4
+/* 802C9030 002C4C90 41 82 00 18 */ beq lbl_802C9048
+/* 802C9034 002C4C94 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9038 002C4C98 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C903C 002C4C9C 88 03 05 64 */ lbz r0, 0x564(r3)
+/* 802C9040 002C4CA0 28 00 00 04 */ cmplwi r0, 4
+/* 802C9044 002C4CA4 41 82 00 0C */ beq lbl_802C9050
+lbl_802C9048:
+/* 802C9048 002C4CA8 38 60 00 0D */ li r3, 0xd
+/* 802C904C 002C4CAC 48 00 00 14 */ b lbl_802C9060
+lbl_802C9050:
+/* 802C9050 002C4CB0 7F 63 DB 78 */ mr r3, r27
+/* 802C9054 002C4CB4 7F C4 F3 78 */ mr r4, r30
+/* 802C9058 002C4CB8 7F 85 E3 78 */ mr r5, r28
+/* 802C905C 002C4CBC 48 00 05 19 */ bl btm_pm_snd_md_req
+lbl_802C9060:
+/* 802C9060 002C4CC0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C9064 002C4CC4 4B EF E1 0D */ bl _restgpr_26
+/* 802C9068 002C4CC8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C906C 002C4CCC 7C 08 03 A6 */ mtlr r0
+/* 802C9070 002C4CD0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C9074 002C4CD4 4E 80 00 20 */ blr
+
+.global BTM_ReadPowerMode
+BTM_ReadPowerMode:
+/* 802C9078 002C4CD8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C907C 002C4CDC 7C 08 02 A6 */ mflr r0
+/* 802C9080 002C4CE0 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802C9084 002C4CE4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C9088 002C4CE8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802C908C 002C4CEC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802C9090 002C4CF0 3B E0 00 00 */ li r31, 0
+/* 802C9094 002C4CF4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802C9098 002C4CF8 3B C5 00 34 */ addi r30, r5, 0x34
+/* 802C909C 002C4CFC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802C90A0 002C4D00 7C 9D 23 78 */ mr r29, r4
+/* 802C90A4 002C4D04 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802C90A8 002C4D08 7C 7C 1B 78 */ mr r28, r3
+lbl_802C90AC:
+/* 802C90AC 002C4D0C 88 1E 01 19 */ lbz r0, 0x119(r30)
+/* 802C90B0 002C4D10 2C 00 00 00 */ cmpwi r0, 0
+/* 802C90B4 002C4D14 41 82 00 1C */ beq lbl_802C90D0
+/* 802C90B8 002C4D18 7F 84 E3 78 */ mr r4, r28
+/* 802C90BC 002C4D1C 38 7E 00 08 */ addi r3, r30, 8
+/* 802C90C0 002C4D20 38 A0 00 06 */ li r5, 6
+/* 802C90C4 002C4D24 4B F0 12 D5 */ bl memcmp
+/* 802C90C8 002C4D28 2C 03 00 00 */ cmpwi r3, 0
+/* 802C90CC 002C4D2C 41 82 00 14 */ beq lbl_802C90E0
+lbl_802C90D0:
+/* 802C90D0 002C4D30 3B FF 00 01 */ addi r31, r31, 1
+/* 802C90D4 002C4D34 3B DE 01 1C */ addi r30, r30, 0x11c
+/* 802C90D8 002C4D38 28 1F 00 04 */ cmplwi r31, 4
+/* 802C90DC 002C4D3C 41 80 FF D0 */ blt lbl_802C90AC
+lbl_802C90E0:
+/* 802C90E0 002C4D40 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802C90E4 002C4D44 2C 00 00 04 */ cmpwi r0, 4
+/* 802C90E8 002C4D48 40 82 00 0C */ bne lbl_802C90F4
+/* 802C90EC 002C4D4C 38 60 00 07 */ li r3, 7
+/* 802C90F0 002C4D50 48 00 00 20 */ b lbl_802C9110
+lbl_802C90F4:
+/* 802C90F4 002C4D54 1C 00 00 22 */ mulli r0, r0, 0x22
+/* 802C90F8 002C4D58 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C90FC 002C4D5C 38 60 00 00 */ li r3, 0
+/* 802C9100 002C4D60 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C9104 002C4D64 7C 84 02 14 */ add r4, r4, r0
+/* 802C9108 002C4D68 88 04 04 EC */ lbz r0, 0x4ec(r4)
+/* 802C910C 002C4D6C 98 1D 00 00 */ stb r0, 0(r29)
+lbl_802C9110:
+/* 802C9110 002C4D70 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C9114 002C4D74 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802C9118 002C4D78 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802C911C 002C4D7C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802C9120 002C4D80 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802C9124 002C4D84 7C 08 03 A6 */ mtlr r0
+/* 802C9128 002C4D88 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C912C 002C4D8C 4E 80 00 20 */ blr
+
+.global btm_pm_reset
+btm_pm_reset:
+/* 802C9130 002C4D90 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9134 002C4D94 39 80 00 00 */ li r12, 0
+/* 802C9138 002C4D98 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C913C 002C4D9C 88 03 05 65 */ lbz r0, 0x565(r3)
+/* 802C9140 002C4DA0 28 00 00 80 */ cmplwi r0, 0x80
+/* 802C9144 002C4DA4 41 82 00 1C */ beq lbl_802C9160
+/* 802C9148 002C4DA8 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c
+/* 802C914C 002C4DAC 7C 63 02 14 */ add r3, r3, r0
+/* 802C9150 002C4DB0 88 03 05 58 */ lbz r0, 0x558(r3)
+/* 802C9154 002C4DB4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802C9158 002C4DB8 41 82 00 08 */ beq lbl_802C9160
+/* 802C915C 002C4DBC 81 83 05 54 */ lwz r12, 0x554(r3)
+lbl_802C9160:
+/* 802C9160 002C4DC0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9164 002C4DC4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C9168 002C4DC8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C916C 002C4DCC 38 00 00 00 */ li r0, 0
+/* 802C9170 002C4DD0 38 80 00 04 */ li r4, 4
+/* 802C9174 002C4DD4 98 03 05 58 */ stb r0, 0x558(r3)
+/* 802C9178 002C4DD8 98 83 05 64 */ stb r4, 0x564(r3)
+/* 802C917C 002C4DDC 98 03 05 60 */ stb r0, 0x560(r3)
+/* 802C9180 002C4DE0 4D 82 00 20 */ beqlr
+/* 802C9184 002C4DE4 1C 04 01 1C */ mulli r0, r4, 0x11c
+/* 802C9188 002C4DE8 38 80 00 05 */ li r4, 5
+/* 802C918C 002C4DEC 38 A0 00 0C */ li r5, 0xc
+/* 802C9190 002C4DF0 38 C0 00 00 */ li r6, 0
+/* 802C9194 002C4DF4 7C 63 02 14 */ add r3, r3, r0
+/* 802C9198 002C4DF8 38 63 00 3C */ addi r3, r3, 0x3c
+/* 802C919C 002C4DFC 7D 89 03 A6 */ mtctr r12
+/* 802C91A0 002C4E00 4E 80 04 20 */ bctr
+/* 802C91A4 002C4E04 4E 80 00 20 */ blr
+
+.global btm_pm_sm_alloc
+btm_pm_sm_alloc:
+/* 802C91A8 002C4E08 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C91AC 002C4E0C 7C 08 02 A6 */ mflr r0
+/* 802C91B0 002C4E10 38 80 00 00 */ li r4, 0
+/* 802C91B4 002C4E14 38 A0 00 22 */ li r5, 0x22
+/* 802C91B8 002C4E18 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C91BC 002C4E1C 1C 03 00 22 */ mulli r0, r3, 0x22
+/* 802C91C0 002C4E20 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C91C4 002C4E24 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802C91C8 002C4E28 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C91CC 002C4E2C 7C 63 02 14 */ add r3, r3, r0
+/* 802C91D0 002C4E30 3B E3 04 CC */ addi r31, r3, 0x4cc
+/* 802C91D4 002C4E34 7F E3 FB 78 */ mr r3, r31
+/* 802C91D8 002C4E38 4B D3 AF 2D */ bl memset
+/* 802C91DC 002C4E3C 38 00 00 00 */ li r0, 0
+/* 802C91E0 002C4E40 98 1F 00 20 */ stb r0, 0x20(r31)
+/* 802C91E4 002C4E44 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802C91E8 002C4E48 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C91EC 002C4E4C 7C 08 03 A6 */ mtlr r0
+/* 802C91F0 002C4E50 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C91F4 002C4E54 4E 80 00 20 */ blr
+
+.global btm_pm_compare_modes
+btm_pm_compare_modes:
+/* 802C91F8 002C4E58 2C 03 00 00 */ cmpwi r3, 0
+/* 802C91FC 002C4E5C 40 82 00 34 */ bne lbl_802C9230
+/* 802C9200 002C4E60 A0 C4 00 00 */ lhz r6, 0(r4)
+/* 802C9204 002C4E64 7C 83 23 78 */ mr r3, r4
+/* 802C9208 002C4E68 A0 04 00 02 */ lhz r0, 2(r4)
+/* 802C920C 002C4E6C B0 C5 00 00 */ sth r6, 0(r5)
+/* 802C9210 002C4E70 B0 05 00 02 */ sth r0, 2(r5)
+/* 802C9214 002C4E74 A0 C4 00 04 */ lhz r6, 4(r4)
+/* 802C9218 002C4E78 A0 04 00 06 */ lhz r0, 6(r4)
+/* 802C921C 002C4E7C B0 C5 00 04 */ sth r6, 4(r5)
+/* 802C9220 002C4E80 B0 05 00 06 */ sth r0, 6(r5)
+/* 802C9224 002C4E84 A0 04 00 08 */ lhz r0, 8(r4)
+/* 802C9228 002C4E88 B0 05 00 08 */ sth r0, 8(r5)
+/* 802C922C 002C4E8C 4E 80 00 20 */ blr
+lbl_802C9230:
+/* 802C9230 002C4E90 89 24 00 08 */ lbz r9, 8(r4)
+/* 802C9234 002C4E94 2C 09 00 00 */ cmpwi r9, 0
+/* 802C9238 002C4E98 41 82 00 10 */ beq lbl_802C9248
+/* 802C923C 002C4E9C 89 03 00 08 */ lbz r8, 8(r3)
+/* 802C9240 002C4EA0 2C 08 00 00 */ cmpwi r8, 0
+/* 802C9244 002C4EA4 40 82 00 0C */ bne lbl_802C9250
+lbl_802C9248:
+/* 802C9248 002C4EA8 38 60 00 00 */ li r3, 0
+/* 802C924C 002C4EAC 4E 80 00 20 */ blr
+lbl_802C9250:
+/* 802C9250 002C4EB0 55 00 06 F7 */ rlwinm. r0, r8, 0, 0x1b, 0x1b
+/* 802C9254 002C4EB4 41 82 00 40 */ beq lbl_802C9294
+/* 802C9258 002C4EB8 A0 83 00 00 */ lhz r4, 0(r3)
+/* 802C925C 002C4EBC A0 03 00 02 */ lhz r0, 2(r3)
+/* 802C9260 002C4EC0 B0 85 00 00 */ sth r4, 0(r5)
+/* 802C9264 002C4EC4 B0 05 00 02 */ sth r0, 2(r5)
+/* 802C9268 002C4EC8 A0 83 00 04 */ lhz r4, 4(r3)
+/* 802C926C 002C4ECC A0 03 00 06 */ lhz r0, 6(r3)
+/* 802C9270 002C4ED0 B0 85 00 04 */ sth r4, 4(r5)
+/* 802C9274 002C4ED4 B0 05 00 06 */ sth r0, 6(r5)
+/* 802C9278 002C4ED8 A0 03 00 08 */ lhz r0, 8(r3)
+/* 802C927C 002C4EDC 7C A3 2B 78 */ mr r3, r5
+/* 802C9280 002C4EE0 B0 05 00 08 */ sth r0, 8(r5)
+/* 802C9284 002C4EE4 88 05 00 08 */ lbz r0, 8(r5)
+/* 802C9288 002C4EE8 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
+/* 802C928C 002C4EEC 98 05 00 08 */ stb r0, 8(r5)
+/* 802C9290 002C4EF0 4E 80 00 20 */ blr
+lbl_802C9294:
+/* 802C9294 002C4EF4 55 20 06 F7 */ rlwinm. r0, r9, 0, 0x1b, 0x1b
+/* 802C9298 002C4EF8 41 82 00 40 */ beq lbl_802C92D8
+/* 802C929C 002C4EFC A0 C4 00 00 */ lhz r6, 0(r4)
+/* 802C92A0 002C4F00 7C A3 2B 78 */ mr r3, r5
+/* 802C92A4 002C4F04 A0 04 00 02 */ lhz r0, 2(r4)
+/* 802C92A8 002C4F08 B0 C5 00 00 */ sth r6, 0(r5)
+/* 802C92AC 002C4F0C B0 05 00 02 */ sth r0, 2(r5)
+/* 802C92B0 002C4F10 A0 C4 00 04 */ lhz r6, 4(r4)
+/* 802C92B4 002C4F14 A0 04 00 06 */ lhz r0, 6(r4)
+/* 802C92B8 002C4F18 B0 C5 00 04 */ sth r6, 4(r5)
+/* 802C92BC 002C4F1C B0 05 00 06 */ sth r0, 6(r5)
+/* 802C92C0 002C4F20 A0 04 00 08 */ lhz r0, 8(r4)
+/* 802C92C4 002C4F24 B0 05 00 08 */ sth r0, 8(r5)
+/* 802C92C8 002C4F28 88 05 00 08 */ lbz r0, 8(r5)
+/* 802C92CC 002C4F2C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
+/* 802C92D0 002C4F30 98 05 00 08 */ stb r0, 8(r5)
+/* 802C92D4 002C4F34 4E 80 00 20 */ blr
+lbl_802C92D8:
+/* 802C92D8 002C4F38 38 E8 FF FF */ addi r7, r8, -1
+/* 802C92DC 002C4F3C 3C C0 80 40 */ lis r6, lbl_803FDDB8@ha
+/* 802C92E0 002C4F40 54 E0 10 3A */ slwi r0, r7, 2
+/* 802C92E4 002C4F44 7C 07 00 50 */ subf r0, r7, r0
+/* 802C92E8 002C4F48 38 C6 DD B8 */ addi r6, r6, lbl_803FDDB8@l
+/* 802C92EC 002C4F4C 7C E9 02 14 */ add r7, r9, r0
+/* 802C92F0 002C4F50 38 07 FF FF */ addi r0, r7, -1
+/* 802C92F4 002C4F54 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 802C92F8 002C4F58 7C 06 00 AE */ lbzx r0, r6, r0
+/* 802C92FC 002C4F5C 2C 00 00 02 */ cmpwi r0, 2
+/* 802C9300 002C4F60 41 82 00 4C */ beq lbl_802C934C
+/* 802C9304 002C4F64 40 80 00 10 */ bge lbl_802C9314
+/* 802C9308 002C4F68 2C 00 00 01 */ cmpwi r0, 1
+/* 802C930C 002C4F6C 40 80 00 14 */ bge lbl_802C9320
+/* 802C9310 002C4F70 48 00 00 FC */ b lbl_802C940C
+lbl_802C9314:
+/* 802C9314 002C4F74 2C 00 00 04 */ cmpwi r0, 4
+/* 802C9318 002C4F78 40 80 00 F4 */ bge lbl_802C940C
+/* 802C931C 002C4F7C 48 00 00 60 */ b lbl_802C937C
+lbl_802C9320:
+/* 802C9320 002C4F80 A0 83 00 00 */ lhz r4, 0(r3)
+/* 802C9324 002C4F84 A0 03 00 02 */ lhz r0, 2(r3)
+/* 802C9328 002C4F88 B0 85 00 00 */ sth r4, 0(r5)
+/* 802C932C 002C4F8C B0 05 00 02 */ sth r0, 2(r5)
+/* 802C9330 002C4F90 A0 83 00 04 */ lhz r4, 4(r3)
+/* 802C9334 002C4F94 A0 03 00 06 */ lhz r0, 6(r3)
+/* 802C9338 002C4F98 B0 85 00 04 */ sth r4, 4(r5)
+/* 802C933C 002C4F9C B0 05 00 06 */ sth r0, 6(r5)
+/* 802C9340 002C4FA0 A0 03 00 08 */ lhz r0, 8(r3)
+/* 802C9344 002C4FA4 B0 05 00 08 */ sth r0, 8(r5)
+/* 802C9348 002C4FA8 4E 80 00 20 */ blr
+lbl_802C934C:
+/* 802C934C 002C4FAC A0 C4 00 00 */ lhz r6, 0(r4)
+/* 802C9350 002C4FB0 7C 83 23 78 */ mr r3, r4
+/* 802C9354 002C4FB4 A0 04 00 02 */ lhz r0, 2(r4)
+/* 802C9358 002C4FB8 B0 C5 00 00 */ sth r6, 0(r5)
+/* 802C935C 002C4FBC B0 05 00 02 */ sth r0, 2(r5)
+/* 802C9360 002C4FC0 A0 C4 00 04 */ lhz r6, 4(r4)
+/* 802C9364 002C4FC4 A0 04 00 06 */ lhz r0, 6(r4)
+/* 802C9368 002C4FC8 B0 C5 00 04 */ sth r6, 4(r5)
+/* 802C936C 002C4FCC B0 05 00 06 */ sth r0, 6(r5)
+/* 802C9370 002C4FD0 A0 04 00 08 */ lhz r0, 8(r4)
+/* 802C9374 002C4FD4 B0 05 00 08 */ sth r0, 8(r5)
+/* 802C9378 002C4FD8 4E 80 00 20 */ blr
+lbl_802C937C:
+/* 802C937C 002C4FDC 99 05 00 08 */ stb r8, 8(r5)
+/* 802C9380 002C4FE0 A0 C4 00 00 */ lhz r6, 0(r4)
+/* 802C9384 002C4FE4 A0 03 00 00 */ lhz r0, 0(r3)
+/* 802C9388 002C4FE8 7C 00 30 40 */ cmplw r0, r6
+/* 802C938C 002C4FEC 40 80 00 08 */ bge lbl_802C9394
+/* 802C9390 002C4FF0 7C 06 03 78 */ mr r6, r0
+lbl_802C9394:
+/* 802C9394 002C4FF4 B0 C5 00 00 */ sth r6, 0(r5)
+/* 802C9398 002C4FF8 A0 E4 00 02 */ lhz r7, 2(r4)
+/* 802C939C 002C4FFC A0 03 00 02 */ lhz r0, 2(r3)
+/* 802C93A0 002C5000 7C 00 38 40 */ cmplw r0, r7
+/* 802C93A4 002C5004 40 81 00 08 */ ble lbl_802C93AC
+/* 802C93A8 002C5008 7C 07 03 78 */ mr r7, r0
+lbl_802C93AC:
+/* 802C93AC 002C500C A0 C5 00 00 */ lhz r6, 0(r5)
+/* 802C93B0 002C5010 54 E0 04 3E */ clrlwi r0, r7, 0x10
+/* 802C93B4 002C5014 B0 E5 00 02 */ sth r7, 2(r5)
+/* 802C93B8 002C5018 7C 06 00 40 */ cmplw r6, r0
+/* 802C93BC 002C501C 40 80 00 0C */ bge lbl_802C93C8
+/* 802C93C0 002C5020 38 60 00 00 */ li r3, 0
+/* 802C93C4 002C5024 4E 80 00 20 */ blr
+lbl_802C93C8:
+/* 802C93C8 002C5028 88 05 00 08 */ lbz r0, 8(r5)
+/* 802C93CC 002C502C 28 00 00 02 */ cmplwi r0, 2
+/* 802C93D0 002C5030 40 82 00 34 */ bne lbl_802C9404
+/* 802C93D4 002C5034 A0 C4 00 04 */ lhz r6, 4(r4)
+/* 802C93D8 002C5038 A0 03 00 04 */ lhz r0, 4(r3)
+/* 802C93DC 002C503C 7C 00 30 40 */ cmplw r0, r6
+/* 802C93E0 002C5040 40 81 00 08 */ ble lbl_802C93E8
+/* 802C93E4 002C5044 7C 06 03 78 */ mr r6, r0
+lbl_802C93E8:
+/* 802C93E8 002C5048 B0 C5 00 04 */ sth r6, 4(r5)
+/* 802C93EC 002C504C A0 84 00 06 */ lhz r4, 6(r4)
+/* 802C93F0 002C5050 A0 03 00 06 */ lhz r0, 6(r3)
+/* 802C93F4 002C5054 7C 00 20 40 */ cmplw r0, r4
+/* 802C93F8 002C5058 40 81 00 08 */ ble lbl_802C9400
+/* 802C93FC 002C505C 7C 04 03 78 */ mr r4, r0
+lbl_802C9400:
+/* 802C9400 002C5060 B0 85 00 06 */ sth r4, 6(r5)
+lbl_802C9404:
+/* 802C9404 002C5064 7C A3 2B 78 */ mr r3, r5
+/* 802C9408 002C5068 4E 80 00 20 */ blr
+lbl_802C940C:
+/* 802C940C 002C506C 38 60 00 00 */ li r3, 0
+/* 802C9410 002C5070 4E 80 00 20 */ blr
+
+.global btm_pm_get_set_mode
+btm_pm_get_set_mode:
+/* 802C9414 002C5074 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C9418 002C5078 7C 08 02 A6 */ mflr r0
+/* 802C941C 002C507C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C9420 002C5080 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C9424 002C5084 4B EF DD 01 */ bl _savegpr_26
+/* 802C9428 002C5088 2C 05 00 00 */ cmpwi r5, 0
+/* 802C942C 002C508C 7C 7A 1B 78 */ mr r26, r3
+/* 802C9430 002C5090 7C BB 2B 78 */ mr r27, r5
+/* 802C9434 002C5094 7C DC 33 78 */ mr r28, r6
+/* 802C9438 002C5098 38 E0 00 00 */ li r7, 0
+/* 802C943C 002C509C 41 82 00 48 */ beq lbl_802C9484
+/* 802C9440 002C50A0 88 05 00 08 */ lbz r0, 8(r5)
+/* 802C9444 002C50A4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 802C9448 002C50A8 41 82 00 3C */ beq lbl_802C9484
+/* 802C944C 002C50AC A0 65 00 00 */ lhz r3, 0(r5)
+/* 802C9450 002C50B0 A0 05 00 02 */ lhz r0, 2(r5)
+/* 802C9454 002C50B4 B0 66 00 00 */ sth r3, 0(r6)
+/* 802C9458 002C50B8 B0 06 00 02 */ sth r0, 2(r6)
+/* 802C945C 002C50BC A0 65 00 04 */ lhz r3, 4(r5)
+/* 802C9460 002C50C0 A0 05 00 06 */ lhz r0, 6(r5)
+/* 802C9464 002C50C4 B0 66 00 04 */ sth r3, 4(r6)
+/* 802C9468 002C50C8 B0 06 00 06 */ sth r0, 6(r6)
+/* 802C946C 002C50CC A0 05 00 08 */ lhz r0, 8(r5)
+/* 802C9470 002C50D0 B0 06 00 08 */ sth r0, 8(r6)
+/* 802C9474 002C50D4 88 06 00 08 */ lbz r0, 8(r6)
+/* 802C9478 002C50D8 54 03 07 34 */ rlwinm r3, r0, 0, 0x1c, 0x1a
+/* 802C947C 002C50DC 98 66 00 08 */ stb r3, 8(r6)
+/* 802C9480 002C50E0 48 00 00 DC */ b lbl_802C955C
+lbl_802C9484:
+/* 802C9484 002C50E4 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802C9488 002C50E8 7C 9E 23 78 */ mr r30, r4
+/* 802C948C 002C50EC 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802C9490 002C50F0 3B A0 00 00 */ li r29, 0
+lbl_802C9494:
+/* 802C9494 002C50F4 88 1F 05 58 */ lbz r0, 0x558(r31)
+/* 802C9498 002C50F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802C949C 002C50FC 41 82 00 3C */ beq lbl_802C94D8
+/* 802C94A0 002C5100 88 1E 00 08 */ lbz r0, 8(r30)
+/* 802C94A4 002C5104 2C 00 00 00 */ cmpwi r0, 0
+/* 802C94A8 002C5108 40 82 00 0C */ bne lbl_802C94B4
+/* 802C94AC 002C510C 38 60 00 00 */ li r3, 0
+/* 802C94B0 002C5110 48 00 00 AC */ b lbl_802C955C
+lbl_802C94B4:
+/* 802C94B4 002C5114 7C E3 3B 78 */ mr r3, r7
+/* 802C94B8 002C5118 7F C4 F3 78 */ mr r4, r30
+/* 802C94BC 002C511C 7F 85 E3 78 */ mr r5, r28
+/* 802C94C0 002C5120 4B FF FD 39 */ bl btm_pm_compare_modes
+/* 802C94C4 002C5124 2C 03 00 00 */ cmpwi r3, 0
+/* 802C94C8 002C5128 40 82 00 0C */ bne lbl_802C94D4
+/* 802C94CC 002C512C 38 60 00 00 */ li r3, 0
+/* 802C94D0 002C5130 48 00 00 8C */ b lbl_802C955C
+lbl_802C94D4:
+/* 802C94D4 002C5134 7F 87 E3 78 */ mr r7, r28
+lbl_802C94D8:
+/* 802C94D8 002C5138 3B BD 00 01 */ addi r29, r29, 1
+/* 802C94DC 002C513C 3B DE 00 0A */ addi r30, r30, 0xa
+/* 802C94E0 002C5140 2C 1D 00 02 */ cmpwi r29, 2
+/* 802C94E4 002C5144 3B FF 00 08 */ addi r31, r31, 8
+/* 802C94E8 002C5148 41 80 FF AC */ blt lbl_802C9494
+/* 802C94EC 002C514C 2C 07 00 00 */ cmpwi r7, 0
+/* 802C94F0 002C5150 40 82 00 40 */ bne lbl_802C9530
+/* 802C94F4 002C5154 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C94F8 002C5158 41 82 00 30 */ beq lbl_802C9528
+/* 802C94FC 002C515C A0 7B 00 00 */ lhz r3, 0(r27)
+/* 802C9500 002C5160 A0 1B 00 02 */ lhz r0, 2(r27)
+/* 802C9504 002C5164 B0 7C 00 00 */ sth r3, 0(r28)
+/* 802C9508 002C5168 B0 1C 00 02 */ sth r0, 2(r28)
+/* 802C950C 002C516C A0 7B 00 04 */ lhz r3, 4(r27)
+/* 802C9510 002C5170 A0 1B 00 06 */ lhz r0, 6(r27)
+/* 802C9514 002C5174 B0 7C 00 04 */ sth r3, 4(r28)
+/* 802C9518 002C5178 B0 1C 00 06 */ sth r0, 6(r28)
+/* 802C951C 002C517C A0 1B 00 08 */ lhz r0, 8(r27)
+/* 802C9520 002C5180 B0 1C 00 08 */ sth r0, 8(r28)
+/* 802C9524 002C5184 48 00 00 34 */ b lbl_802C9558
+lbl_802C9528:
+/* 802C9528 002C5188 38 60 00 00 */ li r3, 0
+/* 802C952C 002C518C 48 00 00 30 */ b lbl_802C955C
+lbl_802C9530:
+/* 802C9530 002C5190 28 1A 00 80 */ cmplwi r26, 0x80
+/* 802C9534 002C5194 40 82 00 24 */ bne lbl_802C9558
+/* 802C9538 002C5198 7F 63 DB 78 */ mr r3, r27
+/* 802C953C 002C519C 7C E4 3B 78 */ mr r4, r7
+/* 802C9540 002C51A0 7F 85 E3 78 */ mr r5, r28
+/* 802C9544 002C51A4 4B FF FC B5 */ bl btm_pm_compare_modes
+/* 802C9548 002C51A8 2C 03 00 00 */ cmpwi r3, 0
+/* 802C954C 002C51AC 40 82 00 0C */ bne lbl_802C9558
+/* 802C9550 002C51B0 38 60 00 00 */ li r3, 0
+/* 802C9554 002C51B4 48 00 00 08 */ b lbl_802C955C
+lbl_802C9558:
+/* 802C9558 002C51B8 88 7C 00 08 */ lbz r3, 8(r28)
+lbl_802C955C:
+/* 802C955C 002C51BC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C9560 002C51C0 4B EF DC 11 */ bl _restgpr_26
+/* 802C9564 002C51C4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C9568 002C51C8 7C 08 03 A6 */ mtlr r0
+/* 802C956C 002C51CC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C9570 002C51D0 4E 80 00 20 */ blr
+
+.global btm_pm_snd_md_req
+btm_pm_snd_md_req:
+/* 802C9574 002C51D4 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C9578 002C51D8 7C 08 02 A6 */ mflr r0
+/* 802C957C 002C51DC 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C9580 002C51E0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C9584 002C51E4 1C 04 00 22 */ mulli r0, r4, 0x22
+/* 802C9588 002C51E8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C958C 002C51EC 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 802C9590 002C51F0 3B E0 00 00 */ li r31, 0
+/* 802C9594 002C51F4 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 802C9598 002C51F8 7C 9E 23 78 */ mr r30, r4
+/* 802C959C 002C51FC 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 802C95A0 002C5200 7C 7D 1B 78 */ mr r29, r3
+/* 802C95A4 002C5204 7C 66 02 14 */ add r3, r6, r0
+/* 802C95A8 002C5208 38 C1 00 08 */ addi r6, r1, 8
+/* 802C95AC 002C520C 93 81 00 20 */ stw r28, 0x20(r1)
+/* 802C95B0 002C5210 3B 83 04 CC */ addi r28, r3, 0x4cc
+/* 802C95B4 002C5214 7F A3 EB 78 */ mr r3, r29
+/* 802C95B8 002C5218 7F 84 E3 78 */ mr r4, r28
+/* 802C95BC 002C521C 4B FF FE 59 */ bl btm_pm_get_set_mode
+/* 802C95C0 002C5220 88 9C 00 20 */ lbz r4, 0x20(r28)
+/* 802C95C4 002C5224 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802C95C8 002C5228 98 61 00 10 */ stb r3, 0x10(r1)
+/* 802C95CC 002C522C 7C 04 00 40 */ cmplw r4, r0
+/* 802C95D0 002C5230 40 82 00 34 */ bne lbl_802C9604
+/* 802C95D4 002C5234 2C 00 00 00 */ cmpwi r0, 0
+/* 802C95D8 002C5238 41 82 00 20 */ beq lbl_802C95F8
+/* 802C95DC 002C523C A0 9C 00 1E */ lhz r4, 0x1e(r28)
+/* 802C95E0 002C5240 A0 01 00 08 */ lhz r0, 8(r1)
+/* 802C95E4 002C5244 7C 00 20 40 */ cmplw r0, r4
+/* 802C95E8 002C5248 41 80 00 18 */ blt lbl_802C9600
+/* 802C95EC 002C524C A0 01 00 0A */ lhz r0, 0xa(r1)
+/* 802C95F0 002C5250 7C 00 20 40 */ cmplw r0, r4
+/* 802C95F4 002C5254 41 81 00 0C */ bgt lbl_802C9600
+lbl_802C95F8:
+/* 802C95F8 002C5258 38 60 00 0D */ li r3, 0xd
+/* 802C95FC 002C525C 48 00 01 8C */ b lbl_802C9788
+lbl_802C9600:
+/* 802C9600 002C5260 3B E0 00 01 */ li r31, 1
+lbl_802C9604:
+/* 802C9604 002C5264 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C9608 002C5268 9B FC 00 21 */ stb r31, 0x21(r28)
+/* 802C960C 002C526C 41 82 00 18 */ beq lbl_802C9624
+/* 802C9610 002C5270 88 1C 00 20 */ lbz r0, 0x20(r28)
+/* 802C9614 002C5274 2C 00 00 00 */ cmpwi r0, 0
+/* 802C9618 002C5278 41 82 00 0C */ beq lbl_802C9624
+/* 802C961C 002C527C 38 00 00 01 */ li r0, 1
+/* 802C9620 002C5280 98 1C 00 21 */ stb r0, 0x21(r28)
+lbl_802C9624:
+/* 802C9624 002C5284 38 60 00 02 */ li r3, 2
+/* 802C9628 002C5288 4B FF 06 25 */ bl GKI_getpoolbuf
+/* 802C962C 002C528C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C9630 002C5290 7C 7F 1B 78 */ mr r31, r3
+/* 802C9634 002C5294 40 82 00 0C */ bne lbl_802C9640
+/* 802C9638 002C5298 38 60 00 03 */ li r3, 3
+/* 802C963C 002C529C 48 00 01 4C */ b lbl_802C9788
+lbl_802C9640:
+/* 802C9640 002C52A0 88 1C 00 21 */ lbz r0, 0x21(r28)
+/* 802C9644 002C52A4 28 00 00 01 */ cmplwi r0, 1
+/* 802C9648 002C52A8 40 82 00 0C */ bne lbl_802C9654
+/* 802C964C 002C52AC 38 00 00 00 */ li r0, 0
+/* 802C9650 002C52B0 98 01 00 10 */ stb r0, 0x10(r1)
+lbl_802C9654:
+/* 802C9654 002C52B4 88 01 00 10 */ lbz r0, 0x10(r1)
+/* 802C9658 002C52B8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C965C 002C52BC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C9660 002C52C0 2C 00 00 02 */ cmpwi r0, 2
+/* 802C9664 002C52C4 9B C4 05 64 */ stb r30, 0x564(r4)
+/* 802C9668 002C52C8 9B A4 05 65 */ stb r29, 0x565(r4)
+/* 802C966C 002C52CC 41 82 00 A4 */ beq lbl_802C9710
+/* 802C9670 002C52D0 40 80 00 14 */ bge lbl_802C9684
+/* 802C9674 002C52D4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C9678 002C52D8 41 82 00 18 */ beq lbl_802C9690
+/* 802C967C 002C52DC 40 80 00 74 */ bge lbl_802C96F0
+/* 802C9680 002C52E0 48 00 00 D8 */ b lbl_802C9758
+lbl_802C9684:
+/* 802C9684 002C52E4 2C 00 00 04 */ cmpwi r0, 4
+/* 802C9688 002C52E8 40 80 00 D0 */ bge lbl_802C9758
+/* 802C968C 002C52EC 48 00 00 AC */ b lbl_802C9738
+lbl_802C9690:
+/* 802C9690 002C52F0 88 1C 00 20 */ lbz r0, 0x20(r28)
+/* 802C9694 002C52F4 2C 00 00 03 */ cmpwi r0, 3
+/* 802C9698 002C52F8 41 82 00 2C */ beq lbl_802C96C4
+/* 802C969C 002C52FC 40 80 00 40 */ bge lbl_802C96DC
+/* 802C96A0 002C5300 2C 00 00 02 */ cmpwi r0, 2
+/* 802C96A4 002C5304 40 80 00 08 */ bge lbl_802C96AC
+/* 802C96A8 002C5308 48 00 00 34 */ b lbl_802C96DC
+lbl_802C96AC:
+/* 802C96AC 002C530C 1C 1E 01 1C */ mulli r0, r30, 0x11c
+/* 802C96B0 002C5310 7F E3 FB 78 */ mr r3, r31
+/* 802C96B4 002C5314 7C 84 02 14 */ add r4, r4, r0
+/* 802C96B8 002C5318 A0 84 00 34 */ lhz r4, 0x34(r4)
+/* 802C96BC 002C531C 48 00 78 B1 */ bl func_802D0F6C
+/* 802C96C0 002C5320 48 00 00 A8 */ b lbl_802C9768
+lbl_802C96C4:
+/* 802C96C4 002C5324 1C 1E 01 1C */ mulli r0, r30, 0x11c
+/* 802C96C8 002C5328 7F E3 FB 78 */ mr r3, r31
+/* 802C96CC 002C532C 7C 84 02 14 */ add r4, r4, r0
+/* 802C96D0 002C5330 A0 84 00 34 */ lhz r4, 0x34(r4)
+/* 802C96D4 002C5334 48 00 79 D1 */ bl func_802D10A4
+/* 802C96D8 002C5338 48 00 00 90 */ b lbl_802C9768
+lbl_802C96DC:
+/* 802C96DC 002C533C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C96E0 002C5340 38 00 00 04 */ li r0, 4
+/* 802C96E4 002C5344 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C96E8 002C5348 98 03 05 64 */ stb r0, 0x564(r3)
+/* 802C96EC 002C534C 48 00 00 7C */ b lbl_802C9768
+lbl_802C96F0:
+/* 802C96F0 002C5350 1C 1E 01 1C */ mulli r0, r30, 0x11c
+/* 802C96F4 002C5354 A0 A1 00 08 */ lhz r5, 8(r1)
+/* 802C96F8 002C5358 A0 C1 00 0A */ lhz r6, 0xa(r1)
+/* 802C96FC 002C535C 7F E3 FB 78 */ mr r3, r31
+/* 802C9700 002C5360 7C 84 02 14 */ add r4, r4, r0
+/* 802C9704 002C5364 A0 84 00 34 */ lhz r4, 0x34(r4)
+/* 802C9708 002C5368 48 00 76 E5 */ bl func_802D0DEC
+/* 802C970C 002C536C 48 00 00 5C */ b lbl_802C9768
+lbl_802C9710:
+/* 802C9710 002C5370 1C 1E 01 1C */ mulli r0, r30, 0x11c
+/* 802C9714 002C5374 A0 A1 00 08 */ lhz r5, 8(r1)
+/* 802C9718 002C5378 A0 C1 00 0A */ lhz r6, 0xa(r1)
+/* 802C971C 002C537C 7F E3 FB 78 */ mr r3, r31
+/* 802C9720 002C5380 A0 E1 00 0C */ lhz r7, 0xc(r1)
+/* 802C9724 002C5384 7C 84 02 14 */ add r4, r4, r0
+/* 802C9728 002C5388 A0 84 00 34 */ lhz r4, 0x34(r4)
+/* 802C972C 002C538C A1 01 00 0E */ lhz r8, 0xe(r1)
+/* 802C9730 002C5390 48 00 77 71 */ bl func_802D0EA0
+/* 802C9734 002C5394 48 00 00 34 */ b lbl_802C9768
+lbl_802C9738:
+/* 802C9738 002C5398 1C 1E 01 1C */ mulli r0, r30, 0x11c
+/* 802C973C 002C539C A0 A1 00 08 */ lhz r5, 8(r1)
+/* 802C9740 002C53A0 A0 C1 00 0A */ lhz r6, 0xa(r1)
+/* 802C9744 002C53A4 7F E3 FB 78 */ mr r3, r31
+/* 802C9748 002C53A8 7C 84 02 14 */ add r4, r4, r0
+/* 802C974C 002C53AC A0 84 00 34 */ lhz r4, 0x34(r4)
+/* 802C9750 002C53B0 48 00 78 A1 */ bl func_802D0FF0
+/* 802C9754 002C53B4 48 00 00 14 */ b lbl_802C9768
+lbl_802C9758:
+/* 802C9758 002C53B8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C975C 002C53BC 38 00 00 04 */ li r0, 4
+/* 802C9760 002C53C0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9764 002C53C4 98 03 05 64 */ stb r0, 0x564(r3)
+lbl_802C9768:
+/* 802C9768 002C53C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C976C 002C53CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9770 002C53D0 88 03 05 64 */ lbz r0, 0x564(r3)
+/* 802C9774 002C53D4 28 00 00 04 */ cmplwi r0, 4
+/* 802C9778 002C53D8 40 82 00 0C */ bne lbl_802C9784
+/* 802C977C 002C53DC 7F E3 FB 78 */ mr r3, r31
+/* 802C9780 002C53E0 4B FF 05 B5 */ bl GKI_freebuf
+lbl_802C9784:
+/* 802C9784 002C53E4 38 60 00 01 */ li r3, 1
+lbl_802C9788:
+/* 802C9788 002C53E8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C978C 002C53EC 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 802C9790 002C53F0 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 802C9794 002C53F4 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 802C9798 002C53F8 83 81 00 20 */ lwz r28, 0x20(r1)
+/* 802C979C 002C53FC 7C 08 03 A6 */ mtlr r0
+/* 802C97A0 002C5400 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C97A4 002C5404 4E 80 00 20 */ blr
+
+.global btm_pm_proc_cmd_status
+btm_pm_proc_cmd_status:
+/* 802C97A8 002C5408 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802C97AC 002C540C 7C 08 02 A6 */ mflr r0
+/* 802C97B0 002C5410 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C97B4 002C5414 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802C97B8 002C5418 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C97BC 002C541C 88 04 05 64 */ lbz r0, 0x564(r4)
+/* 802C97C0 002C5420 28 00 00 04 */ cmplwi r0, 4
+/* 802C97C4 002C5424 40 80 00 84 */ bge lbl_802C9848
+/* 802C97C8 002C5428 1C 00 00 22 */ mulli r0, r0, 0x22
+/* 802C97CC 002C542C 2C 03 00 00 */ cmpwi r3, 0
+/* 802C97D0 002C5430 7C A4 02 14 */ add r5, r4, r0
+/* 802C97D4 002C5434 40 82 00 14 */ bne lbl_802C97E8
+/* 802C97D8 002C5438 38 00 00 04 */ li r0, 4
+/* 802C97DC 002C543C 38 80 00 04 */ li r4, 4
+/* 802C97E0 002C5440 98 05 04 EC */ stb r0, 0x4ec(r5)
+/* 802C97E4 002C5444 48 00 00 08 */ b lbl_802C97EC
+lbl_802C97E8:
+/* 802C97E8 002C5448 38 80 00 05 */ li r4, 5
+lbl_802C97EC:
+/* 802C97EC 002C544C 3C E0 80 57 */ lis r7, lbl_80568B78@ha
+/* 802C97F0 002C5450 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l
+/* 802C97F4 002C5454 88 07 05 65 */ lbz r0, 0x565(r7)
+/* 802C97F8 002C5458 28 00 00 80 */ cmplwi r0, 0x80
+/* 802C97FC 002C545C 41 82 00 3C */ beq lbl_802C9838
+/* 802C9800 002C5460 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c
+/* 802C9804 002C5464 7C A7 02 14 */ add r5, r7, r0
+/* 802C9808 002C5468 88 05 05 58 */ lbz r0, 0x558(r5)
+/* 802C980C 002C546C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802C9810 002C5470 41 82 00 28 */ beq lbl_802C9838
+/* 802C9814 002C5474 88 07 05 64 */ lbz r0, 0x564(r7)
+/* 802C9818 002C5478 7C 66 1B 78 */ mr r6, r3
+/* 802C981C 002C547C 81 85 05 54 */ lwz r12, 0x554(r5)
+/* 802C9820 002C5480 38 A0 00 00 */ li r5, 0
+/* 802C9824 002C5484 1C 00 01 1C */ mulli r0, r0, 0x11c
+/* 802C9828 002C5488 7C 67 02 14 */ add r3, r7, r0
+/* 802C982C 002C548C 38 63 00 3C */ addi r3, r3, 0x3c
+/* 802C9830 002C5490 7D 89 03 A6 */ mtctr r12
+/* 802C9834 002C5494 4E 80 04 21 */ bctrl
+lbl_802C9838:
+/* 802C9838 002C5498 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C983C 002C549C 38 00 00 04 */ li r0, 4
+/* 802C9840 002C54A0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9844 002C54A4 98 03 05 64 */ stb r0, 0x564(r3)
+lbl_802C9848:
+/* 802C9848 002C54A8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C984C 002C54AC 7C 08 03 A6 */ mtlr r0
+/* 802C9850 002C54B0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C9854 002C54B4 4E 80 00 20 */ blr
+
+.global btm_pm_proc_mode_change
+btm_pm_proc_mode_change:
+/* 802C9858 002C54B8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C985C 002C54BC 7C 08 02 A6 */ mflr r0
+/* 802C9860 002C54C0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C9864 002C54C4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C9868 002C54C8 4B EF D8 B5 */ bl _savegpr_24
+/* 802C986C 002C54CC 7C 9A 23 78 */ mr r26, r4
+/* 802C9870 002C54D0 7C 79 1B 78 */ mr r25, r3
+/* 802C9874 002C54D4 7C BB 2B 78 */ mr r27, r5
+/* 802C9878 002C54D8 7C DC 33 78 */ mr r28, r6
+/* 802C987C 002C54DC 7F 43 D3 78 */ mr r3, r26
+/* 802C9880 002C54E0 4B FF 9B C9 */ bl btm_handle_to_acl_index
+/* 802C9884 002C54E4 54 7D 06 3E */ clrlwi r29, r3, 0x18
+/* 802C9888 002C54E8 2C 1D 00 04 */ cmpwi r29, 4
+/* 802C988C 002C54EC 40 80 01 DC */ bge lbl_802C9A68
+/* 802C9890 002C54F0 1F DD 01 1C */ mulli r30, r29, 0x11c
+/* 802C9894 002C54F4 3F 00 80 57 */ lis r24, lbl_80568B78@ha
+/* 802C9898 002C54F8 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C989C 002C54FC 3B 18 8B 78 */ addi r24, r24, lbl_80568B78@l
+/* 802C98A0 002C5500 7F F8 F2 14 */ add r31, r24, r30
+/* 802C98A4 002C5504 40 82 00 58 */ bne lbl_802C98FC
+/* 802C98A8 002C5508 A0 1F 00 38 */ lhz r0, 0x38(r31)
+/* 802C98AC 002C550C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C98B0 002C5510 41 82 00 4C */ beq lbl_802C98FC
+/* 802C98B4 002C5514 48 00 0F 1D */ bl btm_num_sco_links_active
+/* 802C98B8 002C5518 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C98BC 002C551C 40 82 00 40 */ bne lbl_802C98FC
+/* 802C98C0 002C5520 38 00 00 00 */ li r0, 0
+/* 802C98C4 002C5524 B0 1F 00 38 */ sth r0, 0x38(r31)
+/* 802C98C8 002C5528 88 18 27 C0 */ lbz r0, 0x27c0(r24)
+/* 802C98CC 002C552C 28 00 00 05 */ cmplwi r0, 5
+/* 802C98D0 002C5530 41 80 00 20 */ blt lbl_802C98F0
+/* 802C98D4 002C5534 3C 60 00 0D */ lis r3, 0x000D0004@ha
+/* 802C98D8 002C5538 3C 80 80 44 */ lis r4, lbl_80441550@ha
+/* 802C98DC 002C553C A0 DF 00 36 */ lhz r6, 0x36(r31)
+/* 802C98E0 002C5540 7F 45 D3 78 */ mr r5, r26
+/* 802C98E4 002C5544 38 63 00 04 */ addi r3, r3, 0x000D0004@l
+/* 802C98E8 002C5548 38 84 15 50 */ addi r4, r4, lbl_80441550@l
+/* 802C98EC 002C554C 4B FF 36 55 */ bl LogMsg_2
+lbl_802C98F0:
+/* 802C98F0 002C5550 A0 7F 00 34 */ lhz r3, 0x34(r31)
+/* 802C98F4 002C5554 A0 9F 00 36 */ lhz r4, 0x36(r31)
+/* 802C98F8 002C5558 48 00 6E 2D */ bl func_802D0724
+lbl_802C98FC:
+/* 802C98FC 002C555C 1C 1D 00 22 */ mulli r0, r29, 0x22
+/* 802C9900 002C5560 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9904 002C5564 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C9908 002C5568 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C990C 002C556C 7C 83 02 14 */ add r4, r3, r0
+/* 802C9910 002C5570 9B 64 04 EC */ stb r27, 0x4ec(r4)
+/* 802C9914 002C5574 38 00 00 00 */ li r0, 0
+/* 802C9918 002C5578 B3 84 04 EA */ sth r28, 0x4ea(r4)
+/* 802C991C 002C557C 40 82 00 14 */ bne lbl_802C9930
+/* 802C9920 002C5580 88 64 04 D4 */ lbz r3, 0x4d4(r4)
+/* 802C9924 002C5584 28 03 00 01 */ cmplwi r3, 1
+/* 802C9928 002C5588 40 82 00 08 */ bne lbl_802C9930
+/* 802C992C 002C558C 98 04 04 D4 */ stb r0, 0x4d4(r4)
+lbl_802C9930:
+/* 802C9930 002C5590 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C9934 002C5594 38 A4 04 D6 */ addi r5, r4, 0x4d6
+/* 802C9938 002C5598 40 82 00 14 */ bne lbl_802C994C
+/* 802C993C 002C559C 88 65 00 08 */ lbz r3, 8(r5)
+/* 802C9940 002C55A0 28 03 00 01 */ cmplwi r3, 1
+/* 802C9944 002C55A4 40 82 00 08 */ bne lbl_802C994C
+/* 802C9948 002C55A8 98 05 00 08 */ stb r0, 8(r5)
+lbl_802C994C:
+/* 802C994C 002C55AC 88 04 04 ED */ lbz r0, 0x4ed(r4)
+/* 802C9950 002C55B0 28 00 00 01 */ cmplwi r0, 1
+/* 802C9954 002C55B4 40 82 00 14 */ bne lbl_802C9968
+/* 802C9958 002C55B8 7F A4 EB 78 */ mr r4, r29
+/* 802C995C 002C55BC 38 60 00 80 */ li r3, 0x80
+/* 802C9960 002C55C0 38 A0 00 00 */ li r5, 0
+/* 802C9964 002C55C4 4B FF FC 11 */ bl btm_pm_snd_md_req
+lbl_802C9968:
+/* 802C9968 002C55C8 3F 00 80 57 */ lis r24, lbl_80568B78@ha
+/* 802C996C 002C55CC 3B A0 00 00 */ li r29, 0
+/* 802C9970 002C55D0 3B 18 8B 78 */ addi r24, r24, lbl_80568B78@l
+lbl_802C9974:
+/* 802C9974 002C55D4 88 18 05 58 */ lbz r0, 0x558(r24)
+/* 802C9978 002C55D8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802C997C 002C55DC 41 82 00 20 */ beq lbl_802C999C
+/* 802C9980 002C55E0 81 98 05 54 */ lwz r12, 0x554(r24)
+/* 802C9984 002C55E4 7F 64 DB 78 */ mr r4, r27
+/* 802C9988 002C55E8 7F 85 E3 78 */ mr r5, r28
+/* 802C998C 002C55EC 7F 26 CB 78 */ mr r6, r25
+/* 802C9990 002C55F0 38 7F 00 3C */ addi r3, r31, 0x3c
+/* 802C9994 002C55F4 7D 89 03 A6 */ mtctr r12
+/* 802C9998 002C55F8 4E 80 04 21 */ bctrl
+lbl_802C999C:
+/* 802C999C 002C55FC 3B BD 00 01 */ addi r29, r29, 1
+/* 802C99A0 002C5600 3B 18 00 08 */ addi r24, r24, 8
+/* 802C99A4 002C5604 2C 1D 00 02 */ cmpwi r29, 2
+/* 802C99A8 002C5608 41 80 FF CC */ blt lbl_802C9974
+/* 802C99AC 002C560C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C99B0 002C5610 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C99B4 002C5614 7F 83 F2 14 */ add r28, r3, r30
+/* 802C99B8 002C5618 88 1C 01 4F */ lbz r0, 0x14f(r28)
+/* 802C99BC 002C561C 28 00 00 01 */ cmplwi r0, 1
+/* 802C99C0 002C5620 40 82 00 A8 */ bne lbl_802C9A68
+/* 802C99C4 002C5624 3B 1C 00 3C */ addi r24, r28, 0x3c
+/* 802C99C8 002C5628 7F 03 C3 78 */ mr r3, r24
+/* 802C99CC 002C562C 4B FF BC 51 */ bl btm_find_dev
+/* 802C99D0 002C5630 2C 03 00 00 */ cmpwi r3, 0
+/* 802C99D4 002C5634 41 82 00 30 */ beq lbl_802C9A04
+/* 802C99D8 002C5638 88 03 00 76 */ lbz r0, 0x76(r3)
+/* 802C99DC 002C563C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802C99E0 002C5640 41 82 00 24 */ beq lbl_802C9A04
+/* 802C99E4 002C5644 7F 43 D3 78 */ mr r3, r26
+/* 802C99E8 002C5648 38 80 00 00 */ li r4, 0
+/* 802C99EC 002C564C 48 00 6E 45 */ bl func_802D0830
+/* 802C99F0 002C5650 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C99F4 002C5654 41 82 00 44 */ beq lbl_802C9A38
+/* 802C99F8 002C5658 38 00 00 02 */ li r0, 2
+/* 802C99FC 002C565C 98 1C 01 4F */ stb r0, 0x14f(r28)
+/* 802C9A00 002C5660 48 00 00 68 */ b lbl_802C9A68
+lbl_802C9A04:
+/* 802C9A04 002C5664 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C9A08 002C5668 7F 03 C3 78 */ mr r3, r24
+/* 802C9A0C 002C566C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C9A10 002C5670 7C 84 F2 14 */ add r4, r4, r30
+/* 802C9A14 002C5674 88 04 01 4E */ lbz r0, 0x14e(r4)
+/* 802C9A18 002C5678 7C 00 00 34 */ cntlzw r0, r0
+/* 802C9A1C 002C567C 54 04 DE 3E */ rlwinm r4, r0, 0x1b, 0x18, 0x1f
+/* 802C9A20 002C5680 48 00 77 09 */ bl func_802D1128
+/* 802C9A24 002C5684 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C9A28 002C5688 41 82 00 10 */ beq lbl_802C9A38
+/* 802C9A2C 002C568C 38 00 00 00 */ li r0, 0
+/* 802C9A30 002C5690 98 1C 01 4F */ stb r0, 0x14f(r28)
+/* 802C9A34 002C5694 48 00 00 34 */ b lbl_802C9A68
+lbl_802C9A38:
+/* 802C9A38 002C5698 3B 60 00 00 */ li r27, 0
+/* 802C9A3C 002C569C 3F 40 80 57 */ lis r26, lbl_80568B78@ha
+/* 802C9A40 002C56A0 9B 7C 01 4F */ stb r27, 0x14f(r28)
+/* 802C9A44 002C56A4 3B 5A 8B 78 */ addi r26, r26, lbl_80568B78@l
+/* 802C9A48 002C56A8 81 9A 06 2C */ lwz r12, 0x62c(r26)
+/* 802C9A4C 002C56AC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802C9A50 002C56B0 41 82 00 18 */ beq lbl_802C9A68
+/* 802C9A54 002C56B4 9B 3A 06 24 */ stb r25, 0x624(r26)
+/* 802C9A58 002C56B8 38 7A 06 24 */ addi r3, r26, 0x624
+/* 802C9A5C 002C56BC 7D 89 03 A6 */ mtctr r12
+/* 802C9A60 002C56C0 4E 80 04 21 */ bctrl
+/* 802C9A64 002C56C4 93 7A 06 2C */ stw r27, 0x62c(r26)
+lbl_802C9A68:
+/* 802C9A68 002C56C8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C9A6C 002C56CC 4B EF D6 FD */ bl _restgpr_24
+/* 802C9A70 002C56D0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802C9A74 002C56D4 7C 08 03 A6 */ mtlr r0
+/* 802C9A78 002C56D8 38 21 00 30 */ addi r1, r1, 0x30
+/* 802C9A7C 002C56DC 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btm_sco.s b/asm/SDK/BTE/btm_sco.s new file mode 100644 index 0000000..3fdba78 --- /dev/null +++ b/asm/SDK/BTE/btm_sco.s @@ -0,0 +1,1043 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global btm_sco_init
+btm_sco_init:
+/* 802C9A80 002C56E0 3C 60 80 40 */ lis r3, lbl_80400004@ha
+/* 802C9A84 002C56E4 84 C3 DD C8 */ lwzu r6, -0x2238(r3)
+/* 802C9A88 002C56E8 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
+/* 802C9A8C 002C56EC 3C E0 80 57 */ lis r7, lbl_80568B78@ha
+/* 802C9A90 002C56F0 39 04 FF FF */ addi r8, r4, 0x0000FFFF@l
+/* 802C9A94 002C56F4 80 A3 00 04 */ lwz r5, lbl_80400004@l(r3)
+/* 802C9A98 002C56F8 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l
+/* 802C9A9C 002C56FC 80 83 00 08 */ lwz r4, 8(r3)
+/* 802C9AA0 002C5700 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 802C9AA4 002C5704 38 00 00 02 */ li r0, 2
+/* 802C9AA8 002C5708 B1 07 18 F6 */ sth r8, 0x18f6(r7)
+/* 802C9AAC 002C570C 90 C7 18 F8 */ stw r6, 0x18f8(r7)
+/* 802C9AB0 002C5710 90 A7 18 FC */ stw r5, 0x18fc(r7)
+/* 802C9AB4 002C5714 90 87 19 00 */ stw r4, 0x1900(r7)
+/* 802C9AB8 002C5718 90 67 19 04 */ stw r3, 0x1904(r7)
+/* 802C9ABC 002C571C 98 07 19 09 */ stb r0, 0x1909(r7)
+/* 802C9AC0 002C5720 4E 80 00 20 */ blr
+
+.global btm_esco_conn_rsp
+btm_esco_conn_rsp:
+/* 802C9AC4 002C5724 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802C9AC8 002C5728 7C 08 02 A6 */ mflr r0
+/* 802C9ACC 002C572C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802C9AD0 002C5730 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C9AD4 002C5734 4B EF D6 51 */ bl _savegpr_26
+/* 802C9AD8 002C5738 7C 7A 1B 78 */ mr r26, r3
+/* 802C9ADC 002C573C 7C 9B 23 78 */ mr r27, r4
+/* 802C9AE0 002C5740 7C BD 2B 78 */ mr r29, r5
+/* 802C9AE4 002C5744 7C DC 33 78 */ mr r28, r6
+/* 802C9AE8 002C5748 3B E0 00 00 */ li r31, 0
+/* 802C9AEC 002C574C 38 60 00 02 */ li r3, 2
+/* 802C9AF0 002C5750 4B FF 01 5D */ bl GKI_getpoolbuf
+/* 802C9AF4 002C5754 2C 03 00 00 */ cmpwi r3, 0
+/* 802C9AF8 002C5758 7C 7E 1B 78 */ mr r30, r3
+/* 802C9AFC 002C575C 40 82 00 2C */ bne lbl_802C9B28
+/* 802C9B00 002C5760 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9B04 002C5764 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9B08 002C5768 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C9B0C 002C576C 28 00 00 01 */ cmplwi r0, 1
+/* 802C9B10 002C5770 41 80 01 78 */ blt lbl_802C9C88
+/* 802C9B14 002C5774 3C 80 80 44 */ lis r4, lbl_80441590@ha
+/* 802C9B18 002C5778 3C 60 00 0D */ lis r3, 0xd
+/* 802C9B1C 002C577C 38 84 15 90 */ addi r4, r4, lbl_80441590@l
+/* 802C9B20 002C5780 4B FF 33 F1 */ bl LogMsg_0
+/* 802C9B24 002C5784 48 00 01 64 */ b lbl_802C9C88
+lbl_802C9B28:
+/* 802C9B28 002C5788 28 1A 00 03 */ cmplwi r26, 3
+/* 802C9B2C 002C578C 40 80 00 18 */ bge lbl_802C9B44
+/* 802C9B30 002C5790 1C 1A 00 34 */ mulli r0, r26, 0x34
+/* 802C9B34 002C5794 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9B38 002C5798 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9B3C 002C579C 7C 63 02 14 */ add r3, r3, r0
+/* 802C9B40 002C57A0 3B E3 18 54 */ addi r31, r3, 0x1854
+lbl_802C9B44:
+/* 802C9B44 002C57A4 2C 1B 00 00 */ cmpwi r27, 0
+/* 802C9B48 002C57A8 41 82 00 5C */ beq lbl_802C9BA4
+/* 802C9B4C 002C57AC 2C 1F 00 00 */ cmpwi r31, 0
+/* 802C9B50 002C57B0 41 82 00 18 */ beq lbl_802C9B68
+/* 802C9B54 002C57B4 A0 7F 00 08 */ lhz r3, 8(r31)
+/* 802C9B58 002C57B8 38 03 FF FE */ addi r0, r3, -2
+/* 802C9B5C 002C57BC 7C 00 00 34 */ cntlzw r0, r0
+/* 802C9B60 002C57C0 54 00 DC 3E */ rlwinm r0, r0, 0x1b, 0x10, 0x1f
+/* 802C9B64 002C57C4 B0 1F 00 08 */ sth r0, 8(r31)
+lbl_802C9B68:
+/* 802C9B68 002C57C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9B6C 002C57CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9B70 002C57D0 88 03 19 08 */ lbz r0, 0x1908(r3)
+/* 802C9B74 002C57D4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C9B78 002C57D8 40 82 00 18 */ bne lbl_802C9B90
+/* 802C9B7C 002C57DC 7F C3 F3 78 */ mr r3, r30
+/* 802C9B80 002C57E0 7F A4 EB 78 */ mr r4, r29
+/* 802C9B84 002C57E4 7F 65 DB 78 */ mr r5, r27
+/* 802C9B88 002C57E8 48 00 66 7D */ bl func_802D0204
+/* 802C9B8C 002C57EC 48 00 00 FC */ b lbl_802C9C88
+lbl_802C9B90:
+/* 802C9B90 002C57F0 7F C3 F3 78 */ mr r3, r30
+/* 802C9B94 002C57F4 7F A4 EB 78 */ mr r4, r29
+/* 802C9B98 002C57F8 7F 65 DB 78 */ mr r5, r27
+/* 802C9B9C 002C57FC 48 00 71 F1 */ bl func_802D0D8C
+/* 802C9BA0 002C5800 48 00 00 E8 */ b lbl_802C9C88
+lbl_802C9BA4:
+/* 802C9BA4 002C5804 38 60 00 01 */ li r3, 1
+/* 802C9BA8 002C5808 4B FF B3 A9 */ bl btm_chg_all_acl_pkt_types
+/* 802C9BAC 002C580C 38 00 00 03 */ li r0, 3
+/* 802C9BB0 002C5810 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9BB4 002C5814 B0 1F 00 08 */ sth r0, 8(r31)
+/* 802C9BB8 002C5818 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9BBC 002C581C 88 03 19 08 */ lbz r0, 0x1908(r3)
+/* 802C9BC0 002C5820 2C 00 00 00 */ cmpwi r0, 0
+/* 802C9BC4 002C5824 41 82 00 B4 */ beq lbl_802C9C78
+/* 802C9BC8 002C5828 88 1F 00 2E */ lbz r0, 0x2e(r31)
+/* 802C9BCC 002C582C 28 00 00 02 */ cmplwi r0, 2
+/* 802C9BD0 002C5830 40 82 00 A8 */ bne lbl_802C9C78
+/* 802C9BD4 002C5834 2C 1C 00 00 */ cmpwi r28, 0
+/* 802C9BD8 002C5838 41 82 00 24 */ beq lbl_802C9BFC
+/* 802C9BDC 002C583C 80 7C 00 00 */ lwz r3, 0(r28)
+/* 802C9BE0 002C5840 80 1C 00 04 */ lwz r0, 4(r28)
+/* 802C9BE4 002C5844 90 7F 00 14 */ stw r3, 0x14(r31)
+/* 802C9BE8 002C5848 90 1F 00 18 */ stw r0, 0x18(r31)
+/* 802C9BEC 002C584C 80 7C 00 08 */ lwz r3, 8(r28)
+/* 802C9BF0 002C5850 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 802C9BF4 002C5854 90 7F 00 1C */ stw r3, 0x1c(r31)
+/* 802C9BF8 002C5858 90 1F 00 20 */ stw r0, 0x20(r31)
+lbl_802C9BFC:
+/* 802C9BFC 002C585C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9C00 002C5860 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9C04 002C5864 A0 83 19 04 */ lhz r4, 0x1904(r3)
+/* 802C9C08 002C5868 B0 9F 00 20 */ sth r4, 0x20(r31)
+/* 802C9C0C 002C586C A0 A3 06 56 */ lhz r5, 0x656(r3)
+/* 802C9C10 002C5870 7C 83 28 38 */ and r3, r4, r5
+/* 802C9C14 002C5874 54 60 06 B9 */ rlwinm. r0, r3, 0, 0x1a, 0x1c
+/* 802C9C18 002C5878 54 7C 06 BE */ clrlwi r28, r3, 0x1a
+/* 802C9C1C 002C587C 40 82 00 0C */ bne lbl_802C9C28
+/* 802C9C20 002C5880 63 80 00 08 */ ori r0, r28, 8
+/* 802C9C24 002C5884 54 1C 04 3E */ clrlwi r28, r0, 0x10
+lbl_802C9C28:
+/* 802C9C28 002C5888 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9C2C 002C588C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9C30 002C5890 88 03 06 36 */ lbz r0, 0x636(r3)
+/* 802C9C34 002C5894 28 00 00 03 */ cmplwi r0, 3
+/* 802C9C38 002C5898 41 80 00 14 */ blt lbl_802C9C4C
+/* 802C9C3C 002C589C 7C 80 2B 78 */ or r0, r4, r5
+/* 802C9C40 002C58A0 54 00 05 B2 */ rlwinm r0, r0, 0, 0x16, 0x19
+/* 802C9C44 002C58A4 7F 80 03 78 */ or r0, r28, r0
+/* 802C9C48 002C58A8 54 1C 04 3E */ clrlwi r28, r0, 0x10
+lbl_802C9C4C:
+/* 802C9C4C 002C58AC 80 BF 00 14 */ lwz r5, 0x14(r31)
+/* 802C9C50 002C58B0 7F C3 F3 78 */ mr r3, r30
+/* 802C9C54 002C58B4 80 DF 00 18 */ lwz r6, 0x18(r31)
+/* 802C9C58 002C58B8 7F A4 EB 78 */ mr r4, r29
+/* 802C9C5C 002C58BC A0 FF 00 1C */ lhz r7, 0x1c(r31)
+/* 802C9C60 002C58C0 57 8A 04 3E */ clrlwi r10, r28, 0x10
+/* 802C9C64 002C58C4 A1 1F 00 1E */ lhz r8, 0x1e(r31)
+/* 802C9C68 002C58C8 89 3F 00 22 */ lbz r9, 0x22(r31)
+/* 802C9C6C 002C58CC 48 00 70 39 */ bl func_802D0CA4
+/* 802C9C70 002C58D0 B3 9F 00 20 */ sth r28, 0x20(r31)
+/* 802C9C74 002C58D4 48 00 00 14 */ b lbl_802C9C88
+lbl_802C9C78:
+/* 802C9C78 002C58D8 7F C3 F3 78 */ mr r3, r30
+/* 802C9C7C 002C58DC 7F A4 EB 78 */ mr r4, r29
+/* 802C9C80 002C58E0 38 A0 00 00 */ li r5, 0
+/* 802C9C84 002C58E4 48 00 65 21 */ bl func_802D01A4
+lbl_802C9C88:
+/* 802C9C88 002C58E8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802C9C8C 002C58EC 4B EF D4 E5 */ bl _restgpr_26
+/* 802C9C90 002C58F0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802C9C94 002C58F4 7C 08 03 A6 */ mtlr r0
+/* 802C9C98 002C58F8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802C9C9C 002C58FC 4E 80 00 20 */ blr
+
+.global btm_sco_chk_pend_unpark
+btm_sco_chk_pend_unpark:
+/* 802C9CA0 002C5900 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802C9CA4 002C5904 7C 08 02 A6 */ mflr r0
+/* 802C9CA8 002C5908 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802C9CAC 002C590C 39 61 00 40 */ addi r11, r1, 0x40
+/* 802C9CB0 002C5910 4B EF D4 5D */ bl _savegpr_20
+/* 802C9CB4 002C5914 3F 80 80 57 */ lis r28, lbl_80568B78@ha
+/* 802C9CB8 002C5918 7C 77 1B 78 */ mr r23, r3
+/* 802C9CBC 002C591C 3B 9C 8B 78 */ addi r28, r28, lbl_80568B78@l
+/* 802C9CC0 002C5920 7C 98 23 78 */ mr r24, r4
+/* 802C9CC4 002C5924 7C B9 2B 78 */ mr r25, r5
+/* 802C9CC8 002C5928 3B 60 00 00 */ li r27, 0
+/* 802C9CCC 002C592C 3B 5C 18 54 */ addi r26, r28, 0x1854
+/* 802C9CD0 002C5930 3F C0 00 0D */ lis r30, 0xd
+/* 802C9CD4 002C5934 3F E0 80 44 */ lis r31, 0x8044
+/* 802C9CD8 002C5938 3E A0 80 44 */ lis r21, 0x8044
+/* 802C9CDC 002C593C 3A C0 00 03 */ li r22, 3
+lbl_802C9CE0:
+/* 802C9CE0 002C5940 A0 1A 00 08 */ lhz r0, 8(r26)
+/* 802C9CE4 002C5944 28 00 00 06 */ cmplwi r0, 6
+/* 802C9CE8 002C5948 40 82 01 1C */ bne lbl_802C9E04
+/* 802C9CEC 002C594C 2C 19 00 00 */ cmpwi r25, 0
+/* 802C9CF0 002C5950 40 82 01 14 */ bne lbl_802C9E04
+/* 802C9CF4 002C5954 2C 17 00 00 */ cmpwi r23, 0
+/* 802C9CF8 002C5958 40 82 01 0C */ bne lbl_802C9E04
+/* 802C9CFC 002C595C 38 7A 00 28 */ addi r3, r26, 0x28
+/* 802C9D00 002C5960 4B FF A6 A5 */ bl BTM_GetHCIConnHandle
+/* 802C9D04 002C5964 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 802C9D08 002C5968 7C 7D 1B 78 */ mr r29, r3
+/* 802C9D0C 002C596C 7C 18 28 40 */ cmplw r24, r5
+/* 802C9D10 002C5970 40 82 00 F4 */ bne lbl_802C9E04
+/* 802C9D14 002C5974 88 1C 27 C0 */ lbz r0, 0x27c0(r28)
+/* 802C9D18 002C5978 28 00 00 03 */ cmplwi r0, 3
+/* 802C9D1C 002C597C 41 80 00 14 */ blt lbl_802C9D30
+/* 802C9D20 002C5980 88 DC 19 09 */ lbz r6, 0x1909(r28)
+/* 802C9D24 002C5984 38 7E 00 02 */ addi r3, r30, 2
+/* 802C9D28 002C5988 38 9F 16 6C */ addi r4, r31, 0x166c
+/* 802C9D2C 002C598C 4B FF 32 15 */ bl LogMsg_2
+lbl_802C9D30:
+/* 802C9D30 002C5990 38 60 00 01 */ li r3, 1
+/* 802C9D34 002C5994 4B FF B2 1D */ bl btm_chg_all_acl_pkt_types
+/* 802C9D38 002C5998 88 1C 19 08 */ lbz r0, 0x1908(r28)
+/* 802C9D3C 002C599C 2C 00 00 00 */ cmpwi r0, 0
+/* 802C9D40 002C59A0 40 82 00 24 */ bne lbl_802C9D64
+/* 802C9D44 002C59A4 A0 1A 00 20 */ lhz r0, 0x20(r26)
+/* 802C9D48 002C59A8 57 A3 04 3E */ clrlwi r3, r29, 0x10
+/* 802C9D4C 002C59AC 54 04 2E 34 */ rlwinm r4, r0, 5, 0x18, 0x1a
+/* 802C9D50 002C59B0 48 00 63 C9 */ bl func_802D0118
+/* 802C9D54 002C59B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C9D58 002C59B8 40 82 00 9C */ bne lbl_802C9DF4
+/* 802C9D5C 002C59BC 38 00 00 03 */ li r0, 3
+/* 802C9D60 002C59C0 48 00 00 98 */ b lbl_802C9DF8
+lbl_802C9D64:
+/* 802C9D64 002C59C4 88 1C 06 36 */ lbz r0, 0x636(r28)
+/* 802C9D68 002C59C8 A0 7C 06 56 */ lhz r3, 0x656(r28)
+/* 802C9D6C 002C59CC A0 9A 00 20 */ lhz r4, 0x20(r26)
+/* 802C9D70 002C59D0 28 00 00 03 */ cmplwi r0, 3
+/* 802C9D74 002C59D4 7C 80 18 38 */ and r0, r4, r3
+/* 802C9D78 002C59D8 54 14 06 BE */ clrlwi r20, r0, 0x1a
+/* 802C9D7C 002C59DC 41 80 00 14 */ blt lbl_802C9D90
+/* 802C9D80 002C59E0 7C 80 1B 78 */ or r0, r4, r3
+/* 802C9D84 002C59E4 54 00 05 B2 */ rlwinm r0, r0, 0, 0x16, 0x19
+/* 802C9D88 002C59E8 7E 80 03 78 */ or r0, r20, r0
+/* 802C9D8C 002C59EC 54 14 04 3E */ clrlwi r20, r0, 0x10
+lbl_802C9D90:
+/* 802C9D90 002C59F0 88 1C 27 C0 */ lbz r0, 0x27c0(r28)
+/* 802C9D94 002C59F4 28 00 00 03 */ cmplwi r0, 3
+/* 802C9D98 002C59F8 41 80 00 28 */ blt lbl_802C9DC0
+/* 802C9D9C 002C59FC 80 BA 00 14 */ lwz r5, 0x14(r26)
+/* 802C9DA0 002C5A00 38 7E 00 02 */ addi r3, r30, 2
+/* 802C9DA4 002C5A04 80 DA 00 18 */ lwz r6, 0x18(r26)
+/* 802C9DA8 002C5A08 38 95 16 1C */ addi r4, r21, 0x161c
+/* 802C9DAC 002C5A0C A0 FA 00 1C */ lhz r7, 0x1c(r26)
+/* 802C9DB0 002C5A10 56 8A 04 3E */ clrlwi r10, r20, 0x10
+/* 802C9DB4 002C5A14 A1 1A 00 1E */ lhz r8, 0x1e(r26)
+/* 802C9DB8 002C5A18 89 3A 00 22 */ lbz r9, 0x22(r26)
+/* 802C9DBC 002C5A1C 4B FF 31 E5 */ bl LogMsg_6
+lbl_802C9DC0:
+/* 802C9DC0 002C5A20 80 9A 00 14 */ lwz r4, 0x14(r26)
+/* 802C9DC4 002C5A24 57 A3 04 3E */ clrlwi r3, r29, 0x10
+/* 802C9DC8 002C5A28 80 BA 00 18 */ lwz r5, 0x18(r26)
+/* 802C9DCC 002C5A2C 56 89 04 3E */ clrlwi r9, r20, 0x10
+/* 802C9DD0 002C5A30 A0 DA 00 1C */ lhz r6, 0x1c(r26)
+/* 802C9DD4 002C5A34 A0 FA 00 1E */ lhz r7, 0x1e(r26)
+/* 802C9DD8 002C5A38 89 1A 00 22 */ lbz r8, 0x22(r26)
+/* 802C9DDC 002C5A3C 48 00 6D CD */ bl func_802D0BA8
+/* 802C9DE0 002C5A40 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802C9DE4 002C5A44 40 82 00 0C */ bne lbl_802C9DF0
+/* 802C9DE8 002C5A48 38 00 00 03 */ li r0, 3
+/* 802C9DEC 002C5A4C 48 00 00 0C */ b lbl_802C9DF8
+lbl_802C9DF0:
+/* 802C9DF0 002C5A50 B2 9A 00 20 */ sth r20, 0x20(r26)
+lbl_802C9DF4:
+/* 802C9DF4 002C5A54 38 00 00 01 */ li r0, 1
+lbl_802C9DF8:
+/* 802C9DF8 002C5A58 28 00 00 01 */ cmplwi r0, 1
+/* 802C9DFC 002C5A5C 40 82 00 08 */ bne lbl_802C9E04
+/* 802C9E00 002C5A60 B2 DA 00 08 */ sth r22, 8(r26)
+lbl_802C9E04:
+/* 802C9E04 002C5A64 3B 7B 00 01 */ addi r27, r27, 1
+/* 802C9E08 002C5A68 3B 5A 00 34 */ addi r26, r26, 0x34
+/* 802C9E0C 002C5A6C 28 1B 00 03 */ cmplwi r27, 3
+/* 802C9E10 002C5A70 41 80 FE D0 */ blt lbl_802C9CE0
+/* 802C9E14 002C5A74 39 61 00 40 */ addi r11, r1, 0x40
+/* 802C9E18 002C5A78 4B EF D3 41 */ bl _restgpr_20
+/* 802C9E1C 002C5A7C 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802C9E20 002C5A80 7C 08 03 A6 */ mtlr r0
+/* 802C9E24 002C5A84 38 21 00 40 */ addi r1, r1, 0x40
+/* 802C9E28 002C5A88 4E 80 00 20 */ blr
+
+.global btm_sco_conn_req
+btm_sco_conn_req:
+/* 802C9E2C 002C5A8C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802C9E30 002C5A90 7C 08 02 A6 */ mflr r0
+/* 802C9E34 002C5A94 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802C9E38 002C5A98 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C9E3C 002C5A9C 4B EF D2 ED */ bl _savegpr_27
+/* 802C9E40 002C5AA0 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802C9E44 002C5AA4 7C 7E 1B 78 */ mr r30, r3
+/* 802C9E48 002C5AA8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802C9E4C 002C5AAC 7C 9D 23 78 */ mr r29, r4
+/* 802C9E50 002C5AB0 7C BF 2B 78 */ mr r31, r5
+/* 802C9E54 002C5AB4 3B 80 00 00 */ li r28, 0
+/* 802C9E58 002C5AB8 3B 66 18 54 */ addi r27, r6, 0x1854
+lbl_802C9E5C:
+/* 802C9E5C 002C5ABC A0 7B 00 08 */ lhz r3, 8(r27)
+/* 802C9E60 002C5AC0 28 03 00 01 */ cmplwi r3, 1
+/* 802C9E64 002C5AC4 40 82 00 10 */ bne lbl_802C9E74
+/* 802C9E68 002C5AC8 88 1B 00 0D */ lbz r0, 0xd(r27)
+/* 802C9E6C 002C5ACC 2C 00 00 00 */ cmpwi r0, 0
+/* 802C9E70 002C5AD0 40 82 00 0C */ bne lbl_802C9E7C
+lbl_802C9E74:
+/* 802C9E74 002C5AD4 28 03 00 03 */ cmplwi r3, 3
+/* 802C9E78 002C5AD8 40 82 00 A4 */ bne lbl_802C9F1C
+lbl_802C9E7C:
+/* 802C9E7C 002C5ADC 7F C4 F3 78 */ mr r4, r30
+/* 802C9E80 002C5AE0 38 7B 00 28 */ addi r3, r27, 0x28
+/* 802C9E84 002C5AE4 38 A0 00 06 */ li r5, 6
+/* 802C9E88 002C5AE8 4B F0 05 11 */ bl memcmp
+/* 802C9E8C 002C5AEC 2C 03 00 00 */ cmpwi r3, 0
+/* 802C9E90 002C5AF0 40 82 00 8C */ bne lbl_802C9F1C
+/* 802C9E94 002C5AF4 38 00 00 01 */ li r0, 1
+/* 802C9E98 002C5AF8 7F C4 F3 78 */ mr r4, r30
+/* 802C9E9C 002C5AFC 98 1B 00 0D */ stb r0, 0xd(r27)
+/* 802C9EA0 002C5B00 38 7B 00 28 */ addi r3, r27, 0x28
+/* 802C9EA4 002C5B04 38 A0 00 06 */ li r5, 6
+/* 802C9EA8 002C5B08 9B FB 00 2E */ stb r31, 0x2e(r27)
+/* 802C9EAC 002C5B0C 4B D3 A1 55 */ bl memcpy
+/* 802C9EB0 002C5B10 80 1B 00 10 */ lwz r0, 0x10(r27)
+/* 802C9EB4 002C5B14 2C 00 00 00 */ cmpwi r0, 0
+/* 802C9EB8 002C5B18 40 82 00 1C */ bne lbl_802C9ED4
+/* 802C9EBC 002C5B1C 7F C5 F3 78 */ mr r5, r30
+/* 802C9EC0 002C5B20 57 83 04 3E */ clrlwi r3, r28, 0x10
+/* 802C9EC4 002C5B24 38 80 00 00 */ li r4, 0
+/* 802C9EC8 002C5B28 38 C0 00 00 */ li r6, 0
+/* 802C9ECC 002C5B2C 4B FF FB F9 */ bl btm_esco_conn_rsp
+/* 802C9ED0 002C5B30 48 00 01 24 */ b lbl_802C9FF4
+lbl_802C9ED4:
+/* 802C9ED4 002C5B34 7F C4 F3 78 */ mr r4, r30
+/* 802C9ED8 002C5B38 38 61 00 0A */ addi r3, r1, 0xa
+/* 802C9EDC 002C5B3C 38 A0 00 06 */ li r5, 6
+/* 802C9EE0 002C5B40 4B D3 A1 21 */ bl memcpy
+/* 802C9EE4 002C5B44 7F A4 EB 78 */ mr r4, r29
+/* 802C9EE8 002C5B48 38 61 00 10 */ addi r3, r1, 0x10
+/* 802C9EEC 002C5B4C 38 A0 00 03 */ li r5, 3
+/* 802C9EF0 002C5B50 4B D3 A1 11 */ bl memcpy
+/* 802C9EF4 002C5B54 38 00 00 02 */ li r0, 2
+/* 802C9EF8 002C5B58 9B E1 00 13 */ stb r31, 0x13(r1)
+/* 802C9EFC 002C5B5C 38 81 00 08 */ addi r4, r1, 8
+/* 802C9F00 002C5B60 38 60 00 02 */ li r3, 2
+/* 802C9F04 002C5B64 B0 1B 00 08 */ sth r0, 8(r27)
+/* 802C9F08 002C5B68 81 9B 00 10 */ lwz r12, 0x10(r27)
+/* 802C9F0C 002C5B6C B3 81 00 08 */ sth r28, 8(r1)
+/* 802C9F10 002C5B70 7D 89 03 A6 */ mtctr r12
+/* 802C9F14 002C5B74 4E 80 04 21 */ bctrl
+/* 802C9F18 002C5B78 48 00 00 DC */ b lbl_802C9FF4
+lbl_802C9F1C:
+/* 802C9F1C 002C5B7C 3B 9C 00 01 */ addi r28, r28, 1
+/* 802C9F20 002C5B80 3B 7B 00 34 */ addi r27, r27, 0x34
+/* 802C9F24 002C5B84 28 1C 00 03 */ cmplwi r28, 3
+/* 802C9F28 002C5B88 41 80 FF 34 */ blt lbl_802C9E5C
+/* 802C9F2C 002C5B8C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9F30 002C5B90 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9F34 002C5B94 80 03 18 50 */ lwz r0, 0x1850(r3)
+/* 802C9F38 002C5B98 2C 00 00 00 */ cmpwi r0, 0
+/* 802C9F3C 002C5B9C 41 82 00 7C */ beq lbl_802C9FB8
+/* 802C9F40 002C5BA0 38 00 00 03 */ li r0, 3
+/* 802C9F44 002C5BA4 3B 83 18 54 */ addi r28, r3, 0x1854
+/* 802C9F48 002C5BA8 3B 60 00 00 */ li r27, 0
+/* 802C9F4C 002C5BAC 7C 09 03 A6 */ mtctr r0
+lbl_802C9F50:
+/* 802C9F50 002C5BB0 A0 1C 00 08 */ lhz r0, 8(r28)
+/* 802C9F54 002C5BB4 2C 00 00 00 */ cmpwi r0, 0
+/* 802C9F58 002C5BB8 40 82 00 30 */ bne lbl_802C9F88
+/* 802C9F5C 002C5BBC 38 00 00 00 */ li r0, 0
+/* 802C9F60 002C5BC0 3B A0 00 01 */ li r29, 1
+/* 802C9F64 002C5BC4 98 1C 00 0C */ stb r0, 0xc(r28)
+/* 802C9F68 002C5BC8 7F C4 F3 78 */ mr r4, r30
+/* 802C9F6C 002C5BCC 38 7C 00 28 */ addi r3, r28, 0x28
+/* 802C9F70 002C5BD0 38 A0 00 06 */ li r5, 6
+/* 802C9F74 002C5BD4 B3 BC 00 08 */ sth r29, 8(r28)
+/* 802C9F78 002C5BD8 9B FC 00 2E */ stb r31, 0x2e(r28)
+/* 802C9F7C 002C5BDC 4B D3 A0 85 */ bl memcpy
+/* 802C9F80 002C5BE0 9B BC 00 0D */ stb r29, 0xd(r28)
+/* 802C9F84 002C5BE4 48 00 00 10 */ b lbl_802C9F94
+lbl_802C9F88:
+/* 802C9F88 002C5BE8 3B 7B 00 01 */ addi r27, r27, 1
+/* 802C9F8C 002C5BEC 3B 9C 00 34 */ addi r28, r28, 0x34
+/* 802C9F90 002C5BF0 42 00 FF C0 */ bdnz lbl_802C9F50
+lbl_802C9F94:
+/* 802C9F94 002C5BF4 57 63 04 3E */ clrlwi r3, r27, 0x10
+/* 802C9F98 002C5BF8 28 03 00 03 */ cmplwi r3, 3
+/* 802C9F9C 002C5BFC 40 80 00 1C */ bge lbl_802C9FB8
+/* 802C9FA0 002C5C00 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802C9FA4 002C5C04 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802C9FA8 002C5C08 81 84 18 50 */ lwz r12, 0x1850(r4)
+/* 802C9FAC 002C5C0C 7D 89 03 A6 */ mtctr r12
+/* 802C9FB0 002C5C10 4E 80 04 21 */ bctrl
+/* 802C9FB4 002C5C14 48 00 00 40 */ b lbl_802C9FF4
+lbl_802C9FB8:
+/* 802C9FB8 002C5C18 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802C9FBC 002C5C1C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802C9FC0 002C5C20 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802C9FC4 002C5C24 28 00 00 02 */ cmplwi r0, 2
+/* 802C9FC8 002C5C28 41 80 00 18 */ blt lbl_802C9FE0
+/* 802C9FCC 002C5C2C 3C 60 00 0D */ lis r3, 0x000D0001@ha
+/* 802C9FD0 002C5C30 3C 80 80 44 */ lis r4, lbl_804416BC@ha
+/* 802C9FD4 002C5C34 38 63 00 01 */ addi r3, r3, 0x000D0001@l
+/* 802C9FD8 002C5C38 38 84 16 BC */ addi r4, r4, lbl_804416BC@l
+/* 802C9FDC 002C5C3C 4B FF 2F 35 */ bl LogMsg_0
+lbl_802C9FE0:
+/* 802C9FE0 002C5C40 7F C5 F3 78 */ mr r5, r30
+/* 802C9FE4 002C5C44 38 60 00 03 */ li r3, 3
+/* 802C9FE8 002C5C48 38 80 00 0D */ li r4, 0xd
+/* 802C9FEC 002C5C4C 38 C0 00 00 */ li r6, 0
+/* 802C9FF0 002C5C50 4B FF FA D5 */ bl btm_esco_conn_rsp
+lbl_802C9FF4:
+/* 802C9FF4 002C5C54 39 61 00 30 */ addi r11, r1, 0x30
+/* 802C9FF8 002C5C58 4B EF D1 7D */ bl _restgpr_27
+/* 802C9FFC 002C5C5C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802CA000 002C5C60 7C 08 03 A6 */ mtlr r0
+/* 802CA004 002C5C64 38 21 00 30 */ addi r1, r1, 0x30
+/* 802CA008 002C5C68 4E 80 00 20 */ blr
+
+.global btm_sco_connected
+btm_sco_connected:
+/* 802CA00C 002C5C6C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802CA010 002C5C70 7C 08 02 A6 */ mflr r0
+/* 802CA014 002C5C74 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802CA018 002C5C78 39 61 00 30 */ addi r11, r1, 0x30
+/* 802CA01C 002C5C7C 4B EF D1 01 */ bl _savegpr_24
+/* 802CA020 002C5C80 3C E0 80 57 */ lis r7, lbl_80568B78@ha
+/* 802CA024 002C5C84 7C 78 1B 78 */ mr r24, r3
+/* 802CA028 002C5C88 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l
+/* 802CA02C 002C5C8C 7C 99 23 78 */ mr r25, r4
+/* 802CA030 002C5C90 B0 67 18 F6 */ sth r3, 0x18f6(r7)
+/* 802CA034 002C5C94 7C BA 2B 78 */ mr r26, r5
+/* 802CA038 002C5C98 7C DD 33 78 */ mr r29, r6
+/* 802CA03C 002C5C9C 3B E7 18 54 */ addi r31, r7, 0x1854
+/* 802CA040 002C5CA0 3B 60 00 00 */ li r27, 0
+/* 802CA044 002C5CA4 3B C0 00 00 */ li r30, 0
+lbl_802CA048:
+/* 802CA048 002C5CA8 A3 9F 00 08 */ lhz r28, 8(r31)
+/* 802CA04C 002C5CAC 3C 7C 00 01 */ addis r3, r28, 1
+/* 802CA050 002C5CB0 38 03 FF FF */ addi r0, r3, -1
+/* 802CA054 002C5CB4 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802CA058 002C5CB8 28 00 00 02 */ cmplwi r0, 2
+/* 802CA05C 002C5CBC 41 81 01 28 */ bgt lbl_802CA184
+/* 802CA060 002C5CC0 88 1F 00 0D */ lbz r0, 0xd(r31)
+/* 802CA064 002C5CC4 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA068 002C5CC8 41 82 01 1C */ beq lbl_802CA184
+/* 802CA06C 002C5CCC 2C 19 00 00 */ cmpwi r25, 0
+/* 802CA070 002C5CD0 41 82 00 1C */ beq lbl_802CA08C
+/* 802CA074 002C5CD4 7F 24 CB 78 */ mr r4, r25
+/* 802CA078 002C5CD8 38 7F 00 28 */ addi r3, r31, 0x28
+/* 802CA07C 002C5CDC 38 A0 00 06 */ li r5, 6
+/* 802CA080 002C5CE0 4B F0 03 19 */ bl memcmp
+/* 802CA084 002C5CE4 2C 03 00 00 */ cmpwi r3, 0
+/* 802CA088 002C5CE8 40 82 00 FC */ bne lbl_802CA184
+lbl_802CA08C:
+/* 802CA08C 002C5CEC 2C 18 00 00 */ cmpwi r24, 0
+/* 802CA090 002C5CF0 41 82 00 3C */ beq lbl_802CA0CC
+/* 802CA094 002C5CF4 28 1C 00 03 */ cmplwi r28, 3
+/* 802CA098 002C5CF8 40 82 00 28 */ bne lbl_802CA0C0
+/* 802CA09C 002C5CFC 28 18 00 23 */ cmplwi r24, 0x23
+/* 802CA0A0 002C5D00 41 82 00 F4 */ beq lbl_802CA194
+/* 802CA0A4 002C5D04 38 00 00 00 */ li r0, 0
+/* 802CA0A8 002C5D08 57 C3 04 3E */ clrlwi r3, r30, 0x10
+/* 802CA0AC 002C5D0C B0 1F 00 08 */ sth r0, 8(r31)
+/* 802CA0B0 002C5D10 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CA0B4 002C5D14 7D 89 03 A6 */ mtctr r12
+/* 802CA0B8 002C5D18 4E 80 04 21 */ bctrl
+/* 802CA0BC 002C5D1C 48 00 00 D8 */ b lbl_802CA194
+lbl_802CA0C0:
+/* 802CA0C0 002C5D20 38 00 00 01 */ li r0, 1
+/* 802CA0C4 002C5D24 B0 1F 00 08 */ sth r0, 8(r31)
+/* 802CA0C8 002C5D28 48 00 00 CC */ b lbl_802CA194
+lbl_802CA0CC:
+/* 802CA0CC 002C5D2C 28 1C 00 01 */ cmplwi r28, 1
+/* 802CA0D0 002C5D30 40 82 00 08 */ bne lbl_802CA0D8
+/* 802CA0D4 002C5D34 3B 60 00 01 */ li r27, 1
+lbl_802CA0D8:
+/* 802CA0D8 002C5D38 38 00 00 04 */ li r0, 4
+/* 802CA0DC 002C5D3C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CA0E0 002C5D40 B0 1F 00 08 */ sth r0, 8(r31)
+/* 802CA0E4 002C5D44 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CA0E8 002C5D48 B3 5F 00 0A */ sth r26, 0xa(r31)
+/* 802CA0EC 002C5D4C 88 03 19 08 */ lbz r0, 0x1908(r3)
+/* 802CA0F0 002C5D50 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA0F4 002C5D54 40 82 00 3C */ bne lbl_802CA130
+/* 802CA0F8 002C5D58 38 00 00 00 */ li r0, 0
+/* 802CA0FC 002C5D5C 2C 1B 00 00 */ cmpwi r27, 0
+/* 802CA100 002C5D60 98 1F 00 2E */ stb r0, 0x2e(r31)
+/* 802CA104 002C5D64 41 82 00 6C */ beq lbl_802CA170
+/* 802CA108 002C5D68 A0 DF 00 20 */ lhz r6, 0x20(r31)
+/* 802CA10C 002C5D6C 57 C3 04 3E */ clrlwi r3, r30, 0x10
+/* 802CA110 002C5D70 A0 BF 00 1C */ lhz r5, 0x1c(r31)
+/* 802CA114 002C5D74 38 81 00 08 */ addi r4, r1, 8
+/* 802CA118 002C5D78 88 1F 00 22 */ lbz r0, 0x22(r31)
+/* 802CA11C 002C5D7C B0 C1 00 0A */ sth r6, 0xa(r1)
+/* 802CA120 002C5D80 B0 A1 00 08 */ sth r5, 8(r1)
+/* 802CA124 002C5D84 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802CA128 002C5D88 48 00 03 8D */ bl BTM_ChangeEScoLinkParms
+/* 802CA12C 002C5D8C 48 00 00 44 */ b lbl_802CA170
+lbl_802CA130:
+/* 802CA130 002C5D90 2C 1D 00 00 */ cmpwi r29, 0
+/* 802CA134 002C5D94 41 82 00 3C */ beq lbl_802CA170
+/* 802CA138 002C5D98 A0 7D 00 00 */ lhz r3, 0(r29)
+/* 802CA13C 002C5D9C A0 1D 00 02 */ lhz r0, 2(r29)
+/* 802CA140 002C5DA0 B0 7F 00 24 */ sth r3, 0x24(r31)
+/* 802CA144 002C5DA4 B0 1F 00 26 */ sth r0, 0x26(r31)
+/* 802CA148 002C5DA8 A0 7D 00 04 */ lhz r3, 4(r29)
+/* 802CA14C 002C5DAC A0 1D 00 06 */ lhz r0, 6(r29)
+/* 802CA150 002C5DB0 B0 7F 00 28 */ sth r3, 0x28(r31)
+/* 802CA154 002C5DB4 B0 1F 00 2A */ sth r0, 0x2a(r31)
+/* 802CA158 002C5DB8 A0 1D 00 08 */ lhz r0, 8(r29)
+/* 802CA15C 002C5DBC B0 1F 00 2C */ sth r0, 0x2c(r31)
+/* 802CA160 002C5DC0 A0 1D 00 0A */ lhz r0, 0xa(r29)
+/* 802CA164 002C5DC4 B0 1F 00 2E */ sth r0, 0x2e(r31)
+/* 802CA168 002C5DC8 A0 1D 00 0C */ lhz r0, 0xc(r29)
+/* 802CA16C 002C5DCC B0 1F 00 30 */ sth r0, 0x30(r31)
+lbl_802CA170:
+/* 802CA170 002C5DD0 81 9F 00 00 */ lwz r12, 0(r31)
+/* 802CA174 002C5DD4 57 C3 04 3E */ clrlwi r3, r30, 0x10
+/* 802CA178 002C5DD8 7D 89 03 A6 */ mtctr r12
+/* 802CA17C 002C5DDC 4E 80 04 21 */ bctrl
+/* 802CA180 002C5DE0 48 00 00 14 */ b lbl_802CA194
+lbl_802CA184:
+/* 802CA184 002C5DE4 3B DE 00 01 */ addi r30, r30, 1
+/* 802CA188 002C5DE8 3B FF 00 34 */ addi r31, r31, 0x34
+/* 802CA18C 002C5DEC 28 1E 00 03 */ cmplwi r30, 3
+/* 802CA190 002C5DF0 41 80 FE B8 */ blt lbl_802CA048
+lbl_802CA194:
+/* 802CA194 002C5DF4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802CA198 002C5DF8 4B EF CF D1 */ bl _restgpr_24
+/* 802CA19C 002C5DFC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802CA1A0 002C5E00 7C 08 03 A6 */ mtlr r0
+/* 802CA1A4 002C5E04 38 21 00 30 */ addi r1, r1, 0x30
+/* 802CA1A8 002C5E08 4E 80 00 20 */ blr
+
+.global BTM_RemoveSco
+BTM_RemoveSco:
+/* 802CA1AC 002C5E0C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CA1B0 002C5E10 7C 08 02 A6 */ mflr r0
+/* 802CA1B4 002C5E14 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CA1B8 002C5E18 28 03 00 03 */ cmplwi r3, 3
+/* 802CA1BC 002C5E1C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CA1C0 002C5E20 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802CA1C4 002C5E24 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CA1C8 002C5E28 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CA1CC 002C5E2C 7F E4 02 14 */ add r31, r4, r0
+/* 802CA1D0 002C5E30 93 C1 00 08 */ stw r30, 8(r1)
+/* 802CA1D4 002C5E34 40 80 00 10 */ bge lbl_802CA1E4
+/* 802CA1D8 002C5E38 A3 DF 18 5C */ lhz r30, 0x185c(r31)
+/* 802CA1DC 002C5E3C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CA1E0 002C5E40 40 82 00 0C */ bne lbl_802CA1EC
+lbl_802CA1E4:
+/* 802CA1E4 002C5E44 38 60 00 07 */ li r3, 7
+/* 802CA1E8 002C5E48 48 00 00 64 */ b lbl_802CA24C
+lbl_802CA1EC:
+/* 802CA1EC 002C5E4C A0 1F 18 5E */ lhz r0, 0x185e(r31)
+/* 802CA1F0 002C5E50 28 00 FF FF */ cmplwi r0, 0xffff
+/* 802CA1F4 002C5E54 41 82 00 0C */ beq lbl_802CA200
+/* 802CA1F8 002C5E58 28 1E 00 06 */ cmplwi r30, 6
+/* 802CA1FC 002C5E5C 40 82 00 24 */ bne lbl_802CA220
+lbl_802CA200:
+/* 802CA200 002C5E60 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802CA204 002C5E64 38 00 00 00 */ li r0, 0
+/* 802CA208 002C5E68 38 83 FF FF */ addi r4, r3, 0x0000FFFF@l
+/* 802CA20C 002C5E6C B0 9F 18 5E */ sth r4, 0x185e(r31)
+/* 802CA210 002C5E70 38 60 00 00 */ li r3, 0
+/* 802CA214 002C5E74 B0 1F 18 5C */ sth r0, 0x185c(r31)
+/* 802CA218 002C5E78 90 1F 18 64 */ stw r0, 0x1864(r31)
+/* 802CA21C 002C5E7C 48 00 00 30 */ b lbl_802CA24C
+lbl_802CA220:
+/* 802CA220 002C5E80 38 00 00 05 */ li r0, 5
+/* 802CA224 002C5E84 38 80 00 13 */ li r4, 0x13
+/* 802CA228 002C5E88 B0 1F 18 5C */ sth r0, 0x185c(r31)
+/* 802CA22C 002C5E8C A0 7F 18 5E */ lhz r3, 0x185e(r31)
+/* 802CA230 002C5E90 48 00 5E 61 */ bl func_802D0090
+/* 802CA234 002C5E94 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CA238 002C5E98 40 82 00 10 */ bne lbl_802CA248
+/* 802CA23C 002C5E9C B3 DF 18 5C */ sth r30, 0x185c(r31)
+/* 802CA240 002C5EA0 38 60 00 03 */ li r3, 3
+/* 802CA244 002C5EA4 48 00 00 08 */ b lbl_802CA24C
+lbl_802CA248:
+/* 802CA248 002C5EA8 38 60 00 01 */ li r3, 1
+lbl_802CA24C:
+/* 802CA24C 002C5EAC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CA250 002C5EB0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CA254 002C5EB4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802CA258 002C5EB8 7C 08 03 A6 */ mtlr r0
+/* 802CA25C 002C5EBC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CA260 002C5EC0 4E 80 00 20 */ blr
+
+.global btm_remove_sco_links
+btm_remove_sco_links:
+/* 802CA264 002C5EC4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CA268 002C5EC8 7C 08 02 A6 */ mflr r0
+/* 802CA26C 002C5ECC 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CA270 002C5ED0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CA274 002C5ED4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CA278 002C5ED8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CA27C 002C5EDC 3B E4 18 54 */ addi r31, r4, 0x1854
+/* 802CA280 002C5EE0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CA284 002C5EE4 3B C0 00 00 */ li r30, 0
+/* 802CA288 002C5EE8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CA28C 002C5EEC 7C 7D 1B 78 */ mr r29, r3
+lbl_802CA290:
+/* 802CA290 002C5EF0 88 1F 00 0D */ lbz r0, 0xd(r31)
+/* 802CA294 002C5EF4 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA298 002C5EF8 41 82 00 24 */ beq lbl_802CA2BC
+/* 802CA29C 002C5EFC 7F A4 EB 78 */ mr r4, r29
+/* 802CA2A0 002C5F00 38 7F 00 28 */ addi r3, r31, 0x28
+/* 802CA2A4 002C5F04 38 A0 00 06 */ li r5, 6
+/* 802CA2A8 002C5F08 4B F0 00 F1 */ bl memcmp
+/* 802CA2AC 002C5F0C 2C 03 00 00 */ cmpwi r3, 0
+/* 802CA2B0 002C5F10 40 82 00 0C */ bne lbl_802CA2BC
+/* 802CA2B4 002C5F14 57 C3 04 3E */ clrlwi r3, r30, 0x10
+/* 802CA2B8 002C5F18 4B FF FE F5 */ bl BTM_RemoveSco
+lbl_802CA2BC:
+/* 802CA2BC 002C5F1C 3B DE 00 01 */ addi r30, r30, 1
+/* 802CA2C0 002C5F20 3B FF 00 34 */ addi r31, r31, 0x34
+/* 802CA2C4 002C5F24 28 1E 00 03 */ cmplwi r30, 3
+/* 802CA2C8 002C5F28 41 80 FF C8 */ blt lbl_802CA290
+/* 802CA2CC 002C5F2C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CA2D0 002C5F30 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CA2D4 002C5F34 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CA2D8 002C5F38 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CA2DC 002C5F3C 7C 08 03 A6 */ mtlr r0
+/* 802CA2E0 002C5F40 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CA2E4 002C5F44 4E 80 00 20 */ blr
+
+.global btm_sco_removed
+btm_sco_removed:
+/* 802CA2E8 002C5F48 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CA2EC 002C5F4C 7C 08 02 A6 */ mflr r0
+/* 802CA2F0 002C5F50 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802CA2F4 002C5F54 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CA2F8 002C5F58 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802CA2FC 002C5F5C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CA300 002C5F60 7C 7F 1B 78 */ mr r31, r3
+/* 802CA304 002C5F64 38 60 00 00 */ li r3, 0
+/* 802CA308 002C5F68 B0 85 18 F6 */ sth r4, 0x18f6(r5)
+/* 802CA30C 002C5F6C A0 05 18 5C */ lhz r0, 0x185c(r5)
+/* 802CA310 002C5F70 2C 00 00 07 */ cmpwi r0, 7
+/* 802CA314 002C5F74 40 80 00 14 */ bge lbl_802CA328
+/* 802CA318 002C5F78 2C 00 00 02 */ cmpwi r0, 2
+/* 802CA31C 002C5F7C 40 80 00 08 */ bge lbl_802CA324
+/* 802CA320 002C5F80 48 00 00 08 */ b lbl_802CA328
+lbl_802CA324:
+/* 802CA324 002C5F84 38 60 00 01 */ li r3, 1
+lbl_802CA328:
+/* 802CA328 002C5F88 A0 05 18 90 */ lhz r0, 0x1890(r5)
+/* 802CA32C 002C5F8C 2C 00 00 07 */ cmpwi r0, 7
+/* 802CA330 002C5F90 40 80 00 14 */ bge lbl_802CA344
+/* 802CA334 002C5F94 2C 00 00 02 */ cmpwi r0, 2
+/* 802CA338 002C5F98 40 80 00 08 */ bge lbl_802CA340
+/* 802CA33C 002C5F9C 48 00 00 08 */ b lbl_802CA344
+lbl_802CA340:
+/* 802CA340 002C5FA0 38 63 00 01 */ addi r3, r3, 1
+lbl_802CA344:
+/* 802CA344 002C5FA4 A0 05 18 C4 */ lhz r0, 0x18c4(r5)
+/* 802CA348 002C5FA8 2C 00 00 07 */ cmpwi r0, 7
+/* 802CA34C 002C5FAC 40 80 00 14 */ bge lbl_802CA360
+/* 802CA350 002C5FB0 2C 00 00 02 */ cmpwi r0, 2
+/* 802CA354 002C5FB4 40 80 00 08 */ bge lbl_802CA35C
+/* 802CA358 002C5FB8 48 00 00 08 */ b lbl_802CA360
+lbl_802CA35C:
+/* 802CA35C 002C5FBC 38 63 00 01 */ addi r3, r3, 1
+lbl_802CA360:
+/* 802CA360 002C5FC0 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802CA364 002C5FC4 28 00 00 01 */ cmplwi r0, 1
+/* 802CA368 002C5FC8 41 81 00 0C */ bgt lbl_802CA374
+/* 802CA36C 002C5FCC 38 60 00 00 */ li r3, 0
+/* 802CA370 002C5FD0 4B FF AB E1 */ bl btm_chg_all_acl_pkt_types
+lbl_802CA374:
+/* 802CA374 002C5FD4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CA378 002C5FD8 38 00 00 03 */ li r0, 3
+/* 802CA37C 002C5FDC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CA380 002C5FE0 38 C0 00 00 */ li r6, 0
+/* 802CA384 002C5FE4 38 A3 18 54 */ addi r5, r3, 0x1854
+/* 802CA388 002C5FE8 7C 09 03 A6 */ mtctr r0
+lbl_802CA38C:
+/* 802CA38C 002C5FEC A0 05 00 08 */ lhz r0, 8(r5)
+/* 802CA390 002C5FF0 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA394 002C5FF4 41 82 00 48 */ beq lbl_802CA3DC
+/* 802CA398 002C5FF8 28 00 00 01 */ cmplwi r0, 1
+/* 802CA39C 002C5FFC 41 82 00 40 */ beq lbl_802CA3DC
+/* 802CA3A0 002C6000 A0 05 00 0A */ lhz r0, 0xa(r5)
+/* 802CA3A4 002C6004 7C 00 F8 40 */ cmplw r0, r31
+/* 802CA3A8 002C6008 40 82 00 34 */ bne lbl_802CA3DC
+/* 802CA3AC 002C600C 38 80 00 00 */ li r4, 0
+/* 802CA3B0 002C6010 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802CA3B4 002C6014 B0 85 00 08 */ sth r4, 8(r5)
+/* 802CA3B8 002C6018 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802CA3BC 002C601C 54 C3 04 3E */ clrlwi r3, r6, 0x10
+/* 802CA3C0 002C6020 B0 05 00 0A */ sth r0, 0xa(r5)
+/* 802CA3C4 002C6024 98 85 00 0D */ stb r4, 0xd(r5)
+/* 802CA3C8 002C6028 90 85 00 10 */ stw r4, 0x10(r5)
+/* 802CA3CC 002C602C 81 85 00 04 */ lwz r12, 4(r5)
+/* 802CA3D0 002C6030 7D 89 03 A6 */ mtctr r12
+/* 802CA3D4 002C6034 4E 80 04 21 */ bctrl
+/* 802CA3D8 002C6038 48 00 00 10 */ b lbl_802CA3E8
+lbl_802CA3DC:
+/* 802CA3DC 002C603C 38 C6 00 01 */ addi r6, r6, 1
+/* 802CA3E0 002C6040 38 A5 00 34 */ addi r5, r5, 0x34
+/* 802CA3E4 002C6044 42 00 FF A8 */ bdnz lbl_802CA38C
+lbl_802CA3E8:
+/* 802CA3E8 002C6048 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CA3EC 002C604C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CA3F0 002C6050 7C 08 03 A6 */ mtlr r0
+/* 802CA3F4 002C6054 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CA3F8 002C6058 4E 80 00 20 */ blr
+
+.global btm_sco_acl_removed
+btm_sco_acl_removed:
+/* 802CA3FC 002C605C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CA400 002C6060 7C 08 02 A6 */ mflr r0
+/* 802CA404 002C6064 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CA408 002C6068 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CA40C 002C606C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CA410 002C6070 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CA414 002C6074 3B E0 00 00 */ li r31, 0
+/* 802CA418 002C6078 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CA41C 002C607C 3B C4 18 54 */ addi r30, r4, 0x1854
+/* 802CA420 002C6080 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CA424 002C6084 3B A0 00 00 */ li r29, 0
+/* 802CA428 002C6088 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802CA42C 002C608C 7C 7C 1B 78 */ mr r28, r3
+lbl_802CA430:
+/* 802CA430 002C6090 A0 1E 00 08 */ lhz r0, 8(r30)
+/* 802CA434 002C6094 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA438 002C6098 41 82 00 48 */ beq lbl_802CA480
+/* 802CA43C 002C609C 2C 1C 00 00 */ cmpwi r28, 0
+/* 802CA440 002C60A0 41 82 00 28 */ beq lbl_802CA468
+/* 802CA444 002C60A4 7F 84 E3 78 */ mr r4, r28
+/* 802CA448 002C60A8 38 7E 00 28 */ addi r3, r30, 0x28
+/* 802CA44C 002C60AC 38 A0 00 06 */ li r5, 6
+/* 802CA450 002C60B0 4B EF FF 49 */ bl memcmp
+/* 802CA454 002C60B4 2C 03 00 00 */ cmpwi r3, 0
+/* 802CA458 002C60B8 40 82 00 28 */ bne lbl_802CA480
+/* 802CA45C 002C60BC 88 1E 00 0D */ lbz r0, 0xd(r30)
+/* 802CA460 002C60C0 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA464 002C60C4 41 82 00 1C */ beq lbl_802CA480
+lbl_802CA468:
+/* 802CA468 002C60C8 B3 FE 00 08 */ sth r31, 8(r30)
+/* 802CA46C 002C60CC 57 A3 04 3E */ clrlwi r3, r29, 0x10
+/* 802CA470 002C60D0 93 FE 00 10 */ stw r31, 0x10(r30)
+/* 802CA474 002C60D4 81 9E 00 04 */ lwz r12, 4(r30)
+/* 802CA478 002C60D8 7D 89 03 A6 */ mtctr r12
+/* 802CA47C 002C60DC 4E 80 04 21 */ bctrl
+lbl_802CA480:
+/* 802CA480 002C60E0 3B BD 00 01 */ addi r29, r29, 1
+/* 802CA484 002C60E4 3B DE 00 34 */ addi r30, r30, 0x34
+/* 802CA488 002C60E8 28 1D 00 03 */ cmplwi r29, 3
+/* 802CA48C 002C60EC 41 80 FF A4 */ blt lbl_802CA430
+/* 802CA490 002C60F0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CA494 002C60F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CA498 002C60F8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CA49C 002C60FC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CA4A0 002C6100 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802CA4A4 002C6104 7C 08 03 A6 */ mtlr r0
+/* 802CA4A8 002C6108 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CA4AC 002C610C 4E 80 00 20 */ blr
+
+.global btm_route_sco_data
+btm_route_sco_data:
+/* 802CA4B0 002C6110 4B FE F8 84 */ b GKI_freebuf
+
+.global BTM_ChangeEScoLinkParms
+BTM_ChangeEScoLinkParms:
+/* 802CA4B4 002C6114 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CA4B8 002C6118 7C 08 02 A6 */ mflr r0
+/* 802CA4BC 002C611C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CA4C0 002C6120 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CA4C4 002C6124 4B EF CC 65 */ bl _savegpr_27
+/* 802CA4C8 002C6128 28 03 00 03 */ cmplwi r3, 3
+/* 802CA4CC 002C612C 3F C0 80 44 */ lis r30, lbl_80441590@ha
+/* 802CA4D0 002C6130 7C 9C 23 78 */ mr r28, r4
+/* 802CA4D4 002C6134 3B DE 15 90 */ addi r30, r30, lbl_80441590@l
+/* 802CA4D8 002C6138 40 80 00 20 */ bge lbl_802CA4F8
+/* 802CA4DC 002C613C 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802CA4E0 002C6140 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CA4E4 002C6144 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CA4E8 002C6148 7F E3 02 14 */ add r31, r3, r0
+/* 802CA4EC 002C614C A0 1F 18 5C */ lhz r0, 0x185c(r31)
+/* 802CA4F0 002C6150 28 00 00 04 */ cmplwi r0, 4
+/* 802CA4F4 002C6154 41 82 00 0C */ beq lbl_802CA500
+lbl_802CA4F8:
+/* 802CA4F8 002C6158 38 60 00 06 */ li r3, 6
+/* 802CA4FC 002C615C 48 00 01 48 */ b lbl_802CA644
+lbl_802CA500:
+/* 802CA500 002C6160 88 1F 18 82 */ lbz r0, 0x1882(r31)
+/* 802CA504 002C6164 3B BF 18 68 */ addi r29, r31, 0x1868
+/* 802CA508 002C6168 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA50C 002C616C 41 82 00 10 */ beq lbl_802CA51C
+/* 802CA510 002C6170 88 03 19 08 */ lbz r0, 0x1908(r3)
+/* 802CA514 002C6174 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA518 002C6178 40 82 00 64 */ bne lbl_802CA57C
+lbl_802CA51C:
+/* 802CA51C 002C617C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CA520 002C6180 A0 84 00 02 */ lhz r4, 2(r4)
+/* 802CA524 002C6184 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CA528 002C6188 A0 03 06 56 */ lhz r0, 0x656(r3)
+/* 802CA52C 002C618C 54 00 07 7E */ clrlwi r0, r0, 0x1d
+/* 802CA530 002C6190 7C 80 00 38 */ and r0, r4, r0
+/* 802CA534 002C6194 B0 1D 00 0C */ sth r0, 0xc(r29)
+/* 802CA538 002C6198 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CA53C 002C619C 28 00 00 03 */ cmplwi r0, 3
+/* 802CA540 002C61A0 41 80 00 1C */ blt lbl_802CA55C
+/* 802CA544 002C61A4 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802CA548 002C61A8 A0 BF 18 5E */ lhz r5, 0x185e(r31)
+/* 802CA54C 002C61AC A0 DD 00 0C */ lhz r6, 0xc(r29)
+/* 802CA550 002C61B0 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802CA554 002C61B4 38 9E 02 48 */ addi r4, r30, 0x248
+/* 802CA558 002C61B8 4B FF 29 E9 */ bl LogMsg_2
+lbl_802CA55C:
+/* 802CA55C 002C61BC A0 1D 00 0C */ lhz r0, 0xc(r29)
+/* 802CA560 002C61C0 A0 7F 18 5E */ lhz r3, 0x185e(r31)
+/* 802CA564 002C61C4 54 04 2E 34 */ rlwinm r4, r0, 5, 0x18, 0x1a
+/* 802CA568 002C61C8 48 00 61 BD */ bl func_802D0724
+/* 802CA56C 002C61CC 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CA570 002C61D0 40 82 00 D0 */ bne lbl_802CA640
+/* 802CA574 002C61D4 38 60 00 03 */ li r3, 3
+/* 802CA578 002C61D8 48 00 00 CC */ b lbl_802CA644
+lbl_802CA57C:
+/* 802CA57C 002C61DC 88 03 06 36 */ lbz r0, 0x636(r3)
+/* 802CA580 002C61E0 A0 63 06 56 */ lhz r3, 0x656(r3)
+/* 802CA584 002C61E4 A0 84 00 02 */ lhz r4, 2(r4)
+/* 802CA588 002C61E8 28 00 00 03 */ cmplwi r0, 3
+/* 802CA58C 002C61EC 7C 80 18 38 */ and r0, r4, r3
+/* 802CA590 002C61F0 54 1B 06 BE */ clrlwi r27, r0, 0x1a
+/* 802CA594 002C61F4 41 80 00 14 */ blt lbl_802CA5A8
+/* 802CA598 002C61F8 7C 80 1B 78 */ or r0, r4, r3
+/* 802CA59C 002C61FC 54 00 05 B2 */ rlwinm r0, r0, 0, 0x16, 0x19
+/* 802CA5A0 002C6200 7F 60 03 78 */ or r0, r27, r0
+/* 802CA5A4 002C6204 54 1B 04 3E */ clrlwi r27, r0, 0x10
+lbl_802CA5A8:
+/* 802CA5A8 002C6208 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CA5AC 002C620C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CA5B0 002C6210 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CA5B4 002C6214 28 00 00 03 */ cmplwi r0, 3
+/* 802CA5B8 002C6218 41 80 00 18 */ blt lbl_802CA5D0
+/* 802CA5BC 002C621C 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802CA5C0 002C6220 A0 BF 18 5E */ lhz r5, 0x185e(r31)
+/* 802CA5C4 002C6224 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802CA5C8 002C6228 38 9E 02 8C */ addi r4, r30, 0x28c
+/* 802CA5CC 002C622C 4B FF 29 5D */ bl LogMsg_1
+lbl_802CA5D0:
+/* 802CA5D0 002C6230 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CA5D4 002C6234 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CA5D8 002C6238 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CA5DC 002C623C 28 00 00 03 */ cmplwi r0, 3
+/* 802CA5E0 002C6240 41 80 00 2C */ blt lbl_802CA60C
+/* 802CA5E4 002C6244 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802CA5E8 002C6248 80 BD 00 00 */ lwz r5, 0(r29)
+/* 802CA5EC 002C624C 80 DD 00 04 */ lwz r6, 4(r29)
+/* 802CA5F0 002C6250 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802CA5F4 002C6254 A0 FC 00 00 */ lhz r7, 0(r28)
+/* 802CA5F8 002C6258 38 9E 00 8C */ addi r4, r30, 0x8c
+/* 802CA5FC 002C625C A1 1D 00 0A */ lhz r8, 0xa(r29)
+/* 802CA600 002C6260 57 6A 04 3E */ clrlwi r10, r27, 0x10
+/* 802CA604 002C6264 89 3C 00 04 */ lbz r9, 4(r28)
+/* 802CA608 002C6268 4B FF 29 99 */ bl LogMsg_6
+lbl_802CA60C:
+/* 802CA60C 002C626C A0 7F 18 5E */ lhz r3, 0x185e(r31)
+/* 802CA610 002C6270 57 69 04 3E */ clrlwi r9, r27, 0x10
+/* 802CA614 002C6274 80 9D 00 00 */ lwz r4, 0(r29)
+/* 802CA618 002C6278 80 BD 00 04 */ lwz r5, 4(r29)
+/* 802CA61C 002C627C A0 DC 00 00 */ lhz r6, 0(r28)
+/* 802CA620 002C6280 A0 FD 00 0A */ lhz r7, 0xa(r29)
+/* 802CA624 002C6284 89 1C 00 04 */ lbz r8, 4(r28)
+/* 802CA628 002C6288 48 00 65 81 */ bl func_802D0BA8
+/* 802CA62C 002C628C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CA630 002C6290 40 82 00 0C */ bne lbl_802CA63C
+/* 802CA634 002C6294 38 60 00 03 */ li r3, 3
+/* 802CA638 002C6298 48 00 00 0C */ b lbl_802CA644
+lbl_802CA63C:
+/* 802CA63C 002C629C B3 7C 00 02 */ sth r27, 2(r28)
+lbl_802CA640:
+/* 802CA640 002C62A0 38 60 00 01 */ li r3, 1
+lbl_802CA644:
+/* 802CA644 002C62A4 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CA648 002C62A8 4B EF CB 2D */ bl _restgpr_27
+/* 802CA64C 002C62AC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CA650 002C62B0 7C 08 03 A6 */ mtlr r0
+/* 802CA654 002C62B4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CA658 002C62B8 4E 80 00 20 */ blr
+
+.global btm_esco_proc_conn_chg
+btm_esco_proc_conn_chg:
+/* 802CA65C 002C62BC 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802CA660 002C62C0 7C 08 02 A6 */ mflr r0
+/* 802CA664 002C62C4 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802CA668 002C62C8 39 61 00 40 */ addi r11, r1, 0x40
+/* 802CA66C 002C62CC 4B EF CA B1 */ bl _savegpr_24
+/* 802CA670 002C62D0 3D 20 80 57 */ lis r9, lbl_80568B78@ha
+/* 802CA674 002C62D4 7C 78 1B 78 */ mr r24, r3
+/* 802CA678 002C62D8 39 29 8B 78 */ addi r9, r9, lbl_80568B78@l
+/* 802CA67C 002C62DC 7C 99 23 78 */ mr r25, r4
+/* 802CA680 002C62E0 88 09 27 C0 */ lbz r0, 0x27c0(r9)
+/* 802CA684 002C62E4 7C BA 2B 78 */ mr r26, r5
+/* 802CA688 002C62E8 7C DB 33 78 */ mr r27, r6
+/* 802CA68C 002C62EC 7C FC 3B 78 */ mr r28, r7
+/* 802CA690 002C62F0 28 00 00 04 */ cmplwi r0, 4
+/* 802CA694 002C62F4 7D 1D 43 78 */ mr r29, r8
+/* 802CA698 002C62F8 3B E9 18 54 */ addi r31, r9, 0x1854
+/* 802CA69C 002C62FC 41 80 00 20 */ blt lbl_802CA6BC
+/* 802CA6A0 002C6300 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CA6A4 002C6304 3C 80 80 44 */ lis r4, lbl_80441854@ha
+/* 802CA6A8 002C6308 7F 25 CB 78 */ mr r5, r25
+/* 802CA6AC 002C630C 7F 06 C3 78 */ mr r6, r24
+/* 802CA6B0 002C6310 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CA6B4 002C6314 38 84 18 54 */ addi r4, r4, lbl_80441854@l
+/* 802CA6B8 002C6318 4B FF 28 89 */ bl LogMsg_2
+lbl_802CA6BC:
+/* 802CA6BC 002C631C 38 00 00 03 */ li r0, 3
+/* 802CA6C0 002C6320 3B C0 00 00 */ li r30, 0
+/* 802CA6C4 002C6324 7C 09 03 A6 */ mtctr r0
+lbl_802CA6C8:
+/* 802CA6C8 002C6328 A0 1F 00 08 */ lhz r0, 8(r31)
+/* 802CA6CC 002C632C 28 00 00 04 */ cmplwi r0, 4
+/* 802CA6D0 002C6330 40 82 00 6C */ bne lbl_802CA73C
+/* 802CA6D4 002C6334 A0 1F 00 0A */ lhz r0, 0xa(r31)
+/* 802CA6D8 002C6338 7C 19 00 40 */ cmplw r25, r0
+/* 802CA6DC 002C633C 40 82 00 60 */ bne lbl_802CA73C
+/* 802CA6E0 002C6340 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802CA6E4 002C6344 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA6E8 002C6348 41 82 00 60 */ beq lbl_802CA748
+/* 802CA6EC 002C634C 38 61 00 0E */ addi r3, r1, 0xe
+/* 802CA6F0 002C6350 38 9F 00 28 */ addi r4, r31, 0x28
+/* 802CA6F4 002C6354 38 A0 00 06 */ li r5, 6
+/* 802CA6F8 002C6358 4B D3 99 09 */ bl memcpy
+/* 802CA6FC 002C635C B3 9F 00 24 */ sth r28, 0x24(r31)
+/* 802CA700 002C6360 38 81 00 08 */ addi r4, r1, 8
+/* 802CA704 002C6364 38 60 00 01 */ li r3, 1
+/* 802CA708 002C6368 B3 BF 00 26 */ sth r29, 0x26(r31)
+/* 802CA70C 002C636C 9B 5F 00 2F */ stb r26, 0x2f(r31)
+/* 802CA710 002C6370 9B 7F 00 30 */ stb r27, 0x30(r31)
+/* 802CA714 002C6374 81 9F 00 10 */ lwz r12, 0x10(r31)
+/* 802CA718 002C6378 9B 01 00 14 */ stb r24, 0x14(r1)
+/* 802CA71C 002C637C B3 C1 00 08 */ sth r30, 8(r1)
+/* 802CA720 002C6380 B3 81 00 0A */ sth r28, 0xa(r1)
+/* 802CA724 002C6384 B3 A1 00 0C */ sth r29, 0xc(r1)
+/* 802CA728 002C6388 9B 41 00 15 */ stb r26, 0x15(r1)
+/* 802CA72C 002C638C 9B 61 00 16 */ stb r27, 0x16(r1)
+/* 802CA730 002C6390 7D 89 03 A6 */ mtctr r12
+/* 802CA734 002C6394 4E 80 04 21 */ bctrl
+/* 802CA738 002C6398 48 00 00 10 */ b lbl_802CA748
+lbl_802CA73C:
+/* 802CA73C 002C639C 3B DE 00 01 */ addi r30, r30, 1
+/* 802CA740 002C63A0 3B FF 00 34 */ addi r31, r31, 0x34
+/* 802CA744 002C63A4 42 00 FF 84 */ bdnz lbl_802CA6C8
+lbl_802CA748:
+/* 802CA748 002C63A8 39 61 00 40 */ addi r11, r1, 0x40
+/* 802CA74C 002C63AC 4B EF CA 1D */ bl _restgpr_24
+/* 802CA750 002C63B0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802CA754 002C63B4 7C 08 03 A6 */ mtlr r0
+/* 802CA758 002C63B8 38 21 00 40 */ addi r1, r1, 0x40
+/* 802CA75C 002C63BC 4E 80 00 20 */ blr
+
+.global btm_is_sco_active
+btm_is_sco_active:
+/* 802CA760 002C63C0 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CA764 002C63C4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CA768 002C63C8 A0 04 18 5E */ lhz r0, 0x185e(r4)
+/* 802CA76C 002C63CC 7C 03 00 40 */ cmplw r3, r0
+/* 802CA770 002C63D0 40 82 00 18 */ bne lbl_802CA788
+/* 802CA774 002C63D4 A0 04 18 5C */ lhz r0, 0x185c(r4)
+/* 802CA778 002C63D8 28 00 00 04 */ cmplwi r0, 4
+/* 802CA77C 002C63DC 40 82 00 0C */ bne lbl_802CA788
+/* 802CA780 002C63E0 38 60 00 01 */ li r3, 1
+/* 802CA784 002C63E4 4E 80 00 20 */ blr
+lbl_802CA788:
+/* 802CA788 002C63E8 A0 04 18 92 */ lhz r0, 0x1892(r4)
+/* 802CA78C 002C63EC 7C 03 00 40 */ cmplw r3, r0
+/* 802CA790 002C63F0 40 82 00 18 */ bne lbl_802CA7A8
+/* 802CA794 002C63F4 A0 04 18 90 */ lhz r0, 0x1890(r4)
+/* 802CA798 002C63F8 28 00 00 04 */ cmplwi r0, 4
+/* 802CA79C 002C63FC 40 82 00 0C */ bne lbl_802CA7A8
+/* 802CA7A0 002C6400 38 60 00 01 */ li r3, 1
+/* 802CA7A4 002C6404 4E 80 00 20 */ blr
+lbl_802CA7A8:
+/* 802CA7A8 002C6408 A0 04 18 C6 */ lhz r0, 0x18c6(r4)
+/* 802CA7AC 002C640C 7C 03 00 40 */ cmplw r3, r0
+/* 802CA7B0 002C6410 40 82 00 18 */ bne lbl_802CA7C8
+/* 802CA7B4 002C6414 A0 04 18 C4 */ lhz r0, 0x18c4(r4)
+/* 802CA7B8 002C6418 28 00 00 04 */ cmplwi r0, 4
+/* 802CA7BC 002C641C 40 82 00 0C */ bne lbl_802CA7C8
+/* 802CA7C0 002C6420 38 60 00 01 */ li r3, 1
+/* 802CA7C4 002C6424 4E 80 00 20 */ blr
+lbl_802CA7C8:
+/* 802CA7C8 002C6428 38 60 00 00 */ li r3, 0
+/* 802CA7CC 002C642C 4E 80 00 20 */ blr
+
+.global btm_num_sco_links_active
+btm_num_sco_links_active:
+/* 802CA7D0 002C6430 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CA7D4 002C6434 38 60 00 00 */ li r3, 0
+/* 802CA7D8 002C6438 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CA7DC 002C643C A0 04 18 5C */ lhz r0, 0x185c(r4)
+/* 802CA7E0 002C6440 2C 00 00 07 */ cmpwi r0, 7
+/* 802CA7E4 002C6444 40 80 00 14 */ bge lbl_802CA7F8
+/* 802CA7E8 002C6448 2C 00 00 02 */ cmpwi r0, 2
+/* 802CA7EC 002C644C 40 80 00 08 */ bge lbl_802CA7F4
+/* 802CA7F0 002C6450 48 00 00 08 */ b lbl_802CA7F8
+lbl_802CA7F4:
+/* 802CA7F4 002C6454 38 60 00 01 */ li r3, 1
+lbl_802CA7F8:
+/* 802CA7F8 002C6458 A0 04 18 90 */ lhz r0, 0x1890(r4)
+/* 802CA7FC 002C645C 2C 00 00 07 */ cmpwi r0, 7
+/* 802CA800 002C6460 40 80 00 14 */ bge lbl_802CA814
+/* 802CA804 002C6464 2C 00 00 02 */ cmpwi r0, 2
+/* 802CA808 002C6468 40 80 00 08 */ bge lbl_802CA810
+/* 802CA80C 002C646C 48 00 00 08 */ b lbl_802CA814
+lbl_802CA810:
+/* 802CA810 002C6470 38 63 00 01 */ addi r3, r3, 1
+lbl_802CA814:
+/* 802CA814 002C6474 A0 04 18 C4 */ lhz r0, 0x18c4(r4)
+/* 802CA818 002C6478 2C 00 00 07 */ cmpwi r0, 7
+/* 802CA81C 002C647C 4C 80 00 20 */ bgelr
+/* 802CA820 002C6480 2C 00 00 02 */ cmpwi r0, 2
+/* 802CA824 002C6484 4D 80 00 20 */ bltlr
+/* 802CA828 002C6488 38 63 00 01 */ addi r3, r3, 1
+/* 802CA82C 002C648C 4E 80 00 20 */ blr
+
+.global btm_is_sco_active_by_bdaddr
+btm_is_sco_active_by_bdaddr:
+/* 802CA830 002C6490 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CA834 002C6494 7C 08 02 A6 */ mflr r0
+/* 802CA838 002C6498 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CA83C 002C649C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CA840 002C64A0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CA844 002C64A4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CA848 002C64A8 3B E0 00 00 */ li r31, 0
+/* 802CA84C 002C64AC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CA850 002C64B0 3B C4 18 54 */ addi r30, r4, 0x1854
+/* 802CA854 002C64B4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CA858 002C64B8 7C 7D 1B 78 */ mr r29, r3
+lbl_802CA85C:
+/* 802CA85C 002C64BC 7F A4 EB 78 */ mr r4, r29
+/* 802CA860 002C64C0 38 7E 00 28 */ addi r3, r30, 0x28
+/* 802CA864 002C64C4 38 A0 00 06 */ li r5, 6
+/* 802CA868 002C64C8 4B EF FB 31 */ bl memcmp
+/* 802CA86C 002C64CC 2C 03 00 00 */ cmpwi r3, 0
+/* 802CA870 002C64D0 40 82 00 18 */ bne lbl_802CA888
+/* 802CA874 002C64D4 A0 1E 00 08 */ lhz r0, 8(r30)
+/* 802CA878 002C64D8 28 00 00 04 */ cmplwi r0, 4
+/* 802CA87C 002C64DC 40 82 00 0C */ bne lbl_802CA888
+/* 802CA880 002C64E0 38 60 00 01 */ li r3, 1
+/* 802CA884 002C64E4 48 00 00 18 */ b lbl_802CA89C
+lbl_802CA888:
+/* 802CA888 002C64E8 3B FF 00 01 */ addi r31, r31, 1
+/* 802CA88C 002C64EC 3B DE 00 34 */ addi r30, r30, 0x34
+/* 802CA890 002C64F0 28 1F 00 03 */ cmplwi r31, 3
+/* 802CA894 002C64F4 41 80 FF C8 */ blt lbl_802CA85C
+/* 802CA898 002C64F8 38 60 00 00 */ li r3, 0
+lbl_802CA89C:
+/* 802CA89C 002C64FC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CA8A0 002C6500 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CA8A4 002C6504 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CA8A8 002C6508 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CA8AC 002C650C 7C 08 03 A6 */ mtlr r0
+/* 802CA8B0 002C6510 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CA8B4 002C6514 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btm_sec.s b/asm/SDK/BTE/btm_sec.s new file mode 100644 index 0000000..a3511ec --- /dev/null +++ b/asm/SDK/BTE/btm_sec.s @@ -0,0 +1,3422 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global BTM_SecRegister
+BTM_SecRegister:
+/* 802CA8B8 002C6518 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CA8BC 002C651C 7C 08 02 A6 */ mflr r0
+/* 802CA8C0 002C6520 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802CA8C4 002C6524 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CA8C8 002C6528 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802CA8CC 002C652C 80 A3 00 00 */ lwz r5, 0(r3)
+/* 802CA8D0 002C6530 80 83 00 04 */ lwz r4, 4(r3)
+/* 802CA8D4 002C6534 88 06 27 C0 */ lbz r0, 0x27c0(r6)
+/* 802CA8D8 002C6538 90 A6 19 0C */ stw r5, 0x190c(r6)
+/* 802CA8DC 002C653C 28 00 00 04 */ cmplwi r0, 4
+/* 802CA8E0 002C6540 90 86 19 10 */ stw r4, 0x1910(r6)
+/* 802CA8E4 002C6544 80 83 00 08 */ lwz r4, 8(r3)
+/* 802CA8E8 002C6548 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 802CA8EC 002C654C 90 86 19 14 */ stw r4, 0x1914(r6)
+/* 802CA8F0 002C6550 90 06 19 18 */ stw r0, 0x1918(r6)
+/* 802CA8F4 002C6554 80 83 00 10 */ lwz r4, 0x10(r3)
+/* 802CA8F8 002C6558 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 802CA8FC 002C655C 90 86 19 1C */ stw r4, 0x191c(r6)
+/* 802CA900 002C6560 90 06 19 20 */ stw r0, 0x1920(r6)
+/* 802CA904 002C6564 41 80 00 18 */ blt lbl_802CA91C
+/* 802CA908 002C6568 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CA90C 002C656C 3C 80 80 44 */ lis r4, lbl_80441890@ha
+/* 802CA910 002C6570 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CA914 002C6574 38 84 18 90 */ addi r4, r4, lbl_80441890@l
+/* 802CA918 002C6578 4B FF 25 F9 */ bl LogMsg_0
+lbl_802CA91C:
+/* 802CA91C 002C657C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CA920 002C6580 38 60 00 01 */ li r3, 1
+/* 802CA924 002C6584 7C 08 03 A6 */ mtlr r0
+/* 802CA928 002C6588 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CA92C 002C658C 4E 80 00 20 */ blr
+
+.global BTM_SecAddRmtNameNotifyCallback
+BTM_SecAddRmtNameNotifyCallback:
+/* 802CA930 002C6590 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CA934 002C6594 38 00 00 02 */ li r0, 2
+/* 802CA938 002C6598 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CA93C 002C659C 38 A0 00 00 */ li r5, 0
+/* 802CA940 002C65A0 7C 09 03 A6 */ mtctr r0
+lbl_802CA944:
+/* 802CA944 002C65A4 80 04 19 2C */ lwz r0, 0x192c(r4)
+/* 802CA948 002C65A8 2C 00 00 00 */ cmpwi r0, 0
+/* 802CA94C 002C65AC 40 82 00 20 */ bne lbl_802CA96C
+/* 802CA950 002C65B0 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CA954 002C65B4 54 A0 10 3A */ slwi r0, r5, 2
+/* 802CA958 002C65B8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CA95C 002C65BC 7C 84 02 14 */ add r4, r4, r0
+/* 802CA960 002C65C0 90 64 19 2C */ stw r3, 0x192c(r4)
+/* 802CA964 002C65C4 38 60 00 01 */ li r3, 1
+/* 802CA968 002C65C8 4E 80 00 20 */ blr
+lbl_802CA96C:
+/* 802CA96C 002C65CC 38 84 00 04 */ addi r4, r4, 4
+/* 802CA970 002C65D0 38 A5 00 01 */ addi r5, r5, 1
+/* 802CA974 002C65D4 42 00 FF D0 */ bdnz lbl_802CA944
+/* 802CA978 002C65D8 38 60 00 00 */ li r3, 0
+/* 802CA97C 002C65DC 4E 80 00 20 */ blr
+
+.global BTM_SecDeleteRmtNameNotifyCallback
+BTM_SecDeleteRmtNameNotifyCallback:
+/* 802CA980 002C65E0 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CA984 002C65E4 38 00 00 02 */ li r0, 2
+/* 802CA988 002C65E8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CA98C 002C65EC 38 A0 00 00 */ li r5, 0
+/* 802CA990 002C65F0 7C 09 03 A6 */ mtctr r0
+lbl_802CA994:
+/* 802CA994 002C65F4 80 04 19 2C */ lwz r0, 0x192c(r4)
+/* 802CA998 002C65F8 7C 00 18 40 */ cmplw r0, r3
+/* 802CA99C 002C65FC 40 82 00 24 */ bne lbl_802CA9C0
+/* 802CA9A0 002C6600 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CA9A4 002C6604 54 A0 10 3A */ slwi r0, r5, 2
+/* 802CA9A8 002C6608 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CA9AC 002C660C 38 A0 00 00 */ li r5, 0
+/* 802CA9B0 002C6610 7C 83 02 14 */ add r4, r3, r0
+/* 802CA9B4 002C6614 90 A4 19 2C */ stw r5, 0x192c(r4)
+/* 802CA9B8 002C6618 38 60 00 01 */ li r3, 1
+/* 802CA9BC 002C661C 4E 80 00 20 */ blr
+lbl_802CA9C0:
+/* 802CA9C0 002C6620 38 84 00 04 */ addi r4, r4, 4
+/* 802CA9C4 002C6624 38 A5 00 01 */ addi r5, r5, 1
+/* 802CA9C8 002C6628 42 00 FF CC */ bdnz lbl_802CA994
+/* 802CA9CC 002C662C 38 60 00 00 */ li r3, 0
+/* 802CA9D0 002C6630 4E 80 00 20 */ blr
+
+.global BTM_SetPinType
+BTM_SetPinType:
+/* 802CA9D4 002C6634 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CA9D8 002C6638 7C 08 02 A6 */ mflr r0
+/* 802CA9DC 002C663C 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802CA9E0 002C6640 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CA9E4 002C6644 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802CA9E8 002C6648 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CA9EC 002C664C 7C BF 2B 78 */ mr r31, r5
+/* 802CA9F0 002C6650 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CA9F4 002C6654 7C 9E 23 78 */ mr r30, r4
+/* 802CA9F8 002C6658 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CA9FC 002C665C 7C 7D 1B 78 */ mr r29, r3
+/* 802CAA00 002C6660 88 06 27 C0 */ lbz r0, 0x27c0(r6)
+/* 802CAA04 002C6664 28 00 00 03 */ cmplwi r0, 3
+/* 802CAA08 002C6668 41 80 00 24 */ blt lbl_802CAA2C
+/* 802CAA0C 002C666C 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802CAA10 002C6670 3C 80 80 44 */ lis r4, lbl_80441928@ha
+/* 802CAA14 002C6674 7F A5 EB 78 */ mr r5, r29
+/* 802CAA18 002C6678 7F C6 F3 78 */ mr r6, r30
+/* 802CAA1C 002C667C 7F E7 FB 78 */ mr r7, r31
+/* 802CAA20 002C6680 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802CAA24 002C6684 38 84 19 28 */ addi r4, r4, lbl_80441928@l
+/* 802CAA28 002C6688 4B FF 25 31 */ bl LogMsg_3
+lbl_802CAA2C:
+/* 802CAA2C 002C668C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CAA30 002C6690 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CAA34 002C6694 88 03 06 4E */ lbz r0, 0x64e(r3)
+/* 802CAA38 002C6698 28 00 00 01 */ cmplwi r0, 1
+/* 802CAA3C 002C669C 40 81 00 0C */ ble lbl_802CAA48
+/* 802CAA40 002C66A0 7F A3 EB 78 */ mr r3, r29
+/* 802CAA44 002C66A4 48 00 6A 41 */ bl func_802D1484
+lbl_802CAA48:
+/* 802CAA48 002C66A8 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802CAA4C 002C66AC 7F C4 F3 78 */ mr r4, r30
+/* 802CAA50 002C66B0 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802CAA54 002C66B4 7F E5 FB 78 */ mr r5, r31
+/* 802CAA58 002C66B8 9B A6 00 20 */ stb r29, 0x20(r6)
+/* 802CAA5C 002C66BC 38 66 00 22 */ addi r3, r6, 0x22
+/* 802CAA60 002C66C0 9B E6 00 21 */ stb r31, 0x21(r6)
+/* 802CAA64 002C66C4 4B D3 95 9D */ bl memcpy
+/* 802CAA68 002C66C8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CAA6C 002C66CC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CAA70 002C66D0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CAA74 002C66D4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CAA78 002C66D8 7C 08 03 A6 */ mtlr r0
+/* 802CAA7C 002C66DC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CAA80 002C66E0 4E 80 00 20 */ blr
+
+.global BTM_SetSecurityLevel
+BTM_SetSecurityLevel:
+/* 802CAA84 002C66E4 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802CAA88 002C66E8 7C 08 02 A6 */ mflr r0
+/* 802CAA8C 002C66EC 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802CAA90 002C66F0 39 61 00 40 */ addi r11, r1, 0x40
+/* 802CAA94 002C66F4 4B EF C6 79 */ bl _savegpr_20
+/* 802CAA98 002C66F8 3D 40 80 57 */ lis r10, lbl_80568B78@ha
+/* 802CAA9C 002C66FC 3F E0 80 44 */ lis r31, lbl_80441890@ha
+/* 802CAAA0 002C6700 39 4A 8B 78 */ addi r10, r10, lbl_80568B78@l
+/* 802CAAA4 002C6704 3D 60 00 01 */ lis r11, 0x0000FFFF@ha
+/* 802CAAA8 002C6708 7C 74 1B 78 */ mr r20, r3
+/* 802CAAAC 002C670C 7C 95 23 78 */ mr r21, r4
+/* 802CAAB0 002C6710 7C B6 2B 78 */ mr r22, r5
+/* 802CAAB4 002C6714 7C D7 33 78 */ mr r23, r6
+/* 802CAAB8 002C6718 7C F8 3B 78 */ mr r24, r7
+/* 802CAABC 002C671C 7D 19 43 78 */ mr r25, r8
+/* 802CAAC0 002C6720 7D 3A 4B 78 */ mr r26, r9
+/* 802CAAC4 002C6724 3B FF 18 90 */ addi r31, r31, lbl_80441890@l
+/* 802CAAC8 002C6728 3B 8B FF FF */ addi r28, r11, 0x0000FFFF@l
+/* 802CAACC 002C672C 3B CA 19 90 */ addi r30, r10, 0x1990
+/* 802CAAD0 002C6730 3B 60 00 00 */ li r27, 0
+/* 802CAAD4 002C6734 3B A0 00 00 */ li r29, 0
+lbl_802CAAD8:
+/* 802CAAD8 002C6738 88 1E 00 0E */ lbz r0, 0xe(r30)
+/* 802CAADC 002C673C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CAAE0 002C6740 41 82 00 60 */ beq lbl_802CAB40
+/* 802CAAE4 002C6744 A0 1E 00 0C */ lhz r0, 0xc(r30)
+/* 802CAAE8 002C6748 7C 00 C0 40 */ cmplw r0, r24
+/* 802CAAEC 002C674C 40 82 00 64 */ bne lbl_802CAB50
+/* 802CAAF0 002C6750 80 1E 00 00 */ lwz r0, 0(r30)
+/* 802CAAF4 002C6754 7C 00 C8 40 */ cmplw r0, r25
+/* 802CAAF8 002C6758 40 82 00 58 */ bne lbl_802CAB50
+/* 802CAAFC 002C675C 88 1E 00 0F */ lbz r0, 0xf(r30)
+/* 802CAB00 002C6760 7C 16 00 40 */ cmplw r22, r0
+/* 802CAB04 002C6764 40 82 00 4C */ bne lbl_802CAB50
+/* 802CAB08 002C6768 7E A3 AB 78 */ mr r3, r21
+/* 802CAB0C 002C676C 38 9E 00 10 */ addi r4, r30, 0x10
+/* 802CAB10 002C6770 38 A0 00 15 */ li r5, 0x15
+/* 802CAB14 002C6774 4B F0 3A 55 */ bl strncmp
+/* 802CAB18 002C6778 2C 03 00 00 */ cmpwi r3, 0
+/* 802CAB1C 002C677C 41 82 00 1C */ beq lbl_802CAB38
+/* 802CAB20 002C6780 7E A3 AB 78 */ mr r3, r21
+/* 802CAB24 002C6784 38 9E 00 26 */ addi r4, r30, 0x26
+/* 802CAB28 002C6788 38 A0 00 15 */ li r5, 0x15
+/* 802CAB2C 002C678C 4B F0 3A 3D */ bl strncmp
+/* 802CAB30 002C6790 2C 03 00 00 */ cmpwi r3, 0
+/* 802CAB34 002C6794 40 82 00 1C */ bne lbl_802CAB50
+lbl_802CAB38:
+/* 802CAB38 002C6798 3B 60 00 01 */ li r27, 1
+/* 802CAB3C 002C679C 48 00 00 24 */ b lbl_802CAB60
+lbl_802CAB40:
+/* 802CAB40 002C67A0 2C 1B 00 00 */ cmpwi r27, 0
+/* 802CAB44 002C67A4 40 82 00 0C */ bne lbl_802CAB50
+/* 802CAB48 002C67A8 3B 60 00 01 */ li r27, 1
+/* 802CAB4C 002C67AC 7F BC EB 78 */ mr r28, r29
+lbl_802CAB50:
+/* 802CAB50 002C67B0 3B BD 00 01 */ addi r29, r29, 1
+/* 802CAB54 002C67B4 3B DE 00 3C */ addi r30, r30, 0x3c
+/* 802CAB58 002C67B8 28 1D 00 18 */ cmplwi r29, 0x18
+/* 802CAB5C 002C67BC 41 80 FF 7C */ blt lbl_802CAAD8
+lbl_802CAB60:
+/* 802CAB60 002C67C0 2C 1B 00 00 */ cmpwi r27, 0
+/* 802CAB64 002C67C4 41 82 01 04 */ beq lbl_802CAC68
+/* 802CAB68 002C67C8 57 A0 04 3E */ clrlwi r0, r29, 0x10
+/* 802CAB6C 002C67CC 28 00 00 18 */ cmplwi r0, 0x18
+/* 802CAB70 002C67D0 41 80 00 20 */ blt lbl_802CAB90
+/* 802CAB74 002C67D4 57 80 04 3E */ clrlwi r0, r28, 0x10
+/* 802CAB78 002C67D8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CAB7C 002C67DC 1C 00 00 3C */ mulli r0, r0, 0x3c
+/* 802CAB80 002C67E0 7F 9D E3 78 */ mr r29, r28
+/* 802CAB84 002C67E4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CAB88 002C67E8 7C 63 02 14 */ add r3, r3, r0
+/* 802CAB8C 002C67EC 3B C3 19 90 */ addi r30, r3, 0x1990
+lbl_802CAB90:
+/* 802CAB90 002C67F0 B3 1E 00 0C */ sth r24, 0xc(r30)
+/* 802CAB94 002C67F4 2C 14 00 00 */ cmpwi r20, 0
+/* 802CAB98 002C67F8 9A DE 00 0F */ stb r22, 0xf(r30)
+/* 802CAB9C 002C67FC 93 3E 00 00 */ stw r25, 0(r30)
+/* 802CABA0 002C6800 41 82 00 28 */ beq lbl_802CABC8
+/* 802CABA4 002C6804 93 5E 00 04 */ stw r26, 4(r30)
+/* 802CABA8 002C6808 7E A4 AB 78 */ mr r4, r21
+/* 802CABAC 002C680C 38 7E 00 10 */ addi r3, r30, 0x10
+/* 802CABB0 002C6810 38 A0 00 15 */ li r5, 0x15
+/* 802CABB4 002C6814 88 1E 00 0E */ lbz r0, 0xe(r30)
+/* 802CABB8 002C6818 54 00 07 72 */ rlwinm r0, r0, 0, 0x1d, 0x19
+/* 802CABBC 002C681C 98 1E 00 0E */ stb r0, 0xe(r30)
+/* 802CABC0 002C6820 4B F0 37 D1 */ bl strncpy
+/* 802CABC4 002C6824 48 00 00 24 */ b lbl_802CABE8
+lbl_802CABC8:
+/* 802CABC8 002C6828 93 5E 00 08 */ stw r26, 8(r30)
+/* 802CABCC 002C682C 7E A4 AB 78 */ mr r4, r21
+/* 802CABD0 002C6830 38 7E 00 26 */ addi r3, r30, 0x26
+/* 802CABD4 002C6834 38 A0 00 15 */ li r5, 0x15
+/* 802CABD8 002C6838 88 1E 00 0E */ lbz r0, 0xe(r30)
+/* 802CABDC 002C683C 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c
+/* 802CABE0 002C6840 98 1E 00 0E */ stb r0, 0xe(r30)
+/* 802CABE4 002C6844 4B F0 37 AD */ bl strncpy
+lbl_802CABE8:
+/* 802CABE8 002C6848 88 9E 00 0E */ lbz r4, 0xe(r30)
+/* 802CABEC 002C684C 62 E0 00 80 */ ori r0, r23, 0x80
+/* 802CABF0 002C6850 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CABF4 002C6854 7C 80 03 78 */ or r0, r4, r0
+/* 802CABF8 002C6858 98 1E 00 0E */ stb r0, 0xe(r30)
+/* 802CABFC 002C685C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CAC00 002C6860 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CAC04 002C6864 28 00 00 03 */ cmplwi r0, 3
+/* 802CAC08 002C6868 41 80 00 2C */ blt lbl_802CAC34
+/* 802CAC0C 002C686C 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802CAC10 002C6870 7E C6 B3 78 */ mr r6, r22
+/* 802CAC14 002C6874 7E 87 A3 78 */ mr r7, r20
+/* 802CAC18 002C6878 7F 08 C3 78 */ mr r8, r24
+/* 802CAC1C 002C687C 7F 29 CB 78 */ mr r9, r25
+/* 802CAC20 002C6880 7F 4A D3 78 */ mr r10, r26
+/* 802CAC24 002C6884 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802CAC28 002C6888 38 9F 00 E0 */ addi r4, r31, 0xe0
+/* 802CAC2C 002C688C 57 A5 04 3E */ clrlwi r5, r29, 0x10
+/* 802CAC30 002C6890 4B FF 23 71 */ bl LogMsg_6
+lbl_802CAC34:
+/* 802CAC34 002C6894 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CAC38 002C6898 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CAC3C 002C689C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CAC40 002C68A0 28 00 00 03 */ cmplwi r0, 3
+/* 802CAC44 002C68A4 41 80 00 4C */ blt lbl_802CAC90
+/* 802CAC48 002C68A8 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802CAC4C 002C68AC 88 BE 00 0E */ lbz r5, 0xe(r30)
+/* 802CAC50 002C68B0 7E A6 AB 78 */ mr r6, r21
+/* 802CAC54 002C68B4 38 9F 01 28 */ addi r4, r31, 0x128
+/* 802CAC58 002C68B8 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802CAC5C 002C68BC 38 E0 00 15 */ li r7, 0x15
+/* 802CAC60 002C68C0 4B FF 22 F9 */ bl LogMsg_3
+/* 802CAC64 002C68C4 48 00 00 2C */ b lbl_802CAC90
+lbl_802CAC68:
+/* 802CAC68 002C68C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CAC6C 002C68CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CAC70 002C68D0 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CAC74 002C68D4 28 00 00 02 */ cmplwi r0, 2
+/* 802CAC78 002C68D8 41 80 00 18 */ blt lbl_802CAC90
+/* 802CAC7C 002C68DC 3C 60 00 0D */ lis r3, 0x000D0001@ha
+/* 802CAC80 002C68E0 38 9F 01 70 */ addi r4, r31, 0x170
+/* 802CAC84 002C68E4 38 63 00 01 */ addi r3, r3, 0x000D0001@l
+/* 802CAC88 002C68E8 38 A0 00 18 */ li r5, 0x18
+/* 802CAC8C 002C68EC 4B FF 22 9D */ bl LogMsg_1
+lbl_802CAC90:
+/* 802CAC90 002C68F0 39 61 00 40 */ addi r11, r1, 0x40
+/* 802CAC94 002C68F4 7F 63 DB 78 */ mr r3, r27
+/* 802CAC98 002C68F8 4B EF C4 C1 */ bl _restgpr_20
+/* 802CAC9C 002C68FC 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802CACA0 002C6900 7C 08 03 A6 */ mtlr r0
+/* 802CACA4 002C6904 38 21 00 40 */ addi r1, r1, 0x40
+/* 802CACA8 002C6908 4E 80 00 20 */ blr
+
+.global BTM_PINCodeReply
+BTM_PINCodeReply:
+/* 802CACAC 002C690C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802CACB0 002C6910 7C 08 02 A6 */ mflr r0
+/* 802CACB4 002C6914 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802CACB8 002C6918 39 61 00 30 */ addi r11, r1, 0x30
+/* 802CACBC 002C691C 4B EF C4 65 */ bl _savegpr_25
+/* 802CACC0 002C6920 3F C0 80 57 */ lis r30, lbl_80568B78@ha
+/* 802CACC4 002C6924 7C 79 1B 78 */ mr r25, r3
+/* 802CACC8 002C6928 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
+/* 802CACCC 002C692C 7C 9A 23 78 */ mr r26, r4
+/* 802CACD0 002C6930 80 1E 19 4C */ lwz r0, 0x194c(r30)
+/* 802CACD4 002C6934 7C BB 2B 78 */ mr r27, r5
+/* 802CACD8 002C6938 7C DC 33 78 */ mr r28, r6
+/* 802CACDC 002C693C 7C FD 3B 78 */ mr r29, r7
+/* 802CACE0 002C6940 2C 00 00 00 */ cmpwi r0, 0
+/* 802CACE4 002C6944 41 82 00 74 */ beq lbl_802CAD58
+/* 802CACE8 002C6948 38 7E 19 3C */ addi r3, r30, 0x193c
+/* 802CACEC 002C694C 4B FF 28 61 */ bl btu_stop_timer
+/* 802CACF0 002C6950 3B E0 00 00 */ li r31, 0
+/* 802CACF4 002C6954 38 7E 19 54 */ addi r3, r30, 0x1954
+/* 802CACF8 002C6958 93 FE 19 4C */ stw r31, 0x194c(r30)
+/* 802CACFC 002C695C 38 80 00 FF */ li r4, 0xff
+/* 802CAD00 002C6960 38 A0 00 06 */ li r5, 6
+/* 802CAD04 002C6964 4B D3 94 01 */ bl memset
+/* 802CAD08 002C6968 2C 1A 00 00 */ cmpwi r26, 0
+/* 802CAD0C 002C696C 41 82 00 18 */ beq lbl_802CAD24
+/* 802CAD10 002C6970 38 00 00 0E */ li r0, 0xe
+/* 802CAD14 002C6974 7F 23 CB 78 */ mr r3, r25
+/* 802CAD18 002C6978 98 1E 27 BF */ stb r0, 0x27bf(r30)
+/* 802CAD1C 002C697C 48 00 59 69 */ bl func_802D0684
+/* 802CAD20 002C6980 48 00 00 38 */ b lbl_802CAD58
+lbl_802CAD24:
+/* 802CAD24 002C6984 9B FE 27 BF */ stb r31, 0x27bf(r30)
+/* 802CAD28 002C6988 7F 23 CB 78 */ mr r3, r25
+/* 802CAD2C 002C698C 7F 64 DB 78 */ mr r4, r27
+/* 802CAD30 002C6990 7F 85 E3 78 */ mr r5, r28
+/* 802CAD34 002C6994 48 00 57 6D */ bl func_802D04A0
+/* 802CAD38 002C6998 7F 23 CB 78 */ mr r3, r25
+/* 802CAD3C 002C699C 4B FF A8 E1 */ bl btm_find_dev
+/* 802CAD40 002C69A0 2C 03 00 00 */ cmpwi r3, 0
+/* 802CAD44 002C69A4 41 82 00 14 */ beq lbl_802CAD58
+/* 802CAD48 002C69A8 80 1D 00 00 */ lwz r0, 0(r29)
+/* 802CAD4C 002C69AC 90 03 00 10 */ stw r0, 0x10(r3)
+/* 802CAD50 002C69B0 80 1D 00 04 */ lwz r0, 4(r29)
+/* 802CAD54 002C69B4 90 03 00 14 */ stw r0, 0x14(r3)
+lbl_802CAD58:
+/* 802CAD58 002C69B8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802CAD5C 002C69BC 4B EF C4 11 */ bl _restgpr_25
+/* 802CAD60 002C69C0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802CAD64 002C69C4 7C 08 03 A6 */ mtlr r0
+/* 802CAD68 002C69C8 38 21 00 30 */ addi r1, r1, 0x30
+/* 802CAD6C 002C69CC 4E 80 00 20 */ blr
+
+.global BTM_DeviceAuthorized
+BTM_DeviceAuthorized:
+/* 802CAD70 002C69D0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CAD74 002C69D4 7C 08 02 A6 */ mflr r0
+/* 802CAD78 002C69D8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CAD7C 002C69DC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CAD80 002C69E0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CAD84 002C69E4 7C 7E 1B 78 */ mr r30, r3
+/* 802CAD88 002C69E8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CAD8C 002C69EC 7C BD 2B 78 */ mr r29, r5
+/* 802CAD90 002C69F0 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802CAD94 002C69F4 7C 9C 23 78 */ mr r28, r4
+/* 802CAD98 002C69F8 4B FF A8 85 */ bl btm_find_dev
+/* 802CAD9C 002C69FC 2C 83 00 00 */ cmpwi cr1, r3, 0
+/* 802CADA0 002C6A00 7C 7F 1B 78 */ mr r31, r3
+/* 802CADA4 002C6A04 40 86 00 48 */ bne cr1, lbl_802CADEC
+/* 802CADA8 002C6A08 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CADAC 002C6A0C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CADB0 002C6A10 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CADB4 002C6A14 28 00 00 02 */ cmplwi r0, 2
+/* 802CADB8 002C6A18 41 80 01 74 */ blt lbl_802CAF2C
+/* 802CADBC 002C6A1C 3C 60 00 0D */ lis r3, 0x000D0001@ha
+/* 802CADC0 002C6A20 3C 80 80 44 */ lis r4, lbl_80441A30@ha
+/* 802CADC4 002C6A24 88 BE 00 00 */ lbz r5, 0(r30)
+/* 802CADC8 002C6A28 38 63 00 01 */ addi r3, r3, 0x000D0001@l
+/* 802CADCC 002C6A2C 88 DE 00 01 */ lbz r6, 1(r30)
+/* 802CADD0 002C6A30 38 84 1A 30 */ addi r4, r4, lbl_80441A30@l
+/* 802CADD4 002C6A34 88 FE 00 02 */ lbz r7, 2(r30)
+/* 802CADD8 002C6A38 89 1E 00 03 */ lbz r8, 3(r30)
+/* 802CADDC 002C6A3C 89 3E 00 04 */ lbz r9, 4(r30)
+/* 802CADE0 002C6A40 89 5E 00 05 */ lbz r10, 5(r30)
+/* 802CADE4 002C6A44 4B FF 21 BD */ bl LogMsg_6
+/* 802CADE8 002C6A48 48 00 01 44 */ b lbl_802CAF2C
+lbl_802CADEC:
+/* 802CADEC 002C6A4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CADF0 002C6A50 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CADF4 002C6A54 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CADF8 002C6A58 28 00 00 04 */ cmplwi r0, 4
+/* 802CADFC 002C6A5C 41 80 00 2C */ blt lbl_802CAE28
+/* 802CAE00 002C6A60 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CAE04 002C6A64 3C 80 80 44 */ lis r4, lbl_80441A90@ha
+/* 802CAE08 002C6A68 7F 85 E3 78 */ mr r5, r28
+/* 802CAE0C 002C6A6C 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CAE10 002C6A70 38 84 1A 90 */ addi r4, r4, lbl_80441A90@l
+/* 802CAE14 002C6A74 41 86 00 0C */ beq cr1, lbl_802CAE20
+/* 802CAE18 002C6A78 88 DF 00 7F */ lbz r6, 0x7f(r31)
+/* 802CAE1C 002C6A7C 48 00 00 08 */ b lbl_802CAE24
+lbl_802CAE20:
+/* 802CAE20 002C6A80 38 C0 00 00 */ li r6, 0
+lbl_802CAE24:
+/* 802CAE24 002C6A84 4B FF 21 1D */ bl LogMsg_2
+lbl_802CAE28:
+/* 802CAE28 002C6A88 2C 1C 00 00 */ cmpwi r28, 0
+/* 802CAE2C 002C6A8C 40 82 00 20 */ bne lbl_802CAE4C
+/* 802CAE30 002C6A90 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CAE34 002C6A94 60 00 00 01 */ ori r0, r0, 1
+/* 802CAE38 002C6A98 98 1F 00 76 */ stb r0, 0x76(r31)
+/* 802CAE3C 002C6A9C 80 1D 00 00 */ lwz r0, 0(r29)
+/* 802CAE40 002C6AA0 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 802CAE44 002C6AA4 80 1D 00 04 */ lwz r0, 4(r29)
+/* 802CAE48 002C6AA8 90 1F 00 14 */ stw r0, 0x14(r31)
+lbl_802CAE4C:
+/* 802CAE4C 002C6AAC 88 1F 00 7F */ lbz r0, 0x7f(r31)
+/* 802CAE50 002C6AB0 28 00 00 04 */ cmplwi r0, 4
+/* 802CAE54 002C6AB4 40 82 00 D8 */ bne lbl_802CAF2C
+/* 802CAE58 002C6AB8 3B A0 00 00 */ li r29, 0
+/* 802CAE5C 002C6ABC 2C 1C 00 00 */ cmpwi r28, 0
+/* 802CAE60 002C6AC0 9B BF 00 7F */ stb r29, 0x7f(r31)
+/* 802CAE64 002C6AC4 41 82 00 5C */ beq lbl_802CAEC0
+/* 802CAE68 002C6AC8 80 1F 00 04 */ lwz r0, 4(r31)
+/* 802CAE6C 002C6ACC 2C 00 00 00 */ cmpwi r0, 0
+/* 802CAE70 002C6AD0 41 82 00 BC */ beq lbl_802CAF2C
+/* 802CAE74 002C6AD4 88 1F 00 80 */ lbz r0, 0x80(r31)
+/* 802CAE78 002C6AD8 2C 00 00 00 */ cmpwi r0, 0
+/* 802CAE7C 002C6ADC 41 82 00 20 */ beq lbl_802CAE9C
+/* 802CAE80 002C6AE0 80 7F 00 00 */ lwz r3, 0(r31)
+/* 802CAE84 002C6AE4 2C 03 00 00 */ cmpwi r3, 0
+/* 802CAE88 002C6AE8 41 82 00 14 */ beq lbl_802CAE9C
+/* 802CAE8C 002C6AEC 80 03 00 00 */ lwz r0, 0(r3)
+/* 802CAE90 002C6AF0 28 00 00 03 */ cmplwi r0, 3
+/* 802CAE94 002C6AF4 40 82 00 08 */ bne lbl_802CAE9C
+/* 802CAE98 002C6AF8 93 A3 00 04 */ stw r29, 4(r3)
+lbl_802CAE9C:
+/* 802CAE9C 002C6AFC 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CAEA0 002C6B00 7F C3 F3 78 */ mr r3, r30
+/* 802CAEA4 002C6B04 7F 85 E3 78 */ mr r5, r28
+/* 802CAEA8 002C6B08 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802CAEAC 002C6B0C 7D 89 03 A6 */ mtctr r12
+/* 802CAEB0 002C6B10 4E 80 04 21 */ bctrl
+/* 802CAEB4 002C6B14 38 00 00 00 */ li r0, 0
+/* 802CAEB8 002C6B18 90 1F 00 04 */ stw r0, 4(r31)
+/* 802CAEBC 002C6B1C 48 00 00 70 */ b lbl_802CAF2C
+lbl_802CAEC0:
+/* 802CAEC0 002C6B20 7F E3 FB 78 */ mr r3, r31
+/* 802CAEC4 002C6B24 48 00 23 A9 */ bl btm_sec_execute_procedure
+/* 802CAEC8 002C6B28 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802CAECC 002C6B2C 7C 64 1B 78 */ mr r4, r3
+/* 802CAED0 002C6B30 28 00 00 01 */ cmplwi r0, 1
+/* 802CAED4 002C6B34 41 82 00 58 */ beq lbl_802CAF2C
+/* 802CAED8 002C6B38 80 1F 00 04 */ lwz r0, 4(r31)
+/* 802CAEDC 002C6B3C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CAEE0 002C6B40 41 82 00 4C */ beq lbl_802CAF2C
+/* 802CAEE4 002C6B44 88 1F 00 80 */ lbz r0, 0x80(r31)
+/* 802CAEE8 002C6B48 2C 00 00 00 */ cmpwi r0, 0
+/* 802CAEEC 002C6B4C 41 82 00 20 */ beq lbl_802CAF0C
+/* 802CAEF0 002C6B50 80 7F 00 00 */ lwz r3, 0(r31)
+/* 802CAEF4 002C6B54 2C 03 00 00 */ cmpwi r3, 0
+/* 802CAEF8 002C6B58 41 82 00 14 */ beq lbl_802CAF0C
+/* 802CAEFC 002C6B5C 80 03 00 00 */ lwz r0, 0(r3)
+/* 802CAF00 002C6B60 28 00 00 03 */ cmplwi r0, 3
+/* 802CAF04 002C6B64 40 82 00 08 */ bne lbl_802CAF0C
+/* 802CAF08 002C6B68 93 A3 00 04 */ stw r29, 4(r3)
+lbl_802CAF0C:
+/* 802CAF0C 002C6B6C 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CAF10 002C6B70 54 85 06 3E */ clrlwi r5, r4, 0x18
+/* 802CAF14 002C6B74 7F C3 F3 78 */ mr r3, r30
+/* 802CAF18 002C6B78 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802CAF1C 002C6B7C 7D 89 03 A6 */ mtctr r12
+/* 802CAF20 002C6B80 4E 80 04 21 */ bctrl
+/* 802CAF24 002C6B84 38 00 00 00 */ li r0, 0
+/* 802CAF28 002C6B88 90 1F 00 04 */ stw r0, 4(r31)
+lbl_802CAF2C:
+/* 802CAF2C 002C6B8C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CAF30 002C6B90 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CAF34 002C6B94 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CAF38 002C6B98 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CAF3C 002C6B9C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802CAF40 002C6BA0 7C 08 03 A6 */ mtlr r0
+/* 802CAF44 002C6BA4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CAF48 002C6BA8 4E 80 00 20 */ blr
+
+.global BTM_SecBond
+BTM_SecBond:
+/* 802CAF4C 002C6BAC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CAF50 002C6BB0 7C 08 02 A6 */ mflr r0
+/* 802CAF54 002C6BB4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CAF58 002C6BB8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CAF5C 002C6BBC 4B EF C1 C9 */ bl _savegpr_26
+/* 802CAF60 002C6BC0 3C E0 80 57 */ lis r7, lbl_80568B78@ha
+/* 802CAF64 002C6BC4 3F E0 80 44 */ lis r31, lbl_80441890@ha
+/* 802CAF68 002C6BC8 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l
+/* 802CAF6C 002C6BCC 7C 7C 1B 78 */ mr r28, r3
+/* 802CAF70 002C6BD0 88 07 27 C0 */ lbz r0, 0x27c0(r7)
+/* 802CAF74 002C6BD4 7C 9D 23 78 */ mr r29, r4
+/* 802CAF78 002C6BD8 7C BA 2B 78 */ mr r26, r5
+/* 802CAF7C 002C6BDC 7C DB 33 78 */ mr r27, r6
+/* 802CAF80 002C6BE0 28 00 00 03 */ cmplwi r0, 3
+/* 802CAF84 002C6BE4 3B FF 18 90 */ addi r31, r31, lbl_80441890@l
+/* 802CAF88 002C6BE8 41 80 00 2C */ blt lbl_802CAFB4
+/* 802CAF8C 002C6BEC 3C 60 00 0D */ lis r3, 0x000D0002@ha
+/* 802CAF90 002C6BF0 88 BC 00 00 */ lbz r5, 0(r28)
+/* 802CAF94 002C6BF4 88 DC 00 01 */ lbz r6, 1(r28)
+/* 802CAF98 002C6BF8 38 63 00 02 */ addi r3, r3, 0x000D0002@l
+/* 802CAF9C 002C6BFC 88 FC 00 02 */ lbz r7, 2(r28)
+/* 802CAFA0 002C6C00 38 9F 02 30 */ addi r4, r31, 0x230
+/* 802CAFA4 002C6C04 89 1C 00 03 */ lbz r8, 3(r28)
+/* 802CAFA8 002C6C08 89 3C 00 04 */ lbz r9, 4(r28)
+/* 802CAFAC 002C6C0C 89 5C 00 05 */ lbz r10, 5(r28)
+/* 802CAFB0 002C6C10 4B FF 1F F1 */ bl LogMsg_6
+lbl_802CAFB4:
+/* 802CAFB4 002C6C14 28 1D 00 10 */ cmplwi r29, 0x10
+/* 802CAFB8 002C6C18 40 81 00 30 */ ble lbl_802CAFE8
+/* 802CAFBC 002C6C1C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CAFC0 002C6C20 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CAFC4 002C6C24 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CAFC8 002C6C28 28 00 00 01 */ cmplwi r0, 1
+/* 802CAFCC 002C6C2C 41 80 00 14 */ blt lbl_802CAFE0
+/* 802CAFD0 002C6C30 7F A5 EB 78 */ mr r5, r29
+/* 802CAFD4 002C6C34 38 9F 02 60 */ addi r4, r31, 0x260
+/* 802CAFD8 002C6C38 3C 60 00 0D */ lis r3, 0xd
+/* 802CAFDC 002C6C3C 4B FF 1F 4D */ bl LogMsg_1
+lbl_802CAFE0:
+/* 802CAFE0 002C6C40 38 60 00 05 */ li r3, 5
+/* 802CAFE4 002C6C44 48 00 03 1C */ b lbl_802CB300
+lbl_802CAFE8:
+/* 802CAFE8 002C6C48 7F 83 E3 78 */ mr r3, r28
+/* 802CAFEC 002C6C4C 4B FF A6 31 */ bl btm_find_dev
+/* 802CAFF0 002C6C50 2C 03 00 00 */ cmpwi r3, 0
+/* 802CAFF4 002C6C54 7C 7E 1B 78 */ mr r30, r3
+/* 802CAFF8 002C6C58 40 82 00 40 */ bne lbl_802CB038
+/* 802CAFFC 002C6C5C 7F 83 E3 78 */ mr r3, r28
+/* 802CB000 002C6C60 4B FF A4 45 */ bl btm_sec_alloc_dev
+/* 802CB004 002C6C64 2C 03 00 00 */ cmpwi r3, 0
+/* 802CB008 002C6C68 7C 7E 1B 78 */ mr r30, r3
+/* 802CB00C 002C6C6C 40 82 00 2C */ bne lbl_802CB038
+/* 802CB010 002C6C70 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB014 002C6C74 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB018 002C6C78 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB01C 002C6C7C 28 00 00 01 */ cmplwi r0, 1
+/* 802CB020 002C6C80 41 80 00 10 */ blt lbl_802CB030
+/* 802CB024 002C6C84 38 9F 02 80 */ addi r4, r31, 0x280
+/* 802CB028 002C6C88 3C 60 00 0D */ lis r3, 0xd
+/* 802CB02C 002C6C8C 4B FF 1E E5 */ bl LogMsg_0
+lbl_802CB030:
+/* 802CB030 002C6C90 38 60 00 03 */ li r3, 3
+/* 802CB034 002C6C94 48 00 02 CC */ b lbl_802CB300
+lbl_802CB038:
+/* 802CB038 002C6C98 A0 1E 00 18 */ lhz r0, 0x18(r30)
+/* 802CB03C 002C6C9C 28 00 FF FF */ cmplwi r0, 0xffff
+/* 802CB040 002C6CA0 41 82 00 3C */ beq lbl_802CB07C
+/* 802CB044 002C6CA4 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802CB048 002C6CA8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802CB04C 002C6CAC 41 82 00 30 */ beq lbl_802CB07C
+/* 802CB050 002C6CB0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB054 002C6CB4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB058 002C6CB8 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB05C 002C6CBC 28 00 00 02 */ cmplwi r0, 2
+/* 802CB060 002C6CC0 41 80 00 14 */ blt lbl_802CB074
+/* 802CB064 002C6CC4 3C 60 00 0D */ lis r3, 0x000D0001@ha
+/* 802CB068 002C6CC8 38 9F 02 A0 */ addi r4, r31, 0x2a0
+/* 802CB06C 002C6CCC 38 63 00 01 */ addi r3, r3, 0x000D0001@l
+/* 802CB070 002C6CD0 4B FF 1E A1 */ bl LogMsg_0
+lbl_802CB074:
+/* 802CB074 002C6CD4 38 60 00 00 */ li r3, 0
+/* 802CB078 002C6CD8 48 00 02 88 */ b lbl_802CB300
+lbl_802CB07C:
+/* 802CB07C 002C6CDC 7F 83 E3 78 */ mr r3, r28
+/* 802CB080 002C6CE0 38 80 00 00 */ li r4, 0
+/* 802CB084 002C6CE4 4B FF BD 85 */ bl BTM_DeleteStoredLinkKey
+/* 802CB088 002C6CE8 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CB08C 002C6CEC 41 82 00 0C */ beq lbl_802CB098
+/* 802CB090 002C6CF0 38 60 00 03 */ li r3, 3
+/* 802CB094 002C6CF4 48 00 02 6C */ b lbl_802CB300
+lbl_802CB098:
+/* 802CB098 002C6CF8 38 00 00 50 */ li r0, 0x50
+/* 802CB09C 002C6CFC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB0A0 002C6D00 98 1E 00 81 */ stb r0, 0x81(r30)
+/* 802CB0A4 002C6D04 38 00 00 01 */ li r0, 1
+/* 802CB0A8 002C6D08 2C 1D 00 00 */ cmpwi r29, 0
+/* 802CB0AC 002C6D0C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB0B0 002C6D10 98 1E 00 80 */ stb r0, 0x80(r30)
+/* 802CB0B4 002C6D14 80 1B 00 00 */ lwz r0, 0(r27)
+/* 802CB0B8 002C6D18 90 1E 00 10 */ stw r0, 0x10(r30)
+/* 802CB0BC 002C6D1C 80 1B 00 04 */ lwz r0, 4(r27)
+/* 802CB0C0 002C6D20 90 1E 00 14 */ stw r0, 0x14(r30)
+/* 802CB0C4 002C6D24 9B A3 19 7F */ stb r29, 0x197f(r3)
+/* 802CB0C8 002C6D28 41 82 00 14 */ beq lbl_802CB0DC
+/* 802CB0CC 002C6D2C 7F 44 D3 78 */ mr r4, r26
+/* 802CB0D0 002C6D30 7F A5 EB 78 */ mr r5, r29
+/* 802CB0D4 002C6D34 38 63 19 80 */ addi r3, r3, 0x1980
+/* 802CB0D8 002C6D38 4B D3 8F 29 */ bl memcpy
+lbl_802CB0DC:
+/* 802CB0DC 002C6D3C 88 7E 00 76 */ lbz r3, 0x76(r30)
+/* 802CB0E0 002C6D40 38 00 FF E9 */ li r0, -23
+/* 802CB0E4 002C6D44 7C 60 00 38 */ and r0, r3, r0
+/* 802CB0E8 002C6D48 98 1E 00 76 */ stb r0, 0x76(r30)
+/* 802CB0EC 002C6D4C 88 1E 00 23 */ lbz r0, 0x23(r30)
+/* 802CB0F0 002C6D50 54 00 06 FE */ clrlwi r0, r0, 0x1b
+/* 802CB0F4 002C6D54 2C 00 00 05 */ cmpwi r0, 5
+/* 802CB0F8 002C6D58 40 82 00 34 */ bne lbl_802CB12C
+/* 802CB0FC 002C6D5C 88 1E 00 24 */ lbz r0, 0x24(r30)
+/* 802CB100 002C6D60 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CB104 002C6D64 41 82 00 28 */ beq lbl_802CB12C
+/* 802CB108 002C6D68 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CB10C 002C6D6C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CB110 002C6D70 88 04 00 20 */ lbz r0, 0x20(r4)
+/* 802CB114 002C6D74 28 00 00 01 */ cmplwi r0, 1
+/* 802CB118 002C6D78 41 82 00 14 */ beq lbl_802CB12C
+/* 802CB11C 002C6D7C 38 00 00 01 */ li r0, 1
+/* 802CB120 002C6D80 38 60 00 01 */ li r3, 1
+/* 802CB124 002C6D84 98 04 19 7C */ stb r0, 0x197c(r4)
+/* 802CB128 002C6D88 48 00 63 5D */ bl func_802D1484
+lbl_802CB12C:
+/* 802CB12C 002C6D8C 3F A0 80 57 */ lis r29, lbl_80568B78@ha
+/* 802CB130 002C6D90 3B 60 00 00 */ li r27, 0
+/* 802CB134 002C6D94 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l
+/* 802CB138 002C6D98 9B 7D 19 7E */ stb r27, 0x197e(r29)
+/* 802CB13C 002C6D9C A0 1E 00 18 */ lhz r0, 0x18(r30)
+/* 802CB140 002C6DA0 28 00 FF FF */ cmplwi r0, 0xffff
+/* 802CB144 002C6DA4 41 82 00 3C */ beq lbl_802CB180
+/* 802CB148 002C6DA8 88 7E 00 76 */ lbz r3, 0x76(r30)
+/* 802CB14C 002C6DAC 38 00 00 01 */ li r0, 1
+/* 802CB150 002C6DB0 54 63 07 34 */ rlwinm r3, r3, 0, 0x1c, 0x1a
+/* 802CB154 002C6DB4 98 7E 00 76 */ stb r3, 0x76(r30)
+/* 802CB158 002C6DB8 98 1E 00 7F */ stb r0, 0x7f(r30)
+/* 802CB15C 002C6DBC A0 7E 00 18 */ lhz r3, 0x18(r30)
+/* 802CB160 002C6DC0 48 00 56 55 */ bl func_802D07B4
+/* 802CB164 002C6DC4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CB168 002C6DC8 40 82 00 0C */ bne lbl_802CB174
+/* 802CB16C 002C6DCC 38 60 00 03 */ li r3, 3
+/* 802CB170 002C6DD0 48 00 01 90 */ b lbl_802CB300
+lbl_802CB174:
+/* 802CB174 002C6DD4 9B 7D 19 7D */ stb r27, 0x197d(r29)
+/* 802CB178 002C6DD8 38 60 00 01 */ li r3, 1
+/* 802CB17C 002C6DDC 48 00 01 84 */ b lbl_802CB300
+lbl_802CB180:
+/* 802CB180 002C6DE0 88 1D 19 78 */ lbz r0, 0x1978(r29)
+/* 802CB184 002C6DE4 28 00 00 03 */ cmplwi r0, 3
+/* 802CB188 002C6DE8 41 82 00 68 */ beq lbl_802CB1F0
+/* 802CB18C 002C6DEC 88 1D 27 C0 */ lbz r0, 0x27c0(r29)
+/* 802CB190 002C6DF0 28 00 00 05 */ cmplwi r0, 5
+/* 802CB194 002C6DF4 41 80 00 14 */ blt lbl_802CB1A8
+/* 802CB198 002C6DF8 3C 60 00 0D */ lis r3, 0x000D0004@ha
+/* 802CB19C 002C6DFC 38 9F 02 C0 */ addi r4, r31, 0x2c0
+/* 802CB1A0 002C6E00 38 63 00 04 */ addi r3, r3, 0x000D0004@l
+/* 802CB1A4 002C6E04 4B FF 1D 6D */ bl LogMsg_0
+lbl_802CB1A8:
+/* 802CB1A8 002C6E08 38 60 00 01 */ li r3, 1
+/* 802CB1AC 002C6E0C 48 00 68 4D */ bl func_802D19F8
+/* 802CB1B0 002C6E10 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CB1B4 002C6E14 40 82 00 2C */ bne lbl_802CB1E0
+/* 802CB1B8 002C6E18 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB1BC 002C6E1C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB1C0 002C6E20 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB1C4 002C6E24 28 00 00 01 */ cmplwi r0, 1
+/* 802CB1C8 002C6E28 41 80 00 10 */ blt lbl_802CB1D8
+/* 802CB1CC 002C6E2C 38 9F 02 E4 */ addi r4, r31, 0x2e4
+/* 802CB1D0 002C6E30 3C 60 00 0D */ lis r3, 0xd
+/* 802CB1D4 002C6E34 4B FF 1D 3D */ bl LogMsg_0
+lbl_802CB1D8:
+/* 802CB1D8 002C6E38 38 60 00 03 */ li r3, 3
+/* 802CB1DC 002C6E3C 48 00 01 24 */ b lbl_802CB300
+lbl_802CB1E0:
+/* 802CB1E0 002C6E40 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB1E4 002C6E44 38 00 00 01 */ li r0, 1
+/* 802CB1E8 002C6E48 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB1EC 002C6E4C 98 03 19 7B */ stb r0, 0x197b(r3)
+lbl_802CB1F0:
+/* 802CB1F0 002C6E50 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB1F4 002C6E54 38 00 00 01 */ li r0, 1
+/* 802CB1F8 002C6E58 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB1FC 002C6E5C 98 03 19 7D */ stb r0, 0x197d(r3)
+/* 802CB200 002C6E60 4B FF B7 61 */ bl BTM_ReadLocalFeatures
+/* 802CB204 002C6E64 88 83 00 00 */ lbz r4, 0(r3)
+/* 802CB208 002C6E68 38 00 00 00 */ li r0, 0
+/* 802CB20C 002C6E6C 7F 83 E3 78 */ mr r3, r28
+/* 802CB210 002C6E70 98 1E 00 85 */ stb r0, 0x85(r30)
+/* 802CB214 002C6E74 54 9B DF FE */ rlwinm r27, r4, 0x1b, 0x1f, 0x1f
+/* 802CB218 002C6E78 4B FF CB 11 */ bl BTM_InqDbRead
+/* 802CB21C 002C6E7C 2C 03 00 00 */ cmpwi r3, 0
+/* 802CB220 002C6E80 7C 64 1B 78 */ mr r4, r3
+/* 802CB224 002C6E84 41 82 00 28 */ beq lbl_802CB24C
+/* 802CB228 002C6E88 A0 04 00 00 */ lhz r0, 0(r4)
+/* 802CB22C 002C6E8C 7F 83 E3 78 */ mr r3, r28
+/* 802CB230 002C6E90 88 A4 00 0B */ lbz r5, 0xb(r4)
+/* 802CB234 002C6E94 7F 68 DB 78 */ mr r8, r27
+/* 802CB238 002C6E98 88 C4 00 0D */ lbz r6, 0xd(r4)
+/* 802CB23C 002C6E9C 60 07 80 00 */ ori r7, r0, 0x8000
+/* 802CB240 002C6EA0 38 80 00 18 */ li r4, 0x18
+/* 802CB244 002C6EA4 48 00 4D 6D */ bl func_802CFFB0
+/* 802CB248 002C6EA8 48 00 00 20 */ b lbl_802CB268
+lbl_802CB24C:
+/* 802CB24C 002C6EAC A0 FE 00 1A */ lhz r7, 0x1a(r30)
+/* 802CB250 002C6EB0 7F 83 E3 78 */ mr r3, r28
+/* 802CB254 002C6EB4 7F 68 DB 78 */ mr r8, r27
+/* 802CB258 002C6EB8 38 80 00 18 */ li r4, 0x18
+/* 802CB25C 002C6EBC 38 A0 00 01 */ li r5, 1
+/* 802CB260 002C6EC0 38 C0 00 00 */ li r6, 0
+/* 802CB264 002C6EC4 48 00 4D 4D */ bl func_802CFFB0
+lbl_802CB268:
+/* 802CB268 002C6EC8 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CB26C 002C6ECC 41 82 00 0C */ beq lbl_802CB278
+/* 802CB270 002C6ED0 38 60 00 01 */ li r3, 1
+/* 802CB274 002C6ED4 48 00 00 8C */ b lbl_802CB300
+lbl_802CB278:
+/* 802CB278 002C6ED8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB27C 002C6EDC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB280 002C6EE0 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB284 002C6EE4 28 00 00 01 */ cmplwi r0, 1
+/* 802CB288 002C6EE8 41 80 00 10 */ blt lbl_802CB298
+/* 802CB28C 002C6EEC 38 9F 02 E4 */ addi r4, r31, 0x2e4
+/* 802CB290 002C6EF0 3C 60 00 0D */ lis r3, 0xd
+/* 802CB294 002C6EF4 4B FF 1C 7D */ bl LogMsg_0
+lbl_802CB298:
+/* 802CB298 002C6EF8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CB29C 002C6EFC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CB2A0 002C6F00 88 04 19 7B */ lbz r0, 0x197b(r4)
+/* 802CB2A4 002C6F04 2C 00 00 00 */ cmpwi r0, 0
+/* 802CB2A8 002C6F08 41 82 00 54 */ beq lbl_802CB2FC
+/* 802CB2AC 002C6F0C 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CB2B0 002C6F10 38 60 00 00 */ li r3, 0
+/* 802CB2B4 002C6F14 98 64 19 7B */ stb r3, 0x197b(r4)
+/* 802CB2B8 002C6F18 28 00 00 05 */ cmplwi r0, 5
+/* 802CB2BC 002C6F1C 41 80 00 24 */ blt lbl_802CB2E0
+/* 802CB2C0 002C6F20 88 A4 19 78 */ lbz r5, 0x1978(r4)
+/* 802CB2C4 002C6F24 3C 60 00 0D */ lis r3, 0x000D0004@ha
+/* 802CB2C8 002C6F28 38 63 00 04 */ addi r3, r3, 0x000D0004@l
+/* 802CB2CC 002C6F2C 38 9F 02 FC */ addi r4, r31, 0x2fc
+/* 802CB2D0 002C6F30 38 05 FF FD */ addi r0, r5, -3
+/* 802CB2D4 002C6F34 7C 00 00 34 */ cntlzw r0, r0
+/* 802CB2D8 002C6F38 54 05 D9 7E */ srwi r5, r0, 5
+/* 802CB2DC 002C6F3C 4B FF 1C 4D */ bl LogMsg_1
+lbl_802CB2E0:
+/* 802CB2E0 002C6F40 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB2E4 002C6F44 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB2E8 002C6F48 88 63 19 78 */ lbz r3, 0x1978(r3)
+/* 802CB2EC 002C6F4C 38 03 FF FD */ addi r0, r3, -3
+/* 802CB2F0 002C6F50 7C 00 00 34 */ cntlzw r0, r0
+/* 802CB2F4 002C6F54 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802CB2F8 002C6F58 48 00 67 01 */ bl func_802D19F8
+lbl_802CB2FC:
+/* 802CB2FC 002C6F5C 38 60 00 03 */ li r3, 3
+lbl_802CB300:
+/* 802CB300 002C6F60 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CB304 002C6F64 4B EF BE 6D */ bl _restgpr_26
+/* 802CB308 002C6F68 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CB30C 002C6F6C 7C 08 03 A6 */ mtlr r0
+/* 802CB310 002C6F70 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CB314 002C6F74 4E 80 00 20 */ blr
+
+.global btm_sec_l2cap_access_req
+btm_sec_l2cap_access_req:
+/* 802CB318 002C6F78 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802CB31C 002C6F7C 7C 08 02 A6 */ mflr r0
+/* 802CB320 002C6F80 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802CB324 002C6F84 39 61 00 30 */ addi r11, r1, 0x30
+/* 802CB328 002C6F88 4B EF BD F5 */ bl _savegpr_24
+/* 802CB32C 002C6F8C 3F E0 80 44 */ lis r31, lbl_80441890@ha
+/* 802CB330 002C6F90 7C 78 1B 78 */ mr r24, r3
+/* 802CB334 002C6F94 7C 99 23 78 */ mr r25, r4
+/* 802CB338 002C6F98 7C BA 2B 78 */ mr r26, r5
+/* 802CB33C 002C6F9C 7C DB 33 78 */ mr r27, r6
+/* 802CB340 002C6FA0 7C FC 3B 78 */ mr r28, r7
+/* 802CB344 002C6FA4 3B FF 18 90 */ addi r31, r31, lbl_80441890@l
+/* 802CB348 002C6FA8 4B FF A2 D5 */ bl btm_find_dev
+/* 802CB34C 002C6FAC 2C 03 00 00 */ cmpwi r3, 0
+/* 802CB350 002C6FB0 7C 7E 1B 78 */ mr r30, r3
+/* 802CB354 002C6FB4 40 82 00 68 */ bne lbl_802CB3BC
+/* 802CB358 002C6FB8 7F 03 C3 78 */ mr r3, r24
+/* 802CB35C 002C6FBC 4B FF A0 E9 */ bl btm_sec_alloc_dev
+/* 802CB360 002C6FC0 2C 03 00 00 */ cmpwi r3, 0
+/* 802CB364 002C6FC4 7C 7E 1B 78 */ mr r30, r3
+/* 802CB368 002C6FC8 40 82 00 54 */ bne lbl_802CB3BC
+/* 802CB36C 002C6FCC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB370 002C6FD0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB374 002C6FD4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB378 002C6FD8 28 00 00 02 */ cmplwi r0, 2
+/* 802CB37C 002C6FDC 41 80 00 18 */ blt lbl_802CB394
+/* 802CB380 002C6FE0 3C 60 00 0D */ lis r3, 0x000D0001@ha
+/* 802CB384 002C6FE4 7F 25 CB 78 */ mr r5, r25
+/* 802CB388 002C6FE8 38 63 00 01 */ addi r3, r3, 0x000D0001@l
+/* 802CB38C 002C6FEC 38 9F 04 10 */ addi r4, r31, 0x410
+/* 802CB390 002C6FF0 4B FF 1B 99 */ bl LogMsg_1
+lbl_802CB394:
+/* 802CB394 002C6FF4 2C 1C 00 00 */ cmpwi r28, 0
+/* 802CB398 002C6FF8 41 82 00 1C */ beq lbl_802CB3B4
+/* 802CB39C 002C6FFC 7F 8C E3 78 */ mr r12, r28
+/* 802CB3A0 002C7000 7F 03 C3 78 */ mr r3, r24
+/* 802CB3A4 002C7004 38 80 00 00 */ li r4, 0
+/* 802CB3A8 002C7008 38 A0 00 03 */ li r5, 3
+/* 802CB3AC 002C700C 7D 89 03 A6 */ mtctr r12
+/* 802CB3B0 002C7010 4E 80 04 21 */ bctrl
+lbl_802CB3B4:
+/* 802CB3B4 002C7014 38 60 00 03 */ li r3, 3
+/* 802CB3B8 002C7018 48 00 03 AC */ b lbl_802CB764
+lbl_802CB3BC:
+/* 802CB3BC 002C701C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB3C0 002C7020 38 00 00 04 */ li r0, 4
+/* 802CB3C4 002C7024 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB3C8 002C7028 B3 5E 00 18 */ sth r26, 0x18(r30)
+/* 802CB3CC 002C702C 38 83 19 90 */ addi r4, r3, 0x1990
+/* 802CB3D0 002C7030 38 60 00 00 */ li r3, 0
+/* 802CB3D4 002C7034 7C 09 03 A6 */ mtctr r0
+lbl_802CB3D8:
+/* 802CB3D8 002C7038 88 04 00 0E */ lbz r0, 0xe(r4)
+/* 802CB3DC 002C703C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB3E0 002C7040 41 82 00 14 */ beq lbl_802CB3F4
+/* 802CB3E4 002C7044 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB3E8 002C7048 7C 00 C8 40 */ cmplw r0, r25
+/* 802CB3EC 002C704C 40 82 00 08 */ bne lbl_802CB3F4
+/* 802CB3F0 002C7050 48 00 00 B4 */ b lbl_802CB4A4
+lbl_802CB3F4:
+/* 802CB3F4 002C7054 88 04 00 4A */ lbz r0, 0x4a(r4)
+/* 802CB3F8 002C7058 38 84 00 3C */ addi r4, r4, 0x3c
+/* 802CB3FC 002C705C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB400 002C7060 41 82 00 14 */ beq lbl_802CB414
+/* 802CB404 002C7064 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB408 002C7068 7C 00 C8 40 */ cmplw r0, r25
+/* 802CB40C 002C706C 40 82 00 08 */ bne lbl_802CB414
+/* 802CB410 002C7070 48 00 00 94 */ b lbl_802CB4A4
+lbl_802CB414:
+/* 802CB414 002C7074 88 04 00 4A */ lbz r0, 0x4a(r4)
+/* 802CB418 002C7078 38 84 00 3C */ addi r4, r4, 0x3c
+/* 802CB41C 002C707C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB420 002C7080 41 82 00 14 */ beq lbl_802CB434
+/* 802CB424 002C7084 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB428 002C7088 7C 00 C8 40 */ cmplw r0, r25
+/* 802CB42C 002C708C 40 82 00 08 */ bne lbl_802CB434
+/* 802CB430 002C7090 48 00 00 74 */ b lbl_802CB4A4
+lbl_802CB434:
+/* 802CB434 002C7094 88 04 00 4A */ lbz r0, 0x4a(r4)
+/* 802CB438 002C7098 38 84 00 3C */ addi r4, r4, 0x3c
+/* 802CB43C 002C709C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB440 002C70A0 41 82 00 14 */ beq lbl_802CB454
+/* 802CB444 002C70A4 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB448 002C70A8 7C 00 C8 40 */ cmplw r0, r25
+/* 802CB44C 002C70AC 40 82 00 08 */ bne lbl_802CB454
+/* 802CB450 002C70B0 48 00 00 54 */ b lbl_802CB4A4
+lbl_802CB454:
+/* 802CB454 002C70B4 88 04 00 4A */ lbz r0, 0x4a(r4)
+/* 802CB458 002C70B8 38 84 00 3C */ addi r4, r4, 0x3c
+/* 802CB45C 002C70BC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB460 002C70C0 41 82 00 14 */ beq lbl_802CB474
+/* 802CB464 002C70C4 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB468 002C70C8 7C 00 C8 40 */ cmplw r0, r25
+/* 802CB46C 002C70CC 40 82 00 08 */ bne lbl_802CB474
+/* 802CB470 002C70D0 48 00 00 34 */ b lbl_802CB4A4
+lbl_802CB474:
+/* 802CB474 002C70D4 88 04 00 4A */ lbz r0, 0x4a(r4)
+/* 802CB478 002C70D8 38 84 00 3C */ addi r4, r4, 0x3c
+/* 802CB47C 002C70DC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB480 002C70E0 41 82 00 14 */ beq lbl_802CB494
+/* 802CB484 002C70E4 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB488 002C70E8 7C 00 C8 40 */ cmplw r0, r25
+/* 802CB48C 002C70EC 40 82 00 08 */ bne lbl_802CB494
+/* 802CB490 002C70F0 48 00 00 14 */ b lbl_802CB4A4
+lbl_802CB494:
+/* 802CB494 002C70F4 38 63 00 05 */ addi r3, r3, 5
+/* 802CB498 002C70F8 38 84 00 3C */ addi r4, r4, 0x3c
+/* 802CB49C 002C70FC 42 00 FF 3C */ bdnz lbl_802CB3D8
+/* 802CB4A0 002C7100 38 80 00 00 */ li r4, 0
+lbl_802CB4A4:
+/* 802CB4A4 002C7104 2C 04 00 00 */ cmpwi r4, 0
+/* 802CB4A8 002C7108 40 82 00 54 */ bne lbl_802CB4FC
+/* 802CB4AC 002C710C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB4B0 002C7110 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB4B4 002C7114 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB4B8 002C7118 28 00 00 02 */ cmplwi r0, 2
+/* 802CB4BC 002C711C 41 80 00 18 */ blt lbl_802CB4D4
+/* 802CB4C0 002C7120 3C 60 00 0D */ lis r3, 0x000D0001@ha
+/* 802CB4C4 002C7124 7F 25 CB 78 */ mr r5, r25
+/* 802CB4C8 002C7128 38 63 00 01 */ addi r3, r3, 0x000D0001@l
+/* 802CB4CC 002C712C 38 9F 04 48 */ addi r4, r31, 0x448
+/* 802CB4D0 002C7130 4B FF 1A 59 */ bl LogMsg_1
+lbl_802CB4D4:
+/* 802CB4D4 002C7134 2C 1C 00 00 */ cmpwi r28, 0
+/* 802CB4D8 002C7138 41 82 00 1C */ beq lbl_802CB4F4
+/* 802CB4DC 002C713C 7F 8C E3 78 */ mr r12, r28
+/* 802CB4E0 002C7140 7F 03 C3 78 */ mr r3, r24
+/* 802CB4E4 002C7144 38 80 00 00 */ li r4, 0
+/* 802CB4E8 002C7148 38 A0 00 04 */ li r5, 4
+/* 802CB4EC 002C714C 7D 89 03 A6 */ mtctr r12
+/* 802CB4F0 002C7150 4E 80 04 21 */ bctrl
+lbl_802CB4F4:
+/* 802CB4F4 002C7154 38 60 00 04 */ li r3, 4
+/* 802CB4F8 002C7158 48 00 02 6C */ b lbl_802CB764
+lbl_802CB4FC:
+/* 802CB4FC 002C715C 2C 1B 00 00 */ cmpwi r27, 0
+/* 802CB500 002C7160 41 82 00 14 */ beq lbl_802CB514
+/* 802CB504 002C7164 41 82 00 14 */ beq lbl_802CB518
+/* 802CB508 002C7168 80 1E 00 00 */ lwz r0, 0(r30)
+/* 802CB50C 002C716C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CB510 002C7170 40 82 00 08 */ bne lbl_802CB518
+lbl_802CB514:
+/* 802CB514 002C7174 90 9E 00 00 */ stw r4, 0(r30)
+lbl_802CB518:
+/* 802CB518 002C7178 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB51C 002C717C 38 00 00 06 */ li r0, 6
+/* 802CB520 002C7180 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB524 002C7184 8B A4 00 0E */ lbz r29, 0xe(r4)
+/* 802CB528 002C7188 38 E3 19 90 */ addi r7, r3, 0x1990
+/* 802CB52C 002C718C 38 C0 00 00 */ li r6, 0
+/* 802CB530 002C7190 38 A0 00 00 */ li r5, 0
+/* 802CB534 002C7194 7C 09 03 A6 */ mtctr r0
+lbl_802CB538:
+/* 802CB538 002C7198 88 07 00 0E */ lbz r0, 0xe(r7)
+/* 802CB53C 002C719C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB540 002C71A0 41 82 00 30 */ beq lbl_802CB570
+/* 802CB544 002C71A4 A0 67 00 0C */ lhz r3, 0xc(r7)
+/* 802CB548 002C71A8 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB54C 002C71AC 7C 03 00 40 */ cmplw r3, r0
+/* 802CB550 002C71B0 40 82 00 20 */ bne lbl_802CB570
+/* 802CB554 002C71B4 2C 06 00 00 */ cmpwi r6, 0
+/* 802CB558 002C71B8 40 82 00 DC */ bne lbl_802CB634
+/* 802CB55C 002C71BC 7C 04 38 40 */ cmplw r4, r7
+/* 802CB560 002C71C0 40 82 00 10 */ bne lbl_802CB570
+/* 802CB564 002C71C4 38 C0 00 01 */ li r6, 1
+/* 802CB568 002C71C8 48 00 00 08 */ b lbl_802CB570
+/* 802CB56C 002C71CC 48 00 00 C8 */ b lbl_802CB634
+lbl_802CB570:
+/* 802CB570 002C71D0 88 07 00 4A */ lbz r0, 0x4a(r7)
+/* 802CB574 002C71D4 38 E7 00 3C */ addi r7, r7, 0x3c
+/* 802CB578 002C71D8 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB57C 002C71DC 41 82 00 30 */ beq lbl_802CB5AC
+/* 802CB580 002C71E0 A0 67 00 0C */ lhz r3, 0xc(r7)
+/* 802CB584 002C71E4 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB588 002C71E8 7C 03 00 40 */ cmplw r3, r0
+/* 802CB58C 002C71EC 40 82 00 20 */ bne lbl_802CB5AC
+/* 802CB590 002C71F0 2C 06 00 00 */ cmpwi r6, 0
+/* 802CB594 002C71F4 40 82 00 A0 */ bne lbl_802CB634
+/* 802CB598 002C71F8 7C 04 38 40 */ cmplw r4, r7
+/* 802CB59C 002C71FC 40 82 00 10 */ bne lbl_802CB5AC
+/* 802CB5A0 002C7200 38 C0 00 01 */ li r6, 1
+/* 802CB5A4 002C7204 48 00 00 08 */ b lbl_802CB5AC
+/* 802CB5A8 002C7208 48 00 00 8C */ b lbl_802CB634
+lbl_802CB5AC:
+/* 802CB5AC 002C720C 88 07 00 4A */ lbz r0, 0x4a(r7)
+/* 802CB5B0 002C7210 38 E7 00 3C */ addi r7, r7, 0x3c
+/* 802CB5B4 002C7214 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB5B8 002C7218 41 82 00 30 */ beq lbl_802CB5E8
+/* 802CB5BC 002C721C A0 67 00 0C */ lhz r3, 0xc(r7)
+/* 802CB5C0 002C7220 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB5C4 002C7224 7C 03 00 40 */ cmplw r3, r0
+/* 802CB5C8 002C7228 40 82 00 20 */ bne lbl_802CB5E8
+/* 802CB5CC 002C722C 2C 06 00 00 */ cmpwi r6, 0
+/* 802CB5D0 002C7230 40 82 00 64 */ bne lbl_802CB634
+/* 802CB5D4 002C7234 7C 04 38 40 */ cmplw r4, r7
+/* 802CB5D8 002C7238 40 82 00 10 */ bne lbl_802CB5E8
+/* 802CB5DC 002C723C 38 C0 00 01 */ li r6, 1
+/* 802CB5E0 002C7240 48 00 00 08 */ b lbl_802CB5E8
+/* 802CB5E4 002C7244 48 00 00 50 */ b lbl_802CB634
+lbl_802CB5E8:
+/* 802CB5E8 002C7248 88 07 00 4A */ lbz r0, 0x4a(r7)
+/* 802CB5EC 002C724C 38 E7 00 3C */ addi r7, r7, 0x3c
+/* 802CB5F0 002C7250 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB5F4 002C7254 41 82 00 30 */ beq lbl_802CB624
+/* 802CB5F8 002C7258 A0 67 00 0C */ lhz r3, 0xc(r7)
+/* 802CB5FC 002C725C A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 802CB600 002C7260 7C 03 00 40 */ cmplw r3, r0
+/* 802CB604 002C7264 40 82 00 20 */ bne lbl_802CB624
+/* 802CB608 002C7268 2C 06 00 00 */ cmpwi r6, 0
+/* 802CB60C 002C726C 40 82 00 28 */ bne lbl_802CB634
+/* 802CB610 002C7270 7C 04 38 40 */ cmplw r4, r7
+/* 802CB614 002C7274 40 82 00 10 */ bne lbl_802CB624
+/* 802CB618 002C7278 38 C0 00 01 */ li r6, 1
+/* 802CB61C 002C727C 48 00 00 08 */ b lbl_802CB624
+/* 802CB620 002C7280 48 00 00 14 */ b lbl_802CB634
+lbl_802CB624:
+/* 802CB624 002C7284 38 A5 00 03 */ addi r5, r5, 3
+/* 802CB628 002C7288 38 E7 00 3C */ addi r7, r7, 0x3c
+/* 802CB62C 002C728C 42 00 FF 0C */ bdnz lbl_802CB538
+/* 802CB630 002C7290 38 E0 00 00 */ li r7, 0
+lbl_802CB634:
+/* 802CB634 002C7294 2C 07 00 00 */ cmpwi r7, 0
+/* 802CB638 002C7298 41 82 00 54 */ beq lbl_802CB68C
+/* 802CB63C 002C729C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB640 002C72A0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB644 002C72A4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB648 002C72A8 28 00 00 04 */ cmplwi r0, 4
+/* 802CB64C 002C72AC 41 80 00 18 */ blt lbl_802CB664
+/* 802CB650 002C72B0 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CB654 002C72B4 7F 25 CB 78 */ mr r5, r25
+/* 802CB658 002C72B8 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CB65C 002C72BC 38 9F 04 8C */ addi r4, r31, 0x48c
+/* 802CB660 002C72C0 4B FF 18 C9 */ bl LogMsg_1
+lbl_802CB664:
+/* 802CB664 002C72C4 2C 1C 00 00 */ cmpwi r28, 0
+/* 802CB668 002C72C8 41 82 00 1C */ beq lbl_802CB684
+/* 802CB66C 002C72CC 7F 8C E3 78 */ mr r12, r28
+/* 802CB670 002C72D0 7F 03 C3 78 */ mr r3, r24
+/* 802CB674 002C72D4 38 80 00 00 */ li r4, 0
+/* 802CB678 002C72D8 38 A0 00 00 */ li r5, 0
+/* 802CB67C 002C72DC 7D 89 03 A6 */ mtctr r12
+/* 802CB680 002C72E0 4E 80 04 21 */ bctrl
+lbl_802CB684:
+/* 802CB684 002C72E4 38 60 00 00 */ li r3, 0
+/* 802CB688 002C72E8 48 00 00 DC */ b lbl_802CB764
+lbl_802CB68C:
+/* 802CB68C 002C72EC 93 9E 00 04 */ stw r28, 4(r30)
+/* 802CB690 002C72F0 38 00 00 00 */ li r0, 0
+/* 802CB694 002C72F4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB698 002C72F8 90 1E 00 08 */ stw r0, 8(r30)
+/* 802CB69C 002C72FC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB6A0 002C7300 9B BE 00 81 */ stb r29, 0x81(r30)
+/* 802CB6A4 002C7304 9B 7E 00 80 */ stb r27, 0x80(r30)
+/* 802CB6A8 002C7308 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB6AC 002C730C 28 00 00 04 */ cmplwi r0, 4
+/* 802CB6B0 002C7310 41 80 00 28 */ blt lbl_802CB6D8
+/* 802CB6B4 002C7314 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CB6B8 002C7318 88 FE 00 7F */ lbz r7, 0x7f(r30)
+/* 802CB6BC 002C731C 89 1E 00 76 */ lbz r8, 0x76(r30)
+/* 802CB6C0 002C7320 7F 25 CB 78 */ mr r5, r25
+/* 802CB6C4 002C7324 7F 46 D3 78 */ mr r6, r26
+/* 802CB6C8 002C7328 7F A9 EB 78 */ mr r9, r29
+/* 802CB6CC 002C732C 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CB6D0 002C7330 38 9F 04 D0 */ addi r4, r31, 0x4d0
+/* 802CB6D4 002C7334 4B FF 18 B5 */ bl LogMsg_5
+lbl_802CB6D8:
+/* 802CB6D8 002C7338 2C 1B 00 00 */ cmpwi r27, 0
+/* 802CB6DC 002C733C 40 82 00 48 */ bne lbl_802CB724
+/* 802CB6E0 002C7340 57 A0 07 FF */ clrlwi. r0, r29, 0x1f
+/* 802CB6E4 002C7344 41 82 00 40 */ beq lbl_802CB724
+/* 802CB6E8 002C7348 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802CB6EC 002C734C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB6F0 002C7350 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB6F4 002C7354 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e
+/* 802CB6F8 002C7358 98 1E 00 76 */ stb r0, 0x76(r30)
+/* 802CB6FC 002C735C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB700 002C7360 28 00 00 04 */ cmplwi r0, 4
+/* 802CB704 002C7364 41 80 00 20 */ blt lbl_802CB724
+/* 802CB708 002C7368 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CB70C 002C736C 80 BE 00 14 */ lwz r5, 0x14(r30)
+/* 802CB710 002C7370 80 DE 00 10 */ lwz r6, 0x10(r30)
+/* 802CB714 002C7374 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CB718 002C7378 88 FE 00 76 */ lbz r7, 0x76(r30)
+/* 802CB71C 002C737C 38 9F 05 28 */ addi r4, r31, 0x528
+/* 802CB720 002C7380 4B FF 18 39 */ bl LogMsg_3
+lbl_802CB724:
+/* 802CB724 002C7384 7F C3 F3 78 */ mr r3, r30
+/* 802CB728 002C7388 48 00 1B 45 */ bl btm_sec_execute_procedure
+/* 802CB72C 002C738C 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802CB730 002C7390 7C 79 1B 78 */ mr r25, r3
+/* 802CB734 002C7394 28 05 00 01 */ cmplwi r5, 1
+/* 802CB738 002C7398 41 82 00 28 */ beq lbl_802CB760
+/* 802CB73C 002C739C 2C 1C 00 00 */ cmpwi r28, 0
+/* 802CB740 002C73A0 41 82 00 20 */ beq lbl_802CB760
+/* 802CB744 002C73A4 7F 8C E3 78 */ mr r12, r28
+/* 802CB748 002C73A8 7F 03 C3 78 */ mr r3, r24
+/* 802CB74C 002C73AC 80 9E 00 08 */ lwz r4, 8(r30)
+/* 802CB750 002C73B0 7D 89 03 A6 */ mtctr r12
+/* 802CB754 002C73B4 4E 80 04 21 */ bctrl
+/* 802CB758 002C73B8 38 00 00 00 */ li r0, 0
+/* 802CB75C 002C73BC 90 1E 00 04 */ stw r0, 4(r30)
+lbl_802CB760:
+/* 802CB760 002C73C0 7F 23 CB 78 */ mr r3, r25
+lbl_802CB764:
+/* 802CB764 002C73C4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802CB768 002C73C8 4B EF BA 01 */ bl _restgpr_24
+/* 802CB76C 002C73CC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802CB770 002C73D0 7C 08 03 A6 */ mtlr r0
+/* 802CB774 002C73D4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802CB778 002C73D8 4E 80 00 20 */ blr
+
+.global btm_sec_mx_access_request
+btm_sec_mx_access_request:
+/* 802CB77C 002C73DC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802CB780 002C73E0 7C 08 02 A6 */ mflr r0
+/* 802CB784 002C73E4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802CB788 002C73E8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802CB78C 002C73EC 4B EF B9 91 */ bl _savegpr_24
+/* 802CB790 002C73F0 7C 78 1B 78 */ mr r24, r3
+/* 802CB794 002C73F4 7C 99 23 78 */ mr r25, r4
+/* 802CB798 002C73F8 7C BA 2B 78 */ mr r26, r5
+/* 802CB79C 002C73FC 7C DB 33 78 */ mr r27, r6
+/* 802CB7A0 002C7400 7C FC 3B 78 */ mr r28, r7
+/* 802CB7A4 002C7404 7D 1D 43 78 */ mr r29, r8
+/* 802CB7A8 002C7408 7D 3E 4B 78 */ mr r30, r9
+/* 802CB7AC 002C740C 4B FF 9E 71 */ bl btm_find_dev
+/* 802CB7B0 002C7410 2C 03 00 00 */ cmpwi r3, 0
+/* 802CB7B4 002C7414 7C 7F 1B 78 */ mr r31, r3
+/* 802CB7B8 002C7418 40 82 00 3C */ bne lbl_802CB7F4
+/* 802CB7BC 002C741C 7F 03 C3 78 */ mr r3, r24
+/* 802CB7C0 002C7420 4B FF 9C 85 */ bl btm_sec_alloc_dev
+/* 802CB7C4 002C7424 2C 03 00 00 */ cmpwi r3, 0
+/* 802CB7C8 002C7428 7C 7F 1B 78 */ mr r31, r3
+/* 802CB7CC 002C742C 40 82 00 28 */ bne lbl_802CB7F4
+/* 802CB7D0 002C7430 2C 1D 00 00 */ cmpwi r29, 0
+/* 802CB7D4 002C7434 41 82 02 2C */ beq lbl_802CBA00
+/* 802CB7D8 002C7438 7F AC EB 78 */ mr r12, r29
+/* 802CB7DC 002C743C 7F 03 C3 78 */ mr r3, r24
+/* 802CB7E0 002C7440 7F C4 F3 78 */ mr r4, r30
+/* 802CB7E4 002C7444 38 A0 00 03 */ li r5, 3
+/* 802CB7E8 002C7448 7D 89 03 A6 */ mtctr r12
+/* 802CB7EC 002C744C 4E 80 04 21 */ bctrl
+/* 802CB7F0 002C7450 48 00 02 10 */ b lbl_802CBA00
+lbl_802CB7F4:
+/* 802CB7F4 002C7454 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB7F8 002C7458 38 00 00 08 */ li r0, 8
+/* 802CB7FC 002C745C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB800 002C7460 38 80 00 00 */ li r4, 0
+/* 802CB804 002C7464 38 A3 19 90 */ addi r5, r3, 0x1990
+/* 802CB808 002C7468 7C 09 03 A6 */ mtctr r0
+lbl_802CB80C:
+/* 802CB80C 002C746C 88 05 00 0E */ lbz r0, 0xe(r5)
+/* 802CB810 002C7470 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB814 002C7474 41 82 00 48 */ beq lbl_802CB85C
+/* 802CB818 002C7478 A0 05 00 0C */ lhz r0, 0xc(r5)
+/* 802CB81C 002C747C 7C 00 C8 40 */ cmplw r0, r25
+/* 802CB820 002C7480 40 82 00 3C */ bne lbl_802CB85C
+/* 802CB824 002C7484 80 05 00 00 */ lwz r0, 0(r5)
+/* 802CB828 002C7488 7C 00 D8 40 */ cmplw r0, r27
+/* 802CB82C 002C748C 40 82 00 30 */ bne lbl_802CB85C
+/* 802CB830 002C7490 2C 1A 00 00 */ cmpwi r26, 0
+/* 802CB834 002C7494 41 82 00 10 */ beq lbl_802CB844
+/* 802CB838 002C7498 80 05 00 04 */ lwz r0, 4(r5)
+/* 802CB83C 002C749C 7C 00 E0 40 */ cmplw r0, r28
+/* 802CB840 002C74A0 41 82 00 D4 */ beq lbl_802CB914
+lbl_802CB844:
+/* 802CB844 002C74A4 2C 1A 00 00 */ cmpwi r26, 0
+/* 802CB848 002C74A8 40 82 00 14 */ bne lbl_802CB85C
+/* 802CB84C 002C74AC 80 05 00 08 */ lwz r0, 8(r5)
+/* 802CB850 002C74B0 7C 00 E0 40 */ cmplw r0, r28
+/* 802CB854 002C74B4 40 82 00 08 */ bne lbl_802CB85C
+/* 802CB858 002C74B8 48 00 00 BC */ b lbl_802CB914
+lbl_802CB85C:
+/* 802CB85C 002C74BC 88 05 00 4A */ lbz r0, 0x4a(r5)
+/* 802CB860 002C74C0 38 A5 00 3C */ addi r5, r5, 0x3c
+/* 802CB864 002C74C4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB868 002C74C8 41 82 00 48 */ beq lbl_802CB8B0
+/* 802CB86C 002C74CC A0 05 00 0C */ lhz r0, 0xc(r5)
+/* 802CB870 002C74D0 7C 00 C8 40 */ cmplw r0, r25
+/* 802CB874 002C74D4 40 82 00 3C */ bne lbl_802CB8B0
+/* 802CB878 002C74D8 80 05 00 00 */ lwz r0, 0(r5)
+/* 802CB87C 002C74DC 7C 00 D8 40 */ cmplw r0, r27
+/* 802CB880 002C74E0 40 82 00 30 */ bne lbl_802CB8B0
+/* 802CB884 002C74E4 2C 1A 00 00 */ cmpwi r26, 0
+/* 802CB888 002C74E8 41 82 00 10 */ beq lbl_802CB898
+/* 802CB88C 002C74EC 80 05 00 04 */ lwz r0, 4(r5)
+/* 802CB890 002C74F0 7C 00 E0 40 */ cmplw r0, r28
+/* 802CB894 002C74F4 41 82 00 80 */ beq lbl_802CB914
+lbl_802CB898:
+/* 802CB898 002C74F8 2C 1A 00 00 */ cmpwi r26, 0
+/* 802CB89C 002C74FC 40 82 00 14 */ bne lbl_802CB8B0
+/* 802CB8A0 002C7500 80 05 00 08 */ lwz r0, 8(r5)
+/* 802CB8A4 002C7504 7C 00 E0 40 */ cmplw r0, r28
+/* 802CB8A8 002C7508 40 82 00 08 */ bne lbl_802CB8B0
+/* 802CB8AC 002C750C 48 00 00 68 */ b lbl_802CB914
+lbl_802CB8B0:
+/* 802CB8B0 002C7510 88 05 00 4A */ lbz r0, 0x4a(r5)
+/* 802CB8B4 002C7514 38 A5 00 3C */ addi r5, r5, 0x3c
+/* 802CB8B8 002C7518 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CB8BC 002C751C 41 82 00 48 */ beq lbl_802CB904
+/* 802CB8C0 002C7520 A0 05 00 0C */ lhz r0, 0xc(r5)
+/* 802CB8C4 002C7524 7C 00 C8 40 */ cmplw r0, r25
+/* 802CB8C8 002C7528 40 82 00 3C */ bne lbl_802CB904
+/* 802CB8CC 002C752C 80 05 00 00 */ lwz r0, 0(r5)
+/* 802CB8D0 002C7530 7C 00 D8 40 */ cmplw r0, r27
+/* 802CB8D4 002C7534 40 82 00 30 */ bne lbl_802CB904
+/* 802CB8D8 002C7538 2C 1A 00 00 */ cmpwi r26, 0
+/* 802CB8DC 002C753C 41 82 00 10 */ beq lbl_802CB8EC
+/* 802CB8E0 002C7540 80 05 00 04 */ lwz r0, 4(r5)
+/* 802CB8E4 002C7544 7C 00 E0 40 */ cmplw r0, r28
+/* 802CB8E8 002C7548 41 82 00 2C */ beq lbl_802CB914
+lbl_802CB8EC:
+/* 802CB8EC 002C754C 2C 1A 00 00 */ cmpwi r26, 0
+/* 802CB8F0 002C7550 40 82 00 14 */ bne lbl_802CB904
+/* 802CB8F4 002C7554 80 05 00 08 */ lwz r0, 8(r5)
+/* 802CB8F8 002C7558 7C 00 E0 40 */ cmplw r0, r28
+/* 802CB8FC 002C755C 40 82 00 08 */ bne lbl_802CB904
+/* 802CB900 002C7560 48 00 00 14 */ b lbl_802CB914
+lbl_802CB904:
+/* 802CB904 002C7564 38 84 00 02 */ addi r4, r4, 2
+/* 802CB908 002C7568 38 A5 00 3C */ addi r5, r5, 0x3c
+/* 802CB90C 002C756C 42 00 FF 00 */ bdnz lbl_802CB80C
+/* 802CB910 002C7570 38 A0 00 00 */ li r5, 0
+lbl_802CB914:
+/* 802CB914 002C7574 2C 05 00 00 */ cmpwi r5, 0
+/* 802CB918 002C7578 40 82 00 58 */ bne lbl_802CB970
+/* 802CB91C 002C757C 2C 1D 00 00 */ cmpwi r29, 0
+/* 802CB920 002C7580 41 82 00 1C */ beq lbl_802CB93C
+/* 802CB924 002C7584 7F AC EB 78 */ mr r12, r29
+/* 802CB928 002C7588 7F 03 C3 78 */ mr r3, r24
+/* 802CB92C 002C758C 7F C4 F3 78 */ mr r4, r30
+/* 802CB930 002C7590 38 A0 00 04 */ li r5, 4
+/* 802CB934 002C7594 7D 89 03 A6 */ mtctr r12
+/* 802CB938 002C7598 4E 80 04 21 */ bctrl
+lbl_802CB93C:
+/* 802CB93C 002C759C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CB940 002C75A0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CB944 002C75A4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CB948 002C75A8 28 00 00 01 */ cmplwi r0, 1
+/* 802CB94C 002C75AC 41 80 00 B4 */ blt lbl_802CBA00
+/* 802CB950 002C75B0 3C 80 80 44 */ lis r4, lbl_80441DE8@ha
+/* 802CB954 002C75B4 7F 25 CB 78 */ mr r5, r25
+/* 802CB958 002C75B8 7F 66 DB 78 */ mr r6, r27
+/* 802CB95C 002C75BC 7F 87 E3 78 */ mr r7, r28
+/* 802CB960 002C75C0 38 84 1D E8 */ addi r4, r4, lbl_80441DE8@l
+/* 802CB964 002C75C4 3C 60 00 0D */ lis r3, 0xd
+/* 802CB968 002C75C8 4B FF 15 F1 */ bl LogMsg_3
+/* 802CB96C 002C75CC 48 00 00 94 */ b lbl_802CBA00
+lbl_802CB970:
+/* 802CB970 002C75D0 90 BF 00 00 */ stw r5, 0(r31)
+/* 802CB974 002C75D4 7F E3 FB 78 */ mr r3, r31
+/* 802CB978 002C75D8 88 05 00 0E */ lbz r0, 0xe(r5)
+/* 802CB97C 002C75DC 98 1F 00 81 */ stb r0, 0x81(r31)
+/* 802CB980 002C75E0 9B 5F 00 80 */ stb r26, 0x80(r31)
+/* 802CB984 002C75E4 93 BF 00 04 */ stw r29, 4(r31)
+/* 802CB988 002C75E8 93 DF 00 08 */ stw r30, 8(r31)
+/* 802CB98C 002C75EC 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CB990 002C75F0 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e
+/* 802CB994 002C75F4 98 1F 00 76 */ stb r0, 0x76(r31)
+/* 802CB998 002C75F8 48 00 18 D5 */ bl btm_sec_execute_procedure
+/* 802CB99C 002C75FC 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802CB9A0 002C7600 7C 65 1B 78 */ mr r5, r3
+/* 802CB9A4 002C7604 28 00 00 01 */ cmplwi r0, 1
+/* 802CB9A8 002C7608 41 82 00 58 */ beq lbl_802CBA00
+/* 802CB9AC 002C760C 2C 1D 00 00 */ cmpwi r29, 0
+/* 802CB9B0 002C7610 41 82 00 50 */ beq lbl_802CBA00
+/* 802CB9B4 002C7614 88 1F 00 80 */ lbz r0, 0x80(r31)
+/* 802CB9B8 002C7618 2C 00 00 00 */ cmpwi r0, 0
+/* 802CB9BC 002C761C 41 82 00 24 */ beq lbl_802CB9E0
+/* 802CB9C0 002C7620 80 7F 00 00 */ lwz r3, 0(r31)
+/* 802CB9C4 002C7624 2C 03 00 00 */ cmpwi r3, 0
+/* 802CB9C8 002C7628 41 82 00 18 */ beq lbl_802CB9E0
+/* 802CB9CC 002C762C 80 03 00 00 */ lwz r0, 0(r3)
+/* 802CB9D0 002C7630 28 00 00 03 */ cmplwi r0, 3
+/* 802CB9D4 002C7634 40 82 00 0C */ bne lbl_802CB9E0
+/* 802CB9D8 002C7638 38 00 00 00 */ li r0, 0
+/* 802CB9DC 002C763C 90 03 00 04 */ stw r0, 4(r3)
+lbl_802CB9E0:
+/* 802CB9E0 002C7640 7F AC EB 78 */ mr r12, r29
+/* 802CB9E4 002C7644 7F 03 C3 78 */ mr r3, r24
+/* 802CB9E8 002C7648 7F C4 F3 78 */ mr r4, r30
+/* 802CB9EC 002C764C 54 A5 06 3E */ clrlwi r5, r5, 0x18
+/* 802CB9F0 002C7650 7D 89 03 A6 */ mtctr r12
+/* 802CB9F4 002C7654 4E 80 04 21 */ bctrl
+/* 802CB9F8 002C7658 38 00 00 00 */ li r0, 0
+/* 802CB9FC 002C765C 90 1F 00 04 */ stw r0, 4(r31)
+lbl_802CBA00:
+/* 802CBA00 002C7660 39 61 00 30 */ addi r11, r1, 0x30
+/* 802CBA04 002C7664 4B EF B7 65 */ bl _restgpr_24
+/* 802CBA08 002C7668 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802CBA0C 002C766C 7C 08 03 A6 */ mtlr r0
+/* 802CBA10 002C7670 38 21 00 30 */ addi r1, r1, 0x30
+/* 802CBA14 002C7674 4E 80 00 20 */ blr
+
+.global btm_sec_conn_req
+btm_sec_conn_req:
+/* 802CBA18 002C7678 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CBA1C 002C767C 7C 08 02 A6 */ mflr r0
+/* 802CBA20 002C7680 3C A0 80 57 */ lis r5, lbl_80568B78@ha
+/* 802CBA24 002C7684 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CBA28 002C7688 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l
+/* 802CBA2C 002C768C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CBA30 002C7690 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CBA34 002C7694 7C 9E 23 78 */ mr r30, r4
+/* 802CBA38 002C7698 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CBA3C 002C769C 7C 7D 1B 78 */ mr r29, r3
+/* 802CBA40 002C76A0 88 05 19 7A */ lbz r0, 0x197a(r5)
+/* 802CBA44 002C76A4 2C 00 00 00 */ cmpwi r0, 0
+/* 802CBA48 002C76A8 41 82 00 64 */ beq lbl_802CBAAC
+/* 802CBA4C 002C76AC 4B FF 9B D1 */ bl btm_find_dev
+/* 802CBA50 002C76B0 2C 03 00 00 */ cmpwi r3, 0
+/* 802CBA54 002C76B4 41 82 00 10 */ beq lbl_802CBA64
+/* 802CBA58 002C76B8 88 03 00 76 */ lbz r0, 0x76(r3)
+/* 802CBA5C 002C76BC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 802CBA60 002C76C0 40 82 00 4C */ bne lbl_802CBAAC
+lbl_802CBA64:
+/* 802CBA64 002C76C4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CBA68 002C76C8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CBA6C 002C76CC 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CBA70 002C76D0 28 00 00 04 */ cmplwi r0, 4
+/* 802CBA74 002C76D4 41 80 00 18 */ blt lbl_802CBA8C
+/* 802CBA78 002C76D8 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CBA7C 002C76DC 3C 80 80 44 */ lis r4, lbl_80441E28@ha
+/* 802CBA80 002C76E0 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CBA84 002C76E4 38 84 1E 28 */ addi r4, r4, lbl_80441E28@l
+/* 802CBA88 002C76E8 4B FF 14 89 */ bl LogMsg_0
+lbl_802CBA8C:
+/* 802CBA8C 002C76EC 38 60 00 02 */ li r3, 2
+/* 802CBA90 002C76F0 4B FE E1 BD */ bl GKI_getpoolbuf
+/* 802CBA94 002C76F4 2C 03 00 00 */ cmpwi r3, 0
+/* 802CBA98 002C76F8 41 82 00 90 */ beq lbl_802CBB28
+/* 802CBA9C 002C76FC 7F A4 EB 78 */ mr r4, r29
+/* 802CBAA0 002C7700 38 A0 00 0F */ li r5, 0xf
+/* 802CBAA4 002C7704 48 00 47 61 */ bl func_802D0204
+/* 802CBAA8 002C7708 48 00 00 80 */ b lbl_802CBB28
+lbl_802CBAAC:
+/* 802CBAAC 002C770C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CBAB0 002C7710 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CBAB4 002C7714 81 83 19 34 */ lwz r12, 0x1934(r3)
+/* 802CBAB8 002C7718 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CBABC 002C771C 41 82 00 3C */ beq lbl_802CBAF8
+/* 802CBAC0 002C7720 7F A3 EB 78 */ mr r3, r29
+/* 802CBAC4 002C7724 7F C4 F3 78 */ mr r4, r30
+/* 802CBAC8 002C7728 7D 89 03 A6 */ mtctr r12
+/* 802CBACC 002C772C 4E 80 04 21 */ bctrl
+/* 802CBAD0 002C7730 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CBAD4 002C7734 40 82 00 24 */ bne lbl_802CBAF8
+/* 802CBAD8 002C7738 38 60 00 02 */ li r3, 2
+/* 802CBADC 002C773C 4B FE E1 71 */ bl GKI_getpoolbuf
+/* 802CBAE0 002C7740 2C 03 00 00 */ cmpwi r3, 0
+/* 802CBAE4 002C7744 41 82 00 44 */ beq lbl_802CBB28
+/* 802CBAE8 002C7748 7F A4 EB 78 */ mr r4, r29
+/* 802CBAEC 002C774C 38 A0 00 0F */ li r5, 0xf
+/* 802CBAF0 002C7750 48 00 47 15 */ bl func_802D0204
+/* 802CBAF4 002C7754 48 00 00 34 */ b lbl_802CBB28
+lbl_802CBAF8:
+/* 802CBAF8 002C7758 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802CBAFC 002C775C 7F A4 EB 78 */ mr r4, r29
+/* 802CBB00 002C7760 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802CBB04 002C7764 38 A0 00 06 */ li r5, 6
+/* 802CBB08 002C7768 38 7F 27 B4 */ addi r3, r31, 0x27b4
+/* 802CBB0C 002C776C 4B D3 84 F5 */ bl memcpy
+/* 802CBB10 002C7770 7F C4 F3 78 */ mr r4, r30
+/* 802CBB14 002C7774 38 7F 27 BA */ addi r3, r31, 0x27ba
+/* 802CBB18 002C7778 38 A0 00 03 */ li r5, 3
+/* 802CBB1C 002C777C 4B D3 84 E5 */ bl memcpy
+/* 802CBB20 002C7780 7F A3 EB 78 */ mr r3, r29
+/* 802CBB24 002C7784 48 00 BD B5 */ bl func_802D78D8
+lbl_802CBB28:
+/* 802CBB28 002C7788 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CBB2C 002C778C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CBB30 002C7790 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CBB34 002C7794 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CBB38 002C7798 7C 08 03 A6 */ mtlr r0
+/* 802CBB3C 002C779C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CBB40 002C77A0 4E 80 00 20 */ blr
+
+.global btm_sec_init
+btm_sec_init:
+/* 802CBB44 002C77A4 3C C0 80 57 */ lis r6, lbl_80568B78@ha
+/* 802CBB48 002C77A8 38 80 00 FF */ li r4, 0xff
+/* 802CBB4C 002C77AC 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l
+/* 802CBB50 002C77B0 38 A0 00 06 */ li r5, 6
+/* 802CBB54 002C77B4 98 66 19 78 */ stb r3, 0x1978(r6)
+/* 802CBB58 002C77B8 38 66 19 54 */ addi r3, r6, 0x1954
+/* 802CBB5C 002C77BC 4B D3 85 A8 */ b memset
+
+.global btm_sec_dev_reset
+btm_sec_dev_reset:
+/* 802CBB60 002C77C0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CBB64 002C77C4 7C 08 02 A6 */ mflr r0
+/* 802CBB68 002C77C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CBB6C 002C77CC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CBB70 002C77D0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CBB74 002C77D4 88 03 19 78 */ lbz r0, 0x1978(r3)
+/* 802CBB78 002C77D8 28 00 00 03 */ cmplwi r0, 3
+/* 802CBB7C 002C77DC 40 82 00 14 */ bne lbl_802CBB90
+/* 802CBB80 002C77E0 38 60 00 01 */ li r3, 1
+/* 802CBB84 002C77E4 48 00 5E 75 */ bl func_802D19F8
+/* 802CBB88 002C77E8 38 60 00 01 */ li r3, 1
+/* 802CBB8C 002C77EC 48 00 5E E1 */ bl func_802D1A6C
+lbl_802CBB90:
+/* 802CBB90 002C77F0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CBB94 002C77F4 7C 08 03 A6 */ mtlr r0
+/* 802CBB98 002C77F8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CBB9C 002C77FC 4E 80 00 20 */ blr
+
+.global btm_sec_abort_access_req
+btm_sec_abort_access_req:
+/* 802CBBA0 002C7800 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CBBA4 002C7804 7C 08 02 A6 */ mflr r0
+/* 802CBBA8 002C7808 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CBBAC 002C780C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CBBB0 002C7810 93 C1 00 08 */ stw r30, 8(r1)
+/* 802CBBB4 002C7814 7C 7E 1B 78 */ mr r30, r3
+/* 802CBBB8 002C7818 4B FF 9A 65 */ bl btm_find_dev
+/* 802CBBBC 002C781C 2C 03 00 00 */ cmpwi r3, 0
+/* 802CBBC0 002C7820 7C 7F 1B 78 */ mr r31, r3
+/* 802CBBC4 002C7824 41 82 00 78 */ beq lbl_802CBC3C
+/* 802CBBC8 002C7828 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CBBCC 002C782C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CBBD0 002C7830 81 83 19 20 */ lwz r12, 0x1920(r3)
+/* 802CBBD4 002C7834 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CBBD8 002C7838 41 82 00 18 */ beq lbl_802CBBF0
+/* 802CBBDC 002C783C 7F C3 F3 78 */ mr r3, r30
+/* 802CBBE0 002C7840 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CBBE4 002C7844 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CBBE8 002C7848 7D 89 03 A6 */ mtctr r12
+/* 802CBBEC 002C784C 4E 80 04 21 */ bctrl
+lbl_802CBBF0:
+/* 802CBBF0 002C7850 88 1F 00 7F */ lbz r0, 0x7f(r31)
+/* 802CBBF4 002C7854 28 00 00 04 */ cmplwi r0, 4
+/* 802CBBF8 002C7858 41 82 00 0C */ beq lbl_802CBC04
+/* 802CBBFC 002C785C 28 00 00 01 */ cmplwi r0, 1
+/* 802CBC00 002C7860 40 82 00 3C */ bne lbl_802CBC3C
+lbl_802CBC04:
+/* 802CBC04 002C7864 38 60 00 00 */ li r3, 0
+/* 802CBC08 002C7868 98 7F 00 7F */ stb r3, 0x7f(r31)
+/* 802CBC0C 002C786C 88 1F 00 80 */ lbz r0, 0x80(r31)
+/* 802CBC10 002C7870 2C 00 00 00 */ cmpwi r0, 0
+/* 802CBC14 002C7874 41 82 00 20 */ beq lbl_802CBC34
+/* 802CBC18 002C7878 80 9F 00 00 */ lwz r4, 0(r31)
+/* 802CBC1C 002C787C 2C 04 00 00 */ cmpwi r4, 0
+/* 802CBC20 002C7880 41 82 00 14 */ beq lbl_802CBC34
+/* 802CBC24 002C7884 80 04 00 00 */ lwz r0, 0(r4)
+/* 802CBC28 002C7888 28 00 00 03 */ cmplwi r0, 3
+/* 802CBC2C 002C788C 40 82 00 08 */ bne lbl_802CBC34
+/* 802CBC30 002C7890 90 64 00 04 */ stw r3, 4(r4)
+lbl_802CBC34:
+/* 802CBC34 002C7894 38 00 00 00 */ li r0, 0
+/* 802CBC38 002C7898 90 1F 00 04 */ stw r0, 4(r31)
+lbl_802CBC3C:
+/* 802CBC3C 002C789C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CBC40 002C78A0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CBC44 002C78A4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802CBC48 002C78A8 7C 08 03 A6 */ mtlr r0
+/* 802CBC4C 002C78AC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CBC50 002C78B0 4E 80 00 20 */ blr
+
+.global btm_sec_rmt_name_request_complete
+btm_sec_rmt_name_request_complete:
+/* 802CBC54 002C78B4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CBC58 002C78B8 7C 08 02 A6 */ mflr r0
+/* 802CBC5C 002C78BC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CBC60 002C78C0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CBC64 002C78C4 4B EF B4 C5 */ bl _savegpr_27
+/* 802CBC68 002C78C8 2C 03 00 00 */ cmpwi r3, 0
+/* 802CBC6C 002C78CC 7C 7B 1B 78 */ mr r27, r3
+/* 802CBC70 002C78D0 7C 9C 23 78 */ mr r28, r4
+/* 802CBC74 002C78D4 7C BE 2B 78 */ mr r30, r5
+/* 802CBC78 002C78D8 41 82 00 10 */ beq lbl_802CBC88
+/* 802CBC7C 002C78DC 4B FF 99 A1 */ bl btm_find_dev
+/* 802CBC80 002C78E0 7C 7F 1B 78 */ mr r31, r3
+/* 802CBC84 002C78E4 48 00 00 AC */ b lbl_802CBD30
+lbl_802CBC88:
+/* 802CBC88 002C78E8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CBC8C 002C78EC 38 00 00 04 */ li r0, 4
+/* 802CBC90 002C78F0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CBC94 002C78F4 38 80 00 00 */ li r4, 0
+/* 802CBC98 002C78F8 3B E3 1F 30 */ addi r31, r3, 0x1f30
+/* 802CBC9C 002C78FC 7C 09 03 A6 */ mtctr r0
+lbl_802CBCA0:
+/* 802CBCA0 002C7900 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CBCA4 002C7904 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CBCA8 002C7908 41 82 00 10 */ beq lbl_802CBCB8
+/* 802CBCAC 002C790C 88 1F 00 7F */ lbz r0, 0x7f(r31)
+/* 802CBCB0 002C7910 28 00 00 03 */ cmplwi r0, 3
+/* 802CBCB4 002C7914 41 82 00 70 */ beq lbl_802CBD24
+lbl_802CBCB8:
+/* 802CBCB8 002C7918 88 1F 00 FE */ lbz r0, 0xfe(r31)
+/* 802CBCBC 002C791C 38 84 00 01 */ addi r4, r4, 1
+/* 802CBCC0 002C7920 3B FF 00 88 */ addi r31, r31, 0x88
+/* 802CBCC4 002C7924 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CBCC8 002C7928 41 82 00 10 */ beq lbl_802CBCD8
+/* 802CBCCC 002C792C 88 1F 00 7F */ lbz r0, 0x7f(r31)
+/* 802CBCD0 002C7930 28 00 00 03 */ cmplwi r0, 3
+/* 802CBCD4 002C7934 41 82 00 50 */ beq lbl_802CBD24
+lbl_802CBCD8:
+/* 802CBCD8 002C7938 88 1F 00 FE */ lbz r0, 0xfe(r31)
+/* 802CBCDC 002C793C 38 84 00 01 */ addi r4, r4, 1
+/* 802CBCE0 002C7940 3B FF 00 88 */ addi r31, r31, 0x88
+/* 802CBCE4 002C7944 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CBCE8 002C7948 41 82 00 10 */ beq lbl_802CBCF8
+/* 802CBCEC 002C794C 88 1F 00 7F */ lbz r0, 0x7f(r31)
+/* 802CBCF0 002C7950 28 00 00 03 */ cmplwi r0, 3
+/* 802CBCF4 002C7954 41 82 00 30 */ beq lbl_802CBD24
+lbl_802CBCF8:
+/* 802CBCF8 002C7958 88 1F 00 FE */ lbz r0, 0xfe(r31)
+/* 802CBCFC 002C795C 38 84 00 01 */ addi r4, r4, 1
+/* 802CBD00 002C7960 3B FF 00 88 */ addi r31, r31, 0x88
+/* 802CBD04 002C7964 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CBD08 002C7968 41 82 00 10 */ beq lbl_802CBD18
+/* 802CBD0C 002C796C 88 1F 00 7F */ lbz r0, 0x7f(r31)
+/* 802CBD10 002C7970 28 00 00 03 */ cmplwi r0, 3
+/* 802CBD14 002C7974 41 82 00 10 */ beq lbl_802CBD24
+lbl_802CBD18:
+/* 802CBD18 002C7978 38 84 00 01 */ addi r4, r4, 1
+/* 802CBD1C 002C797C 3B FF 00 88 */ addi r31, r31, 0x88
+/* 802CBD20 002C7980 42 00 FF 80 */ bdnz lbl_802CBCA0
+lbl_802CBD24:
+/* 802CBD24 002C7984 2C 04 00 10 */ cmpwi r4, 0x10
+/* 802CBD28 002C7988 40 82 00 08 */ bne lbl_802CBD30
+/* 802CBD2C 002C798C 3B E0 00 00 */ li r31, 0
+lbl_802CBD30:
+/* 802CBD30 002C7990 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CBD34 002C7994 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CBD38 002C7998 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CBD3C 002C799C 28 00 00 04 */ cmplwi r0, 4
+/* 802CBD40 002C79A0 41 80 00 30 */ blt lbl_802CBD70
+/* 802CBD44 002C79A4 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CBD48 002C79A8 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CBD4C 002C79AC 3C 80 80 44 */ lis r4, lbl_80441E64@ha
+/* 802CBD50 002C79B0 7F C5 F3 78 */ mr r5, r30
+/* 802CBD54 002C79B4 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CBD58 002C79B8 38 84 1E 64 */ addi r4, r4, lbl_80441E64@l
+/* 802CBD5C 002C79BC 41 82 00 0C */ beq lbl_802CBD68
+/* 802CBD60 002C79C0 88 DF 00 7F */ lbz r6, 0x7f(r31)
+/* 802CBD64 002C79C4 48 00 00 08 */ b lbl_802CBD6C
+lbl_802CBD68:
+/* 802CBD68 002C79C8 38 C0 00 00 */ li r6, 0
+lbl_802CBD6C:
+/* 802CBD6C 002C79CC 4B FF 11 D5 */ bl LogMsg_2
+lbl_802CBD70:
+/* 802CBD70 002C79D0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CBD74 002C79D4 41 82 01 B0 */ beq lbl_802CBF24
+/* 802CBD78 002C79D8 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CBD7C 002C79DC 40 82 00 5C */ bne lbl_802CBDD8
+/* 802CBD80 002C79E0 7F 84 E3 78 */ mr r4, r28
+/* 802CBD84 002C79E4 38 7F 00 35 */ addi r3, r31, 0x35
+/* 802CBD88 002C79E8 38 A0 00 40 */ li r5, 0x40
+/* 802CBD8C 002C79EC 4B D3 82 75 */ bl memcpy
+/* 802CBD90 002C79F0 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CBD94 002C79F4 3F A0 80 57 */ lis r29, lbl_80568B78@ha
+/* 802CBD98 002C79F8 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l
+/* 802CBD9C 002C79FC 3B 80 00 00 */ li r28, 0
+/* 802CBDA0 002C7A00 60 00 00 08 */ ori r0, r0, 8
+/* 802CBDA4 002C7A04 98 1F 00 76 */ stb r0, 0x76(r31)
+lbl_802CBDA8:
+/* 802CBDA8 002C7A08 81 9D 19 2C */ lwz r12, 0x192c(r29)
+/* 802CBDAC 002C7A0C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CBDB0 002C7A10 41 82 00 18 */ beq lbl_802CBDC8
+/* 802CBDB4 002C7A14 7F 63 DB 78 */ mr r3, r27
+/* 802CBDB8 002C7A18 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CBDBC 002C7A1C 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CBDC0 002C7A20 7D 89 03 A6 */ mtctr r12
+/* 802CBDC4 002C7A24 4E 80 04 21 */ bctrl
+lbl_802CBDC8:
+/* 802CBDC8 002C7A28 3B 9C 00 01 */ addi r28, r28, 1
+/* 802CBDCC 002C7A2C 3B BD 00 04 */ addi r29, r29, 4
+/* 802CBDD0 002C7A30 2C 1C 00 02 */ cmpwi r28, 2
+/* 802CBDD4 002C7A34 41 80 FF D4 */ blt lbl_802CBDA8
+lbl_802CBDD8:
+/* 802CBDD8 002C7A38 88 1F 00 82 */ lbz r0, 0x82(r31)
+/* 802CBDDC 002C7A3C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CBDE0 002C7A40 41 82 00 98 */ beq lbl_802CBE78
+/* 802CBDE4 002C7A44 88 1F 00 81 */ lbz r0, 0x81(r31)
+/* 802CBDE8 002C7A48 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CBDEC 002C7A4C 41 82 00 10 */ beq lbl_802CBDFC
+/* 802CBDF0 002C7A50 88 1F 00 85 */ lbz r0, 0x85(r31)
+/* 802CBDF4 002C7A54 2C 00 00 00 */ cmpwi r0, 0
+/* 802CBDF8 002C7A58 41 82 01 2C */ beq lbl_802CBF24
+lbl_802CBDFC:
+/* 802CBDFC 002C7A5C 38 00 00 00 */ li r0, 0
+/* 802CBE00 002C7A60 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CBE04 002C7A64 98 1F 00 82 */ stb r0, 0x82(r31)
+/* 802CBE08 002C7A68 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CBE0C 002C7A6C 81 83 19 14 */ lwz r12, 0x1914(r3)
+/* 802CBE10 002C7A70 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CBE14 002C7A74 41 82 00 20 */ beq lbl_802CBE34
+/* 802CBE18 002C7A78 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CBE1C 002C7A7C 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CBE20 002C7A80 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CBE24 002C7A84 38 DF 00 25 */ addi r6, r31, 0x25
+/* 802CBE28 002C7A88 88 FF 00 83 */ lbz r7, 0x83(r31)
+/* 802CBE2C 002C7A8C 7D 89 03 A6 */ mtctr r12
+/* 802CBE30 002C7A90 4E 80 04 21 */ bctrl
+lbl_802CBE34:
+/* 802CBE34 002C7A94 3F A0 80 57 */ lis r29, lbl_80568B78@ha
+/* 802CBE38 002C7A98 3B 80 00 00 */ li r28, 0
+/* 802CBE3C 002C7A9C 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l
+lbl_802CBE40:
+/* 802CBE40 002C7AA0 81 9D 19 24 */ lwz r12, 0x1924(r29)
+/* 802CBE44 002C7AA4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CBE48 002C7AA8 41 82 00 20 */ beq lbl_802CBE68
+/* 802CBE4C 002C7AAC 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CBE50 002C7AB0 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CBE54 002C7AB4 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CBE58 002C7AB8 38 DF 00 25 */ addi r6, r31, 0x25
+/* 802CBE5C 002C7ABC 88 FF 00 83 */ lbz r7, 0x83(r31)
+/* 802CBE60 002C7AC0 7D 89 03 A6 */ mtctr r12
+/* 802CBE64 002C7AC4 4E 80 04 21 */ bctrl
+lbl_802CBE68:
+/* 802CBE68 002C7AC8 3B 9C 00 01 */ addi r28, r28, 1
+/* 802CBE6C 002C7ACC 3B BD 00 04 */ addi r29, r29, 4
+/* 802CBE70 002C7AD0 2C 1C 00 02 */ cmpwi r28, 2
+/* 802CBE74 002C7AD4 41 80 FF CC */ blt lbl_802CBE40
+lbl_802CBE78:
+/* 802CBE78 002C7AD8 88 7F 00 81 */ lbz r3, 0x81(r31)
+/* 802CBE7C 002C7ADC 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
+/* 802CBE80 002C7AE0 41 82 00 2C */ beq lbl_802CBEAC
+/* 802CBE84 002C7AE4 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CBE88 002C7AE8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802CBE8C 002C7AEC 41 82 00 20 */ beq lbl_802CBEAC
+/* 802CBE90 002C7AF0 38 00 FF AF */ li r0, -81
+/* 802CBE94 002C7AF4 38 80 00 13 */ li r4, 0x13
+/* 802CBE98 002C7AF8 7C 60 00 38 */ and r0, r3, r0
+/* 802CBE9C 002C7AFC 98 1F 00 81 */ stb r0, 0x81(r31)
+/* 802CBEA0 002C7B00 A0 7F 00 18 */ lhz r3, 0x18(r31)
+/* 802CBEA4 002C7B04 48 00 41 ED */ bl func_802D0090
+/* 802CBEA8 002C7B08 48 00 00 7C */ b lbl_802CBF24
+lbl_802CBEAC:
+/* 802CBEAC 002C7B0C 88 1F 00 7F */ lbz r0, 0x7f(r31)
+/* 802CBEB0 002C7B10 28 00 00 03 */ cmplwi r0, 3
+/* 802CBEB4 002C7B14 40 82 00 70 */ bne lbl_802CBF24
+/* 802CBEB8 002C7B18 3B A0 00 00 */ li r29, 0
+/* 802CBEBC 002C7B1C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CBEC0 002C7B20 9B BF 00 7F */ stb r29, 0x7f(r31)
+/* 802CBEC4 002C7B24 41 82 00 2C */ beq lbl_802CBEF0
+/* 802CBEC8 002C7B28 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CBECC 002C7B2C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CBED0 002C7B30 41 82 00 54 */ beq lbl_802CBF24
+/* 802CBED4 002C7B34 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CBED8 002C7B38 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802CBEDC 002C7B3C 38 A0 00 0A */ li r5, 0xa
+/* 802CBEE0 002C7B40 7D 89 03 A6 */ mtctr r12
+/* 802CBEE4 002C7B44 4E 80 04 21 */ bctrl
+/* 802CBEE8 002C7B48 93 BF 00 04 */ stw r29, 4(r31)
+/* 802CBEEC 002C7B4C 48 00 00 38 */ b lbl_802CBF24
+lbl_802CBEF0:
+/* 802CBEF0 002C7B50 7F E3 FB 78 */ mr r3, r31
+/* 802CBEF4 002C7B54 48 00 13 79 */ bl btm_sec_execute_procedure
+/* 802CBEF8 002C7B58 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802CBEFC 002C7B5C 28 05 00 01 */ cmplwi r5, 1
+/* 802CBF00 002C7B60 41 82 00 24 */ beq lbl_802CBF24
+/* 802CBF04 002C7B64 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CBF08 002C7B68 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CBF0C 002C7B6C 41 82 00 18 */ beq lbl_802CBF24
+/* 802CBF10 002C7B70 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CBF14 002C7B74 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802CBF18 002C7B78 7D 89 03 A6 */ mtctr r12
+/* 802CBF1C 002C7B7C 4E 80 04 21 */ bctrl
+/* 802CBF20 002C7B80 93 BF 00 04 */ stw r29, 4(r31)
+lbl_802CBF24:
+/* 802CBF24 002C7B84 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CBF28 002C7B88 4B EF B2 4D */ bl _restgpr_27
+/* 802CBF2C 002C7B8C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CBF30 002C7B90 7C 08 03 A6 */ mtlr r0
+/* 802CBF34 002C7B94 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CBF38 002C7B98 4E 80 00 20 */ blr
+
+.global btm_sec_auth_complete
+btm_sec_auth_complete:
+/* 802CBF3C 002C7B9C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CBF40 002C7BA0 7C 08 02 A6 */ mflr r0
+/* 802CBF44 002C7BA4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CBF48 002C7BA8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CBF4C 002C7BAC 4B EF B1 D9 */ bl _savegpr_26
+/* 802CBF50 002C7BB0 7C 7D 1B 78 */ mr r29, r3
+/* 802CBF54 002C7BB4 7C 9E 23 78 */ mr r30, r4
+/* 802CBF58 002C7BB8 4B FF 96 0D */ bl btm_find_dev_by_handle
+/* 802CBF5C 002C7BBC 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CBF60 002C7BC0 7C 7F 1B 78 */ mr r31, r3
+/* 802CBF64 002C7BC4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CBF68 002C7BC8 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CBF6C 002C7BCC 28 00 00 04 */ cmplwi r0, 4
+/* 802CBF70 002C7BD0 41 80 00 30 */ blt lbl_802CBFA0
+/* 802CBF74 002C7BD4 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CBF78 002C7BD8 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CBF7C 002C7BDC 3C 80 80 44 */ lis r4, lbl_80441E9C@ha
+/* 802CBF80 002C7BE0 7F C5 F3 78 */ mr r5, r30
+/* 802CBF84 002C7BE4 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CBF88 002C7BE8 38 84 1E 9C */ addi r4, r4, lbl_80441E9C@l
+/* 802CBF8C 002C7BEC 41 82 00 0C */ beq lbl_802CBF98
+/* 802CBF90 002C7BF0 88 DF 00 7F */ lbz r6, 0x7f(r31)
+/* 802CBF94 002C7BF4 48 00 00 08 */ b lbl_802CBF9C
+lbl_802CBF98:
+/* 802CBF98 002C7BF8 38 C0 00 00 */ li r6, 0
+lbl_802CBF9C:
+/* 802CBF9C 002C7BFC 4B FF 0F A5 */ bl LogMsg_2
+lbl_802CBFA0:
+/* 802CBFA0 002C7C00 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CBFA4 002C7C04 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CBFA8 002C7C08 88 04 19 7B */ lbz r0, 0x197b(r4)
+/* 802CBFAC 002C7C0C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CBFB0 002C7C10 41 82 00 58 */ beq lbl_802CC008
+/* 802CBFB4 002C7C14 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CBFB8 002C7C18 38 60 00 00 */ li r3, 0
+/* 802CBFBC 002C7C1C 98 64 19 7B */ stb r3, 0x197b(r4)
+/* 802CBFC0 002C7C20 28 00 00 05 */ cmplwi r0, 5
+/* 802CBFC4 002C7C24 41 80 00 28 */ blt lbl_802CBFEC
+/* 802CBFC8 002C7C28 88 64 19 78 */ lbz r3, 0x1978(r4)
+/* 802CBFCC 002C7C2C 3C 80 80 44 */ lis r4, lbl_80441B8C@ha
+/* 802CBFD0 002C7C30 3C A0 00 0D */ lis r5, 0x000D0004@ha
+/* 802CBFD4 002C7C34 38 03 FF FD */ addi r0, r3, -3
+/* 802CBFD8 002C7C38 38 84 1B 8C */ addi r4, r4, lbl_80441B8C@l
+/* 802CBFDC 002C7C3C 7C 00 00 34 */ cntlzw r0, r0
+/* 802CBFE0 002C7C40 38 65 00 04 */ addi r3, r5, 0x000D0004@l
+/* 802CBFE4 002C7C44 54 05 D9 7E */ srwi r5, r0, 5
+/* 802CBFE8 002C7C48 4B FF 0F 41 */ bl LogMsg_1
+lbl_802CBFEC:
+/* 802CBFEC 002C7C4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CBFF0 002C7C50 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CBFF4 002C7C54 88 63 19 78 */ lbz r3, 0x1978(r3)
+/* 802CBFF8 002C7C58 38 03 FF FD */ addi r0, r3, -3
+/* 802CBFFC 002C7C5C 7C 00 00 34 */ cntlzw r0, r0
+/* 802CC000 002C7C60 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802CC004 002C7C64 48 00 59 F5 */ bl func_802D19F8
+lbl_802CC008:
+/* 802CC008 002C7C68 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CC00C 002C7C6C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CC010 002C7C70 88 04 19 7C */ lbz r0, 0x197c(r4)
+/* 802CC014 002C7C74 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC018 002C7C78 41 82 00 14 */ beq lbl_802CC02C
+/* 802CC01C 002C7C7C 38 00 00 00 */ li r0, 0
+/* 802CC020 002C7C80 88 64 00 20 */ lbz r3, 0x20(r4)
+/* 802CC024 002C7C84 98 04 19 7C */ stb r0, 0x197c(r4)
+/* 802CC028 002C7C88 48 00 54 5D */ bl func_802D1484
+lbl_802CC02C:
+/* 802CC02C 002C7C8C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CC030 002C7C90 41 82 00 90 */ beq lbl_802CC0C0
+/* 802CC034 002C7C94 88 7F 00 81 */ lbz r3, 0x81(r31)
+/* 802CC038 002C7C98 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
+/* 802CC03C 002C7C9C 41 82 00 84 */ beq lbl_802CC0C0
+/* 802CC040 002C7CA0 3F 60 80 57 */ lis r27, lbl_80568B78@ha
+/* 802CC044 002C7CA4 3B 7B 8B 78 */ addi r27, r27, lbl_80568B78@l
+/* 802CC048 002C7CA8 88 1B 19 7D */ lbz r0, 0x197d(r27)
+/* 802CC04C 002C7CAC 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC050 002C7CB0 40 82 00 70 */ bne lbl_802CC0C0
+/* 802CC054 002C7CB4 38 00 FF AF */ li r0, -81
+/* 802CC058 002C7CB8 7C 60 00 38 */ and r0, r3, r0
+/* 802CC05C 002C7CBC 98 1F 00 81 */ stb r0, 0x81(r31)
+/* 802CC060 002C7CC0 8B 5B 19 7E */ lbz r26, 0x197e(r27)
+/* 802CC064 002C7CC4 2C 1A 00 00 */ cmpwi r26, 0
+/* 802CC068 002C7CC8 41 82 00 58 */ beq lbl_802CC0C0
+/* 802CC06C 002C7CCC 7F A3 EB 78 */ mr r3, r29
+/* 802CC070 002C7CD0 4B FF 94 F5 */ bl btm_find_dev_by_handle
+/* 802CC074 002C7CD4 2C 03 00 00 */ cmpwi r3, 0
+/* 802CC078 002C7CD8 7C 7C 1B 78 */ mr r28, r3
+/* 802CC07C 002C7CDC 41 82 00 44 */ beq lbl_802CC0C0
+/* 802CC080 002C7CE0 88 03 00 81 */ lbz r0, 0x81(r3)
+/* 802CC084 002C7CE4 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CC088 002C7CE8 41 82 00 0C */ beq lbl_802CC094
+/* 802CC08C 002C7CEC 9B 5B 19 7E */ stb r26, 0x197e(r27)
+/* 802CC090 002C7CF0 48 00 00 30 */ b lbl_802CC0C0
+lbl_802CC094:
+/* 802CC094 002C7CF4 8B 63 00 7F */ lbz r27, 0x7f(r3)
+/* 802CC098 002C7CF8 28 1B 00 05 */ cmplwi r27, 5
+/* 802CC09C 002C7CFC 41 82 00 24 */ beq lbl_802CC0C0
+/* 802CC0A0 002C7D00 38 00 00 05 */ li r0, 5
+/* 802CC0A4 002C7D04 7F 44 D3 78 */ mr r4, r26
+/* 802CC0A8 002C7D08 98 03 00 7F */ stb r0, 0x7f(r3)
+/* 802CC0AC 002C7D0C 7F A3 EB 78 */ mr r3, r29
+/* 802CC0B0 002C7D10 48 00 3F E1 */ bl func_802D0090
+/* 802CC0B4 002C7D14 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CC0B8 002C7D18 40 82 00 08 */ bne lbl_802CC0C0
+/* 802CC0BC 002C7D1C 9B 7C 00 7F */ stb r27, 0x7f(r28)
+lbl_802CC0C0:
+/* 802CC0C0 002C7D20 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CC0C4 002C7D24 41 82 01 A4 */ beq lbl_802CC268
+/* 802CC0C8 002C7D28 88 1F 00 7F */ lbz r0, 0x7f(r31)
+/* 802CC0CC 002C7D2C 28 00 00 01 */ cmplwi r0, 1
+/* 802CC0D0 002C7D30 41 82 00 3C */ beq lbl_802CC10C
+/* 802CC0D4 002C7D34 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CC0D8 002C7D38 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CC0DC 002C7D3C 81 83 19 1C */ lwz r12, 0x191c(r3)
+/* 802CC0E0 002C7D40 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CC0E4 002C7D44 41 82 01 84 */ beq lbl_802CC268
+/* 802CC0E8 002C7D48 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CC0EC 002C7D4C 41 82 01 7C */ beq lbl_802CC268
+/* 802CC0F0 002C7D50 7F C6 F3 78 */ mr r6, r30
+/* 802CC0F4 002C7D54 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC0F8 002C7D58 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CC0FC 002C7D5C 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CC100 002C7D60 7D 89 03 A6 */ mtctr r12
+/* 802CC104 002C7D64 4E 80 04 21 */ bctrl
+/* 802CC108 002C7D68 48 00 01 60 */ b lbl_802CC268
+lbl_802CC10C:
+/* 802CC10C 002C7D6C 28 1E 00 0C */ cmplwi r30, 0xc
+/* 802CC110 002C7D70 40 82 00 18 */ bne lbl_802CC128
+/* 802CC114 002C7D74 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CC118 002C7D78 54 00 07 7C */ rlwinm r0, r0, 0, 0x1d, 0x1e
+/* 802CC11C 002C7D7C 2C 00 00 06 */ cmpwi r0, 6
+/* 802CC120 002C7D80 40 82 00 08 */ bne lbl_802CC128
+/* 802CC124 002C7D84 3B C0 00 00 */ li r30, 0
+lbl_802CC128:
+/* 802CC128 002C7D88 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CC12C 002C7D8C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CC130 002C7D90 81 83 19 1C */ lwz r12, 0x191c(r3)
+/* 802CC134 002C7D94 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CC138 002C7D98 41 82 00 1C */ beq lbl_802CC154
+/* 802CC13C 002C7D9C 7F C6 F3 78 */ mr r6, r30
+/* 802CC140 002C7DA0 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC144 002C7DA4 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CC148 002C7DA8 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CC14C 002C7DAC 7D 89 03 A6 */ mtctr r12
+/* 802CC150 002C7DB0 4E 80 04 21 */ bctrl
+lbl_802CC154:
+/* 802CC154 002C7DB4 3B A0 00 00 */ li r29, 0
+/* 802CC158 002C7DB8 9B BF 00 7F */ stb r29, 0x7f(r31)
+/* 802CC15C 002C7DBC 88 7F 00 81 */ lbz r3, 0x81(r31)
+/* 802CC160 002C7DC0 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
+/* 802CC164 002C7DC4 41 82 00 20 */ beq lbl_802CC184
+/* 802CC168 002C7DC8 38 00 FF AF */ li r0, -81
+/* 802CC16C 002C7DCC 38 80 00 13 */ li r4, 0x13
+/* 802CC170 002C7DD0 7C 60 00 38 */ and r0, r3, r0
+/* 802CC174 002C7DD4 98 1F 00 81 */ stb r0, 0x81(r31)
+/* 802CC178 002C7DD8 A0 7F 00 18 */ lhz r3, 0x18(r31)
+/* 802CC17C 002C7DDC 48 00 3F 15 */ bl func_802D0090
+/* 802CC180 002C7DE0 48 00 00 E8 */ b lbl_802CC268
+lbl_802CC184:
+/* 802CC184 002C7DE4 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CC188 002C7DE8 41 82 00 68 */ beq lbl_802CC1F0
+/* 802CC18C 002C7DEC 80 1F 00 04 */ lwz r0, 4(r31)
+/* 802CC190 002C7DF0 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC194 002C7DF4 41 82 00 4C */ beq lbl_802CC1E0
+/* 802CC198 002C7DF8 88 1F 00 80 */ lbz r0, 0x80(r31)
+/* 802CC19C 002C7DFC 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC1A0 002C7E00 41 82 00 20 */ beq lbl_802CC1C0
+/* 802CC1A4 002C7E04 80 7F 00 00 */ lwz r3, 0(r31)
+/* 802CC1A8 002C7E08 2C 03 00 00 */ cmpwi r3, 0
+/* 802CC1AC 002C7E0C 41 82 00 14 */ beq lbl_802CC1C0
+/* 802CC1B0 002C7E10 80 03 00 00 */ lwz r0, 0(r3)
+/* 802CC1B4 002C7E14 28 00 00 03 */ cmplwi r0, 3
+/* 802CC1B8 002C7E18 40 82 00 08 */ bne lbl_802CC1C0
+/* 802CC1BC 002C7E1C 93 A3 00 04 */ stw r29, 4(r3)
+lbl_802CC1C0:
+/* 802CC1C0 002C7E20 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CC1C4 002C7E24 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC1C8 002C7E28 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802CC1CC 002C7E2C 38 A0 00 0A */ li r5, 0xa
+/* 802CC1D0 002C7E30 7D 89 03 A6 */ mtctr r12
+/* 802CC1D4 002C7E34 4E 80 04 21 */ bctrl
+/* 802CC1D8 002C7E38 38 00 00 00 */ li r0, 0
+/* 802CC1DC 002C7E3C 90 1F 00 04 */ stw r0, 4(r31)
+lbl_802CC1E0:
+/* 802CC1E0 002C7E40 A0 7F 00 18 */ lhz r3, 0x18(r31)
+/* 802CC1E4 002C7E44 38 80 00 05 */ li r4, 5
+/* 802CC1E8 002C7E48 48 00 3E A9 */ bl func_802D0090
+/* 802CC1EC 002C7E4C 48 00 00 7C */ b lbl_802CC268
+lbl_802CC1F0:
+/* 802CC1F0 002C7E50 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CC1F4 002C7E54 7F E3 FB 78 */ mr r3, r31
+/* 802CC1F8 002C7E58 60 00 00 02 */ ori r0, r0, 2
+/* 802CC1FC 002C7E5C 98 1F 00 76 */ stb r0, 0x76(r31)
+/* 802CC200 002C7E60 48 00 10 6D */ bl btm_sec_execute_procedure
+/* 802CC204 002C7E64 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802CC208 002C7E68 7C 64 1B 78 */ mr r4, r3
+/* 802CC20C 002C7E6C 28 00 00 01 */ cmplwi r0, 1
+/* 802CC210 002C7E70 41 82 00 58 */ beq lbl_802CC268
+/* 802CC214 002C7E74 80 1F 00 04 */ lwz r0, 4(r31)
+/* 802CC218 002C7E78 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC21C 002C7E7C 41 82 00 4C */ beq lbl_802CC268
+/* 802CC220 002C7E80 88 1F 00 80 */ lbz r0, 0x80(r31)
+/* 802CC224 002C7E84 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC228 002C7E88 41 82 00 20 */ beq lbl_802CC248
+/* 802CC22C 002C7E8C 80 7F 00 00 */ lwz r3, 0(r31)
+/* 802CC230 002C7E90 2C 03 00 00 */ cmpwi r3, 0
+/* 802CC234 002C7E94 41 82 00 14 */ beq lbl_802CC248
+/* 802CC238 002C7E98 80 03 00 00 */ lwz r0, 0(r3)
+/* 802CC23C 002C7E9C 28 00 00 03 */ cmplwi r0, 3
+/* 802CC240 002C7EA0 40 82 00 08 */ bne lbl_802CC248
+/* 802CC244 002C7EA4 93 A3 00 04 */ stw r29, 4(r3)
+lbl_802CC248:
+/* 802CC248 002C7EA8 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CC24C 002C7EAC 54 85 06 3E */ clrlwi r5, r4, 0x18
+/* 802CC250 002C7EB0 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC254 002C7EB4 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802CC258 002C7EB8 7D 89 03 A6 */ mtctr r12
+/* 802CC25C 002C7EBC 4E 80 04 21 */ bctrl
+/* 802CC260 002C7EC0 38 00 00 00 */ li r0, 0
+/* 802CC264 002C7EC4 90 1F 00 04 */ stw r0, 4(r31)
+lbl_802CC268:
+/* 802CC268 002C7EC8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CC26C 002C7ECC 4B EF AF 05 */ bl _restgpr_26
+/* 802CC270 002C7ED0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CC274 002C7ED4 7C 08 03 A6 */ mtlr r0
+/* 802CC278 002C7ED8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CC27C 002C7EDC 4E 80 00 20 */ blr
+
+.global btm_sec_mkey_comp_event
+btm_sec_mkey_comp_event:
+/* 802CC280 002C7EE0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CC284 002C7EE4 7C 08 02 A6 */ mflr r0
+/* 802CC288 002C7EE8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CC28C 002C7EEC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CC290 002C7EF0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CC294 002C7EF4 7C BE 2B 78 */ mr r30, r5
+/* 802CC298 002C7EF8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CC29C 002C7EFC 7C 9D 23 78 */ mr r29, r4
+/* 802CC2A0 002C7F00 4B FF 92 C5 */ bl btm_find_dev_by_handle
+/* 802CC2A4 002C7F04 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CC2A8 002C7F08 88 E2 A4 80 */ lbz r7, lbl_80642A80-_SDA2_BASE_(r2)
+/* 802CC2AC 002C7F0C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CC2B0 002C7F10 88 C2 A4 81 */ lbz r6, lbl_80642A81-_SDA2_BASE_(r2)
+/* 802CC2B4 002C7F14 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CC2B8 002C7F18 7C 7F 1B 78 */ mr r31, r3
+/* 802CC2BC 002C7F1C 88 A2 A4 82 */ lbz r5, lbl_80642A82-_SDA2_BASE_(r2)
+/* 802CC2C0 002C7F20 88 82 A4 83 */ lbz r4, lbl_80642A83-_SDA2_BASE_(r2)
+/* 802CC2C4 002C7F24 28 00 00 04 */ cmplwi r0, 4
+/* 802CC2C8 002C7F28 88 62 A4 84 */ lbz r3, lbl_80642A84-_SDA2_BASE_(r2)
+/* 802CC2CC 002C7F2C 88 02 A4 85 */ lbz r0, lbl_80642A85-_SDA2_BASE_(r2)
+/* 802CC2D0 002C7F30 98 E1 00 08 */ stb r7, 8(r1)
+/* 802CC2D4 002C7F34 98 C1 00 09 */ stb r6, 9(r1)
+/* 802CC2D8 002C7F38 98 A1 00 0A */ stb r5, 0xa(r1)
+/* 802CC2DC 002C7F3C 98 81 00 0B */ stb r4, 0xb(r1)
+/* 802CC2E0 002C7F40 98 61 00 0C */ stb r3, 0xc(r1)
+/* 802CC2E4 002C7F44 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802CC2E8 002C7F48 41 80 00 30 */ blt lbl_802CC318
+/* 802CC2EC 002C7F4C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CC2F0 002C7F50 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CC2F4 002C7F54 3C 80 80 44 */ lis r4, lbl_80441ED0@ha
+/* 802CC2F8 002C7F58 7F A5 EB 78 */ mr r5, r29
+/* 802CC2FC 002C7F5C 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CC300 002C7F60 38 84 1E D0 */ addi r4, r4, lbl_80441ED0@l
+/* 802CC304 002C7F64 41 82 00 0C */ beq lbl_802CC310
+/* 802CC308 002C7F68 88 DF 00 7F */ lbz r6, 0x7f(r31)
+/* 802CC30C 002C7F6C 48 00 00 08 */ b lbl_802CC314
+lbl_802CC310:
+/* 802CC310 002C7F70 38 C0 00 00 */ li r6, 0
+lbl_802CC314:
+/* 802CC314 002C7F74 4B FF 0C 2D */ bl LogMsg_2
+lbl_802CC318:
+/* 802CC318 002C7F78 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CC31C 002C7F7C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CC320 002C7F80 81 83 27 B0 */ lwz r12, 0x27b0(r3)
+/* 802CC324 002C7F84 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CC328 002C7F88 41 82 00 38 */ beq lbl_802CC360
+/* 802CC32C 002C7F8C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CC330 002C7F90 40 82 00 1C */ bne lbl_802CC34C
+/* 802CC334 002C7F94 7F A4 EB 78 */ mr r4, r29
+/* 802CC338 002C7F98 7F C5 F3 78 */ mr r5, r30
+/* 802CC33C 002C7F9C 38 61 00 08 */ addi r3, r1, 8
+/* 802CC340 002C7FA0 7D 89 03 A6 */ mtctr r12
+/* 802CC344 002C7FA4 4E 80 04 21 */ bctrl
+/* 802CC348 002C7FA8 48 00 00 18 */ b lbl_802CC360
+lbl_802CC34C:
+/* 802CC34C 002C7FAC 7F A4 EB 78 */ mr r4, r29
+/* 802CC350 002C7FB0 7F C5 F3 78 */ mr r5, r30
+/* 802CC354 002C7FB4 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC358 002C7FB8 7D 89 03 A6 */ mtctr r12
+/* 802CC35C 002C7FBC 4E 80 04 21 */ bctrl
+lbl_802CC360:
+/* 802CC360 002C7FC0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CC364 002C7FC4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CC368 002C7FC8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CC36C 002C7FCC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CC370 002C7FD0 7C 08 03 A6 */ mtlr r0
+/* 802CC374 002C7FD4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CC378 002C7FD8 4E 80 00 20 */ blr
+
+.global btm_sec_encrypt_change
+btm_sec_encrypt_change:
+/* 802CC37C 002C7FDC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CC380 002C7FE0 7C 08 02 A6 */ mflr r0
+/* 802CC384 002C7FE4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CC388 002C7FE8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CC38C 002C7FEC 7C 9F 23 78 */ mr r31, r4
+/* 802CC390 002C7FF0 93 C1 00 08 */ stw r30, 8(r1)
+/* 802CC394 002C7FF4 4B FF 91 D1 */ bl btm_find_dev_by_handle
+/* 802CC398 002C7FF8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CC39C 002C7FFC 7C 7E 1B 78 */ mr r30, r3
+/* 802CC3A0 002C8000 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CC3A4 002C8004 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CC3A8 002C8008 28 00 00 04 */ cmplwi r0, 4
+/* 802CC3AC 002C800C 41 80 00 30 */ blt lbl_802CC3DC
+/* 802CC3B0 002C8010 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CC3B4 002C8014 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CC3B8 002C8018 3C 80 80 44 */ lis r4, lbl_80441F00@ha
+/* 802CC3BC 002C801C 7F E5 FB 78 */ mr r5, r31
+/* 802CC3C0 002C8020 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CC3C4 002C8024 38 84 1F 00 */ addi r4, r4, lbl_80441F00@l
+/* 802CC3C8 002C8028 41 82 00 0C */ beq lbl_802CC3D4
+/* 802CC3CC 002C802C 88 DE 00 7F */ lbz r6, 0x7f(r30)
+/* 802CC3D0 002C8030 48 00 00 08 */ b lbl_802CC3D8
+lbl_802CC3D4:
+/* 802CC3D4 002C8034 38 C0 00 00 */ li r6, 0
+lbl_802CC3D8:
+/* 802CC3D8 002C8038 4B FF 0B 69 */ bl LogMsg_2
+lbl_802CC3DC:
+/* 802CC3DC 002C803C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CC3E0 002C8040 41 82 00 C0 */ beq lbl_802CC4A0
+/* 802CC3E4 002C8044 28 1F 00 23 */ cmplwi r31, 0x23
+/* 802CC3E8 002C8048 40 82 00 30 */ bne lbl_802CC418
+/* 802CC3EC 002C804C 3C E0 80 57 */ lis r7, lbl_80568B78@ha
+/* 802CC3F0 002C8050 3C C0 80 2D */ lis r6, btm_sec_collision_timeout@ha
+/* 802CC3F4 002C8054 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l
+/* 802CC3F8 002C8058 38 80 00 16 */ li r4, 0x16
+/* 802CC3FC 002C805C 38 C6 D7 68 */ addi r6, r6, btm_sec_collision_timeout@l
+/* 802CC400 002C8060 93 C7 19 38 */ stw r30, 0x1938(r7)
+/* 802CC404 002C8064 38 67 19 5C */ addi r3, r7, 0x195c
+/* 802CC408 002C8068 38 A0 00 01 */ li r5, 1
+/* 802CC40C 002C806C 90 C7 19 6C */ stw r6, 0x196c(r7)
+/* 802CC410 002C8070 4B FF 10 CD */ bl btu_start_timer
+/* 802CC414 002C8074 48 00 00 8C */ b lbl_802CC4A0
+lbl_802CC418:
+/* 802CC418 002C8078 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CC41C 002C807C 41 82 00 30 */ beq lbl_802CC44C
+/* 802CC420 002C8080 81 9E 00 04 */ lwz r12, 4(r30)
+/* 802CC424 002C8084 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CC428 002C8088 41 82 00 78 */ beq lbl_802CC4A0
+/* 802CC42C 002C808C 38 7E 00 1C */ addi r3, r30, 0x1c
+/* 802CC430 002C8090 80 9E 00 08 */ lwz r4, 8(r30)
+/* 802CC434 002C8094 38 A0 00 0A */ li r5, 0xa
+/* 802CC438 002C8098 7D 89 03 A6 */ mtctr r12
+/* 802CC43C 002C809C 4E 80 04 21 */ bctrl
+/* 802CC440 002C80A0 38 00 00 00 */ li r0, 0
+/* 802CC444 002C80A4 90 1E 00 04 */ stw r0, 4(r30)
+/* 802CC448 002C80A8 48 00 00 58 */ b lbl_802CC4A0
+lbl_802CC44C:
+/* 802CC44C 002C80AC 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802CC450 002C80B0 60 00 00 06 */ ori r0, r0, 6
+/* 802CC454 002C80B4 98 1E 00 76 */ stb r0, 0x76(r30)
+/* 802CC458 002C80B8 88 1E 00 7F */ lbz r0, 0x7f(r30)
+/* 802CC45C 002C80BC 28 00 00 02 */ cmplwi r0, 2
+/* 802CC460 002C80C0 40 82 00 40 */ bne lbl_802CC4A0
+/* 802CC464 002C80C4 3B E0 00 00 */ li r31, 0
+/* 802CC468 002C80C8 7F C3 F3 78 */ mr r3, r30
+/* 802CC46C 002C80CC 9B FE 00 7F */ stb r31, 0x7f(r30)
+/* 802CC470 002C80D0 48 00 0D FD */ bl btm_sec_execute_procedure
+/* 802CC474 002C80D4 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802CC478 002C80D8 28 05 00 01 */ cmplwi r5, 1
+/* 802CC47C 002C80DC 41 82 00 24 */ beq lbl_802CC4A0
+/* 802CC480 002C80E0 81 9E 00 04 */ lwz r12, 4(r30)
+/* 802CC484 002C80E4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CC488 002C80E8 41 82 00 18 */ beq lbl_802CC4A0
+/* 802CC48C 002C80EC 38 7E 00 1C */ addi r3, r30, 0x1c
+/* 802CC490 002C80F0 80 9E 00 08 */ lwz r4, 8(r30)
+/* 802CC494 002C80F4 7D 89 03 A6 */ mtctr r12
+/* 802CC498 002C80F8 4E 80 04 21 */ bctrl
+/* 802CC49C 002C80FC 93 FE 00 04 */ stw r31, 4(r30)
+lbl_802CC4A0:
+/* 802CC4A0 002C8100 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CC4A4 002C8104 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CC4A8 002C8108 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802CC4AC 002C810C 7C 08 03 A6 */ mtlr r0
+/* 802CC4B0 002C8110 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CC4B4 002C8114 4E 80 00 20 */ blr
+
+.global btm_sec_is_bonding
+btm_sec_is_bonding:
+/* 802CC4B8 002C8118 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CC4BC 002C811C 7C 08 02 A6 */ mflr r0
+/* 802CC4C0 002C8120 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CC4C4 002C8124 4B FF 90 A1 */ bl btm_find_dev_by_handle
+/* 802CC4C8 002C8128 2C 03 00 00 */ cmpwi r3, 0
+/* 802CC4CC 002C812C 41 82 00 18 */ beq lbl_802CC4E4
+/* 802CC4D0 002C8130 88 03 00 81 */ lbz r0, 0x81(r3)
+/* 802CC4D4 002C8134 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CC4D8 002C8138 41 82 00 0C */ beq lbl_802CC4E4
+/* 802CC4DC 002C813C 38 60 00 01 */ li r3, 1
+/* 802CC4E0 002C8140 48 00 00 08 */ b lbl_802CC4E8
+lbl_802CC4E4:
+/* 802CC4E4 002C8144 38 60 00 00 */ li r3, 0
+lbl_802CC4E8:
+/* 802CC4E8 002C8148 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CC4EC 002C814C 7C 08 03 A6 */ mtlr r0
+/* 802CC4F0 002C8150 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CC4F4 002C8154 4E 80 00 20 */ blr
+
+.global btm_sec_connected
+btm_sec_connected:
+/* 802CC4F8 002C8158 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CC4FC 002C815C 7C 08 02 A6 */ mflr r0
+/* 802CC500 002C8160 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CC504 002C8164 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CC508 002C8168 4B EF AC 21 */ bl _savegpr_27
+/* 802CC50C 002C816C 7C 7B 1B 78 */ mr r27, r3
+/* 802CC510 002C8170 7C 9C 23 78 */ mr r28, r4
+/* 802CC514 002C8174 7C BD 2B 78 */ mr r29, r5
+/* 802CC518 002C8178 7C DE 33 78 */ mr r30, r6
+/* 802CC51C 002C817C 4B FF 91 01 */ bl btm_find_dev
+/* 802CC520 002C8180 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CC524 002C8184 7C 7F 1B 78 */ mr r31, r3
+/* 802CC528 002C8188 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CC52C 002C818C 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CC530 002C8190 28 00 00 04 */ cmplwi r0, 4
+/* 802CC534 002C8194 41 80 00 24 */ blt lbl_802CC558
+/* 802CC538 002C8198 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CC53C 002C819C 3C 80 80 44 */ lis r4, lbl_80441F34@ha
+/* 802CC540 002C81A0 7F 85 E3 78 */ mr r5, r28
+/* 802CC544 002C81A4 7F A6 EB 78 */ mr r6, r29
+/* 802CC548 002C81A8 7F C7 F3 78 */ mr r7, r30
+/* 802CC54C 002C81AC 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CC550 002C81B0 38 84 1F 34 */ addi r4, r4, lbl_80441F34@l
+/* 802CC554 002C81B4 4B FF 0A 05 */ bl LogMsg_3
+lbl_802CC558:
+/* 802CC558 002C81B8 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CC55C 002C81BC 40 82 00 28 */ bne lbl_802CC584
+/* 802CC560 002C81C0 2C 1D 00 00 */ cmpwi r29, 0
+/* 802CC564 002C81C4 40 82 03 FC */ bne lbl_802CC960
+/* 802CC568 002C81C8 7F 63 DB 78 */ mr r3, r27
+/* 802CC56C 002C81CC 4B FF 8E D9 */ bl btm_sec_alloc_dev
+/* 802CC570 002C81D0 2C 03 00 00 */ cmpwi r3, 0
+/* 802CC574 002C81D4 7C 7F 1B 78 */ mr r31, r3
+/* 802CC578 002C81D8 40 82 00 2C */ bne lbl_802CC5A4
+/* 802CC57C 002C81DC 48 00 03 E4 */ b lbl_802CC960
+/* 802CC580 002C81E0 48 00 03 E0 */ b lbl_802CC960
+lbl_802CC584:
+/* 802CC584 002C81E4 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CC588 002C81E8 38 00 00 01 */ li r0, 1
+/* 802CC58C 002C81EC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CC590 002C81F0 80 64 19 74 */ lwz r3, 0x1974(r4)
+/* 802CC594 002C81F4 90 7F 00 0C */ stw r3, 0xc(r31)
+/* 802CC598 002C81F8 38 63 00 01 */ addi r3, r3, 1
+/* 802CC59C 002C81FC 90 64 19 74 */ stw r3, 0x1974(r4)
+/* 802CC5A0 002C8200 98 1F 00 85 */ stb r0, 0x85(r31)
+lbl_802CC5A4:
+/* 802CC5A4 002C8204 88 1F 00 81 */ lbz r0, 0x81(r31)
+/* 802CC5A8 002C8208 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CC5AC 002C820C 41 82 00 90 */ beq lbl_802CC63C
+/* 802CC5B0 002C8210 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CC5B4 002C8214 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CC5B8 002C8218 88 04 19 7B */ lbz r0, 0x197b(r4)
+/* 802CC5BC 002C821C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC5C0 002C8220 41 82 00 58 */ beq lbl_802CC618
+/* 802CC5C4 002C8224 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CC5C8 002C8228 38 60 00 00 */ li r3, 0
+/* 802CC5CC 002C822C 98 64 19 7B */ stb r3, 0x197b(r4)
+/* 802CC5D0 002C8230 28 00 00 05 */ cmplwi r0, 5
+/* 802CC5D4 002C8234 41 80 00 28 */ blt lbl_802CC5FC
+/* 802CC5D8 002C8238 88 64 19 78 */ lbz r3, 0x1978(r4)
+/* 802CC5DC 002C823C 3C 80 80 44 */ lis r4, lbl_80441B8C@ha
+/* 802CC5E0 002C8240 3C A0 00 0D */ lis r5, 0x000D0004@ha
+/* 802CC5E4 002C8244 38 03 FF FD */ addi r0, r3, -3
+/* 802CC5E8 002C8248 38 84 1B 8C */ addi r4, r4, lbl_80441B8C@l
+/* 802CC5EC 002C824C 7C 00 00 34 */ cntlzw r0, r0
+/* 802CC5F0 002C8250 38 65 00 04 */ addi r3, r5, 0x000D0004@l
+/* 802CC5F4 002C8254 54 05 D9 7E */ srwi r5, r0, 5
+/* 802CC5F8 002C8258 4B FF 09 31 */ bl LogMsg_1
+lbl_802CC5FC:
+/* 802CC5FC 002C825C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CC600 002C8260 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CC604 002C8264 88 63 19 78 */ lbz r3, 0x1978(r3)
+/* 802CC608 002C8268 38 03 FF FD */ addi r0, r3, -3
+/* 802CC60C 002C826C 7C 00 00 34 */ cntlzw r0, r0
+/* 802CC610 002C8270 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802CC614 002C8274 48 00 53 E5 */ bl func_802D19F8
+lbl_802CC618:
+/* 802CC618 002C8278 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CC61C 002C827C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CC620 002C8280 88 04 19 7C */ lbz r0, 0x197c(r4)
+/* 802CC624 002C8284 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC628 002C8288 41 82 00 14 */ beq lbl_802CC63C
+/* 802CC62C 002C828C 38 00 00 00 */ li r0, 0
+/* 802CC630 002C8290 88 64 00 20 */ lbz r3, 0x20(r4)
+/* 802CC634 002C8294 98 04 19 7C */ stb r0, 0x197c(r4)
+/* 802CC638 002C8298 48 00 4E 4D */ bl func_802D1484
+lbl_802CC63C:
+/* 802CC63C 002C829C 2C 1D 00 00 */ cmpwi r29, 0
+/* 802CC640 002C82A0 41 82 01 6C */ beq lbl_802CC7AC
+/* 802CC644 002C82A4 28 1D 00 05 */ cmplwi r29, 5
+/* 802CC648 002C82A8 41 82 00 50 */ beq lbl_802CC698
+/* 802CC64C 002C82AC 28 1D 00 06 */ cmplwi r29, 6
+/* 802CC650 002C82B0 41 82 00 48 */ beq lbl_802CC698
+/* 802CC654 002C82B4 28 1D 00 0E */ cmplwi r29, 0xe
+/* 802CC658 002C82B8 41 82 00 40 */ beq lbl_802CC698
+/* 802CC65C 002C82BC 28 1D 00 18 */ cmplwi r29, 0x18
+/* 802CC660 002C82C0 41 82 00 38 */ beq lbl_802CC698
+/* 802CC664 002C82C4 28 1D 00 26 */ cmplwi r29, 0x26
+/* 802CC668 002C82C8 41 82 00 30 */ beq lbl_802CC698
+/* 802CC66C 002C82CC 28 1D 00 29 */ cmplwi r29, 0x29
+/* 802CC670 002C82D0 41 82 00 28 */ beq lbl_802CC698
+/* 802CC674 002C82D4 28 1D 00 25 */ cmplwi r29, 0x25
+/* 802CC678 002C82D8 41 82 00 20 */ beq lbl_802CC698
+/* 802CC67C 002C82DC 28 1D 00 17 */ cmplwi r29, 0x17
+/* 802CC680 002C82E0 41 82 00 18 */ beq lbl_802CC698
+/* 802CC684 002C82E4 28 1D 00 22 */ cmplwi r29, 0x22
+/* 802CC688 002C82E8 41 82 00 10 */ beq lbl_802CC698
+/* 802CC68C 002C82EC 88 1F 00 81 */ lbz r0, 0x81(r31)
+/* 802CC690 002C82F0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CC694 002C82F4 41 82 00 90 */ beq lbl_802CC724
+lbl_802CC698:
+/* 802CC698 002C82F8 88 7F 00 81 */ lbz r3, 0x81(r31)
+/* 802CC69C 002C82FC 38 00 FF AF */ li r0, -81
+/* 802CC6A0 002C8300 3F 80 80 57 */ lis r28, lbl_80568B78@ha
+/* 802CC6A4 002C8304 7C 60 00 38 */ and r0, r3, r0
+/* 802CC6A8 002C8308 98 1F 00 81 */ stb r0, 0x81(r31)
+/* 802CC6AC 002C830C 3B 9C 8B 78 */ addi r28, r28, lbl_80568B78@l
+/* 802CC6B0 002C8310 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CC6B4 002C8314 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
+/* 802CC6B8 002C8318 98 1F 00 76 */ stb r0, 0x76(r31)
+/* 802CC6BC 002C831C 80 1C 19 4C */ lwz r0, 0x194c(r28)
+/* 802CC6C0 002C8320 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC6C4 002C8324 41 82 00 18 */ beq lbl_802CC6DC
+/* 802CC6C8 002C8328 38 7C 19 3C */ addi r3, r28, 0x193c
+/* 802CC6CC 002C832C 4B FF 0E 81 */ bl btu_stop_timer
+/* 802CC6D0 002C8330 38 00 00 00 */ li r0, 0
+/* 802CC6D4 002C8334 3B A0 00 0E */ li r29, 0xe
+/* 802CC6D8 002C8338 90 1C 19 4C */ stw r0, 0x194c(r28)
+lbl_802CC6DC:
+/* 802CC6DC 002C833C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CC6E0 002C8340 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CC6E4 002C8344 88 03 27 BF */ lbz r0, 0x27bf(r3)
+/* 802CC6E8 002C8348 28 00 00 0E */ cmplwi r0, 0xe
+/* 802CC6EC 002C834C 40 82 00 08 */ bne lbl_802CC6F4
+/* 802CC6F0 002C8350 3B A0 00 0E */ li r29, 0xe
+lbl_802CC6F4:
+/* 802CC6F4 002C8354 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CC6F8 002C8358 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CC6FC 002C835C 81 83 19 1C */ lwz r12, 0x191c(r3)
+/* 802CC700 002C8360 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CC704 002C8364 41 82 02 5C */ beq lbl_802CC960
+/* 802CC708 002C8368 7F A6 EB 78 */ mr r6, r29
+/* 802CC70C 002C836C 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC710 002C8370 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CC714 002C8374 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CC718 002C8378 7D 89 03 A6 */ mtctr r12
+/* 802CC71C 002C837C 4E 80 04 21 */ bctrl
+/* 802CC720 002C8380 48 00 02 40 */ b lbl_802CC960
+lbl_802CC724:
+/* 802CC724 002C8384 80 1F 00 04 */ lwz r0, 4(r31)
+/* 802CC728 002C8388 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC72C 002C838C 41 82 02 34 */ beq lbl_802CC960
+/* 802CC730 002C8390 88 1F 00 80 */ lbz r0, 0x80(r31)
+/* 802CC734 002C8394 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC738 002C8398 41 82 00 24 */ beq lbl_802CC75C
+/* 802CC73C 002C839C 80 7F 00 00 */ lwz r3, 0(r31)
+/* 802CC740 002C83A0 2C 03 00 00 */ cmpwi r3, 0
+/* 802CC744 002C83A4 41 82 00 18 */ beq lbl_802CC75C
+/* 802CC748 002C83A8 80 03 00 00 */ lwz r0, 0(r3)
+/* 802CC74C 002C83AC 28 00 00 03 */ cmplwi r0, 3
+/* 802CC750 002C83B0 40 82 00 0C */ bne lbl_802CC75C
+/* 802CC754 002C83B4 38 00 00 00 */ li r0, 0
+/* 802CC758 002C83B8 90 03 00 04 */ stw r0, 4(r3)
+lbl_802CC75C:
+/* 802CC75C 002C83BC 28 1D 00 08 */ cmplwi r29, 8
+/* 802CC760 002C83C0 41 82 00 14 */ beq lbl_802CC774
+/* 802CC764 002C83C4 28 1D 00 1F */ cmplwi r29, 0x1f
+/* 802CC768 002C83C8 41 82 00 0C */ beq lbl_802CC774
+/* 802CC76C 002C83CC 28 1D 00 04 */ cmplwi r29, 4
+/* 802CC770 002C83D0 40 82 00 20 */ bne lbl_802CC790
+lbl_802CC774:
+/* 802CC774 002C83D4 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CC778 002C83D8 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC77C 002C83DC 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802CC780 002C83E0 38 A0 00 08 */ li r5, 8
+/* 802CC784 002C83E4 7D 89 03 A6 */ mtctr r12
+/* 802CC788 002C83E8 4E 80 04 21 */ bctrl
+/* 802CC78C 002C83EC 48 00 01 D4 */ b lbl_802CC960
+lbl_802CC790:
+/* 802CC790 002C83F0 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CC794 002C83F4 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC798 002C83F8 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802CC79C 002C83FC 38 A0 00 0A */ li r5, 0xa
+/* 802CC7A0 002C8400 7D 89 03 A6 */ mtctr r12
+/* 802CC7A4 002C8404 4E 80 04 21 */ bctrl
+/* 802CC7A8 002C8408 48 00 01 B8 */ b lbl_802CC960
+lbl_802CC7AC:
+/* 802CC7AC 002C840C 88 1F 00 81 */ lbz r0, 0x81(r31)
+/* 802CC7B0 002C8410 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CC7B4 002C8414 41 82 00 D8 */ beq lbl_802CC88C
+/* 802CC7B8 002C8418 88 1F 00 82 */ lbz r0, 0x82(r31)
+/* 802CC7BC 002C841C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC7C0 002C8420 41 82 00 CC */ beq lbl_802CC88C
+/* 802CC7C4 002C8424 38 00 00 00 */ li r0, 0
+/* 802CC7C8 002C8428 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CC7CC 002C842C 98 1F 00 82 */ stb r0, 0x82(r31)
+/* 802CC7D0 002C8430 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CC7D4 002C8434 81 83 19 14 */ lwz r12, 0x1914(r3)
+/* 802CC7D8 002C8438 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CC7DC 002C843C 41 82 00 20 */ beq lbl_802CC7FC
+/* 802CC7E0 002C8440 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC7E4 002C8444 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CC7E8 002C8448 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CC7EC 002C844C 38 DF 00 25 */ addi r6, r31, 0x25
+/* 802CC7F0 002C8450 88 FF 00 83 */ lbz r7, 0x83(r31)
+/* 802CC7F4 002C8454 7D 89 03 A6 */ mtctr r12
+/* 802CC7F8 002C8458 4E 80 04 21 */ bctrl
+lbl_802CC7FC:
+/* 802CC7FC 002C845C 3F A0 80 57 */ lis r29, lbl_80568B78@ha
+/* 802CC800 002C8460 3B C0 00 00 */ li r30, 0
+/* 802CC804 002C8464 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l
+lbl_802CC808:
+/* 802CC808 002C8468 81 9D 19 24 */ lwz r12, 0x1924(r29)
+/* 802CC80C 002C846C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CC810 002C8470 41 82 00 20 */ beq lbl_802CC830
+/* 802CC814 002C8474 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC818 002C8478 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CC81C 002C847C 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CC820 002C8480 38 DF 00 25 */ addi r6, r31, 0x25
+/* 802CC824 002C8484 88 FF 00 83 */ lbz r7, 0x83(r31)
+/* 802CC828 002C8488 7D 89 03 A6 */ mtctr r12
+/* 802CC82C 002C848C 4E 80 04 21 */ bctrl
+lbl_802CC830:
+/* 802CC830 002C8490 3B DE 00 01 */ addi r30, r30, 1
+/* 802CC834 002C8494 3B BD 00 04 */ addi r29, r29, 4
+/* 802CC838 002C8498 2C 1E 00 02 */ cmpwi r30, 2
+/* 802CC83C 002C849C 41 80 FF CC */ blt lbl_802CC808
+/* 802CC840 002C84A0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CC844 002C84A4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CC848 002C84A8 81 83 19 1C */ lwz r12, 0x191c(r3)
+/* 802CC84C 002C84AC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CC850 002C84B0 41 82 00 1C */ beq lbl_802CC86C
+/* 802CC854 002C84B4 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC858 002C84B8 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CC85C 002C84BC 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CC860 002C84C0 38 C0 00 00 */ li r6, 0
+/* 802CC864 002C84C4 7D 89 03 A6 */ mtctr r12
+/* 802CC868 002C84C8 4E 80 04 21 */ bctrl
+lbl_802CC86C:
+/* 802CC86C 002C84CC 88 BF 00 81 */ lbz r5, 0x81(r31)
+/* 802CC870 002C84D0 38 00 FF AF */ li r0, -81
+/* 802CC874 002C84D4 7F 83 E3 78 */ mr r3, r28
+/* 802CC878 002C84D8 38 80 00 13 */ li r4, 0x13
+/* 802CC87C 002C84DC 7C A0 00 38 */ and r0, r5, r0
+/* 802CC880 002C84E0 98 1F 00 81 */ stb r0, 0x81(r31)
+/* 802CC884 002C84E4 48 00 38 0D */ bl func_802D0090
+/* 802CC888 002C84E8 48 00 00 D8 */ b lbl_802CC960
+lbl_802CC88C:
+/* 802CC88C 002C84EC B3 9F 00 18 */ sth r28, 0x18(r31)
+/* 802CC890 002C84F0 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CC894 002C84F4 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CC898 002C84F8 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c
+/* 802CC89C 002C84FC 98 1F 00 76 */ stb r0, 0x76(r31)
+/* 802CC8A0 002C8500 41 82 00 10 */ beq lbl_802CC8B0
+/* 802CC8A4 002C8504 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CC8A8 002C8508 60 00 00 06 */ ori r0, r0, 6
+/* 802CC8AC 002C850C 98 1F 00 76 */ stb r0, 0x76(r31)
+lbl_802CC8B0:
+/* 802CC8B0 002C8510 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CC8B4 002C8514 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CC8B8 002C8518 88 03 19 78 */ lbz r0, 0x1978(r3)
+/* 802CC8BC 002C851C 28 00 00 03 */ cmplwi r0, 3
+/* 802CC8C0 002C8520 40 82 00 10 */ bne lbl_802CC8D0
+/* 802CC8C4 002C8524 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CC8C8 002C8528 60 00 00 02 */ ori r0, r0, 2
+/* 802CC8CC 002C852C 98 1F 00 76 */ stb r0, 0x76(r31)
+lbl_802CC8D0:
+/* 802CC8D0 002C8530 38 00 00 00 */ li r0, 0
+/* 802CC8D4 002C8534 98 1F 00 84 */ stb r0, 0x84(r31)
+/* 802CC8D8 002C8538 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CC8DC 002C853C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 802CC8E0 002C8540 41 82 00 10 */ beq lbl_802CC8F0
+/* 802CC8E4 002C8544 88 1F 00 80 */ lbz r0, 0x80(r31)
+/* 802CC8E8 002C8548 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC8EC 002C854C 41 82 00 74 */ beq lbl_802CC960
+lbl_802CC8F0:
+/* 802CC8F0 002C8550 7F E3 FB 78 */ mr r3, r31
+/* 802CC8F4 002C8554 48 00 09 79 */ bl btm_sec_execute_procedure
+/* 802CC8F8 002C8558 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802CC8FC 002C855C 7C 64 1B 78 */ mr r4, r3
+/* 802CC900 002C8560 28 00 00 01 */ cmplwi r0, 1
+/* 802CC904 002C8564 41 82 00 5C */ beq lbl_802CC960
+/* 802CC908 002C8568 80 1F 00 04 */ lwz r0, 4(r31)
+/* 802CC90C 002C856C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC910 002C8570 41 82 00 50 */ beq lbl_802CC960
+/* 802CC914 002C8574 88 1F 00 80 */ lbz r0, 0x80(r31)
+/* 802CC918 002C8578 2C 00 00 00 */ cmpwi r0, 0
+/* 802CC91C 002C857C 41 82 00 24 */ beq lbl_802CC940
+/* 802CC920 002C8580 80 7F 00 00 */ lwz r3, 0(r31)
+/* 802CC924 002C8584 2C 03 00 00 */ cmpwi r3, 0
+/* 802CC928 002C8588 41 82 00 18 */ beq lbl_802CC940
+/* 802CC92C 002C858C 80 03 00 00 */ lwz r0, 0(r3)
+/* 802CC930 002C8590 28 00 00 03 */ cmplwi r0, 3
+/* 802CC934 002C8594 40 82 00 0C */ bne lbl_802CC940
+/* 802CC938 002C8598 38 00 00 00 */ li r0, 0
+/* 802CC93C 002C859C 90 03 00 04 */ stw r0, 4(r3)
+lbl_802CC940:
+/* 802CC940 002C85A0 81 9F 00 04 */ lwz r12, 4(r31)
+/* 802CC944 002C85A4 54 85 06 3E */ clrlwi r5, r4, 0x18
+/* 802CC948 002C85A8 38 7F 00 1C */ addi r3, r31, 0x1c
+/* 802CC94C 002C85AC 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802CC950 002C85B0 7D 89 03 A6 */ mtctr r12
+/* 802CC954 002C85B4 4E 80 04 21 */ bctrl
+/* 802CC958 002C85B8 38 00 00 00 */ li r0, 0
+/* 802CC95C 002C85BC 90 1F 00 04 */ stw r0, 4(r31)
+lbl_802CC960:
+/* 802CC960 002C85C0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CC964 002C85C4 4B EF A8 11 */ bl _restgpr_27
+/* 802CC968 002C85C8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CC96C 002C85CC 7C 08 03 A6 */ mtlr r0
+/* 802CC970 002C85D0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CC974 002C85D4 4E 80 00 20 */ blr
+
+.global btm_sec_disconnect
+btm_sec_disconnect:
+/* 802CC978 002C85D8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CC97C 002C85DC 7C 08 02 A6 */ mflr r0
+/* 802CC980 002C85E0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CC984 002C85E4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CC988 002C85E8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CC98C 002C85EC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CC990 002C85F0 7C 9D 23 78 */ mr r29, r4
+/* 802CC994 002C85F4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802CC998 002C85F8 7C 7C 1B 78 */ mr r28, r3
+/* 802CC99C 002C85FC 4B FF 8B C9 */ bl btm_find_dev_by_handle
+/* 802CC9A0 002C8600 2C 03 00 00 */ cmpwi r3, 0
+/* 802CC9A4 002C8604 7C 7F 1B 78 */ mr r31, r3
+/* 802CC9A8 002C8608 40 82 00 0C */ bne lbl_802CC9B4
+/* 802CC9AC 002C860C 38 60 00 05 */ li r3, 5
+/* 802CC9B0 002C8610 48 00 00 64 */ b lbl_802CCA14
+lbl_802CC9B4:
+/* 802CC9B4 002C8614 88 03 00 81 */ lbz r0, 0x81(r3)
+/* 802CC9B8 002C8618 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CC9BC 002C861C 41 82 00 18 */ beq lbl_802CC9D4
+/* 802CC9C0 002C8620 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CC9C4 002C8624 38 60 00 00 */ li r3, 0
+/* 802CC9C8 002C8628 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CC9CC 002C862C 9B A4 19 7E */ stb r29, 0x197e(r4)
+/* 802CC9D0 002C8630 48 00 00 44 */ b lbl_802CCA14
+lbl_802CC9D4:
+/* 802CC9D4 002C8634 8B C3 00 7F */ lbz r30, 0x7f(r3)
+/* 802CC9D8 002C8638 28 1E 00 05 */ cmplwi r30, 5
+/* 802CC9DC 002C863C 40 82 00 0C */ bne lbl_802CC9E8
+/* 802CC9E0 002C8640 38 60 00 01 */ li r3, 1
+/* 802CC9E4 002C8644 48 00 00 30 */ b lbl_802CCA14
+lbl_802CC9E8:
+/* 802CC9E8 002C8648 38 00 00 05 */ li r0, 5
+/* 802CC9EC 002C864C 7F A4 EB 78 */ mr r4, r29
+/* 802CC9F0 002C8650 98 03 00 7F */ stb r0, 0x7f(r3)
+/* 802CC9F4 002C8654 7F 83 E3 78 */ mr r3, r28
+/* 802CC9F8 002C8658 48 00 36 99 */ bl func_802D0090
+/* 802CC9FC 002C865C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CCA00 002C8660 41 82 00 0C */ beq lbl_802CCA0C
+/* 802CCA04 002C8664 38 60 00 01 */ li r3, 1
+/* 802CCA08 002C8668 48 00 00 0C */ b lbl_802CCA14
+lbl_802CCA0C:
+/* 802CCA0C 002C866C 9B DF 00 7F */ stb r30, 0x7f(r31)
+/* 802CCA10 002C8670 38 60 00 03 */ li r3, 3
+lbl_802CCA14:
+/* 802CCA14 002C8674 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CCA18 002C8678 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CCA1C 002C867C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CCA20 002C8680 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CCA24 002C8684 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802CCA28 002C8688 7C 08 03 A6 */ mtlr r0
+/* 802CCA2C 002C868C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CCA30 002C8690 4E 80 00 20 */ blr
+
+.global btm_sec_disconnected
+btm_sec_disconnected:
+/* 802CCA34 002C8694 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CCA38 002C8698 7C 08 02 A6 */ mflr r0
+/* 802CCA3C 002C869C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CCA40 002C86A0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CCA44 002C86A4 7C 9F 23 78 */ mr r31, r4
+/* 802CCA48 002C86A8 93 C1 00 08 */ stw r30, 8(r1)
+/* 802CCA4C 002C86AC 4B FF 8B 19 */ bl btm_find_dev_by_handle
+/* 802CCA50 002C86B0 2C 03 00 00 */ cmpwi r3, 0
+/* 802CCA54 002C86B4 7C 7E 1B 78 */ mr r30, r3
+/* 802CCA58 002C86B8 41 82 01 00 */ beq lbl_802CCB58
+/* 802CCA5C 002C86BC 88 03 00 81 */ lbz r0, 0x81(r3)
+/* 802CCA60 002C86C0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CCA64 002C86C4 41 82 00 54 */ beq lbl_802CCAB8
+/* 802CCA68 002C86C8 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CCA6C 002C86CC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CCA70 002C86D0 81 84 19 1C */ lwz r12, 0x191c(r4)
+/* 802CCA74 002C86D4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CCA78 002C86D8 41 82 00 40 */ beq lbl_802CCAB8
+/* 802CCA7C 002C86DC 28 1F 00 17 */ cmplwi r31, 0x17
+/* 802CCA80 002C86E0 40 82 00 20 */ bne lbl_802CCAA0
+/* 802CCA84 002C86E4 38 83 00 22 */ addi r4, r3, 0x22
+/* 802CCA88 002C86E8 38 A3 00 35 */ addi r5, r3, 0x35
+/* 802CCA8C 002C86EC 38 C0 00 17 */ li r6, 0x17
+/* 802CCA90 002C86F0 7D 89 03 A6 */ mtctr r12
+/* 802CCA94 002C86F4 38 63 00 1C */ addi r3, r3, 0x1c
+/* 802CCA98 002C86F8 4E 80 04 21 */ bctrl
+/* 802CCA9C 002C86FC 48 00 00 1C */ b lbl_802CCAB8
+lbl_802CCAA0:
+/* 802CCAA0 002C8700 38 83 00 22 */ addi r4, r3, 0x22
+/* 802CCAA4 002C8704 38 A3 00 35 */ addi r5, r3, 0x35
+/* 802CCAA8 002C8708 38 C0 00 05 */ li r6, 5
+/* 802CCAAC 002C870C 7D 89 03 A6 */ mtctr r12
+/* 802CCAB0 002C8710 38 63 00 1C */ addi r3, r3, 0x1c
+/* 802CCAB4 002C8714 4E 80 04 21 */ bctrl
+lbl_802CCAB8:
+/* 802CCAB8 002C8718 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802CCABC 002C871C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802CCAC0 002C8720 80 1F 19 4C */ lwz r0, 0x194c(r31)
+/* 802CCAC4 002C8724 2C 00 00 00 */ cmpwi r0, 0
+/* 802CCAC8 002C8728 41 82 00 60 */ beq lbl_802CCB28
+/* 802CCACC 002C872C 38 7F 19 54 */ addi r3, r31, 0x1954
+/* 802CCAD0 002C8730 38 9E 00 1C */ addi r4, r30, 0x1c
+/* 802CCAD4 002C8734 38 A0 00 06 */ li r5, 6
+/* 802CCAD8 002C8738 4B EF D8 C1 */ bl memcmp
+/* 802CCADC 002C873C 2C 03 00 00 */ cmpwi r3, 0
+/* 802CCAE0 002C8740 40 82 00 48 */ bne lbl_802CCB28
+/* 802CCAE4 002C8744 38 7F 19 3C */ addi r3, r31, 0x193c
+/* 802CCAE8 002C8748 4B FF 0A 65 */ bl btu_stop_timer
+/* 802CCAEC 002C874C 38 00 00 00 */ li r0, 0
+/* 802CCAF0 002C8750 38 7F 19 54 */ addi r3, r31, 0x1954
+/* 802CCAF4 002C8754 90 1F 19 4C */ stw r0, 0x194c(r31)
+/* 802CCAF8 002C8758 38 80 00 FF */ li r4, 0xff
+/* 802CCAFC 002C875C 38 A0 00 06 */ li r5, 6
+/* 802CCB00 002C8760 4B D3 76 05 */ bl memset
+/* 802CCB04 002C8764 81 9F 19 1C */ lwz r12, 0x191c(r31)
+/* 802CCB08 002C8768 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CCB0C 002C876C 41 82 00 1C */ beq lbl_802CCB28
+/* 802CCB10 002C8770 38 7E 00 1C */ addi r3, r30, 0x1c
+/* 802CCB14 002C8774 38 9E 00 22 */ addi r4, r30, 0x22
+/* 802CCB18 002C8778 38 BE 00 35 */ addi r5, r30, 0x35
+/* 802CCB1C 002C877C 38 C0 00 0E */ li r6, 0xe
+/* 802CCB20 002C8780 7D 89 03 A6 */ mtctr r12
+/* 802CCB24 002C8784 4E 80 04 21 */ bctrl
+lbl_802CCB28:
+/* 802CCB28 002C8788 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
+/* 802CCB2C 002C878C 38 60 00 00 */ li r3, 0
+/* 802CCB30 002C8790 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
+/* 802CCB34 002C8794 B0 1E 00 18 */ sth r0, 0x18(r30)
+/* 802CCB38 002C8798 98 7E 00 7F */ stb r3, 0x7f(r30)
+/* 802CCB3C 002C879C 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802CCB40 002C87A0 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c
+/* 802CCB44 002C87A4 98 1E 00 76 */ stb r0, 0x76(r30)
+/* 802CCB48 002C87A8 88 1E 00 81 */ lbz r0, 0x81(r30)
+/* 802CCB4C 002C87AC 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18
+/* 802CCB50 002C87B0 98 1E 00 81 */ stb r0, 0x81(r30)
+/* 802CCB54 002C87B4 90 7E 00 04 */ stw r3, 4(r30)
+lbl_802CCB58:
+/* 802CCB58 002C87B8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CCB5C 002C87BC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CCB60 002C87C0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802CCB64 002C87C4 7C 08 03 A6 */ mtlr r0
+/* 802CCB68 002C87C8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CCB6C 002C87CC 4E 80 00 20 */ blr
+
+.global btm_sec_link_key_notification
+btm_sec_link_key_notification:
+/* 802CCB70 002C87D0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CCB74 002C87D4 7C 08 02 A6 */ mflr r0
+/* 802CCB78 002C87D8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CCB7C 002C87DC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CCB80 002C87E0 4B EF A5 A9 */ bl _savegpr_27
+/* 802CCB84 002C87E4 7C 7D 1B 78 */ mr r29, r3
+/* 802CCB88 002C87E8 7C 9E 23 78 */ mr r30, r4
+/* 802CCB8C 002C87EC 7C BB 2B 78 */ mr r27, r5
+/* 802CCB90 002C87F0 4B FF 8A 8D */ bl btm_find_dev
+/* 802CCB94 002C87F4 2C 03 00 00 */ cmpwi r3, 0
+/* 802CCB98 002C87F8 7C 7F 1B 78 */ mr r31, r3
+/* 802CCB9C 002C87FC 40 82 00 18 */ bne lbl_802CCBB4
+/* 802CCBA0 002C8800 7F A3 EB 78 */ mr r3, r29
+/* 802CCBA4 002C8804 4B FF 88 A1 */ bl btm_sec_alloc_dev
+/* 802CCBA8 002C8808 2C 03 00 00 */ cmpwi r3, 0
+/* 802CCBAC 002C880C 7C 7F 1B 78 */ mr r31, r3
+/* 802CCBB0 002C8810 41 82 01 54 */ beq lbl_802CCD04
+lbl_802CCBB4:
+/* 802CCBB4 002C8814 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CCBB8 002C8818 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CCBBC 002C881C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CCBC0 002C8820 28 00 00 04 */ cmplwi r0, 4
+/* 802CCBC4 002C8824 41 80 00 30 */ blt lbl_802CCBF4
+/* 802CCBC8 002C8828 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CCBCC 002C882C 3C 80 80 44 */ lis r4, lbl_80441F78@ha
+/* 802CCBD0 002C8830 88 BD 00 00 */ lbz r5, 0(r29)
+/* 802CCBD4 002C8834 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CCBD8 002C8838 88 DD 00 01 */ lbz r6, 1(r29)
+/* 802CCBDC 002C883C 38 84 1F 78 */ addi r4, r4, lbl_80441F78@l
+/* 802CCBE0 002C8840 88 FD 00 02 */ lbz r7, 2(r29)
+/* 802CCBE4 002C8844 89 1D 00 03 */ lbz r8, 3(r29)
+/* 802CCBE8 002C8848 89 3D 00 04 */ lbz r9, 4(r29)
+/* 802CCBEC 002C884C 89 5D 00 05 */ lbz r10, 5(r29)
+/* 802CCBF0 002C8850 4B FF 03 B1 */ bl LogMsg_6
+lbl_802CCBF4:
+/* 802CCBF4 002C8854 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CCBF8 002C8858 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CCBFC 002C885C 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CCC00 002C8860 28 00 00 04 */ cmplwi r0, 4
+/* 802CCC04 002C8864 41 80 00 1C */ blt lbl_802CCC20
+/* 802CCC08 002C8868 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CCC0C 002C886C 3C 80 80 44 */ lis r4, lbl_80441FBC@ha
+/* 802CCC10 002C8870 7F 65 DB 78 */ mr r5, r27
+/* 802CCC14 002C8874 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CCC18 002C8878 38 84 1F BC */ addi r4, r4, lbl_80441FBC@l
+/* 802CCC1C 002C887C 4B FF 03 0D */ bl LogMsg_1
+lbl_802CCC20:
+/* 802CCC20 002C8880 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CCC24 002C8884 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CCC28 002C8888 88 03 06 36 */ lbz r0, 0x636(r3)
+/* 802CCC2C 002C888C 28 00 00 01 */ cmplwi r0, 1
+/* 802CCC30 002C8890 40 80 00 10 */ bge lbl_802CCC40
+/* 802CCC34 002C8894 38 00 00 FF */ li r0, 0xff
+/* 802CCC38 002C8898 98 1F 00 83 */ stb r0, 0x83(r31)
+/* 802CCC3C 002C889C 48 00 00 08 */ b lbl_802CCC44
+lbl_802CCC40:
+/* 802CCC40 002C88A0 9B 7F 00 83 */ stb r27, 0x83(r31)
+lbl_802CCC44:
+/* 802CCC44 002C88A4 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CCC48 002C88A8 7F C4 F3 78 */ mr r4, r30
+/* 802CCC4C 002C88AC 38 7F 00 25 */ addi r3, r31, 0x25
+/* 802CCC50 002C88B0 38 A0 00 10 */ li r5, 0x10
+/* 802CCC54 002C88B4 60 00 00 10 */ ori r0, r0, 0x10
+/* 802CCC58 002C88B8 98 1F 00 76 */ stb r0, 0x76(r31)
+/* 802CCC5C 002C88BC 4B D3 73 A5 */ bl memcpy
+/* 802CCC60 002C88C0 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CCC64 002C88C4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 802CCC68 002C88C8 41 82 00 1C */ beq lbl_802CCC84
+/* 802CCC6C 002C88CC 88 1F 00 81 */ lbz r0, 0x81(r31)
+/* 802CCC70 002C88D0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CCC74 002C88D4 41 82 00 1C */ beq lbl_802CCC90
+/* 802CCC78 002C88D8 88 1F 00 85 */ lbz r0, 0x85(r31)
+/* 802CCC7C 002C88DC 2C 00 00 00 */ cmpwi r0, 0
+/* 802CCC80 002C88E0 40 82 00 10 */ bne lbl_802CCC90
+lbl_802CCC84:
+/* 802CCC84 002C88E4 38 00 00 01 */ li r0, 1
+/* 802CCC88 002C88E8 98 1F 00 82 */ stb r0, 0x82(r31)
+/* 802CCC8C 002C88EC 48 00 00 78 */ b lbl_802CCD04
+lbl_802CCC90:
+/* 802CCC90 002C88F0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CCC94 002C88F4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CCC98 002C88F8 81 83 19 14 */ lwz r12, 0x1914(r3)
+/* 802CCC9C 002C88FC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CCCA0 002C8900 41 82 00 20 */ beq lbl_802CCCC0
+/* 802CCCA4 002C8904 7F A3 EB 78 */ mr r3, r29
+/* 802CCCA8 002C8908 7F C6 F3 78 */ mr r6, r30
+/* 802CCCAC 002C890C 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CCCB0 002C8910 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CCCB4 002C8914 88 FF 00 83 */ lbz r7, 0x83(r31)
+/* 802CCCB8 002C8918 7D 89 03 A6 */ mtctr r12
+/* 802CCCBC 002C891C 4E 80 04 21 */ bctrl
+lbl_802CCCC0:
+/* 802CCCC0 002C8920 3F 80 80 57 */ lis r28, lbl_80568B78@ha
+/* 802CCCC4 002C8924 3B 60 00 00 */ li r27, 0
+/* 802CCCC8 002C8928 3B 9C 8B 78 */ addi r28, r28, lbl_80568B78@l
+lbl_802CCCCC:
+/* 802CCCCC 002C892C 81 9C 19 24 */ lwz r12, 0x1924(r28)
+/* 802CCCD0 002C8930 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CCCD4 002C8934 41 82 00 20 */ beq lbl_802CCCF4
+/* 802CCCD8 002C8938 7F A3 EB 78 */ mr r3, r29
+/* 802CCCDC 002C893C 7F C6 F3 78 */ mr r6, r30
+/* 802CCCE0 002C8940 38 9F 00 22 */ addi r4, r31, 0x22
+/* 802CCCE4 002C8944 38 BF 00 35 */ addi r5, r31, 0x35
+/* 802CCCE8 002C8948 88 FF 00 83 */ lbz r7, 0x83(r31)
+/* 802CCCEC 002C894C 7D 89 03 A6 */ mtctr r12
+/* 802CCCF0 002C8950 4E 80 04 21 */ bctrl
+lbl_802CCCF4:
+/* 802CCCF4 002C8954 3B 7B 00 01 */ addi r27, r27, 1
+/* 802CCCF8 002C8958 3B 9C 00 04 */ addi r28, r28, 4
+/* 802CCCFC 002C895C 2C 1B 00 02 */ cmpwi r27, 2
+/* 802CCD00 002C8960 41 80 FF CC */ blt lbl_802CCCCC
+lbl_802CCD04:
+/* 802CCD04 002C8964 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CCD08 002C8968 4B EF A4 6D */ bl _restgpr_27
+/* 802CCD0C 002C896C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CCD10 002C8970 7C 08 03 A6 */ mtlr r0
+/* 802CCD14 002C8974 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CCD18 002C8978 4E 80 00 20 */ blr
+
+.global btm_sec_link_key_request
+btm_sec_link_key_request:
+/* 802CCD1C 002C897C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CCD20 002C8980 7C 08 02 A6 */ mflr r0
+/* 802CCD24 002C8984 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CCD28 002C8988 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CCD2C 002C898C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CCD30 002C8990 7C 7E 1B 78 */ mr r30, r3
+/* 802CCD34 002C8994 4B FF 88 E9 */ bl btm_find_dev
+/* 802CCD38 002C8998 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CCD3C 002C899C 7C 7F 1B 78 */ mr r31, r3
+/* 802CCD40 002C89A0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CCD44 002C89A4 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CCD48 002C89A8 28 00 00 04 */ cmplwi r0, 4
+/* 802CCD4C 002C89AC 41 80 00 30 */ blt lbl_802CCD7C
+/* 802CCD50 002C89B0 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CCD54 002C89B4 3C 80 80 44 */ lis r4, lbl_80441FE8@ha
+/* 802CCD58 002C89B8 88 BE 00 00 */ lbz r5, 0(r30)
+/* 802CCD5C 002C89BC 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CCD60 002C89C0 88 DE 00 01 */ lbz r6, 1(r30)
+/* 802CCD64 002C89C4 38 84 1F E8 */ addi r4, r4, lbl_80441FE8@l
+/* 802CCD68 002C89C8 88 FE 00 02 */ lbz r7, 2(r30)
+/* 802CCD6C 002C89CC 89 1E 00 03 */ lbz r8, 3(r30)
+/* 802CCD70 002C89D0 89 3E 00 04 */ lbz r9, 4(r30)
+/* 802CCD74 002C89D4 89 5E 00 05 */ lbz r10, 5(r30)
+/* 802CCD78 002C89D8 4B FF 02 29 */ bl LogMsg_6
+lbl_802CCD7C:
+/* 802CCD7C 002C89DC 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CCD80 002C89E0 41 82 00 20 */ beq lbl_802CCDA0
+/* 802CCD84 002C89E4 88 1F 00 76 */ lbz r0, 0x76(r31)
+/* 802CCD88 002C89E8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 802CCD8C 002C89EC 41 82 00 14 */ beq lbl_802CCDA0
+/* 802CCD90 002C89F0 7F C3 F3 78 */ mr r3, r30
+/* 802CCD94 002C89F4 38 9F 00 25 */ addi r4, r31, 0x25
+/* 802CCD98 002C89F8 48 00 34 C9 */ bl func_802D0260
+/* 802CCD9C 002C89FC 48 00 00 98 */ b lbl_802CCE34
+lbl_802CCDA0:
+/* 802CCDA0 002C8A00 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CCDA4 002C8A04 40 82 00 10 */ bne lbl_802CCDB4
+/* 802CCDA8 002C8A08 7F C3 F3 78 */ mr r3, r30
+/* 802CCDAC 002C8A0C 4B FF 86 99 */ bl btm_sec_alloc_dev
+/* 802CCDB0 002C8A10 7C 7F 1B 78 */ mr r31, r3
+lbl_802CCDB4:
+/* 802CCDB4 002C8A14 88 1F 00 81 */ lbz r0, 0x81(r31)
+/* 802CCDB8 002C8A18 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CCDBC 002C8A1C 40 82 00 70 */ bne lbl_802CCE2C
+/* 802CCDC0 002C8A20 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CCDC4 002C8A24 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CCDC8 002C8A28 81 83 19 18 */ lwz r12, 0x1918(r3)
+/* 802CCDCC 002C8A2C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802CCDD0 002C8A30 41 82 00 5C */ beq lbl_802CCE2C
+/* 802CCDD4 002C8A34 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CCDD8 002C8A38 41 82 00 2C */ beq lbl_802CCE04
+/* 802CCDDC 002C8A3C 7F C3 F3 78 */ mr r3, r30
+/* 802CCDE0 002C8A40 38 9F 00 25 */ addi r4, r31, 0x25
+/* 802CCDE4 002C8A44 7D 89 03 A6 */ mtctr r12
+/* 802CCDE8 002C8A48 4E 80 04 21 */ bctrl
+/* 802CCDEC 002C8A4C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CCDF0 002C8A50 40 82 00 3C */ bne lbl_802CCE2C
+/* 802CCDF4 002C8A54 7F C3 F3 78 */ mr r3, r30
+/* 802CCDF8 002C8A58 38 9F 00 25 */ addi r4, r31, 0x25
+/* 802CCDFC 002C8A5C 48 00 34 65 */ bl func_802D0260
+/* 802CCE00 002C8A60 48 00 00 34 */ b lbl_802CCE34
+lbl_802CCE04:
+/* 802CCE04 002C8A64 7F C3 F3 78 */ mr r3, r30
+/* 802CCE08 002C8A68 38 81 00 08 */ addi r4, r1, 8
+/* 802CCE0C 002C8A6C 7D 89 03 A6 */ mtctr r12
+/* 802CCE10 002C8A70 4E 80 04 21 */ bctrl
+/* 802CCE14 002C8A74 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CCE18 002C8A78 40 82 00 14 */ bne lbl_802CCE2C
+/* 802CCE1C 002C8A7C 7F C3 F3 78 */ mr r3, r30
+/* 802CCE20 002C8A80 38 81 00 08 */ addi r4, r1, 8
+/* 802CCE24 002C8A84 48 00 34 3D */ bl func_802D0260
+/* 802CCE28 002C8A88 48 00 00 0C */ b lbl_802CCE34
+lbl_802CCE2C:
+/* 802CCE2C 002C8A8C 7F C3 F3 78 */ mr r3, r30
+/* 802CCE30 002C8A90 48 00 35 D1 */ bl func_802D0400
+lbl_802CCE34:
+/* 802CCE34 002C8A94 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CCE38 002C8A98 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CCE3C 002C8A9C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CCE40 002C8AA0 7C 08 03 A6 */ mtlr r0
+/* 802CCE44 002C8AA4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CCE48 002C8AA8 4E 80 00 20 */ blr
+
+btm_sec_pin_code_request_timeout:
+/* 802CCE4C 002C8AAC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CCE50 002C8AB0 7C 08 02 A6 */ mflr r0
+/* 802CCE54 002C8AB4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CCE58 002C8AB8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CCE5C 002C8ABC 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802CCE60 002C8AC0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802CCE64 002C8AC4 88 1F 27 C0 */ lbz r0, 0x27c0(r31)
+/* 802CCE68 002C8AC8 28 00 00 04 */ cmplwi r0, 4
+/* 802CCE6C 002C8ACC 41 80 00 18 */ blt lbl_802CCE84
+/* 802CCE70 002C8AD0 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CCE74 002C8AD4 3C 80 80 44 */ lis r4, lbl_80442028@ha
+/* 802CCE78 002C8AD8 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CCE7C 002C8ADC 38 84 20 28 */ addi r4, r4, lbl_80442028@l
+/* 802CCE80 002C8AE0 4B FF 00 91 */ bl LogMsg_0
+lbl_802CCE84:
+/* 802CCE84 002C8AE4 38 00 00 00 */ li r0, 0
+/* 802CCE88 002C8AE8 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CCE8C 002C8AEC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CCE90 002C8AF0 90 1F 19 4C */ stw r0, 0x194c(r31)
+/* 802CCE94 002C8AF4 38 63 19 54 */ addi r3, r3, 0x1954
+/* 802CCE98 002C8AF8 38 80 00 FF */ li r4, 0xff
+/* 802CCE9C 002C8AFC 38 A0 00 06 */ li r5, 6
+/* 802CCEA0 002C8B00 4B D3 72 65 */ bl memset
+/* 802CCEA4 002C8B04 38 7F 27 B4 */ addi r3, r31, 0x27b4
+/* 802CCEA8 002C8B08 48 00 37 DD */ bl func_802D0684
+/* 802CCEAC 002C8B0C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CCEB0 002C8B10 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CCEB4 002C8B14 7C 08 03 A6 */ mtlr r0
+/* 802CCEB8 002C8B18 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CCEBC 002C8B1C 4E 80 00 20 */ blr
+
+.global btm_sec_pin_code_request
+btm_sec_pin_code_request:
+/* 802CCEC0 002C8B20 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CCEC4 002C8B24 7C 08 02 A6 */ mflr r0
+/* 802CCEC8 002C8B28 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CCECC 002C8B2C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CCED0 002C8B30 4B EF A2 59 */ bl _savegpr_27
+/* 802CCED4 002C8B34 3F A0 80 57 */ lis r29, lbl_80568B78@ha
+/* 802CCED8 002C8B38 3F E0 80 44 */ lis r31, lbl_80441890@ha
+/* 802CCEDC 002C8B3C 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l
+/* 802CCEE0 002C8B40 7C 7B 1B 78 */ mr r27, r3
+/* 802CCEE4 002C8B44 88 1D 27 C0 */ lbz r0, 0x27c0(r29)
+/* 802CCEE8 002C8B48 3B FF 18 90 */ addi r31, r31, lbl_80441890@l
+/* 802CCEEC 002C8B4C 3B 80 00 00 */ li r28, 0
+/* 802CCEF0 002C8B50 3B C0 00 00 */ li r30, 0
+/* 802CCEF4 002C8B54 28 00 00 04 */ cmplwi r0, 4
+/* 802CCEF8 002C8B58 41 80 00 2C */ blt lbl_802CCF24
+/* 802CCEFC 002C8B5C 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CCF00 002C8B60 88 BB 00 00 */ lbz r5, 0(r27)
+/* 802CCF04 002C8B64 88 DB 00 01 */ lbz r6, 1(r27)
+/* 802CCF08 002C8B68 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CCF0C 002C8B6C 88 FB 00 02 */ lbz r7, 2(r27)
+/* 802CCF10 002C8B70 38 9F 07 BC */ addi r4, r31, 0x7bc
+/* 802CCF14 002C8B74 89 1B 00 03 */ lbz r8, 3(r27)
+/* 802CCF18 002C8B78 89 3B 00 04 */ lbz r9, 4(r27)
+/* 802CCF1C 002C8B7C 89 5B 00 05 */ lbz r10, 5(r27)
+/* 802CCF20 002C8B80 4B FF 00 81 */ bl LogMsg_6
+lbl_802CCF24:
+/* 802CCF24 002C8B84 88 1D 19 79 */ lbz r0, 0x1979(r29)
+/* 802CCF28 002C8B88 2C 00 00 00 */ cmpwi r0, 0
+/* 802CCF2C 002C8B8C 40 82 00 E4 */ bne lbl_802CD010
+/* 802CCF30 002C8B90 88 1D 00 20 */ lbz r0, 0x20(r29)
+/* 802CCF34 002C8B94 28 00 00 01 */ cmplwi r0, 1
+/* 802CCF38 002C8B98 40 82 00 D8 */ bne lbl_802CD010
+/* 802CCF3C 002C8B9C 7F 63 DB 78 */ mr r3, r27
+/* 802CCF40 002C8BA0 4B FF 86 DD */ bl btm_find_dev
+/* 802CCF44 002C8BA4 2C 03 00 00 */ cmpwi r3, 0
+/* 802CCF48 002C8BA8 40 82 00 A0 */ bne lbl_802CCFE8
+/* 802CCF4C 002C8BAC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CCF50 002C8BB0 38 00 00 02 */ li r0, 2
+/* 802CCF54 002C8BB4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CCF58 002C8BB8 38 63 1F 30 */ addi r3, r3, 0x1f30
+/* 802CCF5C 002C8BBC 7C 09 03 A6 */ mtctr r0
+lbl_802CCF60:
+/* 802CCF60 002C8BC0 88 03 00 76 */ lbz r0, 0x76(r3)
+/* 802CCF64 002C8BC4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CCF68 002C8BC8 41 82 00 80 */ beq lbl_802CCFE8
+/* 802CCF6C 002C8BCC 88 03 00 FE */ lbz r0, 0xfe(r3)
+/* 802CCF70 002C8BD0 3B DE 00 01 */ addi r30, r30, 1
+/* 802CCF74 002C8BD4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CCF78 002C8BD8 41 82 00 70 */ beq lbl_802CCFE8
+/* 802CCF7C 002C8BDC 88 03 01 86 */ lbz r0, 0x186(r3)
+/* 802CCF80 002C8BE0 3B DE 00 01 */ addi r30, r30, 1
+/* 802CCF84 002C8BE4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CCF88 002C8BE8 41 82 00 60 */ beq lbl_802CCFE8
+/* 802CCF8C 002C8BEC 88 03 02 0E */ lbz r0, 0x20e(r3)
+/* 802CCF90 002C8BF0 3B DE 00 01 */ addi r30, r30, 1
+/* 802CCF94 002C8BF4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CCF98 002C8BF8 41 82 00 50 */ beq lbl_802CCFE8
+/* 802CCF9C 002C8BFC 88 03 02 96 */ lbz r0, 0x296(r3)
+/* 802CCFA0 002C8C00 3B DE 00 01 */ addi r30, r30, 1
+/* 802CCFA4 002C8C04 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CCFA8 002C8C08 41 82 00 40 */ beq lbl_802CCFE8
+/* 802CCFAC 002C8C0C 88 03 03 1E */ lbz r0, 0x31e(r3)
+/* 802CCFB0 002C8C10 3B DE 00 01 */ addi r30, r30, 1
+/* 802CCFB4 002C8C14 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CCFB8 002C8C18 41 82 00 30 */ beq lbl_802CCFE8
+/* 802CCFBC 002C8C1C 88 03 03 A6 */ lbz r0, 0x3a6(r3)
+/* 802CCFC0 002C8C20 3B DE 00 01 */ addi r30, r30, 1
+/* 802CCFC4 002C8C24 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CCFC8 002C8C28 41 82 00 20 */ beq lbl_802CCFE8
+/* 802CCFCC 002C8C2C 88 03 04 2E */ lbz r0, 0x42e(r3)
+/* 802CCFD0 002C8C30 3B DE 00 01 */ addi r30, r30, 1
+/* 802CCFD4 002C8C34 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 802CCFD8 002C8C38 41 82 00 10 */ beq lbl_802CCFE8
+/* 802CCFDC 002C8C3C 3B DE 00 01 */ addi r30, r30, 1
+/* 802CCFE0 002C8C40 38 63 04 40 */ addi r3, r3, 0x440
+/* 802CCFE4 002C8C44 42 00 FF 7C */ bdnz lbl_802CCF60
+lbl_802CCFE8:
+/* 802CCFE8 002C8C48 2C 1E 00 10 */ cmpwi r30, 0x10
+/* 802CCFEC 002C8C4C 41 80 00 10 */ blt lbl_802CCFFC
+/* 802CCFF0 002C8C50 7F 63 DB 78 */ mr r3, r27
+/* 802CCFF4 002C8C54 48 00 36 91 */ bl func_802D0684
+/* 802CCFF8 002C8C58 48 00 02 0C */ b lbl_802CD204
+lbl_802CCFFC:
+/* 802CCFFC 002C8C5C 88 9D 00 21 */ lbz r4, 0x21(r29)
+/* 802CD000 002C8C60 7F 63 DB 78 */ mr r3, r27
+/* 802CD004 002C8C64 38 BD 00 22 */ addi r5, r29, 0x22
+/* 802CD008 002C8C68 48 00 34 99 */ bl func_802D04A0
+/* 802CD00C 002C8C6C 48 00 01 F8 */ b lbl_802CD204
+lbl_802CD010:
+/* 802CD010 002C8C70 7F 63 DB 78 */ mr r3, r27
+/* 802CD014 002C8C74 4B FF 86 09 */ bl btm_find_dev
+/* 802CD018 002C8C78 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD01C 002C8C7C 7C 7E 1B 78 */ mr r30, r3
+/* 802CD020 002C8C80 40 82 00 10 */ bne lbl_802CD030
+/* 802CD024 002C8C84 7F 63 DB 78 */ mr r3, r27
+/* 802CD028 002C8C88 4B FF 84 1D */ bl btm_sec_alloc_dev
+/* 802CD02C 002C8C8C 7C 7E 1B 78 */ mr r30, r3
+lbl_802CD030:
+/* 802CD030 002C8C90 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD034 002C8C94 7F 64 DB 78 */ mr r4, r27
+/* 802CD038 002C8C98 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD03C 002C8C9C 38 A0 00 06 */ li r5, 6
+/* 802CD040 002C8CA0 38 63 19 54 */ addi r3, r3, 0x1954
+/* 802CD044 002C8CA4 4B D3 6F BD */ bl memcpy
+/* 802CD048 002C8CA8 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CD04C 002C8CAC 41 82 01 74 */ beq lbl_802CD1C0
+/* 802CD050 002C8CB0 7F 63 DB 78 */ mr r3, r27
+/* 802CD054 002C8CB4 38 9D 27 B4 */ addi r4, r29, 0x27b4
+/* 802CD058 002C8CB8 38 A0 00 06 */ li r5, 6
+/* 802CD05C 002C8CBC 4B EF D3 3D */ bl memcmp
+/* 802CD060 002C8CC0 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD064 002C8CC4 40 82 00 14 */ bne lbl_802CD078
+/* 802CD068 002C8CC8 38 7E 00 22 */ addi r3, r30, 0x22
+/* 802CD06C 002C8CCC 38 9D 27 BA */ addi r4, r29, 0x27ba
+/* 802CD070 002C8CD0 38 A0 00 03 */ li r5, 3
+/* 802CD074 002C8CD4 4B D3 6F 8D */ bl memcpy
+lbl_802CD078:
+/* 802CD078 002C8CD8 88 1E 00 81 */ lbz r0, 0x81(r30)
+/* 802CD07C 002C8CDC 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CD080 002C8CE0 41 82 00 A0 */ beq lbl_802CD120
+/* 802CD084 002C8CE4 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD088 002C8CE8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD08C 002C8CEC 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CD090 002C8CF0 28 00 00 04 */ cmplwi r0, 4
+/* 802CD094 002C8CF4 41 80 00 14 */ blt lbl_802CD0A8
+/* 802CD098 002C8CF8 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CD09C 002C8CFC 38 9F 07 FC */ addi r4, r31, 0x7fc
+/* 802CD0A0 002C8D00 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CD0A4 002C8D04 4B FE FE 6D */ bl LogMsg_0
+lbl_802CD0A8:
+/* 802CD0A8 002C8D08 88 9D 19 7F */ lbz r4, 0x197f(r29)
+/* 802CD0AC 002C8D0C 7F 63 DB 78 */ mr r3, r27
+/* 802CD0B0 002C8D10 38 BD 19 80 */ addi r5, r29, 0x1980
+/* 802CD0B4 002C8D14 48 00 33 ED */ bl func_802D04A0
+/* 802CD0B8 002C8D18 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CD0BC 002C8D1C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CD0C0 002C8D20 88 04 19 7B */ lbz r0, 0x197b(r4)
+/* 802CD0C4 002C8D24 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD0C8 002C8D28 41 82 00 FC */ beq lbl_802CD1C4
+/* 802CD0CC 002C8D2C 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CD0D0 002C8D30 38 60 00 00 */ li r3, 0
+/* 802CD0D4 002C8D34 98 64 19 7B */ stb r3, 0x197b(r4)
+/* 802CD0D8 002C8D38 28 00 00 05 */ cmplwi r0, 5
+/* 802CD0DC 002C8D3C 41 80 00 24 */ blt lbl_802CD100
+/* 802CD0E0 002C8D40 88 A4 19 78 */ lbz r5, 0x1978(r4)
+/* 802CD0E4 002C8D44 3C 60 00 0D */ lis r3, 0x000D0004@ha
+/* 802CD0E8 002C8D48 38 63 00 04 */ addi r3, r3, 0x000D0004@l
+/* 802CD0EC 002C8D4C 38 9F 08 2C */ addi r4, r31, 0x82c
+/* 802CD0F0 002C8D50 38 05 FF FD */ addi r0, r5, -3
+/* 802CD0F4 002C8D54 7C 00 00 34 */ cntlzw r0, r0
+/* 802CD0F8 002C8D58 54 05 D9 7E */ srwi r5, r0, 5
+/* 802CD0FC 002C8D5C 4B FE FE 2D */ bl LogMsg_1
+lbl_802CD100:
+/* 802CD100 002C8D60 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD104 002C8D64 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD108 002C8D68 88 63 19 78 */ lbz r3, 0x1978(r3)
+/* 802CD10C 002C8D6C 38 03 FF FD */ addi r0, r3, -3
+/* 802CD110 002C8D70 7C 00 00 34 */ cntlzw r0, r0
+/* 802CD114 002C8D74 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802CD118 002C8D78 48 00 48 E1 */ bl func_802D19F8
+/* 802CD11C 002C8D7C 48 00 00 A8 */ b lbl_802CD1C4
+lbl_802CD120:
+/* 802CD120 002C8D80 88 1D 19 79 */ lbz r0, 0x1979(r29)
+/* 802CD124 002C8D84 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD128 002C8D88 40 82 00 38 */ bne lbl_802CD160
+/* 802CD12C 002C8D8C 80 1D 19 10 */ lwz r0, 0x1910(r29)
+/* 802CD130 002C8D90 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD134 002C8D94 41 82 00 2C */ beq lbl_802CD160
+/* 802CD138 002C8D98 88 1E 00 80 */ lbz r0, 0x80(r30)
+/* 802CD13C 002C8D9C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD140 002C8DA0 40 82 00 28 */ bne lbl_802CD168
+/* 802CD144 002C8DA4 88 1E 00 23 */ lbz r0, 0x23(r30)
+/* 802CD148 002C8DA8 54 00 06 FE */ clrlwi r0, r0, 0x1b
+/* 802CD14C 002C8DAC 2C 00 00 05 */ cmpwi r0, 5
+/* 802CD150 002C8DB0 40 82 00 18 */ bne lbl_802CD168
+/* 802CD154 002C8DB4 88 1E 00 24 */ lbz r0, 0x24(r30)
+/* 802CD158 002C8DB8 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802CD15C 002C8DBC 41 82 00 0C */ beq lbl_802CD168
+lbl_802CD160:
+/* 802CD160 002C8DC0 3B 80 00 01 */ li r28, 1
+/* 802CD164 002C8DC4 48 00 00 60 */ b lbl_802CD1C4
+lbl_802CD168:
+/* 802CD168 002C8DC8 7F 64 DB 78 */ mr r4, r27
+/* 802CD16C 002C8DCC 38 7D 27 B4 */ addi r3, r29, 0x27b4
+/* 802CD170 002C8DD0 38 A0 00 06 */ li r5, 6
+/* 802CD174 002C8DD4 4B D3 6E 8D */ bl memcpy
+/* 802CD178 002C8DD8 38 7D 27 BA */ addi r3, r29, 0x27ba
+/* 802CD17C 002C8DDC 38 9E 00 22 */ addi r4, r30, 0x22
+/* 802CD180 002C8DE0 38 A0 00 03 */ li r5, 3
+/* 802CD184 002C8DE4 4B D3 6E 7D */ bl memcpy
+/* 802CD188 002C8DE8 3C A0 80 2D */ lis r5, btm_sec_pin_code_request_timeout@ha
+/* 802CD18C 002C8DEC 38 7D 19 3C */ addi r3, r29, 0x193c
+/* 802CD190 002C8DF0 38 A5 CE 4C */ addi r5, r5, btm_sec_pin_code_request_timeout@l
+/* 802CD194 002C8DF4 38 80 00 16 */ li r4, 0x16
+/* 802CD198 002C8DF8 90 BD 19 4C */ stw r5, 0x194c(r29)
+/* 802CD19C 002C8DFC 38 A0 00 3C */ li r5, 0x3c
+/* 802CD1A0 002C8E00 4B FF 03 3D */ bl btu_start_timer
+/* 802CD1A4 002C8E04 81 9D 19 10 */ lwz r12, 0x1910(r29)
+/* 802CD1A8 002C8E08 7F 63 DB 78 */ mr r3, r27
+/* 802CD1AC 002C8E0C 38 9E 00 22 */ addi r4, r30, 0x22
+/* 802CD1B0 002C8E10 38 BE 00 35 */ addi r5, r30, 0x35
+/* 802CD1B4 002C8E14 7D 89 03 A6 */ mtctr r12
+/* 802CD1B8 002C8E18 4E 80 04 21 */ bctrl
+/* 802CD1BC 002C8E1C 48 00 00 08 */ b lbl_802CD1C4
+lbl_802CD1C0:
+/* 802CD1C0 002C8E20 3B 80 00 01 */ li r28, 1
+lbl_802CD1C4:
+/* 802CD1C4 002C8E24 2C 1C 00 00 */ cmpwi r28, 0
+/* 802CD1C8 002C8E28 41 82 00 3C */ beq lbl_802CD204
+/* 802CD1CC 002C8E2C 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD1D0 002C8E30 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD1D4 002C8E34 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CD1D8 002C8E38 28 00 00 02 */ cmplwi r0, 2
+/* 802CD1DC 002C8E3C 41 80 00 20 */ blt lbl_802CD1FC
+/* 802CD1E0 002C8E40 3C 60 00 0D */ lis r3, 0x000D0001@ha
+/* 802CD1E4 002C8E44 88 BD 19 79 */ lbz r5, 0x1979(r29)
+/* 802CD1E8 002C8E48 80 DD 19 10 */ lwz r6, 0x1910(r29)
+/* 802CD1EC 002C8E4C 7F C7 F3 78 */ mr r7, r30
+/* 802CD1F0 002C8E50 38 63 00 01 */ addi r3, r3, 0x000D0001@l
+/* 802CD1F4 002C8E54 38 9F 08 5C */ addi r4, r31, 0x85c
+/* 802CD1F8 002C8E58 4B FE FD 61 */ bl LogMsg_3
+lbl_802CD1FC:
+/* 802CD1FC 002C8E5C 7F 63 DB 78 */ mr r3, r27
+/* 802CD200 002C8E60 48 00 34 85 */ bl func_802D0684
+lbl_802CD204:
+/* 802CD204 002C8E64 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CD208 002C8E68 4B EF 9F 6D */ bl _restgpr_27
+/* 802CD20C 002C8E6C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CD210 002C8E70 7C 08 03 A6 */ mtlr r0
+/* 802CD214 002C8E74 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CD218 002C8E78 4E 80 00 20 */ blr
+
+.global btm_sec_update_clock_offset
+btm_sec_update_clock_offset:
+/* 802CD21C 002C8E7C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CD220 002C8E80 7C 08 02 A6 */ mflr r0
+/* 802CD224 002C8E84 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CD228 002C8E88 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CD22C 002C8E8C 7C 9F 23 78 */ mr r31, r4
+/* 802CD230 002C8E90 4B FF 83 35 */ bl btm_find_dev_by_handle
+/* 802CD234 002C8E94 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD238 002C8E98 41 82 00 20 */ beq lbl_802CD258
+/* 802CD23C 002C8E9C 63 FF 80 00 */ ori r31, r31, 0x8000
+/* 802CD240 002C8EA0 B3 E3 00 1A */ sth r31, 0x1a(r3)
+/* 802CD244 002C8EA4 38 63 00 1C */ addi r3, r3, 0x1c
+/* 802CD248 002C8EA8 4B FF AA E1 */ bl BTM_InqDbRead
+/* 802CD24C 002C8EAC 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD250 002C8EB0 41 82 00 08 */ beq lbl_802CD258
+/* 802CD254 002C8EB4 B3 E3 00 00 */ sth r31, 0(r3)
+lbl_802CD258:
+/* 802CD258 002C8EB8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CD25C 002C8EBC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CD260 002C8EC0 7C 08 03 A6 */ mtlr r0
+/* 802CD264 002C8EC4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CD268 002C8EC8 4E 80 00 20 */ blr
+
+.global btm_sec_execute_procedure
+btm_sec_execute_procedure:
+/* 802CD26C 002C8ECC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CD270 002C8ED0 7C 08 02 A6 */ mflr r0
+/* 802CD274 002C8ED4 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CD278 002C8ED8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CD27C 002C8EDC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CD280 002C8EE0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CD284 002C8EE4 3F E0 80 44 */ lis r31, lbl_80441890@ha
+/* 802CD288 002C8EE8 3B FF 18 90 */ addi r31, r31, lbl_80441890@l
+/* 802CD28C 002C8EEC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CD290 002C8EF0 7C 7E 1B 78 */ mr r30, r3
+/* 802CD294 002C8EF4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CD298 002C8EF8 88 04 27 C0 */ lbz r0, 0x27c0(r4)
+/* 802CD29C 002C8EFC 28 00 00 04 */ cmplwi r0, 4
+/* 802CD2A0 002C8F00 41 80 00 20 */ blt lbl_802CD2C0
+/* 802CD2A4 002C8F04 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CD2A8 002C8F08 88 BE 00 81 */ lbz r5, 0x81(r30)
+/* 802CD2AC 002C8F0C 88 DE 00 76 */ lbz r6, 0x76(r30)
+/* 802CD2B0 002C8F10 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CD2B4 002C8F14 88 FE 00 7F */ lbz r7, 0x7f(r30)
+/* 802CD2B8 002C8F18 38 9F 08 AC */ addi r4, r31, 0x8ac
+/* 802CD2BC 002C8F1C 4B FE FC 9D */ bl LogMsg_3
+lbl_802CD2C0:
+/* 802CD2C0 002C8F20 88 1E 00 7F */ lbz r0, 0x7f(r30)
+/* 802CD2C4 002C8F24 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD2C8 002C8F28 41 82 00 0C */ beq lbl_802CD2D4
+/* 802CD2CC 002C8F2C 38 60 00 01 */ li r3, 1
+/* 802CD2D0 002C8F30 48 00 03 60 */ b lbl_802CD630
+lbl_802CD2D4:
+/* 802CD2D4 002C8F34 A0 1E 00 18 */ lhz r0, 0x18(r30)
+/* 802CD2D8 002C8F38 28 80 FF FF */ cmplwi cr1, r0, 0xffff
+/* 802CD2DC 002C8F3C 40 86 00 60 */ bne cr1, lbl_802CD33C
+/* 802CD2E0 002C8F40 38 7E 00 1C */ addi r3, r30, 0x1c
+/* 802CD2E4 002C8F44 48 00 C7 B1 */ bl func_802D9A94
+/* 802CD2E8 002C8F48 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD2EC 002C8F4C 40 82 00 2C */ bne lbl_802CD318
+/* 802CD2F0 002C8F50 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802CD2F4 002C8F54 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802CD2F8 002C8F58 28 00 00 02 */ cmplwi r0, 2
+/* 802CD2FC 002C8F5C 41 80 00 14 */ blt lbl_802CD310
+/* 802CD300 002C8F60 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802CD304 002C8F64 38 9F 08 EC */ addi r4, r31, 0x8ec
+/* 802CD308 002C8F68 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802CD30C 002C8F6C 4B FE FC 05 */ bl LogMsg_0
+lbl_802CD310:
+/* 802CD310 002C8F70 38 60 00 03 */ li r3, 3
+/* 802CD314 002C8F74 48 00 03 1C */ b lbl_802CD630
+lbl_802CD318:
+/* 802CD318 002C8F78 48 00 E2 E1 */ bl func_802DB5F8
+/* 802CD31C 002C8F7C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CD320 002C8F80 40 82 00 0C */ bne lbl_802CD32C
+/* 802CD324 002C8F84 38 60 00 03 */ li r3, 3
+/* 802CD328 002C8F88 48 00 03 08 */ b lbl_802CD630
+lbl_802CD32C:
+/* 802CD32C 002C8F8C 38 00 00 01 */ li r0, 1
+/* 802CD330 002C8F90 38 60 00 01 */ li r3, 1
+/* 802CD334 002C8F94 98 1E 00 80 */ stb r0, 0x80(r30)
+/* 802CD338 002C8F98 48 00 02 F8 */ b lbl_802CD630
+lbl_802CD33C:
+/* 802CD33C 002C8F9C 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802CD340 002C8FA0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 802CD344 002C8FA4 40 82 00 88 */ bne lbl_802CD3CC
+/* 802CD348 002C8FA8 41 86 00 84 */ beq cr1, lbl_802CD3CC
+/* 802CD34C 002C8FAC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD350 002C8FB0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD354 002C8FB4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CD358 002C8FB8 28 00 00 04 */ cmplwi r0, 4
+/* 802CD35C 002C8FBC 41 80 00 14 */ blt lbl_802CD370
+/* 802CD360 002C8FC0 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CD364 002C8FC4 38 9F 09 10 */ addi r4, r31, 0x910
+/* 802CD368 002C8FC8 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CD36C 002C8FCC 4B FE FB A5 */ bl LogMsg_0
+lbl_802CD370:
+/* 802CD370 002C8FD0 8B BE 00 7F */ lbz r29, 0x7f(r30)
+/* 802CD374 002C8FD4 38 00 00 03 */ li r0, 3
+/* 802CD378 002C8FD8 38 7E 00 1C */ addi r3, r30, 0x1c
+/* 802CD37C 002C8FDC 38 80 00 00 */ li r4, 0
+/* 802CD380 002C8FE0 98 1E 00 7F */ stb r0, 0x7f(r30)
+/* 802CD384 002C8FE4 38 A0 00 02 */ li r5, 2
+/* 802CD388 002C8FE8 38 C0 00 1E */ li r6, 0x1e
+/* 802CD38C 002C8FEC 38 E0 00 00 */ li r7, 0
+/* 802CD390 002C8FF0 4B FF B7 19 */ bl btm_initiate_rem_name
+/* 802CD394 002C8FF4 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802CD398 002C8FF8 28 00 00 01 */ cmplwi r0, 1
+/* 802CD39C 002C8FFC 41 82 00 10 */ beq lbl_802CD3AC
+/* 802CD3A0 002C9000 9B BE 00 7F */ stb r29, 0x7f(r30)
+/* 802CD3A4 002C9004 38 00 00 00 */ li r0, 0
+/* 802CD3A8 002C9008 48 00 00 08 */ b lbl_802CD3B0
+lbl_802CD3AC:
+/* 802CD3AC 002C900C 38 00 00 01 */ li r0, 1
+lbl_802CD3B0:
+/* 802CD3B0 002C9010 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD3B4 002C9014 41 82 00 0C */ beq lbl_802CD3C0
+/* 802CD3B8 002C9018 38 60 00 01 */ li r3, 1
+/* 802CD3BC 002C901C 48 00 02 74 */ b lbl_802CD630
+lbl_802CD3C0:
+/* 802CD3C0 002C9020 88 1E 00 76 */ lbz r0, 0x76(r30)
+/* 802CD3C4 002C9024 60 00 00 08 */ ori r0, r0, 8
+/* 802CD3C8 002C9028 98 1E 00 76 */ stb r0, 0x76(r30)
+lbl_802CD3CC:
+/* 802CD3CC 002C902C 88 9E 00 76 */ lbz r4, 0x76(r30)
+/* 802CD3D0 002C9030 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
+/* 802CD3D4 002C9034 40 82 00 88 */ bne lbl_802CD45C
+/* 802CD3D8 002C9038 88 7E 00 80 */ lbz r3, 0x80(r30)
+/* 802CD3DC 002C903C 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD3E0 002C9040 41 82 00 10 */ beq lbl_802CD3F0
+/* 802CD3E4 002C9044 88 1E 00 81 */ lbz r0, 0x81(r30)
+/* 802CD3E8 002C9048 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 802CD3EC 002C904C 40 82 00 18 */ bne lbl_802CD404
+lbl_802CD3F0:
+/* 802CD3F0 002C9050 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD3F4 002C9054 40 82 00 68 */ bne lbl_802CD45C
+/* 802CD3F8 002C9058 88 1E 00 81 */ lbz r0, 0x81(r30)
+/* 802CD3FC 002C905C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802CD400 002C9060 41 82 00 5C */ beq lbl_802CD45C
+lbl_802CD404:
+/* 802CD404 002C9064 A0 1E 00 18 */ lhz r0, 0x18(r30)
+/* 802CD408 002C9068 28 00 FF FF */ cmplwi r0, 0xffff
+/* 802CD40C 002C906C 41 82 00 50 */ beq lbl_802CD45C
+/* 802CD410 002C9070 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD414 002C9074 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD418 002C9078 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CD41C 002C907C 28 00 00 04 */ cmplwi r0, 4
+/* 802CD420 002C9080 41 80 00 14 */ blt lbl_802CD434
+/* 802CD424 002C9084 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CD428 002C9088 38 9F 09 34 */ addi r4, r31, 0x934
+/* 802CD42C 002C908C 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CD430 002C9090 4B FE FA E1 */ bl LogMsg_0
+lbl_802CD434:
+/* 802CD434 002C9094 38 00 00 01 */ li r0, 1
+/* 802CD438 002C9098 A0 7E 00 18 */ lhz r3, 0x18(r30)
+/* 802CD43C 002C909C 98 1E 00 7F */ stb r0, 0x7f(r30)
+/* 802CD440 002C90A0 48 00 33 75 */ bl func_802D07B4
+/* 802CD444 002C90A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CD448 002C90A8 40 82 00 0C */ bne lbl_802CD454
+/* 802CD44C 002C90AC 38 60 00 03 */ li r3, 3
+/* 802CD450 002C90B0 48 00 01 E0 */ b lbl_802CD630
+lbl_802CD454:
+/* 802CD454 002C90B4 38 60 00 01 */ li r3, 1
+/* 802CD458 002C90B8 48 00 01 D8 */ b lbl_802CD630
+lbl_802CD45C:
+/* 802CD45C 002C90BC 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
+/* 802CD460 002C90C0 40 82 00 A0 */ bne lbl_802CD500
+/* 802CD464 002C90C4 88 7E 00 80 */ lbz r3, 0x80(r30)
+/* 802CD468 002C90C8 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD46C 002C90CC 41 82 00 10 */ beq lbl_802CD47C
+/* 802CD470 002C90D0 88 1E 00 81 */ lbz r0, 0x81(r30)
+/* 802CD474 002C90D4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802CD478 002C90D8 40 82 00 18 */ bne lbl_802CD490
+lbl_802CD47C:
+/* 802CD47C 002C90DC 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD480 002C90E0 40 82 00 80 */ bne lbl_802CD500
+/* 802CD484 002C90E4 88 1E 00 81 */ lbz r0, 0x81(r30)
+/* 802CD488 002C90E8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802CD48C 002C90EC 41 82 00 74 */ beq lbl_802CD500
+lbl_802CD490:
+/* 802CD490 002C90F0 A0 1E 00 18 */ lhz r0, 0x18(r30)
+/* 802CD494 002C90F4 28 00 FF FF */ cmplwi r0, 0xffff
+/* 802CD498 002C90F8 41 82 00 68 */ beq lbl_802CD500
+/* 802CD49C 002C90FC 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD4A0 002C9100 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD4A4 002C9104 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CD4A8 002C9108 28 00 00 04 */ cmplwi r0, 4
+/* 802CD4AC 002C910C 41 80 00 14 */ blt lbl_802CD4C0
+/* 802CD4B0 002C9110 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CD4B4 002C9114 38 9F 09 5C */ addi r4, r31, 0x95c
+/* 802CD4B8 002C9118 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CD4BC 002C911C 4B FE FA 55 */ bl LogMsg_0
+lbl_802CD4C0:
+/* 802CD4C0 002C9120 A0 7E 00 18 */ lhz r3, 0x18(r30)
+/* 802CD4C4 002C9124 38 80 00 01 */ li r4, 1
+/* 802CD4C8 002C9128 48 00 33 69 */ bl func_802D0830
+/* 802CD4CC 002C912C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CD4D0 002C9130 40 82 00 0C */ bne lbl_802CD4DC
+/* 802CD4D4 002C9134 38 60 00 00 */ li r3, 0
+/* 802CD4D8 002C9138 48 00 00 10 */ b lbl_802CD4E8
+lbl_802CD4DC:
+/* 802CD4DC 002C913C 38 00 00 02 */ li r0, 2
+/* 802CD4E0 002C9140 38 60 00 01 */ li r3, 1
+/* 802CD4E4 002C9144 98 1E 00 7F */ stb r0, 0x7f(r30)
+lbl_802CD4E8:
+/* 802CD4E8 002C9148 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD4EC 002C914C 40 82 00 0C */ bne lbl_802CD4F8
+/* 802CD4F0 002C9150 38 60 00 03 */ li r3, 3
+/* 802CD4F4 002C9154 48 00 01 3C */ b lbl_802CD630
+lbl_802CD4F8:
+/* 802CD4F8 002C9158 38 60 00 01 */ li r3, 1
+/* 802CD4FC 002C915C 48 00 01 34 */ b lbl_802CD630
+lbl_802CD500:
+/* 802CD500 002C9160 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802CD504 002C9164 40 82 00 CC */ bne lbl_802CD5D0
+/* 802CD508 002C9168 88 7E 00 80 */ lbz r3, 0x80(r30)
+/* 802CD50C 002C916C 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD510 002C9170 41 82 00 10 */ beq lbl_802CD520
+/* 802CD514 002C9174 88 1E 00 81 */ lbz r0, 0x81(r30)
+/* 802CD518 002C9178 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 802CD51C 002C917C 40 82 00 18 */ bne lbl_802CD534
+lbl_802CD520:
+/* 802CD520 002C9180 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD524 002C9184 40 82 00 AC */ bne lbl_802CD5D0
+/* 802CD528 002C9188 88 1E 00 81 */ lbz r0, 0x81(r30)
+/* 802CD52C 002C918C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802CD530 002C9190 41 82 00 A0 */ beq lbl_802CD5D0
+lbl_802CD534:
+/* 802CD534 002C9194 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 802CD538 002C9198 3C 03 00 01 */ addis r0, r3, 1
+/* 802CD53C 002C919C 28 00 FF FF */ cmplwi r0, 0xffff
+/* 802CD540 002C91A0 41 82 00 0C */ beq lbl_802CD54C
+/* 802CD544 002C91A4 38 00 00 00 */ li r0, 0
+/* 802CD548 002C91A8 48 00 00 20 */ b lbl_802CD568
+lbl_802CD54C:
+/* 802CD54C 002C91AC 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 802CD550 002C91B0 3C 03 00 01 */ addis r0, r3, 1
+/* 802CD554 002C91B4 28 00 FF FF */ cmplwi r0, 0xffff
+/* 802CD558 002C91B8 41 82 00 0C */ beq lbl_802CD564
+/* 802CD55C 002C91BC 38 00 00 00 */ li r0, 0
+/* 802CD560 002C91C0 48 00 00 08 */ b lbl_802CD568
+lbl_802CD564:
+/* 802CD564 002C91C4 38 00 00 01 */ li r0, 1
+lbl_802CD568:
+/* 802CD568 002C91C8 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD56C 002C91CC 40 82 00 64 */ bne lbl_802CD5D0
+/* 802CD570 002C91D0 80 7E 00 00 */ lwz r3, 0(r30)
+/* 802CD574 002C91D4 88 63 00 0F */ lbz r3, 0xf(r3)
+/* 802CD578 002C91D8 28 03 00 2E */ cmplwi r3, 0x2e
+/* 802CD57C 002C91DC 40 80 00 54 */ bge lbl_802CD5D0
+/* 802CD580 002C91E0 54 60 EE FA */ rlwinm r0, r3, 0x1d, 0x1b, 0x1d
+/* 802CD584 002C91E4 54 64 06 FE */ clrlwi r4, r3, 0x1b
+/* 802CD588 002C91E8 7C 7E 02 14 */ add r3, r30, r0
+/* 802CD58C 002C91EC 38 A0 00 01 */ li r5, 1
+/* 802CD590 002C91F0 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 802CD594 002C91F4 7C A3 20 30 */ slw r3, r5, r4
+/* 802CD598 002C91F8 7C 60 00 39 */ and. r0, r3, r0
+/* 802CD59C 002C91FC 40 82 00 34 */ bne lbl_802CD5D0
+/* 802CD5A0 002C9200 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD5A4 002C9204 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD5A8 002C9208 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CD5AC 002C920C 28 00 00 04 */ cmplwi r0, 4
+/* 802CD5B0 002C9210 41 80 00 14 */ blt lbl_802CD5C4
+/* 802CD5B4 002C9214 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CD5B8 002C9218 38 9F 09 80 */ addi r4, r31, 0x980
+/* 802CD5BC 002C921C 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CD5C0 002C9220 4B FE F9 51 */ bl LogMsg_0
+lbl_802CD5C4:
+/* 802CD5C4 002C9224 7F C3 F3 78 */ mr r3, r30
+/* 802CD5C8 002C9228 48 00 00 85 */ bl btm_sec_start_authorization
+/* 802CD5CC 002C922C 48 00 00 64 */ b lbl_802CD630
+lbl_802CD5D0:
+/* 802CD5D0 002C9230 88 1E 00 81 */ lbz r0, 0x81(r30)
+/* 802CD5D4 002C9234 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD5D8 002C9238 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD5DC 002C923C 54 00 06 32 */ rlwinm r0, r0, 0, 0x18, 0x19
+/* 802CD5E0 002C9240 98 1E 00 81 */ stb r0, 0x81(r30)
+/* 802CD5E4 002C9244 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CD5E8 002C9248 28 00 00 04 */ cmplwi r0, 4
+/* 802CD5EC 002C924C 41 80 00 1C */ blt lbl_802CD608
+/* 802CD5F0 002C9250 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CD5F4 002C9254 80 BE 00 14 */ lwz r5, 0x14(r30)
+/* 802CD5F8 002C9258 80 DE 00 10 */ lwz r6, 0x10(r30)
+/* 802CD5FC 002C925C 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CD600 002C9260 38 9F 09 A8 */ addi r4, r31, 0x9a8
+/* 802CD604 002C9264 4B FE F9 3D */ bl LogMsg_2
+lbl_802CD608:
+/* 802CD608 002C9268 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD60C 002C926C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD610 002C9270 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CD614 002C9274 28 00 00 04 */ cmplwi r0, 4
+/* 802CD618 002C9278 41 80 00 14 */ blt lbl_802CD62C
+/* 802CD61C 002C927C 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CD620 002C9280 38 9F 09 D0 */ addi r4, r31, 0x9d0
+/* 802CD624 002C9284 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CD628 002C9288 4B FE F8 E9 */ bl LogMsg_0
+lbl_802CD62C:
+/* 802CD62C 002C928C 38 60 00 00 */ li r3, 0
+lbl_802CD630:
+/* 802CD630 002C9290 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CD634 002C9294 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CD638 002C9298 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CD63C 002C929C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CD640 002C92A0 7C 08 03 A6 */ mtlr r0
+/* 802CD644 002C92A4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CD648 002C92A8 4E 80 00 20 */ blr
+
+.global btm_sec_start_authorization
+btm_sec_start_authorization:
+/* 802CD64C 002C92AC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CD650 002C92B0 7C 08 02 A6 */ mflr r0
+/* 802CD654 002C92B4 38 C0 00 00 */ li r6, 0
+/* 802CD658 002C92B8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CD65C 002C92BC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CD660 002C92C0 93 C1 00 08 */ stw r30, 8(r1)
+/* 802CD664 002C92C4 7C 7E 1B 78 */ mr r30, r3
+/* 802CD668 002C92C8 88 03 00 76 */ lbz r0, 0x76(r3)
+/* 802CD66C 002C92CC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 802CD670 002C92D0 40 82 00 10 */ bne lbl_802CD680
+/* 802CD674 002C92D4 A0 03 00 18 */ lhz r0, 0x18(r3)
+/* 802CD678 002C92D8 28 00 FF FF */ cmplwi r0, 0xffff
+/* 802CD67C 002C92DC 40 82 00 9C */ bne lbl_802CD718
+lbl_802CD680:
+/* 802CD680 002C92E0 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CD684 002C92E4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CD688 002C92E8 80 04 19 0C */ lwz r0, 0x190c(r4)
+/* 802CD68C 002C92EC 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD690 002C92F0 40 82 00 0C */ bne lbl_802CD69C
+/* 802CD694 002C92F4 38 60 00 04 */ li r3, 4
+/* 802CD698 002C92F8 48 00 00 B8 */ b lbl_802CD750
+lbl_802CD69C:
+/* 802CD69C 002C92FC 80 83 00 00 */ lwz r4, 0(r3)
+/* 802CD6A0 002C9300 2C 04 00 00 */ cmpwi r4, 0
+/* 802CD6A4 002C9304 41 82 00 24 */ beq lbl_802CD6C8
+/* 802CD6A8 002C9308 88 03 00 80 */ lbz r0, 0x80(r3)
+/* 802CD6AC 002C930C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD6B0 002C9310 41 82 00 0C */ beq lbl_802CD6BC
+/* 802CD6B4 002C9314 38 C4 00 10 */ addi r6, r4, 0x10
+/* 802CD6B8 002C9318 48 00 00 08 */ b lbl_802CD6C0
+lbl_802CD6BC:
+/* 802CD6BC 002C931C 38 C4 00 26 */ addi r6, r4, 0x26
+lbl_802CD6C0:
+/* 802CD6C0 002C9320 88 E4 00 0F */ lbz r7, 0xf(r4)
+/* 802CD6C4 002C9324 48 00 00 08 */ b lbl_802CD6CC
+lbl_802CD6C8:
+/* 802CD6C8 002C9328 38 E0 00 00 */ li r7, 0
+lbl_802CD6CC:
+/* 802CD6CC 002C932C 38 00 00 04 */ li r0, 4
+/* 802CD6D0 002C9330 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CD6D4 002C9334 98 03 00 7F */ stb r0, 0x7f(r3)
+/* 802CD6D8 002C9338 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CD6DC 002C933C 38 A3 00 35 */ addi r5, r3, 0x35
+/* 802CD6E0 002C9340 89 03 00 80 */ lbz r8, 0x80(r3)
+/* 802CD6E4 002C9344 81 84 19 0C */ lwz r12, 0x190c(r4)
+/* 802CD6E8 002C9348 38 83 00 22 */ addi r4, r3, 0x22
+/* 802CD6EC 002C934C 7D 89 03 A6 */ mtctr r12
+/* 802CD6F0 002C9350 38 63 00 1C */ addi r3, r3, 0x1c
+/* 802CD6F4 002C9354 4E 80 04 21 */ bctrl
+/* 802CD6F8 002C9358 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CD6FC 002C935C 40 82 00 54 */ bne lbl_802CD750
+/* 802CD700 002C9360 88 9E 00 76 */ lbz r4, 0x76(r30)
+/* 802CD704 002C9364 38 00 00 00 */ li r0, 0
+/* 802CD708 002C9368 98 1E 00 7F */ stb r0, 0x7f(r30)
+/* 802CD70C 002C936C 60 80 00 01 */ ori r0, r4, 1
+/* 802CD710 002C9370 98 1E 00 76 */ stb r0, 0x76(r30)
+/* 802CD714 002C9374 48 00 00 3C */ b lbl_802CD750
+lbl_802CD718:
+/* 802CD718 002C9378 8B E3 00 7F */ lbz r31, 0x7f(r3)
+/* 802CD71C 002C937C 38 00 00 03 */ li r0, 3
+/* 802CD720 002C9380 38 80 00 00 */ li r4, 0
+/* 802CD724 002C9384 38 A0 00 02 */ li r5, 2
+/* 802CD728 002C9388 98 03 00 7F */ stb r0, 0x7f(r3)
+/* 802CD72C 002C938C 38 C0 00 1E */ li r6, 0x1e
+/* 802CD730 002C9390 38 E0 00 00 */ li r7, 0
+/* 802CD734 002C9394 38 63 00 1C */ addi r3, r3, 0x1c
+/* 802CD738 002C9398 4B FF B3 71 */ bl btm_initiate_rem_name
+/* 802CD73C 002C939C 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802CD740 002C93A0 28 00 00 01 */ cmplwi r0, 1
+/* 802CD744 002C93A4 41 82 00 08 */ beq lbl_802CD74C
+/* 802CD748 002C93A8 9B FE 00 7F */ stb r31, 0x7f(r30)
+lbl_802CD74C:
+/* 802CD74C 002C93AC 38 60 00 01 */ li r3, 1
+lbl_802CD750:
+/* 802CD750 002C93B0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CD754 002C93B4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CD758 002C93B8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802CD75C 002C93BC 7C 08 03 A6 */ mtlr r0
+/* 802CD760 002C93C0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CD764 002C93C4 4E 80 00 20 */ blr
+
+btm_sec_collision_timeout:
+/* 802CD768 002C93C8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CD76C 002C93CC 7C 08 02 A6 */ mflr r0
+/* 802CD770 002C93D0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CD774 002C93D4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CD778 002C93D8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CD77C 002C93DC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CD780 002C93E0 93 C1 00 08 */ stw r30, 8(r1)
+/* 802CD784 002C93E4 88 03 27 C0 */ lbz r0, 0x27c0(r3)
+/* 802CD788 002C93E8 28 00 00 04 */ cmplwi r0, 4
+/* 802CD78C 002C93EC 41 80 00 18 */ blt lbl_802CD7A4
+/* 802CD790 002C93F0 3C 60 00 0D */ lis r3, 0x000D0003@ha
+/* 802CD794 002C93F4 3C 80 80 44 */ lis r4, lbl_80442284@ha
+/* 802CD798 002C93F8 38 63 00 03 */ addi r3, r3, 0x000D0003@l
+/* 802CD79C 002C93FC 38 84 22 84 */ addi r4, r4, lbl_80442284@l
+/* 802CD7A0 002C9400 4B FE F7 71 */ bl LogMsg_0
+lbl_802CD7A4:
+/* 802CD7A4 002C9404 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802CD7A8 002C9408 3B C0 00 00 */ li r30, 0
+/* 802CD7AC 002C940C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802CD7B0 002C9410 93 DF 19 6C */ stw r30, 0x196c(r31)
+/* 802CD7B4 002C9414 80 7F 19 38 */ lwz r3, 0x1938(r31)
+/* 802CD7B8 002C9418 4B FF FA B5 */ bl btm_sec_execute_procedure
+/* 802CD7BC 002C941C 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802CD7C0 002C9420 28 00 00 01 */ cmplwi r0, 1
+/* 802CD7C4 002C9424 41 82 00 6C */ beq lbl_802CD830
+/* 802CD7C8 002C9428 80 9F 19 38 */ lwz r4, 0x1938(r31)
+/* 802CD7CC 002C942C 80 04 00 04 */ lwz r0, 4(r4)
+/* 802CD7D0 002C9430 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD7D4 002C9434 41 82 00 5C */ beq lbl_802CD830
+/* 802CD7D8 002C9438 88 04 00 80 */ lbz r0, 0x80(r4)
+/* 802CD7DC 002C943C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD7E0 002C9440 41 82 00 20 */ beq lbl_802CD800
+/* 802CD7E4 002C9444 80 84 00 00 */ lwz r4, 0(r4)
+/* 802CD7E8 002C9448 2C 04 00 00 */ cmpwi r4, 0
+/* 802CD7EC 002C944C 41 82 00 14 */ beq lbl_802CD800
+/* 802CD7F0 002C9450 80 04 00 00 */ lwz r0, 0(r4)
+/* 802CD7F4 002C9454 28 00 00 03 */ cmplwi r0, 3
+/* 802CD7F8 002C9458 40 82 00 08 */ bne lbl_802CD800
+/* 802CD7FC 002C945C 93 C4 00 04 */ stw r30, 4(r4)
+lbl_802CD800:
+/* 802CD800 002C9460 3F E0 80 57 */ lis r31, lbl_80568B78@ha
+/* 802CD804 002C9464 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802CD808 002C9468 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l
+/* 802CD80C 002C946C 80 9F 19 38 */ lwz r4, 0x1938(r31)
+/* 802CD810 002C9470 81 84 00 04 */ lwz r12, 4(r4)
+/* 802CD814 002C9474 38 64 00 1C */ addi r3, r4, 0x1c
+/* 802CD818 002C9478 80 84 00 08 */ lwz r4, 8(r4)
+/* 802CD81C 002C947C 7D 89 03 A6 */ mtctr r12
+/* 802CD820 002C9480 4E 80 04 21 */ bctrl
+/* 802CD824 002C9484 80 7F 19 38 */ lwz r3, 0x1938(r31)
+/* 802CD828 002C9488 38 00 00 00 */ li r0, 0
+/* 802CD82C 002C948C 90 03 00 04 */ stw r0, 4(r3)
+lbl_802CD830:
+/* 802CD830 002C9490 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CD834 002C9494 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CD838 002C9498 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802CD83C 002C949C 7C 08 03 A6 */ mtlr r0
+/* 802CD840 002C94A0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CD844 002C94A4 4E 80 00 20 */ blr
+
+.global btm_read_trusted_mask
+btm_read_trusted_mask:
+/* 802CD848 002C94A8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CD84C 002C94AC 7C 08 02 A6 */ mflr r0
+/* 802CD850 002C94B0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CD854 002C94B4 4B FF 7D C9 */ bl btm_find_dev
+/* 802CD858 002C94B8 2C 03 00 00 */ cmpwi r3, 0
+/* 802CD85C 002C94BC 41 82 00 0C */ beq lbl_802CD868
+/* 802CD860 002C94C0 38 63 00 10 */ addi r3, r3, 0x10
+/* 802CD864 002C94C4 48 00 00 08 */ b lbl_802CD86C
+lbl_802CD868:
+/* 802CD868 002C94C8 38 60 00 00 */ li r3, 0
+lbl_802CD86C:
+/* 802CD86C 002C94CC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CD870 002C94D0 7C 08 03 A6 */ mtlr r0
+/* 802CD874 002C94D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CD878 002C94D8 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btu_hcif.s b/asm/SDK/BTE/btu_hcif.s new file mode 100644 index 0000000..6e4b96b --- /dev/null +++ b/asm/SDK/BTE/btu_hcif.s @@ -0,0 +1,1322 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global btu_hcif_process_event
+btu_hcif_process_event:
+/* 802CD87C 002C94DC 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802CD880 002C94E0 7C 08 02 A6 */ mflr r0
+/* 802CD884 002C94E4 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802CD888 002C94E8 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802CD88C 002C94EC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802CD890 002C94F0 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 802CD894 002C94F4 93 C1 00 38 */ stw r30, 0x38(r1)
+/* 802CD898 002C94F8 93 A1 00 34 */ stw r29, 0x34(r1)
+/* 802CD89C 002C94FC 93 81 00 30 */ stw r28, 0x30(r1)
+/* 802CD8A0 002C9500 A0 A3 00 04 */ lhz r5, 4(r3)
+/* 802CD8A4 002C9504 88 04 06 4E */ lbz r0, 0x64e(r4)
+/* 802CD8A8 002C9508 7C E3 2A 14 */ add r7, r3, r5
+/* 802CD8AC 002C950C 2C 00 00 00 */ cmpwi r0, 0
+/* 802CD8B0 002C9510 88 67 00 08 */ lbz r3, 8(r7)
+/* 802CD8B4 002C9514 88 87 00 09 */ lbz r4, 9(r7)
+/* 802CD8B8 002C9518 40 82 00 14 */ bne lbl_802CD8CC
+/* 802CD8BC 002C951C 28 03 00 0E */ cmplwi r3, 0xe
+/* 802CD8C0 002C9520 41 82 00 0C */ beq lbl_802CD8CC
+/* 802CD8C4 002C9524 28 03 00 0F */ cmplwi r3, 0xf
+/* 802CD8C8 002C9528 40 82 05 4C */ bne lbl_802CDE14
+lbl_802CD8CC:
+/* 802CD8CC 002C952C 2C 03 00 14 */ cmpwi r3, 0x14
+/* 802CD8D0 002C9530 41 82 03 60 */ beq lbl_802CDC30
+/* 802CD8D4 002C9534 40 80 00 94 */ bge lbl_802CD968
+/* 802CD8D8 002C9538 2C 03 00 0A */ cmpwi r3, 0xa
+/* 802CD8DC 002C953C 41 82 02 60 */ beq lbl_802CDB3C
+/* 802CD8E0 002C9540 40 80 00 4C */ bge lbl_802CD92C
+/* 802CD8E4 002C9544 2C 03 00 05 */ cmpwi r3, 5
+/* 802CD8E8 002C9548 41 82 01 48 */ beq lbl_802CDA30
+/* 802CD8EC 002C954C 40 80 00 28 */ bge lbl_802CD914
+/* 802CD8F0 002C9550 2C 03 00 02 */ cmpwi r3, 2
+/* 802CD8F4 002C9554 41 82 01 04 */ beq lbl_802CD9F8
+/* 802CD8F8 002C9558 40 80 00 10 */ bge lbl_802CD908
+/* 802CD8FC 002C955C 2C 03 00 01 */ cmpwi r3, 1
+/* 802CD900 002C9560 40 80 00 EC */ bge lbl_802CD9EC
+/* 802CD904 002C9564 48 00 05 10 */ b lbl_802CDE14
+lbl_802CD908:
+/* 802CD908 002C9568 2C 03 00 04 */ cmpwi r3, 4
+/* 802CD90C 002C956C 40 80 01 18 */ bge lbl_802CDA24
+/* 802CD910 002C9570 48 00 01 08 */ b lbl_802CDA18
+lbl_802CD914:
+/* 802CD914 002C9574 2C 03 00 08 */ cmpwi r3, 8
+/* 802CD918 002C9578 41 82 01 E4 */ beq lbl_802CDAFC
+/* 802CD91C 002C957C 40 80 04 F8 */ bge lbl_802CDE14
+/* 802CD920 002C9580 2C 03 00 07 */ cmpwi r3, 7
+/* 802CD924 002C9584 40 80 01 74 */ bge lbl_802CDA98
+/* 802CD928 002C9588 48 00 01 50 */ b lbl_802CDA78
+lbl_802CD92C:
+/* 802CD92C 002C958C 2C 03 00 0F */ cmpwi r3, 0xf
+/* 802CD930 002C9590 41 82 02 60 */ beq lbl_802CDB90
+/* 802CD934 002C9594 40 80 00 1C */ bge lbl_802CD950
+/* 802CD938 002C9598 2C 03 00 0D */ cmpwi r3, 0xd
+/* 802CD93C 002C959C 41 82 02 3C */ beq lbl_802CDB78
+/* 802CD940 002C95A0 40 80 02 44 */ bge lbl_802CDB84
+/* 802CD944 002C95A4 2C 03 00 0C */ cmpwi r3, 0xc
+/* 802CD948 002C95A8 40 80 02 24 */ bge lbl_802CDB6C
+/* 802CD94C 002C95AC 48 00 02 14 */ b lbl_802CDB60
+lbl_802CD950:
+/* 802CD950 002C95B0 2C 03 00 12 */ cmpwi r3, 0x12
+/* 802CD954 002C95B4 41 82 02 70 */ beq lbl_802CDBC4
+/* 802CD958 002C95B8 40 80 02 CC */ bge lbl_802CDC24
+/* 802CD95C 002C95BC 2C 03 00 11 */ cmpwi r3, 0x11
+/* 802CD960 002C95C0 40 80 04 B4 */ bge lbl_802CDE14
+/* 802CD964 002C95C4 48 00 02 38 */ b lbl_802CDB9C
+lbl_802CD968:
+/* 802CD968 002C95C8 2C 03 00 21 */ cmpwi r3, 0x21
+/* 802CD96C 002C95CC 41 82 04 A8 */ beq lbl_802CDE14
+/* 802CD970 002C95D0 40 80 00 40 */ bge lbl_802CD9B0
+/* 802CD974 002C95D4 2C 03 00 1C */ cmpwi r3, 0x1c
+/* 802CD978 002C95D8 41 82 03 CC */ beq lbl_802CDD44
+/* 802CD97C 002C95DC 40 80 00 28 */ bge lbl_802CD9A4
+/* 802CD980 002C95E0 2C 03 00 17 */ cmpwi r3, 0x17
+/* 802CD984 002C95E4 41 82 03 78 */ beq lbl_802CDCFC
+/* 802CD988 002C95E8 40 80 00 10 */ bge lbl_802CD998
+/* 802CD98C 002C95EC 2C 03 00 16 */ cmpwi r3, 0x16
+/* 802CD990 002C95F0 40 80 03 28 */ bge lbl_802CDCB8
+/* 802CD994 002C95F4 48 00 03 04 */ b lbl_802CDC98
+lbl_802CD998:
+/* 802CD998 002C95F8 2C 03 00 19 */ cmpwi r3, 0x19
+/* 802CD99C 002C95FC 40 80 04 78 */ bge lbl_802CDE14
+/* 802CD9A0 002C9600 48 00 03 98 */ b lbl_802CDD38
+lbl_802CD9A4:
+/* 802CD9A4 002C9604 2C 03 00 1E */ cmpwi r3, 0x1e
+/* 802CD9A8 002C9608 41 82 03 EC */ beq lbl_802CDD94
+/* 802CD9AC 002C960C 48 00 04 68 */ b lbl_802CDE14
+lbl_802CD9B0:
+/* 802CD9B0 002C9610 2C 03 00 EF */ cmpwi r3, 0xef
+/* 802CD9B4 002C9614 41 82 04 58 */ beq lbl_802CDE0C
+/* 802CD9B8 002C9618 40 80 00 28 */ bge lbl_802CD9E0
+/* 802CD9BC 002C961C 2C 03 00 2C */ cmpwi r3, 0x2c
+/* 802CD9C0 002C9620 41 82 03 F0 */ beq lbl_802CDDB0
+/* 802CD9C4 002C9624 40 80 00 10 */ bge lbl_802CD9D4
+/* 802CD9C8 002C9628 2C 03 00 23 */ cmpwi r3, 0x23
+/* 802CD9CC 002C962C 40 80 04 48 */ bge lbl_802CDE14
+/* 802CD9D0 002C9630 48 00 00 38 */ b lbl_802CDA08
+lbl_802CD9D4:
+/* 802CD9D4 002C9634 2C 03 00 2E */ cmpwi r3, 0x2e
+/* 802CD9D8 002C9638 40 80 04 3C */ bge lbl_802CDE14
+/* 802CD9DC 002C963C 48 00 03 E0 */ b lbl_802CDDBC
+lbl_802CD9E0:
+/* 802CD9E0 002C9640 2C 03 00 FF */ cmpwi r3, 0xff
+/* 802CD9E4 002C9644 41 82 04 28 */ beq lbl_802CDE0C
+/* 802CD9E8 002C9648 48 00 04 2C */ b lbl_802CDE14
+lbl_802CD9EC:
+/* 802CD9EC 002C964C 88 67 00 0A */ lbz r3, 0xa(r7)
+/* 802CD9F0 002C9650 4B FF AF B5 */ bl btm_process_inq_complete
+/* 802CD9F4 002C9654 48 00 04 20 */ b lbl_802CDE14
+lbl_802CD9F8:
+/* 802CD9F8 002C9658 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CD9FC 002C965C 38 80 00 00 */ li r4, 0
+/* 802CDA00 002C9660 4B FF AD 2D */ bl btm_process_inq_results
+/* 802CDA04 002C9664 48 00 04 10 */ b lbl_802CDE14
+lbl_802CDA08:
+/* 802CDA08 002C9668 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDA0C 002C966C 38 80 00 01 */ li r4, 1
+/* 802CDA10 002C9670 4B FF AD 1D */ bl btm_process_inq_results
+/* 802CDA14 002C9674 48 00 04 00 */ b lbl_802CDE14
+lbl_802CDA18:
+/* 802CDA18 002C9678 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDA1C 002C967C 48 00 05 A5 */ bl btu_hcif_connection_comp_evt
+/* 802CDA20 002C9680 48 00 03 F4 */ b lbl_802CDE14
+lbl_802CDA24:
+/* 802CDA24 002C9684 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDA28 002C9688 48 00 06 75 */ bl btu_hcif_connection_request_evt
+/* 802CDA2C 002C968C 48 00 03 E8 */ b lbl_802CDE14
+lbl_802CDA30:
+/* 802CDA30 002C9690 88 07 00 0C */ lbz r0, 0xc(r7)
+/* 802CDA34 002C9694 88 67 00 0B */ lbz r3, 0xb(r7)
+/* 802CDA38 002C9698 54 00 40 2E */ slwi r0, r0, 8
+/* 802CDA3C 002C969C 8B E7 00 0D */ lbz r31, 0xd(r7)
+/* 802CDA40 002C96A0 7C 03 02 14 */ add r0, r3, r0
+/* 802CDA44 002C96A4 54 1C 05 3E */ clrlwi r28, r0, 0x14
+/* 802CDA48 002C96A8 7F E4 FB 78 */ mr r4, r31
+/* 802CDA4C 002C96AC 7F 83 E3 78 */ mr r3, r28
+/* 802CDA50 002C96B0 48 00 A2 C9 */ bl func_802D7D18
+/* 802CDA54 002C96B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CDA58 002C96B8 40 82 00 10 */ bne lbl_802CDA68
+/* 802CDA5C 002C96BC 7F 83 E3 78 */ mr r3, r28
+/* 802CDA60 002C96C0 7F E4 FB 78 */ mr r4, r31
+/* 802CDA64 002C96C4 4B FF C8 85 */ bl btm_sco_removed
+lbl_802CDA68:
+/* 802CDA68 002C96C8 7F 83 E3 78 */ mr r3, r28
+/* 802CDA6C 002C96CC 7F E4 FB 78 */ mr r4, r31
+/* 802CDA70 002C96D0 4B FF EF C5 */ bl btm_sec_disconnected
+/* 802CDA74 002C96D4 48 00 03 A0 */ b lbl_802CDE14
+lbl_802CDA78:
+/* 802CDA78 002C96D8 88 07 00 0C */ lbz r0, 0xc(r7)
+/* 802CDA7C 002C96DC 88 67 00 0B */ lbz r3, 0xb(r7)
+/* 802CDA80 002C96E0 54 00 40 2E */ slwi r0, r0, 8
+/* 802CDA84 002C96E4 88 87 00 0A */ lbz r4, 0xa(r7)
+/* 802CDA88 002C96E8 7C 03 02 14 */ add r0, r3, r0
+/* 802CDA8C 002C96EC 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802CDA90 002C96F0 4B FF E4 AD */ bl btm_sec_auth_complete
+/* 802CDA94 002C96F4 48 00 03 80 */ b lbl_802CDE14
+lbl_802CDA98:
+/* 802CDA98 002C96F8 8B C7 00 0A */ lbz r30, 0xa(r7)
+/* 802CDA9C 002C96FC 38 04 FF F9 */ addi r0, r4, -7
+/* 802CDAA0 002C9700 88 67 00 0B */ lbz r3, 0xb(r7)
+/* 802CDAA4 002C9704 3B E7 00 11 */ addi r31, r7, 0x11
+/* 802CDAA8 002C9708 54 05 04 3E */ clrlwi r5, r0, 0x10
+/* 802CDAAC 002C970C 7F C6 F3 78 */ mr r6, r30
+/* 802CDAB0 002C9710 98 61 00 25 */ stb r3, 0x25(r1)
+/* 802CDAB4 002C9714 7F E4 FB 78 */ mr r4, r31
+/* 802CDAB8 002C9718 38 61 00 20 */ addi r3, r1, 0x20
+/* 802CDABC 002C971C 88 07 00 0C */ lbz r0, 0xc(r7)
+/* 802CDAC0 002C9720 98 01 00 24 */ stb r0, 0x24(r1)
+/* 802CDAC4 002C9724 88 07 00 0D */ lbz r0, 0xd(r7)
+/* 802CDAC8 002C9728 98 01 00 23 */ stb r0, 0x23(r1)
+/* 802CDACC 002C972C 88 07 00 0E */ lbz r0, 0xe(r7)
+/* 802CDAD0 002C9730 98 01 00 22 */ stb r0, 0x22(r1)
+/* 802CDAD4 002C9734 88 07 00 0F */ lbz r0, 0xf(r7)
+/* 802CDAD8 002C9738 98 01 00 21 */ stb r0, 0x21(r1)
+/* 802CDADC 002C973C 88 07 00 10 */ lbz r0, 0x10(r7)
+/* 802CDAE0 002C9740 98 01 00 20 */ stb r0, 0x20(r1)
+/* 802CDAE4 002C9744 4B FF B1 15 */ bl btm_process_remote_name
+/* 802CDAE8 002C9748 7F E4 FB 78 */ mr r4, r31
+/* 802CDAEC 002C974C 7F C5 F3 78 */ mr r5, r30
+/* 802CDAF0 002C9750 38 61 00 20 */ addi r3, r1, 0x20
+/* 802CDAF4 002C9754 4B FF E1 61 */ bl btm_sec_rmt_name_request_complete
+/* 802CDAF8 002C9758 48 00 03 1C */ b lbl_802CDE14
+lbl_802CDAFC:
+/* 802CDAFC 002C975C 88 07 00 0C */ lbz r0, 0xc(r7)
+/* 802CDB00 002C9760 88 67 00 0B */ lbz r3, 0xb(r7)
+/* 802CDB04 002C9764 54 00 40 2E */ slwi r0, r0, 8
+/* 802CDB08 002C9768 8B A7 00 0A */ lbz r29, 0xa(r7)
+/* 802CDB0C 002C976C 7C 03 02 14 */ add r0, r3, r0
+/* 802CDB10 002C9770 8B C7 00 0D */ lbz r30, 0xd(r7)
+/* 802CDB14 002C9774 54 1F 04 3E */ clrlwi r31, r0, 0x10
+/* 802CDB18 002C9778 7F A4 EB 78 */ mr r4, r29
+/* 802CDB1C 002C977C 7F E3 FB 78 */ mr r3, r31
+/* 802CDB20 002C9780 7F C5 F3 78 */ mr r5, r30
+/* 802CDB24 002C9784 4B FF 60 01 */ bl btm_acl_encrypt_change
+/* 802CDB28 002C9788 7F E3 FB 78 */ mr r3, r31
+/* 802CDB2C 002C978C 7F A4 EB 78 */ mr r4, r29
+/* 802CDB30 002C9790 7F C5 F3 78 */ mr r5, r30
+/* 802CDB34 002C9794 4B FF E8 49 */ bl btm_sec_encrypt_change
+/* 802CDB38 002C9798 48 00 02 DC */ b lbl_802CDE14
+lbl_802CDB3C:
+/* 802CDB3C 002C979C 88 07 00 0C */ lbz r0, 0xc(r7)
+/* 802CDB40 002C97A0 88 67 00 0B */ lbz r3, 0xb(r7)
+/* 802CDB44 002C97A4 54 00 40 2E */ slwi r0, r0, 8
+/* 802CDB48 002C97A8 88 87 00 0A */ lbz r4, 0xa(r7)
+/* 802CDB4C 002C97AC 7C 03 02 14 */ add r0, r3, r0
+/* 802CDB50 002C97B0 88 A7 00 0D */ lbz r5, 0xd(r7)
+/* 802CDB54 002C97B4 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802CDB58 002C97B8 4B FF E7 29 */ bl btm_sec_mkey_comp_event
+/* 802CDB5C 002C97BC 48 00 02 B8 */ b lbl_802CDE14
+lbl_802CDB60:
+/* 802CDB60 002C97C0 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDB64 002C97C4 4B FF 64 C1 */ bl btm_read_remote_features_complete
+/* 802CDB68 002C97C8 48 00 02 AC */ b lbl_802CDE14
+lbl_802CDB6C:
+/* 802CDB6C 002C97CC 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDB70 002C97D0 4B FF 64 29 */ bl btm_read_remote_version_complete
+/* 802CDB74 002C97D4 48 00 02 A0 */ b lbl_802CDE14
+lbl_802CDB78:
+/* 802CDB78 002C97D8 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDB7C 002C97DC 48 00 05 AD */ bl btu_hcif_qos_setup_comp_evt
+/* 802CDB80 002C97E0 48 00 02 94 */ b lbl_802CDE14
+lbl_802CDB84:
+/* 802CDB84 002C97E4 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDB88 002C97E8 48 00 08 D9 */ bl btu_hcif_command_complete_evt
+/* 802CDB8C 002C97EC 48 00 02 88 */ b lbl_802CDE14
+lbl_802CDB90:
+/* 802CDB90 002C97F0 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDB94 002C97F4 48 00 0B E5 */ bl btu_hcif_command_status_evt
+/* 802CDB98 002C97F8 48 00 02 7C */ b lbl_802CDE14
+lbl_802CDB9C:
+/* 802CDB9C 002C97FC 3C 80 80 44 */ lis r4, lbl_804422A0@ha
+/* 802CDBA0 002C9800 3C 60 00 07 */ lis r3, 7
+/* 802CDBA4 002C9804 38 84 22 A0 */ addi r4, r4, lbl_804422A0@l
+/* 802CDBA8 002C9808 4B FE F3 69 */ bl LogMsg_0
+/* 802CDBAC 002C980C 4B FF 7F 25 */ bl BTM_IsDeviceUp
+/* 802CDBB0 002C9810 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CDBB4 002C9814 41 82 02 60 */ beq lbl_802CDE14
+/* 802CDBB8 002C9818 38 60 00 00 */ li r3, 0
+/* 802CDBBC 002C981C 4B FF 7D D1 */ bl BTM_DeviceReset
+/* 802CDBC0 002C9820 48 00 02 54 */ b lbl_802CDE14
+lbl_802CDBC4:
+/* 802CDBC4 002C9824 8B A7 00 0A */ lbz r29, 0xa(r7)
+/* 802CDBC8 002C9828 88 07 00 0B */ lbz r0, 0xb(r7)
+/* 802CDBCC 002C982C 2C 1D 00 00 */ cmpwi r29, 0
+/* 802CDBD0 002C9830 98 01 00 1D */ stb r0, 0x1d(r1)
+/* 802CDBD4 002C9834 88 07 00 0C */ lbz r0, 0xc(r7)
+/* 802CDBD8 002C9838 98 01 00 1C */ stb r0, 0x1c(r1)
+/* 802CDBDC 002C983C 88 07 00 0D */ lbz r0, 0xd(r7)
+/* 802CDBE0 002C9840 98 01 00 1B */ stb r0, 0x1b(r1)
+/* 802CDBE4 002C9844 88 07 00 0E */ lbz r0, 0xe(r7)
+/* 802CDBE8 002C9848 98 01 00 1A */ stb r0, 0x1a(r1)
+/* 802CDBEC 002C984C 88 07 00 0F */ lbz r0, 0xf(r7)
+/* 802CDBF0 002C9850 98 01 00 19 */ stb r0, 0x19(r1)
+/* 802CDBF4 002C9854 88 07 00 10 */ lbz r0, 0x10(r7)
+/* 802CDBF8 002C9858 98 01 00 18 */ stb r0, 0x18(r1)
+/* 802CDBFC 002C985C 8B E7 00 11 */ lbz r31, 0x11(r7)
+/* 802CDC00 002C9860 40 82 00 10 */ bne lbl_802CDC10
+/* 802CDC04 002C9864 7F E4 FB 78 */ mr r4, r31
+/* 802CDC08 002C9868 38 61 00 18 */ addi r3, r1, 0x18
+/* 802CDC0C 002C986C 48 00 AC 4D */ bl func_802D8858
+lbl_802CDC10:
+/* 802CDC10 002C9870 7F A3 EB 78 */ mr r3, r29
+/* 802CDC14 002C9874 7F E5 FB 78 */ mr r5, r31
+/* 802CDC18 002C9878 38 81 00 18 */ addi r4, r1, 0x18
+/* 802CDC1C 002C987C 4B FF 68 C1 */ bl btm_acl_role_changed
+/* 802CDC20 002C9880 48 00 01 F4 */ b lbl_802CDE14
+lbl_802CDC24:
+/* 802CDC24 002C9884 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDC28 002C9888 48 00 A8 FD */ bl func_802D8524
+/* 802CDC2C 002C988C 48 00 01 E8 */ b lbl_802CDE14
+lbl_802CDC30:
+/* 802CDC30 002C9890 88 67 00 0C */ lbz r3, 0xc(r7)
+/* 802CDC34 002C9894 88 07 00 0F */ lbz r0, 0xf(r7)
+/* 802CDC38 002C9898 54 64 40 2E */ slwi r4, r3, 8
+/* 802CDC3C 002C989C 88 A7 00 0B */ lbz r5, 0xb(r7)
+/* 802CDC40 002C98A0 88 67 00 0E */ lbz r3, 0xe(r7)
+/* 802CDC44 002C98A4 54 00 40 2E */ slwi r0, r0, 8
+/* 802CDC48 002C98A8 7C 85 22 14 */ add r4, r5, r4
+/* 802CDC4C 002C98AC 8B C7 00 0D */ lbz r30, 0xd(r7)
+/* 802CDC50 002C98B0 54 9F 04 3E */ clrlwi r31, r4, 0x10
+/* 802CDC54 002C98B4 7C 03 02 14 */ add r0, r3, r0
+/* 802CDC58 002C98B8 8B 87 00 0A */ lbz r28, 0xa(r7)
+/* 802CDC5C 002C98BC 7F E4 FB 78 */ mr r4, r31
+/* 802CDC60 002C98C0 7F C5 F3 78 */ mr r5, r30
+/* 802CDC64 002C98C4 54 1D 04 3E */ clrlwi r29, r0, 0x10
+/* 802CDC68 002C98C8 7F 83 E3 78 */ mr r3, r28
+/* 802CDC6C 002C98CC 4B FF C0 35 */ bl btm_sco_chk_pend_unpark
+/* 802CDC70 002C98D0 7F 83 E3 78 */ mr r3, r28
+/* 802CDC74 002C98D4 7F E4 FB 78 */ mr r4, r31
+/* 802CDC78 002C98D8 7F C5 F3 78 */ mr r5, r30
+/* 802CDC7C 002C98DC 7F A6 EB 78 */ mr r6, r29
+/* 802CDC80 002C98E0 4B FF BB D9 */ bl btm_pm_proc_mode_change
+/* 802CDC84 002C98E4 7F 83 E3 78 */ mr r3, r28
+/* 802CDC88 002C98E8 7F C4 F3 78 */ mr r4, r30
+/* 802CDC8C 002C98EC 7F A5 EB 78 */ mr r5, r29
+/* 802CDC90 002C98F0 48 00 4C 3D */ bl func_802D28CC
+/* 802CDC94 002C98F4 48 00 01 80 */ b lbl_802CDE14
+lbl_802CDC98:
+/* 802CDC98 002C98F8 88 07 00 0A */ lbz r0, 0xa(r7)
+/* 802CDC9C 002C98FC 2C 00 00 00 */ cmpwi r0, 0
+/* 802CDCA0 002C9900 41 82 01 74 */ beq lbl_802CDE14
+/* 802CDCA4 002C9904 38 00 00 01 */ li r0, 1
+/* 802CDCA8 002C9908 38 67 00 09 */ addi r3, r7, 9
+/* 802CDCAC 002C990C 98 07 00 09 */ stb r0, 9(r7)
+/* 802CDCB0 002C9910 4B FF 93 69 */ bl btm_return_link_keys_evt
+/* 802CDCB4 002C9914 48 00 01 60 */ b lbl_802CDE14
+lbl_802CDCB8:
+/* 802CDCB8 002C9918 88 07 00 0A */ lbz r0, 0xa(r7)
+/* 802CDCBC 002C991C 38 61 00 10 */ addi r3, r1, 0x10
+/* 802CDCC0 002C9920 98 01 00 15 */ stb r0, 0x15(r1)
+/* 802CDCC4 002C9924 88 07 00 0B */ lbz r0, 0xb(r7)
+/* 802CDCC8 002C9928 98 01 00 14 */ stb r0, 0x14(r1)
+/* 802CDCCC 002C992C 88 07 00 0C */ lbz r0, 0xc(r7)
+/* 802CDCD0 002C9930 98 01 00 13 */ stb r0, 0x13(r1)
+/* 802CDCD4 002C9934 88 07 00 0D */ lbz r0, 0xd(r7)
+/* 802CDCD8 002C9938 98 01 00 12 */ stb r0, 0x12(r1)
+/* 802CDCDC 002C993C 88 07 00 0E */ lbz r0, 0xe(r7)
+/* 802CDCE0 002C9940 98 01 00 11 */ stb r0, 0x11(r1)
+/* 802CDCE4 002C9944 88 07 00 0F */ lbz r0, 0xf(r7)
+/* 802CDCE8 002C9948 98 01 00 10 */ stb r0, 0x10(r1)
+/* 802CDCEC 002C994C 48 00 AD 35 */ bl func_802D8A20
+/* 802CDCF0 002C9950 38 61 00 10 */ addi r3, r1, 0x10
+/* 802CDCF4 002C9954 4B FF F1 CD */ bl btm_sec_pin_code_request
+/* 802CDCF8 002C9958 48 00 01 1C */ b lbl_802CDE14
+lbl_802CDCFC:
+/* 802CDCFC 002C995C 88 07 00 0A */ lbz r0, 0xa(r7)
+/* 802CDD00 002C9960 38 61 00 08 */ addi r3, r1, 8
+/* 802CDD04 002C9964 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802CDD08 002C9968 88 07 00 0B */ lbz r0, 0xb(r7)
+/* 802CDD0C 002C996C 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802CDD10 002C9970 88 07 00 0C */ lbz r0, 0xc(r7)
+/* 802CDD14 002C9974 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802CDD18 002C9978 88 07 00 0D */ lbz r0, 0xd(r7)
+/* 802CDD1C 002C997C 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802CDD20 002C9980 88 07 00 0E */ lbz r0, 0xe(r7)
+/* 802CDD24 002C9984 98 01 00 09 */ stb r0, 9(r1)
+/* 802CDD28 002C9988 88 07 00 0F */ lbz r0, 0xf(r7)
+/* 802CDD2C 002C998C 98 01 00 08 */ stb r0, 8(r1)
+/* 802CDD30 002C9990 4B FF EF ED */ bl btm_sec_link_key_request
+/* 802CDD34 002C9994 48 00 00 E0 */ b lbl_802CDE14
+lbl_802CDD38:
+/* 802CDD38 002C9998 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDD3C 002C999C 48 00 0C BD */ bl btu_hcif_link_key_notification_evt
+/* 802CDD40 002C99A0 48 00 00 D4 */ b lbl_802CDE14
+lbl_802CDD44:
+/* 802CDD44 002C99A4 88 07 00 0A */ lbz r0, 0xa(r7)
+/* 802CDD48 002C99A8 2C 00 00 00 */ cmpwi r0, 0
+/* 802CDD4C 002C99AC 40 82 00 C8 */ bne lbl_802CDE14
+/* 802CDD50 002C99B0 88 67 00 0C */ lbz r3, 0xc(r7)
+/* 802CDD54 002C99B4 88 07 00 0E */ lbz r0, 0xe(r7)
+/* 802CDD58 002C99B8 54 64 40 2E */ slwi r4, r3, 8
+/* 802CDD5C 002C99BC 88 A7 00 0B */ lbz r5, 0xb(r7)
+/* 802CDD60 002C99C0 88 67 00 0D */ lbz r3, 0xd(r7)
+/* 802CDD64 002C99C4 54 00 40 2E */ slwi r0, r0, 8
+/* 802CDD68 002C99C8 7C 85 22 14 */ add r4, r5, r4
+/* 802CDD6C 002C99CC 7C 03 02 14 */ add r0, r3, r0
+/* 802CDD70 002C99D0 54 9D 05 3E */ clrlwi r29, r4, 0x14
+/* 802CDD74 002C99D4 54 1C 04 3E */ clrlwi r28, r0, 0x10
+/* 802CDD78 002C99D8 7F A3 EB 78 */ mr r3, r29
+/* 802CDD7C 002C99DC 7F 84 E3 78 */ mr r4, r28
+/* 802CDD80 002C99E0 4B FF 66 C1 */ bl btm_process_clk_off_comp_evt
+/* 802CDD84 002C99E4 7F A3 EB 78 */ mr r3, r29
+/* 802CDD88 002C99E8 7F 84 E3 78 */ mr r4, r28
+/* 802CDD8C 002C99EC 4B FF F4 91 */ bl btm_sec_update_clock_offset
+/* 802CDD90 002C99F0 48 00 00 84 */ b lbl_802CDE14
+lbl_802CDD94:
+/* 802CDD94 002C99F4 88 07 00 0B */ lbz r0, 0xb(r7)
+/* 802CDD98 002C99F8 88 67 00 0A */ lbz r3, 0xa(r7)
+/* 802CDD9C 002C99FC 54 00 40 2E */ slwi r0, r0, 8
+/* 802CDDA0 002C9A00 7C 03 02 14 */ add r0, r3, r0
+/* 802CDDA4 002C9A04 54 03 05 3E */ clrlwi r3, r0, 0x14
+/* 802CDDA8 002C9A08 48 00 A0 2D */ bl func_802D7DD4
+/* 802CDDAC 002C9A0C 48 00 00 68 */ b lbl_802CDE14
+lbl_802CDDB0:
+/* 802CDDB0 002C9A10 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDDB4 002C9A14 48 00 04 75 */ bl btu_hcif_esco_connection_comp_evt
+/* 802CDDB8 002C9A18 48 00 00 5C */ b lbl_802CDE14
+lbl_802CDDBC:
+/* 802CDDBC 002C9A1C 88 87 00 0C */ lbz r4, 0xc(r7)
+/* 802CDDC0 002C9A20 88 67 00 10 */ lbz r3, 0x10(r7)
+/* 802CDDC4 002C9A24 88 07 00 12 */ lbz r0, 0x12(r7)
+/* 802CDDC8 002C9A28 54 86 40 2E */ slwi r6, r4, 8
+/* 802CDDCC 002C9A2C 89 07 00 0B */ lbz r8, 0xb(r7)
+/* 802CDDD0 002C9A30 54 63 40 2E */ slwi r3, r3, 8
+/* 802CDDD4 002C9A34 88 A7 00 0F */ lbz r5, 0xf(r7)
+/* 802CDDD8 002C9A38 54 00 40 2E */ slwi r0, r0, 8
+/* 802CDDDC 002C9A3C 7D 28 32 14 */ add r9, r8, r6
+/* 802CDDE0 002C9A40 88 87 00 11 */ lbz r4, 0x11(r7)
+/* 802CDDE4 002C9A44 7D 05 1A 14 */ add r8, r5, r3
+/* 802CDDE8 002C9A48 88 67 00 0A */ lbz r3, 0xa(r7)
+/* 802CDDEC 002C9A4C 7C 04 02 14 */ add r0, r4, r0
+/* 802CDDF0 002C9A50 88 A7 00 0D */ lbz r5, 0xd(r7)
+/* 802CDDF4 002C9A54 88 C7 00 0E */ lbz r6, 0xe(r7)
+/* 802CDDF8 002C9A58 55 07 04 3E */ clrlwi r7, r8, 0x10
+/* 802CDDFC 002C9A5C 55 24 04 3E */ clrlwi r4, r9, 0x10
+/* 802CDE00 002C9A60 54 08 04 3E */ clrlwi r8, r0, 0x10
+/* 802CDE04 002C9A64 4B FF C8 59 */ bl btm_esco_proc_conn_chg
+/* 802CDE08 002C9A68 48 00 00 0C */ b lbl_802CDE14
+lbl_802CDE0C:
+/* 802CDE0C 002C9A6C 38 67 00 0A */ addi r3, r7, 0xa
+/* 802CDE10 002C9A70 4B FF 8D 19 */ bl btm_vendor_specific_evt
+lbl_802CDE14:
+/* 802CDE14 002C9A74 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802CDE18 002C9A78 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 802CDE1C 002C9A7C 83 C1 00 38 */ lwz r30, 0x38(r1)
+/* 802CDE20 002C9A80 83 A1 00 34 */ lwz r29, 0x34(r1)
+/* 802CDE24 002C9A84 83 81 00 30 */ lwz r28, 0x30(r1)
+/* 802CDE28 002C9A88 7C 08 03 A6 */ mtlr r0
+/* 802CDE2C 002C9A8C 38 21 00 40 */ addi r1, r1, 0x40
+/* 802CDE30 002C9A90 4E 80 00 20 */ blr
+
+.global btu_hcif_send_cmd
+btu_hcif_send_cmd:
+/* 802CDE34 002C9A94 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CDE38 002C9A98 7C 08 02 A6 */ mflr r0
+/* 802CDE3C 002C9A9C 2C 03 00 00 */ cmpwi r3, 0
+/* 802CDE40 002C9AA0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CDE44 002C9AA4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CDE48 002C9AA8 7C 7F 1B 78 */ mr r31, r3
+/* 802CDE4C 002C9AAC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CDE50 002C9AB0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CDE54 002C9AB4 41 82 00 28 */ beq lbl_802CDE7C
+/* 802CDE58 002C9AB8 3C 60 80 57 */ lis r3, lbl_80568650@ha
+/* 802CDE5C 002C9ABC 38 63 86 50 */ addi r3, r3, lbl_80568650@l
+/* 802CDE60 002C9AC0 A0 03 00 6C */ lhz r0, 0x6c(r3)
+/* 802CDE64 002C9AC4 2C 00 00 00 */ cmpwi r0, 0
+/* 802CDE68 002C9AC8 41 82 00 14 */ beq lbl_802CDE7C
+/* 802CDE6C 002C9ACC 7F E4 FB 78 */ mr r4, r31
+/* 802CDE70 002C9AD0 38 63 00 64 */ addi r3, r3, 0x64
+/* 802CDE74 002C9AD4 4B FE C2 E1 */ bl GKI_enqueue
+/* 802CDE78 002C9AD8 3B E0 00 00 */ li r31, 0
+lbl_802CDE7C:
+/* 802CDE7C 002C9ADC 3C 80 80 57 */ lis r4, lbl_80568650@ha
+/* 802CDE80 002C9AE0 38 84 86 50 */ addi r4, r4, lbl_80568650@l
+/* 802CDE84 002C9AE4 A0 04 00 80 */ lhz r0, 0x80(r4)
+/* 802CDE88 002C9AE8 2C 00 00 00 */ cmpwi r0, 0
+/* 802CDE8C 002C9AEC 40 82 00 24 */ bne lbl_802CDEB0
+/* 802CDE90 002C9AF0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802CDE94 002C9AF4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802CDE98 002C9AF8 88 03 06 4E */ lbz r0, 0x64e(r3)
+/* 802CDE9C 002C9AFC 2C 00 00 00 */ cmpwi r0, 0
+/* 802CDEA0 002C9B00 40 82 00 10 */ bne lbl_802CDEB0
+/* 802CDEA4 002C9B04 A0 64 00 6C */ lhz r3, 0x6c(r4)
+/* 802CDEA8 002C9B08 38 03 00 01 */ addi r0, r3, 1
+/* 802CDEAC 002C9B0C B0 04 00 80 */ sth r0, 0x80(r4)
+lbl_802CDEB0:
+/* 802CDEB0 002C9B10 3C 60 80 57 */ lis r3, lbl_80568650@ha
+/* 802CDEB4 002C9B14 3B C3 86 50 */ addi r30, r3, lbl_80568650@l
+/* 802CDEB8 002C9B18 48 00 00 C4 */ b lbl_802CDF7C
+lbl_802CDEBC:
+/* 802CDEBC 002C9B1C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CDEC0 002C9B20 40 82 00 10 */ bne lbl_802CDED0
+/* 802CDEC4 002C9B24 38 7E 00 64 */ addi r3, r30, 0x64
+/* 802CDEC8 002C9B28 4B FE C5 09 */ bl GKI_dequeue
+/* 802CDECC 002C9B2C 7C 7F 1B 78 */ mr r31, r3
+lbl_802CDED0:
+/* 802CDED0 002C9B30 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CDED4 002C9B34 41 82 00 B4 */ beq lbl_802CDF88
+/* 802CDED8 002C9B38 A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802CDEDC 002C9B3C 7C 7F 02 14 */ add r3, r31, r0
+/* 802CDEE0 002C9B40 88 03 00 09 */ lbz r0, 9(r3)
+/* 802CDEE4 002C9B44 88 63 00 08 */ lbz r3, 8(r3)
+/* 802CDEE8 002C9B48 54 00 40 2E */ slwi r0, r0, 8
+/* 802CDEEC 002C9B4C 7C 03 02 14 */ add r0, r3, r0
+/* 802CDEF0 002C9B50 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802CDEF4 002C9B54 28 00 0C 03 */ cmplwi r0, 0xc03
+/* 802CDEF8 002C9B58 41 82 00 68 */ beq lbl_802CDF60
+/* 802CDEFC 002C9B5C 28 00 0C 35 */ cmplwi r0, 0xc35
+/* 802CDF00 002C9B60 41 82 00 60 */ beq lbl_802CDF60
+/* 802CDF04 002C9B64 38 60 00 02 */ li r3, 2
+/* 802CDF08 002C9B68 4B FE BD 45 */ bl GKI_getpoolbuf
+/* 802CDF0C 002C9B6C 2C 03 00 00 */ cmpwi r3, 0
+/* 802CDF10 002C9B70 7C 7D 1B 78 */ mr r29, r3
+/* 802CDF14 002C9B74 41 82 00 4C */ beq lbl_802CDF60
+/* 802CDF18 002C9B78 7F E4 FB 78 */ mr r4, r31
+/* 802CDF1C 002C9B7C 38 A0 00 08 */ li r5, 8
+/* 802CDF20 002C9B80 4B D3 60 E1 */ bl memcpy
+/* 802CDF24 002C9B84 A0 7D 00 04 */ lhz r3, 4(r29)
+/* 802CDF28 002C9B88 A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802CDF2C 002C9B8C 7C 7D 1A 14 */ add r3, r29, r3
+/* 802CDF30 002C9B90 A0 BF 00 02 */ lhz r5, 2(r31)
+/* 802CDF34 002C9B94 7C 9F 02 14 */ add r4, r31, r0
+/* 802CDF38 002C9B98 38 63 00 08 */ addi r3, r3, 8
+/* 802CDF3C 002C9B9C 38 84 00 08 */ addi r4, r4, 8
+/* 802CDF40 002C9BA0 4B D3 60 C1 */ bl memcpy
+/* 802CDF44 002C9BA4 7F A4 EB 78 */ mr r4, r29
+/* 802CDF48 002C9BA8 38 7E 00 70 */ addi r3, r30, 0x70
+/* 802CDF4C 002C9BAC 4B FE C2 09 */ bl GKI_enqueue
+/* 802CDF50 002C9BB0 38 7E 00 4C */ addi r3, r30, 0x4c
+/* 802CDF54 002C9BB4 38 80 00 3C */ li r4, 0x3c
+/* 802CDF58 002C9BB8 38 A0 00 08 */ li r5, 8
+/* 802CDF5C 002C9BBC 4B FE F5 81 */ bl btu_start_timer
+lbl_802CDF60:
+/* 802CDF60 002C9BC0 A0 BE 00 80 */ lhz r5, 0x80(r30)
+/* 802CDF64 002C9BC4 7F E3 FB 78 */ mr r3, r31
+/* 802CDF68 002C9BC8 38 80 20 00 */ li r4, 0x2000
+/* 802CDF6C 002C9BCC 38 05 FF FF */ addi r0, r5, -1
+/* 802CDF70 002C9BD0 B0 1E 00 80 */ sth r0, 0x80(r30)
+/* 802CDF74 002C9BD4 4B FE ED FD */ bl bte_hcisu_send
+/* 802CDF78 002C9BD8 3B E0 00 00 */ li r31, 0
+lbl_802CDF7C:
+/* 802CDF7C 002C9BDC A0 1E 00 80 */ lhz r0, 0x80(r30)
+/* 802CDF80 002C9BE0 2C 00 00 00 */ cmpwi r0, 0
+/* 802CDF84 002C9BE4 40 82 FF 38 */ bne lbl_802CDEBC
+lbl_802CDF88:
+/* 802CDF88 002C9BE8 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CDF8C 002C9BEC 41 82 00 18 */ beq lbl_802CDFA4
+/* 802CDF90 002C9BF0 3C 60 80 57 */ lis r3, lbl_80568650@ha
+/* 802CDF94 002C9BF4 7F E4 FB 78 */ mr r4, r31
+/* 802CDF98 002C9BF8 38 63 86 50 */ addi r3, r3, lbl_80568650@l
+/* 802CDF9C 002C9BFC 38 63 00 64 */ addi r3, r3, 0x64
+/* 802CDFA0 002C9C00 4B FE C1 B5 */ bl GKI_enqueue
+lbl_802CDFA4:
+/* 802CDFA4 002C9C04 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CDFA8 002C9C08 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CDFAC 002C9C0C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CDFB0 002C9C10 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CDFB4 002C9C14 7C 08 03 A6 */ mtlr r0
+/* 802CDFB8 002C9C18 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CDFBC 002C9C1C 4E 80 00 20 */ blr
+
+.global btu_hcif_connection_comp_evt
+btu_hcif_connection_comp_evt:
+/* 802CDFC0 002C9C20 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802CDFC4 002C9C24 7C 08 02 A6 */ mflr r0
+/* 802CDFC8 002C9C28 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802CDFCC 002C9C2C 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 802CDFD0 002C9C30 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 802CDFD4 002C9C34 88 03 00 02 */ lbz r0, 2(r3)
+/* 802CDFD8 002C9C38 8B E3 00 00 */ lbz r31, 0(r3)
+/* 802CDFDC 002C9C3C 54 04 40 2E */ slwi r4, r0, 8
+/* 802CDFE0 002C9C40 88 A3 00 01 */ lbz r5, 1(r3)
+/* 802CDFE4 002C9C44 88 03 00 03 */ lbz r0, 3(r3)
+/* 802CDFE8 002C9C48 7C 85 22 14 */ add r4, r5, r4
+/* 802CDFEC 002C9C4C 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802CDFF0 002C9C50 54 9E 05 3E */ clrlwi r30, r4, 0x14
+/* 802CDFF4 002C9C54 88 03 00 04 */ lbz r0, 4(r3)
+/* 802CDFF8 002C9C58 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802CDFFC 002C9C5C 88 03 00 05 */ lbz r0, 5(r3)
+/* 802CE000 002C9C60 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802CE004 002C9C64 88 03 00 06 */ lbz r0, 6(r3)
+/* 802CE008 002C9C68 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802CE00C 002C9C6C 88 03 00 07 */ lbz r0, 7(r3)
+/* 802CE010 002C9C70 98 01 00 09 */ stb r0, 9(r1)
+/* 802CE014 002C9C74 88 03 00 08 */ lbz r0, 8(r3)
+/* 802CE018 002C9C78 98 01 00 08 */ stb r0, 8(r1)
+/* 802CE01C 002C9C7C 88 03 00 09 */ lbz r0, 9(r3)
+/* 802CE020 002C9C80 88 C3 00 0A */ lbz r6, 0xa(r3)
+/* 802CE024 002C9C84 28 00 00 01 */ cmplwi r0, 1
+/* 802CE028 002C9C88 40 82 00 28 */ bne lbl_802CE050
+/* 802CE02C 002C9C8C 7F C4 F3 78 */ mr r4, r30
+/* 802CE030 002C9C90 7F E5 FB 78 */ mr r5, r31
+/* 802CE034 002C9C94 38 61 00 08 */ addi r3, r1, 8
+/* 802CE038 002C9C98 4B FF E4 C1 */ bl btm_sec_connected
+/* 802CE03C 002C9C9C 7F E3 FB 78 */ mr r3, r31
+/* 802CE040 002C9CA0 7F C4 F3 78 */ mr r4, r30
+/* 802CE044 002C9CA4 38 A1 00 08 */ addi r5, r1, 8
+/* 802CE048 002C9CA8 48 00 99 E5 */ bl func_802D7A2C
+/* 802CE04C 002C9CAC 48 00 00 38 */ b lbl_802CE084
+lbl_802CE050:
+/* 802CE050 002C9CB0 38 61 00 10 */ addi r3, r1, 0x10
+/* 802CE054 002C9CB4 38 80 00 00 */ li r4, 0
+/* 802CE058 002C9CB8 38 A0 00 0E */ li r5, 0xe
+/* 802CE05C 002C9CBC 4B D3 60 A9 */ bl memset
+/* 802CE060 002C9CC0 38 61 00 14 */ addi r3, r1, 0x14
+/* 802CE064 002C9CC4 38 81 00 08 */ addi r4, r1, 8
+/* 802CE068 002C9CC8 38 A0 00 06 */ li r5, 6
+/* 802CE06C 002C9CCC 4B D3 5F 95 */ bl memcpy
+/* 802CE070 002C9CD0 7F E3 FB 78 */ mr r3, r31
+/* 802CE074 002C9CD4 7F C5 F3 78 */ mr r5, r30
+/* 802CE078 002C9CD8 38 81 00 08 */ addi r4, r1, 8
+/* 802CE07C 002C9CDC 38 C1 00 10 */ addi r6, r1, 0x10
+/* 802CE080 002C9CE0 4B FF BF 8D */ bl btm_sco_connected
+lbl_802CE084:
+/* 802CE084 002C9CE4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802CE088 002C9CE8 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 802CE08C 002C9CEC 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 802CE090 002C9CF0 7C 08 03 A6 */ mtlr r0
+/* 802CE094 002C9CF4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802CE098 002C9CF8 4E 80 00 20 */ blr
+
+.global btu_hcif_connection_request_evt
+btu_hcif_connection_request_evt:
+/* 802CE09C 002C9CFC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CE0A0 002C9D00 7C 08 02 A6 */ mflr r0
+/* 802CE0A4 002C9D04 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CE0A8 002C9D08 88 03 00 00 */ lbz r0, 0(r3)
+/* 802CE0AC 002C9D0C 98 01 00 11 */ stb r0, 0x11(r1)
+/* 802CE0B0 002C9D10 88 03 00 01 */ lbz r0, 1(r3)
+/* 802CE0B4 002C9D14 98 01 00 10 */ stb r0, 0x10(r1)
+/* 802CE0B8 002C9D18 88 03 00 02 */ lbz r0, 2(r3)
+/* 802CE0BC 002C9D1C 98 01 00 0F */ stb r0, 0xf(r1)
+/* 802CE0C0 002C9D20 88 03 00 03 */ lbz r0, 3(r3)
+/* 802CE0C4 002C9D24 98 01 00 0E */ stb r0, 0xe(r1)
+/* 802CE0C8 002C9D28 88 03 00 04 */ lbz r0, 4(r3)
+/* 802CE0CC 002C9D2C 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802CE0D0 002C9D30 88 03 00 05 */ lbz r0, 5(r3)
+/* 802CE0D4 002C9D34 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802CE0D8 002C9D38 88 03 00 06 */ lbz r0, 6(r3)
+/* 802CE0DC 002C9D3C 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802CE0E0 002C9D40 88 03 00 07 */ lbz r0, 7(r3)
+/* 802CE0E4 002C9D44 98 01 00 09 */ stb r0, 9(r1)
+/* 802CE0E8 002C9D48 88 03 00 08 */ lbz r0, 8(r3)
+/* 802CE0EC 002C9D4C 98 01 00 08 */ stb r0, 8(r1)
+/* 802CE0F0 002C9D50 88 A3 00 09 */ lbz r5, 9(r3)
+/* 802CE0F4 002C9D54 28 05 00 01 */ cmplwi r5, 1
+/* 802CE0F8 002C9D58 40 82 00 14 */ bne lbl_802CE10C
+/* 802CE0FC 002C9D5C 38 61 00 0C */ addi r3, r1, 0xc
+/* 802CE100 002C9D60 38 81 00 08 */ addi r4, r1, 8
+/* 802CE104 002C9D64 4B FF D9 15 */ bl btm_sec_conn_req
+/* 802CE108 002C9D68 48 00 00 10 */ b lbl_802CE118
+lbl_802CE10C:
+/* 802CE10C 002C9D6C 38 61 00 0C */ addi r3, r1, 0xc
+/* 802CE110 002C9D70 38 81 00 08 */ addi r4, r1, 8
+/* 802CE114 002C9D74 4B FF BD 19 */ bl btm_sco_conn_req
+lbl_802CE118:
+/* 802CE118 002C9D78 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CE11C 002C9D7C 7C 08 03 A6 */ mtlr r0
+/* 802CE120 002C9D80 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CE124 002C9D84 4E 80 00 20 */ blr
+
+.global btu_hcif_qos_setup_comp_evt
+btu_hcif_qos_setup_comp_evt:
+/* 802CE128 002C9D88 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CE12C 002C9D8C 7C 08 02 A6 */ mflr r0
+/* 802CE130 002C9D90 7C 66 1B 78 */ mr r6, r3
+/* 802CE134 002C9D94 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CE138 002C9D98 38 A1 00 08 */ addi r5, r1, 8
+/* 802CE13C 002C9D9C 88 86 00 02 */ lbz r4, 2(r6)
+/* 802CE140 002C9DA0 88 63 00 00 */ lbz r3, 0(r3)
+/* 802CE144 002C9DA4 88 E6 00 01 */ lbz r7, 1(r6)
+/* 802CE148 002C9DA8 54 84 40 2E */ slwi r4, r4, 8
+/* 802CE14C 002C9DAC 88 06 00 03 */ lbz r0, 3(r6)
+/* 802CE150 002C9DB0 7C 87 22 14 */ add r4, r7, r4
+/* 802CE154 002C9DB4 98 01 00 08 */ stb r0, 8(r1)
+/* 802CE158 002C9DB8 54 84 04 3E */ clrlwi r4, r4, 0x10
+/* 802CE15C 002C9DBC 88 06 00 04 */ lbz r0, 4(r6)
+/* 802CE160 002C9DC0 98 01 00 09 */ stb r0, 9(r1)
+/* 802CE164 002C9DC4 88 E6 00 08 */ lbz r7, 8(r6)
+/* 802CE168 002C9DC8 89 06 00 07 */ lbz r8, 7(r6)
+/* 802CE16C 002C9DCC 88 06 00 06 */ lbz r0, 6(r6)
+/* 802CE170 002C9DD0 54 E9 C0 0E */ slwi r9, r7, 0x18
+/* 802CE174 002C9DD4 88 E6 00 05 */ lbz r7, 5(r6)
+/* 802CE178 002C9DD8 55 08 80 1E */ slwi r8, r8, 0x10
+/* 802CE17C 002C9DDC 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE180 002C9DE0 7C E8 3A 14 */ add r7, r8, r7
+/* 802CE184 002C9DE4 7C 09 02 14 */ add r0, r9, r0
+/* 802CE188 002C9DE8 7C 07 02 14 */ add r0, r7, r0
+/* 802CE18C 002C9DEC 90 01 00 0C */ stw r0, 0xc(r1)
+/* 802CE190 002C9DF0 88 E6 00 0C */ lbz r7, 0xc(r6)
+/* 802CE194 002C9DF4 89 06 00 0B */ lbz r8, 0xb(r6)
+/* 802CE198 002C9DF8 88 06 00 0A */ lbz r0, 0xa(r6)
+/* 802CE19C 002C9DFC 54 E9 C0 0E */ slwi r9, r7, 0x18
+/* 802CE1A0 002C9E00 88 E6 00 09 */ lbz r7, 9(r6)
+/* 802CE1A4 002C9E04 55 08 80 1E */ slwi r8, r8, 0x10
+/* 802CE1A8 002C9E08 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE1AC 002C9E0C 7C E8 3A 14 */ add r7, r8, r7
+/* 802CE1B0 002C9E10 7C 09 02 14 */ add r0, r9, r0
+/* 802CE1B4 002C9E14 7C 07 02 14 */ add r0, r7, r0
+/* 802CE1B8 002C9E18 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CE1BC 002C9E1C 88 E6 00 10 */ lbz r7, 0x10(r6)
+/* 802CE1C0 002C9E20 89 06 00 0F */ lbz r8, 0xf(r6)
+/* 802CE1C4 002C9E24 88 06 00 0E */ lbz r0, 0xe(r6)
+/* 802CE1C8 002C9E28 54 E9 C0 0E */ slwi r9, r7, 0x18
+/* 802CE1CC 002C9E2C 88 E6 00 0D */ lbz r7, 0xd(r6)
+/* 802CE1D0 002C9E30 55 08 80 1E */ slwi r8, r8, 0x10
+/* 802CE1D4 002C9E34 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE1D8 002C9E38 7C E8 3A 14 */ add r7, r8, r7
+/* 802CE1DC 002C9E3C 7C 09 02 14 */ add r0, r9, r0
+/* 802CE1E0 002C9E40 7C 07 02 14 */ add r0, r7, r0
+/* 802CE1E4 002C9E44 90 01 00 18 */ stw r0, 0x18(r1)
+/* 802CE1E8 002C9E48 89 06 00 14 */ lbz r8, 0x14(r6)
+/* 802CE1EC 002C9E4C 88 E6 00 13 */ lbz r7, 0x13(r6)
+/* 802CE1F0 002C9E50 88 06 00 12 */ lbz r0, 0x12(r6)
+/* 802CE1F4 002C9E54 55 08 C0 0E */ slwi r8, r8, 0x18
+/* 802CE1F8 002C9E58 88 C6 00 11 */ lbz r6, 0x11(r6)
+/* 802CE1FC 002C9E5C 54 E7 80 1E */ slwi r7, r7, 0x10
+/* 802CE200 002C9E60 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE204 002C9E64 7C C7 32 14 */ add r6, r7, r6
+/* 802CE208 002C9E68 7C 08 02 14 */ add r0, r8, r0
+/* 802CE20C 002C9E6C 7C 06 02 14 */ add r0, r6, r0
+/* 802CE210 002C9E70 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 802CE214 002C9E74 4B FF 66 FD */ bl btm_qos_setup_complete
+/* 802CE218 002C9E78 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CE21C 002C9E7C 7C 08 03 A6 */ mtlr r0
+/* 802CE220 002C9E80 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CE224 002C9E84 4E 80 00 20 */ blr
+
+.global btu_hcif_esco_connection_comp_evt
+btu_hcif_esco_connection_comp_evt:
+/* 802CE228 002C9E88 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802CE22C 002C9E8C 7C 08 02 A6 */ mflr r0
+/* 802CE230 002C9E90 38 A0 00 06 */ li r5, 6
+/* 802CE234 002C9E94 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802CE238 002C9E98 38 81 00 08 */ addi r4, r1, 8
+/* 802CE23C 002C9E9C 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 802CE240 002C9EA0 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 802CE244 002C9EA4 88 03 00 02 */ lbz r0, 2(r3)
+/* 802CE248 002C9EA8 8B E3 00 00 */ lbz r31, 0(r3)
+/* 802CE24C 002C9EAC 54 06 40 2E */ slwi r6, r0, 8
+/* 802CE250 002C9EB0 88 E3 00 01 */ lbz r7, 1(r3)
+/* 802CE254 002C9EB4 88 03 00 03 */ lbz r0, 3(r3)
+/* 802CE258 002C9EB8 7C C7 32 14 */ add r6, r7, r6
+/* 802CE25C 002C9EBC 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802CE260 002C9EC0 54 DE 04 3E */ clrlwi r30, r6, 0x10
+/* 802CE264 002C9EC4 88 03 00 04 */ lbz r0, 4(r3)
+/* 802CE268 002C9EC8 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802CE26C 002C9ECC 88 03 00 05 */ lbz r0, 5(r3)
+/* 802CE270 002C9ED0 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802CE274 002C9ED4 88 03 00 06 */ lbz r0, 6(r3)
+/* 802CE278 002C9ED8 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802CE27C 002C9EDC 88 03 00 07 */ lbz r0, 7(r3)
+/* 802CE280 002C9EE0 98 01 00 09 */ stb r0, 9(r1)
+/* 802CE284 002C9EE4 88 03 00 08 */ lbz r0, 8(r3)
+/* 802CE288 002C9EE8 98 01 00 08 */ stb r0, 8(r1)
+/* 802CE28C 002C9EEC 88 03 00 09 */ lbz r0, 9(r3)
+/* 802CE290 002C9EF0 98 01 00 1A */ stb r0, 0x1a(r1)
+/* 802CE294 002C9EF4 88 03 00 0A */ lbz r0, 0xa(r3)
+/* 802CE298 002C9EF8 98 01 00 1B */ stb r0, 0x1b(r1)
+/* 802CE29C 002C9EFC 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 802CE2A0 002C9F00 98 01 00 1C */ stb r0, 0x1c(r1)
+/* 802CE2A4 002C9F04 88 03 00 0D */ lbz r0, 0xd(r3)
+/* 802CE2A8 002C9F08 88 C3 00 0C */ lbz r6, 0xc(r3)
+/* 802CE2AC 002C9F0C 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE2B0 002C9F10 7C 06 02 14 */ add r0, r6, r0
+/* 802CE2B4 002C9F14 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 802CE2B8 002C9F18 88 03 00 0F */ lbz r0, 0xf(r3)
+/* 802CE2BC 002C9F1C 88 C3 00 0E */ lbz r6, 0xe(r3)
+/* 802CE2C0 002C9F20 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE2C4 002C9F24 7C 06 02 14 */ add r0, r6, r0
+/* 802CE2C8 002C9F28 B0 01 00 12 */ sth r0, 0x12(r1)
+/* 802CE2CC 002C9F2C 88 03 00 10 */ lbz r0, 0x10(r3)
+/* 802CE2D0 002C9F30 38 61 00 14 */ addi r3, r1, 0x14
+/* 802CE2D4 002C9F34 98 01 00 1D */ stb r0, 0x1d(r1)
+/* 802CE2D8 002C9F38 4B D3 5D 29 */ bl memcpy
+/* 802CE2DC 002C9F3C 7F E3 FB 78 */ mr r3, r31
+/* 802CE2E0 002C9F40 7F C5 F3 78 */ mr r5, r30
+/* 802CE2E4 002C9F44 38 81 00 08 */ addi r4, r1, 8
+/* 802CE2E8 002C9F48 38 C1 00 10 */ addi r6, r1, 0x10
+/* 802CE2EC 002C9F4C 4B FF BD 21 */ bl btm_sco_connected
+/* 802CE2F0 002C9F50 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802CE2F4 002C9F54 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 802CE2F8 002C9F58 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 802CE2FC 002C9F5C 7C 08 03 A6 */ mtlr r0
+/* 802CE300 002C9F60 38 21 00 30 */ addi r1, r1, 0x30
+/* 802CE304 002C9F64 4E 80 00 20 */ blr
+
+.global btu_hcif_hdl_command_complete
+btu_hcif_hdl_command_complete:
+/* 802CE308 002C9F68 2C 03 0C 14 */ cmpwi r3, 0xc14
+/* 802CE30C 002C9F6C 7C 66 1B 78 */ mr r6, r3
+/* 802CE310 002C9F70 41 82 01 08 */ beq lbl_802CE418
+/* 802CE314 002C9F74 40 80 00 58 */ bge lbl_802CE36C
+/* 802CE318 002C9F78 2C 03 0C 05 */ cmpwi r3, 0xc05
+/* 802CE31C 002C9F7C 41 82 00 B0 */ beq lbl_802CE3CC
+/* 802CE320 002C9F80 40 80 00 28 */ bge lbl_802CE348
+/* 802CE324 002C9F84 2C 03 08 0C */ cmpwi r3, 0x80c
+/* 802CE328 002C9F88 41 82 00 D0 */ beq lbl_802CE3F8
+/* 802CE32C 002C9F8C 40 80 00 10 */ bge lbl_802CE33C
+/* 802CE330 002C9F90 2C 03 04 02 */ cmpwi r3, 0x402
+/* 802CE334 002C9F94 41 82 00 90 */ beq lbl_802CE3C4
+/* 802CE338 002C9F98 48 00 01 08 */ b lbl_802CE440
+lbl_802CE33C:
+/* 802CE33C 002C9F9C 2C 03 0C 03 */ cmpwi r3, 0xc03
+/* 802CE340 002C9FA0 41 82 00 80 */ beq lbl_802CE3C0
+/* 802CE344 002C9FA4 48 00 00 FC */ b lbl_802CE440
+lbl_802CE348:
+/* 802CE348 002C9FA8 2C 03 0C 11 */ cmpwi r3, 0xc11
+/* 802CE34C 002C9FAC 41 82 00 90 */ beq lbl_802CE3DC
+/* 802CE350 002C9FB0 40 80 00 10 */ bge lbl_802CE360
+/* 802CE354 002C9FB4 2C 03 0C 0D */ cmpwi r3, 0xc0d
+/* 802CE358 002C9FB8 41 82 00 7C */ beq lbl_802CE3D4
+/* 802CE35C 002C9FBC 48 00 00 E4 */ b lbl_802CE440
+lbl_802CE360:
+/* 802CE360 002C9FC0 2C 03 0C 13 */ cmpwi r3, 0xc13
+/* 802CE364 002C9FC4 40 80 00 DC */ bge lbl_802CE440
+/* 802CE368 002C9FC8 48 00 00 7C */ b lbl_802CE3E4
+lbl_802CE36C:
+/* 802CE36C 002C9FCC 2C 03 10 09 */ cmpwi r3, 0x1009
+/* 802CE370 002C9FD0 41 82 00 B4 */ beq lbl_802CE424
+/* 802CE374 002C9FD4 40 80 00 28 */ bge lbl_802CE39C
+/* 802CE378 002C9FD8 2C 03 10 03 */ cmpwi r3, 0x1003
+/* 802CE37C 002C9FDC 41 82 00 90 */ beq lbl_802CE40C
+/* 802CE380 002C9FE0 40 80 00 10 */ bge lbl_802CE390
+/* 802CE384 002C9FE4 2C 03 10 01 */ cmpwi r3, 0x1001
+/* 802CE388 002C9FE8 41 82 00 64 */ beq lbl_802CE3EC
+/* 802CE38C 002C9FEC 48 00 00 B4 */ b lbl_802CE440
+lbl_802CE390:
+/* 802CE390 002C9FF0 2C 03 10 05 */ cmpwi r3, 0x1005
+/* 802CE394 002C9FF4 41 82 00 6C */ beq lbl_802CE400
+/* 802CE398 002C9FF8 48 00 00 A8 */ b lbl_802CE440
+lbl_802CE39C:
+/* 802CE39C 002C9FFC 2C 03 14 04 */ cmpwi r3, 0x1404
+/* 802CE3A0 002CA000 41 82 00 A0 */ beq lbl_802CE440
+/* 802CE3A4 002CA004 40 80 00 10 */ bge lbl_802CE3B4
+/* 802CE3A8 002CA008 2C 03 14 03 */ cmpwi r3, 0x1403
+/* 802CE3AC 002CA00C 40 80 00 84 */ bge lbl_802CE430
+/* 802CE3B0 002CA010 48 00 00 90 */ b lbl_802CE440
+lbl_802CE3B4:
+/* 802CE3B4 002CA014 2C 03 14 06 */ cmpwi r3, 0x1406
+/* 802CE3B8 002CA018 40 80 00 88 */ bge lbl_802CE440
+/* 802CE3BC 002CA01C 48 00 00 7C */ b lbl_802CE438
+lbl_802CE3C0:
+/* 802CE3C0 002CA020 4B FF 7A B4 */ b btm_reset_complete
+lbl_802CE3C4:
+/* 802CE3C4 002CA024 38 60 00 00 */ li r3, 0
+/* 802CE3C8 002CA028 4B FF A5 DC */ b btm_process_inq_complete
+lbl_802CE3CC:
+/* 802CE3CC 002CA02C 7C 83 23 78 */ mr r3, r4
+/* 802CE3D0 002CA030 4B FF A1 3C */ b btm_event_filter_complete
+lbl_802CE3D4:
+/* 802CE3D4 002CA034 7C 83 23 78 */ mr r3, r4
+/* 802CE3D8 002CA038 4B FF 8B 00 */ b btm_read_stored_link_key_complete
+lbl_802CE3DC:
+/* 802CE3DC 002CA03C 7C 83 23 78 */ mr r3, r4
+/* 802CE3E0 002CA040 4B FF 8B 74 */ b btm_write_stored_link_key_complete
+lbl_802CE3E4:
+/* 802CE3E4 002CA044 7C 83 23 78 */ mr r3, r4
+/* 802CE3E8 002CA048 4B FF 8B C8 */ b btm_delete_stored_link_key_complete
+lbl_802CE3EC:
+/* 802CE3EC 002CA04C 7C 83 23 78 */ mr r3, r4
+/* 802CE3F0 002CA050 7C A4 2B 78 */ mr r4, r5
+/* 802CE3F4 002CA054 4B FF 7D 0C */ b btm_read_local_version_complete
+lbl_802CE3F8:
+/* 802CE3F8 002CA058 7C 83 23 78 */ mr r3, r4
+/* 802CE3FC 002CA05C 4B FF 5A 98 */ b btm_read_link_policy_complete
+lbl_802CE400:
+/* 802CE400 002CA060 7C 83 23 78 */ mr r3, r4
+/* 802CE404 002CA064 7C A4 2B 78 */ mr r4, r5
+/* 802CE408 002CA068 4B FF 7C 30 */ b btm_read_hci_buf_size_complete
+lbl_802CE40C:
+/* 802CE40C 002CA06C 7C 83 23 78 */ mr r3, r4
+/* 802CE410 002CA070 7C A4 2B 78 */ mr r4, r5
+/* 802CE414 002CA074 4B FF 7D A8 */ b btm_read_local_features_complete
+lbl_802CE418:
+/* 802CE418 002CA078 7C 83 23 78 */ mr r3, r4
+/* 802CE41C 002CA07C 7C A4 2B 78 */ mr r4, r5
+/* 802CE420 002CA080 4B FF 83 50 */ b btm_read_local_name_complete
+lbl_802CE424:
+/* 802CE424 002CA084 7C 83 23 78 */ mr r3, r4
+/* 802CE428 002CA088 7C A4 2B 78 */ mr r4, r5
+/* 802CE42C 002CA08C 4B FF 84 10 */ b btm_read_local_addr_complete
+lbl_802CE430:
+/* 802CE430 002CA090 7C 83 23 78 */ mr r3, r4
+/* 802CE434 002CA094 4B FF 69 48 */ b btm_read_link_quality_complete
+lbl_802CE438:
+/* 802CE438 002CA098 7C 83 23 78 */ mr r3, r4
+/* 802CE43C 002CA09C 4B FF 68 24 */ b btm_read_rssi_complete
+lbl_802CE440:
+/* 802CE440 002CA0A0 54 63 04 2A */ rlwinm r3, r3, 0, 0x10, 0x15
+/* 802CE444 002CA0A4 3C 03 00 00 */ addis r0, r3, 0
+/* 802CE448 002CA0A8 28 00 FC 00 */ cmplwi r0, 0xfc00
+/* 802CE44C 002CA0AC 4C 82 00 20 */ bnelr
+/* 802CE450 002CA0B0 7C 83 23 78 */ mr r3, r4
+/* 802CE454 002CA0B4 7C C4 33 78 */ mr r4, r6
+/* 802CE458 002CA0B8 4B FF 86 2C */ b btm_vsc_complete
+/* 802CE45C 002CA0BC 4E 80 00 20 */ blr
+
+.global btu_hcif_command_complete_evt
+btu_hcif_command_complete_evt:
+/* 802CE460 002CA0C0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CE464 002CA0C4 7C 08 02 A6 */ mflr r0
+/* 802CE468 002CA0C8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CE46C 002CA0CC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CE470 002CA0D0 3F E0 80 57 */ lis r31, lbl_80568650@ha
+/* 802CE474 002CA0D4 3B FF 86 50 */ addi r31, r31, lbl_80568650@l
+/* 802CE478 002CA0D8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CE47C 002CA0DC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CE480 002CA0E0 7C 9D 23 78 */ mr r29, r4
+/* 802CE484 002CA0E4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802CE488 002CA0E8 7C 7C 1B 78 */ mr r28, r3
+/* 802CE48C 002CA0EC 88 03 00 00 */ lbz r0, 0(r3)
+/* 802CE490 002CA0F0 B0 1F 00 80 */ sth r0, 0x80(r31)
+/* 802CE494 002CA0F4 88 03 00 02 */ lbz r0, 2(r3)
+/* 802CE498 002CA0F8 88 63 00 01 */ lbz r3, 1(r3)
+/* 802CE49C 002CA0FC 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE4A0 002CA100 7C 03 02 14 */ add r0, r3, r0
+/* 802CE4A4 002CA104 54 1E 04 3E */ clrlwi r30, r0, 0x10
+/* 802CE4A8 002CA108 28 1E 0C 03 */ cmplwi r30, 0xc03
+/* 802CE4AC 002CA10C 41 82 00 90 */ beq lbl_802CE53C
+/* 802CE4B0 002CA110 28 1E 0C 35 */ cmplwi r30, 0xc35
+/* 802CE4B4 002CA114 41 82 00 88 */ beq lbl_802CE53C
+/* 802CE4B8 002CA118 2C 1E 00 00 */ cmpwi r30, 0
+/* 802CE4BC 002CA11C 41 82 00 80 */ beq lbl_802CE53C
+/* 802CE4C0 002CA120 38 7F 00 70 */ addi r3, r31, 0x70
+/* 802CE4C4 002CA124 4B FE BF 0D */ bl GKI_dequeue
+/* 802CE4C8 002CA128 2C 03 00 00 */ cmpwi r3, 0
+/* 802CE4CC 002CA12C 41 82 00 3C */ beq lbl_802CE508
+/* 802CE4D0 002CA130 88 03 00 09 */ lbz r0, 9(r3)
+/* 802CE4D4 002CA134 28 1E FC 4C */ cmplwi r30, 0xfc4c
+/* 802CE4D8 002CA138 88 83 00 08 */ lbz r4, 8(r3)
+/* 802CE4DC 002CA13C 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE4E0 002CA140 7C 04 02 14 */ add r0, r4, r0
+/* 802CE4E4 002CA144 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802CE4E8 002CA148 40 82 00 1C */ bne lbl_802CE504
+/* 802CE4EC 002CA14C 7C 00 F0 40 */ cmplw r0, r30
+/* 802CE4F0 002CA150 41 82 00 14 */ beq lbl_802CE504
+/* 802CE4F4 002CA154 7C 64 1B 78 */ mr r4, r3
+/* 802CE4F8 002CA158 38 7F 00 70 */ addi r3, r31, 0x70
+/* 802CE4FC 002CA15C 4B FE BD 95 */ bl GKI_enqueue_head
+/* 802CE500 002CA160 48 00 00 58 */ b lbl_802CE558
+lbl_802CE504:
+/* 802CE504 002CA164 4B FE B8 31 */ bl GKI_freebuf
+lbl_802CE508:
+/* 802CE508 002CA168 3F E0 80 57 */ lis r31, lbl_80568650@ha
+/* 802CE50C 002CA16C 3B FF 86 50 */ addi r31, r31, lbl_80568650@l
+/* 802CE510 002CA170 38 7F 00 70 */ addi r3, r31, 0x70
+/* 802CE514 002CA174 4B FE C0 45 */ bl GKI_queue_is_empty
+/* 802CE518 002CA178 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CE51C 002CA17C 40 82 00 18 */ bne lbl_802CE534
+/* 802CE520 002CA180 38 7F 00 4C */ addi r3, r31, 0x4c
+/* 802CE524 002CA184 38 80 00 3C */ li r4, 0x3c
+/* 802CE528 002CA188 38 A0 00 08 */ li r5, 8
+/* 802CE52C 002CA18C 4B FE EF B1 */ bl btu_start_timer
+/* 802CE530 002CA190 48 00 00 0C */ b lbl_802CE53C
+lbl_802CE534:
+/* 802CE534 002CA194 38 7F 00 4C */ addi r3, r31, 0x4c
+/* 802CE538 002CA198 4B FE F0 15 */ bl btu_stop_timer
+lbl_802CE53C:
+/* 802CE53C 002CA19C 38 1D FF FD */ addi r0, r29, -3
+/* 802CE540 002CA1A0 7F C3 F3 78 */ mr r3, r30
+/* 802CE544 002CA1A4 38 9C 00 03 */ addi r4, r28, 3
+/* 802CE548 002CA1A8 54 05 04 3E */ clrlwi r5, r0, 0x10
+/* 802CE54C 002CA1AC 4B FF FD BD */ bl btu_hcif_hdl_command_complete
+/* 802CE550 002CA1B0 38 60 00 00 */ li r3, 0
+/* 802CE554 002CA1B4 4B FF F8 E1 */ bl btu_hcif_send_cmd
+lbl_802CE558:
+/* 802CE558 002CA1B8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CE55C 002CA1BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CE560 002CA1C0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CE564 002CA1C4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CE568 002CA1C8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802CE56C 002CA1CC 7C 08 03 A6 */ mtlr r0
+/* 802CE570 002CA1D0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CE574 002CA1D4 4E 80 00 20 */ blr
+
+.global btu_hcif_hdl_command_status
+btu_hcif_hdl_command_status:
+/* 802CE578 002CA1D8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802CE57C 002CA1DC 7C 08 02 A6 */ mflr r0
+/* 802CE580 002CA1E0 2C 03 08 02 */ cmpwi r3, 0x802
+/* 802CE584 002CA1E4 7C 66 1B 78 */ mr r6, r3
+/* 802CE588 002CA1E8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802CE58C 002CA1EC 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 802CE590 002CA1F0 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 802CE594 002CA1F4 7C 9E 23 78 */ mr r30, r4
+/* 802CE598 002CA1F8 41 82 00 28 */ beq lbl_802CE5C0
+/* 802CE59C 002CA1FC 40 80 00 10 */ bge lbl_802CE5AC
+/* 802CE5A0 002CA200 2C 03 08 01 */ cmpwi r3, 0x801
+/* 802CE5A4 002CA204 40 80 00 10 */ bge lbl_802CE5B4
+/* 802CE5A8 002CA208 48 00 00 18 */ b lbl_802CE5C0
+lbl_802CE5AC:
+/* 802CE5AC 002CA20C 2C 03 08 07 */ cmpwi r3, 0x807
+/* 802CE5B0 002CA210 40 80 00 10 */ bge lbl_802CE5C0
+lbl_802CE5B4:
+/* 802CE5B4 002CA214 7F C3 F3 78 */ mr r3, r30
+/* 802CE5B8 002CA218 4B FF B1 F1 */ bl btm_pm_proc_cmd_status
+/* 802CE5BC 002CA21C 48 00 01 A4 */ b lbl_802CE760
+lbl_802CE5C0:
+/* 802CE5C0 002CA220 2C 04 00 00 */ cmpwi r4, 0
+/* 802CE5C4 002CA224 41 82 01 9C */ beq lbl_802CE760
+/* 802CE5C8 002CA228 2C 03 04 19 */ cmpwi r3, 0x419
+/* 802CE5CC 002CA22C 41 82 00 50 */ beq lbl_802CE61C
+/* 802CE5D0 002CA230 40 80 00 28 */ bge lbl_802CE5F8
+/* 802CE5D4 002CA234 2C 03 04 01 */ cmpwi r3, 0x401
+/* 802CE5D8 002CA238 41 82 00 38 */ beq lbl_802CE610
+/* 802CE5DC 002CA23C 40 80 00 10 */ bge lbl_802CE5EC
+/* 802CE5E0 002CA240 2C 03 00 0D */ cmpwi r3, 0xd
+/* 802CE5E4 002CA244 41 82 00 60 */ beq lbl_802CE644
+/* 802CE5E8 002CA248 48 00 01 58 */ b lbl_802CE740
+lbl_802CE5EC:
+/* 802CE5EC 002CA24C 2C 03 04 05 */ cmpwi r3, 0x405
+/* 802CE5F0 002CA250 41 82 00 80 */ beq lbl_802CE670
+/* 802CE5F4 002CA254 48 00 01 4C */ b lbl_802CE740
+lbl_802CE5F8:
+/* 802CE5F8 002CA258 2C 03 08 0B */ cmpwi r3, 0x80b
+/* 802CE5FC 002CA25C 41 82 00 5C */ beq lbl_802CE658
+/* 802CE600 002CA260 40 80 01 40 */ bge lbl_802CE740
+/* 802CE604 002CA264 2C 03 04 28 */ cmpwi r3, 0x428
+/* 802CE608 002CA268 41 82 00 D4 */ beq lbl_802CE6DC
+/* 802CE60C 002CA26C 48 00 01 34 */ b lbl_802CE740
+lbl_802CE610:
+/* 802CE610 002CA270 7F C3 F3 78 */ mr r3, r30
+/* 802CE614 002CA274 4B FF A3 91 */ bl btm_process_inq_complete
+/* 802CE618 002CA278 48 00 01 48 */ b lbl_802CE760
+lbl_802CE61C:
+/* 802CE61C 002CA27C 7F C6 F3 78 */ mr r6, r30
+/* 802CE620 002CA280 38 60 00 00 */ li r3, 0
+/* 802CE624 002CA284 38 80 00 00 */ li r4, 0
+/* 802CE628 002CA288 38 A0 00 00 */ li r5, 0
+/* 802CE62C 002CA28C 4B FF A5 CD */ bl btm_process_remote_name
+/* 802CE630 002CA290 7F C5 F3 78 */ mr r5, r30
+/* 802CE634 002CA294 38 60 00 00 */ li r3, 0
+/* 802CE638 002CA298 38 80 00 00 */ li r4, 0
+/* 802CE63C 002CA29C 4B FF D6 19 */ bl btm_sec_rmt_name_request_complete
+/* 802CE640 002CA2A0 48 00 01 20 */ b lbl_802CE760
+lbl_802CE644:
+/* 802CE644 002CA2A4 7F C3 F3 78 */ mr r3, r30
+/* 802CE648 002CA2A8 38 80 00 00 */ li r4, 0
+/* 802CE64C 002CA2AC 38 A0 00 00 */ li r5, 0
+/* 802CE650 002CA2B0 4B FF 62 C1 */ bl btm_qos_setup_complete
+/* 802CE654 002CA2B4 48 00 01 0C */ b lbl_802CE760
+lbl_802CE658:
+/* 802CE658 002CA2B8 7F C3 F3 78 */ mr r3, r30
+/* 802CE65C 002CA2BC 38 80 00 00 */ li r4, 0
+/* 802CE660 002CA2C0 38 A0 00 FF */ li r5, 0xff
+/* 802CE664 002CA2C4 4B FF 5E 79 */ bl btm_acl_role_changed
+/* 802CE668 002CA2C8 48 00 A2 71 */ bl func_802D88D8
+/* 802CE66C 002CA2CC 48 00 00 F4 */ b lbl_802CE760
+lbl_802CE670:
+/* 802CE670 002CA2D0 2C 05 00 00 */ cmpwi r5, 0
+/* 802CE674 002CA2D4 41 82 00 EC */ beq lbl_802CE760
+/* 802CE678 002CA2D8 88 85 00 01 */ lbz r4, 1(r5)
+/* 802CE67C 002CA2DC 3F E0 00 01 */ lis r31, 0x0000FFFF@ha
+/* 802CE680 002CA2E0 38 1F FF FF */ addi r0, r31, 0x0000FFFF@l
+/* 802CE684 002CA2E4 38 61 00 08 */ addi r3, r1, 8
+/* 802CE688 002CA2E8 98 81 00 0D */ stb r4, 0xd(r1)
+/* 802CE68C 002CA2EC 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802CE690 002CA2F0 38 C0 00 00 */ li r6, 0
+/* 802CE694 002CA2F4 88 05 00 02 */ lbz r0, 2(r5)
+/* 802CE698 002CA2F8 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802CE69C 002CA2FC 88 05 00 03 */ lbz r0, 3(r5)
+/* 802CE6A0 002CA300 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802CE6A4 002CA304 88 05 00 04 */ lbz r0, 4(r5)
+/* 802CE6A8 002CA308 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802CE6AC 002CA30C 88 05 00 05 */ lbz r0, 5(r5)
+/* 802CE6B0 002CA310 98 01 00 09 */ stb r0, 9(r1)
+/* 802CE6B4 002CA314 88 05 00 06 */ lbz r0, 6(r5)
+/* 802CE6B8 002CA318 7F C5 F3 78 */ mr r5, r30
+/* 802CE6BC 002CA31C 98 01 00 08 */ stb r0, 8(r1)
+/* 802CE6C0 002CA320 4B FF DE 39 */ bl btm_sec_connected
+/* 802CE6C4 002CA324 38 1F FF FF */ addi r0, r31, -1
+/* 802CE6C8 002CA328 7F C3 F3 78 */ mr r3, r30
+/* 802CE6CC 002CA32C 38 A1 00 08 */ addi r5, r1, 8
+/* 802CE6D0 002CA330 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802CE6D4 002CA334 48 00 93 59 */ bl func_802D7A2C
+/* 802CE6D8 002CA338 48 00 00 88 */ b lbl_802CE760
+lbl_802CE6DC:
+/* 802CE6DC 002CA33C 2C 05 00 00 */ cmpwi r5, 0
+/* 802CE6E0 002CA340 41 82 00 80 */ beq lbl_802CE760
+/* 802CE6E4 002CA344 88 05 00 02 */ lbz r0, 2(r5)
+/* 802CE6E8 002CA348 88 65 00 01 */ lbz r3, 1(r5)
+/* 802CE6EC 002CA34C 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE6F0 002CA350 7C 03 02 14 */ add r0, r3, r0
+/* 802CE6F4 002CA354 54 1F 04 3E */ clrlwi r31, r0, 0x10
+/* 802CE6F8 002CA358 7F E3 FB 78 */ mr r3, r31
+/* 802CE6FC 002CA35C 4B FF C0 65 */ bl btm_is_sco_active
+/* 802CE700 002CA360 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CE704 002CA364 41 82 00 24 */ beq lbl_802CE728
+/* 802CE708 002CA368 7F C3 F3 78 */ mr r3, r30
+/* 802CE70C 002CA36C 7F E4 FB 78 */ mr r4, r31
+/* 802CE710 002CA370 38 A0 00 00 */ li r5, 0
+/* 802CE714 002CA374 38 C0 00 00 */ li r6, 0
+/* 802CE718 002CA378 38 E0 00 00 */ li r7, 0
+/* 802CE71C 002CA37C 39 00 00 00 */ li r8, 0
+/* 802CE720 002CA380 4B FF BF 3D */ bl btm_esco_proc_conn_chg
+/* 802CE724 002CA384 48 00 00 3C */ b lbl_802CE760
+lbl_802CE728:
+/* 802CE728 002CA388 7F C3 F3 78 */ mr r3, r30
+/* 802CE72C 002CA38C 7F E5 FB 78 */ mr r5, r31
+/* 802CE730 002CA390 38 C1 00 10 */ addi r6, r1, 0x10
+/* 802CE734 002CA394 38 80 00 00 */ li r4, 0
+/* 802CE738 002CA398 4B FF B8 D5 */ bl btm_sco_connected
+/* 802CE73C 002CA39C 48 00 00 24 */ b lbl_802CE760
+lbl_802CE740:
+/* 802CE740 002CA3A0 54 63 04 2A */ rlwinm r3, r3, 0, 0x10, 0x15
+/* 802CE744 002CA3A4 3C 03 00 00 */ addis r0, r3, 0
+/* 802CE748 002CA3A8 28 00 FC 00 */ cmplwi r0, 0xfc00
+/* 802CE74C 002CA3AC 40 82 00 14 */ bne lbl_802CE760
+/* 802CE750 002CA3B0 7C A3 2B 78 */ mr r3, r5
+/* 802CE754 002CA3B4 7C C4 33 78 */ mr r4, r6
+/* 802CE758 002CA3B8 38 A0 00 01 */ li r5, 1
+/* 802CE75C 002CA3BC 4B FF 83 29 */ bl btm_vsc_complete
+lbl_802CE760:
+/* 802CE760 002CA3C0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802CE764 002CA3C4 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 802CE768 002CA3C8 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 802CE76C 002CA3CC 7C 08 03 A6 */ mtlr r0
+/* 802CE770 002CA3D0 38 21 00 30 */ addi r1, r1, 0x30
+/* 802CE774 002CA3D4 4E 80 00 20 */ blr
+
+.global btu_hcif_command_status_evt
+btu_hcif_command_status_evt:
+/* 802CE778 002CA3D8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CE77C 002CA3DC 7C 08 02 A6 */ mflr r0
+/* 802CE780 002CA3E0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CE784 002CA3E4 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CE788 002CA3E8 4B EF 89 A1 */ bl _savegpr_27
+/* 802CE78C 002CA3EC 3C 80 80 57 */ lis r4, lbl_80568650@ha
+/* 802CE790 002CA3F0 8B A3 00 00 */ lbz r29, 0(r3)
+/* 802CE794 002CA3F4 88 03 00 01 */ lbz r0, 1(r3)
+/* 802CE798 002CA3F8 38 84 86 50 */ addi r4, r4, lbl_80568650@l
+/* 802CE79C 002CA3FC 3B E0 00 00 */ li r31, 0
+/* 802CE7A0 002CA400 3B 60 00 00 */ li r27, 0
+/* 802CE7A4 002CA404 B0 04 00 80 */ sth r0, 0x80(r4)
+/* 802CE7A8 002CA408 88 03 00 03 */ lbz r0, 3(r3)
+/* 802CE7AC 002CA40C 88 63 00 02 */ lbz r3, 2(r3)
+/* 802CE7B0 002CA410 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE7B4 002CA414 7C 03 02 14 */ add r0, r3, r0
+/* 802CE7B8 002CA418 54 1C 04 3E */ clrlwi r28, r0, 0x10
+/* 802CE7BC 002CA41C 28 1C 0C 03 */ cmplwi r28, 0xc03
+/* 802CE7C0 002CA420 41 82 00 A0 */ beq lbl_802CE860
+/* 802CE7C4 002CA424 28 1C 0C 35 */ cmplwi r28, 0xc35
+/* 802CE7C8 002CA428 41 82 00 98 */ beq lbl_802CE860
+/* 802CE7CC 002CA42C 2C 1C 00 00 */ cmpwi r28, 0
+/* 802CE7D0 002CA430 41 82 00 90 */ beq lbl_802CE860
+/* 802CE7D4 002CA434 38 64 00 70 */ addi r3, r4, 0x70
+/* 802CE7D8 002CA438 4B FE BB F9 */ bl GKI_dequeue
+/* 802CE7DC 002CA43C 2C 03 00 00 */ cmpwi r3, 0
+/* 802CE7E0 002CA440 7C 7F 1B 78 */ mr r31, r3
+/* 802CE7E4 002CA444 41 82 00 48 */ beq lbl_802CE82C
+/* 802CE7E8 002CA448 A0 03 00 04 */ lhz r0, 4(r3)
+/* 802CE7EC 002CA44C 7C 63 02 14 */ add r3, r3, r0
+/* 802CE7F0 002CA450 88 03 00 09 */ lbz r0, 9(r3)
+/* 802CE7F4 002CA454 3B 63 00 0A */ addi r27, r3, 0xa
+/* 802CE7F8 002CA458 88 63 00 08 */ lbz r3, 8(r3)
+/* 802CE7FC 002CA45C 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE800 002CA460 7C 03 02 14 */ add r0, r3, r0
+/* 802CE804 002CA464 54 06 04 3E */ clrlwi r6, r0, 0x10
+/* 802CE808 002CA468 7C 06 E0 40 */ cmplw r6, r28
+/* 802CE80C 002CA46C 41 82 00 20 */ beq lbl_802CE82C
+/* 802CE810 002CA470 3C 60 00 07 */ lis r3, 0x00070001@ha
+/* 802CE814 002CA474 3C 80 80 44 */ lis r4, lbl_804422B8@ha
+/* 802CE818 002CA478 7F 85 E3 78 */ mr r5, r28
+/* 802CE81C 002CA47C 3B 60 00 00 */ li r27, 0
+/* 802CE820 002CA480 38 63 00 01 */ addi r3, r3, 0x00070001@l
+/* 802CE824 002CA484 38 84 22 B8 */ addi r4, r4, lbl_804422B8@l
+/* 802CE828 002CA488 4B FE E7 19 */ bl LogMsg_2
+lbl_802CE82C:
+/* 802CE82C 002CA48C 3F C0 80 57 */ lis r30, lbl_80568650@ha
+/* 802CE830 002CA490 3B DE 86 50 */ addi r30, r30, lbl_80568650@l
+/* 802CE834 002CA494 38 7E 00 70 */ addi r3, r30, 0x70
+/* 802CE838 002CA498 4B FE BD 21 */ bl GKI_queue_is_empty
+/* 802CE83C 002CA49C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CE840 002CA4A0 40 82 00 18 */ bne lbl_802CE858
+/* 802CE844 002CA4A4 38 7E 00 4C */ addi r3, r30, 0x4c
+/* 802CE848 002CA4A8 38 80 00 3C */ li r4, 0x3c
+/* 802CE84C 002CA4AC 38 A0 00 08 */ li r5, 8
+/* 802CE850 002CA4B0 4B FE EC 8D */ bl btu_start_timer
+/* 802CE854 002CA4B4 48 00 00 0C */ b lbl_802CE860
+lbl_802CE858:
+/* 802CE858 002CA4B8 38 7E 00 4C */ addi r3, r30, 0x4c
+/* 802CE85C 002CA4BC 4B FE EC F1 */ bl btu_stop_timer
+lbl_802CE860:
+/* 802CE860 002CA4C0 7F 83 E3 78 */ mr r3, r28
+/* 802CE864 002CA4C4 7F A4 EB 78 */ mr r4, r29
+/* 802CE868 002CA4C8 7F 65 DB 78 */ mr r5, r27
+/* 802CE86C 002CA4CC 4B FF FD 0D */ bl btu_hcif_hdl_command_status
+/* 802CE870 002CA4D0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802CE874 002CA4D4 41 82 00 0C */ beq lbl_802CE880
+/* 802CE878 002CA4D8 7F E3 FB 78 */ mr r3, r31
+/* 802CE87C 002CA4DC 4B FE B4 B9 */ bl GKI_freebuf
+lbl_802CE880:
+/* 802CE880 002CA4E0 38 60 00 00 */ li r3, 0
+/* 802CE884 002CA4E4 4B FF F5 B1 */ bl btu_hcif_send_cmd
+/* 802CE888 002CA4E8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802CE88C 002CA4EC 4B EF 88 E9 */ bl _restgpr_27
+/* 802CE890 002CA4F0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CE894 002CA4F4 7C 08 03 A6 */ mtlr r0
+/* 802CE898 002CA4F8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CE89C 002CA4FC 4E 80 00 20 */ blr
+
+.global btu_hcif_cmd_timeout
+btu_hcif_cmd_timeout:
+/* 802CE8A0 002CA500 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CE8A4 002CA504 7C 08 02 A6 */ mflr r0
+/* 802CE8A8 002CA508 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CE8AC 002CA50C 38 00 00 01 */ li r0, 1
+/* 802CE8B0 002CA510 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802CE8B4 002CA514 3F E0 80 57 */ lis r31, lbl_80568650@ha
+/* 802CE8B8 002CA518 3B FF 86 50 */ addi r31, r31, lbl_80568650@l
+/* 802CE8BC 002CA51C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802CE8C0 002CA520 38 7F 00 70 */ addi r3, r31, 0x70
+/* 802CE8C4 002CA524 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802CE8C8 002CA528 B0 1F 00 80 */ sth r0, 0x80(r31)
+/* 802CE8CC 002CA52C 4B FE BB 05 */ bl GKI_dequeue
+/* 802CE8D0 002CA530 2C 03 00 00 */ cmpwi r3, 0
+/* 802CE8D4 002CA534 7C 7E 1B 78 */ mr r30, r3
+/* 802CE8D8 002CA538 40 82 00 1C */ bne lbl_802CE8F4
+/* 802CE8DC 002CA53C 3C 60 00 07 */ lis r3, 0x00070001@ha
+/* 802CE8E0 002CA540 3C 80 80 44 */ lis r4, lbl_804422E0@ha
+/* 802CE8E4 002CA544 38 63 00 01 */ addi r3, r3, 0x00070001@l
+/* 802CE8E8 002CA548 38 84 22 E0 */ addi r4, r4, lbl_804422E0@l
+/* 802CE8EC 002CA54C 4B FE E6 25 */ bl LogMsg_0
+/* 802CE8F0 002CA550 48 00 00 EC */ b lbl_802CE9DC
+lbl_802CE8F4:
+/* 802CE8F4 002CA554 38 7F 00 70 */ addi r3, r31, 0x70
+/* 802CE8F8 002CA558 4B FE BC 61 */ bl GKI_queue_is_empty
+/* 802CE8FC 002CA55C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802CE900 002CA560 40 82 00 14 */ bne lbl_802CE914
+/* 802CE904 002CA564 38 7F 00 4C */ addi r3, r31, 0x4c
+/* 802CE908 002CA568 38 80 00 3C */ li r4, 0x3c
+/* 802CE90C 002CA56C 38 A0 00 08 */ li r5, 8
+/* 802CE910 002CA570 4B FE EB CD */ bl btu_start_timer
+lbl_802CE914:
+/* 802CE914 002CA574 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802CE918 002CA578 3C 60 00 07 */ lis r3, 0x00070001@ha
+/* 802CE91C 002CA57C 3C 80 80 44 */ lis r4, lbl_80442300@ha
+/* 802CE920 002CA580 7F FE 02 14 */ add r31, r30, r0
+/* 802CE924 002CA584 38 63 00 01 */ addi r3, r3, 0x00070001@l
+/* 802CE928 002CA588 88 1F 00 09 */ lbz r0, 9(r31)
+/* 802CE92C 002CA58C 38 84 23 00 */ addi r4, r4, lbl_80442300@l
+/* 802CE930 002CA590 88 BF 00 08 */ lbz r5, 8(r31)
+/* 802CE934 002CA594 54 00 40 2E */ slwi r0, r0, 8
+/* 802CE938 002CA598 7C 05 02 14 */ add r0, r5, r0
+/* 802CE93C 002CA59C 54 1D 04 3E */ clrlwi r29, r0, 0x10
+/* 802CE940 002CA5A0 7F A5 EB 78 */ mr r5, r29
+/* 802CE944 002CA5A4 4B FE E5 E5 */ bl LogMsg_1
+/* 802CE948 002CA5A8 2C 1D 04 19 */ cmpwi r29, 0x419
+/* 802CE94C 002CA5AC 41 82 00 4C */ beq lbl_802CE998
+/* 802CE950 002CA5B0 40 80 00 28 */ bge lbl_802CE978
+/* 802CE954 002CA5B4 2C 1D 04 01 */ cmpwi r29, 0x401
+/* 802CE958 002CA5B8 41 82 00 40 */ beq lbl_802CE998
+/* 802CE95C 002CA5BC 40 80 00 10 */ bge lbl_802CE96C
+/* 802CE960 002CA5C0 2C 1D 00 0D */ cmpwi r29, 0xd
+/* 802CE964 002CA5C4 41 82 00 34 */ beq lbl_802CE998
+/* 802CE968 002CA5C8 48 00 00 44 */ b lbl_802CE9AC
+lbl_802CE96C:
+/* 802CE96C 002CA5CC 2C 1D 04 05 */ cmpwi r29, 0x405
+/* 802CE970 002CA5D0 41 82 00 28 */ beq lbl_802CE998
+/* 802CE974 002CA5D4 48 00 00 38 */ b lbl_802CE9AC
+lbl_802CE978:
+/* 802CE978 002CA5D8 2C 1D 08 02 */ cmpwi r29, 0x802
+/* 802CE97C 002CA5DC 41 82 00 30 */ beq lbl_802CE9AC
+/* 802CE980 002CA5E0 40 80 00 10 */ bge lbl_802CE990
+/* 802CE984 002CA5E4 2C 1D 08 01 */ cmpwi r29, 0x801
+/* 802CE988 002CA5E8 40 80 00 10 */ bge lbl_802CE998
+/* 802CE98C 002CA5EC 48 00 00 20 */ b lbl_802CE9AC
+lbl_802CE990:
+/* 802CE990 002CA5F0 2C 1D 08 07 */ cmpwi r29, 0x807
+/* 802CE994 002CA5F4 40 80 00 18 */ bge lbl_802CE9AC
+lbl_802CE998:
+/* 802CE998 002CA5F8 7F A3 EB 78 */ mr r3, r29
+/* 802CE99C 002CA5FC 38 BF 00 0A */ addi r5, r31, 0xa
+/* 802CE9A0 002CA600 38 80 00 1F */ li r4, 0x1f
+/* 802CE9A4 002CA604 4B FF FB D5 */ bl btu_hcif_hdl_command_status
+/* 802CE9A8 002CA608 48 00 00 1C */ b lbl_802CE9C4
+lbl_802CE9AC:
+/* 802CE9AC 002CA60C 38 00 00 1F */ li r0, 0x1f
+/* 802CE9B0 002CA610 7F A3 EB 78 */ mr r3, r29
+/* 802CE9B4 002CA614 98 01 00 08 */ stb r0, 8(r1)
+/* 802CE9B8 002CA618 38 81 00 08 */ addi r4, r1, 8
+/* 802CE9BC 002CA61C 38 A0 00 01 */ li r5, 1
+/* 802CE9C0 002CA620 4B FF F9 49 */ bl btu_hcif_hdl_command_complete
+lbl_802CE9C4:
+/* 802CE9C4 002CA624 7F C3 F3 78 */ mr r3, r30
+/* 802CE9C8 002CA628 4B FE B3 6D */ bl GKI_freebuf
+/* 802CE9CC 002CA62C 38 60 00 02 */ li r3, 2
+/* 802CE9D0 002CA630 4B FF 87 D5 */ bl btm_report_device_status
+/* 802CE9D4 002CA634 38 60 00 00 */ li r3, 0
+/* 802CE9D8 002CA638 4B FF F4 5D */ bl btu_hcif_send_cmd
+lbl_802CE9DC:
+/* 802CE9DC 002CA63C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CE9E0 002CA640 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802CE9E4 002CA644 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802CE9E8 002CA648 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802CE9EC 002CA64C 7C 08 03 A6 */ mtlr r0
+/* 802CE9F0 002CA650 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CE9F4 002CA654 4E 80 00 20 */ blr
+
+.global btu_hcif_link_key_notification_evt
+btu_hcif_link_key_notification_evt:
+/* 802CE9F8 002CA658 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802CE9FC 002CA65C 7C 08 02 A6 */ mflr r0
+/* 802CEA00 002CA660 38 A3 00 16 */ addi r5, r3, 0x16
+/* 802CEA04 002CA664 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802CEA08 002CA668 38 81 00 10 */ addi r4, r1, 0x10
+/* 802CEA0C 002CA66C 88 03 00 00 */ lbz r0, 0(r3)
+/* 802CEA10 002CA670 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802CEA14 002CA674 88 03 00 01 */ lbz r0, 1(r3)
+/* 802CEA18 002CA678 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802CEA1C 002CA67C 88 03 00 02 */ lbz r0, 2(r3)
+/* 802CEA20 002CA680 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802CEA24 002CA684 88 03 00 03 */ lbz r0, 3(r3)
+/* 802CEA28 002CA688 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802CEA2C 002CA68C 88 03 00 04 */ lbz r0, 4(r3)
+/* 802CEA30 002CA690 98 01 00 09 */ stb r0, 9(r1)
+/* 802CEA34 002CA694 88 03 00 05 */ lbz r0, 5(r3)
+/* 802CEA38 002CA698 98 01 00 08 */ stb r0, 8(r1)
+/* 802CEA3C 002CA69C 88 03 00 06 */ lbz r0, 6(r3)
+/* 802CEA40 002CA6A0 98 01 00 1F */ stb r0, 0x1f(r1)
+/* 802CEA44 002CA6A4 88 03 00 07 */ lbz r0, 7(r3)
+/* 802CEA48 002CA6A8 98 01 00 1E */ stb r0, 0x1e(r1)
+/* 802CEA4C 002CA6AC 88 03 00 08 */ lbz r0, 8(r3)
+/* 802CEA50 002CA6B0 98 01 00 1D */ stb r0, 0x1d(r1)
+/* 802CEA54 002CA6B4 88 03 00 09 */ lbz r0, 9(r3)
+/* 802CEA58 002CA6B8 98 01 00 1C */ stb r0, 0x1c(r1)
+/* 802CEA5C 002CA6BC 88 03 00 0A */ lbz r0, 0xa(r3)
+/* 802CEA60 002CA6C0 98 01 00 1B */ stb r0, 0x1b(r1)
+/* 802CEA64 002CA6C4 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 802CEA68 002CA6C8 98 01 00 1A */ stb r0, 0x1a(r1)
+/* 802CEA6C 002CA6CC 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 802CEA70 002CA6D0 98 01 00 19 */ stb r0, 0x19(r1)
+/* 802CEA74 002CA6D4 88 03 00 0D */ lbz r0, 0xd(r3)
+/* 802CEA78 002CA6D8 98 01 00 18 */ stb r0, 0x18(r1)
+/* 802CEA7C 002CA6DC 88 03 00 0E */ lbz r0, 0xe(r3)
+/* 802CEA80 002CA6E0 98 01 00 17 */ stb r0, 0x17(r1)
+/* 802CEA84 002CA6E4 88 03 00 0F */ lbz r0, 0xf(r3)
+/* 802CEA88 002CA6E8 98 01 00 16 */ stb r0, 0x16(r1)
+/* 802CEA8C 002CA6EC 88 03 00 10 */ lbz r0, 0x10(r3)
+/* 802CEA90 002CA6F0 98 01 00 15 */ stb r0, 0x15(r1)
+/* 802CEA94 002CA6F4 88 03 00 11 */ lbz r0, 0x11(r3)
+/* 802CEA98 002CA6F8 98 01 00 14 */ stb r0, 0x14(r1)
+/* 802CEA9C 002CA6FC 88 03 00 12 */ lbz r0, 0x12(r3)
+/* 802CEAA0 002CA700 98 01 00 13 */ stb r0, 0x13(r1)
+/* 802CEAA4 002CA704 88 03 00 13 */ lbz r0, 0x13(r3)
+/* 802CEAA8 002CA708 98 01 00 12 */ stb r0, 0x12(r1)
+/* 802CEAAC 002CA70C 88 03 00 14 */ lbz r0, 0x14(r3)
+/* 802CEAB0 002CA710 98 01 00 11 */ stb r0, 0x11(r1)
+/* 802CEAB4 002CA714 88 03 00 15 */ lbz r0, 0x15(r3)
+/* 802CEAB8 002CA718 38 61 00 08 */ addi r3, r1, 8
+/* 802CEABC 002CA71C 98 01 00 10 */ stb r0, 0x10(r1)
+/* 802CEAC0 002CA720 88 A5 00 00 */ lbz r5, 0(r5)
+/* 802CEAC4 002CA724 4B FF E0 AD */ bl btm_sec_link_key_notification
+/* 802CEAC8 002CA728 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802CEACC 002CA72C 7C 08 03 A6 */ mtlr r0
+/* 802CEAD0 002CA730 38 21 00 20 */ addi r1, r1, 0x20
+/* 802CEAD4 002CA734 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btu_init.s b/asm/SDK/BTE/btu_init.s new file mode 100644 index 0000000..56c3aaf --- /dev/null +++ b/asm/SDK/BTE/btu_init.s @@ -0,0 +1,39 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global btu_init_core
+btu_init_core:
+/* 802CEAD8 002CA738 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CEADC 002CA73C 7C 08 02 A6 */ mflr r0
+/* 802CEAE0 002CA740 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CEAE4 002CA744 4B FF A2 AD */ bl btm_init
+/* 802CEAE8 002CA748 48 00 9F 7D */ bl func_802D8A64
+/* 802CEAEC 002CA74C 48 01 60 A9 */ bl func_802E4B94
+/* 802CEAF0 002CA750 4B FF 86 D5 */ bl btm_discovery_db_init
+/* 802CEAF4 002CA754 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CEAF8 002CA758 7C 08 03 A6 */ mtlr r0
+/* 802CEAFC 002CA75C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CEB00 002CA760 4E 80 00 20 */ blr
+
+.global BTE_Init
+BTE_Init:
+/* 802CEB04 002CA764 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CEB08 002CA768 7C 08 02 A6 */ mflr r0
+/* 802CEB0C 002CA76C 38 80 00 00 */ li r4, 0
+/* 802CEB10 002CA770 38 A0 00 84 */ li r5, 0x84
+/* 802CEB14 002CA774 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CEB18 002CA778 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CEB1C 002CA77C 3F E0 80 57 */ lis r31, lbl_80568650@ha
+/* 802CEB20 002CA780 38 7F 86 50 */ addi r3, r31, lbl_80568650@l
+/* 802CEB24 002CA784 4B D3 55 E1 */ bl memset
+/* 802CEB28 002CA788 38 7F 86 50 */ addi r3, r31, -31152
+/* 802CEB2C 002CA78C 38 80 02 A4 */ li r4, 0x2a4
+/* 802CEB30 002CA790 38 00 00 01 */ li r0, 1
+/* 802CEB34 002CA794 B0 83 00 7E */ sth r4, 0x7e(r3)
+/* 802CEB38 002CA798 B0 03 00 80 */ sth r0, 0x80(r3)
+/* 802CEB3C 002CA79C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CEB40 002CA7A0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CEB44 002CA7A4 7C 08 03 A6 */ mtlr r0
+/* 802CEB48 002CA7A8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CEB4C 002CA7AC 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btu_task1.s b/asm/SDK/BTE/btu_task1.s index 910f253..3ff60c4 100644 --- a/asm/SDK/BTE/btu_task1.s +++ b/asm/SDK/BTE/btu_task1.s @@ -13,7 +13,7 @@ btu_task_init: /* 802BD128 002B8D88 90 6D 8A 2C */ stw r3, lbl_8063DCEC-_SDA_BASE_(r13)
/* 802BD12C 002B8D8C 90 0D AE F0 */ stw r0, lbl_806401B0-_SDA_BASE_(r13)
/* 802BD130 002B8D90 90 0D AE F4 */ stw r0, lbl_806401B4-_SDA_BASE_(r13)
-/* 802BD134 002B8D94 48 01 19 A5 */ bl func_802CEAD8
+/* 802BD134 002B8D94 48 01 19 A5 */ bl btu_init_core
/* 802BD138 002B8D98 4B FF FC F1 */ bl BTE_InitStack
/* 802BD13C 002B8D9C 48 00 07 4D */ bl bta_sys_init
/* 802BD140 002B8DA0 80 01 00 14 */ lwz r0, 0x14(r1)
@@ -97,17 +97,17 @@ lbl_802BD244: /* 802BD24C 002B8EAC 48 00 00 98 */ b lbl_802BD2E4
lbl_802BD250:
/* 802BD250 002B8EB0 7F 63 DB 78 */ mr r3, r27
-/* 802BD254 002B8EB4 48 00 D2 5D */ bl func_802CA4B0
+/* 802BD254 002B8EB4 48 00 D2 5D */ bl btm_route_sco_data
/* 802BD258 002B8EB8 48 00 00 8C */ b lbl_802BD2E4
lbl_802BD25C:
/* 802BD25C 002B8EBC 7F 63 DB 78 */ mr r3, r27
-/* 802BD260 002B8EC0 48 01 06 1D */ bl func_802CD87C
+/* 802BD260 002B8EC0 48 01 06 1D */ bl btu_hcif_process_event
/* 802BD264 002B8EC4 7F 63 DB 78 */ mr r3, r27
/* 802BD268 002B8EC8 4B FF CA CD */ bl GKI_freebuf
/* 802BD26C 002B8ECC 48 00 00 78 */ b lbl_802BD2E4
lbl_802BD270:
/* 802BD270 002B8ED0 7F 63 DB 78 */ mr r3, r27
-/* 802BD274 002B8ED4 48 01 0B C1 */ bl func_802CDE34
+/* 802BD274 002B8ED4 48 01 0B C1 */ bl btu_hcif_send_cmd
/* 802BD278 002B8ED8 48 00 00 6C */ b lbl_802BD2E4
lbl_802BD27C:
/* 802BD27C 002B8EDC 3B 40 00 00 */ li r26, 0
@@ -217,7 +217,7 @@ lbl_802BD3D4: /* 802BD3D8 002B9038 48 02 46 FD */ bl func_802E1AD4
/* 802BD3DC 002B903C 48 00 00 80 */ b lbl_802BD45C
lbl_802BD3E0:
-/* 802BD3E0 002B9040 48 01 14 C1 */ bl func_802CE8A0
+/* 802BD3E0 002B9040 48 01 14 C1 */ bl btu_hcif_cmd_timeout
/* 802BD3E4 002B9044 48 00 00 78 */ b lbl_802BD45C
lbl_802BD3E8:
/* 802BD3E8 002B9048 7F 83 E3 78 */ mr r3, r28
diff --git a/asm/SDK/BTE/gap_api.s b/asm/SDK/BTE/gap_api.s new file mode 100644 index 0000000..b8b55c7 --- /dev/null +++ b/asm/SDK/BTE/gap_api.s @@ -0,0 +1,30 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global GAP_Init
+GAP_Init:
+/* 802CEC30 002CA890 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802CEC34 002CA894 7C 08 02 A6 */ mflr r0
+/* 802CEC38 002CA898 38 80 00 00 */ li r4, 0
+/* 802CEC3C 002CA89C 38 A0 03 AC */ li r5, 0x3ac
+/* 802CEC40 002CA8A0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802CEC44 002CA8A4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802CEC48 002CA8A8 3F E0 80 57 */ lis r31, lbl_8056B340@ha
+/* 802CEC4C 002CA8AC 38 7F B3 40 */ addi r3, r31, lbl_8056B340@l
+/* 802CEC50 002CA8B0 4B D3 54 B5 */ bl memset
+/* 802CEC54 002CA8B4 3C A0 80 2D */ lis r5, lbl_802CF9A4@ha
+/* 802CEC58 002CA8B8 3C 60 80 2D */ lis r3, lbl_802CF9B0@ha
+/* 802CEC5C 002CA8BC 38 A5 F9 A4 */ addi r5, r5, lbl_802CF9A4@l
+/* 802CEC60 002CA8C0 38 9F B3 40 */ addi r4, r31, -19648
+/* 802CEC64 002CA8C4 38 63 F9 B0 */ addi r3, r3, lbl_802CF9B0@l
+/* 802CEC68 002CA8C8 38 00 00 05 */ li r0, 5
+/* 802CEC6C 002CA8CC 90 A4 00 20 */ stw r5, 0x20(r4)
+/* 802CEC70 002CA8D0 90 64 00 24 */ stw r3, 0x24(r4)
+/* 802CEC74 002CA8D4 98 04 00 28 */ stb r0, 0x28(r4)
+/* 802CEC78 002CA8D8 48 00 00 19 */ bl func_802CEC90
+/* 802CEC7C 002CA8DC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802CEC80 002CA8E0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802CEC84 002CA8E4 7C 08 03 A6 */ mtlr r0
+/* 802CEC88 002CA8E8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802CEC8C 002CA8EC 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/wbt_ext.s b/asm/SDK/BTE/wbt_ext.s new file mode 100644 index 0000000..0278e2a --- /dev/null +++ b/asm/SDK/BTE/wbt_ext.s @@ -0,0 +1,64 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global WBT_ExtCreateRecord
+WBT_ExtCreateRecord:
+/* 802CEB50 002CA7B0 94 21 FE E0 */ stwu r1, -0x120(r1)
+/* 802CEB54 002CA7B4 7C 08 02 A6 */ mflr r0
+/* 802CEB58 002CA7B8 90 01 01 24 */ stw r0, 0x124(r1)
+/* 802CEB5C 002CA7BC 38 00 10 02 */ li r0, 0x1002
+/* 802CEB60 002CA7C0 38 61 00 14 */ addi r3, r1, 0x14
+/* 802CEB64 002CA7C4 38 81 00 10 */ addi r4, r1, 0x10
+/* 802CEB68 002CA7C8 93 E1 01 1C */ stw r31, 0x11c(r1)
+/* 802CEB6C 002CA7CC 3B E0 00 00 */ li r31, 0
+/* 802CEB70 002CA7D0 93 C1 01 18 */ stw r30, 0x118(r1)
+/* 802CEB74 002CA7D4 93 E1 00 10 */ stw r31, 0x10(r1)
+/* 802CEB78 002CA7D8 B0 01 00 08 */ sth r0, 8(r1)
+/* 802CEB7C 002CA7DC 48 01 3C 01 */ bl func_802E277C
+/* 802CEB80 002CA7E0 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802CEB84 002CA7E4 41 82 00 4C */ beq lbl_802CEBD0
+/* 802CEB88 002CA7E8 3B C1 00 16 */ addi r30, r1, 0x16
+/* 802CEB8C 002CA7EC 38 80 00 00 */ li r4, 0
+/* 802CEB90 002CA7F0 7F C3 F3 78 */ mr r3, r30
+/* 802CEB94 002CA7F4 38 A0 00 FA */ li r5, 0xfa
+/* 802CEB98 002CA7F8 4B D3 55 6D */ bl memset
+/* 802CEB9C 002CA7FC 38 00 00 01 */ li r0, 1
+/* 802CEBA0 002CA800 38 60 00 0F */ li r3, 0xf
+/* 802CEBA4 002CA804 B0 61 00 16 */ sth r3, 0x16(r1)
+/* 802CEBA8 002CA808 7F C3 F3 78 */ mr r3, r30
+/* 802CEBAC 002CA80C 38 81 00 10 */ addi r4, r1, 0x10
+/* 802CEBB0 002CA810 B0 01 00 18 */ sth r0, 0x18(r1)
+/* 802CEBB4 002CA814 98 01 00 1E */ stb r0, 0x1e(r1)
+/* 802CEBB8 002CA818 48 01 38 65 */ bl func_802E241C
+/* 802CEBBC 002CA81C 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802CEBC0 002CA820 41 82 00 10 */ beq lbl_802CEBD0
+/* 802CEBC4 002CA824 93 E1 00 10 */ stw r31, 0x10(r1)
+/* 802CEBC8 002CA828 38 60 00 00 */ li r3, 0
+/* 802CEBCC 002CA82C 48 00 00 4C */ b lbl_802CEC18
+lbl_802CEBD0:
+/* 802CEBD0 002CA830 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 802CEBD4 002CA834 38 C1 00 08 */ addi r6, r1, 8
+/* 802CEBD8 002CA838 38 80 00 05 */ li r4, 5
+/* 802CEBDC 002CA83C 38 A0 00 01 */ li r5, 1
+/* 802CEBE0 002CA840 48 01 48 AD */ bl func_802E348C
+/* 802CEBE4 002CA844 38 00 00 00 */ li r0, 0
+/* 802CEBE8 002CA848 38 80 00 01 */ li r4, 1
+/* 802CEBEC 002CA84C 3C 60 00 01 */ lis r3, 0x00008001@ha
+/* 802CEBF0 002CA850 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802CEBF4 002CA854 38 03 80 01 */ addi r0, r3, 0x00008001@l
+/* 802CEBF8 002CA858 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 802CEBFC 002CA85C 98 81 00 0D */ stb r4, 0xd(r1)
+/* 802CEC00 002CA860 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802CEC04 002CA864 38 E1 00 0C */ addi r7, r1, 0xc
+/* 802CEC08 002CA868 38 A0 00 01 */ li r5, 1
+/* 802CEC0C 002CA86C 38 C0 00 02 */ li r6, 2
+/* 802CEC10 002CA870 48 01 44 E5 */ bl func_802E30F4
+/* 802CEC14 002CA874 38 60 00 01 */ li r3, 1
+lbl_802CEC18:
+/* 802CEC18 002CA878 80 01 01 24 */ lwz r0, 0x124(r1)
+/* 802CEC1C 002CA87C 83 E1 01 1C */ lwz r31, 0x11c(r1)
+/* 802CEC20 002CA880 83 C1 01 18 */ lwz r30, 0x118(r1)
+/* 802CEC24 002CA884 7C 08 03 A6 */ mtlr r0
+/* 802CEC28 002CA888 38 21 01 20 */ addi r1, r1, 0x120
+/* 802CEC2C 002CA88C 4E 80 00 20 */ blr
diff --git a/asm/SDK/WUD/WUD.s b/asm/SDK/WUD/WUD.s index f61d79c..1eb7afe 100644 --- a/asm/SDK/WUD/WUD.s +++ b/asm/SDK/WUD/WUD.s @@ -213,7 +213,7 @@ lbl_802B4F68: /* 802B4F9C 002B0BFC B0 C1 00 0A */ sth r6, 0xa(r1)
/* 802B4FA0 002B0C00 B0 01 00 0C */ sth r0, 0xc(r1)
/* 802B4FA4 002B0C04 B0 C1 00 0E */ sth r6, 0xe(r1)
-/* 802B4FA8 002B0C08 48 01 3F 01 */ bl func_802C8EA8
+/* 802B4FA8 002B0C08 48 01 3F 01 */ bl BTM_SetPowerMode
/* 802B4FAC 002B0C0C 38 60 00 01 */ li r3, 1
/* 802B4FB0 002B0C10 48 00 00 2C */ b lbl_802B4FDC
lbl_802B4FB4:
@@ -360,7 +360,7 @@ lbl_802B5168: /* 802B51A4 002B0E04 B0 E1 00 0A */ sth r7, 0xa(r1)
/* 802B51A8 002B0E08 B0 C1 00 0C */ sth r6, 0xc(r1)
/* 802B51AC 002B0E0C B0 01 00 0E */ sth r0, 0xe(r1)
-/* 802B51B0 002B0E10 48 01 3C F9 */ bl func_802C8EA8
+/* 802B51B0 002B0E10 48 01 3C F9 */ bl BTM_SetPowerMode
/* 802B51B4 002B0E14 38 60 00 0E */ li r3, 0xe
/* 802B51B8 002B0E18 48 00 00 8C */ b lbl_802B5244
lbl_802B51BC:
@@ -2136,7 +2136,7 @@ lbl_802B6A48: /* 802B6A60 002B26C0 7D 04 43 78 */ mr r4, r8
/* 802B6A64 002B26C4 B0 C1 00 0C */ sth r6, 0xc(r1)
/* 802B6A68 002B26C8 B0 01 00 0E */ sth r0, 0xe(r1)
-/* 802B6A6C 002B26CC 48 01 24 3D */ bl func_802C8EA8
+/* 802B6A6C 002B26CC 48 01 24 3D */ bl BTM_SetPowerMode
/* 802B6A70 002B26D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B6A74 002B26D4 7C 08 03 A6 */ mtlr r0
/* 802B6A78 002B26D8 38 21 00 20 */ addi r1, r1, 0x20
@@ -2841,7 +2841,7 @@ WUDiInitSub: /* 802B7448 002B30A8 38 9D 07 0A */ addi r4, r29, 0x70a
/* 802B744C 002B30AC 38 A5 8D F4 */ addi r5, r5, WUDPowerManagerCallback@l
/* 802B7450 002B30B0 38 60 00 03 */ li r3, 3
-/* 802B7454 002B30B4 48 01 19 99 */ bl func_802C8DEC
+/* 802B7454 002B30B4 48 01 19 99 */ bl BTM_PmRegister
/* 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
|