summaryrefslogtreecommitdiff
path: root/asm/SDK
diff options
context:
space:
mode:
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/gki_buffer.s1468
-rw-r--r--asm/SDK/BTE/gki_ppc.s211
-rw-r--r--asm/SDK/BTE/gki_time.s406
-rw-r--r--asm/SDK/BTE/hcisu_h2.s478
-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/EUART/euart.s (renamed from asm/SDK/euart.s)0
-rw-r--r--asm/SDK/USB/usb.s (renamed from asm/SDK/usb.s)0
-rw-r--r--asm/SDK/WPAD/WPAD.s2
-rw-r--r--asm/SDK/WUD/WUD.s (renamed from asm/SDK/WUD.s)194
-rw-r--r--asm/SDK/WUD/WUDHidHost.s376
-rw-r--r--asm/SDK/WUD/debug_msg.s27
22 files changed, 8319 insertions, 98 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/gki_buffer.s b/asm/SDK/BTE/gki_buffer.s
new file mode 100644
index 0000000..e2839c0
--- /dev/null
+++ b/asm/SDK/BTE/gki_buffer.s
@@ -0,0 +1,1468 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global gki_init_free_queue
+gki_init_free_queue:
+/* 802B95CC 002B522C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802B95D0 002B5230 7C 08 02 A6 */ mflr r0
+/* 802B95D4 002B5234 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802B95D8 002B5238 39 61 00 40 */ addi r11, r1, 0x40
+/* 802B95DC 002B523C 4B F0 DB 29 */ bl _savegpr_18
+/* 802B95E0 002B5240 39 84 00 03 */ addi r12, r4, 3
+/* 802B95E4 002B5244 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802B95E8 002B5248 55 89 00 3A */ rlwinm r9, r12, 0, 0, 0x1d
+/* 802B95EC 002B524C 54 6B 15 BA */ rlwinm r11, r3, 2, 0x16, 0x1d
+/* 802B95F0 002B5250 3B 49 00 0C */ addi r26, r9, 0xc
+/* 802B95F4 002B5254 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802B95F8 002B5258 57 48 04 3E */ clrlwi r8, r26, 0x10
+/* 802B95FC 002B525C 54 60 25 36 */ rlwinm r0, r3, 4, 0x14, 0x1b
+/* 802B9600 002B5260 7C E8 29 D6 */ mullw r7, r8, r5
+/* 802B9604 002B5264 39 44 00 54 */ addi r10, r4, 0x54
+/* 802B9608 002B5268 54 64 0D FC */ rlwinm r4, r3, 1, 0x17, 0x1e
+/* 802B960C 002B526C 3F 2A 00 03 */ addis r25, r10, 3
+/* 802B9610 002B5270 55 8C 04 3A */ rlwinm r12, r12, 0, 0x10, 0x1d
+/* 802B9614 002B5274 7F 19 5A 14 */ add r24, r25, r11
+/* 802B9618 002B5278 7D 66 3A 14 */ add r11, r6, r7
+/* 802B961C 002B527C 90 D8 8A 1C */ stw r6, -0x75e4(r24)
+/* 802B9620 002B5280 7C F9 22 14 */ add r7, r25, r4
+/* 802B9624 002B5284 38 80 00 00 */ li r4, 0
+/* 802B9628 002B5288 91 78 8A 40 */ stw r11, -0x75c0(r24)
+/* 802B962C 002B528C 7D 79 02 14 */ add r11, r25, r0
+/* 802B9630 002B5290 2C 05 00 00 */ cmpwi r5, 0
+/* 802B9634 002B5294 B3 47 8A 64 */ sth r26, -0x759c(r7)
+/* 802B9638 002B5298 38 E0 00 00 */ li r7, 0
+/* 802B963C 002B529C B1 8B 89 94 */ sth r12, -0x766c(r11)
+/* 802B9640 002B52A0 B0 AB 89 96 */ sth r5, -0x766a(r11)
+/* 802B9644 002B52A4 B0 8B 89 98 */ sth r4, -0x7668(r11)
+/* 802B9648 002B52A8 B0 8B 89 9A */ sth r4, -0x7666(r11)
+/* 802B964C 002B52AC 90 CB 89 8C */ stw r6, -0x7674(r11)
+/* 802B9650 002B52B0 41 82 01 70 */ beq lbl_802B97C0
+/* 802B9654 002B52B4 28 05 00 08 */ cmplwi r5, 8
+/* 802B9658 002B52B8 3D 65 00 01 */ addis r11, r5, 1
+/* 802B965C 002B52BC 39 6B FF F8 */ addi r11, r11, -8
+/* 802B9660 002B52C0 40 81 01 14 */ ble lbl_802B9774
+/* 802B9664 002B52C4 55 6C 04 3E */ clrlwi r12, r11, 0x10
+/* 802B9668 002B52C8 3F 60 DD BB */ lis r27, 0xDDBADDBA@ha
+/* 802B966C 002B52CC 39 6C 00 07 */ addi r11, r12, 7
+/* 802B9670 002B52D0 3B 00 00 F0 */ li r24, 0xf0
+/* 802B9674 002B52D4 55 6B E8 FE */ srwi r11, r11, 3
+/* 802B9678 002B52D8 3B 5B DD BA */ addi r26, r27, 0xDDBADDBA@l
+/* 802B967C 002B52DC 3B 20 00 00 */ li r25, 0
+/* 802B9680 002B52E0 7D 69 03 A6 */ mtctr r11
+/* 802B9684 002B52E4 28 0C 00 00 */ cmplwi r12, 0
+/* 802B9688 002B52E8 40 81 00 EC */ ble lbl_802B9774
+lbl_802B968C:
+/* 802B968C 002B52EC 9B 06 00 05 */ stb r24, 5(r6)
+/* 802B9690 002B52F0 7E 46 42 14 */ add r18, r6, r8
+/* 802B9694 002B52F4 7E 72 42 14 */ add r19, r18, r8
+/* 802B9698 002B52F8 7C 86 4A 14 */ add r4, r6, r9
+/* 802B969C 002B52FC 98 66 00 04 */ stb r3, 4(r6)
+/* 802B96A0 002B5300 7E 93 42 14 */ add r20, r19, r8
+/* 802B96A4 002B5304 7E B4 42 14 */ add r21, r20, r8
+/* 802B96A8 002B5308 7F 72 4A 14 */ add r27, r18, r9
+/* 802B96AC 002B530C 9B 26 00 06 */ stb r25, 6(r6)
+/* 802B96B0 002B5310 7E D5 42 14 */ add r22, r21, r8
+/* 802B96B4 002B5314 7E F6 42 14 */ add r23, r22, r8
+/* 802B96B8 002B5318 7F 93 4A 14 */ add r28, r19, r9
+/* 802B96BC 002B531C 93 44 00 08 */ stw r26, 8(r4)
+/* 802B96C0 002B5320 7C 97 42 14 */ add r4, r23, r8
+/* 802B96C4 002B5324 7F F4 4A 14 */ add r31, r20, r9
+/* 802B96C8 002B5328 7F D5 4A 14 */ add r30, r21, r9
+/* 802B96CC 002B532C 92 46 00 00 */ stw r18, 0(r6)
+/* 802B96D0 002B5330 7F B6 4A 14 */ add r29, r22, r9
+/* 802B96D4 002B5334 7D 97 4A 14 */ add r12, r23, r9
+/* 802B96D8 002B5338 7D 64 4A 14 */ add r11, r4, r9
+/* 802B96DC 002B533C 9B 12 00 05 */ stb r24, 5(r18)
+/* 802B96E0 002B5340 7C C4 42 14 */ add r6, r4, r8
+/* 802B96E4 002B5344 38 E7 00 08 */ addi r7, r7, 8
+/* 802B96E8 002B5348 98 72 00 04 */ stb r3, 4(r18)
+/* 802B96EC 002B534C 9B 32 00 06 */ stb r25, 6(r18)
+/* 802B96F0 002B5350 93 5B 00 08 */ stw r26, 8(r27)
+/* 802B96F4 002B5354 92 72 00 00 */ stw r19, 0(r18)
+/* 802B96F8 002B5358 9B 13 00 05 */ stb r24, 5(r19)
+/* 802B96FC 002B535C 98 73 00 04 */ stb r3, 4(r19)
+/* 802B9700 002B5360 9B 33 00 06 */ stb r25, 6(r19)
+/* 802B9704 002B5364 93 5C 00 08 */ stw r26, 8(r28)
+/* 802B9708 002B5368 7E 92 41 2E */ stwx r20, r18, r8
+/* 802B970C 002B536C 9B 14 00 05 */ stb r24, 5(r20)
+/* 802B9710 002B5370 98 74 00 04 */ stb r3, 4(r20)
+/* 802B9714 002B5374 9B 34 00 06 */ stb r25, 6(r20)
+/* 802B9718 002B5378 93 5F 00 08 */ stw r26, 8(r31)
+/* 802B971C 002B537C 7E B3 41 2E */ stwx r21, r19, r8
+/* 802B9720 002B5380 9B 15 00 05 */ stb r24, 5(r21)
+/* 802B9724 002B5384 98 75 00 04 */ stb r3, 4(r21)
+/* 802B9728 002B5388 9B 35 00 06 */ stb r25, 6(r21)
+/* 802B972C 002B538C 93 5E 00 08 */ stw r26, 8(r30)
+/* 802B9730 002B5390 7E D4 41 2E */ stwx r22, r20, r8
+/* 802B9734 002B5394 9B 16 00 05 */ stb r24, 5(r22)
+/* 802B9738 002B5398 98 76 00 04 */ stb r3, 4(r22)
+/* 802B973C 002B539C 9B 36 00 06 */ stb r25, 6(r22)
+/* 802B9740 002B53A0 93 5D 00 08 */ stw r26, 8(r29)
+/* 802B9744 002B53A4 7E F5 41 2E */ stwx r23, r21, r8
+/* 802B9748 002B53A8 9B 17 00 05 */ stb r24, 5(r23)
+/* 802B974C 002B53AC 98 77 00 04 */ stb r3, 4(r23)
+/* 802B9750 002B53B0 9B 37 00 06 */ stb r25, 6(r23)
+/* 802B9754 002B53B4 93 4C 00 08 */ stw r26, 8(r12)
+/* 802B9758 002B53B8 7C 96 41 2E */ stwx r4, r22, r8
+/* 802B975C 002B53BC 9B 04 00 05 */ stb r24, 5(r4)
+/* 802B9760 002B53C0 98 64 00 04 */ stb r3, 4(r4)
+/* 802B9764 002B53C4 9B 24 00 06 */ stb r25, 6(r4)
+/* 802B9768 002B53C8 93 4B 00 08 */ stw r26, 8(r11)
+/* 802B976C 002B53CC 7C D7 41 2E */ stwx r6, r23, r8
+/* 802B9770 002B53D0 42 00 FF 1C */ bdnz lbl_802B968C
+lbl_802B9774:
+/* 802B9774 002B53D4 54 EC 04 3E */ clrlwi r12, r7, 0x10
+/* 802B9778 002B53D8 3F E0 DD BB */ lis r31, 0xDDBADDBA@ha
+/* 802B977C 002B53DC 7D 6C 28 50 */ subf r11, r12, r5
+/* 802B9780 002B53E0 3B A0 00 F0 */ li r29, 0xf0
+/* 802B9784 002B53E4 3B FF DD BA */ addi r31, r31, 0xDDBADDBA@l
+/* 802B9788 002B53E8 3B C0 00 00 */ li r30, 0
+/* 802B978C 002B53EC 7D 69 03 A6 */ mtctr r11
+/* 802B9790 002B53F0 7C 0C 28 40 */ cmplw r12, r5
+/* 802B9794 002B53F4 40 80 00 2C */ bge lbl_802B97C0
+lbl_802B9798:
+/* 802B9798 002B53F8 9B A6 00 05 */ stb r29, 5(r6)
+/* 802B979C 002B53FC 7C A6 4A 14 */ add r5, r6, r9
+/* 802B97A0 002B5400 7C C4 33 78 */ mr r4, r6
+/* 802B97A4 002B5404 38 E7 00 01 */ addi r7, r7, 1
+/* 802B97A8 002B5408 98 66 00 04 */ stb r3, 4(r6)
+/* 802B97AC 002B540C 9B C6 00 06 */ stb r30, 6(r6)
+/* 802B97B0 002B5410 7C C6 42 14 */ add r6, r6, r8
+/* 802B97B4 002B5414 93 E5 00 08 */ stw r31, 8(r5)
+/* 802B97B8 002B5418 90 C4 00 00 */ stw r6, 0(r4)
+/* 802B97BC 002B541C 42 00 FF DC */ bdnz lbl_802B9798
+lbl_802B97C0:
+/* 802B97C0 002B5420 38 A0 00 00 */ li r5, 0
+/* 802B97C4 002B5424 3C 6A 00 03 */ addis r3, r10, 3
+/* 802B97C8 002B5428 90 A4 00 00 */ stw r5, 0(r4)
+/* 802B97CC 002B542C 7C 63 02 14 */ add r3, r3, r0
+/* 802B97D0 002B5430 39 61 00 40 */ addi r11, r1, 0x40
+/* 802B97D4 002B5434 90 83 89 90 */ stw r4, -0x7670(r3)
+/* 802B97D8 002B5438 4B F0 D9 79 */ bl _restgpr_18
+/* 802B97DC 002B543C 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802B97E0 002B5440 7C 08 03 A6 */ mtlr r0
+/* 802B97E4 002B5444 38 21 00 40 */ addi r1, r1, 0x40
+/* 802B97E8 002B5448 4E 80 00 20 */ blr
+
+.global gki_buffer_init
+gki_buffer_init:
+/* 802B97EC 002B544C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802B97F0 002B5450 7C 08 02 A6 */ mflr r0
+/* 802B97F4 002B5454 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802B97F8 002B5458 38 C0 00 00 */ li r6, 0
+/* 802B97FC 002B545C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802B9800 002B5460 38 00 00 02 */ li r0, 2
+/* 802B9804 002B5464 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802B9808 002B5468 38 80 00 00 */ li r4, 0
+/* 802B980C 002B546C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802B9810 002B5470 3B E3 00 54 */ addi r31, r3, 0x54
+/* 802B9814 002B5474 7C 09 03 A6 */ mtctr r0
+lbl_802B9818:
+/* 802B9818 002B5478 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b
+/* 802B981C 002B547C 38 C6 00 01 */ addi r6, r6, 1
+/* 802B9820 002B5480 7C BF 02 14 */ add r5, r31, r0
+/* 802B9824 002B5484 3C 65 00 03 */ addis r3, r5, 3
+/* 802B9828 002B5488 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b
+/* 802B982C 002B548C 90 83 88 8C */ stw r4, -0x7774(r3)
+/* 802B9830 002B5490 7C BF 02 14 */ add r5, r31, r0
+/* 802B9834 002B5494 38 C6 00 01 */ addi r6, r6, 1
+/* 802B9838 002B5498 90 83 89 0C */ stw r4, -0x76f4(r3)
+/* 802B983C 002B549C 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b
+/* 802B9840 002B54A0 38 C6 00 01 */ addi r6, r6, 1
+/* 802B9844 002B54A4 90 83 88 90 */ stw r4, -0x7770(r3)
+/* 802B9848 002B54A8 90 83 89 10 */ stw r4, -0x76f0(r3)
+/* 802B984C 002B54AC 90 83 88 94 */ stw r4, -0x776c(r3)
+/* 802B9850 002B54B0 90 83 89 14 */ stw r4, -0x76ec(r3)
+/* 802B9854 002B54B4 90 83 88 98 */ stw r4, -0x7768(r3)
+/* 802B9858 002B54B8 90 83 89 18 */ stw r4, -0x76e8(r3)
+/* 802B985C 002B54BC 3C 65 00 03 */ addis r3, r5, 3
+/* 802B9860 002B54C0 7C BF 02 14 */ add r5, r31, r0
+/* 802B9864 002B54C4 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b
+/* 802B9868 002B54C8 90 83 88 8C */ stw r4, -0x7774(r3)
+/* 802B986C 002B54CC 38 C6 00 01 */ addi r6, r6, 1
+/* 802B9870 002B54D0 90 83 89 0C */ stw r4, -0x76f4(r3)
+/* 802B9874 002B54D4 90 83 88 90 */ stw r4, -0x7770(r3)
+/* 802B9878 002B54D8 90 83 89 10 */ stw r4, -0x76f0(r3)
+/* 802B987C 002B54DC 90 83 88 94 */ stw r4, -0x776c(r3)
+/* 802B9880 002B54E0 90 83 89 14 */ stw r4, -0x76ec(r3)
+/* 802B9884 002B54E4 90 83 88 98 */ stw r4, -0x7768(r3)
+/* 802B9888 002B54E8 90 83 89 18 */ stw r4, -0x76e8(r3)
+/* 802B988C 002B54EC 3C 65 00 03 */ addis r3, r5, 3
+/* 802B9890 002B54F0 7C BF 02 14 */ add r5, r31, r0
+/* 802B9894 002B54F4 90 83 88 8C */ stw r4, -0x7774(r3)
+/* 802B9898 002B54F8 90 83 89 0C */ stw r4, -0x76f4(r3)
+/* 802B989C 002B54FC 90 83 88 90 */ stw r4, -0x7770(r3)
+/* 802B98A0 002B5500 90 83 89 10 */ stw r4, -0x76f0(r3)
+/* 802B98A4 002B5504 90 83 88 94 */ stw r4, -0x776c(r3)
+/* 802B98A8 002B5508 90 83 89 14 */ stw r4, -0x76ec(r3)
+/* 802B98AC 002B550C 90 83 88 98 */ stw r4, -0x7768(r3)
+/* 802B98B0 002B5510 90 83 89 18 */ stw r4, -0x76e8(r3)
+/* 802B98B4 002B5514 3C 65 00 03 */ addis r3, r5, 3
+/* 802B98B8 002B5518 90 83 88 8C */ stw r4, -0x7774(r3)
+/* 802B98BC 002B551C 90 83 89 0C */ stw r4, -0x76f4(r3)
+/* 802B98C0 002B5520 90 83 88 90 */ stw r4, -0x7770(r3)
+/* 802B98C4 002B5524 90 83 89 10 */ stw r4, -0x76f0(r3)
+/* 802B98C8 002B5528 90 83 88 94 */ stw r4, -0x776c(r3)
+/* 802B98CC 002B552C 90 83 89 14 */ stw r4, -0x76ec(r3)
+/* 802B98D0 002B5530 90 83 88 98 */ stw r4, -0x7768(r3)
+/* 802B98D4 002B5534 90 83 89 18 */ stw r4, -0x76e8(r3)
+/* 802B98D8 002B5538 42 00 FF 40 */ bdnz lbl_802B9818
+/* 802B98DC 002B553C 38 00 00 03 */ li r0, 3
+/* 802B98E0 002B5540 39 40 00 00 */ li r10, 0
+/* 802B98E4 002B5544 38 E0 00 00 */ li r7, 0
+/* 802B98E8 002B5548 7C 09 03 A6 */ mtctr r0
+lbl_802B98EC:
+/* 802B98EC 002B554C 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d
+/* 802B98F0 002B5550 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e
+/* 802B98F4 002B5554 7D 1F 02 14 */ add r8, r31, r0
+/* 802B98F8 002B5558 3C C8 00 03 */ addis r6, r8, 3
+/* 802B98FC 002B555C 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b
+/* 802B9900 002B5560 90 E6 8A 1C */ stw r7, -0x75e4(r6)
+/* 802B9904 002B5564 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9908 002B5568 7D 3F 02 14 */ add r9, r31, r0
+/* 802B990C 002B556C 39 4A 00 01 */ addi r10, r10, 1
+/* 802B9910 002B5570 90 E6 8A 40 */ stw r7, -0x75c0(r6)
+/* 802B9914 002B5574 38 A4 8A 64 */ addi r5, r4, -30108
+/* 802B9918 002B5578 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d
+/* 802B991C 002B557C 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e
+/* 802B9920 002B5580 7C FF 2B 2E */ sthx r7, r31, r5
+/* 802B9924 002B5584 7D 1F 02 14 */ add r8, r31, r0
+/* 802B9928 002B5588 3C 69 00 03 */ addis r3, r9, 3
+/* 802B992C 002B558C 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b
+/* 802B9930 002B5590 90 E3 89 8C */ stw r7, -0x7674(r3)
+/* 802B9934 002B5594 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9938 002B5598 3C C8 00 03 */ addis r6, r8, 3
+/* 802B993C 002B559C 7D 3F 02 14 */ add r9, r31, r0
+/* 802B9940 002B55A0 90 E3 89 90 */ stw r7, -0x7670(r3)
+/* 802B9944 002B55A4 39 4A 00 01 */ addi r10, r10, 1
+/* 802B9948 002B55A8 38 A4 8A 64 */ addi r5, r4, -30108
+/* 802B994C 002B55AC B0 E3 89 94 */ sth r7, -0x766c(r3)
+/* 802B9950 002B55B0 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d
+/* 802B9954 002B55B4 7D 1F 02 14 */ add r8, r31, r0
+/* 802B9958 002B55B8 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e
+/* 802B995C 002B55BC B0 E3 89 96 */ sth r7, -0x766a(r3)
+/* 802B9960 002B55C0 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b
+/* 802B9964 002B55C4 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9968 002B55C8 39 4A 00 01 */ addi r10, r10, 1
+/* 802B996C 002B55CC B0 E3 89 98 */ sth r7, -0x7668(r3)
+/* 802B9970 002B55D0 B0 E3 89 9A */ sth r7, -0x7666(r3)
+/* 802B9974 002B55D4 3C 69 00 03 */ addis r3, r9, 3
+/* 802B9978 002B55D8 7D 3F 02 14 */ add r9, r31, r0
+/* 802B997C 002B55DC 90 E6 8A 1C */ stw r7, -0x75e4(r6)
+/* 802B9980 002B55E0 90 E6 8A 40 */ stw r7, -0x75c0(r6)
+/* 802B9984 002B55E4 3C C8 00 03 */ addis r6, r8, 3
+/* 802B9988 002B55E8 7C FF 2B 2E */ sthx r7, r31, r5
+/* 802B998C 002B55EC 38 A4 8A 64 */ addi r5, r4, -30108
+/* 802B9990 002B55F0 90 E3 89 8C */ stw r7, -0x7674(r3)
+/* 802B9994 002B55F4 90 E3 89 90 */ stw r7, -0x7670(r3)
+/* 802B9998 002B55F8 B0 E3 89 94 */ sth r7, -0x766c(r3)
+/* 802B999C 002B55FC B0 E3 89 96 */ sth r7, -0x766a(r3)
+/* 802B99A0 002B5600 B0 E3 89 98 */ sth r7, -0x7668(r3)
+/* 802B99A4 002B5604 B0 E3 89 9A */ sth r7, -0x7666(r3)
+/* 802B99A8 002B5608 3C 69 00 03 */ addis r3, r9, 3
+/* 802B99AC 002B560C 90 E6 8A 1C */ stw r7, -0x75e4(r6)
+/* 802B99B0 002B5610 90 E6 8A 40 */ stw r7, -0x75c0(r6)
+/* 802B99B4 002B5614 7C FF 2B 2E */ sthx r7, r31, r5
+/* 802B99B8 002B5618 90 E3 89 8C */ stw r7, -0x7674(r3)
+/* 802B99BC 002B561C 90 E3 89 90 */ stw r7, -0x7670(r3)
+/* 802B99C0 002B5620 B0 E3 89 94 */ sth r7, -0x766c(r3)
+/* 802B99C4 002B5624 B0 E3 89 96 */ sth r7, -0x766a(r3)
+/* 802B99C8 002B5628 B0 E3 89 98 */ sth r7, -0x7668(r3)
+/* 802B99CC 002B562C B0 E3 89 9A */ sth r7, -0x7666(r3)
+/* 802B99D0 002B5630 42 00 FF 1C */ bdnz lbl_802B98EC
+/* 802B99D4 002B5634 3C 80 00 01 */ lis r4, 0x0000FFF0@ha
+/* 802B99D8 002B5638 3C 7F 00 03 */ addis r3, r31, 3
+/* 802B99DC 002B563C 38 04 FF F0 */ addi r0, r4, 0x0000FFF0@l
+/* 802B99E0 002B5640 7F E6 FB 78 */ mr r6, r31
+/* 802B99E4 002B5644 B0 03 8A 7C */ sth r0, -0x7584(r3)
+/* 802B99E8 002B5648 38 60 00 00 */ li r3, 0
+/* 802B99EC 002B564C 38 80 00 40 */ li r4, 0x40
+/* 802B99F0 002B5650 38 A0 00 30 */ li r5, 0x30
+/* 802B99F4 002B5654 4B FF FB D9 */ bl gki_init_free_queue
+/* 802B99F8 002B5658 38 DF 0E 40 */ addi r6, r31, 0xe40
+/* 802B99FC 002B565C 38 60 00 01 */ li r3, 1
+/* 802B9A00 002B5660 38 80 00 80 */ li r4, 0x80
+/* 802B9A04 002B5664 38 A0 00 1A */ li r5, 0x1a
+/* 802B9A08 002B5668 4B FF FB C5 */ bl gki_init_free_queue
+/* 802B9A0C 002B566C 38 DF 1C 78 */ addi r6, r31, 0x1c78
+/* 802B9A10 002B5670 38 60 00 02 */ li r3, 2
+/* 802B9A14 002B5674 38 80 02 94 */ li r4, 0x294
+/* 802B9A18 002B5678 38 A0 00 2D */ li r5, 0x2d
+/* 802B9A1C 002B567C 4B FF FB B1 */ bl gki_init_free_queue
+/* 802B9A20 002B5680 3C DF 00 01 */ addis r6, r31, 1
+/* 802B9A24 002B5684 38 60 00 03 */ li r3, 3
+/* 802B9A28 002B5688 38 80 07 08 */ li r4, 0x708
+/* 802B9A2C 002B568C 38 A0 00 1E */ li r5, 0x1e
+/* 802B9A30 002B5690 38 C6 92 98 */ addi r6, r6, -28008
+/* 802B9A34 002B5694 4B FF FB 99 */ bl gki_init_free_queue
+/* 802B9A38 002B5698 3C DF 00 01 */ addis r6, r31, 1
+/* 802B9A3C 002B569C 38 60 00 04 */ li r3, 4
+/* 802B9A40 002B56A0 38 80 20 00 */ li r4, 0x2000
+/* 802B9A44 002B56A4 38 A0 00 09 */ li r5, 9
+/* 802B9A48 002B56A8 38 C6 66 F0 */ addi r6, r6, 0x66f0
+/* 802B9A4C 002B56AC 4B FF FB 81 */ bl gki_init_free_queue
+/* 802B9A50 002B56B0 3C DF 00 03 */ addis r6, r31, 3
+/* 802B9A54 002B56B4 38 00 00 00 */ li r0, 0
+/* 802B9A58 002B56B8 98 06 8A 7E */ stb r0, -0x7582(r6)
+/* 802B9A5C 002B56BC 38 00 00 01 */ li r0, 1
+/* 802B9A60 002B56C0 38 A0 00 02 */ li r5, 2
+/* 802B9A64 002B56C4 38 80 00 03 */ li r4, 3
+/* 802B9A68 002B56C8 98 06 8A 7F */ stb r0, -0x7581(r6)
+/* 802B9A6C 002B56CC 38 60 00 04 */ li r3, 4
+/* 802B9A70 002B56D0 38 00 00 05 */ li r0, 5
+/* 802B9A74 002B56D4 98 A6 8A 80 */ stb r5, -0x7580(r6)
+/* 802B9A78 002B56D8 98 86 8A 81 */ stb r4, -0x757f(r6)
+/* 802B9A7C 002B56DC 98 66 8A 82 */ stb r3, -0x757e(r6)
+/* 802B9A80 002B56E0 98 06 8A 87 */ stb r0, -0x7579(r6)
+/* 802B9A84 002B56E4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802B9A88 002B56E8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802B9A8C 002B56EC 7C 08 03 A6 */ mtlr r0
+/* 802B9A90 002B56F0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802B9A94 002B56F4 4E 80 00 20 */ blr
+
+.global GKI_init_q
+GKI_init_q:
+/* 802B9A98 002B56F8 38 00 00 00 */ li r0, 0
+/* 802B9A9C 002B56FC 90 03 00 04 */ stw r0, 4(r3)
+/* 802B9AA0 002B5700 90 03 00 00 */ stw r0, 0(r3)
+/* 802B9AA4 002B5704 B0 03 00 08 */ sth r0, 8(r3)
+/* 802B9AA8 002B5708 4E 80 00 20 */ blr
+
+.global GKI_getbuf
+GKI_getbuf:
+/* 802B9AAC 002B570C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802B9AB0 002B5710 7C 08 02 A6 */ mflr r0
+/* 802B9AB4 002B5714 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802B9AB8 002B5718 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9ABC 002B571C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802B9AC0 002B5720 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802B9AC4 002B5724 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802B9AC8 002B5728 93 C1 00 08 */ stw r30, 8(r1)
+/* 802B9ACC 002B572C 3B C4 00 54 */ addi r30, r4, 0x54
+/* 802B9AD0 002B5730 40 82 00 24 */ bne lbl_802B9AF4
+/* 802B9AD4 002B5734 3C 60 00 01 */ lis r3, 0x0000FFF6@ha
+/* 802B9AD8 002B5738 3C 80 80 44 */ lis r4, lbl_8043F130@ha
+/* 802B9ADC 002B573C 38 03 FF F6 */ addi r0, r3, 0x0000FFF6@l
+/* 802B9AE0 002B5740 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9AE4 002B5744 38 84 F1 30 */ addi r4, r4, lbl_8043F130@l
+/* 802B9AE8 002B5748 48 00 16 DD */ bl GKI_exception
+/* 802B9AEC 002B574C 38 60 00 00 */ li r3, 0
+/* 802B9AF0 002B5750 48 00 01 44 */ b lbl_802B9C34
+lbl_802B9AF4:
+/* 802B9AF4 002B5754 3C 9E 00 03 */ addis r4, r30, 3
+/* 802B9AF8 002B5758 3B E0 00 00 */ li r31, 0
+/* 802B9AFC 002B575C 88 A4 8A 87 */ lbz r5, -0x7579(r4)
+/* 802B9B00 002B5760 48 00 00 30 */ b lbl_802B9B30
+lbl_802B9B04:
+/* 802B9B04 002B5764 57 E4 06 3E */ clrlwi r4, r31, 0x18
+/* 802B9B08 002B5768 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9B0C 002B576C 38 04 8A 7E */ addi r0, r4, -30082
+/* 802B9B10 002B5770 7C 1E 00 AE */ lbzx r0, r30, r0
+/* 802B9B14 002B5774 54 04 20 36 */ slwi r4, r0, 4
+/* 802B9B18 002B5778 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9B1C 002B577C 38 04 89 94 */ addi r0, r4, -30316
+/* 802B9B20 002B5780 7C 1E 02 2E */ lhzx r0, r30, r0
+/* 802B9B24 002B5784 7C 03 00 40 */ cmplw r3, r0
+/* 802B9B28 002B5788 40 81 00 14 */ ble lbl_802B9B3C
+/* 802B9B2C 002B578C 3B FF 00 01 */ addi r31, r31, 1
+lbl_802B9B30:
+/* 802B9B30 002B5790 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802B9B34 002B5794 7C 00 28 40 */ cmplw r0, r5
+/* 802B9B38 002B5798 41 80 FF CC */ blt lbl_802B9B04
+lbl_802B9B3C:
+/* 802B9B3C 002B579C 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802B9B40 002B57A0 7C 00 28 40 */ cmplw r0, r5
+/* 802B9B44 002B57A4 40 82 00 24 */ bne lbl_802B9B68
+/* 802B9B48 002B57A8 3C 60 00 01 */ lis r3, 0x0000FFF7@ha
+/* 802B9B4C 002B57AC 3C 80 80 44 */ lis r4, lbl_8043F148@ha
+/* 802B9B50 002B57B0 38 03 FF F7 */ addi r0, r3, 0x0000FFF7@l
+/* 802B9B54 002B57B4 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9B58 002B57B8 38 84 F1 48 */ addi r4, r4, lbl_8043F148@l
+/* 802B9B5C 002B57BC 48 00 16 69 */ bl GKI_exception
+/* 802B9B60 002B57C0 38 60 00 00 */ li r3, 0
+/* 802B9B64 002B57C4 48 00 00 D0 */ b lbl_802B9C34
+lbl_802B9B68:
+/* 802B9B68 002B57C8 48 00 16 19 */ bl GKI_disable
+/* 802B9B6C 002B57CC 3C DE 00 03 */ addis r6, r30, 3
+/* 802B9B70 002B57D0 38 A0 00 01 */ li r5, 1
+/* 802B9B74 002B57D4 88 E6 8A 87 */ lbz r7, -0x7579(r6)
+/* 802B9B78 002B57D8 48 00 00 A8 */ b lbl_802B9C20
+lbl_802B9B7C:
+/* 802B9B7C 002B57DC 57 E4 06 3E */ clrlwi r4, r31, 0x18
+/* 802B9B80 002B57E0 A0 66 8A 7C */ lhz r3, -0x7584(r6)
+/* 802B9B84 002B57E4 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9B88 002B57E8 38 04 8A 7E */ addi r0, r4, -30082
+/* 802B9B8C 002B57EC 7C 9E 00 AE */ lbzx r4, r30, r0
+/* 802B9B90 002B57F0 7C A0 20 30 */ slw r0, r5, r4
+/* 802B9B94 002B57F4 7C 60 00 39 */ and. r0, r3, r0
+/* 802B9B98 002B57F8 40 82 00 84 */ bne lbl_802B9C1C
+/* 802B9B9C 002B57FC 54 80 25 36 */ rlwinm r0, r4, 4, 0x14, 0x1b
+/* 802B9BA0 002B5800 7C 86 02 14 */ add r4, r6, r0
+/* 802B9BA4 002B5804 A0 64 89 98 */ lhz r3, -0x7668(r4)
+/* 802B9BA8 002B5808 A0 04 89 96 */ lhz r0, -0x766a(r4)
+/* 802B9BAC 002B580C 7C 03 00 40 */ cmplw r3, r0
+/* 802B9BB0 002B5810 40 80 00 6C */ bge lbl_802B9C1C
+/* 802B9BB4 002B5814 83 C4 89 8C */ lwz r30, -0x7674(r4)
+/* 802B9BB8 002B5818 80 1E 00 00 */ lwz r0, 0(r30)
+/* 802B9BBC 002B581C 2C 00 00 00 */ cmpwi r0, 0
+/* 802B9BC0 002B5820 90 04 89 8C */ stw r0, -0x7674(r4)
+/* 802B9BC4 002B5824 40 82 00 0C */ bne lbl_802B9BD0
+/* 802B9BC8 002B5828 38 00 00 00 */ li r0, 0
+/* 802B9BCC 002B582C 90 04 89 90 */ stw r0, -0x7670(r4)
+lbl_802B9BD0:
+/* 802B9BD0 002B5830 A0 64 89 98 */ lhz r3, -0x7668(r4)
+/* 802B9BD4 002B5834 38 03 00 01 */ addi r0, r3, 1
+/* 802B9BD8 002B5838 B0 04 89 98 */ sth r0, -0x7668(r4)
+/* 802B9BDC 002B583C 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9BE0 002B5840 A0 04 89 9A */ lhz r0, -0x7666(r4)
+/* 802B9BE4 002B5844 7C 03 00 40 */ cmplw r3, r0
+/* 802B9BE8 002B5848 40 81 00 0C */ ble lbl_802B9BF4
+/* 802B9BEC 002B584C A0 04 89 98 */ lhz r0, -0x7668(r4)
+/* 802B9BF0 002B5850 B0 04 89 9A */ sth r0, -0x7666(r4)
+lbl_802B9BF4:
+/* 802B9BF4 002B5854 48 00 15 69 */ bl GKI_enable
+/* 802B9BF8 002B5858 48 00 15 5D */ bl GKI_get_taskid
+/* 802B9BFC 002B585C 98 7E 00 05 */ stb r3, 5(r30)
+/* 802B9C00 002B5860 38 80 00 01 */ li r4, 1
+/* 802B9C04 002B5864 38 00 00 00 */ li r0, 0
+/* 802B9C08 002B5868 38 7E 00 08 */ addi r3, r30, 8
+/* 802B9C0C 002B586C 98 9E 00 06 */ stb r4, 6(r30)
+/* 802B9C10 002B5870 90 1E 00 00 */ stw r0, 0(r30)
+/* 802B9C14 002B5874 98 1E 00 07 */ stb r0, 7(r30)
+/* 802B9C18 002B5878 48 00 00 1C */ b lbl_802B9C34
+lbl_802B9C1C:
+/* 802B9C1C 002B587C 3B FF 00 01 */ addi r31, r31, 1
+lbl_802B9C20:
+/* 802B9C20 002B5880 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802B9C24 002B5884 7C 00 38 40 */ cmplw r0, r7
+/* 802B9C28 002B5888 41 80 FF 54 */ blt lbl_802B9B7C
+/* 802B9C2C 002B588C 48 00 15 31 */ bl GKI_enable
+/* 802B9C30 002B5890 38 60 00 00 */ li r3, 0
+lbl_802B9C34:
+/* 802B9C34 002B5894 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802B9C38 002B5898 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802B9C3C 002B589C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802B9C40 002B58A0 7C 08 03 A6 */ mtlr r0
+/* 802B9C44 002B58A4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802B9C48 002B58A8 4E 80 00 20 */ blr
+
+.global GKI_getpoolbuf
+GKI_getpoolbuf:
+/* 802B9C4C 002B58AC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802B9C50 002B58B0 7C 08 02 A6 */ mflr r0
+/* 802B9C54 002B58B4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802B9C58 002B58B8 28 03 00 09 */ cmplwi r3, 9
+/* 802B9C5C 002B58BC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802B9C60 002B58C0 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802B9C64 002B58C4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802B9C68 002B58C8 7C 7F 1B 78 */ mr r31, r3
+/* 802B9C6C 002B58CC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802B9C70 002B58D0 3B C4 00 54 */ addi r30, r4, 0x54
+/* 802B9C74 002B58D4 41 80 00 0C */ blt lbl_802B9C80
+/* 802B9C78 002B58D8 38 60 00 00 */ li r3, 0
+/* 802B9C7C 002B58DC 48 00 00 A0 */ b lbl_802B9D1C
+lbl_802B9C80:
+/* 802B9C80 002B58E0 48 00 15 01 */ bl GKI_disable
+/* 802B9C84 002B58E4 57 FF 25 36 */ rlwinm r31, r31, 4, 0x14, 0x1b
+/* 802B9C88 002B58E8 3C 1E 00 03 */ addis r0, r30, 3
+/* 802B9C8C 002B58EC 7C 80 FA 14 */ add r4, r0, r31
+/* 802B9C90 002B58F0 A0 64 89 98 */ lhz r3, -0x7668(r4)
+/* 802B9C94 002B58F4 A0 04 89 96 */ lhz r0, -0x766a(r4)
+/* 802B9C98 002B58F8 7C 03 00 40 */ cmplw r3, r0
+/* 802B9C9C 002B58FC 40 80 00 6C */ bge lbl_802B9D08
+/* 802B9CA0 002B5900 83 E4 89 8C */ lwz r31, -0x7674(r4)
+/* 802B9CA4 002B5904 80 1F 00 00 */ lwz r0, 0(r31)
+/* 802B9CA8 002B5908 2C 00 00 00 */ cmpwi r0, 0
+/* 802B9CAC 002B590C 90 04 89 8C */ stw r0, -0x7674(r4)
+/* 802B9CB0 002B5910 40 82 00 0C */ bne lbl_802B9CBC
+/* 802B9CB4 002B5914 38 00 00 00 */ li r0, 0
+/* 802B9CB8 002B5918 90 04 89 90 */ stw r0, -0x7670(r4)
+lbl_802B9CBC:
+/* 802B9CBC 002B591C A0 64 89 98 */ lhz r3, -0x7668(r4)
+/* 802B9CC0 002B5920 38 03 00 01 */ addi r0, r3, 1
+/* 802B9CC4 002B5924 B0 04 89 98 */ sth r0, -0x7668(r4)
+/* 802B9CC8 002B5928 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9CCC 002B592C A0 04 89 9A */ lhz r0, -0x7666(r4)
+/* 802B9CD0 002B5930 7C 03 00 40 */ cmplw r3, r0
+/* 802B9CD4 002B5934 40 81 00 0C */ ble lbl_802B9CE0
+/* 802B9CD8 002B5938 A0 04 89 98 */ lhz r0, -0x7668(r4)
+/* 802B9CDC 002B593C B0 04 89 9A */ sth r0, -0x7666(r4)
+lbl_802B9CE0:
+/* 802B9CE0 002B5940 48 00 14 7D */ bl GKI_enable
+/* 802B9CE4 002B5944 48 00 14 71 */ bl GKI_get_taskid
+/* 802B9CE8 002B5948 98 7F 00 05 */ stb r3, 5(r31)
+/* 802B9CEC 002B594C 38 80 00 01 */ li r4, 1
+/* 802B9CF0 002B5950 38 00 00 00 */ li r0, 0
+/* 802B9CF4 002B5954 38 7F 00 08 */ addi r3, r31, 8
+/* 802B9CF8 002B5958 98 9F 00 06 */ stb r4, 6(r31)
+/* 802B9CFC 002B595C 90 1F 00 00 */ stw r0, 0(r31)
+/* 802B9D00 002B5960 98 1F 00 07 */ stb r0, 7(r31)
+/* 802B9D04 002B5964 48 00 00 18 */ b lbl_802B9D1C
+lbl_802B9D08:
+/* 802B9D08 002B5968 48 00 14 55 */ bl GKI_enable
+/* 802B9D0C 002B596C 3C 1E 00 03 */ addis r0, r30, 3
+/* 802B9D10 002B5970 7C 60 FA 14 */ add r3, r0, r31
+/* 802B9D14 002B5974 A0 63 89 94 */ lhz r3, -0x766c(r3)
+/* 802B9D18 002B5978 4B FF FD 95 */ bl GKI_getbuf
+lbl_802B9D1C:
+/* 802B9D1C 002B597C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802B9D20 002B5980 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802B9D24 002B5984 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802B9D28 002B5988 7C 08 03 A6 */ mtlr r0
+/* 802B9D2C 002B598C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802B9D30 002B5990 4E 80 00 20 */ blr
+
+.global GKI_freebuf
+GKI_freebuf:
+/* 802B9D34 002B5994 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802B9D38 002B5998 7C 08 02 A6 */ mflr r0
+/* 802B9D3C 002B599C 3C A0 80 44 */ lis r5, lbl_8043F130@ha
+/* 802B9D40 002B59A0 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9D44 002B59A4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802B9D48 002B59A8 38 A5 F1 30 */ addi r5, r5, lbl_8043F130@l
+/* 802B9D4C 002B59AC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802B9D50 002B59B0 41 82 00 7C */ beq lbl_802B9DCC
+/* 802B9D54 002B59B4 3B E3 FF F8 */ addi r31, r3, -8
+/* 802B9D58 002B59B8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802B9D5C 002B59BC 41 82 00 0C */ beq lbl_802B9D68
+/* 802B9D60 002B59C0 38 00 00 00 */ li r0, 0
+/* 802B9D64 002B59C4 48 00 00 30 */ b lbl_802B9D94
+lbl_802B9D68:
+/* 802B9D68 002B59C8 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802B9D6C 002B59CC 28 00 00 09 */ cmplwi r0, 9
+/* 802B9D70 002B59D0 40 80 00 20 */ bge lbl_802B9D90
+/* 802B9D74 002B59D4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802B9D78 002B59D8 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802B9D7C 002B59DC 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802B9D80 002B59E0 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9D84 002B59E4 7C 84 02 14 */ add r4, r4, r0
+/* 802B9D88 002B59E8 A0 04 89 E8 */ lhz r0, -0x7618(r4)
+/* 802B9D8C 002B59EC 48 00 00 08 */ b lbl_802B9D94
+lbl_802B9D90:
+/* 802B9D90 002B59F0 38 00 00 00 */ li r0, 0
+lbl_802B9D94:
+/* 802B9D94 002B59F4 7C 83 02 14 */ add r4, r3, r0
+/* 802B9D98 002B59F8 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802B9D9C 002B59FC 41 82 00 0C */ beq lbl_802B9DA8
+/* 802B9DA0 002B5A00 38 00 00 01 */ li r0, 1
+/* 802B9DA4 002B5A04 48 00 00 20 */ b lbl_802B9DC4
+lbl_802B9DA8:
+/* 802B9DA8 002B5A08 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha
+/* 802B9DAC 002B5A0C 80 84 00 00 */ lwz r4, 0(r4)
+/* 802B9DB0 002B5A10 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l
+/* 802B9DB4 002B5A14 7C 64 00 50 */ subf r3, r4, r0
+/* 802B9DB8 002B5A18 7C 00 20 50 */ subf r0, r0, r4
+/* 802B9DBC 002B5A1C 7C 60 03 78 */ or r0, r3, r0
+/* 802B9DC0 002B5A20 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_802B9DC4:
+/* 802B9DC4 002B5A24 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802B9DC8 002B5A28 41 82 00 1C */ beq lbl_802B9DE4
+lbl_802B9DCC:
+/* 802B9DCC 002B5A2C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802B9DD0 002B5A30 38 85 00 30 */ addi r4, r5, 0x30
+/* 802B9DD4 002B5A34 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802B9DD8 002B5A38 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9DDC 002B5A3C 48 00 13 E9 */ bl GKI_exception
+/* 802B9DE0 002B5A40 48 00 00 B0 */ b lbl_802B9E90
+lbl_802B9DE4:
+/* 802B9DE4 002B5A44 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802B9DE8 002B5A48 28 00 00 01 */ cmplwi r0, 1
+/* 802B9DEC 002B5A4C 41 82 00 1C */ beq lbl_802B9E08
+/* 802B9DF0 002B5A50 3C 60 00 01 */ lis r3, 0x0000FFFC@ha
+/* 802B9DF4 002B5A54 38 85 00 48 */ addi r4, r5, 0x48
+/* 802B9DF8 002B5A58 38 03 FF FC */ addi r0, r3, 0x0000FFFC@l
+/* 802B9DFC 002B5A5C 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9E00 002B5A60 48 00 13 C5 */ bl GKI_exception
+/* 802B9E04 002B5A64 48 00 00 8C */ b lbl_802B9E90
+lbl_802B9E08:
+/* 802B9E08 002B5A68 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802B9E0C 002B5A6C 28 00 00 09 */ cmplwi r0, 9
+/* 802B9E10 002B5A70 41 80 00 1C */ blt lbl_802B9E2C
+/* 802B9E14 002B5A74 3C 60 00 01 */ lis r3, 0x0000FFFD@ha
+/* 802B9E18 002B5A78 38 85 00 5C */ addi r4, r5, 0x5c
+/* 802B9E1C 002B5A7C 38 03 FF FD */ addi r0, r3, 0x0000FFFD@l
+/* 802B9E20 002B5A80 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9E24 002B5A84 48 00 13 A1 */ bl GKI_exception
+/* 802B9E28 002B5A88 48 00 00 68 */ b lbl_802B9E90
+lbl_802B9E2C:
+/* 802B9E2C 002B5A8C 48 00 13 55 */ bl GKI_disable
+/* 802B9E30 002B5A90 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802B9E34 002B5A94 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802B9E38 002B5A98 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802B9E3C 002B5A9C 3C 63 00 03 */ addis r3, r3, 3
+/* 802B9E40 002B5AA0 54 00 20 36 */ slwi r0, r0, 4
+/* 802B9E44 002B5AA4 7C 83 02 14 */ add r4, r3, r0
+/* 802B9E48 002B5AA8 80 64 89 E4 */ lwz r3, -0x761c(r4)
+/* 802B9E4C 002B5AAC 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9E50 002B5AB0 41 82 00 0C */ beq lbl_802B9E5C
+/* 802B9E54 002B5AB4 93 E3 00 00 */ stw r31, 0(r3)
+/* 802B9E58 002B5AB8 48 00 00 08 */ b lbl_802B9E60
+lbl_802B9E5C:
+/* 802B9E5C 002B5ABC 93 E4 89 E0 */ stw r31, -0x7620(r4)
+lbl_802B9E60:
+/* 802B9E60 002B5AC0 93 E4 89 E4 */ stw r31, -0x761c(r4)
+/* 802B9E64 002B5AC4 38 60 00 00 */ li r3, 0
+/* 802B9E68 002B5AC8 38 00 00 F0 */ li r0, 0xf0
+/* 802B9E6C 002B5ACC 90 7F 00 00 */ stw r3, 0(r31)
+/* 802B9E70 002B5AD0 98 7F 00 06 */ stb r3, 6(r31)
+/* 802B9E74 002B5AD4 98 1F 00 05 */ stb r0, 5(r31)
+/* 802B9E78 002B5AD8 A0 64 89 EC */ lhz r3, -0x7614(r4)
+/* 802B9E7C 002B5ADC 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9E80 002B5AE0 41 82 00 0C */ beq lbl_802B9E8C
+/* 802B9E84 002B5AE4 38 03 FF FF */ addi r0, r3, -1
+/* 802B9E88 002B5AE8 B0 04 89 EC */ sth r0, -0x7614(r4)
+lbl_802B9E8C:
+/* 802B9E8C 002B5AEC 48 00 12 D1 */ bl GKI_enable
+lbl_802B9E90:
+/* 802B9E90 002B5AF0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802B9E94 002B5AF4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802B9E98 002B5AF8 7C 08 03 A6 */ mtlr r0
+/* 802B9E9C 002B5AFC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802B9EA0 002B5B00 4E 80 00 20 */ blr
+
+.global GKI_get_buf_size
+GKI_get_buf_size:
+/* 802B9EA4 002B5B04 38 63 FF F8 */ addi r3, r3, -8
+/* 802B9EA8 002B5B08 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 802B9EAC 002B5B0C 41 82 00 0C */ beq lbl_802B9EB8
+/* 802B9EB0 002B5B10 38 60 00 00 */ li r3, 0
+/* 802B9EB4 002B5B14 4E 80 00 20 */ blr
+lbl_802B9EB8:
+/* 802B9EB8 002B5B18 88 03 00 04 */ lbz r0, 4(r3)
+/* 802B9EBC 002B5B1C 28 00 00 09 */ cmplwi r0, 9
+/* 802B9EC0 002B5B20 40 80 00 20 */ bge lbl_802B9EE0
+/* 802B9EC4 002B5B24 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802B9EC8 002B5B28 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802B9ECC 002B5B2C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802B9ED0 002B5B30 3C 63 00 03 */ addis r3, r3, 3
+/* 802B9ED4 002B5B34 7C 63 02 14 */ add r3, r3, r0
+/* 802B9ED8 002B5B38 A0 63 89 E8 */ lhz r3, -0x7618(r3)
+/* 802B9EDC 002B5B3C 4E 80 00 20 */ blr
+lbl_802B9EE0:
+/* 802B9EE0 002B5B40 38 60 00 00 */ li r3, 0
+/* 802B9EE4 002B5B44 4E 80 00 20 */ blr
+
+.global GKI_send_msg
+GKI_send_msg:
+/* 802B9EE8 002B5B48 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802B9EEC 002B5B4C 7C 08 02 A6 */ mflr r0
+/* 802B9EF0 002B5B50 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha
+/* 802B9EF4 002B5B54 3C C0 80 44 */ lis r6, lbl_8043F130@ha
+/* 802B9EF8 002B5B58 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802B9EFC 002B5B5C 28 03 00 08 */ cmplwi r3, 8
+/* 802B9F00 002B5B60 38 E7 C2 C0 */ addi r7, r7, lbl_8053C2C0@l
+/* 802B9F04 002B5B64 38 C6 F1 30 */ addi r6, r6, lbl_8043F130@l
+/* 802B9F08 002B5B68 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802B9F0C 002B5B6C 7C BF 2B 78 */ mr r31, r5
+/* 802B9F10 002B5B70 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802B9F14 002B5B74 3B C7 00 54 */ addi r30, r7, 0x54
+/* 802B9F18 002B5B78 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802B9F1C 002B5B7C 7C 9D 23 78 */ mr r29, r4
+/* 802B9F20 002B5B80 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802B9F24 002B5B84 7C 7C 1B 78 */ mr r28, r3
+/* 802B9F28 002B5B88 40 80 00 20 */ bge lbl_802B9F48
+/* 802B9F2C 002B5B8C 28 04 00 04 */ cmplwi r4, 4
+/* 802B9F30 002B5B90 40 80 00 18 */ bge lbl_802B9F48
+/* 802B9F34 002B5B94 3C 1E 00 03 */ addis r0, r30, 3
+/* 802B9F38 002B5B98 7C 60 1A 14 */ add r3, r0, r3
+/* 802B9F3C 002B5B9C 88 03 87 AC */ lbz r0, -0x7854(r3)
+/* 802B9F40 002B5BA0 2C 00 00 00 */ cmpwi r0, 0
+/* 802B9F44 002B5BA4 40 82 00 24 */ bne lbl_802B9F68
+lbl_802B9F48:
+/* 802B9F48 002B5BA8 3C 60 00 01 */ lis r3, 0x0000FFFB@ha
+/* 802B9F4C 002B5BAC 38 86 00 68 */ addi r4, r6, 0x68
+/* 802B9F50 002B5BB0 38 03 FF FB */ addi r0, r3, 0x0000FFFB@l
+/* 802B9F54 002B5BB4 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9F58 002B5BB8 48 00 12 6D */ bl GKI_exception
+/* 802B9F5C 002B5BBC 7F E3 FB 78 */ mr r3, r31
+/* 802B9F60 002B5BC0 4B FF FD D5 */ bl GKI_freebuf
+/* 802B9F64 002B5BC4 48 00 01 20 */ b lbl_802BA084
+lbl_802B9F68:
+/* 802B9F68 002B5BC8 3B E5 FF F8 */ addi r31, r5, -8
+/* 802B9F6C 002B5BCC 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802B9F70 002B5BD0 41 82 00 0C */ beq lbl_802B9F7C
+/* 802B9F74 002B5BD4 38 00 00 00 */ li r0, 0
+/* 802B9F78 002B5BD8 48 00 00 28 */ b lbl_802B9FA0
+lbl_802B9F7C:
+/* 802B9F7C 002B5BDC 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802B9F80 002B5BE0 28 00 00 09 */ cmplwi r0, 9
+/* 802B9F84 002B5BE4 40 80 00 18 */ bge lbl_802B9F9C
+/* 802B9F88 002B5BE8 3C 67 00 03 */ addis r3, r7, 3
+/* 802B9F8C 002B5BEC 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802B9F90 002B5BF0 7C 63 02 14 */ add r3, r3, r0
+/* 802B9F94 002B5BF4 A0 03 89 E8 */ lhz r0, -0x7618(r3)
+/* 802B9F98 002B5BF8 48 00 00 08 */ b lbl_802B9FA0
+lbl_802B9F9C:
+/* 802B9F9C 002B5BFC 38 00 00 00 */ li r0, 0
+lbl_802B9FA0:
+/* 802B9FA0 002B5C00 7C 85 02 14 */ add r4, r5, r0
+/* 802B9FA4 002B5C04 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802B9FA8 002B5C08 41 82 00 0C */ beq lbl_802B9FB4
+/* 802B9FAC 002B5C0C 38 00 00 01 */ li r0, 1
+/* 802B9FB0 002B5C10 48 00 00 20 */ b lbl_802B9FD0
+lbl_802B9FB4:
+/* 802B9FB4 002B5C14 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha
+/* 802B9FB8 002B5C18 80 84 00 00 */ lwz r4, 0(r4)
+/* 802B9FBC 002B5C1C 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l
+/* 802B9FC0 002B5C20 7C 64 00 50 */ subf r3, r4, r0
+/* 802B9FC4 002B5C24 7C 00 20 50 */ subf r0, r0, r4
+/* 802B9FC8 002B5C28 7C 60 03 78 */ or r0, r3, r0
+/* 802B9FCC 002B5C2C 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_802B9FD0:
+/* 802B9FD0 002B5C30 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802B9FD4 002B5C34 41 82 00 1C */ beq lbl_802B9FF0
+/* 802B9FD8 002B5C38 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802B9FDC 002B5C3C 38 86 00 80 */ addi r4, r6, 0x80
+/* 802B9FE0 002B5C40 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802B9FE4 002B5C44 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9FE8 002B5C48 48 00 11 DD */ bl GKI_exception
+/* 802B9FEC 002B5C4C 48 00 00 98 */ b lbl_802BA084
+lbl_802B9FF0:
+/* 802B9FF0 002B5C50 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802B9FF4 002B5C54 28 00 00 01 */ cmplwi r0, 1
+/* 802B9FF8 002B5C58 41 82 00 1C */ beq lbl_802BA014
+/* 802B9FFC 002B5C5C 3C 60 00 01 */ lis r3, 0x0000FFFA@ha
+/* 802BA000 002B5C60 38 86 00 98 */ addi r4, r6, 0x98
+/* 802BA004 002B5C64 38 03 FF FA */ addi r0, r3, 0x0000FFFA@l
+/* 802BA008 002B5C68 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA00C 002B5C6C 48 00 11 B9 */ bl GKI_exception
+/* 802BA010 002B5C70 48 00 00 74 */ b lbl_802BA084
+lbl_802BA014:
+/* 802BA014 002B5C74 48 00 11 6D */ bl GKI_disable
+/* 802BA018 002B5C78 57 84 25 36 */ rlwinm r4, r28, 4, 0x14, 0x1b
+/* 802BA01C 002B5C7C 3C 1E 00 03 */ addis r0, r30, 3
+/* 802BA020 002B5C80 57 A5 15 BA */ rlwinm r5, r29, 2, 0x16, 0x1d
+/* 802BA024 002B5C84 7C 00 22 14 */ add r0, r0, r4
+/* 802BA028 002B5C88 7C 60 2A 14 */ add r3, r0, r5
+/* 802BA02C 002B5C8C 80 03 88 8C */ lwz r0, -0x7774(r3)
+/* 802BA030 002B5C90 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA034 002B5C94 41 82 00 10 */ beq lbl_802BA044
+/* 802BA038 002B5C98 80 63 89 0C */ lwz r3, -0x76f4(r3)
+/* 802BA03C 002B5C9C 93 E3 00 00 */ stw r31, 0(r3)
+/* 802BA040 002B5CA0 48 00 00 08 */ b lbl_802BA048
+lbl_802BA044:
+/* 802BA044 002B5CA4 93 E3 88 8C */ stw r31, -0x7774(r3)
+lbl_802BA048:
+/* 802BA048 002B5CA8 3C 1E 00 03 */ addis r0, r30, 3
+/* 802BA04C 002B5CAC 38 60 00 00 */ li r3, 0
+/* 802BA050 002B5CB0 7C 80 22 14 */ add r4, r0, r4
+/* 802BA054 002B5CB4 7C 84 2A 14 */ add r4, r4, r5
+/* 802BA058 002B5CB8 38 00 00 02 */ li r0, 2
+/* 802BA05C 002B5CBC 93 E4 89 0C */ stw r31, -0x76f4(r4)
+/* 802BA060 002B5CC0 90 7F 00 00 */ stw r3, 0(r31)
+/* 802BA064 002B5CC4 98 1F 00 06 */ stb r0, 6(r31)
+/* 802BA068 002B5CC8 9B 9F 00 05 */ stb r28, 5(r31)
+/* 802BA06C 002B5CCC 48 00 10 F1 */ bl GKI_enable
+/* 802BA070 002B5CD0 38 00 00 01 */ li r0, 1
+/* 802BA074 002B5CD4 7F 83 E3 78 */ mr r3, r28
+/* 802BA078 002B5CD8 7C 00 E8 30 */ slw r0, r0, r29
+/* 802BA07C 002B5CDC 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802BA080 002B5CE0 48 00 10 31 */ bl GKI_send_event
+lbl_802BA084:
+/* 802BA084 002B5CE4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA088 002B5CE8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BA08C 002B5CEC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BA090 002B5CF0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BA094 002B5CF4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802BA098 002B5CF8 7C 08 03 A6 */ mtlr r0
+/* 802BA09C 002B5CFC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA0A0 002B5D00 4E 80 00 20 */ blr
+
+.global GKI_read_mbox
+GKI_read_mbox:
+/* 802BA0A4 002B5D04 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA0A8 002B5D08 7C 08 02 A6 */ mflr r0
+/* 802BA0AC 002B5D0C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA0B0 002B5D10 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BA0B4 002B5D14 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BA0B8 002B5D18 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BA0BC 002B5D1C 7C 7D 1B 78 */ mr r29, r3
+/* 802BA0C0 002B5D20 48 00 10 95 */ bl GKI_get_taskid
+/* 802BA0C4 002B5D24 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802BA0C8 002B5D28 7C 7F 1B 78 */ mr r31, r3
+/* 802BA0CC 002B5D2C 28 00 00 08 */ cmplwi r0, 8
+/* 802BA0D0 002B5D30 3B C0 00 00 */ li r30, 0
+/* 802BA0D4 002B5D34 40 80 00 0C */ bge lbl_802BA0E0
+/* 802BA0D8 002B5D38 28 1D 00 04 */ cmplwi r29, 4
+/* 802BA0DC 002B5D3C 41 80 00 0C */ blt lbl_802BA0E8
+lbl_802BA0E0:
+/* 802BA0E0 002B5D40 38 60 00 00 */ li r3, 0
+/* 802BA0E4 002B5D44 48 00 00 54 */ b lbl_802BA138
+lbl_802BA0E8:
+/* 802BA0E8 002B5D48 48 00 10 99 */ bl GKI_disable
+/* 802BA0EC 002B5D4C 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA0F0 002B5D50 57 E4 25 36 */ rlwinm r4, r31, 4, 0x14, 0x1b
+/* 802BA0F4 002B5D54 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA0F8 002B5D58 57 A6 15 BA */ rlwinm r6, r29, 2, 0x16, 0x1d
+/* 802BA0FC 002B5D5C 3C 03 00 03 */ addis r0, r3, 3
+/* 802BA100 002B5D60 7C 60 22 14 */ add r3, r0, r4
+/* 802BA104 002B5D64 38 E3 88 E0 */ addi r7, r3, -30496
+/* 802BA108 002B5D68 7C A7 30 2E */ lwzx r5, r7, r6
+/* 802BA10C 002B5D6C 2C 05 00 00 */ cmpwi r5, 0
+/* 802BA110 002B5D70 41 82 00 20 */ beq lbl_802BA130
+/* 802BA114 002B5D74 80 85 00 00 */ lwz r4, 0(r5)
+/* 802BA118 002B5D78 38 60 00 00 */ li r3, 0
+/* 802BA11C 002B5D7C 38 00 00 01 */ li r0, 1
+/* 802BA120 002B5D80 3B C5 00 08 */ addi r30, r5, 8
+/* 802BA124 002B5D84 7C 87 31 2E */ stwx r4, r7, r6
+/* 802BA128 002B5D88 90 65 00 00 */ stw r3, 0(r5)
+/* 802BA12C 002B5D8C 98 05 00 06 */ stb r0, 6(r5)
+lbl_802BA130:
+/* 802BA130 002B5D90 48 00 10 2D */ bl GKI_enable
+/* 802BA134 002B5D94 7F C3 F3 78 */ mr r3, r30
+lbl_802BA138:
+/* 802BA138 002B5D98 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA13C 002B5D9C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BA140 002B5DA0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BA144 002B5DA4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BA148 002B5DA8 7C 08 03 A6 */ mtlr r0
+/* 802BA14C 002B5DAC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA150 002B5DB0 4E 80 00 20 */ blr
+
+.global GKI_enqueue
+GKI_enqueue:
+/* 802BA154 002B5DB4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA158 002B5DB8 7C 08 02 A6 */ mflr r0
+/* 802BA15C 002B5DBC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA160 002B5DC0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BA164 002B5DC4 3B E4 FF F8 */ addi r31, r4, -8
+/* 802BA168 002B5DC8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802BA16C 002B5DCC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BA170 002B5DD0 7C 9E 23 78 */ mr r30, r4
+/* 802BA174 002B5DD4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BA178 002B5DD8 7C 7D 1B 78 */ mr r29, r3
+/* 802BA17C 002B5DDC 41 82 00 0C */ beq lbl_802BA188
+/* 802BA180 002B5DE0 38 00 00 00 */ li r0, 0
+/* 802BA184 002B5DE4 48 00 00 30 */ b lbl_802BA1B4
+lbl_802BA188:
+/* 802BA188 002B5DE8 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802BA18C 002B5DEC 28 00 00 09 */ cmplwi r0, 9
+/* 802BA190 002B5DF0 40 80 00 20 */ bge lbl_802BA1B0
+/* 802BA194 002B5DF4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA198 002B5DF8 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802BA19C 002B5DFC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA1A0 002B5E00 3C 63 00 03 */ addis r3, r3, 3
+/* 802BA1A4 002B5E04 7C 63 02 14 */ add r3, r3, r0
+/* 802BA1A8 002B5E08 A0 03 89 E8 */ lhz r0, -0x7618(r3)
+/* 802BA1AC 002B5E0C 48 00 00 08 */ b lbl_802BA1B4
+lbl_802BA1B0:
+/* 802BA1B0 002B5E10 38 00 00 00 */ li r0, 0
+lbl_802BA1B4:
+/* 802BA1B4 002B5E14 7C 84 02 14 */ add r4, r4, r0
+/* 802BA1B8 002B5E18 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802BA1BC 002B5E1C 41 82 00 0C */ beq lbl_802BA1C8
+/* 802BA1C0 002B5E20 38 00 00 01 */ li r0, 1
+/* 802BA1C4 002B5E24 48 00 00 20 */ b lbl_802BA1E4
+lbl_802BA1C8:
+/* 802BA1C8 002B5E28 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha
+/* 802BA1CC 002B5E2C 80 84 00 00 */ lwz r4, 0(r4)
+/* 802BA1D0 002B5E30 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l
+/* 802BA1D4 002B5E34 7C 64 00 50 */ subf r3, r4, r0
+/* 802BA1D8 002B5E38 7C 00 20 50 */ subf r0, r0, r4
+/* 802BA1DC 002B5E3C 7C 60 03 78 */ or r0, r3, r0
+/* 802BA1E0 002B5E40 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_802BA1E4:
+/* 802BA1E4 002B5E44 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802BA1E8 002B5E48 41 82 00 20 */ beq lbl_802BA208
+/* 802BA1EC 002B5E4C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802BA1F0 002B5E50 3C 80 80 44 */ lis r4, lbl_8043F1E0@ha
+/* 802BA1F4 002B5E54 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802BA1F8 002B5E58 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA1FC 002B5E5C 38 84 F1 E0 */ addi r4, r4, lbl_8043F1E0@l
+/* 802BA200 002B5E60 48 00 0F C5 */ bl GKI_exception
+/* 802BA204 002B5E64 48 00 00 70 */ b lbl_802BA274
+lbl_802BA208:
+/* 802BA208 002B5E68 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802BA20C 002B5E6C 28 00 00 01 */ cmplwi r0, 1
+/* 802BA210 002B5E70 41 82 00 20 */ beq lbl_802BA230
+/* 802BA214 002B5E74 3C 60 00 01 */ lis r3, 0x0000FFF9@ha
+/* 802BA218 002B5E78 3C 80 80 44 */ lis r4, lbl_8043F1FC@ha
+/* 802BA21C 002B5E7C 38 03 FF F9 */ addi r0, r3, 0x0000FFF9@l
+/* 802BA220 002B5E80 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA224 002B5E84 38 84 F1 FC */ addi r4, r4, lbl_8043F1FC@l
+/* 802BA228 002B5E88 48 00 0F 9D */ bl GKI_exception
+/* 802BA22C 002B5E8C 48 00 00 48 */ b lbl_802BA274
+lbl_802BA230:
+/* 802BA230 002B5E90 48 00 0F 51 */ bl GKI_disable
+/* 802BA234 002B5E94 80 1D 00 00 */ lwz r0, 0(r29)
+/* 802BA238 002B5E98 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA23C 002B5E9C 41 82 00 10 */ beq lbl_802BA24C
+/* 802BA240 002B5EA0 80 7D 00 04 */ lwz r3, 4(r29)
+/* 802BA244 002B5EA4 93 E3 FF F8 */ stw r31, -8(r3)
+/* 802BA248 002B5EA8 48 00 00 08 */ b lbl_802BA250
+lbl_802BA24C:
+/* 802BA24C 002B5EAC 93 DD 00 00 */ stw r30, 0(r29)
+lbl_802BA250:
+/* 802BA250 002B5EB0 A0 9D 00 08 */ lhz r4, 8(r29)
+/* 802BA254 002B5EB4 38 60 00 00 */ li r3, 0
+/* 802BA258 002B5EB8 93 DD 00 04 */ stw r30, 4(r29)
+/* 802BA25C 002B5EBC 38 00 00 02 */ li r0, 2
+/* 802BA260 002B5EC0 38 84 00 01 */ addi r4, r4, 1
+/* 802BA264 002B5EC4 B0 9D 00 08 */ sth r4, 8(r29)
+/* 802BA268 002B5EC8 90 7F 00 00 */ stw r3, 0(r31)
+/* 802BA26C 002B5ECC 98 1F 00 06 */ stb r0, 6(r31)
+/* 802BA270 002B5ED0 48 00 0E ED */ bl GKI_enable
+lbl_802BA274:
+/* 802BA274 002B5ED4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA278 002B5ED8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BA27C 002B5EDC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BA280 002B5EE0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BA284 002B5EE4 7C 08 03 A6 */ mtlr r0
+/* 802BA288 002B5EE8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA28C 002B5EEC 4E 80 00 20 */ blr
+
+.global GKI_enqueue_head
+GKI_enqueue_head:
+/* 802BA290 002B5EF0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA294 002B5EF4 7C 08 02 A6 */ mflr r0
+/* 802BA298 002B5EF8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA29C 002B5EFC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BA2A0 002B5F00 3B E4 FF F8 */ addi r31, r4, -8
+/* 802BA2A4 002B5F04 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802BA2A8 002B5F08 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BA2AC 002B5F0C 7C 9E 23 78 */ mr r30, r4
+/* 802BA2B0 002B5F10 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BA2B4 002B5F14 7C 7D 1B 78 */ mr r29, r3
+/* 802BA2B8 002B5F18 41 82 00 0C */ beq lbl_802BA2C4
+/* 802BA2BC 002B5F1C 38 00 00 00 */ li r0, 0
+/* 802BA2C0 002B5F20 48 00 00 30 */ b lbl_802BA2F0
+lbl_802BA2C4:
+/* 802BA2C4 002B5F24 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802BA2C8 002B5F28 28 00 00 09 */ cmplwi r0, 9
+/* 802BA2CC 002B5F2C 40 80 00 20 */ bge lbl_802BA2EC
+/* 802BA2D0 002B5F30 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA2D4 002B5F34 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802BA2D8 002B5F38 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA2DC 002B5F3C 3C 63 00 03 */ addis r3, r3, 3
+/* 802BA2E0 002B5F40 7C 63 02 14 */ add r3, r3, r0
+/* 802BA2E4 002B5F44 A0 03 89 E8 */ lhz r0, -0x7618(r3)
+/* 802BA2E8 002B5F48 48 00 00 08 */ b lbl_802BA2F0
+lbl_802BA2EC:
+/* 802BA2EC 002B5F4C 38 00 00 00 */ li r0, 0
+lbl_802BA2F0:
+/* 802BA2F0 002B5F50 7C 84 02 14 */ add r4, r4, r0
+/* 802BA2F4 002B5F54 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802BA2F8 002B5F58 41 82 00 0C */ beq lbl_802BA304
+/* 802BA2FC 002B5F5C 38 00 00 01 */ li r0, 1
+/* 802BA300 002B5F60 48 00 00 20 */ b lbl_802BA320
+lbl_802BA304:
+/* 802BA304 002B5F64 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha
+/* 802BA308 002B5F68 80 84 00 00 */ lwz r4, 0(r4)
+/* 802BA30C 002B5F6C 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l
+/* 802BA310 002B5F70 7C 64 00 50 */ subf r3, r4, r0
+/* 802BA314 002B5F74 7C 00 20 50 */ subf r0, r0, r4
+/* 802BA318 002B5F78 7C 60 03 78 */ or r0, r3, r0
+/* 802BA31C 002B5F7C 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_802BA320:
+/* 802BA320 002B5F80 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802BA324 002B5F84 41 82 00 20 */ beq lbl_802BA344
+/* 802BA328 002B5F88 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802BA32C 002B5F8C 3C 80 80 44 */ lis r4, lbl_8043F1E0@ha
+/* 802BA330 002B5F90 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802BA334 002B5F94 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA338 002B5F98 38 84 F1 E0 */ addi r4, r4, lbl_8043F1E0@l
+/* 802BA33C 002B5F9C 48 00 0E 89 */ bl GKI_exception
+/* 802BA340 002B5FA0 48 00 00 74 */ b lbl_802BA3B4
+lbl_802BA344:
+/* 802BA344 002B5FA4 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802BA348 002B5FA8 28 00 00 01 */ cmplwi r0, 1
+/* 802BA34C 002B5FAC 41 82 00 20 */ beq lbl_802BA36C
+/* 802BA350 002B5FB0 3C 60 00 01 */ lis r3, 0x0000FFF9@ha
+/* 802BA354 002B5FB4 3C 80 80 44 */ lis r4, lbl_8043F21C@ha
+/* 802BA358 002B5FB8 38 03 FF F9 */ addi r0, r3, 0x0000FFF9@l
+/* 802BA35C 002B5FBC 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA360 002B5FC0 38 84 F2 1C */ addi r4, r4, lbl_8043F21C@l
+/* 802BA364 002B5FC4 48 00 0E 61 */ bl GKI_exception
+/* 802BA368 002B5FC8 48 00 00 4C */ b lbl_802BA3B4
+lbl_802BA36C:
+/* 802BA36C 002B5FCC 48 00 0E 15 */ bl GKI_disable
+/* 802BA370 002B5FD0 80 7D 00 00 */ lwz r3, 0(r29)
+/* 802BA374 002B5FD4 2C 03 00 00 */ cmpwi r3, 0
+/* 802BA378 002B5FD8 41 82 00 14 */ beq lbl_802BA38C
+/* 802BA37C 002B5FDC 38 03 FF F8 */ addi r0, r3, -8
+/* 802BA380 002B5FE0 90 1F 00 00 */ stw r0, 0(r31)
+/* 802BA384 002B5FE4 93 DD 00 00 */ stw r30, 0(r29)
+/* 802BA388 002B5FE8 48 00 00 14 */ b lbl_802BA39C
+lbl_802BA38C:
+/* 802BA38C 002B5FEC 93 DD 00 00 */ stw r30, 0(r29)
+/* 802BA390 002B5FF0 38 00 00 00 */ li r0, 0
+/* 802BA394 002B5FF4 93 DD 00 04 */ stw r30, 4(r29)
+/* 802BA398 002B5FF8 90 1F 00 00 */ stw r0, 0(r31)
+lbl_802BA39C:
+/* 802BA39C 002B5FFC A0 7D 00 08 */ lhz r3, 8(r29)
+/* 802BA3A0 002B6000 38 00 00 02 */ li r0, 2
+/* 802BA3A4 002B6004 38 63 00 01 */ addi r3, r3, 1
+/* 802BA3A8 002B6008 B0 7D 00 08 */ sth r3, 8(r29)
+/* 802BA3AC 002B600C 98 1F 00 06 */ stb r0, 6(r31)
+/* 802BA3B0 002B6010 48 00 0D AD */ bl GKI_enable
+lbl_802BA3B4:
+/* 802BA3B4 002B6014 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA3B8 002B6018 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BA3BC 002B601C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BA3C0 002B6020 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BA3C4 002B6024 7C 08 03 A6 */ mtlr r0
+/* 802BA3C8 002B6028 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA3CC 002B602C 4E 80 00 20 */ blr
+
+.global GKI_dequeue
+GKI_dequeue:
+/* 802BA3D0 002B6030 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BA3D4 002B6034 7C 08 02 A6 */ mflr r0
+/* 802BA3D8 002B6038 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BA3DC 002B603C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BA3E0 002B6040 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BA3E4 002B6044 7C 7E 1B 78 */ mr r30, r3
+/* 802BA3E8 002B6048 48 00 0D 99 */ bl GKI_disable
+/* 802BA3EC 002B604C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802BA3F0 002B6050 41 82 00 10 */ beq lbl_802BA400
+/* 802BA3F4 002B6054 A0 1E 00 08 */ lhz r0, 8(r30)
+/* 802BA3F8 002B6058 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA3FC 002B605C 40 82 00 10 */ bne lbl_802BA40C
+lbl_802BA400:
+/* 802BA400 002B6060 48 00 0D 5D */ bl GKI_enable
+/* 802BA404 002B6064 38 60 00 00 */ li r3, 0
+/* 802BA408 002B6068 48 00 00 50 */ b lbl_802BA458
+lbl_802BA40C:
+/* 802BA40C 002B606C 83 FE 00 00 */ lwz r31, 0(r30)
+/* 802BA410 002B6070 80 7F FF F8 */ lwz r3, -8(r31)
+/* 802BA414 002B6074 2C 03 00 00 */ cmpwi r3, 0
+/* 802BA418 002B6078 41 82 00 10 */ beq lbl_802BA428
+/* 802BA41C 002B607C 38 03 00 08 */ addi r0, r3, 8
+/* 802BA420 002B6080 90 1E 00 00 */ stw r0, 0(r30)
+/* 802BA424 002B6084 48 00 00 10 */ b lbl_802BA434
+lbl_802BA428:
+/* 802BA428 002B6088 38 00 00 00 */ li r0, 0
+/* 802BA42C 002B608C 90 1E 00 00 */ stw r0, 0(r30)
+/* 802BA430 002B6090 90 1E 00 04 */ stw r0, 4(r30)
+lbl_802BA434:
+/* 802BA434 002B6094 A0 9E 00 08 */ lhz r4, 8(r30)
+/* 802BA438 002B6098 38 60 00 00 */ li r3, 0
+/* 802BA43C 002B609C 38 00 00 01 */ li r0, 1
+/* 802BA440 002B60A0 38 84 FF FF */ addi r4, r4, -1
+/* 802BA444 002B60A4 B0 9E 00 08 */ sth r4, 8(r30)
+/* 802BA448 002B60A8 90 7F FF F8 */ stw r3, -8(r31)
+/* 802BA44C 002B60AC 98 1F FF FE */ stb r0, -2(r31)
+/* 802BA450 002B60B0 48 00 0D 0D */ bl GKI_enable
+/* 802BA454 002B60B4 7F E3 FB 78 */ mr r3, r31
+lbl_802BA458:
+/* 802BA458 002B60B8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BA45C 002B60BC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BA460 002B60C0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BA464 002B60C4 7C 08 03 A6 */ mtlr r0
+/* 802BA468 002B60C8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BA46C 002B60CC 4E 80 00 20 */ blr
+
+.global GKI_remove_from_queue
+GKI_remove_from_queue:
+/* 802BA470 002B60D0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BA474 002B60D4 7C 08 02 A6 */ mflr r0
+/* 802BA478 002B60D8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BA47C 002B60DC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BA480 002B60E0 7C 9F 23 78 */ mr r31, r4
+/* 802BA484 002B60E4 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BA488 002B60E8 7C 7E 1B 78 */ mr r30, r3
+/* 802BA48C 002B60EC 48 00 0C F5 */ bl GKI_disable
+/* 802BA490 002B60F0 80 7E 00 00 */ lwz r3, 0(r30)
+/* 802BA494 002B60F4 7C 1F 18 40 */ cmplw r31, r3
+/* 802BA498 002B60F8 40 82 00 14 */ bne lbl_802BA4AC
+/* 802BA49C 002B60FC 48 00 0C C1 */ bl GKI_enable
+/* 802BA4A0 002B6100 7F C3 F3 78 */ mr r3, r30
+/* 802BA4A4 002B6104 4B FF FF 2D */ bl GKI_dequeue
+/* 802BA4A8 002B6108 48 00 00 74 */ b lbl_802BA51C
+lbl_802BA4AC:
+/* 802BA4AC 002B610C 38 BF FF F8 */ addi r5, r31, -8
+/* 802BA4B0 002B6110 38 63 FF F8 */ addi r3, r3, -8
+/* 802BA4B4 002B6114 48 00 00 58 */ b lbl_802BA50C
+lbl_802BA4B8:
+/* 802BA4B8 002B6118 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BA4BC 002B611C 7C 00 28 40 */ cmplw r0, r5
+/* 802BA4C0 002B6120 40 82 00 48 */ bne lbl_802BA508
+/* 802BA4C4 002B6124 80 05 00 00 */ lwz r0, 0(r5)
+/* 802BA4C8 002B6128 90 03 00 00 */ stw r0, 0(r3)
+/* 802BA4CC 002B612C 80 1E 00 04 */ lwz r0, 4(r30)
+/* 802BA4D0 002B6130 7C 1F 00 40 */ cmplw r31, r0
+/* 802BA4D4 002B6134 40 82 00 0C */ bne lbl_802BA4E0
+/* 802BA4D8 002B6138 38 03 00 08 */ addi r0, r3, 8
+/* 802BA4DC 002B613C 90 1E 00 04 */ stw r0, 4(r30)
+lbl_802BA4E0:
+/* 802BA4E0 002B6140 A0 9E 00 08 */ lhz r4, 8(r30)
+/* 802BA4E4 002B6144 38 60 00 00 */ li r3, 0
+/* 802BA4E8 002B6148 38 00 00 01 */ li r0, 1
+/* 802BA4EC 002B614C 38 84 FF FF */ addi r4, r4, -1
+/* 802BA4F0 002B6150 B0 9E 00 08 */ sth r4, 8(r30)
+/* 802BA4F4 002B6154 90 65 00 00 */ stw r3, 0(r5)
+/* 802BA4F8 002B6158 98 05 00 06 */ stb r0, 6(r5)
+/* 802BA4FC 002B615C 48 00 0C 61 */ bl GKI_enable
+/* 802BA500 002B6160 7F E3 FB 78 */ mr r3, r31
+/* 802BA504 002B6164 48 00 00 18 */ b lbl_802BA51C
+lbl_802BA508:
+/* 802BA508 002B6168 7C 03 03 78 */ mr r3, r0
+lbl_802BA50C:
+/* 802BA50C 002B616C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BA510 002B6170 40 82 FF A8 */ bne lbl_802BA4B8
+/* 802BA514 002B6174 48 00 0C 49 */ bl GKI_enable
+/* 802BA518 002B6178 38 60 00 00 */ li r3, 0
+lbl_802BA51C:
+/* 802BA51C 002B617C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BA520 002B6180 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BA524 002B6184 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BA528 002B6188 7C 08 03 A6 */ mtlr r0
+/* 802BA52C 002B618C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BA530 002B6190 4E 80 00 20 */ blr
+
+.global GKI_getfirst
+GKI_getfirst:
+/* 802BA534 002B6194 80 63 00 00 */ lwz r3, 0(r3)
+/* 802BA538 002B6198 4E 80 00 20 */ blr
+
+.global GKI_getnext
+GKI_getnext:
+/* 802BA53C 002B619C 80 63 FF F8 */ lwz r3, -8(r3)
+/* 802BA540 002B61A0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BA544 002B61A4 41 82 00 0C */ beq lbl_802BA550
+/* 802BA548 002B61A8 38 63 00 08 */ addi r3, r3, 8
+/* 802BA54C 002B61AC 4E 80 00 20 */ blr
+lbl_802BA550:
+/* 802BA550 002B61B0 38 60 00 00 */ li r3, 0
+/* 802BA554 002B61B4 4E 80 00 20 */ blr
+
+.global GKI_queue_is_empty
+GKI_queue_is_empty:
+/* 802BA558 002B61B8 A0 03 00 08 */ lhz r0, 8(r3)
+/* 802BA55C 002B61BC 7C 00 00 34 */ cntlzw r0, r0
+/* 802BA560 002B61C0 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802BA564 002B61C4 4E 80 00 20 */ blr
+
+.global GKI_create_pool
+GKI_create_pool:
+/* 802BA568 002B61C8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA56C 002B61CC 7C 08 02 A6 */ mflr r0
+/* 802BA570 002B61D0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA574 002B61D4 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BA578 002B61D8 4B F0 CB B1 */ bl _savegpr_27
+/* 802BA57C 002B61DC 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha
+/* 802BA580 002B61E0 28 03 FF F3 */ cmplwi r3, 0xfff3
+/* 802BA584 002B61E4 38 E7 C2 C0 */ addi r7, r7, lbl_8053C2C0@l
+/* 802BA588 002B61E8 7C 7B 1B 78 */ mr r27, r3
+/* 802BA58C 002B61EC 7C 9C 23 78 */ mr r28, r4
+/* 802BA590 002B61F0 7C BD 2B 78 */ mr r29, r5
+/* 802BA594 002B61F4 3B C7 00 54 */ addi r30, r7, 0x54
+/* 802BA598 002B61F8 40 81 00 0C */ ble lbl_802BA5A4
+/* 802BA59C 002B61FC 38 60 00 FF */ li r3, 0xff
+/* 802BA5A0 002B6200 48 00 02 F8 */ b lbl_802BA898
+lbl_802BA5A4:
+/* 802BA5A4 002B6204 38 00 00 03 */ li r0, 3
+/* 802BA5A8 002B6208 3B E0 00 00 */ li r31, 0
+/* 802BA5AC 002B620C 7C 09 03 A6 */ mtctr r0
+lbl_802BA5B0:
+/* 802BA5B0 002B6210 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d
+/* 802BA5B4 002B6214 3C A5 00 03 */ addis r5, r5, 3
+/* 802BA5B8 002B6218 38 05 8A 1C */ addi r0, r5, -30180
+/* 802BA5BC 002B621C 7C 1E 00 2E */ lwzx r0, r30, r0
+/* 802BA5C0 002B6220 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA5C4 002B6224 41 82 00 44 */ beq lbl_802BA608
+/* 802BA5C8 002B6228 3B FF 00 01 */ addi r31, r31, 1
+/* 802BA5CC 002B622C 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d
+/* 802BA5D0 002B6230 3C A5 00 03 */ addis r5, r5, 3
+/* 802BA5D4 002B6234 38 05 8A 1C */ addi r0, r5, -30180
+/* 802BA5D8 002B6238 7C 1E 00 2E */ lwzx r0, r30, r0
+/* 802BA5DC 002B623C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA5E0 002B6240 41 82 00 28 */ beq lbl_802BA608
+/* 802BA5E4 002B6244 3B FF 00 01 */ addi r31, r31, 1
+/* 802BA5E8 002B6248 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d
+/* 802BA5EC 002B624C 3C A5 00 03 */ addis r5, r5, 3
+/* 802BA5F0 002B6250 38 05 8A 1C */ addi r0, r5, -30180
+/* 802BA5F4 002B6254 7C 1E 00 2E */ lwzx r0, r30, r0
+/* 802BA5F8 002B6258 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA5FC 002B625C 41 82 00 0C */ beq lbl_802BA608
+/* 802BA600 002B6260 3B FF 00 01 */ addi r31, r31, 1
+/* 802BA604 002B6264 42 00 FF AC */ bdnz lbl_802BA5B0
+lbl_802BA608:
+/* 802BA608 002B6268 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802BA60C 002B626C 28 00 00 09 */ cmplwi r0, 9
+/* 802BA610 002B6270 40 82 00 0C */ bne lbl_802BA61C
+/* 802BA614 002B6274 38 60 00 FF */ li r3, 0xff
+/* 802BA618 002B6278 48 00 02 80 */ b lbl_802BA898
+lbl_802BA61C:
+/* 802BA61C 002B627C 38 03 00 03 */ addi r0, r3, 3
+/* 802BA620 002B6280 2C 06 00 00 */ cmpwi r6, 0
+/* 802BA624 002B6284 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d
+/* 802BA628 002B6288 38 03 00 0C */ addi r0, r3, 0xc
+/* 802BA62C 002B628C 7C 60 21 D6 */ mullw r3, r0, r4
+/* 802BA630 002B6290 40 82 00 0C */ bne lbl_802BA63C
+/* 802BA634 002B6294 48 00 0B 95 */ bl GKI_os_malloc
+/* 802BA638 002B6298 7C 66 1B 78 */ mr r6, r3
+lbl_802BA63C:
+/* 802BA63C 002B629C 2C 06 00 00 */ cmpwi r6, 0
+/* 802BA640 002B62A0 41 82 02 54 */ beq lbl_802BA894
+/* 802BA644 002B62A4 7F 64 DB 78 */ mr r4, r27
+/* 802BA648 002B62A8 7F 85 E3 78 */ mr r5, r28
+/* 802BA64C 002B62AC 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802BA650 002B62B0 4B FF EF 7D */ bl gki_init_free_queue
+/* 802BA654 002B62B4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA658 002B62B8 57 E5 25 36 */ rlwinm r5, r31, 4, 0x14, 0x1b
+/* 802BA65C 002B62BC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA660 002B62C0 38 80 00 00 */ li r4, 0
+/* 802BA664 002B62C4 38 63 00 54 */ addi r3, r3, 0x54
+/* 802BA668 002B62C8 3C C5 00 03 */ addis r6, r5, 3
+/* 802BA66C 002B62CC 3C A3 00 03 */ addis r5, r3, 3
+/* 802BA670 002B62D0 88 A5 8A 87 */ lbz r5, -0x7579(r5)
+/* 802BA674 002B62D4 38 06 89 94 */ addi r0, r6, -30316
+/* 802BA678 002B62D8 7C E3 02 2E */ lhzx r7, r3, r0
+/* 802BA67C 002B62DC 7C A9 03 A6 */ mtctr r5
+/* 802BA680 002B62E0 2C 05 00 00 */ cmpwi r5, 0
+/* 802BA684 002B62E4 40 81 00 30 */ ble lbl_802BA6B4
+lbl_802BA688:
+/* 802BA688 002B62E8 3C C4 00 03 */ addis r6, r4, 3
+/* 802BA68C 002B62EC 38 06 8A 7E */ addi r0, r6, -30082
+/* 802BA690 002B62F0 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802BA694 002B62F4 54 06 20 36 */ slwi r6, r0, 4
+/* 802BA698 002B62F8 3C C6 00 03 */ addis r6, r6, 3
+/* 802BA69C 002B62FC 38 06 89 94 */ addi r0, r6, -30316
+/* 802BA6A0 002B6300 7C 03 02 2E */ lhzx r0, r3, r0
+/* 802BA6A4 002B6304 7C 07 00 40 */ cmplw r7, r0
+/* 802BA6A8 002B6308 40 81 00 0C */ ble lbl_802BA6B4
+/* 802BA6AC 002B630C 38 84 00 01 */ addi r4, r4, 1
+/* 802BA6B0 002B6310 42 00 FF D8 */ bdnz lbl_802BA688
+lbl_802BA6B4:
+/* 802BA6B4 002B6314 7C 05 20 00 */ cmpw r5, r4
+/* 802BA6B8 002B6318 40 81 01 64 */ ble lbl_802BA81C
+/* 802BA6BC 002B631C 7C 04 28 50 */ subf r0, r4, r5
+/* 802BA6C0 002B6320 39 04 00 08 */ addi r8, r4, 8
+/* 802BA6C4 002B6324 2C 00 00 08 */ cmpwi r0, 8
+/* 802BA6C8 002B6328 40 81 01 2C */ ble lbl_802BA7F4
+/* 802BA6CC 002B632C 3C C3 00 03 */ addis r6, r3, 3
+/* 802BA6D0 002B6330 39 20 00 00 */ li r9, 0
+/* 802BA6D4 002B6334 88 06 8A 87 */ lbz r0, -0x7579(r6)
+/* 802BA6D8 002B6338 39 40 00 00 */ li r10, 0
+/* 802BA6DC 002B633C 39 60 00 00 */ li r11, 0
+/* 802BA6E0 002B6340 38 E0 00 00 */ li r7, 0
+/* 802BA6E4 002B6344 7C 00 20 00 */ cmpw r0, r4
+/* 802BA6E8 002B6348 41 80 00 18 */ blt lbl_802BA700
+/* 802BA6EC 002B634C 3C C0 80 00 */ lis r6, 0x80000001@ha
+/* 802BA6F0 002B6350 38 06 00 01 */ addi r0, r6, 0x80000001@l
+/* 802BA6F4 002B6354 7C 04 00 00 */ cmpw r4, r0
+/* 802BA6F8 002B6358 41 80 00 08 */ blt lbl_802BA700
+/* 802BA6FC 002B635C 38 E0 00 01 */ li r7, 1
+lbl_802BA700:
+/* 802BA700 002B6360 2C 07 00 00 */ cmpwi r7, 0
+/* 802BA704 002B6364 41 82 00 20 */ beq lbl_802BA724
+/* 802BA708 002B6368 3C E3 00 03 */ addis r7, r3, 3
+/* 802BA70C 002B636C 3C C0 80 00 */ lis r6, 0x80000001@ha
+/* 802BA710 002B6370 88 E7 8A 87 */ lbz r7, -0x7579(r7)
+/* 802BA714 002B6374 38 06 00 01 */ addi r0, r6, 0x80000001@l
+/* 802BA718 002B6378 7C 07 00 00 */ cmpw r7, r0
+/* 802BA71C 002B637C 41 80 00 08 */ blt lbl_802BA724
+/* 802BA720 002B6380 39 60 00 01 */ li r11, 1
+lbl_802BA724:
+/* 802BA724 002B6384 2C 0B 00 00 */ cmpwi r11, 0
+/* 802BA728 002B6388 41 82 00 14 */ beq lbl_802BA73C
+/* 802BA72C 002B638C 3C 04 80 00 */ addis r0, r4, 0x8000
+/* 802BA730 002B6390 28 00 00 00 */ cmplwi r0, 0
+/* 802BA734 002B6394 41 82 00 08 */ beq lbl_802BA73C
+/* 802BA738 002B6398 39 40 00 01 */ li r10, 1
+lbl_802BA73C:
+/* 802BA73C 002B639C 2C 0A 00 00 */ cmpwi r10, 0
+/* 802BA740 002B63A0 41 82 00 44 */ beq lbl_802BA784
+/* 802BA744 002B63A4 3C C3 00 03 */ addis r6, r3, 3
+/* 802BA748 002B63A8 7C 04 00 D0 */ neg r0, r4
+/* 802BA74C 002B63AC 89 46 8A 87 */ lbz r10, -0x7579(r6)
+/* 802BA750 002B63B0 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
+/* 802BA754 002B63B4 38 C0 00 01 */ li r6, 1
+/* 802BA758 002B63B8 55 47 00 00 */ rlwinm r7, r10, 0, 0, 0
+/* 802BA75C 002B63BC 7C 07 00 00 */ cmpw r7, r0
+/* 802BA760 002B63C0 40 82 00 18 */ bne lbl_802BA778
+/* 802BA764 002B63C4 7C 04 50 50 */ subf r0, r4, r10
+/* 802BA768 002B63C8 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
+/* 802BA76C 002B63CC 7C 07 00 00 */ cmpw r7, r0
+/* 802BA770 002B63D0 41 82 00 08 */ beq lbl_802BA778
+/* 802BA774 002B63D4 38 C0 00 00 */ li r6, 0
+lbl_802BA778:
+/* 802BA778 002B63D8 2C 06 00 00 */ cmpwi r6, 0
+/* 802BA77C 002B63DC 41 82 00 08 */ beq lbl_802BA784
+/* 802BA780 002B63E0 39 20 00 01 */ li r9, 1
+lbl_802BA784:
+/* 802BA784 002B63E4 2C 09 00 00 */ cmpwi r9, 0
+/* 802BA788 002B63E8 41 82 00 6C */ beq lbl_802BA7F4
+/* 802BA78C 002B63EC 38 05 00 07 */ addi r0, r5, 7
+/* 802BA790 002B63F0 7C 08 00 50 */ subf r0, r8, r0
+/* 802BA794 002B63F4 54 00 E8 FE */ srwi r0, r0, 3
+/* 802BA798 002B63F8 7C 09 03 A6 */ mtctr r0
+/* 802BA79C 002B63FC 7C 05 40 00 */ cmpw r5, r8
+/* 802BA7A0 002B6400 40 81 00 54 */ ble lbl_802BA7F4
+lbl_802BA7A4:
+/* 802BA7A4 002B6404 7C C3 2A 14 */ add r6, r3, r5
+/* 802BA7A8 002B6408 38 A5 FF F8 */ addi r5, r5, -8
+/* 802BA7AC 002B640C 3C C6 00 03 */ addis r6, r6, 3
+/* 802BA7B0 002B6410 88 06 8A 7D */ lbz r0, -0x7583(r6)
+/* 802BA7B4 002B6414 98 06 8A 7E */ stb r0, -0x7582(r6)
+/* 802BA7B8 002B6418 88 06 8A 7C */ lbz r0, -0x7584(r6)
+/* 802BA7BC 002B641C 98 06 8A 7D */ stb r0, -0x7583(r6)
+/* 802BA7C0 002B6420 88 06 8A 7B */ lbz r0, -0x7585(r6)
+/* 802BA7C4 002B6424 98 06 8A 7C */ stb r0, -0x7584(r6)
+/* 802BA7C8 002B6428 88 06 8A 7A */ lbz r0, -0x7586(r6)
+/* 802BA7CC 002B642C 98 06 8A 7B */ stb r0, -0x7585(r6)
+/* 802BA7D0 002B6430 88 06 8A 79 */ lbz r0, -0x7587(r6)
+/* 802BA7D4 002B6434 98 06 8A 7A */ stb r0, -0x7586(r6)
+/* 802BA7D8 002B6438 88 06 8A 78 */ lbz r0, -0x7588(r6)
+/* 802BA7DC 002B643C 98 06 8A 79 */ stb r0, -0x7587(r6)
+/* 802BA7E0 002B6440 88 06 8A 77 */ lbz r0, -0x7589(r6)
+/* 802BA7E4 002B6444 98 06 8A 78 */ stb r0, -0x7588(r6)
+/* 802BA7E8 002B6448 88 06 8A 76 */ lbz r0, -0x758a(r6)
+/* 802BA7EC 002B644C 98 06 8A 77 */ stb r0, -0x7589(r6)
+/* 802BA7F0 002B6450 42 00 FF B4 */ bdnz lbl_802BA7A4
+lbl_802BA7F4:
+/* 802BA7F4 002B6454 7C 04 28 50 */ subf r0, r4, r5
+/* 802BA7F8 002B6458 7C 09 03 A6 */ mtctr r0
+/* 802BA7FC 002B645C 7C 05 20 00 */ cmpw r5, r4
+/* 802BA800 002B6460 40 81 00 1C */ ble lbl_802BA81C
+lbl_802BA804:
+/* 802BA804 002B6464 7C C3 2A 14 */ add r6, r3, r5
+/* 802BA808 002B6468 38 A5 FF FF */ addi r5, r5, -1
+/* 802BA80C 002B646C 3C C6 00 03 */ addis r6, r6, 3
+/* 802BA810 002B6470 88 06 8A 7D */ lbz r0, -0x7583(r6)
+/* 802BA814 002B6474 98 06 8A 7E */ stb r0, -0x7582(r6)
+/* 802BA818 002B6478 42 00 FF EC */ bdnz lbl_802BA804
+lbl_802BA81C:
+/* 802BA81C 002B647C 3C 03 00 03 */ addis r0, r3, 3
+/* 802BA820 002B6480 57 E5 06 3E */ clrlwi r5, r31, 0x18
+/* 802BA824 002B6484 7C 80 22 14 */ add r4, r0, r4
+/* 802BA828 002B6488 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA82C 002B648C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA830 002B6490 28 05 00 09 */ cmplwi r5, 9
+/* 802BA834 002B6494 9B E4 8A 7E */ stb r31, -0x7582(r4)
+/* 802BA838 002B6498 38 63 00 54 */ addi r3, r3, 0x54
+/* 802BA83C 002B649C 40 80 00 40 */ bge lbl_802BA87C
+/* 802BA840 002B64A0 28 1D 00 01 */ cmplwi r29, 1
+/* 802BA844 002B64A4 40 82 00 20 */ bne lbl_802BA864
+/* 802BA848 002B64A8 3C 83 00 03 */ addis r4, r3, 3
+/* 802BA84C 002B64AC 38 00 00 01 */ li r0, 1
+/* 802BA850 002B64B0 A0 64 8A 7C */ lhz r3, -0x7584(r4)
+/* 802BA854 002B64B4 7C 00 28 30 */ slw r0, r0, r5
+/* 802BA858 002B64B8 7C 60 03 78 */ or r0, r3, r0
+/* 802BA85C 002B64BC B0 04 8A 7C */ sth r0, -0x7584(r4)
+/* 802BA860 002B64C0 48 00 00 1C */ b lbl_802BA87C
+lbl_802BA864:
+/* 802BA864 002B64C4 3C 83 00 03 */ addis r4, r3, 3
+/* 802BA868 002B64C8 38 00 00 01 */ li r0, 1
+/* 802BA86C 002B64CC A0 64 8A 7C */ lhz r3, -0x7584(r4)
+/* 802BA870 002B64D0 7C 00 28 30 */ slw r0, r0, r5
+/* 802BA874 002B64D4 7C 60 00 78 */ andc r0, r3, r0
+/* 802BA878 002B64D8 B0 04 8A 7C */ sth r0, -0x7584(r4)
+lbl_802BA87C:
+/* 802BA87C 002B64DC 3C BE 00 03 */ addis r5, r30, 3
+/* 802BA880 002B64E0 7F E3 FB 78 */ mr r3, r31
+/* 802BA884 002B64E4 88 85 8A 87 */ lbz r4, -0x7579(r5)
+/* 802BA888 002B64E8 38 04 00 01 */ addi r0, r4, 1
+/* 802BA88C 002B64EC 98 05 8A 87 */ stb r0, -0x7579(r5)
+/* 802BA890 002B64F0 48 00 00 08 */ b lbl_802BA898
+lbl_802BA894:
+/* 802BA894 002B64F4 38 60 00 FF */ li r3, 0xff
+lbl_802BA898:
+/* 802BA898 002B64F8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BA89C 002B64FC 4B F0 C8 D9 */ bl _restgpr_27
+/* 802BA8A0 002B6500 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA8A4 002B6504 7C 08 03 A6 */ mtlr r0
+/* 802BA8A8 002B6508 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA8AC 002B650C 4E 80 00 20 */ blr
+
+.global GKI_delete_pool
+GKI_delete_pool:
+/* 802BA8B0 002B6510 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA8B4 002B6514 7C 08 02 A6 */ mflr r0
+/* 802BA8B8 002B6518 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA8BC 002B651C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BA8C0 002B6520 4B F0 C8 65 */ bl _savegpr_26
+/* 802BA8C4 002B6524 3F 60 80 54 */ lis r27, lbl_8053C2C0@ha
+/* 802BA8C8 002B6528 28 03 00 09 */ cmplwi r3, 9
+/* 802BA8CC 002B652C 3B 7B C2 C0 */ addi r27, r27, lbl_8053C2C0@l
+/* 802BA8D0 002B6530 7C 7E 1B 78 */ mr r30, r3
+/* 802BA8D4 002B6534 3B FB 00 54 */ addi r31, r27, 0x54
+/* 802BA8D8 002B6538 40 80 01 20 */ bge lbl_802BA9F8
+/* 802BA8DC 002B653C 54 7A 15 BA */ rlwinm r26, r3, 2, 0x16, 0x1d
+/* 802BA8E0 002B6540 3C 1F 00 03 */ addis r0, r31, 3
+/* 802BA8E4 002B6544 7C 60 D2 14 */ add r3, r0, r26
+/* 802BA8E8 002B6548 80 03 8A 1C */ lwz r0, -0x75e4(r3)
+/* 802BA8EC 002B654C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA8F0 002B6550 40 82 00 08 */ bne lbl_802BA8F8
+/* 802BA8F4 002B6554 48 00 01 04 */ b lbl_802BA9F8
+lbl_802BA8F8:
+/* 802BA8F8 002B6558 48 00 08 89 */ bl GKI_disable
+/* 802BA8FC 002B655C 3C 9F 00 03 */ addis r4, r31, 3
+/* 802BA900 002B6560 57 C0 25 36 */ rlwinm r0, r30, 4, 0x14, 0x1b
+/* 802BA904 002B6564 7C 64 02 14 */ add r3, r4, r0
+/* 802BA908 002B6568 A0 03 89 98 */ lhz r0, -0x7668(r3)
+/* 802BA90C 002B656C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA910 002B6570 40 82 00 CC */ bne lbl_802BA9DC
+/* 802BA914 002B6574 3B 80 00 00 */ li r28, 0
+/* 802BA918 002B6578 7F A4 D2 14 */ add r29, r4, r26
+/* 802BA91C 002B657C B3 83 89 94 */ sth r28, -0x766c(r3)
+/* 802BA920 002B6580 B3 83 89 96 */ sth r28, -0x766a(r3)
+/* 802BA924 002B6584 B3 83 89 98 */ sth r28, -0x7668(r3)
+/* 802BA928 002B6588 B3 83 89 9A */ sth r28, -0x7666(r3)
+/* 802BA92C 002B658C 93 83 89 8C */ stw r28, -0x7674(r3)
+/* 802BA930 002B6590 93 83 89 90 */ stw r28, -0x7670(r3)
+/* 802BA934 002B6594 80 7D 8A 1C */ lwz r3, -0x75e4(r29)
+/* 802BA938 002B6598 48 00 08 BD */ bl GKI_os_free
+/* 802BA93C 002B659C 3C 9F 00 03 */ addis r4, r31, 3
+/* 802BA940 002B65A0 93 9D 8A 1C */ stw r28, -0x75e4(r29)
+/* 802BA944 002B65A4 7C 64 D2 14 */ add r3, r4, r26
+/* 802BA948 002B65A8 57 C0 0D FC */ rlwinm r0, r30, 1, 0x17, 0x1e
+/* 802BA94C 002B65AC 93 83 8A 40 */ stw r28, -0x75c0(r3)
+/* 802BA950 002B65B0 7C 64 02 14 */ add r3, r4, r0
+/* 802BA954 002B65B4 7F E7 FB 78 */ mr r7, r31
+/* 802BA958 002B65B8 38 C0 00 00 */ li r6, 0
+/* 802BA95C 002B65BC B3 83 8A 64 */ sth r28, -0x759c(r3)
+/* 802BA960 002B65C0 88 84 8A 87 */ lbz r4, -0x7579(r4)
+/* 802BA964 002B65C4 48 00 00 20 */ b lbl_802BA984
+lbl_802BA968:
+/* 802BA968 002B65C8 54 C3 06 3E */ clrlwi r3, r6, 0x18
+/* 802BA96C 002B65CC 3C 63 00 03 */ addis r3, r3, 3
+/* 802BA970 002B65D0 38 03 8A 7E */ addi r0, r3, -30082
+/* 802BA974 002B65D4 7C 07 00 AE */ lbzx r0, r7, r0
+/* 802BA978 002B65D8 7C 1E 00 40 */ cmplw r30, r0
+/* 802BA97C 002B65DC 41 82 00 14 */ beq lbl_802BA990
+/* 802BA980 002B65E0 38 C6 00 01 */ addi r6, r6, 1
+lbl_802BA984:
+/* 802BA984 002B65E4 54 C0 06 3E */ clrlwi r0, r6, 0x18
+/* 802BA988 002B65E8 7C 00 20 40 */ cmplw r0, r4
+/* 802BA98C 002B65EC 41 80 FF DC */ blt lbl_802BA968
+lbl_802BA990:
+/* 802BA990 002B65F0 3C 87 00 03 */ addis r4, r7, 3
+/* 802BA994 002B65F4 48 00 00 20 */ b lbl_802BA9B4
+lbl_802BA998:
+/* 802BA998 002B65F8 54 C3 06 3E */ clrlwi r3, r6, 0x18
+/* 802BA99C 002B65FC 38 C6 00 01 */ addi r6, r6, 1
+/* 802BA9A0 002B6600 3C 63 00 03 */ addis r3, r3, 3
+/* 802BA9A4 002B6604 38 63 8A 7E */ addi r3, r3, -30082
+/* 802BA9A8 002B6608 7C 67 1A 14 */ add r3, r7, r3
+/* 802BA9AC 002B660C 88 03 00 01 */ lbz r0, 1(r3)
+/* 802BA9B0 002B6610 98 03 00 00 */ stb r0, 0(r3)
+lbl_802BA9B4:
+/* 802BA9B4 002B6614 88 64 8A 87 */ lbz r3, -0x7579(r4)
+/* 802BA9B8 002B6618 54 C5 06 3E */ clrlwi r5, r6, 0x18
+/* 802BA9BC 002B661C 38 03 FF FF */ addi r0, r3, -1
+/* 802BA9C0 002B6620 7C 05 00 00 */ cmpw r5, r0
+/* 802BA9C4 002B6624 41 80 FF D4 */ blt lbl_802BA998
+/* 802BA9C8 002B6628 3C 9F 00 03 */ addis r4, r31, 3
+/* 802BA9CC 002B662C 88 64 8A 87 */ lbz r3, -0x7579(r4)
+/* 802BA9D0 002B6630 38 03 FF FF */ addi r0, r3, -1
+/* 802BA9D4 002B6634 98 04 8A 87 */ stb r0, -0x7579(r4)
+/* 802BA9D8 002B6638 48 00 00 1C */ b lbl_802BA9F4
+lbl_802BA9DC:
+/* 802BA9DC 002B663C 3C 60 00 01 */ lis r3, 0x0000FFF8@ha
+/* 802BA9E0 002B6640 3C 80 80 44 */ lis r4, lbl_8043F260@ha
+/* 802BA9E4 002B6644 38 03 FF F8 */ addi r0, r3, 0x0000FFF8@l
+/* 802BA9E8 002B6648 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA9EC 002B664C 38 84 F2 60 */ addi r4, r4, lbl_8043F260@l
+/* 802BA9F0 002B6650 48 00 07 D5 */ bl GKI_exception
+lbl_802BA9F4:
+/* 802BA9F4 002B6654 48 00 07 69 */ bl GKI_enable
+lbl_802BA9F8:
+/* 802BA9F8 002B6658 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BA9FC 002B665C 4B F0 C7 75 */ bl _restgpr_26
+/* 802BAA00 002B6660 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BAA04 002B6664 7C 08 03 A6 */ mtlr r0
+/* 802BAA08 002B6668 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BAA0C 002B666C 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/gki_ppc.s b/asm/SDK/BTE/gki_ppc.s
new file mode 100644
index 0000000..4a3fe47
--- /dev/null
+++ b/asm/SDK/BTE/gki_ppc.s
@@ -0,0 +1,211 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global GKI_init
+GKI_init:
+/* 802BAF68 002B6BC8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BAF6C 002B6BCC 7C 08 02 A6 */ mflr r0
+/* 802BAF70 002B6BD0 3C A0 00 03 */ lis r5, 0x00028AE0@ha
+/* 802BAF74 002B6BD4 38 80 00 00 */ li r4, 0
+/* 802BAF78 002B6BD8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BAF7C 002B6BDC 38 A5 8A E0 */ addi r5, r5, 0x00028AE0@l
+/* 802BAF80 002B6BE0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BAF84 002B6BE4 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BAF88 002B6BE8 3F C0 80 54 */ lis r30, lbl_8053C2C0@ha
+/* 802BAF8C 002B6BEC 38 7E C2 C0 */ addi r3, r30, lbl_8053C2C0@l
+/* 802BAF90 002B6BF0 4B D4 91 75 */ bl memset
+/* 802BAF94 002B6BF4 4B FF E8 59 */ bl gki_buffer_init
+/* 802BAF98 002B6BF8 4B FF FA 79 */ bl gki_timers_init
+/* 802BAF9C 002B6BFC 3B FE C2 C0 */ addi r31, r30, -15680
+/* 802BAFA0 002B6C00 38 80 00 01 */ li r4, 1
+/* 802BAFA4 002B6C04 3C 7F 00 03 */ addis r3, r31, 3
+/* 802BAFA8 002B6C08 38 00 00 00 */ li r0, 0
+/* 802BAFAC 002B6C0C 98 83 88 02 */ stb r4, -0x77fe(r3)
+/* 802BAFB0 002B6C10 90 03 87 E8 */ stw r0, -0x7818(r3)
+/* 802BAFB4 002B6C14 90 03 88 48 */ stw r0, -0x77b8(r3)
+/* 802BAFB8 002B6C18 B0 03 88 0C */ sth r0, -0x77f4(r3)
+/* 802BAFBC 002B6C1C 98 1E C2 C0 */ stb r0, -0x3d40(r30)
+/* 802BAFC0 002B6C20 4B FB 37 B1 */ bl OSEnableInterrupts
+/* 802BAFC4 002B6C24 88 1E C2 C0 */ lbz r0, -0x3d40(r30)
+/* 802BAFC8 002B6C28 54 00 10 3A */ slwi r0, r0, 2
+/* 802BAFCC 002B6C2C 7C 9F 02 14 */ add r4, r31, r0
+/* 802BAFD0 002B6C30 90 64 00 04 */ stw r3, 4(r4)
+/* 802BAFD4 002B6C34 88 7E C2 C0 */ lbz r3, -0x3d40(r30)
+/* 802BAFD8 002B6C38 38 03 00 01 */ addi r0, r3, 1
+/* 802BAFDC 002B6C3C 98 1E C2 C0 */ stb r0, -0x3d40(r30)
+/* 802BAFE0 002B6C40 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BAFE4 002B6C44 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BAFE8 002B6C48 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BAFEC 002B6C4C 7C 08 03 A6 */ mtlr r0
+/* 802BAFF0 002B6C50 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BAFF4 002B6C54 4E 80 00 20 */ blr
+
+.global GKI_shutdown
+GKI_shutdown:
+/* 802BAFF8 002B6C58 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BAFFC 002B6C5C 7C 08 02 A6 */ mflr r0
+/* 802BB000 002B6C60 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BB004 002B6C64 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BB008 002B6C68 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BB00C 002B6C6C 4B FB 37 51 */ bl OSDisableInterrupts
+/* 802BB010 002B6C70 3F C0 80 54 */ lis r30, lbl_8053C2C0@ha
+/* 802BB014 002B6C74 38 00 00 00 */ li r0, 0
+/* 802BB018 002B6C78 88 BE C2 C0 */ lbz r5, lbl_8053C2C0@l(r30)
+/* 802BB01C 002B6C7C 3B FE C2 C0 */ addi r31, r30, -15680
+/* 802BB020 002B6C80 3C 9F 00 03 */ addis r4, r31, 3
+/* 802BB024 002B6C84 54 A5 10 3A */ slwi r5, r5, 2
+/* 802BB028 002B6C88 7C BF 2A 14 */ add r5, r31, r5
+/* 802BB02C 002B6C8C 90 65 00 04 */ stw r3, 4(r5)
+/* 802BB030 002B6C90 88 7E C2 C0 */ lbz r3, -0x3d40(r30)
+/* 802BB034 002B6C94 38 63 00 01 */ addi r3, r3, 1
+/* 802BB038 002B6C98 98 7E C2 C0 */ stb r3, -0x3d40(r30)
+/* 802BB03C 002B6C9C 98 04 88 02 */ stb r0, -0x77fe(r4)
+/* 802BB040 002B6CA0 88 7E C2 C0 */ lbz r3, -0x3d40(r30)
+/* 802BB044 002B6CA4 38 63 FF FF */ addi r3, r3, -1
+/* 802BB048 002B6CA8 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
+/* 802BB04C 002B6CAC 98 7E C2 C0 */ stb r3, -0x3d40(r30)
+/* 802BB050 002B6CB0 7C 7F 02 14 */ add r3, r31, r0
+/* 802BB054 002B6CB4 80 63 00 04 */ lwz r3, 4(r3)
+/* 802BB058 002B6CB8 4B FB 37 2D */ bl OSRestoreInterrupts
+/* 802BB05C 002B6CBC 48 00 00 20 */ b lbl_802BB07C
+lbl_802BB060:
+/* 802BB060 002B6CC0 88 7E C2 C0 */ lbz r3, -0x3d40(r30)
+/* 802BB064 002B6CC4 38 63 FF FF */ addi r3, r3, -1
+/* 802BB068 002B6CC8 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
+/* 802BB06C 002B6CCC 98 7E C2 C0 */ stb r3, -0x3d40(r30)
+/* 802BB070 002B6CD0 7C 7F 02 14 */ add r3, r31, r0
+/* 802BB074 002B6CD4 80 63 00 04 */ lwz r3, 4(r3)
+/* 802BB078 002B6CD8 4B FB 37 0D */ bl OSRestoreInterrupts
+lbl_802BB07C:
+/* 802BB07C 002B6CDC 88 1E C2 C0 */ lbz r0, -0x3d40(r30)
+/* 802BB080 002B6CE0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BB084 002B6CE4 40 82 FF DC */ bne lbl_802BB060
+/* 802BB088 002B6CE8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BB08C 002B6CEC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BB090 002B6CF0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BB094 002B6CF4 7C 08 03 A6 */ mtlr r0
+/* 802BB098 002B6CF8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BB09C 002B6CFC 4E 80 00 20 */ blr
+
+.global GKI_run
+GKI_run:
+/* 802BB0A0 002B6D00 4E 80 00 20 */ blr
+
+.global GKI_sched_lock
+GKI_sched_lock:
+/* 802BB0A4 002B6D04 4E 80 00 20 */ blr
+
+.global GKI_sched_unlock
+GKI_sched_unlock:
+/* 802BB0A8 002B6D08 4E 80 00 20 */ blr
+
+.global GKI_delay
+GKI_delay:
+/* 802BB0AC 002B6D0C 4E 80 00 20 */ blr
+
+.global GKI_send_event
+GKI_send_event:
+/* 802BB0B0 002B6D10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BB0B4 002B6D14 7C 08 02 A6 */ mflr r0
+/* 802BB0B8 002B6D18 28 03 00 08 */ cmplwi r3, 8
+/* 802BB0BC 002B6D1C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BB0C0 002B6D20 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BB0C4 002B6D24 7C 9F 23 78 */ mr r31, r4
+/* 802BB0C8 002B6D28 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BB0CC 002B6D2C 7C 7E 1B 78 */ mr r30, r3
+/* 802BB0D0 002B6D30 41 80 00 0C */ blt lbl_802BB0DC
+/* 802BB0D4 002B6D34 38 60 00 01 */ li r3, 1
+/* 802BB0D8 002B6D38 48 00 00 64 */ b lbl_802BB13C
+lbl_802BB0DC:
+/* 802BB0DC 002B6D3C 4B FB 36 81 */ bl OSDisableInterrupts
+/* 802BB0E0 002B6D40 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha
+/* 802BB0E4 002B6D44 57 C0 0D FC */ rlwinm r0, r30, 1, 0x17, 0x1e
+/* 802BB0E8 002B6D48 88 A7 C2 C0 */ lbz r5, lbl_8053C2C0@l(r7)
+/* 802BB0EC 002B6D4C 38 C7 C2 C0 */ addi r6, r7, -15680
+/* 802BB0F0 002B6D50 3C 86 00 03 */ addis r4, r6, 3
+/* 802BB0F4 002B6D54 54 A5 10 3A */ slwi r5, r5, 2
+/* 802BB0F8 002B6D58 7C A6 2A 14 */ add r5, r6, r5
+/* 802BB0FC 002B6D5C 7C 84 02 14 */ add r4, r4, r0
+/* 802BB100 002B6D60 90 65 00 04 */ stw r3, 4(r5)
+/* 802BB104 002B6D64 88 67 C2 C0 */ lbz r3, -0x3d40(r7)
+/* 802BB108 002B6D68 38 03 00 01 */ addi r0, r3, 1
+/* 802BB10C 002B6D6C 98 07 C2 C0 */ stb r0, -0x3d40(r7)
+/* 802BB110 002B6D70 A0 04 88 08 */ lhz r0, -0x77f8(r4)
+/* 802BB114 002B6D74 7C 00 FB 78 */ or r0, r0, r31
+/* 802BB118 002B6D78 B0 04 88 08 */ sth r0, -0x77f8(r4)
+/* 802BB11C 002B6D7C 88 67 C2 C0 */ lbz r3, -0x3d40(r7)
+/* 802BB120 002B6D80 38 63 FF FF */ addi r3, r3, -1
+/* 802BB124 002B6D84 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
+/* 802BB128 002B6D88 98 67 C2 C0 */ stb r3, -0x3d40(r7)
+/* 802BB12C 002B6D8C 7C 66 02 14 */ add r3, r6, r0
+/* 802BB130 002B6D90 80 63 00 04 */ lwz r3, 4(r3)
+/* 802BB134 002B6D94 4B FB 36 51 */ bl OSRestoreInterrupts
+/* 802BB138 002B6D98 38 60 00 00 */ li r3, 0
+lbl_802BB13C:
+/* 802BB13C 002B6D9C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BB140 002B6DA0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BB144 002B6DA4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BB148 002B6DA8 7C 08 03 A6 */ mtlr r0
+/* 802BB14C 002B6DAC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BB150 002B6DB0 4E 80 00 20 */ blr
+
+.global GKI_get_taskid
+GKI_get_taskid:
+/* 802BB154 002B6DB4 38 60 00 02 */ li r3, 2
+/* 802BB158 002B6DB8 4E 80 00 20 */ blr
+
+.global GKI_enable
+GKI_enable:
+/* 802BB15C 002B6DBC 3C A0 80 54 */ lis r5, lbl_8053C2C0@ha
+/* 802BB160 002B6DC0 88 85 C2 C0 */ lbz r4, lbl_8053C2C0@l(r5)
+/* 802BB164 002B6DC4 38 65 C2 C0 */ addi r3, r5, -15680
+/* 802BB168 002B6DC8 38 84 FF FF */ addi r4, r4, -1
+/* 802BB16C 002B6DCC 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d
+/* 802BB170 002B6DD0 98 85 C2 C0 */ stb r4, -0x3d40(r5)
+/* 802BB174 002B6DD4 7C 63 02 14 */ add r3, r3, r0
+/* 802BB178 002B6DD8 80 63 00 04 */ lwz r3, 4(r3)
+/* 802BB17C 002B6DDC 4B FB 36 08 */ b OSRestoreInterrupts
+
+.global GKI_disable
+GKI_disable:
+/* 802BB180 002B6DE0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BB184 002B6DE4 7C 08 02 A6 */ mflr r0
+/* 802BB188 002B6DE8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BB18C 002B6DEC 4B FB 35 D1 */ bl OSDisableInterrupts
+/* 802BB190 002B6DF0 3C A0 80 54 */ lis r5, lbl_8053C2C0@ha
+/* 802BB194 002B6DF4 88 05 C2 C0 */ lbz r0, lbl_8053C2C0@l(r5)
+/* 802BB198 002B6DF8 38 85 C2 C0 */ addi r4, r5, -15680
+/* 802BB19C 002B6DFC 54 00 10 3A */ slwi r0, r0, 2
+/* 802BB1A0 002B6E00 7C 84 02 14 */ add r4, r4, r0
+/* 802BB1A4 002B6E04 90 64 00 04 */ stw r3, 4(r4)
+/* 802BB1A8 002B6E08 88 65 C2 C0 */ lbz r3, -0x3d40(r5)
+/* 802BB1AC 002B6E0C 38 03 00 01 */ addi r0, r3, 1
+/* 802BB1B0 002B6E10 98 05 C2 C0 */ stb r0, -0x3d40(r5)
+/* 802BB1B4 002B6E14 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BB1B8 002B6E18 7C 08 03 A6 */ mtlr r0
+/* 802BB1BC 002B6E1C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BB1C0 002B6E20 4E 80 00 20 */ blr
+
+.global GKI_exception
+GKI_exception:
+/* 802BB1C4 002B6E24 4E 80 00 20 */ blr
+
+.global GKI_os_malloc
+GKI_os_malloc:
+/* 802BB1C8 002B6E28 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BB1CC 002B6E2C 7C 08 02 A6 */ mflr r0
+/* 802BB1D0 002B6E30 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BB1D4 002B6E34 4B FF 9A ED */ bl App_MEMalloc
+/* 802BB1D8 002B6E38 2C 03 00 00 */ cmpwi r3, 0
+/* 802BB1DC 002B6E3C 40 82 00 08 */ bne lbl_802BB1E4
+/* 802BB1E0 002B6E40 38 60 00 00 */ li r3, 0
+lbl_802BB1E4:
+/* 802BB1E4 002B6E44 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BB1E8 002B6E48 7C 08 03 A6 */ mtlr r0
+/* 802BB1EC 002B6E4C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BB1F0 002B6E50 4E 80 00 20 */ blr
+
+.global GKI_os_free
+GKI_os_free:
+/* 802BB1F4 002B6E54 4B FF 9B 1C */ b App_MEMfree
diff --git a/asm/SDK/BTE/gki_time.s b/asm/SDK/BTE/gki_time.s
new file mode 100644
index 0000000..b7192a7
--- /dev/null
+++ b/asm/SDK/BTE/gki_time.s
@@ -0,0 +1,406 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global gki_timers_init
+gki_timers_init:
+/* 802BAA10 002B6670 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BAA14 002B6674 38 00 00 00 */ li r0, 0
+/* 802BAA18 002B6678 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BAA1C 002B667C 3C 63 00 03 */ addis r3, r3, 3
+/* 802BAA20 002B6680 90 03 88 38 */ stw r0, -0x77c8(r3)
+/* 802BAA24 002B6684 90 03 88 3C */ stw r0, -0x77c4(r3)
+/* 802BAA28 002B6688 90 03 88 40 */ stw r0, -0x77c0(r3)
+/* 802BAA2C 002B668C 90 03 88 60 */ stw r0, -0x77a0(r3)
+/* 802BAA30 002B6690 90 03 88 80 */ stw r0, -0x7780(r3)
+/* 802BAA34 002B6694 90 03 88 A0 */ stw r0, -0x7760(r3)
+/* 802BAA38 002B6698 90 03 88 C0 */ stw r0, -0x7740(r3)
+/* 802BAA3C 002B669C 90 03 88 44 */ stw r0, -0x77bc(r3)
+/* 802BAA40 002B66A0 90 03 88 64 */ stw r0, -0x779c(r3)
+/* 802BAA44 002B66A4 90 03 88 84 */ stw r0, -0x777c(r3)
+/* 802BAA48 002B66A8 90 03 88 A4 */ stw r0, -0x775c(r3)
+/* 802BAA4C 002B66AC 90 03 88 C4 */ stw r0, -0x773c(r3)
+/* 802BAA50 002B66B0 90 03 88 48 */ stw r0, -0x77b8(r3)
+/* 802BAA54 002B66B4 90 03 88 68 */ stw r0, -0x7798(r3)
+/* 802BAA58 002B66B8 90 03 88 88 */ stw r0, -0x7778(r3)
+/* 802BAA5C 002B66BC 90 03 88 A8 */ stw r0, -0x7758(r3)
+/* 802BAA60 002B66C0 90 03 88 C8 */ stw r0, -0x7738(r3)
+/* 802BAA64 002B66C4 90 03 88 4C */ stw r0, -0x77b4(r3)
+/* 802BAA68 002B66C8 90 03 88 6C */ stw r0, -0x7794(r3)
+/* 802BAA6C 002B66CC 90 03 88 8C */ stw r0, -0x7774(r3)
+/* 802BAA70 002B66D0 90 03 88 AC */ stw r0, -0x7754(r3)
+/* 802BAA74 002B66D4 90 03 88 CC */ stw r0, -0x7734(r3)
+/* 802BAA78 002B66D8 90 03 88 50 */ stw r0, -0x77b0(r3)
+/* 802BAA7C 002B66DC 90 03 88 70 */ stw r0, -0x7790(r3)
+/* 802BAA80 002B66E0 90 03 88 90 */ stw r0, -0x7770(r3)
+/* 802BAA84 002B66E4 90 03 88 B0 */ stw r0, -0x7750(r3)
+/* 802BAA88 002B66E8 90 03 88 D0 */ stw r0, -0x7730(r3)
+/* 802BAA8C 002B66EC 90 03 88 54 */ stw r0, -0x77ac(r3)
+/* 802BAA90 002B66F0 90 03 88 74 */ stw r0, -0x778c(r3)
+/* 802BAA94 002B66F4 90 03 88 94 */ stw r0, -0x776c(r3)
+/* 802BAA98 002B66F8 90 03 88 B4 */ stw r0, -0x774c(r3)
+/* 802BAA9C 002B66FC 90 03 88 D4 */ stw r0, -0x772c(r3)
+/* 802BAAA0 002B6700 90 03 88 58 */ stw r0, -0x77a8(r3)
+/* 802BAAA4 002B6704 90 03 88 78 */ stw r0, -0x7788(r3)
+/* 802BAAA8 002B6708 90 03 88 98 */ stw r0, -0x7768(r3)
+/* 802BAAAC 002B670C 90 03 88 B8 */ stw r0, -0x7748(r3)
+/* 802BAAB0 002B6710 90 03 88 D8 */ stw r0, -0x7728(r3)
+/* 802BAAB4 002B6714 90 03 88 5C */ stw r0, -0x77a4(r3)
+/* 802BAAB8 002B6718 90 03 88 7C */ stw r0, -0x7784(r3)
+/* 802BAABC 002B671C 90 03 88 9C */ stw r0, -0x7764(r3)
+/* 802BAAC0 002B6720 90 03 88 BC */ stw r0, -0x7744(r3)
+/* 802BAAC4 002B6724 90 03 88 DC */ stw r0, -0x7724(r3)
+/* 802BAAC8 002B6728 4E 80 00 20 */ blr
+
+.global GKI_get_tick_count
+GKI_get_tick_count:
+/* 802BAACC 002B672C 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BAAD0 002B6730 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BAAD4 002B6734 3C 63 00 03 */ addis r3, r3, 3
+/* 802BAAD8 002B6738 80 63 88 28 */ lwz r3, -0x77d8(r3)
+/* 802BAADC 002B673C 4E 80 00 20 */ blr
+
+.global GKI_start_timer
+GKI_start_timer:
+/* 802BAAE0 002B6740 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BAAE4 002B6744 7C 08 02 A6 */ mflr r0
+/* 802BAAE8 002B6748 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BAAEC 002B674C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BAAF0 002B6750 4B F0 C6 39 */ bl _savegpr_27
+/* 802BAAF4 002B6754 7C 7B 1B 78 */ mr r27, r3
+/* 802BAAF8 002B6758 7C 9D 23 78 */ mr r29, r4
+/* 802BAAFC 002B675C 7C BF 2B 78 */ mr r31, r5
+/* 802BAB00 002B6760 48 00 06 55 */ bl GKI_get_taskid
+/* 802BAB04 002B6764 2C 1D 00 00 */ cmpwi r29, 0
+/* 802BAB08 002B6768 7C 7C 1B 78 */ mr r28, r3
+/* 802BAB0C 002B676C 3B C0 00 00 */ li r30, 0
+/* 802BAB10 002B6770 41 81 00 08 */ bgt lbl_802BAB18
+/* 802BAB14 002B6774 3B A0 00 01 */ li r29, 1
+lbl_802BAB18:
+/* 802BAB18 002B6778 7C 1F 00 D0 */ neg r0, r31
+/* 802BAB1C 002B677C 7C 00 FB 78 */ or r0, r0, r31
+/* 802BAB20 002B6780 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 802BAB24 002B6784 7F BF 00 38 */ and r31, r29, r0
+/* 802BAB28 002B6788 48 00 06 59 */ bl GKI_disable
+/* 802BAB2C 002B678C 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802BAB30 002B6790 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
+/* 802BAB34 002B6794 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802BAB38 002B6798 3C A4 00 03 */ addis r5, r4, 3
+/* 802BAB3C 002B679C 38 83 FF FF */ addi r4, r3, 0x7FFFFFFF@l
+/* 802BAB40 002B67A0 80 65 88 38 */ lwz r3, -0x77c8(r5)
+/* 802BAB44 002B67A4 80 05 88 3C */ lwz r0, -0x77c4(r5)
+/* 802BAB48 002B67A8 7C 63 00 50 */ subf r3, r3, r0
+/* 802BAB4C 002B67AC 7C 03 20 50 */ subf r0, r3, r4
+/* 802BAB50 002B67B0 7C 00 E8 00 */ cmpw r0, r29
+/* 802BAB54 002B67B4 40 81 00 08 */ ble lbl_802BAB5C
+/* 802BAB58 002B67B8 7C 9D 1A 14 */ add r4, r29, r3
+lbl_802BAB5C:
+/* 802BAB5C 002B67BC 2C 1B 00 01 */ cmpwi r27, 1
+/* 802BAB60 002B67C0 41 82 00 34 */ beq lbl_802BAB94
+/* 802BAB64 002B67C4 40 80 00 50 */ bge lbl_802BABB4
+/* 802BAB68 002B67C8 2C 1B 00 00 */ cmpwi r27, 0
+/* 802BAB6C 002B67CC 40 80 00 08 */ bge lbl_802BAB74
+/* 802BAB70 002B67D0 48 00 00 44 */ b lbl_802BABB4
+lbl_802BAB74:
+/* 802BAB74 002B67D4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BAB78 002B67D8 57 85 15 BA */ rlwinm r5, r28, 2, 0x16, 0x1d
+/* 802BAB7C 002B67DC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BAB80 002B67E0 3C 03 00 03 */ addis r0, r3, 3
+/* 802BAB84 002B67E4 7C 60 2A 14 */ add r3, r0, r5
+/* 802BAB88 002B67E8 93 E3 88 80 */ stw r31, -0x7780(r3)
+/* 802BAB8C 002B67EC 90 83 88 60 */ stw r4, -0x77a0(r3)
+/* 802BAB90 002B67F0 48 00 00 28 */ b lbl_802BABB8
+lbl_802BAB94:
+/* 802BAB94 002B67F4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BAB98 002B67F8 57 85 15 BA */ rlwinm r5, r28, 2, 0x16, 0x1d
+/* 802BAB9C 002B67FC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BABA0 002B6800 3C 03 00 03 */ addis r0, r3, 3
+/* 802BABA4 002B6804 7C 60 2A 14 */ add r3, r0, r5
+/* 802BABA8 002B6808 93 E3 88 C0 */ stw r31, -0x7740(r3)
+/* 802BABAC 002B680C 90 83 88 A0 */ stw r4, -0x7760(r3)
+/* 802BABB0 002B6810 48 00 00 08 */ b lbl_802BABB8
+lbl_802BABB4:
+/* 802BABB4 002B6814 3B C0 00 01 */ li r30, 1
+lbl_802BABB8:
+/* 802BABB8 002B6818 2C 1E 00 00 */ cmpwi r30, 0
+/* 802BABBC 002B681C 40 82 00 58 */ bne lbl_802BAC14
+/* 802BABC0 002B6820 2C 1D 00 00 */ cmpwi r29, 0
+/* 802BABC4 002B6824 40 81 00 50 */ ble lbl_802BAC14
+/* 802BABC8 002B6828 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BABCC 002B682C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BABD0 002B6830 3C 63 00 03 */ addis r3, r3, 3
+/* 802BABD4 002B6834 80 83 88 3C */ lwz r4, -0x77c4(r3)
+/* 802BABD8 002B6838 2C 04 00 00 */ cmpwi r4, 0
+/* 802BABDC 002B683C 41 82 00 18 */ beq lbl_802BABF4
+/* 802BABE0 002B6840 80 03 88 38 */ lwz r0, -0x77c8(r3)
+/* 802BABE4 002B6844 7C 1D 00 00 */ cmpw r29, r0
+/* 802BABE8 002B6848 40 80 00 2C */ bge lbl_802BAC14
+/* 802BABEC 002B684C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BABF0 002B6850 40 81 00 24 */ ble lbl_802BAC14
+lbl_802BABF4:
+/* 802BABF4 002B6854 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BABF8 002B6858 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BABFC 002B685C 3C 63 00 03 */ addis r3, r3, 3
+/* 802BAC00 002B6860 80 03 88 38 */ lwz r0, -0x77c8(r3)
+/* 802BAC04 002B6864 7C 00 20 50 */ subf r0, r0, r4
+/* 802BAC08 002B6868 7C 1D 02 14 */ add r0, r29, r0
+/* 802BAC0C 002B686C 90 03 88 3C */ stw r0, -0x77c4(r3)
+/* 802BAC10 002B6870 93 A3 88 38 */ stw r29, -0x77c8(r3)
+lbl_802BAC14:
+/* 802BAC14 002B6874 48 00 05 49 */ bl GKI_enable
+/* 802BAC18 002B6878 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BAC1C 002B687C 4B F0 C5 59 */ bl _restgpr_27
+/* 802BAC20 002B6880 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BAC24 002B6884 7C 08 03 A6 */ mtlr r0
+/* 802BAC28 002B6888 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BAC2C 002B688C 4E 80 00 20 */ blr
+
+.global GKI_stop_timer
+GKI_stop_timer:
+/* 802BAC30 002B6890 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BAC34 002B6894 7C 08 02 A6 */ mflr r0
+/* 802BAC38 002B6898 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BAC3C 002B689C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BAC40 002B68A0 7C 7F 1B 78 */ mr r31, r3
+/* 802BAC44 002B68A4 48 00 05 11 */ bl GKI_get_taskid
+/* 802BAC48 002B68A8 2C 1F 00 01 */ cmpwi r31, 1
+/* 802BAC4C 002B68AC 41 82 00 38 */ beq lbl_802BAC84
+/* 802BAC50 002B68B0 40 80 00 54 */ bge lbl_802BACA4
+/* 802BAC54 002B68B4 2C 1F 00 00 */ cmpwi r31, 0
+/* 802BAC58 002B68B8 40 80 00 08 */ bge lbl_802BAC60
+/* 802BAC5C 002B68BC 48 00 00 48 */ b lbl_802BACA4
+lbl_802BAC60:
+/* 802BAC60 002B68C0 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802BAC64 002B68C4 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
+/* 802BAC68 002B68C8 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802BAC6C 002B68CC 38 A0 00 00 */ li r5, 0
+/* 802BAC70 002B68D0 3C 04 00 03 */ addis r0, r4, 3
+/* 802BAC74 002B68D4 7C 60 1A 14 */ add r3, r0, r3
+/* 802BAC78 002B68D8 90 A3 88 80 */ stw r5, -0x7780(r3)
+/* 802BAC7C 002B68DC 90 A3 88 60 */ stw r5, -0x77a0(r3)
+/* 802BAC80 002B68E0 48 00 00 24 */ b lbl_802BACA4
+lbl_802BAC84:
+/* 802BAC84 002B68E4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802BAC88 002B68E8 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
+/* 802BAC8C 002B68EC 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802BAC90 002B68F0 38 A0 00 00 */ li r5, 0
+/* 802BAC94 002B68F4 3C 04 00 03 */ addis r0, r4, 3
+/* 802BAC98 002B68F8 7C 60 1A 14 */ add r3, r0, r3
+/* 802BAC9C 002B68FC 90 A3 88 C0 */ stw r5, -0x7740(r3)
+/* 802BACA0 002B6900 90 A3 88 A0 */ stw r5, -0x7760(r3)
+lbl_802BACA4:
+/* 802BACA4 002B6904 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BACA8 002B6908 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BACAC 002B690C 7C 08 03 A6 */ mtlr r0
+/* 802BACB0 002B6910 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BACB4 002B6914 4E 80 00 20 */ blr
+
+.global GKI_init_timer_list
+GKI_init_timer_list:
+/* 802BACB8 002B6918 38 00 00 00 */ li r0, 0
+/* 802BACBC 002B691C 90 03 00 00 */ stw r0, 0(r3)
+/* 802BACC0 002B6920 90 03 00 04 */ stw r0, 4(r3)
+/* 802BACC4 002B6924 90 03 00 08 */ stw r0, 8(r3)
+/* 802BACC8 002B6928 4E 80 00 20 */ blr
+
+.global GKI_update_timer_list
+GKI_update_timer_list:
+/* 802BACCC 002B692C 80 C3 00 00 */ lwz r6, 0(r3)
+/* 802BACD0 002B6930 38 E0 00 00 */ li r7, 0
+/* 802BACD4 002B6934 48 00 00 0C */ b lbl_802BACE0
+lbl_802BACD8:
+/* 802BACD8 002B6938 80 C6 00 00 */ lwz r6, 0(r6)
+/* 802BACDC 002B693C 38 E7 00 01 */ addi r7, r7, 1
+lbl_802BACE0:
+/* 802BACE0 002B6940 2C 06 00 00 */ cmpwi r6, 0
+/* 802BACE4 002B6944 41 82 00 10 */ beq lbl_802BACF4
+/* 802BACE8 002B6948 80 06 00 0C */ lwz r0, 0xc(r6)
+/* 802BACEC 002B694C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BACF0 002B6950 40 81 FF E8 */ ble lbl_802BACD8
+lbl_802BACF4:
+/* 802BACF4 002B6954 7C 88 23 78 */ mr r8, r4
+/* 802BACF8 002B6958 38 00 00 00 */ li r0, 0
+/* 802BACFC 002B695C 48 00 00 24 */ b lbl_802BAD20
+lbl_802BAD00:
+/* 802BAD00 002B6960 81 26 00 0C */ lwz r9, 0xc(r6)
+/* 802BAD04 002B6964 7C A8 48 51 */ subf. r5, r8, r9
+/* 802BAD08 002B6968 90 A6 00 0C */ stw r5, 0xc(r6)
+/* 802BAD0C 002B696C 41 81 00 0C */ bgt lbl_802BAD18
+/* 802BAD10 002B6970 90 06 00 0C */ stw r0, 0xc(r6)
+/* 802BAD14 002B6974 38 E7 00 01 */ addi r7, r7, 1
+lbl_802BAD18:
+/* 802BAD18 002B6978 7D 09 40 50 */ subf r8, r9, r8
+/* 802BAD1C 002B697C 80 C6 00 00 */ lwz r6, 0(r6)
+lbl_802BAD20:
+/* 802BAD20 002B6980 2C 06 00 00 */ cmpwi r6, 0
+/* 802BAD24 002B6984 41 82 00 0C */ beq lbl_802BAD30
+/* 802BAD28 002B6988 2C 08 00 00 */ cmpwi r8, 0
+/* 802BAD2C 002B698C 41 81 FF D4 */ bgt lbl_802BAD00
+lbl_802BAD30:
+/* 802BAD30 002B6990 80 03 00 08 */ lwz r0, 8(r3)
+/* 802BAD34 002B6994 2C 00 00 00 */ cmpwi r0, 0
+/* 802BAD38 002B6998 40 81 00 18 */ ble lbl_802BAD50
+/* 802BAD3C 002B699C 7C 04 00 51 */ subf. r0, r4, r0
+/* 802BAD40 002B69A0 90 03 00 08 */ stw r0, 8(r3)
+/* 802BAD44 002B69A4 40 80 00 0C */ bge lbl_802BAD50
+/* 802BAD48 002B69A8 38 00 00 00 */ li r0, 0
+/* 802BAD4C 002B69AC 90 03 00 08 */ stw r0, 8(r3)
+lbl_802BAD50:
+/* 802BAD50 002B69B0 7C E3 3B 78 */ mr r3, r7
+/* 802BAD54 002B69B4 4E 80 00 20 */ blr
+
+.global GKI_add_to_timer_list
+GKI_add_to_timer_list:
+/* 802BAD58 002B69B8 80 A4 00 0C */ lwz r5, 0xc(r4)
+/* 802BAD5C 002B69BC 2C 05 00 00 */ cmpwi r5, 0
+/* 802BAD60 002B69C0 4D 80 00 20 */ bltlr
+/* 802BAD64 002B69C4 80 03 00 08 */ lwz r0, 8(r3)
+/* 802BAD68 002B69C8 7C 05 00 00 */ cmpw r5, r0
+/* 802BAD6C 002B69CC 41 80 00 54 */ blt lbl_802BADC0
+/* 802BAD70 002B69D0 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BAD74 002B69D4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BAD78 002B69D8 40 82 00 0C */ bne lbl_802BAD84
+/* 802BAD7C 002B69DC 90 83 00 00 */ stw r4, 0(r3)
+/* 802BAD80 002B69E0 48 00 00 1C */ b lbl_802BAD9C
+lbl_802BAD84:
+/* 802BAD84 002B69E4 80 A3 00 04 */ lwz r5, 4(r3)
+/* 802BAD88 002B69E8 2C 05 00 00 */ cmpwi r5, 0
+/* 802BAD8C 002B69EC 41 82 00 08 */ beq lbl_802BAD94
+/* 802BAD90 002B69F0 90 85 00 00 */ stw r4, 0(r5)
+lbl_802BAD94:
+/* 802BAD94 002B69F4 80 03 00 04 */ lwz r0, 4(r3)
+/* 802BAD98 002B69F8 90 04 00 04 */ stw r0, 4(r4)
+lbl_802BAD9C:
+/* 802BAD9C 002B69FC 38 00 00 00 */ li r0, 0
+/* 802BADA0 002B6A00 90 04 00 00 */ stw r0, 0(r4)
+/* 802BADA4 002B6A04 90 83 00 04 */ stw r4, 4(r3)
+/* 802BADA8 002B6A08 80 03 00 08 */ lwz r0, 8(r3)
+/* 802BADAC 002B6A0C 80 A4 00 0C */ lwz r5, 0xc(r4)
+/* 802BADB0 002B6A10 7C 00 28 50 */ subf r0, r0, r5
+/* 802BADB4 002B6A14 90 04 00 0C */ stw r0, 0xc(r4)
+/* 802BADB8 002B6A18 90 A3 00 08 */ stw r5, 8(r3)
+/* 802BADBC 002B6A1C 48 00 00 7C */ b lbl_802BAE38
+lbl_802BADC0:
+/* 802BADC0 002B6A20 80 C3 00 00 */ lwz r6, 0(r3)
+/* 802BADC4 002B6A24 48 00 00 1C */ b lbl_802BADE0
+lbl_802BADC8:
+/* 802BADC8 002B6A28 2C 05 00 00 */ cmpwi r5, 0
+/* 802BADCC 002B6A2C 40 81 00 10 */ ble lbl_802BADDC
+/* 802BADD0 002B6A30 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802BADD4 002B6A34 7C 05 00 50 */ subf r0, r5, r0
+/* 802BADD8 002B6A38 90 04 00 0C */ stw r0, 0xc(r4)
+lbl_802BADDC:
+/* 802BADDC 002B6A3C 80 C6 00 00 */ lwz r6, 0(r6)
+lbl_802BADE0:
+/* 802BADE0 002B6A40 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 802BADE4 002B6A44 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802BADE8 002B6A48 7C 00 28 00 */ cmpw r0, r5
+/* 802BADEC 002B6A4C 41 81 FF DC */ bgt lbl_802BADC8
+/* 802BADF0 002B6A50 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BADF4 002B6A54 7C 06 00 40 */ cmplw r6, r0
+/* 802BADF8 002B6A58 40 82 00 18 */ bne lbl_802BAE10
+/* 802BADFC 002B6A5C 90 04 00 00 */ stw r0, 0(r4)
+/* 802BAE00 002B6A60 80 A3 00 00 */ lwz r5, 0(r3)
+/* 802BAE04 002B6A64 90 85 00 04 */ stw r4, 4(r5)
+/* 802BAE08 002B6A68 90 83 00 00 */ stw r4, 0(r3)
+/* 802BAE0C 002B6A6C 48 00 00 1C */ b lbl_802BAE28
+lbl_802BAE10:
+/* 802BAE10 002B6A70 80 66 00 04 */ lwz r3, 4(r6)
+/* 802BAE14 002B6A74 90 83 00 00 */ stw r4, 0(r3)
+/* 802BAE18 002B6A78 80 06 00 04 */ lwz r0, 4(r6)
+/* 802BAE1C 002B6A7C 90 04 00 04 */ stw r0, 4(r4)
+/* 802BAE20 002B6A80 90 86 00 04 */ stw r4, 4(r6)
+/* 802BAE24 002B6A84 90 C4 00 00 */ stw r6, 0(r4)
+lbl_802BAE28:
+/* 802BAE28 002B6A88 80 64 00 0C */ lwz r3, 0xc(r4)
+/* 802BAE2C 002B6A8C 80 06 00 0C */ lwz r0, 0xc(r6)
+/* 802BAE30 002B6A90 7C 03 00 50 */ subf r0, r3, r0
+/* 802BAE34 002B6A94 90 06 00 0C */ stw r0, 0xc(r6)
+lbl_802BAE38:
+/* 802BAE38 002B6A98 38 00 00 01 */ li r0, 1
+/* 802BAE3C 002B6A9C 98 04 00 16 */ stb r0, 0x16(r4)
+/* 802BAE40 002B6AA0 4E 80 00 20 */ blr
+
+.global GKI_remove_from_timer_list
+GKI_remove_from_timer_list:
+/* 802BAE44 002B6AA4 2C 04 00 00 */ cmpwi r4, 0
+/* 802BAE48 002B6AA8 4D 82 00 20 */ beqlr
+/* 802BAE4C 002B6AAC 88 04 00 16 */ lbz r0, 0x16(r4)
+/* 802BAE50 002B6AB0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BAE54 002B6AB4 4D 82 00 20 */ beqlr
+/* 802BAE58 002B6AB8 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BAE5C 002B6ABC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BAE60 002B6AC0 40 82 00 08 */ bne lbl_802BAE68
+/* 802BAE64 002B6AC4 4E 80 00 20 */ blr
+lbl_802BAE68:
+/* 802BAE68 002B6AC8 80 C4 00 00 */ lwz r6, 0(r4)
+/* 802BAE6C 002B6ACC 2C 06 00 00 */ cmpwi r6, 0
+/* 802BAE70 002B6AD0 41 82 00 18 */ beq lbl_802BAE88
+/* 802BAE74 002B6AD4 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 802BAE78 002B6AD8 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802BAE7C 002B6ADC 7C 05 02 14 */ add r0, r5, r0
+/* 802BAE80 002B6AE0 90 06 00 0C */ stw r0, 0xc(r6)
+/* 802BAE84 002B6AE4 48 00 00 14 */ b lbl_802BAE98
+lbl_802BAE88:
+/* 802BAE88 002B6AE8 80 A4 00 0C */ lwz r5, 0xc(r4)
+/* 802BAE8C 002B6AEC 80 03 00 08 */ lwz r0, 8(r3)
+/* 802BAE90 002B6AF0 7C 05 00 50 */ subf r0, r5, r0
+/* 802BAE94 002B6AF4 90 03 00 08 */ stw r0, 8(r3)
+lbl_802BAE98:
+/* 802BAE98 002B6AF8 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BAE9C 002B6AFC 7C 00 20 40 */ cmplw r0, r4
+/* 802BAEA0 002B6B00 40 82 00 34 */ bne lbl_802BAED4
+/* 802BAEA4 002B6B04 80 A4 00 00 */ lwz r5, 0(r4)
+/* 802BAEA8 002B6B08 2C 05 00 00 */ cmpwi r5, 0
+/* 802BAEAC 002B6B0C 90 A3 00 00 */ stw r5, 0(r3)
+/* 802BAEB0 002B6B10 41 82 00 0C */ beq lbl_802BAEBC
+/* 802BAEB4 002B6B14 38 00 00 00 */ li r0, 0
+/* 802BAEB8 002B6B18 90 05 00 04 */ stw r0, 4(r5)
+lbl_802BAEBC:
+/* 802BAEBC 002B6B1C 80 03 00 04 */ lwz r0, 4(r3)
+/* 802BAEC0 002B6B20 7C 00 20 40 */ cmplw r0, r4
+/* 802BAEC4 002B6B24 40 82 00 88 */ bne lbl_802BAF4C
+/* 802BAEC8 002B6B28 38 00 00 00 */ li r0, 0
+/* 802BAECC 002B6B2C 90 03 00 04 */ stw r0, 4(r3)
+/* 802BAED0 002B6B30 48 00 00 7C */ b lbl_802BAF4C
+lbl_802BAED4:
+/* 802BAED4 002B6B34 80 03 00 04 */ lwz r0, 4(r3)
+/* 802BAED8 002B6B38 7C 00 20 40 */ cmplw r0, r4
+/* 802BAEDC 002B6B3C 40 82 00 20 */ bne lbl_802BAEFC
+/* 802BAEE0 002B6B40 80 A4 00 04 */ lwz r5, 4(r4)
+/* 802BAEE4 002B6B44 2C 05 00 00 */ cmpwi r5, 0
+/* 802BAEE8 002B6B48 90 A3 00 04 */ stw r5, 4(r3)
+/* 802BAEEC 002B6B4C 41 82 00 60 */ beq lbl_802BAF4C
+/* 802BAEF0 002B6B50 38 00 00 00 */ li r0, 0
+/* 802BAEF4 002B6B54 90 05 00 00 */ stw r0, 0(r5)
+/* 802BAEF8 002B6B58 48 00 00 54 */ b lbl_802BAF4C
+lbl_802BAEFC:
+/* 802BAEFC 002B6B5C 80 64 00 00 */ lwz r3, 0(r4)
+/* 802BAF00 002B6B60 2C 03 00 00 */ cmpwi r3, 0
+/* 802BAF04 002B6B64 4D 82 00 20 */ beqlr
+/* 802BAF08 002B6B68 80 03 00 04 */ lwz r0, 4(r3)
+/* 802BAF0C 002B6B6C 7C 00 20 40 */ cmplw r0, r4
+/* 802BAF10 002B6B70 4C 82 00 20 */ bnelr
+/* 802BAF14 002B6B74 80 04 00 04 */ lwz r0, 4(r4)
+/* 802BAF18 002B6B78 90 03 00 04 */ stw r0, 4(r3)
+/* 802BAF1C 002B6B7C 48 00 00 08 */ b lbl_802BAF24
+/* 802BAF20 002B6B80 4E 80 00 20 */ blr
+lbl_802BAF24:
+/* 802BAF24 002B6B84 80 64 00 04 */ lwz r3, 4(r4)
+/* 802BAF28 002B6B88 2C 03 00 00 */ cmpwi r3, 0
+/* 802BAF2C 002B6B8C 4D 82 00 20 */ beqlr
+/* 802BAF30 002B6B90 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BAF34 002B6B94 7C 00 20 40 */ cmplw r0, r4
+/* 802BAF38 002B6B98 4C 82 00 20 */ bnelr
+/* 802BAF3C 002B6B9C 80 04 00 00 */ lwz r0, 0(r4)
+/* 802BAF40 002B6BA0 90 03 00 00 */ stw r0, 0(r3)
+/* 802BAF44 002B6BA4 48 00 00 08 */ b lbl_802BAF4C
+/* 802BAF48 002B6BA8 4E 80 00 20 */ blr
+lbl_802BAF4C:
+/* 802BAF4C 002B6BAC 38 60 00 00 */ li r3, 0
+/* 802BAF50 002B6BB0 3C 00 80 00 */ lis r0, 0x8000
+/* 802BAF54 002B6BB4 90 64 00 04 */ stw r3, 4(r4)
+/* 802BAF58 002B6BB8 90 64 00 00 */ stw r3, 0(r4)
+/* 802BAF5C 002B6BBC 90 04 00 0C */ stw r0, 0xc(r4)
+/* 802BAF60 002B6BC0 98 64 00 16 */ stb r3, 0x16(r4)
+/* 802BAF64 002B6BC4 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/hcisu_h2.s b/asm/SDK/BTE/hcisu_h2.s
new file mode 100644
index 0000000..749530d
--- /dev/null
+++ b/asm/SDK/BTE/hcisu_h2.s
@@ -0,0 +1,478 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+hcisu_h2_usb_cback:
+/* 802BB1F8 002B6E58 2C 03 00 04 */ cmpwi r3, 4
+/* 802BB1FC 002B6E5C 41 82 00 14 */ beq lbl_802BB210
+/* 802BB200 002B6E60 4C 80 00 20 */ bgelr
+/* 802BB204 002B6E64 2C 03 00 00 */ cmpwi r3, 0
+/* 802BB208 002B6E68 4D 82 00 20 */ beqlr
+/* 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 bta_usb_close_evt
+/* 802BB218 002B6E78 4E 80 00 20 */ blr
+
+.global hcisu_h2_receive_msg
+hcisu_h2_receive_msg:
+/* 802BB21C 002B6E7C 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 802BB220 002B6E80 7C 08 02 A6 */ mflr r0
+/* 802BB224 002B6E84 90 01 00 64 */ stw r0, 0x64(r1)
+/* 802BB228 002B6E88 39 61 00 60 */ addi r11, r1, 0x60
+/* 802BB22C 002B6E8C 4B F0 BE C9 */ bl __save_gpr
+/* 802BB230 002B6E90 88 04 00 1E */ lbz r0, 0x1e(r4)
+/* 802BB234 002B6E94 7C 8F 23 78 */ mr r15, r4
+/* 802BB238 002B6E98 3A 60 00 00 */ li r19, 0
+/* 802BB23C 002B6E9C 28 00 00 02 */ cmplwi r0, 2
+/* 802BB240 002B6EA0 41 82 00 0C */ beq lbl_802BB24C
+/* 802BB244 002B6EA4 38 60 00 00 */ li r3, 0
+/* 802BB248 002B6EA8 48 00 03 54 */ b lbl_802BB59C
+lbl_802BB24C:
+/* 802BB24C 002B6EAC 3A 83 00 01 */ addi r20, r3, 1
+/* 802BB250 002B6EB0 54 60 0B FC */ rlwinm r0, r3, 1, 0xf, 0x1e
+/* 802BB254 002B6EB4 3F E0 80 56 */ lis r31, lbl_80564DA0@ha
+/* 802BB258 002B6EB8 7E C4 1A 14 */ add r22, r4, r3
+/* 802BB25C 002B6EBC 56 90 04 3E */ clrlwi r16, r20, 0x10
+/* 802BB260 002B6EC0 54 77 13 BA */ rlwinm r23, r3, 2, 0xe, 0x1d
+/* 802BB264 002B6EC4 7E A4 02 14 */ add r21, r4, r0
+/* 802BB268 002B6EC8 3B FF 4D A0 */ addi r31, r31, lbl_80564DA0@l
+/* 802BB26C 002B6ECC 3B A0 00 00 */ li r29, 0
+/* 802BB270 002B6ED0 3B C0 00 04 */ li r30, 4
+/* 802BB274 002B6ED4 3B 82 A4 38 */ addi r28, r2, lbl_80642A38-_SDA2_BASE_
+/* 802BB278 002B6ED8 3B 20 00 03 */ li r25, 3
+/* 802BB27C 002B6EDC 3B 00 00 02 */ li r24, 2
+/* 802BB280 002B6EE0 3D C0 80 44 */ lis r14, 0x8044
+/* 802BB284 002B6EE4 3B 42 A4 40 */ addi r26, r2, lbl_80642A40-_SDA2_BASE_
+/* 802BB288 002B6EE8 3B 60 00 01 */ li r27, 1
+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 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)
+/* 802BB2A8 002B6F08 3A 20 00 00 */ li r17, 0
+/* 802BB2AC 002B6F0C 3A 73 00 01 */ addi r19, r19, 1
+/* 802BB2B0 002B6F10 2C 00 00 02 */ cmpwi r0, 2
+/* 802BB2B4 002B6F14 41 82 01 C8 */ beq lbl_802BB47C
+/* 802BB2B8 002B6F18 40 80 00 14 */ bge lbl_802BB2CC
+/* 802BB2BC 002B6F1C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BB2C0 002B6F20 41 82 00 1C */ beq lbl_802BB2DC
+/* 802BB2C4 002B6F24 40 80 00 C0 */ bge lbl_802BB384
+/* 802BB2C8 002B6F28 48 00 02 B0 */ b lbl_802BB578
+lbl_802BB2CC:
+/* 802BB2CC 002B6F2C 2C 00 00 04 */ cmpwi r0, 4
+/* 802BB2D0 002B6F30 41 82 02 90 */ beq lbl_802BB560
+/* 802BB2D4 002B6F34 40 80 02 A4 */ bge lbl_802BB578
+/* 802BB2D8 002B6F38 48 00 01 F0 */ b lbl_802BB4C8
+lbl_802BB2DC:
+/* 802BB2DC 002B6F3C 28 10 00 01 */ cmplwi r16, 1
+/* 802BB2E0 002B6F40 40 82 00 18 */ bne lbl_802BB2F8
+/* 802BB2E4 002B6F44 38 60 00 02 */ li r3, 2
+/* 802BB2E8 002B6F48 4B FF E9 65 */ bl GKI_getpoolbuf
+/* 802BB2EC 002B6F4C 7C 6F B9 2E */ stwx r3, r15, r23
+/* 802BB2F0 002B6F50 9B D6 00 14 */ stb r30, 0x14(r22)
+/* 802BB2F4 002B6F54 48 00 00 38 */ b lbl_802BB32C
+lbl_802BB2F8:
+/* 802BB2F8 002B6F58 28 10 00 02 */ cmplwi r16, 2
+/* 802BB2FC 002B6F5C 40 82 00 18 */ bne lbl_802BB314
+/* 802BB300 002B6F60 38 60 00 03 */ li r3, 3
+/* 802BB304 002B6F64 4B FF E9 49 */ bl GKI_getpoolbuf
+/* 802BB308 002B6F68 7C 6F B9 2E */ stwx r3, r15, r23
+/* 802BB30C 002B6F6C 9B 16 00 14 */ stb r24, 0x14(r22)
+/* 802BB310 002B6F70 48 00 00 1C */ b lbl_802BB32C
+lbl_802BB314:
+/* 802BB314 002B6F74 28 10 00 03 */ cmplwi r16, 3
+/* 802BB318 002B6F78 40 82 02 60 */ bne lbl_802BB578
+/* 802BB31C 002B6F7C 38 60 00 01 */ li r3, 1
+/* 802BB320 002B6F80 4B FF E9 2D */ bl GKI_getpoolbuf
+/* 802BB324 002B6F84 7C 6F B9 2E */ stwx r3, r15, r23
+/* 802BB328 002B6F88 9B 36 00 14 */ stb r25, 0x14(r22)
+lbl_802BB32C:
+/* 802BB32C 002B6F8C 7C 6F B8 2E */ lwzx r3, r15, r23
+/* 802BB330 002B6F90 2C 03 00 00 */ cmpwi r3, 0
+/* 802BB334 002B6F94 41 82 00 30 */ beq lbl_802BB364
+/* 802BB338 002B6F98 B3 A3 00 02 */ sth r29, 2(r3)
+/* 802BB33C 002B6F9C 88 16 00 14 */ lbz r0, 0x14(r22)
+/* 802BB340 002B6FA0 7C 6F B8 2E */ lwzx r3, r15, r23
+/* 802BB344 002B6FA4 54 00 08 3C */ slwi r0, r0, 1
+/* 802BB348 002B6FA8 7C 9A 02 14 */ add r4, r26, r0
+/* 802BB34C 002B6FAC A0 04 FF FE */ lhz r0, -2(r4)
+/* 802BB350 002B6FB0 B0 03 00 00 */ sth r0, 0(r3)
+/* 802BB354 002B6FB4 7C 6F B8 2E */ lwzx r3, r15, r23
+/* 802BB358 002B6FB8 B3 A3 00 04 */ sth r29, 4(r3)
+/* 802BB35C 002B6FBC 9B 76 00 1A */ stb r27, 0x1a(r22)
+/* 802BB360 002B6FC0 48 00 00 14 */ b lbl_802BB374
+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 LogMsg_0
+/* 802BB370 002B6FD0 9B 16 00 1A */ stb r24, 0x1a(r22)
+lbl_802BB374:
+/* 802BB374 002B6FD4 88 16 00 14 */ lbz r0, 0x14(r22)
+/* 802BB378 002B6FD8 7C 7C 02 14 */ add r3, r28, r0
+/* 802BB37C 002B6FDC 88 03 FF FF */ lbz r0, -1(r3)
+/* 802BB380 002B6FE0 B0 15 00 0C */ sth r0, 0xc(r21)
+lbl_802BB384:
+/* 802BB384 002B6FE4 7C CF B8 2E */ lwzx r6, r15, r23
+/* 802BB388 002B6FE8 88 A1 00 08 */ lbz r5, 8(r1)
+/* 802BB38C 002B6FEC A0 86 00 02 */ lhz r4, 2(r6)
+/* 802BB390 002B6FF0 7C 66 22 14 */ add r3, r6, r4
+/* 802BB394 002B6FF4 38 04 00 01 */ addi r0, r4, 1
+/* 802BB398 002B6FF8 98 A3 00 08 */ stb r5, 8(r3)
+/* 802BB39C 002B6FFC B0 06 00 02 */ sth r0, 2(r6)
+/* 802BB3A0 002B7000 A0 75 00 0C */ lhz r3, 0xc(r21)
+/* 802BB3A4 002B7004 38 63 FF FF */ addi r3, r3, -1
+/* 802BB3A8 002B7008 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802BB3AC 002B700C B0 75 00 0C */ sth r3, 0xc(r21)
+/* 802BB3B0 002B7010 40 82 00 C0 */ bne lbl_802BB470
+/* 802BB3B4 002B7014 88 16 00 14 */ lbz r0, 0x14(r22)
+/* 802BB3B8 002B7018 8A 41 00 08 */ lbz r18, 8(r1)
+/* 802BB3BC 002B701C 28 00 00 02 */ cmplwi r0, 2
+/* 802BB3C0 002B7020 40 82 00 44 */ bne lbl_802BB404
+/* 802BB3C4 002B7024 88 16 00 17 */ lbz r0, 0x17(r22)
+/* 802BB3C8 002B7028 56 44 42 2E */ rlwinm r4, r18, 8, 8, 0x17
+/* 802BB3CC 002B702C 7C 6F B8 2E */ lwzx r3, r15, r23
+/* 802BB3D0 002B7030 7C 04 02 14 */ add r0, r4, r0
+/* 802BB3D4 002B7034 54 12 04 3E */ clrlwi r18, r0, 0x10
+/* 802BB3D8 002B7038 48 01 D2 45 */ bl func_802D861C
+/* 802BB3DC 002B703C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BB3E0 002B7040 7C 6F B9 2E */ stwx r3, r15, r23
+/* 802BB3E4 002B7044 40 82 00 20 */ bne lbl_802BB404
+/* 802BB3E8 002B7048 2C 12 00 00 */ cmpwi r18, 0
+/* 802BB3EC 002B704C B2 55 00 0C */ sth r18, 0xc(r21)
+/* 802BB3F0 002B7050 40 82 00 0C */ bne lbl_802BB3FC
+/* 802BB3F4 002B7054 9B B6 00 1A */ stb r29, 0x1a(r22)
+/* 802BB3F8 002B7058 48 00 01 80 */ b lbl_802BB578
+lbl_802BB3FC:
+/* 802BB3FC 002B705C 9B D6 00 1A */ stb r30, 0x1a(r22)
+/* 802BB400 002B7060 48 00 01 78 */ b lbl_802BB578
+lbl_802BB404:
+/* 802BB404 002B7064 B2 55 00 0C */ sth r18, 0xc(r21)
+/* 802BB408 002B7068 7C 6F B8 2E */ lwzx r3, r15, r23
+/* 802BB40C 002B706C 4B FF EA 99 */ bl GKI_get_buf_size
+/* 802BB410 002B7070 88 16 00 14 */ lbz r0, 0x14(r22)
+/* 802BB414 002B7074 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 802BB418 002B7078 7C 7C 02 14 */ add r3, r28, r0
+/* 802BB41C 002B707C 88 03 FF FF */ lbz r0, -1(r3)
+/* 802BB420 002B7080 7C 72 02 14 */ add r3, r18, r0
+/* 802BB424 002B7084 38 03 00 08 */ addi r0, r3, 8
+/* 802BB428 002B7088 7C 00 20 40 */ cmplw r0, r4
+/* 802BB42C 002B708C 40 81 00 28 */ ble lbl_802BB454
+/* 802BB430 002B7090 7C 6F B8 2E */ lwzx r3, r15, r23
+/* 802BB434 002B7094 4B FF E9 01 */ bl GKI_freebuf
+/* 802BB438 002B7098 7F AF B9 2E */ stwx r29, r15, r23
+/* 802BB43C 002B709C 3C 60 80 44 */ lis r3, lbl_8043F2B4@ha
+/* 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 LogMsg_0
+/* 802BB450 002B70B0 48 00 01 28 */ b lbl_802BB578
+lbl_802BB454:
+/* 802BB454 002B70B4 2C 12 00 00 */ cmpwi r18, 0
+/* 802BB458 002B70B8 41 82 00 0C */ beq lbl_802BB464
+/* 802BB45C 002B70BC 9B 36 00 1A */ stb r25, 0x1a(r22)
+/* 802BB460 002B70C0 48 00 01 18 */ b lbl_802BB578
+lbl_802BB464:
+/* 802BB464 002B70C4 9B B6 00 1A */ stb r29, 0x1a(r22)
+/* 802BB468 002B70C8 3A 20 00 01 */ li r17, 1
+/* 802BB46C 002B70CC 48 00 01 0C */ b lbl_802BB578
+lbl_802BB470:
+/* 802BB470 002B70D0 88 01 00 08 */ lbz r0, 8(r1)
+/* 802BB474 002B70D4 98 16 00 17 */ stb r0, 0x17(r22)
+/* 802BB478 002B70D8 48 00 01 00 */ b lbl_802BB578
+lbl_802BB47C:
+/* 802BB47C 002B70DC A0 75 00 0C */ lhz r3, 0xc(r21)
+/* 802BB480 002B70E0 38 63 FF FF */ addi r3, r3, -1
+/* 802BB484 002B70E4 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802BB488 002B70E8 B0 75 00 0C */ sth r3, 0xc(r21)
+/* 802BB48C 002B70EC 40 82 00 30 */ bne lbl_802BB4BC
+/* 802BB490 002B70F0 88 16 00 14 */ lbz r0, 0x14(r22)
+/* 802BB494 002B70F4 88 61 00 08 */ lbz r3, 8(r1)
+/* 802BB498 002B70F8 28 00 00 02 */ cmplwi r0, 2
+/* 802BB49C 002B70FC 40 82 00 14 */ bne lbl_802BB4B0
+/* 802BB4A0 002B7100 88 16 00 17 */ lbz r0, 0x17(r22)
+/* 802BB4A4 002B7104 54 63 42 2E */ rlwinm r3, r3, 8, 8, 0x17
+/* 802BB4A8 002B7108 7C 03 02 14 */ add r0, r3, r0
+/* 802BB4AC 002B710C 54 03 04 3E */ clrlwi r3, r0, 0x10
+lbl_802BB4B0:
+/* 802BB4B0 002B7110 B0 75 00 0C */ sth r3, 0xc(r21)
+/* 802BB4B4 002B7114 9B D6 00 1A */ stb r30, 0x1a(r22)
+/* 802BB4B8 002B7118 48 00 00 C0 */ b lbl_802BB578
+lbl_802BB4BC:
+/* 802BB4BC 002B711C 88 01 00 08 */ lbz r0, 8(r1)
+/* 802BB4C0 002B7120 98 16 00 17 */ stb r0, 0x17(r22)
+/* 802BB4C4 002B7124 48 00 00 B4 */ b lbl_802BB578
+lbl_802BB4C8:
+/* 802BB4C8 002B7128 7C EF B8 2E */ lwzx r7, r15, r23
+/* 802BB4CC 002B712C 56 83 06 3E */ clrlwi r3, r20, 0x18
+/* 802BB4D0 002B7130 88 C1 00 08 */ lbz r6, 8(r1)
+/* 802BB4D4 002B7134 A0 A7 00 02 */ lhz r5, 2(r7)
+/* 802BB4D8 002B7138 7C 87 2A 14 */ add r4, r7, r5
+/* 802BB4DC 002B713C 38 05 00 01 */ addi r0, r5, 1
+/* 802BB4E0 002B7140 98 C4 00 08 */ stb r6, 8(r4)
+/* 802BB4E4 002B7144 B0 07 00 02 */ sth r0, 2(r7)
+/* 802BB4E8 002B7148 A0 95 00 0C */ lhz r4, 0xc(r21)
+/* 802BB4EC 002B714C 38 04 FF FF */ addi r0, r4, -1
+/* 802BB4F0 002B7150 B0 15 00 0C */ sth r0, 0xc(r21)
+/* 802BB4F4 002B7154 54 05 04 3E */ clrlwi r5, r0, 0x10
+/* 802BB4F8 002B7158 7C 8F B8 2E */ lwzx r4, r15, r23
+/* 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 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)
+/* 802BB518 002B7178 7C 00 1A 14 */ add r0, r0, r3
+/* 802BB51C 002B717C B0 04 00 02 */ sth r0, 2(r4)
+/* 802BB520 002B7180 A0 15 00 0C */ lhz r0, 0xc(r21)
+/* 802BB524 002B7184 7C 63 00 50 */ subf r3, r3, r0
+/* 802BB528 002B7188 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802BB52C 002B718C B0 75 00 0C */ sth r3, 0xc(r21)
+/* 802BB530 002B7190 40 82 00 48 */ bne lbl_802BB578
+/* 802BB534 002B7194 88 16 00 14 */ lbz r0, 0x14(r22)
+/* 802BB538 002B7198 28 00 00 02 */ cmplwi r0, 2
+/* 802BB53C 002B719C 40 82 00 18 */ bne lbl_802BB554
+/* 802BB540 002B71A0 48 01 D2 AD */ bl func_802D87EC
+/* 802BB544 002B71A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802BB548 002B71A8 40 82 00 0C */ bne lbl_802BB554
+/* 802BB54C 002B71AC 9B B6 00 1A */ stb r29, 0x1a(r22)
+/* 802BB550 002B71B0 48 00 00 28 */ b lbl_802BB578
+lbl_802BB554:
+/* 802BB554 002B71B4 9B B6 00 1A */ stb r29, 0x1a(r22)
+/* 802BB558 002B71B8 3A 20 00 01 */ li r17, 1
+/* 802BB55C 002B71BC 48 00 00 1C */ b lbl_802BB578
+lbl_802BB560:
+/* 802BB560 002B71C0 A0 75 00 0C */ lhz r3, 0xc(r21)
+/* 802BB564 002B71C4 38 63 FF FF */ addi r3, r3, -1
+/* 802BB568 002B71C8 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802BB56C 002B71CC B0 75 00 0C */ sth r3, 0xc(r21)
+/* 802BB570 002B71D0 40 82 00 08 */ bne lbl_802BB578
+/* 802BB574 002B71D4 9B B6 00 1A */ stb r29, 0x1a(r22)
+lbl_802BB578:
+/* 802BB578 002B71D8 2C 11 00 00 */ cmpwi r17, 0
+/* 802BB57C 002B71DC 41 82 FD 10 */ beq lbl_802BB28C
+/* 802BB580 002B71E0 88 7F 00 1F */ lbz r3, 0x1f(r31)
+/* 802BB584 002B71E4 38 80 00 00 */ li r4, 0
+/* 802BB588 002B71E8 7C AF B8 2E */ lwzx r5, r15, r23
+/* 802BB58C 002B71EC 4B FF E9 5D */ bl GKI_send_msg
+/* 802BB590 002B71F0 7F AF B9 2E */ stwx r29, r15, r23
+/* 802BB594 002B71F4 4B FF FC F8 */ b lbl_802BB28C
+lbl_802BB598:
+/* 802BB598 002B71F8 7E 63 9B 78 */ mr r3, r19
+lbl_802BB59C:
+/* 802BB59C 002B71FC 39 61 00 60 */ addi r11, r1, 0x60
+/* 802BB5A0 002B7200 4B F0 BB A1 */ bl __restore_gpr
+/* 802BB5A4 002B7204 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 802BB5A8 002B7208 7C 08 03 A6 */ mtlr r0
+/* 802BB5AC 002B720C 38 21 00 60 */ addi r1, r1, 0x60
+/* 802BB5B0 002B7210 4E 80 00 20 */ blr
+
+.global hcisu_h2_send_msg_now
+hcisu_h2_send_msg_now:
+/* 802BB5B4 002B7214 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BB5B8 002B7218 7C 08 02 A6 */ mflr r0
+/* 802BB5BC 002B721C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BB5C0 002B7220 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BB5C4 002B7224 4B F0 BB 65 */ bl _savegpr_27
+/* 802BB5C8 002B7228 A0 A4 00 00 */ lhz r5, 0(r4)
+/* 802BB5CC 002B722C 7C 9B 23 78 */ mr r27, r4
+/* 802BB5D0 002B7230 A0 04 00 04 */ lhz r0, 4(r4)
+/* 802BB5D4 002B7234 28 05 21 00 */ cmplwi r5, 0x2100
+/* 802BB5D8 002B7238 7C 64 02 14 */ add r3, r4, r0
+/* 802BB5DC 002B723C 38 C3 00 08 */ addi r6, r3, 8
+/* 802BB5E0 002B7240 40 82 00 0C */ bne lbl_802BB5EC
+/* 802BB5E4 002B7244 3B 80 00 02 */ li r28, 2
+/* 802BB5E8 002B7248 48 00 00 20 */ b lbl_802BB608
+lbl_802BB5EC:
+/* 802BB5EC 002B724C 28 05 22 00 */ cmplwi r5, 0x2200
+/* 802BB5F0 002B7250 40 82 00 0C */ bne lbl_802BB5FC
+/* 802BB5F4 002B7254 3B 80 00 03 */ li r28, 3
+/* 802BB5F8 002B7258 48 00 00 10 */ b lbl_802BB608
+lbl_802BB5FC:
+/* 802BB5FC 002B725C 28 05 20 00 */ cmplwi r5, 0x2000
+/* 802BB600 002B7260 40 82 00 08 */ bne lbl_802BB608
+/* 802BB604 002B7264 3B 80 00 00 */ li r28, 0
+lbl_802BB608:
+/* 802BB608 002B7268 28 05 21 00 */ cmplwi r5, 0x2100
+/* 802BB60C 002B726C 40 82 01 20 */ bne lbl_802BB72C
+/* 802BB610 002B7270 3C 60 80 57 */ lis r3, lbl_80568650@ha
+/* 802BB614 002B7274 A0 84 00 02 */ lhz r4, 2(r4)
+/* 802BB618 002B7278 3B C3 86 50 */ addi r30, r3, lbl_80568650@l
+/* 802BB61C 002B727C A0 1E 00 7E */ lhz r0, 0x7e(r30)
+/* 802BB620 002B7280 7C 04 00 40 */ cmplw r4, r0
+/* 802BB624 002B7284 40 81 01 08 */ ble lbl_802BB72C
+/* 802BB628 002B7288 88 06 00 01 */ lbz r0, 1(r6)
+/* 802BB62C 002B728C 88 66 00 00 */ lbz r3, 0(r6)
+/* 802BB630 002B7290 38 C6 00 02 */ addi r6, r6, 2
+/* 802BB634 002B7294 54 00 44 2E */ rlwinm r0, r0, 8, 0x10, 0x17
+/* 802BB638 002B7298 7C 03 02 14 */ add r0, r3, r0
+/* 802BB63C 002B729C 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802BB640 002B72A0 70 00 CF FF */ andi. r0, r0, 0xcfff
+/* 802BB644 002B72A4 60 1F 10 00 */ ori r31, r0, 0x1000
+/* 802BB648 002B72A8 7F FD 46 70 */ srawi r29, r31, 8
+/* 802BB64C 002B72AC 48 00 00 D0 */ b lbl_802BB71C
+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 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)
+/* 802BB66C 002B72CC 7C 03 02 14 */ add r0, r3, r0
+/* 802BB670 002B72D0 B0 1B 00 04 */ sth r0, 4(r27)
+/* 802BB674 002B72D4 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802BB678 002B72D8 7C 7B 02 14 */ add r3, r27, r0
+/* 802BB67C 002B72DC A0 1E 00 7C */ lhz r0, 0x7c(r30)
+/* 802BB680 002B72E0 38 C3 00 0A */ addi r6, r3, 0xa
+/* 802BB684 002B72E4 7C 00 20 50 */ subf r0, r0, r4
+/* 802BB688 002B72E8 B0 1B 00 02 */ sth r0, 2(r27)
+/* 802BB68C 002B72EC 9B E3 00 08 */ stb r31, 8(r3)
+/* 802BB690 002B72F0 9B A3 00 09 */ stb r29, 9(r3)
+/* 802BB694 002B72F4 A0 7B 00 02 */ lhz r3, 2(r27)
+/* 802BB698 002B72F8 A0 1E 00 7E */ lhz r0, 0x7e(r30)
+/* 802BB69C 002B72FC 7C 03 00 40 */ cmplw r3, r0
+/* 802BB6A0 002B7300 40 81 00 20 */ ble lbl_802BB6C0
+/* 802BB6A4 002B7304 A0 1E 00 7C */ lhz r0, 0x7c(r30)
+/* 802BB6A8 002B7308 98 06 00 00 */ stb r0, 0(r6)
+/* 802BB6AC 002B730C A0 1E 00 7C */ lhz r0, 0x7c(r30)
+/* 802BB6B0 002B7310 7C 00 46 70 */ srawi r0, r0, 8
+/* 802BB6B4 002B7314 98 06 00 01 */ stb r0, 1(r6)
+/* 802BB6B8 002B7318 38 C6 00 02 */ addi r6, r6, 2
+/* 802BB6BC 002B731C 48 00 00 20 */ b lbl_802BB6DC
+lbl_802BB6C0:
+/* 802BB6C0 002B7320 38 03 FF FC */ addi r0, r3, -4
+/* 802BB6C4 002B7324 98 06 00 00 */ stb r0, 0(r6)
+/* 802BB6C8 002B7328 A0 7B 00 02 */ lhz r3, 2(r27)
+/* 802BB6CC 002B732C 38 03 FF FC */ addi r0, r3, -4
+/* 802BB6D0 002B7330 7C 00 46 70 */ srawi r0, r0, 8
+/* 802BB6D4 002B7334 98 06 00 01 */ stb r0, 1(r6)
+/* 802BB6D8 002B7338 38 C6 00 02 */ addi r6, r6, 2
+lbl_802BB6DC:
+/* 802BB6DC 002B733C A0 7B 00 06 */ lhz r3, 6(r27)
+/* 802BB6E0 002B7340 2C 03 00 00 */ cmpwi r3, 0
+/* 802BB6E4 002B7344 41 82 00 38 */ beq lbl_802BB71C
+/* 802BB6E8 002B7348 38 63 FF FF */ addi r3, r3, -1
+/* 802BB6EC 002B734C 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802BB6F0 002B7350 B0 7B 00 06 */ sth r3, 6(r27)
+/* 802BB6F4 002B7354 40 82 00 28 */ bne lbl_802BB71C
+/* 802BB6F8 002B7358 38 00 19 00 */ li r0, 0x1900
+/* 802BB6FC 002B735C 3C 60 80 56 */ lis r3, lbl_80564DA0@ha
+/* 802BB700 002B7360 B0 1B 00 00 */ sth r0, 0(r27)
+/* 802BB704 002B7364 38 63 4D A0 */ addi r3, r3, lbl_80564DA0@l
+/* 802BB708 002B7368 7F 65 DB 78 */ mr r5, r27
+/* 802BB70C 002B736C 38 80 00 00 */ li r4, 0
+/* 802BB710 002B7370 88 63 00 1F */ lbz r3, 0x1f(r3)
+/* 802BB714 002B7374 4B FF E7 D5 */ bl GKI_send_msg
+/* 802BB718 002B7378 48 00 00 30 */ b lbl_802BB748
+lbl_802BB71C:
+/* 802BB71C 002B737C A0 BE 00 7E */ lhz r5, 0x7e(r30)
+/* 802BB720 002B7380 A0 1B 00 02 */ lhz r0, 2(r27)
+/* 802BB724 002B7384 7C 00 28 40 */ cmplw r0, r5
+/* 802BB728 002B7388 41 81 FF 28 */ bgt lbl_802BB650
+lbl_802BB72C:
+/* 802BB72C 002B738C A0 BB 00 02 */ lhz r5, 2(r27)
+/* 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 UUSB_Write
+/* 802BB740 002B73A0 7F 63 DB 78 */ mr r3, r27
+/* 802BB744 002B73A4 4B FF E5 F1 */ bl GKI_freebuf
+lbl_802BB748:
+/* 802BB748 002B73A8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BB74C 002B73AC 4B F0 BA 29 */ bl _restgpr_27
+/* 802BB750 002B73B0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BB754 002B73B4 7C 08 03 A6 */ mtlr r0
+/* 802BB758 002B73B8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BB75C 002B73BC 4E 80 00 20 */ blr
+
+hcisu_h2_init:
+/* 802BB760 002B73C0 3C C0 80 56 */ lis r6, lbl_80564DA0@ha
+/* 802BB764 002B73C4 38 00 00 00 */ li r0, 0
+/* 802BB768 002B73C8 38 C6 4D A0 */ addi r6, r6, lbl_80564DA0@l
+/* 802BB76C 002B73CC 98 06 00 1E */ stb r0, 0x1e(r6)
+/* 802BB770 002B73D0 98 06 00 1A */ stb r0, 0x1a(r6)
+/* 802BB774 002B73D4 98 06 00 1B */ stb r0, 0x1b(r6)
+/* 802BB778 002B73D8 98 06 00 1C */ stb r0, 0x1c(r6)
+/* 802BB77C 002B73DC 98 66 00 1F */ stb r3, 0x1f(r6)
+/* 802BB780 002B73E0 98 86 00 20 */ stb r4, 0x20(r6)
+/* 802BB784 002B73E4 B0 A6 00 12 */ sth r5, 0x12(r6)
+/* 802BB788 002B73E8 4E 80 00 20 */ blr
+
+hcisu_h2_open:
+/* 802BB78C 002B73EC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BB790 002B73F0 7C 08 02 A6 */ mflr r0
+/* 802BB794 002B73F4 3C A0 80 56 */ lis r5, lbl_80564DA0@ha
+/* 802BB798 002B73F8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BB79C 002B73FC 38 00 00 00 */ li r0, 0
+/* 802BB7A0 002B7400 38 A5 4D A0 */ addi r5, r5, lbl_80564DA0@l
+/* 802BB7A4 002B7404 98 01 00 13 */ stb r0, 0x13(r1)
+/* 802BB7A8 002B7408 38 00 00 02 */ li r0, 2
+/* 802BB7AC 002B740C 88 85 00 1F */ lbz r4, 0x1f(r5)
+/* 802BB7B0 002B7410 A0 C3 00 00 */ lhz r6, 0(r3)
+/* 802BB7B4 002B7414 B0 C1 00 0C */ sth r6, 0xc(r1)
+/* 802BB7B8 002B7418 A0 C3 00 02 */ lhz r6, 2(r3)
+/* 802BB7BC 002B741C 38 61 00 08 */ addi r3, r1, 8
+/* 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 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 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
+/* 802BB7EC 002B744C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BB7F0 002B7450 4E 80 00 20 */ blr
+
+hcisu_h2_close:
+/* 802BB7F4 002B7454 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BB7F8 002B7458 7C 08 02 A6 */ mflr r0
+/* 802BB7FC 002B745C 3C 60 80 56 */ lis r3, lbl_80564DA0@ha
+/* 802BB800 002B7460 90 01 00 14 */ stw r0, 0x14(r1)
+/* 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 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
+/* 802BB824 002B7484 4E 80 00 20 */ blr
+
+hcisu_h2_send:
+/* 802BB828 002B7488 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BB82C 002B748C 7C 08 02 A6 */ mflr r0
+/* 802BB830 002B7490 3C A0 80 56 */ lis r5, lbl_80564DA0@ha
+/* 802BB834 002B7494 7C 64 1B 78 */ mr r4, r3
+/* 802BB838 002B7498 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BB83C 002B749C 38 65 4D A0 */ addi r3, r5, lbl_80564DA0@l
+/* 802BB840 002B74A0 4B FF FD 75 */ bl hcisu_h2_send_msg_now
+/* 802BB844 002B74A4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BB848 002B74A8 38 60 00 01 */ li r3, 1
+/* 802BB84C 002B74AC 7C 08 03 A6 */ mtlr r0
+/* 802BB850 002B74B0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BB854 002B74B4 4E 80 00 20 */ blr
+
+hcisu_h2_handle_event:
+/* 802BB858 002B74B8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BB85C 002B74BC 7C 08 02 A6 */ mflr r0
+/* 802BB860 002B74C0 3C 80 80 56 */ lis r4, lbl_80564DA0@ha
+/* 802BB864 002B74C4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BB868 002B74C8 38 84 4D A0 */ addi r4, r4, lbl_80564DA0@l
+/* 802BB86C 002B74CC 38 03 FF F8 */ addi r0, r3, -8
+/* 802BB870 002B74D0 A0 64 00 12 */ lhz r3, 0x12(r4)
+/* 802BB874 002B74D4 7C 03 00 50 */ subf r0, r3, r0
+/* 802BB878 002B74D8 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BB87C 002B74DC 4B FF F9 A1 */ bl hcisu_h2_receive_msg
+/* 802BB880 002B74E0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BB884 002B74E4 38 60 00 00 */ li r3, 0
+/* 802BB888 002B74E8 7C 08 03 A6 */ mtlr r0
+/* 802BB88C 002B74EC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BB890 002B74F0 4E 80 00 20 */ blr
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/euart.s b/asm/SDK/EUART/euart.s
index 76d486f..76d486f 100644
--- a/asm/SDK/euart.s
+++ b/asm/SDK/EUART/euart.s
diff --git a/asm/SDK/usb.s b/asm/SDK/USB/usb.s
index a276a0e..a276a0e 100644
--- a/asm/SDK/usb.s
+++ b/asm/SDK/USB/usb.s
diff --git a/asm/SDK/WPAD/WPAD.s b/asm/SDK/WPAD/WPAD.s
index 273c48e..0438b59 100644
--- a/asm/SDK/WPAD/WPAD.s
+++ b/asm/SDK/WPAD/WPAD.s
@@ -7579,7 +7579,7 @@ lbl_802AC910:
/* 802AC924 002A8584 48 00 6F 3D */ bl DEBUGPrint
/* 802AC928 002A8588 38 19 00 12 */ addi r0, r25, 0x12
/* 802AC92C 002A858C 54 03 06 3E */ clrlwi r3, r0, 0x18
-/* 802AC930 002A8590 48 00 D1 7D */ bl func_802B9AAC
+/* 802AC930 002A8590 48 00 D1 7D */ bl GKI_getbuf
/* 802AC934 002A8594 38 99 00 01 */ addi r4, r25, 1
/* 802AC938 002A8598 38 00 00 0A */ li r0, 0xa
/* 802AC93C 002A859C 54 84 06 3E */ clrlwi r4, r4, 0x18
diff --git a/asm/SDK/WUD.s b/asm/SDK/WUD/WUD.s
index 21933de..c3695fc 100644
--- a/asm/SDK/WUD.s
+++ b/asm/SDK/WUD/WUD.s
@@ -12,7 +12,7 @@ App_MEMalloc:
/* 802B4CD4 002B0934 7C 7F 1B 78 */ mr r31, r3
/* 802B4CD8 002B0938 38 64 E1 24 */ addi r3, r4, lbl_8043E124@l
/* 802B4CDC 002B093C 4C C6 31 82 */ crclr 6
-/* 802B4CE0 002B0940 48 00 48 9D */ bl func_802B957C
+/* 802B4CE0 002B0940 48 00 48 9D */ bl WUD_DEBUGPrint
/* 802B4CE4 002B0944 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B4CE8 002B0948 7F E3 FB 78 */ mr r3, r31
/* 802B4CEC 002B094C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -35,7 +35,7 @@ App_MEMfree:
/* 802B4D24 002B0984 7C 7F 1B 78 */ mr r31, r3
/* 802B4D28 002B0988 38 64 E1 34 */ addi r3, r4, lbl_8043E134@l
/* 802B4D2C 002B098C 4C C6 31 82 */ crclr 6
-/* 802B4D30 002B0990 48 00 48 4D */ bl func_802B957C
+/* 802B4D30 002B0990 48 00 48 4D */ bl WUD_DEBUGPrint
/* 802B4D34 002B0994 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B4D38 002B0998 7F E3 FB 78 */ mr r3, r31
/* 802B4D3C 002B099C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -62,7 +62,7 @@ SyncFlushCallback:
/* 802B4D88 002B09E8 7F C4 F3 78 */ mr r4, r30
/* 802B4D8C 002B09EC 38 63 E1 44 */ addi r3, r3, lbl_8043E144@l
/* 802B4D90 002B09F0 4C C6 31 82 */ crclr 6
-/* 802B4D94 002B09F4 48 00 47 E9 */ bl func_802B957C
+/* 802B4D94 002B09F4 48 00 47 E9 */ bl WUD_DEBUGPrint
/* 802B4D98 002B09F8 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 802B4D9C 002B09FC 2C 00 00 00 */ cmpwi r0, 0
/* 802B4DA0 002B0A00 41 82 00 20 */ beq lbl_802B4DC0
@@ -94,7 +94,7 @@ DeleteFlushCallback:
/* 802B4DF8 002B0A58 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l
/* 802B4DFC 002B0A5C 88 BF 00 0D */ lbz r5, 0xd(r31)
/* 802B4E00 002B0A60 4C C6 31 82 */ crclr 6
-/* 802B4E04 002B0A64 48 00 47 79 */ bl func_802B957C
+/* 802B4E04 002B0A64 48 00 47 79 */ bl WUD_DEBUGPrint
/* 802B4E08 002B0A68 88 1F 00 0D */ lbz r0, 0xd(r31)
/* 802B4E0C 002B0A6C 2C 00 00 00 */ cmpwi r0, 0
/* 802B4E10 002B0A70 41 82 00 0C */ beq lbl_802B4E1C
@@ -119,7 +119,7 @@ ShutFlushCallback:
/* 802B4E50 002B0AB0 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l
/* 802B4E54 002B0AB4 88 BF 00 11 */ lbz r5, 0x11(r31)
/* 802B4E58 002B0AB8 4C C6 31 82 */ crclr 6
-/* 802B4E5C 002B0ABC 48 00 47 21 */ bl func_802B957C
+/* 802B4E5C 002B0ABC 48 00 47 21 */ bl WUD_DEBUGPrint
/* 802B4E60 002B0AC0 38 7F 07 10 */ addi r3, r31, 0x710
/* 802B4E64 002B0AC4 4B FB 4C 15 */ bl OSCancelAlarm
/* 802B4E68 002B0AC8 38 00 00 03 */ li r0, 3
@@ -293,7 +293,7 @@ lbl_802B50A8:
/* 802B50B4 002B0D14 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 802B50B8 002B0D18 38 63 E1 B8 */ addi r3, r3, lbl_8043E1B8@l
/* 802B50BC 002B0D1C 4C C6 31 82 */ crclr 6
-/* 802B50C0 002B0D20 48 00 44 BD */ bl func_802B957C
+/* 802B50C0 002B0D20 48 00 44 BD */ bl WUD_DEBUGPrint
/* 802B50C4 002B0D24 3C 60 80 54 */ lis r3, lbl_8053AC28@ha
/* 802B50C8 002B0D28 38 63 AC 28 */ addi r3, r3, lbl_8053AC28@l
/* 802B50CC 002B0D2C 48 03 75 41 */ bl func_802EC60C
@@ -400,7 +400,7 @@ lbl_802B5230:
/* 802B5230 002B0E90 3C 60 80 44 */ lis r3, lbl_8043E1D8@ha
/* 802B5234 002B0E94 38 63 E1 D8 */ addi r3, r3, lbl_8043E1D8@l
/* 802B5238 002B0E98 4C C6 31 82 */ crclr 6
-/* 802B523C 002B0E9C 48 00 43 41 */ bl func_802B957C
+/* 802B523C 002B0E9C 48 00 43 41 */ bl WUD_DEBUGPrint
/* 802B5240 002B0EA0 38 60 00 00 */ li r3, 0
lbl_802B5244:
/* 802B5244 002B0EA4 80 01 00 34 */ lwz r0, 0x34(r1)
@@ -856,7 +856,7 @@ lbl_802B5878:
/* 802B5884 002B14E4 7C 7E 1B 78 */ mr r30, r3
/* 802B5888 002B14E8 38 7B 01 B4 */ addi r3, r27, 0x1b4
/* 802B588C 002B14EC 4C C6 31 82 */ crclr 6
-/* 802B5890 002B14F0 48 00 3C ED */ bl func_802B957C
+/* 802B5890 002B14F0 48 00 3C ED */ bl WUD_DEBUGPrint
/* 802B5894 002B14F4 88 9E 00 40 */ lbz r4, 0x40(r30)
/* 802B5898 002B14F8 38 7B 01 CC */ addi r3, r27, 0x1cc
/* 802B589C 002B14FC 88 BE 00 41 */ lbz r5, 0x41(r30)
@@ -865,7 +865,7 @@ lbl_802B5878:
/* 802B58A8 002B1508 89 1E 00 44 */ lbz r8, 0x44(r30)
/* 802B58AC 002B150C 89 3E 00 45 */ lbz r9, 0x45(r30)
/* 802B58B0 002B1510 4C C6 31 82 */ crclr 6
-/* 802B58B4 002B1514 48 00 3C C9 */ bl func_802B957C
+/* 802B58B4 002B1514 48 00 3C C9 */ bl WUD_DEBUGPrint
/* 802B58B8 002B1518 88 1E 00 4D */ lbz r0, 0x4d(r30)
/* 802B58BC 002B151C 38 7B 01 F8 */ addi r3, r27, 0x1f8
/* 802B58C0 002B1520 90 01 00 08 */ stw r0, 8(r1)
@@ -893,7 +893,7 @@ lbl_802B5878:
/* 802B5918 002B1578 89 3E 00 4B */ lbz r9, 0x4b(r30)
/* 802B591C 002B157C 89 5E 00 4C */ lbz r10, 0x4c(r30)
/* 802B5920 002B1580 4C C6 31 82 */ crclr 6
-/* 802B5924 002B1584 48 00 3C 59 */ bl func_802B957C
+/* 802B5924 002B1584 48 00 3C 59 */ bl WUD_DEBUGPrint
/* 802B5928 002B1588 38 00 00 02 */ li r0, 2
/* 802B592C 002B158C 3C C0 80 2C */ lis r6, WUDStoredLinkKeyCallback@ha
/* 802B5930 002B1590 98 1D 00 0E */ stb r0, 0xe(r29)
@@ -985,7 +985,7 @@ lbl_802B5A30:
/* 802B5A54 002B16B4 40 82 00 1C */ bne lbl_802B5A70
/* 802B5A58 002B16B8 38 7B 02 50 */ addi r3, r27, 0x250
/* 802B5A5C 002B16BC 4C C6 31 82 */ crclr 6
-/* 802B5A60 002B16C0 48 00 3B 1D */ bl func_802B957C
+/* 802B5A60 002B16C0 48 00 3B 1D */ bl WUD_DEBUGPrint
/* 802B5A64 002B16C4 48 00 A8 01 */ bl func_802C0264
/* 802B5A68 002B16C8 38 00 00 1A */ li r0, 0x1a
/* 802B5A6C 002B16CC 48 00 00 08 */ b lbl_802B5A74
@@ -997,7 +997,7 @@ lbl_802B5A74:
lbl_802B5A7C:
/* 802B5A7C 002B16DC 38 7B 02 80 */ addi r3, r27, 0x280
/* 802B5A80 002B16E0 4C C6 31 82 */ crclr 6
-/* 802B5A84 002B16E4 48 00 3A F9 */ bl func_802B957C
+/* 802B5A84 002B16E4 48 00 3A F9 */ bl WUD_DEBUGPrint
lbl_802B5A88:
/* 802B5A88 002B16E8 39 61 00 60 */ addi r11, r1, 0x60
/* 802B5A8C 002B16EC 4B F1 16 E5 */ bl _restgpr_26
@@ -1335,35 +1335,35 @@ lbl_802B5EFC:
/* 802B5F18 002B1B78 88 81 00 08 */ lbz r4, 8(r1)
/* 802B5F1C 002B1B7C 38 7E 02 C0 */ addi r3, r30, 0x2c0
/* 802B5F20 002B1B80 4C C6 31 82 */ crclr 6
-/* 802B5F24 002B1B84 48 00 36 59 */ bl func_802B957C
+/* 802B5F24 002B1B84 48 00 36 59 */ bl WUD_DEBUGPrint
/* 802B5F28 002B1B88 A0 81 00 0A */ lhz r4, 0xa(r1)
/* 802B5F2C 002B1B8C 38 7E 02 D8 */ addi r3, r30, 0x2d8
/* 802B5F30 002B1B90 4C C6 31 82 */ crclr 6
-/* 802B5F34 002B1B94 48 00 36 49 */ bl func_802B957C
+/* 802B5F34 002B1B94 48 00 36 49 */ bl WUD_DEBUGPrint
/* 802B5F38 002B1B98 88 81 00 0C */ lbz r4, 0xc(r1)
/* 802B5F3C 002B1B9C 38 7E 02 F0 */ addi r3, r30, 0x2f0
/* 802B5F40 002B1BA0 4C C6 31 82 */ crclr 6
-/* 802B5F44 002B1BA4 48 00 36 39 */ bl func_802B957C
+/* 802B5F44 002B1BA4 48 00 36 39 */ bl WUD_DEBUGPrint
/* 802B5F48 002B1BA8 A0 81 00 10 */ lhz r4, 0x10(r1)
/* 802B5F4C 002B1BAC 38 7E 03 08 */ addi r3, r30, 0x308
/* 802B5F50 002B1BB0 4C C6 31 82 */ crclr 6
-/* 802B5F54 002B1BB4 48 00 36 29 */ bl func_802B957C
+/* 802B5F54 002B1BB4 48 00 36 29 */ bl WUD_DEBUGPrint
/* 802B5F58 002B1BB8 A0 81 00 0E */ lhz r4, 0xe(r1)
/* 802B5F5C 002B1BBC 38 7E 03 20 */ addi r3, r30, 0x320
/* 802B5F60 002B1BC0 4C C6 31 82 */ crclr 6
-/* 802B5F64 002B1BC4 48 00 36 19 */ bl func_802B957C
+/* 802B5F64 002B1BC4 48 00 36 19 */ bl WUD_DEBUGPrint
/* 802B5F68 002B1BC8 A0 01 00 0A */ lhz r0, 0xa(r1)
/* 802B5F6C 002B1BCC 38 7E 03 38 */ addi r3, r30, 0x338
/* 802B5F70 002B1BD0 54 04 05 3E */ clrlwi r4, r0, 0x14
/* 802B5F74 002B1BD4 4C C6 31 82 */ crclr 6
-/* 802B5F78 002B1BD8 48 00 36 05 */ bl func_802B957C
+/* 802B5F78 002B1BD8 48 00 36 05 */ bl WUD_DEBUGPrint
/* 802B5F7C 002B1BDC A0 01 00 0A */ lhz r0, 0xa(r1)
/* 802B5F80 002B1BE0 54 00 05 3E */ clrlwi r0, r0, 0x14
/* 802B5F84 002B1BE4 2C 00 00 A7 */ cmpwi r0, 0xa7
/* 802B5F88 002B1BE8 40 82 00 94 */ bne lbl_802B601C
/* 802B5F8C 002B1BEC 38 7E 03 60 */ addi r3, r30, 0x360
/* 802B5F90 002B1BF0 4C C6 31 82 */ crclr 6
-/* 802B5F94 002B1BF4 48 00 35 E9 */ bl func_802B957C
+/* 802B5F94 002B1BF4 48 00 35 E9 */ bl WUD_DEBUGPrint
/* 802B5F98 002B1BF8 3D 00 80 44 */ lis r8, lbl_8043E54C@ha
/* 802B5F9C 002B1BFC 3C 60 00 01 */ lis r3, 0x0000FC4F@ha
/* 802B5FA0 002B1C00 39 48 E5 4C */ addi r10, r8, lbl_8043E54C@l
@@ -1483,11 +1483,11 @@ lbl_802B6124:
/* 802B6138 002B1D98 89 15 00 44 */ lbz r8, 0x44(r21)
/* 802B613C 002B1D9C 89 35 00 45 */ lbz r9, 0x45(r21)
/* 802B6140 002B1DA0 4C C6 31 82 */ crclr 6
-/* 802B6144 002B1DA4 48 00 34 39 */ bl func_802B957C
+/* 802B6144 002B1DA4 48 00 34 39 */ bl WUD_DEBUGPrint
/* 802B6148 002B1DA8 7E A4 AB 78 */ mr r4, r21
/* 802B614C 002B1DAC 38 79 03 90 */ addi r3, r25, 0x390
/* 802B6150 002B1DB0 4C C6 31 82 */ crclr 6
-/* 802B6154 002B1DB4 48 00 34 29 */ bl func_802B957C
+/* 802B6154 002B1DB4 48 00 34 29 */ bl WUD_DEBUGPrint
/* 802B6158 002B1DB8 3B 18 00 46 */ addi r24, r24, 0x46
/* 802B615C 002B1DBC 3A F7 00 46 */ addi r23, r23, 0x46
/* 802B6160 002B1DC0 3A D6 00 01 */ addi r22, r22, 1
@@ -1641,7 +1641,7 @@ InitCore:
/* 802B6358 002B1FB8 3B DF 00 00 */ addi r30, r31, 0
/* 802B635C 002B1FBC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B6360 002B1FC0 4C C6 31 82 */ crclr 6
-/* 802B6364 002B1FC4 48 00 32 19 */ bl func_802B957C
+/* 802B6364 002B1FC4 48 00 32 19 */ bl WUD_DEBUGPrint
/* 802B6368 002B1FC8 38 DF 0D 48 */ addi r6, r31, 0xd48
/* 802B636C 002B1FCC 39 40 00 00 */ li r10, 0
/* 802B6370 002B1FD0 91 46 00 00 */ stw r10, 0(r6)
@@ -1893,10 +1893,10 @@ lbl_802B66F0:
/* 802B66F0 002B2350 3C 60 80 44 */ lis r3, lbl_8043E3F0@ha
/* 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 func_802B957C
-/* 802B6700 002B2360 48 00 68 D1 */ bl func_802BCFD0
+/* 802B66FC 002B235C 48 00 2E 81 */ bl WUD_DEBUGPrint
+/* 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)
@@ -1904,7 +1904,7 @@ lbl_802B66F0:
/* 802B671C 002B237C 3C 60 80 44 */ lis r3, lbl_8043E408@ha
/* 802B6720 002B2380 38 63 E4 08 */ addi r3, r3, lbl_8043E408@l
/* 802B6724 002B2384 4C C6 31 82 */ crclr 6
-/* 802B6728 002B2388 48 00 2E 55 */ bl func_802B957C
+/* 802B6728 002B2388 48 00 2E 55 */ bl WUD_DEBUGPrint
/* 802B672C 002B238C 38 00 00 00 */ li r0, 0
/* 802B6730 002B2390 3B E0 00 01 */ li r31, 1
/* 802B6734 002B2394 90 1E 00 00 */ stw r0, 0(r30)
@@ -1976,7 +1976,7 @@ WUDShutdown:
/* 802B6820 002B2480 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l
/* 802B6824 002B2484 38 63 E4 1C */ addi r3, r3, lbl_8043E41C@l
/* 802B6828 002B2488 4C C6 31 82 */ crclr 6
-/* 802B682C 002B248C 48 00 2D 51 */ bl func_802B957C
+/* 802B682C 002B248C 48 00 2D 51 */ bl WUD_DEBUGPrint
/* 802B6830 002B2490 4B FB 7F 2D */ bl OSDisableInterrupts
/* 802B6834 002B2494 38 00 00 00 */ li r0, 0
/* 802B6838 002B2498 98 1F 06 EB */ stb r0, 0x6eb(r31)
@@ -2153,7 +2153,7 @@ WUDSetSyncSimpleCallback:
/* 802B6A98 002B26F8 7C 7E 1B 78 */ mr r30, r3
/* 802B6A9C 002B26FC 38 64 E4 2C */ addi r3, r4, lbl_8043E42C@l
/* 802B6AA0 002B2700 4C C6 31 82 */ crclr 6
-/* 802B6AA4 002B2704 48 00 2A D9 */ bl func_802B957C
+/* 802B6AA4 002B2704 48 00 2A D9 */ bl WUD_DEBUGPrint
/* 802B6AA8 002B2708 4B FB 7C B5 */ bl OSDisableInterrupts
/* 802B6AAC 002B270C 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B6AB0 002B2710 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -2261,7 +2261,7 @@ WUDStartFastSyncSimple:
/* 802B6C24 002B2884 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B6C28 002B2888 93 C1 00 08 */ stw r30, 8(r1)
/* 802B6C2C 002B288C 4C C6 31 82 */ crclr 6
-/* 802B6C30 002B2890 48 00 29 4D */ bl func_802B957C
+/* 802B6C30 002B2890 48 00 29 4D */ bl WUD_DEBUGPrint
/* 802B6C34 002B2894 38 60 00 01 */ li r3, 1
/* 802B6C38 002B2898 38 80 FF FF */ li r4, -1
/* 802B6C3C 002B289C 38 A0 00 01 */ li r5, 1
@@ -2301,7 +2301,7 @@ WUDStopSyncSimple:
/* 802B6CB4 002B2914 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802B6CB8 002B2918 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B6CBC 002B291C 4C C6 31 82 */ crclr 6
-/* 802B6CC0 002B2920 48 00 28 BD */ bl func_802B957C
+/* 802B6CC0 002B2920 48 00 28 BD */ bl WUD_DEBUGPrint
/* 802B6CC4 002B2924 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha
/* 802B6CC8 002B2928 3B C0 00 00 */ li r30, 0
/* 802B6CCC 002B292C 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l
@@ -2349,7 +2349,7 @@ WUDSetDisableChannel:
/* 802B6D5C 002B29BC 7C 7D 1B 78 */ mr r29, r3
/* 802B6D60 002B29C0 38 64 E4 E0 */ addi r3, r4, lbl_8043E4E0@l
/* 802B6D64 002B29C4 4C C6 31 82 */ crclr 6
-/* 802B6D68 002B29C8 48 00 28 15 */ bl func_802B957C
+/* 802B6D68 002B29C8 48 00 28 15 */ bl WUD_DEBUGPrint
/* 802B6D6C 002B29CC 7F A0 07 75 */ extsb. r0, r29
/* 802B6D70 002B29D0 41 80 00 0C */ blt lbl_802B6D7C
/* 802B6D74 002B29D4 2C 00 00 0D */ cmpwi r0, 0xd
@@ -2390,7 +2390,7 @@ lbl_802B6DD8:
/* 802B6DEC 002B2A4C 38 63 E4 F8 */ addi r3, r3, lbl_8043E4F8@l
/* 802B6DF0 002B2A50 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B6DF4 002B2A54 4C C6 31 82 */ crclr 6
-/* 802B6DF8 002B2A58 48 00 27 85 */ bl func_802B957C
+/* 802B6DF8 002B2A58 48 00 27 85 */ bl WUD_DEBUGPrint
/* 802B6DFC 002B2A5C 3B E0 00 01 */ li r31, 1
lbl_802B6E00:
/* 802B6E00 002B2A60 7F E3 FB 78 */ mr r3, r31
@@ -2414,7 +2414,7 @@ WUDSetHidRecvCallback:
/* 802B6E38 002B2A98 7C 7E 1B 78 */ mr r30, r3
/* 802B6E3C 002B2A9C 38 64 E5 14 */ addi r3, r4, lbl_8043E514@l
/* 802B6E40 002B2AA0 4C C6 31 82 */ crclr 6
-/* 802B6E44 002B2AA4 48 00 27 39 */ bl func_802B957C
+/* 802B6E44 002B2AA4 48 00 27 39 */ bl WUD_DEBUGPrint
/* 802B6E48 002B2AA8 4B FB 79 15 */ bl OSDisableInterrupts
/* 802B6E4C 002B2AAC 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B6E50 002B2AB0 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -2440,7 +2440,7 @@ WUDSetHidConnCallback:
/* 802B6E94 002B2AF4 7C 7E 1B 78 */ mr r30, r3
/* 802B6E98 002B2AF8 38 64 E5 30 */ addi r3, r4, lbl_8043E530@l
/* 802B6E9C 002B2AFC 4C C6 31 82 */ crclr 6
-/* 802B6EA0 002B2B00 48 00 26 DD */ bl func_802B957C
+/* 802B6EA0 002B2B00 48 00 26 DD */ bl WUD_DEBUGPrint
/* 802B6EA4 002B2B04 4B FB 78 B9 */ bl OSDisableInterrupts
/* 802B6EA8 002B2B08 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B6EAC 002B2B0C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -2826,7 +2826,7 @@ WUDiInitSub:
/* 802B740C 002B306C 98 81 00 09 */ stb r4, 9(r1)
/* 802B7410 002B3070 98 01 00 0A */ stb r0, 0xa(r1)
/* 802B7414 002B3074 4C C6 31 82 */ crclr 6
-/* 802B7418 002B3078 48 00 21 65 */ bl func_802B957C
+/* 802B7418 002B3078 48 00 21 65 */ bl WUD_DEBUGPrint
/* 802B741C 002B307C 38 61 00 0C */ addi r3, r1, 0xc
/* 802B7420 002B3080 48 00 8D 05 */ bl func_802C0124
/* 802B7424 002B3084 38 61 00 08 */ addi r3, r1, 8
@@ -2912,7 +2912,7 @@ WUDiRegisterDevice:
/* 802B7550 002B31B0 38 7F 06 78 */ addi r3, r31, 0x678
/* 802B7554 002B31B4 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B7558 002B31B8 4C C6 31 82 */ crclr 6
-/* 802B755C 002B31BC 48 00 20 21 */ bl func_802B957C
+/* 802B755C 002B31BC 48 00 20 21 */ bl WUD_DEBUGPrint
/* 802B7560 002B31C0 7F A3 EB 78 */ mr r3, r29
/* 802B7564 002B31C4 38 9F 01 A0 */ addi r4, r31, 0x1a0
/* 802B7568 002B31C8 38 A0 00 10 */ li r5, 0x10
@@ -2925,7 +2925,7 @@ WUDiRegisterDevice:
/* 802B7584 002B31E4 38 7F 06 90 */ addi r3, r31, 0x690
/* 802B7588 002B31E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B758C 002B31EC 4C C6 31 82 */ crclr 6
-/* 802B7590 002B31F0 48 00 1F ED */ bl func_802B957C
+/* 802B7590 002B31F0 48 00 1F ED */ bl WUD_DEBUGPrint
/* 802B7594 002B31F4 80 81 00 10 */ lwz r4, 0x10(r1)
/* 802B7598 002B31F8 38 7D 00 40 */ addi r3, r29, 0x40
/* 802B759C 002B31FC 80 01 00 14 */ lwz r0, 0x14(r1)
@@ -2984,7 +2984,7 @@ WUDiRemoveDevice:
/* 802B7654 002B32B4 7C 7C 1B 78 */ mr r28, r3
/* 802B7658 002B32B8 38 7F 06 A0 */ addi r3, r31, 0x6a0
/* 802B765C 002B32BC 4C C6 31 82 */ crclr 6
-/* 802B7660 002B32C0 48 00 1F 1D */ bl func_802B957C
+/* 802B7660 002B32C0 48 00 1F 1D */ bl WUD_DEBUGPrint
/* 802B7664 002B32C4 7F A3 EB 78 */ mr r3, r29
/* 802B7668 002B32C8 48 00 00 FD */ bl WUDiGetDevInfo
/* 802B766C 002B32CC 2C 03 00 00 */ cmpwi r3, 0
@@ -2999,10 +2999,10 @@ WUDiRemoveDevice:
/* 802B7690 002B32F0 89 3D 00 44 */ lbz r9, 0x44(r29)
/* 802B7694 002B32F4 89 5D 00 45 */ lbz r10, 0x45(r29)
/* 802B7698 002B32F8 4C C6 31 82 */ crclr 6
-/* 802B769C 002B32FC 48 00 1E E1 */ bl func_802B957C
+/* 802B769C 002B32FC 48 00 1E E1 */ bl WUD_DEBUGPrint
/* 802B76A0 002B3300 38 7F 06 F0 */ addi r3, r31, 0x6f0
/* 802B76A4 002B3304 4C C6 31 82 */ crclr 6
-/* 802B76A8 002B3308 48 00 1E D5 */ bl func_802B957C
+/* 802B76A8 002B3308 48 00 1E D5 */ bl WUD_DEBUGPrint
/* 802B76AC 002B330C 7F A3 EB 78 */ mr r3, r29
/* 802B76B0 002B3310 38 9F 01 A0 */ addi r4, r31, 0x1a0
/* 802B76B4 002B3314 38 A0 00 10 */ li r5, 0x10
@@ -3011,11 +3011,11 @@ WUDiRemoveDevice:
/* 802B76C0 002B3320 40 82 00 28 */ bne lbl_802B76E8
/* 802B76C4 002B3324 38 7F 07 14 */ addi r3, r31, 0x714
/* 802B76C8 002B3328 4C C6 31 82 */ crclr 6
-/* 802B76CC 002B332C 48 00 1E B1 */ bl func_802B957C
+/* 802B76CC 002B332C 48 00 1E B1 */ bl WUD_DEBUGPrint
/* 802B76D0 002B3330 88 9D 00 56 */ lbz r4, 0x56(r29)
/* 802B76D4 002B3334 38 7F 07 28 */ addi r3, r31, 0x728
/* 802B76D8 002B3338 4C C6 31 82 */ crclr 6
-/* 802B76DC 002B333C 48 00 1E A1 */ bl func_802B957C
+/* 802B76DC 002B333C 48 00 1E A1 */ bl WUD_DEBUGPrint
/* 802B76E0 002B3340 88 7D 00 56 */ lbz r3, 0x56(r29)
/* 802B76E4 002B3344 48 00 B3 89 */ bl func_802C2A6C
lbl_802B76E8:
@@ -3025,7 +3025,7 @@ lbl_802B76E8:
/* 802B76F4 002B3354 38 7F 07 38 */ addi r3, r31, 0x738
/* 802B76F8 002B3358 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B76FC 002B335C 4C C6 31 82 */ crclr 6
-/* 802B7700 002B3360 48 00 1E 7D */ bl func_802B957C
+/* 802B7700 002B3360 48 00 1E 7D */ bl WUD_DEBUGPrint
/* 802B7704 002B3364 88 1D 00 5B */ lbz r0, 0x5b(r29)
/* 802B7708 002B3368 2C 00 00 00 */ cmpwi r0, 0
/* 802B770C 002B336C 40 82 00 14 */ bne lbl_802B7720
@@ -3146,7 +3146,7 @@ lbl_802B7888:
/* 802B7898 002B34F8 7F 84 E3 78 */ mr r4, r28
/* 802B789C 002B34FC 38 63 E7 9C */ addi r3, r3, lbl_8043E79C@l
/* 802B78A0 002B3500 4C C6 31 82 */ crclr 6
-/* 802B78A4 002B3504 48 00 1C D9 */ bl func_802B957C
+/* 802B78A4 002B3504 48 00 1C D9 */ bl WUD_DEBUGPrint
/* 802B78A8 002B3508 1C 1C 00 60 */ mulli r0, r28, 0x60
/* 802B78AC 002B350C 7C 7F 02 14 */ add r3, r31, r0
/* 802B78B0 002B3510 3B C3 00 E4 */ addi r30, r3, 0xe4
@@ -3691,7 +3691,7 @@ lbl_802B802C:
/* 802B802C 002B3C8C 3C 60 80 44 */ lis r3, lbl_8043E7B4@ha
/* 802B8030 002B3C90 38 63 E7 B4 */ addi r3, r3, lbl_8043E7B4@l
/* 802B8034 002B3C94 4C C6 31 82 */ crclr 6
-/* 802B8038 002B3C98 48 00 15 44 */ b func_802B957C
+/* 802B8038 002B3C98 48 00 15 44 */ b WUD_DEBUGPrint
/* 802B803C 002B3C9C 4E 80 00 20 */ blr
WUDSecurityCallback:
@@ -3709,7 +3709,7 @@ WUDSecurityCallback:
/* 802B806C 002B3CCC 3B BF 00 00 */ addi r29, r31, 0
/* 802B8070 002B3CD0 38 7E 07 8C */ addi r3, r30, 0x78c
/* 802B8074 002B3CD4 4C C6 31 82 */ crclr 6
-/* 802B8078 002B3CD8 48 00 15 05 */ bl func_802B957C
+/* 802B8078 002B3CD8 48 00 15 05 */ bl WUD_DEBUGPrint
/* 802B807C 002B3CDC 28 19 00 08 */ cmplwi r25, 8
/* 802B8080 002B3CE0 41 81 04 FC */ bgt lbl_802B857C
/* 802B8084 002B3CE4 3C 60 80 44 */ lis r3, lbl_8043EA30@ha
@@ -3724,7 +3724,7 @@ WUDSecurityCallback:
/* 802B80A8 002B3D08 4B D4 BF 59 */ bl memcpy
/* 802B80AC 002B3D0C 38 7E 07 A8 */ addi r3, r30, 0x7a8
/* 802B80B0 002B3D10 4C C6 31 82 */ crclr 6
-/* 802B80B4 002B3D14 48 00 14 C9 */ bl func_802B957C
+/* 802B80B4 002B3D14 48 00 14 C9 */ bl WUD_DEBUGPrint
/* 802B80B8 002B3D18 88 9D 07 02 */ lbz r4, 0x702(r29)
/* 802B80BC 002B3D1C 38 7E 07 B8 */ addi r3, r30, 0x7b8
/* 802B80C0 002B3D20 88 BD 07 03 */ lbz r5, 0x703(r29)
@@ -3733,10 +3733,10 @@ WUDSecurityCallback:
/* 802B80CC 002B3D2C 89 1D 07 06 */ lbz r8, 0x706(r29)
/* 802B80D0 002B3D30 89 3D 07 07 */ lbz r9, 0x707(r29)
/* 802B80D4 002B3D34 4C C6 31 82 */ crclr 6
-/* 802B80D8 002B3D38 48 00 14 A5 */ bl func_802B957C
-/* 802B80DC 002B3D3C 3C 80 80 2C */ lis r4, lbl_802B9030@ha
+/* 802B80D8 002B3D38 48 00 14 A5 */ bl WUD_DEBUGPrint
+/* 802B80DC 002B3D3C 3C 80 80 2C */ lis r4, WUDHidHostCallback@ha
/* 802B80E0 002B3D40 38 60 00 12 */ li r3, 0x12
-/* 802B80E4 002B3D44 38 84 90 30 */ addi r4, r4, lbl_802B9030@l
+/* 802B80E4 002B3D44 38 84 90 30 */ addi r4, r4, WUDHidHostCallback@l
/* 802B80E8 002B3D48 48 00 A6 75 */ bl func_802C275C
/* 802B80EC 002B3D4C 38 00 00 01 */ li r0, 1
/* 802B80F0 002B3D50 38 7D 07 10 */ addi r3, r29, 0x710
@@ -3763,14 +3763,14 @@ WUDSecurityCallback:
/* 802B8144 002B3DA4 48 00 04 38 */ b lbl_802B857C
/* 802B8148 002B3DA8 38 7E 07 E0 */ addi r3, r30, 0x7e0
/* 802B814C 002B3DAC 4C C6 31 82 */ crclr 6
-/* 802B8150 002B3DB0 48 00 14 2D */ bl func_802B957C
+/* 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
-/* 802B816C 002B3DCC 48 00 14 11 */ bl func_802B957C
+/* 802B816C 002B3DCC 48 00 14 11 */ bl WUD_DEBUGPrint
/* 802B8170 002B3DD0 88 1D 06 E9 */ lbz r0, 0x6e9(r29)
/* 802B8174 002B3DD4 2C 00 00 00 */ cmpwi r0, 0
/* 802B8178 002B3DD8 40 82 00 0C */ bne lbl_802B8184
@@ -3813,7 +3813,7 @@ lbl_802B81A8:
/* 802B8200 002B3E60 48 00 03 7C */ b lbl_802B857C
/* 802B8204 002B3E64 38 7E 08 08 */ addi r3, r30, 0x808
/* 802B8208 002B3E68 4C C6 31 82 */ crclr 6
-/* 802B820C 002B3E6C 48 00 13 71 */ bl func_802B957C
+/* 802B820C 002B3E6C 48 00 13 71 */ bl WUD_DEBUGPrint
/* 802B8210 002B3E70 88 9C 00 00 */ lbz r4, 0(r28)
/* 802B8214 002B3E74 38 7E 08 20 */ addi r3, r30, 0x820
/* 802B8218 002B3E78 88 BC 00 01 */ lbz r5, 1(r28)
@@ -3822,7 +3822,7 @@ lbl_802B81A8:
/* 802B8224 002B3E84 89 1C 00 04 */ lbz r8, 4(r28)
/* 802B8228 002B3E88 89 3C 00 05 */ lbz r9, 5(r28)
/* 802B822C 002B3E8C 4C C6 31 82 */ crclr 6
-/* 802B8230 002B3E90 48 00 13 4D */ bl func_802B957C
+/* 802B8230 002B3E90 48 00 13 4D */ bl WUD_DEBUGPrint
/* 802B8234 002B3E94 88 1C 01 06 */ lbz r0, 0x106(r28)
/* 802B8238 002B3E98 38 7E 08 48 */ addi r3, r30, 0x848
/* 802B823C 002B3E9C 90 01 00 08 */ stw r0, 8(r1)
@@ -3850,11 +3850,11 @@ lbl_802B81A8:
/* 802B8294 002B3EF4 89 3C 01 04 */ lbz r9, 0x104(r28)
/* 802B8298 002B3EF8 89 5C 01 05 */ lbz r10, 0x105(r28)
/* 802B829C 002B3EFC 4C C6 31 82 */ crclr 6
-/* 802B82A0 002B3F00 48 00 12 DD */ bl func_802B957C
+/* 802B82A0 002B3F00 48 00 12 DD */ bl WUD_DEBUGPrint
/* 802B82A4 002B3F04 88 9C 01 0F */ lbz r4, 0x10f(r28)
/* 802B82A8 002B3F08 38 7E 08 A4 */ addi r3, r30, 0x8a4
/* 802B82AC 002B3F0C 4C C6 31 82 */ crclr 6
-/* 802B82B0 002B3F10 48 00 12 CD */ bl func_802B957C
+/* 802B82B0 002B3F10 48 00 12 CD */ bl WUD_DEBUGPrint
/* 802B82B4 002B3F14 88 1C 01 0F */ lbz r0, 0x10f(r28)
/* 802B82B8 002B3F18 2C 00 00 00 */ cmpwi r0, 0
/* 802B82BC 002B3F1C 41 82 02 C0 */ beq lbl_802B857C
@@ -3881,11 +3881,11 @@ lbl_802B82FC:
/* 802B830C 002B3F6C 48 00 02 70 */ b lbl_802B857C
/* 802B8310 002B3F70 38 7E 08 B4 */ addi r3, r30, 0x8b4
/* 802B8314 002B3F74 4C C6 31 82 */ crclr 6
-/* 802B8318 002B3F78 48 00 12 65 */ bl func_802B957C
+/* 802B8318 002B3F78 48 00 12 65 */ bl WUD_DEBUGPrint
/* 802B831C 002B3F7C 48 00 02 60 */ b lbl_802B857C
/* 802B8320 002B3F80 38 7E 08 CC */ addi r3, r30, 0x8cc
/* 802B8324 002B3F84 4C C6 31 82 */ crclr 6
-/* 802B8328 002B3F88 48 00 12 55 */ bl func_802B957C
+/* 802B8328 002B3F88 48 00 12 55 */ bl WUD_DEBUGPrint
/* 802B832C 002B3F8C 88 9C 00 00 */ lbz r4, 0(r28)
/* 802B8330 002B3F90 38 7E 08 E0 */ addi r3, r30, 0x8e0
/* 802B8334 002B3F94 88 BC 00 01 */ lbz r5, 1(r28)
@@ -3894,7 +3894,7 @@ lbl_802B82FC:
/* 802B8340 002B3FA0 89 1C 00 04 */ lbz r8, 4(r28)
/* 802B8344 002B3FA4 89 3C 00 05 */ lbz r9, 5(r28)
/* 802B8348 002B3FA8 4C C6 31 82 */ crclr 6
-/* 802B834C 002B3FAC 48 00 12 31 */ bl func_802B957C
+/* 802B834C 002B3FAC 48 00 12 31 */ bl WUD_DEBUGPrint
/* 802B8350 002B3FB0 7F 83 E3 78 */ mr r3, r28
/* 802B8354 002B3FB4 4B FF F4 11 */ bl WUDiGetDevInfo
/* 802B8358 002B3FB8 2C 03 00 00 */ cmpwi r3, 0
@@ -3933,7 +3933,7 @@ lbl_802B83C0:
/* 802B83D0 002B4030 89 3C 00 04 */ lbz r9, 4(r28)
/* 802B83D4 002B4034 89 5C 00 05 */ lbz r10, 5(r28)
/* 802B83D8 002B4038 4C C6 31 82 */ crclr 6
-/* 802B83DC 002B403C 48 00 11 A1 */ bl func_802B957C
+/* 802B83DC 002B403C 48 00 11 A1 */ bl WUD_DEBUGPrint
/* 802B83E0 002B4040 48 00 01 9C */ b lbl_802B857C
lbl_802B83E4:
/* 802B83E4 002B4044 88 1A 00 59 */ lbz r0, 0x59(r26)
@@ -3949,7 +3949,7 @@ lbl_802B83F8:
/* 802B8408 002B4068 48 00 01 74 */ b lbl_802B857C
/* 802B840C 002B406C 38 7E 09 50 */ addi r3, r30, 0x950
/* 802B8410 002B4070 4C C6 31 82 */ crclr 6
-/* 802B8414 002B4074 48 00 11 69 */ bl func_802B957C
+/* 802B8414 002B4074 48 00 11 69 */ bl WUD_DEBUGPrint
/* 802B8418 002B4078 88 9C 00 00 */ lbz r4, 0(r28)
/* 802B841C 002B407C 38 7E 08 E0 */ addi r3, r30, 0x8e0
/* 802B8420 002B4080 88 BC 00 01 */ lbz r5, 1(r28)
@@ -3958,11 +3958,11 @@ lbl_802B83F8:
/* 802B842C 002B408C 89 1C 00 04 */ lbz r8, 4(r28)
/* 802B8430 002B4090 89 3C 00 05 */ lbz r9, 5(r28)
/* 802B8434 002B4094 4C C6 31 82 */ crclr 6
-/* 802B8438 002B4098 48 00 11 45 */ bl func_802B957C
+/* 802B8438 002B4098 48 00 11 45 */ bl WUD_DEBUGPrint
/* 802B843C 002B409C 88 9C 00 06 */ lbz r4, 6(r28)
/* 802B8440 002B40A0 38 7E 09 68 */ addi r3, r30, 0x968
/* 802B8444 002B40A4 4C C6 31 82 */ crclr 6
-/* 802B8448 002B40A8 48 00 11 35 */ bl func_802B957C
+/* 802B8448 002B40A8 48 00 11 35 */ bl WUD_DEBUGPrint
/* 802B844C 002B40AC 7F 83 E3 78 */ mr r3, r28
/* 802B8450 002B40B0 4B FF F3 15 */ bl WUDiGetDevInfo
/* 802B8454 002B40B4 2C 03 00 00 */ cmpwi r3, 0
@@ -4027,7 +4027,7 @@ lbl_802B84FC:
lbl_802B8530:
/* 802B8530 002B4190 38 7E 09 74 */ addi r3, r30, 0x974
/* 802B8534 002B4194 4C C6 31 82 */ crclr 6
-/* 802B8538 002B4198 48 00 10 45 */ bl func_802B957C
+/* 802B8538 002B4198 48 00 10 45 */ bl WUD_DEBUGPrint
lbl_802B853C:
/* 802B853C 002B419C 88 1D 06 E5 */ lbz r0, 0x6e5(r29)
/* 802B8540 002B41A0 28 00 00 FA */ cmplwi r0, 0xfa
@@ -4040,11 +4040,11 @@ lbl_802B853C:
/* 802B855C 002B41BC 48 00 00 20 */ b lbl_802B857C
/* 802B8560 002B41C0 38 7E 09 B4 */ addi r3, r30, 0x9b4
/* 802B8564 002B41C4 4C C6 31 82 */ crclr 6
-/* 802B8568 002B41C8 48 00 10 15 */ bl func_802B957C
+/* 802B8568 002B41C8 48 00 10 15 */ bl WUD_DEBUGPrint
/* 802B856C 002B41CC 48 00 00 10 */ b lbl_802B857C
/* 802B8570 002B41D0 38 7E 09 D0 */ addi r3, r30, 0x9d0
/* 802B8574 002B41D4 4C C6 31 82 */ crclr 6
-/* 802B8578 002B41D8 48 00 10 05 */ bl func_802B957C
+/* 802B8578 002B41D8 48 00 10 05 */ bl WUD_DEBUGPrint
lbl_802B857C:
/* 802B857C 002B41DC 39 61 00 60 */ addi r11, r1, 0x60
/* 802B8580 002B41E0 4B F0 EB ED */ bl _restgpr_25
@@ -4093,7 +4093,7 @@ lbl_802B85E8:
/* 802B861C 002B427C 89 3C 00 05 */ lbz r9, 5(r28)
/* 802B8620 002B4280 89 5C 00 06 */ lbz r10, 6(r28)
/* 802B8624 002B4284 4C C6 31 82 */ crclr 6
-/* 802B8628 002B4288 48 00 0F 55 */ bl func_802B957C
+/* 802B8628 002B4288 48 00 0F 55 */ bl WUD_DEBUGPrint
/* 802B862C 002B428C 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha
/* 802B8630 002B4290 88 1C 00 09 */ lbz r0, 9(r28)
/* 802B8634 002B4294 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l
@@ -4121,7 +4121,7 @@ lbl_802B8674:
lbl_802B8680:
/* 802B8680 002B42E0 38 7D 0A 50 */ addi r3, r29, 0xa50
/* 802B8684 002B42E4 4C C6 31 82 */ crclr 6
-/* 802B8688 002B42E8 48 00 0E F5 */ bl func_802B957C
+/* 802B8688 002B42E8 48 00 0E F5 */ bl WUD_DEBUGPrint
/* 802B868C 002B42EC 48 00 00 D4 */ b lbl_802B8760
lbl_802B8690:
/* 802B8690 002B42F0 3F C0 80 54 */ lis r30, lbl_8053B090@ha
@@ -4148,12 +4148,12 @@ lbl_802B8690:
/* 802B86E4 002B4344 89 1F 00 04 */ lbz r8, 4(r31)
/* 802B86E8 002B4348 89 3F 00 05 */ lbz r9, 5(r31)
/* 802B86EC 002B434C 4C C6 31 82 */ crclr 6
-/* 802B86F0 002B4350 48 00 0E 8D */ bl func_802B957C
+/* 802B86F0 002B4350 48 00 0E 8D */ bl WUD_DEBUGPrint
/* 802B86F4 002B4354 48 00 00 6C */ b lbl_802B8760
lbl_802B86F8:
/* 802B86F8 002B4358 38 7D 0A A4 */ addi r3, r29, 0xaa4
/* 802B86FC 002B435C 4C C6 31 82 */ crclr 6
-/* 802B8700 002B4360 48 00 0E 7D */ bl func_802B957C
+/* 802B8700 002B4360 48 00 0E 7D */ bl WUD_DEBUGPrint
/* 802B8704 002B4364 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha
/* 802B8708 002B4368 38 00 00 04 */ li r0, 4
/* 802B870C 002B436C 38 63 A4 E0 */ addi r3, r3, lbl_8053A4E0@l
@@ -4162,7 +4162,7 @@ lbl_802B86F8:
lbl_802B8718:
/* 802B8718 002B4378 38 7D 0A B8 */ addi r3, r29, 0xab8
/* 802B871C 002B437C 4C C6 31 82 */ crclr 6
-/* 802B8720 002B4380 48 00 0E 5D */ bl func_802B957C
+/* 802B8720 002B4380 48 00 0E 5D */ bl WUD_DEBUGPrint
/* 802B8724 002B4384 38 00 00 00 */ li r0, 0
/* 802B8728 002B4388 3C 60 80 54 */ lis r3, lbl_8053B090@ha
/* 802B872C 002B438C 98 0D AE C1 */ stb r0, lbl_80640181-_SDA_BASE_(r13)
@@ -4178,7 +4178,7 @@ lbl_802B8718:
lbl_802B8754:
/* 802B8754 002B43B4 38 7D 0A C8 */ addi r3, r29, 0xac8
/* 802B8758 002B43B8 4C C6 31 82 */ crclr 6
-/* 802B875C 002B43BC 48 00 0E 21 */ bl func_802B957C
+/* 802B875C 002B43BC 48 00 0E 21 */ bl WUD_DEBUGPrint
lbl_802B8760:
/* 802B8760 002B43C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B8764 002B43C4 83 E1 00 2C */ lwz r31, 0x2c(r1)
@@ -4217,10 +4217,10 @@ lbl_802B87D0:
lbl_802B87DC:
/* 802B87DC 002B443C 38 7E 0A F8 */ addi r3, r30, 0xaf8
/* 802B87E0 002B4440 4C C6 31 82 */ crclr 6
-/* 802B87E4 002B4444 48 00 0D 99 */ bl func_802B957C
+/* 802B87E4 002B4444 48 00 0D 99 */ bl WUD_DEBUGPrint
/* 802B87E8 002B4448 38 7E 06 38 */ addi r3, r30, 0x638
/* 802B87EC 002B444C 4C C6 31 82 */ crclr 6
-/* 802B87F0 002B4450 48 00 0D 8D */ bl func_802B957C
+/* 802B87F0 002B4450 48 00 0D 8D */ bl WUD_DEBUGPrint
/* 802B87F4 002B4454 4B FB 5F 69 */ bl OSDisableInterrupts
/* 802B87F8 002B4458 83 BF A4 E0 */ lwz r29, -0x5b20(r31)
/* 802B87FC 002B445C 7C 7F 1B 78 */ mr r31, r3
@@ -4261,7 +4261,7 @@ lbl_802B8848:
lbl_802B8880:
/* 802B8880 002B44E0 38 7E 04 1C */ addi r3, r30, 0x41c
/* 802B8884 002B44E4 4C C6 31 82 */ crclr 6
-/* 802B8888 002B44E8 48 00 0C F5 */ bl func_802B957C
+/* 802B8888 002B44E8 48 00 0C F5 */ bl WUD_DEBUGPrint
/* 802B888C 002B44EC 38 60 00 00 */ li r3, 0
/* 802B8890 002B44F0 38 80 00 03 */ li r4, 3
/* 802B8894 002B44F4 38 A0 00 00 */ li r5, 0
@@ -4284,10 +4284,10 @@ lbl_802B8880:
lbl_802B88D8:
/* 802B88D8 002B4538 38 7E 0B 10 */ addi r3, r30, 0xb10
/* 802B88DC 002B453C 4C C6 31 82 */ crclr 6
-/* 802B88E0 002B4540 48 00 0C 9D */ bl func_802B957C
+/* 802B88E0 002B4540 48 00 0C 9D */ bl WUD_DEBUGPrint
/* 802B88E4 002B4544 38 7E 06 5C */ addi r3, r30, 0x65c
/* 802B88E8 002B4548 4C C6 31 82 */ crclr 6
-/* 802B88EC 002B454C 48 00 0C 91 */ bl func_802B957C
+/* 802B88EC 002B454C 48 00 0C 91 */ bl WUD_DEBUGPrint
/* 802B88F0 002B4550 4B FB 5E 6D */ bl OSDisableInterrupts
/* 802B88F4 002B4554 83 FC 00 08 */ lwz r31, 8(r28)
/* 802B88F8 002B4558 7C 7D 1B 78 */ mr r29, r3
@@ -4329,7 +4329,7 @@ lbl_802B8978:
/* 802B897C 002B45DC 38 7E 04 7C */ addi r3, r30, 0x47c
/* 802B8980 002B45E0 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l
/* 802B8984 002B45E4 4C C6 31 82 */ crclr 6
-/* 802B8988 002B45E8 48 00 0B F5 */ bl func_802B957C
+/* 802B8988 002B45E8 48 00 0B F5 */ bl WUD_DEBUGPrint
/* 802B898C 002B45EC 4B FB 5D D1 */ bl OSDisableInterrupts
/* 802B8990 002B45F0 8B DD 07 08 */ lbz r30, 0x708(r29)
/* 802B8994 002B45F4 7F DE 07 74 */ extsb r30, r30
@@ -4387,7 +4387,7 @@ lbl_802B8A58:
/* 802B8A58 002B46B8 88 84 00 01 */ lbz r4, 1(r4)
/* 802B8A5C 002B46BC 38 7E 0B 28 */ addi r3, r30, 0xb28
/* 802B8A60 002B46C0 4C C6 31 82 */ crclr 6
-/* 802B8A64 002B46C4 48 00 0B 19 */ bl func_802B957C
+/* 802B8A64 002B46C4 48 00 0B 19 */ bl WUD_DEBUGPrint
/* 802B8A68 002B46C8 88 1D 00 01 */ lbz r0, 1(r29)
/* 802B8A6C 002B46CC 98 1C 07 09 */ stb r0, 0x709(r28)
/* 802B8A70 002B46D0 48 00 00 28 */ b lbl_802B8A98
@@ -4395,7 +4395,7 @@ lbl_802B8A74:
/* 802B8A74 002B46D4 88 84 00 01 */ lbz r4, 1(r4)
/* 802B8A78 002B46D8 38 7E 0B 4C */ addi r3, r30, 0xb4c
/* 802B8A7C 002B46DC 4C C6 31 82 */ crclr 6
-/* 802B8A80 002B46E0 48 00 0A FD */ bl func_802B957C
+/* 802B8A80 002B46E0 48 00 0A FD */ bl WUD_DEBUGPrint
/* 802B8A84 002B46E4 38 BE 0B 74 */ addi r5, r30, 0xb74
/* 802B8A88 002B46E8 38 6D 89 C0 */ addi r3, r13, lbl_8063DC80-_SDA_BASE_
/* 802B8A8C 002B46EC 38 80 0F 25 */ li r4, 0xf25
@@ -4420,7 +4420,7 @@ WUDDeviceStatusCallback:
/* 802B8ACC 002B472C 7C 7F 1B 78 */ mr r31, r3
/* 802B8AD0 002B4730 38 64 EB D0 */ addi r3, r4, lbl_8043EBD0@l
/* 802B8AD4 002B4734 4C C6 31 82 */ crclr 6
-/* 802B8AD8 002B4738 48 00 0A A5 */ bl func_802B957C
+/* 802B8AD8 002B4738 48 00 0A A5 */ bl WUD_DEBUGPrint
/* 802B8ADC 002B473C 28 1F 00 02 */ cmplwi r31, 2
/* 802B8AE0 002B4740 40 82 00 14 */ bne lbl_802B8AF4
/* 802B8AE4 002B4744 3C 60 80 44 */ lis r3, lbl_8043EBEC@ha
@@ -4460,7 +4460,7 @@ lbl_802B8B50:
lbl_802B8B5C:
/* 802B8B5C 002B47BC 38 7E 0B CC */ addi r3, r30, 0xbcc
/* 802B8B60 002B47C0 4C C6 31 82 */ crclr 6
-/* 802B8B64 002B47C4 48 00 0A 19 */ bl func_802B957C
+/* 802B8B64 002B47C4 48 00 0A 19 */ bl WUD_DEBUGPrint
/* 802B8B68 002B47C8 3B BA 00 02 */ addi r29, r26, 2
/* 802B8B6C 002B47CC 3B 60 00 00 */ li r27, 0
/* 802B8B70 002B47D0 3A E0 00 01 */ li r23, 1
@@ -4479,7 +4479,7 @@ lbl_802B8B80:
/* 802B8BA0 002B4800 89 1D 00 04 */ lbz r8, 4(r29)
/* 802B8BA4 002B4804 89 3D 00 05 */ lbz r9, 5(r29)
/* 802B8BA8 002B4808 4C C6 31 82 */ crclr 6
-/* 802B8BAC 002B480C 48 00 09 D1 */ bl func_802B957C
+/* 802B8BAC 002B480C 48 00 09 D1 */ bl WUD_DEBUGPrint
/* 802B8BB0 002B4810 88 1D 00 0D */ lbz r0, 0xd(r29)
/* 802B8BB4 002B4814 38 7E 0C 18 */ addi r3, r30, 0xc18
/* 802B8BB8 002B4818 90 01 00 08 */ stw r0, 8(r1)
@@ -4507,12 +4507,12 @@ lbl_802B8B80:
/* 802B8C10 002B4870 89 3D 00 0B */ lbz r9, 0xb(r29)
/* 802B8C14 002B4874 89 5D 00 0C */ lbz r10, 0xc(r29)
/* 802B8C18 002B4878 4C C6 31 82 */ crclr 6
-/* 802B8C1C 002B487C 48 00 09 61 */ bl func_802B957C
+/* 802B8C1C 002B487C 48 00 09 61 */ bl WUD_DEBUGPrint
/* 802B8C20 002B4880 2C 1F 00 00 */ cmpwi r31, 0
/* 802B8C24 002B4884 40 82 00 88 */ bne lbl_802B8CAC
/* 802B8C28 002B4888 38 7E 0C 74 */ addi r3, r30, 0xc74
/* 802B8C2C 002B488C 4C C6 31 82 */ crclr 6
-/* 802B8C30 002B4890 48 00 09 4D */ bl func_802B957C
+/* 802B8C30 002B4890 48 00 09 4D */ bl WUD_DEBUGPrint
/* 802B8C34 002B4894 4B FF EC 09 */ bl WUDiGetNewDevInfo
/* 802B8C38 002B4898 2C 03 00 00 */ cmpwi r3, 0
/* 802B8C3C 002B489C 7C 7F 1B 78 */ mr r31, r3
@@ -4572,7 +4572,7 @@ lbl_802B8CDC:
/* 802B8D00 002B4960 89 1C 07 00 */ lbz r8, 0x700(r28)
/* 802B8D04 002B4964 89 3C 07 01 */ lbz r9, 0x701(r28)
/* 802B8D08 002B4968 4C C6 31 82 */ crclr 6
-/* 802B8D0C 002B496C 48 00 08 71 */ bl func_802B957C
+/* 802B8D0C 002B496C 48 00 08 71 */ bl WUD_DEBUGPrint
lbl_802B8D10:
/* 802B8D10 002B4970 3B BD 00 16 */ addi r29, r29, 0x16
/* 802B8D14 002B4974 3B 7B 00 01 */ addi r27, r27, 1
@@ -4584,43 +4584,43 @@ lbl_802B8D18:
lbl_802B8D28:
/* 802B8D28 002B4988 38 7E 0C C0 */ addi r3, r30, 0xcc0
/* 802B8D2C 002B498C 4C C6 31 82 */ crclr 6
-/* 802B8D30 002B4990 48 00 08 4D */ bl func_802B957C
+/* 802B8D30 002B4990 48 00 08 4D */ bl WUD_DEBUGPrint
/* 802B8D34 002B4994 88 9A 00 01 */ lbz r4, 1(r26)
/* 802B8D38 002B4998 38 7E 0C E4 */ addi r3, r30, 0xce4
/* 802B8D3C 002B499C A0 BA 00 02 */ lhz r5, 2(r26)
/* 802B8D40 002B49A0 A0 DA 00 04 */ lhz r6, 4(r26)
/* 802B8D44 002B49A4 4C C6 31 82 */ crclr 6
-/* 802B8D48 002B49A8 48 00 08 35 */ bl func_802B957C
+/* 802B8D48 002B49A8 48 00 08 35 */ bl WUD_DEBUGPrint
/* 802B8D4C 002B49AC 38 00 00 00 */ li r0, 0
/* 802B8D50 002B49B0 98 1C 00 0E */ stb r0, 0xe(r28)
/* 802B8D54 002B49B4 48 00 00 88 */ b lbl_802B8DDC
lbl_802B8D58:
/* 802B8D58 002B49B8 38 7E 0D 10 */ addi r3, r30, 0xd10
/* 802B8D5C 002B49BC 4C C6 31 82 */ crclr 6
-/* 802B8D60 002B49C0 48 00 08 1D */ bl func_802B957C
+/* 802B8D60 002B49C0 48 00 08 1D */ bl WUD_DEBUGPrint
/* 802B8D64 002B49C4 88 9A 00 01 */ lbz r4, 1(r26)
/* 802B8D68 002B49C8 38 7E 0D 34 */ addi r3, r30, 0xd34
/* 802B8D6C 002B49CC 88 BA 00 02 */ lbz r5, 2(r26)
/* 802B8D70 002B49D0 4C C6 31 82 */ crclr 6
-/* 802B8D74 002B49D4 48 00 08 09 */ bl func_802B957C
+/* 802B8D74 002B49D4 48 00 08 09 */ bl WUD_DEBUGPrint
/* 802B8D78 002B49D8 38 00 00 00 */ li r0, 0
/* 802B8D7C 002B49DC 98 1C 00 0E */ stb r0, 0xe(r28)
/* 802B8D80 002B49E0 48 00 00 5C */ b lbl_802B8DDC
lbl_802B8D84:
/* 802B8D84 002B49E4 38 7E 0D 50 */ addi r3, r30, 0xd50
/* 802B8D88 002B49E8 4C C6 31 82 */ crclr 6
-/* 802B8D8C 002B49EC 48 00 07 F1 */ bl func_802B957C
+/* 802B8D8C 002B49EC 48 00 07 F1 */ bl WUD_DEBUGPrint
/* 802B8D90 002B49F0 88 9A 00 01 */ lbz r4, 1(r26)
/* 802B8D94 002B49F4 38 7E 0D 34 */ addi r3, r30, 0xd34
/* 802B8D98 002B49F8 A0 BA 00 02 */ lhz r5, 2(r26)
/* 802B8D9C 002B49FC 4C C6 31 82 */ crclr 6
-/* 802B8DA0 002B4A00 48 00 07 DD */ bl func_802B957C
+/* 802B8DA0 002B4A00 48 00 07 DD */ bl WUD_DEBUGPrint
/* 802B8DA4 002B4A04 A0 1A 00 02 */ lhz r0, 2(r26)
/* 802B8DA8 002B4A08 2C 00 00 00 */ cmpwi r0, 0
/* 802B8DAC 002B4A0C 40 82 00 10 */ bne lbl_802B8DBC
/* 802B8DB0 002B4A10 38 7E 0D 74 */ addi r3, r30, 0xd74
/* 802B8DB4 002B4A14 4C C6 31 82 */ crclr 6
-/* 802B8DB8 002B4A18 48 00 07 C5 */ bl func_802B957C
+/* 802B8DB8 002B4A18 48 00 07 C5 */ bl WUD_DEBUGPrint
lbl_802B8DBC:
/* 802B8DBC 002B4A1C 38 00 00 00 */ li r0, 0
/* 802B8DC0 002B4A20 98 1C 00 0E */ stb r0, 0xe(r28)
@@ -4652,11 +4652,11 @@ WUDPowerManagerCallback:
/* 802B8E18 002B4A78 7C DD 33 78 */ mr r29, r6
/* 802B8E1C 002B4A7C 38 7E 0D A4 */ addi r3, r30, 0xda4
/* 802B8E20 002B4A80 4C C6 31 82 */ crclr 6
-/* 802B8E24 002B4A84 48 00 07 59 */ bl func_802B957C
+/* 802B8E24 002B4A84 48 00 07 59 */ bl WUD_DEBUGPrint
/* 802B8E28 002B4A88 7F A4 EB 78 */ mr r4, r29
/* 802B8E2C 002B4A8C 38 7E 0D C0 */ addi r3, r30, 0xdc0
/* 802B8E30 002B4A90 4C C6 31 82 */ crclr 6
-/* 802B8E34 002B4A94 48 00 07 49 */ bl func_802B957C
+/* 802B8E34 002B4A94 48 00 07 49 */ bl WUD_DEBUGPrint
/* 802B8E38 002B4A98 7F 63 DB 78 */ mr r3, r27
/* 802B8E3C 002B4A9C 4B FF E9 29 */ bl WUDiGetDevInfo
/* 802B8E40 002B4AA0 2C 03 00 00 */ cmpwi r3, 0
@@ -4699,7 +4699,7 @@ lbl_802B8EA8:
/* 802B8EC0 002B4B20 89 3D 00 45 */ lbz r9, 0x45(r29)
/* 802B8EC4 002B4B24 89 5D 00 59 */ lbz r10, 0x59(r29)
/* 802B8EC8 002B4B28 4C C6 31 82 */ crclr 6
-/* 802B8ECC 002B4B2C 48 00 06 B1 */ bl func_802B957C
+/* 802B8ECC 002B4B2C 48 00 06 B1 */ bl WUD_DEBUGPrint
/* 802B8ED0 002B4B30 39 61 00 20 */ addi r11, r1, 0x20
/* 802B8ED4 002B4B34 4B F0 E2 A1 */ bl _restgpr_27
/* 802B8ED8 002B4B38 80 01 00 24 */ lwz r0, 0x24(r1)
diff --git a/asm/SDK/WUD/WUDHidHost.s b/asm/SDK/WUD/WUDHidHost.s
new file mode 100644
index 0000000..f16facb
--- /dev/null
+++ b/asm/SDK/WUD/WUDHidHost.s
@@ -0,0 +1,376 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global WUDHidHostCallback
+WUDHidHostCallback:
+/* 802B9030 002B4C90 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802B9034 002B4C94 7C 08 02 A6 */ mflr r0
+/* 802B9038 002B4C98 28 03 00 0F */ cmplwi r3, 0xf
+/* 802B903C 002B4C9C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802B9040 002B4CA0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802B9044 002B4CA4 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha
+/* 802B9048 002B4CA8 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l
+/* 802B904C 002B4CAC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802B9050 002B4CB0 7C 9E 23 78 */ mr r30, r4
+/* 802B9054 002B4CB4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802B9058 002B4CB8 3F A0 80 44 */ lis r29, lbl_8043EEB0@ha
+/* 802B905C 002B4CBC 3B BD EE B0 */ addi r29, r29, lbl_8043EEB0@l
+/* 802B9060 002B4CC0 41 81 04 9C */ bgt lbl_802B94FC
+/* 802B9064 002B4CC4 3C A0 80 44 */ lis r5, lbl_8043F0B0@ha
+/* 802B9068 002B4CC8 54 60 10 3A */ slwi r0, r3, 2
+/* 802B906C 002B4CCC 38 A5 F0 B0 */ addi r5, r5, lbl_8043F0B0@l
+/* 802B9070 002B4CD0 7C A5 00 2E */ lwzx r5, r5, r0
+/* 802B9074 002B4CD4 7C A9 03 A6 */ mtctr r5
+/* 802B9078 002B4CD8 4E 80 04 20 */ bctr
+/* 802B907C 002B4CDC 38 7D 00 00 */ addi r3, r29, 0
+/* 802B9080 002B4CE0 4C C6 31 82 */ crclr 6
+/* 802B9084 002B4CE4 48 00 04 F9 */ bl WUD_DEBUGPrint
+/* 802B9088 002B4CE8 80 1F 07 40 */ lwz r0, 0x740(r31)
+/* 802B908C 002B4CEC 60 00 00 01 */ ori r0, r0, 1
+/* 802B9090 002B4CF0 90 1F 07 40 */ stw r0, 0x740(r31)
+/* 802B9094 002B4CF4 48 00 04 68 */ b lbl_802B94FC
+/* 802B9098 002B4CF8 38 7D 00 14 */ addi r3, r29, 0x14
+/* 802B909C 002B4CFC 4C C6 31 82 */ crclr 6
+/* 802B90A0 002B4D00 48 00 04 DD */ bl WUD_DEBUGPrint
+/* 802B90A4 002B4D04 48 00 04 58 */ b lbl_802B94FC
+/* 802B90A8 002B4D08 38 7D 00 28 */ addi r3, r29, 0x28
+/* 802B90AC 002B4D0C 4C C6 31 82 */ crclr 6
+/* 802B90B0 002B4D10 48 00 04 CD */ bl WUD_DEBUGPrint
+/* 802B90B4 002B4D14 88 9E 00 07 */ lbz r4, 7(r30)
+/* 802B90B8 002B4D18 38 7D 00 3C */ addi r3, r29, 0x3c
+/* 802B90BC 002B4D1C 88 BE 00 00 */ lbz r5, 0(r30)
+/* 802B90C0 002B4D20 88 DE 00 01 */ lbz r6, 1(r30)
+/* 802B90C4 002B4D24 88 FE 00 02 */ lbz r7, 2(r30)
+/* 802B90C8 002B4D28 89 1E 00 03 */ lbz r8, 3(r30)
+/* 802B90CC 002B4D2C 89 3E 00 04 */ lbz r9, 4(r30)
+/* 802B90D0 002B4D30 89 5E 00 05 */ lbz r10, 5(r30)
+/* 802B90D4 002B4D34 4C C6 31 82 */ crclr 6
+/* 802B90D8 002B4D38 48 00 04 A5 */ bl WUD_DEBUGPrint
+/* 802B90DC 002B4D3C 88 9E 00 06 */ lbz r4, 6(r30)
+/* 802B90E0 002B4D40 2C 04 00 00 */ cmpwi r4, 0
+/* 802B90E4 002B4D44 40 82 01 30 */ bne lbl_802B9214
+/* 802B90E8 002B4D48 3F A0 80 54 */ lis r29, lbl_8053B1C8@ha
+/* 802B90EC 002B4D4C 7F C4 F3 78 */ mr r4, r30
+/* 802B90F0 002B4D50 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l
+/* 802B90F4 002B4D54 38 A0 00 06 */ li r5, 6
+/* 802B90F8 002B4D58 38 7D 00 40 */ addi r3, r29, 0x40
+/* 802B90FC 002B4D5C 4B F1 12 9D */ bl memcmp
+/* 802B9100 002B4D60 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9104 002B4D64 41 82 00 10 */ beq lbl_802B9114
+/* 802B9108 002B4D68 7F C3 F3 78 */ mr r3, r30
+/* 802B910C 002B4D6C 4B FF E6 59 */ bl WUDiGetDevInfo
+/* 802B9110 002B4D70 7C 7D 1B 78 */ mr r29, r3
+lbl_802B9114:
+/* 802B9114 002B4D74 88 1D 00 59 */ lbz r0, 0x59(r29)
+/* 802B9118 002B4D78 2C 00 00 0C */ cmpwi r0, 0xc
+/* 802B911C 002B4D7C 41 82 00 14 */ beq lbl_802B9130
+/* 802B9120 002B4D80 40 80 00 24 */ bge lbl_802B9144
+/* 802B9124 002B4D84 2C 00 00 02 */ cmpwi r0, 2
+/* 802B9128 002B4D88 41 82 00 14 */ beq lbl_802B913C
+/* 802B912C 002B4D8C 48 00 00 18 */ b lbl_802B9144
+lbl_802B9130:
+/* 802B9130 002B4D90 38 00 00 12 */ li r0, 0x12
+/* 802B9134 002B4D94 98 1F 00 0C */ stb r0, 0xc(r31)
+/* 802B9138 002B4D98 48 00 00 0C */ b lbl_802B9144
+lbl_802B913C:
+/* 802B913C 002B4D9C 38 00 00 17 */ li r0, 0x17
+/* 802B9140 002B4DA0 98 1F 00 0C */ stb r0, 0xc(r31)
+lbl_802B9144:
+/* 802B9144 002B4DA4 38 00 00 08 */ li r0, 8
+/* 802B9148 002B4DA8 7F C3 F3 78 */ mr r3, r30
+/* 802B914C 002B4DAC 98 1D 00 59 */ stb r0, 0x59(r29)
+/* 802B9150 002B4DB0 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B9154 002B4DB4 98 1D 00 56 */ stb r0, 0x56(r29)
+/* 802B9158 002B4DB8 88 9F 06 E4 */ lbz r4, 0x6e4(r31)
+/* 802B915C 002B4DBC 38 04 00 01 */ addi r0, r4, 1
+/* 802B9160 002B4DC0 98 1F 06 E4 */ stb r0, 0x6e4(r31)
+/* 802B9164 002B4DC4 4B FF E6 01 */ bl WUDiGetDevInfo
+/* 802B9168 002B4DC8 2C 03 00 00 */ cmpwi r3, 0
+/* 802B916C 002B4DCC 7C 7D 1B 78 */ mr r29, r3
+/* 802B9170 002B4DD0 40 82 00 0C */ bne lbl_802B917C
+/* 802B9174 002B4DD4 3F A0 80 54 */ lis r29, lbl_8053B1C8@ha
+/* 802B9178 002B4DD8 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l
+lbl_802B917C:
+/* 802B917C 002B4DDC 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B9180 002B4DE0 3C A0 80 54 */ lis r5, lbl_8053B228@ha
+/* 802B9184 002B4DE4 3C 80 80 54 */ lis r4, lbl_8053C280@ha
+/* 802B9188 002B4DE8 3C 60 80 54 */ lis r3, lbl_8053C2A0@ha
+/* 802B918C 002B4DEC 38 DD 00 40 */ addi r6, r29, 0x40
+/* 802B9190 002B4DF0 54 00 10 3A */ slwi r0, r0, 2
+/* 802B9194 002B4DF4 38 A5 B2 28 */ addi r5, r5, lbl_8053B228@l
+/* 802B9198 002B4DF8 38 84 C2 80 */ addi r4, r4, lbl_8053C280@l
+/* 802B919C 002B4DFC 7C C5 01 2E */ stwx r6, r5, r0
+/* 802B91A0 002B4E00 38 A0 00 00 */ li r5, 0
+/* 802B91A4 002B4E04 38 63 C2 A0 */ addi r3, r3, lbl_8053C2A0@l
+/* 802B91A8 002B4E08 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B91AC 002B4E0C 54 00 08 3C */ slwi r0, r0, 1
+/* 802B91B0 002B4E10 7C A4 03 2E */ sthx r5, r4, r0
+/* 802B91B4 002B4E14 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B91B8 002B4E18 54 00 08 3C */ slwi r0, r0, 1
+/* 802B91BC 002B4E1C 7C A3 03 2E */ sthx r5, r3, r0
+/* 802B91C0 002B4E20 88 1D 00 5B */ lbz r0, 0x5b(r29)
+/* 802B91C4 002B4E24 28 00 00 03 */ cmplwi r0, 3
+/* 802B91C8 002B4E28 41 82 00 0C */ beq lbl_802B91D4
+/* 802B91CC 002B4E2C 28 00 00 01 */ cmplwi r0, 1
+/* 802B91D0 002B4E30 40 82 00 10 */ bne lbl_802B91E0
+lbl_802B91D4:
+/* 802B91D4 002B4E34 7F A3 EB 78 */ mr r3, r29
+/* 802B91D8 002B4E38 4B FF E7 25 */ bl WUDiMoveTopSmpDevInfoPtr
+/* 802B91DC 002B4E3C 48 00 00 0C */ b lbl_802B91E8
+lbl_802B91E0:
+/* 802B91E0 002B4E40 7F A3 EB 78 */ mr r3, r29
+/* 802B91E4 002B4E44 4B FF EA A1 */ bl WUDiMoveTopStdDevInfoPtr
+lbl_802B91E8:
+/* 802B91E8 002B4E48 38 7D 00 40 */ addi r3, r29, 0x40
+/* 802B91EC 002B4E4C 38 80 00 08 */ li r4, 8
+/* 802B91F0 002B4E50 4B FF D8 25 */ bl WUDSetSniffMode
+/* 802B91F4 002B4E54 81 9F 06 F0 */ lwz r12, 0x6f0(r31)
+/* 802B91F8 002B4E58 2C 0C 00 00 */ cmpwi r12, 0
+/* 802B91FC 002B4E5C 41 82 03 00 */ beq lbl_802B94FC
+/* 802B9200 002B4E60 88 7E 00 07 */ lbz r3, 7(r30)
+/* 802B9204 002B4E64 38 80 00 01 */ li r4, 1
+/* 802B9208 002B4E68 7D 89 03 A6 */ mtctr r12
+/* 802B920C 002B4E6C 4E 80 04 21 */ bctrl
+/* 802B9210 002B4E70 48 00 02 EC */ b lbl_802B94FC
+lbl_802B9214:
+/* 802B9214 002B4E74 38 7D 00 70 */ addi r3, r29, 0x70
+/* 802B9218 002B4E78 4C C6 31 82 */ crclr 6
+/* 802B921C 002B4E7C 48 00 03 61 */ bl WUD_DEBUGPrint
+/* 802B9220 002B4E80 3F A0 80 54 */ lis r29, lbl_8053B1C8@ha
+/* 802B9224 002B4E84 7F C3 F3 78 */ mr r3, r30
+/* 802B9228 002B4E88 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l
+/* 802B922C 002B4E8C 38 A0 00 06 */ li r5, 6
+/* 802B9230 002B4E90 38 9D 00 40 */ addi r4, r29, 0x40
+/* 802B9234 002B4E94 4B F1 11 65 */ bl memcmp
+/* 802B9238 002B4E98 2C 03 00 00 */ cmpwi r3, 0
+/* 802B923C 002B4E9C 40 82 02 C0 */ bne lbl_802B94FC
+/* 802B9240 002B4EA0 88 1F 00 0C */ lbz r0, 0xc(r31)
+/* 802B9244 002B4EA4 2C 00 00 00 */ cmpwi r0, 0
+/* 802B9248 002B4EA8 41 82 02 B4 */ beq lbl_802B94FC
+/* 802B924C 002B4EAC 88 1D 00 59 */ lbz r0, 0x59(r29)
+/* 802B9250 002B4EB0 28 00 00 02 */ cmplwi r0, 2
+/* 802B9254 002B4EB4 40 82 02 A8 */ bne lbl_802B94FC
+/* 802B9258 002B4EB8 7F C3 F3 78 */ mr r3, r30
+/* 802B925C 002B4EBC 4B FF E5 09 */ bl WUDiGetDevInfo
+/* 802B9260 002B4EC0 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9264 002B4EC4 41 82 00 24 */ beq lbl_802B9288
+/* 802B9268 002B4EC8 88 1E 00 06 */ lbz r0, 6(r30)
+/* 802B926C 002B4ECC 28 00 00 0C */ cmplwi r0, 0xc
+/* 802B9270 002B4ED0 40 82 00 18 */ bne lbl_802B9288
+/* 802B9274 002B4ED4 7F C3 F3 78 */ mr r3, r30
+/* 802B9278 002B4ED8 4B FF E3 A9 */ bl WUDiRemoveDevice
+/* 802B927C 002B4EDC 88 7F 06 E5 */ lbz r3, 0x6e5(r31)
+/* 802B9280 002B4EE0 38 03 FF FF */ addi r0, r3, -1
+/* 802B9284 002B4EE4 98 1F 06 E5 */ stb r0, 0x6e5(r31)
+lbl_802B9288:
+/* 802B9288 002B4EE8 38 00 00 FF */ li r0, 0xff
+/* 802B928C 002B4EEC 98 1F 00 0C */ stb r0, 0xc(r31)
+/* 802B9290 002B4EF0 48 00 02 6C */ b lbl_802B94FC
+/* 802B9294 002B4EF4 38 7D 00 80 */ addi r3, r29, 0x80
+/* 802B9298 002B4EF8 4C C6 31 82 */ crclr 6
+/* 802B929C 002B4EFC 48 00 02 E1 */ bl WUD_DEBUGPrint
+/* 802B92A0 002B4F00 88 9F 06 E4 */ lbz r4, 0x6e4(r31)
+/* 802B92A4 002B4F04 38 7D 00 94 */ addi r3, r29, 0x94
+/* 802B92A8 002B4F08 38 04 FF FF */ addi r0, r4, -1
+/* 802B92AC 002B4F0C 98 1F 06 E4 */ stb r0, 0x6e4(r31)
+/* 802B92B0 002B4F10 88 9E 00 01 */ lbz r4, 1(r30)
+/* 802B92B4 002B4F14 88 BE 00 00 */ lbz r5, 0(r30)
+/* 802B92B8 002B4F18 4C C6 31 82 */ crclr 6
+/* 802B92BC 002B4F1C 48 00 02 C1 */ bl WUD_DEBUGPrint
+/* 802B92C0 002B4F20 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802B92C4 002B4F24 3C 60 80 54 */ lis r3, lbl_8053B228@ha
+/* 802B92C8 002B4F28 38 63 B2 28 */ addi r3, r3, lbl_8053B228@l
+/* 802B92CC 002B4F2C 54 00 10 3A */ slwi r0, r0, 2
+/* 802B92D0 002B4F30 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802B92D4 002B4F34 4B FF E4 91 */ bl WUDiGetDevInfo
+/* 802B92D8 002B4F38 2C 03 00 00 */ cmpwi r3, 0
+/* 802B92DC 002B4F3C 41 82 00 24 */ beq lbl_802B9300
+/* 802B92E0 002B4F40 88 03 00 5B */ lbz r0, 0x5b(r3)
+/* 802B92E4 002B4F44 28 00 00 03 */ cmplwi r0, 3
+/* 802B92E8 002B4F48 41 82 00 0C */ beq lbl_802B92F4
+/* 802B92EC 002B4F4C 28 00 00 01 */ cmplwi r0, 1
+/* 802B92F0 002B4F50 40 82 00 0C */ bne lbl_802B92FC
+lbl_802B92F4:
+/* 802B92F4 002B4F54 4B FF E8 39 */ bl WUDiMoveTopOfDisconnectedSmpDevice
+/* 802B92F8 002B4F58 48 00 00 08 */ b lbl_802B9300
+lbl_802B92FC:
+/* 802B92FC 002B4F5C 4B FF EB B9 */ bl WUDiMoveTopOfDisconnectedStdDevice
+lbl_802B9300:
+/* 802B9300 002B4F60 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802B9304 002B4F64 3C A0 80 54 */ lis r5, lbl_8053B228@ha
+/* 802B9308 002B4F68 3C 80 80 54 */ lis r4, lbl_8053C280@ha
+/* 802B930C 002B4F6C 81 9F 06 F0 */ lwz r12, 0x6f0(r31)
+/* 802B9310 002B4F70 54 00 10 3A */ slwi r0, r0, 2
+/* 802B9314 002B4F74 38 A5 B2 28 */ addi r5, r5, lbl_8053B228@l
+/* 802B9318 002B4F78 38 C0 00 00 */ li r6, 0
+/* 802B931C 002B4F7C 3C 60 80 54 */ lis r3, lbl_8053C2A0@ha
+/* 802B9320 002B4F80 7C C5 01 2E */ stwx r6, r5, r0
+/* 802B9324 002B4F84 38 84 C2 80 */ addi r4, r4, lbl_8053C280@l
+/* 802B9328 002B4F88 2C 0C 00 00 */ cmpwi r12, 0
+/* 802B932C 002B4F8C 38 63 C2 A0 */ addi r3, r3, lbl_8053C2A0@l
+/* 802B9330 002B4F90 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802B9334 002B4F94 54 00 08 3C */ slwi r0, r0, 1
+/* 802B9338 002B4F98 7C C4 03 2E */ sthx r6, r4, r0
+/* 802B933C 002B4F9C 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802B9340 002B4FA0 54 00 08 3C */ slwi r0, r0, 1
+/* 802B9344 002B4FA4 7C C3 03 2E */ sthx r6, r3, r0
+/* 802B9348 002B4FA8 41 82 01 B4 */ beq lbl_802B94FC
+/* 802B934C 002B4FAC 88 7E 00 01 */ lbz r3, 1(r30)
+/* 802B9350 002B4FB0 38 80 00 00 */ li r4, 0
+/* 802B9354 002B4FB4 7D 89 03 A6 */ mtctr r12
+/* 802B9358 002B4FB8 4E 80 04 21 */ bctrl
+/* 802B935C 002B4FBC 48 00 01 A0 */ b lbl_802B94FC
+/* 802B9360 002B4FC0 38 7D 00 B8 */ addi r3, r29, 0xb8
+/* 802B9364 002B4FC4 4C C6 31 82 */ crclr 6
+/* 802B9368 002B4FC8 48 00 02 15 */ bl WUD_DEBUGPrint
+/* 802B936C 002B4FCC 48 00 01 90 */ b lbl_802B94FC
+/* 802B9370 002B4FD0 38 7D 00 CC */ addi r3, r29, 0xcc
+/* 802B9374 002B4FD4 4C C6 31 82 */ crclr 6
+/* 802B9378 002B4FD8 48 00 02 05 */ bl WUD_DEBUGPrint
+/* 802B937C 002B4FDC 48 00 01 80 */ b lbl_802B94FC
+/* 802B9380 002B4FE0 38 7D 00 E0 */ addi r3, r29, 0xe0
+/* 802B9384 002B4FE4 4C C6 31 82 */ crclr 6
+/* 802B9388 002B4FE8 48 00 01 F5 */ bl WUD_DEBUGPrint
+/* 802B938C 002B4FEC 48 00 01 70 */ b lbl_802B94FC
+/* 802B9390 002B4FF0 38 7D 00 F8 */ addi r3, r29, 0xf8
+/* 802B9394 002B4FF4 4C C6 31 82 */ crclr 6
+/* 802B9398 002B4FF8 48 00 01 E5 */ bl WUD_DEBUGPrint
+/* 802B939C 002B4FFC 48 00 01 60 */ b lbl_802B94FC
+/* 802B93A0 002B5000 38 7D 01 10 */ addi r3, r29, 0x110
+/* 802B93A4 002B5004 4C C6 31 82 */ crclr 6
+/* 802B93A8 002B5008 48 00 01 D5 */ bl WUD_DEBUGPrint
+/* 802B93AC 002B500C 48 00 01 50 */ b lbl_802B94FC
+/* 802B93B0 002B5010 38 7D 01 28 */ addi r3, r29, 0x128
+/* 802B93B4 002B5014 4C C6 31 82 */ crclr 6
+/* 802B93B8 002B5018 48 00 01 C5 */ bl WUD_DEBUGPrint
+/* 802B93BC 002B501C 48 00 01 40 */ b lbl_802B94FC
+/* 802B93C0 002B5020 38 7D 01 40 */ addi r3, r29, 0x140
+/* 802B93C4 002B5024 4C C6 31 82 */ crclr 6
+/* 802B93C8 002B5028 48 00 01 B5 */ bl WUD_DEBUGPrint
+/* 802B93CC 002B502C 48 00 01 30 */ b lbl_802B94FC
+/* 802B93D0 002B5030 38 7D 01 58 */ addi r3, r29, 0x158
+/* 802B93D4 002B5034 4C C6 31 82 */ crclr 6
+/* 802B93D8 002B5038 48 00 01 A5 */ bl WUD_DEBUGPrint
+/* 802B93DC 002B503C 88 1E 00 05 */ lbz r0, 5(r30)
+/* 802B93E0 002B5040 38 7D 01 6C */ addi r3, r29, 0x16c
+/* 802B93E4 002B5044 90 01 00 08 */ stw r0, 8(r1)
+/* 802B93E8 002B5048 88 9E 00 06 */ lbz r4, 6(r30)
+/* 802B93EC 002B504C 88 BE 00 07 */ lbz r5, 7(r30)
+/* 802B93F0 002B5050 88 DE 00 00 */ lbz r6, 0(r30)
+/* 802B93F4 002B5054 88 FE 00 01 */ lbz r7, 1(r30)
+/* 802B93F8 002B5058 89 1E 00 02 */ lbz r8, 2(r30)
+/* 802B93FC 002B505C 89 3E 00 03 */ lbz r9, 3(r30)
+/* 802B9400 002B5060 89 5E 00 04 */ lbz r10, 4(r30)
+/* 802B9404 002B5064 4C C6 31 82 */ crclr 6
+/* 802B9408 002B5068 48 00 01 75 */ bl WUD_DEBUGPrint
+/* 802B940C 002B506C 7F C3 F3 78 */ mr r3, r30
+/* 802B9410 002B5070 4B FF E3 55 */ bl WUDiGetDevInfo
+/* 802B9414 002B5074 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B9418 002B5078 98 03 00 56 */ stb r0, 0x56(r3)
+/* 802B941C 002B507C 48 00 00 E0 */ b lbl_802B94FC
+/* 802B9420 002B5080 38 7D 01 AC */ addi r3, r29, 0x1ac
+/* 802B9424 002B5084 4C C6 31 82 */ crclr 6
+/* 802B9428 002B5088 48 00 01 55 */ bl WUD_DEBUGPrint
+/* 802B942C 002B508C 88 1E 00 05 */ lbz r0, 5(r30)
+/* 802B9430 002B5090 38 7D 01 6C */ addi r3, r29, 0x16c
+/* 802B9434 002B5094 90 01 00 08 */ stw r0, 8(r1)
+/* 802B9438 002B5098 88 9E 00 06 */ lbz r4, 6(r30)
+/* 802B943C 002B509C 88 BE 00 07 */ lbz r5, 7(r30)
+/* 802B9440 002B50A0 88 DE 00 00 */ lbz r6, 0(r30)
+/* 802B9444 002B50A4 88 FE 00 01 */ lbz r7, 1(r30)
+/* 802B9448 002B50A8 89 1E 00 02 */ lbz r8, 2(r30)
+/* 802B944C 002B50AC 89 3E 00 03 */ lbz r9, 3(r30)
+/* 802B9450 002B50B0 89 5E 00 04 */ lbz r10, 4(r30)
+/* 802B9454 002B50B4 4C C6 31 82 */ crclr 6
+/* 802B9458 002B50B8 48 00 01 25 */ bl WUD_DEBUGPrint
+/* 802B945C 002B50BC 48 00 00 A0 */ b lbl_802B94FC
+/* 802B9460 002B50C0 38 7D 01 C0 */ addi r3, r29, 0x1c0
+/* 802B9464 002B50C4 4C C6 31 82 */ crclr 6
+/* 802B9468 002B50C8 48 00 01 15 */ bl WUD_DEBUGPrint
+/* 802B946C 002B50CC 48 00 00 90 */ b lbl_802B94FC
+/* 802B9470 002B50D0 A0 04 00 00 */ lhz r0, 0(r4)
+/* 802B9474 002B50D4 88 7F 06 E5 */ lbz r3, 0x6e5(r31)
+/* 802B9478 002B50D8 B0 1F 07 44 */ sth r0, 0x744(r31)
+/* 802B947C 002B50DC A0 04 00 02 */ lhz r0, 2(r4)
+/* 802B9480 002B50E0 B0 1F 07 46 */ sth r0, 0x746(r31)
+/* 802B9484 002B50E4 A0 04 00 04 */ lhz r0, 4(r4)
+/* 802B9488 002B50E8 7C 03 00 00 */ cmpw r3, r0
+/* 802B948C 002B50EC 40 80 00 18 */ bge lbl_802B94A4
+/* 802B9490 002B50F0 38 7D 01 D8 */ addi r3, r29, 0x1d8
+/* 802B9494 002B50F4 4C C6 31 82 */ crclr 6
+/* 802B9498 002B50F8 4B D4 E6 2D */ bl func_80007AC4
+/* 802B949C 002B50FC A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802B94A0 002B5100 98 1F 06 E5 */ stb r0, 0x6e5(r31)
+lbl_802B94A4:
+/* 802B94A4 002B5104 3C A0 80 54 */ lis r5, lbl_8053C280@ha
+/* 802B94A8 002B5108 3C 60 80 54 */ lis r3, lbl_8053C2A0@ha
+/* 802B94AC 002B510C 7F C6 F3 78 */ mr r6, r30
+/* 802B94B0 002B5110 38 E0 00 00 */ li r7, 0
+/* 802B94B4 002B5114 38 A5 C2 80 */ addi r5, r5, lbl_8053C280@l
+/* 802B94B8 002B5118 38 63 C2 A0 */ addi r3, r3, lbl_8053C2A0@l
+/* 802B94BC 002B511C 48 00 00 34 */ b lbl_802B94F0
+lbl_802B94C0:
+/* 802B94C0 002B5120 88 06 00 06 */ lbz r0, 6(r6)
+/* 802B94C4 002B5124 28 00 00 10 */ cmplwi r0, 0x10
+/* 802B94C8 002B5128 40 80 00 20 */ bge lbl_802B94E8
+/* 802B94CC 002B512C A0 86 00 08 */ lhz r4, 8(r6)
+/* 802B94D0 002B5130 54 00 0D FC */ rlwinm r0, r0, 1, 0x17, 0x1e
+/* 802B94D4 002B5134 7C 85 03 2E */ sthx r4, r5, r0
+/* 802B94D8 002B5138 88 06 00 06 */ lbz r0, 6(r6)
+/* 802B94DC 002B513C A0 86 00 0A */ lhz r4, 0xa(r6)
+/* 802B94E0 002B5140 54 00 08 3C */ slwi r0, r0, 1
+/* 802B94E4 002B5144 7C 83 03 2E */ sthx r4, r3, r0
+lbl_802B94E8:
+/* 802B94E8 002B5148 38 C6 00 06 */ addi r6, r6, 6
+/* 802B94EC 002B514C 38 E7 00 01 */ addi r7, r7, 1
+lbl_802B94F0:
+/* 802B94F0 002B5150 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802B94F4 002B5154 7C 07 00 00 */ cmpw r7, r0
+/* 802B94F8 002B5158 41 80 FF C8 */ blt lbl_802B94C0
+lbl_802B94FC:
+/* 802B94FC 002B515C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802B9500 002B5160 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802B9504 002B5164 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802B9508 002B5168 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802B950C 002B516C 7C 08 03 A6 */ mtlr r0
+/* 802B9510 002B5170 38 21 00 20 */ addi r1, r1, 0x20
+/* 802B9514 002B5174 4E 80 00 20 */ blr
+
+.global bta_hh_co_data
+bta_hh_co_data:
+/* 802B9518 002B5178 28 08 00 03 */ cmplwi r8, 3
+/* 802B951C 002B517C 3C C0 80 54 */ lis r6, lbl_8053A4E0@ha
+/* 802B9520 002B5180 38 C6 A4 E0 */ addi r6, r6, lbl_8053A4E0@l
+/* 802B9524 002B5184 40 82 00 18 */ bne lbl_802B953C
+/* 802B9528 002B5188 81 86 06 EC */ lwz r12, 0x6ec(r6)
+/* 802B952C 002B518C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802B9530 002B5190 4D 82 00 20 */ beqlr
+/* 802B9534 002B5194 7D 89 03 A6 */ mtctr r12
+/* 802B9538 002B5198 4E 80 04 20 */ bctr
+lbl_802B953C:
+/* 802B953C 002B519C 3C 60 80 44 */ lis r3, lbl_8043F0F0@ha
+/* 802B9540 002B51A0 7D 04 43 78 */ mr r4, r8
+/* 802B9544 002B51A4 38 63 F0 F0 */ addi r3, r3, lbl_8043F0F0@l
+/* 802B9548 002B51A8 4C C6 31 82 */ crclr 6
+/* 802B954C 002B51AC 48 00 00 30 */ b WUD_DEBUGPrint
+/* 802B9550 002B51B0 4E 80 00 20 */ blr
+
+.global bta_hh_co_open
+bta_hh_co_open:
+/* 802B9554 002B51B4 3C 60 80 44 */ lis r3, lbl_8043F108@ha
+/* 802B9558 002B51B8 38 63 F1 08 */ addi r3, r3, lbl_8043F108@l
+/* 802B955C 002B51BC 4C C6 31 82 */ crclr 6
+/* 802B9560 002B51C0 48 00 00 1C */ b WUD_DEBUGPrint
+
+.global bta_hh_co_close
+bta_hh_co_close:
+/* 802B9564 002B51C4 3C 60 80 44 */ lis r3, lbl_8043F11C@ha
+/* 802B9568 002B51C8 38 63 F1 1C */ addi r3, r3, lbl_8043F11C@l
+/* 802B956C 002B51CC 4C C6 31 82 */ crclr 6
+/* 802B9570 002B51D0 48 00 00 0C */ b WUD_DEBUGPrint
+
+.global bta_dm_co_get_compress_memory
+bta_dm_co_get_compress_memory:
+/* 802B9574 002B51D4 38 60 00 00 */ li r3, 0
+/* 802B9578 002B51D8 4E 80 00 20 */ blr
diff --git a/asm/SDK/WUD/debug_msg.s b/asm/SDK/WUD/debug_msg.s
new file mode 100644
index 0000000..cc7fa1f
--- /dev/null
+++ b/asm/SDK/WUD/debug_msg.s
@@ -0,0 +1,27 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global WUD_DEBUGPrint
+WUD_DEBUGPrint:
+/* 802B957C 002B51DC 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 802B9580 002B51E0 40 86 00 24 */ bne cr1, lbl_802B95A4
+/* 802B9584 002B51E4 D8 21 00 28 */ stfd f1, 0x28(r1)
+/* 802B9588 002B51E8 D8 41 00 30 */ stfd f2, 0x30(r1)
+/* 802B958C 002B51EC D8 61 00 38 */ stfd f3, 0x38(r1)
+/* 802B9590 002B51F0 D8 81 00 40 */ stfd f4, 0x40(r1)
+/* 802B9594 002B51F4 D8 A1 00 48 */ stfd f5, 0x48(r1)
+/* 802B9598 002B51F8 D8 C1 00 50 */ stfd f6, 0x50(r1)
+/* 802B959C 002B51FC D8 E1 00 58 */ stfd f7, 0x58(r1)
+/* 802B95A0 002B5200 D9 01 00 60 */ stfd f8, 0x60(r1)
+lbl_802B95A4:
+/* 802B95A4 002B5204 90 61 00 08 */ stw r3, 8(r1)
+/* 802B95A8 002B5208 90 81 00 0C */ stw r4, 0xc(r1)
+/* 802B95AC 002B520C 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 802B95B0 002B5210 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 802B95B4 002B5214 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 802B95B8 002B5218 91 01 00 1C */ stw r8, 0x1c(r1)
+/* 802B95BC 002B521C 91 21 00 20 */ stw r9, 0x20(r1)
+/* 802B95C0 002B5220 91 41 00 24 */ stw r10, 0x24(r1)
+/* 802B95C4 002B5224 38 21 00 70 */ addi r1, r1, 0x70
+/* 802B95C8 002B5228 4E 80 00 20 */ blr