summaryrefslogtreecommitdiff
path: root/asm/SDK
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-10-05 20:33:44 -0400
committerMax <mparisi@stevens.edu>2020-10-05 20:33:44 -0400
commit4ee1efe2cb3fe6ab8e6518fbc8f1c82e36b61c75 (patch)
tree0504bc896da6a29babbb288978a40bda77a2ca40 /asm/SDK
parent3fe6878bb224fc78634e4381f264aeaf1aa9fd0e (diff)
split more of BTE
Diffstat (limited to 'asm/SDK')
-rw-r--r--asm/SDK/BTE/bd.s68
-rw-r--r--asm/SDK/BTE/bta_dm_api.s2524
-rw-r--r--asm/SDK/BTE/bta_sys_conn.s182
-rw-r--r--asm/SDK/BTE/bta_sys_main.s183
-rw-r--r--asm/SDK/BTE/bte_hcisu.s64
-rw-r--r--asm/SDK/BTE/bte_init.s17
-rw-r--r--asm/SDK/BTE/bte_logmsg.s116
-rw-r--r--asm/SDK/BTE/bte_main.s105
-rw-r--r--asm/SDK/BTE/btu_task1.s336
-rw-r--r--asm/SDK/BTE/hcisu_h2.s22
-rw-r--r--asm/SDK/BTE/ptim.s142
-rw-r--r--asm/SDK/BTE/utl.s24
-rw-r--r--asm/SDK/BTE/uusb_ppc.s1494
-rw-r--r--asm/SDK/WUD/WUD.s6
14 files changed, 5269 insertions, 14 deletions
diff --git a/asm/SDK/BTE/bd.s b/asm/SDK/BTE/bd.s
new file mode 100644
index 0000000..54fa1b2
--- /dev/null
+++ b/asm/SDK/BTE/bd.s
@@ -0,0 +1,68 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global bdcpy
+bdcpy:
+/* 802BD560 002B91C0 89 24 00 00 */ lbz r9, 0(r4)
+/* 802BD564 002B91C4 89 04 00 01 */ lbz r8, 1(r4)
+/* 802BD568 002B91C8 88 E4 00 02 */ lbz r7, 2(r4)
+/* 802BD56C 002B91CC 88 C4 00 03 */ lbz r6, 3(r4)
+/* 802BD570 002B91D0 88 A4 00 04 */ lbz r5, 4(r4)
+/* 802BD574 002B91D4 88 04 00 05 */ lbz r0, 5(r4)
+/* 802BD578 002B91D8 99 23 00 00 */ stb r9, 0(r3)
+/* 802BD57C 002B91DC 99 03 00 01 */ stb r8, 1(r3)
+/* 802BD580 002B91E0 98 E3 00 02 */ stb r7, 2(r3)
+/* 802BD584 002B91E4 98 C3 00 03 */ stb r6, 3(r3)
+/* 802BD588 002B91E8 98 A3 00 04 */ stb r5, 4(r3)
+/* 802BD58C 002B91EC 98 03 00 05 */ stb r0, 5(r3)
+/* 802BD590 002B91F0 4E 80 00 20 */ blr
+
+.global bdcmp
+bdcmp:
+/* 802BD594 002B91F4 88 A3 00 00 */ lbz r5, 0(r3)
+/* 802BD598 002B91F8 88 04 00 00 */ lbz r0, 0(r4)
+/* 802BD59C 002B91FC 7C 05 00 40 */ cmplw r5, r0
+/* 802BD5A0 002B9200 41 82 00 0C */ beq lbl_802BD5AC
+/* 802BD5A4 002B9204 38 60 FF FF */ li r3, -1
+/* 802BD5A8 002B9208 4E 80 00 20 */ blr
+lbl_802BD5AC:
+/* 802BD5AC 002B920C 88 A3 00 01 */ lbz r5, 1(r3)
+/* 802BD5B0 002B9210 38 C3 00 02 */ addi r6, r3, 2
+/* 802BD5B4 002B9214 88 04 00 01 */ lbz r0, 1(r4)
+/* 802BD5B8 002B9218 38 64 00 02 */ addi r3, r4, 2
+/* 802BD5BC 002B921C 7C 05 00 40 */ cmplw r5, r0
+/* 802BD5C0 002B9220 41 82 00 0C */ beq lbl_802BD5CC
+/* 802BD5C4 002B9224 38 60 FF FF */ li r3, -1
+/* 802BD5C8 002B9228 4E 80 00 20 */ blr
+lbl_802BD5CC:
+/* 802BD5CC 002B922C 88 A6 00 00 */ lbz r5, 0(r6)
+/* 802BD5D0 002B9230 88 03 00 00 */ lbz r0, 0(r3)
+/* 802BD5D4 002B9234 7C 05 00 40 */ cmplw r5, r0
+/* 802BD5D8 002B9238 41 82 00 0C */ beq lbl_802BD5E4
+/* 802BD5DC 002B923C 38 60 FF FF */ li r3, -1
+/* 802BD5E0 002B9240 4E 80 00 20 */ blr
+lbl_802BD5E4:
+/* 802BD5E4 002B9244 88 A6 00 01 */ lbz r5, 1(r6)
+/* 802BD5E8 002B9248 88 03 00 01 */ lbz r0, 1(r3)
+/* 802BD5EC 002B924C 7C 05 00 40 */ cmplw r5, r0
+/* 802BD5F0 002B9250 41 82 00 0C */ beq lbl_802BD5FC
+/* 802BD5F4 002B9254 38 60 FF FF */ li r3, -1
+/* 802BD5F8 002B9258 4E 80 00 20 */ blr
+lbl_802BD5FC:
+/* 802BD5FC 002B925C 88 A6 00 02 */ lbz r5, 2(r6)
+/* 802BD600 002B9260 88 03 00 02 */ lbz r0, 2(r3)
+/* 802BD604 002B9264 7C 05 00 40 */ cmplw r5, r0
+/* 802BD608 002B9268 41 82 00 0C */ beq lbl_802BD614
+/* 802BD60C 002B926C 38 60 FF FF */ li r3, -1
+/* 802BD610 002B9270 4E 80 00 20 */ blr
+lbl_802BD614:
+/* 802BD614 002B9274 88 A6 00 03 */ lbz r5, 3(r6)
+/* 802BD618 002B9278 88 03 00 03 */ lbz r0, 3(r3)
+/* 802BD61C 002B927C 7C 05 00 40 */ cmplw r5, r0
+/* 802BD620 002B9280 41 82 00 0C */ beq lbl_802BD62C
+/* 802BD624 002B9284 38 60 FF FF */ li r3, -1
+/* 802BD628 002B9288 4E 80 00 20 */ blr
+lbl_802BD62C:
+/* 802BD62C 002B928C 38 60 00 00 */ li r3, 0
+/* 802BD630 002B9290 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/bta_dm_api.s b/asm/SDK/BTE/bta_dm_api.s
new file mode 100644
index 0000000..0eb533b
--- /dev/null
+++ b/asm/SDK/BTE/bta_dm_api.s
@@ -0,0 +1,2524 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+bta_dm_enable:
+/* 802BDCF0 002B9950 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BDCF4 002B9954 7C 08 02 A6 */ mflr r0
+/* 802BDCF8 002B9958 3C 80 80 57 */ lis r4, lbl_80568798@ha
+/* 802BDCFC 002B995C 38 A0 00 7C */ li r5, 0x7c
+/* 802BDD00 002B9960 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BDD04 002B9964 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BDD08 002B9968 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BDD0C 002B996C 7C 7E 1B 78 */ mr r30, r3
+/* 802BDD10 002B9970 38 64 87 98 */ addi r3, r4, lbl_80568798@l
+/* 802BDD14 002B9974 38 80 00 00 */ li r4, 0
+/* 802BDD18 002B9978 4B D4 63 ED */ bl memset
+/* 802BDD1C 002B997C 3C 60 80 57 */ lis r3, lbl_80568918@ha
+/* 802BDD20 002B9980 38 80 00 00 */ li r4, 0
+/* 802BDD24 002B9984 38 63 89 18 */ addi r3, r3, lbl_80568918@l
+/* 802BDD28 002B9988 38 A0 00 2E */ li r5, 0x2e
+/* 802BDD2C 002B998C 4B D4 63 D9 */ bl memset
+/* 802BDD30 002B9990 3F E0 80 40 */ lis r31, lbl_803FDAC0@ha
+/* 802BDD34 002B9994 38 61 00 08 */ addi r3, r1, 8
+/* 802BDD38 002B9998 38 9F DA C0 */ addi r4, r31, lbl_803FDAC0@l
+/* 802BDD3C 002B999C 38 A0 00 03 */ li r5, 3
+/* 802BDD40 002B99A0 4B D4 62 C1 */ bl memcpy
+/* 802BDD44 002B99A4 38 61 00 08 */ addi r3, r1, 8
+/* 802BDD48 002B99A8 48 00 8B 89 */ bl func_802C68D0
+/* 802BDD4C 002B99AC 3C 80 80 57 */ lis r4, lbl_80568814@ha
+/* 802BDD50 002B99B0 80 1E 00 08 */ lwz r0, 8(r30)
+/* 802BDD54 002B99B4 38 84 88 14 */ addi r4, r4, lbl_80568814@l
+/* 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
+/* 802BDD68 002B99C8 3B FF DA C0 */ addi r31, r31, -9536
+/* 802BDD6C 002B99CC A0 7F 00 08 */ lhz r3, 8(r31)
+/* 802BDD70 002B99D0 48 00 64 E1 */ bl func_802C4250
+/* 802BDD74 002B99D4 A0 7F 00 06 */ lhz r3, 6(r31)
+/* 802BDD78 002B99D8 48 00 8E 49 */ bl func_802C6BC0
+/* 802BDD7C 002B99DC A0 7F 00 04 */ lhz r3, 4(r31)
+/* 802BDD80 002B99E0 48 00 61 05 */ bl func_802C3E84
+/* 802BDD84 002B99E4 3C 60 80 2C */ lis r3, bta_dm_acl_change_cback@ha
+/* 802BDD88 002B99E8 38 63 F7 30 */ addi r3, r3, bta_dm_acl_change_cback@l
+/* 802BDD8C 002B99EC 48 00 6B 41 */ bl func_802C48CC
+/* 802BDD90 002B99F0 3C 60 80 2C */ lis r3, bta_dm_local_addr_cback@ha
+/* 802BDD94 002B99F4 38 63 F5 D8 */ addi r3, r3, bta_dm_local_addr_cback@l
+/* 802BDD98 002B99F8 48 00 8A 65 */ bl func_802C67FC
+/* 802BDD9C 002B99FC 3C 60 80 2C */ lis r3, bta_dm_rm_cback@ha
+/* 802BDDA0 002B9A00 38 63 FE 30 */ addi r3, r3, bta_dm_rm_cback@l
+/* 802BDDA4 002B9A04 4B FF F8 91 */ bl bta_sys_rm_register
+/* 802BDDA8 002B9A08 3F E0 80 2C */ lis r31, bta_dm_compress_cback@ha
+/* 802BDDAC 002B9A0C 38 7F FB F8 */ addi r3, r31, bta_dm_compress_cback@l
+/* 802BDDB0 002B9A10 4B FF F8 95 */ bl bta_sys_compress_register
+/* 802BDDB4 002B9A14 48 00 28 45 */ bl func_802C05F8
+/* 802BDDB8 002B9A18 3C 60 80 57 */ lis r3, lbl_80568768@ha
+/* 802BDDBC 002B9A1C 38 80 00 00 */ li r4, 0
+/* 802BDDC0 002B9A20 38 63 87 68 */ addi r3, r3, lbl_80568768@l
+/* 802BDDC4 002B9A24 38 A0 00 2D */ li r5, 0x2d
+/* 802BDDC8 002B9A28 4B D4 63 3D */ bl memset
+/* 802BDDCC 002B9A2C 38 7F FB F8 */ addi r3, r31, -1032
+/* 802BDDD0 002B9A30 4B FF F8 75 */ bl bta_sys_compress_register
+/* 802BDDD4 002B9A34 3C 60 80 2C */ lis r3, bta_dm_l2cap_server_compress_cback@ha
+/* 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
+/* 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)
+/* 802BDDF4 002B9A54 7C 08 03 A6 */ mtlr r0
+/* 802BDDF8 002B9A58 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BDDFC 002B9A5C 4E 80 00 20 */ blr
+
+bta_dm_disable:
+/* 802BDE00 002B9A60 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BDE04 002B9A64 7C 08 02 A6 */ mflr r0
+/* 802BDE08 002B9A68 38 62 A4 88 */ addi r3, r2, lbl_80642A88-_SDA2_BASE_
+/* 802BDE0C 002B9A6C 38 80 00 00 */ li r4, 0
+/* 802BDE10 002B9A70 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BDE14 002B9A74 48 01 84 C9 */ bl func_802D62DC
+/* 802BDE18 002B9A78 4B FF FC 45 */ bl bta_sys_disable
+/* 802BDE1C 002B9A7C 38 60 00 00 */ li r3, 0
+/* 802BDE20 002B9A80 38 80 00 00 */ li r4, 0
+/* 802BDE24 002B9A84 38 A0 00 00 */ li r5, 0
+/* 802BDE28 002B9A88 48 00 94 D1 */ bl func_802C72F8
+/* 802BDE2C 002B9A8C 38 60 00 00 */ li r3, 0
+/* 802BDE30 002B9A90 38 80 00 00 */ li r4, 0
+/* 802BDE34 002B9A94 38 A0 00 00 */ li r5, 0
+/* 802BDE38 002B9A98 48 00 99 3D */ bl func_802C7774
+/* 802BDE3C 002B9A9C 48 00 28 25 */ bl func_802C0660
+/* 802BDE40 002B9AA0 48 00 64 F9 */ bl func_802C4338
+/* 802BDE44 002B9AA4 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802BDE48 002B9AA8 40 82 00 2C */ bne lbl_802BDE74
+/* 802BDE4C 002B9AAC 3C C0 80 2C */ lis r6, bta_dm_disable_conn_down_timer_cback@ha
+/* 802BDE50 002B9AB0 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BDE54 002B9AB4 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BDE58 002B9AB8 38 80 00 00 */ li r4, 0
+/* 802BDE5C 002B9ABC 38 C6 FA 20 */ addi r6, r6, bta_dm_disable_conn_down_timer_cback@l
+/* 802BDE60 002B9AC0 38 A0 03 E8 */ li r5, 0x3e8
+/* 802BDE64 002B9AC4 90 C3 00 7C */ stw r6, 0x7c(r3)
+/* 802BDE68 002B9AC8 38 63 00 74 */ addi r3, r3, 0x74
+/* 802BDE6C 002B9ACC 4B FF FB BD */ bl bta_sys_start_timer
+/* 802BDE70 002B9AD0 48 00 00 30 */ b lbl_802BDEA0
+lbl_802BDE74:
+/* 802BDE74 002B9AD4 3C C0 80 57 */ lis r6, lbl_80568814@ha
+/* 802BDE78 002B9AD8 3C A0 80 2C */ lis r5, bta_dm_disable_timer_cback@ha
+/* 802BDE7C 002B9ADC 38 C6 88 14 */ addi r6, r6, lbl_80568814@l
+/* 802BDE80 002B9AE0 38 00 00 01 */ li r0, 1
+/* 802BDE84 002B9AE4 38 A5 DE B0 */ addi r5, r5, bta_dm_disable_timer_cback@l
+/* 802BDE88 002B9AE8 98 06 00 72 */ stb r0, 0x72(r6)
+/* 802BDE8C 002B9AEC 38 66 00 74 */ addi r3, r6, 0x74
+/* 802BDE90 002B9AF0 38 80 00 00 */ li r4, 0
+/* 802BDE94 002B9AF4 90 A6 00 7C */ stw r5, 0x7c(r6)
+/* 802BDE98 002B9AF8 38 A0 13 88 */ li r5, 0x1388
+/* 802BDE9C 002B9AFC 4B FF FB 8D */ bl bta_sys_start_timer
+lbl_802BDEA0:
+/* 802BDEA0 002B9B00 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BDEA4 002B9B04 7C 08 03 A6 */ mtlr r0
+/* 802BDEA8 002B9B08 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BDEAC 002B9B0C 4E 80 00 20 */ blr
+
+bta_dm_disable_timer_cback:
+/* 802BDEB0 002B9B10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BDEB4 002B9B14 7C 08 02 A6 */ mflr r0
+/* 802BDEB8 002B9B18 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BDEBC 002B9B1C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BDEC0 002B9B20 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BDEC4 002B9B24 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BDEC8 002B9B28 28 00 00 04 */ cmplwi r0, 4
+/* 802BDECC 002B9B2C 41 80 00 14 */ blt lbl_802BDEE0
+/* 802BDED0 002B9B30 3C 80 80 44 */ lis r4, lbl_80440068@ha
+/* 802BDED4 002B9B34 38 60 05 03 */ li r3, 0x503
+/* 802BDED8 002B9B38 38 84 00 68 */ addi r4, r4, lbl_80440068@l
+/* 802BDEDC 002B9B3C 4B FF F0 35 */ bl LogMsg_0
+lbl_802BDEE0:
+/* 802BDEE0 002B9B40 48 00 64 59 */ bl func_802C4338
+/* 802BDEE4 002B9B44 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802BDEE8 002B9B48 41 82 00 48 */ beq lbl_802BDF30
+/* 802BDEEC 002B9B4C 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BDEF0 002B9B50 3B E3 88 14 */ addi r31, r3, lbl_80568814@l
+/* 802BDEF4 002B9B54 88 1F 01 01 */ lbz r0, 0x101(r31)
+/* 802BDEF8 002B9B58 2C 00 00 00 */ cmpwi r0, 0
+/* 802BDEFC 002B9B5C 40 82 00 34 */ bne lbl_802BDF30
+/* 802BDF00 002B9B60 3B C0 00 00 */ li r30, 0
+/* 802BDF04 002B9B64 48 00 00 18 */ b lbl_802BDF1C
+lbl_802BDF08:
+/* 802BDF08 002B9B68 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802BDF0C 002B9B6C 1C 00 00 0B */ mulli r0, r0, 0xb
+/* 802BDF10 002B9B70 7C 7F 02 14 */ add r3, r31, r0
+/* 802BDF14 002B9B74 48 00 6F 81 */ bl func_802C4E94
+/* 802BDF18 002B9B78 3B DE 00 01 */ addi r30, r30, 1
+lbl_802BDF1C:
+/* 802BDF1C 002B9B7C 88 1F 00 4D */ lbz r0, 0x4d(r31)
+/* 802BDF20 002B9B80 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 802BDF24 002B9B84 7C 03 00 40 */ cmplw r3, r0
+/* 802BDF28 002B9B88 41 80 FF E0 */ blt lbl_802BDF08
+/* 802BDF2C 002B9B8C 48 00 00 28 */ b lbl_802BDF54
+lbl_802BDF30:
+/* 802BDF30 002B9B90 3C A0 80 57 */ lis r5, lbl_80568814@ha
+/* 802BDF34 002B9B94 38 00 00 00 */ li r0, 0
+/* 802BDF38 002B9B98 38 A5 88 14 */ addi r5, r5, lbl_80568814@l
+/* 802BDF3C 002B9B9C 38 60 00 01 */ li r3, 1
+/* 802BDF40 002B9BA0 81 85 00 50 */ lwz r12, 0x50(r5)
+/* 802BDF44 002B9BA4 38 80 00 00 */ li r4, 0
+/* 802BDF48 002B9BA8 98 05 00 72 */ stb r0, 0x72(r5)
+/* 802BDF4C 002B9BAC 7D 89 03 A6 */ mtctr r12
+/* 802BDF50 002B9BB0 4E 80 04 21 */ bctrl
+lbl_802BDF54:
+/* 802BDF54 002B9BB4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BDF58 002B9BB8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BDF5C 002B9BBC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BDF60 002B9BC0 7C 08 03 A6 */ mtlr r0
+/* 802BDF64 002B9BC4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BDF68 002B9BC8 4E 80 00 20 */ blr
+
+bta_dm_set_dev_name:
+/* 802BDF6C 002B9BCC 38 63 00 08 */ addi r3, r3, 8
+/* 802BDF70 002B9BD0 48 00 87 48 */ b lbl_802C66B8
+
+bta_dm_set_visibility:
+/* 802BDF74 002B9BD4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BDF78 002B9BD8 7C 08 02 A6 */ mflr r0
+/* 802BDF7C 002B9BDC 38 80 00 00 */ li r4, 0
+/* 802BDF80 002B9BE0 38 A0 00 00 */ li r5, 0
+/* 802BDF84 002B9BE4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BDF88 002B9BE8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BDF8C 002B9BEC 7C 7F 1B 78 */ mr r31, r3
+/* 802BDF90 002B9BF0 88 63 00 08 */ lbz r3, 8(r3)
+/* 802BDF94 002B9BF4 48 00 93 65 */ bl func_802C72F8
+/* 802BDF98 002B9BF8 88 7F 00 09 */ lbz r3, 9(r31)
+/* 802BDF9C 002B9BFC 38 80 00 00 */ li r4, 0
+/* 802BDFA0 002B9C00 38 A0 00 00 */ li r5, 0
+/* 802BDFA4 002B9C04 48 00 97 D1 */ bl func_802C7774
+/* 802BDFA8 002B9C08 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BDFAC 002B9C0C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BDFB0 002B9C10 7C 08 03 A6 */ mtlr r0
+/* 802BDFB4 002B9C14 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BDFB8 002B9C18 4E 80 00 20 */ blr
+
+bta_dm_bond:
+/* 802BDFBC 002B9C1C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BDFC0 002B9C20 7C 08 02 A6 */ mflr r0
+/* 802BDFC4 002B9C24 90 01 00 24 */ stw r0, 0x24(r1)
+/* 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
+/* 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
+/* 802BDFE4 002B9C44 38 61 00 08 */ addi r3, r1, 8
+/* 802BDFE8 002B9C48 38 A0 00 08 */ li r5, 8
+/* 802BDFEC 002B9C4C 4B D4 60 15 */ bl memcpy
+/* 802BDFF0 002B9C50 48 00 00 14 */ b lbl_802BE004
+lbl_802BDFF4:
+/* 802BDFF4 002B9C54 38 61 00 08 */ addi r3, r1, 8
+/* 802BDFF8 002B9C58 38 80 00 00 */ li r4, 0
+/* 802BDFFC 002B9C5C 38 A0 00 08 */ li r5, 8
+/* 802BE000 002B9C60 4B D4 61 05 */ bl memset
+lbl_802BE004:
+/* 802BE004 002B9C64 88 9F 00 0E */ lbz r4, 0xe(r31)
+/* 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
+/* 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
+/* 802BE024 002B9C84 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BE028 002B9C88 4E 80 00 20 */ blr
+
+bta_dm_pin_reply:
+/* 802BE02C 002B9C8C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BE030 002B9C90 7C 08 02 A6 */ mflr r0
+/* 802BE034 002B9C94 90 01 00 24 */ stw r0, 0x24(r1)
+/* 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
+/* 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
+/* 802BE054 002B9CB4 38 61 00 08 */ addi r3, r1, 8
+/* 802BE058 002B9CB8 38 A0 00 08 */ li r5, 8
+/* 802BE05C 002B9CBC 4B D4 5F A5 */ bl memcpy
+/* 802BE060 002B9CC0 48 00 00 14 */ b lbl_802BE074
+lbl_802BE064:
+/* 802BE064 002B9CC4 38 61 00 08 */ addi r3, r1, 8
+/* 802BE068 002B9CC8 38 80 00 00 */ li r4, 0
+/* 802BE06C 002B9CCC 38 A0 00 08 */ li r5, 8
+/* 802BE070 002B9CD0 4B D4 60 95 */ bl memset
+lbl_802BE074:
+/* 802BE074 002B9CD4 88 1F 00 0E */ lbz r0, 0xe(r31)
+/* 802BE078 002B9CD8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BE07C 002B9CDC 41 82 00 20 */ beq lbl_802BE09C
+/* 802BE080 002B9CE0 88 BF 00 0F */ lbz r5, 0xf(r31)
+/* 802BE084 002B9CE4 38 7F 00 08 */ addi r3, r31, 8
+/* 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
+/* 802BE098 002B9CF8 48 00 00 1C */ b lbl_802BE0B4
+lbl_802BE09C:
+/* 802BE09C 002B9CFC 38 7F 00 08 */ addi r3, r31, 8
+/* 802BE0A0 002B9D00 38 E1 00 08 */ addi r7, r1, 8
+/* 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
+lbl_802BE0B4:
+/* 802BE0B4 002B9D14 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BE0B8 002B9D18 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BE0BC 002B9D1C 7C 08 03 A6 */ mtlr r0
+/* 802BE0C0 002B9D20 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BE0C4 002B9D24 4E 80 00 20 */ blr
+
+bta_dm_auth_reply:
+/* 802BE0C8 002B9D28 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BE0CC 002B9D2C 7C 08 02 A6 */ mflr r0
+/* 802BE0D0 002B9D30 90 01 00 24 */ stw r0, 0x24(r1)
+/* 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
+/* 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
+/* 802BE0F0 002B9D50 38 61 00 08 */ addi r3, r1, 8
+/* 802BE0F4 002B9D54 38 A0 00 08 */ li r5, 8
+/* 802BE0F8 002B9D58 4B D4 5F 09 */ bl memcpy
+/* 802BE0FC 002B9D5C 48 00 00 14 */ b lbl_802BE110
+lbl_802BE100:
+/* 802BE100 002B9D60 38 61 00 08 */ addi r3, r1, 8
+/* 802BE104 002B9D64 38 80 00 00 */ li r4, 0
+/* 802BE108 002B9D68 38 A0 00 08 */ li r5, 8
+/* 802BE10C 002B9D6C 4B D4 5F F9 */ bl memset
+lbl_802BE110:
+/* 802BE110 002B9D70 88 1F 00 0F */ lbz r0, 0xf(r31)
+/* 802BE114 002B9D74 28 00 00 02 */ cmplwi r0, 2
+/* 802BE118 002B9D78 41 82 00 60 */ beq lbl_802BE178
+/* 802BE11C 002B9D7C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BE120 002B9D80 40 82 00 44 */ bne lbl_802BE164
+/* 802BE124 002B9D84 88 1F 00 0E */ lbz r0, 0xe(r31)
+/* 802BE128 002B9D88 28 00 00 17 */ cmplwi r0, 0x17
+/* 802BE12C 002B9D8C 41 81 00 38 */ bgt lbl_802BE164
+/* 802BE130 002B9D90 3C 60 80 40 */ lis r3, lbl_803FDB90@ha
+/* 802BE134 002B9D94 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
+/* 802BE138 002B9D98 38 63 DB 90 */ addi r3, r3, lbl_803FDB90@l
+/* 802BE13C 002B9D9C 38 A1 00 08 */ addi r5, r1, 8
+/* 802BE140 002B9DA0 7C 83 00 2E */ lwzx r4, r3, r0
+/* 802BE144 002B9DA4 38 60 00 01 */ li r3, 1
+/* 802BE148 002B9DA8 54 80 04 F4 */ rlwinm r0, r4, 0, 0x13, 0x1a
+/* 802BE14C 002B9DAC 54 86 ED BA */ rlwinm r6, r4, 0x1d, 0x16, 0x1d
+/* 802BE150 002B9DB0 7C 00 20 50 */ subf r0, r0, r4
+/* 802BE154 002B9DB4 7C 85 30 2E */ lwzx r4, r5, r6
+/* 802BE158 002B9DB8 7C 60 00 30 */ slw r0, r3, r0
+/* 802BE15C 002B9DBC 7C 80 03 78 */ or r0, r4, r0
+/* 802BE160 002B9DC0 7C 05 31 2E */ stwx r0, r5, r6
+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
+/* 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
+lbl_802BE188:
+/* 802BE188 002B9DE8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BE18C 002B9DEC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BE190 002B9DF0 7C 08 03 A6 */ mtlr r0
+/* 802BE194 002B9DF4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BE198 002B9DF8 4E 80 00 20 */ blr
+
+bta_dm_search_start:
+/* 802BE19C 002B9DFC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BE1A0 002B9E00 7C 08 02 A6 */ mflr r0
+/* 802BE1A4 002B9E04 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BE1A8 002B9E08 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BE1AC 002B9E0C 7C 7F 1B 78 */ mr r31, r3
+/* 802BE1B0 002B9E10 38 60 00 00 */ li r3, 0
+/* 802BE1B4 002B9E14 48 00 9E 29 */ bl func_802C7FDC
+/* 802BE1B8 002B9E18 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 802BE1BC 002B9E1C 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BE1C0 002B9E20 3C 80 80 2C */ lis r4, bta_dm_inq_results_cb@ha
+/* 802BE1C4 002B9E24 3C A0 80 2C */ lis r5, bta_dm_inq_cmpl_cb@ha
+/* 802BE1C8 002B9E28 90 03 87 98 */ stw r0, lbl_80568798@l(r3)
+/* 802BE1CC 002B9E2C 38 C3 87 98 */ addi r6, r3, -30824
+/* 802BE1D0 002B9E30 38 7F 00 08 */ addi r3, r31, 8
+/* 802BE1D4 002B9E34 38 84 EF C4 */ addi r4, r4, bta_dm_inq_results_cb@l
+/* 802BE1D8 002B9E38 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 802BE1DC 002B9E3C 38 A5 F0 54 */ addi r5, r5, bta_dm_inq_cmpl_cb@l
+/* 802BE1E0 002B9E40 90 06 00 08 */ stw r0, 8(r6)
+/* 802BE1E4 002B9E44 48 00 98 31 */ bl func_802C7A14
+/* 802BE1E8 002B9E48 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BE1EC 002B9E4C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BE1F0 002B9E50 7C 08 03 A6 */ mtlr r0
+/* 802BE1F4 002B9E54 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BE1F8 002B9E58 4E 80 00 20 */ blr
+
+bta_dm_search_cancel:
+/* 802BE1FC 002B9E5C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BE200 002B9E60 7C 08 02 A6 */ mflr r0
+/* 802BE204 002B9E64 38 60 00 00 */ li r3, 0
+/* 802BE208 002B9E68 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BE20C 002B9E6C 48 00 9D D1 */ bl func_802C7FDC
+/* 802BE210 002B9E70 48 00 96 ED */ bl func_802C78FC
+/* 802BE214 002B9E74 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802BE218 002B9E78 41 82 00 40 */ beq lbl_802BE258
+/* 802BE21C 002B9E7C 48 00 96 F1 */ bl func_802C790C
+/* 802BE220 002B9E80 3C 80 80 57 */ lis r4, lbl_80568798@ha
+/* 802BE224 002B9E84 38 60 00 04 */ li r3, 4
+/* 802BE228 002B9E88 81 84 87 98 */ lwz r12, lbl_80568798@l(r4)
+/* 802BE22C 002B9E8C 38 80 00 00 */ li r4, 0
+/* 802BE230 002B9E90 7D 89 03 A6 */ mtctr r12
+/* 802BE234 002B9E94 4E 80 04 21 */ bctrl
+/* 802BE238 002B9E98 38 60 01 10 */ li r3, 0x110
+/* 802BE23C 002B9E9C 4B FF B8 71 */ bl GKI_getbuf
+/* 802BE240 002B9EA0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE244 002B9EA4 41 82 00 2C */ beq lbl_802BE270
+/* 802BE248 002B9EA8 38 00 02 07 */ li r0, 0x207
+/* 802BE24C 002B9EAC B0 03 00 00 */ sth r0, 0(r3)
+/* 802BE250 002B9EB0 4B FF F7 BD */ bl bta_sys_sendmsg
+/* 802BE254 002B9EB4 48 00 00 1C */ b lbl_802BE270
+lbl_802BE258:
+/* 802BE258 002B9EB8 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BE25C 002B9EBC 38 63 87 98 */ addi r3, r3, lbl_80568798@l
+/* 802BE260 002B9EC0 80 03 00 08 */ lwz r0, 8(r3)
+/* 802BE264 002B9EC4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BE268 002B9EC8 40 82 00 08 */ bne lbl_802BE270
+/* 802BE26C 002B9ECC 48 00 9A 45 */ bl func_802C7CB0
+lbl_802BE270:
+/* 802BE270 002B9ED0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BE274 002B9ED4 7C 08 03 A6 */ mtlr r0
+/* 802BE278 002B9ED8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BE27C 002B9EDC 4E 80 00 20 */ blr
+
+bta_dm_discover:
+/* 802BE280 002B9EE0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BE284 002B9EE4 7C 08 02 A6 */ mflr r0
+/* 802BE288 002B9EE8 3C 80 80 57 */ lis r4, lbl_80568798@ha
+/* 802BE28C 002B9EEC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BE290 002B9EF0 38 00 00 00 */ li r0, 0
+/* 802BE294 002B9EF4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BE298 002B9EF8 3B E4 87 98 */ addi r31, r4, lbl_80568798@l
+/* 802BE29C 002B9EFC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BE2A0 002B9F00 7C 7E 1B 78 */ mr r30, r3
+/* 802BE2A4 002B9F04 80 A3 00 14 */ lwz r5, 0x14(r3)
+/* 802BE2A8 002B9F08 90 A4 87 98 */ stw r5, -0x7868(r4)
+/* 802BE2AC 002B9F0C 3C 80 80 2C */ lis r4, bta_dm_service_search_remname_cback@ha
+/* 802BE2B0 002B9F10 80 A3 00 10 */ lwz r5, 0x10(r3)
+/* 802BE2B4 002B9F14 38 64 F0 A0 */ addi r3, r4, bta_dm_service_search_remname_cback@l
+/* 802BE2B8 002B9F18 90 BF 00 08 */ stw r5, 8(r31)
+/* 802BE2BC 002B9F1C 90 BF 00 0C */ stw r5, 0xc(r31)
+/* 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
+/* 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
+/* 802BE2DC 002B9F3C 80 1F 00 08 */ lwz r0, 8(r31)
+/* 802BE2E0 002B9F40 2C 00 00 00 */ cmpwi r0, 0
+/* 802BE2E4 002B9F44 41 82 00 10 */ beq lbl_802BE2F4
+/* 802BE2E8 002B9F48 38 7F 00 1A */ addi r3, r31, 0x1a
+/* 802BE2EC 002B9F4C 48 00 0A 11 */ bl bta_dm_find_services
+/* 802BE2F0 002B9F50 48 00 00 8C */ b lbl_802BE37C
+lbl_802BE2F4:
+/* 802BE2F4 002B9F54 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802BE2F8 002B9F58 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802BE2FC 002B9F5C A0 83 06 4C */ lhz r4, 0x64c(r3)
+/* 802BE300 002B9F60 28 04 75 30 */ cmplwi r4, 0x7530
+/* 802BE304 002B9F64 40 80 00 14 */ bge lbl_802BE318
+/* 802BE308 002B9F68 38 A4 00 64 */ addi r5, r4, 0x64
+/* 802BE30C 002B9F6C 38 7F 00 58 */ addi r3, r31, 0x58
+/* 802BE310 002B9F70 38 80 02 05 */ li r4, 0x205
+/* 802BE314 002B9F74 4B FF F7 15 */ bl bta_sys_start_timer
+lbl_802BE318:
+/* 802BE318 002B9F78 3F E0 80 57 */ lis r31, lbl_80568798@ha
+/* 802BE31C 002B9F7C 3C 80 80 2C */ lis r4, bta_dm_disc_remname_cback@ha
+/* 802BE320 002B9F80 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
+/* 802BE324 002B9F84 38 7F 00 1A */ addi r3, r31, 0x1a
+/* 802BE328 002B9F88 38 84 F1 6C */ addi r4, r4, bta_dm_disc_remname_cback@l
+/* 802BE32C 002B9F8C 48 00 98 9D */ bl func_802C7BC8
+/* 802BE330 002B9F90 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802BE334 002B9F94 28 00 00 01 */ cmplwi r0, 1
+/* 802BE338 002B9F98 41 82 00 44 */ beq lbl_802BE37C
+/* 802BE33C 002B9F9C 38 7F 00 58 */ addi r3, r31, 0x58
+/* 802BE340 002B9FA0 4B FF F7 09 */ bl bta_sys_stop_timer
+/* 802BE344 002B9FA4 38 60 01 10 */ li r3, 0x110
+/* 802BE348 002B9FA8 4B FF B7 65 */ bl GKI_getbuf
+/* 802BE34C 002B9FAC 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE350 002B9FB0 7C 7E 1B 78 */ mr r30, r3
+/* 802BE354 002B9FB4 41 82 00 28 */ beq lbl_802BE37C
+/* 802BE358 002B9FB8 38 63 00 08 */ addi r3, r3, 8
+/* 802BE35C 002B9FBC 38 9F 00 1A */ addi r4, r31, 0x1a
+/* 802BE360 002B9FC0 4B FF F2 01 */ bl bdcpy
+/* 802BE364 002B9FC4 38 60 00 00 */ li r3, 0
+/* 802BE368 002B9FC8 38 00 02 04 */ li r0, 0x204
+/* 802BE36C 002B9FCC 98 7E 00 0E */ stb r3, 0xe(r30)
+/* 802BE370 002B9FD0 7F C3 F3 78 */ mr r3, r30
+/* 802BE374 002B9FD4 B0 1E 00 00 */ sth r0, 0(r30)
+/* 802BE378 002B9FD8 4B FF F6 95 */ bl bta_sys_sendmsg
+lbl_802BE37C:
+/* 802BE37C 002B9FDC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BE380 002B9FE0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BE384 002B9FE4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BE388 002B9FE8 7C 08 03 A6 */ mtlr r0
+/* 802BE38C 002B9FEC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BE390 002B9FF0 4E 80 00 20 */ blr
+
+bta_dm_inq_cmpl:
+/* 802BE394 002B9FF4 94 21 FD D0 */ stwu r1, -0x230(r1)
+/* 802BE398 002B9FF8 7C 08 02 A6 */ mflr r0
+/* 802BE39C 002B9FFC 90 01 02 34 */ stw r0, 0x234(r1)
+/* 802BE3A0 002BA000 39 61 02 30 */ addi r11, r1, 0x230
+/* 802BE3A4 002BA004 4B F0 8D 85 */ bl _savegpr_27
+/* 802BE3A8 002BA008 7C 7F 1B 78 */ mr r31, r3
+/* 802BE3AC 002BA00C 3B 60 00 01 */ li r27, 1
+/* 802BE3B0 002BA010 48 00 9A 39 */ bl func_802C7DE8
+/* 802BE3B4 002BA014 3F 80 80 57 */ lis r28, lbl_80568798@ha
+/* 802BE3B8 002BA018 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE3BC 002BA01C 3B BC 87 98 */ addi r29, r28, lbl_80568798@l
+/* 802BE3C0 002BA020 90 7D 00 04 */ stw r3, 4(r29)
+/* 802BE3C4 002BA024 41 82 01 88 */ beq lbl_802BE54C
+/* 802BE3C8 002BA028 80 1D 00 08 */ lwz r0, 8(r29)
+/* 802BE3CC 002BA02C 3B 60 00 00 */ li r27, 0
+/* 802BE3D0 002BA030 2C 00 00 00 */ cmpwi r0, 0
+/* 802BE3D4 002BA034 41 82 00 78 */ beq lbl_802BE44C
+/* 802BE3D8 002BA038 38 63 00 02 */ addi r3, r3, 2
+/* 802BE3DC 002BA03C 48 00 5E 85 */ bl func_802C4260
+/* 802BE3E0 002BA040 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802BE3E4 002BA044 41 82 00 10 */ beq lbl_802BE3F4
+/* 802BE3E8 002BA048 38 00 00 00 */ li r0, 0
+/* 802BE3EC 002BA04C 98 1D 00 78 */ stb r0, 0x78(r29)
+/* 802BE3F0 002BA050 48 00 00 0C */ b lbl_802BE3FC
+lbl_802BE3F4:
+/* 802BE3F4 002BA054 38 00 00 01 */ li r0, 1
+/* 802BE3F8 002BA058 98 1D 00 78 */ stb r0, 0x78(r29)
+lbl_802BE3FC:
+/* 802BE3FC 002BA05C 3F C0 80 57 */ lis r30, lbl_80568798@ha
+/* 802BE400 002BA060 3C 60 80 2C */ lis r3, bta_dm_service_search_remname_cback@ha
+/* 802BE404 002BA064 3B DE 87 98 */ addi r30, r30, lbl_80568798@l
+/* 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
+/* 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)
+/* 802BE424 002BA084 9B BE 00 70 */ stb r29, 0x70(r30)
+/* 802BE428 002BA088 38 84 00 02 */ addi r4, r4, 2
+/* 802BE42C 002BA08C 93 BE 00 10 */ stw r29, 0x10(r30)
+/* 802BE430 002BA090 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 802BE434 002BA094 9B BE 00 20 */ stb r29, 0x20(r30)
+/* 802BE438 002BA098 4B FF F1 29 */ bl bdcpy
+/* 802BE43C 002BA09C 80 7E 00 04 */ lwz r3, 4(r30)
+/* 802BE440 002BA0A0 38 63 00 02 */ addi r3, r3, 2
+/* 802BE444 002BA0A4 48 00 08 B9 */ bl bta_dm_find_services
+/* 802BE448 002BA0A8 48 00 01 04 */ b lbl_802BE54C
+lbl_802BE44C:
+/* 802BE44C 002BA0AC 3B 60 00 01 */ li r27, 1
+/* 802BE450 002BA0B0 3B C0 00 00 */ li r30, 0
+/* 802BE454 002BA0B4 48 00 00 EC */ b lbl_802BE540
+lbl_802BE458:
+/* 802BE458 002BA0B8 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802BE45C 002BA0BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BE460 002BA0C0 41 82 00 30 */ beq lbl_802BE490
+/* 802BE464 002BA0C4 38 61 00 08 */ addi r3, r1, 8
+/* 802BE468 002BA0C8 38 84 00 02 */ addi r4, r4, 2
+/* 802BE46C 002BA0CC 4B FF F0 F5 */ bl bdcpy
+/* 802BE470 002BA0D0 81 9C 87 98 */ lwz r12, -0x7868(r28)
+/* 802BE474 002BA0D4 38 81 00 08 */ addi r4, r1, 8
+/* 802BE478 002BA0D8 9B C1 00 0E */ stb r30, 0xe(r1)
+/* 802BE47C 002BA0DC 38 60 00 02 */ li r3, 2
+/* 802BE480 002BA0E0 93 C1 01 08 */ stw r30, 0x108(r1)
+/* 802BE484 002BA0E4 7D 89 03 A6 */ mtctr r12
+/* 802BE488 002BA0E8 4E 80 04 21 */ bctrl
+/* 802BE48C 002BA0EC 48 00 00 A8 */ b lbl_802BE534
+lbl_802BE490:
+/* 802BE490 002BA0F0 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802BE494 002BA0F4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802BE498 002BA0F8 A0 83 06 4C */ lhz r4, 0x64c(r3)
+/* 802BE49C 002BA0FC 28 04 75 30 */ cmplwi r4, 0x7530
+/* 802BE4A0 002BA100 40 80 00 1C */ bge lbl_802BE4BC
+/* 802BE4A4 002BA104 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BE4A8 002BA108 38 A4 00 64 */ addi r5, r4, 0x64
+/* 802BE4AC 002BA10C 38 63 87 98 */ addi r3, r3, lbl_80568798@l
+/* 802BE4B0 002BA110 38 80 02 05 */ li r4, 0x205
+/* 802BE4B4 002BA114 38 63 00 58 */ addi r3, r3, 0x58
+/* 802BE4B8 002BA118 4B FF F5 71 */ bl bta_sys_start_timer
+lbl_802BE4BC:
+/* 802BE4BC 002BA11C 3F C0 80 57 */ lis r30, lbl_80568798@ha
+/* 802BE4C0 002BA120 3C 80 80 2C */ lis r4, bta_dm_remname_cback@ha
+/* 802BE4C4 002BA124 3B DE 87 98 */ addi r30, r30, lbl_80568798@l
+/* 802BE4C8 002BA128 80 7E 00 04 */ lwz r3, 4(r30)
+/* 802BE4CC 002BA12C 38 84 F0 E0 */ addi r4, r4, bta_dm_remname_cback@l
+/* 802BE4D0 002BA130 38 63 00 02 */ addi r3, r3, 2
+/* 802BE4D4 002BA134 48 00 96 F5 */ bl func_802C7BC8
+/* 802BE4D8 002BA138 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802BE4DC 002BA13C 28 00 00 01 */ cmplwi r0, 1
+/* 802BE4E0 002BA140 41 82 00 4C */ beq lbl_802BE52C
+/* 802BE4E4 002BA144 38 7E 00 58 */ addi r3, r30, 0x58
+/* 802BE4E8 002BA148 4B FF F5 61 */ bl bta_sys_stop_timer
+/* 802BE4EC 002BA14C 80 9E 00 04 */ lwz r4, 4(r30)
+/* 802BE4F0 002BA150 38 60 01 10 */ li r3, 0x110
+/* 802BE4F4 002BA154 3B 84 00 02 */ addi r28, r4, 2
+/* 802BE4F8 002BA158 4B FF B5 B5 */ bl GKI_getbuf
+/* 802BE4FC 002BA15C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE500 002BA160 7C 7D 1B 78 */ mr r29, r3
+/* 802BE504 002BA164 41 82 00 28 */ beq lbl_802BE52C
+/* 802BE508 002BA168 7F 84 E3 78 */ mr r4, r28
+/* 802BE50C 002BA16C 38 63 00 08 */ addi r3, r3, 8
+/* 802BE510 002BA170 4B FF F0 51 */ bl bdcpy
+/* 802BE514 002BA174 38 60 00 00 */ li r3, 0
+/* 802BE518 002BA178 38 00 02 04 */ li r0, 0x204
+/* 802BE51C 002BA17C 98 7D 00 0E */ stb r3, 0xe(r29)
+/* 802BE520 002BA180 7F A3 EB 78 */ mr r3, r29
+/* 802BE524 002BA184 B0 1D 00 00 */ sth r0, 0(r29)
+/* 802BE528 002BA188 4B FF F4 E5 */ bl bta_sys_sendmsg
+lbl_802BE52C:
+/* 802BE52C 002BA18C 3B 60 00 00 */ li r27, 0
+/* 802BE530 002BA190 48 00 00 1C */ b lbl_802BE54C
+lbl_802BE534:
+/* 802BE534 002BA194 80 7D 00 04 */ lwz r3, 4(r29)
+/* 802BE538 002BA198 48 00 99 69 */ bl func_802C7EA0
+/* 802BE53C 002BA19C 90 7D 00 04 */ stw r3, 4(r29)
+lbl_802BE540:
+/* 802BE540 002BA1A0 80 9D 00 04 */ lwz r4, 4(r29)
+/* 802BE544 002BA1A4 2C 04 00 00 */ cmpwi r4, 0
+/* 802BE548 002BA1A8 40 82 FF 10 */ bne lbl_802BE458
+lbl_802BE54C:
+/* 802BE54C 002BA1AC 2C 1B 00 00 */ cmpwi r27, 0
+/* 802BE550 002BA1B0 41 82 00 30 */ beq lbl_802BE580
+/* 802BE554 002BA1B4 3C 80 80 57 */ lis r4, lbl_80568798@ha
+/* 802BE558 002BA1B8 38 00 00 00 */ li r0, 0
+/* 802BE55C 002BA1BC 38 84 87 98 */ addi r4, r4, lbl_80568798@l
+/* 802BE560 002BA1C0 38 60 01 10 */ li r3, 0x110
+/* 802BE564 002BA1C4 90 04 00 08 */ stw r0, 8(r4)
+/* 802BE568 002BA1C8 4B FF B5 45 */ bl GKI_getbuf
+/* 802BE56C 002BA1CC 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE570 002BA1D0 41 82 00 10 */ beq lbl_802BE580
+/* 802BE574 002BA1D4 38 00 02 07 */ li r0, 0x207
+/* 802BE578 002BA1D8 B0 03 00 00 */ sth r0, 0(r3)
+/* 802BE57C 002BA1DC 4B FF F4 91 */ bl bta_sys_sendmsg
+lbl_802BE580:
+/* 802BE580 002BA1E0 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BE584 002BA1E4 88 1F 00 08 */ lbz r0, 8(r31)
+/* 802BE588 002BA1E8 81 83 87 98 */ lwz r12, lbl_80568798@l(r3)
+/* 802BE58C 002BA1EC 38 81 01 10 */ addi r4, r1, 0x110
+/* 802BE590 002BA1F0 98 01 01 10 */ stb r0, 0x110(r1)
+/* 802BE594 002BA1F4 38 60 00 01 */ li r3, 1
+/* 802BE598 002BA1F8 7D 89 03 A6 */ mtctr r12
+/* 802BE59C 002BA1FC 4E 80 04 21 */ bctrl
+/* 802BE5A0 002BA200 39 61 02 30 */ addi r11, r1, 0x230
+/* 802BE5A4 002BA204 4B F0 8B D1 */ bl _restgpr_27
+/* 802BE5A8 002BA208 80 01 02 34 */ lwz r0, 0x234(r1)
+/* 802BE5AC 002BA20C 7C 08 03 A6 */ mtlr r0
+/* 802BE5B0 002BA210 38 21 02 30 */ addi r1, r1, 0x230
+/* 802BE5B4 002BA214 4E 80 00 20 */ blr
+
+bta_dm_rmt_name:
+/* 802BE5B8 002BA218 94 21 FE D0 */ stwu r1, -0x130(r1)
+/* 802BE5BC 002BA21C 7C 08 02 A6 */ mflr r0
+/* 802BE5C0 002BA220 90 01 01 34 */ stw r0, 0x134(r1)
+/* 802BE5C4 002BA224 39 61 01 30 */ addi r11, r1, 0x130
+/* 802BE5C8 002BA228 4B F0 8B 61 */ bl _savegpr_27
+/* 802BE5CC 002BA22C 3F 80 80 57 */ lis r28, lbl_80568798@ha
+/* 802BE5D0 002BA230 7C 7F 1B 78 */ mr r31, r3
+/* 802BE5D4 002BA234 3B 60 00 01 */ li r27, 1
+/* 802BE5D8 002BA238 3B C0 00 00 */ li r30, 0
+/* 802BE5DC 002BA23C 3B BC 87 98 */ addi r29, r28, lbl_80568798@l
+/* 802BE5E0 002BA240 48 00 00 DC */ b lbl_802BE6BC
+lbl_802BE5E4:
+/* 802BE5E4 002BA244 80 9D 00 04 */ lwz r4, 4(r29)
+/* 802BE5E8 002BA248 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802BE5EC 002BA24C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BE5F0 002BA250 41 82 00 30 */ beq lbl_802BE620
+/* 802BE5F4 002BA254 38 61 00 08 */ addi r3, r1, 8
+/* 802BE5F8 002BA258 38 84 00 02 */ addi r4, r4, 2
+/* 802BE5FC 002BA25C 4B FF EF 65 */ bl bdcpy
+/* 802BE600 002BA260 81 9C 87 98 */ lwz r12, -0x7868(r28)
+/* 802BE604 002BA264 38 81 00 08 */ addi r4, r1, 8
+/* 802BE608 002BA268 9B C1 00 0E */ stb r30, 0xe(r1)
+/* 802BE60C 002BA26C 38 60 00 02 */ li r3, 2
+/* 802BE610 002BA270 93 C1 01 08 */ stw r30, 0x108(r1)
+/* 802BE614 002BA274 7D 89 03 A6 */ mtctr r12
+/* 802BE618 002BA278 4E 80 04 21 */ bctrl
+/* 802BE61C 002BA27C 48 00 00 A0 */ b lbl_802BE6BC
+lbl_802BE620:
+/* 802BE620 002BA280 3C 60 80 57 */ lis r3, lbl_80568B78@ha
+/* 802BE624 002BA284 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l
+/* 802BE628 002BA288 A0 83 06 4C */ lhz r4, 0x64c(r3)
+/* 802BE62C 002BA28C 28 04 75 30 */ cmplwi r4, 0x7530
+/* 802BE630 002BA290 40 80 00 14 */ bge lbl_802BE644
+/* 802BE634 002BA294 38 A4 00 64 */ addi r5, r4, 0x64
+/* 802BE638 002BA298 38 7D 00 58 */ addi r3, r29, 0x58
+/* 802BE63C 002BA29C 38 80 02 05 */ li r4, 0x205
+/* 802BE640 002BA2A0 4B FF F3 E9 */ bl bta_sys_start_timer
+lbl_802BE644:
+/* 802BE644 002BA2A4 3F C0 80 57 */ lis r30, lbl_80568798@ha
+/* 802BE648 002BA2A8 3C 80 80 2C */ lis r4, bta_dm_remname_cback@ha
+/* 802BE64C 002BA2AC 3B DE 87 98 */ addi r30, r30, lbl_80568798@l
+/* 802BE650 002BA2B0 80 7E 00 04 */ lwz r3, 4(r30)
+/* 802BE654 002BA2B4 38 84 F0 E0 */ addi r4, r4, bta_dm_remname_cback@l
+/* 802BE658 002BA2B8 38 63 00 02 */ addi r3, r3, 2
+/* 802BE65C 002BA2BC 48 00 95 6D */ bl func_802C7BC8
+/* 802BE660 002BA2C0 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802BE664 002BA2C4 28 00 00 01 */ cmplwi r0, 1
+/* 802BE668 002BA2C8 41 82 00 4C */ beq lbl_802BE6B4
+/* 802BE66C 002BA2CC 38 7E 00 58 */ addi r3, r30, 0x58
+/* 802BE670 002BA2D0 4B FF F3 D9 */ bl bta_sys_stop_timer
+/* 802BE674 002BA2D4 80 9E 00 04 */ lwz r4, 4(r30)
+/* 802BE678 002BA2D8 38 60 01 10 */ li r3, 0x110
+/* 802BE67C 002BA2DC 3B 84 00 02 */ addi r28, r4, 2
+/* 802BE680 002BA2E0 4B FF B4 2D */ bl GKI_getbuf
+/* 802BE684 002BA2E4 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE688 002BA2E8 7C 7D 1B 78 */ mr r29, r3
+/* 802BE68C 002BA2EC 41 82 00 28 */ beq lbl_802BE6B4
+/* 802BE690 002BA2F0 7F 84 E3 78 */ mr r4, r28
+/* 802BE694 002BA2F4 38 63 00 08 */ addi r3, r3, 8
+/* 802BE698 002BA2F8 4B FF EE C9 */ bl bdcpy
+/* 802BE69C 002BA2FC 38 60 00 00 */ li r3, 0
+/* 802BE6A0 002BA300 38 00 02 04 */ li r0, 0x204
+/* 802BE6A4 002BA304 98 7D 00 0E */ stb r3, 0xe(r29)
+/* 802BE6A8 002BA308 7F A3 EB 78 */ mr r3, r29
+/* 802BE6AC 002BA30C B0 1D 00 00 */ sth r0, 0(r29)
+/* 802BE6B0 002BA310 4B FF F3 5D */ bl bta_sys_sendmsg
+lbl_802BE6B4:
+/* 802BE6B4 002BA314 3B 60 00 00 */ li r27, 0
+/* 802BE6B8 002BA318 48 00 00 18 */ b lbl_802BE6D0
+lbl_802BE6BC:
+/* 802BE6BC 002BA31C 80 7D 00 04 */ lwz r3, 4(r29)
+/* 802BE6C0 002BA320 48 00 97 E1 */ bl func_802C7EA0
+/* 802BE6C4 002BA324 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE6C8 002BA328 90 7D 00 04 */ stw r3, 4(r29)
+/* 802BE6CC 002BA32C 40 82 FF 18 */ bne lbl_802BE5E4
+lbl_802BE6D0:
+/* 802BE6D0 002BA330 2C 1B 00 00 */ cmpwi r27, 0
+/* 802BE6D4 002BA334 41 82 00 20 */ beq lbl_802BE6F4
+/* 802BE6D8 002BA338 38 60 01 10 */ li r3, 0x110
+/* 802BE6DC 002BA33C 4B FF B3 D1 */ bl GKI_getbuf
+/* 802BE6E0 002BA340 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE6E4 002BA344 41 82 00 10 */ beq lbl_802BE6F4
+/* 802BE6E8 002BA348 38 00 02 07 */ li r0, 0x207
+/* 802BE6EC 002BA34C B0 03 00 00 */ sth r0, 0(r3)
+/* 802BE6F0 002BA350 4B FF F3 1D */ bl bta_sys_sendmsg
+lbl_802BE6F4:
+/* 802BE6F4 002BA354 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BE6F8 002BA358 38 9F 00 08 */ addi r4, r31, 8
+/* 802BE6FC 002BA35C 81 83 87 98 */ lwz r12, lbl_80568798@l(r3)
+/* 802BE700 002BA360 38 60 00 02 */ li r3, 2
+/* 802BE704 002BA364 7D 89 03 A6 */ mtctr r12
+/* 802BE708 002BA368 4E 80 04 21 */ bctrl
+/* 802BE70C 002BA36C 39 61 01 30 */ addi r11, r1, 0x130
+/* 802BE710 002BA370 4B F0 8A 65 */ bl _restgpr_27
+/* 802BE714 002BA374 80 01 01 34 */ lwz r0, 0x134(r1)
+/* 802BE718 002BA378 7C 08 03 A6 */ mtlr r0
+/* 802BE71C 002BA37C 38 21 01 30 */ addi r1, r1, 0x130
+/* 802BE720 002BA380 4E 80 00 20 */ blr
+
+bta_dm_disc_rmt_name:
+/* 802BE724 002BA384 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BE728 002BA388 7C 08 02 A6 */ mflr r0
+/* 802BE72C 002BA38C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BE730 002BA390 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BE734 002BA394 7C 7F 1B 78 */ mr r31, r3
+/* 802BE738 002BA398 38 60 01 10 */ li r3, 0x110
+/* 802BE73C 002BA39C 4B FF B3 71 */ bl GKI_getbuf
+/* 802BE740 002BA3A0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE744 002BA3A4 41 82 00 10 */ beq lbl_802BE754
+/* 802BE748 002BA3A8 38 00 02 07 */ li r0, 0x207
+/* 802BE74C 002BA3AC B0 03 00 00 */ sth r0, 0(r3)
+/* 802BE750 002BA3B0 4B FF F2 BD */ bl bta_sys_sendmsg
+lbl_802BE754:
+/* 802BE754 002BA3B4 38 00 00 00 */ li r0, 0
+/* 802BE758 002BA3B8 3C A0 80 57 */ lis r5, lbl_80568798@ha
+/* 802BE75C 002BA3BC 90 1F 01 08 */ stw r0, 0x108(r31)
+/* 802BE760 002BA3C0 38 9F 00 08 */ addi r4, r31, 8
+/* 802BE764 002BA3C4 38 60 00 02 */ li r3, 2
+/* 802BE768 002BA3C8 81 85 87 98 */ lwz r12, lbl_80568798@l(r5)
+/* 802BE76C 002BA3CC 7D 89 03 A6 */ mtctr r12
+/* 802BE770 002BA3D0 4E 80 04 21 */ bctrl
+/* 802BE774 002BA3D4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BE778 002BA3D8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BE77C 002BA3DC 7C 08 03 A6 */ mtlr r0
+/* 802BE780 002BA3E0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BE784 002BA3E4 4E 80 00 20 */ blr
+
+bta_dm_sdp_result:
+/* 802BE788 002BA3E8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BE78C 002BA3EC 7C 08 02 A6 */ mflr r0
+/* 802BE790 002BA3F0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BE794 002BA3F4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BE798 002BA3F8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BE79C 002BA3FC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BE7A0 002BA400 3B A0 00 00 */ li r29, 0
+/* 802BE7A4 002BA404 A0 A3 00 08 */ lhz r5, 8(r3)
+/* 802BE7A8 002BA408 38 60 00 00 */ li r3, 0
+/* 802BE7AC 002BA40C 2C 05 00 00 */ cmpwi r5, 0
+/* 802BE7B0 002BA410 41 82 00 14 */ beq lbl_802BE7C4
+/* 802BE7B4 002BA414 28 05 FF F0 */ cmplwi r5, 0xfff0
+/* 802BE7B8 002BA418 41 82 00 0C */ beq lbl_802BE7C4
+/* 802BE7BC 002BA41C 28 05 FF F4 */ cmplwi r5, 0xfff4
+/* 802BE7C0 002BA420 40 82 01 54 */ bne lbl_802BE914
+lbl_802BE7C4:
+/* 802BE7C4 002BA424 3C C0 80 57 */ lis r6, lbl_80568798@ha
+/* 802BE7C8 002BA428 3C 80 80 40 */ lis r4, lbl_803FDB60@ha
+/* 802BE7CC 002BA42C 38 C6 87 98 */ addi r6, r6, lbl_80568798@l
+/* 802BE7D0 002BA430 28 05 FF F4 */ cmplwi r5, 0xfff4
+/* 802BE7D4 002BA434 88 A6 00 70 */ lbz r5, 0x70(r6)
+/* 802BE7D8 002BA438 38 84 DB 60 */ addi r4, r4, lbl_803FDB60@l
+/* 802BE7DC 002BA43C 38 05 FF FF */ addi r0, r5, -1
+/* 802BE7E0 002BA440 54 00 08 3C */ slwi r0, r0, 1
+/* 802BE7E4 002BA444 7F C4 02 2E */ lhzx r30, r4, r0
+/* 802BE7E8 002BA448 41 82 00 1C */ beq lbl_802BE804
+/* 802BE7EC 002BA44C 80 66 00 14 */ lwz r3, 0x14(r6)
+/* 802BE7F0 002BA450 7F C4 F3 78 */ mr r4, r30
+/* 802BE7F4 002BA454 38 A0 00 00 */ li r5, 0
+/* 802BE7F8 002BA458 48 02 3A 51 */ bl func_802E2248
+/* 802BE7FC 002BA45C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE800 002BA460 41 82 00 64 */ beq lbl_802BE864
+lbl_802BE804:
+/* 802BE804 002BA464 28 1E 12 00 */ cmplwi r30, 0x1200
+/* 802BE808 002BA468 40 82 00 2C */ bne lbl_802BE834
+/* 802BE80C 002BA46C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE810 002BA470 41 82 00 28 */ beq lbl_802BE838
+/* 802BE814 002BA474 3C 80 00 01 */ lis r4, 0x00008001@ha
+/* 802BE818 002BA478 38 04 80 01 */ addi r0, r4, 0x00008001@l
+/* 802BE81C 002BA47C 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802BE820 002BA480 48 02 3A 01 */ bl func_802E2220
+/* 802BE824 002BA484 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE828 002BA488 41 82 00 10 */ beq lbl_802BE838
+/* 802BE82C 002BA48C 3B A0 00 01 */ li r29, 1
+/* 802BE830 002BA490 48 00 00 08 */ b lbl_802BE838
+lbl_802BE834:
+/* 802BE834 002BA494 3B A0 00 01 */ li r29, 1
+lbl_802BE838:
+/* 802BE838 002BA498 2C 1D 00 00 */ cmpwi r29, 0
+/* 802BE83C 002BA49C 41 82 00 28 */ beq lbl_802BE864
+/* 802BE840 002BA4A0 3C C0 80 57 */ lis r6, lbl_80568798@ha
+/* 802BE844 002BA4A4 38 80 00 01 */ li r4, 1
+/* 802BE848 002BA4A8 38 C6 87 98 */ addi r6, r6, lbl_80568798@l
+/* 802BE84C 002BA4AC 88 66 00 70 */ lbz r3, 0x70(r6)
+/* 802BE850 002BA4B0 80 A6 00 10 */ lwz r5, 0x10(r6)
+/* 802BE854 002BA4B4 38 03 FF FF */ addi r0, r3, -1
+/* 802BE858 002BA4B8 7C 80 00 30 */ slw r0, r4, r0
+/* 802BE85C 002BA4BC 7C A0 03 78 */ or r0, r5, r0
+/* 802BE860 002BA4C0 90 06 00 10 */ stw r0, 0x10(r6)
+lbl_802BE864:
+/* 802BE864 002BA4C4 3F C0 80 57 */ lis r30, lbl_80568798@ha
+/* 802BE868 002BA4C8 3B DE 87 98 */ addi r30, r30, lbl_80568798@l
+/* 802BE86C 002BA4CC 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 802BE870 002BA4D0 4B FF B4 C5 */ bl GKI_freebuf
+/* 802BE874 002BA4D4 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 802BE878 002BA4D8 3B E0 00 00 */ li r31, 0
+/* 802BE87C 002BA4DC 93 FE 00 14 */ stw r31, 0x14(r30)
+/* 802BE880 002BA4E0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BE884 002BA4E4 41 82 00 10 */ beq lbl_802BE894
+/* 802BE888 002BA4E8 38 7E 00 1A */ addi r3, r30, 0x1a
+/* 802BE88C 002BA4EC 48 00 04 71 */ bl bta_dm_find_services
+/* 802BE890 002BA4F0 48 00 01 44 */ b lbl_802BE9D4
+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
+/* 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
+/* 802BE8AC 002BA50C 7C 7D 1B 78 */ mr r29, r3
+/* 802BE8B0 002BA510 41 82 01 24 */ beq lbl_802BE9D4
+/* 802BE8B4 002BA514 38 00 02 08 */ li r0, 0x208
+/* 802BE8B8 002BA518 38 9E 00 1A */ addi r4, r30, 0x1a
+/* 802BE8BC 002BA51C B0 03 00 00 */ sth r0, 0(r3)
+/* 802BE8C0 002BA520 9B E3 01 0C */ stb r31, 0x10c(r3)
+/* 802BE8C4 002BA524 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 802BE8C8 002BA528 90 03 01 08 */ stw r0, 0x108(r3)
+/* 802BE8CC 002BA52C 38 63 00 08 */ addi r3, r3, 8
+/* 802BE8D0 002BA530 4B FF EC 91 */ bl bdcpy
+/* 802BE8D4 002BA534 88 1E 00 20 */ lbz r0, 0x20(r30)
+/* 802BE8D8 002BA538 3B FE 00 20 */ addi r31, r30, 0x20
+/* 802BE8DC 002BA53C 7C 00 07 75 */ extsb. r0, r0
+/* 802BE8E0 002BA540 40 82 00 18 */ bne lbl_802BE8F8
+/* 802BE8E4 002BA544 38 7E 00 1A */ addi r3, r30, 0x1a
+/* 802BE8E8 002BA548 48 00 6A BD */ bl func_802C53A4
+/* 802BE8EC 002BA54C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE8F0 002BA550 41 82 00 08 */ beq lbl_802BE8F8
+/* 802BE8F4 002BA554 7C 7F 1B 78 */ mr r31, r3
+lbl_802BE8F8:
+/* 802BE8F8 002BA558 7F E4 FB 78 */ mr r4, r31
+/* 802BE8FC 002BA55C 38 7D 00 0E */ addi r3, r29, 0xe
+/* 802BE900 002BA560 38 A0 00 20 */ li r5, 0x20
+/* 802BE904 002BA564 4B F0 FA 8D */ bl strncpy
+/* 802BE908 002BA568 7F A3 EB 78 */ mr r3, r29
+/* 802BE90C 002BA56C 4B FF F1 01 */ bl bta_sys_sendmsg
+/* 802BE910 002BA570 48 00 00 C4 */ b lbl_802BE9D4
+lbl_802BE914:
+/* 802BE914 002BA574 28 05 FF F1 */ cmplwi r5, 0xfff1
+/* 802BE918 002BA578 41 82 00 14 */ beq lbl_802BE92C
+/* 802BE91C 002BA57C 38 05 00 0A */ addi r0, r5, 0xa
+/* 802BE920 002BA580 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802BE924 002BA584 28 00 00 01 */ cmplwi r0, 1
+/* 802BE928 002BA588 41 81 00 14 */ bgt lbl_802BE93C
+lbl_802BE92C:
+/* 802BE92C 002BA58C 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BE930 002BA590 38 00 00 00 */ li r0, 0
+/* 802BE934 002BA594 38 63 87 98 */ addi r3, r3, lbl_80568798@l
+/* 802BE938 002BA598 98 03 00 78 */ stb r0, 0x78(r3)
+lbl_802BE93C:
+/* 802BE93C 002BA59C 3F E0 80 57 */ lis r31, lbl_80568798@ha
+/* 802BE940 002BA5A0 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
+/* 802BE944 002BA5A4 80 7F 00 14 */ lwz r3, 0x14(r31)
+/* 802BE948 002BA5A8 4B FF B3 ED */ bl GKI_freebuf
+/* 802BE94C 002BA5AC 38 00 00 00 */ li r0, 0
+/* 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
+/* 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
+/* 802BE96C 002BA5CC 7C 7D 1B 78 */ mr r29, r3
+/* 802BE970 002BA5D0 41 82 00 64 */ beq lbl_802BE9D4
+/* 802BE974 002BA5D4 38 80 02 08 */ li r4, 0x208
+/* 802BE978 002BA5D8 38 00 00 01 */ li r0, 1
+/* 802BE97C 002BA5DC B0 83 00 00 */ sth r4, 0(r3)
+/* 802BE980 002BA5E0 38 9F 00 1A */ addi r4, r31, 0x1a
+/* 802BE984 002BA5E4 98 03 01 0C */ stb r0, 0x10c(r3)
+/* 802BE988 002BA5E8 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802BE98C 002BA5EC 90 03 01 08 */ stw r0, 0x108(r3)
+/* 802BE990 002BA5F0 38 63 00 08 */ addi r3, r3, 8
+/* 802BE994 002BA5F4 4B FF EB CD */ bl bdcpy
+/* 802BE998 002BA5F8 88 1F 00 20 */ lbz r0, 0x20(r31)
+/* 802BE99C 002BA5FC 3B DF 00 20 */ addi r30, r31, 0x20
+/* 802BE9A0 002BA600 7C 00 07 75 */ extsb. r0, r0
+/* 802BE9A4 002BA604 40 82 00 18 */ bne lbl_802BE9BC
+/* 802BE9A8 002BA608 38 7F 00 1A */ addi r3, r31, 0x1a
+/* 802BE9AC 002BA60C 48 00 69 F9 */ bl func_802C53A4
+/* 802BE9B0 002BA610 2C 03 00 00 */ cmpwi r3, 0
+/* 802BE9B4 002BA614 41 82 00 08 */ beq lbl_802BE9BC
+/* 802BE9B8 002BA618 7C 7E 1B 78 */ mr r30, r3
+lbl_802BE9BC:
+/* 802BE9BC 002BA61C 7F C4 F3 78 */ mr r4, r30
+/* 802BE9C0 002BA620 38 7D 00 0E */ addi r3, r29, 0xe
+/* 802BE9C4 002BA624 38 A0 00 20 */ li r5, 0x20
+/* 802BE9C8 002BA628 4B F0 F9 C9 */ bl strncpy
+/* 802BE9CC 002BA62C 7F A3 EB 78 */ mr r3, r29
+/* 802BE9D0 002BA630 4B FF F0 3D */ bl bta_sys_sendmsg
+lbl_802BE9D4:
+/* 802BE9D4 002BA634 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BE9D8 002BA638 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BE9DC 002BA63C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BE9E0 002BA640 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BE9E4 002BA644 7C 08 03 A6 */ mtlr r0
+/* 802BE9E8 002BA648 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BE9EC 002BA64C 4E 80 00 20 */ blr
+
+bta_dm_search_cmpl:
+/* 802BE9F0 002BA650 3C 80 80 57 */ lis r4, lbl_80568798@ha
+/* 802BE9F4 002BA654 38 60 00 03 */ li r3, 3
+/* 802BE9F8 002BA658 81 84 87 98 */ lwz r12, lbl_80568798@l(r4)
+/* 802BE9FC 002BA65C 38 80 00 00 */ li r4, 0
+/* 802BEA00 002BA660 7D 89 03 A6 */ mtctr r12
+/* 802BEA04 002BA664 4E 80 04 20 */ bctr
+
+bta_dm_disc_result:
+/* 802BEA08 002BA668 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEA0C 002BA66C 7C 08 02 A6 */ mflr r0
+/* 802BEA10 002BA670 3C 80 80 57 */ lis r4, lbl_80568798@ha
+/* 802BEA14 002BA674 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEA18 002BA678 81 84 87 98 */ lwz r12, lbl_80568798@l(r4)
+/* 802BEA1C 002BA67C 38 83 00 08 */ addi r4, r3, 8
+/* 802BEA20 002BA680 38 60 00 02 */ li r3, 2
+/* 802BEA24 002BA684 7D 89 03 A6 */ mtctr r12
+/* 802BEA28 002BA688 4E 80 04 21 */ bctrl
+/* 802BEA2C 002BA68C 38 60 01 10 */ li r3, 0x110
+/* 802BEA30 002BA690 4B FF B0 7D */ bl GKI_getbuf
+/* 802BEA34 002BA694 2C 03 00 00 */ cmpwi r3, 0
+/* 802BEA38 002BA698 41 82 00 10 */ beq lbl_802BEA48
+/* 802BEA3C 002BA69C 38 00 02 07 */ li r0, 0x207
+/* 802BEA40 002BA6A0 B0 03 00 00 */ sth r0, 0(r3)
+/* 802BEA44 002BA6A4 4B FF EF C9 */ bl bta_sys_sendmsg
+lbl_802BEA48:
+/* 802BEA48 002BA6A8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEA4C 002BA6AC 7C 08 03 A6 */ mtlr r0
+/* 802BEA50 002BA6B0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEA54 002BA6B4 4E 80 00 20 */ blr
+
+bta_dm_search_result:
+/* 802BEA58 002BA6B8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEA5C 002BA6BC 7C 08 02 A6 */ mflr r0
+/* 802BEA60 002BA6C0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEA64 002BA6C4 80 03 01 08 */ lwz r0, 0x108(r3)
+/* 802BEA68 002BA6C8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BEA6C 002BA6CC 41 82 00 1C */ beq lbl_802BEA88
+/* 802BEA70 002BA6D0 3C A0 80 57 */ lis r5, lbl_80568798@ha
+/* 802BEA74 002BA6D4 38 83 00 08 */ addi r4, r3, 8
+/* 802BEA78 002BA6D8 81 85 87 98 */ lwz r12, lbl_80568798@l(r5)
+/* 802BEA7C 002BA6DC 38 60 00 02 */ li r3, 2
+/* 802BEA80 002BA6E0 7D 89 03 A6 */ mtctr r12
+/* 802BEA84 002BA6E4 4E 80 04 21 */ bctrl
+lbl_802BEA88:
+/* 802BEA88 002BA6E8 3C C0 80 57 */ lis r6, lbl_80568798@ha
+/* 802BEA8C 002BA6EC 38 C6 87 98 */ addi r6, r6, lbl_80568798@l
+/* 802BEA90 002BA6F0 88 06 00 78 */ lbz r0, 0x78(r6)
+/* 802BEA94 002BA6F4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BEA98 002BA6F8 40 82 00 14 */ bne lbl_802BEAAC
+/* 802BEA9C 002BA6FC 38 00 00 00 */ li r0, 0
+/* 802BEAA0 002BA700 98 06 00 78 */ stb r0, 0x78(r6)
+/* 802BEAA4 002BA704 48 00 03 F9 */ bl bta_dm_discover_next_device
+/* 802BEAA8 002BA708 48 00 00 28 */ b lbl_802BEAD0
+lbl_802BEAAC:
+/* 802BEAAC 002BA70C 3C A0 80 2C */ lis r5, bta_dm_search_timer_cback@ha
+/* 802BEAB0 002BA710 38 00 00 01 */ li r0, 1
+/* 802BEAB4 002BA714 38 A5 EA E0 */ addi r5, r5, bta_dm_search_timer_cback@l
+/* 802BEAB8 002BA718 98 06 00 79 */ stb r0, 0x79(r6)
+/* 802BEABC 002BA71C 38 66 00 40 */ addi r3, r6, 0x40
+/* 802BEAC0 002BA720 38 80 00 00 */ li r4, 0
+/* 802BEAC4 002BA724 90 A6 00 48 */ stw r5, 0x48(r6)
+/* 802BEAC8 002BA728 38 A0 0B B8 */ li r5, 0xbb8
+/* 802BEACC 002BA72C 4B FF EF 5D */ bl bta_sys_start_timer
+lbl_802BEAD0:
+/* 802BEAD0 002BA730 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEAD4 002BA734 7C 08 03 A6 */ mtlr r0
+/* 802BEAD8 002BA738 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEADC 002BA73C 4E 80 00 20 */ blr
+
+bta_dm_search_timer_cback:
+/* 802BEAE0 002BA740 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEAE4 002BA744 7C 08 02 A6 */ mflr r0
+/* 802BEAE8 002BA748 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEAEC 002BA74C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BEAF0 002BA750 28 00 00 04 */ cmplwi r0, 4
+/* 802BEAF4 002BA754 41 80 00 14 */ blt lbl_802BEB08
+/* 802BEAF8 002BA758 3C 80 80 44 */ lis r4, lbl_80440088@ha
+/* 802BEAFC 002BA75C 38 60 05 03 */ li r3, 0x503
+/* 802BEB00 002BA760 38 84 00 88 */ addi r4, r4, lbl_80440088@l
+/* 802BEB04 002BA764 4B FF E4 0D */ bl LogMsg_0
+lbl_802BEB08:
+/* 802BEB08 002BA768 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BEB0C 002BA76C 38 00 00 00 */ li r0, 0
+/* 802BEB10 002BA770 38 63 87 98 */ addi r3, r3, lbl_80568798@l
+/* 802BEB14 002BA774 98 03 00 78 */ stb r0, 0x78(r3)
+/* 802BEB18 002BA778 48 00 03 85 */ bl bta_dm_discover_next_device
+/* 802BEB1C 002BA77C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEB20 002BA780 7C 08 03 A6 */ mtlr r0
+/* 802BEB24 002BA784 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEB28 002BA788 4E 80 00 20 */ blr
+
+bta_dm_free_sdp_db:
+/* 802BEB2C 002BA78C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEB30 002BA790 7C 08 02 A6 */ mflr r0
+/* 802BEB34 002BA794 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEB38 002BA798 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BEB3C 002BA79C 3F E0 80 57 */ lis r31, lbl_80568798@ha
+/* 802BEB40 002BA7A0 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
+/* 802BEB44 002BA7A4 80 7F 00 14 */ lwz r3, 0x14(r31)
+/* 802BEB48 002BA7A8 2C 03 00 00 */ cmpwi r3, 0
+/* 802BEB4C 002BA7AC 41 82 00 10 */ beq lbl_802BEB5C
+/* 802BEB50 002BA7B0 4B FF B1 E5 */ bl GKI_freebuf
+/* 802BEB54 002BA7B4 38 00 00 00 */ li r0, 0
+/* 802BEB58 002BA7B8 90 1F 00 14 */ stw r0, 0x14(r31)
+lbl_802BEB5C:
+/* 802BEB5C 002BA7BC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEB60 002BA7C0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BEB64 002BA7C4 7C 08 03 A6 */ mtlr r0
+/* 802BEB68 002BA7C8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEB6C 002BA7CC 4E 80 00 20 */ blr
+
+bta_dm_queue_search:
+/* 802BEB70 002BA7D0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEB74 002BA7D4 7C 08 02 A6 */ mflr r0
+/* 802BEB78 002BA7D8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEB7C 002BA7DC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BEB80 002BA7E0 7C 7F 1B 78 */ mr r31, r3
+/* 802BEB84 002BA7E4 38 60 00 1C */ li r3, 0x1c
+/* 802BEB88 002BA7E8 4B FF AF 25 */ bl GKI_getbuf
+/* 802BEB8C 002BA7EC 3C C0 80 57 */ lis r6, lbl_80568798@ha
+/* 802BEB90 002BA7F0 7F E4 FB 78 */ mr r4, r31
+/* 802BEB94 002BA7F4 38 C6 87 98 */ addi r6, r6, lbl_80568798@l
+/* 802BEB98 002BA7F8 38 A0 00 1C */ li r5, 0x1c
+/* 802BEB9C 002BA7FC 90 66 00 74 */ stw r3, 0x74(r6)
+/* 802BEBA0 002BA800 4B D4 54 61 */ bl memcpy
+/* 802BEBA4 002BA804 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEBA8 002BA808 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BEBAC 002BA80C 7C 08 03 A6 */ mtlr r0
+/* 802BEBB0 002BA810 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEBB4 002BA814 4E 80 00 20 */ blr
+
+bta_dm_queue_disc:
+/* 802BEBB8 002BA818 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEBBC 002BA81C 7C 08 02 A6 */ mflr r0
+/* 802BEBC0 002BA820 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEBC4 002BA824 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BEBC8 002BA828 7C 7F 1B 78 */ mr r31, r3
+/* 802BEBCC 002BA82C 38 60 00 18 */ li r3, 0x18
+/* 802BEBD0 002BA830 4B FF AE DD */ bl GKI_getbuf
+/* 802BEBD4 002BA834 3C C0 80 57 */ lis r6, lbl_80568798@ha
+/* 802BEBD8 002BA838 7F E4 FB 78 */ mr r4, r31
+/* 802BEBDC 002BA83C 38 C6 87 98 */ addi r6, r6, lbl_80568798@l
+/* 802BEBE0 002BA840 38 A0 00 18 */ li r5, 0x18
+/* 802BEBE4 002BA844 90 66 00 74 */ stw r3, 0x74(r6)
+/* 802BEBE8 002BA848 4B D4 54 19 */ bl memcpy
+/* 802BEBEC 002BA84C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEBF0 002BA850 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BEBF4 002BA854 7C 08 03 A6 */ mtlr r0
+/* 802BEBF8 002BA858 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEBFC 002BA85C 4E 80 00 20 */ blr
+
+bta_dm_search_clear_queue:
+/* 802BEC00 002BA860 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEC04 002BA864 7C 08 02 A6 */ mflr r0
+/* 802BEC08 002BA868 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEC0C 002BA86C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BEC10 002BA870 3F E0 80 57 */ lis r31, lbl_80568798@ha
+/* 802BEC14 002BA874 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
+/* 802BEC18 002BA878 80 7F 00 74 */ lwz r3, 0x74(r31)
+/* 802BEC1C 002BA87C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BEC20 002BA880 41 82 00 10 */ beq lbl_802BEC30
+/* 802BEC24 002BA884 4B FF B1 11 */ bl GKI_freebuf
+/* 802BEC28 002BA888 38 00 00 00 */ li r0, 0
+/* 802BEC2C 002BA88C 90 1F 00 74 */ stw r0, 0x74(r31)
+lbl_802BEC30:
+/* 802BEC30 002BA890 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEC34 002BA894 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BEC38 002BA898 7C 08 03 A6 */ mtlr r0
+/* 802BEC3C 002BA89C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEC40 002BA8A0 4E 80 00 20 */ blr
+
+bta_dm_search_cancel_cmpl:
+/* 802BEC44 002BA8A4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEC48 002BA8A8 7C 08 02 A6 */ mflr r0
+/* 802BEC4C 002BA8AC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEC50 002BA8B0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BEC54 002BA8B4 3F E0 80 57 */ lis r31, lbl_80568798@ha
+/* 802BEC58 002BA8B8 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
+/* 802BEC5C 002BA8BC 80 7F 00 74 */ lwz r3, 0x74(r31)
+/* 802BEC60 002BA8C0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BEC64 002BA8C4 41 82 00 10 */ beq lbl_802BEC74
+/* 802BEC68 002BA8C8 4B FF ED A5 */ bl bta_sys_sendmsg
+/* 802BEC6C 002BA8CC 38 00 00 00 */ li r0, 0
+/* 802BEC70 002BA8D0 90 1F 00 74 */ stw r0, 0x74(r31)
+lbl_802BEC74:
+/* 802BEC74 002BA8D4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEC78 002BA8D8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BEC7C 002BA8DC 7C 08 03 A6 */ mtlr r0
+/* 802BEC80 002BA8E0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEC84 002BA8E4 4E 80 00 20 */ blr
+
+bta_dm_search_cancel_transac_cmpl:
+/* 802BEC88 002BA8E8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEC8C 002BA8EC 7C 08 02 A6 */ mflr r0
+/* 802BEC90 002BA8F0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEC94 002BA8F4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BEC98 002BA8F8 3F E0 80 57 */ lis r31, lbl_80568798@ha
+/* 802BEC9C 002BA8FC 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
+/* 802BECA0 002BA900 80 7F 00 14 */ lwz r3, 0x14(r31)
+/* 802BECA4 002BA904 2C 03 00 00 */ cmpwi r3, 0
+/* 802BECA8 002BA908 41 82 00 10 */ beq lbl_802BECB8
+/* 802BECAC 002BA90C 4B FF B0 89 */ bl GKI_freebuf
+/* 802BECB0 002BA910 38 00 00 00 */ li r0, 0
+/* 802BECB4 002BA914 90 1F 00 14 */ stw r0, 0x14(r31)
+lbl_802BECB8:
+/* 802BECB8 002BA918 3C 80 80 57 */ lis r4, lbl_80568798@ha
+/* 802BECBC 002BA91C 38 60 00 04 */ li r3, 4
+/* 802BECC0 002BA920 81 84 87 98 */ lwz r12, lbl_80568798@l(r4)
+/* 802BECC4 002BA924 38 80 00 00 */ li r4, 0
+/* 802BECC8 002BA928 7D 89 03 A6 */ mtctr r12
+/* 802BECCC 002BA92C 4E 80 04 21 */ bctrl
+/* 802BECD0 002BA930 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BECD4 002BA934 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BECD8 002BA938 7C 08 03 A6 */ mtlr r0
+/* 802BECDC 002BA93C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BECE0 002BA940 4E 80 00 20 */ blr
+
+bta_dm_search_cancel_notify:
+/* 802BECE4 002BA944 3C 80 80 57 */ lis r4, lbl_80568798@ha
+/* 802BECE8 002BA948 38 60 00 04 */ li r3, 4
+/* 802BECEC 002BA94C 81 84 87 98 */ lwz r12, lbl_80568798@l(r4)
+/* 802BECF0 002BA950 38 80 00 00 */ li r4, 0
+/* 802BECF4 002BA954 7D 89 03 A6 */ mtctr r12
+/* 802BECF8 002BA958 4E 80 04 20 */ bctr
+
+.global bta_dm_find_services
+bta_dm_find_services:
+/* 802BECFC 002BA95C 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 802BED00 002BA960 7C 08 02 A6 */ mflr r0
+/* 802BED04 002BA964 90 01 00 54 */ stw r0, 0x54(r1)
+/* 802BED08 002BA968 39 61 00 50 */ addi r11, r1, 0x50
+/* 802BED0C 002BA96C 4B F0 84 0D */ bl _savegpr_23
+/* 802BED10 002BA970 A0 82 A4 50 */ lhz r4, lbl_80642A50-_SDA2_BASE_(r2)
+/* 802BED14 002BA974 3F 40 80 57 */ lis r26, lbl_80568798@ha
+/* 802BED18 002BA978 A0 02 A4 52 */ lhz r0, lbl_80642A52-_SDA2_BASE_(r2)
+/* 802BED1C 002BA97C 3F 20 80 40 */ lis r25, lbl_803FDB60@ha
+/* 802BED20 002BA980 B0 81 00 08 */ sth r4, 8(r1)
+/* 802BED24 002BA984 7C 7E 1B 78 */ mr r30, r3
+/* 802BED28 002BA988 3B 39 DB 60 */ addi r25, r25, lbl_803FDB60@l
+/* 802BED2C 002BA98C 3B 5A 87 98 */ addi r26, r26, lbl_80568798@l
+/* 802BED30 002BA990 B0 01 00 0A */ sth r0, 0xa(r1)
+/* 802BED34 002BA994 3B E0 00 01 */ li r31, 1
+/* 802BED38 002BA998 3A E0 00 01 */ li r23, 1
+/* 802BED3C 002BA99C 3B 00 00 02 */ li r24, 2
+/* 802BED40 002BA9A0 3F 60 80 2C */ lis r27, 0x802c
+/* 802BED44 002BA9A4 3B 80 00 00 */ li r28, 0
+/* 802BED48 002BA9A8 3B A0 00 17 */ li r29, 0x17
+/* 802BED4C 002BA9AC 48 00 00 BC */ b lbl_802BEE08
+lbl_802BED50:
+/* 802BED50 002BA9B0 80 7A 00 0C */ lwz r3, 0xc(r26)
+/* 802BED54 002BA9B4 7E E0 00 30 */ slw r0, r23, r0
+/* 802BED58 002BA9B8 7C 60 00 39 */ and. r0, r3, r0
+/* 802BED5C 002BA9BC 41 82 00 A0 */ beq lbl_802BEDFC
+/* 802BED60 002BA9C0 38 60 00 FA */ li r3, 0xfa
+/* 802BED64 002BA9C4 4B FF AD 49 */ bl GKI_getbuf
+/* 802BED68 002BA9C8 2C 03 00 00 */ cmpwi r3, 0
+/* 802BED6C 002BA9CC 90 7A 00 14 */ stw r3, 0x14(r26)
+/* 802BED70 002BA9D0 41 82 00 8C */ beq lbl_802BEDFC
+/* 802BED74 002BA9D4 88 7A 00 70 */ lbz r3, 0x70(r26)
+/* 802BED78 002BA9D8 80 9A 00 0C */ lwz r4, 0xc(r26)
+/* 802BED7C 002BA9DC 54 60 08 3C */ slwi r0, r3, 1
+/* 802BED80 002BA9E0 7E E3 18 30 */ slw r3, r23, r3
+/* 802BED84 002BA9E4 7C 19 02 2E */ lhzx r0, r25, r0
+/* 802BED88 002BA9E8 7C 83 18 78 */ andc r3, r4, r3
+/* 802BED8C 002BA9EC 90 7A 00 0C */ stw r3, 0xc(r26)
+/* 802BED90 002BA9F0 28 00 12 00 */ cmplwi r0, 0x1200
+/* 802BED94 002BA9F4 B3 01 00 0C */ sth r24, 0xc(r1)
+/* 802BED98 002BA9F8 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 802BED9C 002BA9FC 40 82 00 08 */ bne lbl_802BEDA4
+/* 802BEDA0 002BAA00 3B E0 00 02 */ li r31, 2
+lbl_802BEDA4:
+/* 802BEDA4 002BAA04 80 7A 00 14 */ lwz r3, 0x14(r26)
+/* 802BEDA8 002BAA08 7F E7 FB 78 */ mr r7, r31
+/* 802BEDAC 002BAA0C 38 C1 00 0C */ addi r6, r1, 0xc
+/* 802BEDB0 002BAA10 39 01 00 08 */ addi r8, r1, 8
+/* 802BEDB4 002BAA14 38 80 00 FA */ li r4, 0xfa
+/* 802BEDB8 002BAA18 38 A0 00 01 */ li r5, 1
+/* 802BEDBC 002BAA1C 48 02 30 2D */ bl func_802E1DE8
+/* 802BEDC0 002BAA20 80 9A 00 14 */ lwz r4, 0x14(r26)
+/* 802BEDC4 002BAA24 7F C3 F3 78 */ mr r3, r30
+/* 802BEDC8 002BAA28 38 BB EF 7C */ addi r5, r27, -4228
+/* 802BEDCC 002BAA2C 48 02 33 F1 */ bl func_802E21BC
+/* 802BEDD0 002BAA30 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802BEDD4 002BAA34 40 82 00 18 */ bne lbl_802BEDEC
+/* 802BEDD8 002BAA38 80 7A 00 14 */ lwz r3, 0x14(r26)
+/* 802BEDDC 002BAA3C 4B FF AF 59 */ bl GKI_freebuf
+/* 802BEDE0 002BAA40 93 9A 00 14 */ stw r28, 0x14(r26)
+/* 802BEDE4 002BAA44 9B BA 00 70 */ stb r29, 0x70(r26)
+/* 802BEDE8 002BAA48 48 00 00 14 */ b lbl_802BEDFC
+lbl_802BEDEC:
+/* 802BEDEC 002BAA4C 88 7A 00 70 */ lbz r3, 0x70(r26)
+/* 802BEDF0 002BAA50 38 03 00 01 */ addi r0, r3, 1
+/* 802BEDF4 002BAA54 98 1A 00 70 */ stb r0, 0x70(r26)
+/* 802BEDF8 002BAA58 48 00 00 8C */ b lbl_802BEE84
+lbl_802BEDFC:
+/* 802BEDFC 002BAA5C 88 7A 00 70 */ lbz r3, 0x70(r26)
+/* 802BEE00 002BAA60 38 03 00 01 */ addi r0, r3, 1
+/* 802BEE04 002BAA64 98 1A 00 70 */ stb r0, 0x70(r26)
+lbl_802BEE08:
+/* 802BEE08 002BAA68 88 1A 00 70 */ lbz r0, 0x70(r26)
+/* 802BEE0C 002BAA6C 28 00 00 17 */ cmplwi r0, 0x17
+/* 802BEE10 002BAA70 41 80 FF 40 */ blt lbl_802BED50
+/* 802BEE14 002BAA74 41 80 00 70 */ blt lbl_802BEE84
+/* 802BEE18 002BAA78 38 60 01 10 */ li r3, 0x110
+/* 802BEE1C 002BAA7C 4B FF AC 91 */ bl GKI_getbuf
+/* 802BEE20 002BAA80 2C 03 00 00 */ cmpwi r3, 0
+/* 802BEE24 002BAA84 7C 78 1B 78 */ mr r24, r3
+/* 802BEE28 002BAA88 41 82 00 5C */ beq lbl_802BEE84
+/* 802BEE2C 002BAA8C 38 00 02 08 */ li r0, 0x208
+/* 802BEE30 002BAA90 38 9A 00 1A */ addi r4, r26, 0x1a
+/* 802BEE34 002BAA94 B0 03 00 00 */ sth r0, 0(r3)
+/* 802BEE38 002BAA98 80 1A 00 10 */ lwz r0, 0x10(r26)
+/* 802BEE3C 002BAA9C 90 03 01 08 */ stw r0, 0x108(r3)
+/* 802BEE40 002BAAA0 38 63 00 08 */ addi r3, r3, 8
+/* 802BEE44 002BAAA4 4B FF E7 1D */ bl bdcpy
+/* 802BEE48 002BAAA8 88 1A 00 20 */ lbz r0, 0x20(r26)
+/* 802BEE4C 002BAAAC 3A FA 00 20 */ addi r23, r26, 0x20
+/* 802BEE50 002BAAB0 7C 00 07 75 */ extsb. r0, r0
+/* 802BEE54 002BAAB4 40 82 00 18 */ bne lbl_802BEE6C
+/* 802BEE58 002BAAB8 38 7A 00 1A */ addi r3, r26, 0x1a
+/* 802BEE5C 002BAABC 48 00 65 49 */ bl func_802C53A4
+/* 802BEE60 002BAAC0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BEE64 002BAAC4 41 82 00 08 */ beq lbl_802BEE6C
+/* 802BEE68 002BAAC8 7C 77 1B 78 */ mr r23, r3
+lbl_802BEE6C:
+/* 802BEE6C 002BAACC 7E E4 BB 78 */ mr r4, r23
+/* 802BEE70 002BAAD0 38 78 00 0E */ addi r3, r24, 0xe
+/* 802BEE74 002BAAD4 38 A0 00 20 */ li r5, 0x20
+/* 802BEE78 002BAAD8 4B F0 F5 19 */ bl strncpy
+/* 802BEE7C 002BAADC 7F 03 C3 78 */ mr r3, r24
+/* 802BEE80 002BAAE0 4B FF EB 8D */ bl bta_sys_sendmsg
+lbl_802BEE84:
+/* 802BEE84 002BAAE4 39 61 00 50 */ addi r11, r1, 0x50
+/* 802BEE88 002BAAE8 4B F0 82 DD */ bl _restgpr_23
+/* 802BEE8C 002BAAEC 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 802BEE90 002BAAF0 7C 08 03 A6 */ mtlr r0
+/* 802BEE94 002BAAF4 38 21 00 50 */ addi r1, r1, 0x50
+/* 802BEE98 002BAAF8 4E 80 00 20 */ blr
+
+.global bta_dm_discover_next_device
+bta_dm_discover_next_device:
+/* 802BEE9C 002BAAFC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEEA0 002BAB00 7C 08 02 A6 */ mflr r0
+/* 802BEEA4 002BAB04 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEEA8 002BAB08 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BEEAC 002BAB0C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BEEB0 002BAB10 3F C0 80 57 */ lis r30, lbl_80568798@ha
+/* 802BEEB4 002BAB14 3B DE 87 98 */ addi r30, r30, lbl_80568798@l
+/* 802BEEB8 002BAB18 80 7E 00 04 */ lwz r3, 4(r30)
+/* 802BEEBC 002BAB1C 48 00 8F E5 */ bl func_802C7EA0
+/* 802BEEC0 002BAB20 2C 03 00 00 */ cmpwi r3, 0
+/* 802BEEC4 002BAB24 90 7E 00 04 */ stw r3, 4(r30)
+/* 802BEEC8 002BAB28 41 82 00 78 */ beq lbl_802BEF40
+/* 802BEECC 002BAB2C 38 63 00 02 */ addi r3, r3, 2
+/* 802BEED0 002BAB30 48 00 53 91 */ bl func_802C4260
+/* 802BEED4 002BAB34 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802BEED8 002BAB38 41 82 00 10 */ beq lbl_802BEEE8
+/* 802BEEDC 002BAB3C 38 00 00 00 */ li r0, 0
+/* 802BEEE0 002BAB40 98 1E 00 78 */ stb r0, 0x78(r30)
+/* 802BEEE4 002BAB44 48 00 00 0C */ b lbl_802BEEF0
+lbl_802BEEE8:
+/* 802BEEE8 002BAB48 38 00 00 01 */ li r0, 1
+/* 802BEEEC 002BAB4C 98 1E 00 78 */ stb r0, 0x78(r30)
+lbl_802BEEF0:
+/* 802BEEF0 002BAB50 3F E0 80 57 */ lis r31, lbl_80568798@ha
+/* 802BEEF4 002BAB54 3C 60 80 2C */ lis r3, bta_dm_service_search_remname_cback@ha
+/* 802BEEF8 002BAB58 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
+/* 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
+/* 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)
+/* 802BEF18 002BAB78 9B DF 00 70 */ stb r30, 0x70(r31)
+/* 802BEF1C 002BAB7C 38 84 00 02 */ addi r4, r4, 2
+/* 802BEF20 002BAB80 93 DF 00 10 */ stw r30, 0x10(r31)
+/* 802BEF24 002BAB84 9B DF 00 20 */ stb r30, 0x20(r31)
+/* 802BEF28 002BAB88 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 802BEF2C 002BAB8C 4B FF E6 35 */ bl bdcpy
+/* 802BEF30 002BAB90 80 7F 00 04 */ lwz r3, 4(r31)
+/* 802BEF34 002BAB94 38 63 00 02 */ addi r3, r3, 2
+/* 802BEF38 002BAB98 4B FF FD C5 */ bl bta_dm_find_services
+/* 802BEF3C 002BAB9C 48 00 00 28 */ b lbl_802BEF64
+lbl_802BEF40:
+/* 802BEF40 002BABA0 38 00 00 00 */ li r0, 0
+/* 802BEF44 002BABA4 38 60 01 10 */ li r3, 0x110
+/* 802BEF48 002BABA8 90 1E 00 08 */ stw r0, 8(r30)
+/* 802BEF4C 002BABAC 4B FF AB 61 */ bl GKI_getbuf
+/* 802BEF50 002BABB0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BEF54 002BABB4 41 82 00 10 */ beq lbl_802BEF64
+/* 802BEF58 002BABB8 38 00 02 07 */ li r0, 0x207
+/* 802BEF5C 002BABBC B0 03 00 00 */ sth r0, 0(r3)
+/* 802BEF60 002BABC0 4B FF EA AD */ bl bta_sys_sendmsg
+lbl_802BEF64:
+/* 802BEF64 002BABC4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEF68 002BABC8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BEF6C 002BABCC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BEF70 002BABD0 7C 08 03 A6 */ mtlr r0
+/* 802BEF74 002BABD4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEF78 002BABD8 4E 80 00 20 */ blr
+
+bta_dm_sdp_callback:
+/* 802BEF7C 002BABDC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BEF80 002BABE0 7C 08 02 A6 */ mflr r0
+/* 802BEF84 002BABE4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BEF88 002BABE8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BEF8C 002BABEC 7C 7F 1B 78 */ mr r31, r3
+/* 802BEF90 002BABF0 38 60 00 0A */ li r3, 0xa
+/* 802BEF94 002BABF4 4B FF AB 19 */ bl GKI_getbuf
+/* 802BEF98 002BABF8 2C 03 00 00 */ cmpwi r3, 0
+/* 802BEF9C 002BABFC 41 82 00 14 */ beq lbl_802BEFB0
+/* 802BEFA0 002BAC00 38 00 02 06 */ li r0, 0x206
+/* 802BEFA4 002BAC04 B0 03 00 00 */ sth r0, 0(r3)
+/* 802BEFA8 002BAC08 B3 E3 00 08 */ sth r31, 8(r3)
+/* 802BEFAC 002BAC0C 4B FF EA 61 */ bl bta_sys_sendmsg
+lbl_802BEFB0:
+/* 802BEFB0 002BAC10 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BEFB4 002BAC14 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BEFB8 002BAC18 7C 08 03 A6 */ mtlr r0
+/* 802BEFBC 002BAC1C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BEFC0 002BAC20 4E 80 00 20 */ blr
+
+bta_dm_inq_results_cb:
+/* 802BEFC4 002BAC24 94 21 FE E0 */ stwu r1, -0x120(r1)
+/* 802BEFC8 002BAC28 7C 08 02 A6 */ mflr r0
+/* 802BEFCC 002BAC2C 90 01 01 24 */ stw r0, 0x124(r1)
+/* 802BEFD0 002BAC30 93 E1 01 1C */ stw r31, 0x11c(r1)
+/* 802BEFD4 002BAC34 7C 7F 1B 78 */ mr r31, r3
+/* 802BEFD8 002BAC38 38 61 00 08 */ addi r3, r1, 8
+/* 802BEFDC 002BAC3C 38 9F 00 02 */ addi r4, r31, 2
+/* 802BEFE0 002BAC40 4B FF E5 81 */ bl bdcpy
+/* 802BEFE4 002BAC44 38 61 00 0E */ addi r3, r1, 0xe
+/* 802BEFE8 002BAC48 38 9F 00 08 */ addi r4, r31, 8
+/* 802BEFEC 002BAC4C 38 A0 00 03 */ li r5, 3
+/* 802BEFF0 002BAC50 4B D4 50 11 */ bl memcpy
+/* 802BEFF4 002BAC54 88 1F 00 0E */ lbz r0, 0xe(r31)
+/* 802BEFF8 002BAC58 38 7F 00 02 */ addi r3, r31, 2
+/* 802BEFFC 002BAC5C 98 01 00 11 */ stb r0, 0x11(r1)
+/* 802BF000 002BAC60 48 00 8D 29 */ bl func_802C7D28
+/* 802BF004 002BAC64 2C 03 00 00 */ cmpwi r3, 0
+/* 802BF008 002BAC68 7C 7F 1B 78 */ mr r31, r3
+/* 802BF00C 002BAC6C 41 82 00 0C */ beq lbl_802BF018
+/* 802BF010 002BAC70 38 00 00 00 */ li r0, 0
+/* 802BF014 002BAC74 98 01 00 12 */ stb r0, 0x12(r1)
+lbl_802BF018:
+/* 802BF018 002BAC78 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BF01C 002BAC7C 38 81 00 08 */ addi r4, r1, 8
+/* 802BF020 002BAC80 81 83 87 98 */ lwz r12, lbl_80568798@l(r3)
+/* 802BF024 002BAC84 38 60 00 00 */ li r3, 0
+/* 802BF028 002BAC88 7D 89 03 A6 */ mtctr r12
+/* 802BF02C 002BAC8C 4E 80 04 21 */ bctrl
+/* 802BF030 002BAC90 2C 1F 00 00 */ cmpwi r31, 0
+/* 802BF034 002BAC94 41 82 00 0C */ beq lbl_802BF040
+/* 802BF038 002BAC98 88 01 00 12 */ lbz r0, 0x12(r1)
+/* 802BF03C 002BAC9C 98 1F 00 10 */ stb r0, 0x10(r31)
+lbl_802BF040:
+/* 802BF040 002BACA0 80 01 01 24 */ lwz r0, 0x124(r1)
+/* 802BF044 002BACA4 83 E1 01 1C */ lwz r31, 0x11c(r1)
+/* 802BF048 002BACA8 7C 08 03 A6 */ mtlr r0
+/* 802BF04C 002BACAC 38 21 01 20 */ addi r1, r1, 0x120
+/* 802BF050 002BACB0 4E 80 00 20 */ blr
+
+bta_dm_inq_cmpl_cb:
+/* 802BF054 002BACB4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BF058 002BACB8 7C 08 02 A6 */ mflr r0
+/* 802BF05C 002BACBC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BF060 002BACC0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BF064 002BACC4 7C 7F 1B 78 */ mr r31, r3
+/* 802BF068 002BACC8 38 60 01 10 */ li r3, 0x110
+/* 802BF06C 002BACCC 4B FF AA 41 */ bl GKI_getbuf
+/* 802BF070 002BACD0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BF074 002BACD4 41 82 00 18 */ beq lbl_802BF08C
+/* 802BF078 002BACD8 38 00 02 03 */ li r0, 0x203
+/* 802BF07C 002BACDC B0 03 00 00 */ sth r0, 0(r3)
+/* 802BF080 002BACE0 88 1F 00 01 */ lbz r0, 1(r31)
+/* 802BF084 002BACE4 98 03 00 08 */ stb r0, 8(r3)
+/* 802BF088 002BACE8 4B FF E9 85 */ bl bta_sys_sendmsg
+lbl_802BF08C:
+/* 802BF08C 002BACEC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BF090 002BACF0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BF094 002BACF4 7C 08 03 A6 */ mtlr r0
+/* 802BF098 002BACF8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BF09C 002BACFC 4E 80 00 20 */ blr
+
+bta_dm_service_search_remname_cback:
+/* 802BF0A0 002BAD00 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BF0A4 002BAD04 7C 08 02 A6 */ mflr r0
+/* 802BF0A8 002BAD08 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BF0AC 002BAD0C 7C A4 2B 78 */ mr r4, r5
+/* 802BF0B0 002BAD10 38 63 87 98 */ addi r3, r3, lbl_80568798@l
+/* 802BF0B4 002BAD14 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BF0B8 002BAD18 38 A0 00 1F */ li r5, 0x1f
+/* 802BF0BC 002BAD1C 38 63 00 20 */ addi r3, r3, 0x20
+/* 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
+/* 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
+/* 802BF0DC 002BAD3C 4E 80 00 20 */ blr
+
+bta_dm_remname_cback:
+/* 802BF0E0 002BAD40 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BF0E4 002BAD44 7C 08 02 A6 */ mflr r0
+/* 802BF0E8 002BAD48 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BF0EC 002BAD4C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BF0F0 002BAD50 3F E0 80 57 */ lis r31, lbl_80568798@ha
+/* 802BF0F4 002BAD54 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
+/* 802BF0F8 002BAD58 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BF0FC 002BAD5C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BF100 002BAD60 7C 7D 1B 78 */ mr r29, r3
+/* 802BF104 002BAD64 38 7F 00 58 */ addi r3, r31, 0x58
+/* 802BF108 002BAD68 4B FF E9 41 */ bl bta_sys_stop_timer
+/* 802BF10C 002BAD6C 38 60 01 10 */ li r3, 0x110
+/* 802BF110 002BAD70 4B FF A9 9D */ bl GKI_getbuf
+/* 802BF114 002BAD74 2C 03 00 00 */ cmpwi r3, 0
+/* 802BF118 002BAD78 7C 7E 1B 78 */ mr r30, r3
+/* 802BF11C 002BAD7C 41 82 00 34 */ beq lbl_802BF150
+/* 802BF120 002BAD80 80 9F 00 04 */ lwz r4, 4(r31)
+/* 802BF124 002BAD84 38 63 00 08 */ addi r3, r3, 8
+/* 802BF128 002BAD88 38 84 00 02 */ addi r4, r4, 2
+/* 802BF12C 002BAD8C 4B FF E4 35 */ bl bdcpy
+/* 802BF130 002BAD90 38 7E 00 0E */ addi r3, r30, 0xe
+/* 802BF134 002BAD94 38 9D 00 04 */ addi r4, r29, 4
+/* 802BF138 002BAD98 38 A0 00 20 */ li r5, 0x20
+/* 802BF13C 002BAD9C 4B F0 F2 55 */ bl strncpy
+/* 802BF140 002BADA0 38 00 02 04 */ li r0, 0x204
+/* 802BF144 002BADA4 7F C3 F3 78 */ mr r3, r30
+/* 802BF148 002BADA8 B0 1E 00 00 */ sth r0, 0(r30)
+/* 802BF14C 002BADAC 4B FF E8 C1 */ bl bta_sys_sendmsg
+lbl_802BF150:
+/* 802BF150 002BADB0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BF154 002BADB4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BF158 002BADB8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BF15C 002BADBC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BF160 002BADC0 7C 08 03 A6 */ mtlr r0
+/* 802BF164 002BADC4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BF168 002BADC8 4E 80 00 20 */ blr
+
+bta_dm_disc_remname_cback:
+/* 802BF16C 002BADCC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BF170 002BADD0 7C 08 02 A6 */ mflr r0
+/* 802BF174 002BADD4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BF178 002BADD8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BF17C 002BADDC 3F E0 80 57 */ lis r31, lbl_80568798@ha
+/* 802BF180 002BADE0 3B FF 87 98 */ addi r31, r31, lbl_80568798@l
+/* 802BF184 002BADE4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BF188 002BADE8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BF18C 002BADEC 7C 7D 1B 78 */ mr r29, r3
+/* 802BF190 002BADF0 38 7F 00 58 */ addi r3, r31, 0x58
+/* 802BF194 002BADF4 4B FF E8 B5 */ bl bta_sys_stop_timer
+/* 802BF198 002BADF8 38 60 01 10 */ li r3, 0x110
+/* 802BF19C 002BADFC 4B FF A9 11 */ bl GKI_getbuf
+/* 802BF1A0 002BAE00 2C 03 00 00 */ cmpwi r3, 0
+/* 802BF1A4 002BAE04 7C 7E 1B 78 */ mr r30, r3
+/* 802BF1A8 002BAE08 41 82 00 30 */ beq lbl_802BF1D8
+/* 802BF1AC 002BAE0C 38 63 00 08 */ addi r3, r3, 8
+/* 802BF1B0 002BAE10 38 9F 00 1A */ addi r4, r31, 0x1a
+/* 802BF1B4 002BAE14 4B FF E3 AD */ bl bdcpy
+/* 802BF1B8 002BAE18 38 7E 00 0E */ addi r3, r30, 0xe
+/* 802BF1BC 002BAE1C 38 9D 00 04 */ addi r4, r29, 4
+/* 802BF1C0 002BAE20 38 A0 00 20 */ li r5, 0x20
+/* 802BF1C4 002BAE24 4B F0 F1 CD */ bl strncpy
+/* 802BF1C8 002BAE28 38 00 02 04 */ li r0, 0x204
+/* 802BF1CC 002BAE2C 7F C3 F3 78 */ mr r3, r30
+/* 802BF1D0 002BAE30 B0 1E 00 00 */ sth r0, 0(r30)
+/* 802BF1D4 002BAE34 4B FF E8 39 */ bl bta_sys_sendmsg
+lbl_802BF1D8:
+/* 802BF1D8 002BAE38 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BF1DC 002BAE3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BF1E0 002BAE40 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BF1E4 002BAE44 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BF1E8 002BAE48 7C 08 03 A6 */ mtlr r0
+/* 802BF1EC 002BAE4C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BF1F0 002BAE50 4E 80 00 20 */ blr
+
+bta_dm_cancel_rmt_name:
+/* 802BF1F4 002BAE54 48 00 8A BC */ b func_802C7CB0
+
+bta_dm_authorize_cback:
+/* 802BF1F8 002BAE58 94 21 FE D0 */ stwu r1, -0x130(r1)
+/* 802BF1FC 002BAE5C 7C 08 02 A6 */ mflr r0
+/* 802BF200 002BAE60 7C 64 1B 78 */ mr r4, r3
+/* 802BF204 002BAE64 90 01 01 34 */ stw r0, 0x134(r1)
+/* 802BF208 002BAE68 38 61 00 08 */ addi r3, r1, 8
+/* 802BF20C 002BAE6C 93 E1 01 2C */ stw r31, 0x12c(r1)
+/* 802BF210 002BAE70 3B E0 00 01 */ li r31, 1
+/* 802BF214 002BAE74 93 C1 01 28 */ stw r30, 0x128(r1)
+/* 802BF218 002BAE78 7C FE 3B 78 */ mr r30, r7
+/* 802BF21C 002BAE7C 93 A1 01 24 */ stw r29, 0x124(r1)
+/* 802BF220 002BAE80 7C BD 2B 78 */ mr r29, r5
+/* 802BF224 002BAE84 4B FF E3 3D */ bl bdcpy
+/* 802BF228 002BAE88 7F A4 EB 78 */ mr r4, r29
+/* 802BF22C 002BAE8C 38 61 00 0E */ addi r3, r1, 0xe
+/* 802BF230 002BAE90 38 A0 00 20 */ li r5, 0x20
+/* 802BF234 002BAE94 4B F0 F1 5D */ bl strncpy
+/* 802BF238 002BAE98 3C 60 80 40 */ lis r3, lbl_803FDB90@ha
+/* 802BF23C 002BAE9C 38 00 00 17 */ li r0, 0x17
+/* 802BF240 002BAEA0 38 63 DB 90 */ addi r3, r3, lbl_803FDB90@l
+/* 802BF244 002BAEA4 7C 09 03 A6 */ mtctr r0
+lbl_802BF248:
+/* 802BF248 002BAEA8 57 E0 15 BA */ rlwinm r0, r31, 2, 0x16, 0x1d
+/* 802BF24C 002BAEAC 7C 03 00 2E */ lwzx r0, r3, r0
+/* 802BF250 002BAEB0 7C 1E 00 40 */ cmplw r30, r0
+/* 802BF254 002BAEB4 40 82 00 0C */ bne lbl_802BF260
+/* 802BF258 002BAEB8 9B E1 01 06 */ stb r31, 0x106(r1)
+/* 802BF25C 002BAEBC 48 00 00 0C */ b lbl_802BF268
+lbl_802BF260:
+/* 802BF260 002BAEC0 3B FF 00 01 */ addi r31, r31, 1
+/* 802BF264 002BAEC4 42 00 FF E4 */ bdnz lbl_802BF248
+lbl_802BF268:
+/* 802BF268 002BAEC8 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF26C 002BAECC 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BF270 002BAED0 81 83 00 50 */ lwz r12, 0x50(r3)
+/* 802BF274 002BAED4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BF278 002BAED8 41 82 00 28 */ beq lbl_802BF2A0
+/* 802BF27C 002BAEDC 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802BF280 002BAEE0 28 00 00 17 */ cmplwi r0, 0x17
+/* 802BF284 002BAEE4 41 81 00 1C */ bgt lbl_802BF2A0
+/* 802BF288 002BAEE8 38 81 00 08 */ addi r4, r1, 8
+/* 802BF28C 002BAEEC 38 60 00 04 */ li r3, 4
+/* 802BF290 002BAEF0 7D 89 03 A6 */ mtctr r12
+/* 802BF294 002BAEF4 4E 80 04 21 */ bctrl
+/* 802BF298 002BAEF8 38 60 00 01 */ li r3, 1
+/* 802BF29C 002BAEFC 48 00 00 08 */ b lbl_802BF2A4
+lbl_802BF2A0:
+/* 802BF2A0 002BAF00 38 60 00 0B */ li r3, 0xb
+lbl_802BF2A4:
+/* 802BF2A4 002BAF04 80 01 01 34 */ lwz r0, 0x134(r1)
+/* 802BF2A8 002BAF08 83 E1 01 2C */ lwz r31, 0x12c(r1)
+/* 802BF2AC 002BAF0C 83 C1 01 28 */ lwz r30, 0x128(r1)
+/* 802BF2B0 002BAF10 83 A1 01 24 */ lwz r29, 0x124(r1)
+/* 802BF2B4 002BAF14 7C 08 03 A6 */ mtlr r0
+/* 802BF2B8 002BAF18 38 21 01 30 */ addi r1, r1, 0x130
+/* 802BF2BC 002BAF1C 4E 80 00 20 */ blr
+
+bta_dm_pinname_cback:
+/* 802BF2C0 002BAF20 94 21 FE E0 */ stwu r1, -0x120(r1)
+/* 802BF2C4 002BAF24 7C 08 02 A6 */ mflr r0
+/* 802BF2C8 002BAF28 90 01 01 24 */ stw r0, 0x124(r1)
+/* 802BF2CC 002BAF2C 93 E1 01 1C */ stw r31, 0x11c(r1)
+/* 802BF2D0 002BAF30 3F E0 80 57 */ lis r31, lbl_80568814@ha
+/* 802BF2D4 002BAF34 3B FF 88 14 */ addi r31, r31, lbl_80568814@l
+/* 802BF2D8 002BAF38 93 C1 01 18 */ stw r30, 0x118(r1)
+/* 802BF2DC 002BAF3C 7C 7E 1B 78 */ mr r30, r3
+/* 802BF2E0 002BAF40 38 61 00 08 */ addi r3, r1, 8
+/* 802BF2E4 002BAF44 38 9F 00 F8 */ addi r4, r31, 0xf8
+/* 802BF2E8 002BAF48 4B FF E2 79 */ bl bdcpy
+/* 802BF2EC 002BAF4C 88 9F 00 FE */ lbz r4, 0xfe(r31)
+/* 802BF2F0 002BAF50 2C 1E 00 00 */ cmpwi r30, 0
+/* 802BF2F4 002BAF54 88 7F 00 FF */ lbz r3, 0xff(r31)
+/* 802BF2F8 002BAF58 88 1F 01 00 */ lbz r0, 0x100(r31)
+/* 802BF2FC 002BAF5C 98 81 01 06 */ stb r4, 0x106(r1)
+/* 802BF300 002BAF60 98 61 01 07 */ stb r3, 0x107(r1)
+/* 802BF304 002BAF64 98 01 01 08 */ stb r0, 0x108(r1)
+/* 802BF308 002BAF68 41 82 00 3C */ beq lbl_802BF344
+/* 802BF30C 002BAF6C A0 1E 00 00 */ lhz r0, 0(r30)
+/* 802BF310 002BAF70 2C 00 00 00 */ cmpwi r0, 0
+/* 802BF314 002BAF74 40 82 00 30 */ bne lbl_802BF344
+/* 802BF318 002BAF78 A0 1E 00 02 */ lhz r0, 2(r30)
+/* 802BF31C 002BAF7C 38 61 00 0E */ addi r3, r1, 0xe
+/* 802BF320 002BAF80 38 9E 00 04 */ addi r4, r30, 4
+/* 802BF324 002BAF84 38 A0 00 20 */ li r5, 0x20
+/* 802BF328 002BAF88 28 00 00 20 */ cmplwi r0, 0x20
+/* 802BF32C 002BAF8C 40 80 00 08 */ bge lbl_802BF334
+/* 802BF330 002BAF90 7C 05 03 78 */ mr r5, r0
+lbl_802BF334:
+/* 802BF334 002BAF94 4B D4 4C CD */ bl memcpy
+/* 802BF338 002BAF98 38 00 00 00 */ li r0, 0
+/* 802BF33C 002BAF9C 98 01 00 2E */ stb r0, 0x2e(r1)
+/* 802BF340 002BAFA0 48 00 00 0C */ b lbl_802BF34C
+lbl_802BF344:
+/* 802BF344 002BAFA4 38 00 00 00 */ li r0, 0
+/* 802BF348 002BAFA8 98 01 00 0E */ stb r0, 0xe(r1)
+lbl_802BF34C:
+/* 802BF34C 002BAFAC 3C A0 80 57 */ lis r5, lbl_80568814@ha
+/* 802BF350 002BAFB0 38 81 00 08 */ addi r4, r1, 8
+/* 802BF354 002BAFB4 38 A5 88 14 */ addi r5, r5, lbl_80568814@l
+/* 802BF358 002BAFB8 38 60 00 02 */ li r3, 2
+/* 802BF35C 002BAFBC 81 85 00 50 */ lwz r12, 0x50(r5)
+/* 802BF360 002BAFC0 7D 89 03 A6 */ mtctr r12
+/* 802BF364 002BAFC4 4E 80 04 21 */ bctrl
+/* 802BF368 002BAFC8 80 01 01 24 */ lwz r0, 0x124(r1)
+/* 802BF36C 002BAFCC 83 E1 01 1C */ lwz r31, 0x11c(r1)
+/* 802BF370 002BAFD0 83 C1 01 18 */ lwz r30, 0x118(r1)
+/* 802BF374 002BAFD4 7C 08 03 A6 */ mtlr r0
+/* 802BF378 002BAFD8 38 21 01 20 */ addi r1, r1, 0x120
+/* 802BF37C 002BAFDC 4E 80 00 20 */ blr
+
+bta_dm_pin_cback:
+/* 802BF380 002BAFE0 94 21 FE D0 */ stwu r1, -0x130(r1)
+/* 802BF384 002BAFE4 7C 08 02 A6 */ mflr r0
+/* 802BF388 002BAFE8 90 01 01 34 */ stw r0, 0x134(r1)
+/* 802BF38C 002BAFEC 93 E1 01 2C */ stw r31, 0x12c(r1)
+/* 802BF390 002BAFF0 3F E0 80 57 */ lis r31, lbl_80568814@ha
+/* 802BF394 002BAFF4 3B FF 88 14 */ addi r31, r31, lbl_80568814@l
+/* 802BF398 002BAFF8 93 C1 01 28 */ stw r30, 0x128(r1)
+/* 802BF39C 002BAFFC 7C BE 2B 78 */ mr r30, r5
+/* 802BF3A0 002BB000 93 A1 01 24 */ stw r29, 0x124(r1)
+/* 802BF3A4 002BB004 7C 9D 23 78 */ mr r29, r4
+/* 802BF3A8 002BB008 93 81 01 20 */ stw r28, 0x120(r1)
+/* 802BF3AC 002BB00C 7C 7C 1B 78 */ mr r28, r3
+/* 802BF3B0 002BB010 80 1F 00 50 */ lwz r0, 0x50(r31)
+/* 802BF3B4 002BB014 2C 00 00 00 */ cmpwi r0, 0
+/* 802BF3B8 002BB018 40 82 00 0C */ bne lbl_802BF3C4
+/* 802BF3BC 002BB01C 38 60 00 0B */ li r3, 0xb
+/* 802BF3C0 002BB020 48 00 00 D0 */ b lbl_802BF490
+lbl_802BF3C4:
+/* 802BF3C4 002BB024 88 05 00 00 */ lbz r0, 0(r5)
+/* 802BF3C8 002BB028 2C 00 00 00 */ cmpwi r0, 0
+/* 802BF3CC 002BB02C 40 82 00 68 */ bne lbl_802BF434
+/* 802BF3D0 002BB030 7F 84 E3 78 */ mr r4, r28
+/* 802BF3D4 002BB034 38 7F 00 F8 */ addi r3, r31, 0xf8
+/* 802BF3D8 002BB038 4B FF E1 89 */ bl bdcpy
+/* 802BF3DC 002BB03C 88 1D 00 00 */ lbz r0, 0(r29)
+/* 802BF3E0 002BB040 3C 80 80 2C */ lis r4, bta_dm_pinname_cback@ha
+/* 802BF3E4 002BB044 7F 83 E3 78 */ mr r3, r28
+/* 802BF3E8 002BB048 98 1F 00 FE */ stb r0, 0xfe(r31)
+/* 802BF3EC 002BB04C 38 84 F2 C0 */ addi r4, r4, bta_dm_pinname_cback@l
+/* 802BF3F0 002BB050 88 1D 00 01 */ lbz r0, 1(r29)
+/* 802BF3F4 002BB054 98 1F 00 FF */ stb r0, 0xff(r31)
+/* 802BF3F8 002BB058 88 1D 00 02 */ lbz r0, 2(r29)
+/* 802BF3FC 002BB05C 98 1F 01 00 */ stb r0, 0x100(r31)
+/* 802BF400 002BB060 48 00 87 C9 */ bl func_802C7BC8
+/* 802BF404 002BB064 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802BF408 002BB068 28 00 00 01 */ cmplwi r0, 1
+/* 802BF40C 002BB06C 40 82 00 0C */ bne lbl_802BF418
+/* 802BF410 002BB070 38 60 00 01 */ li r3, 1
+/* 802BF414 002BB074 48 00 00 7C */ b lbl_802BF490
+lbl_802BF418:
+/* 802BF418 002BB078 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BF41C 002BB07C 28 00 00 02 */ cmplwi r0, 2
+/* 802BF420 002BB080 41 80 00 14 */ blt lbl_802BF434
+/* 802BF424 002BB084 3C 80 80 44 */ lis r4, lbl_804400A8@ha
+/* 802BF428 002BB088 38 60 05 01 */ li r3, 0x501
+/* 802BF42C 002BB08C 38 84 00 A8 */ addi r4, r4, lbl_804400A8@l
+/* 802BF430 002BB090 4B FF DA E1 */ bl LogMsg_0
+lbl_802BF434:
+/* 802BF434 002BB094 7F 84 E3 78 */ mr r4, r28
+/* 802BF438 002BB098 38 61 00 08 */ addi r3, r1, 8
+/* 802BF43C 002BB09C 4B FF E1 25 */ bl bdcpy
+/* 802BF440 002BB0A0 88 1D 00 00 */ lbz r0, 0(r29)
+/* 802BF444 002BB0A4 7F C4 F3 78 */ mr r4, r30
+/* 802BF448 002BB0A8 38 61 00 0E */ addi r3, r1, 0xe
+/* 802BF44C 002BB0AC 38 A0 00 20 */ li r5, 0x20
+/* 802BF450 002BB0B0 98 01 01 06 */ stb r0, 0x106(r1)
+/* 802BF454 002BB0B4 88 1D 00 01 */ lbz r0, 1(r29)
+/* 802BF458 002BB0B8 98 01 01 07 */ stb r0, 0x107(r1)
+/* 802BF45C 002BB0BC 88 1D 00 02 */ lbz r0, 2(r29)
+/* 802BF460 002BB0C0 98 01 01 08 */ stb r0, 0x108(r1)
+/* 802BF464 002BB0C4 4B F0 EF 2D */ bl strncpy
+/* 802BF468 002BB0C8 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF46C 002BB0CC 38 00 00 00 */ li r0, 0
+/* 802BF470 002BB0D0 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BF474 002BB0D4 98 01 00 2E */ stb r0, 0x2e(r1)
+/* 802BF478 002BB0D8 81 83 00 50 */ lwz r12, 0x50(r3)
+/* 802BF47C 002BB0DC 38 81 00 08 */ addi r4, r1, 8
+/* 802BF480 002BB0E0 38 60 00 02 */ li r3, 2
+/* 802BF484 002BB0E4 7D 89 03 A6 */ mtctr r12
+/* 802BF488 002BB0E8 4E 80 04 21 */ bctrl
+/* 802BF48C 002BB0EC 38 60 00 01 */ li r3, 1
+lbl_802BF490:
+/* 802BF490 002BB0F0 80 01 01 34 */ lwz r0, 0x134(r1)
+/* 802BF494 002BB0F4 83 E1 01 2C */ lwz r31, 0x12c(r1)
+/* 802BF498 002BB0F8 83 C1 01 28 */ lwz r30, 0x128(r1)
+/* 802BF49C 002BB0FC 83 A1 01 24 */ lwz r29, 0x124(r1)
+/* 802BF4A0 002BB100 83 81 01 20 */ lwz r28, 0x120(r1)
+/* 802BF4A4 002BB104 7C 08 03 A6 */ mtlr r0
+/* 802BF4A8 002BB108 38 21 01 30 */ addi r1, r1, 0x130
+/* 802BF4AC 002BB10C 4E 80 00 20 */ blr
+
+bta_dm_link_key_request_cback:
+/* 802BF4B0 002BB110 38 60 00 0B */ li r3, 0xb
+/* 802BF4B4 002BB114 4E 80 00 20 */ blr
+
+bta_dm_new_link_key_cback:
+/* 802BF4B8 002BB118 94 21 FE E0 */ stwu r1, -0x120(r1)
+/* 802BF4BC 002BB11C 7C 08 02 A6 */ mflr r0
+/* 802BF4C0 002BB120 7C 64 1B 78 */ mr r4, r3
+/* 802BF4C4 002BB124 90 01 01 24 */ stw r0, 0x124(r1)
+/* 802BF4C8 002BB128 38 61 00 08 */ addi r3, r1, 8
+/* 802BF4CC 002BB12C 93 E1 01 1C */ stw r31, 0x11c(r1)
+/* 802BF4D0 002BB130 7C DF 33 78 */ mr r31, r6
+/* 802BF4D4 002BB134 93 C1 01 18 */ stw r30, 0x118(r1)
+/* 802BF4D8 002BB138 7C BE 2B 78 */ mr r30, r5
+/* 802BF4DC 002BB13C 4B FF E0 85 */ bl bdcpy
+/* 802BF4E0 002BB140 7F C4 F3 78 */ mr r4, r30
+/* 802BF4E4 002BB144 38 61 00 0E */ addi r3, r1, 0xe
+/* 802BF4E8 002BB148 38 A0 00 1F */ li r5, 0x1f
+/* 802BF4EC 002BB14C 4B D4 4B 15 */ bl memcpy
+/* 802BF4F0 002BB150 38 00 00 00 */ li r0, 0
+/* 802BF4F4 002BB154 7F E4 FB 78 */ mr r4, r31
+/* 802BF4F8 002BB158 98 01 00 2D */ stb r0, 0x2d(r1)
+/* 802BF4FC 002BB15C 38 61 01 07 */ addi r3, r1, 0x107
+/* 802BF500 002BB160 38 A0 00 10 */ li r5, 0x10
+/* 802BF504 002BB164 4B D4 4A FD */ bl memcpy
+/* 802BF508 002BB168 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF50C 002BB16C 38 00 00 01 */ li r0, 1
+/* 802BF510 002BB170 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BF514 002BB174 98 01 01 06 */ stb r0, 0x106(r1)
+/* 802BF518 002BB178 81 83 00 50 */ lwz r12, 0x50(r3)
+/* 802BF51C 002BB17C 98 01 01 17 */ stb r0, 0x117(r1)
+/* 802BF520 002BB180 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BF524 002BB184 41 82 00 14 */ beq lbl_802BF538
+/* 802BF528 002BB188 38 81 00 08 */ addi r4, r1, 8
+/* 802BF52C 002BB18C 38 60 00 03 */ li r3, 3
+/* 802BF530 002BB190 7D 89 03 A6 */ mtctr r12
+/* 802BF534 002BB194 4E 80 04 21 */ bctrl
+lbl_802BF538:
+/* 802BF538 002BB198 83 E1 01 1C */ lwz r31, 0x11c(r1)
+/* 802BF53C 002BB19C 38 60 00 01 */ li r3, 1
+/* 802BF540 002BB1A0 83 C1 01 18 */ lwz r30, 0x118(r1)
+/* 802BF544 002BB1A4 80 01 01 24 */ lwz r0, 0x124(r1)
+/* 802BF548 002BB1A8 7C 08 03 A6 */ mtlr r0
+/* 802BF54C 002BB1AC 38 21 01 20 */ addi r1, r1, 0x120
+/* 802BF550 002BB1B0 4E 80 00 20 */ blr
+
+bta_dm_authentication_complete_cback:
+/* 802BF554 002BB1B4 94 21 FE E0 */ stwu r1, -0x120(r1)
+/* 802BF558 002BB1B8 7C 08 02 A6 */ mflr r0
+/* 802BF55C 002BB1BC 2C 06 00 00 */ cmpwi r6, 0
+/* 802BF560 002BB1C0 90 01 01 24 */ stw r0, 0x124(r1)
+/* 802BF564 002BB1C4 93 E1 01 1C */ stw r31, 0x11c(r1)
+/* 802BF568 002BB1C8 7C BF 2B 78 */ mr r31, r5
+/* 802BF56C 002BB1CC 41 82 00 54 */ beq lbl_802BF5C0
+/* 802BF570 002BB1D0 7C 64 1B 78 */ mr r4, r3
+/* 802BF574 002BB1D4 38 61 00 08 */ addi r3, r1, 8
+/* 802BF578 002BB1D8 4B FF DF E9 */ bl bdcpy
+/* 802BF57C 002BB1DC 7F E4 FB 78 */ mr r4, r31
+/* 802BF580 002BB1E0 38 61 00 0E */ addi r3, r1, 0xe
+/* 802BF584 002BB1E4 38 A0 00 1F */ li r5, 0x1f
+/* 802BF588 002BB1E8 4B D4 4A 79 */ bl memcpy
+/* 802BF58C 002BB1EC 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF590 002BB1F0 38 00 00 00 */ li r0, 0
+/* 802BF594 002BB1F4 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BF598 002BB1F8 98 01 00 2D */ stb r0, 0x2d(r1)
+/* 802BF59C 002BB1FC 81 83 00 50 */ lwz r12, 0x50(r3)
+/* 802BF5A0 002BB200 98 01 01 17 */ stb r0, 0x117(r1)
+/* 802BF5A4 002BB204 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BF5A8 002BB208 98 01 01 06 */ stb r0, 0x106(r1)
+/* 802BF5AC 002BB20C 41 82 00 14 */ beq lbl_802BF5C0
+/* 802BF5B0 002BB210 38 81 00 08 */ addi r4, r1, 8
+/* 802BF5B4 002BB214 38 60 00 03 */ li r3, 3
+/* 802BF5B8 002BB218 7D 89 03 A6 */ mtctr r12
+/* 802BF5BC 002BB21C 4E 80 04 21 */ bctrl
+lbl_802BF5C0:
+/* 802BF5C0 002BB220 83 E1 01 1C */ lwz r31, 0x11c(r1)
+/* 802BF5C4 002BB224 38 60 00 00 */ li r3, 0
+/* 802BF5C8 002BB228 80 01 01 24 */ lwz r0, 0x124(r1)
+/* 802BF5CC 002BB22C 7C 08 03 A6 */ mtlr r0
+/* 802BF5D0 002BB230 38 21 01 20 */ addi r1, r1, 0x120
+/* 802BF5D4 002BB234 4E 80 00 20 */ blr
+
+bta_dm_local_addr_cback:
+/* 802BF5D8 002BB238 3C 80 80 57 */ lis r4, lbl_80568814@ha
+/* 802BF5DC 002BB23C 38 84 88 14 */ addi r4, r4, lbl_80568814@l
+/* 802BF5E0 002BB240 81 84 00 50 */ lwz r12, 0x50(r4)
+/* 802BF5E4 002BB244 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BF5E8 002BB248 4D 82 00 20 */ beqlr
+/* 802BF5EC 002BB24C 7C 64 1B 78 */ mr r4, r3
+/* 802BF5F0 002BB250 38 60 00 00 */ li r3, 0
+/* 802BF5F4 002BB254 7D 89 03 A6 */ mtctr r12
+/* 802BF5F8 002BB258 4E 80 04 20 */ bctr
+/* 802BF5FC 002BB25C 4E 80 00 20 */ blr
+
+bta_dm_signal_strength:
+/* 802BF600 002BB260 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 802BF604 002BB264 2C 00 00 00 */ cmpwi r0, 0
+/* 802BF608 002BB268 41 82 00 24 */ beq lbl_802BF62C
+/* 802BF60C 002BB26C 3C 80 80 57 */ lis r4, lbl_80568814@ha
+/* 802BF610 002BB270 88 03 00 08 */ lbz r0, 8(r3)
+/* 802BF614 002BB274 38 84 88 14 */ addi r4, r4, lbl_80568814@l
+/* 802BF618 002BB278 98 04 00 6C */ stb r0, 0x6c(r4)
+/* 802BF61C 002BB27C A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 802BF620 002BB280 38 60 00 00 */ li r3, 0
+/* 802BF624 002BB284 B0 04 00 70 */ sth r0, 0x70(r4)
+/* 802BF628 002BB288 48 00 00 14 */ b bta_dm_signal_strength_timer_cback
+lbl_802BF62C:
+/* 802BF62C 002BB28C 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF630 002BB290 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BF634 002BB294 38 63 00 54 */ addi r3, r3, 0x54
+/* 802BF638 002BB298 4B FF E4 10 */ b bta_sys_stop_timer
+
+bta_dm_signal_strength_timer_cback:
+/* 802BF63C 002BB29C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BF640 002BB2A0 7C 08 02 A6 */ mflr r0
+/* 802BF644 002BB2A4 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF648 002BB2A8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BF64C 002BB2AC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BF650 002BB2B0 3B E3 88 14 */ addi r31, r3, lbl_80568814@l
+/* 802BF654 002BB2B4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BF658 002BB2B8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BF65C 002BB2BC 88 1F 00 6C */ lbz r0, 0x6c(r31)
+/* 802BF660 002BB2C0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802BF664 002BB2C4 41 82 00 38 */ beq lbl_802BF69C
+/* 802BF668 002BB2C8 3B A0 00 00 */ li r29, 0
+/* 802BF66C 002BB2CC 3F C0 80 2C */ lis r30, 0x802c
+/* 802BF670 002BB2D0 48 00 00 1C */ b lbl_802BF68C
+lbl_802BF674:
+/* 802BF674 002BB2D4 57 A0 06 3E */ clrlwi r0, r29, 0x18
+/* 802BF678 002BB2D8 38 9E FA 3C */ addi r4, r30, -1476
+/* 802BF67C 002BB2DC 1C 00 00 0B */ mulli r0, r0, 0xb
+/* 802BF680 002BB2E0 7C 7F 02 14 */ add r3, r31, r0
+/* 802BF684 002BB2E4 48 00 53 65 */ bl func_802C49E8
+/* 802BF688 002BB2E8 3B BD 00 01 */ addi r29, r29, 1
+lbl_802BF68C:
+/* 802BF68C 002BB2EC 88 1F 00 4D */ lbz r0, 0x4d(r31)
+/* 802BF690 002BB2F0 57 A3 06 3E */ clrlwi r3, r29, 0x18
+/* 802BF694 002BB2F4 7C 03 00 40 */ cmplw r3, r0
+/* 802BF698 002BB2F8 41 80 FF DC */ blt lbl_802BF674
+lbl_802BF69C:
+/* 802BF69C 002BB2FC 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF6A0 002BB300 3B C3 88 14 */ addi r30, r3, lbl_80568814@l
+/* 802BF6A4 002BB304 88 1E 00 6C */ lbz r0, 0x6c(r30)
+/* 802BF6A8 002BB308 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802BF6AC 002BB30C 41 82 00 38 */ beq lbl_802BF6E4
+/* 802BF6B0 002BB310 3B A0 00 00 */ li r29, 0
+/* 802BF6B4 002BB314 3F E0 80 2C */ lis r31, 0x802c
+/* 802BF6B8 002BB318 48 00 00 1C */ b lbl_802BF6D4
+lbl_802BF6BC:
+/* 802BF6BC 002BB31C 57 A0 06 3E */ clrlwi r0, r29, 0x18
+/* 802BF6C0 002BB320 38 9F FA A8 */ addi r4, r31, -1368
+/* 802BF6C4 002BB324 1C 00 00 0B */ mulli r0, r0, 0xb
+/* 802BF6C8 002BB328 7C 7E 02 14 */ add r3, r30, r0
+/* 802BF6CC 002BB32C 48 00 54 59 */ bl func_802C4B24
+/* 802BF6D0 002BB330 3B BD 00 01 */ addi r29, r29, 1
+lbl_802BF6D4:
+/* 802BF6D4 002BB334 88 1E 00 4D */ lbz r0, 0x4d(r30)
+/* 802BF6D8 002BB338 57 A3 06 3E */ clrlwi r3, r29, 0x18
+/* 802BF6DC 002BB33C 7C 03 00 40 */ cmplw r3, r0
+/* 802BF6E0 002BB340 41 80 FF DC */ blt lbl_802BF6BC
+lbl_802BF6E4:
+/* 802BF6E4 002BB344 3C E0 80 57 */ lis r7, lbl_80568814@ha
+/* 802BF6E8 002BB348 38 E7 88 14 */ addi r7, r7, lbl_80568814@l
+/* 802BF6EC 002BB34C A0 07 00 70 */ lhz r0, 0x70(r7)
+/* 802BF6F0 002BB350 2C 00 00 00 */ cmpwi r0, 0
+/* 802BF6F4 002BB354 41 82 00 20 */ beq lbl_802BF714
+/* 802BF6F8 002BB358 3C C0 80 2C */ lis r6, bta_dm_signal_strength_timer_cback@ha
+/* 802BF6FC 002BB35C 38 67 00 54 */ addi r3, r7, 0x54
+/* 802BF700 002BB360 38 C6 F6 3C */ addi r6, r6, bta_dm_signal_strength_timer_cback@l
+/* 802BF704 002BB364 38 80 00 00 */ li r4, 0
+/* 802BF708 002BB368 1C A0 03 E8 */ mulli r5, r0, 0x3e8
+/* 802BF70C 002BB36C 90 C7 00 5C */ stw r6, 0x5c(r7)
+/* 802BF710 002BB370 4B FF E3 19 */ bl bta_sys_start_timer
+lbl_802BF714:
+/* 802BF714 002BB374 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BF718 002BB378 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BF71C 002BB37C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BF720 002BB380 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BF724 002BB384 7C 08 03 A6 */ mtlr r0
+/* 802BF728 002BB388 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BF72C 002BB38C 4E 80 00 20 */ blr
+
+bta_dm_acl_change_cback:
+/* 802BF730 002BB390 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BF734 002BB394 7C 08 02 A6 */ mflr r0
+/* 802BF738 002BB398 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BF73C 002BB39C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BF740 002BB3A0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BF744 002BB3A4 7C FE 3B 78 */ mr r30, r7
+/* 802BF748 002BB3A8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BF74C 002BB3AC 7C 7D 1B 78 */ mr r29, r3
+/* 802BF750 002BB3B0 38 60 00 12 */ li r3, 0x12
+/* 802BF754 002BB3B4 4B FF A3 59 */ bl GKI_getbuf
+/* 802BF758 002BB3B8 2C 03 00 00 */ cmpwi r3, 0
+/* 802BF75C 002BB3BC 7C 7F 1B 78 */ mr r31, r3
+/* 802BF760 002BB3C0 41 82 00 24 */ beq lbl_802BF784
+/* 802BF764 002BB3C4 7F A4 EB 78 */ mr r4, r29
+/* 802BF768 002BB3C8 38 63 00 0B */ addi r3, r3, 0xb
+/* 802BF76C 002BB3CC 4B FF DD F5 */ bl bdcpy
+/* 802BF770 002BB3D0 9B DF 00 0A */ stb r30, 0xa(r31)
+/* 802BF774 002BB3D4 38 00 01 05 */ li r0, 0x105
+/* 802BF778 002BB3D8 7F E3 FB 78 */ mr r3, r31
+/* 802BF77C 002BB3DC B0 1F 00 00 */ sth r0, 0(r31)
+/* 802BF780 002BB3E0 4B FF E2 8D */ bl bta_sys_sendmsg
+lbl_802BF784:
+/* 802BF784 002BB3E4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BF788 002BB3E8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BF78C 002BB3EC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BF790 002BB3F0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BF794 002BB3F4 7C 08 03 A6 */ mtlr r0
+/* 802BF798 002BB3F8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BF79C 002BB3FC 4E 80 00 20 */ blr
+
+bta_dm_acl_change:
+/* 802BF7A0 002BB400 94 21 FE D0 */ stwu r1, -0x130(r1)
+/* 802BF7A4 002BB404 7C 08 02 A6 */ mflr r0
+/* 802BF7A8 002BB408 90 01 01 34 */ stw r0, 0x134(r1)
+/* 802BF7AC 002BB40C 93 E1 01 2C */ stw r31, 0x12c(r1)
+/* 802BF7B0 002BB410 3B E3 00 0B */ addi r31, r3, 0xb
+/* 802BF7B4 002BB414 93 C1 01 28 */ stw r30, 0x128(r1)
+/* 802BF7B8 002BB418 93 A1 01 24 */ stw r29, 0x124(r1)
+/* 802BF7BC 002BB41C 88 03 00 0A */ lbz r0, 0xa(r3)
+/* 802BF7C0 002BB420 2C 00 00 00 */ cmpwi r0, 0
+/* 802BF7C4 002BB424 41 82 00 C0 */ beq lbl_802BF884
+/* 802BF7C8 002BB428 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF7CC 002BB42C 3B A0 00 00 */ li r29, 0
+/* 802BF7D0 002BB430 3B C3 88 14 */ addi r30, r3, lbl_80568814@l
+/* 802BF7D4 002BB434 48 00 00 24 */ b lbl_802BF7F8
+lbl_802BF7D8:
+/* 802BF7D8 002BB438 57 A0 06 3E */ clrlwi r0, r29, 0x18
+/* 802BF7DC 002BB43C 7F E4 FB 78 */ mr r4, r31
+/* 802BF7E0 002BB440 1C 00 00 0B */ mulli r0, r0, 0xb
+/* 802BF7E4 002BB444 7C 7E 02 14 */ add r3, r30, r0
+/* 802BF7E8 002BB448 4B FF DD AD */ bl bdcmp
+/* 802BF7EC 002BB44C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BF7F0 002BB450 41 82 00 18 */ beq lbl_802BF808
+/* 802BF7F4 002BB454 3B BD 00 01 */ addi r29, r29, 1
+lbl_802BF7F8:
+/* 802BF7F8 002BB458 88 1E 00 4D */ lbz r0, 0x4d(r30)
+/* 802BF7FC 002BB45C 57 A3 06 3E */ clrlwi r3, r29, 0x18
+/* 802BF800 002BB460 7C 03 00 40 */ cmplw r3, r0
+/* 802BF804 002BB464 41 80 FF D4 */ blt lbl_802BF7D8
+lbl_802BF808:
+/* 802BF808 002BB468 3F C0 80 57 */ lis r30, lbl_80568814@ha
+/* 802BF80C 002BB46C 57 A0 06 3E */ clrlwi r0, r29, 0x18
+/* 802BF810 002BB470 3B DE 88 14 */ addi r30, r30, lbl_80568814@l
+/* 802BF814 002BB474 88 7E 00 4D */ lbz r3, 0x4d(r30)
+/* 802BF818 002BB478 7C 00 18 40 */ cmplw r0, r3
+/* 802BF81C 002BB47C 40 82 00 20 */ bne lbl_802BF83C
+/* 802BF820 002BB480 1C 03 00 0B */ mulli r0, r3, 0xb
+/* 802BF824 002BB484 7F E4 FB 78 */ mr r4, r31
+/* 802BF828 002BB488 7C 7E 02 14 */ add r3, r30, r0
+/* 802BF82C 002BB48C 4B FF DD 35 */ bl bdcpy
+/* 802BF830 002BB490 88 7E 00 4D */ lbz r3, 0x4d(r30)
+/* 802BF834 002BB494 38 03 00 01 */ addi r0, r3, 1
+/* 802BF838 002BB498 98 1E 00 4D */ stb r0, 0x4d(r30)
+lbl_802BF83C:
+/* 802BF83C 002BB49C 57 A0 06 3E */ clrlwi r0, r29, 0x18
+/* 802BF840 002BB4A0 3F C0 80 57 */ lis r30, lbl_80568814@ha
+/* 802BF844 002BB4A4 1C 80 00 0B */ mulli r4, r0, 0xb
+/* 802BF848 002BB4A8 38 60 00 01 */ li r3, 1
+/* 802BF84C 002BB4AC 3B DE 88 14 */ addi r30, r30, lbl_80568814@l
+/* 802BF850 002BB4B0 38 00 00 00 */ li r0, 0
+/* 802BF854 002BB4B4 7C BE 22 14 */ add r5, r30, r4
+/* 802BF858 002BB4B8 98 65 00 06 */ stb r3, 6(r5)
+/* 802BF85C 002BB4BC 7F E4 FB 78 */ mr r4, r31
+/* 802BF860 002BB4C0 38 61 00 08 */ addi r3, r1, 8
+/* 802BF864 002BB4C4 98 05 00 07 */ stb r0, 7(r5)
+/* 802BF868 002BB4C8 4B FF DC F9 */ bl bdcpy
+/* 802BF86C 002BB4CC 81 9E 00 50 */ lwz r12, 0x50(r30)
+/* 802BF870 002BB4D0 38 81 00 08 */ addi r4, r1, 8
+/* 802BF874 002BB4D4 38 60 00 05 */ li r3, 5
+/* 802BF878 002BB4D8 7D 89 03 A6 */ mtctr r12
+/* 802BF87C 002BB4DC 4E 80 04 21 */ bctrl
+/* 802BF880 002BB4E0 48 00 01 84 */ b lbl_802BFA04
+lbl_802BF884:
+/* 802BF884 002BB4E4 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF888 002BB4E8 3B A0 00 00 */ li r29, 0
+/* 802BF88C 002BB4EC 3B C3 88 14 */ addi r30, r3, lbl_80568814@l
+/* 802BF890 002BB4F0 48 00 00 68 */ b lbl_802BF8F8
+lbl_802BF894:
+/* 802BF894 002BB4F4 57 A0 06 3E */ clrlwi r0, r29, 0x18
+/* 802BF898 002BB4F8 7F E4 FB 78 */ mr r4, r31
+/* 802BF89C 002BB4FC 1C 00 00 0B */ mulli r0, r0, 0xb
+/* 802BF8A0 002BB500 7C 7E 02 14 */ add r3, r30, r0
+/* 802BF8A4 002BB504 4B FF DC F1 */ bl bdcmp
+/* 802BF8A8 002BB508 2C 03 00 00 */ cmpwi r3, 0
+/* 802BF8AC 002BB50C 40 82 00 48 */ bne lbl_802BF8F4
+/* 802BF8B0 002BB510 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BF8B4 002BB514 3B C3 88 14 */ addi r30, r3, lbl_80568814@l
+/* 802BF8B8 002BB518 48 00 00 28 */ b lbl_802BF8E0
+lbl_802BF8BC:
+/* 802BF8BC 002BB51C 57 A3 06 3E */ clrlwi r3, r29, 0x18
+/* 802BF8C0 002BB520 38 A0 00 0B */ li r5, 0xb
+/* 802BF8C4 002BB524 38 03 00 01 */ addi r0, r3, 1
+/* 802BF8C8 002BB528 1C 63 00 0B */ mulli r3, r3, 0xb
+/* 802BF8CC 002BB52C 1C 00 00 0B */ mulli r0, r0, 0xb
+/* 802BF8D0 002BB530 7C 7E 1A 14 */ add r3, r30, r3
+/* 802BF8D4 002BB534 7C 9E 02 14 */ add r4, r30, r0
+/* 802BF8D8 002BB538 4B D4 47 29 */ bl memcpy
+/* 802BF8DC 002BB53C 3B BD 00 01 */ addi r29, r29, 1
+lbl_802BF8E0:
+/* 802BF8E0 002BB540 88 1E 00 4D */ lbz r0, 0x4d(r30)
+/* 802BF8E4 002BB544 57 A3 06 3E */ clrlwi r3, r29, 0x18
+/* 802BF8E8 002BB548 7C 03 00 40 */ cmplw r3, r0
+/* 802BF8EC 002BB54C 41 80 FF D0 */ blt lbl_802BF8BC
+/* 802BF8F0 002BB550 48 00 00 18 */ b lbl_802BF908
+lbl_802BF8F4:
+/* 802BF8F4 002BB554 3B BD 00 01 */ addi r29, r29, 1
+lbl_802BF8F8:
+/* 802BF8F8 002BB558 88 1E 00 4D */ lbz r0, 0x4d(r30)
+/* 802BF8FC 002BB55C 57 A3 06 3E */ clrlwi r3, r29, 0x18
+/* 802BF900 002BB560 7C 03 00 40 */ cmplw r3, r0
+/* 802BF904 002BB564 41 80 FF 90 */ blt lbl_802BF894
+lbl_802BF908:
+/* 802BF908 002BB568 3C 80 80 57 */ lis r4, lbl_80568814@ha
+/* 802BF90C 002BB56C 3F C0 80 57 */ lis r30, lbl_80568798@ha
+/* 802BF910 002BB570 38 84 88 14 */ addi r4, r4, lbl_80568814@l
+/* 802BF914 002BB574 3B DE 87 98 */ addi r30, r30, lbl_80568798@l
+/* 802BF918 002BB578 88 64 00 4D */ lbz r3, 0x4d(r4)
+/* 802BF91C 002BB57C 88 1E 00 78 */ lbz r0, 0x78(r30)
+/* 802BF920 002BB580 38 63 FF FF */ addi r3, r3, -1
+/* 802BF924 002BB584 2C 00 00 00 */ cmpwi r0, 0
+/* 802BF928 002BB588 98 64 00 4D */ stb r3, 0x4d(r4)
+/* 802BF92C 002BB58C 41 82 00 5C */ beq lbl_802BF988
+/* 802BF930 002BB590 7F E4 FB 78 */ mr r4, r31
+/* 802BF934 002BB594 38 7E 00 1A */ addi r3, r30, 0x1a
+/* 802BF938 002BB598 4B FF DC 5D */ bl bdcmp
+/* 802BF93C 002BB59C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BF940 002BB5A0 40 82 00 48 */ bne lbl_802BF988
+/* 802BF944 002BB5A4 88 1E 00 79 */ lbz r0, 0x79(r30)
+/* 802BF948 002BB5A8 38 60 00 00 */ li r3, 0
+/* 802BF94C 002BB5AC 98 7E 00 78 */ stb r3, 0x78(r30)
+/* 802BF950 002BB5B0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BF954 002BB5B4 41 82 00 34 */ beq lbl_802BF988
+/* 802BF958 002BB5B8 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BF95C 002BB5BC 28 00 00 04 */ cmplwi r0, 4
+/* 802BF960 002BB5C0 41 80 00 14 */ blt lbl_802BF974
+/* 802BF964 002BB5C4 3C 80 80 44 */ lis r4, lbl_804400E8@ha
+/* 802BF968 002BB5C8 38 60 05 03 */ li r3, 0x503
+/* 802BF96C 002BB5CC 38 84 00 E8 */ addi r4, r4, lbl_804400E8@l
+/* 802BF970 002BB5D0 4B FF D5 A1 */ bl LogMsg_0
+lbl_802BF974:
+/* 802BF974 002BB5D4 3C 60 80 57 */ lis r3, lbl_80568798@ha
+/* 802BF978 002BB5D8 38 63 87 98 */ addi r3, r3, lbl_80568798@l
+/* 802BF97C 002BB5DC 38 63 00 40 */ addi r3, r3, 0x40
+/* 802BF980 002BB5E0 4B FF E0 C9 */ bl bta_sys_stop_timer
+/* 802BF984 002BB5E4 4B FF F5 19 */ bl bta_dm_discover_next_device
+lbl_802BF988:
+/* 802BF988 002BB5E8 3F C0 80 57 */ lis r30, lbl_80568814@ha
+/* 802BF98C 002BB5EC 3B DE 88 14 */ addi r30, r30, lbl_80568814@l
+/* 802BF990 002BB5F0 88 1E 00 72 */ lbz r0, 0x72(r30)
+/* 802BF994 002BB5F4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BF998 002BB5F8 41 82 00 3C */ beq lbl_802BF9D4
+/* 802BF99C 002BB5FC 48 00 49 9D */ bl func_802C4338
+/* 802BF9A0 002BB600 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802BF9A4 002BB604 40 82 00 30 */ bne lbl_802BF9D4
+/* 802BF9A8 002BB608 38 00 00 00 */ li r0, 0
+/* 802BF9AC 002BB60C 38 7E 00 74 */ addi r3, r30, 0x74
+/* 802BF9B0 002BB610 98 1E 00 72 */ stb r0, 0x72(r30)
+/* 802BF9B4 002BB614 4B FF E0 95 */ bl bta_sys_stop_timer
+/* 802BF9B8 002BB618 3C A0 80 2C */ lis r5, bta_dm_disable_conn_down_timer_cback@ha
+/* 802BF9BC 002BB61C 38 7E 00 74 */ addi r3, r30, 0x74
+/* 802BF9C0 002BB620 38 A5 FA 20 */ addi r5, r5, bta_dm_disable_conn_down_timer_cback@l
+/* 802BF9C4 002BB624 38 80 00 00 */ li r4, 0
+/* 802BF9C8 002BB628 90 BE 00 7C */ stw r5, 0x7c(r30)
+/* 802BF9CC 002BB62C 38 A0 03 E8 */ li r5, 0x3e8
+/* 802BF9D0 002BB630 4B FF E0 59 */ bl bta_sys_start_timer
+lbl_802BF9D4:
+/* 802BF9D4 002BB634 7F E4 FB 78 */ mr r4, r31
+/* 802BF9D8 002BB638 38 61 00 08 */ addi r3, r1, 8
+/* 802BF9DC 002BB63C 4B FF DB 85 */ bl bdcpy
+/* 802BF9E0 002BB640 48 00 49 B5 */ bl func_802C4394
+/* 802BF9E4 002BB644 3C A0 80 57 */ lis r5, lbl_80568814@ha
+/* 802BF9E8 002BB648 98 61 00 0E */ stb r3, 0xe(r1)
+/* 802BF9EC 002BB64C 38 A5 88 14 */ addi r5, r5, lbl_80568814@l
+/* 802BF9F0 002BB650 38 81 00 08 */ addi r4, r1, 8
+/* 802BF9F4 002BB654 81 85 00 50 */ lwz r12, 0x50(r5)
+/* 802BF9F8 002BB658 38 60 00 06 */ li r3, 6
+/* 802BF9FC 002BB65C 7D 89 03 A6 */ mtctr r12
+/* 802BFA00 002BB660 4E 80 04 21 */ bctrl
+lbl_802BFA04:
+/* 802BFA04 002BB664 80 01 01 34 */ lwz r0, 0x134(r1)
+/* 802BFA08 002BB668 83 E1 01 2C */ lwz r31, 0x12c(r1)
+/* 802BFA0C 002BB66C 83 C1 01 28 */ lwz r30, 0x128(r1)
+/* 802BFA10 002BB670 83 A1 01 24 */ lwz r29, 0x124(r1)
+/* 802BFA14 002BB674 7C 08 03 A6 */ mtlr r0
+/* 802BFA18 002BB678 38 21 01 30 */ addi r1, r1, 0x130
+/* 802BFA1C 002BB67C 4E 80 00 20 */ blr
+
+bta_dm_disable_conn_down_timer_cback:
+/* 802BFA20 002BB680 3C A0 80 57 */ lis r5, lbl_80568814@ha
+/* 802BFA24 002BB684 38 60 00 01 */ li r3, 1
+/* 802BFA28 002BB688 38 A5 88 14 */ addi r5, r5, lbl_80568814@l
+/* 802BFA2C 002BB68C 38 80 00 00 */ li r4, 0
+/* 802BFA30 002BB690 81 85 00 50 */ lwz r12, 0x50(r5)
+/* 802BFA34 002BB694 7D 89 03 A6 */ mtctr r12
+/* 802BFA38 002BB698 4E 80 04 20 */ bctr
+
+bta_dm_rssi_cback:
+/* 802BFA3C 002BB69C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BFA40 002BB6A0 7C 08 02 A6 */ mflr r0
+/* 802BFA44 002BB6A4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BFA48 002BB6A8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BFA4C 002BB6AC 7C 7F 1B 78 */ mr r31, r3
+/* 802BFA50 002BB6B0 88 03 00 00 */ lbz r0, 0(r3)
+/* 802BFA54 002BB6B4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BFA58 002BB6B8 40 82 00 3C */ bne lbl_802BFA94
+/* 802BFA5C 002BB6BC 38 61 00 08 */ addi r3, r1, 8
+/* 802BFA60 002BB6C0 38 9F 00 03 */ addi r4, r31, 3
+/* 802BFA64 002BB6C4 4B FF DA FD */ bl bdcpy
+/* 802BFA68 002BB6C8 38 00 00 01 */ li r0, 1
+/* 802BFA6C 002BB6CC 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BFA70 002BB6D0 98 01 00 0E */ stb r0, 0xe(r1)
+/* 802BFA74 002BB6D4 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BFA78 002BB6D8 81 83 00 50 */ lwz r12, 0x50(r3)
+/* 802BFA7C 002BB6DC 38 81 00 08 */ addi r4, r1, 8
+/* 802BFA80 002BB6E0 88 1F 00 02 */ lbz r0, 2(r31)
+/* 802BFA84 002BB6E4 38 60 00 07 */ li r3, 7
+/* 802BFA88 002BB6E8 98 01 00 0F */ stb r0, 0xf(r1)
+/* 802BFA8C 002BB6EC 7D 89 03 A6 */ mtctr r12
+/* 802BFA90 002BB6F0 4E 80 04 21 */ bctrl
+lbl_802BFA94:
+/* 802BFA94 002BB6F4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BFA98 002BB6F8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BFA9C 002BB6FC 7C 08 03 A6 */ mtlr r0
+/* 802BFAA0 002BB700 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BFAA4 002BB704 4E 80 00 20 */ blr
+
+bta_dm_link_quality_cback:
+/* 802BFAA8 002BB708 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BFAAC 002BB70C 7C 08 02 A6 */ mflr r0
+/* 802BFAB0 002BB710 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BFAB4 002BB714 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BFAB8 002BB718 7C 7F 1B 78 */ mr r31, r3
+/* 802BFABC 002BB71C 88 03 00 00 */ lbz r0, 0(r3)
+/* 802BFAC0 002BB720 2C 00 00 00 */ cmpwi r0, 0
+/* 802BFAC4 002BB724 40 82 00 3C */ bne lbl_802BFB00
+/* 802BFAC8 002BB728 38 61 00 08 */ addi r3, r1, 8
+/* 802BFACC 002BB72C 38 9F 00 03 */ addi r4, r31, 3
+/* 802BFAD0 002BB730 4B FF DA 91 */ bl bdcpy
+/* 802BFAD4 002BB734 38 00 00 02 */ li r0, 2
+/* 802BFAD8 002BB738 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BFADC 002BB73C 98 01 00 0E */ stb r0, 0xe(r1)
+/* 802BFAE0 002BB740 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BFAE4 002BB744 81 83 00 50 */ lwz r12, 0x50(r3)
+/* 802BFAE8 002BB748 38 81 00 08 */ addi r4, r1, 8
+/* 802BFAEC 002BB74C 88 1F 00 02 */ lbz r0, 2(r31)
+/* 802BFAF0 002BB750 38 60 00 07 */ li r3, 7
+/* 802BFAF4 002BB754 98 01 00 10 */ stb r0, 0x10(r1)
+/* 802BFAF8 002BB758 7D 89 03 A6 */ mtctr r12
+/* 802BFAFC 002BB75C 4E 80 04 21 */ bctrl
+lbl_802BFB00:
+/* 802BFB00 002BB760 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BFB04 002BB764 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BFB08 002BB768 7C 08 03 A6 */ mtlr r0
+/* 802BFB0C 002BB76C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BFB10 002BB770 4E 80 00 20 */ blr
+
+bta_dm_l2cap_server_compress_cback:
+/* 802BFB14 002BB774 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802BFB18 002BB778 7C 08 02 A6 */ mflr r0
+/* 802BFB1C 002BB77C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802BFB20 002BB780 39 61 00 30 */ addi r11, r1, 0x30
+/* 802BFB24 002BB784 4B F0 75 FD */ bl _savegpr_25
+/* 802BFB28 002BB788 3F E0 80 57 */ lis r31, lbl_80568768@ha
+/* 802BFB2C 002BB78C 83 61 00 38 */ lwz r27, 0x38(r1)
+/* 802BFB30 002BB790 3B FF 87 68 */ addi r31, r31, lbl_80568768@l
+/* 802BFB34 002BB794 7C 79 1B 78 */ mr r25, r3
+/* 802BFB38 002BB798 7D 5A 53 78 */ mr r26, r10
+/* 802BFB3C 002BB79C 3B A0 00 00 */ li r29, 0
+/* 802BFB40 002BB7A0 7F FE FB 78 */ mr r30, r31
+/* 802BFB44 002BB7A4 3B 80 00 00 */ li r28, 0
+lbl_802BFB48:
+/* 802BFB48 002BB7A8 88 1F 00 08 */ lbz r0, 8(r31)
+/* 802BFB4C 002BB7AC 28 00 00 01 */ cmplwi r0, 1
+/* 802BFB50 002BB7B0 40 82 00 78 */ bne lbl_802BFBC8
+/* 802BFB54 002BB7B4 7F C3 F3 78 */ mr r3, r30
+/* 802BFB58 002BB7B8 7F 24 CB 78 */ mr r4, r25
+/* 802BFB5C 002BB7BC 4B FF DA 39 */ bl bdcmp
+/* 802BFB60 002BB7C0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BFB64 002BB7C4 40 82 00 64 */ bne lbl_802BFBC8
+/* 802BFB68 002BB7C8 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BFB6C 002BB7CC 28 00 00 04 */ cmplwi r0, 4
+/* 802BFB70 002BB7D0 41 80 00 2C */ blt lbl_802BFB9C
+/* 802BFB74 002BB7D4 57 80 18 38 */ slwi r0, r28, 3
+/* 802BFB78 002BB7D8 3C A0 80 57 */ lis r5, lbl_80568768@ha
+/* 802BFB7C 002BB7DC 38 A5 87 68 */ addi r5, r5, lbl_80568768@l
+/* 802BFB80 002BB7E0 3C 80 80 44 */ lis r4, lbl_804400FC@ha
+/* 802BFB84 002BB7E4 7C 00 E2 14 */ add r0, r0, r28
+/* 802BFB88 002BB7E8 38 60 05 03 */ li r3, 0x503
+/* 802BFB8C 002BB7EC 7C A5 02 14 */ add r5, r5, r0
+/* 802BFB90 002BB7F0 38 84 00 FC */ addi r4, r4, lbl_804400FC@l
+/* 802BFB94 002BB7F4 88 A5 00 06 */ lbz r5, 6(r5)
+/* 802BFB98 002BB7F8 4B FF D3 91 */ bl LogMsg_1
+lbl_802BFB9C:
+/* 802BFB9C 002BB7FC 57 80 18 38 */ slwi r0, r28, 3
+/* 802BFBA0 002BB800 3C 60 80 57 */ lis r3, lbl_80568768@ha
+/* 802BFBA4 002BB804 38 63 87 68 */ addi r3, r3, lbl_80568768@l
+/* 802BFBA8 002BB808 7F 44 D3 78 */ mr r4, r26
+/* 802BFBAC 002BB80C 7C 00 E2 14 */ add r0, r0, r28
+/* 802BFBB0 002BB810 7F 65 DB 78 */ mr r5, r27
+/* 802BFBB4 002BB814 7C 63 02 14 */ add r3, r3, r0
+/* 802BFBB8 002BB818 88 63 00 06 */ lbz r3, 6(r3)
+/* 802BFBBC 002BB81C 4B FF 99 B9 */ bl bta_dm_co_get_compress_memory
+/* 802BFBC0 002BB820 7C 7D 1B 78 */ mr r29, r3
+/* 802BFBC4 002BB824 48 00 00 18 */ b lbl_802BFBDC
+lbl_802BFBC8:
+/* 802BFBC8 002BB828 3B 9C 00 01 */ addi r28, r28, 1
+/* 802BFBCC 002BB82C 3B DE 00 09 */ addi r30, r30, 9
+/* 802BFBD0 002BB830 2C 1C 00 05 */ cmpwi r28, 5
+/* 802BFBD4 002BB834 3B FF 00 09 */ addi r31, r31, 9
+/* 802BFBD8 002BB838 41 80 FF 70 */ blt lbl_802BFB48
+lbl_802BFBDC:
+/* 802BFBDC 002BB83C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802BFBE0 002BB840 7F A3 EB 78 */ mr r3, r29
+/* 802BFBE4 002BB844 4B F0 75 89 */ bl _restgpr_25
+/* 802BFBE8 002BB848 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802BFBEC 002BB84C 7C 08 03 A6 */ mtlr r0
+/* 802BFBF0 002BB850 38 21 00 30 */ addi r1, r1, 0x30
+/* 802BFBF4 002BB854 4E 80 00 20 */ blr
+
+bta_dm_compress_cback:
+/* 802BFBF8 002BB858 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BFBFC 002BB85C 7C 08 02 A6 */ mflr r0
+/* 802BFC00 002BB860 2C 03 00 00 */ cmpwi r3, 0
+/* 802BFC04 002BB864 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BFC08 002BB868 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BFC0C 002BB86C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BFC10 002BB870 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BFC14 002BB874 40 82 01 58 */ bne lbl_802BFD6C
+/* 802BFC18 002BB878 80 6D 89 EC */ lwz r3, lbl_8063DCAC-_SDA_BASE_(r13)
+/* 802BFC1C 002BB87C 38 E0 00 01 */ li r7, 1
+/* 802BFC20 002BB880 89 23 00 01 */ lbz r9, 1(r3)
+/* 802BFC24 002BB884 48 00 01 38 */ b lbl_802BFD5C
+lbl_802BFC28:
+/* 802BFC28 002BB888 54 E8 06 3E */ clrlwi r8, r7, 0x18
+/* 802BFC2C 002BB88C 54 E0 15 BA */ rlwinm r0, r7, 2, 0x16, 0x1d
+/* 802BFC30 002BB890 7C 08 00 50 */ subf r0, r8, r0
+/* 802BFC34 002BB894 7D 03 02 14 */ add r8, r3, r0
+/* 802BFC38 002BB898 88 08 00 01 */ lbz r0, 1(r8)
+/* 802BFC3C 002BB89C 7C 05 00 40 */ cmplw r5, r0
+/* 802BFC40 002BB8A0 41 82 00 0C */ beq lbl_802BFC4C
+/* 802BFC44 002BB8A4 28 00 00 FF */ cmplwi r0, 0xff
+/* 802BFC48 002BB8A8 40 82 01 10 */ bne lbl_802BFD58
+lbl_802BFC4C:
+/* 802BFC4C 002BB8AC 88 08 00 00 */ lbz r0, 0(r8)
+/* 802BFC50 002BB8B0 7C 04 00 40 */ cmplw r4, r0
+/* 802BFC54 002BB8B4 40 82 01 04 */ bne lbl_802BFD58
+/* 802BFC58 002BB8B8 88 08 00 02 */ lbz r0, 2(r8)
+/* 802BFC5C 002BB8BC 28 00 00 01 */ cmplwi r0, 1
+/* 802BFC60 002BB8C0 40 82 00 F8 */ bne lbl_802BFD58
+/* 802BFC64 002BB8C4 3D 00 80 57 */ lis r8, lbl_80568918@ha
+/* 802BFC68 002BB8C8 89 63 00 01 */ lbz r11, 1(r3)
+/* 802BFC6C 002BB8CC 89 48 89 18 */ lbz r10, lbl_80568918@l(r8)
+/* 802BFC70 002BB8D0 39 28 89 18 */ addi r9, r8, -30440
+/* 802BFC74 002BB8D4 3B E0 00 00 */ li r31, 0
+/* 802BFC78 002BB8D8 3B A0 00 01 */ li r29, 1
+/* 802BFC7C 002BB8DC 48 00 00 60 */ b lbl_802BFCDC
+lbl_802BFC80:
+/* 802BFC80 002BB8E0 57 A8 06 3E */ clrlwi r8, r29, 0x18
+/* 802BFC84 002BB8E4 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d
+/* 802BFC88 002BB8E8 7C 08 00 50 */ subf r0, r8, r0
+/* 802BFC8C 002BB8EC 7D 83 02 14 */ add r12, r3, r0
+/* 802BFC90 002BB8F0 88 0C 00 02 */ lbz r0, 2(r12)
+/* 802BFC94 002BB8F4 28 00 00 02 */ cmplwi r0, 2
+/* 802BFC98 002BB8F8 40 82 00 40 */ bne lbl_802BFCD8
+/* 802BFC9C 002BB8FC 3B C0 00 00 */ li r30, 0
+/* 802BFCA0 002BB900 48 00 00 2C */ b lbl_802BFCCC
+lbl_802BFCA4:
+/* 802BFCA4 002BB904 57 C8 06 3E */ clrlwi r8, r30, 0x18
+/* 802BFCA8 002BB908 57 C0 1D 78 */ rlwinm r0, r30, 3, 0x15, 0x1c
+/* 802BFCAC 002BB90C 7D 00 42 14 */ add r8, r0, r8
+/* 802BFCB0 002BB910 88 0C 00 00 */ lbz r0, 0(r12)
+/* 802BFCB4 002BB914 7D 09 42 14 */ add r8, r9, r8
+/* 802BFCB8 002BB918 89 08 00 07 */ lbz r8, 7(r8)
+/* 802BFCBC 002BB91C 7C 08 00 40 */ cmplw r8, r0
+/* 802BFCC0 002BB920 40 82 00 08 */ bne lbl_802BFCC8
+/* 802BFCC4 002BB924 3B E0 00 01 */ li r31, 1
+lbl_802BFCC8:
+/* 802BFCC8 002BB928 3B DE 00 01 */ addi r30, r30, 1
+lbl_802BFCCC:
+/* 802BFCCC 002BB92C 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802BFCD0 002BB930 7C 00 50 40 */ cmplw r0, r10
+/* 802BFCD4 002BB934 41 80 FF D0 */ blt lbl_802BFCA4
+lbl_802BFCD8:
+/* 802BFCD8 002BB938 3B BD 00 01 */ addi r29, r29, 1
+lbl_802BFCDC:
+/* 802BFCDC 002BB93C 57 A0 06 3E */ clrlwi r0, r29, 0x18
+/* 802BFCE0 002BB940 7C 00 58 40 */ cmplw r0, r11
+/* 802BFCE4 002BB944 40 81 FF 9C */ ble lbl_802BFC80
+/* 802BFCE8 002BB948 2C 1F 00 00 */ cmpwi r31, 0
+/* 802BFCEC 002BB94C 40 82 01 28 */ bne lbl_802BFE14
+/* 802BFCF0 002BB950 54 E3 06 3E */ clrlwi r3, r7, 0x18
+/* 802BFCF4 002BB954 3F C0 80 57 */ lis r30, lbl_80568768@ha
+/* 802BFCF8 002BB958 38 63 FF FF */ addi r3, r3, -1
+/* 802BFCFC 002BB95C 54 60 18 38 */ slwi r0, r3, 3
+/* 802BFD00 002BB960 3B DE 87 68 */ addi r30, r30, lbl_80568768@l
+/* 802BFD04 002BB964 7F A0 1A 14 */ add r29, r0, r3
+/* 802BFD08 002BB968 7F FE EA 14 */ add r31, r30, r29
+/* 802BFD0C 002BB96C 98 BF 00 07 */ stb r5, 7(r31)
+/* 802BFD10 002BB970 7F E3 FB 78 */ mr r3, r31
+/* 802BFD14 002BB974 98 9F 00 06 */ stb r4, 6(r31)
+/* 802BFD18 002BB978 7C C4 33 78 */ mr r4, r6
+/* 802BFD1C 002BB97C 4B FF D8 45 */ bl bdcpy
+/* 802BFD20 002BB980 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BFD24 002BB984 38 60 00 01 */ li r3, 1
+/* 802BFD28 002BB988 98 7F 00 08 */ stb r3, 8(r31)
+/* 802BFD2C 002BB98C 7F E7 FB 78 */ mr r7, r31
+/* 802BFD30 002BB990 28 00 00 04 */ cmplwi r0, 4
+/* 802BFD34 002BB994 41 80 00 E0 */ blt lbl_802BFE14
+/* 802BFD38 002BB998 3C 80 80 44 */ lis r4, lbl_8044012C@ha
+/* 802BFD3C 002BB99C 88 BF 00 07 */ lbz r5, 7(r31)
+/* 802BFD40 002BB9A0 88 DF 00 06 */ lbz r6, 6(r31)
+/* 802BFD44 002BB9A4 38 84 01 2C */ addi r4, r4, lbl_8044012C@l
+/* 802BFD48 002BB9A8 88 E7 00 08 */ lbz r7, 8(r7)
+/* 802BFD4C 002BB9AC 38 60 05 03 */ li r3, 0x503
+/* 802BFD50 002BB9B0 4B FF D2 09 */ bl LogMsg_3
+/* 802BFD54 002BB9B4 48 00 00 C0 */ b lbl_802BFE14
+lbl_802BFD58:
+/* 802BFD58 002BB9B8 38 E7 00 01 */ addi r7, r7, 1
+lbl_802BFD5C:
+/* 802BFD5C 002BB9BC 54 E0 06 3E */ clrlwi r0, r7, 0x18
+/* 802BFD60 002BB9C0 7C 00 48 40 */ cmplw r0, r9
+/* 802BFD64 002BB9C4 40 81 FE C4 */ ble lbl_802BFC28
+/* 802BFD68 002BB9C8 48 00 00 AC */ b lbl_802BFE14
+lbl_802BFD6C:
+/* 802BFD6C 002BB9CC 28 03 00 01 */ cmplwi r3, 1
+/* 802BFD70 002BB9D0 40 82 00 A4 */ bne lbl_802BFE14
+/* 802BFD74 002BB9D4 80 ED 89 EC */ lwz r7, lbl_8063DCAC-_SDA_BASE_(r13)
+/* 802BFD78 002BB9D8 39 00 00 01 */ li r8, 1
+/* 802BFD7C 002BB9DC 88 C7 00 01 */ lbz r6, 1(r7)
+/* 802BFD80 002BB9E0 48 00 00 88 */ b lbl_802BFE08
+lbl_802BFD84:
+/* 802BFD84 002BB9E4 55 03 06 3E */ clrlwi r3, r8, 0x18
+/* 802BFD88 002BB9E8 55 00 15 BA */ rlwinm r0, r8, 2, 0x16, 0x1d
+/* 802BFD8C 002BB9EC 7C 03 00 50 */ subf r0, r3, r0
+/* 802BFD90 002BB9F0 7C 67 02 14 */ add r3, r7, r0
+/* 802BFD94 002BB9F4 88 03 00 01 */ lbz r0, 1(r3)
+/* 802BFD98 002BB9F8 7C 05 00 40 */ cmplw r5, r0
+/* 802BFD9C 002BB9FC 41 82 00 0C */ beq lbl_802BFDA8
+/* 802BFDA0 002BBA00 28 00 00 FF */ cmplwi r0, 0xff
+/* 802BFDA4 002BBA04 40 82 00 60 */ bne lbl_802BFE04
+lbl_802BFDA8:
+/* 802BFDA8 002BBA08 88 03 00 00 */ lbz r0, 0(r3)
+/* 802BFDAC 002BBA0C 7C 04 00 40 */ cmplw r4, r0
+/* 802BFDB0 002BBA10 40 82 00 54 */ bne lbl_802BFE04
+/* 802BFDB4 002BBA14 55 03 06 3E */ clrlwi r3, r8, 0x18
+/* 802BFDB8 002BBA18 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BFDBC 002BBA1C 38 A3 FF FF */ addi r5, r3, -1
+/* 802BFDC0 002BBA20 3C 60 80 57 */ lis r3, lbl_80568768@ha
+/* 802BFDC4 002BBA24 28 00 00 04 */ cmplwi r0, 4
+/* 802BFDC8 002BBA28 54 A4 18 38 */ slwi r4, r5, 3
+/* 802BFDCC 002BBA2C 7C 04 2A 14 */ add r0, r4, r5
+/* 802BFDD0 002BBA30 38 63 87 68 */ addi r3, r3, lbl_80568768@l
+/* 802BFDD4 002BBA34 7C 63 02 14 */ add r3, r3, r0
+/* 802BFDD8 002BBA38 38 00 00 00 */ li r0, 0
+/* 802BFDDC 002BBA3C 98 03 00 08 */ stb r0, 8(r3)
+/* 802BFDE0 002BBA40 41 80 00 34 */ blt lbl_802BFE14
+/* 802BFDE4 002BBA44 3C 80 80 44 */ lis r4, lbl_80440168@ha
+/* 802BFDE8 002BBA48 88 A3 00 07 */ lbz r5, 7(r3)
+/* 802BFDEC 002BBA4C 88 C3 00 06 */ lbz r6, 6(r3)
+/* 802BFDF0 002BBA50 38 84 01 68 */ addi r4, r4, lbl_80440168@l
+/* 802BFDF4 002BBA54 88 E3 00 08 */ lbz r7, 8(r3)
+/* 802BFDF8 002BBA58 38 60 05 03 */ li r3, 0x503
+/* 802BFDFC 002BBA5C 4B FF D1 5D */ bl LogMsg_3
+/* 802BFE00 002BBA60 48 00 00 14 */ b lbl_802BFE14
+lbl_802BFE04:
+/* 802BFE04 002BBA64 39 08 00 01 */ addi r8, r8, 1
+lbl_802BFE08:
+/* 802BFE08 002BBA68 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 802BFE0C 002BBA6C 7C 00 30 40 */ cmplw r0, r6
+/* 802BFE10 002BBA70 40 81 FF 74 */ ble lbl_802BFD84
+lbl_802BFE14:
+/* 802BFE14 002BBA74 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BFE18 002BBA78 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BFE1C 002BBA7C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BFE20 002BBA80 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BFE24 002BBA84 7C 08 03 A6 */ mtlr r0
+/* 802BFE28 002BBA88 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BFE2C 002BBA8C 4E 80 00 20 */ blr
+
+bta_dm_rm_cback:
+/* 802BFE30 002BBA90 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BFE34 002BBA94 7C 08 02 A6 */ mflr r0
+/* 802BFE38 002BBA98 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BFE3C 002BBA9C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BFE40 002BBAA0 4B F0 72 E5 */ bl _savegpr_26
+/* 802BFE44 002BBAA4 2C 03 00 00 */ cmpwi r3, 0
+/* 802BFE48 002BBAA8 7C 9E 23 78 */ mr r30, r4
+/* 802BFE4C 002BBAAC 7C BF 2B 78 */ mr r31, r5
+/* 802BFE50 002BBAB0 7C DA 33 78 */ mr r26, r6
+/* 802BFE54 002BBAB4 40 82 00 CC */ bne lbl_802BFF20
+/* 802BFE58 002BBAB8 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BFE5C 002BBABC 3B 60 00 00 */ li r27, 0
+/* 802BFE60 002BBAC0 3B A3 88 14 */ addi r29, r3, lbl_80568814@l
+/* 802BFE64 002BBAC4 48 00 00 AC */ b lbl_802BFF10
+lbl_802BFE68:
+/* 802BFE68 002BBAC8 57 60 06 3E */ clrlwi r0, r27, 0x18
+/* 802BFE6C 002BBACC 7F 44 D3 78 */ mr r4, r26
+/* 802BFE70 002BBAD0 1F 80 00 0B */ mulli r28, r0, 0xb
+/* 802BFE74 002BBAD4 7C 7D E2 14 */ add r3, r29, r28
+/* 802BFE78 002BBAD8 4B FF D7 1D */ bl bdcmp
+/* 802BFE7C 002BBADC 2C 03 00 00 */ cmpwi r3, 0
+/* 802BFE80 002BBAE0 40 82 00 8C */ bne lbl_802BFF0C
+/* 802BFE84 002BBAE4 7C 7D E2 14 */ add r3, r29, r28
+/* 802BFE88 002BBAE8 38 00 00 01 */ li r0, 1
+/* 802BFE8C 002BBAEC 98 03 00 06 */ stb r0, 6(r3)
+/* 802BFE90 002BBAF0 38 E0 00 01 */ li r7, 1
+/* 802BFE94 002BBAF4 80 CD 89 E8 */ lwz r6, lbl_8063DCA8-_SDA_BASE_(r13)
+/* 802BFE98 002BBAF8 88 86 00 01 */ lbz r4, 1(r6)
+/* 802BFE9C 002BBAFC 48 00 00 60 */ b lbl_802BFEFC
+lbl_802BFEA0:
+/* 802BFEA0 002BBB00 54 E3 06 3E */ clrlwi r3, r7, 0x18
+/* 802BFEA4 002BBB04 54 E0 15 BA */ rlwinm r0, r7, 2, 0x16, 0x1d
+/* 802BFEA8 002BBB08 7C A3 00 50 */ subf r5, r3, r0
+/* 802BFEAC 002BBB0C 7C 66 2A 14 */ add r3, r6, r5
+/* 802BFEB0 002BBB10 88 03 00 01 */ lbz r0, 1(r3)
+/* 802BFEB4 002BBB14 7C 1F 00 40 */ cmplw r31, r0
+/* 802BFEB8 002BBB18 41 82 00 0C */ beq lbl_802BFEC4
+/* 802BFEBC 002BBB1C 28 00 00 FF */ cmplwi r0, 0xff
+/* 802BFEC0 002BBB20 40 82 00 38 */ bne lbl_802BFEF8
+lbl_802BFEC4:
+/* 802BFEC4 002BBB24 88 03 00 00 */ lbz r0, 0(r3)
+/* 802BFEC8 002BBB28 7C 1E 00 40 */ cmplw r30, r0
+/* 802BFECC 002BBB2C 40 82 00 2C */ bne lbl_802BFEF8
+/* 802BFED0 002BBB30 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BFED4 002BBB34 7C 86 2A 14 */ add r4, r6, r5
+/* 802BFED8 002BBB38 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BFEDC 002BBB3C 88 84 00 02 */ lbz r4, 2(r4)
+/* 802BFEE0 002BBB40 7C 63 E2 14 */ add r3, r3, r28
+/* 802BFEE4 002BBB44 88 03 00 07 */ lbz r0, 7(r3)
+/* 802BFEE8 002BBB48 7C 04 00 40 */ cmplw r4, r0
+/* 802BFEEC 002BBB4C 40 81 00 34 */ ble lbl_802BFF20
+/* 802BFEF0 002BBB50 98 83 00 07 */ stb r4, 7(r3)
+/* 802BFEF4 002BBB54 48 00 00 2C */ b lbl_802BFF20
+lbl_802BFEF8:
+/* 802BFEF8 002BBB58 38 E7 00 01 */ addi r7, r7, 1
+lbl_802BFEFC:
+/* 802BFEFC 002BBB5C 54 E0 06 3E */ clrlwi r0, r7, 0x18
+/* 802BFF00 002BBB60 7C 00 20 40 */ cmplw r0, r4
+/* 802BFF04 002BBB64 40 81 FF 9C */ ble lbl_802BFEA0
+/* 802BFF08 002BBB68 48 00 00 18 */ b lbl_802BFF20
+lbl_802BFF0C:
+/* 802BFF0C 002BBB6C 3B 7B 00 01 */ addi r27, r27, 1
+lbl_802BFF10:
+/* 802BFF10 002BBB70 88 1D 00 4D */ lbz r0, 0x4d(r29)
+/* 802BFF14 002BBB74 57 63 06 3E */ clrlwi r3, r27, 0x18
+/* 802BFF18 002BBB78 7C 03 00 40 */ cmplw r3, r0
+/* 802BFF1C 002BBB7C 41 80 FF 4C */ blt lbl_802BFE68
+lbl_802BFF20:
+/* 802BFF20 002BBB80 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BFF24 002BBB84 4B F0 72 4D */ bl _restgpr_26
+/* 802BFF28 002BBB88 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BFF2C 002BBB8C 7C 08 03 A6 */ mtlr r0
+/* 802BFF30 002BBB90 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BFF34 002BBB94 4E 80 00 20 */ blr
+
+bta_dm_keep_acl:
+/* 802BFF38 002BBB98 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BFF3C 002BBB9C 7C 08 02 A6 */ mflr r0
+/* 802BFF40 002BBBA0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BFF44 002BBBA4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BFF48 002BBBA8 A0 83 00 06 */ lhz r4, 6(r3)
+/* 802BFF4C 002BBBAC 3C 60 80 57 */ lis r3, lbl_80568814@ha
+/* 802BFF50 002BBBB0 38 63 88 14 */ addi r3, r3, lbl_80568814@l
+/* 802BFF54 002BBBB4 54 80 06 3F */ clrlwi. r0, r4, 0x18
+/* 802BFF58 002BBBB8 98 83 01 01 */ stb r4, 0x101(r3)
+/* 802BFF5C 002BBBBC 41 82 00 30 */ beq lbl_802BFF8C
+/* 802BFF60 002BBBC0 3F E0 00 01 */ lis r31, 0x0000FFFF@ha
+/* 802BFF64 002BBBC4 38 62 A4 88 */ addi r3, r2, lbl_80642A88-_SDA2_BASE_
+/* 802BFF68 002BBBC8 38 1F FF FF */ addi r0, r31, 0x0000FFFF@l
+/* 802BFF6C 002BBBCC 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802BFF70 002BBBD0 48 01 63 6D */ bl func_802D62DC
+/* 802BFF74 002BBBD4 38 1F FF FF */ addi r0, r31, -1
+/* 802BFF78 002BBBD8 38 60 00 00 */ li r3, 0
+/* 802BFF7C 002BBBDC 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802BFF80 002BBBE0 38 A0 00 01 */ li r5, 1
+/* 802BFF84 002BBBE4 48 01 62 91 */ bl func_802D6214
+/* 802BFF88 002BBBE8 48 00 00 20 */ b lbl_802BFFA8
+lbl_802BFF8C:
+/* 802BFF8C 002BBBEC 38 62 A4 88 */ addi r3, r2, lbl_80642A88-_SDA2_BASE_
+/* 802BFF90 002BBBF0 38 80 00 02 */ li r4, 2
+/* 802BFF94 002BBBF4 48 01 63 49 */ bl func_802D62DC
+/* 802BFF98 002BBBF8 38 60 00 00 */ li r3, 0
+/* 802BFF9C 002BBBFC 38 80 00 02 */ li r4, 2
+/* 802BFFA0 002BBC00 38 A0 00 01 */ li r5, 1
+/* 802BFFA4 002BBC04 48 01 62 71 */ bl func_802D6214
+lbl_802BFFA8:
+/* 802BFFA8 002BBC08 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BFFAC 002BBC0C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BFFB0 002BBC10 7C 08 03 A6 */ mtlr r0
+/* 802BFFB4 002BBC14 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BFFB8 002BBC18 4E 80 00 20 */ blr
+
+.global bta_dm_immediate_disable
+bta_dm_immediate_disable:
+/* 802BFFBC 002BBC1C 3C A0 80 57 */ lis r5, lbl_80568814@ha
+/* 802BFFC0 002BBC20 38 60 00 01 */ li r3, 1
+/* 802BFFC4 002BBC24 38 A5 88 14 */ addi r5, r5, lbl_80568814@l
+/* 802BFFC8 002BBC28 38 80 00 00 */ li r4, 0
+/* 802BFFCC 002BBC2C 81 85 00 50 */ lwz r12, 0x50(r5)
+/* 802BFFD0 002BBC30 7D 89 03 A6 */ mtctr r12
+/* 802BFFD4 002BBC34 4E 80 04 20 */ bctr
+
+bta_dm_reset_complete:
+/* 802BFFD8 002BBC38 4E 80 00 20 */ blr
+
+bta_dm_send_hci_reset:
+/* 802BFFDC 002BBC3C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BFFE0 002BBC40 7C 08 02 A6 */ mflr r0
+/* 802BFFE4 002BBC44 3C 80 80 57 */ lis r4, lbl_805686D8@ha
+/* 802BFFE8 002BBC48 38 60 00 02 */ li r3, 2
+/* 802BFFEC 002BBC4C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BFFF0 002BBC50 38 00 00 01 */ li r0, 1
+/* 802BFFF4 002BBC54 38 84 86 D8 */ addi r4, r4, lbl_805686D8@l
+/* 802BFFF8 002BBC58 98 04 00 7E */ stb r0, 0x7e(r4)
+/* 802BFFFC 002BBC5C 4B FF 9C 51 */ bl GKI_getpoolbuf
+/* 802C0000 002BBC60 2C 03 00 00 */ cmpwi r3, 0
+/* 802C0004 002BBC64 41 82 00 0C */ beq lbl_802C0010
+/* 802C0008 002BBC68 38 80 00 00 */ li r4, 0
+/* 802C000C 002BBC6C 48 01 19 35 */ bl func_802D1940
+lbl_802C0010:
+/* 802C0010 002BBC70 3C 60 80 2C */ lis r3, bta_dm_reset_complete@ha
+/* 802C0014 002BBC74 38 63 FF D8 */ addi r3, r3, bta_dm_reset_complete@l
+/* 802C0018 002BBC78 48 00 5A 11 */ bl func_802C5A28
+/* 802C001C 002BBC7C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802C0020 002BBC80 7C 08 03 A6 */ mtlr r0
+/* 802C0024 002BBC84 38 21 00 10 */ addi r1, r1, 0x10
+/* 802C0028 002BBC88 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/bta_sys_conn.s b/asm/SDK/BTE/bta_sys_conn.s
new file mode 100644
index 0000000..69d2d57
--- /dev/null
+++ b/asm/SDK/BTE/bta_sys_conn.s
@@ -0,0 +1,182 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global bta_sys_rm_register
+bta_sys_rm_register:
+/* 802BD634 002B9294 3C 80 80 57 */ lis r4, lbl_805686D8@ha
+/* 802BD638 002B9298 38 84 86 D8 */ addi r4, r4, lbl_805686D8@l
+/* 802BD63C 002B929C 90 64 00 80 */ stw r3, 0x80(r4)
+/* 802BD640 002B92A0 4E 80 00 20 */ blr
+
+.global bta_sys_compress_register
+bta_sys_compress_register:
+/* 802BD644 002B92A4 3C 80 80 57 */ lis r4, lbl_805686D8@ha
+/* 802BD648 002B92A8 38 84 86 D8 */ addi r4, r4, lbl_805686D8@l
+/* 802BD64C 002B92AC 90 64 00 88 */ stw r3, 0x88(r4)
+/* 802BD650 002B92B0 4E 80 00 20 */ blr
+
+.global bta_sys_pm_register
+bta_sys_pm_register:
+/* 802BD654 002B92B4 3C 80 80 57 */ lis r4, lbl_805686D8@ha
+/* 802BD658 002B92B8 38 84 86 D8 */ addi r4, r4, lbl_805686D8@l
+/* 802BD65C 002B92BC 90 64 00 84 */ stw r3, 0x84(r4)
+/* 802BD660 002B92C0 4E 80 00 20 */ blr
+
+.global bta_sys_conn_open
+bta_sys_conn_open:
+/* 802BD664 002B92C4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BD668 002B92C8 7C 08 02 A6 */ mflr r0
+/* 802BD66C 002B92CC 3C C0 80 57 */ lis r6, lbl_805686D8@ha
+/* 802BD670 002B92D0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BD674 002B92D4 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l
+/* 802BD678 002B92D8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BD67C 002B92DC 7C BF 2B 78 */ mr r31, r5
+/* 802BD680 002B92E0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BD684 002B92E4 7C 9E 23 78 */ mr r30, r4
+/* 802BD688 002B92E8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BD68C 002B92EC 7C 7D 1B 78 */ mr r29, r3
+/* 802BD690 002B92F0 81 86 00 80 */ lwz r12, 0x80(r6)
+/* 802BD694 002B92F4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD698 002B92F8 41 82 00 1C */ beq lbl_802BD6B4
+/* 802BD69C 002B92FC 7F A4 EB 78 */ mr r4, r29
+/* 802BD6A0 002B9300 7F C5 F3 78 */ mr r5, r30
+/* 802BD6A4 002B9304 7F E6 FB 78 */ mr r6, r31
+/* 802BD6A8 002B9308 38 60 00 00 */ li r3, 0
+/* 802BD6AC 002B930C 7D 89 03 A6 */ mtctr r12
+/* 802BD6B0 002B9310 4E 80 04 21 */ bctrl
+lbl_802BD6B4:
+/* 802BD6B4 002B9314 3C 60 80 57 */ lis r3, lbl_805686D8@ha
+/* 802BD6B8 002B9318 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l
+/* 802BD6BC 002B931C 81 83 00 84 */ lwz r12, 0x84(r3)
+/* 802BD6C0 002B9320 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD6C4 002B9324 41 82 00 1C */ beq lbl_802BD6E0
+/* 802BD6C8 002B9328 7F A4 EB 78 */ mr r4, r29
+/* 802BD6CC 002B932C 7F C5 F3 78 */ mr r5, r30
+/* 802BD6D0 002B9330 7F E6 FB 78 */ mr r6, r31
+/* 802BD6D4 002B9334 38 60 00 00 */ li r3, 0
+/* 802BD6D8 002B9338 7D 89 03 A6 */ mtctr r12
+/* 802BD6DC 002B933C 4E 80 04 21 */ bctrl
+lbl_802BD6E0:
+/* 802BD6E0 002B9340 3C 60 80 57 */ lis r3, lbl_805686D8@ha
+/* 802BD6E4 002B9344 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l
+/* 802BD6E8 002B9348 81 83 00 88 */ lwz r12, 0x88(r3)
+/* 802BD6EC 002B934C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD6F0 002B9350 41 82 00 1C */ beq lbl_802BD70C
+/* 802BD6F4 002B9354 7F A4 EB 78 */ mr r4, r29
+/* 802BD6F8 002B9358 7F C5 F3 78 */ mr r5, r30
+/* 802BD6FC 002B935C 7F E6 FB 78 */ mr r6, r31
+/* 802BD700 002B9360 38 60 00 00 */ li r3, 0
+/* 802BD704 002B9364 7D 89 03 A6 */ mtctr r12
+/* 802BD708 002B9368 4E 80 04 21 */ bctrl
+lbl_802BD70C:
+/* 802BD70C 002B936C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BD710 002B9370 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BD714 002B9374 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BD718 002B9378 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BD71C 002B937C 7C 08 03 A6 */ mtlr r0
+/* 802BD720 002B9380 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BD724 002B9384 4E 80 00 20 */ blr
+
+.global bta_sys_conn_close
+bta_sys_conn_close:
+/* 802BD728 002B9388 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BD72C 002B938C 7C 08 02 A6 */ mflr r0
+/* 802BD730 002B9390 3C C0 80 57 */ lis r6, lbl_805686D8@ha
+/* 802BD734 002B9394 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BD738 002B9398 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l
+/* 802BD73C 002B939C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BD740 002B93A0 7C BF 2B 78 */ mr r31, r5
+/* 802BD744 002B93A4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BD748 002B93A8 7C 9E 23 78 */ mr r30, r4
+/* 802BD74C 002B93AC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BD750 002B93B0 7C 7D 1B 78 */ mr r29, r3
+/* 802BD754 002B93B4 81 86 00 80 */ lwz r12, 0x80(r6)
+/* 802BD758 002B93B8 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD75C 002B93BC 41 82 00 1C */ beq lbl_802BD778
+/* 802BD760 002B93C0 7F A4 EB 78 */ mr r4, r29
+/* 802BD764 002B93C4 7F C5 F3 78 */ mr r5, r30
+/* 802BD768 002B93C8 7F E6 FB 78 */ mr r6, r31
+/* 802BD76C 002B93CC 38 60 00 01 */ li r3, 1
+/* 802BD770 002B93D0 7D 89 03 A6 */ mtctr r12
+/* 802BD774 002B93D4 4E 80 04 21 */ bctrl
+lbl_802BD778:
+/* 802BD778 002B93D8 3C 60 80 57 */ lis r3, lbl_805686D8@ha
+/* 802BD77C 002B93DC 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l
+/* 802BD780 002B93E0 81 83 00 84 */ lwz r12, 0x84(r3)
+/* 802BD784 002B93E4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD788 002B93E8 41 82 00 1C */ beq lbl_802BD7A4
+/* 802BD78C 002B93EC 7F A4 EB 78 */ mr r4, r29
+/* 802BD790 002B93F0 7F C5 F3 78 */ mr r5, r30
+/* 802BD794 002B93F4 7F E6 FB 78 */ mr r6, r31
+/* 802BD798 002B93F8 38 60 00 01 */ li r3, 1
+/* 802BD79C 002B93FC 7D 89 03 A6 */ mtctr r12
+/* 802BD7A0 002B9400 4E 80 04 21 */ bctrl
+lbl_802BD7A4:
+/* 802BD7A4 002B9404 3C 60 80 57 */ lis r3, lbl_805686D8@ha
+/* 802BD7A8 002B9408 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l
+/* 802BD7AC 002B940C 81 83 00 88 */ lwz r12, 0x88(r3)
+/* 802BD7B0 002B9410 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD7B4 002B9414 41 82 00 1C */ beq lbl_802BD7D0
+/* 802BD7B8 002B9418 7F A4 EB 78 */ mr r4, r29
+/* 802BD7BC 002B941C 7F C5 F3 78 */ mr r5, r30
+/* 802BD7C0 002B9420 7F E6 FB 78 */ mr r6, r31
+/* 802BD7C4 002B9424 38 60 00 01 */ li r3, 1
+/* 802BD7C8 002B9428 7D 89 03 A6 */ mtctr r12
+/* 802BD7CC 002B942C 4E 80 04 21 */ bctrl
+lbl_802BD7D0:
+/* 802BD7D0 002B9430 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BD7D4 002B9434 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BD7D8 002B9438 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BD7DC 002B943C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BD7E0 002B9440 7C 08 03 A6 */ mtlr r0
+/* 802BD7E4 002B9444 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BD7E8 002B9448 4E 80 00 20 */ blr
+
+.global bta_sys_sco_close
+bta_sys_sco_close:
+/* 802BD7EC 002B944C 3C C0 80 57 */ lis r6, lbl_805686D8@ha
+/* 802BD7F0 002B9450 7C 80 23 78 */ mr r0, r4
+/* 802BD7F4 002B9454 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l
+/* 802BD7F8 002B9458 81 86 00 84 */ lwz r12, 0x84(r6)
+/* 802BD7FC 002B945C 7C A6 2B 78 */ mr r6, r5
+/* 802BD800 002B9460 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD804 002B9464 4D 82 00 20 */ beqlr
+/* 802BD808 002B9468 7C 64 1B 78 */ mr r4, r3
+/* 802BD80C 002B946C 7C 05 03 78 */ mr r5, r0
+/* 802BD810 002B9470 38 60 00 05 */ li r3, 5
+/* 802BD814 002B9474 7D 89 03 A6 */ mtctr r12
+/* 802BD818 002B9478 4E 80 04 20 */ bctr
+/* 802BD81C 002B947C 4E 80 00 20 */ blr
+
+.global bta_sys_idle
+bta_sys_idle:
+/* 802BD820 002B9480 3C C0 80 57 */ lis r6, lbl_805686D8@ha
+/* 802BD824 002B9484 7C 80 23 78 */ mr r0, r4
+/* 802BD828 002B9488 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l
+/* 802BD82C 002B948C 81 86 00 84 */ lwz r12, 0x84(r6)
+/* 802BD830 002B9490 7C A6 2B 78 */ mr r6, r5
+/* 802BD834 002B9494 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD838 002B9498 4D 82 00 20 */ beqlr
+/* 802BD83C 002B949C 7C 64 1B 78 */ mr r4, r3
+/* 802BD840 002B94A0 7C 05 03 78 */ mr r5, r0
+/* 802BD844 002B94A4 38 60 00 06 */ li r3, 6
+/* 802BD848 002B94A8 7D 89 03 A6 */ mtctr r12
+/* 802BD84C 002B94AC 4E 80 04 20 */ bctr
+/* 802BD850 002B94B0 4E 80 00 20 */ blr
+
+.global bta_sys_busy
+bta_sys_busy:
+/* 802BD854 002B94B4 3C C0 80 57 */ lis r6, lbl_805686D8@ha
+/* 802BD858 002B94B8 7C 80 23 78 */ mr r0, r4
+/* 802BD85C 002B94BC 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l
+/* 802BD860 002B94C0 81 86 00 84 */ lwz r12, 0x84(r6)
+/* 802BD864 002B94C4 7C A6 2B 78 */ mr r6, r5
+/* 802BD868 002B94C8 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD86C 002B94CC 4D 82 00 20 */ beqlr
+/* 802BD870 002B94D0 7C 64 1B 78 */ mr r4, r3
+/* 802BD874 002B94D4 7C 05 03 78 */ mr r5, r0
+/* 802BD878 002B94D8 38 60 00 07 */ li r3, 7
+/* 802BD87C 002B94DC 7D 89 03 A6 */ mtctr r12
+/* 802BD880 002B94E0 4E 80 04 20 */ bctr
+/* 802BD884 002B94E4 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/bta_sys_main.s b/asm/SDK/BTE/bta_sys_main.s
new file mode 100644
index 0000000..344ca13
--- /dev/null
+++ b/asm/SDK/BTE/bta_sys_main.s
@@ -0,0 +1,183 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global bta_sys_init
+bta_sys_init:
+/* 802BD888 002B94E8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BD88C 002B94EC 7C 08 02 A6 */ mflr r0
+/* 802BD890 002B94F0 38 80 00 00 */ li r4, 0
+/* 802BD894 002B94F4 38 A0 00 8C */ li r5, 0x8c
+/* 802BD898 002B94F8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BD89C 002B94FC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BD8A0 002B9500 3F E0 80 57 */ lis r31, lbl_805686D8@ha
+/* 802BD8A4 002B9504 38 7F 86 D8 */ addi r3, r31, lbl_805686D8@l
+/* 802BD8A8 002B9508 4B D4 68 5D */ bl memset
+/* 802BD8AC 002B950C 80 AD 8A 10 */ lwz r5, lbl_8063DCD0-_SDA_BASE_(r13)
+/* 802BD8B0 002B9510 3B FF 86 D8 */ addi r31, r31, -31016
+/* 802BD8B4 002B9514 38 7F 00 68 */ addi r3, r31, 0x68
+/* 802BD8B8 002B9518 38 80 03 E8 */ li r4, 0x3e8
+/* 802BD8BC 002B951C 88 A5 00 03 */ lbz r5, 3(r5)
+/* 802BD8C0 002B9520 48 00 02 0D */ bl ptim_init
+/* 802BD8C4 002B9524 4B FF D8 91 */ bl GKI_get_taskid
+/* 802BD8C8 002B9528 98 7F 00 7D */ stb r3, 0x7d(r31)
+/* 802BD8CC 002B952C 80 6D 8A 10 */ lwz r3, lbl_8063DCD0-_SDA_BASE_(r13)
+/* 802BD8D0 002B9530 88 03 00 04 */ lbz r0, 4(r3)
+/* 802BD8D4 002B9534 98 0D AE F8 */ stb r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BD8D8 002B9538 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BD8DC 002B953C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BD8E0 002B9540 7C 08 03 A6 */ mtlr r0
+/* 802BD8E4 002B9544 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BD8E8 002B9548 4E 80 00 20 */ blr
+
+.global bta_sys_event
+bta_sys_event:
+/* 802BD8EC 002B954C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BD8F0 002B9550 7C 08 02 A6 */ mflr r0
+/* 802BD8F4 002B9554 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BD8F8 002B9558 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BD8FC 002B955C 3B E0 00 01 */ li r31, 1
+/* 802BD900 002B9560 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BD904 002B9564 7C 7E 1B 78 */ mr r30, r3
+/* 802BD908 002B9568 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BD90C 002B956C 28 00 00 04 */ cmplwi r0, 4
+/* 802BD910 002B9570 41 80 00 18 */ blt lbl_802BD928
+/* 802BD914 002B9574 3C 80 80 44 */ lis r4, lbl_80440030@ha
+/* 802BD918 002B9578 A0 BE 00 00 */ lhz r5, 0(r30)
+/* 802BD91C 002B957C 38 84 00 30 */ addi r4, r4, lbl_80440030@l
+/* 802BD920 002B9580 38 60 05 03 */ li r3, 0x503
+/* 802BD924 002B9584 4B FF F6 05 */ bl LogMsg_1
+lbl_802BD928:
+/* 802BD928 002B9588 3C 60 80 57 */ lis r3, lbl_805686D8@ha
+/* 802BD92C 002B958C A0 9E 00 00 */ lhz r4, 0(r30)
+/* 802BD930 002B9590 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l
+/* 802BD934 002B9594 88 03 00 7E */ lbz r0, 0x7e(r3)
+/* 802BD938 002B9598 7C 85 46 70 */ srawi r5, r4, 8
+/* 802BD93C 002B959C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BD940 002B95A0 41 82 00 1C */ beq lbl_802BD95C
+/* 802BD944 002B95A4 28 04 01 01 */ cmplwi r4, 0x101
+/* 802BD948 002B95A8 40 82 00 08 */ bne lbl_802BD950
+/* 802BD94C 002B95AC 48 00 26 71 */ bl bta_dm_immediate_disable
+lbl_802BD950:
+/* 802BD950 002B95B0 7F C3 F3 78 */ mr r3, r30
+/* 802BD954 002B95B4 4B FF C3 E1 */ bl GKI_freebuf
+/* 802BD958 002B95B8 48 00 00 68 */ b lbl_802BD9C0
+lbl_802BD95C:
+/* 802BD95C 002B95BC 54 A0 06 3E */ clrlwi r0, r5, 0x18
+/* 802BD960 002B95C0 28 00 00 1A */ cmplwi r0, 0x1a
+/* 802BD964 002B95C4 40 80 00 2C */ bge lbl_802BD990
+/* 802BD968 002B95C8 54 A0 15 BA */ rlwinm r0, r5, 2, 0x16, 0x1d
+/* 802BD96C 002B95CC 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802BD970 002B95D0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BD974 002B95D4 41 82 00 1C */ beq lbl_802BD990
+/* 802BD978 002B95D8 81 83 00 00 */ lwz r12, 0(r3)
+/* 802BD97C 002B95DC 7F C3 F3 78 */ mr r3, r30
+/* 802BD980 002B95E0 7D 89 03 A6 */ mtctr r12
+/* 802BD984 002B95E4 4E 80 04 21 */ bctrl
+/* 802BD988 002B95E8 7C 7F 1B 78 */ mr r31, r3
+/* 802BD98C 002B95EC 48 00 00 24 */ b lbl_802BD9B0
+lbl_802BD990:
+/* 802BD990 002B95F0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BD994 002B95F4 28 00 00 02 */ cmplwi r0, 2
+/* 802BD998 002B95F8 41 80 00 18 */ blt lbl_802BD9B0
+/* 802BD99C 002B95FC 3C 80 80 44 */ lis r4, lbl_80440044@ha
+/* 802BD9A0 002B9600 54 A5 06 3E */ clrlwi r5, r5, 0x18
+/* 802BD9A4 002B9604 38 84 00 44 */ addi r4, r4, lbl_80440044@l
+/* 802BD9A8 002B9608 38 60 05 01 */ li r3, 0x501
+/* 802BD9AC 002B960C 4B FF F5 7D */ bl LogMsg_1
+lbl_802BD9B0:
+/* 802BD9B0 002B9610 57 E0 06 3F */ clrlwi. r0, r31, 0x18
+/* 802BD9B4 002B9614 41 82 00 0C */ beq lbl_802BD9C0
+/* 802BD9B8 002B9618 7F C3 F3 78 */ mr r3, r30
+/* 802BD9BC 002B961C 4B FF C3 79 */ bl GKI_freebuf
+lbl_802BD9C0:
+/* 802BD9C0 002B9620 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BD9C4 002B9624 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BD9C8 002B9628 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BD9CC 002B962C 7C 08 03 A6 */ mtlr r0
+/* 802BD9D0 002B9630 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BD9D4 002B9634 4E 80 00 20 */ blr
+
+.global bta_sys_timer_update
+bta_sys_timer_update:
+/* 802BD9D8 002B9638 3C 60 80 57 */ lis r3, lbl_805686D8@ha
+/* 802BD9DC 002B963C 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l
+/* 802BD9E0 002B9640 88 03 00 7C */ lbz r0, 0x7c(r3)
+/* 802BD9E4 002B9644 2C 00 00 00 */ cmpwi r0, 0
+/* 802BD9E8 002B9648 4C 82 00 20 */ bnelr
+/* 802BD9EC 002B964C 38 63 00 68 */ addi r3, r3, 0x68
+/* 802BD9F0 002B9650 48 00 01 28 */ b ptim_timer_update
+/* 802BD9F4 002B9654 4E 80 00 20 */ blr
+
+.global bta_sys_register
+bta_sys_register:
+/* 802BD9F8 002B9658 3C A0 80 57 */ lis r5, lbl_805686D8@ha
+/* 802BD9FC 002B965C 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
+/* 802BDA00 002B9660 38 A5 86 D8 */ addi r5, r5, lbl_805686D8@l
+/* 802BDA04 002B9664 7C 85 01 2E */ stwx r4, r5, r0
+/* 802BDA08 002B9668 4E 80 00 20 */ blr
+
+.global bta_sys_sendmsg
+bta_sys_sendmsg:
+/* 802BDA0C 002B966C 80 8D 8A 10 */ lwz r4, lbl_8063DCD0-_SDA_BASE_(r13)
+/* 802BDA10 002B9670 3C C0 80 57 */ lis r6, lbl_805686D8@ha
+/* 802BDA14 002B9674 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l
+/* 802BDA18 002B9678 7C 65 1B 78 */ mr r5, r3
+/* 802BDA1C 002B967C 88 66 00 7D */ lbz r3, 0x7d(r6)
+/* 802BDA20 002B9680 88 84 00 02 */ lbz r4, 2(r4)
+/* 802BDA24 002B9684 4B FF C4 C4 */ b GKI_send_msg
+
+.global bta_sys_start_timer
+bta_sys_start_timer:
+/* 802BDA28 002B9688 3C E0 80 57 */ lis r7, lbl_805686D8@ha
+/* 802BDA2C 002B968C 7C 80 23 78 */ mr r0, r4
+/* 802BDA30 002B9690 38 E7 86 D8 */ addi r7, r7, lbl_805686D8@l
+/* 802BDA34 002B9694 7C A6 2B 78 */ mr r6, r5
+/* 802BDA38 002B9698 7C 64 1B 78 */ mr r4, r3
+/* 802BDA3C 002B969C 7C 05 03 78 */ mr r5, r0
+/* 802BDA40 002B96A0 38 67 00 68 */ addi r3, r7, 0x68
+/* 802BDA44 002B96A4 48 00 01 88 */ b ptim_start_timer
+
+.global bta_sys_stop_timer
+bta_sys_stop_timer:
+/* 802BDA48 002B96A8 3C A0 80 57 */ lis r5, lbl_805686D8@ha
+/* 802BDA4C 002B96AC 7C 64 1B 78 */ mr r4, r3
+/* 802BDA50 002B96B0 38 A5 86 D8 */ addi r5, r5, lbl_805686D8@l
+/* 802BDA54 002B96B4 38 65 00 68 */ addi r3, r5, 0x68
+/* 802BDA58 002B96B8 48 00 02 14 */ b ptim_stop_timer
+
+.global bta_sys_disable
+bta_sys_disable:
+/* 802BDA5C 002B96BC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BDA60 002B96C0 7C 08 02 A6 */ mflr r0
+/* 802BDA64 002B96C4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BDA68 002B96C8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BDA6C 002B96CC 3F E0 80 57 */ lis r31, lbl_805686D8@ha
+/* 802BDA70 002B96D0 3B FF 86 D8 */ addi r31, r31, lbl_805686D8@l
+/* 802BDA74 002B96D4 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BDA78 002B96D8 3B C0 00 00 */ li r30, 0
+lbl_802BDA7C:
+/* 802BDA7C 002B96DC 80 7F 00 00 */ lwz r3, 0(r31)
+/* 802BDA80 002B96E0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BDA84 002B96E4 41 82 00 18 */ beq lbl_802BDA9C
+/* 802BDA88 002B96E8 81 83 00 04 */ lwz r12, 4(r3)
+/* 802BDA8C 002B96EC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BDA90 002B96F0 41 82 00 0C */ beq lbl_802BDA9C
+/* 802BDA94 002B96F4 7D 89 03 A6 */ mtctr r12
+/* 802BDA98 002B96F8 4E 80 04 21 */ bctrl
+lbl_802BDA9C:
+/* 802BDA9C 002B96FC 3B DE 00 01 */ addi r30, r30, 1
+/* 802BDAA0 002B9700 3B FF 00 04 */ addi r31, r31, 4
+/* 802BDAA4 002B9704 2C 1E 00 1A */ cmpwi r30, 0x1a
+/* 802BDAA8 002B9708 41 80 FF D4 */ blt lbl_802BDA7C
+/* 802BDAAC 002B970C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BDAB0 002B9710 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BDAB4 002B9714 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BDAB8 002B9718 7C 08 03 A6 */ mtlr r0
+/* 802BDABC 002B971C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BDAC0 002B9720 4E 80 00 20 */ blr
+
+.global bta_sys_set_trace_level
+bta_sys_set_trace_level:
+/* 802BDAC4 002B9724 98 6D AE F8 */ stb r3, lbl_806401B8-_SDA_BASE_(r13)
+/* 802BDAC8 002B9728 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/bte_hcisu.s b/asm/SDK/BTE/bte_hcisu.s
new file mode 100644
index 0000000..9c615cc
--- /dev/null
+++ b/asm/SDK/BTE/bte_hcisu.s
@@ -0,0 +1,64 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global bte_hcisu_send
+bte_hcisu_send:
+/* 802BCD70 002B89D0 B0 83 00 00 */ sth r4, 0(r3)
+/* 802BCD74 002B89D4 80 8D AE E0 */ lwz r4, lbl_806401A0-_SDA_BASE_(r13)
+/* 802BCD78 002B89D8 2C 04 00 00 */ cmpwi r4, 0
+/* 802BCD7C 002B89DC 41 82 00 10 */ beq lbl_802BCD8C
+/* 802BCD80 002B89E0 81 84 00 0C */ lwz r12, 0xc(r4)
+/* 802BCD84 002B89E4 7D 89 03 A6 */ mtctr r12
+/* 802BCD88 002B89E8 4E 80 04 20 */ bctr
+lbl_802BCD8C:
+/* 802BCD8C 002B89EC 4B FF CF A8 */ b GKI_freebuf
+
+.global bte_hcisu_task
+bte_hcisu_task:
+/* 802BCD90 002B89F0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BCD94 002B89F4 7C 08 02 A6 */ mflr r0
+/* 802BCD98 002B89F8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BCD9C 002B89FC 80 6D AE E0 */ lwz r3, lbl_806401A0-_SDA_BASE_(r13)
+/* 802BCDA0 002B8A00 2C 03 00 00 */ cmpwi r3, 0
+/* 802BCDA4 002B8A04 41 82 00 40 */ beq lbl_802BCDE4
+/* 802BCDA8 002B8A08 81 83 00 00 */ lwz r12, 0(r3)
+/* 802BCDAC 002B8A0C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BCDB0 002B8A10 41 82 00 18 */ beq lbl_802BCDC8
+/* 802BCDB4 002B8A14 38 60 00 02 */ li r3, 2
+/* 802BCDB8 002B8A18 38 80 00 01 */ li r4, 1
+/* 802BCDBC 002B8A1C 38 A0 08 00 */ li r5, 0x800
+/* 802BCDC0 002B8A20 7D 89 03 A6 */ mtctr r12
+/* 802BCDC4 002B8A24 4E 80 04 21 */ bctrl
+lbl_802BCDC8:
+/* 802BCDC8 002B8A28 80 6D AE E0 */ lwz r3, lbl_806401A0-_SDA_BASE_(r13)
+/* 802BCDCC 002B8A2C 81 83 00 04 */ lwz r12, 4(r3)
+/* 802BCDD0 002B8A30 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BCDD4 002B8A34 41 82 00 10 */ beq lbl_802BCDE4
+/* 802BCDD8 002B8A38 80 6D AE E4 */ lwz r3, lbl_806401A4-_SDA_BASE_(r13)
+/* 802BCDDC 002B8A3C 7D 89 03 A6 */ mtctr r12
+/* 802BCDE0 002B8A40 4E 80 04 21 */ bctrl
+lbl_802BCDE4:
+/* 802BCDE4 002B8A44 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BCDE8 002B8A48 7C 08 03 A6 */ mtlr r0
+/* 802BCDEC 002B8A4C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BCDF0 002B8A50 4E 80 00 20 */ blr
+
+.global bte_hcisu_close
+bte_hcisu_close:
+/* 802BCDF4 002B8A54 80 6D AE E0 */ lwz r3, lbl_806401A0-_SDA_BASE_(r13)
+/* 802BCDF8 002B8A58 2C 03 00 00 */ cmpwi r3, 0
+/* 802BCDFC 002B8A5C 4D 82 00 20 */ beqlr
+/* 802BCE00 002B8A60 81 83 00 08 */ lwz r12, 8(r3)
+/* 802BCE04 002B8A64 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BCE08 002B8A68 4D 82 00 20 */ beqlr
+/* 802BCE0C 002B8A6C 7D 89 03 A6 */ mtctr r12
+/* 802BCE10 002B8A70 4E 80 04 20 */ bctr
+/* 802BCE14 002B8A74 4E 80 00 20 */ blr
+
+.global bta_ci_hci_msg_handler
+bta_ci_hci_msg_handler:
+/* 802BCE18 002B8A78 7C 65 1B 78 */ mr r5, r3
+/* 802BCE1C 002B8A7C 38 60 00 02 */ li r3, 2
+/* 802BCE20 002B8A80 38 80 00 00 */ li r4, 0
+/* 802BCE24 002B8A84 4B FF D0 C4 */ b GKI_send_msg
diff --git a/asm/SDK/BTE/bte_init.s b/asm/SDK/BTE/bte_init.s
new file mode 100644
index 0000000..508fe00
--- /dev/null
+++ b/asm/SDK/BTE/bte_init.s
@@ -0,0 +1,17 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global BTE_InitStack
+BTE_InitStack:
+/* 802BCE28 002B8A88 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 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
+/* 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)
+/* 802BCE48 002B8AA8 7C 08 03 A6 */ mtlr r0
+/* 802BCE4C 002B8AAC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BCE50 002B8AB0 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/bte_logmsg.s b/asm/SDK/BTE/bte_logmsg.s
new file mode 100644
index 0000000..09063d7
--- /dev/null
+++ b/asm/SDK/BTE/bte_logmsg.s
@@ -0,0 +1,116 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+LogMsg:
+/* 802BCE54 002B8AB4 94 21 FF 80 */ stwu r1, -0x80(r1)
+/* 802BCE58 002B8AB8 7C 08 02 A6 */ mflr r0
+/* 802BCE5C 002B8ABC 90 01 00 84 */ stw r0, 0x84(r1)
+/* 802BCE60 002B8AC0 93 E1 00 7C */ stw r31, 0x7c(r1)
+/* 802BCE64 002B8AC4 93 C1 00 78 */ stw r30, 0x78(r1)
+/* 802BCE68 002B8AC8 40 86 00 24 */ bne cr1, lbl_802BCE8C
+/* 802BCE6C 002B8ACC D8 21 00 28 */ stfd f1, 0x28(r1)
+/* 802BCE70 002B8AD0 D8 41 00 30 */ stfd f2, 0x30(r1)
+/* 802BCE74 002B8AD4 D8 61 00 38 */ stfd f3, 0x38(r1)
+/* 802BCE78 002B8AD8 D8 81 00 40 */ stfd f4, 0x40(r1)
+/* 802BCE7C 002B8ADC D8 A1 00 48 */ stfd f5, 0x48(r1)
+/* 802BCE80 002B8AE0 D8 C1 00 50 */ stfd f6, 0x50(r1)
+/* 802BCE84 002B8AE4 D8 E1 00 58 */ stfd f7, 0x58(r1)
+/* 802BCE88 002B8AE8 D9 01 00 60 */ stfd f8, 0x60(r1)
+lbl_802BCE8C:
+/* 802BCE8C 002B8AEC 39 61 00 88 */ addi r11, r1, 0x88
+/* 802BCE90 002B8AF0 38 01 00 08 */ addi r0, r1, 8
+/* 802BCE94 002B8AF4 3D 80 02 00 */ lis r12, 0x200
+/* 802BCE98 002B8AF8 90 81 00 0C */ stw r4, 0xc(r1)
+/* 802BCE9C 002B8AFC 3B C1 00 68 */ addi r30, r1, 0x68
+/* 802BCEA0 002B8B00 3F E0 80 56 */ lis r31, lbl_80566E40@ha
+/* 802BCEA4 002B8B04 90 61 00 08 */ stw r3, 8(r1)
+/* 802BCEA8 002B8B08 38 7F 6E 40 */ addi r3, r31, lbl_80566E40@l
+/* 802BCEAC 002B8B0C 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 802BCEB0 002B8B10 7F C5 F3 78 */ mr r5, r30
+/* 802BCEB4 002B8B14 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 802BCEB8 002B8B18 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 802BCEBC 002B8B1C 91 01 00 1C */ stw r8, 0x1c(r1)
+/* 802BCEC0 002B8B20 91 21 00 20 */ stw r9, 0x20(r1)
+/* 802BCEC4 002B8B24 91 41 00 24 */ stw r10, 0x24(r1)
+/* 802BCEC8 002B8B28 91 81 00 68 */ stw r12, 0x68(r1)
+/* 802BCECC 002B8B2C 91 61 00 6C */ stw r11, 0x6c(r1)
+/* 802BCED0 002B8B30 90 01 00 70 */ stw r0, 0x70(r1)
+/* 802BCED4 002B8B34 4B F0 FA D1 */ bl vsprintf
+/* 802BCED8 002B8B38 38 7F 6E 40 */ addi r3, r31, 0x6e40
+/* 802BCEDC 002B8B3C 38 8D 8A 18 */ addi r4, r13, lbl_8063DCD8-_SDA_BASE_
+/* 802BCEE0 002B8B40 7C 65 1B 78 */ mr r5, r3
+/* 802BCEE4 002B8B44 4C C6 31 82 */ crclr 6
+/* 802BCEE8 002B8B48 4B F0 FC 15 */ bl sprintf
+/* 802BCEEC 002B8B4C 38 7F 6E 40 */ addi r3, r31, 0x6e40
+/* 802BCEF0 002B8B50 4C C6 31 82 */ crclr 6
+/* 802BCEF4 002B8B54 4B D4 AB D1 */ bl func_80007AC4
+/* 802BCEF8 002B8B58 80 01 00 84 */ lwz r0, 0x84(r1)
+/* 802BCEFC 002B8B5C 83 E1 00 7C */ lwz r31, 0x7c(r1)
+/* 802BCF00 002B8B60 83 C1 00 78 */ lwz r30, 0x78(r1)
+/* 802BCF04 002B8B64 7C 08 03 A6 */ mtlr r0
+/* 802BCF08 002B8B68 38 21 00 80 */ addi r1, r1, 0x80
+/* 802BCF0C 002B8B6C 4E 80 00 20 */ blr
+
+.global LogMsg_0
+LogMsg_0:
+/* 802BCF10 002B8B70 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13)
+/* 802BCF14 002B8B74 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCF18 002B8B78 4C 82 00 20 */ bnelr
+/* 802BCF1C 002B8B7C 4C C6 31 82 */ crclr 6
+/* 802BCF20 002B8B80 4B FF FF 34 */ b LogMsg
+/* 802BCF24 002B8B84 4E 80 00 20 */ blr
+
+.global LogMsg_1
+LogMsg_1:
+/* 802BCF28 002B8B88 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13)
+/* 802BCF2C 002B8B8C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCF30 002B8B90 4C 82 00 20 */ bnelr
+/* 802BCF34 002B8B94 4C C6 31 82 */ crclr 6
+/* 802BCF38 002B8B98 4B FF FF 1C */ b LogMsg
+/* 802BCF3C 002B8B9C 4E 80 00 20 */ blr
+
+.global LogMsg_2
+LogMsg_2:
+/* 802BCF40 002B8BA0 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13)
+/* 802BCF44 002B8BA4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCF48 002B8BA8 4C 82 00 20 */ bnelr
+/* 802BCF4C 002B8BAC 4C C6 31 82 */ crclr 6
+/* 802BCF50 002B8BB0 4B FF FF 04 */ b LogMsg
+/* 802BCF54 002B8BB4 4E 80 00 20 */ blr
+
+.global LogMsg_3
+LogMsg_3:
+/* 802BCF58 002B8BB8 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13)
+/* 802BCF5C 002B8BBC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCF60 002B8BC0 4C 82 00 20 */ bnelr
+/* 802BCF64 002B8BC4 4C C6 31 82 */ crclr 6
+/* 802BCF68 002B8BC8 4B FF FE EC */ b LogMsg
+/* 802BCF6C 002B8BCC 4E 80 00 20 */ blr
+
+.global LogMsg_4
+LogMsg_4:
+/* 802BCF70 002B8BD0 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13)
+/* 802BCF74 002B8BD4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCF78 002B8BD8 4C 82 00 20 */ bnelr
+/* 802BCF7C 002B8BDC 4C C6 31 82 */ crclr 6
+/* 802BCF80 002B8BE0 4B FF FE D4 */ b LogMsg
+/* 802BCF84 002B8BE4 4E 80 00 20 */ blr
+
+.global LogMsg_5
+LogMsg_5:
+/* 802BCF88 002B8BE8 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13)
+/* 802BCF8C 002B8BEC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCF90 002B8BF0 4C 82 00 20 */ bnelr
+/* 802BCF94 002B8BF4 4C C6 31 82 */ crclr 6
+/* 802BCF98 002B8BF8 4B FF FE BC */ b LogMsg
+/* 802BCF9C 002B8BFC 4E 80 00 20 */ blr
+
+.global LogMsg_6
+LogMsg_6:
+/* 802BCFA0 002B8C00 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13)
+/* 802BCFA4 002B8C04 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCFA8 002B8C08 4C 82 00 20 */ bnelr
+/* 802BCFAC 002B8C0C 4C C6 31 82 */ crclr 6
+/* 802BCFB0 002B8C10 4B FF FE A4 */ b LogMsg
+/* 802BCFB4 002B8C14 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/bte_main.s b/asm/SDK/BTE/bte_main.s
new file mode 100644
index 0000000..9849cd4
--- /dev/null
+++ b/asm/SDK/BTE/bte_main.s
@@ -0,0 +1,105 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+BTUInterruptHandler:
+/* 802BCFB8 002B8C18 3C 80 80 56 */ lis r4, lbl_80567620@ha
+/* 802BCFBC 002B8C1C 3C 60 80 2C */ lis r3, btu_task_msg_handler@ha
+/* 802BCFC0 002B8C20 38 84 76 20 */ addi r4, r4, lbl_80567620@l
+/* 802BCFC4 002B8C24 38 63 D1 50 */ addi r3, r3, btu_task_msg_handler@l
+/* 802BCFC8 002B8C28 38 84 10 00 */ addi r4, r4, 0x1000
+/* 802BCFCC 002B8C2C 4B FA E0 64 */ b OSSwitchFiber
+
+.global BTA_Init
+BTA_Init:
+/* 802BCFD0 002B8C30 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BCFD4 002B8C34 7C 08 02 A6 */ mflr r0
+/* 802BCFD8 002B8C38 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BCFDC 002B8C3C 38 00 00 00 */ li r0, 0
+/* 802BCFE0 002B8C40 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 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
+/* 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
+/* 802BD000 002B8C60 90 0D AE E4 */ stw r0, lbl_806401A4-_SDA_BASE_(r13)
+/* 802BD004 002B8C64 38 60 00 00 */ li r3, 0
+/* 802BD008 002B8C68 90 8D AE E0 */ stw r4, lbl_806401A0-_SDA_BASE_(r13)
+/* 802BD00C 002B8C6C 4B FF FD 85 */ bl bte_hcisu_task
+/* 802BD010 002B8C70 48 00 00 0C */ b lbl_802BD01C
+lbl_802BD014:
+/* 802BD014 002B8C74 38 60 00 64 */ li r3, 0x64
+/* 802BD018 002B8C78 4B FF E0 95 */ bl GKI_delay
+lbl_802BD01C:
+/* 802BD01C 002B8C7C 80 0D 89 C8 */ lwz r0, lbl_8063DC88-_SDA_BASE_(r13)
+/* 802BD020 002B8C80 2C 00 00 00 */ cmpwi r0, 0
+/* 802BD024 002B8C84 40 82 FF F0 */ bne lbl_802BD014
+/* 802BD028 002B8C88 48 00 00 E9 */ bl btu_task_init
+/* 802BD02C 002B8C8C 3F E0 80 57 */ lis r31, lbl_80568620@ha
+/* 802BD030 002B8C90 38 7F 86 20 */ addi r3, r31, lbl_80568620@l
+/* 802BD034 002B8C94 4B FA C6 F1 */ bl OSCreateAlarm
+/* 802BD038 002B8C98 4B FB 57 81 */ bl OSGetTime
+/* 802BD03C 002B8C9C 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 802BD040 002B8CA0 3D 20 80 2C */ lis r9, BTUInterruptHandler@ha
+/* 802BD044 002B8CA4 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 802BD048 002B8CA8 3C C0 10 62 */ lis r6, 0x10624DD3@ha
+/* 802BD04C 002B8CAC 7C 65 1B 78 */ mr r5, r3
+/* 802BD050 002B8CB0 39 29 CF B8 */ addi r9, r9, BTUInterruptHandler@l
+/* 802BD054 002B8CB4 38 66 4D D3 */ addi r3, r6, 0x10624DD3@l
+/* 802BD058 002B8CB8 54 00 F0 BE */ srwi r0, r0, 2
+/* 802BD05C 002B8CBC 7C 03 00 16 */ mulhwu r0, r3, r0
+/* 802BD060 002B8CC0 7C 86 23 78 */ mr r6, r4
+/* 802BD064 002B8CC4 38 7F 86 20 */ addi r3, r31, -31200
+/* 802BD068 002B8CC8 38 E0 00 00 */ li r7, 0
+/* 802BD06C 002B8CCC 54 08 D9 7C */ rlwinm r8, r0, 0x1b, 5, 0x1e
+/* 802BD070 002B8CD0 4B FA C9 85 */ bl OSSetPeriodicAlarm
+/* 802BD074 002B8CD4 38 60 00 00 */ li r3, 0
+/* 802BD078 002B8CD8 4B FF E0 29 */ bl GKI_run
+/* 802BD07C 002B8CDC 48 00 00 0C */ b lbl_802BD088
+lbl_802BD080:
+/* 802BD080 002B8CE0 38 60 07 D0 */ li r3, 0x7d0
+/* 802BD084 002B8CE4 4B FF E0 29 */ bl GKI_delay
+lbl_802BD088:
+/* 802BD088 002B8CE8 48 00 30 65 */ bl func_802C00EC
+/* 802BD08C 002B8CEC 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802BD090 002B8CF0 41 82 FF F0 */ beq lbl_802BD080
+/* 802BD094 002B8CF4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BD098 002B8CF8 38 60 00 00 */ li r3, 0
+/* 802BD09C 002B8CFC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BD0A0 002B8D00 7C 08 03 A6 */ mtlr r0
+/* 802BD0A4 002B8D04 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BD0A8 002B8D08 4E 80 00 20 */ blr
+
+.global BTA_CleanUp
+BTA_CleanUp:
+/* 802BD0AC 002B8D0C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BD0B0 002B8D10 7C 08 02 A6 */ mflr r0
+/* 802BD0B4 002B8D14 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BD0B8 002B8D18 90 6D AE EC */ stw r3, lbl_806401AC-_SDA_BASE_(r13)
+/* 802BD0BC 002B8D1C 3C 60 80 57 */ lis r3, lbl_80568620@ha
+/* 802BD0C0 002B8D20 38 63 86 20 */ addi r3, r3, lbl_80568620@l
+/* 802BD0C4 002B8D24 4B FA C9 B5 */ bl OSCancelAlarm
+/* 802BD0C8 002B8D28 4B FF FD 2D */ bl bte_hcisu_close
+/* 802BD0CC 002B8D2C 4B FF DF 2D */ bl GKI_shutdown
+/* 802BD0D0 002B8D30 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BD0D4 002B8D34 7C 08 03 A6 */ mtlr r0
+/* 802BD0D8 002B8D38 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BD0DC 002B8D3C 4E 80 00 20 */ blr
+
+.global bta_usb_close_evt
+bta_usb_close_evt:
+/* 802BD0E0 002B8D40 81 8D AE EC */ lwz r12, lbl_806401AC-_SDA_BASE_(r13)
+/* 802BD0E4 002B8D44 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD0E8 002B8D48 4D 82 00 20 */ beqlr
+/* 802BD0EC 002B8D4C 7C 60 07 75 */ extsb. r0, r3
+/* 802BD0F0 002B8D50 41 80 00 10 */ blt lbl_802BD100
+/* 802BD0F4 002B8D54 38 60 00 00 */ li r3, 0
+/* 802BD0F8 002B8D58 7D 89 03 A6 */ mtctr r12
+/* 802BD0FC 002B8D5C 4E 80 04 20 */ bctr
+lbl_802BD100:
+/* 802BD100 002B8D60 38 60 00 01 */ li r3, 1
+/* 802BD104 002B8D64 7D 89 03 A6 */ mtctr r12
+/* 802BD108 002B8D68 4E 80 04 20 */ bctr
+/* 802BD10C 002B8D6C 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/btu_task1.s b/asm/SDK/BTE/btu_task1.s
new file mode 100644
index 0000000..026e161
--- /dev/null
+++ b/asm/SDK/BTE/btu_task1.s
@@ -0,0 +1,336 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global btu_task_init
+btu_task_init:
+/* 802BD110 002B8D70 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BD114 002B8D74 7C 08 02 A6 */ mflr r0
+/* 802BD118 002B8D78 38 60 00 01 */ li r3, 1
+/* 802BD11C 002B8D7C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BD120 002B8D80 38 00 00 00 */ li r0, 0
+/* 802BD124 002B8D84 98 6D 8A 28 */ stb r3, lbl_8063DCE8-_SDA_BASE_(r13)
+/* 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
+/* 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)
+/* 802BD144 002B8DA4 7C 08 03 A6 */ mtlr r0
+/* 802BD148 002B8DA8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BD14C 002B8DAC 4E 80 00 20 */ blr
+
+.global btu_task_msg_handler
+btu_task_msg_handler:
+/* 802BD150 002B8DB0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BD154 002B8DB4 7C 08 02 A6 */ mflr r0
+/* 802BD158 002B8DB8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BD15C 002B8DBC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BD160 002B8DC0 4B F0 9F C5 */ bl _savegpr_26
+/* 802BD164 002B8DC4 3B C0 00 00 */ li r30, 0
+/* 802BD168 002B8DC8 4B FB 56 51 */ bl OSGetTime
+/* 802BD16C 002B8DCC 80 6D AE F0 */ lwz r3, lbl_806401B0-_SDA_BASE_(r13)
+/* 802BD170 002B8DD0 38 03 00 01 */ addi r0, r3, 1
+/* 802BD174 002B8DD4 90 0D AE F0 */ stw r0, lbl_806401B0-_SDA_BASE_(r13)
+/* 802BD178 002B8DD8 4B FF E0 09 */ bl GKI_disable
+/* 802BD17C 002B8DDC 80 0D 8A 2C */ lwz r0, lbl_8063DCEC-_SDA_BASE_(r13)
+/* 802BD180 002B8DE0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BD184 002B8DE4 41 82 00 18 */ beq lbl_802BD19C
+/* 802BD188 002B8DE8 38 60 00 00 */ li r3, 0
+/* 802BD18C 002B8DEC 38 00 00 01 */ li r0, 1
+/* 802BD190 002B8DF0 90 6D 8A 2C */ stw r3, lbl_8063DCEC-_SDA_BASE_(r13)
+/* 802BD194 002B8DF4 98 0D 8A 28 */ stb r0, lbl_8063DCE8-_SDA_BASE_(r13)
+/* 802BD198 002B8DF8 48 00 00 18 */ b lbl_802BD1B0
+lbl_802BD19C:
+/* 802BD19C 002B8DFC 88 6D 8A 28 */ lbz r3, lbl_8063DCE8-_SDA_BASE_(r13)
+/* 802BD1A0 002B8E00 38 03 00 01 */ addi r0, r3, 1
+/* 802BD1A4 002B8E04 98 0D 8A 28 */ stb r0, lbl_8063DCE8-_SDA_BASE_(r13)
+/* 802BD1A8 002B8E08 4B FF DF B5 */ bl GKI_enable
+/* 802BD1AC 002B8E0C 48 00 03 18 */ b lbl_802BD4C4
+lbl_802BD1B0:
+/* 802BD1B0 002B8E10 4B FF DF AD */ bl GKI_enable
+/* 802BD1B4 002B8E14 80 6D AE F4 */ lwz r3, lbl_806401B4-_SDA_BASE_(r13)
+/* 802BD1B8 002B8E18 3B E0 00 05 */ li r31, 5
+/* 802BD1BC 002B8E1C 80 8D AE F0 */ lwz r4, lbl_806401B0-_SDA_BASE_(r13)
+/* 802BD1C0 002B8E20 38 03 01 F4 */ addi r0, r3, 0x1f4
+/* 802BD1C4 002B8E24 7C 04 00 40 */ cmplw r4, r0
+/* 802BD1C8 002B8E28 40 81 00 0C */ ble lbl_802BD1D4
+/* 802BD1CC 002B8E2C 90 8D AE F4 */ stw r4, lbl_806401B4-_SDA_BASE_(r13)
+/* 802BD1D0 002B8E30 63 FF 00 30 */ ori r31, r31, 0x30
+lbl_802BD1D4:
+/* 802BD1D4 002B8E34 3C 60 80 57 */ lis r3, lbl_80568650@ha
+/* 802BD1D8 002B8E38 3B A3 86 50 */ addi r29, r3, lbl_80568650@l
+/* 802BD1DC 002B8E3C 48 00 02 D8 */ b lbl_802BD4B4
+lbl_802BD1E0:
+/* 802BD1E0 002B8E40 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802BD1E4 002B8E44 3B C0 00 01 */ li r30, 1
+/* 802BD1E8 002B8E48 41 82 01 10 */ beq lbl_802BD2F8
+/* 802BD1EC 002B8E4C 48 00 00 F8 */ b lbl_802BD2E4
+lbl_802BD1F0:
+/* 802BD1F0 002B8E50 A0 03 00 00 */ lhz r0, 0(r3)
+/* 802BD1F4 002B8E54 3B C0 00 00 */ li r30, 0
+/* 802BD1F8 002B8E58 54 1C 04 2E */ rlwinm r28, r0, 0, 0x10, 0x17
+/* 802BD1FC 002B8E5C 2C 1C 12 00 */ cmpwi r28, 0x1200
+/* 802BD200 002B8E60 41 82 00 50 */ beq lbl_802BD250
+/* 802BD204 002B8E64 40 80 00 1C */ bge lbl_802BD220
+/* 802BD208 002B8E68 2C 1C 11 00 */ cmpwi r28, 0x1100
+/* 802BD20C 002B8E6C 41 82 00 2C */ beq lbl_802BD238
+/* 802BD210 002B8E70 40 80 00 6C */ bge lbl_802BD27C
+/* 802BD214 002B8E74 2C 1C 10 00 */ cmpwi r28, 0x1000
+/* 802BD218 002B8E78 41 82 00 44 */ beq lbl_802BD25C
+/* 802BD21C 002B8E7C 48 00 00 60 */ b lbl_802BD27C
+lbl_802BD220:
+/* 802BD220 002B8E80 2C 1C 19 00 */ cmpwi r28, 0x1900
+/* 802BD224 002B8E84 41 82 00 20 */ beq lbl_802BD244
+/* 802BD228 002B8E88 40 80 00 54 */ bge lbl_802BD27C
+/* 802BD22C 002B8E8C 2C 1C 16 00 */ cmpwi r28, 0x1600
+/* 802BD230 002B8E90 41 82 00 40 */ beq lbl_802BD270
+/* 802BD234 002B8E94 48 00 00 48 */ b lbl_802BD27C
+lbl_802BD238:
+/* 802BD238 002B8E98 7F 63 DB 78 */ mr r3, r27
+/* 802BD23C 002B8E9C 48 01 B9 3D */ bl func_802D8B78
+/* 802BD240 002B8EA0 48 00 00 A4 */ b lbl_802BD2E4
+lbl_802BD244:
+/* 802BD244 002B8EA4 7F 63 DB 78 */ mr r3, r27
+/* 802BD248 002B8EA8 48 01 B6 FD */ bl func_802D8944
+/* 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
+/* 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
+/* 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
+/* 802BD278 002B8ED8 48 00 00 6C */ b lbl_802BD2E4
+lbl_802BD27C:
+/* 802BD27C 002B8EDC 3B 40 00 00 */ li r26, 0
+/* 802BD280 002B8EE0 38 80 00 00 */ li r4, 0
+/* 802BD284 002B8EE4 48 00 00 3C */ b lbl_802BD2C0
+lbl_802BD288:
+/* 802BD288 002B8EE8 57 40 1D 78 */ rlwinm r0, r26, 3, 0x15, 0x1c
+/* 802BD28C 002B8EEC 7C 7D 02 14 */ add r3, r29, r0
+/* 802BD290 002B8EF0 81 83 00 14 */ lwz r12, 0x14(r3)
+/* 802BD294 002B8EF4 2C 8C 00 00 */ cmpwi cr1, r12, 0
+/* 802BD298 002B8EF8 41 86 00 24 */ beq cr1, lbl_802BD2BC
+/* 802BD29C 002B8EFC A0 03 00 10 */ lhz r0, 0x10(r3)
+/* 802BD2A0 002B8F00 7C 1C 00 40 */ cmplw r28, r0
+/* 802BD2A4 002B8F04 40 82 00 18 */ bne lbl_802BD2BC
+/* 802BD2A8 002B8F08 41 86 00 14 */ beq cr1, lbl_802BD2BC
+/* 802BD2AC 002B8F0C 7F 63 DB 78 */ mr r3, r27
+/* 802BD2B0 002B8F10 7D 89 03 A6 */ mtctr r12
+/* 802BD2B4 002B8F14 4E 80 04 21 */ bctrl
+/* 802BD2B8 002B8F18 38 80 00 01 */ li r4, 1
+lbl_802BD2BC:
+/* 802BD2BC 002B8F1C 3B 5A 00 01 */ addi r26, r26, 1
+lbl_802BD2C0:
+/* 802BD2C0 002B8F20 2C 04 00 00 */ cmpwi r4, 0
+/* 802BD2C4 002B8F24 40 82 00 10 */ bne lbl_802BD2D4
+/* 802BD2C8 002B8F28 57 40 06 3E */ clrlwi r0, r26, 0x18
+/* 802BD2CC 002B8F2C 28 00 00 06 */ cmplwi r0, 6
+/* 802BD2D0 002B8F30 41 80 FF B8 */ blt lbl_802BD288
+lbl_802BD2D4:
+/* 802BD2D4 002B8F34 2C 04 00 00 */ cmpwi r4, 0
+/* 802BD2D8 002B8F38 40 82 00 0C */ bne lbl_802BD2E4
+/* 802BD2DC 002B8F3C 7F 63 DB 78 */ mr r3, r27
+/* 802BD2E0 002B8F40 4B FF CA 55 */ bl GKI_freebuf
+lbl_802BD2E4:
+/* 802BD2E4 002B8F44 38 60 00 00 */ li r3, 0
+/* 802BD2E8 002B8F48 4B FF CD BD */ bl GKI_read_mbox
+/* 802BD2EC 002B8F4C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BD2F0 002B8F50 7C 7B 1B 78 */ mr r27, r3
+/* 802BD2F4 002B8F54 40 82 FE FC */ bne lbl_802BD1F0
+lbl_802BD2F8:
+/* 802BD2F8 002B8F58 57 E0 06 F7 */ rlwinm. r0, r31, 0, 0x1b, 0x1b
+/* 802BD2FC 002B8F5C 41 82 01 78 */ beq lbl_802BD474
+/* 802BD300 002B8F60 38 7D 00 40 */ addi r3, r29, 0x40
+/* 802BD304 002B8F64 38 80 00 01 */ li r4, 1
+/* 802BD308 002B8F68 4B FF D9 C5 */ bl GKI_update_timer_list
+/* 802BD30C 002B8F6C 57 E0 07 34 */ rlwinm r0, r31, 0, 0x1c, 0x1a
+/* 802BD310 002B8F70 54 1F 04 3E */ clrlwi r31, r0, 0x10
+/* 802BD314 002B8F74 48 00 01 48 */ b lbl_802BD45C
+lbl_802BD318:
+/* 802BD318 002B8F78 7F 84 E3 78 */ mr r4, r28
+/* 802BD31C 002B8F7C 38 7D 00 40 */ addi r3, r29, 0x40
+/* 802BD320 002B8F80 3B C0 00 00 */ li r30, 0
+/* 802BD324 002B8F84 4B FF DB 21 */ bl GKI_remove_from_timer_list
+/* 802BD328 002B8F88 A0 1C 00 14 */ lhz r0, 0x14(r28)
+/* 802BD32C 002B8F8C 2C 00 00 0A */ cmpwi r0, 0xa
+/* 802BD330 002B8F90 41 82 00 94 */ beq lbl_802BD3C4
+/* 802BD334 002B8F94 40 80 00 30 */ bge lbl_802BD364
+/* 802BD338 002B8F98 2C 00 00 05 */ cmpwi r0, 5
+/* 802BD33C 002B8F9C 41 82 00 7C */ beq lbl_802BD3B8
+/* 802BD340 002B8FA0 40 80 00 14 */ bge lbl_802BD354
+/* 802BD344 002B8FA4 2C 00 00 01 */ cmpwi r0, 1
+/* 802BD348 002B8FA8 41 82 00 4C */ beq lbl_802BD394
+/* 802BD34C 002B8FAC 40 80 00 60 */ bge lbl_802BD3AC
+/* 802BD350 002B8FB0 48 00 00 B8 */ b lbl_802BD408
+lbl_802BD354:
+/* 802BD354 002B8FB4 2C 00 00 08 */ cmpwi r0, 8
+/* 802BD358 002B8FB8 41 82 00 74 */ beq lbl_802BD3CC
+/* 802BD35C 002B8FBC 40 80 00 44 */ bge lbl_802BD3A0
+/* 802BD360 002B8FC0 48 00 00 A8 */ b lbl_802BD408
+lbl_802BD364:
+/* 802BD364 002B8FC4 2C 00 00 3C */ cmpwi r0, 0x3c
+/* 802BD368 002B8FC8 41 82 00 78 */ beq lbl_802BD3E0
+/* 802BD36C 002B8FCC 40 80 00 1C */ bge lbl_802BD388
+/* 802BD370 002B8FD0 2C 00 00 16 */ cmpwi r0, 0x16
+/* 802BD374 002B8FD4 41 82 00 80 */ beq lbl_802BD3F4
+/* 802BD378 002B8FD8 40 80 00 90 */ bge lbl_802BD408
+/* 802BD37C 002B8FDC 2C 00 00 0D */ cmpwi r0, 0xd
+/* 802BD380 002B8FE0 40 80 00 88 */ bge lbl_802BD408
+/* 802BD384 002B8FE4 48 00 00 50 */ b lbl_802BD3D4
+lbl_802BD388:
+/* 802BD388 002B8FE8 2C 00 00 42 */ cmpwi r0, 0x42
+/* 802BD38C 002B8FEC 41 82 00 5C */ beq lbl_802BD3E8
+/* 802BD390 002B8FF0 48 00 00 78 */ b lbl_802BD408
+lbl_802BD394:
+/* 802BD394 002B8FF4 7F 83 E3 78 */ mr r3, r28
+/* 802BD398 002B8FF8 48 00 88 45 */ bl func_802C5BDC
+/* 802BD39C 002B8FFC 48 00 00 C0 */ b lbl_802BD45C
+lbl_802BD3A0:
+/* 802BD3A0 002B9000 7F 83 E3 78 */ mr r3, r28
+/* 802BD3A4 002B9004 48 00 73 2D */ bl func_802C46D0
+/* 802BD3A8 002B9008 48 00 00 B4 */ b lbl_802BD45C
+lbl_802BD3AC:
+/* 802BD3AC 002B900C 7F 83 E3 78 */ mr r3, r28
+/* 802BD3B0 002B9010 48 01 C5 69 */ bl func_802D9918
+/* 802BD3B4 002B9014 48 00 00 A8 */ b lbl_802BD45C
+lbl_802BD3B8:
+/* 802BD3B8 002B9018 80 7C 00 10 */ lwz r3, 0x10(r28)
+/* 802BD3BC 002B901C 48 02 82 BD */ bl func_802E5678
+/* 802BD3C0 002B9020 48 00 00 9C */ b lbl_802BD45C
+lbl_802BD3C4:
+/* 802BD3C4 002B9024 48 00 B9 8D */ bl func_802C8D50
+/* 802BD3C8 002B9028 48 00 00 94 */ b lbl_802BD45C
+lbl_802BD3CC:
+/* 802BD3CC 002B902C 48 00 9F 29 */ bl func_802C72F4
+/* 802BD3D0 002B9030 48 00 00 8C */ b lbl_802BD45C
+lbl_802BD3D4:
+/* 802BD3D4 002B9034 7F 83 E3 78 */ mr r3, r28
+/* 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
+/* 802BD3E4 002B9044 48 00 00 78 */ b lbl_802BD45C
+lbl_802BD3E8:
+/* 802BD3E8 002B9048 7F 83 E3 78 */ mr r3, r28
+/* 802BD3EC 002B904C 48 01 69 89 */ bl func_802D3D74
+/* 802BD3F0 002B9050 48 00 00 6C */ b lbl_802BD45C
+lbl_802BD3F4:
+/* 802BD3F4 002B9054 81 9C 00 10 */ lwz r12, 0x10(r28)
+/* 802BD3F8 002B9058 7F 83 E3 78 */ mr r3, r28
+/* 802BD3FC 002B905C 7D 89 03 A6 */ mtctr r12
+/* 802BD400 002B9060 4E 80 04 21 */ bctrl
+/* 802BD404 002B9064 48 00 00 58 */ b lbl_802BD45C
+lbl_802BD408:
+/* 802BD408 002B9068 3B 60 00 00 */ li r27, 0
+/* 802BD40C 002B906C 38 80 00 00 */ li r4, 0
+/* 802BD410 002B9070 48 00 00 38 */ b lbl_802BD448
+lbl_802BD414:
+/* 802BD414 002B9074 57 60 1D 78 */ rlwinm r0, r27, 3, 0x15, 0x1c
+/* 802BD418 002B9078 7C 7D 02 14 */ add r3, r29, r0
+/* 802BD41C 002B907C 81 83 00 04 */ lwz r12, 4(r3)
+/* 802BD420 002B9080 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BD424 002B9084 41 82 00 20 */ beq lbl_802BD444
+/* 802BD428 002B9088 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BD42C 002B908C 7C 00 E0 40 */ cmplw r0, r28
+/* 802BD430 002B9090 40 82 00 14 */ bne lbl_802BD444
+/* 802BD434 002B9094 7F 83 E3 78 */ mr r3, r28
+/* 802BD438 002B9098 7D 89 03 A6 */ mtctr r12
+/* 802BD43C 002B909C 4E 80 04 21 */ bctrl
+/* 802BD440 002B90A0 38 80 00 01 */ li r4, 1
+lbl_802BD444:
+/* 802BD444 002B90A4 3B 7B 00 01 */ addi r27, r27, 1
+lbl_802BD448:
+/* 802BD448 002B90A8 2C 04 00 00 */ cmpwi r4, 0
+/* 802BD44C 002B90AC 40 82 00 10 */ bne lbl_802BD45C
+/* 802BD450 002B90B0 57 60 06 3E */ clrlwi r0, r27, 0x18
+/* 802BD454 002B90B4 28 00 00 02 */ cmplwi r0, 2
+/* 802BD458 002B90B8 41 80 FF BC */ blt lbl_802BD414
+lbl_802BD45C:
+/* 802BD45C 002B90BC 83 9D 00 40 */ lwz r28, 0x40(r29)
+/* 802BD460 002B90C0 2C 1C 00 00 */ cmpwi r28, 0
+/* 802BD464 002B90C4 41 82 00 10 */ beq lbl_802BD474
+/* 802BD468 002B90C8 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 802BD46C 002B90CC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BD470 002B90D0 41 82 FE A8 */ beq lbl_802BD318
+lbl_802BD474:
+/* 802BD474 002B90D4 57 E0 07 7B */ rlwinm. r0, r31, 0, 0x1d, 0x1d
+/* 802BD478 002B90D8 41 82 00 20 */ beq lbl_802BD498
+/* 802BD47C 002B90DC 48 00 00 0C */ b lbl_802BD488
+lbl_802BD480:
+/* 802BD480 002B90E0 3B C0 00 00 */ li r30, 0
+/* 802BD484 002B90E4 48 00 04 69 */ bl bta_sys_event
+lbl_802BD488:
+/* 802BD488 002B90E8 38 60 00 02 */ li r3, 2
+/* 802BD48C 002B90EC 4B FF CC 19 */ bl GKI_read_mbox
+/* 802BD490 002B90F0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BD494 002B90F4 40 82 FF EC */ bne lbl_802BD480
+lbl_802BD498:
+/* 802BD498 002B90F8 57 E0 06 B5 */ rlwinm. r0, r31, 0, 0x1a, 0x1a
+/* 802BD49C 002B90FC 41 82 00 10 */ beq lbl_802BD4AC
+/* 802BD4A0 002B9100 57 E0 06 F2 */ rlwinm r0, r31, 0, 0x1b, 0x19
+/* 802BD4A4 002B9104 54 1F 04 3E */ clrlwi r31, r0, 0x10
+/* 802BD4A8 002B9108 48 00 05 31 */ bl bta_sys_timer_update
+lbl_802BD4AC:
+/* 802BD4AC 002B910C 57 E0 04 21 */ rlwinm. r0, r31, 0, 0x10, 0x10
+/* 802BD4B0 002B9110 40 82 00 0C */ bne lbl_802BD4BC
+lbl_802BD4B4:
+/* 802BD4B4 002B9114 2C 1E 00 00 */ cmpwi r30, 0
+/* 802BD4B8 002B9118 41 82 FD 28 */ beq lbl_802BD1E0
+lbl_802BD4BC:
+/* 802BD4BC 002B911C 38 00 00 01 */ li r0, 1
+/* 802BD4C0 002B9120 90 0D 8A 2C */ stw r0, lbl_8063DCEC-_SDA_BASE_(r13)
+lbl_802BD4C4:
+/* 802BD4C4 002B9124 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BD4C8 002B9128 4B F0 9C A9 */ bl _restgpr_26
+/* 802BD4CC 002B912C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BD4D0 002B9130 7C 08 03 A6 */ mtlr r0
+/* 802BD4D4 002B9134 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BD4D8 002B9138 4E 80 00 20 */ blr
+
+.global btu_start_timer
+btu_start_timer:
+/* 802BD4DC 002B913C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BD4E0 002B9140 7C 08 02 A6 */ mflr r0
+/* 802BD4E4 002B9144 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BD4E8 002B9148 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BD4EC 002B914C 3F E0 80 57 */ lis r31, lbl_80568650@ha
+/* 802BD4F0 002B9150 3B FF 86 50 */ addi r31, r31, lbl_80568650@l
+/* 802BD4F4 002B9154 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BD4F8 002B9158 7C BE 2B 78 */ mr r30, r5
+/* 802BD4FC 002B915C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BD500 002B9160 7C 9D 23 78 */ mr r29, r4
+/* 802BD504 002B9164 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802BD508 002B9168 7C 7C 1B 78 */ mr r28, r3
+/* 802BD50C 002B916C 7F 84 E3 78 */ mr r4, r28
+/* 802BD510 002B9170 38 7F 00 40 */ addi r3, r31, 0x40
+/* 802BD514 002B9174 4B FF D9 31 */ bl GKI_remove_from_timer_list
+/* 802BD518 002B9178 B3 BC 00 14 */ sth r29, 0x14(r28)
+/* 802BD51C 002B917C 7F 84 E3 78 */ mr r4, r28
+/* 802BD520 002B9180 38 7F 00 40 */ addi r3, r31, 0x40
+/* 802BD524 002B9184 93 DC 00 0C */ stw r30, 0xc(r28)
+/* 802BD528 002B9188 4B FF D8 31 */ bl GKI_add_to_timer_list
+/* 802BD52C 002B918C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BD530 002B9190 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BD534 002B9194 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BD538 002B9198 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BD53C 002B919C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802BD540 002B91A0 7C 08 03 A6 */ mtlr r0
+/* 802BD544 002B91A4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BD548 002B91A8 4E 80 00 20 */ blr
+
+.global btu_stop_timer
+btu_stop_timer:
+/* 802BD54C 002B91AC 3C A0 80 57 */ lis r5, lbl_80568650@ha
+/* 802BD550 002B91B0 7C 64 1B 78 */ mr r4, r3
+/* 802BD554 002B91B4 38 A5 86 50 */ addi r5, r5, lbl_80568650@l
+/* 802BD558 002B91B8 38 65 00 40 */ addi r3, r5, 0x40
+/* 802BD55C 002B91BC 4B FF D8 E8 */ b GKI_remove_from_timer_list
diff --git a/asm/SDK/BTE/hcisu_h2.s b/asm/SDK/BTE/hcisu_h2.s
index 7be4480..749530d 100644
--- a/asm/SDK/BTE/hcisu_h2.s
+++ b/asm/SDK/BTE/hcisu_h2.s
@@ -11,7 +11,7 @@ hcisu_h2_usb_cback:
/* 802BB20C 002B6E6C 4E 80 00 20 */ blr
lbl_802BB210:
/* 802BB210 002B6E70 7C 83 07 74 */ extsb r3, r4
-/* 802BB214 002B6E74 48 00 1E CC */ b lbl_802BD0E0
+/* 802BB214 002B6E74 48 00 1E CC */ b bta_usb_close_evt
/* 802BB218 002B6E78 4E 80 00 20 */ blr
.global hcisu_h2_receive_msg
@@ -49,7 +49,7 @@ lbl_802BB28C:
/* 802BB28C 002B6EEC 56 03 06 3E */ clrlwi r3, r16, 0x18
/* 802BB290 002B6EF0 38 81 00 08 */ addi r4, r1, 8
/* 802BB294 002B6EF4 38 A0 00 01 */ li r5, 1
-/* 802BB298 002B6EF8 48 00 14 59 */ bl func_802BC6F0
+/* 802BB298 002B6EF8 48 00 14 59 */ bl UUSB_Read
/* 802BB29C 002B6EFC 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802BB2A0 002B6F00 41 82 02 F8 */ beq lbl_802BB598
/* 802BB2A4 002B6F04 88 16 00 1A */ lbz r0, 0x1a(r22)
@@ -108,7 +108,7 @@ lbl_802BB32C:
lbl_802BB364:
/* 802BB364 002B6FC4 38 8E F2 78 */ addi r4, r14, -3464
/* 802BB368 002B6FC8 3C 60 00 07 */ lis r3, 7
-/* 802BB36C 002B6FCC 48 00 1B A5 */ bl func_802BCF10
+/* 802BB36C 002B6FCC 48 00 1B A5 */ bl LogMsg_0
/* 802BB370 002B6FD0 9B 16 00 1A */ stb r24, 0x1a(r22)
lbl_802BB374:
/* 802BB374 002B6FD4 88 16 00 14 */ lbz r0, 0x14(r22)
@@ -168,7 +168,7 @@ lbl_802BB404:
/* 802BB440 002B70A0 38 83 F2 B4 */ addi r4, r3, lbl_8043F2B4@l
/* 802BB444 002B70A4 9B D6 00 1A */ stb r30, 0x1a(r22)
/* 802BB448 002B70A8 3C 60 00 07 */ lis r3, 7
-/* 802BB44C 002B70AC 48 00 1A C5 */ bl func_802BCF10
+/* 802BB44C 002B70AC 48 00 1A C5 */ bl LogMsg_0
/* 802BB450 002B70B0 48 00 01 28 */ b lbl_802BB578
lbl_802BB454:
/* 802BB454 002B70B4 2C 12 00 00 */ cmpwi r18, 0
@@ -222,7 +222,7 @@ lbl_802BB4C8:
/* 802BB4FC 002B715C A0 04 00 02 */ lhz r0, 2(r4)
/* 802BB500 002B7160 7C 84 02 14 */ add r4, r4, r0
/* 802BB504 002B7164 38 84 00 08 */ addi r4, r4, 8
-/* 802BB508 002B7168 48 00 11 E9 */ bl func_802BC6F0
+/* 802BB508 002B7168 48 00 11 E9 */ bl UUSB_Read
/* 802BB50C 002B716C 7C 8F B8 2E */ lwzx r4, r15, r23
/* 802BB510 002B7170 7E 73 1A 14 */ add r19, r19, r3
/* 802BB514 002B7174 A0 04 00 02 */ lhz r0, 2(r4)
@@ -319,7 +319,7 @@ lbl_802BB650:
/* 802BB650 002B72B0 7C C4 33 78 */ mr r4, r6
/* 802BB654 002B72B4 7F 83 E3 78 */ mr r3, r28
/* 802BB658 002B72B8 7F 66 DB 78 */ mr r6, r27
-/* 802BB65C 002B72BC 48 00 10 9D */ bl func_802BC6F8
+/* 802BB65C 002B72BC 48 00 10 9D */ bl UUSB_Write
/* 802BB660 002B72C0 A0 7B 00 04 */ lhz r3, 4(r27)
/* 802BB664 002B72C4 A0 1E 00 7C */ lhz r0, 0x7c(r30)
/* 802BB668 002B72C8 A0 9B 00 02 */ lhz r4, 2(r27)
@@ -379,7 +379,7 @@ lbl_802BB72C:
/* 802BB730 002B7390 7C C4 33 78 */ mr r4, r6
/* 802BB734 002B7394 7F 83 E3 78 */ mr r3, r28
/* 802BB738 002B7398 7F 66 DB 78 */ mr r6, r27
-/* 802BB73C 002B739C 48 00 0F BD */ bl func_802BC6F8
+/* 802BB73C 002B739C 48 00 0F BD */ bl UUSB_Write
/* 802BB740 002B73A0 7F 63 DB 78 */ mr r3, r27
/* 802BB744 002B73A4 4B FF E5 F1 */ bl GKI_freebuf
lbl_802BB748:
@@ -420,11 +420,11 @@ hcisu_h2_open:
/* 802BB7C0 002B7420 B0 C1 00 0E */ sth r6, 0xe(r1)
/* 802BB7C4 002B7424 B0 81 00 10 */ sth r4, 0x10(r1)
/* 802BB7C8 002B7428 98 05 00 1E */ stb r0, 0x1e(r5)
-/* 802BB7CC 002B742C 48 00 0B A1 */ bl func_802BC36C
+/* 802BB7CC 002B742C 48 00 0B A1 */ bl UUSB_Register
/* 802BB7D0 002B7430 3C 80 80 2C */ lis r4, hcisu_h2_usb_cback@ha
/* 802BB7D4 002B7434 38 61 00 08 */ addi r3, r1, 8
/* 802BB7D8 002B7438 38 84 B1 F8 */ addi r4, r4, hcisu_h2_usb_cback@l
-/* 802BB7DC 002B743C 48 00 0D FD */ bl func_802BC5D8
+/* 802BB7DC 002B743C 48 00 0D FD */ bl UUSB_Open
/* 802BB7E0 002B7440 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802BB7E4 002B7444 38 60 00 01 */ li r3, 1
/* 802BB7E8 002B7448 7C 08 03 A6 */ mtlr r0
@@ -439,8 +439,8 @@ hcisu_h2_close:
/* 802BB804 002B7464 38 00 00 00 */ li r0, 0
/* 802BB808 002B7468 38 63 4D A0 */ addi r3, r3, lbl_80564DA0@l
/* 802BB80C 002B746C 98 03 00 1E */ stb r0, 0x1e(r3)
-/* 802BB810 002B7470 48 00 14 71 */ bl func_802BCC80
-/* 802BB814 002B7474 48 00 15 19 */ bl func_802BCD2C
+/* 802BB810 002B7470 48 00 14 71 */ bl UUSB_Close
+/* 802BB814 002B7474 48 00 15 19 */ bl UUSB_Unregister
/* 802BB818 002B7478 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BB81C 002B747C 7C 08 03 A6 */ mtlr r0
/* 802BB820 002B7480 38 21 00 10 */ addi r1, r1, 0x10
diff --git a/asm/SDK/BTE/ptim.s b/asm/SDK/BTE/ptim.s
new file mode 100644
index 0000000..84b7bfc
--- /dev/null
+++ b/asm/SDK/BTE/ptim.s
@@ -0,0 +1,142 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global ptim_init
+ptim_init:
+/* 802BDACC 002B972C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BDAD0 002B9730 7C 08 02 A6 */ mflr r0
+/* 802BDAD4 002B9734 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BDAD8 002B9738 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BDADC 002B973C 7C BF 2B 78 */ mr r31, r5
+/* 802BDAE0 002B9740 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BDAE4 002B9744 7C 9E 23 78 */ mr r30, r4
+/* 802BDAE8 002B9748 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BDAEC 002B974C 7C 7D 1B 78 */ mr r29, r3
+/* 802BDAF0 002B9750 4B FF D1 C9 */ bl GKI_init_timer_list
+/* 802BDAF4 002B9754 93 DD 00 0C */ stw r30, 0xc(r29)
+/* 802BDAF8 002B9758 9B FD 00 10 */ stb r31, 0x10(r29)
+/* 802BDAFC 002B975C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BDB00 002B9760 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BDB04 002B9764 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BDB08 002B9768 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BDB0C 002B976C 7C 08 03 A6 */ mtlr r0
+/* 802BDB10 002B9770 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BDB14 002B9774 4E 80 00 20 */ blr
+
+.global ptim_timer_update
+ptim_timer_update:
+/* 802BDB18 002B9778 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BDB1C 002B977C 7C 08 02 A6 */ mflr r0
+/* 802BDB20 002B9780 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BDB24 002B9784 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BDB28 002B9788 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BDB2C 002B978C 7C 7E 1B 78 */ mr r30, r3
+/* 802BDB30 002B9790 80 83 00 0C */ lwz r4, 0xc(r3)
+/* 802BDB34 002B9794 4B FF D1 99 */ bl GKI_update_timer_list
+/* 802BDB38 002B9798 48 00 00 54 */ b lbl_802BDB8C
+lbl_802BDB3C:
+/* 802BDB3C 002B979C 7F C3 F3 78 */ mr r3, r30
+/* 802BDB40 002B97A0 7F E4 FB 78 */ mr r4, r31
+/* 802BDB44 002B97A4 4B FF D3 01 */ bl GKI_remove_from_timer_list
+/* 802BDB48 002B97A8 81 9F 00 08 */ lwz r12, 8(r31)
+/* 802BDB4C 002B97AC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BDB50 002B97B0 41 82 00 14 */ beq lbl_802BDB64
+/* 802BDB54 002B97B4 7F E3 FB 78 */ mr r3, r31
+/* 802BDB58 002B97B8 7D 89 03 A6 */ mtctr r12
+/* 802BDB5C 002B97BC 4E 80 04 21 */ bctrl
+/* 802BDB60 002B97C0 48 00 00 2C */ b lbl_802BDB8C
+lbl_802BDB64:
+/* 802BDB64 002B97C4 A0 1F 00 14 */ lhz r0, 0x14(r31)
+/* 802BDB68 002B97C8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BDB6C 002B97CC 41 82 00 20 */ beq lbl_802BDB8C
+/* 802BDB70 002B97D0 38 60 00 08 */ li r3, 8
+/* 802BDB74 002B97D4 4B FF BF 39 */ bl GKI_getbuf
+/* 802BDB78 002B97D8 2C 03 00 00 */ cmpwi r3, 0
+/* 802BDB7C 002B97DC 41 82 00 10 */ beq lbl_802BDB8C
+/* 802BDB80 002B97E0 A0 1F 00 14 */ lhz r0, 0x14(r31)
+/* 802BDB84 002B97E4 B0 03 00 00 */ sth r0, 0(r3)
+/* 802BDB88 002B97E8 4B FF FE 85 */ bl bta_sys_sendmsg
+lbl_802BDB8C:
+/* 802BDB8C 002B97EC 83 FE 00 00 */ lwz r31, 0(r30)
+/* 802BDB90 002B97F0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802BDB94 002B97F4 41 82 00 10 */ beq lbl_802BDBA4
+/* 802BDB98 002B97F8 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802BDB9C 002B97FC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BDBA0 002B9800 40 81 FF 9C */ ble lbl_802BDB3C
+lbl_802BDBA4:
+/* 802BDBA4 002B9804 2C 1F 00 00 */ cmpwi r31, 0
+/* 802BDBA8 002B9808 40 82 00 0C */ bne lbl_802BDBB4
+/* 802BDBAC 002B980C 88 7E 00 10 */ lbz r3, 0x10(r30)
+/* 802BDBB0 002B9810 4B FF D0 81 */ bl GKI_stop_timer
+lbl_802BDBB4:
+/* 802BDBB4 002B9814 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BDBB8 002B9818 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BDBBC 002B981C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BDBC0 002B9820 7C 08 03 A6 */ mtlr r0
+/* 802BDBC4 002B9824 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BDBC8 002B9828 4E 80 00 20 */ blr
+
+.global ptim_start_timer
+ptim_start_timer:
+/* 802BDBCC 002B982C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BDBD0 002B9830 7C 08 02 A6 */ mflr r0
+/* 802BDBD4 002B9834 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BDBD8 002B9838 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BDBDC 002B983C 7C DF 33 78 */ mr r31, r6
+/* 802BDBE0 002B9840 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BDBE4 002B9844 7C BE 2B 78 */ mr r30, r5
+/* 802BDBE8 002B9848 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BDBEC 002B984C 7C 9D 23 78 */ mr r29, r4
+/* 802BDBF0 002B9850 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802BDBF4 002B9854 7C 7C 1B 78 */ mr r28, r3
+/* 802BDBF8 002B9858 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BDBFC 002B985C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BDC00 002B9860 40 82 00 2C */ bne lbl_802BDC2C
+/* 802BDC04 002B9864 3C 80 66 66 */ lis r4, 0x66666667@ha
+/* 802BDC08 002B9868 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 802BDC0C 002B986C 38 84 66 67 */ addi r4, r4, 0x66666667@l
+/* 802BDC10 002B9870 88 63 00 10 */ lbz r3, 0x10(r3)
+/* 802BDC14 002B9874 7C 04 00 96 */ mulhw r0, r4, r0
+/* 802BDC18 002B9878 38 A0 00 01 */ li r5, 1
+/* 802BDC1C 002B987C 7C 00 16 70 */ srawi r0, r0, 2
+/* 802BDC20 002B9880 54 04 0F FE */ srwi r4, r0, 0x1f
+/* 802BDC24 002B9884 7C 80 22 14 */ add r4, r0, r4
+/* 802BDC28 002B9888 4B FF CE B9 */ bl GKI_start_timer
+lbl_802BDC2C:
+/* 802BDC2C 002B988C 7F 83 E3 78 */ mr r3, r28
+/* 802BDC30 002B9890 7F A4 EB 78 */ mr r4, r29
+/* 802BDC34 002B9894 4B FF D2 11 */ bl GKI_remove_from_timer_list
+/* 802BDC38 002B9898 B3 DD 00 14 */ sth r30, 0x14(r29)
+/* 802BDC3C 002B989C 7F 83 E3 78 */ mr r3, r28
+/* 802BDC40 002B98A0 7F A4 EB 78 */ mr r4, r29
+/* 802BDC44 002B98A4 93 FD 00 0C */ stw r31, 0xc(r29)
+/* 802BDC48 002B98A8 4B FF D1 11 */ bl GKI_add_to_timer_list
+/* 802BDC4C 002B98AC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BDC50 002B98B0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BDC54 002B98B4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BDC58 002B98B8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BDC5C 002B98BC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802BDC60 002B98C0 7C 08 03 A6 */ mtlr r0
+/* 802BDC64 002B98C4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BDC68 002B98C8 4E 80 00 20 */ blr
+
+.global ptim_stop_timer
+ptim_stop_timer:
+/* 802BDC6C 002B98CC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BDC70 002B98D0 7C 08 02 A6 */ mflr r0
+/* 802BDC74 002B98D4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BDC78 002B98D8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BDC7C 002B98DC 7C 7F 1B 78 */ mr r31, r3
+/* 802BDC80 002B98E0 4B FF D1 C5 */ bl GKI_remove_from_timer_list
+/* 802BDC84 002B98E4 80 1F 00 00 */ lwz r0, 0(r31)
+/* 802BDC88 002B98E8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BDC8C 002B98EC 40 82 00 0C */ bne lbl_802BDC98
+/* 802BDC90 002B98F0 88 7F 00 10 */ lbz r3, 0x10(r31)
+/* 802BDC94 002B98F4 4B FF CF 9D */ bl GKI_stop_timer
+lbl_802BDC98:
+/* 802BDC98 002B98F8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BDC9C 002B98FC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BDCA0 002B9900 7C 08 03 A6 */ mtlr r0
+/* 802BDCA4 002B9904 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BDCA8 002B9908 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/utl.s b/asm/SDK/BTE/utl.s
new file mode 100644
index 0000000..2f019e1
--- /dev/null
+++ b/asm/SDK/BTE/utl.s
@@ -0,0 +1,24 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global utl_freebuf
+utl_freebuf:
+/* 802BDCAC 002B990C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BDCB0 002B9910 7C 08 02 A6 */ mflr r0
+/* 802BDCB4 002B9914 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BDCB8 002B9918 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BDCBC 002B991C 7C 7F 1B 78 */ mr r31, r3
+/* 802BDCC0 002B9920 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BDCC4 002B9924 2C 00 00 00 */ cmpwi r0, 0
+/* 802BDCC8 002B9928 41 82 00 14 */ beq lbl_802BDCDC
+/* 802BDCCC 002B992C 7C 03 03 78 */ mr r3, r0
+/* 802BDCD0 002B9930 4B FF C0 65 */ bl GKI_freebuf
+/* 802BDCD4 002B9934 38 00 00 00 */ li r0, 0
+/* 802BDCD8 002B9938 90 1F 00 00 */ stw r0, 0(r31)
+lbl_802BDCDC:
+/* 802BDCDC 002B993C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BDCE0 002B9940 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BDCE4 002B9944 7C 08 03 A6 */ mtlr r0
+/* 802BDCE8 002B9948 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BDCEC 002B994C 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/uusb_ppc.s b/asm/SDK/BTE/uusb_ppc.s
new file mode 100644
index 0000000..aaeb352
--- /dev/null
+++ b/asm/SDK/BTE/uusb_ppc.s
@@ -0,0 +1,1494 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+uusb_CloseDeviceCB:
+/* 802BB894 002B74F4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BB898 002B74F8 7C 08 02 A6 */ mflr r0
+/* 802BB89C 002B74FC 3C 80 80 56 */ lis r4, lbl_80564DE0@ha
+/* 802BB8A0 002B7500 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BB8A4 002B7504 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BB8A8 002B7508 3B E4 4D E0 */ addi r31, r4, lbl_80564DE0@l
+/* 802BB8AC 002B750C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BB8B0 002B7510 3B C0 00 00 */ li r30, 0
+/* 802BB8B4 002B7514 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BB8B8 002B7518 7C 7D 1B 78 */ mr r29, r3
+/* 802BB8BC 002B751C 93 C4 4D E0 */ stw r30, 0x4de0(r4)
+/* 802BB8C0 002B7520 9B DF 00 10 */ stb r30, 0x10(r31)
+/* 802BB8C4 002B7524 9B DF 00 11 */ stb r30, 0x11(r31)
+/* 802BB8C8 002B7528 9B DF 00 12 */ stb r30, 0x12(r31)
+/* 802BB8CC 002B752C 9B DF 00 13 */ stb r30, 0x13(r31)
+/* 802BB8D0 002B7530 9B CD AE C8 */ stb r30, lbl_80640188-_SDA_BASE_(r13)
+/* 802BB8D4 002B7534 4B FF 85 99 */ bl IUSB_CloseLib
+/* 802BB8D8 002B7538 4B FF F8 A9 */ bl GKI_disable
+/* 802BB8DC 002B753C 38 00 00 05 */ li r0, 5
+/* 802BB8E0 002B7540 9B DF 00 28 */ stb r30, 0x28(r31)
+/* 802BB8E4 002B7544 98 1F 00 29 */ stb r0, 0x29(r31)
+/* 802BB8E8 002B7548 9B CD AE C9 */ stb r30, lbl_80640189-_SDA_BASE_(r13)
+/* 802BB8EC 002B754C 4B FF F8 71 */ bl GKI_enable
+/* 802BB8F0 002B7550 81 9F 00 20 */ lwz r12, 0x20(r31)
+/* 802BB8F4 002B7554 2C 0C 00 00 */ cmpwi r12, 0
+/* 802BB8F8 002B7558 41 82 00 14 */ beq lbl_802BB90C
+/* 802BB8FC 002B755C 7F A4 07 74 */ extsb r4, r29
+/* 802BB900 002B7560 38 60 00 04 */ li r3, 4
+/* 802BB904 002B7564 7D 89 03 A6 */ mtctr r12
+/* 802BB908 002B7568 4E 80 04 21 */ bctrl
+lbl_802BB90C:
+/* 802BB90C 002B756C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BB910 002B7570 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BB914 002B7574 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BB918 002B7578 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BB91C 002B757C 7C 08 03 A6 */ mtlr r0
+/* 802BB920 002B7580 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BB924 002B7584 4E 80 00 20 */ blr
+
+uusb_ReadIntrDataCB:
+/* 802BB928 002B7588 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BB92C 002B758C 7C 08 02 A6 */ mflr r0
+/* 802BB930 002B7590 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BB934 002B7594 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BB938 002B7598 4B F0 B7 ED */ bl _savegpr_26
+/* 802BB93C 002B759C 3C A0 80 56 */ lis r5, lbl_80564DE0@ha
+/* 802BB940 002B75A0 3F E0 80 44 */ lis r31, lbl_8043F2E8@ha
+/* 802BB944 002B75A4 38 A5 4D E0 */ addi r5, r5, lbl_80564DE0@l
+/* 802BB948 002B75A8 7C 7C 1B 78 */ mr r28, r3
+/* 802BB94C 002B75AC 88 05 00 28 */ lbz r0, 0x28(r5)
+/* 802BB950 002B75B0 7C 9D 23 78 */ mr r29, r4
+/* 802BB954 002B75B4 3B FF F2 E8 */ addi r31, r31, lbl_8043F2E8@l
+/* 802BB958 002B75B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BB95C 002B75BC 41 82 00 10 */ beq lbl_802BB96C
+/* 802BB960 002B75C0 38 7F 00 00 */ addi r3, r31, 0
+/* 802BB964 002B75C4 4C C6 31 82 */ crclr 6
+/* 802BB968 002B75C8 4B D4 C1 5D */ bl func_80007AC4
+lbl_802BB96C:
+/* 802BB96C 002B75CC 3F 60 80 56 */ lis r27, lbl_80564DE0@ha
+/* 802BB970 002B75D0 38 60 00 00 */ li r3, 0
+/* 802BB974 002B75D4 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l
+/* 802BB978 002B75D8 88 1B 00 29 */ lbz r0, 0x29(r27)
+/* 802BB97C 002B75DC 98 7B 00 2B */ stb r3, 0x2b(r27)
+/* 802BB980 002B75E0 28 00 00 02 */ cmplwi r0, 2
+/* 802BB984 002B75E4 41 82 00 60 */ beq lbl_802BB9E4
+/* 802BB988 002B75E8 88 1B 00 28 */ lbz r0, 0x28(r27)
+/* 802BB98C 002B75EC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BB990 002B75F0 41 82 00 10 */ beq lbl_802BB9A0
+/* 802BB994 002B75F4 38 7F 00 28 */ addi r3, r31, 0x28
+/* 802BB998 002B75F8 4C C6 31 82 */ crclr 6
+/* 802BB99C 002B75FC 4B D4 C1 29 */ bl func_80007AC4
+lbl_802BB9A0:
+/* 802BB9A0 002B7600 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BB9A4 002B7604 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BB9A8 002B7608 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BB9AC 002B760C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BB9B0 002B7610 41 82 00 10 */ beq lbl_802BB9C0
+/* 802BB9B4 002B7614 38 7F 00 6C */ addi r3, r31, 0x6c
+/* 802BB9B8 002B7618 4C C6 31 82 */ crclr 6
+/* 802BB9BC 002B761C 4B D4 C1 09 */ bl func_80007AC4
+lbl_802BB9C0:
+/* 802BB9C0 002B7620 7F A3 EB 78 */ mr r3, r29
+/* 802BB9C4 002B7624 4B FF E3 71 */ bl GKI_freebuf
+/* 802BB9C8 002B7628 3F 60 80 56 */ lis r27, lbl_80564DE0@ha
+/* 802BB9CC 002B762C 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l
+/* 802BB9D0 002B7630 88 7B 00 1C */ lbz r3, 0x1c(r27)
+/* 802BB9D4 002B7634 4B FF EE DD */ bl GKI_delete_pool
+/* 802BB9D8 002B7638 38 00 00 FF */ li r0, 0xff
+/* 802BB9DC 002B763C 98 1B 00 1C */ stb r0, 0x1c(r27)
+/* 802BB9E0 002B7640 48 00 01 4C */ b lbl_802BBB2C
+lbl_802BB9E4:
+/* 802BB9E4 002B7644 7C 1D 18 40 */ cmplw r29, r3
+/* 802BB9E8 002B7648 41 82 01 40 */ beq lbl_802BBB28
+/* 802BB9EC 002B764C 2C 1C 00 00 */ cmpwi r28, 0
+/* 802BB9F0 002B7650 41 81 00 2C */ bgt lbl_802BBA1C
+/* 802BB9F4 002B7654 88 1B 00 28 */ lbz r0, 0x28(r27)
+/* 802BB9F8 002B7658 2C 00 00 00 */ cmpwi r0, 0
+/* 802BB9FC 002B765C 41 82 00 14 */ beq lbl_802BBA10
+/* 802BBA00 002B7660 7F 84 E3 78 */ mr r4, r28
+/* 802BBA04 002B7664 38 7F 00 DC */ addi r3, r31, 0xdc
+/* 802BBA08 002B7668 4C C6 31 82 */ crclr 6
+/* 802BBA0C 002B766C 4B D4 C0 B9 */ bl func_80007AC4
+lbl_802BBA10:
+/* 802BBA10 002B7670 7F A3 EB 78 */ mr r3, r29
+/* 802BBA14 002B7674 4B FF E3 21 */ bl GKI_freebuf
+/* 802BBA18 002B7678 48 00 01 10 */ b lbl_802BBB28
+lbl_802BBA1C:
+/* 802BBA1C 002B767C 38 60 00 02 */ li r3, 2
+/* 802BBA20 002B7680 4B FF E2 2D */ bl GKI_getpoolbuf
+/* 802BBA24 002B7684 2C 03 00 00 */ cmpwi r3, 0
+/* 802BBA28 002B7688 7C 7E 1B 78 */ mr r30, r3
+/* 802BBA2C 002B768C 40 82 00 10 */ bne lbl_802BBA3C
+/* 802BBA30 002B7690 7F A3 EB 78 */ mr r3, r29
+/* 802BBA34 002B7694 4B FF E3 01 */ bl GKI_freebuf
+/* 802BBA38 002B7698 48 00 00 F0 */ b lbl_802BBB28
+lbl_802BBA3C:
+/* 802BBA3C 002B769C A0 1D 00 04 */ lhz r0, 4(r29)
+/* 802BBA40 002B76A0 57 84 04 3E */ clrlwi r4, r28, 0x10
+/* 802BBA44 002B76A4 38 C0 10 00 */ li r6, 0x1000
+/* 802BBA48 002B76A8 B3 9D 00 02 */ sth r28, 2(r29)
+/* 802BBA4C 002B76AC 7C A4 02 14 */ add r5, r4, r0
+/* 802BBA50 002B76B0 7F A4 EB 78 */ mr r4, r29
+/* 802BBA54 002B76B4 3B 45 00 08 */ addi r26, r5, 8
+/* 802BBA58 002B76B8 B0 DD 00 00 */ sth r6, 0(r29)
+/* 802BBA5C 002B76BC 57 45 00 3A */ rlwinm r5, r26, 0, 0, 0x1d
+/* 802BBA60 002B76C0 3B 45 00 04 */ addi r26, r5, 4
+/* 802BBA64 002B76C4 7F 45 D3 78 */ mr r5, r26
+/* 802BBA68 002B76C8 4B D4 85 99 */ bl memcpy
+/* 802BBA6C 002B76CC 88 1B 00 28 */ lbz r0, 0x28(r27)
+/* 802BBA70 002B76D0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBA74 002B76D4 41 82 00 1C */ beq lbl_802BBA90
+/* 802BBA78 002B76D8 A0 9E 00 02 */ lhz r4, 2(r30)
+/* 802BBA7C 002B76DC 7F 46 D3 78 */ mr r6, r26
+/* 802BBA80 002B76E0 A0 BE 00 04 */ lhz r5, 4(r30)
+/* 802BBA84 002B76E4 38 7F 01 14 */ addi r3, r31, 0x114
+/* 802BBA88 002B76E8 4C C6 31 82 */ crclr 6
+/* 802BBA8C 002B76EC 4B D4 C0 39 */ bl func_80007AC4
+lbl_802BBA90:
+/* 802BBA90 002B76F0 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802BBA94 002B76F4 3F 60 80 56 */ lis r27, lbl_80564DE0@ha
+/* 802BBA98 002B76F8 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l
+/* 802BBA9C 002B76FC 3B 40 00 00 */ li r26, 0
+/* 802BBAA0 002B7700 7C 7E 02 14 */ add r3, r30, r0
+/* 802BBAA4 002B7704 3B E3 00 08 */ addi r31, r3, 8
+/* 802BBAA8 002B7708 48 00 00 28 */ b lbl_802BBAD0
+lbl_802BBAAC:
+/* 802BBAAC 002B770C 88 1B 00 28 */ lbz r0, 0x28(r27)
+/* 802BBAB0 002B7710 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBAB4 002B7714 41 82 00 14 */ beq lbl_802BBAC8
+/* 802BBAB8 002B7718 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802BBABC 002B771C 38 6D 89 D0 */ addi r3, r13, lbl_8063DC90-_SDA_BASE_
+/* 802BBAC0 002B7720 4C C6 31 82 */ crclr 6
+/* 802BBAC4 002B7724 4B D4 C0 01 */ bl func_80007AC4
+lbl_802BBAC8:
+/* 802BBAC8 002B7728 3B 5A 00 01 */ addi r26, r26, 1
+/* 802BBACC 002B772C 3B FF 00 01 */ addi r31, r31, 1
+lbl_802BBAD0:
+/* 802BBAD0 002B7730 7C 1A E0 00 */ cmpw r26, r28
+/* 802BBAD4 002B7734 41 80 FF D8 */ blt lbl_802BBAAC
+/* 802BBAD8 002B7738 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BBADC 002B773C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BBAE0 002B7740 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BBAE4 002B7744 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBAE8 002B7748 41 82 00 10 */ beq lbl_802BBAF8
+/* 802BBAEC 002B774C 38 6D 89 D8 */ addi r3, r13, lbl_8063DC98-_SDA_BASE_
+/* 802BBAF0 002B7750 4C C6 31 82 */ crclr 6
+/* 802BBAF4 002B7754 4B D4 BF D1 */ bl func_80007AC4
+lbl_802BBAF8:
+/* 802BBAF8 002B7758 3C A0 80 56 */ lis r5, lbl_80564E40@ha
+/* 802BBAFC 002B775C 3C E0 80 2C */ lis r7, bta_ci_hci_msg_handler@ha
+/* 802BBB00 002B7760 38 A5 4E 40 */ addi r5, r5, lbl_80564E40@l
+/* 802BBB04 002B7764 7F C3 F3 78 */ mr r3, r30
+/* 802BBB08 002B7768 39 05 10 00 */ addi r8, r5, 0x1000
+/* 802BBB0C 002B776C 38 E7 CE 18 */ addi r7, r7, bta_ci_hci_msg_handler@l
+/* 802BBB10 002B7770 38 80 00 00 */ li r4, 0
+/* 802BBB14 002B7774 38 A0 00 00 */ li r5, 0
+/* 802BBB18 002B7778 38 C0 00 00 */ li r6, 0
+/* 802BBB1C 002B777C 4B FA F5 45 */ bl OSSwitchFiberEx
+/* 802BBB20 002B7780 7F A3 EB 78 */ mr r3, r29
+/* 802BBB24 002B7784 4B FF E2 11 */ bl GKI_freebuf
+lbl_802BBB28:
+/* 802BBB28 002B7788 48 00 03 39 */ bl uusb_issue_intr_read
+lbl_802BBB2C:
+/* 802BBB2C 002B778C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BBB30 002B7790 4B F0 B6 41 */ bl _restgpr_26
+/* 802BBB34 002B7794 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BBB38 002B7798 7C 08 03 A6 */ mtlr r0
+/* 802BBB3C 002B779C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BBB40 002B77A0 4E 80 00 20 */ blr
+
+uusb_ReadBulkDataCB:
+/* 802BBB44 002B77A4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BBB48 002B77A8 7C 08 02 A6 */ mflr r0
+/* 802BBB4C 002B77AC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BBB50 002B77B0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BBB54 002B77B4 4B F0 B5 D5 */ bl _savegpr_27
+/* 802BBB58 002B77B8 3F 80 80 56 */ lis r28, lbl_80564DE0@ha
+/* 802BBB5C 002B77BC 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha
+/* 802BBB60 002B77C0 3B 9C 4D E0 */ addi r28, r28, lbl_80564DE0@l
+/* 802BBB64 002B77C4 7C 9E 23 78 */ mr r30, r4
+/* 802BBB68 002B77C8 88 1C 00 29 */ lbz r0, 0x29(r28)
+/* 802BBB6C 002B77CC 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l
+/* 802BBB70 002B77D0 28 00 00 02 */ cmplwi r0, 2
+/* 802BBB74 002B77D4 41 82 00 60 */ beq lbl_802BBBD4
+/* 802BBB78 002B77D8 88 1C 00 28 */ lbz r0, 0x28(r28)
+/* 802BBB7C 002B77DC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBB80 002B77E0 41 82 00 10 */ beq lbl_802BBB90
+/* 802BBB84 002B77E4 38 7D 01 5C */ addi r3, r29, 0x15c
+/* 802BBB88 002B77E8 4C C6 31 82 */ crclr 6
+/* 802BBB8C 002B77EC 4B D4 BF 39 */ bl func_80007AC4
+lbl_802BBB90:
+/* 802BBB90 002B77F0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BBB94 002B77F4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BBB98 002B77F8 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BBB9C 002B77FC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBBA0 002B7800 41 82 00 10 */ beq lbl_802BBBB0
+/* 802BBBA4 002B7804 38 7D 01 A0 */ addi r3, r29, 0x1a0
+/* 802BBBA8 002B7808 4C C6 31 82 */ crclr 6
+/* 802BBBAC 002B780C 4B D4 BF 19 */ bl func_80007AC4
+lbl_802BBBB0:
+/* 802BBBB0 002B7810 7F C3 F3 78 */ mr r3, r30
+/* 802BBBB4 002B7814 4B FF E1 81 */ bl GKI_freebuf
+/* 802BBBB8 002B7818 3F 80 80 56 */ lis r28, lbl_80564DE0@ha
+/* 802BBBBC 002B781C 3B 9C 4D E0 */ addi r28, r28, lbl_80564DE0@l
+/* 802BBBC0 002B7820 88 7C 00 1D */ lbz r3, 0x1d(r28)
+/* 802BBBC4 002B7824 4B FF EC ED */ bl GKI_delete_pool
+/* 802BBBC8 002B7828 38 00 00 FF */ li r0, 0xff
+/* 802BBBCC 002B782C 98 1C 00 1D */ stb r0, 0x1d(r28)
+/* 802BBBD0 002B7830 48 00 01 64 */ b lbl_802BBD34
+lbl_802BBBD4:
+/* 802BBBD4 002B7834 2C 03 00 00 */ cmpwi r3, 0
+/* 802BBBD8 002B7838 41 81 00 2C */ bgt lbl_802BBC04
+/* 802BBBDC 002B783C 88 1C 00 28 */ lbz r0, 0x28(r28)
+/* 802BBBE0 002B7840 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBBE4 002B7844 41 82 00 14 */ beq lbl_802BBBF8
+/* 802BBBE8 002B7848 7C 64 1B 78 */ mr r4, r3
+/* 802BBBEC 002B784C 38 7D 02 00 */ addi r3, r29, 0x200
+/* 802BBBF0 002B7850 4C C6 31 82 */ crclr 6
+/* 802BBBF4 002B7854 4B D4 BE D1 */ bl func_80007AC4
+lbl_802BBBF8:
+/* 802BBBF8 002B7858 7F C3 F3 78 */ mr r3, r30
+/* 802BBBFC 002B785C 4B FF E1 39 */ bl GKI_freebuf
+/* 802BBC00 002B7860 48 00 01 30 */ b lbl_802BBD30
+lbl_802BBC04:
+/* 802BBC04 002B7864 B0 64 00 02 */ sth r3, 2(r4)
+/* 802BBC08 002B7868 38 60 00 03 */ li r3, 3
+/* 802BBC0C 002B786C 4B FF E0 41 */ bl GKI_getpoolbuf
+/* 802BBC10 002B7870 2C 03 00 00 */ cmpwi r3, 0
+/* 802BBC14 002B7874 7C 7F 1B 78 */ mr r31, r3
+/* 802BBC18 002B7878 40 82 00 10 */ bne lbl_802BBC28
+/* 802BBC1C 002B787C 7F C3 F3 78 */ mr r3, r30
+/* 802BBC20 002B7880 4B FF E1 15 */ bl GKI_freebuf
+/* 802BBC24 002B7884 48 00 01 0C */ b lbl_802BBD30
+lbl_802BBC28:
+/* 802BBC28 002B7888 A0 BE 00 02 */ lhz r5, 2(r30)
+/* 802BBC2C 002B788C 7F C4 F3 78 */ mr r4, r30
+/* 802BBC30 002B7890 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802BBC34 002B7894 7C A5 02 14 */ add r5, r5, r0
+/* 802BBC38 002B7898 3B 65 00 08 */ addi r27, r5, 8
+/* 802BBC3C 002B789C 57 65 00 3A */ rlwinm r5, r27, 0, 0, 0x1d
+/* 802BBC40 002B78A0 3B 65 00 04 */ addi r27, r5, 4
+/* 802BBC44 002B78A4 7F 65 DB 78 */ mr r5, r27
+/* 802BBC48 002B78A8 4B D4 83 B9 */ bl memcpy
+/* 802BBC4C 002B78AC 88 1C 00 28 */ lbz r0, 0x28(r28)
+/* 802BBC50 002B78B0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBC54 002B78B4 41 82 00 1C */ beq lbl_802BBC70
+/* 802BBC58 002B78B8 A0 9F 00 02 */ lhz r4, 2(r31)
+/* 802BBC5C 002B78BC 7F 66 DB 78 */ mr r6, r27
+/* 802BBC60 002B78C0 A0 BF 00 04 */ lhz r5, 4(r31)
+/* 802BBC64 002B78C4 38 7D 02 38 */ addi r3, r29, 0x238
+/* 802BBC68 002B78C8 4C C6 31 82 */ crclr 6
+/* 802BBC6C 002B78CC 4B D4 BE 59 */ bl func_80007AC4
+lbl_802BBC70:
+/* 802BBC70 002B78D0 A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802BBC74 002B78D4 3F 80 80 56 */ lis r28, lbl_80564DE0@ha
+/* 802BBC78 002B78D8 3B 9C 4D E0 */ addi r28, r28, lbl_80564DE0@l
+/* 802BBC7C 002B78DC 3B 60 00 00 */ li r27, 0
+/* 802BBC80 002B78E0 7C 7F 02 14 */ add r3, r31, r0
+/* 802BBC84 002B78E4 3B A3 00 08 */ addi r29, r3, 8
+/* 802BBC88 002B78E8 48 00 00 28 */ b lbl_802BBCB0
+lbl_802BBC8C:
+/* 802BBC8C 002B78EC 88 1C 00 28 */ lbz r0, 0x28(r28)
+/* 802BBC90 002B78F0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBC94 002B78F4 41 82 00 14 */ beq lbl_802BBCA8
+/* 802BBC98 002B78F8 88 9D 00 00 */ lbz r4, 0(r29)
+/* 802BBC9C 002B78FC 38 6D 89 D0 */ addi r3, r13, lbl_8063DC90-_SDA_BASE_
+/* 802BBCA0 002B7900 4C C6 31 82 */ crclr 6
+/* 802BBCA4 002B7904 4B D4 BE 21 */ bl func_80007AC4
+lbl_802BBCA8:
+/* 802BBCA8 002B7908 3B 7B 00 01 */ addi r27, r27, 1
+/* 802BBCAC 002B790C 3B BD 00 01 */ addi r29, r29, 1
+lbl_802BBCB0:
+/* 802BBCB0 002B7910 A0 1F 00 02 */ lhz r0, 2(r31)
+/* 802BBCB4 002B7914 7C 1B 00 00 */ cmpw r27, r0
+/* 802BBCB8 002B7918 41 80 FF D4 */ blt lbl_802BBC8C
+/* 802BBCBC 002B791C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BBCC0 002B7920 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BBCC4 002B7924 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BBCC8 002B7928 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBCCC 002B792C 41 82 00 10 */ beq lbl_802BBCDC
+/* 802BBCD0 002B7930 38 6D 89 D8 */ addi r3, r13, lbl_8063DC98-_SDA_BASE_
+/* 802BBCD4 002B7934 4C C6 31 82 */ crclr 6
+/* 802BBCD8 002B7938 4B D4 BD ED */ bl func_80007AC4
+lbl_802BBCDC:
+/* 802BBCDC 002B793C 7F E3 FB 78 */ mr r3, r31
+/* 802BBCE0 002B7940 48 01 C9 3D */ bl func_802D861C
+/* 802BBCE4 002B7944 38 00 00 00 */ li r0, 0
+/* 802BBCE8 002B7948 7C 7F 1B 78 */ mr r31, r3
+/* 802BBCEC 002B794C 7C 03 00 40 */ cmplw r3, r0
+/* 802BBCF0 002B7950 41 82 00 38 */ beq lbl_802BBD28
+/* 802BBCF4 002B7954 48 01 CA F9 */ bl func_802D87EC
+/* 802BBCF8 002B7958 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802BBCFC 002B795C 41 82 00 2C */ beq lbl_802BBD28
+/* 802BBD00 002B7960 3C A0 80 56 */ lis r5, lbl_80565E40@ha
+/* 802BBD04 002B7964 3C E0 80 2C */ lis r7, bta_ci_hci_msg_handler@ha
+/* 802BBD08 002B7968 38 A5 5E 40 */ addi r5, r5, lbl_80565E40@l
+/* 802BBD0C 002B796C 7F E3 FB 78 */ mr r3, r31
+/* 802BBD10 002B7970 39 05 10 00 */ addi r8, r5, 0x1000
+/* 802BBD14 002B7974 38 E7 CE 18 */ addi r7, r7, bta_ci_hci_msg_handler@l
+/* 802BBD18 002B7978 38 80 00 00 */ li r4, 0
+/* 802BBD1C 002B797C 38 A0 00 00 */ li r5, 0
+/* 802BBD20 002B7980 38 C0 00 00 */ li r6, 0
+/* 802BBD24 002B7984 4B FA F3 3D */ bl OSSwitchFiberEx
+lbl_802BBD28:
+/* 802BBD28 002B7988 7F C3 F3 78 */ mr r3, r30
+/* 802BBD2C 002B798C 4B FF E0 09 */ bl GKI_freebuf
+lbl_802BBD30:
+/* 802BBD30 002B7990 48 00 00 1D */ bl uusb_issue_bulk_read
+lbl_802BBD34:
+/* 802BBD34 002B7994 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BBD38 002B7998 4B F0 B4 3D */ bl _restgpr_27
+/* 802BBD3C 002B799C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BBD40 002B79A0 7C 08 03 A6 */ mtlr r0
+/* 802BBD44 002B79A4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BBD48 002B79A8 4E 80 00 20 */ blr
+
+.global uusb_issue_bulk_read
+uusb_issue_bulk_read:
+/* 802BBD4C 002B79AC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BBD50 002B79B0 7C 08 02 A6 */ mflr r0
+/* 802BBD54 002B79B4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BBD58 002B79B8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BBD5C 002B79BC 4B F0 B3 CD */ bl _savegpr_27
+/* 802BBD60 002B79C0 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha
+/* 802BBD64 002B79C4 3F C0 80 56 */ lis r30, lbl_80564DE0@ha
+/* 802BBD68 002B79C8 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l
+/* 802BBD6C 002B79CC 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l
+lbl_802BBD70:
+/* 802BBD70 002B79D0 88 7F 00 1D */ lbz r3, 0x1d(r31)
+/* 802BBD74 002B79D4 4B FF DE D9 */ bl GKI_getpoolbuf
+/* 802BBD78 002B79D8 2C 03 00 00 */ cmpwi r3, 0
+/* 802BBD7C 002B79DC 7C 7C 1B 78 */ mr r28, r3
+/* 802BBD80 002B79E0 40 82 00 20 */ bne lbl_802BBDA0
+/* 802BBD84 002B79E4 88 1F 00 28 */ lbz r0, 0x28(r31)
+/* 802BBD88 002B79E8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBD8C 002B79EC 41 82 FF E4 */ beq lbl_802BBD70
+/* 802BBD90 002B79F0 38 7D 02 80 */ addi r3, r29, 0x280
+/* 802BBD94 002B79F4 4C C6 31 82 */ crclr 6
+/* 802BBD98 002B79F8 4B D4 BD 2D */ bl func_80007AC4
+/* 802BBD9C 002B79FC 4B FF FF D4 */ b lbl_802BBD70
+lbl_802BBDA0:
+/* 802BBDA0 002B7A00 38 80 11 00 */ li r4, 0x1100
+/* 802BBDA4 002B7A04 38 03 00 27 */ addi r0, r3, 0x27
+/* 802BBDA8 002B7A08 B0 83 00 00 */ sth r4, 0(r3)
+/* 802BBDAC 002B7A0C 38 80 00 00 */ li r4, 0
+/* 802BBDB0 002B7A10 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a
+/* 802BBDB4 002B7A14 38 03 00 08 */ addi r0, r3, 8
+/* 802BBDB8 002B7A18 B0 83 00 02 */ sth r4, 2(r3)
+/* 802BBDBC 002B7A1C 7C 00 D8 50 */ subf r0, r0, r27
+/* 802BBDC0 002B7A20 B0 03 00 04 */ sth r0, 4(r3)
+/* 802BBDC4 002B7A24 4B FF E0 E1 */ bl GKI_get_buf_size
+/* 802BBDC8 002B7A28 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802BBDCC 002B7A2C A0 1C 00 04 */ lhz r0, 4(r28)
+/* 802BBDD0 002B7A30 38 A3 FF D8 */ addi r5, r3, -40
+/* 802BBDD4 002B7A34 3C E0 80 2C */ lis r7, uusb_ReadBulkDataCB@ha
+/* 802BBDD8 002B7A38 80 7E 4D E0 */ lwz r3, 0x4de0(r30)
+/* 802BBDDC 002B7A3C 7F 66 DB 78 */ mr r6, r27
+/* 802BBDE0 002B7A40 88 9F 00 11 */ lbz r4, 0x11(r31)
+/* 802BBDE4 002B7A44 7F 88 E3 78 */ mr r8, r28
+/* 802BBDE8 002B7A48 7C A0 28 50 */ subf r5, r0, r5
+/* 802BBDEC 002B7A4C 38 E7 BB 44 */ addi r7, r7, uusb_ReadBulkDataCB@l
+/* 802BBDF0 002B7A50 4B FF 87 C9 */ bl IUSB_ReadBlkMsgAsync
+/* 802BBDF4 002B7A54 2C 03 00 00 */ cmpwi r3, 0
+/* 802BBDF8 002B7A58 7C 7B 1B 78 */ mr r27, r3
+/* 802BBDFC 002B7A5C 41 82 00 4C */ beq lbl_802BBE48
+/* 802BBE00 002B7A60 88 1F 00 28 */ lbz r0, 0x28(r31)
+/* 802BBE04 002B7A64 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBE08 002B7A68 41 82 00 14 */ beq lbl_802BBE1C
+/* 802BBE0C 002B7A6C 7F 64 DB 78 */ mr r4, r27
+/* 802BBE10 002B7A70 38 7D 02 D4 */ addi r3, r29, 0x2d4
+/* 802BBE14 002B7A74 4C C6 31 82 */ crclr 6
+/* 802BBE18 002B7A78 4B D4 BC AD */ bl func_80007AC4
+lbl_802BBE1C:
+/* 802BBE1C 002B7A7C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BBE20 002B7A80 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BBE24 002B7A84 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BBE28 002B7A88 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBE2C 002B7A8C 41 82 00 14 */ beq lbl_802BBE40
+/* 802BBE30 002B7A90 7F 64 DB 78 */ mr r4, r27
+/* 802BBE34 002B7A94 38 7D 03 20 */ addi r3, r29, 0x320
+/* 802BBE38 002B7A98 4C C6 31 82 */ crclr 6
+/* 802BBE3C 002B7A9C 4B D4 BC 89 */ bl func_80007AC4
+lbl_802BBE40:
+/* 802BBE40 002B7AA0 7F 83 E3 78 */ mr r3, r28
+/* 802BBE44 002B7AA4 4B FF DE F1 */ bl GKI_freebuf
+lbl_802BBE48:
+/* 802BBE48 002B7AA8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BBE4C 002B7AAC 4B F0 B3 29 */ bl _restgpr_27
+/* 802BBE50 002B7AB0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BBE54 002B7AB4 7C 08 03 A6 */ mtlr r0
+/* 802BBE58 002B7AB8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BBE5C 002B7ABC 4E 80 00 20 */ blr
+
+.global uusb_issue_intr_read
+uusb_issue_intr_read:
+/* 802BBE60 002B7AC0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BBE64 002B7AC4 7C 08 02 A6 */ mflr r0
+/* 802BBE68 002B7AC8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BBE6C 002B7ACC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BBE70 002B7AD0 4B F0 B2 B9 */ bl _savegpr_27
+/* 802BBE74 002B7AD4 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha
+/* 802BBE78 002B7AD8 3F C0 80 56 */ lis r30, lbl_80564DE0@ha
+/* 802BBE7C 002B7ADC 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l
+/* 802BBE80 002B7AE0 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l
+lbl_802BBE84:
+/* 802BBE84 002B7AE4 88 7F 00 1C */ lbz r3, 0x1c(r31)
+/* 802BBE88 002B7AE8 4B FF DD C5 */ bl GKI_getpoolbuf
+/* 802BBE8C 002B7AEC 2C 03 00 00 */ cmpwi r3, 0
+/* 802BBE90 002B7AF0 7C 7C 1B 78 */ mr r28, r3
+/* 802BBE94 002B7AF4 40 82 00 20 */ bne lbl_802BBEB4
+/* 802BBE98 002B7AF8 88 1F 00 28 */ lbz r0, 0x28(r31)
+/* 802BBE9C 002B7AFC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBEA0 002B7B00 41 82 FF E4 */ beq lbl_802BBE84
+/* 802BBEA4 002B7B04 38 7D 03 78 */ addi r3, r29, 0x378
+/* 802BBEA8 002B7B08 4C C6 31 82 */ crclr 6
+/* 802BBEAC 002B7B0C 4B D4 BC 19 */ bl func_80007AC4
+/* 802BBEB0 002B7B10 4B FF FF D4 */ b lbl_802BBE84
+lbl_802BBEB4:
+/* 802BBEB4 002B7B14 38 80 10 00 */ li r4, 0x1000
+/* 802BBEB8 002B7B18 38 03 00 27 */ addi r0, r3, 0x27
+/* 802BBEBC 002B7B1C B0 83 00 00 */ sth r4, 0(r3)
+/* 802BBEC0 002B7B20 38 80 00 00 */ li r4, 0
+/* 802BBEC4 002B7B24 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a
+/* 802BBEC8 002B7B28 38 03 00 08 */ addi r0, r3, 8
+/* 802BBECC 002B7B2C B0 83 00 02 */ sth r4, 2(r3)
+/* 802BBED0 002B7B30 7C 00 D8 50 */ subf r0, r0, r27
+/* 802BBED4 002B7B34 B0 03 00 04 */ sth r0, 4(r3)
+/* 802BBED8 002B7B38 4B FF DF CD */ bl GKI_get_buf_size
+/* 802BBEDC 002B7B3C 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802BBEE0 002B7B40 A0 1C 00 04 */ lhz r0, 4(r28)
+/* 802BBEE4 002B7B44 38 A3 FF D8 */ addi r5, r3, -40
+/* 802BBEE8 002B7B48 3C E0 80 2C */ lis r7, uusb_ReadIntrDataCB@ha
+/* 802BBEEC 002B7B4C 80 7E 4D E0 */ lwz r3, 0x4de0(r30)
+/* 802BBEF0 002B7B50 7F 66 DB 78 */ mr r6, r27
+/* 802BBEF4 002B7B54 88 9F 00 12 */ lbz r4, 0x12(r31)
+/* 802BBEF8 002B7B58 7F 88 E3 78 */ mr r8, r28
+/* 802BBEFC 002B7B5C 7C A0 28 50 */ subf r5, r0, r5
+/* 802BBF00 002B7B60 38 E7 B9 28 */ addi r7, r7, uusb_ReadIntrDataCB@l
+/* 802BBF04 002B7B64 4B FF 86 41 */ bl IUSB_ReadIntrMsgAsync
+/* 802BBF08 002B7B68 2C 03 00 00 */ cmpwi r3, 0
+/* 802BBF0C 002B7B6C 7C 7B 1B 78 */ mr r27, r3
+/* 802BBF10 002B7B70 41 82 00 4C */ beq lbl_802BBF5C
+/* 802BBF14 002B7B74 88 1F 00 28 */ lbz r0, 0x28(r31)
+/* 802BBF18 002B7B78 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBF1C 002B7B7C 41 82 00 14 */ beq lbl_802BBF30
+/* 802BBF20 002B7B80 7F 64 DB 78 */ mr r4, r27
+/* 802BBF24 002B7B84 38 7D 03 CC */ addi r3, r29, 0x3cc
+/* 802BBF28 002B7B88 4C C6 31 82 */ crclr 6
+/* 802BBF2C 002B7B8C 4B D4 BB 99 */ bl func_80007AC4
+lbl_802BBF30:
+/* 802BBF30 002B7B90 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BBF34 002B7B94 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BBF38 002B7B98 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BBF3C 002B7B9C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBF40 002B7BA0 41 82 00 14 */ beq lbl_802BBF54
+/* 802BBF44 002B7BA4 7F 64 DB 78 */ mr r4, r27
+/* 802BBF48 002B7BA8 38 7D 04 04 */ addi r3, r29, 0x404
+/* 802BBF4C 002B7BAC 4C C6 31 82 */ crclr 6
+/* 802BBF50 002B7BB0 4B D4 BB 75 */ bl func_80007AC4
+lbl_802BBF54:
+/* 802BBF54 002B7BB4 7F 83 E3 78 */ mr r3, r28
+/* 802BBF58 002B7BB8 4B FF DD DD */ bl GKI_freebuf
+lbl_802BBF5C:
+/* 802BBF5C 002B7BBC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BBF60 002B7BC0 38 00 00 01 */ li r0, 1
+/* 802BBF64 002B7BC4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BBF68 002B7BC8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BBF6C 002B7BCC 98 03 00 2B */ stb r0, 0x2b(r3)
+/* 802BBF70 002B7BD0 4B F0 B2 05 */ bl _restgpr_27
+/* 802BBF74 002B7BD4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BBF78 002B7BD8 7C 08 03 A6 */ mtlr r0
+/* 802BBF7C 002B7BDC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BBF80 002B7BE0 4E 80 00 20 */ blr
+
+uusb_WriteCtrlDataCB:
+/* 802BBF84 002B7BE4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BBF88 002B7BE8 7C 08 02 A6 */ mflr r0
+/* 802BBF8C 002B7BEC 3C A0 80 56 */ lis r5, lbl_80564DE0@ha
+/* 802BBF90 002B7BF0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BBF94 002B7BF4 38 A5 4D E0 */ addi r5, r5, lbl_80564DE0@l
+/* 802BBF98 002B7BF8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BBF9C 002B7BFC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BBFA0 002B7C00 7C 7E 1B 78 */ mr r30, r3
+/* 802BBFA4 002B7C04 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BBFA8 002B7C08 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha
+/* 802BBFAC 002B7C0C 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l
+/* 802BBFB0 002B7C10 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802BBFB4 002B7C14 7C 9C 23 78 */ mr r28, r4
+/* 802BBFB8 002B7C18 88 05 00 28 */ lbz r0, 0x28(r5)
+/* 802BBFBC 002B7C1C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBFC0 002B7C20 41 82 00 14 */ beq lbl_802BBFD4
+/* 802BBFC4 002B7C24 7F C4 F3 78 */ mr r4, r30
+/* 802BBFC8 002B7C28 38 7D 04 60 */ addi r3, r29, 0x460
+/* 802BBFCC 002B7C2C 4C C6 31 82 */ crclr 6
+/* 802BBFD0 002B7C30 4B D4 BA F5 */ bl func_80007AC4
+lbl_802BBFD4:
+/* 802BBFD4 002B7C34 2C 1E 00 00 */ cmpwi r30, 0
+/* 802BBFD8 002B7C38 40 80 00 28 */ bge lbl_802BC000
+/* 802BBFDC 002B7C3C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BBFE0 002B7C40 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BBFE4 002B7C44 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BBFE8 002B7C48 2C 00 00 00 */ cmpwi r0, 0
+/* 802BBFEC 002B7C4C 41 82 00 14 */ beq lbl_802BC000
+/* 802BBFF0 002B7C50 7F C4 F3 78 */ mr r4, r30
+/* 802BBFF4 002B7C54 38 7D 04 98 */ addi r3, r29, 0x498
+/* 802BBFF8 002B7C58 4C C6 31 82 */ crclr 6
+/* 802BBFFC 002B7C5C 4B D4 BA C9 */ bl func_80007AC4
+lbl_802BC000:
+/* 802BC000 002B7C60 2C 1C 00 00 */ cmpwi r28, 0
+/* 802BC004 002B7C64 41 82 00 28 */ beq lbl_802BC02C
+/* 802BC008 002B7C68 7F 83 E3 78 */ mr r3, r28
+/* 802BC00C 002B7C6C 4B FF DD 29 */ bl GKI_freebuf
+/* 802BC010 002B7C70 4B FF F1 71 */ bl GKI_disable
+/* 802BC014 002B7C74 3C 80 80 56 */ lis r4, lbl_80564DE0@ha
+/* 802BC018 002B7C78 38 84 4D E0 */ addi r4, r4, lbl_80564DE0@l
+/* 802BC01C 002B7C7C 88 64 00 48 */ lbz r3, 0x48(r4)
+/* 802BC020 002B7C80 38 03 FF FF */ addi r0, r3, -1
+/* 802BC024 002B7C84 98 04 00 48 */ stb r0, 0x48(r4)
+/* 802BC028 002B7C88 4B FF F1 35 */ bl GKI_enable
+lbl_802BC02C:
+/* 802BC02C 002B7C8C 3F C0 80 56 */ lis r30, lbl_80564DE0@ha
+/* 802BC030 002B7C90 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l
+/* 802BC034 002B7C94 88 1F 00 48 */ lbz r0, 0x48(r31)
+/* 802BC038 002B7C98 28 00 00 05 */ cmplwi r0, 5
+/* 802BC03C 002B7C9C 40 80 00 9C */ bge lbl_802BC0D8
+/* 802BC040 002B7CA0 A0 1F 00 44 */ lhz r0, 0x44(r31)
+/* 802BC044 002B7CA4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC048 002B7CA8 41 82 00 90 */ beq lbl_802BC0D8
+/* 802BC04C 002B7CAC 38 7F 00 3C */ addi r3, r31, 0x3c
+/* 802BC050 002B7CB0 4B FF E3 81 */ bl GKI_dequeue
+/* 802BC054 002B7CB4 90 61 00 08 */ stw r3, 8(r1)
+/* 802BC058 002B7CB8 7C 7C 1B 78 */ mr r28, r3
+/* 802BC05C 002B7CBC 3D 40 80 2C */ lis r10, uusb_WriteCtrlDataCB@ha
+/* 802BC060 002B7CC0 38 80 00 20 */ li r4, 0x20
+/* 802BC064 002B7CC4 A0 03 00 04 */ lhz r0, 4(r3)
+/* 802BC068 002B7CC8 39 4A BF 84 */ addi r10, r10, uusb_WriteCtrlDataCB@l
+/* 802BC06C 002B7CCC 80 7E 4D E0 */ lwz r3, 0x4de0(r30)
+/* 802BC070 002B7CD0 38 A0 00 00 */ li r5, 0
+/* 802BC074 002B7CD4 7C DC 02 14 */ add r6, r28, r0
+/* 802BC078 002B7CD8 A1 1C 00 02 */ lhz r8, 2(r28)
+/* 802BC07C 002B7CDC 39 26 00 08 */ addi r9, r6, 8
+/* 802BC080 002B7CE0 38 E0 00 00 */ li r7, 0
+/* 802BC084 002B7CE4 38 C0 00 00 */ li r6, 0
+/* 802BC088 002B7CE8 4B FF 8B AD */ bl IUSB_WriteCtrlMsgAsync
+/* 802BC08C 002B7CEC 2C 03 00 00 */ cmpwi r3, 0
+/* 802BC090 002B7CF0 40 80 00 34 */ bge lbl_802BC0C4
+/* 802BC094 002B7CF4 88 1F 00 28 */ lbz r0, 0x28(r31)
+/* 802BC098 002B7CF8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC09C 002B7CFC 41 82 00 10 */ beq lbl_802BC0AC
+/* 802BC0A0 002B7D00 38 7D 04 D0 */ addi r3, r29, 0x4d0
+/* 802BC0A4 002B7D04 4C C6 31 82 */ crclr 6
+/* 802BC0A8 002B7D08 4B D4 BA 1D */ bl func_80007AC4
+lbl_802BC0AC:
+/* 802BC0AC 002B7D0C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC0B0 002B7D10 7F 84 E3 78 */ mr r4, r28
+/* 802BC0B4 002B7D14 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC0B8 002B7D18 38 63 00 3C */ addi r3, r3, 0x3c
+/* 802BC0BC 002B7D1C 4B FF E1 D5 */ bl GKI_enqueue_head
+/* 802BC0C0 002B7D20 48 00 00 18 */ b lbl_802BC0D8
+lbl_802BC0C4:
+/* 802BC0C4 002B7D24 4B FF F0 BD */ bl GKI_disable
+/* 802BC0C8 002B7D28 88 7F 00 48 */ lbz r3, 0x48(r31)
+/* 802BC0CC 002B7D2C 38 03 00 01 */ addi r0, r3, 1
+/* 802BC0D0 002B7D30 98 1F 00 48 */ stb r0, 0x48(r31)
+/* 802BC0D4 002B7D34 4B FF F0 89 */ bl GKI_enable
+lbl_802BC0D8:
+/* 802BC0D8 002B7D38 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BC0DC 002B7D3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BC0E0 002B7D40 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BC0E4 002B7D44 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BC0E8 002B7D48 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802BC0EC 002B7D4C 7C 08 03 A6 */ mtlr r0
+/* 802BC0F0 002B7D50 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BC0F4 002B7D54 4E 80 00 20 */ blr
+
+uusb_WriteBulkDataCB:
+/* 802BC0F8 002B7D58 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BC0FC 002B7D5C 7C 08 02 A6 */ mflr r0
+/* 802BC100 002B7D60 3C A0 80 56 */ lis r5, lbl_80564DE0@ha
+/* 802BC104 002B7D64 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BC108 002B7D68 38 A5 4D E0 */ addi r5, r5, lbl_80564DE0@l
+/* 802BC10C 002B7D6C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BC110 002B7D70 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BC114 002B7D74 7C 7E 1B 78 */ mr r30, r3
+/* 802BC118 002B7D78 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BC11C 002B7D7C 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha
+/* 802BC120 002B7D80 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l
+/* 802BC124 002B7D84 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802BC128 002B7D88 7C 9C 23 78 */ mr r28, r4
+/* 802BC12C 002B7D8C 88 05 00 28 */ lbz r0, 0x28(r5)
+/* 802BC130 002B7D90 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC134 002B7D94 41 82 00 14 */ beq lbl_802BC148
+/* 802BC138 002B7D98 7F C4 F3 78 */ mr r4, r30
+/* 802BC13C 002B7D9C 38 7D 05 18 */ addi r3, r29, 0x518
+/* 802BC140 002B7DA0 4C C6 31 82 */ crclr 6
+/* 802BC144 002B7DA4 4B D4 B9 81 */ bl func_80007AC4
+lbl_802BC148:
+/* 802BC148 002B7DA8 2C 1E 00 00 */ cmpwi r30, 0
+/* 802BC14C 002B7DAC 40 80 00 28 */ bge lbl_802BC174
+/* 802BC150 002B7DB0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC154 002B7DB4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC158 002B7DB8 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC15C 002B7DBC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC160 002B7DC0 41 82 00 14 */ beq lbl_802BC174
+/* 802BC164 002B7DC4 7F C4 F3 78 */ mr r4, r30
+/* 802BC168 002B7DC8 38 7D 05 50 */ addi r3, r29, 0x550
+/* 802BC16C 002B7DCC 4C C6 31 82 */ crclr 6
+/* 802BC170 002B7DD0 4B D4 B9 55 */ bl func_80007AC4
+lbl_802BC174:
+/* 802BC174 002B7DD4 2C 1C 00 00 */ cmpwi r28, 0
+/* 802BC178 002B7DD8 41 82 00 28 */ beq lbl_802BC1A0
+/* 802BC17C 002B7DDC 7F 83 E3 78 */ mr r3, r28
+/* 802BC180 002B7DE0 4B FF DB B5 */ bl GKI_freebuf
+/* 802BC184 002B7DE4 4B FF EF FD */ bl GKI_disable
+/* 802BC188 002B7DE8 3C 80 80 56 */ lis r4, lbl_80564DE0@ha
+/* 802BC18C 002B7DEC 38 84 4D E0 */ addi r4, r4, lbl_80564DE0@l
+/* 802BC190 002B7DF0 88 64 00 38 */ lbz r3, 0x38(r4)
+/* 802BC194 002B7DF4 38 03 FF FF */ addi r0, r3, -1
+/* 802BC198 002B7DF8 98 04 00 38 */ stb r0, 0x38(r4)
+/* 802BC19C 002B7DFC 4B FF EF C1 */ bl GKI_enable
+lbl_802BC1A0:
+/* 802BC1A0 002B7E00 3F C0 80 56 */ lis r30, lbl_80564DE0@ha
+/* 802BC1A4 002B7E04 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l
+/* 802BC1A8 002B7E08 88 1F 00 38 */ lbz r0, 0x38(r31)
+/* 802BC1AC 002B7E0C 28 00 00 05 */ cmplwi r0, 5
+/* 802BC1B0 002B7E10 40 80 00 90 */ bge lbl_802BC240
+/* 802BC1B4 002B7E14 A0 1F 00 34 */ lhz r0, 0x34(r31)
+/* 802BC1B8 002B7E18 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC1BC 002B7E1C 41 82 00 84 */ beq lbl_802BC240
+/* 802BC1C0 002B7E20 38 7F 00 2C */ addi r3, r31, 0x2c
+/* 802BC1C4 002B7E24 4B FF E2 0D */ bl GKI_dequeue
+/* 802BC1C8 002B7E28 A0 03 00 04 */ lhz r0, 4(r3)
+/* 802BC1CC 002B7E2C 7C 7C 1B 78 */ mr r28, r3
+/* 802BC1D0 002B7E30 3C E0 80 2C */ lis r7, uusb_WriteBulkDataCB@ha
+/* 802BC1D4 002B7E34 80 7E 4D E0 */ lwz r3, 0x4de0(r30)
+/* 802BC1D8 002B7E38 7C DC 02 14 */ add r6, r28, r0
+/* 802BC1DC 002B7E3C 88 9F 00 10 */ lbz r4, 0x10(r31)
+/* 802BC1E0 002B7E40 A0 BC 00 02 */ lhz r5, 2(r28)
+/* 802BC1E4 002B7E44 7F 88 E3 78 */ mr r8, r28
+/* 802BC1E8 002B7E48 38 E7 C0 F8 */ addi r7, r7, uusb_WriteBulkDataCB@l
+/* 802BC1EC 002B7E4C 38 C6 00 08 */ addi r6, r6, 8
+/* 802BC1F0 002B7E50 4B FF 84 3D */ bl IUSB_WriteBlkMsgAsync
+/* 802BC1F4 002B7E54 2C 03 00 00 */ cmpwi r3, 0
+/* 802BC1F8 002B7E58 40 80 00 34 */ bge lbl_802BC22C
+/* 802BC1FC 002B7E5C 88 1F 00 28 */ lbz r0, 0x28(r31)
+/* 802BC200 002B7E60 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC204 002B7E64 41 82 00 10 */ beq lbl_802BC214
+/* 802BC208 002B7E68 38 7D 05 88 */ addi r3, r29, 0x588
+/* 802BC20C 002B7E6C 4C C6 31 82 */ crclr 6
+/* 802BC210 002B7E70 4B D4 B8 B5 */ bl func_80007AC4
+lbl_802BC214:
+/* 802BC214 002B7E74 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC218 002B7E78 7F 84 E3 78 */ mr r4, r28
+/* 802BC21C 002B7E7C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC220 002B7E80 38 63 00 2C */ addi r3, r3, 0x2c
+/* 802BC224 002B7E84 4B FF E0 6D */ bl GKI_enqueue_head
+/* 802BC228 002B7E88 48 00 00 18 */ b lbl_802BC240
+lbl_802BC22C:
+/* 802BC22C 002B7E8C 4B FF EF 55 */ bl GKI_disable
+/* 802BC230 002B7E90 88 7F 00 38 */ lbz r3, 0x38(r31)
+/* 802BC234 002B7E94 38 03 00 01 */ addi r0, r3, 1
+/* 802BC238 002B7E98 98 1F 00 38 */ stb r0, 0x38(r31)
+/* 802BC23C 002B7E9C 4B FF EF 21 */ bl GKI_enable
+lbl_802BC240:
+/* 802BC240 002B7EA0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BC244 002B7EA4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BC248 002B7EA8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BC24C 002B7EAC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BC250 002B7EB0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802BC254 002B7EB4 7C 08 03 A6 */ mtlr r0
+/* 802BC258 002B7EB8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BC25C 002B7EBC 4E 80 00 20 */ blr
+
+.global uusb_get_devId
+uusb_get_devId:
+/* 802BC260 002B7EC0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BC264 002B7EC4 7C 08 02 A6 */ mflr r0
+/* 802BC268 002B7EC8 7C 85 23 78 */ mr r5, r4
+/* 802BC26C 002B7ECC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BC270 002B7ED0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BC274 002B7ED4 80 0D AE D0 */ lwz r0, lbl_80640190-_SDA_BASE_(r13)
+/* 802BC278 002B7ED8 28 00 00 01 */ cmplwi r0, 1
+/* 802BC27C 002B7EDC 40 82 00 58 */ bne lbl_802BC2D4
+/* 802BC280 002B7EE0 80 0D AE CC */ lwz r0, lbl_8064018C-_SDA_BASE_(r13)
+/* 802BC284 002B7EE4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC288 002B7EE8 40 82 00 24 */ bne lbl_802BC2AC
+/* 802BC28C 002B7EEC 3C C0 80 56 */ lis r6, lbl_80564DE0@ha
+/* 802BC290 002B7EF0 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 802BC294 002B7EF4 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802BC298 002B7EF8 38 6D 89 DC */ addi r3, r13, lbl_8063DC9C-_SDA_BASE_
+/* 802BC29C 002B7EFC 38 C6 4D E0 */ addi r6, r6, lbl_80564DE0@l
+/* 802BC2A0 002B7F00 4B FF 7D 31 */ bl IUSB_OpenDeviceIds
+/* 802BC2A4 002B7F04 7C 7F 1B 78 */ mr r31, r3
+/* 802BC2A8 002B7F08 48 00 00 48 */ b lbl_802BC2F0
+lbl_802BC2AC:
+/* 802BC2AC 002B7F0C 28 00 00 01 */ cmplwi r0, 1
+/* 802BC2B0 002B7F10 40 82 00 40 */ bne lbl_802BC2F0
+/* 802BC2B4 002B7F14 3C C0 80 56 */ lis r6, lbl_80564DE0@ha
+/* 802BC2B8 002B7F18 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 802BC2BC 002B7F1C 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802BC2C0 002B7F20 38 6D 89 E0 */ addi r3, r13, lbl_8063DCA0-_SDA_BASE_
+/* 802BC2C4 002B7F24 38 C6 4D E0 */ addi r6, r6, lbl_80564DE0@l
+/* 802BC2C8 002B7F28 4B FF 7D 09 */ bl IUSB_OpenDeviceIds
+/* 802BC2CC 002B7F2C 7C 7F 1B 78 */ mr r31, r3
+/* 802BC2D0 002B7F30 48 00 00 20 */ b lbl_802BC2F0
+lbl_802BC2D4:
+/* 802BC2D4 002B7F34 3C C0 80 56 */ lis r6, lbl_80564DE0@ha
+/* 802BC2D8 002B7F38 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 802BC2DC 002B7F3C 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802BC2E0 002B7F40 38 6D 89 E0 */ addi r3, r13, lbl_8063DCA0-_SDA_BASE_
+/* 802BC2E4 002B7F44 38 C6 4D E0 */ addi r6, r6, lbl_80564DE0@l
+/* 802BC2E8 002B7F48 4B FF 7C E9 */ bl IUSB_OpenDeviceIds
+/* 802BC2EC 002B7F4C 7C 7F 1B 78 */ mr r31, r3
+lbl_802BC2F0:
+/* 802BC2F0 002B7F50 2C 1F 00 00 */ cmpwi r31, 0
+/* 802BC2F4 002B7F54 40 80 00 5C */ bge lbl_802BC350
+/* 802BC2F8 002B7F58 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC2FC 002B7F5C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC300 002B7F60 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC304 002B7F64 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC308 002B7F68 41 82 00 20 */ beq lbl_802BC328
+/* 802BC30C 002B7F6C 3C 60 80 44 */ lis r3, lbl_8043F8B8@ha
+/* 802BC310 002B7F70 7F E4 FB 78 */ mr r4, r31
+/* 802BC314 002B7F74 38 63 F8 B8 */ addi r3, r3, lbl_8043F8B8@l
+/* 802BC318 002B7F78 38 A0 05 7E */ li r5, 0x57e
+/* 802BC31C 002B7F7C 38 C0 03 05 */ li r6, 0x305
+/* 802BC320 002B7F80 4C C6 31 82 */ crclr 6
+/* 802BC324 002B7F84 4B D4 B7 A1 */ bl func_80007AC4
+lbl_802BC328:
+/* 802BC328 002B7F88 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC32C 002B7F8C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC330 002B7F90 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC334 002B7F94 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC338 002B7F98 41 82 00 1C */ beq lbl_802BC354
+/* 802BC33C 002B7F9C 3C 60 80 44 */ lis r3, lbl_8043F918@ha
+/* 802BC340 002B7FA0 38 63 F9 18 */ addi r3, r3, lbl_8043F918@l
+/* 802BC344 002B7FA4 4C C6 31 82 */ crclr 6
+/* 802BC348 002B7FA8 4B D4 B7 7D */ bl func_80007AC4
+/* 802BC34C 002B7FAC 48 00 00 08 */ b lbl_802BC354
+lbl_802BC350:
+/* 802BC350 002B7FB0 93 ED 89 CC */ stw r31, lbl_8063DC8C-_SDA_BASE_(r13)
+lbl_802BC354:
+/* 802BC354 002B7FB4 7F E3 FB 78 */ mr r3, r31
+/* 802BC358 002B7FB8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BC35C 002B7FBC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BC360 002B7FC0 7C 08 03 A6 */ mtlr r0
+/* 802BC364 002B7FC4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BC368 002B7FC8 4E 80 00 20 */ blr
+
+.global UUSB_Register
+UUSB_Register:
+/* 802BC36C 002B7FCC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BC370 002B7FD0 7C 08 02 A6 */ mflr r0
+/* 802BC374 002B7FD4 38 80 00 00 */ li r4, 0
+/* 802BC378 002B7FD8 38 A0 00 4C */ li r5, 0x4c
+/* 802BC37C 002B7FDC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BC380 002B7FE0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BC384 002B7FE4 3F E0 80 44 */ lis r31, lbl_8043F2E8@ha
+/* 802BC388 002B7FE8 3B FF F2 E8 */ addi r31, r31, lbl_8043F2E8@l
+/* 802BC38C 002B7FEC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BC390 002B7FF0 7C 7E 1B 78 */ mr r30, r3
+/* 802BC394 002B7FF4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BC398 002B7FF8 3F A0 80 56 */ lis r29, lbl_80564DE0@ha
+/* 802BC39C 002B7FFC 38 7D 4D E0 */ addi r3, r29, lbl_80564DE0@l
+/* 802BC3A0 002B8000 4B D4 7D 65 */ bl memset
+/* 802BC3A4 002B8004 4B FF ED DD */ bl GKI_disable
+/* 802BC3A8 002B8008 3B BD 4D E0 */ addi r29, r29, 0x4de0
+/* 802BC3AC 002B800C 38 00 00 05 */ li r0, 5
+/* 802BC3B0 002B8010 98 1D 00 29 */ stb r0, 0x29(r29)
+/* 802BC3B4 002B8014 4B FF ED A9 */ bl GKI_enable
+/* 802BC3B8 002B8018 88 0D AE C9 */ lbz r0, lbl_80640189-_SDA_BASE_(r13)
+/* 802BC3BC 002B801C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC3C0 002B8020 40 82 00 14 */ bne lbl_802BC3D4
+/* 802BC3C4 002B8024 38 60 00 00 */ li r3, 0
+/* 802BC3C8 002B8028 38 00 00 01 */ li r0, 1
+/* 802BC3CC 002B802C 98 7D 00 28 */ stb r3, 0x28(r29)
+/* 802BC3D0 002B8030 98 0D AE C9 */ stb r0, lbl_80640189-_SDA_BASE_(r13)
+lbl_802BC3D4:
+/* 802BC3D4 002B8034 4B FE 69 6D */ bl IPCCltInit
+/* 802BC3D8 002B8038 2C 03 00 00 */ cmpwi r3, 0
+/* 802BC3DC 002B803C 41 82 00 28 */ beq lbl_802BC404
+/* 802BC3E0 002B8040 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC3E4 002B8044 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC3E8 002B8048 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC3EC 002B804C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC3F0 002B8050 41 82 01 CC */ beq lbl_802BC5BC
+/* 802BC3F4 002B8054 38 7F 06 70 */ addi r3, r31, 0x670
+/* 802BC3F8 002B8058 4C C6 31 82 */ crclr 6
+/* 802BC3FC 002B805C 4B D4 B6 C9 */ bl func_80007AC4
+/* 802BC400 002B8060 48 00 01 BC */ b lbl_802BC5BC
+lbl_802BC404:
+/* 802BC404 002B8064 4B FF 79 71 */ bl IUSB_OpenLib
+/* 802BC408 002B8068 2C 03 00 00 */ cmpwi r3, 0
+/* 802BC40C 002B806C 41 82 00 28 */ beq lbl_802BC434
+/* 802BC410 002B8070 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC414 002B8074 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC418 002B8078 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC41C 002B807C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC420 002B8080 41 82 01 9C */ beq lbl_802BC5BC
+/* 802BC424 002B8084 38 7F 06 A8 */ addi r3, r31, 0x6a8
+/* 802BC428 002B8088 4C C6 31 82 */ crclr 6
+/* 802BC42C 002B808C 4B D4 B6 99 */ bl func_80007AC4
+/* 802BC430 002B8090 48 00 01 8C */ b lbl_802BC5BC
+lbl_802BC434:
+/* 802BC434 002B8094 88 0D AE D4 */ lbz r0, lbl_80640194-_SDA_BASE_(r13)
+/* 802BC438 002B8098 3C 80 80 56 */ lis r4, lbl_80564DE0@ha
+/* 802BC43C 002B809C 38 84 4D E0 */ addi r4, r4, lbl_80564DE0@l
+/* 802BC440 002B80A0 28 00 00 01 */ cmplwi r0, 1
+/* 802BC444 002B80A4 93 C4 00 24 */ stw r30, 0x24(r4)
+/* 802BC448 002B80A8 40 82 00 18 */ bne lbl_802BC460
+/* 802BC44C 002B80AC 80 6D AE D8 */ lwz r3, lbl_80640198-_SDA_BASE_(r13)
+/* 802BC450 002B80B0 80 0D AE DC */ lwz r0, lbl_8064019C-_SDA_BASE_(r13)
+/* 802BC454 002B80B4 90 64 00 14 */ stw r3, 0x14(r4)
+/* 802BC458 002B80B8 90 04 00 18 */ stw r0, 0x18(r4)
+/* 802BC45C 002B80BC 48 00 00 14 */ b lbl_802BC470
+lbl_802BC460:
+/* 802BC460 002B80C0 38 60 05 7E */ li r3, 0x57e
+/* 802BC464 002B80C4 38 00 03 05 */ li r0, 0x305
+/* 802BC468 002B80C8 90 64 00 14 */ stw r3, 0x14(r4)
+/* 802BC46C 002B80CC 90 04 00 18 */ stw r0, 0x18(r4)
+lbl_802BC470:
+/* 802BC470 002B80D0 3F C0 80 56 */ lis r30, lbl_80564DE0@ha
+/* 802BC474 002B80D4 38 00 00 00 */ li r0, 0
+/* 802BC478 002B80D8 3B BE 4D E0 */ addi r29, r30, lbl_80564DE0@l
+/* 802BC47C 002B80DC 98 1D 00 10 */ stb r0, 0x10(r29)
+/* 802BC480 002B80E0 80 7D 00 14 */ lwz r3, 0x14(r29)
+/* 802BC484 002B80E4 98 1D 00 11 */ stb r0, 0x11(r29)
+/* 802BC488 002B80E8 80 9D 00 18 */ lwz r4, 0x18(r29)
+/* 802BC48C 002B80EC 98 1D 00 12 */ stb r0, 0x12(r29)
+/* 802BC490 002B80F0 98 1D 00 13 */ stb r0, 0x13(r29)
+/* 802BC494 002B80F4 4B FF FD CD */ bl uusb_get_devId
+/* 802BC498 002B80F8 2C 03 00 00 */ cmpwi r3, 0
+/* 802BC49C 002B80FC 40 80 00 20 */ bge lbl_802BC4BC
+/* 802BC4A0 002B8100 88 1D 00 28 */ lbz r0, 0x28(r29)
+/* 802BC4A4 002B8104 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC4A8 002B8108 41 82 01 14 */ beq lbl_802BC5BC
+/* 802BC4AC 002B810C 38 7F 06 E0 */ addi r3, r31, 0x6e0
+/* 802BC4B0 002B8110 4C C6 31 82 */ crclr 6
+/* 802BC4B4 002B8114 4B D4 B6 11 */ bl func_80007AC4
+/* 802BC4B8 002B8118 48 00 01 04 */ b lbl_802BC5BC
+lbl_802BC4BC:
+/* 802BC4BC 002B811C 88 1D 00 28 */ lbz r0, 0x28(r29)
+/* 802BC4C0 002B8120 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC4C4 002B8124 41 82 00 14 */ beq lbl_802BC4D8
+/* 802BC4C8 002B8128 80 9E 4D E0 */ lwz r4, 0x4de0(r30)
+/* 802BC4CC 002B812C 38 7F 07 20 */ addi r3, r31, 0x720
+/* 802BC4D0 002B8130 4C C6 31 82 */ crclr 6
+/* 802BC4D4 002B8134 4B D4 B5 F1 */ bl func_80007AC4
+lbl_802BC4D8:
+/* 802BC4D8 002B8138 3F A0 80 56 */ lis r29, lbl_80564DE0@ha
+/* 802BC4DC 002B813C 38 60 00 02 */ li r3, 2
+/* 802BC4E0 002B8140 3B BD 4D E0 */ addi r29, r29, lbl_80564DE0@l
+/* 802BC4E4 002B8144 38 80 00 82 */ li r4, 0x82
+/* 802BC4E8 002B8148 38 00 00 81 */ li r0, 0x81
+/* 802BC4EC 002B814C 3B C0 00 00 */ li r30, 0
+/* 802BC4F0 002B8150 98 7D 00 10 */ stb r3, 0x10(r29)
+/* 802BC4F4 002B8154 38 7D 00 2C */ addi r3, r29, 0x2c
+/* 802BC4F8 002B8158 98 9D 00 11 */ stb r4, 0x11(r29)
+/* 802BC4FC 002B815C 98 1D 00 12 */ stb r0, 0x12(r29)
+/* 802BC500 002B8160 9B DD 00 13 */ stb r30, 0x13(r29)
+/* 802BC504 002B8164 4B FF D5 95 */ bl GKI_init_q
+/* 802BC508 002B8168 9B DD 00 38 */ stb r30, 0x38(r29)
+/* 802BC50C 002B816C 38 7D 00 3C */ addi r3, r29, 0x3c
+/* 802BC510 002B8170 4B FF D5 89 */ bl GKI_init_q
+/* 802BC514 002B8174 9B DD 00 48 */ stb r30, 0x48(r29)
+/* 802BC518 002B8178 38 60 02 94 */ li r3, 0x294
+/* 802BC51C 002B817C 38 80 00 2D */ li r4, 0x2d
+/* 802BC520 002B8180 38 A0 00 01 */ li r5, 1
+/* 802BC524 002B8184 38 C0 00 00 */ li r6, 0
+/* 802BC528 002B8188 4B FF E0 41 */ bl GKI_create_pool
+/* 802BC52C 002B818C 98 7D 00 1C */ stb r3, 0x1c(r29)
+/* 802BC530 002B8190 38 60 07 08 */ li r3, 0x708
+/* 802BC534 002B8194 38 80 00 1E */ li r4, 0x1e
+/* 802BC538 002B8198 38 A0 00 01 */ li r5, 1
+/* 802BC53C 002B819C 38 C0 00 00 */ li r6, 0
+/* 802BC540 002B81A0 4B FF E0 29 */ bl GKI_create_pool
+/* 802BC544 002B81A4 88 9D 00 1C */ lbz r4, 0x1c(r29)
+/* 802BC548 002B81A8 98 7D 00 1D */ stb r3, 0x1d(r29)
+/* 802BC54C 002B81AC 28 04 00 FF */ cmplwi r4, 0xff
+/* 802BC550 002B81B0 41 82 00 10 */ beq lbl_802BC560
+/* 802BC554 002B81B4 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802BC558 002B81B8 28 05 00 FF */ cmplwi r5, 0xff
+/* 802BC55C 002B81BC 40 82 00 28 */ bne lbl_802BC584
+lbl_802BC560:
+/* 802BC560 002B81C0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC564 002B81C4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC568 002B81C8 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC56C 002B81CC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC570 002B81D0 41 82 00 4C */ beq lbl_802BC5BC
+/* 802BC574 002B81D4 38 7F 07 68 */ addi r3, r31, 0x768
+/* 802BC578 002B81D8 4C C6 31 82 */ crclr 6
+/* 802BC57C 002B81DC 4B D4 B5 49 */ bl func_80007AC4
+/* 802BC580 002B81E0 48 00 00 3C */ b lbl_802BC5BC
+lbl_802BC584:
+/* 802BC584 002B81E4 88 1D 00 28 */ lbz r0, 0x28(r29)
+/* 802BC588 002B81E8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC58C 002B81EC 41 82 00 10 */ beq lbl_802BC59C
+/* 802BC590 002B81F0 38 7F 07 A4 */ addi r3, r31, 0x7a4
+/* 802BC594 002B81F4 4C C6 31 82 */ crclr 6
+/* 802BC598 002B81F8 4B D4 B5 2D */ bl func_80007AC4
+lbl_802BC59C:
+/* 802BC59C 002B81FC 4B FF EB E5 */ bl GKI_disable
+/* 802BC5A0 002B8200 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC5A4 002B8204 38 00 00 04 */ li r0, 4
+/* 802BC5A8 002B8208 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC5AC 002B820C 98 03 00 29 */ stb r0, 0x29(r3)
+/* 802BC5B0 002B8210 4B FF EB AD */ bl GKI_enable
+/* 802BC5B4 002B8214 38 00 00 01 */ li r0, 1
+/* 802BC5B8 002B8218 90 0D 89 C8 */ stw r0, lbl_8063DC88-_SDA_BASE_(r13)
+lbl_802BC5BC:
+/* 802BC5BC 002B821C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BC5C0 002B8220 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BC5C4 002B8224 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BC5C8 002B8228 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BC5CC 002B822C 7C 08 03 A6 */ mtlr r0
+/* 802BC5D0 002B8230 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BC5D4 002B8234 4E 80 00 20 */ blr
+
+.global UUSB_Open
+UUSB_Open:
+/* 802BC5D8 002B8238 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BC5DC 002B823C 7C 08 02 A6 */ mflr r0
+/* 802BC5E0 002B8240 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BC5E4 002B8244 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BC5E8 002B8248 3F E0 80 56 */ lis r31, lbl_80564DE0@ha
+/* 802BC5EC 002B824C 3B FF 4D E0 */ addi r31, r31, lbl_80564DE0@l
+/* 802BC5F0 002B8250 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BC5F4 002B8254 3F C0 80 44 */ lis r30, lbl_8043F2E8@ha
+/* 802BC5F8 002B8258 3B DE F2 E8 */ addi r30, r30, lbl_8043F2E8@l
+/* 802BC5FC 002B825C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BC600 002B8260 7C 9D 23 78 */ mr r29, r4
+/* 802BC604 002B8264 88 1F 00 29 */ lbz r0, 0x29(r31)
+/* 802BC608 002B8268 28 00 00 04 */ cmplwi r0, 4
+/* 802BC60C 002B826C 41 82 00 20 */ beq lbl_802BC62C
+/* 802BC610 002B8270 88 1F 00 28 */ lbz r0, 0x28(r31)
+/* 802BC614 002B8274 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC618 002B8278 41 82 00 BC */ beq lbl_802BC6D4
+/* 802BC61C 002B827C 38 7E 07 F0 */ addi r3, r30, 0x7f0
+/* 802BC620 002B8280 4C C6 31 82 */ crclr 6
+/* 802BC624 002B8284 4B D4 B4 A1 */ bl func_80007AC4
+/* 802BC628 002B8288 48 00 00 AC */ b lbl_802BC6D4
+lbl_802BC62C:
+/* 802BC62C 002B828C 88 1F 00 1C */ lbz r0, 0x1c(r31)
+/* 802BC630 002B8290 28 00 00 FF */ cmplwi r0, 0xff
+/* 802BC634 002B8294 41 82 00 10 */ beq lbl_802BC644
+/* 802BC638 002B8298 88 1F 00 1D */ lbz r0, 0x1d(r31)
+/* 802BC63C 002B829C 28 00 00 FF */ cmplwi r0, 0xff
+/* 802BC640 002B82A0 40 82 00 70 */ bne lbl_802BC6B0
+lbl_802BC644:
+/* 802BC644 002B82A4 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC648 002B82A8 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC64C 002B82AC 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC650 002B82B0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC654 002B82B4 41 82 00 10 */ beq lbl_802BC664
+/* 802BC658 002B82B8 38 7E 08 38 */ addi r3, r30, 0x838
+/* 802BC65C 002B82BC 4C C6 31 82 */ crclr 6
+/* 802BC660 002B82C0 4B D4 B4 65 */ bl func_80007AC4
+lbl_802BC664:
+/* 802BC664 002B82C4 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC668 002B82C8 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC66C 002B82CC 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC670 002B82D0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC674 002B82D4 41 82 00 14 */ beq lbl_802BC688
+/* 802BC678 002B82D8 88 83 00 1C */ lbz r4, 0x1c(r3)
+/* 802BC67C 002B82DC 38 7E 08 70 */ addi r3, r30, 0x870
+/* 802BC680 002B82E0 4C C6 31 82 */ crclr 6
+/* 802BC684 002B82E4 4B D4 B4 41 */ bl func_80007AC4
+lbl_802BC688:
+/* 802BC688 002B82E8 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC68C 002B82EC 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC690 002B82F0 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC694 002B82F4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC698 002B82F8 41 82 00 3C */ beq lbl_802BC6D4
+/* 802BC69C 002B82FC 88 83 00 1D */ lbz r4, 0x1d(r3)
+/* 802BC6A0 002B8300 38 7E 08 A0 */ addi r3, r30, 0x8a0
+/* 802BC6A4 002B8304 4C C6 31 82 */ crclr 6
+/* 802BC6A8 002B8308 4B D4 B4 1D */ bl func_80007AC4
+/* 802BC6AC 002B830C 48 00 00 28 */ b lbl_802BC6D4
+lbl_802BC6B0:
+/* 802BC6B0 002B8310 4B FF EA D1 */ bl GKI_disable
+/* 802BC6B4 002B8314 38 00 00 02 */ li r0, 2
+/* 802BC6B8 002B8318 93 BF 00 20 */ stw r29, 0x20(r31)
+/* 802BC6BC 002B831C 98 1F 00 29 */ stb r0, 0x29(r31)
+/* 802BC6C0 002B8320 4B FF EA 9D */ bl GKI_enable
+/* 802BC6C4 002B8324 4B FF F7 9D */ bl uusb_issue_intr_read
+/* 802BC6C8 002B8328 4B FF F6 85 */ bl uusb_issue_bulk_read
+/* 802BC6CC 002B832C 38 00 00 00 */ li r0, 0
+/* 802BC6D0 002B8330 90 0D 89 C8 */ stw r0, lbl_8063DC88-_SDA_BASE_(r13)
+lbl_802BC6D4:
+/* 802BC6D4 002B8334 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BC6D8 002B8338 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BC6DC 002B833C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BC6E0 002B8340 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BC6E4 002B8344 7C 08 03 A6 */ mtlr r0
+/* 802BC6E8 002B8348 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BC6EC 002B834C 4E 80 00 20 */ blr
+
+.global UUSB_Read
+UUSB_Read:
+/* 802BC6F0 002B8350 38 60 00 00 */ li r3, 0
+/* 802BC6F4 002B8354 4E 80 00 20 */ blr
+
+.global UUSB_Write
+UUSB_Write:
+/* 802BC6F8 002B8358 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802BC6FC 002B835C 7C 08 02 A6 */ mflr r0
+/* 802BC700 002B8360 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802BC704 002B8364 39 61 00 30 */ addi r11, r1, 0x30
+/* 802BC708 002B8368 4B F0 AA 19 */ bl _savegpr_25
+/* 802BC70C 002B836C 3C E0 80 56 */ lis r7, lbl_80564DE0@ha
+/* 802BC710 002B8370 3F E0 80 44 */ lis r31, lbl_8043F2E8@ha
+/* 802BC714 002B8374 38 E7 4D E0 */ addi r7, r7, lbl_80564DE0@l
+/* 802BC718 002B8378 7C 7E 1B 78 */ mr r30, r3
+/* 802BC71C 002B837C 88 07 00 29 */ lbz r0, 0x29(r7)
+/* 802BC720 002B8380 7C 9B 23 78 */ mr r27, r4
+/* 802BC724 002B8384 7C BC 2B 78 */ mr r28, r5
+/* 802BC728 002B8388 3B FF F2 E8 */ addi r31, r31, lbl_8043F2E8@l
+/* 802BC72C 002B838C 28 00 00 02 */ cmplwi r0, 2
+/* 802BC730 002B8390 3B A0 00 00 */ li r29, 0
+/* 802BC734 002B8394 41 82 00 24 */ beq lbl_802BC758
+/* 802BC738 002B8398 88 07 00 28 */ lbz r0, 0x28(r7)
+/* 802BC73C 002B839C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC740 002B83A0 41 82 00 10 */ beq lbl_802BC750
+/* 802BC744 002B83A4 38 7F 08 D0 */ addi r3, r31, 0x8d0
+/* 802BC748 002B83A8 4C C6 31 82 */ crclr 6
+/* 802BC74C 002B83AC 4B D4 B3 79 */ bl func_80007AC4
+lbl_802BC750:
+/* 802BC750 002B83B0 38 60 00 00 */ li r3, 0
+/* 802BC754 002B83B4 48 00 05 14 */ b lbl_802BCC68
+lbl_802BC758:
+/* 802BC758 002B83B8 88 07 00 28 */ lbz r0, 0x28(r7)
+/* 802BC75C 002B83BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC760 002B83C0 41 82 00 20 */ beq lbl_802BC780
+/* 802BC764 002B83C4 7C C3 33 78 */ mr r3, r6
+/* 802BC768 002B83C8 4B FF D7 3D */ bl GKI_get_buf_size
+/* 802BC76C 002B83CC 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 802BC770 002B83D0 38 7F 09 08 */ addi r3, r31, 0x908
+/* 802BC774 002B83D4 38 84 FF F8 */ addi r4, r4, -8
+/* 802BC778 002B83D8 4C C6 31 82 */ crclr 6
+/* 802BC77C 002B83DC 4B D4 B3 49 */ bl func_80007AC4
+lbl_802BC780:
+/* 802BC780 002B83E0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC784 002B83E4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC788 002B83E8 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC78C 002B83EC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC790 002B83F0 41 82 00 18 */ beq lbl_802BC7A8
+/* 802BC794 002B83F4 7F C4 F3 78 */ mr r4, r30
+/* 802BC798 002B83F8 7F 85 E3 78 */ mr r5, r28
+/* 802BC79C 002B83FC 38 7F 09 28 */ addi r3, r31, 0x928
+/* 802BC7A0 002B8400 4C C6 31 82 */ crclr 6
+/* 802BC7A4 002B8404 4B D4 B3 21 */ bl func_80007AC4
+lbl_802BC7A8:
+/* 802BC7A8 002B8408 3F 40 80 56 */ lis r26, lbl_80564DE0@ha
+/* 802BC7AC 002B840C 3B 20 00 00 */ li r25, 0
+/* 802BC7B0 002B8410 3B 5A 4D E0 */ addi r26, r26, lbl_80564DE0@l
+/* 802BC7B4 002B8414 48 00 00 28 */ b lbl_802BC7DC
+lbl_802BC7B8:
+/* 802BC7B8 002B8418 88 1A 00 28 */ lbz r0, 0x28(r26)
+/* 802BC7BC 002B841C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC7C0 002B8420 41 82 00 18 */ beq lbl_802BC7D8
+/* 802BC7C4 002B8424 57 20 04 3E */ clrlwi r0, r25, 0x10
+/* 802BC7C8 002B8428 38 6D 89 D0 */ addi r3, r13, lbl_8063DC90-_SDA_BASE_
+/* 802BC7CC 002B842C 7C 9B 00 AE */ lbzx r4, r27, r0
+/* 802BC7D0 002B8430 4C C6 31 82 */ crclr 6
+/* 802BC7D4 002B8434 4B D4 B2 F1 */ bl func_80007AC4
+lbl_802BC7D8:
+/* 802BC7D8 002B8438 3B 39 00 01 */ addi r25, r25, 1
+lbl_802BC7DC:
+/* 802BC7DC 002B843C 57 20 04 3E */ clrlwi r0, r25, 0x10
+/* 802BC7E0 002B8440 7C 00 E0 40 */ cmplw r0, r28
+/* 802BC7E4 002B8444 41 80 FF D4 */ blt lbl_802BC7B8
+/* 802BC7E8 002B8448 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC7EC 002B844C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC7F0 002B8450 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC7F4 002B8454 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC7F8 002B8458 41 82 00 10 */ beq lbl_802BC808
+/* 802BC7FC 002B845C 38 6D 89 D8 */ addi r3, r13, lbl_8063DC98-_SDA_BASE_
+/* 802BC800 002B8460 4C C6 31 82 */ crclr 6
+/* 802BC804 002B8464 4B D4 B2 C1 */ bl func_80007AC4
+lbl_802BC808:
+/* 802BC808 002B8468 2C 1E 00 02 */ cmpwi r30, 2
+/* 802BC80C 002B846C 41 82 02 2C */ beq lbl_802BCA38
+/* 802BC810 002B8470 40 80 04 54 */ bge lbl_802BCC64
+/* 802BC814 002B8474 2C 1E 00 00 */ cmpwi r30, 0
+/* 802BC818 002B8478 41 82 00 0C */ beq lbl_802BC824
+/* 802BC81C 002B847C 48 00 04 48 */ b lbl_802BCC64
+/* 802BC820 002B8480 48 00 04 44 */ b lbl_802BCC64
+lbl_802BC824:
+/* 802BC824 002B8484 3F A0 80 56 */ lis r29, lbl_80564DE0@ha
+/* 802BC828 002B8488 3B 5D 4D E0 */ addi r26, r29, lbl_80564DE0@l
+/* 802BC82C 002B848C 88 7A 00 1C */ lbz r3, 0x1c(r26)
+/* 802BC830 002B8490 4B FF D4 1D */ bl GKI_getpoolbuf
+/* 802BC834 002B8494 2C 03 00 00 */ cmpwi r3, 0
+/* 802BC838 002B8498 7C 7E 1B 78 */ mr r30, r3
+/* 802BC83C 002B849C 40 82 00 24 */ bne lbl_802BC860
+/* 802BC840 002B84A0 88 1A 00 28 */ lbz r0, 0x28(r26)
+/* 802BC844 002B84A4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC848 002B84A8 41 82 00 10 */ beq lbl_802BC858
+/* 802BC84C 002B84AC 38 7F 09 58 */ addi r3, r31, 0x958
+/* 802BC850 002B84B0 4C C6 31 82 */ crclr 6
+/* 802BC854 002B84B4 4B D4 B2 71 */ bl func_80007AC4
+lbl_802BC858:
+/* 802BC858 002B84B8 38 60 00 00 */ li r3, 0
+/* 802BC85C 002B84BC 48 00 04 0C */ b lbl_802BCC68
+lbl_802BC860:
+/* 802BC860 002B84C0 38 03 00 27 */ addi r0, r3, 0x27
+/* 802BC864 002B84C4 B3 83 00 02 */ sth r28, 2(r3)
+/* 802BC868 002B84C8 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a
+/* 802BC86C 002B84CC 7F 64 DB 78 */ mr r4, r27
+/* 802BC870 002B84D0 38 03 00 08 */ addi r0, r3, 8
+/* 802BC874 002B84D4 7F 85 E3 78 */ mr r5, r28
+/* 802BC878 002B84D8 7C 00 C8 50 */ subf r0, r0, r25
+/* 802BC87C 002B84DC B0 03 00 04 */ sth r0, 4(r3)
+/* 802BC880 002B84E0 7F 23 CB 78 */ mr r3, r25
+/* 802BC884 002B84E4 4B D4 77 7D */ bl memcpy
+/* 802BC888 002B84E8 88 1A 00 48 */ lbz r0, 0x48(r26)
+/* 802BC88C 002B84EC 28 00 00 05 */ cmplwi r0, 5
+/* 802BC890 002B84F0 40 80 00 44 */ bge lbl_802BC8D4
+/* 802BC894 002B84F4 A0 1A 00 44 */ lhz r0, 0x44(r26)
+/* 802BC898 002B84F8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC89C 002B84FC 40 82 00 38 */ bne lbl_802BC8D4
+/* 802BC8A0 002B8500 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BC8A4 002B8504 3D 40 80 2C */ lis r10, uusb_WriteCtrlDataCB@ha
+/* 802BC8A8 002B8508 7F 88 E3 78 */ mr r8, r28
+/* 802BC8AC 002B850C 7F 29 CB 78 */ mr r9, r25
+/* 802BC8B0 002B8510 80 7D 4D E0 */ lwz r3, 0x4de0(r29)
+/* 802BC8B4 002B8514 39 4A BF 84 */ addi r10, r10, uusb_WriteCtrlDataCB@l
+/* 802BC8B8 002B8518 38 80 00 20 */ li r4, 0x20
+/* 802BC8BC 002B851C 38 A0 00 00 */ li r5, 0
+/* 802BC8C0 002B8520 38 C0 00 00 */ li r6, 0
+/* 802BC8C4 002B8524 38 E0 00 00 */ li r7, 0
+/* 802BC8C8 002B8528 4B FF 83 6D */ bl IUSB_WriteCtrlMsgAsync
+/* 802BC8CC 002B852C 7C 7D 1B 78 */ mr r29, r3
+/* 802BC8D0 002B8530 48 00 00 3C */ b lbl_802BC90C
+lbl_802BC8D4:
+/* 802BC8D4 002B8534 3F 60 80 56 */ lis r27, lbl_80564DE0@ha
+/* 802BC8D8 002B8538 7F C4 F3 78 */ mr r4, r30
+/* 802BC8DC 002B853C 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l
+/* 802BC8E0 002B8540 38 7B 00 3C */ addi r3, r27, 0x3c
+/* 802BC8E4 002B8544 4B FF D8 71 */ bl GKI_enqueue
+/* 802BC8E8 002B8548 88 1B 00 28 */ lbz r0, 0x28(r27)
+/* 802BC8EC 002B854C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC8F0 002B8550 41 82 00 14 */ beq lbl_802BC904
+/* 802BC8F4 002B8554 A0 9B 00 44 */ lhz r4, 0x44(r27)
+/* 802BC8F8 002B8558 38 7F 09 9C */ addi r3, r31, 0x99c
+/* 802BC8FC 002B855C 4C C6 31 82 */ crclr 6
+/* 802BC900 002B8560 4B D4 B1 C5 */ bl func_80007AC4
+lbl_802BC904:
+/* 802BC904 002B8564 38 60 00 00 */ li r3, 0
+/* 802BC908 002B8568 48 00 03 60 */ b lbl_802BCC68
+lbl_802BC90C:
+/* 802BC90C 002B856C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BC910 002B8570 41 82 01 10 */ beq lbl_802BCA20
+/* 802BC914 002B8574 88 1A 00 28 */ lbz r0, 0x28(r26)
+/* 802BC918 002B8578 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC91C 002B857C 41 82 00 10 */ beq lbl_802BC92C
+/* 802BC920 002B8580 38 7F 09 D0 */ addi r3, r31, 0x9d0
+/* 802BC924 002B8584 4C C6 31 82 */ crclr 6
+/* 802BC928 002B8588 4B D4 B1 9D */ bl func_80007AC4
+lbl_802BC92C:
+/* 802BC92C 002B858C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC930 002B8590 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC934 002B8594 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC938 002B8598 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC93C 002B859C 41 82 00 10 */ beq lbl_802BC94C
+/* 802BC940 002B85A0 38 7F 09 D0 */ addi r3, r31, 0x9d0
+/* 802BC944 002B85A4 4C C6 31 82 */ crclr 6
+/* 802BC948 002B85A8 4B D4 B1 7D */ bl func_80007AC4
+lbl_802BC94C:
+/* 802BC94C 002B85AC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC950 002B85B0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC954 002B85B4 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC958 002B85B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC95C 002B85BC 41 82 00 18 */ beq lbl_802BC974
+/* 802BC960 002B85C0 88 A3 00 48 */ lbz r5, 0x48(r3)
+/* 802BC964 002B85C4 7F A4 EB 78 */ mr r4, r29
+/* 802BC968 002B85C8 38 7F 0A 34 */ addi r3, r31, 0xa34
+/* 802BC96C 002B85CC 4C C6 31 82 */ crclr 6
+/* 802BC970 002B85D0 4B D4 B1 55 */ bl func_80007AC4
+lbl_802BC974:
+/* 802BC974 002B85D4 2C 1D FF EA */ cmpwi r29, -22
+/* 802BC978 002B85D8 41 82 00 2C */ beq lbl_802BC9A4
+/* 802BC97C 002B85DC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC980 002B85E0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC984 002B85E4 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC988 002B85E8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC98C 002B85EC 41 82 00 18 */ beq lbl_802BC9A4
+/* 802BC990 002B85F0 88 A3 00 38 */ lbz r5, 0x38(r3)
+/* 802BC994 002B85F4 7F A4 EB 78 */ mr r4, r29
+/* 802BC998 002B85F8 38 7F 0A 90 */ addi r3, r31, 0xa90
+/* 802BC99C 002B85FC 4C C6 31 82 */ crclr 6
+/* 802BC9A0 002B8600 4B D4 B1 25 */ bl func_80007AC4
+lbl_802BC9A4:
+/* 802BC9A4 002B8604 2C 1D FF F8 */ cmpwi r29, -8
+/* 802BC9A8 002B8608 40 82 00 2C */ bne lbl_802BC9D4
+/* 802BC9AC 002B860C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC9B0 002B8610 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC9B4 002B8614 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC9B8 002B8618 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC9BC 002B861C 41 82 00 18 */ beq lbl_802BC9D4
+/* 802BC9C0 002B8620 88 A3 00 38 */ lbz r5, 0x38(r3)
+/* 802BC9C4 002B8624 7F A4 EB 78 */ mr r4, r29
+/* 802BC9C8 002B8628 38 7F 0B 00 */ addi r3, r31, 0xb00
+/* 802BC9CC 002B862C 4C C6 31 82 */ crclr 6
+/* 802BC9D0 002B8630 4B D4 B0 F5 */ bl func_80007AC4
+lbl_802BC9D4:
+/* 802BC9D4 002B8634 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC9D8 002B8638 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC9DC 002B863C 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BC9E0 002B8640 2C 00 00 00 */ cmpwi r0, 0
+/* 802BC9E4 002B8644 41 82 00 10 */ beq lbl_802BC9F4
+/* 802BC9E8 002B8648 38 7F 09 D0 */ addi r3, r31, 0x9d0
+/* 802BC9EC 002B864C 4C C6 31 82 */ crclr 6
+/* 802BC9F0 002B8650 4B D4 B0 D5 */ bl func_80007AC4
+lbl_802BC9F4:
+/* 802BC9F4 002B8654 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BC9F8 002B8658 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BC9FC 002B865C 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BCA00 002B8660 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCA04 002B8664 41 82 00 10 */ beq lbl_802BCA14
+/* 802BCA08 002B8668 38 7F 09 D0 */ addi r3, r31, 0x9d0
+/* 802BCA0C 002B866C 4C C6 31 82 */ crclr 6
+/* 802BCA10 002B8670 4B D4 B0 B5 */ bl func_80007AC4
+lbl_802BCA14:
+/* 802BCA14 002B8674 7F C3 F3 78 */ mr r3, r30
+/* 802BCA18 002B8678 4B FF D3 1D */ bl GKI_freebuf
+/* 802BCA1C 002B867C 48 00 02 48 */ b lbl_802BCC64
+lbl_802BCA20:
+/* 802BCA20 002B8680 4B FF E7 61 */ bl GKI_disable
+/* 802BCA24 002B8684 88 7A 00 48 */ lbz r3, 0x48(r26)
+/* 802BCA28 002B8688 38 03 00 01 */ addi r0, r3, 1
+/* 802BCA2C 002B868C 98 1A 00 48 */ stb r0, 0x48(r26)
+/* 802BCA30 002B8690 4B FF E7 2D */ bl GKI_enable
+/* 802BCA34 002B8694 48 00 02 30 */ b lbl_802BCC64
+lbl_802BCA38:
+/* 802BCA38 002B8698 3F A0 80 56 */ lis r29, lbl_80564DE0@ha
+/* 802BCA3C 002B869C 3B BD 4D E0 */ addi r29, r29, lbl_80564DE0@l
+/* 802BCA40 002B86A0 88 7D 00 1D */ lbz r3, 0x1d(r29)
+/* 802BCA44 002B86A4 4B FF D2 09 */ bl GKI_getpoolbuf
+/* 802BCA48 002B86A8 2C 03 00 00 */ cmpwi r3, 0
+/* 802BCA4C 002B86AC 7C 7E 1B 78 */ mr r30, r3
+/* 802BCA50 002B86B0 40 82 00 24 */ bne lbl_802BCA74
+/* 802BCA54 002B86B4 88 1D 00 28 */ lbz r0, 0x28(r29)
+/* 802BCA58 002B86B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCA5C 002B86BC 41 82 00 10 */ beq lbl_802BCA6C
+/* 802BCA60 002B86C0 38 7F 0B 6C */ addi r3, r31, 0xb6c
+/* 802BCA64 002B86C4 4C C6 31 82 */ crclr 6
+/* 802BCA68 002B86C8 4B D4 B0 5D */ bl func_80007AC4
+lbl_802BCA6C:
+/* 802BCA6C 002B86CC 38 60 00 00 */ li r3, 0
+/* 802BCA70 002B86D0 48 00 01 F8 */ b lbl_802BCC68
+lbl_802BCA74:
+/* 802BCA74 002B86D4 38 03 00 27 */ addi r0, r3, 0x27
+/* 802BCA78 002B86D8 B3 83 00 02 */ sth r28, 2(r3)
+/* 802BCA7C 002B86DC 54 1A 00 34 */ rlwinm r26, r0, 0, 0, 0x1a
+/* 802BCA80 002B86E0 7F 64 DB 78 */ mr r4, r27
+/* 802BCA84 002B86E4 38 03 00 08 */ addi r0, r3, 8
+/* 802BCA88 002B86E8 7F 85 E3 78 */ mr r5, r28
+/* 802BCA8C 002B86EC 7C 00 D0 50 */ subf r0, r0, r26
+/* 802BCA90 002B86F0 B0 03 00 04 */ sth r0, 4(r3)
+/* 802BCA94 002B86F4 7F 43 D3 78 */ mr r3, r26
+/* 802BCA98 002B86F8 4B D4 75 69 */ bl memcpy
+/* 802BCA9C 002B86FC 28 1C 00 BE */ cmplwi r28, 0xbe
+/* 802BCAA0 002B8700 40 81 00 1C */ ble lbl_802BCABC
+/* 802BCAA4 002B8704 88 1D 00 28 */ lbz r0, 0x28(r29)
+/* 802BCAA8 002B8708 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCAAC 002B870C 41 82 00 10 */ beq lbl_802BCABC
+/* 802BCAB0 002B8710 38 7F 0B B0 */ addi r3, r31, 0xbb0
+/* 802BCAB4 002B8714 4C C6 31 82 */ crclr 6
+/* 802BCAB8 002B8718 4B D4 B0 0D */ bl func_80007AC4
+lbl_802BCABC:
+/* 802BCABC 002B871C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCAC0 002B8720 3B 63 4D E0 */ addi r27, r3, lbl_80564DE0@l
+/* 802BCAC4 002B8724 88 1B 00 38 */ lbz r0, 0x38(r27)
+/* 802BCAC8 002B8728 28 00 00 05 */ cmplwi r0, 5
+/* 802BCACC 002B872C 40 80 00 38 */ bge lbl_802BCB04
+/* 802BCAD0 002B8730 A0 1B 00 34 */ lhz r0, 0x34(r27)
+/* 802BCAD4 002B8734 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCAD8 002B8738 40 82 00 2C */ bne lbl_802BCB04
+/* 802BCADC 002B873C 3C E0 80 2C */ lis r7, uusb_WriteBulkDataCB@ha
+/* 802BCAE0 002B8740 80 63 4D E0 */ lwz r3, 0x4de0(r3)
+/* 802BCAE4 002B8744 88 9B 00 10 */ lbz r4, 0x10(r27)
+/* 802BCAE8 002B8748 7F 85 E3 78 */ mr r5, r28
+/* 802BCAEC 002B874C 7F 46 D3 78 */ mr r6, r26
+/* 802BCAF0 002B8750 7F C8 F3 78 */ mr r8, r30
+/* 802BCAF4 002B8754 38 E7 C0 F8 */ addi r7, r7, uusb_WriteBulkDataCB@l
+/* 802BCAF8 002B8758 4B FF 7B 35 */ bl IUSB_WriteBlkMsgAsync
+/* 802BCAFC 002B875C 7C 7D 1B 78 */ mr r29, r3
+/* 802BCB00 002B8760 48 00 00 3C */ b lbl_802BCB3C
+lbl_802BCB04:
+/* 802BCB04 002B8764 3F 60 80 56 */ lis r27, lbl_80564DE0@ha
+/* 802BCB08 002B8768 7F C4 F3 78 */ mr r4, r30
+/* 802BCB0C 002B876C 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l
+/* 802BCB10 002B8770 38 7B 00 2C */ addi r3, r27, 0x2c
+/* 802BCB14 002B8774 4B FF D6 41 */ bl GKI_enqueue
+/* 802BCB18 002B8778 88 1B 00 28 */ lbz r0, 0x28(r27)
+/* 802BCB1C 002B877C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCB20 002B8780 41 82 00 14 */ beq lbl_802BCB34
+/* 802BCB24 002B8784 A0 9B 00 34 */ lhz r4, 0x34(r27)
+/* 802BCB28 002B8788 38 7F 0B DC */ addi r3, r31, 0xbdc
+/* 802BCB2C 002B878C 4C C6 31 82 */ crclr 6
+/* 802BCB30 002B8790 4B D4 AF 95 */ bl func_80007AC4
+lbl_802BCB34:
+/* 802BCB34 002B8794 38 60 00 00 */ li r3, 0
+/* 802BCB38 002B8798 48 00 01 30 */ b lbl_802BCC68
+lbl_802BCB3C:
+/* 802BCB3C 002B879C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BCB40 002B87A0 41 82 01 10 */ beq lbl_802BCC50
+/* 802BCB44 002B87A4 88 1B 00 28 */ lbz r0, 0x28(r27)
+/* 802BCB48 002B87A8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCB4C 002B87AC 41 82 00 10 */ beq lbl_802BCB5C
+/* 802BCB50 002B87B0 38 7F 09 D0 */ addi r3, r31, 0x9d0
+/* 802BCB54 002B87B4 4C C6 31 82 */ crclr 6
+/* 802BCB58 002B87B8 4B D4 AF 6D */ bl func_80007AC4
+lbl_802BCB5C:
+/* 802BCB5C 002B87BC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCB60 002B87C0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BCB64 002B87C4 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BCB68 002B87C8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCB6C 002B87CC 41 82 00 10 */ beq lbl_802BCB7C
+/* 802BCB70 002B87D0 38 7F 09 D0 */ addi r3, r31, 0x9d0
+/* 802BCB74 002B87D4 4C C6 31 82 */ crclr 6
+/* 802BCB78 002B87D8 4B D4 AF 4D */ bl func_80007AC4
+lbl_802BCB7C:
+/* 802BCB7C 002B87DC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCB80 002B87E0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BCB84 002B87E4 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BCB88 002B87E8 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCB8C 002B87EC 41 82 00 18 */ beq lbl_802BCBA4
+/* 802BCB90 002B87F0 88 A3 00 38 */ lbz r5, 0x38(r3)
+/* 802BCB94 002B87F4 7F A4 EB 78 */ mr r4, r29
+/* 802BCB98 002B87F8 38 7F 0C 10 */ addi r3, r31, 0xc10
+/* 802BCB9C 002B87FC 4C C6 31 82 */ crclr 6
+/* 802BCBA0 002B8800 4B D4 AF 25 */ bl func_80007AC4
+lbl_802BCBA4:
+/* 802BCBA4 002B8804 2C 1D FF EA */ cmpwi r29, -22
+/* 802BCBA8 002B8808 41 82 00 2C */ beq lbl_802BCBD4
+/* 802BCBAC 002B880C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCBB0 002B8810 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BCBB4 002B8814 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BCBB8 002B8818 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCBBC 002B881C 41 82 00 18 */ beq lbl_802BCBD4
+/* 802BCBC0 002B8820 88 A3 00 38 */ lbz r5, 0x38(r3)
+/* 802BCBC4 002B8824 7F A4 EB 78 */ mr r4, r29
+/* 802BCBC8 002B8828 38 7F 0C 6C */ addi r3, r31, 0xc6c
+/* 802BCBCC 002B882C 4C C6 31 82 */ crclr 6
+/* 802BCBD0 002B8830 4B D4 AE F5 */ bl func_80007AC4
+lbl_802BCBD4:
+/* 802BCBD4 002B8834 2C 1D FF F8 */ cmpwi r29, -8
+/* 802BCBD8 002B8838 40 82 00 2C */ bne lbl_802BCC04
+/* 802BCBDC 002B883C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCBE0 002B8840 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BCBE4 002B8844 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BCBE8 002B8848 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCBEC 002B884C 41 82 00 18 */ beq lbl_802BCC04
+/* 802BCBF0 002B8850 88 A3 00 38 */ lbz r5, 0x38(r3)
+/* 802BCBF4 002B8854 7F A4 EB 78 */ mr r4, r29
+/* 802BCBF8 002B8858 38 7F 0C DC */ addi r3, r31, 0xcdc
+/* 802BCBFC 002B885C 4C C6 31 82 */ crclr 6
+/* 802BCC00 002B8860 4B D4 AE C5 */ bl func_80007AC4
+lbl_802BCC04:
+/* 802BCC04 002B8864 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCC08 002B8868 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BCC0C 002B886C 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BCC10 002B8870 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCC14 002B8874 41 82 00 10 */ beq lbl_802BCC24
+/* 802BCC18 002B8878 38 7F 09 D0 */ addi r3, r31, 0x9d0
+/* 802BCC1C 002B887C 4C C6 31 82 */ crclr 6
+/* 802BCC20 002B8880 4B D4 AE A5 */ bl func_80007AC4
+lbl_802BCC24:
+/* 802BCC24 002B8884 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCC28 002B8888 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BCC2C 002B888C 88 03 00 28 */ lbz r0, 0x28(r3)
+/* 802BCC30 002B8890 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCC34 002B8894 41 82 00 10 */ beq lbl_802BCC44
+/* 802BCC38 002B8898 38 7F 09 D0 */ addi r3, r31, 0x9d0
+/* 802BCC3C 002B889C 4C C6 31 82 */ crclr 6
+/* 802BCC40 002B88A0 4B D4 AE 85 */ bl func_80007AC4
+lbl_802BCC44:
+/* 802BCC44 002B88A4 7F C3 F3 78 */ mr r3, r30
+/* 802BCC48 002B88A8 4B FF D0 ED */ bl GKI_freebuf
+/* 802BCC4C 002B88AC 48 00 00 18 */ b lbl_802BCC64
+lbl_802BCC50:
+/* 802BCC50 002B88B0 4B FF E5 31 */ bl GKI_disable
+/* 802BCC54 002B88B4 88 7B 00 38 */ lbz r3, 0x38(r27)
+/* 802BCC58 002B88B8 38 03 00 01 */ addi r0, r3, 1
+/* 802BCC5C 002B88BC 98 1B 00 38 */ stb r0, 0x38(r27)
+/* 802BCC60 002B88C0 4B FF E4 FD */ bl GKI_enable
+lbl_802BCC64:
+/* 802BCC64 002B88C4 57 A3 04 3E */ clrlwi r3, r29, 0x10
+lbl_802BCC68:
+/* 802BCC68 002B88C8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802BCC6C 002B88CC 4B F0 A5 01 */ bl _restgpr_25
+/* 802BCC70 002B88D0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802BCC74 002B88D4 7C 08 03 A6 */ mtlr r0
+/* 802BCC78 002B88D8 38 21 00 30 */ addi r1, r1, 0x30
+/* 802BCC7C 002B88DC 4E 80 00 20 */ blr
+
+.global UUSB_Close
+UUSB_Close:
+/* 802BCC80 002B88E0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BCC84 002B88E4 7C 08 02 A6 */ mflr r0
+/* 802BCC88 002B88E8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BCC8C 002B88EC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BCC90 002B88F0 4B FF E4 F1 */ bl GKI_disable
+/* 802BCC94 002B88F4 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCC98 002B88F8 38 00 00 00 */ li r0, 0
+/* 802BCC9C 002B88FC 3B E3 4D E0 */ addi r31, r3, lbl_80564DE0@l
+/* 802BCCA0 002B8900 98 1F 00 29 */ stb r0, 0x29(r31)
+/* 802BCCA4 002B8904 4B FF E4 B9 */ bl GKI_enable
+/* 802BCCA8 002B8908 A0 1F 00 34 */ lhz r0, 0x34(r31)
+/* 802BCCAC 002B890C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCCB0 002B8910 41 82 00 20 */ beq lbl_802BCCD0
+/* 802BCCB4 002B8914 48 00 00 10 */ b lbl_802BCCC4
+lbl_802BCCB8:
+/* 802BCCB8 002B8918 38 7F 00 2C */ addi r3, r31, 0x2c
+/* 802BCCBC 002B891C 4B FF D7 15 */ bl GKI_dequeue
+/* 802BCCC0 002B8920 4B FF D0 75 */ bl GKI_freebuf
+lbl_802BCCC4:
+/* 802BCCC4 002B8924 A0 1F 00 34 */ lhz r0, 0x34(r31)
+/* 802BCCC8 002B8928 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCCCC 002B892C 40 82 FF EC */ bne lbl_802BCCB8
+lbl_802BCCD0:
+/* 802BCCD0 002B8930 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCCD4 002B8934 3B E3 4D E0 */ addi r31, r3, lbl_80564DE0@l
+/* 802BCCD8 002B8938 A0 1F 00 44 */ lhz r0, 0x44(r31)
+/* 802BCCDC 002B893C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCCE0 002B8940 41 82 00 20 */ beq lbl_802BCD00
+/* 802BCCE4 002B8944 48 00 00 10 */ b lbl_802BCCF4
+lbl_802BCCE8:
+/* 802BCCE8 002B8948 38 7F 00 3C */ addi r3, r31, 0x3c
+/* 802BCCEC 002B894C 4B FF D6 E5 */ bl GKI_dequeue
+/* 802BCCF0 002B8950 4B FF D0 45 */ bl GKI_freebuf
+lbl_802BCCF4:
+/* 802BCCF4 002B8954 A0 1F 00 44 */ lhz r0, 0x44(r31)
+/* 802BCCF8 002B8958 2C 00 00 00 */ cmpwi r0, 0
+/* 802BCCFC 002B895C 40 82 FF EC */ bne lbl_802BCCE8
+lbl_802BCD00:
+/* 802BCD00 002B8960 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCD04 002B8964 3C 80 80 2C */ lis r4, uusb_CloseDeviceCB@ha
+/* 802BCD08 002B8968 80 63 4D E0 */ lwz r3, lbl_80564DE0@l(r3)
+/* 802BCD0C 002B896C 38 84 B8 94 */ addi r4, r4, uusb_CloseDeviceCB@l
+/* 802BCD10 002B8970 38 A0 00 00 */ li r5, 0
+/* 802BCD14 002B8974 4B FF 73 F1 */ bl IUSB_CloseDeviceAsync
+/* 802BCD18 002B8978 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BCD1C 002B897C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BCD20 002B8980 7C 08 03 A6 */ mtlr r0
+/* 802BCD24 002B8984 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BCD28 002B8988 4E 80 00 20 */ blr
+
+.global UUSB_Unregister
+UUSB_Unregister:
+/* 802BCD2C 002B898C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BCD30 002B8990 7C 08 02 A6 */ mflr r0
+/* 802BCD34 002B8994 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BCD38 002B8998 4B FF 71 35 */ bl IUSB_CloseLib
+/* 802BCD3C 002B899C 4B FF E4 45 */ bl GKI_disable
+/* 802BCD40 002B89A0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha
+/* 802BCD44 002B89A4 38 00 00 00 */ li r0, 0
+/* 802BCD48 002B89A8 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l
+/* 802BCD4C 002B89AC 38 80 00 05 */ li r4, 5
+/* 802BCD50 002B89B0 98 83 00 29 */ stb r4, 0x29(r3)
+/* 802BCD54 002B89B4 98 03 00 28 */ stb r0, 0x28(r3)
+/* 802BCD58 002B89B8 98 0D AE C9 */ stb r0, lbl_80640189-_SDA_BASE_(r13)
+/* 802BCD5C 002B89BC 4B FF E4 01 */ bl GKI_enable
+/* 802BCD60 002B89C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BCD64 002B89C4 7C 08 03 A6 */ mtlr r0
+/* 802BCD68 002B89C8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BCD6C 002B89CC 4E 80 00 20 */ blr
diff --git a/asm/SDK/WUD/WUD.s b/asm/SDK/WUD/WUD.s
index e999af9..c3695fc 100644
--- a/asm/SDK/WUD/WUD.s
+++ b/asm/SDK/WUD/WUD.s
@@ -1894,9 +1894,9 @@ lbl_802B66F0:
/* 802B66F4 002B2354 38 63 E3 F0 */ addi r3, r3, lbl_8043E3F0@l
/* 802B66F8 002B2358 4C C6 31 82 */ crclr 6
/* 802B66FC 002B235C 48 00 2E 81 */ bl WUD_DEBUGPrint
-/* 802B6700 002B2360 48 00 68 D1 */ bl func_802BCFD0
+/* 802B6700 002B2360 48 00 68 D1 */ bl BTA_Init
/* 802B6704 002B2364 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13)
-/* 802B6708 002B2368 48 00 73 BD */ bl func_802BDAC4
+/* 802B6708 002B2368 48 00 73 BD */ bl bta_sys_set_trace_level
/* 802B670C 002B236C 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13)
/* 802B6710 002B2370 48 01 FC CD */ bl func_802D63DC
/* 802B6714 002B2374 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13)
@@ -3766,7 +3766,7 @@ WUDSecurityCallback:
/* 802B8150 002B3DB0 48 00 14 2D */ bl WUD_DEBUGPrint
/* 802B8154 002B3DB4 3C 60 80 2C */ lis r3, CleanupCallback@ha
/* 802B8158 002B3DB8 38 63 80 0C */ addi r3, r3, CleanupCallback@l
-/* 802B815C 002B3DBC 48 00 4F 51 */ bl func_802BD0AC
+/* 802B815C 002B3DBC 48 00 4F 51 */ bl BTA_CleanUp
/* 802B8160 002B3DC0 48 00 04 1C */ b lbl_802B857C
/* 802B8164 002B3DC4 38 7E 07 F4 */ addi r3, r30, 0x7f4
/* 802B8168 002B3DC8 4C C6 31 82 */ crclr 6